From 664890ab33751904e03da29bdc7770ea65726a27 Mon Sep 17 00:00:00 2001 From: amammad Date: Tue, 29 Aug 2023 22:19:37 +1000 Subject: [PATCH 001/258] V1 --- .../CWE/CWE-347/Auth0NoVerifier.qhelp | 34 +++++ .../Security/CWE/CWE-347/Auth0NoVerifier.ql | 127 ++++++++++++++++++ .../Security/CWE/CWE-347/Example.java | 59 ++++++++ 3 files changed, 220 insertions(+) create mode 100644 java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.qhelp create mode 100644 java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql create mode 100644 java/ql/src/experimental/Security/CWE/CWE-347/Example.java diff --git a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.qhelp b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.qhelp new file mode 100644 index 00000000000..4fc17e68530 --- /dev/null +++ b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.qhelp @@ -0,0 +1,34 @@ + + + +

+ A JSON Web Token (JWT) is used for authenticating and managing users in an application. +

+

+ Only Decoding JWTs without checking if they have a valid signature or not can lead to security vulnerabilities. +

+ +
+ + +

+ Don't use methods that only decode JWT, Instead use methods that verify the signature of JWT. +

+ +
+ + +

+ The following code you can see an Example from a popular Library. +

+ + + +
+ +
  • + The incorrect use of JWT in ShenyuAdminBootstrap allows an attacker to bypass authentication. +
  • +
    + +
    \ No newline at end of file diff --git a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql new file mode 100644 index 00000000000..47145b21f89 --- /dev/null +++ b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql @@ -0,0 +1,127 @@ +/** + * @name Missing JWT signature check + * @description Failing to check the Json Web Token (JWT) signature may allow an attacker to forge their own tokens. + * @kind path-problem + * @problem.severity error + * @security-severity 7.8 + * @precision high + * @id java/missing-jwt-signature-check + * @tags security + * external/cwe/cwe-347 + */ + +import java +import semmle.code.java.dataflow.DataFlow +import semmle.code.java.dataflow.FlowSources + +module JwtAuth0 { + class PayloadType extends RefType { + PayloadType() { this.hasQualifiedName("com.auth0.jwt.interfaces", "Payload") } + } + + class JWTType extends RefType { + JWTType() { this.hasQualifiedName("com.auth0.jwt", "JWT") } + } + + class JWTVerifierType extends RefType { + JWTVerifierType() { this.hasQualifiedName("com.auth0.jwt", "JWTVerifier") } + } + + class GetPayload extends MethodAccess { + GetPayload() { + this.getCallee().getDeclaringType() instanceof PayloadType and + this.getCallee().hasName(["getClaim", "getIssuedAt"]) + } + } + + class Decode extends MethodAccess { + Decode() { + this.getCallee().getDeclaringType() instanceof JWTType and + this.getCallee().hasName("decode") + } + } + + class Verify extends MethodAccess { + Verify() { + this.getCallee().getDeclaringType() instanceof JWTVerifierType and + this.getCallee().hasName("verify") + } + } +} + +module JwtDecodeConfig implements DataFlow::StateConfigSig { + class FlowState = DataFlow::FlowState; + + predicate isSource(DataFlow::Node source, FlowState state) { + ( + exists(Variable v | + source.asExpr() = v.getInitializer() and + v.getType().hasName("String") + ) + or + source instanceof RemoteFlowSource + ) and + not FlowToJwtVerify::flow(source, _) and + state = "Auth0" and + not state = "Auth0Verify" + } + + predicate isSink(DataFlow::Node sink, FlowState state) { + sink.asExpr() = any(JwtAuth0::GetPayload a) and + state = "Auth0" and + not state = "Auth0Verify" + } + + predicate isAdditionalFlowStep( + DataFlow::Node nodeFrom, FlowState stateFrom, DataFlow::Node nodeTo, FlowState stateTo + ) { + // Decode Should be one of the middle nodes + exists(JwtAuth0::Decode a | + nodeFrom.asExpr() = a.getArgument(0) and + nodeTo.asExpr() = a and + stateTo = "Auth0" and + stateFrom = "Auth0" + ) + or + exists(JwtAuth0::Verify a | + nodeFrom.asExpr() = a.getArgument(0) and + nodeTo.asExpr() = a and + stateTo = "Auth0Verify" and + stateFrom = "Auth0Verify" + ) + or + exists(JwtAuth0::GetPayload a | + nodeFrom.asExpr() = a.getQualifier() and + nodeTo.asExpr() = a and + stateTo = "Auth0" and + stateFrom = "Auth0" + ) + } + + predicate isBarrier(DataFlow::Node sanitizer, FlowState state) { none() } +} + +module FlowToJwtVerifyConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { + // source instanceof DataFlow::Node + exists(Variable v | + source.asExpr() = v.getInitializer() and + v.getType().hasName("String") + ) + } + + predicate isSink(DataFlow::Node sink) { sink.asExpr() = any(JwtAuth0::Verify a).getArgument(0) } + + predicate isAdditionalFlowStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) { none() } +} + +module JwtDecode = TaintTracking::GlobalWithState; + +module FlowToJwtVerify = TaintTracking::Global; + +import JwtDecode::PathGraph + +from JwtDecode::PathNode source, JwtDecode::PathNode sink +where JwtDecode::flowPath(source, sink) +select sink.getNode(), source, sink, "This parses a $@, but the signature is not verified.", + source.getNode(), "JWT" diff --git a/java/ql/src/experimental/Security/CWE/CWE-347/Example.java b/java/ql/src/experimental/Security/CWE/CWE-347/Example.java new file mode 100644 index 00000000000..11eec276ca3 --- /dev/null +++ b/java/ql/src/experimental/Security/CWE/CWE-347/Example.java @@ -0,0 +1,59 @@ +package com.example.JwtTest; + +import java.io.*; +import java.security.NoSuchAlgorithmException; +import java.util.Optional; +import javax.crypto.KeyGenerator; +import javax.servlet.http.*; +import javax.servlet.annotation.*; +import com.auth0.jwt.JWT; +import com.auth0.jwt.JWTVerifier; +import com.auth0.jwt.algorithms.Algorithm; +import com.auth0.jwt.exceptions.JWTCreationException; +import com.auth0.jwt.exceptions.JWTVerificationException; +import com.auth0.jwt.interfaces.DecodedJWT; + +@WebServlet(name = "Jwt", value = "/Auth") +public class auth0 extends HttpServlet { + + public void doPost(HttpServletRequest request, HttpServletResponse response) {} + + final String JWT_KEY = "KEY"; + + public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + + // OK + String JwtToken1 = request.getParameter("JWT1"); + decodeToken(JwtToken1); + try { + verifyToken(JwtToken1, getSecureRandomKey()); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException(e); + } + + // only decode, no verification + String JwtToken2 = request.getParameter("JWT2"); + decodeToken(JwtToken2); + + + response.setContentType("text/html"); + PrintWriter out = response.getWriter(); + out.println("heyyy"); + } + + public static boolean verifyToken(final String token, final String key) { + try { + JWTVerifier verifier = JWT.require(Algorithm.HMAC256(key)).build(); + verifier.verify(token); + return true; + } catch (JWTVerificationException e) { + System.out.printf("jwt decode fail, token: %s", e); + } + return false; + } + + public static String decodeToken(final String token) { + DecodedJWT jwt = JWT.decode(token); + return Optional.of(jwt).map(item -> item.getClaim("userName").asString()).orElse(""); + } +} From 97eb7b7b7257b6f8bfacfd34d6e53f4513c7a72a Mon Sep 17 00:00:00 2001 From: amammad <77095239+amammad@users.noreply.github.com> Date: Wed, 22 Nov 2023 09:27:55 +0100 Subject: [PATCH 002/258] update example to include more logical vulnerable pattern, add documentations for ql classes --- .../Security/CWE/CWE-347/Auth0NoVerifier.ql | 9 +++ .../Security/CWE/CWE-347/Example.java | 65 ++++++++++++------- 2 files changed, 52 insertions(+), 22 deletions(-) diff --git a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql index 47145b21f89..630b2b4f30c 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql @@ -27,6 +27,9 @@ module JwtAuth0 { JWTVerifierType() { this.hasQualifiedName("com.auth0.jwt", "JWTVerifier") } } + /** + * A Method that returns a Decoded Claim of JWT + */ class GetPayload extends MethodAccess { GetPayload() { this.getCallee().getDeclaringType() instanceof PayloadType and @@ -34,6 +37,9 @@ module JwtAuth0 { } } + /** + * A Method that Decode JWT without signature verification + */ class Decode extends MethodAccess { Decode() { this.getCallee().getDeclaringType() instanceof JWTType and @@ -41,6 +47,9 @@ module JwtAuth0 { } } + /** + * A Method that Decode JWT with signature verification + */ class Verify extends MethodAccess { Verify() { this.getCallee().getDeclaringType() instanceof JWTVerifierType and diff --git a/java/ql/src/experimental/Security/CWE/CWE-347/Example.java b/java/ql/src/experimental/Security/CWE/CWE-347/Example.java index 11eec276ca3..2777d4f2cb8 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-347/Example.java +++ b/java/ql/src/experimental/Security/CWE/CWE-347/Example.java @@ -2,6 +2,7 @@ package com.example.JwtTest; import java.io.*; import java.security.NoSuchAlgorithmException; +import java.util.Objects; import java.util.Optional; import javax.crypto.KeyGenerator; import javax.servlet.http.*; @@ -13,32 +14,50 @@ import com.auth0.jwt.exceptions.JWTCreationException; import com.auth0.jwt.exceptions.JWTVerificationException; import com.auth0.jwt.interfaces.DecodedJWT; -@WebServlet(name = "Jwt", value = "/Auth") +@WebServlet(name = "JwtTest1", value = "/Auth") public class auth0 extends HttpServlet { - public void doPost(HttpServletRequest request, HttpServletResponse response) {} - - final String JWT_KEY = "KEY"; - - public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { - - // OK - String JwtToken1 = request.getParameter("JWT1"); - decodeToken(JwtToken1); - try { - verifyToken(JwtToken1, getSecureRandomKey()); - } catch (NoSuchAlgorithmException e) { - throw new RuntimeException(e); - } - - // only decode, no verification - String JwtToken2 = request.getParameter("JWT2"); - decodeToken(JwtToken2); - - + public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); - out.println("heyyy"); + + // OK: first decode without signature verification + // and then verify with signature verification + String JwtToken1 = request.getParameter("JWT1"); + String userName = decodeToken(JwtToken1); + verifyToken(JwtToken1, "A Securely generated Key"); + if (Objects.equals(userName, "Admin")) { + out.println(""); + out.println("

    " + "heyyy Admin" + "

    "); + out.println(""); + } + + out.println(""); + out.println("

    " + "heyyy Nobody" + "

    "); + out.println(""); + } + + public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + response.setContentType("text/html"); + PrintWriter out = response.getWriter(); + + // NOT OK: only decode, no verification + String JwtToken2 = request.getParameter("JWT2"); + String userName = decodeToken(JwtToken2); + if (Objects.equals(userName, "Admin")) { + out.println(""); + out.println("

    " + "heyyy Admin" + "

    "); + out.println(""); + } + + // OK: no clue of the use of unsafe decoded JWT return value + JwtToken2 = request.getParameter("JWT2"); + JWT.decode(JwtToken2); + + + out.println(""); + out.println("

    " + "heyyy Nobody" + "

    "); + out.println(""); } public static boolean verifyToken(final String token, final String key) { @@ -52,8 +71,10 @@ public class auth0 extends HttpServlet { return false; } + public static String decodeToken(final String token) { DecodedJWT jwt = JWT.decode(token); return Optional.of(jwt).map(item -> item.getClaim("userName").asString()).orElse(""); } + } From 0d0dc5158c5b513b102c11f4d1d674d20f83191e Mon Sep 17 00:00:00 2001 From: amammad <77095239+amammad@users.noreply.github.com> Date: Fri, 1 Dec 2023 15:03:03 +0100 Subject: [PATCH 003/258] stash --- .../security/CWE-347/Auth0NoVerifier.qlref | 1 + .../query-tests/security/CWE-347/Test.java | 92 +++ .../query-tests/security/CWE-347/options | 1 + .../query-tests/security/CWE-347/pom.xml | 43 ++ .../com/auth0/jwt/HeaderParams.java | 29 + .../auth0-jwt-4.4.0/com/auth0/jwt/JWT.java | 74 ++ .../com/auth0/jwt/JWTCreator.java | 631 ++++++++++++++++++ .../com/auth0/jwt/JWTDecoder.java | 156 +++++ .../com/auth0/jwt/JWTVerifier.java | 493 ++++++++++++++ .../com/auth0/jwt/RegisteredClaims.java | 55 ++ .../com/auth0/jwt/TokenUtils.java | 47 ++ .../com/auth0/jwt/algorithms/Algorithm.java | 404 +++++++++++ .../auth0/jwt/algorithms/CryptoHelper.java | 208 ++++++ .../auth0/jwt/algorithms/ECDSAAlgorithm.java | 306 +++++++++ .../auth0/jwt/algorithms/HMACAlgorithm.java | 81 +++ .../auth0/jwt/algorithms/NoneAlgorithm.java | 36 + .../auth0/jwt/algorithms/RSAAlgorithm.java | 112 ++++ .../AlgorithmMismatchException.java | 10 + .../exceptions/IncorrectClaimException.java | 44 ++ .../jwt/exceptions/InvalidClaimException.java | 10 + .../jwt/exceptions/JWTCreationException.java | 10 + .../jwt/exceptions/JWTDecodeException.java | 14 + .../exceptions/JWTVerificationException.java | 14 + .../jwt/exceptions/MissingClaimException.java | 23 + .../SignatureGenerationException.java | 12 + .../SignatureVerificationException.java | 16 + .../jwt/exceptions/TokenExpiredException.java | 22 + .../com/auth0/jwt/impl/BasicHeader.java | 71 ++ .../com/auth0/jwt/impl/ClaimsHolder.java | 19 + .../com/auth0/jwt/impl/ClaimsSerializer.java | 86 +++ .../auth0/jwt/impl/ExpectedCheckHolder.java | 25 + .../auth0/jwt/impl/HeaderClaimsHolder.java | 12 + .../auth0/jwt/impl/HeaderDeserializer.java | 50 ++ .../com/auth0/jwt/impl/HeaderSerializer.java | 10 + .../com/auth0/jwt/impl/JWTParser.java | 92 +++ .../com/auth0/jwt/impl/JsonNodeClaim.java | 182 +++++ .../auth0/jwt/impl/PayloadClaimsHolder.java | 12 + .../auth0/jwt/impl/PayloadDeserializer.java | 91 +++ .../com/auth0/jwt/impl/PayloadImpl.java | 129 ++++ .../com/auth0/jwt/impl/PayloadSerializer.java | 66 ++ .../com/auth0/jwt/impl/package-info.java | 7 + .../com/auth0/jwt/interfaces/Claim.java | 131 ++++ .../com/auth0/jwt/interfaces/DecodedJWT.java | 37 + .../jwt/interfaces/ECDSAKeyProvider.java | 10 + .../com/auth0/jwt/interfaces/Header.java | 44 ++ .../auth0/jwt/interfaces/JWTPartsParser.java | 28 + .../com/auth0/jwt/interfaces/JWTVerifier.java | 40 ++ .../com/auth0/jwt/interfaces/KeyProvider.java | 38 ++ .../com/auth0/jwt/interfaces/Payload.java | 104 +++ .../auth0/jwt/interfaces/RSAKeyProvider.java | 10 + .../auth0/jwt/interfaces/Verification.java | 267 ++++++++ .../javax-4.0.1/crypto/KeyGenerator.java | 26 + .../javax-4.0.1/crypto/KeyGeneratorSpi.java | 16 + .../stubs/javax-4.0.1/crypto/SecretKey.java | 11 + .../security/auth/Destroyable.java | 10 + .../javax-4.0.1/servlet/AsyncContext.java | 31 + .../stubs/javax-4.0.1/servlet/AsyncEvent.java | 20 + .../javax-4.0.1/servlet/AsyncListener.java | 14 + .../javax-4.0.1/servlet/DispatcherType.java | 10 + .../stubs/javax-4.0.1/servlet/Filter.java | 15 + .../javax-4.0.1/servlet/FilterChain.java | 11 + .../javax-4.0.1/servlet/FilterConfig.java | 14 + .../servlet/FilterRegistration.java | 19 + .../javax-4.0.1/servlet/GenericServlet.java | 28 + .../servlet/HttpConstraintElement.java | 16 + .../servlet/HttpMethodConstraintElement.java | 13 + .../servlet/MultipartConfigElement.java | 17 + .../javax-4.0.1/servlet/ReadListener.java | 12 + .../javax-4.0.1/servlet/Registration.java | 20 + .../servlet/RequestDispatcher.java | 30 + .../stubs/javax-4.0.1/servlet/Servlet.java | 16 + .../javax-4.0.1/servlet/ServletConfig.java | 14 + .../javax-4.0.1/servlet/ServletContext.java | 83 +++ .../servlet/ServletInputStream.java | 15 + .../servlet/ServletOutputStream.java | 28 + .../servlet/ServletRegistration.java | 23 + .../javax-4.0.1/servlet/ServletRequest.java | 55 ++ .../javax-4.0.1/servlet/ServletResponse.java | 27 + .../servlet/ServletSecurityElement.java | 19 + .../servlet/SessionCookieConfig.java | 22 + .../servlet/SessionTrackingMode.java | 10 + .../javax-4.0.1/servlet/WriteListener.java | 11 + .../servlet/annotation/HttpConstraint.java | 18 + .../annotation/HttpMethodConstraint.java | 19 + .../servlet/annotation/MultipartConfig.java | 19 + .../servlet/annotation/ServletSecurity.java | 33 + .../servlet/annotation/WebInitParam.java | 20 + .../servlet/annotation/WebServlet.java | 28 + .../descriptor/JspConfigDescriptor.java | 13 + .../JspPropertyGroupDescriptor.java | 21 + .../servlet/descriptor/TaglibDescriptor.java | 10 + .../javax-4.0.1/servlet/http/Cookie.java | 29 + .../javax-4.0.1/servlet/http/HttpServlet.java | 24 + .../servlet/http/HttpServletMapping.java | 13 + .../servlet/http/HttpServletRequest.java | 60 ++ .../servlet/http/HttpServletResponse.java | 77 +++ .../javax-4.0.1/servlet/http/HttpSession.java | 28 + .../servlet/http/HttpSessionContext.java | 12 + .../servlet/http/HttpUpgradeHandler.java | 11 + .../servlet/http/MappingMatch.java | 10 + .../stubs/javax-4.0.1/servlet/http/Part.java | 20 + .../javax-4.0.1/servlet/http/PushBuilder.java | 23 + .../servlet/http/WebConnection.java | 12 + 103 files changed, 5661 insertions(+) create mode 100644 java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.qlref create mode 100644 java/ql/test/experimental/query-tests/security/CWE-347/Test.java create mode 100644 java/ql/test/experimental/query-tests/security/CWE-347/options create mode 100644 java/ql/test/experimental/query-tests/security/CWE-347/pom.xml create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/HeaderParams.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWT.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTCreator.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTDecoder.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTVerifier.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/RegisteredClaims.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/TokenUtils.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/Algorithm.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/CryptoHelper.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/ECDSAAlgorithm.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/HMACAlgorithm.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/NoneAlgorithm.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/RSAAlgorithm.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/AlgorithmMismatchException.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/IncorrectClaimException.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/InvalidClaimException.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTCreationException.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTDecodeException.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTVerificationException.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/MissingClaimException.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/SignatureGenerationException.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/SignatureVerificationException.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/TokenExpiredException.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/BasicHeader.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ClaimsHolder.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ClaimsSerializer.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ExpectedCheckHolder.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderClaimsHolder.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderDeserializer.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderSerializer.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/JWTParser.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/JsonNodeClaim.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadClaimsHolder.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadDeserializer.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadImpl.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadSerializer.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/package-info.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Claim.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/DecodedJWT.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/ECDSAKeyProvider.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Header.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/JWTPartsParser.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/JWTVerifier.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/KeyProvider.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Payload.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/RSAKeyProvider.java create mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Verification.java create mode 100644 java/ql/test/stubs/javax-4.0.1/crypto/KeyGenerator.java create mode 100644 java/ql/test/stubs/javax-4.0.1/crypto/KeyGeneratorSpi.java create mode 100644 java/ql/test/stubs/javax-4.0.1/crypto/SecretKey.java create mode 100644 java/ql/test/stubs/javax-4.0.1/security/auth/Destroyable.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/AsyncContext.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/AsyncEvent.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/AsyncListener.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/DispatcherType.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/Filter.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/FilterChain.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/FilterConfig.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/FilterRegistration.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/GenericServlet.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/HttpConstraintElement.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/HttpMethodConstraintElement.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/MultipartConfigElement.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ReadListener.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/Registration.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/RequestDispatcher.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/Servlet.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ServletConfig.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ServletContext.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ServletInputStream.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ServletOutputStream.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ServletRegistration.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ServletRequest.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ServletResponse.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ServletSecurityElement.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/SessionCookieConfig.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/SessionTrackingMode.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/WriteListener.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/annotation/HttpConstraint.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/annotation/HttpMethodConstraint.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/annotation/MultipartConfig.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/annotation/ServletSecurity.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/annotation/WebInitParam.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/annotation/WebServlet.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/descriptor/JspConfigDescriptor.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/descriptor/JspPropertyGroupDescriptor.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/descriptor/TaglibDescriptor.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/Cookie.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServlet.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletMapping.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletRequest.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletResponse.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/HttpSession.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/HttpSessionContext.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/HttpUpgradeHandler.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/MappingMatch.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/Part.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/PushBuilder.java create mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/WebConnection.java diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.qlref b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.qlref new file mode 100644 index 00000000000..49e8b6542d6 --- /dev/null +++ b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.qlref @@ -0,0 +1 @@ +experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql \ No newline at end of file diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/Test.java b/java/ql/test/experimental/query-tests/security/CWE-347/Test.java new file mode 100644 index 00000000000..48ff7898e49 --- /dev/null +++ b/java/ql/test/experimental/query-tests/security/CWE-347/Test.java @@ -0,0 +1,92 @@ +package com.example.JwtTest; + +import java.io.*; +import java.security.NoSuchAlgorithmException; +import java.util.Objects; +import java.util.Optional; +import com.auth0.jwt.JWT; +import com.auth0.jwt.JWTVerifier; +import com.auth0.jwt.algorithms.Algorithm; +import com.auth0.jwt.exceptions.JWTCreationException; +import com.auth0.jwt.exceptions.JWTVerificationException; +import com.auth0.jwt.interfaces.DecodedJWT; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +public class Test extends HttpServlet { + + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + try { + response.setContentType("text/html"); + PrintWriter out = response.getWriter(); + + // OK: first decode without signature verification + // and then verify with signature verification + String JwtToken1 = request.getParameter("JWT1"); + String userName = decodeToken(JwtToken1); + verifyToken(JwtToken1, "A Securely generated Key"); + if (Objects.equals(userName, "Admin")) { + out.println(""); + out.println("

    " + "heyyy Admin" + "

    "); + out.println(""); + } + + out.println(""); + out.println("

    " + "heyyy Nobody" + "

    "); + out.println(""); + } catch (Exception e) { + // TODO: handle exception + } + } + + public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + response.setContentType("text/html"); + PrintWriter out = response.getWriter(); + + // NOT OK: only decode, no verification + String JwtToken2 = request.getParameter("JWT2"); + String userName = decodeToken(JwtToken2); + if (Objects.equals(userName, "Admin")) { + out.println(""); + out.println("

    " + "heyyy Admin" + "

    "); + out.println(""); + } + + // OK: no clue of the use of unsafe decoded JWT return value + JwtToken2 = request.getParameter("JWT2"); + JWT.decode(JwtToken2); + + + out.println(""); + out.println("

    " + "heyyy Nobody" + "

    "); + out.println(""); + } + + public static boolean verifyToken(final String token, final String key) { + try { + JWTVerifier verifier = JWT.require(Algorithm.HMAC256(key)).build(); + verifier.verify(token); + return true; + } catch (JWTVerificationException e) { + System.out.printf("jwt decode fail, token: %s", e); + } + return false; + } + + + public static String decodeToken(final String token) { + DecodedJWT jwt = JWT.decode(token); + return Optional.of(jwt).map(item -> item.getClaim("userName").asString()).orElse(""); + } + + + private static String getSecureRandomKey() throws NoSuchAlgorithmException { + KeyGenerator keyGen = KeyGenerator.getInstance("AES"); + keyGen.init(256); // for example + return keyGen.generateKey().toString(); + } + static final String JWT_KEY = "KEY"; +} diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/options b/java/ql/test/experimental/query-tests/security/CWE-347/options new file mode 100644 index 00000000000..b7e23cf09f6 --- /dev/null +++ b/java/ql/test/experimental/query-tests/security/CWE-347/options @@ -0,0 +1 @@ +//semmle-extractor-options: --javac-args -cp ${testdir}/../../../../stubs/auth0-jwt-4.4.0/:${testdir}/../../../../stubs/javax-servlet-2.5/ \ No newline at end of file diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/pom.xml b/java/ql/test/experimental/query-tests/security/CWE-347/pom.xml new file mode 100644 index 00000000000..870a294c80e --- /dev/null +++ b/java/ql/test/experimental/query-tests/security/CWE-347/pom.xml @@ -0,0 +1,43 @@ + + + 4.0.0 + + com.example + JwtTest + 1.0-SNAPSHOT + JwtTest + war + + + UTF-8 + 11 + 11 + 5.9.2 + + + + + com.auth0 + java-jwt + 4.4.0 + + + javax.servlet + javax.servlet-api + 4.0.1 + provided + + + + + + + org.apache.maven.plugins + maven-war-plugin + 3.3.2 + + + + \ No newline at end of file diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/HeaderParams.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/HeaderParams.java new file mode 100644 index 00000000000..1107f313a30 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/HeaderParams.java @@ -0,0 +1,29 @@ +package com.auth0.jwt; + +/** + * Contains constants representing the JWT header parameter names. + */ +public final class HeaderParams { + + private HeaderParams() {} + + /** + * The algorithm used to sign a JWT. + */ + public static final String ALGORITHM = "alg"; + + /** + * The content type of the JWT. + */ + public static final String CONTENT_TYPE = "cty"; + + /** + * The media type of the JWT. + */ + public static final String TYPE = "typ"; + + /** + * The key ID of a JWT used to specify the key for signature validation. + */ + public static final String KEY_ID = "kid"; +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWT.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWT.java new file mode 100644 index 00000000000..696abe4001c --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWT.java @@ -0,0 +1,74 @@ +package com.auth0.jwt; + +import com.auth0.jwt.algorithms.Algorithm; +import com.auth0.jwt.exceptions.JWTDecodeException; +import com.auth0.jwt.impl.JWTParser; +import com.auth0.jwt.interfaces.DecodedJWT; +import com.auth0.jwt.interfaces.Verification; + +/** + * Exposes all the JWT functionalities. + */ +@SuppressWarnings("WeakerAccess") +public class JWT { + + private final JWTParser parser; + + /** + * Constructs a new instance of the JWT library. Use this if you need to decode many JWT + * tokens on the fly and do not wish to instantiate a new parser for each invocation. + */ + public JWT() { + parser = new JWTParser(); + } + + /** + * Decode a given Json Web Token. + *

    + * Note that this method doesn't verify the token's signature! + * Use it only if you trust the token or if you have already verified it. + * + * @param token with jwt format as string. + * @return a decoded JWT. + * @throws JWTDecodeException if any part of the token contained an invalid jwt + * or JSON format of each of the jwt parts. + */ + public DecodedJWT decodeJwt(String token) throws JWTDecodeException { + return new JWTDecoder(parser, token); + } + + /** + * Decode a given Json Web Token. + *

    + * Note that this method doesn't verify the token's signature! + * Use it only if you trust the token or if you have already verified it. + * + * @param token with jwt format as string. + * @return a decoded JWT. + * @throws JWTDecodeException if any part of the token contained an invalid jwt + * or JSON format of each of the jwt parts. + */ + public static DecodedJWT decode(String token) throws JWTDecodeException { + return new JWTDecoder(token); + } + + /** + * Returns a {@link Verification} builder with the algorithm to be used to validate token signature. + * + * @param algorithm that will be used to verify the token's signature. + * @return {@link Verification} builder + * @throws IllegalArgumentException if the provided algorithm is null. + */ + public static Verification require(Algorithm algorithm) { + return JWTVerifier.init(algorithm); + } + + /** + * Returns a Json Web Token builder used to create and sign tokens. + * + * @return a token builder. + */ + public static JWTCreator.Builder create() { + return JWTCreator.init(); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTCreator.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTCreator.java new file mode 100644 index 00000000000..0b0d21e4288 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTCreator.java @@ -0,0 +1,631 @@ +package com.auth0.jwt; + +import com.auth0.jwt.algorithms.Algorithm; +import com.auth0.jwt.exceptions.JWTCreationException; +import com.auth0.jwt.exceptions.SignatureGenerationException; +import com.auth0.jwt.impl.*; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.json.JsonMapper; +import com.fasterxml.jackson.databind.module.SimpleModule; + +import java.nio.charset.StandardCharsets; +import java.time.Instant; +import java.util.*; +import java.util.Map.Entry; + +/** + * The JWTCreator class holds the sign method to generate a complete JWT (with Signature) + * from a given Header and Payload content. + *

    + * This class is thread-safe. + */ +@SuppressWarnings("WeakerAccess") +public final class JWTCreator { + + private final Algorithm algorithm; + private final String headerJson; + private final String payloadJson; + + private static final ObjectMapper mapper; + private static final SimpleModule module; + + static { + module = new SimpleModule(); + module.addSerializer(PayloadClaimsHolder.class, new PayloadSerializer()); + module.addSerializer(HeaderClaimsHolder.class, new HeaderSerializer()); + + mapper = JsonMapper.builder() + .configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true) + .build() + .registerModule(module); + } + + private JWTCreator(Algorithm algorithm, Map headerClaims, Map payloadClaims) + throws JWTCreationException { + this.algorithm = algorithm; + try { + headerJson = mapper.writeValueAsString(new HeaderClaimsHolder(headerClaims)); + payloadJson = mapper.writeValueAsString(new PayloadClaimsHolder(payloadClaims)); + } catch (JsonProcessingException e) { + throw new JWTCreationException("Some of the Claims couldn't be converted to a valid JSON format.", e); + } + } + + + /** + * Initialize a JWTCreator instance. + * + * @return a JWTCreator.Builder instance to configure. + */ + static JWTCreator.Builder init() { + return new Builder(); + } + + /** + * The Builder class holds the Claims that defines the JWT to be created. + */ + public static class Builder { + private final Map payloadClaims; + private final Map headerClaims; + + Builder() { + this.payloadClaims = new LinkedHashMap<>(); + this.headerClaims = new LinkedHashMap<>(); + } + + /** + * Add specific Claims to set as the Header. + * If provided map is null then nothing is changed + * + * @param headerClaims the values to use as Claims in the token's Header. + * @return this same Builder instance. + */ + public Builder withHeader(Map headerClaims) { + if (headerClaims == null) { + return this; + } + + for (Map.Entry entry : headerClaims.entrySet()) { + if (entry.getValue() == null) { + this.headerClaims.remove(entry.getKey()); + } else { + this.headerClaims.put(entry.getKey(), entry.getValue()); + } + } + + return this; + } + + /** + * Add specific Claims to set as the Header. + * If provided json is null then nothing is changed + * + * @param headerClaimsJson the values to use as Claims in the token's Header. + * @return this same Builder instance. + * @throws IllegalArgumentException if json value has invalid structure + */ + public Builder withHeader(String headerClaimsJson) throws IllegalArgumentException { + if (headerClaimsJson == null) { + return this; + } + + try { + Map headerClaims = mapper.readValue(headerClaimsJson, LinkedHashMap.class); + return withHeader(headerClaims); + } catch (JsonProcessingException e) { + throw new IllegalArgumentException("Invalid header JSON", e); + } + } + + /** + * Add a specific Key Id ("kid") claim to the Header. + * If the {@link Algorithm} used to sign this token was instantiated with a KeyProvider, + * the 'kid' value will be taken from that provider and this one will be ignored. + * + * @param keyId the Key Id value. + * @return this same Builder instance. + */ + public Builder withKeyId(String keyId) { + this.headerClaims.put(HeaderParams.KEY_ID, keyId); + return this; + } + + /** + * Add a specific Issuer ("iss") claim to the Payload. + * + * @param issuer the Issuer value. + * @return this same Builder instance. + */ + public Builder withIssuer(String issuer) { + addClaim(RegisteredClaims.ISSUER, issuer); + return this; + } + + /** + * Add a specific Subject ("sub") claim to the Payload. + * + * @param subject the Subject value. + * @return this same Builder instance. + */ + public Builder withSubject(String subject) { + addClaim(RegisteredClaims.SUBJECT, subject); + return this; + } + + /** + * Add a specific Audience ("aud") claim to the Payload. + * + * @param audience the Audience value. + * @return this same Builder instance. + */ + public Builder withAudience(String... audience) { + addClaim(RegisteredClaims.AUDIENCE, audience); + return this; + } + + /** + * Add a specific Expires At ("exp") claim to the payload. The claim will be written as seconds since the epoch. + * Milliseconds will be truncated by rounding down to the nearest second. + * + * @param expiresAt the Expires At value. + * @return this same Builder instance. + */ + public Builder withExpiresAt(Date expiresAt) { + addClaim(RegisteredClaims.EXPIRES_AT, expiresAt); + return this; + } + + /** + * Add a specific Expires At ("exp") claim to the payload. The claim will be written as seconds since the epoch; + * Milliseconds will be truncated by rounding down to the nearest second. + * + * @param expiresAt the Expires At value. + * @return this same Builder instance. + */ + public Builder withExpiresAt(Instant expiresAt) { + addClaim(RegisteredClaims.EXPIRES_AT, expiresAt); + return this; + } + + /** + * Add a specific Not Before ("nbf") claim to the Payload. The claim will be written as seconds since the epoch; + * Milliseconds will be truncated by rounding down to the nearest second. + * + * @param notBefore the Not Before value. + * @return this same Builder instance. + */ + public Builder withNotBefore(Date notBefore) { + addClaim(RegisteredClaims.NOT_BEFORE, notBefore); + return this; + } + + /** + * Add a specific Not Before ("nbf") claim to the Payload. The claim will be written as seconds since the epoch; + * Milliseconds will be truncated by rounding down to the nearest second. + * + * @param notBefore the Not Before value. + * @return this same Builder instance. + */ + public Builder withNotBefore(Instant notBefore) { + addClaim(RegisteredClaims.NOT_BEFORE, notBefore); + return this; + } + + /** + * Add a specific Issued At ("iat") claim to the Payload. The claim will be written as seconds since the epoch; + * Milliseconds will be truncated by rounding down to the nearest second. + * + * @param issuedAt the Issued At value. + * @return this same Builder instance. + */ + public Builder withIssuedAt(Date issuedAt) { + addClaim(RegisteredClaims.ISSUED_AT, issuedAt); + return this; + } + + /** + * Add a specific Issued At ("iat") claim to the Payload. The claim will be written as seconds since the epoch; + * Milliseconds will be truncated by rounding down to the nearest second. + * + * @param issuedAt the Issued At value. + * @return this same Builder instance. + */ + public Builder withIssuedAt(Instant issuedAt) { + addClaim(RegisteredClaims.ISSUED_AT, issuedAt); + return this; + } + + /** + * Add a specific JWT Id ("jti") claim to the Payload. + * + * @param jwtId the Token Id value. + * @return this same Builder instance. + */ + public Builder withJWTId(String jwtId) { + addClaim(RegisteredClaims.JWT_ID, jwtId); + return this; + } + + /** + * Add a custom Claim value. + * + * @param name the Claim's name. + * @param value the Claim's value. + * @return this same Builder instance. + * @throws IllegalArgumentException if the name is null. + */ + public Builder withClaim(String name, Boolean value) throws IllegalArgumentException { + assertNonNull(name); + addClaim(name, value); + return this; + } + + /** + * Add a custom Claim value. + * + * @param name the Claim's name. + * @param value the Claim's value. + * @return this same Builder instance. + * @throws IllegalArgumentException if the name is null. + */ + public Builder withClaim(String name, Integer value) throws IllegalArgumentException { + assertNonNull(name); + addClaim(name, value); + return this; + } + + /** + * Add a custom Claim value. + * + * @param name the Claim's name. + * @param value the Claim's value. + * @return this same Builder instance. + * @throws IllegalArgumentException if the name is null. + */ + public Builder withClaim(String name, Long value) throws IllegalArgumentException { + assertNonNull(name); + addClaim(name, value); + return this; + } + + /** + * Add a custom Claim value. + * + * @param name the Claim's name. + * @param value the Claim's value. + * @return this same Builder instance. + * @throws IllegalArgumentException if the name is null. + */ + public Builder withClaim(String name, Double value) throws IllegalArgumentException { + assertNonNull(name); + addClaim(name, value); + return this; + } + + /** + * Add a custom Claim value. + * + * @param name the Claim's name. + * @param value the Claim's value. + * @return this same Builder instance. + * @throws IllegalArgumentException if the name is null. + */ + public Builder withClaim(String name, String value) throws IllegalArgumentException { + assertNonNull(name); + addClaim(name, value); + return this; + } + + /** + * Add a custom Claim value. The claim will be written as seconds since the epoch. + * Milliseconds will be truncated by rounding down to the nearest second. + * + * @param name the Claim's name. + * @param value the Claim's value. + * @return this same Builder instance. + * @throws IllegalArgumentException if the name is null. + */ + public Builder withClaim(String name, Date value) throws IllegalArgumentException { + assertNonNull(name); + addClaim(name, value); + return this; + } + + /** + * Add a custom Claim value. The claim will be written as seconds since the epoch. + * Milliseconds will be truncated by rounding down to the nearest second. + * + * @param name the Claim's name. + * @param value the Claim's value. + * @return this same Builder instance. + * @throws IllegalArgumentException if the name is null. + */ + public Builder withClaim(String name, Instant value) throws IllegalArgumentException { + assertNonNull(name); + addClaim(name, value); + return this; + } + + /** + * Add a custom Map Claim with the given items. + *

    + * Accepted nested types are {@linkplain Map} and {@linkplain List} with basic types + * {@linkplain Boolean}, {@linkplain Integer}, {@linkplain Long}, {@linkplain Double}, + * {@linkplain String} and {@linkplain Date}. {@linkplain Map}s cannot contain null keys or values. + * {@linkplain List}s can contain null elements. + * + * @param name the Claim's name. + * @param map the Claim's key-values. + * @return this same Builder instance. + * @throws IllegalArgumentException if the name is null, or if the map contents does not validate. + */ + public Builder withClaim(String name, Map map) throws IllegalArgumentException { + assertNonNull(name); + // validate map contents + if (map != null && !validateClaim(map)) { + throw new IllegalArgumentException("Expected map containing Map, List, Boolean, Integer, " + + "Long, Double, String and Date"); + } + addClaim(name, map); + return this; + } + + /** + * Add a custom List Claim with the given items. + *

    + * Accepted nested types are {@linkplain Map} and {@linkplain List} with basic types + * {@linkplain Boolean}, {@linkplain Integer}, {@linkplain Long}, {@linkplain Double}, + * {@linkplain String} and {@linkplain Date}. {@linkplain Map}s cannot contain null keys or values. + * {@linkplain List}s can contain null elements. + * + * @param name the Claim's name. + * @param list the Claim's list of values. + * @return this same Builder instance. + * @throws IllegalArgumentException if the name is null, or if the list contents does not validate. + */ + public Builder withClaim(String name, List list) throws IllegalArgumentException { + assertNonNull(name); + // validate list contents + if (list != null && !validateClaim(list)) { + throw new IllegalArgumentException("Expected list containing Map, List, Boolean, Integer, " + + "Long, Double, String and Date"); + } + addClaim(name, list); + return this; + } + + /** + * Add a custom claim with null value. + * + * @param name the Claim's name. + * @return this same Builder instance. + * @throws IllegalArgumentException if the name is null + */ + public Builder withNullClaim(String name) throws IllegalArgumentException { + assertNonNull(name); + addClaim(name, null); + return this; + } + + /** + * Add a custom Array Claim with the given items. + * + * @param name the Claim's name. + * @param items the Claim's value. + * @return this same Builder instance. + * @throws IllegalArgumentException if the name is null. + */ + public Builder withArrayClaim(String name, String[] items) throws IllegalArgumentException { + assertNonNull(name); + addClaim(name, items); + return this; + } + + /** + * Add a custom Array Claim with the given items. + * + * @param name the Claim's name. + * @param items the Claim's value. + * @return this same Builder instance. + * @throws IllegalArgumentException if the name is null. + */ + public Builder withArrayClaim(String name, Integer[] items) throws IllegalArgumentException { + assertNonNull(name); + addClaim(name, items); + return this; + } + + /** + * Add a custom Array Claim with the given items. + * + * @param name the Claim's name. + * @param items the Claim's value. + * @return this same Builder instance. + * @throws IllegalArgumentException if the name is null + */ + public Builder withArrayClaim(String name, Long[] items) throws IllegalArgumentException { + assertNonNull(name); + addClaim(name, items); + return this; + } + + /** + * Add specific Claims to set as the Payload. If the provided map is null then + * nothing is changed. + *

    + * Accepted types are {@linkplain Map} and {@linkplain List} with basic types + * {@linkplain Boolean}, {@linkplain Integer}, {@linkplain Long}, {@linkplain Double}, + * {@linkplain String} and {@linkplain Date}. + * {@linkplain Map}s and {@linkplain List}s can contain null elements. + *

    + * + *

    + * If any of the claims are invalid, none will be added. + *

    + * + * @param payloadClaims the values to use as Claims in the token's payload. + * @return this same Builder instance. + * @throws IllegalArgumentException if any of the claim keys or null, + * or if the values are not of a supported type. + */ + public Builder withPayload(Map payloadClaims) throws IllegalArgumentException { + if (payloadClaims == null) { + return this; + } + + if (!validatePayload(payloadClaims)) { + throw new IllegalArgumentException("Claim values must only be of types Map, List, Boolean, Integer, " + + "Long, Double, String, Date, Instant, and Null"); + } + + // add claims only after validating all claims so as not to corrupt the claims map of this builder + for (Map.Entry entry : payloadClaims.entrySet()) { + addClaim(entry.getKey(), entry.getValue()); + } + + return this; + } + + /** + * Add specific Claims to set as the Payload. If the provided json is null then + * nothing is changed. + * + *

    + * If any of the claims are invalid, none will be added. + *

    + * + * @param payloadClaimsJson the values to use as Claims in the token's payload. + * @return this same Builder instance. + * @throws IllegalArgumentException if any of the claim keys or null, + * or if the values are not of a supported type, + * or if json value has invalid structure. + */ + public Builder withPayload(String payloadClaimsJson) throws IllegalArgumentException { + if (payloadClaimsJson == null) { + return this; + } + + try { + Map payloadClaims = mapper.readValue(payloadClaimsJson, LinkedHashMap.class); + return withPayload(payloadClaims); + } catch (JsonProcessingException e) { + throw new IllegalArgumentException("Invalid payload JSON", e); + } + } + + private boolean validatePayload(Map payload) { + for (Map.Entry entry : payload.entrySet()) { + String key = entry.getKey(); + assertNonNull(key); + + Object value = entry.getValue(); + if (value instanceof List && !validateClaim((List) value)) { + return false; + } else if (value instanceof Map && !validateClaim((Map) value)) { + return false; + } else if (!isSupportedType(value)) { + return false; + } + } + return true; + } + + private static boolean validateClaim(Map map) { + // do not accept null values in maps + for (Entry entry : map.entrySet()) { + Object value = entry.getValue(); + if (!isSupportedType(value)) { + return false; + } + + if (!(entry.getKey() instanceof String)) { + return false; + } + } + return true; + } + + private static boolean validateClaim(List list) { + // accept null values in list + for (Object object : list) { + if (!isSupportedType(object)) { + return false; + } + } + return true; + } + + private static boolean isSupportedType(Object value) { + if (value instanceof List) { + return validateClaim((List) value); + } else if (value instanceof Map) { + return validateClaim((Map) value); + } else { + return isBasicType(value); + } + } + + private static boolean isBasicType(Object value) { + if (value == null) { + return true; + } else { + Class c = value.getClass(); + + if (c.isArray()) { + return c == Integer[].class || c == Long[].class || c == String[].class; + } + return c == String.class || c == Integer.class || c == Long.class || c == Double.class + || c == Date.class || c == Instant.class || c == Boolean.class; + } + } + + /** + * Creates a new JWT and signs is with the given algorithm. + * + * @param algorithm used to sign the JWT + * @return a new JWT token + * @throws IllegalArgumentException if the provided algorithm is null. + * @throws JWTCreationException if the claims could not be converted to a valid JSON + * or there was a problem with the signing key. + */ + public String sign(Algorithm algorithm) throws IllegalArgumentException, JWTCreationException { + if (algorithm == null) { + throw new IllegalArgumentException("The Algorithm cannot be null."); + } + headerClaims.put(HeaderParams.ALGORITHM, algorithm.getName()); + if (!headerClaims.containsKey(HeaderParams.TYPE)) { + headerClaims.put(HeaderParams.TYPE, "JWT"); + } + String signingKeyId = algorithm.getSigningKeyId(); + if (signingKeyId != null) { + withKeyId(signingKeyId); + } + return new JWTCreator(algorithm, headerClaims, payloadClaims).sign(); + } + + private void assertNonNull(String name) { + if (name == null) { + throw new IllegalArgumentException("The Custom Claim's name can't be null."); + } + } + + private void addClaim(String name, Object value) { + payloadClaims.put(name, value); + } + } + + private String sign() throws SignatureGenerationException { + String header = Base64.getUrlEncoder().withoutPadding() + .encodeToString(headerJson.getBytes(StandardCharsets.UTF_8)); + String payload = Base64.getUrlEncoder().withoutPadding() + .encodeToString(payloadJson.getBytes(StandardCharsets.UTF_8)); + + byte[] signatureBytes = algorithm.sign(header.getBytes(StandardCharsets.UTF_8), + payload.getBytes(StandardCharsets.UTF_8)); + String signature = Base64.getUrlEncoder().withoutPadding().encodeToString((signatureBytes)); + + return String.format("%s.%s.%s", header, payload, signature); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTDecoder.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTDecoder.java new file mode 100644 index 00000000000..cc283095f25 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTDecoder.java @@ -0,0 +1,156 @@ +package com.auth0.jwt; + +import com.auth0.jwt.exceptions.JWTDecodeException; +import com.auth0.jwt.impl.JWTParser; +import com.auth0.jwt.interfaces.Claim; +import com.auth0.jwt.interfaces.DecodedJWT; +import com.auth0.jwt.interfaces.Header; +import com.auth0.jwt.interfaces.Payload; + +import java.io.Serializable; +import java.nio.charset.StandardCharsets; +import java.time.Instant; +import java.util.Base64; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * The JWTDecoder class holds the decode method to parse a given JWT token into it's JWT representation. + *

    + * This class is thread-safe. + */ +@SuppressWarnings("WeakerAccess") +final class JWTDecoder implements DecodedJWT, Serializable { + + private static final long serialVersionUID = 1873362438023312895L; + + private final String[] parts; + private final Header header; + private final Payload payload; + + JWTDecoder(String jwt) throws JWTDecodeException { + this(new JWTParser(), jwt); + } + + JWTDecoder(JWTParser converter, String jwt) throws JWTDecodeException { + parts = TokenUtils.splitToken(jwt); + String headerJson; + String payloadJson; + try { + headerJson = new String(Base64.getUrlDecoder().decode(parts[0]), StandardCharsets.UTF_8); + payloadJson = new String(Base64.getUrlDecoder().decode(parts[1]), StandardCharsets.UTF_8); + } catch (NullPointerException e) { + throw new JWTDecodeException("The UTF-8 Charset isn't initialized.", e); + } catch (IllegalArgumentException e) { + throw new JWTDecodeException("The input is not a valid base 64 encoded string.", e); + } + header = converter.parseHeader(headerJson); + payload = converter.parsePayload(payloadJson); + } + + @Override + public String getAlgorithm() { + return header.getAlgorithm(); + } + + @Override + public String getType() { + return header.getType(); + } + + @Override + public String getContentType() { + return header.getContentType(); + } + + @Override + public String getKeyId() { + return header.getKeyId(); + } + + @Override + public Claim getHeaderClaim(String name) { + return header.getHeaderClaim(name); + } + + @Override + public String getIssuer() { + return payload.getIssuer(); + } + + @Override + public String getSubject() { + return payload.getSubject(); + } + + @Override + public List getAudience() { + return payload.getAudience(); + } + + @Override + public Date getExpiresAt() { + return payload.getExpiresAt(); + } + + @Override + public Instant getExpiresAtAsInstant() { + return payload.getExpiresAtAsInstant(); + } + + @Override + public Date getNotBefore() { + return payload.getNotBefore(); + } + + @Override + public Instant getNotBeforeAsInstant() { + return payload.getNotBeforeAsInstant(); + } + + @Override + public Date getIssuedAt() { + return payload.getIssuedAt(); + } + + @Override + public Instant getIssuedAtAsInstant() { + return payload.getIssuedAtAsInstant(); + } + + @Override + public String getId() { + return payload.getId(); + } + + @Override + public Claim getClaim(String name) { + return payload.getClaim(name); + } + + @Override + public Map getClaims() { + return payload.getClaims(); + } + + @Override + public String getHeader() { + return parts[0]; + } + + @Override + public String getPayload() { + return parts[1]; + } + + @Override + public String getSignature() { + return parts[2]; + } + + @Override + public String getToken() { + return String.format("%s.%s.%s", parts[0], parts[1], parts[2]); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTVerifier.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTVerifier.java new file mode 100644 index 00000000000..6cec2026cab --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTVerifier.java @@ -0,0 +1,493 @@ +package com.auth0.jwt; + +import com.auth0.jwt.algorithms.Algorithm; +import com.auth0.jwt.exceptions.*; +import com.auth0.jwt.impl.JWTParser; +import com.auth0.jwt.interfaces.Claim; +import com.auth0.jwt.interfaces.DecodedJWT; +import com.auth0.jwt.impl.ExpectedCheckHolder; +import com.auth0.jwt.interfaces.Verification; + +import java.time.Clock; +import java.time.Duration; +import java.time.Instant; +import java.time.temporal.ChronoUnit; +import java.util.*; +import java.util.function.BiPredicate; + +/** + * The JWTVerifier class holds the verify method to assert that a given Token has not only a proper JWT format, + * but also its signature matches. + *

    + * This class is thread-safe. + * + * @see com.auth0.jwt.interfaces.JWTVerifier + */ +public final class JWTVerifier implements com.auth0.jwt.interfaces.JWTVerifier { + private final Algorithm algorithm; + final List expectedChecks; + private final JWTParser parser; + + JWTVerifier(Algorithm algorithm, List expectedChecks) { + this.algorithm = algorithm; + this.expectedChecks = Collections.unmodifiableList(expectedChecks); + this.parser = new JWTParser(); + } + + /** + * Initialize a {@link Verification} instance using the given Algorithm. + * + * @param algorithm the Algorithm to use on the JWT verification. + * @return a {@link Verification} instance to configure. + * @throws IllegalArgumentException if the provided algorithm is null. + */ + static Verification init(Algorithm algorithm) throws IllegalArgumentException { + return new BaseVerification(algorithm); + } + + /** + * {@link Verification} implementation that accepts all the expected Claim values for verification, and + * builds a {@link com.auth0.jwt.interfaces.JWTVerifier} used to verify a JWT's signature and expected claims. + * + * Note that this class is not thread-safe. Calling {@link #build()} returns an instance of + * {@link com.auth0.jwt.interfaces.JWTVerifier} which can be reused. + */ + public static class BaseVerification implements Verification { + private final Algorithm algorithm; + private final List expectedChecks; + private long defaultLeeway; + private final Map customLeeways; + private boolean ignoreIssuedAt; + private Clock clock; + + BaseVerification(Algorithm algorithm) throws IllegalArgumentException { + if (algorithm == null) { + throw new IllegalArgumentException("The Algorithm cannot be null."); + } + + this.algorithm = algorithm; + this.expectedChecks = new ArrayList<>(); + this.customLeeways = new HashMap<>(); + this.defaultLeeway = 0; + } + + @Override + public Verification withIssuer(String... issuer) { + List value = isNullOrEmpty(issuer) ? null : Arrays.asList(issuer); + addCheck(RegisteredClaims.ISSUER, ((claim, decodedJWT) -> { + if (verifyNull(claim, value)) { + return true; + } + if (value == null || !value.contains(claim.asString())) { + throw new IncorrectClaimException( + "The Claim 'iss' value doesn't match the required issuer.", RegisteredClaims.ISSUER, claim); + } + return true; + })); + return this; + } + + @Override + public Verification withSubject(String subject) { + addCheck(RegisteredClaims.SUBJECT, (claim, decodedJWT) -> + verifyNull(claim, subject) || subject.equals(claim.asString())); + return this; + } + + @Override + public Verification withAudience(String... audience) { + List value = isNullOrEmpty(audience) ? null : Arrays.asList(audience); + addCheck(RegisteredClaims.AUDIENCE, ((claim, decodedJWT) -> { + if (verifyNull(claim, value)) { + return true; + } + if (!assertValidAudienceClaim(decodedJWT.getAudience(), value, true)) { + throw new IncorrectClaimException("The Claim 'aud' value doesn't contain the required audience.", + RegisteredClaims.AUDIENCE, claim); + } + return true; + })); + return this; + } + + @Override + public Verification withAnyOfAudience(String... audience) { + List value = isNullOrEmpty(audience) ? null : Arrays.asList(audience); + addCheck(RegisteredClaims.AUDIENCE, ((claim, decodedJWT) -> { + if (verifyNull(claim, value)) { + return true; + } + if (!assertValidAudienceClaim(decodedJWT.getAudience(), value, false)) { + throw new IncorrectClaimException("The Claim 'aud' value doesn't contain the required audience.", + RegisteredClaims.AUDIENCE, claim); + } + return true; + })); + return this; + } + + @Override + public Verification acceptLeeway(long leeway) throws IllegalArgumentException { + assertPositive(leeway); + this.defaultLeeway = leeway; + return this; + } + + @Override + public Verification acceptExpiresAt(long leeway) throws IllegalArgumentException { + assertPositive(leeway); + customLeeways.put(RegisteredClaims.EXPIRES_AT, leeway); + return this; + } + + @Override + public Verification acceptNotBefore(long leeway) throws IllegalArgumentException { + assertPositive(leeway); + customLeeways.put(RegisteredClaims.NOT_BEFORE, leeway); + return this; + } + + @Override + public Verification acceptIssuedAt(long leeway) throws IllegalArgumentException { + assertPositive(leeway); + customLeeways.put(RegisteredClaims.ISSUED_AT, leeway); + return this; + } + + @Override + public Verification ignoreIssuedAt() { + this.ignoreIssuedAt = true; + return this; + } + + @Override + public Verification withJWTId(String jwtId) { + addCheck(RegisteredClaims.JWT_ID, ((claim, decodedJWT) -> + verifyNull(claim, jwtId) || jwtId.equals(claim.asString()))); + return this; + } + + @Override + public Verification withClaimPresence(String name) throws IllegalArgumentException { + assertNonNull(name); + //since addCheck already checks presence, we just return true + withClaim(name, ((claim, decodedJWT) -> true)); + return this; + } + + @Override + public Verification withNullClaim(String name) throws IllegalArgumentException { + assertNonNull(name); + withClaim(name, ((claim, decodedJWT) -> claim.isNull())); + return this; + } + + @Override + public Verification withClaim(String name, Boolean value) throws IllegalArgumentException { + assertNonNull(name); + addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, value) + || value.equals(claim.asBoolean()))); + return this; + } + + @Override + public Verification withClaim(String name, Integer value) throws IllegalArgumentException { + assertNonNull(name); + addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, value) + || value.equals(claim.asInt()))); + return this; + } + + @Override + public Verification withClaim(String name, Long value) throws IllegalArgumentException { + assertNonNull(name); + addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, value) + || value.equals(claim.asLong()))); + return this; + } + + @Override + public Verification withClaim(String name, Double value) throws IllegalArgumentException { + assertNonNull(name); + addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, value) + || value.equals(claim.asDouble()))); + return this; + } + + @Override + public Verification withClaim(String name, String value) throws IllegalArgumentException { + assertNonNull(name); + addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, value) + || value.equals(claim.asString()))); + return this; + } + + @Override + public Verification withClaim(String name, Date value) throws IllegalArgumentException { + return withClaim(name, value != null ? value.toInstant() : null); + } + + @Override + public Verification withClaim(String name, Instant value) throws IllegalArgumentException { + assertNonNull(name); + // Since date-time claims are serialized as epoch seconds, + // we need to compare them with only seconds-granularity + addCheck(name, + ((claim, decodedJWT) -> verifyNull(claim, value) + || value.truncatedTo(ChronoUnit.SECONDS).equals(claim.asInstant()))); + return this; + } + + @Override + public Verification withClaim(String name, BiPredicate predicate) + throws IllegalArgumentException { + assertNonNull(name); + addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, predicate) + || predicate.test(claim, decodedJWT))); + return this; + } + + @Override + public Verification withArrayClaim(String name, String... items) throws IllegalArgumentException { + assertNonNull(name); + addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, items) + || assertValidCollectionClaim(claim, items))); + return this; + } + + @Override + public Verification withArrayClaim(String name, Integer... items) throws IllegalArgumentException { + assertNonNull(name); + addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, items) + || assertValidCollectionClaim(claim, items))); + return this; + } + + @Override + public Verification withArrayClaim(String name, Long... items) throws IllegalArgumentException { + assertNonNull(name); + addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, items) + || assertValidCollectionClaim(claim, items))); + return this; + } + + @Override + public JWTVerifier build() { + return this.build(Clock.systemUTC()); + } + + /** + * Creates a new and reusable instance of the JWTVerifier with the configuration already provided. + * ONLY FOR TEST PURPOSES. + * + * @param clock the instance that will handle the current time. + * @return a new JWTVerifier instance with a custom {@link java.time.Clock} + */ + public JWTVerifier build(Clock clock) { + this.clock = clock; + addMandatoryClaimChecks(); + return new JWTVerifier(algorithm, expectedChecks); + } + + /** + * Fetches the Leeway set for claim or returns the {@link BaseVerification#defaultLeeway}. + * + * @param name Claim for which leeway is fetched + * @return Leeway value set for the claim + */ + public long getLeewayFor(String name) { + return customLeeways.getOrDefault(name, defaultLeeway); + } + + private void addMandatoryClaimChecks() { + long expiresAtLeeway = getLeewayFor(RegisteredClaims.EXPIRES_AT); + long notBeforeLeeway = getLeewayFor(RegisteredClaims.NOT_BEFORE); + long issuedAtLeeway = getLeewayFor(RegisteredClaims.ISSUED_AT); + + expectedChecks.add(constructExpectedCheck(RegisteredClaims.EXPIRES_AT, (claim, decodedJWT) -> + assertValidInstantClaim(RegisteredClaims.EXPIRES_AT, claim, expiresAtLeeway, true))); + expectedChecks.add(constructExpectedCheck(RegisteredClaims.NOT_BEFORE, (claim, decodedJWT) -> + assertValidInstantClaim(RegisteredClaims.NOT_BEFORE, claim, notBeforeLeeway, false))); + if (!ignoreIssuedAt) { + expectedChecks.add(constructExpectedCheck(RegisteredClaims.ISSUED_AT, (claim, decodedJWT) -> + assertValidInstantClaim(RegisteredClaims.ISSUED_AT, claim, issuedAtLeeway, false))); + } + } + + private boolean assertValidCollectionClaim(Claim claim, Object[] expectedClaimValue) { + List claimArr; + Object[] claimAsObject = claim.as(Object[].class); + + // Jackson uses 'natural' mapping which uses Integer if value fits in 32 bits. + if (expectedClaimValue instanceof Long[]) { + // convert Integers to Longs for comparison with equals + claimArr = new ArrayList<>(claimAsObject.length); + for (Object cao : claimAsObject) { + if (cao instanceof Integer) { + claimArr.add(((Integer) cao).longValue()); + } else { + claimArr.add(cao); + } + } + } else { + claimArr = Arrays.asList(claim.as(Object[].class)); + } + List valueArr = Arrays.asList(expectedClaimValue); + return claimArr.containsAll(valueArr); + } + + private boolean assertValidInstantClaim(String claimName, Claim claim, long leeway, boolean shouldBeFuture) { + Instant claimVal = claim.asInstant(); + Instant now = clock.instant().truncatedTo(ChronoUnit.SECONDS); + boolean isValid; + if (shouldBeFuture) { + isValid = assertInstantIsFuture(claimVal, leeway, now); + if (!isValid) { + throw new TokenExpiredException(String.format("The Token has expired on %s.", claimVal), claimVal); + } + } else { + isValid = assertInstantIsLessThanOrEqualToNow(claimVal, leeway, now); + if (!isValid) { + throw new IncorrectClaimException( + String.format("The Token can't be used before %s.", claimVal), claimName, claim); + } + } + return true; + } + + private boolean assertInstantIsFuture(Instant claimVal, long leeway, Instant now) { + return claimVal == null || now.minus(Duration.ofSeconds(leeway)).isBefore(claimVal); + } + + private boolean assertInstantIsLessThanOrEqualToNow(Instant claimVal, long leeway, Instant now) { + return !(claimVal != null && now.plus(Duration.ofSeconds(leeway)).isBefore(claimVal)); + } + + private boolean assertValidAudienceClaim( + List audience, + List values, + boolean shouldContainAll + ) { + return !(audience == null || (shouldContainAll && !audience.containsAll(values)) + || (!shouldContainAll && Collections.disjoint(audience, values))); + } + + private void assertPositive(long leeway) { + if (leeway < 0) { + throw new IllegalArgumentException("Leeway value can't be negative."); + } + } + + private void assertNonNull(String name) { + if (name == null) { + throw new IllegalArgumentException("The Custom Claim's name can't be null."); + } + } + + private void addCheck(String name, BiPredicate predicate) { + expectedChecks.add(constructExpectedCheck(name, (claim, decodedJWT) -> { + if (claim.isMissing()) { + throw new MissingClaimException(name); + } + return predicate.test(claim, decodedJWT); + })); + } + + private ExpectedCheckHolder constructExpectedCheck(String claimName, BiPredicate check) { + return new ExpectedCheckHolder() { + @Override + public String getClaimName() { + return claimName; + } + + @Override + public boolean verify(Claim claim, DecodedJWT decodedJWT) { + return check.test(claim, decodedJWT); + } + }; + } + + private boolean verifyNull(Claim claim, Object value) { + return value == null && claim.isNull(); + } + + private boolean isNullOrEmpty(String[] args) { + if (args == null || args.length == 0) { + return true; + } + boolean isAllNull = true; + for (String arg : args) { + if (arg != null) { + isAllNull = false; + break; + } + } + return isAllNull; + } + } + + + /** + * Perform the verification against the given Token, using any previous configured options. + * + * @param token to verify. + * @return a verified and decoded JWT. + * @throws AlgorithmMismatchException if the algorithm stated in the token's header is not equal to + * the one defined in the {@link JWTVerifier}. + * @throws SignatureVerificationException if the signature is invalid. + * @throws TokenExpiredException if the token has expired. + * @throws MissingClaimException if a claim to be verified is missing. + * @throws IncorrectClaimException if a claim contained a different value than the expected one. + */ + @Override + public DecodedJWT verify(String token) throws JWTVerificationException { + DecodedJWT jwt = new JWTDecoder(parser, token); + return verify(jwt); + } + + /** + * Perform the verification against the given decoded JWT, using any previous configured options. + * + * @param jwt to verify. + * @return a verified and decoded JWT. + * @throws AlgorithmMismatchException if the algorithm stated in the token's header is not equal to + * the one defined in the {@link JWTVerifier}. + * @throws SignatureVerificationException if the signature is invalid. + * @throws TokenExpiredException if the token has expired. + * @throws MissingClaimException if a claim to be verified is missing. + * @throws IncorrectClaimException if a claim contained a different value than the expected one. + */ + @Override + public DecodedJWT verify(DecodedJWT jwt) throws JWTVerificationException { + verifyAlgorithm(jwt, algorithm); + algorithm.verify(jwt); + verifyClaims(jwt, expectedChecks); + return jwt; + } + + private void verifyAlgorithm(DecodedJWT jwt, Algorithm expectedAlgorithm) throws AlgorithmMismatchException { + if (!expectedAlgorithm.getName().equals(jwt.getAlgorithm())) { + throw new AlgorithmMismatchException( + "The provided Algorithm doesn't match the one defined in the JWT's Header."); + } + } + + private void verifyClaims(DecodedJWT jwt, List expectedChecks) + throws TokenExpiredException, InvalidClaimException { + for (ExpectedCheckHolder expectedCheck : expectedChecks) { + boolean isValid; + String claimName = expectedCheck.getClaimName(); + Claim claim = jwt.getClaim(claimName); + + isValid = expectedCheck.verify(claim, jwt); + + if (!isValid) { + throw new IncorrectClaimException( + String.format("The Claim '%s' value doesn't match the required one.", claimName), + claimName, + claim + ); + } + } + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/RegisteredClaims.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/RegisteredClaims.java new file mode 100644 index 00000000000..c55097169a2 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/RegisteredClaims.java @@ -0,0 +1,55 @@ +package com.auth0.jwt; + +/** + * Contains constants representing the name of the Registered Claim Names as defined in Section 4.1 of + * RFC 7529 + */ +public final class RegisteredClaims { + + private RegisteredClaims() { + } + + /** + * The "iss" (issuer) claim identifies the principal that issued the JWT. + * Refer RFC 7529 Section 4.1.1 + */ + public static final String ISSUER = "iss"; + + /** + * The "sub" (subject) claim identifies the principal that is the subject of the JWT. + * Refer RFC 7529 Section 4.1.2 + */ + public static final String SUBJECT = "sub"; + + /** + * The "aud" (audience) claim identifies the recipients that the JWT is intended for. + * Refer RFC 7529 Section 4.1.3 + */ + public static final String AUDIENCE = "aud"; + + /** + * The "exp" (expiration time) claim identifies the expiration time on or after which the JWT MUST NOT be + * accepted for processing. + * Refer RFC 7529 Section 4.1.4 + */ + public static final String EXPIRES_AT = "exp"; + + /** + * The "nbf" (not before) claim identifies the time before which the JWT MUST NOT be accepted for processing. + * Refer RFC 7529 Section 4.1.5 + */ + public static final String NOT_BEFORE = "nbf"; + + /** + * The "iat" (issued at) claim identifies the time at which the JWT was issued. + * Refer RFC 7529 Section 4.1.6 + */ + public static final String ISSUED_AT = "iat"; + + /** + * The "jti" (JWT ID) claim provides a unique identifier for the JWT. + * Refer RFC 7529 Section 4.1.7 + */ + public static final String JWT_ID = "jti"; + +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/TokenUtils.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/TokenUtils.java new file mode 100644 index 00000000000..e62b9832c8e --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/TokenUtils.java @@ -0,0 +1,47 @@ +package com.auth0.jwt; + +import com.auth0.jwt.exceptions.JWTDecodeException; + +abstract class TokenUtils { + + /** + * Splits the given token on the "." chars into a String array with 3 parts. + * + * @param token the string to split. + * @return the array representing the 3 parts of the token. + * @throws JWTDecodeException if the Token doesn't have 3 parts. + */ + static String[] splitToken(String token) throws JWTDecodeException { + if (token == null) { + throw new JWTDecodeException("The token is null."); + } + + char delimiter = '.'; + + int firstPeriodIndex = token.indexOf(delimiter); + if (firstPeriodIndex == -1) { + throw wrongNumberOfParts(0); + } + + int secondPeriodIndex = token.indexOf(delimiter, firstPeriodIndex + 1); + if (secondPeriodIndex == -1) { + throw wrongNumberOfParts(2); + } + + // too many ? + if (token.indexOf(delimiter, secondPeriodIndex + 1) != -1) { + throw wrongNumberOfParts("> 3"); + } + + String[] parts = new String[3]; + parts[0] = token.substring(0, firstPeriodIndex); + parts[1] = token.substring(firstPeriodIndex + 1, secondPeriodIndex); + parts[2] = token.substring(secondPeriodIndex + 1); + + return parts; + } + + private static JWTDecodeException wrongNumberOfParts(Object partCount) { + return new JWTDecodeException(String.format("The token was expected to have 3 parts, but got %s.", partCount)); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/Algorithm.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/Algorithm.java new file mode 100644 index 00000000000..27d799094d0 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/Algorithm.java @@ -0,0 +1,404 @@ +package com.auth0.jwt.algorithms; + +import com.auth0.jwt.exceptions.SignatureGenerationException; +import com.auth0.jwt.exceptions.SignatureVerificationException; +import com.auth0.jwt.interfaces.DecodedJWT; +import com.auth0.jwt.interfaces.ECDSAKeyProvider; +import com.auth0.jwt.interfaces.RSAKeyProvider; + +import java.security.interfaces.*; + +/** + * The Algorithm class represents an algorithm to be used in the Signing or Verification process of a Token. + *

    + * This class and its subclasses are thread-safe. + */ +@SuppressWarnings("WeakerAccess") +public abstract class Algorithm { + + private final String name; + private final String description; + + /** + * Creates a new Algorithm instance using SHA256withRSA. Tokens specify this as "RS256". + * + * @param keyProvider the provider of the Public Key and Private Key for the verify and signing instance. + * @return a valid RSA256 Algorithm. + * @throws IllegalArgumentException if the provided Key is null. + */ + public static Algorithm RSA256(RSAKeyProvider keyProvider) throws IllegalArgumentException { + return new RSAAlgorithm("RS256", "SHA256withRSA", keyProvider); + } + + /** + * Creates a new Algorithm instance using SHA256withRSA. Tokens specify this as "RS256". + * + * @param publicKey the key to use in the verify instance. + * @param privateKey the key to use in the signing instance. + * @return a valid RSA256 Algorithm. + * @throws IllegalArgumentException if both provided Keys are null. + */ + public static Algorithm RSA256(RSAPublicKey publicKey, RSAPrivateKey privateKey) throws IllegalArgumentException { + return RSA256(RSAAlgorithm.providerForKeys(publicKey, privateKey)); + } + + /** + * Creates a new Algorithm instance using SHA256withRSA. Tokens specify this as "RS256". + * + * @param key the key to use in the verify or signing instance. + * @return a valid RSA256 Algorithm. + * @throws IllegalArgumentException if the Key Provider is null. + */ + public static Algorithm RSA256(RSAKey key) throws IllegalArgumentException { + RSAPublicKey publicKey = key instanceof RSAPublicKey ? (RSAPublicKey) key : null; + RSAPrivateKey privateKey = key instanceof RSAPrivateKey ? (RSAPrivateKey) key : null; + return RSA256(publicKey, privateKey); + } + + /** + * Creates a new Algorithm instance using SHA384withRSA. Tokens specify this as "RS384". + * + * @param keyProvider the provider of the Public Key and Private Key for the verify and signing instance. + * @return a valid RSA384 Algorithm. + * @throws IllegalArgumentException if the Key Provider is null. + */ + public static Algorithm RSA384(RSAKeyProvider keyProvider) throws IllegalArgumentException { + return new RSAAlgorithm("RS384", "SHA384withRSA", keyProvider); + } + + /** + * Creates a new Algorithm instance using SHA384withRSA. Tokens specify this as "RS384". + * + * @param publicKey the key to use in the verify instance. + * @param privateKey the key to use in the signing instance. + * @return a valid RSA384 Algorithm. + * @throws IllegalArgumentException if both provided Keys are null. + */ + public static Algorithm RSA384(RSAPublicKey publicKey, RSAPrivateKey privateKey) throws IllegalArgumentException { + return RSA384(RSAAlgorithm.providerForKeys(publicKey, privateKey)); + } + + /** + * Creates a new Algorithm instance using SHA384withRSA. Tokens specify this as "RS384". + * + * @param key the key to use in the verify or signing instance. + * @return a valid RSA384 Algorithm. + * @throws IllegalArgumentException if the provided Key is null. + */ + public static Algorithm RSA384(RSAKey key) throws IllegalArgumentException { + RSAPublicKey publicKey = key instanceof RSAPublicKey ? (RSAPublicKey) key : null; + RSAPrivateKey privateKey = key instanceof RSAPrivateKey ? (RSAPrivateKey) key : null; + return RSA384(publicKey, privateKey); + } + + /** + * Creates a new Algorithm instance using SHA512withRSA. Tokens specify this as "RS512". + * + * @param keyProvider the provider of the Public Key and Private Key for the verify and signing instance. + * @return a valid RSA512 Algorithm. + * @throws IllegalArgumentException if the Key Provider is null. + */ + public static Algorithm RSA512(RSAKeyProvider keyProvider) throws IllegalArgumentException { + return new RSAAlgorithm("RS512", "SHA512withRSA", keyProvider); + } + + /** + * Creates a new Algorithm instance using SHA512withRSA. Tokens specify this as "RS512". + * + * @param publicKey the key to use in the verify instance. + * @param privateKey the key to use in the signing instance. + * @return a valid RSA512 Algorithm. + * @throws IllegalArgumentException if both provided Keys are null. + */ + public static Algorithm RSA512(RSAPublicKey publicKey, RSAPrivateKey privateKey) throws IllegalArgumentException { + return RSA512(RSAAlgorithm.providerForKeys(publicKey, privateKey)); + } + + /** + * Creates a new Algorithm instance using SHA512withRSA. Tokens specify this as "RS512". + * + * @param key the key to use in the verify or signing instance. + * @return a valid RSA512 Algorithm. + * @throws IllegalArgumentException if the provided Key is null. + */ + public static Algorithm RSA512(RSAKey key) throws IllegalArgumentException { + RSAPublicKey publicKey = key instanceof RSAPublicKey ? (RSAPublicKey) key : null; + RSAPrivateKey privateKey = key instanceof RSAPrivateKey ? (RSAPrivateKey) key : null; + return RSA512(publicKey, privateKey); + } + + /** + * Creates a new Algorithm instance using HmacSHA256. Tokens specify this as "HS256". + * + * @param secret the secret bytes to use in the verify or signing instance. + * Ensure the length of the secret is at least 256 bit long + * See HMAC Key Length and Security in README + * @return a valid HMAC256 Algorithm. + * @throws IllegalArgumentException if the provided Secret is null. + */ + public static Algorithm HMAC256(String secret) throws IllegalArgumentException { + return new HMACAlgorithm("HS256", "HmacSHA256", secret); + } + + /** + * Creates a new Algorithm instance using HmacSHA256. Tokens specify this as "HS256". + * + * @param secret the secret bytes to use in the verify or signing instance. + * Ensure the length of the secret is at least 256 bit long + * See HMAC Key Length and Security in README + * @return a valid HMAC256 Algorithm. + * @throws IllegalArgumentException if the provided Secret is null. + */ + public static Algorithm HMAC256(byte[] secret) throws IllegalArgumentException { + return new HMACAlgorithm("HS256", "HmacSHA256", secret); + } + + /** + * Creates a new Algorithm instance using HmacSHA384. Tokens specify this as "HS384". + * + * @param secret the secret bytes to use in the verify or signing instance. + * Ensure the length of the secret is at least 384 bit long + * See HMAC Key Length and Security in README + * @return a valid HMAC384 Algorithm. + * @throws IllegalArgumentException if the provided Secret is null. + */ + public static Algorithm HMAC384(String secret) throws IllegalArgumentException { + return new HMACAlgorithm("HS384", "HmacSHA384", secret); + } + + /** + * Creates a new Algorithm instance using HmacSHA384. Tokens specify this as "HS384". + * + * @param secret the secret bytes to use in the verify or signing instance. + * Ensure the length of the secret is at least 384 bit long + * See HMAC Key Length and Security in README + * @return a valid HMAC384 Algorithm. + * @throws IllegalArgumentException if the provided Secret is null. + */ + public static Algorithm HMAC384(byte[] secret) throws IllegalArgumentException { + return new HMACAlgorithm("HS384", "HmacSHA384", secret); + } + + /** + * Creates a new Algorithm instance using HmacSHA512. Tokens specify this as "HS512". + * + * @param secret the secret bytes to use in the verify or signing instance. + * Ensure the length of the secret is at least 512 bit long + * See HMAC Key Length and Security in README + * @return a valid HMAC512 Algorithm. + * @throws IllegalArgumentException if the provided Secret is null. + */ + public static Algorithm HMAC512(String secret) throws IllegalArgumentException { + return new HMACAlgorithm("HS512", "HmacSHA512", secret); + } + + /** + * Creates a new Algorithm instance using HmacSHA512. Tokens specify this as "HS512". + * + * @param secret the secret bytes to use in the verify or signing instance. + * Ensure the length of the secret is at least 512 bit long + * See HMAC Key Length and Security in README + * @return a valid HMAC512 Algorithm. + * @throws IllegalArgumentException if the provided Secret is null. + */ + public static Algorithm HMAC512(byte[] secret) throws IllegalArgumentException { + return new HMACAlgorithm("HS512", "HmacSHA512", secret); + } + + + /** + * Creates a new Algorithm instance using SHA256withECDSA. Tokens specify this as "ES256". + * + * @param keyProvider the provider of the Public Key and Private Key for the verify and signing instance. + * @return a valid ECDSA256 Algorithm. + * @throws IllegalArgumentException if the Key Provider is null. + */ + public static Algorithm ECDSA256(ECDSAKeyProvider keyProvider) throws IllegalArgumentException { + return new ECDSAAlgorithm("ES256", "SHA256withECDSA", 32, keyProvider); + } + + /** + * Creates a new Algorithm instance using SHA256withECDSA. Tokens specify this as "ES256". + * + * @param publicKey the key to use in the verify instance. + * @param privateKey the key to use in the signing instance. + * @return a valid ECDSA256 Algorithm. + * @throws IllegalArgumentException if the provided Key is null. + */ + public static Algorithm ECDSA256(ECPublicKey publicKey, ECPrivateKey privateKey) throws IllegalArgumentException { + return ECDSA256(ECDSAAlgorithm.providerForKeys(publicKey, privateKey)); + } + + /** + * Creates a new Algorithm instance using SHA256withECDSA. Tokens specify this as "ES256". + * + * @param key the key to use in the verify or signing instance. + * @return a valid ECDSA256 Algorithm. + * @throws IllegalArgumentException if the provided Key is null. + */ + public static Algorithm ECDSA256(ECKey key) throws IllegalArgumentException { + ECPublicKey publicKey = key instanceof ECPublicKey ? (ECPublicKey) key : null; + ECPrivateKey privateKey = key instanceof ECPrivateKey ? (ECPrivateKey) key : null; + return ECDSA256(publicKey, privateKey); + } + + /** + * Creates a new Algorithm instance using SHA384withECDSA. Tokens specify this as "ES384". + * + * @param keyProvider the provider of the Public Key and Private Key for the verify and signing instance. + * @return a valid ECDSA384 Algorithm. + * @throws IllegalArgumentException if the Key Provider is null. + */ + public static Algorithm ECDSA384(ECDSAKeyProvider keyProvider) throws IllegalArgumentException { + return new ECDSAAlgorithm("ES384", "SHA384withECDSA", 48, keyProvider); + } + + /** + * Creates a new Algorithm instance using SHA384withECDSA. Tokens specify this as "ES384". + * + * @param publicKey the key to use in the verify instance. + * @param privateKey the key to use in the signing instance. + * @return a valid ECDSA384 Algorithm. + * @throws IllegalArgumentException if the provided Key is null. + */ + public static Algorithm ECDSA384(ECPublicKey publicKey, ECPrivateKey privateKey) throws IllegalArgumentException { + return ECDSA384(ECDSAAlgorithm.providerForKeys(publicKey, privateKey)); + } + + /** + * Creates a new Algorithm instance using SHA384withECDSA. Tokens specify this as "ES384". + * + * @param key the key to use in the verify or signing instance. + * @return a valid ECDSA384 Algorithm. + * @throws IllegalArgumentException if the provided Key is null. + */ + public static Algorithm ECDSA384(ECKey key) throws IllegalArgumentException { + ECPublicKey publicKey = key instanceof ECPublicKey ? (ECPublicKey) key : null; + ECPrivateKey privateKey = key instanceof ECPrivateKey ? (ECPrivateKey) key : null; + return ECDSA384(publicKey, privateKey); + } + + /** + * Creates a new Algorithm instance using SHA512withECDSA. Tokens specify this as "ES512". + * + * @param keyProvider the provider of the Public Key and Private Key for the verify and signing instance. + * @return a valid ECDSA512 Algorithm. + * @throws IllegalArgumentException if the Key Provider is null. + */ + public static Algorithm ECDSA512(ECDSAKeyProvider keyProvider) throws IllegalArgumentException { + return new ECDSAAlgorithm("ES512", "SHA512withECDSA", 66, keyProvider); + } + + /** + * Creates a new Algorithm instance using SHA512withECDSA. Tokens specify this as "ES512". + * + * @param publicKey the key to use in the verify instance. + * @param privateKey the key to use in the signing instance. + * @return a valid ECDSA512 Algorithm. + * @throws IllegalArgumentException if the provided Key is null. + */ + public static Algorithm ECDSA512(ECPublicKey publicKey, ECPrivateKey privateKey) throws IllegalArgumentException { + return ECDSA512(ECDSAAlgorithm.providerForKeys(publicKey, privateKey)); + } + + /** + * Creates a new Algorithm instance using SHA512withECDSA. Tokens specify this as "ES512". + * + * @param key the key to use in the verify or signing instance. + * @return a valid ECDSA512 Algorithm. + * @throws IllegalArgumentException if the provided Key is null. + */ + public static Algorithm ECDSA512(ECKey key) throws IllegalArgumentException { + ECPublicKey publicKey = key instanceof ECPublicKey ? (ECPublicKey) key : null; + ECPrivateKey privateKey = key instanceof ECPrivateKey ? (ECPrivateKey) key : null; + return ECDSA512(publicKey, privateKey); + } + + + public static Algorithm none() { + return new NoneAlgorithm(); + } + + protected Algorithm(String name, String description) { + this.name = name; + this.description = description; + } + + /** + * Getter for the Id of the Private Key used to sign the tokens. + * This is usually specified as the `kid` claim in the Header. + * + * @return the Key Id that identifies the Signing Key or null if it's not specified. + */ + public String getSigningKeyId() { + return null; + } + + /** + * Getter for the name of this Algorithm, as defined in the JWT Standard. i.e. "HS256" + * + * @return the algorithm name. + */ + public String getName() { + return name; + } + + /** + * Getter for the description of this Algorithm, + * required when instantiating a Mac or Signature object. i.e. "HmacSHA256" + * + * @return the algorithm description. + */ + String getDescription() { + return description; + } + + @Override + public String toString() { + return description; + } + + /** + * Verify the given token using this Algorithm instance. + * + * @param jwt the already decoded JWT that it's going to be verified. + * @throws SignatureVerificationException if the Token's Signature is invalid, + * meaning that it doesn't match the signatureBytes, + * or if the Key is invalid. + */ + public abstract void verify(DecodedJWT jwt) throws SignatureVerificationException; + + /** + * Sign the given content using this Algorithm instance. + * + * @param headerBytes an array of bytes representing the base64 encoded header content + * to be verified against the signature. + * @param payloadBytes an array of bytes representing the base64 encoded payload content + * to be verified against the signature. + * @return the signature in a base64 encoded array of bytes + * @throws SignatureGenerationException if the Key is invalid. + */ + public byte[] sign(byte[] headerBytes, byte[] payloadBytes) throws SignatureGenerationException { + // default implementation; keep around until sign(byte[]) method is removed + byte[] contentBytes = new byte[headerBytes.length + 1 + payloadBytes.length]; + + System.arraycopy(headerBytes, 0, contentBytes, 0, headerBytes.length); + contentBytes[headerBytes.length] = (byte) '.'; + System.arraycopy(payloadBytes, 0, contentBytes, headerBytes.length + 1, payloadBytes.length); + + return sign(contentBytes); + } + + /** + * Sign the given content using this Algorithm instance. + * To get the correct JWT Signature, ensure the content is in the format {HEADER}.{PAYLOAD} + * + * @param contentBytes an array of bytes representing the base64 encoded content + * to be verified against the signature. + * @return the signature in a base64 encoded array of bytes + * @throws SignatureGenerationException if the Key is invalid. + */ + + public abstract byte[] sign(byte[] contentBytes) throws SignatureGenerationException; + +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/CryptoHelper.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/CryptoHelper.java new file mode 100644 index 00000000000..7b8c5c2ac57 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/CryptoHelper.java @@ -0,0 +1,208 @@ +package com.auth0.jwt.algorithms; + +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; +import java.nio.charset.StandardCharsets; +import java.security.*; + +/** + * Class used to perform the signature hash calculations. + *

    + * This class is thread-safe. + */ +class CryptoHelper { + + private static final byte JWT_PART_SEPARATOR = (byte) 46; + + /** + * Verify signature for JWT header and payload. + * + * @param algorithm algorithm name. + * @param secretBytes algorithm secret. + * @param header JWT header. + * @param payload JWT payload. + * @param signatureBytes JWT signature. + * @return true if signature is valid. + * @throws NoSuchAlgorithmException if the algorithm is not supported. + * @throws InvalidKeyException if the given key is inappropriate for initializing the specified algorithm. + */ + + boolean verifySignatureFor( + String algorithm, + byte[] secretBytes, + String header, + String payload, + byte[] signatureBytes + ) throws NoSuchAlgorithmException, InvalidKeyException { + return verifySignatureFor(algorithm, secretBytes, + header.getBytes(StandardCharsets.UTF_8), payload.getBytes(StandardCharsets.UTF_8), signatureBytes); + } + + /** + * Verify signature for JWT header and payload. + * + * @param algorithm algorithm name. + * @param secretBytes algorithm secret. + * @param headerBytes JWT header. + * @param payloadBytes JWT payload. + * @param signatureBytes JWT signature. + * @return true if signature is valid. + * @throws NoSuchAlgorithmException if the algorithm is not supported. + * @throws InvalidKeyException if the given key is inappropriate for initializing the specified algorithm. + */ + + boolean verifySignatureFor( + String algorithm, + byte[] secretBytes, + byte[] headerBytes, + byte[] payloadBytes, + byte[] signatureBytes + ) throws NoSuchAlgorithmException, InvalidKeyException { + return MessageDigest.isEqual(createSignatureFor(algorithm, secretBytes, headerBytes, payloadBytes), + signatureBytes); + } + + /** + * Verify signature for JWT header and payload. + * + * @param algorithm algorithm name. + * @param publicKey algorithm public key. + * @param header JWT header. + * @param payload JWT payload. + * @param signatureBytes JWT signature. + * @return true if signature is valid. + * @throws NoSuchAlgorithmException if the algorithm is not supported. + * @throws InvalidKeyException if the given key is inappropriate for initializing the specified algorithm. + */ + boolean verifySignatureFor( + String algorithm, + PublicKey publicKey, + String header, + String payload, + byte[] signatureBytes + ) throws NoSuchAlgorithmException, InvalidKeyException, SignatureException { + return verifySignatureFor(algorithm, publicKey, header.getBytes(StandardCharsets.UTF_8), + payload.getBytes(StandardCharsets.UTF_8), signatureBytes); + } + + /** + * Verify signature for JWT header and payload using a public key. + * + * @param algorithm algorithm name. + * @param publicKey the public key to use for verification. + * @param headerBytes JWT header. + * @param payloadBytes JWT payload. + * @param signatureBytes JWT signature. + * @return true if signature is valid. + * @throws NoSuchAlgorithmException if the algorithm is not supported. + * @throws InvalidKeyException if the given key is inappropriate for initializing the specified algorithm. + */ + boolean verifySignatureFor( + String algorithm, + PublicKey publicKey, + byte[] headerBytes, + byte[] payloadBytes, + byte[] signatureBytes + ) throws NoSuchAlgorithmException, InvalidKeyException, SignatureException { + final Signature s = Signature.getInstance(algorithm); + s.initVerify(publicKey); + s.update(headerBytes); + s.update(JWT_PART_SEPARATOR); + s.update(payloadBytes); + return s.verify(signatureBytes); + } + + /** + * Create signature for JWT header and payload using a private key. + * + * @param algorithm algorithm name. + * @param privateKey the private key to use for signing. + * @param headerBytes JWT header. + * @param payloadBytes JWT payload. + * @return the signature bytes. + * @throws NoSuchAlgorithmException if the algorithm is not supported. + * @throws InvalidKeyException if the given key is inappropriate for initializing the specified algorithm. + * @throws SignatureException if this signature object is not initialized properly + * or if this signature algorithm is unable to process the input data provided. + */ + byte[] createSignatureFor( + String algorithm, + PrivateKey privateKey, + byte[] headerBytes, + byte[] payloadBytes + ) throws NoSuchAlgorithmException, InvalidKeyException, SignatureException { + final Signature s = Signature.getInstance(algorithm); + s.initSign(privateKey); + s.update(headerBytes); + s.update(JWT_PART_SEPARATOR); + s.update(payloadBytes); + return s.sign(); + } + + /** + * Create signature for JWT header and payload. + * + * @param algorithm algorithm name. + * @param secretBytes algorithm secret. + * @param headerBytes JWT header. + * @param payloadBytes JWT payload. + * @return the signature bytes. + * @throws NoSuchAlgorithmException if the algorithm is not supported. + * @throws InvalidKeyException if the given key is inappropriate for initializing the specified algorithm. + */ + byte[] createSignatureFor( + String algorithm, + byte[] secretBytes, + byte[] headerBytes, + byte[] payloadBytes + ) throws NoSuchAlgorithmException, InvalidKeyException { + final Mac mac = Mac.getInstance(algorithm); + mac.init(new SecretKeySpec(secretBytes, algorithm)); + mac.update(headerBytes); + mac.update(JWT_PART_SEPARATOR); + return mac.doFinal(payloadBytes); + } + + /** + * Create signature. + * To get the correct JWT Signature, ensure the content is in the format {HEADER}.{PAYLOAD} + * + * @param algorithm algorithm name. + * @param secretBytes algorithm secret. + * @param contentBytes the content to be signed. + * @return the signature bytes. + * @throws NoSuchAlgorithmException if the algorithm is not supported. + * @throws InvalidKeyException if the given key is inappropriate for initializing the specified algorithm. + */ + byte[] createSignatureFor(String algorithm, byte[] secretBytes, byte[] contentBytes) + throws NoSuchAlgorithmException, InvalidKeyException { + final Mac mac = Mac.getInstance(algorithm); + mac.init(new SecretKeySpec(secretBytes, algorithm)); + return mac.doFinal(contentBytes); + } + + /** + * Create signature using a private key. + * To get the correct JWT Signature, ensure the content is in the format {HEADER}.{PAYLOAD} + * + * @param algorithm algorithm name. + * @param privateKey the private key to use for signing. + * @param contentBytes the content to be signed. + * @return the signature bytes. + * @throws NoSuchAlgorithmException if the algorithm is not supported. + * @throws InvalidKeyException if the given key is inappropriate for initializing the specified algorithm. + * @throws SignatureException if this signature object is not initialized properly + * or if this signature algorithm is unable to process the input data provided. + */ + + byte[] createSignatureFor( + String algorithm, + PrivateKey privateKey, + byte[] contentBytes + ) throws NoSuchAlgorithmException, InvalidKeyException, SignatureException { + final Signature s = Signature.getInstance(algorithm); + s.initSign(privateKey); + s.update(contentBytes); + return s.sign(); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/ECDSAAlgorithm.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/ECDSAAlgorithm.java new file mode 100644 index 00000000000..b3046097409 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/ECDSAAlgorithm.java @@ -0,0 +1,306 @@ +package com.auth0.jwt.algorithms; + +import com.auth0.jwt.exceptions.SignatureGenerationException; +import com.auth0.jwt.exceptions.SignatureVerificationException; +import com.auth0.jwt.interfaces.DecodedJWT; +import com.auth0.jwt.interfaces.ECDSAKeyProvider; + +import java.math.BigInteger; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; +import java.security.SignatureException; +import java.security.interfaces.ECPrivateKey; +import java.security.interfaces.ECPublicKey; +import java.util.Base64; + +/** + * Subclass representing an Elliptic Curve signing algorithm + *

    + * This class is thread-safe. + */ +class ECDSAAlgorithm extends Algorithm { + + private final ECDSAKeyProvider keyProvider; + private final CryptoHelper crypto; + private final int ecNumberSize; + + //Visible for testing + ECDSAAlgorithm(CryptoHelper crypto, String id, String algorithm, int ecNumberSize, ECDSAKeyProvider keyProvider) + throws IllegalArgumentException { + super(id, algorithm); + if (keyProvider == null) { + throw new IllegalArgumentException("The Key Provider cannot be null."); + } + this.keyProvider = keyProvider; + this.crypto = crypto; + this.ecNumberSize = ecNumberSize; + } + + ECDSAAlgorithm(String id, String algorithm, int ecNumberSize, ECDSAKeyProvider keyProvider) + throws IllegalArgumentException { + this(new CryptoHelper(), id, algorithm, ecNumberSize, keyProvider); + } + + @Override + public void verify(DecodedJWT jwt) throws SignatureVerificationException { + try { + byte[] signatureBytes = Base64.getUrlDecoder().decode(jwt.getSignature()); + ECPublicKey publicKey = keyProvider.getPublicKeyById(jwt.getKeyId()); + if (publicKey == null) { + throw new IllegalStateException("The given Public Key is null."); + } + validateSignatureStructure(signatureBytes, publicKey); + boolean valid = crypto.verifySignatureFor( + getDescription(), publicKey, jwt.getHeader(), jwt.getPayload(), JOSEToDER(signatureBytes)); + + if (!valid) { + throw new SignatureVerificationException(this); + } + } catch (NoSuchAlgorithmException | SignatureException | InvalidKeyException + | IllegalStateException | IllegalArgumentException e) { + throw new SignatureVerificationException(this, e); + } + } + + @Override + public byte[] sign(byte[] headerBytes, byte[] payloadBytes) throws SignatureGenerationException { + try { + ECPrivateKey privateKey = keyProvider.getPrivateKey(); + if (privateKey == null) { + throw new IllegalStateException("The given Private Key is null."); + } + byte[] signature = crypto.createSignatureFor(getDescription(), privateKey, headerBytes, payloadBytes); + return DERToJOSE(signature); + } catch (NoSuchAlgorithmException | SignatureException | InvalidKeyException | IllegalStateException e) { + throw new SignatureGenerationException(this, e); + } + } + + @Override + public byte[] sign(byte[] contentBytes) throws SignatureGenerationException { + try { + ECPrivateKey privateKey = keyProvider.getPrivateKey(); + if (privateKey == null) { + throw new IllegalStateException("The given Private Key is null."); + } + byte[] signature = crypto.createSignatureFor(getDescription(), privateKey, contentBytes); + return DERToJOSE(signature); + } catch (NoSuchAlgorithmException | SignatureException | InvalidKeyException | IllegalStateException e) { + throw new SignatureGenerationException(this, e); + } + } + + @Override + public String getSigningKeyId() { + return keyProvider.getPrivateKeyId(); + } + + //Visible for testing + byte[] DERToJOSE(byte[] derSignature) throws SignatureException { + // DER Structure: http://crypto.stackexchange.com/a/1797 + boolean derEncoded = derSignature[0] == 0x30 && derSignature.length != ecNumberSize * 2; + if (!derEncoded) { + throw new SignatureException("Invalid DER signature format."); + } + + final byte[] joseSignature = new byte[ecNumberSize * 2]; + + //Skip 0x30 + int offset = 1; + if (derSignature[1] == (byte) 0x81) { + //Skip sign + offset++; + } + + //Convert to unsigned. Should match DER length - offset + int encodedLength = derSignature[offset++] & 0xff; + if (encodedLength != derSignature.length - offset) { + throw new SignatureException("Invalid DER signature format."); + } + + //Skip 0x02 + offset++; + + //Obtain R number length (Includes padding) and skip it + int rlength = derSignature[offset++]; + if (rlength > ecNumberSize + 1) { + throw new SignatureException("Invalid DER signature format."); + } + int rpadding = ecNumberSize - rlength; + //Retrieve R number + System.arraycopy(derSignature, offset + Math.max(-rpadding, 0), + joseSignature, Math.max(rpadding, 0), rlength + Math.min(rpadding, 0)); + + //Skip R number and 0x02 + offset += rlength + 1; + + //Obtain S number length. (Includes padding) + int slength = derSignature[offset++]; + if (slength > ecNumberSize + 1) { + throw new SignatureException("Invalid DER signature format."); + } + int spadding = ecNumberSize - slength; + //Retrieve R number + System.arraycopy(derSignature, offset + Math.max(-spadding, 0), joseSignature, + ecNumberSize + Math.max(spadding, 0), slength + Math.min(spadding, 0)); + + return joseSignature; + } + + /** + * Added check for extra protection against CVE-2022-21449. + * This method ensures the signature's structure is as expected. + * + * @param joseSignature is the signature from the JWT + * @param publicKey public key used to verify the JWT + * @throws SignatureException if the signature's structure is not as per expectation + */ + // Visible for testing + void validateSignatureStructure(byte[] joseSignature, ECPublicKey publicKey) throws SignatureException { + // check signature length, moved this check from JOSEToDER method + if (joseSignature.length != ecNumberSize * 2) { + throw new SignatureException("Invalid JOSE signature format."); + } + + if (isAllZeros(joseSignature)) { + throw new SignatureException("Invalid signature format."); + } + + // get R + byte[] rBytes = new byte[ecNumberSize]; + System.arraycopy(joseSignature, 0, rBytes, 0, ecNumberSize); + if (isAllZeros(rBytes)) { + throw new SignatureException("Invalid signature format."); + } + + // get S + byte[] sBytes = new byte[ecNumberSize]; + System.arraycopy(joseSignature, ecNumberSize, sBytes, 0, ecNumberSize); + if (isAllZeros(sBytes)) { + throw new SignatureException("Invalid signature format."); + } + + //moved this check from JOSEToDER method + int rPadding = countPadding(joseSignature, 0, ecNumberSize); + int sPadding = countPadding(joseSignature, ecNumberSize, joseSignature.length); + int rLength = ecNumberSize - rPadding; + int sLength = ecNumberSize - sPadding; + + int length = 2 + rLength + 2 + sLength; + if (length > 255) { + throw new SignatureException("Invalid JOSE signature format."); + } + + BigInteger order = publicKey.getParams().getOrder(); + BigInteger r = new BigInteger(1, rBytes); + BigInteger s = new BigInteger(1, sBytes); + + // R and S must be less than N + if (order.compareTo(r) < 1) { + throw new SignatureException("Invalid signature format."); + } + + if (order.compareTo(s) < 1) { + throw new SignatureException("Invalid signature format."); + } + } + + //Visible for testing + byte[] JOSEToDER(byte[] joseSignature) throws SignatureException { + // Retrieve R and S number's length and padding. + int rPadding = countPadding(joseSignature, 0, ecNumberSize); + int sPadding = countPadding(joseSignature, ecNumberSize, joseSignature.length); + int rLength = ecNumberSize - rPadding; + int sLength = ecNumberSize - sPadding; + + int length = 2 + rLength + 2 + sLength; + + final byte[] derSignature; + int offset; + if (length > 0x7f) { + derSignature = new byte[3 + length]; + derSignature[1] = (byte) 0x81; + offset = 2; + } else { + derSignature = new byte[2 + length]; + offset = 1; + } + + // DER Structure: http://crypto.stackexchange.com/a/1797 + // Header with signature length info + derSignature[0] = (byte) 0x30; + derSignature[offset++] = (byte) (length & 0xff); + + // Header with "min R" number length + derSignature[offset++] = (byte) 0x02; + derSignature[offset++] = (byte) rLength; + + // R number + if (rPadding < 0) { + //Sign + derSignature[offset++] = (byte) 0x00; + System.arraycopy(joseSignature, 0, derSignature, offset, ecNumberSize); + offset += ecNumberSize; + } else { + int copyLength = Math.min(ecNumberSize, rLength); + System.arraycopy(joseSignature, rPadding, derSignature, offset, copyLength); + offset += copyLength; + } + + // Header with "min S" number length + derSignature[offset++] = (byte) 0x02; + derSignature[offset++] = (byte) sLength; + + // S number + if (sPadding < 0) { + //Sign + derSignature[offset++] = (byte) 0x00; + System.arraycopy(joseSignature, ecNumberSize, derSignature, offset, ecNumberSize); + } else { + System.arraycopy(joseSignature, ecNumberSize + sPadding, derSignature, offset, + Math.min(ecNumberSize, sLength)); + } + + return derSignature; + } + + private boolean isAllZeros(byte[] bytes) { + for (byte b : bytes) { + if (b != 0) { + return false; + } + } + return true; + } + + private int countPadding(byte[] bytes, int fromIndex, int toIndex) { + int padding = 0; + while (fromIndex + padding < toIndex && bytes[fromIndex + padding] == 0) { + padding++; + } + return (bytes[fromIndex + padding] & 0xff) > 0x7f ? padding - 1 : padding; + } + + //Visible for testing + static ECDSAKeyProvider providerForKeys(final ECPublicKey publicKey, final ECPrivateKey privateKey) { + if (publicKey == null && privateKey == null) { + throw new IllegalArgumentException("Both provided Keys cannot be null."); + } + return new ECDSAKeyProvider() { + @Override + public ECPublicKey getPublicKeyById(String keyId) { + return publicKey; + } + + @Override + public ECPrivateKey getPrivateKey() { + return privateKey; + } + + @Override + public String getPrivateKeyId() { + return null; + } + }; + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/HMACAlgorithm.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/HMACAlgorithm.java new file mode 100644 index 00000000000..0306e7c420d --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/HMACAlgorithm.java @@ -0,0 +1,81 @@ +package com.auth0.jwt.algorithms; + +import com.auth0.jwt.exceptions.SignatureGenerationException; +import com.auth0.jwt.exceptions.SignatureVerificationException; +import com.auth0.jwt.interfaces.DecodedJWT; + +import java.nio.charset.StandardCharsets; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; +import java.util.Arrays; +import java.util.Base64; + +/** + * Subclass representing an Hash-based MAC signing algorithm + *

    + * This class is thread-safe. + */ +class HMACAlgorithm extends Algorithm { + + private final CryptoHelper crypto; + private final byte[] secret; + + //Visible for testing + HMACAlgorithm(CryptoHelper crypto, String id, String algorithm, byte[] secretBytes) + throws IllegalArgumentException { + super(id, algorithm); + if (secretBytes == null) { + throw new IllegalArgumentException("The Secret cannot be null"); + } + this.secret = Arrays.copyOf(secretBytes, secretBytes.length); + this.crypto = crypto; + } + + HMACAlgorithm(String id, String algorithm, byte[] secretBytes) throws IllegalArgumentException { + this(new CryptoHelper(), id, algorithm, secretBytes); + } + + HMACAlgorithm(String id, String algorithm, String secret) throws IllegalArgumentException { + this(new CryptoHelper(), id, algorithm, getSecretBytes(secret)); + } + + //Visible for testing + static byte[] getSecretBytes(String secret) throws IllegalArgumentException { + if (secret == null) { + throw new IllegalArgumentException("The Secret cannot be null"); + } + return secret.getBytes(StandardCharsets.UTF_8); + } + + @Override + public void verify(DecodedJWT jwt) throws SignatureVerificationException { + try { + byte[] signatureBytes = Base64.getUrlDecoder().decode(jwt.getSignature()); + boolean valid = crypto.verifySignatureFor( + getDescription(), secret, jwt.getHeader(), jwt.getPayload(), signatureBytes); + if (!valid) { + throw new SignatureVerificationException(this); + } + } catch (IllegalStateException | InvalidKeyException | NoSuchAlgorithmException | IllegalArgumentException e) { + throw new SignatureVerificationException(this, e); + } + } + + @Override + public byte[] sign(byte[] headerBytes, byte[] payloadBytes) throws SignatureGenerationException { + try { + return crypto.createSignatureFor(getDescription(), secret, headerBytes, payloadBytes); + } catch (NoSuchAlgorithmException | InvalidKeyException e) { + throw new SignatureGenerationException(this, e); + } + } + + @Override + public byte[] sign(byte[] contentBytes) throws SignatureGenerationException { + try { + return crypto.createSignatureFor(getDescription(), secret, contentBytes); + } catch (NoSuchAlgorithmException | InvalidKeyException e) { + throw new SignatureGenerationException(this, e); + } + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/NoneAlgorithm.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/NoneAlgorithm.java new file mode 100644 index 00000000000..5c6c0fc5ef0 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/NoneAlgorithm.java @@ -0,0 +1,36 @@ +package com.auth0.jwt.algorithms; + +import com.auth0.jwt.exceptions.SignatureGenerationException; +import com.auth0.jwt.exceptions.SignatureVerificationException; +import com.auth0.jwt.interfaces.DecodedJWT; +import java.util.Base64; + +class NoneAlgorithm extends Algorithm { + + NoneAlgorithm() { + super("none", "none"); + } + + @Override + public void verify(DecodedJWT jwt) throws SignatureVerificationException { + try { + byte[] signatureBytes = Base64.getUrlDecoder().decode(jwt.getSignature()); + + if (signatureBytes.length > 0) { + throw new SignatureVerificationException(this); + } + } catch (IllegalArgumentException e) { + throw new SignatureVerificationException(this, e); + } + } + + @Override + public byte[] sign(byte[] headerBytes, byte[] payloadBytes) throws SignatureGenerationException { + return new byte[0]; + } + + @Override + public byte[] sign(byte[] contentBytes) throws SignatureGenerationException { + return new byte[0]; + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/RSAAlgorithm.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/RSAAlgorithm.java new file mode 100644 index 00000000000..ca892e60ad4 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/RSAAlgorithm.java @@ -0,0 +1,112 @@ +package com.auth0.jwt.algorithms; + +import com.auth0.jwt.exceptions.SignatureGenerationException; +import com.auth0.jwt.exceptions.SignatureVerificationException; +import com.auth0.jwt.interfaces.DecodedJWT; +import com.auth0.jwt.interfaces.RSAKeyProvider; + +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; +import java.security.SignatureException; +import java.security.interfaces.RSAPrivateKey; +import java.security.interfaces.RSAPublicKey; +import java.util.Base64; + +/** + * Subclass representing an RSA signing algorithm + *

    + * This class is thread-safe. + */ +class RSAAlgorithm extends Algorithm { + + private final RSAKeyProvider keyProvider; + private final CryptoHelper crypto; + + //Visible for testing + RSAAlgorithm(CryptoHelper crypto, String id, String algorithm, RSAKeyProvider keyProvider) + throws IllegalArgumentException { + super(id, algorithm); + if (keyProvider == null) { + throw new IllegalArgumentException("The Key Provider cannot be null."); + } + this.keyProvider = keyProvider; + this.crypto = crypto; + } + + RSAAlgorithm(String id, String algorithm, RSAKeyProvider keyProvider) throws IllegalArgumentException { + this(new CryptoHelper(), id, algorithm, keyProvider); + } + + @Override + public void verify(DecodedJWT jwt) throws SignatureVerificationException { + try { + byte[] signatureBytes = Base64.getUrlDecoder().decode(jwt.getSignature()); + RSAPublicKey publicKey = keyProvider.getPublicKeyById(jwt.getKeyId()); + if (publicKey == null) { + throw new IllegalStateException("The given Public Key is null."); + } + boolean valid = crypto.verifySignatureFor( + getDescription(), publicKey, jwt.getHeader(), jwt.getPayload(), signatureBytes); + if (!valid) { + throw new SignatureVerificationException(this); + } + } catch (NoSuchAlgorithmException | SignatureException | InvalidKeyException + | IllegalArgumentException | IllegalStateException e) { + throw new SignatureVerificationException(this, e); + } + } + + @Override + public byte[] sign(byte[] headerBytes, byte[] payloadBytes) throws SignatureGenerationException { + try { + RSAPrivateKey privateKey = keyProvider.getPrivateKey(); + if (privateKey == null) { + throw new IllegalStateException("The given Private Key is null."); + } + return crypto.createSignatureFor(getDescription(), privateKey, headerBytes, payloadBytes); + } catch (NoSuchAlgorithmException | SignatureException | InvalidKeyException | IllegalStateException e) { + throw new SignatureGenerationException(this, e); + } + } + + @Override + public byte[] sign(byte[] contentBytes) throws SignatureGenerationException { + try { + RSAPrivateKey privateKey = keyProvider.getPrivateKey(); + if (privateKey == null) { + throw new IllegalStateException("The given Private Key is null."); + } + return crypto.createSignatureFor(getDescription(), privateKey, contentBytes); + } catch (NoSuchAlgorithmException | SignatureException | InvalidKeyException | IllegalStateException e) { + throw new SignatureGenerationException(this, e); + } + } + + @Override + public String getSigningKeyId() { + return keyProvider.getPrivateKeyId(); + } + + //Visible for testing + static RSAKeyProvider providerForKeys(final RSAPublicKey publicKey, final RSAPrivateKey privateKey) { + if (publicKey == null && privateKey == null) { + throw new IllegalArgumentException("Both provided Keys cannot be null."); + } + return new RSAKeyProvider() { + @Override + public RSAPublicKey getPublicKeyById(String keyId) { + return publicKey; + } + + @Override + public RSAPrivateKey getPrivateKey() { + return privateKey; + } + + @Override + public String getPrivateKeyId() { + return null; + } + }; + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/AlgorithmMismatchException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/AlgorithmMismatchException.java new file mode 100644 index 00000000000..d6b71205837 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/AlgorithmMismatchException.java @@ -0,0 +1,10 @@ +package com.auth0.jwt.exceptions; + +/** + * The exception that will be thrown if the exception doesn't match the one mentioned in the JWT Header. + */ +public class AlgorithmMismatchException extends JWTVerificationException { + public AlgorithmMismatchException(String message) { + super(message); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/IncorrectClaimException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/IncorrectClaimException.java new file mode 100644 index 00000000000..712e937bd61 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/IncorrectClaimException.java @@ -0,0 +1,44 @@ +package com.auth0.jwt.exceptions; + +import com.auth0.jwt.interfaces.Claim; + +/** + * This exception is thrown when the expected value is not found while verifying the Claims. + */ +public class IncorrectClaimException extends InvalidClaimException { + private final String claimName; + + private final Claim claimValue; + + /** + * Used internally to construct the IncorrectClaimException which is thrown when there is verification + * failure for a Claim that exists. + * + * @param message The error message + * @param claimName The Claim name for which verification failed + * @param claim The Claim value for which verification failed + */ + public IncorrectClaimException(String message, String claimName, Claim claim) { + super(message); + this.claimName = claimName; + this.claimValue = claim; + } + + /** + * This method can be used to fetch the name for which the Claim verification failed. + * + * @return The claim name for which the verification failed. + */ + public String getClaimName() { + return claimName; + } + + /** + * This method can be used to fetch the value for which the Claim verification failed. + * + * @return The value for which the verification failed + */ + public Claim getClaimValue() { + return claimValue; + } +} \ No newline at end of file diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/InvalidClaimException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/InvalidClaimException.java new file mode 100644 index 00000000000..c5b8eb64a58 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/InvalidClaimException.java @@ -0,0 +1,10 @@ +package com.auth0.jwt.exceptions; + +/** + * The exception that will be thrown while verifying Claims of a JWT. + */ +public class InvalidClaimException extends JWTVerificationException { + public InvalidClaimException(String message) { + super(message); + } +} \ No newline at end of file diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTCreationException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTCreationException.java new file mode 100644 index 00000000000..c7e162ea982 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTCreationException.java @@ -0,0 +1,10 @@ +package com.auth0.jwt.exceptions; + +/** + * The exception that is thrown when a JWT cannot be created. + */ +public class JWTCreationException extends RuntimeException { + public JWTCreationException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTDecodeException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTDecodeException.java new file mode 100644 index 00000000000..448714e9b1e --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTDecodeException.java @@ -0,0 +1,14 @@ +package com.auth0.jwt.exceptions; + +/** + * The exception that is thrown when any part of the token contained an invalid JWT or JSON format. + */ +public class JWTDecodeException extends JWTVerificationException { + public JWTDecodeException(String message) { + this(message, null); + } + + public JWTDecodeException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTVerificationException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTVerificationException.java new file mode 100644 index 00000000000..dd36dcd331c --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTVerificationException.java @@ -0,0 +1,14 @@ +package com.auth0.jwt.exceptions; + +/** + * Parent to all the exception thrown while verifying a JWT. + */ +public class JWTVerificationException extends RuntimeException { + public JWTVerificationException(String message) { + this(message, null); + } + + public JWTVerificationException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/MissingClaimException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/MissingClaimException.java new file mode 100644 index 00000000000..3bcc21216ea --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/MissingClaimException.java @@ -0,0 +1,23 @@ +package com.auth0.jwt.exceptions; + +/** + * This exception is thrown when the claim to be verified is missing. + */ +public class MissingClaimException extends InvalidClaimException { + + private final String claimName; + + public MissingClaimException(String claimName) { + super(String.format("The Claim '%s' is not present in the JWT.", claimName)); + this.claimName = claimName; + } + + /** + * This method can be used to fetch the name for which the Claim is missing during the verification. + * + * @return The name of the Claim that doesn't exist. + */ + public String getClaimName() { + return claimName; + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/SignatureGenerationException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/SignatureGenerationException.java new file mode 100644 index 00000000000..4b7668a0922 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/SignatureGenerationException.java @@ -0,0 +1,12 @@ +package com.auth0.jwt.exceptions; + +import com.auth0.jwt.algorithms.Algorithm; + +/** + * The exception that is thrown when signature is not able to be generated. + */ +public class SignatureGenerationException extends JWTCreationException { + public SignatureGenerationException(Algorithm algorithm, Throwable cause) { + super("The Token's Signature couldn't be generated when signing using the Algorithm: " + algorithm, cause); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/SignatureVerificationException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/SignatureVerificationException.java new file mode 100644 index 00000000000..fa7c3cabfce --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/SignatureVerificationException.java @@ -0,0 +1,16 @@ +package com.auth0.jwt.exceptions; + +import com.auth0.jwt.algorithms.Algorithm; + +/** + * The exception that is thrown if the Signature verification fails. + */ +public class SignatureVerificationException extends JWTVerificationException { + public SignatureVerificationException(Algorithm algorithm) { + this(algorithm, null); + } + + public SignatureVerificationException(Algorithm algorithm, Throwable cause) { + super("The Token's Signature resulted invalid when verified using the Algorithm: " + algorithm, cause); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/TokenExpiredException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/TokenExpiredException.java new file mode 100644 index 00000000000..42ab090d4c0 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/TokenExpiredException.java @@ -0,0 +1,22 @@ +package com.auth0.jwt.exceptions; + +import java.time.Instant; + +/** + * The exception that is thrown if the token is expired. + */ +public class TokenExpiredException extends JWTVerificationException { + + private static final long serialVersionUID = -7076928975713577708L; + + private final Instant expiredOn; + + public TokenExpiredException(String message, Instant expiredOn) { + super(message); + this.expiredOn = expiredOn; + } + + public Instant getExpiredOn() { + return expiredOn; + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/BasicHeader.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/BasicHeader.java new file mode 100644 index 00000000000..5a881ab523d --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/BasicHeader.java @@ -0,0 +1,71 @@ +package com.auth0.jwt.impl; + +import com.auth0.jwt.interfaces.Claim; +import com.auth0.jwt.interfaces.Header; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.JsonNode; + +import java.io.Serializable; +import java.util.Collections; +import java.util.Map; + +import static com.auth0.jwt.impl.JsonNodeClaim.extractClaim; + +/** + * The BasicHeader class implements the Header interface. + */ +class BasicHeader implements Header, Serializable { + private static final long serialVersionUID = -4659137688548605095L; + + private final String algorithm; + private final String type; + private final String contentType; + private final String keyId; + private final Map tree; + private final ObjectCodec objectCodec; + + BasicHeader( + String algorithm, + String type, + String contentType, + String keyId, + Map tree, + ObjectCodec objectCodec + ) { + this.algorithm = algorithm; + this.type = type; + this.contentType = contentType; + this.keyId = keyId; + this.tree = tree == null ? Collections.emptyMap() : Collections.unmodifiableMap(tree); + this.objectCodec = objectCodec; + } + + Map getTree() { + return tree; + } + + @Override + public String getAlgorithm() { + return algorithm; + } + + @Override + public String getType() { + return type; + } + + @Override + public String getContentType() { + return contentType; + } + + @Override + public String getKeyId() { + return keyId; + } + + @Override + public Claim getHeaderClaim(String name) { + return extractClaim(name, tree, objectCodec); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ClaimsHolder.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ClaimsHolder.java new file mode 100644 index 00000000000..30f6ab18665 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ClaimsHolder.java @@ -0,0 +1,19 @@ +package com.auth0.jwt.impl; + +import java.util.HashMap; +import java.util.Map; + +/** + * The ClaimsHolder class is just a wrapper for the Map of Claims used for building a JWT. + */ +public abstract class ClaimsHolder { + private Map claims; + + protected ClaimsHolder(Map claims) { + this.claims = claims == null ? new HashMap<>() : claims; + } + + Map getClaims() { + return claims; + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ClaimsSerializer.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ClaimsSerializer.java new file mode 100644 index 00000000000..b1f8e6d3a21 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ClaimsSerializer.java @@ -0,0 +1,86 @@ +package com.auth0.jwt.impl; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; + +import java.io.IOException; +import java.time.Instant; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * Custom serializer used to write the resulting JWT. + * + * @param the type this serializer operates on. + */ +public class ClaimsSerializer extends StdSerializer { + + public ClaimsSerializer(Class t) { + super(t); + } + + @Override + public void serialize(T holder, JsonGenerator gen, SerializerProvider provider) throws IOException { + gen.writeStartObject(); + for (Map.Entry entry : holder.getClaims().entrySet()) { + writeClaim(entry, gen); + } + gen.writeEndObject(); + } + + /** + * Writes the given entry to the JSON representation. Custom claim serialization handling can override this method + * to provide use-case specific serialization. Implementors who override this method must write + * the field name and the field value. + * + * @param entry The entry that corresponds to the JSON field to write + * @param gen The {@code JsonGenerator} to use + * @throws IOException if there is either an underlying I/O problem or encoding issue at format layer + */ + protected void writeClaim(Map.Entry entry, JsonGenerator gen) throws IOException { + gen.writeFieldName(entry.getKey()); + handleSerialization(entry.getValue(), gen); + } + + private static void handleSerialization(Object value, JsonGenerator gen) throws IOException { + if (value instanceof Date) { + gen.writeNumber(dateToSeconds((Date) value)); + } else if (value instanceof Instant) { // EXPIRES_AT, ISSUED_AT, NOT_BEFORE, custom Instant claims + gen.writeNumber(instantToSeconds((Instant) value)); + } else if (value instanceof Map) { + serializeMap((Map) value, gen); + } else if (value instanceof List) { + serializeList((List) value, gen); + } else { + gen.writeObject(value); + } + } + + private static void serializeMap(Map map, JsonGenerator gen) throws IOException { + gen.writeStartObject(); + for (Map.Entry entry : map.entrySet()) { + gen.writeFieldName((String) entry.getKey()); + Object value = entry.getValue(); + handleSerialization(value, gen); + } + gen.writeEndObject(); + } + + private static void serializeList(List list, JsonGenerator gen) throws IOException { + gen.writeStartArray(); + for (Object entry : list) { + handleSerialization(entry, gen); + } + gen.writeEndArray(); + } + + private static long instantToSeconds(Instant instant) { + return instant.getEpochSecond(); + } + + private static long dateToSeconds(Date date) { + return date.getTime() / 1000; + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ExpectedCheckHolder.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ExpectedCheckHolder.java new file mode 100644 index 00000000000..6737031c32b --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ExpectedCheckHolder.java @@ -0,0 +1,25 @@ +package com.auth0.jwt.impl; + +import com.auth0.jwt.interfaces.Claim; +import com.auth0.jwt.interfaces.DecodedJWT; + +/** + * This holds the checks that are run to verify a JWT. + */ +public interface ExpectedCheckHolder { + /** + * The claim name that will be checked. + * + * @return the claim name + */ + String getClaimName(); + + /** + * The verification that will be run. + * + * @param claim the claim for which verification is done + * @param decodedJWT the JWT on which verification is done + * @return whether the verification passed or not + */ + boolean verify(Claim claim, DecodedJWT decodedJWT); +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderClaimsHolder.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderClaimsHolder.java new file mode 100644 index 00000000000..9b480116d0c --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderClaimsHolder.java @@ -0,0 +1,12 @@ +package com.auth0.jwt.impl; + +import java.util.Map; + +/** + * Holds the header claims when serializing a JWT. + */ +public final class HeaderClaimsHolder extends ClaimsHolder { + public HeaderClaimsHolder(Map claims) { + super(claims); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderDeserializer.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderDeserializer.java new file mode 100644 index 00000000000..ad6e4ce00d2 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderDeserializer.java @@ -0,0 +1,50 @@ +package com.auth0.jwt.impl; + +import com.auth0.jwt.HeaderParams; +import com.auth0.jwt.exceptions.JWTDecodeException; +import com.auth0.jwt.interfaces.Header; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; + +import java.io.IOException; +import java.util.Map; + +/** + * Jackson deserializer implementation for converting from JWT Header parts. + *

    + * This class is thread-safe. + * + * @see JWTParser + */ +class HeaderDeserializer extends StdDeserializer

    { + + HeaderDeserializer() { + super(Header.class); + } + + @Override + public Header deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Map tree = p.getCodec().readValue(p, new TypeReference>() { + }); + if (tree == null) { + throw new JWTDecodeException("Parsing the Header's JSON resulted on a Null map"); + } + + String algorithm = getString(tree, HeaderParams.ALGORITHM); + String type = getString(tree, HeaderParams.TYPE); + String contentType = getString(tree, HeaderParams.CONTENT_TYPE); + String keyId = getString(tree, HeaderParams.KEY_ID); + return new BasicHeader(algorithm, type, contentType, keyId, tree, p.getCodec()); + } + + String getString(Map tree, String claimName) { + JsonNode node = tree.get(claimName); + if (node == null || node.isNull()) { + return null; + } + return node.asText(null); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderSerializer.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderSerializer.java new file mode 100644 index 00000000000..5c7cf0fc977 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderSerializer.java @@ -0,0 +1,10 @@ +package com.auth0.jwt.impl; + +/** + * Responsible for serializing a JWT's header representation to JSON. + */ +public class HeaderSerializer extends ClaimsSerializer { + public HeaderSerializer() { + super(HeaderClaimsHolder.class); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/JWTParser.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/JWTParser.java new file mode 100644 index 00000000000..022520f5537 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/JWTParser.java @@ -0,0 +1,92 @@ +package com.auth0.jwt.impl; + +import com.auth0.jwt.exceptions.JWTDecodeException; +import com.auth0.jwt.interfaces.Header; +import com.auth0.jwt.interfaces.JWTPartsParser; +import com.auth0.jwt.interfaces.Payload; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectReader; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.databind.module.SimpleModule; +import java.io.IOException; + +/** + * This class helps in decoding the Header and Payload of the JWT using + * {@link HeaderSerializer} and {@link PayloadSerializer}. + */ +public class JWTParser implements JWTPartsParser { + private static final ObjectMapper DEFAULT_OBJECT_MAPPER = createDefaultObjectMapper(); + private static final ObjectReader DEFAULT_PAYLOAD_READER = DEFAULT_OBJECT_MAPPER.readerFor(Payload.class); + private static final ObjectReader DEFAULT_HEADER_READER = DEFAULT_OBJECT_MAPPER.readerFor(Header.class); + + private final ObjectReader payloadReader; + private final ObjectReader headerReader; + + public JWTParser() { + this.payloadReader = DEFAULT_PAYLOAD_READER; + this.headerReader = DEFAULT_HEADER_READER; + } + + JWTParser(ObjectMapper mapper) { + addDeserializers(mapper); + + this.payloadReader = mapper.readerFor(Payload.class); + this.headerReader = mapper.readerFor(Header.class); + } + + @Override + public Payload parsePayload(String json) throws JWTDecodeException { + if (json == null) { + throw decodeException(); + } + + try { + return payloadReader.readValue(json); + } catch (IOException e) { + throw decodeException(json); + } + } + + @Override + public Header parseHeader(String json) throws JWTDecodeException { + if (json == null) { + throw decodeException(); + } + + try { + return headerReader.readValue(json); + } catch (IOException e) { + throw decodeException(json); + } + } + + static void addDeserializers(ObjectMapper mapper) { + SimpleModule module = new SimpleModule(); + module.addDeserializer(Payload.class, new PayloadDeserializer()); + module.addDeserializer(Header.class, new HeaderDeserializer()); + mapper.registerModule(module); + } + + static ObjectMapper getDefaultObjectMapper() { + return DEFAULT_OBJECT_MAPPER; + } + + private static ObjectMapper createDefaultObjectMapper() { + ObjectMapper mapper = new ObjectMapper(); + mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS); + mapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY); + + addDeserializers(mapper); + + return mapper; + } + + private static JWTDecodeException decodeException() { + return decodeException(null); + } + + private static JWTDecodeException decodeException(String json) { + return new JWTDecodeException(String.format("The string '%s' doesn't have a valid JSON format.", json)); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/JsonNodeClaim.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/JsonNodeClaim.java new file mode 100644 index 00000000000..0a7e22f3574 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/JsonNodeClaim.java @@ -0,0 +1,182 @@ +package com.auth0.jwt.impl; + +import com.auth0.jwt.exceptions.JWTDecodeException; +import com.auth0.jwt.interfaces.Claim; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.JsonNode; + +import java.io.IOException; +import java.lang.reflect.Array; +import java.time.Instant; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * The JsonNodeClaim retrieves a claim value from a JsonNode object. + */ +class JsonNodeClaim implements Claim { + + private final ObjectCodec codec; + private final JsonNode data; + + private JsonNodeClaim(JsonNode node, ObjectCodec codec) { + this.data = node; + this.codec = codec; + } + + @Override + public Boolean asBoolean() { + return isMissing() || isNull() || !data.isBoolean() ? null : data.asBoolean(); + } + + @Override + public Integer asInt() { + return isMissing() || isNull() || !data.isNumber() ? null : data.asInt(); + } + + @Override + public Long asLong() { + return isMissing() || isNull() || !data.isNumber() ? null : data.asLong(); + } + + @Override + public Double asDouble() { + return isMissing() || isNull() || !data.isNumber() ? null : data.asDouble(); + } + + @Override + public String asString() { + return isMissing() || isNull() || !data.isTextual() ? null : data.asText(); + } + + @Override + public Date asDate() { + if (isMissing() || isNull() || !data.canConvertToLong()) { + return null; + } + long seconds = data.asLong(); + return new Date(seconds * 1000); + } + + @Override + public Instant asInstant() { + if (isMissing() || isNull() || !data.canConvertToLong()) { + return null; + } + long seconds = data.asLong(); + return Instant.ofEpochSecond(seconds); + } + + @Override + @SuppressWarnings("unchecked") + public T[] asArray(Class clazz) throws JWTDecodeException { + if (isMissing() || isNull() || !data.isArray()) { + return null; + } + + T[] arr = (T[]) Array.newInstance(clazz, data.size()); + for (int i = 0; i < data.size(); i++) { + try { + arr[i] = codec.treeToValue(data.get(i), clazz); + } catch (JsonProcessingException e) { + throw new JWTDecodeException("Couldn't map the Claim's array contents to " + clazz.getSimpleName(), e); + } + } + return arr; + } + + @Override + public List asList(Class clazz) throws JWTDecodeException { + if (isMissing() || isNull() || !data.isArray()) { + return null; + } + + List list = new ArrayList<>(); + for (int i = 0; i < data.size(); i++) { + try { + list.add(codec.treeToValue(data.get(i), clazz)); + } catch (JsonProcessingException e) { + throw new JWTDecodeException("Couldn't map the Claim's array contents to " + clazz.getSimpleName(), e); + } + } + return list; + } + + @Override + public Map asMap() throws JWTDecodeException { + if (isMissing() || isNull() || !data.isObject()) { + return null; + } + + TypeReference> mapType = new TypeReference>() { + }; + + try (JsonParser parser = codec.treeAsTokens(data)) { + return parser.readValueAs(mapType); + } catch (IOException e) { + throw new JWTDecodeException("Couldn't map the Claim value to Map", e); + } + } + + @Override + public T as(Class clazz) throws JWTDecodeException { + try { + if (isMissing() || isNull()) { + return null; + } + return codec.treeToValue(data, clazz); + } catch (JsonProcessingException e) { + throw new JWTDecodeException("Couldn't map the Claim value to " + clazz.getSimpleName(), e); + } + } + + @Override + public boolean isNull() { + return !isMissing() && data.isNull(); + } + + @Override + public boolean isMissing() { + return data == null || data.isMissingNode(); + } + + @Override + public String toString() { + if (isMissing()) { + return "Missing claim"; + } else if (isNull()) { + return "Null claim"; + } + return data.toString(); + } + + /** + * Helper method to extract a Claim from the given JsonNode tree. + * + * @param claimName the Claim to search for. + * @param tree the JsonNode tree to search the Claim in. + * @param objectCodec the object codec in use for deserialization + * @return a valid non-null Claim. + */ + static Claim extractClaim(String claimName, Map tree, ObjectCodec objectCodec) { + JsonNode node = tree.get(claimName); + return claimFromNode(node, objectCodec); + } + + /** + * Helper method to create a Claim representation from the given JsonNode. + * + * @param node the JsonNode to convert into a Claim. + * @param objectCodec the object codec in use for deserialization + * @return a valid Claim instance. If the node is null or missing, a NullClaim will be returned. + */ + static Claim claimFromNode(JsonNode node, ObjectCodec objectCodec) { + return new JsonNodeClaim(node, objectCodec); + } + +} \ No newline at end of file diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadClaimsHolder.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadClaimsHolder.java new file mode 100644 index 00000000000..7055a2ce73e --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadClaimsHolder.java @@ -0,0 +1,12 @@ +package com.auth0.jwt.impl; + +import java.util.Map; + +/** + * Holds the payload claims when serializing a JWT. + */ +public final class PayloadClaimsHolder extends ClaimsHolder { + public PayloadClaimsHolder(Map claims) { + super(claims); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadDeserializer.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadDeserializer.java new file mode 100644 index 00000000000..65fba3ac4fe --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadDeserializer.java @@ -0,0 +1,91 @@ +package com.auth0.jwt.impl; + +import com.auth0.jwt.RegisteredClaims; +import com.auth0.jwt.exceptions.JWTDecodeException; +import com.auth0.jwt.interfaces.Payload; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectReader; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; + +import java.io.IOException; +import java.time.Instant; +import java.util.*; + +/** + * Jackson deserializer implementation for converting from JWT Payload parts. + *

    + * This class is thread-safe. + * + * @see JWTParser + */ +class PayloadDeserializer extends StdDeserializer { + + PayloadDeserializer() { + super(Payload.class); + } + + @Override + public Payload deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Map tree = p.getCodec().readValue(p, new TypeReference>() { + }); + if (tree == null) { + throw new JWTDecodeException("Parsing the Payload's JSON resulted on a Null map"); + } + + String issuer = getString(tree, RegisteredClaims.ISSUER); + String subject = getString(tree, RegisteredClaims.SUBJECT); + List audience = getStringOrArray(p.getCodec(), tree, RegisteredClaims.AUDIENCE); + Instant expiresAt = getInstantFromSeconds(tree, RegisteredClaims.EXPIRES_AT); + Instant notBefore = getInstantFromSeconds(tree, RegisteredClaims.NOT_BEFORE); + Instant issuedAt = getInstantFromSeconds(tree, RegisteredClaims.ISSUED_AT); + String jwtId = getString(tree, RegisteredClaims.JWT_ID); + + return new PayloadImpl(issuer, subject, audience, expiresAt, notBefore, issuedAt, jwtId, tree, p.getCodec()); + } + + List getStringOrArray(ObjectCodec codec, Map tree, String claimName) + throws JWTDecodeException { + JsonNode node = tree.get(claimName); + if (node == null || node.isNull() || !(node.isArray() || node.isTextual())) { + return null; + } + if (node.isTextual() && !node.asText().isEmpty()) { + return Collections.singletonList(node.asText()); + } + + List list = new ArrayList<>(node.size()); + for (int i = 0; i < node.size(); i++) { + try { + list.add(codec.treeToValue(node.get(i), String.class)); + } catch (JsonProcessingException e) { + throw new JWTDecodeException("Couldn't map the Claim's array contents to String", e); + } + } + return list; + } + + Instant getInstantFromSeconds(Map tree, String claimName) { + JsonNode node = tree.get(claimName); + if (node == null || node.isNull()) { + return null; + } + if (!node.canConvertToLong()) { + throw new JWTDecodeException( + String.format("The claim '%s' contained a non-numeric date value.", claimName)); + } + return Instant.ofEpochSecond(node.asLong()); + } + + String getString(Map tree, String claimName) { + JsonNode node = tree.get(claimName); + if (node == null || node.isNull()) { + return null; + } + return node.asText(null); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadImpl.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadImpl.java new file mode 100644 index 00000000000..bfd9b0eaa85 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadImpl.java @@ -0,0 +1,129 @@ +package com.auth0.jwt.impl; + +import com.auth0.jwt.interfaces.Claim; +import com.auth0.jwt.interfaces.Payload; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.JsonNode; + +import java.io.Serializable; +import java.time.Instant; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static com.auth0.jwt.impl.JsonNodeClaim.extractClaim; + +/** + * Decoder of string JSON Web Tokens into their POJO representations. + *

    + * This class is thread-safe. + * + * @see Payload + */ +class PayloadImpl implements Payload, Serializable { + + private static final long serialVersionUID = 1659021498824562311L; + + private final String issuer; + private final String subject; + private final List audience; + private final Instant expiresAt; + private final Instant notBefore; + private final Instant issuedAt; + private final String jwtId; + private final Map tree; + private final ObjectCodec objectCodec; + + PayloadImpl( + String issuer, + String subject, + List audience, + Instant expiresAt, + Instant notBefore, + Instant issuedAt, + String jwtId, + Map tree, + ObjectCodec objectCodec + ) { + this.issuer = issuer; + this.subject = subject; + this.audience = audience != null ? Collections.unmodifiableList(audience) : null; + this.expiresAt = expiresAt; + this.notBefore = notBefore; + this.issuedAt = issuedAt; + this.jwtId = jwtId; + this.tree = tree != null ? Collections.unmodifiableMap(tree) : Collections.emptyMap(); + this.objectCodec = objectCodec; + } + + Map getTree() { + return tree; + } + + @Override + public String getIssuer() { + return issuer; + } + + @Override + public String getSubject() { + return subject; + } + + @Override + public List getAudience() { + return audience; + } + + @Override + public Date getExpiresAt() { + return (expiresAt != null) ? Date.from(expiresAt) : null; + } + + + @Override + public Instant getExpiresAtAsInstant() { + return expiresAt; + } + + @Override + public Date getIssuedAt() { + return (issuedAt != null) ? Date.from(issuedAt) : null; + } + + @Override + public Instant getIssuedAtAsInstant() { + return issuedAt; + } + + @Override + public Date getNotBefore() { + return (notBefore != null) ? Date.from(notBefore) : null; + } + + @Override + public Instant getNotBeforeAsInstant() { + return notBefore; + } + + @Override + public String getId() { + return jwtId; + } + + @Override + public Claim getClaim(String name) { + return extractClaim(name, tree, objectCodec); + } + + @Override + public Map getClaims() { + Map claims = new HashMap<>(tree.size() * 2); + for (String name : tree.keySet()) { + claims.put(name, extractClaim(name, tree, objectCodec)); + } + return Collections.unmodifiableMap(claims); + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadSerializer.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadSerializer.java new file mode 100644 index 00000000000..24fe37b7972 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadSerializer.java @@ -0,0 +1,66 @@ +package com.auth0.jwt.impl; + +import com.auth0.jwt.RegisteredClaims; +import com.fasterxml.jackson.core.JsonGenerator; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * Jackson serializer implementation for converting into JWT Payload parts. + *

    + * This class is thread-safe. + * + * @see com.auth0.jwt.JWTCreator + */ +public class PayloadSerializer extends ClaimsSerializer { + public PayloadSerializer() { + super(PayloadClaimsHolder.class); + } + + @Override + protected void writeClaim(Map.Entry entry, JsonGenerator gen) throws IOException { + if (RegisteredClaims.AUDIENCE.equals(entry.getKey())) { + writeAudience(gen, entry); + } else { + super.writeClaim(entry, gen); + } + } + + /** + * Audience may be a list of strings or a single string. This is needed to properly handle the aud claim when + * added with the {@linkplain com.auth0.jwt.JWTCreator.Builder#withPayload(Map)} method. + */ + private void writeAudience(JsonGenerator gen, Map.Entry e) throws IOException { + if (e.getValue() instanceof String) { + gen.writeFieldName(e.getKey()); + gen.writeString((String) e.getValue()); + } else { + List audArray = new ArrayList<>(); + if (e.getValue() instanceof String[]) { + audArray = Arrays.asList((String[]) e.getValue()); + } else if (e.getValue() instanceof List) { + List audList = (List) e.getValue(); + for (Object aud : audList) { + if (aud instanceof String) { + audArray.add((String) aud); + } + } + } + if (audArray.size() == 1) { + gen.writeFieldName(e.getKey()); + gen.writeString(audArray.get(0)); + } else if (audArray.size() > 1) { + gen.writeFieldName(e.getKey()); + gen.writeStartArray(); + for (String aud : audArray) { + gen.writeString(aud); + } + gen.writeEndArray(); + } + } + } +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/package-info.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/package-info.java new file mode 100644 index 00000000000..334ccb8a2d1 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/package-info.java @@ -0,0 +1,7 @@ +/** + * Contains parts of the internal implementation of this library. + * + *

    Do not use any of the classes in this package. They might be removed + * or changed at any point without prior warning. + */ +package com.auth0.jwt.impl; diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Claim.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Claim.java new file mode 100644 index 00000000000..ca5244d660a --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Claim.java @@ -0,0 +1,131 @@ +package com.auth0.jwt.interfaces; + +import com.auth0.jwt.exceptions.JWTDecodeException; + +import java.time.Instant; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * The Claim class holds the value in a generic way so that it can be recovered in many representations. + */ +public interface Claim { + + /** + * Whether this Claim has a null value or not. + * If the claim is not present, it will return false hence checking {@link Claim#isMissing} is advised as well + * + * @return whether this Claim has a null value or not. + */ + boolean isNull(); + + /** + * Can be used to verify whether the Claim is found or not. + * This will be true even if the Claim has {@code null} value associated to it. + * + * @return whether this Claim is present or not + */ + boolean isMissing(); + + /** + * Get this Claim as a Boolean. + * If the value isn't of type Boolean or it can't be converted to a Boolean, {@code null} will be returned. + * + * @return the value as a Boolean or null. + */ + Boolean asBoolean(); + + /** + * Get this Claim as an Integer. + * If the value isn't of type Integer or it can't be converted to an Integer, {@code null} will be returned. + * + * @return the value as an Integer or null. + */ + Integer asInt(); + + /** + * Get this Claim as an Long. + * If the value isn't of type Long or it can't be converted to a Long, {@code null} will be returned. + * + * @return the value as an Long or null. + */ + Long asLong(); + + /** + * Get this Claim as a Double. + * If the value isn't of type Double or it can't be converted to a Double, {@code null} will be returned. + * + * @return the value as a Double or null. + */ + Double asDouble(); + + /** + * Get this Claim as a String. + * If the value isn't of type String, {@code null} will be returned. For a String representation of non-textual + * claim types, clients can call {@code toString()}. + * + * @return the value as a String or null if the underlying value is not a string. + */ + String asString(); + + /** + * Get this Claim as a Date. + * If the value can't be converted to a Date, {@code null} will be returned. + * + * @return the value as a Date or null. + */ + Date asDate(); + + /** + * Get this Claim as an Instant. + * If the value can't be converted to an Instant, {@code null} will be returned. + * + * @return the value as a Date or null. + */ + default Instant asInstant() { + Date date = asDate(); + return date != null ? date.toInstant() : null; + } + + /** + * Get this Claim as an Array of type T. + * If the value isn't an Array, {@code null} will be returned. + * + * @param type + * @param clazz the type class + * @return the value as an Array or null. + * @throws JWTDecodeException if the values inside the Array can't be converted to a class T. + */ + T[] asArray(Class clazz) throws JWTDecodeException; + + /** + * Get this Claim as a List of type T. + * If the value isn't an Array, {@code null} will be returned. + * + * @param type + * @param clazz the type class + * @return the value as a List or null. + * @throws JWTDecodeException if the values inside the List can't be converted to a class T. + */ + List asList(Class clazz) throws JWTDecodeException; + + /** + * Get this Claim as a generic Map of values. + * + * @return the value as instance of Map. + * @throws JWTDecodeException if the value can't be converted to a Map. + */ + Map asMap() throws JWTDecodeException; + + /** + * Get this Claim as a custom type T. + * This method will return null if {@link Claim#isMissing()} or {@link Claim#isNull()} is true + * + * @param type + * @param clazz the type class + * @return the value as instance of T. + * @throws JWTDecodeException if the value can't be converted to a class T. + */ + T as(Class clazz) throws JWTDecodeException; +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/DecodedJWT.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/DecodedJWT.java new file mode 100644 index 00000000000..04307b28e5f --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/DecodedJWT.java @@ -0,0 +1,37 @@ +package com.auth0.jwt.interfaces; + +/** + * Class that represents a Json Web Token that was decoded from it's string representation. + */ +public interface DecodedJWT extends Payload, Header { + /** + * Getter for the String Token used to create this JWT instance. + * + * @return the String Token. + */ + String getToken(); + + /** + * Getter for the Header contained in the JWT as a Base64 encoded String. + * This represents the first part of the token. + * + * @return the Header of the JWT. + */ + String getHeader(); + + /** + * Getter for the Payload contained in the JWT as a Base64 encoded String. + * This represents the second part of the token. + * + * @return the Payload of the JWT. + */ + String getPayload(); + + /** + * Getter for the Signature contained in the JWT as a Base64 encoded String. + * This represents the third part of the token. + * + * @return the Signature of the JWT. + */ + String getSignature(); +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/ECDSAKeyProvider.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/ECDSAKeyProvider.java new file mode 100644 index 00000000000..55df451dad9 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/ECDSAKeyProvider.java @@ -0,0 +1,10 @@ +package com.auth0.jwt.interfaces; + +import java.security.interfaces.ECPrivateKey; +import java.security.interfaces.ECPublicKey; + +/** + * Elliptic Curve (EC) Public/Private Key provider. + */ +public interface ECDSAKeyProvider extends KeyProvider { +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Header.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Header.java new file mode 100644 index 00000000000..52b3ba56321 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Header.java @@ -0,0 +1,44 @@ +package com.auth0.jwt.interfaces; + +/** + * The Header class represents the 1st part of the JWT, where the Header value is held. + */ +public interface Header { + + /** + * Getter for the Algorithm "alg" claim defined in the JWT's Header. If the claim is missing it will return null. + * + * @return the Algorithm defined or null. + */ + String getAlgorithm(); + + /** + * Getter for the Type "typ" claim defined in the JWT's Header. If the claim is missing it will return null. + * + * @return the Type defined or null. + */ + String getType(); + + /** + * Getter for the Content Type "cty" claim defined in the JWT's Header. If the claim is missing it will return null. + * + * @return the Content Type defined or null. + */ + String getContentType(); + + /** + * Get the value of the "kid" claim, or null if it's not available. + * + * @return the Key ID value or null. + */ + String getKeyId(); + + /** + * Get a Private Claim given it's name. If the Claim wasn't specified in the Header, a 'null claim' will be + * returned. All the methods of that claim will return {@code null}. + * + * @param name the name of the Claim to retrieve. + * @return a non-null Claim. + */ + Claim getHeaderClaim(String name); +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/JWTPartsParser.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/JWTPartsParser.java new file mode 100644 index 00000000000..33cd0d709b9 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/JWTPartsParser.java @@ -0,0 +1,28 @@ +package com.auth0.jwt.interfaces; + +import com.auth0.jwt.exceptions.JWTDecodeException; + +/** + * The JWTPartsParser class defines which parts of the JWT should be converted + * to its specific Object representation instance. + */ +public interface JWTPartsParser { + + /** + * Parses the given JSON into a {@link Payload} instance. + * + * @param json the content of the Payload in a JSON representation. + * @return the Payload. + * @throws JWTDecodeException if the json doesn't have a proper JSON format. + */ + Payload parsePayload(String json) throws JWTDecodeException; + + /** + * Parses the given JSON into a {@link Header} instance. + * + * @param json the content of the Header in a JSON representation. + * @return the Header. + * @throws JWTDecodeException if the json doesn't have a proper JSON format. + */ + Header parseHeader(String json) throws JWTDecodeException; +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/JWTVerifier.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/JWTVerifier.java new file mode 100644 index 00000000000..2756ddd8814 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/JWTVerifier.java @@ -0,0 +1,40 @@ +package com.auth0.jwt.interfaces; + +import com.auth0.jwt.exceptions.JWTVerificationException; + + +/** + * Used to verify the JWT for its signature and claims. Implementations must be thread-safe. Instances are created + * using {@link Verification}. + * + *

    + * try {
    + *      JWTVerifier verifier = JWTVerifier.init(Algorithm.RSA256(publicKey, privateKey)
    + *          .withIssuer("auth0")
    + *          .build();
    + *      DecodedJWT jwt = verifier.verify("token");
    + * } catch (JWTVerificationException e) {
    + *      // invalid signature or claims
    + * }
    + * 
    + */ +public interface JWTVerifier { + + /** + * Performs the verification against the given Token. + * + * @param token to verify. + * @return a verified and decoded JWT. + * @throws JWTVerificationException if any of the verification steps fail + */ + DecodedJWT verify(String token) throws JWTVerificationException; + + /** + * Performs the verification against the given {@link DecodedJWT}. + * + * @param jwt to verify. + * @return a verified and decoded JWT. + * @throws JWTVerificationException if any of the verification steps fail + */ + DecodedJWT verify(DecodedJWT jwt) throws JWTVerificationException; +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/KeyProvider.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/KeyProvider.java new file mode 100644 index 00000000000..30a144a6b96 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/KeyProvider.java @@ -0,0 +1,38 @@ +package com.auth0.jwt.interfaces; + +import java.security.PrivateKey; +import java.security.PublicKey; + +/** + * Generic Public/Private Key provider. + * While implementing, ensure the Private Key and Private Key ID doesn't change in between signing a token. + * + * @param the class that represents the Public Key + * @param the class that represents the Private Key + */ +interface KeyProvider { + + /** + * Getter for the Public Key instance with the given Id. Used to verify the signature on the JWT verification stage. + * + * @param keyId the Key Id specified in the Token's Header or null if none is available. + * Provides a hint on which Public Key to use to verify the token's signature. + * @return the Public Key instance + */ + U getPublicKeyById(String keyId); + + /** + * Getter for the Private Key instance. Used to sign the content on the JWT signing stage. + * + * @return the Private Key instance + */ + R getPrivateKey(); + + /** + * Getter for the Id of the Private Key used to sign the tokens. + * This represents the `kid` claim and will be placed in the Header. + * + * @return the Key Id that identifies the Private Key or null if it's not specified. + */ + String getPrivateKeyId(); +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Payload.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Payload.java new file mode 100644 index 00000000000..feb58c64ad6 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Payload.java @@ -0,0 +1,104 @@ +package com.auth0.jwt.interfaces; + +import java.time.Instant; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * The Payload class represents the 2nd part of the JWT, where the Payload value is held. + */ +public interface Payload { + + /** + * Get the value of the "iss" claim, or null if it's not available. + * + * @return the Issuer value or null. + */ + String getIssuer(); + + /** + * Get the value of the "sub" claim, or null if it's not available. + * + * @return the Subject value or null. + */ + String getSubject(); + + /** + * Get the value of the "aud" claim, or null if it's not available. + * + * @return the Audience value or null. + */ + List getAudience(); + + /** + * Get the value of the "exp" claim, or null if it's not available. + * + * @return the Expiration Time value or null. + */ + Date getExpiresAt(); + + /** + * Get the value of the "exp" claim as an {@linkplain Instant}, or null if it's not available. + * + * @return the Expiration Time value or null. + */ + default Instant getExpiresAtAsInstant() { + return getExpiresAt() != null ? getExpiresAt().toInstant() : null; + } + + /** + * Get the value of the "nbf" claim, or null if it's not available. + * + * @return the Not Before value or null. + */ + Date getNotBefore(); + + /** + * Get the value of the "nbf" claim as an {@linkplain Instant}, or null if it's not available. + * + * @return the Not Before value or null. + */ + default Instant getNotBeforeAsInstant() { + return getNotBefore() != null ? getNotBefore().toInstant() : null; + } + + /** + * Get the value of the "iat" claim, or null if it's not available. + * + * @return the Issued At value or null. + */ + Date getIssuedAt(); + + /** + * Get the value of the "iat" claim as an {@linkplain Instant}, or null if it's not available. + * + * @return the Issued At value or null. + */ + default Instant getIssuedAtAsInstant() { + return getIssuedAt() != null ? getIssuedAt().toInstant() : null; + } + + /** + * Get the value of the "jti" claim, or null if it's not available. + * + * @return the JWT ID value or null. + */ + String getId(); + + /** + * Get a Claim given its name. If the Claim wasn't specified in the Payload, a 'null claim' + * will be returned. All the methods of that claim will return {@code null}. + * + * @param name the name of the Claim to retrieve. + * @return a non-null Claim. + */ + Claim getClaim(String name); + + /** + * Get the Claims defined in the Token. + * + * @return a non-null Map containing the Claims defined in the Token. + */ + Map getClaims(); +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/RSAKeyProvider.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/RSAKeyProvider.java new file mode 100644 index 00000000000..55376f4d266 --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/RSAKeyProvider.java @@ -0,0 +1,10 @@ +package com.auth0.jwt.interfaces; + +import java.security.interfaces.RSAPrivateKey; +import java.security.interfaces.RSAPublicKey; + +/** + * RSA Public/Private Key provider. + */ +public interface RSAKeyProvider extends KeyProvider { +} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Verification.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Verification.java new file mode 100644 index 00000000000..b4adcf5c6fd --- /dev/null +++ b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Verification.java @@ -0,0 +1,267 @@ +package com.auth0.jwt.interfaces; + +import com.auth0.jwt.JWTVerifier; + +import java.time.Instant; +import java.util.Date; +import java.util.function.BiPredicate; + +/** + * Constructs and holds the checks required for a JWT to be considered valid. Note that implementations are + * not thread-safe. Once built by calling {@link #build()}, the resulting + * {@link com.auth0.jwt.interfaces.JWTVerifier} is thread-safe. + */ +public interface Verification { + + /** + * Verifies whether the JWT contains an Issuer ("iss") claim that equals to the value provided. + * This check is case-sensitive. + * + * @param issuer the required Issuer value. + * @return this same Verification instance. + */ + default Verification withIssuer(String issuer) { + return withIssuer(new String[]{issuer}); + } + + /** + * Verifies whether the JWT contains an Issuer ("iss") claim that contains all the values provided. + * This check is case-sensitive. An empty array is considered as a {@code null}. + * + * @param issuer the required Issuer value. If multiple values are given, the claim must at least match one of them + * @return this same Verification instance. + */ + Verification withIssuer(String... issuer); + + /** + * Verifies whether the JWT contains a Subject ("sub") claim that equals to the value provided. + * This check is case-sensitive. + * + * @param subject the required Subject value + * @return this same Verification instance. + */ + Verification withSubject(String subject); + + /** + * Verifies whether the JWT contains an Audience ("aud") claim that contains all the values provided. + * This check is case-sensitive. An empty array is considered as a {@code null}. + * + * @param audience the required Audience value + * @return this same Verification instance. + */ + Verification withAudience(String... audience); + + /** + * Verifies whether the JWT contains an Audience ("aud") claim contain at least one of the specified audiences. + * This check is case-sensitive. An empty array is considered as a {@code null}. + * + * @param audience the required Audience value for which the "aud" claim must contain at least one value. + * @return this same Verification instance. + */ + Verification withAnyOfAudience(String... audience); + + /** + * Define the default window in seconds in which the Not Before, Issued At and Expires At Claims + * will still be valid. Setting a specific leeway value on a given Claim will override this value for that Claim. + * + * @param leeway the window in seconds in which the Not Before, Issued At and Expires At Claims will still be valid. + * @return this same Verification instance. + * @throws IllegalArgumentException if leeway is negative. + */ + Verification acceptLeeway(long leeway) throws IllegalArgumentException; + + /** + * Set a specific leeway window in seconds in which the Expires At ("exp") Claim will still be valid. + * Expiration Date is always verified when the value is present. + * This method overrides the value set with acceptLeeway + * + * @param leeway the window in seconds in which the Expires At Claim will still be valid. + * @return this same Verification instance. + * @throws IllegalArgumentException if leeway is negative. + */ + Verification acceptExpiresAt(long leeway) throws IllegalArgumentException; + + /** + * Set a specific leeway window in seconds in which the Not Before ("nbf") Claim will still be valid. + * Not Before Date is always verified when the value is present. + * This method overrides the value set with acceptLeeway + * + * @param leeway the window in seconds in which the Not Before Claim will still be valid. + * @return this same Verification instance. + * @throws IllegalArgumentException if leeway is negative. + */ + Verification acceptNotBefore(long leeway) throws IllegalArgumentException; + + /** + * Set a specific leeway window in seconds in which the Issued At ("iat") Claim will still be valid. + * This method overrides the value set with {@link #acceptLeeway(long)}. + * By default, the Issued At claim is always verified when the value is present, + * unless disabled with {@link #ignoreIssuedAt()}. + * If Issued At verification has been disabled, no verification of the Issued At claim will be performed, + * and this method has no effect. + * + * @param leeway the window in seconds in which the Issued At Claim will still be valid. + * @return this same Verification instance. + * @throws IllegalArgumentException if leeway is negative. + */ + Verification acceptIssuedAt(long leeway) throws IllegalArgumentException; + + /** + * Verifies whether the JWT contains a JWT ID ("jti") claim that equals to the value provided. + * This check is case-sensitive. + * + * @param jwtId the required ID value + * @return this same Verification instance. + */ + Verification withJWTId(String jwtId); + + /** + * Verifies whether the claim is present in the JWT, with any value including {@code null}. + * + * @param name the Claim's name. + * @return this same Verification instance + * @throws IllegalArgumentException if the name is {@code null}. + */ + Verification withClaimPresence(String name) throws IllegalArgumentException; + + /** + * Verifies whether the claim is present with a {@code null} value. + * + * @param name the Claim's name. + * @return this same Verification instance. + * @throws IllegalArgumentException if the name is {@code null}. + */ + Verification withNullClaim(String name) throws IllegalArgumentException; + + /** + * Verifies whether the claim is equal to the given Boolean value. + * + * @param name the Claim's name. + * @param value the Claim's value. + * @return this same Verification instance. + * @throws IllegalArgumentException if the name is {@code null}. + */ + Verification withClaim(String name, Boolean value) throws IllegalArgumentException; + + /** + * Verifies whether the claim is equal to the given Integer value. + * + * @param name the Claim's name. + * @param value the Claim's value. + * @return this same Verification instance. + * @throws IllegalArgumentException if the name is {@code null}. + */ + Verification withClaim(String name, Integer value) throws IllegalArgumentException; + + /** + * Verifies whether the claim is equal to the given Long value. + * + * @param name the Claim's name. + * @param value the Claim's value. + * @return this same Verification instance. + * @throws IllegalArgumentException if the name is {@code null}. + */ + Verification withClaim(String name, Long value) throws IllegalArgumentException; + + /** + * Verifies whether the claim is equal to the given Integer value. + * + * @param name the Claim's name. + * @param value the Claim's value. + * @return this same Verification instance. + * @throws IllegalArgumentException if the name is {@code null}. + */ + Verification withClaim(String name, Double value) throws IllegalArgumentException; + + /** + * Verifies whether the claim is equal to the given String value. + * This check is case-sensitive. + * + * @param name the Claim's name. + * @param value the Claim's value. + * @return this same Verification instance. + * @throws IllegalArgumentException if the name is {@code null}. + */ + Verification withClaim(String name, String value) throws IllegalArgumentException; + + /** + * Verifies whether the claim is equal to the given Date value. + * Note that date-time claims are serialized as seconds since the epoch; + * when verifying date-time claim value, any time units more granular than seconds will not be considered. + * + * @param name the Claim's name. + * @param value the Claim's value. + * @return this same Verification instance. + * @throws IllegalArgumentException if the name is {@code null}. + */ + Verification withClaim(String name, Date value) throws IllegalArgumentException; + + /** + * Verifies whether the claim is equal to the given Instant value. + * Note that date-time claims are serialized as seconds since the epoch; + * when verifying a date-time claim value, any time units more granular than seconds will not be considered. + * + * @param name the Claim's name. + * @param value the Claim's value. + * @return this same Verification instance. + * @throws IllegalArgumentException if the name is {@code null}. + */ + default Verification withClaim(String name, Instant value) throws IllegalArgumentException { + return withClaim(name, value != null ? Date.from(value) : null); + } + + /** + * Executes the predicate provided and the validates the JWT if the predicate returns true. + * + * @param name the Claim's name + * @param predicate the predicate check to be done. + * @return this same Verification instance. + * @throws IllegalArgumentException if the name is {@code null}. + */ + Verification withClaim(String name, BiPredicate predicate) throws IllegalArgumentException; + + /** + * Verifies whether the claim contain at least the given String items. + * + * @param name the Claim's name. + * @param items the items the Claim must contain. + * @return this same Verification instance. + * @throws IllegalArgumentException if the name is {@code null}. + */ + Verification withArrayClaim(String name, String... items) throws IllegalArgumentException; + + /** + * Verifies whether the claim contain at least the given Integer items. + * + * @param name the Claim's name. + * @param items the items the Claim must contain. + * @return this same Verification instance. + * @throws IllegalArgumentException if the name is {@code null}. + */ + Verification withArrayClaim(String name, Integer... items) throws IllegalArgumentException; + + /** + * Verifies whether the claim contain at least the given Long items. + * + * @param name the Claim's name. + * @param items the items the Claim must contain. + * @return this same Verification instance. + * @throws IllegalArgumentException if the name is {@code null}. + */ + + Verification withArrayClaim(String name, Long ... items) throws IllegalArgumentException; + + /** + * Skip the Issued At ("iat") claim verification. By default, the verification is performed. + * + * @return this same Verification instance. + */ + Verification ignoreIssuedAt(); + + /** + * Creates a new and reusable instance of the JWTVerifier with the configuration already provided. + * + * @return a new {@link com.auth0.jwt.interfaces.JWTVerifier} instance. + */ + JWTVerifier build(); +} diff --git a/java/ql/test/stubs/javax-4.0.1/crypto/KeyGenerator.java b/java/ql/test/stubs/javax-4.0.1/crypto/KeyGenerator.java new file mode 100644 index 00000000000..d133ee2f49b --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/crypto/KeyGenerator.java @@ -0,0 +1,26 @@ +// Generated automatically from javax.crypto.KeyGenerator for testing purposes + +package javax.crypto; + +import java.security.Provider; +import java.security.SecureRandom; +import java.security.spec.AlgorithmParameterSpec; +import javax.crypto.KeyGeneratorSpi; +import javax.crypto.SecretKey; + +public class KeyGenerator +{ + protected KeyGenerator() {} + protected KeyGenerator(KeyGeneratorSpi p0, Provider p1, String p2){} + public final Provider getProvider(){ return null; } + public final SecretKey generateKey(){ return null; } + public final String getAlgorithm(){ return null; } + public final void init(AlgorithmParameterSpec p0){} + public final void init(AlgorithmParameterSpec p0, SecureRandom p1){} + public final void init(SecureRandom p0){} + public final void init(int p0){} + public final void init(int p0, SecureRandom p1){} + public static KeyGenerator getInstance(String p0){ return null; } + public static KeyGenerator getInstance(String p0, Provider p1){ return null; } + public static KeyGenerator getInstance(String p0, String p1){ return null; } +} diff --git a/java/ql/test/stubs/javax-4.0.1/crypto/KeyGeneratorSpi.java b/java/ql/test/stubs/javax-4.0.1/crypto/KeyGeneratorSpi.java new file mode 100644 index 00000000000..aba2623123a --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/crypto/KeyGeneratorSpi.java @@ -0,0 +1,16 @@ +// Generated automatically from javax.crypto.KeyGeneratorSpi for testing purposes + +package javax.crypto; + +import java.security.SecureRandom; +import java.security.spec.AlgorithmParameterSpec; +import javax.crypto.SecretKey; + +abstract public class KeyGeneratorSpi +{ + protected abstract SecretKey engineGenerateKey(); + protected abstract void engineInit(AlgorithmParameterSpec p0, SecureRandom p1); + protected abstract void engineInit(SecureRandom p0); + protected abstract void engineInit(int p0, SecureRandom p1); + public KeyGeneratorSpi(){} +} diff --git a/java/ql/test/stubs/javax-4.0.1/crypto/SecretKey.java b/java/ql/test/stubs/javax-4.0.1/crypto/SecretKey.java new file mode 100644 index 00000000000..88c9e4539ba --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/crypto/SecretKey.java @@ -0,0 +1,11 @@ +// Generated automatically from javax.crypto.SecretKey for testing purposes + +package javax.crypto; + +import java.security.Key; +import javax.security.auth.Destroyable; + +public interface SecretKey extends Destroyable, Key +{ + static long serialVersionUID = 0; +} diff --git a/java/ql/test/stubs/javax-4.0.1/security/auth/Destroyable.java b/java/ql/test/stubs/javax-4.0.1/security/auth/Destroyable.java new file mode 100644 index 00000000000..979ca409ba6 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/security/auth/Destroyable.java @@ -0,0 +1,10 @@ +// Generated automatically from javax.security.auth.Destroyable for testing purposes + +package javax.security.auth; + + +public interface Destroyable +{ + default boolean isDestroyed(){ return false; } + default void destroy(){} +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/AsyncContext.java b/java/ql/test/stubs/javax-4.0.1/servlet/AsyncContext.java new file mode 100644 index 00000000000..70a39f55ac9 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/AsyncContext.java @@ -0,0 +1,31 @@ +// Generated automatically from javax.servlet.AsyncContext for testing purposes + +package javax.servlet; + +import javax.servlet.AsyncListener; +import javax.servlet.ServletContext; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +public interface AsyncContext +{ + T createListener(java.lang.Class p0); + ServletRequest getRequest(); + ServletResponse getResponse(); + boolean hasOriginalRequestAndResponse(); + long getTimeout(); + static String ASYNC_CONTEXT_PATH = null; + static String ASYNC_MAPPING = null; + static String ASYNC_PATH_INFO = null; + static String ASYNC_QUERY_STRING = null; + static String ASYNC_REQUEST_URI = null; + static String ASYNC_SERVLET_PATH = null; + void addListener(AsyncListener p0); + void addListener(AsyncListener p0, ServletRequest p1, ServletResponse p2); + void complete(); + void dispatch(); + void dispatch(ServletContext p0, String p1); + void dispatch(String p0); + void setTimeout(long p0); + void start(Runnable p0); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/AsyncEvent.java b/java/ql/test/stubs/javax-4.0.1/servlet/AsyncEvent.java new file mode 100644 index 00000000000..d7cb9c2b175 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/AsyncEvent.java @@ -0,0 +1,20 @@ +// Generated automatically from javax.servlet.AsyncEvent for testing purposes + +package javax.servlet; + +import javax.servlet.AsyncContext; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +public class AsyncEvent +{ + protected AsyncEvent() {} + public AsyncContext getAsyncContext(){ return null; } + public AsyncEvent(AsyncContext p0){} + public AsyncEvent(AsyncContext p0, ServletRequest p1, ServletResponse p2){} + public AsyncEvent(AsyncContext p0, ServletRequest p1, ServletResponse p2, Throwable p3){} + public AsyncEvent(AsyncContext p0, Throwable p1){} + public ServletRequest getSuppliedRequest(){ return null; } + public ServletResponse getSuppliedResponse(){ return null; } + public Throwable getThrowable(){ return null; } +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/AsyncListener.java b/java/ql/test/stubs/javax-4.0.1/servlet/AsyncListener.java new file mode 100644 index 00000000000..2723482f668 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/AsyncListener.java @@ -0,0 +1,14 @@ +// Generated automatically from javax.servlet.AsyncListener for testing purposes + +package javax.servlet; + +import java.util.EventListener; +import javax.servlet.AsyncEvent; + +public interface AsyncListener extends EventListener +{ + void onComplete(AsyncEvent p0); + void onError(AsyncEvent p0); + void onStartAsync(AsyncEvent p0); + void onTimeout(AsyncEvent p0); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/DispatcherType.java b/java/ql/test/stubs/javax-4.0.1/servlet/DispatcherType.java new file mode 100644 index 00000000000..2b7b44f328d --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/DispatcherType.java @@ -0,0 +1,10 @@ +// Generated automatically from javax.servlet.DispatcherType for testing purposes + +package javax.servlet; + + +public enum DispatcherType +{ + ASYNC, ERROR, FORWARD, INCLUDE, REQUEST; + private DispatcherType() {} +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/Filter.java b/java/ql/test/stubs/javax-4.0.1/servlet/Filter.java new file mode 100644 index 00000000000..64b9f9d73a8 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/Filter.java @@ -0,0 +1,15 @@ +// Generated automatically from javax.servlet.Filter for testing purposes + +package javax.servlet; + +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +public interface Filter +{ + default void destroy(){} + default void init(FilterConfig p0){} + void doFilter(ServletRequest p0, ServletResponse p1, FilterChain p2); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/FilterChain.java b/java/ql/test/stubs/javax-4.0.1/servlet/FilterChain.java new file mode 100644 index 00000000000..f64ab722684 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/FilterChain.java @@ -0,0 +1,11 @@ +// Generated automatically from javax.servlet.FilterChain for testing purposes + +package javax.servlet; + +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +public interface FilterChain +{ + void doFilter(ServletRequest p0, ServletResponse p1); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/FilterConfig.java b/java/ql/test/stubs/javax-4.0.1/servlet/FilterConfig.java new file mode 100644 index 00000000000..0e140c6680c --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/FilterConfig.java @@ -0,0 +1,14 @@ +// Generated automatically from javax.servlet.FilterConfig for testing purposes + +package javax.servlet; + +import java.util.Enumeration; +import javax.servlet.ServletContext; + +public interface FilterConfig +{ + Enumeration getInitParameterNames(); + ServletContext getServletContext(); + String getFilterName(); + String getInitParameter(String p0); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/FilterRegistration.java b/java/ql/test/stubs/javax-4.0.1/servlet/FilterRegistration.java new file mode 100644 index 00000000000..6ad0739ceb6 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/FilterRegistration.java @@ -0,0 +1,19 @@ +// Generated automatically from javax.servlet.FilterRegistration for testing purposes + +package javax.servlet; + +import java.util.Collection; +import java.util.EnumSet; +import javax.servlet.DispatcherType; +import javax.servlet.Registration; + +public interface FilterRegistration extends Registration +{ + Collection getServletNameMappings(); + Collection getUrlPatternMappings(); + static public interface Dynamic extends FilterRegistration, Registration.Dynamic + { + } + void addMappingForServletNames(EnumSet p0, boolean p1, String... p2); + void addMappingForUrlPatterns(EnumSet p0, boolean p1, String... p2); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/GenericServlet.java b/java/ql/test/stubs/javax-4.0.1/servlet/GenericServlet.java new file mode 100644 index 00000000000..5f7bdcda487 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/GenericServlet.java @@ -0,0 +1,28 @@ +// Generated automatically from javax.servlet.GenericServlet for testing purposes + +package javax.servlet; + +import java.io.Serializable; +import java.util.Enumeration; +import javax.servlet.Servlet; +import javax.servlet.ServletConfig; +import javax.servlet.ServletContext; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +abstract public class GenericServlet implements Serializable, Servlet, ServletConfig +{ + public Enumeration getInitParameterNames(){ return null; } + public GenericServlet(){} + public ServletConfig getServletConfig(){ return null; } + public ServletContext getServletContext(){ return null; } + public String getInitParameter(String p0){ return null; } + public String getServletInfo(){ return null; } + public String getServletName(){ return null; } + public abstract void service(ServletRequest p0, ServletResponse p1); + public void destroy(){} + public void init(){} + public void init(ServletConfig p0){} + public void log(String p0){} + public void log(String p0, Throwable p1){} +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/HttpConstraintElement.java b/java/ql/test/stubs/javax-4.0.1/servlet/HttpConstraintElement.java new file mode 100644 index 00000000000..6598aa47cc5 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/HttpConstraintElement.java @@ -0,0 +1,16 @@ +// Generated automatically from javax.servlet.HttpConstraintElement for testing purposes + +package javax.servlet; + +import javax.servlet.annotation.ServletSecurity; + +public class HttpConstraintElement +{ + public HttpConstraintElement(){} + public HttpConstraintElement(ServletSecurity.EmptyRoleSemantic p0){} + public HttpConstraintElement(ServletSecurity.EmptyRoleSemantic p0, ServletSecurity.TransportGuarantee p1, String... p2){} + public HttpConstraintElement(ServletSecurity.TransportGuarantee p0, String... p1){} + public ServletSecurity.EmptyRoleSemantic getEmptyRoleSemantic(){ return null; } + public ServletSecurity.TransportGuarantee getTransportGuarantee(){ return null; } + public String[] getRolesAllowed(){ return null; } +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/HttpMethodConstraintElement.java b/java/ql/test/stubs/javax-4.0.1/servlet/HttpMethodConstraintElement.java new file mode 100644 index 00000000000..ddb52527004 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/HttpMethodConstraintElement.java @@ -0,0 +1,13 @@ +// Generated automatically from javax.servlet.HttpMethodConstraintElement for testing purposes + +package javax.servlet; + +import javax.servlet.HttpConstraintElement; + +public class HttpMethodConstraintElement extends HttpConstraintElement +{ + protected HttpMethodConstraintElement() {} + public HttpMethodConstraintElement(String p0){} + public HttpMethodConstraintElement(String p0, HttpConstraintElement p1){} + public String getMethodName(){ return null; } +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/MultipartConfigElement.java b/java/ql/test/stubs/javax-4.0.1/servlet/MultipartConfigElement.java new file mode 100644 index 00000000000..8470d9a5317 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/MultipartConfigElement.java @@ -0,0 +1,17 @@ +// Generated automatically from javax.servlet.MultipartConfigElement for testing purposes + +package javax.servlet; + +import javax.servlet.annotation.MultipartConfig; + +public class MultipartConfigElement +{ + protected MultipartConfigElement() {} + public MultipartConfigElement(MultipartConfig p0){} + public MultipartConfigElement(String p0){} + public MultipartConfigElement(String p0, long p1, long p2, int p3){} + public String getLocation(){ return null; } + public int getFileSizeThreshold(){ return 0; } + public long getMaxFileSize(){ return 0; } + public long getMaxRequestSize(){ return 0; } +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ReadListener.java b/java/ql/test/stubs/javax-4.0.1/servlet/ReadListener.java new file mode 100644 index 00000000000..367594ef7da --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/ReadListener.java @@ -0,0 +1,12 @@ +// Generated automatically from javax.servlet.ReadListener for testing purposes + +package javax.servlet; + +import java.util.EventListener; + +public interface ReadListener extends EventListener +{ + void onAllDataRead(); + void onDataAvailable(); + void onError(Throwable p0); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/Registration.java b/java/ql/test/stubs/javax-4.0.1/servlet/Registration.java new file mode 100644 index 00000000000..5d4095813ef --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/Registration.java @@ -0,0 +1,20 @@ +// Generated automatically from javax.servlet.Registration for testing purposes + +package javax.servlet; + +import java.util.Map; +import java.util.Set; + +public interface Registration +{ + Map getInitParameters(); + Set setInitParameters(Map p0); + String getClassName(); + String getInitParameter(String p0); + String getName(); + boolean setInitParameter(String p0, String p1); + static public interface Dynamic extends Registration + { + void setAsyncSupported(boolean p0); + } +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/RequestDispatcher.java b/java/ql/test/stubs/javax-4.0.1/servlet/RequestDispatcher.java new file mode 100644 index 00000000000..ad017e4f501 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/RequestDispatcher.java @@ -0,0 +1,30 @@ +// Generated automatically from javax.servlet.RequestDispatcher for testing purposes + +package javax.servlet; + +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +public interface RequestDispatcher +{ + static String ERROR_EXCEPTION = null; + static String ERROR_EXCEPTION_TYPE = null; + static String ERROR_MESSAGE = null; + static String ERROR_REQUEST_URI = null; + static String ERROR_SERVLET_NAME = null; + static String ERROR_STATUS_CODE = null; + static String FORWARD_CONTEXT_PATH = null; + static String FORWARD_MAPPING = null; + static String FORWARD_PATH_INFO = null; + static String FORWARD_QUERY_STRING = null; + static String FORWARD_REQUEST_URI = null; + static String FORWARD_SERVLET_PATH = null; + static String INCLUDE_CONTEXT_PATH = null; + static String INCLUDE_MAPPING = null; + static String INCLUDE_PATH_INFO = null; + static String INCLUDE_QUERY_STRING = null; + static String INCLUDE_REQUEST_URI = null; + static String INCLUDE_SERVLET_PATH = null; + void forward(ServletRequest p0, ServletResponse p1); + void include(ServletRequest p0, ServletResponse p1); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/Servlet.java b/java/ql/test/stubs/javax-4.0.1/servlet/Servlet.java new file mode 100644 index 00000000000..231c011a6f8 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/Servlet.java @@ -0,0 +1,16 @@ +// Generated automatically from javax.servlet.Servlet for testing purposes + +package javax.servlet; + +import javax.servlet.ServletConfig; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +public interface Servlet +{ + ServletConfig getServletConfig(); + String getServletInfo(); + void destroy(); + void init(ServletConfig p0); + void service(ServletRequest p0, ServletResponse p1); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ServletConfig.java b/java/ql/test/stubs/javax-4.0.1/servlet/ServletConfig.java new file mode 100644 index 00000000000..c483c16ac4e --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/ServletConfig.java @@ -0,0 +1,14 @@ +// Generated automatically from javax.servlet.ServletConfig for testing purposes + +package javax.servlet; + +import java.util.Enumeration; +import javax.servlet.ServletContext; + +public interface ServletConfig +{ + Enumeration getInitParameterNames(); + ServletContext getServletContext(); + String getInitParameter(String p0); + String getServletName(); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ServletContext.java b/java/ql/test/stubs/javax-4.0.1/servlet/ServletContext.java new file mode 100644 index 00000000000..812393f61e9 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/ServletContext.java @@ -0,0 +1,83 @@ +// Generated automatically from javax.servlet.ServletContext for testing purposes + +package javax.servlet; + +import java.io.InputStream; +import java.net.URL; +import java.util.Enumeration; +import java.util.EventListener; +import java.util.Map; +import java.util.Set; +import javax.servlet.Filter; +import javax.servlet.FilterRegistration; +import javax.servlet.RequestDispatcher; +import javax.servlet.Servlet; +import javax.servlet.ServletRegistration; +import javax.servlet.SessionCookieConfig; +import javax.servlet.SessionTrackingMode; +import javax.servlet.descriptor.JspConfigDescriptor; + +public interface ServletContext +{ + T createListener(java.lang.Class p0); + void addListener(T p0); + T createFilter(java.lang.Class p0); + T createServlet(java.lang.Class p0); + ClassLoader getClassLoader(); + Enumeration getServlets(); + Enumeration getAttributeNames(); + Enumeration getInitParameterNames(); + Enumeration getServletNames(); + FilterRegistration getFilterRegistration(String p0); + FilterRegistration.Dynamic addFilter(String p0, Class p1); + FilterRegistration.Dynamic addFilter(String p0, Filter p1); + FilterRegistration.Dynamic addFilter(String p0, String p1); + InputStream getResourceAsStream(String p0); + JspConfigDescriptor getJspConfigDescriptor(); + Map getFilterRegistrations(); + Map getServletRegistrations(); + Object getAttribute(String p0); + RequestDispatcher getNamedDispatcher(String p0); + RequestDispatcher getRequestDispatcher(String p0); + Servlet getServlet(String p0); + ServletContext getContext(String p0); + ServletRegistration getServletRegistration(String p0); + ServletRegistration.Dynamic addJspFile(String p0, String p1); + ServletRegistration.Dynamic addServlet(String p0, Class p1); + ServletRegistration.Dynamic addServlet(String p0, Servlet p1); + ServletRegistration.Dynamic addServlet(String p0, String p1); + SessionCookieConfig getSessionCookieConfig(); + Set getDefaultSessionTrackingModes(); + Set getEffectiveSessionTrackingModes(); + Set getResourcePaths(String p0); + String getContextPath(); + String getInitParameter(String p0); + String getMimeType(String p0); + String getRealPath(String p0); + String getRequestCharacterEncoding(); + String getResponseCharacterEncoding(); + String getServerInfo(); + String getServletContextName(); + String getVirtualServerName(); + URL getResource(String p0); + boolean setInitParameter(String p0, String p1); + int getEffectiveMajorVersion(); + int getEffectiveMinorVersion(); + int getMajorVersion(); + int getMinorVersion(); + int getSessionTimeout(); + static String ORDERED_LIBS = null; + static String TEMPDIR = null; + void addListener(Class p0); + void addListener(String p0); + void declareRoles(String... p0); + void log(Exception p0, String p1); + void log(String p0); + void log(String p0, Throwable p1); + void removeAttribute(String p0); + void setAttribute(String p0, Object p1); + void setRequestCharacterEncoding(String p0); + void setResponseCharacterEncoding(String p0); + void setSessionTimeout(int p0); + void setSessionTrackingModes(Set p0); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ServletInputStream.java b/java/ql/test/stubs/javax-4.0.1/servlet/ServletInputStream.java new file mode 100644 index 00000000000..31034066970 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/ServletInputStream.java @@ -0,0 +1,15 @@ +// Generated automatically from javax.servlet.ServletInputStream for testing purposes + +package javax.servlet; + +import java.io.InputStream; +import javax.servlet.ReadListener; + +abstract public class ServletInputStream extends InputStream +{ + protected ServletInputStream(){} + public abstract boolean isFinished(); + public abstract boolean isReady(); + public abstract void setReadListener(ReadListener p0); + public int readLine(byte[] p0, int p1, int p2){ return 0; } +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ServletOutputStream.java b/java/ql/test/stubs/javax-4.0.1/servlet/ServletOutputStream.java new file mode 100644 index 00000000000..52a2162c9eb --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/ServletOutputStream.java @@ -0,0 +1,28 @@ +// Generated automatically from javax.servlet.ServletOutputStream for testing purposes + +package javax.servlet; + +import java.io.OutputStream; +import javax.servlet.WriteListener; + +abstract public class ServletOutputStream extends OutputStream +{ + protected ServletOutputStream(){} + public abstract boolean isReady(); + public abstract void setWriteListener(WriteListener p0); + public void print(String p0){} + public void print(boolean p0){} + public void print(char p0){} + public void print(double p0){} + public void print(float p0){} + public void print(int p0){} + public void print(long p0){} + public void println(){} + public void println(String p0){} + public void println(boolean p0){} + public void println(char p0){} + public void println(double p0){} + public void println(float p0){} + public void println(int p0){} + public void println(long p0){} +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ServletRegistration.java b/java/ql/test/stubs/javax-4.0.1/servlet/ServletRegistration.java new file mode 100644 index 00000000000..a1cc66f2d19 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/ServletRegistration.java @@ -0,0 +1,23 @@ +// Generated automatically from javax.servlet.ServletRegistration for testing purposes + +package javax.servlet; + +import java.util.Collection; +import java.util.Set; +import javax.servlet.MultipartConfigElement; +import javax.servlet.Registration; +import javax.servlet.ServletSecurityElement; + +public interface ServletRegistration extends Registration +{ + Collection getMappings(); + Set addMapping(String... p0); + String getRunAsRole(); + static public interface Dynamic extends Registration.Dynamic, ServletRegistration + { + Set setServletSecurity(ServletSecurityElement p0); + void setLoadOnStartup(int p0); + void setMultipartConfig(MultipartConfigElement p0); + void setRunAsRole(String p0); + } +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ServletRequest.java b/java/ql/test/stubs/javax-4.0.1/servlet/ServletRequest.java new file mode 100644 index 00000000000..fc0db462cc0 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/ServletRequest.java @@ -0,0 +1,55 @@ +// Generated automatically from javax.servlet.ServletRequest for testing purposes + +package javax.servlet; + +import java.io.BufferedReader; +import java.util.Enumeration; +import java.util.Locale; +import java.util.Map; +import javax.servlet.AsyncContext; +import javax.servlet.DispatcherType; +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletContext; +import javax.servlet.ServletInputStream; +import javax.servlet.ServletResponse; + +public interface ServletRequest +{ + AsyncContext getAsyncContext(); + AsyncContext startAsync(); + AsyncContext startAsync(ServletRequest p0, ServletResponse p1); + BufferedReader getReader(); + DispatcherType getDispatcherType(); + Enumeration getLocales(); + Enumeration getAttributeNames(); + Enumeration getParameterNames(); + Locale getLocale(); + Map getParameterMap(); + Object getAttribute(String p0); + RequestDispatcher getRequestDispatcher(String p0); + ServletContext getServletContext(); + ServletInputStream getInputStream(); + String getCharacterEncoding(); + String getContentType(); + String getLocalAddr(); + String getLocalName(); + String getParameter(String p0); + String getProtocol(); + String getRealPath(String p0); + String getRemoteAddr(); + String getRemoteHost(); + String getScheme(); + String getServerName(); + String[] getParameterValues(String p0); + boolean isAsyncStarted(); + boolean isAsyncSupported(); + boolean isSecure(); + int getContentLength(); + int getLocalPort(); + int getRemotePort(); + int getServerPort(); + long getContentLengthLong(); + void removeAttribute(String p0); + void setAttribute(String p0, Object p1); + void setCharacterEncoding(String p0); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ServletResponse.java b/java/ql/test/stubs/javax-4.0.1/servlet/ServletResponse.java new file mode 100644 index 00000000000..db6610bc15d --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/ServletResponse.java @@ -0,0 +1,27 @@ +// Generated automatically from javax.servlet.ServletResponse for testing purposes + +package javax.servlet; + +import java.io.PrintWriter; +import java.util.Locale; +import javax.servlet.ServletOutputStream; + +public interface ServletResponse +{ + Locale getLocale(); + PrintWriter getWriter(); + ServletOutputStream getOutputStream(); + String getCharacterEncoding(); + String getContentType(); + boolean isCommitted(); + int getBufferSize(); + void flushBuffer(); + void reset(); + void resetBuffer(); + void setBufferSize(int p0); + void setCharacterEncoding(String p0); + void setContentLength(int p0); + void setContentLengthLong(long p0); + void setContentType(String p0); + void setLocale(Locale p0); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ServletSecurityElement.java b/java/ql/test/stubs/javax-4.0.1/servlet/ServletSecurityElement.java new file mode 100644 index 00000000000..def47937391 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/ServletSecurityElement.java @@ -0,0 +1,19 @@ +// Generated automatically from javax.servlet.ServletSecurityElement for testing purposes + +package javax.servlet; + +import java.util.Collection; +import javax.servlet.HttpConstraintElement; +import javax.servlet.HttpMethodConstraintElement; +import javax.servlet.annotation.ServletSecurity; + +public class ServletSecurityElement extends HttpConstraintElement +{ + public Collection getHttpMethodConstraints(){ return null; } + public Collection getMethodNames(){ return null; } + public ServletSecurityElement(){} + public ServletSecurityElement(Collection p0){} + public ServletSecurityElement(HttpConstraintElement p0){} + public ServletSecurityElement(HttpConstraintElement p0, Collection p1){} + public ServletSecurityElement(ServletSecurity p0){} +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/SessionCookieConfig.java b/java/ql/test/stubs/javax-4.0.1/servlet/SessionCookieConfig.java new file mode 100644 index 00000000000..4cae9a11f30 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/SessionCookieConfig.java @@ -0,0 +1,22 @@ +// Generated automatically from javax.servlet.SessionCookieConfig for testing purposes + +package javax.servlet; + + +public interface SessionCookieConfig +{ + String getComment(); + String getDomain(); + String getName(); + String getPath(); + boolean isHttpOnly(); + boolean isSecure(); + int getMaxAge(); + void setComment(String p0); + void setDomain(String p0); + void setHttpOnly(boolean p0); + void setMaxAge(int p0); + void setName(String p0); + void setPath(String p0); + void setSecure(boolean p0); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/SessionTrackingMode.java b/java/ql/test/stubs/javax-4.0.1/servlet/SessionTrackingMode.java new file mode 100644 index 00000000000..684ac40c56f --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/SessionTrackingMode.java @@ -0,0 +1,10 @@ +// Generated automatically from javax.servlet.SessionTrackingMode for testing purposes + +package javax.servlet; + + +public enum SessionTrackingMode +{ + COOKIE, SSL, URL; + private SessionTrackingMode() {} +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/WriteListener.java b/java/ql/test/stubs/javax-4.0.1/servlet/WriteListener.java new file mode 100644 index 00000000000..24fe504271c --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/WriteListener.java @@ -0,0 +1,11 @@ +// Generated automatically from javax.servlet.WriteListener for testing purposes + +package javax.servlet; + +import java.util.EventListener; + +public interface WriteListener extends EventListener +{ + void onError(Throwable p0); + void onWritePossible(); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/HttpConstraint.java b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/HttpConstraint.java new file mode 100644 index 00000000000..f47efc62744 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/HttpConstraint.java @@ -0,0 +1,18 @@ +// Generated automatically from javax.servlet.annotation.HttpConstraint for testing purposes + +package javax.servlet.annotation; + +import java.lang.annotation.Annotation; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import javax.servlet.annotation.ServletSecurity; + +@Documented +@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) +public @interface HttpConstraint +{ + ServletSecurity.EmptyRoleSemantic value(); + ServletSecurity.TransportGuarantee transportGuarantee(); + String[] rolesAllowed(); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/HttpMethodConstraint.java b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/HttpMethodConstraint.java new file mode 100644 index 00000000000..288f4651018 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/HttpMethodConstraint.java @@ -0,0 +1,19 @@ +// Generated automatically from javax.servlet.annotation.HttpMethodConstraint for testing purposes + +package javax.servlet.annotation; + +import java.lang.annotation.Annotation; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import javax.servlet.annotation.ServletSecurity; + +@Documented +@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) +public @interface HttpMethodConstraint +{ + ServletSecurity.EmptyRoleSemantic emptyRoleSemantic(); + ServletSecurity.TransportGuarantee transportGuarantee(); + String value(); + String[] rolesAllowed(); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/MultipartConfig.java b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/MultipartConfig.java new file mode 100644 index 00000000000..baccad3e199 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/MultipartConfig.java @@ -0,0 +1,19 @@ +// Generated automatically from javax.servlet.annotation.MultipartConfig for testing purposes + +package javax.servlet.annotation; + +import java.lang.annotation.Annotation; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) +@Target(value={java.lang.annotation.ElementType.TYPE}) +public @interface MultipartConfig +{ + String location(); + int fileSizeThreshold(); + long maxFileSize(); + long maxRequestSize(); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/ServletSecurity.java b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/ServletSecurity.java new file mode 100644 index 00000000000..021b6c64c2a --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/ServletSecurity.java @@ -0,0 +1,33 @@ +// Generated automatically from javax.servlet.annotation.ServletSecurity for testing purposes + +package javax.servlet.annotation; + +import java.lang.annotation.Annotation; +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import javax.servlet.annotation.HttpConstraint; +import javax.servlet.annotation.HttpMethodConstraint; + +@Documented +@Inherited +@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) +@Target(value={java.lang.annotation.ElementType.TYPE}) +public @interface ServletSecurity +{ + HttpConstraint value(); + HttpMethodConstraint[] httpMethodConstraints(); + static public enum EmptyRoleSemantic + { + DENY, PERMIT; + private EmptyRoleSemantic() {} + } + static public enum TransportGuarantee + { + CONFIDENTIAL, NONE; + private TransportGuarantee() {} + } +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/WebInitParam.java b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/WebInitParam.java new file mode 100644 index 00000000000..513c7d7053b --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/WebInitParam.java @@ -0,0 +1,20 @@ +// Generated automatically from javax.servlet.annotation.WebInitParam for testing purposes + +package javax.servlet.annotation; + +import java.lang.annotation.Annotation; +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Documented +@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) +@Target(value={java.lang.annotation.ElementType.TYPE}) +public @interface WebInitParam +{ + String description(); + String name(); + String value(); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/WebServlet.java b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/WebServlet.java new file mode 100644 index 00000000000..83b5d2e476a --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/WebServlet.java @@ -0,0 +1,28 @@ +// Generated automatically from javax.servlet.annotation.WebServlet for testing purposes + +package javax.servlet.annotation; + +import java.lang.annotation.Annotation; +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import javax.servlet.annotation.WebInitParam; + +@Documented +@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) +@Target(value={java.lang.annotation.ElementType.TYPE}) +public @interface WebServlet +{ + String description(); + String displayName(); + String largeIcon(); + String name(); + String smallIcon(); + String[] urlPatterns(); + String[] value(); + WebInitParam[] initParams(); + boolean asyncSupported(); + int loadOnStartup(); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/JspConfigDescriptor.java b/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/JspConfigDescriptor.java new file mode 100644 index 00000000000..8d93a4318d7 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/JspConfigDescriptor.java @@ -0,0 +1,13 @@ +// Generated automatically from javax.servlet.descriptor.JspConfigDescriptor for testing purposes + +package javax.servlet.descriptor; + +import java.util.Collection; +import javax.servlet.descriptor.JspPropertyGroupDescriptor; +import javax.servlet.descriptor.TaglibDescriptor; + +public interface JspConfigDescriptor +{ + Collection getJspPropertyGroups(); + Collection getTaglibs(); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/JspPropertyGroupDescriptor.java b/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/JspPropertyGroupDescriptor.java new file mode 100644 index 00000000000..dd852fa1088 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/JspPropertyGroupDescriptor.java @@ -0,0 +1,21 @@ +// Generated automatically from javax.servlet.descriptor.JspPropertyGroupDescriptor for testing purposes + +package javax.servlet.descriptor; + +import java.util.Collection; + +public interface JspPropertyGroupDescriptor +{ + Collection getIncludeCodas(); + Collection getIncludePreludes(); + Collection getUrlPatterns(); + String getBuffer(); + String getDefaultContentType(); + String getDeferredSyntaxAllowedAsLiteral(); + String getElIgnored(); + String getErrorOnUndeclaredNamespace(); + String getIsXml(); + String getPageEncoding(); + String getScriptingInvalid(); + String getTrimDirectiveWhitespaces(); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/TaglibDescriptor.java b/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/TaglibDescriptor.java new file mode 100644 index 00000000000..c3dd5c10473 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/TaglibDescriptor.java @@ -0,0 +1,10 @@ +// Generated automatically from javax.servlet.descriptor.TaglibDescriptor for testing purposes + +package javax.servlet.descriptor; + + +public interface TaglibDescriptor +{ + String getTaglibLocation(); + String getTaglibURI(); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/Cookie.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/Cookie.java new file mode 100644 index 00000000000..b5a180029be --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/http/Cookie.java @@ -0,0 +1,29 @@ +// Generated automatically from javax.servlet.http.Cookie for testing purposes + +package javax.servlet.http; + +import java.io.Serializable; + +public class Cookie implements Cloneable, Serializable +{ + protected Cookie() {} + public Cookie(String p0, String p1){} + public Object clone(){ return null; } + public String getComment(){ return null; } + public String getDomain(){ return null; } + public String getName(){ return null; } + public String getPath(){ return null; } + public String getValue(){ return null; } + public boolean getSecure(){ return false; } + public boolean isHttpOnly(){ return false; } + public int getMaxAge(){ return 0; } + public int getVersion(){ return 0; } + public void setComment(String p0){} + public void setDomain(String p0){} + public void setHttpOnly(boolean p0){} + public void setMaxAge(int p0){} + public void setPath(String p0){} + public void setSecure(boolean p0){} + public void setValue(String p0){} + public void setVersion(int p0){} +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServlet.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServlet.java new file mode 100644 index 00000000000..1247f956d78 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServlet.java @@ -0,0 +1,24 @@ +// Generated automatically from javax.servlet.http.HttpServlet for testing purposes + +package javax.servlet.http; + +import javax.servlet.GenericServlet; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +abstract public class HttpServlet extends GenericServlet +{ + protected long getLastModified(HttpServletRequest p0){ return 0; } + protected void doDelete(HttpServletRequest p0, HttpServletResponse p1){} + protected void doGet(HttpServletRequest p0, HttpServletResponse p1){} + protected void doHead(HttpServletRequest p0, HttpServletResponse p1){} + protected void doOptions(HttpServletRequest p0, HttpServletResponse p1){} + protected void doPost(HttpServletRequest p0, HttpServletResponse p1){} + protected void doPut(HttpServletRequest p0, HttpServletResponse p1){} + protected void doTrace(HttpServletRequest p0, HttpServletResponse p1){} + protected void service(HttpServletRequest p0, HttpServletResponse p1){} + public HttpServlet(){} + public void service(ServletRequest p0, ServletResponse p1){} +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletMapping.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletMapping.java new file mode 100644 index 00000000000..1b597f27773 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletMapping.java @@ -0,0 +1,13 @@ +// Generated automatically from javax.servlet.http.HttpServletMapping for testing purposes + +package javax.servlet.http; + +import javax.servlet.http.MappingMatch; + +public interface HttpServletMapping +{ + MappingMatch getMappingMatch(); + String getMatchValue(); + String getPattern(); + String getServletName(); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletRequest.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletRequest.java new file mode 100644 index 00000000000..8612c34fb69 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletRequest.java @@ -0,0 +1,60 @@ +// Generated automatically from javax.servlet.http.HttpServletRequest for testing purposes + +package javax.servlet.http; + +import java.security.Principal; +import java.util.Collection; +import java.util.Enumeration; +import java.util.Map; +import javax.servlet.ServletRequest; +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletMapping; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import javax.servlet.http.HttpUpgradeHandler; +import javax.servlet.http.Part; +import javax.servlet.http.PushBuilder; + +public interface HttpServletRequest extends ServletRequest +{ + T upgrade(java.lang.Class p0); + Collection getParts(); + Cookie[] getCookies(); + Enumeration getHeaderNames(); + Enumeration getHeaders(String p0); + HttpSession getSession(); + HttpSession getSession(boolean p0); + Part getPart(String p0); + Principal getUserPrincipal(); + String changeSessionId(); + String getAuthType(); + String getContextPath(); + String getHeader(String p0); + String getMethod(); + String getPathInfo(); + String getPathTranslated(); + String getQueryString(); + String getRemoteUser(); + String getRequestURI(); + String getRequestedSessionId(); + String getServletPath(); + StringBuffer getRequestURL(); + boolean authenticate(HttpServletResponse p0); + boolean isRequestedSessionIdFromCookie(); + boolean isRequestedSessionIdFromURL(); + boolean isRequestedSessionIdFromUrl(); + boolean isRequestedSessionIdValid(); + boolean isUserInRole(String p0); + default HttpServletMapping getHttpServletMapping(){ return null; } + default Map getTrailerFields(){ return null; } + default PushBuilder newPushBuilder(){ return null; } + default boolean isTrailerFieldsReady(){ return false; } + int getIntHeader(String p0); + long getDateHeader(String p0); + static String BASIC_AUTH = null; + static String CLIENT_CERT_AUTH = null; + static String DIGEST_AUTH = null; + static String FORM_AUTH = null; + void login(String p0, String p1); + void logout(); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletResponse.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletResponse.java new file mode 100644 index 00000000000..da902dbf30c --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletResponse.java @@ -0,0 +1,77 @@ +// Generated automatically from javax.servlet.http.HttpServletResponse for testing purposes + +package javax.servlet.http; + +import java.util.Collection; +import java.util.Map; +import java.util.function.Supplier; +import javax.servlet.ServletResponse; +import javax.servlet.http.Cookie; + +public interface HttpServletResponse extends ServletResponse +{ + Collection getHeaderNames(); + Collection getHeaders(String p0); + String encodeRedirectURL(String p0); + String encodeRedirectUrl(String p0); + String encodeURL(String p0); + String encodeUrl(String p0); + String getHeader(String p0); + boolean containsHeader(String p0); + default Supplier> getTrailerFields(){ return null; } + default void setTrailerFields(Supplier> p0){} + int getStatus(); + static int SC_ACCEPTED = 0; + static int SC_BAD_GATEWAY = 0; + static int SC_BAD_REQUEST = 0; + static int SC_CONFLICT = 0; + static int SC_CONTINUE = 0; + static int SC_CREATED = 0; + static int SC_EXPECTATION_FAILED = 0; + static int SC_FORBIDDEN = 0; + static int SC_FOUND = 0; + static int SC_GATEWAY_TIMEOUT = 0; + static int SC_GONE = 0; + static int SC_HTTP_VERSION_NOT_SUPPORTED = 0; + static int SC_INTERNAL_SERVER_ERROR = 0; + static int SC_LENGTH_REQUIRED = 0; + static int SC_METHOD_NOT_ALLOWED = 0; + static int SC_MOVED_PERMANENTLY = 0; + static int SC_MOVED_TEMPORARILY = 0; + static int SC_MULTIPLE_CHOICES = 0; + static int SC_NON_AUTHORITATIVE_INFORMATION = 0; + static int SC_NOT_ACCEPTABLE = 0; + static int SC_NOT_FOUND = 0; + static int SC_NOT_IMPLEMENTED = 0; + static int SC_NOT_MODIFIED = 0; + static int SC_NO_CONTENT = 0; + static int SC_OK = 0; + static int SC_PARTIAL_CONTENT = 0; + static int SC_PAYMENT_REQUIRED = 0; + static int SC_PRECONDITION_FAILED = 0; + static int SC_PROXY_AUTHENTICATION_REQUIRED = 0; + static int SC_REQUESTED_RANGE_NOT_SATISFIABLE = 0; + static int SC_REQUEST_ENTITY_TOO_LARGE = 0; + static int SC_REQUEST_TIMEOUT = 0; + static int SC_REQUEST_URI_TOO_LONG = 0; + static int SC_RESET_CONTENT = 0; + static int SC_SEE_OTHER = 0; + static int SC_SERVICE_UNAVAILABLE = 0; + static int SC_SWITCHING_PROTOCOLS = 0; + static int SC_TEMPORARY_REDIRECT = 0; + static int SC_UNAUTHORIZED = 0; + static int SC_UNSUPPORTED_MEDIA_TYPE = 0; + static int SC_USE_PROXY = 0; + void addCookie(Cookie p0); + void addDateHeader(String p0, long p1); + void addHeader(String p0, String p1); + void addIntHeader(String p0, int p1); + void sendError(int p0); + void sendError(int p0, String p1); + void sendRedirect(String p0); + void setDateHeader(String p0, long p1); + void setHeader(String p0, String p1); + void setIntHeader(String p0, int p1); + void setStatus(int p0); + void setStatus(int p0, String p1); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpSession.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpSession.java new file mode 100644 index 00000000000..f8f455b1423 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpSession.java @@ -0,0 +1,28 @@ +// Generated automatically from javax.servlet.http.HttpSession for testing purposes + +package javax.servlet.http; + +import java.util.Enumeration; +import javax.servlet.ServletContext; +import javax.servlet.http.HttpSessionContext; + +public interface HttpSession +{ + Enumeration getAttributeNames(); + HttpSessionContext getSessionContext(); + Object getAttribute(String p0); + Object getValue(String p0); + ServletContext getServletContext(); + String getId(); + String[] getValueNames(); + boolean isNew(); + int getMaxInactiveInterval(); + long getCreationTime(); + long getLastAccessedTime(); + void invalidate(); + void putValue(String p0, Object p1); + void removeAttribute(String p0); + void removeValue(String p0); + void setAttribute(String p0, Object p1); + void setMaxInactiveInterval(int p0); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpSessionContext.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpSessionContext.java new file mode 100644 index 00000000000..97a77b48358 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpSessionContext.java @@ -0,0 +1,12 @@ +// Generated automatically from javax.servlet.http.HttpSessionContext for testing purposes + +package javax.servlet.http; + +import java.util.Enumeration; +import javax.servlet.http.HttpSession; + +public interface HttpSessionContext +{ + Enumeration getIds(); + HttpSession getSession(String p0); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpUpgradeHandler.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpUpgradeHandler.java new file mode 100644 index 00000000000..987d49dbde2 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpUpgradeHandler.java @@ -0,0 +1,11 @@ +// Generated automatically from javax.servlet.http.HttpUpgradeHandler for testing purposes + +package javax.servlet.http; + +import javax.servlet.http.WebConnection; + +public interface HttpUpgradeHandler +{ + void destroy(); + void init(WebConnection p0); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/MappingMatch.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/MappingMatch.java new file mode 100644 index 00000000000..0432fd2ef7d --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/http/MappingMatch.java @@ -0,0 +1,10 @@ +// Generated automatically from javax.servlet.http.MappingMatch for testing purposes + +package javax.servlet.http; + + +public enum MappingMatch +{ + CONTEXT_ROOT, DEFAULT, EXACT, EXTENSION, PATH; + private MappingMatch() {} +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/Part.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/Part.java new file mode 100644 index 00000000000..a4e599748a5 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/http/Part.java @@ -0,0 +1,20 @@ +// Generated automatically from javax.servlet.http.Part for testing purposes + +package javax.servlet.http; + +import java.io.InputStream; +import java.util.Collection; + +public interface Part +{ + Collection getHeaderNames(); + Collection getHeaders(String p0); + InputStream getInputStream(); + String getContentType(); + String getHeader(String p0); + String getName(); + String getSubmittedFileName(); + long getSize(); + void delete(); + void write(String p0); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/PushBuilder.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/PushBuilder.java new file mode 100644 index 00000000000..195e2426a83 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/http/PushBuilder.java @@ -0,0 +1,23 @@ +// Generated automatically from javax.servlet.http.PushBuilder for testing purposes + +package javax.servlet.http; + +import java.util.Set; + +public interface PushBuilder +{ + PushBuilder addHeader(String p0, String p1); + PushBuilder method(String p0); + PushBuilder path(String p0); + PushBuilder queryString(String p0); + PushBuilder removeHeader(String p0); + PushBuilder sessionId(String p0); + PushBuilder setHeader(String p0, String p1); + Set getHeaderNames(); + String getHeader(String p0); + String getMethod(); + String getPath(); + String getQueryString(); + String getSessionId(); + void push(); +} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/WebConnection.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/WebConnection.java new file mode 100644 index 00000000000..5001c046400 --- /dev/null +++ b/java/ql/test/stubs/javax-4.0.1/servlet/http/WebConnection.java @@ -0,0 +1,12 @@ +// Generated automatically from javax.servlet.http.WebConnection for testing purposes + +package javax.servlet.http; + +import javax.servlet.ServletInputStream; +import javax.servlet.ServletOutputStream; + +public interface WebConnection extends AutoCloseable +{ + ServletInputStream getInputStream(); + ServletOutputStream getOutputStream(); +} From 472cca9221c027e507025998a0ba5b962ed34c8d Mon Sep 17 00:00:00 2001 From: Jonathan Leitschuh Date: Fri, 21 Jun 2024 10:29:27 -0400 Subject: [PATCH 004/258] Align Java CommandInjectionRuntimeExec.ql Severity Align severity with other command injection vulnerabilities: - https://github.com/github/codeql/blob/4a448f445e79b9baa07a302d8062fe9f0fcb00b9/cpp/ql/src/Security/CWE/CWE-078/ExecTainted.ql#L8 - https://github.com/github/codeql/blob/4a448f445e79b9baa07a302d8062fe9f0fcb00b9/go/ql/src/Security/CWE-078/CommandInjection.ql#L7 - https://github.com/github/codeql/blob/4a448f445e79b9baa07a302d8062fe9f0fcb00b9/swift/ql/src/queries/Security/CWE-078/CommandInjection.ql#L7 - https://github.com/github/codeql/blob/4a448f445e79b9baa07a302d8062fe9f0fcb00b9/javascript/ql/src/Security/CWE-078/CommandInjection.ql#L7 --- .../Security/CWE/CWE-078/CommandInjectionRuntimeExec.ql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/ql/src/experimental/Security/CWE/CWE-078/CommandInjectionRuntimeExec.ql b/java/ql/src/experimental/Security/CWE/CWE-078/CommandInjectionRuntimeExec.ql index c185a4f67da..88733773de1 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-078/CommandInjectionRuntimeExec.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-078/CommandInjectionRuntimeExec.ql @@ -3,7 +3,7 @@ * @description High sensitvity and precision version of java/command-line-injection, designed to find more cases of command injection in rare cases that the default query does not find * @kind path-problem * @problem.severity error - * @security-severity 6.1 + * @security-severity 9.8 * @precision high * @id java/command-line-injection-extra * @tags security From 71e1d63953f8aa1bfaa27d175fc1736e710e1719 Mon Sep 17 00:00:00 2001 From: am0o0 <77095239+am0o0@users.noreply.github.com> Date: Sat, 13 Jul 2024 18:00:50 +0200 Subject: [PATCH 005/258] finilize tests --- .../security/CWE-347/Auth0NoVerifier.expected | 24 ++++ .../security/CWE-347/JwtNoVerifier.java | 121 ++++++++++++++++++ .../query-tests/security/CWE-347/Test.java | 92 ------------- .../query-tests/security/CWE-347/options | 2 +- .../query-tests/security/CWE-347/pom.xml | 43 ------- .../com/auth0/jwt/JWT.java | 17 +++ .../com/auth0/jwt/JWTCreator.java | 46 +++++++ .../com/auth0/jwt/JWTVerifier.java | 12 ++ .../com/auth0/jwt/algorithms/Algorithm.java | 50 ++++++++ .../jwt/exceptions/JWTCreationException.java | 15 +++ .../exceptions/JWTVerificationException.java | 11 ++ .../com/auth0/jwt/interfaces/Claim.java | 25 ++++ .../com/auth0/jwt/interfaces/DecodedJWT.java | 14 ++ .../jwt/interfaces/ECDSAKeyProvider.java | 13 ++ .../com/auth0/jwt/interfaces/Header.java | 14 ++ .../com/auth0/jwt/interfaces/JWTVerifier.java | 11 ++ .../com/auth0/jwt/interfaces/KeyProvider.java | 13 ++ .../com/auth0/jwt/interfaces/Payload.java | 25 ++++ .../auth0/jwt/interfaces/RSAKeyProvider.java | 13 ++ .../auth0/jwt/interfaces/Verification.java | 38 ++++++ .../com/github/luben/zstd/BufferPool.java | 11 ++ .../javax/crypto/KeyGenerator.java | 26 ++++ .../javax/crypto/KeyGeneratorSpi.java | 16 +++ .../javax/crypto/SecretKey.java | 11 ++ .../javax/security/auth/Destroyable.java | 10 ++ .../javax/servlet/AsyncContext.java | 31 +++++ .../javax/servlet/AsyncEvent.java | 20 +++ .../javax/servlet/AsyncListener.java | 14 ++ .../javax/servlet/DispatcherType.java | 10 ++ .../javax/servlet/Filter.java | 15 +++ .../javax/servlet/FilterChain.java | 11 ++ .../javax/servlet/FilterConfig.java | 14 ++ .../javax/servlet/FilterRegistration.java | 19 +++ .../javax/servlet/GenericServlet.java | 28 ++++ .../javax/servlet/HttpConstraintElement.java | 16 +++ .../servlet/HttpMethodConstraintElement.java | 13 ++ .../javax/servlet/MultipartConfigElement.java | 17 +++ .../javax/servlet/ReadListener.java | 12 ++ .../javax/servlet/Registration.java | 20 +++ .../javax/servlet/RequestDispatcher.java | 30 +++++ .../javax/servlet/Servlet.java | 16 +++ .../javax/servlet/ServletConfig.java | 14 ++ .../javax/servlet/ServletContext.java | 83 ++++++++++++ .../javax/servlet/ServletInputStream.java | 15 +++ .../javax/servlet/ServletOutputStream.java | 28 ++++ .../javax/servlet/ServletRegistration.java | 23 ++++ .../javax/servlet/ServletRequest.java | 55 ++++++++ .../javax/servlet/ServletResponse.java | 27 ++++ .../javax/servlet/ServletSecurityElement.java | 19 +++ .../javax/servlet/SessionCookieConfig.java | 22 ++++ .../javax/servlet/SessionTrackingMode.java | 10 ++ .../javax/servlet/WriteListener.java | 11 ++ .../servlet/annotation/HttpConstraint.java | 18 +++ .../annotation/HttpMethodConstraint.java | 19 +++ .../servlet/annotation/MultipartConfig.java | 19 +++ .../servlet/annotation/ServletSecurity.java | 33 +++++ .../servlet/annotation/WebInitParam.java | 20 +++ .../javax/servlet/annotation/WebServlet.java | 28 ++++ .../descriptor/JspConfigDescriptor.java | 13 ++ .../JspPropertyGroupDescriptor.java | 21 +++ .../servlet/descriptor/TaglibDescriptor.java | 10 ++ .../javax/servlet/http/Cookie.java | 29 +++++ .../javax/servlet/http/HttpServlet.java | 46 +++++++ .../servlet/http/HttpServletMapping.java | 13 ++ .../servlet/http/HttpServletRequest.java | 60 +++++++++ .../servlet/http/HttpServletResponse.java | 77 +++++++++++ .../javax/servlet/http/HttpSession.java | 28 ++++ .../servlet/http/HttpSessionContext.java | 12 ++ .../servlet/http/HttpUpgradeHandler.java | 11 ++ .../javax/servlet/http/MappingMatch.java | 10 ++ .../javax/servlet/http/Part.java | 20 +++ .../javax/servlet/http/PushBuilder.java | 23 ++++ .../javax/servlet/http/WebConnection.java | 12 ++ 73 files changed, 1652 insertions(+), 136 deletions(-) create mode 100644 java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected create mode 100644 java/ql/test/experimental/query-tests/security/CWE-347/JwtNoVerifier.java delete mode 100644 java/ql/test/experimental/query-tests/security/CWE-347/Test.java delete mode 100644 java/ql/test/experimental/query-tests/security/CWE-347/pom.xml create mode 100644 java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/JWT.java create mode 100644 java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/JWTCreator.java create mode 100644 java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/JWTVerifier.java create mode 100644 java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/algorithms/Algorithm.java create mode 100644 java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/exceptions/JWTCreationException.java create mode 100644 java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/exceptions/JWTVerificationException.java create mode 100644 java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/Claim.java create mode 100644 java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/DecodedJWT.java create mode 100644 java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/ECDSAKeyProvider.java create mode 100644 java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/Header.java create mode 100644 java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/JWTVerifier.java create mode 100644 java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/KeyProvider.java create mode 100644 java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/Payload.java create mode 100644 java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/RSAKeyProvider.java create mode 100644 java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/Verification.java create mode 100644 java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/github/luben/zstd/BufferPool.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/KeyGenerator.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/KeyGeneratorSpi.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/SecretKey.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/security/auth/Destroyable.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncContext.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncEvent.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncListener.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/DispatcherType.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Filter.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterChain.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterConfig.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterRegistration.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/GenericServlet.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/HttpConstraintElement.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/HttpMethodConstraintElement.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/MultipartConfigElement.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ReadListener.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Registration.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/RequestDispatcher.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Servlet.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletConfig.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletContext.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletInputStream.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletOutputStream.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletRegistration.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletRequest.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletResponse.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletSecurityElement.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/SessionCookieConfig.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/SessionTrackingMode.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/WriteListener.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/HttpConstraint.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/HttpMethodConstraint.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/MultipartConfig.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/ServletSecurity.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/WebInitParam.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/WebServlet.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/JspConfigDescriptor.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/JspPropertyGroupDescriptor.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/TaglibDescriptor.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/Cookie.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServlet.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletMapping.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletRequest.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletResponse.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpSession.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpSessionContext.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpUpgradeHandler.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/MappingMatch.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/Part.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/PushBuilder.java create mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/WebConnection.java diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected new file mode 100644 index 00000000000..7836dda7a11 --- /dev/null +++ b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected @@ -0,0 +1,24 @@ +edges +| JwtNoVerifier.java:43:28:43:55 | getParameter(...) : String | JwtNoVerifier.java:44:39:44:47 | JwtToken2 : String | +| JwtNoVerifier.java:44:39:44:47 | JwtToken2 : String | JwtNoVerifier.java:73:38:73:55 | token : String | +| JwtNoVerifier.java:73:38:73:55 | token : String | JwtNoVerifier.java:74:37:74:41 | token : String | +| JwtNoVerifier.java:74:26:74:42 | decode(...) : DecodedJWT | JwtNoVerifier.java:75:28:75:30 | jwt : DecodedJWT | +| JwtNoVerifier.java:74:37:74:41 | token : String | JwtNoVerifier.java:74:26:74:42 | decode(...) : DecodedJWT | +| JwtNoVerifier.java:75:16:75:31 | of(...) : Optional [] : DecodedJWT | JwtNoVerifier.java:75:37:75:40 | item : DecodedJWT | +| JwtNoVerifier.java:75:28:75:30 | jwt : DecodedJWT | JwtNoVerifier.java:75:16:75:31 | of(...) : Optional [] : DecodedJWT | +| JwtNoVerifier.java:75:37:75:40 | item : DecodedJWT | JwtNoVerifier.java:75:45:75:48 | item : DecodedJWT | +| JwtNoVerifier.java:75:45:75:48 | item : DecodedJWT | JwtNoVerifier.java:75:45:75:69 | getClaim(...) | +nodes +| JwtNoVerifier.java:43:28:43:55 | getParameter(...) : String | semmle.label | getParameter(...) : String | +| JwtNoVerifier.java:44:39:44:47 | JwtToken2 : String | semmle.label | JwtToken2 : String | +| JwtNoVerifier.java:73:38:73:55 | token : String | semmle.label | token : String | +| JwtNoVerifier.java:74:26:74:42 | decode(...) : DecodedJWT | semmle.label | decode(...) : DecodedJWT | +| JwtNoVerifier.java:74:37:74:41 | token : String | semmle.label | token : String | +| JwtNoVerifier.java:75:16:75:31 | of(...) : Optional [] : DecodedJWT | semmle.label | of(...) : Optional [] : DecodedJWT | +| JwtNoVerifier.java:75:28:75:30 | jwt : DecodedJWT | semmle.label | jwt : DecodedJWT | +| JwtNoVerifier.java:75:37:75:40 | item : DecodedJWT | semmle.label | item : DecodedJWT | +| JwtNoVerifier.java:75:45:75:48 | item : DecodedJWT | semmle.label | item : DecodedJWT | +| JwtNoVerifier.java:75:45:75:69 | getClaim(...) | semmle.label | getClaim(...) | +subpaths +#select +| JwtNoVerifier.java:75:45:75:69 | getClaim(...) | JwtNoVerifier.java:43:28:43:55 | getParameter(...) : String | JwtNoVerifier.java:75:45:75:69 | getClaim(...) | This parses a $@, but the signature is not verified. | JwtNoVerifier.java:43:28:43:55 | getParameter(...) | JWT | diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/JwtNoVerifier.java b/java/ql/test/experimental/query-tests/security/CWE-347/JwtNoVerifier.java new file mode 100644 index 00000000000..876c9c5b1c8 --- /dev/null +++ b/java/ql/test/experimental/query-tests/security/CWE-347/JwtNoVerifier.java @@ -0,0 +1,121 @@ +import java.io.*; +import java.security.NoSuchAlgorithmException; +import java.util.Objects; +import java.util.Optional; +import javax.crypto.KeyGenerator; +import javax.servlet.http.*; +import javax.servlet.annotation.*; + +import com.auth0.jwt.JWT; +import com.auth0.jwt.JWTVerifier; +import com.auth0.jwt.algorithms.Algorithm; +import com.auth0.jwt.exceptions.JWTVerificationException; +import com.auth0.jwt.interfaces.DecodedJWT; + +@WebServlet(description = "", displayName = "", largeIcon = "", name = "JwtTest1", smallIcon = "", urlPatterns = {}, value = "/Auth", initParams = {}, asyncSupported = false, loadOnStartup = 0) +public class JwtNoVerifier extends HttpServlet { + + public void doPost(HttpServletRequest request, HttpServletResponse response) { + response.setContentType("text/html"); + PrintWriter out = response.getWriter(); + + // OK: first decode without signature verification + // and then verify with signature verification + String JwtToken1 = request.getParameter("JWT1"); + String userName = decodeToken(JwtToken1); + verifyToken(JwtToken1, "A Securely generated Key"); + if (Objects.equals(userName, "Admin")) { + out.println(""); + out.println("

    " + "heyyy Admin" + "

    "); + out.println(""); + } + + out.println(""); + out.println("

    " + "heyyy Nobody" + "

    "); + out.println(""); + } + + public void doGet(HttpServletRequest request, HttpServletResponse response) { + response.setContentType("text/html"); + PrintWriter out = response.getWriter(); + + // NOT OK: only decode, no verification + String JwtToken2 = request.getParameter("JWT2"); + String userName = decodeToken(JwtToken2); + if (Objects.equals(userName, "Admin")) { + out.println(""); + out.println("

    " + "heyyy Admin" + "

    "); + out.println(""); + } + + // OK: no clue of the use of unsafe decoded JWT return value + JwtToken2 = request.getParameter("JWT2"); + JWT.decode(JwtToken2); + + + out.println(""); + out.println("

    " + "heyyy Nobody" + "

    "); + out.println(""); + } + + public static boolean verifyToken(final String token, final String key) { + try { + JWTVerifier verifier = JWT.require(Algorithm.HMAC256(key)).build(); + verifier.verify(token); + return true; + } catch (JWTVerificationException e) { + System.out.printf("jwt decode fail, token: %s", e); + } + return false; + } + + + public static String decodeToken(final String token) { + DecodedJWT jwt = JWT.decode(token); + return Optional.of(jwt).map(item -> item.getClaim("userName").asString()).orElse(""); + } + + + private static String getSecureRandomKey() throws NoSuchAlgorithmException { + KeyGenerator keyGen = KeyGenerator.getInstance("AES"); + keyGen.init(256); // for example + return keyGen.generateKey().toString(); + } + + static final String JWT_KEY = "KEY"; + + public static void NoNeedForTest(HttpServletRequest request) { + // constant key + String JwtToken3 = request.getParameter("JWT3"); + verifyToken(JwtToken3, JWT_KEY); + + // none algorithm + String JwtToken4 = request.getParameter("JWT4"); + try { + verifyTokenNoneAlg(JwtToken4, getSecureRandomKey()); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException(e); + } + + } + + public static String generateToken(final String userName, final String key) { + try { + return JWT.create().withClaim("userName", userName).sign(Algorithm.HMAC256(key)); + } catch (IllegalArgumentException e) { + System.out.printf("JWTToken generate fail %s", e); + } + return ""; + } + + public static boolean verifyTokenNoneAlg(final String token, final String key) { + try { + JWTVerifier verifier = JWT.require(Algorithm.none()).build(); + verifier.verify(token); + return true; + } catch (JWTVerificationException e) { + System.out.printf("jwt decode fail, token: %s", e); + } + return false; + } +} diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/Test.java b/java/ql/test/experimental/query-tests/security/CWE-347/Test.java deleted file mode 100644 index 48ff7898e49..00000000000 --- a/java/ql/test/experimental/query-tests/security/CWE-347/Test.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.example.JwtTest; - -import java.io.*; -import java.security.NoSuchAlgorithmException; -import java.util.Objects; -import java.util.Optional; -import com.auth0.jwt.JWT; -import com.auth0.jwt.JWTVerifier; -import com.auth0.jwt.algorithms.Algorithm; -import com.auth0.jwt.exceptions.JWTCreationException; -import com.auth0.jwt.exceptions.JWTVerificationException; -import com.auth0.jwt.interfaces.DecodedJWT; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -public class Test extends HttpServlet { - - protected void doGet(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - try { - response.setContentType("text/html"); - PrintWriter out = response.getWriter(); - - // OK: first decode without signature verification - // and then verify with signature verification - String JwtToken1 = request.getParameter("JWT1"); - String userName = decodeToken(JwtToken1); - verifyToken(JwtToken1, "A Securely generated Key"); - if (Objects.equals(userName, "Admin")) { - out.println(""); - out.println("

    " + "heyyy Admin" + "

    "); - out.println(""); - } - - out.println(""); - out.println("

    " + "heyyy Nobody" + "

    "); - out.println(""); - } catch (Exception e) { - // TODO: handle exception - } - } - - public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - response.setContentType("text/html"); - PrintWriter out = response.getWriter(); - - // NOT OK: only decode, no verification - String JwtToken2 = request.getParameter("JWT2"); - String userName = decodeToken(JwtToken2); - if (Objects.equals(userName, "Admin")) { - out.println(""); - out.println("

    " + "heyyy Admin" + "

    "); - out.println(""); - } - - // OK: no clue of the use of unsafe decoded JWT return value - JwtToken2 = request.getParameter("JWT2"); - JWT.decode(JwtToken2); - - - out.println(""); - out.println("

    " + "heyyy Nobody" + "

    "); - out.println(""); - } - - public static boolean verifyToken(final String token, final String key) { - try { - JWTVerifier verifier = JWT.require(Algorithm.HMAC256(key)).build(); - verifier.verify(token); - return true; - } catch (JWTVerificationException e) { - System.out.printf("jwt decode fail, token: %s", e); - } - return false; - } - - - public static String decodeToken(final String token) { - DecodedJWT jwt = JWT.decode(token); - return Optional.of(jwt).map(item -> item.getClaim("userName").asString()).orElse(""); - } - - - private static String getSecureRandomKey() throws NoSuchAlgorithmException { - KeyGenerator keyGen = KeyGenerator.getInstance("AES"); - keyGen.init(256); // for example - return keyGen.generateKey().toString(); - } - static final String JWT_KEY = "KEY"; -} diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/options b/java/ql/test/experimental/query-tests/security/CWE-347/options index b7e23cf09f6..f18d5929e9e 100644 --- a/java/ql/test/experimental/query-tests/security/CWE-347/options +++ b/java/ql/test/experimental/query-tests/security/CWE-347/options @@ -1 +1 @@ -//semmle-extractor-options: --javac-args -cp ${testdir}/../../../../stubs/auth0-jwt-4.4.0/:${testdir}/../../../../stubs/javax-servlet-2.5/ \ No newline at end of file +//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/auth0-java-jwt-4.4.0:${testdir}/../../../stubs/javax.servlet-api-4.0.1 \ No newline at end of file diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/pom.xml b/java/ql/test/experimental/query-tests/security/CWE-347/pom.xml deleted file mode 100644 index 870a294c80e..00000000000 --- a/java/ql/test/experimental/query-tests/security/CWE-347/pom.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - 4.0.0 - - com.example - JwtTest - 1.0-SNAPSHOT - JwtTest - war - - - UTF-8 - 11 - 11 - 5.9.2 - - - - - com.auth0 - java-jwt - 4.4.0 - - - javax.servlet - javax.servlet-api - 4.0.1 - provided - - - - - - - org.apache.maven.plugins - maven-war-plugin - 3.3.2 - - - - \ No newline at end of file diff --git a/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/JWT.java b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/JWT.java new file mode 100644 index 00000000000..f7fe489e30d --- /dev/null +++ b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/JWT.java @@ -0,0 +1,17 @@ +// Generated automatically from com.auth0.jwt.JWT for testing purposes + +package com.auth0.jwt; + +import com.auth0.jwt.JWTCreator; +import com.auth0.jwt.algorithms.Algorithm; +import com.auth0.jwt.interfaces.DecodedJWT; +import com.auth0.jwt.interfaces.Verification; + +public class JWT +{ + public DecodedJWT decodeJwt(String p0){ return null; } + public JWT(){} + public static DecodedJWT decode(String p0){ return null; } + public static JWTCreator.Builder create(){ return null; } + public static Verification require(Algorithm p0){ return null; } +} diff --git a/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/JWTCreator.java b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/JWTCreator.java new file mode 100644 index 00000000000..05455b8ed99 --- /dev/null +++ b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/JWTCreator.java @@ -0,0 +1,46 @@ +// Generated automatically from com.auth0.jwt.JWTCreator for testing purposes + +package com.auth0.jwt; + +import com.auth0.jwt.algorithms.Algorithm; +import java.time.Instant; +import java.util.Date; +import java.util.List; +import java.util.Map; + +public class JWTCreator +{ + protected JWTCreator() {} + static public class Builder + { + public JWTCreator.Builder withArrayClaim(String p0, Integer[] p1){ return null; } + public JWTCreator.Builder withArrayClaim(String p0, Long[] p1){ return null; } + public JWTCreator.Builder withArrayClaim(String p0, String[] p1){ return null; } + public JWTCreator.Builder withAudience(String... p0){ return null; } + public JWTCreator.Builder withClaim(String p0, Boolean p1){ return null; } + public JWTCreator.Builder withClaim(String p0, Date p1){ return null; } + public JWTCreator.Builder withClaim(String p0, Double p1){ return null; } + public JWTCreator.Builder withClaim(String p0, Instant p1){ return null; } + public JWTCreator.Builder withClaim(String p0, Integer p1){ return null; } + public JWTCreator.Builder withClaim(String p0, List p1){ return null; } + public JWTCreator.Builder withClaim(String p0, Long p1){ return null; } + public JWTCreator.Builder withClaim(String p0, Map p1){ return null; } + public JWTCreator.Builder withClaim(String p0, String p1){ return null; } + public JWTCreator.Builder withExpiresAt(Date p0){ return null; } + public JWTCreator.Builder withExpiresAt(Instant p0){ return null; } + public JWTCreator.Builder withHeader(Map p0){ return null; } + public JWTCreator.Builder withHeader(String p0){ return null; } + public JWTCreator.Builder withIssuedAt(Date p0){ return null; } + public JWTCreator.Builder withIssuedAt(Instant p0){ return null; } + public JWTCreator.Builder withIssuer(String p0){ return null; } + public JWTCreator.Builder withJWTId(String p0){ return null; } + public JWTCreator.Builder withKeyId(String p0){ return null; } + public JWTCreator.Builder withNotBefore(Date p0){ return null; } + public JWTCreator.Builder withNotBefore(Instant p0){ return null; } + public JWTCreator.Builder withNullClaim(String p0){ return null; } + public JWTCreator.Builder withPayload(Map p0){ return null; } + public JWTCreator.Builder withPayload(String p0){ return null; } + public JWTCreator.Builder withSubject(String p0){ return null; } + public String sign(Algorithm p0){ return null; } + } +} diff --git a/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/JWTVerifier.java b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/JWTVerifier.java new file mode 100644 index 00000000000..3a44b2480cb --- /dev/null +++ b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/JWTVerifier.java @@ -0,0 +1,12 @@ +// Generated automatically from com.auth0.jwt.JWTVerifier for testing purposes + +package com.auth0.jwt; + +import com.auth0.jwt.interfaces.DecodedJWT; + +public class JWTVerifier implements com.auth0.jwt.interfaces.JWTVerifier +{ + protected JWTVerifier() {} + public DecodedJWT verify(DecodedJWT p0){ return null; } + public DecodedJWT verify(String p0){ return null; } +} diff --git a/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/algorithms/Algorithm.java b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/algorithms/Algorithm.java new file mode 100644 index 00000000000..6d6d06a22f0 --- /dev/null +++ b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/algorithms/Algorithm.java @@ -0,0 +1,50 @@ +// Generated automatically from com.auth0.jwt.algorithms.Algorithm for testing purposes + +package com.auth0.jwt.algorithms; + +import com.auth0.jwt.interfaces.DecodedJWT; +import com.auth0.jwt.interfaces.ECDSAKeyProvider; +import com.auth0.jwt.interfaces.RSAKeyProvider; +import java.security.interfaces.ECKey; +import java.security.interfaces.ECPrivateKey; +import java.security.interfaces.ECPublicKey; +import java.security.interfaces.RSAKey; +import java.security.interfaces.RSAPrivateKey; +import java.security.interfaces.RSAPublicKey; + +abstract public class Algorithm +{ + protected Algorithm() {} + protected Algorithm(String p0, String p1){} + public String getName(){ return null; } + public String getSigningKeyId(){ return null; } + public String toString(){ return null; } + public abstract byte[] sign(byte[] p0); + public abstract void verify(DecodedJWT p0); + public byte[] sign(byte[] p0, byte[] p1){ return null; } + public static Algorithm ECDSA256(ECDSAKeyProvider p0){ return null; } + public static Algorithm ECDSA256(ECKey p0){ return null; } + public static Algorithm ECDSA256(ECPublicKey p0, ECPrivateKey p1){ return null; } + public static Algorithm ECDSA384(ECDSAKeyProvider p0){ return null; } + public static Algorithm ECDSA384(ECKey p0){ return null; } + public static Algorithm ECDSA384(ECPublicKey p0, ECPrivateKey p1){ return null; } + public static Algorithm ECDSA512(ECDSAKeyProvider p0){ return null; } + public static Algorithm ECDSA512(ECKey p0){ return null; } + public static Algorithm ECDSA512(ECPublicKey p0, ECPrivateKey p1){ return null; } + public static Algorithm HMAC256(String p0){ return null; } + public static Algorithm HMAC256(byte[] p0){ return null; } + public static Algorithm HMAC384(String p0){ return null; } + public static Algorithm HMAC384(byte[] p0){ return null; } + public static Algorithm HMAC512(String p0){ return null; } + public static Algorithm HMAC512(byte[] p0){ return null; } + public static Algorithm RSA256(RSAKey p0){ return null; } + public static Algorithm RSA256(RSAKeyProvider p0){ return null; } + public static Algorithm RSA256(RSAPublicKey p0, RSAPrivateKey p1){ return null; } + public static Algorithm RSA384(RSAKey p0){ return null; } + public static Algorithm RSA384(RSAKeyProvider p0){ return null; } + public static Algorithm RSA384(RSAPublicKey p0, RSAPrivateKey p1){ return null; } + public static Algorithm RSA512(RSAKey p0){ return null; } + public static Algorithm RSA512(RSAKeyProvider p0){ return null; } + public static Algorithm RSA512(RSAPublicKey p0, RSAPrivateKey p1){ return null; } + public static Algorithm none(){ return null; } +} diff --git a/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/exceptions/JWTCreationException.java b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/exceptions/JWTCreationException.java new file mode 100644 index 00000000000..19ca564160a --- /dev/null +++ b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/exceptions/JWTCreationException.java @@ -0,0 +1,15 @@ +// Generated automatically from com.auth0.jwt.exceptions.JWTVerificationException for testing purposes + +package com.auth0.jwt.exceptions; + + +public class JWTCreationException extends RuntimeException { + protected JWTCreationException() { + } + + public JWTCreationException(String p0) { + } + + public JWTCreationException(String p0, Throwable p1) { + } +} diff --git a/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/exceptions/JWTVerificationException.java b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/exceptions/JWTVerificationException.java new file mode 100644 index 00000000000..bf322f82d0d --- /dev/null +++ b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/exceptions/JWTVerificationException.java @@ -0,0 +1,11 @@ +// Generated automatically from com.auth0.jwt.exceptions.JWTVerificationException for testing purposes + +package com.auth0.jwt.exceptions; + + +public class JWTVerificationException extends RuntimeException +{ + protected JWTVerificationException() {} + public JWTVerificationException(String p0){} + public JWTVerificationException(String p0, Throwable p1){} +} diff --git a/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/Claim.java b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/Claim.java new file mode 100644 index 00000000000..05c127cbd57 --- /dev/null +++ b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/Claim.java @@ -0,0 +1,25 @@ +// Generated automatically from com.auth0.jwt.interfaces.Claim for testing purposes + +package com.auth0.jwt.interfaces; + +import java.time.Instant; +import java.util.Date; +import java.util.List; +import java.util.Map; + +public interface Claim +{ + T as(java.lang.Class p0); + T[] asArray(java.lang.Class p0); + java.util.List asList(java.lang.Class p0); + Boolean asBoolean(); + Date asDate(); + Double asDouble(); + Integer asInt(); + Long asLong(); + Map asMap(); + String asString(); + boolean isMissing(); + boolean isNull(); + default Instant asInstant(){ return null; } +} diff --git a/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/DecodedJWT.java b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/DecodedJWT.java new file mode 100644 index 00000000000..c7d202eb793 --- /dev/null +++ b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/DecodedJWT.java @@ -0,0 +1,14 @@ +// Generated automatically from com.auth0.jwt.interfaces.DecodedJWT for testing purposes + +package com.auth0.jwt.interfaces; + +import com.auth0.jwt.interfaces.Header; +import com.auth0.jwt.interfaces.Payload; + +public interface DecodedJWT extends Header, Payload +{ + String getHeader(); + String getPayload(); + String getSignature(); + String getToken(); +} diff --git a/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/ECDSAKeyProvider.java b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/ECDSAKeyProvider.java new file mode 100644 index 00000000000..535ab2dde39 --- /dev/null +++ b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/ECDSAKeyProvider.java @@ -0,0 +1,13 @@ +// Generated automatically from com.auth0.jwt.interfaces.ECDSAKeyProvider for testing purposes + +package com.auth0.jwt.interfaces; + +import com.auth0.jwt.interfaces.KeyProvider; +import java.security.PrivateKey; +import java.security.PublicKey; +import java.security.interfaces.ECPrivateKey; +import java.security.interfaces.ECPublicKey; + +public interface ECDSAKeyProvider extends KeyProvider +{ +} diff --git a/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/Header.java b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/Header.java new file mode 100644 index 00000000000..85e3ff9ef4b --- /dev/null +++ b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/Header.java @@ -0,0 +1,14 @@ +// Generated automatically from com.auth0.jwt.interfaces.Header for testing purposes + +package com.auth0.jwt.interfaces; + +import com.auth0.jwt.interfaces.Claim; + +public interface Header +{ + Claim getHeaderClaim(String p0); + String getAlgorithm(); + String getContentType(); + String getKeyId(); + String getType(); +} diff --git a/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/JWTVerifier.java b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/JWTVerifier.java new file mode 100644 index 00000000000..12fafc93221 --- /dev/null +++ b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/JWTVerifier.java @@ -0,0 +1,11 @@ +// Generated automatically from com.auth0.jwt.interfaces.JWTVerifier for testing purposes + +package com.auth0.jwt.interfaces; + +import com.auth0.jwt.interfaces.DecodedJWT; + +public interface JWTVerifier +{ + DecodedJWT verify(DecodedJWT p0); + DecodedJWT verify(String p0); +} diff --git a/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/KeyProvider.java b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/KeyProvider.java new file mode 100644 index 00000000000..e3c5e8f2c35 --- /dev/null +++ b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/KeyProvider.java @@ -0,0 +1,13 @@ +// Generated automatically from com.auth0.jwt.interfaces.KeyProvider for testing purposes + +package com.auth0.jwt.interfaces; + +import java.security.PrivateKey; +import java.security.PublicKey; + +interface KeyProvider +{ + R getPrivateKey(); + String getPrivateKeyId(); + U getPublicKeyById(String p0); +} diff --git a/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/Payload.java b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/Payload.java new file mode 100644 index 00000000000..98efdf915f6 --- /dev/null +++ b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/Payload.java @@ -0,0 +1,25 @@ +// Generated automatically from com.auth0.jwt.interfaces.Payload for testing purposes + +package com.auth0.jwt.interfaces; + +import com.auth0.jwt.interfaces.Claim; +import java.time.Instant; +import java.util.Date; +import java.util.List; +import java.util.Map; + +public interface Payload +{ + Claim getClaim(String p0); + Date getExpiresAt(); + Date getIssuedAt(); + Date getNotBefore(); + List getAudience(); + Map getClaims(); + String getId(); + String getIssuer(); + String getSubject(); + default Instant getExpiresAtAsInstant(){ return null; } + default Instant getIssuedAtAsInstant(){ return null; } + default Instant getNotBeforeAsInstant(){ return null; } +} diff --git a/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/RSAKeyProvider.java b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/RSAKeyProvider.java new file mode 100644 index 00000000000..d9b12ff1679 --- /dev/null +++ b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/RSAKeyProvider.java @@ -0,0 +1,13 @@ +// Generated automatically from com.auth0.jwt.interfaces.RSAKeyProvider for testing purposes + +package com.auth0.jwt.interfaces; + +import com.auth0.jwt.interfaces.KeyProvider; +import java.security.PrivateKey; +import java.security.PublicKey; +import java.security.interfaces.RSAPrivateKey; +import java.security.interfaces.RSAPublicKey; + +public interface RSAKeyProvider extends KeyProvider +{ +} diff --git a/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/Verification.java b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/Verification.java new file mode 100644 index 00000000000..ea020ce9a57 --- /dev/null +++ b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/auth0/jwt/interfaces/Verification.java @@ -0,0 +1,38 @@ +// Generated automatically from com.auth0.jwt.interfaces.Verification for testing purposes + +package com.auth0.jwt.interfaces; + +import com.auth0.jwt.interfaces.Claim; +import com.auth0.jwt.interfaces.DecodedJWT; +import java.time.Instant; +import java.util.Date; +import java.util.function.BiPredicate; + +public interface Verification +{ + Verification acceptExpiresAt(long p0); + Verification acceptIssuedAt(long p0); + Verification acceptLeeway(long p0); + Verification acceptNotBefore(long p0); + Verification ignoreIssuedAt(); + Verification withAnyOfAudience(String... p0); + Verification withArrayClaim(String p0, Integer... p1); + Verification withArrayClaim(String p0, Long... p1); + Verification withArrayClaim(String p0, String... p1); + Verification withAudience(String... p0); + Verification withClaim(String p0, BiPredicate p1); + Verification withClaim(String p0, Boolean p1); + Verification withClaim(String p0, Date p1); + Verification withClaim(String p0, Double p1); + Verification withClaim(String p0, Integer p1); + Verification withClaim(String p0, Long p1); + Verification withClaim(String p0, String p1); + Verification withClaimPresence(String p0); + Verification withIssuer(String... p0); + Verification withJWTId(String p0); + Verification withNullClaim(String p0); + Verification withSubject(String p0); + com.auth0.jwt.JWTVerifier build(); + default Verification withClaim(String p0, Instant p1){ return null; } + default Verification withIssuer(String p0){ return null; } +} diff --git a/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/github/luben/zstd/BufferPool.java b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/github/luben/zstd/BufferPool.java new file mode 100644 index 00000000000..6b5c2b81dc0 --- /dev/null +++ b/java/ql/test/experimental/stubs/auth0-java-jwt-4.4.0/com/github/luben/zstd/BufferPool.java @@ -0,0 +1,11 @@ +// Generated automatically from com.github.luben.zstd.BufferPool for testing purposes + +package com.github.luben.zstd; + +import java.nio.ByteBuffer; + +public interface BufferPool +{ + ByteBuffer get(int p0); + void release(ByteBuffer p0); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/KeyGenerator.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/KeyGenerator.java new file mode 100644 index 00000000000..d133ee2f49b --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/KeyGenerator.java @@ -0,0 +1,26 @@ +// Generated automatically from javax.crypto.KeyGenerator for testing purposes + +package javax.crypto; + +import java.security.Provider; +import java.security.SecureRandom; +import java.security.spec.AlgorithmParameterSpec; +import javax.crypto.KeyGeneratorSpi; +import javax.crypto.SecretKey; + +public class KeyGenerator +{ + protected KeyGenerator() {} + protected KeyGenerator(KeyGeneratorSpi p0, Provider p1, String p2){} + public final Provider getProvider(){ return null; } + public final SecretKey generateKey(){ return null; } + public final String getAlgorithm(){ return null; } + public final void init(AlgorithmParameterSpec p0){} + public final void init(AlgorithmParameterSpec p0, SecureRandom p1){} + public final void init(SecureRandom p0){} + public final void init(int p0){} + public final void init(int p0, SecureRandom p1){} + public static KeyGenerator getInstance(String p0){ return null; } + public static KeyGenerator getInstance(String p0, Provider p1){ return null; } + public static KeyGenerator getInstance(String p0, String p1){ return null; } +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/KeyGeneratorSpi.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/KeyGeneratorSpi.java new file mode 100644 index 00000000000..aba2623123a --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/KeyGeneratorSpi.java @@ -0,0 +1,16 @@ +// Generated automatically from javax.crypto.KeyGeneratorSpi for testing purposes + +package javax.crypto; + +import java.security.SecureRandom; +import java.security.spec.AlgorithmParameterSpec; +import javax.crypto.SecretKey; + +abstract public class KeyGeneratorSpi +{ + protected abstract SecretKey engineGenerateKey(); + protected abstract void engineInit(AlgorithmParameterSpec p0, SecureRandom p1); + protected abstract void engineInit(SecureRandom p0); + protected abstract void engineInit(int p0, SecureRandom p1); + public KeyGeneratorSpi(){} +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/SecretKey.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/SecretKey.java new file mode 100644 index 00000000000..88c9e4539ba --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/SecretKey.java @@ -0,0 +1,11 @@ +// Generated automatically from javax.crypto.SecretKey for testing purposes + +package javax.crypto; + +import java.security.Key; +import javax.security.auth.Destroyable; + +public interface SecretKey extends Destroyable, Key +{ + static long serialVersionUID = 0; +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/security/auth/Destroyable.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/security/auth/Destroyable.java new file mode 100644 index 00000000000..979ca409ba6 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/security/auth/Destroyable.java @@ -0,0 +1,10 @@ +// Generated automatically from javax.security.auth.Destroyable for testing purposes + +package javax.security.auth; + + +public interface Destroyable +{ + default boolean isDestroyed(){ return false; } + default void destroy(){} +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncContext.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncContext.java new file mode 100644 index 00000000000..70a39f55ac9 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncContext.java @@ -0,0 +1,31 @@ +// Generated automatically from javax.servlet.AsyncContext for testing purposes + +package javax.servlet; + +import javax.servlet.AsyncListener; +import javax.servlet.ServletContext; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +public interface AsyncContext +{ + T createListener(java.lang.Class p0); + ServletRequest getRequest(); + ServletResponse getResponse(); + boolean hasOriginalRequestAndResponse(); + long getTimeout(); + static String ASYNC_CONTEXT_PATH = null; + static String ASYNC_MAPPING = null; + static String ASYNC_PATH_INFO = null; + static String ASYNC_QUERY_STRING = null; + static String ASYNC_REQUEST_URI = null; + static String ASYNC_SERVLET_PATH = null; + void addListener(AsyncListener p0); + void addListener(AsyncListener p0, ServletRequest p1, ServletResponse p2); + void complete(); + void dispatch(); + void dispatch(ServletContext p0, String p1); + void dispatch(String p0); + void setTimeout(long p0); + void start(Runnable p0); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncEvent.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncEvent.java new file mode 100644 index 00000000000..d7cb9c2b175 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncEvent.java @@ -0,0 +1,20 @@ +// Generated automatically from javax.servlet.AsyncEvent for testing purposes + +package javax.servlet; + +import javax.servlet.AsyncContext; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +public class AsyncEvent +{ + protected AsyncEvent() {} + public AsyncContext getAsyncContext(){ return null; } + public AsyncEvent(AsyncContext p0){} + public AsyncEvent(AsyncContext p0, ServletRequest p1, ServletResponse p2){} + public AsyncEvent(AsyncContext p0, ServletRequest p1, ServletResponse p2, Throwable p3){} + public AsyncEvent(AsyncContext p0, Throwable p1){} + public ServletRequest getSuppliedRequest(){ return null; } + public ServletResponse getSuppliedResponse(){ return null; } + public Throwable getThrowable(){ return null; } +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncListener.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncListener.java new file mode 100644 index 00000000000..2723482f668 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncListener.java @@ -0,0 +1,14 @@ +// Generated automatically from javax.servlet.AsyncListener for testing purposes + +package javax.servlet; + +import java.util.EventListener; +import javax.servlet.AsyncEvent; + +public interface AsyncListener extends EventListener +{ + void onComplete(AsyncEvent p0); + void onError(AsyncEvent p0); + void onStartAsync(AsyncEvent p0); + void onTimeout(AsyncEvent p0); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/DispatcherType.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/DispatcherType.java new file mode 100644 index 00000000000..2b7b44f328d --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/DispatcherType.java @@ -0,0 +1,10 @@ +// Generated automatically from javax.servlet.DispatcherType for testing purposes + +package javax.servlet; + + +public enum DispatcherType +{ + ASYNC, ERROR, FORWARD, INCLUDE, REQUEST; + private DispatcherType() {} +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Filter.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Filter.java new file mode 100644 index 00000000000..64b9f9d73a8 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Filter.java @@ -0,0 +1,15 @@ +// Generated automatically from javax.servlet.Filter for testing purposes + +package javax.servlet; + +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +public interface Filter +{ + default void destroy(){} + default void init(FilterConfig p0){} + void doFilter(ServletRequest p0, ServletResponse p1, FilterChain p2); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterChain.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterChain.java new file mode 100644 index 00000000000..f64ab722684 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterChain.java @@ -0,0 +1,11 @@ +// Generated automatically from javax.servlet.FilterChain for testing purposes + +package javax.servlet; + +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +public interface FilterChain +{ + void doFilter(ServletRequest p0, ServletResponse p1); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterConfig.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterConfig.java new file mode 100644 index 00000000000..0e140c6680c --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterConfig.java @@ -0,0 +1,14 @@ +// Generated automatically from javax.servlet.FilterConfig for testing purposes + +package javax.servlet; + +import java.util.Enumeration; +import javax.servlet.ServletContext; + +public interface FilterConfig +{ + Enumeration getInitParameterNames(); + ServletContext getServletContext(); + String getFilterName(); + String getInitParameter(String p0); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterRegistration.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterRegistration.java new file mode 100644 index 00000000000..6ad0739ceb6 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterRegistration.java @@ -0,0 +1,19 @@ +// Generated automatically from javax.servlet.FilterRegistration for testing purposes + +package javax.servlet; + +import java.util.Collection; +import java.util.EnumSet; +import javax.servlet.DispatcherType; +import javax.servlet.Registration; + +public interface FilterRegistration extends Registration +{ + Collection getServletNameMappings(); + Collection getUrlPatternMappings(); + static public interface Dynamic extends FilterRegistration, Registration.Dynamic + { + } + void addMappingForServletNames(EnumSet p0, boolean p1, String... p2); + void addMappingForUrlPatterns(EnumSet p0, boolean p1, String... p2); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/GenericServlet.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/GenericServlet.java new file mode 100644 index 00000000000..5f7bdcda487 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/GenericServlet.java @@ -0,0 +1,28 @@ +// Generated automatically from javax.servlet.GenericServlet for testing purposes + +package javax.servlet; + +import java.io.Serializable; +import java.util.Enumeration; +import javax.servlet.Servlet; +import javax.servlet.ServletConfig; +import javax.servlet.ServletContext; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +abstract public class GenericServlet implements Serializable, Servlet, ServletConfig +{ + public Enumeration getInitParameterNames(){ return null; } + public GenericServlet(){} + public ServletConfig getServletConfig(){ return null; } + public ServletContext getServletContext(){ return null; } + public String getInitParameter(String p0){ return null; } + public String getServletInfo(){ return null; } + public String getServletName(){ return null; } + public abstract void service(ServletRequest p0, ServletResponse p1); + public void destroy(){} + public void init(){} + public void init(ServletConfig p0){} + public void log(String p0){} + public void log(String p0, Throwable p1){} +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/HttpConstraintElement.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/HttpConstraintElement.java new file mode 100644 index 00000000000..6598aa47cc5 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/HttpConstraintElement.java @@ -0,0 +1,16 @@ +// Generated automatically from javax.servlet.HttpConstraintElement for testing purposes + +package javax.servlet; + +import javax.servlet.annotation.ServletSecurity; + +public class HttpConstraintElement +{ + public HttpConstraintElement(){} + public HttpConstraintElement(ServletSecurity.EmptyRoleSemantic p0){} + public HttpConstraintElement(ServletSecurity.EmptyRoleSemantic p0, ServletSecurity.TransportGuarantee p1, String... p2){} + public HttpConstraintElement(ServletSecurity.TransportGuarantee p0, String... p1){} + public ServletSecurity.EmptyRoleSemantic getEmptyRoleSemantic(){ return null; } + public ServletSecurity.TransportGuarantee getTransportGuarantee(){ return null; } + public String[] getRolesAllowed(){ return null; } +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/HttpMethodConstraintElement.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/HttpMethodConstraintElement.java new file mode 100644 index 00000000000..ddb52527004 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/HttpMethodConstraintElement.java @@ -0,0 +1,13 @@ +// Generated automatically from javax.servlet.HttpMethodConstraintElement for testing purposes + +package javax.servlet; + +import javax.servlet.HttpConstraintElement; + +public class HttpMethodConstraintElement extends HttpConstraintElement +{ + protected HttpMethodConstraintElement() {} + public HttpMethodConstraintElement(String p0){} + public HttpMethodConstraintElement(String p0, HttpConstraintElement p1){} + public String getMethodName(){ return null; } +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/MultipartConfigElement.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/MultipartConfigElement.java new file mode 100644 index 00000000000..8470d9a5317 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/MultipartConfigElement.java @@ -0,0 +1,17 @@ +// Generated automatically from javax.servlet.MultipartConfigElement for testing purposes + +package javax.servlet; + +import javax.servlet.annotation.MultipartConfig; + +public class MultipartConfigElement +{ + protected MultipartConfigElement() {} + public MultipartConfigElement(MultipartConfig p0){} + public MultipartConfigElement(String p0){} + public MultipartConfigElement(String p0, long p1, long p2, int p3){} + public String getLocation(){ return null; } + public int getFileSizeThreshold(){ return 0; } + public long getMaxFileSize(){ return 0; } + public long getMaxRequestSize(){ return 0; } +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ReadListener.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ReadListener.java new file mode 100644 index 00000000000..367594ef7da --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ReadListener.java @@ -0,0 +1,12 @@ +// Generated automatically from javax.servlet.ReadListener for testing purposes + +package javax.servlet; + +import java.util.EventListener; + +public interface ReadListener extends EventListener +{ + void onAllDataRead(); + void onDataAvailable(); + void onError(Throwable p0); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Registration.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Registration.java new file mode 100644 index 00000000000..5d4095813ef --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Registration.java @@ -0,0 +1,20 @@ +// Generated automatically from javax.servlet.Registration for testing purposes + +package javax.servlet; + +import java.util.Map; +import java.util.Set; + +public interface Registration +{ + Map getInitParameters(); + Set setInitParameters(Map p0); + String getClassName(); + String getInitParameter(String p0); + String getName(); + boolean setInitParameter(String p0, String p1); + static public interface Dynamic extends Registration + { + void setAsyncSupported(boolean p0); + } +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/RequestDispatcher.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/RequestDispatcher.java new file mode 100644 index 00000000000..ad017e4f501 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/RequestDispatcher.java @@ -0,0 +1,30 @@ +// Generated automatically from javax.servlet.RequestDispatcher for testing purposes + +package javax.servlet; + +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +public interface RequestDispatcher +{ + static String ERROR_EXCEPTION = null; + static String ERROR_EXCEPTION_TYPE = null; + static String ERROR_MESSAGE = null; + static String ERROR_REQUEST_URI = null; + static String ERROR_SERVLET_NAME = null; + static String ERROR_STATUS_CODE = null; + static String FORWARD_CONTEXT_PATH = null; + static String FORWARD_MAPPING = null; + static String FORWARD_PATH_INFO = null; + static String FORWARD_QUERY_STRING = null; + static String FORWARD_REQUEST_URI = null; + static String FORWARD_SERVLET_PATH = null; + static String INCLUDE_CONTEXT_PATH = null; + static String INCLUDE_MAPPING = null; + static String INCLUDE_PATH_INFO = null; + static String INCLUDE_QUERY_STRING = null; + static String INCLUDE_REQUEST_URI = null; + static String INCLUDE_SERVLET_PATH = null; + void forward(ServletRequest p0, ServletResponse p1); + void include(ServletRequest p0, ServletResponse p1); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Servlet.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Servlet.java new file mode 100644 index 00000000000..231c011a6f8 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Servlet.java @@ -0,0 +1,16 @@ +// Generated automatically from javax.servlet.Servlet for testing purposes + +package javax.servlet; + +import javax.servlet.ServletConfig; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +public interface Servlet +{ + ServletConfig getServletConfig(); + String getServletInfo(); + void destroy(); + void init(ServletConfig p0); + void service(ServletRequest p0, ServletResponse p1); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletConfig.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletConfig.java new file mode 100644 index 00000000000..c483c16ac4e --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletConfig.java @@ -0,0 +1,14 @@ +// Generated automatically from javax.servlet.ServletConfig for testing purposes + +package javax.servlet; + +import java.util.Enumeration; +import javax.servlet.ServletContext; + +public interface ServletConfig +{ + Enumeration getInitParameterNames(); + ServletContext getServletContext(); + String getInitParameter(String p0); + String getServletName(); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletContext.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletContext.java new file mode 100644 index 00000000000..812393f61e9 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletContext.java @@ -0,0 +1,83 @@ +// Generated automatically from javax.servlet.ServletContext for testing purposes + +package javax.servlet; + +import java.io.InputStream; +import java.net.URL; +import java.util.Enumeration; +import java.util.EventListener; +import java.util.Map; +import java.util.Set; +import javax.servlet.Filter; +import javax.servlet.FilterRegistration; +import javax.servlet.RequestDispatcher; +import javax.servlet.Servlet; +import javax.servlet.ServletRegistration; +import javax.servlet.SessionCookieConfig; +import javax.servlet.SessionTrackingMode; +import javax.servlet.descriptor.JspConfigDescriptor; + +public interface ServletContext +{ + T createListener(java.lang.Class p0); + void addListener(T p0); + T createFilter(java.lang.Class p0); + T createServlet(java.lang.Class p0); + ClassLoader getClassLoader(); + Enumeration getServlets(); + Enumeration getAttributeNames(); + Enumeration getInitParameterNames(); + Enumeration getServletNames(); + FilterRegistration getFilterRegistration(String p0); + FilterRegistration.Dynamic addFilter(String p0, Class p1); + FilterRegistration.Dynamic addFilter(String p0, Filter p1); + FilterRegistration.Dynamic addFilter(String p0, String p1); + InputStream getResourceAsStream(String p0); + JspConfigDescriptor getJspConfigDescriptor(); + Map getFilterRegistrations(); + Map getServletRegistrations(); + Object getAttribute(String p0); + RequestDispatcher getNamedDispatcher(String p0); + RequestDispatcher getRequestDispatcher(String p0); + Servlet getServlet(String p0); + ServletContext getContext(String p0); + ServletRegistration getServletRegistration(String p0); + ServletRegistration.Dynamic addJspFile(String p0, String p1); + ServletRegistration.Dynamic addServlet(String p0, Class p1); + ServletRegistration.Dynamic addServlet(String p0, Servlet p1); + ServletRegistration.Dynamic addServlet(String p0, String p1); + SessionCookieConfig getSessionCookieConfig(); + Set getDefaultSessionTrackingModes(); + Set getEffectiveSessionTrackingModes(); + Set getResourcePaths(String p0); + String getContextPath(); + String getInitParameter(String p0); + String getMimeType(String p0); + String getRealPath(String p0); + String getRequestCharacterEncoding(); + String getResponseCharacterEncoding(); + String getServerInfo(); + String getServletContextName(); + String getVirtualServerName(); + URL getResource(String p0); + boolean setInitParameter(String p0, String p1); + int getEffectiveMajorVersion(); + int getEffectiveMinorVersion(); + int getMajorVersion(); + int getMinorVersion(); + int getSessionTimeout(); + static String ORDERED_LIBS = null; + static String TEMPDIR = null; + void addListener(Class p0); + void addListener(String p0); + void declareRoles(String... p0); + void log(Exception p0, String p1); + void log(String p0); + void log(String p0, Throwable p1); + void removeAttribute(String p0); + void setAttribute(String p0, Object p1); + void setRequestCharacterEncoding(String p0); + void setResponseCharacterEncoding(String p0); + void setSessionTimeout(int p0); + void setSessionTrackingModes(Set p0); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletInputStream.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletInputStream.java new file mode 100644 index 00000000000..31034066970 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletInputStream.java @@ -0,0 +1,15 @@ +// Generated automatically from javax.servlet.ServletInputStream for testing purposes + +package javax.servlet; + +import java.io.InputStream; +import javax.servlet.ReadListener; + +abstract public class ServletInputStream extends InputStream +{ + protected ServletInputStream(){} + public abstract boolean isFinished(); + public abstract boolean isReady(); + public abstract void setReadListener(ReadListener p0); + public int readLine(byte[] p0, int p1, int p2){ return 0; } +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletOutputStream.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletOutputStream.java new file mode 100644 index 00000000000..52a2162c9eb --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletOutputStream.java @@ -0,0 +1,28 @@ +// Generated automatically from javax.servlet.ServletOutputStream for testing purposes + +package javax.servlet; + +import java.io.OutputStream; +import javax.servlet.WriteListener; + +abstract public class ServletOutputStream extends OutputStream +{ + protected ServletOutputStream(){} + public abstract boolean isReady(); + public abstract void setWriteListener(WriteListener p0); + public void print(String p0){} + public void print(boolean p0){} + public void print(char p0){} + public void print(double p0){} + public void print(float p0){} + public void print(int p0){} + public void print(long p0){} + public void println(){} + public void println(String p0){} + public void println(boolean p0){} + public void println(char p0){} + public void println(double p0){} + public void println(float p0){} + public void println(int p0){} + public void println(long p0){} +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletRegistration.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletRegistration.java new file mode 100644 index 00000000000..a1cc66f2d19 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletRegistration.java @@ -0,0 +1,23 @@ +// Generated automatically from javax.servlet.ServletRegistration for testing purposes + +package javax.servlet; + +import java.util.Collection; +import java.util.Set; +import javax.servlet.MultipartConfigElement; +import javax.servlet.Registration; +import javax.servlet.ServletSecurityElement; + +public interface ServletRegistration extends Registration +{ + Collection getMappings(); + Set addMapping(String... p0); + String getRunAsRole(); + static public interface Dynamic extends Registration.Dynamic, ServletRegistration + { + Set setServletSecurity(ServletSecurityElement p0); + void setLoadOnStartup(int p0); + void setMultipartConfig(MultipartConfigElement p0); + void setRunAsRole(String p0); + } +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletRequest.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletRequest.java new file mode 100644 index 00000000000..fc0db462cc0 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletRequest.java @@ -0,0 +1,55 @@ +// Generated automatically from javax.servlet.ServletRequest for testing purposes + +package javax.servlet; + +import java.io.BufferedReader; +import java.util.Enumeration; +import java.util.Locale; +import java.util.Map; +import javax.servlet.AsyncContext; +import javax.servlet.DispatcherType; +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletContext; +import javax.servlet.ServletInputStream; +import javax.servlet.ServletResponse; + +public interface ServletRequest +{ + AsyncContext getAsyncContext(); + AsyncContext startAsync(); + AsyncContext startAsync(ServletRequest p0, ServletResponse p1); + BufferedReader getReader(); + DispatcherType getDispatcherType(); + Enumeration getLocales(); + Enumeration getAttributeNames(); + Enumeration getParameterNames(); + Locale getLocale(); + Map getParameterMap(); + Object getAttribute(String p0); + RequestDispatcher getRequestDispatcher(String p0); + ServletContext getServletContext(); + ServletInputStream getInputStream(); + String getCharacterEncoding(); + String getContentType(); + String getLocalAddr(); + String getLocalName(); + String getParameter(String p0); + String getProtocol(); + String getRealPath(String p0); + String getRemoteAddr(); + String getRemoteHost(); + String getScheme(); + String getServerName(); + String[] getParameterValues(String p0); + boolean isAsyncStarted(); + boolean isAsyncSupported(); + boolean isSecure(); + int getContentLength(); + int getLocalPort(); + int getRemotePort(); + int getServerPort(); + long getContentLengthLong(); + void removeAttribute(String p0); + void setAttribute(String p0, Object p1); + void setCharacterEncoding(String p0); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletResponse.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletResponse.java new file mode 100644 index 00000000000..db6610bc15d --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletResponse.java @@ -0,0 +1,27 @@ +// Generated automatically from javax.servlet.ServletResponse for testing purposes + +package javax.servlet; + +import java.io.PrintWriter; +import java.util.Locale; +import javax.servlet.ServletOutputStream; + +public interface ServletResponse +{ + Locale getLocale(); + PrintWriter getWriter(); + ServletOutputStream getOutputStream(); + String getCharacterEncoding(); + String getContentType(); + boolean isCommitted(); + int getBufferSize(); + void flushBuffer(); + void reset(); + void resetBuffer(); + void setBufferSize(int p0); + void setCharacterEncoding(String p0); + void setContentLength(int p0); + void setContentLengthLong(long p0); + void setContentType(String p0); + void setLocale(Locale p0); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletSecurityElement.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletSecurityElement.java new file mode 100644 index 00000000000..def47937391 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletSecurityElement.java @@ -0,0 +1,19 @@ +// Generated automatically from javax.servlet.ServletSecurityElement for testing purposes + +package javax.servlet; + +import java.util.Collection; +import javax.servlet.HttpConstraintElement; +import javax.servlet.HttpMethodConstraintElement; +import javax.servlet.annotation.ServletSecurity; + +public class ServletSecurityElement extends HttpConstraintElement +{ + public Collection getHttpMethodConstraints(){ return null; } + public Collection getMethodNames(){ return null; } + public ServletSecurityElement(){} + public ServletSecurityElement(Collection p0){} + public ServletSecurityElement(HttpConstraintElement p0){} + public ServletSecurityElement(HttpConstraintElement p0, Collection p1){} + public ServletSecurityElement(ServletSecurity p0){} +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/SessionCookieConfig.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/SessionCookieConfig.java new file mode 100644 index 00000000000..4cae9a11f30 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/SessionCookieConfig.java @@ -0,0 +1,22 @@ +// Generated automatically from javax.servlet.SessionCookieConfig for testing purposes + +package javax.servlet; + + +public interface SessionCookieConfig +{ + String getComment(); + String getDomain(); + String getName(); + String getPath(); + boolean isHttpOnly(); + boolean isSecure(); + int getMaxAge(); + void setComment(String p0); + void setDomain(String p0); + void setHttpOnly(boolean p0); + void setMaxAge(int p0); + void setName(String p0); + void setPath(String p0); + void setSecure(boolean p0); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/SessionTrackingMode.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/SessionTrackingMode.java new file mode 100644 index 00000000000..684ac40c56f --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/SessionTrackingMode.java @@ -0,0 +1,10 @@ +// Generated automatically from javax.servlet.SessionTrackingMode for testing purposes + +package javax.servlet; + + +public enum SessionTrackingMode +{ + COOKIE, SSL, URL; + private SessionTrackingMode() {} +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/WriteListener.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/WriteListener.java new file mode 100644 index 00000000000..24fe504271c --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/WriteListener.java @@ -0,0 +1,11 @@ +// Generated automatically from javax.servlet.WriteListener for testing purposes + +package javax.servlet; + +import java.util.EventListener; + +public interface WriteListener extends EventListener +{ + void onError(Throwable p0); + void onWritePossible(); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/HttpConstraint.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/HttpConstraint.java new file mode 100644 index 00000000000..f47efc62744 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/HttpConstraint.java @@ -0,0 +1,18 @@ +// Generated automatically from javax.servlet.annotation.HttpConstraint for testing purposes + +package javax.servlet.annotation; + +import java.lang.annotation.Annotation; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import javax.servlet.annotation.ServletSecurity; + +@Documented +@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) +public @interface HttpConstraint +{ + ServletSecurity.EmptyRoleSemantic value(); + ServletSecurity.TransportGuarantee transportGuarantee(); + String[] rolesAllowed(); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/HttpMethodConstraint.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/HttpMethodConstraint.java new file mode 100644 index 00000000000..288f4651018 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/HttpMethodConstraint.java @@ -0,0 +1,19 @@ +// Generated automatically from javax.servlet.annotation.HttpMethodConstraint for testing purposes + +package javax.servlet.annotation; + +import java.lang.annotation.Annotation; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import javax.servlet.annotation.ServletSecurity; + +@Documented +@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) +public @interface HttpMethodConstraint +{ + ServletSecurity.EmptyRoleSemantic emptyRoleSemantic(); + ServletSecurity.TransportGuarantee transportGuarantee(); + String value(); + String[] rolesAllowed(); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/MultipartConfig.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/MultipartConfig.java new file mode 100644 index 00000000000..baccad3e199 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/MultipartConfig.java @@ -0,0 +1,19 @@ +// Generated automatically from javax.servlet.annotation.MultipartConfig for testing purposes + +package javax.servlet.annotation; + +import java.lang.annotation.Annotation; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) +@Target(value={java.lang.annotation.ElementType.TYPE}) +public @interface MultipartConfig +{ + String location(); + int fileSizeThreshold(); + long maxFileSize(); + long maxRequestSize(); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/ServletSecurity.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/ServletSecurity.java new file mode 100644 index 00000000000..021b6c64c2a --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/ServletSecurity.java @@ -0,0 +1,33 @@ +// Generated automatically from javax.servlet.annotation.ServletSecurity for testing purposes + +package javax.servlet.annotation; + +import java.lang.annotation.Annotation; +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import javax.servlet.annotation.HttpConstraint; +import javax.servlet.annotation.HttpMethodConstraint; + +@Documented +@Inherited +@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) +@Target(value={java.lang.annotation.ElementType.TYPE}) +public @interface ServletSecurity +{ + HttpConstraint value(); + HttpMethodConstraint[] httpMethodConstraints(); + static public enum EmptyRoleSemantic + { + DENY, PERMIT; + private EmptyRoleSemantic() {} + } + static public enum TransportGuarantee + { + CONFIDENTIAL, NONE; + private TransportGuarantee() {} + } +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/WebInitParam.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/WebInitParam.java new file mode 100644 index 00000000000..513c7d7053b --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/WebInitParam.java @@ -0,0 +1,20 @@ +// Generated automatically from javax.servlet.annotation.WebInitParam for testing purposes + +package javax.servlet.annotation; + +import java.lang.annotation.Annotation; +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Documented +@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) +@Target(value={java.lang.annotation.ElementType.TYPE}) +public @interface WebInitParam +{ + String description(); + String name(); + String value(); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/WebServlet.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/WebServlet.java new file mode 100644 index 00000000000..83b5d2e476a --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/WebServlet.java @@ -0,0 +1,28 @@ +// Generated automatically from javax.servlet.annotation.WebServlet for testing purposes + +package javax.servlet.annotation; + +import java.lang.annotation.Annotation; +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import javax.servlet.annotation.WebInitParam; + +@Documented +@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) +@Target(value={java.lang.annotation.ElementType.TYPE}) +public @interface WebServlet +{ + String description(); + String displayName(); + String largeIcon(); + String name(); + String smallIcon(); + String[] urlPatterns(); + String[] value(); + WebInitParam[] initParams(); + boolean asyncSupported(); + int loadOnStartup(); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/JspConfigDescriptor.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/JspConfigDescriptor.java new file mode 100644 index 00000000000..8d93a4318d7 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/JspConfigDescriptor.java @@ -0,0 +1,13 @@ +// Generated automatically from javax.servlet.descriptor.JspConfigDescriptor for testing purposes + +package javax.servlet.descriptor; + +import java.util.Collection; +import javax.servlet.descriptor.JspPropertyGroupDescriptor; +import javax.servlet.descriptor.TaglibDescriptor; + +public interface JspConfigDescriptor +{ + Collection getJspPropertyGroups(); + Collection getTaglibs(); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/JspPropertyGroupDescriptor.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/JspPropertyGroupDescriptor.java new file mode 100644 index 00000000000..dd852fa1088 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/JspPropertyGroupDescriptor.java @@ -0,0 +1,21 @@ +// Generated automatically from javax.servlet.descriptor.JspPropertyGroupDescriptor for testing purposes + +package javax.servlet.descriptor; + +import java.util.Collection; + +public interface JspPropertyGroupDescriptor +{ + Collection getIncludeCodas(); + Collection getIncludePreludes(); + Collection getUrlPatterns(); + String getBuffer(); + String getDefaultContentType(); + String getDeferredSyntaxAllowedAsLiteral(); + String getElIgnored(); + String getErrorOnUndeclaredNamespace(); + String getIsXml(); + String getPageEncoding(); + String getScriptingInvalid(); + String getTrimDirectiveWhitespaces(); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/TaglibDescriptor.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/TaglibDescriptor.java new file mode 100644 index 00000000000..c3dd5c10473 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/TaglibDescriptor.java @@ -0,0 +1,10 @@ +// Generated automatically from javax.servlet.descriptor.TaglibDescriptor for testing purposes + +package javax.servlet.descriptor; + + +public interface TaglibDescriptor +{ + String getTaglibLocation(); + String getTaglibURI(); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/Cookie.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/Cookie.java new file mode 100644 index 00000000000..b5a180029be --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/Cookie.java @@ -0,0 +1,29 @@ +// Generated automatically from javax.servlet.http.Cookie for testing purposes + +package javax.servlet.http; + +import java.io.Serializable; + +public class Cookie implements Cloneable, Serializable +{ + protected Cookie() {} + public Cookie(String p0, String p1){} + public Object clone(){ return null; } + public String getComment(){ return null; } + public String getDomain(){ return null; } + public String getName(){ return null; } + public String getPath(){ return null; } + public String getValue(){ return null; } + public boolean getSecure(){ return false; } + public boolean isHttpOnly(){ return false; } + public int getMaxAge(){ return 0; } + public int getVersion(){ return 0; } + public void setComment(String p0){} + public void setDomain(String p0){} + public void setHttpOnly(boolean p0){} + public void setMaxAge(int p0){} + public void setPath(String p0){} + public void setSecure(boolean p0){} + public void setValue(String p0){} + public void setVersion(int p0){} +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServlet.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServlet.java new file mode 100644 index 00000000000..87d0adcaf34 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServlet.java @@ -0,0 +1,46 @@ +// Generated automatically from javax.servlet.http.HttpServlet for testing purposes + +package javax.servlet.http; + +import javax.servlet.GenericServlet; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +abstract public class HttpServlet extends GenericServlet { + protected long getLastModified(HttpServletRequest p0) { + return 0; + } + + protected void doDelete(HttpServletRequest p0, HttpServletResponse p1) { + } + + protected void doGet(HttpServletRequest p0, HttpServletResponse p1) throws IOException { + } + + protected void doHead(HttpServletRequest p0, HttpServletResponse p1) { + } + + protected void doOptions(HttpServletRequest p0, HttpServletResponse p1) { + } + + protected void doPost(HttpServletRequest p0, HttpServletResponse p1) throws IOException { + } + + protected void doPut(HttpServletRequest p0, HttpServletResponse p1) { + } + + protected void doTrace(HttpServletRequest p0, HttpServletResponse p1) { + } + + protected void service(HttpServletRequest p0, HttpServletResponse p1) { + } + + public HttpServlet() { + } + + public void service(ServletRequest p0, ServletResponse p1) { + } +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletMapping.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletMapping.java new file mode 100644 index 00000000000..1b597f27773 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletMapping.java @@ -0,0 +1,13 @@ +// Generated automatically from javax.servlet.http.HttpServletMapping for testing purposes + +package javax.servlet.http; + +import javax.servlet.http.MappingMatch; + +public interface HttpServletMapping +{ + MappingMatch getMappingMatch(); + String getMatchValue(); + String getPattern(); + String getServletName(); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletRequest.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletRequest.java new file mode 100644 index 00000000000..8612c34fb69 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletRequest.java @@ -0,0 +1,60 @@ +// Generated automatically from javax.servlet.http.HttpServletRequest for testing purposes + +package javax.servlet.http; + +import java.security.Principal; +import java.util.Collection; +import java.util.Enumeration; +import java.util.Map; +import javax.servlet.ServletRequest; +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletMapping; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import javax.servlet.http.HttpUpgradeHandler; +import javax.servlet.http.Part; +import javax.servlet.http.PushBuilder; + +public interface HttpServletRequest extends ServletRequest +{ + T upgrade(java.lang.Class p0); + Collection getParts(); + Cookie[] getCookies(); + Enumeration getHeaderNames(); + Enumeration getHeaders(String p0); + HttpSession getSession(); + HttpSession getSession(boolean p0); + Part getPart(String p0); + Principal getUserPrincipal(); + String changeSessionId(); + String getAuthType(); + String getContextPath(); + String getHeader(String p0); + String getMethod(); + String getPathInfo(); + String getPathTranslated(); + String getQueryString(); + String getRemoteUser(); + String getRequestURI(); + String getRequestedSessionId(); + String getServletPath(); + StringBuffer getRequestURL(); + boolean authenticate(HttpServletResponse p0); + boolean isRequestedSessionIdFromCookie(); + boolean isRequestedSessionIdFromURL(); + boolean isRequestedSessionIdFromUrl(); + boolean isRequestedSessionIdValid(); + boolean isUserInRole(String p0); + default HttpServletMapping getHttpServletMapping(){ return null; } + default Map getTrailerFields(){ return null; } + default PushBuilder newPushBuilder(){ return null; } + default boolean isTrailerFieldsReady(){ return false; } + int getIntHeader(String p0); + long getDateHeader(String p0); + static String BASIC_AUTH = null; + static String CLIENT_CERT_AUTH = null; + static String DIGEST_AUTH = null; + static String FORM_AUTH = null; + void login(String p0, String p1); + void logout(); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletResponse.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletResponse.java new file mode 100644 index 00000000000..da902dbf30c --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletResponse.java @@ -0,0 +1,77 @@ +// Generated automatically from javax.servlet.http.HttpServletResponse for testing purposes + +package javax.servlet.http; + +import java.util.Collection; +import java.util.Map; +import java.util.function.Supplier; +import javax.servlet.ServletResponse; +import javax.servlet.http.Cookie; + +public interface HttpServletResponse extends ServletResponse +{ + Collection getHeaderNames(); + Collection getHeaders(String p0); + String encodeRedirectURL(String p0); + String encodeRedirectUrl(String p0); + String encodeURL(String p0); + String encodeUrl(String p0); + String getHeader(String p0); + boolean containsHeader(String p0); + default Supplier> getTrailerFields(){ return null; } + default void setTrailerFields(Supplier> p0){} + int getStatus(); + static int SC_ACCEPTED = 0; + static int SC_BAD_GATEWAY = 0; + static int SC_BAD_REQUEST = 0; + static int SC_CONFLICT = 0; + static int SC_CONTINUE = 0; + static int SC_CREATED = 0; + static int SC_EXPECTATION_FAILED = 0; + static int SC_FORBIDDEN = 0; + static int SC_FOUND = 0; + static int SC_GATEWAY_TIMEOUT = 0; + static int SC_GONE = 0; + static int SC_HTTP_VERSION_NOT_SUPPORTED = 0; + static int SC_INTERNAL_SERVER_ERROR = 0; + static int SC_LENGTH_REQUIRED = 0; + static int SC_METHOD_NOT_ALLOWED = 0; + static int SC_MOVED_PERMANENTLY = 0; + static int SC_MOVED_TEMPORARILY = 0; + static int SC_MULTIPLE_CHOICES = 0; + static int SC_NON_AUTHORITATIVE_INFORMATION = 0; + static int SC_NOT_ACCEPTABLE = 0; + static int SC_NOT_FOUND = 0; + static int SC_NOT_IMPLEMENTED = 0; + static int SC_NOT_MODIFIED = 0; + static int SC_NO_CONTENT = 0; + static int SC_OK = 0; + static int SC_PARTIAL_CONTENT = 0; + static int SC_PAYMENT_REQUIRED = 0; + static int SC_PRECONDITION_FAILED = 0; + static int SC_PROXY_AUTHENTICATION_REQUIRED = 0; + static int SC_REQUESTED_RANGE_NOT_SATISFIABLE = 0; + static int SC_REQUEST_ENTITY_TOO_LARGE = 0; + static int SC_REQUEST_TIMEOUT = 0; + static int SC_REQUEST_URI_TOO_LONG = 0; + static int SC_RESET_CONTENT = 0; + static int SC_SEE_OTHER = 0; + static int SC_SERVICE_UNAVAILABLE = 0; + static int SC_SWITCHING_PROTOCOLS = 0; + static int SC_TEMPORARY_REDIRECT = 0; + static int SC_UNAUTHORIZED = 0; + static int SC_UNSUPPORTED_MEDIA_TYPE = 0; + static int SC_USE_PROXY = 0; + void addCookie(Cookie p0); + void addDateHeader(String p0, long p1); + void addHeader(String p0, String p1); + void addIntHeader(String p0, int p1); + void sendError(int p0); + void sendError(int p0, String p1); + void sendRedirect(String p0); + void setDateHeader(String p0, long p1); + void setHeader(String p0, String p1); + void setIntHeader(String p0, int p1); + void setStatus(int p0); + void setStatus(int p0, String p1); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpSession.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpSession.java new file mode 100644 index 00000000000..f8f455b1423 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpSession.java @@ -0,0 +1,28 @@ +// Generated automatically from javax.servlet.http.HttpSession for testing purposes + +package javax.servlet.http; + +import java.util.Enumeration; +import javax.servlet.ServletContext; +import javax.servlet.http.HttpSessionContext; + +public interface HttpSession +{ + Enumeration getAttributeNames(); + HttpSessionContext getSessionContext(); + Object getAttribute(String p0); + Object getValue(String p0); + ServletContext getServletContext(); + String getId(); + String[] getValueNames(); + boolean isNew(); + int getMaxInactiveInterval(); + long getCreationTime(); + long getLastAccessedTime(); + void invalidate(); + void putValue(String p0, Object p1); + void removeAttribute(String p0); + void removeValue(String p0); + void setAttribute(String p0, Object p1); + void setMaxInactiveInterval(int p0); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpSessionContext.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpSessionContext.java new file mode 100644 index 00000000000..97a77b48358 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpSessionContext.java @@ -0,0 +1,12 @@ +// Generated automatically from javax.servlet.http.HttpSessionContext for testing purposes + +package javax.servlet.http; + +import java.util.Enumeration; +import javax.servlet.http.HttpSession; + +public interface HttpSessionContext +{ + Enumeration getIds(); + HttpSession getSession(String p0); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpUpgradeHandler.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpUpgradeHandler.java new file mode 100644 index 00000000000..987d49dbde2 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpUpgradeHandler.java @@ -0,0 +1,11 @@ +// Generated automatically from javax.servlet.http.HttpUpgradeHandler for testing purposes + +package javax.servlet.http; + +import javax.servlet.http.WebConnection; + +public interface HttpUpgradeHandler +{ + void destroy(); + void init(WebConnection p0); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/MappingMatch.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/MappingMatch.java new file mode 100644 index 00000000000..0432fd2ef7d --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/MappingMatch.java @@ -0,0 +1,10 @@ +// Generated automatically from javax.servlet.http.MappingMatch for testing purposes + +package javax.servlet.http; + + +public enum MappingMatch +{ + CONTEXT_ROOT, DEFAULT, EXACT, EXTENSION, PATH; + private MappingMatch() {} +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/Part.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/Part.java new file mode 100644 index 00000000000..a4e599748a5 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/Part.java @@ -0,0 +1,20 @@ +// Generated automatically from javax.servlet.http.Part for testing purposes + +package javax.servlet.http; + +import java.io.InputStream; +import java.util.Collection; + +public interface Part +{ + Collection getHeaderNames(); + Collection getHeaders(String p0); + InputStream getInputStream(); + String getContentType(); + String getHeader(String p0); + String getName(); + String getSubmittedFileName(); + long getSize(); + void delete(); + void write(String p0); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/PushBuilder.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/PushBuilder.java new file mode 100644 index 00000000000..195e2426a83 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/PushBuilder.java @@ -0,0 +1,23 @@ +// Generated automatically from javax.servlet.http.PushBuilder for testing purposes + +package javax.servlet.http; + +import java.util.Set; + +public interface PushBuilder +{ + PushBuilder addHeader(String p0, String p1); + PushBuilder method(String p0); + PushBuilder path(String p0); + PushBuilder queryString(String p0); + PushBuilder removeHeader(String p0); + PushBuilder sessionId(String p0); + PushBuilder setHeader(String p0, String p1); + Set getHeaderNames(); + String getHeader(String p0); + String getMethod(); + String getPath(); + String getQueryString(); + String getSessionId(); + void push(); +} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/WebConnection.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/WebConnection.java new file mode 100644 index 00000000000..5001c046400 --- /dev/null +++ b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/WebConnection.java @@ -0,0 +1,12 @@ +// Generated automatically from javax.servlet.http.WebConnection for testing purposes + +package javax.servlet.http; + +import javax.servlet.ServletInputStream; +import javax.servlet.ServletOutputStream; + +public interface WebConnection extends AutoCloseable +{ + ServletInputStream getInputStream(); + ServletOutputStream getOutputStream(); +} From bf506f8a9eb9c37c78cc768d8c159956299a64f6 Mon Sep 17 00:00:00 2001 From: am0o0 <77095239+am0o0@users.noreply.github.com> Date: Sat, 13 Jul 2024 18:06:02 +0200 Subject: [PATCH 006/258] remove redundent stubs --- .../com/auth0/jwt/HeaderParams.java | 29 - .../auth0-jwt-4.4.0/com/auth0/jwt/JWT.java | 74 -- .../com/auth0/jwt/JWTCreator.java | 631 ------------------ .../com/auth0/jwt/JWTDecoder.java | 156 ----- .../com/auth0/jwt/JWTVerifier.java | 493 -------------- .../com/auth0/jwt/RegisteredClaims.java | 55 -- .../com/auth0/jwt/TokenUtils.java | 47 -- .../com/auth0/jwt/algorithms/Algorithm.java | 404 ----------- .../auth0/jwt/algorithms/CryptoHelper.java | 208 ------ .../auth0/jwt/algorithms/ECDSAAlgorithm.java | 306 --------- .../auth0/jwt/algorithms/HMACAlgorithm.java | 81 --- .../auth0/jwt/algorithms/NoneAlgorithm.java | 36 - .../auth0/jwt/algorithms/RSAAlgorithm.java | 112 ---- .../AlgorithmMismatchException.java | 10 - .../exceptions/IncorrectClaimException.java | 44 -- .../jwt/exceptions/InvalidClaimException.java | 10 - .../jwt/exceptions/JWTCreationException.java | 10 - .../jwt/exceptions/JWTDecodeException.java | 14 - .../exceptions/JWTVerificationException.java | 14 - .../jwt/exceptions/MissingClaimException.java | 23 - .../SignatureGenerationException.java | 12 - .../SignatureVerificationException.java | 16 - .../jwt/exceptions/TokenExpiredException.java | 22 - .../com/auth0/jwt/impl/BasicHeader.java | 71 -- .../com/auth0/jwt/impl/ClaimsHolder.java | 19 - .../com/auth0/jwt/impl/ClaimsSerializer.java | 86 --- .../auth0/jwt/impl/ExpectedCheckHolder.java | 25 - .../auth0/jwt/impl/HeaderClaimsHolder.java | 12 - .../auth0/jwt/impl/HeaderDeserializer.java | 50 -- .../com/auth0/jwt/impl/HeaderSerializer.java | 10 - .../com/auth0/jwt/impl/JWTParser.java | 92 --- .../com/auth0/jwt/impl/JsonNodeClaim.java | 182 ----- .../auth0/jwt/impl/PayloadClaimsHolder.java | 12 - .../auth0/jwt/impl/PayloadDeserializer.java | 91 --- .../com/auth0/jwt/impl/PayloadImpl.java | 129 ---- .../com/auth0/jwt/impl/PayloadSerializer.java | 66 -- .../com/auth0/jwt/impl/package-info.java | 7 - .../com/auth0/jwt/interfaces/Claim.java | 131 ---- .../com/auth0/jwt/interfaces/DecodedJWT.java | 37 - .../jwt/interfaces/ECDSAKeyProvider.java | 10 - .../com/auth0/jwt/interfaces/Header.java | 44 -- .../auth0/jwt/interfaces/JWTPartsParser.java | 28 - .../com/auth0/jwt/interfaces/JWTVerifier.java | 40 -- .../com/auth0/jwt/interfaces/KeyProvider.java | 38 -- .../com/auth0/jwt/interfaces/Payload.java | 104 --- .../auth0/jwt/interfaces/RSAKeyProvider.java | 10 - .../auth0/jwt/interfaces/Verification.java | 267 -------- .../javax-4.0.1/crypto/KeyGenerator.java | 26 - .../javax-4.0.1/crypto/KeyGeneratorSpi.java | 16 - .../stubs/javax-4.0.1/crypto/SecretKey.java | 11 - .../security/auth/Destroyable.java | 10 - .../javax-4.0.1/servlet/AsyncContext.java | 31 - .../stubs/javax-4.0.1/servlet/AsyncEvent.java | 20 - .../javax-4.0.1/servlet/AsyncListener.java | 14 - .../javax-4.0.1/servlet/DispatcherType.java | 10 - .../stubs/javax-4.0.1/servlet/Filter.java | 15 - .../javax-4.0.1/servlet/FilterChain.java | 11 - .../javax-4.0.1/servlet/FilterConfig.java | 14 - .../servlet/FilterRegistration.java | 19 - .../javax-4.0.1/servlet/GenericServlet.java | 28 - .../servlet/HttpConstraintElement.java | 16 - .../servlet/HttpMethodConstraintElement.java | 13 - .../servlet/MultipartConfigElement.java | 17 - .../javax-4.0.1/servlet/ReadListener.java | 12 - .../javax-4.0.1/servlet/Registration.java | 20 - .../servlet/RequestDispatcher.java | 30 - .../stubs/javax-4.0.1/servlet/Servlet.java | 16 - .../javax-4.0.1/servlet/ServletConfig.java | 14 - .../javax-4.0.1/servlet/ServletContext.java | 83 --- .../servlet/ServletInputStream.java | 15 - .../servlet/ServletOutputStream.java | 28 - .../servlet/ServletRegistration.java | 23 - .../javax-4.0.1/servlet/ServletRequest.java | 55 -- .../javax-4.0.1/servlet/ServletResponse.java | 27 - .../servlet/ServletSecurityElement.java | 19 - .../servlet/SessionCookieConfig.java | 22 - .../servlet/SessionTrackingMode.java | 10 - .../javax-4.0.1/servlet/WriteListener.java | 11 - .../servlet/annotation/HttpConstraint.java | 18 - .../annotation/HttpMethodConstraint.java | 19 - .../servlet/annotation/MultipartConfig.java | 19 - .../servlet/annotation/ServletSecurity.java | 33 - .../servlet/annotation/WebInitParam.java | 20 - .../servlet/annotation/WebServlet.java | 28 - .../descriptor/JspConfigDescriptor.java | 13 - .../JspPropertyGroupDescriptor.java | 21 - .../servlet/descriptor/TaglibDescriptor.java | 10 - .../javax-4.0.1/servlet/http/Cookie.java | 29 - .../javax-4.0.1/servlet/http/HttpServlet.java | 24 - .../servlet/http/HttpServletMapping.java | 13 - .../servlet/http/HttpServletRequest.java | 60 -- .../servlet/http/HttpServletResponse.java | 77 --- .../javax-4.0.1/servlet/http/HttpSession.java | 28 - .../servlet/http/HttpSessionContext.java | 12 - .../servlet/http/HttpUpgradeHandler.java | 11 - .../servlet/http/MappingMatch.java | 10 - .../stubs/javax-4.0.1/servlet/http/Part.java | 20 - .../javax-4.0.1/servlet/http/PushBuilder.java | 23 - .../servlet/http/WebConnection.java | 12 - 99 files changed, 5524 deletions(-) delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/HeaderParams.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWT.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTCreator.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTDecoder.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTVerifier.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/RegisteredClaims.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/TokenUtils.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/Algorithm.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/CryptoHelper.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/ECDSAAlgorithm.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/HMACAlgorithm.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/NoneAlgorithm.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/RSAAlgorithm.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/AlgorithmMismatchException.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/IncorrectClaimException.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/InvalidClaimException.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTCreationException.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTDecodeException.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTVerificationException.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/MissingClaimException.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/SignatureGenerationException.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/SignatureVerificationException.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/TokenExpiredException.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/BasicHeader.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ClaimsHolder.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ClaimsSerializer.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ExpectedCheckHolder.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderClaimsHolder.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderDeserializer.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderSerializer.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/JWTParser.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/JsonNodeClaim.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadClaimsHolder.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadDeserializer.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadImpl.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadSerializer.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/package-info.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Claim.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/DecodedJWT.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/ECDSAKeyProvider.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Header.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/JWTPartsParser.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/JWTVerifier.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/KeyProvider.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Payload.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/RSAKeyProvider.java delete mode 100644 java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Verification.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/crypto/KeyGenerator.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/crypto/KeyGeneratorSpi.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/crypto/SecretKey.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/security/auth/Destroyable.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/AsyncContext.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/AsyncEvent.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/AsyncListener.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/DispatcherType.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/Filter.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/FilterChain.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/FilterConfig.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/FilterRegistration.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/GenericServlet.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/HttpConstraintElement.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/HttpMethodConstraintElement.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/MultipartConfigElement.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ReadListener.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/Registration.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/RequestDispatcher.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/Servlet.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ServletConfig.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ServletContext.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ServletInputStream.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ServletOutputStream.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ServletRegistration.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ServletRequest.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ServletResponse.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/ServletSecurityElement.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/SessionCookieConfig.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/SessionTrackingMode.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/WriteListener.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/annotation/HttpConstraint.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/annotation/HttpMethodConstraint.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/annotation/MultipartConfig.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/annotation/ServletSecurity.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/annotation/WebInitParam.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/annotation/WebServlet.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/descriptor/JspConfigDescriptor.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/descriptor/JspPropertyGroupDescriptor.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/descriptor/TaglibDescriptor.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/Cookie.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServlet.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletMapping.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletRequest.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletResponse.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/HttpSession.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/HttpSessionContext.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/HttpUpgradeHandler.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/MappingMatch.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/Part.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/PushBuilder.java delete mode 100644 java/ql/test/stubs/javax-4.0.1/servlet/http/WebConnection.java diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/HeaderParams.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/HeaderParams.java deleted file mode 100644 index 1107f313a30..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/HeaderParams.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.auth0.jwt; - -/** - * Contains constants representing the JWT header parameter names. - */ -public final class HeaderParams { - - private HeaderParams() {} - - /** - * The algorithm used to sign a JWT. - */ - public static final String ALGORITHM = "alg"; - - /** - * The content type of the JWT. - */ - public static final String CONTENT_TYPE = "cty"; - - /** - * The media type of the JWT. - */ - public static final String TYPE = "typ"; - - /** - * The key ID of a JWT used to specify the key for signature validation. - */ - public static final String KEY_ID = "kid"; -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWT.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWT.java deleted file mode 100644 index 696abe4001c..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWT.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.auth0.jwt; - -import com.auth0.jwt.algorithms.Algorithm; -import com.auth0.jwt.exceptions.JWTDecodeException; -import com.auth0.jwt.impl.JWTParser; -import com.auth0.jwt.interfaces.DecodedJWT; -import com.auth0.jwt.interfaces.Verification; - -/** - * Exposes all the JWT functionalities. - */ -@SuppressWarnings("WeakerAccess") -public class JWT { - - private final JWTParser parser; - - /** - * Constructs a new instance of the JWT library. Use this if you need to decode many JWT - * tokens on the fly and do not wish to instantiate a new parser for each invocation. - */ - public JWT() { - parser = new JWTParser(); - } - - /** - * Decode a given Json Web Token. - *

    - * Note that this method doesn't verify the token's signature! - * Use it only if you trust the token or if you have already verified it. - * - * @param token with jwt format as string. - * @return a decoded JWT. - * @throws JWTDecodeException if any part of the token contained an invalid jwt - * or JSON format of each of the jwt parts. - */ - public DecodedJWT decodeJwt(String token) throws JWTDecodeException { - return new JWTDecoder(parser, token); - } - - /** - * Decode a given Json Web Token. - *

    - * Note that this method doesn't verify the token's signature! - * Use it only if you trust the token or if you have already verified it. - * - * @param token with jwt format as string. - * @return a decoded JWT. - * @throws JWTDecodeException if any part of the token contained an invalid jwt - * or JSON format of each of the jwt parts. - */ - public static DecodedJWT decode(String token) throws JWTDecodeException { - return new JWTDecoder(token); - } - - /** - * Returns a {@link Verification} builder with the algorithm to be used to validate token signature. - * - * @param algorithm that will be used to verify the token's signature. - * @return {@link Verification} builder - * @throws IllegalArgumentException if the provided algorithm is null. - */ - public static Verification require(Algorithm algorithm) { - return JWTVerifier.init(algorithm); - } - - /** - * Returns a Json Web Token builder used to create and sign tokens. - * - * @return a token builder. - */ - public static JWTCreator.Builder create() { - return JWTCreator.init(); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTCreator.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTCreator.java deleted file mode 100644 index 0b0d21e4288..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTCreator.java +++ /dev/null @@ -1,631 +0,0 @@ -package com.auth0.jwt; - -import com.auth0.jwt.algorithms.Algorithm; -import com.auth0.jwt.exceptions.JWTCreationException; -import com.auth0.jwt.exceptions.SignatureGenerationException; -import com.auth0.jwt.impl.*; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.MapperFeature; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.json.JsonMapper; -import com.fasterxml.jackson.databind.module.SimpleModule; - -import java.nio.charset.StandardCharsets; -import java.time.Instant; -import java.util.*; -import java.util.Map.Entry; - -/** - * The JWTCreator class holds the sign method to generate a complete JWT (with Signature) - * from a given Header and Payload content. - *

    - * This class is thread-safe. - */ -@SuppressWarnings("WeakerAccess") -public final class JWTCreator { - - private final Algorithm algorithm; - private final String headerJson; - private final String payloadJson; - - private static final ObjectMapper mapper; - private static final SimpleModule module; - - static { - module = new SimpleModule(); - module.addSerializer(PayloadClaimsHolder.class, new PayloadSerializer()); - module.addSerializer(HeaderClaimsHolder.class, new HeaderSerializer()); - - mapper = JsonMapper.builder() - .configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true) - .build() - .registerModule(module); - } - - private JWTCreator(Algorithm algorithm, Map headerClaims, Map payloadClaims) - throws JWTCreationException { - this.algorithm = algorithm; - try { - headerJson = mapper.writeValueAsString(new HeaderClaimsHolder(headerClaims)); - payloadJson = mapper.writeValueAsString(new PayloadClaimsHolder(payloadClaims)); - } catch (JsonProcessingException e) { - throw new JWTCreationException("Some of the Claims couldn't be converted to a valid JSON format.", e); - } - } - - - /** - * Initialize a JWTCreator instance. - * - * @return a JWTCreator.Builder instance to configure. - */ - static JWTCreator.Builder init() { - return new Builder(); - } - - /** - * The Builder class holds the Claims that defines the JWT to be created. - */ - public static class Builder { - private final Map payloadClaims; - private final Map headerClaims; - - Builder() { - this.payloadClaims = new LinkedHashMap<>(); - this.headerClaims = new LinkedHashMap<>(); - } - - /** - * Add specific Claims to set as the Header. - * If provided map is null then nothing is changed - * - * @param headerClaims the values to use as Claims in the token's Header. - * @return this same Builder instance. - */ - public Builder withHeader(Map headerClaims) { - if (headerClaims == null) { - return this; - } - - for (Map.Entry entry : headerClaims.entrySet()) { - if (entry.getValue() == null) { - this.headerClaims.remove(entry.getKey()); - } else { - this.headerClaims.put(entry.getKey(), entry.getValue()); - } - } - - return this; - } - - /** - * Add specific Claims to set as the Header. - * If provided json is null then nothing is changed - * - * @param headerClaimsJson the values to use as Claims in the token's Header. - * @return this same Builder instance. - * @throws IllegalArgumentException if json value has invalid structure - */ - public Builder withHeader(String headerClaimsJson) throws IllegalArgumentException { - if (headerClaimsJson == null) { - return this; - } - - try { - Map headerClaims = mapper.readValue(headerClaimsJson, LinkedHashMap.class); - return withHeader(headerClaims); - } catch (JsonProcessingException e) { - throw new IllegalArgumentException("Invalid header JSON", e); - } - } - - /** - * Add a specific Key Id ("kid") claim to the Header. - * If the {@link Algorithm} used to sign this token was instantiated with a KeyProvider, - * the 'kid' value will be taken from that provider and this one will be ignored. - * - * @param keyId the Key Id value. - * @return this same Builder instance. - */ - public Builder withKeyId(String keyId) { - this.headerClaims.put(HeaderParams.KEY_ID, keyId); - return this; - } - - /** - * Add a specific Issuer ("iss") claim to the Payload. - * - * @param issuer the Issuer value. - * @return this same Builder instance. - */ - public Builder withIssuer(String issuer) { - addClaim(RegisteredClaims.ISSUER, issuer); - return this; - } - - /** - * Add a specific Subject ("sub") claim to the Payload. - * - * @param subject the Subject value. - * @return this same Builder instance. - */ - public Builder withSubject(String subject) { - addClaim(RegisteredClaims.SUBJECT, subject); - return this; - } - - /** - * Add a specific Audience ("aud") claim to the Payload. - * - * @param audience the Audience value. - * @return this same Builder instance. - */ - public Builder withAudience(String... audience) { - addClaim(RegisteredClaims.AUDIENCE, audience); - return this; - } - - /** - * Add a specific Expires At ("exp") claim to the payload. The claim will be written as seconds since the epoch. - * Milliseconds will be truncated by rounding down to the nearest second. - * - * @param expiresAt the Expires At value. - * @return this same Builder instance. - */ - public Builder withExpiresAt(Date expiresAt) { - addClaim(RegisteredClaims.EXPIRES_AT, expiresAt); - return this; - } - - /** - * Add a specific Expires At ("exp") claim to the payload. The claim will be written as seconds since the epoch; - * Milliseconds will be truncated by rounding down to the nearest second. - * - * @param expiresAt the Expires At value. - * @return this same Builder instance. - */ - public Builder withExpiresAt(Instant expiresAt) { - addClaim(RegisteredClaims.EXPIRES_AT, expiresAt); - return this; - } - - /** - * Add a specific Not Before ("nbf") claim to the Payload. The claim will be written as seconds since the epoch; - * Milliseconds will be truncated by rounding down to the nearest second. - * - * @param notBefore the Not Before value. - * @return this same Builder instance. - */ - public Builder withNotBefore(Date notBefore) { - addClaim(RegisteredClaims.NOT_BEFORE, notBefore); - return this; - } - - /** - * Add a specific Not Before ("nbf") claim to the Payload. The claim will be written as seconds since the epoch; - * Milliseconds will be truncated by rounding down to the nearest second. - * - * @param notBefore the Not Before value. - * @return this same Builder instance. - */ - public Builder withNotBefore(Instant notBefore) { - addClaim(RegisteredClaims.NOT_BEFORE, notBefore); - return this; - } - - /** - * Add a specific Issued At ("iat") claim to the Payload. The claim will be written as seconds since the epoch; - * Milliseconds will be truncated by rounding down to the nearest second. - * - * @param issuedAt the Issued At value. - * @return this same Builder instance. - */ - public Builder withIssuedAt(Date issuedAt) { - addClaim(RegisteredClaims.ISSUED_AT, issuedAt); - return this; - } - - /** - * Add a specific Issued At ("iat") claim to the Payload. The claim will be written as seconds since the epoch; - * Milliseconds will be truncated by rounding down to the nearest second. - * - * @param issuedAt the Issued At value. - * @return this same Builder instance. - */ - public Builder withIssuedAt(Instant issuedAt) { - addClaim(RegisteredClaims.ISSUED_AT, issuedAt); - return this; - } - - /** - * Add a specific JWT Id ("jti") claim to the Payload. - * - * @param jwtId the Token Id value. - * @return this same Builder instance. - */ - public Builder withJWTId(String jwtId) { - addClaim(RegisteredClaims.JWT_ID, jwtId); - return this; - } - - /** - * Add a custom Claim value. - * - * @param name the Claim's name. - * @param value the Claim's value. - * @return this same Builder instance. - * @throws IllegalArgumentException if the name is null. - */ - public Builder withClaim(String name, Boolean value) throws IllegalArgumentException { - assertNonNull(name); - addClaim(name, value); - return this; - } - - /** - * Add a custom Claim value. - * - * @param name the Claim's name. - * @param value the Claim's value. - * @return this same Builder instance. - * @throws IllegalArgumentException if the name is null. - */ - public Builder withClaim(String name, Integer value) throws IllegalArgumentException { - assertNonNull(name); - addClaim(name, value); - return this; - } - - /** - * Add a custom Claim value. - * - * @param name the Claim's name. - * @param value the Claim's value. - * @return this same Builder instance. - * @throws IllegalArgumentException if the name is null. - */ - public Builder withClaim(String name, Long value) throws IllegalArgumentException { - assertNonNull(name); - addClaim(name, value); - return this; - } - - /** - * Add a custom Claim value. - * - * @param name the Claim's name. - * @param value the Claim's value. - * @return this same Builder instance. - * @throws IllegalArgumentException if the name is null. - */ - public Builder withClaim(String name, Double value) throws IllegalArgumentException { - assertNonNull(name); - addClaim(name, value); - return this; - } - - /** - * Add a custom Claim value. - * - * @param name the Claim's name. - * @param value the Claim's value. - * @return this same Builder instance. - * @throws IllegalArgumentException if the name is null. - */ - public Builder withClaim(String name, String value) throws IllegalArgumentException { - assertNonNull(name); - addClaim(name, value); - return this; - } - - /** - * Add a custom Claim value. The claim will be written as seconds since the epoch. - * Milliseconds will be truncated by rounding down to the nearest second. - * - * @param name the Claim's name. - * @param value the Claim's value. - * @return this same Builder instance. - * @throws IllegalArgumentException if the name is null. - */ - public Builder withClaim(String name, Date value) throws IllegalArgumentException { - assertNonNull(name); - addClaim(name, value); - return this; - } - - /** - * Add a custom Claim value. The claim will be written as seconds since the epoch. - * Milliseconds will be truncated by rounding down to the nearest second. - * - * @param name the Claim's name. - * @param value the Claim's value. - * @return this same Builder instance. - * @throws IllegalArgumentException if the name is null. - */ - public Builder withClaim(String name, Instant value) throws IllegalArgumentException { - assertNonNull(name); - addClaim(name, value); - return this; - } - - /** - * Add a custom Map Claim with the given items. - *

    - * Accepted nested types are {@linkplain Map} and {@linkplain List} with basic types - * {@linkplain Boolean}, {@linkplain Integer}, {@linkplain Long}, {@linkplain Double}, - * {@linkplain String} and {@linkplain Date}. {@linkplain Map}s cannot contain null keys or values. - * {@linkplain List}s can contain null elements. - * - * @param name the Claim's name. - * @param map the Claim's key-values. - * @return this same Builder instance. - * @throws IllegalArgumentException if the name is null, or if the map contents does not validate. - */ - public Builder withClaim(String name, Map map) throws IllegalArgumentException { - assertNonNull(name); - // validate map contents - if (map != null && !validateClaim(map)) { - throw new IllegalArgumentException("Expected map containing Map, List, Boolean, Integer, " - + "Long, Double, String and Date"); - } - addClaim(name, map); - return this; - } - - /** - * Add a custom List Claim with the given items. - *

    - * Accepted nested types are {@linkplain Map} and {@linkplain List} with basic types - * {@linkplain Boolean}, {@linkplain Integer}, {@linkplain Long}, {@linkplain Double}, - * {@linkplain String} and {@linkplain Date}. {@linkplain Map}s cannot contain null keys or values. - * {@linkplain List}s can contain null elements. - * - * @param name the Claim's name. - * @param list the Claim's list of values. - * @return this same Builder instance. - * @throws IllegalArgumentException if the name is null, or if the list contents does not validate. - */ - public Builder withClaim(String name, List list) throws IllegalArgumentException { - assertNonNull(name); - // validate list contents - if (list != null && !validateClaim(list)) { - throw new IllegalArgumentException("Expected list containing Map, List, Boolean, Integer, " - + "Long, Double, String and Date"); - } - addClaim(name, list); - return this; - } - - /** - * Add a custom claim with null value. - * - * @param name the Claim's name. - * @return this same Builder instance. - * @throws IllegalArgumentException if the name is null - */ - public Builder withNullClaim(String name) throws IllegalArgumentException { - assertNonNull(name); - addClaim(name, null); - return this; - } - - /** - * Add a custom Array Claim with the given items. - * - * @param name the Claim's name. - * @param items the Claim's value. - * @return this same Builder instance. - * @throws IllegalArgumentException if the name is null. - */ - public Builder withArrayClaim(String name, String[] items) throws IllegalArgumentException { - assertNonNull(name); - addClaim(name, items); - return this; - } - - /** - * Add a custom Array Claim with the given items. - * - * @param name the Claim's name. - * @param items the Claim's value. - * @return this same Builder instance. - * @throws IllegalArgumentException if the name is null. - */ - public Builder withArrayClaim(String name, Integer[] items) throws IllegalArgumentException { - assertNonNull(name); - addClaim(name, items); - return this; - } - - /** - * Add a custom Array Claim with the given items. - * - * @param name the Claim's name. - * @param items the Claim's value. - * @return this same Builder instance. - * @throws IllegalArgumentException if the name is null - */ - public Builder withArrayClaim(String name, Long[] items) throws IllegalArgumentException { - assertNonNull(name); - addClaim(name, items); - return this; - } - - /** - * Add specific Claims to set as the Payload. If the provided map is null then - * nothing is changed. - *

    - * Accepted types are {@linkplain Map} and {@linkplain List} with basic types - * {@linkplain Boolean}, {@linkplain Integer}, {@linkplain Long}, {@linkplain Double}, - * {@linkplain String} and {@linkplain Date}. - * {@linkplain Map}s and {@linkplain List}s can contain null elements. - *

    - * - *

    - * If any of the claims are invalid, none will be added. - *

    - * - * @param payloadClaims the values to use as Claims in the token's payload. - * @return this same Builder instance. - * @throws IllegalArgumentException if any of the claim keys or null, - * or if the values are not of a supported type. - */ - public Builder withPayload(Map payloadClaims) throws IllegalArgumentException { - if (payloadClaims == null) { - return this; - } - - if (!validatePayload(payloadClaims)) { - throw new IllegalArgumentException("Claim values must only be of types Map, List, Boolean, Integer, " - + "Long, Double, String, Date, Instant, and Null"); - } - - // add claims only after validating all claims so as not to corrupt the claims map of this builder - for (Map.Entry entry : payloadClaims.entrySet()) { - addClaim(entry.getKey(), entry.getValue()); - } - - return this; - } - - /** - * Add specific Claims to set as the Payload. If the provided json is null then - * nothing is changed. - * - *

    - * If any of the claims are invalid, none will be added. - *

    - * - * @param payloadClaimsJson the values to use as Claims in the token's payload. - * @return this same Builder instance. - * @throws IllegalArgumentException if any of the claim keys or null, - * or if the values are not of a supported type, - * or if json value has invalid structure. - */ - public Builder withPayload(String payloadClaimsJson) throws IllegalArgumentException { - if (payloadClaimsJson == null) { - return this; - } - - try { - Map payloadClaims = mapper.readValue(payloadClaimsJson, LinkedHashMap.class); - return withPayload(payloadClaims); - } catch (JsonProcessingException e) { - throw new IllegalArgumentException("Invalid payload JSON", e); - } - } - - private boolean validatePayload(Map payload) { - for (Map.Entry entry : payload.entrySet()) { - String key = entry.getKey(); - assertNonNull(key); - - Object value = entry.getValue(); - if (value instanceof List && !validateClaim((List) value)) { - return false; - } else if (value instanceof Map && !validateClaim((Map) value)) { - return false; - } else if (!isSupportedType(value)) { - return false; - } - } - return true; - } - - private static boolean validateClaim(Map map) { - // do not accept null values in maps - for (Entry entry : map.entrySet()) { - Object value = entry.getValue(); - if (!isSupportedType(value)) { - return false; - } - - if (!(entry.getKey() instanceof String)) { - return false; - } - } - return true; - } - - private static boolean validateClaim(List list) { - // accept null values in list - for (Object object : list) { - if (!isSupportedType(object)) { - return false; - } - } - return true; - } - - private static boolean isSupportedType(Object value) { - if (value instanceof List) { - return validateClaim((List) value); - } else if (value instanceof Map) { - return validateClaim((Map) value); - } else { - return isBasicType(value); - } - } - - private static boolean isBasicType(Object value) { - if (value == null) { - return true; - } else { - Class c = value.getClass(); - - if (c.isArray()) { - return c == Integer[].class || c == Long[].class || c == String[].class; - } - return c == String.class || c == Integer.class || c == Long.class || c == Double.class - || c == Date.class || c == Instant.class || c == Boolean.class; - } - } - - /** - * Creates a new JWT and signs is with the given algorithm. - * - * @param algorithm used to sign the JWT - * @return a new JWT token - * @throws IllegalArgumentException if the provided algorithm is null. - * @throws JWTCreationException if the claims could not be converted to a valid JSON - * or there was a problem with the signing key. - */ - public String sign(Algorithm algorithm) throws IllegalArgumentException, JWTCreationException { - if (algorithm == null) { - throw new IllegalArgumentException("The Algorithm cannot be null."); - } - headerClaims.put(HeaderParams.ALGORITHM, algorithm.getName()); - if (!headerClaims.containsKey(HeaderParams.TYPE)) { - headerClaims.put(HeaderParams.TYPE, "JWT"); - } - String signingKeyId = algorithm.getSigningKeyId(); - if (signingKeyId != null) { - withKeyId(signingKeyId); - } - return new JWTCreator(algorithm, headerClaims, payloadClaims).sign(); - } - - private void assertNonNull(String name) { - if (name == null) { - throw new IllegalArgumentException("The Custom Claim's name can't be null."); - } - } - - private void addClaim(String name, Object value) { - payloadClaims.put(name, value); - } - } - - private String sign() throws SignatureGenerationException { - String header = Base64.getUrlEncoder().withoutPadding() - .encodeToString(headerJson.getBytes(StandardCharsets.UTF_8)); - String payload = Base64.getUrlEncoder().withoutPadding() - .encodeToString(payloadJson.getBytes(StandardCharsets.UTF_8)); - - byte[] signatureBytes = algorithm.sign(header.getBytes(StandardCharsets.UTF_8), - payload.getBytes(StandardCharsets.UTF_8)); - String signature = Base64.getUrlEncoder().withoutPadding().encodeToString((signatureBytes)); - - return String.format("%s.%s.%s", header, payload, signature); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTDecoder.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTDecoder.java deleted file mode 100644 index cc283095f25..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTDecoder.java +++ /dev/null @@ -1,156 +0,0 @@ -package com.auth0.jwt; - -import com.auth0.jwt.exceptions.JWTDecodeException; -import com.auth0.jwt.impl.JWTParser; -import com.auth0.jwt.interfaces.Claim; -import com.auth0.jwt.interfaces.DecodedJWT; -import com.auth0.jwt.interfaces.Header; -import com.auth0.jwt.interfaces.Payload; - -import java.io.Serializable; -import java.nio.charset.StandardCharsets; -import java.time.Instant; -import java.util.Base64; -import java.util.Date; -import java.util.List; -import java.util.Map; - -/** - * The JWTDecoder class holds the decode method to parse a given JWT token into it's JWT representation. - *

    - * This class is thread-safe. - */ -@SuppressWarnings("WeakerAccess") -final class JWTDecoder implements DecodedJWT, Serializable { - - private static final long serialVersionUID = 1873362438023312895L; - - private final String[] parts; - private final Header header; - private final Payload payload; - - JWTDecoder(String jwt) throws JWTDecodeException { - this(new JWTParser(), jwt); - } - - JWTDecoder(JWTParser converter, String jwt) throws JWTDecodeException { - parts = TokenUtils.splitToken(jwt); - String headerJson; - String payloadJson; - try { - headerJson = new String(Base64.getUrlDecoder().decode(parts[0]), StandardCharsets.UTF_8); - payloadJson = new String(Base64.getUrlDecoder().decode(parts[1]), StandardCharsets.UTF_8); - } catch (NullPointerException e) { - throw new JWTDecodeException("The UTF-8 Charset isn't initialized.", e); - } catch (IllegalArgumentException e) { - throw new JWTDecodeException("The input is not a valid base 64 encoded string.", e); - } - header = converter.parseHeader(headerJson); - payload = converter.parsePayload(payloadJson); - } - - @Override - public String getAlgorithm() { - return header.getAlgorithm(); - } - - @Override - public String getType() { - return header.getType(); - } - - @Override - public String getContentType() { - return header.getContentType(); - } - - @Override - public String getKeyId() { - return header.getKeyId(); - } - - @Override - public Claim getHeaderClaim(String name) { - return header.getHeaderClaim(name); - } - - @Override - public String getIssuer() { - return payload.getIssuer(); - } - - @Override - public String getSubject() { - return payload.getSubject(); - } - - @Override - public List getAudience() { - return payload.getAudience(); - } - - @Override - public Date getExpiresAt() { - return payload.getExpiresAt(); - } - - @Override - public Instant getExpiresAtAsInstant() { - return payload.getExpiresAtAsInstant(); - } - - @Override - public Date getNotBefore() { - return payload.getNotBefore(); - } - - @Override - public Instant getNotBeforeAsInstant() { - return payload.getNotBeforeAsInstant(); - } - - @Override - public Date getIssuedAt() { - return payload.getIssuedAt(); - } - - @Override - public Instant getIssuedAtAsInstant() { - return payload.getIssuedAtAsInstant(); - } - - @Override - public String getId() { - return payload.getId(); - } - - @Override - public Claim getClaim(String name) { - return payload.getClaim(name); - } - - @Override - public Map getClaims() { - return payload.getClaims(); - } - - @Override - public String getHeader() { - return parts[0]; - } - - @Override - public String getPayload() { - return parts[1]; - } - - @Override - public String getSignature() { - return parts[2]; - } - - @Override - public String getToken() { - return String.format("%s.%s.%s", parts[0], parts[1], parts[2]); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTVerifier.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTVerifier.java deleted file mode 100644 index 6cec2026cab..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/JWTVerifier.java +++ /dev/null @@ -1,493 +0,0 @@ -package com.auth0.jwt; - -import com.auth0.jwt.algorithms.Algorithm; -import com.auth0.jwt.exceptions.*; -import com.auth0.jwt.impl.JWTParser; -import com.auth0.jwt.interfaces.Claim; -import com.auth0.jwt.interfaces.DecodedJWT; -import com.auth0.jwt.impl.ExpectedCheckHolder; -import com.auth0.jwt.interfaces.Verification; - -import java.time.Clock; -import java.time.Duration; -import java.time.Instant; -import java.time.temporal.ChronoUnit; -import java.util.*; -import java.util.function.BiPredicate; - -/** - * The JWTVerifier class holds the verify method to assert that a given Token has not only a proper JWT format, - * but also its signature matches. - *

    - * This class is thread-safe. - * - * @see com.auth0.jwt.interfaces.JWTVerifier - */ -public final class JWTVerifier implements com.auth0.jwt.interfaces.JWTVerifier { - private final Algorithm algorithm; - final List expectedChecks; - private final JWTParser parser; - - JWTVerifier(Algorithm algorithm, List expectedChecks) { - this.algorithm = algorithm; - this.expectedChecks = Collections.unmodifiableList(expectedChecks); - this.parser = new JWTParser(); - } - - /** - * Initialize a {@link Verification} instance using the given Algorithm. - * - * @param algorithm the Algorithm to use on the JWT verification. - * @return a {@link Verification} instance to configure. - * @throws IllegalArgumentException if the provided algorithm is null. - */ - static Verification init(Algorithm algorithm) throws IllegalArgumentException { - return new BaseVerification(algorithm); - } - - /** - * {@link Verification} implementation that accepts all the expected Claim values for verification, and - * builds a {@link com.auth0.jwt.interfaces.JWTVerifier} used to verify a JWT's signature and expected claims. - * - * Note that this class is not thread-safe. Calling {@link #build()} returns an instance of - * {@link com.auth0.jwt.interfaces.JWTVerifier} which can be reused. - */ - public static class BaseVerification implements Verification { - private final Algorithm algorithm; - private final List expectedChecks; - private long defaultLeeway; - private final Map customLeeways; - private boolean ignoreIssuedAt; - private Clock clock; - - BaseVerification(Algorithm algorithm) throws IllegalArgumentException { - if (algorithm == null) { - throw new IllegalArgumentException("The Algorithm cannot be null."); - } - - this.algorithm = algorithm; - this.expectedChecks = new ArrayList<>(); - this.customLeeways = new HashMap<>(); - this.defaultLeeway = 0; - } - - @Override - public Verification withIssuer(String... issuer) { - List value = isNullOrEmpty(issuer) ? null : Arrays.asList(issuer); - addCheck(RegisteredClaims.ISSUER, ((claim, decodedJWT) -> { - if (verifyNull(claim, value)) { - return true; - } - if (value == null || !value.contains(claim.asString())) { - throw new IncorrectClaimException( - "The Claim 'iss' value doesn't match the required issuer.", RegisteredClaims.ISSUER, claim); - } - return true; - })); - return this; - } - - @Override - public Verification withSubject(String subject) { - addCheck(RegisteredClaims.SUBJECT, (claim, decodedJWT) -> - verifyNull(claim, subject) || subject.equals(claim.asString())); - return this; - } - - @Override - public Verification withAudience(String... audience) { - List value = isNullOrEmpty(audience) ? null : Arrays.asList(audience); - addCheck(RegisteredClaims.AUDIENCE, ((claim, decodedJWT) -> { - if (verifyNull(claim, value)) { - return true; - } - if (!assertValidAudienceClaim(decodedJWT.getAudience(), value, true)) { - throw new IncorrectClaimException("The Claim 'aud' value doesn't contain the required audience.", - RegisteredClaims.AUDIENCE, claim); - } - return true; - })); - return this; - } - - @Override - public Verification withAnyOfAudience(String... audience) { - List value = isNullOrEmpty(audience) ? null : Arrays.asList(audience); - addCheck(RegisteredClaims.AUDIENCE, ((claim, decodedJWT) -> { - if (verifyNull(claim, value)) { - return true; - } - if (!assertValidAudienceClaim(decodedJWT.getAudience(), value, false)) { - throw new IncorrectClaimException("The Claim 'aud' value doesn't contain the required audience.", - RegisteredClaims.AUDIENCE, claim); - } - return true; - })); - return this; - } - - @Override - public Verification acceptLeeway(long leeway) throws IllegalArgumentException { - assertPositive(leeway); - this.defaultLeeway = leeway; - return this; - } - - @Override - public Verification acceptExpiresAt(long leeway) throws IllegalArgumentException { - assertPositive(leeway); - customLeeways.put(RegisteredClaims.EXPIRES_AT, leeway); - return this; - } - - @Override - public Verification acceptNotBefore(long leeway) throws IllegalArgumentException { - assertPositive(leeway); - customLeeways.put(RegisteredClaims.NOT_BEFORE, leeway); - return this; - } - - @Override - public Verification acceptIssuedAt(long leeway) throws IllegalArgumentException { - assertPositive(leeway); - customLeeways.put(RegisteredClaims.ISSUED_AT, leeway); - return this; - } - - @Override - public Verification ignoreIssuedAt() { - this.ignoreIssuedAt = true; - return this; - } - - @Override - public Verification withJWTId(String jwtId) { - addCheck(RegisteredClaims.JWT_ID, ((claim, decodedJWT) -> - verifyNull(claim, jwtId) || jwtId.equals(claim.asString()))); - return this; - } - - @Override - public Verification withClaimPresence(String name) throws IllegalArgumentException { - assertNonNull(name); - //since addCheck already checks presence, we just return true - withClaim(name, ((claim, decodedJWT) -> true)); - return this; - } - - @Override - public Verification withNullClaim(String name) throws IllegalArgumentException { - assertNonNull(name); - withClaim(name, ((claim, decodedJWT) -> claim.isNull())); - return this; - } - - @Override - public Verification withClaim(String name, Boolean value) throws IllegalArgumentException { - assertNonNull(name); - addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, value) - || value.equals(claim.asBoolean()))); - return this; - } - - @Override - public Verification withClaim(String name, Integer value) throws IllegalArgumentException { - assertNonNull(name); - addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, value) - || value.equals(claim.asInt()))); - return this; - } - - @Override - public Verification withClaim(String name, Long value) throws IllegalArgumentException { - assertNonNull(name); - addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, value) - || value.equals(claim.asLong()))); - return this; - } - - @Override - public Verification withClaim(String name, Double value) throws IllegalArgumentException { - assertNonNull(name); - addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, value) - || value.equals(claim.asDouble()))); - return this; - } - - @Override - public Verification withClaim(String name, String value) throws IllegalArgumentException { - assertNonNull(name); - addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, value) - || value.equals(claim.asString()))); - return this; - } - - @Override - public Verification withClaim(String name, Date value) throws IllegalArgumentException { - return withClaim(name, value != null ? value.toInstant() : null); - } - - @Override - public Verification withClaim(String name, Instant value) throws IllegalArgumentException { - assertNonNull(name); - // Since date-time claims are serialized as epoch seconds, - // we need to compare them with only seconds-granularity - addCheck(name, - ((claim, decodedJWT) -> verifyNull(claim, value) - || value.truncatedTo(ChronoUnit.SECONDS).equals(claim.asInstant()))); - return this; - } - - @Override - public Verification withClaim(String name, BiPredicate predicate) - throws IllegalArgumentException { - assertNonNull(name); - addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, predicate) - || predicate.test(claim, decodedJWT))); - return this; - } - - @Override - public Verification withArrayClaim(String name, String... items) throws IllegalArgumentException { - assertNonNull(name); - addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, items) - || assertValidCollectionClaim(claim, items))); - return this; - } - - @Override - public Verification withArrayClaim(String name, Integer... items) throws IllegalArgumentException { - assertNonNull(name); - addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, items) - || assertValidCollectionClaim(claim, items))); - return this; - } - - @Override - public Verification withArrayClaim(String name, Long... items) throws IllegalArgumentException { - assertNonNull(name); - addCheck(name, ((claim, decodedJWT) -> verifyNull(claim, items) - || assertValidCollectionClaim(claim, items))); - return this; - } - - @Override - public JWTVerifier build() { - return this.build(Clock.systemUTC()); - } - - /** - * Creates a new and reusable instance of the JWTVerifier with the configuration already provided. - * ONLY FOR TEST PURPOSES. - * - * @param clock the instance that will handle the current time. - * @return a new JWTVerifier instance with a custom {@link java.time.Clock} - */ - public JWTVerifier build(Clock clock) { - this.clock = clock; - addMandatoryClaimChecks(); - return new JWTVerifier(algorithm, expectedChecks); - } - - /** - * Fetches the Leeway set for claim or returns the {@link BaseVerification#defaultLeeway}. - * - * @param name Claim for which leeway is fetched - * @return Leeway value set for the claim - */ - public long getLeewayFor(String name) { - return customLeeways.getOrDefault(name, defaultLeeway); - } - - private void addMandatoryClaimChecks() { - long expiresAtLeeway = getLeewayFor(RegisteredClaims.EXPIRES_AT); - long notBeforeLeeway = getLeewayFor(RegisteredClaims.NOT_BEFORE); - long issuedAtLeeway = getLeewayFor(RegisteredClaims.ISSUED_AT); - - expectedChecks.add(constructExpectedCheck(RegisteredClaims.EXPIRES_AT, (claim, decodedJWT) -> - assertValidInstantClaim(RegisteredClaims.EXPIRES_AT, claim, expiresAtLeeway, true))); - expectedChecks.add(constructExpectedCheck(RegisteredClaims.NOT_BEFORE, (claim, decodedJWT) -> - assertValidInstantClaim(RegisteredClaims.NOT_BEFORE, claim, notBeforeLeeway, false))); - if (!ignoreIssuedAt) { - expectedChecks.add(constructExpectedCheck(RegisteredClaims.ISSUED_AT, (claim, decodedJWT) -> - assertValidInstantClaim(RegisteredClaims.ISSUED_AT, claim, issuedAtLeeway, false))); - } - } - - private boolean assertValidCollectionClaim(Claim claim, Object[] expectedClaimValue) { - List claimArr; - Object[] claimAsObject = claim.as(Object[].class); - - // Jackson uses 'natural' mapping which uses Integer if value fits in 32 bits. - if (expectedClaimValue instanceof Long[]) { - // convert Integers to Longs for comparison with equals - claimArr = new ArrayList<>(claimAsObject.length); - for (Object cao : claimAsObject) { - if (cao instanceof Integer) { - claimArr.add(((Integer) cao).longValue()); - } else { - claimArr.add(cao); - } - } - } else { - claimArr = Arrays.asList(claim.as(Object[].class)); - } - List valueArr = Arrays.asList(expectedClaimValue); - return claimArr.containsAll(valueArr); - } - - private boolean assertValidInstantClaim(String claimName, Claim claim, long leeway, boolean shouldBeFuture) { - Instant claimVal = claim.asInstant(); - Instant now = clock.instant().truncatedTo(ChronoUnit.SECONDS); - boolean isValid; - if (shouldBeFuture) { - isValid = assertInstantIsFuture(claimVal, leeway, now); - if (!isValid) { - throw new TokenExpiredException(String.format("The Token has expired on %s.", claimVal), claimVal); - } - } else { - isValid = assertInstantIsLessThanOrEqualToNow(claimVal, leeway, now); - if (!isValid) { - throw new IncorrectClaimException( - String.format("The Token can't be used before %s.", claimVal), claimName, claim); - } - } - return true; - } - - private boolean assertInstantIsFuture(Instant claimVal, long leeway, Instant now) { - return claimVal == null || now.minus(Duration.ofSeconds(leeway)).isBefore(claimVal); - } - - private boolean assertInstantIsLessThanOrEqualToNow(Instant claimVal, long leeway, Instant now) { - return !(claimVal != null && now.plus(Duration.ofSeconds(leeway)).isBefore(claimVal)); - } - - private boolean assertValidAudienceClaim( - List audience, - List values, - boolean shouldContainAll - ) { - return !(audience == null || (shouldContainAll && !audience.containsAll(values)) - || (!shouldContainAll && Collections.disjoint(audience, values))); - } - - private void assertPositive(long leeway) { - if (leeway < 0) { - throw new IllegalArgumentException("Leeway value can't be negative."); - } - } - - private void assertNonNull(String name) { - if (name == null) { - throw new IllegalArgumentException("The Custom Claim's name can't be null."); - } - } - - private void addCheck(String name, BiPredicate predicate) { - expectedChecks.add(constructExpectedCheck(name, (claim, decodedJWT) -> { - if (claim.isMissing()) { - throw new MissingClaimException(name); - } - return predicate.test(claim, decodedJWT); - })); - } - - private ExpectedCheckHolder constructExpectedCheck(String claimName, BiPredicate check) { - return new ExpectedCheckHolder() { - @Override - public String getClaimName() { - return claimName; - } - - @Override - public boolean verify(Claim claim, DecodedJWT decodedJWT) { - return check.test(claim, decodedJWT); - } - }; - } - - private boolean verifyNull(Claim claim, Object value) { - return value == null && claim.isNull(); - } - - private boolean isNullOrEmpty(String[] args) { - if (args == null || args.length == 0) { - return true; - } - boolean isAllNull = true; - for (String arg : args) { - if (arg != null) { - isAllNull = false; - break; - } - } - return isAllNull; - } - } - - - /** - * Perform the verification against the given Token, using any previous configured options. - * - * @param token to verify. - * @return a verified and decoded JWT. - * @throws AlgorithmMismatchException if the algorithm stated in the token's header is not equal to - * the one defined in the {@link JWTVerifier}. - * @throws SignatureVerificationException if the signature is invalid. - * @throws TokenExpiredException if the token has expired. - * @throws MissingClaimException if a claim to be verified is missing. - * @throws IncorrectClaimException if a claim contained a different value than the expected one. - */ - @Override - public DecodedJWT verify(String token) throws JWTVerificationException { - DecodedJWT jwt = new JWTDecoder(parser, token); - return verify(jwt); - } - - /** - * Perform the verification against the given decoded JWT, using any previous configured options. - * - * @param jwt to verify. - * @return a verified and decoded JWT. - * @throws AlgorithmMismatchException if the algorithm stated in the token's header is not equal to - * the one defined in the {@link JWTVerifier}. - * @throws SignatureVerificationException if the signature is invalid. - * @throws TokenExpiredException if the token has expired. - * @throws MissingClaimException if a claim to be verified is missing. - * @throws IncorrectClaimException if a claim contained a different value than the expected one. - */ - @Override - public DecodedJWT verify(DecodedJWT jwt) throws JWTVerificationException { - verifyAlgorithm(jwt, algorithm); - algorithm.verify(jwt); - verifyClaims(jwt, expectedChecks); - return jwt; - } - - private void verifyAlgorithm(DecodedJWT jwt, Algorithm expectedAlgorithm) throws AlgorithmMismatchException { - if (!expectedAlgorithm.getName().equals(jwt.getAlgorithm())) { - throw new AlgorithmMismatchException( - "The provided Algorithm doesn't match the one defined in the JWT's Header."); - } - } - - private void verifyClaims(DecodedJWT jwt, List expectedChecks) - throws TokenExpiredException, InvalidClaimException { - for (ExpectedCheckHolder expectedCheck : expectedChecks) { - boolean isValid; - String claimName = expectedCheck.getClaimName(); - Claim claim = jwt.getClaim(claimName); - - isValid = expectedCheck.verify(claim, jwt); - - if (!isValid) { - throw new IncorrectClaimException( - String.format("The Claim '%s' value doesn't match the required one.", claimName), - claimName, - claim - ); - } - } - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/RegisteredClaims.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/RegisteredClaims.java deleted file mode 100644 index c55097169a2..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/RegisteredClaims.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.auth0.jwt; - -/** - * Contains constants representing the name of the Registered Claim Names as defined in Section 4.1 of - * RFC 7529 - */ -public final class RegisteredClaims { - - private RegisteredClaims() { - } - - /** - * The "iss" (issuer) claim identifies the principal that issued the JWT. - * Refer RFC 7529 Section 4.1.1 - */ - public static final String ISSUER = "iss"; - - /** - * The "sub" (subject) claim identifies the principal that is the subject of the JWT. - * Refer RFC 7529 Section 4.1.2 - */ - public static final String SUBJECT = "sub"; - - /** - * The "aud" (audience) claim identifies the recipients that the JWT is intended for. - * Refer RFC 7529 Section 4.1.3 - */ - public static final String AUDIENCE = "aud"; - - /** - * The "exp" (expiration time) claim identifies the expiration time on or after which the JWT MUST NOT be - * accepted for processing. - * Refer RFC 7529 Section 4.1.4 - */ - public static final String EXPIRES_AT = "exp"; - - /** - * The "nbf" (not before) claim identifies the time before which the JWT MUST NOT be accepted for processing. - * Refer RFC 7529 Section 4.1.5 - */ - public static final String NOT_BEFORE = "nbf"; - - /** - * The "iat" (issued at) claim identifies the time at which the JWT was issued. - * Refer RFC 7529 Section 4.1.6 - */ - public static final String ISSUED_AT = "iat"; - - /** - * The "jti" (JWT ID) claim provides a unique identifier for the JWT. - * Refer RFC 7529 Section 4.1.7 - */ - public static final String JWT_ID = "jti"; - -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/TokenUtils.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/TokenUtils.java deleted file mode 100644 index e62b9832c8e..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/TokenUtils.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.auth0.jwt; - -import com.auth0.jwt.exceptions.JWTDecodeException; - -abstract class TokenUtils { - - /** - * Splits the given token on the "." chars into a String array with 3 parts. - * - * @param token the string to split. - * @return the array representing the 3 parts of the token. - * @throws JWTDecodeException if the Token doesn't have 3 parts. - */ - static String[] splitToken(String token) throws JWTDecodeException { - if (token == null) { - throw new JWTDecodeException("The token is null."); - } - - char delimiter = '.'; - - int firstPeriodIndex = token.indexOf(delimiter); - if (firstPeriodIndex == -1) { - throw wrongNumberOfParts(0); - } - - int secondPeriodIndex = token.indexOf(delimiter, firstPeriodIndex + 1); - if (secondPeriodIndex == -1) { - throw wrongNumberOfParts(2); - } - - // too many ? - if (token.indexOf(delimiter, secondPeriodIndex + 1) != -1) { - throw wrongNumberOfParts("> 3"); - } - - String[] parts = new String[3]; - parts[0] = token.substring(0, firstPeriodIndex); - parts[1] = token.substring(firstPeriodIndex + 1, secondPeriodIndex); - parts[2] = token.substring(secondPeriodIndex + 1); - - return parts; - } - - private static JWTDecodeException wrongNumberOfParts(Object partCount) { - return new JWTDecodeException(String.format("The token was expected to have 3 parts, but got %s.", partCount)); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/Algorithm.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/Algorithm.java deleted file mode 100644 index 27d799094d0..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/Algorithm.java +++ /dev/null @@ -1,404 +0,0 @@ -package com.auth0.jwt.algorithms; - -import com.auth0.jwt.exceptions.SignatureGenerationException; -import com.auth0.jwt.exceptions.SignatureVerificationException; -import com.auth0.jwt.interfaces.DecodedJWT; -import com.auth0.jwt.interfaces.ECDSAKeyProvider; -import com.auth0.jwt.interfaces.RSAKeyProvider; - -import java.security.interfaces.*; - -/** - * The Algorithm class represents an algorithm to be used in the Signing or Verification process of a Token. - *

    - * This class and its subclasses are thread-safe. - */ -@SuppressWarnings("WeakerAccess") -public abstract class Algorithm { - - private final String name; - private final String description; - - /** - * Creates a new Algorithm instance using SHA256withRSA. Tokens specify this as "RS256". - * - * @param keyProvider the provider of the Public Key and Private Key for the verify and signing instance. - * @return a valid RSA256 Algorithm. - * @throws IllegalArgumentException if the provided Key is null. - */ - public static Algorithm RSA256(RSAKeyProvider keyProvider) throws IllegalArgumentException { - return new RSAAlgorithm("RS256", "SHA256withRSA", keyProvider); - } - - /** - * Creates a new Algorithm instance using SHA256withRSA. Tokens specify this as "RS256". - * - * @param publicKey the key to use in the verify instance. - * @param privateKey the key to use in the signing instance. - * @return a valid RSA256 Algorithm. - * @throws IllegalArgumentException if both provided Keys are null. - */ - public static Algorithm RSA256(RSAPublicKey publicKey, RSAPrivateKey privateKey) throws IllegalArgumentException { - return RSA256(RSAAlgorithm.providerForKeys(publicKey, privateKey)); - } - - /** - * Creates a new Algorithm instance using SHA256withRSA. Tokens specify this as "RS256". - * - * @param key the key to use in the verify or signing instance. - * @return a valid RSA256 Algorithm. - * @throws IllegalArgumentException if the Key Provider is null. - */ - public static Algorithm RSA256(RSAKey key) throws IllegalArgumentException { - RSAPublicKey publicKey = key instanceof RSAPublicKey ? (RSAPublicKey) key : null; - RSAPrivateKey privateKey = key instanceof RSAPrivateKey ? (RSAPrivateKey) key : null; - return RSA256(publicKey, privateKey); - } - - /** - * Creates a new Algorithm instance using SHA384withRSA. Tokens specify this as "RS384". - * - * @param keyProvider the provider of the Public Key and Private Key for the verify and signing instance. - * @return a valid RSA384 Algorithm. - * @throws IllegalArgumentException if the Key Provider is null. - */ - public static Algorithm RSA384(RSAKeyProvider keyProvider) throws IllegalArgumentException { - return new RSAAlgorithm("RS384", "SHA384withRSA", keyProvider); - } - - /** - * Creates a new Algorithm instance using SHA384withRSA. Tokens specify this as "RS384". - * - * @param publicKey the key to use in the verify instance. - * @param privateKey the key to use in the signing instance. - * @return a valid RSA384 Algorithm. - * @throws IllegalArgumentException if both provided Keys are null. - */ - public static Algorithm RSA384(RSAPublicKey publicKey, RSAPrivateKey privateKey) throws IllegalArgumentException { - return RSA384(RSAAlgorithm.providerForKeys(publicKey, privateKey)); - } - - /** - * Creates a new Algorithm instance using SHA384withRSA. Tokens specify this as "RS384". - * - * @param key the key to use in the verify or signing instance. - * @return a valid RSA384 Algorithm. - * @throws IllegalArgumentException if the provided Key is null. - */ - public static Algorithm RSA384(RSAKey key) throws IllegalArgumentException { - RSAPublicKey publicKey = key instanceof RSAPublicKey ? (RSAPublicKey) key : null; - RSAPrivateKey privateKey = key instanceof RSAPrivateKey ? (RSAPrivateKey) key : null; - return RSA384(publicKey, privateKey); - } - - /** - * Creates a new Algorithm instance using SHA512withRSA. Tokens specify this as "RS512". - * - * @param keyProvider the provider of the Public Key and Private Key for the verify and signing instance. - * @return a valid RSA512 Algorithm. - * @throws IllegalArgumentException if the Key Provider is null. - */ - public static Algorithm RSA512(RSAKeyProvider keyProvider) throws IllegalArgumentException { - return new RSAAlgorithm("RS512", "SHA512withRSA", keyProvider); - } - - /** - * Creates a new Algorithm instance using SHA512withRSA. Tokens specify this as "RS512". - * - * @param publicKey the key to use in the verify instance. - * @param privateKey the key to use in the signing instance. - * @return a valid RSA512 Algorithm. - * @throws IllegalArgumentException if both provided Keys are null. - */ - public static Algorithm RSA512(RSAPublicKey publicKey, RSAPrivateKey privateKey) throws IllegalArgumentException { - return RSA512(RSAAlgorithm.providerForKeys(publicKey, privateKey)); - } - - /** - * Creates a new Algorithm instance using SHA512withRSA. Tokens specify this as "RS512". - * - * @param key the key to use in the verify or signing instance. - * @return a valid RSA512 Algorithm. - * @throws IllegalArgumentException if the provided Key is null. - */ - public static Algorithm RSA512(RSAKey key) throws IllegalArgumentException { - RSAPublicKey publicKey = key instanceof RSAPublicKey ? (RSAPublicKey) key : null; - RSAPrivateKey privateKey = key instanceof RSAPrivateKey ? (RSAPrivateKey) key : null; - return RSA512(publicKey, privateKey); - } - - /** - * Creates a new Algorithm instance using HmacSHA256. Tokens specify this as "HS256". - * - * @param secret the secret bytes to use in the verify or signing instance. - * Ensure the length of the secret is at least 256 bit long - * See HMAC Key Length and Security in README - * @return a valid HMAC256 Algorithm. - * @throws IllegalArgumentException if the provided Secret is null. - */ - public static Algorithm HMAC256(String secret) throws IllegalArgumentException { - return new HMACAlgorithm("HS256", "HmacSHA256", secret); - } - - /** - * Creates a new Algorithm instance using HmacSHA256. Tokens specify this as "HS256". - * - * @param secret the secret bytes to use in the verify or signing instance. - * Ensure the length of the secret is at least 256 bit long - * See HMAC Key Length and Security in README - * @return a valid HMAC256 Algorithm. - * @throws IllegalArgumentException if the provided Secret is null. - */ - public static Algorithm HMAC256(byte[] secret) throws IllegalArgumentException { - return new HMACAlgorithm("HS256", "HmacSHA256", secret); - } - - /** - * Creates a new Algorithm instance using HmacSHA384. Tokens specify this as "HS384". - * - * @param secret the secret bytes to use in the verify or signing instance. - * Ensure the length of the secret is at least 384 bit long - * See HMAC Key Length and Security in README - * @return a valid HMAC384 Algorithm. - * @throws IllegalArgumentException if the provided Secret is null. - */ - public static Algorithm HMAC384(String secret) throws IllegalArgumentException { - return new HMACAlgorithm("HS384", "HmacSHA384", secret); - } - - /** - * Creates a new Algorithm instance using HmacSHA384. Tokens specify this as "HS384". - * - * @param secret the secret bytes to use in the verify or signing instance. - * Ensure the length of the secret is at least 384 bit long - * See HMAC Key Length and Security in README - * @return a valid HMAC384 Algorithm. - * @throws IllegalArgumentException if the provided Secret is null. - */ - public static Algorithm HMAC384(byte[] secret) throws IllegalArgumentException { - return new HMACAlgorithm("HS384", "HmacSHA384", secret); - } - - /** - * Creates a new Algorithm instance using HmacSHA512. Tokens specify this as "HS512". - * - * @param secret the secret bytes to use in the verify or signing instance. - * Ensure the length of the secret is at least 512 bit long - * See HMAC Key Length and Security in README - * @return a valid HMAC512 Algorithm. - * @throws IllegalArgumentException if the provided Secret is null. - */ - public static Algorithm HMAC512(String secret) throws IllegalArgumentException { - return new HMACAlgorithm("HS512", "HmacSHA512", secret); - } - - /** - * Creates a new Algorithm instance using HmacSHA512. Tokens specify this as "HS512". - * - * @param secret the secret bytes to use in the verify or signing instance. - * Ensure the length of the secret is at least 512 bit long - * See HMAC Key Length and Security in README - * @return a valid HMAC512 Algorithm. - * @throws IllegalArgumentException if the provided Secret is null. - */ - public static Algorithm HMAC512(byte[] secret) throws IllegalArgumentException { - return new HMACAlgorithm("HS512", "HmacSHA512", secret); - } - - - /** - * Creates a new Algorithm instance using SHA256withECDSA. Tokens specify this as "ES256". - * - * @param keyProvider the provider of the Public Key and Private Key for the verify and signing instance. - * @return a valid ECDSA256 Algorithm. - * @throws IllegalArgumentException if the Key Provider is null. - */ - public static Algorithm ECDSA256(ECDSAKeyProvider keyProvider) throws IllegalArgumentException { - return new ECDSAAlgorithm("ES256", "SHA256withECDSA", 32, keyProvider); - } - - /** - * Creates a new Algorithm instance using SHA256withECDSA. Tokens specify this as "ES256". - * - * @param publicKey the key to use in the verify instance. - * @param privateKey the key to use in the signing instance. - * @return a valid ECDSA256 Algorithm. - * @throws IllegalArgumentException if the provided Key is null. - */ - public static Algorithm ECDSA256(ECPublicKey publicKey, ECPrivateKey privateKey) throws IllegalArgumentException { - return ECDSA256(ECDSAAlgorithm.providerForKeys(publicKey, privateKey)); - } - - /** - * Creates a new Algorithm instance using SHA256withECDSA. Tokens specify this as "ES256". - * - * @param key the key to use in the verify or signing instance. - * @return a valid ECDSA256 Algorithm. - * @throws IllegalArgumentException if the provided Key is null. - */ - public static Algorithm ECDSA256(ECKey key) throws IllegalArgumentException { - ECPublicKey publicKey = key instanceof ECPublicKey ? (ECPublicKey) key : null; - ECPrivateKey privateKey = key instanceof ECPrivateKey ? (ECPrivateKey) key : null; - return ECDSA256(publicKey, privateKey); - } - - /** - * Creates a new Algorithm instance using SHA384withECDSA. Tokens specify this as "ES384". - * - * @param keyProvider the provider of the Public Key and Private Key for the verify and signing instance. - * @return a valid ECDSA384 Algorithm. - * @throws IllegalArgumentException if the Key Provider is null. - */ - public static Algorithm ECDSA384(ECDSAKeyProvider keyProvider) throws IllegalArgumentException { - return new ECDSAAlgorithm("ES384", "SHA384withECDSA", 48, keyProvider); - } - - /** - * Creates a new Algorithm instance using SHA384withECDSA. Tokens specify this as "ES384". - * - * @param publicKey the key to use in the verify instance. - * @param privateKey the key to use in the signing instance. - * @return a valid ECDSA384 Algorithm. - * @throws IllegalArgumentException if the provided Key is null. - */ - public static Algorithm ECDSA384(ECPublicKey publicKey, ECPrivateKey privateKey) throws IllegalArgumentException { - return ECDSA384(ECDSAAlgorithm.providerForKeys(publicKey, privateKey)); - } - - /** - * Creates a new Algorithm instance using SHA384withECDSA. Tokens specify this as "ES384". - * - * @param key the key to use in the verify or signing instance. - * @return a valid ECDSA384 Algorithm. - * @throws IllegalArgumentException if the provided Key is null. - */ - public static Algorithm ECDSA384(ECKey key) throws IllegalArgumentException { - ECPublicKey publicKey = key instanceof ECPublicKey ? (ECPublicKey) key : null; - ECPrivateKey privateKey = key instanceof ECPrivateKey ? (ECPrivateKey) key : null; - return ECDSA384(publicKey, privateKey); - } - - /** - * Creates a new Algorithm instance using SHA512withECDSA. Tokens specify this as "ES512". - * - * @param keyProvider the provider of the Public Key and Private Key for the verify and signing instance. - * @return a valid ECDSA512 Algorithm. - * @throws IllegalArgumentException if the Key Provider is null. - */ - public static Algorithm ECDSA512(ECDSAKeyProvider keyProvider) throws IllegalArgumentException { - return new ECDSAAlgorithm("ES512", "SHA512withECDSA", 66, keyProvider); - } - - /** - * Creates a new Algorithm instance using SHA512withECDSA. Tokens specify this as "ES512". - * - * @param publicKey the key to use in the verify instance. - * @param privateKey the key to use in the signing instance. - * @return a valid ECDSA512 Algorithm. - * @throws IllegalArgumentException if the provided Key is null. - */ - public static Algorithm ECDSA512(ECPublicKey publicKey, ECPrivateKey privateKey) throws IllegalArgumentException { - return ECDSA512(ECDSAAlgorithm.providerForKeys(publicKey, privateKey)); - } - - /** - * Creates a new Algorithm instance using SHA512withECDSA. Tokens specify this as "ES512". - * - * @param key the key to use in the verify or signing instance. - * @return a valid ECDSA512 Algorithm. - * @throws IllegalArgumentException if the provided Key is null. - */ - public static Algorithm ECDSA512(ECKey key) throws IllegalArgumentException { - ECPublicKey publicKey = key instanceof ECPublicKey ? (ECPublicKey) key : null; - ECPrivateKey privateKey = key instanceof ECPrivateKey ? (ECPrivateKey) key : null; - return ECDSA512(publicKey, privateKey); - } - - - public static Algorithm none() { - return new NoneAlgorithm(); - } - - protected Algorithm(String name, String description) { - this.name = name; - this.description = description; - } - - /** - * Getter for the Id of the Private Key used to sign the tokens. - * This is usually specified as the `kid` claim in the Header. - * - * @return the Key Id that identifies the Signing Key or null if it's not specified. - */ - public String getSigningKeyId() { - return null; - } - - /** - * Getter for the name of this Algorithm, as defined in the JWT Standard. i.e. "HS256" - * - * @return the algorithm name. - */ - public String getName() { - return name; - } - - /** - * Getter for the description of this Algorithm, - * required when instantiating a Mac or Signature object. i.e. "HmacSHA256" - * - * @return the algorithm description. - */ - String getDescription() { - return description; - } - - @Override - public String toString() { - return description; - } - - /** - * Verify the given token using this Algorithm instance. - * - * @param jwt the already decoded JWT that it's going to be verified. - * @throws SignatureVerificationException if the Token's Signature is invalid, - * meaning that it doesn't match the signatureBytes, - * or if the Key is invalid. - */ - public abstract void verify(DecodedJWT jwt) throws SignatureVerificationException; - - /** - * Sign the given content using this Algorithm instance. - * - * @param headerBytes an array of bytes representing the base64 encoded header content - * to be verified against the signature. - * @param payloadBytes an array of bytes representing the base64 encoded payload content - * to be verified against the signature. - * @return the signature in a base64 encoded array of bytes - * @throws SignatureGenerationException if the Key is invalid. - */ - public byte[] sign(byte[] headerBytes, byte[] payloadBytes) throws SignatureGenerationException { - // default implementation; keep around until sign(byte[]) method is removed - byte[] contentBytes = new byte[headerBytes.length + 1 + payloadBytes.length]; - - System.arraycopy(headerBytes, 0, contentBytes, 0, headerBytes.length); - contentBytes[headerBytes.length] = (byte) '.'; - System.arraycopy(payloadBytes, 0, contentBytes, headerBytes.length + 1, payloadBytes.length); - - return sign(contentBytes); - } - - /** - * Sign the given content using this Algorithm instance. - * To get the correct JWT Signature, ensure the content is in the format {HEADER}.{PAYLOAD} - * - * @param contentBytes an array of bytes representing the base64 encoded content - * to be verified against the signature. - * @return the signature in a base64 encoded array of bytes - * @throws SignatureGenerationException if the Key is invalid. - */ - - public abstract byte[] sign(byte[] contentBytes) throws SignatureGenerationException; - -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/CryptoHelper.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/CryptoHelper.java deleted file mode 100644 index 7b8c5c2ac57..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/CryptoHelper.java +++ /dev/null @@ -1,208 +0,0 @@ -package com.auth0.jwt.algorithms; - -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; -import java.nio.charset.StandardCharsets; -import java.security.*; - -/** - * Class used to perform the signature hash calculations. - *

    - * This class is thread-safe. - */ -class CryptoHelper { - - private static final byte JWT_PART_SEPARATOR = (byte) 46; - - /** - * Verify signature for JWT header and payload. - * - * @param algorithm algorithm name. - * @param secretBytes algorithm secret. - * @param header JWT header. - * @param payload JWT payload. - * @param signatureBytes JWT signature. - * @return true if signature is valid. - * @throws NoSuchAlgorithmException if the algorithm is not supported. - * @throws InvalidKeyException if the given key is inappropriate for initializing the specified algorithm. - */ - - boolean verifySignatureFor( - String algorithm, - byte[] secretBytes, - String header, - String payload, - byte[] signatureBytes - ) throws NoSuchAlgorithmException, InvalidKeyException { - return verifySignatureFor(algorithm, secretBytes, - header.getBytes(StandardCharsets.UTF_8), payload.getBytes(StandardCharsets.UTF_8), signatureBytes); - } - - /** - * Verify signature for JWT header and payload. - * - * @param algorithm algorithm name. - * @param secretBytes algorithm secret. - * @param headerBytes JWT header. - * @param payloadBytes JWT payload. - * @param signatureBytes JWT signature. - * @return true if signature is valid. - * @throws NoSuchAlgorithmException if the algorithm is not supported. - * @throws InvalidKeyException if the given key is inappropriate for initializing the specified algorithm. - */ - - boolean verifySignatureFor( - String algorithm, - byte[] secretBytes, - byte[] headerBytes, - byte[] payloadBytes, - byte[] signatureBytes - ) throws NoSuchAlgorithmException, InvalidKeyException { - return MessageDigest.isEqual(createSignatureFor(algorithm, secretBytes, headerBytes, payloadBytes), - signatureBytes); - } - - /** - * Verify signature for JWT header and payload. - * - * @param algorithm algorithm name. - * @param publicKey algorithm public key. - * @param header JWT header. - * @param payload JWT payload. - * @param signatureBytes JWT signature. - * @return true if signature is valid. - * @throws NoSuchAlgorithmException if the algorithm is not supported. - * @throws InvalidKeyException if the given key is inappropriate for initializing the specified algorithm. - */ - boolean verifySignatureFor( - String algorithm, - PublicKey publicKey, - String header, - String payload, - byte[] signatureBytes - ) throws NoSuchAlgorithmException, InvalidKeyException, SignatureException { - return verifySignatureFor(algorithm, publicKey, header.getBytes(StandardCharsets.UTF_8), - payload.getBytes(StandardCharsets.UTF_8), signatureBytes); - } - - /** - * Verify signature for JWT header and payload using a public key. - * - * @param algorithm algorithm name. - * @param publicKey the public key to use for verification. - * @param headerBytes JWT header. - * @param payloadBytes JWT payload. - * @param signatureBytes JWT signature. - * @return true if signature is valid. - * @throws NoSuchAlgorithmException if the algorithm is not supported. - * @throws InvalidKeyException if the given key is inappropriate for initializing the specified algorithm. - */ - boolean verifySignatureFor( - String algorithm, - PublicKey publicKey, - byte[] headerBytes, - byte[] payloadBytes, - byte[] signatureBytes - ) throws NoSuchAlgorithmException, InvalidKeyException, SignatureException { - final Signature s = Signature.getInstance(algorithm); - s.initVerify(publicKey); - s.update(headerBytes); - s.update(JWT_PART_SEPARATOR); - s.update(payloadBytes); - return s.verify(signatureBytes); - } - - /** - * Create signature for JWT header and payload using a private key. - * - * @param algorithm algorithm name. - * @param privateKey the private key to use for signing. - * @param headerBytes JWT header. - * @param payloadBytes JWT payload. - * @return the signature bytes. - * @throws NoSuchAlgorithmException if the algorithm is not supported. - * @throws InvalidKeyException if the given key is inappropriate for initializing the specified algorithm. - * @throws SignatureException if this signature object is not initialized properly - * or if this signature algorithm is unable to process the input data provided. - */ - byte[] createSignatureFor( - String algorithm, - PrivateKey privateKey, - byte[] headerBytes, - byte[] payloadBytes - ) throws NoSuchAlgorithmException, InvalidKeyException, SignatureException { - final Signature s = Signature.getInstance(algorithm); - s.initSign(privateKey); - s.update(headerBytes); - s.update(JWT_PART_SEPARATOR); - s.update(payloadBytes); - return s.sign(); - } - - /** - * Create signature for JWT header and payload. - * - * @param algorithm algorithm name. - * @param secretBytes algorithm secret. - * @param headerBytes JWT header. - * @param payloadBytes JWT payload. - * @return the signature bytes. - * @throws NoSuchAlgorithmException if the algorithm is not supported. - * @throws InvalidKeyException if the given key is inappropriate for initializing the specified algorithm. - */ - byte[] createSignatureFor( - String algorithm, - byte[] secretBytes, - byte[] headerBytes, - byte[] payloadBytes - ) throws NoSuchAlgorithmException, InvalidKeyException { - final Mac mac = Mac.getInstance(algorithm); - mac.init(new SecretKeySpec(secretBytes, algorithm)); - mac.update(headerBytes); - mac.update(JWT_PART_SEPARATOR); - return mac.doFinal(payloadBytes); - } - - /** - * Create signature. - * To get the correct JWT Signature, ensure the content is in the format {HEADER}.{PAYLOAD} - * - * @param algorithm algorithm name. - * @param secretBytes algorithm secret. - * @param contentBytes the content to be signed. - * @return the signature bytes. - * @throws NoSuchAlgorithmException if the algorithm is not supported. - * @throws InvalidKeyException if the given key is inappropriate for initializing the specified algorithm. - */ - byte[] createSignatureFor(String algorithm, byte[] secretBytes, byte[] contentBytes) - throws NoSuchAlgorithmException, InvalidKeyException { - final Mac mac = Mac.getInstance(algorithm); - mac.init(new SecretKeySpec(secretBytes, algorithm)); - return mac.doFinal(contentBytes); - } - - /** - * Create signature using a private key. - * To get the correct JWT Signature, ensure the content is in the format {HEADER}.{PAYLOAD} - * - * @param algorithm algorithm name. - * @param privateKey the private key to use for signing. - * @param contentBytes the content to be signed. - * @return the signature bytes. - * @throws NoSuchAlgorithmException if the algorithm is not supported. - * @throws InvalidKeyException if the given key is inappropriate for initializing the specified algorithm. - * @throws SignatureException if this signature object is not initialized properly - * or if this signature algorithm is unable to process the input data provided. - */ - - byte[] createSignatureFor( - String algorithm, - PrivateKey privateKey, - byte[] contentBytes - ) throws NoSuchAlgorithmException, InvalidKeyException, SignatureException { - final Signature s = Signature.getInstance(algorithm); - s.initSign(privateKey); - s.update(contentBytes); - return s.sign(); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/ECDSAAlgorithm.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/ECDSAAlgorithm.java deleted file mode 100644 index b3046097409..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/ECDSAAlgorithm.java +++ /dev/null @@ -1,306 +0,0 @@ -package com.auth0.jwt.algorithms; - -import com.auth0.jwt.exceptions.SignatureGenerationException; -import com.auth0.jwt.exceptions.SignatureVerificationException; -import com.auth0.jwt.interfaces.DecodedJWT; -import com.auth0.jwt.interfaces.ECDSAKeyProvider; - -import java.math.BigInteger; -import java.security.InvalidKeyException; -import java.security.NoSuchAlgorithmException; -import java.security.SignatureException; -import java.security.interfaces.ECPrivateKey; -import java.security.interfaces.ECPublicKey; -import java.util.Base64; - -/** - * Subclass representing an Elliptic Curve signing algorithm - *

    - * This class is thread-safe. - */ -class ECDSAAlgorithm extends Algorithm { - - private final ECDSAKeyProvider keyProvider; - private final CryptoHelper crypto; - private final int ecNumberSize; - - //Visible for testing - ECDSAAlgorithm(CryptoHelper crypto, String id, String algorithm, int ecNumberSize, ECDSAKeyProvider keyProvider) - throws IllegalArgumentException { - super(id, algorithm); - if (keyProvider == null) { - throw new IllegalArgumentException("The Key Provider cannot be null."); - } - this.keyProvider = keyProvider; - this.crypto = crypto; - this.ecNumberSize = ecNumberSize; - } - - ECDSAAlgorithm(String id, String algorithm, int ecNumberSize, ECDSAKeyProvider keyProvider) - throws IllegalArgumentException { - this(new CryptoHelper(), id, algorithm, ecNumberSize, keyProvider); - } - - @Override - public void verify(DecodedJWT jwt) throws SignatureVerificationException { - try { - byte[] signatureBytes = Base64.getUrlDecoder().decode(jwt.getSignature()); - ECPublicKey publicKey = keyProvider.getPublicKeyById(jwt.getKeyId()); - if (publicKey == null) { - throw new IllegalStateException("The given Public Key is null."); - } - validateSignatureStructure(signatureBytes, publicKey); - boolean valid = crypto.verifySignatureFor( - getDescription(), publicKey, jwt.getHeader(), jwt.getPayload(), JOSEToDER(signatureBytes)); - - if (!valid) { - throw new SignatureVerificationException(this); - } - } catch (NoSuchAlgorithmException | SignatureException | InvalidKeyException - | IllegalStateException | IllegalArgumentException e) { - throw new SignatureVerificationException(this, e); - } - } - - @Override - public byte[] sign(byte[] headerBytes, byte[] payloadBytes) throws SignatureGenerationException { - try { - ECPrivateKey privateKey = keyProvider.getPrivateKey(); - if (privateKey == null) { - throw new IllegalStateException("The given Private Key is null."); - } - byte[] signature = crypto.createSignatureFor(getDescription(), privateKey, headerBytes, payloadBytes); - return DERToJOSE(signature); - } catch (NoSuchAlgorithmException | SignatureException | InvalidKeyException | IllegalStateException e) { - throw new SignatureGenerationException(this, e); - } - } - - @Override - public byte[] sign(byte[] contentBytes) throws SignatureGenerationException { - try { - ECPrivateKey privateKey = keyProvider.getPrivateKey(); - if (privateKey == null) { - throw new IllegalStateException("The given Private Key is null."); - } - byte[] signature = crypto.createSignatureFor(getDescription(), privateKey, contentBytes); - return DERToJOSE(signature); - } catch (NoSuchAlgorithmException | SignatureException | InvalidKeyException | IllegalStateException e) { - throw new SignatureGenerationException(this, e); - } - } - - @Override - public String getSigningKeyId() { - return keyProvider.getPrivateKeyId(); - } - - //Visible for testing - byte[] DERToJOSE(byte[] derSignature) throws SignatureException { - // DER Structure: http://crypto.stackexchange.com/a/1797 - boolean derEncoded = derSignature[0] == 0x30 && derSignature.length != ecNumberSize * 2; - if (!derEncoded) { - throw new SignatureException("Invalid DER signature format."); - } - - final byte[] joseSignature = new byte[ecNumberSize * 2]; - - //Skip 0x30 - int offset = 1; - if (derSignature[1] == (byte) 0x81) { - //Skip sign - offset++; - } - - //Convert to unsigned. Should match DER length - offset - int encodedLength = derSignature[offset++] & 0xff; - if (encodedLength != derSignature.length - offset) { - throw new SignatureException("Invalid DER signature format."); - } - - //Skip 0x02 - offset++; - - //Obtain R number length (Includes padding) and skip it - int rlength = derSignature[offset++]; - if (rlength > ecNumberSize + 1) { - throw new SignatureException("Invalid DER signature format."); - } - int rpadding = ecNumberSize - rlength; - //Retrieve R number - System.arraycopy(derSignature, offset + Math.max(-rpadding, 0), - joseSignature, Math.max(rpadding, 0), rlength + Math.min(rpadding, 0)); - - //Skip R number and 0x02 - offset += rlength + 1; - - //Obtain S number length. (Includes padding) - int slength = derSignature[offset++]; - if (slength > ecNumberSize + 1) { - throw new SignatureException("Invalid DER signature format."); - } - int spadding = ecNumberSize - slength; - //Retrieve R number - System.arraycopy(derSignature, offset + Math.max(-spadding, 0), joseSignature, - ecNumberSize + Math.max(spadding, 0), slength + Math.min(spadding, 0)); - - return joseSignature; - } - - /** - * Added check for extra protection against CVE-2022-21449. - * This method ensures the signature's structure is as expected. - * - * @param joseSignature is the signature from the JWT - * @param publicKey public key used to verify the JWT - * @throws SignatureException if the signature's structure is not as per expectation - */ - // Visible for testing - void validateSignatureStructure(byte[] joseSignature, ECPublicKey publicKey) throws SignatureException { - // check signature length, moved this check from JOSEToDER method - if (joseSignature.length != ecNumberSize * 2) { - throw new SignatureException("Invalid JOSE signature format."); - } - - if (isAllZeros(joseSignature)) { - throw new SignatureException("Invalid signature format."); - } - - // get R - byte[] rBytes = new byte[ecNumberSize]; - System.arraycopy(joseSignature, 0, rBytes, 0, ecNumberSize); - if (isAllZeros(rBytes)) { - throw new SignatureException("Invalid signature format."); - } - - // get S - byte[] sBytes = new byte[ecNumberSize]; - System.arraycopy(joseSignature, ecNumberSize, sBytes, 0, ecNumberSize); - if (isAllZeros(sBytes)) { - throw new SignatureException("Invalid signature format."); - } - - //moved this check from JOSEToDER method - int rPadding = countPadding(joseSignature, 0, ecNumberSize); - int sPadding = countPadding(joseSignature, ecNumberSize, joseSignature.length); - int rLength = ecNumberSize - rPadding; - int sLength = ecNumberSize - sPadding; - - int length = 2 + rLength + 2 + sLength; - if (length > 255) { - throw new SignatureException("Invalid JOSE signature format."); - } - - BigInteger order = publicKey.getParams().getOrder(); - BigInteger r = new BigInteger(1, rBytes); - BigInteger s = new BigInteger(1, sBytes); - - // R and S must be less than N - if (order.compareTo(r) < 1) { - throw new SignatureException("Invalid signature format."); - } - - if (order.compareTo(s) < 1) { - throw new SignatureException("Invalid signature format."); - } - } - - //Visible for testing - byte[] JOSEToDER(byte[] joseSignature) throws SignatureException { - // Retrieve R and S number's length and padding. - int rPadding = countPadding(joseSignature, 0, ecNumberSize); - int sPadding = countPadding(joseSignature, ecNumberSize, joseSignature.length); - int rLength = ecNumberSize - rPadding; - int sLength = ecNumberSize - sPadding; - - int length = 2 + rLength + 2 + sLength; - - final byte[] derSignature; - int offset; - if (length > 0x7f) { - derSignature = new byte[3 + length]; - derSignature[1] = (byte) 0x81; - offset = 2; - } else { - derSignature = new byte[2 + length]; - offset = 1; - } - - // DER Structure: http://crypto.stackexchange.com/a/1797 - // Header with signature length info - derSignature[0] = (byte) 0x30; - derSignature[offset++] = (byte) (length & 0xff); - - // Header with "min R" number length - derSignature[offset++] = (byte) 0x02; - derSignature[offset++] = (byte) rLength; - - // R number - if (rPadding < 0) { - //Sign - derSignature[offset++] = (byte) 0x00; - System.arraycopy(joseSignature, 0, derSignature, offset, ecNumberSize); - offset += ecNumberSize; - } else { - int copyLength = Math.min(ecNumberSize, rLength); - System.arraycopy(joseSignature, rPadding, derSignature, offset, copyLength); - offset += copyLength; - } - - // Header with "min S" number length - derSignature[offset++] = (byte) 0x02; - derSignature[offset++] = (byte) sLength; - - // S number - if (sPadding < 0) { - //Sign - derSignature[offset++] = (byte) 0x00; - System.arraycopy(joseSignature, ecNumberSize, derSignature, offset, ecNumberSize); - } else { - System.arraycopy(joseSignature, ecNumberSize + sPadding, derSignature, offset, - Math.min(ecNumberSize, sLength)); - } - - return derSignature; - } - - private boolean isAllZeros(byte[] bytes) { - for (byte b : bytes) { - if (b != 0) { - return false; - } - } - return true; - } - - private int countPadding(byte[] bytes, int fromIndex, int toIndex) { - int padding = 0; - while (fromIndex + padding < toIndex && bytes[fromIndex + padding] == 0) { - padding++; - } - return (bytes[fromIndex + padding] & 0xff) > 0x7f ? padding - 1 : padding; - } - - //Visible for testing - static ECDSAKeyProvider providerForKeys(final ECPublicKey publicKey, final ECPrivateKey privateKey) { - if (publicKey == null && privateKey == null) { - throw new IllegalArgumentException("Both provided Keys cannot be null."); - } - return new ECDSAKeyProvider() { - @Override - public ECPublicKey getPublicKeyById(String keyId) { - return publicKey; - } - - @Override - public ECPrivateKey getPrivateKey() { - return privateKey; - } - - @Override - public String getPrivateKeyId() { - return null; - } - }; - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/HMACAlgorithm.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/HMACAlgorithm.java deleted file mode 100644 index 0306e7c420d..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/HMACAlgorithm.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.auth0.jwt.algorithms; - -import com.auth0.jwt.exceptions.SignatureGenerationException; -import com.auth0.jwt.exceptions.SignatureVerificationException; -import com.auth0.jwt.interfaces.DecodedJWT; - -import java.nio.charset.StandardCharsets; -import java.security.InvalidKeyException; -import java.security.NoSuchAlgorithmException; -import java.util.Arrays; -import java.util.Base64; - -/** - * Subclass representing an Hash-based MAC signing algorithm - *

    - * This class is thread-safe. - */ -class HMACAlgorithm extends Algorithm { - - private final CryptoHelper crypto; - private final byte[] secret; - - //Visible for testing - HMACAlgorithm(CryptoHelper crypto, String id, String algorithm, byte[] secretBytes) - throws IllegalArgumentException { - super(id, algorithm); - if (secretBytes == null) { - throw new IllegalArgumentException("The Secret cannot be null"); - } - this.secret = Arrays.copyOf(secretBytes, secretBytes.length); - this.crypto = crypto; - } - - HMACAlgorithm(String id, String algorithm, byte[] secretBytes) throws IllegalArgumentException { - this(new CryptoHelper(), id, algorithm, secretBytes); - } - - HMACAlgorithm(String id, String algorithm, String secret) throws IllegalArgumentException { - this(new CryptoHelper(), id, algorithm, getSecretBytes(secret)); - } - - //Visible for testing - static byte[] getSecretBytes(String secret) throws IllegalArgumentException { - if (secret == null) { - throw new IllegalArgumentException("The Secret cannot be null"); - } - return secret.getBytes(StandardCharsets.UTF_8); - } - - @Override - public void verify(DecodedJWT jwt) throws SignatureVerificationException { - try { - byte[] signatureBytes = Base64.getUrlDecoder().decode(jwt.getSignature()); - boolean valid = crypto.verifySignatureFor( - getDescription(), secret, jwt.getHeader(), jwt.getPayload(), signatureBytes); - if (!valid) { - throw new SignatureVerificationException(this); - } - } catch (IllegalStateException | InvalidKeyException | NoSuchAlgorithmException | IllegalArgumentException e) { - throw new SignatureVerificationException(this, e); - } - } - - @Override - public byte[] sign(byte[] headerBytes, byte[] payloadBytes) throws SignatureGenerationException { - try { - return crypto.createSignatureFor(getDescription(), secret, headerBytes, payloadBytes); - } catch (NoSuchAlgorithmException | InvalidKeyException e) { - throw new SignatureGenerationException(this, e); - } - } - - @Override - public byte[] sign(byte[] contentBytes) throws SignatureGenerationException { - try { - return crypto.createSignatureFor(getDescription(), secret, contentBytes); - } catch (NoSuchAlgorithmException | InvalidKeyException e) { - throw new SignatureGenerationException(this, e); - } - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/NoneAlgorithm.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/NoneAlgorithm.java deleted file mode 100644 index 5c6c0fc5ef0..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/NoneAlgorithm.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.auth0.jwt.algorithms; - -import com.auth0.jwt.exceptions.SignatureGenerationException; -import com.auth0.jwt.exceptions.SignatureVerificationException; -import com.auth0.jwt.interfaces.DecodedJWT; -import java.util.Base64; - -class NoneAlgorithm extends Algorithm { - - NoneAlgorithm() { - super("none", "none"); - } - - @Override - public void verify(DecodedJWT jwt) throws SignatureVerificationException { - try { - byte[] signatureBytes = Base64.getUrlDecoder().decode(jwt.getSignature()); - - if (signatureBytes.length > 0) { - throw new SignatureVerificationException(this); - } - } catch (IllegalArgumentException e) { - throw new SignatureVerificationException(this, e); - } - } - - @Override - public byte[] sign(byte[] headerBytes, byte[] payloadBytes) throws SignatureGenerationException { - return new byte[0]; - } - - @Override - public byte[] sign(byte[] contentBytes) throws SignatureGenerationException { - return new byte[0]; - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/RSAAlgorithm.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/RSAAlgorithm.java deleted file mode 100644 index ca892e60ad4..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/algorithms/RSAAlgorithm.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.auth0.jwt.algorithms; - -import com.auth0.jwt.exceptions.SignatureGenerationException; -import com.auth0.jwt.exceptions.SignatureVerificationException; -import com.auth0.jwt.interfaces.DecodedJWT; -import com.auth0.jwt.interfaces.RSAKeyProvider; - -import java.security.InvalidKeyException; -import java.security.NoSuchAlgorithmException; -import java.security.SignatureException; -import java.security.interfaces.RSAPrivateKey; -import java.security.interfaces.RSAPublicKey; -import java.util.Base64; - -/** - * Subclass representing an RSA signing algorithm - *

    - * This class is thread-safe. - */ -class RSAAlgorithm extends Algorithm { - - private final RSAKeyProvider keyProvider; - private final CryptoHelper crypto; - - //Visible for testing - RSAAlgorithm(CryptoHelper crypto, String id, String algorithm, RSAKeyProvider keyProvider) - throws IllegalArgumentException { - super(id, algorithm); - if (keyProvider == null) { - throw new IllegalArgumentException("The Key Provider cannot be null."); - } - this.keyProvider = keyProvider; - this.crypto = crypto; - } - - RSAAlgorithm(String id, String algorithm, RSAKeyProvider keyProvider) throws IllegalArgumentException { - this(new CryptoHelper(), id, algorithm, keyProvider); - } - - @Override - public void verify(DecodedJWT jwt) throws SignatureVerificationException { - try { - byte[] signatureBytes = Base64.getUrlDecoder().decode(jwt.getSignature()); - RSAPublicKey publicKey = keyProvider.getPublicKeyById(jwt.getKeyId()); - if (publicKey == null) { - throw new IllegalStateException("The given Public Key is null."); - } - boolean valid = crypto.verifySignatureFor( - getDescription(), publicKey, jwt.getHeader(), jwt.getPayload(), signatureBytes); - if (!valid) { - throw new SignatureVerificationException(this); - } - } catch (NoSuchAlgorithmException | SignatureException | InvalidKeyException - | IllegalArgumentException | IllegalStateException e) { - throw new SignatureVerificationException(this, e); - } - } - - @Override - public byte[] sign(byte[] headerBytes, byte[] payloadBytes) throws SignatureGenerationException { - try { - RSAPrivateKey privateKey = keyProvider.getPrivateKey(); - if (privateKey == null) { - throw new IllegalStateException("The given Private Key is null."); - } - return crypto.createSignatureFor(getDescription(), privateKey, headerBytes, payloadBytes); - } catch (NoSuchAlgorithmException | SignatureException | InvalidKeyException | IllegalStateException e) { - throw new SignatureGenerationException(this, e); - } - } - - @Override - public byte[] sign(byte[] contentBytes) throws SignatureGenerationException { - try { - RSAPrivateKey privateKey = keyProvider.getPrivateKey(); - if (privateKey == null) { - throw new IllegalStateException("The given Private Key is null."); - } - return crypto.createSignatureFor(getDescription(), privateKey, contentBytes); - } catch (NoSuchAlgorithmException | SignatureException | InvalidKeyException | IllegalStateException e) { - throw new SignatureGenerationException(this, e); - } - } - - @Override - public String getSigningKeyId() { - return keyProvider.getPrivateKeyId(); - } - - //Visible for testing - static RSAKeyProvider providerForKeys(final RSAPublicKey publicKey, final RSAPrivateKey privateKey) { - if (publicKey == null && privateKey == null) { - throw new IllegalArgumentException("Both provided Keys cannot be null."); - } - return new RSAKeyProvider() { - @Override - public RSAPublicKey getPublicKeyById(String keyId) { - return publicKey; - } - - @Override - public RSAPrivateKey getPrivateKey() { - return privateKey; - } - - @Override - public String getPrivateKeyId() { - return null; - } - }; - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/AlgorithmMismatchException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/AlgorithmMismatchException.java deleted file mode 100644 index d6b71205837..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/AlgorithmMismatchException.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.auth0.jwt.exceptions; - -/** - * The exception that will be thrown if the exception doesn't match the one mentioned in the JWT Header. - */ -public class AlgorithmMismatchException extends JWTVerificationException { - public AlgorithmMismatchException(String message) { - super(message); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/IncorrectClaimException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/IncorrectClaimException.java deleted file mode 100644 index 712e937bd61..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/IncorrectClaimException.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.auth0.jwt.exceptions; - -import com.auth0.jwt.interfaces.Claim; - -/** - * This exception is thrown when the expected value is not found while verifying the Claims. - */ -public class IncorrectClaimException extends InvalidClaimException { - private final String claimName; - - private final Claim claimValue; - - /** - * Used internally to construct the IncorrectClaimException which is thrown when there is verification - * failure for a Claim that exists. - * - * @param message The error message - * @param claimName The Claim name for which verification failed - * @param claim The Claim value for which verification failed - */ - public IncorrectClaimException(String message, String claimName, Claim claim) { - super(message); - this.claimName = claimName; - this.claimValue = claim; - } - - /** - * This method can be used to fetch the name for which the Claim verification failed. - * - * @return The claim name for which the verification failed. - */ - public String getClaimName() { - return claimName; - } - - /** - * This method can be used to fetch the value for which the Claim verification failed. - * - * @return The value for which the verification failed - */ - public Claim getClaimValue() { - return claimValue; - } -} \ No newline at end of file diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/InvalidClaimException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/InvalidClaimException.java deleted file mode 100644 index c5b8eb64a58..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/InvalidClaimException.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.auth0.jwt.exceptions; - -/** - * The exception that will be thrown while verifying Claims of a JWT. - */ -public class InvalidClaimException extends JWTVerificationException { - public InvalidClaimException(String message) { - super(message); - } -} \ No newline at end of file diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTCreationException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTCreationException.java deleted file mode 100644 index c7e162ea982..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTCreationException.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.auth0.jwt.exceptions; - -/** - * The exception that is thrown when a JWT cannot be created. - */ -public class JWTCreationException extends RuntimeException { - public JWTCreationException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTDecodeException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTDecodeException.java deleted file mode 100644 index 448714e9b1e..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTDecodeException.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.auth0.jwt.exceptions; - -/** - * The exception that is thrown when any part of the token contained an invalid JWT or JSON format. - */ -public class JWTDecodeException extends JWTVerificationException { - public JWTDecodeException(String message) { - this(message, null); - } - - public JWTDecodeException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTVerificationException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTVerificationException.java deleted file mode 100644 index dd36dcd331c..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/JWTVerificationException.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.auth0.jwt.exceptions; - -/** - * Parent to all the exception thrown while verifying a JWT. - */ -public class JWTVerificationException extends RuntimeException { - public JWTVerificationException(String message) { - this(message, null); - } - - public JWTVerificationException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/MissingClaimException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/MissingClaimException.java deleted file mode 100644 index 3bcc21216ea..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/MissingClaimException.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.auth0.jwt.exceptions; - -/** - * This exception is thrown when the claim to be verified is missing. - */ -public class MissingClaimException extends InvalidClaimException { - - private final String claimName; - - public MissingClaimException(String claimName) { - super(String.format("The Claim '%s' is not present in the JWT.", claimName)); - this.claimName = claimName; - } - - /** - * This method can be used to fetch the name for which the Claim is missing during the verification. - * - * @return The name of the Claim that doesn't exist. - */ - public String getClaimName() { - return claimName; - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/SignatureGenerationException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/SignatureGenerationException.java deleted file mode 100644 index 4b7668a0922..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/SignatureGenerationException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.auth0.jwt.exceptions; - -import com.auth0.jwt.algorithms.Algorithm; - -/** - * The exception that is thrown when signature is not able to be generated. - */ -public class SignatureGenerationException extends JWTCreationException { - public SignatureGenerationException(Algorithm algorithm, Throwable cause) { - super("The Token's Signature couldn't be generated when signing using the Algorithm: " + algorithm, cause); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/SignatureVerificationException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/SignatureVerificationException.java deleted file mode 100644 index fa7c3cabfce..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/SignatureVerificationException.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.auth0.jwt.exceptions; - -import com.auth0.jwt.algorithms.Algorithm; - -/** - * The exception that is thrown if the Signature verification fails. - */ -public class SignatureVerificationException extends JWTVerificationException { - public SignatureVerificationException(Algorithm algorithm) { - this(algorithm, null); - } - - public SignatureVerificationException(Algorithm algorithm, Throwable cause) { - super("The Token's Signature resulted invalid when verified using the Algorithm: " + algorithm, cause); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/TokenExpiredException.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/TokenExpiredException.java deleted file mode 100644 index 42ab090d4c0..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/exceptions/TokenExpiredException.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.auth0.jwt.exceptions; - -import java.time.Instant; - -/** - * The exception that is thrown if the token is expired. - */ -public class TokenExpiredException extends JWTVerificationException { - - private static final long serialVersionUID = -7076928975713577708L; - - private final Instant expiredOn; - - public TokenExpiredException(String message, Instant expiredOn) { - super(message); - this.expiredOn = expiredOn; - } - - public Instant getExpiredOn() { - return expiredOn; - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/BasicHeader.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/BasicHeader.java deleted file mode 100644 index 5a881ab523d..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/BasicHeader.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.auth0.jwt.impl; - -import com.auth0.jwt.interfaces.Claim; -import com.auth0.jwt.interfaces.Header; -import com.fasterxml.jackson.core.ObjectCodec; -import com.fasterxml.jackson.databind.JsonNode; - -import java.io.Serializable; -import java.util.Collections; -import java.util.Map; - -import static com.auth0.jwt.impl.JsonNodeClaim.extractClaim; - -/** - * The BasicHeader class implements the Header interface. - */ -class BasicHeader implements Header, Serializable { - private static final long serialVersionUID = -4659137688548605095L; - - private final String algorithm; - private final String type; - private final String contentType; - private final String keyId; - private final Map tree; - private final ObjectCodec objectCodec; - - BasicHeader( - String algorithm, - String type, - String contentType, - String keyId, - Map tree, - ObjectCodec objectCodec - ) { - this.algorithm = algorithm; - this.type = type; - this.contentType = contentType; - this.keyId = keyId; - this.tree = tree == null ? Collections.emptyMap() : Collections.unmodifiableMap(tree); - this.objectCodec = objectCodec; - } - - Map getTree() { - return tree; - } - - @Override - public String getAlgorithm() { - return algorithm; - } - - @Override - public String getType() { - return type; - } - - @Override - public String getContentType() { - return contentType; - } - - @Override - public String getKeyId() { - return keyId; - } - - @Override - public Claim getHeaderClaim(String name) { - return extractClaim(name, tree, objectCodec); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ClaimsHolder.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ClaimsHolder.java deleted file mode 100644 index 30f6ab18665..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ClaimsHolder.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.auth0.jwt.impl; - -import java.util.HashMap; -import java.util.Map; - -/** - * The ClaimsHolder class is just a wrapper for the Map of Claims used for building a JWT. - */ -public abstract class ClaimsHolder { - private Map claims; - - protected ClaimsHolder(Map claims) { - this.claims = claims == null ? new HashMap<>() : claims; - } - - Map getClaims() { - return claims; - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ClaimsSerializer.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ClaimsSerializer.java deleted file mode 100644 index b1f8e6d3a21..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ClaimsSerializer.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.auth0.jwt.impl; - -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.ser.std.StdSerializer; - -import java.io.IOException; -import java.time.Instant; -import java.util.Date; -import java.util.List; -import java.util.Map; - -/** - * Custom serializer used to write the resulting JWT. - * - * @param the type this serializer operates on. - */ -public class ClaimsSerializer extends StdSerializer { - - public ClaimsSerializer(Class t) { - super(t); - } - - @Override - public void serialize(T holder, JsonGenerator gen, SerializerProvider provider) throws IOException { - gen.writeStartObject(); - for (Map.Entry entry : holder.getClaims().entrySet()) { - writeClaim(entry, gen); - } - gen.writeEndObject(); - } - - /** - * Writes the given entry to the JSON representation. Custom claim serialization handling can override this method - * to provide use-case specific serialization. Implementors who override this method must write - * the field name and the field value. - * - * @param entry The entry that corresponds to the JSON field to write - * @param gen The {@code JsonGenerator} to use - * @throws IOException if there is either an underlying I/O problem or encoding issue at format layer - */ - protected void writeClaim(Map.Entry entry, JsonGenerator gen) throws IOException { - gen.writeFieldName(entry.getKey()); - handleSerialization(entry.getValue(), gen); - } - - private static void handleSerialization(Object value, JsonGenerator gen) throws IOException { - if (value instanceof Date) { - gen.writeNumber(dateToSeconds((Date) value)); - } else if (value instanceof Instant) { // EXPIRES_AT, ISSUED_AT, NOT_BEFORE, custom Instant claims - gen.writeNumber(instantToSeconds((Instant) value)); - } else if (value instanceof Map) { - serializeMap((Map) value, gen); - } else if (value instanceof List) { - serializeList((List) value, gen); - } else { - gen.writeObject(value); - } - } - - private static void serializeMap(Map map, JsonGenerator gen) throws IOException { - gen.writeStartObject(); - for (Map.Entry entry : map.entrySet()) { - gen.writeFieldName((String) entry.getKey()); - Object value = entry.getValue(); - handleSerialization(value, gen); - } - gen.writeEndObject(); - } - - private static void serializeList(List list, JsonGenerator gen) throws IOException { - gen.writeStartArray(); - for (Object entry : list) { - handleSerialization(entry, gen); - } - gen.writeEndArray(); - } - - private static long instantToSeconds(Instant instant) { - return instant.getEpochSecond(); - } - - private static long dateToSeconds(Date date) { - return date.getTime() / 1000; - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ExpectedCheckHolder.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ExpectedCheckHolder.java deleted file mode 100644 index 6737031c32b..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/ExpectedCheckHolder.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.auth0.jwt.impl; - -import com.auth0.jwt.interfaces.Claim; -import com.auth0.jwt.interfaces.DecodedJWT; - -/** - * This holds the checks that are run to verify a JWT. - */ -public interface ExpectedCheckHolder { - /** - * The claim name that will be checked. - * - * @return the claim name - */ - String getClaimName(); - - /** - * The verification that will be run. - * - * @param claim the claim for which verification is done - * @param decodedJWT the JWT on which verification is done - * @return whether the verification passed or not - */ - boolean verify(Claim claim, DecodedJWT decodedJWT); -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderClaimsHolder.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderClaimsHolder.java deleted file mode 100644 index 9b480116d0c..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderClaimsHolder.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.auth0.jwt.impl; - -import java.util.Map; - -/** - * Holds the header claims when serializing a JWT. - */ -public final class HeaderClaimsHolder extends ClaimsHolder { - public HeaderClaimsHolder(Map claims) { - super(claims); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderDeserializer.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderDeserializer.java deleted file mode 100644 index ad6e4ce00d2..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderDeserializer.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.auth0.jwt.impl; - -import com.auth0.jwt.HeaderParams; -import com.auth0.jwt.exceptions.JWTDecodeException; -import com.auth0.jwt.interfaces.Header; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.deser.std.StdDeserializer; - -import java.io.IOException; -import java.util.Map; - -/** - * Jackson deserializer implementation for converting from JWT Header parts. - *

    - * This class is thread-safe. - * - * @see JWTParser - */ -class HeaderDeserializer extends StdDeserializer

    { - - HeaderDeserializer() { - super(Header.class); - } - - @Override - public Header deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { - Map tree = p.getCodec().readValue(p, new TypeReference>() { - }); - if (tree == null) { - throw new JWTDecodeException("Parsing the Header's JSON resulted on a Null map"); - } - - String algorithm = getString(tree, HeaderParams.ALGORITHM); - String type = getString(tree, HeaderParams.TYPE); - String contentType = getString(tree, HeaderParams.CONTENT_TYPE); - String keyId = getString(tree, HeaderParams.KEY_ID); - return new BasicHeader(algorithm, type, contentType, keyId, tree, p.getCodec()); - } - - String getString(Map tree, String claimName) { - JsonNode node = tree.get(claimName); - if (node == null || node.isNull()) { - return null; - } - return node.asText(null); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderSerializer.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderSerializer.java deleted file mode 100644 index 5c7cf0fc977..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/HeaderSerializer.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.auth0.jwt.impl; - -/** - * Responsible for serializing a JWT's header representation to JSON. - */ -public class HeaderSerializer extends ClaimsSerializer { - public HeaderSerializer() { - super(HeaderClaimsHolder.class); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/JWTParser.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/JWTParser.java deleted file mode 100644 index 022520f5537..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/JWTParser.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.auth0.jwt.impl; - -import com.auth0.jwt.exceptions.JWTDecodeException; -import com.auth0.jwt.interfaces.Header; -import com.auth0.jwt.interfaces.JWTPartsParser; -import com.auth0.jwt.interfaces.Payload; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectReader; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.databind.module.SimpleModule; -import java.io.IOException; - -/** - * This class helps in decoding the Header and Payload of the JWT using - * {@link HeaderSerializer} and {@link PayloadSerializer}. - */ -public class JWTParser implements JWTPartsParser { - private static final ObjectMapper DEFAULT_OBJECT_MAPPER = createDefaultObjectMapper(); - private static final ObjectReader DEFAULT_PAYLOAD_READER = DEFAULT_OBJECT_MAPPER.readerFor(Payload.class); - private static final ObjectReader DEFAULT_HEADER_READER = DEFAULT_OBJECT_MAPPER.readerFor(Header.class); - - private final ObjectReader payloadReader; - private final ObjectReader headerReader; - - public JWTParser() { - this.payloadReader = DEFAULT_PAYLOAD_READER; - this.headerReader = DEFAULT_HEADER_READER; - } - - JWTParser(ObjectMapper mapper) { - addDeserializers(mapper); - - this.payloadReader = mapper.readerFor(Payload.class); - this.headerReader = mapper.readerFor(Header.class); - } - - @Override - public Payload parsePayload(String json) throws JWTDecodeException { - if (json == null) { - throw decodeException(); - } - - try { - return payloadReader.readValue(json); - } catch (IOException e) { - throw decodeException(json); - } - } - - @Override - public Header parseHeader(String json) throws JWTDecodeException { - if (json == null) { - throw decodeException(); - } - - try { - return headerReader.readValue(json); - } catch (IOException e) { - throw decodeException(json); - } - } - - static void addDeserializers(ObjectMapper mapper) { - SimpleModule module = new SimpleModule(); - module.addDeserializer(Payload.class, new PayloadDeserializer()); - module.addDeserializer(Header.class, new HeaderDeserializer()); - mapper.registerModule(module); - } - - static ObjectMapper getDefaultObjectMapper() { - return DEFAULT_OBJECT_MAPPER; - } - - private static ObjectMapper createDefaultObjectMapper() { - ObjectMapper mapper = new ObjectMapper(); - mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS); - mapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY); - - addDeserializers(mapper); - - return mapper; - } - - private static JWTDecodeException decodeException() { - return decodeException(null); - } - - private static JWTDecodeException decodeException(String json) { - return new JWTDecodeException(String.format("The string '%s' doesn't have a valid JSON format.", json)); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/JsonNodeClaim.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/JsonNodeClaim.java deleted file mode 100644 index 0a7e22f3574..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/JsonNodeClaim.java +++ /dev/null @@ -1,182 +0,0 @@ -package com.auth0.jwt.impl; - -import com.auth0.jwt.exceptions.JWTDecodeException; -import com.auth0.jwt.interfaces.Claim; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.ObjectCodec; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.JsonNode; - -import java.io.IOException; -import java.lang.reflect.Array; -import java.time.Instant; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; - -/** - * The JsonNodeClaim retrieves a claim value from a JsonNode object. - */ -class JsonNodeClaim implements Claim { - - private final ObjectCodec codec; - private final JsonNode data; - - private JsonNodeClaim(JsonNode node, ObjectCodec codec) { - this.data = node; - this.codec = codec; - } - - @Override - public Boolean asBoolean() { - return isMissing() || isNull() || !data.isBoolean() ? null : data.asBoolean(); - } - - @Override - public Integer asInt() { - return isMissing() || isNull() || !data.isNumber() ? null : data.asInt(); - } - - @Override - public Long asLong() { - return isMissing() || isNull() || !data.isNumber() ? null : data.asLong(); - } - - @Override - public Double asDouble() { - return isMissing() || isNull() || !data.isNumber() ? null : data.asDouble(); - } - - @Override - public String asString() { - return isMissing() || isNull() || !data.isTextual() ? null : data.asText(); - } - - @Override - public Date asDate() { - if (isMissing() || isNull() || !data.canConvertToLong()) { - return null; - } - long seconds = data.asLong(); - return new Date(seconds * 1000); - } - - @Override - public Instant asInstant() { - if (isMissing() || isNull() || !data.canConvertToLong()) { - return null; - } - long seconds = data.asLong(); - return Instant.ofEpochSecond(seconds); - } - - @Override - @SuppressWarnings("unchecked") - public T[] asArray(Class clazz) throws JWTDecodeException { - if (isMissing() || isNull() || !data.isArray()) { - return null; - } - - T[] arr = (T[]) Array.newInstance(clazz, data.size()); - for (int i = 0; i < data.size(); i++) { - try { - arr[i] = codec.treeToValue(data.get(i), clazz); - } catch (JsonProcessingException e) { - throw new JWTDecodeException("Couldn't map the Claim's array contents to " + clazz.getSimpleName(), e); - } - } - return arr; - } - - @Override - public List asList(Class clazz) throws JWTDecodeException { - if (isMissing() || isNull() || !data.isArray()) { - return null; - } - - List list = new ArrayList<>(); - for (int i = 0; i < data.size(); i++) { - try { - list.add(codec.treeToValue(data.get(i), clazz)); - } catch (JsonProcessingException e) { - throw new JWTDecodeException("Couldn't map the Claim's array contents to " + clazz.getSimpleName(), e); - } - } - return list; - } - - @Override - public Map asMap() throws JWTDecodeException { - if (isMissing() || isNull() || !data.isObject()) { - return null; - } - - TypeReference> mapType = new TypeReference>() { - }; - - try (JsonParser parser = codec.treeAsTokens(data)) { - return parser.readValueAs(mapType); - } catch (IOException e) { - throw new JWTDecodeException("Couldn't map the Claim value to Map", e); - } - } - - @Override - public T as(Class clazz) throws JWTDecodeException { - try { - if (isMissing() || isNull()) { - return null; - } - return codec.treeToValue(data, clazz); - } catch (JsonProcessingException e) { - throw new JWTDecodeException("Couldn't map the Claim value to " + clazz.getSimpleName(), e); - } - } - - @Override - public boolean isNull() { - return !isMissing() && data.isNull(); - } - - @Override - public boolean isMissing() { - return data == null || data.isMissingNode(); - } - - @Override - public String toString() { - if (isMissing()) { - return "Missing claim"; - } else if (isNull()) { - return "Null claim"; - } - return data.toString(); - } - - /** - * Helper method to extract a Claim from the given JsonNode tree. - * - * @param claimName the Claim to search for. - * @param tree the JsonNode tree to search the Claim in. - * @param objectCodec the object codec in use for deserialization - * @return a valid non-null Claim. - */ - static Claim extractClaim(String claimName, Map tree, ObjectCodec objectCodec) { - JsonNode node = tree.get(claimName); - return claimFromNode(node, objectCodec); - } - - /** - * Helper method to create a Claim representation from the given JsonNode. - * - * @param node the JsonNode to convert into a Claim. - * @param objectCodec the object codec in use for deserialization - * @return a valid Claim instance. If the node is null or missing, a NullClaim will be returned. - */ - static Claim claimFromNode(JsonNode node, ObjectCodec objectCodec) { - return new JsonNodeClaim(node, objectCodec); - } - -} \ No newline at end of file diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadClaimsHolder.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadClaimsHolder.java deleted file mode 100644 index 7055a2ce73e..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadClaimsHolder.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.auth0.jwt.impl; - -import java.util.Map; - -/** - * Holds the payload claims when serializing a JWT. - */ -public final class PayloadClaimsHolder extends ClaimsHolder { - public PayloadClaimsHolder(Map claims) { - super(claims); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadDeserializer.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadDeserializer.java deleted file mode 100644 index 65fba3ac4fe..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadDeserializer.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.auth0.jwt.impl; - -import com.auth0.jwt.RegisteredClaims; -import com.auth0.jwt.exceptions.JWTDecodeException; -import com.auth0.jwt.interfaces.Payload; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.ObjectCodec; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectReader; -import com.fasterxml.jackson.databind.deser.std.StdDeserializer; - -import java.io.IOException; -import java.time.Instant; -import java.util.*; - -/** - * Jackson deserializer implementation for converting from JWT Payload parts. - *

    - * This class is thread-safe. - * - * @see JWTParser - */ -class PayloadDeserializer extends StdDeserializer { - - PayloadDeserializer() { - super(Payload.class); - } - - @Override - public Payload deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { - Map tree = p.getCodec().readValue(p, new TypeReference>() { - }); - if (tree == null) { - throw new JWTDecodeException("Parsing the Payload's JSON resulted on a Null map"); - } - - String issuer = getString(tree, RegisteredClaims.ISSUER); - String subject = getString(tree, RegisteredClaims.SUBJECT); - List audience = getStringOrArray(p.getCodec(), tree, RegisteredClaims.AUDIENCE); - Instant expiresAt = getInstantFromSeconds(tree, RegisteredClaims.EXPIRES_AT); - Instant notBefore = getInstantFromSeconds(tree, RegisteredClaims.NOT_BEFORE); - Instant issuedAt = getInstantFromSeconds(tree, RegisteredClaims.ISSUED_AT); - String jwtId = getString(tree, RegisteredClaims.JWT_ID); - - return new PayloadImpl(issuer, subject, audience, expiresAt, notBefore, issuedAt, jwtId, tree, p.getCodec()); - } - - List getStringOrArray(ObjectCodec codec, Map tree, String claimName) - throws JWTDecodeException { - JsonNode node = tree.get(claimName); - if (node == null || node.isNull() || !(node.isArray() || node.isTextual())) { - return null; - } - if (node.isTextual() && !node.asText().isEmpty()) { - return Collections.singletonList(node.asText()); - } - - List list = new ArrayList<>(node.size()); - for (int i = 0; i < node.size(); i++) { - try { - list.add(codec.treeToValue(node.get(i), String.class)); - } catch (JsonProcessingException e) { - throw new JWTDecodeException("Couldn't map the Claim's array contents to String", e); - } - } - return list; - } - - Instant getInstantFromSeconds(Map tree, String claimName) { - JsonNode node = tree.get(claimName); - if (node == null || node.isNull()) { - return null; - } - if (!node.canConvertToLong()) { - throw new JWTDecodeException( - String.format("The claim '%s' contained a non-numeric date value.", claimName)); - } - return Instant.ofEpochSecond(node.asLong()); - } - - String getString(Map tree, String claimName) { - JsonNode node = tree.get(claimName); - if (node == null || node.isNull()) { - return null; - } - return node.asText(null); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadImpl.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadImpl.java deleted file mode 100644 index bfd9b0eaa85..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadImpl.java +++ /dev/null @@ -1,129 +0,0 @@ -package com.auth0.jwt.impl; - -import com.auth0.jwt.interfaces.Claim; -import com.auth0.jwt.interfaces.Payload; -import com.fasterxml.jackson.core.ObjectCodec; -import com.fasterxml.jackson.databind.JsonNode; - -import java.io.Serializable; -import java.time.Instant; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static com.auth0.jwt.impl.JsonNodeClaim.extractClaim; - -/** - * Decoder of string JSON Web Tokens into their POJO representations. - *

    - * This class is thread-safe. - * - * @see Payload - */ -class PayloadImpl implements Payload, Serializable { - - private static final long serialVersionUID = 1659021498824562311L; - - private final String issuer; - private final String subject; - private final List audience; - private final Instant expiresAt; - private final Instant notBefore; - private final Instant issuedAt; - private final String jwtId; - private final Map tree; - private final ObjectCodec objectCodec; - - PayloadImpl( - String issuer, - String subject, - List audience, - Instant expiresAt, - Instant notBefore, - Instant issuedAt, - String jwtId, - Map tree, - ObjectCodec objectCodec - ) { - this.issuer = issuer; - this.subject = subject; - this.audience = audience != null ? Collections.unmodifiableList(audience) : null; - this.expiresAt = expiresAt; - this.notBefore = notBefore; - this.issuedAt = issuedAt; - this.jwtId = jwtId; - this.tree = tree != null ? Collections.unmodifiableMap(tree) : Collections.emptyMap(); - this.objectCodec = objectCodec; - } - - Map getTree() { - return tree; - } - - @Override - public String getIssuer() { - return issuer; - } - - @Override - public String getSubject() { - return subject; - } - - @Override - public List getAudience() { - return audience; - } - - @Override - public Date getExpiresAt() { - return (expiresAt != null) ? Date.from(expiresAt) : null; - } - - - @Override - public Instant getExpiresAtAsInstant() { - return expiresAt; - } - - @Override - public Date getIssuedAt() { - return (issuedAt != null) ? Date.from(issuedAt) : null; - } - - @Override - public Instant getIssuedAtAsInstant() { - return issuedAt; - } - - @Override - public Date getNotBefore() { - return (notBefore != null) ? Date.from(notBefore) : null; - } - - @Override - public Instant getNotBeforeAsInstant() { - return notBefore; - } - - @Override - public String getId() { - return jwtId; - } - - @Override - public Claim getClaim(String name) { - return extractClaim(name, tree, objectCodec); - } - - @Override - public Map getClaims() { - Map claims = new HashMap<>(tree.size() * 2); - for (String name : tree.keySet()) { - claims.put(name, extractClaim(name, tree, objectCodec)); - } - return Collections.unmodifiableMap(claims); - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadSerializer.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadSerializer.java deleted file mode 100644 index 24fe37b7972..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/PayloadSerializer.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.auth0.jwt.impl; - -import com.auth0.jwt.RegisteredClaims; -import com.fasterxml.jackson.core.JsonGenerator; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -/** - * Jackson serializer implementation for converting into JWT Payload parts. - *

    - * This class is thread-safe. - * - * @see com.auth0.jwt.JWTCreator - */ -public class PayloadSerializer extends ClaimsSerializer { - public PayloadSerializer() { - super(PayloadClaimsHolder.class); - } - - @Override - protected void writeClaim(Map.Entry entry, JsonGenerator gen) throws IOException { - if (RegisteredClaims.AUDIENCE.equals(entry.getKey())) { - writeAudience(gen, entry); - } else { - super.writeClaim(entry, gen); - } - } - - /** - * Audience may be a list of strings or a single string. This is needed to properly handle the aud claim when - * added with the {@linkplain com.auth0.jwt.JWTCreator.Builder#withPayload(Map)} method. - */ - private void writeAudience(JsonGenerator gen, Map.Entry e) throws IOException { - if (e.getValue() instanceof String) { - gen.writeFieldName(e.getKey()); - gen.writeString((String) e.getValue()); - } else { - List audArray = new ArrayList<>(); - if (e.getValue() instanceof String[]) { - audArray = Arrays.asList((String[]) e.getValue()); - } else if (e.getValue() instanceof List) { - List audList = (List) e.getValue(); - for (Object aud : audList) { - if (aud instanceof String) { - audArray.add((String) aud); - } - } - } - if (audArray.size() == 1) { - gen.writeFieldName(e.getKey()); - gen.writeString(audArray.get(0)); - } else if (audArray.size() > 1) { - gen.writeFieldName(e.getKey()); - gen.writeStartArray(); - for (String aud : audArray) { - gen.writeString(aud); - } - gen.writeEndArray(); - } - } - } -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/package-info.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/package-info.java deleted file mode 100644 index 334ccb8a2d1..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/impl/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Contains parts of the internal implementation of this library. - * - *

    Do not use any of the classes in this package. They might be removed - * or changed at any point without prior warning. - */ -package com.auth0.jwt.impl; diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Claim.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Claim.java deleted file mode 100644 index ca5244d660a..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Claim.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.auth0.jwt.interfaces; - -import com.auth0.jwt.exceptions.JWTDecodeException; - -import java.time.Instant; -import java.util.Date; -import java.util.List; -import java.util.Map; - -/** - * The Claim class holds the value in a generic way so that it can be recovered in many representations. - */ -public interface Claim { - - /** - * Whether this Claim has a null value or not. - * If the claim is not present, it will return false hence checking {@link Claim#isMissing} is advised as well - * - * @return whether this Claim has a null value or not. - */ - boolean isNull(); - - /** - * Can be used to verify whether the Claim is found or not. - * This will be true even if the Claim has {@code null} value associated to it. - * - * @return whether this Claim is present or not - */ - boolean isMissing(); - - /** - * Get this Claim as a Boolean. - * If the value isn't of type Boolean or it can't be converted to a Boolean, {@code null} will be returned. - * - * @return the value as a Boolean or null. - */ - Boolean asBoolean(); - - /** - * Get this Claim as an Integer. - * If the value isn't of type Integer or it can't be converted to an Integer, {@code null} will be returned. - * - * @return the value as an Integer or null. - */ - Integer asInt(); - - /** - * Get this Claim as an Long. - * If the value isn't of type Long or it can't be converted to a Long, {@code null} will be returned. - * - * @return the value as an Long or null. - */ - Long asLong(); - - /** - * Get this Claim as a Double. - * If the value isn't of type Double or it can't be converted to a Double, {@code null} will be returned. - * - * @return the value as a Double or null. - */ - Double asDouble(); - - /** - * Get this Claim as a String. - * If the value isn't of type String, {@code null} will be returned. For a String representation of non-textual - * claim types, clients can call {@code toString()}. - * - * @return the value as a String or null if the underlying value is not a string. - */ - String asString(); - - /** - * Get this Claim as a Date. - * If the value can't be converted to a Date, {@code null} will be returned. - * - * @return the value as a Date or null. - */ - Date asDate(); - - /** - * Get this Claim as an Instant. - * If the value can't be converted to an Instant, {@code null} will be returned. - * - * @return the value as a Date or null. - */ - default Instant asInstant() { - Date date = asDate(); - return date != null ? date.toInstant() : null; - } - - /** - * Get this Claim as an Array of type T. - * If the value isn't an Array, {@code null} will be returned. - * - * @param type - * @param clazz the type class - * @return the value as an Array or null. - * @throws JWTDecodeException if the values inside the Array can't be converted to a class T. - */ - T[] asArray(Class clazz) throws JWTDecodeException; - - /** - * Get this Claim as a List of type T. - * If the value isn't an Array, {@code null} will be returned. - * - * @param type - * @param clazz the type class - * @return the value as a List or null. - * @throws JWTDecodeException if the values inside the List can't be converted to a class T. - */ - List asList(Class clazz) throws JWTDecodeException; - - /** - * Get this Claim as a generic Map of values. - * - * @return the value as instance of Map. - * @throws JWTDecodeException if the value can't be converted to a Map. - */ - Map asMap() throws JWTDecodeException; - - /** - * Get this Claim as a custom type T. - * This method will return null if {@link Claim#isMissing()} or {@link Claim#isNull()} is true - * - * @param type - * @param clazz the type class - * @return the value as instance of T. - * @throws JWTDecodeException if the value can't be converted to a class T. - */ - T as(Class clazz) throws JWTDecodeException; -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/DecodedJWT.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/DecodedJWT.java deleted file mode 100644 index 04307b28e5f..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/DecodedJWT.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.auth0.jwt.interfaces; - -/** - * Class that represents a Json Web Token that was decoded from it's string representation. - */ -public interface DecodedJWT extends Payload, Header { - /** - * Getter for the String Token used to create this JWT instance. - * - * @return the String Token. - */ - String getToken(); - - /** - * Getter for the Header contained in the JWT as a Base64 encoded String. - * This represents the first part of the token. - * - * @return the Header of the JWT. - */ - String getHeader(); - - /** - * Getter for the Payload contained in the JWT as a Base64 encoded String. - * This represents the second part of the token. - * - * @return the Payload of the JWT. - */ - String getPayload(); - - /** - * Getter for the Signature contained in the JWT as a Base64 encoded String. - * This represents the third part of the token. - * - * @return the Signature of the JWT. - */ - String getSignature(); -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/ECDSAKeyProvider.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/ECDSAKeyProvider.java deleted file mode 100644 index 55df451dad9..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/ECDSAKeyProvider.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.auth0.jwt.interfaces; - -import java.security.interfaces.ECPrivateKey; -import java.security.interfaces.ECPublicKey; - -/** - * Elliptic Curve (EC) Public/Private Key provider. - */ -public interface ECDSAKeyProvider extends KeyProvider { -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Header.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Header.java deleted file mode 100644 index 52b3ba56321..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Header.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.auth0.jwt.interfaces; - -/** - * The Header class represents the 1st part of the JWT, where the Header value is held. - */ -public interface Header { - - /** - * Getter for the Algorithm "alg" claim defined in the JWT's Header. If the claim is missing it will return null. - * - * @return the Algorithm defined or null. - */ - String getAlgorithm(); - - /** - * Getter for the Type "typ" claim defined in the JWT's Header. If the claim is missing it will return null. - * - * @return the Type defined or null. - */ - String getType(); - - /** - * Getter for the Content Type "cty" claim defined in the JWT's Header. If the claim is missing it will return null. - * - * @return the Content Type defined or null. - */ - String getContentType(); - - /** - * Get the value of the "kid" claim, or null if it's not available. - * - * @return the Key ID value or null. - */ - String getKeyId(); - - /** - * Get a Private Claim given it's name. If the Claim wasn't specified in the Header, a 'null claim' will be - * returned. All the methods of that claim will return {@code null}. - * - * @param name the name of the Claim to retrieve. - * @return a non-null Claim. - */ - Claim getHeaderClaim(String name); -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/JWTPartsParser.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/JWTPartsParser.java deleted file mode 100644 index 33cd0d709b9..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/JWTPartsParser.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.auth0.jwt.interfaces; - -import com.auth0.jwt.exceptions.JWTDecodeException; - -/** - * The JWTPartsParser class defines which parts of the JWT should be converted - * to its specific Object representation instance. - */ -public interface JWTPartsParser { - - /** - * Parses the given JSON into a {@link Payload} instance. - * - * @param json the content of the Payload in a JSON representation. - * @return the Payload. - * @throws JWTDecodeException if the json doesn't have a proper JSON format. - */ - Payload parsePayload(String json) throws JWTDecodeException; - - /** - * Parses the given JSON into a {@link Header} instance. - * - * @param json the content of the Header in a JSON representation. - * @return the Header. - * @throws JWTDecodeException if the json doesn't have a proper JSON format. - */ - Header parseHeader(String json) throws JWTDecodeException; -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/JWTVerifier.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/JWTVerifier.java deleted file mode 100644 index 2756ddd8814..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/JWTVerifier.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.auth0.jwt.interfaces; - -import com.auth0.jwt.exceptions.JWTVerificationException; - - -/** - * Used to verify the JWT for its signature and claims. Implementations must be thread-safe. Instances are created - * using {@link Verification}. - * - *

    - * try {
    - *      JWTVerifier verifier = JWTVerifier.init(Algorithm.RSA256(publicKey, privateKey)
    - *          .withIssuer("auth0")
    - *          .build();
    - *      DecodedJWT jwt = verifier.verify("token");
    - * } catch (JWTVerificationException e) {
    - *      // invalid signature or claims
    - * }
    - * 
    - */ -public interface JWTVerifier { - - /** - * Performs the verification against the given Token. - * - * @param token to verify. - * @return a verified and decoded JWT. - * @throws JWTVerificationException if any of the verification steps fail - */ - DecodedJWT verify(String token) throws JWTVerificationException; - - /** - * Performs the verification against the given {@link DecodedJWT}. - * - * @param jwt to verify. - * @return a verified and decoded JWT. - * @throws JWTVerificationException if any of the verification steps fail - */ - DecodedJWT verify(DecodedJWT jwt) throws JWTVerificationException; -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/KeyProvider.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/KeyProvider.java deleted file mode 100644 index 30a144a6b96..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/KeyProvider.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.auth0.jwt.interfaces; - -import java.security.PrivateKey; -import java.security.PublicKey; - -/** - * Generic Public/Private Key provider. - * While implementing, ensure the Private Key and Private Key ID doesn't change in between signing a token. - * - * @param the class that represents the Public Key - * @param the class that represents the Private Key - */ -interface KeyProvider { - - /** - * Getter for the Public Key instance with the given Id. Used to verify the signature on the JWT verification stage. - * - * @param keyId the Key Id specified in the Token's Header or null if none is available. - * Provides a hint on which Public Key to use to verify the token's signature. - * @return the Public Key instance - */ - U getPublicKeyById(String keyId); - - /** - * Getter for the Private Key instance. Used to sign the content on the JWT signing stage. - * - * @return the Private Key instance - */ - R getPrivateKey(); - - /** - * Getter for the Id of the Private Key used to sign the tokens. - * This represents the `kid` claim and will be placed in the Header. - * - * @return the Key Id that identifies the Private Key or null if it's not specified. - */ - String getPrivateKeyId(); -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Payload.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Payload.java deleted file mode 100644 index feb58c64ad6..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Payload.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.auth0.jwt.interfaces; - -import java.time.Instant; -import java.util.Date; -import java.util.List; -import java.util.Map; - -/** - * The Payload class represents the 2nd part of the JWT, where the Payload value is held. - */ -public interface Payload { - - /** - * Get the value of the "iss" claim, or null if it's not available. - * - * @return the Issuer value or null. - */ - String getIssuer(); - - /** - * Get the value of the "sub" claim, or null if it's not available. - * - * @return the Subject value or null. - */ - String getSubject(); - - /** - * Get the value of the "aud" claim, or null if it's not available. - * - * @return the Audience value or null. - */ - List getAudience(); - - /** - * Get the value of the "exp" claim, or null if it's not available. - * - * @return the Expiration Time value or null. - */ - Date getExpiresAt(); - - /** - * Get the value of the "exp" claim as an {@linkplain Instant}, or null if it's not available. - * - * @return the Expiration Time value or null. - */ - default Instant getExpiresAtAsInstant() { - return getExpiresAt() != null ? getExpiresAt().toInstant() : null; - } - - /** - * Get the value of the "nbf" claim, or null if it's not available. - * - * @return the Not Before value or null. - */ - Date getNotBefore(); - - /** - * Get the value of the "nbf" claim as an {@linkplain Instant}, or null if it's not available. - * - * @return the Not Before value or null. - */ - default Instant getNotBeforeAsInstant() { - return getNotBefore() != null ? getNotBefore().toInstant() : null; - } - - /** - * Get the value of the "iat" claim, or null if it's not available. - * - * @return the Issued At value or null. - */ - Date getIssuedAt(); - - /** - * Get the value of the "iat" claim as an {@linkplain Instant}, or null if it's not available. - * - * @return the Issued At value or null. - */ - default Instant getIssuedAtAsInstant() { - return getIssuedAt() != null ? getIssuedAt().toInstant() : null; - } - - /** - * Get the value of the "jti" claim, or null if it's not available. - * - * @return the JWT ID value or null. - */ - String getId(); - - /** - * Get a Claim given its name. If the Claim wasn't specified in the Payload, a 'null claim' - * will be returned. All the methods of that claim will return {@code null}. - * - * @param name the name of the Claim to retrieve. - * @return a non-null Claim. - */ - Claim getClaim(String name); - - /** - * Get the Claims defined in the Token. - * - * @return a non-null Map containing the Claims defined in the Token. - */ - Map getClaims(); -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/RSAKeyProvider.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/RSAKeyProvider.java deleted file mode 100644 index 55376f4d266..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/RSAKeyProvider.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.auth0.jwt.interfaces; - -import java.security.interfaces.RSAPrivateKey; -import java.security.interfaces.RSAPublicKey; - -/** - * RSA Public/Private Key provider. - */ -public interface RSAKeyProvider extends KeyProvider { -} diff --git a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Verification.java b/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Verification.java deleted file mode 100644 index b4adcf5c6fd..00000000000 --- a/java/ql/test/stubs/auth0-jwt-4.4.0/com/auth0/jwt/interfaces/Verification.java +++ /dev/null @@ -1,267 +0,0 @@ -package com.auth0.jwt.interfaces; - -import com.auth0.jwt.JWTVerifier; - -import java.time.Instant; -import java.util.Date; -import java.util.function.BiPredicate; - -/** - * Constructs and holds the checks required for a JWT to be considered valid. Note that implementations are - * not thread-safe. Once built by calling {@link #build()}, the resulting - * {@link com.auth0.jwt.interfaces.JWTVerifier} is thread-safe. - */ -public interface Verification { - - /** - * Verifies whether the JWT contains an Issuer ("iss") claim that equals to the value provided. - * This check is case-sensitive. - * - * @param issuer the required Issuer value. - * @return this same Verification instance. - */ - default Verification withIssuer(String issuer) { - return withIssuer(new String[]{issuer}); - } - - /** - * Verifies whether the JWT contains an Issuer ("iss") claim that contains all the values provided. - * This check is case-sensitive. An empty array is considered as a {@code null}. - * - * @param issuer the required Issuer value. If multiple values are given, the claim must at least match one of them - * @return this same Verification instance. - */ - Verification withIssuer(String... issuer); - - /** - * Verifies whether the JWT contains a Subject ("sub") claim that equals to the value provided. - * This check is case-sensitive. - * - * @param subject the required Subject value - * @return this same Verification instance. - */ - Verification withSubject(String subject); - - /** - * Verifies whether the JWT contains an Audience ("aud") claim that contains all the values provided. - * This check is case-sensitive. An empty array is considered as a {@code null}. - * - * @param audience the required Audience value - * @return this same Verification instance. - */ - Verification withAudience(String... audience); - - /** - * Verifies whether the JWT contains an Audience ("aud") claim contain at least one of the specified audiences. - * This check is case-sensitive. An empty array is considered as a {@code null}. - * - * @param audience the required Audience value for which the "aud" claim must contain at least one value. - * @return this same Verification instance. - */ - Verification withAnyOfAudience(String... audience); - - /** - * Define the default window in seconds in which the Not Before, Issued At and Expires At Claims - * will still be valid. Setting a specific leeway value on a given Claim will override this value for that Claim. - * - * @param leeway the window in seconds in which the Not Before, Issued At and Expires At Claims will still be valid. - * @return this same Verification instance. - * @throws IllegalArgumentException if leeway is negative. - */ - Verification acceptLeeway(long leeway) throws IllegalArgumentException; - - /** - * Set a specific leeway window in seconds in which the Expires At ("exp") Claim will still be valid. - * Expiration Date is always verified when the value is present. - * This method overrides the value set with acceptLeeway - * - * @param leeway the window in seconds in which the Expires At Claim will still be valid. - * @return this same Verification instance. - * @throws IllegalArgumentException if leeway is negative. - */ - Verification acceptExpiresAt(long leeway) throws IllegalArgumentException; - - /** - * Set a specific leeway window in seconds in which the Not Before ("nbf") Claim will still be valid. - * Not Before Date is always verified when the value is present. - * This method overrides the value set with acceptLeeway - * - * @param leeway the window in seconds in which the Not Before Claim will still be valid. - * @return this same Verification instance. - * @throws IllegalArgumentException if leeway is negative. - */ - Verification acceptNotBefore(long leeway) throws IllegalArgumentException; - - /** - * Set a specific leeway window in seconds in which the Issued At ("iat") Claim will still be valid. - * This method overrides the value set with {@link #acceptLeeway(long)}. - * By default, the Issued At claim is always verified when the value is present, - * unless disabled with {@link #ignoreIssuedAt()}. - * If Issued At verification has been disabled, no verification of the Issued At claim will be performed, - * and this method has no effect. - * - * @param leeway the window in seconds in which the Issued At Claim will still be valid. - * @return this same Verification instance. - * @throws IllegalArgumentException if leeway is negative. - */ - Verification acceptIssuedAt(long leeway) throws IllegalArgumentException; - - /** - * Verifies whether the JWT contains a JWT ID ("jti") claim that equals to the value provided. - * This check is case-sensitive. - * - * @param jwtId the required ID value - * @return this same Verification instance. - */ - Verification withJWTId(String jwtId); - - /** - * Verifies whether the claim is present in the JWT, with any value including {@code null}. - * - * @param name the Claim's name. - * @return this same Verification instance - * @throws IllegalArgumentException if the name is {@code null}. - */ - Verification withClaimPresence(String name) throws IllegalArgumentException; - - /** - * Verifies whether the claim is present with a {@code null} value. - * - * @param name the Claim's name. - * @return this same Verification instance. - * @throws IllegalArgumentException if the name is {@code null}. - */ - Verification withNullClaim(String name) throws IllegalArgumentException; - - /** - * Verifies whether the claim is equal to the given Boolean value. - * - * @param name the Claim's name. - * @param value the Claim's value. - * @return this same Verification instance. - * @throws IllegalArgumentException if the name is {@code null}. - */ - Verification withClaim(String name, Boolean value) throws IllegalArgumentException; - - /** - * Verifies whether the claim is equal to the given Integer value. - * - * @param name the Claim's name. - * @param value the Claim's value. - * @return this same Verification instance. - * @throws IllegalArgumentException if the name is {@code null}. - */ - Verification withClaim(String name, Integer value) throws IllegalArgumentException; - - /** - * Verifies whether the claim is equal to the given Long value. - * - * @param name the Claim's name. - * @param value the Claim's value. - * @return this same Verification instance. - * @throws IllegalArgumentException if the name is {@code null}. - */ - Verification withClaim(String name, Long value) throws IllegalArgumentException; - - /** - * Verifies whether the claim is equal to the given Integer value. - * - * @param name the Claim's name. - * @param value the Claim's value. - * @return this same Verification instance. - * @throws IllegalArgumentException if the name is {@code null}. - */ - Verification withClaim(String name, Double value) throws IllegalArgumentException; - - /** - * Verifies whether the claim is equal to the given String value. - * This check is case-sensitive. - * - * @param name the Claim's name. - * @param value the Claim's value. - * @return this same Verification instance. - * @throws IllegalArgumentException if the name is {@code null}. - */ - Verification withClaim(String name, String value) throws IllegalArgumentException; - - /** - * Verifies whether the claim is equal to the given Date value. - * Note that date-time claims are serialized as seconds since the epoch; - * when verifying date-time claim value, any time units more granular than seconds will not be considered. - * - * @param name the Claim's name. - * @param value the Claim's value. - * @return this same Verification instance. - * @throws IllegalArgumentException if the name is {@code null}. - */ - Verification withClaim(String name, Date value) throws IllegalArgumentException; - - /** - * Verifies whether the claim is equal to the given Instant value. - * Note that date-time claims are serialized as seconds since the epoch; - * when verifying a date-time claim value, any time units more granular than seconds will not be considered. - * - * @param name the Claim's name. - * @param value the Claim's value. - * @return this same Verification instance. - * @throws IllegalArgumentException if the name is {@code null}. - */ - default Verification withClaim(String name, Instant value) throws IllegalArgumentException { - return withClaim(name, value != null ? Date.from(value) : null); - } - - /** - * Executes the predicate provided and the validates the JWT if the predicate returns true. - * - * @param name the Claim's name - * @param predicate the predicate check to be done. - * @return this same Verification instance. - * @throws IllegalArgumentException if the name is {@code null}. - */ - Verification withClaim(String name, BiPredicate predicate) throws IllegalArgumentException; - - /** - * Verifies whether the claim contain at least the given String items. - * - * @param name the Claim's name. - * @param items the items the Claim must contain. - * @return this same Verification instance. - * @throws IllegalArgumentException if the name is {@code null}. - */ - Verification withArrayClaim(String name, String... items) throws IllegalArgumentException; - - /** - * Verifies whether the claim contain at least the given Integer items. - * - * @param name the Claim's name. - * @param items the items the Claim must contain. - * @return this same Verification instance. - * @throws IllegalArgumentException if the name is {@code null}. - */ - Verification withArrayClaim(String name, Integer... items) throws IllegalArgumentException; - - /** - * Verifies whether the claim contain at least the given Long items. - * - * @param name the Claim's name. - * @param items the items the Claim must contain. - * @return this same Verification instance. - * @throws IllegalArgumentException if the name is {@code null}. - */ - - Verification withArrayClaim(String name, Long ... items) throws IllegalArgumentException; - - /** - * Skip the Issued At ("iat") claim verification. By default, the verification is performed. - * - * @return this same Verification instance. - */ - Verification ignoreIssuedAt(); - - /** - * Creates a new and reusable instance of the JWTVerifier with the configuration already provided. - * - * @return a new {@link com.auth0.jwt.interfaces.JWTVerifier} instance. - */ - JWTVerifier build(); -} diff --git a/java/ql/test/stubs/javax-4.0.1/crypto/KeyGenerator.java b/java/ql/test/stubs/javax-4.0.1/crypto/KeyGenerator.java deleted file mode 100644 index d133ee2f49b..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/crypto/KeyGenerator.java +++ /dev/null @@ -1,26 +0,0 @@ -// Generated automatically from javax.crypto.KeyGenerator for testing purposes - -package javax.crypto; - -import java.security.Provider; -import java.security.SecureRandom; -import java.security.spec.AlgorithmParameterSpec; -import javax.crypto.KeyGeneratorSpi; -import javax.crypto.SecretKey; - -public class KeyGenerator -{ - protected KeyGenerator() {} - protected KeyGenerator(KeyGeneratorSpi p0, Provider p1, String p2){} - public final Provider getProvider(){ return null; } - public final SecretKey generateKey(){ return null; } - public final String getAlgorithm(){ return null; } - public final void init(AlgorithmParameterSpec p0){} - public final void init(AlgorithmParameterSpec p0, SecureRandom p1){} - public final void init(SecureRandom p0){} - public final void init(int p0){} - public final void init(int p0, SecureRandom p1){} - public static KeyGenerator getInstance(String p0){ return null; } - public static KeyGenerator getInstance(String p0, Provider p1){ return null; } - public static KeyGenerator getInstance(String p0, String p1){ return null; } -} diff --git a/java/ql/test/stubs/javax-4.0.1/crypto/KeyGeneratorSpi.java b/java/ql/test/stubs/javax-4.0.1/crypto/KeyGeneratorSpi.java deleted file mode 100644 index aba2623123a..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/crypto/KeyGeneratorSpi.java +++ /dev/null @@ -1,16 +0,0 @@ -// Generated automatically from javax.crypto.KeyGeneratorSpi for testing purposes - -package javax.crypto; - -import java.security.SecureRandom; -import java.security.spec.AlgorithmParameterSpec; -import javax.crypto.SecretKey; - -abstract public class KeyGeneratorSpi -{ - protected abstract SecretKey engineGenerateKey(); - protected abstract void engineInit(AlgorithmParameterSpec p0, SecureRandom p1); - protected abstract void engineInit(SecureRandom p0); - protected abstract void engineInit(int p0, SecureRandom p1); - public KeyGeneratorSpi(){} -} diff --git a/java/ql/test/stubs/javax-4.0.1/crypto/SecretKey.java b/java/ql/test/stubs/javax-4.0.1/crypto/SecretKey.java deleted file mode 100644 index 88c9e4539ba..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/crypto/SecretKey.java +++ /dev/null @@ -1,11 +0,0 @@ -// Generated automatically from javax.crypto.SecretKey for testing purposes - -package javax.crypto; - -import java.security.Key; -import javax.security.auth.Destroyable; - -public interface SecretKey extends Destroyable, Key -{ - static long serialVersionUID = 0; -} diff --git a/java/ql/test/stubs/javax-4.0.1/security/auth/Destroyable.java b/java/ql/test/stubs/javax-4.0.1/security/auth/Destroyable.java deleted file mode 100644 index 979ca409ba6..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/security/auth/Destroyable.java +++ /dev/null @@ -1,10 +0,0 @@ -// Generated automatically from javax.security.auth.Destroyable for testing purposes - -package javax.security.auth; - - -public interface Destroyable -{ - default boolean isDestroyed(){ return false; } - default void destroy(){} -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/AsyncContext.java b/java/ql/test/stubs/javax-4.0.1/servlet/AsyncContext.java deleted file mode 100644 index 70a39f55ac9..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/AsyncContext.java +++ /dev/null @@ -1,31 +0,0 @@ -// Generated automatically from javax.servlet.AsyncContext for testing purposes - -package javax.servlet; - -import javax.servlet.AsyncListener; -import javax.servlet.ServletContext; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -public interface AsyncContext -{ - T createListener(java.lang.Class p0); - ServletRequest getRequest(); - ServletResponse getResponse(); - boolean hasOriginalRequestAndResponse(); - long getTimeout(); - static String ASYNC_CONTEXT_PATH = null; - static String ASYNC_MAPPING = null; - static String ASYNC_PATH_INFO = null; - static String ASYNC_QUERY_STRING = null; - static String ASYNC_REQUEST_URI = null; - static String ASYNC_SERVLET_PATH = null; - void addListener(AsyncListener p0); - void addListener(AsyncListener p0, ServletRequest p1, ServletResponse p2); - void complete(); - void dispatch(); - void dispatch(ServletContext p0, String p1); - void dispatch(String p0); - void setTimeout(long p0); - void start(Runnable p0); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/AsyncEvent.java b/java/ql/test/stubs/javax-4.0.1/servlet/AsyncEvent.java deleted file mode 100644 index d7cb9c2b175..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/AsyncEvent.java +++ /dev/null @@ -1,20 +0,0 @@ -// Generated automatically from javax.servlet.AsyncEvent for testing purposes - -package javax.servlet; - -import javax.servlet.AsyncContext; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -public class AsyncEvent -{ - protected AsyncEvent() {} - public AsyncContext getAsyncContext(){ return null; } - public AsyncEvent(AsyncContext p0){} - public AsyncEvent(AsyncContext p0, ServletRequest p1, ServletResponse p2){} - public AsyncEvent(AsyncContext p0, ServletRequest p1, ServletResponse p2, Throwable p3){} - public AsyncEvent(AsyncContext p0, Throwable p1){} - public ServletRequest getSuppliedRequest(){ return null; } - public ServletResponse getSuppliedResponse(){ return null; } - public Throwable getThrowable(){ return null; } -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/AsyncListener.java b/java/ql/test/stubs/javax-4.0.1/servlet/AsyncListener.java deleted file mode 100644 index 2723482f668..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/AsyncListener.java +++ /dev/null @@ -1,14 +0,0 @@ -// Generated automatically from javax.servlet.AsyncListener for testing purposes - -package javax.servlet; - -import java.util.EventListener; -import javax.servlet.AsyncEvent; - -public interface AsyncListener extends EventListener -{ - void onComplete(AsyncEvent p0); - void onError(AsyncEvent p0); - void onStartAsync(AsyncEvent p0); - void onTimeout(AsyncEvent p0); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/DispatcherType.java b/java/ql/test/stubs/javax-4.0.1/servlet/DispatcherType.java deleted file mode 100644 index 2b7b44f328d..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/DispatcherType.java +++ /dev/null @@ -1,10 +0,0 @@ -// Generated automatically from javax.servlet.DispatcherType for testing purposes - -package javax.servlet; - - -public enum DispatcherType -{ - ASYNC, ERROR, FORWARD, INCLUDE, REQUEST; - private DispatcherType() {} -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/Filter.java b/java/ql/test/stubs/javax-4.0.1/servlet/Filter.java deleted file mode 100644 index 64b9f9d73a8..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/Filter.java +++ /dev/null @@ -1,15 +0,0 @@ -// Generated automatically from javax.servlet.Filter for testing purposes - -package javax.servlet; - -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -public interface Filter -{ - default void destroy(){} - default void init(FilterConfig p0){} - void doFilter(ServletRequest p0, ServletResponse p1, FilterChain p2); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/FilterChain.java b/java/ql/test/stubs/javax-4.0.1/servlet/FilterChain.java deleted file mode 100644 index f64ab722684..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/FilterChain.java +++ /dev/null @@ -1,11 +0,0 @@ -// Generated automatically from javax.servlet.FilterChain for testing purposes - -package javax.servlet; - -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -public interface FilterChain -{ - void doFilter(ServletRequest p0, ServletResponse p1); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/FilterConfig.java b/java/ql/test/stubs/javax-4.0.1/servlet/FilterConfig.java deleted file mode 100644 index 0e140c6680c..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/FilterConfig.java +++ /dev/null @@ -1,14 +0,0 @@ -// Generated automatically from javax.servlet.FilterConfig for testing purposes - -package javax.servlet; - -import java.util.Enumeration; -import javax.servlet.ServletContext; - -public interface FilterConfig -{ - Enumeration getInitParameterNames(); - ServletContext getServletContext(); - String getFilterName(); - String getInitParameter(String p0); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/FilterRegistration.java b/java/ql/test/stubs/javax-4.0.1/servlet/FilterRegistration.java deleted file mode 100644 index 6ad0739ceb6..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/FilterRegistration.java +++ /dev/null @@ -1,19 +0,0 @@ -// Generated automatically from javax.servlet.FilterRegistration for testing purposes - -package javax.servlet; - -import java.util.Collection; -import java.util.EnumSet; -import javax.servlet.DispatcherType; -import javax.servlet.Registration; - -public interface FilterRegistration extends Registration -{ - Collection getServletNameMappings(); - Collection getUrlPatternMappings(); - static public interface Dynamic extends FilterRegistration, Registration.Dynamic - { - } - void addMappingForServletNames(EnumSet p0, boolean p1, String... p2); - void addMappingForUrlPatterns(EnumSet p0, boolean p1, String... p2); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/GenericServlet.java b/java/ql/test/stubs/javax-4.0.1/servlet/GenericServlet.java deleted file mode 100644 index 5f7bdcda487..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/GenericServlet.java +++ /dev/null @@ -1,28 +0,0 @@ -// Generated automatically from javax.servlet.GenericServlet for testing purposes - -package javax.servlet; - -import java.io.Serializable; -import java.util.Enumeration; -import javax.servlet.Servlet; -import javax.servlet.ServletConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -abstract public class GenericServlet implements Serializable, Servlet, ServletConfig -{ - public Enumeration getInitParameterNames(){ return null; } - public GenericServlet(){} - public ServletConfig getServletConfig(){ return null; } - public ServletContext getServletContext(){ return null; } - public String getInitParameter(String p0){ return null; } - public String getServletInfo(){ return null; } - public String getServletName(){ return null; } - public abstract void service(ServletRequest p0, ServletResponse p1); - public void destroy(){} - public void init(){} - public void init(ServletConfig p0){} - public void log(String p0){} - public void log(String p0, Throwable p1){} -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/HttpConstraintElement.java b/java/ql/test/stubs/javax-4.0.1/servlet/HttpConstraintElement.java deleted file mode 100644 index 6598aa47cc5..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/HttpConstraintElement.java +++ /dev/null @@ -1,16 +0,0 @@ -// Generated automatically from javax.servlet.HttpConstraintElement for testing purposes - -package javax.servlet; - -import javax.servlet.annotation.ServletSecurity; - -public class HttpConstraintElement -{ - public HttpConstraintElement(){} - public HttpConstraintElement(ServletSecurity.EmptyRoleSemantic p0){} - public HttpConstraintElement(ServletSecurity.EmptyRoleSemantic p0, ServletSecurity.TransportGuarantee p1, String... p2){} - public HttpConstraintElement(ServletSecurity.TransportGuarantee p0, String... p1){} - public ServletSecurity.EmptyRoleSemantic getEmptyRoleSemantic(){ return null; } - public ServletSecurity.TransportGuarantee getTransportGuarantee(){ return null; } - public String[] getRolesAllowed(){ return null; } -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/HttpMethodConstraintElement.java b/java/ql/test/stubs/javax-4.0.1/servlet/HttpMethodConstraintElement.java deleted file mode 100644 index ddb52527004..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/HttpMethodConstraintElement.java +++ /dev/null @@ -1,13 +0,0 @@ -// Generated automatically from javax.servlet.HttpMethodConstraintElement for testing purposes - -package javax.servlet; - -import javax.servlet.HttpConstraintElement; - -public class HttpMethodConstraintElement extends HttpConstraintElement -{ - protected HttpMethodConstraintElement() {} - public HttpMethodConstraintElement(String p0){} - public HttpMethodConstraintElement(String p0, HttpConstraintElement p1){} - public String getMethodName(){ return null; } -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/MultipartConfigElement.java b/java/ql/test/stubs/javax-4.0.1/servlet/MultipartConfigElement.java deleted file mode 100644 index 8470d9a5317..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/MultipartConfigElement.java +++ /dev/null @@ -1,17 +0,0 @@ -// Generated automatically from javax.servlet.MultipartConfigElement for testing purposes - -package javax.servlet; - -import javax.servlet.annotation.MultipartConfig; - -public class MultipartConfigElement -{ - protected MultipartConfigElement() {} - public MultipartConfigElement(MultipartConfig p0){} - public MultipartConfigElement(String p0){} - public MultipartConfigElement(String p0, long p1, long p2, int p3){} - public String getLocation(){ return null; } - public int getFileSizeThreshold(){ return 0; } - public long getMaxFileSize(){ return 0; } - public long getMaxRequestSize(){ return 0; } -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ReadListener.java b/java/ql/test/stubs/javax-4.0.1/servlet/ReadListener.java deleted file mode 100644 index 367594ef7da..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/ReadListener.java +++ /dev/null @@ -1,12 +0,0 @@ -// Generated automatically from javax.servlet.ReadListener for testing purposes - -package javax.servlet; - -import java.util.EventListener; - -public interface ReadListener extends EventListener -{ - void onAllDataRead(); - void onDataAvailable(); - void onError(Throwable p0); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/Registration.java b/java/ql/test/stubs/javax-4.0.1/servlet/Registration.java deleted file mode 100644 index 5d4095813ef..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/Registration.java +++ /dev/null @@ -1,20 +0,0 @@ -// Generated automatically from javax.servlet.Registration for testing purposes - -package javax.servlet; - -import java.util.Map; -import java.util.Set; - -public interface Registration -{ - Map getInitParameters(); - Set setInitParameters(Map p0); - String getClassName(); - String getInitParameter(String p0); - String getName(); - boolean setInitParameter(String p0, String p1); - static public interface Dynamic extends Registration - { - void setAsyncSupported(boolean p0); - } -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/RequestDispatcher.java b/java/ql/test/stubs/javax-4.0.1/servlet/RequestDispatcher.java deleted file mode 100644 index ad017e4f501..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/RequestDispatcher.java +++ /dev/null @@ -1,30 +0,0 @@ -// Generated automatically from javax.servlet.RequestDispatcher for testing purposes - -package javax.servlet; - -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -public interface RequestDispatcher -{ - static String ERROR_EXCEPTION = null; - static String ERROR_EXCEPTION_TYPE = null; - static String ERROR_MESSAGE = null; - static String ERROR_REQUEST_URI = null; - static String ERROR_SERVLET_NAME = null; - static String ERROR_STATUS_CODE = null; - static String FORWARD_CONTEXT_PATH = null; - static String FORWARD_MAPPING = null; - static String FORWARD_PATH_INFO = null; - static String FORWARD_QUERY_STRING = null; - static String FORWARD_REQUEST_URI = null; - static String FORWARD_SERVLET_PATH = null; - static String INCLUDE_CONTEXT_PATH = null; - static String INCLUDE_MAPPING = null; - static String INCLUDE_PATH_INFO = null; - static String INCLUDE_QUERY_STRING = null; - static String INCLUDE_REQUEST_URI = null; - static String INCLUDE_SERVLET_PATH = null; - void forward(ServletRequest p0, ServletResponse p1); - void include(ServletRequest p0, ServletResponse p1); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/Servlet.java b/java/ql/test/stubs/javax-4.0.1/servlet/Servlet.java deleted file mode 100644 index 231c011a6f8..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/Servlet.java +++ /dev/null @@ -1,16 +0,0 @@ -// Generated automatically from javax.servlet.Servlet for testing purposes - -package javax.servlet; - -import javax.servlet.ServletConfig; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -public interface Servlet -{ - ServletConfig getServletConfig(); - String getServletInfo(); - void destroy(); - void init(ServletConfig p0); - void service(ServletRequest p0, ServletResponse p1); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ServletConfig.java b/java/ql/test/stubs/javax-4.0.1/servlet/ServletConfig.java deleted file mode 100644 index c483c16ac4e..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/ServletConfig.java +++ /dev/null @@ -1,14 +0,0 @@ -// Generated automatically from javax.servlet.ServletConfig for testing purposes - -package javax.servlet; - -import java.util.Enumeration; -import javax.servlet.ServletContext; - -public interface ServletConfig -{ - Enumeration getInitParameterNames(); - ServletContext getServletContext(); - String getInitParameter(String p0); - String getServletName(); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ServletContext.java b/java/ql/test/stubs/javax-4.0.1/servlet/ServletContext.java deleted file mode 100644 index 812393f61e9..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/ServletContext.java +++ /dev/null @@ -1,83 +0,0 @@ -// Generated automatically from javax.servlet.ServletContext for testing purposes - -package javax.servlet; - -import java.io.InputStream; -import java.net.URL; -import java.util.Enumeration; -import java.util.EventListener; -import java.util.Map; -import java.util.Set; -import javax.servlet.Filter; -import javax.servlet.FilterRegistration; -import javax.servlet.RequestDispatcher; -import javax.servlet.Servlet; -import javax.servlet.ServletRegistration; -import javax.servlet.SessionCookieConfig; -import javax.servlet.SessionTrackingMode; -import javax.servlet.descriptor.JspConfigDescriptor; - -public interface ServletContext -{ - T createListener(java.lang.Class p0); - void addListener(T p0); - T createFilter(java.lang.Class p0); - T createServlet(java.lang.Class p0); - ClassLoader getClassLoader(); - Enumeration getServlets(); - Enumeration getAttributeNames(); - Enumeration getInitParameterNames(); - Enumeration getServletNames(); - FilterRegistration getFilterRegistration(String p0); - FilterRegistration.Dynamic addFilter(String p0, Class p1); - FilterRegistration.Dynamic addFilter(String p0, Filter p1); - FilterRegistration.Dynamic addFilter(String p0, String p1); - InputStream getResourceAsStream(String p0); - JspConfigDescriptor getJspConfigDescriptor(); - Map getFilterRegistrations(); - Map getServletRegistrations(); - Object getAttribute(String p0); - RequestDispatcher getNamedDispatcher(String p0); - RequestDispatcher getRequestDispatcher(String p0); - Servlet getServlet(String p0); - ServletContext getContext(String p0); - ServletRegistration getServletRegistration(String p0); - ServletRegistration.Dynamic addJspFile(String p0, String p1); - ServletRegistration.Dynamic addServlet(String p0, Class p1); - ServletRegistration.Dynamic addServlet(String p0, Servlet p1); - ServletRegistration.Dynamic addServlet(String p0, String p1); - SessionCookieConfig getSessionCookieConfig(); - Set getDefaultSessionTrackingModes(); - Set getEffectiveSessionTrackingModes(); - Set getResourcePaths(String p0); - String getContextPath(); - String getInitParameter(String p0); - String getMimeType(String p0); - String getRealPath(String p0); - String getRequestCharacterEncoding(); - String getResponseCharacterEncoding(); - String getServerInfo(); - String getServletContextName(); - String getVirtualServerName(); - URL getResource(String p0); - boolean setInitParameter(String p0, String p1); - int getEffectiveMajorVersion(); - int getEffectiveMinorVersion(); - int getMajorVersion(); - int getMinorVersion(); - int getSessionTimeout(); - static String ORDERED_LIBS = null; - static String TEMPDIR = null; - void addListener(Class p0); - void addListener(String p0); - void declareRoles(String... p0); - void log(Exception p0, String p1); - void log(String p0); - void log(String p0, Throwable p1); - void removeAttribute(String p0); - void setAttribute(String p0, Object p1); - void setRequestCharacterEncoding(String p0); - void setResponseCharacterEncoding(String p0); - void setSessionTimeout(int p0); - void setSessionTrackingModes(Set p0); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ServletInputStream.java b/java/ql/test/stubs/javax-4.0.1/servlet/ServletInputStream.java deleted file mode 100644 index 31034066970..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/ServletInputStream.java +++ /dev/null @@ -1,15 +0,0 @@ -// Generated automatically from javax.servlet.ServletInputStream for testing purposes - -package javax.servlet; - -import java.io.InputStream; -import javax.servlet.ReadListener; - -abstract public class ServletInputStream extends InputStream -{ - protected ServletInputStream(){} - public abstract boolean isFinished(); - public abstract boolean isReady(); - public abstract void setReadListener(ReadListener p0); - public int readLine(byte[] p0, int p1, int p2){ return 0; } -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ServletOutputStream.java b/java/ql/test/stubs/javax-4.0.1/servlet/ServletOutputStream.java deleted file mode 100644 index 52a2162c9eb..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/ServletOutputStream.java +++ /dev/null @@ -1,28 +0,0 @@ -// Generated automatically from javax.servlet.ServletOutputStream for testing purposes - -package javax.servlet; - -import java.io.OutputStream; -import javax.servlet.WriteListener; - -abstract public class ServletOutputStream extends OutputStream -{ - protected ServletOutputStream(){} - public abstract boolean isReady(); - public abstract void setWriteListener(WriteListener p0); - public void print(String p0){} - public void print(boolean p0){} - public void print(char p0){} - public void print(double p0){} - public void print(float p0){} - public void print(int p0){} - public void print(long p0){} - public void println(){} - public void println(String p0){} - public void println(boolean p0){} - public void println(char p0){} - public void println(double p0){} - public void println(float p0){} - public void println(int p0){} - public void println(long p0){} -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ServletRegistration.java b/java/ql/test/stubs/javax-4.0.1/servlet/ServletRegistration.java deleted file mode 100644 index a1cc66f2d19..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/ServletRegistration.java +++ /dev/null @@ -1,23 +0,0 @@ -// Generated automatically from javax.servlet.ServletRegistration for testing purposes - -package javax.servlet; - -import java.util.Collection; -import java.util.Set; -import javax.servlet.MultipartConfigElement; -import javax.servlet.Registration; -import javax.servlet.ServletSecurityElement; - -public interface ServletRegistration extends Registration -{ - Collection getMappings(); - Set addMapping(String... p0); - String getRunAsRole(); - static public interface Dynamic extends Registration.Dynamic, ServletRegistration - { - Set setServletSecurity(ServletSecurityElement p0); - void setLoadOnStartup(int p0); - void setMultipartConfig(MultipartConfigElement p0); - void setRunAsRole(String p0); - } -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ServletRequest.java b/java/ql/test/stubs/javax-4.0.1/servlet/ServletRequest.java deleted file mode 100644 index fc0db462cc0..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/ServletRequest.java +++ /dev/null @@ -1,55 +0,0 @@ -// Generated automatically from javax.servlet.ServletRequest for testing purposes - -package javax.servlet; - -import java.io.BufferedReader; -import java.util.Enumeration; -import java.util.Locale; -import java.util.Map; -import javax.servlet.AsyncContext; -import javax.servlet.DispatcherType; -import javax.servlet.RequestDispatcher; -import javax.servlet.ServletContext; -import javax.servlet.ServletInputStream; -import javax.servlet.ServletResponse; - -public interface ServletRequest -{ - AsyncContext getAsyncContext(); - AsyncContext startAsync(); - AsyncContext startAsync(ServletRequest p0, ServletResponse p1); - BufferedReader getReader(); - DispatcherType getDispatcherType(); - Enumeration getLocales(); - Enumeration getAttributeNames(); - Enumeration getParameterNames(); - Locale getLocale(); - Map getParameterMap(); - Object getAttribute(String p0); - RequestDispatcher getRequestDispatcher(String p0); - ServletContext getServletContext(); - ServletInputStream getInputStream(); - String getCharacterEncoding(); - String getContentType(); - String getLocalAddr(); - String getLocalName(); - String getParameter(String p0); - String getProtocol(); - String getRealPath(String p0); - String getRemoteAddr(); - String getRemoteHost(); - String getScheme(); - String getServerName(); - String[] getParameterValues(String p0); - boolean isAsyncStarted(); - boolean isAsyncSupported(); - boolean isSecure(); - int getContentLength(); - int getLocalPort(); - int getRemotePort(); - int getServerPort(); - long getContentLengthLong(); - void removeAttribute(String p0); - void setAttribute(String p0, Object p1); - void setCharacterEncoding(String p0); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ServletResponse.java b/java/ql/test/stubs/javax-4.0.1/servlet/ServletResponse.java deleted file mode 100644 index db6610bc15d..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/ServletResponse.java +++ /dev/null @@ -1,27 +0,0 @@ -// Generated automatically from javax.servlet.ServletResponse for testing purposes - -package javax.servlet; - -import java.io.PrintWriter; -import java.util.Locale; -import javax.servlet.ServletOutputStream; - -public interface ServletResponse -{ - Locale getLocale(); - PrintWriter getWriter(); - ServletOutputStream getOutputStream(); - String getCharacterEncoding(); - String getContentType(); - boolean isCommitted(); - int getBufferSize(); - void flushBuffer(); - void reset(); - void resetBuffer(); - void setBufferSize(int p0); - void setCharacterEncoding(String p0); - void setContentLength(int p0); - void setContentLengthLong(long p0); - void setContentType(String p0); - void setLocale(Locale p0); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/ServletSecurityElement.java b/java/ql/test/stubs/javax-4.0.1/servlet/ServletSecurityElement.java deleted file mode 100644 index def47937391..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/ServletSecurityElement.java +++ /dev/null @@ -1,19 +0,0 @@ -// Generated automatically from javax.servlet.ServletSecurityElement for testing purposes - -package javax.servlet; - -import java.util.Collection; -import javax.servlet.HttpConstraintElement; -import javax.servlet.HttpMethodConstraintElement; -import javax.servlet.annotation.ServletSecurity; - -public class ServletSecurityElement extends HttpConstraintElement -{ - public Collection getHttpMethodConstraints(){ return null; } - public Collection getMethodNames(){ return null; } - public ServletSecurityElement(){} - public ServletSecurityElement(Collection p0){} - public ServletSecurityElement(HttpConstraintElement p0){} - public ServletSecurityElement(HttpConstraintElement p0, Collection p1){} - public ServletSecurityElement(ServletSecurity p0){} -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/SessionCookieConfig.java b/java/ql/test/stubs/javax-4.0.1/servlet/SessionCookieConfig.java deleted file mode 100644 index 4cae9a11f30..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/SessionCookieConfig.java +++ /dev/null @@ -1,22 +0,0 @@ -// Generated automatically from javax.servlet.SessionCookieConfig for testing purposes - -package javax.servlet; - - -public interface SessionCookieConfig -{ - String getComment(); - String getDomain(); - String getName(); - String getPath(); - boolean isHttpOnly(); - boolean isSecure(); - int getMaxAge(); - void setComment(String p0); - void setDomain(String p0); - void setHttpOnly(boolean p0); - void setMaxAge(int p0); - void setName(String p0); - void setPath(String p0); - void setSecure(boolean p0); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/SessionTrackingMode.java b/java/ql/test/stubs/javax-4.0.1/servlet/SessionTrackingMode.java deleted file mode 100644 index 684ac40c56f..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/SessionTrackingMode.java +++ /dev/null @@ -1,10 +0,0 @@ -// Generated automatically from javax.servlet.SessionTrackingMode for testing purposes - -package javax.servlet; - - -public enum SessionTrackingMode -{ - COOKIE, SSL, URL; - private SessionTrackingMode() {} -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/WriteListener.java b/java/ql/test/stubs/javax-4.0.1/servlet/WriteListener.java deleted file mode 100644 index 24fe504271c..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/WriteListener.java +++ /dev/null @@ -1,11 +0,0 @@ -// Generated automatically from javax.servlet.WriteListener for testing purposes - -package javax.servlet; - -import java.util.EventListener; - -public interface WriteListener extends EventListener -{ - void onError(Throwable p0); - void onWritePossible(); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/HttpConstraint.java b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/HttpConstraint.java deleted file mode 100644 index f47efc62744..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/HttpConstraint.java +++ /dev/null @@ -1,18 +0,0 @@ -// Generated automatically from javax.servlet.annotation.HttpConstraint for testing purposes - -package javax.servlet.annotation; - -import java.lang.annotation.Annotation; -import java.lang.annotation.Documented; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import javax.servlet.annotation.ServletSecurity; - -@Documented -@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) -public @interface HttpConstraint -{ - ServletSecurity.EmptyRoleSemantic value(); - ServletSecurity.TransportGuarantee transportGuarantee(); - String[] rolesAllowed(); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/HttpMethodConstraint.java b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/HttpMethodConstraint.java deleted file mode 100644 index 288f4651018..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/HttpMethodConstraint.java +++ /dev/null @@ -1,19 +0,0 @@ -// Generated automatically from javax.servlet.annotation.HttpMethodConstraint for testing purposes - -package javax.servlet.annotation; - -import java.lang.annotation.Annotation; -import java.lang.annotation.Documented; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import javax.servlet.annotation.ServletSecurity; - -@Documented -@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) -public @interface HttpMethodConstraint -{ - ServletSecurity.EmptyRoleSemantic emptyRoleSemantic(); - ServletSecurity.TransportGuarantee transportGuarantee(); - String value(); - String[] rolesAllowed(); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/MultipartConfig.java b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/MultipartConfig.java deleted file mode 100644 index baccad3e199..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/MultipartConfig.java +++ /dev/null @@ -1,19 +0,0 @@ -// Generated automatically from javax.servlet.annotation.MultipartConfig for testing purposes - -package javax.servlet.annotation; - -import java.lang.annotation.Annotation; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) -@Target(value={java.lang.annotation.ElementType.TYPE}) -public @interface MultipartConfig -{ - String location(); - int fileSizeThreshold(); - long maxFileSize(); - long maxRequestSize(); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/ServletSecurity.java b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/ServletSecurity.java deleted file mode 100644 index 021b6c64c2a..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/ServletSecurity.java +++ /dev/null @@ -1,33 +0,0 @@ -// Generated automatically from javax.servlet.annotation.ServletSecurity for testing purposes - -package javax.servlet.annotation; - -import java.lang.annotation.Annotation; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import javax.servlet.annotation.HttpConstraint; -import javax.servlet.annotation.HttpMethodConstraint; - -@Documented -@Inherited -@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) -@Target(value={java.lang.annotation.ElementType.TYPE}) -public @interface ServletSecurity -{ - HttpConstraint value(); - HttpMethodConstraint[] httpMethodConstraints(); - static public enum EmptyRoleSemantic - { - DENY, PERMIT; - private EmptyRoleSemantic() {} - } - static public enum TransportGuarantee - { - CONFIDENTIAL, NONE; - private TransportGuarantee() {} - } -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/WebInitParam.java b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/WebInitParam.java deleted file mode 100644 index 513c7d7053b..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/WebInitParam.java +++ /dev/null @@ -1,20 +0,0 @@ -// Generated automatically from javax.servlet.annotation.WebInitParam for testing purposes - -package javax.servlet.annotation; - -import java.lang.annotation.Annotation; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Documented -@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) -@Target(value={java.lang.annotation.ElementType.TYPE}) -public @interface WebInitParam -{ - String description(); - String name(); - String value(); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/WebServlet.java b/java/ql/test/stubs/javax-4.0.1/servlet/annotation/WebServlet.java deleted file mode 100644 index 83b5d2e476a..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/annotation/WebServlet.java +++ /dev/null @@ -1,28 +0,0 @@ -// Generated automatically from javax.servlet.annotation.WebServlet for testing purposes - -package javax.servlet.annotation; - -import java.lang.annotation.Annotation; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import javax.servlet.annotation.WebInitParam; - -@Documented -@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) -@Target(value={java.lang.annotation.ElementType.TYPE}) -public @interface WebServlet -{ - String description(); - String displayName(); - String largeIcon(); - String name(); - String smallIcon(); - String[] urlPatterns(); - String[] value(); - WebInitParam[] initParams(); - boolean asyncSupported(); - int loadOnStartup(); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/JspConfigDescriptor.java b/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/JspConfigDescriptor.java deleted file mode 100644 index 8d93a4318d7..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/JspConfigDescriptor.java +++ /dev/null @@ -1,13 +0,0 @@ -// Generated automatically from javax.servlet.descriptor.JspConfigDescriptor for testing purposes - -package javax.servlet.descriptor; - -import java.util.Collection; -import javax.servlet.descriptor.JspPropertyGroupDescriptor; -import javax.servlet.descriptor.TaglibDescriptor; - -public interface JspConfigDescriptor -{ - Collection getJspPropertyGroups(); - Collection getTaglibs(); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/JspPropertyGroupDescriptor.java b/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/JspPropertyGroupDescriptor.java deleted file mode 100644 index dd852fa1088..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/JspPropertyGroupDescriptor.java +++ /dev/null @@ -1,21 +0,0 @@ -// Generated automatically from javax.servlet.descriptor.JspPropertyGroupDescriptor for testing purposes - -package javax.servlet.descriptor; - -import java.util.Collection; - -public interface JspPropertyGroupDescriptor -{ - Collection getIncludeCodas(); - Collection getIncludePreludes(); - Collection getUrlPatterns(); - String getBuffer(); - String getDefaultContentType(); - String getDeferredSyntaxAllowedAsLiteral(); - String getElIgnored(); - String getErrorOnUndeclaredNamespace(); - String getIsXml(); - String getPageEncoding(); - String getScriptingInvalid(); - String getTrimDirectiveWhitespaces(); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/TaglibDescriptor.java b/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/TaglibDescriptor.java deleted file mode 100644 index c3dd5c10473..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/descriptor/TaglibDescriptor.java +++ /dev/null @@ -1,10 +0,0 @@ -// Generated automatically from javax.servlet.descriptor.TaglibDescriptor for testing purposes - -package javax.servlet.descriptor; - - -public interface TaglibDescriptor -{ - String getTaglibLocation(); - String getTaglibURI(); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/Cookie.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/Cookie.java deleted file mode 100644 index b5a180029be..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/http/Cookie.java +++ /dev/null @@ -1,29 +0,0 @@ -// Generated automatically from javax.servlet.http.Cookie for testing purposes - -package javax.servlet.http; - -import java.io.Serializable; - -public class Cookie implements Cloneable, Serializable -{ - protected Cookie() {} - public Cookie(String p0, String p1){} - public Object clone(){ return null; } - public String getComment(){ return null; } - public String getDomain(){ return null; } - public String getName(){ return null; } - public String getPath(){ return null; } - public String getValue(){ return null; } - public boolean getSecure(){ return false; } - public boolean isHttpOnly(){ return false; } - public int getMaxAge(){ return 0; } - public int getVersion(){ return 0; } - public void setComment(String p0){} - public void setDomain(String p0){} - public void setHttpOnly(boolean p0){} - public void setMaxAge(int p0){} - public void setPath(String p0){} - public void setSecure(boolean p0){} - public void setValue(String p0){} - public void setVersion(int p0){} -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServlet.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServlet.java deleted file mode 100644 index 1247f956d78..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServlet.java +++ /dev/null @@ -1,24 +0,0 @@ -// Generated automatically from javax.servlet.http.HttpServlet for testing purposes - -package javax.servlet.http; - -import javax.servlet.GenericServlet; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -abstract public class HttpServlet extends GenericServlet -{ - protected long getLastModified(HttpServletRequest p0){ return 0; } - protected void doDelete(HttpServletRequest p0, HttpServletResponse p1){} - protected void doGet(HttpServletRequest p0, HttpServletResponse p1){} - protected void doHead(HttpServletRequest p0, HttpServletResponse p1){} - protected void doOptions(HttpServletRequest p0, HttpServletResponse p1){} - protected void doPost(HttpServletRequest p0, HttpServletResponse p1){} - protected void doPut(HttpServletRequest p0, HttpServletResponse p1){} - protected void doTrace(HttpServletRequest p0, HttpServletResponse p1){} - protected void service(HttpServletRequest p0, HttpServletResponse p1){} - public HttpServlet(){} - public void service(ServletRequest p0, ServletResponse p1){} -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletMapping.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletMapping.java deleted file mode 100644 index 1b597f27773..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletMapping.java +++ /dev/null @@ -1,13 +0,0 @@ -// Generated automatically from javax.servlet.http.HttpServletMapping for testing purposes - -package javax.servlet.http; - -import javax.servlet.http.MappingMatch; - -public interface HttpServletMapping -{ - MappingMatch getMappingMatch(); - String getMatchValue(); - String getPattern(); - String getServletName(); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletRequest.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletRequest.java deleted file mode 100644 index 8612c34fb69..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletRequest.java +++ /dev/null @@ -1,60 +0,0 @@ -// Generated automatically from javax.servlet.http.HttpServletRequest for testing purposes - -package javax.servlet.http; - -import java.security.Principal; -import java.util.Collection; -import java.util.Enumeration; -import java.util.Map; -import javax.servlet.ServletRequest; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServletMapping; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; -import javax.servlet.http.HttpUpgradeHandler; -import javax.servlet.http.Part; -import javax.servlet.http.PushBuilder; - -public interface HttpServletRequest extends ServletRequest -{ - T upgrade(java.lang.Class p0); - Collection getParts(); - Cookie[] getCookies(); - Enumeration getHeaderNames(); - Enumeration getHeaders(String p0); - HttpSession getSession(); - HttpSession getSession(boolean p0); - Part getPart(String p0); - Principal getUserPrincipal(); - String changeSessionId(); - String getAuthType(); - String getContextPath(); - String getHeader(String p0); - String getMethod(); - String getPathInfo(); - String getPathTranslated(); - String getQueryString(); - String getRemoteUser(); - String getRequestURI(); - String getRequestedSessionId(); - String getServletPath(); - StringBuffer getRequestURL(); - boolean authenticate(HttpServletResponse p0); - boolean isRequestedSessionIdFromCookie(); - boolean isRequestedSessionIdFromURL(); - boolean isRequestedSessionIdFromUrl(); - boolean isRequestedSessionIdValid(); - boolean isUserInRole(String p0); - default HttpServletMapping getHttpServletMapping(){ return null; } - default Map getTrailerFields(){ return null; } - default PushBuilder newPushBuilder(){ return null; } - default boolean isTrailerFieldsReady(){ return false; } - int getIntHeader(String p0); - long getDateHeader(String p0); - static String BASIC_AUTH = null; - static String CLIENT_CERT_AUTH = null; - static String DIGEST_AUTH = null; - static String FORM_AUTH = null; - void login(String p0, String p1); - void logout(); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletResponse.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletResponse.java deleted file mode 100644 index da902dbf30c..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpServletResponse.java +++ /dev/null @@ -1,77 +0,0 @@ -// Generated automatically from javax.servlet.http.HttpServletResponse for testing purposes - -package javax.servlet.http; - -import java.util.Collection; -import java.util.Map; -import java.util.function.Supplier; -import javax.servlet.ServletResponse; -import javax.servlet.http.Cookie; - -public interface HttpServletResponse extends ServletResponse -{ - Collection getHeaderNames(); - Collection getHeaders(String p0); - String encodeRedirectURL(String p0); - String encodeRedirectUrl(String p0); - String encodeURL(String p0); - String encodeUrl(String p0); - String getHeader(String p0); - boolean containsHeader(String p0); - default Supplier> getTrailerFields(){ return null; } - default void setTrailerFields(Supplier> p0){} - int getStatus(); - static int SC_ACCEPTED = 0; - static int SC_BAD_GATEWAY = 0; - static int SC_BAD_REQUEST = 0; - static int SC_CONFLICT = 0; - static int SC_CONTINUE = 0; - static int SC_CREATED = 0; - static int SC_EXPECTATION_FAILED = 0; - static int SC_FORBIDDEN = 0; - static int SC_FOUND = 0; - static int SC_GATEWAY_TIMEOUT = 0; - static int SC_GONE = 0; - static int SC_HTTP_VERSION_NOT_SUPPORTED = 0; - static int SC_INTERNAL_SERVER_ERROR = 0; - static int SC_LENGTH_REQUIRED = 0; - static int SC_METHOD_NOT_ALLOWED = 0; - static int SC_MOVED_PERMANENTLY = 0; - static int SC_MOVED_TEMPORARILY = 0; - static int SC_MULTIPLE_CHOICES = 0; - static int SC_NON_AUTHORITATIVE_INFORMATION = 0; - static int SC_NOT_ACCEPTABLE = 0; - static int SC_NOT_FOUND = 0; - static int SC_NOT_IMPLEMENTED = 0; - static int SC_NOT_MODIFIED = 0; - static int SC_NO_CONTENT = 0; - static int SC_OK = 0; - static int SC_PARTIAL_CONTENT = 0; - static int SC_PAYMENT_REQUIRED = 0; - static int SC_PRECONDITION_FAILED = 0; - static int SC_PROXY_AUTHENTICATION_REQUIRED = 0; - static int SC_REQUESTED_RANGE_NOT_SATISFIABLE = 0; - static int SC_REQUEST_ENTITY_TOO_LARGE = 0; - static int SC_REQUEST_TIMEOUT = 0; - static int SC_REQUEST_URI_TOO_LONG = 0; - static int SC_RESET_CONTENT = 0; - static int SC_SEE_OTHER = 0; - static int SC_SERVICE_UNAVAILABLE = 0; - static int SC_SWITCHING_PROTOCOLS = 0; - static int SC_TEMPORARY_REDIRECT = 0; - static int SC_UNAUTHORIZED = 0; - static int SC_UNSUPPORTED_MEDIA_TYPE = 0; - static int SC_USE_PROXY = 0; - void addCookie(Cookie p0); - void addDateHeader(String p0, long p1); - void addHeader(String p0, String p1); - void addIntHeader(String p0, int p1); - void sendError(int p0); - void sendError(int p0, String p1); - void sendRedirect(String p0); - void setDateHeader(String p0, long p1); - void setHeader(String p0, String p1); - void setIntHeader(String p0, int p1); - void setStatus(int p0); - void setStatus(int p0, String p1); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpSession.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpSession.java deleted file mode 100644 index f8f455b1423..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpSession.java +++ /dev/null @@ -1,28 +0,0 @@ -// Generated automatically from javax.servlet.http.HttpSession for testing purposes - -package javax.servlet.http; - -import java.util.Enumeration; -import javax.servlet.ServletContext; -import javax.servlet.http.HttpSessionContext; - -public interface HttpSession -{ - Enumeration getAttributeNames(); - HttpSessionContext getSessionContext(); - Object getAttribute(String p0); - Object getValue(String p0); - ServletContext getServletContext(); - String getId(); - String[] getValueNames(); - boolean isNew(); - int getMaxInactiveInterval(); - long getCreationTime(); - long getLastAccessedTime(); - void invalidate(); - void putValue(String p0, Object p1); - void removeAttribute(String p0); - void removeValue(String p0); - void setAttribute(String p0, Object p1); - void setMaxInactiveInterval(int p0); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpSessionContext.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpSessionContext.java deleted file mode 100644 index 97a77b48358..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpSessionContext.java +++ /dev/null @@ -1,12 +0,0 @@ -// Generated automatically from javax.servlet.http.HttpSessionContext for testing purposes - -package javax.servlet.http; - -import java.util.Enumeration; -import javax.servlet.http.HttpSession; - -public interface HttpSessionContext -{ - Enumeration getIds(); - HttpSession getSession(String p0); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpUpgradeHandler.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpUpgradeHandler.java deleted file mode 100644 index 987d49dbde2..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/http/HttpUpgradeHandler.java +++ /dev/null @@ -1,11 +0,0 @@ -// Generated automatically from javax.servlet.http.HttpUpgradeHandler for testing purposes - -package javax.servlet.http; - -import javax.servlet.http.WebConnection; - -public interface HttpUpgradeHandler -{ - void destroy(); - void init(WebConnection p0); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/MappingMatch.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/MappingMatch.java deleted file mode 100644 index 0432fd2ef7d..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/http/MappingMatch.java +++ /dev/null @@ -1,10 +0,0 @@ -// Generated automatically from javax.servlet.http.MappingMatch for testing purposes - -package javax.servlet.http; - - -public enum MappingMatch -{ - CONTEXT_ROOT, DEFAULT, EXACT, EXTENSION, PATH; - private MappingMatch() {} -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/Part.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/Part.java deleted file mode 100644 index a4e599748a5..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/http/Part.java +++ /dev/null @@ -1,20 +0,0 @@ -// Generated automatically from javax.servlet.http.Part for testing purposes - -package javax.servlet.http; - -import java.io.InputStream; -import java.util.Collection; - -public interface Part -{ - Collection getHeaderNames(); - Collection getHeaders(String p0); - InputStream getInputStream(); - String getContentType(); - String getHeader(String p0); - String getName(); - String getSubmittedFileName(); - long getSize(); - void delete(); - void write(String p0); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/PushBuilder.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/PushBuilder.java deleted file mode 100644 index 195e2426a83..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/http/PushBuilder.java +++ /dev/null @@ -1,23 +0,0 @@ -// Generated automatically from javax.servlet.http.PushBuilder for testing purposes - -package javax.servlet.http; - -import java.util.Set; - -public interface PushBuilder -{ - PushBuilder addHeader(String p0, String p1); - PushBuilder method(String p0); - PushBuilder path(String p0); - PushBuilder queryString(String p0); - PushBuilder removeHeader(String p0); - PushBuilder sessionId(String p0); - PushBuilder setHeader(String p0, String p1); - Set getHeaderNames(); - String getHeader(String p0); - String getMethod(); - String getPath(); - String getQueryString(); - String getSessionId(); - void push(); -} diff --git a/java/ql/test/stubs/javax-4.0.1/servlet/http/WebConnection.java b/java/ql/test/stubs/javax-4.0.1/servlet/http/WebConnection.java deleted file mode 100644 index 5001c046400..00000000000 --- a/java/ql/test/stubs/javax-4.0.1/servlet/http/WebConnection.java +++ /dev/null @@ -1,12 +0,0 @@ -// Generated automatically from javax.servlet.http.WebConnection for testing purposes - -package javax.servlet.http; - -import javax.servlet.ServletInputStream; -import javax.servlet.ServletOutputStream; - -public interface WebConnection extends AutoCloseable -{ - ServletInputStream getInputStream(); - ServletOutputStream getOutputStream(); -} From 142d7ae005dd9e82f47e89cd0402408ccef7f678 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Fri, 19 Jul 2024 11:01:55 +0100 Subject: [PATCH 007/258] Make test compatible with Servlet 2.5; use old Servlet stubs --- .../security/CWE-347/JwtNoVerifier.java | 5 +- .../query-tests/security/CWE-347/options | 2 +- .../javax/crypto/KeyGenerator.java | 26 ------ .../javax/crypto/KeyGeneratorSpi.java | 16 ---- .../javax/crypto/SecretKey.java | 11 --- .../javax/security/auth/Destroyable.java | 10 --- .../javax/servlet/AsyncContext.java | 31 ------- .../javax/servlet/AsyncEvent.java | 20 ----- .../javax/servlet/AsyncListener.java | 14 ---- .../javax/servlet/DispatcherType.java | 10 --- .../javax/servlet/Filter.java | 15 ---- .../javax/servlet/FilterChain.java | 11 --- .../javax/servlet/FilterConfig.java | 14 ---- .../javax/servlet/FilterRegistration.java | 19 ----- .../javax/servlet/GenericServlet.java | 28 ------- .../javax/servlet/HttpConstraintElement.java | 16 ---- .../servlet/HttpMethodConstraintElement.java | 13 --- .../javax/servlet/MultipartConfigElement.java | 17 ---- .../javax/servlet/ReadListener.java | 12 --- .../javax/servlet/Registration.java | 20 ----- .../javax/servlet/RequestDispatcher.java | 30 ------- .../javax/servlet/Servlet.java | 16 ---- .../javax/servlet/ServletConfig.java | 14 ---- .../javax/servlet/ServletContext.java | 83 ------------------- .../javax/servlet/ServletInputStream.java | 15 ---- .../javax/servlet/ServletOutputStream.java | 28 ------- .../javax/servlet/ServletRegistration.java | 23 ----- .../javax/servlet/ServletRequest.java | 55 ------------ .../javax/servlet/ServletResponse.java | 27 ------ .../javax/servlet/ServletSecurityElement.java | 19 ----- .../javax/servlet/SessionCookieConfig.java | 22 ----- .../javax/servlet/SessionTrackingMode.java | 10 --- .../javax/servlet/WriteListener.java | 11 --- .../servlet/annotation/HttpConstraint.java | 18 ---- .../annotation/HttpMethodConstraint.java | 19 ----- .../servlet/annotation/MultipartConfig.java | 19 ----- .../servlet/annotation/ServletSecurity.java | 33 -------- .../servlet/annotation/WebInitParam.java | 20 ----- .../javax/servlet/annotation/WebServlet.java | 28 ------- .../descriptor/JspConfigDescriptor.java | 13 --- .../JspPropertyGroupDescriptor.java | 21 ----- .../servlet/descriptor/TaglibDescriptor.java | 10 --- .../javax/servlet/http/Cookie.java | 29 ------- .../javax/servlet/http/HttpServlet.java | 46 ---------- .../servlet/http/HttpServletMapping.java | 13 --- .../servlet/http/HttpServletRequest.java | 60 -------------- .../servlet/http/HttpServletResponse.java | 77 ----------------- .../javax/servlet/http/HttpSession.java | 28 ------- .../servlet/http/HttpSessionContext.java | 12 --- .../servlet/http/HttpUpgradeHandler.java | 11 --- .../javax/servlet/http/MappingMatch.java | 10 --- .../javax/servlet/http/Part.java | 20 ----- .../javax/servlet/http/PushBuilder.java | 23 ----- .../javax/servlet/http/WebConnection.java | 12 --- 54 files changed, 3 insertions(+), 1182 deletions(-) delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/KeyGenerator.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/KeyGeneratorSpi.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/SecretKey.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/security/auth/Destroyable.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncContext.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncEvent.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncListener.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/DispatcherType.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Filter.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterChain.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterConfig.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterRegistration.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/GenericServlet.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/HttpConstraintElement.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/HttpMethodConstraintElement.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/MultipartConfigElement.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ReadListener.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Registration.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/RequestDispatcher.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Servlet.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletConfig.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletContext.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletInputStream.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletOutputStream.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletRegistration.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletRequest.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletResponse.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletSecurityElement.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/SessionCookieConfig.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/SessionTrackingMode.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/WriteListener.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/HttpConstraint.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/HttpMethodConstraint.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/MultipartConfig.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/ServletSecurity.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/WebInitParam.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/WebServlet.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/JspConfigDescriptor.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/JspPropertyGroupDescriptor.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/TaglibDescriptor.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/Cookie.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServlet.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletMapping.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletRequest.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletResponse.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpSession.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpSessionContext.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpUpgradeHandler.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/MappingMatch.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/Part.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/PushBuilder.java delete mode 100644 java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/WebConnection.java diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/JwtNoVerifier.java b/java/ql/test/experimental/query-tests/security/CWE-347/JwtNoVerifier.java index 876c9c5b1c8..572be9e4c0c 100644 --- a/java/ql/test/experimental/query-tests/security/CWE-347/JwtNoVerifier.java +++ b/java/ql/test/experimental/query-tests/security/CWE-347/JwtNoVerifier.java @@ -12,10 +12,9 @@ import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.exceptions.JWTVerificationException; import com.auth0.jwt.interfaces.DecodedJWT; -@WebServlet(description = "", displayName = "", largeIcon = "", name = "JwtTest1", smallIcon = "", urlPatterns = {}, value = "/Auth", initParams = {}, asyncSupported = false, loadOnStartup = 0) public class JwtNoVerifier extends HttpServlet { - public void doPost(HttpServletRequest request, HttpServletResponse response) { + public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); @@ -35,7 +34,7 @@ public class JwtNoVerifier extends HttpServlet { out.println(""); } - public void doGet(HttpServletRequest request, HttpServletResponse response) { + public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/options b/java/ql/test/experimental/query-tests/security/CWE-347/options index f18d5929e9e..c83d38c3d09 100644 --- a/java/ql/test/experimental/query-tests/security/CWE-347/options +++ b/java/ql/test/experimental/query-tests/security/CWE-347/options @@ -1 +1 @@ -//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/auth0-java-jwt-4.4.0:${testdir}/../../../stubs/javax.servlet-api-4.0.1 \ No newline at end of file +//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/auth0-java-jwt-4.4.0:${testdir}/../../../../stubs/javax-servlet-2.5 diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/KeyGenerator.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/KeyGenerator.java deleted file mode 100644 index d133ee2f49b..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/KeyGenerator.java +++ /dev/null @@ -1,26 +0,0 @@ -// Generated automatically from javax.crypto.KeyGenerator for testing purposes - -package javax.crypto; - -import java.security.Provider; -import java.security.SecureRandom; -import java.security.spec.AlgorithmParameterSpec; -import javax.crypto.KeyGeneratorSpi; -import javax.crypto.SecretKey; - -public class KeyGenerator -{ - protected KeyGenerator() {} - protected KeyGenerator(KeyGeneratorSpi p0, Provider p1, String p2){} - public final Provider getProvider(){ return null; } - public final SecretKey generateKey(){ return null; } - public final String getAlgorithm(){ return null; } - public final void init(AlgorithmParameterSpec p0){} - public final void init(AlgorithmParameterSpec p0, SecureRandom p1){} - public final void init(SecureRandom p0){} - public final void init(int p0){} - public final void init(int p0, SecureRandom p1){} - public static KeyGenerator getInstance(String p0){ return null; } - public static KeyGenerator getInstance(String p0, Provider p1){ return null; } - public static KeyGenerator getInstance(String p0, String p1){ return null; } -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/KeyGeneratorSpi.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/KeyGeneratorSpi.java deleted file mode 100644 index aba2623123a..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/KeyGeneratorSpi.java +++ /dev/null @@ -1,16 +0,0 @@ -// Generated automatically from javax.crypto.KeyGeneratorSpi for testing purposes - -package javax.crypto; - -import java.security.SecureRandom; -import java.security.spec.AlgorithmParameterSpec; -import javax.crypto.SecretKey; - -abstract public class KeyGeneratorSpi -{ - protected abstract SecretKey engineGenerateKey(); - protected abstract void engineInit(AlgorithmParameterSpec p0, SecureRandom p1); - protected abstract void engineInit(SecureRandom p0); - protected abstract void engineInit(int p0, SecureRandom p1); - public KeyGeneratorSpi(){} -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/SecretKey.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/SecretKey.java deleted file mode 100644 index 88c9e4539ba..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/crypto/SecretKey.java +++ /dev/null @@ -1,11 +0,0 @@ -// Generated automatically from javax.crypto.SecretKey for testing purposes - -package javax.crypto; - -import java.security.Key; -import javax.security.auth.Destroyable; - -public interface SecretKey extends Destroyable, Key -{ - static long serialVersionUID = 0; -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/security/auth/Destroyable.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/security/auth/Destroyable.java deleted file mode 100644 index 979ca409ba6..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/security/auth/Destroyable.java +++ /dev/null @@ -1,10 +0,0 @@ -// Generated automatically from javax.security.auth.Destroyable for testing purposes - -package javax.security.auth; - - -public interface Destroyable -{ - default boolean isDestroyed(){ return false; } - default void destroy(){} -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncContext.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncContext.java deleted file mode 100644 index 70a39f55ac9..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncContext.java +++ /dev/null @@ -1,31 +0,0 @@ -// Generated automatically from javax.servlet.AsyncContext for testing purposes - -package javax.servlet; - -import javax.servlet.AsyncListener; -import javax.servlet.ServletContext; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -public interface AsyncContext -{ - T createListener(java.lang.Class p0); - ServletRequest getRequest(); - ServletResponse getResponse(); - boolean hasOriginalRequestAndResponse(); - long getTimeout(); - static String ASYNC_CONTEXT_PATH = null; - static String ASYNC_MAPPING = null; - static String ASYNC_PATH_INFO = null; - static String ASYNC_QUERY_STRING = null; - static String ASYNC_REQUEST_URI = null; - static String ASYNC_SERVLET_PATH = null; - void addListener(AsyncListener p0); - void addListener(AsyncListener p0, ServletRequest p1, ServletResponse p2); - void complete(); - void dispatch(); - void dispatch(ServletContext p0, String p1); - void dispatch(String p0); - void setTimeout(long p0); - void start(Runnable p0); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncEvent.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncEvent.java deleted file mode 100644 index d7cb9c2b175..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncEvent.java +++ /dev/null @@ -1,20 +0,0 @@ -// Generated automatically from javax.servlet.AsyncEvent for testing purposes - -package javax.servlet; - -import javax.servlet.AsyncContext; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -public class AsyncEvent -{ - protected AsyncEvent() {} - public AsyncContext getAsyncContext(){ return null; } - public AsyncEvent(AsyncContext p0){} - public AsyncEvent(AsyncContext p0, ServletRequest p1, ServletResponse p2){} - public AsyncEvent(AsyncContext p0, ServletRequest p1, ServletResponse p2, Throwable p3){} - public AsyncEvent(AsyncContext p0, Throwable p1){} - public ServletRequest getSuppliedRequest(){ return null; } - public ServletResponse getSuppliedResponse(){ return null; } - public Throwable getThrowable(){ return null; } -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncListener.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncListener.java deleted file mode 100644 index 2723482f668..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/AsyncListener.java +++ /dev/null @@ -1,14 +0,0 @@ -// Generated automatically from javax.servlet.AsyncListener for testing purposes - -package javax.servlet; - -import java.util.EventListener; -import javax.servlet.AsyncEvent; - -public interface AsyncListener extends EventListener -{ - void onComplete(AsyncEvent p0); - void onError(AsyncEvent p0); - void onStartAsync(AsyncEvent p0); - void onTimeout(AsyncEvent p0); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/DispatcherType.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/DispatcherType.java deleted file mode 100644 index 2b7b44f328d..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/DispatcherType.java +++ /dev/null @@ -1,10 +0,0 @@ -// Generated automatically from javax.servlet.DispatcherType for testing purposes - -package javax.servlet; - - -public enum DispatcherType -{ - ASYNC, ERROR, FORWARD, INCLUDE, REQUEST; - private DispatcherType() {} -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Filter.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Filter.java deleted file mode 100644 index 64b9f9d73a8..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Filter.java +++ /dev/null @@ -1,15 +0,0 @@ -// Generated automatically from javax.servlet.Filter for testing purposes - -package javax.servlet; - -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -public interface Filter -{ - default void destroy(){} - default void init(FilterConfig p0){} - void doFilter(ServletRequest p0, ServletResponse p1, FilterChain p2); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterChain.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterChain.java deleted file mode 100644 index f64ab722684..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterChain.java +++ /dev/null @@ -1,11 +0,0 @@ -// Generated automatically from javax.servlet.FilterChain for testing purposes - -package javax.servlet; - -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -public interface FilterChain -{ - void doFilter(ServletRequest p0, ServletResponse p1); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterConfig.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterConfig.java deleted file mode 100644 index 0e140c6680c..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterConfig.java +++ /dev/null @@ -1,14 +0,0 @@ -// Generated automatically from javax.servlet.FilterConfig for testing purposes - -package javax.servlet; - -import java.util.Enumeration; -import javax.servlet.ServletContext; - -public interface FilterConfig -{ - Enumeration getInitParameterNames(); - ServletContext getServletContext(); - String getFilterName(); - String getInitParameter(String p0); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterRegistration.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterRegistration.java deleted file mode 100644 index 6ad0739ceb6..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/FilterRegistration.java +++ /dev/null @@ -1,19 +0,0 @@ -// Generated automatically from javax.servlet.FilterRegistration for testing purposes - -package javax.servlet; - -import java.util.Collection; -import java.util.EnumSet; -import javax.servlet.DispatcherType; -import javax.servlet.Registration; - -public interface FilterRegistration extends Registration -{ - Collection getServletNameMappings(); - Collection getUrlPatternMappings(); - static public interface Dynamic extends FilterRegistration, Registration.Dynamic - { - } - void addMappingForServletNames(EnumSet p0, boolean p1, String... p2); - void addMappingForUrlPatterns(EnumSet p0, boolean p1, String... p2); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/GenericServlet.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/GenericServlet.java deleted file mode 100644 index 5f7bdcda487..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/GenericServlet.java +++ /dev/null @@ -1,28 +0,0 @@ -// Generated automatically from javax.servlet.GenericServlet for testing purposes - -package javax.servlet; - -import java.io.Serializable; -import java.util.Enumeration; -import javax.servlet.Servlet; -import javax.servlet.ServletConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -abstract public class GenericServlet implements Serializable, Servlet, ServletConfig -{ - public Enumeration getInitParameterNames(){ return null; } - public GenericServlet(){} - public ServletConfig getServletConfig(){ return null; } - public ServletContext getServletContext(){ return null; } - public String getInitParameter(String p0){ return null; } - public String getServletInfo(){ return null; } - public String getServletName(){ return null; } - public abstract void service(ServletRequest p0, ServletResponse p1); - public void destroy(){} - public void init(){} - public void init(ServletConfig p0){} - public void log(String p0){} - public void log(String p0, Throwable p1){} -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/HttpConstraintElement.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/HttpConstraintElement.java deleted file mode 100644 index 6598aa47cc5..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/HttpConstraintElement.java +++ /dev/null @@ -1,16 +0,0 @@ -// Generated automatically from javax.servlet.HttpConstraintElement for testing purposes - -package javax.servlet; - -import javax.servlet.annotation.ServletSecurity; - -public class HttpConstraintElement -{ - public HttpConstraintElement(){} - public HttpConstraintElement(ServletSecurity.EmptyRoleSemantic p0){} - public HttpConstraintElement(ServletSecurity.EmptyRoleSemantic p0, ServletSecurity.TransportGuarantee p1, String... p2){} - public HttpConstraintElement(ServletSecurity.TransportGuarantee p0, String... p1){} - public ServletSecurity.EmptyRoleSemantic getEmptyRoleSemantic(){ return null; } - public ServletSecurity.TransportGuarantee getTransportGuarantee(){ return null; } - public String[] getRolesAllowed(){ return null; } -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/HttpMethodConstraintElement.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/HttpMethodConstraintElement.java deleted file mode 100644 index ddb52527004..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/HttpMethodConstraintElement.java +++ /dev/null @@ -1,13 +0,0 @@ -// Generated automatically from javax.servlet.HttpMethodConstraintElement for testing purposes - -package javax.servlet; - -import javax.servlet.HttpConstraintElement; - -public class HttpMethodConstraintElement extends HttpConstraintElement -{ - protected HttpMethodConstraintElement() {} - public HttpMethodConstraintElement(String p0){} - public HttpMethodConstraintElement(String p0, HttpConstraintElement p1){} - public String getMethodName(){ return null; } -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/MultipartConfigElement.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/MultipartConfigElement.java deleted file mode 100644 index 8470d9a5317..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/MultipartConfigElement.java +++ /dev/null @@ -1,17 +0,0 @@ -// Generated automatically from javax.servlet.MultipartConfigElement for testing purposes - -package javax.servlet; - -import javax.servlet.annotation.MultipartConfig; - -public class MultipartConfigElement -{ - protected MultipartConfigElement() {} - public MultipartConfigElement(MultipartConfig p0){} - public MultipartConfigElement(String p0){} - public MultipartConfigElement(String p0, long p1, long p2, int p3){} - public String getLocation(){ return null; } - public int getFileSizeThreshold(){ return 0; } - public long getMaxFileSize(){ return 0; } - public long getMaxRequestSize(){ return 0; } -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ReadListener.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ReadListener.java deleted file mode 100644 index 367594ef7da..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ReadListener.java +++ /dev/null @@ -1,12 +0,0 @@ -// Generated automatically from javax.servlet.ReadListener for testing purposes - -package javax.servlet; - -import java.util.EventListener; - -public interface ReadListener extends EventListener -{ - void onAllDataRead(); - void onDataAvailable(); - void onError(Throwable p0); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Registration.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Registration.java deleted file mode 100644 index 5d4095813ef..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Registration.java +++ /dev/null @@ -1,20 +0,0 @@ -// Generated automatically from javax.servlet.Registration for testing purposes - -package javax.servlet; - -import java.util.Map; -import java.util.Set; - -public interface Registration -{ - Map getInitParameters(); - Set setInitParameters(Map p0); - String getClassName(); - String getInitParameter(String p0); - String getName(); - boolean setInitParameter(String p0, String p1); - static public interface Dynamic extends Registration - { - void setAsyncSupported(boolean p0); - } -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/RequestDispatcher.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/RequestDispatcher.java deleted file mode 100644 index ad017e4f501..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/RequestDispatcher.java +++ /dev/null @@ -1,30 +0,0 @@ -// Generated automatically from javax.servlet.RequestDispatcher for testing purposes - -package javax.servlet; - -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -public interface RequestDispatcher -{ - static String ERROR_EXCEPTION = null; - static String ERROR_EXCEPTION_TYPE = null; - static String ERROR_MESSAGE = null; - static String ERROR_REQUEST_URI = null; - static String ERROR_SERVLET_NAME = null; - static String ERROR_STATUS_CODE = null; - static String FORWARD_CONTEXT_PATH = null; - static String FORWARD_MAPPING = null; - static String FORWARD_PATH_INFO = null; - static String FORWARD_QUERY_STRING = null; - static String FORWARD_REQUEST_URI = null; - static String FORWARD_SERVLET_PATH = null; - static String INCLUDE_CONTEXT_PATH = null; - static String INCLUDE_MAPPING = null; - static String INCLUDE_PATH_INFO = null; - static String INCLUDE_QUERY_STRING = null; - static String INCLUDE_REQUEST_URI = null; - static String INCLUDE_SERVLET_PATH = null; - void forward(ServletRequest p0, ServletResponse p1); - void include(ServletRequest p0, ServletResponse p1); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Servlet.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Servlet.java deleted file mode 100644 index 231c011a6f8..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/Servlet.java +++ /dev/null @@ -1,16 +0,0 @@ -// Generated automatically from javax.servlet.Servlet for testing purposes - -package javax.servlet; - -import javax.servlet.ServletConfig; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -public interface Servlet -{ - ServletConfig getServletConfig(); - String getServletInfo(); - void destroy(); - void init(ServletConfig p0); - void service(ServletRequest p0, ServletResponse p1); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletConfig.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletConfig.java deleted file mode 100644 index c483c16ac4e..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletConfig.java +++ /dev/null @@ -1,14 +0,0 @@ -// Generated automatically from javax.servlet.ServletConfig for testing purposes - -package javax.servlet; - -import java.util.Enumeration; -import javax.servlet.ServletContext; - -public interface ServletConfig -{ - Enumeration getInitParameterNames(); - ServletContext getServletContext(); - String getInitParameter(String p0); - String getServletName(); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletContext.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletContext.java deleted file mode 100644 index 812393f61e9..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletContext.java +++ /dev/null @@ -1,83 +0,0 @@ -// Generated automatically from javax.servlet.ServletContext for testing purposes - -package javax.servlet; - -import java.io.InputStream; -import java.net.URL; -import java.util.Enumeration; -import java.util.EventListener; -import java.util.Map; -import java.util.Set; -import javax.servlet.Filter; -import javax.servlet.FilterRegistration; -import javax.servlet.RequestDispatcher; -import javax.servlet.Servlet; -import javax.servlet.ServletRegistration; -import javax.servlet.SessionCookieConfig; -import javax.servlet.SessionTrackingMode; -import javax.servlet.descriptor.JspConfigDescriptor; - -public interface ServletContext -{ - T createListener(java.lang.Class p0); - void addListener(T p0); - T createFilter(java.lang.Class p0); - T createServlet(java.lang.Class p0); - ClassLoader getClassLoader(); - Enumeration getServlets(); - Enumeration getAttributeNames(); - Enumeration getInitParameterNames(); - Enumeration getServletNames(); - FilterRegistration getFilterRegistration(String p0); - FilterRegistration.Dynamic addFilter(String p0, Class p1); - FilterRegistration.Dynamic addFilter(String p0, Filter p1); - FilterRegistration.Dynamic addFilter(String p0, String p1); - InputStream getResourceAsStream(String p0); - JspConfigDescriptor getJspConfigDescriptor(); - Map getFilterRegistrations(); - Map getServletRegistrations(); - Object getAttribute(String p0); - RequestDispatcher getNamedDispatcher(String p0); - RequestDispatcher getRequestDispatcher(String p0); - Servlet getServlet(String p0); - ServletContext getContext(String p0); - ServletRegistration getServletRegistration(String p0); - ServletRegistration.Dynamic addJspFile(String p0, String p1); - ServletRegistration.Dynamic addServlet(String p0, Class p1); - ServletRegistration.Dynamic addServlet(String p0, Servlet p1); - ServletRegistration.Dynamic addServlet(String p0, String p1); - SessionCookieConfig getSessionCookieConfig(); - Set getDefaultSessionTrackingModes(); - Set getEffectiveSessionTrackingModes(); - Set getResourcePaths(String p0); - String getContextPath(); - String getInitParameter(String p0); - String getMimeType(String p0); - String getRealPath(String p0); - String getRequestCharacterEncoding(); - String getResponseCharacterEncoding(); - String getServerInfo(); - String getServletContextName(); - String getVirtualServerName(); - URL getResource(String p0); - boolean setInitParameter(String p0, String p1); - int getEffectiveMajorVersion(); - int getEffectiveMinorVersion(); - int getMajorVersion(); - int getMinorVersion(); - int getSessionTimeout(); - static String ORDERED_LIBS = null; - static String TEMPDIR = null; - void addListener(Class p0); - void addListener(String p0); - void declareRoles(String... p0); - void log(Exception p0, String p1); - void log(String p0); - void log(String p0, Throwable p1); - void removeAttribute(String p0); - void setAttribute(String p0, Object p1); - void setRequestCharacterEncoding(String p0); - void setResponseCharacterEncoding(String p0); - void setSessionTimeout(int p0); - void setSessionTrackingModes(Set p0); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletInputStream.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletInputStream.java deleted file mode 100644 index 31034066970..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletInputStream.java +++ /dev/null @@ -1,15 +0,0 @@ -// Generated automatically from javax.servlet.ServletInputStream for testing purposes - -package javax.servlet; - -import java.io.InputStream; -import javax.servlet.ReadListener; - -abstract public class ServletInputStream extends InputStream -{ - protected ServletInputStream(){} - public abstract boolean isFinished(); - public abstract boolean isReady(); - public abstract void setReadListener(ReadListener p0); - public int readLine(byte[] p0, int p1, int p2){ return 0; } -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletOutputStream.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletOutputStream.java deleted file mode 100644 index 52a2162c9eb..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletOutputStream.java +++ /dev/null @@ -1,28 +0,0 @@ -// Generated automatically from javax.servlet.ServletOutputStream for testing purposes - -package javax.servlet; - -import java.io.OutputStream; -import javax.servlet.WriteListener; - -abstract public class ServletOutputStream extends OutputStream -{ - protected ServletOutputStream(){} - public abstract boolean isReady(); - public abstract void setWriteListener(WriteListener p0); - public void print(String p0){} - public void print(boolean p0){} - public void print(char p0){} - public void print(double p0){} - public void print(float p0){} - public void print(int p0){} - public void print(long p0){} - public void println(){} - public void println(String p0){} - public void println(boolean p0){} - public void println(char p0){} - public void println(double p0){} - public void println(float p0){} - public void println(int p0){} - public void println(long p0){} -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletRegistration.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletRegistration.java deleted file mode 100644 index a1cc66f2d19..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletRegistration.java +++ /dev/null @@ -1,23 +0,0 @@ -// Generated automatically from javax.servlet.ServletRegistration for testing purposes - -package javax.servlet; - -import java.util.Collection; -import java.util.Set; -import javax.servlet.MultipartConfigElement; -import javax.servlet.Registration; -import javax.servlet.ServletSecurityElement; - -public interface ServletRegistration extends Registration -{ - Collection getMappings(); - Set addMapping(String... p0); - String getRunAsRole(); - static public interface Dynamic extends Registration.Dynamic, ServletRegistration - { - Set setServletSecurity(ServletSecurityElement p0); - void setLoadOnStartup(int p0); - void setMultipartConfig(MultipartConfigElement p0); - void setRunAsRole(String p0); - } -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletRequest.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletRequest.java deleted file mode 100644 index fc0db462cc0..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletRequest.java +++ /dev/null @@ -1,55 +0,0 @@ -// Generated automatically from javax.servlet.ServletRequest for testing purposes - -package javax.servlet; - -import java.io.BufferedReader; -import java.util.Enumeration; -import java.util.Locale; -import java.util.Map; -import javax.servlet.AsyncContext; -import javax.servlet.DispatcherType; -import javax.servlet.RequestDispatcher; -import javax.servlet.ServletContext; -import javax.servlet.ServletInputStream; -import javax.servlet.ServletResponse; - -public interface ServletRequest -{ - AsyncContext getAsyncContext(); - AsyncContext startAsync(); - AsyncContext startAsync(ServletRequest p0, ServletResponse p1); - BufferedReader getReader(); - DispatcherType getDispatcherType(); - Enumeration getLocales(); - Enumeration getAttributeNames(); - Enumeration getParameterNames(); - Locale getLocale(); - Map getParameterMap(); - Object getAttribute(String p0); - RequestDispatcher getRequestDispatcher(String p0); - ServletContext getServletContext(); - ServletInputStream getInputStream(); - String getCharacterEncoding(); - String getContentType(); - String getLocalAddr(); - String getLocalName(); - String getParameter(String p0); - String getProtocol(); - String getRealPath(String p0); - String getRemoteAddr(); - String getRemoteHost(); - String getScheme(); - String getServerName(); - String[] getParameterValues(String p0); - boolean isAsyncStarted(); - boolean isAsyncSupported(); - boolean isSecure(); - int getContentLength(); - int getLocalPort(); - int getRemotePort(); - int getServerPort(); - long getContentLengthLong(); - void removeAttribute(String p0); - void setAttribute(String p0, Object p1); - void setCharacterEncoding(String p0); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletResponse.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletResponse.java deleted file mode 100644 index db6610bc15d..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletResponse.java +++ /dev/null @@ -1,27 +0,0 @@ -// Generated automatically from javax.servlet.ServletResponse for testing purposes - -package javax.servlet; - -import java.io.PrintWriter; -import java.util.Locale; -import javax.servlet.ServletOutputStream; - -public interface ServletResponse -{ - Locale getLocale(); - PrintWriter getWriter(); - ServletOutputStream getOutputStream(); - String getCharacterEncoding(); - String getContentType(); - boolean isCommitted(); - int getBufferSize(); - void flushBuffer(); - void reset(); - void resetBuffer(); - void setBufferSize(int p0); - void setCharacterEncoding(String p0); - void setContentLength(int p0); - void setContentLengthLong(long p0); - void setContentType(String p0); - void setLocale(Locale p0); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletSecurityElement.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletSecurityElement.java deleted file mode 100644 index def47937391..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/ServletSecurityElement.java +++ /dev/null @@ -1,19 +0,0 @@ -// Generated automatically from javax.servlet.ServletSecurityElement for testing purposes - -package javax.servlet; - -import java.util.Collection; -import javax.servlet.HttpConstraintElement; -import javax.servlet.HttpMethodConstraintElement; -import javax.servlet.annotation.ServletSecurity; - -public class ServletSecurityElement extends HttpConstraintElement -{ - public Collection getHttpMethodConstraints(){ return null; } - public Collection getMethodNames(){ return null; } - public ServletSecurityElement(){} - public ServletSecurityElement(Collection p0){} - public ServletSecurityElement(HttpConstraintElement p0){} - public ServletSecurityElement(HttpConstraintElement p0, Collection p1){} - public ServletSecurityElement(ServletSecurity p0){} -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/SessionCookieConfig.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/SessionCookieConfig.java deleted file mode 100644 index 4cae9a11f30..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/SessionCookieConfig.java +++ /dev/null @@ -1,22 +0,0 @@ -// Generated automatically from javax.servlet.SessionCookieConfig for testing purposes - -package javax.servlet; - - -public interface SessionCookieConfig -{ - String getComment(); - String getDomain(); - String getName(); - String getPath(); - boolean isHttpOnly(); - boolean isSecure(); - int getMaxAge(); - void setComment(String p0); - void setDomain(String p0); - void setHttpOnly(boolean p0); - void setMaxAge(int p0); - void setName(String p0); - void setPath(String p0); - void setSecure(boolean p0); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/SessionTrackingMode.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/SessionTrackingMode.java deleted file mode 100644 index 684ac40c56f..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/SessionTrackingMode.java +++ /dev/null @@ -1,10 +0,0 @@ -// Generated automatically from javax.servlet.SessionTrackingMode for testing purposes - -package javax.servlet; - - -public enum SessionTrackingMode -{ - COOKIE, SSL, URL; - private SessionTrackingMode() {} -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/WriteListener.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/WriteListener.java deleted file mode 100644 index 24fe504271c..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/WriteListener.java +++ /dev/null @@ -1,11 +0,0 @@ -// Generated automatically from javax.servlet.WriteListener for testing purposes - -package javax.servlet; - -import java.util.EventListener; - -public interface WriteListener extends EventListener -{ - void onError(Throwable p0); - void onWritePossible(); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/HttpConstraint.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/HttpConstraint.java deleted file mode 100644 index f47efc62744..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/HttpConstraint.java +++ /dev/null @@ -1,18 +0,0 @@ -// Generated automatically from javax.servlet.annotation.HttpConstraint for testing purposes - -package javax.servlet.annotation; - -import java.lang.annotation.Annotation; -import java.lang.annotation.Documented; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import javax.servlet.annotation.ServletSecurity; - -@Documented -@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) -public @interface HttpConstraint -{ - ServletSecurity.EmptyRoleSemantic value(); - ServletSecurity.TransportGuarantee transportGuarantee(); - String[] rolesAllowed(); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/HttpMethodConstraint.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/HttpMethodConstraint.java deleted file mode 100644 index 288f4651018..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/HttpMethodConstraint.java +++ /dev/null @@ -1,19 +0,0 @@ -// Generated automatically from javax.servlet.annotation.HttpMethodConstraint for testing purposes - -package javax.servlet.annotation; - -import java.lang.annotation.Annotation; -import java.lang.annotation.Documented; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import javax.servlet.annotation.ServletSecurity; - -@Documented -@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) -public @interface HttpMethodConstraint -{ - ServletSecurity.EmptyRoleSemantic emptyRoleSemantic(); - ServletSecurity.TransportGuarantee transportGuarantee(); - String value(); - String[] rolesAllowed(); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/MultipartConfig.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/MultipartConfig.java deleted file mode 100644 index baccad3e199..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/MultipartConfig.java +++ /dev/null @@ -1,19 +0,0 @@ -// Generated automatically from javax.servlet.annotation.MultipartConfig for testing purposes - -package javax.servlet.annotation; - -import java.lang.annotation.Annotation; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) -@Target(value={java.lang.annotation.ElementType.TYPE}) -public @interface MultipartConfig -{ - String location(); - int fileSizeThreshold(); - long maxFileSize(); - long maxRequestSize(); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/ServletSecurity.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/ServletSecurity.java deleted file mode 100644 index 021b6c64c2a..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/ServletSecurity.java +++ /dev/null @@ -1,33 +0,0 @@ -// Generated automatically from javax.servlet.annotation.ServletSecurity for testing purposes - -package javax.servlet.annotation; - -import java.lang.annotation.Annotation; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import javax.servlet.annotation.HttpConstraint; -import javax.servlet.annotation.HttpMethodConstraint; - -@Documented -@Inherited -@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) -@Target(value={java.lang.annotation.ElementType.TYPE}) -public @interface ServletSecurity -{ - HttpConstraint value(); - HttpMethodConstraint[] httpMethodConstraints(); - static public enum EmptyRoleSemantic - { - DENY, PERMIT; - private EmptyRoleSemantic() {} - } - static public enum TransportGuarantee - { - CONFIDENTIAL, NONE; - private TransportGuarantee() {} - } -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/WebInitParam.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/WebInitParam.java deleted file mode 100644 index 513c7d7053b..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/WebInitParam.java +++ /dev/null @@ -1,20 +0,0 @@ -// Generated automatically from javax.servlet.annotation.WebInitParam for testing purposes - -package javax.servlet.annotation; - -import java.lang.annotation.Annotation; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Documented -@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) -@Target(value={java.lang.annotation.ElementType.TYPE}) -public @interface WebInitParam -{ - String description(); - String name(); - String value(); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/WebServlet.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/WebServlet.java deleted file mode 100644 index 83b5d2e476a..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/annotation/WebServlet.java +++ /dev/null @@ -1,28 +0,0 @@ -// Generated automatically from javax.servlet.annotation.WebServlet for testing purposes - -package javax.servlet.annotation; - -import java.lang.annotation.Annotation; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import javax.servlet.annotation.WebInitParam; - -@Documented -@Retention(value=java.lang.annotation.RetentionPolicy.RUNTIME) -@Target(value={java.lang.annotation.ElementType.TYPE}) -public @interface WebServlet -{ - String description(); - String displayName(); - String largeIcon(); - String name(); - String smallIcon(); - String[] urlPatterns(); - String[] value(); - WebInitParam[] initParams(); - boolean asyncSupported(); - int loadOnStartup(); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/JspConfigDescriptor.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/JspConfigDescriptor.java deleted file mode 100644 index 8d93a4318d7..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/JspConfigDescriptor.java +++ /dev/null @@ -1,13 +0,0 @@ -// Generated automatically from javax.servlet.descriptor.JspConfigDescriptor for testing purposes - -package javax.servlet.descriptor; - -import java.util.Collection; -import javax.servlet.descriptor.JspPropertyGroupDescriptor; -import javax.servlet.descriptor.TaglibDescriptor; - -public interface JspConfigDescriptor -{ - Collection getJspPropertyGroups(); - Collection getTaglibs(); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/JspPropertyGroupDescriptor.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/JspPropertyGroupDescriptor.java deleted file mode 100644 index dd852fa1088..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/JspPropertyGroupDescriptor.java +++ /dev/null @@ -1,21 +0,0 @@ -// Generated automatically from javax.servlet.descriptor.JspPropertyGroupDescriptor for testing purposes - -package javax.servlet.descriptor; - -import java.util.Collection; - -public interface JspPropertyGroupDescriptor -{ - Collection getIncludeCodas(); - Collection getIncludePreludes(); - Collection getUrlPatterns(); - String getBuffer(); - String getDefaultContentType(); - String getDeferredSyntaxAllowedAsLiteral(); - String getElIgnored(); - String getErrorOnUndeclaredNamespace(); - String getIsXml(); - String getPageEncoding(); - String getScriptingInvalid(); - String getTrimDirectiveWhitespaces(); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/TaglibDescriptor.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/TaglibDescriptor.java deleted file mode 100644 index c3dd5c10473..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/descriptor/TaglibDescriptor.java +++ /dev/null @@ -1,10 +0,0 @@ -// Generated automatically from javax.servlet.descriptor.TaglibDescriptor for testing purposes - -package javax.servlet.descriptor; - - -public interface TaglibDescriptor -{ - String getTaglibLocation(); - String getTaglibURI(); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/Cookie.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/Cookie.java deleted file mode 100644 index b5a180029be..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/Cookie.java +++ /dev/null @@ -1,29 +0,0 @@ -// Generated automatically from javax.servlet.http.Cookie for testing purposes - -package javax.servlet.http; - -import java.io.Serializable; - -public class Cookie implements Cloneable, Serializable -{ - protected Cookie() {} - public Cookie(String p0, String p1){} - public Object clone(){ return null; } - public String getComment(){ return null; } - public String getDomain(){ return null; } - public String getName(){ return null; } - public String getPath(){ return null; } - public String getValue(){ return null; } - public boolean getSecure(){ return false; } - public boolean isHttpOnly(){ return false; } - public int getMaxAge(){ return 0; } - public int getVersion(){ return 0; } - public void setComment(String p0){} - public void setDomain(String p0){} - public void setHttpOnly(boolean p0){} - public void setMaxAge(int p0){} - public void setPath(String p0){} - public void setSecure(boolean p0){} - public void setValue(String p0){} - public void setVersion(int p0){} -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServlet.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServlet.java deleted file mode 100644 index 87d0adcaf34..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServlet.java +++ /dev/null @@ -1,46 +0,0 @@ -// Generated automatically from javax.servlet.http.HttpServlet for testing purposes - -package javax.servlet.http; - -import javax.servlet.GenericServlet; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -abstract public class HttpServlet extends GenericServlet { - protected long getLastModified(HttpServletRequest p0) { - return 0; - } - - protected void doDelete(HttpServletRequest p0, HttpServletResponse p1) { - } - - protected void doGet(HttpServletRequest p0, HttpServletResponse p1) throws IOException { - } - - protected void doHead(HttpServletRequest p0, HttpServletResponse p1) { - } - - protected void doOptions(HttpServletRequest p0, HttpServletResponse p1) { - } - - protected void doPost(HttpServletRequest p0, HttpServletResponse p1) throws IOException { - } - - protected void doPut(HttpServletRequest p0, HttpServletResponse p1) { - } - - protected void doTrace(HttpServletRequest p0, HttpServletResponse p1) { - } - - protected void service(HttpServletRequest p0, HttpServletResponse p1) { - } - - public HttpServlet() { - } - - public void service(ServletRequest p0, ServletResponse p1) { - } -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletMapping.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletMapping.java deleted file mode 100644 index 1b597f27773..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletMapping.java +++ /dev/null @@ -1,13 +0,0 @@ -// Generated automatically from javax.servlet.http.HttpServletMapping for testing purposes - -package javax.servlet.http; - -import javax.servlet.http.MappingMatch; - -public interface HttpServletMapping -{ - MappingMatch getMappingMatch(); - String getMatchValue(); - String getPattern(); - String getServletName(); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletRequest.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletRequest.java deleted file mode 100644 index 8612c34fb69..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletRequest.java +++ /dev/null @@ -1,60 +0,0 @@ -// Generated automatically from javax.servlet.http.HttpServletRequest for testing purposes - -package javax.servlet.http; - -import java.security.Principal; -import java.util.Collection; -import java.util.Enumeration; -import java.util.Map; -import javax.servlet.ServletRequest; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServletMapping; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; -import javax.servlet.http.HttpUpgradeHandler; -import javax.servlet.http.Part; -import javax.servlet.http.PushBuilder; - -public interface HttpServletRequest extends ServletRequest -{ - T upgrade(java.lang.Class p0); - Collection getParts(); - Cookie[] getCookies(); - Enumeration getHeaderNames(); - Enumeration getHeaders(String p0); - HttpSession getSession(); - HttpSession getSession(boolean p0); - Part getPart(String p0); - Principal getUserPrincipal(); - String changeSessionId(); - String getAuthType(); - String getContextPath(); - String getHeader(String p0); - String getMethod(); - String getPathInfo(); - String getPathTranslated(); - String getQueryString(); - String getRemoteUser(); - String getRequestURI(); - String getRequestedSessionId(); - String getServletPath(); - StringBuffer getRequestURL(); - boolean authenticate(HttpServletResponse p0); - boolean isRequestedSessionIdFromCookie(); - boolean isRequestedSessionIdFromURL(); - boolean isRequestedSessionIdFromUrl(); - boolean isRequestedSessionIdValid(); - boolean isUserInRole(String p0); - default HttpServletMapping getHttpServletMapping(){ return null; } - default Map getTrailerFields(){ return null; } - default PushBuilder newPushBuilder(){ return null; } - default boolean isTrailerFieldsReady(){ return false; } - int getIntHeader(String p0); - long getDateHeader(String p0); - static String BASIC_AUTH = null; - static String CLIENT_CERT_AUTH = null; - static String DIGEST_AUTH = null; - static String FORM_AUTH = null; - void login(String p0, String p1); - void logout(); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletResponse.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletResponse.java deleted file mode 100644 index da902dbf30c..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpServletResponse.java +++ /dev/null @@ -1,77 +0,0 @@ -// Generated automatically from javax.servlet.http.HttpServletResponse for testing purposes - -package javax.servlet.http; - -import java.util.Collection; -import java.util.Map; -import java.util.function.Supplier; -import javax.servlet.ServletResponse; -import javax.servlet.http.Cookie; - -public interface HttpServletResponse extends ServletResponse -{ - Collection getHeaderNames(); - Collection getHeaders(String p0); - String encodeRedirectURL(String p0); - String encodeRedirectUrl(String p0); - String encodeURL(String p0); - String encodeUrl(String p0); - String getHeader(String p0); - boolean containsHeader(String p0); - default Supplier> getTrailerFields(){ return null; } - default void setTrailerFields(Supplier> p0){} - int getStatus(); - static int SC_ACCEPTED = 0; - static int SC_BAD_GATEWAY = 0; - static int SC_BAD_REQUEST = 0; - static int SC_CONFLICT = 0; - static int SC_CONTINUE = 0; - static int SC_CREATED = 0; - static int SC_EXPECTATION_FAILED = 0; - static int SC_FORBIDDEN = 0; - static int SC_FOUND = 0; - static int SC_GATEWAY_TIMEOUT = 0; - static int SC_GONE = 0; - static int SC_HTTP_VERSION_NOT_SUPPORTED = 0; - static int SC_INTERNAL_SERVER_ERROR = 0; - static int SC_LENGTH_REQUIRED = 0; - static int SC_METHOD_NOT_ALLOWED = 0; - static int SC_MOVED_PERMANENTLY = 0; - static int SC_MOVED_TEMPORARILY = 0; - static int SC_MULTIPLE_CHOICES = 0; - static int SC_NON_AUTHORITATIVE_INFORMATION = 0; - static int SC_NOT_ACCEPTABLE = 0; - static int SC_NOT_FOUND = 0; - static int SC_NOT_IMPLEMENTED = 0; - static int SC_NOT_MODIFIED = 0; - static int SC_NO_CONTENT = 0; - static int SC_OK = 0; - static int SC_PARTIAL_CONTENT = 0; - static int SC_PAYMENT_REQUIRED = 0; - static int SC_PRECONDITION_FAILED = 0; - static int SC_PROXY_AUTHENTICATION_REQUIRED = 0; - static int SC_REQUESTED_RANGE_NOT_SATISFIABLE = 0; - static int SC_REQUEST_ENTITY_TOO_LARGE = 0; - static int SC_REQUEST_TIMEOUT = 0; - static int SC_REQUEST_URI_TOO_LONG = 0; - static int SC_RESET_CONTENT = 0; - static int SC_SEE_OTHER = 0; - static int SC_SERVICE_UNAVAILABLE = 0; - static int SC_SWITCHING_PROTOCOLS = 0; - static int SC_TEMPORARY_REDIRECT = 0; - static int SC_UNAUTHORIZED = 0; - static int SC_UNSUPPORTED_MEDIA_TYPE = 0; - static int SC_USE_PROXY = 0; - void addCookie(Cookie p0); - void addDateHeader(String p0, long p1); - void addHeader(String p0, String p1); - void addIntHeader(String p0, int p1); - void sendError(int p0); - void sendError(int p0, String p1); - void sendRedirect(String p0); - void setDateHeader(String p0, long p1); - void setHeader(String p0, String p1); - void setIntHeader(String p0, int p1); - void setStatus(int p0); - void setStatus(int p0, String p1); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpSession.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpSession.java deleted file mode 100644 index f8f455b1423..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpSession.java +++ /dev/null @@ -1,28 +0,0 @@ -// Generated automatically from javax.servlet.http.HttpSession for testing purposes - -package javax.servlet.http; - -import java.util.Enumeration; -import javax.servlet.ServletContext; -import javax.servlet.http.HttpSessionContext; - -public interface HttpSession -{ - Enumeration getAttributeNames(); - HttpSessionContext getSessionContext(); - Object getAttribute(String p0); - Object getValue(String p0); - ServletContext getServletContext(); - String getId(); - String[] getValueNames(); - boolean isNew(); - int getMaxInactiveInterval(); - long getCreationTime(); - long getLastAccessedTime(); - void invalidate(); - void putValue(String p0, Object p1); - void removeAttribute(String p0); - void removeValue(String p0); - void setAttribute(String p0, Object p1); - void setMaxInactiveInterval(int p0); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpSessionContext.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpSessionContext.java deleted file mode 100644 index 97a77b48358..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpSessionContext.java +++ /dev/null @@ -1,12 +0,0 @@ -// Generated automatically from javax.servlet.http.HttpSessionContext for testing purposes - -package javax.servlet.http; - -import java.util.Enumeration; -import javax.servlet.http.HttpSession; - -public interface HttpSessionContext -{ - Enumeration getIds(); - HttpSession getSession(String p0); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpUpgradeHandler.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpUpgradeHandler.java deleted file mode 100644 index 987d49dbde2..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/HttpUpgradeHandler.java +++ /dev/null @@ -1,11 +0,0 @@ -// Generated automatically from javax.servlet.http.HttpUpgradeHandler for testing purposes - -package javax.servlet.http; - -import javax.servlet.http.WebConnection; - -public interface HttpUpgradeHandler -{ - void destroy(); - void init(WebConnection p0); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/MappingMatch.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/MappingMatch.java deleted file mode 100644 index 0432fd2ef7d..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/MappingMatch.java +++ /dev/null @@ -1,10 +0,0 @@ -// Generated automatically from javax.servlet.http.MappingMatch for testing purposes - -package javax.servlet.http; - - -public enum MappingMatch -{ - CONTEXT_ROOT, DEFAULT, EXACT, EXTENSION, PATH; - private MappingMatch() {} -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/Part.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/Part.java deleted file mode 100644 index a4e599748a5..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/Part.java +++ /dev/null @@ -1,20 +0,0 @@ -// Generated automatically from javax.servlet.http.Part for testing purposes - -package javax.servlet.http; - -import java.io.InputStream; -import java.util.Collection; - -public interface Part -{ - Collection getHeaderNames(); - Collection getHeaders(String p0); - InputStream getInputStream(); - String getContentType(); - String getHeader(String p0); - String getName(); - String getSubmittedFileName(); - long getSize(); - void delete(); - void write(String p0); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/PushBuilder.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/PushBuilder.java deleted file mode 100644 index 195e2426a83..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/PushBuilder.java +++ /dev/null @@ -1,23 +0,0 @@ -// Generated automatically from javax.servlet.http.PushBuilder for testing purposes - -package javax.servlet.http; - -import java.util.Set; - -public interface PushBuilder -{ - PushBuilder addHeader(String p0, String p1); - PushBuilder method(String p0); - PushBuilder path(String p0); - PushBuilder queryString(String p0); - PushBuilder removeHeader(String p0); - PushBuilder sessionId(String p0); - PushBuilder setHeader(String p0, String p1); - Set getHeaderNames(); - String getHeader(String p0); - String getMethod(); - String getPath(); - String getQueryString(); - String getSessionId(); - void push(); -} diff --git a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/WebConnection.java b/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/WebConnection.java deleted file mode 100644 index 5001c046400..00000000000 --- a/java/ql/test/experimental/stubs/javax.servlet-api-4.0.1/javax/servlet/http/WebConnection.java +++ /dev/null @@ -1,12 +0,0 @@ -// Generated automatically from javax.servlet.http.WebConnection for testing purposes - -package javax.servlet.http; - -import javax.servlet.ServletInputStream; -import javax.servlet.ServletOutputStream; - -public interface WebConnection extends AutoCloseable -{ - ServletInputStream getInputStream(); - ServletOutputStream getOutputStream(); -} From e3559d8f9377104e44f3a22755ad0f48207d802f Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Fri, 19 Jul 2024 11:02:42 +0100 Subject: [PATCH 008/258] Adjust test expectations --- .../security/CWE-347/Auth0NoVerifier.expected | 44 ++++++++++--------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected index 7836dda7a11..dfbed7063bb 100644 --- a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected +++ b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected @@ -1,24 +1,28 @@ +WARNING: type 'FlowState' has been deprecated and may be removed in future (Auth0NoVerifier.ql:62,21-40) +WARNING: type 'MethodAccess' has been deprecated and may be removed in future (Auth0NoVerifier.ql:33,28-40) +WARNING: type 'MethodAccess' has been deprecated and may be removed in future (Auth0NoVerifier.ql:43,24-36) +WARNING: type 'MethodAccess' has been deprecated and may be removed in future (Auth0NoVerifier.ql:53,24-36) edges -| JwtNoVerifier.java:43:28:43:55 | getParameter(...) : String | JwtNoVerifier.java:44:39:44:47 | JwtToken2 : String | -| JwtNoVerifier.java:44:39:44:47 | JwtToken2 : String | JwtNoVerifier.java:73:38:73:55 | token : String | -| JwtNoVerifier.java:73:38:73:55 | token : String | JwtNoVerifier.java:74:37:74:41 | token : String | -| JwtNoVerifier.java:74:26:74:42 | decode(...) : DecodedJWT | JwtNoVerifier.java:75:28:75:30 | jwt : DecodedJWT | -| JwtNoVerifier.java:74:37:74:41 | token : String | JwtNoVerifier.java:74:26:74:42 | decode(...) : DecodedJWT | -| JwtNoVerifier.java:75:16:75:31 | of(...) : Optional [] : DecodedJWT | JwtNoVerifier.java:75:37:75:40 | item : DecodedJWT | -| JwtNoVerifier.java:75:28:75:30 | jwt : DecodedJWT | JwtNoVerifier.java:75:16:75:31 | of(...) : Optional [] : DecodedJWT | -| JwtNoVerifier.java:75:37:75:40 | item : DecodedJWT | JwtNoVerifier.java:75:45:75:48 | item : DecodedJWT | -| JwtNoVerifier.java:75:45:75:48 | item : DecodedJWT | JwtNoVerifier.java:75:45:75:69 | getClaim(...) | +| JwtNoVerifier.java:42:28:42:55 | getParameter(...) : String | JwtNoVerifier.java:43:39:43:47 | JwtToken2 : String | provenance | Src:MaD:44684 | +| JwtNoVerifier.java:43:39:43:47 | JwtToken2 : String | JwtNoVerifier.java:72:38:72:55 | token : String | provenance | | +| JwtNoVerifier.java:72:38:72:55 | token : String | JwtNoVerifier.java:73:37:73:41 | token : String | provenance | | +| JwtNoVerifier.java:73:26:73:42 | decode(...) : DecodedJWT | JwtNoVerifier.java:74:28:74:30 | jwt : DecodedJWT | provenance | | +| JwtNoVerifier.java:73:37:73:41 | token : String | JwtNoVerifier.java:73:26:73:42 | decode(...) : DecodedJWT | provenance | Config | +| JwtNoVerifier.java:74:16:74:31 | of(...) : Optional [] : DecodedJWT | JwtNoVerifier.java:74:37:74:40 | item : DecodedJWT | provenance | MaD:43977 | +| JwtNoVerifier.java:74:28:74:30 | jwt : DecodedJWT | JwtNoVerifier.java:74:16:74:31 | of(...) : Optional [] : DecodedJWT | provenance | MaD:43979 | +| JwtNoVerifier.java:74:37:74:40 | item : DecodedJWT | JwtNoVerifier.java:74:45:74:48 | item : DecodedJWT | provenance | | +| JwtNoVerifier.java:74:45:74:48 | item : DecodedJWT | JwtNoVerifier.java:74:45:74:69 | getClaim(...) | provenance | Config | nodes -| JwtNoVerifier.java:43:28:43:55 | getParameter(...) : String | semmle.label | getParameter(...) : String | -| JwtNoVerifier.java:44:39:44:47 | JwtToken2 : String | semmle.label | JwtToken2 : String | -| JwtNoVerifier.java:73:38:73:55 | token : String | semmle.label | token : String | -| JwtNoVerifier.java:74:26:74:42 | decode(...) : DecodedJWT | semmle.label | decode(...) : DecodedJWT | -| JwtNoVerifier.java:74:37:74:41 | token : String | semmle.label | token : String | -| JwtNoVerifier.java:75:16:75:31 | of(...) : Optional [] : DecodedJWT | semmle.label | of(...) : Optional [] : DecodedJWT | -| JwtNoVerifier.java:75:28:75:30 | jwt : DecodedJWT | semmle.label | jwt : DecodedJWT | -| JwtNoVerifier.java:75:37:75:40 | item : DecodedJWT | semmle.label | item : DecodedJWT | -| JwtNoVerifier.java:75:45:75:48 | item : DecodedJWT | semmle.label | item : DecodedJWT | -| JwtNoVerifier.java:75:45:75:69 | getClaim(...) | semmle.label | getClaim(...) | +| JwtNoVerifier.java:42:28:42:55 | getParameter(...) : String | semmle.label | getParameter(...) : String | +| JwtNoVerifier.java:43:39:43:47 | JwtToken2 : String | semmle.label | JwtToken2 : String | +| JwtNoVerifier.java:72:38:72:55 | token : String | semmle.label | token : String | +| JwtNoVerifier.java:73:26:73:42 | decode(...) : DecodedJWT | semmle.label | decode(...) : DecodedJWT | +| JwtNoVerifier.java:73:37:73:41 | token : String | semmle.label | token : String | +| JwtNoVerifier.java:74:16:74:31 | of(...) : Optional [] : DecodedJWT | semmle.label | of(...) : Optional [] : DecodedJWT | +| JwtNoVerifier.java:74:28:74:30 | jwt : DecodedJWT | semmle.label | jwt : DecodedJWT | +| JwtNoVerifier.java:74:37:74:40 | item : DecodedJWT | semmle.label | item : DecodedJWT | +| JwtNoVerifier.java:74:45:74:48 | item : DecodedJWT | semmle.label | item : DecodedJWT | +| JwtNoVerifier.java:74:45:74:69 | getClaim(...) | semmle.label | getClaim(...) | subpaths #select -| JwtNoVerifier.java:75:45:75:69 | getClaim(...) | JwtNoVerifier.java:43:28:43:55 | getParameter(...) : String | JwtNoVerifier.java:75:45:75:69 | getClaim(...) | This parses a $@, but the signature is not verified. | JwtNoVerifier.java:43:28:43:55 | getParameter(...) | JWT | +| JwtNoVerifier.java:74:45:74:69 | getClaim(...) | JwtNoVerifier.java:42:28:42:55 | getParameter(...) : String | JwtNoVerifier.java:74:45:74:69 | getClaim(...) | This parses a $@, but the signature is not verified. | JwtNoVerifier.java:42:28:42:55 | getParameter(...) | JWT | From 14cf47b906db543a6e87a80d46f76bb5d82767f0 Mon Sep 17 00:00:00 2001 From: am0o0 <77095239+am0o0@users.noreply.github.com> Date: Sun, 28 Jul 2024 10:28:28 +0200 Subject: [PATCH 009/258] comply with PascalCase/camelCase, remove redundant import --- .../Security/CWE/CWE-347/Auth0NoVerifier.ql | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql index 630b2b4f30c..f8d3c52ff96 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql @@ -11,7 +11,6 @@ */ import java -import semmle.code.java.dataflow.DataFlow import semmle.code.java.dataflow.FlowSources module JwtAuth0 { @@ -19,12 +18,12 @@ module JwtAuth0 { PayloadType() { this.hasQualifiedName("com.auth0.jwt.interfaces", "Payload") } } - class JWTType extends RefType { - JWTType() { this.hasQualifiedName("com.auth0.jwt", "JWT") } + class JwtType extends RefType { + JwtType() { this.hasQualifiedName("com.auth0.jwt", "JWT") } } - class JWTVerifierType extends RefType { - JWTVerifierType() { this.hasQualifiedName("com.auth0.jwt", "JWTVerifier") } + class JwtVerifierType extends RefType { + JwtVerifierType () { this.hasQualifiedName("com.auth0.jwt", "JWTVerifier") } } /** @@ -42,7 +41,7 @@ module JwtAuth0 { */ class Decode extends MethodAccess { Decode() { - this.getCallee().getDeclaringType() instanceof JWTType and + this.getCallee().getDeclaringType() instanceof JwtType and this.getCallee().hasName("decode") } } @@ -52,7 +51,7 @@ module JwtAuth0 { */ class Verify extends MethodAccess { Verify() { - this.getCallee().getDeclaringType() instanceof JWTVerifierType and + this.getCallee().getDeclaringType() instanceof JwtVerifierType and this.getCallee().hasName("verify") } } From 85b02b1399cadced8e0cc1221194ab4b95b879bd Mon Sep 17 00:00:00 2001 From: am0o0 <77095239+am0o0@users.noreply.github.com> Date: Sun, 28 Jul 2024 10:42:44 +0200 Subject: [PATCH 010/258] use MethodCall instead of MethodAccess, change query id --- .../Security/CWE/CWE-347/Auth0NoVerifier.ql | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql index f8d3c52ff96..1c3bb604aff 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql @@ -5,7 +5,7 @@ * @problem.severity error * @security-severity 7.8 * @precision high - * @id java/missing-jwt-signature-check + * @id java/missing-jwt-signature-check-auth0 * @tags security * external/cwe/cwe-347 */ @@ -22,14 +22,14 @@ module JwtAuth0 { JwtType() { this.hasQualifiedName("com.auth0.jwt", "JWT") } } - class JwtVerifierType extends RefType { - JwtVerifierType () { this.hasQualifiedName("com.auth0.jwt", "JWTVerifier") } + class JwtVerifierType extends RefType { + JwtVerifierType() { this.hasQualifiedName("com.auth0.jwt", "JWTVerifier") } } /** * A Method that returns a Decoded Claim of JWT */ - class GetPayload extends MethodAccess { + class GetPayload extends MethodCall { GetPayload() { this.getCallee().getDeclaringType() instanceof PayloadType and this.getCallee().hasName(["getClaim", "getIssuedAt"]) @@ -39,7 +39,7 @@ module JwtAuth0 { /** * A Method that Decode JWT without signature verification */ - class Decode extends MethodAccess { + class Decode extends MethodCall { Decode() { this.getCallee().getDeclaringType() instanceof JwtType and this.getCallee().hasName("decode") @@ -49,9 +49,9 @@ module JwtAuth0 { /** * A Method that Decode JWT with signature verification */ - class Verify extends MethodAccess { + class Verify extends MethodCall { Verify() { - this.getCallee().getDeclaringType() instanceof JwtVerifierType and + this.getCallee().getDeclaringType() instanceof JwtVerifierType and this.getCallee().hasName("verify") } } From b5e7716579940c7c26fcb46224b6292f09abc5cc Mon Sep 17 00:00:00 2001 From: am0o0 <77095239+am0o0@users.noreply.github.com> Date: Sun, 28 Jul 2024 11:26:18 +0200 Subject: [PATCH 011/258] remove flow states, remove string as sources --- .../Security/CWE/CWE-347/Auth0NoVerifier.ql | 55 ++++--------------- 1 file changed, 11 insertions(+), 44 deletions(-) diff --git a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql index 1c3bb604aff..a95860cdc4f 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql @@ -57,73 +57,40 @@ module JwtAuth0 { } } -module JwtDecodeConfig implements DataFlow::StateConfigSig { - class FlowState = DataFlow::FlowState; - - predicate isSource(DataFlow::Node source, FlowState state) { - ( - exists(Variable v | - source.asExpr() = v.getInitializer() and - v.getType().hasName("String") - ) - or - source instanceof RemoteFlowSource - ) and - not FlowToJwtVerify::flow(source, _) and - state = "Auth0" and - not state = "Auth0Verify" +module JwtDecodeConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { + source instanceof RemoteFlowSource and + not FlowToJwtVerify::flow(source, _) } - predicate isSink(DataFlow::Node sink, FlowState state) { - sink.asExpr() = any(JwtAuth0::GetPayload a) and - state = "Auth0" and - not state = "Auth0Verify" - } + predicate isSink(DataFlow::Node sink) { sink.asExpr() = any(JwtAuth0::GetPayload a) } - predicate isAdditionalFlowStep( - DataFlow::Node nodeFrom, FlowState stateFrom, DataFlow::Node nodeTo, FlowState stateTo - ) { + predicate isAdditionalFlowStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) { // Decode Should be one of the middle nodes exists(JwtAuth0::Decode a | nodeFrom.asExpr() = a.getArgument(0) and - nodeTo.asExpr() = a and - stateTo = "Auth0" and - stateFrom = "Auth0" + nodeTo.asExpr() = a ) or exists(JwtAuth0::Verify a | nodeFrom.asExpr() = a.getArgument(0) and - nodeTo.asExpr() = a and - stateTo = "Auth0Verify" and - stateFrom = "Auth0Verify" + nodeTo.asExpr() = a ) or exists(JwtAuth0::GetPayload a | nodeFrom.asExpr() = a.getQualifier() and - nodeTo.asExpr() = a and - stateTo = "Auth0" and - stateFrom = "Auth0" + nodeTo.asExpr() = a ) } - - predicate isBarrier(DataFlow::Node sanitizer, FlowState state) { none() } } module FlowToJwtVerifyConfig implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { - // source instanceof DataFlow::Node - exists(Variable v | - source.asExpr() = v.getInitializer() and - v.getType().hasName("String") - ) - } + predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } predicate isSink(DataFlow::Node sink) { sink.asExpr() = any(JwtAuth0::Verify a).getArgument(0) } - - predicate isAdditionalFlowStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) { none() } } -module JwtDecode = TaintTracking::GlobalWithState; +module JwtDecode = TaintTracking::Global; module FlowToJwtVerify = TaintTracking::Global; From 6538a06f294ddc3e5608f4b53ae784502f9f25e2 Mon Sep 17 00:00:00 2001 From: am0o0 <77095239+am0o0@users.noreply.github.com> Date: Sun, 28 Jul 2024 11:30:59 +0200 Subject: [PATCH 012/258] update tests --- .../query-tests/security/CWE-347/Auth0NoVerifier.expected | 4 ---- 1 file changed, 4 deletions(-) diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected index dfbed7063bb..5dbdfd6acfa 100644 --- a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected +++ b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected @@ -1,7 +1,3 @@ -WARNING: type 'FlowState' has been deprecated and may be removed in future (Auth0NoVerifier.ql:62,21-40) -WARNING: type 'MethodAccess' has been deprecated and may be removed in future (Auth0NoVerifier.ql:33,28-40) -WARNING: type 'MethodAccess' has been deprecated and may be removed in future (Auth0NoVerifier.ql:43,24-36) -WARNING: type 'MethodAccess' has been deprecated and may be removed in future (Auth0NoVerifier.ql:53,24-36) edges | JwtNoVerifier.java:42:28:42:55 | getParameter(...) : String | JwtNoVerifier.java:43:39:43:47 | JwtToken2 : String | provenance | Src:MaD:44684 | | JwtNoVerifier.java:43:39:43:47 | JwtToken2 : String | JwtNoVerifier.java:72:38:72:55 | token : String | provenance | | From a781522ca0db723eb6f3a10a360e3b12e8c0a85e Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Tue, 30 Jul 2024 12:19:16 +0100 Subject: [PATCH 013/258] Copyedit documentation --- .../Security/CWE/CWE-347/Auth0NoVerifier.qhelp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.qhelp b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.qhelp index 4fc17e68530..9b87a4e5810 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.qhelp +++ b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.qhelp @@ -2,24 +2,21 @@

    - A JSON Web Token (JWT) is used for authenticating and managing users in an application. -

    -

    - Only Decoding JWTs without checking if they have a valid signature or not can lead to security vulnerabilities. + A JSON Web Token (JWT) is used for authenticating and managing users in an application. It must be verified in order to ensure the JWT is genuine.

    - Don't use methods that only decode JWT, Instead use methods that verify the signature of JWT. + Don't use information from a JWT without verifying that JWT.

    - The following code you can see an Example from a popular Library. + The following example illustrates secure and insecure use of the Auth0 `java-jwt` library.

    @@ -31,4 +28,4 @@ -
    \ No newline at end of file + From 8f52b2cd95718eac4fcf65d00a5a98eac0d98330 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Tue, 30 Jul 2024 12:23:38 +0100 Subject: [PATCH 014/258] Fix link --- .../src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.qhelp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.qhelp b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.qhelp index 9b87a4e5810..b2258c457fe 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.qhelp +++ b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.qhelp @@ -24,7 +24,7 @@
  • - The incorrect use of JWT in ShenyuAdminBootstrap allows an attacker to bypass authentication. + The incorrect use of JWT in ShenyuAdminBootstrap allows an attacker to bypass authentication.
  • From 701e3d7e53291e18445a2b63610686ebf3766218 Mon Sep 17 00:00:00 2001 From: am0o0 <77095239+am0o0@users.noreply.github.com> Date: Wed, 31 Jul 2024 10:58:04 +0200 Subject: [PATCH 015/258] add same query but with local source support to comply with the CVE-2021-37580 --- .../CWE/CWE-347/Auth0NoVerifierLocalSource.ql | 111 ++++++++++++++++++ .../Auth0NoVerifierLocalSource.expected | 24 ++++ .../CWE-347/Auth0NoVerifierLocalSource.qlref | 1 + 3 files changed, 136 insertions(+) create mode 100644 java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql create mode 100644 java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifierLocalSource.expected create mode 100644 java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifierLocalSource.qlref diff --git a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql new file mode 100644 index 00000000000..a008b3ebeb6 --- /dev/null +++ b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql @@ -0,0 +1,111 @@ +/** + * @name Missing JWT signature check + * @description Failing to check the Json Web Token (JWT) signature may allow an attacker to forge their own tokens. + * @kind path-problem + * @problem.severity error + * @security-severity 7.8 + * @precision medium + * @id java/missing-jwt-signature-check-auth0-local-source + * @tags security + * external/cwe/cwe-347 + */ + +import java +import semmle.code.java.dataflow.FlowSources + +module JwtAuth0 { + class PayloadType extends RefType { + PayloadType() { this.hasQualifiedName("com.auth0.jwt.interfaces", "Payload") } + } + + class JwtType extends RefType { + JwtType() { this.hasQualifiedName("com.auth0.jwt", "JWT") } + } + + class JwtVerifierType extends RefType { + JwtVerifierType() { this.hasQualifiedName("com.auth0.jwt", "JWTVerifier") } + } + + /** + * A Method that returns a Decoded Claim of JWT + */ + class GetPayload extends MethodCall { + GetPayload() { + this.getCallee().getDeclaringType() instanceof PayloadType and + this.getCallee().hasName(["getClaim", "getIssuedAt"]) + } + } + + /** + * A Method that Decode JWT without signature verification + */ + class Decode extends MethodCall { + Decode() { + this.getCallee().getDeclaringType() instanceof JwtType and + this.getCallee().hasName("decode") + } + } + + /** + * A Method that Decode JWT with signature verification + */ + class Verify extends MethodCall { + Verify() { + this.getCallee().getDeclaringType() instanceof JwtVerifierType and + this.getCallee().hasName("verify") + } + } +} + +module JwtDecodeConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { + + exists(Variable v | + source.asExpr() = v.getInitializer() and + v.getType().hasName("String") + ) and + not FlowToJwtVerify::flow(source, _) + } + + predicate isSink(DataFlow::Node sink) { sink.asExpr() = any(JwtAuth0::GetPayload a) } + + predicate isAdditionalFlowStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) { + // Decode Should be one of the middle nodes + exists(JwtAuth0::Decode a | + nodeFrom.asExpr() = a.getArgument(0) and + nodeTo.asExpr() = a + ) + or + exists(JwtAuth0::Verify a | + nodeFrom.asExpr() = a.getArgument(0) and + nodeTo.asExpr() = a + ) + or + exists(JwtAuth0::GetPayload a | + nodeFrom.asExpr() = a.getQualifier() and + nodeTo.asExpr() = a + ) + } +} + +module FlowToJwtVerifyConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { + exists(Variable v | + source.asExpr() = v.getInitializer() and + v.getType().hasName("String") + ) + } + + predicate isSink(DataFlow::Node sink) { sink.asExpr() = any(JwtAuth0::Verify a).getArgument(0) } +} + +module JwtDecode = TaintTracking::Global; + +module FlowToJwtVerify = TaintTracking::Global; + +import JwtDecode::PathGraph + +from JwtDecode::PathNode source, JwtDecode::PathNode sink +where JwtDecode::flowPath(source, sink) +select sink.getNode(), source, sink, "This parses a $@, but the signature is not verified.", + source.getNode(), "JWT" diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifierLocalSource.expected b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifierLocalSource.expected new file mode 100644 index 00000000000..5dbdfd6acfa --- /dev/null +++ b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifierLocalSource.expected @@ -0,0 +1,24 @@ +edges +| JwtNoVerifier.java:42:28:42:55 | getParameter(...) : String | JwtNoVerifier.java:43:39:43:47 | JwtToken2 : String | provenance | Src:MaD:44684 | +| JwtNoVerifier.java:43:39:43:47 | JwtToken2 : String | JwtNoVerifier.java:72:38:72:55 | token : String | provenance | | +| JwtNoVerifier.java:72:38:72:55 | token : String | JwtNoVerifier.java:73:37:73:41 | token : String | provenance | | +| JwtNoVerifier.java:73:26:73:42 | decode(...) : DecodedJWT | JwtNoVerifier.java:74:28:74:30 | jwt : DecodedJWT | provenance | | +| JwtNoVerifier.java:73:37:73:41 | token : String | JwtNoVerifier.java:73:26:73:42 | decode(...) : DecodedJWT | provenance | Config | +| JwtNoVerifier.java:74:16:74:31 | of(...) : Optional [] : DecodedJWT | JwtNoVerifier.java:74:37:74:40 | item : DecodedJWT | provenance | MaD:43977 | +| JwtNoVerifier.java:74:28:74:30 | jwt : DecodedJWT | JwtNoVerifier.java:74:16:74:31 | of(...) : Optional [] : DecodedJWT | provenance | MaD:43979 | +| JwtNoVerifier.java:74:37:74:40 | item : DecodedJWT | JwtNoVerifier.java:74:45:74:48 | item : DecodedJWT | provenance | | +| JwtNoVerifier.java:74:45:74:48 | item : DecodedJWT | JwtNoVerifier.java:74:45:74:69 | getClaim(...) | provenance | Config | +nodes +| JwtNoVerifier.java:42:28:42:55 | getParameter(...) : String | semmle.label | getParameter(...) : String | +| JwtNoVerifier.java:43:39:43:47 | JwtToken2 : String | semmle.label | JwtToken2 : String | +| JwtNoVerifier.java:72:38:72:55 | token : String | semmle.label | token : String | +| JwtNoVerifier.java:73:26:73:42 | decode(...) : DecodedJWT | semmle.label | decode(...) : DecodedJWT | +| JwtNoVerifier.java:73:37:73:41 | token : String | semmle.label | token : String | +| JwtNoVerifier.java:74:16:74:31 | of(...) : Optional [] : DecodedJWT | semmle.label | of(...) : Optional [] : DecodedJWT | +| JwtNoVerifier.java:74:28:74:30 | jwt : DecodedJWT | semmle.label | jwt : DecodedJWT | +| JwtNoVerifier.java:74:37:74:40 | item : DecodedJWT | semmle.label | item : DecodedJWT | +| JwtNoVerifier.java:74:45:74:48 | item : DecodedJWT | semmle.label | item : DecodedJWT | +| JwtNoVerifier.java:74:45:74:69 | getClaim(...) | semmle.label | getClaim(...) | +subpaths +#select +| JwtNoVerifier.java:74:45:74:69 | getClaim(...) | JwtNoVerifier.java:42:28:42:55 | getParameter(...) : String | JwtNoVerifier.java:74:45:74:69 | getClaim(...) | This parses a $@, but the signature is not verified. | JwtNoVerifier.java:42:28:42:55 | getParameter(...) | JWT | diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifierLocalSource.qlref b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifierLocalSource.qlref new file mode 100644 index 00000000000..03cb5e77989 --- /dev/null +++ b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifierLocalSource.qlref @@ -0,0 +1 @@ +experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql \ No newline at end of file From c6814fcf479f7248401a0be4c472ebc9e7284d16 Mon Sep 17 00:00:00 2001 From: am0o0 <77095239+am0o0@users.noreply.github.com> Date: Wed, 31 Jul 2024 11:04:03 +0200 Subject: [PATCH 016/258] merge duplicate module into a module file --- .../Security/CWE/CWE-347/Auth0NoVerifier.ql | 45 +---------------- .../CWE/CWE-347/Auth0NoVerifierLocalSource.ql | 49 ++----------------- .../Security/CWE/CWE-347/JwtAuth0.qll | 43 ++++++++++++++++ 3 files changed, 47 insertions(+), 90 deletions(-) create mode 100644 java/ql/src/experimental/Security/CWE/CWE-347/JwtAuth0.qll diff --git a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql index a95860cdc4f..f5a93b4c6c0 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql @@ -12,50 +12,7 @@ import java import semmle.code.java.dataflow.FlowSources - -module JwtAuth0 { - class PayloadType extends RefType { - PayloadType() { this.hasQualifiedName("com.auth0.jwt.interfaces", "Payload") } - } - - class JwtType extends RefType { - JwtType() { this.hasQualifiedName("com.auth0.jwt", "JWT") } - } - - class JwtVerifierType extends RefType { - JwtVerifierType() { this.hasQualifiedName("com.auth0.jwt", "JWTVerifier") } - } - - /** - * A Method that returns a Decoded Claim of JWT - */ - class GetPayload extends MethodCall { - GetPayload() { - this.getCallee().getDeclaringType() instanceof PayloadType and - this.getCallee().hasName(["getClaim", "getIssuedAt"]) - } - } - - /** - * A Method that Decode JWT without signature verification - */ - class Decode extends MethodCall { - Decode() { - this.getCallee().getDeclaringType() instanceof JwtType and - this.getCallee().hasName("decode") - } - } - - /** - * A Method that Decode JWT with signature verification - */ - class Verify extends MethodCall { - Verify() { - this.getCallee().getDeclaringType() instanceof JwtVerifierType and - this.getCallee().hasName("verify") - } - } -} +import JwtAuth0 as JwtAuth0 module JwtDecodeConfig implements DataFlow::ConfigSig { predicate isSource(DataFlow::Node source) { diff --git a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql index a008b3ebeb6..2032f3dc42a 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql @@ -12,54 +12,11 @@ import java import semmle.code.java.dataflow.FlowSources +import JwtAuth0 as JwtAuth0 -module JwtAuth0 { - class PayloadType extends RefType { - PayloadType() { this.hasQualifiedName("com.auth0.jwt.interfaces", "Payload") } - } - - class JwtType extends RefType { - JwtType() { this.hasQualifiedName("com.auth0.jwt", "JWT") } - } - - class JwtVerifierType extends RefType { - JwtVerifierType() { this.hasQualifiedName("com.auth0.jwt", "JWTVerifier") } - } - - /** - * A Method that returns a Decoded Claim of JWT - */ - class GetPayload extends MethodCall { - GetPayload() { - this.getCallee().getDeclaringType() instanceof PayloadType and - this.getCallee().hasName(["getClaim", "getIssuedAt"]) - } - } - - /** - * A Method that Decode JWT without signature verification - */ - class Decode extends MethodCall { - Decode() { - this.getCallee().getDeclaringType() instanceof JwtType and - this.getCallee().hasName("decode") - } - } - - /** - * A Method that Decode JWT with signature verification - */ - class Verify extends MethodCall { - Verify() { - this.getCallee().getDeclaringType() instanceof JwtVerifierType and - this.getCallee().hasName("verify") - } - } -} module JwtDecodeConfig implements DataFlow::ConfigSig { predicate isSource(DataFlow::Node source) { - exists(Variable v | source.asExpr() = v.getInitializer() and v.getType().hasName("String") @@ -89,11 +46,11 @@ module JwtDecodeConfig implements DataFlow::ConfigSig { } module FlowToJwtVerifyConfig implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { + predicate isSource(DataFlow::Node source) { exists(Variable v | source.asExpr() = v.getInitializer() and v.getType().hasName("String") - ) + ) } predicate isSink(DataFlow::Node sink) { sink.asExpr() = any(JwtAuth0::Verify a).getArgument(0) } diff --git a/java/ql/src/experimental/Security/CWE/CWE-347/JwtAuth0.qll b/java/ql/src/experimental/Security/CWE/CWE-347/JwtAuth0.qll new file mode 100644 index 00000000000..323ccbadbf2 --- /dev/null +++ b/java/ql/src/experimental/Security/CWE/CWE-347/JwtAuth0.qll @@ -0,0 +1,43 @@ +import java + +class PayloadType extends RefType { + PayloadType() { this.hasQualifiedName("com.auth0.jwt.interfaces", "Payload") } +} + +class JwtType extends RefType { + JwtType() { this.hasQualifiedName("com.auth0.jwt", "JWT") } +} + +class JwtVerifierType extends RefType { + JwtVerifierType() { this.hasQualifiedName("com.auth0.jwt", "JWTVerifier") } +} + +/** + * A Method that returns a Decoded Claim of JWT + */ +class GetPayload extends MethodCall { + GetPayload() { + this.getCallee().getDeclaringType() instanceof PayloadType and + this.getCallee().hasName(["getClaim", "getIssuedAt"]) + } +} + +/** + * A Method that Decode JWT without signature verification + */ +class Decode extends MethodCall { + Decode() { + this.getCallee().getDeclaringType() instanceof JwtType and + this.getCallee().hasName("decode") + } +} + +/** + * A Method that Decode JWT with signature verification + */ +class Verify extends MethodCall { + Verify() { + this.getCallee().getDeclaringType() instanceof JwtVerifierType and + this.getCallee().hasName("verify") + } +} From d560c1ea0f432c62ba6ebe906288575a69d285e8 Mon Sep 17 00:00:00 2001 From: am0o0 <77095239+am0o0@users.noreply.github.com> Date: Wed, 31 Jul 2024 11:08:06 +0200 Subject: [PATCH 017/258] fix formatting --- .../Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql | 1 - 1 file changed, 1 deletion(-) diff --git a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql index 2032f3dc42a..7a9f37a5250 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql @@ -14,7 +14,6 @@ import java import semmle.code.java.dataflow.FlowSources import JwtAuth0 as JwtAuth0 - module JwtDecodeConfig implements DataFlow::ConfigSig { predicate isSource(DataFlow::Node source) { exists(Variable v | From 0f7598786c470f3ef11d942bc790bf2552131ae8 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Fri, 2 Aug 2024 15:53:09 +0100 Subject: [PATCH 018/258] Swift: Test spacing. --- .../CWE-321/HardcodedEncryptionKey.expected | 58 +++++++++---------- .../query-tests/Security/CWE-321/misc.swift | 13 +++++ 2 files changed, 42 insertions(+), 29 deletions(-) diff --git a/swift/ql/test/query-tests/Security/CWE-321/HardcodedEncryptionKey.expected b/swift/ql/test/query-tests/Security/CWE-321/HardcodedEncryptionKey.expected index 19dfd75b984..7c60e703b8b 100644 --- a/swift/ql/test/query-tests/Security/CWE-321/HardcodedEncryptionKey.expected +++ b/swift/ql/test/query-tests/Security/CWE-321/HardcodedEncryptionKey.expected @@ -39,18 +39,18 @@ edges | grdb.swift:23:18:23:33 | call to Data.init(_:) | grdb.swift:33:26:33:26 | constData | provenance | | | grdb.swift:23:23:23:23 | constArray | grdb.swift:23:18:23:33 | call to Data.init(_:) | provenance | | | misc.swift:30:7:30:7 | value | file://:0:0:0:0 | value | provenance | | -| misc.swift:46:19:46:38 | call to Data.init(_:) | misc.swift:49:41:49:41 | myConstKey | provenance | | -| misc.swift:46:19:46:38 | call to Data.init(_:) | misc.swift:53:25:53:25 | myConstKey | provenance | | -| misc.swift:46:19:46:38 | call to Data.init(_:) | misc.swift:57:41:57:41 | myConstKey | provenance | | -| misc.swift:46:24:46:24 | abcdef123456 | misc.swift:46:19:46:38 | call to Data.init(_:) | provenance | | -| misc.swift:53:2:53:2 | [post] config [encryptionKey] | misc.swift:53:2:53:2 | [post] config | provenance | | -| misc.swift:53:25:53:25 | myConstKey | misc.swift:30:7:30:7 | value | provenance | | -| misc.swift:53:25:53:25 | myConstKey | misc.swift:53:2:53:2 | [post] config | provenance | | -| misc.swift:53:25:53:25 | myConstKey | misc.swift:53:2:53:2 | [post] config [encryptionKey] | provenance | | -| misc.swift:57:2:57:18 | [post] getter for .config [encryptionKey] | misc.swift:57:2:57:18 | [post] getter for .config | provenance | | -| misc.swift:57:41:57:41 | myConstKey | misc.swift:30:7:30:7 | value | provenance | | -| misc.swift:57:41:57:41 | myConstKey | misc.swift:57:2:57:18 | [post] getter for .config | provenance | | -| misc.swift:57:41:57:41 | myConstKey | misc.swift:57:2:57:18 | [post] getter for .config [encryptionKey] | provenance | | +| misc.swift:57:19:57:38 | call to Data.init(_:) | misc.swift:62:41:62:41 | myConstKey | provenance | | +| misc.swift:57:19:57:38 | call to Data.init(_:) | misc.swift:66:25:66:25 | myConstKey | provenance | | +| misc.swift:57:19:57:38 | call to Data.init(_:) | misc.swift:70:41:70:41 | myConstKey | provenance | | +| misc.swift:57:24:57:24 | abcdef123456 | misc.swift:57:19:57:38 | call to Data.init(_:) | provenance | | +| misc.swift:66:2:66:2 | [post] config [encryptionKey] | misc.swift:66:2:66:2 | [post] config | provenance | | +| misc.swift:66:25:66:25 | myConstKey | misc.swift:30:7:30:7 | value | provenance | | +| misc.swift:66:25:66:25 | myConstKey | misc.swift:66:2:66:2 | [post] config | provenance | | +| misc.swift:66:25:66:25 | myConstKey | misc.swift:66:2:66:2 | [post] config [encryptionKey] | provenance | | +| misc.swift:70:2:70:18 | [post] getter for .config [encryptionKey] | misc.swift:70:2:70:18 | [post] getter for .config | provenance | | +| misc.swift:70:41:70:41 | myConstKey | misc.swift:30:7:30:7 | value | provenance | | +| misc.swift:70:41:70:41 | myConstKey | misc.swift:70:2:70:18 | [post] getter for .config | provenance | | +| misc.swift:70:41:70:41 | myConstKey | misc.swift:70:2:70:18 | [post] getter for .config [encryptionKey] | provenance | | | rncryptor.swift:60:19:60:38 | call to Data.init(_:) | rncryptor.swift:65:73:65:73 | myConstKey | provenance | | | rncryptor.swift:60:19:60:38 | call to Data.init(_:) | rncryptor.swift:66:73:66:73 | myConstKey | provenance | | | rncryptor.swift:60:19:60:38 | call to Data.init(_:) | rncryptor.swift:67:73:67:73 | myConstKey | provenance | | @@ -122,15 +122,15 @@ nodes | misc.swift:30:7:30:7 | self [Return] | semmle.label | self [Return] | | misc.swift:30:7:30:7 | self [Return] [encryptionKey] | semmle.label | self [Return] [encryptionKey] | | misc.swift:30:7:30:7 | value | semmle.label | value | -| misc.swift:46:19:46:38 | call to Data.init(_:) | semmle.label | call to Data.init(_:) | -| misc.swift:46:24:46:24 | abcdef123456 | semmle.label | abcdef123456 | -| misc.swift:49:41:49:41 | myConstKey | semmle.label | myConstKey | -| misc.swift:53:2:53:2 | [post] config | semmle.label | [post] config | -| misc.swift:53:2:53:2 | [post] config [encryptionKey] | semmle.label | [post] config [encryptionKey] | -| misc.swift:53:25:53:25 | myConstKey | semmle.label | myConstKey | -| misc.swift:57:2:57:18 | [post] getter for .config | semmle.label | [post] getter for .config | -| misc.swift:57:2:57:18 | [post] getter for .config [encryptionKey] | semmle.label | [post] getter for .config [encryptionKey] | -| misc.swift:57:41:57:41 | myConstKey | semmle.label | myConstKey | +| misc.swift:57:19:57:38 | call to Data.init(_:) | semmle.label | call to Data.init(_:) | +| misc.swift:57:24:57:24 | abcdef123456 | semmle.label | abcdef123456 | +| misc.swift:62:41:62:41 | myConstKey | semmle.label | myConstKey | +| misc.swift:66:2:66:2 | [post] config | semmle.label | [post] config | +| misc.swift:66:2:66:2 | [post] config [encryptionKey] | semmle.label | [post] config [encryptionKey] | +| misc.swift:66:25:66:25 | myConstKey | semmle.label | myConstKey | +| misc.swift:70:2:70:18 | [post] getter for .config | semmle.label | [post] getter for .config | +| misc.swift:70:2:70:18 | [post] getter for .config [encryptionKey] | semmle.label | [post] getter for .config [encryptionKey] | +| misc.swift:70:41:70:41 | myConstKey | semmle.label | myConstKey | | rncryptor.swift:60:19:60:38 | call to Data.init(_:) | semmle.label | call to Data.init(_:) | | rncryptor.swift:60:24:60:24 | abcdef123456 | semmle.label | abcdef123456 | | rncryptor.swift:65:73:65:73 | myConstKey | semmle.label | myConstKey | @@ -155,10 +155,10 @@ nodes | sqlite3_c_api.swift:49:36:49:36 | buffer | semmle.label | buffer | | sqlite3_c_api.swift:50:38:50:38 | buffer | semmle.label | buffer | subpaths -| misc.swift:53:25:53:25 | myConstKey | misc.swift:30:7:30:7 | value | misc.swift:30:7:30:7 | self [Return] | misc.swift:53:2:53:2 | [post] config | -| misc.swift:53:25:53:25 | myConstKey | misc.swift:30:7:30:7 | value | misc.swift:30:7:30:7 | self [Return] [encryptionKey] | misc.swift:53:2:53:2 | [post] config [encryptionKey] | -| misc.swift:57:41:57:41 | myConstKey | misc.swift:30:7:30:7 | value | misc.swift:30:7:30:7 | self [Return] | misc.swift:57:2:57:18 | [post] getter for .config | -| misc.swift:57:41:57:41 | myConstKey | misc.swift:30:7:30:7 | value | misc.swift:30:7:30:7 | self [Return] [encryptionKey] | misc.swift:57:2:57:18 | [post] getter for .config [encryptionKey] | +| misc.swift:66:25:66:25 | myConstKey | misc.swift:30:7:30:7 | value | misc.swift:30:7:30:7 | self [Return] | misc.swift:66:2:66:2 | [post] config | +| misc.swift:66:25:66:25 | myConstKey | misc.swift:30:7:30:7 | value | misc.swift:30:7:30:7 | self [Return] [encryptionKey] | misc.swift:66:2:66:2 | [post] config [encryptionKey] | +| misc.swift:70:41:70:41 | myConstKey | misc.swift:30:7:30:7 | value | misc.swift:30:7:30:7 | self [Return] | misc.swift:70:2:70:18 | [post] getter for .config | +| misc.swift:70:41:70:41 | myConstKey | misc.swift:30:7:30:7 | value | misc.swift:30:7:30:7 | self [Return] [encryptionKey] | misc.swift:70:2:70:18 | [post] getter for .config [encryptionKey] | #select | SQLite.swift:43:13:43:13 | hardcoded_key | SQLite.swift:43:13:43:13 | hardcoded_key | SQLite.swift:43:13:43:13 | hardcoded_key | The key 'hardcoded_key' has been initialized with hard-coded values from $@. | SQLite.swift:43:13:43:13 | hardcoded_key | hardcoded_key | | SQLite.swift:45:23:45:23 | hardcoded_key | SQLite.swift:45:23:45:23 | hardcoded_key | SQLite.swift:45:23:45:23 | hardcoded_key | The key 'hardcoded_key' has been initialized with hard-coded values from $@. | SQLite.swift:45:23:45:23 | hardcoded_key | hardcoded_key | @@ -186,14 +186,14 @@ subpaths | cryptoswift.swift:164:24:164:24 | keyString | cryptoswift.swift:78:2:78:2 | this string is constant | cryptoswift.swift:164:24:164:24 | keyString | The key 'keyString' has been initialized with hard-coded values from $@. | cryptoswift.swift:78:2:78:2 | this string is constant | this string is constant | | cryptoswift.swift:165:24:165:24 | key | cryptoswift.swift:92:26:92:121 | [...] | cryptoswift.swift:165:24:165:24 | key | The key 'key' has been initialized with hard-coded values from $@. | cryptoswift.swift:92:26:92:121 | [...] | [...] | | cryptoswift.swift:166:24:166:24 | keyString | cryptoswift.swift:78:2:78:2 | this string is constant | cryptoswift.swift:166:24:166:24 | keyString | The key 'keyString' has been initialized with hard-coded values from $@. | cryptoswift.swift:78:2:78:2 | this string is constant | this string is constant | -| file://:0:0:0:0 | [post] self | misc.swift:46:24:46:24 | abcdef123456 | file://:0:0:0:0 | [post] self | The key '[post] self' has been initialized with hard-coded values from $@. | misc.swift:46:24:46:24 | abcdef123456 | abcdef123456 | +| file://:0:0:0:0 | [post] self | misc.swift:57:24:57:24 | abcdef123456 | file://:0:0:0:0 | [post] self | The key '[post] self' has been initialized with hard-coded values from $@. | misc.swift:57:24:57:24 | abcdef123456 | abcdef123456 | | grdb.swift:27:23:27:23 | constString | grdb.swift:21:20:21:20 | abc123 | grdb.swift:27:23:27:23 | constString | The key 'constString' has been initialized with hard-coded values from $@. | grdb.swift:21:20:21:20 | abc123 | abc123 | | grdb.swift:29:23:29:23 | constData | grdb.swift:22:33:22:50 | [...] | grdb.swift:29:23:29:23 | constData | The key 'constData' has been initialized with hard-coded values from $@. | grdb.swift:22:33:22:50 | [...] | [...] | | grdb.swift:31:26:31:26 | constString | grdb.swift:21:20:21:20 | abc123 | grdb.swift:31:26:31:26 | constString | The key 'constString' has been initialized with hard-coded values from $@. | grdb.swift:21:20:21:20 | abc123 | abc123 | | grdb.swift:33:26:33:26 | constData | grdb.swift:22:33:22:50 | [...] | grdb.swift:33:26:33:26 | constData | The key 'constData' has been initialized with hard-coded values from $@. | grdb.swift:22:33:22:50 | [...] | [...] | -| misc.swift:49:41:49:41 | myConstKey | misc.swift:46:24:46:24 | abcdef123456 | misc.swift:49:41:49:41 | myConstKey | The key 'myConstKey' has been initialized with hard-coded values from $@. | misc.swift:46:24:46:24 | abcdef123456 | abcdef123456 | -| misc.swift:53:2:53:2 | [post] config | misc.swift:46:24:46:24 | abcdef123456 | misc.swift:53:2:53:2 | [post] config | The key '[post] config' has been initialized with hard-coded values from $@. | misc.swift:46:24:46:24 | abcdef123456 | abcdef123456 | -| misc.swift:57:2:57:18 | [post] getter for .config | misc.swift:46:24:46:24 | abcdef123456 | misc.swift:57:2:57:18 | [post] getter for .config | The key '[post] getter for .config' has been initialized with hard-coded values from $@. | misc.swift:46:24:46:24 | abcdef123456 | abcdef123456 | +| misc.swift:62:41:62:41 | myConstKey | misc.swift:57:24:57:24 | abcdef123456 | misc.swift:62:41:62:41 | myConstKey | The key 'myConstKey' has been initialized with hard-coded values from $@. | misc.swift:57:24:57:24 | abcdef123456 | abcdef123456 | +| misc.swift:66:2:66:2 | [post] config | misc.swift:57:24:57:24 | abcdef123456 | misc.swift:66:2:66:2 | [post] config | The key '[post] config' has been initialized with hard-coded values from $@. | misc.swift:57:24:57:24 | abcdef123456 | abcdef123456 | +| misc.swift:70:2:70:18 | [post] getter for .config | misc.swift:57:24:57:24 | abcdef123456 | misc.swift:70:2:70:18 | [post] getter for .config | The key '[post] getter for .config' has been initialized with hard-coded values from $@. | misc.swift:57:24:57:24 | abcdef123456 | abcdef123456 | | rncryptor.swift:65:73:65:73 | myConstKey | rncryptor.swift:60:24:60:24 | abcdef123456 | rncryptor.swift:65:73:65:73 | myConstKey | The key 'myConstKey' has been initialized with hard-coded values from $@. | rncryptor.swift:60:24:60:24 | abcdef123456 | abcdef123456 | | rncryptor.swift:66:73:66:73 | myConstKey | rncryptor.swift:60:24:60:24 | abcdef123456 | rncryptor.swift:66:73:66:73 | myConstKey | The key 'myConstKey' has been initialized with hard-coded values from $@. | rncryptor.swift:60:24:60:24 | abcdef123456 | abcdef123456 | | rncryptor.swift:67:73:67:73 | myConstKey | rncryptor.swift:60:24:60:24 | abcdef123456 | rncryptor.swift:67:73:67:73 | myConstKey | The key 'myConstKey' has been initialized with hard-coded values from $@. | rncryptor.swift:60:24:60:24 | abcdef123456 | abcdef123456 | diff --git a/swift/ql/test/query-tests/Security/CWE-321/misc.swift b/swift/ql/test/query-tests/Security/CWE-321/misc.swift index accf9e5add0..a993e2eb4d4 100644 --- a/swift/ql/test/query-tests/Security/CWE-321/misc.swift +++ b/swift/ql/test/query-tests/Security/CWE-321/misc.swift @@ -31,6 +31,17 @@ extension Realm { } } + + + + + + + + + + + // --- tests --- class ConfigContainer { @@ -45,6 +56,8 @@ func test(myVarStr: String) { let myVarKey = Data(myVarStr) let myConstKey = Data("abcdef123456") + // --- realm --- + _ = Realm.Configuration(encryptionKey: myVarKey) // GOOD _ = Realm.Configuration(encryptionKey: myConstKey) // BAD From 4225774a3a218b48c332bd1c13a0dc33147cfbf3 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Fri, 2 Aug 2024 17:06:28 +0100 Subject: [PATCH 019/258] Swift: Add test cases for swift/hardcoded-key. --- .../CWE-321/HardcodedEncryptionKey.expected | 23 ++++++++++++++ .../query-tests/Security/CWE-321/misc.swift | 31 +++++++++++++------ 2 files changed, 45 insertions(+), 9 deletions(-) diff --git a/swift/ql/test/query-tests/Security/CWE-321/HardcodedEncryptionKey.expected b/swift/ql/test/query-tests/Security/CWE-321/HardcodedEncryptionKey.expected index 7c60e703b8b..0d8a259fe90 100644 --- a/swift/ql/test/query-tests/Security/CWE-321/HardcodedEncryptionKey.expected +++ b/swift/ql/test/query-tests/Security/CWE-321/HardcodedEncryptionKey.expected @@ -51,6 +51,15 @@ edges | misc.swift:70:41:70:41 | myConstKey | misc.swift:30:7:30:7 | value | provenance | | | misc.swift:70:41:70:41 | myConstKey | misc.swift:70:2:70:18 | [post] getter for .config | provenance | | | misc.swift:70:41:70:41 | myConstKey | misc.swift:70:2:70:18 | [post] getter for .config [encryptionKey] | provenance | | +| misc.swift:73:14:73:20 | k1 | misc.swift:76:26:76:29 | .utf8 | provenance | | +| misc.swift:73:28:73:34 | k2 | misc.swift:77:26:77:29 | .utf8 | provenance | | +| misc.swift:76:20:76:33 | call to Array.init(_:) [Collection element] | misc.swift:76:20:76:33 | call to Array.init(_:) | provenance | | +| misc.swift:76:26:76:29 | .utf8 | misc.swift:76:20:76:33 | call to Array.init(_:) [Collection element] | provenance | | +| misc.swift:77:20:77:33 | call to Array.init(_:) [Collection element] | misc.swift:77:20:77:33 | call to Array.init(_:) | provenance | | +| misc.swift:77:26:77:29 | .utf8 | misc.swift:77:20:77:33 | call to Array.init(_:) [Collection element] | provenance | | +| misc.swift:82:10:82:10 | abc123 | misc.swift:73:14:73:20 | k1 | provenance | | +| misc.swift:83:10:83:10 | abc123 | misc.swift:73:14:73:20 | k1 | provenance | | +| misc.swift:83:20:83:20 | abc123 | misc.swift:73:28:73:34 | k2 | provenance | | | rncryptor.swift:60:19:60:38 | call to Data.init(_:) | rncryptor.swift:65:73:65:73 | myConstKey | provenance | | | rncryptor.swift:60:19:60:38 | call to Data.init(_:) | rncryptor.swift:66:73:66:73 | myConstKey | provenance | | | rncryptor.swift:60:19:60:38 | call to Data.init(_:) | rncryptor.swift:67:73:67:73 | myConstKey | provenance | | @@ -131,6 +140,17 @@ nodes | misc.swift:70:2:70:18 | [post] getter for .config | semmle.label | [post] getter for .config | | misc.swift:70:2:70:18 | [post] getter for .config [encryptionKey] | semmle.label | [post] getter for .config [encryptionKey] | | misc.swift:70:41:70:41 | myConstKey | semmle.label | myConstKey | +| misc.swift:73:14:73:20 | k1 | semmle.label | k1 | +| misc.swift:73:28:73:34 | k2 | semmle.label | k2 | +| misc.swift:76:20:76:33 | call to Array.init(_:) | semmle.label | call to Array.init(_:) | +| misc.swift:76:20:76:33 | call to Array.init(_:) [Collection element] | semmle.label | call to Array.init(_:) [Collection element] | +| misc.swift:76:26:76:29 | .utf8 | semmle.label | .utf8 | +| misc.swift:77:20:77:33 | call to Array.init(_:) | semmle.label | call to Array.init(_:) | +| misc.swift:77:20:77:33 | call to Array.init(_:) [Collection element] | semmle.label | call to Array.init(_:) [Collection element] | +| misc.swift:77:26:77:29 | .utf8 | semmle.label | .utf8 | +| misc.swift:82:10:82:10 | abc123 | semmle.label | abc123 | +| misc.swift:83:10:83:10 | abc123 | semmle.label | abc123 | +| misc.swift:83:20:83:20 | abc123 | semmle.label | abc123 | | rncryptor.swift:60:19:60:38 | call to Data.init(_:) | semmle.label | call to Data.init(_:) | | rncryptor.swift:60:24:60:24 | abcdef123456 | semmle.label | abcdef123456 | | rncryptor.swift:65:73:65:73 | myConstKey | semmle.label | myConstKey | @@ -194,6 +214,9 @@ subpaths | misc.swift:62:41:62:41 | myConstKey | misc.swift:57:24:57:24 | abcdef123456 | misc.swift:62:41:62:41 | myConstKey | The key 'myConstKey' has been initialized with hard-coded values from $@. | misc.swift:57:24:57:24 | abcdef123456 | abcdef123456 | | misc.swift:66:2:66:2 | [post] config | misc.swift:57:24:57:24 | abcdef123456 | misc.swift:66:2:66:2 | [post] config | The key '[post] config' has been initialized with hard-coded values from $@. | misc.swift:57:24:57:24 | abcdef123456 | abcdef123456 | | misc.swift:70:2:70:18 | [post] getter for .config | misc.swift:57:24:57:24 | abcdef123456 | misc.swift:70:2:70:18 | [post] getter for .config | The key '[post] getter for .config' has been initialized with hard-coded values from $@. | misc.swift:57:24:57:24 | abcdef123456 | abcdef123456 | +| misc.swift:76:20:76:33 | call to Array.init(_:) | misc.swift:82:10:82:10 | abc123 | misc.swift:76:20:76:33 | call to Array.init(_:) | The key 'call to Array.init(_:)' has been initialized with hard-coded values from $@. | misc.swift:82:10:82:10 | abc123 | abc123 | +| misc.swift:76:20:76:33 | call to Array.init(_:) | misc.swift:83:10:83:10 | abc123 | misc.swift:76:20:76:33 | call to Array.init(_:) | The key 'call to Array.init(_:)' has been initialized with hard-coded values from $@. | misc.swift:83:10:83:10 | abc123 | abc123 | +| misc.swift:77:20:77:33 | call to Array.init(_:) | misc.swift:83:20:83:20 | abc123 | misc.swift:77:20:77:33 | call to Array.init(_:) | The key 'call to Array.init(_:)' has been initialized with hard-coded values from $@. | misc.swift:83:20:83:20 | abc123 | abc123 | | rncryptor.swift:65:73:65:73 | myConstKey | rncryptor.swift:60:24:60:24 | abcdef123456 | rncryptor.swift:65:73:65:73 | myConstKey | The key 'myConstKey' has been initialized with hard-coded values from $@. | rncryptor.swift:60:24:60:24 | abcdef123456 | abcdef123456 | | rncryptor.swift:66:73:66:73 | myConstKey | rncryptor.swift:60:24:60:24 | abcdef123456 | rncryptor.swift:66:73:66:73 | myConstKey | The key 'myConstKey' has been initialized with hard-coded values from $@. | rncryptor.swift:60:24:60:24 | abcdef123456 | abcdef123456 | | rncryptor.swift:67:73:67:73 | myConstKey | rncryptor.swift:60:24:60:24 | abcdef123456 | rncryptor.swift:67:73:67:73 | myConstKey | The key 'myConstKey' has been initialized with hard-coded values from $@. | rncryptor.swift:60:24:60:24 | abcdef123456 | abcdef123456 | diff --git a/swift/ql/test/query-tests/Security/CWE-321/misc.swift b/swift/ql/test/query-tests/Security/CWE-321/misc.swift index a993e2eb4d4..9b225bea84a 100644 --- a/swift/ql/test/query-tests/Security/CWE-321/misc.swift +++ b/swift/ql/test/query-tests/Security/CWE-321/misc.swift @@ -1,7 +1,7 @@ // --- stubs --- -class Data { +struct Data { init(_ elements: S) {} } @@ -31,16 +31,16 @@ extension Realm { } } +protocol BlockMode { } +struct CBC: BlockMode { + init(iv: Array) { } +} - - - - - - - - +class AES +{ + init(key: Array, blockMode: BlockMode) { } +} // --- tests --- @@ -69,3 +69,16 @@ func test(myVarStr: String) { configContainer.config.encryptionKey = myVarKey // GOOD configContainer.config.encryptionKey = myConstKey // BAD } + +func useKeys(_ k1: String, _ k2: String, _ k3: String, _ myIV: Array) { + // --- cryptoswift --- + + let a1 = AES(key: Array(k1.utf8), blockMode: CBC(iv: myIV)) // BAD + let a2 = AES(key: Array(k2.utf8), blockMode: CBC(iv: myIV)) // BAD + let a3 = AES(key: Array(k3.utf8), blockMode: CBC(iv: myIV)) // GOOD +} + +func caller(varString: String, myIV: Array) { + useKeys("abc123", varString, varString, myIV) + useKeys("abc123", "abc123", varString, myIV) +} From ae5166814736633ed82f8878e20dd50c282a0f43 Mon Sep 17 00:00:00 2001 From: Felicity Chapman Date: Mon, 12 Aug 2024 11:54:11 +0100 Subject: [PATCH 020/258] Update info on data flow new/legacylibrary --- .../analyzing-data-flow-in-cpp-new.rst | 15 +++++++++++---- .../codeql-language-guides/codeql-for-cpp.rst | 6 +++--- docs/codeql/reusables/new-data-flow-api.rst | 3 +-- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp-new.rst b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp-new.rst index e6575e7488f..dcd54ca4bd0 100644 --- a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp-new.rst +++ b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp-new.rst @@ -1,12 +1,19 @@ .. _analyzing-data-flow-in-cpp-new: -.. include:: ../reusables/cpp-new-dataflow-api-note.rst - -Analyzing data flow in C and C++ (new) -====================================== +Analyzing data flow in C and C++ +================================ You can use data flow analysis to track the flow of potentially malicious or insecure data that can cause vulnerabilities in your codebase. +About this article +------------------ + +This article describes how data flow analysis is implemented in the CodeQL libraries for C/C++ and includes examples to help you write your own data flow queries. +The following sections describe how to use the libraries for local data flow, global data flow, and taint tracking. +For a more general introduction to modeling data flow, see ":ref:`About data flow analysis `." + +.. include:: ../reusables/new-data-flow-api.rst + About data flow --------------- diff --git a/docs/codeql/codeql-language-guides/codeql-for-cpp.rst b/docs/codeql/codeql-language-guides/codeql-for-cpp.rst index 584f8c63bf6..8c08ac761db 100644 --- a/docs/codeql/codeql-language-guides/codeql-for-cpp.rst +++ b/docs/codeql/codeql-language-guides/codeql-for-cpp.rst @@ -22,7 +22,7 @@ Experiment and learn how to write effective and efficient queries for CodeQL dat hash-consing-and-value-numbering advanced-dataflow-scenarios-cpp customizing-library-models-for-cpp - + - :doc:`Basic query for C and C++ code `: Learn to write and run a simple CodeQL query. @@ -35,13 +35,13 @@ Experiment and learn how to write effective and efficient queries for CodeQL dat - :doc:`Conversions and classes in C and C++ `: You can use the standard CodeQL libraries for C and C++ to detect when the type of an expression is changed. -- :doc:`Analyzing data flow in C and C++ (new) `: You can use data flow analysis to track the flow of potentially malicious or insecure data that can cause vulnerabilities in your codebase. For information about data flow analysis in versions up to CodeQL 2.12.4, see :doc:`Analyzing data flow in C and C++ `. +- :doc:`Analyzing data flow in C and C++ `: You can use data flow analysis to track the flow of potentially malicious or insecure data that can cause vulnerabilities in your codebase. For information about converting queries from the legacy workflow, see `New dataflow API for CodeQL query writing `__. - :doc:`Refining a query to account for edge cases `: You can improve the results generated by a CodeQL query by adding conditions to remove false positive results caused by common edge cases. - :doc:`Detecting a potential buffer overflow `: You can use CodeQL to detect potential buffer overflows by checking for allocations equal to ``strlen`` in C and C++. -- :doc:`Using the guards library in C and C++ `: You can use the CodeQL guards library to identify conditional expressions that control the execution of other parts of a program in C and C++ codebases. +- :doc:`Using the guards library in C and C++ `: You can use the CodeQL guards library to identify conditional expressions that control the execution of other parts of a program in C and C++ codebases. - :doc:`Using range analysis for C and C++ `: You can use range analysis to determine the upper or lower bounds on an expression, or whether an expression could potentially over or underflow. diff --git a/docs/codeql/reusables/new-data-flow-api.rst b/docs/codeql/reusables/new-data-flow-api.rst index dab3cca5c4f..18c38bc6bb8 100644 --- a/docs/codeql/reusables/new-data-flow-api.rst +++ b/docs/codeql/reusables/new-data-flow-api.rst @@ -1,4 +1,3 @@ .. pull-quote:: Note - The new modular API for data flow described here is available alongside the previous library from CodeQL 2.13.0 onwards. For information about how the library has changed and how to migrate any existing queries to the modular API, see `New dataflow API for CodeQL query writing `__. - \ No newline at end of file + The modular API for data flow described here is available from CodeQL 2.13.0. The legacy library is deprecated and will be removed in December 2024. For information about how the library has changed and how to migrate any existing queries to the modular API, see `New dataflow API for CodeQL query writing `__. From 5b5d8fe04de9b7c87295059bc379c9fb4ad23301 Mon Sep 17 00:00:00 2001 From: Felicity Chapman Date: Mon, 12 Aug 2024 12:07:24 +0100 Subject: [PATCH 021/258] Remove legacy article --- .../analyzing-data-flow-in-cpp-new.rst | 422 ------------------ 1 file changed, 422 deletions(-) delete mode 100644 docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp-new.rst diff --git a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp-new.rst b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp-new.rst deleted file mode 100644 index dcd54ca4bd0..00000000000 --- a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp-new.rst +++ /dev/null @@ -1,422 +0,0 @@ -.. _analyzing-data-flow-in-cpp-new: - -Analyzing data flow in C and C++ -================================ - -You can use data flow analysis to track the flow of potentially malicious or insecure data that can cause vulnerabilities in your codebase. - -About this article ------------------- - -This article describes how data flow analysis is implemented in the CodeQL libraries for C/C++ and includes examples to help you write your own data flow queries. -The following sections describe how to use the libraries for local data flow, global data flow, and taint tracking. -For a more general introduction to modeling data flow, see ":ref:`About data flow analysis `." - -.. include:: ../reusables/new-data-flow-api.rst - -About data flow ---------------- - -Data flow analysis computes the possible values that a variable can hold at various points in a program, determining how those values propagate through the program, and where they are used. In CodeQL, you can model both local data flow and global data flow. For a more general introduction to modeling data flow, see ":ref:`About data flow analysis `." - -Local data flow ---------------- - -Local data flow is data flow within a single function. Local data flow is usually easier, faster, and more precise than global data flow, and is sufficient for many queries. - -Using local data flow -~~~~~~~~~~~~~~~~~~~~~ - -The local data flow library is in the module ``DataFlow``, which defines the class ``Node`` denoting any element that data can flow through. ``Node``\ s are divided into expression nodes (``ExprNode``, ``IndirectExprNode``) and parameter nodes (``ParameterNode``, ``IndirectParameterNode``). The indirect nodes represent expressions or parameters after a fixed number of pointer dereferences. - -It is possible to map between data flow nodes and expressions or parameters using the member predicates ``asExpr``, ``asIndirectExpr``, and ``asParameter``: - -.. code-block:: ql - - class Node { - /** - * Gets the expression corresponding to this node, if any. - */ - Expr asExpr() { ... } - - /** - * Gets the expression corresponding to a node that is obtained after dereferencing - * the expression `index` times, if any. - */ - Expr asIndirectExpr(int index) { ... } - - /** - * Gets the parameter corresponding to this node, if any. - */ - Parameter asParameter() { ... } - - /** - * Gets the parameter corresponding to a node that is obtained after dereferencing - * the parameter `index` times. - */ - Parameter asParameter(int index) { ... } - - ... - } - -The predicate ``localFlowStep(Node nodeFrom, Node nodeTo)`` holds if there is an immediate data flow edge from the node ``nodeFrom`` to the node ``nodeTo``. The predicate can be applied recursively (using the ``+`` and ``*`` operators), or through the predefined recursive predicate ``localFlow``, which is equivalent to ``localFlowStep*``. - -For example, finding flow from a parameter ``source`` to an expression ``sink`` in zero or more local steps can be achieved as follows, where ``nodeFrom`` and ``nodeTo`` are of type ``DataFlow::Node``: - -.. code-block:: ql - - nodeFrom.asParameter() = source and - nodeTo.asExpr() = sink and - DataFlow::localFlow(nodeFrom, nodeTo) - -Using local taint tracking -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Local taint tracking extends local data flow by including non-value-preserving flow steps. For example: - -.. code-block:: cpp - - int i = tainted_user_input(); - some_big_struct *array = malloc(i * sizeof(some_big_struct)); - -In this case, the argument to ``malloc`` is tainted. - -The local taint tracking library is in the module ``TaintTracking``. Like local data flow, a predicate ``localTaintStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo)`` holds if there is an immediate taint propagation edge from the node ``nodeFrom`` to the node ``nodeTo``. The predicate can be applied recursively (using the ``+`` and ``*`` operators), or through the predefined recursive predicate ``localTaint``, which is equivalent to ``localTaintStep*``. - -For example, finding taint propagation from a parameter ``source`` to an expression ``sink`` in zero or more local steps can be achieved as follows, where ``nodeFrom`` and ``nodeTo`` are of type ``DataFlow::Node``: - -.. code-block:: ql - - nodeFrom.asParameter() = source and - nodeTo.asExpr() = sink and - TaintTracking::localTaint(nodeFrom, nodeTo) - -Examples -~~~~~~~~ - -The following query finds the filename passed to ``fopen``: - -.. code-block:: ql - - import cpp - - from Function fopen, FunctionCall fc - where - fopen.hasGlobalName("fopen") and - fc.getTarget() = fopen - select fc.getArgument(0) - -However, this will only give the expression in the argument, not the values which could be passed to it. Instead we can use local data flow to find all expressions that flow into the argument, where we use ``asIndirectExpr(1)``. This is because we are interested in the value of the string passed to `fopen`, not the pointer pointing to it: - -.. code-block:: ql - - import cpp - import semmle.code.cpp.dataflow.new.DataFlow - - from Function fopen, FunctionCall fc, Expr src, DataFlow::Node source, DataFlow::Node sink - where - fopen.hasGlobalName("fopen") and - fc.getTarget() = fopen and - source.asIndirectExpr(1) = src and - sink.asIndirectExpr(1) = fc.getArgument(0) and - DataFlow::localFlow(source, sink) - select src - -Then we can vary the source and, for example, use the parameter of a function. The following query finds where a parameter is used when opening a file: - -.. code-block:: ql - - import cpp - import semmle.code.cpp.dataflow.new.DataFlow - - from Function fopen, FunctionCall fc, Parameter p, DataFlow::Node source, DataFlow::Node sink - where - fopen.hasGlobalName("fopen") and - fc.getTarget() = fopen and - source.asParameter(1) = p and - sink.asIndirectExpr(1) = fc.getArgument(0) and - DataFlow::localFlow(source, sink) - select p - -The following example finds calls to formatting functions where the format string is not hard-coded. - -.. code-block:: ql - - import semmle.code.cpp.dataflow.new.DataFlow - import semmle.code.cpp.commons.Printf - - from FormattingFunction format, FunctionCall call, Expr formatString, DataFlow::Node sink - where - call.getTarget() = format and - call.getArgument(format.getFormatParameterIndex()) = formatString and - sink.asIndirectExpr(1) = formatString and - not exists(DataFlow::Node source | - DataFlow::localFlow(source, sink) and - source.asIndirectExpr(1) instanceof StringLiteral - ) - select call, "Argument to " + format.getQualifiedName() + " isn't hard-coded." - -Exercises -~~~~~~~~~ - -Exercise 1: Write a query that finds all hard-coded strings used to create a ``host_ent`` via ``gethostbyname``, using local data flow. (`Answer <#exercise-1>`__) - -Global data flow ----------------- - -Global data flow tracks data flow throughout the entire program, and is therefore more powerful than local data flow. However, global data flow is less precise than local data flow, and the analysis typically requires significantly more time and memory to perform. - -.. pull-quote:: Note - - .. include:: ../reusables/path-problem.rst - -Using global data flow -~~~~~~~~~~~~~~~~~~~~~~ - -The global data flow library is used by implementing the signature ``DataFlow::ConfigSig`` and applying the module ``DataFlow::Global`` as follows: - -.. code-block:: ql - - import semmle.code.cpp.dataflow.new.DataFlow - - module MyFlowConfiguration implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { - ... - } - - predicate isSink(DataFlow::Node sink) { - ... - } - } - - module MyFlow = DataFlow::Global; - -The following predicates are defined in the configuration: - -- ``isSource``—defines where data may flow from -- ``isSink``—defines where data may flow to -- ``isBarrier``—optional, restricts the data flow -- ``isAdditionalFlowStep``—optional, adds additional flow steps - -The data flow analysis is performed using the predicate ``flow(DataFlow::Node source, DataFlow::Node sink)``: - -.. code-block:: ql - - from DataFlow::Node source, DataFlow::Node sink - where MyFlow::flow(source, sink) - select source, "Data flow to $@.", sink, sink.toString() - -Using global taint tracking -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Global taint tracking is to global data flow as local taint tracking is to local data flow. That is, global taint tracking extends global data flow with additional non-value-preserving steps. The global taint tracking library is used by applying the module ``TaintTracking::Global`` to your configuration instead of ``DataFlow::Global`` as follows: - -.. code-block:: ql - - import semmle.code.cpp.dataflow.new.TaintTracking - - module MyFlowConfiguration implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { - ... - } - - predicate isSink(DataFlow::Node sink) { - ... - } - } - - module MyFlow = TaintTracking::Global; - -The resulting module has an identical signature to the one obtained from ``DataFlow::Global``. - -Examples -~~~~~~~~ - -The following data flow configuration tracks data flow from environment variables to opening files in a Unix-like environment: - -.. code-block:: ql - - import cpp - import semmle.code.cpp.dataflow.new.DataFlow - - module EnvironmentToFileConfiguration implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { - exists(Function getenv | - source.asIndirectExpr(1).(FunctionCall).getTarget() = getenv and - getenv.hasGlobalName("getenv") - ) - } - - predicate isSink(DataFlow::Node sink) { - exists(FunctionCall fc | - sink.asIndirectExpr(1) = fc.getArgument(0) and - fc.getTarget().hasGlobalName("fopen") - ) - } - } - - module EnvironmentToFileFlow = DataFlow::Global; - - from - Expr getenv, Expr fopen, DataFlow::Node source, DataFlow::Node sink - where - source.asIndirectExpr(1) = getenv and - sink.asIndirectExpr(1) = fopen and - EnvironmentToFileFlow::flow(source, sink) - select fopen, "This 'fopen' uses data from $@.", getenv, "call to 'getenv'" - -The following taint-tracking configuration tracks data from a call to ``ntohl`` to an array index operation. It uses the ``Guards`` library to recognize expressions that have been bounds-checked, and defines ``isBarrier`` to prevent taint from propagating through them. It also uses ``isAdditionalFlowStep`` to add flow from loop bounds to loop indexes. - -.. code-block:: ql - - import cpp - import semmle.code.cpp.controlflow.Guards - import semmle.code.cpp.dataflow.new.TaintTracking - - module NetworkToBufferSizeConfiguration implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node node) { - node.asExpr().(FunctionCall).getTarget().hasGlobalName("ntohl") - } - - predicate isSink(DataFlow::Node node) { - exists(ArrayExpr ae | node.asExpr() = ae.getArrayOffset()) - } - - predicate isAdditionalFlowStep(DataFlow::Node pred, DataFlow::Node succ) { - exists(Loop loop, LoopCounter lc | - loop = lc.getALoop() and - loop.getControllingExpr().(RelationalOperation).getGreaterOperand() = pred.asExpr() - | - succ.asExpr() = lc.getVariableAccessInLoop(loop) - ) - } - - predicate isBarrier(DataFlow::Node node) { - exists(GuardCondition gc, Variable v | - gc.getAChild*() = v.getAnAccess() and - node.asExpr() = v.getAnAccess() and - gc.controls(node.asExpr().getBasicBlock(), _) and - not exists(Loop loop | loop.getControllingExpr() = gc) - ) - } - } - - module NetworkToBufferSizeFlow = TaintTracking::Global; - - from DataFlow::Node ntohl, DataFlow::Node offset - where NetworkToBufferSizeFlow::flow(ntohl, offset) - select offset, "This array offset may be influenced by $@.", ntohl, - "converted data from the network" - -Exercises -~~~~~~~~~ - -Exercise 2: Write a query that finds all hard-coded strings used to create a ``host_ent`` via ``gethostbyname``, using global data flow. (`Answer <#exercise-2>`__) - -Exercise 3: Write a class that represents flow sources from ``getenv``. (`Answer <#exercise-3>`__) - -Exercise 4: Using the answers from 2 and 3, write a query which finds all global data flows from ``getenv`` to ``gethostbyname``. (`Answer <#exercise-4>`__) - -Answers -------- - -Exercise 1 -~~~~~~~~~~ - -.. code-block:: ql - - import cpp - import semmle.code.cpp.dataflow.new.DataFlow - - from StringLiteral sl, FunctionCall fc, DataFlow::Node source, DataFlow::Node sink - where - fc.getTarget().hasName("gethostbyname") and - source.asIndirectExpr(1) = sl and - sink.asIndirectExpr(1) = fc.getArgument(0) and - DataFlow::localFlow(source, sink) - select sl, fc - -Exercise 2 -~~~~~~~~~~ - -.. code-block:: ql - - import cpp - import semmle.code.cpp.dataflow.new.DataFlow - - module LiteralToGethostbynameConfiguration implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { - source.asIndirectExpr(1) instanceof StringLiteral - } - - predicate isSink(DataFlow::Node sink) { - exists(FunctionCall fc | - sink.asIndirectExpr(1) = fc.getArgument(0) and - fc.getTarget().hasName("gethostbyname") - ) - } - } - - module LiteralToGethostbynameFlow = DataFlow::Global; - - from - StringLiteral sl, FunctionCall fc, DataFlow::Node source, DataFlow::Node sink - where - source.asIndirectExpr(1) = sl and - sink.asIndirectExpr(1) = fc.getArgument(0) and - LiteralToGethostbynameFlow::flow(source, sink) - select sl, fc - -Exercise 3 -~~~~~~~~~~ - -.. code-block:: ql - - import cpp - import semmle.code.cpp.dataflow.new.DataFlow - - class GetenvSource extends DataFlow::Node { - GetenvSource() { this.asIndirectExpr(1).(FunctionCall).getTarget().hasGlobalName("getenv") } - } - -Exercise 4 -~~~~~~~~~~ - -.. code-block:: ql - - import cpp - import semmle.code.cpp.dataflow.new.DataFlow - - class GetenvSource extends DataFlow::Node { - GetenvSource() { this.asIndirectExpr(1).(FunctionCall).getTarget().hasGlobalName("getenv") } - } - - module GetenvToGethostbynameConfiguration implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof GetenvSource } - - predicate isSink(DataFlow::Node sink) { - exists(FunctionCall fc | - sink.asIndirectExpr(1) = fc.getArgument(0) and - fc.getTarget().hasName("gethostbyname") - ) - } - } - - module GetenvToGethostbynameFlow = DataFlow::Global; - - from - Expr getenv, FunctionCall fc, DataFlow::Node source, DataFlow::Node sink - where - source.asIndirectExpr(1) = getenv and - sink.asIndirectExpr(1) = fc.getArgument(0) and - GetenvToGethostbynameFlow::flow(source, sink) - select getenv, fc - -Further reading ---------------- - -- `Exploring data flow with path queries `__ in the GitHub documentation. - - -.. include:: ../reusables/cpp-further-reading.rst -.. include:: ../reusables/codeql-ref-tools-further-reading.rst From 36e32f43ef12a9159747911dc39fda6ea47068ad Mon Sep 17 00:00:00 2001 From: Felicity Chapman Date: Mon, 12 Aug 2024 12:08:03 +0100 Subject: [PATCH 022/258] Rename new article --- .../analyzing-data-flow-in-cpp.rst | 271 ++++++++++-------- 1 file changed, 153 insertions(+), 118 deletions(-) diff --git a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp.rst b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp.rst index 2642c84680c..27e38a1681c 100644 --- a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp.rst +++ b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp.rst @@ -1,14 +1,19 @@ .. _analyzing-data-flow-in-cpp: -.. pull-quote:: Note - - The data flow library used in this article has been replaced with an improved library which is available from CodeQL 2.12.5 onwards, see :ref:`Analyzing data flow in C and C++ (new) `. The old library has been deprecated in CodeQL 2.14.1 and will be removed in a later release. With the release of CodeQL 2.13.0 both libraries use the new modular API for data flow. - Analyzing data flow in C and C++ ================================ You can use data flow analysis to track the flow of potentially malicious or insecure data that can cause vulnerabilities in your codebase. +About this article +------------------ + +This article describes how data flow analysis is implemented in the CodeQL libraries for C/C++ and includes examples to help you write your own data flow queries. +The following sections describe how to use the libraries for local data flow, global data flow, and taint tracking. +For a more general introduction to modeling data flow, see ":ref:`About data flow analysis `." + +.. include:: ../reusables/new-data-flow-api.rst + About data flow --------------- @@ -22,41 +27,47 @@ Local data flow is data flow within a single function. Local data flow is usuall Using local data flow ~~~~~~~~~~~~~~~~~~~~~ -The local data flow library is in the module ``DataFlow``, which defines the class ``Node`` denoting any element that data can flow through. ``Node``\ s are divided into expression nodes (``ExprNode``) and parameter nodes (``ParameterNode``). It is possible to map between data flow nodes and expressions/parameters using the member predicates ``asExpr`` and ``asParameter``: +The local data flow library is in the module ``DataFlow``, which defines the class ``Node`` denoting any element that data can flow through. ``Node``\ s are divided into expression nodes (``ExprNode``, ``IndirectExprNode``) and parameter nodes (``ParameterNode``, ``IndirectParameterNode``). The indirect nodes represent expressions or parameters after a fixed number of pointer dereferences. + +It is possible to map between data flow nodes and expressions or parameters using the member predicates ``asExpr``, ``asIndirectExpr``, and ``asParameter``: .. code-block:: ql class Node { - /** Gets the expression corresponding to this node, if any. */ + /** + * Gets the expression corresponding to this node, if any. + */ Expr asExpr() { ... } - /** Gets the parameter corresponding to this node, if any. */ + /** + * Gets the expression corresponding to a node that is obtained after dereferencing + * the expression `index` times, if any. + */ + Expr asIndirectExpr(int index) { ... } + + /** + * Gets the parameter corresponding to this node, if any. + */ Parameter asParameter() { ... } + /** + * Gets the parameter corresponding to a node that is obtained after dereferencing + * the parameter `index` times. + */ + Parameter asParameter(int index) { ... } + ... } -or using the predicates ``exprNode`` and ``parameterNode``: - -.. code-block:: ql - - /** - * Gets the node corresponding to expression `e`. - */ - ExprNode exprNode(Expr e) { ... } - - /** - * Gets the node corresponding to the value of parameter `p` at function entry. - */ - ParameterNode parameterNode(Parameter p) { ... } - The predicate ``localFlowStep(Node nodeFrom, Node nodeTo)`` holds if there is an immediate data flow edge from the node ``nodeFrom`` to the node ``nodeTo``. The predicate can be applied recursively (using the ``+`` and ``*`` operators), or through the predefined recursive predicate ``localFlow``, which is equivalent to ``localFlowStep*``. -For example, finding flow from a parameter ``source`` to an expression ``sink`` in zero or more local steps can be achieved as follows: +For example, finding flow from a parameter ``source`` to an expression ``sink`` in zero or more local steps can be achieved as follows, where ``nodeFrom`` and ``nodeTo`` are of type ``DataFlow::Node``: .. code-block:: ql - DataFlow::localFlow(DataFlow::parameterNode(source), DataFlow::exprNode(sink)) + nodeFrom.asParameter() = source and + nodeTo.asExpr() = sink and + DataFlow::localFlow(nodeFrom, nodeTo) Using local taint tracking ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -72,37 +83,43 @@ In this case, the argument to ``malloc`` is tainted. The local taint tracking library is in the module ``TaintTracking``. Like local data flow, a predicate ``localTaintStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo)`` holds if there is an immediate taint propagation edge from the node ``nodeFrom`` to the node ``nodeTo``. The predicate can be applied recursively (using the ``+`` and ``*`` operators), or through the predefined recursive predicate ``localTaint``, which is equivalent to ``localTaintStep*``. -For example, finding taint propagation from a parameter ``source`` to an expression ``sink`` in zero or more local steps can be achieved as follows: +For example, finding taint propagation from a parameter ``source`` to an expression ``sink`` in zero or more local steps can be achieved as follows, where ``nodeFrom`` and ``nodeTo`` are of type ``DataFlow::Node``: .. code-block:: ql - TaintTracking::localTaint(DataFlow::parameterNode(source), DataFlow::exprNode(sink)) + nodeFrom.asParameter() = source and + nodeTo.asExpr() = sink and + TaintTracking::localTaint(nodeFrom, nodeTo) Examples ~~~~~~~~ -The following query finds the filename passed to ``fopen``. +The following query finds the filename passed to ``fopen``: .. code-block:: ql import cpp from Function fopen, FunctionCall fc - where fopen.hasGlobalName("fopen") - and fc.getTarget() = fopen + where + fopen.hasGlobalName("fopen") and + fc.getTarget() = fopen select fc.getArgument(0) -Unfortunately, this will only give the expression in the argument, not the values which could be passed to it. So we use local data flow to find all expressions that flow into the argument: +However, this will only give the expression in the argument, not the values which could be passed to it. Instead we can use local data flow to find all expressions that flow into the argument, where we use ``asIndirectExpr(1)``. This is because we are interested in the value of the string passed to `fopen`, not the pointer pointing to it: .. code-block:: ql import cpp - import semmle.code.cpp.dataflow.DataFlow + import semmle.code.cpp.dataflow.new.DataFlow - from Function fopen, FunctionCall fc, Expr src - where fopen.hasGlobalName("fopen") - and fc.getTarget() = fopen - and DataFlow::localFlow(DataFlow::exprNode(src), DataFlow::exprNode(fc.getArgument(0))) + from Function fopen, FunctionCall fc, Expr src, DataFlow::Node source, DataFlow::Node sink + where + fopen.hasGlobalName("fopen") and + fc.getTarget() = fopen and + source.asIndirectExpr(1) = src and + sink.asIndirectExpr(1) = fc.getArgument(0) and + DataFlow::localFlow(source, sink) select src Then we can vary the source and, for example, use the parameter of a function. The following query finds where a parameter is used when opening a file: @@ -110,28 +127,32 @@ Then we can vary the source and, for example, use the parameter of a function. T .. code-block:: ql import cpp - import semmle.code.cpp.dataflow.DataFlow + import semmle.code.cpp.dataflow.new.DataFlow - from Function fopen, FunctionCall fc, Parameter p - where fopen.hasGlobalName("fopen") - and fc.getTarget() = fopen - and DataFlow::localFlow(DataFlow::parameterNode(p), DataFlow::exprNode(fc.getArgument(0))) + from Function fopen, FunctionCall fc, Parameter p, DataFlow::Node source, DataFlow::Node sink + where + fopen.hasGlobalName("fopen") and + fc.getTarget() = fopen and + source.asParameter(1) = p and + sink.asIndirectExpr(1) = fc.getArgument(0) and + DataFlow::localFlow(source, sink) select p The following example finds calls to formatting functions where the format string is not hard-coded. .. code-block:: ql - import semmle.code.cpp.dataflow.DataFlow + import semmle.code.cpp.dataflow.new.DataFlow import semmle.code.cpp.commons.Printf - from FormattingFunction format, FunctionCall call, Expr formatString - where call.getTarget() = format - and call.getArgument(format.getFormatParameterIndex()) = formatString - and not exists(DataFlow::Node source, DataFlow::Node sink | + from FormattingFunction format, FunctionCall call, Expr formatString, DataFlow::Node sink + where + call.getTarget() = format and + call.getArgument(format.getFormatParameterIndex()) = formatString and + sink.asIndirectExpr(1) = formatString and + not exists(DataFlow::Node source | DataFlow::localFlow(source, sink) and - source.asExpr() instanceof StringLiteral and - sink.asExpr() = formatString + source.asIndirectExpr(1) instanceof StringLiteral ) select call, "Argument to " + format.getQualifiedName() + " isn't hard-coded." @@ -156,7 +177,7 @@ The global data flow library is used by implementing the signature ``DataFlow::C .. code-block:: ql - import semmle.code.cpp.dataflow.DataFlow + import semmle.code.cpp.dataflow.new.DataFlow module MyFlowConfiguration implements DataFlow::ConfigSig { predicate isSource(DataFlow::Node source) { @@ -170,7 +191,6 @@ The global data flow library is used by implementing the signature ``DataFlow::C module MyFlow = DataFlow::Global; - The following predicates are defined in the configuration: - ``isSource``—defines where data may flow from @@ -193,7 +213,7 @@ Global taint tracking is to global data flow as local taint tracking is to local .. code-block:: ql - import semmle.code.cpp.dataflow.TaintTracking + import semmle.code.cpp.dataflow.new.TaintTracking module MyFlowConfiguration implements DataFlow::ConfigSig { predicate isSource(DataFlow::Node source) { @@ -216,19 +236,20 @@ The following data flow configuration tracks data flow from environment variable .. code-block:: ql - import semmle.code.cpp.dataflow.DataFlow + import cpp + import semmle.code.cpp.dataflow.new.DataFlow module EnvironmentToFileConfiguration implements DataFlow::ConfigSig { predicate isSource(DataFlow::Node source) { - exists (Function getenv | - source.asExpr().(FunctionCall).getTarget() = getenv and + exists(Function getenv | + source.asIndirectExpr(1).(FunctionCall).getTarget() = getenv and getenv.hasGlobalName("getenv") ) } predicate isSink(DataFlow::Node sink) { - exists (FunctionCall fc | - sink.asExpr() = fc.getArgument(0) and + exists(FunctionCall fc | + sink.asIndirectExpr(1) = fc.getArgument(0) and fc.getTarget().hasGlobalName("fopen") ) } @@ -236,53 +257,56 @@ The following data flow configuration tracks data flow from environment variable module EnvironmentToFileFlow = DataFlow::Global; - from Expr getenv, Expr fopen - where EnvironmentToFileFlow::flow(DataFlow::exprNode(getenv), DataFlow::exprNode(fopen)) - select fopen, "This 'fopen' uses data from $@.", - getenv, "call to 'getenv'" + from + Expr getenv, Expr fopen, DataFlow::Node source, DataFlow::Node sink + where + source.asIndirectExpr(1) = getenv and + sink.asIndirectExpr(1) = fopen and + EnvironmentToFileFlow::flow(source, sink) + select fopen, "This 'fopen' uses data from $@.", getenv, "call to 'getenv'" The following taint-tracking configuration tracks data from a call to ``ntohl`` to an array index operation. It uses the ``Guards`` library to recognize expressions that have been bounds-checked, and defines ``isBarrier`` to prevent taint from propagating through them. It also uses ``isAdditionalFlowStep`` to add flow from loop bounds to loop indexes. .. code-block:: ql - import cpp - import semmle.code.cpp.controlflow.Guards - import semmle.code.cpp.dataflow.TaintTracking + import cpp + import semmle.code.cpp.controlflow.Guards + import semmle.code.cpp.dataflow.new.TaintTracking - module NetworkToBufferSizeConfiguration implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node node) { - node.asExpr().(FunctionCall).getTarget().hasGlobalName("ntohl") - } + module NetworkToBufferSizeConfiguration implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node node) { + node.asExpr().(FunctionCall).getTarget().hasGlobalName("ntohl") + } - predicate isSink(DataFlow::Node node) { - exists(ArrayExpr ae | node.asExpr() = ae.getArrayOffset()) - } + predicate isSink(DataFlow::Node node) { + exists(ArrayExpr ae | node.asExpr() = ae.getArrayOffset()) + } - predicate isAdditionalFlowStep(DataFlow::Node pred, DataFlow::Node succ) { - exists(Loop loop, LoopCounter lc | - loop = lc.getALoop() and - loop.getControllingExpr().(RelationalOperation).getGreaterOperand() = pred.asExpr() | - succ.asExpr() = lc.getVariableAccessInLoop(loop) - ) - } + predicate isAdditionalFlowStep(DataFlow::Node pred, DataFlow::Node succ) { + exists(Loop loop, LoopCounter lc | + loop = lc.getALoop() and + loop.getControllingExpr().(RelationalOperation).getGreaterOperand() = pred.asExpr() + | + succ.asExpr() = lc.getVariableAccessInLoop(loop) + ) + } - predicate isBarrier(DataFlow::Node node) { - exists(GuardCondition gc, Variable v | - gc.getAChild*() = v.getAnAccess() and - node.asExpr() = v.getAnAccess() and - gc.controls(node.asExpr().getBasicBlock(), _) - ) - } - } - - module NetworkToBufferSizeFlow = TaintTracking::Global; - - from DataFlow::Node ntohl, DataFlow::Node offset - where NetworkToBufferSizeFlow::flow(ntohl, offset) - select offset, "This array offset may be influenced by $@.", ntohl, - "converted data from the network" + predicate isBarrier(DataFlow::Node node) { + exists(GuardCondition gc, Variable v | + gc.getAChild*() = v.getAnAccess() and + node.asExpr() = v.getAnAccess() and + gc.controls(node.asExpr().getBasicBlock(), _) and + not exists(Loop loop | loop.getControllingExpr() = gc) + ) + } + } + module NetworkToBufferSizeFlow = TaintTracking::Global; + from DataFlow::Node ntohl, DataFlow::Node offset + where NetworkToBufferSizeFlow::flow(ntohl, offset) + select offset, "This array offset may be influenced by $@.", ntohl, + "converted data from the network" Exercises ~~~~~~~~~ @@ -301,11 +325,15 @@ Exercise 1 .. code-block:: ql - import semmle.code.cpp.dataflow.DataFlow + import cpp + import semmle.code.cpp.dataflow.new.DataFlow - from StringLiteral sl, FunctionCall fc - where fc.getTarget().hasName("gethostbyname") - and DataFlow::localFlow(DataFlow::exprNode(sl), DataFlow::exprNode(fc.getArgument(0))) + from StringLiteral sl, FunctionCall fc, DataFlow::Node source, DataFlow::Node sink + where + fc.getTarget().hasName("gethostbyname") and + source.asIndirectExpr(1) = sl and + sink.asIndirectExpr(1) = fc.getArgument(0) and + DataFlow::localFlow(source, sink) select sl, fc Exercise 2 @@ -313,24 +341,30 @@ Exercise 2 .. code-block:: ql - import semmle.code.cpp.dataflow.DataFlow + import cpp + import semmle.code.cpp.dataflow.new.DataFlow module LiteralToGethostbynameConfiguration implements DataFlow::ConfigSig { predicate isSource(DataFlow::Node source) { - source.asExpr() instanceof StringLiteral + source.asIndirectExpr(1) instanceof StringLiteral } predicate isSink(DataFlow::Node sink) { - exists (FunctionCall fc | - sink.asExpr() = fc.getArgument(0) and - fc.getTarget().hasName("gethostbyname")) + exists(FunctionCall fc | + sink.asIndirectExpr(1) = fc.getArgument(0) and + fc.getTarget().hasName("gethostbyname") + ) } } module LiteralToGethostbynameFlow = DataFlow::Global; - from StringLiteral sl, FunctionCall fc - where LiteralToGethostbynameFlow::flow(DataFlow::exprNode(sl), DataFlow::exprNode(fc.getArgument(0))) + from + StringLiteral sl, FunctionCall fc, DataFlow::Node source, DataFlow::Node sink + where + source.asIndirectExpr(1) = sl and + sink.asIndirectExpr(1) = fc.getArgument(0) and + LiteralToGethostbynameFlow::flow(source, sink) select sl, fc Exercise 3 @@ -339,11 +373,10 @@ Exercise 3 .. code-block:: ql import cpp + import semmle.code.cpp.dataflow.new.DataFlow - class GetenvSource extends FunctionCall { - GetenvSource() { - this.getTarget().hasGlobalName("getenv") - } + class GetenvSource extends DataFlow::Node { + GetenvSource() { this.asIndirectExpr(1).(FunctionCall).getTarget().hasGlobalName("getenv") } } Exercise 4 @@ -351,31 +384,33 @@ Exercise 4 .. code-block:: ql - import semmle.code.cpp.dataflow.DataFlow + import cpp + import semmle.code.cpp.dataflow.new.DataFlow class GetenvSource extends DataFlow::Node { - GetenvSource() { - this.asExpr().(FunctionCall).getTarget().hasGlobalName("getenv") - } + GetenvSource() { this.asIndirectExpr(1).(FunctionCall).getTarget().hasGlobalName("getenv") } } module GetenvToGethostbynameConfiguration implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { - source instanceof GetenvSource - } + predicate isSource(DataFlow::Node source) { source instanceof GetenvSource } predicate isSink(DataFlow::Node sink) { - exists (FunctionCall fc | - sink.asExpr() = fc.getArgument(0) and - fc.getTarget().hasName("gethostbyname")) + exists(FunctionCall fc | + sink.asIndirectExpr(1) = fc.getArgument(0) and + fc.getTarget().hasName("gethostbyname") + ) } } module GetenvToGethostbynameFlow = DataFlow::Global; - from DataFlow::Node getenv, FunctionCall fc - where GetenvToGethostbynameFlow::flow(getenv, DataFlow::exprNode(fc.getArgument(0))) - select getenv.asExpr(), fc + from + Expr getenv, FunctionCall fc, DataFlow::Node source, DataFlow::Node sink + where + source.asIndirectExpr(1) = getenv and + sink.asIndirectExpr(1) = fc.getArgument(0) and + GetenvToGethostbynameFlow::flow(source, sink) + select getenv, fc Further reading --------------- From f0bc55e8d7fc49ccf8328747f52503bb7ae53eba Mon Sep 17 00:00:00 2001 From: Felicity Chapman Date: Mon, 12 Aug 2024 12:08:44 +0100 Subject: [PATCH 023/258] Update references and remove unwanted reusable --- .../advanced-dataflow-scenarios-cpp.rst | 6 ++---- docs/codeql/codeql-language-guides/codeql-for-cpp.rst | 3 +-- docs/codeql/reusables/cpp-new-dataflow-api-note.rst | 3 --- 3 files changed, 3 insertions(+), 9 deletions(-) delete mode 100644 docs/codeql/reusables/cpp-new-dataflow-api-note.rst diff --git a/docs/codeql/codeql-language-guides/advanced-dataflow-scenarios-cpp.rst b/docs/codeql/codeql-language-guides/advanced-dataflow-scenarios-cpp.rst index 09d7e9ab7e4..3153d90b1e5 100644 --- a/docs/codeql/codeql-language-guides/advanced-dataflow-scenarios-cpp.rst +++ b/docs/codeql/codeql-language-guides/advanced-dataflow-scenarios-cpp.rst @@ -1,7 +1,5 @@ .. _advanced-dataflow-scenarios-cpp: -.. include:: ../reusables/cpp-new-dataflow-api-note.rst - Advanced dataflow scenarios for C/C++ ====================================== @@ -102,7 +100,7 @@ This data flow is simple to match because the CodeQL database contains the infor Flow from a qualifier to a field access --------------------------------------- -Sometimes field accesses are not visible to CodeQL (for example, because the implementation of the function isn't included in the database), and so dataflow cannot match up all stores with reads. This leads to missing (false negative) results. +Sometimes field accesses are not visible to CodeQL (for example, because the implementation of the function isn't included in the database), and so dataflow cannot match up all stores with reads. This leads to missing (false negative) results. For example, consider an alternative setup where our source of data starts as the outgoing argument of a function ``write_user_input_to``. We can model this setup in the dataflow library using the following ``isSource``: @@ -456,4 +454,4 @@ The ``allowImplicitRead`` predicate specifies that if we're at a node that satis 3. The data flowing to the indirection of ``&b`` (i.e., the object ``b``). 4. An implicit read of the field ``x`` followed by an implicit read of the field ``a`` at the sink. -Thus, we end up at a node that satisfies ``isSink`` with an empty access path, and successfully track the full dataflow path. \ No newline at end of file +Thus, we end up at a node that satisfies ``isSink`` with an empty access path, and successfully track the full dataflow path. diff --git a/docs/codeql/codeql-language-guides/codeql-for-cpp.rst b/docs/codeql/codeql-language-guides/codeql-for-cpp.rst index 8c08ac761db..40d7fba1993 100644 --- a/docs/codeql/codeql-language-guides/codeql-for-cpp.rst +++ b/docs/codeql/codeql-language-guides/codeql-for-cpp.rst @@ -14,7 +14,6 @@ Experiment and learn how to write effective and efficient queries for CodeQL dat expressions-types-and-statements-in-cpp conversions-and-classes-in-cpp analyzing-data-flow-in-cpp - analyzing-data-flow-in-cpp-new refining-a-query-to-account-for-edge-cases detecting-a-potential-buffer-overflow using-the-guards-library-in-cpp @@ -35,7 +34,7 @@ Experiment and learn how to write effective and efficient queries for CodeQL dat - :doc:`Conversions and classes in C and C++ `: You can use the standard CodeQL libraries for C and C++ to detect when the type of an expression is changed. -- :doc:`Analyzing data flow in C and C++ `: You can use data flow analysis to track the flow of potentially malicious or insecure data that can cause vulnerabilities in your codebase. For information about converting queries from the legacy workflow, see `New dataflow API for CodeQL query writing `__. +- :doc:`Analyzing data flow in C and C++ `: You can use data flow analysis to track the flow of potentially malicious or insecure data that can cause vulnerabilities in your codebase. For information about converting queries from the legacy workflow, see `New dataflow API for CodeQL query writing `__. - :doc:`Refining a query to account for edge cases `: You can improve the results generated by a CodeQL query by adding conditions to remove false positive results caused by common edge cases. diff --git a/docs/codeql/reusables/cpp-new-dataflow-api-note.rst b/docs/codeql/reusables/cpp-new-dataflow-api-note.rst deleted file mode 100644 index a267ab20a02..00000000000 --- a/docs/codeql/reusables/cpp-new-dataflow-api-note.rst +++ /dev/null @@ -1,3 +0,0 @@ -.. pull-quote:: Note - - The data flow library described here is available from CodeQL 2.12.5 onwards. With the release of CodeQL 2.13.0 the library uses the new modular API for data flow. For information on the previous version of the library, see :ref:`Analyzing data flow in C and C++ ` and for information about the new modular API and how to migrate any existing queries to the updated data flow library, see `New dataflow API for CodeQL query writing `__. \ No newline at end of file From 345e1840f26221a33bbbdc191bb1b62742c7964f Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Mon, 5 Aug 2024 18:56:17 +0100 Subject: [PATCH 024/258] Swift: Add more test cases for swift/cleartext-transmission. --- .../CWE-311/CleartextTransmission.expected | 44 +++++++++++++++++++ .../Security/CWE-311/SensitiveExprs.expected | 11 +++++ .../Security/CWE-311/testURL.swift | 24 ++++++++++ 3 files changed, 79 insertions(+) diff --git a/swift/ql/test/query-tests/Security/CWE-311/CleartextTransmission.expected b/swift/ql/test/query-tests/Security/CWE-311/CleartextTransmission.expected index e936d57298a..98e3f0167a4 100644 --- a/swift/ql/test/query-tests/Security/CWE-311/CleartextTransmission.expected +++ b/swift/ql/test/query-tests/Security/CWE-311/CleartextTransmission.expected @@ -32,6 +32,17 @@ edges | testURL.swift:105:19:105:53 | call to String.init(data:encoding:) | testURL.swift:106:20:106:20 | "..." | provenance | | | testURL.swift:105:19:105:53 | call to String.init(data:encoding:) [some:0] | testURL.swift:105:6:105:10 | let ...? [some:0] | provenance | | | testURL.swift:105:32:105:32 | data | testURL.swift:105:19:105:53 | call to String.init(data:encoding:) [some:0] | provenance | | +| testURL.swift:116:52:116:52 | email | testURL.swift:116:18:116:18 | "..." | provenance | | +| testURL.swift:117:28:117:28 | email | testURL.swift:117:18:117:18 | "..." | provenance | | +| testURL.swift:118:53:118:53 | secret_key | testURL.swift:118:18:118:18 | "..." | provenance | | +| testURL.swift:119:60:119:60 | email | testURL.swift:119:18:119:18 | "..." | provenance | | +| testURL.swift:123:52:123:52 | phone_number | testURL.swift:123:18:123:18 | "..." | provenance | | +| testURL.swift:124:25:124:25 | phone_number | testURL.swift:124:18:124:18 | "..." | provenance | | +| testURL.swift:125:31:125:31 | phone_number | testURL.swift:125:18:125:18 | "..." | provenance | | +| testURL.swift:126:28:126:28 | phone_number | testURL.swift:126:18:126:18 | "..." | provenance | | +| testURL.swift:127:25:127:25 | phone_number | testURL.swift:127:18:127:18 | "..." | provenance | | +| testURL.swift:131:37:131:37 | account_no | testURL.swift:131:18:131:18 | "..." | provenance | | +| testURL.swift:132:39:132:39 | account_no | testURL.swift:132:18:132:18 | "..." | provenance | | nodes | file://:0:0:0:0 | .value | semmle.label | .value | | file://:0:0:0:0 | self | semmle.label | self | @@ -90,6 +101,28 @@ nodes | testURL.swift:105:19:105:53 | call to String.init(data:encoding:) [some:0] | semmle.label | call to String.init(data:encoding:) [some:0] | | testURL.swift:105:32:105:32 | data | semmle.label | data | | testURL.swift:106:20:106:20 | "..." | semmle.label | "..." | +| testURL.swift:116:18:116:18 | "..." | semmle.label | "..." | +| testURL.swift:116:52:116:52 | email | semmle.label | email | +| testURL.swift:117:18:117:18 | "..." | semmle.label | "..." | +| testURL.swift:117:28:117:28 | email | semmle.label | email | +| testURL.swift:118:18:118:18 | "..." | semmle.label | "..." | +| testURL.swift:118:53:118:53 | secret_key | semmle.label | secret_key | +| testURL.swift:119:18:119:18 | "..." | semmle.label | "..." | +| testURL.swift:119:60:119:60 | email | semmle.label | email | +| testURL.swift:123:18:123:18 | "..." | semmle.label | "..." | +| testURL.swift:123:52:123:52 | phone_number | semmle.label | phone_number | +| testURL.swift:124:18:124:18 | "..." | semmle.label | "..." | +| testURL.swift:124:25:124:25 | phone_number | semmle.label | phone_number | +| testURL.swift:125:18:125:18 | "..." | semmle.label | "..." | +| testURL.swift:125:31:125:31 | phone_number | semmle.label | phone_number | +| testURL.swift:126:18:126:18 | "..." | semmle.label | "..." | +| testURL.swift:126:28:126:28 | phone_number | semmle.label | phone_number | +| testURL.swift:127:18:127:18 | "..." | semmle.label | "..." | +| testURL.swift:127:25:127:25 | phone_number | semmle.label | phone_number | +| testURL.swift:131:18:131:18 | "..." | semmle.label | "..." | +| testURL.swift:131:37:131:37 | account_no | semmle.label | account_no | +| testURL.swift:132:18:132:18 | "..." | semmle.label | "..." | +| testURL.swift:132:39:132:39 | account_no | semmle.label | account_no | subpaths | testSend.swift:60:17:60:17 | password | testSend.swift:41:10:41:18 | data | testSend.swift:41:45:41:45 | data | testSend.swift:60:13:60:25 | call to pad(_:) | | testSend.swift:94:27:94:30 | .password | testSend.swift:86:7:86:7 | self | file://:0:0:0:0 | .value | testSend.swift:94:27:94:39 | .value | @@ -121,3 +154,14 @@ subpaths | testURL.swift:75:18:75:69 | ... .+(_:_:) ... | testURL.swift:75:53:75:69 | call to get_cert_string() | testURL.swift:75:18:75:69 | ... .+(_:_:) ... | This operation transmits '... .+(_:_:) ...', which may contain unencrypted sensitive data from $@. | testURL.swift:75:53:75:69 | call to get_cert_string() | call to get_cert_string() | | testURL.swift:96:18:96:18 | "..." | testURL.swift:96:51:96:51 | certificate | testURL.swift:96:18:96:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:96:51:96:51 | certificate | certificate | | testURL.swift:106:20:106:20 | "..." | testURL.swift:104:16:104:57 | call to SecKeyCopyExternalRepresentation(_:_:) | testURL.swift:106:20:106:20 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:104:16:104:57 | call to SecKeyCopyExternalRepresentation(_:_:) | call to SecKeyCopyExternalRepresentation(_:_:) | +| testURL.swift:116:18:116:18 | "..." | testURL.swift:116:52:116:52 | email | testURL.swift:116:18:116:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:116:52:116:52 | email | email | +| testURL.swift:117:18:117:18 | "..." | testURL.swift:117:28:117:28 | email | testURL.swift:117:18:117:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:117:28:117:28 | email | email | +| testURL.swift:118:18:118:18 | "..." | testURL.swift:118:53:118:53 | secret_key | testURL.swift:118:18:118:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:118:53:118:53 | secret_key | secret_key | +| testURL.swift:119:18:119:18 | "..." | testURL.swift:119:60:119:60 | email | testURL.swift:119:18:119:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:119:60:119:60 | email | email | +| testURL.swift:123:18:123:18 | "..." | testURL.swift:123:52:123:52 | phone_number | testURL.swift:123:18:123:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:123:52:123:52 | phone_number | phone_number | +| testURL.swift:124:18:124:18 | "..." | testURL.swift:124:25:124:25 | phone_number | testURL.swift:124:18:124:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:124:25:124:25 | phone_number | phone_number | +| testURL.swift:125:18:125:18 | "..." | testURL.swift:125:31:125:31 | phone_number | testURL.swift:125:18:125:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:125:31:125:31 | phone_number | phone_number | +| testURL.swift:126:18:126:18 | "..." | testURL.swift:126:28:126:28 | phone_number | testURL.swift:126:18:126:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:126:28:126:28 | phone_number | phone_number | +| testURL.swift:127:18:127:18 | "..." | testURL.swift:127:25:127:25 | phone_number | testURL.swift:127:18:127:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:127:25:127:25 | phone_number | phone_number | +| testURL.swift:131:18:131:18 | "..." | testURL.swift:131:37:131:37 | account_no | testURL.swift:131:18:131:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:131:37:131:37 | account_no | account_no | +| testURL.swift:132:18:132:18 | "..." | testURL.swift:132:39:132:39 | account_no | testURL.swift:132:18:132:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:132:39:132:39 | account_no | account_no | diff --git a/swift/ql/test/query-tests/Security/CWE-311/SensitiveExprs.expected b/swift/ql/test/query-tests/Security/CWE-311/SensitiveExprs.expected index 353d6d0a631..c4ff7f42b2e 100644 --- a/swift/ql/test/query-tests/Security/CWE-311/SensitiveExprs.expected +++ b/swift/ql/test/query-tests/Security/CWE-311/SensitiveExprs.expected @@ -182,3 +182,14 @@ | testURL.swift:75:53:75:69 | call to get_cert_string() | label:get_cert_string, type:credential | | testURL.swift:96:51:96:51 | certificate | label:certificate, type:credential | | testURL.swift:104:16:104:57 | call to SecKeyCopyExternalRepresentation(_:_:) | label:password, type:password | +| testURL.swift:116:52:116:52 | email | label:email, type:private information | +| testURL.swift:117:28:117:28 | email | label:email, type:private information | +| testURL.swift:118:53:118:53 | secret_key | label:secret_key, type:credential | +| testURL.swift:119:60:119:60 | email | label:email, type:private information | +| testURL.swift:123:52:123:52 | phone_number | label:phone_number, type:private information | +| testURL.swift:124:25:124:25 | phone_number | label:phone_number, type:private information | +| testURL.swift:125:31:125:31 | phone_number | label:phone_number, type:private information | +| testURL.swift:126:28:126:28 | phone_number | label:phone_number, type:private information | +| testURL.swift:127:25:127:25 | phone_number | label:phone_number, type:private information | +| testURL.swift:131:37:131:37 | account_no | label:account_no, type:private information | +| testURL.swift:132:39:132:39 | account_no | label:account_no, type:private information | diff --git a/swift/ql/test/query-tests/Security/CWE-311/testURL.swift b/swift/ql/test/query-tests/Security/CWE-311/testURL.swift index 1a43fcd6679..d02addfef6c 100644 --- a/swift/ql/test/query-tests/Security/CWE-311/testURL.swift +++ b/swift/ql/test/query-tests/Security/CWE-311/testURL.swift @@ -107,3 +107,27 @@ func test4(key: SecKey) { } } } + +func test5() { + // variant URL types... + let email = get_string() + let secret_key = get_string() + + _ = URL(string: "http://example.com/login?email=\(email)"); // BAD + _ = URL(string: "mailto:\(email)"); // GOOD (revealing your e-amil address in an e-mail is expected) [FALSE POSITIVE] + _ = URL(string: "mailto:info@example.com?subject=\(secret_key)"); // BAD + _ = URL(string: "mailto:info@example.com?subject=foo&cc=\(email)"); // GOOD [FALSE POSITIVE] + + let phone_number = get_string() + + _ = URL(string: "http://example.com/profile?tel=\(phone_number)"); // BAD + _ = URL(string: "tel:\(phone_number)") // GOOD [FALSE POSITIVE] + _ = URL(string: "telprompt:\(phone_number)") // GOOD [FALSE POSITIVE] + _ = URL(string: "callto:\(phone_number)") // GOOD [FALSE POSITIVE] + _ = URL(string: "sms:\(phone_number)") // GOOD [FALSE POSITIVE] + + let account_no = get_string() + + _ = URL(string: "file:///foo/bar/\(account_no).csv") // GOOD (local, so not transmitted) [FALSE POSITIVE] + _ = URL(string: "ftp://example.com/\(account_no).csv") // BAD +} From 897bfb5517af3bf393902ea0e818ff70eca61ca0 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Mon, 12 Aug 2024 15:58:31 +0100 Subject: [PATCH 025/258] Swift: Convert URL sinks for swift/cleartext-transmission to be defined in QL. --- .../CleartextTransmissionExtensions.qll | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/swift/ql/lib/codeql/swift/security/CleartextTransmissionExtensions.qll b/swift/ql/lib/codeql/swift/security/CleartextTransmissionExtensions.qll index 752dc278cce..cc3b064d455 100644 --- a/swift/ql/lib/codeql/swift/security/CleartextTransmissionExtensions.qll +++ b/swift/ql/lib/codeql/swift/security/CleartextTransmissionExtensions.qll @@ -48,6 +48,23 @@ private class AlamofireTransmittedSink extends CleartextTransmissionSink { } } +/** + * A `URL` that is a sink for this query. Not all URLs are considered sinks, depending + * on their content. + */ +private class URLTransmittedSink extends CleartextTransmissionSink { + URLTransmittedSink() { + // sinks are the first argument containing the URL, and the `parameters` + // and `headers` arguments to appropriate methods of `Session`. + exists(CallExpr call | + call.getStaticTarget() + .(Method) + .hasQualifiedName("URL", ["init(string:)", "init(string:relativeTo:)"]) and + call.getArgument(0).getExpr() = this.asExpr() + ) + } +} + /** * A barrier for cleartext transmission vulnerabilities. * - encryption; encrypted values are not cleartext. @@ -81,12 +98,6 @@ private class DefaultCleartextTransmissionSink extends CleartextTransmissionSink private class TransmissionSinks extends SinkModelCsv { override predicate row(string row) { row = - [ - ";NWConnection;true;send(content:contentContext:isComplete:completion:);;;Argument[0];transmission", - // an `Expr` that is used to form a `URL` is very likely to be transmitted over a network, because - // that's what URLs are for. - ";URL;true;init(string:);;;Argument[0];transmission", - ";URL;true;init(string:relativeTo:);;;Argument[0];transmission", - ] + ";NWConnection;true;send(content:contentContext:isComplete:completion:);;;Argument[0];transmission" } } From 446c9921817ced5d8d5626f50edb3b500068d475 Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Mon, 12 Aug 2024 18:43:10 +0100 Subject: [PATCH 026/258] Swift: Exclude tel:, mailto: and similar URLs from the query. --- .../CleartextTransmissionExtensions.qll | 46 +++++++++++++++---- .../CWE-311/CleartextTransmission.expected | 32 ------------- .../Security/CWE-311/testURL.swift | 16 +++---- 3 files changed, 44 insertions(+), 50 deletions(-) diff --git a/swift/ql/lib/codeql/swift/security/CleartextTransmissionExtensions.qll b/swift/ql/lib/codeql/swift/security/CleartextTransmissionExtensions.qll index cc3b064d455..4b31a7ab23f 100644 --- a/swift/ql/lib/codeql/swift/security/CleartextTransmissionExtensions.qll +++ b/swift/ql/lib/codeql/swift/security/CleartextTransmissionExtensions.qll @@ -7,6 +7,7 @@ import swift import codeql.swift.security.SensitiveExprs import codeql.swift.dataflow.DataFlow import codeql.swift.dataflow.ExternalFlow +import codeql.swift.dataflow.TaintTracking /** * A dataflow sink for cleartext transmission vulnerabilities. That is, @@ -48,20 +49,45 @@ private class AlamofireTransmittedSink extends CleartextTransmissionSink { } } +/** + * A call to `URL.init`. + */ +private predicate urlInit(CallExpr urlInit, Expr withString) { + urlInit + .getStaticTarget() + .(Method) + .hasQualifiedName("URL", ["init(string:)", "init(string:relativeTo:)"]) and + urlInit.getArgument(0).getExpr() = withString +} + +/** + * A data flow configuration for tracking string literals representing `tel:` and similar + * URLs to creation of URL objects. + */ +private module ExcludeUrlConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node node) { + node.asExpr() + .(StringLiteralExpr) + .getValue() + .regexpMatch("^(mailto|file|tel|telprompt|callto|sms):.*") + } + + predicate isSink(DataFlow::Node node) { urlInit(_, node.asExpr()) } +} + +private module ExcludeUrlFlow = TaintTracking::Global; + /** * A `URL` that is a sink for this query. Not all URLs are considered sinks, depending * on their content. */ -private class URLTransmittedSink extends CleartextTransmissionSink { - URLTransmittedSink() { - // sinks are the first argument containing the URL, and the `parameters` - // and `headers` arguments to appropriate methods of `Session`. - exists(CallExpr call | - call.getStaticTarget() - .(Method) - .hasQualifiedName("URL", ["init(string:)", "init(string:relativeTo:)"]) and - call.getArgument(0).getExpr() = this.asExpr() - ) +private class UrlTransmittedSink extends CleartextTransmissionSink { + UrlTransmittedSink() { + urlInit(_, this.asExpr()) and + // exclude `tel:` and similar URLs. These URLs necessarily contain + // sensitive data which you expect to transmit only by making the + // phone call (or similar operation). + not ExcludeUrlFlow::flow(_, this) } } diff --git a/swift/ql/test/query-tests/Security/CWE-311/CleartextTransmission.expected b/swift/ql/test/query-tests/Security/CWE-311/CleartextTransmission.expected index 98e3f0167a4..c772466344a 100644 --- a/swift/ql/test/query-tests/Security/CWE-311/CleartextTransmission.expected +++ b/swift/ql/test/query-tests/Security/CWE-311/CleartextTransmission.expected @@ -33,15 +33,7 @@ edges | testURL.swift:105:19:105:53 | call to String.init(data:encoding:) [some:0] | testURL.swift:105:6:105:10 | let ...? [some:0] | provenance | | | testURL.swift:105:32:105:32 | data | testURL.swift:105:19:105:53 | call to String.init(data:encoding:) [some:0] | provenance | | | testURL.swift:116:52:116:52 | email | testURL.swift:116:18:116:18 | "..." | provenance | | -| testURL.swift:117:28:117:28 | email | testURL.swift:117:18:117:18 | "..." | provenance | | -| testURL.swift:118:53:118:53 | secret_key | testURL.swift:118:18:118:18 | "..." | provenance | | -| testURL.swift:119:60:119:60 | email | testURL.swift:119:18:119:18 | "..." | provenance | | | testURL.swift:123:52:123:52 | phone_number | testURL.swift:123:18:123:18 | "..." | provenance | | -| testURL.swift:124:25:124:25 | phone_number | testURL.swift:124:18:124:18 | "..." | provenance | | -| testURL.swift:125:31:125:31 | phone_number | testURL.swift:125:18:125:18 | "..." | provenance | | -| testURL.swift:126:28:126:28 | phone_number | testURL.swift:126:18:126:18 | "..." | provenance | | -| testURL.swift:127:25:127:25 | phone_number | testURL.swift:127:18:127:18 | "..." | provenance | | -| testURL.swift:131:37:131:37 | account_no | testURL.swift:131:18:131:18 | "..." | provenance | | | testURL.swift:132:39:132:39 | account_no | testURL.swift:132:18:132:18 | "..." | provenance | | nodes | file://:0:0:0:0 | .value | semmle.label | .value | @@ -103,24 +95,8 @@ nodes | testURL.swift:106:20:106:20 | "..." | semmle.label | "..." | | testURL.swift:116:18:116:18 | "..." | semmle.label | "..." | | testURL.swift:116:52:116:52 | email | semmle.label | email | -| testURL.swift:117:18:117:18 | "..." | semmle.label | "..." | -| testURL.swift:117:28:117:28 | email | semmle.label | email | -| testURL.swift:118:18:118:18 | "..." | semmle.label | "..." | -| testURL.swift:118:53:118:53 | secret_key | semmle.label | secret_key | -| testURL.swift:119:18:119:18 | "..." | semmle.label | "..." | -| testURL.swift:119:60:119:60 | email | semmle.label | email | | testURL.swift:123:18:123:18 | "..." | semmle.label | "..." | | testURL.swift:123:52:123:52 | phone_number | semmle.label | phone_number | -| testURL.swift:124:18:124:18 | "..." | semmle.label | "..." | -| testURL.swift:124:25:124:25 | phone_number | semmle.label | phone_number | -| testURL.swift:125:18:125:18 | "..." | semmle.label | "..." | -| testURL.swift:125:31:125:31 | phone_number | semmle.label | phone_number | -| testURL.swift:126:18:126:18 | "..." | semmle.label | "..." | -| testURL.swift:126:28:126:28 | phone_number | semmle.label | phone_number | -| testURL.swift:127:18:127:18 | "..." | semmle.label | "..." | -| testURL.swift:127:25:127:25 | phone_number | semmle.label | phone_number | -| testURL.swift:131:18:131:18 | "..." | semmle.label | "..." | -| testURL.swift:131:37:131:37 | account_no | semmle.label | account_no | | testURL.swift:132:18:132:18 | "..." | semmle.label | "..." | | testURL.swift:132:39:132:39 | account_no | semmle.label | account_no | subpaths @@ -155,13 +131,5 @@ subpaths | testURL.swift:96:18:96:18 | "..." | testURL.swift:96:51:96:51 | certificate | testURL.swift:96:18:96:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:96:51:96:51 | certificate | certificate | | testURL.swift:106:20:106:20 | "..." | testURL.swift:104:16:104:57 | call to SecKeyCopyExternalRepresentation(_:_:) | testURL.swift:106:20:106:20 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:104:16:104:57 | call to SecKeyCopyExternalRepresentation(_:_:) | call to SecKeyCopyExternalRepresentation(_:_:) | | testURL.swift:116:18:116:18 | "..." | testURL.swift:116:52:116:52 | email | testURL.swift:116:18:116:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:116:52:116:52 | email | email | -| testURL.swift:117:18:117:18 | "..." | testURL.swift:117:28:117:28 | email | testURL.swift:117:18:117:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:117:28:117:28 | email | email | -| testURL.swift:118:18:118:18 | "..." | testURL.swift:118:53:118:53 | secret_key | testURL.swift:118:18:118:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:118:53:118:53 | secret_key | secret_key | -| testURL.swift:119:18:119:18 | "..." | testURL.swift:119:60:119:60 | email | testURL.swift:119:18:119:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:119:60:119:60 | email | email | | testURL.swift:123:18:123:18 | "..." | testURL.swift:123:52:123:52 | phone_number | testURL.swift:123:18:123:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:123:52:123:52 | phone_number | phone_number | -| testURL.swift:124:18:124:18 | "..." | testURL.swift:124:25:124:25 | phone_number | testURL.swift:124:18:124:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:124:25:124:25 | phone_number | phone_number | -| testURL.swift:125:18:125:18 | "..." | testURL.swift:125:31:125:31 | phone_number | testURL.swift:125:18:125:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:125:31:125:31 | phone_number | phone_number | -| testURL.swift:126:18:126:18 | "..." | testURL.swift:126:28:126:28 | phone_number | testURL.swift:126:18:126:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:126:28:126:28 | phone_number | phone_number | -| testURL.swift:127:18:127:18 | "..." | testURL.swift:127:25:127:25 | phone_number | testURL.swift:127:18:127:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:127:25:127:25 | phone_number | phone_number | -| testURL.swift:131:18:131:18 | "..." | testURL.swift:131:37:131:37 | account_no | testURL.swift:131:18:131:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:131:37:131:37 | account_no | account_no | | testURL.swift:132:18:132:18 | "..." | testURL.swift:132:39:132:39 | account_no | testURL.swift:132:18:132:18 | "..." | This operation transmits '"..."', which may contain unencrypted sensitive data from $@. | testURL.swift:132:39:132:39 | account_no | account_no | diff --git a/swift/ql/test/query-tests/Security/CWE-311/testURL.swift b/swift/ql/test/query-tests/Security/CWE-311/testURL.swift index d02addfef6c..8e6a10ce077 100644 --- a/swift/ql/test/query-tests/Security/CWE-311/testURL.swift +++ b/swift/ql/test/query-tests/Security/CWE-311/testURL.swift @@ -114,20 +114,20 @@ func test5() { let secret_key = get_string() _ = URL(string: "http://example.com/login?email=\(email)"); // BAD - _ = URL(string: "mailto:\(email)"); // GOOD (revealing your e-amil address in an e-mail is expected) [FALSE POSITIVE] - _ = URL(string: "mailto:info@example.com?subject=\(secret_key)"); // BAD - _ = URL(string: "mailto:info@example.com?subject=foo&cc=\(email)"); // GOOD [FALSE POSITIVE] + _ = URL(string: "mailto:\(email)"); // GOOD (revealing your e-amil address in an e-mail is expected) + _ = URL(string: "mailto:info@example.com?subject=\(secret_key)"); // BAD [NOT DETECTED] + _ = URL(string: "mailto:info@example.com?subject=foo&cc=\(email)"); // GOOD let phone_number = get_string() _ = URL(string: "http://example.com/profile?tel=\(phone_number)"); // BAD - _ = URL(string: "tel:\(phone_number)") // GOOD [FALSE POSITIVE] - _ = URL(string: "telprompt:\(phone_number)") // GOOD [FALSE POSITIVE] - _ = URL(string: "callto:\(phone_number)") // GOOD [FALSE POSITIVE] - _ = URL(string: "sms:\(phone_number)") // GOOD [FALSE POSITIVE] + _ = URL(string: "tel:\(phone_number)") // GOOD + _ = URL(string: "telprompt:\(phone_number)") // GOOD + _ = URL(string: "callto:\(phone_number)") // GOOD + _ = URL(string: "sms:\(phone_number)") // GOOD let account_no = get_string() - _ = URL(string: "file:///foo/bar/\(account_no).csv") // GOOD (local, so not transmitted) [FALSE POSITIVE] + _ = URL(string: "file:///foo/bar/\(account_no).csv") // GOOD (local, so not transmitted) _ = URL(string: "ftp://example.com/\(account_no).csv") // BAD } From 8646643f0eb2a21fc2388e97e3936bdd201c857f Mon Sep 17 00:00:00 2001 From: Geoffrey White <40627776+geoffw0@users.noreply.github.com> Date: Mon, 12 Aug 2024 18:47:45 +0100 Subject: [PATCH 027/258] Swift: Change note. --- .../ql/src/change-notes/2024-08-12-cleartext-transmission.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 swift/ql/src/change-notes/2024-08-12-cleartext-transmission.md diff --git a/swift/ql/src/change-notes/2024-08-12-cleartext-transmission.md b/swift/ql/src/change-notes/2024-08-12-cleartext-transmission.md new file mode 100644 index 00000000000..d8f3f3d16d5 --- /dev/null +++ b/swift/ql/src/change-notes/2024-08-12-cleartext-transmission.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* False positive results from the `swift/cleartext-transmission` ("Cleartext transmission of sensitive information") query involving `tel:`, `mailto:` and similar URLs have been fixed. From be0a60a7f65f7de42062a617b1566768bb9ed398 Mon Sep 17 00:00:00 2001 From: Mauro Baluda Date: Tue, 13 Aug 2024 14:45:03 +0200 Subject: [PATCH 028/258] Add support for importing NPM modules in XSJS sources --- javascript/ql/lib/semmle/javascript/NodeJS.qll | 9 +++++++++ .../Security/CWE-326/InsufficientKeySize.expected | 1 + javascript/ql/test/query-tests/Security/CWE-326/tst.xsjs | 5 +++++ 3 files changed, 15 insertions(+) create mode 100644 javascript/ql/test/query-tests/Security/CWE-326/tst.xsjs diff --git a/javascript/ql/lib/semmle/javascript/NodeJS.qll b/javascript/ql/lib/semmle/javascript/NodeJS.qll index 221cee084b6..823ddae93c4 100644 --- a/javascript/ql/lib/semmle/javascript/NodeJS.qll +++ b/javascript/ql/lib/semmle/javascript/NodeJS.qll @@ -295,6 +295,15 @@ private predicate isRequire(DataFlow::Node nd) { isCreateRequire(call.getCallee().flow()) and nd = call.flow() ) + or + // `$.require('underscore');`. + // NPM as supported in [XSJS files](https://www.npmjs.com/package/@sap/async-xsjs#npm-packages-support). + exists(MethodCallExpr require | + nd.getFile().getExtension() = ["xsjs", "xsjslib"] and + require.getCalleeName() = "require" and + require.getReceiver().(GlobalVarAccess).getName() = "$" and + nd = require.getCallee().flow() + ) } /** diff --git a/javascript/ql/test/query-tests/Security/CWE-326/InsufficientKeySize.expected b/javascript/ql/test/query-tests/Security/CWE-326/InsufficientKeySize.expected index 95bb8d45832..323e5b24875 100644 --- a/javascript/ql/test/query-tests/Security/CWE-326/InsufficientKeySize.expected +++ b/javascript/ql/test/query-tests/Security/CWE-326/InsufficientKeySize.expected @@ -9,3 +9,4 @@ | tst.js:35:13:35:43 | crypto. ... an(512) | Creation of an asymmetric key uses 512 bits, which is below 2048 and considered breakable. | | tst.js:39:13:39:33 | new Nod ... : 512}) | Creation of an asymmetric RSA key uses 512 bits, which is below 2048 and considered breakable. | | tst.js:43:1:43:31 | key.gen ... 65537) | Creation of an asymmetric RSA key uses 512 bits, which is below 2048 and considered breakable. | +| tst.xsjs:3:14:3:71 | crypto. ... 1024 }) | Creation of an asymmetric RSA key uses 1024 bits, which is below 2048 and considered breakable. | diff --git a/javascript/ql/test/query-tests/Security/CWE-326/tst.xsjs b/javascript/ql/test/query-tests/Security/CWE-326/tst.xsjs new file mode 100644 index 00000000000..d5e5051af66 --- /dev/null +++ b/javascript/ql/test/query-tests/Security/CWE-326/tst.xsjs @@ -0,0 +1,5 @@ +const crypto = $.require("crypto"); + +const bad1 = crypto.generateKeyPairSync("rsa", { modulusLength: 1024 }); // NOT OK + +const good1 = crypto.generateKeyPairSync("rsa", { modulusLength: 4096 }); // OK From f6ec56a977ede420d4be1bc041ad72b8abf4fc31 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 13 Aug 2024 09:16:36 +0200 Subject: [PATCH 029/258] C#: Implement `ContentSet` --- .../dataflow/internal/DataFlowPrivate.qll | 186 ++++++++++-------- .../dataflow/internal/DataFlowPublic.qll | 72 ++++++- .../dataflow/internal/FlowSummaryImpl.qll | 49 +++-- .../internal/TaintTrackingPrivate.qll | 12 +- .../csharp/frameworks/EntityFramework.qll | 42 ++-- .../modelgenerator/internal/CaptureModels.qll | 18 +- .../internal/CaptureModelsSpecific.qll | 25 ++- .../dataflow/external-models/steps.ql | 4 +- 8 files changed, 267 insertions(+), 141 deletions(-) diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPrivate.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPrivate.qll index f1c51f222d5..fd31d2a3a38 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPrivate.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPrivate.qll @@ -908,19 +908,20 @@ private class Argument extends Expr { * * `postUpdate` indicates whether the store targets a post-update node. */ -private predicate fieldOrPropertyStore(Expr e, Content c, Expr src, Expr q, boolean postUpdate) { +private predicate fieldOrPropertyStore(Expr e, ContentSet c, Expr src, Expr q, boolean postUpdate) { exists(FieldOrProperty f | - c = f.getContent() and + c = f.getContentSet() and ( f.isFieldLike() and f instanceof InstanceFieldOrProperty or exists( FlowSummaryImpl::Private::SummarizedCallableImpl sc, - FlowSummaryImpl::Private::SummaryComponentStack input + FlowSummaryImpl::Private::SummaryComponentStack input, ContentSet readSet | sc.propagatesFlow(input, _, _, _) and - input.contains(FlowSummaryImpl::Private::SummaryComponent::content(f.getContent())) + input.contains(FlowSummaryImpl::Private::SummaryComponent::content(readSet)) and + c.getAStoreContent() = readSet.getAReadContent() ) ) | @@ -970,28 +971,13 @@ private predicate fieldOrPropertyStore(Expr e, Content c, Expr src, Expr q, bool ) } -/** Holds if property `p1` overrides or implements source declaration property `p2`. */ -private predicate overridesOrImplementsSourceDecl(Property p1, Property p2) { - p1.getOverridee*().getUnboundDeclaration() = p2 - or - p1.getAnUltimateImplementee().getUnboundDeclaration() = p2 -} - /** * Holds if `e2` is an expression that reads field or property `c` from - * expression `e1`. This takes overriding into account for properties written - * from library code. + * expression `e1`. */ -private predicate fieldOrPropertyRead(Expr e1, Content c, FieldOrPropertyRead e2) { +private predicate fieldOrPropertyRead(Expr e1, ContentSet c, FieldOrPropertyRead e2) { e1 = e2.getQualifier() and - exists(FieldOrProperty ret | c = ret.getContent() | - ret = e2.getTarget() - or - exists(Property target | - target.getGetter() = e2.(PropertyCall).getARuntimeTarget() and - overridesOrImplementsSourceDecl(target, ret) - ) - ) + c = e2.getTarget().(FieldOrProperty).getContentSet() } /** @@ -1208,6 +1194,11 @@ private module Cached { } or TCapturedVariableContent(VariableCapture::CapturedVariable v) + cached + newtype TContentSet = + TSingletonContent(Content c) { not c instanceof PropertyContent } or + TPropertyContentSet(Property p) { p.isUnboundDeclaration() } + cached newtype TContentApprox = TFieldApproxContent(string firstChar) { firstChar = approximateFieldContent(_) } or @@ -2076,10 +2067,10 @@ class FieldOrProperty extends Assignable, Modifiable { } /** Gets the content that matches this field or property. */ - Content getContent() { - result.(FieldContent).getField() = this.getUnboundDeclaration() + ContentSet getContentSet() { + result.isField(this.getUnboundDeclaration()) or - result.(PropertyContent).getProperty() = this.getUnboundDeclaration() + result.isProperty(this.getUnboundDeclaration()) } } @@ -2209,8 +2200,8 @@ private class StoreStepConfiguration extends ControlFlowReachabilityConfiguratio } pragma[nomagic] -private PropertyContent getResultContent() { - result.getProperty() = any(SystemThreadingTasksTaskTClass c_).getResultProperty() +private ContentSet getResultContent() { + result.isProperty(any(SystemThreadingTasksTaskTClass c_).getResultProperty()) } private predicate primaryConstructorParameterStore( @@ -2224,17 +2215,16 @@ private predicate primaryConstructorParameterStore( ) } -/** - * Holds if data can flow from `node1` to `node2` via an assignment to - * content `c`. - */ -predicate storeStep(Node node1, ContentSet c, Node node2) { +pragma[nomagic] +private predicate recordParameter(RecordType t, Parameter p, string name) { + p.getName() = name and p.getCallable().getDeclaringType() = t +} + +private predicate storeContentStep(Node node1, Content c, Node node2) { exists(StoreStepConfiguration x, ExprNode node, boolean postUpdate | hasNodePath(x, node1, node) and if postUpdate = true then node = node2.(PostUpdateNode).getPreUpdateNode() else node = node2 | - fieldOrPropertyStore(_, c, node1.asExpr(), node.getExpr(), postUpdate) - or arrayStore(_, node1.asExpr(), node.getExpr(), postUpdate) and c instanceof ElementContent ) or @@ -2255,26 +2245,59 @@ predicate storeStep(Node node1, ContentSet c, Node node2) { c instanceof ElementContent ) or + primaryConstructorParameterStore(node1, c, node2) + or + exists(Parameter p, DataFlowCallable callable | + node1 = TExplicitParameterNode(p, callable) and + node2 = TPrimaryConstructorThisAccessNode(p, true, callable) and + not recordParameter(_, p, _) and + c.(PrimaryConstructorParameterContent).getParameter() = p + ) + or + VariableCapture::storeStep(node1, c, node2) +} + +pragma[nomagic] +private predicate recordProperty(RecordType t, ContentSet c, string name) { + exists(Property p | + c.isProperty(p) and + p.getName() = name and + p.getDeclaringType() = t + ) +} + +/** + * Holds if data can flow from `node1` to `node2` via an assignment to + * content `c`. + */ +predicate storeStep(Node node1, ContentSet c, Node node2) { + exists(Content cont | + storeContentStep(node1, cont, node2) and + c.isSingleton(cont) + ) + or + exists(StoreStepConfiguration x, ExprNode node, boolean postUpdate | + hasNodePath(x, node1, node) and + if postUpdate = true then node = node2.(PostUpdateNode).getPreUpdateNode() else node = node2 + | + fieldOrPropertyStore(_, c, node1.asExpr(), node.getExpr(), postUpdate) + ) + or exists(Expr e | e = node1.asExpr() and node2.(AsyncReturnNode).getExpr() = e and c = getResultContent() ) or - primaryConstructorParameterStore(node1, c, node2) - or - exists(Parameter p, DataFlowCallable callable | + exists(Parameter p, DataFlowCallable callable, RecordType t, string name | node1 = TExplicitParameterNode(p, callable) and node2 = TPrimaryConstructorThisAccessNode(p, true, callable) and - if p.getCallable().getDeclaringType() instanceof RecordType - then c.(PropertyContent).getProperty().getName() = p.getName() - else c.(PrimaryConstructorParameterContent).getParameter() = p + recordParameter(t, p, name) and + recordProperty(t, c, name) ) or FlowSummaryImpl::Private::Steps::summaryStoreStep(node1.(FlowSummaryNode).getSummaryNode(), c, node2.(FlowSummaryNode).getSummaryNode()) - or - VariableCapture::storeStep(node1, c, node2) } private class ReadStepConfiguration extends ControlFlowReachabilityConfiguration { @@ -2342,14 +2365,8 @@ private class ReadStepConfiguration extends ControlFlowReachabilityConfiguration } } -/** - * Holds if data can flow from `node1` to `node2` via a read of content `c`. - */ -predicate readStep(Node node1, ContentSet c, Node node2) { +private predicate readContentStep(Node node1, Content c, Node node2) { exists(ReadStepConfiguration x | - hasNodePath(x, node1, node2) and - fieldOrPropertyRead(node1.asExpr(), c, node2.asExpr()) - or hasNodePath(x, node1, node2) and arrayRead(node1.asExpr(), node2.asExpr()) and c instanceof ElementContent @@ -2361,10 +2378,6 @@ predicate readStep(Node node1, ContentSet c, Node node2) { c instanceof ElementContent ) or - hasNodePath(x, node1, node2) and - node2.asExpr().(AwaitExpr).getExpr() = node1.asExpr() and - c = getResultContent() - or node1 = any(InstanceParameterAccessPreNode n | n.getUnderlyingControlFlowNode() = node2.(ExprNode).getControlFlowNode() and @@ -2402,31 +2415,30 @@ predicate readStep(Node node1, ContentSet c, Node node2) { ) ) or - FlowSummaryImpl::Private::Steps::summaryReadStep(node1.(FlowSummaryNode).getSummaryNode(), c, - node2.(FlowSummaryNode).getSummaryNode()) - or VariableCapture::readStep(node1, c, node2) } /** - * Holds if values stored inside content `c` are cleared at node `n`. For example, - * any value stored inside `f` is cleared at the pre-update node associated with `x` - * in `x.f = newValue`. + * Holds if data can flow from `node1` to `node2` via a read of content `c`. */ -predicate clearsContent(Node n, ContentSet c) { - fieldOrPropertyStore(_, c, _, n.asExpr(), true) - or - fieldOrPropertyStore(_, c, _, n.(ObjectInitializerNode).getInitializer(), false) - or - FlowSummaryImpl::Private::Steps::summaryClearsContent(n.(FlowSummaryNode).getSummaryNode(), c) - or - exists(WithExpr we, ObjectInitializer oi, FieldOrProperty f | - oi = we.getInitializer() and - n.asExpr() = oi and - f = oi.getAMemberInitializer().getInitializedMember() and - c = f.getContent() +predicate readStep(Node node1, ContentSet c, Node node2) { + exists(Content cont | + readContentStep(node1, cont, node2) and + c.isSingleton(cont) ) or + exists(ReadStepConfiguration x | hasNodePath(x, node1, node2) | + fieldOrPropertyRead(node1.asExpr(), c, node2.asExpr()) + or + node2.asExpr().(AwaitExpr).getExpr() = node1.asExpr() and + c = getResultContent() + ) + or + FlowSummaryImpl::Private::Steps::summaryReadStep(node1.(FlowSummaryNode).getSummaryNode(), c, + node2.(FlowSummaryNode).getSummaryNode()) +} + +private predicate clearsCont(Node n, Content c) { exists(Argument a, Struct s, Field f | a = n.(PostUpdateNode).getPreUpdateNode().asExpr() and a.getType() = s and @@ -2440,6 +2452,31 @@ predicate clearsContent(Node n, ContentSet c) { VariableCapture::clearsContent(n, c) } +/** + * Holds if values stored inside content `c` are cleared at node `n`. For example, + * any value stored inside `f` is cleared at the pre-update node associated with `x` + * in `x.f = newValue`. + */ +predicate clearsContent(Node n, ContentSet c) { + exists(Content cont | + clearsCont(n, cont) and + c.isSingleton(cont) + ) + or + fieldOrPropertyStore(_, c, _, n.asExpr(), true) + or + fieldOrPropertyStore(_, c, _, n.(ObjectInitializerNode).getInitializer(), false) + or + FlowSummaryImpl::Private::Steps::summaryClearsContent(n.(FlowSummaryNode).getSummaryNode(), c) + or + exists(WithExpr we, ObjectInitializer oi, FieldOrProperty f | + oi = we.getInitializer() and + n.asExpr() = oi and + f = oi.getAMemberInitializer().getInitializedMember() and + c = f.getContentSet() + ) +} + /** * Holds if the value that is being tracked is expected to be stored inside content `c` * at node `n`. @@ -2447,7 +2484,7 @@ predicate clearsContent(Node n, ContentSet c) { predicate expectsContent(Node n, ContentSet c) { FlowSummaryImpl::Private::Steps::summaryExpectsContent(n.(FlowSummaryNode).getSummaryNode(), c) or - n.asExpr() instanceof SpreadElementExpr and c instanceof ElementContent + n.asExpr() instanceof SpreadElementExpr and c.isElement() } class NodeRegion instanceof ControlFlow::BasicBlock { @@ -3048,8 +3085,3 @@ abstract class SyntheticField extends string { /** Gets the type of this synthetic field. */ Type getType() { result instanceof ObjectType } } - -/** - * Holds if the the content `c` is a container. - */ -predicate containerContent(DataFlow::Content c) { c instanceof DataFlow::ElementContent } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll index 4d1dc25f6e9..84e486c7a55 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll @@ -267,22 +267,84 @@ class CapturedVariableContent extends Content, TCapturedVariableContent { override Location getLocation() { result = v.getLocation() } } +/** Holds if property `p1` overrides or implements source declaration property `p2`. */ +private predicate overridesOrImplementsSourceDecl(Property p1, Property p2) { + p1.getOverridee*().getUnboundDeclaration() = p2 + or + p1.getAnUltimateImplementee().getUnboundDeclaration() = p2 +} + /** * An entity that represents a set of `Content`s. * * The set may be interpreted differently depending on whether it is * stored into (`getAStoreContent`) or read from (`getAReadContent`). */ -class ContentSet instanceof Content { +class ContentSet extends TContentSet { + /** Holds if this content set is the singleton `{c}`. */ + predicate isSingleton(Content c) { this = TSingletonContent(c) } + + /** + * Holds if this content set represents the property `p`. + * + * + * For `getAReadContent`, this set represents all properties that may + * (reflexively and transitively) override/implement `p` (or vice versa). + */ + predicate isProperty(Property p) { this = TPropertyContentSet(p) } + + /** Holds if this content set represent the field `f`. */ + predicate isField(Field f) { this.isSingleton(TFieldContent(f)) } + + /** Holds if this content set represents an element in a collection. */ + predicate isElement() { this.isSingleton(TElementContent()) } + /** Gets a content that may be stored into when storing into this set. */ - Content getAStoreContent() { result = this } + Content getAStoreContent() { + this.isSingleton(result) + or + this.isProperty(result.(PropertyContent).getProperty()) + } /** Gets a content that may be read from when reading from this set. */ - Content getAReadContent() { result = this } + Content getAReadContent() { + this.isSingleton(result) + or + exists(Property p1, Property p2 | + this.isProperty(p1) and + p2 = result.(PropertyContent).getProperty() + | + p1 = p2 + or + overridesOrImplementsSourceDecl(p2, p1) + or + overridesOrImplementsSourceDecl(p1, p2) + ) + } /** Gets a textual representation of this content set. */ - string toString() { result = super.toString() } + string toString() { + exists(Content c | + this.isSingleton(c) and + result = c.toString() + ) + or + exists(Property p | + this.isProperty(p) and + result = "property " + p.getName() + ) + } /** Gets the location of this content set. */ - Location getLocation() { result = super.getLocation() } + Location getLocation() { + exists(Content c | + this.isSingleton(c) and + result = c.getLocation() + ) + or + exists(Property p | + this.isProperty(p) and + result = p.getLocation() + ) + } } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImpl.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImpl.qll index d70f66f2cbe..d777566a336 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImpl.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImpl.qll @@ -46,7 +46,7 @@ module Input implements InputSig result = "delegate-self" } - string encodeContent(ContentSet c, string arg) { + private string encodeCont(Content c, string arg) { c = TElementContent() and result = "Element" and arg = "" or exists(Field f, string qualifier, string name | @@ -56,27 +56,34 @@ module Input implements InputSig result = "Field" ) or - exists(Property p, string qualifier, string name | - c = TPropertyContent(p) and - p.hasFullyQualifiedName(qualifier, name) and - arg = getQualifiedName(qualifier, name) and - result = "Property" - ) - or exists(SyntheticField f | c = TSyntheticFieldContent(f) and result = "SyntheticField" and arg = f ) } + string encodeContent(ContentSet c, string arg) { + exists(Content cont | + c.isSingleton(cont) and + result = encodeCont(cont, arg) + ) + or + exists(Property p, string qualifier, string name | + c.isProperty(p) and + p.hasFullyQualifiedName(qualifier, name) and + arg = getQualifiedName(qualifier, name) and + result = "Property" + ) + } + string encodeWithoutContent(ContentSet c, string arg) { result = "WithoutElement" and - c = TElementContent() and + c.isElement() and arg = "" } string encodeWithContent(ContentSet c, string arg) { result = "WithElement" and - c = TElementContent() and + c.isElement() and arg = "" } @@ -103,12 +110,10 @@ private module TypesInput implements Impl::Private::TypesInputSig { result.asGvnType() = Gvn::getGlobalValueNumber(any(ObjectType t)) } - DataFlowType getContentType(ContentSet c) { + private DataFlowType getContType(Content c) { exists(Type t | result.asGvnType() = Gvn::getGlobalValueNumber(t) | t = c.(FieldContent).getField().getType() or - t = c.(PropertyContent).getProperty().getType() - or t = c.(SyntheticFieldContent).getField().getType() or c instanceof ElementContent and @@ -116,6 +121,17 @@ private module TypesInput implements Impl::Private::TypesInputSig { ) } + DataFlowType getContentType(ContentSet c) { + exists(Content cont | + c.isSingleton(cont) and + result = getContType(cont) + ) + or + exists(Property p | + c.isProperty(p) and result.asGvnType() = Gvn::getGlobalValueNumber(p.getType()) + ) + } + DataFlowType getParameterType(Impl::Public::SummarizedCallable c, ParameterPosition pos) { exists(Type t | result.asGvnType() = Gvn::getGlobalValueNumber(t) | exists(int i | @@ -311,17 +327,16 @@ module Private { } /** Gets a summary component that represents an element in a collection. */ - SummaryComponent element() { result = content(any(DataFlow::ElementContent c)) } + SummaryComponent element() { result = content(any(ContentSet cs | cs.isElement())) } /** Gets a summary component for property `p`. */ SummaryComponent property(Property p) { - result = - content(any(DataFlow::PropertyContent c | c.getProperty() = p.getUnboundDeclaration())) + result = content(any(DataFlow::ContentSet c | c.isProperty(p.getUnboundDeclaration()))) } /** Gets a summary component for field `f`. */ SummaryComponent field(Field f) { - result = content(any(DataFlow::FieldContent c | c.getField() = f.getUnboundDeclaration())) + result = content(any(DataFlow::ContentSet c | c.isField(f.getUnboundDeclaration()))) } /** Gets a summary component that represents the return value of a call. */ diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingPrivate.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingPrivate.qll index 11c47c1d37e..25de2681862 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingPrivate.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingPrivate.qll @@ -122,22 +122,22 @@ private module Cached { FlowSummaryImpl::Private::Steps::summaryThroughStepTaint(nodeFrom, nodeTo, _) or // Taint collection by adding a tainted element - exists(DataFlow::ElementContent c | + exists(DataFlow::ContentSet c | c.isElement() | storeStep(nodeFrom, c, nodeTo) or FlowSummaryImpl::Private::Steps::summarySetterStep(nodeFrom, c, nodeTo, _) ) or - exists(DataFlow::Content c | + exists(DataFlow::ContentSet c | readStep(nodeFrom, c, nodeTo) or FlowSummaryImpl::Private::Steps::summaryGetterStep(nodeFrom, c, nodeTo, _) | // Taint members - c = any(TaintedMember m).(FieldOrProperty).getContent() + c = any(TaintedMember m).(FieldOrProperty).getContentSet() or // Read from a tainted collection - c = TElementContent() + c.isElement() ) ) } @@ -152,12 +152,12 @@ private module Cached { localTaintStepCommon(nodeFrom, nodeTo) or // Taint members - readStep(nodeFrom, any(TaintedMember m).(FieldOrProperty).getContent(), nodeTo) + readStep(nodeFrom, any(TaintedMember m).(FieldOrProperty).getContentSet(), nodeTo) or // Although flow through collections is modeled precisely using stores/reads, we still // allow flow out of a _tainted_ collection. This is needed in order to support taint- // tracking configurations where the source is a collection - readStep(nodeFrom, TElementContent(), nodeTo) + readStep(nodeFrom, any(DataFlow::ContentSet c | c.isElement()), nodeTo) or nodeTo = nodeFrom.(DataFlow::NonLocalJumpNode).getAJumpSuccessor(false) ) and diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/EntityFramework.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/EntityFramework.qll index deeccdbf020..9bf516bc876 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/EntityFramework.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/EntityFramework.qll @@ -282,12 +282,12 @@ module EntityFramework { * If `t2` is a column type, `c2` will be included in the model (see * https://docs.microsoft.com/en-us/ef/core/modeling/entity-types?tabs=data-annotations). */ - private predicate step(Content c1, Type t1, Content c2, Type t2, int dist) { + private predicate step(ContentSet c1, Type t1, ContentSet c2, Type t2, int dist) { exists(Property p1 | p1 = this.getADbSetProperty(t2) and - c1.(PropertyContent).getProperty() = p1 and + c1.isProperty(p1) and t1 = p1.getType() and - c2 instanceof ElementContent and + c2.isElement() and dist = 0 ) or @@ -299,17 +299,17 @@ module EntityFramework { exists(Property p2 | p2.getDeclaringType().(Class) = t1 and not isColumnType(t1) and - c2.(PropertyContent).getProperty() = p2 and + c2.isProperty(p2) and t2 = p2.getType() and not isNotMapped(p2) ) or exists(ConstructedInterface ci | - c1 instanceof PropertyContent and + c1.isProperty(_) and t1.(ValueOrRefType).getABaseType*() = ci and not t1 instanceof StringType and ci.getUnboundDeclaration() instanceof SystemCollectionsGenericIEnumerableTInterface and - c2 instanceof ElementContent and + c2.isElement() and t2 = ci.getTypeArgument(0) ) ) @@ -340,16 +340,16 @@ module EntityFramework { * ``` */ Property getAColumnProperty(int dist) { - exists(PropertyContent c, Type t | + exists(ContentSet c, Type t | this.step(_, _, c, t, dist) and - c.getProperty() = result and + c.isProperty(result) and isColumnType(t) ) } - private predicate stepRev(Content c1, Type t1, Content c2, Type t2, int dist) { + private predicate stepRev(ContentSet c1, Type t1, ContentSet c2, Type t2, int dist) { this.step(c1, t1, c2, t2, dist) and - c2.(PropertyContent).getProperty() = this.getAColumnProperty(dist) + c2.isProperty(this.getAColumnProperty(dist)) or this.stepRev(c2, t2, _, _, dist + 1) and this.step(c1, t1, c2, t2, dist) @@ -364,13 +364,13 @@ module EntityFramework { /** Holds if component stack `head :: tail` is required for the input specification. */ predicate requiresComponentStackIn( - Content head, Type headType, SummaryComponentStack tail, int dist + ContentSet head, Type headType, SummaryComponentStack tail, int dist ) { tail = SummaryComponentStack::qualifier() and this.stepRev(head, headType, _, _, 0) and dist = -1 or - exists(Content tailHead, Type tailType, SummaryComponentStack tailTail | + exists(ContentSet tailHead, Type tailType, SummaryComponentStack tailTail | this.requiresComponentStackIn(tailHead, tailType, tailTail, dist - 1) and tail = SummaryComponentStack::push(SummaryComponent::content(tailHead), tailTail) and this.stepRev(tailHead, tailType, head, headType, dist) @@ -379,18 +379,18 @@ module EntityFramework { /** Holds if component stack `head :: tail` is required for the output specification. */ predicate requiresComponentStackOut( - Content head, Type headType, SummaryComponentStack tail, int dist, + ContentSet head, Type headType, SummaryComponentStack tail, int dist, DbContextClassSetProperty dbSetProp ) { - exists(PropertyContent c1 | + exists(ContentSet c1 | dbSetProp = this.getADbSetProperty(headType) and this.stepRev(c1, _, head, headType, 0) and - c1.getProperty() = dbSetProp and + c1.isProperty(dbSetProp) and tail = SummaryComponentStack::return() and dist = 0 ) or - exists(Content tailHead, SummaryComponentStack tailTail, Type tailType | + exists(ContentSet tailHead, SummaryComponentStack tailTail, Type tailType | this.requiresComponentStackOut(tailHead, tailType, tailTail, dist - 1, dbSetProp) and tail = SummaryComponentStack::push(SummaryComponent::content(tailHead), tailTail) and this.stepRev(tailHead, tailType, head, headType, dist) @@ -402,9 +402,9 @@ module EntityFramework { */ pragma[noinline] predicate input(SummaryComponentStack input, Property mapped) { - exists(PropertyContent head, SummaryComponentStack tail | + exists(ContentSet head, SummaryComponentStack tail | this.requiresComponentStackIn(head, _, tail, _) and - head.getProperty() = mapped and + head.isProperty(mapped) and mapped = this.getAColumnProperty(_) and input = SummaryComponentStack::push(SummaryComponent::content(head), tail) ) @@ -418,9 +418,9 @@ module EntityFramework { private predicate output( SummaryComponentStack output, Property mapped, DbContextClassSetProperty dbSet ) { - exists(PropertyContent head, SummaryComponentStack tail | + exists(ContentSet head, SummaryComponentStack tail | this.requiresComponentStackOut(head, _, tail, _, dbSet) and - head.getProperty() = mapped and + head.isProperty(mapped) and mapped = this.getAColumnProperty(_) and output = SummaryComponentStack::push(SummaryComponent::content(head), tail) ) @@ -505,7 +505,7 @@ module EntityFramework { private class DbContextSaveChangesRequiredSummaryComponentStack extends RequiredSummaryComponentStack { override predicate required(SummaryComponent head, SummaryComponentStack tail) { - exists(Content c | head = SummaryComponent::content(c) | + exists(ContentSet c | head = SummaryComponent::content(c) | any(DbContextClass cls).requiresComponentStackIn(c, _, tail, _) or any(DbContextClass cls).requiresComponentStackOut(c, _, tail, _, _) diff --git a/csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll b/csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll index b8bc01f0800..b5eff2664d2 100644 --- a/csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll +++ b/csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll @@ -50,7 +50,7 @@ module Printing = ModelPrinting; /** * Holds if `c` is a relevant content kind, where the underlying type is relevant. */ -private predicate isRelevantTypeInContent(DataFlow::Content c) { +private predicate isRelevantTypeInContent(DataFlow::ContentSet c) { isRelevantType(getUnderlyingContentType(c)) } @@ -58,24 +58,22 @@ private predicate isRelevantTypeInContent(DataFlow::Content c) { * Holds if data can flow from `node1` to `node2` either via a read or a write of an intermediate field `f`. */ private predicate isRelevantTaintStep(DataFlow::Node node1, DataFlow::Node node2) { - exists(DataFlow::Content f | + exists(DataFlow::ContentSet f | DataFlowPrivate::readStep(node1, f, node2) and // Partially restrict the content types used for intermediate steps. (not exists(getUnderlyingContentType(f)) or isRelevantTypeInContent(f)) ) or - exists(DataFlow::Content f | DataFlowPrivate::storeStep(node1, f, node2) | - DataFlowPrivate::containerContent(f) - ) + exists(DataFlow::ContentSet f | DataFlowPrivate::storeStep(node1, f, node2) | containerContent(f)) } /** * Holds if content `c` is either a field, a synthetic field or language specific * content of a relevant type or a container like content. */ -private predicate isRelevantContent(DataFlow::Content c) { +private predicate isRelevantContent(DataFlow::ContentSet c) { isRelevantTypeInContent(c) or - DataFlowPrivate::containerContent(c) + containerContent(c) } /** @@ -170,8 +168,8 @@ module PropagateFlowConfig implements DataFlow::StateConfigSig { predicate isAdditionalFlowStep( DataFlow::Node node1, FlowState state1, DataFlow::Node node2, FlowState state2 ) { - exists(DataFlow::Content c | - DataFlowImplCommon::store(node1, c, node2, _, _) and + exists(DataFlow::ContentSet c | + DataFlowImplCommon::store(node1, c.getAStoreContent(), node2, _, _) and isRelevantContent(c) and ( state1 instanceof TaintRead and state2.(TaintStore).getStep() = 1 @@ -180,7 +178,7 @@ module PropagateFlowConfig implements DataFlow::StateConfigSig { ) ) or - exists(DataFlow::Content c | + exists(DataFlow::ContentSet c | DataFlowPrivate::readStep(node1, c, node2) and isRelevantContent(c) and state1.(TaintRead).getStep() + 1 = state2.(TaintRead).getStep() diff --git a/csharp/ql/src/utils/modelgenerator/internal/CaptureModelsSpecific.qll b/csharp/ql/src/utils/modelgenerator/internal/CaptureModelsSpecific.qll index c442261d780..89d721b300d 100644 --- a/csharp/ql/src/utils/modelgenerator/internal/CaptureModelsSpecific.qll +++ b/csharp/ql/src/utils/modelgenerator/internal/CaptureModelsSpecific.qll @@ -210,10 +210,24 @@ predicate isRelevantType(CS::Type t) { /** * Gets the underlying type of the content `c`. */ -CS::Type getUnderlyingContentType(DataFlow::Content c) { +private CS::Type getUnderlyingContType(DataFlow::Content c) { result = c.(DataFlow::FieldContent).getField().getType() or - result = c.(DataFlow::SyntheticFieldContent).getField().getType() or - result = c.(DataFlow::PropertyContent).getProperty().getType() + result = c.(DataFlow::SyntheticFieldContent).getField().getType() +} + +/** + * Gets the underlying type of the content `c`. + */ +CS::Type getUnderlyingContentType(DataFlow::ContentSet c) { + exists(DataFlow::Content cont | + c.isSingleton(cont) and + result = getUnderlyingContType(cont) + ) + or + exists(CS::Property p | + c.isProperty(p) and + result = p.getType() + ) } /** @@ -325,3 +339,8 @@ predicate isRelevantSinkKind(string kind) { any() } */ bindingset[kind] predicate isRelevantSourceKind(string kind) { any() } + +/** + * Holds if the the content `c` is a container. + */ +predicate containerContent(DataFlow::ContentSet c) { c.isElement() } diff --git a/csharp/ql/test/library-tests/dataflow/external-models/steps.ql b/csharp/ql/test/library-tests/dataflow/external-models/steps.ql index 05d96df8f32..aaeda41c163 100644 --- a/csharp/ql/test/library-tests/dataflow/external-models/steps.ql +++ b/csharp/ql/test/library-tests/dataflow/external-models/steps.ql @@ -16,10 +16,10 @@ query predicate summaryThroughStep( preservesValue = false } -query predicate summaryGetterStep(DataFlow::Node arg, DataFlow::Node out, Content c) { +query predicate summaryGetterStep(DataFlow::Node arg, DataFlow::Node out, ContentSet c) { FlowSummaryImpl::Private::Steps::summaryGetterStep(arg, c, out, _) } -query predicate summarySetterStep(DataFlow::Node arg, DataFlow::Node out, Content c) { +query predicate summarySetterStep(DataFlow::Node arg, DataFlow::Node out, ContentSet c) { FlowSummaryImpl::Private::Steps::summarySetterStep(arg, c, out, _) } From d638b5c7d4efbabc7ca4101de05cc98fc3c21219 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 13 Aug 2024 13:26:48 +0200 Subject: [PATCH 030/258] Sync shared file --- .../modelgenerator/internal/CaptureModels.qll | 18 ++++++++---------- .../internal/CaptureModelsSpecific.qll | 2 ++ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/java/ql/src/utils/modelgenerator/internal/CaptureModels.qll b/java/ql/src/utils/modelgenerator/internal/CaptureModels.qll index b8bc01f0800..b5eff2664d2 100644 --- a/java/ql/src/utils/modelgenerator/internal/CaptureModels.qll +++ b/java/ql/src/utils/modelgenerator/internal/CaptureModels.qll @@ -50,7 +50,7 @@ module Printing = ModelPrinting; /** * Holds if `c` is a relevant content kind, where the underlying type is relevant. */ -private predicate isRelevantTypeInContent(DataFlow::Content c) { +private predicate isRelevantTypeInContent(DataFlow::ContentSet c) { isRelevantType(getUnderlyingContentType(c)) } @@ -58,24 +58,22 @@ private predicate isRelevantTypeInContent(DataFlow::Content c) { * Holds if data can flow from `node1` to `node2` either via a read or a write of an intermediate field `f`. */ private predicate isRelevantTaintStep(DataFlow::Node node1, DataFlow::Node node2) { - exists(DataFlow::Content f | + exists(DataFlow::ContentSet f | DataFlowPrivate::readStep(node1, f, node2) and // Partially restrict the content types used for intermediate steps. (not exists(getUnderlyingContentType(f)) or isRelevantTypeInContent(f)) ) or - exists(DataFlow::Content f | DataFlowPrivate::storeStep(node1, f, node2) | - DataFlowPrivate::containerContent(f) - ) + exists(DataFlow::ContentSet f | DataFlowPrivate::storeStep(node1, f, node2) | containerContent(f)) } /** * Holds if content `c` is either a field, a synthetic field or language specific * content of a relevant type or a container like content. */ -private predicate isRelevantContent(DataFlow::Content c) { +private predicate isRelevantContent(DataFlow::ContentSet c) { isRelevantTypeInContent(c) or - DataFlowPrivate::containerContent(c) + containerContent(c) } /** @@ -170,8 +168,8 @@ module PropagateFlowConfig implements DataFlow::StateConfigSig { predicate isAdditionalFlowStep( DataFlow::Node node1, FlowState state1, DataFlow::Node node2, FlowState state2 ) { - exists(DataFlow::Content c | - DataFlowImplCommon::store(node1, c, node2, _, _) and + exists(DataFlow::ContentSet c | + DataFlowImplCommon::store(node1, c.getAStoreContent(), node2, _, _) and isRelevantContent(c) and ( state1 instanceof TaintRead and state2.(TaintStore).getStep() = 1 @@ -180,7 +178,7 @@ module PropagateFlowConfig implements DataFlow::StateConfigSig { ) ) or - exists(DataFlow::Content c | + exists(DataFlow::ContentSet c | DataFlowPrivate::readStep(node1, c, node2) and isRelevantContent(c) and state1.(TaintRead).getStep() + 1 = state2.(TaintRead).getStep() diff --git a/java/ql/src/utils/modelgenerator/internal/CaptureModelsSpecific.qll b/java/ql/src/utils/modelgenerator/internal/CaptureModelsSpecific.qll index eb37aa93dbe..b881deb6e6a 100644 --- a/java/ql/src/utils/modelgenerator/internal/CaptureModelsSpecific.qll +++ b/java/ql/src/utils/modelgenerator/internal/CaptureModelsSpecific.qll @@ -303,3 +303,5 @@ predicate isRelevantSinkKind(string kind) { */ bindingset[kind] predicate isRelevantSourceKind(string kind) { any() } + +predicate containerContent = DataFlowPrivate::containerContent/1; From 5e8ac5ef0dc2f45d58e6fc0a6cedd58cb389c4f0 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Tue, 13 Aug 2024 13:10:20 +0200 Subject: [PATCH 031/258] C++: Update documentation for cpp/uncontrolled-allocation-size to clarify its scope --- .../CWE/CWE-190/TaintedAllocationSize.c | 14 ++++---- .../CWE/CWE-190/TaintedAllocationSize.qhelp | 16 +++++---- .../CWE/CWE-190/TaintedAllocationSize.ql | 9 ++--- .../TaintedAllocationSize.expected | 36 +++++++++---------- .../semmle/TaintedAllocationSize/test.cpp | 4 +-- 5 files changed, 41 insertions(+), 38 deletions(-) diff --git a/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.c b/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.c index 7a84a1aad13..60a1db04f63 100644 --- a/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.c +++ b/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.c @@ -1,11 +1,9 @@ int factor = atoi(getenv("BRANCHING_FACTOR")); -// GOOD: Prevent overflow by checking the input -if (factor < 0 || factor > 1000) { - log("Factor out of range (%d)\n", factor); - return -1; -} - -// This line can allocate too little memory if factor -// is very large. +// BAD: This can allocate too little memory if factor is very large due to overflow. char **root_node = (char **) malloc(factor * sizeof(char *)); + +// GOOD: Prevent overflow and unbounded allocation size by checking the input. +if (factor > 0 && factor <= 1000) { + char **root_node = (char **) malloc(factor * sizeof(char *)); +} diff --git a/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.qhelp b/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.qhelp index 3b852460887..1097922ca0f 100644 --- a/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.qhelp +++ b/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.qhelp @@ -3,12 +3,16 @@ "qhelp.dtd"> -

    This code calculates an allocation size by multiplying a user input -by a sizeof expression. Since the user input has no -apparent guard on its magnitude, this multiplication can -overflow. When an integer multiply overflows in C, the result can wrap -around and be much smaller than intended. A later attempt to put data -into the allocated buffer can then overflow.

    + +

    This code allocates memory using a size value based on user input +with no apparent bound on its magnitude being established. This allows +for arbitrary amounts of memory being allocated.

    + +

    If the allocation size is calculated by multiplying user input by a +sizeof expression the multiplication can overflow. When +an integer multiplication overflows in C, the result wraps around and +can be much smaller than intended. A later attempt to write data into +the allocated memory can then be out-of-bounds.

    diff --git a/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.ql b/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.ql index a10ee006c47..4c869b06b83 100644 --- a/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.ql +++ b/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.ql @@ -1,7 +1,7 @@ /** - * @name Overflow in uncontrolled allocation size - * @description Allocating memory with a size controlled by an external - * user can result in integer overflow. + * @name Uncontrolled allocation size + * @description Allocating memory with a size controlled by an external user can result in + * arbitrary amounts of memory being allocated. * @kind path-problem * @problem.severity error * @security-severity 8.1 @@ -104,5 +104,6 @@ where isFlowSource(source.getNode(), taintCause) and TaintedAllocationSize::flowPath(source, sink) and allocSink(alloc, sink.getNode()) -select alloc, source, sink, "This allocation size is derived from $@ and might overflow.", +select alloc, source, sink, + "This allocation size is derived from $@ and could allocate arbitrary amounts of memory.", source.getNode(), "user input (" + taintCause + ")" diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/TaintedAllocationSize.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/TaintedAllocationSize.expected index a10ef491282..ff79d37c54f 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/TaintedAllocationSize.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/TaintedAllocationSize.expected @@ -79,21 +79,21 @@ nodes | test.cpp:356:35:356:38 | size | semmle.label | size | subpaths #select -| test.cpp:43:31:43:36 | call to malloc | test.cpp:39:27:39:30 | **argv | test.cpp:43:38:43:44 | tainted | This allocation size is derived from $@ and might overflow. | test.cpp:39:27:39:30 | **argv | user input (a command-line argument) | -| test.cpp:44:31:44:36 | call to malloc | test.cpp:39:27:39:30 | **argv | test.cpp:44:38:44:63 | ... * ... | This allocation size is derived from $@ and might overflow. | test.cpp:39:27:39:30 | **argv | user input (a command-line argument) | -| test.cpp:46:31:46:36 | call to malloc | test.cpp:39:27:39:30 | **argv | test.cpp:46:38:46:63 | ... + ... | This allocation size is derived from $@ and might overflow. | test.cpp:39:27:39:30 | **argv | user input (a command-line argument) | -| test.cpp:49:25:49:30 | call to malloc | test.cpp:39:27:39:30 | **argv | test.cpp:49:32:49:35 | size | This allocation size is derived from $@ and might overflow. | test.cpp:39:27:39:30 | **argv | user input (a command-line argument) | -| test.cpp:50:17:50:30 | new[] | test.cpp:39:27:39:30 | **argv | test.cpp:50:17:50:30 | size | This allocation size is derived from $@ and might overflow. | test.cpp:39:27:39:30 | **argv | user input (a command-line argument) | -| test.cpp:53:21:53:27 | call to realloc | test.cpp:39:27:39:30 | **argv | test.cpp:53:35:53:60 | ... * ... | This allocation size is derived from $@ and might overflow. | test.cpp:39:27:39:30 | **argv | user input (a command-line argument) | -| test.cpp:128:17:128:22 | call to malloc | test.cpp:124:18:124:31 | *call to getenv | test.cpp:128:24:128:41 | ... * ... | This allocation size is derived from $@ and might overflow. | test.cpp:124:18:124:31 | *call to getenv | user input (an environment variable) | -| test.cpp:135:3:135:8 | call to malloc | test.cpp:133:19:133:32 | *call to getenv | test.cpp:135:10:135:27 | ... * ... | This allocation size is derived from $@ and might overflow. | test.cpp:133:19:133:32 | *call to getenv | user input (an environment variable) | -| test.cpp:152:4:152:9 | call to malloc | test.cpp:148:20:148:33 | *call to getenv | test.cpp:152:11:152:28 | ... * ... | This allocation size is derived from $@ and might overflow. | test.cpp:148:20:148:33 | *call to getenv | user input (an environment variable) | -| test.cpp:231:14:231:19 | call to malloc | test.cpp:237:24:237:37 | *call to getenv | test.cpp:231:21:231:21 | s | This allocation size is derived from $@ and might overflow. | test.cpp:237:24:237:37 | *call to getenv | user input (an environment variable) | -| test.cpp:239:2:239:7 | call to malloc | test.cpp:237:24:237:37 | *call to getenv | test.cpp:239:9:239:18 | local_size | This allocation size is derived from $@ and might overflow. | test.cpp:237:24:237:37 | *call to getenv | user input (an environment variable) | -| test.cpp:241:2:241:7 | call to malloc | test.cpp:211:14:211:27 | *call to getenv | test.cpp:241:9:241:24 | call to get_tainted_size | This allocation size is derived from $@ and might overflow. | test.cpp:211:14:211:27 | *call to getenv | user input (an environment variable) | -| test.cpp:245:2:245:9 | call to my_alloc | test.cpp:237:24:237:37 | *call to getenv | test.cpp:245:11:245:20 | local_size | This allocation size is derived from $@ and might overflow. | test.cpp:237:24:237:37 | *call to getenv | user input (an environment variable) | -| test.cpp:263:4:263:9 | call to malloc | test.cpp:259:20:259:33 | *call to getenv | test.cpp:263:11:263:29 | ... * ... | This allocation size is derived from $@ and might overflow. | test.cpp:259:20:259:33 | *call to getenv | user input (an environment variable) | -| test.cpp:291:4:291:9 | call to malloc | test.cpp:251:18:251:31 | *call to getenv | test.cpp:291:11:291:28 | ... * ... | This allocation size is derived from $@ and might overflow. | test.cpp:251:18:251:31 | *call to getenv | user input (an environment variable) | -| test.cpp:308:3:308:8 | call to malloc | test.cpp:251:18:251:31 | *call to getenv | test.cpp:308:10:308:27 | ... * ... | This allocation size is derived from $@ and might overflow. | test.cpp:251:18:251:31 | *call to getenv | user input (an environment variable) | -| test.cpp:355:25:355:33 | call to MyMalloc1 | test.cpp:353:18:353:31 | *call to getenv | test.cpp:355:35:355:38 | size | This allocation size is derived from $@ and might overflow. | test.cpp:353:18:353:31 | *call to getenv | user input (an environment variable) | -| test.cpp:356:25:356:33 | call to MyMalloc2 | test.cpp:353:18:353:31 | *call to getenv | test.cpp:356:35:356:38 | size | This allocation size is derived from $@ and might overflow. | test.cpp:353:18:353:31 | *call to getenv | user input (an environment variable) | +| test.cpp:43:31:43:36 | call to malloc | test.cpp:39:27:39:30 | **argv | test.cpp:43:38:43:44 | tainted | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:39:27:39:30 | **argv | user input (a command-line argument) | +| test.cpp:44:31:44:36 | call to malloc | test.cpp:39:27:39:30 | **argv | test.cpp:44:38:44:63 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:39:27:39:30 | **argv | user input (a command-line argument) | +| test.cpp:46:31:46:36 | call to malloc | test.cpp:39:27:39:30 | **argv | test.cpp:46:38:46:63 | ... + ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:39:27:39:30 | **argv | user input (a command-line argument) | +| test.cpp:49:25:49:30 | call to malloc | test.cpp:39:27:39:30 | **argv | test.cpp:49:32:49:35 | size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:39:27:39:30 | **argv | user input (a command-line argument) | +| test.cpp:50:17:50:30 | new[] | test.cpp:39:27:39:30 | **argv | test.cpp:50:17:50:30 | size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:39:27:39:30 | **argv | user input (a command-line argument) | +| test.cpp:53:21:53:27 | call to realloc | test.cpp:39:27:39:30 | **argv | test.cpp:53:35:53:60 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:39:27:39:30 | **argv | user input (a command-line argument) | +| test.cpp:128:17:128:22 | call to malloc | test.cpp:124:18:124:31 | *call to getenv | test.cpp:128:24:128:41 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:124:18:124:31 | *call to getenv | user input (an environment variable) | +| test.cpp:135:3:135:8 | call to malloc | test.cpp:133:19:133:32 | *call to getenv | test.cpp:135:10:135:27 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:133:19:133:32 | *call to getenv | user input (an environment variable) | +| test.cpp:152:4:152:9 | call to malloc | test.cpp:148:20:148:33 | *call to getenv | test.cpp:152:11:152:28 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:148:20:148:33 | *call to getenv | user input (an environment variable) | +| test.cpp:231:14:231:19 | call to malloc | test.cpp:237:24:237:37 | *call to getenv | test.cpp:231:21:231:21 | s | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:237:24:237:37 | *call to getenv | user input (an environment variable) | +| test.cpp:239:2:239:7 | call to malloc | test.cpp:237:24:237:37 | *call to getenv | test.cpp:239:9:239:18 | local_size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:237:24:237:37 | *call to getenv | user input (an environment variable) | +| test.cpp:241:2:241:7 | call to malloc | test.cpp:211:14:211:27 | *call to getenv | test.cpp:241:9:241:24 | call to get_tainted_size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:211:14:211:27 | *call to getenv | user input (an environment variable) | +| test.cpp:245:2:245:9 | call to my_alloc | test.cpp:237:24:237:37 | *call to getenv | test.cpp:245:11:245:20 | local_size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:237:24:237:37 | *call to getenv | user input (an environment variable) | +| test.cpp:263:4:263:9 | call to malloc | test.cpp:259:20:259:33 | *call to getenv | test.cpp:263:11:263:29 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:259:20:259:33 | *call to getenv | user input (an environment variable) | +| test.cpp:291:4:291:9 | call to malloc | test.cpp:251:18:251:31 | *call to getenv | test.cpp:291:11:291:28 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:251:18:251:31 | *call to getenv | user input (an environment variable) | +| test.cpp:308:3:308:8 | call to malloc | test.cpp:251:18:251:31 | *call to getenv | test.cpp:308:10:308:27 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:251:18:251:31 | *call to getenv | user input (an environment variable) | +| test.cpp:355:25:355:33 | call to MyMalloc1 | test.cpp:353:18:353:31 | *call to getenv | test.cpp:355:35:355:38 | size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:353:18:353:31 | *call to getenv | user input (an environment variable) | +| test.cpp:356:25:356:33 | call to MyMalloc2 | test.cpp:353:18:353:31 | *call to getenv | test.cpp:356:35:356:38 | size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:353:18:353:31 | *call to getenv | user input (an environment variable) | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/test.cpp b/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/test.cpp index 69cb2411b9f..7bc166a9292 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/test.cpp +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/test.cpp @@ -40,10 +40,10 @@ int main(int argc, char **argv) { int tainted = atoi(argv[1]); MyStruct *arr1 = (MyStruct *)malloc(sizeof(MyStruct)); // GOOD - MyStruct *arr2 = (MyStruct *)malloc(tainted); // DUBIOUS (not multiplied by anything) + MyStruct *arr2 = (MyStruct *)malloc(tainted); // BAD MyStruct *arr3 = (MyStruct *)malloc(tainted * sizeof(MyStruct)); // BAD MyStruct *arr4 = (MyStruct *)malloc(getTainted() * sizeof(MyStruct)); // BAD [NOT DETECTED] - MyStruct *arr5 = (MyStruct *)malloc(sizeof(MyStruct) + tainted); // DUBIOUS (not multiplied by anything) + MyStruct *arr5 = (MyStruct *)malloc(sizeof(MyStruct) + tainted); // BAD int size = tainted * 8; char *chars1 = (char *)malloc(size); // BAD From 6f79480b40e2ca6835ef3b40d158148b86fe4713 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 13 Aug 2024 16:59:43 +0200 Subject: [PATCH 032/258] C#: Add example of missing sink generation. --- .../modelgenerator/dataflow/CaptureSinkModels.ext.yml | 7 +++++++ csharp/ql/test/utils/modelgenerator/dataflow/Sinks.cs | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/csharp/ql/test/utils/modelgenerator/dataflow/CaptureSinkModels.ext.yml b/csharp/ql/test/utils/modelgenerator/dataflow/CaptureSinkModels.ext.yml index 979a52c972b..f8e2f8bfbe9 100644 --- a/csharp/ql/test/utils/modelgenerator/dataflow/CaptureSinkModels.ext.yml +++ b/csharp/ql/test/utils/modelgenerator/dataflow/CaptureSinkModels.ext.yml @@ -6,6 +6,13 @@ extensions: - [ "Sinks", "NewSinks", False, "Sink", "(System.Object)", "", "Argument[0]", "test-sink", "manual"] - [ "Sinks", "NewSinks", False, "Sink2", "(System.Object)", "", "Argument[0]", "test-sink2", "manual"] - [ "Sinks", "NewSinks", False, "ManualSinkAlreadyDefined", "(System.Object)", "", "Argument[0]", "test-sink", "manual"] + - [ "Sinks", "NewSinks", False, "SaveAndGet", "(System.Object)", "", "Argument[0]", "test-sink", "df-generated"] + + - addsTo: + pack: codeql/csharp-all + extensible: sourceModel + data: + - [ "Sinks", "NewSinks", False, "SaveAndGet", "(System.Object)", "", "ReturnValue", "test-source", "manual"] - addsTo: pack: codeql/csharp-all diff --git a/csharp/ql/test/utils/modelgenerator/dataflow/Sinks.cs b/csharp/ql/test/utils/modelgenerator/dataflow/Sinks.cs index 1125abe4166..4f01c51cf8e 100644 --- a/csharp/ql/test/utils/modelgenerator/dataflow/Sinks.cs +++ b/csharp/ql/test/utils/modelgenerator/dataflow/Sinks.cs @@ -24,6 +24,15 @@ public class NewSinks // neutral=Sinks;NewSinks;NoSink;(System.Object);summary;df-generated public static void NoSink(object o) => throw null; + // Sink and Source defined in the extensible file next to the sink test. + // MISSING SINK + // neutral=Sinks;NewSinks;SaveAndGet;(System.Object);summary;df-generated + public static object SaveAndGet(object o) + { + Sink(o); + return null; + } + // New sink // sink=Sinks;NewSinks;false;WrapResponseWrite;(System.Object);;Argument[0];html-injection;df-generated // neutral=Sinks;NewSinks;WrapResponseWrite;(System.Object);summary;df-generated From 046018fa258e4fe1620ea6e3cd98c3a7ad17a3f3 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Wed, 14 Aug 2024 09:45:54 +0200 Subject: [PATCH 033/258] Java: Add example of missing sink generation. --- .../modelgenerator/dataflow/CaptureSinkModels.ext.yml | 7 +++++++ java/ql/test/utils/modelgenerator/dataflow/p/Sinks.java | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/java/ql/test/utils/modelgenerator/dataflow/CaptureSinkModels.ext.yml b/java/ql/test/utils/modelgenerator/dataflow/CaptureSinkModels.ext.yml index 27f4316cf22..6670b7e9144 100644 --- a/java/ql/test/utils/modelgenerator/dataflow/CaptureSinkModels.ext.yml +++ b/java/ql/test/utils/modelgenerator/dataflow/CaptureSinkModels.ext.yml @@ -7,6 +7,13 @@ extensions: - [ "p", "Sinks", False, "sink", "(Object)", "", "Argument[0]", "test-sink", "manual" ] - [ "p", "Sinks", False, "sink2", "(Object)", "", "Argument[0]", "test-sink2", "manual" ] - [ "p", "Sinks", False, "manualSinkAlreadyDefined", "(Object)", "", "Argument[0]", "test-sink", "manual" ] + - [ "p", "Sinks", False, "saveAndGet", "(Object)", "", "Argument[0]", "test-sink", "df-generated"] + + - addsTo: + pack: codeql/java-all + extensible: sourceModel + data: + - [ "p", "Sinks", False, "saveAndGet", "(Object)", "", "ReturnValue", "test-source", "manual"] - addsTo: pack: codeql/java-all diff --git a/java/ql/test/utils/modelgenerator/dataflow/p/Sinks.java b/java/ql/test/utils/modelgenerator/dataflow/p/Sinks.java index 96a93d5fa87..862eb4c6bca 100644 --- a/java/ql/test/utils/modelgenerator/dataflow/p/Sinks.java +++ b/java/ql/test/utils/modelgenerator/dataflow/p/Sinks.java @@ -25,6 +25,14 @@ public class Sinks { // neutral=p;Sinks;nosink;(Object);summary;df-generated public void nosink(Object o) {} + // Sink and Source defined in the extensible file next to the sink test. + // MISSING SINK + // neutral=p;Sinks;saveAndGet;(Object);summary;df-generated + public Object saveAndGet(Object o) { + sink(o); + return null; + } + // sink=p;Sinks;true;copyFileToDirectory;(Path,Path,CopyOption[]);;Argument[0];path-injection;df-generated // sink=p;Sinks;true;copyFileToDirectory;(Path,Path,CopyOption[]);;Argument[1];path-injection;df-generated // neutral=p;Sinks;copyFileToDirectory;(Path,Path,CopyOption[]);summary;df-generated From f0817dc07c1180132c45347ced38e2f79cc619f7 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Wed, 14 Aug 2024 09:26:28 +0200 Subject: [PATCH 034/258] C#/Java: Use a parameterized module for making the source and sink callable classes. --- .../csharp/dataflow/internal/ExternalFlow.qll | 28 +------------ .../code/java/dataflow/ExternalFlow.qll | 26 ------------- .../dataflow/internal/FlowSummaryImpl.qll | 39 ++++++++++--------- 3 files changed, 22 insertions(+), 71 deletions(-) diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlow.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlow.qll index 3dce45b7a50..f1c299c2f25 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlow.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlow.qll @@ -613,32 +613,6 @@ private class SummarizedCallableAdapter extends SummarizedCallable { } } -/** - * A callable where there exists a MaD sink model that applies to it. - */ -private class SinkModelCallableAdapter extends SinkModelCallable { - private Provenance provenance; - - SinkModelCallableAdapter() { - SourceSinkInterpretationInput::sinkElement(this, _, _, provenance, _) - } - - override predicate hasProvenance(Provenance p) { provenance = p } -} +final class SourceCallable = SourceModelCallable; final class SinkCallable = SinkModelCallable; - -/** - * A callable where there exists a MaD source model that applies to it. - */ -private class SourceModelCallableAdapter extends SourceModelCallable { - private Provenance provenance; - - SourceModelCallableAdapter() { - SourceSinkInterpretationInput::sourceElement(this, _, _, provenance, _) - } - - override predicate hasProvenance(Provenance p) { provenance = p } -} - -final class SourceCallable = SourceModelCallable; diff --git a/java/ql/lib/semmle/code/java/dataflow/ExternalFlow.qll b/java/ql/lib/semmle/code/java/dataflow/ExternalFlow.qll index 0b6d718c870..f930675998a 100644 --- a/java/ql/lib/semmle/code/java/dataflow/ExternalFlow.qll +++ b/java/ql/lib/semmle/code/java/dataflow/ExternalFlow.qll @@ -636,32 +636,6 @@ private class SummarizedCallableAdapter extends SummarizedCallable { override predicate hasExactModel() { summaryElement(this, _, _, _, _, _, true) } } -/** - * A callable where there exists a MaD sink model that applies to it. - */ -private class SinkModelCallableAdapter extends SinkModelCallable { - private Provenance provenance; - - SinkModelCallableAdapter() { - SourceSinkInterpretationInput::sinkElement(this, _, _, provenance, _) - } - - override predicate hasProvenance(Provenance p) { provenance = p } -} - final class SinkCallable = SinkModelCallable; -/** - * A callable where there exists a MaD source model that applies to it. - */ -private class SourceModelCallableAdapter extends SourceModelCallable { - private Provenance provenance; - - SourceModelCallableAdapter() { - SourceSinkInterpretationInput::sourceElement(this, _, _, provenance, _) - } - - override predicate hasProvenance(Provenance p) { provenance = p } -} - final class SourceCallable = SourceModelCallable; diff --git a/shared/dataflow/codeql/dataflow/internal/FlowSummaryImpl.qll b/shared/dataflow/codeql/dataflow/internal/FlowSummaryImpl.qll index ba14cff067e..86b79d4433a 100644 --- a/shared/dataflow/codeql/dataflow/internal/FlowSummaryImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/FlowSummaryImpl.qll @@ -1808,34 +1808,37 @@ module Make< final private class SourceOrSinkElementFinal = SourceOrSinkElement; - bindingset[this] - abstract private class SourceSinkModelCallableBase extends SourceOrSinkElementFinal { - /** - * Holds if there exists a manual model that applies to this. - */ - final predicate hasManualModel() { any(Provenance p | this.hasProvenance(p)).isManual() } + signature predicate sourceOrSinkElementSig( + Element e, string path, string kind, Provenance provenance, string model + ); - /** - * Holds if this has provenance `p`. - */ - abstract predicate hasProvenance(Provenance p); + private module MakeSourceOrSinkCallable { + class SourceSinkCallable extends SourceOrSinkElementFinal { + private Provenance provenance; + + SourceSinkCallable() { sourceOrSinkElement(this, _, _, provenance, _) } + + /** + * Holds if there exists a manual model that applies to this. + */ + predicate hasManualModel() { any(Provenance p | this.hasProvenance(p)).isManual() } + + /** + * Holds if this has provenance `p`. + */ + predicate hasProvenance(Provenance p) { provenance = p } + } } /** * A callable that has a source model. */ - abstract class SourceModelCallable extends SourceSinkModelCallableBase { - bindingset[this] - SourceModelCallable() { exists(this) } - } + class SourceModelCallable = MakeSourceOrSinkCallable::SourceSinkCallable; /** * A callable that has a sink model. */ - abstract class SinkModelCallable extends SourceSinkModelCallableBase { - bindingset[this] - SinkModelCallable() { exists(this) } - } + class SinkModelCallable = MakeSourceOrSinkCallable::SourceSinkCallable; /** A source or sink relevant for testing. */ signature class RelevantSourceOrSinkElementSig extends SourceOrSinkElement { From eaf4f5eeab22ac366b6153d42613f21e07d25d32 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Wed, 14 Aug 2024 09:57:49 +0200 Subject: [PATCH 035/258] C#/Java: Update model generation expected output. --- csharp/ql/test/utils/modelgenerator/dataflow/Sinks.cs | 2 +- java/ql/test/utils/modelgenerator/dataflow/p/Sinks.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/csharp/ql/test/utils/modelgenerator/dataflow/Sinks.cs b/csharp/ql/test/utils/modelgenerator/dataflow/Sinks.cs index 4f01c51cf8e..07b0469ec13 100644 --- a/csharp/ql/test/utils/modelgenerator/dataflow/Sinks.cs +++ b/csharp/ql/test/utils/modelgenerator/dataflow/Sinks.cs @@ -25,7 +25,7 @@ public class NewSinks public static void NoSink(object o) => throw null; // Sink and Source defined in the extensible file next to the sink test. - // MISSING SINK + // sink=Sinks;NewSinks;false;SaveAndGet;(System.Object);;Argument[0];test-sink;df-generated // neutral=Sinks;NewSinks;SaveAndGet;(System.Object);summary;df-generated public static object SaveAndGet(object o) { diff --git a/java/ql/test/utils/modelgenerator/dataflow/p/Sinks.java b/java/ql/test/utils/modelgenerator/dataflow/p/Sinks.java index 862eb4c6bca..d9a0d9324f3 100644 --- a/java/ql/test/utils/modelgenerator/dataflow/p/Sinks.java +++ b/java/ql/test/utils/modelgenerator/dataflow/p/Sinks.java @@ -26,7 +26,7 @@ public class Sinks { public void nosink(Object o) {} // Sink and Source defined in the extensible file next to the sink test. - // MISSING SINK + // sink=p;Sinks;true;saveAndGet;(Object);;Argument[0];test-sink;df-generated // neutral=p;Sinks;saveAndGet;(Object);summary;df-generated public Object saveAndGet(Object o) { sink(o); From b4a42de7f4a2184f033434159b4933d5b3d35e83 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 14 Aug 2024 18:31:58 +0100 Subject: [PATCH 036/258] Java: add change notes for three recent buildless fixes --- .../lib/change-notes/2024-08-09-buildless-executable-war.md | 4 ++++ .../change-notes/2024-08-09-buildless-gradle-classifiers.md | 4 ++++ .../change-notes/2024-08-14-buildless-coder-malfunction.md | 4 ++++ 3 files changed, 12 insertions(+) create mode 100644 java/ql/lib/change-notes/2024-08-09-buildless-executable-war.md create mode 100644 java/ql/lib/change-notes/2024-08-09-buildless-gradle-classifiers.md create mode 100644 java/ql/lib/change-notes/2024-08-14-buildless-coder-malfunction.md diff --git a/java/ql/lib/change-notes/2024-08-09-buildless-executable-war.md b/java/ql/lib/change-notes/2024-08-09-buildless-executable-war.md new file mode 100644 index 00000000000..96088e50532 --- /dev/null +++ b/java/ql/lib/change-notes/2024-08-09-buildless-executable-war.md @@ -0,0 +1,4 @@ +--- +category: fix +--- +* Fixed an issue where Java analysis in `build-mode: none` would fail to resolve dependencies using the `executable-war` Maven artifact type. diff --git a/java/ql/lib/change-notes/2024-08-09-buildless-gradle-classifiers.md b/java/ql/lib/change-notes/2024-08-09-buildless-gradle-classifiers.md new file mode 100644 index 00000000000..d8ed932ecf2 --- /dev/null +++ b/java/ql/lib/change-notes/2024-08-09-buildless-gradle-classifiers.md @@ -0,0 +1,4 @@ +--- +category: fix +--- +* Fixed an issue where analysis in `build-mode: none` may fail to resolve dependencies of Gradle projects where the dependency uses a non-empty artifact classifier -- for example, `someproject-1.2.3-tests.jar`, which has the classifier `tests`. diff --git a/java/ql/lib/change-notes/2024-08-14-buildless-coder-malfunction.md b/java/ql/lib/change-notes/2024-08-14-buildless-coder-malfunction.md new file mode 100644 index 00000000000..a84fec4c8f1 --- /dev/null +++ b/java/ql/lib/change-notes/2024-08-14-buildless-coder-malfunction.md @@ -0,0 +1,4 @@ +--- +category: fix +--- +* Fixed an issue where analysis in `build-mode: none` may very occasionally throw a `CoderMalfunctionError` while resolving dependencies provided by a build system (Maven or Gradle), which could cause some dependency resolution and consequently alerts to vary unpredictably from one run to another. From 3cdc8d5eca90dcdc8fc4937bdc46505aa1d0e9bf Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Wed, 14 Aug 2024 15:44:46 +0200 Subject: [PATCH 037/258] Java: Add PathGraph to test output for default inline flow tests. --- java/ql/test-kotlin1/library-tests/dataflow/summaries/test.ql | 1 + java/ql/test-kotlin2/library-tests/dataflow/summaries/test.ql | 1 + java/ql/test/ext/TestModels/test.ql | 1 + java/ql/test/library-tests/dataflow/callctx/test.ql | 1 + java/ql/test/library-tests/dataflow/capture/inlinetest.ql | 1 + java/ql/test/library-tests/dataflow/collections/containerflow.ql | 1 + java/ql/test/library-tests/dataflow/fluent-methods/flow.ql | 1 + java/ql/test/library-tests/dataflow/stream-collect/test.ql | 1 + java/ql/test/library-tests/dataflow/stream-read/test.ql | 1 + java/ql/test/library-tests/dataflow/synth-global/test.ql | 1 + java/ql/test/library-tests/dataflow/taint-format/test.ql | 1 + java/ql/test/library-tests/dataflow/taint-gson/dataFlow.ql | 1 + java/ql/test/library-tests/dataflow/taint-jackson/dataFlow.ql | 1 + java/ql/test/library-tests/dataflow/typeflow-dispatch/test.ql | 1 + java/ql/test/library-tests/frameworks/android/asynctask/test.ql | 1 + .../frameworks/android/content-provider-summaries/test.ql | 1 + java/ql/test/library-tests/frameworks/android/flow-steps/test.ql | 1 + java/ql/test/library-tests/frameworks/android/intent/test.ql | 1 + .../test/library-tests/frameworks/android/notification/test.ql | 1 + java/ql/test/library-tests/frameworks/android/uri/test.ql | 1 + java/ql/test/library-tests/frameworks/android/widget/test.ql | 1 + java/ql/test/library-tests/frameworks/apache-ant/test.ql | 1 + java/ql/test/library-tests/frameworks/apache-collections/test.ql | 1 + .../library-tests/frameworks/apache-commons-compress/test.ql | 1 + .../test/library-tests/frameworks/apache-commons-lang3/flow.ql | 1 + java/ql/test/library-tests/frameworks/gson/test.ql | 1 + .../test/library-tests/frameworks/guava/generated/cache/test.ql | 1 + .../library-tests/frameworks/guava/generated/collect/test.ql | 1 + java/ql/test/library-tests/frameworks/hudson/test.ql | 1 + java/ql/test/library-tests/frameworks/jackson/test.ql | 1 + java/ql/test/library-tests/frameworks/javax-json/test.ql | 1 + java/ql/test/library-tests/frameworks/jdk/java.io/test.ql | 1 + java/ql/test/library-tests/frameworks/jdk/java.net/test.ql | 1 + java/ql/test/library-tests/frameworks/jdk/java.nio.file/test.ql | 1 + java/ql/test/library-tests/frameworks/json-java/test.ql | 1 + java/ql/test/library-tests/frameworks/netty/generated/test.ql | 1 + java/ql/test/library-tests/frameworks/play/test.ql | 1 + java/ql/test/library-tests/frameworks/spring/beans/test.ql | 1 + java/ql/test/library-tests/frameworks/spring/cache/test.ql | 1 + java/ql/test/library-tests/frameworks/spring/context/flow.ql | 1 + java/ql/test/library-tests/frameworks/spring/data/test.ql | 1 + java/ql/test/library-tests/frameworks/spring/http/flow.ql | 1 + java/ql/test/library-tests/frameworks/spring/ui/test.ql | 1 + java/ql/test/library-tests/frameworks/spring/util/test.ql | 1 + java/ql/test/library-tests/frameworks/spring/validation/test.ql | 1 + .../ql/test/library-tests/frameworks/spring/webmultipart/test.ql | 1 + java/ql/test/library-tests/frameworks/spring/webutil/test.ql | 1 + java/ql/test/library-tests/frameworks/stapler/test.ql | 1 + java/ql/test/library-tests/frameworks/stream/test.ql | 1 + java/ql/test/library-tests/frameworks/thymeleaf/test.ql | 1 + java/ql/test/library-tests/logging/test.ql | 1 + java/ql/test/library-tests/optional/test.ql | 1 + java/ql/test/library-tests/paths/test.ql | 1 + java/ql/test/library-tests/regex/test.ql | 1 + java/ql/test/library-tests/scanner/test.ql | 1 + 55 files changed, 55 insertions(+) diff --git a/java/ql/test-kotlin1/library-tests/dataflow/summaries/test.ql b/java/ql/test-kotlin1/library-tests/dataflow/summaries/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test-kotlin1/library-tests/dataflow/summaries/test.ql +++ b/java/ql/test-kotlin1/library-tests/dataflow/summaries/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test-kotlin2/library-tests/dataflow/summaries/test.ql b/java/ql/test-kotlin2/library-tests/dataflow/summaries/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test-kotlin2/library-tests/dataflow/summaries/test.ql +++ b/java/ql/test-kotlin2/library-tests/dataflow/summaries/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/ext/TestModels/test.ql b/java/ql/test/ext/TestModels/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/ext/TestModels/test.ql +++ b/java/ql/test/ext/TestModels/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/dataflow/callctx/test.ql b/java/ql/test/library-tests/dataflow/callctx/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/dataflow/callctx/test.ql +++ b/java/ql/test/library-tests/dataflow/callctx/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/dataflow/capture/inlinetest.ql b/java/ql/test/library-tests/dataflow/capture/inlinetest.ql index 50e3f8d2f7d..8a82c0c1800 100644 --- a/java/ql/test/library-tests/dataflow/capture/inlinetest.ql +++ b/java/ql/test/library-tests/dataflow/capture/inlinetest.ql @@ -1,2 +1,3 @@ import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/dataflow/collections/containerflow.ql b/java/ql/test/library-tests/dataflow/collections/containerflow.ql index 4b1a19535ea..de5ff146fae 100644 --- a/java/ql/test/library-tests/dataflow/collections/containerflow.ql +++ b/java/ql/test/library-tests/dataflow/collections/containerflow.ql @@ -2,3 +2,4 @@ import java import semmle.code.java.dataflow.DataFlow import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/dataflow/fluent-methods/flow.ql b/java/ql/test/library-tests/dataflow/fluent-methods/flow.ql index 944abac0642..cb5151e6242 100644 --- a/java/ql/test/library-tests/dataflow/fluent-methods/flow.ql +++ b/java/ql/test/library-tests/dataflow/fluent-methods/flow.ql @@ -3,6 +3,7 @@ import semmle.code.java.dataflow.DataFlow import semmle.code.java.dataflow.FlowSteps import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph class Model extends FluentMethod { Model() { this.getName() = "modelledFluentMethod" } diff --git a/java/ql/test/library-tests/dataflow/stream-collect/test.ql b/java/ql/test/library-tests/dataflow/stream-collect/test.ql index 50e3f8d2f7d..8a82c0c1800 100644 --- a/java/ql/test/library-tests/dataflow/stream-collect/test.ql +++ b/java/ql/test/library-tests/dataflow/stream-collect/test.ql @@ -1,2 +1,3 @@ import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/dataflow/stream-read/test.ql b/java/ql/test/library-tests/dataflow/stream-read/test.ql index 50e3f8d2f7d..8a82c0c1800 100644 --- a/java/ql/test/library-tests/dataflow/stream-read/test.ql +++ b/java/ql/test/library-tests/dataflow/stream-read/test.ql @@ -1,2 +1,3 @@ import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/dataflow/synth-global/test.ql b/java/ql/test/library-tests/dataflow/synth-global/test.ql index 130169fff35..50f1a17a4f9 100644 --- a/java/ql/test/library-tests/dataflow/synth-global/test.ql +++ b/java/ql/test/library-tests/dataflow/synth-global/test.ql @@ -3,3 +3,4 @@ import semmle.code.java.dataflow.ExternalFlow import TestUtilities.InlineFlowTest import DefaultFlowTest import ModelValidation +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/dataflow/taint-format/test.ql b/java/ql/test/library-tests/dataflow/taint-format/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/dataflow/taint-format/test.ql +++ b/java/ql/test/library-tests/dataflow/taint-format/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/dataflow/taint-gson/dataFlow.ql b/java/ql/test/library-tests/dataflow/taint-gson/dataFlow.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/dataflow/taint-gson/dataFlow.ql +++ b/java/ql/test/library-tests/dataflow/taint-gson/dataFlow.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/dataflow/taint-jackson/dataFlow.ql b/java/ql/test/library-tests/dataflow/taint-jackson/dataFlow.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/dataflow/taint-jackson/dataFlow.ql +++ b/java/ql/test/library-tests/dataflow/taint-jackson/dataFlow.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/dataflow/typeflow-dispatch/test.ql b/java/ql/test/library-tests/dataflow/typeflow-dispatch/test.ql index 50e3f8d2f7d..8a82c0c1800 100644 --- a/java/ql/test/library-tests/dataflow/typeflow-dispatch/test.ql +++ b/java/ql/test/library-tests/dataflow/typeflow-dispatch/test.ql @@ -1,2 +1,3 @@ import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/android/asynctask/test.ql b/java/ql/test/library-tests/frameworks/android/asynctask/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/android/asynctask/test.ql +++ b/java/ql/test/library-tests/frameworks/android/asynctask/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/android/content-provider-summaries/test.ql b/java/ql/test/library-tests/frameworks/android/content-provider-summaries/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/android/content-provider-summaries/test.ql +++ b/java/ql/test/library-tests/frameworks/android/content-provider-summaries/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/android/flow-steps/test.ql b/java/ql/test/library-tests/frameworks/android/flow-steps/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/android/flow-steps/test.ql +++ b/java/ql/test/library-tests/frameworks/android/flow-steps/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/android/intent/test.ql b/java/ql/test/library-tests/frameworks/android/intent/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/android/intent/test.ql +++ b/java/ql/test/library-tests/frameworks/android/intent/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/android/notification/test.ql b/java/ql/test/library-tests/frameworks/android/notification/test.ql index 07c022b1265..b99687c21e2 100644 --- a/java/ql/test/library-tests/frameworks/android/notification/test.ql +++ b/java/ql/test/library-tests/frameworks/android/notification/test.ql @@ -2,3 +2,4 @@ import java import semmle.code.java.frameworks.android.Intent import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/android/uri/test.ql b/java/ql/test/library-tests/frameworks/android/uri/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/android/uri/test.ql +++ b/java/ql/test/library-tests/frameworks/android/uri/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/android/widget/test.ql b/java/ql/test/library-tests/frameworks/android/widget/test.ql index 41946bb0f26..d3c2cda98c5 100644 --- a/java/ql/test/library-tests/frameworks/android/widget/test.ql +++ b/java/ql/test/library-tests/frameworks/android/widget/test.ql @@ -2,6 +2,7 @@ import java import semmle.code.java.dataflow.FlowSources import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph query predicate valueOf(MethodCall ma) { ma.getMethod().hasQualifiedName("java.lang", "String", "valueOf") diff --git a/java/ql/test/library-tests/frameworks/apache-ant/test.ql b/java/ql/test/library-tests/frameworks/apache-ant/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/apache-ant/test.ql +++ b/java/ql/test/library-tests/frameworks/apache-ant/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/apache-collections/test.ql b/java/ql/test/library-tests/frameworks/apache-collections/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/apache-collections/test.ql +++ b/java/ql/test/library-tests/frameworks/apache-collections/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/apache-commons-compress/test.ql b/java/ql/test/library-tests/frameworks/apache-commons-compress/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/apache-commons-compress/test.ql +++ b/java/ql/test/library-tests/frameworks/apache-commons-compress/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.ql b/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.ql +++ b/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/gson/test.ql b/java/ql/test/library-tests/frameworks/gson/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/gson/test.ql +++ b/java/ql/test/library-tests/frameworks/gson/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/guava/generated/cache/test.ql b/java/ql/test/library-tests/frameworks/guava/generated/cache/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/guava/generated/cache/test.ql +++ b/java/ql/test/library-tests/frameworks/guava/generated/cache/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/guava/generated/collect/test.ql b/java/ql/test/library-tests/frameworks/guava/generated/collect/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/guava/generated/collect/test.ql +++ b/java/ql/test/library-tests/frameworks/guava/generated/collect/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/hudson/test.ql b/java/ql/test/library-tests/frameworks/hudson/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/hudson/test.ql +++ b/java/ql/test/library-tests/frameworks/hudson/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/jackson/test.ql b/java/ql/test/library-tests/frameworks/jackson/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/jackson/test.ql +++ b/java/ql/test/library-tests/frameworks/jackson/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/javax-json/test.ql b/java/ql/test/library-tests/frameworks/javax-json/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/javax-json/test.ql +++ b/java/ql/test/library-tests/frameworks/javax-json/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/jdk/java.io/test.ql b/java/ql/test/library-tests/frameworks/jdk/java.io/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/jdk/java.io/test.ql +++ b/java/ql/test/library-tests/frameworks/jdk/java.io/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/jdk/java.net/test.ql b/java/ql/test/library-tests/frameworks/jdk/java.net/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/jdk/java.net/test.ql +++ b/java/ql/test/library-tests/frameworks/jdk/java.net/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/jdk/java.nio.file/test.ql b/java/ql/test/library-tests/frameworks/jdk/java.nio.file/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/jdk/java.nio.file/test.ql +++ b/java/ql/test/library-tests/frameworks/jdk/java.nio.file/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/json-java/test.ql b/java/ql/test/library-tests/frameworks/json-java/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/json-java/test.ql +++ b/java/ql/test/library-tests/frameworks/json-java/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/netty/generated/test.ql b/java/ql/test/library-tests/frameworks/netty/generated/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/netty/generated/test.ql +++ b/java/ql/test/library-tests/frameworks/netty/generated/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/play/test.ql b/java/ql/test/library-tests/frameworks/play/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/play/test.ql +++ b/java/ql/test/library-tests/frameworks/play/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/spring/beans/test.ql b/java/ql/test/library-tests/frameworks/spring/beans/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/spring/beans/test.ql +++ b/java/ql/test/library-tests/frameworks/spring/beans/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/spring/cache/test.ql b/java/ql/test/library-tests/frameworks/spring/cache/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/spring/cache/test.ql +++ b/java/ql/test/library-tests/frameworks/spring/cache/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/spring/context/flow.ql b/java/ql/test/library-tests/frameworks/spring/context/flow.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/spring/context/flow.ql +++ b/java/ql/test/library-tests/frameworks/spring/context/flow.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/spring/data/test.ql b/java/ql/test/library-tests/frameworks/spring/data/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/spring/data/test.ql +++ b/java/ql/test/library-tests/frameworks/spring/data/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/spring/http/flow.ql b/java/ql/test/library-tests/frameworks/spring/http/flow.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/spring/http/flow.ql +++ b/java/ql/test/library-tests/frameworks/spring/http/flow.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/spring/ui/test.ql b/java/ql/test/library-tests/frameworks/spring/ui/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/spring/ui/test.ql +++ b/java/ql/test/library-tests/frameworks/spring/ui/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/spring/util/test.ql b/java/ql/test/library-tests/frameworks/spring/util/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/spring/util/test.ql +++ b/java/ql/test/library-tests/frameworks/spring/util/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/spring/validation/test.ql b/java/ql/test/library-tests/frameworks/spring/validation/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/spring/validation/test.ql +++ b/java/ql/test/library-tests/frameworks/spring/validation/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/spring/webmultipart/test.ql b/java/ql/test/library-tests/frameworks/spring/webmultipart/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/spring/webmultipart/test.ql +++ b/java/ql/test/library-tests/frameworks/spring/webmultipart/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/spring/webutil/test.ql b/java/ql/test/library-tests/frameworks/spring/webutil/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/spring/webutil/test.ql +++ b/java/ql/test/library-tests/frameworks/spring/webutil/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/stapler/test.ql b/java/ql/test/library-tests/frameworks/stapler/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/stapler/test.ql +++ b/java/ql/test/library-tests/frameworks/stapler/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/stream/test.ql b/java/ql/test/library-tests/frameworks/stream/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/stream/test.ql +++ b/java/ql/test/library-tests/frameworks/stream/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/frameworks/thymeleaf/test.ql b/java/ql/test/library-tests/frameworks/thymeleaf/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/frameworks/thymeleaf/test.ql +++ b/java/ql/test/library-tests/frameworks/thymeleaf/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/logging/test.ql b/java/ql/test/library-tests/logging/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/logging/test.ql +++ b/java/ql/test/library-tests/logging/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/optional/test.ql b/java/ql/test/library-tests/optional/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/optional/test.ql +++ b/java/ql/test/library-tests/optional/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/paths/test.ql b/java/ql/test/library-tests/paths/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/paths/test.ql +++ b/java/ql/test/library-tests/paths/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/regex/test.ql b/java/ql/test/library-tests/regex/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/regex/test.ql +++ b/java/ql/test/library-tests/regex/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph diff --git a/java/ql/test/library-tests/scanner/test.ql b/java/ql/test/library-tests/scanner/test.ql index aca87429a3a..a8287d6c5f1 100644 --- a/java/ql/test/library-tests/scanner/test.ql +++ b/java/ql/test/library-tests/scanner/test.ql @@ -1,3 +1,4 @@ import java import TestUtilities.InlineFlowTest import DefaultFlowTest +import TaintFlow::PathGraph From beba032ba5162b296e511b777d230f188c135e77 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Thu, 15 Aug 2024 10:31:32 +0200 Subject: [PATCH 038/258] Kotlin: fix wrapper on windows --- java/kotlin-extractor/dev/wrapper.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/java/kotlin-extractor/dev/wrapper.py b/java/kotlin-extractor/dev/wrapper.py index d4191d36382..f51db289269 100755 --- a/java/kotlin-extractor/dev/wrapper.py +++ b/java/kotlin-extractor/dev/wrapper.py @@ -122,10 +122,13 @@ def forward(tool, forwarded_opts): if platform.system() == "Windows": tool = tool.with_suffix(".bat") assert tool.exists(), f"{tool} not found" - args = [tool] - args.extend(forwarded_opts) - ret = subprocess.run(args).returncode - sys.exit(ret) + cmd = [tool] + forwarded_opts + if platform.system() == "Windows": + # kotlin bat script is pretty sensible to unquoted args on windows + ret = subprocess.run(" ".join(f'"{a}"' for a in cmd)).returncode + sys.exit(ret) + else: + os.execv(cmd[0], cmd) def clear(): From fb1dfd4217c15da83e5b7d7f9805c4c4401c0d58 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Thu, 15 Aug 2024 10:18:33 +0200 Subject: [PATCH 039/258] Java: Accept test changes. --- .../dataflow/summaries/test.expected | 242 + .../dataflow/summaries/test.expected | 242 + java/ql/test/ext/TestModels/test.expected | 438 + .../dataflow/callctx/test.expected | 114 + .../dataflow/capture/inlinetest.expected | 550 + .../collections/containerflow.expected | 6263 +++++ .../dataflow/fluent-methods/flow.expected | 72 + .../dataflow/stream-collect/test.expected | 94 + .../dataflow/stream-read/test.expected | 45 + .../dataflow/synth-global/test.expected | 16 + .../dataflow/taint-format/test.expected | 81 + .../dataflow/taint-gson/dataFlow.expected | 50 + .../dataflow/taint-jackson/dataFlow.expected | 110 + .../dataflow/typeflow-dispatch/test.expected | 33 + .../android/asynctask/test.expected | 59 + .../content-provider-summaries/test.expected | 932 + .../android/flow-steps/test.expected | 423 + .../frameworks/android/intent/test.expected | 4769 ++++ .../android/notification/test.expected | 2279 ++ .../frameworks/android/uri/test.expected | 650 + .../frameworks/android/widget/test.expected | 12 + .../frameworks/apache-ant/test.expected | 15 + .../apache-collections/test.expected | 19589 ++++++++++++++++ .../apache-commons-compress/test.expected | 45 + .../apache-commons-lang3/flow.expected | 6062 +++++ .../frameworks/gson/test.expected | 770 + .../guava/generated/cache/test.expected | 372 + .../guava/generated/collect/test.expected | 18552 +++++++++++++++ .../frameworks/hudson/test.expected | 15 + .../frameworks/jackson/test.expected | 340 + .../frameworks/javax-json/test.expected | 4585 ++++ .../frameworks/jdk/java.io/test.expected | 1012 + .../frameworks/jdk/java.net/test.expected | 206 + .../jdk/java.nio.file/test.expected | 146 + .../frameworks/json-java/test.expected | 3394 +++ .../frameworks/netty/generated/test.expected | 11482 +++++++++ .../frameworks/play/test.expected | 244 + .../frameworks/spring/beans/test.expected | 604 + .../frameworks/spring/cache/test.expected | 253 + .../frameworks/spring/context/flow.expected | 25 + .../frameworks/spring/data/test.expected | 26 + .../frameworks/spring/http/flow.expected | 407 + .../frameworks/spring/ui/test.expected | 1047 + .../frameworks/spring/util/test.expected | 2355 ++ .../spring/validation/test.expected | 132 + .../spring/webmultipart/test.expected | 176 + .../frameworks/spring/webutil/test.expected | 3482 +++ .../frameworks/stapler/test.expected | 52 + .../frameworks/stream/test.expected | 1019 + .../frameworks/thymeleaf/test.expected | 61 + .../test/library-tests/logging/test.expected | 190 + .../test/library-tests/optional/test.expected | 263 + .../ql/test/library-tests/paths/test.expected | 272 + .../ql/test/library-tests/regex/test.expected | 132 + .../test/library-tests/scanner/test.expected | 413 + 55 files changed, 95212 insertions(+) diff --git a/java/ql/test-kotlin1/library-tests/dataflow/summaries/test.expected b/java/ql/test-kotlin1/library-tests/dataflow/summaries/test.expected index f566914ba89..7f55b285880 100644 --- a/java/ql/test-kotlin1/library-tests/dataflow/summaries/test.expected +++ b/java/ql/test-kotlin1/library-tests/dataflow/summaries/test.expected @@ -1,3 +1,245 @@ +models +| 1 | Summary: kotlin.collections; ArraysKt; false; copyOf; (byte[]); ; Argument[0]; ReturnValue; taint; df-generated | +| 2 | Summary: kotlin.collections; ArraysKt; false; plus; (char[],char[]); ; Argument[0]; ReturnValue; taint; df-generated | +| 3 | Summary: kotlin.collections; CollectionsKt; false; toList; (Iterable); ; Argument[0].Element; ReturnValue; taint; df-generated | +| 4 | Summary: kotlin.collections; IndexedValue; false; IndexedValue; (int,Object); ; Argument[1]; Argument[this]; taint; df-generated | +| 5 | Summary: kotlin.collections; IndexedValue; false; component2; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 6 | Summary: kotlin.collections; IndexedValue; false; getValue; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 7 | Summary: kotlin.io; FileTreeWalk; false; maxDepth; (int); ; Argument[this]; ReturnValue; taint; df-generated | +| 8 | Summary: kotlin.text; MatchGroup; false; MatchGroup; (String,IntRange); ; Argument[0]; Argument[this]; taint; df-generated | +| 9 | Summary: kotlin.text; MatchGroup; false; component2; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 10 | Summary: kotlin.text; MatchGroup; false; getValue; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 11 | Summary: kotlin.text; StringsKt; false; capitalize; (String); ; Argument[0]; ReturnValue; taint; df-generated | +| 12 | Summary: kotlin.text; StringsKt; false; insertRange; (StringBuilder,int,char[],int,int); ; Argument[2]; Argument[0]; taint; df-generated | +| 13 | Summary: kotlin.text; StringsKt; false; insertRange; (StringBuilder,int,char[],int,int); ; Argument[2]; ReturnValue; taint; df-generated | +| 14 | Summary: kotlin.text; StringsKt; false; replaceFirstCharWithChar; (String,Function1); ; Argument[0]; ReturnValue; taint; df-generated | +| 15 | Summary: kotlin.time; TimedValue; false; TimedValue; (Object,Duration); ; Argument[0]; Argument[this]; taint; df-generated | +| 16 | Summary: kotlin.time; TimedValue; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 17 | Summary: kotlin.time; TimedValue; false; getDuration; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 18 | Summary: kotlin; Pair; false; Pair; (Object,Object); ; Argument[0]; Argument[this]; taint; df-generated | +| 19 | Summary: kotlin; Pair; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 20 | Summary: kotlin; Pair; false; getSecond; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 21 | Summary: kotlin; Triple; false; Triple; (Object,Object,Object); ; Argument[1]; Argument[this]; taint; df-generated | +| 22 | Summary: kotlin; Triple; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 23 | Summary: kotlin; Triple; false; getSecond; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 24 | Summary: kotlin; TuplesKt; false; to; (Object,Object); ; Argument[0]; ReturnValue; taint; df-generated | +| 25 | Summary: kotlin; TuplesKt; false; toList; (Pair); ; Argument[0]; ReturnValue; taint; df-generated | +| 26 | Summary: java.util; List; true; get; (int); ; Argument[this].Element; ReturnValue; value; manual | +| 27 | Summary: java.util; List; true; set; (int,Object); ; Argument[1]; Argument[this].Element; value; manual | +| 28 | Summary: kotlin.collections; ArraysKt; false; withIndex; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 29 | Summary: kotlin.io; CloseableKt; false; use; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual | +| 30 | Summary: kotlin; StandardKt; false; apply; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual | +| 31 | Summary: kotlin; StandardKt; false; apply; ; ; Argument[0]; ReturnValue; value; manual | +| 32 | Summary: kotlin; StandardKt; false; with; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual | +edges +| apply.kt:6:9:6:20 | taint(...) : String | apply.kt:6:28:6:41 | $this$apply : String | provenance | MaD:30 | +| apply.kt:6:28:6:41 | $this$apply : String | apply.kt:6:35:6:38 | this | provenance | | +| apply.kt:7:14:7:25 | taint(...) : String | apply.kt:7:14:7:40 | apply(...) | provenance | MaD:31 | +| list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:7:14:7:14 | l | provenance | | +| list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:8:14:8:14 | l : List | provenance | | +| list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:8:14:8:14 | l : List [] : String | provenance | | +| list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:9:19:9:19 | l : List [] : String | provenance | | +| list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:10:18:10:18 | s | provenance | | +| list.kt:6:16:6:25 | taint(...) : String | list.kt:6:9:6:9 | l [post update] : List [] : String | provenance | MaD:27 | +| list.kt:8:14:8:14 | l : List | list.kt:8:14:8:17 | get(...) | provenance | MaD:26 | +| list.kt:8:14:8:14 | l : List [] : String | list.kt:8:14:8:17 | get(...) | provenance | MaD:26 | +| list.kt:9:19:9:19 | l : List [] : String | list.kt:10:18:10:18 | s | provenance | | +| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:14:14:14:14 | a | provenance | | +| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:15:14:15:14 | a : String[] [[]] : String | provenance | | +| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:15:14:15:17 | ...[...] | provenance | | +| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:16:19:16:19 | a : String[] [[]] : String | provenance | | +| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:17:18:17:18 | s | provenance | | +| list.kt:13:25:13:34 | taint(...) : String | list.kt:13:17:13:40 | {...} : String[] [[]] : String | provenance | | +| list.kt:15:14:15:14 | a : String[] [[]] : String | list.kt:15:14:15:17 | ...[...] | provenance | | +| list.kt:16:19:16:19 | a : String[] [[]] : String | list.kt:17:18:17:18 | s | provenance | | +| test.kt:16:14:16:21 | taint(...) : byte[] | test.kt:16:14:16:30 | copyOf(...) | provenance | MaD:1 | +| test.kt:17:14:17:21 | taint(...) : FileTreeWalk | test.kt:17:14:17:33 | maxDepth(...) | provenance | MaD:7 | +| test.kt:20:14:20:15 | sb [post update] : StringBuilder | test.kt:21:14:21:15 | sb | provenance | | +| test.kt:20:32:20:40 | taint(...) : char[] | test.kt:20:14:20:15 | sb [post update] : StringBuilder | provenance | MaD:12 | +| test.kt:20:32:20:40 | taint(...) : char[] | test.kt:20:14:20:47 | insertRange(...) | provenance | MaD:13 | +| test.kt:23:14:23:22 | taint(...) : char[] | test.kt:23:14:23:27 | plus(...) | provenance | MaD:2 | +| test.kt:25:17:25:36 | new Pair(...) : Pair | test.kt:26:14:26:14 | p | provenance | | +| test.kt:25:17:25:36 | new Pair(...) : Pair | test.kt:27:14:27:14 | p : Pair | provenance | | +| test.kt:25:17:25:36 | new Pair(...) : Pair | test.kt:28:14:28:14 | p : Pair | provenance | | +| test.kt:25:17:25:36 | new Pair(...) : Pair | test.kt:43:17:43:17 | p : Pair | provenance | | +| test.kt:25:22:25:31 | taint(...) : String | test.kt:25:17:25:36 | new Pair(...) : Pair | provenance | MaD:18 | +| test.kt:27:14:27:14 | p : Pair | test.kt:27:14:27:27 | component1(...) | provenance | MaD:19 | +| test.kt:28:14:28:14 | p : Pair | test.kt:28:14:28:21 | getSecond(...) | provenance | MaD:20 | +| test.kt:30:14:30:23 | taint(...) : String | test.kt:30:14:30:36 | capitalize(...) | provenance | MaD:11 | +| test.kt:31:14:31:23 | taint(...) : String | test.kt:31:14:31:53 | replaceFirstCharWithChar(...) | provenance | MaD:14 | +| test.kt:33:17:33:42 | new Triple(...) : Triple | test.kt:34:14:34:14 | t | provenance | | +| test.kt:33:17:33:42 | new Triple(...) : Triple | test.kt:35:14:35:14 | t : Triple | provenance | | +| test.kt:33:17:33:42 | new Triple(...) : Triple | test.kt:36:14:36:14 | t : Triple | provenance | | +| test.kt:33:28:33:37 | taint(...) : String | test.kt:33:17:33:42 | new Triple(...) : Triple | provenance | MaD:21 | +| test.kt:35:14:35:14 | t : Triple | test.kt:35:14:35:27 | component1(...) | provenance | MaD:22 | +| test.kt:36:14:36:14 | t : Triple | test.kt:36:14:36:21 | getSecond(...) | provenance | MaD:23 | +| test.kt:38:18:38:27 | taint(...) : String | test.kt:38:18:38:33 | to(...) : Pair | provenance | MaD:24 | +| test.kt:38:18:38:33 | to(...) : Pair | test.kt:39:14:39:15 | p1 | provenance | | +| test.kt:38:18:38:33 | to(...) : Pair | test.kt:40:14:40:15 | p1 : Pair | provenance | | +| test.kt:38:18:38:33 | to(...) : Pair | test.kt:41:14:41:15 | p1 : Pair | provenance | | +| test.kt:40:14:40:15 | p1 : Pair | test.kt:40:14:40:28 | component1(...) | provenance | MaD:19 | +| test.kt:41:14:41:15 | p1 : Pair | test.kt:41:14:41:22 | getSecond(...) | provenance | MaD:20 | +| test.kt:43:17:43:17 | p : Pair | test.kt:43:17:43:26 | toList(...) : List | provenance | MaD:25 | +| test.kt:43:17:43:26 | toList(...) : List | test.kt:44:14:44:14 | l | provenance | | +| test.kt:43:17:43:26 | toList(...) : List | test.kt:45:14:45:14 | l : List | provenance | | +| test.kt:43:17:43:26 | toList(...) : List | test.kt:47:18:47:18 | s | provenance | | +| test.kt:45:14:45:14 | l : List | test.kt:45:14:45:17 | get(...) | provenance | MaD:26 | +| test.kt:50:18:50:59 | new TimedValue(...) : TimedValue | test.kt:51:14:51:15 | tv | provenance | | +| test.kt:50:18:50:59 | new TimedValue(...) : TimedValue | test.kt:52:14:52:15 | tv : TimedValue | provenance | | +| test.kt:50:18:50:59 | new TimedValue(...) : TimedValue | test.kt:53:14:53:15 | tv : TimedValue | provenance | | +| test.kt:50:29:50:38 | taint(...) : String | test.kt:50:18:50:59 | new TimedValue(...) : TimedValue | provenance | MaD:15 | +| test.kt:52:14:52:15 | tv : TimedValue | test.kt:52:14:52:28 | component1(...) | provenance | MaD:16 | +| test.kt:53:14:53:15 | tv : TimedValue | test.kt:53:14:53:24 | getDuration(...) | provenance | MaD:17 | +| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:56:14:56:16 | mg0 | provenance | | +| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:57:14:57:16 | mg0 : MatchGroup | provenance | | +| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:58:14:58:16 | mg0 : MatchGroup | provenance | | +| test.kt:55:30:55:39 | taint(...) : String | test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | provenance | MaD:8 | +| test.kt:57:14:57:16 | mg0 : MatchGroup | test.kt:57:14:57:22 | getValue(...) | provenance | MaD:10 | +| test.kt:58:14:58:16 | mg0 : MatchGroup | test.kt:58:14:58:29 | component2(...) | provenance | MaD:9 | +| test.kt:60:18:60:52 | new IndexedValue(...) : IndexedValue | test.kt:61:14:61:15 | iv | provenance | | +| test.kt:60:18:60:52 | new IndexedValue(...) : IndexedValue | test.kt:63:14:63:15 | iv : IndexedValue | provenance | | +| test.kt:60:42:60:51 | taint(...) : String | test.kt:60:18:60:52 | new IndexedValue(...) : IndexedValue | provenance | MaD:4 | +| test.kt:63:14:63:15 | iv : IndexedValue | test.kt:63:14:63:28 | component2(...) | provenance | MaD:5 | +| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:66:14:66:20 | strings : String[] [[]] : String | provenance | | +| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:67:14:67:20 | strings : String[] [[]] : String | provenance | | +| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:68:14:68:20 | strings : String[] [[]] : String | provenance | | +| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:70:19:70:25 | strings : String[] [[]] : String | provenance | | +| test.kt:65:35:65:44 | taint(...) : String | test.kt:65:23:65:45 | {...} : String[] [[]] : String | provenance | | +| test.kt:66:14:66:20 | strings : String[] [[]] : String | test.kt:66:14:66:32 | withIndex(...) | provenance | MaD:28 | +| test.kt:67:14:67:20 | strings : String[] [[]] : String | test.kt:67:14:67:32 | withIndex(...) : Iterable | provenance | MaD:28 | +| test.kt:67:14:67:32 | withIndex(...) : Iterable | test.kt:67:14:67:41 | toList(...) | provenance | MaD:3 | +| test.kt:68:14:68:20 | strings : String[] [[]] : String | test.kt:68:14:68:32 | withIndex(...) : Iterable | provenance | MaD:28 | +| test.kt:68:14:68:32 | withIndex(...) : Iterable | test.kt:68:14:68:41 | toList(...) : List | provenance | MaD:3 | +| test.kt:68:14:68:41 | toList(...) : List | test.kt:68:14:68:44 | get(...) : IndexedValue | provenance | MaD:26 | +| test.kt:68:14:68:44 | get(...) : IndexedValue | test.kt:68:14:68:50 | getValue(...) | provenance | MaD:6 | +| test.kt:70:19:70:25 | strings : String[] [[]] : String | test.kt:70:19:70:37 | withIndex(...) : Iterable | provenance | MaD:28 | +| test.kt:70:19:70:37 | withIndex(...) : Iterable | test.kt:71:18:71:18 | x : IndexedValue | provenance | | +| test.kt:71:18:71:18 | x : IndexedValue | test.kt:71:18:71:24 | getValue(...) | provenance | MaD:6 | +| use.kt:8:9:8:20 | taint(...) : Closeable | use.kt:8:28:8:29 | it : Closeable | provenance | MaD:29 | +| use.kt:8:28:8:29 | it : Closeable | use.kt:8:39:8:40 | it | provenance | | +| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:14:9:36 | use(...) | provenance | MaD:29 | +| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:31:9:36 | it : Closeable | provenance | MaD:29 | +| use.kt:9:31:9:36 | it : Closeable | use.kt:9:33:9:34 | it : Closeable | provenance | | +| with.kt:6:14:6:25 | taint(...) : String | with.kt:6:28:6:41 | $this$with : String | provenance | MaD:32 | +| with.kt:6:28:6:41 | $this$with : String | with.kt:6:35:6:38 | this | provenance | | +| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:14:7:40 | with(...) | provenance | MaD:32 | +| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:33:7:40 | $this$with : String | provenance | MaD:32 | +| with.kt:7:33:7:40 | $this$with : String | with.kt:7:35:7:38 | this : String | provenance | | +nodes +| apply.kt:6:9:6:20 | taint(...) : String | semmle.label | taint(...) : String | +| apply.kt:6:28:6:41 | $this$apply : String | semmle.label | $this$apply : String | +| apply.kt:6:35:6:38 | this | semmle.label | this | +| apply.kt:7:14:7:25 | taint(...) : String | semmle.label | taint(...) : String | +| apply.kt:7:14:7:40 | apply(...) | semmle.label | apply(...) | +| list.kt:6:9:6:9 | l [post update] : List [] : String | semmle.label | l [post update] : List [] : String | +| list.kt:6:16:6:25 | taint(...) : String | semmle.label | taint(...) : String | +| list.kt:7:14:7:14 | l | semmle.label | l | +| list.kt:8:14:8:14 | l : List | semmle.label | l : List | +| list.kt:8:14:8:14 | l : List [] : String | semmle.label | l : List [] : String | +| list.kt:8:14:8:17 | get(...) | semmle.label | get(...) | +| list.kt:9:19:9:19 | l : List [] : String | semmle.label | l : List [] : String | +| list.kt:10:18:10:18 | s | semmle.label | s | +| list.kt:13:17:13:40 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| list.kt:13:25:13:34 | taint(...) : String | semmle.label | taint(...) : String | +| list.kt:14:14:14:14 | a | semmle.label | a | +| list.kt:15:14:15:14 | a : String[] [[]] : String | semmle.label | a : String[] [[]] : String | +| list.kt:15:14:15:17 | ...[...] | semmle.label | ...[...] | +| list.kt:16:19:16:19 | a : String[] [[]] : String | semmle.label | a : String[] [[]] : String | +| list.kt:17:18:17:18 | s | semmle.label | s | +| test.kt:16:14:16:21 | taint(...) : byte[] | semmle.label | taint(...) : byte[] | +| test.kt:16:14:16:30 | copyOf(...) | semmle.label | copyOf(...) | +| test.kt:17:14:17:21 | taint(...) : FileTreeWalk | semmle.label | taint(...) : FileTreeWalk | +| test.kt:17:14:17:33 | maxDepth(...) | semmle.label | maxDepth(...) | +| test.kt:20:14:20:15 | sb [post update] : StringBuilder | semmle.label | sb [post update] : StringBuilder | +| test.kt:20:14:20:47 | insertRange(...) | semmle.label | insertRange(...) | +| test.kt:20:32:20:40 | taint(...) : char[] | semmle.label | taint(...) : char[] | +| test.kt:21:14:21:15 | sb | semmle.label | sb | +| test.kt:23:14:23:22 | taint(...) : char[] | semmle.label | taint(...) : char[] | +| test.kt:23:14:23:27 | plus(...) | semmle.label | plus(...) | +| test.kt:25:17:25:36 | new Pair(...) : Pair | semmle.label | new Pair(...) : Pair | +| test.kt:25:22:25:31 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:26:14:26:14 | p | semmle.label | p | +| test.kt:27:14:27:14 | p : Pair | semmle.label | p : Pair | +| test.kt:27:14:27:27 | component1(...) | semmle.label | component1(...) | +| test.kt:28:14:28:14 | p : Pair | semmle.label | p : Pair | +| test.kt:28:14:28:21 | getSecond(...) | semmle.label | getSecond(...) | +| test.kt:30:14:30:23 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:30:14:30:36 | capitalize(...) | semmle.label | capitalize(...) | +| test.kt:31:14:31:23 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:31:14:31:53 | replaceFirstCharWithChar(...) | semmle.label | replaceFirstCharWithChar(...) | +| test.kt:33:17:33:42 | new Triple(...) : Triple | semmle.label | new Triple(...) : Triple | +| test.kt:33:28:33:37 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:34:14:34:14 | t | semmle.label | t | +| test.kt:35:14:35:14 | t : Triple | semmle.label | t : Triple | +| test.kt:35:14:35:27 | component1(...) | semmle.label | component1(...) | +| test.kt:36:14:36:14 | t : Triple | semmle.label | t : Triple | +| test.kt:36:14:36:21 | getSecond(...) | semmle.label | getSecond(...) | +| test.kt:38:18:38:27 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:38:18:38:33 | to(...) : Pair | semmle.label | to(...) : Pair | +| test.kt:39:14:39:15 | p1 | semmle.label | p1 | +| test.kt:40:14:40:15 | p1 : Pair | semmle.label | p1 : Pair | +| test.kt:40:14:40:28 | component1(...) | semmle.label | component1(...) | +| test.kt:41:14:41:15 | p1 : Pair | semmle.label | p1 : Pair | +| test.kt:41:14:41:22 | getSecond(...) | semmle.label | getSecond(...) | +| test.kt:43:17:43:17 | p : Pair | semmle.label | p : Pair | +| test.kt:43:17:43:26 | toList(...) : List | semmle.label | toList(...) : List | +| test.kt:44:14:44:14 | l | semmle.label | l | +| test.kt:45:14:45:14 | l : List | semmle.label | l : List | +| test.kt:45:14:45:17 | get(...) | semmle.label | get(...) | +| test.kt:47:18:47:18 | s | semmle.label | s | +| test.kt:50:18:50:59 | new TimedValue(...) : TimedValue | semmle.label | new TimedValue(...) : TimedValue | +| test.kt:50:29:50:38 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:51:14:51:15 | tv | semmle.label | tv | +| test.kt:52:14:52:15 | tv : TimedValue | semmle.label | tv : TimedValue | +| test.kt:52:14:52:28 | component1(...) | semmle.label | component1(...) | +| test.kt:53:14:53:15 | tv : TimedValue | semmle.label | tv : TimedValue | +| test.kt:53:14:53:24 | getDuration(...) | semmle.label | getDuration(...) | +| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | semmle.label | new MatchGroup(...) : MatchGroup | +| test.kt:55:30:55:39 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:56:14:56:16 | mg0 | semmle.label | mg0 | +| test.kt:57:14:57:16 | mg0 : MatchGroup | semmle.label | mg0 : MatchGroup | +| test.kt:57:14:57:22 | getValue(...) | semmle.label | getValue(...) | +| test.kt:58:14:58:16 | mg0 : MatchGroup | semmle.label | mg0 : MatchGroup | +| test.kt:58:14:58:29 | component2(...) | semmle.label | component2(...) | +| test.kt:60:18:60:52 | new IndexedValue(...) : IndexedValue | semmle.label | new IndexedValue(...) : IndexedValue | +| test.kt:60:42:60:51 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:61:14:61:15 | iv | semmle.label | iv | +| test.kt:63:14:63:15 | iv : IndexedValue | semmle.label | iv : IndexedValue | +| test.kt:63:14:63:28 | component2(...) | semmle.label | component2(...) | +| test.kt:65:23:65:45 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| test.kt:65:35:65:44 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:66:14:66:20 | strings : String[] [[]] : String | semmle.label | strings : String[] [[]] : String | +| test.kt:66:14:66:32 | withIndex(...) | semmle.label | withIndex(...) | +| test.kt:67:14:67:20 | strings : String[] [[]] : String | semmle.label | strings : String[] [[]] : String | +| test.kt:67:14:67:32 | withIndex(...) : Iterable | semmle.label | withIndex(...) : Iterable | +| test.kt:67:14:67:41 | toList(...) | semmle.label | toList(...) | +| test.kt:68:14:68:20 | strings : String[] [[]] : String | semmle.label | strings : String[] [[]] : String | +| test.kt:68:14:68:32 | withIndex(...) : Iterable | semmle.label | withIndex(...) : Iterable | +| test.kt:68:14:68:41 | toList(...) : List | semmle.label | toList(...) : List | +| test.kt:68:14:68:44 | get(...) : IndexedValue | semmle.label | get(...) : IndexedValue | +| test.kt:68:14:68:50 | getValue(...) | semmle.label | getValue(...) | +| test.kt:70:19:70:25 | strings : String[] [[]] : String | semmle.label | strings : String[] [[]] : String | +| test.kt:70:19:70:37 | withIndex(...) : Iterable | semmle.label | withIndex(...) : Iterable | +| test.kt:71:18:71:18 | x : IndexedValue | semmle.label | x : IndexedValue | +| test.kt:71:18:71:24 | getValue(...) | semmle.label | getValue(...) | +| use.kt:8:9:8:20 | taint(...) : Closeable | semmle.label | taint(...) : Closeable | +| use.kt:8:28:8:29 | it : Closeable | semmle.label | it : Closeable | +| use.kt:8:39:8:40 | it | semmle.label | it | +| use.kt:9:14:9:25 | taint(...) : Closeable | semmle.label | taint(...) : Closeable | +| use.kt:9:14:9:36 | use(...) | semmle.label | use(...) | +| use.kt:9:31:9:36 | it : Closeable | semmle.label | it : Closeable | +| use.kt:9:33:9:34 | it : Closeable | semmle.label | it : Closeable | +| with.kt:6:14:6:25 | taint(...) : String | semmle.label | taint(...) : String | +| with.kt:6:28:6:41 | $this$with : String | semmle.label | $this$with : String | +| with.kt:6:35:6:38 | this | semmle.label | this | +| with.kt:7:14:7:40 | with(...) | semmle.label | with(...) | +| with.kt:7:19:7:30 | taint(...) : String | semmle.label | taint(...) : String | +| with.kt:7:33:7:40 | $this$with : String | semmle.label | $this$with : String | +| with.kt:7:35:7:38 | this : String | semmle.label | this : String | +subpaths +| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:31:9:36 | it : Closeable | use.kt:9:33:9:34 | it : Closeable | use.kt:9:14:9:36 | use(...) | +| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:33:7:40 | $this$with : String | with.kt:7:35:7:38 | this : String | with.kt:7:14:7:40 | with(...) | +testFailures | test.kt:28:14:28:21 | getSecond(...) | Unexpected result: hasTaintFlow=a | | test.kt:35:14:35:27 | component1(...) | Unexpected result: hasTaintFlow=d | | test.kt:41:14:41:22 | getSecond(...) | Unexpected result: hasTaintFlow=e | diff --git a/java/ql/test-kotlin2/library-tests/dataflow/summaries/test.expected b/java/ql/test-kotlin2/library-tests/dataflow/summaries/test.expected index f566914ba89..7f55b285880 100644 --- a/java/ql/test-kotlin2/library-tests/dataflow/summaries/test.expected +++ b/java/ql/test-kotlin2/library-tests/dataflow/summaries/test.expected @@ -1,3 +1,245 @@ +models +| 1 | Summary: kotlin.collections; ArraysKt; false; copyOf; (byte[]); ; Argument[0]; ReturnValue; taint; df-generated | +| 2 | Summary: kotlin.collections; ArraysKt; false; plus; (char[],char[]); ; Argument[0]; ReturnValue; taint; df-generated | +| 3 | Summary: kotlin.collections; CollectionsKt; false; toList; (Iterable); ; Argument[0].Element; ReturnValue; taint; df-generated | +| 4 | Summary: kotlin.collections; IndexedValue; false; IndexedValue; (int,Object); ; Argument[1]; Argument[this]; taint; df-generated | +| 5 | Summary: kotlin.collections; IndexedValue; false; component2; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 6 | Summary: kotlin.collections; IndexedValue; false; getValue; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 7 | Summary: kotlin.io; FileTreeWalk; false; maxDepth; (int); ; Argument[this]; ReturnValue; taint; df-generated | +| 8 | Summary: kotlin.text; MatchGroup; false; MatchGroup; (String,IntRange); ; Argument[0]; Argument[this]; taint; df-generated | +| 9 | Summary: kotlin.text; MatchGroup; false; component2; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 10 | Summary: kotlin.text; MatchGroup; false; getValue; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 11 | Summary: kotlin.text; StringsKt; false; capitalize; (String); ; Argument[0]; ReturnValue; taint; df-generated | +| 12 | Summary: kotlin.text; StringsKt; false; insertRange; (StringBuilder,int,char[],int,int); ; Argument[2]; Argument[0]; taint; df-generated | +| 13 | Summary: kotlin.text; StringsKt; false; insertRange; (StringBuilder,int,char[],int,int); ; Argument[2]; ReturnValue; taint; df-generated | +| 14 | Summary: kotlin.text; StringsKt; false; replaceFirstCharWithChar; (String,Function1); ; Argument[0]; ReturnValue; taint; df-generated | +| 15 | Summary: kotlin.time; TimedValue; false; TimedValue; (Object,Duration); ; Argument[0]; Argument[this]; taint; df-generated | +| 16 | Summary: kotlin.time; TimedValue; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 17 | Summary: kotlin.time; TimedValue; false; getDuration; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 18 | Summary: kotlin; Pair; false; Pair; (Object,Object); ; Argument[0]; Argument[this]; taint; df-generated | +| 19 | Summary: kotlin; Pair; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 20 | Summary: kotlin; Pair; false; getSecond; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 21 | Summary: kotlin; Triple; false; Triple; (Object,Object,Object); ; Argument[1]; Argument[this]; taint; df-generated | +| 22 | Summary: kotlin; Triple; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 23 | Summary: kotlin; Triple; false; getSecond; (); ; Argument[this]; ReturnValue; taint; df-generated | +| 24 | Summary: kotlin; TuplesKt; false; to; (Object,Object); ; Argument[0]; ReturnValue; taint; df-generated | +| 25 | Summary: kotlin; TuplesKt; false; toList; (Pair); ; Argument[0]; ReturnValue; taint; df-generated | +| 26 | Summary: java.util; List; true; get; (int); ; Argument[this].Element; ReturnValue; value; manual | +| 27 | Summary: java.util; List; true; set; (int,Object); ; Argument[1]; Argument[this].Element; value; manual | +| 28 | Summary: kotlin.collections; ArraysKt; false; withIndex; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 29 | Summary: kotlin.io; CloseableKt; false; use; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual | +| 30 | Summary: kotlin; StandardKt; false; apply; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual | +| 31 | Summary: kotlin; StandardKt; false; apply; ; ; Argument[0]; ReturnValue; value; manual | +| 32 | Summary: kotlin; StandardKt; false; with; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual | +edges +| apply.kt:6:9:6:20 | taint(...) : String | apply.kt:6:28:6:41 | $this$apply : String | provenance | MaD:30 | +| apply.kt:6:28:6:41 | $this$apply : String | apply.kt:6:35:6:38 | this | provenance | | +| apply.kt:7:14:7:25 | taint(...) : String | apply.kt:7:14:7:40 | apply(...) | provenance | MaD:31 | +| list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:7:14:7:14 | l | provenance | | +| list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:8:14:8:14 | l : List | provenance | | +| list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:8:14:8:14 | l : List [] : String | provenance | | +| list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:9:19:9:19 | l : List [] : String | provenance | | +| list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:10:18:10:18 | s | provenance | | +| list.kt:6:16:6:25 | taint(...) : String | list.kt:6:9:6:9 | l [post update] : List [] : String | provenance | MaD:27 | +| list.kt:8:14:8:14 | l : List | list.kt:8:14:8:17 | get(...) | provenance | MaD:26 | +| list.kt:8:14:8:14 | l : List [] : String | list.kt:8:14:8:17 | get(...) | provenance | MaD:26 | +| list.kt:9:19:9:19 | l : List [] : String | list.kt:10:18:10:18 | s | provenance | | +| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:14:14:14:14 | a | provenance | | +| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:15:14:15:14 | a : String[] [[]] : String | provenance | | +| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:15:14:15:17 | ...[...] | provenance | | +| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:16:19:16:19 | a : String[] [[]] : String | provenance | | +| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:17:18:17:18 | s | provenance | | +| list.kt:13:25:13:34 | taint(...) : String | list.kt:13:17:13:40 | {...} : String[] [[]] : String | provenance | | +| list.kt:15:14:15:14 | a : String[] [[]] : String | list.kt:15:14:15:17 | ...[...] | provenance | | +| list.kt:16:19:16:19 | a : String[] [[]] : String | list.kt:17:18:17:18 | s | provenance | | +| test.kt:16:14:16:21 | taint(...) : byte[] | test.kt:16:14:16:30 | copyOf(...) | provenance | MaD:1 | +| test.kt:17:14:17:21 | taint(...) : FileTreeWalk | test.kt:17:14:17:33 | maxDepth(...) | provenance | MaD:7 | +| test.kt:20:14:20:15 | sb [post update] : StringBuilder | test.kt:21:14:21:15 | sb | provenance | | +| test.kt:20:32:20:40 | taint(...) : char[] | test.kt:20:14:20:15 | sb [post update] : StringBuilder | provenance | MaD:12 | +| test.kt:20:32:20:40 | taint(...) : char[] | test.kt:20:14:20:47 | insertRange(...) | provenance | MaD:13 | +| test.kt:23:14:23:22 | taint(...) : char[] | test.kt:23:14:23:27 | plus(...) | provenance | MaD:2 | +| test.kt:25:17:25:36 | new Pair(...) : Pair | test.kt:26:14:26:14 | p | provenance | | +| test.kt:25:17:25:36 | new Pair(...) : Pair | test.kt:27:14:27:14 | p : Pair | provenance | | +| test.kt:25:17:25:36 | new Pair(...) : Pair | test.kt:28:14:28:14 | p : Pair | provenance | | +| test.kt:25:17:25:36 | new Pair(...) : Pair | test.kt:43:17:43:17 | p : Pair | provenance | | +| test.kt:25:22:25:31 | taint(...) : String | test.kt:25:17:25:36 | new Pair(...) : Pair | provenance | MaD:18 | +| test.kt:27:14:27:14 | p : Pair | test.kt:27:14:27:27 | component1(...) | provenance | MaD:19 | +| test.kt:28:14:28:14 | p : Pair | test.kt:28:14:28:21 | getSecond(...) | provenance | MaD:20 | +| test.kt:30:14:30:23 | taint(...) : String | test.kt:30:14:30:36 | capitalize(...) | provenance | MaD:11 | +| test.kt:31:14:31:23 | taint(...) : String | test.kt:31:14:31:53 | replaceFirstCharWithChar(...) | provenance | MaD:14 | +| test.kt:33:17:33:42 | new Triple(...) : Triple | test.kt:34:14:34:14 | t | provenance | | +| test.kt:33:17:33:42 | new Triple(...) : Triple | test.kt:35:14:35:14 | t : Triple | provenance | | +| test.kt:33:17:33:42 | new Triple(...) : Triple | test.kt:36:14:36:14 | t : Triple | provenance | | +| test.kt:33:28:33:37 | taint(...) : String | test.kt:33:17:33:42 | new Triple(...) : Triple | provenance | MaD:21 | +| test.kt:35:14:35:14 | t : Triple | test.kt:35:14:35:27 | component1(...) | provenance | MaD:22 | +| test.kt:36:14:36:14 | t : Triple | test.kt:36:14:36:21 | getSecond(...) | provenance | MaD:23 | +| test.kt:38:18:38:27 | taint(...) : String | test.kt:38:18:38:33 | to(...) : Pair | provenance | MaD:24 | +| test.kt:38:18:38:33 | to(...) : Pair | test.kt:39:14:39:15 | p1 | provenance | | +| test.kt:38:18:38:33 | to(...) : Pair | test.kt:40:14:40:15 | p1 : Pair | provenance | | +| test.kt:38:18:38:33 | to(...) : Pair | test.kt:41:14:41:15 | p1 : Pair | provenance | | +| test.kt:40:14:40:15 | p1 : Pair | test.kt:40:14:40:28 | component1(...) | provenance | MaD:19 | +| test.kt:41:14:41:15 | p1 : Pair | test.kt:41:14:41:22 | getSecond(...) | provenance | MaD:20 | +| test.kt:43:17:43:17 | p : Pair | test.kt:43:17:43:26 | toList(...) : List | provenance | MaD:25 | +| test.kt:43:17:43:26 | toList(...) : List | test.kt:44:14:44:14 | l | provenance | | +| test.kt:43:17:43:26 | toList(...) : List | test.kt:45:14:45:14 | l : List | provenance | | +| test.kt:43:17:43:26 | toList(...) : List | test.kt:47:18:47:18 | s | provenance | | +| test.kt:45:14:45:14 | l : List | test.kt:45:14:45:17 | get(...) | provenance | MaD:26 | +| test.kt:50:18:50:59 | new TimedValue(...) : TimedValue | test.kt:51:14:51:15 | tv | provenance | | +| test.kt:50:18:50:59 | new TimedValue(...) : TimedValue | test.kt:52:14:52:15 | tv : TimedValue | provenance | | +| test.kt:50:18:50:59 | new TimedValue(...) : TimedValue | test.kt:53:14:53:15 | tv : TimedValue | provenance | | +| test.kt:50:29:50:38 | taint(...) : String | test.kt:50:18:50:59 | new TimedValue(...) : TimedValue | provenance | MaD:15 | +| test.kt:52:14:52:15 | tv : TimedValue | test.kt:52:14:52:28 | component1(...) | provenance | MaD:16 | +| test.kt:53:14:53:15 | tv : TimedValue | test.kt:53:14:53:24 | getDuration(...) | provenance | MaD:17 | +| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:56:14:56:16 | mg0 | provenance | | +| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:57:14:57:16 | mg0 : MatchGroup | provenance | | +| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:58:14:58:16 | mg0 : MatchGroup | provenance | | +| test.kt:55:30:55:39 | taint(...) : String | test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | provenance | MaD:8 | +| test.kt:57:14:57:16 | mg0 : MatchGroup | test.kt:57:14:57:22 | getValue(...) | provenance | MaD:10 | +| test.kt:58:14:58:16 | mg0 : MatchGroup | test.kt:58:14:58:29 | component2(...) | provenance | MaD:9 | +| test.kt:60:18:60:52 | new IndexedValue(...) : IndexedValue | test.kt:61:14:61:15 | iv | provenance | | +| test.kt:60:18:60:52 | new IndexedValue(...) : IndexedValue | test.kt:63:14:63:15 | iv : IndexedValue | provenance | | +| test.kt:60:42:60:51 | taint(...) : String | test.kt:60:18:60:52 | new IndexedValue(...) : IndexedValue | provenance | MaD:4 | +| test.kt:63:14:63:15 | iv : IndexedValue | test.kt:63:14:63:28 | component2(...) | provenance | MaD:5 | +| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:66:14:66:20 | strings : String[] [[]] : String | provenance | | +| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:67:14:67:20 | strings : String[] [[]] : String | provenance | | +| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:68:14:68:20 | strings : String[] [[]] : String | provenance | | +| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:70:19:70:25 | strings : String[] [[]] : String | provenance | | +| test.kt:65:35:65:44 | taint(...) : String | test.kt:65:23:65:45 | {...} : String[] [[]] : String | provenance | | +| test.kt:66:14:66:20 | strings : String[] [[]] : String | test.kt:66:14:66:32 | withIndex(...) | provenance | MaD:28 | +| test.kt:67:14:67:20 | strings : String[] [[]] : String | test.kt:67:14:67:32 | withIndex(...) : Iterable | provenance | MaD:28 | +| test.kt:67:14:67:32 | withIndex(...) : Iterable | test.kt:67:14:67:41 | toList(...) | provenance | MaD:3 | +| test.kt:68:14:68:20 | strings : String[] [[]] : String | test.kt:68:14:68:32 | withIndex(...) : Iterable | provenance | MaD:28 | +| test.kt:68:14:68:32 | withIndex(...) : Iterable | test.kt:68:14:68:41 | toList(...) : List | provenance | MaD:3 | +| test.kt:68:14:68:41 | toList(...) : List | test.kt:68:14:68:44 | get(...) : IndexedValue | provenance | MaD:26 | +| test.kt:68:14:68:44 | get(...) : IndexedValue | test.kt:68:14:68:50 | getValue(...) | provenance | MaD:6 | +| test.kt:70:19:70:25 | strings : String[] [[]] : String | test.kt:70:19:70:37 | withIndex(...) : Iterable | provenance | MaD:28 | +| test.kt:70:19:70:37 | withIndex(...) : Iterable | test.kt:71:18:71:18 | x : IndexedValue | provenance | | +| test.kt:71:18:71:18 | x : IndexedValue | test.kt:71:18:71:24 | getValue(...) | provenance | MaD:6 | +| use.kt:8:9:8:20 | taint(...) : Closeable | use.kt:8:28:8:29 | it : Closeable | provenance | MaD:29 | +| use.kt:8:28:8:29 | it : Closeable | use.kt:8:39:8:40 | it | provenance | | +| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:14:9:36 | use(...) | provenance | MaD:29 | +| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:31:9:36 | it : Closeable | provenance | MaD:29 | +| use.kt:9:31:9:36 | it : Closeable | use.kt:9:33:9:34 | it : Closeable | provenance | | +| with.kt:6:14:6:25 | taint(...) : String | with.kt:6:28:6:41 | $this$with : String | provenance | MaD:32 | +| with.kt:6:28:6:41 | $this$with : String | with.kt:6:35:6:38 | this | provenance | | +| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:14:7:40 | with(...) | provenance | MaD:32 | +| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:33:7:40 | $this$with : String | provenance | MaD:32 | +| with.kt:7:33:7:40 | $this$with : String | with.kt:7:35:7:38 | this : String | provenance | | +nodes +| apply.kt:6:9:6:20 | taint(...) : String | semmle.label | taint(...) : String | +| apply.kt:6:28:6:41 | $this$apply : String | semmle.label | $this$apply : String | +| apply.kt:6:35:6:38 | this | semmle.label | this | +| apply.kt:7:14:7:25 | taint(...) : String | semmle.label | taint(...) : String | +| apply.kt:7:14:7:40 | apply(...) | semmle.label | apply(...) | +| list.kt:6:9:6:9 | l [post update] : List [] : String | semmle.label | l [post update] : List [] : String | +| list.kt:6:16:6:25 | taint(...) : String | semmle.label | taint(...) : String | +| list.kt:7:14:7:14 | l | semmle.label | l | +| list.kt:8:14:8:14 | l : List | semmle.label | l : List | +| list.kt:8:14:8:14 | l : List [] : String | semmle.label | l : List [] : String | +| list.kt:8:14:8:17 | get(...) | semmle.label | get(...) | +| list.kt:9:19:9:19 | l : List [] : String | semmle.label | l : List [] : String | +| list.kt:10:18:10:18 | s | semmle.label | s | +| list.kt:13:17:13:40 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| list.kt:13:25:13:34 | taint(...) : String | semmle.label | taint(...) : String | +| list.kt:14:14:14:14 | a | semmle.label | a | +| list.kt:15:14:15:14 | a : String[] [[]] : String | semmle.label | a : String[] [[]] : String | +| list.kt:15:14:15:17 | ...[...] | semmle.label | ...[...] | +| list.kt:16:19:16:19 | a : String[] [[]] : String | semmle.label | a : String[] [[]] : String | +| list.kt:17:18:17:18 | s | semmle.label | s | +| test.kt:16:14:16:21 | taint(...) : byte[] | semmle.label | taint(...) : byte[] | +| test.kt:16:14:16:30 | copyOf(...) | semmle.label | copyOf(...) | +| test.kt:17:14:17:21 | taint(...) : FileTreeWalk | semmle.label | taint(...) : FileTreeWalk | +| test.kt:17:14:17:33 | maxDepth(...) | semmle.label | maxDepth(...) | +| test.kt:20:14:20:15 | sb [post update] : StringBuilder | semmle.label | sb [post update] : StringBuilder | +| test.kt:20:14:20:47 | insertRange(...) | semmle.label | insertRange(...) | +| test.kt:20:32:20:40 | taint(...) : char[] | semmle.label | taint(...) : char[] | +| test.kt:21:14:21:15 | sb | semmle.label | sb | +| test.kt:23:14:23:22 | taint(...) : char[] | semmle.label | taint(...) : char[] | +| test.kt:23:14:23:27 | plus(...) | semmle.label | plus(...) | +| test.kt:25:17:25:36 | new Pair(...) : Pair | semmle.label | new Pair(...) : Pair | +| test.kt:25:22:25:31 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:26:14:26:14 | p | semmle.label | p | +| test.kt:27:14:27:14 | p : Pair | semmle.label | p : Pair | +| test.kt:27:14:27:27 | component1(...) | semmle.label | component1(...) | +| test.kt:28:14:28:14 | p : Pair | semmle.label | p : Pair | +| test.kt:28:14:28:21 | getSecond(...) | semmle.label | getSecond(...) | +| test.kt:30:14:30:23 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:30:14:30:36 | capitalize(...) | semmle.label | capitalize(...) | +| test.kt:31:14:31:23 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:31:14:31:53 | replaceFirstCharWithChar(...) | semmle.label | replaceFirstCharWithChar(...) | +| test.kt:33:17:33:42 | new Triple(...) : Triple | semmle.label | new Triple(...) : Triple | +| test.kt:33:28:33:37 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:34:14:34:14 | t | semmle.label | t | +| test.kt:35:14:35:14 | t : Triple | semmle.label | t : Triple | +| test.kt:35:14:35:27 | component1(...) | semmle.label | component1(...) | +| test.kt:36:14:36:14 | t : Triple | semmle.label | t : Triple | +| test.kt:36:14:36:21 | getSecond(...) | semmle.label | getSecond(...) | +| test.kt:38:18:38:27 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:38:18:38:33 | to(...) : Pair | semmle.label | to(...) : Pair | +| test.kt:39:14:39:15 | p1 | semmle.label | p1 | +| test.kt:40:14:40:15 | p1 : Pair | semmle.label | p1 : Pair | +| test.kt:40:14:40:28 | component1(...) | semmle.label | component1(...) | +| test.kt:41:14:41:15 | p1 : Pair | semmle.label | p1 : Pair | +| test.kt:41:14:41:22 | getSecond(...) | semmle.label | getSecond(...) | +| test.kt:43:17:43:17 | p : Pair | semmle.label | p : Pair | +| test.kt:43:17:43:26 | toList(...) : List | semmle.label | toList(...) : List | +| test.kt:44:14:44:14 | l | semmle.label | l | +| test.kt:45:14:45:14 | l : List | semmle.label | l : List | +| test.kt:45:14:45:17 | get(...) | semmle.label | get(...) | +| test.kt:47:18:47:18 | s | semmle.label | s | +| test.kt:50:18:50:59 | new TimedValue(...) : TimedValue | semmle.label | new TimedValue(...) : TimedValue | +| test.kt:50:29:50:38 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:51:14:51:15 | tv | semmle.label | tv | +| test.kt:52:14:52:15 | tv : TimedValue | semmle.label | tv : TimedValue | +| test.kt:52:14:52:28 | component1(...) | semmle.label | component1(...) | +| test.kt:53:14:53:15 | tv : TimedValue | semmle.label | tv : TimedValue | +| test.kt:53:14:53:24 | getDuration(...) | semmle.label | getDuration(...) | +| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | semmle.label | new MatchGroup(...) : MatchGroup | +| test.kt:55:30:55:39 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:56:14:56:16 | mg0 | semmle.label | mg0 | +| test.kt:57:14:57:16 | mg0 : MatchGroup | semmle.label | mg0 : MatchGroup | +| test.kt:57:14:57:22 | getValue(...) | semmle.label | getValue(...) | +| test.kt:58:14:58:16 | mg0 : MatchGroup | semmle.label | mg0 : MatchGroup | +| test.kt:58:14:58:29 | component2(...) | semmle.label | component2(...) | +| test.kt:60:18:60:52 | new IndexedValue(...) : IndexedValue | semmle.label | new IndexedValue(...) : IndexedValue | +| test.kt:60:42:60:51 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:61:14:61:15 | iv | semmle.label | iv | +| test.kt:63:14:63:15 | iv : IndexedValue | semmle.label | iv : IndexedValue | +| test.kt:63:14:63:28 | component2(...) | semmle.label | component2(...) | +| test.kt:65:23:65:45 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| test.kt:65:35:65:44 | taint(...) : String | semmle.label | taint(...) : String | +| test.kt:66:14:66:20 | strings : String[] [[]] : String | semmle.label | strings : String[] [[]] : String | +| test.kt:66:14:66:32 | withIndex(...) | semmle.label | withIndex(...) | +| test.kt:67:14:67:20 | strings : String[] [[]] : String | semmle.label | strings : String[] [[]] : String | +| test.kt:67:14:67:32 | withIndex(...) : Iterable | semmle.label | withIndex(...) : Iterable | +| test.kt:67:14:67:41 | toList(...) | semmle.label | toList(...) | +| test.kt:68:14:68:20 | strings : String[] [[]] : String | semmle.label | strings : String[] [[]] : String | +| test.kt:68:14:68:32 | withIndex(...) : Iterable | semmle.label | withIndex(...) : Iterable | +| test.kt:68:14:68:41 | toList(...) : List | semmle.label | toList(...) : List | +| test.kt:68:14:68:44 | get(...) : IndexedValue | semmle.label | get(...) : IndexedValue | +| test.kt:68:14:68:50 | getValue(...) | semmle.label | getValue(...) | +| test.kt:70:19:70:25 | strings : String[] [[]] : String | semmle.label | strings : String[] [[]] : String | +| test.kt:70:19:70:37 | withIndex(...) : Iterable | semmle.label | withIndex(...) : Iterable | +| test.kt:71:18:71:18 | x : IndexedValue | semmle.label | x : IndexedValue | +| test.kt:71:18:71:24 | getValue(...) | semmle.label | getValue(...) | +| use.kt:8:9:8:20 | taint(...) : Closeable | semmle.label | taint(...) : Closeable | +| use.kt:8:28:8:29 | it : Closeable | semmle.label | it : Closeable | +| use.kt:8:39:8:40 | it | semmle.label | it | +| use.kt:9:14:9:25 | taint(...) : Closeable | semmle.label | taint(...) : Closeable | +| use.kt:9:14:9:36 | use(...) | semmle.label | use(...) | +| use.kt:9:31:9:36 | it : Closeable | semmle.label | it : Closeable | +| use.kt:9:33:9:34 | it : Closeable | semmle.label | it : Closeable | +| with.kt:6:14:6:25 | taint(...) : String | semmle.label | taint(...) : String | +| with.kt:6:28:6:41 | $this$with : String | semmle.label | $this$with : String | +| with.kt:6:35:6:38 | this | semmle.label | this | +| with.kt:7:14:7:40 | with(...) | semmle.label | with(...) | +| with.kt:7:19:7:30 | taint(...) : String | semmle.label | taint(...) : String | +| with.kt:7:33:7:40 | $this$with : String | semmle.label | $this$with : String | +| with.kt:7:35:7:38 | this : String | semmle.label | this : String | +subpaths +| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:31:9:36 | it : Closeable | use.kt:9:33:9:34 | it : Closeable | use.kt:9:14:9:36 | use(...) | +| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:33:7:40 | $this$with : String | with.kt:7:35:7:38 | this : String | with.kt:7:14:7:40 | with(...) | +testFailures | test.kt:28:14:28:21 | getSecond(...) | Unexpected result: hasTaintFlow=a | | test.kt:35:14:35:27 | component1(...) | Unexpected result: hasTaintFlow=d | | test.kt:41:14:41:22 | getSecond(...) | Unexpected result: hasTaintFlow=e | diff --git a/java/ql/test/ext/TestModels/test.expected b/java/ql/test/ext/TestModels/test.expected index e69de29bb2d..37ba913c808 100644 --- a/java/ql/test/ext/TestModels/test.expected +++ b/java/ql/test/ext/TestModels/test.expected @@ -0,0 +1,438 @@ +models +| 1 | Summary: java.awt; Container; true; add; (Component); ; Argument[0]; ReturnValue; value; manual | +| 2 | Summary: java.io; File; true; getName; (); ; Argument[this]; ReturnValue; taint; manual | +| 3 | Summary: java.io; File; true; getParentFile; (); ; Argument[this]; ReturnValue; taint; manual | +| 4 | Summary: java.io; File; true; getPath; (); ; Argument[this]; ReturnValue; taint; manual | +| 5 | Summary: java.io; IOException; false; IOException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual | +| 6 | Summary: java.io; StringWriter; false; toString; (); ; Argument[this]; ReturnValue; taint; manual | +| 7 | Summary: java.io; UncheckedIOException; false; UncheckedIOException; (IOException); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual | +| 8 | Summary: java.lang; AbstractStringBuilder; true; delete; (int,int); ; Argument[this]; ReturnValue; value; manual | +| 9 | Summary: java.lang; AssertionError; false; AssertionError; (Object); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual | +| 10 | Summary: java.lang; CharSequence; true; charAt; ; ; Argument[this]; ReturnValue; taint; manual | +| 11 | Summary: java.lang; Class; false; cast; (Object); ; Argument[0]; ReturnValue; value; manual | +| 12 | Summary: java.lang; Exception; false; Exception; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual | +| 13 | Summary: java.lang; Exception; false; Exception; (String,Throwable); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual | +| 14 | Summary: java.lang; Exception; false; Exception; (String,Throwable); ; Argument[1]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual | +| 15 | Summary: java.lang; IllegalArgumentException; false; IllegalArgumentException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual | +| 16 | Summary: java.lang; IllegalStateException; false; IllegalStateException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual | +| 17 | Summary: java.lang; IndexOutOfBoundsException; false; IndexOutOfBoundsException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual | +| 18 | Summary: java.lang; NullPointerException; false; NullPointerException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual | +| 19 | Summary: java.lang; RuntimeException; false; RuntimeException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual | +| 20 | Summary: java.lang; RuntimeException; false; RuntimeException; (String,Throwable); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual | +| 21 | Summary: java.lang; RuntimeException; false; RuntimeException; (String,Throwable); ; Argument[1]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual | +| 22 | Summary: java.lang; RuntimeException; false; RuntimeException; (Throwable); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual | +| 23 | Summary: java.lang; Thread; false; Thread; (Runnable); ; Argument[0]; Argument[this]; taint; manual | +| 24 | Summary: java.lang; Thread; false; Thread; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Thread.name]; value; manual | +| 25 | Summary: java.lang; Thread; true; getName; (); ; Argument[this].SyntheticField[java.lang.Thread.name]; ReturnValue; value; manual | +| 26 | Summary: java.lang; ThreadLocal; true; get; (); ; Argument[this].SyntheticField[java.lang.ThreadLocal.value]; ReturnValue; value; manual | +| 27 | Summary: java.lang; ThreadLocal; true; set; (Object); ; Argument[0]; Argument[this].SyntheticField[java.lang.ThreadLocal.value]; value; manual | +| 28 | Summary: java.lang; Throwable; false; Throwable; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual | +| 29 | Summary: java.lang; Throwable; false; Throwable; (Throwable); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual | +| 30 | Summary: java.lang; Throwable; true; getCause; (); ; Argument[this].SyntheticField[java.lang.Throwable.cause]; ReturnValue; value; manual | +| 31 | Summary: java.lang; Throwable; true; getMessage; (); ; Argument[this].SyntheticField[java.lang.Throwable.message]; ReturnValue; value; manual | +| 32 | Summary: java.lang; Throwable; true; getLocalizedMessage; (); ; Argument[this].SyntheticField[java.lang.Throwable.message]; ReturnValue; value; manual | +| 33 | Summary: java.lang; Throwable; true; toString; (); ; Argument[this].SyntheticField[java.lang.Throwable.message]; ReturnValue; taint; manual | +| 34 | Summary: java.lang; UnsupportedOperationException; false; UnsupportedOperationException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual | +| 35 | Summary: java.net; URL; false; toURI; ; ; Argument[this]; ReturnValue; taint; manual | +| 36 | Summary: java.nio.file; Path; true; getFileName; ; ; Argument[this]; ReturnValue; taint; manual | +| 37 | Summary: java.sql; ResultSet; true; getString; (String); ; Argument[this]; ReturnValue; taint; manual | +| 38 | Summary: java.util.concurrent.atomic; AtomicReference; false; AtomicReference; (Object); ; Argument[0]; Argument[this].SyntheticField[java.util.concurrent.atomic.AtomicReference.value]; value; manual | +| 39 | Summary: java.util.concurrent.atomic; AtomicReference; false; get; (); ; Argument[this].SyntheticField[java.util.concurrent.atomic.AtomicReference.value]; ReturnValue; value; manual | +| 40 | Summary: java.util.concurrent.atomic; AtomicReference; false; set; (Object); ; Argument[0]; Argument[this].SyntheticField[java.util.concurrent.atomic.AtomicReference.value]; value; manual | +| 41 | Summary: java.util.concurrent; CompletableFuture; false; complete; (Object); ; Argument[0]; Argument[this].SyntheticField[java.util.concurrent.Future.value]; value; manual | +| 42 | Summary: java.util.concurrent; CompletableFuture; false; completedFuture; (Object); ; Argument[0]; ReturnValue.SyntheticField[java.util.concurrent.Future.value]; value; manual | +| 43 | Summary: java.util.concurrent; CompletableFuture; false; join; (); ; Argument[this].SyntheticField[java.util.concurrent.Future.value]; ReturnValue; value; manual | +| 44 | Summary: java.util.concurrent; CompletionStage; false; toCompletableFuture; (); ; Argument[this]; ReturnValue; taint; manual | +| 45 | Summary: java.util.concurrent; ExecutorService; true; submit; (Runnable); ; Argument[0]; ReturnValue; taint; manual | +| 46 | Summary: java.util.concurrent; Future; true; get; (); ; Argument[this].SyntheticField[java.util.concurrent.Future.value]; ReturnValue; value; manual | +| 47 | Summary: java.util.logging; Logger; false; getLogger; (String); ; Argument[0]; ReturnValue.SyntheticField[java.util.logging.Logger.name]; value; manual | +| 48 | Summary: java.util.logging; Logger; false; getName; (); ; Argument[this].SyntheticField[java.util.logging.Logger.name]; ReturnValue; value; manual | +| 49 | Summary: java.util; EventObject; false; EventObject; (Object); ; Argument[0]; Argument[this].Field[java.util.EventObject.source]; value; manual | +| 50 | Summary: java.util; EventObject; true; getSource; (); ; Argument[this].Field[java.util.EventObject.source]; ReturnValue; value; manual | +| 51 | Summary: java.util; ResourceBundle; true; getString; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 52 | Summary: java.util; StringJoiner; false; add; (CharSequence); ; Argument[this]; ReturnValue; value; manual | +| 53 | Summary: java.util; StringJoiner; false; add; (CharSequence); ; Argument[0]; Argument[this]; taint; manual | +| 54 | Summary: java.util.regex; Pattern; false; compile; (String); ; Argument[0]; ReturnValue; taint; manual | +| 55 | Summary: generatedtest; Test; false; newWithMapValueDefault; (Object); ; Argument[0]; ReturnValue.MapValue; value; manual | +edges +| Test.java:35:28:35:65 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | Test.java:36:26:36:27 | e1 : RuntimeException [java.lang.Throwable.message] : String | provenance | | +| Test.java:35:49:35:64 | (...)... : String | Test.java:35:28:35:65 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | provenance | MaD:19 | +| Test.java:35:57:35:64 | source(...) : Object | Test.java:35:49:35:64 | (...)... : String | provenance | | +| Test.java:36:26:36:27 | e1 : RuntimeException [java.lang.Throwable.message] : String | Test.java:36:26:36:40 | getMessage(...) : String | provenance | MaD:31 | +| Test.java:36:26:36:40 | getMessage(...) : String | Test.java:36:18:36:40 | (...)... | provenance | | +| Test.java:38:28:38:68 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | Test.java:39:29:39:30 | e2 : RuntimeException [java.lang.Throwable.cause] : Throwable | provenance | | +| Test.java:38:49:38:67 | (...)... : Throwable | Test.java:38:28:38:68 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | provenance | MaD:22 | +| Test.java:38:60:38:67 | source(...) : Object | Test.java:38:49:38:67 | (...)... : Throwable | provenance | | +| Test.java:39:29:39:30 | e2 : RuntimeException [java.lang.Throwable.cause] : Throwable | Test.java:39:29:39:41 | getCause(...) : Throwable | provenance | MaD:30 | +| Test.java:39:29:39:41 | getCause(...) : Throwable | Test.java:39:18:39:41 | (...)... | provenance | | +| Test.java:41:28:41:73 | new IllegalArgumentException(...) : IllegalArgumentException [java.lang.Throwable.message] : String | Test.java:42:26:42:27 | e3 : IllegalArgumentException [java.lang.Throwable.message] : String | provenance | | +| Test.java:41:57:41:72 | (...)... : String | Test.java:41:28:41:73 | new IllegalArgumentException(...) : IllegalArgumentException [java.lang.Throwable.message] : String | provenance | MaD:15 | +| Test.java:41:65:41:72 | source(...) : Object | Test.java:41:57:41:72 | (...)... : String | provenance | | +| Test.java:42:26:42:27 | e3 : IllegalArgumentException [java.lang.Throwable.message] : String | Test.java:42:26:42:40 | getMessage(...) : String | provenance | MaD:31 | +| Test.java:42:26:42:40 | getMessage(...) : String | Test.java:42:18:42:40 | (...)... | provenance | | +| Test.java:44:28:44:70 | new IllegalStateException(...) : IllegalStateException [java.lang.Throwable.message] : String | Test.java:45:26:45:27 | e4 : IllegalStateException [java.lang.Throwable.message] : String | provenance | | +| Test.java:44:54:44:69 | (...)... : String | Test.java:44:28:44:70 | new IllegalStateException(...) : IllegalStateException [java.lang.Throwable.message] : String | provenance | MaD:16 | +| Test.java:44:62:44:69 | source(...) : Object | Test.java:44:54:44:69 | (...)... : String | provenance | | +| Test.java:45:26:45:27 | e4 : IllegalStateException [java.lang.Throwable.message] : String | Test.java:45:26:45:40 | getMessage(...) : String | provenance | MaD:31 | +| Test.java:45:26:45:40 | getMessage(...) : String | Test.java:45:18:45:40 | (...)... | provenance | | +| Test.java:47:28:47:78 | new UnsupportedOperationException(...) : UnsupportedOperationException [java.lang.Throwable.message] : String | Test.java:48:26:48:27 | e5 : UnsupportedOperationException [java.lang.Throwable.message] : String | provenance | | +| Test.java:47:62:47:77 | (...)... : String | Test.java:47:28:47:78 | new UnsupportedOperationException(...) : UnsupportedOperationException [java.lang.Throwable.message] : String | provenance | MaD:34 | +| Test.java:47:70:47:77 | source(...) : Object | Test.java:47:62:47:77 | (...)... : String | provenance | | +| Test.java:48:26:48:27 | e5 : UnsupportedOperationException [java.lang.Throwable.message] : String | Test.java:48:26:48:40 | getMessage(...) : String | provenance | MaD:31 | +| Test.java:48:26:48:40 | getMessage(...) : String | Test.java:48:18:48:40 | (...)... | provenance | | +| Test.java:50:27:50:60 | new Throwable(...) : Throwable [java.lang.Throwable.cause] : Throwable | Test.java:51:29:51:29 | t : Throwable [java.lang.Throwable.cause] : Throwable | provenance | | +| Test.java:50:41:50:59 | (...)... : Throwable | Test.java:50:27:50:60 | new Throwable(...) : Throwable [java.lang.Throwable.cause] : Throwable | provenance | MaD:29 | +| Test.java:50:52:50:59 | source(...) : Object | Test.java:50:41:50:59 | (...)... : Throwable | provenance | | +| Test.java:51:29:51:29 | t : Throwable [java.lang.Throwable.cause] : Throwable | Test.java:51:29:51:40 | getCause(...) : Throwable | provenance | MaD:30 | +| Test.java:51:29:51:40 | getCause(...) : Throwable | Test.java:51:18:51:40 | (...)... | provenance | | +| Test.java:53:25:53:40 | (...)... : String | Test.java:55:18:55:19 | s2 : String | provenance | | +| Test.java:53:33:53:40 | source(...) : Object | Test.java:53:25:53:40 | (...)... : String | provenance | | +| Test.java:55:18:55:19 | s2 : String | Test.java:55:18:55:29 | charAt(...) | provenance | MaD:10 | +| Test.java:57:28:57:46 | (...)... : ResultSet | Test.java:58:18:58:19 | rs : ResultSet | provenance | | +| Test.java:57:39:57:46 | source(...) : Object | Test.java:57:28:57:46 | (...)... : ResultSet | provenance | | +| Test.java:58:18:58:19 | rs : ResultSet | Test.java:58:18:58:33 | getString(...) | provenance | MaD:37 | +| Test.java:64:28:64:60 | new IOException(...) : IOException [java.lang.Throwable.message] : String | Test.java:65:26:65:27 | e1 : IOException [java.lang.Throwable.message] : String | provenance | | +| Test.java:64:44:64:59 | (...)... : String | Test.java:64:28:64:60 | new IOException(...) : IOException [java.lang.Throwable.message] : String | provenance | MaD:5 | +| Test.java:64:52:64:59 | source(...) : Object | Test.java:64:44:64:59 | (...)... : String | provenance | | +| Test.java:65:26:65:27 | e1 : IOException [java.lang.Throwable.message] : String | Test.java:65:26:65:40 | getMessage(...) : String | provenance | MaD:31 | +| Test.java:65:26:65:40 | getMessage(...) : String | Test.java:65:18:65:40 | (...)... | provenance | | +| Test.java:67:22:67:35 | (...)... : File | Test.java:68:18:68:18 | f : File | provenance | | +| Test.java:67:28:67:35 | source(...) : Object | Test.java:67:22:67:35 | (...)... : File | provenance | | +| Test.java:68:18:68:18 | f : File | Test.java:68:18:68:28 | getName(...) | provenance | MaD:2 | +| Test.java:71:28:71:58 | new Exception(...) : Exception [java.lang.Throwable.message] : String | Test.java:72:26:72:27 | e2 : Exception [java.lang.Throwable.message] : String | provenance | | +| Test.java:71:42:71:57 | (...)... : String | Test.java:71:28:71:58 | new Exception(...) : Exception [java.lang.Throwable.message] : String | provenance | MaD:12 | +| Test.java:71:50:71:57 | source(...) : Object | Test.java:71:42:71:57 | (...)... : String | provenance | | +| Test.java:72:26:72:27 | e2 : Exception [java.lang.Throwable.message] : String | Test.java:72:26:72:40 | getMessage(...) : String | provenance | MaD:31 | +| Test.java:72:26:72:40 | getMessage(...) : String | Test.java:72:18:72:40 | (...)... | provenance | | +| Test.java:74:28:74:74 | new IndexOutOfBoundsException(...) : IndexOutOfBoundsException [java.lang.Throwable.message] : String | Test.java:75:26:75:27 | e3 : IndexOutOfBoundsException [java.lang.Throwable.message] : String | provenance | | +| Test.java:74:58:74:73 | (...)... : String | Test.java:74:28:74:74 | new IndexOutOfBoundsException(...) : IndexOutOfBoundsException [java.lang.Throwable.message] : String | provenance | MaD:17 | +| Test.java:74:66:74:73 | source(...) : Object | Test.java:74:58:74:73 | (...)... : String | provenance | | +| Test.java:75:26:75:27 | e3 : IndexOutOfBoundsException [java.lang.Throwable.message] : String | Test.java:75:26:75:40 | getMessage(...) : String | provenance | MaD:31 | +| Test.java:75:26:75:40 | getMessage(...) : String | Test.java:75:18:75:40 | (...)... | provenance | | +| Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | Test.java:79:29:79:30 | e4 : RuntimeException [java.lang.Throwable.cause] : Throwable | provenance | | +| Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | Test.java:78:26:78:27 | e4 : RuntimeException [java.lang.Throwable.message] : String | provenance | | +| Test.java:77:49:77:64 | (...)... : String | Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | provenance | MaD:20 | +| Test.java:77:57:77:64 | source(...) : Object | Test.java:77:49:77:64 | (...)... : String | provenance | | +| Test.java:77:67:77:85 | (...)... : Throwable | Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | provenance | MaD:21 | +| Test.java:77:78:77:85 | source(...) : Object | Test.java:77:67:77:85 | (...)... : Throwable | provenance | | +| Test.java:78:26:78:27 | e4 : RuntimeException [java.lang.Throwable.message] : String | Test.java:78:26:78:40 | getMessage(...) : String | provenance | MaD:31 | +| Test.java:78:26:78:40 | getMessage(...) : String | Test.java:78:18:78:40 | (...)... | provenance | | +| Test.java:79:29:79:30 | e4 : RuntimeException [java.lang.Throwable.cause] : Throwable | Test.java:79:29:79:41 | getCause(...) : Throwable | provenance | MaD:30 | +| Test.java:79:29:79:41 | getCause(...) : Throwable | Test.java:79:18:79:41 | (...)... | provenance | | +| Test.java:88:34:88:62 | new AtomicReference<>(...) : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | Test.java:89:18:89:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | provenance | | +| Test.java:88:54:88:61 | source(...) : Object | Test.java:88:34:88:62 | new AtomicReference<>(...) : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | provenance | MaD:38 | +| Test.java:89:18:89:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | Test.java:89:18:89:25 | get(...) | provenance | MaD:39 | +| Test.java:93:26:93:47 | (...)... : CharSequence | Test.java:93:18:93:48 | add(...) | provenance | MaD:53+MaD:52 | +| Test.java:93:40:93:47 | source(...) : Object | Test.java:93:26:93:47 | (...)... : CharSequence | provenance | | +| Test.java:95:32:95:53 | (...)... : StringJoiner | Test.java:96:18:96:20 | sj2 : StringJoiner | provenance | | +| Test.java:95:46:95:53 | source(...) : Object | Test.java:95:32:95:53 | (...)... : StringJoiner | provenance | | +| Test.java:96:18:96:20 | sj2 : StringJoiner | Test.java:96:18:96:32 | add(...) | provenance | MaD:52 | +| Test.java:104:32:104:50 | (...)... : Component | Test.java:104:18:104:51 | add(...) | provenance | MaD:1 | +| Test.java:104:43:104:50 | source(...) : Object | Test.java:104:32:104:50 | (...)... : Component | provenance | | +| Test.java:107:23:107:36 | (...)... : File | Test.java:108:18:108:19 | f1 : File | provenance | | +| Test.java:107:29:107:36 | source(...) : Object | Test.java:107:23:107:36 | (...)... : File | provenance | | +| Test.java:108:18:108:19 | f1 : File | Test.java:108:18:108:35 | getParentFile(...) | provenance | MaD:3 | +| Test.java:110:23:110:36 | (...)... : File | Test.java:111:18:111:19 | f2 : File | provenance | | +| Test.java:110:29:110:36 | source(...) : Object | Test.java:110:23:110:36 | (...)... : File | provenance | | +| Test.java:111:18:111:19 | f2 : File | Test.java:111:18:111:29 | getPath(...) | provenance | MaD:4 | +| Test.java:113:31:113:52 | (...)... : StringWriter | Test.java:114:18:114:19 | sw : StringWriter | provenance | | +| Test.java:113:31:113:52 | (...)... : StringWriter | Test.java:114:18:114:30 | toString(...) | provenance | %StringWriter | +| Test.java:113:45:113:52 | source(...) : Object | Test.java:113:31:113:52 | (...)... : StringWriter | provenance | | +| Test.java:114:18:114:19 | sw : StringWriter | Test.java:114:18:114:30 | toString(...) | provenance | MaD:6 | +| Test.java:116:27:116:73 | new UncheckedIOException(...) : UncheckedIOException [java.lang.Throwable.cause] : IOException | Test.java:117:29:117:29 | e : UncheckedIOException [java.lang.Throwable.cause] : IOException | provenance | | +| Test.java:116:52:116:72 | (...)... : IOException | Test.java:116:27:116:73 | new UncheckedIOException(...) : UncheckedIOException [java.lang.Throwable.cause] : IOException | provenance | MaD:7 | +| Test.java:116:65:116:72 | source(...) : Object | Test.java:116:52:116:72 | (...)... : IOException | provenance | | +| Test.java:117:29:117:29 | e : UncheckedIOException [java.lang.Throwable.cause] : IOException | Test.java:117:29:117:40 | getCause(...) : IOException | provenance | MaD:30 | +| Test.java:117:29:117:40 | getCause(...) : IOException | Test.java:117:18:117:40 | (...)... | provenance | | +| Test.java:120:23:120:35 | (...)... : URL | Test.java:121:18:121:20 | url : URL | provenance | | +| Test.java:120:28:120:35 | source(...) : Object | Test.java:120:23:120:35 | (...)... : URL | provenance | | +| Test.java:121:18:121:20 | url : URL | Test.java:121:18:121:28 | toURI(...) | provenance | MaD:35 | +| Test.java:124:22:124:35 | (...)... : Path | Test.java:125:18:125:18 | p : Path | provenance | | +| Test.java:124:28:124:35 | source(...) : Object | Test.java:124:22:124:35 | (...)... : Path | provenance | | +| Test.java:125:18:125:18 | p : Path | Test.java:125:18:125:32 | getFileName(...) | provenance | MaD:36 | +| Test.java:129:13:129:14 | ar [post update] : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | Test.java:130:18:130:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | provenance | | +| Test.java:129:20:129:27 | source(...) : Object | Test.java:129:13:129:14 | ar [post update] : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | provenance | MaD:40 | +| Test.java:130:18:130:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | Test.java:130:18:130:25 | get(...) | provenance | MaD:39 | +| Test.java:135:29:135:46 | (...)... : Runnable | Test.java:135:18:135:47 | submit(...) | provenance | MaD:45 | +| Test.java:135:39:135:46 | source(...) : Object | Test.java:135:29:135:46 | (...)... : Runnable | provenance | | +| Test.java:137:34:137:58 | (...)... : CompletionStage | Test.java:138:18:138:19 | cs : CompletionStage | provenance | | +| Test.java:137:51:137:58 | source(...) : Object | Test.java:137:34:137:58 | (...)... : CompletionStage | provenance | | +| Test.java:138:18:138:19 | cs : CompletionStage | Test.java:138:18:138:41 | toCompletableFuture(...) | provenance | MaD:44 | +| Test.java:141:13:141:15 | cf1 [post update] : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:142:18:142:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | | +| Test.java:141:13:141:15 | cf1 [post update] : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:143:18:143:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | | +| Test.java:141:26:141:33 | source(...) : Object | Test.java:141:13:141:15 | cf1 [post update] : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | MaD:41 | +| Test.java:142:18:142:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:142:18:142:26 | get(...) | provenance | MaD:46 | +| Test.java:143:18:143:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:143:18:143:27 | join(...) | provenance | MaD:43 | +| Test.java:145:37:145:79 | completedFuture(...) : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:146:18:146:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | | +| Test.java:145:37:145:79 | completedFuture(...) : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:147:18:147:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | | +| Test.java:145:71:145:78 | source(...) : Object | Test.java:145:37:145:79 | completedFuture(...) : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | MaD:42 | +| Test.java:146:18:146:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:146:18:146:26 | get(...) | provenance | MaD:46 | +| Test.java:147:18:147:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:147:18:147:27 | join(...) | provenance | MaD:43 | +| Test.java:150:29:150:62 | getLogger(...) : Logger [java.util.logging.Logger.name] : String | Test.java:151:18:151:23 | logger : Logger [java.util.logging.Logger.name] : String | provenance | | +| Test.java:150:46:150:61 | (...)... : String | Test.java:150:29:150:62 | getLogger(...) : Logger [java.util.logging.Logger.name] : String | provenance | MaD:47 | +| Test.java:150:54:150:61 | source(...) : Object | Test.java:150:46:150:61 | (...)... : String | provenance | | +| Test.java:151:18:151:23 | logger : Logger [java.util.logging.Logger.name] : String | Test.java:151:18:151:33 | getName(...) | provenance | MaD:48 | +| Test.java:154:31:154:63 | compile(...) : Pattern | Test.java:155:18:155:24 | pattern | provenance | | +| Test.java:154:47:154:62 | (...)... : String | Test.java:154:31:154:63 | compile(...) : Pattern | provenance | MaD:54 | +| Test.java:154:55:154:62 | source(...) : Object | Test.java:154:47:154:62 | (...)... : String | provenance | | +| Test.java:158:36:158:60 | new EventObject(...) : EventObject [source] : Object | Test.java:159:18:159:25 | eventObj : EventObject [source] : Object | provenance | | +| Test.java:158:52:158:59 | source(...) : Object | Test.java:158:36:158:60 | new EventObject(...) : EventObject [source] : Object | provenance | MaD:49 | +| Test.java:159:18:159:25 | eventObj : EventObject [source] : Object | Test.java:159:18:159:37 | getSource(...) | provenance | MaD:50 | +| Test.java:163:33:163:80 | (...)... : ResourceBundle [] : Object | Test.java:164:19:164:20 | in : ResourceBundle [] : Object | provenance | | +| Test.java:163:49:163:80 | newWithMapValueDefault(...) : Object [] : Object | Test.java:163:33:163:80 | (...)... : ResourceBundle [] : Object | provenance | | +| Test.java:163:72:163:79 | source(...) : Object | Test.java:163:49:163:80 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:55 | +| Test.java:164:19:164:20 | in : ResourceBundle [] : Object | Test.java:164:19:164:36 | getString(...) : String | provenance | MaD:51 | +| Test.java:164:19:164:36 | getString(...) : String | Test.java:165:18:165:20 | out | provenance | | +| Test.java:168:40:168:67 | new AssertionError(...) : AssertionError [java.lang.Throwable.message] : Object | Test.java:169:26:169:34 | assertErr : AssertionError [java.lang.Throwable.message] : Object | provenance | | +| Test.java:168:59:168:66 | source(...) : Object | Test.java:168:40:168:67 | new AssertionError(...) : AssertionError [java.lang.Throwable.message] : Object | provenance | MaD:9 | +| Test.java:169:26:169:34 | assertErr : AssertionError [java.lang.Throwable.message] : Object | Test.java:169:26:169:47 | getMessage(...) : String | provenance | MaD:31 | +| Test.java:169:26:169:47 | getMessage(...) : String | Test.java:169:18:169:47 | (...)... | provenance | | +| Test.java:171:34:171:41 | source(...) : Object | Test.java:171:18:171:42 | cast(...) | provenance | MaD:11 | +| Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.cause] : Throwable | Test.java:175:29:175:34 | excep1 : Exception [java.lang.Throwable.cause] : Throwable | provenance | | +| Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.message] : String | Test.java:174:26:174:31 | excep1 : Exception [java.lang.Throwable.message] : String | provenance | | +| Test.java:173:46:173:61 | (...)... : String | Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.message] : String | provenance | MaD:13 | +| Test.java:173:54:173:61 | source(...) : Object | Test.java:173:46:173:61 | (...)... : String | provenance | | +| Test.java:173:64:173:82 | (...)... : Throwable | Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.cause] : Throwable | provenance | MaD:14 | +| Test.java:173:75:173:82 | source(...) : Object | Test.java:173:64:173:82 | (...)... : Throwable | provenance | | +| Test.java:174:26:174:31 | excep1 : Exception [java.lang.Throwable.message] : String | Test.java:174:26:174:44 | getMessage(...) : String | provenance | MaD:31 | +| Test.java:174:26:174:44 | getMessage(...) : String | Test.java:174:18:174:44 | (...)... | provenance | | +| Test.java:175:29:175:34 | excep1 : Exception [java.lang.Throwable.cause] : Throwable | Test.java:175:29:175:45 | getCause(...) : Throwable | provenance | MaD:30 | +| Test.java:175:29:175:45 | getCause(...) : Throwable | Test.java:175:18:175:45 | (...)... | provenance | | +| Test.java:177:32:177:73 | new NullPointerException(...) : NullPointerException [java.lang.Throwable.message] : String | Test.java:178:26:178:31 | excep2 : NullPointerException [java.lang.Throwable.message] : String | provenance | | +| Test.java:177:57:177:72 | (...)... : String | Test.java:177:32:177:73 | new NullPointerException(...) : NullPointerException [java.lang.Throwable.message] : String | provenance | MaD:18 | +| Test.java:177:65:177:72 | source(...) : Object | Test.java:177:57:177:72 | (...)... : String | provenance | | +| Test.java:178:26:178:31 | excep2 : NullPointerException [java.lang.Throwable.message] : String | Test.java:178:26:178:44 | getMessage(...) : String | provenance | MaD:31 | +| Test.java:178:26:178:44 | getMessage(...) : String | Test.java:178:18:178:44 | (...)... | provenance | | +| Test.java:180:32:180:54 | (...)... : StringBuilder | Test.java:181:18:181:19 | sb : StringBuilder | provenance | | +| Test.java:180:47:180:54 | source(...) : Object | Test.java:180:32:180:54 | (...)... : StringBuilder | provenance | | +| Test.java:181:18:181:19 | sb : StringBuilder | Test.java:181:18:181:32 | delete(...) | provenance | MaD:8 | +| Test.java:183:30:183:59 | new Thread(...) : Thread | Test.java:184:18:184:24 | thread1 | provenance | | +| Test.java:183:41:183:58 | (...)... : Runnable | Test.java:183:30:183:59 | new Thread(...) : Thread | provenance | MaD:23 | +| Test.java:183:51:183:58 | source(...) : Object | Test.java:183:41:183:58 | (...)... : Runnable | provenance | | +| Test.java:186:30:186:57 | new Thread(...) : Thread [java.lang.Thread.name] : String | Test.java:187:18:187:24 | thread2 : Thread [java.lang.Thread.name] : String | provenance | | +| Test.java:186:41:186:56 | (...)... : String | Test.java:186:30:186:57 | new Thread(...) : Thread [java.lang.Thread.name] : String | provenance | MaD:24 | +| Test.java:186:49:186:56 | source(...) : Object | Test.java:186:41:186:56 | (...)... : String | provenance | | +| Test.java:187:18:187:24 | thread2 : Thread [java.lang.Thread.name] : String | Test.java:187:18:187:34 | getName(...) | provenance | MaD:25 | +| Test.java:190:13:190:21 | threadloc [post update] : ThreadLocal [java.lang.ThreadLocal.value] : Object | Test.java:191:18:191:26 | threadloc : ThreadLocal [java.lang.ThreadLocal.value] : Object | provenance | | +| Test.java:190:27:190:34 | source(...) : Object | Test.java:190:13:190:21 | threadloc [post update] : ThreadLocal [java.lang.ThreadLocal.value] : Object | provenance | MaD:27 | +| Test.java:191:18:191:26 | threadloc : ThreadLocal [java.lang.ThreadLocal.value] : Object | Test.java:191:18:191:32 | get(...) | provenance | MaD:26 | +| Test.java:193:28:193:58 | new Throwable(...) : Throwable [java.lang.Throwable.message] : String | Test.java:194:26:194:27 | th : Throwable [java.lang.Throwable.message] : String | provenance | | +| Test.java:193:28:193:58 | new Throwable(...) : Throwable [java.lang.Throwable.message] : String | Test.java:195:18:195:19 | th : Throwable [java.lang.Throwable.message] : String | provenance | | +| Test.java:193:42:193:57 | (...)... : String | Test.java:193:28:193:58 | new Throwable(...) : Throwable [java.lang.Throwable.message] : String | provenance | MaD:28 | +| Test.java:193:50:193:57 | source(...) : Object | Test.java:193:42:193:57 | (...)... : String | provenance | | +| Test.java:194:26:194:27 | th : Throwable [java.lang.Throwable.message] : String | Test.java:194:26:194:49 | getLocalizedMessage(...) : String | provenance | MaD:32 | +| Test.java:194:26:194:49 | getLocalizedMessage(...) : String | Test.java:194:18:194:49 | (...)... | provenance | | +| Test.java:195:18:195:19 | th : Throwable [java.lang.Throwable.message] : String | Test.java:195:18:195:30 | toString(...) | provenance | MaD:33 | +nodes +| Test.java:35:28:35:65 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | semmle.label | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | +| Test.java:35:49:35:64 | (...)... : String | semmle.label | (...)... : String | +| Test.java:35:57:35:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:36:18:36:40 | (...)... | semmle.label | (...)... | +| Test.java:36:26:36:27 | e1 : RuntimeException [java.lang.Throwable.message] : String | semmle.label | e1 : RuntimeException [java.lang.Throwable.message] : String | +| Test.java:36:26:36:40 | getMessage(...) : String | semmle.label | getMessage(...) : String | +| Test.java:38:28:38:68 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | semmle.label | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | +| Test.java:38:49:38:67 | (...)... : Throwable | semmle.label | (...)... : Throwable | +| Test.java:38:60:38:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:39:18:39:41 | (...)... | semmle.label | (...)... | +| Test.java:39:29:39:30 | e2 : RuntimeException [java.lang.Throwable.cause] : Throwable | semmle.label | e2 : RuntimeException [java.lang.Throwable.cause] : Throwable | +| Test.java:39:29:39:41 | getCause(...) : Throwable | semmle.label | getCause(...) : Throwable | +| Test.java:41:28:41:73 | new IllegalArgumentException(...) : IllegalArgumentException [java.lang.Throwable.message] : String | semmle.label | new IllegalArgumentException(...) : IllegalArgumentException [java.lang.Throwable.message] : String | +| Test.java:41:57:41:72 | (...)... : String | semmle.label | (...)... : String | +| Test.java:41:65:41:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:42:18:42:40 | (...)... | semmle.label | (...)... | +| Test.java:42:26:42:27 | e3 : IllegalArgumentException [java.lang.Throwable.message] : String | semmle.label | e3 : IllegalArgumentException [java.lang.Throwable.message] : String | +| Test.java:42:26:42:40 | getMessage(...) : String | semmle.label | getMessage(...) : String | +| Test.java:44:28:44:70 | new IllegalStateException(...) : IllegalStateException [java.lang.Throwable.message] : String | semmle.label | new IllegalStateException(...) : IllegalStateException [java.lang.Throwable.message] : String | +| Test.java:44:54:44:69 | (...)... : String | semmle.label | (...)... : String | +| Test.java:44:62:44:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:45:18:45:40 | (...)... | semmle.label | (...)... | +| Test.java:45:26:45:27 | e4 : IllegalStateException [java.lang.Throwable.message] : String | semmle.label | e4 : IllegalStateException [java.lang.Throwable.message] : String | +| Test.java:45:26:45:40 | getMessage(...) : String | semmle.label | getMessage(...) : String | +| Test.java:47:28:47:78 | new UnsupportedOperationException(...) : UnsupportedOperationException [java.lang.Throwable.message] : String | semmle.label | new UnsupportedOperationException(...) : UnsupportedOperationException [java.lang.Throwable.message] : String | +| Test.java:47:62:47:77 | (...)... : String | semmle.label | (...)... : String | +| Test.java:47:70:47:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:48:18:48:40 | (...)... | semmle.label | (...)... | +| Test.java:48:26:48:27 | e5 : UnsupportedOperationException [java.lang.Throwable.message] : String | semmle.label | e5 : UnsupportedOperationException [java.lang.Throwable.message] : String | +| Test.java:48:26:48:40 | getMessage(...) : String | semmle.label | getMessage(...) : String | +| Test.java:50:27:50:60 | new Throwable(...) : Throwable [java.lang.Throwable.cause] : Throwable | semmle.label | new Throwable(...) : Throwable [java.lang.Throwable.cause] : Throwable | +| Test.java:50:41:50:59 | (...)... : Throwable | semmle.label | (...)... : Throwable | +| Test.java:50:52:50:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:51:18:51:40 | (...)... | semmle.label | (...)... | +| Test.java:51:29:51:29 | t : Throwable [java.lang.Throwable.cause] : Throwable | semmle.label | t : Throwable [java.lang.Throwable.cause] : Throwable | +| Test.java:51:29:51:40 | getCause(...) : Throwable | semmle.label | getCause(...) : Throwable | +| Test.java:53:25:53:40 | (...)... : String | semmle.label | (...)... : String | +| Test.java:53:33:53:40 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:55:18:55:19 | s2 : String | semmle.label | s2 : String | +| Test.java:55:18:55:29 | charAt(...) | semmle.label | charAt(...) | +| Test.java:57:28:57:46 | (...)... : ResultSet | semmle.label | (...)... : ResultSet | +| Test.java:57:39:57:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:58:18:58:19 | rs : ResultSet | semmle.label | rs : ResultSet | +| Test.java:58:18:58:33 | getString(...) | semmle.label | getString(...) | +| Test.java:64:28:64:60 | new IOException(...) : IOException [java.lang.Throwable.message] : String | semmle.label | new IOException(...) : IOException [java.lang.Throwable.message] : String | +| Test.java:64:44:64:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:64:52:64:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:65:18:65:40 | (...)... | semmle.label | (...)... | +| Test.java:65:26:65:27 | e1 : IOException [java.lang.Throwable.message] : String | semmle.label | e1 : IOException [java.lang.Throwable.message] : String | +| Test.java:65:26:65:40 | getMessage(...) : String | semmle.label | getMessage(...) : String | +| Test.java:67:22:67:35 | (...)... : File | semmle.label | (...)... : File | +| Test.java:67:28:67:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:68:18:68:18 | f : File | semmle.label | f : File | +| Test.java:68:18:68:28 | getName(...) | semmle.label | getName(...) | +| Test.java:71:28:71:58 | new Exception(...) : Exception [java.lang.Throwable.message] : String | semmle.label | new Exception(...) : Exception [java.lang.Throwable.message] : String | +| Test.java:71:42:71:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:71:50:71:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:72:18:72:40 | (...)... | semmle.label | (...)... | +| Test.java:72:26:72:27 | e2 : Exception [java.lang.Throwable.message] : String | semmle.label | e2 : Exception [java.lang.Throwable.message] : String | +| Test.java:72:26:72:40 | getMessage(...) : String | semmle.label | getMessage(...) : String | +| Test.java:74:28:74:74 | new IndexOutOfBoundsException(...) : IndexOutOfBoundsException [java.lang.Throwable.message] : String | semmle.label | new IndexOutOfBoundsException(...) : IndexOutOfBoundsException [java.lang.Throwable.message] : String | +| Test.java:74:58:74:73 | (...)... : String | semmle.label | (...)... : String | +| Test.java:74:66:74:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:75:18:75:40 | (...)... | semmle.label | (...)... | +| Test.java:75:26:75:27 | e3 : IndexOutOfBoundsException [java.lang.Throwable.message] : String | semmle.label | e3 : IndexOutOfBoundsException [java.lang.Throwable.message] : String | +| Test.java:75:26:75:40 | getMessage(...) : String | semmle.label | getMessage(...) : String | +| Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | semmle.label | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | +| Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | semmle.label | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | +| Test.java:77:49:77:64 | (...)... : String | semmle.label | (...)... : String | +| Test.java:77:57:77:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:77:67:77:85 | (...)... : Throwable | semmle.label | (...)... : Throwable | +| Test.java:77:78:77:85 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:78:18:78:40 | (...)... | semmle.label | (...)... | +| Test.java:78:26:78:27 | e4 : RuntimeException [java.lang.Throwable.message] : String | semmle.label | e4 : RuntimeException [java.lang.Throwable.message] : String | +| Test.java:78:26:78:40 | getMessage(...) : String | semmle.label | getMessage(...) : String | +| Test.java:79:18:79:41 | (...)... | semmle.label | (...)... | +| Test.java:79:29:79:30 | e4 : RuntimeException [java.lang.Throwable.cause] : Throwable | semmle.label | e4 : RuntimeException [java.lang.Throwable.cause] : Throwable | +| Test.java:79:29:79:41 | getCause(...) : Throwable | semmle.label | getCause(...) : Throwable | +| Test.java:88:34:88:62 | new AtomicReference<>(...) : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | semmle.label | new AtomicReference<>(...) : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | +| Test.java:88:54:88:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:89:18:89:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | semmle.label | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | +| Test.java:89:18:89:25 | get(...) | semmle.label | get(...) | +| Test.java:93:18:93:48 | add(...) | semmle.label | add(...) | +| Test.java:93:26:93:47 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:93:40:93:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:95:32:95:53 | (...)... : StringJoiner | semmle.label | (...)... : StringJoiner | +| Test.java:95:46:95:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:96:18:96:20 | sj2 : StringJoiner | semmle.label | sj2 : StringJoiner | +| Test.java:96:18:96:32 | add(...) | semmle.label | add(...) | +| Test.java:104:18:104:51 | add(...) | semmle.label | add(...) | +| Test.java:104:32:104:50 | (...)... : Component | semmle.label | (...)... : Component | +| Test.java:104:43:104:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:107:23:107:36 | (...)... : File | semmle.label | (...)... : File | +| Test.java:107:29:107:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:108:18:108:19 | f1 : File | semmle.label | f1 : File | +| Test.java:108:18:108:35 | getParentFile(...) | semmle.label | getParentFile(...) | +| Test.java:110:23:110:36 | (...)... : File | semmle.label | (...)... : File | +| Test.java:110:29:110:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:111:18:111:19 | f2 : File | semmle.label | f2 : File | +| Test.java:111:18:111:29 | getPath(...) | semmle.label | getPath(...) | +| Test.java:113:31:113:52 | (...)... : StringWriter | semmle.label | (...)... : StringWriter | +| Test.java:113:45:113:52 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:114:18:114:19 | sw : StringWriter | semmle.label | sw : StringWriter | +| Test.java:114:18:114:30 | toString(...) | semmle.label | toString(...) | +| Test.java:116:27:116:73 | new UncheckedIOException(...) : UncheckedIOException [java.lang.Throwable.cause] : IOException | semmle.label | new UncheckedIOException(...) : UncheckedIOException [java.lang.Throwable.cause] : IOException | +| Test.java:116:52:116:72 | (...)... : IOException | semmle.label | (...)... : IOException | +| Test.java:116:65:116:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:117:18:117:40 | (...)... | semmle.label | (...)... | +| Test.java:117:29:117:29 | e : UncheckedIOException [java.lang.Throwable.cause] : IOException | semmle.label | e : UncheckedIOException [java.lang.Throwable.cause] : IOException | +| Test.java:117:29:117:40 | getCause(...) : IOException | semmle.label | getCause(...) : IOException | +| Test.java:120:23:120:35 | (...)... : URL | semmle.label | (...)... : URL | +| Test.java:120:28:120:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:121:18:121:20 | url : URL | semmle.label | url : URL | +| Test.java:121:18:121:28 | toURI(...) | semmle.label | toURI(...) | +| Test.java:124:22:124:35 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:124:28:124:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:125:18:125:18 | p : Path | semmle.label | p : Path | +| Test.java:125:18:125:32 | getFileName(...) | semmle.label | getFileName(...) | +| Test.java:129:13:129:14 | ar [post update] : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | semmle.label | ar [post update] : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | +| Test.java:129:20:129:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:130:18:130:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | semmle.label | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | +| Test.java:130:18:130:25 | get(...) | semmle.label | get(...) | +| Test.java:135:18:135:47 | submit(...) | semmle.label | submit(...) | +| Test.java:135:29:135:46 | (...)... : Runnable | semmle.label | (...)... : Runnable | +| Test.java:135:39:135:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:137:34:137:58 | (...)... : CompletionStage | semmle.label | (...)... : CompletionStage | +| Test.java:137:51:137:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:138:18:138:19 | cs : CompletionStage | semmle.label | cs : CompletionStage | +| Test.java:138:18:138:41 | toCompletableFuture(...) | semmle.label | toCompletableFuture(...) | +| Test.java:141:13:141:15 | cf1 [post update] : CompletableFuture [java.util.concurrent.Future.value] : Object | semmle.label | cf1 [post update] : CompletableFuture [java.util.concurrent.Future.value] : Object | +| Test.java:141:26:141:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:142:18:142:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | semmle.label | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | +| Test.java:142:18:142:26 | get(...) | semmle.label | get(...) | +| Test.java:143:18:143:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | semmle.label | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | +| Test.java:143:18:143:27 | join(...) | semmle.label | join(...) | +| Test.java:145:37:145:79 | completedFuture(...) : CompletableFuture [java.util.concurrent.Future.value] : Object | semmle.label | completedFuture(...) : CompletableFuture [java.util.concurrent.Future.value] : Object | +| Test.java:145:71:145:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:146:18:146:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | semmle.label | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | +| Test.java:146:18:146:26 | get(...) | semmle.label | get(...) | +| Test.java:147:18:147:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | semmle.label | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | +| Test.java:147:18:147:27 | join(...) | semmle.label | join(...) | +| Test.java:150:29:150:62 | getLogger(...) : Logger [java.util.logging.Logger.name] : String | semmle.label | getLogger(...) : Logger [java.util.logging.Logger.name] : String | +| Test.java:150:46:150:61 | (...)... : String | semmle.label | (...)... : String | +| Test.java:150:54:150:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:151:18:151:23 | logger : Logger [java.util.logging.Logger.name] : String | semmle.label | logger : Logger [java.util.logging.Logger.name] : String | +| Test.java:151:18:151:33 | getName(...) | semmle.label | getName(...) | +| Test.java:154:31:154:63 | compile(...) : Pattern | semmle.label | compile(...) : Pattern | +| Test.java:154:47:154:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:154:55:154:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:155:18:155:24 | pattern | semmle.label | pattern | +| Test.java:158:36:158:60 | new EventObject(...) : EventObject [source] : Object | semmle.label | new EventObject(...) : EventObject [source] : Object | +| Test.java:158:52:158:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:159:18:159:25 | eventObj : EventObject [source] : Object | semmle.label | eventObj : EventObject [source] : Object | +| Test.java:159:18:159:37 | getSource(...) | semmle.label | getSource(...) | +| Test.java:163:33:163:80 | (...)... : ResourceBundle [] : Object | semmle.label | (...)... : ResourceBundle [] : Object | +| Test.java:163:49:163:80 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:163:72:163:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:164:19:164:20 | in : ResourceBundle [] : Object | semmle.label | in : ResourceBundle [] : Object | +| Test.java:164:19:164:36 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:165:18:165:20 | out | semmle.label | out | +| Test.java:168:40:168:67 | new AssertionError(...) : AssertionError [java.lang.Throwable.message] : Object | semmle.label | new AssertionError(...) : AssertionError [java.lang.Throwable.message] : Object | +| Test.java:168:59:168:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:169:18:169:47 | (...)... | semmle.label | (...)... | +| Test.java:169:26:169:34 | assertErr : AssertionError [java.lang.Throwable.message] : Object | semmle.label | assertErr : AssertionError [java.lang.Throwable.message] : Object | +| Test.java:169:26:169:47 | getMessage(...) : String | semmle.label | getMessage(...) : String | +| Test.java:171:18:171:42 | cast(...) | semmle.label | cast(...) | +| Test.java:171:34:171:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.cause] : Throwable | semmle.label | new Exception(...) : Exception [java.lang.Throwable.cause] : Throwable | +| Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.message] : String | semmle.label | new Exception(...) : Exception [java.lang.Throwable.message] : String | +| Test.java:173:46:173:61 | (...)... : String | semmle.label | (...)... : String | +| Test.java:173:54:173:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:173:64:173:82 | (...)... : Throwable | semmle.label | (...)... : Throwable | +| Test.java:173:75:173:82 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:174:18:174:44 | (...)... | semmle.label | (...)... | +| Test.java:174:26:174:31 | excep1 : Exception [java.lang.Throwable.message] : String | semmle.label | excep1 : Exception [java.lang.Throwable.message] : String | +| Test.java:174:26:174:44 | getMessage(...) : String | semmle.label | getMessage(...) : String | +| Test.java:175:18:175:45 | (...)... | semmle.label | (...)... | +| Test.java:175:29:175:34 | excep1 : Exception [java.lang.Throwable.cause] : Throwable | semmle.label | excep1 : Exception [java.lang.Throwable.cause] : Throwable | +| Test.java:175:29:175:45 | getCause(...) : Throwable | semmle.label | getCause(...) : Throwable | +| Test.java:177:32:177:73 | new NullPointerException(...) : NullPointerException [java.lang.Throwable.message] : String | semmle.label | new NullPointerException(...) : NullPointerException [java.lang.Throwable.message] : String | +| Test.java:177:57:177:72 | (...)... : String | semmle.label | (...)... : String | +| Test.java:177:65:177:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:178:18:178:44 | (...)... | semmle.label | (...)... | +| Test.java:178:26:178:31 | excep2 : NullPointerException [java.lang.Throwable.message] : String | semmle.label | excep2 : NullPointerException [java.lang.Throwable.message] : String | +| Test.java:178:26:178:44 | getMessage(...) : String | semmle.label | getMessage(...) : String | +| Test.java:180:32:180:54 | (...)... : StringBuilder | semmle.label | (...)... : StringBuilder | +| Test.java:180:47:180:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:181:18:181:19 | sb : StringBuilder | semmle.label | sb : StringBuilder | +| Test.java:181:18:181:32 | delete(...) | semmle.label | delete(...) | +| Test.java:183:30:183:59 | new Thread(...) : Thread | semmle.label | new Thread(...) : Thread | +| Test.java:183:41:183:58 | (...)... : Runnable | semmle.label | (...)... : Runnable | +| Test.java:183:51:183:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:184:18:184:24 | thread1 | semmle.label | thread1 | +| Test.java:186:30:186:57 | new Thread(...) : Thread [java.lang.Thread.name] : String | semmle.label | new Thread(...) : Thread [java.lang.Thread.name] : String | +| Test.java:186:41:186:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:186:49:186:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:187:18:187:24 | thread2 : Thread [java.lang.Thread.name] : String | semmle.label | thread2 : Thread [java.lang.Thread.name] : String | +| Test.java:187:18:187:34 | getName(...) | semmle.label | getName(...) | +| Test.java:190:13:190:21 | threadloc [post update] : ThreadLocal [java.lang.ThreadLocal.value] : Object | semmle.label | threadloc [post update] : ThreadLocal [java.lang.ThreadLocal.value] : Object | +| Test.java:190:27:190:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:191:18:191:26 | threadloc : ThreadLocal [java.lang.ThreadLocal.value] : Object | semmle.label | threadloc : ThreadLocal [java.lang.ThreadLocal.value] : Object | +| Test.java:191:18:191:32 | get(...) | semmle.label | get(...) | +| Test.java:193:28:193:58 | new Throwable(...) : Throwable [java.lang.Throwable.message] : String | semmle.label | new Throwable(...) : Throwable [java.lang.Throwable.message] : String | +| Test.java:193:42:193:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:193:50:193:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:194:18:194:49 | (...)... | semmle.label | (...)... | +| Test.java:194:26:194:27 | th : Throwable [java.lang.Throwable.message] : String | semmle.label | th : Throwable [java.lang.Throwable.message] : String | +| Test.java:194:26:194:49 | getLocalizedMessage(...) : String | semmle.label | getLocalizedMessage(...) : String | +| Test.java:195:18:195:19 | th : Throwable [java.lang.Throwable.message] : String | semmle.label | th : Throwable [java.lang.Throwable.message] : String | +| Test.java:195:18:195:30 | toString(...) | semmle.label | toString(...) | +subpaths +testFailures diff --git a/java/ql/test/library-tests/dataflow/callctx/test.expected b/java/ql/test/library-tests/dataflow/callctx/test.expected index e69de29bb2d..2c579cb8698 100644 --- a/java/ql/test/library-tests/dataflow/callctx/test.expected +++ b/java/ql/test/library-tests/dataflow/callctx/test.expected @@ -0,0 +1,114 @@ +models +edges +| A.java:9:8:9:15 | x : Object | A.java:10:11:10:11 | x : Object | provenance | | +| A.java:9:8:9:15 | x : Object | A.java:10:11:10:11 | x : Object | provenance | | +| A.java:10:11:10:11 | x : Object | A.java:21:14:21:21 | x : Object | provenance | | +| A.java:10:11:10:11 | x : Object | A.java:34:14:34:21 | x : Object | provenance | | +| A.java:13:19:13:26 | x : Object | A.java:14:11:14:11 | x : Object | provenance | | +| A.java:13:19:13:26 | x : Object | A.java:14:11:14:11 | x : Object | provenance | | +| A.java:13:19:13:26 | x : Object | A.java:14:11:14:11 | x : Object | provenance | | +| A.java:14:11:14:11 | x : Object | A.java:21:14:21:21 | x : Object | provenance | | +| A.java:14:11:14:11 | x : Object | A.java:21:14:21:21 | x : Object | provenance | | +| A.java:14:11:14:11 | x : Object | A.java:34:14:34:21 | x : Object | provenance | | +| A.java:14:11:14:11 | x : Object | A.java:34:14:34:21 | x : Object | provenance | | +| A.java:17:19:17:26 | x : Object | A.java:18:16:18:16 | x : Object | provenance | | +| A.java:17:19:17:26 | x : Object | A.java:18:16:18:16 | x : Object | provenance | | +| A.java:17:19:17:26 | x : Object | A.java:18:16:18:16 | x : Object | provenance | | +| A.java:18:16:18:16 | x : Object | A.java:21:14:21:21 | x : Object | provenance | | +| A.java:18:16:18:16 | x : Object | A.java:21:14:21:21 | x : Object | provenance | | +| A.java:18:16:18:16 | x : Object | A.java:34:14:34:21 | x : Object | provenance | | +| A.java:18:16:18:16 | x : Object | A.java:34:14:34:21 | x : Object | provenance | | +| A.java:21:14:21:21 | x : Object | A.java:23:12:23:13 | c1 | provenance | | +| A.java:30:8:30:15 | x : Object | A.java:31:13:31:13 | x : Object | provenance | | +| A.java:31:13:31:13 | x : Object | A.java:9:8:9:15 | x : Object | provenance | | +| A.java:34:14:34:21 | x : Object | A.java:36:12:36:13 | c2 | provenance | | +| A.java:40:16:40:26 | source(...) : Object | A.java:17:19:17:26 | x : Object | provenance | | +| A.java:44:31:44:38 | x : Object | A.java:45:12:45:12 | x : Object | provenance | | +| A.java:44:31:44:38 | x : Object | A.java:45:12:45:12 | x : Object | provenance | | +| A.java:44:31:44:38 | x : Object | A.java:45:12:45:12 | x : Object | provenance | | +| A.java:45:12:45:12 | x : Object | A.java:21:14:21:21 | x : Object | provenance | | +| A.java:45:12:45:12 | x : Object | A.java:21:14:21:21 | x : Object | provenance | | +| A.java:45:12:45:12 | x : Object | A.java:34:14:34:21 | x : Object | provenance | | +| A.java:45:12:45:12 | x : Object | A.java:34:14:34:21 | x : Object | provenance | | +| A.java:49:16:49:28 | source(...) : Object | A.java:13:19:13:26 | x : Object | provenance | | +| A.java:50:16:50:28 | source(...) : Object | A.java:17:19:17:26 | x : Object | provenance | | +| A.java:51:17:51:29 | source(...) : Object | A.java:44:31:44:38 | x : Object | provenance | | +| A.java:53:12:53:23 | source(...) : Object | A.java:9:8:9:15 | x : Object | provenance | | +| A.java:54:23:54:36 | source(...) : Object | A.java:13:19:13:26 | x : Object | provenance | | +| A.java:55:23:55:36 | source(...) : Object | A.java:17:19:17:26 | x : Object | provenance | | +| A.java:56:24:56:37 | source(...) : Object | A.java:44:31:44:38 | x : Object | provenance | | +| A.java:58:12:58:23 | source(...) : Object | A.java:30:8:30:15 | x : Object | provenance | | +| A.java:59:23:59:36 | source(...) : Object | A.java:13:19:13:26 | x : Object | provenance | | +| A.java:60:23:60:36 | source(...) : Object | A.java:17:19:17:26 | x : Object | provenance | | +| A.java:61:24:61:37 | source(...) : Object | A.java:44:31:44:38 | x : Object | provenance | | +| A.java:65:15:65:22 | x : Object | A.java:66:11:66:11 | x : Object | provenance | | +| A.java:65:15:65:22 | x : Object | A.java:66:11:66:11 | x : Object | provenance | | +| A.java:66:11:66:11 | x : Object | A.java:69:14:69:21 | x : Object | provenance | | +| A.java:66:11:66:11 | x : Object | A.java:75:14:75:21 | x : Object | provenance | | +| A.java:66:11:66:11 | x : Object | A.java:75:14:75:21 | x : Object | provenance | | +| A.java:66:11:66:11 | x : Object | A.java:81:14:81:21 | x : Object | provenance | | +| A.java:66:11:66:11 | x : Object | A.java:81:14:81:21 | x : Object | provenance | | +| A.java:66:11:66:11 | x : Object | A.java:87:14:87:21 | x : Object | provenance | | +| A.java:69:14:69:21 | x : Object | A.java:70:12:70:12 | x | provenance | | +| A.java:75:14:75:21 | x : Object | A.java:76:12:76:12 | x | provenance | | +| A.java:81:14:81:21 | x : Object | A.java:82:12:82:12 | x | provenance | | +| A.java:87:14:87:21 | x : Object | A.java:88:12:88:12 | x | provenance | | +| A.java:93:12:93:22 | source(...) : Object | A.java:65:15:65:22 | x : Object | provenance | | +| A.java:96:14:96:26 | source(...) : Object | A.java:65:15:65:22 | x : Object | provenance | | +nodes +| A.java:9:8:9:15 | x : Object | semmle.label | x : Object | +| A.java:9:8:9:15 | x : Object | semmle.label | x : Object | +| A.java:10:11:10:11 | x : Object | semmle.label | x : Object | +| A.java:10:11:10:11 | x : Object | semmle.label | x : Object | +| A.java:13:19:13:26 | x : Object | semmle.label | x : Object | +| A.java:13:19:13:26 | x : Object | semmle.label | x : Object | +| A.java:13:19:13:26 | x : Object | semmle.label | x : Object | +| A.java:14:11:14:11 | x : Object | semmle.label | x : Object | +| A.java:14:11:14:11 | x : Object | semmle.label | x : Object | +| A.java:14:11:14:11 | x : Object | semmle.label | x : Object | +| A.java:17:19:17:26 | x : Object | semmle.label | x : Object | +| A.java:17:19:17:26 | x : Object | semmle.label | x : Object | +| A.java:17:19:17:26 | x : Object | semmle.label | x : Object | +| A.java:18:16:18:16 | x : Object | semmle.label | x : Object | +| A.java:18:16:18:16 | x : Object | semmle.label | x : Object | +| A.java:18:16:18:16 | x : Object | semmle.label | x : Object | +| A.java:21:14:21:21 | x : Object | semmle.label | x : Object | +| A.java:23:12:23:13 | c1 | semmle.label | c1 | +| A.java:30:8:30:15 | x : Object | semmle.label | x : Object | +| A.java:31:13:31:13 | x : Object | semmle.label | x : Object | +| A.java:34:14:34:21 | x : Object | semmle.label | x : Object | +| A.java:36:12:36:13 | c2 | semmle.label | c2 | +| A.java:40:16:40:26 | source(...) : Object | semmle.label | source(...) : Object | +| A.java:44:31:44:38 | x : Object | semmle.label | x : Object | +| A.java:44:31:44:38 | x : Object | semmle.label | x : Object | +| A.java:44:31:44:38 | x : Object | semmle.label | x : Object | +| A.java:45:12:45:12 | x : Object | semmle.label | x : Object | +| A.java:45:12:45:12 | x : Object | semmle.label | x : Object | +| A.java:45:12:45:12 | x : Object | semmle.label | x : Object | +| A.java:49:16:49:28 | source(...) : Object | semmle.label | source(...) : Object | +| A.java:50:16:50:28 | source(...) : Object | semmle.label | source(...) : Object | +| A.java:51:17:51:29 | source(...) : Object | semmle.label | source(...) : Object | +| A.java:53:12:53:23 | source(...) : Object | semmle.label | source(...) : Object | +| A.java:54:23:54:36 | source(...) : Object | semmle.label | source(...) : Object | +| A.java:55:23:55:36 | source(...) : Object | semmle.label | source(...) : Object | +| A.java:56:24:56:37 | source(...) : Object | semmle.label | source(...) : Object | +| A.java:58:12:58:23 | source(...) : Object | semmle.label | source(...) : Object | +| A.java:59:23:59:36 | source(...) : Object | semmle.label | source(...) : Object | +| A.java:60:23:60:36 | source(...) : Object | semmle.label | source(...) : Object | +| A.java:61:24:61:37 | source(...) : Object | semmle.label | source(...) : Object | +| A.java:65:15:65:22 | x : Object | semmle.label | x : Object | +| A.java:65:15:65:22 | x : Object | semmle.label | x : Object | +| A.java:66:11:66:11 | x : Object | semmle.label | x : Object | +| A.java:66:11:66:11 | x : Object | semmle.label | x : Object | +| A.java:69:14:69:21 | x : Object | semmle.label | x : Object | +| A.java:70:12:70:12 | x | semmle.label | x | +| A.java:75:14:75:21 | x : Object | semmle.label | x : Object | +| A.java:76:12:76:12 | x | semmle.label | x | +| A.java:81:14:81:21 | x : Object | semmle.label | x : Object | +| A.java:82:12:82:12 | x | semmle.label | x | +| A.java:87:14:87:21 | x : Object | semmle.label | x : Object | +| A.java:88:12:88:12 | x | semmle.label | x | +| A.java:93:12:93:22 | source(...) : Object | semmle.label | source(...) : Object | +| A.java:96:14:96:26 | source(...) : Object | semmle.label | source(...) : Object | +subpaths +testFailures diff --git a/java/ql/test/library-tests/dataflow/capture/inlinetest.expected b/java/ql/test/library-tests/dataflow/capture/inlinetest.expected index e69de29bb2d..ffe2ca32a0e 100644 --- a/java/ql/test/library-tests/dataflow/capture/inlinetest.expected +++ b/java/ql/test/library-tests/dataflow/capture/inlinetest.expected @@ -0,0 +1,550 @@ +models +| 1 | Summary: java.lang; Iterable; true; forEach; (Consumer); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 2 | Summary: java.util; Collection; true; add; ; ; Argument[0]; Argument[this].Element; value; manual | +| 3 | Summary: java.util; List; true; get; (int); ; Argument[this].Element; ReturnValue; value; manual | +| 4 | Summary: java.util; Map; true; forEach; (BiConsumer); ; Argument[this].MapKey; Argument[0].Parameter[0]; value; manual | +| 5 | Summary: java.util; Map; true; forEach; (BiConsumer); ; Argument[this].MapValue; Argument[0].Parameter[1]; value; manual | +| 6 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 7 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +edges +| B.java:11:5:11:6 | l1 [post update] : ArrayList [] : String | B.java:13:5:13:6 | l1 : ArrayList [] : String | provenance | | +| B.java:11:12:11:22 | source(...) : String | B.java:11:5:11:6 | l1 [post update] : ArrayList [] : String | provenance | MaD:2 | +| B.java:13:5:13:6 | l1 : ArrayList [] : String | B.java:13:16:13:16 | e : String | provenance | MaD:1 | +| B.java:13:5:13:6 | l1 : ArrayList [] : String | B.java:13:16:13:29 | ...->... [post update] : new Consumer(...) { ... } [List l2, ] : String | provenance | MaD:1 | +| B.java:13:16:13:16 | e : String | B.java:13:28:13:28 | e : String | provenance | | +| B.java:13:16:13:29 | ...->... [post update] : new Consumer(...) { ... } [List l2, ] : String | B.java:13:16:13:29 | List l2 : ArrayList [] : String | provenance | | +| B.java:13:16:13:29 | List l2 : ArrayList [] : String | B.java:14:10:14:11 | l2 : ArrayList [] : String | provenance | | +| B.java:13:21:13:22 | l2 [post update] : ArrayList [] : String | B.java:13:21:13:22 | this : new Consumer(...) { ... } [List l2, ] : String | provenance | | +| B.java:13:21:13:22 | this : new Consumer(...) { ... } [List l2, ] : String | B.java:13:16:13:29 | parameter this [Return] : new Consumer(...) { ... } [List l2, ] : String | provenance | | +| B.java:13:28:13:28 | e : String | B.java:13:21:13:22 | l2 [post update] : ArrayList [] : String | provenance | MaD:2 | +| B.java:14:10:14:11 | l2 : ArrayList [] : String | B.java:14:10:14:18 | get(...) | provenance | MaD:3 | +| B.java:22:26:22:26 | x : String | B.java:22:68:22:68 | x : String | provenance | | +| B.java:22:56:22:60 | other [post update] : B [bf1] : String | B.java:22:56:22:60 | this : new Consumer(...) { ... } [B other, bf1] : String | provenance | | +| B.java:22:56:22:60 | this : new Consumer(...) { ... } [B other, bf1] : String | B.java:22:26:22:71 | parameter this [Return] : new Consumer(...) { ... } [B other, bf1] : String | provenance | | +| B.java:22:68:22:68 | x : String | B.java:22:56:22:60 | other [post update] : B [bf1] : String | provenance | | +| B.java:30:5:30:5 | B other : B [bf1] : String | B.java:34:10:34:14 | other : B [bf1] : String | provenance | | +| B.java:30:5:30:5 | f [post update] : new Consumer(...) { ... } [B other, bf1] : String | B.java:30:5:30:5 | B other : B [bf1] : String | provenance | | +| B.java:30:14:30:24 | source(...) : String | B.java:22:26:22:26 | x : String | provenance | | +| B.java:30:14:30:24 | source(...) : String | B.java:30:5:30:5 | f [post update] : new Consumer(...) { ... } [B other, bf1] : String | provenance | | +| B.java:34:10:34:14 | other : B [bf1] : String | B.java:34:10:34:18 | other.bf1 | provenance | | +| B.java:38:23:38:45 | inp : HashMap [] : String | B.java:39:5:39:7 | inp : HashMap [] : String | provenance | | +| B.java:38:23:38:45 | inp : HashMap [] : String | B.java:39:5:39:7 | inp : HashMap [] : String | provenance | | +| B.java:39:5:39:7 | inp : HashMap [] : String | B.java:39:17:39:56 | ...->... [post update] : new BiConsumer(...) { ... } [out, ] : String | provenance | MaD:4 | +| B.java:39:5:39:7 | inp : HashMap [] : String | B.java:39:18:39:20 | key : String | provenance | MaD:4 | +| B.java:39:5:39:7 | inp : HashMap [] : String | B.java:39:17:39:56 | ...->... [post update] : new BiConsumer(...) { ... } [out, ] : String | provenance | MaD:5 | +| B.java:39:5:39:7 | inp : HashMap [] : String | B.java:39:23:39:27 | value : String | provenance | MaD:5 | +| B.java:39:17:39:56 | ...->... [post update] : new BiConsumer(...) { ... } [out, ] : String | B.java:39:17:39:56 | out : HashMap [] : String | provenance | | +| B.java:39:17:39:56 | ...->... [post update] : new BiConsumer(...) { ... } [out, ] : String | B.java:39:17:39:56 | out : HashMap [] : String | provenance | | +| B.java:39:17:39:56 | out : HashMap [] : String | B.java:38:48:38:70 | out [Return] : HashMap [] : String | provenance | | +| B.java:39:17:39:56 | out : HashMap [] : String | B.java:38:48:38:70 | out [Return] : HashMap [] : String | provenance | | +| B.java:39:18:39:20 | key : String | B.java:39:43:39:45 | key : String | provenance | | +| B.java:39:23:39:27 | value : String | B.java:39:48:39:52 | value : String | provenance | | +| B.java:39:35:39:37 | out [post update] : HashMap [] : String | B.java:39:35:39:37 | this : new BiConsumer(...) { ... } [out, ] : String | provenance | | +| B.java:39:35:39:37 | out [post update] : HashMap [] : String | B.java:39:35:39:37 | this : new BiConsumer(...) { ... } [out, ] : String | provenance | | +| B.java:39:35:39:37 | this : new BiConsumer(...) { ... } [out, ] : String | B.java:39:17:39:56 | parameter this [Return] : new BiConsumer(...) { ... } [out, ] : String | provenance | | +| B.java:39:35:39:37 | this : new BiConsumer(...) { ... } [out, ] : String | B.java:39:17:39:56 | parameter this [Return] : new BiConsumer(...) { ... } [out, ] : String | provenance | | +| B.java:39:43:39:45 | key : String | B.java:39:35:39:37 | out [post update] : HashMap [] : String | provenance | MaD:6 | +| B.java:39:48:39:52 | value : String | B.java:39:35:39:37 | out [post update] : HashMap [] : String | provenance | MaD:7 | +| B.java:45:5:45:6 | m1 [post update] : HashMap [] : String | B.java:46:13:46:14 | m1 : HashMap [] : String | provenance | | +| B.java:45:5:45:6 | m1 [post update] : HashMap [] : String | B.java:46:13:46:14 | m1 : HashMap [] : String | provenance | | +| B.java:45:12:45:24 | source(...) : String | B.java:45:5:45:6 | m1 [post update] : HashMap [] : String | provenance | MaD:6 | +| B.java:45:27:45:41 | source(...) : String | B.java:45:5:45:6 | m1 [post update] : HashMap [] : String | provenance | MaD:7 | +| B.java:46:13:46:14 | m1 : HashMap [] : String | B.java:38:23:38:45 | inp : HashMap [] : String | provenance | | +| B.java:46:13:46:14 | m1 : HashMap [] : String | B.java:46:17:46:18 | m2 [post update] : HashMap [] : String | provenance | MaD:4 | +| B.java:46:13:46:14 | m1 : HashMap [] : String | B.java:38:23:38:45 | inp : HashMap [] : String | provenance | | +| B.java:46:13:46:14 | m1 : HashMap [] : String | B.java:46:17:46:18 | m2 [post update] : HashMap [] : String | provenance | MaD:5 | +| B.java:46:17:46:18 | m2 [post update] : HashMap [] : String | B.java:47:5:47:6 | m2 : HashMap [] : String | provenance | | +| B.java:46:17:46:18 | m2 [post update] : HashMap [] : String | B.java:47:5:47:6 | m2 : HashMap [] : String | provenance | | +| B.java:47:5:47:6 | m2 : HashMap [] : String | B.java:47:17:47:17 | k : String | provenance | MaD:4 | +| B.java:47:5:47:6 | m2 : HashMap [] : String | B.java:47:20:47:20 | v : String | provenance | MaD:5 | +| B.java:47:17:47:17 | k : String | B.java:48:12:48:12 | k | provenance | | +| B.java:47:20:47:20 | v : String | B.java:49:12:49:12 | v | provenance | | +| B.java:57:18:57:34 | source(...) : String | B.java:60:21:60:32 | param : String | provenance | | +| B.java:60:21:60:32 | param : String | B.java:66:5:66:5 | param : String | provenance | | +| B.java:61:18:65:5 | parameter this : new Runnable(...) { ... } [param] : String | B.java:64:12:64:16 | this : new Runnable(...) { ... } [param] : String | provenance | | +| B.java:64:12:64:16 | this : new Runnable(...) { ... } [param] : String | B.java:64:12:64:16 | param | provenance | | +| B.java:66:5:66:5 | param : String | B.java:66:5:66:5 | r : new Runnable(...) { ... } [param] : String | provenance | | +| B.java:66:5:66:5 | r : new Runnable(...) { ... } [param] : String | B.java:61:18:65:5 | parameter this : new Runnable(...) { ... } [param] : String | provenance | | +| B.java:71:19:71:23 | other [post update] : B [elem] : String | B.java:74:10:74:14 | other : B [elem] : String | provenance | | +| B.java:74:10:74:14 | other : B [elem] : String | B.java:74:10:74:19 | other.elem | provenance | | +| B.java:77:22:77:28 | param [Return] : B [elem] : String | B.java:71:19:71:23 | other [post update] : B [elem] : String | provenance | | +| B.java:78:18:81:5 | parameter this [Return] : new Runnable(...) { ... } [param, elem] : String | B.java:82:5:82:5 | r [post update] : new Runnable(...) { ... } [param, elem] : String | provenance | | +| B.java:80:7:80:11 | param [post update] : B [elem] : String | B.java:80:7:80:11 | this : new Runnable(...) { ... } [param, elem] : String | provenance | | +| B.java:80:7:80:11 | this : new Runnable(...) { ... } [param, elem] : String | B.java:78:18:81:5 | parameter this [Return] : new Runnable(...) { ... } [param, elem] : String | provenance | | +| B.java:80:20:80:39 | source(...) : String | B.java:80:7:80:11 | param [post update] : B [elem] : String | provenance | | +| B.java:82:5:82:5 | param : B [elem] : String | B.java:77:22:77:28 | param [Return] : B [elem] : String | provenance | | +| B.java:82:5:82:5 | r [post update] : new Runnable(...) { ... } [param, elem] : String | B.java:82:5:82:5 | param : B [elem] : String | provenance | | +| B.java:88:22:88:44 | parameter this : new Runnable(...) { ... } [B b, elem] : String | B.java:88:35:88:35 | this : new Runnable(...) { ... } [B b, elem] : String | provenance | | +| B.java:88:35:88:35 | b : B [elem] : String | B.java:88:35:88:40 | b.elem | provenance | | +| B.java:88:35:88:35 | this : new Runnable(...) { ... } [B b, elem] : String | B.java:88:35:88:35 | b : B [elem] : String | provenance | | +| B.java:89:20:89:52 | parameter this [Return] : new Runnable(...) { ... } [B b, elem] : String | B.java:96:5:96:5 | r [post update] : new Runnable(...) { ... } [B b, elem] : String | provenance | | +| B.java:89:28:89:28 | b [post update] : B [elem] : String | B.java:89:28:89:28 | this : new Runnable(...) { ... } [B b, elem] : String | provenance | | +| B.java:89:28:89:28 | this : new Runnable(...) { ... } [B b, elem] : String | B.java:89:20:89:52 | parameter this [Return] : new Runnable(...) { ... } [B b, elem] : String | provenance | | +| B.java:89:37:89:49 | source(...) : String | B.java:89:28:89:28 | b [post update] : B [elem] : String | provenance | | +| B.java:91:11:91:13 | B b : B [elem] : String | B.java:92:11:92:15 | B b : B [elem] : String | provenance | | +| B.java:91:11:91:13 | src [post update] : new Runnable(...) { ... } [B b, elem] : String | B.java:91:11:91:13 | B b : B [elem] : String | provenance | | +| B.java:92:11:92:15 | B b : B [elem] : String | B.java:92:11:92:15 | sink2 : new Runnable(...) { ... } [B b, elem] : String | provenance | | +| B.java:92:11:92:15 | sink2 : new Runnable(...) { ... } [B b, elem] : String | B.java:95:14:95:23 | r : new Runnable(...) { ... } [B b, elem] : String | provenance | | +| B.java:95:14:95:23 | r : new Runnable(...) { ... } [B b, elem] : String | B.java:96:5:96:5 | r : new Runnable(...) { ... } [B b, elem] : String | provenance | | +| B.java:95:14:95:23 | r [Return] : new Runnable(...) { ... } [B b, elem] : String | B.java:91:11:91:13 | src [post update] : new Runnable(...) { ... } [B b, elem] : String | provenance | | +| B.java:96:5:96:5 | r : new Runnable(...) { ... } [B b, elem] : String | B.java:88:22:88:44 | parameter this : new Runnable(...) { ... } [B b, elem] : String | provenance | | +| B.java:96:5:96:5 | r [post update] : new Runnable(...) { ... } [B b, elem] : String | B.java:95:14:95:23 | r [Return] : new Runnable(...) { ... } [B b, elem] : String | provenance | | +| B.java:102:5:102:6 | l1 [post update] : ArrayList [] : String | B.java:103:12:103:13 | l1 : ArrayList [] : String | provenance | | +| B.java:102:12:102:29 | source(...) : String | B.java:102:5:102:6 | l1 [post update] : ArrayList [] : String | provenance | MaD:2 | +| B.java:103:5:103:6 | l2 [post update] : ArrayList [, ] : String | B.java:107:5:107:6 | l2 : ArrayList [, ] : String | provenance | | +| B.java:103:12:103:13 | l1 : ArrayList [] : String | B.java:103:5:103:6 | l2 [post update] : ArrayList [, ] : String | provenance | MaD:2 | +| B.java:104:16:104:32 | source(...) : String | B.java:107:16:111:6 | String s : String | provenance | | +| B.java:107:5:107:6 | l2 : ArrayList [, ] : String | B.java:107:16:107:16 | l : ArrayList [] : String | provenance | MaD:1 | +| B.java:107:5:107:6 | l2 : ArrayList [, ] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer>(...) { ... } [List out1, ] : String | provenance | MaD:1 | +| B.java:107:16:107:16 | l : ArrayList [] : String | B.java:107:21:107:21 | l : ArrayList [] : String | provenance | | +| B.java:107:16:111:6 | ...->... : new Consumer>(...) { ... } [String s] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer>(...) { ... } [List out2, ] : String | provenance | MaD:1 | +| B.java:107:16:111:6 | ...->... : new Consumer>(...) { ... } [String s] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer>(...) { ... } [List out2, ] : String | provenance | heuristic-callback | +| B.java:107:16:111:6 | ...->... : new Consumer>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this : new Consumer>(...) { ... } [String s] : String | provenance | MaD:1 | +| B.java:107:16:111:6 | ...->... : new Consumer>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this : new Consumer>(...) { ... } [String s] : String | provenance | heuristic-callback | +| B.java:107:16:111:6 | ...->... [post update] : new Consumer>(...) { ... } [List out1, ] : String | B.java:107:16:111:6 | List out1 : ArrayList [] : String | provenance | | +| B.java:107:16:111:6 | ...->... [post update] : new Consumer>(...) { ... } [List out2, ] : String | B.java:107:16:111:6 | List out2 : ArrayList [] : String | provenance | | +| B.java:107:16:111:6 | List out1 : ArrayList [] : String | B.java:112:10:112:13 | out1 : ArrayList [] : String | provenance | | +| B.java:107:16:111:6 | List out2 : ArrayList [] : String | B.java:113:10:113:13 | out2 : ArrayList [] : String | provenance | | +| B.java:107:16:111:6 | String s : String | B.java:107:16:111:6 | ...->... : new Consumer>(...) { ... } [String s] : String | provenance | | +| B.java:107:16:111:6 | parameter this : new Consumer>(...) { ... } [String s] : String | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [String s] : String | provenance | | +| B.java:107:21:107:21 | l : ArrayList [] : String | B.java:107:31:107:31 | x : String | provenance | MaD:1 | +| B.java:107:21:107:21 | l : ArrayList [] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out1, ] : String | provenance | MaD:1 | +| B.java:107:31:107:31 | x : String | B.java:109:16:109:16 | x : String | provenance | | +| B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | provenance | MaD:1 | +| B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | provenance | MaD:1 | +| B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | provenance | heuristic-callback | +| B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | provenance | heuristic-callback | +| B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this : new Consumer(...) { ... } [String s] : String | provenance | MaD:1 | +| B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this : new Consumer(...) { ... } [String s] : String | provenance | heuristic-callback | +| B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out1, ] : String | B.java:107:31:111:5 | List out1 : ArrayList [] : String | provenance | | +| B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | B.java:107:31:111:5 | List out2 : ArrayList [] : String | provenance | | +| B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | B.java:107:31:111:5 | List out2 : ArrayList [] : String | provenance | | +| B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | B.java:107:31:111:5 | List out2 : ArrayList [] : String | provenance | | +| B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | B.java:107:31:111:5 | List out2 : ArrayList [] : String | provenance | | +| B.java:107:31:111:5 | List out1 : ArrayList [] : String | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out1, ] : String | provenance | | +| B.java:107:31:111:5 | List out2 : ArrayList [] : String | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | provenance | | +| B.java:107:31:111:5 | List out2 : ArrayList [] : String | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | provenance | | +| B.java:107:31:111:5 | List out2 : ArrayList [] : String | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | provenance | | +| B.java:107:31:111:5 | List out2 : ArrayList [] : String | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | provenance | | +| B.java:107:31:111:5 | String s : String | B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | provenance | | +| B.java:107:31:111:5 | parameter this : new Consumer(...) { ... } [String s] : String | B.java:108:12:108:12 | this : new Consumer(...) { ... } [String s] : String | provenance | | +| B.java:107:31:111:5 | parameter this : new Consumer(...) { ... } [String s] : String | B.java:110:16:110:16 | this : new Consumer(...) { ... } [String s] : String | provenance | | +| B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out1, ] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out1, ] : String | provenance | | +| B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | provenance | | +| B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | provenance | | +| B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | provenance | | +| B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | provenance | | +| B.java:107:31:111:5 | this : new Consumer>(...) { ... } [String s] : String | B.java:107:31:111:5 | String s : String | provenance | | +| B.java:108:12:108:12 | this : new Consumer(...) { ... } [String s] : String | B.java:108:12:108:12 | s | provenance | | +| B.java:109:7:109:10 | out1 [post update] : ArrayList [] : String | B.java:109:7:109:10 | this : new Consumer(...) { ... } [List out1, ] : String | provenance | | +| B.java:109:7:109:10 | this : new Consumer(...) { ... } [List out1, ] : String | B.java:107:31:111:5 | parameter this [Return] : new Consumer(...) { ... } [List out1, ] : String | provenance | | +| B.java:109:16:109:16 | x : String | B.java:109:7:109:10 | out1 [post update] : ArrayList [] : String | provenance | MaD:2 | +| B.java:110:7:110:10 | out2 [post update] : ArrayList [] : String | B.java:110:7:110:10 | this : new Consumer(...) { ... } [List out2, ] : String | provenance | | +| B.java:110:7:110:10 | this : new Consumer(...) { ... } [List out2, ] : String | B.java:107:31:111:5 | parameter this [Return] : new Consumer(...) { ... } [List out2, ] : String | provenance | | +| B.java:110:16:110:16 | s : String | B.java:110:7:110:10 | out2 [post update] : ArrayList [] : String | provenance | MaD:2 | +| B.java:110:16:110:16 | this : new Consumer(...) { ... } [String s] : String | B.java:110:16:110:16 | s : String | provenance | | +| B.java:112:10:112:13 | out1 : ArrayList [] : String | B.java:112:10:112:20 | get(...) | provenance | MaD:3 | +| B.java:113:10:113:13 | out2 : ArrayList [] : String | B.java:113:10:113:20 | get(...) | provenance | MaD:3 | +| B.java:126:19:126:22 | parameter this [Return] : new TwoRuns(...) { ... } [List l1, ] : String | B.java:136:5:136:5 | r [post update] : new TwoRuns(...) { ... } [List l1, ] : String | provenance | | +| B.java:127:9:127:10 | l1 [post update] : ArrayList [] : String | B.java:127:9:127:10 | this : new TwoRuns(...) { ... } [List l1, ] : String | provenance | | +| B.java:127:9:127:10 | this : new TwoRuns(...) { ... } [List l1, ] : String | B.java:126:19:126:22 | parameter this [Return] : new TwoRuns(...) { ... } [List l1, ] : String | provenance | | +| B.java:127:16:127:29 | source(...) : String | B.java:127:9:127:10 | l1 [post update] : ArrayList [] : String | provenance | MaD:2 | +| B.java:130:19:130:22 | parameter this : new TwoRuns(...) { ... } [List l1, ] : String | B.java:131:16:131:17 | this : new TwoRuns(...) { ... } [List l1, ] : String | provenance | | +| B.java:131:9:131:10 | l2 [post update] : ArrayList [] : String | B.java:131:9:131:10 | this : new TwoRuns(...) { ... } [List l2, ] : String | provenance | | +| B.java:131:9:131:10 | this : new TwoRuns(...) { ... } [List l2, ] : String | B.java:130:19:130:22 | parameter this [Return] : new TwoRuns(...) { ... } [List l2, ] : String | provenance | | +| B.java:131:16:131:17 | l1 : ArrayList [] : String | B.java:131:16:131:24 | get(...) : String | provenance | MaD:3 | +| B.java:131:16:131:17 | this : new TwoRuns(...) { ... } [List l1, ] : String | B.java:131:16:131:17 | l1 : ArrayList [] : String | provenance | | +| B.java:131:16:131:24 | get(...) : String | B.java:131:9:131:10 | l2 [post update] : ArrayList [] : String | provenance | MaD:2 | +| B.java:136:5:136:5 | List l1 : ArrayList [] : String | B.java:137:5:137:5 | List l1 : ArrayList [] : String | provenance | | +| B.java:136:5:136:5 | r [post update] : new TwoRuns(...) { ... } [List l1, ] : String | B.java:136:5:136:5 | List l1 : ArrayList [] : String | provenance | | +| B.java:137:5:137:5 | List l1 : ArrayList [] : String | B.java:137:5:137:5 | r : new TwoRuns(...) { ... } [List l1, ] : String | provenance | | +| B.java:137:5:137:5 | List l2 : ArrayList [] : String | B.java:138:10:138:11 | l2 : ArrayList [] : String | provenance | | +| B.java:137:5:137:5 | r : new TwoRuns(...) { ... } [List l1, ] : String | B.java:130:19:130:22 | parameter this : new TwoRuns(...) { ... } [List l1, ] : String | provenance | | +| B.java:137:5:137:5 | r : new TwoRuns(...) { ... } [List l1, ] : String | B.java:137:5:137:5 | r [post update] : new TwoRuns(...) { ... } [List l2, ] : String | provenance | MaD:3 | +| B.java:137:5:137:5 | r [post update] : new TwoRuns(...) { ... } [List l2, ] : String | B.java:137:5:137:5 | List l2 : ArrayList [] : String | provenance | | +| B.java:138:10:138:11 | l2 : ArrayList [] : String | B.java:138:10:138:18 | get(...) | provenance | MaD:3 | +| B.java:142:16:142:31 | source(...) : String | B.java:148:17:148:29 | String s : String | provenance | | +| B.java:145:7:145:13 | parameter this : MyLocal [String s] : String | B.java:145:28:145:28 | this : MyLocal [String s] : String | provenance | | +| B.java:145:19:145:22 | this [post update] : MyLocal [f] : String | B.java:145:7:145:13 | parameter this [Return] : MyLocal [f] : String | provenance | | +| B.java:145:28:145:28 | s : String | B.java:145:19:145:22 | this [post update] : MyLocal [f] : String | provenance | | +| B.java:145:28:145:28 | this : MyLocal [String s] : String | B.java:145:28:145:28 | s : String | provenance | | +| B.java:146:14:146:17 | parameter this : MyLocal [f] : String | B.java:146:30:146:33 | this : MyLocal [f] : String | provenance | | +| B.java:146:30:146:33 | this : MyLocal [f] : String | B.java:146:30:146:35 | this.f : String | provenance | | +| B.java:148:17:148:29 | String s : String | B.java:148:17:148:29 | new MyLocal(...) [pre constructor] : MyLocal [String s] : String | provenance | | +| B.java:148:17:148:29 | new MyLocal(...) : MyLocal [f] : String | B.java:149:10:149:10 | m : MyLocal [f] : String | provenance | | +| B.java:148:17:148:29 | new MyLocal(...) [pre constructor] : MyLocal [String s] : String | B.java:145:7:145:13 | parameter this : MyLocal [String s] : String | provenance | | +| B.java:148:17:148:29 | new MyLocal(...) [pre constructor] : MyLocal [String s] : String | B.java:148:17:148:29 | new MyLocal(...) : MyLocal [f] : String | provenance | | +| B.java:149:10:149:10 | m : MyLocal [f] : String | B.java:146:14:146:17 | parameter this : MyLocal [f] : String | provenance | | +| B.java:149:10:149:10 | m : MyLocal [f] : String | B.java:149:10:149:17 | getF(...) | provenance | | +| B.java:153:17:153:28 | source(...) : String | B.java:173:18:173:30 | String s1 : String | provenance | | +| B.java:154:17:154:28 | source(...) : String | B.java:173:18:173:30 | String s2 : String | provenance | | +| B.java:154:17:154:28 | source(...) : String | B.java:174:18:174:30 | String s2 : String | provenance | | +| B.java:154:17:154:28 | source(...) : String | B.java:175:5:175:6 | String s2 : String | provenance | | +| B.java:158:7:158:13 | parameter this : MyLocal [String s1] : String | B.java:159:18:159:19 | this : MyLocal [String s1] : String | provenance | | +| B.java:158:7:158:13 | parameter this : MyLocal [String s2] : String | B.java:160:14:160:15 | this : MyLocal [String s2] : String | provenance | | +| B.java:159:9:159:12 | this [post update] : MyLocal [f] : String | B.java:158:7:158:13 | parameter this [Return] : MyLocal [f] : String | provenance | | +| B.java:159:18:159:19 | s1 : String | B.java:159:9:159:12 | this [post update] : MyLocal [f] : String | provenance | | +| B.java:159:18:159:19 | this : MyLocal [String s1] : String | B.java:159:18:159:19 | s1 : String | provenance | | +| B.java:160:14:160:15 | this : MyLocal [String s2] : String | B.java:160:14:160:15 | s2 | provenance | | +| B.java:162:12:162:15 | parameter this : MyLocal [String s2] : String | B.java:164:14:164:15 | this : MyLocal [String s2] : String | provenance | | +| B.java:162:12:162:15 | parameter this : MyLocal [f] : String | B.java:163:14:163:14 | this <.field> : MyLocal [f] : String | provenance | | +| B.java:163:14:163:14 | this <.field> : MyLocal [f] : String | B.java:163:14:163:14 | f | provenance | | +| B.java:164:14:164:15 | this : MyLocal [String s2] : String | B.java:164:14:164:15 | s2 | provenance | | +| B.java:166:16:166:23 | s : String | B.java:167:15:167:15 | s : String | provenance | | +| B.java:167:9:167:9 | l [post update] : ArrayList [] : String | B.java:167:9:167:9 | this : MyLocal [List l, ] : String | provenance | | +| B.java:167:9:167:9 | this : MyLocal [List l, ] : String | B.java:166:12:166:14 | parameter this [Return] : MyLocal [List l, ] : String | provenance | | +| B.java:167:15:167:15 | s : String | B.java:167:9:167:9 | l [post update] : ArrayList [] : String | provenance | MaD:2 | +| B.java:169:14:169:16 | parameter this : MyLocal [List l, ] : String | B.java:170:16:170:16 | this : MyLocal [List l, ] : String | provenance | | +| B.java:170:16:170:16 | l : ArrayList [] : String | B.java:170:16:170:23 | get(...) : String | provenance | MaD:3 | +| B.java:170:16:170:16 | this : MyLocal [List l, ] : String | B.java:170:16:170:16 | l : ArrayList [] : String | provenance | | +| B.java:173:18:173:30 | String s1 : String | B.java:173:18:173:30 | new MyLocal(...) [pre constructor] : MyLocal [String s1] : String | provenance | | +| B.java:173:18:173:30 | String s2 : String | B.java:173:18:173:30 | new MyLocal(...) : MyLocal [String s2] : String | provenance | | +| B.java:173:18:173:30 | String s2 : String | B.java:173:18:173:30 | new MyLocal(...) [pre constructor] : MyLocal [String s2] : String | provenance | | +| B.java:173:18:173:30 | String s2 : String | B.java:174:18:174:30 | String s2 : String | provenance | | +| B.java:173:18:173:30 | String s2 : String | B.java:175:5:175:6 | String s2 : String | provenance | | +| B.java:173:18:173:30 | new MyLocal(...) : MyLocal [String s2] : String | B.java:173:18:173:30 | String s2 : String | provenance | | +| B.java:173:18:173:30 | new MyLocal(...) : MyLocal [f] : String | B.java:175:5:175:6 | m1 : MyLocal [f] : String | provenance | | +| B.java:173:18:173:30 | new MyLocal(...) [pre constructor] : MyLocal [String s1] : String | B.java:158:7:158:13 | parameter this : MyLocal [String s1] : String | provenance | | +| B.java:173:18:173:30 | new MyLocal(...) [pre constructor] : MyLocal [String s1] : String | B.java:173:18:173:30 | new MyLocal(...) : MyLocal [f] : String | provenance | | +| B.java:173:18:173:30 | new MyLocal(...) [pre constructor] : MyLocal [String s2] : String | B.java:158:7:158:13 | parameter this : MyLocal [String s2] : String | provenance | | +| B.java:174:18:174:30 | String s2 : String | B.java:174:18:174:30 | new MyLocal(...) : MyLocal [String s2] : String | provenance | | +| B.java:174:18:174:30 | String s2 : String | B.java:174:18:174:30 | new MyLocal(...) [pre constructor] : MyLocal [String s2] : String | provenance | | +| B.java:174:18:174:30 | String s2 : String | B.java:175:5:175:6 | String s2 : String | provenance | | +| B.java:174:18:174:30 | new MyLocal(...) : MyLocal [String s2] : String | B.java:174:18:174:30 | String s2 : String | provenance | | +| B.java:174:18:174:30 | new MyLocal(...) [pre constructor] : MyLocal [String s2] : String | B.java:158:7:158:13 | parameter this : MyLocal [String s2] : String | provenance | | +| B.java:175:5:175:6 | String s2 : String | B.java:175:5:175:6 | m1 : MyLocal [String s2] : String | provenance | | +| B.java:175:5:175:6 | m1 : MyLocal [String s2] : String | B.java:162:12:162:15 | parameter this : MyLocal [String s2] : String | provenance | | +| B.java:175:5:175:6 | m1 : MyLocal [f] : String | B.java:162:12:162:15 | parameter this : MyLocal [f] : String | provenance | | +| B.java:177:5:177:6 | List l : ArrayList [] : String | B.java:178:10:178:11 | List l : ArrayList [] : String | provenance | | +| B.java:177:5:177:6 | m1 [post update] : MyLocal [List l, ] : String | B.java:177:5:177:6 | List l : ArrayList [] : String | provenance | | +| B.java:177:12:177:27 | source(...) : String | B.java:166:16:166:23 | s : String | provenance | | +| B.java:177:12:177:27 | source(...) : String | B.java:177:5:177:6 | m1 [post update] : MyLocal [List l, ] : String | provenance | MaD:2 | +| B.java:178:10:178:11 | List l : ArrayList [] : String | B.java:178:10:178:11 | m2 : MyLocal [List l, ] : String | provenance | | +| B.java:178:10:178:11 | m2 : MyLocal [List l, ] : String | B.java:169:14:169:16 | parameter this : MyLocal [List l, ] : String | provenance | | +| B.java:178:10:178:11 | m2 : MyLocal [List l, ] : String | B.java:178:10:178:17 | get(...) | provenance | MaD:3 | +| B.java:203:16:203:42 | source(...) : String | B.java:212:5:212:6 | String s : String | provenance | | +| B.java:205:19:208:5 | parameter this : new Runnable(...) { ... } [String s] : String | B.java:206:12:206:12 | this : new Runnable(...) { ... } [String s] : String | provenance | | +| B.java:205:19:208:5 | parameter this [Return] : new Runnable(...) { ... } [List out, ] : String | B.java:210:7:210:8 | r1 [post update] : new Runnable(...) { ... } [List out, ] : String | provenance | | +| B.java:206:12:206:12 | this : new Runnable(...) { ... } [String s] : String | B.java:206:12:206:12 | s | provenance | | +| B.java:207:7:207:9 | out [post update] : ArrayList [] : String | B.java:207:7:207:9 | this : new Runnable(...) { ... } [List out, ] : String | provenance | | +| B.java:207:7:207:9 | this : new Runnable(...) { ... } [List out, ] : String | B.java:205:19:208:5 | parameter this [Return] : new Runnable(...) { ... } [List out, ] : String | provenance | | +| B.java:207:15:207:42 | source(...) : String | B.java:207:7:207:9 | out [post update] : ArrayList [] : String | provenance | MaD:2 | +| B.java:209:19:211:5 | parameter this : new Runnable(...) { ... } [String s] : String | B.java:210:7:210:8 | this : new Runnable(...) { ... } [String s] : String | provenance | | +| B.java:209:19:211:5 | parameter this [Return] : new Runnable(...) { ... } [List out, ] : String | B.java:212:5:212:6 | r2 [post update] : new Runnable(...) { ... } [List out, ] : String | provenance | | +| B.java:210:7:210:8 | List out : ArrayList [] : String | B.java:210:7:210:8 | this : new Runnable(...) { ... } [List out, ] : String | provenance | | +| B.java:210:7:210:8 | String s : String | B.java:210:7:210:8 | r1 : new Runnable(...) { ... } [String s] : String | provenance | | +| B.java:210:7:210:8 | r1 : new Runnable(...) { ... } [String s] : String | B.java:205:19:208:5 | parameter this : new Runnable(...) { ... } [String s] : String | provenance | | +| B.java:210:7:210:8 | r1 [post update] : new Runnable(...) { ... } [List out, ] : String | B.java:210:7:210:8 | List out : ArrayList [] : String | provenance | | +| B.java:210:7:210:8 | this : new Runnable(...) { ... } [List out, ] : String | B.java:209:19:211:5 | parameter this [Return] : new Runnable(...) { ... } [List out, ] : String | provenance | | +| B.java:210:7:210:8 | this : new Runnable(...) { ... } [String s] : String | B.java:210:7:210:8 | String s : String | provenance | | +| B.java:212:5:212:6 | List out : ArrayList [] : String | B.java:213:10:213:12 | out : ArrayList [] : String | provenance | | +| B.java:212:5:212:6 | String s : String | B.java:212:5:212:6 | r2 : new Runnable(...) { ... } [String s] : String | provenance | | +| B.java:212:5:212:6 | r2 : new Runnable(...) { ... } [String s] : String | B.java:209:19:211:5 | parameter this : new Runnable(...) { ... } [String s] : String | provenance | | +| B.java:212:5:212:6 | r2 [post update] : new Runnable(...) { ... } [List out, ] : String | B.java:212:5:212:6 | List out : ArrayList [] : String | provenance | | +| B.java:213:10:213:12 | out : ArrayList [] : String | B.java:213:10:213:19 | get(...) | provenance | MaD:3 | +| B.java:231:16:231:28 | source(...) : String | B.java:247:5:247:18 | String s : String | provenance | | +| B.java:235:7:235:14 | parameter this : MyLocal2 [String s] : String | B.java:238:15:238:15 | this : MyLocal2 [String s] : String | provenance | | +| B.java:238:9:238:9 | l [post update] : ArrayList [] : String | B.java:238:9:238:9 | this : MyLocal2 [List l, ] : String | provenance | | +| B.java:238:9:238:9 | this : MyLocal2 [List l, ] : String | B.java:235:7:235:14 | parameter this [Return] : MyLocal2 [List l, ] : String | provenance | | +| B.java:238:15:238:15 | s : String | B.java:238:9:238:9 | l [post update] : ArrayList [] : String | provenance | MaD:2 | +| B.java:238:15:238:15 | this : MyLocal2 [String s] : String | B.java:238:15:238:15 | s : String | provenance | | +| B.java:240:12:240:14 | parameter this : MyLocal2 [List l, ] : String | B.java:241:16:241:16 | this : MyLocal2 [List l, ] : String | provenance | | +| B.java:241:9:241:10 | l2 [post update] : ArrayList [] : String | B.java:241:9:241:10 | this : MyLocal2 [List l2, ] : String | provenance | | +| B.java:241:9:241:10 | this : MyLocal2 [List l2, ] : String | B.java:240:12:240:14 | parameter this [Return] : MyLocal2 [List l2, ] : String | provenance | | +| B.java:241:16:241:16 | l : ArrayList [] : String | B.java:241:16:241:23 | get(...) : String | provenance | MaD:3 | +| B.java:241:16:241:16 | this : MyLocal2 [List l, ] : String | B.java:241:16:241:16 | l : ArrayList [] : String | provenance | | +| B.java:241:16:241:23 | get(...) : String | B.java:241:9:241:10 | l2 [post update] : ArrayList [] : String | provenance | MaD:2 | +| B.java:247:5:247:18 | List l2 : ArrayList [] : String | B.java:249:10:249:11 | l2 : ArrayList [] : String | provenance | | +| B.java:247:5:247:18 | List l : ArrayList [] : String | B.java:248:10:248:10 | l : ArrayList [] : String | provenance | | +| B.java:247:5:247:18 | String s : String | B.java:247:5:247:18 | new MyLocal2(...) [pre constructor] : MyLocal2 [String s] : String | provenance | | +| B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List l, ] : String | B.java:240:12:240:14 | parameter this : MyLocal2 [List l, ] : String | provenance | | +| B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List l, ] : String | B.java:247:5:247:18 | List l : ArrayList [] : String | provenance | | +| B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List l, ] : String | B.java:247:5:247:18 | new MyLocal2(...) [post update] : MyLocal2 [List l2, ] : String | provenance | MaD:3 | +| B.java:247:5:247:18 | new MyLocal2(...) [post update] : MyLocal2 [List l2, ] : String | B.java:247:5:247:18 | List l2 : ArrayList [] : String | provenance | | +| B.java:247:5:247:18 | new MyLocal2(...) [pre constructor] : MyLocal2 [String s] : String | B.java:235:7:235:14 | parameter this : MyLocal2 [String s] : String | provenance | | +| B.java:247:5:247:18 | new MyLocal2(...) [pre constructor] : MyLocal2 [String s] : String | B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List l, ] : String | provenance | MaD:2 | +| B.java:248:10:248:10 | l : ArrayList [] : String | B.java:248:10:248:17 | get(...) | provenance | MaD:3 | +| B.java:249:10:249:11 | l2 : ArrayList [] : String | B.java:249:10:249:18 | get(...) | provenance | MaD:3 | +nodes +| B.java:11:5:11:6 | l1 [post update] : ArrayList [] : String | semmle.label | l1 [post update] : ArrayList [] : String | +| B.java:11:12:11:22 | source(...) : String | semmle.label | source(...) : String | +| B.java:13:5:13:6 | l1 : ArrayList [] : String | semmle.label | l1 : ArrayList [] : String | +| B.java:13:16:13:16 | e : String | semmle.label | e : String | +| B.java:13:16:13:29 | ...->... [post update] : new Consumer(...) { ... } [List l2, ] : String | semmle.label | ...->... [post update] : new Consumer(...) { ... } [List l2, ] : String | +| B.java:13:16:13:29 | List l2 : ArrayList [] : String | semmle.label | List l2 : ArrayList [] : String | +| B.java:13:16:13:29 | parameter this [Return] : new Consumer(...) { ... } [List l2, ] : String | semmle.label | parameter this [Return] : new Consumer(...) { ... } [List l2, ] : String | +| B.java:13:21:13:22 | l2 [post update] : ArrayList [] : String | semmle.label | l2 [post update] : ArrayList [] : String | +| B.java:13:21:13:22 | this : new Consumer(...) { ... } [List l2, ] : String | semmle.label | this : new Consumer(...) { ... } [List l2, ] : String | +| B.java:13:28:13:28 | e : String | semmle.label | e : String | +| B.java:14:10:14:11 | l2 : ArrayList [] : String | semmle.label | l2 : ArrayList [] : String | +| B.java:14:10:14:18 | get(...) | semmle.label | get(...) | +| B.java:22:26:22:26 | x : String | semmle.label | x : String | +| B.java:22:26:22:71 | parameter this [Return] : new Consumer(...) { ... } [B other, bf1] : String | semmle.label | parameter this [Return] : new Consumer(...) { ... } [B other, bf1] : String | +| B.java:22:56:22:60 | other [post update] : B [bf1] : String | semmle.label | other [post update] : B [bf1] : String | +| B.java:22:56:22:60 | this : new Consumer(...) { ... } [B other, bf1] : String | semmle.label | this : new Consumer(...) { ... } [B other, bf1] : String | +| B.java:22:68:22:68 | x : String | semmle.label | x : String | +| B.java:30:5:30:5 | B other : B [bf1] : String | semmle.label | B other : B [bf1] : String | +| B.java:30:5:30:5 | f [post update] : new Consumer(...) { ... } [B other, bf1] : String | semmle.label | f [post update] : new Consumer(...) { ... } [B other, bf1] : String | +| B.java:30:14:30:24 | source(...) : String | semmle.label | source(...) : String | +| B.java:34:10:34:14 | other : B [bf1] : String | semmle.label | other : B [bf1] : String | +| B.java:34:10:34:18 | other.bf1 | semmle.label | other.bf1 | +| B.java:38:23:38:45 | inp : HashMap [] : String | semmle.label | inp : HashMap [] : String | +| B.java:38:23:38:45 | inp : HashMap [] : String | semmle.label | inp : HashMap [] : String | +| B.java:38:48:38:70 | out [Return] : HashMap [] : String | semmle.label | out [Return] : HashMap [] : String | +| B.java:38:48:38:70 | out [Return] : HashMap [] : String | semmle.label | out [Return] : HashMap [] : String | +| B.java:39:5:39:7 | inp : HashMap [] : String | semmle.label | inp : HashMap [] : String | +| B.java:39:5:39:7 | inp : HashMap [] : String | semmle.label | inp : HashMap [] : String | +| B.java:39:17:39:56 | ...->... [post update] : new BiConsumer(...) { ... } [out, ] : String | semmle.label | ...->... [post update] : new BiConsumer(...) { ... } [out, ] : String | +| B.java:39:17:39:56 | ...->... [post update] : new BiConsumer(...) { ... } [out, ] : String | semmle.label | ...->... [post update] : new BiConsumer(...) { ... } [out, ] : String | +| B.java:39:17:39:56 | out : HashMap [] : String | semmle.label | out : HashMap [] : String | +| B.java:39:17:39:56 | out : HashMap [] : String | semmle.label | out : HashMap [] : String | +| B.java:39:17:39:56 | parameter this [Return] : new BiConsumer(...) { ... } [out, ] : String | semmle.label | parameter this [Return] : new BiConsumer(...) { ... } [out, ] : String | +| B.java:39:17:39:56 | parameter this [Return] : new BiConsumer(...) { ... } [out, ] : String | semmle.label | parameter this [Return] : new BiConsumer(...) { ... } [out, ] : String | +| B.java:39:18:39:20 | key : String | semmle.label | key : String | +| B.java:39:23:39:27 | value : String | semmle.label | value : String | +| B.java:39:35:39:37 | out [post update] : HashMap [] : String | semmle.label | out [post update] : HashMap [] : String | +| B.java:39:35:39:37 | out [post update] : HashMap [] : String | semmle.label | out [post update] : HashMap [] : String | +| B.java:39:35:39:37 | this : new BiConsumer(...) { ... } [out, ] : String | semmle.label | this : new BiConsumer(...) { ... } [out, ] : String | +| B.java:39:35:39:37 | this : new BiConsumer(...) { ... } [out, ] : String | semmle.label | this : new BiConsumer(...) { ... } [out, ] : String | +| B.java:39:43:39:45 | key : String | semmle.label | key : String | +| B.java:39:48:39:52 | value : String | semmle.label | value : String | +| B.java:45:5:45:6 | m1 [post update] : HashMap [] : String | semmle.label | m1 [post update] : HashMap [] : String | +| B.java:45:5:45:6 | m1 [post update] : HashMap [] : String | semmle.label | m1 [post update] : HashMap [] : String | +| B.java:45:12:45:24 | source(...) : String | semmle.label | source(...) : String | +| B.java:45:27:45:41 | source(...) : String | semmle.label | source(...) : String | +| B.java:46:13:46:14 | m1 : HashMap [] : String | semmle.label | m1 : HashMap [] : String | +| B.java:46:13:46:14 | m1 : HashMap [] : String | semmle.label | m1 : HashMap [] : String | +| B.java:46:17:46:18 | m2 [post update] : HashMap [] : String | semmle.label | m2 [post update] : HashMap [] : String | +| B.java:46:17:46:18 | m2 [post update] : HashMap [] : String | semmle.label | m2 [post update] : HashMap [] : String | +| B.java:47:5:47:6 | m2 : HashMap [] : String | semmle.label | m2 : HashMap [] : String | +| B.java:47:5:47:6 | m2 : HashMap [] : String | semmle.label | m2 : HashMap [] : String | +| B.java:47:17:47:17 | k : String | semmle.label | k : String | +| B.java:47:20:47:20 | v : String | semmle.label | v : String | +| B.java:48:12:48:12 | k | semmle.label | k | +| B.java:49:12:49:12 | v | semmle.label | v | +| B.java:57:18:57:34 | source(...) : String | semmle.label | source(...) : String | +| B.java:60:21:60:32 | param : String | semmle.label | param : String | +| B.java:61:18:65:5 | parameter this : new Runnable(...) { ... } [param] : String | semmle.label | parameter this : new Runnable(...) { ... } [param] : String | +| B.java:64:12:64:16 | param | semmle.label | param | +| B.java:64:12:64:16 | this : new Runnable(...) { ... } [param] : String | semmle.label | this : new Runnable(...) { ... } [param] : String | +| B.java:66:5:66:5 | param : String | semmle.label | param : String | +| B.java:66:5:66:5 | r : new Runnable(...) { ... } [param] : String | semmle.label | r : new Runnable(...) { ... } [param] : String | +| B.java:71:19:71:23 | other [post update] : B [elem] : String | semmle.label | other [post update] : B [elem] : String | +| B.java:74:10:74:14 | other : B [elem] : String | semmle.label | other : B [elem] : String | +| B.java:74:10:74:19 | other.elem | semmle.label | other.elem | +| B.java:77:22:77:28 | param [Return] : B [elem] : String | semmle.label | param [Return] : B [elem] : String | +| B.java:78:18:81:5 | parameter this [Return] : new Runnable(...) { ... } [param, elem] : String | semmle.label | parameter this [Return] : new Runnable(...) { ... } [param, elem] : String | +| B.java:80:7:80:11 | param [post update] : B [elem] : String | semmle.label | param [post update] : B [elem] : String | +| B.java:80:7:80:11 | this : new Runnable(...) { ... } [param, elem] : String | semmle.label | this : new Runnable(...) { ... } [param, elem] : String | +| B.java:80:20:80:39 | source(...) : String | semmle.label | source(...) : String | +| B.java:82:5:82:5 | param : B [elem] : String | semmle.label | param : B [elem] : String | +| B.java:82:5:82:5 | r [post update] : new Runnable(...) { ... } [param, elem] : String | semmle.label | r [post update] : new Runnable(...) { ... } [param, elem] : String | +| B.java:88:22:88:44 | parameter this : new Runnable(...) { ... } [B b, elem] : String | semmle.label | parameter this : new Runnable(...) { ... } [B b, elem] : String | +| B.java:88:35:88:35 | b : B [elem] : String | semmle.label | b : B [elem] : String | +| B.java:88:35:88:35 | this : new Runnable(...) { ... } [B b, elem] : String | semmle.label | this : new Runnable(...) { ... } [B b, elem] : String | +| B.java:88:35:88:40 | b.elem | semmle.label | b.elem | +| B.java:89:20:89:52 | parameter this [Return] : new Runnable(...) { ... } [B b, elem] : String | semmle.label | parameter this [Return] : new Runnable(...) { ... } [B b, elem] : String | +| B.java:89:28:89:28 | b [post update] : B [elem] : String | semmle.label | b [post update] : B [elem] : String | +| B.java:89:28:89:28 | this : new Runnable(...) { ... } [B b, elem] : String | semmle.label | this : new Runnable(...) { ... } [B b, elem] : String | +| B.java:89:37:89:49 | source(...) : String | semmle.label | source(...) : String | +| B.java:91:11:91:13 | B b : B [elem] : String | semmle.label | B b : B [elem] : String | +| B.java:91:11:91:13 | src [post update] : new Runnable(...) { ... } [B b, elem] : String | semmle.label | src [post update] : new Runnable(...) { ... } [B b, elem] : String | +| B.java:92:11:92:15 | B b : B [elem] : String | semmle.label | B b : B [elem] : String | +| B.java:92:11:92:15 | sink2 : new Runnable(...) { ... } [B b, elem] : String | semmle.label | sink2 : new Runnable(...) { ... } [B b, elem] : String | +| B.java:95:14:95:23 | r : new Runnable(...) { ... } [B b, elem] : String | semmle.label | r : new Runnable(...) { ... } [B b, elem] : String | +| B.java:95:14:95:23 | r [Return] : new Runnable(...) { ... } [B b, elem] : String | semmle.label | r [Return] : new Runnable(...) { ... } [B b, elem] : String | +| B.java:96:5:96:5 | r : new Runnable(...) { ... } [B b, elem] : String | semmle.label | r : new Runnable(...) { ... } [B b, elem] : String | +| B.java:96:5:96:5 | r [post update] : new Runnable(...) { ... } [B b, elem] : String | semmle.label | r [post update] : new Runnable(...) { ... } [B b, elem] : String | +| B.java:102:5:102:6 | l1 [post update] : ArrayList [] : String | semmle.label | l1 [post update] : ArrayList [] : String | +| B.java:102:12:102:29 | source(...) : String | semmle.label | source(...) : String | +| B.java:103:5:103:6 | l2 [post update] : ArrayList [, ] : String | semmle.label | l2 [post update] : ArrayList [, ] : String | +| B.java:103:12:103:13 | l1 : ArrayList [] : String | semmle.label | l1 : ArrayList [] : String | +| B.java:104:16:104:32 | source(...) : String | semmle.label | source(...) : String | +| B.java:107:5:107:6 | l2 : ArrayList [, ] : String | semmle.label | l2 : ArrayList [, ] : String | +| B.java:107:16:107:16 | l : ArrayList [] : String | semmle.label | l : ArrayList [] : String | +| B.java:107:16:111:6 | ...->... : new Consumer>(...) { ... } [String s] : String | semmle.label | ...->... : new Consumer>(...) { ... } [String s] : String | +| B.java:107:16:111:6 | ...->... [post update] : new Consumer>(...) { ... } [List out1, ] : String | semmle.label | ...->... [post update] : new Consumer>(...) { ... } [List out1, ] : String | +| B.java:107:16:111:6 | ...->... [post update] : new Consumer>(...) { ... } [List out2, ] : String | semmle.label | ...->... [post update] : new Consumer>(...) { ... } [List out2, ] : String | +| B.java:107:16:111:6 | List out1 : ArrayList [] : String | semmle.label | List out1 : ArrayList [] : String | +| B.java:107:16:111:6 | List out2 : ArrayList [] : String | semmle.label | List out2 : ArrayList [] : String | +| B.java:107:16:111:6 | String s : String | semmle.label | String s : String | +| B.java:107:16:111:6 | parameter this : new Consumer>(...) { ... } [String s] : String | semmle.label | parameter this : new Consumer>(...) { ... } [String s] : String | +| B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out1, ] : String | semmle.label | parameter this [Return] : new Consumer>(...) { ... } [List out1, ] : String | +| B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | semmle.label | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | +| B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | semmle.label | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | +| B.java:107:21:107:21 | l : ArrayList [] : String | semmle.label | l : ArrayList [] : String | +| B.java:107:31:107:31 | x : String | semmle.label | x : String | +| B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | semmle.label | ...->... : new Consumer(...) { ... } [String s] : String | +| B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out1, ] : String | semmle.label | ...->... [post update] : new Consumer(...) { ... } [List out1, ] : String | +| B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | semmle.label | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | +| B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | semmle.label | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | +| B.java:107:31:111:5 | List out1 : ArrayList [] : String | semmle.label | List out1 : ArrayList [] : String | +| B.java:107:31:111:5 | List out2 : ArrayList [] : String | semmle.label | List out2 : ArrayList [] : String | +| B.java:107:31:111:5 | List out2 : ArrayList [] : String | semmle.label | List out2 : ArrayList [] : String | +| B.java:107:31:111:5 | String s : String | semmle.label | String s : String | +| B.java:107:31:111:5 | parameter this : new Consumer(...) { ... } [String s] : String | semmle.label | parameter this : new Consumer(...) { ... } [String s] : String | +| B.java:107:31:111:5 | parameter this [Return] : new Consumer(...) { ... } [List out1, ] : String | semmle.label | parameter this [Return] : new Consumer(...) { ... } [List out1, ] : String | +| B.java:107:31:111:5 | parameter this [Return] : new Consumer(...) { ... } [List out2, ] : String | semmle.label | parameter this [Return] : new Consumer(...) { ... } [List out2, ] : String | +| B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out1, ] : String | semmle.label | this : new Consumer>(...) { ... } [List out1, ] : String | +| B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | semmle.label | this : new Consumer>(...) { ... } [List out2, ] : String | +| B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | semmle.label | this : new Consumer>(...) { ... } [List out2, ] : String | +| B.java:107:31:111:5 | this : new Consumer>(...) { ... } [String s] : String | semmle.label | this : new Consumer>(...) { ... } [String s] : String | +| B.java:108:12:108:12 | s | semmle.label | s | +| B.java:108:12:108:12 | this : new Consumer(...) { ... } [String s] : String | semmle.label | this : new Consumer(...) { ... } [String s] : String | +| B.java:109:7:109:10 | out1 [post update] : ArrayList [] : String | semmle.label | out1 [post update] : ArrayList [] : String | +| B.java:109:7:109:10 | this : new Consumer(...) { ... } [List out1, ] : String | semmle.label | this : new Consumer(...) { ... } [List out1, ] : String | +| B.java:109:16:109:16 | x : String | semmle.label | x : String | +| B.java:110:7:110:10 | out2 [post update] : ArrayList [] : String | semmle.label | out2 [post update] : ArrayList [] : String | +| B.java:110:7:110:10 | this : new Consumer(...) { ... } [List out2, ] : String | semmle.label | this : new Consumer(...) { ... } [List out2, ] : String | +| B.java:110:16:110:16 | s : String | semmle.label | s : String | +| B.java:110:16:110:16 | this : new Consumer(...) { ... } [String s] : String | semmle.label | this : new Consumer(...) { ... } [String s] : String | +| B.java:112:10:112:13 | out1 : ArrayList [] : String | semmle.label | out1 : ArrayList [] : String | +| B.java:112:10:112:20 | get(...) | semmle.label | get(...) | +| B.java:113:10:113:13 | out2 : ArrayList [] : String | semmle.label | out2 : ArrayList [] : String | +| B.java:113:10:113:20 | get(...) | semmle.label | get(...) | +| B.java:126:19:126:22 | parameter this [Return] : new TwoRuns(...) { ... } [List l1, ] : String | semmle.label | parameter this [Return] : new TwoRuns(...) { ... } [List l1, ] : String | +| B.java:127:9:127:10 | l1 [post update] : ArrayList [] : String | semmle.label | l1 [post update] : ArrayList [] : String | +| B.java:127:9:127:10 | this : new TwoRuns(...) { ... } [List l1, ] : String | semmle.label | this : new TwoRuns(...) { ... } [List l1, ] : String | +| B.java:127:16:127:29 | source(...) : String | semmle.label | source(...) : String | +| B.java:130:19:130:22 | parameter this : new TwoRuns(...) { ... } [List l1, ] : String | semmle.label | parameter this : new TwoRuns(...) { ... } [List l1, ] : String | +| B.java:130:19:130:22 | parameter this [Return] : new TwoRuns(...) { ... } [List l2, ] : String | semmle.label | parameter this [Return] : new TwoRuns(...) { ... } [List l2, ] : String | +| B.java:131:9:131:10 | l2 [post update] : ArrayList [] : String | semmle.label | l2 [post update] : ArrayList [] : String | +| B.java:131:9:131:10 | this : new TwoRuns(...) { ... } [List l2, ] : String | semmle.label | this : new TwoRuns(...) { ... } [List l2, ] : String | +| B.java:131:16:131:17 | l1 : ArrayList [] : String | semmle.label | l1 : ArrayList [] : String | +| B.java:131:16:131:17 | this : new TwoRuns(...) { ... } [List l1, ] : String | semmle.label | this : new TwoRuns(...) { ... } [List l1, ] : String | +| B.java:131:16:131:24 | get(...) : String | semmle.label | get(...) : String | +| B.java:136:5:136:5 | List l1 : ArrayList [] : String | semmle.label | List l1 : ArrayList [] : String | +| B.java:136:5:136:5 | r [post update] : new TwoRuns(...) { ... } [List l1, ] : String | semmle.label | r [post update] : new TwoRuns(...) { ... } [List l1, ] : String | +| B.java:137:5:137:5 | List l1 : ArrayList [] : String | semmle.label | List l1 : ArrayList [] : String | +| B.java:137:5:137:5 | List l2 : ArrayList [] : String | semmle.label | List l2 : ArrayList [] : String | +| B.java:137:5:137:5 | r : new TwoRuns(...) { ... } [List l1, ] : String | semmle.label | r : new TwoRuns(...) { ... } [List l1, ] : String | +| B.java:137:5:137:5 | r [post update] : new TwoRuns(...) { ... } [List l2, ] : String | semmle.label | r [post update] : new TwoRuns(...) { ... } [List l2, ] : String | +| B.java:138:10:138:11 | l2 : ArrayList [] : String | semmle.label | l2 : ArrayList [] : String | +| B.java:138:10:138:18 | get(...) | semmle.label | get(...) | +| B.java:142:16:142:31 | source(...) : String | semmle.label | source(...) : String | +| B.java:145:7:145:13 | parameter this : MyLocal [String s] : String | semmle.label | parameter this : MyLocal [String s] : String | +| B.java:145:7:145:13 | parameter this [Return] : MyLocal [f] : String | semmle.label | parameter this [Return] : MyLocal [f] : String | +| B.java:145:19:145:22 | this [post update] : MyLocal [f] : String | semmle.label | this [post update] : MyLocal [f] : String | +| B.java:145:28:145:28 | s : String | semmle.label | s : String | +| B.java:145:28:145:28 | this : MyLocal [String s] : String | semmle.label | this : MyLocal [String s] : String | +| B.java:146:14:146:17 | parameter this : MyLocal [f] : String | semmle.label | parameter this : MyLocal [f] : String | +| B.java:146:30:146:33 | this : MyLocal [f] : String | semmle.label | this : MyLocal [f] : String | +| B.java:146:30:146:35 | this.f : String | semmle.label | this.f : String | +| B.java:148:17:148:29 | String s : String | semmle.label | String s : String | +| B.java:148:17:148:29 | new MyLocal(...) : MyLocal [f] : String | semmle.label | new MyLocal(...) : MyLocal [f] : String | +| B.java:148:17:148:29 | new MyLocal(...) [pre constructor] : MyLocal [String s] : String | semmle.label | new MyLocal(...) [pre constructor] : MyLocal [String s] : String | +| B.java:149:10:149:10 | m : MyLocal [f] : String | semmle.label | m : MyLocal [f] : String | +| B.java:149:10:149:17 | getF(...) | semmle.label | getF(...) | +| B.java:153:17:153:28 | source(...) : String | semmle.label | source(...) : String | +| B.java:154:17:154:28 | source(...) : String | semmle.label | source(...) : String | +| B.java:158:7:158:13 | parameter this : MyLocal [String s1] : String | semmle.label | parameter this : MyLocal [String s1] : String | +| B.java:158:7:158:13 | parameter this : MyLocal [String s2] : String | semmle.label | parameter this : MyLocal [String s2] : String | +| B.java:158:7:158:13 | parameter this [Return] : MyLocal [f] : String | semmle.label | parameter this [Return] : MyLocal [f] : String | +| B.java:159:9:159:12 | this [post update] : MyLocal [f] : String | semmle.label | this [post update] : MyLocal [f] : String | +| B.java:159:18:159:19 | s1 : String | semmle.label | s1 : String | +| B.java:159:18:159:19 | this : MyLocal [String s1] : String | semmle.label | this : MyLocal [String s1] : String | +| B.java:160:14:160:15 | s2 | semmle.label | s2 | +| B.java:160:14:160:15 | this : MyLocal [String s2] : String | semmle.label | this : MyLocal [String s2] : String | +| B.java:162:12:162:15 | parameter this : MyLocal [String s2] : String | semmle.label | parameter this : MyLocal [String s2] : String | +| B.java:162:12:162:15 | parameter this : MyLocal [f] : String | semmle.label | parameter this : MyLocal [f] : String | +| B.java:163:14:163:14 | f | semmle.label | f | +| B.java:163:14:163:14 | this <.field> : MyLocal [f] : String | semmle.label | this <.field> : MyLocal [f] : String | +| B.java:164:14:164:15 | s2 | semmle.label | s2 | +| B.java:164:14:164:15 | this : MyLocal [String s2] : String | semmle.label | this : MyLocal [String s2] : String | +| B.java:166:12:166:14 | parameter this [Return] : MyLocal [List l, ] : String | semmle.label | parameter this [Return] : MyLocal [List l, ] : String | +| B.java:166:16:166:23 | s : String | semmle.label | s : String | +| B.java:167:9:167:9 | l [post update] : ArrayList [] : String | semmle.label | l [post update] : ArrayList [] : String | +| B.java:167:9:167:9 | this : MyLocal [List l, ] : String | semmle.label | this : MyLocal [List l, ] : String | +| B.java:167:15:167:15 | s : String | semmle.label | s : String | +| B.java:169:14:169:16 | parameter this : MyLocal [List l, ] : String | semmle.label | parameter this : MyLocal [List l, ] : String | +| B.java:170:16:170:16 | l : ArrayList [] : String | semmle.label | l : ArrayList [] : String | +| B.java:170:16:170:16 | this : MyLocal [List l, ] : String | semmle.label | this : MyLocal [List l, ] : String | +| B.java:170:16:170:23 | get(...) : String | semmle.label | get(...) : String | +| B.java:173:18:173:30 | String s1 : String | semmle.label | String s1 : String | +| B.java:173:18:173:30 | String s2 : String | semmle.label | String s2 : String | +| B.java:173:18:173:30 | String s2 : String | semmle.label | String s2 : String | +| B.java:173:18:173:30 | new MyLocal(...) : MyLocal [String s2] : String | semmle.label | new MyLocal(...) : MyLocal [String s2] : String | +| B.java:173:18:173:30 | new MyLocal(...) : MyLocal [f] : String | semmle.label | new MyLocal(...) : MyLocal [f] : String | +| B.java:173:18:173:30 | new MyLocal(...) [pre constructor] : MyLocal [String s1] : String | semmle.label | new MyLocal(...) [pre constructor] : MyLocal [String s1] : String | +| B.java:173:18:173:30 | new MyLocal(...) [pre constructor] : MyLocal [String s2] : String | semmle.label | new MyLocal(...) [pre constructor] : MyLocal [String s2] : String | +| B.java:174:18:174:30 | String s2 : String | semmle.label | String s2 : String | +| B.java:174:18:174:30 | String s2 : String | semmle.label | String s2 : String | +| B.java:174:18:174:30 | new MyLocal(...) : MyLocal [String s2] : String | semmle.label | new MyLocal(...) : MyLocal [String s2] : String | +| B.java:174:18:174:30 | new MyLocal(...) [pre constructor] : MyLocal [String s2] : String | semmle.label | new MyLocal(...) [pre constructor] : MyLocal [String s2] : String | +| B.java:175:5:175:6 | String s2 : String | semmle.label | String s2 : String | +| B.java:175:5:175:6 | m1 : MyLocal [String s2] : String | semmle.label | m1 : MyLocal [String s2] : String | +| B.java:175:5:175:6 | m1 : MyLocal [f] : String | semmle.label | m1 : MyLocal [f] : String | +| B.java:177:5:177:6 | List l : ArrayList [] : String | semmle.label | List l : ArrayList [] : String | +| B.java:177:5:177:6 | m1 [post update] : MyLocal [List l, ] : String | semmle.label | m1 [post update] : MyLocal [List l, ] : String | +| B.java:177:12:177:27 | source(...) : String | semmle.label | source(...) : String | +| B.java:178:10:178:11 | List l : ArrayList [] : String | semmle.label | List l : ArrayList [] : String | +| B.java:178:10:178:11 | m2 : MyLocal [List l, ] : String | semmle.label | m2 : MyLocal [List l, ] : String | +| B.java:178:10:178:17 | get(...) | semmle.label | get(...) | +| B.java:203:16:203:42 | source(...) : String | semmle.label | source(...) : String | +| B.java:205:19:208:5 | parameter this : new Runnable(...) { ... } [String s] : String | semmle.label | parameter this : new Runnable(...) { ... } [String s] : String | +| B.java:205:19:208:5 | parameter this [Return] : new Runnable(...) { ... } [List out, ] : String | semmle.label | parameter this [Return] : new Runnable(...) { ... } [List out, ] : String | +| B.java:206:12:206:12 | s | semmle.label | s | +| B.java:206:12:206:12 | this : new Runnable(...) { ... } [String s] : String | semmle.label | this : new Runnable(...) { ... } [String s] : String | +| B.java:207:7:207:9 | out [post update] : ArrayList [] : String | semmle.label | out [post update] : ArrayList [] : String | +| B.java:207:7:207:9 | this : new Runnable(...) { ... } [List out, ] : String | semmle.label | this : new Runnable(...) { ... } [List out, ] : String | +| B.java:207:15:207:42 | source(...) : String | semmle.label | source(...) : String | +| B.java:209:19:211:5 | parameter this : new Runnable(...) { ... } [String s] : String | semmle.label | parameter this : new Runnable(...) { ... } [String s] : String | +| B.java:209:19:211:5 | parameter this [Return] : new Runnable(...) { ... } [List out, ] : String | semmle.label | parameter this [Return] : new Runnable(...) { ... } [List out, ] : String | +| B.java:210:7:210:8 | List out : ArrayList [] : String | semmle.label | List out : ArrayList [] : String | +| B.java:210:7:210:8 | String s : String | semmle.label | String s : String | +| B.java:210:7:210:8 | r1 : new Runnable(...) { ... } [String s] : String | semmle.label | r1 : new Runnable(...) { ... } [String s] : String | +| B.java:210:7:210:8 | r1 [post update] : new Runnable(...) { ... } [List out, ] : String | semmle.label | r1 [post update] : new Runnable(...) { ... } [List out, ] : String | +| B.java:210:7:210:8 | this : new Runnable(...) { ... } [List out, ] : String | semmle.label | this : new Runnable(...) { ... } [List out, ] : String | +| B.java:210:7:210:8 | this : new Runnable(...) { ... } [String s] : String | semmle.label | this : new Runnable(...) { ... } [String s] : String | +| B.java:212:5:212:6 | List out : ArrayList [] : String | semmle.label | List out : ArrayList [] : String | +| B.java:212:5:212:6 | String s : String | semmle.label | String s : String | +| B.java:212:5:212:6 | r2 : new Runnable(...) { ... } [String s] : String | semmle.label | r2 : new Runnable(...) { ... } [String s] : String | +| B.java:212:5:212:6 | r2 [post update] : new Runnable(...) { ... } [List out, ] : String | semmle.label | r2 [post update] : new Runnable(...) { ... } [List out, ] : String | +| B.java:213:10:213:12 | out : ArrayList [] : String | semmle.label | out : ArrayList [] : String | +| B.java:213:10:213:19 | get(...) | semmle.label | get(...) | +| B.java:231:16:231:28 | source(...) : String | semmle.label | source(...) : String | +| B.java:235:7:235:14 | parameter this : MyLocal2 [String s] : String | semmle.label | parameter this : MyLocal2 [String s] : String | +| B.java:235:7:235:14 | parameter this [Return] : MyLocal2 [List l, ] : String | semmle.label | parameter this [Return] : MyLocal2 [List l, ] : String | +| B.java:238:9:238:9 | l [post update] : ArrayList [] : String | semmle.label | l [post update] : ArrayList [] : String | +| B.java:238:9:238:9 | this : MyLocal2 [List l, ] : String | semmle.label | this : MyLocal2 [List l, ] : String | +| B.java:238:15:238:15 | s : String | semmle.label | s : String | +| B.java:238:15:238:15 | this : MyLocal2 [String s] : String | semmle.label | this : MyLocal2 [String s] : String | +| B.java:240:12:240:14 | parameter this : MyLocal2 [List l, ] : String | semmle.label | parameter this : MyLocal2 [List l, ] : String | +| B.java:240:12:240:14 | parameter this [Return] : MyLocal2 [List l2, ] : String | semmle.label | parameter this [Return] : MyLocal2 [List l2, ] : String | +| B.java:241:9:241:10 | l2 [post update] : ArrayList [] : String | semmle.label | l2 [post update] : ArrayList [] : String | +| B.java:241:9:241:10 | this : MyLocal2 [List l2, ] : String | semmle.label | this : MyLocal2 [List l2, ] : String | +| B.java:241:16:241:16 | l : ArrayList [] : String | semmle.label | l : ArrayList [] : String | +| B.java:241:16:241:16 | this : MyLocal2 [List l, ] : String | semmle.label | this : MyLocal2 [List l, ] : String | +| B.java:241:16:241:23 | get(...) : String | semmle.label | get(...) : String | +| B.java:247:5:247:18 | List l2 : ArrayList [] : String | semmle.label | List l2 : ArrayList [] : String | +| B.java:247:5:247:18 | List l : ArrayList [] : String | semmle.label | List l : ArrayList [] : String | +| B.java:247:5:247:18 | String s : String | semmle.label | String s : String | +| B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List l, ] : String | semmle.label | new MyLocal2(...) : MyLocal2 [List l, ] : String | +| B.java:247:5:247:18 | new MyLocal2(...) [post update] : MyLocal2 [List l2, ] : String | semmle.label | new MyLocal2(...) [post update] : MyLocal2 [List l2, ] : String | +| B.java:247:5:247:18 | new MyLocal2(...) [pre constructor] : MyLocal2 [String s] : String | semmle.label | new MyLocal2(...) [pre constructor] : MyLocal2 [String s] : String | +| B.java:248:10:248:10 | l : ArrayList [] : String | semmle.label | l : ArrayList [] : String | +| B.java:248:10:248:17 | get(...) | semmle.label | get(...) | +| B.java:249:10:249:11 | l2 : ArrayList [] : String | semmle.label | l2 : ArrayList [] : String | +| B.java:249:10:249:18 | get(...) | semmle.label | get(...) | +subpaths +| B.java:13:5:13:6 | l1 : ArrayList [] : String | B.java:13:16:13:16 | e : String | B.java:13:16:13:29 | parameter this [Return] : new Consumer(...) { ... } [List l2, ] : String | B.java:13:16:13:29 | ...->... [post update] : new Consumer(...) { ... } [List l2, ] : String | +| B.java:30:14:30:24 | source(...) : String | B.java:22:26:22:26 | x : String | B.java:22:26:22:71 | parameter this [Return] : new Consumer(...) { ... } [B other, bf1] : String | B.java:30:5:30:5 | f [post update] : new Consumer(...) { ... } [B other, bf1] : String | +| B.java:39:5:39:7 | inp : HashMap [] : String | B.java:39:18:39:20 | key : String | B.java:39:17:39:56 | parameter this [Return] : new BiConsumer(...) { ... } [out, ] : String | B.java:39:17:39:56 | ...->... [post update] : new BiConsumer(...) { ... } [out, ] : String | +| B.java:39:5:39:7 | inp : HashMap [] : String | B.java:39:23:39:27 | value : String | B.java:39:17:39:56 | parameter this [Return] : new BiConsumer(...) { ... } [out, ] : String | B.java:39:17:39:56 | ...->... [post update] : new BiConsumer(...) { ... } [out, ] : String | +| B.java:46:13:46:14 | m1 : HashMap [] : String | B.java:38:23:38:45 | inp : HashMap [] : String | B.java:38:48:38:70 | out [Return] : HashMap [] : String | B.java:46:17:46:18 | m2 [post update] : HashMap [] : String | +| B.java:46:13:46:14 | m1 : HashMap [] : String | B.java:38:23:38:45 | inp : HashMap [] : String | B.java:38:48:38:70 | out [Return] : HashMap [] : String | B.java:46:17:46:18 | m2 [post update] : HashMap [] : String | +| B.java:107:5:107:6 | l2 : ArrayList [, ] : String | B.java:107:16:107:16 | l : ArrayList [] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out1, ] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer>(...) { ... } [List out1, ] : String | +| B.java:107:16:111:6 | ...->... : new Consumer>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this : new Consumer>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer>(...) { ... } [List out2, ] : String | +| B.java:107:16:111:6 | ...->... : new Consumer>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this : new Consumer>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer>(...) { ... } [List out2, ] : String | +| B.java:107:21:107:21 | l : ArrayList [] : String | B.java:107:31:107:31 | x : String | B.java:107:31:111:5 | parameter this [Return] : new Consumer(...) { ... } [List out1, ] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out1, ] : String | +| B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this [Return] : new Consumer(...) { ... } [List out2, ] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | +| B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this [Return] : new Consumer(...) { ... } [List out2, ] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | +| B.java:137:5:137:5 | r : new TwoRuns(...) { ... } [List l1, ] : String | B.java:130:19:130:22 | parameter this : new TwoRuns(...) { ... } [List l1, ] : String | B.java:130:19:130:22 | parameter this [Return] : new TwoRuns(...) { ... } [List l2, ] : String | B.java:137:5:137:5 | r [post update] : new TwoRuns(...) { ... } [List l2, ] : String | +| B.java:148:17:148:29 | new MyLocal(...) [pre constructor] : MyLocal [String s] : String | B.java:145:7:145:13 | parameter this : MyLocal [String s] : String | B.java:145:7:145:13 | parameter this [Return] : MyLocal [f] : String | B.java:148:17:148:29 | new MyLocal(...) : MyLocal [f] : String | +| B.java:149:10:149:10 | m : MyLocal [f] : String | B.java:146:14:146:17 | parameter this : MyLocal [f] : String | B.java:146:30:146:35 | this.f : String | B.java:149:10:149:17 | getF(...) | +| B.java:173:18:173:30 | new MyLocal(...) [pre constructor] : MyLocal [String s1] : String | B.java:158:7:158:13 | parameter this : MyLocal [String s1] : String | B.java:158:7:158:13 | parameter this [Return] : MyLocal [f] : String | B.java:173:18:173:30 | new MyLocal(...) : MyLocal [f] : String | +| B.java:177:12:177:27 | source(...) : String | B.java:166:16:166:23 | s : String | B.java:166:12:166:14 | parameter this [Return] : MyLocal [List l, ] : String | B.java:177:5:177:6 | m1 [post update] : MyLocal [List l, ] : String | +| B.java:178:10:178:11 | m2 : MyLocal [List l, ] : String | B.java:169:14:169:16 | parameter this : MyLocal [List l, ] : String | B.java:170:16:170:23 | get(...) : String | B.java:178:10:178:17 | get(...) | +| B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List l, ] : String | B.java:240:12:240:14 | parameter this : MyLocal2 [List l, ] : String | B.java:240:12:240:14 | parameter this [Return] : MyLocal2 [List l2, ] : String | B.java:247:5:247:18 | new MyLocal2(...) [post update] : MyLocal2 [List l2, ] : String | +| B.java:247:5:247:18 | new MyLocal2(...) [pre constructor] : MyLocal2 [String s] : String | B.java:235:7:235:14 | parameter this : MyLocal2 [String s] : String | B.java:235:7:235:14 | parameter this [Return] : MyLocal2 [List l, ] : String | B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List l, ] : String | +testFailures diff --git a/java/ql/test/library-tests/dataflow/collections/containerflow.expected b/java/ql/test/library-tests/dataflow/collections/containerflow.expected index e69de29bb2d..af21e6be98c 100644 --- a/java/ql/test/library-tests/dataflow/collections/containerflow.expected +++ b/java/ql/test/library-tests/dataflow/collections/containerflow.expected @@ -0,0 +1,6263 @@ +models +| 1 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 2 | Summary: java.lang; Iterable; true; spliterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 3 | Summary: java.util.concurrent; BlockingDeque; true; offerFirst; (Object,long,TimeUnit); ; Argument[0]; Argument[this].Element; value; manual | +| 4 | Summary: java.util.concurrent; BlockingDeque; true; offerLast; (Object,long,TimeUnit); ; Argument[0]; Argument[this].Element; value; manual | +| 5 | Summary: java.util.concurrent; BlockingDeque; true; pollFirst; (long,TimeUnit); ; Argument[this].Element; ReturnValue; value; manual | +| 6 | Summary: java.util.concurrent; BlockingDeque; true; pollLast; (long,TimeUnit); ; Argument[this].Element; ReturnValue; value; manual | +| 7 | Summary: java.util.concurrent; BlockingDeque; true; putFirst; (Object); ; Argument[0]; Argument[this].Element; value; manual | +| 8 | Summary: java.util.concurrent; BlockingDeque; true; putLast; (Object); ; Argument[0]; Argument[this].Element; value; manual | +| 9 | Summary: java.util.concurrent; BlockingDeque; true; takeFirst; (); ; Argument[this].Element; ReturnValue; value; manual | +| 10 | Summary: java.util.concurrent; BlockingDeque; true; takeLast; (); ; Argument[this].Element; ReturnValue; value; manual | +| 11 | Summary: java.util.concurrent; BlockingQueue; true; drainTo; (Collection); ; Argument[this].Element; Argument[0].Element; value; manual | +| 12 | Summary: java.util.concurrent; BlockingQueue; true; drainTo; (Collection,int); ; Argument[this].Element; Argument[0].Element; value; manual | +| 13 | Summary: java.util.concurrent; BlockingQueue; true; offer; (Object,long,TimeUnit); ; Argument[0]; Argument[this].Element; value; manual | +| 14 | Summary: java.util.concurrent; BlockingQueue; true; poll; (long,TimeUnit); ; Argument[this].Element; ReturnValue; value; manual | +| 15 | Summary: java.util.concurrent; BlockingQueue; true; put; (Object); ; Argument[0]; Argument[this].Element; value; manual | +| 16 | Summary: java.util.concurrent; BlockingQueue; true; take; (); ; Argument[this].Element; ReturnValue; value; manual | +| 17 | Summary: java.util.concurrent; ConcurrentHashMap; true; elements; (); ; Argument[this].MapValue; ReturnValue.Element; value; manual | +| 18 | Summary: java.util.concurrent; TransferQueue; true; transfer; (Object); ; Argument[0]; Argument[this].Element; value; manual | +| 19 | Summary: java.util.concurrent; TransferQueue; true; tryTransfer; (Object); ; Argument[0]; Argument[this].Element; value; manual | +| 20 | Summary: java.util.concurrent; TransferQueue; true; tryTransfer; (Object,long,TimeUnit); ; Argument[0]; Argument[this].Element; value; manual | +| 21 | Summary: java.util; AbstractMap$SimpleEntry; false; SimpleEntry; (Map$Entry); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 22 | Summary: java.util; AbstractMap$SimpleEntry; false; SimpleEntry; (Map$Entry); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 23 | Summary: java.util; AbstractMap$SimpleEntry; false; SimpleEntry; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 24 | Summary: java.util; AbstractMap$SimpleEntry; false; SimpleEntry; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 25 | Summary: java.util; AbstractMap$SimpleImmutableEntry; false; SimpleImmutableEntry; (Map$Entry); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 26 | Summary: java.util; AbstractMap$SimpleImmutableEntry; false; SimpleImmutableEntry; (Map$Entry); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 27 | Summary: java.util; ArrayDeque; false; ArrayDeque; (Collection); ; Argument[0].Element; Argument[this].Element; value; manual | +| 28 | Summary: java.util; ArrayList; false; ArrayList; (Collection); ; Argument[0].Element; Argument[this].Element; value; manual | +| 29 | Summary: java.util; Arrays; false; asList; ; ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 30 | Summary: java.util; Arrays; false; copyOf; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 31 | Summary: java.util; Arrays; false; copyOfRange; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 32 | Summary: java.util; Arrays; false; fill; (Object[],Object); ; Argument[1]; Argument[0].ArrayElement; value; manual | +| 33 | Summary: java.util; Arrays; false; fill; (Object[],int,int,Object); ; Argument[3]; Argument[0].ArrayElement; value; manual | +| 34 | Summary: java.util; Arrays; false; fill; (boolean[],boolean); ; Argument[1]; Argument[0].ArrayElement; value; manual | +| 35 | Summary: java.util; Arrays; false; fill; (boolean[],int,int,boolean); ; Argument[3]; Argument[0].ArrayElement; value; manual | +| 36 | Summary: java.util; Arrays; false; fill; (byte[],byte); ; Argument[1]; Argument[0].ArrayElement; value; manual | +| 37 | Summary: java.util; Arrays; false; fill; (byte[],int,int,byte); ; Argument[3]; Argument[0].ArrayElement; value; manual | +| 38 | Summary: java.util; Arrays; false; fill; (char[],char); ; Argument[1]; Argument[0].ArrayElement; value; manual | +| 39 | Summary: java.util; Arrays; false; fill; (char[],int,int,char); ; Argument[3]; Argument[0].ArrayElement; value; manual | +| 40 | Summary: java.util; Arrays; false; fill; (double[],double); ; Argument[1]; Argument[0].ArrayElement; value; manual | +| 41 | Summary: java.util; Arrays; false; fill; (double[],int,int,double); ; Argument[3]; Argument[0].ArrayElement; value; manual | +| 42 | Summary: java.util; Arrays; false; fill; (float[],float); ; Argument[1]; Argument[0].ArrayElement; value; manual | +| 43 | Summary: java.util; Arrays; false; fill; (float[],int,int,float); ; Argument[3]; Argument[0].ArrayElement; value; manual | +| 44 | Summary: java.util; Arrays; false; fill; (int[],int); ; Argument[1]; Argument[0].ArrayElement; value; manual | +| 45 | Summary: java.util; Arrays; false; fill; (int[],int,int,int); ; Argument[3]; Argument[0].ArrayElement; value; manual | +| 46 | Summary: java.util; Arrays; false; fill; (long[],int,int,long); ; Argument[3]; Argument[0].ArrayElement; value; manual | +| 47 | Summary: java.util; Arrays; false; fill; (long[],long); ; Argument[1]; Argument[0].ArrayElement; value; manual | +| 48 | Summary: java.util; Arrays; false; fill; (short[],int,int,short); ; Argument[3]; Argument[0].ArrayElement; value; manual | +| 49 | Summary: java.util; Arrays; false; fill; (short[],short); ; Argument[1]; Argument[0].ArrayElement; value; manual | +| 50 | Summary: java.util; Arrays; false; spliterator; ; ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 51 | Summary: java.util; Arrays; false; stream; ; ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 52 | Summary: java.util; Collection; true; add; ; ; Argument[0]; Argument[this].Element; value; manual | +| 53 | Summary: java.util; Collection; true; addAll; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 54 | Summary: java.util; Collection; true; parallelStream; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 55 | Summary: java.util; Collection; true; stream; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 56 | Summary: java.util; Collection; true; toArray; ; ; Argument[this].Element; Argument[0].ArrayElement; value; manual | +| 57 | Summary: java.util; Collection; true; toArray; ; ; Argument[this].Element; ReturnValue.ArrayElement; value; manual | +| 58 | Summary: java.util; Collections; false; addAll; (Collection,Object[]); ; Argument[1].ArrayElement; Argument[0].Element; value; manual | +| 59 | Summary: java.util; Collections; false; checkedCollection; (Collection,Class); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 60 | Summary: java.util; Collections; false; checkedList; (List,Class); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 61 | Summary: java.util; Collections; false; checkedMap; (Map,Class,Class); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 62 | Summary: java.util; Collections; false; checkedMap; (Map,Class,Class); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 63 | Summary: java.util; Collections; false; checkedNavigableMap; (NavigableMap,Class,Class); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 64 | Summary: java.util; Collections; false; checkedNavigableMap; (NavigableMap,Class,Class); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 65 | Summary: java.util; Collections; false; checkedNavigableSet; (NavigableSet,Class); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 66 | Summary: java.util; Collections; false; checkedSet; (Set,Class); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 67 | Summary: java.util; Collections; false; checkedSortedMap; (SortedMap,Class,Class); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 68 | Summary: java.util; Collections; false; checkedSortedMap; (SortedMap,Class,Class); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 69 | Summary: java.util; Collections; false; checkedSortedSet; (SortedSet,Class); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 70 | Summary: java.util; Collections; false; copy; (List,List); ; Argument[1].Element; Argument[0].Element; value; manual | +| 71 | Summary: java.util; Collections; false; enumeration; (Collection); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 72 | Summary: java.util; Collections; false; fill; (List,Object); ; Argument[1]; Argument[0].Element; value; manual | +| 73 | Summary: java.util; Collections; false; list; (Enumeration); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 74 | Summary: java.util; Collections; false; max; ; ; Argument[0].Element; ReturnValue; value; manual | +| 75 | Summary: java.util; Collections; false; min; ; ; Argument[0].Element; ReturnValue; value; manual | +| 76 | Summary: java.util; Collections; false; nCopies; (int,Object); ; Argument[1]; ReturnValue.Element; value; manual | +| 77 | Summary: java.util; Collections; false; replaceAll; (List,Object,Object); ; Argument[2]; Argument[0].Element; value; manual | +| 78 | Summary: java.util; Collections; false; singleton; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 79 | Summary: java.util; Collections; false; singletonList; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 80 | Summary: java.util; Collections; false; singletonMap; (Object,Object); ; Argument[0]; ReturnValue.MapKey; value; manual | +| 81 | Summary: java.util; Collections; false; singletonMap; (Object,Object); ; Argument[1]; ReturnValue.MapValue; value; manual | +| 82 | Summary: java.util; Collections; false; synchronizedCollection; (Collection); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 83 | Summary: java.util; Collections; false; synchronizedList; (List); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 84 | Summary: java.util; Collections; false; synchronizedMap; (Map); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 85 | Summary: java.util; Collections; false; synchronizedMap; (Map); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 86 | Summary: java.util; Collections; false; synchronizedNavigableMap; (NavigableMap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 87 | Summary: java.util; Collections; false; synchronizedNavigableMap; (NavigableMap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 88 | Summary: java.util; Collections; false; synchronizedNavigableSet; (NavigableSet); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 89 | Summary: java.util; Collections; false; synchronizedSet; (Set); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 90 | Summary: java.util; Collections; false; synchronizedSortedMap; (SortedMap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 91 | Summary: java.util; Collections; false; synchronizedSortedMap; (SortedMap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 92 | Summary: java.util; Collections; false; synchronizedSortedSet; (SortedSet); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 93 | Summary: java.util; Collections; false; unmodifiableCollection; (Collection); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 94 | Summary: java.util; Collections; false; unmodifiableList; (List); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 95 | Summary: java.util; Collections; false; unmodifiableMap; (Map); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 96 | Summary: java.util; Collections; false; unmodifiableMap; (Map); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 97 | Summary: java.util; Collections; false; unmodifiableNavigableMap; (NavigableMap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 98 | Summary: java.util; Collections; false; unmodifiableNavigableMap; (NavigableMap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 99 | Summary: java.util; Collections; false; unmodifiableNavigableSet; (NavigableSet); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 100 | Summary: java.util; Collections; false; unmodifiableSequencedCollection; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 101 | Summary: java.util; Collections; false; unmodifiableSequencedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 102 | Summary: java.util; Collections; false; unmodifiableSequencedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 103 | Summary: java.util; Collections; false; unmodifiableSequencedSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 104 | Summary: java.util; Collections; false; unmodifiableSet; (Set); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 105 | Summary: java.util; Collections; false; unmodifiableSortedMap; (SortedMap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 106 | Summary: java.util; Collections; false; unmodifiableSortedMap; (SortedMap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 107 | Summary: java.util; Collections; false; unmodifiableSortedSet; (SortedSet); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 108 | Summary: java.util; Deque; true; addFirst; (Object); ; Argument[0]; Argument[this].Element; value; manual | +| 109 | Summary: java.util; Deque; true; addLast; (Object); ; Argument[0]; Argument[this].Element; value; manual | +| 110 | Summary: java.util; Deque; true; descendingIterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 111 | Summary: java.util; Deque; true; getFirst; (); ; Argument[this].Element; ReturnValue; value; manual | +| 112 | Summary: java.util; Deque; true; getLast; (); ; Argument[this].Element; ReturnValue; value; manual | +| 113 | Summary: java.util; Deque; true; offerFirst; (Object); ; Argument[0]; Argument[this].Element; value; manual | +| 114 | Summary: java.util; Deque; true; offerLast; (Object); ; Argument[0]; Argument[this].Element; value; manual | +| 115 | Summary: java.util; Deque; true; peekFirst; (); ; Argument[this].Element; ReturnValue; value; manual | +| 116 | Summary: java.util; Deque; true; peekLast; (); ; Argument[this].Element; ReturnValue; value; manual | +| 117 | Summary: java.util; Deque; true; pollFirst; (); ; Argument[this].Element; ReturnValue; value; manual | +| 118 | Summary: java.util; Deque; true; pollLast; (); ; Argument[this].Element; ReturnValue; value; manual | +| 119 | Summary: java.util; Deque; true; pop; (); ; Argument[this].Element; ReturnValue; value; manual | +| 120 | Summary: java.util; Deque; true; push; (Object); ; Argument[0]; Argument[this].Element; value; manual | +| 121 | Summary: java.util; Deque; true; removeFirst; (); ; Argument[this].Element; ReturnValue; value; manual | +| 122 | Summary: java.util; Deque; true; removeLast; (); ; Argument[this].Element; ReturnValue; value; manual | +| 123 | Summary: java.util; Dictionary; true; elements; (); ; Argument[this].MapValue; ReturnValue.Element; value; manual | +| 124 | Summary: java.util; Dictionary; true; get; (Object); ; Argument[this].MapValue; ReturnValue; value; manual | +| 125 | Summary: java.util; Dictionary; true; keys; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 126 | Summary: java.util; Dictionary; true; put; (Object,Object); ; Argument[this].MapValue; ReturnValue; value; manual | +| 127 | Summary: java.util; Dictionary; true; put; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 128 | Summary: java.util; Dictionary; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 129 | Summary: java.util; Dictionary; true; remove; (Object); ; Argument[this].MapValue; ReturnValue; value; manual | +| 130 | Summary: java.util; EnumMap; false; EnumMap; (EnumMap); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 131 | Summary: java.util; EnumMap; false; EnumMap; (EnumMap); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 132 | Summary: java.util; EnumMap; false; EnumMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 133 | Summary: java.util; EnumMap; false; EnumMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 134 | Summary: java.util; Enumeration; true; asIterator; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 135 | Summary: java.util; Enumeration; true; nextElement; ; ; Argument[this].Element; ReturnValue; value; manual | +| 136 | Summary: java.util; HashMap; false; HashMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 137 | Summary: java.util; HashMap; false; HashMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 138 | Summary: java.util; HashSet; false; HashSet; (Collection); ; Argument[0].Element; Argument[this].Element; value; manual | +| 139 | Summary: java.util; Hashtable; false; Hashtable; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 140 | Summary: java.util; Hashtable; false; Hashtable; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 141 | Summary: java.util; IdentityHashMap; false; IdentityHashMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 142 | Summary: java.util; IdentityHashMap; false; IdentityHashMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 143 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 144 | Summary: java.util; LinkedHashMap; false; LinkedHashMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 145 | Summary: java.util; LinkedHashMap; false; LinkedHashMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 146 | Summary: java.util; LinkedHashSet; false; LinkedHashSet; (Collection); ; Argument[0].Element; Argument[this].Element; value; manual | +| 147 | Summary: java.util; LinkedList; false; LinkedList; (Collection); ; Argument[0].Element; Argument[this].Element; value; manual | +| 148 | Summary: java.util; List; true; add; (int,Object); ; Argument[1]; Argument[this].Element; value; manual | +| 149 | Summary: java.util; List; true; addAll; (int,Collection); ; Argument[1].WithElement; Argument[this]; value; manual | +| 150 | Summary: java.util; List; true; clear; (); ; Argument[this].WithoutElement; Argument[this]; value; manual | +| 151 | Summary: java.util; List; false; copyOf; (Collection); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 152 | Summary: java.util; List; true; get; (int); ; Argument[this].Element; ReturnValue; value; manual | +| 153 | Summary: java.util; List; true; listIterator; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 154 | Summary: java.util; List; false; of; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 155 | Summary: java.util; List; false; of; (Object,Object); ; Argument[0..1]; ReturnValue.Element; value; manual | +| 156 | Summary: java.util; List; false; of; (Object,Object,Object); ; Argument[0..2]; ReturnValue.Element; value; manual | +| 157 | Summary: java.util; List; false; of; (Object,Object,Object,Object); ; Argument[0..3]; ReturnValue.Element; value; manual | +| 158 | Summary: java.util; List; false; of; (Object,Object,Object,Object,Object); ; Argument[0..4]; ReturnValue.Element; value; manual | +| 159 | Summary: java.util; List; false; of; (Object,Object,Object,Object,Object,Object); ; Argument[0..5]; ReturnValue.Element; value; manual | +| 160 | Summary: java.util; List; false; of; (Object,Object,Object,Object,Object,Object,Object); ; Argument[0..6]; ReturnValue.Element; value; manual | +| 161 | Summary: java.util; List; false; of; (Object,Object,Object,Object,Object,Object,Object,Object); ; Argument[0..7]; ReturnValue.Element; value; manual | +| 162 | Summary: java.util; List; false; of; (Object,Object,Object,Object,Object,Object,Object,Object,Object); ; Argument[0..8]; ReturnValue.Element; value; manual | +| 163 | Summary: java.util; List; false; of; (Object,Object,Object,Object,Object,Object,Object,Object,Object,Object); ; Argument[0..9]; ReturnValue.Element; value; manual | +| 164 | Summary: java.util; List; false; of; (Object[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 165 | Summary: java.util; List; true; remove; (int); ; Argument[this].Element; ReturnValue; value; manual | +| 166 | Summary: java.util; List; true; set; (int,Object); ; Argument[this].Element; ReturnValue; value; manual | +| 167 | Summary: java.util; List; true; set; (int,Object); ; Argument[1]; Argument[this].Element; value; manual | +| 168 | Summary: java.util; List; true; subList; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 169 | Summary: java.util; ListIterator; true; add; (Object); ; Argument[0]; Argument[this].Element; value; manual | +| 170 | Summary: java.util; ListIterator; true; previous; ; ; Argument[this].Element; ReturnValue; value; manual | +| 171 | Summary: java.util; ListIterator; true; set; (Object); ; Argument[0]; Argument[this].Element; value; manual | +| 172 | Summary: java.util; Map; true; computeIfAbsent; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 173 | Summary: java.util; Map; true; computeIfAbsent; ; ; Argument[1].ReturnValue; Argument[this].MapValue; value; manual | +| 174 | Summary: java.util; Map; true; computeIfAbsent; ; ; Argument[1].ReturnValue; ReturnValue; value; manual | +| 175 | Summary: java.util; Map; false; copyOf; (Map); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 176 | Summary: java.util; Map; false; copyOf; (Map); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 177 | Summary: java.util; Map; false; entry; (Object,Object); ; Argument[0]; ReturnValue.MapKey; value; manual | +| 178 | Summary: java.util; Map; false; entry; (Object,Object); ; Argument[1]; ReturnValue.MapValue; value; manual | +| 179 | Summary: java.util; Map; true; entrySet; ; ; Argument[this].MapKey; ReturnValue.Element.MapKey; value; manual | +| 180 | Summary: java.util; Map; true; entrySet; ; ; Argument[this].MapValue; ReturnValue.Element.MapValue; value; manual | +| 181 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 182 | Summary: java.util; Map; true; getOrDefault; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 183 | Summary: java.util; Map; true; getOrDefault; ; ; Argument[1]; ReturnValue; value; manual | +| 184 | Summary: java.util; Map; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 185 | Summary: java.util; Map; true; merge; (Object,Object,BiFunction); ; Argument[1]; Argument[this].MapValue; value; manual | +| 186 | Summary: java.util; Map; false; of; ; ; Argument[0]; ReturnValue.MapKey; value; manual | +| 187 | Summary: java.util; Map; false; of; ; ; Argument[10]; ReturnValue.MapKey; value; manual | +| 188 | Summary: java.util; Map; false; of; ; ; Argument[11]; ReturnValue.MapValue; value; manual | +| 189 | Summary: java.util; Map; false; of; ; ; Argument[12]; ReturnValue.MapKey; value; manual | +| 190 | Summary: java.util; Map; false; of; ; ; Argument[13]; ReturnValue.MapValue; value; manual | +| 191 | Summary: java.util; Map; false; of; ; ; Argument[14]; ReturnValue.MapKey; value; manual | +| 192 | Summary: java.util; Map; false; of; ; ; Argument[15]; ReturnValue.MapValue; value; manual | +| 193 | Summary: java.util; Map; false; of; ; ; Argument[16]; ReturnValue.MapKey; value; manual | +| 194 | Summary: java.util; Map; false; of; ; ; Argument[17]; ReturnValue.MapValue; value; manual | +| 195 | Summary: java.util; Map; false; of; ; ; Argument[18]; ReturnValue.MapKey; value; manual | +| 196 | Summary: java.util; Map; false; of; ; ; Argument[19]; ReturnValue.MapValue; value; manual | +| 197 | Summary: java.util; Map; false; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual | +| 198 | Summary: java.util; Map; false; of; ; ; Argument[2]; ReturnValue.MapKey; value; manual | +| 199 | Summary: java.util; Map; false; of; ; ; Argument[3]; ReturnValue.MapValue; value; manual | +| 200 | Summary: java.util; Map; false; of; ; ; Argument[4]; ReturnValue.MapKey; value; manual | +| 201 | Summary: java.util; Map; false; of; ; ; Argument[5]; ReturnValue.MapValue; value; manual | +| 202 | Summary: java.util; Map; false; of; ; ; Argument[6]; ReturnValue.MapKey; value; manual | +| 203 | Summary: java.util; Map; false; of; ; ; Argument[7]; ReturnValue.MapValue; value; manual | +| 204 | Summary: java.util; Map; false; of; ; ; Argument[8]; ReturnValue.MapKey; value; manual | +| 205 | Summary: java.util; Map; false; of; ; ; Argument[9]; ReturnValue.MapValue; value; manual | +| 206 | Summary: java.util; Map; false; ofEntries; ; ; Argument[0].ArrayElement.MapKey; ReturnValue.MapKey; value; manual | +| 207 | Summary: java.util; Map; false; ofEntries; ; ; Argument[0].ArrayElement.MapValue; ReturnValue.MapValue; value; manual | +| 208 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[this].MapValue; ReturnValue; value; manual | +| 209 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 210 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 211 | Summary: java.util; Map; true; putAll; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 212 | Summary: java.util; Map; true; putAll; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 213 | Summary: java.util; Map; true; putIfAbsent; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 214 | Summary: java.util; Map; true; putIfAbsent; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 215 | Summary: java.util; Map; true; putIfAbsent; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 216 | Summary: java.util; Map; true; remove; (Object); ; Argument[this].MapValue; ReturnValue; value; manual | +| 217 | Summary: java.util; Map; true; replace; (Object,Object); ; Argument[this].MapValue; ReturnValue; value; manual | +| 218 | Summary: java.util; Map; true; replace; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 219 | Summary: java.util; Map; true; replace; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 220 | Summary: java.util; Map; true; replace; (Object,Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 221 | Summary: java.util; Map; true; replace; (Object,Object,Object); ; Argument[2]; Argument[this].MapValue; value; manual | +| 222 | Summary: java.util; Map; true; values; (); ; Argument[this].MapValue; ReturnValue.Element; value; manual | +| 223 | Summary: java.util; Map$Entry; true; getKey; ; ; Argument[this].MapKey; ReturnValue; value; manual | +| 224 | Summary: java.util; Map$Entry; true; getValue; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 225 | Summary: java.util; Map$Entry; true; setValue; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 226 | Summary: java.util; Map$Entry; true; setValue; ; ; Argument[0]; Argument[this].MapValue; value; manual | +| 227 | Summary: java.util; NavigableMap; true; ceilingEntry; (Object); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 228 | Summary: java.util; NavigableMap; true; ceilingEntry; (Object); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 229 | Summary: java.util; NavigableMap; true; descendingMap; (); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 230 | Summary: java.util; NavigableMap; true; descendingMap; (); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 231 | Summary: java.util; NavigableMap; true; firstEntry; (); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 232 | Summary: java.util; NavigableMap; true; firstEntry; (); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 233 | Summary: java.util; NavigableMap; true; floorEntry; (Object); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 234 | Summary: java.util; NavigableMap; true; floorEntry; (Object); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 235 | Summary: java.util; NavigableMap; true; headMap; (Object,boolean); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 236 | Summary: java.util; NavigableMap; true; headMap; (Object,boolean); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 237 | Summary: java.util; NavigableMap; true; higherEntry; (Object); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 238 | Summary: java.util; NavigableMap; true; higherEntry; (Object); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 239 | Summary: java.util; NavigableMap; true; lastEntry; (); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 240 | Summary: java.util; NavigableMap; true; lastEntry; (); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 241 | Summary: java.util; NavigableMap; true; lowerEntry; (Object); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 242 | Summary: java.util; NavigableMap; true; lowerEntry; (Object); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 243 | Summary: java.util; NavigableMap; true; pollFirstEntry; (); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 244 | Summary: java.util; NavigableMap; true; pollFirstEntry; (); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 245 | Summary: java.util; NavigableMap; true; pollLastEntry; (); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 246 | Summary: java.util; NavigableMap; true; pollLastEntry; (); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 247 | Summary: java.util; NavigableMap; true; subMap; (Object,boolean,Object,boolean); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 248 | Summary: java.util; NavigableMap; true; subMap; (Object,boolean,Object,boolean); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 249 | Summary: java.util; NavigableMap; true; tailMap; (Object,boolean); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 250 | Summary: java.util; NavigableMap; true; tailMap; (Object,boolean); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 251 | Summary: java.util; NavigableSet; true; ceiling; (Object); ; Argument[this].Element; ReturnValue; value; manual | +| 252 | Summary: java.util; NavigableSet; true; descendingIterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 253 | Summary: java.util; NavigableSet; true; descendingSet; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 254 | Summary: java.util; NavigableSet; true; floor; (Object); ; Argument[this].Element; ReturnValue; value; manual | +| 255 | Summary: java.util; NavigableSet; true; headSet; (Object,boolean); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 256 | Summary: java.util; NavigableSet; true; higher; (Object); ; Argument[this].Element; ReturnValue; value; manual | +| 257 | Summary: java.util; NavigableSet; true; lower; (Object); ; Argument[this].Element; ReturnValue; value; manual | +| 258 | Summary: java.util; NavigableSet; true; pollFirst; (); ; Argument[this].Element; ReturnValue; value; manual | +| 259 | Summary: java.util; NavigableSet; true; pollLast; (); ; Argument[this].Element; ReturnValue; value; manual | +| 260 | Summary: java.util; NavigableSet; true; subSet; (Object,boolean,Object,boolean); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 261 | Summary: java.util; NavigableSet; true; tailSet; (Object,boolean); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 262 | Summary: java.util; PriorityQueue; false; PriorityQueue; (Collection); ; Argument[0].Element; Argument[this].Element; value; manual | +| 263 | Summary: java.util; PriorityQueue; false; PriorityQueue; (PriorityQueue); ; Argument[0].Element; Argument[this].Element; value; manual | +| 264 | Summary: java.util; PriorityQueue; false; PriorityQueue; (SortedSet); ; Argument[0].Element; Argument[this].Element; value; manual | +| 265 | Summary: java.util; Queue; true; element; (); ; Argument[this].Element; ReturnValue; value; manual | +| 266 | Summary: java.util; Queue; true; offer; (Object); ; Argument[0]; Argument[this].Element; value; manual | +| 267 | Summary: java.util; Queue; true; peek; (); ; Argument[this].Element; ReturnValue; value; manual | +| 268 | Summary: java.util; Queue; true; poll; (); ; Argument[this].Element; ReturnValue; value; manual | +| 269 | Summary: java.util; Queue; true; remove; (); ; Argument[this].Element; ReturnValue; value; manual | +| 270 | Summary: java.util; SequencedCollection; true; addFirst; ; ; Argument[0]; Argument[this].Element; value; manual | +| 271 | Summary: java.util; SequencedCollection; true; addLast; ; ; Argument[0]; Argument[this].Element; value; manual | +| 272 | Summary: java.util; SequencedCollection; true; getFirst; ; ; Argument[this].Element; ReturnValue; value; manual | +| 273 | Summary: java.util; SequencedCollection; true; getLast; ; ; Argument[this].Element; ReturnValue; value; manual | +| 274 | Summary: java.util; SequencedCollection; true; removeFirst; ; ; Argument[this].Element; ReturnValue; value; manual | +| 275 | Summary: java.util; SequencedCollection; true; removeLast; ; ; Argument[this].Element; ReturnValue; value; manual | +| 276 | Summary: java.util; SequencedCollection; true; reversed; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 277 | Summary: java.util; SequencedMap; true; firstEntry; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 278 | Summary: java.util; SequencedMap; true; firstEntry; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 279 | Summary: java.util; SequencedMap; true; lastEntry; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 280 | Summary: java.util; SequencedMap; true; lastEntry; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 281 | Summary: java.util; SequencedMap; true; pollFirstEntry; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 282 | Summary: java.util; SequencedMap; true; pollFirstEntry; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 283 | Summary: java.util; SequencedMap; true; pollLastEntry; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 284 | Summary: java.util; SequencedMap; true; pollLastEntry; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 285 | Summary: java.util; SequencedMap; true; putFirst; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 286 | Summary: java.util; SequencedMap; true; putFirst; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 287 | Summary: java.util; SequencedMap; true; putFirst; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 288 | Summary: java.util; SequencedMap; true; putLast; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 289 | Summary: java.util; SequencedMap; true; putLast; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 290 | Summary: java.util; SequencedMap; true; putLast; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 291 | Summary: java.util; SequencedMap; true; reversed; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 292 | Summary: java.util; SequencedMap; true; reversed; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 293 | Summary: java.util; SequencedMap; true; sequencedEntrySet; ; ; Argument[this].MapKey; ReturnValue.Element.MapKey; value; manual | +| 294 | Summary: java.util; SequencedMap; true; sequencedEntrySet; ; ; Argument[this].MapValue; ReturnValue.Element.MapValue; value; manual | +| 295 | Summary: java.util; SequencedMap; true; sequencedKeySet; ; ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 296 | Summary: java.util; SequencedMap; true; sequencedValues; ; ; Argument[this].MapValue; ReturnValue.Element; value; manual | +| 297 | Summary: java.util; SequencedSet; true; reversed; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 298 | Summary: java.util; Set; false; copyOf; (Collection); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 299 | Summary: java.util; Set; false; clear; (); ; Argument[this].WithoutElement; Argument[this]; value; manual | +| 300 | Summary: java.util; Set; false; of; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 301 | Summary: java.util; Set; false; of; (Object,Object); ; Argument[0..1]; ReturnValue.Element; value; manual | +| 302 | Summary: java.util; Set; false; of; (Object,Object,Object); ; Argument[0..2]; ReturnValue.Element; value; manual | +| 303 | Summary: java.util; Set; false; of; (Object,Object,Object,Object); ; Argument[0..3]; ReturnValue.Element; value; manual | +| 304 | Summary: java.util; Set; false; of; (Object,Object,Object,Object,Object); ; Argument[0..4]; ReturnValue.Element; value; manual | +| 305 | Summary: java.util; Set; false; of; (Object,Object,Object,Object,Object,Object); ; Argument[0..5]; ReturnValue.Element; value; manual | +| 306 | Summary: java.util; Set; false; of; (Object,Object,Object,Object,Object,Object,Object); ; Argument[0..6]; ReturnValue.Element; value; manual | +| 307 | Summary: java.util; Set; false; of; (Object,Object,Object,Object,Object,Object,Object,Object); ; Argument[0..7]; ReturnValue.Element; value; manual | +| 308 | Summary: java.util; Set; false; of; (Object,Object,Object,Object,Object,Object,Object,Object,Object); ; Argument[0..8]; ReturnValue.Element; value; manual | +| 309 | Summary: java.util; Set; false; of; (Object,Object,Object,Object,Object,Object,Object,Object,Object,Object); ; Argument[0..9]; ReturnValue.Element; value; manual | +| 310 | Summary: java.util; Set; false; of; (Object[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 311 | Summary: java.util; SortedMap; true; headMap; (Object); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 312 | Summary: java.util; SortedMap; true; headMap; (Object); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 313 | Summary: java.util; SortedMap; true; subMap; (Object,Object); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 314 | Summary: java.util; SortedMap; true; subMap; (Object,Object); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 315 | Summary: java.util; SortedMap; true; tailMap; (Object); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 316 | Summary: java.util; SortedMap; true; tailMap; (Object); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 317 | Summary: java.util; SortedSet; true; first; (); ; Argument[this].Element; ReturnValue; value; manual | +| 318 | Summary: java.util; SortedSet; true; headSet; (Object); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 319 | Summary: java.util; SortedSet; true; last; (); ; Argument[this].Element; ReturnValue; value; manual | +| 320 | Summary: java.util; SortedSet; true; subSet; (Object,Object); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 321 | Summary: java.util; SortedSet; true; tailSet; (Object); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 322 | Summary: java.util; Stack; true; peek; (); ; Argument[this].Element; ReturnValue; value; manual | +| 323 | Summary: java.util; Stack; true; pop; (); ; Argument[this].Element; ReturnValue; value; manual | +| 324 | Summary: java.util; Stack; true; push; (Object); ; Argument[0]; Argument[this].Element; value; manual | +| 325 | Summary: java.util; TreeMap; false; TreeMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 326 | Summary: java.util; TreeMap; false; TreeMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 327 | Summary: java.util; TreeMap; false; TreeMap; (SortedMap); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 328 | Summary: java.util; TreeMap; false; TreeMap; (SortedMap); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 329 | Summary: java.util; TreeSet; false; TreeSet; (Collection); ; Argument[0].Element; Argument[this].Element; value; manual | +| 330 | Summary: java.util; TreeSet; false; TreeSet; (SortedSet); ; Argument[0].Element; Argument[this].Element; value; manual | +| 331 | Summary: java.util; Vector; false; Vector; (Collection); ; Argument[0].Element; Argument[this].Element; value; manual | +| 332 | Summary: java.util; Vector; true; addElement; (Object); ; Argument[0]; Argument[this].Element; value; manual | +| 333 | Summary: java.util; Vector; true; copyInto; (Object[]); ; Argument[this].Element; Argument[0].ArrayElement; value; manual | +| 334 | Summary: java.util; Vector; true; elementAt; (int); ; Argument[this].Element; ReturnValue; value; manual | +| 335 | Summary: java.util; Vector; true; elements; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 336 | Summary: java.util; Vector; true; firstElement; (); ; Argument[this].Element; ReturnValue; value; manual | +| 337 | Summary: java.util; Vector; true; insertElementAt; (Object,int); ; Argument[0]; Argument[this].Element; value; manual | +| 338 | Summary: java.util; Vector; true; lastElement; (); ; Argument[this].Element; ReturnValue; value; manual | +| 339 | Summary: java.util; Vector; true; setElementAt; (Object,int); ; Argument[0]; Argument[this].Element; value; manual | +| 340 | Summary: java.util; WeakHashMap; false; WeakHashMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 341 | Summary: java.util; WeakHashMap; false; WeakHashMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 342 | Summary: ; B; false; readElement; (Spliterator); ; Argument[0].Element; ReturnValue; value; manual | +| 343 | Summary: ; B; false; readElement; (Stream); ; Argument[0].Element; ReturnValue; value; manual | +edges +| B.java:11:37:11:46 | obj : Map [] : Object | B.java:11:72:11:74 | obj : Map [] : Object | provenance | | +| B.java:11:37:11:46 | obj : Object | B.java:11:72:11:74 | obj : Object | provenance | | +| B.java:11:37:11:46 | obj : TreeMap [] : Object | B.java:11:72:11:74 | obj : TreeMap [] : Object | provenance | | +| B.java:11:58:11:75 | {...} : Object[] [[], ] : Object | B.java:11:58:11:75 | new Object[] : Object[] [[], ] : Object | provenance | | +| B.java:11:58:11:75 | {...} : Object[] [[], ] : Object | B.java:11:58:11:75 | new Object[] : Object[] [[], ] : Object | provenance | | +| B.java:11:58:11:75 | {...} : Object[] [[]] : Object | B.java:11:58:11:75 | new Object[] : Object[] [[]] : Object | provenance | | +| B.java:11:72:11:74 | obj : Map [] : Object | B.java:11:58:11:75 | {...} : Object[] [[], ] : Object | provenance | | +| B.java:11:72:11:74 | obj : Object | B.java:11:58:11:75 | {...} : Object[] [[]] : Object | provenance | | +| B.java:11:72:11:74 | obj : TreeMap [] : Object | B.java:11:58:11:75 | {...} : Object[] [[], ] : Object | provenance | | +| B.java:14:34:14:45 | obj : Object[] [[]] : Object | B.java:14:57:14:59 | obj : Object[] [[]] : Object | provenance | | +| B.java:14:57:14:59 | obj : Object[] [[]] : Object | B.java:14:57:14:62 | ...[...] : Object | provenance | | +| B.java:15:35:15:47 | obj : boolean[] [[]] : Boolean | B.java:15:59:15:61 | obj : boolean[] [[]] : Boolean | provenance | | +| B.java:15:59:15:61 | obj : boolean[] [[]] : Boolean | B.java:15:59:15:64 | ...[...] : Boolean | provenance | | +| B.java:16:32:16:41 | obj : byte[] [[]] : Number | B.java:16:53:16:55 | obj : byte[] [[]] : Number | provenance | | +| B.java:16:53:16:55 | obj : byte[] [[]] : Number | B.java:16:53:16:58 | ...[...] : Number | provenance | | +| B.java:17:32:17:41 | obj : char[] [[]] : Number | B.java:17:53:17:55 | obj : char[] [[]] : Number | provenance | | +| B.java:17:53:17:55 | obj : char[] [[]] : Number | B.java:17:53:17:58 | ...[...] : Number | provenance | | +| B.java:18:33:18:43 | obj : short[] [[]] : Number | B.java:18:55:18:57 | obj : short[] [[]] : Number | provenance | | +| B.java:18:55:18:57 | obj : short[] [[]] : Number | B.java:18:55:18:60 | ...[...] : Number | provenance | | +| B.java:19:31:19:39 | obj : int[] [[]] : Number | B.java:19:51:19:53 | obj : int[] [[]] : Number | provenance | | +| B.java:19:51:19:53 | obj : int[] [[]] : Number | B.java:19:51:19:56 | ...[...] : Number | provenance | | +| B.java:20:32:20:41 | obj : long[] [[]] : Number | B.java:20:53:20:55 | obj : long[] [[]] : Number | provenance | | +| B.java:20:53:20:55 | obj : long[] [[]] : Number | B.java:20:53:20:58 | ...[...] : Number | provenance | | +| B.java:21:33:21:43 | obj : float[] [[]] : Number | B.java:21:55:21:57 | obj : float[] [[]] : Number | provenance | | +| B.java:21:55:21:57 | obj : float[] [[]] : Number | B.java:21:55:21:60 | ...[...] : Number | provenance | | +| B.java:22:34:22:45 | obj : double[] [[]] : Number | B.java:22:57:22:59 | obj : double[] [[]] : Number | provenance | | +| B.java:22:57:22:59 | obj : double[] [[]] : Number | B.java:22:57:22:62 | ...[...] : Number | provenance | | +| B.java:24:39:24:43 | obj : Object | B.java:24:63:24:65 | obj : Object | provenance | | +| B.java:24:63:24:65 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | provenance | MaD:154 | +| B.java:25:53:25:57 | obj : Object | B.java:25:98:25:100 | obj : Object | provenance | | +| B.java:25:92:25:92 | v [post update] : Vector [] : Object | B.java:25:111:25:111 | v : Vector [] : Object | provenance | | +| B.java:25:98:25:100 | obj : Object | B.java:25:92:25:92 | v [post update] : Vector [] : Object | provenance | MaD:52 | +| B.java:25:111:25:111 | v : Vector [] : Object | B.java:25:111:25:122 | elements(...) : Enumeration [] : Object | provenance | MaD:335 | +| B.java:26:49:26:53 | obj : Object | B.java:26:96:26:98 | obj : Object | provenance | | +| B.java:26:90:26:90 | s [post update] : TreeSet [] : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | provenance | | +| B.java:26:96:26:98 | obj : Object | B.java:26:90:26:90 | s [post update] : TreeSet [] : Object | provenance | MaD:52 | +| B.java:27:41:27:45 | obj : Object | B.java:27:85:27:87 | obj : Object | provenance | | +| B.java:27:78:27:78 | s [post update] : Stack [] : Object | B.java:27:98:27:98 | s : Stack [] : Object | provenance | | +| B.java:27:85:27:87 | obj : Object | B.java:27:78:27:78 | s [post update] : Stack [] : Object | provenance | MaD:324 | +| B.java:28:57:28:61 | obj : Object | B.java:28:128:28:130 | obj : Object | provenance | | +| B.java:28:122:28:122 | q [post update] : LinkedBlockingDeque [] : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | provenance | | +| B.java:28:128:28:130 | obj : Object | B.java:28:122:28:122 | q [post update] : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:29:55:29:59 | obj : Object | B.java:29:79:29:81 | obj : Object | provenance | | +| B.java:29:71:29:82 | of(...) : List [] : Object | B.java:29:71:29:97 | listIterator(...) : ListIterator [] : Object | provenance | MaD:153 | +| B.java:29:79:29:81 | obj : Object | B.java:29:71:29:82 | of(...) : List [] : Object | provenance | MaD:154 | +| B.java:31:28:31:42 | obj : ArrayList [] : Object | B.java:31:54:31:56 | obj : ArrayList [] : Object | provenance | | +| B.java:31:28:31:42 | obj : BlockingDeque [] : Object | B.java:31:54:31:56 | obj : BlockingDeque [] : Object | provenance | | +| B.java:31:28:31:42 | obj : BlockingQueue [] : Object | B.java:31:54:31:56 | obj : BlockingQueue [] : Object | provenance | | +| B.java:31:28:31:42 | obj : Collection [] : Object | B.java:31:54:31:56 | obj : Collection [] : Object | provenance | | +| B.java:31:28:31:42 | obj : Deque [] : Object | B.java:31:54:31:56 | obj : Deque [] : Object | provenance | | +| B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:56 | obj : List [] : Object | provenance | | +| B.java:31:28:31:42 | obj : NavigableSet [] : Object | B.java:31:54:31:56 | obj : NavigableSet [] : Object | provenance | | +| B.java:31:28:31:42 | obj : Queue [] : Object | B.java:31:54:31:56 | obj : Queue [] : Object | provenance | | +| B.java:31:28:31:42 | obj : SequencedCollection [] : Object | B.java:31:54:31:56 | obj : SequencedCollection [] : Object | provenance | | +| B.java:31:28:31:42 | obj : SequencedSet [] : Object | B.java:31:54:31:56 | obj : SequencedSet [] : Object | provenance | | +| B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:56 | obj : Set [] : Object | provenance | | +| B.java:31:28:31:42 | obj : SortedSet [] : Object | B.java:31:54:31:56 | obj : SortedSet [] : Object | provenance | | +| B.java:31:28:31:42 | obj : Stack [] : Object | B.java:31:54:31:56 | obj : Stack [] : Object | provenance | | +| B.java:31:28:31:42 | obj : TransferQueue [] : Object | B.java:31:54:31:56 | obj : TransferQueue [] : Object | provenance | | +| B.java:31:28:31:42 | obj : Vector [] : Object | B.java:31:54:31:56 | obj : Vector [] : Object | provenance | | +| B.java:31:54:31:56 | obj : ArrayList [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : BlockingDeque [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : BlockingQueue [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : Collection [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : Deque [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : List [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : NavigableSet [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : Queue [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : SequencedCollection [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : SequencedSet [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : Set [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : SortedSet [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : Stack [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : TransferQueue [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : Vector [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | +| B.java:32:28:32:42 | obj : Iterator [] : Object | B.java:32:54:32:56 | obj : Iterator [] : Object | provenance | | +| B.java:32:28:32:42 | obj : ListIterator [] : Object | B.java:32:54:32:56 | obj : ListIterator [] : Object | provenance | | +| B.java:32:54:32:56 | obj : Iterator [] : Object | B.java:32:54:32:63 | next(...) : Object | provenance | MaD:143 | +| B.java:32:54:32:56 | obj : ListIterator [] : Object | B.java:32:54:32:63 | next(...) : Object | provenance | MaD:143 | +| B.java:35:28:35:45 | obj : Enumeration [] : Object | B.java:35:57:35:59 | obj : Enumeration [] : Object | provenance | | +| B.java:35:57:35:59 | obj : Enumeration [] : Object | B.java:35:57:35:73 | nextElement(...) : Object | provenance | MaD:135 | +| B.java:37:48:37:52 | obj : Object | B.java:37:74:37:76 | obj : Object | provenance | | +| B.java:37:74:37:76 | obj : Object | B.java:37:64:37:82 | entry(...) : Entry [] : Object | provenance | MaD:177 | +| B.java:38:37:38:41 | obj : Object | B.java:38:85:38:87 | obj : Object | provenance | | +| B.java:38:79:38:79 | m [post update] : TreeMap [] : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | provenance | | +| B.java:38:85:38:87 | obj : Object | B.java:38:79:38:79 | m [post update] : TreeMap [] : Object | provenance | MaD:209 | +| B.java:40:50:40:54 | obj : Object | B.java:40:81:40:83 | obj : Object | provenance | | +| B.java:40:81:40:83 | obj : Object | B.java:40:66:40:84 | entry(...) : Entry [] : Object | provenance | MaD:178 | +| B.java:41:39:41:43 | obj : Object | B.java:41:126:41:128 | obj : Object | provenance | | +| B.java:41:115:41:115 | m [post update] : Map [] : Object | B.java:41:139:41:139 | m : Map [] : Object | provenance | | +| B.java:41:126:41:128 | obj : Object | B.java:41:115:41:115 | m [post update] : Map [] : Object | provenance | MaD:210 | +| B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:60 | obj : Entry [] : Object | provenance | | +| B.java:43:58:43:60 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | provenance | MaD:223 | +| B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:54 | obj : Map [] : Object | provenance | | +| B.java:44:29:44:40 | obj : NavigableMap [] : Object | B.java:44:52:44:54 | obj : NavigableMap [] : Object | provenance | | +| B.java:44:29:44:40 | obj : SequencedMap [] : Object | B.java:44:52:44:54 | obj : SequencedMap [] : Object | provenance | | +| B.java:44:29:44:40 | obj : SortedMap [] : Object | B.java:44:52:44:54 | obj : SortedMap [] : Object | provenance | | +| B.java:44:52:44:54 | obj : Map [] : Object | B.java:44:52:44:63 | keySet(...) : Set [] : Object | provenance | MaD:184 | +| B.java:44:52:44:54 | obj : NavigableMap [] : Object | B.java:44:52:44:63 | keySet(...) : Set [] : Object | provenance | MaD:184 | +| B.java:44:52:44:54 | obj : SequencedMap [] : Object | B.java:44:52:44:63 | keySet(...) : Set [] : Object | provenance | MaD:184 | +| B.java:44:52:44:54 | obj : SortedMap [] : Object | B.java:44:52:44:63 | keySet(...) : Set [] : Object | provenance | MaD:184 | +| B.java:44:52:44:63 | keySet(...) : Set [] : Object | B.java:44:52:44:74 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:44:52:44:63 | keySet(...) : Set [] : Object | B.java:44:52:44:74 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:44:52:44:63 | keySet(...) : Set [] : Object | B.java:44:52:44:74 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:44:52:44:63 | keySet(...) : Set [] : Object | B.java:44:52:44:74 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:44:52:44:74 | iterator(...) : Iterator [] : Object | B.java:44:52:44:81 | next(...) : Object | provenance | MaD:143 | +| B.java:44:52:44:74 | iterator(...) : Iterator [] : Object | B.java:44:52:44:81 | next(...) : Object | provenance | MaD:143 | +| B.java:44:52:44:74 | iterator(...) : Iterator [] : Object | B.java:44:52:44:81 | next(...) : Object | provenance | MaD:143 | +| B.java:44:52:44:74 | iterator(...) : Iterator [] : Object | B.java:44:52:44:81 | next(...) : Object | provenance | MaD:143 | +| B.java:45:29:45:47 | obj : Dictionary [] : Object | B.java:45:59:45:61 | obj : Dictionary [] : Object | provenance | | +| B.java:45:59:45:61 | obj : Dictionary [] : Object | B.java:45:59:45:68 | keys(...) : Enumeration [] : Object | provenance | MaD:125 | +| B.java:45:59:45:68 | keys(...) : Enumeration [] : Object | B.java:45:59:45:82 | nextElement(...) : Object | provenance | MaD:135 | +| B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:62 | obj : Entry [] : Object | provenance | | +| B.java:47:60:47:62 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | provenance | MaD:224 | +| B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:56 | obj : Map [] : Object | provenance | | +| B.java:48:31:48:42 | obj : NavigableMap [] : Object | B.java:48:54:48:56 | obj : NavigableMap [] : Object | provenance | | +| B.java:48:31:48:42 | obj : SequencedMap [] : Object | B.java:48:54:48:56 | obj : SequencedMap [] : Object | provenance | | +| B.java:48:31:48:42 | obj : SortedMap [] : Object | B.java:48:54:48:56 | obj : SortedMap [] : Object | provenance | | +| B.java:48:54:48:56 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | provenance | MaD:181 | +| B.java:48:54:48:56 | obj : NavigableMap [] : Object | B.java:48:54:48:66 | get(...) : Object | provenance | MaD:181 | +| B.java:48:54:48:56 | obj : SequencedMap [] : Object | B.java:48:54:48:66 | get(...) : Object | provenance | MaD:181 | +| B.java:48:54:48:56 | obj : SortedMap [] : Object | B.java:48:54:48:66 | get(...) : Object | provenance | MaD:181 | +| B.java:49:31:49:49 | obj : Dictionary [] : Object | B.java:49:61:49:63 | obj : Dictionary [] : Object | provenance | | +| B.java:49:61:49:63 | obj : Dictionary [] : Object | B.java:49:61:49:73 | get(...) : Object | provenance | MaD:124 | +| B.java:55:19:55:44 | storeMapKeyEntry(...) : Entry [] : Object | B.java:55:54:55:66 | (...)... : Entry [] : Object | provenance | | +| B.java:55:36:55:43 | source(...) : Object | B.java:37:48:37:52 | obj : Object | provenance | | +| B.java:55:36:55:43 | source(...) : Object | B.java:55:19:55:44 | storeMapKeyEntry(...) : Entry [] : Object | provenance | MaD:177 | +| B.java:55:53:55:76 | getKey(...) : Object | B.java:55:84:55:86 | out | provenance | | +| B.java:55:54:55:66 | (...)... : Entry [] : Object | B.java:55:53:55:76 | getKey(...) : Object | provenance | MaD:223 | +| B.java:60:19:60:46 | storeMapValueEntry(...) : Entry [] : Object | B.java:60:56:60:68 | (...)... : Entry [] : Object | provenance | | +| B.java:60:38:60:45 | source(...) : Object | B.java:40:50:40:54 | obj : Object | provenance | | +| B.java:60:38:60:45 | source(...) : Object | B.java:60:19:60:46 | storeMapValueEntry(...) : Entry [] : Object | provenance | MaD:178 | +| B.java:60:55:60:80 | getValue(...) : Object | B.java:60:88:60:90 | out | provenance | | +| B.java:60:56:60:68 | (...)... : Entry [] : Object | B.java:60:55:60:80 | getValue(...) : Object | provenance | MaD:224 | +| B.java:65:19:65:46 | storeMapValueEntry(...) : Entry [] : Object | B.java:65:56:65:68 | (...)... : Entry [] : Object | provenance | | +| B.java:65:38:65:45 | source(...) : Object | B.java:40:50:40:54 | obj : Object | provenance | | +| B.java:65:38:65:45 | source(...) : Object | B.java:65:19:65:46 | storeMapValueEntry(...) : Entry [] : Object | provenance | MaD:178 | +| B.java:65:55:65:84 | setValue(...) : Object | B.java:65:92:65:94 | out | provenance | | +| B.java:65:56:65:68 | (...)... : Entry [] : Object | B.java:65:55:65:84 | setValue(...) : Object | provenance | MaD:225 | +| B.java:70:19:70:26 | source(...) : Object | B.java:70:42:70:43 | in : Object | provenance | | +| B.java:70:29:70:31 | out [post update] : Entry [] : Object | B.java:70:65:70:67 | out : Entry [] : Object | provenance | | +| B.java:70:42:70:43 | in : Object | B.java:70:29:70:31 | out [post update] : Entry [] : Object | provenance | MaD:226 | +| B.java:70:65:70:67 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | +| B.java:70:65:70:67 | out : Entry [] : Object | B.java:70:52:70:68 | readMapValue(...) | provenance | MaD:224 | +| B.java:75:21:75:46 | storeElementList(...) : List [] : Object | B.java:75:55:75:56 | in : List [] : Object | provenance | | +| B.java:75:38:75:45 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:75:38:75:45 | source(...) : Object | B.java:75:21:75:46 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:75:55:75:56 | in : List [] : Object | B.java:75:55:75:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:75:55:75:67 | iterator(...) : Iterator [] : Object | B.java:75:87:75:89 | out : Iterator [] : Object | provenance | | +| B.java:75:87:75:89 | out : Iterator [] : Object | B.java:32:28:32:42 | obj : Iterator [] : Object | provenance | | +| B.java:75:87:75:89 | out : Iterator [] : Object | B.java:75:75:75:90 | readElement(...) | provenance | MaD:143 | +| B.java:80:21:80:46 | storeElementList(...) : List [] : Object | B.java:80:55:80:56 | in : List [] : Object | provenance | | +| B.java:80:38:80:45 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:80:38:80:45 | source(...) : Object | B.java:80:21:80:46 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:80:55:80:56 | in : List [] : Object | B.java:80:55:80:70 | spliterator(...) : Spliterator [] : Object | provenance | MaD:2 | +| B.java:80:55:80:70 | spliterator(...) : Spliterator [] : Object | B.java:80:90:80:92 | out : Spliterator [] : Object | provenance | | +| B.java:80:90:80:92 | out : Spliterator [] : Object | B.java:80:78:80:93 | readElement(...) | provenance | MaD:342 | +| B.java:85:21:85:54 | storeElementListIterator(...) : ListIterator [] : Object | B.java:85:63:85:64 | in : ListIterator [] : Object | provenance | | +| B.java:85:46:85:53 | source(...) : Object | B.java:29:55:29:59 | obj : Object | provenance | | +| B.java:85:46:85:53 | source(...) : Object | B.java:85:21:85:54 | storeElementListIterator(...) : ListIterator [] : Object | provenance | MaD:154 | +| B.java:85:63:85:64 | in : ListIterator [] : Object | B.java:85:63:85:71 | next(...) : Object | provenance | MaD:143 | +| B.java:85:63:85:71 | next(...) : Object | B.java:85:79:85:81 | out | provenance | | +| B.java:90:25:90:58 | storeElementListIterator(...) : ListIterator [] : Object | B.java:90:67:90:68 | in : ListIterator [] : Object | provenance | | +| B.java:90:50:90:57 | source(...) : Object | B.java:29:55:29:59 | obj : Object | provenance | | +| B.java:90:50:90:57 | source(...) : Object | B.java:90:25:90:58 | storeElementListIterator(...) : ListIterator [] : Object | provenance | MaD:154 | +| B.java:90:67:90:68 | in : ListIterator [] : Object | B.java:90:67:90:79 | previous(...) : Object | provenance | MaD:170 | +| B.java:90:67:90:79 | previous(...) : Object | B.java:90:87:90:89 | out | provenance | | +| B.java:95:19:95:26 | source(...) : Object | B.java:95:37:95:38 | in : Object | provenance | | +| B.java:95:29:95:31 | out [post update] : ListIterator [] : Object | B.java:95:59:95:61 | out : ListIterator [] : Object | provenance | | +| B.java:95:37:95:38 | in : Object | B.java:95:29:95:31 | out [post update] : ListIterator [] : Object | provenance | MaD:169 | +| B.java:95:59:95:61 | out : ListIterator [] : Object | B.java:32:28:32:42 | obj : ListIterator [] : Object | provenance | | +| B.java:95:59:95:61 | out : ListIterator [] : Object | B.java:95:47:95:62 | readElement(...) | provenance | MaD:143 | +| B.java:100:19:100:26 | source(...) : Object | B.java:100:37:100:38 | in : Object | provenance | | +| B.java:100:29:100:31 | out [post update] : ListIterator [] : Object | B.java:100:59:100:61 | out : ListIterator [] : Object | provenance | | +| B.java:100:37:100:38 | in : Object | B.java:100:29:100:31 | out [post update] : ListIterator [] : Object | provenance | MaD:171 | +| B.java:100:59:100:61 | out : ListIterator [] : Object | B.java:32:28:32:42 | obj : ListIterator [] : Object | provenance | | +| B.java:100:59:100:61 | out : ListIterator [] : Object | B.java:100:47:100:62 | readElement(...) | provenance | MaD:143 | +| B.java:105:24:105:56 | storeElementEnumeration(...) : Enumeration [] : Object | B.java:105:65:105:66 | in : Enumeration [] : Object | provenance | | +| B.java:105:48:105:55 | source(...) : Object | B.java:25:53:25:57 | obj : Object | provenance | | +| B.java:105:48:105:55 | source(...) : Object | B.java:105:24:105:56 | storeElementEnumeration(...) : Enumeration [] : Object | provenance | MaD:52 | +| B.java:105:65:105:66 | in : Enumeration [] : Object | B.java:105:65:105:79 | asIterator(...) : Iterator [] : Object | provenance | MaD:134 | +| B.java:105:65:105:79 | asIterator(...) : Iterator [] : Object | B.java:105:99:105:101 | out : Iterator [] : Object | provenance | | +| B.java:105:99:105:101 | out : Iterator [] : Object | B.java:32:28:32:42 | obj : Iterator [] : Object | provenance | | +| B.java:105:99:105:101 | out : Iterator [] : Object | B.java:105:87:105:102 | readElement(...) | provenance | MaD:143 | +| B.java:110:24:110:56 | storeElementEnumeration(...) : Enumeration [] : Object | B.java:110:65:110:66 | in : Enumeration [] : Object | provenance | | +| B.java:110:48:110:55 | source(...) : Object | B.java:25:53:25:57 | obj : Object | provenance | | +| B.java:110:48:110:55 | source(...) : Object | B.java:110:24:110:56 | storeElementEnumeration(...) : Enumeration [] : Object | provenance | MaD:52 | +| B.java:110:65:110:66 | in : Enumeration [] : Object | B.java:110:65:110:80 | nextElement(...) : Object | provenance | MaD:135 | +| B.java:110:65:110:80 | nextElement(...) : Object | B.java:110:88:110:90 | out | provenance | | +| B.java:115:19:115:41 | storeMapValue(...) : Map [] : Object | B.java:115:51:115:57 | (...)... : Map [] : Object | provenance | | +| B.java:115:33:115:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:115:33:115:40 | source(...) : Object | B.java:115:19:115:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:115:50:115:85 | computeIfAbsent(...) : Object | B.java:115:93:115:95 | out | provenance | | +| B.java:115:51:115:57 | (...)... : Map [] : Object | B.java:115:50:115:85 | computeIfAbsent(...) : Object | provenance | MaD:172 | +| B.java:119:20:119:66 | computeIfAbsent(...) : Object | B.java:119:74:119:76 | out | provenance | | +| B.java:119:58:119:65 | source(...) : Object | B.java:119:20:119:66 | computeIfAbsent(...) : Object | provenance | MaD:174 | +| B.java:124:7:124:9 | out [post update] : Map [] : Object | B.java:124:66:124:68 | out : Map [] : Object | provenance | | +| B.java:124:37:124:44 | source(...) : Object | B.java:124:7:124:9 | out [post update] : Map [] : Object | provenance | MaD:173 | +| B.java:124:66:124:68 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:124:66:124:68 | out : Map [] : Object | B.java:124:53:124:69 | readMapValue(...) | provenance | MaD:181 | +| B.java:129:19:129:41 | storeMapValue(...) : Map [] : Object | B.java:129:51:129:57 | (...)... : Map [] : Object | provenance | | +| B.java:129:33:129:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:129:33:129:40 | source(...) : Object | B.java:129:19:129:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:129:50:129:69 | entrySet(...) : Set [, ] : Object | B.java:129:102:129:104 | out : Set [, ] : Object | provenance | | +| B.java:129:51:129:57 | (...)... : Map [] : Object | B.java:129:50:129:69 | entrySet(...) : Set [, ] : Object | provenance | MaD:180 | +| B.java:129:90:129:105 | readElement(...) : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | +| B.java:129:90:129:105 | readElement(...) : Entry [] : Object | B.java:129:77:129:106 | readMapValue(...) | provenance | MaD:224 | +| B.java:129:102:129:104 | out : Set [, ] : Object | B.java:129:90:129:105 | readElement(...) : Entry [] : Object | provenance | MaD:1 | +| B.java:134:19:134:39 | storeMapKey(...) : TreeMap [] : Object | B.java:134:49:134:55 | (...)... : TreeMap [] : Object | provenance | | +| B.java:134:31:134:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:134:31:134:38 | source(...) : Object | B.java:134:19:134:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:134:48:134:67 | entrySet(...) : Set [, ] : Object | B.java:134:98:134:100 | out : Set [, ] : Object | provenance | | +| B.java:134:49:134:55 | (...)... : TreeMap [] : Object | B.java:134:48:134:67 | entrySet(...) : Set [, ] : Object | provenance | MaD:179 | +| B.java:134:86:134:101 | readElement(...) : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | provenance | | +| B.java:134:86:134:101 | readElement(...) : Entry [] : Object | B.java:134:75:134:102 | readMapKey(...) | provenance | MaD:223 | +| B.java:134:98:134:100 | out : Set [, ] : Object | B.java:134:86:134:101 | readElement(...) : Entry [] : Object | provenance | MaD:1 | +| B.java:139:19:139:41 | storeMapValue(...) : Map [] : Object | B.java:139:51:139:57 | (...)... : Map [] : Object | provenance | | +| B.java:139:33:139:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:139:33:139:40 | source(...) : Object | B.java:139:19:139:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:139:50:139:68 | get(...) : Object | B.java:139:76:139:78 | out | provenance | | +| B.java:139:51:139:57 | (...)... : Map [] : Object | B.java:139:50:139:68 | get(...) : Object | provenance | MaD:181 | +| B.java:144:19:144:41 | storeMapValue(...) : Map [] : Object | B.java:144:51:144:57 | (...)... : Map [] : Object | provenance | | +| B.java:144:33:144:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:144:33:144:40 | source(...) : Object | B.java:144:19:144:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:144:50:144:82 | getOrDefault(...) : Object | B.java:144:90:144:92 | out | provenance | | +| B.java:144:51:144:57 | (...)... : Map [] : Object | B.java:144:50:144:82 | getOrDefault(...) : Object | provenance | MaD:182 | +| B.java:149:19:149:26 | source(...) : Object | B.java:149:65:149:66 | in : Object | provenance | | +| B.java:149:35:149:67 | getOrDefault(...) : Object | B.java:149:75:149:77 | out | provenance | | +| B.java:149:65:149:66 | in : Object | B.java:149:35:149:67 | getOrDefault(...) : Object | provenance | MaD:183 | +| B.java:154:19:154:41 | storeMapValue(...) : Map [] : Object | B.java:154:51:154:57 | (...)... : Map [] : Object | provenance | | +| B.java:154:33:154:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:154:33:154:40 | source(...) : Object | B.java:154:19:154:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:154:50:154:73 | put(...) : Object | B.java:154:81:154:83 | out | provenance | | +| B.java:154:51:154:57 | (...)... : Map [] : Object | B.java:154:50:154:73 | put(...) : Object | provenance | MaD:208 | +| B.java:159:19:159:26 | source(...) : Object | B.java:159:37:159:38 | in : Object | provenance | | +| B.java:159:29:159:31 | out [post update] : Map [] : Object | B.java:159:63:159:65 | out : Map [] : Object | provenance | | +| B.java:159:37:159:38 | in : Object | B.java:159:29:159:31 | out [post update] : Map [] : Object | provenance | MaD:209 | +| B.java:159:63:159:65 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:159:63:159:65 | out : Map [] : Object | B.java:159:52:159:66 | readMapKey(...) | provenance | MaD:184 | +| B.java:164:19:164:26 | source(...) : Object | B.java:164:42:164:43 | in : Object | provenance | | +| B.java:164:29:164:31 | out [post update] : Map [] : Object | B.java:164:65:164:67 | out : Map [] : Object | provenance | | +| B.java:164:42:164:43 | in : Object | B.java:164:29:164:31 | out [post update] : Map [] : Object | provenance | MaD:210 | +| B.java:164:65:164:67 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:164:65:164:67 | out : Map [] : Object | B.java:164:52:164:68 | readMapValue(...) | provenance | MaD:181 | +| B.java:169:19:169:41 | storeMapValue(...) : Map [] : Object | B.java:169:51:169:57 | (...)... : Map [] : Object | provenance | | +| B.java:169:33:169:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:169:33:169:40 | source(...) : Object | B.java:169:19:169:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:169:50:169:81 | putIfAbsent(...) : Object | B.java:169:89:169:91 | out | provenance | | +| B.java:169:51:169:57 | (...)... : Map [] : Object | B.java:169:50:169:81 | putIfAbsent(...) : Object | provenance | MaD:213 | +| B.java:174:19:174:26 | source(...) : Object | B.java:174:45:174:46 | in : Object | provenance | | +| B.java:174:29:174:31 | out [post update] : Map [] : Object | B.java:174:71:174:73 | out : Map [] : Object | provenance | | +| B.java:174:45:174:46 | in : Object | B.java:174:29:174:31 | out [post update] : Map [] : Object | provenance | MaD:214 | +| B.java:174:71:174:73 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:174:71:174:73 | out : Map [] : Object | B.java:174:60:174:74 | readMapKey(...) | provenance | MaD:184 | +| B.java:179:19:179:26 | source(...) : Object | B.java:179:50:179:51 | in : Object | provenance | | +| B.java:179:29:179:31 | out [post update] : Map [] : Object | B.java:179:73:179:75 | out : Map [] : Object | provenance | | +| B.java:179:50:179:51 | in : Object | B.java:179:29:179:31 | out [post update] : Map [] : Object | provenance | MaD:215 | +| B.java:179:73:179:75 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:179:73:179:75 | out : Map [] : Object | B.java:179:60:179:76 | readMapValue(...) | provenance | MaD:181 | +| B.java:184:19:184:41 | storeMapValue(...) : Map [] : Object | B.java:184:51:184:57 | (...)... : Map [] : Object | provenance | | +| B.java:184:33:184:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:184:33:184:40 | source(...) : Object | B.java:184:19:184:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:184:50:184:71 | remove(...) : Object | B.java:184:79:184:81 | out | provenance | | +| B.java:184:51:184:57 | (...)... : Map [] : Object | B.java:184:50:184:71 | remove(...) : Object | provenance | MaD:216 | +| B.java:189:19:189:41 | storeMapValue(...) : Map [] : Object | B.java:189:51:189:57 | (...)... : Map [] : Object | provenance | | +| B.java:189:33:189:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:189:33:189:40 | source(...) : Object | B.java:189:19:189:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:189:50:189:77 | replace(...) : Object | B.java:189:85:189:87 | out | provenance | | +| B.java:189:51:189:57 | (...)... : Map [] : Object | B.java:189:50:189:77 | replace(...) : Object | provenance | MaD:217 | +| B.java:194:19:194:26 | source(...) : Object | B.java:194:41:194:42 | in : Object | provenance | | +| B.java:194:29:194:31 | out [post update] : Map [] : Object | B.java:194:67:194:69 | out : Map [] : Object | provenance | | +| B.java:194:41:194:42 | in : Object | B.java:194:29:194:31 | out [post update] : Map [] : Object | provenance | MaD:218 | +| B.java:194:67:194:69 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:194:67:194:69 | out : Map [] : Object | B.java:194:56:194:70 | readMapKey(...) | provenance | MaD:184 | +| B.java:199:19:199:26 | source(...) : Object | B.java:199:46:199:47 | in : Object | provenance | | +| B.java:199:29:199:31 | out [post update] : Map [] : Object | B.java:199:69:199:71 | out : Map [] : Object | provenance | | +| B.java:199:46:199:47 | in : Object | B.java:199:29:199:31 | out [post update] : Map [] : Object | provenance | MaD:219 | +| B.java:199:69:199:71 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:199:69:199:71 | out : Map [] : Object | B.java:199:56:199:72 | readMapValue(...) | provenance | MaD:181 | +| B.java:204:19:204:26 | source(...) : Object | B.java:204:41:204:42 | in : Object | provenance | | +| B.java:204:29:204:31 | out [post update] : Map [] : Object | B.java:204:72:204:74 | out : Map [] : Object | provenance | | +| B.java:204:41:204:42 | in : Object | B.java:204:29:204:31 | out [post update] : Map [] : Object | provenance | MaD:220 | +| B.java:204:72:204:74 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:204:72:204:74 | out : Map [] : Object | B.java:204:61:204:75 | readMapKey(...) | provenance | MaD:184 | +| B.java:209:19:209:26 | source(...) : Object | B.java:209:51:209:52 | in : Object | provenance | | +| B.java:209:29:209:31 | out [post update] : Map [] : Object | B.java:209:74:209:76 | out : Map [] : Object | provenance | | +| B.java:209:51:209:52 | in : Object | B.java:209:29:209:31 | out [post update] : Map [] : Object | provenance | MaD:221 | +| B.java:209:74:209:76 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:209:74:209:76 | out : Map [] : Object | B.java:209:61:209:77 | readMapValue(...) | provenance | MaD:181 | +| B.java:214:19:214:39 | storeMapKey(...) : TreeMap [] : Object | B.java:214:49:214:55 | (...)... : TreeMap [] : Object | provenance | | +| B.java:214:31:214:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:214:31:214:38 | source(...) : Object | B.java:214:19:214:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:214:48:214:65 | keySet(...) : Set [] : Object | B.java:214:85:214:87 | out : Set [] : Object | provenance | | +| B.java:214:49:214:55 | (...)... : TreeMap [] : Object | B.java:214:48:214:65 | keySet(...) : Set [] : Object | provenance | MaD:184 | +| B.java:214:85:214:87 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:214:85:214:87 | out : Set [] : Object | B.java:214:73:214:88 | readElement(...) | provenance | MaD:1 | +| B.java:219:19:219:41 | storeMapValue(...) : Map [] : Object | B.java:219:51:219:57 | (...)... : Map [] : Object | provenance | | +| B.java:219:33:219:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:219:33:219:40 | source(...) : Object | B.java:219:19:219:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:219:50:219:67 | values(...) : Collection [] : Object | B.java:219:87:219:89 | out : Collection [] : Object | provenance | | +| B.java:219:51:219:57 | (...)... : Map [] : Object | B.java:219:50:219:67 | values(...) : Collection [] : Object | provenance | MaD:222 | +| B.java:219:87:219:89 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | provenance | | +| B.java:219:87:219:89 | out : Collection [] : Object | B.java:219:75:219:90 | readElement(...) | provenance | MaD:1 | +| B.java:224:19:224:26 | source(...) : Object | B.java:224:44:224:45 | in : Object | provenance | | +| B.java:224:29:224:31 | out [post update] : Map [] : Object | B.java:224:72:224:74 | out : Map [] : Object | provenance | | +| B.java:224:44:224:45 | in : Object | B.java:224:29:224:31 | out [post update] : Map [] : Object | provenance | MaD:185 | +| B.java:224:72:224:74 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:224:72:224:74 | out : Map [] : Object | B.java:224:59:224:75 | readMapValue(...) | provenance | MaD:181 | +| B.java:229:19:229:39 | storeMapKey(...) : TreeMap [] : Object | B.java:229:53:229:59 | (...)... : TreeMap [] : Object | provenance | | +| B.java:229:31:229:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:229:31:229:38 | source(...) : Object | B.java:229:19:229:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:229:42:229:44 | out [post update] : Map [] : Object | B.java:229:79:229:81 | out : Map [] : Object | provenance | | +| B.java:229:53:229:59 | (...)... : TreeMap [] : Object | B.java:229:42:229:44 | out [post update] : Map [] : Object | provenance | MaD:211 | +| B.java:229:79:229:81 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:229:79:229:81 | out : Map [] : Object | B.java:229:68:229:82 | readMapKey(...) | provenance | MaD:184 | +| B.java:234:19:234:41 | storeMapValue(...) : Map [] : Object | B.java:234:55:234:61 | (...)... : Map [] : Object | provenance | | +| B.java:234:33:234:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:234:33:234:40 | source(...) : Object | B.java:234:19:234:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:234:44:234:46 | out [post update] : Map [] : Object | B.java:234:83:234:85 | out : Map [] : Object | provenance | | +| B.java:234:55:234:61 | (...)... : Map [] : Object | B.java:234:44:234:46 | out [post update] : Map [] : Object | provenance | MaD:212 | +| B.java:234:83:234:85 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:234:83:234:85 | out : Map [] : Object | B.java:234:70:234:86 | readMapValue(...) | provenance | MaD:181 | +| B.java:239:23:239:48 | storeElementList(...) : List [] : Object | B.java:239:57:239:58 | in : List [] : Object | provenance | | +| B.java:239:40:239:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:239:40:239:47 | source(...) : Object | B.java:239:23:239:48 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:239:57:239:58 | in : List [] : Object | B.java:239:57:239:75 | parallelStream(...) : Stream [] : Object | provenance | MaD:54 | +| B.java:239:57:239:75 | parallelStream(...) : Stream [] : Object | B.java:239:95:239:97 | out : Stream [] : Object | provenance | | +| B.java:239:95:239:97 | out : Stream [] : Object | B.java:239:83:239:98 | readElement(...) | provenance | MaD:343 | +| B.java:244:23:244:48 | storeElementList(...) : List [] : Object | B.java:244:57:244:58 | in : List [] : Object | provenance | | +| B.java:244:40:244:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:244:40:244:47 | source(...) : Object | B.java:244:23:244:48 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:244:57:244:58 | in : List [] : Object | B.java:244:57:244:67 | stream(...) : Stream [] : Object | provenance | MaD:55 | +| B.java:244:57:244:67 | stream(...) : Stream [] : Object | B.java:244:87:244:89 | out : Stream [] : Object | provenance | | +| B.java:244:87:244:89 | out : Stream [] : Object | B.java:244:75:244:90 | readElement(...) | provenance | MaD:343 | +| B.java:249:23:249:48 | storeElementList(...) : List [] : Object | B.java:249:57:249:58 | in : List [] : Object | provenance | | +| B.java:249:40:249:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:249:40:249:47 | source(...) : Object | B.java:249:23:249:48 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:249:57:249:58 | in : List [] : Object | B.java:249:57:249:68 | toArray(...) : Object[] [[]] : Object | provenance | MaD:57 | +| B.java:249:57:249:68 | toArray(...) : Object[] [[]] : Object | B.java:249:93:249:95 | out : Object[] [[]] : Object | provenance | | +| B.java:249:93:249:95 | out : Object[] [[]] : Object | B.java:14:34:14:45 | obj : Object[] [[]] : Object | provenance | | +| B.java:249:93:249:95 | out : Object[] [[]] : Object | B.java:249:76:249:96 | readArrayElement(...) | provenance | | +| B.java:254:23:254:48 | storeElementList(...) : List [] : Object | B.java:254:51:254:52 | in : List [] : Object | provenance | | +| B.java:254:40:254:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:254:40:254:47 | source(...) : Object | B.java:254:23:254:48 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:254:51:254:52 | in : List [] : Object | B.java:254:62:254:64 | out [post update] : Object[] [[]] : Object | provenance | MaD:56 | +| B.java:254:62:254:64 | out [post update] : Object[] [[]] : Object | B.java:254:90:254:92 | out : Object[] [[]] : Object | provenance | | +| B.java:254:90:254:92 | out : Object[] [[]] : Object | B.java:14:34:14:45 | obj : Object[] [[]] : Object | provenance | | +| B.java:254:90:254:92 | out : Object[] [[]] : Object | B.java:254:73:254:93 | readArrayElement(...) | provenance | | +| B.java:259:19:259:26 | source(...) : Object | B.java:259:37:259:38 | in : Object | provenance | | +| B.java:259:29:259:31 | out [post update] : Collection [] : Object | B.java:259:59:259:61 | out : Collection [] : Object | provenance | | +| B.java:259:37:259:38 | in : Object | B.java:259:29:259:31 | out [post update] : Collection [] : Object | provenance | MaD:52 | +| B.java:259:59:259:61 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | provenance | | +| B.java:259:59:259:61 | out : Collection [] : Object | B.java:259:47:259:62 | readElement(...) | provenance | MaD:1 | +| B.java:264:23:264:48 | storeElementList(...) : List [] : Object | B.java:264:62:264:63 | in : List [] : Object | provenance | | +| B.java:264:40:264:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:264:40:264:47 | source(...) : Object | B.java:264:23:264:48 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:264:51:264:53 | out [post update] : Collection [] : Object | B.java:264:84:264:86 | out : Collection [] : Object | provenance | | +| B.java:264:62:264:63 | in : List [] : Object | B.java:264:51:264:53 | out [post update] : Collection [] : Object | provenance | MaD:53 | +| B.java:264:84:264:86 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | provenance | | +| B.java:264:84:264:86 | out : Collection [] : Object | B.java:264:72:264:87 | readElement(...) | provenance | MaD:1 | +| B.java:269:17:269:42 | storeElementList(...) : List [] : Object | B.java:269:51:269:52 | in : List [] : Object | provenance | | +| B.java:269:34:269:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:269:34:269:41 | source(...) : Object | B.java:269:17:269:42 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:269:51:269:52 | in : List [] : Object | B.java:269:51:269:59 | get(...) : Object | provenance | MaD:152 | +| B.java:269:51:269:59 | get(...) : Object | B.java:269:67:269:69 | out | provenance | | +| B.java:274:17:274:42 | storeElementList(...) : List [] : Object | B.java:274:51:274:52 | in : List [] : Object | provenance | | +| B.java:274:34:274:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:274:34:274:41 | source(...) : Object | B.java:274:17:274:42 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:274:51:274:52 | in : List [] : Object | B.java:274:51:274:67 | listIterator(...) : ListIterator [] : Object | provenance | MaD:153 | +| B.java:274:51:274:67 | listIterator(...) : ListIterator [] : Object | B.java:274:87:274:89 | out : ListIterator [] : Object | provenance | | +| B.java:274:87:274:89 | out : ListIterator [] : Object | B.java:32:28:32:42 | obj : ListIterator [] : Object | provenance | | +| B.java:274:87:274:89 | out : ListIterator [] : Object | B.java:274:75:274:90 | readElement(...) | provenance | MaD:143 | +| B.java:279:17:279:42 | storeElementList(...) : List [] : Object | B.java:279:51:279:52 | in : List [] : Object | provenance | | +| B.java:279:34:279:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:279:34:279:41 | source(...) : Object | B.java:279:17:279:42 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:279:51:279:52 | in : List [] : Object | B.java:279:51:279:62 | remove(...) : Object | provenance | MaD:165 | +| B.java:279:51:279:62 | remove(...) : Object | B.java:279:70:279:72 | out | provenance | | +| B.java:284:17:284:42 | storeElementList(...) : List [] : Object | B.java:284:51:284:52 | in : List [] : Object | provenance | | +| B.java:284:34:284:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:284:34:284:41 | source(...) : Object | B.java:284:17:284:42 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:284:51:284:52 | in : List [] : Object | B.java:284:51:284:64 | set(...) : Object | provenance | MaD:166 | +| B.java:284:51:284:64 | set(...) : Object | B.java:284:72:284:74 | out | provenance | | +| B.java:289:19:289:26 | source(...) : Object | B.java:289:39:289:40 | in : Object | provenance | | +| B.java:289:29:289:31 | out [post update] : List [] : Object | B.java:289:61:289:63 | out : List [] : Object | provenance | | +| B.java:289:39:289:40 | in : Object | B.java:289:29:289:31 | out [post update] : List [] : Object | provenance | MaD:167 | +| B.java:289:61:289:63 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:289:61:289:63 | out : List [] : Object | B.java:289:49:289:64 | readElement(...) | provenance | MaD:1 | +| B.java:294:17:294:42 | storeElementList(...) : List [] : Object | B.java:294:51:294:52 | in : List [] : Object | provenance | | +| B.java:294:34:294:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:294:34:294:41 | source(...) : Object | B.java:294:17:294:42 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:294:51:294:52 | in : List [] : Object | B.java:294:51:294:65 | subList(...) : List [] : Object | provenance | MaD:168 | +| B.java:294:51:294:65 | subList(...) : List [] : Object | B.java:294:85:294:87 | out : List [] : Object | provenance | | +| B.java:294:85:294:87 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:294:85:294:87 | out : List [] : Object | B.java:294:73:294:88 | readElement(...) | provenance | MaD:1 | +| B.java:299:19:299:26 | source(...) : Object | B.java:299:39:299:40 | in : Object | provenance | | +| B.java:299:29:299:31 | out [post update] : List [] : Object | B.java:299:61:299:63 | out : List [] : Object | provenance | | +| B.java:299:39:299:40 | in : Object | B.java:299:29:299:31 | out [post update] : List [] : Object | provenance | MaD:148 | +| B.java:299:61:299:63 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:299:61:299:63 | out : List [] : Object | B.java:299:49:299:64 | readElement(...) | provenance | MaD:1 | +| B.java:304:23:304:48 | storeElementList(...) : List [] : Object | B.java:304:64:304:65 | in : List [] : Object | provenance | | +| B.java:304:40:304:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:304:40:304:47 | source(...) : Object | B.java:304:23:304:48 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:304:51:304:53 | out [post update] : List [] : Object | B.java:304:86:304:88 | out : List [] : Object | provenance | | +| B.java:304:64:304:65 | in : List [] : Object | B.java:304:51:304:53 | out [post update] : List [] : Object | provenance | MaD:149 | +| B.java:304:86:304:88 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:304:86:304:88 | out : List [] : Object | B.java:304:74:304:89 | readElement(...) | provenance | MaD:1 | +| B.java:314:17:314:30 | (...)... : List | B.java:314:43:314:45 | out : List | provenance | | +| B.java:314:23:314:30 | source(...) : Object | B.java:314:17:314:30 | (...)... : List | provenance | | +| B.java:314:43:314:45 | out : List | B.java:314:43:314:45 | out [post update] : List | provenance | MaD:150 | +| B.java:314:43:314:45 | out [post update] : List | B.java:314:61:314:63 | out | provenance | | +| B.java:319:19:319:45 | storeElementStack(...) : Stack [] : Object | B.java:319:54:319:55 | in : Stack [] : Object | provenance | | +| B.java:319:37:319:44 | source(...) : Object | B.java:27:41:27:45 | obj : Object | provenance | | +| B.java:319:37:319:44 | source(...) : Object | B.java:319:19:319:45 | storeElementStack(...) : Stack [] : Object | provenance | MaD:324 | +| B.java:319:54:319:55 | in : Stack [] : Object | B.java:319:54:319:68 | elementAt(...) : Object | provenance | MaD:334 | +| B.java:319:54:319:68 | elementAt(...) : Object | B.java:319:76:319:78 | out | provenance | | +| B.java:324:19:324:45 | storeElementStack(...) : Stack [] : Object | B.java:324:54:324:55 | in : Stack [] : Object | provenance | | +| B.java:324:37:324:44 | source(...) : Object | B.java:27:41:27:45 | obj : Object | provenance | | +| B.java:324:37:324:44 | source(...) : Object | B.java:324:19:324:45 | storeElementStack(...) : Stack [] : Object | provenance | MaD:324 | +| B.java:324:54:324:55 | in : Stack [] : Object | B.java:324:54:324:66 | elements(...) : Enumeration [] : Object | provenance | MaD:335 | +| B.java:324:54:324:66 | elements(...) : Enumeration [] : Object | B.java:324:86:324:88 | out : Enumeration [] : Object | provenance | | +| B.java:324:86:324:88 | out : Enumeration [] : Object | B.java:35:28:35:45 | obj : Enumeration [] : Object | provenance | | +| B.java:324:86:324:88 | out : Enumeration [] : Object | B.java:324:74:324:89 | readElement(...) | provenance | MaD:135 | +| B.java:329:19:329:45 | storeElementStack(...) : Stack [] : Object | B.java:329:54:329:55 | in : Stack [] : Object | provenance | | +| B.java:329:37:329:44 | source(...) : Object | B.java:27:41:27:45 | obj : Object | provenance | | +| B.java:329:37:329:44 | source(...) : Object | B.java:329:19:329:45 | storeElementStack(...) : Stack [] : Object | provenance | MaD:324 | +| B.java:329:54:329:55 | in : Stack [] : Object | B.java:329:54:329:70 | firstElement(...) : Object | provenance | MaD:336 | +| B.java:329:54:329:70 | firstElement(...) : Object | B.java:329:78:329:80 | out | provenance | | +| B.java:334:19:334:45 | storeElementStack(...) : Stack [] : Object | B.java:334:54:334:55 | in : Stack [] : Object | provenance | | +| B.java:334:37:334:44 | source(...) : Object | B.java:27:41:27:45 | obj : Object | provenance | | +| B.java:334:37:334:44 | source(...) : Object | B.java:334:19:334:45 | storeElementStack(...) : Stack [] : Object | provenance | MaD:324 | +| B.java:334:54:334:55 | in : Stack [] : Object | B.java:334:54:334:69 | lastElement(...) : Object | provenance | MaD:338 | +| B.java:334:54:334:69 | lastElement(...) : Object | B.java:334:77:334:79 | out | provenance | | +| B.java:339:19:339:26 | source(...) : Object | B.java:339:44:339:45 | in : Object | provenance | | +| B.java:339:29:339:31 | out [post update] : Vector [] : Object | B.java:339:66:339:68 | out : Vector [] : Object | provenance | | +| B.java:339:44:339:45 | in : Object | B.java:339:29:339:31 | out [post update] : Vector [] : Object | provenance | MaD:332 | +| B.java:339:66:339:68 | out : Vector [] : Object | B.java:31:28:31:42 | obj : Vector [] : Object | provenance | | +| B.java:339:66:339:68 | out : Vector [] : Object | B.java:339:54:339:69 | readElement(...) | provenance | MaD:1 | +| B.java:344:19:344:26 | source(...) : Object | B.java:344:49:344:50 | in : Object | provenance | | +| B.java:344:29:344:31 | out [post update] : Vector [] : Object | B.java:344:73:344:75 | out : Vector [] : Object | provenance | | +| B.java:344:49:344:50 | in : Object | B.java:344:29:344:31 | out [post update] : Vector [] : Object | provenance | MaD:337 | +| B.java:344:73:344:75 | out : Vector [] : Object | B.java:31:28:31:42 | obj : Vector [] : Object | provenance | | +| B.java:344:73:344:75 | out : Vector [] : Object | B.java:344:61:344:76 | readElement(...) | provenance | MaD:1 | +| B.java:349:19:349:26 | source(...) : Object | B.java:349:46:349:47 | in : Object | provenance | | +| B.java:349:29:349:31 | out [post update] : Vector [] : Object | B.java:349:70:349:72 | out : Vector [] : Object | provenance | | +| B.java:349:46:349:47 | in : Object | B.java:349:29:349:31 | out [post update] : Vector [] : Object | provenance | MaD:339 | +| B.java:349:70:349:72 | out : Vector [] : Object | B.java:31:28:31:42 | obj : Vector [] : Object | provenance | | +| B.java:349:70:349:72 | out : Vector [] : Object | B.java:349:58:349:73 | readElement(...) | provenance | MaD:1 | +| B.java:354:19:354:45 | storeElementStack(...) : Stack [] : Object | B.java:354:48:354:49 | in : Stack [] : Object | provenance | | +| B.java:354:37:354:44 | source(...) : Object | B.java:27:41:27:45 | obj : Object | provenance | | +| B.java:354:37:354:44 | source(...) : Object | B.java:354:19:354:45 | storeElementStack(...) : Stack [] : Object | provenance | MaD:324 | +| B.java:354:48:354:49 | in : Stack [] : Object | B.java:354:60:354:62 | out [post update] : Object[] [[]] : Object | provenance | MaD:333 | +| B.java:354:60:354:62 | out [post update] : Object[] [[]] : Object | B.java:354:88:354:90 | out : Object[] [[]] : Object | provenance | | +| B.java:354:88:354:90 | out : Object[] [[]] : Object | B.java:14:34:14:45 | obj : Object[] [[]] : Object | provenance | | +| B.java:354:88:354:90 | out : Object[] [[]] : Object | B.java:354:71:354:91 | readArrayElement(...) | provenance | | +| B.java:359:18:359:44 | storeElementStack(...) : Stack [] : Object | B.java:359:53:359:54 | in : Stack [] : Object | provenance | | +| B.java:359:36:359:43 | source(...) : Object | B.java:27:41:27:45 | obj : Object | provenance | | +| B.java:359:36:359:43 | source(...) : Object | B.java:359:18:359:44 | storeElementStack(...) : Stack [] : Object | provenance | MaD:324 | +| B.java:359:53:359:54 | in : Stack [] : Object | B.java:359:53:359:61 | peek(...) : Object | provenance | MaD:322 | +| B.java:359:53:359:61 | peek(...) : Object | B.java:359:69:359:71 | out | provenance | | +| B.java:364:18:364:44 | storeElementStack(...) : Stack [] : Object | B.java:364:53:364:54 | in : Stack [] : Object | provenance | | +| B.java:364:36:364:43 | source(...) : Object | B.java:27:41:27:45 | obj : Object | provenance | | +| B.java:364:36:364:43 | source(...) : Object | B.java:364:18:364:44 | storeElementStack(...) : Stack [] : Object | provenance | MaD:324 | +| B.java:364:53:364:54 | in : Stack [] : Object | B.java:364:53:364:60 | pop(...) : Object | provenance | MaD:323 | +| B.java:364:53:364:60 | pop(...) : Object | B.java:364:68:364:70 | out | provenance | | +| B.java:369:19:369:26 | source(...) : Object | B.java:369:38:369:39 | in : Object | provenance | | +| B.java:369:29:369:31 | out [post update] : Stack [] : Object | B.java:369:60:369:62 | out : Stack [] : Object | provenance | | +| B.java:369:38:369:39 | in : Object | B.java:369:29:369:31 | out [post update] : Stack [] : Object | provenance | MaD:324 | +| B.java:369:60:369:62 | out : Stack [] : Object | B.java:31:28:31:42 | obj : Stack [] : Object | provenance | | +| B.java:369:60:369:62 | out : Stack [] : Object | B.java:369:48:369:63 | readElement(...) | provenance | MaD:1 | +| B.java:374:18:374:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:374:61:374:62 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:374:44:374:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:374:44:374:51 | source(...) : Object | B.java:374:18:374:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:374:61:374:62 | in : LinkedBlockingDeque [] : Object | B.java:374:61:374:72 | element(...) : Object | provenance | MaD:265 | +| B.java:374:61:374:72 | element(...) : Object | B.java:374:80:374:82 | out | provenance | | +| B.java:379:18:379:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:379:61:379:62 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:379:44:379:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:379:44:379:51 | source(...) : Object | B.java:379:18:379:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:379:61:379:62 | in : LinkedBlockingDeque [] : Object | B.java:379:61:379:69 | peek(...) : Object | provenance | MaD:267 | +| B.java:379:61:379:69 | peek(...) : Object | B.java:379:77:379:79 | out | provenance | | +| B.java:384:18:384:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:384:61:384:62 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:384:44:384:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:384:44:384:51 | source(...) : Object | B.java:384:18:384:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:384:61:384:62 | in : LinkedBlockingDeque [] : Object | B.java:384:61:384:69 | poll(...) : Object | provenance | MaD:268 | +| B.java:384:61:384:69 | poll(...) : Object | B.java:384:77:384:79 | out | provenance | | +| B.java:389:18:389:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:389:61:389:62 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:389:44:389:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:389:44:389:51 | source(...) : Object | B.java:389:18:389:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:389:61:389:62 | in : LinkedBlockingDeque [] : Object | B.java:389:61:389:71 | remove(...) : Object | provenance | MaD:269 | +| B.java:389:61:389:71 | remove(...) : Object | B.java:389:79:389:81 | out | provenance | | +| B.java:394:19:394:26 | source(...) : Object | B.java:394:39:394:40 | in : Object | provenance | | +| B.java:394:29:394:31 | out [post update] : Queue [] : Object | B.java:394:61:394:63 | out : Queue [] : Object | provenance | | +| B.java:394:39:394:40 | in : Object | B.java:394:29:394:31 | out [post update] : Queue [] : Object | provenance | MaD:266 | +| B.java:394:61:394:63 | out : Queue [] : Object | B.java:31:28:31:42 | obj : Queue [] : Object | provenance | | +| B.java:394:61:394:63 | out : Queue [] : Object | B.java:394:49:394:64 | readElement(...) | provenance | MaD:1 | +| B.java:399:18:399:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:399:61:399:62 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:399:44:399:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:399:44:399:51 | source(...) : Object | B.java:399:18:399:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:399:61:399:62 | in : LinkedBlockingDeque [] : Object | B.java:399:61:399:83 | descendingIterator(...) : Iterator [] : Object | provenance | MaD:110 | +| B.java:399:61:399:83 | descendingIterator(...) : Iterator [] : Object | B.java:399:103:399:105 | out : Iterator [] : Object | provenance | | +| B.java:399:103:399:105 | out : Iterator [] : Object | B.java:32:28:32:42 | obj : Iterator [] : Object | provenance | | +| B.java:399:103:399:105 | out : Iterator [] : Object | B.java:399:91:399:106 | readElement(...) | provenance | MaD:143 | +| B.java:404:18:404:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:404:61:404:62 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:404:44:404:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:404:44:404:51 | source(...) : Object | B.java:404:18:404:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:404:61:404:62 | in : LinkedBlockingDeque [] : Object | B.java:404:61:404:73 | getFirst(...) : Object | provenance | MaD:111 | +| B.java:404:61:404:62 | in : LinkedBlockingDeque [] : Object | B.java:404:61:404:73 | getFirst(...) : Object | provenance | MaD:272 | +| B.java:404:61:404:73 | getFirst(...) : Object | B.java:404:81:404:83 | out | provenance | | +| B.java:409:18:409:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:409:61:409:62 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:409:44:409:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:409:44:409:51 | source(...) : Object | B.java:409:18:409:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:409:61:409:62 | in : LinkedBlockingDeque [] : Object | B.java:409:61:409:72 | getLast(...) : Object | provenance | MaD:112 | +| B.java:409:61:409:62 | in : LinkedBlockingDeque [] : Object | B.java:409:61:409:72 | getLast(...) : Object | provenance | MaD:273 | +| B.java:409:61:409:72 | getLast(...) : Object | B.java:409:80:409:82 | out | provenance | | +| B.java:414:18:414:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:414:61:414:62 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:414:44:414:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:414:44:414:51 | source(...) : Object | B.java:414:18:414:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:414:61:414:62 | in : LinkedBlockingDeque [] : Object | B.java:414:61:414:74 | peekFirst(...) : Object | provenance | MaD:115 | +| B.java:414:61:414:74 | peekFirst(...) : Object | B.java:414:82:414:84 | out | provenance | | +| B.java:419:18:419:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:419:61:419:62 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:419:44:419:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:419:44:419:51 | source(...) : Object | B.java:419:18:419:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:419:61:419:62 | in : LinkedBlockingDeque [] : Object | B.java:419:61:419:73 | peekLast(...) : Object | provenance | MaD:116 | +| B.java:419:61:419:73 | peekLast(...) : Object | B.java:419:81:419:83 | out | provenance | | +| B.java:424:18:424:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:424:61:424:62 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:424:44:424:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:424:44:424:51 | source(...) : Object | B.java:424:18:424:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:424:61:424:62 | in : LinkedBlockingDeque [] : Object | B.java:424:61:424:74 | pollFirst(...) : Object | provenance | MaD:117 | +| B.java:424:61:424:74 | pollFirst(...) : Object | B.java:424:82:424:84 | out | provenance | | +| B.java:429:18:429:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:429:61:429:62 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:429:44:429:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:429:44:429:51 | source(...) : Object | B.java:429:18:429:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:429:61:429:62 | in : LinkedBlockingDeque [] : Object | B.java:429:61:429:73 | pollLast(...) : Object | provenance | MaD:118 | +| B.java:429:61:429:73 | pollLast(...) : Object | B.java:429:81:429:83 | out | provenance | | +| B.java:434:18:434:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:434:61:434:62 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:434:44:434:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:434:44:434:51 | source(...) : Object | B.java:434:18:434:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:434:61:434:62 | in : LinkedBlockingDeque [] : Object | B.java:434:61:434:68 | pop(...) : Object | provenance | MaD:119 | +| B.java:434:61:434:68 | pop(...) : Object | B.java:434:76:434:78 | out | provenance | | +| B.java:439:18:439:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:439:61:439:62 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:439:44:439:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:439:44:439:51 | source(...) : Object | B.java:439:18:439:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:439:61:439:62 | in : LinkedBlockingDeque [] : Object | B.java:439:61:439:76 | removeFirst(...) : Object | provenance | MaD:121 | +| B.java:439:61:439:62 | in : LinkedBlockingDeque [] : Object | B.java:439:61:439:76 | removeFirst(...) : Object | provenance | MaD:274 | +| B.java:439:61:439:76 | removeFirst(...) : Object | B.java:439:84:439:86 | out | provenance | | +| B.java:444:18:444:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:444:61:444:62 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:444:44:444:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:444:44:444:51 | source(...) : Object | B.java:444:18:444:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:444:61:444:62 | in : LinkedBlockingDeque [] : Object | B.java:444:61:444:75 | removeLast(...) : Object | provenance | MaD:122 | +| B.java:444:61:444:62 | in : LinkedBlockingDeque [] : Object | B.java:444:61:444:75 | removeLast(...) : Object | provenance | MaD:275 | +| B.java:444:61:444:75 | removeLast(...) : Object | B.java:444:83:444:85 | out | provenance | | +| B.java:449:19:449:26 | source(...) : Object | B.java:449:38:449:39 | in : Object | provenance | | +| B.java:449:29:449:31 | out [post update] : Deque [] : Object | B.java:449:60:449:62 | out : Deque [] : Object | provenance | | +| B.java:449:38:449:39 | in : Object | B.java:449:29:449:31 | out [post update] : Deque [] : Object | provenance | MaD:120 | +| B.java:449:60:449:62 | out : Deque [] : Object | B.java:31:28:31:42 | obj : Deque [] : Object | provenance | | +| B.java:449:60:449:62 | out : Deque [] : Object | B.java:449:48:449:63 | readElement(...) | provenance | MaD:1 | +| B.java:454:19:454:26 | source(...) : Object | B.java:454:43:454:44 | in : Object | provenance | | +| B.java:454:29:454:31 | out [post update] : Deque [] : Object | B.java:454:65:454:67 | out : Deque [] : Object | provenance | | +| B.java:454:43:454:44 | in : Object | B.java:454:29:454:31 | out [post update] : Deque [] : Object | provenance | MaD:114 | +| B.java:454:65:454:67 | out : Deque [] : Object | B.java:31:28:31:42 | obj : Deque [] : Object | provenance | | +| B.java:454:65:454:67 | out : Deque [] : Object | B.java:454:53:454:68 | readElement(...) | provenance | MaD:1 | +| B.java:459:19:459:26 | source(...) : Object | B.java:459:44:459:45 | in : Object | provenance | | +| B.java:459:29:459:31 | out [post update] : Deque [] : Object | B.java:459:66:459:68 | out : Deque [] : Object | provenance | | +| B.java:459:44:459:45 | in : Object | B.java:459:29:459:31 | out [post update] : Deque [] : Object | provenance | MaD:113 | +| B.java:459:66:459:68 | out : Deque [] : Object | B.java:31:28:31:42 | obj : Deque [] : Object | provenance | | +| B.java:459:66:459:68 | out : Deque [] : Object | B.java:459:54:459:69 | readElement(...) | provenance | MaD:1 | +| B.java:464:19:464:26 | source(...) : Object | B.java:464:41:464:42 | in : Object | provenance | | +| B.java:464:29:464:31 | out [post update] : Deque [] : Object | B.java:464:63:464:65 | out : Deque [] : Object | provenance | | +| B.java:464:41:464:42 | in : Object | B.java:464:29:464:31 | out [post update] : Deque [] : Object | provenance | MaD:109 | +| B.java:464:41:464:42 | in : Object | B.java:464:29:464:31 | out [post update] : Deque [] : Object | provenance | MaD:271 | +| B.java:464:63:464:65 | out : Deque [] : Object | B.java:31:28:31:42 | obj : Deque [] : Object | provenance | | +| B.java:464:63:464:65 | out : Deque [] : Object | B.java:464:51:464:66 | readElement(...) | provenance | MaD:1 | +| B.java:469:19:469:26 | source(...) : Object | B.java:469:42:469:43 | in : Object | provenance | | +| B.java:469:29:469:31 | out [post update] : Deque [] : Object | B.java:469:64:469:66 | out : Deque [] : Object | provenance | | +| B.java:469:42:469:43 | in : Object | B.java:469:29:469:31 | out [post update] : Deque [] : Object | provenance | MaD:108 | +| B.java:469:42:469:43 | in : Object | B.java:469:29:469:31 | out [post update] : Deque [] : Object | provenance | MaD:270 | +| B.java:469:64:469:66 | out : Deque [] : Object | B.java:31:28:31:42 | obj : Deque [] : Object | provenance | | +| B.java:469:64:469:66 | out : Deque [] : Object | B.java:469:52:469:67 | readElement(...) | provenance | MaD:1 | +| B.java:474:26:474:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:474:69:474:70 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:474:52:474:59 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:474:52:474:59 | source(...) : Object | B.java:474:26:474:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:474:69:474:70 | in : LinkedBlockingDeque [] : Object | B.java:474:69:474:88 | pollFirst(...) : Object | provenance | MaD:5 | +| B.java:474:69:474:88 | pollFirst(...) : Object | B.java:474:96:474:98 | out | provenance | | +| B.java:479:26:479:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:479:69:479:70 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:479:52:479:59 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:479:52:479:59 | source(...) : Object | B.java:479:26:479:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:479:69:479:70 | in : LinkedBlockingDeque [] : Object | B.java:479:69:479:87 | pollLast(...) : Object | provenance | MaD:6 | +| B.java:479:69:479:87 | pollLast(...) : Object | B.java:479:95:479:97 | out | provenance | | +| B.java:484:26:484:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:484:69:484:70 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:484:52:484:59 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:484:52:484:59 | source(...) : Object | B.java:484:26:484:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:484:69:484:70 | in : LinkedBlockingDeque [] : Object | B.java:484:69:484:82 | takeFirst(...) : Object | provenance | MaD:9 | +| B.java:484:69:484:82 | takeFirst(...) : Object | B.java:484:90:484:92 | out | provenance | | +| B.java:489:26:489:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:489:69:489:70 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:489:52:489:59 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:489:52:489:59 | source(...) : Object | B.java:489:26:489:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:489:69:489:70 | in : LinkedBlockingDeque [] : Object | B.java:489:69:489:81 | takeLast(...) : Object | provenance | MaD:10 | +| B.java:489:69:489:81 | takeLast(...) : Object | B.java:489:89:489:91 | out | provenance | | +| B.java:494:26:494:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:494:69:494:70 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:494:52:494:59 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:494:52:494:59 | source(...) : Object | B.java:494:26:494:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:494:69:494:70 | in : LinkedBlockingDeque [] : Object | B.java:494:69:494:83 | poll(...) : Object | provenance | MaD:14 | +| B.java:494:69:494:83 | poll(...) : Object | B.java:494:91:494:93 | out | provenance | | +| B.java:499:26:499:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:499:69:499:70 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:499:52:499:59 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:499:52:499:59 | source(...) : Object | B.java:499:26:499:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:499:69:499:70 | in : LinkedBlockingDeque [] : Object | B.java:499:69:499:77 | take(...) : Object | provenance | MaD:16 | +| B.java:499:69:499:77 | take(...) : Object | B.java:499:85:499:87 | out | provenance | | +| B.java:504:19:504:26 | source(...) : Object | B.java:504:39:504:40 | in : Object | provenance | | +| B.java:504:29:504:31 | out [post update] : BlockingQueue [] : Object | B.java:504:68:504:70 | out : BlockingQueue [] : Object | provenance | | +| B.java:504:39:504:40 | in : Object | B.java:504:29:504:31 | out [post update] : BlockingQueue [] : Object | provenance | MaD:13 | +| B.java:504:68:504:70 | out : BlockingQueue [] : Object | B.java:31:28:31:42 | obj : BlockingQueue [] : Object | provenance | | +| B.java:504:68:504:70 | out : BlockingQueue [] : Object | B.java:504:56:504:71 | readElement(...) | provenance | MaD:1 | +| B.java:509:19:509:26 | source(...) : Object | B.java:509:37:509:38 | in : Object | provenance | | +| B.java:509:29:509:31 | out [post update] : BlockingQueue [] : Object | B.java:509:59:509:61 | out : BlockingQueue [] : Object | provenance | | +| B.java:509:37:509:38 | in : Object | B.java:509:29:509:31 | out [post update] : BlockingQueue [] : Object | provenance | MaD:15 | +| B.java:509:59:509:61 | out : BlockingQueue [] : Object | B.java:31:28:31:42 | obj : BlockingQueue [] : Object | provenance | | +| B.java:509:59:509:61 | out : BlockingQueue [] : Object | B.java:509:47:509:62 | readElement(...) | provenance | MaD:1 | +| B.java:514:19:514:26 | source(...) : Object | B.java:514:43:514:44 | in : Object | provenance | | +| B.java:514:29:514:31 | out [post update] : BlockingDeque [] : Object | B.java:514:72:514:74 | out : BlockingDeque [] : Object | provenance | | +| B.java:514:43:514:44 | in : Object | B.java:514:29:514:31 | out [post update] : BlockingDeque [] : Object | provenance | MaD:4 | +| B.java:514:72:514:74 | out : BlockingDeque [] : Object | B.java:31:28:31:42 | obj : BlockingDeque [] : Object | provenance | | +| B.java:514:72:514:74 | out : BlockingDeque [] : Object | B.java:514:60:514:75 | readElement(...) | provenance | MaD:1 | +| B.java:519:19:519:26 | source(...) : Object | B.java:519:44:519:45 | in : Object | provenance | | +| B.java:519:29:519:31 | out [post update] : BlockingDeque [] : Object | B.java:519:73:519:75 | out : BlockingDeque [] : Object | provenance | | +| B.java:519:44:519:45 | in : Object | B.java:519:29:519:31 | out [post update] : BlockingDeque [] : Object | provenance | MaD:3 | +| B.java:519:73:519:75 | out : BlockingDeque [] : Object | B.java:31:28:31:42 | obj : BlockingDeque [] : Object | provenance | | +| B.java:519:73:519:75 | out : BlockingDeque [] : Object | B.java:519:61:519:76 | readElement(...) | provenance | MaD:1 | +| B.java:524:19:524:26 | source(...) : Object | B.java:524:41:524:42 | in : Object | provenance | | +| B.java:524:29:524:31 | out [post update] : BlockingDeque [] : Object | B.java:524:63:524:65 | out : BlockingDeque [] : Object | provenance | | +| B.java:524:41:524:42 | in : Object | B.java:524:29:524:31 | out [post update] : BlockingDeque [] : Object | provenance | MaD:8 | +| B.java:524:63:524:65 | out : BlockingDeque [] : Object | B.java:31:28:31:42 | obj : BlockingDeque [] : Object | provenance | | +| B.java:524:63:524:65 | out : BlockingDeque [] : Object | B.java:524:51:524:66 | readElement(...) | provenance | MaD:1 | +| B.java:529:19:529:26 | source(...) : Object | B.java:529:42:529:43 | in : Object | provenance | | +| B.java:529:29:529:31 | out [post update] : BlockingDeque [] : Object | B.java:529:64:529:66 | out : BlockingDeque [] : Object | provenance | | +| B.java:529:42:529:43 | in : Object | B.java:529:29:529:31 | out [post update] : BlockingDeque [] : Object | provenance | MaD:7 | +| B.java:529:64:529:66 | out : BlockingDeque [] : Object | B.java:31:28:31:42 | obj : BlockingDeque [] : Object | provenance | | +| B.java:529:64:529:66 | out : BlockingDeque [] : Object | B.java:529:52:529:67 | readElement(...) | provenance | MaD:1 | +| B.java:534:26:534:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:534:63:534:64 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:534:52:534:59 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:534:52:534:59 | source(...) : Object | B.java:534:26:534:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:534:63:534:64 | in : LinkedBlockingDeque [] : Object | B.java:534:74:534:76 | out [post update] : Collection [] : Object | provenance | MaD:12 | +| B.java:534:74:534:76 | out [post update] : Collection [] : Object | B.java:534:99:534:101 | out : Collection [] : Object | provenance | | +| B.java:534:99:534:101 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | provenance | | +| B.java:534:99:534:101 | out : Collection [] : Object | B.java:534:87:534:102 | readElement(...) | provenance | MaD:1 | +| B.java:539:26:539:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | B.java:539:63:539:64 | in : LinkedBlockingDeque [] : Object | provenance | | +| B.java:539:52:539:59 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | | +| B.java:539:52:539:59 | source(...) : Object | B.java:539:26:539:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:52 | +| B.java:539:63:539:64 | in : LinkedBlockingDeque [] : Object | B.java:539:74:539:76 | out [post update] : Collection [] : Object | provenance | MaD:11 | +| B.java:539:74:539:76 | out [post update] : Collection [] : Object | B.java:539:97:539:99 | out : Collection [] : Object | provenance | | +| B.java:539:97:539:99 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | provenance | | +| B.java:539:97:539:99 | out : Collection [] : Object | B.java:539:85:539:100 | readElement(...) | provenance | MaD:1 | +| B.java:544:19:544:41 | storeMapValue(...) : Map [] : Object | B.java:544:51:544:71 | (...)... : ConcurrentHashMap [] : Object | provenance | | +| B.java:544:33:544:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:544:33:544:40 | source(...) : Object | B.java:544:19:544:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:544:50:544:83 | elements(...) : Enumeration [] : Object | B.java:544:103:544:105 | out : Enumeration [] : Object | provenance | | +| B.java:544:51:544:71 | (...)... : ConcurrentHashMap [] : Object | B.java:544:50:544:83 | elements(...) : Enumeration [] : Object | provenance | MaD:17 | +| B.java:544:103:544:105 | out : Enumeration [] : Object | B.java:35:28:35:45 | obj : Enumeration [] : Object | provenance | | +| B.java:544:103:544:105 | out : Enumeration [] : Object | B.java:544:91:544:106 | readElement(...) | provenance | MaD:135 | +| B.java:549:19:549:41 | storeMapValue(...) : Map [] : Object | B.java:549:51:549:64 | (...)... : Map [] : Object | provenance | | +| B.java:549:33:549:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:549:33:549:40 | source(...) : Object | B.java:549:19:549:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:549:50:549:76 | elements(...) : Enumeration [] : Object | B.java:549:96:549:98 | out : Enumeration [] : Object | provenance | | +| B.java:549:51:549:64 | (...)... : Map [] : Object | B.java:549:50:549:76 | elements(...) : Enumeration [] : Object | provenance | MaD:123 | +| B.java:549:96:549:98 | out : Enumeration [] : Object | B.java:35:28:35:45 | obj : Enumeration [] : Object | provenance | | +| B.java:549:96:549:98 | out : Enumeration [] : Object | B.java:549:84:549:99 | readElement(...) | provenance | MaD:135 | +| B.java:554:19:554:41 | storeMapValue(...) : Map [] : Object | B.java:554:51:554:64 | (...)... : Map [] : Object | provenance | | +| B.java:554:33:554:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:554:33:554:40 | source(...) : Object | B.java:554:19:554:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:554:50:554:75 | get(...) : Object | B.java:554:83:554:85 | out | provenance | | +| B.java:554:51:554:64 | (...)... : Map [] : Object | B.java:554:50:554:75 | get(...) : Object | provenance | MaD:124 | +| B.java:559:19:559:41 | storeMapValue(...) : Map [] : Object | B.java:559:51:559:64 | (...)... : Map [] : Object | provenance | | +| B.java:559:33:559:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:559:33:559:40 | source(...) : Object | B.java:559:19:559:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:559:50:559:80 | put(...) : Object | B.java:559:88:559:90 | out | provenance | | +| B.java:559:51:559:64 | (...)... : Map [] : Object | B.java:559:50:559:80 | put(...) : Object | provenance | MaD:126 | +| B.java:564:19:564:26 | source(...) : Object | B.java:564:37:564:38 | in : Object | provenance | | +| B.java:564:29:564:31 | out [post update] : Dictionary [] : Object | B.java:564:63:564:65 | out : Dictionary [] : Object | provenance | | +| B.java:564:37:564:38 | in : Object | B.java:564:29:564:31 | out [post update] : Dictionary [] : Object | provenance | MaD:127 | +| B.java:564:63:564:65 | out : Dictionary [] : Object | B.java:45:29:45:47 | obj : Dictionary [] : Object | provenance | | +| B.java:564:63:564:65 | out : Dictionary [] : Object | B.java:564:52:564:66 | readMapKey(...) | provenance | MaD:125 | +| B.java:569:19:569:26 | source(...) : Object | B.java:569:42:569:43 | in : Object | provenance | | +| B.java:569:29:569:31 | out [post update] : Dictionary [] : Object | B.java:569:65:569:67 | out : Dictionary [] : Object | provenance | | +| B.java:569:42:569:43 | in : Object | B.java:569:29:569:31 | out [post update] : Dictionary [] : Object | provenance | MaD:128 | +| B.java:569:65:569:67 | out : Dictionary [] : Object | B.java:49:31:49:49 | obj : Dictionary [] : Object | provenance | | +| B.java:569:65:569:67 | out : Dictionary [] : Object | B.java:569:52:569:68 | readMapValue(...) | provenance | MaD:124 | +| B.java:574:19:574:41 | storeMapValue(...) : Map [] : Object | B.java:574:51:574:64 | (...)... : Map [] : Object | provenance | | +| B.java:574:33:574:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:574:33:574:40 | source(...) : Object | B.java:574:19:574:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:574:50:574:78 | remove(...) : Object | B.java:574:86:574:88 | out | provenance | | +| B.java:574:51:574:64 | (...)... : Map [] : Object | B.java:574:50:574:78 | remove(...) : Object | provenance | MaD:129 | +| B.java:579:19:579:39 | storeMapKey(...) : TreeMap [] : Object | B.java:579:49:579:64 | (...)... : TreeMap [] : Object | provenance | | +| B.java:579:31:579:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:579:31:579:38 | source(...) : Object | B.java:579:19:579:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:579:48:579:84 | ceilingEntry(...) : Entry [] : Object | B.java:579:103:579:105 | out : Entry [] : Object | provenance | | +| B.java:579:49:579:64 | (...)... : TreeMap [] : Object | B.java:579:48:579:84 | ceilingEntry(...) : Entry [] : Object | provenance | MaD:227 | +| B.java:579:103:579:105 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | provenance | | +| B.java:579:103:579:105 | out : Entry [] : Object | B.java:579:92:579:106 | readMapKey(...) | provenance | MaD:223 | +| B.java:584:19:584:41 | storeMapValue(...) : Map [] : Object | B.java:584:51:584:66 | (...)... : NavigableMap [] : Object | provenance | | +| B.java:584:33:584:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:584:33:584:40 | source(...) : Object | B.java:584:19:584:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:584:50:584:86 | ceilingEntry(...) : Entry [] : Object | B.java:584:107:584:109 | out : Entry [] : Object | provenance | | +| B.java:584:51:584:66 | (...)... : NavigableMap [] : Object | B.java:584:50:584:86 | ceilingEntry(...) : Entry [] : Object | provenance | MaD:228 | +| B.java:584:107:584:109 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | +| B.java:584:107:584:109 | out : Entry [] : Object | B.java:584:94:584:110 | readMapValue(...) | provenance | MaD:224 | +| B.java:589:19:589:39 | storeMapKey(...) : TreeMap [] : Object | B.java:589:49:589:64 | (...)... : TreeMap [] : Object | provenance | | +| B.java:589:31:589:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:589:31:589:38 | source(...) : Object | B.java:589:19:589:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:589:48:589:81 | descendingMap(...) : NavigableMap [] : Object | B.java:589:100:589:102 | out : NavigableMap [] : Object | provenance | | +| B.java:589:49:589:64 | (...)... : TreeMap [] : Object | B.java:589:48:589:81 | descendingMap(...) : NavigableMap [] : Object | provenance | MaD:229 | +| B.java:589:100:589:102 | out : NavigableMap [] : Object | B.java:44:29:44:40 | obj : NavigableMap [] : Object | provenance | | +| B.java:589:100:589:102 | out : NavigableMap [] : Object | B.java:589:89:589:103 | readMapKey(...) | provenance | MaD:184 | +| B.java:594:19:594:41 | storeMapValue(...) : Map [] : Object | B.java:594:51:594:66 | (...)... : NavigableMap [] : Object | provenance | | +| B.java:594:33:594:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:594:33:594:40 | source(...) : Object | B.java:594:19:594:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:594:50:594:83 | descendingMap(...) : NavigableMap [] : Object | B.java:594:104:594:106 | out : NavigableMap [] : Object | provenance | | +| B.java:594:51:594:66 | (...)... : NavigableMap [] : Object | B.java:594:50:594:83 | descendingMap(...) : NavigableMap [] : Object | provenance | MaD:230 | +| B.java:594:104:594:106 | out : NavigableMap [] : Object | B.java:48:31:48:42 | obj : NavigableMap [] : Object | provenance | | +| B.java:594:104:594:106 | out : NavigableMap [] : Object | B.java:594:91:594:107 | readMapValue(...) | provenance | MaD:181 | +| B.java:599:19:599:39 | storeMapKey(...) : TreeMap [] : Object | B.java:599:49:599:64 | (...)... : TreeMap [] : Object | provenance | | +| B.java:599:31:599:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:599:31:599:38 | source(...) : Object | B.java:599:19:599:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:599:48:599:78 | firstEntry(...) : Entry [] : Object | B.java:599:97:599:99 | out : Entry [] : Object | provenance | | +| B.java:599:49:599:64 | (...)... : TreeMap [] : Object | B.java:599:48:599:78 | firstEntry(...) : Entry [] : Object | provenance | MaD:231 | +| B.java:599:49:599:64 | (...)... : TreeMap [] : Object | B.java:599:48:599:78 | firstEntry(...) : Entry [] : Object | provenance | MaD:277 | +| B.java:599:97:599:99 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | provenance | | +| B.java:599:97:599:99 | out : Entry [] : Object | B.java:599:86:599:100 | readMapKey(...) | provenance | MaD:223 | +| B.java:604:19:604:41 | storeMapValue(...) : Map [] : Object | B.java:604:51:604:66 | (...)... : NavigableMap [] : Object | provenance | | +| B.java:604:33:604:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:604:33:604:40 | source(...) : Object | B.java:604:19:604:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:604:50:604:80 | firstEntry(...) : Entry [] : Object | B.java:604:101:604:103 | out : Entry [] : Object | provenance | | +| B.java:604:51:604:66 | (...)... : NavigableMap [] : Object | B.java:604:50:604:80 | firstEntry(...) : Entry [] : Object | provenance | MaD:232 | +| B.java:604:51:604:66 | (...)... : NavigableMap [] : Object | B.java:604:50:604:80 | firstEntry(...) : Entry [] : Object | provenance | MaD:278 | +| B.java:604:101:604:103 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | +| B.java:604:101:604:103 | out : Entry [] : Object | B.java:604:88:604:104 | readMapValue(...) | provenance | MaD:224 | +| B.java:609:19:609:39 | storeMapKey(...) : TreeMap [] : Object | B.java:609:49:609:64 | (...)... : TreeMap [] : Object | provenance | | +| B.java:609:31:609:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:609:31:609:38 | source(...) : Object | B.java:609:19:609:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:609:48:609:82 | floorEntry(...) : Entry [] : Object | B.java:609:101:609:103 | out : Entry [] : Object | provenance | | +| B.java:609:49:609:64 | (...)... : TreeMap [] : Object | B.java:609:48:609:82 | floorEntry(...) : Entry [] : Object | provenance | MaD:233 | +| B.java:609:101:609:103 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | provenance | | +| B.java:609:101:609:103 | out : Entry [] : Object | B.java:609:90:609:104 | readMapKey(...) | provenance | MaD:223 | +| B.java:614:19:614:41 | storeMapValue(...) : Map [] : Object | B.java:614:51:614:66 | (...)... : NavigableMap [] : Object | provenance | | +| B.java:614:33:614:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:614:33:614:40 | source(...) : Object | B.java:614:19:614:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:614:50:614:84 | floorEntry(...) : Entry [] : Object | B.java:614:105:614:107 | out : Entry [] : Object | provenance | | +| B.java:614:51:614:66 | (...)... : NavigableMap [] : Object | B.java:614:50:614:84 | floorEntry(...) : Entry [] : Object | provenance | MaD:234 | +| B.java:614:105:614:107 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | +| B.java:614:105:614:107 | out : Entry [] : Object | B.java:614:92:614:108 | readMapValue(...) | provenance | MaD:224 | +| B.java:619:19:619:39 | storeMapKey(...) : TreeMap [] : Object | B.java:619:49:619:64 | (...)... : TreeMap [] : Object | provenance | | +| B.java:619:31:619:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:619:31:619:38 | source(...) : Object | B.java:619:19:619:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:619:48:619:84 | headMap(...) : NavigableMap [] : Object | B.java:619:103:619:105 | out : NavigableMap [] : Object | provenance | | +| B.java:619:49:619:64 | (...)... : TreeMap [] : Object | B.java:619:48:619:84 | headMap(...) : NavigableMap [] : Object | provenance | MaD:235 | +| B.java:619:103:619:105 | out : NavigableMap [] : Object | B.java:44:29:44:40 | obj : NavigableMap [] : Object | provenance | | +| B.java:619:103:619:105 | out : NavigableMap [] : Object | B.java:619:92:619:106 | readMapKey(...) | provenance | MaD:184 | +| B.java:624:19:624:41 | storeMapValue(...) : Map [] : Object | B.java:624:51:624:66 | (...)... : NavigableMap [] : Object | provenance | | +| B.java:624:33:624:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:624:33:624:40 | source(...) : Object | B.java:624:19:624:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:624:50:624:86 | headMap(...) : NavigableMap [] : Object | B.java:624:107:624:109 | out : NavigableMap [] : Object | provenance | | +| B.java:624:51:624:66 | (...)... : NavigableMap [] : Object | B.java:624:50:624:86 | headMap(...) : NavigableMap [] : Object | provenance | MaD:236 | +| B.java:624:107:624:109 | out : NavigableMap [] : Object | B.java:48:31:48:42 | obj : NavigableMap [] : Object | provenance | | +| B.java:624:107:624:109 | out : NavigableMap [] : Object | B.java:624:94:624:110 | readMapValue(...) | provenance | MaD:181 | +| B.java:629:19:629:39 | storeMapKey(...) : TreeMap [] : Object | B.java:629:49:629:64 | (...)... : TreeMap [] : Object | provenance | | +| B.java:629:31:629:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:629:31:629:38 | source(...) : Object | B.java:629:19:629:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:629:48:629:83 | higherEntry(...) : Entry [] : Object | B.java:629:102:629:104 | out : Entry [] : Object | provenance | | +| B.java:629:49:629:64 | (...)... : TreeMap [] : Object | B.java:629:48:629:83 | higherEntry(...) : Entry [] : Object | provenance | MaD:237 | +| B.java:629:102:629:104 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | provenance | | +| B.java:629:102:629:104 | out : Entry [] : Object | B.java:629:91:629:105 | readMapKey(...) | provenance | MaD:223 | +| B.java:634:19:634:41 | storeMapValue(...) : Map [] : Object | B.java:634:51:634:66 | (...)... : NavigableMap [] : Object | provenance | | +| B.java:634:33:634:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:634:33:634:40 | source(...) : Object | B.java:634:19:634:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:634:50:634:85 | higherEntry(...) : Entry [] : Object | B.java:634:106:634:108 | out : Entry [] : Object | provenance | | +| B.java:634:51:634:66 | (...)... : NavigableMap [] : Object | B.java:634:50:634:85 | higherEntry(...) : Entry [] : Object | provenance | MaD:238 | +| B.java:634:106:634:108 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | +| B.java:634:106:634:108 | out : Entry [] : Object | B.java:634:93:634:109 | readMapValue(...) | provenance | MaD:224 | +| B.java:639:19:639:39 | storeMapKey(...) : TreeMap [] : Object | B.java:639:49:639:64 | (...)... : TreeMap [] : Object | provenance | | +| B.java:639:31:639:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:639:31:639:38 | source(...) : Object | B.java:639:19:639:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:639:48:639:77 | lastEntry(...) : Entry [] : Object | B.java:639:96:639:98 | out : Entry [] : Object | provenance | | +| B.java:639:49:639:64 | (...)... : TreeMap [] : Object | B.java:639:48:639:77 | lastEntry(...) : Entry [] : Object | provenance | MaD:239 | +| B.java:639:49:639:64 | (...)... : TreeMap [] : Object | B.java:639:48:639:77 | lastEntry(...) : Entry [] : Object | provenance | MaD:279 | +| B.java:639:96:639:98 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | provenance | | +| B.java:639:96:639:98 | out : Entry [] : Object | B.java:639:85:639:99 | readMapKey(...) | provenance | MaD:223 | +| B.java:644:19:644:41 | storeMapValue(...) : Map [] : Object | B.java:644:51:644:66 | (...)... : NavigableMap [] : Object | provenance | | +| B.java:644:33:644:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:644:33:644:40 | source(...) : Object | B.java:644:19:644:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:644:50:644:79 | lastEntry(...) : Entry [] : Object | B.java:644:100:644:102 | out : Entry [] : Object | provenance | | +| B.java:644:51:644:66 | (...)... : NavigableMap [] : Object | B.java:644:50:644:79 | lastEntry(...) : Entry [] : Object | provenance | MaD:240 | +| B.java:644:51:644:66 | (...)... : NavigableMap [] : Object | B.java:644:50:644:79 | lastEntry(...) : Entry [] : Object | provenance | MaD:280 | +| B.java:644:100:644:102 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | +| B.java:644:100:644:102 | out : Entry [] : Object | B.java:644:87:644:103 | readMapValue(...) | provenance | MaD:224 | +| B.java:649:19:649:39 | storeMapKey(...) : TreeMap [] : Object | B.java:649:49:649:64 | (...)... : TreeMap [] : Object | provenance | | +| B.java:649:31:649:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:649:31:649:38 | source(...) : Object | B.java:649:19:649:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:649:48:649:82 | lowerEntry(...) : Entry [] : Object | B.java:649:101:649:103 | out : Entry [] : Object | provenance | | +| B.java:649:49:649:64 | (...)... : TreeMap [] : Object | B.java:649:48:649:82 | lowerEntry(...) : Entry [] : Object | provenance | MaD:241 | +| B.java:649:101:649:103 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | provenance | | +| B.java:649:101:649:103 | out : Entry [] : Object | B.java:649:90:649:104 | readMapKey(...) | provenance | MaD:223 | +| B.java:654:19:654:41 | storeMapValue(...) : Map [] : Object | B.java:654:51:654:66 | (...)... : NavigableMap [] : Object | provenance | | +| B.java:654:33:654:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:654:33:654:40 | source(...) : Object | B.java:654:19:654:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:654:50:654:84 | lowerEntry(...) : Entry [] : Object | B.java:654:105:654:107 | out : Entry [] : Object | provenance | | +| B.java:654:51:654:66 | (...)... : NavigableMap [] : Object | B.java:654:50:654:84 | lowerEntry(...) : Entry [] : Object | provenance | MaD:242 | +| B.java:654:105:654:107 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | +| B.java:654:105:654:107 | out : Entry [] : Object | B.java:654:92:654:108 | readMapValue(...) | provenance | MaD:224 | +| B.java:659:19:659:39 | storeMapKey(...) : TreeMap [] : Object | B.java:659:49:659:64 | (...)... : TreeMap [] : Object | provenance | | +| B.java:659:31:659:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:659:31:659:38 | source(...) : Object | B.java:659:19:659:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:659:48:659:82 | pollFirstEntry(...) : Entry [] : Object | B.java:659:101:659:103 | out : Entry [] : Object | provenance | | +| B.java:659:49:659:64 | (...)... : TreeMap [] : Object | B.java:659:48:659:82 | pollFirstEntry(...) : Entry [] : Object | provenance | MaD:243 | +| B.java:659:49:659:64 | (...)... : TreeMap [] : Object | B.java:659:48:659:82 | pollFirstEntry(...) : Entry [] : Object | provenance | MaD:281 | +| B.java:659:101:659:103 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | provenance | | +| B.java:659:101:659:103 | out : Entry [] : Object | B.java:659:90:659:104 | readMapKey(...) | provenance | MaD:223 | +| B.java:664:19:664:41 | storeMapValue(...) : Map [] : Object | B.java:664:51:664:66 | (...)... : NavigableMap [] : Object | provenance | | +| B.java:664:33:664:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:664:33:664:40 | source(...) : Object | B.java:664:19:664:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:664:50:664:84 | pollFirstEntry(...) : Entry [] : Object | B.java:664:105:664:107 | out : Entry [] : Object | provenance | | +| B.java:664:51:664:66 | (...)... : NavigableMap [] : Object | B.java:664:50:664:84 | pollFirstEntry(...) : Entry [] : Object | provenance | MaD:244 | +| B.java:664:51:664:66 | (...)... : NavigableMap [] : Object | B.java:664:50:664:84 | pollFirstEntry(...) : Entry [] : Object | provenance | MaD:282 | +| B.java:664:105:664:107 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | +| B.java:664:105:664:107 | out : Entry [] : Object | B.java:664:92:664:108 | readMapValue(...) | provenance | MaD:224 | +| B.java:669:19:669:39 | storeMapKey(...) : TreeMap [] : Object | B.java:669:49:669:64 | (...)... : TreeMap [] : Object | provenance | | +| B.java:669:31:669:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:669:31:669:38 | source(...) : Object | B.java:669:19:669:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:669:48:669:81 | pollLastEntry(...) : Entry [] : Object | B.java:669:100:669:102 | out : Entry [] : Object | provenance | | +| B.java:669:49:669:64 | (...)... : TreeMap [] : Object | B.java:669:48:669:81 | pollLastEntry(...) : Entry [] : Object | provenance | MaD:245 | +| B.java:669:49:669:64 | (...)... : TreeMap [] : Object | B.java:669:48:669:81 | pollLastEntry(...) : Entry [] : Object | provenance | MaD:283 | +| B.java:669:100:669:102 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | provenance | | +| B.java:669:100:669:102 | out : Entry [] : Object | B.java:669:89:669:103 | readMapKey(...) | provenance | MaD:223 | +| B.java:674:19:674:41 | storeMapValue(...) : Map [] : Object | B.java:674:51:674:66 | (...)... : NavigableMap [] : Object | provenance | | +| B.java:674:33:674:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:674:33:674:40 | source(...) : Object | B.java:674:19:674:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:674:50:674:83 | pollLastEntry(...) : Entry [] : Object | B.java:674:104:674:106 | out : Entry [] : Object | provenance | | +| B.java:674:51:674:66 | (...)... : NavigableMap [] : Object | B.java:674:50:674:83 | pollLastEntry(...) : Entry [] : Object | provenance | MaD:246 | +| B.java:674:51:674:66 | (...)... : NavigableMap [] : Object | B.java:674:50:674:83 | pollLastEntry(...) : Entry [] : Object | provenance | MaD:284 | +| B.java:674:104:674:106 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | +| B.java:674:104:674:106 | out : Entry [] : Object | B.java:674:91:674:107 | readMapValue(...) | provenance | MaD:224 | +| B.java:679:19:679:39 | storeMapKey(...) : TreeMap [] : Object | B.java:679:49:679:64 | (...)... : TreeMap [] : Object | provenance | | +| B.java:679:31:679:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:679:31:679:38 | source(...) : Object | B.java:679:19:679:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:679:48:679:93 | subMap(...) : NavigableMap [] : Object | B.java:679:112:679:114 | out : NavigableMap [] : Object | provenance | | +| B.java:679:49:679:64 | (...)... : TreeMap [] : Object | B.java:679:48:679:93 | subMap(...) : NavigableMap [] : Object | provenance | MaD:247 | +| B.java:679:112:679:114 | out : NavigableMap [] : Object | B.java:44:29:44:40 | obj : NavigableMap [] : Object | provenance | | +| B.java:679:112:679:114 | out : NavigableMap [] : Object | B.java:679:101:679:115 | readMapKey(...) | provenance | MaD:184 | +| B.java:684:19:684:41 | storeMapValue(...) : Map [] : Object | B.java:684:51:684:66 | (...)... : NavigableMap [] : Object | provenance | | +| B.java:684:33:684:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:684:33:684:40 | source(...) : Object | B.java:684:19:684:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:684:50:684:95 | subMap(...) : NavigableMap [] : Object | B.java:684:116:684:118 | out : NavigableMap [] : Object | provenance | | +| B.java:684:51:684:66 | (...)... : NavigableMap [] : Object | B.java:684:50:684:95 | subMap(...) : NavigableMap [] : Object | provenance | MaD:248 | +| B.java:684:116:684:118 | out : NavigableMap [] : Object | B.java:48:31:48:42 | obj : NavigableMap [] : Object | provenance | | +| B.java:684:116:684:118 | out : NavigableMap [] : Object | B.java:684:103:684:119 | readMapValue(...) | provenance | MaD:181 | +| B.java:689:19:689:39 | storeMapKey(...) : TreeMap [] : Object | B.java:689:49:689:64 | (...)... : TreeMap [] : Object | provenance | | +| B.java:689:31:689:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:689:31:689:38 | source(...) : Object | B.java:689:19:689:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:689:48:689:84 | tailMap(...) : NavigableMap [] : Object | B.java:689:103:689:105 | out : NavigableMap [] : Object | provenance | | +| B.java:689:49:689:64 | (...)... : TreeMap [] : Object | B.java:689:48:689:84 | tailMap(...) : NavigableMap [] : Object | provenance | MaD:249 | +| B.java:689:103:689:105 | out : NavigableMap [] : Object | B.java:44:29:44:40 | obj : NavigableMap [] : Object | provenance | | +| B.java:689:103:689:105 | out : NavigableMap [] : Object | B.java:689:92:689:106 | readMapKey(...) | provenance | MaD:184 | +| B.java:694:19:694:41 | storeMapValue(...) : Map [] : Object | B.java:694:51:694:66 | (...)... : NavigableMap [] : Object | provenance | | +| B.java:694:33:694:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:694:33:694:40 | source(...) : Object | B.java:694:19:694:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:694:50:694:86 | tailMap(...) : NavigableMap [] : Object | B.java:694:107:694:109 | out : NavigableMap [] : Object | provenance | | +| B.java:694:51:694:66 | (...)... : NavigableMap [] : Object | B.java:694:50:694:86 | tailMap(...) : NavigableMap [] : Object | provenance | MaD:250 | +| B.java:694:107:694:109 | out : NavigableMap [] : Object | B.java:48:31:48:42 | obj : NavigableMap [] : Object | provenance | | +| B.java:694:107:694:109 | out : NavigableMap [] : Object | B.java:694:94:694:110 | readMapValue(...) | provenance | MaD:181 | +| B.java:699:25:699:52 | storeElementNavSet(...) : TreeSet [] : Object | B.java:699:61:699:62 | in : TreeSet [] : Object | provenance | | +| B.java:699:44:699:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:699:44:699:51 | source(...) : Object | B.java:699:25:699:52 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:699:61:699:62 | in : TreeSet [] : Object | B.java:699:61:699:76 | ceiling(...) : Object | provenance | MaD:251 | +| B.java:699:61:699:76 | ceiling(...) : Object | B.java:699:84:699:86 | out | provenance | | +| B.java:704:25:704:52 | storeElementNavSet(...) : TreeSet [] : Object | B.java:704:61:704:62 | in : TreeSet [] : Object | provenance | | +| B.java:704:44:704:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:704:44:704:51 | source(...) : Object | B.java:704:25:704:52 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:704:61:704:62 | in : TreeSet [] : Object | B.java:704:61:704:83 | descendingIterator(...) : Iterator [] : Object | provenance | MaD:252 | +| B.java:704:61:704:83 | descendingIterator(...) : Iterator [] : Object | B.java:704:103:704:105 | out : Iterator [] : Object | provenance | | +| B.java:704:103:704:105 | out : Iterator [] : Object | B.java:32:28:32:42 | obj : Iterator [] : Object | provenance | | +| B.java:704:103:704:105 | out : Iterator [] : Object | B.java:704:91:704:106 | readElement(...) | provenance | MaD:143 | +| B.java:709:25:709:52 | storeElementNavSet(...) : TreeSet [] : Object | B.java:709:61:709:62 | in : TreeSet [] : Object | provenance | | +| B.java:709:44:709:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:709:44:709:51 | source(...) : Object | B.java:709:25:709:52 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:709:61:709:62 | in : TreeSet [] : Object | B.java:709:61:709:78 | descendingSet(...) : NavigableSet [] : Object | provenance | MaD:253 | +| B.java:709:61:709:78 | descendingSet(...) : NavigableSet [] : Object | B.java:709:98:709:100 | out : NavigableSet [] : Object | provenance | | +| B.java:709:98:709:100 | out : NavigableSet [] : Object | B.java:31:28:31:42 | obj : NavigableSet [] : Object | provenance | | +| B.java:709:98:709:100 | out : NavigableSet [] : Object | B.java:709:86:709:101 | readElement(...) | provenance | MaD:1 | +| B.java:714:25:714:52 | storeElementNavSet(...) : TreeSet [] : Object | B.java:714:61:714:62 | in : TreeSet [] : Object | provenance | | +| B.java:714:44:714:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:714:44:714:51 | source(...) : Object | B.java:714:25:714:52 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:714:61:714:62 | in : TreeSet [] : Object | B.java:714:61:714:74 | floor(...) : Object | provenance | MaD:254 | +| B.java:714:61:714:74 | floor(...) : Object | B.java:714:82:714:84 | out | provenance | | +| B.java:719:25:719:52 | storeElementNavSet(...) : TreeSet [] : Object | B.java:719:61:719:62 | in : TreeSet [] : Object | provenance | | +| B.java:719:44:719:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:719:44:719:51 | source(...) : Object | B.java:719:25:719:52 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:719:61:719:62 | in : TreeSet [] : Object | B.java:719:61:719:81 | headSet(...) : NavigableSet [] : Object | provenance | MaD:255 | +| B.java:719:61:719:81 | headSet(...) : NavigableSet [] : Object | B.java:719:101:719:103 | out : NavigableSet [] : Object | provenance | | +| B.java:719:101:719:103 | out : NavigableSet [] : Object | B.java:31:28:31:42 | obj : NavigableSet [] : Object | provenance | | +| B.java:719:101:719:103 | out : NavigableSet [] : Object | B.java:719:89:719:104 | readElement(...) | provenance | MaD:1 | +| B.java:724:25:724:52 | storeElementNavSet(...) : TreeSet [] : Object | B.java:724:61:724:62 | in : TreeSet [] : Object | provenance | | +| B.java:724:44:724:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:724:44:724:51 | source(...) : Object | B.java:724:25:724:52 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:724:61:724:62 | in : TreeSet [] : Object | B.java:724:61:724:75 | higher(...) : Object | provenance | MaD:256 | +| B.java:724:61:724:75 | higher(...) : Object | B.java:724:83:724:85 | out | provenance | | +| B.java:729:25:729:52 | storeElementNavSet(...) : TreeSet [] : Object | B.java:729:61:729:62 | in : TreeSet [] : Object | provenance | | +| B.java:729:44:729:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:729:44:729:51 | source(...) : Object | B.java:729:25:729:52 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:729:61:729:62 | in : TreeSet [] : Object | B.java:729:61:729:74 | lower(...) : Object | provenance | MaD:257 | +| B.java:729:61:729:74 | lower(...) : Object | B.java:729:82:729:84 | out | provenance | | +| B.java:734:25:734:52 | storeElementNavSet(...) : TreeSet [] : Object | B.java:734:61:734:62 | in : TreeSet [] : Object | provenance | | +| B.java:734:44:734:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:734:44:734:51 | source(...) : Object | B.java:734:25:734:52 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:734:61:734:62 | in : TreeSet [] : Object | B.java:734:61:734:74 | pollFirst(...) : Object | provenance | MaD:258 | +| B.java:734:61:734:74 | pollFirst(...) : Object | B.java:734:82:734:84 | out | provenance | | +| B.java:739:25:739:52 | storeElementNavSet(...) : TreeSet [] : Object | B.java:739:61:739:62 | in : TreeSet [] : Object | provenance | | +| B.java:739:44:739:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:739:44:739:51 | source(...) : Object | B.java:739:25:739:52 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:739:61:739:62 | in : TreeSet [] : Object | B.java:739:61:739:73 | pollLast(...) : Object | provenance | MaD:259 | +| B.java:739:61:739:73 | pollLast(...) : Object | B.java:739:81:739:83 | out | provenance | | +| B.java:744:25:744:52 | storeElementNavSet(...) : TreeSet [] : Object | B.java:744:61:744:62 | in : TreeSet [] : Object | provenance | | +| B.java:744:44:744:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:744:44:744:51 | source(...) : Object | B.java:744:25:744:52 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:744:61:744:62 | in : TreeSet [] : Object | B.java:744:61:744:90 | subSet(...) : NavigableSet [] : Object | provenance | MaD:260 | +| B.java:744:61:744:90 | subSet(...) : NavigableSet [] : Object | B.java:744:110:744:112 | out : NavigableSet [] : Object | provenance | | +| B.java:744:110:744:112 | out : NavigableSet [] : Object | B.java:31:28:31:42 | obj : NavigableSet [] : Object | provenance | | +| B.java:744:110:744:112 | out : NavigableSet [] : Object | B.java:744:98:744:113 | readElement(...) | provenance | MaD:1 | +| B.java:749:25:749:52 | storeElementNavSet(...) : TreeSet [] : Object | B.java:749:61:749:62 | in : TreeSet [] : Object | provenance | | +| B.java:749:44:749:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:749:44:749:51 | source(...) : Object | B.java:749:25:749:52 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:749:61:749:62 | in : TreeSet [] : Object | B.java:749:61:749:81 | tailSet(...) : NavigableSet [] : Object | provenance | MaD:261 | +| B.java:749:61:749:81 | tailSet(...) : NavigableSet [] : Object | B.java:749:101:749:103 | out : NavigableSet [] : Object | provenance | | +| B.java:749:101:749:103 | out : NavigableSet [] : Object | B.java:31:28:31:42 | obj : NavigableSet [] : Object | provenance | | +| B.java:749:101:749:103 | out : NavigableSet [] : Object | B.java:749:89:749:104 | readElement(...) | provenance | MaD:1 | +| B.java:754:19:754:39 | storeMapKey(...) : TreeMap [] : Object | B.java:754:49:754:61 | (...)... : TreeMap [] : Object | provenance | | +| B.java:754:31:754:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:754:31:754:38 | source(...) : Object | B.java:754:19:754:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:754:48:754:76 | headMap(...) : SortedMap [] : Object | B.java:754:95:754:97 | out : SortedMap [] : Object | provenance | | +| B.java:754:49:754:61 | (...)... : TreeMap [] : Object | B.java:754:48:754:76 | headMap(...) : SortedMap [] : Object | provenance | MaD:311 | +| B.java:754:95:754:97 | out : SortedMap [] : Object | B.java:44:29:44:40 | obj : SortedMap [] : Object | provenance | | +| B.java:754:95:754:97 | out : SortedMap [] : Object | B.java:754:84:754:98 | readMapKey(...) | provenance | MaD:184 | +| B.java:759:19:759:41 | storeMapValue(...) : Map [] : Object | B.java:759:51:759:63 | (...)... : SortedMap [] : Object | provenance | | +| B.java:759:33:759:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:759:33:759:40 | source(...) : Object | B.java:759:19:759:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:759:50:759:78 | headMap(...) : SortedMap [] : Object | B.java:759:99:759:101 | out : SortedMap [] : Object | provenance | | +| B.java:759:51:759:63 | (...)... : SortedMap [] : Object | B.java:759:50:759:78 | headMap(...) : SortedMap [] : Object | provenance | MaD:312 | +| B.java:759:99:759:101 | out : SortedMap [] : Object | B.java:48:31:48:42 | obj : SortedMap [] : Object | provenance | | +| B.java:759:99:759:101 | out : SortedMap [] : Object | B.java:759:86:759:102 | readMapValue(...) | provenance | MaD:181 | +| B.java:764:19:764:39 | storeMapKey(...) : TreeMap [] : Object | B.java:764:49:764:61 | (...)... : TreeMap [] : Object | provenance | | +| B.java:764:31:764:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:764:31:764:38 | source(...) : Object | B.java:764:19:764:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:764:48:764:80 | subMap(...) : SortedMap [] : Object | B.java:764:99:764:101 | out : SortedMap [] : Object | provenance | | +| B.java:764:49:764:61 | (...)... : TreeMap [] : Object | B.java:764:48:764:80 | subMap(...) : SortedMap [] : Object | provenance | MaD:313 | +| B.java:764:99:764:101 | out : SortedMap [] : Object | B.java:44:29:44:40 | obj : SortedMap [] : Object | provenance | | +| B.java:764:99:764:101 | out : SortedMap [] : Object | B.java:764:88:764:102 | readMapKey(...) | provenance | MaD:184 | +| B.java:769:19:769:41 | storeMapValue(...) : Map [] : Object | B.java:769:51:769:63 | (...)... : SortedMap [] : Object | provenance | | +| B.java:769:33:769:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:769:33:769:40 | source(...) : Object | B.java:769:19:769:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:769:50:769:82 | subMap(...) : SortedMap [] : Object | B.java:769:103:769:105 | out : SortedMap [] : Object | provenance | | +| B.java:769:51:769:63 | (...)... : SortedMap [] : Object | B.java:769:50:769:82 | subMap(...) : SortedMap [] : Object | provenance | MaD:314 | +| B.java:769:103:769:105 | out : SortedMap [] : Object | B.java:48:31:48:42 | obj : SortedMap [] : Object | provenance | | +| B.java:769:103:769:105 | out : SortedMap [] : Object | B.java:769:90:769:106 | readMapValue(...) | provenance | MaD:181 | +| B.java:774:19:774:39 | storeMapKey(...) : TreeMap [] : Object | B.java:774:49:774:61 | (...)... : TreeMap [] : Object | provenance | | +| B.java:774:31:774:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:774:31:774:38 | source(...) : Object | B.java:774:19:774:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:774:48:774:76 | tailMap(...) : SortedMap [] : Object | B.java:774:95:774:97 | out : SortedMap [] : Object | provenance | | +| B.java:774:49:774:61 | (...)... : TreeMap [] : Object | B.java:774:48:774:76 | tailMap(...) : SortedMap [] : Object | provenance | MaD:315 | +| B.java:774:95:774:97 | out : SortedMap [] : Object | B.java:44:29:44:40 | obj : SortedMap [] : Object | provenance | | +| B.java:774:95:774:97 | out : SortedMap [] : Object | B.java:774:84:774:98 | readMapKey(...) | provenance | MaD:184 | +| B.java:779:19:779:41 | storeMapValue(...) : Map [] : Object | B.java:779:51:779:63 | (...)... : SortedMap [] : Object | provenance | | +| B.java:779:33:779:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:779:33:779:40 | source(...) : Object | B.java:779:19:779:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:779:50:779:78 | tailMap(...) : SortedMap [] : Object | B.java:779:99:779:101 | out : SortedMap [] : Object | provenance | | +| B.java:779:51:779:63 | (...)... : SortedMap [] : Object | B.java:779:50:779:78 | tailMap(...) : SortedMap [] : Object | provenance | MaD:316 | +| B.java:779:99:779:101 | out : SortedMap [] : Object | B.java:48:31:48:42 | obj : SortedMap [] : Object | provenance | | +| B.java:779:99:779:101 | out : SortedMap [] : Object | B.java:779:86:779:102 | readMapValue(...) | provenance | MaD:181 | +| B.java:784:22:784:49 | storeElementNavSet(...) : TreeSet [] : Object | B.java:784:58:784:59 | in : TreeSet [] : Object | provenance | | +| B.java:784:41:784:48 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:784:41:784:48 | source(...) : Object | B.java:784:22:784:49 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:784:58:784:59 | in : TreeSet [] : Object | B.java:784:58:784:67 | first(...) : Object | provenance | MaD:317 | +| B.java:784:58:784:67 | first(...) : Object | B.java:784:75:784:77 | out | provenance | | +| B.java:789:22:789:49 | storeElementNavSet(...) : TreeSet [] : Object | B.java:789:58:789:59 | in : TreeSet [] : Object | provenance | | +| B.java:789:41:789:48 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:789:41:789:48 | source(...) : Object | B.java:789:22:789:49 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:789:58:789:59 | in : TreeSet [] : Object | B.java:789:58:789:73 | headSet(...) : SortedSet [] : Object | provenance | MaD:318 | +| B.java:789:58:789:73 | headSet(...) : SortedSet [] : Object | B.java:789:93:789:95 | out : SortedSet [] : Object | provenance | | +| B.java:789:93:789:95 | out : SortedSet [] : Object | B.java:31:28:31:42 | obj : SortedSet [] : Object | provenance | | +| B.java:789:93:789:95 | out : SortedSet [] : Object | B.java:789:81:789:96 | readElement(...) | provenance | MaD:1 | +| B.java:794:22:794:49 | storeElementNavSet(...) : TreeSet [] : Object | B.java:794:58:794:59 | in : TreeSet [] : Object | provenance | | +| B.java:794:41:794:48 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:794:41:794:48 | source(...) : Object | B.java:794:22:794:49 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:794:58:794:59 | in : TreeSet [] : Object | B.java:794:58:794:66 | last(...) : Object | provenance | MaD:319 | +| B.java:794:58:794:66 | last(...) : Object | B.java:794:74:794:76 | out | provenance | | +| B.java:799:22:799:49 | storeElementNavSet(...) : TreeSet [] : Object | B.java:799:58:799:59 | in : TreeSet [] : Object | provenance | | +| B.java:799:41:799:48 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:799:41:799:48 | source(...) : Object | B.java:799:22:799:49 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:799:58:799:59 | in : TreeSet [] : Object | B.java:799:58:799:77 | subSet(...) : SortedSet [] : Object | provenance | MaD:320 | +| B.java:799:58:799:77 | subSet(...) : SortedSet [] : Object | B.java:799:97:799:99 | out : SortedSet [] : Object | provenance | | +| B.java:799:97:799:99 | out : SortedSet [] : Object | B.java:31:28:31:42 | obj : SortedSet [] : Object | provenance | | +| B.java:799:97:799:99 | out : SortedSet [] : Object | B.java:799:85:799:100 | readElement(...) | provenance | MaD:1 | +| B.java:804:22:804:49 | storeElementNavSet(...) : TreeSet [] : Object | B.java:804:58:804:59 | in : TreeSet [] : Object | provenance | | +| B.java:804:41:804:48 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:804:41:804:48 | source(...) : Object | B.java:804:22:804:49 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:804:58:804:59 | in : TreeSet [] : Object | B.java:804:58:804:73 | tailSet(...) : SortedSet [] : Object | provenance | MaD:321 | +| B.java:804:58:804:73 | tailSet(...) : SortedSet [] : Object | B.java:804:93:804:95 | out : SortedSet [] : Object | provenance | | +| B.java:804:93:804:95 | out : SortedSet [] : Object | B.java:31:28:31:42 | obj : SortedSet [] : Object | provenance | | +| B.java:804:93:804:95 | out : SortedSet [] : Object | B.java:804:81:804:96 | readElement(...) | provenance | MaD:1 | +| B.java:809:19:809:26 | source(...) : Object | B.java:809:45:809:46 | in : Object | provenance | | +| B.java:809:29:809:31 | out [post update] : TransferQueue [] : Object | B.java:809:74:809:76 | out : TransferQueue [] : Object | provenance | | +| B.java:809:45:809:46 | in : Object | B.java:809:29:809:31 | out [post update] : TransferQueue [] : Object | provenance | MaD:20 | +| B.java:809:74:809:76 | out : TransferQueue [] : Object | B.java:31:28:31:42 | obj : TransferQueue [] : Object | provenance | | +| B.java:809:74:809:76 | out : TransferQueue [] : Object | B.java:809:62:809:77 | readElement(...) | provenance | MaD:1 | +| B.java:814:19:814:26 | source(...) : Object | B.java:814:42:814:43 | in : Object | provenance | | +| B.java:814:29:814:31 | out [post update] : TransferQueue [] : Object | B.java:814:64:814:66 | out : TransferQueue [] : Object | provenance | | +| B.java:814:42:814:43 | in : Object | B.java:814:29:814:31 | out [post update] : TransferQueue [] : Object | provenance | MaD:18 | +| B.java:814:64:814:66 | out : TransferQueue [] : Object | B.java:31:28:31:42 | obj : TransferQueue [] : Object | provenance | | +| B.java:814:64:814:66 | out : TransferQueue [] : Object | B.java:814:52:814:67 | readElement(...) | provenance | MaD:1 | +| B.java:819:19:819:26 | source(...) : Object | B.java:819:45:819:46 | in : Object | provenance | | +| B.java:819:29:819:31 | out [post update] : TransferQueue [] : Object | B.java:819:67:819:69 | out : TransferQueue [] : Object | provenance | | +| B.java:819:45:819:46 | in : Object | B.java:819:29:819:31 | out [post update] : TransferQueue [] : Object | provenance | MaD:19 | +| B.java:819:67:819:69 | out : TransferQueue [] : Object | B.java:31:28:31:42 | obj : TransferQueue [] : Object | provenance | | +| B.java:819:67:819:69 | out : TransferQueue [] : Object | B.java:819:55:819:70 | readElement(...) | provenance | MaD:1 | +| B.java:824:23:824:48 | storeElementList(...) : List [] : Object | B.java:824:69:824:70 | in : List [] : Object | provenance | | +| B.java:824:40:824:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:824:40:824:47 | source(...) : Object | B.java:824:23:824:48 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:824:57:824:71 | copyOf(...) : List [] : Object | B.java:824:91:824:93 | out : List [] : Object | provenance | | +| B.java:824:69:824:70 | in : List [] : Object | B.java:824:57:824:71 | copyOf(...) : List [] : Object | provenance | MaD:151 | +| B.java:824:91:824:93 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:824:91:824:93 | out : List [] : Object | B.java:824:79:824:94 | readElement(...) | provenance | MaD:1 | +| B.java:829:21:829:47 | storeArrayElement(...) : Object[] [[]] : Object | B.java:829:64:829:65 | in : Object[] [[]] : Object | provenance | | +| B.java:829:39:829:46 | source(...) : Object | B.java:11:37:11:46 | obj : Object | provenance | | +| B.java:829:39:829:46 | source(...) : Object | B.java:829:21:829:47 | storeArrayElement(...) : Object[] [[]] : Object | provenance | | +| B.java:829:56:829:66 | of(...) : List [] : Object | B.java:829:86:829:88 | out : List [] : Object | provenance | | +| B.java:829:64:829:65 | in : Object[] [[]] : Object | B.java:829:56:829:66 | of(...) : List [] : Object | provenance | MaD:164 | +| B.java:829:86:829:88 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:829:86:829:88 | out : List [] : Object | B.java:829:74:829:89 | readElement(...) | provenance | MaD:1 | +| B.java:834:19:834:26 | source(...) : Object | B.java:834:43:834:44 | in : Object | provenance | | +| B.java:834:35:834:45 | of(...) : List [] : Object | B.java:834:65:834:67 | out : List [] : Object | provenance | | +| B.java:834:43:834:44 | in : Object | B.java:834:35:834:45 | of(...) : List [] : Object | provenance | MaD:154 | +| B.java:834:65:834:67 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:834:65:834:67 | out : List [] : Object | B.java:834:53:834:68 | readElement(...) | provenance | MaD:1 | +| B.java:839:19:839:26 | source(...) : Object | B.java:839:43:839:44 | in : Object | provenance | | +| B.java:839:35:839:50 | of(...) : List [] : Object | B.java:839:70:839:72 | out : List [] : Object | provenance | | +| B.java:839:43:839:44 | in : Object | B.java:839:35:839:50 | of(...) : List [] : Object | provenance | MaD:155 | +| B.java:839:70:839:72 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:839:70:839:72 | out : List [] : Object | B.java:839:58:839:73 | readElement(...) | provenance | MaD:1 | +| B.java:844:19:844:26 | source(...) : Object | B.java:844:48:844:49 | in : Object | provenance | | +| B.java:844:35:844:50 | of(...) : List [] : Object | B.java:844:70:844:72 | out : List [] : Object | provenance | | +| B.java:844:48:844:49 | in : Object | B.java:844:35:844:50 | of(...) : List [] : Object | provenance | MaD:155 | +| B.java:844:70:844:72 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:844:70:844:72 | out : List [] : Object | B.java:844:58:844:73 | readElement(...) | provenance | MaD:1 | +| B.java:849:19:849:26 | source(...) : Object | B.java:849:43:849:44 | in : Object | provenance | | +| B.java:849:35:849:55 | of(...) : List [] : Object | B.java:849:75:849:77 | out : List [] : Object | provenance | | +| B.java:849:43:849:44 | in : Object | B.java:849:35:849:55 | of(...) : List [] : Object | provenance | MaD:156 | +| B.java:849:75:849:77 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:849:75:849:77 | out : List [] : Object | B.java:849:63:849:78 | readElement(...) | provenance | MaD:1 | +| B.java:854:19:854:26 | source(...) : Object | B.java:854:48:854:49 | in : Object | provenance | | +| B.java:854:35:854:55 | of(...) : List [] : Object | B.java:854:75:854:77 | out : List [] : Object | provenance | | +| B.java:854:48:854:49 | in : Object | B.java:854:35:854:55 | of(...) : List [] : Object | provenance | MaD:156 | +| B.java:854:75:854:77 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:854:75:854:77 | out : List [] : Object | B.java:854:63:854:78 | readElement(...) | provenance | MaD:1 | +| B.java:859:19:859:26 | source(...) : Object | B.java:859:53:859:54 | in : Object | provenance | | +| B.java:859:35:859:55 | of(...) : List [] : Object | B.java:859:75:859:77 | out : List [] : Object | provenance | | +| B.java:859:53:859:54 | in : Object | B.java:859:35:859:55 | of(...) : List [] : Object | provenance | MaD:156 | +| B.java:859:75:859:77 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:859:75:859:77 | out : List [] : Object | B.java:859:63:859:78 | readElement(...) | provenance | MaD:1 | +| B.java:864:19:864:26 | source(...) : Object | B.java:864:43:864:44 | in : Object | provenance | | +| B.java:864:35:864:60 | of(...) : List [] : Object | B.java:864:80:864:82 | out : List [] : Object | provenance | | +| B.java:864:43:864:44 | in : Object | B.java:864:35:864:60 | of(...) : List [] : Object | provenance | MaD:157 | +| B.java:864:80:864:82 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:864:80:864:82 | out : List [] : Object | B.java:864:68:864:83 | readElement(...) | provenance | MaD:1 | +| B.java:869:19:869:26 | source(...) : Object | B.java:869:48:869:49 | in : Object | provenance | | +| B.java:869:35:869:60 | of(...) : List [] : Object | B.java:869:80:869:82 | out : List [] : Object | provenance | | +| B.java:869:48:869:49 | in : Object | B.java:869:35:869:60 | of(...) : List [] : Object | provenance | MaD:157 | +| B.java:869:80:869:82 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:869:80:869:82 | out : List [] : Object | B.java:869:68:869:83 | readElement(...) | provenance | MaD:1 | +| B.java:874:19:874:26 | source(...) : Object | B.java:874:53:874:54 | in : Object | provenance | | +| B.java:874:35:874:60 | of(...) : List [] : Object | B.java:874:80:874:82 | out : List [] : Object | provenance | | +| B.java:874:53:874:54 | in : Object | B.java:874:35:874:60 | of(...) : List [] : Object | provenance | MaD:157 | +| B.java:874:80:874:82 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:874:80:874:82 | out : List [] : Object | B.java:874:68:874:83 | readElement(...) | provenance | MaD:1 | +| B.java:879:19:879:26 | source(...) : Object | B.java:879:58:879:59 | in : Object | provenance | | +| B.java:879:35:879:60 | of(...) : List [] : Object | B.java:879:80:879:82 | out : List [] : Object | provenance | | +| B.java:879:58:879:59 | in : Object | B.java:879:35:879:60 | of(...) : List [] : Object | provenance | MaD:157 | +| B.java:879:80:879:82 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:879:80:879:82 | out : List [] : Object | B.java:879:68:879:83 | readElement(...) | provenance | MaD:1 | +| B.java:884:19:884:26 | source(...) : Object | B.java:884:43:884:44 | in : Object | provenance | | +| B.java:884:35:884:65 | of(...) : List [] : Object | B.java:884:85:884:87 | out : List [] : Object | provenance | | +| B.java:884:43:884:44 | in : Object | B.java:884:35:884:65 | of(...) : List [] : Object | provenance | MaD:158 | +| B.java:884:85:884:87 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:884:85:884:87 | out : List [] : Object | B.java:884:73:884:88 | readElement(...) | provenance | MaD:1 | +| B.java:889:19:889:26 | source(...) : Object | B.java:889:48:889:49 | in : Object | provenance | | +| B.java:889:35:889:65 | of(...) : List [] : Object | B.java:889:85:889:87 | out : List [] : Object | provenance | | +| B.java:889:48:889:49 | in : Object | B.java:889:35:889:65 | of(...) : List [] : Object | provenance | MaD:158 | +| B.java:889:85:889:87 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:889:85:889:87 | out : List [] : Object | B.java:889:73:889:88 | readElement(...) | provenance | MaD:1 | +| B.java:894:19:894:26 | source(...) : Object | B.java:894:53:894:54 | in : Object | provenance | | +| B.java:894:35:894:65 | of(...) : List [] : Object | B.java:894:85:894:87 | out : List [] : Object | provenance | | +| B.java:894:53:894:54 | in : Object | B.java:894:35:894:65 | of(...) : List [] : Object | provenance | MaD:158 | +| B.java:894:85:894:87 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:894:85:894:87 | out : List [] : Object | B.java:894:73:894:88 | readElement(...) | provenance | MaD:1 | +| B.java:899:19:899:26 | source(...) : Object | B.java:899:58:899:59 | in : Object | provenance | | +| B.java:899:35:899:65 | of(...) : List [] : Object | B.java:899:85:899:87 | out : List [] : Object | provenance | | +| B.java:899:58:899:59 | in : Object | B.java:899:35:899:65 | of(...) : List [] : Object | provenance | MaD:158 | +| B.java:899:85:899:87 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:899:85:899:87 | out : List [] : Object | B.java:899:73:899:88 | readElement(...) | provenance | MaD:1 | +| B.java:904:19:904:26 | source(...) : Object | B.java:904:63:904:64 | in : Object | provenance | | +| B.java:904:35:904:65 | of(...) : List [] : Object | B.java:904:85:904:87 | out : List [] : Object | provenance | | +| B.java:904:63:904:64 | in : Object | B.java:904:35:904:65 | of(...) : List [] : Object | provenance | MaD:158 | +| B.java:904:85:904:87 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:904:85:904:87 | out : List [] : Object | B.java:904:73:904:88 | readElement(...) | provenance | MaD:1 | +| B.java:909:19:909:26 | source(...) : Object | B.java:909:43:909:44 | in : Object | provenance | | +| B.java:909:35:909:70 | of(...) : List [] : Object | B.java:909:90:909:92 | out : List [] : Object | provenance | | +| B.java:909:43:909:44 | in : Object | B.java:909:35:909:70 | of(...) : List [] : Object | provenance | MaD:159 | +| B.java:909:90:909:92 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:909:90:909:92 | out : List [] : Object | B.java:909:78:909:93 | readElement(...) | provenance | MaD:1 | +| B.java:914:19:914:26 | source(...) : Object | B.java:914:48:914:49 | in : Object | provenance | | +| B.java:914:35:914:70 | of(...) : List [] : Object | B.java:914:90:914:92 | out : List [] : Object | provenance | | +| B.java:914:48:914:49 | in : Object | B.java:914:35:914:70 | of(...) : List [] : Object | provenance | MaD:159 | +| B.java:914:90:914:92 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:914:90:914:92 | out : List [] : Object | B.java:914:78:914:93 | readElement(...) | provenance | MaD:1 | +| B.java:919:19:919:26 | source(...) : Object | B.java:919:53:919:54 | in : Object | provenance | | +| B.java:919:35:919:70 | of(...) : List [] : Object | B.java:919:90:919:92 | out : List [] : Object | provenance | | +| B.java:919:53:919:54 | in : Object | B.java:919:35:919:70 | of(...) : List [] : Object | provenance | MaD:159 | +| B.java:919:90:919:92 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:919:90:919:92 | out : List [] : Object | B.java:919:78:919:93 | readElement(...) | provenance | MaD:1 | +| B.java:924:19:924:26 | source(...) : Object | B.java:924:58:924:59 | in : Object | provenance | | +| B.java:924:35:924:70 | of(...) : List [] : Object | B.java:924:90:924:92 | out : List [] : Object | provenance | | +| B.java:924:58:924:59 | in : Object | B.java:924:35:924:70 | of(...) : List [] : Object | provenance | MaD:159 | +| B.java:924:90:924:92 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:924:90:924:92 | out : List [] : Object | B.java:924:78:924:93 | readElement(...) | provenance | MaD:1 | +| B.java:929:19:929:26 | source(...) : Object | B.java:929:63:929:64 | in : Object | provenance | | +| B.java:929:35:929:70 | of(...) : List [] : Object | B.java:929:90:929:92 | out : List [] : Object | provenance | | +| B.java:929:63:929:64 | in : Object | B.java:929:35:929:70 | of(...) : List [] : Object | provenance | MaD:159 | +| B.java:929:90:929:92 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:929:90:929:92 | out : List [] : Object | B.java:929:78:929:93 | readElement(...) | provenance | MaD:1 | +| B.java:934:19:934:26 | source(...) : Object | B.java:934:68:934:69 | in : Object | provenance | | +| B.java:934:35:934:70 | of(...) : List [] : Object | B.java:934:90:934:92 | out : List [] : Object | provenance | | +| B.java:934:68:934:69 | in : Object | B.java:934:35:934:70 | of(...) : List [] : Object | provenance | MaD:159 | +| B.java:934:90:934:92 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:934:90:934:92 | out : List [] : Object | B.java:934:78:934:93 | readElement(...) | provenance | MaD:1 | +| B.java:939:19:939:26 | source(...) : Object | B.java:939:43:939:44 | in : Object | provenance | | +| B.java:939:35:939:75 | of(...) : List [] : Object | B.java:939:95:939:97 | out : List [] : Object | provenance | | +| B.java:939:43:939:44 | in : Object | B.java:939:35:939:75 | of(...) : List [] : Object | provenance | MaD:160 | +| B.java:939:95:939:97 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:939:95:939:97 | out : List [] : Object | B.java:939:83:939:98 | readElement(...) | provenance | MaD:1 | +| B.java:944:19:944:26 | source(...) : Object | B.java:944:48:944:49 | in : Object | provenance | | +| B.java:944:35:944:75 | of(...) : List [] : Object | B.java:944:95:944:97 | out : List [] : Object | provenance | | +| B.java:944:48:944:49 | in : Object | B.java:944:35:944:75 | of(...) : List [] : Object | provenance | MaD:160 | +| B.java:944:95:944:97 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:944:95:944:97 | out : List [] : Object | B.java:944:83:944:98 | readElement(...) | provenance | MaD:1 | +| B.java:949:19:949:26 | source(...) : Object | B.java:949:53:949:54 | in : Object | provenance | | +| B.java:949:35:949:75 | of(...) : List [] : Object | B.java:949:95:949:97 | out : List [] : Object | provenance | | +| B.java:949:53:949:54 | in : Object | B.java:949:35:949:75 | of(...) : List [] : Object | provenance | MaD:160 | +| B.java:949:95:949:97 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:949:95:949:97 | out : List [] : Object | B.java:949:83:949:98 | readElement(...) | provenance | MaD:1 | +| B.java:954:19:954:26 | source(...) : Object | B.java:954:58:954:59 | in : Object | provenance | | +| B.java:954:35:954:75 | of(...) : List [] : Object | B.java:954:95:954:97 | out : List [] : Object | provenance | | +| B.java:954:58:954:59 | in : Object | B.java:954:35:954:75 | of(...) : List [] : Object | provenance | MaD:160 | +| B.java:954:95:954:97 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:954:95:954:97 | out : List [] : Object | B.java:954:83:954:98 | readElement(...) | provenance | MaD:1 | +| B.java:959:19:959:26 | source(...) : Object | B.java:959:63:959:64 | in : Object | provenance | | +| B.java:959:35:959:75 | of(...) : List [] : Object | B.java:959:95:959:97 | out : List [] : Object | provenance | | +| B.java:959:63:959:64 | in : Object | B.java:959:35:959:75 | of(...) : List [] : Object | provenance | MaD:160 | +| B.java:959:95:959:97 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:959:95:959:97 | out : List [] : Object | B.java:959:83:959:98 | readElement(...) | provenance | MaD:1 | +| B.java:964:19:964:26 | source(...) : Object | B.java:964:68:964:69 | in : Object | provenance | | +| B.java:964:35:964:75 | of(...) : List [] : Object | B.java:964:95:964:97 | out : List [] : Object | provenance | | +| B.java:964:68:964:69 | in : Object | B.java:964:35:964:75 | of(...) : List [] : Object | provenance | MaD:160 | +| B.java:964:95:964:97 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:964:95:964:97 | out : List [] : Object | B.java:964:83:964:98 | readElement(...) | provenance | MaD:1 | +| B.java:969:19:969:26 | source(...) : Object | B.java:969:73:969:74 | in : Object | provenance | | +| B.java:969:35:969:75 | of(...) : List [] : Object | B.java:969:95:969:97 | out : List [] : Object | provenance | | +| B.java:969:73:969:74 | in : Object | B.java:969:35:969:75 | of(...) : List [] : Object | provenance | MaD:160 | +| B.java:969:95:969:97 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:969:95:969:97 | out : List [] : Object | B.java:969:83:969:98 | readElement(...) | provenance | MaD:1 | +| B.java:974:19:974:26 | source(...) : Object | B.java:974:43:974:44 | in : Object | provenance | | +| B.java:974:35:974:80 | of(...) : List [] : Object | B.java:974:100:974:102 | out : List [] : Object | provenance | | +| B.java:974:43:974:44 | in : Object | B.java:974:35:974:80 | of(...) : List [] : Object | provenance | MaD:161 | +| B.java:974:100:974:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:974:100:974:102 | out : List [] : Object | B.java:974:88:974:103 | readElement(...) | provenance | MaD:1 | +| B.java:979:19:979:26 | source(...) : Object | B.java:979:48:979:49 | in : Object | provenance | | +| B.java:979:35:979:80 | of(...) : List [] : Object | B.java:979:100:979:102 | out : List [] : Object | provenance | | +| B.java:979:48:979:49 | in : Object | B.java:979:35:979:80 | of(...) : List [] : Object | provenance | MaD:161 | +| B.java:979:100:979:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:979:100:979:102 | out : List [] : Object | B.java:979:88:979:103 | readElement(...) | provenance | MaD:1 | +| B.java:984:19:984:26 | source(...) : Object | B.java:984:53:984:54 | in : Object | provenance | | +| B.java:984:35:984:80 | of(...) : List [] : Object | B.java:984:100:984:102 | out : List [] : Object | provenance | | +| B.java:984:53:984:54 | in : Object | B.java:984:35:984:80 | of(...) : List [] : Object | provenance | MaD:161 | +| B.java:984:100:984:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:984:100:984:102 | out : List [] : Object | B.java:984:88:984:103 | readElement(...) | provenance | MaD:1 | +| B.java:989:19:989:26 | source(...) : Object | B.java:989:58:989:59 | in : Object | provenance | | +| B.java:989:35:989:80 | of(...) : List [] : Object | B.java:989:100:989:102 | out : List [] : Object | provenance | | +| B.java:989:58:989:59 | in : Object | B.java:989:35:989:80 | of(...) : List [] : Object | provenance | MaD:161 | +| B.java:989:100:989:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:989:100:989:102 | out : List [] : Object | B.java:989:88:989:103 | readElement(...) | provenance | MaD:1 | +| B.java:994:19:994:26 | source(...) : Object | B.java:994:63:994:64 | in : Object | provenance | | +| B.java:994:35:994:80 | of(...) : List [] : Object | B.java:994:100:994:102 | out : List [] : Object | provenance | | +| B.java:994:63:994:64 | in : Object | B.java:994:35:994:80 | of(...) : List [] : Object | provenance | MaD:161 | +| B.java:994:100:994:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:994:100:994:102 | out : List [] : Object | B.java:994:88:994:103 | readElement(...) | provenance | MaD:1 | +| B.java:999:19:999:26 | source(...) : Object | B.java:999:68:999:69 | in : Object | provenance | | +| B.java:999:35:999:80 | of(...) : List [] : Object | B.java:999:100:999:102 | out : List [] : Object | provenance | | +| B.java:999:68:999:69 | in : Object | B.java:999:35:999:80 | of(...) : List [] : Object | provenance | MaD:161 | +| B.java:999:100:999:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:999:100:999:102 | out : List [] : Object | B.java:999:88:999:103 | readElement(...) | provenance | MaD:1 | +| B.java:1004:19:1004:26 | source(...) : Object | B.java:1004:73:1004:74 | in : Object | provenance | | +| B.java:1004:35:1004:80 | of(...) : List [] : Object | B.java:1004:100:1004:102 | out : List [] : Object | provenance | | +| B.java:1004:73:1004:74 | in : Object | B.java:1004:35:1004:80 | of(...) : List [] : Object | provenance | MaD:161 | +| B.java:1004:100:1004:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1004:100:1004:102 | out : List [] : Object | B.java:1004:88:1004:103 | readElement(...) | provenance | MaD:1 | +| B.java:1009:19:1009:26 | source(...) : Object | B.java:1009:78:1009:79 | in : Object | provenance | | +| B.java:1009:35:1009:80 | of(...) : List [] : Object | B.java:1009:100:1009:102 | out : List [] : Object | provenance | | +| B.java:1009:78:1009:79 | in : Object | B.java:1009:35:1009:80 | of(...) : List [] : Object | provenance | MaD:161 | +| B.java:1009:100:1009:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1009:100:1009:102 | out : List [] : Object | B.java:1009:88:1009:103 | readElement(...) | provenance | MaD:1 | +| B.java:1014:19:1014:26 | source(...) : Object | B.java:1014:43:1014:44 | in : Object | provenance | | +| B.java:1014:35:1014:85 | of(...) : List [] : Object | B.java:1014:105:1014:107 | out : List [] : Object | provenance | | +| B.java:1014:43:1014:44 | in : Object | B.java:1014:35:1014:85 | of(...) : List [] : Object | provenance | MaD:162 | +| B.java:1014:105:1014:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1014:105:1014:107 | out : List [] : Object | B.java:1014:93:1014:108 | readElement(...) | provenance | MaD:1 | +| B.java:1019:19:1019:26 | source(...) : Object | B.java:1019:48:1019:49 | in : Object | provenance | | +| B.java:1019:35:1019:85 | of(...) : List [] : Object | B.java:1019:105:1019:107 | out : List [] : Object | provenance | | +| B.java:1019:48:1019:49 | in : Object | B.java:1019:35:1019:85 | of(...) : List [] : Object | provenance | MaD:162 | +| B.java:1019:105:1019:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1019:105:1019:107 | out : List [] : Object | B.java:1019:93:1019:108 | readElement(...) | provenance | MaD:1 | +| B.java:1024:19:1024:26 | source(...) : Object | B.java:1024:53:1024:54 | in : Object | provenance | | +| B.java:1024:35:1024:85 | of(...) : List [] : Object | B.java:1024:105:1024:107 | out : List [] : Object | provenance | | +| B.java:1024:53:1024:54 | in : Object | B.java:1024:35:1024:85 | of(...) : List [] : Object | provenance | MaD:162 | +| B.java:1024:105:1024:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1024:105:1024:107 | out : List [] : Object | B.java:1024:93:1024:108 | readElement(...) | provenance | MaD:1 | +| B.java:1029:19:1029:26 | source(...) : Object | B.java:1029:58:1029:59 | in : Object | provenance | | +| B.java:1029:35:1029:85 | of(...) : List [] : Object | B.java:1029:105:1029:107 | out : List [] : Object | provenance | | +| B.java:1029:58:1029:59 | in : Object | B.java:1029:35:1029:85 | of(...) : List [] : Object | provenance | MaD:162 | +| B.java:1029:105:1029:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1029:105:1029:107 | out : List [] : Object | B.java:1029:93:1029:108 | readElement(...) | provenance | MaD:1 | +| B.java:1034:19:1034:26 | source(...) : Object | B.java:1034:63:1034:64 | in : Object | provenance | | +| B.java:1034:35:1034:85 | of(...) : List [] : Object | B.java:1034:105:1034:107 | out : List [] : Object | provenance | | +| B.java:1034:63:1034:64 | in : Object | B.java:1034:35:1034:85 | of(...) : List [] : Object | provenance | MaD:162 | +| B.java:1034:105:1034:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1034:105:1034:107 | out : List [] : Object | B.java:1034:93:1034:108 | readElement(...) | provenance | MaD:1 | +| B.java:1039:19:1039:26 | source(...) : Object | B.java:1039:68:1039:69 | in : Object | provenance | | +| B.java:1039:35:1039:85 | of(...) : List [] : Object | B.java:1039:105:1039:107 | out : List [] : Object | provenance | | +| B.java:1039:68:1039:69 | in : Object | B.java:1039:35:1039:85 | of(...) : List [] : Object | provenance | MaD:162 | +| B.java:1039:105:1039:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1039:105:1039:107 | out : List [] : Object | B.java:1039:93:1039:108 | readElement(...) | provenance | MaD:1 | +| B.java:1044:19:1044:26 | source(...) : Object | B.java:1044:73:1044:74 | in : Object | provenance | | +| B.java:1044:35:1044:85 | of(...) : List [] : Object | B.java:1044:105:1044:107 | out : List [] : Object | provenance | | +| B.java:1044:73:1044:74 | in : Object | B.java:1044:35:1044:85 | of(...) : List [] : Object | provenance | MaD:162 | +| B.java:1044:105:1044:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1044:105:1044:107 | out : List [] : Object | B.java:1044:93:1044:108 | readElement(...) | provenance | MaD:1 | +| B.java:1049:19:1049:26 | source(...) : Object | B.java:1049:78:1049:79 | in : Object | provenance | | +| B.java:1049:35:1049:85 | of(...) : List [] : Object | B.java:1049:105:1049:107 | out : List [] : Object | provenance | | +| B.java:1049:78:1049:79 | in : Object | B.java:1049:35:1049:85 | of(...) : List [] : Object | provenance | MaD:162 | +| B.java:1049:105:1049:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1049:105:1049:107 | out : List [] : Object | B.java:1049:93:1049:108 | readElement(...) | provenance | MaD:1 | +| B.java:1054:19:1054:26 | source(...) : Object | B.java:1054:83:1054:84 | in : Object | provenance | | +| B.java:1054:35:1054:85 | of(...) : List [] : Object | B.java:1054:105:1054:107 | out : List [] : Object | provenance | | +| B.java:1054:83:1054:84 | in : Object | B.java:1054:35:1054:85 | of(...) : List [] : Object | provenance | MaD:162 | +| B.java:1054:105:1054:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1054:105:1054:107 | out : List [] : Object | B.java:1054:93:1054:108 | readElement(...) | provenance | MaD:1 | +| B.java:1059:19:1059:26 | source(...) : Object | B.java:1059:43:1059:44 | in : Object | provenance | | +| B.java:1059:35:1059:90 | of(...) : List [] : Object | B.java:1059:110:1059:112 | out : List [] : Object | provenance | | +| B.java:1059:43:1059:44 | in : Object | B.java:1059:35:1059:90 | of(...) : List [] : Object | provenance | MaD:163 | +| B.java:1059:110:1059:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1059:110:1059:112 | out : List [] : Object | B.java:1059:98:1059:113 | readElement(...) | provenance | MaD:1 | +| B.java:1064:19:1064:26 | source(...) : Object | B.java:1064:48:1064:49 | in : Object | provenance | | +| B.java:1064:35:1064:90 | of(...) : List [] : Object | B.java:1064:110:1064:112 | out : List [] : Object | provenance | | +| B.java:1064:48:1064:49 | in : Object | B.java:1064:35:1064:90 | of(...) : List [] : Object | provenance | MaD:163 | +| B.java:1064:110:1064:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1064:110:1064:112 | out : List [] : Object | B.java:1064:98:1064:113 | readElement(...) | provenance | MaD:1 | +| B.java:1069:19:1069:26 | source(...) : Object | B.java:1069:53:1069:54 | in : Object | provenance | | +| B.java:1069:35:1069:90 | of(...) : List [] : Object | B.java:1069:110:1069:112 | out : List [] : Object | provenance | | +| B.java:1069:53:1069:54 | in : Object | B.java:1069:35:1069:90 | of(...) : List [] : Object | provenance | MaD:163 | +| B.java:1069:110:1069:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1069:110:1069:112 | out : List [] : Object | B.java:1069:98:1069:113 | readElement(...) | provenance | MaD:1 | +| B.java:1074:19:1074:26 | source(...) : Object | B.java:1074:58:1074:59 | in : Object | provenance | | +| B.java:1074:35:1074:90 | of(...) : List [] : Object | B.java:1074:110:1074:112 | out : List [] : Object | provenance | | +| B.java:1074:58:1074:59 | in : Object | B.java:1074:35:1074:90 | of(...) : List [] : Object | provenance | MaD:163 | +| B.java:1074:110:1074:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1074:110:1074:112 | out : List [] : Object | B.java:1074:98:1074:113 | readElement(...) | provenance | MaD:1 | +| B.java:1079:19:1079:26 | source(...) : Object | B.java:1079:63:1079:64 | in : Object | provenance | | +| B.java:1079:35:1079:90 | of(...) : List [] : Object | B.java:1079:110:1079:112 | out : List [] : Object | provenance | | +| B.java:1079:63:1079:64 | in : Object | B.java:1079:35:1079:90 | of(...) : List [] : Object | provenance | MaD:163 | +| B.java:1079:110:1079:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1079:110:1079:112 | out : List [] : Object | B.java:1079:98:1079:113 | readElement(...) | provenance | MaD:1 | +| B.java:1084:19:1084:26 | source(...) : Object | B.java:1084:68:1084:69 | in : Object | provenance | | +| B.java:1084:35:1084:90 | of(...) : List [] : Object | B.java:1084:110:1084:112 | out : List [] : Object | provenance | | +| B.java:1084:68:1084:69 | in : Object | B.java:1084:35:1084:90 | of(...) : List [] : Object | provenance | MaD:163 | +| B.java:1084:110:1084:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1084:110:1084:112 | out : List [] : Object | B.java:1084:98:1084:113 | readElement(...) | provenance | MaD:1 | +| B.java:1089:19:1089:26 | source(...) : Object | B.java:1089:73:1089:74 | in : Object | provenance | | +| B.java:1089:35:1089:90 | of(...) : List [] : Object | B.java:1089:110:1089:112 | out : List [] : Object | provenance | | +| B.java:1089:73:1089:74 | in : Object | B.java:1089:35:1089:90 | of(...) : List [] : Object | provenance | MaD:163 | +| B.java:1089:110:1089:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1089:110:1089:112 | out : List [] : Object | B.java:1089:98:1089:113 | readElement(...) | provenance | MaD:1 | +| B.java:1094:19:1094:26 | source(...) : Object | B.java:1094:78:1094:79 | in : Object | provenance | | +| B.java:1094:35:1094:90 | of(...) : List [] : Object | B.java:1094:110:1094:112 | out : List [] : Object | provenance | | +| B.java:1094:78:1094:79 | in : Object | B.java:1094:35:1094:90 | of(...) : List [] : Object | provenance | MaD:163 | +| B.java:1094:110:1094:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1094:110:1094:112 | out : List [] : Object | B.java:1094:98:1094:113 | readElement(...) | provenance | MaD:1 | +| B.java:1099:19:1099:26 | source(...) : Object | B.java:1099:83:1099:84 | in : Object | provenance | | +| B.java:1099:35:1099:90 | of(...) : List [] : Object | B.java:1099:110:1099:112 | out : List [] : Object | provenance | | +| B.java:1099:83:1099:84 | in : Object | B.java:1099:35:1099:90 | of(...) : List [] : Object | provenance | MaD:163 | +| B.java:1099:110:1099:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1099:110:1099:112 | out : List [] : Object | B.java:1099:98:1099:113 | readElement(...) | provenance | MaD:1 | +| B.java:1104:19:1104:26 | source(...) : Object | B.java:1104:88:1104:89 | in : Object | provenance | | +| B.java:1104:35:1104:90 | of(...) : List [] : Object | B.java:1104:110:1104:112 | out : List [] : Object | provenance | | +| B.java:1104:88:1104:89 | in : Object | B.java:1104:35:1104:90 | of(...) : List [] : Object | provenance | MaD:163 | +| B.java:1104:110:1104:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1104:110:1104:112 | out : List [] : Object | B.java:1104:98:1104:113 | readElement(...) | provenance | MaD:1 | +| B.java:1109:19:1109:39 | storeMapKey(...) : TreeMap [] : Object | B.java:1109:59:1109:65 | (...)... : TreeMap [] : Object | provenance | | +| B.java:1109:31:1109:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:1109:31:1109:38 | source(...) : Object | B.java:1109:19:1109:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:1109:48:1109:66 | copyOf(...) : Map [] : Object | B.java:1109:85:1109:87 | out : Map [] : Object | provenance | | +| B.java:1109:59:1109:65 | (...)... : TreeMap [] : Object | B.java:1109:48:1109:66 | copyOf(...) : Map [] : Object | provenance | MaD:175 | +| B.java:1109:85:1109:87 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:1109:85:1109:87 | out : Map [] : Object | B.java:1109:74:1109:88 | readMapKey(...) | provenance | MaD:184 | +| B.java:1114:19:1114:41 | storeMapValue(...) : Map [] : Object | B.java:1114:61:1114:67 | (...)... : Map [] : Object | provenance | | +| B.java:1114:33:1114:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1114:33:1114:40 | source(...) : Object | B.java:1114:19:1114:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1114:50:1114:68 | copyOf(...) : Map [] : Object | B.java:1114:89:1114:91 | out : Map [] : Object | provenance | | +| B.java:1114:61:1114:67 | (...)... : Map [] : Object | B.java:1114:50:1114:68 | copyOf(...) : Map [] : Object | provenance | MaD:176 | +| B.java:1114:89:1114:91 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:1114:89:1114:91 | out : Map [] : Object | B.java:1114:76:1114:92 | readMapValue(...) | provenance | MaD:181 | +| B.java:1119:19:1119:26 | source(...) : Object | B.java:1119:45:1119:46 | in : Object | provenance | | +| B.java:1119:35:1119:52 | entry(...) : Entry [] : Object | B.java:1119:71:1119:73 | out : Entry [] : Object | provenance | | +| B.java:1119:45:1119:46 | in : Object | B.java:1119:35:1119:52 | entry(...) : Entry [] : Object | provenance | MaD:177 | +| B.java:1119:71:1119:73 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | provenance | | +| B.java:1119:71:1119:73 | out : Entry [] : Object | B.java:1119:60:1119:74 | readMapKey(...) | provenance | MaD:223 | +| B.java:1124:19:1124:26 | source(...) : Object | B.java:1124:50:1124:51 | in : Object | provenance | | +| B.java:1124:35:1124:52 | entry(...) : Entry [] : Object | B.java:1124:73:1124:75 | out : Entry [] : Object | provenance | | +| B.java:1124:50:1124:51 | in : Object | B.java:1124:35:1124:52 | entry(...) : Entry [] : Object | provenance | MaD:178 | +| B.java:1124:73:1124:75 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | +| B.java:1124:73:1124:75 | out : Entry [] : Object | B.java:1124:60:1124:76 | readMapValue(...) | provenance | MaD:224 | +| B.java:1129:19:1129:26 | source(...) : Object | B.java:1129:42:1129:43 | in : Object | provenance | | +| B.java:1129:35:1129:49 | of(...) : Map [] : Object | B.java:1129:68:1129:70 | out : Map [] : Object | provenance | | +| B.java:1129:42:1129:43 | in : Object | B.java:1129:35:1129:49 | of(...) : Map [] : Object | provenance | MaD:186 | +| B.java:1129:68:1129:70 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:1129:68:1129:70 | out : Map [] : Object | B.java:1129:57:1129:71 | readMapKey(...) | provenance | MaD:184 | +| B.java:1134:19:1134:26 | source(...) : Object | B.java:1134:47:1134:48 | in : Object | provenance | | +| B.java:1134:35:1134:49 | of(...) : Map [] : Object | B.java:1134:70:1134:72 | out : Map [] : Object | provenance | | +| B.java:1134:47:1134:48 | in : Object | B.java:1134:35:1134:49 | of(...) : Map [] : Object | provenance | MaD:197 | +| B.java:1134:70:1134:72 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:1134:70:1134:72 | out : Map [] : Object | B.java:1134:57:1134:73 | readMapValue(...) | provenance | MaD:181 | +| B.java:1139:19:1139:26 | source(...) : Object | B.java:1139:52:1139:53 | in : Object | provenance | | +| B.java:1139:35:1139:59 | of(...) : Map [] : Object | B.java:1139:78:1139:80 | out : Map [] : Object | provenance | | +| B.java:1139:52:1139:53 | in : Object | B.java:1139:35:1139:59 | of(...) : Map [] : Object | provenance | MaD:198 | +| B.java:1139:78:1139:80 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:1139:78:1139:80 | out : Map [] : Object | B.java:1139:67:1139:81 | readMapKey(...) | provenance | MaD:184 | +| B.java:1144:19:1144:26 | source(...) : Object | B.java:1144:57:1144:58 | in : Object | provenance | | +| B.java:1144:35:1144:59 | of(...) : Map [] : Object | B.java:1144:80:1144:82 | out : Map [] : Object | provenance | | +| B.java:1144:57:1144:58 | in : Object | B.java:1144:35:1144:59 | of(...) : Map [] : Object | provenance | MaD:199 | +| B.java:1144:80:1144:82 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:1144:80:1144:82 | out : Map [] : Object | B.java:1144:67:1144:83 | readMapValue(...) | provenance | MaD:181 | +| B.java:1149:19:1149:26 | source(...) : Object | B.java:1149:62:1149:63 | in : Object | provenance | | +| B.java:1149:35:1149:69 | of(...) : Map [] : Object | B.java:1149:88:1149:90 | out : Map [] : Object | provenance | | +| B.java:1149:62:1149:63 | in : Object | B.java:1149:35:1149:69 | of(...) : Map [] : Object | provenance | MaD:200 | +| B.java:1149:88:1149:90 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:1149:88:1149:90 | out : Map [] : Object | B.java:1149:77:1149:91 | readMapKey(...) | provenance | MaD:184 | +| B.java:1154:19:1154:26 | source(...) : Object | B.java:1154:67:1154:68 | in : Object | provenance | | +| B.java:1154:35:1154:69 | of(...) : Map [] : Object | B.java:1154:90:1154:92 | out : Map [] : Object | provenance | | +| B.java:1154:67:1154:68 | in : Object | B.java:1154:35:1154:69 | of(...) : Map [] : Object | provenance | MaD:201 | +| B.java:1154:90:1154:92 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:1154:90:1154:92 | out : Map [] : Object | B.java:1154:77:1154:93 | readMapValue(...) | provenance | MaD:181 | +| B.java:1159:19:1159:26 | source(...) : Object | B.java:1159:72:1159:73 | in : Object | provenance | | +| B.java:1159:35:1159:79 | of(...) : Map [] : Object | B.java:1159:98:1159:100 | out : Map [] : Object | provenance | | +| B.java:1159:72:1159:73 | in : Object | B.java:1159:35:1159:79 | of(...) : Map [] : Object | provenance | MaD:202 | +| B.java:1159:98:1159:100 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:1159:98:1159:100 | out : Map [] : Object | B.java:1159:87:1159:101 | readMapKey(...) | provenance | MaD:184 | +| B.java:1164:19:1164:26 | source(...) : Object | B.java:1164:77:1164:78 | in : Object | provenance | | +| B.java:1164:35:1164:79 | of(...) : Map [] : Object | B.java:1164:100:1164:102 | out : Map [] : Object | provenance | | +| B.java:1164:77:1164:78 | in : Object | B.java:1164:35:1164:79 | of(...) : Map [] : Object | provenance | MaD:203 | +| B.java:1164:100:1164:102 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:1164:100:1164:102 | out : Map [] : Object | B.java:1164:87:1164:103 | readMapValue(...) | provenance | MaD:181 | +| B.java:1169:19:1169:26 | source(...) : Object | B.java:1169:82:1169:83 | in : Object | provenance | | +| B.java:1169:35:1169:89 | of(...) : Map [] : Object | B.java:1169:108:1169:110 | out : Map [] : Object | provenance | | +| B.java:1169:82:1169:83 | in : Object | B.java:1169:35:1169:89 | of(...) : Map [] : Object | provenance | MaD:204 | +| B.java:1169:108:1169:110 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:1169:108:1169:110 | out : Map [] : Object | B.java:1169:97:1169:111 | readMapKey(...) | provenance | MaD:184 | +| B.java:1174:19:1174:26 | source(...) : Object | B.java:1174:87:1174:88 | in : Object | provenance | | +| B.java:1174:35:1174:89 | of(...) : Map [] : Object | B.java:1174:110:1174:112 | out : Map [] : Object | provenance | | +| B.java:1174:87:1174:88 | in : Object | B.java:1174:35:1174:89 | of(...) : Map [] : Object | provenance | MaD:205 | +| B.java:1174:110:1174:112 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:1174:110:1174:112 | out : Map [] : Object | B.java:1174:97:1174:113 | readMapValue(...) | provenance | MaD:181 | +| B.java:1179:19:1179:26 | source(...) : Object | B.java:1179:92:1179:93 | in : Object | provenance | | +| B.java:1179:35:1179:99 | of(...) : Map [] : Object | B.java:1179:118:1179:120 | out : Map [] : Object | provenance | | +| B.java:1179:92:1179:93 | in : Object | B.java:1179:35:1179:99 | of(...) : Map [] : Object | provenance | MaD:187 | +| B.java:1179:118:1179:120 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:1179:118:1179:120 | out : Map [] : Object | B.java:1179:107:1179:121 | readMapKey(...) | provenance | MaD:184 | +| B.java:1184:19:1184:26 | source(...) : Object | B.java:1184:97:1184:98 | in : Object | provenance | | +| B.java:1184:35:1184:99 | of(...) : Map [] : Object | B.java:1184:120:1184:122 | out : Map [] : Object | provenance | | +| B.java:1184:97:1184:98 | in : Object | B.java:1184:35:1184:99 | of(...) : Map [] : Object | provenance | MaD:188 | +| B.java:1184:120:1184:122 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:1184:120:1184:122 | out : Map [] : Object | B.java:1184:107:1184:123 | readMapValue(...) | provenance | MaD:181 | +| B.java:1189:19:1189:26 | source(...) : Object | B.java:1189:102:1189:103 | in : Object | provenance | | +| B.java:1189:35:1189:109 | of(...) : Map [] : Object | B.java:1189:128:1189:130 | out : Map [] : Object | provenance | | +| B.java:1189:102:1189:103 | in : Object | B.java:1189:35:1189:109 | of(...) : Map [] : Object | provenance | MaD:189 | +| B.java:1189:128:1189:130 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:1189:128:1189:130 | out : Map [] : Object | B.java:1189:117:1189:131 | readMapKey(...) | provenance | MaD:184 | +| B.java:1194:19:1194:26 | source(...) : Object | B.java:1194:107:1194:108 | in : Object | provenance | | +| B.java:1194:35:1194:109 | of(...) : Map [] : Object | B.java:1194:130:1194:132 | out : Map [] : Object | provenance | | +| B.java:1194:107:1194:108 | in : Object | B.java:1194:35:1194:109 | of(...) : Map [] : Object | provenance | MaD:190 | +| B.java:1194:130:1194:132 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:1194:130:1194:132 | out : Map [] : Object | B.java:1194:117:1194:133 | readMapValue(...) | provenance | MaD:181 | +| B.java:1199:19:1199:26 | source(...) : Object | B.java:1199:112:1199:113 | in : Object | provenance | | +| B.java:1199:35:1199:119 | of(...) : Map [] : Object | B.java:1199:138:1199:140 | out : Map [] : Object | provenance | | +| B.java:1199:112:1199:113 | in : Object | B.java:1199:35:1199:119 | of(...) : Map [] : Object | provenance | MaD:191 | +| B.java:1199:138:1199:140 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:1199:138:1199:140 | out : Map [] : Object | B.java:1199:127:1199:141 | readMapKey(...) | provenance | MaD:184 | +| B.java:1204:19:1204:26 | source(...) : Object | B.java:1204:117:1204:118 | in : Object | provenance | | +| B.java:1204:35:1204:119 | of(...) : Map [] : Object | B.java:1204:140:1204:142 | out : Map [] : Object | provenance | | +| B.java:1204:117:1204:118 | in : Object | B.java:1204:35:1204:119 | of(...) : Map [] : Object | provenance | MaD:192 | +| B.java:1204:140:1204:142 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:1204:140:1204:142 | out : Map [] : Object | B.java:1204:127:1204:143 | readMapValue(...) | provenance | MaD:181 | +| B.java:1209:19:1209:26 | source(...) : Object | B.java:1209:122:1209:123 | in : Object | provenance | | +| B.java:1209:35:1209:129 | of(...) : Map [] : Object | B.java:1209:148:1209:150 | out : Map [] : Object | provenance | | +| B.java:1209:122:1209:123 | in : Object | B.java:1209:35:1209:129 | of(...) : Map [] : Object | provenance | MaD:193 | +| B.java:1209:148:1209:150 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:1209:148:1209:150 | out : Map [] : Object | B.java:1209:137:1209:151 | readMapKey(...) | provenance | MaD:184 | +| B.java:1214:19:1214:26 | source(...) : Object | B.java:1214:127:1214:128 | in : Object | provenance | | +| B.java:1214:35:1214:129 | of(...) : Map [] : Object | B.java:1214:150:1214:152 | out : Map [] : Object | provenance | | +| B.java:1214:127:1214:128 | in : Object | B.java:1214:35:1214:129 | of(...) : Map [] : Object | provenance | MaD:194 | +| B.java:1214:150:1214:152 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:1214:150:1214:152 | out : Map [] : Object | B.java:1214:137:1214:153 | readMapValue(...) | provenance | MaD:181 | +| B.java:1219:19:1219:26 | source(...) : Object | B.java:1219:132:1219:133 | in : Object | provenance | | +| B.java:1219:35:1219:139 | of(...) : Map [] : Object | B.java:1219:158:1219:160 | out : Map [] : Object | provenance | | +| B.java:1219:132:1219:133 | in : Object | B.java:1219:35:1219:139 | of(...) : Map [] : Object | provenance | MaD:195 | +| B.java:1219:158:1219:160 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:1219:158:1219:160 | out : Map [] : Object | B.java:1219:147:1219:161 | readMapKey(...) | provenance | MaD:184 | +| B.java:1224:19:1224:26 | source(...) : Object | B.java:1224:137:1224:138 | in : Object | provenance | | +| B.java:1224:35:1224:139 | of(...) : Map [] : Object | B.java:1224:160:1224:162 | out : Map [] : Object | provenance | | +| B.java:1224:137:1224:138 | in : Object | B.java:1224:35:1224:139 | of(...) : Map [] : Object | provenance | MaD:196 | +| B.java:1224:160:1224:162 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:1224:160:1224:162 | out : Map [] : Object | B.java:1224:147:1224:163 | readMapValue(...) | provenance | MaD:181 | +| B.java:1229:21:1229:60 | storeArrayElement(...) : Object[] [[], ] : Object | B.java:1229:83:1229:97 | (...)... : Entry[] [[], ] : Object | provenance | | +| B.java:1229:39:1229:59 | storeMapKey(...) : TreeMap [] : Object | B.java:11:37:11:46 | obj : TreeMap [] : Object | provenance | | +| B.java:1229:39:1229:59 | storeMapKey(...) : TreeMap [] : Object | B.java:1229:21:1229:60 | storeArrayElement(...) : Object[] [[], ] : Object | provenance | | +| B.java:1229:51:1229:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:1229:51:1229:58 | source(...) : Object | B.java:1229:39:1229:59 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:1229:69:1229:98 | ofEntries(...) : Map [] : Object | B.java:1229:117:1229:119 | out : Map [] : Object | provenance | | +| B.java:1229:83:1229:97 | (...)... : Entry[] [[], ] : Object | B.java:1229:69:1229:98 | ofEntries(...) : Map [] : Object | provenance | MaD:206 | +| B.java:1229:117:1229:119 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:1229:117:1229:119 | out : Map [] : Object | B.java:1229:106:1229:120 | readMapKey(...) | provenance | MaD:184 | +| B.java:1234:21:1234:62 | storeArrayElement(...) : Object[] [[], ] : Object | B.java:1234:85:1234:99 | (...)... : Entry[] [[], ] : Object | provenance | | +| B.java:1234:39:1234:61 | storeMapValue(...) : Map [] : Object | B.java:11:37:11:46 | obj : Map [] : Object | provenance | | +| B.java:1234:39:1234:61 | storeMapValue(...) : Map [] : Object | B.java:1234:21:1234:62 | storeArrayElement(...) : Object[] [[], ] : Object | provenance | | +| B.java:1234:53:1234:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1234:53:1234:60 | source(...) : Object | B.java:1234:39:1234:61 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1234:71:1234:100 | ofEntries(...) : Map [] : Object | B.java:1234:121:1234:123 | out : Map [] : Object | provenance | | +| B.java:1234:85:1234:99 | (...)... : Entry[] [[], ] : Object | B.java:1234:71:1234:100 | ofEntries(...) : Map [] : Object | provenance | MaD:207 | +| B.java:1234:121:1234:123 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:1234:121:1234:123 | out : Map [] : Object | B.java:1234:108:1234:124 | readMapValue(...) | provenance | MaD:181 | +| B.java:1244:16:1244:28 | (...)... : Set | B.java:1244:41:1244:43 | out : Set | provenance | | +| B.java:1244:21:1244:28 | source(...) : Object | B.java:1244:16:1244:28 | (...)... : Set | provenance | | +| B.java:1244:41:1244:43 | out : Set | B.java:1244:41:1244:43 | out [post update] : Set | provenance | MaD:299 | +| B.java:1244:41:1244:43 | out [post update] : Set | B.java:1244:59:1244:61 | out | provenance | | +| B.java:1249:23:1249:48 | storeElementList(...) : List [] : Object | B.java:1249:68:1249:69 | in : List [] : Object | provenance | | +| B.java:1249:40:1249:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:1249:40:1249:47 | source(...) : Object | B.java:1249:23:1249:48 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:1249:57:1249:70 | copyOf(...) : Set [] : Object | B.java:1249:90:1249:92 | out : Set [] : Object | provenance | | +| B.java:1249:68:1249:69 | in : List [] : Object | B.java:1249:57:1249:70 | copyOf(...) : Set [] : Object | provenance | MaD:298 | +| B.java:1249:90:1249:92 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1249:90:1249:92 | out : Set [] : Object | B.java:1249:78:1249:93 | readElement(...) | provenance | MaD:1 | +| B.java:1254:21:1254:47 | storeArrayElement(...) : Object[] [[]] : Object | B.java:1254:63:1254:64 | in : Object[] [[]] : Object | provenance | | +| B.java:1254:39:1254:46 | source(...) : Object | B.java:11:37:11:46 | obj : Object | provenance | | +| B.java:1254:39:1254:46 | source(...) : Object | B.java:1254:21:1254:47 | storeArrayElement(...) : Object[] [[]] : Object | provenance | | +| B.java:1254:56:1254:65 | of(...) : Set [] : Object | B.java:1254:85:1254:87 | out : Set [] : Object | provenance | | +| B.java:1254:63:1254:64 | in : Object[] [[]] : Object | B.java:1254:56:1254:65 | of(...) : Set [] : Object | provenance | MaD:310 | +| B.java:1254:85:1254:87 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1254:85:1254:87 | out : Set [] : Object | B.java:1254:73:1254:88 | readElement(...) | provenance | MaD:1 | +| B.java:1259:19:1259:26 | source(...) : Object | B.java:1259:42:1259:43 | in : Object | provenance | | +| B.java:1259:35:1259:44 | of(...) : Set [] : Object | B.java:1259:64:1259:66 | out : Set [] : Object | provenance | | +| B.java:1259:42:1259:43 | in : Object | B.java:1259:35:1259:44 | of(...) : Set [] : Object | provenance | MaD:300 | +| B.java:1259:64:1259:66 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1259:64:1259:66 | out : Set [] : Object | B.java:1259:52:1259:67 | readElement(...) | provenance | MaD:1 | +| B.java:1264:19:1264:26 | source(...) : Object | B.java:1264:42:1264:43 | in : Object | provenance | | +| B.java:1264:35:1264:49 | of(...) : Set [] : Object | B.java:1264:69:1264:71 | out : Set [] : Object | provenance | | +| B.java:1264:42:1264:43 | in : Object | B.java:1264:35:1264:49 | of(...) : Set [] : Object | provenance | MaD:301 | +| B.java:1264:69:1264:71 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1264:69:1264:71 | out : Set [] : Object | B.java:1264:57:1264:72 | readElement(...) | provenance | MaD:1 | +| B.java:1269:19:1269:26 | source(...) : Object | B.java:1269:47:1269:48 | in : Object | provenance | | +| B.java:1269:35:1269:49 | of(...) : Set [] : Object | B.java:1269:69:1269:71 | out : Set [] : Object | provenance | | +| B.java:1269:47:1269:48 | in : Object | B.java:1269:35:1269:49 | of(...) : Set [] : Object | provenance | MaD:301 | +| B.java:1269:69:1269:71 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1269:69:1269:71 | out : Set [] : Object | B.java:1269:57:1269:72 | readElement(...) | provenance | MaD:1 | +| B.java:1274:19:1274:26 | source(...) : Object | B.java:1274:42:1274:43 | in : Object | provenance | | +| B.java:1274:35:1274:54 | of(...) : Set [] : Object | B.java:1274:74:1274:76 | out : Set [] : Object | provenance | | +| B.java:1274:42:1274:43 | in : Object | B.java:1274:35:1274:54 | of(...) : Set [] : Object | provenance | MaD:302 | +| B.java:1274:74:1274:76 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1274:74:1274:76 | out : Set [] : Object | B.java:1274:62:1274:77 | readElement(...) | provenance | MaD:1 | +| B.java:1279:19:1279:26 | source(...) : Object | B.java:1279:47:1279:48 | in : Object | provenance | | +| B.java:1279:35:1279:54 | of(...) : Set [] : Object | B.java:1279:74:1279:76 | out : Set [] : Object | provenance | | +| B.java:1279:47:1279:48 | in : Object | B.java:1279:35:1279:54 | of(...) : Set [] : Object | provenance | MaD:302 | +| B.java:1279:74:1279:76 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1279:74:1279:76 | out : Set [] : Object | B.java:1279:62:1279:77 | readElement(...) | provenance | MaD:1 | +| B.java:1284:19:1284:26 | source(...) : Object | B.java:1284:52:1284:53 | in : Object | provenance | | +| B.java:1284:35:1284:54 | of(...) : Set [] : Object | B.java:1284:74:1284:76 | out : Set [] : Object | provenance | | +| B.java:1284:52:1284:53 | in : Object | B.java:1284:35:1284:54 | of(...) : Set [] : Object | provenance | MaD:302 | +| B.java:1284:74:1284:76 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1284:74:1284:76 | out : Set [] : Object | B.java:1284:62:1284:77 | readElement(...) | provenance | MaD:1 | +| B.java:1289:19:1289:26 | source(...) : Object | B.java:1289:42:1289:43 | in : Object | provenance | | +| B.java:1289:35:1289:59 | of(...) : Set [] : Object | B.java:1289:79:1289:81 | out : Set [] : Object | provenance | | +| B.java:1289:42:1289:43 | in : Object | B.java:1289:35:1289:59 | of(...) : Set [] : Object | provenance | MaD:303 | +| B.java:1289:79:1289:81 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1289:79:1289:81 | out : Set [] : Object | B.java:1289:67:1289:82 | readElement(...) | provenance | MaD:1 | +| B.java:1294:19:1294:26 | source(...) : Object | B.java:1294:47:1294:48 | in : Object | provenance | | +| B.java:1294:35:1294:59 | of(...) : Set [] : Object | B.java:1294:79:1294:81 | out : Set [] : Object | provenance | | +| B.java:1294:47:1294:48 | in : Object | B.java:1294:35:1294:59 | of(...) : Set [] : Object | provenance | MaD:303 | +| B.java:1294:79:1294:81 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1294:79:1294:81 | out : Set [] : Object | B.java:1294:67:1294:82 | readElement(...) | provenance | MaD:1 | +| B.java:1299:19:1299:26 | source(...) : Object | B.java:1299:52:1299:53 | in : Object | provenance | | +| B.java:1299:35:1299:59 | of(...) : Set [] : Object | B.java:1299:79:1299:81 | out : Set [] : Object | provenance | | +| B.java:1299:52:1299:53 | in : Object | B.java:1299:35:1299:59 | of(...) : Set [] : Object | provenance | MaD:303 | +| B.java:1299:79:1299:81 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1299:79:1299:81 | out : Set [] : Object | B.java:1299:67:1299:82 | readElement(...) | provenance | MaD:1 | +| B.java:1304:19:1304:26 | source(...) : Object | B.java:1304:57:1304:58 | in : Object | provenance | | +| B.java:1304:35:1304:59 | of(...) : Set [] : Object | B.java:1304:79:1304:81 | out : Set [] : Object | provenance | | +| B.java:1304:57:1304:58 | in : Object | B.java:1304:35:1304:59 | of(...) : Set [] : Object | provenance | MaD:303 | +| B.java:1304:79:1304:81 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1304:79:1304:81 | out : Set [] : Object | B.java:1304:67:1304:82 | readElement(...) | provenance | MaD:1 | +| B.java:1309:19:1309:26 | source(...) : Object | B.java:1309:42:1309:43 | in : Object | provenance | | +| B.java:1309:35:1309:64 | of(...) : Set [] : Object | B.java:1309:84:1309:86 | out : Set [] : Object | provenance | | +| B.java:1309:42:1309:43 | in : Object | B.java:1309:35:1309:64 | of(...) : Set [] : Object | provenance | MaD:304 | +| B.java:1309:84:1309:86 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1309:84:1309:86 | out : Set [] : Object | B.java:1309:72:1309:87 | readElement(...) | provenance | MaD:1 | +| B.java:1314:19:1314:26 | source(...) : Object | B.java:1314:47:1314:48 | in : Object | provenance | | +| B.java:1314:35:1314:64 | of(...) : Set [] : Object | B.java:1314:84:1314:86 | out : Set [] : Object | provenance | | +| B.java:1314:47:1314:48 | in : Object | B.java:1314:35:1314:64 | of(...) : Set [] : Object | provenance | MaD:304 | +| B.java:1314:84:1314:86 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1314:84:1314:86 | out : Set [] : Object | B.java:1314:72:1314:87 | readElement(...) | provenance | MaD:1 | +| B.java:1319:19:1319:26 | source(...) : Object | B.java:1319:52:1319:53 | in : Object | provenance | | +| B.java:1319:35:1319:64 | of(...) : Set [] : Object | B.java:1319:84:1319:86 | out : Set [] : Object | provenance | | +| B.java:1319:52:1319:53 | in : Object | B.java:1319:35:1319:64 | of(...) : Set [] : Object | provenance | MaD:304 | +| B.java:1319:84:1319:86 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1319:84:1319:86 | out : Set [] : Object | B.java:1319:72:1319:87 | readElement(...) | provenance | MaD:1 | +| B.java:1324:19:1324:26 | source(...) : Object | B.java:1324:57:1324:58 | in : Object | provenance | | +| B.java:1324:35:1324:64 | of(...) : Set [] : Object | B.java:1324:84:1324:86 | out : Set [] : Object | provenance | | +| B.java:1324:57:1324:58 | in : Object | B.java:1324:35:1324:64 | of(...) : Set [] : Object | provenance | MaD:304 | +| B.java:1324:84:1324:86 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1324:84:1324:86 | out : Set [] : Object | B.java:1324:72:1324:87 | readElement(...) | provenance | MaD:1 | +| B.java:1329:19:1329:26 | source(...) : Object | B.java:1329:62:1329:63 | in : Object | provenance | | +| B.java:1329:35:1329:64 | of(...) : Set [] : Object | B.java:1329:84:1329:86 | out : Set [] : Object | provenance | | +| B.java:1329:62:1329:63 | in : Object | B.java:1329:35:1329:64 | of(...) : Set [] : Object | provenance | MaD:304 | +| B.java:1329:84:1329:86 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1329:84:1329:86 | out : Set [] : Object | B.java:1329:72:1329:87 | readElement(...) | provenance | MaD:1 | +| B.java:1334:19:1334:26 | source(...) : Object | B.java:1334:42:1334:43 | in : Object | provenance | | +| B.java:1334:35:1334:69 | of(...) : Set [] : Object | B.java:1334:89:1334:91 | out : Set [] : Object | provenance | | +| B.java:1334:42:1334:43 | in : Object | B.java:1334:35:1334:69 | of(...) : Set [] : Object | provenance | MaD:305 | +| B.java:1334:89:1334:91 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1334:89:1334:91 | out : Set [] : Object | B.java:1334:77:1334:92 | readElement(...) | provenance | MaD:1 | +| B.java:1339:19:1339:26 | source(...) : Object | B.java:1339:47:1339:48 | in : Object | provenance | | +| B.java:1339:35:1339:69 | of(...) : Set [] : Object | B.java:1339:89:1339:91 | out : Set [] : Object | provenance | | +| B.java:1339:47:1339:48 | in : Object | B.java:1339:35:1339:69 | of(...) : Set [] : Object | provenance | MaD:305 | +| B.java:1339:89:1339:91 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1339:89:1339:91 | out : Set [] : Object | B.java:1339:77:1339:92 | readElement(...) | provenance | MaD:1 | +| B.java:1344:19:1344:26 | source(...) : Object | B.java:1344:52:1344:53 | in : Object | provenance | | +| B.java:1344:35:1344:69 | of(...) : Set [] : Object | B.java:1344:89:1344:91 | out : Set [] : Object | provenance | | +| B.java:1344:52:1344:53 | in : Object | B.java:1344:35:1344:69 | of(...) : Set [] : Object | provenance | MaD:305 | +| B.java:1344:89:1344:91 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1344:89:1344:91 | out : Set [] : Object | B.java:1344:77:1344:92 | readElement(...) | provenance | MaD:1 | +| B.java:1349:19:1349:26 | source(...) : Object | B.java:1349:57:1349:58 | in : Object | provenance | | +| B.java:1349:35:1349:69 | of(...) : Set [] : Object | B.java:1349:89:1349:91 | out : Set [] : Object | provenance | | +| B.java:1349:57:1349:58 | in : Object | B.java:1349:35:1349:69 | of(...) : Set [] : Object | provenance | MaD:305 | +| B.java:1349:89:1349:91 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1349:89:1349:91 | out : Set [] : Object | B.java:1349:77:1349:92 | readElement(...) | provenance | MaD:1 | +| B.java:1354:19:1354:26 | source(...) : Object | B.java:1354:62:1354:63 | in : Object | provenance | | +| B.java:1354:35:1354:69 | of(...) : Set [] : Object | B.java:1354:89:1354:91 | out : Set [] : Object | provenance | | +| B.java:1354:62:1354:63 | in : Object | B.java:1354:35:1354:69 | of(...) : Set [] : Object | provenance | MaD:305 | +| B.java:1354:89:1354:91 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1354:89:1354:91 | out : Set [] : Object | B.java:1354:77:1354:92 | readElement(...) | provenance | MaD:1 | +| B.java:1359:19:1359:26 | source(...) : Object | B.java:1359:67:1359:68 | in : Object | provenance | | +| B.java:1359:35:1359:69 | of(...) : Set [] : Object | B.java:1359:89:1359:91 | out : Set [] : Object | provenance | | +| B.java:1359:67:1359:68 | in : Object | B.java:1359:35:1359:69 | of(...) : Set [] : Object | provenance | MaD:305 | +| B.java:1359:89:1359:91 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1359:89:1359:91 | out : Set [] : Object | B.java:1359:77:1359:92 | readElement(...) | provenance | MaD:1 | +| B.java:1364:19:1364:26 | source(...) : Object | B.java:1364:42:1364:43 | in : Object | provenance | | +| B.java:1364:35:1364:74 | of(...) : Set [] : Object | B.java:1364:94:1364:96 | out : Set [] : Object | provenance | | +| B.java:1364:42:1364:43 | in : Object | B.java:1364:35:1364:74 | of(...) : Set [] : Object | provenance | MaD:306 | +| B.java:1364:94:1364:96 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1364:94:1364:96 | out : Set [] : Object | B.java:1364:82:1364:97 | readElement(...) | provenance | MaD:1 | +| B.java:1369:19:1369:26 | source(...) : Object | B.java:1369:47:1369:48 | in : Object | provenance | | +| B.java:1369:35:1369:74 | of(...) : Set [] : Object | B.java:1369:94:1369:96 | out : Set [] : Object | provenance | | +| B.java:1369:47:1369:48 | in : Object | B.java:1369:35:1369:74 | of(...) : Set [] : Object | provenance | MaD:306 | +| B.java:1369:94:1369:96 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1369:94:1369:96 | out : Set [] : Object | B.java:1369:82:1369:97 | readElement(...) | provenance | MaD:1 | +| B.java:1374:19:1374:26 | source(...) : Object | B.java:1374:52:1374:53 | in : Object | provenance | | +| B.java:1374:35:1374:74 | of(...) : Set [] : Object | B.java:1374:94:1374:96 | out : Set [] : Object | provenance | | +| B.java:1374:52:1374:53 | in : Object | B.java:1374:35:1374:74 | of(...) : Set [] : Object | provenance | MaD:306 | +| B.java:1374:94:1374:96 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1374:94:1374:96 | out : Set [] : Object | B.java:1374:82:1374:97 | readElement(...) | provenance | MaD:1 | +| B.java:1379:19:1379:26 | source(...) : Object | B.java:1379:57:1379:58 | in : Object | provenance | | +| B.java:1379:35:1379:74 | of(...) : Set [] : Object | B.java:1379:94:1379:96 | out : Set [] : Object | provenance | | +| B.java:1379:57:1379:58 | in : Object | B.java:1379:35:1379:74 | of(...) : Set [] : Object | provenance | MaD:306 | +| B.java:1379:94:1379:96 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1379:94:1379:96 | out : Set [] : Object | B.java:1379:82:1379:97 | readElement(...) | provenance | MaD:1 | +| B.java:1384:19:1384:26 | source(...) : Object | B.java:1384:62:1384:63 | in : Object | provenance | | +| B.java:1384:35:1384:74 | of(...) : Set [] : Object | B.java:1384:94:1384:96 | out : Set [] : Object | provenance | | +| B.java:1384:62:1384:63 | in : Object | B.java:1384:35:1384:74 | of(...) : Set [] : Object | provenance | MaD:306 | +| B.java:1384:94:1384:96 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1384:94:1384:96 | out : Set [] : Object | B.java:1384:82:1384:97 | readElement(...) | provenance | MaD:1 | +| B.java:1389:19:1389:26 | source(...) : Object | B.java:1389:67:1389:68 | in : Object | provenance | | +| B.java:1389:35:1389:74 | of(...) : Set [] : Object | B.java:1389:94:1389:96 | out : Set [] : Object | provenance | | +| B.java:1389:67:1389:68 | in : Object | B.java:1389:35:1389:74 | of(...) : Set [] : Object | provenance | MaD:306 | +| B.java:1389:94:1389:96 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1389:94:1389:96 | out : Set [] : Object | B.java:1389:82:1389:97 | readElement(...) | provenance | MaD:1 | +| B.java:1394:19:1394:26 | source(...) : Object | B.java:1394:72:1394:73 | in : Object | provenance | | +| B.java:1394:35:1394:74 | of(...) : Set [] : Object | B.java:1394:94:1394:96 | out : Set [] : Object | provenance | | +| B.java:1394:72:1394:73 | in : Object | B.java:1394:35:1394:74 | of(...) : Set [] : Object | provenance | MaD:306 | +| B.java:1394:94:1394:96 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1394:94:1394:96 | out : Set [] : Object | B.java:1394:82:1394:97 | readElement(...) | provenance | MaD:1 | +| B.java:1399:19:1399:26 | source(...) : Object | B.java:1399:42:1399:43 | in : Object | provenance | | +| B.java:1399:35:1399:79 | of(...) : Set [] : Object | B.java:1399:99:1399:101 | out : Set [] : Object | provenance | | +| B.java:1399:42:1399:43 | in : Object | B.java:1399:35:1399:79 | of(...) : Set [] : Object | provenance | MaD:307 | +| B.java:1399:99:1399:101 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1399:99:1399:101 | out : Set [] : Object | B.java:1399:87:1399:102 | readElement(...) | provenance | MaD:1 | +| B.java:1404:19:1404:26 | source(...) : Object | B.java:1404:47:1404:48 | in : Object | provenance | | +| B.java:1404:35:1404:79 | of(...) : Set [] : Object | B.java:1404:99:1404:101 | out : Set [] : Object | provenance | | +| B.java:1404:47:1404:48 | in : Object | B.java:1404:35:1404:79 | of(...) : Set [] : Object | provenance | MaD:307 | +| B.java:1404:99:1404:101 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1404:99:1404:101 | out : Set [] : Object | B.java:1404:87:1404:102 | readElement(...) | provenance | MaD:1 | +| B.java:1409:19:1409:26 | source(...) : Object | B.java:1409:52:1409:53 | in : Object | provenance | | +| B.java:1409:35:1409:79 | of(...) : Set [] : Object | B.java:1409:99:1409:101 | out : Set [] : Object | provenance | | +| B.java:1409:52:1409:53 | in : Object | B.java:1409:35:1409:79 | of(...) : Set [] : Object | provenance | MaD:307 | +| B.java:1409:99:1409:101 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1409:99:1409:101 | out : Set [] : Object | B.java:1409:87:1409:102 | readElement(...) | provenance | MaD:1 | +| B.java:1414:19:1414:26 | source(...) : Object | B.java:1414:57:1414:58 | in : Object | provenance | | +| B.java:1414:35:1414:79 | of(...) : Set [] : Object | B.java:1414:99:1414:101 | out : Set [] : Object | provenance | | +| B.java:1414:57:1414:58 | in : Object | B.java:1414:35:1414:79 | of(...) : Set [] : Object | provenance | MaD:307 | +| B.java:1414:99:1414:101 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1414:99:1414:101 | out : Set [] : Object | B.java:1414:87:1414:102 | readElement(...) | provenance | MaD:1 | +| B.java:1419:19:1419:26 | source(...) : Object | B.java:1419:62:1419:63 | in : Object | provenance | | +| B.java:1419:35:1419:79 | of(...) : Set [] : Object | B.java:1419:99:1419:101 | out : Set [] : Object | provenance | | +| B.java:1419:62:1419:63 | in : Object | B.java:1419:35:1419:79 | of(...) : Set [] : Object | provenance | MaD:307 | +| B.java:1419:99:1419:101 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1419:99:1419:101 | out : Set [] : Object | B.java:1419:87:1419:102 | readElement(...) | provenance | MaD:1 | +| B.java:1424:19:1424:26 | source(...) : Object | B.java:1424:67:1424:68 | in : Object | provenance | | +| B.java:1424:35:1424:79 | of(...) : Set [] : Object | B.java:1424:99:1424:101 | out : Set [] : Object | provenance | | +| B.java:1424:67:1424:68 | in : Object | B.java:1424:35:1424:79 | of(...) : Set [] : Object | provenance | MaD:307 | +| B.java:1424:99:1424:101 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1424:99:1424:101 | out : Set [] : Object | B.java:1424:87:1424:102 | readElement(...) | provenance | MaD:1 | +| B.java:1429:19:1429:26 | source(...) : Object | B.java:1429:72:1429:73 | in : Object | provenance | | +| B.java:1429:35:1429:79 | of(...) : Set [] : Object | B.java:1429:99:1429:101 | out : Set [] : Object | provenance | | +| B.java:1429:72:1429:73 | in : Object | B.java:1429:35:1429:79 | of(...) : Set [] : Object | provenance | MaD:307 | +| B.java:1429:99:1429:101 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1429:99:1429:101 | out : Set [] : Object | B.java:1429:87:1429:102 | readElement(...) | provenance | MaD:1 | +| B.java:1434:19:1434:26 | source(...) : Object | B.java:1434:77:1434:78 | in : Object | provenance | | +| B.java:1434:35:1434:79 | of(...) : Set [] : Object | B.java:1434:99:1434:101 | out : Set [] : Object | provenance | | +| B.java:1434:77:1434:78 | in : Object | B.java:1434:35:1434:79 | of(...) : Set [] : Object | provenance | MaD:307 | +| B.java:1434:99:1434:101 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1434:99:1434:101 | out : Set [] : Object | B.java:1434:87:1434:102 | readElement(...) | provenance | MaD:1 | +| B.java:1439:19:1439:26 | source(...) : Object | B.java:1439:42:1439:43 | in : Object | provenance | | +| B.java:1439:35:1439:84 | of(...) : Set [] : Object | B.java:1439:104:1439:106 | out : Set [] : Object | provenance | | +| B.java:1439:42:1439:43 | in : Object | B.java:1439:35:1439:84 | of(...) : Set [] : Object | provenance | MaD:308 | +| B.java:1439:104:1439:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1439:104:1439:106 | out : Set [] : Object | B.java:1439:92:1439:107 | readElement(...) | provenance | MaD:1 | +| B.java:1444:19:1444:26 | source(...) : Object | B.java:1444:47:1444:48 | in : Object | provenance | | +| B.java:1444:35:1444:84 | of(...) : Set [] : Object | B.java:1444:104:1444:106 | out : Set [] : Object | provenance | | +| B.java:1444:47:1444:48 | in : Object | B.java:1444:35:1444:84 | of(...) : Set [] : Object | provenance | MaD:308 | +| B.java:1444:104:1444:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1444:104:1444:106 | out : Set [] : Object | B.java:1444:92:1444:107 | readElement(...) | provenance | MaD:1 | +| B.java:1449:19:1449:26 | source(...) : Object | B.java:1449:52:1449:53 | in : Object | provenance | | +| B.java:1449:35:1449:84 | of(...) : Set [] : Object | B.java:1449:104:1449:106 | out : Set [] : Object | provenance | | +| B.java:1449:52:1449:53 | in : Object | B.java:1449:35:1449:84 | of(...) : Set [] : Object | provenance | MaD:308 | +| B.java:1449:104:1449:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1449:104:1449:106 | out : Set [] : Object | B.java:1449:92:1449:107 | readElement(...) | provenance | MaD:1 | +| B.java:1454:19:1454:26 | source(...) : Object | B.java:1454:57:1454:58 | in : Object | provenance | | +| B.java:1454:35:1454:84 | of(...) : Set [] : Object | B.java:1454:104:1454:106 | out : Set [] : Object | provenance | | +| B.java:1454:57:1454:58 | in : Object | B.java:1454:35:1454:84 | of(...) : Set [] : Object | provenance | MaD:308 | +| B.java:1454:104:1454:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1454:104:1454:106 | out : Set [] : Object | B.java:1454:92:1454:107 | readElement(...) | provenance | MaD:1 | +| B.java:1459:19:1459:26 | source(...) : Object | B.java:1459:62:1459:63 | in : Object | provenance | | +| B.java:1459:35:1459:84 | of(...) : Set [] : Object | B.java:1459:104:1459:106 | out : Set [] : Object | provenance | | +| B.java:1459:62:1459:63 | in : Object | B.java:1459:35:1459:84 | of(...) : Set [] : Object | provenance | MaD:308 | +| B.java:1459:104:1459:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1459:104:1459:106 | out : Set [] : Object | B.java:1459:92:1459:107 | readElement(...) | provenance | MaD:1 | +| B.java:1464:19:1464:26 | source(...) : Object | B.java:1464:67:1464:68 | in : Object | provenance | | +| B.java:1464:35:1464:84 | of(...) : Set [] : Object | B.java:1464:104:1464:106 | out : Set [] : Object | provenance | | +| B.java:1464:67:1464:68 | in : Object | B.java:1464:35:1464:84 | of(...) : Set [] : Object | provenance | MaD:308 | +| B.java:1464:104:1464:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1464:104:1464:106 | out : Set [] : Object | B.java:1464:92:1464:107 | readElement(...) | provenance | MaD:1 | +| B.java:1469:19:1469:26 | source(...) : Object | B.java:1469:72:1469:73 | in : Object | provenance | | +| B.java:1469:35:1469:84 | of(...) : Set [] : Object | B.java:1469:104:1469:106 | out : Set [] : Object | provenance | | +| B.java:1469:72:1469:73 | in : Object | B.java:1469:35:1469:84 | of(...) : Set [] : Object | provenance | MaD:308 | +| B.java:1469:104:1469:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1469:104:1469:106 | out : Set [] : Object | B.java:1469:92:1469:107 | readElement(...) | provenance | MaD:1 | +| B.java:1474:19:1474:26 | source(...) : Object | B.java:1474:77:1474:78 | in : Object | provenance | | +| B.java:1474:35:1474:84 | of(...) : Set [] : Object | B.java:1474:104:1474:106 | out : Set [] : Object | provenance | | +| B.java:1474:77:1474:78 | in : Object | B.java:1474:35:1474:84 | of(...) : Set [] : Object | provenance | MaD:308 | +| B.java:1474:104:1474:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1474:104:1474:106 | out : Set [] : Object | B.java:1474:92:1474:107 | readElement(...) | provenance | MaD:1 | +| B.java:1479:19:1479:26 | source(...) : Object | B.java:1479:82:1479:83 | in : Object | provenance | | +| B.java:1479:35:1479:84 | of(...) : Set [] : Object | B.java:1479:104:1479:106 | out : Set [] : Object | provenance | | +| B.java:1479:82:1479:83 | in : Object | B.java:1479:35:1479:84 | of(...) : Set [] : Object | provenance | MaD:308 | +| B.java:1479:104:1479:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1479:104:1479:106 | out : Set [] : Object | B.java:1479:92:1479:107 | readElement(...) | provenance | MaD:1 | +| B.java:1484:19:1484:26 | source(...) : Object | B.java:1484:42:1484:43 | in : Object | provenance | | +| B.java:1484:35:1484:89 | of(...) : Set [] : Object | B.java:1484:109:1484:111 | out : Set [] : Object | provenance | | +| B.java:1484:42:1484:43 | in : Object | B.java:1484:35:1484:89 | of(...) : Set [] : Object | provenance | MaD:309 | +| B.java:1484:109:1484:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1484:109:1484:111 | out : Set [] : Object | B.java:1484:97:1484:112 | readElement(...) | provenance | MaD:1 | +| B.java:1489:19:1489:26 | source(...) : Object | B.java:1489:47:1489:48 | in : Object | provenance | | +| B.java:1489:35:1489:89 | of(...) : Set [] : Object | B.java:1489:109:1489:111 | out : Set [] : Object | provenance | | +| B.java:1489:47:1489:48 | in : Object | B.java:1489:35:1489:89 | of(...) : Set [] : Object | provenance | MaD:309 | +| B.java:1489:109:1489:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1489:109:1489:111 | out : Set [] : Object | B.java:1489:97:1489:112 | readElement(...) | provenance | MaD:1 | +| B.java:1494:19:1494:26 | source(...) : Object | B.java:1494:52:1494:53 | in : Object | provenance | | +| B.java:1494:35:1494:89 | of(...) : Set [] : Object | B.java:1494:109:1494:111 | out : Set [] : Object | provenance | | +| B.java:1494:52:1494:53 | in : Object | B.java:1494:35:1494:89 | of(...) : Set [] : Object | provenance | MaD:309 | +| B.java:1494:109:1494:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1494:109:1494:111 | out : Set [] : Object | B.java:1494:97:1494:112 | readElement(...) | provenance | MaD:1 | +| B.java:1499:19:1499:26 | source(...) : Object | B.java:1499:57:1499:58 | in : Object | provenance | | +| B.java:1499:35:1499:89 | of(...) : Set [] : Object | B.java:1499:109:1499:111 | out : Set [] : Object | provenance | | +| B.java:1499:57:1499:58 | in : Object | B.java:1499:35:1499:89 | of(...) : Set [] : Object | provenance | MaD:309 | +| B.java:1499:109:1499:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1499:109:1499:111 | out : Set [] : Object | B.java:1499:97:1499:112 | readElement(...) | provenance | MaD:1 | +| B.java:1504:19:1504:26 | source(...) : Object | B.java:1504:62:1504:63 | in : Object | provenance | | +| B.java:1504:35:1504:89 | of(...) : Set [] : Object | B.java:1504:109:1504:111 | out : Set [] : Object | provenance | | +| B.java:1504:62:1504:63 | in : Object | B.java:1504:35:1504:89 | of(...) : Set [] : Object | provenance | MaD:309 | +| B.java:1504:109:1504:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1504:109:1504:111 | out : Set [] : Object | B.java:1504:97:1504:112 | readElement(...) | provenance | MaD:1 | +| B.java:1509:19:1509:26 | source(...) : Object | B.java:1509:67:1509:68 | in : Object | provenance | | +| B.java:1509:35:1509:89 | of(...) : Set [] : Object | B.java:1509:109:1509:111 | out : Set [] : Object | provenance | | +| B.java:1509:67:1509:68 | in : Object | B.java:1509:35:1509:89 | of(...) : Set [] : Object | provenance | MaD:309 | +| B.java:1509:109:1509:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1509:109:1509:111 | out : Set [] : Object | B.java:1509:97:1509:112 | readElement(...) | provenance | MaD:1 | +| B.java:1514:19:1514:26 | source(...) : Object | B.java:1514:72:1514:73 | in : Object | provenance | | +| B.java:1514:35:1514:89 | of(...) : Set [] : Object | B.java:1514:109:1514:111 | out : Set [] : Object | provenance | | +| B.java:1514:72:1514:73 | in : Object | B.java:1514:35:1514:89 | of(...) : Set [] : Object | provenance | MaD:309 | +| B.java:1514:109:1514:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1514:109:1514:111 | out : Set [] : Object | B.java:1514:97:1514:112 | readElement(...) | provenance | MaD:1 | +| B.java:1519:19:1519:26 | source(...) : Object | B.java:1519:77:1519:78 | in : Object | provenance | | +| B.java:1519:35:1519:89 | of(...) : Set [] : Object | B.java:1519:109:1519:111 | out : Set [] : Object | provenance | | +| B.java:1519:77:1519:78 | in : Object | B.java:1519:35:1519:89 | of(...) : Set [] : Object | provenance | MaD:309 | +| B.java:1519:109:1519:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1519:109:1519:111 | out : Set [] : Object | B.java:1519:97:1519:112 | readElement(...) | provenance | MaD:1 | +| B.java:1524:19:1524:26 | source(...) : Object | B.java:1524:82:1524:83 | in : Object | provenance | | +| B.java:1524:35:1524:89 | of(...) : Set [] : Object | B.java:1524:109:1524:111 | out : Set [] : Object | provenance | | +| B.java:1524:82:1524:83 | in : Object | B.java:1524:35:1524:89 | of(...) : Set [] : Object | provenance | MaD:309 | +| B.java:1524:109:1524:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1524:109:1524:111 | out : Set [] : Object | B.java:1524:97:1524:112 | readElement(...) | provenance | MaD:1 | +| B.java:1529:19:1529:26 | source(...) : Object | B.java:1529:87:1529:88 | in : Object | provenance | | +| B.java:1529:35:1529:89 | of(...) : Set [] : Object | B.java:1529:109:1529:111 | out : Set [] : Object | provenance | | +| B.java:1529:87:1529:88 | in : Object | B.java:1529:35:1529:89 | of(...) : Set [] : Object | provenance | MaD:309 | +| B.java:1529:109:1529:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1529:109:1529:111 | out : Set [] : Object | B.java:1529:97:1529:112 | readElement(...) | provenance | MaD:1 | +| B.java:1534:21:1534:47 | storeArrayElement(...) : Object[] [[]] : Object | B.java:1534:78:1534:79 | in : Object[] [[]] : Object | provenance | | +| B.java:1534:39:1534:46 | source(...) : Object | B.java:11:37:11:46 | obj : Object | provenance | | +| B.java:1534:39:1534:46 | source(...) : Object | B.java:1534:21:1534:47 | storeArrayElement(...) : Object[] [[]] : Object | provenance | | +| B.java:1534:56:1534:80 | stream(...) : Stream [] : Object | B.java:1534:100:1534:102 | out : Stream [] : Object | provenance | | +| B.java:1534:78:1534:79 | in : Object[] [[]] : Object | B.java:1534:56:1534:80 | stream(...) : Stream [] : Object | provenance | MaD:51 | +| B.java:1534:100:1534:102 | out : Stream [] : Object | B.java:1534:88:1534:103 | readElement(...) | provenance | MaD:343 | +| B.java:1539:21:1539:47 | storeArrayElement(...) : Object[] [[]] : Object | B.java:1539:83:1539:84 | in : Object[] [[]] : Object | provenance | | +| B.java:1539:39:1539:46 | source(...) : Object | B.java:11:37:11:46 | obj : Object | provenance | | +| B.java:1539:39:1539:46 | source(...) : Object | B.java:1539:21:1539:47 | storeArrayElement(...) : Object[] [[]] : Object | provenance | | +| B.java:1539:56:1539:85 | spliterator(...) : Spliterator [] : Object | B.java:1539:105:1539:107 | out : Spliterator [] : Object | provenance | | +| B.java:1539:83:1539:84 | in : Object[] [[]] : Object | B.java:1539:56:1539:85 | spliterator(...) : Spliterator [] : Object | provenance | MaD:50 | +| B.java:1539:105:1539:107 | out : Spliterator [] : Object | B.java:1539:93:1539:108 | readElement(...) | provenance | MaD:342 | +| B.java:1544:21:1544:47 | storeArrayElement(...) : Object[] [[]] : Object | B.java:1544:83:1544:84 | in : Object[] [[]] : Object | provenance | | +| B.java:1544:39:1544:46 | source(...) : Object | B.java:11:37:11:46 | obj : Object | provenance | | +| B.java:1544:39:1544:46 | source(...) : Object | B.java:1544:21:1544:47 | storeArrayElement(...) : Object[] [[]] : Object | provenance | | +| B.java:1544:56:1544:89 | copyOfRange(...) : Object[] [[]] : Object | B.java:1544:114:1544:116 | out : Object[] [[]] : Object | provenance | | +| B.java:1544:83:1544:84 | in : Object[] [[]] : Object | B.java:1544:56:1544:89 | copyOfRange(...) : Object[] [[]] : Object | provenance | MaD:31 | +| B.java:1544:114:1544:116 | out : Object[] [[]] : Object | B.java:14:34:14:45 | obj : Object[] [[]] : Object | provenance | | +| B.java:1544:114:1544:116 | out : Object[] [[]] : Object | B.java:1544:97:1544:117 | readArrayElement(...) | provenance | | +| B.java:1549:21:1549:47 | storeArrayElement(...) : Object[] [[]] : Object | B.java:1549:78:1549:79 | in : Object[] [[]] : Object | provenance | | +| B.java:1549:39:1549:46 | source(...) : Object | B.java:11:37:11:46 | obj : Object | provenance | | +| B.java:1549:39:1549:46 | source(...) : Object | B.java:1549:21:1549:47 | storeArrayElement(...) : Object[] [[]] : Object | provenance | | +| B.java:1549:56:1549:82 | copyOf(...) : Object[] [[]] : Object | B.java:1549:107:1549:109 | out : Object[] [[]] : Object | provenance | | +| B.java:1549:78:1549:79 | in : Object[] [[]] : Object | B.java:1549:56:1549:82 | copyOf(...) : Object[] [[]] : Object | provenance | MaD:30 | +| B.java:1549:107:1549:109 | out : Object[] [[]] : Object | B.java:14:34:14:45 | obj : Object[] [[]] : Object | provenance | | +| B.java:1549:107:1549:109 | out : Object[] [[]] : Object | B.java:1549:90:1549:110 | readArrayElement(...) | provenance | | +| B.java:1554:24:1554:56 | storeElementEnumeration(...) : Enumeration [] : Object | B.java:1554:90:1554:91 | in : Enumeration [] : Object | provenance | | +| B.java:1554:48:1554:55 | source(...) : Object | B.java:25:53:25:57 | obj : Object | provenance | | +| B.java:1554:48:1554:55 | source(...) : Object | B.java:1554:24:1554:56 | storeElementEnumeration(...) : Enumeration [] : Object | provenance | MaD:52 | +| B.java:1554:65:1554:92 | list(...) : ArrayList [] : Object | B.java:1554:112:1554:114 | out : ArrayList [] : Object | provenance | | +| B.java:1554:90:1554:91 | in : Enumeration [] : Object | B.java:1554:65:1554:92 | list(...) : ArrayList [] : Object | provenance | MaD:73 | +| B.java:1554:112:1554:114 | out : ArrayList [] : Object | B.java:31:28:31:42 | obj : ArrayList [] : Object | provenance | | +| B.java:1554:112:1554:114 | out : ArrayList [] : Object | B.java:1554:100:1554:115 | readElement(...) | provenance | MaD:1 | +| B.java:1559:23:1559:48 | storeElementList(...) : List [] : Object | B.java:1559:89:1559:90 | in : List [] : Object | provenance | | +| B.java:1559:40:1559:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:1559:40:1559:47 | source(...) : Object | B.java:1559:23:1559:48 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:1559:57:1559:91 | enumeration(...) : Enumeration [] : Object | B.java:1559:111:1559:113 | out : Enumeration [] : Object | provenance | | +| B.java:1559:89:1559:90 | in : List [] : Object | B.java:1559:57:1559:91 | enumeration(...) : Enumeration [] : Object | provenance | MaD:71 | +| B.java:1559:111:1559:113 | out : Enumeration [] : Object | B.java:35:28:35:45 | obj : Enumeration [] : Object | provenance | | +| B.java:1559:111:1559:113 | out : Enumeration [] : Object | B.java:1559:99:1559:114 | readElement(...) | provenance | MaD:135 | +| B.java:1564:19:1564:26 | source(...) : Object | B.java:1564:65:1564:66 | in : Object | provenance | | +| B.java:1564:35:1564:67 | nCopies(...) : List [] : Object | B.java:1564:87:1564:89 | out : List [] : Object | provenance | | +| B.java:1564:65:1564:66 | in : Object | B.java:1564:35:1564:67 | nCopies(...) : List [] : Object | provenance | MaD:76 | +| B.java:1564:87:1564:89 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1564:87:1564:89 | out : List [] : Object | B.java:1564:75:1564:90 | readElement(...) | provenance | MaD:1 | +| B.java:1569:19:1569:26 | source(...) : Object | B.java:1569:68:1569:69 | in : Object | provenance | | +| B.java:1569:35:1569:75 | singletonMap(...) : Map [] : Object | B.java:1569:94:1569:96 | out : Map [] : Object | provenance | | +| B.java:1569:68:1569:69 | in : Object | B.java:1569:35:1569:75 | singletonMap(...) : Map [] : Object | provenance | MaD:80 | +| B.java:1569:94:1569:96 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:1569:94:1569:96 | out : Map [] : Object | B.java:1569:83:1569:97 | readMapKey(...) | provenance | MaD:184 | +| B.java:1574:19:1574:26 | source(...) : Object | B.java:1574:73:1574:74 | in : Object | provenance | | +| B.java:1574:35:1574:75 | singletonMap(...) : Map [] : Object | B.java:1574:96:1574:98 | out : Map [] : Object | provenance | | +| B.java:1574:73:1574:74 | in : Object | B.java:1574:35:1574:75 | singletonMap(...) : Map [] : Object | provenance | MaD:81 | +| B.java:1574:96:1574:98 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:1574:96:1574:98 | out : Map [] : Object | B.java:1574:83:1574:99 | readMapValue(...) | provenance | MaD:181 | +| B.java:1579:19:1579:26 | source(...) : Object | B.java:1579:69:1579:70 | in : Object | provenance | | +| B.java:1579:35:1579:71 | singletonList(...) : List [] : Object | B.java:1579:91:1579:93 | out : List [] : Object | provenance | | +| B.java:1579:69:1579:70 | in : Object | B.java:1579:35:1579:71 | singletonList(...) : List [] : Object | provenance | MaD:79 | +| B.java:1579:91:1579:93 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1579:91:1579:93 | out : List [] : Object | B.java:1579:79:1579:94 | readElement(...) | provenance | MaD:1 | +| B.java:1584:19:1584:26 | source(...) : Object | B.java:1584:65:1584:66 | in : Object | provenance | | +| B.java:1584:35:1584:67 | singleton(...) : Set [] : Object | B.java:1584:87:1584:89 | out : Set [] : Object | provenance | | +| B.java:1584:65:1584:66 | in : Object | B.java:1584:35:1584:67 | singleton(...) : Set [] : Object | provenance | MaD:78 | +| B.java:1584:87:1584:89 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1584:87:1584:89 | out : Set [] : Object | B.java:1584:75:1584:90 | readElement(...) | provenance | MaD:1 | +| B.java:1589:19:1589:39 | storeMapKey(...) : TreeMap [] : Object | B.java:1589:88:1589:103 | (...)... : TreeMap [] : Object | provenance | | +| B.java:1589:31:1589:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:1589:31:1589:38 | source(...) : Object | B.java:1589:19:1589:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:1589:48:1589:114 | checkedNavigableMap(...) : NavigableMap [] : Object | B.java:1589:133:1589:135 | out : NavigableMap [] : Object | provenance | | +| B.java:1589:88:1589:103 | (...)... : TreeMap [] : Object | B.java:1589:48:1589:114 | checkedNavigableMap(...) : NavigableMap [] : Object | provenance | MaD:63 | +| B.java:1589:133:1589:135 | out : NavigableMap [] : Object | B.java:44:29:44:40 | obj : NavigableMap [] : Object | provenance | | +| B.java:1589:133:1589:135 | out : NavigableMap [] : Object | B.java:1589:122:1589:136 | readMapKey(...) | provenance | MaD:184 | +| B.java:1594:19:1594:41 | storeMapValue(...) : Map [] : Object | B.java:1594:90:1594:105 | (...)... : NavigableMap [] : Object | provenance | | +| B.java:1594:33:1594:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1594:33:1594:40 | source(...) : Object | B.java:1594:19:1594:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1594:50:1594:116 | checkedNavigableMap(...) : NavigableMap [] : Object | B.java:1594:137:1594:139 | out : NavigableMap [] : Object | provenance | | +| B.java:1594:90:1594:105 | (...)... : NavigableMap [] : Object | B.java:1594:50:1594:116 | checkedNavigableMap(...) : NavigableMap [] : Object | provenance | MaD:64 | +| B.java:1594:137:1594:139 | out : NavigableMap [] : Object | B.java:48:31:48:42 | obj : NavigableMap [] : Object | provenance | | +| B.java:1594:137:1594:139 | out : NavigableMap [] : Object | B.java:1594:124:1594:140 | readMapValue(...) | provenance | MaD:181 | +| B.java:1599:19:1599:39 | storeMapKey(...) : TreeMap [] : Object | B.java:1599:85:1599:97 | (...)... : TreeMap [] : Object | provenance | | +| B.java:1599:31:1599:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:1599:31:1599:38 | source(...) : Object | B.java:1599:19:1599:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:1599:48:1599:108 | checkedSortedMap(...) : SortedMap [] : Object | B.java:1599:127:1599:129 | out : SortedMap [] : Object | provenance | | +| B.java:1599:85:1599:97 | (...)... : TreeMap [] : Object | B.java:1599:48:1599:108 | checkedSortedMap(...) : SortedMap [] : Object | provenance | MaD:67 | +| B.java:1599:127:1599:129 | out : SortedMap [] : Object | B.java:44:29:44:40 | obj : SortedMap [] : Object | provenance | | +| B.java:1599:127:1599:129 | out : SortedMap [] : Object | B.java:1599:116:1599:130 | readMapKey(...) | provenance | MaD:184 | +| B.java:1604:19:1604:41 | storeMapValue(...) : Map [] : Object | B.java:1604:87:1604:99 | (...)... : SortedMap [] : Object | provenance | | +| B.java:1604:33:1604:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1604:33:1604:40 | source(...) : Object | B.java:1604:19:1604:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1604:50:1604:110 | checkedSortedMap(...) : SortedMap [] : Object | B.java:1604:131:1604:133 | out : SortedMap [] : Object | provenance | | +| B.java:1604:87:1604:99 | (...)... : SortedMap [] : Object | B.java:1604:50:1604:110 | checkedSortedMap(...) : SortedMap [] : Object | provenance | MaD:68 | +| B.java:1604:131:1604:133 | out : SortedMap [] : Object | B.java:48:31:48:42 | obj : SortedMap [] : Object | provenance | | +| B.java:1604:131:1604:133 | out : SortedMap [] : Object | B.java:1604:118:1604:134 | readMapValue(...) | provenance | MaD:181 | +| B.java:1609:19:1609:39 | storeMapKey(...) : TreeMap [] : Object | B.java:1609:79:1609:85 | (...)... : TreeMap [] : Object | provenance | | +| B.java:1609:31:1609:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:1609:31:1609:38 | source(...) : Object | B.java:1609:19:1609:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:1609:48:1609:96 | checkedMap(...) : Map [] : Object | B.java:1609:115:1609:117 | out : Map [] : Object | provenance | | +| B.java:1609:79:1609:85 | (...)... : TreeMap [] : Object | B.java:1609:48:1609:96 | checkedMap(...) : Map [] : Object | provenance | MaD:61 | +| B.java:1609:115:1609:117 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:1609:115:1609:117 | out : Map [] : Object | B.java:1609:104:1609:118 | readMapKey(...) | provenance | MaD:184 | +| B.java:1614:19:1614:41 | storeMapValue(...) : Map [] : Object | B.java:1614:81:1614:87 | (...)... : Map [] : Object | provenance | | +| B.java:1614:33:1614:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1614:33:1614:40 | source(...) : Object | B.java:1614:19:1614:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1614:50:1614:98 | checkedMap(...) : Map [] : Object | B.java:1614:119:1614:121 | out : Map [] : Object | provenance | | +| B.java:1614:81:1614:87 | (...)... : Map [] : Object | B.java:1614:50:1614:98 | checkedMap(...) : Map [] : Object | provenance | MaD:62 | +| B.java:1614:119:1614:121 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:1614:119:1614:121 | out : Map [] : Object | B.java:1614:106:1614:122 | readMapValue(...) | provenance | MaD:181 | +| B.java:1619:17:1619:42 | storeElementList(...) : List [] : Object | B.java:1619:83:1619:84 | in : List [] : Object | provenance | | +| B.java:1619:34:1619:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:1619:34:1619:41 | source(...) : Object | B.java:1619:17:1619:42 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:1619:51:1619:90 | checkedList(...) : List [] : Object | B.java:1619:110:1619:112 | out : List [] : Object | provenance | | +| B.java:1619:83:1619:84 | in : List [] : Object | B.java:1619:51:1619:90 | checkedList(...) : List [] : Object | provenance | MaD:60 | +| B.java:1619:110:1619:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1619:110:1619:112 | out : List [] : Object | B.java:1619:98:1619:113 | readElement(...) | provenance | MaD:1 | +| B.java:1624:25:1624:52 | storeElementNavSet(...) : TreeSet [] : Object | B.java:1624:101:1624:102 | in : TreeSet [] : Object | provenance | | +| B.java:1624:44:1624:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:1624:44:1624:51 | source(...) : Object | B.java:1624:25:1624:52 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:1624:61:1624:108 | checkedNavigableSet(...) : NavigableSet [] : Object | B.java:1624:128:1624:130 | out : NavigableSet [] : Object | provenance | | +| B.java:1624:101:1624:102 | in : TreeSet [] : Object | B.java:1624:61:1624:108 | checkedNavigableSet(...) : NavigableSet [] : Object | provenance | MaD:65 | +| B.java:1624:128:1624:130 | out : NavigableSet [] : Object | B.java:31:28:31:42 | obj : NavigableSet [] : Object | provenance | | +| B.java:1624:128:1624:130 | out : NavigableSet [] : Object | B.java:1624:116:1624:131 | readElement(...) | provenance | MaD:1 | +| B.java:1629:22:1629:49 | storeElementNavSet(...) : TreeSet [] : Object | B.java:1629:95:1629:96 | in : TreeSet [] : Object | provenance | | +| B.java:1629:41:1629:48 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:1629:41:1629:48 | source(...) : Object | B.java:1629:22:1629:49 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:1629:58:1629:102 | checkedSortedSet(...) : SortedSet [] : Object | B.java:1629:122:1629:124 | out : SortedSet [] : Object | provenance | | +| B.java:1629:95:1629:96 | in : TreeSet [] : Object | B.java:1629:58:1629:102 | checkedSortedSet(...) : SortedSet [] : Object | provenance | MaD:69 | +| B.java:1629:122:1629:124 | out : SortedSet [] : Object | B.java:31:28:31:42 | obj : SortedSet [] : Object | provenance | | +| B.java:1629:122:1629:124 | out : SortedSet [] : Object | B.java:1629:110:1629:125 | readElement(...) | provenance | MaD:1 | +| B.java:1634:16:1634:43 | storeElementNavSet(...) : TreeSet [] : Object | B.java:1634:83:1634:84 | in : TreeSet [] : Object | provenance | | +| B.java:1634:35:1634:42 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:1634:35:1634:42 | source(...) : Object | B.java:1634:16:1634:43 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:1634:52:1634:90 | checkedSet(...) : Set [] : Object | B.java:1634:110:1634:112 | out : Set [] : Object | provenance | | +| B.java:1634:83:1634:84 | in : TreeSet [] : Object | B.java:1634:52:1634:90 | checkedSet(...) : Set [] : Object | provenance | MaD:66 | +| B.java:1634:110:1634:112 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1634:110:1634:112 | out : Set [] : Object | B.java:1634:98:1634:113 | readElement(...) | provenance | MaD:1 | +| B.java:1639:23:1639:48 | storeElementList(...) : List [] : Object | B.java:1639:95:1639:96 | in : List [] : Object | provenance | | +| B.java:1639:40:1639:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:1639:40:1639:47 | source(...) : Object | B.java:1639:23:1639:48 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:1639:57:1639:102 | checkedCollection(...) : Collection [] : Object | B.java:1639:122:1639:124 | out : Collection [] : Object | provenance | | +| B.java:1639:95:1639:96 | in : List [] : Object | B.java:1639:57:1639:102 | checkedCollection(...) : Collection [] : Object | provenance | MaD:59 | +| B.java:1639:122:1639:124 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | provenance | | +| B.java:1639:122:1639:124 | out : Collection [] : Object | B.java:1639:110:1639:125 | readElement(...) | provenance | MaD:1 | +| B.java:1644:19:1644:39 | storeMapKey(...) : TreeMap [] : Object | B.java:1644:93:1644:108 | (...)... : TreeMap [] : Object | provenance | | +| B.java:1644:31:1644:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:1644:31:1644:38 | source(...) : Object | B.java:1644:19:1644:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:1644:48:1644:109 | synchronizedNavigableMap(...) : NavigableMap [] : Object | B.java:1644:128:1644:130 | out : NavigableMap [] : Object | provenance | | +| B.java:1644:93:1644:108 | (...)... : TreeMap [] : Object | B.java:1644:48:1644:109 | synchronizedNavigableMap(...) : NavigableMap [] : Object | provenance | MaD:86 | +| B.java:1644:128:1644:130 | out : NavigableMap [] : Object | B.java:44:29:44:40 | obj : NavigableMap [] : Object | provenance | | +| B.java:1644:128:1644:130 | out : NavigableMap [] : Object | B.java:1644:117:1644:131 | readMapKey(...) | provenance | MaD:184 | +| B.java:1649:19:1649:41 | storeMapValue(...) : Map [] : Object | B.java:1649:95:1649:110 | (...)... : NavigableMap [] : Object | provenance | | +| B.java:1649:33:1649:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1649:33:1649:40 | source(...) : Object | B.java:1649:19:1649:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1649:50:1649:111 | synchronizedNavigableMap(...) : NavigableMap [] : Object | B.java:1649:132:1649:134 | out : NavigableMap [] : Object | provenance | | +| B.java:1649:95:1649:110 | (...)... : NavigableMap [] : Object | B.java:1649:50:1649:111 | synchronizedNavigableMap(...) : NavigableMap [] : Object | provenance | MaD:87 | +| B.java:1649:132:1649:134 | out : NavigableMap [] : Object | B.java:48:31:48:42 | obj : NavigableMap [] : Object | provenance | | +| B.java:1649:132:1649:134 | out : NavigableMap [] : Object | B.java:1649:119:1649:135 | readMapValue(...) | provenance | MaD:181 | +| B.java:1654:19:1654:39 | storeMapKey(...) : TreeMap [] : Object | B.java:1654:90:1654:102 | (...)... : TreeMap [] : Object | provenance | | +| B.java:1654:31:1654:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:1654:31:1654:38 | source(...) : Object | B.java:1654:19:1654:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:1654:48:1654:103 | synchronizedSortedMap(...) : SortedMap [] : Object | B.java:1654:122:1654:124 | out : SortedMap [] : Object | provenance | | +| B.java:1654:90:1654:102 | (...)... : TreeMap [] : Object | B.java:1654:48:1654:103 | synchronizedSortedMap(...) : SortedMap [] : Object | provenance | MaD:90 | +| B.java:1654:122:1654:124 | out : SortedMap [] : Object | B.java:44:29:44:40 | obj : SortedMap [] : Object | provenance | | +| B.java:1654:122:1654:124 | out : SortedMap [] : Object | B.java:1654:111:1654:125 | readMapKey(...) | provenance | MaD:184 | +| B.java:1659:19:1659:41 | storeMapValue(...) : Map [] : Object | B.java:1659:92:1659:104 | (...)... : SortedMap [] : Object | provenance | | +| B.java:1659:33:1659:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1659:33:1659:40 | source(...) : Object | B.java:1659:19:1659:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1659:50:1659:105 | synchronizedSortedMap(...) : SortedMap [] : Object | B.java:1659:126:1659:128 | out : SortedMap [] : Object | provenance | | +| B.java:1659:92:1659:104 | (...)... : SortedMap [] : Object | B.java:1659:50:1659:105 | synchronizedSortedMap(...) : SortedMap [] : Object | provenance | MaD:91 | +| B.java:1659:126:1659:128 | out : SortedMap [] : Object | B.java:48:31:48:42 | obj : SortedMap [] : Object | provenance | | +| B.java:1659:126:1659:128 | out : SortedMap [] : Object | B.java:1659:113:1659:129 | readMapValue(...) | provenance | MaD:181 | +| B.java:1664:19:1664:39 | storeMapKey(...) : TreeMap [] : Object | B.java:1664:84:1664:90 | (...)... : TreeMap [] : Object | provenance | | +| B.java:1664:31:1664:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:1664:31:1664:38 | source(...) : Object | B.java:1664:19:1664:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:1664:48:1664:91 | synchronizedMap(...) : Map [] : Object | B.java:1664:110:1664:112 | out : Map [] : Object | provenance | | +| B.java:1664:84:1664:90 | (...)... : TreeMap [] : Object | B.java:1664:48:1664:91 | synchronizedMap(...) : Map [] : Object | provenance | MaD:84 | +| B.java:1664:110:1664:112 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:1664:110:1664:112 | out : Map [] : Object | B.java:1664:99:1664:113 | readMapKey(...) | provenance | MaD:184 | +| B.java:1669:19:1669:41 | storeMapValue(...) : Map [] : Object | B.java:1669:86:1669:92 | (...)... : Map [] : Object | provenance | | +| B.java:1669:33:1669:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1669:33:1669:40 | source(...) : Object | B.java:1669:19:1669:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1669:50:1669:93 | synchronizedMap(...) : Map [] : Object | B.java:1669:114:1669:116 | out : Map [] : Object | provenance | | +| B.java:1669:86:1669:92 | (...)... : Map [] : Object | B.java:1669:50:1669:93 | synchronizedMap(...) : Map [] : Object | provenance | MaD:85 | +| B.java:1669:114:1669:116 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:1669:114:1669:116 | out : Map [] : Object | B.java:1669:101:1669:117 | readMapValue(...) | provenance | MaD:181 | +| B.java:1674:17:1674:42 | storeElementList(...) : List [] : Object | B.java:1674:88:1674:89 | in : List [] : Object | provenance | | +| B.java:1674:34:1674:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:1674:34:1674:41 | source(...) : Object | B.java:1674:17:1674:42 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:1674:51:1674:90 | synchronizedList(...) : List [] : Object | B.java:1674:110:1674:112 | out : List [] : Object | provenance | | +| B.java:1674:88:1674:89 | in : List [] : Object | B.java:1674:51:1674:90 | synchronizedList(...) : List [] : Object | provenance | MaD:83 | +| B.java:1674:110:1674:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1674:110:1674:112 | out : List [] : Object | B.java:1674:98:1674:113 | readElement(...) | provenance | MaD:1 | +| B.java:1679:25:1679:52 | storeElementNavSet(...) : TreeSet [] : Object | B.java:1679:106:1679:107 | in : TreeSet [] : Object | provenance | | +| B.java:1679:44:1679:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:1679:44:1679:51 | source(...) : Object | B.java:1679:25:1679:52 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:1679:61:1679:108 | synchronizedNavigableSet(...) : NavigableSet [] : Object | B.java:1679:128:1679:130 | out : NavigableSet [] : Object | provenance | | +| B.java:1679:106:1679:107 | in : TreeSet [] : Object | B.java:1679:61:1679:108 | synchronizedNavigableSet(...) : NavigableSet [] : Object | provenance | MaD:88 | +| B.java:1679:128:1679:130 | out : NavigableSet [] : Object | B.java:31:28:31:42 | obj : NavigableSet [] : Object | provenance | | +| B.java:1679:128:1679:130 | out : NavigableSet [] : Object | B.java:1679:116:1679:131 | readElement(...) | provenance | MaD:1 | +| B.java:1684:22:1684:49 | storeElementNavSet(...) : TreeSet [] : Object | B.java:1684:100:1684:101 | in : TreeSet [] : Object | provenance | | +| B.java:1684:41:1684:48 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:1684:41:1684:48 | source(...) : Object | B.java:1684:22:1684:49 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:1684:58:1684:102 | synchronizedSortedSet(...) : SortedSet [] : Object | B.java:1684:122:1684:124 | out : SortedSet [] : Object | provenance | | +| B.java:1684:100:1684:101 | in : TreeSet [] : Object | B.java:1684:58:1684:102 | synchronizedSortedSet(...) : SortedSet [] : Object | provenance | MaD:92 | +| B.java:1684:122:1684:124 | out : SortedSet [] : Object | B.java:31:28:31:42 | obj : SortedSet [] : Object | provenance | | +| B.java:1684:122:1684:124 | out : SortedSet [] : Object | B.java:1684:110:1684:125 | readElement(...) | provenance | MaD:1 | +| B.java:1689:16:1689:43 | storeElementNavSet(...) : TreeSet [] : Object | B.java:1689:88:1689:89 | in : TreeSet [] : Object | provenance | | +| B.java:1689:35:1689:42 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:1689:35:1689:42 | source(...) : Object | B.java:1689:16:1689:43 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:1689:52:1689:90 | synchronizedSet(...) : Set [] : Object | B.java:1689:110:1689:112 | out : Set [] : Object | provenance | | +| B.java:1689:88:1689:89 | in : TreeSet [] : Object | B.java:1689:52:1689:90 | synchronizedSet(...) : Set [] : Object | provenance | MaD:89 | +| B.java:1689:110:1689:112 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1689:110:1689:112 | out : Set [] : Object | B.java:1689:98:1689:113 | readElement(...) | provenance | MaD:1 | +| B.java:1694:23:1694:48 | storeElementList(...) : List [] : Object | B.java:1694:100:1694:101 | in : List [] : Object | provenance | | +| B.java:1694:40:1694:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:1694:40:1694:47 | source(...) : Object | B.java:1694:23:1694:48 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:1694:57:1694:102 | synchronizedCollection(...) : Collection [] : Object | B.java:1694:122:1694:124 | out : Collection [] : Object | provenance | | +| B.java:1694:100:1694:101 | in : List [] : Object | B.java:1694:57:1694:102 | synchronizedCollection(...) : Collection [] : Object | provenance | MaD:82 | +| B.java:1694:122:1694:124 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | provenance | | +| B.java:1694:122:1694:124 | out : Collection [] : Object | B.java:1694:110:1694:125 | readElement(...) | provenance | MaD:1 | +| B.java:1699:19:1699:39 | storeMapKey(...) : TreeMap [] : Object | B.java:1699:93:1699:108 | (...)... : TreeMap [] : Object | provenance | | +| B.java:1699:31:1699:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:1699:31:1699:38 | source(...) : Object | B.java:1699:19:1699:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:1699:48:1699:109 | unmodifiableNavigableMap(...) : NavigableMap [] : Object | B.java:1699:128:1699:130 | out : NavigableMap [] : Object | provenance | | +| B.java:1699:93:1699:108 | (...)... : TreeMap [] : Object | B.java:1699:48:1699:109 | unmodifiableNavigableMap(...) : NavigableMap [] : Object | provenance | MaD:97 | +| B.java:1699:128:1699:130 | out : NavigableMap [] : Object | B.java:44:29:44:40 | obj : NavigableMap [] : Object | provenance | | +| B.java:1699:128:1699:130 | out : NavigableMap [] : Object | B.java:1699:117:1699:131 | readMapKey(...) | provenance | MaD:184 | +| B.java:1704:19:1704:41 | storeMapValue(...) : Map [] : Object | B.java:1704:95:1704:110 | (...)... : NavigableMap [] : Object | provenance | | +| B.java:1704:33:1704:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1704:33:1704:40 | source(...) : Object | B.java:1704:19:1704:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1704:50:1704:111 | unmodifiableNavigableMap(...) : NavigableMap [] : Object | B.java:1704:132:1704:134 | out : NavigableMap [] : Object | provenance | | +| B.java:1704:95:1704:110 | (...)... : NavigableMap [] : Object | B.java:1704:50:1704:111 | unmodifiableNavigableMap(...) : NavigableMap [] : Object | provenance | MaD:98 | +| B.java:1704:132:1704:134 | out : NavigableMap [] : Object | B.java:48:31:48:42 | obj : NavigableMap [] : Object | provenance | | +| B.java:1704:132:1704:134 | out : NavigableMap [] : Object | B.java:1704:119:1704:135 | readMapValue(...) | provenance | MaD:181 | +| B.java:1709:19:1709:39 | storeMapKey(...) : TreeMap [] : Object | B.java:1709:90:1709:102 | (...)... : TreeMap [] : Object | provenance | | +| B.java:1709:31:1709:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:1709:31:1709:38 | source(...) : Object | B.java:1709:19:1709:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:1709:48:1709:103 | unmodifiableSortedMap(...) : SortedMap [] : Object | B.java:1709:122:1709:124 | out : SortedMap [] : Object | provenance | | +| B.java:1709:90:1709:102 | (...)... : TreeMap [] : Object | B.java:1709:48:1709:103 | unmodifiableSortedMap(...) : SortedMap [] : Object | provenance | MaD:105 | +| B.java:1709:122:1709:124 | out : SortedMap [] : Object | B.java:44:29:44:40 | obj : SortedMap [] : Object | provenance | | +| B.java:1709:122:1709:124 | out : SortedMap [] : Object | B.java:1709:111:1709:125 | readMapKey(...) | provenance | MaD:184 | +| B.java:1714:19:1714:41 | storeMapValue(...) : Map [] : Object | B.java:1714:92:1714:104 | (...)... : SortedMap [] : Object | provenance | | +| B.java:1714:33:1714:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1714:33:1714:40 | source(...) : Object | B.java:1714:19:1714:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1714:50:1714:105 | unmodifiableSortedMap(...) : SortedMap [] : Object | B.java:1714:126:1714:128 | out : SortedMap [] : Object | provenance | | +| B.java:1714:92:1714:104 | (...)... : SortedMap [] : Object | B.java:1714:50:1714:105 | unmodifiableSortedMap(...) : SortedMap [] : Object | provenance | MaD:106 | +| B.java:1714:126:1714:128 | out : SortedMap [] : Object | B.java:48:31:48:42 | obj : SortedMap [] : Object | provenance | | +| B.java:1714:126:1714:128 | out : SortedMap [] : Object | B.java:1714:113:1714:129 | readMapValue(...) | provenance | MaD:181 | +| B.java:1719:19:1719:39 | storeMapKey(...) : TreeMap [] : Object | B.java:1719:84:1719:90 | (...)... : TreeMap [] : Object | provenance | | +| B.java:1719:31:1719:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:1719:31:1719:38 | source(...) : Object | B.java:1719:19:1719:39 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:1719:48:1719:91 | unmodifiableMap(...) : Map [] : Object | B.java:1719:110:1719:112 | out : Map [] : Object | provenance | | +| B.java:1719:84:1719:90 | (...)... : TreeMap [] : Object | B.java:1719:48:1719:91 | unmodifiableMap(...) : Map [] : Object | provenance | MaD:95 | +| B.java:1719:110:1719:112 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | provenance | | +| B.java:1719:110:1719:112 | out : Map [] : Object | B.java:1719:99:1719:113 | readMapKey(...) | provenance | MaD:184 | +| B.java:1724:19:1724:41 | storeMapValue(...) : Map [] : Object | B.java:1724:86:1724:92 | (...)... : Map [] : Object | provenance | | +| B.java:1724:33:1724:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1724:33:1724:40 | source(...) : Object | B.java:1724:19:1724:41 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1724:50:1724:93 | unmodifiableMap(...) : Map [] : Object | B.java:1724:114:1724:116 | out : Map [] : Object | provenance | | +| B.java:1724:86:1724:92 | (...)... : Map [] : Object | B.java:1724:50:1724:93 | unmodifiableMap(...) : Map [] : Object | provenance | MaD:96 | +| B.java:1724:114:1724:116 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | provenance | | +| B.java:1724:114:1724:116 | out : Map [] : Object | B.java:1724:101:1724:117 | readMapValue(...) | provenance | MaD:181 | +| B.java:1729:17:1729:42 | storeElementList(...) : List [] : Object | B.java:1729:88:1729:89 | in : List [] : Object | provenance | | +| B.java:1729:34:1729:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:1729:34:1729:41 | source(...) : Object | B.java:1729:17:1729:42 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:1729:51:1729:90 | unmodifiableList(...) : List [] : Object | B.java:1729:110:1729:112 | out : List [] : Object | provenance | | +| B.java:1729:88:1729:89 | in : List [] : Object | B.java:1729:51:1729:90 | unmodifiableList(...) : List [] : Object | provenance | MaD:94 | +| B.java:1729:110:1729:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1729:110:1729:112 | out : List [] : Object | B.java:1729:98:1729:113 | readElement(...) | provenance | MaD:1 | +| B.java:1734:25:1734:52 | storeElementNavSet(...) : TreeSet [] : Object | B.java:1734:106:1734:107 | in : TreeSet [] : Object | provenance | | +| B.java:1734:44:1734:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:1734:44:1734:51 | source(...) : Object | B.java:1734:25:1734:52 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:1734:61:1734:108 | unmodifiableNavigableSet(...) : NavigableSet [] : Object | B.java:1734:128:1734:130 | out : NavigableSet [] : Object | provenance | | +| B.java:1734:106:1734:107 | in : TreeSet [] : Object | B.java:1734:61:1734:108 | unmodifiableNavigableSet(...) : NavigableSet [] : Object | provenance | MaD:99 | +| B.java:1734:128:1734:130 | out : NavigableSet [] : Object | B.java:31:28:31:42 | obj : NavigableSet [] : Object | provenance | | +| B.java:1734:128:1734:130 | out : NavigableSet [] : Object | B.java:1734:116:1734:131 | readElement(...) | provenance | MaD:1 | +| B.java:1739:22:1739:49 | storeElementNavSet(...) : TreeSet [] : Object | B.java:1739:100:1739:101 | in : TreeSet [] : Object | provenance | | +| B.java:1739:41:1739:48 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:1739:41:1739:48 | source(...) : Object | B.java:1739:22:1739:49 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:1739:58:1739:102 | unmodifiableSortedSet(...) : SortedSet [] : Object | B.java:1739:122:1739:124 | out : SortedSet [] : Object | provenance | | +| B.java:1739:100:1739:101 | in : TreeSet [] : Object | B.java:1739:58:1739:102 | unmodifiableSortedSet(...) : SortedSet [] : Object | provenance | MaD:107 | +| B.java:1739:122:1739:124 | out : SortedSet [] : Object | B.java:31:28:31:42 | obj : SortedSet [] : Object | provenance | | +| B.java:1739:122:1739:124 | out : SortedSet [] : Object | B.java:1739:110:1739:125 | readElement(...) | provenance | MaD:1 | +| B.java:1744:16:1744:43 | storeElementNavSet(...) : TreeSet [] : Object | B.java:1744:88:1744:89 | in : TreeSet [] : Object | provenance | | +| B.java:1744:35:1744:42 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:1744:35:1744:42 | source(...) : Object | B.java:1744:16:1744:43 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:1744:52:1744:90 | unmodifiableSet(...) : Set [] : Object | B.java:1744:110:1744:112 | out : Set [] : Object | provenance | | +| B.java:1744:88:1744:89 | in : TreeSet [] : Object | B.java:1744:52:1744:90 | unmodifiableSet(...) : Set [] : Object | provenance | MaD:104 | +| B.java:1744:110:1744:112 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | provenance | | +| B.java:1744:110:1744:112 | out : Set [] : Object | B.java:1744:98:1744:113 | readElement(...) | provenance | MaD:1 | +| B.java:1749:23:1749:48 | storeElementList(...) : List [] : Object | B.java:1749:100:1749:101 | in : List [] : Object | provenance | | +| B.java:1749:40:1749:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:1749:40:1749:47 | source(...) : Object | B.java:1749:23:1749:48 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:1749:57:1749:102 | unmodifiableCollection(...) : Collection [] : Object | B.java:1749:122:1749:124 | out : Collection [] : Object | provenance | | +| B.java:1749:100:1749:101 | in : List [] : Object | B.java:1749:57:1749:102 | unmodifiableCollection(...) : Collection [] : Object | provenance | MaD:93 | +| B.java:1749:122:1749:124 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | provenance | | +| B.java:1749:122:1749:124 | out : Collection [] : Object | B.java:1749:110:1749:125 | readElement(...) | provenance | MaD:1 | +| B.java:1754:23:1754:48 | storeElementList(...) : List [] : Object | B.java:1754:81:1754:82 | in : List [] : Object | provenance | | +| B.java:1754:40:1754:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:1754:40:1754:47 | source(...) : Object | B.java:1754:23:1754:48 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:1754:57:1754:83 | max(...) : Comparable | B.java:1754:91:1754:93 | out | provenance | | +| B.java:1754:81:1754:82 | in : List [] : Object | B.java:1754:57:1754:83 | max(...) : Comparable | provenance | MaD:74 | +| B.java:1759:23:1759:48 | storeElementList(...) : List [] : Object | B.java:1759:81:1759:82 | in : List [] : Object | provenance | | +| B.java:1759:40:1759:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:1759:40:1759:47 | source(...) : Object | B.java:1759:23:1759:48 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:1759:57:1759:83 | min(...) : Comparable | B.java:1759:91:1759:93 | out | provenance | | +| B.java:1759:81:1759:82 | in : List [] : Object | B.java:1759:57:1759:83 | min(...) : Comparable | provenance | MaD:75 | +| B.java:1764:19:1764:26 | source(...) : Object | B.java:1764:57:1764:58 | in : Object | provenance | | +| B.java:1764:49:1764:51 | out [post update] : Object[] [[]] : Object | B.java:1764:84:1764:86 | out : Object[] [[]] : Object | provenance | | +| B.java:1764:57:1764:58 | in : Object | B.java:1764:49:1764:51 | out [post update] : Object[] [[]] : Object | provenance | MaD:33 | +| B.java:1764:84:1764:86 | out : Object[] [[]] : Object | B.java:14:34:14:45 | obj : Object[] [[]] : Object | provenance | | +| B.java:1764:84:1764:86 | out : Object[] [[]] : Object | B.java:1764:67:1764:87 | readArrayElement(...) | provenance | | +| B.java:1769:19:1769:26 | source(...) : Object | B.java:1769:53:1769:54 | in : Object | provenance | | +| B.java:1769:49:1769:51 | out [post update] : Object[] [[]] : Object | B.java:1769:80:1769:82 | out : Object[] [[]] : Object | provenance | | +| B.java:1769:53:1769:54 | in : Object | B.java:1769:49:1769:51 | out [post update] : Object[] [[]] : Object | provenance | MaD:32 | +| B.java:1769:80:1769:82 | out : Object[] [[]] : Object | B.java:14:34:14:45 | obj : Object[] [[]] : Object | provenance | | +| B.java:1769:80:1769:82 | out : Object[] [[]] : Object | B.java:1769:63:1769:83 | readArrayElement(...) | provenance | | +| B.java:1774:18:1774:32 | (...)... : Number | B.java:1774:63:1774:64 | in : Number | provenance | | +| B.java:1774:25:1774:32 | source(...) : Object | B.java:1774:18:1774:32 | (...)... : Number | provenance | | +| B.java:1774:55:1774:57 | out [post update] : float[] [[]] : Number | B.java:1774:90:1774:92 | out : float[] [[]] : Number | provenance | | +| B.java:1774:63:1774:64 | in : Number | B.java:1774:55:1774:57 | out [post update] : float[] [[]] : Number | provenance | MaD:43 | +| B.java:1774:90:1774:92 | out : float[] [[]] : Number | B.java:21:33:21:43 | obj : float[] [[]] : Number | provenance | | +| B.java:1774:90:1774:92 | out : float[] [[]] : Number | B.java:1774:73:1774:93 | readArrayElement(...) | provenance | | +| B.java:1779:18:1779:32 | (...)... : Number | B.java:1779:59:1779:60 | in : Number | provenance | | +| B.java:1779:25:1779:32 | source(...) : Object | B.java:1779:18:1779:32 | (...)... : Number | provenance | | +| B.java:1779:55:1779:57 | out [post update] : float[] [[]] : Number | B.java:1779:86:1779:88 | out : float[] [[]] : Number | provenance | | +| B.java:1779:59:1779:60 | in : Number | B.java:1779:55:1779:57 | out [post update] : float[] [[]] : Number | provenance | MaD:42 | +| B.java:1779:86:1779:88 | out : float[] [[]] : Number | B.java:21:33:21:43 | obj : float[] [[]] : Number | provenance | | +| B.java:1779:86:1779:88 | out : float[] [[]] : Number | B.java:1779:69:1779:89 | readArrayElement(...) | provenance | | +| B.java:1784:19:1784:34 | (...)... : Number | B.java:1784:65:1784:66 | in : Number | provenance | | +| B.java:1784:27:1784:34 | source(...) : Object | B.java:1784:19:1784:34 | (...)... : Number | provenance | | +| B.java:1784:57:1784:59 | out [post update] : double[] [[]] : Number | B.java:1784:92:1784:94 | out : double[] [[]] : Number | provenance | | +| B.java:1784:65:1784:66 | in : Number | B.java:1784:57:1784:59 | out [post update] : double[] [[]] : Number | provenance | MaD:41 | +| B.java:1784:92:1784:94 | out : double[] [[]] : Number | B.java:22:34:22:45 | obj : double[] [[]] : Number | provenance | | +| B.java:1784:92:1784:94 | out : double[] [[]] : Number | B.java:1784:75:1784:95 | readArrayElement(...) | provenance | | +| B.java:1789:19:1789:34 | (...)... : Number | B.java:1789:61:1789:62 | in : Number | provenance | | +| B.java:1789:27:1789:34 | source(...) : Object | B.java:1789:19:1789:34 | (...)... : Number | provenance | | +| B.java:1789:57:1789:59 | out [post update] : double[] [[]] : Number | B.java:1789:88:1789:90 | out : double[] [[]] : Number | provenance | | +| B.java:1789:61:1789:62 | in : Number | B.java:1789:57:1789:59 | out [post update] : double[] [[]] : Number | provenance | MaD:40 | +| B.java:1789:88:1789:90 | out : double[] [[]] : Number | B.java:22:34:22:45 | obj : double[] [[]] : Number | provenance | | +| B.java:1789:88:1789:90 | out : double[] [[]] : Number | B.java:1789:71:1789:91 | readArrayElement(...) | provenance | | +| B.java:1794:20:1794:36 | (...)... : Boolean | B.java:1794:67:1794:68 | in : Boolean | provenance | | +| B.java:1794:29:1794:36 | source(...) : Object | B.java:1794:20:1794:36 | (...)... : Boolean | provenance | | +| B.java:1794:59:1794:61 | out [post update] : boolean[] [[]] : Boolean | B.java:1794:94:1794:96 | out : boolean[] [[]] : Boolean | provenance | | +| B.java:1794:67:1794:68 | in : Boolean | B.java:1794:59:1794:61 | out [post update] : boolean[] [[]] : Boolean | provenance | MaD:35 | +| B.java:1794:94:1794:96 | out : boolean[] [[]] : Boolean | B.java:15:35:15:47 | obj : boolean[] [[]] : Boolean | provenance | | +| B.java:1794:94:1794:96 | out : boolean[] [[]] : Boolean | B.java:1794:77:1794:97 | readArrayElement(...) | provenance | | +| B.java:1799:20:1799:36 | (...)... : Boolean | B.java:1799:63:1799:64 | in : Boolean | provenance | | +| B.java:1799:29:1799:36 | source(...) : Object | B.java:1799:20:1799:36 | (...)... : Boolean | provenance | | +| B.java:1799:59:1799:61 | out [post update] : boolean[] [[]] : Boolean | B.java:1799:90:1799:92 | out : boolean[] [[]] : Boolean | provenance | | +| B.java:1799:63:1799:64 | in : Boolean | B.java:1799:59:1799:61 | out [post update] : boolean[] [[]] : Boolean | provenance | MaD:34 | +| B.java:1799:90:1799:92 | out : boolean[] [[]] : Boolean | B.java:15:35:15:47 | obj : boolean[] [[]] : Boolean | provenance | | +| B.java:1799:90:1799:92 | out : boolean[] [[]] : Boolean | B.java:1799:73:1799:93 | readArrayElement(...) | provenance | | +| B.java:1804:17:1804:30 | (...)... : Number | B.java:1804:61:1804:62 | in : Number | provenance | | +| B.java:1804:23:1804:30 | source(...) : Object | B.java:1804:17:1804:30 | (...)... : Number | provenance | | +| B.java:1804:53:1804:55 | out [post update] : byte[] [[]] : Number | B.java:1804:88:1804:90 | out : byte[] [[]] : Number | provenance | | +| B.java:1804:61:1804:62 | in : Number | B.java:1804:53:1804:55 | out [post update] : byte[] [[]] : Number | provenance | MaD:37 | +| B.java:1804:88:1804:90 | out : byte[] [[]] : Number | B.java:16:32:16:41 | obj : byte[] [[]] : Number | provenance | | +| B.java:1804:88:1804:90 | out : byte[] [[]] : Number | B.java:1804:71:1804:91 | readArrayElement(...) | provenance | | +| B.java:1809:17:1809:30 | (...)... : Number | B.java:1809:57:1809:58 | in : Number | provenance | | +| B.java:1809:23:1809:30 | source(...) : Object | B.java:1809:17:1809:30 | (...)... : Number | provenance | | +| B.java:1809:53:1809:55 | out [post update] : byte[] [[]] : Number | B.java:1809:84:1809:86 | out : byte[] [[]] : Number | provenance | | +| B.java:1809:57:1809:58 | in : Number | B.java:1809:53:1809:55 | out [post update] : byte[] [[]] : Number | provenance | MaD:36 | +| B.java:1809:84:1809:86 | out : byte[] [[]] : Number | B.java:16:32:16:41 | obj : byte[] [[]] : Number | provenance | | +| B.java:1809:84:1809:86 | out : byte[] [[]] : Number | B.java:1809:67:1809:87 | readArrayElement(...) | provenance | | +| B.java:1814:17:1814:35 | (...)... : Number | B.java:1814:66:1814:67 | in : Number | provenance | | +| B.java:1814:28:1814:35 | source(...) : Object | B.java:1814:17:1814:35 | (...)... : Number | provenance | | +| B.java:1814:58:1814:60 | out [post update] : char[] [[]] : Number | B.java:1814:93:1814:95 | out : char[] [[]] : Number | provenance | | +| B.java:1814:66:1814:67 | in : Number | B.java:1814:58:1814:60 | out [post update] : char[] [[]] : Number | provenance | MaD:39 | +| B.java:1814:93:1814:95 | out : char[] [[]] : Number | B.java:17:32:17:41 | obj : char[] [[]] : Number | provenance | | +| B.java:1814:93:1814:95 | out : char[] [[]] : Number | B.java:1814:76:1814:96 | readArrayElement(...) | provenance | | +| B.java:1819:17:1819:35 | (...)... : Number | B.java:1819:62:1819:63 | in : Number | provenance | | +| B.java:1819:28:1819:35 | source(...) : Object | B.java:1819:17:1819:35 | (...)... : Number | provenance | | +| B.java:1819:58:1819:60 | out [post update] : char[] [[]] : Number | B.java:1819:89:1819:91 | out : char[] [[]] : Number | provenance | | +| B.java:1819:62:1819:63 | in : Number | B.java:1819:58:1819:60 | out [post update] : char[] [[]] : Number | provenance | MaD:38 | +| B.java:1819:89:1819:91 | out : char[] [[]] : Number | B.java:17:32:17:41 | obj : char[] [[]] : Number | provenance | | +| B.java:1819:89:1819:91 | out : char[] [[]] : Number | B.java:1819:72:1819:92 | readArrayElement(...) | provenance | | +| B.java:1824:18:1824:32 | (...)... : Number | B.java:1824:63:1824:64 | in : Number | provenance | | +| B.java:1824:25:1824:32 | source(...) : Object | B.java:1824:18:1824:32 | (...)... : Number | provenance | | +| B.java:1824:55:1824:57 | out [post update] : short[] [[]] : Number | B.java:1824:90:1824:92 | out : short[] [[]] : Number | provenance | | +| B.java:1824:63:1824:64 | in : Number | B.java:1824:55:1824:57 | out [post update] : short[] [[]] : Number | provenance | MaD:48 | +| B.java:1824:90:1824:92 | out : short[] [[]] : Number | B.java:18:33:18:43 | obj : short[] [[]] : Number | provenance | | +| B.java:1824:90:1824:92 | out : short[] [[]] : Number | B.java:1824:73:1824:93 | readArrayElement(...) | provenance | | +| B.java:1829:18:1829:32 | (...)... : Number | B.java:1829:59:1829:60 | in : Number | provenance | | +| B.java:1829:25:1829:32 | source(...) : Object | B.java:1829:18:1829:32 | (...)... : Number | provenance | | +| B.java:1829:55:1829:57 | out [post update] : short[] [[]] : Number | B.java:1829:86:1829:88 | out : short[] [[]] : Number | provenance | | +| B.java:1829:59:1829:60 | in : Number | B.java:1829:55:1829:57 | out [post update] : short[] [[]] : Number | provenance | MaD:49 | +| B.java:1829:86:1829:88 | out : short[] [[]] : Number | B.java:18:33:18:43 | obj : short[] [[]] : Number | provenance | | +| B.java:1829:86:1829:88 | out : short[] [[]] : Number | B.java:1829:69:1829:89 | readArrayElement(...) | provenance | | +| B.java:1834:16:1834:32 | (...)... : Number | B.java:1834:63:1834:64 | in : Number | provenance | | +| B.java:1834:25:1834:32 | source(...) : Object | B.java:1834:16:1834:32 | (...)... : Number | provenance | | +| B.java:1834:55:1834:57 | out [post update] : int[] [[]] : Number | B.java:1834:90:1834:92 | out : int[] [[]] : Number | provenance | | +| B.java:1834:63:1834:64 | in : Number | B.java:1834:55:1834:57 | out [post update] : int[] [[]] : Number | provenance | MaD:45 | +| B.java:1834:90:1834:92 | out : int[] [[]] : Number | B.java:19:31:19:39 | obj : int[] [[]] : Number | provenance | | +| B.java:1834:90:1834:92 | out : int[] [[]] : Number | B.java:1834:73:1834:93 | readArrayElement(...) | provenance | | +| B.java:1839:16:1839:32 | (...)... : Number | B.java:1839:59:1839:60 | in : Number | provenance | | +| B.java:1839:25:1839:32 | source(...) : Object | B.java:1839:16:1839:32 | (...)... : Number | provenance | | +| B.java:1839:55:1839:57 | out [post update] : int[] [[]] : Number | B.java:1839:86:1839:88 | out : int[] [[]] : Number | provenance | | +| B.java:1839:59:1839:60 | in : Number | B.java:1839:55:1839:57 | out [post update] : int[] [[]] : Number | provenance | MaD:44 | +| B.java:1839:86:1839:88 | out : int[] [[]] : Number | B.java:19:31:19:39 | obj : int[] [[]] : Number | provenance | | +| B.java:1839:86:1839:88 | out : int[] [[]] : Number | B.java:1839:69:1839:89 | readArrayElement(...) | provenance | | +| B.java:1844:17:1844:30 | (...)... : Number | B.java:1844:61:1844:62 | in : Number | provenance | | +| B.java:1844:23:1844:30 | source(...) : Object | B.java:1844:17:1844:30 | (...)... : Number | provenance | | +| B.java:1844:53:1844:55 | out [post update] : long[] [[]] : Number | B.java:1844:88:1844:90 | out : long[] [[]] : Number | provenance | | +| B.java:1844:61:1844:62 | in : Number | B.java:1844:53:1844:55 | out [post update] : long[] [[]] : Number | provenance | MaD:46 | +| B.java:1844:88:1844:90 | out : long[] [[]] : Number | B.java:20:32:20:41 | obj : long[] [[]] : Number | provenance | | +| B.java:1844:88:1844:90 | out : long[] [[]] : Number | B.java:1844:71:1844:91 | readArrayElement(...) | provenance | | +| B.java:1849:17:1849:30 | (...)... : Number | B.java:1849:57:1849:58 | in : Number | provenance | | +| B.java:1849:23:1849:30 | source(...) : Object | B.java:1849:17:1849:30 | (...)... : Number | provenance | | +| B.java:1849:53:1849:55 | out [post update] : long[] [[]] : Number | B.java:1849:84:1849:86 | out : long[] [[]] : Number | provenance | | +| B.java:1849:57:1849:58 | in : Number | B.java:1849:53:1849:55 | out [post update] : long[] [[]] : Number | provenance | MaD:47 | +| B.java:1849:84:1849:86 | out : long[] [[]] : Number | B.java:20:32:20:41 | obj : long[] [[]] : Number | provenance | | +| B.java:1849:84:1849:86 | out : long[] [[]] : Number | B.java:1849:67:1849:87 | readArrayElement(...) | provenance | | +| B.java:1854:19:1854:26 | source(...) : Object | B.java:1854:69:1854:70 | in : Object | provenance | | +| B.java:1854:60:1854:62 | out [post update] : List [] : Object | B.java:1854:91:1854:93 | out : List [] : Object | provenance | | +| B.java:1854:69:1854:70 | in : Object | B.java:1854:60:1854:62 | out [post update] : List [] : Object | provenance | MaD:77 | +| B.java:1854:91:1854:93 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1854:91:1854:93 | out : List [] : Object | B.java:1854:79:1854:94 | readElement(...) | provenance | MaD:1 | +| B.java:1859:17:1859:42 | storeElementList(...) : List [] : Object | B.java:1859:74:1859:75 | in : List [] : Object | provenance | | +| B.java:1859:34:1859:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:1859:34:1859:41 | source(...) : Object | B.java:1859:17:1859:42 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:1859:70:1859:72 | out [post update] : List [] : Object | B.java:1859:96:1859:98 | out : List [] : Object | provenance | | +| B.java:1859:74:1859:75 | in : List [] : Object | B.java:1859:70:1859:72 | out [post update] : List [] : Object | provenance | MaD:70 | +| B.java:1859:96:1859:98 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1859:96:1859:98 | out : List [] : Object | B.java:1859:84:1859:99 | readElement(...) | provenance | MaD:1 | +| B.java:1864:19:1864:26 | source(...) : Object | B.java:1864:58:1864:59 | in : Object | provenance | | +| B.java:1864:54:1864:56 | out [post update] : List [] : Object | B.java:1864:80:1864:82 | out : List [] : Object | provenance | | +| B.java:1864:58:1864:59 | in : Object | B.java:1864:54:1864:56 | out [post update] : List [] : Object | provenance | MaD:72 | +| B.java:1864:80:1864:82 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1864:80:1864:82 | out : List [] : Object | B.java:1864:68:1864:83 | readElement(...) | provenance | MaD:1 | +| B.java:1869:21:1869:47 | storeArrayElement(...) : Object[] [[]] : Object | B.java:1869:78:1869:79 | in : Object[] [[]] : Object | provenance | | +| B.java:1869:39:1869:46 | source(...) : Object | B.java:11:37:11:46 | obj : Object | provenance | | +| B.java:1869:39:1869:46 | source(...) : Object | B.java:1869:21:1869:47 | storeArrayElement(...) : Object[] [[]] : Object | provenance | | +| B.java:1869:56:1869:80 | asList(...) : List [] : Object | B.java:1869:100:1869:102 | out : List [] : Object | provenance | | +| B.java:1869:78:1869:79 | in : Object[] [[]] : Object | B.java:1869:56:1869:80 | asList(...) : List [] : Object | provenance | MaD:29 | +| B.java:1869:100:1869:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | provenance | | +| B.java:1869:100:1869:102 | out : List [] : Object | B.java:1869:88:1869:103 | readElement(...) | provenance | MaD:1 | +| B.java:1874:21:1874:47 | storeArrayElement(...) : Object[] [[]] : Object | B.java:1874:81:1874:82 | in : Object[] [[]] : Object | provenance | | +| B.java:1874:39:1874:46 | source(...) : Object | B.java:11:37:11:46 | obj : Object | provenance | | +| B.java:1874:39:1874:46 | source(...) : Object | B.java:1874:21:1874:47 | storeArrayElement(...) : Object[] [[]] : Object | provenance | | +| B.java:1874:77:1874:79 | out [post update] : Collection [] : Object | B.java:1874:103:1874:105 | out : Collection [] : Object | provenance | | +| B.java:1874:81:1874:82 | in : Object[] [[]] : Object | B.java:1874:77:1874:79 | out [post update] : Collection [] : Object | provenance | MaD:58 | +| B.java:1874:103:1874:105 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | provenance | | +| B.java:1874:103:1874:105 | out : Collection [] : Object | B.java:1874:91:1874:106 | readElement(...) | provenance | MaD:1 | +| B.java:1880:19:1880:26 | source(...) : Object | B.java:1880:42:1880:43 | in : Object | provenance | | +| B.java:1880:29:1880:31 | out [post update] : SequencedCollection [] : Object | B.java:1880:64:1880:66 | out : SequencedCollection [] : Object | provenance | | +| B.java:1880:42:1880:43 | in : Object | B.java:1880:29:1880:31 | out [post update] : SequencedCollection [] : Object | provenance | MaD:270 | +| B.java:1880:64:1880:66 | out : SequencedCollection [] : Object | B.java:31:28:31:42 | obj : SequencedCollection [] : Object | provenance | | +| B.java:1880:64:1880:66 | out : SequencedCollection [] : Object | B.java:1880:52:1880:67 | readElement(...) | provenance | MaD:1 | +| B.java:1885:19:1885:26 | source(...) : Object | B.java:1885:41:1885:42 | in : Object | provenance | | +| B.java:1885:29:1885:31 | out [post update] : SequencedCollection [] : Object | B.java:1885:63:1885:65 | out : SequencedCollection [] : Object | provenance | | +| B.java:1885:41:1885:42 | in : Object | B.java:1885:29:1885:31 | out [post update] : SequencedCollection [] : Object | provenance | MaD:271 | +| B.java:1885:63:1885:65 | out : SequencedCollection [] : Object | B.java:31:28:31:42 | obj : SequencedCollection [] : Object | provenance | | +| B.java:1885:63:1885:65 | out : SequencedCollection [] : Object | B.java:1885:51:1885:66 | readElement(...) | provenance | MaD:1 | +| B.java:1890:32:1890:57 | storeElementList(...) : List [] : Object | B.java:1890:66:1890:67 | in : List [] : Object | provenance | | +| B.java:1890:49:1890:56 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:1890:49:1890:56 | source(...) : Object | B.java:1890:32:1890:57 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:1890:66:1890:67 | in : List [] : Object | B.java:1890:66:1890:78 | getFirst(...) : Object | provenance | MaD:272 | +| B.java:1890:66:1890:78 | getFirst(...) : Object | B.java:1890:86:1890:88 | out | provenance | | +| B.java:1895:32:1895:57 | storeElementList(...) : List [] : Object | B.java:1895:66:1895:67 | in : List [] : Object | provenance | | +| B.java:1895:49:1895:56 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:1895:49:1895:56 | source(...) : Object | B.java:1895:32:1895:57 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:1895:66:1895:67 | in : List [] : Object | B.java:1895:66:1895:77 | getLast(...) : Object | provenance | MaD:273 | +| B.java:1895:66:1895:77 | getLast(...) : Object | B.java:1895:85:1895:87 | out | provenance | | +| B.java:1900:32:1900:57 | storeElementList(...) : List [] : Object | B.java:1900:66:1900:67 | in : List [] : Object | provenance | | +| B.java:1900:49:1900:56 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:1900:49:1900:56 | source(...) : Object | B.java:1900:32:1900:57 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:1900:66:1900:67 | in : List [] : Object | B.java:1900:66:1900:81 | removeFirst(...) : Object | provenance | MaD:274 | +| B.java:1900:66:1900:81 | removeFirst(...) : Object | B.java:1900:89:1900:91 | out | provenance | | +| B.java:1905:32:1905:57 | storeElementList(...) : List [] : Object | B.java:1905:66:1905:67 | in : List [] : Object | provenance | | +| B.java:1905:49:1905:56 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:1905:49:1905:56 | source(...) : Object | B.java:1905:32:1905:57 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:1905:66:1905:67 | in : List [] : Object | B.java:1905:66:1905:80 | removeLast(...) : Object | provenance | MaD:275 | +| B.java:1905:66:1905:80 | removeLast(...) : Object | B.java:1905:88:1905:90 | out | provenance | | +| B.java:1910:32:1910:57 | storeElementList(...) : List [] : Object | B.java:1910:66:1910:67 | in : List [] : Object | provenance | | +| B.java:1910:49:1910:56 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:1910:49:1910:56 | source(...) : Object | B.java:1910:32:1910:57 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:1910:66:1910:67 | in : List [] : Object | B.java:1910:66:1910:78 | reversed(...) : SequencedCollection [] : Object | provenance | MaD:276 | +| B.java:1910:66:1910:78 | reversed(...) : SequencedCollection [] : Object | B.java:1910:98:1910:100 | out : SequencedCollection [] : Object | provenance | | +| B.java:1910:98:1910:100 | out : SequencedCollection [] : Object | B.java:31:28:31:42 | obj : SequencedCollection [] : Object | provenance | | +| B.java:1910:98:1910:100 | out : SequencedCollection [] : Object | B.java:1910:86:1910:101 | readElement(...) | provenance | MaD:1 | +| B.java:1915:25:1915:59 | (...)... : TreeMap [] : Object | B.java:1915:68:1915:69 | in : TreeMap [] : Object | provenance | | +| B.java:1915:39:1915:59 | storeMapKey(...) : TreeMap [] : Object | B.java:1915:25:1915:59 | (...)... : TreeMap [] : Object | provenance | | +| B.java:1915:51:1915:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:1915:51:1915:58 | source(...) : Object | B.java:1915:39:1915:59 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:1915:68:1915:69 | in : TreeMap [] : Object | B.java:1915:68:1915:82 | firstEntry(...) : Entry [] : Object | provenance | MaD:277 | +| B.java:1915:68:1915:82 | firstEntry(...) : Entry [] : Object | B.java:1915:101:1915:103 | out : Entry [] : Object | provenance | | +| B.java:1915:101:1915:103 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | provenance | | +| B.java:1915:101:1915:103 | out : Entry [] : Object | B.java:1915:90:1915:104 | readMapKey(...) | provenance | MaD:223 | +| B.java:1920:25:1920:59 | (...)... : TreeMap [] : Object | B.java:1920:68:1920:69 | in : TreeMap [] : Object | provenance | | +| B.java:1920:39:1920:59 | storeMapKey(...) : TreeMap [] : Object | B.java:1920:25:1920:59 | (...)... : TreeMap [] : Object | provenance | | +| B.java:1920:51:1920:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:1920:51:1920:58 | source(...) : Object | B.java:1920:39:1920:59 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:1920:68:1920:69 | in : TreeMap [] : Object | B.java:1920:68:1920:81 | lastEntry(...) : Entry [] : Object | provenance | MaD:279 | +| B.java:1920:68:1920:81 | lastEntry(...) : Entry [] : Object | B.java:1920:100:1920:102 | out : Entry [] : Object | provenance | | +| B.java:1920:100:1920:102 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | provenance | | +| B.java:1920:100:1920:102 | out : Entry [] : Object | B.java:1920:89:1920:103 | readMapKey(...) | provenance | MaD:223 | +| B.java:1925:25:1925:59 | (...)... : TreeMap [] : Object | B.java:1925:68:1925:69 | in : TreeMap [] : Object | provenance | | +| B.java:1925:39:1925:59 | storeMapKey(...) : TreeMap [] : Object | B.java:1925:25:1925:59 | (...)... : TreeMap [] : Object | provenance | | +| B.java:1925:51:1925:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:1925:51:1925:58 | source(...) : Object | B.java:1925:39:1925:59 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:1925:68:1925:69 | in : TreeMap [] : Object | B.java:1925:68:1925:86 | pollFirstEntry(...) : Entry [] : Object | provenance | MaD:281 | +| B.java:1925:68:1925:86 | pollFirstEntry(...) : Entry [] : Object | B.java:1925:105:1925:107 | out : Entry [] : Object | provenance | | +| B.java:1925:105:1925:107 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | provenance | | +| B.java:1925:105:1925:107 | out : Entry [] : Object | B.java:1925:94:1925:108 | readMapKey(...) | provenance | MaD:223 | +| B.java:1930:25:1930:59 | (...)... : TreeMap [] : Object | B.java:1930:68:1930:69 | in : TreeMap [] : Object | provenance | | +| B.java:1930:39:1930:59 | storeMapKey(...) : TreeMap [] : Object | B.java:1930:25:1930:59 | (...)... : TreeMap [] : Object | provenance | | +| B.java:1930:51:1930:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:1930:51:1930:58 | source(...) : Object | B.java:1930:39:1930:59 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:1930:68:1930:69 | in : TreeMap [] : Object | B.java:1930:68:1930:85 | pollLastEntry(...) : Entry [] : Object | provenance | MaD:283 | +| B.java:1930:68:1930:85 | pollLastEntry(...) : Entry [] : Object | B.java:1930:104:1930:106 | out : Entry [] : Object | provenance | | +| B.java:1930:104:1930:106 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | provenance | | +| B.java:1930:104:1930:106 | out : Entry [] : Object | B.java:1930:93:1930:107 | readMapKey(...) | provenance | MaD:223 | +| B.java:1935:25:1935:61 | (...)... : SequencedMap [] : Object | B.java:1935:70:1935:71 | in : SequencedMap [] : Object | provenance | | +| B.java:1935:39:1935:61 | storeMapValue(...) : Map [] : Object | B.java:1935:25:1935:61 | (...)... : SequencedMap [] : Object | provenance | | +| B.java:1935:53:1935:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1935:53:1935:60 | source(...) : Object | B.java:1935:39:1935:61 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1935:70:1935:71 | in : SequencedMap [] : Object | B.java:1935:70:1935:92 | putFirst(...) : Object | provenance | MaD:285 | +| B.java:1935:70:1935:92 | putFirst(...) : Object | B.java:1935:100:1935:102 | out | provenance | | +| B.java:1940:19:1940:26 | source(...) : Object | B.java:1940:42:1940:43 | in : Object | provenance | | +| B.java:1940:29:1940:31 | out [post update] : SequencedMap [] : Object | B.java:1940:69:1940:71 | out : SequencedMap [] : Object | provenance | | +| B.java:1940:42:1940:43 | in : Object | B.java:1940:29:1940:31 | out [post update] : SequencedMap [] : Object | provenance | MaD:286 | +| B.java:1940:69:1940:71 | out : SequencedMap [] : Object | B.java:44:29:44:40 | obj : SequencedMap [] : Object | provenance | | +| B.java:1940:69:1940:71 | out : SequencedMap [] : Object | B.java:1940:58:1940:72 | readMapKey(...) | provenance | MaD:184 | +| B.java:1945:25:1945:61 | (...)... : SequencedMap [] : Object | B.java:1945:70:1945:71 | in : SequencedMap [] : Object | provenance | | +| B.java:1945:39:1945:61 | storeMapValue(...) : Map [] : Object | B.java:1945:25:1945:61 | (...)... : SequencedMap [] : Object | provenance | | +| B.java:1945:53:1945:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1945:53:1945:60 | source(...) : Object | B.java:1945:39:1945:61 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1945:70:1945:71 | in : SequencedMap [] : Object | B.java:1945:70:1945:91 | putLast(...) : Object | provenance | MaD:288 | +| B.java:1945:70:1945:91 | putLast(...) : Object | B.java:1945:99:1945:101 | out | provenance | | +| B.java:1950:19:1950:26 | source(...) : Object | B.java:1950:41:1950:42 | in : Object | provenance | | +| B.java:1950:29:1950:31 | out [post update] : SequencedMap [] : Object | B.java:1950:68:1950:70 | out : SequencedMap [] : Object | provenance | | +| B.java:1950:41:1950:42 | in : Object | B.java:1950:29:1950:31 | out [post update] : SequencedMap [] : Object | provenance | MaD:289 | +| B.java:1950:68:1950:70 | out : SequencedMap [] : Object | B.java:44:29:44:40 | obj : SequencedMap [] : Object | provenance | | +| B.java:1950:68:1950:70 | out : SequencedMap [] : Object | B.java:1950:57:1950:71 | readMapKey(...) | provenance | MaD:184 | +| B.java:1955:25:1955:59 | (...)... : TreeMap [] : Object | B.java:1955:68:1955:69 | in : TreeMap [] : Object | provenance | | +| B.java:1955:39:1955:59 | storeMapKey(...) : TreeMap [] : Object | B.java:1955:25:1955:59 | (...)... : TreeMap [] : Object | provenance | | +| B.java:1955:51:1955:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:1955:51:1955:58 | source(...) : Object | B.java:1955:39:1955:59 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:1955:68:1955:69 | in : TreeMap [] : Object | B.java:1955:68:1955:80 | reversed(...) : SequencedMap [] : Object | provenance | MaD:291 | +| B.java:1955:68:1955:80 | reversed(...) : SequencedMap [] : Object | B.java:1955:99:1955:101 | out : SequencedMap [] : Object | provenance | | +| B.java:1955:99:1955:101 | out : SequencedMap [] : Object | B.java:44:29:44:40 | obj : SequencedMap [] : Object | provenance | | +| B.java:1955:99:1955:101 | out : SequencedMap [] : Object | B.java:1955:88:1955:102 | readMapKey(...) | provenance | MaD:184 | +| B.java:1960:25:1960:59 | (...)... : TreeMap [] : Object | B.java:1960:68:1960:69 | in : TreeMap [] : Object | provenance | | +| B.java:1960:39:1960:59 | storeMapKey(...) : TreeMap [] : Object | B.java:1960:25:1960:59 | (...)... : TreeMap [] : Object | provenance | | +| B.java:1960:51:1960:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:1960:51:1960:58 | source(...) : Object | B.java:1960:39:1960:59 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:1960:68:1960:69 | in : TreeMap [] : Object | B.java:1960:68:1960:89 | sequencedEntrySet(...) : SequencedSet [, ] : Object | provenance | MaD:293 | +| B.java:1960:68:1960:89 | sequencedEntrySet(...) : SequencedSet [, ] : Object | B.java:1960:120:1960:122 | out : SequencedSet [, ] : Object | provenance | | +| B.java:1960:108:1960:123 | readElement(...) : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | provenance | | +| B.java:1960:108:1960:123 | readElement(...) : Entry [] : Object | B.java:1960:97:1960:124 | readMapKey(...) | provenance | MaD:223 | +| B.java:1960:120:1960:122 | out : SequencedSet [, ] : Object | B.java:1960:108:1960:123 | readElement(...) : Entry [] : Object | provenance | MaD:1 | +| B.java:1965:25:1965:61 | (...)... : SequencedMap [] : Object | B.java:1965:70:1965:71 | in : SequencedMap [] : Object | provenance | | +| B.java:1965:39:1965:61 | storeMapValue(...) : Map [] : Object | B.java:1965:25:1965:61 | (...)... : SequencedMap [] : Object | provenance | | +| B.java:1965:53:1965:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1965:53:1965:60 | source(...) : Object | B.java:1965:39:1965:61 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1965:70:1965:71 | in : SequencedMap [] : Object | B.java:1965:70:1965:84 | firstEntry(...) : Entry [] : Object | provenance | MaD:278 | +| B.java:1965:70:1965:84 | firstEntry(...) : Entry [] : Object | B.java:1965:105:1965:107 | out : Entry [] : Object | provenance | | +| B.java:1965:105:1965:107 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | +| B.java:1965:105:1965:107 | out : Entry [] : Object | B.java:1965:92:1965:108 | readMapValue(...) | provenance | MaD:224 | +| B.java:1970:25:1970:61 | (...)... : SequencedMap [] : Object | B.java:1970:70:1970:71 | in : SequencedMap [] : Object | provenance | | +| B.java:1970:39:1970:61 | storeMapValue(...) : Map [] : Object | B.java:1970:25:1970:61 | (...)... : SequencedMap [] : Object | provenance | | +| B.java:1970:53:1970:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1970:53:1970:60 | source(...) : Object | B.java:1970:39:1970:61 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1970:70:1970:71 | in : SequencedMap [] : Object | B.java:1970:70:1970:83 | lastEntry(...) : Entry [] : Object | provenance | MaD:280 | +| B.java:1970:70:1970:83 | lastEntry(...) : Entry [] : Object | B.java:1970:104:1970:106 | out : Entry [] : Object | provenance | | +| B.java:1970:104:1970:106 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | +| B.java:1970:104:1970:106 | out : Entry [] : Object | B.java:1970:91:1970:107 | readMapValue(...) | provenance | MaD:224 | +| B.java:1975:25:1975:61 | (...)... : SequencedMap [] : Object | B.java:1975:70:1975:71 | in : SequencedMap [] : Object | provenance | | +| B.java:1975:39:1975:61 | storeMapValue(...) : Map [] : Object | B.java:1975:25:1975:61 | (...)... : SequencedMap [] : Object | provenance | | +| B.java:1975:53:1975:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1975:53:1975:60 | source(...) : Object | B.java:1975:39:1975:61 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1975:70:1975:71 | in : SequencedMap [] : Object | B.java:1975:70:1975:88 | pollFirstEntry(...) : Entry [] : Object | provenance | MaD:282 | +| B.java:1975:70:1975:88 | pollFirstEntry(...) : Entry [] : Object | B.java:1975:109:1975:111 | out : Entry [] : Object | provenance | | +| B.java:1975:109:1975:111 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | +| B.java:1975:109:1975:111 | out : Entry [] : Object | B.java:1975:96:1975:112 | readMapValue(...) | provenance | MaD:224 | +| B.java:1980:25:1980:61 | (...)... : SequencedMap [] : Object | B.java:1980:70:1980:71 | in : SequencedMap [] : Object | provenance | | +| B.java:1980:39:1980:61 | storeMapValue(...) : Map [] : Object | B.java:1980:25:1980:61 | (...)... : SequencedMap [] : Object | provenance | | +| B.java:1980:53:1980:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1980:53:1980:60 | source(...) : Object | B.java:1980:39:1980:61 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1980:70:1980:71 | in : SequencedMap [] : Object | B.java:1980:70:1980:87 | pollLastEntry(...) : Entry [] : Object | provenance | MaD:284 | +| B.java:1980:70:1980:87 | pollLastEntry(...) : Entry [] : Object | B.java:1980:108:1980:110 | out : Entry [] : Object | provenance | | +| B.java:1980:108:1980:110 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | +| B.java:1980:108:1980:110 | out : Entry [] : Object | B.java:1980:95:1980:111 | readMapValue(...) | provenance | MaD:224 | +| B.java:1985:19:1985:26 | source(...) : Object | B.java:1985:48:1985:49 | in : Object | provenance | | +| B.java:1985:29:1985:31 | out [post update] : SequencedMap [] : Object | B.java:1985:71:1985:73 | out : SequencedMap [] : Object | provenance | | +| B.java:1985:48:1985:49 | in : Object | B.java:1985:29:1985:31 | out [post update] : SequencedMap [] : Object | provenance | MaD:287 | +| B.java:1985:71:1985:73 | out : SequencedMap [] : Object | B.java:48:31:48:42 | obj : SequencedMap [] : Object | provenance | | +| B.java:1985:71:1985:73 | out : SequencedMap [] : Object | B.java:1985:58:1985:74 | readMapValue(...) | provenance | MaD:181 | +| B.java:1990:19:1990:26 | source(...) : Object | B.java:1990:47:1990:48 | in : Object | provenance | | +| B.java:1990:29:1990:31 | out [post update] : SequencedMap [] : Object | B.java:1990:70:1990:72 | out : SequencedMap [] : Object | provenance | | +| B.java:1990:47:1990:48 | in : Object | B.java:1990:29:1990:31 | out [post update] : SequencedMap [] : Object | provenance | MaD:290 | +| B.java:1990:70:1990:72 | out : SequencedMap [] : Object | B.java:48:31:48:42 | obj : SequencedMap [] : Object | provenance | | +| B.java:1990:70:1990:72 | out : SequencedMap [] : Object | B.java:1990:57:1990:73 | readMapValue(...) | provenance | MaD:181 | +| B.java:1995:25:1995:61 | (...)... : SequencedMap [] : Object | B.java:1995:70:1995:71 | in : SequencedMap [] : Object | provenance | | +| B.java:1995:39:1995:61 | storeMapValue(...) : Map [] : Object | B.java:1995:25:1995:61 | (...)... : SequencedMap [] : Object | provenance | | +| B.java:1995:53:1995:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:1995:53:1995:60 | source(...) : Object | B.java:1995:39:1995:61 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:1995:70:1995:71 | in : SequencedMap [] : Object | B.java:1995:70:1995:82 | reversed(...) : SequencedMap [] : Object | provenance | MaD:292 | +| B.java:1995:70:1995:82 | reversed(...) : SequencedMap [] : Object | B.java:1995:103:1995:105 | out : SequencedMap [] : Object | provenance | | +| B.java:1995:103:1995:105 | out : SequencedMap [] : Object | B.java:48:31:48:42 | obj : SequencedMap [] : Object | provenance | | +| B.java:1995:103:1995:105 | out : SequencedMap [] : Object | B.java:1995:90:1995:106 | readMapValue(...) | provenance | MaD:181 | +| B.java:2000:25:2000:61 | (...)... : SequencedMap [] : Object | B.java:2000:70:2000:71 | in : SequencedMap [] : Object | provenance | | +| B.java:2000:39:2000:61 | storeMapValue(...) : Map [] : Object | B.java:2000:25:2000:61 | (...)... : SequencedMap [] : Object | provenance | | +| B.java:2000:53:2000:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:2000:53:2000:60 | source(...) : Object | B.java:2000:39:2000:61 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:2000:70:2000:71 | in : SequencedMap [] : Object | B.java:2000:70:2000:91 | sequencedEntrySet(...) : SequencedSet [, ] : Object | provenance | MaD:294 | +| B.java:2000:70:2000:91 | sequencedEntrySet(...) : SequencedSet [, ] : Object | B.java:2000:124:2000:126 | out : SequencedSet [, ] : Object | provenance | | +| B.java:2000:112:2000:127 | readElement(...) : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | +| B.java:2000:112:2000:127 | readElement(...) : Entry [] : Object | B.java:2000:99:2000:128 | readMapValue(...) | provenance | MaD:224 | +| B.java:2000:124:2000:126 | out : SequencedSet [, ] : Object | B.java:2000:112:2000:127 | readElement(...) : Entry [] : Object | provenance | MaD:1 | +| B.java:2005:25:2005:59 | (...)... : TreeMap [] : Object | B.java:2005:68:2005:69 | in : TreeMap [] : Object | provenance | | +| B.java:2005:39:2005:59 | storeMapKey(...) : TreeMap [] : Object | B.java:2005:25:2005:59 | (...)... : TreeMap [] : Object | provenance | | +| B.java:2005:51:2005:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:2005:51:2005:58 | source(...) : Object | B.java:2005:39:2005:59 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:2005:68:2005:69 | in : TreeMap [] : Object | B.java:2005:68:2005:87 | sequencedKeySet(...) : SequencedSet [] : Object | provenance | MaD:295 | +| B.java:2005:68:2005:87 | sequencedKeySet(...) : SequencedSet [] : Object | B.java:2005:107:2005:109 | out : SequencedSet [] : Object | provenance | | +| B.java:2005:107:2005:109 | out : SequencedSet [] : Object | B.java:31:28:31:42 | obj : SequencedSet [] : Object | provenance | | +| B.java:2005:107:2005:109 | out : SequencedSet [] : Object | B.java:2005:95:2005:110 | readElement(...) | provenance | MaD:1 | +| B.java:2010:25:2010:61 | (...)... : SequencedMap [] : Object | B.java:2010:70:2010:71 | in : SequencedMap [] : Object | provenance | | +| B.java:2010:39:2010:61 | storeMapValue(...) : Map [] : Object | B.java:2010:25:2010:61 | (...)... : SequencedMap [] : Object | provenance | | +| B.java:2010:53:2010:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:2010:53:2010:60 | source(...) : Object | B.java:2010:39:2010:61 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:2010:70:2010:71 | in : SequencedMap [] : Object | B.java:2010:70:2010:89 | sequencedValues(...) : SequencedCollection [] : Object | provenance | MaD:296 | +| B.java:2010:70:2010:89 | sequencedValues(...) : SequencedCollection [] : Object | B.java:2010:109:2010:111 | out : SequencedCollection [] : Object | provenance | | +| B.java:2010:109:2010:111 | out : SequencedCollection [] : Object | B.java:31:28:31:42 | obj : SequencedCollection [] : Object | provenance | | +| B.java:2010:109:2010:111 | out : SequencedCollection [] : Object | B.java:2010:97:2010:112 | readElement(...) | provenance | MaD:1 | +| B.java:2015:25:2015:52 | storeElementNavSet(...) : TreeSet [] : Object | B.java:2015:61:2015:62 | in : TreeSet [] : Object | provenance | | +| B.java:2015:44:2015:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:2015:44:2015:51 | source(...) : Object | B.java:2015:25:2015:52 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:2015:61:2015:62 | in : TreeSet [] : Object | B.java:2015:61:2015:73 | reversed(...) : SequencedSet [] : Object | provenance | MaD:276 | +| B.java:2015:61:2015:62 | in : TreeSet [] : Object | B.java:2015:61:2015:73 | reversed(...) : SequencedSet [] : Object | provenance | MaD:297 | +| B.java:2015:61:2015:73 | reversed(...) : SequencedSet [] : Object | B.java:2015:93:2015:95 | out : SequencedSet [] : Object | provenance | | +| B.java:2015:93:2015:95 | out : SequencedSet [] : Object | B.java:31:28:31:42 | obj : SequencedSet [] : Object | provenance | | +| B.java:2015:93:2015:95 | out : SequencedSet [] : Object | B.java:2015:81:2015:96 | readElement(...) | provenance | MaD:1 | +| B.java:2020:32:2020:57 | storeElementList(...) : List [] : Object | B.java:2020:110:2020:111 | in : List [] : Object | provenance | | +| B.java:2020:49:2020:56 | source(...) : Object | B.java:24:39:24:43 | obj : Object | provenance | | +| B.java:2020:49:2020:56 | source(...) : Object | B.java:2020:32:2020:57 | storeElementList(...) : List [] : Object | provenance | MaD:154 | +| B.java:2020:66:2020:112 | unmodifiableSequencedCollection(...) : SequencedCollection [] : Object | B.java:2020:132:2020:134 | out : SequencedCollection [] : Object | provenance | | +| B.java:2020:110:2020:111 | in : List [] : Object | B.java:2020:66:2020:112 | unmodifiableSequencedCollection(...) : SequencedCollection [] : Object | provenance | MaD:100 | +| B.java:2020:132:2020:134 | out : SequencedCollection [] : Object | B.java:31:28:31:42 | obj : SequencedCollection [] : Object | provenance | | +| B.java:2020:132:2020:134 | out : SequencedCollection [] : Object | B.java:2020:120:2020:135 | readElement(...) | provenance | MaD:1 | +| B.java:2025:25:2025:59 | (...)... : TreeMap [] : Object | B.java:2025:105:2025:106 | in : TreeMap [] : Object | provenance | | +| B.java:2025:39:2025:59 | storeMapKey(...) : TreeMap [] : Object | B.java:2025:25:2025:59 | (...)... : TreeMap [] : Object | provenance | | +| B.java:2025:51:2025:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | +| B.java:2025:51:2025:58 | source(...) : Object | B.java:2025:39:2025:59 | storeMapKey(...) : TreeMap [] : Object | provenance | MaD:209 | +| B.java:2025:68:2025:107 | unmodifiableSequencedMap(...) : SequencedMap [] : Object | B.java:2025:126:2025:128 | out : SequencedMap [] : Object | provenance | | +| B.java:2025:105:2025:106 | in : TreeMap [] : Object | B.java:2025:68:2025:107 | unmodifiableSequencedMap(...) : SequencedMap [] : Object | provenance | MaD:101 | +| B.java:2025:126:2025:128 | out : SequencedMap [] : Object | B.java:44:29:44:40 | obj : SequencedMap [] : Object | provenance | | +| B.java:2025:126:2025:128 | out : SequencedMap [] : Object | B.java:2025:115:2025:129 | readMapKey(...) | provenance | MaD:184 | +| B.java:2030:25:2030:61 | (...)... : SequencedMap [] : Object | B.java:2030:107:2030:108 | in : SequencedMap [] : Object | provenance | | +| B.java:2030:39:2030:61 | storeMapValue(...) : Map [] : Object | B.java:2030:25:2030:61 | (...)... : SequencedMap [] : Object | provenance | | +| B.java:2030:53:2030:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | +| B.java:2030:53:2030:60 | source(...) : Object | B.java:2030:39:2030:61 | storeMapValue(...) : Map [] : Object | provenance | MaD:210 | +| B.java:2030:70:2030:109 | unmodifiableSequencedMap(...) : SequencedMap [] : Object | B.java:2030:130:2030:132 | out : SequencedMap [] : Object | provenance | | +| B.java:2030:107:2030:108 | in : SequencedMap [] : Object | B.java:2030:70:2030:109 | unmodifiableSequencedMap(...) : SequencedMap [] : Object | provenance | MaD:102 | +| B.java:2030:130:2030:132 | out : SequencedMap [] : Object | B.java:48:31:48:42 | obj : SequencedMap [] : Object | provenance | | +| B.java:2030:130:2030:132 | out : SequencedMap [] : Object | B.java:2030:117:2030:133 | readMapValue(...) | provenance | MaD:181 | +| B.java:2035:25:2035:52 | storeElementNavSet(...) : TreeSet [] : Object | B.java:2035:98:2035:99 | in : TreeSet [] : Object | provenance | | +| B.java:2035:44:2035:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | | +| B.java:2035:44:2035:51 | source(...) : Object | B.java:2035:25:2035:52 | storeElementNavSet(...) : TreeSet [] : Object | provenance | MaD:52 | +| B.java:2035:61:2035:100 | unmodifiableSequencedSet(...) : SequencedSet [] : Object | B.java:2035:120:2035:122 | out : SequencedSet [] : Object | provenance | | +| B.java:2035:98:2035:99 | in : TreeSet [] : Object | B.java:2035:61:2035:100 | unmodifiableSequencedSet(...) : SequencedSet [] : Object | provenance | MaD:103 | +| B.java:2035:120:2035:122 | out : SequencedSet [] : Object | B.java:31:28:31:42 | obj : SequencedSet [] : Object | provenance | | +| B.java:2035:120:2035:122 | out : SequencedSet [] : Object | B.java:2035:108:2035:123 | readElement(...) | provenance | MaD:1 | +| Constructors.java:28:20:28:39 | container : ArrayDeque [] : Object | Constructors.java:28:51:28:59 | container : ArrayDeque [] : Object | provenance | | +| Constructors.java:28:20:28:39 | container : ArrayList [] : Object | Constructors.java:28:51:28:59 | container : ArrayList [] : Object | provenance | | +| Constructors.java:28:20:28:39 | container : HashSet [] : Object | Constructors.java:28:51:28:59 | container : HashSet [] : Object | provenance | | +| Constructors.java:28:20:28:39 | container : LinkedHashSet [] : Object | Constructors.java:28:51:28:59 | container : LinkedHashSet [] : Object | provenance | | +| Constructors.java:28:20:28:39 | container : LinkedList [] : Object | Constructors.java:28:51:28:59 | container : LinkedList [] : Object | provenance | | +| Constructors.java:28:20:28:39 | container : PriorityQueue [] : Object | Constructors.java:28:51:28:59 | container : PriorityQueue [] : Object | provenance | | +| Constructors.java:28:20:28:39 | container : TreeSet [] : Object | Constructors.java:28:51:28:59 | container : TreeSet [] : Object | provenance | | +| Constructors.java:28:20:28:39 | container : Vector [] : Object | Constructors.java:28:51:28:59 | container : Vector [] : Object | provenance | | +| Constructors.java:28:51:28:59 | container : ArrayDeque [] : Object | Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Constructors.java:28:51:28:59 | container : ArrayList [] : Object | Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Constructors.java:28:51:28:59 | container : HashSet [] : Object | Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Constructors.java:28:51:28:59 | container : LinkedHashSet [] : Object | Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Constructors.java:28:51:28:59 | container : LinkedList [] : Object | Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Constructors.java:28:51:28:59 | container : PriorityQueue [] : Object | Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Constructors.java:28:51:28:59 | container : TreeSet [] : Object | Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Constructors.java:28:51:28:59 | container : Vector [] : Object | Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | provenance | MaD:143 | +| Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | provenance | MaD:143 | +| Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | provenance | MaD:143 | +| Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | provenance | MaD:143 | +| Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | provenance | MaD:143 | +| Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | provenance | MaD:143 | +| Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | provenance | MaD:143 | +| Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | provenance | MaD:143 | +| Constructors.java:29:19:29:31 | container : EnumMap [] : Object | Constructors.java:29:43:29:51 | container : EnumMap [] : Object | provenance | | +| Constructors.java:29:19:29:31 | container : HashMap [] : Object | Constructors.java:29:43:29:51 | container : HashMap [] : Object | provenance | | +| Constructors.java:29:19:29:31 | container : Hashtable [] : Object | Constructors.java:29:43:29:51 | container : Hashtable [] : Object | provenance | | +| Constructors.java:29:19:29:31 | container : IdentityHashMap [] : Object | Constructors.java:29:43:29:51 | container : IdentityHashMap [] : Object | provenance | | +| Constructors.java:29:19:29:31 | container : LinkedHashMap [] : Object | Constructors.java:29:43:29:51 | container : LinkedHashMap [] : Object | provenance | | +| Constructors.java:29:19:29:31 | container : TreeMap [] : Object | Constructors.java:29:43:29:51 | container : TreeMap [] : Object | provenance | | +| Constructors.java:29:19:29:31 | container : WeakHashMap [] : Object | Constructors.java:29:43:29:51 | container : WeakHashMap [] : Object | provenance | | +| Constructors.java:29:43:29:51 | container : EnumMap [] : Object | Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | provenance | MaD:184 | +| Constructors.java:29:43:29:51 | container : HashMap [] : Object | Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | provenance | MaD:184 | +| Constructors.java:29:43:29:51 | container : Hashtable [] : Object | Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | provenance | MaD:184 | +| Constructors.java:29:43:29:51 | container : IdentityHashMap [] : Object | Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | provenance | MaD:184 | +| Constructors.java:29:43:29:51 | container : LinkedHashMap [] : Object | Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | provenance | MaD:184 | +| Constructors.java:29:43:29:51 | container : TreeMap [] : Object | Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | provenance | MaD:184 | +| Constructors.java:29:43:29:51 | container : WeakHashMap [] : Object | Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | provenance | MaD:184 | +| Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | Constructors.java:29:43:29:78 | next(...) : Object | provenance | MaD:143 | +| Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | Constructors.java:29:43:29:78 | next(...) : Object | provenance | MaD:143 | +| Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | Constructors.java:29:43:29:78 | next(...) : Object | provenance | MaD:143 | +| Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | Constructors.java:29:43:29:78 | next(...) : Object | provenance | MaD:143 | +| Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | Constructors.java:29:43:29:78 | next(...) : Object | provenance | MaD:143 | +| Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | Constructors.java:29:43:29:78 | next(...) : Object | provenance | MaD:143 | +| Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | Constructors.java:29:43:29:78 | next(...) : Object | provenance | MaD:143 | +| Constructors.java:30:21:30:33 | container : EnumMap [] : Object | Constructors.java:30:45:30:53 | container : EnumMap [] : Object | provenance | | +| Constructors.java:30:21:30:33 | container : HashMap [] : Object | Constructors.java:30:45:30:53 | container : HashMap [] : Object | provenance | | +| Constructors.java:30:21:30:33 | container : Hashtable [] : Object | Constructors.java:30:45:30:53 | container : Hashtable [] : Object | provenance | | +| Constructors.java:30:21:30:33 | container : IdentityHashMap [] : Object | Constructors.java:30:45:30:53 | container : IdentityHashMap [] : Object | provenance | | +| Constructors.java:30:21:30:33 | container : LinkedHashMap [] : Object | Constructors.java:30:45:30:53 | container : LinkedHashMap [] : Object | provenance | | +| Constructors.java:30:21:30:33 | container : TreeMap [] : Object | Constructors.java:30:45:30:53 | container : TreeMap [] : Object | provenance | | +| Constructors.java:30:21:30:33 | container : WeakHashMap [] : Object | Constructors.java:30:45:30:53 | container : WeakHashMap [] : Object | provenance | | +| Constructors.java:30:45:30:53 | container : EnumMap [] : Object | Constructors.java:30:45:30:63 | get(...) : Object | provenance | MaD:181 | +| Constructors.java:30:45:30:53 | container : HashMap [] : Object | Constructors.java:30:45:30:63 | get(...) : Object | provenance | MaD:181 | +| Constructors.java:30:45:30:53 | container : Hashtable [] : Object | Constructors.java:30:45:30:63 | get(...) : Object | provenance | MaD:181 | +| Constructors.java:30:45:30:53 | container : IdentityHashMap [] : Object | Constructors.java:30:45:30:63 | get(...) : Object | provenance | MaD:181 | +| Constructors.java:30:45:30:53 | container : LinkedHashMap [] : Object | Constructors.java:30:45:30:63 | get(...) : Object | provenance | MaD:181 | +| Constructors.java:30:45:30:53 | container : TreeMap [] : Object | Constructors.java:30:45:30:63 | get(...) : Object | provenance | MaD:181 | +| Constructors.java:30:45:30:53 | container : WeakHashMap [] : Object | Constructors.java:30:45:30:63 | get(...) : Object | provenance | MaD:181 | +| Constructors.java:31:19:31:37 | container : SimpleEntry [] : Object | Constructors.java:31:49:31:57 | container : SimpleEntry [] : Object | provenance | | +| Constructors.java:31:19:31:37 | container : SimpleImmutableEntry [] : Object | Constructors.java:31:49:31:57 | container : SimpleImmutableEntry [] : Object | provenance | | +| Constructors.java:31:49:31:57 | container : SimpleEntry [] : Object | Constructors.java:31:49:31:66 | getKey(...) : Object | provenance | MaD:223 | +| Constructors.java:31:49:31:57 | container : SimpleImmutableEntry [] : Object | Constructors.java:31:49:31:66 | getKey(...) : Object | provenance | MaD:223 | +| Constructors.java:32:21:32:39 | container : SimpleEntry [] : Object | Constructors.java:32:51:32:59 | container : SimpleEntry [] : Object | provenance | | +| Constructors.java:32:21:32:39 | container : SimpleImmutableEntry [] : Object | Constructors.java:32:51:32:59 | container : SimpleImmutableEntry [] : Object | provenance | | +| Constructors.java:32:51:32:59 | container : SimpleEntry [] : Object | Constructors.java:32:51:32:70 | getValue(...) : Object | provenance | MaD:224 | +| Constructors.java:32:51:32:59 | container : SimpleImmutableEntry [] : Object | Constructors.java:32:51:32:70 | getValue(...) : Object | provenance | MaD:224 | +| Constructors.java:41:19:41:61 | new SimpleEntry<>(...) : SimpleEntry [] : Object | Constructors.java:42:38:42:39 | in : SimpleEntry [] : Object | provenance | | +| Constructors.java:41:47:41:54 | source(...) : Object | Constructors.java:41:19:41:61 | new SimpleEntry<>(...) : SimpleEntry [] : Object | provenance | MaD:23 | +| Constructors.java:42:10:42:40 | new SimpleEntry<>(...) : SimpleEntry [] : Object | Constructors.java:43:19:43:21 | out : SimpleEntry [] : Object | provenance | | +| Constructors.java:42:38:42:39 | in : SimpleEntry [] : Object | Constructors.java:42:10:42:40 | new SimpleEntry<>(...) : SimpleEntry [] : Object | provenance | MaD:21 | +| Constructors.java:43:19:43:21 | out : SimpleEntry [] : Object | Constructors.java:31:19:31:37 | container : SimpleEntry [] : Object | provenance | | +| Constructors.java:43:19:43:21 | out : SimpleEntry [] : Object | Constructors.java:43:9:43:22 | getMapKey(...) | provenance | MaD:223 | +| Constructors.java:48:19:48:61 | new SimpleEntry<>(...) : SimpleEntry [] : Object | Constructors.java:49:38:49:39 | in : SimpleEntry [] : Object | provenance | | +| Constructors.java:48:53:48:60 | source(...) : Object | Constructors.java:48:19:48:61 | new SimpleEntry<>(...) : SimpleEntry [] : Object | provenance | MaD:24 | +| Constructors.java:49:10:49:40 | new SimpleEntry<>(...) : SimpleEntry [] : Object | Constructors.java:50:21:50:23 | out : SimpleEntry [] : Object | provenance | | +| Constructors.java:49:38:49:39 | in : SimpleEntry [] : Object | Constructors.java:49:10:49:40 | new SimpleEntry<>(...) : SimpleEntry [] : Object | provenance | MaD:22 | +| Constructors.java:50:21:50:23 | out : SimpleEntry [] : Object | Constructors.java:32:21:32:39 | container : SimpleEntry [] : Object | provenance | | +| Constructors.java:50:21:50:23 | out : SimpleEntry [] : Object | Constructors.java:50:9:50:24 | getMapValue(...) | provenance | MaD:224 | +| Constructors.java:55:16:55:23 | source(...) : Object | Constructors.java:56:38:56:39 | in : Object | provenance | | +| Constructors.java:56:10:56:46 | new SimpleEntry<>(...) : SimpleEntry [] : Object | Constructors.java:57:19:57:21 | out : SimpleEntry [] : Object | provenance | | +| Constructors.java:56:38:56:39 | in : Object | Constructors.java:56:10:56:46 | new SimpleEntry<>(...) : SimpleEntry [] : Object | provenance | MaD:23 | +| Constructors.java:57:19:57:21 | out : SimpleEntry [] : Object | Constructors.java:31:19:31:37 | container : SimpleEntry [] : Object | provenance | | +| Constructors.java:57:19:57:21 | out : SimpleEntry [] : Object | Constructors.java:57:9:57:22 | getMapKey(...) | provenance | MaD:223 | +| Constructors.java:62:16:62:23 | source(...) : Object | Constructors.java:63:44:63:45 | in : Object | provenance | | +| Constructors.java:63:10:63:46 | new SimpleEntry<>(...) : SimpleEntry [] : Object | Constructors.java:64:21:64:23 | out : SimpleEntry [] : Object | provenance | | +| Constructors.java:63:44:63:45 | in : Object | Constructors.java:63:10:63:46 | new SimpleEntry<>(...) : SimpleEntry [] : Object | provenance | MaD:24 | +| Constructors.java:64:21:64:23 | out : SimpleEntry [] : Object | Constructors.java:32:21:32:39 | container : SimpleEntry [] : Object | provenance | | +| Constructors.java:64:21:64:23 | out : SimpleEntry [] : Object | Constructors.java:64:9:64:24 | getMapValue(...) | provenance | MaD:224 | +| Constructors.java:69:19:69:61 | new SimpleEntry<>(...) : SimpleEntry [] : Object | Constructors.java:70:47:70:48 | in : SimpleEntry [] : Object | provenance | | +| Constructors.java:69:47:69:54 | source(...) : Object | Constructors.java:69:19:69:61 | new SimpleEntry<>(...) : SimpleEntry [] : Object | provenance | MaD:23 | +| Constructors.java:70:10:70:49 | new SimpleImmutableEntry<>(...) : SimpleImmutableEntry [] : Object | Constructors.java:71:19:71:21 | out : SimpleImmutableEntry [] : Object | provenance | | +| Constructors.java:70:47:70:48 | in : SimpleEntry [] : Object | Constructors.java:70:10:70:49 | new SimpleImmutableEntry<>(...) : SimpleImmutableEntry [] : Object | provenance | MaD:25 | +| Constructors.java:71:19:71:21 | out : SimpleImmutableEntry [] : Object | Constructors.java:31:19:31:37 | container : SimpleImmutableEntry [] : Object | provenance | | +| Constructors.java:71:19:71:21 | out : SimpleImmutableEntry [] : Object | Constructors.java:71:9:71:22 | getMapKey(...) | provenance | MaD:223 | +| Constructors.java:76:19:76:61 | new SimpleEntry<>(...) : SimpleEntry [] : Object | Constructors.java:77:47:77:48 | in : SimpleEntry [] : Object | provenance | | +| Constructors.java:76:53:76:60 | source(...) : Object | Constructors.java:76:19:76:61 | new SimpleEntry<>(...) : SimpleEntry [] : Object | provenance | MaD:24 | +| Constructors.java:77:10:77:49 | new SimpleImmutableEntry<>(...) : SimpleImmutableEntry [] : Object | Constructors.java:78:21:78:23 | out : SimpleImmutableEntry [] : Object | provenance | | +| Constructors.java:77:47:77:48 | in : SimpleEntry [] : Object | Constructors.java:77:10:77:49 | new SimpleImmutableEntry<>(...) : SimpleImmutableEntry [] : Object | provenance | MaD:26 | +| Constructors.java:78:21:78:23 | out : SimpleImmutableEntry [] : Object | Constructors.java:32:21:32:39 | container : SimpleImmutableEntry [] : Object | provenance | | +| Constructors.java:78:21:78:23 | out : SimpleImmutableEntry [] : Object | Constructors.java:78:9:78:24 | getMapValue(...) | provenance | MaD:224 | +| Constructors.java:83:20:83:36 | of(...) : List [] : Object | Constructors.java:84:25:84:26 | in : List [] : Object | provenance | | +| Constructors.java:83:28:83:35 | source(...) : Object | Constructors.java:83:20:83:36 | of(...) : List [] : Object | provenance | MaD:154 | +| Constructors.java:84:10:84:27 | new ArrayDeque<>(...) : ArrayDeque [] : Object | Constructors.java:85:20:85:22 | out : ArrayDeque [] : Object | provenance | | +| Constructors.java:84:25:84:26 | in : List [] : Object | Constructors.java:84:10:84:27 | new ArrayDeque<>(...) : ArrayDeque [] : Object | provenance | MaD:27 | +| Constructors.java:85:20:85:22 | out : ArrayDeque [] : Object | Constructors.java:28:20:28:39 | container : ArrayDeque [] : Object | provenance | | +| Constructors.java:85:20:85:22 | out : ArrayDeque [] : Object | Constructors.java:85:9:85:23 | getElement(...) | provenance | MaD:1 | +| Constructors.java:90:20:90:36 | of(...) : List [] : Object | Constructors.java:91:24:91:25 | in : List [] : Object | provenance | | +| Constructors.java:90:28:90:35 | source(...) : Object | Constructors.java:90:20:90:36 | of(...) : List [] : Object | provenance | MaD:154 | +| Constructors.java:91:10:91:26 | new ArrayList<>(...) : ArrayList [] : Object | Constructors.java:92:20:92:22 | out : ArrayList [] : Object | provenance | | +| Constructors.java:91:24:91:25 | in : List [] : Object | Constructors.java:91:10:91:26 | new ArrayList<>(...) : ArrayList [] : Object | provenance | MaD:28 | +| Constructors.java:92:20:92:22 | out : ArrayList [] : Object | Constructors.java:28:20:28:39 | container : ArrayList [] : Object | provenance | | +| Constructors.java:92:20:92:22 | out : ArrayList [] : Object | Constructors.java:92:9:92:23 | getElement(...) | provenance | MaD:1 | +| Constructors.java:97:17:97:51 | new EnumMap<>(...) : EnumMap [] : Object | Constructors.java:98:22:98:23 | in : EnumMap [] : Object | provenance | | +| Constructors.java:97:29:97:50 | of(...) : Map [] : Object | Constructors.java:97:17:97:51 | new EnumMap<>(...) : EnumMap [] : Object | provenance | MaD:132 | +| Constructors.java:97:36:97:43 | source(...) : Object | Constructors.java:97:29:97:50 | of(...) : Map [] : Object | provenance | MaD:186 | +| Constructors.java:98:10:98:24 | new EnumMap<>(...) : EnumMap [] : Object | Constructors.java:99:19:99:21 | out : EnumMap [] : Object | provenance | | +| Constructors.java:98:22:98:23 | in : EnumMap [] : Object | Constructors.java:98:10:98:24 | new EnumMap<>(...) : EnumMap [] : Object | provenance | MaD:130 | +| Constructors.java:99:19:99:21 | out : EnumMap [] : Object | Constructors.java:29:19:29:31 | container : EnumMap [] : Object | provenance | | +| Constructors.java:99:19:99:21 | out : EnumMap [] : Object | Constructors.java:99:9:99:22 | getMapKey(...) | provenance | MaD:184 | +| Constructors.java:104:17:104:51 | new EnumMap<>(...) : EnumMap [] : Object | Constructors.java:105:22:105:23 | in : EnumMap [] : Object | provenance | | +| Constructors.java:104:29:104:50 | of(...) : Map [] : Object | Constructors.java:104:17:104:51 | new EnumMap<>(...) : EnumMap [] : Object | provenance | MaD:133 | +| Constructors.java:104:42:104:49 | source(...) : Object | Constructors.java:104:29:104:50 | of(...) : Map [] : Object | provenance | MaD:197 | +| Constructors.java:105:10:105:24 | new EnumMap<>(...) : EnumMap [] : Object | Constructors.java:106:21:106:23 | out : EnumMap [] : Object | provenance | | +| Constructors.java:105:22:105:23 | in : EnumMap [] : Object | Constructors.java:105:10:105:24 | new EnumMap<>(...) : EnumMap [] : Object | provenance | MaD:131 | +| Constructors.java:106:21:106:23 | out : EnumMap [] : Object | Constructors.java:30:21:30:33 | container : EnumMap [] : Object | provenance | | +| Constructors.java:106:21:106:23 | out : EnumMap [] : Object | Constructors.java:106:9:106:24 | getMapValue(...) | provenance | MaD:181 | +| Constructors.java:111:13:111:34 | of(...) : Map [] : Object | Constructors.java:112:22:112:23 | in : Map [] : Object | provenance | | +| Constructors.java:111:20:111:27 | source(...) : Object | Constructors.java:111:13:111:34 | of(...) : Map [] : Object | provenance | MaD:186 | +| Constructors.java:112:10:112:24 | new EnumMap<>(...) : EnumMap [] : Object | Constructors.java:113:19:113:21 | out : EnumMap [] : Object | provenance | | +| Constructors.java:112:22:112:23 | in : Map [] : Object | Constructors.java:112:10:112:24 | new EnumMap<>(...) : EnumMap [] : Object | provenance | MaD:132 | +| Constructors.java:113:19:113:21 | out : EnumMap [] : Object | Constructors.java:29:19:29:31 | container : EnumMap [] : Object | provenance | | +| Constructors.java:113:19:113:21 | out : EnumMap [] : Object | Constructors.java:113:9:113:22 | getMapKey(...) | provenance | MaD:184 | +| Constructors.java:118:13:118:34 | of(...) : Map [] : Object | Constructors.java:119:22:119:23 | in : Map [] : Object | provenance | | +| Constructors.java:118:26:118:33 | source(...) : Object | Constructors.java:118:13:118:34 | of(...) : Map [] : Object | provenance | MaD:197 | +| Constructors.java:119:10:119:24 | new EnumMap<>(...) : EnumMap [] : Object | Constructors.java:120:21:120:23 | out : EnumMap [] : Object | provenance | | +| Constructors.java:119:22:119:23 | in : Map [] : Object | Constructors.java:119:10:119:24 | new EnumMap<>(...) : EnumMap [] : Object | provenance | MaD:133 | +| Constructors.java:120:21:120:23 | out : EnumMap [] : Object | Constructors.java:30:21:30:33 | container : EnumMap [] : Object | provenance | | +| Constructors.java:120:21:120:23 | out : EnumMap [] : Object | Constructors.java:120:9:120:24 | getMapValue(...) | provenance | MaD:181 | +| Constructors.java:125:13:125:34 | of(...) : Map [] : Object | Constructors.java:126:22:126:23 | in : Map [] : Object | provenance | | +| Constructors.java:125:20:125:27 | source(...) : Object | Constructors.java:125:13:125:34 | of(...) : Map [] : Object | provenance | MaD:186 | +| Constructors.java:126:10:126:24 | new HashMap<>(...) : HashMap [] : Object | Constructors.java:127:19:127:21 | out : HashMap [] : Object | provenance | | +| Constructors.java:126:22:126:23 | in : Map [] : Object | Constructors.java:126:10:126:24 | new HashMap<>(...) : HashMap [] : Object | provenance | MaD:136 | +| Constructors.java:127:19:127:21 | out : HashMap [] : Object | Constructors.java:29:19:29:31 | container : HashMap [] : Object | provenance | | +| Constructors.java:127:19:127:21 | out : HashMap [] : Object | Constructors.java:127:9:127:22 | getMapKey(...) | provenance | MaD:184 | +| Constructors.java:132:13:132:34 | of(...) : Map [] : Object | Constructors.java:133:22:133:23 | in : Map [] : Object | provenance | | +| Constructors.java:132:26:132:33 | source(...) : Object | Constructors.java:132:13:132:34 | of(...) : Map [] : Object | provenance | MaD:197 | +| Constructors.java:133:10:133:24 | new HashMap<>(...) : HashMap [] : Object | Constructors.java:134:21:134:23 | out : HashMap [] : Object | provenance | | +| Constructors.java:133:22:133:23 | in : Map [] : Object | Constructors.java:133:10:133:24 | new HashMap<>(...) : HashMap [] : Object | provenance | MaD:137 | +| Constructors.java:134:21:134:23 | out : HashMap [] : Object | Constructors.java:30:21:30:33 | container : HashMap [] : Object | provenance | | +| Constructors.java:134:21:134:23 | out : HashMap [] : Object | Constructors.java:134:9:134:24 | getMapValue(...) | provenance | MaD:181 | +| Constructors.java:139:20:139:36 | of(...) : List [] : Object | Constructors.java:140:22:140:23 | in : List [] : Object | provenance | | +| Constructors.java:139:28:139:35 | source(...) : Object | Constructors.java:139:20:139:36 | of(...) : List [] : Object | provenance | MaD:154 | +| Constructors.java:140:10:140:24 | new HashSet<>(...) : HashSet [] : Object | Constructors.java:141:20:141:22 | out : HashSet [] : Object | provenance | | +| Constructors.java:140:22:140:23 | in : List [] : Object | Constructors.java:140:10:140:24 | new HashSet<>(...) : HashSet [] : Object | provenance | MaD:138 | +| Constructors.java:141:20:141:22 | out : HashSet [] : Object | Constructors.java:28:20:28:39 | container : HashSet [] : Object | provenance | | +| Constructors.java:141:20:141:22 | out : HashSet [] : Object | Constructors.java:141:9:141:23 | getElement(...) | provenance | MaD:1 | +| Constructors.java:146:13:146:34 | of(...) : Map [] : Object | Constructors.java:147:24:147:25 | in : Map [] : Object | provenance | | +| Constructors.java:146:20:146:27 | source(...) : Object | Constructors.java:146:13:146:34 | of(...) : Map [] : Object | provenance | MaD:186 | +| Constructors.java:147:10:147:26 | new Hashtable<>(...) : Hashtable [] : Object | Constructors.java:148:19:148:21 | out : Hashtable [] : Object | provenance | | +| Constructors.java:147:24:147:25 | in : Map [] : Object | Constructors.java:147:10:147:26 | new Hashtable<>(...) : Hashtable [] : Object | provenance | MaD:139 | +| Constructors.java:148:19:148:21 | out : Hashtable [] : Object | Constructors.java:29:19:29:31 | container : Hashtable [] : Object | provenance | | +| Constructors.java:148:19:148:21 | out : Hashtable [] : Object | Constructors.java:148:9:148:22 | getMapKey(...) | provenance | MaD:184 | +| Constructors.java:153:13:153:34 | of(...) : Map [] : Object | Constructors.java:154:24:154:25 | in : Map [] : Object | provenance | | +| Constructors.java:153:26:153:33 | source(...) : Object | Constructors.java:153:13:153:34 | of(...) : Map [] : Object | provenance | MaD:197 | +| Constructors.java:154:10:154:26 | new Hashtable<>(...) : Hashtable [] : Object | Constructors.java:155:21:155:23 | out : Hashtable [] : Object | provenance | | +| Constructors.java:154:24:154:25 | in : Map [] : Object | Constructors.java:154:10:154:26 | new Hashtable<>(...) : Hashtable [] : Object | provenance | MaD:140 | +| Constructors.java:155:21:155:23 | out : Hashtable [] : Object | Constructors.java:30:21:30:33 | container : Hashtable [] : Object | provenance | | +| Constructors.java:155:21:155:23 | out : Hashtable [] : Object | Constructors.java:155:9:155:24 | getMapValue(...) | provenance | MaD:181 | +| Constructors.java:160:13:160:34 | of(...) : Map [] : Object | Constructors.java:161:30:161:31 | in : Map [] : Object | provenance | | +| Constructors.java:160:20:160:27 | source(...) : Object | Constructors.java:160:13:160:34 | of(...) : Map [] : Object | provenance | MaD:186 | +| Constructors.java:161:10:161:32 | new IdentityHashMap<>(...) : IdentityHashMap [] : Object | Constructors.java:162:19:162:21 | out : IdentityHashMap [] : Object | provenance | | +| Constructors.java:161:30:161:31 | in : Map [] : Object | Constructors.java:161:10:161:32 | new IdentityHashMap<>(...) : IdentityHashMap [] : Object | provenance | MaD:141 | +| Constructors.java:162:19:162:21 | out : IdentityHashMap [] : Object | Constructors.java:29:19:29:31 | container : IdentityHashMap [] : Object | provenance | | +| Constructors.java:162:19:162:21 | out : IdentityHashMap [] : Object | Constructors.java:162:9:162:22 | getMapKey(...) | provenance | MaD:184 | +| Constructors.java:167:13:167:34 | of(...) : Map [] : Object | Constructors.java:168:30:168:31 | in : Map [] : Object | provenance | | +| Constructors.java:167:26:167:33 | source(...) : Object | Constructors.java:167:13:167:34 | of(...) : Map [] : Object | provenance | MaD:197 | +| Constructors.java:168:10:168:32 | new IdentityHashMap<>(...) : IdentityHashMap [] : Object | Constructors.java:169:21:169:23 | out : IdentityHashMap [] : Object | provenance | | +| Constructors.java:168:30:168:31 | in : Map [] : Object | Constructors.java:168:10:168:32 | new IdentityHashMap<>(...) : IdentityHashMap [] : Object | provenance | MaD:142 | +| Constructors.java:169:21:169:23 | out : IdentityHashMap [] : Object | Constructors.java:30:21:30:33 | container : IdentityHashMap [] : Object | provenance | | +| Constructors.java:169:21:169:23 | out : IdentityHashMap [] : Object | Constructors.java:169:9:169:24 | getMapValue(...) | provenance | MaD:181 | +| Constructors.java:174:13:174:34 | of(...) : Map [] : Object | Constructors.java:175:28:175:29 | in : Map [] : Object | provenance | | +| Constructors.java:174:20:174:27 | source(...) : Object | Constructors.java:174:13:174:34 | of(...) : Map [] : Object | provenance | MaD:186 | +| Constructors.java:175:10:175:30 | new LinkedHashMap<>(...) : LinkedHashMap [] : Object | Constructors.java:176:19:176:21 | out : LinkedHashMap [] : Object | provenance | | +| Constructors.java:175:28:175:29 | in : Map [] : Object | Constructors.java:175:10:175:30 | new LinkedHashMap<>(...) : LinkedHashMap [] : Object | provenance | MaD:144 | +| Constructors.java:176:19:176:21 | out : LinkedHashMap [] : Object | Constructors.java:29:19:29:31 | container : LinkedHashMap [] : Object | provenance | | +| Constructors.java:176:19:176:21 | out : LinkedHashMap [] : Object | Constructors.java:176:9:176:22 | getMapKey(...) | provenance | MaD:184 | +| Constructors.java:181:13:181:34 | of(...) : Map [] : Object | Constructors.java:182:28:182:29 | in : Map [] : Object | provenance | | +| Constructors.java:181:26:181:33 | source(...) : Object | Constructors.java:181:13:181:34 | of(...) : Map [] : Object | provenance | MaD:197 | +| Constructors.java:182:10:182:30 | new LinkedHashMap<>(...) : LinkedHashMap [] : Object | Constructors.java:183:21:183:23 | out : LinkedHashMap [] : Object | provenance | | +| Constructors.java:182:28:182:29 | in : Map [] : Object | Constructors.java:182:10:182:30 | new LinkedHashMap<>(...) : LinkedHashMap [] : Object | provenance | MaD:145 | +| Constructors.java:183:21:183:23 | out : LinkedHashMap [] : Object | Constructors.java:30:21:30:33 | container : LinkedHashMap [] : Object | provenance | | +| Constructors.java:183:21:183:23 | out : LinkedHashMap [] : Object | Constructors.java:183:9:183:24 | getMapValue(...) | provenance | MaD:181 | +| Constructors.java:188:20:188:36 | of(...) : List [] : Object | Constructors.java:189:28:189:29 | in : List [] : Object | provenance | | +| Constructors.java:188:28:188:35 | source(...) : Object | Constructors.java:188:20:188:36 | of(...) : List [] : Object | provenance | MaD:154 | +| Constructors.java:189:10:189:30 | new LinkedHashSet<>(...) : LinkedHashSet [] : Object | Constructors.java:190:20:190:22 | out : LinkedHashSet [] : Object | provenance | | +| Constructors.java:189:28:189:29 | in : List [] : Object | Constructors.java:189:10:189:30 | new LinkedHashSet<>(...) : LinkedHashSet [] : Object | provenance | MaD:146 | +| Constructors.java:190:20:190:22 | out : LinkedHashSet [] : Object | Constructors.java:28:20:28:39 | container : LinkedHashSet [] : Object | provenance | | +| Constructors.java:190:20:190:22 | out : LinkedHashSet [] : Object | Constructors.java:190:9:190:23 | getElement(...) | provenance | MaD:1 | +| Constructors.java:195:20:195:36 | of(...) : List [] : Object | Constructors.java:196:25:196:26 | in : List [] : Object | provenance | | +| Constructors.java:195:28:195:35 | source(...) : Object | Constructors.java:195:20:195:36 | of(...) : List [] : Object | provenance | MaD:154 | +| Constructors.java:196:10:196:27 | new LinkedList<>(...) : LinkedList [] : Object | Constructors.java:197:20:197:22 | out : LinkedList [] : Object | provenance | | +| Constructors.java:196:25:196:26 | in : List [] : Object | Constructors.java:196:10:196:27 | new LinkedList<>(...) : LinkedList [] : Object | provenance | MaD:147 | +| Constructors.java:197:20:197:22 | out : LinkedList [] : Object | Constructors.java:28:20:28:39 | container : LinkedList [] : Object | provenance | | +| Constructors.java:197:20:197:22 | out : LinkedList [] : Object | Constructors.java:197:9:197:23 | getElement(...) | provenance | MaD:1 | +| Constructors.java:202:20:202:36 | of(...) : List [] : Object | Constructors.java:203:28:203:29 | in : List [] : Object | provenance | | +| Constructors.java:202:28:202:35 | source(...) : Object | Constructors.java:202:20:202:36 | of(...) : List [] : Object | provenance | MaD:154 | +| Constructors.java:203:10:203:30 | new PriorityQueue<>(...) : PriorityQueue [] : Object | Constructors.java:204:20:204:22 | out : PriorityQueue [] : Object | provenance | | +| Constructors.java:203:28:203:29 | in : List [] : Object | Constructors.java:203:10:203:30 | new PriorityQueue<>(...) : PriorityQueue [] : Object | provenance | MaD:262 | +| Constructors.java:204:20:204:22 | out : PriorityQueue [] : Object | Constructors.java:28:20:28:39 | container : PriorityQueue [] : Object | provenance | | +| Constructors.java:204:20:204:22 | out : PriorityQueue [] : Object | Constructors.java:204:9:204:23 | getElement(...) | provenance | MaD:1 | +| Constructors.java:209:23:209:58 | new PriorityQueue<>(...) : PriorityQueue [] : Object | Constructors.java:210:28:210:29 | in : PriorityQueue [] : Object | provenance | | +| Constructors.java:209:41:209:57 | of(...) : List [] : Object | Constructors.java:209:23:209:58 | new PriorityQueue<>(...) : PriorityQueue [] : Object | provenance | MaD:262 | +| Constructors.java:209:49:209:56 | source(...) : Object | Constructors.java:209:41:209:57 | of(...) : List [] : Object | provenance | MaD:154 | +| Constructors.java:210:10:210:30 | new PriorityQueue<>(...) : PriorityQueue [] : Object | Constructors.java:211:20:211:22 | out : PriorityQueue [] : Object | provenance | | +| Constructors.java:210:28:210:29 | in : PriorityQueue [] : Object | Constructors.java:210:10:210:30 | new PriorityQueue<>(...) : PriorityQueue [] : Object | provenance | MaD:263 | +| Constructors.java:211:20:211:22 | out : PriorityQueue [] : Object | Constructors.java:28:20:28:39 | container : PriorityQueue [] : Object | provenance | | +| Constructors.java:211:20:211:22 | out : PriorityQueue [] : Object | Constructors.java:211:9:211:23 | getElement(...) | provenance | MaD:1 | +| Constructors.java:216:19:216:48 | new TreeSet<>(...) : TreeSet [] : Object | Constructors.java:217:28:217:29 | in : TreeSet [] : Object | provenance | | +| Constructors.java:216:31:216:47 | of(...) : List [] : Object | Constructors.java:216:19:216:48 | new TreeSet<>(...) : TreeSet [] : Object | provenance | MaD:329 | +| Constructors.java:216:39:216:46 | source(...) : Object | Constructors.java:216:31:216:47 | of(...) : List [] : Object | provenance | MaD:154 | +| Constructors.java:217:10:217:30 | new PriorityQueue<>(...) : PriorityQueue [] : Object | Constructors.java:218:20:218:22 | out : PriorityQueue [] : Object | provenance | | +| Constructors.java:217:28:217:29 | in : TreeSet [] : Object | Constructors.java:217:10:217:30 | new PriorityQueue<>(...) : PriorityQueue [] : Object | provenance | MaD:264 | +| Constructors.java:218:20:218:22 | out : PriorityQueue [] : Object | Constructors.java:28:20:28:39 | container : PriorityQueue [] : Object | provenance | | +| Constructors.java:218:20:218:22 | out : PriorityQueue [] : Object | Constructors.java:218:9:218:23 | getElement(...) | provenance | MaD:1 | +| Constructors.java:223:13:223:34 | of(...) : Map [] : Object | Constructors.java:224:22:224:23 | in : Map [] : Object | provenance | | +| Constructors.java:223:20:223:27 | source(...) : Object | Constructors.java:223:13:223:34 | of(...) : Map [] : Object | provenance | MaD:186 | +| Constructors.java:224:10:224:24 | new TreeMap<>(...) : TreeMap [] : Object | Constructors.java:225:19:225:21 | out : TreeMap [] : Object | provenance | | +| Constructors.java:224:22:224:23 | in : Map [] : Object | Constructors.java:224:10:224:24 | new TreeMap<>(...) : TreeMap [] : Object | provenance | MaD:325 | +| Constructors.java:225:19:225:21 | out : TreeMap [] : Object | Constructors.java:29:19:29:31 | container : TreeMap [] : Object | provenance | | +| Constructors.java:225:19:225:21 | out : TreeMap [] : Object | Constructors.java:225:9:225:22 | getMapKey(...) | provenance | MaD:184 | +| Constructors.java:230:13:230:34 | of(...) : Map [] : Object | Constructors.java:231:22:231:23 | in : Map [] : Object | provenance | | +| Constructors.java:230:26:230:33 | source(...) : Object | Constructors.java:230:13:230:34 | of(...) : Map [] : Object | provenance | MaD:197 | +| Constructors.java:231:10:231:24 | new TreeMap<>(...) : TreeMap [] : Object | Constructors.java:232:21:232:23 | out : TreeMap [] : Object | provenance | | +| Constructors.java:231:22:231:23 | in : Map [] : Object | Constructors.java:231:10:231:24 | new TreeMap<>(...) : TreeMap [] : Object | provenance | MaD:326 | +| Constructors.java:232:21:232:23 | out : TreeMap [] : Object | Constructors.java:30:21:30:33 | container : TreeMap [] : Object | provenance | | +| Constructors.java:232:21:232:23 | out : TreeMap [] : Object | Constructors.java:232:9:232:24 | getMapValue(...) | provenance | MaD:181 | +| Constructors.java:237:19:237:53 | new TreeMap<>(...) : TreeMap [] : Object | Constructors.java:238:22:238:23 | in : TreeMap [] : Object | provenance | | +| Constructors.java:237:31:237:52 | of(...) : Map [] : Object | Constructors.java:237:19:237:53 | new TreeMap<>(...) : TreeMap [] : Object | provenance | MaD:325 | +| Constructors.java:237:38:237:45 | source(...) : Object | Constructors.java:237:31:237:52 | of(...) : Map [] : Object | provenance | MaD:186 | +| Constructors.java:238:10:238:24 | new TreeMap<>(...) : TreeMap [] : Object | Constructors.java:239:19:239:21 | out : TreeMap [] : Object | provenance | | +| Constructors.java:238:22:238:23 | in : TreeMap [] : Object | Constructors.java:238:10:238:24 | new TreeMap<>(...) : TreeMap [] : Object | provenance | MaD:327 | +| Constructors.java:239:19:239:21 | out : TreeMap [] : Object | Constructors.java:29:19:29:31 | container : TreeMap [] : Object | provenance | | +| Constructors.java:239:19:239:21 | out : TreeMap [] : Object | Constructors.java:239:9:239:22 | getMapKey(...) | provenance | MaD:184 | +| Constructors.java:244:19:244:53 | new TreeMap<>(...) : TreeMap [] : Object | Constructors.java:245:22:245:23 | in : TreeMap [] : Object | provenance | | +| Constructors.java:244:31:244:52 | of(...) : Map [] : Object | Constructors.java:244:19:244:53 | new TreeMap<>(...) : TreeMap [] : Object | provenance | MaD:326 | +| Constructors.java:244:44:244:51 | source(...) : Object | Constructors.java:244:31:244:52 | of(...) : Map [] : Object | provenance | MaD:197 | +| Constructors.java:245:10:245:24 | new TreeMap<>(...) : TreeMap [] : Object | Constructors.java:246:21:246:23 | out : TreeMap [] : Object | provenance | | +| Constructors.java:245:22:245:23 | in : TreeMap [] : Object | Constructors.java:245:10:245:24 | new TreeMap<>(...) : TreeMap [] : Object | provenance | MaD:328 | +| Constructors.java:246:21:246:23 | out : TreeMap [] : Object | Constructors.java:30:21:30:33 | container : TreeMap [] : Object | provenance | | +| Constructors.java:246:21:246:23 | out : TreeMap [] : Object | Constructors.java:246:9:246:24 | getMapValue(...) | provenance | MaD:181 | +| Constructors.java:251:20:251:36 | of(...) : List [] : Object | Constructors.java:252:22:252:23 | in : List [] : Object | provenance | | +| Constructors.java:251:28:251:35 | source(...) : Object | Constructors.java:251:20:251:36 | of(...) : List [] : Object | provenance | MaD:154 | +| Constructors.java:252:10:252:24 | new TreeSet<>(...) : TreeSet [] : Object | Constructors.java:253:20:253:22 | out : TreeSet [] : Object | provenance | | +| Constructors.java:252:22:252:23 | in : List [] : Object | Constructors.java:252:10:252:24 | new TreeSet<>(...) : TreeSet [] : Object | provenance | MaD:329 | +| Constructors.java:253:20:253:22 | out : TreeSet [] : Object | Constructors.java:28:20:28:39 | container : TreeSet [] : Object | provenance | | +| Constructors.java:253:20:253:22 | out : TreeSet [] : Object | Constructors.java:253:9:253:23 | getElement(...) | provenance | MaD:1 | +| Constructors.java:258:19:258:48 | new TreeSet<>(...) : TreeSet [] : Object | Constructors.java:259:22:259:23 | in : TreeSet [] : Object | provenance | | +| Constructors.java:258:31:258:47 | of(...) : List [] : Object | Constructors.java:258:19:258:48 | new TreeSet<>(...) : TreeSet [] : Object | provenance | MaD:329 | +| Constructors.java:258:39:258:46 | source(...) : Object | Constructors.java:258:31:258:47 | of(...) : List [] : Object | provenance | MaD:154 | +| Constructors.java:259:10:259:24 | new TreeSet<>(...) : TreeSet [] : Object | Constructors.java:260:20:260:22 | out : TreeSet [] : Object | provenance | | +| Constructors.java:259:22:259:23 | in : TreeSet [] : Object | Constructors.java:259:10:259:24 | new TreeSet<>(...) : TreeSet [] : Object | provenance | MaD:330 | +| Constructors.java:260:20:260:22 | out : TreeSet [] : Object | Constructors.java:28:20:28:39 | container : TreeSet [] : Object | provenance | | +| Constructors.java:260:20:260:22 | out : TreeSet [] : Object | Constructors.java:260:9:260:23 | getElement(...) | provenance | MaD:1 | +| Constructors.java:265:20:265:36 | of(...) : List [] : Object | Constructors.java:266:21:266:22 | in : List [] : Object | provenance | | +| Constructors.java:265:28:265:35 | source(...) : Object | Constructors.java:265:20:265:36 | of(...) : List [] : Object | provenance | MaD:154 | +| Constructors.java:266:10:266:23 | new Vector<>(...) : Vector [] : Object | Constructors.java:267:20:267:22 | out : Vector [] : Object | provenance | | +| Constructors.java:266:21:266:22 | in : List [] : Object | Constructors.java:266:10:266:23 | new Vector<>(...) : Vector [] : Object | provenance | MaD:331 | +| Constructors.java:267:20:267:22 | out : Vector [] : Object | Constructors.java:28:20:28:39 | container : Vector [] : Object | provenance | | +| Constructors.java:267:20:267:22 | out : Vector [] : Object | Constructors.java:267:9:267:23 | getElement(...) | provenance | MaD:1 | +| Constructors.java:272:13:272:34 | of(...) : Map [] : Object | Constructors.java:273:26:273:27 | in : Map [] : Object | provenance | | +| Constructors.java:272:20:272:27 | source(...) : Object | Constructors.java:272:13:272:34 | of(...) : Map [] : Object | provenance | MaD:186 | +| Constructors.java:273:10:273:28 | new WeakHashMap<>(...) : WeakHashMap [] : Object | Constructors.java:274:19:274:21 | out : WeakHashMap [] : Object | provenance | | +| Constructors.java:273:26:273:27 | in : Map [] : Object | Constructors.java:273:10:273:28 | new WeakHashMap<>(...) : WeakHashMap [] : Object | provenance | MaD:340 | +| Constructors.java:274:19:274:21 | out : WeakHashMap [] : Object | Constructors.java:29:19:29:31 | container : WeakHashMap [] : Object | provenance | | +| Constructors.java:274:19:274:21 | out : WeakHashMap [] : Object | Constructors.java:274:9:274:22 | getMapKey(...) | provenance | MaD:184 | +| Constructors.java:279:13:279:34 | of(...) : Map [] : Object | Constructors.java:280:26:280:27 | in : Map [] : Object | provenance | | +| Constructors.java:279:26:279:33 | source(...) : Object | Constructors.java:279:13:279:34 | of(...) : Map [] : Object | provenance | MaD:197 | +| Constructors.java:280:10:280:28 | new WeakHashMap<>(...) : WeakHashMap [] : Object | Constructors.java:281:21:281:23 | out : WeakHashMap [] : Object | provenance | | +| Constructors.java:280:26:280:27 | in : Map [] : Object | Constructors.java:280:10:280:28 | new WeakHashMap<>(...) : WeakHashMap [] : Object | provenance | MaD:341 | +| Constructors.java:281:21:281:23 | out : WeakHashMap [] : Object | Constructors.java:30:21:30:33 | container : WeakHashMap [] : Object | provenance | | +| Constructors.java:281:21:281:23 | out : WeakHashMap [] : Object | Constructors.java:281:9:281:24 | getMapValue(...) | provenance | MaD:181 | +nodes +| B.java:11:37:11:46 | obj : Map [] : Object | semmle.label | obj : Map [] : Object | +| B.java:11:37:11:46 | obj : Object | semmle.label | obj : Object | +| B.java:11:37:11:46 | obj : TreeMap [] : Object | semmle.label | obj : TreeMap [] : Object | +| B.java:11:58:11:75 | new Object[] : Object[] [[], ] : Object | semmle.label | new Object[] : Object[] [[], ] : Object | +| B.java:11:58:11:75 | new Object[] : Object[] [[], ] : Object | semmle.label | new Object[] : Object[] [[], ] : Object | +| B.java:11:58:11:75 | new Object[] : Object[] [[]] : Object | semmle.label | new Object[] : Object[] [[]] : Object | +| B.java:11:58:11:75 | {...} : Object[] [[], ] : Object | semmle.label | {...} : Object[] [[], ] : Object | +| B.java:11:58:11:75 | {...} : Object[] [[], ] : Object | semmle.label | {...} : Object[] [[], ] : Object | +| B.java:11:58:11:75 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| B.java:11:72:11:74 | obj : Map [] : Object | semmle.label | obj : Map [] : Object | +| B.java:11:72:11:74 | obj : Object | semmle.label | obj : Object | +| B.java:11:72:11:74 | obj : TreeMap [] : Object | semmle.label | obj : TreeMap [] : Object | +| B.java:14:34:14:45 | obj : Object[] [[]] : Object | semmle.label | obj : Object[] [[]] : Object | +| B.java:14:57:14:59 | obj : Object[] [[]] : Object | semmle.label | obj : Object[] [[]] : Object | +| B.java:14:57:14:62 | ...[...] : Object | semmle.label | ...[...] : Object | +| B.java:15:35:15:47 | obj : boolean[] [[]] : Boolean | semmle.label | obj : boolean[] [[]] : Boolean | +| B.java:15:59:15:61 | obj : boolean[] [[]] : Boolean | semmle.label | obj : boolean[] [[]] : Boolean | +| B.java:15:59:15:64 | ...[...] : Boolean | semmle.label | ...[...] : Boolean | +| B.java:16:32:16:41 | obj : byte[] [[]] : Number | semmle.label | obj : byte[] [[]] : Number | +| B.java:16:53:16:55 | obj : byte[] [[]] : Number | semmle.label | obj : byte[] [[]] : Number | +| B.java:16:53:16:58 | ...[...] : Number | semmle.label | ...[...] : Number | +| B.java:17:32:17:41 | obj : char[] [[]] : Number | semmle.label | obj : char[] [[]] : Number | +| B.java:17:53:17:55 | obj : char[] [[]] : Number | semmle.label | obj : char[] [[]] : Number | +| B.java:17:53:17:58 | ...[...] : Number | semmle.label | ...[...] : Number | +| B.java:18:33:18:43 | obj : short[] [[]] : Number | semmle.label | obj : short[] [[]] : Number | +| B.java:18:55:18:57 | obj : short[] [[]] : Number | semmle.label | obj : short[] [[]] : Number | +| B.java:18:55:18:60 | ...[...] : Number | semmle.label | ...[...] : Number | +| B.java:19:31:19:39 | obj : int[] [[]] : Number | semmle.label | obj : int[] [[]] : Number | +| B.java:19:51:19:53 | obj : int[] [[]] : Number | semmle.label | obj : int[] [[]] : Number | +| B.java:19:51:19:56 | ...[...] : Number | semmle.label | ...[...] : Number | +| B.java:20:32:20:41 | obj : long[] [[]] : Number | semmle.label | obj : long[] [[]] : Number | +| B.java:20:53:20:55 | obj : long[] [[]] : Number | semmle.label | obj : long[] [[]] : Number | +| B.java:20:53:20:58 | ...[...] : Number | semmle.label | ...[...] : Number | +| B.java:21:33:21:43 | obj : float[] [[]] : Number | semmle.label | obj : float[] [[]] : Number | +| B.java:21:55:21:57 | obj : float[] [[]] : Number | semmle.label | obj : float[] [[]] : Number | +| B.java:21:55:21:60 | ...[...] : Number | semmle.label | ...[...] : Number | +| B.java:22:34:22:45 | obj : double[] [[]] : Number | semmle.label | obj : double[] [[]] : Number | +| B.java:22:57:22:59 | obj : double[] [[]] : Number | semmle.label | obj : double[] [[]] : Number | +| B.java:22:57:22:62 | ...[...] : Number | semmle.label | ...[...] : Number | +| B.java:24:39:24:43 | obj : Object | semmle.label | obj : Object | +| B.java:24:55:24:66 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:24:63:24:65 | obj : Object | semmle.label | obj : Object | +| B.java:25:53:25:57 | obj : Object | semmle.label | obj : Object | +| B.java:25:92:25:92 | v [post update] : Vector [] : Object | semmle.label | v [post update] : Vector [] : Object | +| B.java:25:98:25:100 | obj : Object | semmle.label | obj : Object | +| B.java:25:111:25:111 | v : Vector [] : Object | semmle.label | v : Vector [] : Object | +| B.java:25:111:25:122 | elements(...) : Enumeration [] : Object | semmle.label | elements(...) : Enumeration [] : Object | +| B.java:26:49:26:53 | obj : Object | semmle.label | obj : Object | +| B.java:26:90:26:90 | s [post update] : TreeSet [] : Object | semmle.label | s [post update] : TreeSet [] : Object | +| B.java:26:96:26:98 | obj : Object | semmle.label | obj : Object | +| B.java:26:109:26:109 | s : TreeSet [] : Object | semmle.label | s : TreeSet [] : Object | +| B.java:27:41:27:45 | obj : Object | semmle.label | obj : Object | +| B.java:27:78:27:78 | s [post update] : Stack [] : Object | semmle.label | s [post update] : Stack [] : Object | +| B.java:27:85:27:87 | obj : Object | semmle.label | obj : Object | +| B.java:27:98:27:98 | s : Stack [] : Object | semmle.label | s : Stack [] : Object | +| B.java:28:57:28:61 | obj : Object | semmle.label | obj : Object | +| B.java:28:122:28:122 | q [post update] : LinkedBlockingDeque [] : Object | semmle.label | q [post update] : LinkedBlockingDeque [] : Object | +| B.java:28:128:28:130 | obj : Object | semmle.label | obj : Object | +| B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | semmle.label | q : LinkedBlockingDeque [] : Object | +| B.java:29:55:29:59 | obj : Object | semmle.label | obj : Object | +| B.java:29:71:29:82 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:29:71:29:97 | listIterator(...) : ListIterator [] : Object | semmle.label | listIterator(...) : ListIterator [] : Object | +| B.java:29:79:29:81 | obj : Object | semmle.label | obj : Object | +| B.java:31:28:31:42 | obj : ArrayList [] : Object | semmle.label | obj : ArrayList [] : Object | +| B.java:31:28:31:42 | obj : BlockingDeque [] : Object | semmle.label | obj : BlockingDeque [] : Object | +| B.java:31:28:31:42 | obj : BlockingQueue [] : Object | semmle.label | obj : BlockingQueue [] : Object | +| B.java:31:28:31:42 | obj : Collection [] : Object | semmle.label | obj : Collection [] : Object | +| B.java:31:28:31:42 | obj : Deque [] : Object | semmle.label | obj : Deque [] : Object | +| B.java:31:28:31:42 | obj : List [] : Object | semmle.label | obj : List [] : Object | +| B.java:31:28:31:42 | obj : NavigableSet [] : Object | semmle.label | obj : NavigableSet [] : Object | +| B.java:31:28:31:42 | obj : Queue [] : Object | semmle.label | obj : Queue [] : Object | +| B.java:31:28:31:42 | obj : SequencedCollection [] : Object | semmle.label | obj : SequencedCollection [] : Object | +| B.java:31:28:31:42 | obj : SequencedSet [] : Object | semmle.label | obj : SequencedSet [] : Object | +| B.java:31:28:31:42 | obj : Set [] : Object | semmle.label | obj : Set [] : Object | +| B.java:31:28:31:42 | obj : SortedSet [] : Object | semmle.label | obj : SortedSet [] : Object | +| B.java:31:28:31:42 | obj : Stack [] : Object | semmle.label | obj : Stack [] : Object | +| B.java:31:28:31:42 | obj : TransferQueue [] : Object | semmle.label | obj : TransferQueue [] : Object | +| B.java:31:28:31:42 | obj : Vector [] : Object | semmle.label | obj : Vector [] : Object | +| B.java:31:54:31:56 | obj : ArrayList [] : Object | semmle.label | obj : ArrayList [] : Object | +| B.java:31:54:31:56 | obj : BlockingDeque [] : Object | semmle.label | obj : BlockingDeque [] : Object | +| B.java:31:54:31:56 | obj : BlockingQueue [] : Object | semmle.label | obj : BlockingQueue [] : Object | +| B.java:31:54:31:56 | obj : Collection [] : Object | semmle.label | obj : Collection [] : Object | +| B.java:31:54:31:56 | obj : Deque [] : Object | semmle.label | obj : Deque [] : Object | +| B.java:31:54:31:56 | obj : List [] : Object | semmle.label | obj : List [] : Object | +| B.java:31:54:31:56 | obj : NavigableSet [] : Object | semmle.label | obj : NavigableSet [] : Object | +| B.java:31:54:31:56 | obj : Queue [] : Object | semmle.label | obj : Queue [] : Object | +| B.java:31:54:31:56 | obj : SequencedCollection [] : Object | semmle.label | obj : SequencedCollection [] : Object | +| B.java:31:54:31:56 | obj : SequencedSet [] : Object | semmle.label | obj : SequencedSet [] : Object | +| B.java:31:54:31:56 | obj : Set [] : Object | semmle.label | obj : Set [] : Object | +| B.java:31:54:31:56 | obj : SortedSet [] : Object | semmle.label | obj : SortedSet [] : Object | +| B.java:31:54:31:56 | obj : Stack [] : Object | semmle.label | obj : Stack [] : Object | +| B.java:31:54:31:56 | obj : TransferQueue [] : Object | semmle.label | obj : TransferQueue [] : Object | +| B.java:31:54:31:56 | obj : Vector [] : Object | semmle.label | obj : Vector [] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:32:28:32:42 | obj : Iterator [] : Object | semmle.label | obj : Iterator [] : Object | +| B.java:32:28:32:42 | obj : ListIterator [] : Object | semmle.label | obj : ListIterator [] : Object | +| B.java:32:54:32:56 | obj : Iterator [] : Object | semmle.label | obj : Iterator [] : Object | +| B.java:32:54:32:56 | obj : ListIterator [] : Object | semmle.label | obj : ListIterator [] : Object | +| B.java:32:54:32:63 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:32:54:32:63 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:35:28:35:45 | obj : Enumeration [] : Object | semmle.label | obj : Enumeration [] : Object | +| B.java:35:57:35:59 | obj : Enumeration [] : Object | semmle.label | obj : Enumeration [] : Object | +| B.java:35:57:35:73 | nextElement(...) : Object | semmle.label | nextElement(...) : Object | +| B.java:37:48:37:52 | obj : Object | semmle.label | obj : Object | +| B.java:37:64:37:82 | entry(...) : Entry [] : Object | semmle.label | entry(...) : Entry [] : Object | +| B.java:37:74:37:76 | obj : Object | semmle.label | obj : Object | +| B.java:38:37:38:41 | obj : Object | semmle.label | obj : Object | +| B.java:38:79:38:79 | m [post update] : TreeMap [] : Object | semmle.label | m [post update] : TreeMap [] : Object | +| B.java:38:85:38:87 | obj : Object | semmle.label | obj : Object | +| B.java:38:103:38:103 | m : TreeMap [] : Object | semmle.label | m : TreeMap [] : Object | +| B.java:40:50:40:54 | obj : Object | semmle.label | obj : Object | +| B.java:40:66:40:84 | entry(...) : Entry [] : Object | semmle.label | entry(...) : Entry [] : Object | +| B.java:40:81:40:83 | obj : Object | semmle.label | obj : Object | +| B.java:41:39:41:43 | obj : Object | semmle.label | obj : Object | +| B.java:41:115:41:115 | m [post update] : Map [] : Object | semmle.label | m [post update] : Map [] : Object | +| B.java:41:126:41:128 | obj : Object | semmle.label | obj : Object | +| B.java:41:139:41:139 | m : Map [] : Object | semmle.label | m : Map [] : Object | +| B.java:43:29:43:46 | obj : Entry [] : Object | semmle.label | obj : Entry [] : Object | +| B.java:43:58:43:60 | obj : Entry [] : Object | semmle.label | obj : Entry [] : Object | +| B.java:43:58:43:69 | getKey(...) : Object | semmle.label | getKey(...) : Object | +| B.java:44:29:44:40 | obj : Map [] : Object | semmle.label | obj : Map [] : Object | +| B.java:44:29:44:40 | obj : NavigableMap [] : Object | semmle.label | obj : NavigableMap [] : Object | +| B.java:44:29:44:40 | obj : SequencedMap [] : Object | semmle.label | obj : SequencedMap [] : Object | +| B.java:44:29:44:40 | obj : SortedMap [] : Object | semmle.label | obj : SortedMap [] : Object | +| B.java:44:52:44:54 | obj : Map [] : Object | semmle.label | obj : Map [] : Object | +| B.java:44:52:44:54 | obj : NavigableMap [] : Object | semmle.label | obj : NavigableMap [] : Object | +| B.java:44:52:44:54 | obj : SequencedMap [] : Object | semmle.label | obj : SequencedMap [] : Object | +| B.java:44:52:44:54 | obj : SortedMap [] : Object | semmle.label | obj : SortedMap [] : Object | +| B.java:44:52:44:63 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| B.java:44:52:44:63 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| B.java:44:52:44:63 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| B.java:44:52:44:63 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| B.java:44:52:44:74 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:44:52:44:74 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:44:52:44:74 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:44:52:44:74 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:44:52:44:81 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:44:52:44:81 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:44:52:44:81 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:44:52:44:81 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:45:29:45:47 | obj : Dictionary [] : Object | semmle.label | obj : Dictionary [] : Object | +| B.java:45:59:45:61 | obj : Dictionary [] : Object | semmle.label | obj : Dictionary [] : Object | +| B.java:45:59:45:68 | keys(...) : Enumeration [] : Object | semmle.label | keys(...) : Enumeration [] : Object | +| B.java:45:59:45:82 | nextElement(...) : Object | semmle.label | nextElement(...) : Object | +| B.java:47:31:47:48 | obj : Entry [] : Object | semmle.label | obj : Entry [] : Object | +| B.java:47:60:47:62 | obj : Entry [] : Object | semmle.label | obj : Entry [] : Object | +| B.java:47:60:47:73 | getValue(...) : Object | semmle.label | getValue(...) : Object | +| B.java:48:31:48:42 | obj : Map [] : Object | semmle.label | obj : Map [] : Object | +| B.java:48:31:48:42 | obj : NavigableMap [] : Object | semmle.label | obj : NavigableMap [] : Object | +| B.java:48:31:48:42 | obj : SequencedMap [] : Object | semmle.label | obj : SequencedMap [] : Object | +| B.java:48:31:48:42 | obj : SortedMap [] : Object | semmle.label | obj : SortedMap [] : Object | +| B.java:48:54:48:56 | obj : Map [] : Object | semmle.label | obj : Map [] : Object | +| B.java:48:54:48:56 | obj : NavigableMap [] : Object | semmle.label | obj : NavigableMap [] : Object | +| B.java:48:54:48:56 | obj : SequencedMap [] : Object | semmle.label | obj : SequencedMap [] : Object | +| B.java:48:54:48:56 | obj : SortedMap [] : Object | semmle.label | obj : SortedMap [] : Object | +| B.java:48:54:48:66 | get(...) : Object | semmle.label | get(...) : Object | +| B.java:48:54:48:66 | get(...) : Object | semmle.label | get(...) : Object | +| B.java:48:54:48:66 | get(...) : Object | semmle.label | get(...) : Object | +| B.java:48:54:48:66 | get(...) : Object | semmle.label | get(...) : Object | +| B.java:49:31:49:49 | obj : Dictionary [] : Object | semmle.label | obj : Dictionary [] : Object | +| B.java:49:61:49:63 | obj : Dictionary [] : Object | semmle.label | obj : Dictionary [] : Object | +| B.java:49:61:49:73 | get(...) : Object | semmle.label | get(...) : Object | +| B.java:55:19:55:44 | storeMapKeyEntry(...) : Entry [] : Object | semmle.label | storeMapKeyEntry(...) : Entry [] : Object | +| B.java:55:36:55:43 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:55:53:55:76 | getKey(...) : Object | semmle.label | getKey(...) : Object | +| B.java:55:54:55:66 | (...)... : Entry [] : Object | semmle.label | (...)... : Entry [] : Object | +| B.java:55:84:55:86 | out | semmle.label | out | +| B.java:60:19:60:46 | storeMapValueEntry(...) : Entry [] : Object | semmle.label | storeMapValueEntry(...) : Entry [] : Object | +| B.java:60:38:60:45 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:60:55:60:80 | getValue(...) : Object | semmle.label | getValue(...) : Object | +| B.java:60:56:60:68 | (...)... : Entry [] : Object | semmle.label | (...)... : Entry [] : Object | +| B.java:60:88:60:90 | out | semmle.label | out | +| B.java:65:19:65:46 | storeMapValueEntry(...) : Entry [] : Object | semmle.label | storeMapValueEntry(...) : Entry [] : Object | +| B.java:65:38:65:45 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:65:55:65:84 | setValue(...) : Object | semmle.label | setValue(...) : Object | +| B.java:65:56:65:68 | (...)... : Entry [] : Object | semmle.label | (...)... : Entry [] : Object | +| B.java:65:92:65:94 | out | semmle.label | out | +| B.java:70:19:70:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:70:29:70:31 | out [post update] : Entry [] : Object | semmle.label | out [post update] : Entry [] : Object | +| B.java:70:42:70:43 | in : Object | semmle.label | in : Object | +| B.java:70:52:70:68 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:70:65:70:67 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:75:21:75:46 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:75:38:75:45 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:75:55:75:56 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:75:55:75:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| B.java:75:75:75:90 | readElement(...) | semmle.label | readElement(...) | +| B.java:75:87:75:89 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| B.java:80:21:80:46 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:80:38:80:45 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:80:55:80:56 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:80:55:80:70 | spliterator(...) : Spliterator [] : Object | semmle.label | spliterator(...) : Spliterator [] : Object | +| B.java:80:78:80:93 | readElement(...) | semmle.label | readElement(...) | +| B.java:80:90:80:92 | out : Spliterator [] : Object | semmle.label | out : Spliterator [] : Object | +| B.java:85:21:85:54 | storeElementListIterator(...) : ListIterator [] : Object | semmle.label | storeElementListIterator(...) : ListIterator [] : Object | +| B.java:85:46:85:53 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:85:63:85:64 | in : ListIterator [] : Object | semmle.label | in : ListIterator [] : Object | +| B.java:85:63:85:71 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:85:79:85:81 | out | semmle.label | out | +| B.java:90:25:90:58 | storeElementListIterator(...) : ListIterator [] : Object | semmle.label | storeElementListIterator(...) : ListIterator [] : Object | +| B.java:90:50:90:57 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:90:67:90:68 | in : ListIterator [] : Object | semmle.label | in : ListIterator [] : Object | +| B.java:90:67:90:79 | previous(...) : Object | semmle.label | previous(...) : Object | +| B.java:90:87:90:89 | out | semmle.label | out | +| B.java:95:19:95:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:95:29:95:31 | out [post update] : ListIterator [] : Object | semmle.label | out [post update] : ListIterator [] : Object | +| B.java:95:37:95:38 | in : Object | semmle.label | in : Object | +| B.java:95:47:95:62 | readElement(...) | semmle.label | readElement(...) | +| B.java:95:59:95:61 | out : ListIterator [] : Object | semmle.label | out : ListIterator [] : Object | +| B.java:100:19:100:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:100:29:100:31 | out [post update] : ListIterator [] : Object | semmle.label | out [post update] : ListIterator [] : Object | +| B.java:100:37:100:38 | in : Object | semmle.label | in : Object | +| B.java:100:47:100:62 | readElement(...) | semmle.label | readElement(...) | +| B.java:100:59:100:61 | out : ListIterator [] : Object | semmle.label | out : ListIterator [] : Object | +| B.java:105:24:105:56 | storeElementEnumeration(...) : Enumeration [] : Object | semmle.label | storeElementEnumeration(...) : Enumeration [] : Object | +| B.java:105:48:105:55 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:105:65:105:66 | in : Enumeration [] : Object | semmle.label | in : Enumeration [] : Object | +| B.java:105:65:105:79 | asIterator(...) : Iterator [] : Object | semmle.label | asIterator(...) : Iterator [] : Object | +| B.java:105:87:105:102 | readElement(...) | semmle.label | readElement(...) | +| B.java:105:99:105:101 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| B.java:110:24:110:56 | storeElementEnumeration(...) : Enumeration [] : Object | semmle.label | storeElementEnumeration(...) : Enumeration [] : Object | +| B.java:110:48:110:55 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:110:65:110:66 | in : Enumeration [] : Object | semmle.label | in : Enumeration [] : Object | +| B.java:110:65:110:80 | nextElement(...) : Object | semmle.label | nextElement(...) : Object | +| B.java:110:88:110:90 | out | semmle.label | out | +| B.java:115:19:115:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:115:33:115:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:115:50:115:85 | computeIfAbsent(...) : Object | semmle.label | computeIfAbsent(...) : Object | +| B.java:115:51:115:57 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:115:93:115:95 | out | semmle.label | out | +| B.java:119:20:119:66 | computeIfAbsent(...) : Object | semmle.label | computeIfAbsent(...) : Object | +| B.java:119:58:119:65 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:119:74:119:76 | out | semmle.label | out | +| B.java:124:7:124:9 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| B.java:124:37:124:44 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:124:53:124:69 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:124:66:124:68 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:129:19:129:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:129:33:129:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:129:50:129:69 | entrySet(...) : Set [, ] : Object | semmle.label | entrySet(...) : Set [, ] : Object | +| B.java:129:51:129:57 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:129:77:129:106 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:129:90:129:105 | readElement(...) : Entry [] : Object | semmle.label | readElement(...) : Entry [] : Object | +| B.java:129:102:129:104 | out : Set [, ] : Object | semmle.label | out : Set [, ] : Object | +| B.java:134:19:134:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:134:31:134:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:134:48:134:67 | entrySet(...) : Set [, ] : Object | semmle.label | entrySet(...) : Set [, ] : Object | +| B.java:134:49:134:55 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:134:75:134:102 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:134:86:134:101 | readElement(...) : Entry [] : Object | semmle.label | readElement(...) : Entry [] : Object | +| B.java:134:98:134:100 | out : Set [, ] : Object | semmle.label | out : Set [, ] : Object | +| B.java:139:19:139:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:139:33:139:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:139:50:139:68 | get(...) : Object | semmle.label | get(...) : Object | +| B.java:139:51:139:57 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:139:76:139:78 | out | semmle.label | out | +| B.java:144:19:144:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:144:33:144:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:144:50:144:82 | getOrDefault(...) : Object | semmle.label | getOrDefault(...) : Object | +| B.java:144:51:144:57 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:144:90:144:92 | out | semmle.label | out | +| B.java:149:19:149:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:149:35:149:67 | getOrDefault(...) : Object | semmle.label | getOrDefault(...) : Object | +| B.java:149:65:149:66 | in : Object | semmle.label | in : Object | +| B.java:149:75:149:77 | out | semmle.label | out | +| B.java:154:19:154:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:154:33:154:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:154:50:154:73 | put(...) : Object | semmle.label | put(...) : Object | +| B.java:154:51:154:57 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:154:81:154:83 | out | semmle.label | out | +| B.java:159:19:159:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:159:29:159:31 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| B.java:159:37:159:38 | in : Object | semmle.label | in : Object | +| B.java:159:52:159:66 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:159:63:159:65 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:164:19:164:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:164:29:164:31 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| B.java:164:42:164:43 | in : Object | semmle.label | in : Object | +| B.java:164:52:164:68 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:164:65:164:67 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:169:19:169:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:169:33:169:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:169:50:169:81 | putIfAbsent(...) : Object | semmle.label | putIfAbsent(...) : Object | +| B.java:169:51:169:57 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:169:89:169:91 | out | semmle.label | out | +| B.java:174:19:174:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:174:29:174:31 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| B.java:174:45:174:46 | in : Object | semmle.label | in : Object | +| B.java:174:60:174:74 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:174:71:174:73 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:179:19:179:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:179:29:179:31 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| B.java:179:50:179:51 | in : Object | semmle.label | in : Object | +| B.java:179:60:179:76 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:179:73:179:75 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:184:19:184:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:184:33:184:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:184:50:184:71 | remove(...) : Object | semmle.label | remove(...) : Object | +| B.java:184:51:184:57 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:184:79:184:81 | out | semmle.label | out | +| B.java:189:19:189:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:189:33:189:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:189:50:189:77 | replace(...) : Object | semmle.label | replace(...) : Object | +| B.java:189:51:189:57 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:189:85:189:87 | out | semmle.label | out | +| B.java:194:19:194:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:194:29:194:31 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| B.java:194:41:194:42 | in : Object | semmle.label | in : Object | +| B.java:194:56:194:70 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:194:67:194:69 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:199:19:199:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:199:29:199:31 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| B.java:199:46:199:47 | in : Object | semmle.label | in : Object | +| B.java:199:56:199:72 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:199:69:199:71 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:204:19:204:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:204:29:204:31 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| B.java:204:41:204:42 | in : Object | semmle.label | in : Object | +| B.java:204:61:204:75 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:204:72:204:74 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:209:19:209:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:209:29:209:31 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| B.java:209:51:209:52 | in : Object | semmle.label | in : Object | +| B.java:209:61:209:77 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:209:74:209:76 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:214:19:214:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:214:31:214:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:214:48:214:65 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| B.java:214:49:214:55 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:214:73:214:88 | readElement(...) | semmle.label | readElement(...) | +| B.java:214:85:214:87 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:219:19:219:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:219:33:219:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:219:50:219:67 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| B.java:219:51:219:57 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:219:75:219:90 | readElement(...) | semmle.label | readElement(...) | +| B.java:219:87:219:89 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| B.java:224:19:224:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:224:29:224:31 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| B.java:224:44:224:45 | in : Object | semmle.label | in : Object | +| B.java:224:59:224:75 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:224:72:224:74 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:229:19:229:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:229:31:229:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:229:42:229:44 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| B.java:229:53:229:59 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:229:68:229:82 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:229:79:229:81 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:234:19:234:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:234:33:234:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:234:44:234:46 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| B.java:234:55:234:61 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:234:70:234:86 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:234:83:234:85 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:239:23:239:48 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:239:40:239:47 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:239:57:239:58 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:239:57:239:75 | parallelStream(...) : Stream [] : Object | semmle.label | parallelStream(...) : Stream [] : Object | +| B.java:239:83:239:98 | readElement(...) | semmle.label | readElement(...) | +| B.java:239:95:239:97 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| B.java:244:23:244:48 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:244:40:244:47 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:244:57:244:58 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:244:57:244:67 | stream(...) : Stream [] : Object | semmle.label | stream(...) : Stream [] : Object | +| B.java:244:75:244:90 | readElement(...) | semmle.label | readElement(...) | +| B.java:244:87:244:89 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| B.java:249:23:249:48 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:249:40:249:47 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:249:57:249:58 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:249:57:249:68 | toArray(...) : Object[] [[]] : Object | semmle.label | toArray(...) : Object[] [[]] : Object | +| B.java:249:76:249:96 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:249:93:249:95 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| B.java:254:23:254:48 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:254:40:254:47 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:254:51:254:52 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:254:62:254:64 | out [post update] : Object[] [[]] : Object | semmle.label | out [post update] : Object[] [[]] : Object | +| B.java:254:73:254:93 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:254:90:254:92 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| B.java:259:19:259:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:259:29:259:31 | out [post update] : Collection [] : Object | semmle.label | out [post update] : Collection [] : Object | +| B.java:259:37:259:38 | in : Object | semmle.label | in : Object | +| B.java:259:47:259:62 | readElement(...) | semmle.label | readElement(...) | +| B.java:259:59:259:61 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| B.java:264:23:264:48 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:264:40:264:47 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:264:51:264:53 | out [post update] : Collection [] : Object | semmle.label | out [post update] : Collection [] : Object | +| B.java:264:62:264:63 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:264:72:264:87 | readElement(...) | semmle.label | readElement(...) | +| B.java:264:84:264:86 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| B.java:269:17:269:42 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:269:34:269:41 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:269:51:269:52 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:269:51:269:59 | get(...) : Object | semmle.label | get(...) : Object | +| B.java:269:67:269:69 | out | semmle.label | out | +| B.java:274:17:274:42 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:274:34:274:41 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:274:51:274:52 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:274:51:274:67 | listIterator(...) : ListIterator [] : Object | semmle.label | listIterator(...) : ListIterator [] : Object | +| B.java:274:75:274:90 | readElement(...) | semmle.label | readElement(...) | +| B.java:274:87:274:89 | out : ListIterator [] : Object | semmle.label | out : ListIterator [] : Object | +| B.java:279:17:279:42 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:279:34:279:41 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:279:51:279:52 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:279:51:279:62 | remove(...) : Object | semmle.label | remove(...) : Object | +| B.java:279:70:279:72 | out | semmle.label | out | +| B.java:284:17:284:42 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:284:34:284:41 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:284:51:284:52 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:284:51:284:64 | set(...) : Object | semmle.label | set(...) : Object | +| B.java:284:72:284:74 | out | semmle.label | out | +| B.java:289:19:289:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:289:29:289:31 | out [post update] : List [] : Object | semmle.label | out [post update] : List [] : Object | +| B.java:289:39:289:40 | in : Object | semmle.label | in : Object | +| B.java:289:49:289:64 | readElement(...) | semmle.label | readElement(...) | +| B.java:289:61:289:63 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:294:17:294:42 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:294:34:294:41 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:294:51:294:52 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:294:51:294:65 | subList(...) : List [] : Object | semmle.label | subList(...) : List [] : Object | +| B.java:294:73:294:88 | readElement(...) | semmle.label | readElement(...) | +| B.java:294:85:294:87 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:299:19:299:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:299:29:299:31 | out [post update] : List [] : Object | semmle.label | out [post update] : List [] : Object | +| B.java:299:39:299:40 | in : Object | semmle.label | in : Object | +| B.java:299:49:299:64 | readElement(...) | semmle.label | readElement(...) | +| B.java:299:61:299:63 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:304:23:304:48 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:304:40:304:47 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:304:51:304:53 | out [post update] : List [] : Object | semmle.label | out [post update] : List [] : Object | +| B.java:304:64:304:65 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:304:74:304:89 | readElement(...) | semmle.label | readElement(...) | +| B.java:304:86:304:88 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:314:17:314:30 | (...)... : List | semmle.label | (...)... : List | +| B.java:314:23:314:30 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:314:43:314:45 | out : List | semmle.label | out : List | +| B.java:314:43:314:45 | out [post update] : List | semmle.label | out [post update] : List | +| B.java:314:61:314:63 | out | semmle.label | out | +| B.java:319:19:319:45 | storeElementStack(...) : Stack [] : Object | semmle.label | storeElementStack(...) : Stack [] : Object | +| B.java:319:37:319:44 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:319:54:319:55 | in : Stack [] : Object | semmle.label | in : Stack [] : Object | +| B.java:319:54:319:68 | elementAt(...) : Object | semmle.label | elementAt(...) : Object | +| B.java:319:76:319:78 | out | semmle.label | out | +| B.java:324:19:324:45 | storeElementStack(...) : Stack [] : Object | semmle.label | storeElementStack(...) : Stack [] : Object | +| B.java:324:37:324:44 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:324:54:324:55 | in : Stack [] : Object | semmle.label | in : Stack [] : Object | +| B.java:324:54:324:66 | elements(...) : Enumeration [] : Object | semmle.label | elements(...) : Enumeration [] : Object | +| B.java:324:74:324:89 | readElement(...) | semmle.label | readElement(...) | +| B.java:324:86:324:88 | out : Enumeration [] : Object | semmle.label | out : Enumeration [] : Object | +| B.java:329:19:329:45 | storeElementStack(...) : Stack [] : Object | semmle.label | storeElementStack(...) : Stack [] : Object | +| B.java:329:37:329:44 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:329:54:329:55 | in : Stack [] : Object | semmle.label | in : Stack [] : Object | +| B.java:329:54:329:70 | firstElement(...) : Object | semmle.label | firstElement(...) : Object | +| B.java:329:78:329:80 | out | semmle.label | out | +| B.java:334:19:334:45 | storeElementStack(...) : Stack [] : Object | semmle.label | storeElementStack(...) : Stack [] : Object | +| B.java:334:37:334:44 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:334:54:334:55 | in : Stack [] : Object | semmle.label | in : Stack [] : Object | +| B.java:334:54:334:69 | lastElement(...) : Object | semmle.label | lastElement(...) : Object | +| B.java:334:77:334:79 | out | semmle.label | out | +| B.java:339:19:339:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:339:29:339:31 | out [post update] : Vector [] : Object | semmle.label | out [post update] : Vector [] : Object | +| B.java:339:44:339:45 | in : Object | semmle.label | in : Object | +| B.java:339:54:339:69 | readElement(...) | semmle.label | readElement(...) | +| B.java:339:66:339:68 | out : Vector [] : Object | semmle.label | out : Vector [] : Object | +| B.java:344:19:344:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:344:29:344:31 | out [post update] : Vector [] : Object | semmle.label | out [post update] : Vector [] : Object | +| B.java:344:49:344:50 | in : Object | semmle.label | in : Object | +| B.java:344:61:344:76 | readElement(...) | semmle.label | readElement(...) | +| B.java:344:73:344:75 | out : Vector [] : Object | semmle.label | out : Vector [] : Object | +| B.java:349:19:349:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:349:29:349:31 | out [post update] : Vector [] : Object | semmle.label | out [post update] : Vector [] : Object | +| B.java:349:46:349:47 | in : Object | semmle.label | in : Object | +| B.java:349:58:349:73 | readElement(...) | semmle.label | readElement(...) | +| B.java:349:70:349:72 | out : Vector [] : Object | semmle.label | out : Vector [] : Object | +| B.java:354:19:354:45 | storeElementStack(...) : Stack [] : Object | semmle.label | storeElementStack(...) : Stack [] : Object | +| B.java:354:37:354:44 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:354:48:354:49 | in : Stack [] : Object | semmle.label | in : Stack [] : Object | +| B.java:354:60:354:62 | out [post update] : Object[] [[]] : Object | semmle.label | out [post update] : Object[] [[]] : Object | +| B.java:354:71:354:91 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:354:88:354:90 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| B.java:359:18:359:44 | storeElementStack(...) : Stack [] : Object | semmle.label | storeElementStack(...) : Stack [] : Object | +| B.java:359:36:359:43 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:359:53:359:54 | in : Stack [] : Object | semmle.label | in : Stack [] : Object | +| B.java:359:53:359:61 | peek(...) : Object | semmle.label | peek(...) : Object | +| B.java:359:69:359:71 | out | semmle.label | out | +| B.java:364:18:364:44 | storeElementStack(...) : Stack [] : Object | semmle.label | storeElementStack(...) : Stack [] : Object | +| B.java:364:36:364:43 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:364:53:364:54 | in : Stack [] : Object | semmle.label | in : Stack [] : Object | +| B.java:364:53:364:60 | pop(...) : Object | semmle.label | pop(...) : Object | +| B.java:364:68:364:70 | out | semmle.label | out | +| B.java:369:19:369:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:369:29:369:31 | out [post update] : Stack [] : Object | semmle.label | out [post update] : Stack [] : Object | +| B.java:369:38:369:39 | in : Object | semmle.label | in : Object | +| B.java:369:48:369:63 | readElement(...) | semmle.label | readElement(...) | +| B.java:369:60:369:62 | out : Stack [] : Object | semmle.label | out : Stack [] : Object | +| B.java:374:18:374:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:374:44:374:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:374:61:374:62 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:374:61:374:72 | element(...) : Object | semmle.label | element(...) : Object | +| B.java:374:80:374:82 | out | semmle.label | out | +| B.java:379:18:379:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:379:44:379:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:379:61:379:62 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:379:61:379:69 | peek(...) : Object | semmle.label | peek(...) : Object | +| B.java:379:77:379:79 | out | semmle.label | out | +| B.java:384:18:384:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:384:44:384:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:384:61:384:62 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:384:61:384:69 | poll(...) : Object | semmle.label | poll(...) : Object | +| B.java:384:77:384:79 | out | semmle.label | out | +| B.java:389:18:389:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:389:44:389:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:389:61:389:62 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:389:61:389:71 | remove(...) : Object | semmle.label | remove(...) : Object | +| B.java:389:79:389:81 | out | semmle.label | out | +| B.java:394:19:394:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:394:29:394:31 | out [post update] : Queue [] : Object | semmle.label | out [post update] : Queue [] : Object | +| B.java:394:39:394:40 | in : Object | semmle.label | in : Object | +| B.java:394:49:394:64 | readElement(...) | semmle.label | readElement(...) | +| B.java:394:61:394:63 | out : Queue [] : Object | semmle.label | out : Queue [] : Object | +| B.java:399:18:399:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:399:44:399:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:399:61:399:62 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:399:61:399:83 | descendingIterator(...) : Iterator [] : Object | semmle.label | descendingIterator(...) : Iterator [] : Object | +| B.java:399:91:399:106 | readElement(...) | semmle.label | readElement(...) | +| B.java:399:103:399:105 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| B.java:404:18:404:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:404:44:404:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:404:61:404:62 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:404:61:404:73 | getFirst(...) : Object | semmle.label | getFirst(...) : Object | +| B.java:404:81:404:83 | out | semmle.label | out | +| B.java:409:18:409:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:409:44:409:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:409:61:409:62 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:409:61:409:72 | getLast(...) : Object | semmle.label | getLast(...) : Object | +| B.java:409:80:409:82 | out | semmle.label | out | +| B.java:414:18:414:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:414:44:414:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:414:61:414:62 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:414:61:414:74 | peekFirst(...) : Object | semmle.label | peekFirst(...) : Object | +| B.java:414:82:414:84 | out | semmle.label | out | +| B.java:419:18:419:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:419:44:419:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:419:61:419:62 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:419:61:419:73 | peekLast(...) : Object | semmle.label | peekLast(...) : Object | +| B.java:419:81:419:83 | out | semmle.label | out | +| B.java:424:18:424:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:424:44:424:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:424:61:424:62 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:424:61:424:74 | pollFirst(...) : Object | semmle.label | pollFirst(...) : Object | +| B.java:424:82:424:84 | out | semmle.label | out | +| B.java:429:18:429:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:429:44:429:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:429:61:429:62 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:429:61:429:73 | pollLast(...) : Object | semmle.label | pollLast(...) : Object | +| B.java:429:81:429:83 | out | semmle.label | out | +| B.java:434:18:434:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:434:44:434:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:434:61:434:62 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:434:61:434:68 | pop(...) : Object | semmle.label | pop(...) : Object | +| B.java:434:76:434:78 | out | semmle.label | out | +| B.java:439:18:439:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:439:44:439:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:439:61:439:62 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:439:61:439:76 | removeFirst(...) : Object | semmle.label | removeFirst(...) : Object | +| B.java:439:84:439:86 | out | semmle.label | out | +| B.java:444:18:444:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:444:44:444:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:444:61:444:62 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:444:61:444:75 | removeLast(...) : Object | semmle.label | removeLast(...) : Object | +| B.java:444:83:444:85 | out | semmle.label | out | +| B.java:449:19:449:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:449:29:449:31 | out [post update] : Deque [] : Object | semmle.label | out [post update] : Deque [] : Object | +| B.java:449:38:449:39 | in : Object | semmle.label | in : Object | +| B.java:449:48:449:63 | readElement(...) | semmle.label | readElement(...) | +| B.java:449:60:449:62 | out : Deque [] : Object | semmle.label | out : Deque [] : Object | +| B.java:454:19:454:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:454:29:454:31 | out [post update] : Deque [] : Object | semmle.label | out [post update] : Deque [] : Object | +| B.java:454:43:454:44 | in : Object | semmle.label | in : Object | +| B.java:454:53:454:68 | readElement(...) | semmle.label | readElement(...) | +| B.java:454:65:454:67 | out : Deque [] : Object | semmle.label | out : Deque [] : Object | +| B.java:459:19:459:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:459:29:459:31 | out [post update] : Deque [] : Object | semmle.label | out [post update] : Deque [] : Object | +| B.java:459:44:459:45 | in : Object | semmle.label | in : Object | +| B.java:459:54:459:69 | readElement(...) | semmle.label | readElement(...) | +| B.java:459:66:459:68 | out : Deque [] : Object | semmle.label | out : Deque [] : Object | +| B.java:464:19:464:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:464:29:464:31 | out [post update] : Deque [] : Object | semmle.label | out [post update] : Deque [] : Object | +| B.java:464:41:464:42 | in : Object | semmle.label | in : Object | +| B.java:464:51:464:66 | readElement(...) | semmle.label | readElement(...) | +| B.java:464:63:464:65 | out : Deque [] : Object | semmle.label | out : Deque [] : Object | +| B.java:469:19:469:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:469:29:469:31 | out [post update] : Deque [] : Object | semmle.label | out [post update] : Deque [] : Object | +| B.java:469:42:469:43 | in : Object | semmle.label | in : Object | +| B.java:469:52:469:67 | readElement(...) | semmle.label | readElement(...) | +| B.java:469:64:469:66 | out : Deque [] : Object | semmle.label | out : Deque [] : Object | +| B.java:474:26:474:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:474:52:474:59 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:474:69:474:70 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:474:69:474:88 | pollFirst(...) : Object | semmle.label | pollFirst(...) : Object | +| B.java:474:96:474:98 | out | semmle.label | out | +| B.java:479:26:479:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:479:52:479:59 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:479:69:479:70 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:479:69:479:87 | pollLast(...) : Object | semmle.label | pollLast(...) : Object | +| B.java:479:95:479:97 | out | semmle.label | out | +| B.java:484:26:484:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:484:52:484:59 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:484:69:484:70 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:484:69:484:82 | takeFirst(...) : Object | semmle.label | takeFirst(...) : Object | +| B.java:484:90:484:92 | out | semmle.label | out | +| B.java:489:26:489:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:489:52:489:59 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:489:69:489:70 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:489:69:489:81 | takeLast(...) : Object | semmle.label | takeLast(...) : Object | +| B.java:489:89:489:91 | out | semmle.label | out | +| B.java:494:26:494:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:494:52:494:59 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:494:69:494:70 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:494:69:494:83 | poll(...) : Object | semmle.label | poll(...) : Object | +| B.java:494:91:494:93 | out | semmle.label | out | +| B.java:499:26:499:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:499:52:499:59 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:499:69:499:70 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:499:69:499:77 | take(...) : Object | semmle.label | take(...) : Object | +| B.java:499:85:499:87 | out | semmle.label | out | +| B.java:504:19:504:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:504:29:504:31 | out [post update] : BlockingQueue [] : Object | semmle.label | out [post update] : BlockingQueue [] : Object | +| B.java:504:39:504:40 | in : Object | semmle.label | in : Object | +| B.java:504:56:504:71 | readElement(...) | semmle.label | readElement(...) | +| B.java:504:68:504:70 | out : BlockingQueue [] : Object | semmle.label | out : BlockingQueue [] : Object | +| B.java:509:19:509:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:509:29:509:31 | out [post update] : BlockingQueue [] : Object | semmle.label | out [post update] : BlockingQueue [] : Object | +| B.java:509:37:509:38 | in : Object | semmle.label | in : Object | +| B.java:509:47:509:62 | readElement(...) | semmle.label | readElement(...) | +| B.java:509:59:509:61 | out : BlockingQueue [] : Object | semmle.label | out : BlockingQueue [] : Object | +| B.java:514:19:514:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:514:29:514:31 | out [post update] : BlockingDeque [] : Object | semmle.label | out [post update] : BlockingDeque [] : Object | +| B.java:514:43:514:44 | in : Object | semmle.label | in : Object | +| B.java:514:60:514:75 | readElement(...) | semmle.label | readElement(...) | +| B.java:514:72:514:74 | out : BlockingDeque [] : Object | semmle.label | out : BlockingDeque [] : Object | +| B.java:519:19:519:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:519:29:519:31 | out [post update] : BlockingDeque [] : Object | semmle.label | out [post update] : BlockingDeque [] : Object | +| B.java:519:44:519:45 | in : Object | semmle.label | in : Object | +| B.java:519:61:519:76 | readElement(...) | semmle.label | readElement(...) | +| B.java:519:73:519:75 | out : BlockingDeque [] : Object | semmle.label | out : BlockingDeque [] : Object | +| B.java:524:19:524:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:524:29:524:31 | out [post update] : BlockingDeque [] : Object | semmle.label | out [post update] : BlockingDeque [] : Object | +| B.java:524:41:524:42 | in : Object | semmle.label | in : Object | +| B.java:524:51:524:66 | readElement(...) | semmle.label | readElement(...) | +| B.java:524:63:524:65 | out : BlockingDeque [] : Object | semmle.label | out : BlockingDeque [] : Object | +| B.java:529:19:529:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:529:29:529:31 | out [post update] : BlockingDeque [] : Object | semmle.label | out [post update] : BlockingDeque [] : Object | +| B.java:529:42:529:43 | in : Object | semmle.label | in : Object | +| B.java:529:52:529:67 | readElement(...) | semmle.label | readElement(...) | +| B.java:529:64:529:66 | out : BlockingDeque [] : Object | semmle.label | out : BlockingDeque [] : Object | +| B.java:534:26:534:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:534:52:534:59 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:534:63:534:64 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:534:74:534:76 | out [post update] : Collection [] : Object | semmle.label | out [post update] : Collection [] : Object | +| B.java:534:87:534:102 | readElement(...) | semmle.label | readElement(...) | +| B.java:534:99:534:101 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| B.java:539:26:539:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:539:52:539:59 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:539:63:539:64 | in : LinkedBlockingDeque [] : Object | semmle.label | in : LinkedBlockingDeque [] : Object | +| B.java:539:74:539:76 | out [post update] : Collection [] : Object | semmle.label | out [post update] : Collection [] : Object | +| B.java:539:85:539:100 | readElement(...) | semmle.label | readElement(...) | +| B.java:539:97:539:99 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| B.java:544:19:544:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:544:33:544:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:544:50:544:83 | elements(...) : Enumeration [] : Object | semmle.label | elements(...) : Enumeration [] : Object | +| B.java:544:51:544:71 | (...)... : ConcurrentHashMap [] : Object | semmle.label | (...)... : ConcurrentHashMap [] : Object | +| B.java:544:91:544:106 | readElement(...) | semmle.label | readElement(...) | +| B.java:544:103:544:105 | out : Enumeration [] : Object | semmle.label | out : Enumeration [] : Object | +| B.java:549:19:549:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:549:33:549:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:549:50:549:76 | elements(...) : Enumeration [] : Object | semmle.label | elements(...) : Enumeration [] : Object | +| B.java:549:51:549:64 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:549:84:549:99 | readElement(...) | semmle.label | readElement(...) | +| B.java:549:96:549:98 | out : Enumeration [] : Object | semmle.label | out : Enumeration [] : Object | +| B.java:554:19:554:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:554:33:554:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:554:50:554:75 | get(...) : Object | semmle.label | get(...) : Object | +| B.java:554:51:554:64 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:554:83:554:85 | out | semmle.label | out | +| B.java:559:19:559:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:559:33:559:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:559:50:559:80 | put(...) : Object | semmle.label | put(...) : Object | +| B.java:559:51:559:64 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:559:88:559:90 | out | semmle.label | out | +| B.java:564:19:564:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:564:29:564:31 | out [post update] : Dictionary [] : Object | semmle.label | out [post update] : Dictionary [] : Object | +| B.java:564:37:564:38 | in : Object | semmle.label | in : Object | +| B.java:564:52:564:66 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:564:63:564:65 | out : Dictionary [] : Object | semmle.label | out : Dictionary [] : Object | +| B.java:569:19:569:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:569:29:569:31 | out [post update] : Dictionary [] : Object | semmle.label | out [post update] : Dictionary [] : Object | +| B.java:569:42:569:43 | in : Object | semmle.label | in : Object | +| B.java:569:52:569:68 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:569:65:569:67 | out : Dictionary [] : Object | semmle.label | out : Dictionary [] : Object | +| B.java:574:19:574:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:574:33:574:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:574:50:574:78 | remove(...) : Object | semmle.label | remove(...) : Object | +| B.java:574:51:574:64 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:574:86:574:88 | out | semmle.label | out | +| B.java:579:19:579:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:579:31:579:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:579:48:579:84 | ceilingEntry(...) : Entry [] : Object | semmle.label | ceilingEntry(...) : Entry [] : Object | +| B.java:579:49:579:64 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:579:92:579:106 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:579:103:579:105 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:584:19:584:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:584:33:584:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:584:50:584:86 | ceilingEntry(...) : Entry [] : Object | semmle.label | ceilingEntry(...) : Entry [] : Object | +| B.java:584:51:584:66 | (...)... : NavigableMap [] : Object | semmle.label | (...)... : NavigableMap [] : Object | +| B.java:584:94:584:110 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:584:107:584:109 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:589:19:589:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:589:31:589:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:589:48:589:81 | descendingMap(...) : NavigableMap [] : Object | semmle.label | descendingMap(...) : NavigableMap [] : Object | +| B.java:589:49:589:64 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:589:89:589:103 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:589:100:589:102 | out : NavigableMap [] : Object | semmle.label | out : NavigableMap [] : Object | +| B.java:594:19:594:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:594:33:594:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:594:50:594:83 | descendingMap(...) : NavigableMap [] : Object | semmle.label | descendingMap(...) : NavigableMap [] : Object | +| B.java:594:51:594:66 | (...)... : NavigableMap [] : Object | semmle.label | (...)... : NavigableMap [] : Object | +| B.java:594:91:594:107 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:594:104:594:106 | out : NavigableMap [] : Object | semmle.label | out : NavigableMap [] : Object | +| B.java:599:19:599:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:599:31:599:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:599:48:599:78 | firstEntry(...) : Entry [] : Object | semmle.label | firstEntry(...) : Entry [] : Object | +| B.java:599:49:599:64 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:599:86:599:100 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:599:97:599:99 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:604:19:604:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:604:33:604:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:604:50:604:80 | firstEntry(...) : Entry [] : Object | semmle.label | firstEntry(...) : Entry [] : Object | +| B.java:604:51:604:66 | (...)... : NavigableMap [] : Object | semmle.label | (...)... : NavigableMap [] : Object | +| B.java:604:88:604:104 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:604:101:604:103 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:609:19:609:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:609:31:609:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:609:48:609:82 | floorEntry(...) : Entry [] : Object | semmle.label | floorEntry(...) : Entry [] : Object | +| B.java:609:49:609:64 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:609:90:609:104 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:609:101:609:103 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:614:19:614:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:614:33:614:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:614:50:614:84 | floorEntry(...) : Entry [] : Object | semmle.label | floorEntry(...) : Entry [] : Object | +| B.java:614:51:614:66 | (...)... : NavigableMap [] : Object | semmle.label | (...)... : NavigableMap [] : Object | +| B.java:614:92:614:108 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:614:105:614:107 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:619:19:619:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:619:31:619:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:619:48:619:84 | headMap(...) : NavigableMap [] : Object | semmle.label | headMap(...) : NavigableMap [] : Object | +| B.java:619:49:619:64 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:619:92:619:106 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:619:103:619:105 | out : NavigableMap [] : Object | semmle.label | out : NavigableMap [] : Object | +| B.java:624:19:624:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:624:33:624:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:624:50:624:86 | headMap(...) : NavigableMap [] : Object | semmle.label | headMap(...) : NavigableMap [] : Object | +| B.java:624:51:624:66 | (...)... : NavigableMap [] : Object | semmle.label | (...)... : NavigableMap [] : Object | +| B.java:624:94:624:110 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:624:107:624:109 | out : NavigableMap [] : Object | semmle.label | out : NavigableMap [] : Object | +| B.java:629:19:629:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:629:31:629:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:629:48:629:83 | higherEntry(...) : Entry [] : Object | semmle.label | higherEntry(...) : Entry [] : Object | +| B.java:629:49:629:64 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:629:91:629:105 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:629:102:629:104 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:634:19:634:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:634:33:634:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:634:50:634:85 | higherEntry(...) : Entry [] : Object | semmle.label | higherEntry(...) : Entry [] : Object | +| B.java:634:51:634:66 | (...)... : NavigableMap [] : Object | semmle.label | (...)... : NavigableMap [] : Object | +| B.java:634:93:634:109 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:634:106:634:108 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:639:19:639:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:639:31:639:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:639:48:639:77 | lastEntry(...) : Entry [] : Object | semmle.label | lastEntry(...) : Entry [] : Object | +| B.java:639:49:639:64 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:639:85:639:99 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:639:96:639:98 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:644:19:644:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:644:33:644:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:644:50:644:79 | lastEntry(...) : Entry [] : Object | semmle.label | lastEntry(...) : Entry [] : Object | +| B.java:644:51:644:66 | (...)... : NavigableMap [] : Object | semmle.label | (...)... : NavigableMap [] : Object | +| B.java:644:87:644:103 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:644:100:644:102 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:649:19:649:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:649:31:649:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:649:48:649:82 | lowerEntry(...) : Entry [] : Object | semmle.label | lowerEntry(...) : Entry [] : Object | +| B.java:649:49:649:64 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:649:90:649:104 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:649:101:649:103 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:654:19:654:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:654:33:654:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:654:50:654:84 | lowerEntry(...) : Entry [] : Object | semmle.label | lowerEntry(...) : Entry [] : Object | +| B.java:654:51:654:66 | (...)... : NavigableMap [] : Object | semmle.label | (...)... : NavigableMap [] : Object | +| B.java:654:92:654:108 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:654:105:654:107 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:659:19:659:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:659:31:659:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:659:48:659:82 | pollFirstEntry(...) : Entry [] : Object | semmle.label | pollFirstEntry(...) : Entry [] : Object | +| B.java:659:49:659:64 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:659:90:659:104 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:659:101:659:103 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:664:19:664:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:664:33:664:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:664:50:664:84 | pollFirstEntry(...) : Entry [] : Object | semmle.label | pollFirstEntry(...) : Entry [] : Object | +| B.java:664:51:664:66 | (...)... : NavigableMap [] : Object | semmle.label | (...)... : NavigableMap [] : Object | +| B.java:664:92:664:108 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:664:105:664:107 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:669:19:669:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:669:31:669:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:669:48:669:81 | pollLastEntry(...) : Entry [] : Object | semmle.label | pollLastEntry(...) : Entry [] : Object | +| B.java:669:49:669:64 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:669:89:669:103 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:669:100:669:102 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:674:19:674:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:674:33:674:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:674:50:674:83 | pollLastEntry(...) : Entry [] : Object | semmle.label | pollLastEntry(...) : Entry [] : Object | +| B.java:674:51:674:66 | (...)... : NavigableMap [] : Object | semmle.label | (...)... : NavigableMap [] : Object | +| B.java:674:91:674:107 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:674:104:674:106 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:679:19:679:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:679:31:679:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:679:48:679:93 | subMap(...) : NavigableMap [] : Object | semmle.label | subMap(...) : NavigableMap [] : Object | +| B.java:679:49:679:64 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:679:101:679:115 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:679:112:679:114 | out : NavigableMap [] : Object | semmle.label | out : NavigableMap [] : Object | +| B.java:684:19:684:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:684:33:684:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:684:50:684:95 | subMap(...) : NavigableMap [] : Object | semmle.label | subMap(...) : NavigableMap [] : Object | +| B.java:684:51:684:66 | (...)... : NavigableMap [] : Object | semmle.label | (...)... : NavigableMap [] : Object | +| B.java:684:103:684:119 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:684:116:684:118 | out : NavigableMap [] : Object | semmle.label | out : NavigableMap [] : Object | +| B.java:689:19:689:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:689:31:689:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:689:48:689:84 | tailMap(...) : NavigableMap [] : Object | semmle.label | tailMap(...) : NavigableMap [] : Object | +| B.java:689:49:689:64 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:689:92:689:106 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:689:103:689:105 | out : NavigableMap [] : Object | semmle.label | out : NavigableMap [] : Object | +| B.java:694:19:694:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:694:33:694:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:694:50:694:86 | tailMap(...) : NavigableMap [] : Object | semmle.label | tailMap(...) : NavigableMap [] : Object | +| B.java:694:51:694:66 | (...)... : NavigableMap [] : Object | semmle.label | (...)... : NavigableMap [] : Object | +| B.java:694:94:694:110 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:694:107:694:109 | out : NavigableMap [] : Object | semmle.label | out : NavigableMap [] : Object | +| B.java:699:25:699:52 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:699:44:699:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:699:61:699:62 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:699:61:699:76 | ceiling(...) : Object | semmle.label | ceiling(...) : Object | +| B.java:699:84:699:86 | out | semmle.label | out | +| B.java:704:25:704:52 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:704:44:704:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:704:61:704:62 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:704:61:704:83 | descendingIterator(...) : Iterator [] : Object | semmle.label | descendingIterator(...) : Iterator [] : Object | +| B.java:704:91:704:106 | readElement(...) | semmle.label | readElement(...) | +| B.java:704:103:704:105 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| B.java:709:25:709:52 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:709:44:709:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:709:61:709:62 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:709:61:709:78 | descendingSet(...) : NavigableSet [] : Object | semmle.label | descendingSet(...) : NavigableSet [] : Object | +| B.java:709:86:709:101 | readElement(...) | semmle.label | readElement(...) | +| B.java:709:98:709:100 | out : NavigableSet [] : Object | semmle.label | out : NavigableSet [] : Object | +| B.java:714:25:714:52 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:714:44:714:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:714:61:714:62 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:714:61:714:74 | floor(...) : Object | semmle.label | floor(...) : Object | +| B.java:714:82:714:84 | out | semmle.label | out | +| B.java:719:25:719:52 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:719:44:719:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:719:61:719:62 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:719:61:719:81 | headSet(...) : NavigableSet [] : Object | semmle.label | headSet(...) : NavigableSet [] : Object | +| B.java:719:89:719:104 | readElement(...) | semmle.label | readElement(...) | +| B.java:719:101:719:103 | out : NavigableSet [] : Object | semmle.label | out : NavigableSet [] : Object | +| B.java:724:25:724:52 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:724:44:724:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:724:61:724:62 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:724:61:724:75 | higher(...) : Object | semmle.label | higher(...) : Object | +| B.java:724:83:724:85 | out | semmle.label | out | +| B.java:729:25:729:52 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:729:44:729:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:729:61:729:62 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:729:61:729:74 | lower(...) : Object | semmle.label | lower(...) : Object | +| B.java:729:82:729:84 | out | semmle.label | out | +| B.java:734:25:734:52 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:734:44:734:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:734:61:734:62 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:734:61:734:74 | pollFirst(...) : Object | semmle.label | pollFirst(...) : Object | +| B.java:734:82:734:84 | out | semmle.label | out | +| B.java:739:25:739:52 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:739:44:739:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:739:61:739:62 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:739:61:739:73 | pollLast(...) : Object | semmle.label | pollLast(...) : Object | +| B.java:739:81:739:83 | out | semmle.label | out | +| B.java:744:25:744:52 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:744:44:744:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:744:61:744:62 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:744:61:744:90 | subSet(...) : NavigableSet [] : Object | semmle.label | subSet(...) : NavigableSet [] : Object | +| B.java:744:98:744:113 | readElement(...) | semmle.label | readElement(...) | +| B.java:744:110:744:112 | out : NavigableSet [] : Object | semmle.label | out : NavigableSet [] : Object | +| B.java:749:25:749:52 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:749:44:749:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:749:61:749:62 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:749:61:749:81 | tailSet(...) : NavigableSet [] : Object | semmle.label | tailSet(...) : NavigableSet [] : Object | +| B.java:749:89:749:104 | readElement(...) | semmle.label | readElement(...) | +| B.java:749:101:749:103 | out : NavigableSet [] : Object | semmle.label | out : NavigableSet [] : Object | +| B.java:754:19:754:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:754:31:754:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:754:48:754:76 | headMap(...) : SortedMap [] : Object | semmle.label | headMap(...) : SortedMap [] : Object | +| B.java:754:49:754:61 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:754:84:754:98 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:754:95:754:97 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| B.java:759:19:759:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:759:33:759:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:759:50:759:78 | headMap(...) : SortedMap [] : Object | semmle.label | headMap(...) : SortedMap [] : Object | +| B.java:759:51:759:63 | (...)... : SortedMap [] : Object | semmle.label | (...)... : SortedMap [] : Object | +| B.java:759:86:759:102 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:759:99:759:101 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| B.java:764:19:764:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:764:31:764:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:764:48:764:80 | subMap(...) : SortedMap [] : Object | semmle.label | subMap(...) : SortedMap [] : Object | +| B.java:764:49:764:61 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:764:88:764:102 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:764:99:764:101 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| B.java:769:19:769:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:769:33:769:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:769:50:769:82 | subMap(...) : SortedMap [] : Object | semmle.label | subMap(...) : SortedMap [] : Object | +| B.java:769:51:769:63 | (...)... : SortedMap [] : Object | semmle.label | (...)... : SortedMap [] : Object | +| B.java:769:90:769:106 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:769:103:769:105 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| B.java:774:19:774:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:774:31:774:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:774:48:774:76 | tailMap(...) : SortedMap [] : Object | semmle.label | tailMap(...) : SortedMap [] : Object | +| B.java:774:49:774:61 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:774:84:774:98 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:774:95:774:97 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| B.java:779:19:779:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:779:33:779:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:779:50:779:78 | tailMap(...) : SortedMap [] : Object | semmle.label | tailMap(...) : SortedMap [] : Object | +| B.java:779:51:779:63 | (...)... : SortedMap [] : Object | semmle.label | (...)... : SortedMap [] : Object | +| B.java:779:86:779:102 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:779:99:779:101 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| B.java:784:22:784:49 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:784:41:784:48 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:784:58:784:59 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:784:58:784:67 | first(...) : Object | semmle.label | first(...) : Object | +| B.java:784:75:784:77 | out | semmle.label | out | +| B.java:789:22:789:49 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:789:41:789:48 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:789:58:789:59 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:789:58:789:73 | headSet(...) : SortedSet [] : Object | semmle.label | headSet(...) : SortedSet [] : Object | +| B.java:789:81:789:96 | readElement(...) | semmle.label | readElement(...) | +| B.java:789:93:789:95 | out : SortedSet [] : Object | semmle.label | out : SortedSet [] : Object | +| B.java:794:22:794:49 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:794:41:794:48 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:794:58:794:59 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:794:58:794:66 | last(...) : Object | semmle.label | last(...) : Object | +| B.java:794:74:794:76 | out | semmle.label | out | +| B.java:799:22:799:49 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:799:41:799:48 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:799:58:799:59 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:799:58:799:77 | subSet(...) : SortedSet [] : Object | semmle.label | subSet(...) : SortedSet [] : Object | +| B.java:799:85:799:100 | readElement(...) | semmle.label | readElement(...) | +| B.java:799:97:799:99 | out : SortedSet [] : Object | semmle.label | out : SortedSet [] : Object | +| B.java:804:22:804:49 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:804:41:804:48 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:804:58:804:59 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:804:58:804:73 | tailSet(...) : SortedSet [] : Object | semmle.label | tailSet(...) : SortedSet [] : Object | +| B.java:804:81:804:96 | readElement(...) | semmle.label | readElement(...) | +| B.java:804:93:804:95 | out : SortedSet [] : Object | semmle.label | out : SortedSet [] : Object | +| B.java:809:19:809:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:809:29:809:31 | out [post update] : TransferQueue [] : Object | semmle.label | out [post update] : TransferQueue [] : Object | +| B.java:809:45:809:46 | in : Object | semmle.label | in : Object | +| B.java:809:62:809:77 | readElement(...) | semmle.label | readElement(...) | +| B.java:809:74:809:76 | out : TransferQueue [] : Object | semmle.label | out : TransferQueue [] : Object | +| B.java:814:19:814:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:814:29:814:31 | out [post update] : TransferQueue [] : Object | semmle.label | out [post update] : TransferQueue [] : Object | +| B.java:814:42:814:43 | in : Object | semmle.label | in : Object | +| B.java:814:52:814:67 | readElement(...) | semmle.label | readElement(...) | +| B.java:814:64:814:66 | out : TransferQueue [] : Object | semmle.label | out : TransferQueue [] : Object | +| B.java:819:19:819:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:819:29:819:31 | out [post update] : TransferQueue [] : Object | semmle.label | out [post update] : TransferQueue [] : Object | +| B.java:819:45:819:46 | in : Object | semmle.label | in : Object | +| B.java:819:55:819:70 | readElement(...) | semmle.label | readElement(...) | +| B.java:819:67:819:69 | out : TransferQueue [] : Object | semmle.label | out : TransferQueue [] : Object | +| B.java:824:23:824:48 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:824:40:824:47 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:824:57:824:71 | copyOf(...) : List [] : Object | semmle.label | copyOf(...) : List [] : Object | +| B.java:824:69:824:70 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:824:79:824:94 | readElement(...) | semmle.label | readElement(...) | +| B.java:824:91:824:93 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:829:21:829:47 | storeArrayElement(...) : Object[] [[]] : Object | semmle.label | storeArrayElement(...) : Object[] [[]] : Object | +| B.java:829:39:829:46 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:829:56:829:66 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:829:64:829:65 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| B.java:829:74:829:89 | readElement(...) | semmle.label | readElement(...) | +| B.java:829:86:829:88 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:834:19:834:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:834:35:834:45 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:834:43:834:44 | in : Object | semmle.label | in : Object | +| B.java:834:53:834:68 | readElement(...) | semmle.label | readElement(...) | +| B.java:834:65:834:67 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:839:19:839:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:839:35:839:50 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:839:43:839:44 | in : Object | semmle.label | in : Object | +| B.java:839:58:839:73 | readElement(...) | semmle.label | readElement(...) | +| B.java:839:70:839:72 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:844:19:844:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:844:35:844:50 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:844:48:844:49 | in : Object | semmle.label | in : Object | +| B.java:844:58:844:73 | readElement(...) | semmle.label | readElement(...) | +| B.java:844:70:844:72 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:849:19:849:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:849:35:849:55 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:849:43:849:44 | in : Object | semmle.label | in : Object | +| B.java:849:63:849:78 | readElement(...) | semmle.label | readElement(...) | +| B.java:849:75:849:77 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:854:19:854:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:854:35:854:55 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:854:48:854:49 | in : Object | semmle.label | in : Object | +| B.java:854:63:854:78 | readElement(...) | semmle.label | readElement(...) | +| B.java:854:75:854:77 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:859:19:859:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:859:35:859:55 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:859:53:859:54 | in : Object | semmle.label | in : Object | +| B.java:859:63:859:78 | readElement(...) | semmle.label | readElement(...) | +| B.java:859:75:859:77 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:864:19:864:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:864:35:864:60 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:864:43:864:44 | in : Object | semmle.label | in : Object | +| B.java:864:68:864:83 | readElement(...) | semmle.label | readElement(...) | +| B.java:864:80:864:82 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:869:19:869:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:869:35:869:60 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:869:48:869:49 | in : Object | semmle.label | in : Object | +| B.java:869:68:869:83 | readElement(...) | semmle.label | readElement(...) | +| B.java:869:80:869:82 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:874:19:874:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:874:35:874:60 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:874:53:874:54 | in : Object | semmle.label | in : Object | +| B.java:874:68:874:83 | readElement(...) | semmle.label | readElement(...) | +| B.java:874:80:874:82 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:879:19:879:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:879:35:879:60 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:879:58:879:59 | in : Object | semmle.label | in : Object | +| B.java:879:68:879:83 | readElement(...) | semmle.label | readElement(...) | +| B.java:879:80:879:82 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:884:19:884:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:884:35:884:65 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:884:43:884:44 | in : Object | semmle.label | in : Object | +| B.java:884:73:884:88 | readElement(...) | semmle.label | readElement(...) | +| B.java:884:85:884:87 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:889:19:889:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:889:35:889:65 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:889:48:889:49 | in : Object | semmle.label | in : Object | +| B.java:889:73:889:88 | readElement(...) | semmle.label | readElement(...) | +| B.java:889:85:889:87 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:894:19:894:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:894:35:894:65 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:894:53:894:54 | in : Object | semmle.label | in : Object | +| B.java:894:73:894:88 | readElement(...) | semmle.label | readElement(...) | +| B.java:894:85:894:87 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:899:19:899:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:899:35:899:65 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:899:58:899:59 | in : Object | semmle.label | in : Object | +| B.java:899:73:899:88 | readElement(...) | semmle.label | readElement(...) | +| B.java:899:85:899:87 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:904:19:904:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:904:35:904:65 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:904:63:904:64 | in : Object | semmle.label | in : Object | +| B.java:904:73:904:88 | readElement(...) | semmle.label | readElement(...) | +| B.java:904:85:904:87 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:909:19:909:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:909:35:909:70 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:909:43:909:44 | in : Object | semmle.label | in : Object | +| B.java:909:78:909:93 | readElement(...) | semmle.label | readElement(...) | +| B.java:909:90:909:92 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:914:19:914:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:914:35:914:70 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:914:48:914:49 | in : Object | semmle.label | in : Object | +| B.java:914:78:914:93 | readElement(...) | semmle.label | readElement(...) | +| B.java:914:90:914:92 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:919:19:919:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:919:35:919:70 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:919:53:919:54 | in : Object | semmle.label | in : Object | +| B.java:919:78:919:93 | readElement(...) | semmle.label | readElement(...) | +| B.java:919:90:919:92 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:924:19:924:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:924:35:924:70 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:924:58:924:59 | in : Object | semmle.label | in : Object | +| B.java:924:78:924:93 | readElement(...) | semmle.label | readElement(...) | +| B.java:924:90:924:92 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:929:19:929:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:929:35:929:70 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:929:63:929:64 | in : Object | semmle.label | in : Object | +| B.java:929:78:929:93 | readElement(...) | semmle.label | readElement(...) | +| B.java:929:90:929:92 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:934:19:934:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:934:35:934:70 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:934:68:934:69 | in : Object | semmle.label | in : Object | +| B.java:934:78:934:93 | readElement(...) | semmle.label | readElement(...) | +| B.java:934:90:934:92 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:939:19:939:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:939:35:939:75 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:939:43:939:44 | in : Object | semmle.label | in : Object | +| B.java:939:83:939:98 | readElement(...) | semmle.label | readElement(...) | +| B.java:939:95:939:97 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:944:19:944:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:944:35:944:75 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:944:48:944:49 | in : Object | semmle.label | in : Object | +| B.java:944:83:944:98 | readElement(...) | semmle.label | readElement(...) | +| B.java:944:95:944:97 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:949:19:949:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:949:35:949:75 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:949:53:949:54 | in : Object | semmle.label | in : Object | +| B.java:949:83:949:98 | readElement(...) | semmle.label | readElement(...) | +| B.java:949:95:949:97 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:954:19:954:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:954:35:954:75 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:954:58:954:59 | in : Object | semmle.label | in : Object | +| B.java:954:83:954:98 | readElement(...) | semmle.label | readElement(...) | +| B.java:954:95:954:97 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:959:19:959:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:959:35:959:75 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:959:63:959:64 | in : Object | semmle.label | in : Object | +| B.java:959:83:959:98 | readElement(...) | semmle.label | readElement(...) | +| B.java:959:95:959:97 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:964:19:964:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:964:35:964:75 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:964:68:964:69 | in : Object | semmle.label | in : Object | +| B.java:964:83:964:98 | readElement(...) | semmle.label | readElement(...) | +| B.java:964:95:964:97 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:969:19:969:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:969:35:969:75 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:969:73:969:74 | in : Object | semmle.label | in : Object | +| B.java:969:83:969:98 | readElement(...) | semmle.label | readElement(...) | +| B.java:969:95:969:97 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:974:19:974:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:974:35:974:80 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:974:43:974:44 | in : Object | semmle.label | in : Object | +| B.java:974:88:974:103 | readElement(...) | semmle.label | readElement(...) | +| B.java:974:100:974:102 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:979:19:979:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:979:35:979:80 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:979:48:979:49 | in : Object | semmle.label | in : Object | +| B.java:979:88:979:103 | readElement(...) | semmle.label | readElement(...) | +| B.java:979:100:979:102 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:984:19:984:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:984:35:984:80 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:984:53:984:54 | in : Object | semmle.label | in : Object | +| B.java:984:88:984:103 | readElement(...) | semmle.label | readElement(...) | +| B.java:984:100:984:102 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:989:19:989:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:989:35:989:80 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:989:58:989:59 | in : Object | semmle.label | in : Object | +| B.java:989:88:989:103 | readElement(...) | semmle.label | readElement(...) | +| B.java:989:100:989:102 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:994:19:994:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:994:35:994:80 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:994:63:994:64 | in : Object | semmle.label | in : Object | +| B.java:994:88:994:103 | readElement(...) | semmle.label | readElement(...) | +| B.java:994:100:994:102 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:999:19:999:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:999:35:999:80 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:999:68:999:69 | in : Object | semmle.label | in : Object | +| B.java:999:88:999:103 | readElement(...) | semmle.label | readElement(...) | +| B.java:999:100:999:102 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1004:19:1004:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1004:35:1004:80 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1004:73:1004:74 | in : Object | semmle.label | in : Object | +| B.java:1004:88:1004:103 | readElement(...) | semmle.label | readElement(...) | +| B.java:1004:100:1004:102 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1009:19:1009:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1009:35:1009:80 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1009:78:1009:79 | in : Object | semmle.label | in : Object | +| B.java:1009:88:1009:103 | readElement(...) | semmle.label | readElement(...) | +| B.java:1009:100:1009:102 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1014:19:1014:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1014:35:1014:85 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1014:43:1014:44 | in : Object | semmle.label | in : Object | +| B.java:1014:93:1014:108 | readElement(...) | semmle.label | readElement(...) | +| B.java:1014:105:1014:107 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1019:19:1019:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1019:35:1019:85 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1019:48:1019:49 | in : Object | semmle.label | in : Object | +| B.java:1019:93:1019:108 | readElement(...) | semmle.label | readElement(...) | +| B.java:1019:105:1019:107 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1024:19:1024:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1024:35:1024:85 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1024:53:1024:54 | in : Object | semmle.label | in : Object | +| B.java:1024:93:1024:108 | readElement(...) | semmle.label | readElement(...) | +| B.java:1024:105:1024:107 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1029:19:1029:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1029:35:1029:85 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1029:58:1029:59 | in : Object | semmle.label | in : Object | +| B.java:1029:93:1029:108 | readElement(...) | semmle.label | readElement(...) | +| B.java:1029:105:1029:107 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1034:19:1034:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1034:35:1034:85 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1034:63:1034:64 | in : Object | semmle.label | in : Object | +| B.java:1034:93:1034:108 | readElement(...) | semmle.label | readElement(...) | +| B.java:1034:105:1034:107 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1039:19:1039:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1039:35:1039:85 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1039:68:1039:69 | in : Object | semmle.label | in : Object | +| B.java:1039:93:1039:108 | readElement(...) | semmle.label | readElement(...) | +| B.java:1039:105:1039:107 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1044:19:1044:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1044:35:1044:85 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1044:73:1044:74 | in : Object | semmle.label | in : Object | +| B.java:1044:93:1044:108 | readElement(...) | semmle.label | readElement(...) | +| B.java:1044:105:1044:107 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1049:19:1049:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1049:35:1049:85 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1049:78:1049:79 | in : Object | semmle.label | in : Object | +| B.java:1049:93:1049:108 | readElement(...) | semmle.label | readElement(...) | +| B.java:1049:105:1049:107 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1054:19:1054:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1054:35:1054:85 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1054:83:1054:84 | in : Object | semmle.label | in : Object | +| B.java:1054:93:1054:108 | readElement(...) | semmle.label | readElement(...) | +| B.java:1054:105:1054:107 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1059:19:1059:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1059:35:1059:90 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1059:43:1059:44 | in : Object | semmle.label | in : Object | +| B.java:1059:98:1059:113 | readElement(...) | semmle.label | readElement(...) | +| B.java:1059:110:1059:112 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1064:19:1064:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1064:35:1064:90 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1064:48:1064:49 | in : Object | semmle.label | in : Object | +| B.java:1064:98:1064:113 | readElement(...) | semmle.label | readElement(...) | +| B.java:1064:110:1064:112 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1069:19:1069:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1069:35:1069:90 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1069:53:1069:54 | in : Object | semmle.label | in : Object | +| B.java:1069:98:1069:113 | readElement(...) | semmle.label | readElement(...) | +| B.java:1069:110:1069:112 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1074:19:1074:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1074:35:1074:90 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1074:58:1074:59 | in : Object | semmle.label | in : Object | +| B.java:1074:98:1074:113 | readElement(...) | semmle.label | readElement(...) | +| B.java:1074:110:1074:112 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1079:19:1079:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1079:35:1079:90 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1079:63:1079:64 | in : Object | semmle.label | in : Object | +| B.java:1079:98:1079:113 | readElement(...) | semmle.label | readElement(...) | +| B.java:1079:110:1079:112 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1084:19:1084:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1084:35:1084:90 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1084:68:1084:69 | in : Object | semmle.label | in : Object | +| B.java:1084:98:1084:113 | readElement(...) | semmle.label | readElement(...) | +| B.java:1084:110:1084:112 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1089:19:1089:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1089:35:1089:90 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1089:73:1089:74 | in : Object | semmle.label | in : Object | +| B.java:1089:98:1089:113 | readElement(...) | semmle.label | readElement(...) | +| B.java:1089:110:1089:112 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1094:19:1094:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1094:35:1094:90 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1094:78:1094:79 | in : Object | semmle.label | in : Object | +| B.java:1094:98:1094:113 | readElement(...) | semmle.label | readElement(...) | +| B.java:1094:110:1094:112 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1099:19:1099:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1099:35:1099:90 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1099:83:1099:84 | in : Object | semmle.label | in : Object | +| B.java:1099:98:1099:113 | readElement(...) | semmle.label | readElement(...) | +| B.java:1099:110:1099:112 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1104:19:1104:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1104:35:1104:90 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| B.java:1104:88:1104:89 | in : Object | semmle.label | in : Object | +| B.java:1104:98:1104:113 | readElement(...) | semmle.label | readElement(...) | +| B.java:1104:110:1104:112 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1109:19:1109:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:1109:31:1109:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1109:48:1109:66 | copyOf(...) : Map [] : Object | semmle.label | copyOf(...) : Map [] : Object | +| B.java:1109:59:1109:65 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:1109:74:1109:88 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1109:85:1109:87 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1114:19:1114:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1114:33:1114:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1114:50:1114:68 | copyOf(...) : Map [] : Object | semmle.label | copyOf(...) : Map [] : Object | +| B.java:1114:61:1114:67 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:1114:76:1114:92 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1114:89:1114:91 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1119:19:1119:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1119:35:1119:52 | entry(...) : Entry [] : Object | semmle.label | entry(...) : Entry [] : Object | +| B.java:1119:45:1119:46 | in : Object | semmle.label | in : Object | +| B.java:1119:60:1119:74 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1119:71:1119:73 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:1124:19:1124:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1124:35:1124:52 | entry(...) : Entry [] : Object | semmle.label | entry(...) : Entry [] : Object | +| B.java:1124:50:1124:51 | in : Object | semmle.label | in : Object | +| B.java:1124:60:1124:76 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1124:73:1124:75 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:1129:19:1129:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1129:35:1129:49 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1129:42:1129:43 | in : Object | semmle.label | in : Object | +| B.java:1129:57:1129:71 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1129:68:1129:70 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1134:19:1134:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1134:35:1134:49 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1134:47:1134:48 | in : Object | semmle.label | in : Object | +| B.java:1134:57:1134:73 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1134:70:1134:72 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1139:19:1139:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1139:35:1139:59 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1139:52:1139:53 | in : Object | semmle.label | in : Object | +| B.java:1139:67:1139:81 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1139:78:1139:80 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1144:19:1144:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1144:35:1144:59 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1144:57:1144:58 | in : Object | semmle.label | in : Object | +| B.java:1144:67:1144:83 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1144:80:1144:82 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1149:19:1149:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1149:35:1149:69 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1149:62:1149:63 | in : Object | semmle.label | in : Object | +| B.java:1149:77:1149:91 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1149:88:1149:90 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1154:19:1154:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1154:35:1154:69 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1154:67:1154:68 | in : Object | semmle.label | in : Object | +| B.java:1154:77:1154:93 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1154:90:1154:92 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1159:19:1159:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1159:35:1159:79 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1159:72:1159:73 | in : Object | semmle.label | in : Object | +| B.java:1159:87:1159:101 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1159:98:1159:100 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1164:19:1164:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1164:35:1164:79 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1164:77:1164:78 | in : Object | semmle.label | in : Object | +| B.java:1164:87:1164:103 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1164:100:1164:102 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1169:19:1169:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1169:35:1169:89 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1169:82:1169:83 | in : Object | semmle.label | in : Object | +| B.java:1169:97:1169:111 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1169:108:1169:110 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1174:19:1174:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1174:35:1174:89 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1174:87:1174:88 | in : Object | semmle.label | in : Object | +| B.java:1174:97:1174:113 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1174:110:1174:112 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1179:19:1179:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1179:35:1179:99 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1179:92:1179:93 | in : Object | semmle.label | in : Object | +| B.java:1179:107:1179:121 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1179:118:1179:120 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1184:19:1184:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1184:35:1184:99 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1184:97:1184:98 | in : Object | semmle.label | in : Object | +| B.java:1184:107:1184:123 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1184:120:1184:122 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1189:19:1189:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1189:35:1189:109 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1189:102:1189:103 | in : Object | semmle.label | in : Object | +| B.java:1189:117:1189:131 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1189:128:1189:130 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1194:19:1194:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1194:35:1194:109 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1194:107:1194:108 | in : Object | semmle.label | in : Object | +| B.java:1194:117:1194:133 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1194:130:1194:132 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1199:19:1199:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1199:35:1199:119 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1199:112:1199:113 | in : Object | semmle.label | in : Object | +| B.java:1199:127:1199:141 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1199:138:1199:140 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1204:19:1204:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1204:35:1204:119 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1204:117:1204:118 | in : Object | semmle.label | in : Object | +| B.java:1204:127:1204:143 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1204:140:1204:142 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1209:19:1209:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1209:35:1209:129 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1209:122:1209:123 | in : Object | semmle.label | in : Object | +| B.java:1209:137:1209:151 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1209:148:1209:150 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1214:19:1214:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1214:35:1214:129 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1214:127:1214:128 | in : Object | semmle.label | in : Object | +| B.java:1214:137:1214:153 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1214:150:1214:152 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1219:19:1219:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1219:35:1219:139 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1219:132:1219:133 | in : Object | semmle.label | in : Object | +| B.java:1219:147:1219:161 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1219:158:1219:160 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1224:19:1224:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1224:35:1224:139 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| B.java:1224:137:1224:138 | in : Object | semmle.label | in : Object | +| B.java:1224:147:1224:163 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1224:160:1224:162 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1229:21:1229:60 | storeArrayElement(...) : Object[] [[], ] : Object | semmle.label | storeArrayElement(...) : Object[] [[], ] : Object | +| B.java:1229:39:1229:59 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:1229:51:1229:58 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1229:69:1229:98 | ofEntries(...) : Map [] : Object | semmle.label | ofEntries(...) : Map [] : Object | +| B.java:1229:83:1229:97 | (...)... : Entry[] [[], ] : Object | semmle.label | (...)... : Entry[] [[], ] : Object | +| B.java:1229:106:1229:120 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1229:117:1229:119 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1234:21:1234:62 | storeArrayElement(...) : Object[] [[], ] : Object | semmle.label | storeArrayElement(...) : Object[] [[], ] : Object | +| B.java:1234:39:1234:61 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1234:53:1234:60 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1234:71:1234:100 | ofEntries(...) : Map [] : Object | semmle.label | ofEntries(...) : Map [] : Object | +| B.java:1234:85:1234:99 | (...)... : Entry[] [[], ] : Object | semmle.label | (...)... : Entry[] [[], ] : Object | +| B.java:1234:108:1234:124 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1234:121:1234:123 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1244:16:1244:28 | (...)... : Set | semmle.label | (...)... : Set | +| B.java:1244:21:1244:28 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1244:41:1244:43 | out : Set | semmle.label | out : Set | +| B.java:1244:41:1244:43 | out [post update] : Set | semmle.label | out [post update] : Set | +| B.java:1244:59:1244:61 | out | semmle.label | out | +| B.java:1249:23:1249:48 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:1249:40:1249:47 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1249:57:1249:70 | copyOf(...) : Set [] : Object | semmle.label | copyOf(...) : Set [] : Object | +| B.java:1249:68:1249:69 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:1249:78:1249:93 | readElement(...) | semmle.label | readElement(...) | +| B.java:1249:90:1249:92 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1254:21:1254:47 | storeArrayElement(...) : Object[] [[]] : Object | semmle.label | storeArrayElement(...) : Object[] [[]] : Object | +| B.java:1254:39:1254:46 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1254:56:1254:65 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1254:63:1254:64 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| B.java:1254:73:1254:88 | readElement(...) | semmle.label | readElement(...) | +| B.java:1254:85:1254:87 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1259:19:1259:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1259:35:1259:44 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1259:42:1259:43 | in : Object | semmle.label | in : Object | +| B.java:1259:52:1259:67 | readElement(...) | semmle.label | readElement(...) | +| B.java:1259:64:1259:66 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1264:19:1264:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1264:35:1264:49 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1264:42:1264:43 | in : Object | semmle.label | in : Object | +| B.java:1264:57:1264:72 | readElement(...) | semmle.label | readElement(...) | +| B.java:1264:69:1264:71 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1269:19:1269:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1269:35:1269:49 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1269:47:1269:48 | in : Object | semmle.label | in : Object | +| B.java:1269:57:1269:72 | readElement(...) | semmle.label | readElement(...) | +| B.java:1269:69:1269:71 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1274:19:1274:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1274:35:1274:54 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1274:42:1274:43 | in : Object | semmle.label | in : Object | +| B.java:1274:62:1274:77 | readElement(...) | semmle.label | readElement(...) | +| B.java:1274:74:1274:76 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1279:19:1279:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1279:35:1279:54 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1279:47:1279:48 | in : Object | semmle.label | in : Object | +| B.java:1279:62:1279:77 | readElement(...) | semmle.label | readElement(...) | +| B.java:1279:74:1279:76 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1284:19:1284:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1284:35:1284:54 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1284:52:1284:53 | in : Object | semmle.label | in : Object | +| B.java:1284:62:1284:77 | readElement(...) | semmle.label | readElement(...) | +| B.java:1284:74:1284:76 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1289:19:1289:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1289:35:1289:59 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1289:42:1289:43 | in : Object | semmle.label | in : Object | +| B.java:1289:67:1289:82 | readElement(...) | semmle.label | readElement(...) | +| B.java:1289:79:1289:81 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1294:19:1294:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1294:35:1294:59 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1294:47:1294:48 | in : Object | semmle.label | in : Object | +| B.java:1294:67:1294:82 | readElement(...) | semmle.label | readElement(...) | +| B.java:1294:79:1294:81 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1299:19:1299:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1299:35:1299:59 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1299:52:1299:53 | in : Object | semmle.label | in : Object | +| B.java:1299:67:1299:82 | readElement(...) | semmle.label | readElement(...) | +| B.java:1299:79:1299:81 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1304:19:1304:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1304:35:1304:59 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1304:57:1304:58 | in : Object | semmle.label | in : Object | +| B.java:1304:67:1304:82 | readElement(...) | semmle.label | readElement(...) | +| B.java:1304:79:1304:81 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1309:19:1309:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1309:35:1309:64 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1309:42:1309:43 | in : Object | semmle.label | in : Object | +| B.java:1309:72:1309:87 | readElement(...) | semmle.label | readElement(...) | +| B.java:1309:84:1309:86 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1314:19:1314:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1314:35:1314:64 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1314:47:1314:48 | in : Object | semmle.label | in : Object | +| B.java:1314:72:1314:87 | readElement(...) | semmle.label | readElement(...) | +| B.java:1314:84:1314:86 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1319:19:1319:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1319:35:1319:64 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1319:52:1319:53 | in : Object | semmle.label | in : Object | +| B.java:1319:72:1319:87 | readElement(...) | semmle.label | readElement(...) | +| B.java:1319:84:1319:86 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1324:19:1324:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1324:35:1324:64 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1324:57:1324:58 | in : Object | semmle.label | in : Object | +| B.java:1324:72:1324:87 | readElement(...) | semmle.label | readElement(...) | +| B.java:1324:84:1324:86 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1329:19:1329:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1329:35:1329:64 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1329:62:1329:63 | in : Object | semmle.label | in : Object | +| B.java:1329:72:1329:87 | readElement(...) | semmle.label | readElement(...) | +| B.java:1329:84:1329:86 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1334:19:1334:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1334:35:1334:69 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1334:42:1334:43 | in : Object | semmle.label | in : Object | +| B.java:1334:77:1334:92 | readElement(...) | semmle.label | readElement(...) | +| B.java:1334:89:1334:91 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1339:19:1339:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1339:35:1339:69 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1339:47:1339:48 | in : Object | semmle.label | in : Object | +| B.java:1339:77:1339:92 | readElement(...) | semmle.label | readElement(...) | +| B.java:1339:89:1339:91 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1344:19:1344:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1344:35:1344:69 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1344:52:1344:53 | in : Object | semmle.label | in : Object | +| B.java:1344:77:1344:92 | readElement(...) | semmle.label | readElement(...) | +| B.java:1344:89:1344:91 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1349:19:1349:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1349:35:1349:69 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1349:57:1349:58 | in : Object | semmle.label | in : Object | +| B.java:1349:77:1349:92 | readElement(...) | semmle.label | readElement(...) | +| B.java:1349:89:1349:91 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1354:19:1354:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1354:35:1354:69 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1354:62:1354:63 | in : Object | semmle.label | in : Object | +| B.java:1354:77:1354:92 | readElement(...) | semmle.label | readElement(...) | +| B.java:1354:89:1354:91 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1359:19:1359:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1359:35:1359:69 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1359:67:1359:68 | in : Object | semmle.label | in : Object | +| B.java:1359:77:1359:92 | readElement(...) | semmle.label | readElement(...) | +| B.java:1359:89:1359:91 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1364:19:1364:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1364:35:1364:74 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1364:42:1364:43 | in : Object | semmle.label | in : Object | +| B.java:1364:82:1364:97 | readElement(...) | semmle.label | readElement(...) | +| B.java:1364:94:1364:96 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1369:19:1369:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1369:35:1369:74 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1369:47:1369:48 | in : Object | semmle.label | in : Object | +| B.java:1369:82:1369:97 | readElement(...) | semmle.label | readElement(...) | +| B.java:1369:94:1369:96 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1374:19:1374:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1374:35:1374:74 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1374:52:1374:53 | in : Object | semmle.label | in : Object | +| B.java:1374:82:1374:97 | readElement(...) | semmle.label | readElement(...) | +| B.java:1374:94:1374:96 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1379:19:1379:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1379:35:1379:74 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1379:57:1379:58 | in : Object | semmle.label | in : Object | +| B.java:1379:82:1379:97 | readElement(...) | semmle.label | readElement(...) | +| B.java:1379:94:1379:96 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1384:19:1384:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1384:35:1384:74 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1384:62:1384:63 | in : Object | semmle.label | in : Object | +| B.java:1384:82:1384:97 | readElement(...) | semmle.label | readElement(...) | +| B.java:1384:94:1384:96 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1389:19:1389:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1389:35:1389:74 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1389:67:1389:68 | in : Object | semmle.label | in : Object | +| B.java:1389:82:1389:97 | readElement(...) | semmle.label | readElement(...) | +| B.java:1389:94:1389:96 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1394:19:1394:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1394:35:1394:74 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1394:72:1394:73 | in : Object | semmle.label | in : Object | +| B.java:1394:82:1394:97 | readElement(...) | semmle.label | readElement(...) | +| B.java:1394:94:1394:96 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1399:19:1399:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1399:35:1399:79 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1399:42:1399:43 | in : Object | semmle.label | in : Object | +| B.java:1399:87:1399:102 | readElement(...) | semmle.label | readElement(...) | +| B.java:1399:99:1399:101 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1404:19:1404:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1404:35:1404:79 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1404:47:1404:48 | in : Object | semmle.label | in : Object | +| B.java:1404:87:1404:102 | readElement(...) | semmle.label | readElement(...) | +| B.java:1404:99:1404:101 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1409:19:1409:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1409:35:1409:79 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1409:52:1409:53 | in : Object | semmle.label | in : Object | +| B.java:1409:87:1409:102 | readElement(...) | semmle.label | readElement(...) | +| B.java:1409:99:1409:101 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1414:19:1414:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1414:35:1414:79 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1414:57:1414:58 | in : Object | semmle.label | in : Object | +| B.java:1414:87:1414:102 | readElement(...) | semmle.label | readElement(...) | +| B.java:1414:99:1414:101 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1419:19:1419:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1419:35:1419:79 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1419:62:1419:63 | in : Object | semmle.label | in : Object | +| B.java:1419:87:1419:102 | readElement(...) | semmle.label | readElement(...) | +| B.java:1419:99:1419:101 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1424:19:1424:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1424:35:1424:79 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1424:67:1424:68 | in : Object | semmle.label | in : Object | +| B.java:1424:87:1424:102 | readElement(...) | semmle.label | readElement(...) | +| B.java:1424:99:1424:101 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1429:19:1429:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1429:35:1429:79 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1429:72:1429:73 | in : Object | semmle.label | in : Object | +| B.java:1429:87:1429:102 | readElement(...) | semmle.label | readElement(...) | +| B.java:1429:99:1429:101 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1434:19:1434:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1434:35:1434:79 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1434:77:1434:78 | in : Object | semmle.label | in : Object | +| B.java:1434:87:1434:102 | readElement(...) | semmle.label | readElement(...) | +| B.java:1434:99:1434:101 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1439:19:1439:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1439:35:1439:84 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1439:42:1439:43 | in : Object | semmle.label | in : Object | +| B.java:1439:92:1439:107 | readElement(...) | semmle.label | readElement(...) | +| B.java:1439:104:1439:106 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1444:19:1444:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1444:35:1444:84 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1444:47:1444:48 | in : Object | semmle.label | in : Object | +| B.java:1444:92:1444:107 | readElement(...) | semmle.label | readElement(...) | +| B.java:1444:104:1444:106 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1449:19:1449:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1449:35:1449:84 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1449:52:1449:53 | in : Object | semmle.label | in : Object | +| B.java:1449:92:1449:107 | readElement(...) | semmle.label | readElement(...) | +| B.java:1449:104:1449:106 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1454:19:1454:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1454:35:1454:84 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1454:57:1454:58 | in : Object | semmle.label | in : Object | +| B.java:1454:92:1454:107 | readElement(...) | semmle.label | readElement(...) | +| B.java:1454:104:1454:106 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1459:19:1459:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1459:35:1459:84 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1459:62:1459:63 | in : Object | semmle.label | in : Object | +| B.java:1459:92:1459:107 | readElement(...) | semmle.label | readElement(...) | +| B.java:1459:104:1459:106 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1464:19:1464:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1464:35:1464:84 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1464:67:1464:68 | in : Object | semmle.label | in : Object | +| B.java:1464:92:1464:107 | readElement(...) | semmle.label | readElement(...) | +| B.java:1464:104:1464:106 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1469:19:1469:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1469:35:1469:84 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1469:72:1469:73 | in : Object | semmle.label | in : Object | +| B.java:1469:92:1469:107 | readElement(...) | semmle.label | readElement(...) | +| B.java:1469:104:1469:106 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1474:19:1474:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1474:35:1474:84 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1474:77:1474:78 | in : Object | semmle.label | in : Object | +| B.java:1474:92:1474:107 | readElement(...) | semmle.label | readElement(...) | +| B.java:1474:104:1474:106 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1479:19:1479:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1479:35:1479:84 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1479:82:1479:83 | in : Object | semmle.label | in : Object | +| B.java:1479:92:1479:107 | readElement(...) | semmle.label | readElement(...) | +| B.java:1479:104:1479:106 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1484:19:1484:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1484:35:1484:89 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1484:42:1484:43 | in : Object | semmle.label | in : Object | +| B.java:1484:97:1484:112 | readElement(...) | semmle.label | readElement(...) | +| B.java:1484:109:1484:111 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1489:19:1489:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1489:35:1489:89 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1489:47:1489:48 | in : Object | semmle.label | in : Object | +| B.java:1489:97:1489:112 | readElement(...) | semmle.label | readElement(...) | +| B.java:1489:109:1489:111 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1494:19:1494:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1494:35:1494:89 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1494:52:1494:53 | in : Object | semmle.label | in : Object | +| B.java:1494:97:1494:112 | readElement(...) | semmle.label | readElement(...) | +| B.java:1494:109:1494:111 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1499:19:1499:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1499:35:1499:89 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1499:57:1499:58 | in : Object | semmle.label | in : Object | +| B.java:1499:97:1499:112 | readElement(...) | semmle.label | readElement(...) | +| B.java:1499:109:1499:111 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1504:19:1504:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1504:35:1504:89 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1504:62:1504:63 | in : Object | semmle.label | in : Object | +| B.java:1504:97:1504:112 | readElement(...) | semmle.label | readElement(...) | +| B.java:1504:109:1504:111 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1509:19:1509:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1509:35:1509:89 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1509:67:1509:68 | in : Object | semmle.label | in : Object | +| B.java:1509:97:1509:112 | readElement(...) | semmle.label | readElement(...) | +| B.java:1509:109:1509:111 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1514:19:1514:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1514:35:1514:89 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1514:72:1514:73 | in : Object | semmle.label | in : Object | +| B.java:1514:97:1514:112 | readElement(...) | semmle.label | readElement(...) | +| B.java:1514:109:1514:111 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1519:19:1519:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1519:35:1519:89 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1519:77:1519:78 | in : Object | semmle.label | in : Object | +| B.java:1519:97:1519:112 | readElement(...) | semmle.label | readElement(...) | +| B.java:1519:109:1519:111 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1524:19:1524:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1524:35:1524:89 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1524:82:1524:83 | in : Object | semmle.label | in : Object | +| B.java:1524:97:1524:112 | readElement(...) | semmle.label | readElement(...) | +| B.java:1524:109:1524:111 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1529:19:1529:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1529:35:1529:89 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| B.java:1529:87:1529:88 | in : Object | semmle.label | in : Object | +| B.java:1529:97:1529:112 | readElement(...) | semmle.label | readElement(...) | +| B.java:1529:109:1529:111 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1534:21:1534:47 | storeArrayElement(...) : Object[] [[]] : Object | semmle.label | storeArrayElement(...) : Object[] [[]] : Object | +| B.java:1534:39:1534:46 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1534:56:1534:80 | stream(...) : Stream [] : Object | semmle.label | stream(...) : Stream [] : Object | +| B.java:1534:78:1534:79 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| B.java:1534:88:1534:103 | readElement(...) | semmle.label | readElement(...) | +| B.java:1534:100:1534:102 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| B.java:1539:21:1539:47 | storeArrayElement(...) : Object[] [[]] : Object | semmle.label | storeArrayElement(...) : Object[] [[]] : Object | +| B.java:1539:39:1539:46 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1539:56:1539:85 | spliterator(...) : Spliterator [] : Object | semmle.label | spliterator(...) : Spliterator [] : Object | +| B.java:1539:83:1539:84 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| B.java:1539:93:1539:108 | readElement(...) | semmle.label | readElement(...) | +| B.java:1539:105:1539:107 | out : Spliterator [] : Object | semmle.label | out : Spliterator [] : Object | +| B.java:1544:21:1544:47 | storeArrayElement(...) : Object[] [[]] : Object | semmle.label | storeArrayElement(...) : Object[] [[]] : Object | +| B.java:1544:39:1544:46 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1544:56:1544:89 | copyOfRange(...) : Object[] [[]] : Object | semmle.label | copyOfRange(...) : Object[] [[]] : Object | +| B.java:1544:83:1544:84 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| B.java:1544:97:1544:117 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1544:114:1544:116 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| B.java:1549:21:1549:47 | storeArrayElement(...) : Object[] [[]] : Object | semmle.label | storeArrayElement(...) : Object[] [[]] : Object | +| B.java:1549:39:1549:46 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1549:56:1549:82 | copyOf(...) : Object[] [[]] : Object | semmle.label | copyOf(...) : Object[] [[]] : Object | +| B.java:1549:78:1549:79 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| B.java:1549:90:1549:110 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1549:107:1549:109 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| B.java:1554:24:1554:56 | storeElementEnumeration(...) : Enumeration [] : Object | semmle.label | storeElementEnumeration(...) : Enumeration [] : Object | +| B.java:1554:48:1554:55 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1554:65:1554:92 | list(...) : ArrayList [] : Object | semmle.label | list(...) : ArrayList [] : Object | +| B.java:1554:90:1554:91 | in : Enumeration [] : Object | semmle.label | in : Enumeration [] : Object | +| B.java:1554:100:1554:115 | readElement(...) | semmle.label | readElement(...) | +| B.java:1554:112:1554:114 | out : ArrayList [] : Object | semmle.label | out : ArrayList [] : Object | +| B.java:1559:23:1559:48 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:1559:40:1559:47 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1559:57:1559:91 | enumeration(...) : Enumeration [] : Object | semmle.label | enumeration(...) : Enumeration [] : Object | +| B.java:1559:89:1559:90 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:1559:99:1559:114 | readElement(...) | semmle.label | readElement(...) | +| B.java:1559:111:1559:113 | out : Enumeration [] : Object | semmle.label | out : Enumeration [] : Object | +| B.java:1564:19:1564:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1564:35:1564:67 | nCopies(...) : List [] : Object | semmle.label | nCopies(...) : List [] : Object | +| B.java:1564:65:1564:66 | in : Object | semmle.label | in : Object | +| B.java:1564:75:1564:90 | readElement(...) | semmle.label | readElement(...) | +| B.java:1564:87:1564:89 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1569:19:1569:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1569:35:1569:75 | singletonMap(...) : Map [] : Object | semmle.label | singletonMap(...) : Map [] : Object | +| B.java:1569:68:1569:69 | in : Object | semmle.label | in : Object | +| B.java:1569:83:1569:97 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1569:94:1569:96 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1574:19:1574:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1574:35:1574:75 | singletonMap(...) : Map [] : Object | semmle.label | singletonMap(...) : Map [] : Object | +| B.java:1574:73:1574:74 | in : Object | semmle.label | in : Object | +| B.java:1574:83:1574:99 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1574:96:1574:98 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1579:19:1579:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1579:35:1579:71 | singletonList(...) : List [] : Object | semmle.label | singletonList(...) : List [] : Object | +| B.java:1579:69:1579:70 | in : Object | semmle.label | in : Object | +| B.java:1579:79:1579:94 | readElement(...) | semmle.label | readElement(...) | +| B.java:1579:91:1579:93 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1584:19:1584:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1584:35:1584:67 | singleton(...) : Set [] : Object | semmle.label | singleton(...) : Set [] : Object | +| B.java:1584:65:1584:66 | in : Object | semmle.label | in : Object | +| B.java:1584:75:1584:90 | readElement(...) | semmle.label | readElement(...) | +| B.java:1584:87:1584:89 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1589:19:1589:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:1589:31:1589:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1589:48:1589:114 | checkedNavigableMap(...) : NavigableMap [] : Object | semmle.label | checkedNavigableMap(...) : NavigableMap [] : Object | +| B.java:1589:88:1589:103 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:1589:122:1589:136 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1589:133:1589:135 | out : NavigableMap [] : Object | semmle.label | out : NavigableMap [] : Object | +| B.java:1594:19:1594:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1594:33:1594:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1594:50:1594:116 | checkedNavigableMap(...) : NavigableMap [] : Object | semmle.label | checkedNavigableMap(...) : NavigableMap [] : Object | +| B.java:1594:90:1594:105 | (...)... : NavigableMap [] : Object | semmle.label | (...)... : NavigableMap [] : Object | +| B.java:1594:124:1594:140 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1594:137:1594:139 | out : NavigableMap [] : Object | semmle.label | out : NavigableMap [] : Object | +| B.java:1599:19:1599:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:1599:31:1599:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1599:48:1599:108 | checkedSortedMap(...) : SortedMap [] : Object | semmle.label | checkedSortedMap(...) : SortedMap [] : Object | +| B.java:1599:85:1599:97 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:1599:116:1599:130 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1599:127:1599:129 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| B.java:1604:19:1604:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1604:33:1604:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1604:50:1604:110 | checkedSortedMap(...) : SortedMap [] : Object | semmle.label | checkedSortedMap(...) : SortedMap [] : Object | +| B.java:1604:87:1604:99 | (...)... : SortedMap [] : Object | semmle.label | (...)... : SortedMap [] : Object | +| B.java:1604:118:1604:134 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1604:131:1604:133 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| B.java:1609:19:1609:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:1609:31:1609:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1609:48:1609:96 | checkedMap(...) : Map [] : Object | semmle.label | checkedMap(...) : Map [] : Object | +| B.java:1609:79:1609:85 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:1609:104:1609:118 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1609:115:1609:117 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1614:19:1614:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1614:33:1614:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1614:50:1614:98 | checkedMap(...) : Map [] : Object | semmle.label | checkedMap(...) : Map [] : Object | +| B.java:1614:81:1614:87 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:1614:106:1614:122 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1614:119:1614:121 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1619:17:1619:42 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:1619:34:1619:41 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1619:51:1619:90 | checkedList(...) : List [] : Object | semmle.label | checkedList(...) : List [] : Object | +| B.java:1619:83:1619:84 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:1619:98:1619:113 | readElement(...) | semmle.label | readElement(...) | +| B.java:1619:110:1619:112 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1624:25:1624:52 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1624:44:1624:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1624:61:1624:108 | checkedNavigableSet(...) : NavigableSet [] : Object | semmle.label | checkedNavigableSet(...) : NavigableSet [] : Object | +| B.java:1624:101:1624:102 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:1624:116:1624:131 | readElement(...) | semmle.label | readElement(...) | +| B.java:1624:128:1624:130 | out : NavigableSet [] : Object | semmle.label | out : NavigableSet [] : Object | +| B.java:1629:22:1629:49 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1629:41:1629:48 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1629:58:1629:102 | checkedSortedSet(...) : SortedSet [] : Object | semmle.label | checkedSortedSet(...) : SortedSet [] : Object | +| B.java:1629:95:1629:96 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:1629:110:1629:125 | readElement(...) | semmle.label | readElement(...) | +| B.java:1629:122:1629:124 | out : SortedSet [] : Object | semmle.label | out : SortedSet [] : Object | +| B.java:1634:16:1634:43 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1634:35:1634:42 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1634:52:1634:90 | checkedSet(...) : Set [] : Object | semmle.label | checkedSet(...) : Set [] : Object | +| B.java:1634:83:1634:84 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:1634:98:1634:113 | readElement(...) | semmle.label | readElement(...) | +| B.java:1634:110:1634:112 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1639:23:1639:48 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:1639:40:1639:47 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1639:57:1639:102 | checkedCollection(...) : Collection [] : Object | semmle.label | checkedCollection(...) : Collection [] : Object | +| B.java:1639:95:1639:96 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:1639:110:1639:125 | readElement(...) | semmle.label | readElement(...) | +| B.java:1639:122:1639:124 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| B.java:1644:19:1644:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:1644:31:1644:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1644:48:1644:109 | synchronizedNavigableMap(...) : NavigableMap [] : Object | semmle.label | synchronizedNavigableMap(...) : NavigableMap [] : Object | +| B.java:1644:93:1644:108 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:1644:117:1644:131 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1644:128:1644:130 | out : NavigableMap [] : Object | semmle.label | out : NavigableMap [] : Object | +| B.java:1649:19:1649:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1649:33:1649:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1649:50:1649:111 | synchronizedNavigableMap(...) : NavigableMap [] : Object | semmle.label | synchronizedNavigableMap(...) : NavigableMap [] : Object | +| B.java:1649:95:1649:110 | (...)... : NavigableMap [] : Object | semmle.label | (...)... : NavigableMap [] : Object | +| B.java:1649:119:1649:135 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1649:132:1649:134 | out : NavigableMap [] : Object | semmle.label | out : NavigableMap [] : Object | +| B.java:1654:19:1654:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:1654:31:1654:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1654:48:1654:103 | synchronizedSortedMap(...) : SortedMap [] : Object | semmle.label | synchronizedSortedMap(...) : SortedMap [] : Object | +| B.java:1654:90:1654:102 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:1654:111:1654:125 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1654:122:1654:124 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| B.java:1659:19:1659:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1659:33:1659:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1659:50:1659:105 | synchronizedSortedMap(...) : SortedMap [] : Object | semmle.label | synchronizedSortedMap(...) : SortedMap [] : Object | +| B.java:1659:92:1659:104 | (...)... : SortedMap [] : Object | semmle.label | (...)... : SortedMap [] : Object | +| B.java:1659:113:1659:129 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1659:126:1659:128 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| B.java:1664:19:1664:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:1664:31:1664:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1664:48:1664:91 | synchronizedMap(...) : Map [] : Object | semmle.label | synchronizedMap(...) : Map [] : Object | +| B.java:1664:84:1664:90 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:1664:99:1664:113 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1664:110:1664:112 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1669:19:1669:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1669:33:1669:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1669:50:1669:93 | synchronizedMap(...) : Map [] : Object | semmle.label | synchronizedMap(...) : Map [] : Object | +| B.java:1669:86:1669:92 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:1669:101:1669:117 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1669:114:1669:116 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1674:17:1674:42 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:1674:34:1674:41 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1674:51:1674:90 | synchronizedList(...) : List [] : Object | semmle.label | synchronizedList(...) : List [] : Object | +| B.java:1674:88:1674:89 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:1674:98:1674:113 | readElement(...) | semmle.label | readElement(...) | +| B.java:1674:110:1674:112 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1679:25:1679:52 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1679:44:1679:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1679:61:1679:108 | synchronizedNavigableSet(...) : NavigableSet [] : Object | semmle.label | synchronizedNavigableSet(...) : NavigableSet [] : Object | +| B.java:1679:106:1679:107 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:1679:116:1679:131 | readElement(...) | semmle.label | readElement(...) | +| B.java:1679:128:1679:130 | out : NavigableSet [] : Object | semmle.label | out : NavigableSet [] : Object | +| B.java:1684:22:1684:49 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1684:41:1684:48 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1684:58:1684:102 | synchronizedSortedSet(...) : SortedSet [] : Object | semmle.label | synchronizedSortedSet(...) : SortedSet [] : Object | +| B.java:1684:100:1684:101 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:1684:110:1684:125 | readElement(...) | semmle.label | readElement(...) | +| B.java:1684:122:1684:124 | out : SortedSet [] : Object | semmle.label | out : SortedSet [] : Object | +| B.java:1689:16:1689:43 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1689:35:1689:42 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1689:52:1689:90 | synchronizedSet(...) : Set [] : Object | semmle.label | synchronizedSet(...) : Set [] : Object | +| B.java:1689:88:1689:89 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:1689:98:1689:113 | readElement(...) | semmle.label | readElement(...) | +| B.java:1689:110:1689:112 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1694:23:1694:48 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:1694:40:1694:47 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1694:57:1694:102 | synchronizedCollection(...) : Collection [] : Object | semmle.label | synchronizedCollection(...) : Collection [] : Object | +| B.java:1694:100:1694:101 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:1694:110:1694:125 | readElement(...) | semmle.label | readElement(...) | +| B.java:1694:122:1694:124 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| B.java:1699:19:1699:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:1699:31:1699:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1699:48:1699:109 | unmodifiableNavigableMap(...) : NavigableMap [] : Object | semmle.label | unmodifiableNavigableMap(...) : NavigableMap [] : Object | +| B.java:1699:93:1699:108 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:1699:117:1699:131 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1699:128:1699:130 | out : NavigableMap [] : Object | semmle.label | out : NavigableMap [] : Object | +| B.java:1704:19:1704:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1704:33:1704:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1704:50:1704:111 | unmodifiableNavigableMap(...) : NavigableMap [] : Object | semmle.label | unmodifiableNavigableMap(...) : NavigableMap [] : Object | +| B.java:1704:95:1704:110 | (...)... : NavigableMap [] : Object | semmle.label | (...)... : NavigableMap [] : Object | +| B.java:1704:119:1704:135 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1704:132:1704:134 | out : NavigableMap [] : Object | semmle.label | out : NavigableMap [] : Object | +| B.java:1709:19:1709:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:1709:31:1709:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1709:48:1709:103 | unmodifiableSortedMap(...) : SortedMap [] : Object | semmle.label | unmodifiableSortedMap(...) : SortedMap [] : Object | +| B.java:1709:90:1709:102 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:1709:111:1709:125 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1709:122:1709:124 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| B.java:1714:19:1714:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1714:33:1714:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1714:50:1714:105 | unmodifiableSortedMap(...) : SortedMap [] : Object | semmle.label | unmodifiableSortedMap(...) : SortedMap [] : Object | +| B.java:1714:92:1714:104 | (...)... : SortedMap [] : Object | semmle.label | (...)... : SortedMap [] : Object | +| B.java:1714:113:1714:129 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1714:126:1714:128 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| B.java:1719:19:1719:39 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:1719:31:1719:38 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1719:48:1719:91 | unmodifiableMap(...) : Map [] : Object | semmle.label | unmodifiableMap(...) : Map [] : Object | +| B.java:1719:84:1719:90 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:1719:99:1719:113 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1719:110:1719:112 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1724:19:1724:41 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1724:33:1724:40 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1724:50:1724:93 | unmodifiableMap(...) : Map [] : Object | semmle.label | unmodifiableMap(...) : Map [] : Object | +| B.java:1724:86:1724:92 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| B.java:1724:101:1724:117 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1724:114:1724:116 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| B.java:1729:17:1729:42 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:1729:34:1729:41 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1729:51:1729:90 | unmodifiableList(...) : List [] : Object | semmle.label | unmodifiableList(...) : List [] : Object | +| B.java:1729:88:1729:89 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:1729:98:1729:113 | readElement(...) | semmle.label | readElement(...) | +| B.java:1729:110:1729:112 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1734:25:1734:52 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1734:44:1734:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1734:61:1734:108 | unmodifiableNavigableSet(...) : NavigableSet [] : Object | semmle.label | unmodifiableNavigableSet(...) : NavigableSet [] : Object | +| B.java:1734:106:1734:107 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:1734:116:1734:131 | readElement(...) | semmle.label | readElement(...) | +| B.java:1734:128:1734:130 | out : NavigableSet [] : Object | semmle.label | out : NavigableSet [] : Object | +| B.java:1739:22:1739:49 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1739:41:1739:48 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1739:58:1739:102 | unmodifiableSortedSet(...) : SortedSet [] : Object | semmle.label | unmodifiableSortedSet(...) : SortedSet [] : Object | +| B.java:1739:100:1739:101 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:1739:110:1739:125 | readElement(...) | semmle.label | readElement(...) | +| B.java:1739:122:1739:124 | out : SortedSet [] : Object | semmle.label | out : SortedSet [] : Object | +| B.java:1744:16:1744:43 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1744:35:1744:42 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1744:52:1744:90 | unmodifiableSet(...) : Set [] : Object | semmle.label | unmodifiableSet(...) : Set [] : Object | +| B.java:1744:88:1744:89 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:1744:98:1744:113 | readElement(...) | semmle.label | readElement(...) | +| B.java:1744:110:1744:112 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| B.java:1749:23:1749:48 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:1749:40:1749:47 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1749:57:1749:102 | unmodifiableCollection(...) : Collection [] : Object | semmle.label | unmodifiableCollection(...) : Collection [] : Object | +| B.java:1749:100:1749:101 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:1749:110:1749:125 | readElement(...) | semmle.label | readElement(...) | +| B.java:1749:122:1749:124 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| B.java:1754:23:1754:48 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:1754:40:1754:47 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1754:57:1754:83 | max(...) : Comparable | semmle.label | max(...) : Comparable | +| B.java:1754:81:1754:82 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:1754:91:1754:93 | out | semmle.label | out | +| B.java:1759:23:1759:48 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:1759:40:1759:47 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1759:57:1759:83 | min(...) : Comparable | semmle.label | min(...) : Comparable | +| B.java:1759:81:1759:82 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:1759:91:1759:93 | out | semmle.label | out | +| B.java:1764:19:1764:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1764:49:1764:51 | out [post update] : Object[] [[]] : Object | semmle.label | out [post update] : Object[] [[]] : Object | +| B.java:1764:57:1764:58 | in : Object | semmle.label | in : Object | +| B.java:1764:67:1764:87 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1764:84:1764:86 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| B.java:1769:19:1769:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1769:49:1769:51 | out [post update] : Object[] [[]] : Object | semmle.label | out [post update] : Object[] [[]] : Object | +| B.java:1769:53:1769:54 | in : Object | semmle.label | in : Object | +| B.java:1769:63:1769:83 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1769:80:1769:82 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| B.java:1774:18:1774:32 | (...)... : Number | semmle.label | (...)... : Number | +| B.java:1774:25:1774:32 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1774:55:1774:57 | out [post update] : float[] [[]] : Number | semmle.label | out [post update] : float[] [[]] : Number | +| B.java:1774:63:1774:64 | in : Number | semmle.label | in : Number | +| B.java:1774:73:1774:93 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1774:90:1774:92 | out : float[] [[]] : Number | semmle.label | out : float[] [[]] : Number | +| B.java:1779:18:1779:32 | (...)... : Number | semmle.label | (...)... : Number | +| B.java:1779:25:1779:32 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1779:55:1779:57 | out [post update] : float[] [[]] : Number | semmle.label | out [post update] : float[] [[]] : Number | +| B.java:1779:59:1779:60 | in : Number | semmle.label | in : Number | +| B.java:1779:69:1779:89 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1779:86:1779:88 | out : float[] [[]] : Number | semmle.label | out : float[] [[]] : Number | +| B.java:1784:19:1784:34 | (...)... : Number | semmle.label | (...)... : Number | +| B.java:1784:27:1784:34 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1784:57:1784:59 | out [post update] : double[] [[]] : Number | semmle.label | out [post update] : double[] [[]] : Number | +| B.java:1784:65:1784:66 | in : Number | semmle.label | in : Number | +| B.java:1784:75:1784:95 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1784:92:1784:94 | out : double[] [[]] : Number | semmle.label | out : double[] [[]] : Number | +| B.java:1789:19:1789:34 | (...)... : Number | semmle.label | (...)... : Number | +| B.java:1789:27:1789:34 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1789:57:1789:59 | out [post update] : double[] [[]] : Number | semmle.label | out [post update] : double[] [[]] : Number | +| B.java:1789:61:1789:62 | in : Number | semmle.label | in : Number | +| B.java:1789:71:1789:91 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1789:88:1789:90 | out : double[] [[]] : Number | semmle.label | out : double[] [[]] : Number | +| B.java:1794:20:1794:36 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| B.java:1794:29:1794:36 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1794:59:1794:61 | out [post update] : boolean[] [[]] : Boolean | semmle.label | out [post update] : boolean[] [[]] : Boolean | +| B.java:1794:67:1794:68 | in : Boolean | semmle.label | in : Boolean | +| B.java:1794:77:1794:97 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1794:94:1794:96 | out : boolean[] [[]] : Boolean | semmle.label | out : boolean[] [[]] : Boolean | +| B.java:1799:20:1799:36 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| B.java:1799:29:1799:36 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1799:59:1799:61 | out [post update] : boolean[] [[]] : Boolean | semmle.label | out [post update] : boolean[] [[]] : Boolean | +| B.java:1799:63:1799:64 | in : Boolean | semmle.label | in : Boolean | +| B.java:1799:73:1799:93 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1799:90:1799:92 | out : boolean[] [[]] : Boolean | semmle.label | out : boolean[] [[]] : Boolean | +| B.java:1804:17:1804:30 | (...)... : Number | semmle.label | (...)... : Number | +| B.java:1804:23:1804:30 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1804:53:1804:55 | out [post update] : byte[] [[]] : Number | semmle.label | out [post update] : byte[] [[]] : Number | +| B.java:1804:61:1804:62 | in : Number | semmle.label | in : Number | +| B.java:1804:71:1804:91 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1804:88:1804:90 | out : byte[] [[]] : Number | semmle.label | out : byte[] [[]] : Number | +| B.java:1809:17:1809:30 | (...)... : Number | semmle.label | (...)... : Number | +| B.java:1809:23:1809:30 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1809:53:1809:55 | out [post update] : byte[] [[]] : Number | semmle.label | out [post update] : byte[] [[]] : Number | +| B.java:1809:57:1809:58 | in : Number | semmle.label | in : Number | +| B.java:1809:67:1809:87 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1809:84:1809:86 | out : byte[] [[]] : Number | semmle.label | out : byte[] [[]] : Number | +| B.java:1814:17:1814:35 | (...)... : Number | semmle.label | (...)... : Number | +| B.java:1814:28:1814:35 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1814:58:1814:60 | out [post update] : char[] [[]] : Number | semmle.label | out [post update] : char[] [[]] : Number | +| B.java:1814:66:1814:67 | in : Number | semmle.label | in : Number | +| B.java:1814:76:1814:96 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1814:93:1814:95 | out : char[] [[]] : Number | semmle.label | out : char[] [[]] : Number | +| B.java:1819:17:1819:35 | (...)... : Number | semmle.label | (...)... : Number | +| B.java:1819:28:1819:35 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1819:58:1819:60 | out [post update] : char[] [[]] : Number | semmle.label | out [post update] : char[] [[]] : Number | +| B.java:1819:62:1819:63 | in : Number | semmle.label | in : Number | +| B.java:1819:72:1819:92 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1819:89:1819:91 | out : char[] [[]] : Number | semmle.label | out : char[] [[]] : Number | +| B.java:1824:18:1824:32 | (...)... : Number | semmle.label | (...)... : Number | +| B.java:1824:25:1824:32 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1824:55:1824:57 | out [post update] : short[] [[]] : Number | semmle.label | out [post update] : short[] [[]] : Number | +| B.java:1824:63:1824:64 | in : Number | semmle.label | in : Number | +| B.java:1824:73:1824:93 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1824:90:1824:92 | out : short[] [[]] : Number | semmle.label | out : short[] [[]] : Number | +| B.java:1829:18:1829:32 | (...)... : Number | semmle.label | (...)... : Number | +| B.java:1829:25:1829:32 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1829:55:1829:57 | out [post update] : short[] [[]] : Number | semmle.label | out [post update] : short[] [[]] : Number | +| B.java:1829:59:1829:60 | in : Number | semmle.label | in : Number | +| B.java:1829:69:1829:89 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1829:86:1829:88 | out : short[] [[]] : Number | semmle.label | out : short[] [[]] : Number | +| B.java:1834:16:1834:32 | (...)... : Number | semmle.label | (...)... : Number | +| B.java:1834:25:1834:32 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1834:55:1834:57 | out [post update] : int[] [[]] : Number | semmle.label | out [post update] : int[] [[]] : Number | +| B.java:1834:63:1834:64 | in : Number | semmle.label | in : Number | +| B.java:1834:73:1834:93 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1834:90:1834:92 | out : int[] [[]] : Number | semmle.label | out : int[] [[]] : Number | +| B.java:1839:16:1839:32 | (...)... : Number | semmle.label | (...)... : Number | +| B.java:1839:25:1839:32 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1839:55:1839:57 | out [post update] : int[] [[]] : Number | semmle.label | out [post update] : int[] [[]] : Number | +| B.java:1839:59:1839:60 | in : Number | semmle.label | in : Number | +| B.java:1839:69:1839:89 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1839:86:1839:88 | out : int[] [[]] : Number | semmle.label | out : int[] [[]] : Number | +| B.java:1844:17:1844:30 | (...)... : Number | semmle.label | (...)... : Number | +| B.java:1844:23:1844:30 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1844:53:1844:55 | out [post update] : long[] [[]] : Number | semmle.label | out [post update] : long[] [[]] : Number | +| B.java:1844:61:1844:62 | in : Number | semmle.label | in : Number | +| B.java:1844:71:1844:91 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1844:88:1844:90 | out : long[] [[]] : Number | semmle.label | out : long[] [[]] : Number | +| B.java:1849:17:1849:30 | (...)... : Number | semmle.label | (...)... : Number | +| B.java:1849:23:1849:30 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1849:53:1849:55 | out [post update] : long[] [[]] : Number | semmle.label | out [post update] : long[] [[]] : Number | +| B.java:1849:57:1849:58 | in : Number | semmle.label | in : Number | +| B.java:1849:67:1849:87 | readArrayElement(...) | semmle.label | readArrayElement(...) | +| B.java:1849:84:1849:86 | out : long[] [[]] : Number | semmle.label | out : long[] [[]] : Number | +| B.java:1854:19:1854:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1854:60:1854:62 | out [post update] : List [] : Object | semmle.label | out [post update] : List [] : Object | +| B.java:1854:69:1854:70 | in : Object | semmle.label | in : Object | +| B.java:1854:79:1854:94 | readElement(...) | semmle.label | readElement(...) | +| B.java:1854:91:1854:93 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1859:17:1859:42 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:1859:34:1859:41 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1859:70:1859:72 | out [post update] : List [] : Object | semmle.label | out [post update] : List [] : Object | +| B.java:1859:74:1859:75 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:1859:84:1859:99 | readElement(...) | semmle.label | readElement(...) | +| B.java:1859:96:1859:98 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1864:19:1864:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1864:54:1864:56 | out [post update] : List [] : Object | semmle.label | out [post update] : List [] : Object | +| B.java:1864:58:1864:59 | in : Object | semmle.label | in : Object | +| B.java:1864:68:1864:83 | readElement(...) | semmle.label | readElement(...) | +| B.java:1864:80:1864:82 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1869:21:1869:47 | storeArrayElement(...) : Object[] [[]] : Object | semmle.label | storeArrayElement(...) : Object[] [[]] : Object | +| B.java:1869:39:1869:46 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1869:56:1869:80 | asList(...) : List [] : Object | semmle.label | asList(...) : List [] : Object | +| B.java:1869:78:1869:79 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| B.java:1869:88:1869:103 | readElement(...) | semmle.label | readElement(...) | +| B.java:1869:100:1869:102 | out : List [] : Object | semmle.label | out : List [] : Object | +| B.java:1874:21:1874:47 | storeArrayElement(...) : Object[] [[]] : Object | semmle.label | storeArrayElement(...) : Object[] [[]] : Object | +| B.java:1874:39:1874:46 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1874:77:1874:79 | out [post update] : Collection [] : Object | semmle.label | out [post update] : Collection [] : Object | +| B.java:1874:81:1874:82 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| B.java:1874:91:1874:106 | readElement(...) | semmle.label | readElement(...) | +| B.java:1874:103:1874:105 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| B.java:1880:19:1880:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1880:29:1880:31 | out [post update] : SequencedCollection [] : Object | semmle.label | out [post update] : SequencedCollection [] : Object | +| B.java:1880:42:1880:43 | in : Object | semmle.label | in : Object | +| B.java:1880:52:1880:67 | readElement(...) | semmle.label | readElement(...) | +| B.java:1880:64:1880:66 | out : SequencedCollection [] : Object | semmle.label | out : SequencedCollection [] : Object | +| B.java:1885:19:1885:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1885:29:1885:31 | out [post update] : SequencedCollection [] : Object | semmle.label | out [post update] : SequencedCollection [] : Object | +| B.java:1885:41:1885:42 | in : Object | semmle.label | in : Object | +| B.java:1885:51:1885:66 | readElement(...) | semmle.label | readElement(...) | +| B.java:1885:63:1885:65 | out : SequencedCollection [] : Object | semmle.label | out : SequencedCollection [] : Object | +| B.java:1890:32:1890:57 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:1890:49:1890:56 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1890:66:1890:67 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:1890:66:1890:78 | getFirst(...) : Object | semmle.label | getFirst(...) : Object | +| B.java:1890:86:1890:88 | out | semmle.label | out | +| B.java:1895:32:1895:57 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:1895:49:1895:56 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1895:66:1895:67 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:1895:66:1895:77 | getLast(...) : Object | semmle.label | getLast(...) : Object | +| B.java:1895:85:1895:87 | out | semmle.label | out | +| B.java:1900:32:1900:57 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:1900:49:1900:56 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1900:66:1900:67 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:1900:66:1900:81 | removeFirst(...) : Object | semmle.label | removeFirst(...) : Object | +| B.java:1900:89:1900:91 | out | semmle.label | out | +| B.java:1905:32:1905:57 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:1905:49:1905:56 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1905:66:1905:67 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:1905:66:1905:80 | removeLast(...) : Object | semmle.label | removeLast(...) : Object | +| B.java:1905:88:1905:90 | out | semmle.label | out | +| B.java:1910:32:1910:57 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:1910:49:1910:56 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1910:66:1910:67 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:1910:66:1910:78 | reversed(...) : SequencedCollection [] : Object | semmle.label | reversed(...) : SequencedCollection [] : Object | +| B.java:1910:86:1910:101 | readElement(...) | semmle.label | readElement(...) | +| B.java:1910:98:1910:100 | out : SequencedCollection [] : Object | semmle.label | out : SequencedCollection [] : Object | +| B.java:1915:25:1915:59 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:1915:39:1915:59 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:1915:51:1915:58 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1915:68:1915:69 | in : TreeMap [] : Object | semmle.label | in : TreeMap [] : Object | +| B.java:1915:68:1915:82 | firstEntry(...) : Entry [] : Object | semmle.label | firstEntry(...) : Entry [] : Object | +| B.java:1915:90:1915:104 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1915:101:1915:103 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:1920:25:1920:59 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:1920:39:1920:59 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:1920:51:1920:58 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1920:68:1920:69 | in : TreeMap [] : Object | semmle.label | in : TreeMap [] : Object | +| B.java:1920:68:1920:81 | lastEntry(...) : Entry [] : Object | semmle.label | lastEntry(...) : Entry [] : Object | +| B.java:1920:89:1920:103 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1920:100:1920:102 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:1925:25:1925:59 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:1925:39:1925:59 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:1925:51:1925:58 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1925:68:1925:69 | in : TreeMap [] : Object | semmle.label | in : TreeMap [] : Object | +| B.java:1925:68:1925:86 | pollFirstEntry(...) : Entry [] : Object | semmle.label | pollFirstEntry(...) : Entry [] : Object | +| B.java:1925:94:1925:108 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1925:105:1925:107 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:1930:25:1930:59 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:1930:39:1930:59 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:1930:51:1930:58 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1930:68:1930:69 | in : TreeMap [] : Object | semmle.label | in : TreeMap [] : Object | +| B.java:1930:68:1930:85 | pollLastEntry(...) : Entry [] : Object | semmle.label | pollLastEntry(...) : Entry [] : Object | +| B.java:1930:93:1930:107 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1930:104:1930:106 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:1935:25:1935:61 | (...)... : SequencedMap [] : Object | semmle.label | (...)... : SequencedMap [] : Object | +| B.java:1935:39:1935:61 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1935:53:1935:60 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1935:70:1935:71 | in : SequencedMap [] : Object | semmle.label | in : SequencedMap [] : Object | +| B.java:1935:70:1935:92 | putFirst(...) : Object | semmle.label | putFirst(...) : Object | +| B.java:1935:100:1935:102 | out | semmle.label | out | +| B.java:1940:19:1940:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1940:29:1940:31 | out [post update] : SequencedMap [] : Object | semmle.label | out [post update] : SequencedMap [] : Object | +| B.java:1940:42:1940:43 | in : Object | semmle.label | in : Object | +| B.java:1940:58:1940:72 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1940:69:1940:71 | out : SequencedMap [] : Object | semmle.label | out : SequencedMap [] : Object | +| B.java:1945:25:1945:61 | (...)... : SequencedMap [] : Object | semmle.label | (...)... : SequencedMap [] : Object | +| B.java:1945:39:1945:61 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1945:53:1945:60 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1945:70:1945:71 | in : SequencedMap [] : Object | semmle.label | in : SequencedMap [] : Object | +| B.java:1945:70:1945:91 | putLast(...) : Object | semmle.label | putLast(...) : Object | +| B.java:1945:99:1945:101 | out | semmle.label | out | +| B.java:1950:19:1950:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1950:29:1950:31 | out [post update] : SequencedMap [] : Object | semmle.label | out [post update] : SequencedMap [] : Object | +| B.java:1950:41:1950:42 | in : Object | semmle.label | in : Object | +| B.java:1950:57:1950:71 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1950:68:1950:70 | out : SequencedMap [] : Object | semmle.label | out : SequencedMap [] : Object | +| B.java:1955:25:1955:59 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:1955:39:1955:59 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:1955:51:1955:58 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1955:68:1955:69 | in : TreeMap [] : Object | semmle.label | in : TreeMap [] : Object | +| B.java:1955:68:1955:80 | reversed(...) : SequencedMap [] : Object | semmle.label | reversed(...) : SequencedMap [] : Object | +| B.java:1955:88:1955:102 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1955:99:1955:101 | out : SequencedMap [] : Object | semmle.label | out : SequencedMap [] : Object | +| B.java:1960:25:1960:59 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:1960:39:1960:59 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:1960:51:1960:58 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1960:68:1960:69 | in : TreeMap [] : Object | semmle.label | in : TreeMap [] : Object | +| B.java:1960:68:1960:89 | sequencedEntrySet(...) : SequencedSet [, ] : Object | semmle.label | sequencedEntrySet(...) : SequencedSet [, ] : Object | +| B.java:1960:97:1960:124 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:1960:108:1960:123 | readElement(...) : Entry [] : Object | semmle.label | readElement(...) : Entry [] : Object | +| B.java:1960:120:1960:122 | out : SequencedSet [, ] : Object | semmle.label | out : SequencedSet [, ] : Object | +| B.java:1965:25:1965:61 | (...)... : SequencedMap [] : Object | semmle.label | (...)... : SequencedMap [] : Object | +| B.java:1965:39:1965:61 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1965:53:1965:60 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1965:70:1965:71 | in : SequencedMap [] : Object | semmle.label | in : SequencedMap [] : Object | +| B.java:1965:70:1965:84 | firstEntry(...) : Entry [] : Object | semmle.label | firstEntry(...) : Entry [] : Object | +| B.java:1965:92:1965:108 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1965:105:1965:107 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:1970:25:1970:61 | (...)... : SequencedMap [] : Object | semmle.label | (...)... : SequencedMap [] : Object | +| B.java:1970:39:1970:61 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1970:53:1970:60 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1970:70:1970:71 | in : SequencedMap [] : Object | semmle.label | in : SequencedMap [] : Object | +| B.java:1970:70:1970:83 | lastEntry(...) : Entry [] : Object | semmle.label | lastEntry(...) : Entry [] : Object | +| B.java:1970:91:1970:107 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1970:104:1970:106 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:1975:25:1975:61 | (...)... : SequencedMap [] : Object | semmle.label | (...)... : SequencedMap [] : Object | +| B.java:1975:39:1975:61 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1975:53:1975:60 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1975:70:1975:71 | in : SequencedMap [] : Object | semmle.label | in : SequencedMap [] : Object | +| B.java:1975:70:1975:88 | pollFirstEntry(...) : Entry [] : Object | semmle.label | pollFirstEntry(...) : Entry [] : Object | +| B.java:1975:96:1975:112 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1975:109:1975:111 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:1980:25:1980:61 | (...)... : SequencedMap [] : Object | semmle.label | (...)... : SequencedMap [] : Object | +| B.java:1980:39:1980:61 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1980:53:1980:60 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1980:70:1980:71 | in : SequencedMap [] : Object | semmle.label | in : SequencedMap [] : Object | +| B.java:1980:70:1980:87 | pollLastEntry(...) : Entry [] : Object | semmle.label | pollLastEntry(...) : Entry [] : Object | +| B.java:1980:95:1980:111 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1980:108:1980:110 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| B.java:1985:19:1985:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1985:29:1985:31 | out [post update] : SequencedMap [] : Object | semmle.label | out [post update] : SequencedMap [] : Object | +| B.java:1985:48:1985:49 | in : Object | semmle.label | in : Object | +| B.java:1985:58:1985:74 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1985:71:1985:73 | out : SequencedMap [] : Object | semmle.label | out : SequencedMap [] : Object | +| B.java:1990:19:1990:26 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1990:29:1990:31 | out [post update] : SequencedMap [] : Object | semmle.label | out [post update] : SequencedMap [] : Object | +| B.java:1990:47:1990:48 | in : Object | semmle.label | in : Object | +| B.java:1990:57:1990:73 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1990:70:1990:72 | out : SequencedMap [] : Object | semmle.label | out : SequencedMap [] : Object | +| B.java:1995:25:1995:61 | (...)... : SequencedMap [] : Object | semmle.label | (...)... : SequencedMap [] : Object | +| B.java:1995:39:1995:61 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:1995:53:1995:60 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:1995:70:1995:71 | in : SequencedMap [] : Object | semmle.label | in : SequencedMap [] : Object | +| B.java:1995:70:1995:82 | reversed(...) : SequencedMap [] : Object | semmle.label | reversed(...) : SequencedMap [] : Object | +| B.java:1995:90:1995:106 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:1995:103:1995:105 | out : SequencedMap [] : Object | semmle.label | out : SequencedMap [] : Object | +| B.java:2000:25:2000:61 | (...)... : SequencedMap [] : Object | semmle.label | (...)... : SequencedMap [] : Object | +| B.java:2000:39:2000:61 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:2000:53:2000:60 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:2000:70:2000:71 | in : SequencedMap [] : Object | semmle.label | in : SequencedMap [] : Object | +| B.java:2000:70:2000:91 | sequencedEntrySet(...) : SequencedSet [, ] : Object | semmle.label | sequencedEntrySet(...) : SequencedSet [, ] : Object | +| B.java:2000:99:2000:128 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:2000:112:2000:127 | readElement(...) : Entry [] : Object | semmle.label | readElement(...) : Entry [] : Object | +| B.java:2000:124:2000:126 | out : SequencedSet [, ] : Object | semmle.label | out : SequencedSet [, ] : Object | +| B.java:2005:25:2005:59 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:2005:39:2005:59 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:2005:51:2005:58 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:2005:68:2005:69 | in : TreeMap [] : Object | semmle.label | in : TreeMap [] : Object | +| B.java:2005:68:2005:87 | sequencedKeySet(...) : SequencedSet [] : Object | semmle.label | sequencedKeySet(...) : SequencedSet [] : Object | +| B.java:2005:95:2005:110 | readElement(...) | semmle.label | readElement(...) | +| B.java:2005:107:2005:109 | out : SequencedSet [] : Object | semmle.label | out : SequencedSet [] : Object | +| B.java:2010:25:2010:61 | (...)... : SequencedMap [] : Object | semmle.label | (...)... : SequencedMap [] : Object | +| B.java:2010:39:2010:61 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:2010:53:2010:60 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:2010:70:2010:71 | in : SequencedMap [] : Object | semmle.label | in : SequencedMap [] : Object | +| B.java:2010:70:2010:89 | sequencedValues(...) : SequencedCollection [] : Object | semmle.label | sequencedValues(...) : SequencedCollection [] : Object | +| B.java:2010:97:2010:112 | readElement(...) | semmle.label | readElement(...) | +| B.java:2010:109:2010:111 | out : SequencedCollection [] : Object | semmle.label | out : SequencedCollection [] : Object | +| B.java:2015:25:2015:52 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:2015:44:2015:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:2015:61:2015:62 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:2015:61:2015:73 | reversed(...) : SequencedSet [] : Object | semmle.label | reversed(...) : SequencedSet [] : Object | +| B.java:2015:81:2015:96 | readElement(...) | semmle.label | readElement(...) | +| B.java:2015:93:2015:95 | out : SequencedSet [] : Object | semmle.label | out : SequencedSet [] : Object | +| B.java:2020:32:2020:57 | storeElementList(...) : List [] : Object | semmle.label | storeElementList(...) : List [] : Object | +| B.java:2020:49:2020:56 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:2020:66:2020:112 | unmodifiableSequencedCollection(...) : SequencedCollection [] : Object | semmle.label | unmodifiableSequencedCollection(...) : SequencedCollection [] : Object | +| B.java:2020:110:2020:111 | in : List [] : Object | semmle.label | in : List [] : Object | +| B.java:2020:120:2020:135 | readElement(...) | semmle.label | readElement(...) | +| B.java:2020:132:2020:134 | out : SequencedCollection [] : Object | semmle.label | out : SequencedCollection [] : Object | +| B.java:2025:25:2025:59 | (...)... : TreeMap [] : Object | semmle.label | (...)... : TreeMap [] : Object | +| B.java:2025:39:2025:59 | storeMapKey(...) : TreeMap [] : Object | semmle.label | storeMapKey(...) : TreeMap [] : Object | +| B.java:2025:51:2025:58 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:2025:68:2025:107 | unmodifiableSequencedMap(...) : SequencedMap [] : Object | semmle.label | unmodifiableSequencedMap(...) : SequencedMap [] : Object | +| B.java:2025:105:2025:106 | in : TreeMap [] : Object | semmle.label | in : TreeMap [] : Object | +| B.java:2025:115:2025:129 | readMapKey(...) | semmle.label | readMapKey(...) | +| B.java:2025:126:2025:128 | out : SequencedMap [] : Object | semmle.label | out : SequencedMap [] : Object | +| B.java:2030:25:2030:61 | (...)... : SequencedMap [] : Object | semmle.label | (...)... : SequencedMap [] : Object | +| B.java:2030:39:2030:61 | storeMapValue(...) : Map [] : Object | semmle.label | storeMapValue(...) : Map [] : Object | +| B.java:2030:53:2030:60 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:2030:70:2030:109 | unmodifiableSequencedMap(...) : SequencedMap [] : Object | semmle.label | unmodifiableSequencedMap(...) : SequencedMap [] : Object | +| B.java:2030:107:2030:108 | in : SequencedMap [] : Object | semmle.label | in : SequencedMap [] : Object | +| B.java:2030:117:2030:133 | readMapValue(...) | semmle.label | readMapValue(...) | +| B.java:2030:130:2030:132 | out : SequencedMap [] : Object | semmle.label | out : SequencedMap [] : Object | +| B.java:2035:25:2035:52 | storeElementNavSet(...) : TreeSet [] : Object | semmle.label | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:2035:44:2035:51 | source(...) : Object | semmle.label | source(...) : Object | +| B.java:2035:61:2035:100 | unmodifiableSequencedSet(...) : SequencedSet [] : Object | semmle.label | unmodifiableSequencedSet(...) : SequencedSet [] : Object | +| B.java:2035:98:2035:99 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| B.java:2035:108:2035:123 | readElement(...) | semmle.label | readElement(...) | +| B.java:2035:120:2035:122 | out : SequencedSet [] : Object | semmle.label | out : SequencedSet [] : Object | +| Constructors.java:28:20:28:39 | container : ArrayDeque [] : Object | semmle.label | container : ArrayDeque [] : Object | +| Constructors.java:28:20:28:39 | container : ArrayList [] : Object | semmle.label | container : ArrayList [] : Object | +| Constructors.java:28:20:28:39 | container : HashSet [] : Object | semmle.label | container : HashSet [] : Object | +| Constructors.java:28:20:28:39 | container : LinkedHashSet [] : Object | semmle.label | container : LinkedHashSet [] : Object | +| Constructors.java:28:20:28:39 | container : LinkedList [] : Object | semmle.label | container : LinkedList [] : Object | +| Constructors.java:28:20:28:39 | container : PriorityQueue [] : Object | semmle.label | container : PriorityQueue [] : Object | +| Constructors.java:28:20:28:39 | container : TreeSet [] : Object | semmle.label | container : TreeSet [] : Object | +| Constructors.java:28:20:28:39 | container : Vector [] : Object | semmle.label | container : Vector [] : Object | +| Constructors.java:28:51:28:59 | container : ArrayDeque [] : Object | semmle.label | container : ArrayDeque [] : Object | +| Constructors.java:28:51:28:59 | container : ArrayList [] : Object | semmle.label | container : ArrayList [] : Object | +| Constructors.java:28:51:28:59 | container : HashSet [] : Object | semmle.label | container : HashSet [] : Object | +| Constructors.java:28:51:28:59 | container : LinkedHashSet [] : Object | semmle.label | container : LinkedHashSet [] : Object | +| Constructors.java:28:51:28:59 | container : LinkedList [] : Object | semmle.label | container : LinkedList [] : Object | +| Constructors.java:28:51:28:59 | container : PriorityQueue [] : Object | semmle.label | container : PriorityQueue [] : Object | +| Constructors.java:28:51:28:59 | container : TreeSet [] : Object | semmle.label | container : TreeSet [] : Object | +| Constructors.java:28:51:28:59 | container : Vector [] : Object | semmle.label | container : Vector [] : Object | +| Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Constructors.java:28:51:28:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Constructors.java:28:51:28:77 | next(...) : Object | semmle.label | next(...) : Object | +| Constructors.java:28:51:28:77 | next(...) : Object | semmle.label | next(...) : Object | +| Constructors.java:28:51:28:77 | next(...) : Object | semmle.label | next(...) : Object | +| Constructors.java:28:51:28:77 | next(...) : Object | semmle.label | next(...) : Object | +| Constructors.java:28:51:28:77 | next(...) : Object | semmle.label | next(...) : Object | +| Constructors.java:28:51:28:77 | next(...) : Object | semmle.label | next(...) : Object | +| Constructors.java:28:51:28:77 | next(...) : Object | semmle.label | next(...) : Object | +| Constructors.java:28:51:28:77 | next(...) : Object | semmle.label | next(...) : Object | +| Constructors.java:29:19:29:31 | container : EnumMap [] : Object | semmle.label | container : EnumMap [] : Object | +| Constructors.java:29:19:29:31 | container : HashMap [] : Object | semmle.label | container : HashMap [] : Object | +| Constructors.java:29:19:29:31 | container : Hashtable [] : Object | semmle.label | container : Hashtable [] : Object | +| Constructors.java:29:19:29:31 | container : IdentityHashMap [] : Object | semmle.label | container : IdentityHashMap [] : Object | +| Constructors.java:29:19:29:31 | container : LinkedHashMap [] : Object | semmle.label | container : LinkedHashMap [] : Object | +| Constructors.java:29:19:29:31 | container : TreeMap [] : Object | semmle.label | container : TreeMap [] : Object | +| Constructors.java:29:19:29:31 | container : WeakHashMap [] : Object | semmle.label | container : WeakHashMap [] : Object | +| Constructors.java:29:43:29:51 | container : EnumMap [] : Object | semmle.label | container : EnumMap [] : Object | +| Constructors.java:29:43:29:51 | container : HashMap [] : Object | semmle.label | container : HashMap [] : Object | +| Constructors.java:29:43:29:51 | container : Hashtable [] : Object | semmle.label | container : Hashtable [] : Object | +| Constructors.java:29:43:29:51 | container : IdentityHashMap [] : Object | semmle.label | container : IdentityHashMap [] : Object | +| Constructors.java:29:43:29:51 | container : LinkedHashMap [] : Object | semmle.label | container : LinkedHashMap [] : Object | +| Constructors.java:29:43:29:51 | container : TreeMap [] : Object | semmle.label | container : TreeMap [] : Object | +| Constructors.java:29:43:29:51 | container : WeakHashMap [] : Object | semmle.label | container : WeakHashMap [] : Object | +| Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Constructors.java:29:43:29:60 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Constructors.java:29:43:29:71 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Constructors.java:29:43:29:78 | next(...) : Object | semmle.label | next(...) : Object | +| Constructors.java:29:43:29:78 | next(...) : Object | semmle.label | next(...) : Object | +| Constructors.java:29:43:29:78 | next(...) : Object | semmle.label | next(...) : Object | +| Constructors.java:29:43:29:78 | next(...) : Object | semmle.label | next(...) : Object | +| Constructors.java:29:43:29:78 | next(...) : Object | semmle.label | next(...) : Object | +| Constructors.java:29:43:29:78 | next(...) : Object | semmle.label | next(...) : Object | +| Constructors.java:29:43:29:78 | next(...) : Object | semmle.label | next(...) : Object | +| Constructors.java:30:21:30:33 | container : EnumMap [] : Object | semmle.label | container : EnumMap [] : Object | +| Constructors.java:30:21:30:33 | container : HashMap [] : Object | semmle.label | container : HashMap [] : Object | +| Constructors.java:30:21:30:33 | container : Hashtable [] : Object | semmle.label | container : Hashtable [] : Object | +| Constructors.java:30:21:30:33 | container : IdentityHashMap [] : Object | semmle.label | container : IdentityHashMap [] : Object | +| Constructors.java:30:21:30:33 | container : LinkedHashMap [] : Object | semmle.label | container : LinkedHashMap [] : Object | +| Constructors.java:30:21:30:33 | container : TreeMap [] : Object | semmle.label | container : TreeMap [] : Object | +| Constructors.java:30:21:30:33 | container : WeakHashMap [] : Object | semmle.label | container : WeakHashMap [] : Object | +| Constructors.java:30:45:30:53 | container : EnumMap [] : Object | semmle.label | container : EnumMap [] : Object | +| Constructors.java:30:45:30:53 | container : HashMap [] : Object | semmle.label | container : HashMap [] : Object | +| Constructors.java:30:45:30:53 | container : Hashtable [] : Object | semmle.label | container : Hashtable [] : Object | +| Constructors.java:30:45:30:53 | container : IdentityHashMap [] : Object | semmle.label | container : IdentityHashMap [] : Object | +| Constructors.java:30:45:30:53 | container : LinkedHashMap [] : Object | semmle.label | container : LinkedHashMap [] : Object | +| Constructors.java:30:45:30:53 | container : TreeMap [] : Object | semmle.label | container : TreeMap [] : Object | +| Constructors.java:30:45:30:53 | container : WeakHashMap [] : Object | semmle.label | container : WeakHashMap [] : Object | +| Constructors.java:30:45:30:63 | get(...) : Object | semmle.label | get(...) : Object | +| Constructors.java:30:45:30:63 | get(...) : Object | semmle.label | get(...) : Object | +| Constructors.java:30:45:30:63 | get(...) : Object | semmle.label | get(...) : Object | +| Constructors.java:30:45:30:63 | get(...) : Object | semmle.label | get(...) : Object | +| Constructors.java:30:45:30:63 | get(...) : Object | semmle.label | get(...) : Object | +| Constructors.java:30:45:30:63 | get(...) : Object | semmle.label | get(...) : Object | +| Constructors.java:30:45:30:63 | get(...) : Object | semmle.label | get(...) : Object | +| Constructors.java:31:19:31:37 | container : SimpleEntry [] : Object | semmle.label | container : SimpleEntry [] : Object | +| Constructors.java:31:19:31:37 | container : SimpleImmutableEntry [] : Object | semmle.label | container : SimpleImmutableEntry [] : Object | +| Constructors.java:31:49:31:57 | container : SimpleEntry [] : Object | semmle.label | container : SimpleEntry [] : Object | +| Constructors.java:31:49:31:57 | container : SimpleImmutableEntry [] : Object | semmle.label | container : SimpleImmutableEntry [] : Object | +| Constructors.java:31:49:31:66 | getKey(...) : Object | semmle.label | getKey(...) : Object | +| Constructors.java:31:49:31:66 | getKey(...) : Object | semmle.label | getKey(...) : Object | +| Constructors.java:32:21:32:39 | container : SimpleEntry [] : Object | semmle.label | container : SimpleEntry [] : Object | +| Constructors.java:32:21:32:39 | container : SimpleImmutableEntry [] : Object | semmle.label | container : SimpleImmutableEntry [] : Object | +| Constructors.java:32:51:32:59 | container : SimpleEntry [] : Object | semmle.label | container : SimpleEntry [] : Object | +| Constructors.java:32:51:32:59 | container : SimpleImmutableEntry [] : Object | semmle.label | container : SimpleImmutableEntry [] : Object | +| Constructors.java:32:51:32:70 | getValue(...) : Object | semmle.label | getValue(...) : Object | +| Constructors.java:32:51:32:70 | getValue(...) : Object | semmle.label | getValue(...) : Object | +| Constructors.java:41:19:41:61 | new SimpleEntry<>(...) : SimpleEntry [] : Object | semmle.label | new SimpleEntry<>(...) : SimpleEntry [] : Object | +| Constructors.java:41:47:41:54 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:42:10:42:40 | new SimpleEntry<>(...) : SimpleEntry [] : Object | semmle.label | new SimpleEntry<>(...) : SimpleEntry [] : Object | +| Constructors.java:42:38:42:39 | in : SimpleEntry [] : Object | semmle.label | in : SimpleEntry [] : Object | +| Constructors.java:43:9:43:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Constructors.java:43:19:43:21 | out : SimpleEntry [] : Object | semmle.label | out : SimpleEntry [] : Object | +| Constructors.java:48:19:48:61 | new SimpleEntry<>(...) : SimpleEntry [] : Object | semmle.label | new SimpleEntry<>(...) : SimpleEntry [] : Object | +| Constructors.java:48:53:48:60 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:49:10:49:40 | new SimpleEntry<>(...) : SimpleEntry [] : Object | semmle.label | new SimpleEntry<>(...) : SimpleEntry [] : Object | +| Constructors.java:49:38:49:39 | in : SimpleEntry [] : Object | semmle.label | in : SimpleEntry [] : Object | +| Constructors.java:50:9:50:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Constructors.java:50:21:50:23 | out : SimpleEntry [] : Object | semmle.label | out : SimpleEntry [] : Object | +| Constructors.java:55:16:55:23 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:56:10:56:46 | new SimpleEntry<>(...) : SimpleEntry [] : Object | semmle.label | new SimpleEntry<>(...) : SimpleEntry [] : Object | +| Constructors.java:56:38:56:39 | in : Object | semmle.label | in : Object | +| Constructors.java:57:9:57:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Constructors.java:57:19:57:21 | out : SimpleEntry [] : Object | semmle.label | out : SimpleEntry [] : Object | +| Constructors.java:62:16:62:23 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:63:10:63:46 | new SimpleEntry<>(...) : SimpleEntry [] : Object | semmle.label | new SimpleEntry<>(...) : SimpleEntry [] : Object | +| Constructors.java:63:44:63:45 | in : Object | semmle.label | in : Object | +| Constructors.java:64:9:64:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Constructors.java:64:21:64:23 | out : SimpleEntry [] : Object | semmle.label | out : SimpleEntry [] : Object | +| Constructors.java:69:19:69:61 | new SimpleEntry<>(...) : SimpleEntry [] : Object | semmle.label | new SimpleEntry<>(...) : SimpleEntry [] : Object | +| Constructors.java:69:47:69:54 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:70:10:70:49 | new SimpleImmutableEntry<>(...) : SimpleImmutableEntry [] : Object | semmle.label | new SimpleImmutableEntry<>(...) : SimpleImmutableEntry [] : Object | +| Constructors.java:70:47:70:48 | in : SimpleEntry [] : Object | semmle.label | in : SimpleEntry [] : Object | +| Constructors.java:71:9:71:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Constructors.java:71:19:71:21 | out : SimpleImmutableEntry [] : Object | semmle.label | out : SimpleImmutableEntry [] : Object | +| Constructors.java:76:19:76:61 | new SimpleEntry<>(...) : SimpleEntry [] : Object | semmle.label | new SimpleEntry<>(...) : SimpleEntry [] : Object | +| Constructors.java:76:53:76:60 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:77:10:77:49 | new SimpleImmutableEntry<>(...) : SimpleImmutableEntry [] : Object | semmle.label | new SimpleImmutableEntry<>(...) : SimpleImmutableEntry [] : Object | +| Constructors.java:77:47:77:48 | in : SimpleEntry [] : Object | semmle.label | in : SimpleEntry [] : Object | +| Constructors.java:78:9:78:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Constructors.java:78:21:78:23 | out : SimpleImmutableEntry [] : Object | semmle.label | out : SimpleImmutableEntry [] : Object | +| Constructors.java:83:20:83:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Constructors.java:83:28:83:35 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:84:10:84:27 | new ArrayDeque<>(...) : ArrayDeque [] : Object | semmle.label | new ArrayDeque<>(...) : ArrayDeque [] : Object | +| Constructors.java:84:25:84:26 | in : List [] : Object | semmle.label | in : List [] : Object | +| Constructors.java:85:9:85:23 | getElement(...) | semmle.label | getElement(...) | +| Constructors.java:85:20:85:22 | out : ArrayDeque [] : Object | semmle.label | out : ArrayDeque [] : Object | +| Constructors.java:90:20:90:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Constructors.java:90:28:90:35 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:91:10:91:26 | new ArrayList<>(...) : ArrayList [] : Object | semmle.label | new ArrayList<>(...) : ArrayList [] : Object | +| Constructors.java:91:24:91:25 | in : List [] : Object | semmle.label | in : List [] : Object | +| Constructors.java:92:9:92:23 | getElement(...) | semmle.label | getElement(...) | +| Constructors.java:92:20:92:22 | out : ArrayList [] : Object | semmle.label | out : ArrayList [] : Object | +| Constructors.java:97:17:97:51 | new EnumMap<>(...) : EnumMap [] : Object | semmle.label | new EnumMap<>(...) : EnumMap [] : Object | +| Constructors.java:97:29:97:50 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:97:36:97:43 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:98:10:98:24 | new EnumMap<>(...) : EnumMap [] : Object | semmle.label | new EnumMap<>(...) : EnumMap [] : Object | +| Constructors.java:98:22:98:23 | in : EnumMap [] : Object | semmle.label | in : EnumMap [] : Object | +| Constructors.java:99:9:99:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Constructors.java:99:19:99:21 | out : EnumMap [] : Object | semmle.label | out : EnumMap [] : Object | +| Constructors.java:104:17:104:51 | new EnumMap<>(...) : EnumMap [] : Object | semmle.label | new EnumMap<>(...) : EnumMap [] : Object | +| Constructors.java:104:29:104:50 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:104:42:104:49 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:105:10:105:24 | new EnumMap<>(...) : EnumMap [] : Object | semmle.label | new EnumMap<>(...) : EnumMap [] : Object | +| Constructors.java:105:22:105:23 | in : EnumMap [] : Object | semmle.label | in : EnumMap [] : Object | +| Constructors.java:106:9:106:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Constructors.java:106:21:106:23 | out : EnumMap [] : Object | semmle.label | out : EnumMap [] : Object | +| Constructors.java:111:13:111:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:111:20:111:27 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:112:10:112:24 | new EnumMap<>(...) : EnumMap [] : Object | semmle.label | new EnumMap<>(...) : EnumMap [] : Object | +| Constructors.java:112:22:112:23 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Constructors.java:113:9:113:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Constructors.java:113:19:113:21 | out : EnumMap [] : Object | semmle.label | out : EnumMap [] : Object | +| Constructors.java:118:13:118:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:118:26:118:33 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:119:10:119:24 | new EnumMap<>(...) : EnumMap [] : Object | semmle.label | new EnumMap<>(...) : EnumMap [] : Object | +| Constructors.java:119:22:119:23 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Constructors.java:120:9:120:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Constructors.java:120:21:120:23 | out : EnumMap [] : Object | semmle.label | out : EnumMap [] : Object | +| Constructors.java:125:13:125:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:125:20:125:27 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:126:10:126:24 | new HashMap<>(...) : HashMap [] : Object | semmle.label | new HashMap<>(...) : HashMap [] : Object | +| Constructors.java:126:22:126:23 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Constructors.java:127:9:127:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Constructors.java:127:19:127:21 | out : HashMap [] : Object | semmle.label | out : HashMap [] : Object | +| Constructors.java:132:13:132:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:132:26:132:33 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:133:10:133:24 | new HashMap<>(...) : HashMap [] : Object | semmle.label | new HashMap<>(...) : HashMap [] : Object | +| Constructors.java:133:22:133:23 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Constructors.java:134:9:134:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Constructors.java:134:21:134:23 | out : HashMap [] : Object | semmle.label | out : HashMap [] : Object | +| Constructors.java:139:20:139:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Constructors.java:139:28:139:35 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:140:10:140:24 | new HashSet<>(...) : HashSet [] : Object | semmle.label | new HashSet<>(...) : HashSet [] : Object | +| Constructors.java:140:22:140:23 | in : List [] : Object | semmle.label | in : List [] : Object | +| Constructors.java:141:9:141:23 | getElement(...) | semmle.label | getElement(...) | +| Constructors.java:141:20:141:22 | out : HashSet [] : Object | semmle.label | out : HashSet [] : Object | +| Constructors.java:146:13:146:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:146:20:146:27 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:147:10:147:26 | new Hashtable<>(...) : Hashtable [] : Object | semmle.label | new Hashtable<>(...) : Hashtable [] : Object | +| Constructors.java:147:24:147:25 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Constructors.java:148:9:148:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Constructors.java:148:19:148:21 | out : Hashtable [] : Object | semmle.label | out : Hashtable [] : Object | +| Constructors.java:153:13:153:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:153:26:153:33 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:154:10:154:26 | new Hashtable<>(...) : Hashtable [] : Object | semmle.label | new Hashtable<>(...) : Hashtable [] : Object | +| Constructors.java:154:24:154:25 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Constructors.java:155:9:155:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Constructors.java:155:21:155:23 | out : Hashtable [] : Object | semmle.label | out : Hashtable [] : Object | +| Constructors.java:160:13:160:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:160:20:160:27 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:161:10:161:32 | new IdentityHashMap<>(...) : IdentityHashMap [] : Object | semmle.label | new IdentityHashMap<>(...) : IdentityHashMap [] : Object | +| Constructors.java:161:30:161:31 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Constructors.java:162:9:162:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Constructors.java:162:19:162:21 | out : IdentityHashMap [] : Object | semmle.label | out : IdentityHashMap [] : Object | +| Constructors.java:167:13:167:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:167:26:167:33 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:168:10:168:32 | new IdentityHashMap<>(...) : IdentityHashMap [] : Object | semmle.label | new IdentityHashMap<>(...) : IdentityHashMap [] : Object | +| Constructors.java:168:30:168:31 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Constructors.java:169:9:169:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Constructors.java:169:21:169:23 | out : IdentityHashMap [] : Object | semmle.label | out : IdentityHashMap [] : Object | +| Constructors.java:174:13:174:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:174:20:174:27 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:175:10:175:30 | new LinkedHashMap<>(...) : LinkedHashMap [] : Object | semmle.label | new LinkedHashMap<>(...) : LinkedHashMap [] : Object | +| Constructors.java:175:28:175:29 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Constructors.java:176:9:176:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Constructors.java:176:19:176:21 | out : LinkedHashMap [] : Object | semmle.label | out : LinkedHashMap [] : Object | +| Constructors.java:181:13:181:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:181:26:181:33 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:182:10:182:30 | new LinkedHashMap<>(...) : LinkedHashMap [] : Object | semmle.label | new LinkedHashMap<>(...) : LinkedHashMap [] : Object | +| Constructors.java:182:28:182:29 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Constructors.java:183:9:183:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Constructors.java:183:21:183:23 | out : LinkedHashMap [] : Object | semmle.label | out : LinkedHashMap [] : Object | +| Constructors.java:188:20:188:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Constructors.java:188:28:188:35 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:189:10:189:30 | new LinkedHashSet<>(...) : LinkedHashSet [] : Object | semmle.label | new LinkedHashSet<>(...) : LinkedHashSet [] : Object | +| Constructors.java:189:28:189:29 | in : List [] : Object | semmle.label | in : List [] : Object | +| Constructors.java:190:9:190:23 | getElement(...) | semmle.label | getElement(...) | +| Constructors.java:190:20:190:22 | out : LinkedHashSet [] : Object | semmle.label | out : LinkedHashSet [] : Object | +| Constructors.java:195:20:195:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Constructors.java:195:28:195:35 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:196:10:196:27 | new LinkedList<>(...) : LinkedList [] : Object | semmle.label | new LinkedList<>(...) : LinkedList [] : Object | +| Constructors.java:196:25:196:26 | in : List [] : Object | semmle.label | in : List [] : Object | +| Constructors.java:197:9:197:23 | getElement(...) | semmle.label | getElement(...) | +| Constructors.java:197:20:197:22 | out : LinkedList [] : Object | semmle.label | out : LinkedList [] : Object | +| Constructors.java:202:20:202:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Constructors.java:202:28:202:35 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:203:10:203:30 | new PriorityQueue<>(...) : PriorityQueue [] : Object | semmle.label | new PriorityQueue<>(...) : PriorityQueue [] : Object | +| Constructors.java:203:28:203:29 | in : List [] : Object | semmle.label | in : List [] : Object | +| Constructors.java:204:9:204:23 | getElement(...) | semmle.label | getElement(...) | +| Constructors.java:204:20:204:22 | out : PriorityQueue [] : Object | semmle.label | out : PriorityQueue [] : Object | +| Constructors.java:209:23:209:58 | new PriorityQueue<>(...) : PriorityQueue [] : Object | semmle.label | new PriorityQueue<>(...) : PriorityQueue [] : Object | +| Constructors.java:209:41:209:57 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Constructors.java:209:49:209:56 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:210:10:210:30 | new PriorityQueue<>(...) : PriorityQueue [] : Object | semmle.label | new PriorityQueue<>(...) : PriorityQueue [] : Object | +| Constructors.java:210:28:210:29 | in : PriorityQueue [] : Object | semmle.label | in : PriorityQueue [] : Object | +| Constructors.java:211:9:211:23 | getElement(...) | semmle.label | getElement(...) | +| Constructors.java:211:20:211:22 | out : PriorityQueue [] : Object | semmle.label | out : PriorityQueue [] : Object | +| Constructors.java:216:19:216:48 | new TreeSet<>(...) : TreeSet [] : Object | semmle.label | new TreeSet<>(...) : TreeSet [] : Object | +| Constructors.java:216:31:216:47 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Constructors.java:216:39:216:46 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:217:10:217:30 | new PriorityQueue<>(...) : PriorityQueue [] : Object | semmle.label | new PriorityQueue<>(...) : PriorityQueue [] : Object | +| Constructors.java:217:28:217:29 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| Constructors.java:218:9:218:23 | getElement(...) | semmle.label | getElement(...) | +| Constructors.java:218:20:218:22 | out : PriorityQueue [] : Object | semmle.label | out : PriorityQueue [] : Object | +| Constructors.java:223:13:223:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:223:20:223:27 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:224:10:224:24 | new TreeMap<>(...) : TreeMap [] : Object | semmle.label | new TreeMap<>(...) : TreeMap [] : Object | +| Constructors.java:224:22:224:23 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Constructors.java:225:9:225:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Constructors.java:225:19:225:21 | out : TreeMap [] : Object | semmle.label | out : TreeMap [] : Object | +| Constructors.java:230:13:230:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:230:26:230:33 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:231:10:231:24 | new TreeMap<>(...) : TreeMap [] : Object | semmle.label | new TreeMap<>(...) : TreeMap [] : Object | +| Constructors.java:231:22:231:23 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Constructors.java:232:9:232:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Constructors.java:232:21:232:23 | out : TreeMap [] : Object | semmle.label | out : TreeMap [] : Object | +| Constructors.java:237:19:237:53 | new TreeMap<>(...) : TreeMap [] : Object | semmle.label | new TreeMap<>(...) : TreeMap [] : Object | +| Constructors.java:237:31:237:52 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:237:38:237:45 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:238:10:238:24 | new TreeMap<>(...) : TreeMap [] : Object | semmle.label | new TreeMap<>(...) : TreeMap [] : Object | +| Constructors.java:238:22:238:23 | in : TreeMap [] : Object | semmle.label | in : TreeMap [] : Object | +| Constructors.java:239:9:239:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Constructors.java:239:19:239:21 | out : TreeMap [] : Object | semmle.label | out : TreeMap [] : Object | +| Constructors.java:244:19:244:53 | new TreeMap<>(...) : TreeMap [] : Object | semmle.label | new TreeMap<>(...) : TreeMap [] : Object | +| Constructors.java:244:31:244:52 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:244:44:244:51 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:245:10:245:24 | new TreeMap<>(...) : TreeMap [] : Object | semmle.label | new TreeMap<>(...) : TreeMap [] : Object | +| Constructors.java:245:22:245:23 | in : TreeMap [] : Object | semmle.label | in : TreeMap [] : Object | +| Constructors.java:246:9:246:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Constructors.java:246:21:246:23 | out : TreeMap [] : Object | semmle.label | out : TreeMap [] : Object | +| Constructors.java:251:20:251:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Constructors.java:251:28:251:35 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:252:10:252:24 | new TreeSet<>(...) : TreeSet [] : Object | semmle.label | new TreeSet<>(...) : TreeSet [] : Object | +| Constructors.java:252:22:252:23 | in : List [] : Object | semmle.label | in : List [] : Object | +| Constructors.java:253:9:253:23 | getElement(...) | semmle.label | getElement(...) | +| Constructors.java:253:20:253:22 | out : TreeSet [] : Object | semmle.label | out : TreeSet [] : Object | +| Constructors.java:258:19:258:48 | new TreeSet<>(...) : TreeSet [] : Object | semmle.label | new TreeSet<>(...) : TreeSet [] : Object | +| Constructors.java:258:31:258:47 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Constructors.java:258:39:258:46 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:259:10:259:24 | new TreeSet<>(...) : TreeSet [] : Object | semmle.label | new TreeSet<>(...) : TreeSet [] : Object | +| Constructors.java:259:22:259:23 | in : TreeSet [] : Object | semmle.label | in : TreeSet [] : Object | +| Constructors.java:260:9:260:23 | getElement(...) | semmle.label | getElement(...) | +| Constructors.java:260:20:260:22 | out : TreeSet [] : Object | semmle.label | out : TreeSet [] : Object | +| Constructors.java:265:20:265:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Constructors.java:265:28:265:35 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:266:10:266:23 | new Vector<>(...) : Vector [] : Object | semmle.label | new Vector<>(...) : Vector [] : Object | +| Constructors.java:266:21:266:22 | in : List [] : Object | semmle.label | in : List [] : Object | +| Constructors.java:267:9:267:23 | getElement(...) | semmle.label | getElement(...) | +| Constructors.java:267:20:267:22 | out : Vector [] : Object | semmle.label | out : Vector [] : Object | +| Constructors.java:272:13:272:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:272:20:272:27 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:273:10:273:28 | new WeakHashMap<>(...) : WeakHashMap [] : Object | semmle.label | new WeakHashMap<>(...) : WeakHashMap [] : Object | +| Constructors.java:273:26:273:27 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Constructors.java:274:9:274:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Constructors.java:274:19:274:21 | out : WeakHashMap [] : Object | semmle.label | out : WeakHashMap [] : Object | +| Constructors.java:279:13:279:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Constructors.java:279:26:279:33 | source(...) : Object | semmle.label | source(...) : Object | +| Constructors.java:280:10:280:28 | new WeakHashMap<>(...) : WeakHashMap [] : Object | semmle.label | new WeakHashMap<>(...) : WeakHashMap [] : Object | +| Constructors.java:280:26:280:27 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Constructors.java:281:9:281:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Constructors.java:281:21:281:23 | out : WeakHashMap [] : Object | semmle.label | out : WeakHashMap [] : Object | +subpaths +| B.java:55:36:55:43 | source(...) : Object | B.java:37:48:37:52 | obj : Object | B.java:37:64:37:82 | entry(...) : Entry [] : Object | B.java:55:19:55:44 | storeMapKeyEntry(...) : Entry [] : Object | +| B.java:60:38:60:45 | source(...) : Object | B.java:40:50:40:54 | obj : Object | B.java:40:66:40:84 | entry(...) : Entry [] : Object | B.java:60:19:60:46 | storeMapValueEntry(...) : Entry [] : Object | +| B.java:65:38:65:45 | source(...) : Object | B.java:40:50:40:54 | obj : Object | B.java:40:66:40:84 | entry(...) : Entry [] : Object | B.java:65:19:65:46 | storeMapValueEntry(...) : Entry [] : Object | +| B.java:70:65:70:67 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:70:52:70:68 | readMapValue(...) | +| B.java:75:38:75:45 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:75:21:75:46 | storeElementList(...) : List [] : Object | +| B.java:75:87:75:89 | out : Iterator [] : Object | B.java:32:28:32:42 | obj : Iterator [] : Object | B.java:32:54:32:63 | next(...) : Object | B.java:75:75:75:90 | readElement(...) | +| B.java:80:38:80:45 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:80:21:80:46 | storeElementList(...) : List [] : Object | +| B.java:85:46:85:53 | source(...) : Object | B.java:29:55:29:59 | obj : Object | B.java:29:71:29:97 | listIterator(...) : ListIterator [] : Object | B.java:85:21:85:54 | storeElementListIterator(...) : ListIterator [] : Object | +| B.java:90:50:90:57 | source(...) : Object | B.java:29:55:29:59 | obj : Object | B.java:29:71:29:97 | listIterator(...) : ListIterator [] : Object | B.java:90:25:90:58 | storeElementListIterator(...) : ListIterator [] : Object | +| B.java:95:59:95:61 | out : ListIterator [] : Object | B.java:32:28:32:42 | obj : ListIterator [] : Object | B.java:32:54:32:63 | next(...) : Object | B.java:95:47:95:62 | readElement(...) | +| B.java:100:59:100:61 | out : ListIterator [] : Object | B.java:32:28:32:42 | obj : ListIterator [] : Object | B.java:32:54:32:63 | next(...) : Object | B.java:100:47:100:62 | readElement(...) | +| B.java:105:48:105:55 | source(...) : Object | B.java:25:53:25:57 | obj : Object | B.java:25:111:25:122 | elements(...) : Enumeration [] : Object | B.java:105:24:105:56 | storeElementEnumeration(...) : Enumeration [] : Object | +| B.java:105:99:105:101 | out : Iterator [] : Object | B.java:32:28:32:42 | obj : Iterator [] : Object | B.java:32:54:32:63 | next(...) : Object | B.java:105:87:105:102 | readElement(...) | +| B.java:110:48:110:55 | source(...) : Object | B.java:25:53:25:57 | obj : Object | B.java:25:111:25:122 | elements(...) : Enumeration [] : Object | B.java:110:24:110:56 | storeElementEnumeration(...) : Enumeration [] : Object | +| B.java:115:33:115:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:115:19:115:41 | storeMapValue(...) : Map [] : Object | +| B.java:124:66:124:68 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:124:53:124:69 | readMapValue(...) | +| B.java:129:33:129:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:129:19:129:41 | storeMapValue(...) : Map [] : Object | +| B.java:129:90:129:105 | readElement(...) : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:129:77:129:106 | readMapValue(...) | +| B.java:134:31:134:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:134:19:134:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:134:86:134:101 | readElement(...) : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | B.java:134:75:134:102 | readMapKey(...) | +| B.java:139:33:139:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:139:19:139:41 | storeMapValue(...) : Map [] : Object | +| B.java:144:33:144:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:144:19:144:41 | storeMapValue(...) : Map [] : Object | +| B.java:154:33:154:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:154:19:154:41 | storeMapValue(...) : Map [] : Object | +| B.java:159:63:159:65 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:159:52:159:66 | readMapKey(...) | +| B.java:164:65:164:67 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:164:52:164:68 | readMapValue(...) | +| B.java:169:33:169:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:169:19:169:41 | storeMapValue(...) : Map [] : Object | +| B.java:174:71:174:73 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:174:60:174:74 | readMapKey(...) | +| B.java:179:73:179:75 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:179:60:179:76 | readMapValue(...) | +| B.java:184:33:184:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:184:19:184:41 | storeMapValue(...) : Map [] : Object | +| B.java:189:33:189:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:189:19:189:41 | storeMapValue(...) : Map [] : Object | +| B.java:194:67:194:69 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:194:56:194:70 | readMapKey(...) | +| B.java:199:69:199:71 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:199:56:199:72 | readMapValue(...) | +| B.java:204:72:204:74 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:204:61:204:75 | readMapKey(...) | +| B.java:209:74:209:76 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:209:61:209:77 | readMapValue(...) | +| B.java:214:31:214:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:214:19:214:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:214:85:214:87 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:214:73:214:88 | readElement(...) | +| B.java:219:33:219:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:219:19:219:41 | storeMapValue(...) : Map [] : Object | +| B.java:219:87:219:89 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:219:75:219:90 | readElement(...) | +| B.java:224:72:224:74 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:224:59:224:75 | readMapValue(...) | +| B.java:229:31:229:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:229:19:229:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:229:79:229:81 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:229:68:229:82 | readMapKey(...) | +| B.java:234:33:234:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:234:19:234:41 | storeMapValue(...) : Map [] : Object | +| B.java:234:83:234:85 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:234:70:234:86 | readMapValue(...) | +| B.java:239:40:239:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:239:23:239:48 | storeElementList(...) : List [] : Object | +| B.java:244:40:244:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:244:23:244:48 | storeElementList(...) : List [] : Object | +| B.java:249:40:249:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:249:23:249:48 | storeElementList(...) : List [] : Object | +| B.java:249:93:249:95 | out : Object[] [[]] : Object | B.java:14:34:14:45 | obj : Object[] [[]] : Object | B.java:14:57:14:62 | ...[...] : Object | B.java:249:76:249:96 | readArrayElement(...) | +| B.java:254:40:254:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:254:23:254:48 | storeElementList(...) : List [] : Object | +| B.java:254:90:254:92 | out : Object[] [[]] : Object | B.java:14:34:14:45 | obj : Object[] [[]] : Object | B.java:14:57:14:62 | ...[...] : Object | B.java:254:73:254:93 | readArrayElement(...) | +| B.java:259:59:259:61 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:259:47:259:62 | readElement(...) | +| B.java:264:40:264:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:264:23:264:48 | storeElementList(...) : List [] : Object | +| B.java:264:84:264:86 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:264:72:264:87 | readElement(...) | +| B.java:269:34:269:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:269:17:269:42 | storeElementList(...) : List [] : Object | +| B.java:274:34:274:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:274:17:274:42 | storeElementList(...) : List [] : Object | +| B.java:274:87:274:89 | out : ListIterator [] : Object | B.java:32:28:32:42 | obj : ListIterator [] : Object | B.java:32:54:32:63 | next(...) : Object | B.java:274:75:274:90 | readElement(...) | +| B.java:279:34:279:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:279:17:279:42 | storeElementList(...) : List [] : Object | +| B.java:284:34:284:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:284:17:284:42 | storeElementList(...) : List [] : Object | +| B.java:289:61:289:63 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:289:49:289:64 | readElement(...) | +| B.java:294:34:294:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:294:17:294:42 | storeElementList(...) : List [] : Object | +| B.java:294:85:294:87 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:294:73:294:88 | readElement(...) | +| B.java:299:61:299:63 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:299:49:299:64 | readElement(...) | +| B.java:304:40:304:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:304:23:304:48 | storeElementList(...) : List [] : Object | +| B.java:304:86:304:88 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:304:74:304:89 | readElement(...) | +| B.java:319:37:319:44 | source(...) : Object | B.java:27:41:27:45 | obj : Object | B.java:27:98:27:98 | s : Stack [] : Object | B.java:319:19:319:45 | storeElementStack(...) : Stack [] : Object | +| B.java:324:37:324:44 | source(...) : Object | B.java:27:41:27:45 | obj : Object | B.java:27:98:27:98 | s : Stack [] : Object | B.java:324:19:324:45 | storeElementStack(...) : Stack [] : Object | +| B.java:324:86:324:88 | out : Enumeration [] : Object | B.java:35:28:35:45 | obj : Enumeration [] : Object | B.java:35:57:35:73 | nextElement(...) : Object | B.java:324:74:324:89 | readElement(...) | +| B.java:329:37:329:44 | source(...) : Object | B.java:27:41:27:45 | obj : Object | B.java:27:98:27:98 | s : Stack [] : Object | B.java:329:19:329:45 | storeElementStack(...) : Stack [] : Object | +| B.java:334:37:334:44 | source(...) : Object | B.java:27:41:27:45 | obj : Object | B.java:27:98:27:98 | s : Stack [] : Object | B.java:334:19:334:45 | storeElementStack(...) : Stack [] : Object | +| B.java:339:66:339:68 | out : Vector [] : Object | B.java:31:28:31:42 | obj : Vector [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:339:54:339:69 | readElement(...) | +| B.java:344:73:344:75 | out : Vector [] : Object | B.java:31:28:31:42 | obj : Vector [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:344:61:344:76 | readElement(...) | +| B.java:349:70:349:72 | out : Vector [] : Object | B.java:31:28:31:42 | obj : Vector [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:349:58:349:73 | readElement(...) | +| B.java:354:37:354:44 | source(...) : Object | B.java:27:41:27:45 | obj : Object | B.java:27:98:27:98 | s : Stack [] : Object | B.java:354:19:354:45 | storeElementStack(...) : Stack [] : Object | +| B.java:354:88:354:90 | out : Object[] [[]] : Object | B.java:14:34:14:45 | obj : Object[] [[]] : Object | B.java:14:57:14:62 | ...[...] : Object | B.java:354:71:354:91 | readArrayElement(...) | +| B.java:359:36:359:43 | source(...) : Object | B.java:27:41:27:45 | obj : Object | B.java:27:98:27:98 | s : Stack [] : Object | B.java:359:18:359:44 | storeElementStack(...) : Stack [] : Object | +| B.java:364:36:364:43 | source(...) : Object | B.java:27:41:27:45 | obj : Object | B.java:27:98:27:98 | s : Stack [] : Object | B.java:364:18:364:44 | storeElementStack(...) : Stack [] : Object | +| B.java:369:60:369:62 | out : Stack [] : Object | B.java:31:28:31:42 | obj : Stack [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:369:48:369:63 | readElement(...) | +| B.java:374:44:374:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:374:18:374:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:379:44:379:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:379:18:379:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:384:44:384:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:384:18:384:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:389:44:389:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:389:18:389:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:394:61:394:63 | out : Queue [] : Object | B.java:31:28:31:42 | obj : Queue [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:394:49:394:64 | readElement(...) | +| B.java:399:44:399:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:399:18:399:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:399:103:399:105 | out : Iterator [] : Object | B.java:32:28:32:42 | obj : Iterator [] : Object | B.java:32:54:32:63 | next(...) : Object | B.java:399:91:399:106 | readElement(...) | +| B.java:404:44:404:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:404:18:404:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:409:44:409:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:409:18:409:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:414:44:414:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:414:18:414:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:419:44:419:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:419:18:419:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:424:44:424:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:424:18:424:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:429:44:429:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:429:18:429:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:434:44:434:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:434:18:434:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:439:44:439:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:439:18:439:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:444:44:444:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:444:18:444:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:449:60:449:62 | out : Deque [] : Object | B.java:31:28:31:42 | obj : Deque [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:449:48:449:63 | readElement(...) | +| B.java:454:65:454:67 | out : Deque [] : Object | B.java:31:28:31:42 | obj : Deque [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:454:53:454:68 | readElement(...) | +| B.java:459:66:459:68 | out : Deque [] : Object | B.java:31:28:31:42 | obj : Deque [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:459:54:459:69 | readElement(...) | +| B.java:464:63:464:65 | out : Deque [] : Object | B.java:31:28:31:42 | obj : Deque [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:464:51:464:66 | readElement(...) | +| B.java:469:64:469:66 | out : Deque [] : Object | B.java:31:28:31:42 | obj : Deque [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:469:52:469:67 | readElement(...) | +| B.java:474:52:474:59 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:474:26:474:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:479:52:479:59 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:479:26:479:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:484:52:484:59 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:484:26:484:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:489:52:489:59 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:489:26:489:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:494:52:494:59 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:494:26:494:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:499:52:499:59 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:499:26:499:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:504:68:504:70 | out : BlockingQueue [] : Object | B.java:31:28:31:42 | obj : BlockingQueue [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:504:56:504:71 | readElement(...) | +| B.java:509:59:509:61 | out : BlockingQueue [] : Object | B.java:31:28:31:42 | obj : BlockingQueue [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:509:47:509:62 | readElement(...) | +| B.java:514:72:514:74 | out : BlockingDeque [] : Object | B.java:31:28:31:42 | obj : BlockingDeque [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:514:60:514:75 | readElement(...) | +| B.java:519:73:519:75 | out : BlockingDeque [] : Object | B.java:31:28:31:42 | obj : BlockingDeque [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:519:61:519:76 | readElement(...) | +| B.java:524:63:524:65 | out : BlockingDeque [] : Object | B.java:31:28:31:42 | obj : BlockingDeque [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:524:51:524:66 | readElement(...) | +| B.java:529:64:529:66 | out : BlockingDeque [] : Object | B.java:31:28:31:42 | obj : BlockingDeque [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:529:52:529:67 | readElement(...) | +| B.java:534:52:534:59 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:534:26:534:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:534:99:534:101 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:534:87:534:102 | readElement(...) | +| B.java:539:52:539:59 | source(...) : Object | B.java:28:57:28:61 | obj : Object | B.java:28:141:28:141 | q : LinkedBlockingDeque [] : Object | B.java:539:26:539:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| B.java:539:97:539:99 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:539:85:539:100 | readElement(...) | +| B.java:544:33:544:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:544:19:544:41 | storeMapValue(...) : Map [] : Object | +| B.java:544:103:544:105 | out : Enumeration [] : Object | B.java:35:28:35:45 | obj : Enumeration [] : Object | B.java:35:57:35:73 | nextElement(...) : Object | B.java:544:91:544:106 | readElement(...) | +| B.java:549:33:549:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:549:19:549:41 | storeMapValue(...) : Map [] : Object | +| B.java:549:96:549:98 | out : Enumeration [] : Object | B.java:35:28:35:45 | obj : Enumeration [] : Object | B.java:35:57:35:73 | nextElement(...) : Object | B.java:549:84:549:99 | readElement(...) | +| B.java:554:33:554:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:554:19:554:41 | storeMapValue(...) : Map [] : Object | +| B.java:559:33:559:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:559:19:559:41 | storeMapValue(...) : Map [] : Object | +| B.java:564:63:564:65 | out : Dictionary [] : Object | B.java:45:29:45:47 | obj : Dictionary [] : Object | B.java:45:59:45:82 | nextElement(...) : Object | B.java:564:52:564:66 | readMapKey(...) | +| B.java:569:65:569:67 | out : Dictionary [] : Object | B.java:49:31:49:49 | obj : Dictionary [] : Object | B.java:49:61:49:73 | get(...) : Object | B.java:569:52:569:68 | readMapValue(...) | +| B.java:574:33:574:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:574:19:574:41 | storeMapValue(...) : Map [] : Object | +| B.java:579:31:579:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:579:19:579:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:579:103:579:105 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | B.java:579:92:579:106 | readMapKey(...) | +| B.java:584:33:584:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:584:19:584:41 | storeMapValue(...) : Map [] : Object | +| B.java:584:107:584:109 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:584:94:584:110 | readMapValue(...) | +| B.java:589:31:589:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:589:19:589:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:589:100:589:102 | out : NavigableMap [] : Object | B.java:44:29:44:40 | obj : NavigableMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:589:89:589:103 | readMapKey(...) | +| B.java:594:33:594:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:594:19:594:41 | storeMapValue(...) : Map [] : Object | +| B.java:594:104:594:106 | out : NavigableMap [] : Object | B.java:48:31:48:42 | obj : NavigableMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:594:91:594:107 | readMapValue(...) | +| B.java:599:31:599:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:599:19:599:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:599:97:599:99 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | B.java:599:86:599:100 | readMapKey(...) | +| B.java:604:33:604:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:604:19:604:41 | storeMapValue(...) : Map [] : Object | +| B.java:604:101:604:103 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:604:88:604:104 | readMapValue(...) | +| B.java:609:31:609:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:609:19:609:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:609:101:609:103 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | B.java:609:90:609:104 | readMapKey(...) | +| B.java:614:33:614:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:614:19:614:41 | storeMapValue(...) : Map [] : Object | +| B.java:614:105:614:107 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:614:92:614:108 | readMapValue(...) | +| B.java:619:31:619:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:619:19:619:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:619:103:619:105 | out : NavigableMap [] : Object | B.java:44:29:44:40 | obj : NavigableMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:619:92:619:106 | readMapKey(...) | +| B.java:624:33:624:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:624:19:624:41 | storeMapValue(...) : Map [] : Object | +| B.java:624:107:624:109 | out : NavigableMap [] : Object | B.java:48:31:48:42 | obj : NavigableMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:624:94:624:110 | readMapValue(...) | +| B.java:629:31:629:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:629:19:629:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:629:102:629:104 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | B.java:629:91:629:105 | readMapKey(...) | +| B.java:634:33:634:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:634:19:634:41 | storeMapValue(...) : Map [] : Object | +| B.java:634:106:634:108 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:634:93:634:109 | readMapValue(...) | +| B.java:639:31:639:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:639:19:639:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:639:96:639:98 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | B.java:639:85:639:99 | readMapKey(...) | +| B.java:644:33:644:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:644:19:644:41 | storeMapValue(...) : Map [] : Object | +| B.java:644:100:644:102 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:644:87:644:103 | readMapValue(...) | +| B.java:649:31:649:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:649:19:649:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:649:101:649:103 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | B.java:649:90:649:104 | readMapKey(...) | +| B.java:654:33:654:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:654:19:654:41 | storeMapValue(...) : Map [] : Object | +| B.java:654:105:654:107 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:654:92:654:108 | readMapValue(...) | +| B.java:659:31:659:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:659:19:659:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:659:101:659:103 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | B.java:659:90:659:104 | readMapKey(...) | +| B.java:664:33:664:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:664:19:664:41 | storeMapValue(...) : Map [] : Object | +| B.java:664:105:664:107 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:664:92:664:108 | readMapValue(...) | +| B.java:669:31:669:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:669:19:669:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:669:100:669:102 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | B.java:669:89:669:103 | readMapKey(...) | +| B.java:674:33:674:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:674:19:674:41 | storeMapValue(...) : Map [] : Object | +| B.java:674:104:674:106 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:674:91:674:107 | readMapValue(...) | +| B.java:679:31:679:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:679:19:679:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:679:112:679:114 | out : NavigableMap [] : Object | B.java:44:29:44:40 | obj : NavigableMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:679:101:679:115 | readMapKey(...) | +| B.java:684:33:684:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:684:19:684:41 | storeMapValue(...) : Map [] : Object | +| B.java:684:116:684:118 | out : NavigableMap [] : Object | B.java:48:31:48:42 | obj : NavigableMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:684:103:684:119 | readMapValue(...) | +| B.java:689:31:689:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:689:19:689:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:689:103:689:105 | out : NavigableMap [] : Object | B.java:44:29:44:40 | obj : NavigableMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:689:92:689:106 | readMapKey(...) | +| B.java:694:33:694:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:694:19:694:41 | storeMapValue(...) : Map [] : Object | +| B.java:694:107:694:109 | out : NavigableMap [] : Object | B.java:48:31:48:42 | obj : NavigableMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:694:94:694:110 | readMapValue(...) | +| B.java:699:44:699:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:699:25:699:52 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:704:44:704:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:704:25:704:52 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:704:103:704:105 | out : Iterator [] : Object | B.java:32:28:32:42 | obj : Iterator [] : Object | B.java:32:54:32:63 | next(...) : Object | B.java:704:91:704:106 | readElement(...) | +| B.java:709:44:709:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:709:25:709:52 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:709:98:709:100 | out : NavigableSet [] : Object | B.java:31:28:31:42 | obj : NavigableSet [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:709:86:709:101 | readElement(...) | +| B.java:714:44:714:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:714:25:714:52 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:719:44:719:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:719:25:719:52 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:719:101:719:103 | out : NavigableSet [] : Object | B.java:31:28:31:42 | obj : NavigableSet [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:719:89:719:104 | readElement(...) | +| B.java:724:44:724:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:724:25:724:52 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:729:44:729:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:729:25:729:52 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:734:44:734:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:734:25:734:52 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:739:44:739:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:739:25:739:52 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:744:44:744:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:744:25:744:52 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:744:110:744:112 | out : NavigableSet [] : Object | B.java:31:28:31:42 | obj : NavigableSet [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:744:98:744:113 | readElement(...) | +| B.java:749:44:749:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:749:25:749:52 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:749:101:749:103 | out : NavigableSet [] : Object | B.java:31:28:31:42 | obj : NavigableSet [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:749:89:749:104 | readElement(...) | +| B.java:754:31:754:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:754:19:754:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:754:95:754:97 | out : SortedMap [] : Object | B.java:44:29:44:40 | obj : SortedMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:754:84:754:98 | readMapKey(...) | +| B.java:759:33:759:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:759:19:759:41 | storeMapValue(...) : Map [] : Object | +| B.java:759:99:759:101 | out : SortedMap [] : Object | B.java:48:31:48:42 | obj : SortedMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:759:86:759:102 | readMapValue(...) | +| B.java:764:31:764:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:764:19:764:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:764:99:764:101 | out : SortedMap [] : Object | B.java:44:29:44:40 | obj : SortedMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:764:88:764:102 | readMapKey(...) | +| B.java:769:33:769:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:769:19:769:41 | storeMapValue(...) : Map [] : Object | +| B.java:769:103:769:105 | out : SortedMap [] : Object | B.java:48:31:48:42 | obj : SortedMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:769:90:769:106 | readMapValue(...) | +| B.java:774:31:774:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:774:19:774:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:774:95:774:97 | out : SortedMap [] : Object | B.java:44:29:44:40 | obj : SortedMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:774:84:774:98 | readMapKey(...) | +| B.java:779:33:779:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:779:19:779:41 | storeMapValue(...) : Map [] : Object | +| B.java:779:99:779:101 | out : SortedMap [] : Object | B.java:48:31:48:42 | obj : SortedMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:779:86:779:102 | readMapValue(...) | +| B.java:784:41:784:48 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:784:22:784:49 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:789:41:789:48 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:789:22:789:49 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:789:93:789:95 | out : SortedSet [] : Object | B.java:31:28:31:42 | obj : SortedSet [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:789:81:789:96 | readElement(...) | +| B.java:794:41:794:48 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:794:22:794:49 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:799:41:799:48 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:799:22:799:49 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:799:97:799:99 | out : SortedSet [] : Object | B.java:31:28:31:42 | obj : SortedSet [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:799:85:799:100 | readElement(...) | +| B.java:804:41:804:48 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:804:22:804:49 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:804:93:804:95 | out : SortedSet [] : Object | B.java:31:28:31:42 | obj : SortedSet [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:804:81:804:96 | readElement(...) | +| B.java:809:74:809:76 | out : TransferQueue [] : Object | B.java:31:28:31:42 | obj : TransferQueue [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:809:62:809:77 | readElement(...) | +| B.java:814:64:814:66 | out : TransferQueue [] : Object | B.java:31:28:31:42 | obj : TransferQueue [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:814:52:814:67 | readElement(...) | +| B.java:819:67:819:69 | out : TransferQueue [] : Object | B.java:31:28:31:42 | obj : TransferQueue [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:819:55:819:70 | readElement(...) | +| B.java:824:40:824:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:824:23:824:48 | storeElementList(...) : List [] : Object | +| B.java:824:91:824:93 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:824:79:824:94 | readElement(...) | +| B.java:829:39:829:46 | source(...) : Object | B.java:11:37:11:46 | obj : Object | B.java:11:58:11:75 | new Object[] : Object[] [[]] : Object | B.java:829:21:829:47 | storeArrayElement(...) : Object[] [[]] : Object | +| B.java:829:86:829:88 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:829:74:829:89 | readElement(...) | +| B.java:834:65:834:67 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:834:53:834:68 | readElement(...) | +| B.java:839:70:839:72 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:839:58:839:73 | readElement(...) | +| B.java:844:70:844:72 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:844:58:844:73 | readElement(...) | +| B.java:849:75:849:77 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:849:63:849:78 | readElement(...) | +| B.java:854:75:854:77 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:854:63:854:78 | readElement(...) | +| B.java:859:75:859:77 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:859:63:859:78 | readElement(...) | +| B.java:864:80:864:82 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:864:68:864:83 | readElement(...) | +| B.java:869:80:869:82 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:869:68:869:83 | readElement(...) | +| B.java:874:80:874:82 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:874:68:874:83 | readElement(...) | +| B.java:879:80:879:82 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:879:68:879:83 | readElement(...) | +| B.java:884:85:884:87 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:884:73:884:88 | readElement(...) | +| B.java:889:85:889:87 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:889:73:889:88 | readElement(...) | +| B.java:894:85:894:87 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:894:73:894:88 | readElement(...) | +| B.java:899:85:899:87 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:899:73:899:88 | readElement(...) | +| B.java:904:85:904:87 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:904:73:904:88 | readElement(...) | +| B.java:909:90:909:92 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:909:78:909:93 | readElement(...) | +| B.java:914:90:914:92 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:914:78:914:93 | readElement(...) | +| B.java:919:90:919:92 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:919:78:919:93 | readElement(...) | +| B.java:924:90:924:92 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:924:78:924:93 | readElement(...) | +| B.java:929:90:929:92 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:929:78:929:93 | readElement(...) | +| B.java:934:90:934:92 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:934:78:934:93 | readElement(...) | +| B.java:939:95:939:97 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:939:83:939:98 | readElement(...) | +| B.java:944:95:944:97 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:944:83:944:98 | readElement(...) | +| B.java:949:95:949:97 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:949:83:949:98 | readElement(...) | +| B.java:954:95:954:97 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:954:83:954:98 | readElement(...) | +| B.java:959:95:959:97 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:959:83:959:98 | readElement(...) | +| B.java:964:95:964:97 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:964:83:964:98 | readElement(...) | +| B.java:969:95:969:97 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:969:83:969:98 | readElement(...) | +| B.java:974:100:974:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:974:88:974:103 | readElement(...) | +| B.java:979:100:979:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:979:88:979:103 | readElement(...) | +| B.java:984:100:984:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:984:88:984:103 | readElement(...) | +| B.java:989:100:989:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:989:88:989:103 | readElement(...) | +| B.java:994:100:994:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:994:88:994:103 | readElement(...) | +| B.java:999:100:999:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:999:88:999:103 | readElement(...) | +| B.java:1004:100:1004:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1004:88:1004:103 | readElement(...) | +| B.java:1009:100:1009:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1009:88:1009:103 | readElement(...) | +| B.java:1014:105:1014:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1014:93:1014:108 | readElement(...) | +| B.java:1019:105:1019:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1019:93:1019:108 | readElement(...) | +| B.java:1024:105:1024:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1024:93:1024:108 | readElement(...) | +| B.java:1029:105:1029:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1029:93:1029:108 | readElement(...) | +| B.java:1034:105:1034:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1034:93:1034:108 | readElement(...) | +| B.java:1039:105:1039:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1039:93:1039:108 | readElement(...) | +| B.java:1044:105:1044:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1044:93:1044:108 | readElement(...) | +| B.java:1049:105:1049:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1049:93:1049:108 | readElement(...) | +| B.java:1054:105:1054:107 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1054:93:1054:108 | readElement(...) | +| B.java:1059:110:1059:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1059:98:1059:113 | readElement(...) | +| B.java:1064:110:1064:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1064:98:1064:113 | readElement(...) | +| B.java:1069:110:1069:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1069:98:1069:113 | readElement(...) | +| B.java:1074:110:1074:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1074:98:1074:113 | readElement(...) | +| B.java:1079:110:1079:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1079:98:1079:113 | readElement(...) | +| B.java:1084:110:1084:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1084:98:1084:113 | readElement(...) | +| B.java:1089:110:1089:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1089:98:1089:113 | readElement(...) | +| B.java:1094:110:1094:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1094:98:1094:113 | readElement(...) | +| B.java:1099:110:1099:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1099:98:1099:113 | readElement(...) | +| B.java:1104:110:1104:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1104:98:1104:113 | readElement(...) | +| B.java:1109:31:1109:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1109:19:1109:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:1109:85:1109:87 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1109:74:1109:88 | readMapKey(...) | +| B.java:1114:33:1114:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1114:19:1114:41 | storeMapValue(...) : Map [] : Object | +| B.java:1114:89:1114:91 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1114:76:1114:92 | readMapValue(...) | +| B.java:1119:71:1119:73 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | B.java:1119:60:1119:74 | readMapKey(...) | +| B.java:1124:73:1124:75 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:1124:60:1124:76 | readMapValue(...) | +| B.java:1129:68:1129:70 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1129:57:1129:71 | readMapKey(...) | +| B.java:1134:70:1134:72 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1134:57:1134:73 | readMapValue(...) | +| B.java:1139:78:1139:80 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1139:67:1139:81 | readMapKey(...) | +| B.java:1144:80:1144:82 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1144:67:1144:83 | readMapValue(...) | +| B.java:1149:88:1149:90 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1149:77:1149:91 | readMapKey(...) | +| B.java:1154:90:1154:92 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1154:77:1154:93 | readMapValue(...) | +| B.java:1159:98:1159:100 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1159:87:1159:101 | readMapKey(...) | +| B.java:1164:100:1164:102 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1164:87:1164:103 | readMapValue(...) | +| B.java:1169:108:1169:110 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1169:97:1169:111 | readMapKey(...) | +| B.java:1174:110:1174:112 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1174:97:1174:113 | readMapValue(...) | +| B.java:1179:118:1179:120 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1179:107:1179:121 | readMapKey(...) | +| B.java:1184:120:1184:122 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1184:107:1184:123 | readMapValue(...) | +| B.java:1189:128:1189:130 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1189:117:1189:131 | readMapKey(...) | +| B.java:1194:130:1194:132 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1194:117:1194:133 | readMapValue(...) | +| B.java:1199:138:1199:140 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1199:127:1199:141 | readMapKey(...) | +| B.java:1204:140:1204:142 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1204:127:1204:143 | readMapValue(...) | +| B.java:1209:148:1209:150 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1209:137:1209:151 | readMapKey(...) | +| B.java:1214:150:1214:152 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1214:137:1214:153 | readMapValue(...) | +| B.java:1219:158:1219:160 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1219:147:1219:161 | readMapKey(...) | +| B.java:1224:160:1224:162 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1224:147:1224:163 | readMapValue(...) | +| B.java:1229:39:1229:59 | storeMapKey(...) : TreeMap [] : Object | B.java:11:37:11:46 | obj : TreeMap [] : Object | B.java:11:58:11:75 | new Object[] : Object[] [[], ] : Object | B.java:1229:21:1229:60 | storeArrayElement(...) : Object[] [[], ] : Object | +| B.java:1229:51:1229:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1229:39:1229:59 | storeMapKey(...) : TreeMap [] : Object | +| B.java:1229:117:1229:119 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1229:106:1229:120 | readMapKey(...) | +| B.java:1234:39:1234:61 | storeMapValue(...) : Map [] : Object | B.java:11:37:11:46 | obj : Map [] : Object | B.java:11:58:11:75 | new Object[] : Object[] [[], ] : Object | B.java:1234:21:1234:62 | storeArrayElement(...) : Object[] [[], ] : Object | +| B.java:1234:53:1234:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1234:39:1234:61 | storeMapValue(...) : Map [] : Object | +| B.java:1234:121:1234:123 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1234:108:1234:124 | readMapValue(...) | +| B.java:1249:40:1249:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:1249:23:1249:48 | storeElementList(...) : List [] : Object | +| B.java:1249:90:1249:92 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1249:78:1249:93 | readElement(...) | +| B.java:1254:39:1254:46 | source(...) : Object | B.java:11:37:11:46 | obj : Object | B.java:11:58:11:75 | new Object[] : Object[] [[]] : Object | B.java:1254:21:1254:47 | storeArrayElement(...) : Object[] [[]] : Object | +| B.java:1254:85:1254:87 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1254:73:1254:88 | readElement(...) | +| B.java:1259:64:1259:66 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1259:52:1259:67 | readElement(...) | +| B.java:1264:69:1264:71 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1264:57:1264:72 | readElement(...) | +| B.java:1269:69:1269:71 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1269:57:1269:72 | readElement(...) | +| B.java:1274:74:1274:76 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1274:62:1274:77 | readElement(...) | +| B.java:1279:74:1279:76 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1279:62:1279:77 | readElement(...) | +| B.java:1284:74:1284:76 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1284:62:1284:77 | readElement(...) | +| B.java:1289:79:1289:81 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1289:67:1289:82 | readElement(...) | +| B.java:1294:79:1294:81 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1294:67:1294:82 | readElement(...) | +| B.java:1299:79:1299:81 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1299:67:1299:82 | readElement(...) | +| B.java:1304:79:1304:81 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1304:67:1304:82 | readElement(...) | +| B.java:1309:84:1309:86 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1309:72:1309:87 | readElement(...) | +| B.java:1314:84:1314:86 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1314:72:1314:87 | readElement(...) | +| B.java:1319:84:1319:86 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1319:72:1319:87 | readElement(...) | +| B.java:1324:84:1324:86 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1324:72:1324:87 | readElement(...) | +| B.java:1329:84:1329:86 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1329:72:1329:87 | readElement(...) | +| B.java:1334:89:1334:91 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1334:77:1334:92 | readElement(...) | +| B.java:1339:89:1339:91 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1339:77:1339:92 | readElement(...) | +| B.java:1344:89:1344:91 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1344:77:1344:92 | readElement(...) | +| B.java:1349:89:1349:91 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1349:77:1349:92 | readElement(...) | +| B.java:1354:89:1354:91 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1354:77:1354:92 | readElement(...) | +| B.java:1359:89:1359:91 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1359:77:1359:92 | readElement(...) | +| B.java:1364:94:1364:96 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1364:82:1364:97 | readElement(...) | +| B.java:1369:94:1369:96 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1369:82:1369:97 | readElement(...) | +| B.java:1374:94:1374:96 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1374:82:1374:97 | readElement(...) | +| B.java:1379:94:1379:96 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1379:82:1379:97 | readElement(...) | +| B.java:1384:94:1384:96 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1384:82:1384:97 | readElement(...) | +| B.java:1389:94:1389:96 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1389:82:1389:97 | readElement(...) | +| B.java:1394:94:1394:96 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1394:82:1394:97 | readElement(...) | +| B.java:1399:99:1399:101 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1399:87:1399:102 | readElement(...) | +| B.java:1404:99:1404:101 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1404:87:1404:102 | readElement(...) | +| B.java:1409:99:1409:101 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1409:87:1409:102 | readElement(...) | +| B.java:1414:99:1414:101 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1414:87:1414:102 | readElement(...) | +| B.java:1419:99:1419:101 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1419:87:1419:102 | readElement(...) | +| B.java:1424:99:1424:101 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1424:87:1424:102 | readElement(...) | +| B.java:1429:99:1429:101 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1429:87:1429:102 | readElement(...) | +| B.java:1434:99:1434:101 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1434:87:1434:102 | readElement(...) | +| B.java:1439:104:1439:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1439:92:1439:107 | readElement(...) | +| B.java:1444:104:1444:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1444:92:1444:107 | readElement(...) | +| B.java:1449:104:1449:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1449:92:1449:107 | readElement(...) | +| B.java:1454:104:1454:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1454:92:1454:107 | readElement(...) | +| B.java:1459:104:1459:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1459:92:1459:107 | readElement(...) | +| B.java:1464:104:1464:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1464:92:1464:107 | readElement(...) | +| B.java:1469:104:1469:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1469:92:1469:107 | readElement(...) | +| B.java:1474:104:1474:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1474:92:1474:107 | readElement(...) | +| B.java:1479:104:1479:106 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1479:92:1479:107 | readElement(...) | +| B.java:1484:109:1484:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1484:97:1484:112 | readElement(...) | +| B.java:1489:109:1489:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1489:97:1489:112 | readElement(...) | +| B.java:1494:109:1494:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1494:97:1494:112 | readElement(...) | +| B.java:1499:109:1499:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1499:97:1499:112 | readElement(...) | +| B.java:1504:109:1504:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1504:97:1504:112 | readElement(...) | +| B.java:1509:109:1509:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1509:97:1509:112 | readElement(...) | +| B.java:1514:109:1514:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1514:97:1514:112 | readElement(...) | +| B.java:1519:109:1519:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1519:97:1519:112 | readElement(...) | +| B.java:1524:109:1524:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1524:97:1524:112 | readElement(...) | +| B.java:1529:109:1529:111 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1529:97:1529:112 | readElement(...) | +| B.java:1534:39:1534:46 | source(...) : Object | B.java:11:37:11:46 | obj : Object | B.java:11:58:11:75 | new Object[] : Object[] [[]] : Object | B.java:1534:21:1534:47 | storeArrayElement(...) : Object[] [[]] : Object | +| B.java:1539:39:1539:46 | source(...) : Object | B.java:11:37:11:46 | obj : Object | B.java:11:58:11:75 | new Object[] : Object[] [[]] : Object | B.java:1539:21:1539:47 | storeArrayElement(...) : Object[] [[]] : Object | +| B.java:1544:39:1544:46 | source(...) : Object | B.java:11:37:11:46 | obj : Object | B.java:11:58:11:75 | new Object[] : Object[] [[]] : Object | B.java:1544:21:1544:47 | storeArrayElement(...) : Object[] [[]] : Object | +| B.java:1544:114:1544:116 | out : Object[] [[]] : Object | B.java:14:34:14:45 | obj : Object[] [[]] : Object | B.java:14:57:14:62 | ...[...] : Object | B.java:1544:97:1544:117 | readArrayElement(...) | +| B.java:1549:39:1549:46 | source(...) : Object | B.java:11:37:11:46 | obj : Object | B.java:11:58:11:75 | new Object[] : Object[] [[]] : Object | B.java:1549:21:1549:47 | storeArrayElement(...) : Object[] [[]] : Object | +| B.java:1549:107:1549:109 | out : Object[] [[]] : Object | B.java:14:34:14:45 | obj : Object[] [[]] : Object | B.java:14:57:14:62 | ...[...] : Object | B.java:1549:90:1549:110 | readArrayElement(...) | +| B.java:1554:48:1554:55 | source(...) : Object | B.java:25:53:25:57 | obj : Object | B.java:25:111:25:122 | elements(...) : Enumeration [] : Object | B.java:1554:24:1554:56 | storeElementEnumeration(...) : Enumeration [] : Object | +| B.java:1554:112:1554:114 | out : ArrayList [] : Object | B.java:31:28:31:42 | obj : ArrayList [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1554:100:1554:115 | readElement(...) | +| B.java:1559:40:1559:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:1559:23:1559:48 | storeElementList(...) : List [] : Object | +| B.java:1559:111:1559:113 | out : Enumeration [] : Object | B.java:35:28:35:45 | obj : Enumeration [] : Object | B.java:35:57:35:73 | nextElement(...) : Object | B.java:1559:99:1559:114 | readElement(...) | +| B.java:1564:87:1564:89 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1564:75:1564:90 | readElement(...) | +| B.java:1569:94:1569:96 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1569:83:1569:97 | readMapKey(...) | +| B.java:1574:96:1574:98 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1574:83:1574:99 | readMapValue(...) | +| B.java:1579:91:1579:93 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1579:79:1579:94 | readElement(...) | +| B.java:1584:87:1584:89 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1584:75:1584:90 | readElement(...) | +| B.java:1589:31:1589:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1589:19:1589:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:1589:133:1589:135 | out : NavigableMap [] : Object | B.java:44:29:44:40 | obj : NavigableMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1589:122:1589:136 | readMapKey(...) | +| B.java:1594:33:1594:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1594:19:1594:41 | storeMapValue(...) : Map [] : Object | +| B.java:1594:137:1594:139 | out : NavigableMap [] : Object | B.java:48:31:48:42 | obj : NavigableMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1594:124:1594:140 | readMapValue(...) | +| B.java:1599:31:1599:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1599:19:1599:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:1599:127:1599:129 | out : SortedMap [] : Object | B.java:44:29:44:40 | obj : SortedMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1599:116:1599:130 | readMapKey(...) | +| B.java:1604:33:1604:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1604:19:1604:41 | storeMapValue(...) : Map [] : Object | +| B.java:1604:131:1604:133 | out : SortedMap [] : Object | B.java:48:31:48:42 | obj : SortedMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1604:118:1604:134 | readMapValue(...) | +| B.java:1609:31:1609:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1609:19:1609:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:1609:115:1609:117 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1609:104:1609:118 | readMapKey(...) | +| B.java:1614:33:1614:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1614:19:1614:41 | storeMapValue(...) : Map [] : Object | +| B.java:1614:119:1614:121 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1614:106:1614:122 | readMapValue(...) | +| B.java:1619:34:1619:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:1619:17:1619:42 | storeElementList(...) : List [] : Object | +| B.java:1619:110:1619:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1619:98:1619:113 | readElement(...) | +| B.java:1624:44:1624:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:1624:25:1624:52 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1624:128:1624:130 | out : NavigableSet [] : Object | B.java:31:28:31:42 | obj : NavigableSet [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1624:116:1624:131 | readElement(...) | +| B.java:1629:41:1629:48 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:1629:22:1629:49 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1629:122:1629:124 | out : SortedSet [] : Object | B.java:31:28:31:42 | obj : SortedSet [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1629:110:1629:125 | readElement(...) | +| B.java:1634:35:1634:42 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:1634:16:1634:43 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1634:110:1634:112 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1634:98:1634:113 | readElement(...) | +| B.java:1639:40:1639:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:1639:23:1639:48 | storeElementList(...) : List [] : Object | +| B.java:1639:122:1639:124 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1639:110:1639:125 | readElement(...) | +| B.java:1644:31:1644:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1644:19:1644:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:1644:128:1644:130 | out : NavigableMap [] : Object | B.java:44:29:44:40 | obj : NavigableMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1644:117:1644:131 | readMapKey(...) | +| B.java:1649:33:1649:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1649:19:1649:41 | storeMapValue(...) : Map [] : Object | +| B.java:1649:132:1649:134 | out : NavigableMap [] : Object | B.java:48:31:48:42 | obj : NavigableMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1649:119:1649:135 | readMapValue(...) | +| B.java:1654:31:1654:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1654:19:1654:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:1654:122:1654:124 | out : SortedMap [] : Object | B.java:44:29:44:40 | obj : SortedMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1654:111:1654:125 | readMapKey(...) | +| B.java:1659:33:1659:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1659:19:1659:41 | storeMapValue(...) : Map [] : Object | +| B.java:1659:126:1659:128 | out : SortedMap [] : Object | B.java:48:31:48:42 | obj : SortedMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1659:113:1659:129 | readMapValue(...) | +| B.java:1664:31:1664:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1664:19:1664:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:1664:110:1664:112 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1664:99:1664:113 | readMapKey(...) | +| B.java:1669:33:1669:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1669:19:1669:41 | storeMapValue(...) : Map [] : Object | +| B.java:1669:114:1669:116 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1669:101:1669:117 | readMapValue(...) | +| B.java:1674:34:1674:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:1674:17:1674:42 | storeElementList(...) : List [] : Object | +| B.java:1674:110:1674:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1674:98:1674:113 | readElement(...) | +| B.java:1679:44:1679:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:1679:25:1679:52 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1679:128:1679:130 | out : NavigableSet [] : Object | B.java:31:28:31:42 | obj : NavigableSet [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1679:116:1679:131 | readElement(...) | +| B.java:1684:41:1684:48 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:1684:22:1684:49 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1684:122:1684:124 | out : SortedSet [] : Object | B.java:31:28:31:42 | obj : SortedSet [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1684:110:1684:125 | readElement(...) | +| B.java:1689:35:1689:42 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:1689:16:1689:43 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1689:110:1689:112 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1689:98:1689:113 | readElement(...) | +| B.java:1694:40:1694:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:1694:23:1694:48 | storeElementList(...) : List [] : Object | +| B.java:1694:122:1694:124 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1694:110:1694:125 | readElement(...) | +| B.java:1699:31:1699:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1699:19:1699:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:1699:128:1699:130 | out : NavigableMap [] : Object | B.java:44:29:44:40 | obj : NavigableMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1699:117:1699:131 | readMapKey(...) | +| B.java:1704:33:1704:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1704:19:1704:41 | storeMapValue(...) : Map [] : Object | +| B.java:1704:132:1704:134 | out : NavigableMap [] : Object | B.java:48:31:48:42 | obj : NavigableMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1704:119:1704:135 | readMapValue(...) | +| B.java:1709:31:1709:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1709:19:1709:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:1709:122:1709:124 | out : SortedMap [] : Object | B.java:44:29:44:40 | obj : SortedMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1709:111:1709:125 | readMapKey(...) | +| B.java:1714:33:1714:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1714:19:1714:41 | storeMapValue(...) : Map [] : Object | +| B.java:1714:126:1714:128 | out : SortedMap [] : Object | B.java:48:31:48:42 | obj : SortedMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1714:113:1714:129 | readMapValue(...) | +| B.java:1719:31:1719:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1719:19:1719:39 | storeMapKey(...) : TreeMap [] : Object | +| B.java:1719:110:1719:112 | out : Map [] : Object | B.java:44:29:44:40 | obj : Map [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1719:99:1719:113 | readMapKey(...) | +| B.java:1724:33:1724:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1724:19:1724:41 | storeMapValue(...) : Map [] : Object | +| B.java:1724:114:1724:116 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1724:101:1724:117 | readMapValue(...) | +| B.java:1729:34:1729:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:1729:17:1729:42 | storeElementList(...) : List [] : Object | +| B.java:1729:110:1729:112 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1729:98:1729:113 | readElement(...) | +| B.java:1734:44:1734:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:1734:25:1734:52 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1734:128:1734:130 | out : NavigableSet [] : Object | B.java:31:28:31:42 | obj : NavigableSet [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1734:116:1734:131 | readElement(...) | +| B.java:1739:41:1739:48 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:1739:22:1739:49 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1739:122:1739:124 | out : SortedSet [] : Object | B.java:31:28:31:42 | obj : SortedSet [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1739:110:1739:125 | readElement(...) | +| B.java:1744:35:1744:42 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:1744:16:1744:43 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:1744:110:1744:112 | out : Set [] : Object | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1744:98:1744:113 | readElement(...) | +| B.java:1749:40:1749:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:1749:23:1749:48 | storeElementList(...) : List [] : Object | +| B.java:1749:122:1749:124 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1749:110:1749:125 | readElement(...) | +| B.java:1754:40:1754:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:1754:23:1754:48 | storeElementList(...) : List [] : Object | +| B.java:1759:40:1759:47 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:1759:23:1759:48 | storeElementList(...) : List [] : Object | +| B.java:1764:84:1764:86 | out : Object[] [[]] : Object | B.java:14:34:14:45 | obj : Object[] [[]] : Object | B.java:14:57:14:62 | ...[...] : Object | B.java:1764:67:1764:87 | readArrayElement(...) | +| B.java:1769:80:1769:82 | out : Object[] [[]] : Object | B.java:14:34:14:45 | obj : Object[] [[]] : Object | B.java:14:57:14:62 | ...[...] : Object | B.java:1769:63:1769:83 | readArrayElement(...) | +| B.java:1774:90:1774:92 | out : float[] [[]] : Number | B.java:21:33:21:43 | obj : float[] [[]] : Number | B.java:21:55:21:60 | ...[...] : Number | B.java:1774:73:1774:93 | readArrayElement(...) | +| B.java:1779:86:1779:88 | out : float[] [[]] : Number | B.java:21:33:21:43 | obj : float[] [[]] : Number | B.java:21:55:21:60 | ...[...] : Number | B.java:1779:69:1779:89 | readArrayElement(...) | +| B.java:1784:92:1784:94 | out : double[] [[]] : Number | B.java:22:34:22:45 | obj : double[] [[]] : Number | B.java:22:57:22:62 | ...[...] : Number | B.java:1784:75:1784:95 | readArrayElement(...) | +| B.java:1789:88:1789:90 | out : double[] [[]] : Number | B.java:22:34:22:45 | obj : double[] [[]] : Number | B.java:22:57:22:62 | ...[...] : Number | B.java:1789:71:1789:91 | readArrayElement(...) | +| B.java:1794:94:1794:96 | out : boolean[] [[]] : Boolean | B.java:15:35:15:47 | obj : boolean[] [[]] : Boolean | B.java:15:59:15:64 | ...[...] : Boolean | B.java:1794:77:1794:97 | readArrayElement(...) | +| B.java:1799:90:1799:92 | out : boolean[] [[]] : Boolean | B.java:15:35:15:47 | obj : boolean[] [[]] : Boolean | B.java:15:59:15:64 | ...[...] : Boolean | B.java:1799:73:1799:93 | readArrayElement(...) | +| B.java:1804:88:1804:90 | out : byte[] [[]] : Number | B.java:16:32:16:41 | obj : byte[] [[]] : Number | B.java:16:53:16:58 | ...[...] : Number | B.java:1804:71:1804:91 | readArrayElement(...) | +| B.java:1809:84:1809:86 | out : byte[] [[]] : Number | B.java:16:32:16:41 | obj : byte[] [[]] : Number | B.java:16:53:16:58 | ...[...] : Number | B.java:1809:67:1809:87 | readArrayElement(...) | +| B.java:1814:93:1814:95 | out : char[] [[]] : Number | B.java:17:32:17:41 | obj : char[] [[]] : Number | B.java:17:53:17:58 | ...[...] : Number | B.java:1814:76:1814:96 | readArrayElement(...) | +| B.java:1819:89:1819:91 | out : char[] [[]] : Number | B.java:17:32:17:41 | obj : char[] [[]] : Number | B.java:17:53:17:58 | ...[...] : Number | B.java:1819:72:1819:92 | readArrayElement(...) | +| B.java:1824:90:1824:92 | out : short[] [[]] : Number | B.java:18:33:18:43 | obj : short[] [[]] : Number | B.java:18:55:18:60 | ...[...] : Number | B.java:1824:73:1824:93 | readArrayElement(...) | +| B.java:1829:86:1829:88 | out : short[] [[]] : Number | B.java:18:33:18:43 | obj : short[] [[]] : Number | B.java:18:55:18:60 | ...[...] : Number | B.java:1829:69:1829:89 | readArrayElement(...) | +| B.java:1834:90:1834:92 | out : int[] [[]] : Number | B.java:19:31:19:39 | obj : int[] [[]] : Number | B.java:19:51:19:56 | ...[...] : Number | B.java:1834:73:1834:93 | readArrayElement(...) | +| B.java:1839:86:1839:88 | out : int[] [[]] : Number | B.java:19:31:19:39 | obj : int[] [[]] : Number | B.java:19:51:19:56 | ...[...] : Number | B.java:1839:69:1839:89 | readArrayElement(...) | +| B.java:1844:88:1844:90 | out : long[] [[]] : Number | B.java:20:32:20:41 | obj : long[] [[]] : Number | B.java:20:53:20:58 | ...[...] : Number | B.java:1844:71:1844:91 | readArrayElement(...) | +| B.java:1849:84:1849:86 | out : long[] [[]] : Number | B.java:20:32:20:41 | obj : long[] [[]] : Number | B.java:20:53:20:58 | ...[...] : Number | B.java:1849:67:1849:87 | readArrayElement(...) | +| B.java:1854:91:1854:93 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1854:79:1854:94 | readElement(...) | +| B.java:1859:34:1859:41 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:1859:17:1859:42 | storeElementList(...) : List [] : Object | +| B.java:1859:96:1859:98 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1859:84:1859:99 | readElement(...) | +| B.java:1864:80:1864:82 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1864:68:1864:83 | readElement(...) | +| B.java:1869:39:1869:46 | source(...) : Object | B.java:11:37:11:46 | obj : Object | B.java:11:58:11:75 | new Object[] : Object[] [[]] : Object | B.java:1869:21:1869:47 | storeArrayElement(...) : Object[] [[]] : Object | +| B.java:1869:100:1869:102 | out : List [] : Object | B.java:31:28:31:42 | obj : List [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1869:88:1869:103 | readElement(...) | +| B.java:1874:39:1874:46 | source(...) : Object | B.java:11:37:11:46 | obj : Object | B.java:11:58:11:75 | new Object[] : Object[] [[]] : Object | B.java:1874:21:1874:47 | storeArrayElement(...) : Object[] [[]] : Object | +| B.java:1874:103:1874:105 | out : Collection [] : Object | B.java:31:28:31:42 | obj : Collection [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1874:91:1874:106 | readElement(...) | +| B.java:1880:64:1880:66 | out : SequencedCollection [] : Object | B.java:31:28:31:42 | obj : SequencedCollection [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1880:52:1880:67 | readElement(...) | +| B.java:1885:63:1885:65 | out : SequencedCollection [] : Object | B.java:31:28:31:42 | obj : SequencedCollection [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1885:51:1885:66 | readElement(...) | +| B.java:1890:49:1890:56 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:1890:32:1890:57 | storeElementList(...) : List [] : Object | +| B.java:1895:49:1895:56 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:1895:32:1895:57 | storeElementList(...) : List [] : Object | +| B.java:1900:49:1900:56 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:1900:32:1900:57 | storeElementList(...) : List [] : Object | +| B.java:1905:49:1905:56 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:1905:32:1905:57 | storeElementList(...) : List [] : Object | +| B.java:1910:49:1910:56 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:1910:32:1910:57 | storeElementList(...) : List [] : Object | +| B.java:1910:98:1910:100 | out : SequencedCollection [] : Object | B.java:31:28:31:42 | obj : SequencedCollection [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:1910:86:1910:101 | readElement(...) | +| B.java:1915:51:1915:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1915:39:1915:59 | storeMapKey(...) : TreeMap [] : Object | +| B.java:1915:101:1915:103 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | B.java:1915:90:1915:104 | readMapKey(...) | +| B.java:1920:51:1920:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1920:39:1920:59 | storeMapKey(...) : TreeMap [] : Object | +| B.java:1920:100:1920:102 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | B.java:1920:89:1920:103 | readMapKey(...) | +| B.java:1925:51:1925:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1925:39:1925:59 | storeMapKey(...) : TreeMap [] : Object | +| B.java:1925:105:1925:107 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | B.java:1925:94:1925:108 | readMapKey(...) | +| B.java:1930:51:1930:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1930:39:1930:59 | storeMapKey(...) : TreeMap [] : Object | +| B.java:1930:104:1930:106 | out : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | B.java:1930:93:1930:107 | readMapKey(...) | +| B.java:1935:53:1935:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1935:39:1935:61 | storeMapValue(...) : Map [] : Object | +| B.java:1940:69:1940:71 | out : SequencedMap [] : Object | B.java:44:29:44:40 | obj : SequencedMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1940:58:1940:72 | readMapKey(...) | +| B.java:1945:53:1945:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1945:39:1945:61 | storeMapValue(...) : Map [] : Object | +| B.java:1950:68:1950:70 | out : SequencedMap [] : Object | B.java:44:29:44:40 | obj : SequencedMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1950:57:1950:71 | readMapKey(...) | +| B.java:1955:51:1955:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1955:39:1955:59 | storeMapKey(...) : TreeMap [] : Object | +| B.java:1955:99:1955:101 | out : SequencedMap [] : Object | B.java:44:29:44:40 | obj : SequencedMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1955:88:1955:102 | readMapKey(...) | +| B.java:1960:51:1960:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1960:39:1960:59 | storeMapKey(...) : TreeMap [] : Object | +| B.java:1960:108:1960:123 | readElement(...) : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | B.java:1960:97:1960:124 | readMapKey(...) | +| B.java:1965:53:1965:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1965:39:1965:61 | storeMapValue(...) : Map [] : Object | +| B.java:1965:105:1965:107 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:1965:92:1965:108 | readMapValue(...) | +| B.java:1970:53:1970:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1970:39:1970:61 | storeMapValue(...) : Map [] : Object | +| B.java:1970:104:1970:106 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:1970:91:1970:107 | readMapValue(...) | +| B.java:1975:53:1975:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1975:39:1975:61 | storeMapValue(...) : Map [] : Object | +| B.java:1975:109:1975:111 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:1975:96:1975:112 | readMapValue(...) | +| B.java:1980:53:1980:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1980:39:1980:61 | storeMapValue(...) : Map [] : Object | +| B.java:1980:108:1980:110 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:1980:95:1980:111 | readMapValue(...) | +| B.java:1985:71:1985:73 | out : SequencedMap [] : Object | B.java:48:31:48:42 | obj : SequencedMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1985:58:1985:74 | readMapValue(...) | +| B.java:1990:70:1990:72 | out : SequencedMap [] : Object | B.java:48:31:48:42 | obj : SequencedMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1990:57:1990:73 | readMapValue(...) | +| B.java:1995:53:1995:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1995:39:1995:61 | storeMapValue(...) : Map [] : Object | +| B.java:1995:103:1995:105 | out : SequencedMap [] : Object | B.java:48:31:48:42 | obj : SequencedMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1995:90:1995:106 | readMapValue(...) | +| B.java:2000:53:2000:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:2000:39:2000:61 | storeMapValue(...) : Map [] : Object | +| B.java:2000:112:2000:127 | readElement(...) : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:2000:99:2000:128 | readMapValue(...) | +| B.java:2005:51:2005:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:2005:39:2005:59 | storeMapKey(...) : TreeMap [] : Object | +| B.java:2005:107:2005:109 | out : SequencedSet [] : Object | B.java:31:28:31:42 | obj : SequencedSet [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:2005:95:2005:110 | readElement(...) | +| B.java:2010:53:2010:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:2010:39:2010:61 | storeMapValue(...) : Map [] : Object | +| B.java:2010:109:2010:111 | out : SequencedCollection [] : Object | B.java:31:28:31:42 | obj : SequencedCollection [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:2010:97:2010:112 | readElement(...) | +| B.java:2015:44:2015:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:2015:25:2015:52 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:2015:93:2015:95 | out : SequencedSet [] : Object | B.java:31:28:31:42 | obj : SequencedSet [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:2015:81:2015:96 | readElement(...) | +| B.java:2020:49:2020:56 | source(...) : Object | B.java:24:39:24:43 | obj : Object | B.java:24:55:24:66 | of(...) : List [] : Object | B.java:2020:32:2020:57 | storeElementList(...) : List [] : Object | +| B.java:2020:132:2020:134 | out : SequencedCollection [] : Object | B.java:31:28:31:42 | obj : SequencedCollection [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:2020:120:2020:135 | readElement(...) | +| B.java:2025:51:2025:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:2025:39:2025:59 | storeMapKey(...) : TreeMap [] : Object | +| B.java:2025:126:2025:128 | out : SequencedMap [] : Object | B.java:44:29:44:40 | obj : SequencedMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:2025:115:2025:129 | readMapKey(...) | +| B.java:2030:53:2030:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:2030:39:2030:61 | storeMapValue(...) : Map [] : Object | +| B.java:2030:130:2030:132 | out : SequencedMap [] : Object | B.java:48:31:48:42 | obj : SequencedMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:2030:117:2030:133 | readMapValue(...) | +| B.java:2035:44:2035:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | B.java:26:109:26:109 | s : TreeSet [] : Object | B.java:2035:25:2035:52 | storeElementNavSet(...) : TreeSet [] : Object | +| B.java:2035:120:2035:122 | out : SequencedSet [] : Object | B.java:31:28:31:42 | obj : SequencedSet [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:2035:108:2035:123 | readElement(...) | +| Constructors.java:43:19:43:21 | out : SimpleEntry [] : Object | Constructors.java:31:19:31:37 | container : SimpleEntry [] : Object | Constructors.java:31:49:31:66 | getKey(...) : Object | Constructors.java:43:9:43:22 | getMapKey(...) | +| Constructors.java:50:21:50:23 | out : SimpleEntry [] : Object | Constructors.java:32:21:32:39 | container : SimpleEntry [] : Object | Constructors.java:32:51:32:70 | getValue(...) : Object | Constructors.java:50:9:50:24 | getMapValue(...) | +| Constructors.java:57:19:57:21 | out : SimpleEntry [] : Object | Constructors.java:31:19:31:37 | container : SimpleEntry [] : Object | Constructors.java:31:49:31:66 | getKey(...) : Object | Constructors.java:57:9:57:22 | getMapKey(...) | +| Constructors.java:64:21:64:23 | out : SimpleEntry [] : Object | Constructors.java:32:21:32:39 | container : SimpleEntry [] : Object | Constructors.java:32:51:32:70 | getValue(...) : Object | Constructors.java:64:9:64:24 | getMapValue(...) | +| Constructors.java:71:19:71:21 | out : SimpleImmutableEntry [] : Object | Constructors.java:31:19:31:37 | container : SimpleImmutableEntry [] : Object | Constructors.java:31:49:31:66 | getKey(...) : Object | Constructors.java:71:9:71:22 | getMapKey(...) | +| Constructors.java:78:21:78:23 | out : SimpleImmutableEntry [] : Object | Constructors.java:32:21:32:39 | container : SimpleImmutableEntry [] : Object | Constructors.java:32:51:32:70 | getValue(...) : Object | Constructors.java:78:9:78:24 | getMapValue(...) | +| Constructors.java:85:20:85:22 | out : ArrayDeque [] : Object | Constructors.java:28:20:28:39 | container : ArrayDeque [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | Constructors.java:85:9:85:23 | getElement(...) | +| Constructors.java:92:20:92:22 | out : ArrayList [] : Object | Constructors.java:28:20:28:39 | container : ArrayList [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | Constructors.java:92:9:92:23 | getElement(...) | +| Constructors.java:99:19:99:21 | out : EnumMap [] : Object | Constructors.java:29:19:29:31 | container : EnumMap [] : Object | Constructors.java:29:43:29:78 | next(...) : Object | Constructors.java:99:9:99:22 | getMapKey(...) | +| Constructors.java:106:21:106:23 | out : EnumMap [] : Object | Constructors.java:30:21:30:33 | container : EnumMap [] : Object | Constructors.java:30:45:30:63 | get(...) : Object | Constructors.java:106:9:106:24 | getMapValue(...) | +| Constructors.java:113:19:113:21 | out : EnumMap [] : Object | Constructors.java:29:19:29:31 | container : EnumMap [] : Object | Constructors.java:29:43:29:78 | next(...) : Object | Constructors.java:113:9:113:22 | getMapKey(...) | +| Constructors.java:120:21:120:23 | out : EnumMap [] : Object | Constructors.java:30:21:30:33 | container : EnumMap [] : Object | Constructors.java:30:45:30:63 | get(...) : Object | Constructors.java:120:9:120:24 | getMapValue(...) | +| Constructors.java:127:19:127:21 | out : HashMap [] : Object | Constructors.java:29:19:29:31 | container : HashMap [] : Object | Constructors.java:29:43:29:78 | next(...) : Object | Constructors.java:127:9:127:22 | getMapKey(...) | +| Constructors.java:134:21:134:23 | out : HashMap [] : Object | Constructors.java:30:21:30:33 | container : HashMap [] : Object | Constructors.java:30:45:30:63 | get(...) : Object | Constructors.java:134:9:134:24 | getMapValue(...) | +| Constructors.java:141:20:141:22 | out : HashSet [] : Object | Constructors.java:28:20:28:39 | container : HashSet [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | Constructors.java:141:9:141:23 | getElement(...) | +| Constructors.java:148:19:148:21 | out : Hashtable [] : Object | Constructors.java:29:19:29:31 | container : Hashtable [] : Object | Constructors.java:29:43:29:78 | next(...) : Object | Constructors.java:148:9:148:22 | getMapKey(...) | +| Constructors.java:155:21:155:23 | out : Hashtable [] : Object | Constructors.java:30:21:30:33 | container : Hashtable [] : Object | Constructors.java:30:45:30:63 | get(...) : Object | Constructors.java:155:9:155:24 | getMapValue(...) | +| Constructors.java:162:19:162:21 | out : IdentityHashMap [] : Object | Constructors.java:29:19:29:31 | container : IdentityHashMap [] : Object | Constructors.java:29:43:29:78 | next(...) : Object | Constructors.java:162:9:162:22 | getMapKey(...) | +| Constructors.java:169:21:169:23 | out : IdentityHashMap [] : Object | Constructors.java:30:21:30:33 | container : IdentityHashMap [] : Object | Constructors.java:30:45:30:63 | get(...) : Object | Constructors.java:169:9:169:24 | getMapValue(...) | +| Constructors.java:176:19:176:21 | out : LinkedHashMap [] : Object | Constructors.java:29:19:29:31 | container : LinkedHashMap [] : Object | Constructors.java:29:43:29:78 | next(...) : Object | Constructors.java:176:9:176:22 | getMapKey(...) | +| Constructors.java:183:21:183:23 | out : LinkedHashMap [] : Object | Constructors.java:30:21:30:33 | container : LinkedHashMap [] : Object | Constructors.java:30:45:30:63 | get(...) : Object | Constructors.java:183:9:183:24 | getMapValue(...) | +| Constructors.java:190:20:190:22 | out : LinkedHashSet [] : Object | Constructors.java:28:20:28:39 | container : LinkedHashSet [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | Constructors.java:190:9:190:23 | getElement(...) | +| Constructors.java:197:20:197:22 | out : LinkedList [] : Object | Constructors.java:28:20:28:39 | container : LinkedList [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | Constructors.java:197:9:197:23 | getElement(...) | +| Constructors.java:204:20:204:22 | out : PriorityQueue [] : Object | Constructors.java:28:20:28:39 | container : PriorityQueue [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | Constructors.java:204:9:204:23 | getElement(...) | +| Constructors.java:211:20:211:22 | out : PriorityQueue [] : Object | Constructors.java:28:20:28:39 | container : PriorityQueue [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | Constructors.java:211:9:211:23 | getElement(...) | +| Constructors.java:218:20:218:22 | out : PriorityQueue [] : Object | Constructors.java:28:20:28:39 | container : PriorityQueue [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | Constructors.java:218:9:218:23 | getElement(...) | +| Constructors.java:225:19:225:21 | out : TreeMap [] : Object | Constructors.java:29:19:29:31 | container : TreeMap [] : Object | Constructors.java:29:43:29:78 | next(...) : Object | Constructors.java:225:9:225:22 | getMapKey(...) | +| Constructors.java:232:21:232:23 | out : TreeMap [] : Object | Constructors.java:30:21:30:33 | container : TreeMap [] : Object | Constructors.java:30:45:30:63 | get(...) : Object | Constructors.java:232:9:232:24 | getMapValue(...) | +| Constructors.java:239:19:239:21 | out : TreeMap [] : Object | Constructors.java:29:19:29:31 | container : TreeMap [] : Object | Constructors.java:29:43:29:78 | next(...) : Object | Constructors.java:239:9:239:22 | getMapKey(...) | +| Constructors.java:246:21:246:23 | out : TreeMap [] : Object | Constructors.java:30:21:30:33 | container : TreeMap [] : Object | Constructors.java:30:45:30:63 | get(...) : Object | Constructors.java:246:9:246:24 | getMapValue(...) | +| Constructors.java:253:20:253:22 | out : TreeSet [] : Object | Constructors.java:28:20:28:39 | container : TreeSet [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | Constructors.java:253:9:253:23 | getElement(...) | +| Constructors.java:260:20:260:22 | out : TreeSet [] : Object | Constructors.java:28:20:28:39 | container : TreeSet [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | Constructors.java:260:9:260:23 | getElement(...) | +| Constructors.java:267:20:267:22 | out : Vector [] : Object | Constructors.java:28:20:28:39 | container : Vector [] : Object | Constructors.java:28:51:28:77 | next(...) : Object | Constructors.java:267:9:267:23 | getElement(...) | +| Constructors.java:274:19:274:21 | out : WeakHashMap [] : Object | Constructors.java:29:19:29:31 | container : WeakHashMap [] : Object | Constructors.java:29:43:29:78 | next(...) : Object | Constructors.java:274:9:274:22 | getMapKey(...) | +| Constructors.java:281:21:281:23 | out : WeakHashMap [] : Object | Constructors.java:30:21:30:33 | container : WeakHashMap [] : Object | Constructors.java:30:45:30:63 | get(...) : Object | Constructors.java:281:9:281:24 | getMapValue(...) | +testFailures diff --git a/java/ql/test/library-tests/dataflow/fluent-methods/flow.expected b/java/ql/test/library-tests/dataflow/fluent-methods/flow.expected index e69de29bb2d..019dcde0ad7 100644 --- a/java/ql/test/library-tests/dataflow/fluent-methods/flow.expected +++ b/java/ql/test/library-tests/dataflow/fluent-methods/flow.expected @@ -0,0 +1,72 @@ +models +edges +| Test.java:23:25:23:32 | x : String | Test.java:24:18:24:18 | x : String | provenance | | +| Test.java:24:5:24:8 | this [post update] : Test [field] : String | Test.java:23:15:23:23 | parameter this [Return] : Test [field] : String | provenance | | +| Test.java:24:18:24:18 | x : String | Test.java:24:5:24:8 | this [post update] : Test [field] : String | provenance | | +| Test.java:32:17:32:19 | parameter this : Test [field] : String | Test.java:33:12:33:16 | this <.field> : Test [field] : String | provenance | | +| Test.java:33:12:33:16 | this <.field> : Test [field] : String | Test.java:33:12:33:16 | field : String | provenance | | +| Test.java:44:5:44:18 | fluentNoop(...) [post update] : Test [field] : String | Test.java:45:10:45:10 | t : Test [field] : String | provenance | | +| Test.java:44:30:44:37 | source(...) : String | Test.java:23:25:23:32 | x : String | provenance | | +| Test.java:44:30:44:37 | source(...) : String | Test.java:44:5:44:18 | fluentNoop(...) [post update] : Test [field] : String | provenance | | +| Test.java:45:10:45:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | provenance | | +| Test.java:45:10:45:10 | t : Test [field] : String | Test.java:45:10:45:16 | get(...) | provenance | | +| Test.java:50:5:50:33 | fluentNoop(...) [post update] : Test [field] : String | Test.java:51:10:51:10 | t : Test [field] : String | provenance | | +| Test.java:50:45:50:52 | source(...) : String | Test.java:23:25:23:32 | x : String | provenance | | +| Test.java:50:45:50:52 | source(...) : String | Test.java:50:5:50:33 | fluentNoop(...) [post update] : Test [field] : String | provenance | | +| Test.java:51:10:51:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | provenance | | +| Test.java:51:10:51:10 | t : Test [field] : String | Test.java:51:10:51:16 | get(...) | provenance | | +| Test.java:56:5:56:28 | indirectlyFluentNoop(...) [post update] : Test [field] : String | Test.java:57:10:57:10 | t : Test [field] : String | provenance | | +| Test.java:56:40:56:47 | source(...) : String | Test.java:23:25:23:32 | x : String | provenance | | +| Test.java:56:40:56:47 | source(...) : String | Test.java:56:5:56:28 | indirectlyFluentNoop(...) [post update] : Test [field] : String | provenance | | +| Test.java:57:10:57:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | provenance | | +| Test.java:57:10:57:10 | t : Test [field] : String | Test.java:57:10:57:16 | get(...) | provenance | | +| Test.java:62:5:62:51 | modelledFluentMethod(...) [post update] : Test [field] : String | Test.java:63:10:63:10 | t : Test [field] : String | provenance | ValuePreservingMethod | +| Test.java:62:63:62:70 | source(...) : String | Test.java:23:25:23:32 | x : String | provenance | | +| Test.java:62:63:62:70 | source(...) : String | Test.java:62:5:62:51 | modelledFluentMethod(...) [post update] : Test [field] : String | provenance | | +| Test.java:63:10:63:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | provenance | | +| Test.java:63:10:63:10 | t : Test [field] : String | Test.java:63:10:63:16 | get(...) | provenance | | +| Test.java:68:5:68:74 | modelledFluentMethod(...) [post update] : Test [field] : String | Test.java:69:10:69:10 | t : Test [field] : String | provenance | ValuePreservingMethod | +| Test.java:68:86:68:93 | source(...) : String | Test.java:23:25:23:32 | x : String | provenance | | +| Test.java:68:86:68:93 | source(...) : String | Test.java:68:5:68:74 | modelledFluentMethod(...) [post update] : Test [field] : String | provenance | | +| Test.java:69:10:69:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | provenance | | +| Test.java:69:10:69:10 | t : Test [field] : String | Test.java:69:10:69:16 | get(...) | provenance | | +nodes +| Test.java:23:15:23:23 | parameter this [Return] : Test [field] : String | semmle.label | parameter this [Return] : Test [field] : String | +| Test.java:23:25:23:32 | x : String | semmle.label | x : String | +| Test.java:24:5:24:8 | this [post update] : Test [field] : String | semmle.label | this [post update] : Test [field] : String | +| Test.java:24:18:24:18 | x : String | semmle.label | x : String | +| Test.java:32:17:32:19 | parameter this : Test [field] : String | semmle.label | parameter this : Test [field] : String | +| Test.java:33:12:33:16 | field : String | semmle.label | field : String | +| Test.java:33:12:33:16 | this <.field> : Test [field] : String | semmle.label | this <.field> : Test [field] : String | +| Test.java:44:5:44:18 | fluentNoop(...) [post update] : Test [field] : String | semmle.label | fluentNoop(...) [post update] : Test [field] : String | +| Test.java:44:30:44:37 | source(...) : String | semmle.label | source(...) : String | +| Test.java:45:10:45:10 | t : Test [field] : String | semmle.label | t : Test [field] : String | +| Test.java:45:10:45:16 | get(...) | semmle.label | get(...) | +| Test.java:50:5:50:33 | fluentNoop(...) [post update] : Test [field] : String | semmle.label | fluentNoop(...) [post update] : Test [field] : String | +| Test.java:50:45:50:52 | source(...) : String | semmle.label | source(...) : String | +| Test.java:51:10:51:10 | t : Test [field] : String | semmle.label | t : Test [field] : String | +| Test.java:51:10:51:16 | get(...) | semmle.label | get(...) | +| Test.java:56:5:56:28 | indirectlyFluentNoop(...) [post update] : Test [field] : String | semmle.label | indirectlyFluentNoop(...) [post update] : Test [field] : String | +| Test.java:56:40:56:47 | source(...) : String | semmle.label | source(...) : String | +| Test.java:57:10:57:10 | t : Test [field] : String | semmle.label | t : Test [field] : String | +| Test.java:57:10:57:16 | get(...) | semmle.label | get(...) | +| Test.java:62:5:62:51 | modelledFluentMethod(...) [post update] : Test [field] : String | semmle.label | modelledFluentMethod(...) [post update] : Test [field] : String | +| Test.java:62:63:62:70 | source(...) : String | semmle.label | source(...) : String | +| Test.java:63:10:63:10 | t : Test [field] : String | semmle.label | t : Test [field] : String | +| Test.java:63:10:63:16 | get(...) | semmle.label | get(...) | +| Test.java:68:5:68:74 | modelledFluentMethod(...) [post update] : Test [field] : String | semmle.label | modelledFluentMethod(...) [post update] : Test [field] : String | +| Test.java:68:86:68:93 | source(...) : String | semmle.label | source(...) : String | +| Test.java:69:10:69:10 | t : Test [field] : String | semmle.label | t : Test [field] : String | +| Test.java:69:10:69:16 | get(...) | semmle.label | get(...) | +subpaths +| Test.java:44:30:44:37 | source(...) : String | Test.java:23:25:23:32 | x : String | Test.java:23:15:23:23 | parameter this [Return] : Test [field] : String | Test.java:44:5:44:18 | fluentNoop(...) [post update] : Test [field] : String | +| Test.java:45:10:45:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | Test.java:33:12:33:16 | field : String | Test.java:45:10:45:16 | get(...) | +| Test.java:50:45:50:52 | source(...) : String | Test.java:23:25:23:32 | x : String | Test.java:23:15:23:23 | parameter this [Return] : Test [field] : String | Test.java:50:5:50:33 | fluentNoop(...) [post update] : Test [field] : String | +| Test.java:51:10:51:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | Test.java:33:12:33:16 | field : String | Test.java:51:10:51:16 | get(...) | +| Test.java:56:40:56:47 | source(...) : String | Test.java:23:25:23:32 | x : String | Test.java:23:15:23:23 | parameter this [Return] : Test [field] : String | Test.java:56:5:56:28 | indirectlyFluentNoop(...) [post update] : Test [field] : String | +| Test.java:57:10:57:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | Test.java:33:12:33:16 | field : String | Test.java:57:10:57:16 | get(...) | +| Test.java:62:63:62:70 | source(...) : String | Test.java:23:25:23:32 | x : String | Test.java:23:15:23:23 | parameter this [Return] : Test [field] : String | Test.java:62:5:62:51 | modelledFluentMethod(...) [post update] : Test [field] : String | +| Test.java:63:10:63:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | Test.java:33:12:33:16 | field : String | Test.java:63:10:63:16 | get(...) | +| Test.java:68:86:68:93 | source(...) : String | Test.java:23:25:23:32 | x : String | Test.java:23:15:23:23 | parameter this [Return] : Test [field] : String | Test.java:68:5:68:74 | modelledFluentMethod(...) [post update] : Test [field] : String | +| Test.java:69:10:69:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | Test.java:33:12:33:16 | field : String | Test.java:69:10:69:16 | get(...) | +testFailures diff --git a/java/ql/test/library-tests/dataflow/stream-collect/test.expected b/java/ql/test/library-tests/dataflow/stream-collect/test.expected index e69de29bb2d..08d42f88c6c 100644 --- a/java/ql/test/library-tests/dataflow/stream-collect/test.expected +++ b/java/ql/test/library-tests/dataflow/stream-collect/test.expected @@ -0,0 +1,94 @@ +models +| 1 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 2 | Summary: java.util; Arrays; false; stream; ; ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 3 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 4 | Summary: java.util; List; true; get; (int); ; Argument[this].Element; ReturnValue; value; manual | +| 5 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 6 | Summary: java.util; Optional; false; get; ; ; Argument[this].Element; ReturnValue; value; manual | +edges +| A.java:10:19:10:43 | {...} : String[] [[]] : String | A.java:11:38:11:39 | xs : String[] [[]] : String | provenance | | +| A.java:10:34:10:41 | source(...) : String | A.java:10:19:10:43 | {...} : String[] [[]] : String | provenance | | +| A.java:11:24:11:40 | stream(...) : Stream [] : String | A.java:13:10:13:10 | s : Stream [] : String | provenance | | +| A.java:11:24:11:40 | stream(...) : Stream [] : String | A.java:14:10:14:10 | s : Stream [] : String | provenance | | +| A.java:11:24:11:40 | stream(...) : Stream [] : String | A.java:15:10:15:10 | s : Stream [] : String | provenance | | +| A.java:11:24:11:40 | stream(...) : Stream [] : String | A.java:16:10:16:10 | s : Stream [] : String | provenance | | +| A.java:11:24:11:40 | stream(...) : Stream [] : String | A.java:17:10:17:10 | s : Stream [] : String | provenance | | +| A.java:11:24:11:40 | stream(...) : Stream [] : String | A.java:18:10:18:10 | s : Stream [] : String | provenance | | +| A.java:11:24:11:40 | stream(...) : Stream [] : String | A.java:19:10:19:10 | s : Stream [] : String | provenance | | +| A.java:11:24:11:40 | stream(...) : Stream [] : String | A.java:24:10:24:10 | s : Stream [] : String | provenance | | +| A.java:11:24:11:40 | stream(...) : Stream [] : String | A.java:26:10:26:10 | s : Stream [] : String | provenance | | +| A.java:11:24:11:40 | stream(...) : Stream [] : String | A.java:27:10:27:10 | s : Stream [] : String | provenance | | +| A.java:11:24:11:40 | stream(...) : Stream [] : String | A.java:28:10:28:10 | s : Stream [] : String | provenance | | +| A.java:11:38:11:39 | xs : String[] [[]] : String | A.java:11:24:11:40 | stream(...) : Stream [] : String | provenance | MaD:2 | +| A.java:13:10:13:10 | s : Stream [] : String | A.java:13:10:13:42 | collect(...) : Optional [] : String | provenance | java.util.stream.collect()+Collectors.[toList,...] | +| A.java:13:10:13:42 | collect(...) : Optional [] : String | A.java:13:10:13:48 | get(...) | provenance | MaD:6 | +| A.java:14:10:14:10 | s : Stream [] : String | A.java:14:10:14:42 | collect(...) : Optional [] : String | provenance | java.util.stream.collect()+Collectors.[toList,...] | +| A.java:14:10:14:42 | collect(...) : Optional [] : String | A.java:14:10:14:48 | get(...) | provenance | MaD:6 | +| A.java:15:10:15:10 | s : Stream [] : String | A.java:15:10:15:49 | collect(...) : Collection [] : String | provenance | java.util.stream.collect()+Collectors.[toList,...] | +| A.java:15:10:15:49 | collect(...) : Collection [] : String | A.java:15:10:15:60 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| A.java:15:10:15:60 | iterator(...) : Iterator [] : String | A.java:15:10:15:67 | next(...) | provenance | MaD:3 | +| A.java:16:10:16:10 | s : Stream [] : String | A.java:16:10:16:39 | collect(...) : List [] : String | provenance | java.util.stream.collect()+Collectors.[toList,...] | +| A.java:16:10:16:39 | collect(...) : List [] : String | A.java:16:10:16:46 | get(...) | provenance | MaD:4 | +| A.java:17:10:17:10 | s : Stream [] : String | A.java:17:10:17:38 | collect(...) : Set [] : String | provenance | java.util.stream.collect()+Collectors.[toList,...] | +| A.java:17:10:17:38 | collect(...) : Set [] : String | A.java:17:10:17:49 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| A.java:17:10:17:49 | iterator(...) : Iterator [] : String | A.java:17:10:17:56 | next(...) | provenance | MaD:3 | +| A.java:18:10:18:10 | s : Stream [] : String | A.java:18:10:18:51 | collect(...) : List [] : String | provenance | java.util.stream.collect()+Collectors.[toList,...] | +| A.java:18:10:18:51 | collect(...) : List [] : String | A.java:18:10:18:58 | get(...) | provenance | MaD:4 | +| A.java:19:10:19:10 | s : Stream [] : String | A.java:19:10:19:50 | collect(...) : Set [] : String | provenance | java.util.stream.collect()+Collectors.[toList,...] | +| A.java:19:10:19:50 | collect(...) : Set [] : String | A.java:19:10:19:61 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| A.java:19:10:19:61 | iterator(...) : Iterator [] : String | A.java:19:10:19:68 | next(...) | provenance | MaD:3 | +| A.java:24:10:24:10 | s : Stream [] : String | A.java:24:10:24:40 | collect(...) | provenance | java.util.stream.collect()+Collectors.joining | +| A.java:26:10:26:10 | s : Stream [] : String | A.java:26:10:26:47 | collect(...) : Map [, ] : String | provenance | java.util.stream.collect()+Collectors.[groupingBy(Function),...] | +| A.java:26:10:26:47 | collect(...) : Map [, ] : String | A.java:26:10:26:57 | get(...) : List [] : String | provenance | MaD:5 | +| A.java:26:10:26:57 | get(...) : List [] : String | A.java:26:10:26:64 | get(...) | provenance | MaD:4 | +| A.java:27:10:27:10 | s : Stream [] : String | A.java:27:10:27:57 | collect(...) : ConcurrentMap [, ] : String | provenance | java.util.stream.collect()+Collectors.[groupingBy(Function),...] | +| A.java:27:10:27:57 | collect(...) : ConcurrentMap [, ] : String | A.java:27:10:27:67 | get(...) : List [] : String | provenance | MaD:5 | +| A.java:27:10:27:67 | get(...) : List [] : String | A.java:27:10:27:74 | get(...) | provenance | MaD:4 | +| A.java:28:10:28:10 | s : Stream [] : String | A.java:28:10:28:51 | collect(...) : Map [, ] : String | provenance | java.util.stream.collect()+Collectors.[groupingBy(Function),...] | +| A.java:28:10:28:51 | collect(...) : Map [, ] : String | A.java:28:10:28:61 | get(...) : List [] : String | provenance | MaD:5 | +| A.java:28:10:28:61 | get(...) : List [] : String | A.java:28:10:28:68 | get(...) | provenance | MaD:4 | +nodes +| A.java:10:19:10:43 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| A.java:10:34:10:41 | source(...) : String | semmle.label | source(...) : String | +| A.java:11:24:11:40 | stream(...) : Stream [] : String | semmle.label | stream(...) : Stream [] : String | +| A.java:11:38:11:39 | xs : String[] [[]] : String | semmle.label | xs : String[] [[]] : String | +| A.java:13:10:13:10 | s : Stream [] : String | semmle.label | s : Stream [] : String | +| A.java:13:10:13:42 | collect(...) : Optional [] : String | semmle.label | collect(...) : Optional [] : String | +| A.java:13:10:13:48 | get(...) | semmle.label | get(...) | +| A.java:14:10:14:10 | s : Stream [] : String | semmle.label | s : Stream [] : String | +| A.java:14:10:14:42 | collect(...) : Optional [] : String | semmle.label | collect(...) : Optional [] : String | +| A.java:14:10:14:48 | get(...) | semmle.label | get(...) | +| A.java:15:10:15:10 | s : Stream [] : String | semmle.label | s : Stream [] : String | +| A.java:15:10:15:49 | collect(...) : Collection [] : String | semmle.label | collect(...) : Collection [] : String | +| A.java:15:10:15:60 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| A.java:15:10:15:67 | next(...) | semmle.label | next(...) | +| A.java:16:10:16:10 | s : Stream [] : String | semmle.label | s : Stream [] : String | +| A.java:16:10:16:39 | collect(...) : List [] : String | semmle.label | collect(...) : List [] : String | +| A.java:16:10:16:46 | get(...) | semmle.label | get(...) | +| A.java:17:10:17:10 | s : Stream [] : String | semmle.label | s : Stream [] : String | +| A.java:17:10:17:38 | collect(...) : Set [] : String | semmle.label | collect(...) : Set [] : String | +| A.java:17:10:17:49 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| A.java:17:10:17:56 | next(...) | semmle.label | next(...) | +| A.java:18:10:18:10 | s : Stream [] : String | semmle.label | s : Stream [] : String | +| A.java:18:10:18:51 | collect(...) : List [] : String | semmle.label | collect(...) : List [] : String | +| A.java:18:10:18:58 | get(...) | semmle.label | get(...) | +| A.java:19:10:19:10 | s : Stream [] : String | semmle.label | s : Stream [] : String | +| A.java:19:10:19:50 | collect(...) : Set [] : String | semmle.label | collect(...) : Set [] : String | +| A.java:19:10:19:61 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| A.java:19:10:19:68 | next(...) | semmle.label | next(...) | +| A.java:24:10:24:10 | s : Stream [] : String | semmle.label | s : Stream [] : String | +| A.java:24:10:24:40 | collect(...) | semmle.label | collect(...) | +| A.java:26:10:26:10 | s : Stream [] : String | semmle.label | s : Stream [] : String | +| A.java:26:10:26:47 | collect(...) : Map [, ] : String | semmle.label | collect(...) : Map [, ] : String | +| A.java:26:10:26:57 | get(...) : List [] : String | semmle.label | get(...) : List [] : String | +| A.java:26:10:26:64 | get(...) | semmle.label | get(...) | +| A.java:27:10:27:10 | s : Stream [] : String | semmle.label | s : Stream [] : String | +| A.java:27:10:27:57 | collect(...) : ConcurrentMap [, ] : String | semmle.label | collect(...) : ConcurrentMap [, ] : String | +| A.java:27:10:27:67 | get(...) : List [] : String | semmle.label | get(...) : List [] : String | +| A.java:27:10:27:74 | get(...) | semmle.label | get(...) | +| A.java:28:10:28:10 | s : Stream [] : String | semmle.label | s : Stream [] : String | +| A.java:28:10:28:51 | collect(...) : Map [, ] : String | semmle.label | collect(...) : Map [, ] : String | +| A.java:28:10:28:61 | get(...) : List [] : String | semmle.label | get(...) : List [] : String | +| A.java:28:10:28:68 | get(...) | semmle.label | get(...) | +subpaths +testFailures diff --git a/java/ql/test/library-tests/dataflow/stream-read/test.expected b/java/ql/test/library-tests/dataflow/stream-read/test.expected index e69de29bb2d..48b87a5ac7f 100644 --- a/java/ql/test/library-tests/dataflow/stream-read/test.expected +++ b/java/ql/test/library-tests/dataflow/stream-read/test.expected @@ -0,0 +1,45 @@ +models +| 1 | Summary: java.io; InputStream; true; read; (byte[]); ; Argument[this]; Argument[0]; taint; manual | +edges +| A.java:31:27:31:34 | source(...) : InputStream | A.java:33:14:33:21 | wrapper1 | provenance | AdditionalTaintStep | +| A.java:31:27:31:34 | source(...) : InputStream | A.java:35:14:35:21 | wrapper2 | provenance | AdditionalTaintStep | +| A.java:31:27:31:34 | source(...) : InputStream | A.java:37:14:37:21 | wrapper3 | provenance | AdditionalTaintStep | +| A.java:31:27:31:34 | source(...) : InputStream | A.java:51:14:51:21 | wrapper4 | provenance | AdditionalTaintStep | +| A.java:55:31:66:9 | new (...) : new InputStream(...) { ... } | A.java:67:14:67:20 | wrapper | provenance | | +| A.java:63:34:63:41 | source(...) : InputStream | A.java:64:24:64:25 | in : InputStream | provenance | | +| A.java:64:24:64:25 | in : InputStream | A.java:64:32:64:32 | b [post update] : byte[] | provenance | MaD:1 | +| A.java:64:32:64:32 | b [post update] : byte[] | A.java:55:31:66:9 | new (...) : new InputStream(...) { ... } | provenance | AdditionalTaintStep | +| A.java:71:26:71:33 | source(...) : InputStream | A.java:84:14:84:20 | wrapper | provenance | AdditionalTaintStep | +| A.java:87:42:87:55 | in : InputStream | A.java:88:16:98:9 | new (...) : new InputStream(...) { ... } | provenance | AdditionalTaintStep | +| A.java:103:25:103:32 | source(...) : InputStream | A.java:87:42:87:55 | in : InputStream | provenance | | +| A.java:103:25:103:32 | source(...) : InputStream | A.java:103:14:103:33 | wrapStream(...) | provenance | AdditionalTaintStep | +| A.java:116:34:116:41 | source(...) : InputStream | A.java:117:24:117:25 | in : InputStream | provenance | | +| A.java:117:24:117:25 | in : InputStream | A.java:117:32:117:32 | b [post update] : byte[] | provenance | MaD:1 | +| A.java:117:32:117:32 | b [post update] : byte[] | A.java:120:14:120:35 | new LocalInputStream(...) | provenance | AdditionalTaintStep | +| A.java:124:26:124:33 | source(...) : InputStream | A.java:137:14:137:35 | new LocalInputStream(...) | provenance | AdditionalTaintStep | +nodes +| A.java:31:27:31:34 | source(...) : InputStream | semmle.label | source(...) : InputStream | +| A.java:33:14:33:21 | wrapper1 | semmle.label | wrapper1 | +| A.java:35:14:35:21 | wrapper2 | semmle.label | wrapper2 | +| A.java:37:14:37:21 | wrapper3 | semmle.label | wrapper3 | +| A.java:51:14:51:21 | wrapper4 | semmle.label | wrapper4 | +| A.java:55:31:66:9 | new (...) : new InputStream(...) { ... } | semmle.label | new (...) : new InputStream(...) { ... } | +| A.java:63:34:63:41 | source(...) : InputStream | semmle.label | source(...) : InputStream | +| A.java:64:24:64:25 | in : InputStream | semmle.label | in : InputStream | +| A.java:64:32:64:32 | b [post update] : byte[] | semmle.label | b [post update] : byte[] | +| A.java:67:14:67:20 | wrapper | semmle.label | wrapper | +| A.java:71:26:71:33 | source(...) : InputStream | semmle.label | source(...) : InputStream | +| A.java:84:14:84:20 | wrapper | semmle.label | wrapper | +| A.java:87:42:87:55 | in : InputStream | semmle.label | in : InputStream | +| A.java:88:16:98:9 | new (...) : new InputStream(...) { ... } | semmle.label | new (...) : new InputStream(...) { ... } | +| A.java:103:14:103:33 | wrapStream(...) | semmle.label | wrapStream(...) | +| A.java:103:25:103:32 | source(...) : InputStream | semmle.label | source(...) : InputStream | +| A.java:116:34:116:41 | source(...) : InputStream | semmle.label | source(...) : InputStream | +| A.java:117:24:117:25 | in : InputStream | semmle.label | in : InputStream | +| A.java:117:32:117:32 | b [post update] : byte[] | semmle.label | b [post update] : byte[] | +| A.java:120:14:120:35 | new LocalInputStream(...) | semmle.label | new LocalInputStream(...) | +| A.java:124:26:124:33 | source(...) : InputStream | semmle.label | source(...) : InputStream | +| A.java:137:14:137:35 | new LocalInputStream(...) | semmle.label | new LocalInputStream(...) | +subpaths +| A.java:103:25:103:32 | source(...) : InputStream | A.java:87:42:87:55 | in : InputStream | A.java:88:16:98:9 | new (...) : new InputStream(...) { ... } | A.java:103:14:103:33 | wrapStream(...) | +testFailures diff --git a/java/ql/test/library-tests/dataflow/synth-global/test.expected b/java/ql/test/library-tests/dataflow/synth-global/test.expected index 55e9aed2e93..fa76326db6e 100644 --- a/java/ql/test/library-tests/dataflow/synth-global/test.expected +++ b/java/ql/test/library-tests/dataflow/synth-global/test.expected @@ -1,2 +1,18 @@ +models +| 1 | Summary: my.qltest.synth; A; false; storeInArray; (String); ; Argument[0]; SyntheticGlobal[db1].ArrayElement; value; manual | +| 2 | Summary: my.qltest.synth; A; false; storeTaintInArray; (String); ; Argument[0]; SyntheticGlobal[db1].ArrayElement; taint; manual | +| 3 | Summary: my.qltest.synth; A; false; storeValue; (String); ; Argument[0]; SyntheticGlobal[db1]; value; manual | +edges +| A.java:16:18:16:28 | source(...) : String | A.java:23:10:23:20 | readArray(...) | provenance | MaD:1 | +| A.java:17:23:17:33 | source(...) : String | A.java:23:10:23:20 | readArray(...) | provenance | MaD:2 | +| A.java:18:16:18:26 | source(...) : String | A.java:22:10:22:20 | readValue(...) | provenance | MaD:3 | +| A.java:18:16:18:26 | source(...) : String | A.java:23:10:23:20 | readArray(...) | provenance | MaD:3 | +nodes +| A.java:16:18:16:28 | source(...) : String | semmle.label | source(...) : String | +| A.java:17:23:17:33 | source(...) : String | semmle.label | source(...) : String | +| A.java:18:16:18:26 | source(...) : String | semmle.label | source(...) : String | +| A.java:22:10:22:20 | readValue(...) | semmle.label | readValue(...) | +| A.java:23:10:23:20 | readArray(...) | semmle.label | readArray(...) | +subpaths testFailures invalidModelRow diff --git a/java/ql/test/library-tests/dataflow/taint-format/test.expected b/java/ql/test/library-tests/dataflow/taint-format/test.expected index e69de29bb2d..15e37b39dee 100644 --- a/java/ql/test/library-tests/dataflow/taint-format/test.expected +++ b/java/ql/test/library-tests/dataflow/taint-format/test.expected @@ -0,0 +1,81 @@ +models +| 1 | Summary: java.util; Formatter; false; Formatter; (Appendable); ; Argument[0]; Argument[this]; taint; df-generated | +| 2 | Summary: java.util; Formatter; false; format; (String,Object[]); ; Argument[1].ArrayElement; ReturnValue; taint; df-generated | +| 3 | Summary: java.util; Formatter; false; format; (String,Object[]); ; Argument[this]; ReturnValue; taint; df-generated | +| 4 | Summary: java.lang; AbstractStringBuilder; true; append; ; ; Argument[this]; ReturnValue; value; manual | +| 5 | Summary: java.lang; AbstractStringBuilder; true; append; ; ; Argument[0]; Argument[this]; taint; manual | +| 6 | Summary: java.lang; CharSequence; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 7 | Summary: java.lang; String; false; format; (String,Object[]); ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 8 | Summary: java.lang; String; false; formatted; (Object[]); ; Argument[this]; ReturnValue; taint; manual | +| 9 | Summary: java.lang; String; false; formatted; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +edges +| A.java:12:22:12:29 | source(...) : String | A.java:15:14:15:16 | bad : String | provenance | | +| A.java:12:22:12:29 | source(...) : String | A.java:16:34:16:36 | bad : String | provenance | | +| A.java:12:22:12:29 | source(...) : String | A.java:17:36:17:38 | bad : String | provenance | | +| A.java:12:22:12:29 | source(...) : String | A.java:19:107:19:109 | bad : String | provenance | | +| A.java:15:14:15:16 | bad : String | A.java:15:14:15:32 | formatted(...) | provenance | MaD:8 | +| A.java:16:14:16:48 | new ..[] { .. } : Object[] [[]] : String | A.java:16:14:16:48 | formatted(...) | provenance | MaD:9 | +| A.java:16:34:16:36 | bad : String | A.java:16:14:16:48 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| A.java:17:14:17:45 | new ..[] { .. } : Object[] [[]] : String | A.java:17:14:17:45 | format(...) | provenance | MaD:7 | +| A.java:17:36:17:38 | bad : String | A.java:17:14:17:45 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| A.java:19:14:19:110 | new ..[] { .. } : Object[] [[]] : String | A.java:19:14:19:110 | format(...) | provenance | MaD:7 | +| A.java:19:107:19:109 | bad : String | A.java:19:14:19:110 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| A.java:23:22:23:29 | source(...) : String | A.java:27:14:27:32 | format(...) | provenance | TaintPreservingCallable | +| A.java:23:22:23:29 | source(...) : String | A.java:27:29:27:31 | bad : String | provenance | | +| A.java:23:22:23:29 | source(...) : String | A.java:28:14:28:25 | toString(...) | provenance | TaintPreservingCallable | +| A.java:27:14:27:32 | new ..[] { .. } : Object[] [[]] : String | A.java:27:14:27:32 | format(...) | provenance | MaD:2 | +| A.java:27:29:27:31 | bad : String | A.java:27:14:27:32 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| A.java:32:22:32:29 | source(...) : String | A.java:36:14:36:15 | sb : StringBuilder | provenance | formatStep | +| A.java:32:22:32:29 | source(...) : String | A.java:37:14:37:32 | format(...) | provenance | TaintPreservingCallable | +| A.java:32:22:32:29 | source(...) : String | A.java:37:29:37:31 | bad : String | provenance | | +| A.java:32:22:32:29 | source(...) : String | A.java:38:14:38:15 | sb : StringBuilder | provenance | formatStep | +| A.java:36:14:36:15 | sb : StringBuilder | A.java:36:14:36:26 | toString(...) | provenance | MaD:6 | +| A.java:37:14:37:32 | new ..[] { .. } : Object[] [[]] : String | A.java:37:14:37:32 | format(...) | provenance | MaD:2 | +| A.java:37:29:37:31 | bad : String | A.java:37:14:37:32 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| A.java:38:14:38:15 | sb : StringBuilder | A.java:38:14:38:26 | toString(...) | provenance | MaD:6 | +| A.java:42:22:42:29 | source(...) : String | A.java:45:24:45:26 | bad : String | provenance | | +| A.java:45:14:45:15 | sb [post update] : StringBuilder | A.java:47:14:47:30 | new Formatter(...) : Formatter | provenance | TaintPreservingCallable | +| A.java:45:14:45:15 | sb [post update] : StringBuilder | A.java:47:14:47:54 | toString(...) | provenance | TaintPreservingCallable | +| A.java:45:14:45:15 | sb [post update] : StringBuilder | A.java:47:28:47:29 | sb : StringBuilder | provenance | | +| A.java:45:24:45:26 | bad : String | A.java:45:14:45:15 | sb [post update] : StringBuilder | provenance | MaD:5 | +| A.java:45:24:45:26 | bad : String | A.java:45:14:45:27 | append(...) | provenance | MaD:5+MaD:4 | +| A.java:47:14:47:30 | new Formatter(...) : Formatter | A.java:47:14:47:43 | format(...) : Formatter | provenance | MaD:3 | +| A.java:47:14:47:30 | new Formatter(...) : Formatter | A.java:47:14:47:54 | toString(...) | provenance | TaintPreservingCallable | +| A.java:47:14:47:43 | format(...) : Formatter | A.java:47:14:47:54 | toString(...) | provenance | TaintPreservingCallable | +| A.java:47:28:47:29 | sb : StringBuilder | A.java:47:14:47:30 | new Formatter(...) : Formatter | provenance | MaD:1 | +nodes +| A.java:12:22:12:29 | source(...) : String | semmle.label | source(...) : String | +| A.java:15:14:15:16 | bad : String | semmle.label | bad : String | +| A.java:15:14:15:32 | formatted(...) | semmle.label | formatted(...) | +| A.java:16:14:16:48 | formatted(...) | semmle.label | formatted(...) | +| A.java:16:14:16:48 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| A.java:16:34:16:36 | bad : String | semmle.label | bad : String | +| A.java:17:14:17:45 | format(...) | semmle.label | format(...) | +| A.java:17:14:17:45 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| A.java:17:36:17:38 | bad : String | semmle.label | bad : String | +| A.java:19:14:19:110 | format(...) | semmle.label | format(...) | +| A.java:19:14:19:110 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| A.java:19:107:19:109 | bad : String | semmle.label | bad : String | +| A.java:23:22:23:29 | source(...) : String | semmle.label | source(...) : String | +| A.java:27:14:27:32 | format(...) | semmle.label | format(...) | +| A.java:27:14:27:32 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| A.java:27:29:27:31 | bad : String | semmle.label | bad : String | +| A.java:28:14:28:25 | toString(...) | semmle.label | toString(...) | +| A.java:32:22:32:29 | source(...) : String | semmle.label | source(...) : String | +| A.java:36:14:36:15 | sb : StringBuilder | semmle.label | sb : StringBuilder | +| A.java:36:14:36:26 | toString(...) | semmle.label | toString(...) | +| A.java:37:14:37:32 | format(...) | semmle.label | format(...) | +| A.java:37:14:37:32 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| A.java:37:29:37:31 | bad : String | semmle.label | bad : String | +| A.java:38:14:38:15 | sb : StringBuilder | semmle.label | sb : StringBuilder | +| A.java:38:14:38:26 | toString(...) | semmle.label | toString(...) | +| A.java:42:22:42:29 | source(...) : String | semmle.label | source(...) : String | +| A.java:45:14:45:15 | sb [post update] : StringBuilder | semmle.label | sb [post update] : StringBuilder | +| A.java:45:14:45:27 | append(...) | semmle.label | append(...) | +| A.java:45:24:45:26 | bad : String | semmle.label | bad : String | +| A.java:47:14:47:30 | new Formatter(...) : Formatter | semmle.label | new Formatter(...) : Formatter | +| A.java:47:14:47:43 | format(...) : Formatter | semmle.label | format(...) : Formatter | +| A.java:47:14:47:54 | toString(...) | semmle.label | toString(...) | +| A.java:47:28:47:29 | sb : StringBuilder | semmle.label | sb : StringBuilder | +subpaths +testFailures diff --git a/java/ql/test/library-tests/dataflow/taint-gson/dataFlow.expected b/java/ql/test/library-tests/dataflow/taint-gson/dataFlow.expected index e69de29bb2d..2f3259b1b48 100644 --- a/java/ql/test/library-tests/dataflow/taint-gson/dataFlow.expected +++ b/java/ql/test/library-tests/dataflow/taint-gson/dataFlow.expected @@ -0,0 +1,50 @@ +models +| 1 | Summary: com.google.gson; Gson; false; fromJson; ; ; Argument[0]; ReturnValue; taint; manual | +edges +| Test.java:9:24:9:30 | parameter this : Potato | Test.java:10:20:10:23 | name : String | provenance | | +| Test.java:13:24:13:31 | parameter this : Potato | Test.java:14:20:14:24 | inner : Potato | provenance | | +| Test.java:17:24:17:32 | parameter this : Potato | Test.java:18:20:18:25 | object : Object | provenance | | +| Test.java:30:20:30:27 | source(...) : String | Test.java:31:46:31:46 | s : String | provenance | | +| Test.java:31:26:31:61 | fromJson(...) : Potato | Test.java:32:14:32:20 | tainted | provenance | | +| Test.java:31:26:31:61 | fromJson(...) : Potato | Test.java:33:14:33:20 | tainted : Potato | provenance | | +| Test.java:31:26:31:61 | fromJson(...) : Potato | Test.java:34:14:34:20 | tainted : Potato | provenance | | +| Test.java:31:26:31:61 | fromJson(...) : Potato | Test.java:35:14:35:20 | tainted : Potato | provenance | | +| Test.java:31:26:31:61 | fromJson(...) : Potato | Test.java:36:14:36:20 | tainted : Potato | provenance | | +| Test.java:31:46:31:46 | s : String | Test.java:31:26:31:61 | fromJson(...) : Potato | provenance | MaD:1 | +| Test.java:33:14:33:20 | tainted : Potato | Test.java:9:24:9:30 | parameter this : Potato | provenance | | +| Test.java:33:14:33:20 | tainted : Potato | Test.java:33:14:33:30 | getName(...) | provenance | | +| Test.java:34:14:34:20 | tainted : Potato | Test.java:13:24:13:31 | parameter this : Potato | provenance | | +| Test.java:34:14:34:20 | tainted : Potato | Test.java:34:14:34:31 | getInner(...) | provenance | | +| Test.java:35:14:35:20 | tainted : Potato | Test.java:13:24:13:31 | parameter this : Potato | provenance | | +| Test.java:35:14:35:20 | tainted : Potato | Test.java:35:14:35:31 | getInner(...) : Potato | provenance | | +| Test.java:35:14:35:31 | getInner(...) : Potato | Test.java:9:24:9:30 | parameter this : Potato | provenance | | +| Test.java:35:14:35:31 | getInner(...) : Potato | Test.java:35:14:35:41 | getName(...) | provenance | | +| Test.java:36:14:36:20 | tainted : Potato | Test.java:17:24:17:32 | parameter this : Potato | provenance | | +| Test.java:36:14:36:20 | tainted : Potato | Test.java:36:14:36:32 | getObject(...) | provenance | | +nodes +| Test.java:9:24:9:30 | parameter this : Potato | semmle.label | parameter this : Potato | +| Test.java:10:20:10:23 | name : String | semmle.label | name : String | +| Test.java:13:24:13:31 | parameter this : Potato | semmle.label | parameter this : Potato | +| Test.java:14:20:14:24 | inner : Potato | semmle.label | inner : Potato | +| Test.java:17:24:17:32 | parameter this : Potato | semmle.label | parameter this : Potato | +| Test.java:18:20:18:25 | object : Object | semmle.label | object : Object | +| Test.java:30:20:30:27 | source(...) : String | semmle.label | source(...) : String | +| Test.java:31:26:31:61 | fromJson(...) : Potato | semmle.label | fromJson(...) : Potato | +| Test.java:31:46:31:46 | s : String | semmle.label | s : String | +| Test.java:32:14:32:20 | tainted | semmle.label | tainted | +| Test.java:33:14:33:20 | tainted : Potato | semmle.label | tainted : Potato | +| Test.java:33:14:33:30 | getName(...) | semmle.label | getName(...) | +| Test.java:34:14:34:20 | tainted : Potato | semmle.label | tainted : Potato | +| Test.java:34:14:34:31 | getInner(...) | semmle.label | getInner(...) | +| Test.java:35:14:35:20 | tainted : Potato | semmle.label | tainted : Potato | +| Test.java:35:14:35:31 | getInner(...) : Potato | semmle.label | getInner(...) : Potato | +| Test.java:35:14:35:41 | getName(...) | semmle.label | getName(...) | +| Test.java:36:14:36:20 | tainted : Potato | semmle.label | tainted : Potato | +| Test.java:36:14:36:32 | getObject(...) | semmle.label | getObject(...) | +subpaths +| Test.java:33:14:33:20 | tainted : Potato | Test.java:9:24:9:30 | parameter this : Potato | Test.java:10:20:10:23 | name : String | Test.java:33:14:33:30 | getName(...) | +| Test.java:34:14:34:20 | tainted : Potato | Test.java:13:24:13:31 | parameter this : Potato | Test.java:14:20:14:24 | inner : Potato | Test.java:34:14:34:31 | getInner(...) | +| Test.java:35:14:35:20 | tainted : Potato | Test.java:13:24:13:31 | parameter this : Potato | Test.java:14:20:14:24 | inner : Potato | Test.java:35:14:35:31 | getInner(...) : Potato | +| Test.java:35:14:35:31 | getInner(...) : Potato | Test.java:9:24:9:30 | parameter this : Potato | Test.java:10:20:10:23 | name : String | Test.java:35:14:35:41 | getName(...) | +| Test.java:36:14:36:20 | tainted : Potato | Test.java:17:24:17:32 | parameter this : Potato | Test.java:18:20:18:25 | object : Object | Test.java:36:14:36:32 | getObject(...) | +testFailures diff --git a/java/ql/test/library-tests/dataflow/taint-jackson/dataFlow.expected b/java/ql/test/library-tests/dataflow/taint-jackson/dataFlow.expected index e69de29bb2d..6a9b5cc5a54 100644 --- a/java/ql/test/library-tests/dataflow/taint-jackson/dataFlow.expected +++ b/java/ql/test/library-tests/dataflow/taint-jackson/dataFlow.expected @@ -0,0 +1,110 @@ +models +| 1 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; convertValue; ; ; Argument[0]; ReturnValue; taint; manual | +| 2 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0].MapValue; ReturnValue; taint; manual | +| 3 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0].MapValue.Element; ReturnValue; taint; manual | +| 4 | Summary: java.io; FileOutputStream; true; FileOutputStream; (File); ; Argument[0]; Argument[this]; taint; df-generated | +| 5 | Summary: java.lang; String; false; String; ; ; Argument[0]; Argument[this]; taint; manual | +| 6 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 7 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +edges +| Test.java:21:18:21:24 | parameter this : Potato | Test.java:22:11:22:14 | name : String | provenance | AdditionalTaintStep | +| Test.java:33:14:33:20 | taint(...) : String | Test.java:37:8:37:11 | file | provenance | TaintPreservingCallable | +| Test.java:33:14:33:20 | taint(...) : String | Test.java:40:8:40:11 | file | provenance | TaintPreservingCallable | +| Test.java:33:14:33:20 | taint(...) : String | Test.java:43:8:43:13 | writer | provenance | TaintPreservingCallable | +| Test.java:33:14:33:20 | taint(...) : String | Test.java:46:8:46:16 | generator | provenance | TaintPreservingCallable | +| Test.java:33:14:33:20 | taint(...) : String | Test.java:48:8:48:8 | t | provenance | TaintPreservingCallable | +| Test.java:33:14:33:20 | taint(...) : String | Test.java:50:37:50:38 | bs : byte[] | provenance | TaintPreservingCallable | +| Test.java:33:14:33:20 | taint(...) : String | Test.java:51:8:51:9 | bs | provenance | TaintPreservingCallable | +| Test.java:50:26:50:48 | new String(...) : String | Test.java:52:8:52:20 | reconstructed | provenance | | +| Test.java:50:37:50:38 | bs : byte[] | Test.java:50:26:50:48 | new String(...) : String | provenance | MaD:5 | +| Test.java:56:14:56:20 | taint(...) : String | Test.java:60:8:60:11 | file | provenance | TaintPreservingCallable | +| Test.java:56:14:56:20 | taint(...) : String | Test.java:61:43:61:46 | file : File | provenance | TaintPreservingCallable | +| Test.java:56:14:56:20 | taint(...) : String | Test.java:63:8:63:10 | out | provenance | TaintPreservingCallable | +| Test.java:56:14:56:20 | taint(...) : String | Test.java:66:8:66:13 | writer | provenance | TaintPreservingCallable | +| Test.java:56:14:56:20 | taint(...) : String | Test.java:69:8:69:16 | generator | provenance | TaintPreservingCallable | +| Test.java:56:14:56:20 | taint(...) : String | Test.java:71:8:71:8 | t | provenance | TaintPreservingCallable | +| Test.java:56:14:56:20 | taint(...) : String | Test.java:73:37:73:38 | bs : byte[] | provenance | TaintPreservingCallable | +| Test.java:56:14:56:20 | taint(...) : String | Test.java:74:8:74:9 | bs | provenance | TaintPreservingCallable | +| Test.java:61:22:61:47 | new FileOutputStream(...) : FileOutputStream | Test.java:63:8:63:10 | out | provenance | | +| Test.java:61:43:61:46 | file : File | Test.java:61:22:61:47 | new FileOutputStream(...) : FileOutputStream | provenance | MaD:4 | +| Test.java:73:26:73:48 | new String(...) : String | Test.java:75:8:75:20 | reconstructed | provenance | | +| Test.java:73:37:73:38 | bs : byte[] | Test.java:73:26:73:48 | new String(...) : String | provenance | MaD:5 | +| Test.java:79:14:79:20 | taint(...) : String | Test.java:82:8:82:26 | readValue(...) | provenance | TaintPreservingCallable | +| Test.java:79:14:79:20 | taint(...) : String | Test.java:83:8:83:45 | readValue(...).name | provenance | TaintPreservingCallable | +| Test.java:79:14:79:20 | taint(...) : String | Test.java:84:8:84:40 | readValue(...) : Potato | provenance | TaintPreservingCallable | +| Test.java:84:8:84:40 | readValue(...) : Potato | Test.java:21:18:21:24 | parameter this : Potato | provenance | | +| Test.java:84:8:84:40 | readValue(...) : Potato | Test.java:84:8:84:50 | getName(...) | provenance | AdditionalTaintStep | +| Test.java:88:14:88:20 | taint(...) : String | Test.java:91:8:91:27 | readValues(...) | provenance | TaintPreservingCallable | +| Test.java:88:14:88:20 | taint(...) : String | Test.java:94:15:94:23 | pIterator : MappingIterator | provenance | TaintPreservingCallable | +| Test.java:94:15:94:23 | pIterator : MappingIterator | Test.java:94:15:94:30 | next(...) : Potato | provenance | MaD:6 | +| Test.java:94:15:94:30 | next(...) : Potato | Test.java:95:9:95:9 | p | provenance | | +| Test.java:94:15:94:30 | next(...) : Potato | Test.java:96:9:96:14 | p.name | provenance | AdditionalTaintStep | +| Test.java:94:15:94:30 | next(...) : Potato | Test.java:97:9:97:9 | p : Potato | provenance | | +| Test.java:97:9:97:9 | p : Potato | Test.java:21:18:21:24 | parameter this : Potato | provenance | | +| Test.java:97:9:97:9 | p : Potato | Test.java:97:9:97:19 | getName(...) | provenance | AdditionalTaintStep | +| Test.java:102:14:102:20 | taint(...) : String | Test.java:104:29:104:29 | s : String | provenance | | +| Test.java:104:3:104:15 | taintedParams [post update] : HashMap [] : String | Test.java:106:32:106:44 | taintedParams : HashMap [] : String | provenance | | +| Test.java:104:29:104:29 | s : String | Test.java:104:3:104:15 | taintedParams [post update] : HashMap [] : String | provenance | MaD:7 | +| Test.java:106:17:106:45 | valueToTree(...) : JsonNode | Test.java:107:8:107:9 | jn | provenance | | +| Test.java:106:17:106:45 | valueToTree(...) : JsonNode | Test.java:108:30:108:31 | jn : JsonNode | provenance | | +| Test.java:106:32:106:44 | taintedParams : HashMap [] : String | Test.java:106:17:106:45 | valueToTree(...) : JsonNode | provenance | MaD:2 | +| Test.java:106:32:106:44 | taintedParams : HashMap [] : String | Test.java:106:17:106:45 | valueToTree(...) : JsonNode | provenance | MaD:3 | +| Test.java:108:14:108:46 | convertValue(...) : Potato | Test.java:109:8:109:8 | p | provenance | | +| Test.java:108:14:108:46 | convertValue(...) : Potato | Test.java:110:8:110:8 | p : Potato | provenance | | +| Test.java:108:30:108:31 | jn : JsonNode | Test.java:108:14:108:46 | convertValue(...) : Potato | provenance | MaD:1 | +| Test.java:110:8:110:8 | p : Potato | Test.java:21:18:21:24 | parameter this : Potato | provenance | | +| Test.java:110:8:110:8 | p : Potato | Test.java:110:8:110:18 | getName(...) | provenance | AdditionalTaintStep | +nodes +| Test.java:21:18:21:24 | parameter this : Potato | semmle.label | parameter this : Potato | +| Test.java:22:11:22:14 | name : String | semmle.label | name : String | +| Test.java:33:14:33:20 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:37:8:37:11 | file | semmle.label | file | +| Test.java:40:8:40:11 | file | semmle.label | file | +| Test.java:43:8:43:13 | writer | semmle.label | writer | +| Test.java:46:8:46:16 | generator | semmle.label | generator | +| Test.java:48:8:48:8 | t | semmle.label | t | +| Test.java:50:26:50:48 | new String(...) : String | semmle.label | new String(...) : String | +| Test.java:50:37:50:38 | bs : byte[] | semmle.label | bs : byte[] | +| Test.java:51:8:51:9 | bs | semmle.label | bs | +| Test.java:52:8:52:20 | reconstructed | semmle.label | reconstructed | +| Test.java:56:14:56:20 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:60:8:60:11 | file | semmle.label | file | +| Test.java:61:22:61:47 | new FileOutputStream(...) : FileOutputStream | semmle.label | new FileOutputStream(...) : FileOutputStream | +| Test.java:61:43:61:46 | file : File | semmle.label | file : File | +| Test.java:63:8:63:10 | out | semmle.label | out | +| Test.java:66:8:66:13 | writer | semmle.label | writer | +| Test.java:69:8:69:16 | generator | semmle.label | generator | +| Test.java:71:8:71:8 | t | semmle.label | t | +| Test.java:73:26:73:48 | new String(...) : String | semmle.label | new String(...) : String | +| Test.java:73:37:73:38 | bs : byte[] | semmle.label | bs : byte[] | +| Test.java:74:8:74:9 | bs | semmle.label | bs | +| Test.java:75:8:75:20 | reconstructed | semmle.label | reconstructed | +| Test.java:79:14:79:20 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:82:8:82:26 | readValue(...) | semmle.label | readValue(...) | +| Test.java:83:8:83:45 | readValue(...).name | semmle.label | readValue(...).name | +| Test.java:84:8:84:40 | readValue(...) : Potato | semmle.label | readValue(...) : Potato | +| Test.java:84:8:84:50 | getName(...) | semmle.label | getName(...) | +| Test.java:88:14:88:20 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:91:8:91:27 | readValues(...) | semmle.label | readValues(...) | +| Test.java:94:15:94:23 | pIterator : MappingIterator | semmle.label | pIterator : MappingIterator | +| Test.java:94:15:94:30 | next(...) : Potato | semmle.label | next(...) : Potato | +| Test.java:95:9:95:9 | p | semmle.label | p | +| Test.java:96:9:96:14 | p.name | semmle.label | p.name | +| Test.java:97:9:97:9 | p : Potato | semmle.label | p : Potato | +| Test.java:97:9:97:19 | getName(...) | semmle.label | getName(...) | +| Test.java:102:14:102:20 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:104:3:104:15 | taintedParams [post update] : HashMap [] : String | semmle.label | taintedParams [post update] : HashMap [] : String | +| Test.java:104:29:104:29 | s : String | semmle.label | s : String | +| Test.java:106:17:106:45 | valueToTree(...) : JsonNode | semmle.label | valueToTree(...) : JsonNode | +| Test.java:106:32:106:44 | taintedParams : HashMap [] : String | semmle.label | taintedParams : HashMap [] : String | +| Test.java:107:8:107:9 | jn | semmle.label | jn | +| Test.java:108:14:108:46 | convertValue(...) : Potato | semmle.label | convertValue(...) : Potato | +| Test.java:108:30:108:31 | jn : JsonNode | semmle.label | jn : JsonNode | +| Test.java:109:8:109:8 | p | semmle.label | p | +| Test.java:110:8:110:8 | p : Potato | semmle.label | p : Potato | +| Test.java:110:8:110:18 | getName(...) | semmle.label | getName(...) | +subpaths +| Test.java:84:8:84:40 | readValue(...) : Potato | Test.java:21:18:21:24 | parameter this : Potato | Test.java:22:11:22:14 | name : String | Test.java:84:8:84:50 | getName(...) | +| Test.java:97:9:97:9 | p : Potato | Test.java:21:18:21:24 | parameter this : Potato | Test.java:22:11:22:14 | name : String | Test.java:97:9:97:19 | getName(...) | +| Test.java:110:8:110:8 | p : Potato | Test.java:21:18:21:24 | parameter this : Potato | Test.java:22:11:22:14 | name : String | Test.java:110:8:110:18 | getName(...) | +testFailures diff --git a/java/ql/test/library-tests/dataflow/typeflow-dispatch/test.expected b/java/ql/test/library-tests/dataflow/typeflow-dispatch/test.expected index e69de29bb2d..95f961b25be 100644 --- a/java/ql/test/library-tests/dataflow/typeflow-dispatch/test.expected +++ b/java/ql/test/library-tests/dataflow/typeflow-dispatch/test.expected @@ -0,0 +1,33 @@ +models +| 1 | Summary: java.lang; Iterable; true; forEach; (Consumer); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 2 | Summary: java.util; Collection; true; add; ; ; Argument[0]; Argument[this].Element; value; manual | +edges +| A.java:13:28:13:35 | x : String | A.java:14:11:14:11 | x : String | provenance | | +| A.java:14:11:14:11 | x : String | A.java:22:16:22:16 | x : String | provenance | | +| A.java:17:33:17:40 | x : String | A.java:18:14:18:14 | x : String | provenance | | +| A.java:18:14:18:14 | x : String | A.java:13:28:13:35 | x : String | provenance | | +| A.java:22:16:22:16 | x : String | A.java:22:28:22:28 | x | provenance | | +| A.java:22:35:22:45 | source(...) : String | A.java:17:33:17:40 | x : String | provenance | | +| A.java:28:21:28:34 | l : ArrayList [] : String | A.java:29:5:29:5 | l : ArrayList [] : String | provenance | | +| A.java:29:5:29:5 | l : ArrayList [] : String | A.java:37:27:37:27 | x : String | provenance | MaD:1 | +| A.java:34:5:34:11 | tainted [post update] : ArrayList [] : String | A.java:37:18:37:24 | tainted : ArrayList [] : String | provenance | | +| A.java:34:17:34:27 | source(...) : String | A.java:34:5:34:11 | tainted [post update] : ArrayList [] : String | provenance | MaD:2 | +| A.java:37:18:37:24 | tainted : ArrayList [] : String | A.java:28:21:28:34 | l : ArrayList [] : String | provenance | | +| A.java:37:27:37:27 | x : String | A.java:37:39:37:39 | x | provenance | | +nodes +| A.java:13:28:13:35 | x : String | semmle.label | x : String | +| A.java:14:11:14:11 | x : String | semmle.label | x : String | +| A.java:17:33:17:40 | x : String | semmle.label | x : String | +| A.java:18:14:18:14 | x : String | semmle.label | x : String | +| A.java:22:16:22:16 | x : String | semmle.label | x : String | +| A.java:22:28:22:28 | x | semmle.label | x | +| A.java:22:35:22:45 | source(...) : String | semmle.label | source(...) : String | +| A.java:28:21:28:34 | l : ArrayList [] : String | semmle.label | l : ArrayList [] : String | +| A.java:29:5:29:5 | l : ArrayList [] : String | semmle.label | l : ArrayList [] : String | +| A.java:34:5:34:11 | tainted [post update] : ArrayList [] : String | semmle.label | tainted [post update] : ArrayList [] : String | +| A.java:34:17:34:27 | source(...) : String | semmle.label | source(...) : String | +| A.java:37:18:37:24 | tainted : ArrayList [] : String | semmle.label | tainted : ArrayList [] : String | +| A.java:37:27:37:27 | x : String | semmle.label | x : String | +| A.java:37:39:37:39 | x | semmle.label | x | +subpaths +testFailures diff --git a/java/ql/test/library-tests/frameworks/android/asynctask/test.expected b/java/ql/test/library-tests/frameworks/android/asynctask/test.expected index e69de29bb2d..e2a507c9b38 100644 --- a/java/ql/test/library-tests/frameworks/android/asynctask/test.expected +++ b/java/ql/test/library-tests/frameworks/android/asynctask/test.expected @@ -0,0 +1,59 @@ +models +edges +| Test.java:13:19:13:35 | source(...) : Object | Test.java:23:41:23:56 | params : Object[] | provenance | AdditionalTaintStep | +| Test.java:14:35:14:61 | source(...) : Object | Test.java:23:41:23:56 | params : Object[] | provenance | AdditionalTaintStep | +| Test.java:17:58:17:78 | source(...) : Object | Test.java:46:36:46:47 | field : Object | provenance | | +| Test.java:18:20:18:35 | source(...) : Object | Test.java:52:41:52:56 | params : Object[] | provenance | AdditionalTaintStep | +| Test.java:23:41:23:56 | params : Object[] | Test.java:24:18:24:26 | ...[...] | provenance | | +| Test.java:23:41:23:56 | params : Object[] | Test.java:25:18:25:26 | ...[...] | provenance | | +| Test.java:43:13:43:21 | this <.field> [post update] : TestConstructorTask [initField] : Object | Test.java:52:26:52:39 | parameter this : TestConstructorTask [initField] : Object | provenance | | +| Test.java:43:13:43:21 | this <.field> [post update] : TestConstructorTask [initField] : Object | Test.java:61:24:61:36 | parameter this : TestConstructorTask [initField] : Object | provenance | | +| Test.java:43:25:43:43 | source(...) : Object | Test.java:43:13:43:21 | this <.field> [post update] : TestConstructorTask [initField] : Object | provenance | | +| Test.java:46:36:46:47 | field : Object | Test.java:47:26:47:30 | field : Object | provenance | | +| Test.java:47:13:47:16 | this [post update] : TestConstructorTask [field] : Object | Test.java:52:26:52:39 | parameter this : TestConstructorTask [field] : Object | provenance | | +| Test.java:47:13:47:16 | this [post update] : TestConstructorTask [field] : Object | Test.java:61:24:61:36 | parameter this : TestConstructorTask [field] : Object | provenance | | +| Test.java:47:26:47:30 | field : Object | Test.java:47:13:47:16 | this [post update] : TestConstructorTask [field] : Object | provenance | | +| Test.java:52:26:52:39 | parameter this : TestConstructorTask [field] : Object | Test.java:54:18:54:22 | this <.field> : TestConstructorTask [field] : Object | provenance | | +| Test.java:52:26:52:39 | parameter this : TestConstructorTask [initField] : Object | Test.java:56:18:56:26 | this <.field> : TestConstructorTask [initField] : Object | provenance | | +| Test.java:52:41:52:56 | params : Object[] | Test.java:53:18:53:26 | ...[...] | provenance | | +| Test.java:52:41:52:56 | params : Object[] | Test.java:57:20:57:28 | ...[...] : Object | provenance | | +| Test.java:54:18:54:22 | this <.field> : TestConstructorTask [field] : Object | Test.java:54:18:54:22 | field | provenance | | +| Test.java:56:18:56:26 | this <.field> : TestConstructorTask [initField] : Object | Test.java:56:18:56:26 | initField | provenance | | +| Test.java:57:20:57:28 | ...[...] : Object | Test.java:61:38:61:49 | param : Object | provenance | | +| Test.java:61:24:61:36 | parameter this : TestConstructorTask [field] : Object | Test.java:63:18:63:22 | this <.field> : TestConstructorTask [field] : Object | provenance | | +| Test.java:61:24:61:36 | parameter this : TestConstructorTask [initField] : Object | Test.java:65:18:65:26 | this <.field> : TestConstructorTask [initField] : Object | provenance | | +| Test.java:61:38:61:49 | param : Object | Test.java:62:18:62:22 | param | provenance | | +| Test.java:63:18:63:22 | this <.field> : TestConstructorTask [field] : Object | Test.java:63:18:63:22 | field | provenance | | +| Test.java:65:18:65:26 | this <.field> : TestConstructorTask [initField] : Object | Test.java:65:18:65:26 | initField | provenance | | +nodes +| Test.java:13:19:13:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:14:35:14:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:17:58:17:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:18:20:18:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:23:41:23:56 | params : Object[] | semmle.label | params : Object[] | +| Test.java:24:18:24:26 | ...[...] | semmle.label | ...[...] | +| Test.java:25:18:25:26 | ...[...] | semmle.label | ...[...] | +| Test.java:43:13:43:21 | this <.field> [post update] : TestConstructorTask [initField] : Object | semmle.label | this <.field> [post update] : TestConstructorTask [initField] : Object | +| Test.java:43:25:43:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:46:36:46:47 | field : Object | semmle.label | field : Object | +| Test.java:47:13:47:16 | this [post update] : TestConstructorTask [field] : Object | semmle.label | this [post update] : TestConstructorTask [field] : Object | +| Test.java:47:26:47:30 | field : Object | semmle.label | field : Object | +| Test.java:52:26:52:39 | parameter this : TestConstructorTask [field] : Object | semmle.label | parameter this : TestConstructorTask [field] : Object | +| Test.java:52:26:52:39 | parameter this : TestConstructorTask [initField] : Object | semmle.label | parameter this : TestConstructorTask [initField] : Object | +| Test.java:52:41:52:56 | params : Object[] | semmle.label | params : Object[] | +| Test.java:53:18:53:26 | ...[...] | semmle.label | ...[...] | +| Test.java:54:18:54:22 | field | semmle.label | field | +| Test.java:54:18:54:22 | this <.field> : TestConstructorTask [field] : Object | semmle.label | this <.field> : TestConstructorTask [field] : Object | +| Test.java:56:18:56:26 | initField | semmle.label | initField | +| Test.java:56:18:56:26 | this <.field> : TestConstructorTask [initField] : Object | semmle.label | this <.field> : TestConstructorTask [initField] : Object | +| Test.java:57:20:57:28 | ...[...] : Object | semmle.label | ...[...] : Object | +| Test.java:61:24:61:36 | parameter this : TestConstructorTask [field] : Object | semmle.label | parameter this : TestConstructorTask [field] : Object | +| Test.java:61:24:61:36 | parameter this : TestConstructorTask [initField] : Object | semmle.label | parameter this : TestConstructorTask [initField] : Object | +| Test.java:61:38:61:49 | param : Object | semmle.label | param : Object | +| Test.java:62:18:62:22 | param | semmle.label | param | +| Test.java:63:18:63:22 | field | semmle.label | field | +| Test.java:63:18:63:22 | this <.field> : TestConstructorTask [field] : Object | semmle.label | this <.field> : TestConstructorTask [field] : Object | +| Test.java:65:18:65:26 | initField | semmle.label | initField | +| Test.java:65:18:65:26 | this <.field> : TestConstructorTask [initField] : Object | semmle.label | this <.field> : TestConstructorTask [initField] : Object | +subpaths +testFailures diff --git a/java/ql/test/library-tests/frameworks/android/content-provider-summaries/test.expected b/java/ql/test/library-tests/frameworks/android/content-provider-summaries/test.expected index e69de29bb2d..b7de62c4fb8 100644 --- a/java/ql/test/library-tests/frameworks/android/content-provider-summaries/test.expected +++ b/java/ql/test/library-tests/frameworks/android/content-provider-summaries/test.expected @@ -0,0 +1,932 @@ +models +| 1 | Summary: android.content; ContentProviderClient; true; applyBatch; ; ; Argument[this]; ReturnValue; taint; manual | +| 2 | Summary: android.content; ContentProviderClient; true; call; ; ; Argument[this]; ReturnValue; taint; manual | +| 3 | Summary: android.content; ContentProviderClient; true; canonicalize; ; ; Argument[this]; ReturnValue; taint; manual | +| 4 | Summary: android.content; ContentProviderClient; true; getLocalContentProvider; ; ; Argument[this]; ReturnValue; taint; manual | +| 5 | Summary: android.content; ContentProviderClient; true; getStreamTypes; ; ; Argument[this]; ReturnValue; taint; manual | +| 6 | Summary: android.content; ContentProviderClient; true; insert; ; ; Argument[this]; ReturnValue; taint; manual | +| 7 | Summary: android.content; ContentProviderClient; true; query; ; ; Argument[this]; ReturnValue; taint; manual | +| 8 | Summary: android.content; ContentProviderClient; true; uncanonicalize; ; ; Argument[this]; ReturnValue; taint; manual | +| 9 | Summary: android.content; ContentProviderOperation; false; apply; ; ; Argument[this]; ReturnValue; taint; manual | +| 10 | Summary: android.content; ContentProviderOperation; false; apply; ; ; Argument[0]; ReturnValue; taint; manual | +| 11 | Summary: android.content; ContentProviderOperation; false; getUri; ; ; Argument[this]; ReturnValue; taint; manual | +| 12 | Summary: android.content; ContentProviderOperation; false; newAssertQuery; ; ; Argument[0]; ReturnValue; taint; manual | +| 13 | Summary: android.content; ContentProviderOperation; false; newCall; ; ; Argument[0]; ReturnValue; taint; manual | +| 14 | Summary: android.content; ContentProviderOperation; false; newDelete; ; ; Argument[0]; ReturnValue; taint; manual | +| 15 | Summary: android.content; ContentProviderOperation; false; newInsert; ; ; Argument[0]; ReturnValue; taint; manual | +| 16 | Summary: android.content; ContentProviderOperation; false; newUpdate; ; ; Argument[0]; ReturnValue; taint; manual | +| 17 | Summary: android.content; ContentProviderOperation; false; resolveExtrasBackReferences; ; ; Argument[0]; ReturnValue; taint; manual | +| 18 | Summary: android.content; ContentProviderOperation; false; resolveSelectionArgsBackReferences; ; ; Argument[0]; ReturnValue; taint; manual | +| 19 | Summary: android.content; ContentProviderOperation; false; resolveValueBackReferences; ; ; Argument[0]; ReturnValue; taint; manual | +| 20 | Summary: android.content; ContentProviderOperation$Builder; false; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 21 | Summary: android.content; ContentProviderOperation$Builder; false; withExceptionAllowed; ; ; Argument[this]; ReturnValue; value; manual | +| 22 | Summary: android.content; ContentProviderOperation$Builder; false; withExpectedCount; ; ; Argument[this]; ReturnValue; value; manual | +| 23 | Summary: android.content; ContentProviderOperation$Builder; false; withExtra; ; ; Argument[this]; ReturnValue; value; manual | +| 24 | Summary: android.content; ContentProviderOperation$Builder; false; withExtraBackReference; ; ; Argument[this]; ReturnValue; value; manual | +| 25 | Summary: android.content; ContentProviderOperation$Builder; false; withExtras; ; ; Argument[this]; ReturnValue; value; manual | +| 26 | Summary: android.content; ContentProviderOperation$Builder; false; withSelection; ; ; Argument[this]; ReturnValue; value; manual | +| 27 | Summary: android.content; ContentProviderOperation$Builder; false; withSelectionBackReference; ; ; Argument[this]; ReturnValue; value; manual | +| 28 | Summary: android.content; ContentProviderOperation$Builder; false; withValue; ; ; Argument[this]; ReturnValue; value; manual | +| 29 | Summary: android.content; ContentProviderOperation$Builder; false; withValueBackReference; ; ; Argument[this]; ReturnValue; value; manual | +| 30 | Summary: android.content; ContentProviderOperation$Builder; false; withValues; ; ; Argument[this]; ReturnValue; value; manual | +| 31 | Summary: android.content; ContentProviderOperation$Builder; false; withYieldAllowed; ; ; Argument[this]; ReturnValue; value; manual | +| 32 | Summary: android.content; ContentProviderResult; false; ContentProviderResult; (Bundle); ; Argument[0]; Argument[this].Field[android.content.ContentProviderResult.extras]; value; manual | +| 33 | Summary: android.content; ContentProviderResult; false; ContentProviderResult; (Parcel); ; Argument[0]; Argument[this]; taint; manual | +| 34 | Summary: android.content; ContentProviderResult; false; ContentProviderResult; (Throwable); ; Argument[0]; Argument[this].Field[android.content.ContentProviderResult.exception]; value; manual | +| 35 | Summary: android.content; ContentProviderResult; false; ContentProviderResult; (Uri); ; Argument[0]; Argument[this].Field[android.content.ContentProviderResult.uri]; value; manual | +| 36 | Summary: android.content; ContentResolver; true; acquireContentProviderClient; ; ; Argument[0]; ReturnValue; taint; manual | +| 37 | Summary: android.content; ContentResolver; true; acquireUnstableContentProviderClient; ; ; Argument[0]; ReturnValue; taint; manual | +| 38 | Summary: android.content; ContentResolver; true; applyBatch; ; ; Argument[1]; ReturnValue; taint; manual | +| 39 | Summary: android.content; ContentResolver; true; call; ; ; Argument[0]; ReturnValue; taint; manual | +| 40 | Summary: android.content; ContentResolver; true; canonicalize; ; ; Argument[0]; ReturnValue; taint; manual | +| 41 | Summary: android.content; ContentResolver; true; getStreamTypes; ; ; Argument[0]; ReturnValue; taint; manual | +| 42 | Summary: android.content; ContentResolver; true; getType; ; ; Argument[0]; ReturnValue; taint; manual | +| 43 | Summary: android.content; ContentResolver; true; insert; ; ; Argument[0]; ReturnValue; taint; manual | +| 44 | Summary: android.content; ContentResolver; true; query; ; ; Argument[0]; ReturnValue; taint; manual | +| 45 | Summary: android.content; ContentResolver; true; query; (Uri,String[],String,String[],String); ; Argument[0]; ReturnValue; taint; manual | +| 46 | Summary: android.content; ContentResolver; true; query; (Uri,String[],String,String[],String,CancellationSignal); ; Argument[0]; ReturnValue; taint; manual | +| 47 | Summary: android.content; ContentResolver; true; uncanonicalize; ; ; Argument[0]; ReturnValue; taint; manual | +| 48 | Summary: android.content; ContentResolver; true; wrap; ; ; Argument[0]; ReturnValue; taint; manual | +| 49 | Summary: android.content; ContentValues; false; put; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 50 | Summary: android.content; ContentValues; false; put; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 51 | Summary: android.content; ContentValues; false; putAll; ; ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 52 | Summary: android.content; ContentValues; false; putAll; ; ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 53 | Summary: android.database; Cursor; true; copyStringToBuffer; ; ; Argument[this]; Argument[1]; taint; manual | +| 54 | Summary: android.database; Cursor; true; getBlob; ; ; Argument[this]; ReturnValue; taint; manual | +| 55 | Summary: android.database; Cursor; true; getColumnName; ; ; Argument[this]; ReturnValue; taint; manual | +| 56 | Summary: android.database; Cursor; true; getColumnNames; ; ; Argument[this]; ReturnValue; taint; manual | +| 57 | Summary: android.database; Cursor; true; getExtras; ; ; Argument[this]; ReturnValue; taint; manual | +| 58 | Summary: android.database; Cursor; true; getNotificationUri; ; ; Argument[this]; ReturnValue; taint; manual | +| 59 | Summary: android.database; Cursor; true; getNotificationUris; ; ; Argument[this]; ReturnValue; taint; manual | +| 60 | Summary: android.database; Cursor; true; getString; ; ; Argument[this]; ReturnValue; taint; manual | +| 61 | Summary: android.database; Cursor; true; respond; ; ; Argument[this]; ReturnValue; taint; manual | +| 62 | Summary: generatedtest; Test; false; newWithMapValueDefault; (Object); ; Argument[0]; ReturnValue.MapValue; value; manual | +| 63 | Summary: generatedtest; Test; false; newWithMapKeyDefault; (Object); ; Argument[0]; ReturnValue.MapKey; value; manual | +| 64 | Summary: generatedtest; Test; false; getMapValueDefault; (Object); ; Argument[0].MapValue; ReturnValue; value; manual | +| 65 | Summary: generatedtest; Test; false; getMapKeyDefault; (Object); ; Argument[0].MapKey; ReturnValue; value; manual | +edges +| Test.java:47:31:47:62 | (...)... : ContentProviderClient | Test.java:48:10:48:11 | in : ContentProviderClient | provenance | | +| Test.java:47:55:47:62 | source(...) : Object | Test.java:47:31:47:62 | (...)... : ContentProviderClient | provenance | | +| Test.java:48:10:48:11 | in : ContentProviderClient | Test.java:48:10:48:28 | applyBatch(...) : ContentProviderResult[] | provenance | MaD:1 | +| Test.java:48:10:48:28 | applyBatch(...) : ContentProviderResult[] | Test.java:49:9:49:11 | out | provenance | | +| Test.java:54:31:54:62 | (...)... : ContentProviderClient | Test.java:55:10:55:11 | in : ContentProviderClient | provenance | | +| Test.java:54:55:54:62 | source(...) : Object | Test.java:54:31:54:62 | (...)... : ContentProviderClient | provenance | | +| Test.java:55:10:55:11 | in : ContentProviderClient | Test.java:55:10:55:34 | applyBatch(...) : ContentProviderResult[] | provenance | MaD:1 | +| Test.java:55:10:55:34 | applyBatch(...) : ContentProviderResult[] | Test.java:56:9:56:11 | out | provenance | | +| Test.java:61:31:61:62 | (...)... : ContentProviderClient | Test.java:62:10:62:11 | in : ContentProviderClient | provenance | | +| Test.java:61:55:61:62 | source(...) : Object | Test.java:61:31:61:62 | (...)... : ContentProviderClient | provenance | | +| Test.java:62:10:62:11 | in : ContentProviderClient | Test.java:62:10:62:34 | call(...) : Bundle | provenance | MaD:2 | +| Test.java:62:10:62:34 | call(...) : Bundle | Test.java:63:9:63:11 | out | provenance | | +| Test.java:68:31:68:62 | (...)... : ContentProviderClient | Test.java:69:10:69:11 | in : ContentProviderClient | provenance | | +| Test.java:68:55:68:62 | source(...) : Object | Test.java:68:31:68:62 | (...)... : ContentProviderClient | provenance | | +| Test.java:69:10:69:11 | in : ContentProviderClient | Test.java:69:10:69:40 | call(...) : Bundle | provenance | MaD:2 | +| Test.java:69:10:69:40 | call(...) : Bundle | Test.java:70:9:70:11 | out | provenance | | +| Test.java:75:31:75:62 | (...)... : ContentProviderClient | Test.java:76:10:76:11 | in : ContentProviderClient | provenance | | +| Test.java:75:55:75:62 | source(...) : Object | Test.java:75:31:75:62 | (...)... : ContentProviderClient | provenance | | +| Test.java:76:10:76:11 | in : ContentProviderClient | Test.java:76:10:76:30 | canonicalize(...) : Uri | provenance | MaD:3 | +| Test.java:76:10:76:30 | canonicalize(...) : Uri | Test.java:77:9:77:11 | out | provenance | | +| Test.java:82:31:82:62 | (...)... : ContentProviderClient | Test.java:83:10:83:11 | in : ContentProviderClient | provenance | | +| Test.java:82:55:82:62 | source(...) : Object | Test.java:82:31:82:62 | (...)... : ContentProviderClient | provenance | | +| Test.java:83:10:83:11 | in : ContentProviderClient | Test.java:83:10:83:37 | getLocalContentProvider(...) : ContentProvider | provenance | MaD:4 | +| Test.java:83:10:83:37 | getLocalContentProvider(...) : ContentProvider | Test.java:84:9:84:11 | out | provenance | | +| Test.java:89:31:89:62 | (...)... : ContentProviderClient | Test.java:90:10:90:11 | in : ContentProviderClient | provenance | | +| Test.java:89:55:89:62 | source(...) : Object | Test.java:89:31:89:62 | (...)... : ContentProviderClient | provenance | | +| Test.java:90:10:90:11 | in : ContentProviderClient | Test.java:90:10:90:38 | getStreamTypes(...) : String[] | provenance | MaD:5 | +| Test.java:90:10:90:38 | getStreamTypes(...) : String[] | Test.java:91:9:91:11 | out | provenance | | +| Test.java:96:31:96:62 | (...)... : ContentProviderClient | Test.java:97:10:97:11 | in : ContentProviderClient | provenance | | +| Test.java:96:55:96:62 | source(...) : Object | Test.java:96:31:96:62 | (...)... : ContentProviderClient | provenance | | +| Test.java:97:10:97:11 | in : ContentProviderClient | Test.java:97:10:97:30 | insert(...) : Uri | provenance | MaD:6 | +| Test.java:97:10:97:30 | insert(...) : Uri | Test.java:98:9:98:11 | out | provenance | | +| Test.java:103:31:103:62 | (...)... : ContentProviderClient | Test.java:104:10:104:11 | in : ContentProviderClient | provenance | | +| Test.java:103:55:103:62 | source(...) : Object | Test.java:103:31:103:62 | (...)... : ContentProviderClient | provenance | | +| Test.java:104:10:104:11 | in : ContentProviderClient | Test.java:104:10:104:36 | insert(...) : Uri | provenance | MaD:6 | +| Test.java:104:10:104:36 | insert(...) : Uri | Test.java:105:9:105:11 | out | provenance | | +| Test.java:110:31:110:62 | (...)... : ContentProviderClient | Test.java:111:10:111:11 | in : ContentProviderClient | provenance | | +| Test.java:110:55:110:62 | source(...) : Object | Test.java:110:31:110:62 | (...)... : ContentProviderClient | provenance | | +| Test.java:111:10:111:11 | in : ContentProviderClient | Test.java:111:10:111:41 | query(...) : Cursor | provenance | MaD:7 | +| Test.java:111:10:111:41 | query(...) : Cursor | Test.java:112:9:112:11 | out | provenance | | +| Test.java:117:31:117:62 | (...)... : ContentProviderClient | Test.java:118:10:118:11 | in : ContentProviderClient | provenance | | +| Test.java:117:55:117:62 | source(...) : Object | Test.java:117:31:117:62 | (...)... : ContentProviderClient | provenance | | +| Test.java:118:10:118:11 | in : ContentProviderClient | Test.java:118:10:118:47 | query(...) : Cursor | provenance | MaD:7 | +| Test.java:118:10:118:47 | query(...) : Cursor | Test.java:119:9:119:11 | out | provenance | | +| Test.java:124:31:124:62 | (...)... : ContentProviderClient | Test.java:125:10:125:11 | in : ContentProviderClient | provenance | | +| Test.java:124:55:124:62 | source(...) : Object | Test.java:124:31:124:62 | (...)... : ContentProviderClient | provenance | | +| Test.java:125:10:125:11 | in : ContentProviderClient | Test.java:125:10:125:53 | query(...) : Cursor | provenance | MaD:7 | +| Test.java:125:10:125:53 | query(...) : Cursor | Test.java:126:9:126:11 | out | provenance | | +| Test.java:131:31:131:62 | (...)... : ContentProviderClient | Test.java:132:10:132:11 | in : ContentProviderClient | provenance | | +| Test.java:131:55:131:62 | source(...) : Object | Test.java:131:31:131:62 | (...)... : ContentProviderClient | provenance | | +| Test.java:132:10:132:11 | in : ContentProviderClient | Test.java:132:10:132:32 | uncanonicalize(...) : Uri | provenance | MaD:8 | +| Test.java:132:10:132:32 | uncanonicalize(...) : Uri | Test.java:133:9:133:11 | out | provenance | | +| Test.java:138:42:138:84 | (...)... : Builder | Test.java:139:10:139:11 | in : Builder | provenance | | +| Test.java:138:77:138:84 | source(...) : Object | Test.java:138:42:138:84 | (...)... : Builder | provenance | | +| Test.java:139:10:139:11 | in : Builder | Test.java:139:10:139:19 | build(...) : ContentProviderOperation | provenance | MaD:20 | +| Test.java:139:10:139:19 | build(...) : ContentProviderOperation | Test.java:140:9:140:11 | out | provenance | | +| Test.java:145:42:145:84 | (...)... : Builder | Test.java:146:10:146:11 | in : Builder | provenance | | +| Test.java:145:77:145:84 | source(...) : Object | Test.java:145:42:145:84 | (...)... : Builder | provenance | | +| Test.java:146:10:146:11 | in : Builder | Test.java:146:10:146:39 | withExceptionAllowed(...) : Builder | provenance | MaD:21 | +| Test.java:146:10:146:39 | withExceptionAllowed(...) : Builder | Test.java:147:9:147:11 | out | provenance | | +| Test.java:152:42:152:84 | (...)... : Builder | Test.java:153:10:153:11 | in : Builder | provenance | | +| Test.java:152:77:152:84 | source(...) : Object | Test.java:152:42:152:84 | (...)... : Builder | provenance | | +| Test.java:153:10:153:11 | in : Builder | Test.java:153:10:153:32 | withExpectedCount(...) : Builder | provenance | MaD:22 | +| Test.java:153:10:153:32 | withExpectedCount(...) : Builder | Test.java:154:9:154:11 | out | provenance | | +| Test.java:159:42:159:84 | (...)... : Builder | Test.java:160:10:160:11 | in : Builder | provenance | | +| Test.java:159:77:159:84 | source(...) : Object | Test.java:159:42:159:84 | (...)... : Builder | provenance | | +| Test.java:160:10:160:11 | in : Builder | Test.java:160:10:160:33 | withExtra(...) : Builder | provenance | MaD:23 | +| Test.java:160:10:160:33 | withExtra(...) : Builder | Test.java:161:9:161:11 | out | provenance | | +| Test.java:166:42:166:84 | (...)... : Builder | Test.java:167:10:167:11 | in : Builder | provenance | | +| Test.java:166:77:166:84 | source(...) : Object | Test.java:166:42:166:84 | (...)... : Builder | provenance | | +| Test.java:167:10:167:11 | in : Builder | Test.java:167:10:167:43 | withExtraBackReference(...) : Builder | provenance | MaD:24 | +| Test.java:167:10:167:43 | withExtraBackReference(...) : Builder | Test.java:168:9:168:11 | out | provenance | | +| Test.java:173:42:173:84 | (...)... : Builder | Test.java:174:10:174:11 | in : Builder | provenance | | +| Test.java:173:77:173:84 | source(...) : Object | Test.java:173:42:173:84 | (...)... : Builder | provenance | | +| Test.java:174:10:174:11 | in : Builder | Test.java:174:10:174:49 | withExtraBackReference(...) : Builder | provenance | MaD:24 | +| Test.java:174:10:174:49 | withExtraBackReference(...) : Builder | Test.java:175:9:175:11 | out | provenance | | +| Test.java:180:42:180:84 | (...)... : Builder | Test.java:181:10:181:11 | in : Builder | provenance | | +| Test.java:180:77:180:84 | source(...) : Object | Test.java:180:42:180:84 | (...)... : Builder | provenance | | +| Test.java:181:10:181:11 | in : Builder | Test.java:181:10:181:28 | withExtras(...) : Builder | provenance | MaD:25 | +| Test.java:181:10:181:28 | withExtras(...) : Builder | Test.java:182:9:182:11 | out | provenance | | +| Test.java:187:42:187:84 | (...)... : Builder | Test.java:188:10:188:11 | in : Builder | provenance | | +| Test.java:187:77:187:84 | source(...) : Object | Test.java:187:42:187:84 | (...)... : Builder | provenance | | +| Test.java:188:10:188:11 | in : Builder | Test.java:188:10:188:37 | withSelection(...) : Builder | provenance | MaD:26 | +| Test.java:188:10:188:37 | withSelection(...) : Builder | Test.java:189:9:189:11 | out | provenance | | +| Test.java:194:42:194:84 | (...)... : Builder | Test.java:195:10:195:11 | in : Builder | provenance | | +| Test.java:194:77:194:84 | source(...) : Object | Test.java:194:42:194:84 | (...)... : Builder | provenance | | +| Test.java:195:10:195:11 | in : Builder | Test.java:195:10:195:44 | withSelectionBackReference(...) : Builder | provenance | MaD:27 | +| Test.java:195:10:195:44 | withSelectionBackReference(...) : Builder | Test.java:196:9:196:11 | out | provenance | | +| Test.java:201:42:201:84 | (...)... : Builder | Test.java:202:10:202:11 | in : Builder | provenance | | +| Test.java:201:77:201:84 | source(...) : Object | Test.java:201:42:201:84 | (...)... : Builder | provenance | | +| Test.java:202:10:202:11 | in : Builder | Test.java:202:10:202:50 | withSelectionBackReference(...) : Builder | provenance | MaD:27 | +| Test.java:202:10:202:50 | withSelectionBackReference(...) : Builder | Test.java:203:9:203:11 | out | provenance | | +| Test.java:208:42:208:84 | (...)... : Builder | Test.java:209:10:209:11 | in : Builder | provenance | | +| Test.java:208:77:208:84 | source(...) : Object | Test.java:208:42:208:84 | (...)... : Builder | provenance | | +| Test.java:209:10:209:11 | in : Builder | Test.java:209:10:209:33 | withValue(...) : Builder | provenance | MaD:28 | +| Test.java:209:10:209:33 | withValue(...) : Builder | Test.java:210:9:210:11 | out | provenance | | +| Test.java:215:42:215:84 | (...)... : Builder | Test.java:216:10:216:11 | in : Builder | provenance | | +| Test.java:215:77:215:84 | source(...) : Object | Test.java:215:42:215:84 | (...)... : Builder | provenance | | +| Test.java:216:10:216:11 | in : Builder | Test.java:216:10:216:43 | withValueBackReference(...) : Builder | provenance | MaD:29 | +| Test.java:216:10:216:43 | withValueBackReference(...) : Builder | Test.java:217:9:217:11 | out | provenance | | +| Test.java:222:42:222:84 | (...)... : Builder | Test.java:223:10:223:11 | in : Builder | provenance | | +| Test.java:222:77:222:84 | source(...) : Object | Test.java:222:42:222:84 | (...)... : Builder | provenance | | +| Test.java:223:10:223:11 | in : Builder | Test.java:223:10:223:49 | withValueBackReference(...) : Builder | provenance | MaD:29 | +| Test.java:223:10:223:49 | withValueBackReference(...) : Builder | Test.java:224:9:224:11 | out | provenance | | +| Test.java:229:42:229:84 | (...)... : Builder | Test.java:230:10:230:11 | in : Builder | provenance | | +| Test.java:229:77:229:84 | source(...) : Object | Test.java:229:42:229:84 | (...)... : Builder | provenance | | +| Test.java:230:10:230:11 | in : Builder | Test.java:230:10:230:28 | withValues(...) : Builder | provenance | MaD:30 | +| Test.java:230:10:230:28 | withValues(...) : Builder | Test.java:231:9:231:11 | out | provenance | | +| Test.java:236:42:236:84 | (...)... : Builder | Test.java:237:10:237:11 | in : Builder | provenance | | +| Test.java:236:77:236:84 | source(...) : Object | Test.java:236:42:236:84 | (...)... : Builder | provenance | | +| Test.java:237:10:237:11 | in : Builder | Test.java:237:10:237:35 | withYieldAllowed(...) : Builder | provenance | MaD:31 | +| Test.java:237:10:237:35 | withYieldAllowed(...) : Builder | Test.java:238:9:238:11 | out | provenance | | +| Test.java:243:34:243:68 | (...)... : ContentProviderOperation | Test.java:244:10:244:11 | in : ContentProviderOperation | provenance | | +| Test.java:243:61:243:68 | source(...) : Object | Test.java:243:34:243:68 | (...)... : ContentProviderOperation | provenance | | +| Test.java:244:10:244:11 | in : ContentProviderOperation | Test.java:244:10:244:32 | apply(...) : ContentProviderResult | provenance | MaD:9 | +| Test.java:244:10:244:32 | apply(...) : ContentProviderResult | Test.java:245:9:245:11 | out | provenance | | +| Test.java:250:25:250:50 | (...)... : ContentProvider | Test.java:252:25:252:26 | in : ContentProvider | provenance | | +| Test.java:250:43:250:50 | source(...) : Object | Test.java:250:25:250:50 | (...)... : ContentProvider | provenance | | +| Test.java:252:10:252:36 | apply(...) : ContentProviderResult | Test.java:253:9:253:11 | out | provenance | | +| Test.java:252:25:252:26 | in : ContentProvider | Test.java:252:10:252:36 | apply(...) : ContentProviderResult | provenance | MaD:10 | +| Test.java:258:34:258:68 | (...)... : ContentProviderOperation | Test.java:259:10:259:11 | in : ContentProviderOperation | provenance | | +| Test.java:258:61:258:68 | source(...) : Object | Test.java:258:34:258:68 | (...)... : ContentProviderOperation | provenance | | +| Test.java:259:10:259:11 | in : ContentProviderOperation | Test.java:259:10:259:20 | getUri(...) : Uri | provenance | MaD:11 | +| Test.java:259:10:259:20 | getUri(...) : Uri | Test.java:260:9:260:11 | out | provenance | | +| Test.java:265:13:265:26 | (...)... : Uri | Test.java:266:50:266:51 | in : Uri | provenance | | +| Test.java:265:19:265:26 | source(...) : Object | Test.java:265:13:265:26 | (...)... : Uri | provenance | | +| Test.java:266:10:266:52 | newAssertQuery(...) : Builder | Test.java:267:9:267:11 | out | provenance | | +| Test.java:266:50:266:51 | in : Uri | Test.java:266:10:266:52 | newAssertQuery(...) : Builder | provenance | MaD:12 | +| Test.java:272:13:272:26 | (...)... : Uri | Test.java:273:43:273:44 | in : Uri | provenance | | +| Test.java:272:19:272:26 | source(...) : Object | Test.java:272:13:272:26 | (...)... : Uri | provenance | | +| Test.java:273:10:273:57 | newCall(...) : Builder | Test.java:274:9:274:11 | out | provenance | | +| Test.java:273:43:273:44 | in : Uri | Test.java:273:10:273:57 | newCall(...) : Builder | provenance | MaD:13 | +| Test.java:279:13:279:26 | (...)... : Uri | Test.java:280:45:280:46 | in : Uri | provenance | | +| Test.java:279:19:279:26 | source(...) : Object | Test.java:279:13:279:26 | (...)... : Uri | provenance | | +| Test.java:280:10:280:47 | newDelete(...) : Builder | Test.java:281:9:281:11 | out | provenance | | +| Test.java:280:45:280:46 | in : Uri | Test.java:280:10:280:47 | newDelete(...) : Builder | provenance | MaD:14 | +| Test.java:286:13:286:26 | (...)... : Uri | Test.java:287:45:287:46 | in : Uri | provenance | | +| Test.java:286:19:286:26 | source(...) : Object | Test.java:286:13:286:26 | (...)... : Uri | provenance | | +| Test.java:287:10:287:47 | newInsert(...) : Builder | Test.java:288:9:288:11 | out | provenance | | +| Test.java:287:45:287:46 | in : Uri | Test.java:287:10:287:47 | newInsert(...) : Builder | provenance | MaD:15 | +| Test.java:293:13:293:26 | (...)... : Uri | Test.java:294:45:294:46 | in : Uri | provenance | | +| Test.java:293:19:293:26 | source(...) : Object | Test.java:293:13:293:26 | (...)... : Uri | provenance | | +| Test.java:294:10:294:47 | newUpdate(...) : Builder | Test.java:295:9:295:11 | out | provenance | | +| Test.java:294:45:294:46 | in : Uri | Test.java:294:10:294:47 | newUpdate(...) : Builder | provenance | MaD:16 | +| Test.java:300:33:300:66 | (...)... : ContentProviderResult[] | Test.java:302:47:302:48 | in : ContentProviderResult[] | provenance | | +| Test.java:300:59:300:66 | source(...) : Object | Test.java:300:33:300:66 | (...)... : ContentProviderResult[] | provenance | | +| Test.java:302:10:302:52 | resolveExtrasBackReferences(...) : Bundle | Test.java:303:9:303:11 | out | provenance | | +| Test.java:302:47:302:48 | in : ContentProviderResult[] | Test.java:302:10:302:52 | resolveExtrasBackReferences(...) : Bundle | provenance | MaD:17 | +| Test.java:308:33:308:66 | (...)... : ContentProviderResult[] | Test.java:310:54:310:55 | in : ContentProviderResult[] | provenance | | +| Test.java:308:59:308:66 | source(...) : Object | Test.java:308:33:308:66 | (...)... : ContentProviderResult[] | provenance | | +| Test.java:310:10:310:59 | resolveSelectionArgsBackReferences(...) : String[] | Test.java:311:9:311:11 | out | provenance | | +| Test.java:310:54:310:55 | in : ContentProviderResult[] | Test.java:310:10:310:59 | resolveSelectionArgsBackReferences(...) : String[] | provenance | MaD:18 | +| Test.java:316:33:316:66 | (...)... : ContentProviderResult[] | Test.java:318:46:318:47 | in : ContentProviderResult[] | provenance | | +| Test.java:316:59:316:66 | source(...) : Object | Test.java:316:33:316:66 | (...)... : ContentProviderResult[] | provenance | | +| Test.java:318:10:318:51 | resolveValueBackReferences(...) : ContentValues | Test.java:319:9:319:11 | out | provenance | | +| Test.java:318:46:318:47 | in : ContentProviderResult[] | Test.java:318:10:318:51 | resolveValueBackReferences(...) : ContentValues | provenance | MaD:19 | +| Test.java:324:16:324:32 | (...)... : Bundle | Test.java:325:36:325:37 | in : Bundle | provenance | | +| Test.java:324:25:324:32 | source(...) : Object | Test.java:324:16:324:32 | (...)... : Bundle | provenance | | +| Test.java:325:10:325:38 | new ContentProviderResult(...) : ContentProviderResult [extras] : Bundle | Test.java:326:9:326:11 | out : ContentProviderResult [extras] : Bundle | provenance | | +| Test.java:325:36:325:37 | in : Bundle | Test.java:325:10:325:38 | new ContentProviderResult(...) : ContentProviderResult [extras] : Bundle | provenance | MaD:32 | +| Test.java:326:9:326:11 | out : ContentProviderResult [extras] : Bundle | Test.java:326:9:326:18 | out.extras | provenance | | +| Test.java:331:16:331:32 | (...)... : Parcel | Test.java:332:36:332:37 | in : Parcel | provenance | | +| Test.java:331:25:331:32 | source(...) : Object | Test.java:331:16:331:32 | (...)... : Parcel | provenance | | +| Test.java:332:10:332:38 | new ContentProviderResult(...) : ContentProviderResult | Test.java:333:9:333:11 | out | provenance | | +| Test.java:332:36:332:37 | in : Parcel | Test.java:332:10:332:38 | new ContentProviderResult(...) : ContentProviderResult | provenance | MaD:33 | +| Test.java:338:19:338:38 | (...)... : Throwable | Test.java:339:36:339:37 | in : Throwable | provenance | | +| Test.java:338:31:338:38 | source(...) : Object | Test.java:338:19:338:38 | (...)... : Throwable | provenance | | +| Test.java:339:10:339:38 | new ContentProviderResult(...) : ContentProviderResult [exception] : Throwable | Test.java:340:9:340:11 | out : ContentProviderResult [exception] : Throwable | provenance | | +| Test.java:339:36:339:37 | in : Throwable | Test.java:339:10:339:38 | new ContentProviderResult(...) : ContentProviderResult [exception] : Throwable | provenance | MaD:34 | +| Test.java:340:9:340:11 | out : ContentProviderResult [exception] : Throwable | Test.java:340:9:340:21 | out.exception | provenance | | +| Test.java:345:13:345:26 | (...)... : Uri | Test.java:346:36:346:37 | in : Uri | provenance | | +| Test.java:345:19:345:26 | source(...) : Object | Test.java:345:13:345:26 | (...)... : Uri | provenance | | +| Test.java:346:10:346:38 | new ContentProviderResult(...) : ContentProviderResult [uri] : Uri | Test.java:347:9:347:11 | out : ContentProviderResult [uri] : Uri | provenance | | +| Test.java:346:36:346:37 | in : Uri | Test.java:346:10:346:38 | new ContentProviderResult(...) : ContentProviderResult [uri] : Uri | provenance | MaD:35 | +| Test.java:347:9:347:11 | out : ContentProviderResult [uri] : Uri | Test.java:347:9:347:15 | out.uri | provenance | | +| Test.java:352:16:352:32 | (...)... : String | Test.java:354:48:354:49 | in : String | provenance | | +| Test.java:352:25:352:32 | source(...) : Object | Test.java:352:16:352:32 | (...)... : String | provenance | | +| Test.java:354:10:354:50 | acquireContentProviderClient(...) : ContentProviderClient | Test.java:355:9:355:11 | out | provenance | | +| Test.java:354:48:354:49 | in : String | Test.java:354:10:354:50 | acquireContentProviderClient(...) : ContentProviderClient | provenance | MaD:36 | +| Test.java:360:13:360:26 | (...)... : Uri | Test.java:362:48:362:49 | in : Uri | provenance | | +| Test.java:360:19:360:26 | source(...) : Object | Test.java:360:13:360:26 | (...)... : Uri | provenance | | +| Test.java:362:10:362:50 | acquireContentProviderClient(...) : ContentProviderClient | Test.java:363:9:363:11 | out | provenance | | +| Test.java:362:48:362:49 | in : Uri | Test.java:362:10:362:50 | acquireContentProviderClient(...) : ContentProviderClient | provenance | MaD:36 | +| Test.java:368:16:368:32 | (...)... : String | Test.java:370:56:370:57 | in : String | provenance | | +| Test.java:368:25:368:32 | source(...) : Object | Test.java:368:16:368:32 | (...)... : String | provenance | | +| Test.java:370:10:370:58 | acquireUnstableContentProviderClient(...) : ContentProviderClient | Test.java:371:9:371:11 | out | provenance | | +| Test.java:370:56:370:57 | in : String | Test.java:370:10:370:58 | acquireUnstableContentProviderClient(...) : ContentProviderClient | provenance | MaD:37 | +| Test.java:376:13:376:26 | (...)... : Uri | Test.java:378:56:378:57 | in : Uri | provenance | | +| Test.java:376:19:376:26 | source(...) : Object | Test.java:376:13:376:26 | (...)... : Uri | provenance | | +| Test.java:378:10:378:58 | acquireUnstableContentProviderClient(...) : ContentProviderClient | Test.java:379:9:379:11 | out | provenance | | +| Test.java:378:56:378:57 | in : Uri | Test.java:378:10:378:58 | acquireUnstableContentProviderClient(...) : ContentProviderClient | provenance | MaD:37 | +| Test.java:384:19:384:38 | (...)... : ArrayList | Test.java:386:36:386:37 | in : ArrayList | provenance | | +| Test.java:384:31:384:38 | source(...) : Object | Test.java:384:19:384:38 | (...)... : ArrayList | provenance | | +| Test.java:386:10:386:38 | applyBatch(...) : ContentProviderResult[] | Test.java:387:9:387:11 | out | provenance | | +| Test.java:386:36:386:37 | in : ArrayList | Test.java:386:10:386:38 | applyBatch(...) : ContentProviderResult[] | provenance | MaD:38 | +| Test.java:392:16:392:32 | (...)... : String | Test.java:394:24:394:25 | in : String | provenance | | +| Test.java:392:25:392:32 | source(...) : Object | Test.java:392:16:392:32 | (...)... : String | provenance | | +| Test.java:394:10:394:71 | call(...) : Bundle | Test.java:395:9:395:11 | out | provenance | | +| Test.java:394:24:394:25 | in : String | Test.java:394:10:394:71 | call(...) : Bundle | provenance | MaD:39 | +| Test.java:400:13:400:26 | (...)... : Uri | Test.java:402:24:402:25 | in : Uri | provenance | | +| Test.java:400:19:400:26 | source(...) : Object | Test.java:400:13:400:26 | (...)... : Uri | provenance | | +| Test.java:402:10:402:71 | call(...) : Bundle | Test.java:403:9:403:11 | out | provenance | | +| Test.java:402:24:402:25 | in : Uri | Test.java:402:10:402:71 | call(...) : Bundle | provenance | MaD:39 | +| Test.java:408:13:408:26 | (...)... : Uri | Test.java:410:32:410:33 | in : Uri | provenance | | +| Test.java:408:19:408:26 | source(...) : Object | Test.java:408:13:408:26 | (...)... : Uri | provenance | | +| Test.java:410:10:410:34 | canonicalize(...) : Uri | Test.java:411:9:411:11 | out | provenance | | +| Test.java:410:32:410:33 | in : Uri | Test.java:410:10:410:34 | canonicalize(...) : Uri | provenance | MaD:40 | +| Test.java:416:13:416:26 | (...)... : Uri | Test.java:418:34:418:35 | in : Uri | provenance | | +| Test.java:416:19:416:26 | source(...) : Object | Test.java:416:13:416:26 | (...)... : Uri | provenance | | +| Test.java:418:10:418:42 | getStreamTypes(...) : String[] | Test.java:419:9:419:11 | out | provenance | | +| Test.java:418:34:418:35 | in : Uri | Test.java:418:10:418:42 | getStreamTypes(...) : String[] | provenance | MaD:41 | +| Test.java:424:13:424:26 | (...)... : Uri | Test.java:426:27:426:28 | in : Uri | provenance | | +| Test.java:424:19:424:26 | source(...) : Object | Test.java:424:13:424:26 | (...)... : Uri | provenance | | +| Test.java:426:10:426:29 | getType(...) : String | Test.java:427:9:427:11 | out | provenance | | +| Test.java:426:27:426:28 | in : Uri | Test.java:426:10:426:29 | getType(...) : String | provenance | MaD:42 | +| Test.java:432:13:432:26 | (...)... : Uri | Test.java:434:26:434:27 | in : Uri | provenance | | +| Test.java:432:19:432:26 | source(...) : Object | Test.java:432:13:432:26 | (...)... : Uri | provenance | | +| Test.java:434:10:434:34 | insert(...) : Uri | Test.java:435:9:435:11 | out | provenance | | +| Test.java:434:26:434:27 | in : Uri | Test.java:434:10:434:34 | insert(...) : Uri | provenance | MaD:43 | +| Test.java:440:13:440:26 | (...)... : Uri | Test.java:442:26:442:27 | in : Uri | provenance | | +| Test.java:440:19:440:26 | source(...) : Object | Test.java:440:13:440:26 | (...)... : Uri | provenance | | +| Test.java:442:10:442:40 | insert(...) : Uri | Test.java:443:9:443:11 | out | provenance | | +| Test.java:442:26:442:27 | in : Uri | Test.java:442:10:442:40 | insert(...) : Uri | provenance | MaD:43 | +| Test.java:448:13:448:26 | (...)... : Uri | Test.java:450:25:450:26 | in : Uri | provenance | | +| Test.java:448:19:448:26 | source(...) : Object | Test.java:448:13:448:26 | (...)... : Uri | provenance | | +| Test.java:450:10:450:45 | query(...) : Cursor | Test.java:451:9:451:11 | out | provenance | | +| Test.java:450:25:450:26 | in : Uri | Test.java:450:10:450:45 | query(...) : Cursor | provenance | MaD:44 | +| Test.java:456:13:456:26 | (...)... : Uri | Test.java:458:25:458:26 | in : Uri | provenance | | +| Test.java:456:19:456:26 | source(...) : Object | Test.java:456:13:456:26 | (...)... : Uri | provenance | | +| Test.java:458:10:458:51 | query(...) : Cursor | Test.java:459:9:459:11 | out | provenance | | +| Test.java:458:25:458:26 | in : Uri | Test.java:458:10:458:51 | query(...) : Cursor | provenance | MaD:44 | +| Test.java:458:25:458:26 | in : Uri | Test.java:458:10:458:51 | query(...) : Cursor | provenance | MaD:45 | +| Test.java:464:13:464:26 | (...)... : Uri | Test.java:466:25:466:26 | in : Uri | provenance | | +| Test.java:464:19:464:26 | source(...) : Object | Test.java:464:13:464:26 | (...)... : Uri | provenance | | +| Test.java:466:10:466:57 | query(...) : Cursor | Test.java:467:9:467:11 | out | provenance | | +| Test.java:466:25:466:26 | in : Uri | Test.java:466:10:466:57 | query(...) : Cursor | provenance | MaD:44 | +| Test.java:466:25:466:26 | in : Uri | Test.java:466:10:466:57 | query(...) : Cursor | provenance | MaD:46 | +| Test.java:472:13:472:26 | (...)... : Uri | Test.java:474:34:474:35 | in : Uri | provenance | | +| Test.java:472:19:472:26 | source(...) : Object | Test.java:472:13:472:26 | (...)... : Uri | provenance | | +| Test.java:474:10:474:36 | uncanonicalize(...) : Uri | Test.java:475:9:475:11 | out | provenance | | +| Test.java:474:34:474:35 | in : Uri | Test.java:474:10:474:36 | uncanonicalize(...) : Uri | provenance | MaD:47 | +| Test.java:480:25:480:50 | (...)... : ContentProvider | Test.java:481:31:481:32 | in : ContentProvider | provenance | | +| Test.java:480:43:480:50 | source(...) : Object | Test.java:480:25:480:50 | (...)... : ContentProvider | provenance | | +| Test.java:481:10:481:33 | wrap(...) : ContentResolver | Test.java:482:9:482:11 | out | provenance | | +| Test.java:481:31:481:32 | in : ContentProvider | Test.java:481:10:481:33 | wrap(...) : ContentResolver | provenance | MaD:48 | +| Test.java:487:31:487:62 | (...)... : ContentProviderClient | Test.java:488:31:488:32 | in : ContentProviderClient | provenance | | +| Test.java:487:55:487:62 | source(...) : Object | Test.java:487:31:487:62 | (...)... : ContentProviderClient | provenance | | +| Test.java:488:10:488:33 | wrap(...) : ContentResolver | Test.java:489:9:489:11 | out | provenance | | +| Test.java:488:31:488:32 | in : ContentProviderClient | Test.java:488:10:488:33 | wrap(...) : ContentResolver | provenance | MaD:48 | +| Test.java:494:16:494:32 | (...)... : String | Test.java:495:12:495:13 | in : String | provenance | | +| Test.java:494:25:494:32 | source(...) : Object | Test.java:494:16:494:32 | (...)... : String | provenance | | +| Test.java:495:4:495:6 | out [post update] : ContentValues [] : String | Test.java:496:26:496:28 | out : ContentValues [] : String | provenance | | +| Test.java:495:12:495:13 | in : String | Test.java:495:4:495:6 | out [post update] : ContentValues [] : String | provenance | MaD:49 | +| Test.java:496:26:496:28 | out : ContentValues [] : String | Test.java:496:9:496:29 | getMapKeyDefault(...) | provenance | MaD:65 | +| Test.java:501:16:501:32 | (...)... : String | Test.java:502:12:502:13 | in : String | provenance | | +| Test.java:501:25:501:32 | source(...) : Object | Test.java:501:16:501:32 | (...)... : String | provenance | | +| Test.java:502:4:502:6 | out [post update] : ContentValues [] : String | Test.java:503:26:503:28 | out : ContentValues [] : String | provenance | | +| Test.java:502:12:502:13 | in : String | Test.java:502:4:502:6 | out [post update] : ContentValues [] : String | provenance | MaD:49 | +| Test.java:503:26:503:28 | out : ContentValues [] : String | Test.java:503:9:503:29 | getMapKeyDefault(...) | provenance | MaD:65 | +| Test.java:508:16:508:32 | (...)... : String | Test.java:509:12:509:13 | in : String | provenance | | +| Test.java:508:25:508:32 | source(...) : Object | Test.java:508:16:508:32 | (...)... : String | provenance | | +| Test.java:509:4:509:6 | out [post update] : ContentValues [] : String | Test.java:510:26:510:28 | out : ContentValues [] : String | provenance | | +| Test.java:509:12:509:13 | in : String | Test.java:509:4:509:6 | out [post update] : ContentValues [] : String | provenance | MaD:49 | +| Test.java:510:26:510:28 | out : ContentValues [] : String | Test.java:510:9:510:29 | getMapKeyDefault(...) | provenance | MaD:65 | +| Test.java:515:16:515:32 | (...)... : String | Test.java:516:12:516:13 | in : String | provenance | | +| Test.java:515:25:515:32 | source(...) : Object | Test.java:515:16:515:32 | (...)... : String | provenance | | +| Test.java:516:4:516:6 | out [post update] : ContentValues [] : String | Test.java:517:26:517:28 | out : ContentValues [] : String | provenance | | +| Test.java:516:12:516:13 | in : String | Test.java:516:4:516:6 | out [post update] : ContentValues [] : String | provenance | MaD:49 | +| Test.java:517:26:517:28 | out : ContentValues [] : String | Test.java:517:9:517:29 | getMapKeyDefault(...) | provenance | MaD:65 | +| Test.java:522:16:522:32 | (...)... : String | Test.java:523:12:523:13 | in : String | provenance | | +| Test.java:522:25:522:32 | source(...) : Object | Test.java:522:16:522:32 | (...)... : String | provenance | | +| Test.java:523:4:523:6 | out [post update] : ContentValues [] : String | Test.java:524:26:524:28 | out : ContentValues [] : String | provenance | | +| Test.java:523:12:523:13 | in : String | Test.java:523:4:523:6 | out [post update] : ContentValues [] : String | provenance | MaD:49 | +| Test.java:524:26:524:28 | out : ContentValues [] : String | Test.java:524:9:524:29 | getMapKeyDefault(...) | provenance | MaD:65 | +| Test.java:529:16:529:32 | (...)... : String | Test.java:530:12:530:13 | in : String | provenance | | +| Test.java:529:25:529:32 | source(...) : Object | Test.java:529:16:529:32 | (...)... : String | provenance | | +| Test.java:530:4:530:6 | out [post update] : ContentValues [] : String | Test.java:531:26:531:28 | out : ContentValues [] : String | provenance | | +| Test.java:530:12:530:13 | in : String | Test.java:530:4:530:6 | out [post update] : ContentValues [] : String | provenance | MaD:49 | +| Test.java:531:26:531:28 | out : ContentValues [] : String | Test.java:531:9:531:29 | getMapKeyDefault(...) | provenance | MaD:65 | +| Test.java:536:16:536:32 | (...)... : String | Test.java:537:12:537:13 | in : String | provenance | | +| Test.java:536:25:536:32 | source(...) : Object | Test.java:536:16:536:32 | (...)... : String | provenance | | +| Test.java:537:4:537:6 | out [post update] : ContentValues [] : String | Test.java:538:26:538:28 | out : ContentValues [] : String | provenance | | +| Test.java:537:12:537:13 | in : String | Test.java:537:4:537:6 | out [post update] : ContentValues [] : String | provenance | MaD:49 | +| Test.java:538:26:538:28 | out : ContentValues [] : String | Test.java:538:9:538:29 | getMapKeyDefault(...) | provenance | MaD:65 | +| Test.java:543:16:543:32 | (...)... : String | Test.java:544:12:544:13 | in : String | provenance | | +| Test.java:543:25:543:32 | source(...) : Object | Test.java:543:16:543:32 | (...)... : String | provenance | | +| Test.java:544:4:544:6 | out [post update] : ContentValues [] : String | Test.java:545:26:545:28 | out : ContentValues [] : String | provenance | | +| Test.java:544:12:544:13 | in : String | Test.java:544:4:544:6 | out [post update] : ContentValues [] : String | provenance | MaD:49 | +| Test.java:545:26:545:28 | out : ContentValues [] : String | Test.java:545:9:545:29 | getMapKeyDefault(...) | provenance | MaD:65 | +| Test.java:550:16:550:32 | (...)... : String | Test.java:551:12:551:13 | in : String | provenance | | +| Test.java:550:25:550:32 | source(...) : Object | Test.java:550:16:550:32 | (...)... : String | provenance | | +| Test.java:551:4:551:6 | out [post update] : ContentValues [] : String | Test.java:552:26:552:28 | out : ContentValues [] : String | provenance | | +| Test.java:551:12:551:13 | in : String | Test.java:551:4:551:6 | out [post update] : ContentValues [] : String | provenance | MaD:49 | +| Test.java:552:26:552:28 | out : ContentValues [] : String | Test.java:552:9:552:29 | getMapKeyDefault(...) | provenance | MaD:65 | +| Test.java:557:17:557:34 | (...)... : Boolean | Test.java:558:27:558:28 | in : Boolean | provenance | | +| Test.java:557:27:557:34 | source(...) : Object | Test.java:557:17:557:34 | (...)... : Boolean | provenance | | +| Test.java:558:4:558:6 | out [post update] : ContentValues [] : Boolean | Test.java:559:28:559:30 | out : ContentValues [] : Boolean | provenance | | +| Test.java:558:27:558:28 | in : Boolean | Test.java:558:4:558:6 | out [post update] : ContentValues [] : Boolean | provenance | MaD:50 | +| Test.java:559:28:559:30 | out : ContentValues [] : Boolean | Test.java:559:9:559:31 | getMapValueDefault(...) | provenance | MaD:64 | +| Test.java:564:14:564:28 | (...)... : Number | Test.java:565:27:565:28 | in : Number | provenance | | +| Test.java:564:21:564:28 | source(...) : Object | Test.java:564:14:564:28 | (...)... : Number | provenance | | +| Test.java:565:4:565:6 | out [post update] : ContentValues [] : Number | Test.java:566:28:566:30 | out : ContentValues [] : Number | provenance | | +| Test.java:565:27:565:28 | in : Number | Test.java:565:4:565:6 | out [post update] : ContentValues [] : Number | provenance | MaD:50 | +| Test.java:566:28:566:30 | out : ContentValues [] : Number | Test.java:566:9:566:31 | getMapValueDefault(...) | provenance | MaD:64 | +| Test.java:571:16:571:32 | (...)... : Number | Test.java:572:27:572:28 | in : Number | provenance | | +| Test.java:571:25:571:32 | source(...) : Object | Test.java:571:16:571:32 | (...)... : Number | provenance | | +| Test.java:572:4:572:6 | out [post update] : ContentValues [] : Number | Test.java:573:28:573:30 | out : ContentValues [] : Number | provenance | | +| Test.java:572:27:572:28 | in : Number | Test.java:572:4:572:6 | out [post update] : ContentValues [] : Number | provenance | MaD:50 | +| Test.java:573:28:573:30 | out : ContentValues [] : Number | Test.java:573:9:573:31 | getMapValueDefault(...) | provenance | MaD:64 | +| Test.java:578:15:578:30 | (...)... : Number | Test.java:579:27:579:28 | in : Number | provenance | | +| Test.java:578:23:578:30 | source(...) : Object | Test.java:578:15:578:30 | (...)... : Number | provenance | | +| Test.java:579:4:579:6 | out [post update] : ContentValues [] : Number | Test.java:580:28:580:30 | out : ContentValues [] : Number | provenance | | +| Test.java:579:27:579:28 | in : Number | Test.java:579:4:579:6 | out [post update] : ContentValues [] : Number | provenance | MaD:50 | +| Test.java:580:28:580:30 | out : ContentValues [] : Number | Test.java:580:9:580:31 | getMapValueDefault(...) | provenance | MaD:64 | +| Test.java:585:17:585:34 | (...)... : Number | Test.java:586:27:586:28 | in : Number | provenance | | +| Test.java:585:27:585:34 | source(...) : Object | Test.java:585:17:585:34 | (...)... : Number | provenance | | +| Test.java:586:4:586:6 | out [post update] : ContentValues [] : Number | Test.java:587:28:587:30 | out : ContentValues [] : Number | provenance | | +| Test.java:586:27:586:28 | in : Number | Test.java:586:4:586:6 | out [post update] : ContentValues [] : Number | provenance | MaD:50 | +| Test.java:587:28:587:30 | out : ContentValues [] : Number | Test.java:587:9:587:31 | getMapValueDefault(...) | provenance | MaD:64 | +| Test.java:592:14:592:28 | (...)... : Number | Test.java:593:27:593:28 | in : Number | provenance | | +| Test.java:592:21:592:28 | source(...) : Object | Test.java:592:14:592:28 | (...)... : Number | provenance | | +| Test.java:593:4:593:6 | out [post update] : ContentValues [] : Number | Test.java:594:28:594:30 | out : ContentValues [] : Number | provenance | | +| Test.java:593:27:593:28 | in : Number | Test.java:593:4:593:6 | out [post update] : ContentValues [] : Number | provenance | MaD:50 | +| Test.java:594:28:594:30 | out : ContentValues [] : Number | Test.java:594:9:594:31 | getMapValueDefault(...) | provenance | MaD:64 | +| Test.java:599:15:599:30 | (...)... : Number | Test.java:600:27:600:28 | in : Number | provenance | | +| Test.java:599:23:599:30 | source(...) : Object | Test.java:599:15:599:30 | (...)... : Number | provenance | | +| Test.java:600:4:600:6 | out [post update] : ContentValues [] : Number | Test.java:601:28:601:30 | out : ContentValues [] : Number | provenance | | +| Test.java:600:27:600:28 | in : Number | Test.java:600:4:600:6 | out [post update] : ContentValues [] : Number | provenance | MaD:50 | +| Test.java:601:28:601:30 | out : ContentValues [] : Number | Test.java:601:9:601:31 | getMapValueDefault(...) | provenance | MaD:64 | +| Test.java:606:16:606:32 | (...)... : String | Test.java:607:27:607:28 | in : String | provenance | | +| Test.java:606:25:606:32 | source(...) : Object | Test.java:606:16:606:32 | (...)... : String | provenance | | +| Test.java:607:4:607:6 | out [post update] : ContentValues [] : String | Test.java:608:28:608:30 | out : ContentValues [] : String | provenance | | +| Test.java:607:27:607:28 | in : String | Test.java:607:4:607:6 | out [post update] : ContentValues [] : String | provenance | MaD:50 | +| Test.java:608:28:608:30 | out : ContentValues [] : String | Test.java:608:9:608:31 | getMapValueDefault(...) | provenance | MaD:64 | +| Test.java:613:16:613:32 | (...)... : byte[] | Test.java:614:27:614:28 | in : byte[] | provenance | | +| Test.java:613:25:613:32 | source(...) : Object | Test.java:613:16:613:32 | (...)... : byte[] | provenance | | +| Test.java:614:4:614:6 | out [post update] : ContentValues [] : byte[] | Test.java:615:28:615:30 | out : ContentValues [] : byte[] | provenance | | +| Test.java:614:27:614:28 | in : byte[] | Test.java:614:4:614:6 | out [post update] : ContentValues [] : byte[] | provenance | MaD:50 | +| Test.java:615:28:615:30 | out : ContentValues [] : byte[] | Test.java:615:9:615:31 | getMapValueDefault(...) | provenance | MaD:64 | +| Test.java:620:23:620:68 | (...)... : ContentValues [] : Object | Test.java:621:15:621:16 | in : ContentValues [] : Object | provenance | | +| Test.java:620:39:620:68 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:620:23:620:68 | (...)... : ContentValues [] : Object | provenance | | +| Test.java:620:60:620:67 | source(...) : Object | Test.java:620:39:620:68 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:63 | +| Test.java:621:4:621:6 | out [post update] : ContentValues [] : Object | Test.java:622:26:622:28 | out : ContentValues [] : Object | provenance | | +| Test.java:621:15:621:16 | in : ContentValues [] : Object | Test.java:621:4:621:6 | out [post update] : ContentValues [] : Object | provenance | MaD:51 | +| Test.java:622:26:622:28 | out : ContentValues [] : Object | Test.java:622:9:622:29 | getMapKeyDefault(...) | provenance | MaD:65 | +| Test.java:627:23:627:70 | (...)... : ContentValues [] : Object | Test.java:628:15:628:16 | in : ContentValues [] : Object | provenance | | +| Test.java:627:39:627:70 | newWithMapValueDefault(...) : Object [] : Object | Test.java:627:23:627:70 | (...)... : ContentValues [] : Object | provenance | | +| Test.java:627:62:627:69 | source(...) : Object | Test.java:627:39:627:70 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:62 | +| Test.java:628:4:628:6 | out [post update] : ContentValues [] : Object | Test.java:629:28:629:30 | out : ContentValues [] : Object | provenance | | +| Test.java:628:15:628:16 | in : ContentValues [] : Object | Test.java:628:4:628:6 | out [post update] : ContentValues [] : Object | provenance | MaD:52 | +| Test.java:629:28:629:30 | out : ContentValues [] : Object | Test.java:629:9:629:31 | getMapValueDefault(...) | provenance | MaD:64 | +| Test.java:634:16:634:32 | (...)... : Cursor | Test.java:635:4:635:5 | in : Cursor | provenance | | +| Test.java:634:25:634:32 | source(...) : Object | Test.java:634:16:634:32 | (...)... : Cursor | provenance | | +| Test.java:635:4:635:5 | in : Cursor | Test.java:635:29:635:31 | out [post update] : CharArrayBuffer | provenance | MaD:53 | +| Test.java:635:29:635:31 | out [post update] : CharArrayBuffer | Test.java:636:9:636:11 | out | provenance | | +| Test.java:641:16:641:32 | (...)... : Cursor | Test.java:642:10:642:11 | in : Cursor | provenance | | +| Test.java:641:25:641:32 | source(...) : Object | Test.java:641:16:641:32 | (...)... : Cursor | provenance | | +| Test.java:642:10:642:11 | in : Cursor | Test.java:642:10:642:22 | getBlob(...) : byte[] | provenance | MaD:54 | +| Test.java:642:10:642:22 | getBlob(...) : byte[] | Test.java:643:9:643:11 | out | provenance | | +| Test.java:648:16:648:32 | (...)... : Cursor | Test.java:649:10:649:11 | in : Cursor | provenance | | +| Test.java:648:25:648:32 | source(...) : Object | Test.java:648:16:648:32 | (...)... : Cursor | provenance | | +| Test.java:649:10:649:11 | in : Cursor | Test.java:649:10:649:28 | getColumnName(...) : String | provenance | MaD:55 | +| Test.java:649:10:649:28 | getColumnName(...) : String | Test.java:650:9:650:11 | out | provenance | | +| Test.java:655:16:655:32 | (...)... : Cursor | Test.java:656:10:656:11 | in : Cursor | provenance | | +| Test.java:655:25:655:32 | source(...) : Object | Test.java:655:16:655:32 | (...)... : Cursor | provenance | | +| Test.java:656:10:656:11 | in : Cursor | Test.java:656:10:656:28 | getColumnNames(...) : String[] | provenance | MaD:56 | +| Test.java:656:10:656:28 | getColumnNames(...) : String[] | Test.java:657:9:657:11 | out | provenance | | +| Test.java:662:16:662:32 | (...)... : Cursor | Test.java:663:10:663:11 | in : Cursor | provenance | | +| Test.java:662:25:662:32 | source(...) : Object | Test.java:662:16:662:32 | (...)... : Cursor | provenance | | +| Test.java:663:10:663:11 | in : Cursor | Test.java:663:10:663:23 | getExtras(...) : Bundle | provenance | MaD:57 | +| Test.java:663:10:663:23 | getExtras(...) : Bundle | Test.java:664:9:664:11 | out | provenance | | +| Test.java:669:16:669:32 | (...)... : Cursor | Test.java:670:10:670:11 | in : Cursor | provenance | | +| Test.java:669:25:669:32 | source(...) : Object | Test.java:669:16:669:32 | (...)... : Cursor | provenance | | +| Test.java:670:10:670:11 | in : Cursor | Test.java:670:10:670:32 | getNotificationUri(...) : Uri | provenance | MaD:58 | +| Test.java:670:10:670:32 | getNotificationUri(...) : Uri | Test.java:671:9:671:11 | out | provenance | | +| Test.java:676:16:676:32 | (...)... : Cursor | Test.java:677:10:677:11 | in : Cursor | provenance | | +| Test.java:676:25:676:32 | source(...) : Object | Test.java:676:16:676:32 | (...)... : Cursor | provenance | | +| Test.java:677:10:677:11 | in : Cursor | Test.java:677:10:677:33 | getNotificationUris(...) : List | provenance | MaD:59 | +| Test.java:677:10:677:33 | getNotificationUris(...) : List | Test.java:678:9:678:11 | out | provenance | | +| Test.java:683:16:683:32 | (...)... : Cursor | Test.java:684:10:684:11 | in : Cursor | provenance | | +| Test.java:683:25:683:32 | source(...) : Object | Test.java:683:16:683:32 | (...)... : Cursor | provenance | | +| Test.java:684:10:684:11 | in : Cursor | Test.java:684:10:684:24 | getString(...) : String | provenance | MaD:60 | +| Test.java:684:10:684:24 | getString(...) : String | Test.java:685:9:685:11 | out | provenance | | +| Test.java:690:16:690:32 | (...)... : Cursor | Test.java:691:10:691:11 | in : Cursor | provenance | | +| Test.java:690:25:690:32 | source(...) : Object | Test.java:690:16:690:32 | (...)... : Cursor | provenance | | +| Test.java:691:10:691:11 | in : Cursor | Test.java:691:10:691:25 | respond(...) : Bundle | provenance | MaD:61 | +| Test.java:691:10:691:25 | respond(...) : Bundle | Test.java:692:9:692:11 | out | provenance | | +nodes +| Test.java:47:31:47:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient | +| Test.java:47:55:47:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:48:10:48:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient | +| Test.java:48:10:48:28 | applyBatch(...) : ContentProviderResult[] | semmle.label | applyBatch(...) : ContentProviderResult[] | +| Test.java:49:9:49:11 | out | semmle.label | out | +| Test.java:54:31:54:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient | +| Test.java:54:55:54:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:55:10:55:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient | +| Test.java:55:10:55:34 | applyBatch(...) : ContentProviderResult[] | semmle.label | applyBatch(...) : ContentProviderResult[] | +| Test.java:56:9:56:11 | out | semmle.label | out | +| Test.java:61:31:61:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient | +| Test.java:61:55:61:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:62:10:62:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient | +| Test.java:62:10:62:34 | call(...) : Bundle | semmle.label | call(...) : Bundle | +| Test.java:63:9:63:11 | out | semmle.label | out | +| Test.java:68:31:68:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient | +| Test.java:68:55:68:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:69:10:69:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient | +| Test.java:69:10:69:40 | call(...) : Bundle | semmle.label | call(...) : Bundle | +| Test.java:70:9:70:11 | out | semmle.label | out | +| Test.java:75:31:75:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient | +| Test.java:75:55:75:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:76:10:76:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient | +| Test.java:76:10:76:30 | canonicalize(...) : Uri | semmle.label | canonicalize(...) : Uri | +| Test.java:77:9:77:11 | out | semmle.label | out | +| Test.java:82:31:82:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient | +| Test.java:82:55:82:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:83:10:83:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient | +| Test.java:83:10:83:37 | getLocalContentProvider(...) : ContentProvider | semmle.label | getLocalContentProvider(...) : ContentProvider | +| Test.java:84:9:84:11 | out | semmle.label | out | +| Test.java:89:31:89:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient | +| Test.java:89:55:89:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:90:10:90:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient | +| Test.java:90:10:90:38 | getStreamTypes(...) : String[] | semmle.label | getStreamTypes(...) : String[] | +| Test.java:91:9:91:11 | out | semmle.label | out | +| Test.java:96:31:96:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient | +| Test.java:96:55:96:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:97:10:97:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient | +| Test.java:97:10:97:30 | insert(...) : Uri | semmle.label | insert(...) : Uri | +| Test.java:98:9:98:11 | out | semmle.label | out | +| Test.java:103:31:103:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient | +| Test.java:103:55:103:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:104:10:104:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient | +| Test.java:104:10:104:36 | insert(...) : Uri | semmle.label | insert(...) : Uri | +| Test.java:105:9:105:11 | out | semmle.label | out | +| Test.java:110:31:110:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient | +| Test.java:110:55:110:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:111:10:111:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient | +| Test.java:111:10:111:41 | query(...) : Cursor | semmle.label | query(...) : Cursor | +| Test.java:112:9:112:11 | out | semmle.label | out | +| Test.java:117:31:117:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient | +| Test.java:117:55:117:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:118:10:118:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient | +| Test.java:118:10:118:47 | query(...) : Cursor | semmle.label | query(...) : Cursor | +| Test.java:119:9:119:11 | out | semmle.label | out | +| Test.java:124:31:124:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient | +| Test.java:124:55:124:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:125:10:125:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient | +| Test.java:125:10:125:53 | query(...) : Cursor | semmle.label | query(...) : Cursor | +| Test.java:126:9:126:11 | out | semmle.label | out | +| Test.java:131:31:131:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient | +| Test.java:131:55:131:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:132:10:132:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient | +| Test.java:132:10:132:32 | uncanonicalize(...) : Uri | semmle.label | uncanonicalize(...) : Uri | +| Test.java:133:9:133:11 | out | semmle.label | out | +| Test.java:138:42:138:84 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:138:77:138:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:139:10:139:11 | in : Builder | semmle.label | in : Builder | +| Test.java:139:10:139:19 | build(...) : ContentProviderOperation | semmle.label | build(...) : ContentProviderOperation | +| Test.java:140:9:140:11 | out | semmle.label | out | +| Test.java:145:42:145:84 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:145:77:145:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:146:10:146:11 | in : Builder | semmle.label | in : Builder | +| Test.java:146:10:146:39 | withExceptionAllowed(...) : Builder | semmle.label | withExceptionAllowed(...) : Builder | +| Test.java:147:9:147:11 | out | semmle.label | out | +| Test.java:152:42:152:84 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:152:77:152:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:153:10:153:11 | in : Builder | semmle.label | in : Builder | +| Test.java:153:10:153:32 | withExpectedCount(...) : Builder | semmle.label | withExpectedCount(...) : Builder | +| Test.java:154:9:154:11 | out | semmle.label | out | +| Test.java:159:42:159:84 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:159:77:159:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:160:10:160:11 | in : Builder | semmle.label | in : Builder | +| Test.java:160:10:160:33 | withExtra(...) : Builder | semmle.label | withExtra(...) : Builder | +| Test.java:161:9:161:11 | out | semmle.label | out | +| Test.java:166:42:166:84 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:166:77:166:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:167:10:167:11 | in : Builder | semmle.label | in : Builder | +| Test.java:167:10:167:43 | withExtraBackReference(...) : Builder | semmle.label | withExtraBackReference(...) : Builder | +| Test.java:168:9:168:11 | out | semmle.label | out | +| Test.java:173:42:173:84 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:173:77:173:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:174:10:174:11 | in : Builder | semmle.label | in : Builder | +| Test.java:174:10:174:49 | withExtraBackReference(...) : Builder | semmle.label | withExtraBackReference(...) : Builder | +| Test.java:175:9:175:11 | out | semmle.label | out | +| Test.java:180:42:180:84 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:180:77:180:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:181:10:181:11 | in : Builder | semmle.label | in : Builder | +| Test.java:181:10:181:28 | withExtras(...) : Builder | semmle.label | withExtras(...) : Builder | +| Test.java:182:9:182:11 | out | semmle.label | out | +| Test.java:187:42:187:84 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:187:77:187:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:188:10:188:11 | in : Builder | semmle.label | in : Builder | +| Test.java:188:10:188:37 | withSelection(...) : Builder | semmle.label | withSelection(...) : Builder | +| Test.java:189:9:189:11 | out | semmle.label | out | +| Test.java:194:42:194:84 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:194:77:194:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:195:10:195:11 | in : Builder | semmle.label | in : Builder | +| Test.java:195:10:195:44 | withSelectionBackReference(...) : Builder | semmle.label | withSelectionBackReference(...) : Builder | +| Test.java:196:9:196:11 | out | semmle.label | out | +| Test.java:201:42:201:84 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:201:77:201:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:202:10:202:11 | in : Builder | semmle.label | in : Builder | +| Test.java:202:10:202:50 | withSelectionBackReference(...) : Builder | semmle.label | withSelectionBackReference(...) : Builder | +| Test.java:203:9:203:11 | out | semmle.label | out | +| Test.java:208:42:208:84 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:208:77:208:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:209:10:209:11 | in : Builder | semmle.label | in : Builder | +| Test.java:209:10:209:33 | withValue(...) : Builder | semmle.label | withValue(...) : Builder | +| Test.java:210:9:210:11 | out | semmle.label | out | +| Test.java:215:42:215:84 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:215:77:215:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:216:10:216:11 | in : Builder | semmle.label | in : Builder | +| Test.java:216:10:216:43 | withValueBackReference(...) : Builder | semmle.label | withValueBackReference(...) : Builder | +| Test.java:217:9:217:11 | out | semmle.label | out | +| Test.java:222:42:222:84 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:222:77:222:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:223:10:223:11 | in : Builder | semmle.label | in : Builder | +| Test.java:223:10:223:49 | withValueBackReference(...) : Builder | semmle.label | withValueBackReference(...) : Builder | +| Test.java:224:9:224:11 | out | semmle.label | out | +| Test.java:229:42:229:84 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:229:77:229:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:230:10:230:11 | in : Builder | semmle.label | in : Builder | +| Test.java:230:10:230:28 | withValues(...) : Builder | semmle.label | withValues(...) : Builder | +| Test.java:231:9:231:11 | out | semmle.label | out | +| Test.java:236:42:236:84 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:236:77:236:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:237:10:237:11 | in : Builder | semmle.label | in : Builder | +| Test.java:237:10:237:35 | withYieldAllowed(...) : Builder | semmle.label | withYieldAllowed(...) : Builder | +| Test.java:238:9:238:11 | out | semmle.label | out | +| Test.java:243:34:243:68 | (...)... : ContentProviderOperation | semmle.label | (...)... : ContentProviderOperation | +| Test.java:243:61:243:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:244:10:244:11 | in : ContentProviderOperation | semmle.label | in : ContentProviderOperation | +| Test.java:244:10:244:32 | apply(...) : ContentProviderResult | semmle.label | apply(...) : ContentProviderResult | +| Test.java:245:9:245:11 | out | semmle.label | out | +| Test.java:250:25:250:50 | (...)... : ContentProvider | semmle.label | (...)... : ContentProvider | +| Test.java:250:43:250:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:252:10:252:36 | apply(...) : ContentProviderResult | semmle.label | apply(...) : ContentProviderResult | +| Test.java:252:25:252:26 | in : ContentProvider | semmle.label | in : ContentProvider | +| Test.java:253:9:253:11 | out | semmle.label | out | +| Test.java:258:34:258:68 | (...)... : ContentProviderOperation | semmle.label | (...)... : ContentProviderOperation | +| Test.java:258:61:258:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:259:10:259:11 | in : ContentProviderOperation | semmle.label | in : ContentProviderOperation | +| Test.java:259:10:259:20 | getUri(...) : Uri | semmle.label | getUri(...) : Uri | +| Test.java:260:9:260:11 | out | semmle.label | out | +| Test.java:265:13:265:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:265:19:265:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:266:10:266:52 | newAssertQuery(...) : Builder | semmle.label | newAssertQuery(...) : Builder | +| Test.java:266:50:266:51 | in : Uri | semmle.label | in : Uri | +| Test.java:267:9:267:11 | out | semmle.label | out | +| Test.java:272:13:272:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:272:19:272:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:273:10:273:57 | newCall(...) : Builder | semmle.label | newCall(...) : Builder | +| Test.java:273:43:273:44 | in : Uri | semmle.label | in : Uri | +| Test.java:274:9:274:11 | out | semmle.label | out | +| Test.java:279:13:279:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:279:19:279:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:280:10:280:47 | newDelete(...) : Builder | semmle.label | newDelete(...) : Builder | +| Test.java:280:45:280:46 | in : Uri | semmle.label | in : Uri | +| Test.java:281:9:281:11 | out | semmle.label | out | +| Test.java:286:13:286:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:286:19:286:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:287:10:287:47 | newInsert(...) : Builder | semmle.label | newInsert(...) : Builder | +| Test.java:287:45:287:46 | in : Uri | semmle.label | in : Uri | +| Test.java:288:9:288:11 | out | semmle.label | out | +| Test.java:293:13:293:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:293:19:293:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:294:10:294:47 | newUpdate(...) : Builder | semmle.label | newUpdate(...) : Builder | +| Test.java:294:45:294:46 | in : Uri | semmle.label | in : Uri | +| Test.java:295:9:295:11 | out | semmle.label | out | +| Test.java:300:33:300:66 | (...)... : ContentProviderResult[] | semmle.label | (...)... : ContentProviderResult[] | +| Test.java:300:59:300:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:302:10:302:52 | resolveExtrasBackReferences(...) : Bundle | semmle.label | resolveExtrasBackReferences(...) : Bundle | +| Test.java:302:47:302:48 | in : ContentProviderResult[] | semmle.label | in : ContentProviderResult[] | +| Test.java:303:9:303:11 | out | semmle.label | out | +| Test.java:308:33:308:66 | (...)... : ContentProviderResult[] | semmle.label | (...)... : ContentProviderResult[] | +| Test.java:308:59:308:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:310:10:310:59 | resolveSelectionArgsBackReferences(...) : String[] | semmle.label | resolveSelectionArgsBackReferences(...) : String[] | +| Test.java:310:54:310:55 | in : ContentProviderResult[] | semmle.label | in : ContentProviderResult[] | +| Test.java:311:9:311:11 | out | semmle.label | out | +| Test.java:316:33:316:66 | (...)... : ContentProviderResult[] | semmle.label | (...)... : ContentProviderResult[] | +| Test.java:316:59:316:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:318:10:318:51 | resolveValueBackReferences(...) : ContentValues | semmle.label | resolveValueBackReferences(...) : ContentValues | +| Test.java:318:46:318:47 | in : ContentProviderResult[] | semmle.label | in : ContentProviderResult[] | +| Test.java:319:9:319:11 | out | semmle.label | out | +| Test.java:324:16:324:32 | (...)... : Bundle | semmle.label | (...)... : Bundle | +| Test.java:324:25:324:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:325:10:325:38 | new ContentProviderResult(...) : ContentProviderResult [extras] : Bundle | semmle.label | new ContentProviderResult(...) : ContentProviderResult [extras] : Bundle | +| Test.java:325:36:325:37 | in : Bundle | semmle.label | in : Bundle | +| Test.java:326:9:326:11 | out : ContentProviderResult [extras] : Bundle | semmle.label | out : ContentProviderResult [extras] : Bundle | +| Test.java:326:9:326:18 | out.extras | semmle.label | out.extras | +| Test.java:331:16:331:32 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:331:25:331:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:332:10:332:38 | new ContentProviderResult(...) : ContentProviderResult | semmle.label | new ContentProviderResult(...) : ContentProviderResult | +| Test.java:332:36:332:37 | in : Parcel | semmle.label | in : Parcel | +| Test.java:333:9:333:11 | out | semmle.label | out | +| Test.java:338:19:338:38 | (...)... : Throwable | semmle.label | (...)... : Throwable | +| Test.java:338:31:338:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:339:10:339:38 | new ContentProviderResult(...) : ContentProviderResult [exception] : Throwable | semmle.label | new ContentProviderResult(...) : ContentProviderResult [exception] : Throwable | +| Test.java:339:36:339:37 | in : Throwable | semmle.label | in : Throwable | +| Test.java:340:9:340:11 | out : ContentProviderResult [exception] : Throwable | semmle.label | out : ContentProviderResult [exception] : Throwable | +| Test.java:340:9:340:21 | out.exception | semmle.label | out.exception | +| Test.java:345:13:345:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:345:19:345:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:346:10:346:38 | new ContentProviderResult(...) : ContentProviderResult [uri] : Uri | semmle.label | new ContentProviderResult(...) : ContentProviderResult [uri] : Uri | +| Test.java:346:36:346:37 | in : Uri | semmle.label | in : Uri | +| Test.java:347:9:347:11 | out : ContentProviderResult [uri] : Uri | semmle.label | out : ContentProviderResult [uri] : Uri | +| Test.java:347:9:347:15 | out.uri | semmle.label | out.uri | +| Test.java:352:16:352:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:352:25:352:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:354:10:354:50 | acquireContentProviderClient(...) : ContentProviderClient | semmle.label | acquireContentProviderClient(...) : ContentProviderClient | +| Test.java:354:48:354:49 | in : String | semmle.label | in : String | +| Test.java:355:9:355:11 | out | semmle.label | out | +| Test.java:360:13:360:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:360:19:360:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:362:10:362:50 | acquireContentProviderClient(...) : ContentProviderClient | semmle.label | acquireContentProviderClient(...) : ContentProviderClient | +| Test.java:362:48:362:49 | in : Uri | semmle.label | in : Uri | +| Test.java:363:9:363:11 | out | semmle.label | out | +| Test.java:368:16:368:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:368:25:368:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:370:10:370:58 | acquireUnstableContentProviderClient(...) : ContentProviderClient | semmle.label | acquireUnstableContentProviderClient(...) : ContentProviderClient | +| Test.java:370:56:370:57 | in : String | semmle.label | in : String | +| Test.java:371:9:371:11 | out | semmle.label | out | +| Test.java:376:13:376:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:376:19:376:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:378:10:378:58 | acquireUnstableContentProviderClient(...) : ContentProviderClient | semmle.label | acquireUnstableContentProviderClient(...) : ContentProviderClient | +| Test.java:378:56:378:57 | in : Uri | semmle.label | in : Uri | +| Test.java:379:9:379:11 | out | semmle.label | out | +| Test.java:384:19:384:38 | (...)... : ArrayList | semmle.label | (...)... : ArrayList | +| Test.java:384:31:384:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:386:10:386:38 | applyBatch(...) : ContentProviderResult[] | semmle.label | applyBatch(...) : ContentProviderResult[] | +| Test.java:386:36:386:37 | in : ArrayList | semmle.label | in : ArrayList | +| Test.java:387:9:387:11 | out | semmle.label | out | +| Test.java:392:16:392:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:392:25:392:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:394:10:394:71 | call(...) : Bundle | semmle.label | call(...) : Bundle | +| Test.java:394:24:394:25 | in : String | semmle.label | in : String | +| Test.java:395:9:395:11 | out | semmle.label | out | +| Test.java:400:13:400:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:400:19:400:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:402:10:402:71 | call(...) : Bundle | semmle.label | call(...) : Bundle | +| Test.java:402:24:402:25 | in : Uri | semmle.label | in : Uri | +| Test.java:403:9:403:11 | out | semmle.label | out | +| Test.java:408:13:408:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:408:19:408:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:410:10:410:34 | canonicalize(...) : Uri | semmle.label | canonicalize(...) : Uri | +| Test.java:410:32:410:33 | in : Uri | semmle.label | in : Uri | +| Test.java:411:9:411:11 | out | semmle.label | out | +| Test.java:416:13:416:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:416:19:416:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:418:10:418:42 | getStreamTypes(...) : String[] | semmle.label | getStreamTypes(...) : String[] | +| Test.java:418:34:418:35 | in : Uri | semmle.label | in : Uri | +| Test.java:419:9:419:11 | out | semmle.label | out | +| Test.java:424:13:424:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:424:19:424:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:426:10:426:29 | getType(...) : String | semmle.label | getType(...) : String | +| Test.java:426:27:426:28 | in : Uri | semmle.label | in : Uri | +| Test.java:427:9:427:11 | out | semmle.label | out | +| Test.java:432:13:432:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:432:19:432:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:434:10:434:34 | insert(...) : Uri | semmle.label | insert(...) : Uri | +| Test.java:434:26:434:27 | in : Uri | semmle.label | in : Uri | +| Test.java:435:9:435:11 | out | semmle.label | out | +| Test.java:440:13:440:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:440:19:440:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:442:10:442:40 | insert(...) : Uri | semmle.label | insert(...) : Uri | +| Test.java:442:26:442:27 | in : Uri | semmle.label | in : Uri | +| Test.java:443:9:443:11 | out | semmle.label | out | +| Test.java:448:13:448:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:448:19:448:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:450:10:450:45 | query(...) : Cursor | semmle.label | query(...) : Cursor | +| Test.java:450:25:450:26 | in : Uri | semmle.label | in : Uri | +| Test.java:451:9:451:11 | out | semmle.label | out | +| Test.java:456:13:456:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:456:19:456:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:458:10:458:51 | query(...) : Cursor | semmle.label | query(...) : Cursor | +| Test.java:458:25:458:26 | in : Uri | semmle.label | in : Uri | +| Test.java:459:9:459:11 | out | semmle.label | out | +| Test.java:464:13:464:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:464:19:464:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:466:10:466:57 | query(...) : Cursor | semmle.label | query(...) : Cursor | +| Test.java:466:25:466:26 | in : Uri | semmle.label | in : Uri | +| Test.java:467:9:467:11 | out | semmle.label | out | +| Test.java:472:13:472:26 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:472:19:472:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:474:10:474:36 | uncanonicalize(...) : Uri | semmle.label | uncanonicalize(...) : Uri | +| Test.java:474:34:474:35 | in : Uri | semmle.label | in : Uri | +| Test.java:475:9:475:11 | out | semmle.label | out | +| Test.java:480:25:480:50 | (...)... : ContentProvider | semmle.label | (...)... : ContentProvider | +| Test.java:480:43:480:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:481:10:481:33 | wrap(...) : ContentResolver | semmle.label | wrap(...) : ContentResolver | +| Test.java:481:31:481:32 | in : ContentProvider | semmle.label | in : ContentProvider | +| Test.java:482:9:482:11 | out | semmle.label | out | +| Test.java:487:31:487:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient | +| Test.java:487:55:487:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:488:10:488:33 | wrap(...) : ContentResolver | semmle.label | wrap(...) : ContentResolver | +| Test.java:488:31:488:32 | in : ContentProviderClient | semmle.label | in : ContentProviderClient | +| Test.java:489:9:489:11 | out | semmle.label | out | +| Test.java:494:16:494:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:494:25:494:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:495:4:495:6 | out [post update] : ContentValues [] : String | semmle.label | out [post update] : ContentValues [] : String | +| Test.java:495:12:495:13 | in : String | semmle.label | in : String | +| Test.java:496:9:496:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:496:26:496:28 | out : ContentValues [] : String | semmle.label | out : ContentValues [] : String | +| Test.java:501:16:501:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:501:25:501:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:502:4:502:6 | out [post update] : ContentValues [] : String | semmle.label | out [post update] : ContentValues [] : String | +| Test.java:502:12:502:13 | in : String | semmle.label | in : String | +| Test.java:503:9:503:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:503:26:503:28 | out : ContentValues [] : String | semmle.label | out : ContentValues [] : String | +| Test.java:508:16:508:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:508:25:508:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:509:4:509:6 | out [post update] : ContentValues [] : String | semmle.label | out [post update] : ContentValues [] : String | +| Test.java:509:12:509:13 | in : String | semmle.label | in : String | +| Test.java:510:9:510:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:510:26:510:28 | out : ContentValues [] : String | semmle.label | out : ContentValues [] : String | +| Test.java:515:16:515:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:515:25:515:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:516:4:516:6 | out [post update] : ContentValues [] : String | semmle.label | out [post update] : ContentValues [] : String | +| Test.java:516:12:516:13 | in : String | semmle.label | in : String | +| Test.java:517:9:517:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:517:26:517:28 | out : ContentValues [] : String | semmle.label | out : ContentValues [] : String | +| Test.java:522:16:522:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:522:25:522:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:523:4:523:6 | out [post update] : ContentValues [] : String | semmle.label | out [post update] : ContentValues [] : String | +| Test.java:523:12:523:13 | in : String | semmle.label | in : String | +| Test.java:524:9:524:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:524:26:524:28 | out : ContentValues [] : String | semmle.label | out : ContentValues [] : String | +| Test.java:529:16:529:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:529:25:529:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:530:4:530:6 | out [post update] : ContentValues [] : String | semmle.label | out [post update] : ContentValues [] : String | +| Test.java:530:12:530:13 | in : String | semmle.label | in : String | +| Test.java:531:9:531:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:531:26:531:28 | out : ContentValues [] : String | semmle.label | out : ContentValues [] : String | +| Test.java:536:16:536:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:536:25:536:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:537:4:537:6 | out [post update] : ContentValues [] : String | semmle.label | out [post update] : ContentValues [] : String | +| Test.java:537:12:537:13 | in : String | semmle.label | in : String | +| Test.java:538:9:538:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:538:26:538:28 | out : ContentValues [] : String | semmle.label | out : ContentValues [] : String | +| Test.java:543:16:543:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:543:25:543:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:544:4:544:6 | out [post update] : ContentValues [] : String | semmle.label | out [post update] : ContentValues [] : String | +| Test.java:544:12:544:13 | in : String | semmle.label | in : String | +| Test.java:545:9:545:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:545:26:545:28 | out : ContentValues [] : String | semmle.label | out : ContentValues [] : String | +| Test.java:550:16:550:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:550:25:550:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:551:4:551:6 | out [post update] : ContentValues [] : String | semmle.label | out [post update] : ContentValues [] : String | +| Test.java:551:12:551:13 | in : String | semmle.label | in : String | +| Test.java:552:9:552:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:552:26:552:28 | out : ContentValues [] : String | semmle.label | out : ContentValues [] : String | +| Test.java:557:17:557:34 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:557:27:557:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:558:4:558:6 | out [post update] : ContentValues [] : Boolean | semmle.label | out [post update] : ContentValues [] : Boolean | +| Test.java:558:27:558:28 | in : Boolean | semmle.label | in : Boolean | +| Test.java:559:9:559:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:559:28:559:30 | out : ContentValues [] : Boolean | semmle.label | out : ContentValues [] : Boolean | +| Test.java:564:14:564:28 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:564:21:564:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:565:4:565:6 | out [post update] : ContentValues [] : Number | semmle.label | out [post update] : ContentValues [] : Number | +| Test.java:565:27:565:28 | in : Number | semmle.label | in : Number | +| Test.java:566:9:566:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:566:28:566:30 | out : ContentValues [] : Number | semmle.label | out : ContentValues [] : Number | +| Test.java:571:16:571:32 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:571:25:571:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:572:4:572:6 | out [post update] : ContentValues [] : Number | semmle.label | out [post update] : ContentValues [] : Number | +| Test.java:572:27:572:28 | in : Number | semmle.label | in : Number | +| Test.java:573:9:573:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:573:28:573:30 | out : ContentValues [] : Number | semmle.label | out : ContentValues [] : Number | +| Test.java:578:15:578:30 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:578:23:578:30 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:579:4:579:6 | out [post update] : ContentValues [] : Number | semmle.label | out [post update] : ContentValues [] : Number | +| Test.java:579:27:579:28 | in : Number | semmle.label | in : Number | +| Test.java:580:9:580:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:580:28:580:30 | out : ContentValues [] : Number | semmle.label | out : ContentValues [] : Number | +| Test.java:585:17:585:34 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:585:27:585:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:586:4:586:6 | out [post update] : ContentValues [] : Number | semmle.label | out [post update] : ContentValues [] : Number | +| Test.java:586:27:586:28 | in : Number | semmle.label | in : Number | +| Test.java:587:9:587:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:587:28:587:30 | out : ContentValues [] : Number | semmle.label | out : ContentValues [] : Number | +| Test.java:592:14:592:28 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:592:21:592:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:593:4:593:6 | out [post update] : ContentValues [] : Number | semmle.label | out [post update] : ContentValues [] : Number | +| Test.java:593:27:593:28 | in : Number | semmle.label | in : Number | +| Test.java:594:9:594:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:594:28:594:30 | out : ContentValues [] : Number | semmle.label | out : ContentValues [] : Number | +| Test.java:599:15:599:30 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:599:23:599:30 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:600:4:600:6 | out [post update] : ContentValues [] : Number | semmle.label | out [post update] : ContentValues [] : Number | +| Test.java:600:27:600:28 | in : Number | semmle.label | in : Number | +| Test.java:601:9:601:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:601:28:601:30 | out : ContentValues [] : Number | semmle.label | out : ContentValues [] : Number | +| Test.java:606:16:606:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:606:25:606:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:607:4:607:6 | out [post update] : ContentValues [] : String | semmle.label | out [post update] : ContentValues [] : String | +| Test.java:607:27:607:28 | in : String | semmle.label | in : String | +| Test.java:608:9:608:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:608:28:608:30 | out : ContentValues [] : String | semmle.label | out : ContentValues [] : String | +| Test.java:613:16:613:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:613:25:613:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:614:4:614:6 | out [post update] : ContentValues [] : byte[] | semmle.label | out [post update] : ContentValues [] : byte[] | +| Test.java:614:27:614:28 | in : byte[] | semmle.label | in : byte[] | +| Test.java:615:9:615:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:615:28:615:30 | out : ContentValues [] : byte[] | semmle.label | out : ContentValues [] : byte[] | +| Test.java:620:23:620:68 | (...)... : ContentValues [] : Object | semmle.label | (...)... : ContentValues [] : Object | +| Test.java:620:39:620:68 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:620:60:620:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:621:4:621:6 | out [post update] : ContentValues [] : Object | semmle.label | out [post update] : ContentValues [] : Object | +| Test.java:621:15:621:16 | in : ContentValues [] : Object | semmle.label | in : ContentValues [] : Object | +| Test.java:622:9:622:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:622:26:622:28 | out : ContentValues [] : Object | semmle.label | out : ContentValues [] : Object | +| Test.java:627:23:627:70 | (...)... : ContentValues [] : Object | semmle.label | (...)... : ContentValues [] : Object | +| Test.java:627:39:627:70 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:627:62:627:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:628:4:628:6 | out [post update] : ContentValues [] : Object | semmle.label | out [post update] : ContentValues [] : Object | +| Test.java:628:15:628:16 | in : ContentValues [] : Object | semmle.label | in : ContentValues [] : Object | +| Test.java:629:9:629:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:629:28:629:30 | out : ContentValues [] : Object | semmle.label | out : ContentValues [] : Object | +| Test.java:634:16:634:32 | (...)... : Cursor | semmle.label | (...)... : Cursor | +| Test.java:634:25:634:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:635:4:635:5 | in : Cursor | semmle.label | in : Cursor | +| Test.java:635:29:635:31 | out [post update] : CharArrayBuffer | semmle.label | out [post update] : CharArrayBuffer | +| Test.java:636:9:636:11 | out | semmle.label | out | +| Test.java:641:16:641:32 | (...)... : Cursor | semmle.label | (...)... : Cursor | +| Test.java:641:25:641:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:642:10:642:11 | in : Cursor | semmle.label | in : Cursor | +| Test.java:642:10:642:22 | getBlob(...) : byte[] | semmle.label | getBlob(...) : byte[] | +| Test.java:643:9:643:11 | out | semmle.label | out | +| Test.java:648:16:648:32 | (...)... : Cursor | semmle.label | (...)... : Cursor | +| Test.java:648:25:648:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:649:10:649:11 | in : Cursor | semmle.label | in : Cursor | +| Test.java:649:10:649:28 | getColumnName(...) : String | semmle.label | getColumnName(...) : String | +| Test.java:650:9:650:11 | out | semmle.label | out | +| Test.java:655:16:655:32 | (...)... : Cursor | semmle.label | (...)... : Cursor | +| Test.java:655:25:655:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:656:10:656:11 | in : Cursor | semmle.label | in : Cursor | +| Test.java:656:10:656:28 | getColumnNames(...) : String[] | semmle.label | getColumnNames(...) : String[] | +| Test.java:657:9:657:11 | out | semmle.label | out | +| Test.java:662:16:662:32 | (...)... : Cursor | semmle.label | (...)... : Cursor | +| Test.java:662:25:662:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:663:10:663:11 | in : Cursor | semmle.label | in : Cursor | +| Test.java:663:10:663:23 | getExtras(...) : Bundle | semmle.label | getExtras(...) : Bundle | +| Test.java:664:9:664:11 | out | semmle.label | out | +| Test.java:669:16:669:32 | (...)... : Cursor | semmle.label | (...)... : Cursor | +| Test.java:669:25:669:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:670:10:670:11 | in : Cursor | semmle.label | in : Cursor | +| Test.java:670:10:670:32 | getNotificationUri(...) : Uri | semmle.label | getNotificationUri(...) : Uri | +| Test.java:671:9:671:11 | out | semmle.label | out | +| Test.java:676:16:676:32 | (...)... : Cursor | semmle.label | (...)... : Cursor | +| Test.java:676:25:676:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:677:10:677:11 | in : Cursor | semmle.label | in : Cursor | +| Test.java:677:10:677:33 | getNotificationUris(...) : List | semmle.label | getNotificationUris(...) : List | +| Test.java:678:9:678:11 | out | semmle.label | out | +| Test.java:683:16:683:32 | (...)... : Cursor | semmle.label | (...)... : Cursor | +| Test.java:683:25:683:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:684:10:684:11 | in : Cursor | semmle.label | in : Cursor | +| Test.java:684:10:684:24 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:685:9:685:11 | out | semmle.label | out | +| Test.java:690:16:690:32 | (...)... : Cursor | semmle.label | (...)... : Cursor | +| Test.java:690:25:690:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:691:10:691:11 | in : Cursor | semmle.label | in : Cursor | +| Test.java:691:10:691:25 | respond(...) : Bundle | semmle.label | respond(...) : Bundle | +| Test.java:692:9:692:11 | out | semmle.label | out | +subpaths +testFailures diff --git a/java/ql/test/library-tests/frameworks/android/flow-steps/test.expected b/java/ql/test/library-tests/frameworks/android/flow-steps/test.expected index e69de29bb2d..44c86d41d03 100644 --- a/java/ql/test/library-tests/frameworks/android/flow-steps/test.expected +++ b/java/ql/test/library-tests/frameworks/android/flow-steps/test.expected @@ -0,0 +1,423 @@ +models +| 1 | Summary: android.os; Parcel; false; readArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 2 | Summary: android.os; Parcel; false; readArrayList; ; ; Argument[this]; ReturnValue; taint; manual | +| 3 | Summary: android.os; Parcel; false; readBinderArray; ; ; Argument[this]; Argument[0]; taint; manual | +| 4 | Summary: android.os; Parcel; false; readBinderList; ; ; Argument[this]; Argument[0]; taint; manual | +| 5 | Summary: android.os; Parcel; false; readBoolean; ; ; Argument[this]; ReturnValue; taint; manual | +| 6 | Summary: android.os; Parcel; false; readBooleanArray; ; ; Argument[this]; Argument[0]; taint; manual | +| 7 | Summary: android.os; Parcel; false; readBundle; ; ; Argument[this]; ReturnValue; taint; manual | +| 8 | Summary: android.os; Parcel; false; readByte; ; ; Argument[this]; ReturnValue; taint; manual | +| 9 | Summary: android.os; Parcel; false; readByteArray; ; ; Argument[this]; Argument[0]; taint; manual | +| 10 | Summary: android.os; Parcel; false; readCharArray; ; ; Argument[this]; Argument[0]; taint; manual | +| 11 | Summary: android.os; Parcel; false; readDouble; ; ; Argument[this]; ReturnValue; taint; manual | +| 12 | Summary: android.os; Parcel; false; readDoubleArray; ; ; Argument[this]; Argument[0]; taint; manual | +| 13 | Summary: android.os; Parcel; false; readFileDescriptor; ; ; Argument[this]; ReturnValue; taint; manual | +| 14 | Summary: android.os; Parcel; false; readFloat; ; ; Argument[this]; ReturnValue; taint; manual | +| 15 | Summary: android.os; Parcel; false; readFloatArray; ; ; Argument[this]; Argument[0]; taint; manual | +| 16 | Summary: android.os; Parcel; false; readHashMap; ; ; Argument[this]; ReturnValue; taint; manual | +| 17 | Summary: android.os; Parcel; false; readInt; ; ; Argument[this]; ReturnValue; taint; manual | +| 18 | Summary: android.os; Parcel; false; readIntArray; ; ; Argument[this]; Argument[0]; taint; manual | +| 19 | Summary: android.os; Parcel; false; readList; ; ; Argument[this]; Argument[0]; taint; manual | +| 20 | Summary: android.os; Parcel; false; readLong; ; ; Argument[this]; ReturnValue; taint; manual | +| 21 | Summary: android.os; Parcel; false; readLongArray; ; ; Argument[this]; Argument[0]; taint; manual | +| 22 | Summary: android.os; Parcel; false; readMap; ; ; Argument[this]; Argument[0]; taint; manual | +| 23 | Summary: android.os; Parcel; false; readParcelable; ; ; Argument[this]; ReturnValue; taint; manual | +| 24 | Summary: android.os; Parcel; false; readParcelableArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 25 | Summary: android.os; Parcel; false; readParcelableList; ; ; Argument[this]; Argument[0]; taint; manual | +| 26 | Summary: android.os; Parcel; false; readParcelableList; ; ; Argument[0]; ReturnValue; value; manual | +| 27 | Summary: android.os; Parcel; false; readPersistableBundle; ; ; Argument[this]; ReturnValue; taint; manual | +| 28 | Summary: android.os; Parcel; false; readSerializable; ; ; Argument[this]; ReturnValue; taint; manual | +| 29 | Summary: android.os; Parcel; false; readSize; ; ; Argument[this]; ReturnValue; taint; manual | +| 30 | Summary: android.os; Parcel; false; readSizeF; ; ; Argument[this]; ReturnValue; taint; manual | +| 31 | Summary: android.os; Parcel; false; readSparseArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 32 | Summary: android.os; Parcel; false; readSparseBooleanArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 33 | Summary: android.os; Parcel; false; readString; ; ; Argument[this]; ReturnValue; taint; manual | +| 34 | Summary: android.os; Parcel; false; readStringArray; ; ; Argument[this]; Argument[0]; taint; manual | +| 35 | Summary: android.os; Parcel; false; readStringList; ; ; Argument[this]; Argument[0]; taint; manual | +| 36 | Summary: android.os; Parcel; false; readStrongBinder; ; ; Argument[this]; ReturnValue; taint; manual | +| 37 | Summary: android.os; Parcel; false; readTypedArray; ; ; Argument[this]; Argument[0]; taint; manual | +| 38 | Summary: android.os; Parcel; false; readTypedList; ; ; Argument[this]; Argument[0]; taint; manual | +| 39 | Summary: android.os; Parcel; false; readTypedObject; ; ; Argument[this]; ReturnValue; taint; manual | +| 40 | Summary: android.os; Parcel; false; readValue; ; ; Argument[this]; ReturnValue; taint; manual | +edges +| Test.java:32:16:32:31 | (...)... : Parcel | Test.java:33:10:33:11 | in : Parcel | provenance | | +| Test.java:32:24:32:31 | source(...) : Object | Test.java:32:16:32:31 | (...)... : Parcel | provenance | | +| Test.java:33:10:33:11 | in : Parcel | Test.java:33:10:33:27 | readArray(...) : Object[] | provenance | MaD:1 | +| Test.java:33:10:33:27 | readArray(...) : Object[] | Test.java:34:9:34:11 | out | provenance | | +| Test.java:39:16:39:31 | (...)... : Parcel | Test.java:40:10:40:11 | in : Parcel | provenance | | +| Test.java:39:24:39:31 | source(...) : Object | Test.java:39:16:39:31 | (...)... : Parcel | provenance | | +| Test.java:40:10:40:11 | in : Parcel | Test.java:40:10:40:31 | readArrayList(...) : ArrayList | provenance | MaD:2 | +| Test.java:40:10:40:31 | readArrayList(...) : ArrayList | Test.java:41:9:41:11 | out | provenance | | +| Test.java:46:16:46:31 | (...)... : Parcel | Test.java:47:4:47:5 | in : Parcel | provenance | | +| Test.java:46:24:46:31 | source(...) : Object | Test.java:46:16:46:31 | (...)... : Parcel | provenance | | +| Test.java:47:4:47:5 | in : Parcel | Test.java:47:23:47:25 | out [post update] : IBinder[] | provenance | MaD:3 | +| Test.java:47:23:47:25 | out [post update] : IBinder[] | Test.java:48:9:48:11 | out | provenance | | +| Test.java:53:16:53:31 | (...)... : Parcel | Test.java:54:4:54:5 | in : Parcel | provenance | | +| Test.java:53:24:53:31 | source(...) : Object | Test.java:53:16:53:31 | (...)... : Parcel | provenance | | +| Test.java:54:4:54:5 | in : Parcel | Test.java:54:22:54:24 | out [post update] : List | provenance | MaD:4 | +| Test.java:54:22:54:24 | out [post update] : List | Test.java:55:9:55:11 | out | provenance | | +| Test.java:60:16:60:31 | (...)... : Parcel | Test.java:61:10:61:11 | in : Parcel | provenance | | +| Test.java:60:24:60:31 | source(...) : Object | Test.java:60:16:60:31 | (...)... : Parcel | provenance | | +| Test.java:61:10:61:11 | in : Parcel | Test.java:61:10:61:25 | readBoolean(...) : Boolean | provenance | MaD:5 | +| Test.java:61:10:61:25 | readBoolean(...) : Boolean | Test.java:62:9:62:11 | out | provenance | | +| Test.java:67:16:67:31 | (...)... : Parcel | Test.java:68:4:68:5 | in : Parcel | provenance | | +| Test.java:67:24:67:31 | source(...) : Object | Test.java:67:16:67:31 | (...)... : Parcel | provenance | | +| Test.java:68:4:68:5 | in : Parcel | Test.java:68:24:68:26 | out [post update] : boolean[] | provenance | MaD:6 | +| Test.java:68:24:68:26 | out [post update] : boolean[] | Test.java:69:9:69:11 | out | provenance | | +| Test.java:74:16:74:31 | (...)... : Parcel | Test.java:75:10:75:11 | in : Parcel | provenance | | +| Test.java:74:24:74:31 | source(...) : Object | Test.java:74:16:74:31 | (...)... : Parcel | provenance | | +| Test.java:75:10:75:11 | in : Parcel | Test.java:75:10:75:28 | readBundle(...) : Bundle | provenance | MaD:7 | +| Test.java:75:10:75:28 | readBundle(...) : Bundle | Test.java:76:9:76:11 | out | provenance | | +| Test.java:81:16:81:31 | (...)... : Parcel | Test.java:82:10:82:11 | in : Parcel | provenance | | +| Test.java:81:24:81:31 | source(...) : Object | Test.java:81:16:81:31 | (...)... : Parcel | provenance | | +| Test.java:82:10:82:11 | in : Parcel | Test.java:82:10:82:24 | readBundle(...) : Bundle | provenance | MaD:7 | +| Test.java:82:10:82:24 | readBundle(...) : Bundle | Test.java:83:9:83:11 | out | provenance | | +| Test.java:88:16:88:31 | (...)... : Parcel | Test.java:89:10:89:11 | in : Parcel | provenance | | +| Test.java:88:24:88:31 | source(...) : Object | Test.java:88:16:88:31 | (...)... : Parcel | provenance | | +| Test.java:89:10:89:11 | in : Parcel | Test.java:89:10:89:22 | readByte(...) : Number | provenance | MaD:8 | +| Test.java:89:10:89:22 | readByte(...) : Number | Test.java:90:9:90:11 | out | provenance | | +| Test.java:95:16:95:31 | (...)... : Parcel | Test.java:96:4:96:5 | in : Parcel | provenance | | +| Test.java:95:24:95:31 | source(...) : Object | Test.java:95:16:95:31 | (...)... : Parcel | provenance | | +| Test.java:96:4:96:5 | in : Parcel | Test.java:96:21:96:23 | out [post update] : byte[] | provenance | MaD:9 | +| Test.java:96:21:96:23 | out [post update] : byte[] | Test.java:97:9:97:11 | out | provenance | | +| Test.java:102:16:102:31 | (...)... : Parcel | Test.java:103:4:103:5 | in : Parcel | provenance | | +| Test.java:102:24:102:31 | source(...) : Object | Test.java:102:16:102:31 | (...)... : Parcel | provenance | | +| Test.java:103:4:103:5 | in : Parcel | Test.java:103:21:103:23 | out [post update] : char[] | provenance | MaD:10 | +| Test.java:103:21:103:23 | out [post update] : char[] | Test.java:104:9:104:11 | out | provenance | | +| Test.java:109:16:109:31 | (...)... : Parcel | Test.java:110:10:110:11 | in : Parcel | provenance | | +| Test.java:109:24:109:31 | source(...) : Object | Test.java:109:16:109:31 | (...)... : Parcel | provenance | | +| Test.java:110:10:110:11 | in : Parcel | Test.java:110:10:110:24 | readDouble(...) : Number | provenance | MaD:11 | +| Test.java:110:10:110:24 | readDouble(...) : Number | Test.java:111:9:111:11 | out | provenance | | +| Test.java:116:16:116:31 | (...)... : Parcel | Test.java:117:4:117:5 | in : Parcel | provenance | | +| Test.java:116:24:116:31 | source(...) : Object | Test.java:116:16:116:31 | (...)... : Parcel | provenance | | +| Test.java:117:4:117:5 | in : Parcel | Test.java:117:23:117:25 | out [post update] : double[] | provenance | MaD:12 | +| Test.java:117:23:117:25 | out [post update] : double[] | Test.java:118:9:118:11 | out | provenance | | +| Test.java:123:16:123:31 | (...)... : Parcel | Test.java:124:10:124:11 | in : Parcel | provenance | | +| Test.java:123:24:123:31 | source(...) : Object | Test.java:123:16:123:31 | (...)... : Parcel | provenance | | +| Test.java:124:10:124:11 | in : Parcel | Test.java:124:10:124:32 | readFileDescriptor(...) : ParcelFileDescriptor | provenance | MaD:13 | +| Test.java:124:10:124:32 | readFileDescriptor(...) : ParcelFileDescriptor | Test.java:125:9:125:11 | out | provenance | | +| Test.java:130:16:130:31 | (...)... : Parcel | Test.java:131:10:131:11 | in : Parcel | provenance | | +| Test.java:130:24:130:31 | source(...) : Object | Test.java:130:16:130:31 | (...)... : Parcel | provenance | | +| Test.java:131:10:131:11 | in : Parcel | Test.java:131:10:131:23 | readFloat(...) : Number | provenance | MaD:14 | +| Test.java:131:10:131:23 | readFloat(...) : Number | Test.java:132:9:132:11 | out | provenance | | +| Test.java:137:16:137:31 | (...)... : Parcel | Test.java:138:4:138:5 | in : Parcel | provenance | | +| Test.java:137:24:137:31 | source(...) : Object | Test.java:137:16:137:31 | (...)... : Parcel | provenance | | +| Test.java:138:4:138:5 | in : Parcel | Test.java:138:22:138:24 | out [post update] : float[] | provenance | MaD:15 | +| Test.java:138:22:138:24 | out [post update] : float[] | Test.java:139:9:139:11 | out | provenance | | +| Test.java:144:16:144:31 | (...)... : Parcel | Test.java:145:10:145:11 | in : Parcel | provenance | | +| Test.java:144:24:144:31 | source(...) : Object | Test.java:144:16:144:31 | (...)... : Parcel | provenance | | +| Test.java:145:10:145:11 | in : Parcel | Test.java:145:10:145:29 | readHashMap(...) : HashMap | provenance | MaD:16 | +| Test.java:145:10:145:29 | readHashMap(...) : HashMap | Test.java:146:9:146:11 | out | provenance | | +| Test.java:151:16:151:31 | (...)... : Parcel | Test.java:152:10:152:11 | in : Parcel | provenance | | +| Test.java:151:24:151:31 | source(...) : Object | Test.java:151:16:151:31 | (...)... : Parcel | provenance | | +| Test.java:152:10:152:11 | in : Parcel | Test.java:152:10:152:21 | readInt(...) : Number | provenance | MaD:17 | +| Test.java:152:10:152:21 | readInt(...) : Number | Test.java:153:9:153:11 | out | provenance | | +| Test.java:158:16:158:31 | (...)... : Parcel | Test.java:159:4:159:5 | in : Parcel | provenance | | +| Test.java:158:24:158:31 | source(...) : Object | Test.java:158:16:158:31 | (...)... : Parcel | provenance | | +| Test.java:159:4:159:5 | in : Parcel | Test.java:159:20:159:22 | out [post update] : int[] | provenance | MaD:18 | +| Test.java:159:20:159:22 | out [post update] : int[] | Test.java:160:9:160:11 | out | provenance | | +| Test.java:165:16:165:31 | (...)... : Parcel | Test.java:166:4:166:5 | in : Parcel | provenance | | +| Test.java:165:24:165:31 | source(...) : Object | Test.java:165:16:165:31 | (...)... : Parcel | provenance | | +| Test.java:166:4:166:5 | in : Parcel | Test.java:166:16:166:18 | out [post update] : List | provenance | MaD:19 | +| Test.java:166:16:166:18 | out [post update] : List | Test.java:167:9:167:11 | out | provenance | | +| Test.java:172:16:172:31 | (...)... : Parcel | Test.java:173:10:173:11 | in : Parcel | provenance | | +| Test.java:172:24:172:31 | source(...) : Object | Test.java:172:16:172:31 | (...)... : Parcel | provenance | | +| Test.java:173:10:173:11 | in : Parcel | Test.java:173:10:173:22 | readLong(...) : Number | provenance | MaD:20 | +| Test.java:173:10:173:22 | readLong(...) : Number | Test.java:174:9:174:11 | out | provenance | | +| Test.java:179:16:179:31 | (...)... : Parcel | Test.java:180:4:180:5 | in : Parcel | provenance | | +| Test.java:179:24:179:31 | source(...) : Object | Test.java:179:16:179:31 | (...)... : Parcel | provenance | | +| Test.java:180:4:180:5 | in : Parcel | Test.java:180:21:180:23 | out [post update] : long[] | provenance | MaD:21 | +| Test.java:180:21:180:23 | out [post update] : long[] | Test.java:181:9:181:11 | out | provenance | | +| Test.java:186:16:186:31 | (...)... : Parcel | Test.java:187:4:187:5 | in : Parcel | provenance | | +| Test.java:186:24:186:31 | source(...) : Object | Test.java:186:16:186:31 | (...)... : Parcel | provenance | | +| Test.java:187:4:187:5 | in : Parcel | Test.java:187:15:187:17 | out [post update] : Map | provenance | MaD:22 | +| Test.java:187:15:187:17 | out [post update] : Map | Test.java:188:9:188:11 | out | provenance | | +| Test.java:193:16:193:31 | (...)... : Parcel | Test.java:194:10:194:11 | in : Parcel | provenance | | +| Test.java:193:24:193:31 | source(...) : Object | Test.java:193:16:193:31 | (...)... : Parcel | provenance | | +| Test.java:194:10:194:11 | in : Parcel | Test.java:194:10:194:32 | readParcelable(...) : Parcelable | provenance | MaD:23 | +| Test.java:194:10:194:32 | readParcelable(...) : Parcelable | Test.java:195:9:195:11 | out | provenance | | +| Test.java:200:16:200:31 | (...)... : Parcel | Test.java:201:10:201:11 | in : Parcel | provenance | | +| Test.java:200:24:200:31 | source(...) : Object | Test.java:200:16:200:31 | (...)... : Parcel | provenance | | +| Test.java:201:10:201:11 | in : Parcel | Test.java:201:10:201:37 | readParcelableArray(...) : Parcelable[] | provenance | MaD:24 | +| Test.java:201:10:201:37 | readParcelableArray(...) : Parcelable[] | Test.java:202:9:202:11 | out | provenance | | +| Test.java:207:16:207:31 | (...)... : Parcel | Test.java:208:4:208:5 | in : Parcel | provenance | | +| Test.java:207:24:207:31 | source(...) : Object | Test.java:207:16:207:31 | (...)... : Parcel | provenance | | +| Test.java:208:4:208:5 | in : Parcel | Test.java:208:26:208:28 | out [post update] : List | provenance | MaD:25 | +| Test.java:208:26:208:28 | out [post update] : List | Test.java:209:9:209:11 | out | provenance | | +| Test.java:214:14:214:27 | (...)... : List | Test.java:216:38:216:39 | in : List | provenance | | +| Test.java:214:20:214:27 | source(...) : Object | Test.java:214:14:214:27 | (...)... : List | provenance | | +| Test.java:216:10:216:46 | readParcelableList(...) : List | Test.java:217:9:217:11 | out | provenance | | +| Test.java:216:38:216:39 | in : List | Test.java:216:10:216:46 | readParcelableList(...) : List | provenance | MaD:26 | +| Test.java:222:16:222:31 | (...)... : Parcel | Test.java:223:10:223:11 | in : Parcel | provenance | | +| Test.java:222:24:222:31 | source(...) : Object | Test.java:222:16:222:31 | (...)... : Parcel | provenance | | +| Test.java:223:10:223:11 | in : Parcel | Test.java:223:10:223:39 | readPersistableBundle(...) : PersistableBundle | provenance | MaD:27 | +| Test.java:223:10:223:39 | readPersistableBundle(...) : PersistableBundle | Test.java:224:9:224:11 | out | provenance | | +| Test.java:229:16:229:31 | (...)... : Parcel | Test.java:230:10:230:11 | in : Parcel | provenance | | +| Test.java:229:24:229:31 | source(...) : Object | Test.java:229:16:229:31 | (...)... : Parcel | provenance | | +| Test.java:230:10:230:11 | in : Parcel | Test.java:230:10:230:35 | readPersistableBundle(...) : PersistableBundle | provenance | MaD:27 | +| Test.java:230:10:230:35 | readPersistableBundle(...) : PersistableBundle | Test.java:231:9:231:11 | out | provenance | | +| Test.java:236:16:236:31 | (...)... : Parcel | Test.java:237:10:237:11 | in : Parcel | provenance | | +| Test.java:236:24:236:31 | source(...) : Object | Test.java:236:16:236:31 | (...)... : Parcel | provenance | | +| Test.java:237:10:237:11 | in : Parcel | Test.java:237:10:237:30 | readSerializable(...) : Serializable | provenance | MaD:28 | +| Test.java:237:10:237:30 | readSerializable(...) : Serializable | Test.java:238:9:238:11 | out | provenance | | +| Test.java:243:16:243:31 | (...)... : Parcel | Test.java:244:10:244:11 | in : Parcel | provenance | | +| Test.java:243:24:243:31 | source(...) : Object | Test.java:243:16:243:31 | (...)... : Parcel | provenance | | +| Test.java:244:10:244:11 | in : Parcel | Test.java:244:10:244:22 | readSize(...) : Size | provenance | MaD:29 | +| Test.java:244:10:244:22 | readSize(...) : Size | Test.java:245:9:245:11 | out | provenance | | +| Test.java:250:16:250:31 | (...)... : Parcel | Test.java:251:10:251:11 | in : Parcel | provenance | | +| Test.java:250:24:250:31 | source(...) : Object | Test.java:250:16:250:31 | (...)... : Parcel | provenance | | +| Test.java:251:10:251:11 | in : Parcel | Test.java:251:10:251:23 | readSizeF(...) : SizeF | provenance | MaD:30 | +| Test.java:251:10:251:23 | readSizeF(...) : SizeF | Test.java:252:9:252:11 | out | provenance | | +| Test.java:257:16:257:31 | (...)... : Parcel | Test.java:258:10:258:11 | in : Parcel | provenance | | +| Test.java:257:24:257:31 | source(...) : Object | Test.java:257:16:257:31 | (...)... : Parcel | provenance | | +| Test.java:258:10:258:11 | in : Parcel | Test.java:258:10:258:33 | readSparseArray(...) : SparseArray | provenance | MaD:31 | +| Test.java:258:10:258:33 | readSparseArray(...) : SparseArray | Test.java:259:9:259:11 | out | provenance | | +| Test.java:264:16:264:31 | (...)... : Parcel | Test.java:265:10:265:11 | in : Parcel | provenance | | +| Test.java:264:24:264:31 | source(...) : Object | Test.java:264:16:264:31 | (...)... : Parcel | provenance | | +| Test.java:265:10:265:11 | in : Parcel | Test.java:265:10:265:36 | readSparseBooleanArray(...) : SparseBooleanArray | provenance | MaD:32 | +| Test.java:265:10:265:36 | readSparseBooleanArray(...) : SparseBooleanArray | Test.java:266:9:266:11 | out | provenance | | +| Test.java:271:16:271:31 | (...)... : Parcel | Test.java:272:10:272:11 | in : Parcel | provenance | | +| Test.java:271:24:271:31 | source(...) : Object | Test.java:271:16:271:31 | (...)... : Parcel | provenance | | +| Test.java:272:10:272:11 | in : Parcel | Test.java:272:10:272:24 | readString(...) : String | provenance | MaD:33 | +| Test.java:272:10:272:24 | readString(...) : String | Test.java:273:9:273:11 | out | provenance | | +| Test.java:278:16:278:31 | (...)... : Parcel | Test.java:279:4:279:5 | in : Parcel | provenance | | +| Test.java:278:24:278:31 | source(...) : Object | Test.java:278:16:278:31 | (...)... : Parcel | provenance | | +| Test.java:279:4:279:5 | in : Parcel | Test.java:279:23:279:25 | out [post update] : String[] | provenance | MaD:34 | +| Test.java:279:23:279:25 | out [post update] : String[] | Test.java:280:9:280:11 | out | provenance | | +| Test.java:285:16:285:31 | (...)... : Parcel | Test.java:286:4:286:5 | in : Parcel | provenance | | +| Test.java:285:24:285:31 | source(...) : Object | Test.java:285:16:285:31 | (...)... : Parcel | provenance | | +| Test.java:286:4:286:5 | in : Parcel | Test.java:286:22:286:24 | out [post update] : List | provenance | MaD:35 | +| Test.java:286:22:286:24 | out [post update] : List | Test.java:287:9:287:11 | out | provenance | | +| Test.java:292:16:292:31 | (...)... : Parcel | Test.java:293:10:293:11 | in : Parcel | provenance | | +| Test.java:292:24:292:31 | source(...) : Object | Test.java:292:16:292:31 | (...)... : Parcel | provenance | | +| Test.java:293:10:293:11 | in : Parcel | Test.java:293:10:293:30 | readStrongBinder(...) : IBinder | provenance | MaD:36 | +| Test.java:293:10:293:30 | readStrongBinder(...) : IBinder | Test.java:294:9:294:11 | out | provenance | | +| Test.java:299:16:299:31 | (...)... : Parcel | Test.java:300:4:300:5 | in : Parcel | provenance | | +| Test.java:299:24:299:31 | source(...) : Object | Test.java:299:16:299:31 | (...)... : Parcel | provenance | | +| Test.java:300:4:300:5 | in : Parcel | Test.java:300:22:300:24 | out [post update] : Object[] | provenance | MaD:37 | +| Test.java:300:22:300:24 | out [post update] : Object[] | Test.java:301:9:301:11 | out | provenance | | +| Test.java:306:16:306:31 | (...)... : Parcel | Test.java:307:4:307:5 | in : Parcel | provenance | | +| Test.java:306:24:306:31 | source(...) : Object | Test.java:306:16:306:31 | (...)... : Parcel | provenance | | +| Test.java:307:4:307:5 | in : Parcel | Test.java:307:21:307:23 | out [post update] : List | provenance | MaD:38 | +| Test.java:307:21:307:23 | out [post update] : List | Test.java:308:9:308:11 | out | provenance | | +| Test.java:313:16:313:31 | (...)... : Parcel | Test.java:314:10:314:11 | in : Parcel | provenance | | +| Test.java:313:24:313:31 | source(...) : Object | Test.java:313:16:313:31 | (...)... : Parcel | provenance | | +| Test.java:314:10:314:11 | in : Parcel | Test.java:314:10:314:33 | readTypedObject(...) : Object | provenance | MaD:39 | +| Test.java:314:10:314:33 | readTypedObject(...) : Object | Test.java:315:9:315:11 | out | provenance | | +| Test.java:320:16:320:31 | (...)... : Parcel | Test.java:321:10:321:11 | in : Parcel | provenance | | +| Test.java:320:24:320:31 | source(...) : Object | Test.java:320:16:320:31 | (...)... : Parcel | provenance | | +| Test.java:321:10:321:11 | in : Parcel | Test.java:321:10:321:27 | readValue(...) : Object | provenance | MaD:40 | +| Test.java:321:10:321:27 | readValue(...) : Object | Test.java:322:9:322:11 | out | provenance | | +nodes +| Test.java:32:16:32:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:32:24:32:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:33:10:33:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:33:10:33:27 | readArray(...) : Object[] | semmle.label | readArray(...) : Object[] | +| Test.java:34:9:34:11 | out | semmle.label | out | +| Test.java:39:16:39:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:39:24:39:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:40:10:40:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:40:10:40:31 | readArrayList(...) : ArrayList | semmle.label | readArrayList(...) : ArrayList | +| Test.java:41:9:41:11 | out | semmle.label | out | +| Test.java:46:16:46:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:46:24:46:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:47:4:47:5 | in : Parcel | semmle.label | in : Parcel | +| Test.java:47:23:47:25 | out [post update] : IBinder[] | semmle.label | out [post update] : IBinder[] | +| Test.java:48:9:48:11 | out | semmle.label | out | +| Test.java:53:16:53:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:53:24:53:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:54:4:54:5 | in : Parcel | semmle.label | in : Parcel | +| Test.java:54:22:54:24 | out [post update] : List | semmle.label | out [post update] : List | +| Test.java:55:9:55:11 | out | semmle.label | out | +| Test.java:60:16:60:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:60:24:60:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:61:10:61:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:61:10:61:25 | readBoolean(...) : Boolean | semmle.label | readBoolean(...) : Boolean | +| Test.java:62:9:62:11 | out | semmle.label | out | +| Test.java:67:16:67:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:67:24:67:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:68:4:68:5 | in : Parcel | semmle.label | in : Parcel | +| Test.java:68:24:68:26 | out [post update] : boolean[] | semmle.label | out [post update] : boolean[] | +| Test.java:69:9:69:11 | out | semmle.label | out | +| Test.java:74:16:74:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:74:24:74:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:75:10:75:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:75:10:75:28 | readBundle(...) : Bundle | semmle.label | readBundle(...) : Bundle | +| Test.java:76:9:76:11 | out | semmle.label | out | +| Test.java:81:16:81:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:81:24:81:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:82:10:82:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:82:10:82:24 | readBundle(...) : Bundle | semmle.label | readBundle(...) : Bundle | +| Test.java:83:9:83:11 | out | semmle.label | out | +| Test.java:88:16:88:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:88:24:88:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:89:10:89:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:89:10:89:22 | readByte(...) : Number | semmle.label | readByte(...) : Number | +| Test.java:90:9:90:11 | out | semmle.label | out | +| Test.java:95:16:95:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:95:24:95:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:96:4:96:5 | in : Parcel | semmle.label | in : Parcel | +| Test.java:96:21:96:23 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:97:9:97:11 | out | semmle.label | out | +| Test.java:102:16:102:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:102:24:102:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:103:4:103:5 | in : Parcel | semmle.label | in : Parcel | +| Test.java:103:21:103:23 | out [post update] : char[] | semmle.label | out [post update] : char[] | +| Test.java:104:9:104:11 | out | semmle.label | out | +| Test.java:109:16:109:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:109:24:109:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:110:10:110:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:110:10:110:24 | readDouble(...) : Number | semmle.label | readDouble(...) : Number | +| Test.java:111:9:111:11 | out | semmle.label | out | +| Test.java:116:16:116:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:116:24:116:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:117:4:117:5 | in : Parcel | semmle.label | in : Parcel | +| Test.java:117:23:117:25 | out [post update] : double[] | semmle.label | out [post update] : double[] | +| Test.java:118:9:118:11 | out | semmle.label | out | +| Test.java:123:16:123:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:123:24:123:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:124:10:124:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:124:10:124:32 | readFileDescriptor(...) : ParcelFileDescriptor | semmle.label | readFileDescriptor(...) : ParcelFileDescriptor | +| Test.java:125:9:125:11 | out | semmle.label | out | +| Test.java:130:16:130:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:130:24:130:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:131:10:131:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:131:10:131:23 | readFloat(...) : Number | semmle.label | readFloat(...) : Number | +| Test.java:132:9:132:11 | out | semmle.label | out | +| Test.java:137:16:137:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:137:24:137:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:138:4:138:5 | in : Parcel | semmle.label | in : Parcel | +| Test.java:138:22:138:24 | out [post update] : float[] | semmle.label | out [post update] : float[] | +| Test.java:139:9:139:11 | out | semmle.label | out | +| Test.java:144:16:144:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:144:24:144:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:145:10:145:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:145:10:145:29 | readHashMap(...) : HashMap | semmle.label | readHashMap(...) : HashMap | +| Test.java:146:9:146:11 | out | semmle.label | out | +| Test.java:151:16:151:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:151:24:151:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:152:10:152:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:152:10:152:21 | readInt(...) : Number | semmle.label | readInt(...) : Number | +| Test.java:153:9:153:11 | out | semmle.label | out | +| Test.java:158:16:158:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:158:24:158:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:159:4:159:5 | in : Parcel | semmle.label | in : Parcel | +| Test.java:159:20:159:22 | out [post update] : int[] | semmle.label | out [post update] : int[] | +| Test.java:160:9:160:11 | out | semmle.label | out | +| Test.java:165:16:165:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:165:24:165:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:166:4:166:5 | in : Parcel | semmle.label | in : Parcel | +| Test.java:166:16:166:18 | out [post update] : List | semmle.label | out [post update] : List | +| Test.java:167:9:167:11 | out | semmle.label | out | +| Test.java:172:16:172:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:172:24:172:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:173:10:173:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:173:10:173:22 | readLong(...) : Number | semmle.label | readLong(...) : Number | +| Test.java:174:9:174:11 | out | semmle.label | out | +| Test.java:179:16:179:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:179:24:179:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:180:4:180:5 | in : Parcel | semmle.label | in : Parcel | +| Test.java:180:21:180:23 | out [post update] : long[] | semmle.label | out [post update] : long[] | +| Test.java:181:9:181:11 | out | semmle.label | out | +| Test.java:186:16:186:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:186:24:186:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:187:4:187:5 | in : Parcel | semmle.label | in : Parcel | +| Test.java:187:15:187:17 | out [post update] : Map | semmle.label | out [post update] : Map | +| Test.java:188:9:188:11 | out | semmle.label | out | +| Test.java:193:16:193:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:193:24:193:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:194:10:194:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:194:10:194:32 | readParcelable(...) : Parcelable | semmle.label | readParcelable(...) : Parcelable | +| Test.java:195:9:195:11 | out | semmle.label | out | +| Test.java:200:16:200:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:200:24:200:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:201:10:201:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:201:10:201:37 | readParcelableArray(...) : Parcelable[] | semmle.label | readParcelableArray(...) : Parcelable[] | +| Test.java:202:9:202:11 | out | semmle.label | out | +| Test.java:207:16:207:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:207:24:207:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:208:4:208:5 | in : Parcel | semmle.label | in : Parcel | +| Test.java:208:26:208:28 | out [post update] : List | semmle.label | out [post update] : List | +| Test.java:209:9:209:11 | out | semmle.label | out | +| Test.java:214:14:214:27 | (...)... : List | semmle.label | (...)... : List | +| Test.java:214:20:214:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:216:10:216:46 | readParcelableList(...) : List | semmle.label | readParcelableList(...) : List | +| Test.java:216:38:216:39 | in : List | semmle.label | in : List | +| Test.java:217:9:217:11 | out | semmle.label | out | +| Test.java:222:16:222:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:222:24:222:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:223:10:223:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:223:10:223:39 | readPersistableBundle(...) : PersistableBundle | semmle.label | readPersistableBundle(...) : PersistableBundle | +| Test.java:224:9:224:11 | out | semmle.label | out | +| Test.java:229:16:229:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:229:24:229:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:230:10:230:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:230:10:230:35 | readPersistableBundle(...) : PersistableBundle | semmle.label | readPersistableBundle(...) : PersistableBundle | +| Test.java:231:9:231:11 | out | semmle.label | out | +| Test.java:236:16:236:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:236:24:236:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:237:10:237:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:237:10:237:30 | readSerializable(...) : Serializable | semmle.label | readSerializable(...) : Serializable | +| Test.java:238:9:238:11 | out | semmle.label | out | +| Test.java:243:16:243:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:243:24:243:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:244:10:244:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:244:10:244:22 | readSize(...) : Size | semmle.label | readSize(...) : Size | +| Test.java:245:9:245:11 | out | semmle.label | out | +| Test.java:250:16:250:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:250:24:250:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:251:10:251:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:251:10:251:23 | readSizeF(...) : SizeF | semmle.label | readSizeF(...) : SizeF | +| Test.java:252:9:252:11 | out | semmle.label | out | +| Test.java:257:16:257:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:257:24:257:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:258:10:258:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:258:10:258:33 | readSparseArray(...) : SparseArray | semmle.label | readSparseArray(...) : SparseArray | +| Test.java:259:9:259:11 | out | semmle.label | out | +| Test.java:264:16:264:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:264:24:264:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:265:10:265:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:265:10:265:36 | readSparseBooleanArray(...) : SparseBooleanArray | semmle.label | readSparseBooleanArray(...) : SparseBooleanArray | +| Test.java:266:9:266:11 | out | semmle.label | out | +| Test.java:271:16:271:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:271:24:271:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:272:10:272:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:272:10:272:24 | readString(...) : String | semmle.label | readString(...) : String | +| Test.java:273:9:273:11 | out | semmle.label | out | +| Test.java:278:16:278:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:278:24:278:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:279:4:279:5 | in : Parcel | semmle.label | in : Parcel | +| Test.java:279:23:279:25 | out [post update] : String[] | semmle.label | out [post update] : String[] | +| Test.java:280:9:280:11 | out | semmle.label | out | +| Test.java:285:16:285:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:285:24:285:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:286:4:286:5 | in : Parcel | semmle.label | in : Parcel | +| Test.java:286:22:286:24 | out [post update] : List | semmle.label | out [post update] : List | +| Test.java:287:9:287:11 | out | semmle.label | out | +| Test.java:292:16:292:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:292:24:292:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:293:10:293:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:293:10:293:30 | readStrongBinder(...) : IBinder | semmle.label | readStrongBinder(...) : IBinder | +| Test.java:294:9:294:11 | out | semmle.label | out | +| Test.java:299:16:299:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:299:24:299:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:300:4:300:5 | in : Parcel | semmle.label | in : Parcel | +| Test.java:300:22:300:24 | out [post update] : Object[] | semmle.label | out [post update] : Object[] | +| Test.java:301:9:301:11 | out | semmle.label | out | +| Test.java:306:16:306:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:306:24:306:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:307:4:307:5 | in : Parcel | semmle.label | in : Parcel | +| Test.java:307:21:307:23 | out [post update] : List | semmle.label | out [post update] : List | +| Test.java:308:9:308:11 | out | semmle.label | out | +| Test.java:313:16:313:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:313:24:313:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:314:10:314:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:314:10:314:33 | readTypedObject(...) : Object | semmle.label | readTypedObject(...) : Object | +| Test.java:315:9:315:11 | out | semmle.label | out | +| Test.java:320:16:320:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:320:24:320:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:321:10:321:11 | in : Parcel | semmle.label | in : Parcel | +| Test.java:321:10:321:27 | readValue(...) : Object | semmle.label | readValue(...) : Object | +| Test.java:322:9:322:11 | out | semmle.label | out | +subpaths +testFailures diff --git a/java/ql/test/library-tests/frameworks/android/intent/test.expected b/java/ql/test/library-tests/frameworks/android/intent/test.expected index e69de29bb2d..6d35c543c5f 100644 --- a/java/ql/test/library-tests/frameworks/android/intent/test.expected +++ b/java/ql/test/library-tests/frameworks/android/intent/test.expected @@ -0,0 +1,4769 @@ +models +| 1 | Summary: android.content; ComponentName; false; ComponentName; (Context,Class); ; Argument[1]; Argument[this]; taint; manual | +| 2 | Summary: android.content; ComponentName; false; ComponentName; (Context,String); ; Argument[1]; Argument[this]; taint; manual | +| 3 | Summary: android.content; ComponentName; false; ComponentName; (Parcel); ; Argument[0]; Argument[this]; taint; manual | +| 4 | Summary: android.content; ComponentName; false; ComponentName; (String,String); ; Argument[0..1]; Argument[this]; taint; manual | +| 5 | Summary: android.content; ComponentName; false; createRelative; (Context,String); ; Argument[1]; ReturnValue; taint; manual | +| 6 | Summary: android.content; ComponentName; false; createRelative; (String,String); ; Argument[0..1]; ReturnValue; taint; manual | +| 7 | Summary: android.content; ComponentName; false; flattenToShortString; ; ; Argument[this]; ReturnValue; taint; manual | +| 8 | Summary: android.content; ComponentName; false; flattenToString; ; ; Argument[this]; ReturnValue; taint; manual | +| 9 | Summary: android.content; ComponentName; false; getClassName; ; ; Argument[this]; ReturnValue; taint; manual | +| 10 | Summary: android.content; ComponentName; false; getPackageName; ; ; Argument[this]; ReturnValue; taint; manual | +| 11 | Summary: android.content; ComponentName; false; getShortClassName; ; ; Argument[this]; ReturnValue; taint; manual | +| 12 | Summary: android.content; ComponentName; false; unflattenFromString; ; ; Argument[0]; ReturnValue; taint; manual | +| 13 | Summary: android.content; Intent; true; Intent; (Context,Class); ; Argument[1]; Argument[this]; taint; manual | +| 14 | Summary: android.content; Intent; true; Intent; (Intent); ; Argument[0]; Argument[this]; taint; manual | +| 15 | Summary: android.content; Intent; false; Intent; (Intent); ; Argument[0].SyntheticField[android.content.Intent.extras].MapKey; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual | +| 16 | Summary: android.content; Intent; false; Intent; (Intent); ; Argument[0].SyntheticField[android.content.Intent.extras].MapValue; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual | +| 17 | Summary: android.content; Intent; false; Intent; (String,Uri); ; Argument[1]; Argument[this].SyntheticField[android.content.Intent.data]; value; manual | +| 18 | Summary: android.content; Intent; false; Intent; (String,Uri,Context,Class); ; Argument[1]; Argument[this].SyntheticField[android.content.Intent.data]; value; manual | +| 19 | Summary: android.content; Intent; true; Intent; (String,Uri,Context,Class); ; Argument[3]; Argument[this]; taint; manual | +| 20 | Summary: android.content; Intent; true; addCategory; ; ; Argument[this]; ReturnValue; value; manual | +| 21 | Summary: android.content; Intent; true; addFlags; ; ; Argument[this]; ReturnValue; value; manual | +| 22 | Summary: android.content; Intent; false; createChooser; ; ; Argument[0..2]; ReturnValue.SyntheticField[android.content.Intent.extras].MapValue; value; manual | +| 23 | Summary: android.content; Intent; true; getBundleExtra; (String); ; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; ReturnValue; value; manual | +| 24 | Summary: android.content; Intent; true; getByteArrayExtra; (String); ; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; ReturnValue; value; manual | +| 25 | Summary: android.content; Intent; true; getCharArrayExtra; (String); ; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; ReturnValue; value; manual | +| 26 | Summary: android.content; Intent; true; getCharSequenceArrayExtra; (String); ; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; ReturnValue; value; manual | +| 27 | Summary: android.content; Intent; true; getCharSequenceArrayListExtra; (String); ; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; ReturnValue; value; manual | +| 28 | Summary: android.content; Intent; true; getCharSequenceExtra; (String); ; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; ReturnValue; value; manual | +| 29 | Summary: android.content; Intent; true; getData; ; ; Argument[this].SyntheticField[android.content.Intent.data]; ReturnValue; value; manual | +| 30 | Summary: android.content; Intent; true; getDataString; ; ; Argument[this].SyntheticField[android.content.Intent.data]; ReturnValue; taint; manual | +| 31 | Summary: android.content; Intent; true; getExtras; (); ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue; value; manual | +| 32 | Summary: android.content; Intent; false; getIntent; ; ; Argument[0]; ReturnValue.SyntheticField[android.content.Intent.data]; taint; manual | +| 33 | Summary: android.content; Intent; true; getIntent; (String); ; Argument[0]; ReturnValue; taint; manual | +| 34 | Summary: android.content; Intent; false; getIntentOld; ; ; Argument[0]; ReturnValue.SyntheticField[android.content.Intent.data]; taint; manual | +| 35 | Summary: android.content; Intent; true; getIntentOld; (String); ; Argument[0]; ReturnValue; taint; manual | +| 36 | Summary: android.content; Intent; true; getParcelableArrayExtra; (String); ; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; ReturnValue; value; manual | +| 37 | Summary: android.content; Intent; true; getParcelableArrayListExtra; (String); ; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; ReturnValue; value; manual | +| 38 | Summary: android.content; Intent; true; getParcelableExtra; (String); ; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; ReturnValue; value; manual | +| 39 | Summary: android.content; Intent; true; getSerializableExtra; (String); ; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; ReturnValue; value; manual | +| 40 | Summary: android.content; Intent; true; getStringArrayExtra; (String); ; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; ReturnValue; value; manual | +| 41 | Summary: android.content; Intent; true; getStringArrayListExtra; (String); ; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; ReturnValue; value; manual | +| 42 | Summary: android.content; Intent; true; getStringExtra; (String); ; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; ReturnValue; value; manual | +| 43 | Summary: android.content; Intent; false; parseUri; ; ; Argument[0]; ReturnValue.SyntheticField[android.content.Intent.data]; taint; manual | +| 44 | Summary: android.content; Intent; true; parseUri; (String,int); ; Argument[0]; ReturnValue; taint; manual | +| 45 | Summary: android.content; Intent; true; putCharSequenceArrayListExtra; ; ; Argument[this]; ReturnValue; value; manual | +| 46 | Summary: android.content; Intent; true; putCharSequenceArrayListExtra; ; ; Argument[0]; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual | +| 47 | Summary: android.content; Intent; true; putCharSequenceArrayListExtra; ; ; Argument[1]; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual | +| 48 | Summary: android.content; Intent; true; putExtra; ; ; Argument[this]; ReturnValue; value; manual | +| 49 | Summary: android.content; Intent; true; putExtra; ; ; Argument[0]; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual | +| 50 | Summary: android.content; Intent; true; putExtra; ; ; Argument[1]; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual | +| 51 | Summary: android.content; Intent; true; putExtras; (Bundle); ; Argument[this]; ReturnValue; value; manual | +| 52 | Summary: android.content; Intent; true; putExtras; (Bundle); ; Argument[0].MapKey; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual | +| 53 | Summary: android.content; Intent; true; putExtras; (Bundle); ; Argument[0].MapValue; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual | +| 54 | Summary: android.content; Intent; true; putExtras; (Intent); ; Argument[this]; ReturnValue; value; manual | +| 55 | Summary: android.content; Intent; true; putExtras; (Intent); ; Argument[0].SyntheticField[android.content.Intent.extras].MapKey; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual | +| 56 | Summary: android.content; Intent; true; putExtras; (Intent); ; Argument[0].SyntheticField[android.content.Intent.extras].MapValue; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual | +| 57 | Summary: android.content; Intent; true; putIntegerArrayListExtra; ; ; Argument[this]; ReturnValue; value; manual | +| 58 | Summary: android.content; Intent; true; putIntegerArrayListExtra; ; ; Argument[0]; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual | +| 59 | Summary: android.content; Intent; true; putParcelableArrayListExtra; ; ; Argument[this]; ReturnValue; value; manual | +| 60 | Summary: android.content; Intent; true; putParcelableArrayListExtra; ; ; Argument[0]; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual | +| 61 | Summary: android.content; Intent; true; putParcelableArrayListExtra; ; ; Argument[1]; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual | +| 62 | Summary: android.content; Intent; true; putStringArrayListExtra; ; ; Argument[this]; ReturnValue; value; manual | +| 63 | Summary: android.content; Intent; true; putStringArrayListExtra; ; ; Argument[0]; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual | +| 64 | Summary: android.content; Intent; true; putStringArrayListExtra; ; ; Argument[1]; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual | +| 65 | Summary: android.content; Intent; true; replaceExtras; (Bundle); ; Argument[this]; ReturnValue; value; manual | +| 66 | Summary: android.content; Intent; true; replaceExtras; (Bundle); ; Argument[0].MapKey; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual | +| 67 | Summary: android.content; Intent; true; replaceExtras; (Bundle); ; Argument[0].MapValue; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual | +| 68 | Summary: android.content; Intent; true; replaceExtras; (Intent); ; Argument[this]; ReturnValue; value; manual | +| 69 | Summary: android.content; Intent; true; replaceExtras; (Intent); ; Argument[0].SyntheticField[android.content.Intent.extras].MapKey; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual | +| 70 | Summary: android.content; Intent; true; replaceExtras; (Intent); ; Argument[0].SyntheticField[android.content.Intent.extras].MapValue; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual | +| 71 | Summary: android.content; Intent; true; setAction; ; ; Argument[this]; ReturnValue; value; manual | +| 72 | Summary: android.content; Intent; true; setClass; ; ; Argument[this]; ReturnValue; value; manual | +| 73 | Summary: android.content; Intent; true; setClass; ; ; Argument[1]; Argument[this]; taint; manual | +| 74 | Summary: android.content; Intent; true; setClassName; ; ; Argument[this]; ReturnValue; value; manual | +| 75 | Summary: android.content; Intent; true; setClassName; (Context,String); ; Argument[1]; Argument[this]; taint; manual | +| 76 | Summary: android.content; Intent; true; setClassName; (String,String); ; Argument[0..1]; Argument[this]; taint; manual | +| 77 | Summary: android.content; Intent; true; setComponent; ; ; Argument[this]; ReturnValue; value; manual | +| 78 | Summary: android.content; Intent; true; setComponent; ; ; Argument[0]; Argument[this]; taint; manual | +| 79 | Summary: android.content; Intent; true; setData; ; ; Argument[this]; ReturnValue; value; manual | +| 80 | Summary: android.content; Intent; true; setData; ; ; Argument[0]; Argument[this].SyntheticField[android.content.Intent.data]; value; manual | +| 81 | Summary: android.content; Intent; true; setDataAndNormalize; ; ; Argument[this]; ReturnValue; value; manual | +| 82 | Summary: android.content; Intent; true; setDataAndNormalize; ; ; Argument[0]; Argument[this].SyntheticField[android.content.Intent.data]; value; manual | +| 83 | Summary: android.content; Intent; true; setDataAndType; ; ; Argument[this]; ReturnValue; value; manual | +| 84 | Summary: android.content; Intent; true; setDataAndType; ; ; Argument[0]; Argument[this].SyntheticField[android.content.Intent.data]; value; manual | +| 85 | Summary: android.content; Intent; true; setDataAndTypeAndNormalize; ; ; Argument[this]; ReturnValue; value; manual | +| 86 | Summary: android.content; Intent; true; setDataAndTypeAndNormalize; ; ; Argument[0]; Argument[this].SyntheticField[android.content.Intent.data]; value; manual | +| 87 | Summary: android.content; Intent; true; setFlags; ; ; Argument[this]; ReturnValue; value; manual | +| 88 | Summary: android.content; Intent; true; setIdentifier; ; ; Argument[this]; ReturnValue; value; manual | +| 89 | Summary: android.content; Intent; true; setPackage; ; ; Argument[this]; ReturnValue; value; manual | +| 90 | Summary: android.content; Intent; true; setPackage; ; ; Argument[0]; Argument[this]; taint; manual | +| 91 | Summary: android.content; Intent; true; setType; ; ; Argument[this]; ReturnValue; value; manual | +| 92 | Summary: android.content; Intent; true; setTypeAndNormalize; ; ; Argument[this]; ReturnValue; value; manual | +| 93 | Summary: android.os; BaseBundle; true; get; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 94 | Summary: android.os; BaseBundle; true; getString; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 95 | Summary: android.os; BaseBundle; true; getString; (String,String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 96 | Summary: android.os; BaseBundle; true; getString; (String,String); ; Argument[1]; ReturnValue; value; manual | +| 97 | Summary: android.os; BaseBundle; true; getStringArray; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 98 | Summary: android.os; BaseBundle; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 99 | Summary: android.os; BaseBundle; true; putAll; (PersistableBundle); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 100 | Summary: android.os; BaseBundle; true; putAll; (PersistableBundle); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 101 | Summary: android.os; BaseBundle; true; putBoolean; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 102 | Summary: android.os; BaseBundle; true; putBooleanArray; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 103 | Summary: android.os; BaseBundle; true; putDouble; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 104 | Summary: android.os; BaseBundle; true; putDoubleArray; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 105 | Summary: android.os; BaseBundle; true; putInt; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 106 | Summary: android.os; BaseBundle; true; putIntArray; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 107 | Summary: android.os; BaseBundle; true; putLong; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 108 | Summary: android.os; BaseBundle; true; putLongArray; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 109 | Summary: android.os; BaseBundle; true; putString; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 110 | Summary: android.os; BaseBundle; true; putString; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 111 | Summary: android.os; BaseBundle; true; putStringArray; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 112 | Summary: android.os; BaseBundle; true; putStringArray; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 113 | Summary: android.os; Bundle; false; Bundle; (Bundle); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 114 | Summary: android.os; Bundle; false; Bundle; (Bundle); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 115 | Summary: android.os; Bundle; false; Bundle; (PersistableBundle); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 116 | Summary: android.os; Bundle; false; Bundle; (PersistableBundle); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 117 | Summary: android.os; Bundle; true; clone; (); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 118 | Summary: android.os; Bundle; true; clone; (); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 119 | Summary: android.os; Bundle; true; deepCopy; (); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 120 | Summary: android.os; Bundle; true; deepCopy; (); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 121 | Summary: android.os; Bundle; true; getBinder; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 122 | Summary: android.os; Bundle; true; getBundle; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 123 | Summary: android.os; Bundle; true; getByteArray; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 124 | Summary: android.os; Bundle; true; getCharArray; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 125 | Summary: android.os; Bundle; true; getCharSequence; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 126 | Summary: android.os; Bundle; true; getCharSequence; (String,CharSequence); ; Argument[this].MapValue; ReturnValue; value; manual | +| 127 | Summary: android.os; Bundle; true; getCharSequence; (String,CharSequence); ; Argument[1]; ReturnValue; value; manual | +| 128 | Summary: android.os; Bundle; true; getCharSequenceArray; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 129 | Summary: android.os; Bundle; true; getCharSequenceArrayList; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 130 | Summary: android.os; Bundle; true; getParcelable; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 131 | Summary: android.os; Bundle; true; getParcelableArray; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 132 | Summary: android.os; Bundle; true; getParcelableArrayList; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 133 | Summary: android.os; Bundle; true; getSerializable; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 134 | Summary: android.os; Bundle; true; getSparseParcelableArray; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 135 | Summary: android.os; Bundle; true; getStringArrayList; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 136 | Summary: android.os; Bundle; true; putAll; (Bundle); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 137 | Summary: android.os; Bundle; true; putAll; (Bundle); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 138 | Summary: android.os; Bundle; true; putBinder; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 139 | Summary: android.os; Bundle; true; putBinder; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 140 | Summary: android.os; Bundle; true; putBundle; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 141 | Summary: android.os; Bundle; true; putBundle; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 142 | Summary: android.os; Bundle; true; putByte; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 143 | Summary: android.os; Bundle; true; putByteArray; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 144 | Summary: android.os; Bundle; true; putByteArray; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 145 | Summary: android.os; Bundle; true; putChar; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 146 | Summary: android.os; Bundle; true; putCharArray; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 147 | Summary: android.os; Bundle; true; putCharArray; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 148 | Summary: android.os; Bundle; true; putCharSequence; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 149 | Summary: android.os; Bundle; true; putCharSequence; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 150 | Summary: android.os; Bundle; true; putCharSequenceArray; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 151 | Summary: android.os; Bundle; true; putCharSequenceArray; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 152 | Summary: android.os; Bundle; true; putCharSequenceArrayList; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 153 | Summary: android.os; Bundle; true; putCharSequenceArrayList; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 154 | Summary: android.os; Bundle; true; putFloat; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 155 | Summary: android.os; Bundle; true; putFloatArray; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 156 | Summary: android.os; Bundle; true; putIntegerArrayList; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 157 | Summary: android.os; Bundle; true; putParcelable; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 158 | Summary: android.os; Bundle; true; putParcelable; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 159 | Summary: android.os; Bundle; true; putParcelableArray; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 160 | Summary: android.os; Bundle; true; putParcelableArray; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 161 | Summary: android.os; Bundle; true; putParcelableArrayList; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 162 | Summary: android.os; Bundle; true; putParcelableArrayList; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 163 | Summary: android.os; Bundle; true; putSerializable; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 164 | Summary: android.os; Bundle; true; putSerializable; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 165 | Summary: android.os; Bundle; true; putShort; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 166 | Summary: android.os; Bundle; true; putShortArray; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 167 | Summary: android.os; Bundle; true; putSize; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 168 | Summary: android.os; Bundle; true; putSizeF; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 169 | Summary: android.os; Bundle; true; putSparseParcelableArray; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 170 | Summary: android.os; Bundle; true; putSparseParcelableArray; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 171 | Summary: android.os; Bundle; true; putStringArrayList; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 172 | Summary: android.os; Bundle; true; putStringArrayList; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 173 | Summary: android.os; Bundle; true; readFromParcel; ; ; Argument[0]; Argument[this].MapKey; taint; manual | +| 174 | Summary: android.os; Bundle; true; readFromParcel; ; ; Argument[0]; Argument[this].MapValue; taint; manual | +| 175 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 176 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 177 | Summary: generatedtest; Test; false; newBundleWithMapValue; (Object); ; Argument[0]; ReturnValue.MapValue; value; manual | +| 178 | Summary: generatedtest; Test; false; newPersistableBundleWithMapValue; (Object); ; Argument[0]; ReturnValue.MapValue; value; manual | +| 179 | Summary: generatedtest; Test; false; getMapValue; (BaseBundle); ; Argument[0].MapValue; ReturnValue; value; manual | +| 180 | Summary: generatedtest; Test; false; newWithIntent_extras; (Bundle); ; Argument[0]; ReturnValue.SyntheticField[android.content.Intent.extras]; value; manual | +edges +| Test.java:22:19:22:32 | it : Set [] : String | Test.java:22:44:22:45 | it : Set [] : String | provenance | | +| Test.java:22:44:22:45 | it : Set [] : String | Test.java:22:44:22:56 | iterator(...) : Iterator [] : String | provenance | MaD:175 | +| Test.java:22:44:22:56 | iterator(...) : Iterator [] : String | Test.java:22:44:22:63 | next(...) : String | provenance | MaD:176 | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : ArrayList | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : ArrayList | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Boolean | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Boolean | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Boolean | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Boolean | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Bundle | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Bundle | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Bundle | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Bundle | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : CharSequence | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : CharSequence | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : CharSequence[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : CharSequence[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Intent | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Intent | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Intent | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Intent | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : IntentSender | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : IntentSender | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : IntentSender | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : IntentSender | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Parcelable | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Parcelable | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Parcelable | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Parcelable | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Parcelable[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Parcelable[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Parcelable[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Parcelable[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Serializable | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Serializable | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Serializable | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Serializable | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : boolean[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : boolean[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : boolean[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : boolean[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : byte[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : byte[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : byte[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : byte[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : char[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : char[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : char[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : char[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : double[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : double[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : double[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : double[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : float[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : float[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : float[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : float[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : int[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : int[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : int[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : int[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : long[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : long[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : long[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : long[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : short[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : short[] | provenance | | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : short[] | Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : short[] | provenance | | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : ArrayList | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : ArrayList | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Boolean | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Boolean | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Boolean | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Boolean | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Bundle | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Bundle | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Bundle | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Bundle | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : CharSequence | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : CharSequence | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : CharSequence[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : CharSequence[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : CharSequence[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : CharSequence[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Intent | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Intent | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Intent | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Intent | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : IntentSender | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : IntentSender | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : IntentSender | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : IntentSender | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Object | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Object | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Object | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Object | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Parcelable | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Parcelable | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Parcelable | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Parcelable | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Parcelable[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Parcelable[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Parcelable[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Parcelable[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Serializable | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Serializable | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Serializable | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Serializable | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : boolean[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : boolean[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : boolean[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : boolean[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : byte[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : byte[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : byte[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : byte[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : char[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : char[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : char[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : char[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : double[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : double[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : double[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : double[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : float[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : float[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : float[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : float[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : int[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : int[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : int[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : int[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : long[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : long[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : long[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : long[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : short[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : short[] | provenance | MaD:31 | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : short[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : short[] | provenance | MaD:31 | +| Test.java:24:19:24:30 | b : BaseBundle [] : String | Test.java:24:42:24:42 | b : BaseBundle [] : String | provenance | | +| Test.java:24:19:24:30 | b : Bundle [] : Object | Test.java:24:42:24:42 | b : Bundle [] : Object | provenance | | +| Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:42 | b : Bundle [] : String | provenance | | +| Test.java:24:42:24:42 | b : BaseBundle [] : String | Test.java:24:42:24:51 | keySet(...) : Set [] : String | provenance | MaD:98 | +| Test.java:24:42:24:42 | b : Bundle [] : Object | Test.java:24:42:24:51 | keySet(...) : Set [] : Object | provenance | MaD:98 | +| Test.java:24:42:24:42 | b : Bundle [] : String | Test.java:24:42:24:51 | keySet(...) : Set [] : String | provenance | MaD:98 | +| Test.java:24:42:24:51 | keySet(...) : Set [] : Object | Test.java:24:42:24:62 | iterator(...) : Iterator [] : Object | provenance | MaD:175 | +| Test.java:24:42:24:51 | keySet(...) : Set [] : String | Test.java:24:42:24:62 | iterator(...) : Iterator [] : String | provenance | MaD:175 | +| Test.java:24:42:24:51 | keySet(...) : Set [] : String | Test.java:24:42:24:62 | iterator(...) : Iterator [] : String | provenance | MaD:175 | +| Test.java:24:42:24:62 | iterator(...) : Iterator [] : Object | Test.java:24:42:24:69 | next(...) : String | provenance | MaD:176 | +| Test.java:24:42:24:62 | iterator(...) : Iterator [] : String | Test.java:24:42:24:69 | next(...) : String | provenance | MaD:176 | +| Test.java:24:42:24:62 | iterator(...) : Iterator [] : String | Test.java:24:42:24:69 | next(...) : String | provenance | MaD:176 | +| Test.java:27:28:27:35 | data : Uri | Test.java:27:67:27:70 | data : Uri | provenance | | +| Test.java:27:67:27:70 | data : Uri | Test.java:27:47:27:71 | new Intent(...) : Intent [android.content.Intent.data] : Uri | provenance | MaD:17 | +| Test.java:28:29:28:36 | k : String | Test.java:28:75:28:75 | k : String | provenance | | +| Test.java:28:66:28:66 | b [post update] : Bundle [] : String | Test.java:28:89:28:89 | b : Bundle [] : String | provenance | | +| Test.java:28:75:28:75 | k : String | Test.java:28:66:28:66 | b [post update] : Bundle [] : String | provenance | MaD:105 | +| Test.java:29:51:29:58 | k : String | Test.java:29:119:29:119 | k : String | provenance | | +| Test.java:29:110:29:110 | b [post update] : PersistableBundle [] : String | Test.java:29:133:29:133 | b : PersistableBundle [] : String | provenance | | +| Test.java:29:119:29:119 | k : String | Test.java:29:110:29:110 | b [post update] : PersistableBundle [] : String | provenance | MaD:105 | +| Test.java:32:14:32:26 | intent : Intent [android.content.Intent.data] : Uri | Test.java:32:38:32:43 | intent : Intent [android.content.Intent.data] : Uri | provenance | | +| Test.java:32:38:32:43 | intent : Intent [android.content.Intent.data] : Uri | Test.java:32:38:32:53 | getData(...) : Uri | provenance | MaD:29 | +| Test.java:41:16:41:74 | (...)... : Intent [android.content.Intent.extras, ] : String | Test.java:42:21:42:22 | in : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:41:24:41:74 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : String | Test.java:41:16:41:74 | (...)... : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:41:45:41:73 | newBundleWithMapKey(...) : Bundle [] : String | Test.java:41:24:41:74 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : String | provenance | MaD:180 | +| Test.java:41:65:41:72 | source(...) : String | Test.java:28:29:28:36 | k : String | provenance | | +| Test.java:41:65:41:72 | source(...) : String | Test.java:41:45:41:73 | newBundleWithMapKey(...) : Bundle [] : String | provenance | MaD:105 | +| Test.java:42:10:42:23 | new Intent(...) : Intent [android.content.Intent.extras, ] : String | Test.java:43:36:43:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:42:10:42:23 | new Intent(...) : Intent [android.content.Intent.extras, ] : String | Test.java:43:36:43:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:42:21:42:22 | in : Intent [android.content.Intent.extras, ] : String | Test.java:42:10:42:23 | new Intent(...) : Intent [android.content.Intent.extras, ] : String | provenance | MaD:15 | +| Test.java:42:21:42:22 | in : Intent [android.content.Intent.extras, ] : String | Test.java:42:10:42:23 | new Intent(...) : Intent [android.content.Intent.extras, ] : String | provenance | MaD:15 | +| Test.java:43:19:43:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:43:19:43:39 | getIntent_extras(...) : Bundle [] : String | Test.java:43:9:43:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:43:36:43:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:43:36:43:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:43:36:43:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:43:19:43:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:43:36:43:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:43:19:43:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:48:16:48:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | Test.java:49:21:49:22 | in : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:48:24:48:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:48:16:48:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:48:45:48:75 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:48:24:48:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:180 | +| Test.java:48:67:48:74 | source(...) : Object | Test.java:48:45:48:75 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:49:10:49:23 | new Intent(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:50:38:50:40 | out : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:49:10:49:23 | new Intent(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:50:38:50:40 | out : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:49:21:49:22 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:49:10:49:23 | new Intent(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:16 | +| Test.java:49:21:49:22 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:49:10:49:23 | new Intent(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:16 | +| Test.java:50:21:50:41 | getIntent_extras(...) : Bundle [] : Object | Test.java:50:9:50:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:50:38:50:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:50:38:50:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:50:38:50:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:50:21:50:41 | getIntent_extras(...) : Bundle [] : Object | provenance | MaD:31 | +| Test.java:50:38:50:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:50:21:50:41 | getIntent_extras(...) : Bundle [] : Object | provenance | MaD:31 | +| Test.java:55:13:55:25 | (...)... : Uri | Test.java:56:27:56:28 | in : Uri | provenance | | +| Test.java:55:18:55:25 | source(...) : Object | Test.java:55:13:55:25 | (...)... : Uri | provenance | | +| Test.java:56:10:56:29 | new Intent(...) : Intent [android.content.Intent.data] : Uri | Test.java:57:17:57:19 | out : Intent [android.content.Intent.data] : Uri | provenance | | +| Test.java:56:27:56:28 | in : Uri | Test.java:56:10:56:29 | new Intent(...) : Intent [android.content.Intent.data] : Uri | provenance | MaD:17 | +| Test.java:57:17:57:19 | out : Intent [android.content.Intent.data] : Uri | Test.java:32:14:32:26 | intent : Intent [android.content.Intent.data] : Uri | provenance | | +| Test.java:57:17:57:19 | out : Intent [android.content.Intent.data] : Uri | Test.java:57:9:57:20 | getData(...) | provenance | MaD:29 | +| Test.java:62:13:62:25 | (...)... : Uri | Test.java:63:27:63:28 | in : Uri | provenance | | +| Test.java:62:18:62:25 | source(...) : Object | Test.java:62:13:62:25 | (...)... : Uri | provenance | | +| Test.java:63:10:63:41 | new Intent(...) : Intent [android.content.Intent.data] : Uri | Test.java:64:17:64:19 | out : Intent [android.content.Intent.data] : Uri | provenance | | +| Test.java:63:27:63:28 | in : Uri | Test.java:63:10:63:41 | new Intent(...) : Intent [android.content.Intent.data] : Uri | provenance | MaD:18 | +| Test.java:64:17:64:19 | out : Intent [android.content.Intent.data] : Uri | Test.java:32:14:32:26 | intent : Intent [android.content.Intent.data] : Uri | provenance | | +| Test.java:64:17:64:19 | out : Intent [android.content.Intent.data] : Uri | Test.java:64:9:64:20 | getData(...) | provenance | MaD:29 | +| Test.java:69:16:69:31 | (...)... : Intent | Test.java:70:10:70:11 | in : Intent | provenance | | +| Test.java:69:24:69:31 | source(...) : Object | Test.java:69:16:69:31 | (...)... : Intent | provenance | | +| Test.java:70:10:70:11 | in : Intent | Test.java:70:10:70:29 | addCategory(...) : Intent | provenance | MaD:20 | +| Test.java:70:10:70:29 | addCategory(...) : Intent | Test.java:71:9:71:11 | out | provenance | | +| Test.java:76:16:76:31 | (...)... : Intent | Test.java:77:10:77:11 | in : Intent | provenance | | +| Test.java:76:24:76:31 | source(...) : Object | Test.java:76:16:76:31 | (...)... : Intent | provenance | | +| Test.java:77:10:77:11 | in : Intent | Test.java:77:10:77:23 | addFlags(...) : Intent | provenance | MaD:21 | +| Test.java:77:10:77:23 | addFlags(...) : Intent | Test.java:78:9:78:11 | out | provenance | | +| Test.java:83:22:83:43 | (...)... : CharSequence | Test.java:84:37:84:38 | in : CharSequence | provenance | | +| Test.java:83:36:83:43 | source(...) : Object | Test.java:83:22:83:43 | (...)... : CharSequence | provenance | | +| Test.java:84:10:84:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:85:38:85:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | provenance | | +| Test.java:84:10:84:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:85:38:85:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | provenance | | +| Test.java:84:37:84:38 | in : CharSequence | Test.java:84:10:84:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : CharSequence | provenance | MaD:22 | +| Test.java:84:37:84:38 | in : CharSequence | Test.java:84:10:84:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : CharSequence | provenance | MaD:22 | +| Test.java:85:21:85:41 | getIntent_extras(...) : Bundle [] : CharSequence | Test.java:85:9:85:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:85:38:85:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence | provenance | | +| Test.java:85:38:85:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence | provenance | | +| Test.java:85:38:85:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:85:21:85:41 | getIntent_extras(...) : Bundle [] : CharSequence | provenance | MaD:31 | +| Test.java:85:38:85:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:85:21:85:41 | getIntent_extras(...) : Bundle [] : CharSequence | provenance | MaD:31 | +| Test.java:90:22:90:43 | (...)... : IntentSender | Test.java:91:43:91:44 | in : IntentSender | provenance | | +| Test.java:90:36:90:43 | source(...) : Object | Test.java:90:22:90:43 | (...)... : IntentSender | provenance | | +| Test.java:91:10:91:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : IntentSender | Test.java:92:38:92:40 | out : Intent [android.content.Intent.extras, ] : IntentSender | provenance | | +| Test.java:91:10:91:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : IntentSender | Test.java:92:38:92:40 | out : Intent [android.content.Intent.extras, ] : IntentSender | provenance | | +| Test.java:91:43:91:44 | in : IntentSender | Test.java:91:10:91:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : IntentSender | provenance | MaD:22 | +| Test.java:91:43:91:44 | in : IntentSender | Test.java:91:10:91:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : IntentSender | provenance | MaD:22 | +| Test.java:92:21:92:41 | getIntent_extras(...) : Bundle [] : IntentSender | Test.java:92:9:92:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:92:38:92:40 | out : Intent [android.content.Intent.extras, ] : IntentSender | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : IntentSender | provenance | | +| Test.java:92:38:92:40 | out : Intent [android.content.Intent.extras, ] : IntentSender | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : IntentSender | provenance | | +| Test.java:92:38:92:40 | out : Intent [android.content.Intent.extras, ] : IntentSender | Test.java:92:21:92:41 | getIntent_extras(...) : Bundle [] : IntentSender | provenance | MaD:31 | +| Test.java:92:38:92:40 | out : Intent [android.content.Intent.extras, ] : IntentSender | Test.java:92:21:92:41 | getIntent_extras(...) : Bundle [] : IntentSender | provenance | MaD:31 | +| Test.java:97:16:97:31 | (...)... : Intent | Test.java:98:31:98:32 | in : Intent | provenance | | +| Test.java:97:24:97:31 | source(...) : Object | Test.java:97:16:97:31 | (...)... : Intent | provenance | | +| Test.java:98:10:98:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : Intent | Test.java:99:38:99:40 | out : Intent [android.content.Intent.extras, ] : Intent | provenance | | +| Test.java:98:10:98:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : Intent | Test.java:99:38:99:40 | out : Intent [android.content.Intent.extras, ] : Intent | provenance | | +| Test.java:98:31:98:32 | in : Intent | Test.java:98:10:98:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : Intent | provenance | MaD:22 | +| Test.java:98:31:98:32 | in : Intent | Test.java:98:10:98:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : Intent | provenance | MaD:22 | +| Test.java:99:21:99:41 | getIntent_extras(...) : Bundle [] : Intent | Test.java:99:9:99:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:99:38:99:40 | out : Intent [android.content.Intent.extras, ] : Intent | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Intent | provenance | | +| Test.java:99:38:99:40 | out : Intent [android.content.Intent.extras, ] : Intent | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Intent | provenance | | +| Test.java:99:38:99:40 | out : Intent [android.content.Intent.extras, ] : Intent | Test.java:99:21:99:41 | getIntent_extras(...) : Bundle [] : Intent | provenance | MaD:31 | +| Test.java:99:38:99:40 | out : Intent [android.content.Intent.extras, ] : Intent | Test.java:99:21:99:41 | getIntent_extras(...) : Bundle [] : Intent | provenance | MaD:31 | +| Test.java:104:16:104:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | Test.java:105:10:105:11 | in : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:104:24:104:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:104:16:104:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:104:45:104:75 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:104:24:104:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:180 | +| Test.java:104:67:104:74 | source(...) : Object | Test.java:104:45:104:75 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:105:10:105:11 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:105:10:105:32 | getBundleExtra(...) : Bundle | provenance | MaD:23 | +| Test.java:105:10:105:32 | getBundleExtra(...) : Bundle | Test.java:106:9:106:11 | out | provenance | | +| Test.java:111:16:111:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | Test.java:112:10:112:11 | in : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:111:24:111:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:111:16:111:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:111:45:111:75 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:111:24:111:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:180 | +| Test.java:111:67:111:74 | source(...) : Object | Test.java:111:45:111:75 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:112:10:112:11 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:112:10:112:35 | getByteArrayExtra(...) : byte[] | provenance | MaD:24 | +| Test.java:112:10:112:35 | getByteArrayExtra(...) : byte[] | Test.java:113:9:113:11 | out | provenance | | +| Test.java:118:16:118:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | Test.java:119:10:119:11 | in : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:118:24:118:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:118:16:118:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:118:45:118:75 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:118:24:118:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:180 | +| Test.java:118:67:118:74 | source(...) : Object | Test.java:118:45:118:75 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:119:10:119:11 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:119:10:119:35 | getCharArrayExtra(...) : char[] | provenance | MaD:25 | +| Test.java:119:10:119:35 | getCharArrayExtra(...) : char[] | Test.java:120:9:120:11 | out | provenance | | +| Test.java:125:16:125:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | Test.java:126:10:126:11 | in : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:125:24:125:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:125:16:125:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:125:45:125:75 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:125:24:125:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:180 | +| Test.java:125:67:125:74 | source(...) : Object | Test.java:125:45:125:75 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:126:10:126:11 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:126:10:126:43 | getCharSequenceArrayExtra(...) : CharSequence[] | provenance | MaD:26 | +| Test.java:126:10:126:43 | getCharSequenceArrayExtra(...) : CharSequence[] | Test.java:127:9:127:11 | out | provenance | | +| Test.java:132:16:132:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | Test.java:133:10:133:11 | in : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:132:24:132:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:132:16:132:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:132:45:132:75 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:132:24:132:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:180 | +| Test.java:132:67:132:74 | source(...) : Object | Test.java:132:45:132:75 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:133:10:133:11 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:133:10:133:47 | getCharSequenceArrayListExtra(...) : ArrayList | provenance | MaD:27 | +| Test.java:133:10:133:47 | getCharSequenceArrayListExtra(...) : ArrayList | Test.java:134:9:134:11 | out | provenance | | +| Test.java:139:16:139:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | Test.java:140:10:140:11 | in : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:139:24:139:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:139:16:139:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:139:45:139:75 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:139:24:139:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:180 | +| Test.java:139:67:139:74 | source(...) : Object | Test.java:139:45:139:75 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:140:10:140:11 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:140:10:140:38 | getCharSequenceExtra(...) : CharSequence | provenance | MaD:28 | +| Test.java:140:10:140:38 | getCharSequenceExtra(...) : CharSequence | Test.java:141:9:141:11 | out | provenance | | +| Test.java:146:16:146:51 | (...)... : Intent [android.content.Intent.data] : Uri | Test.java:147:10:147:11 | in : Intent [android.content.Intent.data] : Uri | provenance | | +| Test.java:146:24:146:51 | newWithIntent_data(...) : Intent [android.content.Intent.data] : Uri | Test.java:146:16:146:51 | (...)... : Intent [android.content.Intent.data] : Uri | provenance | | +| Test.java:146:43:146:50 | source(...) : Uri | Test.java:27:28:27:35 | data : Uri | provenance | | +| Test.java:146:43:146:50 | source(...) : Uri | Test.java:146:24:146:51 | newWithIntent_data(...) : Intent [android.content.Intent.data] : Uri | provenance | MaD:17 | +| Test.java:147:10:147:11 | in : Intent [android.content.Intent.data] : Uri | Test.java:147:10:147:21 | getData(...) : Uri | provenance | MaD:29 | +| Test.java:147:10:147:21 | getData(...) : Uri | Test.java:148:9:148:11 | out | provenance | | +| Test.java:153:16:153:51 | (...)... : Intent [android.content.Intent.data] : Uri | Test.java:154:10:154:11 | in : Intent [android.content.Intent.data] : Uri | provenance | | +| Test.java:153:24:153:51 | newWithIntent_data(...) : Intent [android.content.Intent.data] : Uri | Test.java:153:16:153:51 | (...)... : Intent [android.content.Intent.data] : Uri | provenance | | +| Test.java:153:43:153:50 | source(...) : Uri | Test.java:27:28:27:35 | data : Uri | provenance | | +| Test.java:153:43:153:50 | source(...) : Uri | Test.java:153:24:153:51 | newWithIntent_data(...) : Intent [android.content.Intent.data] : Uri | provenance | MaD:17 | +| Test.java:154:10:154:11 | in : Intent [android.content.Intent.data] : Uri | Test.java:154:10:154:27 | getDataString(...) : String | provenance | MaD:30 | +| Test.java:154:10:154:27 | getDataString(...) : String | Test.java:155:9:155:11 | out | provenance | | +| Test.java:160:16:160:53 | (...)... : Intent [android.content.Intent.extras] : Bundle | Test.java:161:10:161:11 | in : Intent [android.content.Intent.extras] : Bundle | provenance | | +| Test.java:160:24:160:53 | newWithIntent_extras(...) : Intent [android.content.Intent.extras] : Bundle | Test.java:160:16:160:53 | (...)... : Intent [android.content.Intent.extras] : Bundle | provenance | | +| Test.java:160:45:160:52 | source(...) : Bundle | Test.java:160:24:160:53 | newWithIntent_extras(...) : Intent [android.content.Intent.extras] : Bundle | provenance | MaD:180 | +| Test.java:161:10:161:11 | in : Intent [android.content.Intent.extras] : Bundle | Test.java:161:10:161:23 | getExtras(...) : Bundle | provenance | MaD:31 | +| Test.java:161:10:161:23 | getExtras(...) : Bundle | Test.java:162:9:162:11 | out | provenance | | +| Test.java:167:16:167:31 | (...)... : String | Test.java:168:27:168:28 | in : String | provenance | | +| Test.java:167:24:167:31 | source(...) : Object | Test.java:167:16:167:31 | (...)... : String | provenance | | +| Test.java:168:10:168:29 | getIntent(...) : Intent | Test.java:169:9:169:11 | out : Intent | provenance | | +| Test.java:168:10:168:29 | getIntent(...) : Intent [android.content.Intent.data] : Object | Test.java:169:9:169:11 | out : Intent [android.content.Intent.data] : Object | provenance | | +| Test.java:168:27:168:28 | in : String | Test.java:168:10:168:29 | getIntent(...) : Intent | provenance | MaD:33 | +| Test.java:168:27:168:28 | in : String | Test.java:168:10:168:29 | getIntent(...) : Intent [android.content.Intent.data] : Object | provenance | MaD:32 | +| Test.java:169:9:169:11 | out : Intent | Test.java:169:9:169:21 | getData(...) | provenance | MaD:29 | +| Test.java:169:9:169:11 | out : Intent [android.content.Intent.data] : Object | Test.java:169:9:169:21 | getData(...) | provenance | MaD:29 | +| Test.java:174:16:174:31 | (...)... : String | Test.java:175:30:175:31 | in : String | provenance | | +| Test.java:174:24:174:31 | source(...) : Object | Test.java:174:16:174:31 | (...)... : String | provenance | | +| Test.java:175:10:175:32 | getIntentOld(...) : Intent | Test.java:176:9:176:11 | out : Intent | provenance | | +| Test.java:175:10:175:32 | getIntentOld(...) : Intent [android.content.Intent.data] : Object | Test.java:176:9:176:11 | out : Intent [android.content.Intent.data] : Object | provenance | | +| Test.java:175:30:175:31 | in : String | Test.java:175:10:175:32 | getIntentOld(...) : Intent | provenance | MaD:35 | +| Test.java:175:30:175:31 | in : String | Test.java:175:10:175:32 | getIntentOld(...) : Intent [android.content.Intent.data] : Object | provenance | MaD:34 | +| Test.java:176:9:176:11 | out : Intent | Test.java:176:9:176:21 | getData(...) | provenance | MaD:29 | +| Test.java:176:9:176:11 | out : Intent [android.content.Intent.data] : Object | Test.java:176:9:176:21 | getData(...) | provenance | MaD:29 | +| Test.java:181:16:181:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | Test.java:182:10:182:11 | in : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:181:24:181:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:181:16:181:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:181:45:181:75 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:181:24:181:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:180 | +| Test.java:181:67:181:74 | source(...) : Object | Test.java:181:45:181:75 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:182:10:182:11 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:182:10:182:41 | getParcelableArrayExtra(...) : Parcelable[] | provenance | MaD:36 | +| Test.java:182:10:182:41 | getParcelableArrayExtra(...) : Parcelable[] | Test.java:183:9:183:11 | out | provenance | | +| Test.java:188:16:188:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | Test.java:189:10:189:11 | in : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:188:24:188:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:188:16:188:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:188:45:188:75 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:188:24:188:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:180 | +| Test.java:188:67:188:74 | source(...) : Object | Test.java:188:45:188:75 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:189:10:189:11 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:189:10:189:45 | getParcelableArrayListExtra(...) : ArrayList | provenance | MaD:37 | +| Test.java:189:10:189:45 | getParcelableArrayListExtra(...) : ArrayList | Test.java:190:9:190:11 | out | provenance | | +| Test.java:195:16:195:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | Test.java:196:10:196:11 | in : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:195:24:195:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:195:16:195:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:195:45:195:75 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:195:24:195:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:180 | +| Test.java:195:67:195:74 | source(...) : Object | Test.java:195:45:195:75 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:196:10:196:11 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:196:10:196:36 | getParcelableExtra(...) : Parcelable | provenance | MaD:38 | +| Test.java:196:10:196:36 | getParcelableExtra(...) : Parcelable | Test.java:197:9:197:11 | out | provenance | | +| Test.java:202:16:202:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | Test.java:203:10:203:11 | in : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:202:24:202:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:202:16:202:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:202:45:202:75 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:202:24:202:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:180 | +| Test.java:202:67:202:74 | source(...) : Object | Test.java:202:45:202:75 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:203:10:203:11 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:203:10:203:38 | getSerializableExtra(...) : Serializable | provenance | MaD:39 | +| Test.java:203:10:203:38 | getSerializableExtra(...) : Serializable | Test.java:204:9:204:11 | out | provenance | | +| Test.java:209:16:209:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | Test.java:210:10:210:11 | in : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:209:24:209:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:209:16:209:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:209:45:209:75 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:209:24:209:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:180 | +| Test.java:209:67:209:74 | source(...) : Object | Test.java:209:45:209:75 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:210:10:210:11 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:210:10:210:37 | getStringArrayExtra(...) : String[] | provenance | MaD:40 | +| Test.java:210:10:210:37 | getStringArrayExtra(...) : String[] | Test.java:211:9:211:11 | out | provenance | | +| Test.java:216:16:216:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | Test.java:217:10:217:11 | in : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:216:24:216:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:216:16:216:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:216:45:216:75 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:216:24:216:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:180 | +| Test.java:216:67:216:74 | source(...) : Object | Test.java:216:45:216:75 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:217:10:217:11 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:217:10:217:41 | getStringArrayListExtra(...) : ArrayList | provenance | MaD:41 | +| Test.java:217:10:217:41 | getStringArrayListExtra(...) : ArrayList | Test.java:218:9:218:11 | out | provenance | | +| Test.java:223:16:223:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | Test.java:224:10:224:11 | in : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:223:24:223:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:223:16:223:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:223:45:223:75 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:223:24:223:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:180 | +| Test.java:223:67:223:74 | source(...) : Object | Test.java:223:45:223:75 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:224:10:224:11 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:224:10:224:32 | getStringExtra(...) : String | provenance | MaD:42 | +| Test.java:224:10:224:32 | getStringExtra(...) : String | Test.java:225:9:225:11 | out | provenance | | +| Test.java:230:16:230:31 | (...)... : String | Test.java:231:26:231:27 | in : String | provenance | | +| Test.java:230:24:230:31 | source(...) : Object | Test.java:230:16:230:31 | (...)... : String | provenance | | +| Test.java:231:10:231:31 | parseUri(...) : Intent | Test.java:232:9:232:11 | out : Intent | provenance | | +| Test.java:231:10:231:31 | parseUri(...) : Intent [android.content.Intent.data] : Object | Test.java:232:9:232:11 | out : Intent [android.content.Intent.data] : Object | provenance | | +| Test.java:231:26:231:27 | in : String | Test.java:231:10:231:31 | parseUri(...) : Intent | provenance | MaD:44 | +| Test.java:231:26:231:27 | in : String | Test.java:231:10:231:31 | parseUri(...) : Intent [android.content.Intent.data] : Object | provenance | MaD:43 | +| Test.java:232:9:232:11 | out : Intent | Test.java:232:9:232:21 | getData(...) | provenance | MaD:29 | +| Test.java:232:9:232:11 | out : Intent [android.content.Intent.data] : Object | Test.java:232:9:232:21 | getData(...) | provenance | MaD:29 | +| Test.java:237:16:237:31 | (...)... : Intent | Test.java:238:10:238:11 | in : Intent | provenance | | +| Test.java:237:24:237:31 | source(...) : Object | Test.java:237:16:237:31 | (...)... : Intent | provenance | | +| Test.java:238:10:238:11 | in : Intent | Test.java:238:10:238:53 | putCharSequenceArrayListExtra(...) : Intent | provenance | MaD:45 | +| Test.java:238:10:238:53 | putCharSequenceArrayListExtra(...) : Intent | Test.java:239:9:239:11 | out | provenance | | +| Test.java:244:16:244:31 | (...)... : String | Test.java:245:38:245:39 | in : String | provenance | | +| Test.java:244:24:244:31 | source(...) : Object | Test.java:244:16:244:31 | (...)... : String | provenance | | +| Test.java:245:4:245:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:246:36:246:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:245:4:245:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:246:36:246:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:245:38:245:39 | in : String | Test.java:245:4:245:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:46 | +| Test.java:245:38:245:39 | in : String | Test.java:245:4:245:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:46 | +| Test.java:246:19:246:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:246:19:246:39 | getIntent_extras(...) : Bundle [] : String | Test.java:246:9:246:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:246:36:246:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:246:36:246:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:246:36:246:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:246:19:246:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:246:36:246:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:246:19:246:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:251:19:251:37 | (...)... : ArrayList | Test.java:252:44:252:45 | in : ArrayList | provenance | | +| Test.java:251:30:251:37 | source(...) : Object | Test.java:251:19:251:37 | (...)... : ArrayList | provenance | | +| Test.java:252:4:252:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:253:38:253:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | provenance | | +| Test.java:252:4:252:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:253:38:253:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | provenance | | +| Test.java:252:44:252:45 | in : ArrayList | Test.java:252:4:252:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | provenance | MaD:47 | +| Test.java:252:44:252:45 | in : ArrayList | Test.java:252:4:252:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | provenance | MaD:47 | +| Test.java:253:21:253:41 | getIntent_extras(...) : Bundle [] : ArrayList | Test.java:253:9:253:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:253:38:253:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : ArrayList | provenance | | +| Test.java:253:38:253:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : ArrayList | provenance | | +| Test.java:253:38:253:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:253:21:253:41 | getIntent_extras(...) : Bundle [] : ArrayList | provenance | MaD:31 | +| Test.java:253:38:253:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:253:21:253:41 | getIntent_extras(...) : Bundle [] : ArrayList | provenance | MaD:31 | +| Test.java:258:16:258:31 | (...)... : Intent | Test.java:259:10:259:11 | in : Intent | provenance | | +| Test.java:258:24:258:31 | source(...) : Object | Test.java:258:16:258:31 | (...)... : Intent | provenance | | +| Test.java:259:10:259:11 | in : Intent | Test.java:259:10:259:41 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:259:10:259:41 | putExtra(...) : Intent | Test.java:260:9:260:11 | out | provenance | | +| Test.java:265:16:265:31 | (...)... : Intent | Test.java:266:10:266:11 | in : Intent | provenance | | +| Test.java:265:24:265:31 | source(...) : Object | Test.java:265:16:265:31 | (...)... : Intent | provenance | | +| Test.java:266:10:266:11 | in : Intent | Test.java:266:10:266:38 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:266:10:266:38 | putExtra(...) : Intent | Test.java:267:9:267:11 | out | provenance | | +| Test.java:272:16:272:31 | (...)... : Intent | Test.java:273:10:273:11 | in : Intent | provenance | | +| Test.java:272:24:272:31 | source(...) : Object | Test.java:272:16:272:31 | (...)... : Intent | provenance | | +| Test.java:273:10:273:11 | in : Intent | Test.java:273:10:273:40 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:273:10:273:40 | putExtra(...) : Intent | Test.java:274:9:274:11 | out | provenance | | +| Test.java:279:16:279:31 | (...)... : Intent | Test.java:280:10:280:11 | in : Intent | provenance | | +| Test.java:279:24:279:31 | source(...) : Object | Test.java:279:16:279:31 | (...)... : Intent | provenance | | +| Test.java:280:10:280:11 | in : Intent | Test.java:280:10:280:39 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:280:10:280:39 | putExtra(...) : Intent | Test.java:281:9:281:11 | out | provenance | | +| Test.java:286:16:286:31 | (...)... : Intent | Test.java:287:10:287:11 | in : Intent | provenance | | +| Test.java:286:24:286:31 | source(...) : Object | Test.java:286:16:286:31 | (...)... : Intent | provenance | | +| Test.java:287:10:287:11 | in : Intent | Test.java:287:10:287:37 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:287:10:287:37 | putExtra(...) : Intent | Test.java:288:9:288:11 | out | provenance | | +| Test.java:293:16:293:31 | (...)... : Intent | Test.java:294:10:294:11 | in : Intent | provenance | | +| Test.java:293:24:293:31 | source(...) : Object | Test.java:293:16:293:31 | (...)... : Intent | provenance | | +| Test.java:294:10:294:11 | in : Intent | Test.java:294:10:294:49 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:294:10:294:49 | putExtra(...) : Intent | Test.java:295:9:295:11 | out | provenance | | +| Test.java:300:16:300:31 | (...)... : Intent | Test.java:301:10:301:11 | in : Intent | provenance | | +| Test.java:300:24:300:31 | source(...) : Object | Test.java:300:16:300:31 | (...)... : Intent | provenance | | +| Test.java:301:10:301:11 | in : Intent | Test.java:301:10:301:44 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:301:10:301:44 | putExtra(...) : Intent | Test.java:302:9:302:11 | out | provenance | | +| Test.java:307:16:307:31 | (...)... : Intent | Test.java:308:10:308:11 | in : Intent | provenance | | +| Test.java:307:24:307:31 | source(...) : Object | Test.java:307:16:307:31 | (...)... : Intent | provenance | | +| Test.java:308:10:308:11 | in : Intent | Test.java:308:10:308:48 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:308:10:308:48 | putExtra(...) : Intent | Test.java:309:9:309:11 | out | provenance | | +| Test.java:314:16:314:31 | (...)... : Intent | Test.java:315:10:315:11 | in : Intent | provenance | | +| Test.java:314:24:314:31 | source(...) : Object | Test.java:314:16:314:31 | (...)... : Intent | provenance | | +| Test.java:315:10:315:11 | in : Intent | Test.java:315:10:315:47 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:315:10:315:47 | putExtra(...) : Intent | Test.java:316:9:316:11 | out | provenance | | +| Test.java:321:16:321:31 | (...)... : Intent | Test.java:322:10:322:11 | in : Intent | provenance | | +| Test.java:321:24:321:31 | source(...) : Object | Test.java:321:16:321:31 | (...)... : Intent | provenance | | +| Test.java:322:10:322:11 | in : Intent | Test.java:322:10:322:49 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:322:10:322:49 | putExtra(...) : Intent | Test.java:323:9:323:11 | out | provenance | | +| Test.java:328:16:328:31 | (...)... : Intent | Test.java:329:10:329:11 | in : Intent | provenance | | +| Test.java:328:24:328:31 | source(...) : Object | Test.java:328:16:328:31 | (...)... : Intent | provenance | | +| Test.java:329:10:329:11 | in : Intent | Test.java:329:10:329:50 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:329:10:329:50 | putExtra(...) : Intent | Test.java:330:9:330:11 | out | provenance | | +| Test.java:335:16:335:31 | (...)... : Intent | Test.java:336:10:336:11 | in : Intent | provenance | | +| Test.java:335:24:335:31 | source(...) : Object | Test.java:335:16:335:31 | (...)... : Intent | provenance | | +| Test.java:336:10:336:11 | in : Intent | Test.java:336:10:336:48 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:336:10:336:48 | putExtra(...) : Intent | Test.java:337:9:337:11 | out | provenance | | +| Test.java:342:16:342:31 | (...)... : Intent | Test.java:343:10:343:11 | in : Intent | provenance | | +| Test.java:342:24:342:31 | source(...) : Object | Test.java:342:16:342:31 | (...)... : Intent | provenance | | +| Test.java:343:10:343:11 | in : Intent | Test.java:343:10:343:48 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:343:10:343:48 | putExtra(...) : Intent | Test.java:344:9:344:11 | out | provenance | | +| Test.java:349:16:349:31 | (...)... : Intent | Test.java:350:10:350:11 | in : Intent | provenance | | +| Test.java:349:24:349:31 | source(...) : Object | Test.java:349:16:349:31 | (...)... : Intent | provenance | | +| Test.java:350:10:350:11 | in : Intent | Test.java:350:10:350:43 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:350:10:350:43 | putExtra(...) : Intent | Test.java:351:9:351:11 | out | provenance | | +| Test.java:356:16:356:31 | (...)... : Intent | Test.java:357:10:357:11 | in : Intent | provenance | | +| Test.java:356:24:356:31 | source(...) : Object | Test.java:356:16:356:31 | (...)... : Intent | provenance | | +| Test.java:357:10:357:11 | in : Intent | Test.java:357:10:357:51 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:357:10:357:51 | putExtra(...) : Intent | Test.java:358:9:358:11 | out | provenance | | +| Test.java:363:16:363:31 | (...)... : Intent | Test.java:364:10:364:11 | in : Intent | provenance | | +| Test.java:363:24:363:31 | source(...) : Object | Test.java:363:16:363:31 | (...)... : Intent | provenance | | +| Test.java:364:10:364:11 | in : Intent | Test.java:364:10:364:50 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:364:10:364:50 | putExtra(...) : Intent | Test.java:365:9:365:11 | out | provenance | | +| Test.java:370:16:370:31 | (...)... : Intent | Test.java:371:10:371:11 | in : Intent | provenance | | +| Test.java:370:24:370:31 | source(...) : Object | Test.java:370:16:370:31 | (...)... : Intent | provenance | | +| Test.java:371:10:371:11 | in : Intent | Test.java:371:10:371:48 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:371:10:371:48 | putExtra(...) : Intent | Test.java:372:9:372:11 | out | provenance | | +| Test.java:377:16:377:31 | (...)... : Intent | Test.java:378:10:378:11 | in : Intent | provenance | | +| Test.java:377:24:377:31 | source(...) : Object | Test.java:377:16:377:31 | (...)... : Intent | provenance | | +| Test.java:378:10:378:11 | in : Intent | Test.java:378:10:378:54 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:378:10:378:54 | putExtra(...) : Intent | Test.java:379:9:379:11 | out | provenance | | +| Test.java:384:16:384:31 | (...)... : Intent | Test.java:385:10:385:11 | in : Intent | provenance | | +| Test.java:384:24:384:31 | source(...) : Object | Test.java:384:16:384:31 | (...)... : Intent | provenance | | +| Test.java:385:10:385:11 | in : Intent | Test.java:385:10:385:54 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:385:10:385:54 | putExtra(...) : Intent | Test.java:386:9:386:11 | out | provenance | | +| Test.java:391:16:391:31 | (...)... : Intent | Test.java:392:10:392:11 | in : Intent | provenance | | +| Test.java:391:24:391:31 | source(...) : Object | Test.java:391:16:391:31 | (...)... : Intent | provenance | | +| Test.java:392:10:392:11 | in : Intent | Test.java:392:10:392:52 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:392:10:392:52 | putExtra(...) : Intent | Test.java:393:9:393:11 | out | provenance | | +| Test.java:398:16:398:31 | (...)... : Intent | Test.java:399:10:399:11 | in : Intent | provenance | | +| Test.java:398:24:398:31 | source(...) : Object | Test.java:398:16:398:31 | (...)... : Intent | provenance | | +| Test.java:399:10:399:11 | in : Intent | Test.java:399:10:399:56 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:399:10:399:56 | putExtra(...) : Intent | Test.java:400:9:400:11 | out | provenance | | +| Test.java:405:16:405:31 | (...)... : Intent | Test.java:406:10:406:11 | in : Intent | provenance | | +| Test.java:405:24:405:31 | source(...) : Object | Test.java:405:16:405:31 | (...)... : Intent | provenance | | +| Test.java:406:10:406:11 | in : Intent | Test.java:406:10:406:54 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:406:10:406:54 | putExtra(...) : Intent | Test.java:407:9:407:11 | out | provenance | | +| Test.java:412:16:412:31 | (...)... : Intent | Test.java:413:10:413:11 | in : Intent | provenance | | +| Test.java:412:24:412:31 | source(...) : Object | Test.java:412:16:412:31 | (...)... : Intent | provenance | | +| Test.java:413:10:413:11 | in : Intent | Test.java:413:10:413:48 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:413:10:413:48 | putExtra(...) : Intent | Test.java:414:9:414:11 | out | provenance | | +| Test.java:419:16:419:31 | (...)... : Intent | Test.java:420:10:420:11 | in : Intent | provenance | | +| Test.java:419:24:419:31 | source(...) : Object | Test.java:419:16:419:31 | (...)... : Intent | provenance | | +| Test.java:420:10:420:11 | in : Intent | Test.java:420:10:420:40 | putExtra(...) : Intent | provenance | MaD:48 | +| Test.java:420:10:420:40 | putExtra(...) : Intent | Test.java:421:9:421:11 | out | provenance | | +| Test.java:426:16:426:31 | (...)... : String | Test.java:427:17:427:18 | in : String | provenance | | +| Test.java:426:24:426:31 | source(...) : Object | Test.java:426:16:426:31 | (...)... : String | provenance | | +| Test.java:427:4:427:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:428:36:428:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:427:4:427:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:428:36:428:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:427:17:427:18 | in : String | Test.java:427:4:427:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:427:17:427:18 | in : String | Test.java:427:4:427:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:428:19:428:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:428:19:428:39 | getIntent_extras(...) : Bundle [] : String | Test.java:428:9:428:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:428:36:428:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:428:36:428:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:428:36:428:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:428:19:428:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:428:36:428:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:428:19:428:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:433:16:433:31 | (...)... : String | Test.java:434:17:434:18 | in : String | provenance | | +| Test.java:433:24:433:31 | source(...) : Object | Test.java:433:16:433:31 | (...)... : String | provenance | | +| Test.java:434:4:434:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:435:36:435:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:434:4:434:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:435:36:435:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:434:17:434:18 | in : String | Test.java:434:4:434:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:434:17:434:18 | in : String | Test.java:434:4:434:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:435:19:435:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:435:19:435:39 | getIntent_extras(...) : Bundle [] : String | Test.java:435:9:435:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:435:36:435:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:435:36:435:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:435:36:435:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:435:19:435:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:435:36:435:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:435:19:435:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:440:16:440:31 | (...)... : String | Test.java:441:17:441:18 | in : String | provenance | | +| Test.java:440:24:440:31 | source(...) : Object | Test.java:440:16:440:31 | (...)... : String | provenance | | +| Test.java:441:4:441:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:442:36:442:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:441:4:441:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:442:36:442:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:441:17:441:18 | in : String | Test.java:441:4:441:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:441:17:441:18 | in : String | Test.java:441:4:441:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:442:19:442:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:442:19:442:39 | getIntent_extras(...) : Bundle [] : String | Test.java:442:9:442:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:442:36:442:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:442:36:442:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:442:36:442:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:442:19:442:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:442:36:442:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:442:19:442:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:447:16:447:31 | (...)... : String | Test.java:448:17:448:18 | in : String | provenance | | +| Test.java:447:24:447:31 | source(...) : Object | Test.java:447:16:447:31 | (...)... : String | provenance | | +| Test.java:448:4:448:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:449:36:449:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:448:4:448:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:449:36:449:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:448:17:448:18 | in : String | Test.java:448:4:448:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:448:17:448:18 | in : String | Test.java:448:4:448:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:449:19:449:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:449:19:449:39 | getIntent_extras(...) : Bundle [] : String | Test.java:449:9:449:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:449:36:449:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:449:36:449:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:449:36:449:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:449:19:449:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:449:36:449:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:449:19:449:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:454:16:454:31 | (...)... : String | Test.java:455:17:455:18 | in : String | provenance | | +| Test.java:454:24:454:31 | source(...) : Object | Test.java:454:16:454:31 | (...)... : String | provenance | | +| Test.java:455:4:455:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:456:36:456:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:455:4:455:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:456:36:456:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:455:17:455:18 | in : String | Test.java:455:4:455:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:455:17:455:18 | in : String | Test.java:455:4:455:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:456:19:456:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:456:19:456:39 | getIntent_extras(...) : Bundle [] : String | Test.java:456:9:456:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:456:36:456:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:456:36:456:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:456:36:456:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:456:19:456:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:456:36:456:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:456:19:456:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:461:16:461:31 | (...)... : String | Test.java:462:17:462:18 | in : String | provenance | | +| Test.java:461:24:461:31 | source(...) : Object | Test.java:461:16:461:31 | (...)... : String | provenance | | +| Test.java:462:4:462:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:463:36:463:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:462:4:462:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:463:36:463:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:462:17:462:18 | in : String | Test.java:462:4:462:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:462:17:462:18 | in : String | Test.java:462:4:462:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:463:19:463:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:463:19:463:39 | getIntent_extras(...) : Bundle [] : String | Test.java:463:9:463:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:463:36:463:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:463:36:463:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:463:36:463:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:463:19:463:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:463:36:463:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:463:19:463:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:468:16:468:31 | (...)... : String | Test.java:469:17:469:18 | in : String | provenance | | +| Test.java:468:24:468:31 | source(...) : Object | Test.java:468:16:468:31 | (...)... : String | provenance | | +| Test.java:469:4:469:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:470:36:470:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:469:4:469:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:470:36:470:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:469:17:469:18 | in : String | Test.java:469:4:469:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:469:17:469:18 | in : String | Test.java:469:4:469:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:470:19:470:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:470:19:470:39 | getIntent_extras(...) : Bundle [] : String | Test.java:470:9:470:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:470:36:470:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:470:36:470:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:470:36:470:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:470:19:470:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:470:36:470:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:470:19:470:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:475:16:475:31 | (...)... : String | Test.java:476:17:476:18 | in : String | provenance | | +| Test.java:475:24:475:31 | source(...) : Object | Test.java:475:16:475:31 | (...)... : String | provenance | | +| Test.java:476:4:476:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:477:36:477:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:476:4:476:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:477:36:477:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:476:17:476:18 | in : String | Test.java:476:4:476:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:476:17:476:18 | in : String | Test.java:476:4:476:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:477:19:477:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:477:19:477:39 | getIntent_extras(...) : Bundle [] : String | Test.java:477:9:477:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:477:36:477:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:477:36:477:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:477:36:477:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:477:19:477:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:477:36:477:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:477:19:477:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:482:16:482:31 | (...)... : String | Test.java:483:17:483:18 | in : String | provenance | | +| Test.java:482:24:482:31 | source(...) : Object | Test.java:482:16:482:31 | (...)... : String | provenance | | +| Test.java:483:4:483:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:484:36:484:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:483:4:483:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:484:36:484:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:483:17:483:18 | in : String | Test.java:483:4:483:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:483:17:483:18 | in : String | Test.java:483:4:483:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:484:19:484:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:484:19:484:39 | getIntent_extras(...) : Bundle [] : String | Test.java:484:9:484:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:484:36:484:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:484:36:484:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:484:36:484:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:484:19:484:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:484:36:484:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:484:19:484:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:489:16:489:31 | (...)... : String | Test.java:490:17:490:18 | in : String | provenance | | +| Test.java:489:24:489:31 | source(...) : Object | Test.java:489:16:489:31 | (...)... : String | provenance | | +| Test.java:490:4:490:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:491:36:491:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:490:4:490:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:491:36:491:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:490:17:490:18 | in : String | Test.java:490:4:490:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:490:17:490:18 | in : String | Test.java:490:4:490:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:491:19:491:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:491:19:491:39 | getIntent_extras(...) : Bundle [] : String | Test.java:491:9:491:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:491:36:491:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:491:36:491:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:491:36:491:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:491:19:491:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:491:36:491:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:491:19:491:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:496:16:496:31 | (...)... : String | Test.java:497:17:497:18 | in : String | provenance | | +| Test.java:496:24:496:31 | source(...) : Object | Test.java:496:16:496:31 | (...)... : String | provenance | | +| Test.java:497:4:497:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:498:36:498:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:497:4:497:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:498:36:498:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:497:17:497:18 | in : String | Test.java:497:4:497:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:497:17:497:18 | in : String | Test.java:497:4:497:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:498:19:498:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:498:19:498:39 | getIntent_extras(...) : Bundle [] : String | Test.java:498:9:498:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:498:36:498:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:498:36:498:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:498:36:498:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:498:19:498:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:498:36:498:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:498:19:498:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:503:16:503:31 | (...)... : String | Test.java:504:17:504:18 | in : String | provenance | | +| Test.java:503:24:503:31 | source(...) : Object | Test.java:503:16:503:31 | (...)... : String | provenance | | +| Test.java:504:4:504:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:505:36:505:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:504:4:504:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:505:36:505:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:504:17:504:18 | in : String | Test.java:504:4:504:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:504:17:504:18 | in : String | Test.java:504:4:504:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:505:19:505:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:505:19:505:39 | getIntent_extras(...) : Bundle [] : String | Test.java:505:9:505:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:505:36:505:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:505:36:505:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:505:36:505:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:505:19:505:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:505:36:505:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:505:19:505:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:510:16:510:31 | (...)... : String | Test.java:511:17:511:18 | in : String | provenance | | +| Test.java:510:24:510:31 | source(...) : Object | Test.java:510:16:510:31 | (...)... : String | provenance | | +| Test.java:511:4:511:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:512:36:512:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:511:4:511:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:512:36:512:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:511:17:511:18 | in : String | Test.java:511:4:511:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:511:17:511:18 | in : String | Test.java:511:4:511:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:512:19:512:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:512:19:512:39 | getIntent_extras(...) : Bundle [] : String | Test.java:512:9:512:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:512:36:512:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:512:36:512:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:512:36:512:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:512:19:512:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:512:36:512:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:512:19:512:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:517:16:517:31 | (...)... : String | Test.java:518:17:518:18 | in : String | provenance | | +| Test.java:517:24:517:31 | source(...) : Object | Test.java:517:16:517:31 | (...)... : String | provenance | | +| Test.java:518:4:518:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:519:36:519:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:518:4:518:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:519:36:519:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:518:17:518:18 | in : String | Test.java:518:4:518:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:518:17:518:18 | in : String | Test.java:518:4:518:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:519:19:519:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:519:19:519:39 | getIntent_extras(...) : Bundle [] : String | Test.java:519:9:519:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:519:36:519:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:519:36:519:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:519:36:519:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:519:19:519:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:519:36:519:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:519:19:519:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:524:16:524:31 | (...)... : String | Test.java:525:17:525:18 | in : String | provenance | | +| Test.java:524:24:524:31 | source(...) : Object | Test.java:524:16:524:31 | (...)... : String | provenance | | +| Test.java:525:4:525:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:526:36:526:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:525:4:525:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:526:36:526:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:525:17:525:18 | in : String | Test.java:525:4:525:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:525:17:525:18 | in : String | Test.java:525:4:525:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:526:19:526:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:526:19:526:39 | getIntent_extras(...) : Bundle [] : String | Test.java:526:9:526:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:526:36:526:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:526:36:526:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:526:36:526:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:526:19:526:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:526:36:526:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:526:19:526:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:531:16:531:31 | (...)... : String | Test.java:532:17:532:18 | in : String | provenance | | +| Test.java:531:24:531:31 | source(...) : Object | Test.java:531:16:531:31 | (...)... : String | provenance | | +| Test.java:532:4:532:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:533:36:533:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:532:4:532:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:533:36:533:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:532:17:532:18 | in : String | Test.java:532:4:532:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:532:17:532:18 | in : String | Test.java:532:4:532:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:533:19:533:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:533:19:533:39 | getIntent_extras(...) : Bundle [] : String | Test.java:533:9:533:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:533:36:533:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:533:36:533:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:533:36:533:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:533:19:533:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:533:36:533:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:533:19:533:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:538:16:538:31 | (...)... : String | Test.java:539:17:539:18 | in : String | provenance | | +| Test.java:538:24:538:31 | source(...) : Object | Test.java:538:16:538:31 | (...)... : String | provenance | | +| Test.java:539:4:539:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:540:36:540:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:539:4:539:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:540:36:540:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:539:17:539:18 | in : String | Test.java:539:4:539:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:539:17:539:18 | in : String | Test.java:539:4:539:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:540:19:540:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:540:19:540:39 | getIntent_extras(...) : Bundle [] : String | Test.java:540:9:540:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:540:36:540:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:540:36:540:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:540:36:540:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:540:19:540:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:540:36:540:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:540:19:540:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:545:16:545:31 | (...)... : String | Test.java:546:17:546:18 | in : String | provenance | | +| Test.java:545:24:545:31 | source(...) : Object | Test.java:545:16:545:31 | (...)... : String | provenance | | +| Test.java:546:4:546:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:547:36:547:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:546:4:546:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:547:36:547:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:546:17:546:18 | in : String | Test.java:546:4:546:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:546:17:546:18 | in : String | Test.java:546:4:546:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:547:19:547:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:547:19:547:39 | getIntent_extras(...) : Bundle [] : String | Test.java:547:9:547:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:547:36:547:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:547:36:547:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:547:36:547:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:547:19:547:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:547:36:547:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:547:19:547:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:552:16:552:31 | (...)... : String | Test.java:553:17:553:18 | in : String | provenance | | +| Test.java:552:24:552:31 | source(...) : Object | Test.java:552:16:552:31 | (...)... : String | provenance | | +| Test.java:553:4:553:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:554:36:554:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:553:4:553:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:554:36:554:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:553:17:553:18 | in : String | Test.java:553:4:553:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:553:17:553:18 | in : String | Test.java:553:4:553:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:554:19:554:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:554:19:554:39 | getIntent_extras(...) : Bundle [] : String | Test.java:554:9:554:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:554:36:554:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:554:36:554:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:554:36:554:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:554:19:554:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:554:36:554:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:554:19:554:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:559:16:559:31 | (...)... : String | Test.java:560:17:560:18 | in : String | provenance | | +| Test.java:559:24:559:31 | source(...) : Object | Test.java:559:16:559:31 | (...)... : String | provenance | | +| Test.java:560:4:560:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:561:36:561:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:560:4:560:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:561:36:561:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:560:17:560:18 | in : String | Test.java:560:4:560:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:560:17:560:18 | in : String | Test.java:560:4:560:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:561:19:561:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:561:19:561:39 | getIntent_extras(...) : Bundle [] : String | Test.java:561:9:561:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:561:36:561:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:561:36:561:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:561:36:561:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:561:19:561:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:561:36:561:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:561:19:561:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:566:16:566:31 | (...)... : String | Test.java:567:17:567:18 | in : String | provenance | | +| Test.java:566:24:566:31 | source(...) : Object | Test.java:566:16:566:31 | (...)... : String | provenance | | +| Test.java:567:4:567:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:568:36:568:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:567:4:567:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:568:36:568:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:567:17:567:18 | in : String | Test.java:567:4:567:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:567:17:567:18 | in : String | Test.java:567:4:567:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:568:19:568:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:568:19:568:39 | getIntent_extras(...) : Bundle [] : String | Test.java:568:9:568:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:568:36:568:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:568:36:568:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:568:36:568:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:568:19:568:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:568:36:568:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:568:19:568:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:573:16:573:31 | (...)... : String | Test.java:574:17:574:18 | in : String | provenance | | +| Test.java:573:24:573:31 | source(...) : Object | Test.java:573:16:573:31 | (...)... : String | provenance | | +| Test.java:574:4:574:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:575:36:575:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:574:4:574:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:575:36:575:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:574:17:574:18 | in : String | Test.java:574:4:574:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:574:17:574:18 | in : String | Test.java:574:4:574:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:575:19:575:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:575:19:575:39 | getIntent_extras(...) : Bundle [] : String | Test.java:575:9:575:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:575:36:575:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:575:36:575:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:575:36:575:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:575:19:575:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:575:36:575:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:575:19:575:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:580:16:580:31 | (...)... : String | Test.java:581:17:581:18 | in : String | provenance | | +| Test.java:580:24:580:31 | source(...) : Object | Test.java:580:16:580:31 | (...)... : String | provenance | | +| Test.java:581:4:581:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:582:36:582:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:581:4:581:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:582:36:582:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:581:17:581:18 | in : String | Test.java:581:4:581:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:581:17:581:18 | in : String | Test.java:581:4:581:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:582:19:582:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:582:19:582:39 | getIntent_extras(...) : Bundle [] : String | Test.java:582:9:582:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:582:36:582:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:582:36:582:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:582:36:582:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:582:19:582:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:582:36:582:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:582:19:582:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:587:16:587:31 | (...)... : String | Test.java:588:17:588:18 | in : String | provenance | | +| Test.java:587:24:587:31 | source(...) : Object | Test.java:587:16:587:31 | (...)... : String | provenance | | +| Test.java:588:4:588:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:589:36:589:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:588:4:588:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:589:36:589:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:588:17:588:18 | in : String | Test.java:588:4:588:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:588:17:588:18 | in : String | Test.java:588:4:588:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:49 | +| Test.java:589:19:589:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:589:19:589:39 | getIntent_extras(...) : Bundle [] : String | Test.java:589:9:589:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:589:36:589:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:589:36:589:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:589:36:589:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:589:19:589:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:589:36:589:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:589:19:589:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:594:17:594:33 | (...)... : short[] | Test.java:595:31:595:32 | in : short[] | provenance | | +| Test.java:594:26:594:33 | source(...) : Object | Test.java:594:17:594:33 | (...)... : short[] | provenance | | +| Test.java:595:4:595:6 | out [post update] : Intent [android.content.Intent.extras, ] : short[] | Test.java:596:38:596:40 | out : Intent [android.content.Intent.extras, ] : short[] | provenance | | +| Test.java:595:4:595:6 | out [post update] : Intent [android.content.Intent.extras, ] : short[] | Test.java:596:38:596:40 | out : Intent [android.content.Intent.extras, ] : short[] | provenance | | +| Test.java:595:31:595:32 | in : short[] | Test.java:595:4:595:6 | out [post update] : Intent [android.content.Intent.extras, ] : short[] | provenance | MaD:50 | +| Test.java:595:31:595:32 | in : short[] | Test.java:595:4:595:6 | out [post update] : Intent [android.content.Intent.extras, ] : short[] | provenance | MaD:50 | +| Test.java:596:21:596:41 | getIntent_extras(...) : Bundle [] : short[] | Test.java:596:9:596:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:596:38:596:40 | out : Intent [android.content.Intent.extras, ] : short[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : short[] | provenance | | +| Test.java:596:38:596:40 | out : Intent [android.content.Intent.extras, ] : short[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : short[] | provenance | | +| Test.java:596:38:596:40 | out : Intent [android.content.Intent.extras, ] : short[] | Test.java:596:21:596:41 | getIntent_extras(...) : Bundle [] : short[] | provenance | MaD:31 | +| Test.java:596:38:596:40 | out : Intent [android.content.Intent.extras, ] : short[] | Test.java:596:21:596:41 | getIntent_extras(...) : Bundle [] : short[] | provenance | MaD:31 | +| Test.java:601:15:601:29 | (...)... : Number | Test.java:602:31:602:32 | in : Number | provenance | | +| Test.java:601:22:601:29 | source(...) : Object | Test.java:601:15:601:29 | (...)... : Number | provenance | | +| Test.java:602:4:602:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | Test.java:603:38:603:40 | out : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:602:4:602:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | Test.java:603:38:603:40 | out : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:602:31:602:32 | in : Number | Test.java:602:4:602:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | provenance | MaD:50 | +| Test.java:602:31:602:32 | in : Number | Test.java:602:4:602:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | provenance | MaD:50 | +| Test.java:603:21:603:41 | getIntent_extras(...) : Bundle [] : Number | Test.java:603:9:603:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:603:38:603:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:603:38:603:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:603:38:603:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:603:21:603:41 | getIntent_extras(...) : Bundle [] : Number | provenance | MaD:31 | +| Test.java:603:38:603:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:603:21:603:41 | getIntent_extras(...) : Bundle [] : Number | provenance | MaD:31 | +| Test.java:608:16:608:31 | (...)... : long[] | Test.java:609:31:609:32 | in : long[] | provenance | | +| Test.java:608:24:608:31 | source(...) : Object | Test.java:608:16:608:31 | (...)... : long[] | provenance | | +| Test.java:609:4:609:6 | out [post update] : Intent [android.content.Intent.extras, ] : long[] | Test.java:610:38:610:40 | out : Intent [android.content.Intent.extras, ] : long[] | provenance | | +| Test.java:609:4:609:6 | out [post update] : Intent [android.content.Intent.extras, ] : long[] | Test.java:610:38:610:40 | out : Intent [android.content.Intent.extras, ] : long[] | provenance | | +| Test.java:609:31:609:32 | in : long[] | Test.java:609:4:609:6 | out [post update] : Intent [android.content.Intent.extras, ] : long[] | provenance | MaD:50 | +| Test.java:609:31:609:32 | in : long[] | Test.java:609:4:609:6 | out [post update] : Intent [android.content.Intent.extras, ] : long[] | provenance | MaD:50 | +| Test.java:610:21:610:41 | getIntent_extras(...) : Bundle [] : long[] | Test.java:610:9:610:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:610:38:610:40 | out : Intent [android.content.Intent.extras, ] : long[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : long[] | provenance | | +| Test.java:610:38:610:40 | out : Intent [android.content.Intent.extras, ] : long[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : long[] | provenance | | +| Test.java:610:38:610:40 | out : Intent [android.content.Intent.extras, ] : long[] | Test.java:610:21:610:41 | getIntent_extras(...) : Bundle [] : long[] | provenance | MaD:31 | +| Test.java:610:38:610:40 | out : Intent [android.content.Intent.extras, ] : long[] | Test.java:610:21:610:41 | getIntent_extras(...) : Bundle [] : long[] | provenance | MaD:31 | +| Test.java:615:14:615:27 | (...)... : Number | Test.java:616:31:616:32 | in : Number | provenance | | +| Test.java:615:20:615:27 | source(...) : Object | Test.java:615:14:615:27 | (...)... : Number | provenance | | +| Test.java:616:4:616:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | Test.java:617:38:617:40 | out : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:616:4:616:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | Test.java:617:38:617:40 | out : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:616:31:616:32 | in : Number | Test.java:616:4:616:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | provenance | MaD:50 | +| Test.java:616:31:616:32 | in : Number | Test.java:616:4:616:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | provenance | MaD:50 | +| Test.java:617:21:617:41 | getIntent_extras(...) : Bundle [] : Number | Test.java:617:9:617:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:617:38:617:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:617:38:617:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:617:38:617:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:617:21:617:41 | getIntent_extras(...) : Bundle [] : Number | provenance | MaD:31 | +| Test.java:617:38:617:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:617:21:617:41 | getIntent_extras(...) : Bundle [] : Number | provenance | MaD:31 | +| Test.java:622:15:622:29 | (...)... : int[] | Test.java:623:31:623:32 | in : int[] | provenance | | +| Test.java:622:22:622:29 | source(...) : Object | Test.java:622:15:622:29 | (...)... : int[] | provenance | | +| Test.java:623:4:623:6 | out [post update] : Intent [android.content.Intent.extras, ] : int[] | Test.java:624:38:624:40 | out : Intent [android.content.Intent.extras, ] : int[] | provenance | | +| Test.java:623:4:623:6 | out [post update] : Intent [android.content.Intent.extras, ] : int[] | Test.java:624:38:624:40 | out : Intent [android.content.Intent.extras, ] : int[] | provenance | | +| Test.java:623:31:623:32 | in : int[] | Test.java:623:4:623:6 | out [post update] : Intent [android.content.Intent.extras, ] : int[] | provenance | MaD:50 | +| Test.java:623:31:623:32 | in : int[] | Test.java:623:4:623:6 | out [post update] : Intent [android.content.Intent.extras, ] : int[] | provenance | MaD:50 | +| Test.java:624:21:624:41 | getIntent_extras(...) : Bundle [] : int[] | Test.java:624:9:624:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:624:38:624:40 | out : Intent [android.content.Intent.extras, ] : int[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : int[] | provenance | | +| Test.java:624:38:624:40 | out : Intent [android.content.Intent.extras, ] : int[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : int[] | provenance | | +| Test.java:624:38:624:40 | out : Intent [android.content.Intent.extras, ] : int[] | Test.java:624:21:624:41 | getIntent_extras(...) : Bundle [] : int[] | provenance | MaD:31 | +| Test.java:624:38:624:40 | out : Intent [android.content.Intent.extras, ] : int[] | Test.java:624:21:624:41 | getIntent_extras(...) : Bundle [] : int[] | provenance | MaD:31 | +| Test.java:629:13:629:25 | (...)... : Number | Test.java:630:31:630:32 | in : Number | provenance | | +| Test.java:629:18:629:25 | source(...) : Object | Test.java:629:13:629:25 | (...)... : Number | provenance | | +| Test.java:630:4:630:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | Test.java:631:38:631:40 | out : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:630:4:630:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | Test.java:631:38:631:40 | out : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:630:31:630:32 | in : Number | Test.java:630:4:630:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | provenance | MaD:50 | +| Test.java:630:31:630:32 | in : Number | Test.java:630:4:630:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | provenance | MaD:50 | +| Test.java:631:21:631:41 | getIntent_extras(...) : Bundle [] : Number | Test.java:631:9:631:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:631:38:631:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:631:38:631:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:631:38:631:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:631:21:631:41 | getIntent_extras(...) : Bundle [] : Number | provenance | MaD:31 | +| Test.java:631:38:631:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:631:21:631:41 | getIntent_extras(...) : Bundle [] : Number | provenance | MaD:31 | +| Test.java:636:17:636:33 | (...)... : float[] | Test.java:637:31:637:32 | in : float[] | provenance | | +| Test.java:636:26:636:33 | source(...) : Object | Test.java:636:17:636:33 | (...)... : float[] | provenance | | +| Test.java:637:4:637:6 | out [post update] : Intent [android.content.Intent.extras, ] : float[] | Test.java:638:38:638:40 | out : Intent [android.content.Intent.extras, ] : float[] | provenance | | +| Test.java:637:4:637:6 | out [post update] : Intent [android.content.Intent.extras, ] : float[] | Test.java:638:38:638:40 | out : Intent [android.content.Intent.extras, ] : float[] | provenance | | +| Test.java:637:31:637:32 | in : float[] | Test.java:637:4:637:6 | out [post update] : Intent [android.content.Intent.extras, ] : float[] | provenance | MaD:50 | +| Test.java:637:31:637:32 | in : float[] | Test.java:637:4:637:6 | out [post update] : Intent [android.content.Intent.extras, ] : float[] | provenance | MaD:50 | +| Test.java:638:21:638:41 | getIntent_extras(...) : Bundle [] : float[] | Test.java:638:9:638:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:638:38:638:40 | out : Intent [android.content.Intent.extras, ] : float[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : float[] | provenance | | +| Test.java:638:38:638:40 | out : Intent [android.content.Intent.extras, ] : float[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : float[] | provenance | | +| Test.java:638:38:638:40 | out : Intent [android.content.Intent.extras, ] : float[] | Test.java:638:21:638:41 | getIntent_extras(...) : Bundle [] : float[] | provenance | MaD:31 | +| Test.java:638:38:638:40 | out : Intent [android.content.Intent.extras, ] : float[] | Test.java:638:21:638:41 | getIntent_extras(...) : Bundle [] : float[] | provenance | MaD:31 | +| Test.java:643:15:643:29 | (...)... : Number | Test.java:644:31:644:32 | in : Number | provenance | | +| Test.java:643:22:643:29 | source(...) : Object | Test.java:643:15:643:29 | (...)... : Number | provenance | | +| Test.java:644:4:644:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | Test.java:645:38:645:40 | out : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:644:4:644:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | Test.java:645:38:645:40 | out : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:644:31:644:32 | in : Number | Test.java:644:4:644:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | provenance | MaD:50 | +| Test.java:644:31:644:32 | in : Number | Test.java:644:4:644:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | provenance | MaD:50 | +| Test.java:645:21:645:41 | getIntent_extras(...) : Bundle [] : Number | Test.java:645:9:645:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:645:38:645:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:645:38:645:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:645:38:645:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:645:21:645:41 | getIntent_extras(...) : Bundle [] : Number | provenance | MaD:31 | +| Test.java:645:38:645:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:645:21:645:41 | getIntent_extras(...) : Bundle [] : Number | provenance | MaD:31 | +| Test.java:650:18:650:35 | (...)... : double[] | Test.java:651:31:651:32 | in : double[] | provenance | | +| Test.java:650:28:650:35 | source(...) : Object | Test.java:650:18:650:35 | (...)... : double[] | provenance | | +| Test.java:651:4:651:6 | out [post update] : Intent [android.content.Intent.extras, ] : double[] | Test.java:652:38:652:40 | out : Intent [android.content.Intent.extras, ] : double[] | provenance | | +| Test.java:651:4:651:6 | out [post update] : Intent [android.content.Intent.extras, ] : double[] | Test.java:652:38:652:40 | out : Intent [android.content.Intent.extras, ] : double[] | provenance | | +| Test.java:651:31:651:32 | in : double[] | Test.java:651:4:651:6 | out [post update] : Intent [android.content.Intent.extras, ] : double[] | provenance | MaD:50 | +| Test.java:651:31:651:32 | in : double[] | Test.java:651:4:651:6 | out [post update] : Intent [android.content.Intent.extras, ] : double[] | provenance | MaD:50 | +| Test.java:652:21:652:41 | getIntent_extras(...) : Bundle [] : double[] | Test.java:652:9:652:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:652:38:652:40 | out : Intent [android.content.Intent.extras, ] : double[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : double[] | provenance | | +| Test.java:652:38:652:40 | out : Intent [android.content.Intent.extras, ] : double[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : double[] | provenance | | +| Test.java:652:38:652:40 | out : Intent [android.content.Intent.extras, ] : double[] | Test.java:652:21:652:41 | getIntent_extras(...) : Bundle [] : double[] | provenance | MaD:31 | +| Test.java:652:38:652:40 | out : Intent [android.content.Intent.extras, ] : double[] | Test.java:652:21:652:41 | getIntent_extras(...) : Bundle [] : double[] | provenance | MaD:31 | +| Test.java:657:16:657:31 | (...)... : Number | Test.java:658:31:658:32 | in : Number | provenance | | +| Test.java:657:24:657:31 | source(...) : Object | Test.java:657:16:657:31 | (...)... : Number | provenance | | +| Test.java:658:4:658:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | Test.java:659:38:659:40 | out : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:658:4:658:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | Test.java:659:38:659:40 | out : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:658:31:658:32 | in : Number | Test.java:658:4:658:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | provenance | MaD:50 | +| Test.java:658:31:658:32 | in : Number | Test.java:658:4:658:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | provenance | MaD:50 | +| Test.java:659:21:659:41 | getIntent_extras(...) : Bundle [] : Number | Test.java:659:9:659:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:659:38:659:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:659:38:659:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:659:38:659:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:659:21:659:41 | getIntent_extras(...) : Bundle [] : Number | provenance | MaD:31 | +| Test.java:659:38:659:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:659:21:659:41 | getIntent_extras(...) : Bundle [] : Number | provenance | MaD:31 | +| Test.java:664:16:664:31 | (...)... : char[] | Test.java:665:31:665:32 | in : char[] | provenance | | +| Test.java:664:24:664:31 | source(...) : Object | Test.java:664:16:664:31 | (...)... : char[] | provenance | | +| Test.java:665:4:665:6 | out [post update] : Intent [android.content.Intent.extras, ] : char[] | Test.java:666:38:666:40 | out : Intent [android.content.Intent.extras, ] : char[] | provenance | | +| Test.java:665:4:665:6 | out [post update] : Intent [android.content.Intent.extras, ] : char[] | Test.java:666:38:666:40 | out : Intent [android.content.Intent.extras, ] : char[] | provenance | | +| Test.java:665:31:665:32 | in : char[] | Test.java:665:4:665:6 | out [post update] : Intent [android.content.Intent.extras, ] : char[] | provenance | MaD:50 | +| Test.java:665:31:665:32 | in : char[] | Test.java:665:4:665:6 | out [post update] : Intent [android.content.Intent.extras, ] : char[] | provenance | MaD:50 | +| Test.java:666:21:666:41 | getIntent_extras(...) : Bundle [] : char[] | Test.java:666:9:666:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:666:38:666:40 | out : Intent [android.content.Intent.extras, ] : char[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : char[] | provenance | | +| Test.java:666:38:666:40 | out : Intent [android.content.Intent.extras, ] : char[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : char[] | provenance | | +| Test.java:666:38:666:40 | out : Intent [android.content.Intent.extras, ] : char[] | Test.java:666:21:666:41 | getIntent_extras(...) : Bundle [] : char[] | provenance | MaD:31 | +| Test.java:666:38:666:40 | out : Intent [android.content.Intent.extras, ] : char[] | Test.java:666:21:666:41 | getIntent_extras(...) : Bundle [] : char[] | provenance | MaD:31 | +| Test.java:671:14:671:27 | (...)... : Number | Test.java:672:31:672:32 | in : Number | provenance | | +| Test.java:671:20:671:27 | source(...) : Object | Test.java:671:14:671:27 | (...)... : Number | provenance | | +| Test.java:672:4:672:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | Test.java:673:38:673:40 | out : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:672:4:672:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | Test.java:673:38:673:40 | out : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:672:31:672:32 | in : Number | Test.java:672:4:672:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | provenance | MaD:50 | +| Test.java:672:31:672:32 | in : Number | Test.java:672:4:672:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | provenance | MaD:50 | +| Test.java:673:21:673:41 | getIntent_extras(...) : Bundle [] : Number | Test.java:673:9:673:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:673:38:673:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:673:38:673:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:673:38:673:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:673:21:673:41 | getIntent_extras(...) : Bundle [] : Number | provenance | MaD:31 | +| Test.java:673:38:673:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:673:21:673:41 | getIntent_extras(...) : Bundle [] : Number | provenance | MaD:31 | +| Test.java:678:16:678:31 | (...)... : byte[] | Test.java:679:31:679:32 | in : byte[] | provenance | | +| Test.java:678:24:678:31 | source(...) : Object | Test.java:678:16:678:31 | (...)... : byte[] | provenance | | +| Test.java:679:4:679:6 | out [post update] : Intent [android.content.Intent.extras, ] : byte[] | Test.java:680:38:680:40 | out : Intent [android.content.Intent.extras, ] : byte[] | provenance | | +| Test.java:679:4:679:6 | out [post update] : Intent [android.content.Intent.extras, ] : byte[] | Test.java:680:38:680:40 | out : Intent [android.content.Intent.extras, ] : byte[] | provenance | | +| Test.java:679:31:679:32 | in : byte[] | Test.java:679:4:679:6 | out [post update] : Intent [android.content.Intent.extras, ] : byte[] | provenance | MaD:50 | +| Test.java:679:31:679:32 | in : byte[] | Test.java:679:4:679:6 | out [post update] : Intent [android.content.Intent.extras, ] : byte[] | provenance | MaD:50 | +| Test.java:680:21:680:41 | getIntent_extras(...) : Bundle [] : byte[] | Test.java:680:9:680:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:680:38:680:40 | out : Intent [android.content.Intent.extras, ] : byte[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : byte[] | provenance | | +| Test.java:680:38:680:40 | out : Intent [android.content.Intent.extras, ] : byte[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : byte[] | provenance | | +| Test.java:680:38:680:40 | out : Intent [android.content.Intent.extras, ] : byte[] | Test.java:680:21:680:41 | getIntent_extras(...) : Bundle [] : byte[] | provenance | MaD:31 | +| Test.java:680:38:680:40 | out : Intent [android.content.Intent.extras, ] : byte[] | Test.java:680:21:680:41 | getIntent_extras(...) : Bundle [] : byte[] | provenance | MaD:31 | +| Test.java:685:14:685:27 | (...)... : Number | Test.java:686:31:686:32 | in : Number | provenance | | +| Test.java:685:20:685:27 | source(...) : Object | Test.java:685:14:685:27 | (...)... : Number | provenance | | +| Test.java:686:4:686:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | Test.java:687:38:687:40 | out : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:686:4:686:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | Test.java:687:38:687:40 | out : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:686:31:686:32 | in : Number | Test.java:686:4:686:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | provenance | MaD:50 | +| Test.java:686:31:686:32 | in : Number | Test.java:686:4:686:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | provenance | MaD:50 | +| Test.java:687:21:687:41 | getIntent_extras(...) : Bundle [] : Number | Test.java:687:9:687:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:687:38:687:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:687:38:687:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | provenance | | +| Test.java:687:38:687:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:687:21:687:41 | getIntent_extras(...) : Bundle [] : Number | provenance | MaD:31 | +| Test.java:687:38:687:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:687:21:687:41 | getIntent_extras(...) : Bundle [] : Number | provenance | MaD:31 | +| Test.java:692:19:692:37 | (...)... : boolean[] | Test.java:693:31:693:32 | in : boolean[] | provenance | | +| Test.java:692:30:692:37 | source(...) : Object | Test.java:692:19:692:37 | (...)... : boolean[] | provenance | | +| Test.java:693:4:693:6 | out [post update] : Intent [android.content.Intent.extras, ] : boolean[] | Test.java:694:38:694:40 | out : Intent [android.content.Intent.extras, ] : boolean[] | provenance | | +| Test.java:693:4:693:6 | out [post update] : Intent [android.content.Intent.extras, ] : boolean[] | Test.java:694:38:694:40 | out : Intent [android.content.Intent.extras, ] : boolean[] | provenance | | +| Test.java:693:31:693:32 | in : boolean[] | Test.java:693:4:693:6 | out [post update] : Intent [android.content.Intent.extras, ] : boolean[] | provenance | MaD:50 | +| Test.java:693:31:693:32 | in : boolean[] | Test.java:693:4:693:6 | out [post update] : Intent [android.content.Intent.extras, ] : boolean[] | provenance | MaD:50 | +| Test.java:694:21:694:41 | getIntent_extras(...) : Bundle [] : boolean[] | Test.java:694:9:694:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:694:38:694:40 | out : Intent [android.content.Intent.extras, ] : boolean[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : boolean[] | provenance | | +| Test.java:694:38:694:40 | out : Intent [android.content.Intent.extras, ] : boolean[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : boolean[] | provenance | | +| Test.java:694:38:694:40 | out : Intent [android.content.Intent.extras, ] : boolean[] | Test.java:694:21:694:41 | getIntent_extras(...) : Bundle [] : boolean[] | provenance | MaD:31 | +| Test.java:694:38:694:40 | out : Intent [android.content.Intent.extras, ] : boolean[] | Test.java:694:21:694:41 | getIntent_extras(...) : Bundle [] : boolean[] | provenance | MaD:31 | +| Test.java:699:17:699:33 | (...)... : Boolean | Test.java:700:31:700:32 | in : Boolean | provenance | | +| Test.java:699:26:699:33 | source(...) : Object | Test.java:699:17:699:33 | (...)... : Boolean | provenance | | +| Test.java:700:4:700:6 | out [post update] : Intent [android.content.Intent.extras, ] : Boolean | Test.java:701:38:701:40 | out : Intent [android.content.Intent.extras, ] : Boolean | provenance | | +| Test.java:700:4:700:6 | out [post update] : Intent [android.content.Intent.extras, ] : Boolean | Test.java:701:38:701:40 | out : Intent [android.content.Intent.extras, ] : Boolean | provenance | | +| Test.java:700:31:700:32 | in : Boolean | Test.java:700:4:700:6 | out [post update] : Intent [android.content.Intent.extras, ] : Boolean | provenance | MaD:50 | +| Test.java:700:31:700:32 | in : Boolean | Test.java:700:4:700:6 | out [post update] : Intent [android.content.Intent.extras, ] : Boolean | provenance | MaD:50 | +| Test.java:701:21:701:41 | getIntent_extras(...) : Bundle [] : Boolean | Test.java:701:9:701:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:701:38:701:40 | out : Intent [android.content.Intent.extras, ] : Boolean | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Boolean | provenance | | +| Test.java:701:38:701:40 | out : Intent [android.content.Intent.extras, ] : Boolean | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Boolean | provenance | | +| Test.java:701:38:701:40 | out : Intent [android.content.Intent.extras, ] : Boolean | Test.java:701:21:701:41 | getIntent_extras(...) : Bundle [] : Boolean | provenance | MaD:31 | +| Test.java:701:38:701:40 | out : Intent [android.content.Intent.extras, ] : Boolean | Test.java:701:21:701:41 | getIntent_extras(...) : Bundle [] : Boolean | provenance | MaD:31 | +| Test.java:706:18:706:35 | (...)... : String[] | Test.java:707:31:707:32 | in : String[] | provenance | | +| Test.java:706:28:706:35 | source(...) : Object | Test.java:706:18:706:35 | (...)... : String[] | provenance | | +| Test.java:707:4:707:6 | out [post update] : Intent [android.content.Intent.extras, ] : String[] | Test.java:708:38:708:40 | out : Intent [android.content.Intent.extras, ] : String[] | provenance | | +| Test.java:707:4:707:6 | out [post update] : Intent [android.content.Intent.extras, ] : String[] | Test.java:708:38:708:40 | out : Intent [android.content.Intent.extras, ] : String[] | provenance | | +| Test.java:707:31:707:32 | in : String[] | Test.java:707:4:707:6 | out [post update] : Intent [android.content.Intent.extras, ] : String[] | provenance | MaD:50 | +| Test.java:707:31:707:32 | in : String[] | Test.java:707:4:707:6 | out [post update] : Intent [android.content.Intent.extras, ] : String[] | provenance | MaD:50 | +| Test.java:708:21:708:41 | getIntent_extras(...) : Bundle [] : String[] | Test.java:708:9:708:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:708:38:708:40 | out : Intent [android.content.Intent.extras, ] : String[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String[] | provenance | | +| Test.java:708:38:708:40 | out : Intent [android.content.Intent.extras, ] : String[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String[] | provenance | | +| Test.java:708:38:708:40 | out : Intent [android.content.Intent.extras, ] : String[] | Test.java:708:21:708:41 | getIntent_extras(...) : Bundle [] : String[] | provenance | MaD:31 | +| Test.java:708:38:708:40 | out : Intent [android.content.Intent.extras, ] : String[] | Test.java:708:21:708:41 | getIntent_extras(...) : Bundle [] : String[] | provenance | MaD:31 | +| Test.java:713:16:713:31 | (...)... : String | Test.java:714:31:714:32 | in : String | provenance | | +| Test.java:713:24:713:31 | source(...) : Object | Test.java:713:16:713:31 | (...)... : String | provenance | | +| Test.java:714:4:714:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:715:38:715:40 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:714:4:714:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:715:38:715:40 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:714:31:714:32 | in : String | Test.java:714:4:714:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| Test.java:714:31:714:32 | in : String | Test.java:714:4:714:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| Test.java:715:21:715:41 | getIntent_extras(...) : Bundle [] : String | Test.java:715:9:715:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:715:38:715:40 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:715:38:715:40 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:715:38:715:40 | out : Intent [android.content.Intent.extras, ] : String | Test.java:715:21:715:41 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:715:38:715:40 | out : Intent [android.content.Intent.extras, ] : String | Test.java:715:21:715:41 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:720:22:720:43 | (...)... : Serializable | Test.java:721:31:721:32 | in : Serializable | provenance | | +| Test.java:720:36:720:43 | source(...) : Object | Test.java:720:22:720:43 | (...)... : Serializable | provenance | | +| Test.java:721:4:721:6 | out [post update] : Intent [android.content.Intent.extras, ] : Serializable | Test.java:722:38:722:40 | out : Intent [android.content.Intent.extras, ] : Serializable | provenance | | +| Test.java:721:4:721:6 | out [post update] : Intent [android.content.Intent.extras, ] : Serializable | Test.java:722:38:722:40 | out : Intent [android.content.Intent.extras, ] : Serializable | provenance | | +| Test.java:721:31:721:32 | in : Serializable | Test.java:721:4:721:6 | out [post update] : Intent [android.content.Intent.extras, ] : Serializable | provenance | MaD:50 | +| Test.java:721:31:721:32 | in : Serializable | Test.java:721:4:721:6 | out [post update] : Intent [android.content.Intent.extras, ] : Serializable | provenance | MaD:50 | +| Test.java:722:21:722:41 | getIntent_extras(...) : Bundle [] : Serializable | Test.java:722:9:722:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:722:38:722:40 | out : Intent [android.content.Intent.extras, ] : Serializable | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Serializable | provenance | | +| Test.java:722:38:722:40 | out : Intent [android.content.Intent.extras, ] : Serializable | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Serializable | provenance | | +| Test.java:722:38:722:40 | out : Intent [android.content.Intent.extras, ] : Serializable | Test.java:722:21:722:41 | getIntent_extras(...) : Bundle [] : Serializable | provenance | MaD:31 | +| Test.java:722:38:722:40 | out : Intent [android.content.Intent.extras, ] : Serializable | Test.java:722:21:722:41 | getIntent_extras(...) : Bundle [] : Serializable | provenance | MaD:31 | +| Test.java:727:22:727:43 | (...)... : Parcelable[] | Test.java:728:31:728:32 | in : Parcelable[] | provenance | | +| Test.java:727:36:727:43 | source(...) : Object | Test.java:727:22:727:43 | (...)... : Parcelable[] | provenance | | +| Test.java:728:4:728:6 | out [post update] : Intent [android.content.Intent.extras, ] : Parcelable[] | Test.java:729:38:729:40 | out : Intent [android.content.Intent.extras, ] : Parcelable[] | provenance | | +| Test.java:728:4:728:6 | out [post update] : Intent [android.content.Intent.extras, ] : Parcelable[] | Test.java:729:38:729:40 | out : Intent [android.content.Intent.extras, ] : Parcelable[] | provenance | | +| Test.java:728:31:728:32 | in : Parcelable[] | Test.java:728:4:728:6 | out [post update] : Intent [android.content.Intent.extras, ] : Parcelable[] | provenance | MaD:50 | +| Test.java:728:31:728:32 | in : Parcelable[] | Test.java:728:4:728:6 | out [post update] : Intent [android.content.Intent.extras, ] : Parcelable[] | provenance | MaD:50 | +| Test.java:729:21:729:41 | getIntent_extras(...) : Bundle [] : Parcelable[] | Test.java:729:9:729:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:729:38:729:40 | out : Intent [android.content.Intent.extras, ] : Parcelable[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Parcelable[] | provenance | | +| Test.java:729:38:729:40 | out : Intent [android.content.Intent.extras, ] : Parcelable[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Parcelable[] | provenance | | +| Test.java:729:38:729:40 | out : Intent [android.content.Intent.extras, ] : Parcelable[] | Test.java:729:21:729:41 | getIntent_extras(...) : Bundle [] : Parcelable[] | provenance | MaD:31 | +| Test.java:729:38:729:40 | out : Intent [android.content.Intent.extras, ] : Parcelable[] | Test.java:729:21:729:41 | getIntent_extras(...) : Bundle [] : Parcelable[] | provenance | MaD:31 | +| Test.java:734:20:734:39 | (...)... : Parcelable | Test.java:735:31:735:32 | in : Parcelable | provenance | | +| Test.java:734:32:734:39 | source(...) : Object | Test.java:734:20:734:39 | (...)... : Parcelable | provenance | | +| Test.java:735:4:735:6 | out [post update] : Intent [android.content.Intent.extras, ] : Parcelable | Test.java:736:38:736:40 | out : Intent [android.content.Intent.extras, ] : Parcelable | provenance | | +| Test.java:735:4:735:6 | out [post update] : Intent [android.content.Intent.extras, ] : Parcelable | Test.java:736:38:736:40 | out : Intent [android.content.Intent.extras, ] : Parcelable | provenance | | +| Test.java:735:31:735:32 | in : Parcelable | Test.java:735:4:735:6 | out [post update] : Intent [android.content.Intent.extras, ] : Parcelable | provenance | MaD:50 | +| Test.java:735:31:735:32 | in : Parcelable | Test.java:735:4:735:6 | out [post update] : Intent [android.content.Intent.extras, ] : Parcelable | provenance | MaD:50 | +| Test.java:736:21:736:41 | getIntent_extras(...) : Bundle [] : Parcelable | Test.java:736:9:736:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:736:38:736:40 | out : Intent [android.content.Intent.extras, ] : Parcelable | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Parcelable | provenance | | +| Test.java:736:38:736:40 | out : Intent [android.content.Intent.extras, ] : Parcelable | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Parcelable | provenance | | +| Test.java:736:38:736:40 | out : Intent [android.content.Intent.extras, ] : Parcelable | Test.java:736:21:736:41 | getIntent_extras(...) : Bundle [] : Parcelable | provenance | MaD:31 | +| Test.java:736:38:736:40 | out : Intent [android.content.Intent.extras, ] : Parcelable | Test.java:736:21:736:41 | getIntent_extras(...) : Bundle [] : Parcelable | provenance | MaD:31 | +| Test.java:741:24:741:47 | (...)... : CharSequence[] | Test.java:742:31:742:32 | in : CharSequence[] | provenance | | +| Test.java:741:40:741:47 | source(...) : Object | Test.java:741:24:741:47 | (...)... : CharSequence[] | provenance | | +| Test.java:742:4:742:6 | out [post update] : Intent [android.content.Intent.extras, ] : CharSequence[] | Test.java:743:38:743:40 | out : Intent [android.content.Intent.extras, ] : CharSequence[] | provenance | | +| Test.java:742:4:742:6 | out [post update] : Intent [android.content.Intent.extras, ] : CharSequence[] | Test.java:743:38:743:40 | out : Intent [android.content.Intent.extras, ] : CharSequence[] | provenance | | +| Test.java:742:31:742:32 | in : CharSequence[] | Test.java:742:4:742:6 | out [post update] : Intent [android.content.Intent.extras, ] : CharSequence[] | provenance | MaD:50 | +| Test.java:742:31:742:32 | in : CharSequence[] | Test.java:742:4:742:6 | out [post update] : Intent [android.content.Intent.extras, ] : CharSequence[] | provenance | MaD:50 | +| Test.java:743:21:743:41 | getIntent_extras(...) : Bundle [] : CharSequence[] | Test.java:743:9:743:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:743:38:743:40 | out : Intent [android.content.Intent.extras, ] : CharSequence[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence[] | provenance | | +| Test.java:743:38:743:40 | out : Intent [android.content.Intent.extras, ] : CharSequence[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence[] | provenance | | +| Test.java:743:38:743:40 | out : Intent [android.content.Intent.extras, ] : CharSequence[] | Test.java:743:21:743:41 | getIntent_extras(...) : Bundle [] : CharSequence[] | provenance | MaD:31 | +| Test.java:743:38:743:40 | out : Intent [android.content.Intent.extras, ] : CharSequence[] | Test.java:743:21:743:41 | getIntent_extras(...) : Bundle [] : CharSequence[] | provenance | MaD:31 | +| Test.java:748:22:748:43 | (...)... : CharSequence | Test.java:749:31:749:32 | in : CharSequence | provenance | | +| Test.java:748:36:748:43 | source(...) : Object | Test.java:748:22:748:43 | (...)... : CharSequence | provenance | | +| Test.java:749:4:749:6 | out [post update] : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:750:38:750:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | provenance | | +| Test.java:749:4:749:6 | out [post update] : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:750:38:750:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | provenance | | +| Test.java:749:31:749:32 | in : CharSequence | Test.java:749:4:749:6 | out [post update] : Intent [android.content.Intent.extras, ] : CharSequence | provenance | MaD:50 | +| Test.java:749:31:749:32 | in : CharSequence | Test.java:749:4:749:6 | out [post update] : Intent [android.content.Intent.extras, ] : CharSequence | provenance | MaD:50 | +| Test.java:750:21:750:41 | getIntent_extras(...) : Bundle [] : CharSequence | Test.java:750:9:750:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:750:38:750:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence | provenance | | +| Test.java:750:38:750:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence | provenance | | +| Test.java:750:38:750:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:750:21:750:41 | getIntent_extras(...) : Bundle [] : CharSequence | provenance | MaD:31 | +| Test.java:750:38:750:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:750:21:750:41 | getIntent_extras(...) : Bundle [] : CharSequence | provenance | MaD:31 | +| Test.java:755:16:755:31 | (...)... : Bundle | Test.java:756:31:756:32 | in : Bundle | provenance | | +| Test.java:755:24:755:31 | source(...) : Object | Test.java:755:16:755:31 | (...)... : Bundle | provenance | | +| Test.java:756:4:756:6 | out [post update] : Intent [android.content.Intent.extras, ] : Bundle | Test.java:757:38:757:40 | out : Intent [android.content.Intent.extras, ] : Bundle | provenance | | +| Test.java:756:4:756:6 | out [post update] : Intent [android.content.Intent.extras, ] : Bundle | Test.java:757:38:757:40 | out : Intent [android.content.Intent.extras, ] : Bundle | provenance | | +| Test.java:756:31:756:32 | in : Bundle | Test.java:756:4:756:6 | out [post update] : Intent [android.content.Intent.extras, ] : Bundle | provenance | MaD:50 | +| Test.java:756:31:756:32 | in : Bundle | Test.java:756:4:756:6 | out [post update] : Intent [android.content.Intent.extras, ] : Bundle | provenance | MaD:50 | +| Test.java:757:21:757:41 | getIntent_extras(...) : Bundle [] : Bundle | Test.java:757:9:757:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:757:38:757:40 | out : Intent [android.content.Intent.extras, ] : Bundle | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Bundle | provenance | | +| Test.java:757:38:757:40 | out : Intent [android.content.Intent.extras, ] : Bundle | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Bundle | provenance | | +| Test.java:757:38:757:40 | out : Intent [android.content.Intent.extras, ] : Bundle | Test.java:757:21:757:41 | getIntent_extras(...) : Bundle [] : Bundle | provenance | MaD:31 | +| Test.java:757:38:757:40 | out : Intent [android.content.Intent.extras, ] : Bundle | Test.java:757:21:757:41 | getIntent_extras(...) : Bundle [] : Bundle | provenance | MaD:31 | +| Test.java:762:16:762:31 | (...)... : Intent | Test.java:763:10:763:11 | in : Intent | provenance | | +| Test.java:762:24:762:31 | source(...) : Object | Test.java:762:16:762:31 | (...)... : Intent | provenance | | +| Test.java:763:10:763:11 | in : Intent | Test.java:763:10:763:35 | putExtras(...) : Intent | provenance | MaD:51 | +| Test.java:763:10:763:35 | putExtras(...) : Intent | Test.java:764:9:764:11 | out | provenance | | +| Test.java:769:16:769:52 | (...)... : Bundle [] : String | Test.java:770:18:770:19 | in : Bundle [] : String | provenance | | +| Test.java:769:24:769:52 | newBundleWithMapKey(...) : Bundle [] : String | Test.java:769:16:769:52 | (...)... : Bundle [] : String | provenance | | +| Test.java:769:44:769:51 | source(...) : String | Test.java:28:29:28:36 | k : String | provenance | | +| Test.java:769:44:769:51 | source(...) : String | Test.java:769:24:769:52 | newBundleWithMapKey(...) : Bundle [] : String | provenance | MaD:105 | +| Test.java:770:4:770:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:771:36:771:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:770:4:770:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:771:36:771:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:770:18:770:19 | in : Bundle [] : String | Test.java:770:4:770:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:52 | +| Test.java:770:18:770:19 | in : Bundle [] : String | Test.java:770:4:770:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:52 | +| Test.java:771:19:771:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:771:19:771:39 | getIntent_extras(...) : Bundle [] : String | Test.java:771:9:771:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:771:36:771:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:771:36:771:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:771:36:771:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:771:19:771:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:771:36:771:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:771:19:771:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:776:16:776:54 | (...)... : Bundle [] : Object | Test.java:777:18:777:19 | in : Bundle [] : Object | provenance | | +| Test.java:776:24:776:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:776:16:776:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:776:46:776:53 | source(...) : Object | Test.java:776:24:776:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:777:4:777:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | Test.java:778:38:778:40 | out : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:777:4:777:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | Test.java:778:38:778:40 | out : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:777:18:777:19 | in : Bundle [] : Object | Test.java:777:4:777:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:53 | +| Test.java:777:18:777:19 | in : Bundle [] : Object | Test.java:777:4:777:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:53 | +| Test.java:778:21:778:41 | getIntent_extras(...) : Bundle [] : Object | Test.java:778:9:778:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:778:38:778:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:778:38:778:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:778:38:778:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:778:21:778:41 | getIntent_extras(...) : Bundle [] : Object | provenance | MaD:31 | +| Test.java:778:38:778:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:778:21:778:41 | getIntent_extras(...) : Bundle [] : Object | provenance | MaD:31 | +| Test.java:783:16:783:31 | (...)... : Intent | Test.java:784:10:784:11 | in : Intent | provenance | | +| Test.java:783:24:783:31 | source(...) : Object | Test.java:783:16:783:31 | (...)... : Intent | provenance | | +| Test.java:784:10:784:11 | in : Intent | Test.java:784:10:784:35 | putExtras(...) : Intent | provenance | MaD:54 | +| Test.java:784:10:784:35 | putExtras(...) : Intent | Test.java:785:9:785:11 | out | provenance | | +| Test.java:790:16:790:74 | (...)... : Intent [android.content.Intent.extras, ] : String | Test.java:791:18:791:19 | in : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:790:24:790:74 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : String | Test.java:790:16:790:74 | (...)... : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:790:45:790:73 | newBundleWithMapKey(...) : Bundle [] : String | Test.java:790:24:790:74 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : String | provenance | MaD:180 | +| Test.java:790:65:790:72 | source(...) : String | Test.java:28:29:28:36 | k : String | provenance | | +| Test.java:790:65:790:72 | source(...) : String | Test.java:790:45:790:73 | newBundleWithMapKey(...) : Bundle [] : String | provenance | MaD:105 | +| Test.java:791:4:791:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:792:36:792:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:791:4:791:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:792:36:792:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:791:18:791:19 | in : Intent [android.content.Intent.extras, ] : String | Test.java:791:4:791:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:55 | +| Test.java:791:18:791:19 | in : Intent [android.content.Intent.extras, ] : String | Test.java:791:4:791:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:55 | +| Test.java:792:19:792:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:792:19:792:39 | getIntent_extras(...) : Bundle [] : String | Test.java:792:9:792:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:792:36:792:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:792:36:792:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:792:36:792:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:792:19:792:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:792:36:792:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:792:19:792:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:797:16:797:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | Test.java:798:18:798:19 | in : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:797:24:797:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:797:16:797:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:797:45:797:75 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:797:24:797:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:180 | +| Test.java:797:67:797:74 | source(...) : Object | Test.java:797:45:797:75 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:798:4:798:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | Test.java:799:38:799:40 | out : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:798:4:798:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | Test.java:799:38:799:40 | out : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:798:18:798:19 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:798:4:798:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:56 | +| Test.java:798:18:798:19 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:798:4:798:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:56 | +| Test.java:799:21:799:41 | getIntent_extras(...) : Bundle [] : Object | Test.java:799:9:799:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:799:38:799:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:799:38:799:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:799:38:799:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:799:21:799:41 | getIntent_extras(...) : Bundle [] : Object | provenance | MaD:31 | +| Test.java:799:38:799:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:799:21:799:41 | getIntent_extras(...) : Bundle [] : Object | provenance | MaD:31 | +| Test.java:804:16:804:31 | (...)... : Intent | Test.java:805:10:805:11 | in : Intent | provenance | | +| Test.java:804:24:804:31 | source(...) : Object | Test.java:804:16:804:31 | (...)... : Intent | provenance | | +| Test.java:805:10:805:11 | in : Intent | Test.java:805:10:805:48 | putIntegerArrayListExtra(...) : Intent | provenance | MaD:57 | +| Test.java:805:10:805:48 | putIntegerArrayListExtra(...) : Intent | Test.java:806:9:806:11 | out | provenance | | +| Test.java:811:16:811:31 | (...)... : String | Test.java:812:33:812:34 | in : String | provenance | | +| Test.java:811:24:811:31 | source(...) : Object | Test.java:811:16:811:31 | (...)... : String | provenance | | +| Test.java:812:4:812:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:813:36:813:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:812:4:812:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:813:36:813:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:812:33:812:34 | in : String | Test.java:812:4:812:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:58 | +| Test.java:812:33:812:34 | in : String | Test.java:812:4:812:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:58 | +| Test.java:813:19:813:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:813:19:813:39 | getIntent_extras(...) : Bundle [] : String | Test.java:813:9:813:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:813:36:813:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:813:36:813:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:813:36:813:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:813:19:813:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:813:36:813:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:813:19:813:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:818:16:818:31 | (...)... : Intent | Test.java:819:10:819:11 | in : Intent | provenance | | +| Test.java:818:24:818:31 | source(...) : Object | Test.java:818:16:818:31 | (...)... : Intent | provenance | | +| Test.java:819:10:819:11 | in : Intent | Test.java:819:10:819:51 | putParcelableArrayListExtra(...) : Intent | provenance | MaD:59 | +| Test.java:819:10:819:51 | putParcelableArrayListExtra(...) : Intent | Test.java:820:9:820:11 | out | provenance | | +| Test.java:825:16:825:31 | (...)... : String | Test.java:826:36:826:37 | in : String | provenance | | +| Test.java:825:24:825:31 | source(...) : Object | Test.java:825:16:825:31 | (...)... : String | provenance | | +| Test.java:826:4:826:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:827:36:827:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:826:4:826:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:827:36:827:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:826:36:826:37 | in : String | Test.java:826:4:826:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:60 | +| Test.java:826:36:826:37 | in : String | Test.java:826:4:826:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:60 | +| Test.java:827:19:827:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:827:19:827:39 | getIntent_extras(...) : Bundle [] : String | Test.java:827:9:827:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:827:36:827:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:827:36:827:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:827:36:827:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:827:19:827:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:827:36:827:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:827:19:827:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:832:19:832:37 | (...)... : ArrayList | Test.java:833:42:833:43 | in : ArrayList | provenance | | +| Test.java:832:30:832:37 | source(...) : Object | Test.java:832:19:832:37 | (...)... : ArrayList | provenance | | +| Test.java:833:4:833:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:834:38:834:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | provenance | | +| Test.java:833:4:833:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:834:38:834:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | provenance | | +| Test.java:833:42:833:43 | in : ArrayList | Test.java:833:4:833:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | provenance | MaD:61 | +| Test.java:833:42:833:43 | in : ArrayList | Test.java:833:4:833:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | provenance | MaD:61 | +| Test.java:834:21:834:41 | getIntent_extras(...) : Bundle [] : ArrayList | Test.java:834:9:834:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:834:38:834:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : ArrayList | provenance | | +| Test.java:834:38:834:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : ArrayList | provenance | | +| Test.java:834:38:834:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:834:21:834:41 | getIntent_extras(...) : Bundle [] : ArrayList | provenance | MaD:31 | +| Test.java:834:38:834:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:834:21:834:41 | getIntent_extras(...) : Bundle [] : ArrayList | provenance | MaD:31 | +| Test.java:839:16:839:31 | (...)... : Intent | Test.java:840:10:840:11 | in : Intent | provenance | | +| Test.java:839:24:839:31 | source(...) : Object | Test.java:839:16:839:31 | (...)... : Intent | provenance | | +| Test.java:840:10:840:11 | in : Intent | Test.java:840:10:840:47 | putStringArrayListExtra(...) : Intent | provenance | MaD:62 | +| Test.java:840:10:840:47 | putStringArrayListExtra(...) : Intent | Test.java:841:9:841:11 | out | provenance | | +| Test.java:846:16:846:31 | (...)... : String | Test.java:847:32:847:33 | in : String | provenance | | +| Test.java:846:24:846:31 | source(...) : Object | Test.java:846:16:846:31 | (...)... : String | provenance | | +| Test.java:847:4:847:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:848:36:848:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:847:4:847:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:848:36:848:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:847:32:847:33 | in : String | Test.java:847:4:847:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:63 | +| Test.java:847:32:847:33 | in : String | Test.java:847:4:847:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:63 | +| Test.java:848:19:848:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:848:19:848:39 | getIntent_extras(...) : Bundle [] : String | Test.java:848:9:848:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:848:36:848:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:848:36:848:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:848:36:848:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:848:19:848:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:848:36:848:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:848:19:848:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:853:19:853:37 | (...)... : ArrayList | Test.java:854:38:854:39 | in : ArrayList | provenance | | +| Test.java:853:30:853:37 | source(...) : Object | Test.java:853:19:853:37 | (...)... : ArrayList | provenance | | +| Test.java:854:4:854:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:855:38:855:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | provenance | | +| Test.java:854:4:854:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:855:38:855:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | provenance | | +| Test.java:854:38:854:39 | in : ArrayList | Test.java:854:4:854:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | provenance | MaD:64 | +| Test.java:854:38:854:39 | in : ArrayList | Test.java:854:4:854:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | provenance | MaD:64 | +| Test.java:855:21:855:41 | getIntent_extras(...) : Bundle [] : ArrayList | Test.java:855:9:855:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:855:38:855:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : ArrayList | provenance | | +| Test.java:855:38:855:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : ArrayList | provenance | | +| Test.java:855:38:855:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:855:21:855:41 | getIntent_extras(...) : Bundle [] : ArrayList | provenance | MaD:31 | +| Test.java:855:38:855:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:855:21:855:41 | getIntent_extras(...) : Bundle [] : ArrayList | provenance | MaD:31 | +| Test.java:860:16:860:31 | (...)... : Intent | Test.java:861:10:861:11 | in : Intent | provenance | | +| Test.java:860:24:860:31 | source(...) : Object | Test.java:860:16:860:31 | (...)... : Intent | provenance | | +| Test.java:861:10:861:11 | in : Intent | Test.java:861:10:861:39 | replaceExtras(...) : Intent | provenance | MaD:65 | +| Test.java:861:10:861:39 | replaceExtras(...) : Intent | Test.java:862:9:862:11 | out | provenance | | +| Test.java:867:16:867:52 | (...)... : Bundle [] : String | Test.java:868:22:868:23 | in : Bundle [] : String | provenance | | +| Test.java:867:24:867:52 | newBundleWithMapKey(...) : Bundle [] : String | Test.java:867:16:867:52 | (...)... : Bundle [] : String | provenance | | +| Test.java:867:44:867:51 | source(...) : String | Test.java:28:29:28:36 | k : String | provenance | | +| Test.java:867:44:867:51 | source(...) : String | Test.java:867:24:867:52 | newBundleWithMapKey(...) : Bundle [] : String | provenance | MaD:105 | +| Test.java:868:4:868:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:869:36:869:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:868:4:868:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:869:36:869:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:868:22:868:23 | in : Bundle [] : String | Test.java:868:4:868:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:66 | +| Test.java:868:22:868:23 | in : Bundle [] : String | Test.java:868:4:868:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:66 | +| Test.java:869:19:869:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:869:19:869:39 | getIntent_extras(...) : Bundle [] : String | Test.java:869:9:869:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:869:36:869:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:869:36:869:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:869:36:869:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:869:19:869:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:869:36:869:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:869:19:869:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:874:16:874:54 | (...)... : Bundle [] : Object | Test.java:875:22:875:23 | in : Bundle [] : Object | provenance | | +| Test.java:874:24:874:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:874:16:874:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:874:46:874:53 | source(...) : Object | Test.java:874:24:874:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:875:4:875:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | Test.java:876:38:876:40 | out : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:875:4:875:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | Test.java:876:38:876:40 | out : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:875:22:875:23 | in : Bundle [] : Object | Test.java:875:4:875:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:67 | +| Test.java:875:22:875:23 | in : Bundle [] : Object | Test.java:875:4:875:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:67 | +| Test.java:876:21:876:41 | getIntent_extras(...) : Bundle [] : Object | Test.java:876:9:876:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:876:38:876:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:876:38:876:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:876:38:876:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:876:21:876:41 | getIntent_extras(...) : Bundle [] : Object | provenance | MaD:31 | +| Test.java:876:38:876:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:876:21:876:41 | getIntent_extras(...) : Bundle [] : Object | provenance | MaD:31 | +| Test.java:881:16:881:31 | (...)... : Intent | Test.java:882:10:882:11 | in : Intent | provenance | | +| Test.java:881:24:881:31 | source(...) : Object | Test.java:881:16:881:31 | (...)... : Intent | provenance | | +| Test.java:882:10:882:11 | in : Intent | Test.java:882:10:882:39 | replaceExtras(...) : Intent | provenance | MaD:68 | +| Test.java:882:10:882:39 | replaceExtras(...) : Intent | Test.java:883:9:883:11 | out | provenance | | +| Test.java:888:16:888:74 | (...)... : Intent [android.content.Intent.extras, ] : String | Test.java:889:22:889:23 | in : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:888:24:888:74 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : String | Test.java:888:16:888:74 | (...)... : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:888:45:888:73 | newBundleWithMapKey(...) : Bundle [] : String | Test.java:888:24:888:74 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : String | provenance | MaD:180 | +| Test.java:888:65:888:72 | source(...) : String | Test.java:28:29:28:36 | k : String | provenance | | +| Test.java:888:65:888:72 | source(...) : String | Test.java:888:45:888:73 | newBundleWithMapKey(...) : Bundle [] : String | provenance | MaD:105 | +| Test.java:889:4:889:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:890:36:890:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:889:4:889:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | Test.java:890:36:890:38 | out : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:889:22:889:23 | in : Intent [android.content.Intent.extras, ] : String | Test.java:889:4:889:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:69 | +| Test.java:889:22:889:23 | in : Intent [android.content.Intent.extras, ] : String | Test.java:889:4:889:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:69 | +| Test.java:890:19:890:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:890:19:890:39 | getIntent_extras(...) : Bundle [] : String | Test.java:890:9:890:40 | getMapKey(...) | provenance | MaD:98 | +| Test.java:890:36:890:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:890:36:890:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | provenance | | +| Test.java:890:36:890:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:890:19:890:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:890:36:890:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:890:19:890:39 | getIntent_extras(...) : Bundle [] : String | provenance | MaD:31 | +| Test.java:895:16:895:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | Test.java:896:22:896:23 | in : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:895:24:895:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | Test.java:895:16:895:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:895:45:895:75 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:895:24:895:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:180 | +| Test.java:895:67:895:74 | source(...) : Object | Test.java:895:45:895:75 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:896:4:896:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | Test.java:897:38:897:40 | out : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:896:4:896:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | Test.java:897:38:897:40 | out : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:896:22:896:23 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:896:4:896:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:70 | +| Test.java:896:22:896:23 | in : Intent [android.content.Intent.extras, ] : Object | Test.java:896:4:896:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | provenance | MaD:70 | +| Test.java:897:21:897:41 | getIntent_extras(...) : Bundle [] : Object | Test.java:897:9:897:42 | getMapValue(...) | provenance | MaD:179 | +| Test.java:897:38:897:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:897:38:897:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | provenance | | +| Test.java:897:38:897:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:897:21:897:41 | getIntent_extras(...) : Bundle [] : Object | provenance | MaD:31 | +| Test.java:897:38:897:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:897:21:897:41 | getIntent_extras(...) : Bundle [] : Object | provenance | MaD:31 | +| Test.java:902:16:902:31 | (...)... : Intent | Test.java:903:10:903:11 | in : Intent | provenance | | +| Test.java:902:24:902:31 | source(...) : Object | Test.java:902:16:902:31 | (...)... : Intent | provenance | | +| Test.java:903:10:903:11 | in : Intent | Test.java:903:10:903:27 | setAction(...) : Intent | provenance | MaD:71 | +| Test.java:903:10:903:27 | setAction(...) : Intent | Test.java:904:9:904:11 | out | provenance | | +| Test.java:909:16:909:31 | (...)... : Intent | Test.java:910:10:910:11 | in : Intent | provenance | | +| Test.java:909:24:909:31 | source(...) : Object | Test.java:909:16:909:31 | (...)... : Intent | provenance | | +| Test.java:910:10:910:11 | in : Intent | Test.java:910:10:910:32 | setClass(...) : Intent | provenance | MaD:72 | +| Test.java:910:10:910:32 | setClass(...) : Intent | Test.java:911:9:911:11 | out | provenance | | +| Test.java:916:16:916:31 | (...)... : Intent | Test.java:917:10:917:11 | in : Intent | provenance | | +| Test.java:916:24:916:31 | source(...) : Object | Test.java:916:16:916:31 | (...)... : Intent | provenance | | +| Test.java:917:10:917:11 | in : Intent | Test.java:917:10:917:52 | setClassName(...) : Intent | provenance | MaD:74 | +| Test.java:917:10:917:52 | setClassName(...) : Intent | Test.java:918:9:918:11 | out | provenance | | +| Test.java:923:16:923:31 | (...)... : Intent | Test.java:924:10:924:11 | in : Intent | provenance | | +| Test.java:923:24:923:31 | source(...) : Object | Test.java:923:16:923:31 | (...)... : Intent | provenance | | +| Test.java:924:10:924:11 | in : Intent | Test.java:924:10:924:53 | setClassName(...) : Intent | provenance | MaD:74 | +| Test.java:924:10:924:53 | setClassName(...) : Intent | Test.java:925:9:925:11 | out | provenance | | +| Test.java:930:16:930:31 | (...)... : Intent | Test.java:931:10:931:11 | in : Intent | provenance | | +| Test.java:930:24:930:31 | source(...) : Object | Test.java:930:16:930:31 | (...)... : Intent | provenance | | +| Test.java:931:10:931:11 | in : Intent | Test.java:931:10:931:30 | setComponent(...) : Intent | provenance | MaD:77 | +| Test.java:931:10:931:30 | setComponent(...) : Intent | Test.java:932:9:932:11 | out | provenance | | +| Test.java:937:16:937:31 | (...)... : Intent | Test.java:938:10:938:11 | in : Intent | provenance | | +| Test.java:937:24:937:31 | source(...) : Object | Test.java:937:16:937:31 | (...)... : Intent | provenance | | +| Test.java:938:10:938:11 | in : Intent | Test.java:938:10:938:25 | setData(...) : Intent | provenance | MaD:79 | +| Test.java:938:10:938:25 | setData(...) : Intent | Test.java:939:9:939:11 | out | provenance | | +| Test.java:943:13:943:25 | (...)... : Uri | Test.java:945:21:945:22 | in : Uri | provenance | | +| Test.java:943:18:943:25 | source(...) : Object | Test.java:943:13:943:25 | (...)... : Uri | provenance | | +| Test.java:945:4:945:11 | instance [post update] : Intent [android.content.Intent.data] : Uri | Test.java:946:9:946:16 | instance : Intent [android.content.Intent.data] : Uri | provenance | | +| Test.java:945:21:945:22 | in : Uri | Test.java:945:4:945:11 | instance [post update] : Intent [android.content.Intent.data] : Uri | provenance | MaD:80 | +| Test.java:946:9:946:16 | instance : Intent [android.content.Intent.data] : Uri | Test.java:946:9:946:26 | getData(...) | provenance | MaD:29 | +| Test.java:950:13:950:25 | (...)... : Uri | Test.java:952:33:952:34 | in : Uri | provenance | | +| Test.java:950:18:950:25 | source(...) : Object | Test.java:950:13:950:25 | (...)... : Uri | provenance | | +| Test.java:952:4:952:11 | instance [post update] : Intent [android.content.Intent.data] : Uri | Test.java:953:9:953:16 | instance : Intent [android.content.Intent.data] : Uri | provenance | | +| Test.java:952:33:952:34 | in : Uri | Test.java:952:4:952:11 | instance [post update] : Intent [android.content.Intent.data] : Uri | provenance | MaD:82 | +| Test.java:953:9:953:16 | instance : Intent [android.content.Intent.data] : Uri | Test.java:953:9:953:26 | getData(...) | provenance | MaD:29 | +| Test.java:957:13:957:25 | (...)... : Uri | Test.java:959:28:959:29 | in : Uri | provenance | | +| Test.java:957:18:957:25 | source(...) : Object | Test.java:957:13:957:25 | (...)... : Uri | provenance | | +| Test.java:959:4:959:11 | instance [post update] : Intent [android.content.Intent.data] : Uri | Test.java:960:9:960:16 | instance : Intent [android.content.Intent.data] : Uri | provenance | | +| Test.java:959:28:959:29 | in : Uri | Test.java:959:4:959:11 | instance [post update] : Intent [android.content.Intent.data] : Uri | provenance | MaD:84 | +| Test.java:960:9:960:16 | instance : Intent [android.content.Intent.data] : Uri | Test.java:960:9:960:26 | getData(...) | provenance | MaD:29 | +| Test.java:964:13:964:25 | (...)... : Uri | Test.java:966:40:966:41 | in : Uri | provenance | | +| Test.java:964:18:964:25 | source(...) : Object | Test.java:964:13:964:25 | (...)... : Uri | provenance | | +| Test.java:966:4:966:11 | instance [post update] : Intent [android.content.Intent.data] : Uri | Test.java:967:9:967:16 | instance : Intent [android.content.Intent.data] : Uri | provenance | | +| Test.java:966:40:966:41 | in : Uri | Test.java:966:4:966:11 | instance [post update] : Intent [android.content.Intent.data] : Uri | provenance | MaD:86 | +| Test.java:967:9:967:16 | instance : Intent [android.content.Intent.data] : Uri | Test.java:967:9:967:26 | getData(...) | provenance | MaD:29 | +| Test.java:972:16:972:31 | (...)... : Intent | Test.java:973:10:973:11 | in : Intent | provenance | | +| Test.java:972:24:972:31 | source(...) : Object | Test.java:972:16:972:31 | (...)... : Intent | provenance | | +| Test.java:973:10:973:11 | in : Intent | Test.java:973:10:973:37 | setDataAndNormalize(...) : Intent | provenance | MaD:81 | +| Test.java:973:10:973:37 | setDataAndNormalize(...) : Intent | Test.java:974:9:974:11 | out | provenance | | +| Test.java:979:16:979:31 | (...)... : Intent | Test.java:980:10:980:11 | in : Intent | provenance | | +| Test.java:979:24:979:31 | source(...) : Object | Test.java:979:16:979:31 | (...)... : Intent | provenance | | +| Test.java:980:10:980:11 | in : Intent | Test.java:980:10:980:38 | setDataAndType(...) : Intent | provenance | MaD:83 | +| Test.java:980:10:980:38 | setDataAndType(...) : Intent | Test.java:981:9:981:11 | out | provenance | | +| Test.java:986:16:986:31 | (...)... : Intent | Test.java:987:10:987:11 | in : Intent | provenance | | +| Test.java:986:24:986:31 | source(...) : Object | Test.java:986:16:986:31 | (...)... : Intent | provenance | | +| Test.java:987:10:987:11 | in : Intent | Test.java:987:10:987:50 | setDataAndTypeAndNormalize(...) : Intent | provenance | MaD:85 | +| Test.java:987:10:987:50 | setDataAndTypeAndNormalize(...) : Intent | Test.java:988:9:988:11 | out | provenance | | +| Test.java:993:16:993:31 | (...)... : Intent | Test.java:994:10:994:11 | in : Intent | provenance | | +| Test.java:993:24:993:31 | source(...) : Object | Test.java:993:16:993:31 | (...)... : Intent | provenance | | +| Test.java:994:10:994:11 | in : Intent | Test.java:994:10:994:23 | setFlags(...) : Intent | provenance | MaD:87 | +| Test.java:994:10:994:23 | setFlags(...) : Intent | Test.java:995:9:995:11 | out | provenance | | +| Test.java:1000:16:1000:31 | (...)... : Intent | Test.java:1001:10:1001:11 | in : Intent | provenance | | +| Test.java:1000:24:1000:31 | source(...) : Object | Test.java:1000:16:1000:31 | (...)... : Intent | provenance | | +| Test.java:1001:10:1001:11 | in : Intent | Test.java:1001:10:1001:31 | setIdentifier(...) : Intent | provenance | MaD:88 | +| Test.java:1001:10:1001:31 | setIdentifier(...) : Intent | Test.java:1002:9:1002:11 | out | provenance | | +| Test.java:1007:16:1007:31 | (...)... : Intent | Test.java:1008:10:1008:11 | in : Intent | provenance | | +| Test.java:1007:24:1007:31 | source(...) : Object | Test.java:1007:16:1007:31 | (...)... : Intent | provenance | | +| Test.java:1008:10:1008:11 | in : Intent | Test.java:1008:10:1008:28 | setPackage(...) : Intent | provenance | MaD:89 | +| Test.java:1008:10:1008:28 | setPackage(...) : Intent | Test.java:1009:9:1009:11 | out | provenance | | +| Test.java:1014:16:1014:31 | (...)... : Intent | Test.java:1015:10:1015:11 | in : Intent | provenance | | +| Test.java:1014:24:1014:31 | source(...) : Object | Test.java:1014:16:1014:31 | (...)... : Intent | provenance | | +| Test.java:1015:10:1015:11 | in : Intent | Test.java:1015:10:1015:25 | setType(...) : Intent | provenance | MaD:91 | +| Test.java:1015:10:1015:25 | setType(...) : Intent | Test.java:1016:9:1016:11 | out | provenance | | +| Test.java:1021:16:1021:31 | (...)... : Intent | Test.java:1022:10:1022:11 | in : Intent | provenance | | +| Test.java:1021:24:1021:31 | source(...) : Object | Test.java:1021:16:1021:31 | (...)... : Intent | provenance | | +| Test.java:1022:10:1022:11 | in : Intent | Test.java:1022:10:1022:37 | setTypeAndNormalize(...) : Intent | provenance | MaD:92 | +| Test.java:1022:10:1022:37 | setTypeAndNormalize(...) : Intent | Test.java:1023:9:1023:11 | out | provenance | | +| Test.java:1028:20:1028:62 | (...)... : Bundle [] : Object | Test.java:1029:10:1029:11 | in : Bundle [] : Object | provenance | | +| Test.java:1028:32:1028:62 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1028:20:1028:62 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1028:54:1028:61 | source(...) : Object | Test.java:1028:32:1028:62 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1029:10:1029:11 | in : Bundle [] : Object | Test.java:1029:10:1029:21 | get(...) : Object | provenance | MaD:93 | +| Test.java:1029:10:1029:21 | get(...) : Object | Test.java:1030:9:1030:11 | out | provenance | | +| Test.java:1035:20:1035:62 | (...)... : Bundle [] : Object | Test.java:1036:10:1036:11 | in : Bundle [] : Object | provenance | | +| Test.java:1035:32:1035:62 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1035:20:1035:62 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1035:54:1035:61 | source(...) : Object | Test.java:1035:32:1035:62 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1036:10:1036:11 | in : Bundle [] : Object | Test.java:1036:10:1036:27 | getString(...) : String | provenance | MaD:94 | +| Test.java:1036:10:1036:27 | getString(...) : String | Test.java:1037:9:1037:11 | out | provenance | | +| Test.java:1042:16:1042:31 | (...)... : String | Test.java:1044:35:1044:36 | in : String | provenance | | +| Test.java:1042:24:1042:31 | source(...) : Object | Test.java:1042:16:1042:31 | (...)... : String | provenance | | +| Test.java:1044:10:1044:37 | getString(...) : String | Test.java:1045:9:1045:11 | out | provenance | | +| Test.java:1044:35:1044:36 | in : String | Test.java:1044:10:1044:37 | getString(...) : String | provenance | MaD:96 | +| Test.java:1050:20:1050:62 | (...)... : Bundle [] : Object | Test.java:1051:10:1051:11 | in : Bundle [] : Object | provenance | | +| Test.java:1050:32:1050:62 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1050:20:1050:62 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1050:54:1050:61 | source(...) : Object | Test.java:1050:32:1050:62 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1051:10:1051:11 | in : Bundle [] : Object | Test.java:1051:10:1051:33 | getString(...) : String | provenance | MaD:95 | +| Test.java:1051:10:1051:33 | getString(...) : String | Test.java:1052:9:1052:11 | out | provenance | | +| Test.java:1057:20:1057:62 | (...)... : Bundle [] : Object | Test.java:1058:10:1058:11 | in : Bundle [] : Object | provenance | | +| Test.java:1057:32:1057:62 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1057:20:1057:62 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1057:54:1057:61 | source(...) : Object | Test.java:1057:32:1057:62 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1058:10:1058:11 | in : Bundle [] : Object | Test.java:1058:10:1058:32 | getStringArray(...) : String[] | provenance | MaD:97 | +| Test.java:1058:10:1058:32 | getStringArray(...) : String[] | Test.java:1059:9:1059:11 | out | provenance | | +| Test.java:1064:20:1064:60 | (...)... : Bundle [] : String | Test.java:1065:10:1065:11 | in : Bundle [] : String | provenance | | +| Test.java:1064:32:1064:60 | newBundleWithMapKey(...) : Bundle [] : String | Test.java:1064:20:1064:60 | (...)... : Bundle [] : String | provenance | | +| Test.java:1064:52:1064:59 | source(...) : String | Test.java:28:29:28:36 | k : String | provenance | | +| Test.java:1064:52:1064:59 | source(...) : String | Test.java:1064:32:1064:60 | newBundleWithMapKey(...) : Bundle [] : String | provenance | MaD:105 | +| Test.java:1065:10:1065:11 | in : Bundle [] : String | Test.java:1065:10:1065:20 | keySet(...) : Set [] : String | provenance | MaD:98 | +| Test.java:1065:10:1065:20 | keySet(...) : Set [] : String | Test.java:1066:20:1066:22 | out : Set [] : String | provenance | | +| Test.java:1066:20:1066:22 | out : Set [] : String | Test.java:22:19:22:32 | it : Set [] : String | provenance | | +| Test.java:1066:20:1066:22 | out : Set [] : String | Test.java:1066:9:1066:23 | getElement(...) | provenance | MaD:175 | +| Test.java:1071:27:1071:66 | newPersistableBundleWithMapKey(...) : PersistableBundle [] : String | Test.java:1072:15:1072:16 | in : PersistableBundle [] : String | provenance | | +| Test.java:1071:58:1071:65 | source(...) : String | Test.java:29:51:29:58 | k : String | provenance | | +| Test.java:1071:58:1071:65 | source(...) : String | Test.java:1071:27:1071:66 | newPersistableBundleWithMapKey(...) : PersistableBundle [] : String | provenance | MaD:105 | +| Test.java:1072:4:1072:6 | out [post update] : BaseBundle [] : String | Test.java:1073:19:1073:21 | out : BaseBundle [] : String | provenance | | +| Test.java:1072:15:1072:16 | in : PersistableBundle [] : String | Test.java:1072:4:1072:6 | out [post update] : BaseBundle [] : String | provenance | MaD:99 | +| Test.java:1073:19:1073:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | provenance | | +| Test.java:1073:19:1073:21 | out : BaseBundle [] : String | Test.java:1073:9:1073:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1078:27:1078:68 | newPersistableBundleWithMapValue(...) : PersistableBundle [] : Object | Test.java:1079:15:1079:16 | in : PersistableBundle [] : Object | provenance | | +| Test.java:1078:60:1078:67 | source(...) : Object | Test.java:1078:27:1078:68 | newPersistableBundleWithMapValue(...) : PersistableBundle [] : Object | provenance | MaD:178 | +| Test.java:1079:4:1079:6 | out [post update] : BaseBundle [] : Object | Test.java:1080:21:1080:23 | out : BaseBundle [] : Object | provenance | | +| Test.java:1079:15:1079:16 | in : PersistableBundle [] : Object | Test.java:1079:4:1079:6 | out [post update] : BaseBundle [] : Object | provenance | MaD:100 | +| Test.java:1080:21:1080:23 | out : BaseBundle [] : Object | Test.java:1080:9:1080:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1085:16:1085:31 | (...)... : String | Test.java:1086:19:1086:20 | in : String | provenance | | +| Test.java:1085:24:1085:31 | source(...) : Object | Test.java:1085:16:1085:31 | (...)... : String | provenance | | +| Test.java:1086:4:1086:6 | out [post update] : BaseBundle [] : String | Test.java:1087:19:1087:21 | out : BaseBundle [] : String | provenance | | +| Test.java:1086:19:1086:20 | in : String | Test.java:1086:4:1086:6 | out [post update] : BaseBundle [] : String | provenance | MaD:101 | +| Test.java:1087:19:1087:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | provenance | | +| Test.java:1087:19:1087:21 | out : BaseBundle [] : String | Test.java:1087:9:1087:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1092:16:1092:31 | (...)... : String | Test.java:1093:24:1093:25 | in : String | provenance | | +| Test.java:1092:24:1092:31 | source(...) : Object | Test.java:1092:16:1092:31 | (...)... : String | provenance | | +| Test.java:1093:4:1093:6 | out [post update] : BaseBundle [] : String | Test.java:1094:19:1094:21 | out : BaseBundle [] : String | provenance | | +| Test.java:1093:24:1093:25 | in : String | Test.java:1093:4:1093:6 | out [post update] : BaseBundle [] : String | provenance | MaD:102 | +| Test.java:1094:19:1094:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | provenance | | +| Test.java:1094:19:1094:21 | out : BaseBundle [] : String | Test.java:1094:9:1094:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1099:16:1099:31 | (...)... : String | Test.java:1100:18:1100:19 | in : String | provenance | | +| Test.java:1099:24:1099:31 | source(...) : Object | Test.java:1099:16:1099:31 | (...)... : String | provenance | | +| Test.java:1100:4:1100:6 | out [post update] : BaseBundle [] : String | Test.java:1101:19:1101:21 | out : BaseBundle [] : String | provenance | | +| Test.java:1100:18:1100:19 | in : String | Test.java:1100:4:1100:6 | out [post update] : BaseBundle [] : String | provenance | MaD:103 | +| Test.java:1101:19:1101:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | provenance | | +| Test.java:1101:19:1101:21 | out : BaseBundle [] : String | Test.java:1101:9:1101:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1106:16:1106:31 | (...)... : String | Test.java:1107:23:1107:24 | in : String | provenance | | +| Test.java:1106:24:1106:31 | source(...) : Object | Test.java:1106:16:1106:31 | (...)... : String | provenance | | +| Test.java:1107:4:1107:6 | out [post update] : BaseBundle [] : String | Test.java:1108:19:1108:21 | out : BaseBundle [] : String | provenance | | +| Test.java:1107:23:1107:24 | in : String | Test.java:1107:4:1107:6 | out [post update] : BaseBundle [] : String | provenance | MaD:104 | +| Test.java:1108:19:1108:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | provenance | | +| Test.java:1108:19:1108:21 | out : BaseBundle [] : String | Test.java:1108:9:1108:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1113:16:1113:31 | (...)... : String | Test.java:1114:15:1114:16 | in : String | provenance | | +| Test.java:1113:24:1113:31 | source(...) : Object | Test.java:1113:16:1113:31 | (...)... : String | provenance | | +| Test.java:1114:4:1114:6 | out [post update] : BaseBundle [] : String | Test.java:1115:19:1115:21 | out : BaseBundle [] : String | provenance | | +| Test.java:1114:15:1114:16 | in : String | Test.java:1114:4:1114:6 | out [post update] : BaseBundle [] : String | provenance | MaD:105 | +| Test.java:1115:19:1115:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | provenance | | +| Test.java:1115:19:1115:21 | out : BaseBundle [] : String | Test.java:1115:9:1115:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1120:16:1120:31 | (...)... : String | Test.java:1121:20:1121:21 | in : String | provenance | | +| Test.java:1120:24:1120:31 | source(...) : Object | Test.java:1120:16:1120:31 | (...)... : String | provenance | | +| Test.java:1121:4:1121:6 | out [post update] : BaseBundle [] : String | Test.java:1122:19:1122:21 | out : BaseBundle [] : String | provenance | | +| Test.java:1121:20:1121:21 | in : String | Test.java:1121:4:1121:6 | out [post update] : BaseBundle [] : String | provenance | MaD:106 | +| Test.java:1122:19:1122:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | provenance | | +| Test.java:1122:19:1122:21 | out : BaseBundle [] : String | Test.java:1122:9:1122:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1127:16:1127:31 | (...)... : String | Test.java:1128:16:1128:17 | in : String | provenance | | +| Test.java:1127:24:1127:31 | source(...) : Object | Test.java:1127:16:1127:31 | (...)... : String | provenance | | +| Test.java:1128:4:1128:6 | out [post update] : BaseBundle [] : String | Test.java:1129:19:1129:21 | out : BaseBundle [] : String | provenance | | +| Test.java:1128:16:1128:17 | in : String | Test.java:1128:4:1128:6 | out [post update] : BaseBundle [] : String | provenance | MaD:107 | +| Test.java:1129:19:1129:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | provenance | | +| Test.java:1129:19:1129:21 | out : BaseBundle [] : String | Test.java:1129:9:1129:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1134:16:1134:31 | (...)... : String | Test.java:1135:21:1135:22 | in : String | provenance | | +| Test.java:1134:24:1134:31 | source(...) : Object | Test.java:1134:16:1134:31 | (...)... : String | provenance | | +| Test.java:1135:4:1135:6 | out [post update] : BaseBundle [] : String | Test.java:1136:19:1136:21 | out : BaseBundle [] : String | provenance | | +| Test.java:1135:21:1135:22 | in : String | Test.java:1135:4:1135:6 | out [post update] : BaseBundle [] : String | provenance | MaD:108 | +| Test.java:1136:19:1136:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | provenance | | +| Test.java:1136:19:1136:21 | out : BaseBundle [] : String | Test.java:1136:9:1136:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1141:16:1141:31 | (...)... : String | Test.java:1142:18:1142:19 | in : String | provenance | | +| Test.java:1141:24:1141:31 | source(...) : Object | Test.java:1141:16:1141:31 | (...)... : String | provenance | | +| Test.java:1142:4:1142:6 | out [post update] : BaseBundle [] : String | Test.java:1143:19:1143:21 | out : BaseBundle [] : String | provenance | | +| Test.java:1142:18:1142:19 | in : String | Test.java:1142:4:1142:6 | out [post update] : BaseBundle [] : String | provenance | MaD:109 | +| Test.java:1143:19:1143:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | provenance | | +| Test.java:1143:19:1143:21 | out : BaseBundle [] : String | Test.java:1143:9:1143:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1148:16:1148:31 | (...)... : String | Test.java:1149:24:1149:25 | in : String | provenance | | +| Test.java:1148:24:1148:31 | source(...) : Object | Test.java:1148:16:1148:31 | (...)... : String | provenance | | +| Test.java:1149:4:1149:6 | out [post update] : BaseBundle [] : String | Test.java:1150:21:1150:23 | out : BaseBundle [] : String | provenance | | +| Test.java:1149:24:1149:25 | in : String | Test.java:1149:4:1149:6 | out [post update] : BaseBundle [] : String | provenance | MaD:110 | +| Test.java:1150:21:1150:23 | out : BaseBundle [] : String | Test.java:1150:9:1150:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1155:16:1155:31 | (...)... : String | Test.java:1156:23:1156:24 | in : String | provenance | | +| Test.java:1155:24:1155:31 | source(...) : Object | Test.java:1155:16:1155:31 | (...)... : String | provenance | | +| Test.java:1156:4:1156:6 | out [post update] : BaseBundle [] : String | Test.java:1157:19:1157:21 | out : BaseBundle [] : String | provenance | | +| Test.java:1156:23:1156:24 | in : String | Test.java:1156:4:1156:6 | out [post update] : BaseBundle [] : String | provenance | MaD:111 | +| Test.java:1157:19:1157:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | provenance | | +| Test.java:1157:19:1157:21 | out : BaseBundle [] : String | Test.java:1157:9:1157:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1162:18:1162:35 | (...)... : String[] | Test.java:1163:29:1163:30 | in : String[] | provenance | | +| Test.java:1162:28:1162:35 | source(...) : Object | Test.java:1162:18:1162:35 | (...)... : String[] | provenance | | +| Test.java:1163:4:1163:6 | out [post update] : BaseBundle [] : String[] | Test.java:1164:21:1164:23 | out : BaseBundle [] : String[] | provenance | | +| Test.java:1163:29:1163:30 | in : String[] | Test.java:1163:4:1163:6 | out [post update] : BaseBundle [] : String[] | provenance | MaD:112 | +| Test.java:1164:21:1164:23 | out : BaseBundle [] : String[] | Test.java:1164:9:1164:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1169:16:1169:52 | (...)... : Bundle [] : String | Test.java:1170:21:1170:22 | in : Bundle [] : String | provenance | | +| Test.java:1169:24:1169:52 | newBundleWithMapKey(...) : Bundle [] : String | Test.java:1169:16:1169:52 | (...)... : Bundle [] : String | provenance | | +| Test.java:1169:44:1169:51 | source(...) : String | Test.java:28:29:28:36 | k : String | provenance | | +| Test.java:1169:44:1169:51 | source(...) : String | Test.java:1169:24:1169:52 | newBundleWithMapKey(...) : Bundle [] : String | provenance | MaD:105 | +| Test.java:1170:10:1170:23 | new Bundle(...) : Bundle [] : String | Test.java:1171:19:1171:21 | out : Bundle [] : String | provenance | | +| Test.java:1170:21:1170:22 | in : Bundle [] : String | Test.java:1170:10:1170:23 | new Bundle(...) : Bundle [] : String | provenance | MaD:113 | +| Test.java:1171:19:1171:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1171:19:1171:21 | out : Bundle [] : String | Test.java:1171:9:1171:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1176:16:1176:54 | (...)... : Bundle [] : Object | Test.java:1177:21:1177:22 | in : Bundle [] : Object | provenance | | +| Test.java:1176:24:1176:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1176:16:1176:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1176:46:1176:53 | source(...) : Object | Test.java:1176:24:1176:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1177:10:1177:23 | new Bundle(...) : Bundle [] : Object | Test.java:1178:21:1178:23 | out : Bundle [] : Object | provenance | | +| Test.java:1177:21:1177:22 | in : Bundle [] : Object | Test.java:1177:10:1177:23 | new Bundle(...) : Bundle [] : Object | provenance | MaD:114 | +| Test.java:1178:21:1178:23 | out : Bundle [] : Object | Test.java:1178:9:1178:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1183:27:1183:66 | newPersistableBundleWithMapKey(...) : PersistableBundle [] : String | Test.java:1184:21:1184:22 | in : PersistableBundle [] : String | provenance | | +| Test.java:1183:58:1183:65 | source(...) : String | Test.java:29:51:29:58 | k : String | provenance | | +| Test.java:1183:58:1183:65 | source(...) : String | Test.java:1183:27:1183:66 | newPersistableBundleWithMapKey(...) : PersistableBundle [] : String | provenance | MaD:105 | +| Test.java:1184:10:1184:23 | new Bundle(...) : Bundle [] : String | Test.java:1185:19:1185:21 | out : Bundle [] : String | provenance | | +| Test.java:1184:21:1184:22 | in : PersistableBundle [] : String | Test.java:1184:10:1184:23 | new Bundle(...) : Bundle [] : String | provenance | MaD:115 | +| Test.java:1185:19:1185:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1185:19:1185:21 | out : Bundle [] : String | Test.java:1185:9:1185:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1190:27:1190:68 | newPersistableBundleWithMapValue(...) : PersistableBundle [] : Object | Test.java:1191:21:1191:22 | in : PersistableBundle [] : Object | provenance | | +| Test.java:1190:60:1190:67 | source(...) : Object | Test.java:1190:27:1190:68 | newPersistableBundleWithMapValue(...) : PersistableBundle [] : Object | provenance | MaD:178 | +| Test.java:1191:10:1191:23 | new Bundle(...) : Bundle [] : Object | Test.java:1192:21:1192:23 | out : Bundle [] : Object | provenance | | +| Test.java:1191:21:1191:22 | in : PersistableBundle [] : Object | Test.java:1191:10:1191:23 | new Bundle(...) : Bundle [] : Object | provenance | MaD:116 | +| Test.java:1192:21:1192:23 | out : Bundle [] : Object | Test.java:1192:9:1192:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1197:16:1197:52 | (...)... : Bundle [] : String | Test.java:1198:10:1198:11 | in : Bundle [] : String | provenance | | +| Test.java:1197:16:1197:52 | (...)... : Bundle [] : String | Test.java:1199:19:1199:29 | (...)... : Bundle [] : String | provenance | CloneStep | +| Test.java:1197:24:1197:52 | newBundleWithMapKey(...) : Bundle [] : String | Test.java:1197:16:1197:52 | (...)... : Bundle [] : String | provenance | | +| Test.java:1197:44:1197:51 | source(...) : String | Test.java:28:29:28:36 | k : String | provenance | | +| Test.java:1197:44:1197:51 | source(...) : String | Test.java:1197:24:1197:52 | newBundleWithMapKey(...) : Bundle [] : String | provenance | MaD:105 | +| Test.java:1198:10:1198:11 | in : Bundle [] : String | Test.java:1198:10:1198:19 | clone(...) : Object [] : String | provenance | MaD:117 | +| Test.java:1198:10:1198:19 | clone(...) : Object [] : String | Test.java:1199:19:1199:29 | (...)... : Bundle [] : String | provenance | | +| Test.java:1199:19:1199:29 | (...)... : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1199:19:1199:29 | (...)... : Bundle [] : String | Test.java:1199:9:1199:30 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1204:16:1204:54 | (...)... : Bundle [] : Object | Test.java:1205:10:1205:11 | in : Bundle [] : Object | provenance | | +| Test.java:1204:16:1204:54 | (...)... : Bundle [] : Object | Test.java:1206:21:1206:31 | (...)... : Bundle [] : Object | provenance | CloneStep | +| Test.java:1204:24:1204:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1204:16:1204:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1204:46:1204:53 | source(...) : Object | Test.java:1204:24:1204:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1205:10:1205:11 | in : Bundle [] : Object | Test.java:1205:10:1205:19 | clone(...) : Object [] : Object | provenance | MaD:118 | +| Test.java:1205:10:1205:19 | clone(...) : Object [] : Object | Test.java:1206:21:1206:31 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1206:21:1206:31 | (...)... : Bundle [] : Object | Test.java:1206:9:1206:32 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1211:16:1211:52 | (...)... : Bundle [] : String | Test.java:1212:10:1212:11 | in : Bundle [] : String | provenance | | +| Test.java:1211:24:1211:52 | newBundleWithMapKey(...) : Bundle [] : String | Test.java:1211:16:1211:52 | (...)... : Bundle [] : String | provenance | | +| Test.java:1211:44:1211:51 | source(...) : String | Test.java:28:29:28:36 | k : String | provenance | | +| Test.java:1211:44:1211:51 | source(...) : String | Test.java:1211:24:1211:52 | newBundleWithMapKey(...) : Bundle [] : String | provenance | MaD:105 | +| Test.java:1212:10:1212:11 | in : Bundle [] : String | Test.java:1212:10:1212:22 | deepCopy(...) : Bundle [] : String | provenance | MaD:119 | +| Test.java:1212:10:1212:22 | deepCopy(...) : Bundle [] : String | Test.java:1213:19:1213:21 | out : Bundle [] : String | provenance | | +| Test.java:1213:19:1213:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1213:19:1213:21 | out : Bundle [] : String | Test.java:1213:9:1213:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1218:16:1218:54 | (...)... : Bundle [] : Object | Test.java:1219:10:1219:11 | in : Bundle [] : Object | provenance | | +| Test.java:1218:24:1218:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1218:16:1218:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1218:46:1218:53 | source(...) : Object | Test.java:1218:24:1218:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1219:10:1219:11 | in : Bundle [] : Object | Test.java:1219:10:1219:22 | deepCopy(...) : Bundle [] : Object | provenance | MaD:120 | +| Test.java:1219:10:1219:22 | deepCopy(...) : Bundle [] : Object | Test.java:1220:21:1220:23 | out : Bundle [] : Object | provenance | | +| Test.java:1220:21:1220:23 | out : Bundle [] : Object | Test.java:1220:9:1220:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1225:16:1225:54 | (...)... : Bundle [] : Object | Test.java:1226:10:1226:11 | in : Bundle [] : Object | provenance | | +| Test.java:1225:24:1225:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1225:16:1225:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1225:46:1225:53 | source(...) : Object | Test.java:1225:24:1225:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1226:10:1226:11 | in : Bundle [] : Object | Test.java:1226:10:1226:27 | getBinder(...) : IBinder | provenance | MaD:121 | +| Test.java:1226:10:1226:27 | getBinder(...) : IBinder | Test.java:1227:9:1227:11 | out | provenance | | +| Test.java:1232:16:1232:54 | (...)... : Bundle [] : Object | Test.java:1233:10:1233:11 | in : Bundle [] : Object | provenance | | +| Test.java:1232:24:1232:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1232:16:1232:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1232:46:1232:53 | source(...) : Object | Test.java:1232:24:1232:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1233:10:1233:11 | in : Bundle [] : Object | Test.java:1233:10:1233:27 | getBundle(...) : Bundle | provenance | MaD:122 | +| Test.java:1233:10:1233:27 | getBundle(...) : Bundle | Test.java:1234:9:1234:11 | out | provenance | | +| Test.java:1239:16:1239:54 | (...)... : Bundle [] : Object | Test.java:1240:10:1240:11 | in : Bundle [] : Object | provenance | | +| Test.java:1239:24:1239:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1239:16:1239:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1239:46:1239:53 | source(...) : Object | Test.java:1239:24:1239:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1240:10:1240:11 | in : Bundle [] : Object | Test.java:1240:10:1240:30 | getByteArray(...) : byte[] | provenance | MaD:123 | +| Test.java:1240:10:1240:30 | getByteArray(...) : byte[] | Test.java:1241:9:1241:11 | out | provenance | | +| Test.java:1246:16:1246:54 | (...)... : Bundle [] : Object | Test.java:1247:10:1247:11 | in : Bundle [] : Object | provenance | | +| Test.java:1246:24:1246:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1246:16:1246:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1246:46:1246:53 | source(...) : Object | Test.java:1246:24:1246:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1247:10:1247:11 | in : Bundle [] : Object | Test.java:1247:10:1247:30 | getCharArray(...) : char[] | provenance | MaD:124 | +| Test.java:1247:10:1247:30 | getCharArray(...) : char[] | Test.java:1248:9:1248:11 | out | provenance | | +| Test.java:1253:16:1253:54 | (...)... : Bundle [] : Object | Test.java:1254:10:1254:11 | in : Bundle [] : Object | provenance | | +| Test.java:1253:24:1253:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1253:16:1253:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1253:46:1253:53 | source(...) : Object | Test.java:1253:24:1253:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1254:10:1254:11 | in : Bundle [] : Object | Test.java:1254:10:1254:33 | getCharSequence(...) : CharSequence | provenance | MaD:125 | +| Test.java:1254:10:1254:33 | getCharSequence(...) : CharSequence | Test.java:1255:9:1255:11 | out | provenance | | +| Test.java:1260:22:1260:43 | (...)... : CharSequence | Test.java:1262:41:1262:42 | in : CharSequence | provenance | | +| Test.java:1260:36:1260:43 | source(...) : Object | Test.java:1260:22:1260:43 | (...)... : CharSequence | provenance | | +| Test.java:1262:10:1262:43 | getCharSequence(...) : CharSequence | Test.java:1263:9:1263:11 | out | provenance | | +| Test.java:1262:41:1262:42 | in : CharSequence | Test.java:1262:10:1262:43 | getCharSequence(...) : CharSequence | provenance | MaD:127 | +| Test.java:1268:16:1268:54 | (...)... : Bundle [] : Object | Test.java:1269:10:1269:11 | in : Bundle [] : Object | provenance | | +| Test.java:1268:24:1268:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1268:16:1268:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1268:46:1268:53 | source(...) : Object | Test.java:1268:24:1268:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1269:10:1269:11 | in : Bundle [] : Object | Test.java:1269:10:1269:39 | getCharSequence(...) : CharSequence | provenance | MaD:126 | +| Test.java:1269:10:1269:39 | getCharSequence(...) : CharSequence | Test.java:1270:9:1270:11 | out | provenance | | +| Test.java:1275:16:1275:54 | (...)... : Bundle [] : Object | Test.java:1276:10:1276:11 | in : Bundle [] : Object | provenance | | +| Test.java:1275:24:1275:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1275:16:1275:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1275:46:1275:53 | source(...) : Object | Test.java:1275:24:1275:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1276:10:1276:11 | in : Bundle [] : Object | Test.java:1276:10:1276:38 | getCharSequenceArray(...) : CharSequence[] | provenance | MaD:128 | +| Test.java:1276:10:1276:38 | getCharSequenceArray(...) : CharSequence[] | Test.java:1277:9:1277:11 | out | provenance | | +| Test.java:1282:16:1282:54 | (...)... : Bundle [] : Object | Test.java:1283:10:1283:11 | in : Bundle [] : Object | provenance | | +| Test.java:1282:24:1282:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1282:16:1282:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1282:46:1282:53 | source(...) : Object | Test.java:1282:24:1282:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1283:10:1283:11 | in : Bundle [] : Object | Test.java:1283:10:1283:42 | getCharSequenceArrayList(...) : ArrayList | provenance | MaD:129 | +| Test.java:1283:10:1283:42 | getCharSequenceArrayList(...) : ArrayList | Test.java:1284:9:1284:11 | out | provenance | | +| Test.java:1289:16:1289:54 | (...)... : Bundle [] : Object | Test.java:1290:10:1290:11 | in : Bundle [] : Object | provenance | | +| Test.java:1289:24:1289:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1289:16:1289:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1289:46:1289:53 | source(...) : Object | Test.java:1289:24:1289:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1290:10:1290:11 | in : Bundle [] : Object | Test.java:1290:10:1290:31 | getParcelable(...) : Parcelable | provenance | MaD:130 | +| Test.java:1290:10:1290:31 | getParcelable(...) : Parcelable | Test.java:1291:9:1291:11 | out | provenance | | +| Test.java:1296:16:1296:54 | (...)... : Bundle [] : Object | Test.java:1297:10:1297:11 | in : Bundle [] : Object | provenance | | +| Test.java:1296:24:1296:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1296:16:1296:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1296:46:1296:53 | source(...) : Object | Test.java:1296:24:1296:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1297:10:1297:11 | in : Bundle [] : Object | Test.java:1297:10:1297:36 | getParcelableArray(...) : Parcelable[] | provenance | MaD:131 | +| Test.java:1297:10:1297:36 | getParcelableArray(...) : Parcelable[] | Test.java:1298:9:1298:11 | out | provenance | | +| Test.java:1303:16:1303:54 | (...)... : Bundle [] : Object | Test.java:1304:10:1304:11 | in : Bundle [] : Object | provenance | | +| Test.java:1303:24:1303:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1303:16:1303:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1303:46:1303:53 | source(...) : Object | Test.java:1303:24:1303:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1304:10:1304:11 | in : Bundle [] : Object | Test.java:1304:10:1304:40 | getParcelableArrayList(...) : ArrayList | provenance | MaD:132 | +| Test.java:1304:10:1304:40 | getParcelableArrayList(...) : ArrayList | Test.java:1305:9:1305:11 | out | provenance | | +| Test.java:1310:16:1310:54 | (...)... : Bundle [] : Object | Test.java:1311:10:1311:11 | in : Bundle [] : Object | provenance | | +| Test.java:1310:24:1310:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1310:16:1310:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1310:46:1310:53 | source(...) : Object | Test.java:1310:24:1310:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1311:10:1311:11 | in : Bundle [] : Object | Test.java:1311:10:1311:33 | getSerializable(...) : Serializable | provenance | MaD:133 | +| Test.java:1311:10:1311:33 | getSerializable(...) : Serializable | Test.java:1312:9:1312:11 | out | provenance | | +| Test.java:1317:16:1317:54 | (...)... : Bundle [] : Object | Test.java:1318:10:1318:11 | in : Bundle [] : Object | provenance | | +| Test.java:1317:24:1317:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1317:16:1317:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1317:46:1317:53 | source(...) : Object | Test.java:1317:24:1317:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1318:10:1318:11 | in : Bundle [] : Object | Test.java:1318:10:1318:42 | getSparseParcelableArray(...) : SparseArray | provenance | MaD:134 | +| Test.java:1318:10:1318:42 | getSparseParcelableArray(...) : SparseArray | Test.java:1319:9:1319:11 | out | provenance | | +| Test.java:1324:16:1324:54 | (...)... : Bundle [] : Object | Test.java:1325:10:1325:11 | in : Bundle [] : Object | provenance | | +| Test.java:1324:24:1324:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1324:16:1324:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1324:46:1324:53 | source(...) : Object | Test.java:1324:24:1324:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1325:10:1325:11 | in : Bundle [] : Object | Test.java:1325:10:1325:36 | getStringArrayList(...) : ArrayList | provenance | MaD:135 | +| Test.java:1325:10:1325:36 | getStringArrayList(...) : ArrayList | Test.java:1326:9:1326:11 | out | provenance | | +| Test.java:1331:16:1331:52 | (...)... : Bundle [] : String | Test.java:1332:15:1332:16 | in : Bundle [] : String | provenance | | +| Test.java:1331:24:1331:52 | newBundleWithMapKey(...) : Bundle [] : String | Test.java:1331:16:1331:52 | (...)... : Bundle [] : String | provenance | | +| Test.java:1331:44:1331:51 | source(...) : String | Test.java:28:29:28:36 | k : String | provenance | | +| Test.java:1331:44:1331:51 | source(...) : String | Test.java:1331:24:1331:52 | newBundleWithMapKey(...) : Bundle [] : String | provenance | MaD:105 | +| Test.java:1332:4:1332:6 | out [post update] : Bundle [] : String | Test.java:1333:19:1333:21 | out : Bundle [] : String | provenance | | +| Test.java:1332:15:1332:16 | in : Bundle [] : String | Test.java:1332:4:1332:6 | out [post update] : Bundle [] : String | provenance | MaD:136 | +| Test.java:1333:19:1333:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1333:19:1333:21 | out : Bundle [] : String | Test.java:1333:9:1333:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1338:16:1338:54 | (...)... : Bundle [] : Object | Test.java:1339:15:1339:16 | in : Bundle [] : Object | provenance | | +| Test.java:1338:24:1338:54 | newBundleWithMapValue(...) : Bundle [] : Object | Test.java:1338:16:1338:54 | (...)... : Bundle [] : Object | provenance | | +| Test.java:1338:46:1338:53 | source(...) : Object | Test.java:1338:24:1338:54 | newBundleWithMapValue(...) : Bundle [] : Object | provenance | MaD:177 | +| Test.java:1339:4:1339:6 | out [post update] : Bundle [] : Object | Test.java:1340:21:1340:23 | out : Bundle [] : Object | provenance | | +| Test.java:1339:15:1339:16 | in : Bundle [] : Object | Test.java:1339:4:1339:6 | out [post update] : Bundle [] : Object | provenance | MaD:137 | +| Test.java:1340:21:1340:23 | out : Bundle [] : Object | Test.java:1340:9:1340:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1345:16:1345:31 | (...)... : String | Test.java:1346:18:1346:19 | in : String | provenance | | +| Test.java:1345:24:1345:31 | source(...) : Object | Test.java:1345:16:1345:31 | (...)... : String | provenance | | +| Test.java:1346:4:1346:6 | out [post update] : Bundle [] : String | Test.java:1347:19:1347:21 | out : Bundle [] : String | provenance | | +| Test.java:1346:18:1346:19 | in : String | Test.java:1346:4:1346:6 | out [post update] : Bundle [] : String | provenance | MaD:138 | +| Test.java:1347:19:1347:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1347:19:1347:21 | out : Bundle [] : String | Test.java:1347:9:1347:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1352:17:1352:33 | (...)... : IBinder | Test.java:1353:24:1353:25 | in : IBinder | provenance | | +| Test.java:1352:26:1352:33 | source(...) : Object | Test.java:1352:17:1352:33 | (...)... : IBinder | provenance | | +| Test.java:1353:4:1353:6 | out [post update] : Bundle [] : IBinder | Test.java:1354:21:1354:23 | out : Bundle [] : IBinder | provenance | | +| Test.java:1353:24:1353:25 | in : IBinder | Test.java:1353:4:1353:6 | out [post update] : Bundle [] : IBinder | provenance | MaD:139 | +| Test.java:1354:21:1354:23 | out : Bundle [] : IBinder | Test.java:1354:9:1354:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1359:16:1359:31 | (...)... : String | Test.java:1360:18:1360:19 | in : String | provenance | | +| Test.java:1359:24:1359:31 | source(...) : Object | Test.java:1359:16:1359:31 | (...)... : String | provenance | | +| Test.java:1360:4:1360:6 | out [post update] : Bundle [] : String | Test.java:1361:19:1361:21 | out : Bundle [] : String | provenance | | +| Test.java:1360:18:1360:19 | in : String | Test.java:1360:4:1360:6 | out [post update] : Bundle [] : String | provenance | MaD:140 | +| Test.java:1361:19:1361:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1361:19:1361:21 | out : Bundle [] : String | Test.java:1361:9:1361:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1366:16:1366:31 | (...)... : Bundle | Test.java:1367:24:1367:25 | in : Bundle | provenance | | +| Test.java:1366:24:1366:31 | source(...) : Object | Test.java:1366:16:1366:31 | (...)... : Bundle | provenance | | +| Test.java:1367:4:1367:6 | out [post update] : Bundle [] : Bundle | Test.java:1368:21:1368:23 | out : Bundle [] : Bundle | provenance | | +| Test.java:1367:24:1367:25 | in : Bundle | Test.java:1367:4:1367:6 | out [post update] : Bundle [] : Bundle | provenance | MaD:141 | +| Test.java:1368:21:1368:23 | out : Bundle [] : Bundle | Test.java:1368:9:1368:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1373:16:1373:31 | (...)... : String | Test.java:1374:16:1374:17 | in : String | provenance | | +| Test.java:1373:24:1373:31 | source(...) : Object | Test.java:1373:16:1373:31 | (...)... : String | provenance | | +| Test.java:1374:4:1374:6 | out [post update] : Bundle [] : String | Test.java:1375:19:1375:21 | out : Bundle [] : String | provenance | | +| Test.java:1374:16:1374:17 | in : String | Test.java:1374:4:1374:6 | out [post update] : Bundle [] : String | provenance | MaD:142 | +| Test.java:1375:19:1375:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1375:19:1375:21 | out : Bundle [] : String | Test.java:1375:9:1375:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1380:16:1380:31 | (...)... : String | Test.java:1381:21:1381:22 | in : String | provenance | | +| Test.java:1380:24:1380:31 | source(...) : Object | Test.java:1380:16:1380:31 | (...)... : String | provenance | | +| Test.java:1381:4:1381:6 | out [post update] : Bundle [] : String | Test.java:1382:19:1382:21 | out : Bundle [] : String | provenance | | +| Test.java:1381:21:1381:22 | in : String | Test.java:1381:4:1381:6 | out [post update] : Bundle [] : String | provenance | MaD:143 | +| Test.java:1382:19:1382:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1382:19:1382:21 | out : Bundle [] : String | Test.java:1382:9:1382:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1387:16:1387:31 | (...)... : byte[] | Test.java:1388:27:1388:28 | in : byte[] | provenance | | +| Test.java:1387:24:1387:31 | source(...) : Object | Test.java:1387:16:1387:31 | (...)... : byte[] | provenance | | +| Test.java:1388:4:1388:6 | out [post update] : Bundle [] : byte[] | Test.java:1389:21:1389:23 | out : Bundle [] : byte[] | provenance | | +| Test.java:1388:27:1388:28 | in : byte[] | Test.java:1388:4:1388:6 | out [post update] : Bundle [] : byte[] | provenance | MaD:144 | +| Test.java:1389:21:1389:23 | out : Bundle [] : byte[] | Test.java:1389:9:1389:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1394:16:1394:31 | (...)... : String | Test.java:1395:16:1395:17 | in : String | provenance | | +| Test.java:1394:24:1394:31 | source(...) : Object | Test.java:1394:16:1394:31 | (...)... : String | provenance | | +| Test.java:1395:4:1395:6 | out [post update] : Bundle [] : String | Test.java:1396:19:1396:21 | out : Bundle [] : String | provenance | | +| Test.java:1395:16:1395:17 | in : String | Test.java:1395:4:1395:6 | out [post update] : Bundle [] : String | provenance | MaD:145 | +| Test.java:1396:19:1396:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1396:19:1396:21 | out : Bundle [] : String | Test.java:1396:9:1396:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1401:16:1401:31 | (...)... : String | Test.java:1402:21:1402:22 | in : String | provenance | | +| Test.java:1401:24:1401:31 | source(...) : Object | Test.java:1401:16:1401:31 | (...)... : String | provenance | | +| Test.java:1402:4:1402:6 | out [post update] : Bundle [] : String | Test.java:1403:19:1403:21 | out : Bundle [] : String | provenance | | +| Test.java:1402:21:1402:22 | in : String | Test.java:1402:4:1402:6 | out [post update] : Bundle [] : String | provenance | MaD:146 | +| Test.java:1403:19:1403:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1403:19:1403:21 | out : Bundle [] : String | Test.java:1403:9:1403:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1408:16:1408:31 | (...)... : char[] | Test.java:1409:27:1409:28 | in : char[] | provenance | | +| Test.java:1408:24:1408:31 | source(...) : Object | Test.java:1408:16:1408:31 | (...)... : char[] | provenance | | +| Test.java:1409:4:1409:6 | out [post update] : Bundle [] : char[] | Test.java:1410:21:1410:23 | out : Bundle [] : char[] | provenance | | +| Test.java:1409:27:1409:28 | in : char[] | Test.java:1409:4:1409:6 | out [post update] : Bundle [] : char[] | provenance | MaD:147 | +| Test.java:1410:21:1410:23 | out : Bundle [] : char[] | Test.java:1410:9:1410:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1415:16:1415:31 | (...)... : String | Test.java:1416:24:1416:25 | in : String | provenance | | +| Test.java:1415:24:1415:31 | source(...) : Object | Test.java:1415:16:1415:31 | (...)... : String | provenance | | +| Test.java:1416:4:1416:6 | out [post update] : Bundle [] : String | Test.java:1417:19:1417:21 | out : Bundle [] : String | provenance | | +| Test.java:1416:24:1416:25 | in : String | Test.java:1416:4:1416:6 | out [post update] : Bundle [] : String | provenance | MaD:148 | +| Test.java:1417:19:1417:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1417:19:1417:21 | out : Bundle [] : String | Test.java:1417:9:1417:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1422:22:1422:43 | (...)... : CharSequence | Test.java:1423:30:1423:31 | in : CharSequence | provenance | | +| Test.java:1422:36:1422:43 | source(...) : Object | Test.java:1422:22:1422:43 | (...)... : CharSequence | provenance | | +| Test.java:1423:4:1423:6 | out [post update] : Bundle [] : CharSequence | Test.java:1424:21:1424:23 | out : Bundle [] : CharSequence | provenance | | +| Test.java:1423:30:1423:31 | in : CharSequence | Test.java:1423:4:1423:6 | out [post update] : Bundle [] : CharSequence | provenance | MaD:149 | +| Test.java:1424:21:1424:23 | out : Bundle [] : CharSequence | Test.java:1424:9:1424:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1429:16:1429:31 | (...)... : String | Test.java:1430:29:1430:30 | in : String | provenance | | +| Test.java:1429:24:1429:31 | source(...) : Object | Test.java:1429:16:1429:31 | (...)... : String | provenance | | +| Test.java:1430:4:1430:6 | out [post update] : Bundle [] : String | Test.java:1431:19:1431:21 | out : Bundle [] : String | provenance | | +| Test.java:1430:29:1430:30 | in : String | Test.java:1430:4:1430:6 | out [post update] : Bundle [] : String | provenance | MaD:150 | +| Test.java:1431:19:1431:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1431:19:1431:21 | out : Bundle [] : String | Test.java:1431:9:1431:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1436:24:1436:47 | (...)... : CharSequence[] | Test.java:1437:35:1437:36 | in : CharSequence[] | provenance | | +| Test.java:1436:40:1436:47 | source(...) : Object | Test.java:1436:24:1436:47 | (...)... : CharSequence[] | provenance | | +| Test.java:1437:4:1437:6 | out [post update] : Bundle [] : CharSequence[] | Test.java:1438:21:1438:23 | out : Bundle [] : CharSequence[] | provenance | | +| Test.java:1437:35:1437:36 | in : CharSequence[] | Test.java:1437:4:1437:6 | out [post update] : Bundle [] : CharSequence[] | provenance | MaD:151 | +| Test.java:1438:21:1438:23 | out : Bundle [] : CharSequence[] | Test.java:1438:9:1438:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1443:16:1443:31 | (...)... : String | Test.java:1444:33:1444:34 | in : String | provenance | | +| Test.java:1443:24:1443:31 | source(...) : Object | Test.java:1443:16:1443:31 | (...)... : String | provenance | | +| Test.java:1444:4:1444:6 | out [post update] : Bundle [] : String | Test.java:1445:19:1445:21 | out : Bundle [] : String | provenance | | +| Test.java:1444:33:1444:34 | in : String | Test.java:1444:4:1444:6 | out [post update] : Bundle [] : String | provenance | MaD:152 | +| Test.java:1445:19:1445:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1445:19:1445:21 | out : Bundle [] : String | Test.java:1445:9:1445:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1450:19:1450:37 | (...)... : ArrayList | Test.java:1451:39:1451:40 | in : ArrayList | provenance | | +| Test.java:1450:30:1450:37 | source(...) : Object | Test.java:1450:19:1450:37 | (...)... : ArrayList | provenance | | +| Test.java:1451:4:1451:6 | out [post update] : Bundle [] : ArrayList | Test.java:1452:21:1452:23 | out : Bundle [] : ArrayList | provenance | | +| Test.java:1451:39:1451:40 | in : ArrayList | Test.java:1451:4:1451:6 | out [post update] : Bundle [] : ArrayList | provenance | MaD:153 | +| Test.java:1452:21:1452:23 | out : Bundle [] : ArrayList | Test.java:1452:9:1452:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1457:16:1457:31 | (...)... : String | Test.java:1458:17:1458:18 | in : String | provenance | | +| Test.java:1457:24:1457:31 | source(...) : Object | Test.java:1457:16:1457:31 | (...)... : String | provenance | | +| Test.java:1458:4:1458:6 | out [post update] : Bundle [] : String | Test.java:1459:19:1459:21 | out : Bundle [] : String | provenance | | +| Test.java:1458:17:1458:18 | in : String | Test.java:1458:4:1458:6 | out [post update] : Bundle [] : String | provenance | MaD:154 | +| Test.java:1459:19:1459:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1459:19:1459:21 | out : Bundle [] : String | Test.java:1459:9:1459:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1464:16:1464:31 | (...)... : String | Test.java:1465:22:1465:23 | in : String | provenance | | +| Test.java:1464:24:1464:31 | source(...) : Object | Test.java:1464:16:1464:31 | (...)... : String | provenance | | +| Test.java:1465:4:1465:6 | out [post update] : Bundle [] : String | Test.java:1466:19:1466:21 | out : Bundle [] : String | provenance | | +| Test.java:1465:22:1465:23 | in : String | Test.java:1465:4:1465:6 | out [post update] : Bundle [] : String | provenance | MaD:155 | +| Test.java:1466:19:1466:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1466:19:1466:21 | out : Bundle [] : String | Test.java:1466:9:1466:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1471:16:1471:31 | (...)... : String | Test.java:1472:28:1472:29 | in : String | provenance | | +| Test.java:1471:24:1471:31 | source(...) : Object | Test.java:1471:16:1471:31 | (...)... : String | provenance | | +| Test.java:1472:4:1472:6 | out [post update] : Bundle [] : String | Test.java:1473:19:1473:21 | out : Bundle [] : String | provenance | | +| Test.java:1472:28:1472:29 | in : String | Test.java:1472:4:1472:6 | out [post update] : Bundle [] : String | provenance | MaD:156 | +| Test.java:1473:19:1473:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1473:19:1473:21 | out : Bundle [] : String | Test.java:1473:9:1473:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1478:16:1478:31 | (...)... : String | Test.java:1479:22:1479:23 | in : String | provenance | | +| Test.java:1478:24:1478:31 | source(...) : Object | Test.java:1478:16:1478:31 | (...)... : String | provenance | | +| Test.java:1479:4:1479:6 | out [post update] : Bundle [] : String | Test.java:1480:19:1480:21 | out : Bundle [] : String | provenance | | +| Test.java:1479:22:1479:23 | in : String | Test.java:1479:4:1479:6 | out [post update] : Bundle [] : String | provenance | MaD:157 | +| Test.java:1480:19:1480:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1480:19:1480:21 | out : Bundle [] : String | Test.java:1480:9:1480:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1485:20:1485:39 | (...)... : Parcelable | Test.java:1486:28:1486:29 | in : Parcelable | provenance | | +| Test.java:1485:32:1485:39 | source(...) : Object | Test.java:1485:20:1485:39 | (...)... : Parcelable | provenance | | +| Test.java:1486:4:1486:6 | out [post update] : Bundle [] : Parcelable | Test.java:1487:21:1487:23 | out : Bundle [] : Parcelable | provenance | | +| Test.java:1486:28:1486:29 | in : Parcelable | Test.java:1486:4:1486:6 | out [post update] : Bundle [] : Parcelable | provenance | MaD:158 | +| Test.java:1487:21:1487:23 | out : Bundle [] : Parcelable | Test.java:1487:9:1487:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1492:16:1492:31 | (...)... : String | Test.java:1493:27:1493:28 | in : String | provenance | | +| Test.java:1492:24:1492:31 | source(...) : Object | Test.java:1492:16:1492:31 | (...)... : String | provenance | | +| Test.java:1493:4:1493:6 | out [post update] : Bundle [] : String | Test.java:1494:19:1494:21 | out : Bundle [] : String | provenance | | +| Test.java:1493:27:1493:28 | in : String | Test.java:1493:4:1493:6 | out [post update] : Bundle [] : String | provenance | MaD:159 | +| Test.java:1494:19:1494:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1494:19:1494:21 | out : Bundle [] : String | Test.java:1494:9:1494:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1499:22:1499:43 | (...)... : Parcelable[] | Test.java:1500:33:1500:34 | in : Parcelable[] | provenance | | +| Test.java:1499:36:1499:43 | source(...) : Object | Test.java:1499:22:1499:43 | (...)... : Parcelable[] | provenance | | +| Test.java:1500:4:1500:6 | out [post update] : Bundle [] : Parcelable[] | Test.java:1501:21:1501:23 | out : Bundle [] : Parcelable[] | provenance | | +| Test.java:1500:33:1500:34 | in : Parcelable[] | Test.java:1500:4:1500:6 | out [post update] : Bundle [] : Parcelable[] | provenance | MaD:160 | +| Test.java:1501:21:1501:23 | out : Bundle [] : Parcelable[] | Test.java:1501:9:1501:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1506:16:1506:31 | (...)... : String | Test.java:1507:31:1507:32 | in : String | provenance | | +| Test.java:1506:24:1506:31 | source(...) : Object | Test.java:1506:16:1506:31 | (...)... : String | provenance | | +| Test.java:1507:4:1507:6 | out [post update] : Bundle [] : String | Test.java:1508:19:1508:21 | out : Bundle [] : String | provenance | | +| Test.java:1507:31:1507:32 | in : String | Test.java:1507:4:1507:6 | out [post update] : Bundle [] : String | provenance | MaD:161 | +| Test.java:1508:19:1508:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1508:19:1508:21 | out : Bundle [] : String | Test.java:1508:9:1508:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1513:19:1513:37 | (...)... : ArrayList | Test.java:1514:37:1514:38 | in : ArrayList | provenance | | +| Test.java:1513:30:1513:37 | source(...) : Object | Test.java:1513:19:1513:37 | (...)... : ArrayList | provenance | | +| Test.java:1514:4:1514:6 | out [post update] : Bundle [] : ArrayList | Test.java:1515:21:1515:23 | out : Bundle [] : ArrayList | provenance | | +| Test.java:1514:37:1514:38 | in : ArrayList | Test.java:1514:4:1514:6 | out [post update] : Bundle [] : ArrayList | provenance | MaD:162 | +| Test.java:1515:21:1515:23 | out : Bundle [] : ArrayList | Test.java:1515:9:1515:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1520:16:1520:31 | (...)... : String | Test.java:1521:24:1521:25 | in : String | provenance | | +| Test.java:1520:24:1520:31 | source(...) : Object | Test.java:1520:16:1520:31 | (...)... : String | provenance | | +| Test.java:1521:4:1521:6 | out [post update] : Bundle [] : String | Test.java:1522:19:1522:21 | out : Bundle [] : String | provenance | | +| Test.java:1521:24:1521:25 | in : String | Test.java:1521:4:1521:6 | out [post update] : Bundle [] : String | provenance | MaD:163 | +| Test.java:1522:19:1522:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1522:19:1522:21 | out : Bundle [] : String | Test.java:1522:9:1522:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1527:22:1527:43 | (...)... : Serializable | Test.java:1528:30:1528:31 | in : Serializable | provenance | | +| Test.java:1527:36:1527:43 | source(...) : Object | Test.java:1527:22:1527:43 | (...)... : Serializable | provenance | | +| Test.java:1528:4:1528:6 | out [post update] : Bundle [] : Serializable | Test.java:1529:21:1529:23 | out : Bundle [] : Serializable | provenance | | +| Test.java:1528:30:1528:31 | in : Serializable | Test.java:1528:4:1528:6 | out [post update] : Bundle [] : Serializable | provenance | MaD:164 | +| Test.java:1529:21:1529:23 | out : Bundle [] : Serializable | Test.java:1529:9:1529:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1534:16:1534:31 | (...)... : String | Test.java:1535:17:1535:18 | in : String | provenance | | +| Test.java:1534:24:1534:31 | source(...) : Object | Test.java:1534:16:1534:31 | (...)... : String | provenance | | +| Test.java:1535:4:1535:6 | out [post update] : Bundle [] : String | Test.java:1536:19:1536:21 | out : Bundle [] : String | provenance | | +| Test.java:1535:17:1535:18 | in : String | Test.java:1535:4:1535:6 | out [post update] : Bundle [] : String | provenance | MaD:165 | +| Test.java:1536:19:1536:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1536:19:1536:21 | out : Bundle [] : String | Test.java:1536:9:1536:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1541:16:1541:31 | (...)... : String | Test.java:1542:22:1542:23 | in : String | provenance | | +| Test.java:1541:24:1541:31 | source(...) : Object | Test.java:1541:16:1541:31 | (...)... : String | provenance | | +| Test.java:1542:4:1542:6 | out [post update] : Bundle [] : String | Test.java:1543:19:1543:21 | out : Bundle [] : String | provenance | | +| Test.java:1542:22:1542:23 | in : String | Test.java:1542:4:1542:6 | out [post update] : Bundle [] : String | provenance | MaD:166 | +| Test.java:1543:19:1543:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1543:19:1543:21 | out : Bundle [] : String | Test.java:1543:9:1543:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1548:16:1548:31 | (...)... : String | Test.java:1549:16:1549:17 | in : String | provenance | | +| Test.java:1548:24:1548:31 | source(...) : Object | Test.java:1548:16:1548:31 | (...)... : String | provenance | | +| Test.java:1549:4:1549:6 | out [post update] : Bundle [] : String | Test.java:1550:19:1550:21 | out : Bundle [] : String | provenance | | +| Test.java:1549:16:1549:17 | in : String | Test.java:1549:4:1549:6 | out [post update] : Bundle [] : String | provenance | MaD:167 | +| Test.java:1550:19:1550:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1550:19:1550:21 | out : Bundle [] : String | Test.java:1550:9:1550:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1555:16:1555:31 | (...)... : String | Test.java:1556:17:1556:18 | in : String | provenance | | +| Test.java:1555:24:1555:31 | source(...) : Object | Test.java:1555:16:1555:31 | (...)... : String | provenance | | +| Test.java:1556:4:1556:6 | out [post update] : Bundle [] : String | Test.java:1557:19:1557:21 | out : Bundle [] : String | provenance | | +| Test.java:1556:17:1556:18 | in : String | Test.java:1556:4:1556:6 | out [post update] : Bundle [] : String | provenance | MaD:168 | +| Test.java:1557:19:1557:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1557:19:1557:21 | out : Bundle [] : String | Test.java:1557:9:1557:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1562:16:1562:31 | (...)... : String | Test.java:1563:33:1563:34 | in : String | provenance | | +| Test.java:1562:24:1562:31 | source(...) : Object | Test.java:1562:16:1562:31 | (...)... : String | provenance | | +| Test.java:1563:4:1563:6 | out [post update] : Bundle [] : String | Test.java:1564:19:1564:21 | out : Bundle [] : String | provenance | | +| Test.java:1563:33:1563:34 | in : String | Test.java:1563:4:1563:6 | out [post update] : Bundle [] : String | provenance | MaD:169 | +| Test.java:1564:19:1564:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1564:19:1564:21 | out : Bundle [] : String | Test.java:1564:9:1564:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1569:21:1569:41 | (...)... : SparseArray | Test.java:1570:39:1570:40 | in : SparseArray | provenance | | +| Test.java:1569:34:1569:41 | source(...) : Object | Test.java:1569:21:1569:41 | (...)... : SparseArray | provenance | | +| Test.java:1570:4:1570:6 | out [post update] : Bundle [] : SparseArray | Test.java:1571:21:1571:23 | out : Bundle [] : SparseArray | provenance | | +| Test.java:1570:39:1570:40 | in : SparseArray | Test.java:1570:4:1570:6 | out [post update] : Bundle [] : SparseArray | provenance | MaD:170 | +| Test.java:1571:21:1571:23 | out : Bundle [] : SparseArray | Test.java:1571:9:1571:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1576:16:1576:31 | (...)... : String | Test.java:1577:27:1577:28 | in : String | provenance | | +| Test.java:1576:24:1576:31 | source(...) : Object | Test.java:1576:16:1576:31 | (...)... : String | provenance | | +| Test.java:1577:4:1577:6 | out [post update] : Bundle [] : String | Test.java:1578:19:1578:21 | out : Bundle [] : String | provenance | | +| Test.java:1577:27:1577:28 | in : String | Test.java:1577:4:1577:6 | out [post update] : Bundle [] : String | provenance | MaD:171 | +| Test.java:1578:19:1578:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | provenance | | +| Test.java:1578:19:1578:21 | out : Bundle [] : String | Test.java:1578:9:1578:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1583:19:1583:37 | (...)... : ArrayList | Test.java:1584:33:1584:34 | in : ArrayList | provenance | | +| Test.java:1583:30:1583:37 | source(...) : Object | Test.java:1583:19:1583:37 | (...)... : ArrayList | provenance | | +| Test.java:1584:4:1584:6 | out [post update] : Bundle [] : ArrayList | Test.java:1585:21:1585:23 | out : Bundle [] : ArrayList | provenance | | +| Test.java:1584:33:1584:34 | in : ArrayList | Test.java:1584:4:1584:6 | out [post update] : Bundle [] : ArrayList | provenance | MaD:172 | +| Test.java:1585:21:1585:23 | out : Bundle [] : ArrayList | Test.java:1585:9:1585:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1590:16:1590:31 | (...)... : Parcel | Test.java:1591:23:1591:24 | in : Parcel | provenance | | +| Test.java:1590:24:1590:31 | source(...) : Object | Test.java:1590:16:1590:31 | (...)... : Parcel | provenance | | +| Test.java:1591:4:1591:6 | out [post update] : Bundle [] : Object | Test.java:1592:19:1592:21 | out : Bundle [] : Object | provenance | | +| Test.java:1591:23:1591:24 | in : Parcel | Test.java:1591:4:1591:6 | out [post update] : Bundle [] : Object | provenance | MaD:173 | +| Test.java:1592:19:1592:21 | out : Bundle [] : Object | Test.java:24:19:24:30 | b : Bundle [] : Object | provenance | | +| Test.java:1592:19:1592:21 | out : Bundle [] : Object | Test.java:1592:9:1592:22 | getMapKey(...) | provenance | MaD:98 | +| Test.java:1597:16:1597:31 | (...)... : Parcel | Test.java:1598:23:1598:24 | in : Parcel | provenance | | +| Test.java:1597:24:1597:31 | source(...) : Object | Test.java:1597:16:1597:31 | (...)... : Parcel | provenance | | +| Test.java:1598:4:1598:6 | out [post update] : Bundle [] : Object | Test.java:1599:21:1599:23 | out : Bundle [] : Object | provenance | | +| Test.java:1598:23:1598:24 | in : Parcel | Test.java:1598:4:1598:6 | out [post update] : Bundle [] : Object | provenance | MaD:174 | +| Test.java:1599:21:1599:23 | out : Bundle [] : Object | Test.java:1599:9:1599:24 | getMapValue(...) | provenance | MaD:179 | +| Test.java:1604:15:1604:30 | (...)... : Class | Test.java:1605:44:1605:45 | in : Class | provenance | | +| Test.java:1604:23:1604:30 | source(...) : Object | Test.java:1604:15:1604:30 | (...)... : Class | provenance | | +| Test.java:1605:10:1605:46 | new ComponentName(...) : ComponentName | Test.java:1606:9:1606:11 | out | provenance | | +| Test.java:1605:44:1605:45 | in : Class | Test.java:1605:10:1605:46 | new ComponentName(...) : ComponentName | provenance | MaD:1 | +| Test.java:1611:16:1611:32 | (...)... : String | Test.java:1612:44:1612:45 | in : String | provenance | | +| Test.java:1611:25:1611:32 | source(...) : Object | Test.java:1611:16:1611:32 | (...)... : String | provenance | | +| Test.java:1612:10:1612:46 | new ComponentName(...) : ComponentName | Test.java:1613:9:1613:11 | out | provenance | | +| Test.java:1612:44:1612:45 | in : String | Test.java:1612:10:1612:46 | new ComponentName(...) : ComponentName | provenance | MaD:2 | +| Test.java:1618:16:1618:32 | (...)... : Parcel | Test.java:1619:28:1619:29 | in : Parcel | provenance | | +| Test.java:1618:25:1618:32 | source(...) : Object | Test.java:1618:16:1618:32 | (...)... : Parcel | provenance | | +| Test.java:1619:10:1619:30 | new ComponentName(...) : ComponentName | Test.java:1620:9:1620:11 | out | provenance | | +| Test.java:1619:28:1619:29 | in : Parcel | Test.java:1619:10:1619:30 | new ComponentName(...) : ComponentName | provenance | MaD:3 | +| Test.java:1625:16:1625:32 | (...)... : String | Test.java:1626:28:1626:29 | in : String | provenance | | +| Test.java:1625:25:1625:32 | source(...) : Object | Test.java:1625:16:1625:32 | (...)... : String | provenance | | +| Test.java:1626:10:1626:45 | new ComponentName(...) : ComponentName | Test.java:1627:9:1627:11 | out | provenance | | +| Test.java:1626:28:1626:29 | in : String | Test.java:1626:10:1626:45 | new ComponentName(...) : ComponentName | provenance | MaD:4 | +| Test.java:1632:16:1632:32 | (...)... : String | Test.java:1633:43:1633:44 | in : String | provenance | | +| Test.java:1632:25:1632:32 | source(...) : Object | Test.java:1632:16:1632:32 | (...)... : String | provenance | | +| Test.java:1633:10:1633:45 | new ComponentName(...) : ComponentName | Test.java:1634:9:1634:11 | out | provenance | | +| Test.java:1633:43:1633:44 | in : String | Test.java:1633:10:1633:45 | new ComponentName(...) : ComponentName | provenance | MaD:4 | +| Test.java:1639:16:1639:32 | (...)... : String | Test.java:1640:55:1640:56 | in : String | provenance | | +| Test.java:1639:25:1639:32 | source(...) : Object | Test.java:1639:16:1639:32 | (...)... : String | provenance | | +| Test.java:1640:10:1640:57 | createRelative(...) : ComponentName | Test.java:1641:9:1641:11 | out | provenance | | +| Test.java:1640:55:1640:56 | in : String | Test.java:1640:10:1640:57 | createRelative(...) : ComponentName | provenance | MaD:5 | +| Test.java:1646:16:1646:32 | (...)... : String | Test.java:1647:39:1647:40 | in : String | provenance | | +| Test.java:1646:25:1646:32 | source(...) : Object | Test.java:1646:16:1646:32 | (...)... : String | provenance | | +| Test.java:1647:10:1647:56 | createRelative(...) : ComponentName | Test.java:1648:9:1648:11 | out | provenance | | +| Test.java:1647:39:1647:40 | in : String | Test.java:1647:10:1647:56 | createRelative(...) : ComponentName | provenance | MaD:6 | +| Test.java:1653:16:1653:32 | (...)... : String | Test.java:1654:54:1654:55 | in : String | provenance | | +| Test.java:1653:25:1653:32 | source(...) : Object | Test.java:1653:16:1653:32 | (...)... : String | provenance | | +| Test.java:1654:10:1654:56 | createRelative(...) : ComponentName | Test.java:1655:9:1655:11 | out | provenance | | +| Test.java:1654:54:1654:55 | in : String | Test.java:1654:10:1654:56 | createRelative(...) : ComponentName | provenance | MaD:6 | +| Test.java:1660:23:1660:46 | (...)... : ComponentName | Test.java:1661:10:1661:11 | in : ComponentName | provenance | | +| Test.java:1660:39:1660:46 | source(...) : Object | Test.java:1660:23:1660:46 | (...)... : ComponentName | provenance | | +| Test.java:1661:10:1661:11 | in : ComponentName | Test.java:1661:10:1661:34 | flattenToShortString(...) : String | provenance | MaD:7 | +| Test.java:1661:10:1661:34 | flattenToShortString(...) : String | Test.java:1662:9:1662:11 | out | provenance | | +| Test.java:1667:23:1667:46 | (...)... : ComponentName | Test.java:1668:10:1668:11 | in : ComponentName | provenance | | +| Test.java:1667:39:1667:46 | source(...) : Object | Test.java:1667:23:1667:46 | (...)... : ComponentName | provenance | | +| Test.java:1668:10:1668:11 | in : ComponentName | Test.java:1668:10:1668:29 | flattenToString(...) : String | provenance | MaD:8 | +| Test.java:1668:10:1668:29 | flattenToString(...) : String | Test.java:1669:9:1669:11 | out | provenance | | +| Test.java:1674:23:1674:46 | (...)... : ComponentName | Test.java:1675:10:1675:11 | in : ComponentName | provenance | | +| Test.java:1674:39:1674:46 | source(...) : Object | Test.java:1674:23:1674:46 | (...)... : ComponentName | provenance | | +| Test.java:1675:10:1675:11 | in : ComponentName | Test.java:1675:10:1675:26 | getClassName(...) : String | provenance | MaD:9 | +| Test.java:1675:10:1675:26 | getClassName(...) : String | Test.java:1676:9:1676:11 | out | provenance | | +| Test.java:1681:23:1681:46 | (...)... : ComponentName | Test.java:1682:10:1682:11 | in : ComponentName | provenance | | +| Test.java:1681:39:1681:46 | source(...) : Object | Test.java:1681:23:1681:46 | (...)... : ComponentName | provenance | | +| Test.java:1682:10:1682:11 | in : ComponentName | Test.java:1682:10:1682:28 | getPackageName(...) : String | provenance | MaD:10 | +| Test.java:1682:10:1682:28 | getPackageName(...) : String | Test.java:1683:9:1683:11 | out | provenance | | +| Test.java:1688:23:1688:46 | (...)... : ComponentName | Test.java:1689:10:1689:11 | in : ComponentName | provenance | | +| Test.java:1688:39:1688:46 | source(...) : Object | Test.java:1688:23:1688:46 | (...)... : ComponentName | provenance | | +| Test.java:1689:10:1689:11 | in : ComponentName | Test.java:1689:10:1689:31 | getShortClassName(...) : String | provenance | MaD:11 | +| Test.java:1689:10:1689:31 | getShortClassName(...) : String | Test.java:1690:9:1690:11 | out | provenance | | +| Test.java:1695:16:1695:32 | (...)... : String | Test.java:1696:44:1696:45 | in : String | provenance | | +| Test.java:1695:25:1695:32 | source(...) : Object | Test.java:1695:16:1695:32 | (...)... : String | provenance | | +| Test.java:1696:10:1696:46 | unflattenFromString(...) : ComponentName | Test.java:1697:9:1697:11 | out | provenance | | +| Test.java:1696:44:1696:45 | in : String | Test.java:1696:10:1696:46 | unflattenFromString(...) : ComponentName | provenance | MaD:12 | +| Test.java:1702:15:1702:30 | (...)... : Class | Test.java:1703:37:1703:38 | in : Class | provenance | | +| Test.java:1702:23:1702:30 | source(...) : Object | Test.java:1702:15:1702:30 | (...)... : Class | provenance | | +| Test.java:1703:10:1703:39 | new Intent(...) : Intent | Test.java:1704:9:1704:11 | out | provenance | | +| Test.java:1703:37:1703:38 | in : Class | Test.java:1703:10:1703:39 | new Intent(...) : Intent | provenance | MaD:13 | +| Test.java:1709:16:1709:32 | (...)... : Intent | Test.java:1710:21:1710:22 | in : Intent | provenance | | +| Test.java:1709:25:1709:32 | source(...) : Object | Test.java:1709:16:1709:32 | (...)... : Intent | provenance | | +| Test.java:1710:10:1710:23 | new Intent(...) : Intent | Test.java:1711:9:1711:11 | out | provenance | | +| Test.java:1710:21:1710:22 | in : Intent | Test.java:1710:10:1710:23 | new Intent(...) : Intent | provenance | MaD:14 | +| Test.java:1716:15:1716:30 | (...)... : Class | Test.java:1717:39:1717:40 | in : Class | provenance | | +| Test.java:1716:23:1716:30 | source(...) : Object | Test.java:1716:15:1716:30 | (...)... : Class | provenance | | +| Test.java:1717:10:1717:41 | new Intent(...) : Intent | Test.java:1718:9:1718:11 | out | provenance | | +| Test.java:1717:39:1717:40 | in : Class | Test.java:1717:10:1717:41 | new Intent(...) : Intent | provenance | MaD:19 | +| Test.java:1723:15:1723:30 | (...)... : Class | Test.java:1724:23:1724:24 | in : Class | provenance | | +| Test.java:1723:23:1723:30 | source(...) : Object | Test.java:1723:15:1723:30 | (...)... : Class | provenance | | +| Test.java:1724:4:1724:6 | out [post update] : Intent | Test.java:1725:9:1725:11 | out | provenance | | +| Test.java:1724:23:1724:24 | in : Class | Test.java:1724:4:1724:6 | out [post update] : Intent | provenance | MaD:73 | +| Test.java:1730:16:1730:32 | (...)... : String | Test.java:1731:37:1731:38 | in : String | provenance | | +| Test.java:1730:25:1730:32 | source(...) : Object | Test.java:1730:16:1730:32 | (...)... : String | provenance | | +| Test.java:1731:4:1731:6 | out [post update] : Intent | Test.java:1732:9:1732:11 | out | provenance | | +| Test.java:1731:37:1731:38 | in : String | Test.java:1731:4:1731:6 | out [post update] : Intent | provenance | MaD:75 | +| Test.java:1737:16:1737:32 | (...)... : String | Test.java:1738:21:1738:22 | in : String | provenance | | +| Test.java:1737:25:1737:32 | source(...) : Object | Test.java:1737:16:1737:32 | (...)... : String | provenance | | +| Test.java:1738:4:1738:6 | out [post update] : Intent | Test.java:1739:9:1739:11 | out | provenance | | +| Test.java:1738:21:1738:22 | in : String | Test.java:1738:4:1738:6 | out [post update] : Intent | provenance | MaD:76 | +| Test.java:1744:16:1744:32 | (...)... : String | Test.java:1745:36:1745:37 | in : String | provenance | | +| Test.java:1744:25:1744:32 | source(...) : Object | Test.java:1744:16:1744:32 | (...)... : String | provenance | | +| Test.java:1745:4:1745:6 | out [post update] : Intent | Test.java:1746:9:1746:11 | out | provenance | | +| Test.java:1745:36:1745:37 | in : String | Test.java:1745:4:1745:6 | out [post update] : Intent | provenance | MaD:76 | +| Test.java:1751:23:1751:46 | (...)... : ComponentName | Test.java:1752:21:1752:22 | in : ComponentName | provenance | | +| Test.java:1751:39:1751:46 | source(...) : Object | Test.java:1751:23:1751:46 | (...)... : ComponentName | provenance | | +| Test.java:1752:4:1752:6 | out [post update] : Intent | Test.java:1753:9:1753:11 | out | provenance | | +| Test.java:1752:21:1752:22 | in : ComponentName | Test.java:1752:4:1752:6 | out [post update] : Intent | provenance | MaD:78 | +| Test.java:1758:16:1758:32 | (...)... : String | Test.java:1759:19:1759:20 | in : String | provenance | | +| Test.java:1758:25:1758:32 | source(...) : Object | Test.java:1758:16:1758:32 | (...)... : String | provenance | | +| Test.java:1759:4:1759:6 | out [post update] : Intent | Test.java:1760:9:1760:11 | out | provenance | | +| Test.java:1759:19:1759:20 | in : String | Test.java:1759:4:1759:6 | out [post update] : Intent | provenance | MaD:90 | +| TestStartActivityToGetIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:18:37:18:64 | (...)... : String | TestStartActivityToGetIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:18:37:18:64 | (...)... : String | TestStartActivityToGetIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:18:37:18:64 | (...)... : String | TestStartActivityToGetIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:18:46:18:64 | source(...) : Object | TestStartActivityToGetIntent.java:18:37:18:64 | (...)... : String | provenance | | +| TestStartActivityToGetIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:24:46:24:51 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:24:46:24:51 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:24:46:24:51 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:23:37:23:69 | (...)... : String | TestStartActivityToGetIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:23:37:23:69 | (...)... : String | TestStartActivityToGetIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:23:37:23:69 | (...)... : String | TestStartActivityToGetIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:23:46:23:69 | source(...) : Object | TestStartActivityToGetIntent.java:23:37:23:69 | (...)... : String | provenance | | +| TestStartActivityToGetIntent.java:24:32:24:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:25:33:25:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:24:32:24:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:25:33:25:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:24:32:24:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:25:33:25:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:24:46:24:51 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:24:32:24:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:24:46:24:51 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:24:32:24:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:24:46:24:51 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:24:32:24:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:25:33:25:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | android.content.Activity.startActivities()+TestStartActivityToGetIntent$SomeActivity | +| TestStartActivityToGetIntent.java:25:33:25:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | android.content.Activity.startActivities()+TestStartActivityToGetIntent$SomeActivity | +| TestStartActivityToGetIntent.java:25:33:25:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | android.content.Activity.startActivities()+TestStartActivityToGetIntent$SomeActivity | +| TestStartActivityToGetIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:30:46:30:51 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:30:46:30:51 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:30:46:30:51 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:29:37:29:71 | (...)... : String | TestStartActivityToGetIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:29:37:29:71 | (...)... : String | TestStartActivityToGetIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:29:37:29:71 | (...)... : String | TestStartActivityToGetIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:29:46:29:71 | source(...) : Object | TestStartActivityToGetIntent.java:29:37:29:71 | (...)... : String | provenance | | +| TestStartActivityToGetIntent.java:30:32:30:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:31:33:31:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:30:32:30:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:31:33:31:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:30:32:30:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:31:33:31:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:30:46:30:51 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:30:32:30:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:30:46:30:51 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:30:32:30:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:30:46:30:51 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:30:32:30:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:31:33:31:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:102:18:102:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | android.content.Activity.startActivities()+TestStartActivityToGetIntent$AnotherActivity | +| TestStartActivityToGetIntent.java:31:33:31:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:102:18:102:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | android.content.Activity.startActivities()+TestStartActivityToGetIntent$AnotherActivity | +| TestStartActivityToGetIntent.java:31:33:31:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:102:18:102:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | android.content.Activity.startActivities()+TestStartActivityToGetIntent$AnotherActivity | +| TestStartActivityToGetIntent.java:35:13:35:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:36:31:36:36 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:35:13:35:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:36:31:36:36 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:35:13:35:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:36:31:36:36 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:35:37:35:64 | (...)... : String | TestStartActivityToGetIntent.java:35:13:35:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:35:37:35:64 | (...)... : String | TestStartActivityToGetIntent.java:35:13:35:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:35:37:35:64 | (...)... : String | TestStartActivityToGetIntent.java:35:13:35:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:35:46:35:64 | source(...) : Object | TestStartActivityToGetIntent.java:35:37:35:64 | (...)... : String | provenance | | +| TestStartActivityToGetIntent.java:36:31:36:36 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:36:31:36:36 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:36:31:36:36 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:40:13:40:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:41:46:41:51 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:40:13:40:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:41:46:41:51 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:40:13:40:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:41:46:41:51 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:40:37:40:69 | (...)... : String | TestStartActivityToGetIntent.java:40:13:40:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:40:37:40:69 | (...)... : String | TestStartActivityToGetIntent.java:40:13:40:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:40:37:40:69 | (...)... : String | TestStartActivityToGetIntent.java:40:13:40:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:40:46:40:69 | source(...) : Object | TestStartActivityToGetIntent.java:40:37:40:69 | (...)... : String | provenance | | +| TestStartActivityToGetIntent.java:41:32:41:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:42:33:42:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:41:32:41:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:42:33:42:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:41:32:41:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:42:33:42:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:41:46:41:51 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:41:32:41:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:41:46:41:51 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:41:32:41:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:41:46:41:51 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:41:32:41:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:42:33:42:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | android.content.Activity.startActivities()+TestStartActivityToGetIntent$SomeActivity | +| TestStartActivityToGetIntent.java:42:33:42:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | android.content.Activity.startActivities()+TestStartActivityToGetIntent$SomeActivity | +| TestStartActivityToGetIntent.java:42:33:42:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | android.content.Activity.startActivities()+TestStartActivityToGetIntent$SomeActivity | +| TestStartActivityToGetIntent.java:52:13:52:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:53:40:53:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:52:13:52:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:53:40:53:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:52:13:52:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:53:40:53:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:52:37:52:71 | (...)... : String | TestStartActivityToGetIntent.java:52:13:52:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:52:37:52:71 | (...)... : String | TestStartActivityToGetIntent.java:52:13:52:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:52:37:52:71 | (...)... : String | TestStartActivityToGetIntent.java:52:13:52:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:52:46:52:71 | source(...) : Object | TestStartActivityToGetIntent.java:52:37:52:71 | (...)... : String | provenance | | +| TestStartActivityToGetIntent.java:53:40:53:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:53:40:53:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:53:40:53:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:57:13:57:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:58:39:58:44 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:57:13:57:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:58:39:58:44 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:57:13:57:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:58:39:58:44 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:57:37:57:70 | (...)... : String | TestStartActivityToGetIntent.java:57:13:57:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:57:37:57:70 | (...)... : String | TestStartActivityToGetIntent.java:57:13:57:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:57:37:57:70 | (...)... : String | TestStartActivityToGetIntent.java:57:13:57:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:57:46:57:70 | source(...) : Object | TestStartActivityToGetIntent.java:57:37:57:70 | (...)... : String | provenance | | +| TestStartActivityToGetIntent.java:58:39:58:44 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:58:39:58:44 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:58:39:58:44 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:62:13:62:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:63:43:63:48 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:62:13:62:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:63:43:63:48 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:62:13:62:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:63:43:63:48 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:62:37:62:69 | (...)... : String | TestStartActivityToGetIntent.java:62:13:62:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:62:37:62:69 | (...)... : String | TestStartActivityToGetIntent.java:62:13:62:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:62:37:62:69 | (...)... : String | TestStartActivityToGetIntent.java:62:13:62:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:62:46:62:69 | source(...) : Object | TestStartActivityToGetIntent.java:62:37:62:69 | (...)... : String | provenance | | +| TestStartActivityToGetIntent.java:63:43:63:48 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:63:43:63:48 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:63:43:63:48 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:67:13:67:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:68:46:68:51 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:67:13:67:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:68:46:68:51 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:67:13:67:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:68:46:68:51 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:67:37:67:71 | (...)... : String | TestStartActivityToGetIntent.java:67:13:67:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:67:37:67:71 | (...)... : String | TestStartActivityToGetIntent.java:67:13:67:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:67:37:67:71 | (...)... : String | TestStartActivityToGetIntent.java:67:13:67:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:67:46:67:71 | source(...) : Object | TestStartActivityToGetIntent.java:67:37:67:71 | (...)... : String | provenance | | +| TestStartActivityToGetIntent.java:68:46:68:51 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:68:46:68:51 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:68:46:68:51 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:72:13:72:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:73:49:73:54 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:72:13:72:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:73:49:73:54 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:72:13:72:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:73:49:73:54 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:72:37:72:70 | (...)... : String | TestStartActivityToGetIntent.java:72:13:72:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:72:37:72:70 | (...)... : String | TestStartActivityToGetIntent.java:72:13:72:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:72:37:72:70 | (...)... : String | TestStartActivityToGetIntent.java:72:13:72:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:72:46:72:70 | source(...) : Object | TestStartActivityToGetIntent.java:72:37:72:70 | (...)... : String | provenance | | +| TestStartActivityToGetIntent.java:73:49:73:54 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:73:49:73:54 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:73:49:73:54 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:79:13:79:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:80:31:80:36 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:79:13:79:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:80:31:80:36 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:79:13:79:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:80:31:80:36 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:79:37:79:60 | (...)... : String | TestStartActivityToGetIntent.java:79:13:79:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:79:37:79:60 | (...)... : String | TestStartActivityToGetIntent.java:79:13:79:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:79:37:79:60 | (...)... : String | TestStartActivityToGetIntent.java:79:13:79:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartActivityToGetIntent.java:79:46:79:60 | source(...) : Object | TestStartActivityToGetIntent.java:79:37:79:60 | (...)... : String | provenance | | +| TestStartActivityToGetIntent.java:80:31:80:36 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:80:31:80:36 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:80:31:80:36 | intent : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:51 | getStringExtra(...) | provenance | MaD:42 | +| TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:51 | getStringExtra(...) | provenance | MaD:42 | +| TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:95:18:95:51 | getStringExtra(...) | provenance | MaD:42 | +| TestStartActivityToGetIntent.java:102:18:102:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:102:18:102:51 | getStringExtra(...) | provenance | MaD:42 | +| TestStartActivityToGetIntent.java:102:18:102:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:102:18:102:51 | getStringExtra(...) | provenance | MaD:42 | +| TestStartActivityToGetIntent.java:102:18:102:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | TestStartActivityToGetIntent.java:102:18:102:51 | getStringExtra(...) | provenance | MaD:42 | +| TestStartBroadcastReceiverToIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:18:37:18:59 | (...)... : String | TestStartBroadcastReceiverToIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:18:37:18:59 | (...)... : String | TestStartBroadcastReceiverToIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:18:37:18:59 | (...)... : String | TestStartBroadcastReceiverToIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:18:46:18:59 | source(...) : Object | TestStartBroadcastReceiverToIntent.java:18:37:18:59 | (...)... : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:24:37:24:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:24:37:24:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:24:37:24:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:23:37:23:67 | (...)... : String | TestStartBroadcastReceiverToIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:23:37:23:67 | (...)... : String | TestStartBroadcastReceiverToIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:23:37:23:67 | (...)... : String | TestStartBroadcastReceiverToIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:23:46:23:67 | source(...) : Object | TestStartBroadcastReceiverToIntent.java:23:37:23:67 | (...)... : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:24:37:24:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:24:37:24:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:24:37:24:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:28:13:28:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:29:54:29:59 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:28:13:28:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:29:54:29:59 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:28:13:28:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:29:54:29:59 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:28:37:28:69 | (...)... : String | TestStartBroadcastReceiverToIntent.java:28:13:28:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:28:37:28:69 | (...)... : String | TestStartBroadcastReceiverToIntent.java:28:13:28:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:28:37:28:69 | (...)... : String | TestStartBroadcastReceiverToIntent.java:28:13:28:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:28:46:28:69 | source(...) : Object | TestStartBroadcastReceiverToIntent.java:28:37:28:69 | (...)... : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:29:54:29:59 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:29:54:29:59 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:29:54:29:59 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:33:13:33:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:34:38:34:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:33:13:33:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:34:38:34:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:33:13:33:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:34:38:34:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:33:37:33:67 | (...)... : String | TestStartBroadcastReceiverToIntent.java:33:13:33:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:33:37:33:67 | (...)... : String | TestStartBroadcastReceiverToIntent.java:33:13:33:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:33:37:33:67 | (...)... : String | TestStartBroadcastReceiverToIntent.java:33:13:33:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:33:46:33:67 | source(...) : Object | TestStartBroadcastReceiverToIntent.java:33:37:33:67 | (...)... : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:34:38:34:43 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:34:38:34:43 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:34:38:34:43 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:38:13:38:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:39:44:39:49 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:38:13:38:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:39:44:39:49 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:38:13:38:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:39:44:39:49 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:38:37:38:75 | (...)... : String | TestStartBroadcastReceiverToIntent.java:38:13:38:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:38:37:38:75 | (...)... : String | TestStartBroadcastReceiverToIntent.java:38:13:38:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:38:37:38:75 | (...)... : String | TestStartBroadcastReceiverToIntent.java:38:13:38:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:38:46:38:75 | source(...) : Object | TestStartBroadcastReceiverToIntent.java:38:37:38:75 | (...)... : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:39:44:39:49 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:39:44:39:49 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:39:44:39:49 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:43:13:43:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:44:37:44:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:43:13:43:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:44:37:44:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:43:13:43:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:44:37:44:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:43:37:43:66 | (...)... : String | TestStartBroadcastReceiverToIntent.java:43:13:43:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:43:37:43:66 | (...)... : String | TestStartBroadcastReceiverToIntent.java:43:13:43:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:43:37:43:66 | (...)... : String | TestStartBroadcastReceiverToIntent.java:43:13:43:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:43:46:43:66 | source(...) : Object | TestStartBroadcastReceiverToIntent.java:43:37:43:66 | (...)... : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:44:37:44:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:44:37:44:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:44:37:44:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:48:13:48:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:49:43:49:48 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:48:13:48:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:49:43:49:48 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:48:13:48:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:49:43:49:48 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:48:37:48:74 | (...)... : String | TestStartBroadcastReceiverToIntent.java:48:13:48:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:48:37:48:74 | (...)... : String | TestStartBroadcastReceiverToIntent.java:48:13:48:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:48:37:48:74 | (...)... : String | TestStartBroadcastReceiverToIntent.java:48:13:48:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:48:46:48:74 | source(...) : Object | TestStartBroadcastReceiverToIntent.java:48:37:48:74 | (...)... : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:49:43:49:48 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:49:43:49:48 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:49:43:49:48 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:53:13:53:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:54:44:54:49 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:53:13:53:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:54:44:54:49 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:53:13:53:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:54:44:54:49 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:53:37:53:74 | (...)... : String | TestStartBroadcastReceiverToIntent.java:53:13:53:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:53:37:53:74 | (...)... : String | TestStartBroadcastReceiverToIntent.java:53:13:53:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:53:37:53:74 | (...)... : String | TestStartBroadcastReceiverToIntent.java:53:13:53:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:53:46:53:74 | source(...) : Object | TestStartBroadcastReceiverToIntent.java:53:37:53:74 | (...)... : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:54:44:54:49 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:54:44:54:49 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:54:44:54:49 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:58:13:58:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:59:50:59:55 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:58:13:58:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:59:50:59:55 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:58:13:58:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:59:50:59:55 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:58:37:58:82 | (...)... : String | TestStartBroadcastReceiverToIntent.java:58:13:58:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:58:37:58:82 | (...)... : String | TestStartBroadcastReceiverToIntent.java:58:13:58:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:58:37:58:82 | (...)... : String | TestStartBroadcastReceiverToIntent.java:58:13:58:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:58:46:58:82 | source(...) : Object | TestStartBroadcastReceiverToIntent.java:58:37:58:82 | (...)... : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:59:50:59:55 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:59:50:59:55 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:59:50:59:55 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:65:13:65:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:66:31:66:36 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:65:13:65:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:66:31:66:36 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:65:13:65:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:66:31:66:36 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:65:37:65:60 | (...)... : String | TestStartBroadcastReceiverToIntent.java:65:13:65:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:65:37:65:60 | (...)... : String | TestStartBroadcastReceiverToIntent.java:65:13:65:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:65:37:65:60 | (...)... : String | TestStartBroadcastReceiverToIntent.java:65:13:65:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartBroadcastReceiverToIntent.java:65:46:65:60 | source(...) : Object | TestStartBroadcastReceiverToIntent.java:65:37:65:60 | (...)... : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:66:31:66:36 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:66:31:66:36 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:66:31:66:36 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:82:18:82:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:82:18:82:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:82:18:82:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartBroadcastReceiverToIntent.java:82:18:82:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:82:18:82:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartBroadcastReceiverToIntent.java:82:18:82:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:82:18:82:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartBroadcastReceiverToIntent.java:82:18:82:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartBroadcastReceiverToIntent.java:82:18:82:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:19:13:19:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:19:13:19:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:19:13:19:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:19:37:19:59 | (...)... : String | TestStartServiceToIntent.java:19:13:19:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:19:37:19:59 | (...)... : String | TestStartServiceToIntent.java:19:13:19:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:19:37:19:59 | (...)... : String | TestStartServiceToIntent.java:19:13:19:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:19:46:19:59 | source(...) : Object | TestStartServiceToIntent.java:19:37:19:59 | (...)... : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:24:13:24:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:24:13:24:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:24:13:24:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:24:37:24:67 | (...)... : String | TestStartServiceToIntent.java:24:13:24:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:24:37:24:67 | (...)... : String | TestStartServiceToIntent.java:24:13:24:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:24:37:24:67 | (...)... : String | TestStartServiceToIntent.java:24:13:24:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:24:46:24:67 | source(...) : Object | TestStartServiceToIntent.java:24:37:24:67 | (...)... : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:29:37:29:68 | (...)... : String | TestStartServiceToIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:29:37:29:68 | (...)... : String | TestStartServiceToIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:29:37:29:68 | (...)... : String | TestStartServiceToIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:29:46:29:68 | source(...) : Object | TestStartServiceToIntent.java:29:37:29:68 | (...)... : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:34:13:34:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:34:13:34:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:34:13:34:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:34:37:34:60 | (...)... : String | TestStartServiceToIntent.java:34:13:34:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:34:37:34:60 | (...)... : String | TestStartServiceToIntent.java:34:13:34:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:34:37:34:60 | (...)... : String | TestStartServiceToIntent.java:34:13:34:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:34:46:34:60 | source(...) : Object | TestStartServiceToIntent.java:34:37:34:60 | (...)... : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:39:13:39:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:39:13:39:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:39:13:39:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:39:37:39:71 | (...)... : String | TestStartServiceToIntent.java:39:13:39:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:39:37:39:71 | (...)... : String | TestStartServiceToIntent.java:39:13:39:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:39:37:39:71 | (...)... : String | TestStartServiceToIntent.java:39:13:39:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:39:46:39:71 | source(...) : Object | TestStartServiceToIntent.java:39:37:39:71 | (...)... : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:46:13:46:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:46:13:46:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:46:13:46:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:46:37:46:60 | (...)... : String | TestStartServiceToIntent.java:46:13:46:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:46:37:46:60 | (...)... : String | TestStartServiceToIntent.java:46:13:46:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:46:37:46:60 | (...)... : String | TestStartServiceToIntent.java:46:13:46:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | provenance | MaD:50 | +| TestStartServiceToIntent.java:46:46:46:60 | source(...) : Object | TestStartServiceToIntent.java:46:37:46:60 | (...)... : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:63:18:63:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:63:18:63:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:63:18:63:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:63:18:63:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:63:18:63:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:63:18:63:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:63:18:63:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:63:18:63:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:63:18:63:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:68:18:68:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:68:18:68:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:68:18:68:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:68:18:68:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:68:18:68:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:68:18:68:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:68:18:68:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:68:18:68:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:68:18:68:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:74:18:74:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:74:18:74:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:74:18:74:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:74:18:74:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:74:18:74:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:74:18:74:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:74:18:74:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:74:18:74:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:74:18:74:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:80:18:80:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:80:18:80:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:80:18:80:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:80:18:80:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:80:18:80:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:80:18:80:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:80:18:80:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:80:18:80:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:80:18:80:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:86:18:86:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:86:18:86:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:86:18:86:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:86:18:86:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:86:18:86:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:86:18:86:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:86:18:86:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:86:18:86:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:86:18:86:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:91:18:91:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:91:18:91:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:91:18:91:23 | intent : Intent [android.content.Intent.extras, ] : String | provenance | | +| TestStartServiceToIntent.java:91:18:91:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:91:18:91:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:91:18:91:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:91:18:91:46 | getStringExtra(...) | provenance | MaD:42 | +| TestStartServiceToIntent.java:91:18:91:23 | intent : Intent [android.content.Intent.extras, ] : String | TestStartServiceToIntent.java:91:18:91:46 | getStringExtra(...) | provenance | MaD:42 | +nodes +| Test.java:22:19:22:32 | it : Set [] : String | semmle.label | it : Set [] : String | +| Test.java:22:44:22:45 | it : Set [] : String | semmle.label | it : Set [] : String | +| Test.java:22:44:22:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:22:44:22:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | semmle.label | i : Intent [android.content.Intent.extras, ] : String | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | semmle.label | i : Intent [android.content.Intent.extras, ] : String | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : ArrayList | semmle.label | i : Intent [android.content.Intent.extras, ] : ArrayList | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : ArrayList | semmle.label | i : Intent [android.content.Intent.extras, ] : ArrayList | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Boolean | semmle.label | i : Intent [android.content.Intent.extras, ] : Boolean | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Boolean | semmle.label | i : Intent [android.content.Intent.extras, ] : Boolean | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Bundle | semmle.label | i : Intent [android.content.Intent.extras, ] : Bundle | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Bundle | semmle.label | i : Intent [android.content.Intent.extras, ] : Bundle | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence | semmle.label | i : Intent [android.content.Intent.extras, ] : CharSequence | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence | semmle.label | i : Intent [android.content.Intent.extras, ] : CharSequence | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence[] | semmle.label | i : Intent [android.content.Intent.extras, ] : CharSequence[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence[] | semmle.label | i : Intent [android.content.Intent.extras, ] : CharSequence[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Intent | semmle.label | i : Intent [android.content.Intent.extras, ] : Intent | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Intent | semmle.label | i : Intent [android.content.Intent.extras, ] : Intent | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : IntentSender | semmle.label | i : Intent [android.content.Intent.extras, ] : IntentSender | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : IntentSender | semmle.label | i : Intent [android.content.Intent.extras, ] : IntentSender | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | semmle.label | i : Intent [android.content.Intent.extras, ] : Number | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | semmle.label | i : Intent [android.content.Intent.extras, ] : Number | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | semmle.label | i : Intent [android.content.Intent.extras, ] : Object | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | semmle.label | i : Intent [android.content.Intent.extras, ] : Object | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Parcelable | semmle.label | i : Intent [android.content.Intent.extras, ] : Parcelable | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Parcelable | semmle.label | i : Intent [android.content.Intent.extras, ] : Parcelable | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Parcelable[] | semmle.label | i : Intent [android.content.Intent.extras, ] : Parcelable[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Parcelable[] | semmle.label | i : Intent [android.content.Intent.extras, ] : Parcelable[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Serializable | semmle.label | i : Intent [android.content.Intent.extras, ] : Serializable | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Serializable | semmle.label | i : Intent [android.content.Intent.extras, ] : Serializable | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | semmle.label | i : Intent [android.content.Intent.extras, ] : String | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | semmle.label | i : Intent [android.content.Intent.extras, ] : String | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String[] | semmle.label | i : Intent [android.content.Intent.extras, ] : String[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String[] | semmle.label | i : Intent [android.content.Intent.extras, ] : String[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : boolean[] | semmle.label | i : Intent [android.content.Intent.extras, ] : boolean[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : boolean[] | semmle.label | i : Intent [android.content.Intent.extras, ] : boolean[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : byte[] | semmle.label | i : Intent [android.content.Intent.extras, ] : byte[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : byte[] | semmle.label | i : Intent [android.content.Intent.extras, ] : byte[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : char[] | semmle.label | i : Intent [android.content.Intent.extras, ] : char[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : char[] | semmle.label | i : Intent [android.content.Intent.extras, ] : char[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : double[] | semmle.label | i : Intent [android.content.Intent.extras, ] : double[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : double[] | semmle.label | i : Intent [android.content.Intent.extras, ] : double[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : float[] | semmle.label | i : Intent [android.content.Intent.extras, ] : float[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : float[] | semmle.label | i : Intent [android.content.Intent.extras, ] : float[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : int[] | semmle.label | i : Intent [android.content.Intent.extras, ] : int[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : int[] | semmle.label | i : Intent [android.content.Intent.extras, ] : int[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : long[] | semmle.label | i : Intent [android.content.Intent.extras, ] : long[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : long[] | semmle.label | i : Intent [android.content.Intent.extras, ] : long[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : short[] | semmle.label | i : Intent [android.content.Intent.extras, ] : short[] | +| Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : short[] | semmle.label | i : Intent [android.content.Intent.extras, ] : short[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String | semmle.label | i : Intent [android.content.Intent.extras, ] : String | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String | semmle.label | i : Intent [android.content.Intent.extras, ] : String | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : ArrayList | semmle.label | i : Intent [android.content.Intent.extras, ] : ArrayList | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : ArrayList | semmle.label | i : Intent [android.content.Intent.extras, ] : ArrayList | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Boolean | semmle.label | i : Intent [android.content.Intent.extras, ] : Boolean | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Boolean | semmle.label | i : Intent [android.content.Intent.extras, ] : Boolean | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Bundle | semmle.label | i : Intent [android.content.Intent.extras, ] : Bundle | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Bundle | semmle.label | i : Intent [android.content.Intent.extras, ] : Bundle | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : CharSequence | semmle.label | i : Intent [android.content.Intent.extras, ] : CharSequence | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : CharSequence | semmle.label | i : Intent [android.content.Intent.extras, ] : CharSequence | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : CharSequence[] | semmle.label | i : Intent [android.content.Intent.extras, ] : CharSequence[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : CharSequence[] | semmle.label | i : Intent [android.content.Intent.extras, ] : CharSequence[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Intent | semmle.label | i : Intent [android.content.Intent.extras, ] : Intent | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Intent | semmle.label | i : Intent [android.content.Intent.extras, ] : Intent | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : IntentSender | semmle.label | i : Intent [android.content.Intent.extras, ] : IntentSender | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : IntentSender | semmle.label | i : Intent [android.content.Intent.extras, ] : IntentSender | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Number | semmle.label | i : Intent [android.content.Intent.extras, ] : Number | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Number | semmle.label | i : Intent [android.content.Intent.extras, ] : Number | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Object | semmle.label | i : Intent [android.content.Intent.extras, ] : Object | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Object | semmle.label | i : Intent [android.content.Intent.extras, ] : Object | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Parcelable | semmle.label | i : Intent [android.content.Intent.extras, ] : Parcelable | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Parcelable | semmle.label | i : Intent [android.content.Intent.extras, ] : Parcelable | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Parcelable[] | semmle.label | i : Intent [android.content.Intent.extras, ] : Parcelable[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Parcelable[] | semmle.label | i : Intent [android.content.Intent.extras, ] : Parcelable[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Serializable | semmle.label | i : Intent [android.content.Intent.extras, ] : Serializable | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : Serializable | semmle.label | i : Intent [android.content.Intent.extras, ] : Serializable | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String | semmle.label | i : Intent [android.content.Intent.extras, ] : String | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String | semmle.label | i : Intent [android.content.Intent.extras, ] : String | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String[] | semmle.label | i : Intent [android.content.Intent.extras, ] : String[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : String[] | semmle.label | i : Intent [android.content.Intent.extras, ] : String[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : boolean[] | semmle.label | i : Intent [android.content.Intent.extras, ] : boolean[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : boolean[] | semmle.label | i : Intent [android.content.Intent.extras, ] : boolean[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : byte[] | semmle.label | i : Intent [android.content.Intent.extras, ] : byte[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : byte[] | semmle.label | i : Intent [android.content.Intent.extras, ] : byte[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : char[] | semmle.label | i : Intent [android.content.Intent.extras, ] : char[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : char[] | semmle.label | i : Intent [android.content.Intent.extras, ] : char[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : double[] | semmle.label | i : Intent [android.content.Intent.extras, ] : double[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : double[] | semmle.label | i : Intent [android.content.Intent.extras, ] : double[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : float[] | semmle.label | i : Intent [android.content.Intent.extras, ] : float[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : float[] | semmle.label | i : Intent [android.content.Intent.extras, ] : float[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : int[] | semmle.label | i : Intent [android.content.Intent.extras, ] : int[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : int[] | semmle.label | i : Intent [android.content.Intent.extras, ] : int[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : long[] | semmle.label | i : Intent [android.content.Intent.extras, ] : long[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : long[] | semmle.label | i : Intent [android.content.Intent.extras, ] : long[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : short[] | semmle.label | i : Intent [android.content.Intent.extras, ] : short[] | +| Test.java:23:45:23:45 | i : Intent [android.content.Intent.extras, ] : short[] | semmle.label | i : Intent [android.content.Intent.extras, ] : short[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | semmle.label | getExtras(...) : Bundle [] : String | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | semmle.label | getExtras(...) : Bundle [] : String | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : ArrayList | semmle.label | getExtras(...) : Bundle [] : ArrayList | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : ArrayList | semmle.label | getExtras(...) : Bundle [] : ArrayList | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Boolean | semmle.label | getExtras(...) : Bundle [] : Boolean | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Boolean | semmle.label | getExtras(...) : Bundle [] : Boolean | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Bundle | semmle.label | getExtras(...) : Bundle [] : Bundle | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Bundle | semmle.label | getExtras(...) : Bundle [] : Bundle | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : CharSequence | semmle.label | getExtras(...) : Bundle [] : CharSequence | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : CharSequence | semmle.label | getExtras(...) : Bundle [] : CharSequence | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : CharSequence[] | semmle.label | getExtras(...) : Bundle [] : CharSequence[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : CharSequence[] | semmle.label | getExtras(...) : Bundle [] : CharSequence[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Intent | semmle.label | getExtras(...) : Bundle [] : Intent | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Intent | semmle.label | getExtras(...) : Bundle [] : Intent | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : IntentSender | semmle.label | getExtras(...) : Bundle [] : IntentSender | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : IntentSender | semmle.label | getExtras(...) : Bundle [] : IntentSender | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | semmle.label | getExtras(...) : Bundle [] : Number | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | semmle.label | getExtras(...) : Bundle [] : Number | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Object | semmle.label | getExtras(...) : Bundle [] : Object | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Object | semmle.label | getExtras(...) : Bundle [] : Object | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Parcelable | semmle.label | getExtras(...) : Bundle [] : Parcelable | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Parcelable | semmle.label | getExtras(...) : Bundle [] : Parcelable | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Parcelable[] | semmle.label | getExtras(...) : Bundle [] : Parcelable[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Parcelable[] | semmle.label | getExtras(...) : Bundle [] : Parcelable[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Serializable | semmle.label | getExtras(...) : Bundle [] : Serializable | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Serializable | semmle.label | getExtras(...) : Bundle [] : Serializable | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | semmle.label | getExtras(...) : Bundle [] : String | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | semmle.label | getExtras(...) : Bundle [] : String | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String[] | semmle.label | getExtras(...) : Bundle [] : String[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String[] | semmle.label | getExtras(...) : Bundle [] : String[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : boolean[] | semmle.label | getExtras(...) : Bundle [] : boolean[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : boolean[] | semmle.label | getExtras(...) : Bundle [] : boolean[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : byte[] | semmle.label | getExtras(...) : Bundle [] : byte[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : byte[] | semmle.label | getExtras(...) : Bundle [] : byte[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : char[] | semmle.label | getExtras(...) : Bundle [] : char[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : char[] | semmle.label | getExtras(...) : Bundle [] : char[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : double[] | semmle.label | getExtras(...) : Bundle [] : double[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : double[] | semmle.label | getExtras(...) : Bundle [] : double[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : float[] | semmle.label | getExtras(...) : Bundle [] : float[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : float[] | semmle.label | getExtras(...) : Bundle [] : float[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : int[] | semmle.label | getExtras(...) : Bundle [] : int[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : int[] | semmle.label | getExtras(...) : Bundle [] : int[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : long[] | semmle.label | getExtras(...) : Bundle [] : long[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : long[] | semmle.label | getExtras(...) : Bundle [] : long[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : short[] | semmle.label | getExtras(...) : Bundle [] : short[] | +| Test.java:23:45:23:57 | getExtras(...) : Bundle [] : short[] | semmle.label | getExtras(...) : Bundle [] : short[] | +| Test.java:24:19:24:30 | b : BaseBundle [] : String | semmle.label | b : BaseBundle [] : String | +| Test.java:24:19:24:30 | b : Bundle [] : Object | semmle.label | b : Bundle [] : Object | +| Test.java:24:19:24:30 | b : Bundle [] : String | semmle.label | b : Bundle [] : String | +| Test.java:24:42:24:42 | b : BaseBundle [] : String | semmle.label | b : BaseBundle [] : String | +| Test.java:24:42:24:42 | b : Bundle [] : Object | semmle.label | b : Bundle [] : Object | +| Test.java:24:42:24:42 | b : Bundle [] : String | semmle.label | b : Bundle [] : String | +| Test.java:24:42:24:51 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:24:42:24:51 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:24:42:24:51 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:24:42:24:62 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:24:42:24:62 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:24:42:24:62 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:24:42:24:69 | next(...) : String | semmle.label | next(...) : String | +| Test.java:24:42:24:69 | next(...) : String | semmle.label | next(...) : String | +| Test.java:24:42:24:69 | next(...) : String | semmle.label | next(...) : String | +| Test.java:27:28:27:35 | data : Uri | semmle.label | data : Uri | +| Test.java:27:47:27:71 | new Intent(...) : Intent [android.content.Intent.data] : Uri | semmle.label | new Intent(...) : Intent [android.content.Intent.data] : Uri | +| Test.java:27:67:27:70 | data : Uri | semmle.label | data : Uri | +| Test.java:28:29:28:36 | k : String | semmle.label | k : String | +| Test.java:28:66:28:66 | b [post update] : Bundle [] : String | semmle.label | b [post update] : Bundle [] : String | +| Test.java:28:75:28:75 | k : String | semmle.label | k : String | +| Test.java:28:89:28:89 | b : Bundle [] : String | semmle.label | b : Bundle [] : String | +| Test.java:29:51:29:58 | k : String | semmle.label | k : String | +| Test.java:29:110:29:110 | b [post update] : PersistableBundle [] : String | semmle.label | b [post update] : PersistableBundle [] : String | +| Test.java:29:119:29:119 | k : String | semmle.label | k : String | +| Test.java:29:133:29:133 | b : PersistableBundle [] : String | semmle.label | b : PersistableBundle [] : String | +| Test.java:32:14:32:26 | intent : Intent [android.content.Intent.data] : Uri | semmle.label | intent : Intent [android.content.Intent.data] : Uri | +| Test.java:32:38:32:43 | intent : Intent [android.content.Intent.data] : Uri | semmle.label | intent : Intent [android.content.Intent.data] : Uri | +| Test.java:32:38:32:53 | getData(...) : Uri | semmle.label | getData(...) : Uri | +| Test.java:41:16:41:74 | (...)... : Intent [android.content.Intent.extras, ] : String | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : String | +| Test.java:41:24:41:74 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : String | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : String | +| Test.java:41:45:41:73 | newBundleWithMapKey(...) : Bundle [] : String | semmle.label | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:41:65:41:72 | source(...) : String | semmle.label | source(...) : String | +| Test.java:42:10:42:23 | new Intent(...) : Intent [android.content.Intent.extras, ] : String | semmle.label | new Intent(...) : Intent [android.content.Intent.extras, ] : String | +| Test.java:42:10:42:23 | new Intent(...) : Intent [android.content.Intent.extras, ] : String | semmle.label | new Intent(...) : Intent [android.content.Intent.extras, ] : String | +| Test.java:42:21:42:22 | in : Intent [android.content.Intent.extras, ] : String | semmle.label | in : Intent [android.content.Intent.extras, ] : String | +| Test.java:43:9:43:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:43:19:43:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:43:36:43:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:43:36:43:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:48:16:48:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : Object | +| Test.java:48:24:48:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:48:45:48:75 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:48:67:48:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:49:10:49:23 | new Intent(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | new Intent(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:49:10:49:23 | new Intent(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | new Intent(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:49:21:49:22 | in : Intent [android.content.Intent.extras, ] : Object | semmle.label | in : Intent [android.content.Intent.extras, ] : Object | +| Test.java:50:9:50:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:50:21:50:41 | getIntent_extras(...) : Bundle [] : Object | semmle.label | getIntent_extras(...) : Bundle [] : Object | +| Test.java:50:38:50:40 | out : Intent [android.content.Intent.extras, ] : Object | semmle.label | out : Intent [android.content.Intent.extras, ] : Object | +| Test.java:50:38:50:40 | out : Intent [android.content.Intent.extras, ] : Object | semmle.label | out : Intent [android.content.Intent.extras, ] : Object | +| Test.java:55:13:55:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:55:18:55:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:56:10:56:29 | new Intent(...) : Intent [android.content.Intent.data] : Uri | semmle.label | new Intent(...) : Intent [android.content.Intent.data] : Uri | +| Test.java:56:27:56:28 | in : Uri | semmle.label | in : Uri | +| Test.java:57:9:57:20 | getData(...) | semmle.label | getData(...) | +| Test.java:57:17:57:19 | out : Intent [android.content.Intent.data] : Uri | semmle.label | out : Intent [android.content.Intent.data] : Uri | +| Test.java:62:13:62:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:62:18:62:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:63:10:63:41 | new Intent(...) : Intent [android.content.Intent.data] : Uri | semmle.label | new Intent(...) : Intent [android.content.Intent.data] : Uri | +| Test.java:63:27:63:28 | in : Uri | semmle.label | in : Uri | +| Test.java:64:9:64:20 | getData(...) | semmle.label | getData(...) | +| Test.java:64:17:64:19 | out : Intent [android.content.Intent.data] : Uri | semmle.label | out : Intent [android.content.Intent.data] : Uri | +| Test.java:69:16:69:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:69:24:69:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:70:10:70:11 | in : Intent | semmle.label | in : Intent | +| Test.java:70:10:70:29 | addCategory(...) : Intent | semmle.label | addCategory(...) : Intent | +| Test.java:71:9:71:11 | out | semmle.label | out | +| Test.java:76:16:76:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:76:24:76:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:77:10:77:11 | in : Intent | semmle.label | in : Intent | +| Test.java:77:10:77:23 | addFlags(...) : Intent | semmle.label | addFlags(...) : Intent | +| Test.java:78:9:78:11 | out | semmle.label | out | +| Test.java:83:22:83:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:83:36:83:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:84:10:84:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : CharSequence | semmle.label | createChooser(...) : Intent [android.content.Intent.extras, ] : CharSequence | +| Test.java:84:10:84:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : CharSequence | semmle.label | createChooser(...) : Intent [android.content.Intent.extras, ] : CharSequence | +| Test.java:84:37:84:38 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:85:9:85:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:85:21:85:41 | getIntent_extras(...) : Bundle [] : CharSequence | semmle.label | getIntent_extras(...) : Bundle [] : CharSequence | +| Test.java:85:38:85:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | semmle.label | out : Intent [android.content.Intent.extras, ] : CharSequence | +| Test.java:85:38:85:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | semmle.label | out : Intent [android.content.Intent.extras, ] : CharSequence | +| Test.java:90:22:90:43 | (...)... : IntentSender | semmle.label | (...)... : IntentSender | +| Test.java:90:36:90:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:91:10:91:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : IntentSender | semmle.label | createChooser(...) : Intent [android.content.Intent.extras, ] : IntentSender | +| Test.java:91:10:91:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : IntentSender | semmle.label | createChooser(...) : Intent [android.content.Intent.extras, ] : IntentSender | +| Test.java:91:43:91:44 | in : IntentSender | semmle.label | in : IntentSender | +| Test.java:92:9:92:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:92:21:92:41 | getIntent_extras(...) : Bundle [] : IntentSender | semmle.label | getIntent_extras(...) : Bundle [] : IntentSender | +| Test.java:92:38:92:40 | out : Intent [android.content.Intent.extras, ] : IntentSender | semmle.label | out : Intent [android.content.Intent.extras, ] : IntentSender | +| Test.java:92:38:92:40 | out : Intent [android.content.Intent.extras, ] : IntentSender | semmle.label | out : Intent [android.content.Intent.extras, ] : IntentSender | +| Test.java:97:16:97:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:97:24:97:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:98:10:98:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : Intent | semmle.label | createChooser(...) : Intent [android.content.Intent.extras, ] : Intent | +| Test.java:98:10:98:45 | createChooser(...) : Intent [android.content.Intent.extras, ] : Intent | semmle.label | createChooser(...) : Intent [android.content.Intent.extras, ] : Intent | +| Test.java:98:31:98:32 | in : Intent | semmle.label | in : Intent | +| Test.java:99:9:99:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:99:21:99:41 | getIntent_extras(...) : Bundle [] : Intent | semmle.label | getIntent_extras(...) : Bundle [] : Intent | +| Test.java:99:38:99:40 | out : Intent [android.content.Intent.extras, ] : Intent | semmle.label | out : Intent [android.content.Intent.extras, ] : Intent | +| Test.java:99:38:99:40 | out : Intent [android.content.Intent.extras, ] : Intent | semmle.label | out : Intent [android.content.Intent.extras, ] : Intent | +| Test.java:104:16:104:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : Object | +| Test.java:104:24:104:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:104:45:104:75 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:104:67:104:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:105:10:105:11 | in : Intent [android.content.Intent.extras, ] : Object | semmle.label | in : Intent [android.content.Intent.extras, ] : Object | +| Test.java:105:10:105:32 | getBundleExtra(...) : Bundle | semmle.label | getBundleExtra(...) : Bundle | +| Test.java:106:9:106:11 | out | semmle.label | out | +| Test.java:111:16:111:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : Object | +| Test.java:111:24:111:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:111:45:111:75 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:111:67:111:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:112:10:112:11 | in : Intent [android.content.Intent.extras, ] : Object | semmle.label | in : Intent [android.content.Intent.extras, ] : Object | +| Test.java:112:10:112:35 | getByteArrayExtra(...) : byte[] | semmle.label | getByteArrayExtra(...) : byte[] | +| Test.java:113:9:113:11 | out | semmle.label | out | +| Test.java:118:16:118:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : Object | +| Test.java:118:24:118:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:118:45:118:75 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:118:67:118:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:119:10:119:11 | in : Intent [android.content.Intent.extras, ] : Object | semmle.label | in : Intent [android.content.Intent.extras, ] : Object | +| Test.java:119:10:119:35 | getCharArrayExtra(...) : char[] | semmle.label | getCharArrayExtra(...) : char[] | +| Test.java:120:9:120:11 | out | semmle.label | out | +| Test.java:125:16:125:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : Object | +| Test.java:125:24:125:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:125:45:125:75 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:125:67:125:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:126:10:126:11 | in : Intent [android.content.Intent.extras, ] : Object | semmle.label | in : Intent [android.content.Intent.extras, ] : Object | +| Test.java:126:10:126:43 | getCharSequenceArrayExtra(...) : CharSequence[] | semmle.label | getCharSequenceArrayExtra(...) : CharSequence[] | +| Test.java:127:9:127:11 | out | semmle.label | out | +| Test.java:132:16:132:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : Object | +| Test.java:132:24:132:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:132:45:132:75 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:132:67:132:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:133:10:133:11 | in : Intent [android.content.Intent.extras, ] : Object | semmle.label | in : Intent [android.content.Intent.extras, ] : Object | +| Test.java:133:10:133:47 | getCharSequenceArrayListExtra(...) : ArrayList | semmle.label | getCharSequenceArrayListExtra(...) : ArrayList | +| Test.java:134:9:134:11 | out | semmle.label | out | +| Test.java:139:16:139:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : Object | +| Test.java:139:24:139:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:139:45:139:75 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:139:67:139:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:140:10:140:11 | in : Intent [android.content.Intent.extras, ] : Object | semmle.label | in : Intent [android.content.Intent.extras, ] : Object | +| Test.java:140:10:140:38 | getCharSequenceExtra(...) : CharSequence | semmle.label | getCharSequenceExtra(...) : CharSequence | +| Test.java:141:9:141:11 | out | semmle.label | out | +| Test.java:146:16:146:51 | (...)... : Intent [android.content.Intent.data] : Uri | semmle.label | (...)... : Intent [android.content.Intent.data] : Uri | +| Test.java:146:24:146:51 | newWithIntent_data(...) : Intent [android.content.Intent.data] : Uri | semmle.label | newWithIntent_data(...) : Intent [android.content.Intent.data] : Uri | +| Test.java:146:43:146:50 | source(...) : Uri | semmle.label | source(...) : Uri | +| Test.java:147:10:147:11 | in : Intent [android.content.Intent.data] : Uri | semmle.label | in : Intent [android.content.Intent.data] : Uri | +| Test.java:147:10:147:21 | getData(...) : Uri | semmle.label | getData(...) : Uri | +| Test.java:148:9:148:11 | out | semmle.label | out | +| Test.java:153:16:153:51 | (...)... : Intent [android.content.Intent.data] : Uri | semmle.label | (...)... : Intent [android.content.Intent.data] : Uri | +| Test.java:153:24:153:51 | newWithIntent_data(...) : Intent [android.content.Intent.data] : Uri | semmle.label | newWithIntent_data(...) : Intent [android.content.Intent.data] : Uri | +| Test.java:153:43:153:50 | source(...) : Uri | semmle.label | source(...) : Uri | +| Test.java:154:10:154:11 | in : Intent [android.content.Intent.data] : Uri | semmle.label | in : Intent [android.content.Intent.data] : Uri | +| Test.java:154:10:154:27 | getDataString(...) : String | semmle.label | getDataString(...) : String | +| Test.java:155:9:155:11 | out | semmle.label | out | +| Test.java:160:16:160:53 | (...)... : Intent [android.content.Intent.extras] : Bundle | semmle.label | (...)... : Intent [android.content.Intent.extras] : Bundle | +| Test.java:160:24:160:53 | newWithIntent_extras(...) : Intent [android.content.Intent.extras] : Bundle | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras] : Bundle | +| Test.java:160:45:160:52 | source(...) : Bundle | semmle.label | source(...) : Bundle | +| Test.java:161:10:161:11 | in : Intent [android.content.Intent.extras] : Bundle | semmle.label | in : Intent [android.content.Intent.extras] : Bundle | +| Test.java:161:10:161:23 | getExtras(...) : Bundle | semmle.label | getExtras(...) : Bundle | +| Test.java:162:9:162:11 | out | semmle.label | out | +| Test.java:167:16:167:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:167:24:167:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:168:10:168:29 | getIntent(...) : Intent | semmle.label | getIntent(...) : Intent | +| Test.java:168:10:168:29 | getIntent(...) : Intent [android.content.Intent.data] : Object | semmle.label | getIntent(...) : Intent [android.content.Intent.data] : Object | +| Test.java:168:27:168:28 | in : String | semmle.label | in : String | +| Test.java:169:9:169:11 | out : Intent | semmle.label | out : Intent | +| Test.java:169:9:169:11 | out : Intent [android.content.Intent.data] : Object | semmle.label | out : Intent [android.content.Intent.data] : Object | +| Test.java:169:9:169:21 | getData(...) | semmle.label | getData(...) | +| Test.java:174:16:174:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:174:24:174:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:175:10:175:32 | getIntentOld(...) : Intent | semmle.label | getIntentOld(...) : Intent | +| Test.java:175:10:175:32 | getIntentOld(...) : Intent [android.content.Intent.data] : Object | semmle.label | getIntentOld(...) : Intent [android.content.Intent.data] : Object | +| Test.java:175:30:175:31 | in : String | semmle.label | in : String | +| Test.java:176:9:176:11 | out : Intent | semmle.label | out : Intent | +| Test.java:176:9:176:11 | out : Intent [android.content.Intent.data] : Object | semmle.label | out : Intent [android.content.Intent.data] : Object | +| Test.java:176:9:176:21 | getData(...) | semmle.label | getData(...) | +| Test.java:181:16:181:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : Object | +| Test.java:181:24:181:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:181:45:181:75 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:181:67:181:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:182:10:182:11 | in : Intent [android.content.Intent.extras, ] : Object | semmle.label | in : Intent [android.content.Intent.extras, ] : Object | +| Test.java:182:10:182:41 | getParcelableArrayExtra(...) : Parcelable[] | semmle.label | getParcelableArrayExtra(...) : Parcelable[] | +| Test.java:183:9:183:11 | out | semmle.label | out | +| Test.java:188:16:188:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : Object | +| Test.java:188:24:188:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:188:45:188:75 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:188:67:188:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:189:10:189:11 | in : Intent [android.content.Intent.extras, ] : Object | semmle.label | in : Intent [android.content.Intent.extras, ] : Object | +| Test.java:189:10:189:45 | getParcelableArrayListExtra(...) : ArrayList | semmle.label | getParcelableArrayListExtra(...) : ArrayList | +| Test.java:190:9:190:11 | out | semmle.label | out | +| Test.java:195:16:195:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : Object | +| Test.java:195:24:195:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:195:45:195:75 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:195:67:195:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:196:10:196:11 | in : Intent [android.content.Intent.extras, ] : Object | semmle.label | in : Intent [android.content.Intent.extras, ] : Object | +| Test.java:196:10:196:36 | getParcelableExtra(...) : Parcelable | semmle.label | getParcelableExtra(...) : Parcelable | +| Test.java:197:9:197:11 | out | semmle.label | out | +| Test.java:202:16:202:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : Object | +| Test.java:202:24:202:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:202:45:202:75 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:202:67:202:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:203:10:203:11 | in : Intent [android.content.Intent.extras, ] : Object | semmle.label | in : Intent [android.content.Intent.extras, ] : Object | +| Test.java:203:10:203:38 | getSerializableExtra(...) : Serializable | semmle.label | getSerializableExtra(...) : Serializable | +| Test.java:204:9:204:11 | out | semmle.label | out | +| Test.java:209:16:209:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : Object | +| Test.java:209:24:209:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:209:45:209:75 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:209:67:209:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:210:10:210:11 | in : Intent [android.content.Intent.extras, ] : Object | semmle.label | in : Intent [android.content.Intent.extras, ] : Object | +| Test.java:210:10:210:37 | getStringArrayExtra(...) : String[] | semmle.label | getStringArrayExtra(...) : String[] | +| Test.java:211:9:211:11 | out | semmle.label | out | +| Test.java:216:16:216:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : Object | +| Test.java:216:24:216:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:216:45:216:75 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:216:67:216:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:217:10:217:11 | in : Intent [android.content.Intent.extras, ] : Object | semmle.label | in : Intent [android.content.Intent.extras, ] : Object | +| Test.java:217:10:217:41 | getStringArrayListExtra(...) : ArrayList | semmle.label | getStringArrayListExtra(...) : ArrayList | +| Test.java:218:9:218:11 | out | semmle.label | out | +| Test.java:223:16:223:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : Object | +| Test.java:223:24:223:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:223:45:223:75 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:223:67:223:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:224:10:224:11 | in : Intent [android.content.Intent.extras, ] : Object | semmle.label | in : Intent [android.content.Intent.extras, ] : Object | +| Test.java:224:10:224:32 | getStringExtra(...) : String | semmle.label | getStringExtra(...) : String | +| Test.java:225:9:225:11 | out | semmle.label | out | +| Test.java:230:16:230:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:230:24:230:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:231:10:231:31 | parseUri(...) : Intent | semmle.label | parseUri(...) : Intent | +| Test.java:231:10:231:31 | parseUri(...) : Intent [android.content.Intent.data] : Object | semmle.label | parseUri(...) : Intent [android.content.Intent.data] : Object | +| Test.java:231:26:231:27 | in : String | semmle.label | in : String | +| Test.java:232:9:232:11 | out : Intent | semmle.label | out : Intent | +| Test.java:232:9:232:11 | out : Intent [android.content.Intent.data] : Object | semmle.label | out : Intent [android.content.Intent.data] : Object | +| Test.java:232:9:232:21 | getData(...) | semmle.label | getData(...) | +| Test.java:237:16:237:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:237:24:237:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:238:10:238:11 | in : Intent | semmle.label | in : Intent | +| Test.java:238:10:238:53 | putCharSequenceArrayListExtra(...) : Intent | semmle.label | putCharSequenceArrayListExtra(...) : Intent | +| Test.java:239:9:239:11 | out | semmle.label | out | +| Test.java:244:16:244:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:244:24:244:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:245:4:245:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:245:4:245:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:245:38:245:39 | in : String | semmle.label | in : String | +| Test.java:246:9:246:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:246:19:246:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:246:36:246:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:246:36:246:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:251:19:251:37 | (...)... : ArrayList | semmle.label | (...)... : ArrayList | +| Test.java:251:30:251:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:252:4:252:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | +| Test.java:252:4:252:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | +| Test.java:252:44:252:45 | in : ArrayList | semmle.label | in : ArrayList | +| Test.java:253:9:253:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:253:21:253:41 | getIntent_extras(...) : Bundle [] : ArrayList | semmle.label | getIntent_extras(...) : Bundle [] : ArrayList | +| Test.java:253:38:253:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | semmle.label | out : Intent [android.content.Intent.extras, ] : ArrayList | +| Test.java:253:38:253:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | semmle.label | out : Intent [android.content.Intent.extras, ] : ArrayList | +| Test.java:258:16:258:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:258:24:258:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:259:10:259:11 | in : Intent | semmle.label | in : Intent | +| Test.java:259:10:259:41 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:260:9:260:11 | out | semmle.label | out | +| Test.java:265:16:265:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:265:24:265:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:266:10:266:11 | in : Intent | semmle.label | in : Intent | +| Test.java:266:10:266:38 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:267:9:267:11 | out | semmle.label | out | +| Test.java:272:16:272:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:272:24:272:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:273:10:273:11 | in : Intent | semmle.label | in : Intent | +| Test.java:273:10:273:40 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:274:9:274:11 | out | semmle.label | out | +| Test.java:279:16:279:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:279:24:279:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:280:10:280:11 | in : Intent | semmle.label | in : Intent | +| Test.java:280:10:280:39 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:281:9:281:11 | out | semmle.label | out | +| Test.java:286:16:286:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:286:24:286:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:287:10:287:11 | in : Intent | semmle.label | in : Intent | +| Test.java:287:10:287:37 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:288:9:288:11 | out | semmle.label | out | +| Test.java:293:16:293:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:293:24:293:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:294:10:294:11 | in : Intent | semmle.label | in : Intent | +| Test.java:294:10:294:49 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:295:9:295:11 | out | semmle.label | out | +| Test.java:300:16:300:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:300:24:300:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:301:10:301:11 | in : Intent | semmle.label | in : Intent | +| Test.java:301:10:301:44 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:302:9:302:11 | out | semmle.label | out | +| Test.java:307:16:307:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:307:24:307:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:308:10:308:11 | in : Intent | semmle.label | in : Intent | +| Test.java:308:10:308:48 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:309:9:309:11 | out | semmle.label | out | +| Test.java:314:16:314:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:314:24:314:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:315:10:315:11 | in : Intent | semmle.label | in : Intent | +| Test.java:315:10:315:47 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:316:9:316:11 | out | semmle.label | out | +| Test.java:321:16:321:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:321:24:321:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:322:10:322:11 | in : Intent | semmle.label | in : Intent | +| Test.java:322:10:322:49 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:323:9:323:11 | out | semmle.label | out | +| Test.java:328:16:328:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:328:24:328:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:329:10:329:11 | in : Intent | semmle.label | in : Intent | +| Test.java:329:10:329:50 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:330:9:330:11 | out | semmle.label | out | +| Test.java:335:16:335:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:335:24:335:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:336:10:336:11 | in : Intent | semmle.label | in : Intent | +| Test.java:336:10:336:48 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:337:9:337:11 | out | semmle.label | out | +| Test.java:342:16:342:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:342:24:342:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:343:10:343:11 | in : Intent | semmle.label | in : Intent | +| Test.java:343:10:343:48 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:344:9:344:11 | out | semmle.label | out | +| Test.java:349:16:349:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:349:24:349:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:350:10:350:11 | in : Intent | semmle.label | in : Intent | +| Test.java:350:10:350:43 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:351:9:351:11 | out | semmle.label | out | +| Test.java:356:16:356:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:356:24:356:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:357:10:357:11 | in : Intent | semmle.label | in : Intent | +| Test.java:357:10:357:51 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:358:9:358:11 | out | semmle.label | out | +| Test.java:363:16:363:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:363:24:363:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:364:10:364:11 | in : Intent | semmle.label | in : Intent | +| Test.java:364:10:364:50 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:365:9:365:11 | out | semmle.label | out | +| Test.java:370:16:370:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:370:24:370:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:371:10:371:11 | in : Intent | semmle.label | in : Intent | +| Test.java:371:10:371:48 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:372:9:372:11 | out | semmle.label | out | +| Test.java:377:16:377:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:377:24:377:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:378:10:378:11 | in : Intent | semmle.label | in : Intent | +| Test.java:378:10:378:54 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:379:9:379:11 | out | semmle.label | out | +| Test.java:384:16:384:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:384:24:384:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:385:10:385:11 | in : Intent | semmle.label | in : Intent | +| Test.java:385:10:385:54 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:386:9:386:11 | out | semmle.label | out | +| Test.java:391:16:391:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:391:24:391:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:392:10:392:11 | in : Intent | semmle.label | in : Intent | +| Test.java:392:10:392:52 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:393:9:393:11 | out | semmle.label | out | +| Test.java:398:16:398:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:398:24:398:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:399:10:399:11 | in : Intent | semmle.label | in : Intent | +| Test.java:399:10:399:56 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:400:9:400:11 | out | semmle.label | out | +| Test.java:405:16:405:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:405:24:405:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:406:10:406:11 | in : Intent | semmle.label | in : Intent | +| Test.java:406:10:406:54 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:407:9:407:11 | out | semmle.label | out | +| Test.java:412:16:412:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:412:24:412:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:413:10:413:11 | in : Intent | semmle.label | in : Intent | +| Test.java:413:10:413:48 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:414:9:414:11 | out | semmle.label | out | +| Test.java:419:16:419:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:419:24:419:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:420:10:420:11 | in : Intent | semmle.label | in : Intent | +| Test.java:420:10:420:40 | putExtra(...) : Intent | semmle.label | putExtra(...) : Intent | +| Test.java:421:9:421:11 | out | semmle.label | out | +| Test.java:426:16:426:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:426:24:426:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:427:4:427:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:427:4:427:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:427:17:427:18 | in : String | semmle.label | in : String | +| Test.java:428:9:428:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:428:19:428:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:428:36:428:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:428:36:428:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:433:16:433:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:433:24:433:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:434:4:434:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:434:4:434:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:434:17:434:18 | in : String | semmle.label | in : String | +| Test.java:435:9:435:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:435:19:435:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:435:36:435:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:435:36:435:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:440:16:440:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:440:24:440:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:441:4:441:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:441:4:441:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:441:17:441:18 | in : String | semmle.label | in : String | +| Test.java:442:9:442:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:442:19:442:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:442:36:442:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:442:36:442:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:447:16:447:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:447:24:447:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:448:4:448:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:448:4:448:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:448:17:448:18 | in : String | semmle.label | in : String | +| Test.java:449:9:449:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:449:19:449:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:449:36:449:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:449:36:449:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:454:16:454:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:454:24:454:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:455:4:455:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:455:4:455:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:455:17:455:18 | in : String | semmle.label | in : String | +| Test.java:456:9:456:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:456:19:456:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:456:36:456:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:456:36:456:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:461:16:461:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:461:24:461:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:462:4:462:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:462:4:462:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:462:17:462:18 | in : String | semmle.label | in : String | +| Test.java:463:9:463:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:463:19:463:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:463:36:463:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:463:36:463:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:468:16:468:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:468:24:468:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:469:4:469:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:469:4:469:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:469:17:469:18 | in : String | semmle.label | in : String | +| Test.java:470:9:470:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:470:19:470:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:470:36:470:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:470:36:470:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:475:16:475:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:475:24:475:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:476:4:476:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:476:4:476:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:476:17:476:18 | in : String | semmle.label | in : String | +| Test.java:477:9:477:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:477:19:477:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:477:36:477:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:477:36:477:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:482:16:482:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:482:24:482:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:483:4:483:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:483:4:483:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:483:17:483:18 | in : String | semmle.label | in : String | +| Test.java:484:9:484:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:484:19:484:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:484:36:484:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:484:36:484:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:489:16:489:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:489:24:489:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:490:4:490:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:490:4:490:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:490:17:490:18 | in : String | semmle.label | in : String | +| Test.java:491:9:491:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:491:19:491:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:491:36:491:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:491:36:491:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:496:16:496:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:496:24:496:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:497:4:497:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:497:4:497:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:497:17:497:18 | in : String | semmle.label | in : String | +| Test.java:498:9:498:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:498:19:498:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:498:36:498:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:498:36:498:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:503:16:503:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:503:24:503:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:504:4:504:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:504:4:504:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:504:17:504:18 | in : String | semmle.label | in : String | +| Test.java:505:9:505:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:505:19:505:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:505:36:505:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:505:36:505:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:510:16:510:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:510:24:510:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:511:4:511:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:511:4:511:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:511:17:511:18 | in : String | semmle.label | in : String | +| Test.java:512:9:512:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:512:19:512:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:512:36:512:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:512:36:512:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:517:16:517:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:517:24:517:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:518:4:518:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:518:4:518:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:518:17:518:18 | in : String | semmle.label | in : String | +| Test.java:519:9:519:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:519:19:519:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:519:36:519:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:519:36:519:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:524:16:524:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:524:24:524:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:525:4:525:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:525:4:525:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:525:17:525:18 | in : String | semmle.label | in : String | +| Test.java:526:9:526:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:526:19:526:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:526:36:526:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:526:36:526:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:531:16:531:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:531:24:531:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:532:4:532:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:532:4:532:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:532:17:532:18 | in : String | semmle.label | in : String | +| Test.java:533:9:533:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:533:19:533:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:533:36:533:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:533:36:533:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:538:16:538:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:538:24:538:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:539:4:539:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:539:4:539:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:539:17:539:18 | in : String | semmle.label | in : String | +| Test.java:540:9:540:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:540:19:540:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:540:36:540:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:540:36:540:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:545:16:545:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:545:24:545:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:546:4:546:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:546:4:546:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:546:17:546:18 | in : String | semmle.label | in : String | +| Test.java:547:9:547:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:547:19:547:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:547:36:547:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:547:36:547:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:552:16:552:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:552:24:552:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:553:4:553:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:553:4:553:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:553:17:553:18 | in : String | semmle.label | in : String | +| Test.java:554:9:554:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:554:19:554:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:554:36:554:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:554:36:554:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:559:16:559:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:559:24:559:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:560:4:560:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:560:4:560:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:560:17:560:18 | in : String | semmle.label | in : String | +| Test.java:561:9:561:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:561:19:561:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:561:36:561:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:561:36:561:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:566:16:566:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:566:24:566:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:567:4:567:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:567:4:567:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:567:17:567:18 | in : String | semmle.label | in : String | +| Test.java:568:9:568:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:568:19:568:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:568:36:568:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:568:36:568:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:573:16:573:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:573:24:573:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:574:4:574:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:574:4:574:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:574:17:574:18 | in : String | semmle.label | in : String | +| Test.java:575:9:575:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:575:19:575:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:575:36:575:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:575:36:575:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:580:16:580:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:580:24:580:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:581:4:581:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:581:4:581:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:581:17:581:18 | in : String | semmle.label | in : String | +| Test.java:582:9:582:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:582:19:582:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:582:36:582:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:582:36:582:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:587:16:587:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:587:24:587:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:588:4:588:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:588:4:588:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:588:17:588:18 | in : String | semmle.label | in : String | +| Test.java:589:9:589:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:589:19:589:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:589:36:589:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:589:36:589:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:594:17:594:33 | (...)... : short[] | semmle.label | (...)... : short[] | +| Test.java:594:26:594:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:595:4:595:6 | out [post update] : Intent [android.content.Intent.extras, ] : short[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : short[] | +| Test.java:595:4:595:6 | out [post update] : Intent [android.content.Intent.extras, ] : short[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : short[] | +| Test.java:595:31:595:32 | in : short[] | semmle.label | in : short[] | +| Test.java:596:9:596:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:596:21:596:41 | getIntent_extras(...) : Bundle [] : short[] | semmle.label | getIntent_extras(...) : Bundle [] : short[] | +| Test.java:596:38:596:40 | out : Intent [android.content.Intent.extras, ] : short[] | semmle.label | out : Intent [android.content.Intent.extras, ] : short[] | +| Test.java:596:38:596:40 | out : Intent [android.content.Intent.extras, ] : short[] | semmle.label | out : Intent [android.content.Intent.extras, ] : short[] | +| Test.java:601:15:601:29 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:601:22:601:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:602:4:602:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Number | +| Test.java:602:4:602:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Number | +| Test.java:602:31:602:32 | in : Number | semmle.label | in : Number | +| Test.java:603:9:603:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:603:21:603:41 | getIntent_extras(...) : Bundle [] : Number | semmle.label | getIntent_extras(...) : Bundle [] : Number | +| Test.java:603:38:603:40 | out : Intent [android.content.Intent.extras, ] : Number | semmle.label | out : Intent [android.content.Intent.extras, ] : Number | +| Test.java:603:38:603:40 | out : Intent [android.content.Intent.extras, ] : Number | semmle.label | out : Intent [android.content.Intent.extras, ] : Number | +| Test.java:608:16:608:31 | (...)... : long[] | semmle.label | (...)... : long[] | +| Test.java:608:24:608:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:609:4:609:6 | out [post update] : Intent [android.content.Intent.extras, ] : long[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : long[] | +| Test.java:609:4:609:6 | out [post update] : Intent [android.content.Intent.extras, ] : long[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : long[] | +| Test.java:609:31:609:32 | in : long[] | semmle.label | in : long[] | +| Test.java:610:9:610:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:610:21:610:41 | getIntent_extras(...) : Bundle [] : long[] | semmle.label | getIntent_extras(...) : Bundle [] : long[] | +| Test.java:610:38:610:40 | out : Intent [android.content.Intent.extras, ] : long[] | semmle.label | out : Intent [android.content.Intent.extras, ] : long[] | +| Test.java:610:38:610:40 | out : Intent [android.content.Intent.extras, ] : long[] | semmle.label | out : Intent [android.content.Intent.extras, ] : long[] | +| Test.java:615:14:615:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:615:20:615:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:616:4:616:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Number | +| Test.java:616:4:616:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Number | +| Test.java:616:31:616:32 | in : Number | semmle.label | in : Number | +| Test.java:617:9:617:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:617:21:617:41 | getIntent_extras(...) : Bundle [] : Number | semmle.label | getIntent_extras(...) : Bundle [] : Number | +| Test.java:617:38:617:40 | out : Intent [android.content.Intent.extras, ] : Number | semmle.label | out : Intent [android.content.Intent.extras, ] : Number | +| Test.java:617:38:617:40 | out : Intent [android.content.Intent.extras, ] : Number | semmle.label | out : Intent [android.content.Intent.extras, ] : Number | +| Test.java:622:15:622:29 | (...)... : int[] | semmle.label | (...)... : int[] | +| Test.java:622:22:622:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:623:4:623:6 | out [post update] : Intent [android.content.Intent.extras, ] : int[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : int[] | +| Test.java:623:4:623:6 | out [post update] : Intent [android.content.Intent.extras, ] : int[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : int[] | +| Test.java:623:31:623:32 | in : int[] | semmle.label | in : int[] | +| Test.java:624:9:624:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:624:21:624:41 | getIntent_extras(...) : Bundle [] : int[] | semmle.label | getIntent_extras(...) : Bundle [] : int[] | +| Test.java:624:38:624:40 | out : Intent [android.content.Intent.extras, ] : int[] | semmle.label | out : Intent [android.content.Intent.extras, ] : int[] | +| Test.java:624:38:624:40 | out : Intent [android.content.Intent.extras, ] : int[] | semmle.label | out : Intent [android.content.Intent.extras, ] : int[] | +| Test.java:629:13:629:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:629:18:629:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:630:4:630:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Number | +| Test.java:630:4:630:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Number | +| Test.java:630:31:630:32 | in : Number | semmle.label | in : Number | +| Test.java:631:9:631:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:631:21:631:41 | getIntent_extras(...) : Bundle [] : Number | semmle.label | getIntent_extras(...) : Bundle [] : Number | +| Test.java:631:38:631:40 | out : Intent [android.content.Intent.extras, ] : Number | semmle.label | out : Intent [android.content.Intent.extras, ] : Number | +| Test.java:631:38:631:40 | out : Intent [android.content.Intent.extras, ] : Number | semmle.label | out : Intent [android.content.Intent.extras, ] : Number | +| Test.java:636:17:636:33 | (...)... : float[] | semmle.label | (...)... : float[] | +| Test.java:636:26:636:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:637:4:637:6 | out [post update] : Intent [android.content.Intent.extras, ] : float[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : float[] | +| Test.java:637:4:637:6 | out [post update] : Intent [android.content.Intent.extras, ] : float[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : float[] | +| Test.java:637:31:637:32 | in : float[] | semmle.label | in : float[] | +| Test.java:638:9:638:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:638:21:638:41 | getIntent_extras(...) : Bundle [] : float[] | semmle.label | getIntent_extras(...) : Bundle [] : float[] | +| Test.java:638:38:638:40 | out : Intent [android.content.Intent.extras, ] : float[] | semmle.label | out : Intent [android.content.Intent.extras, ] : float[] | +| Test.java:638:38:638:40 | out : Intent [android.content.Intent.extras, ] : float[] | semmle.label | out : Intent [android.content.Intent.extras, ] : float[] | +| Test.java:643:15:643:29 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:643:22:643:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:644:4:644:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Number | +| Test.java:644:4:644:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Number | +| Test.java:644:31:644:32 | in : Number | semmle.label | in : Number | +| Test.java:645:9:645:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:645:21:645:41 | getIntent_extras(...) : Bundle [] : Number | semmle.label | getIntent_extras(...) : Bundle [] : Number | +| Test.java:645:38:645:40 | out : Intent [android.content.Intent.extras, ] : Number | semmle.label | out : Intent [android.content.Intent.extras, ] : Number | +| Test.java:645:38:645:40 | out : Intent [android.content.Intent.extras, ] : Number | semmle.label | out : Intent [android.content.Intent.extras, ] : Number | +| Test.java:650:18:650:35 | (...)... : double[] | semmle.label | (...)... : double[] | +| Test.java:650:28:650:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:651:4:651:6 | out [post update] : Intent [android.content.Intent.extras, ] : double[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : double[] | +| Test.java:651:4:651:6 | out [post update] : Intent [android.content.Intent.extras, ] : double[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : double[] | +| Test.java:651:31:651:32 | in : double[] | semmle.label | in : double[] | +| Test.java:652:9:652:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:652:21:652:41 | getIntent_extras(...) : Bundle [] : double[] | semmle.label | getIntent_extras(...) : Bundle [] : double[] | +| Test.java:652:38:652:40 | out : Intent [android.content.Intent.extras, ] : double[] | semmle.label | out : Intent [android.content.Intent.extras, ] : double[] | +| Test.java:652:38:652:40 | out : Intent [android.content.Intent.extras, ] : double[] | semmle.label | out : Intent [android.content.Intent.extras, ] : double[] | +| Test.java:657:16:657:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:657:24:657:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:658:4:658:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Number | +| Test.java:658:4:658:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Number | +| Test.java:658:31:658:32 | in : Number | semmle.label | in : Number | +| Test.java:659:9:659:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:659:21:659:41 | getIntent_extras(...) : Bundle [] : Number | semmle.label | getIntent_extras(...) : Bundle [] : Number | +| Test.java:659:38:659:40 | out : Intent [android.content.Intent.extras, ] : Number | semmle.label | out : Intent [android.content.Intent.extras, ] : Number | +| Test.java:659:38:659:40 | out : Intent [android.content.Intent.extras, ] : Number | semmle.label | out : Intent [android.content.Intent.extras, ] : Number | +| Test.java:664:16:664:31 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:664:24:664:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:665:4:665:6 | out [post update] : Intent [android.content.Intent.extras, ] : char[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : char[] | +| Test.java:665:4:665:6 | out [post update] : Intent [android.content.Intent.extras, ] : char[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : char[] | +| Test.java:665:31:665:32 | in : char[] | semmle.label | in : char[] | +| Test.java:666:9:666:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:666:21:666:41 | getIntent_extras(...) : Bundle [] : char[] | semmle.label | getIntent_extras(...) : Bundle [] : char[] | +| Test.java:666:38:666:40 | out : Intent [android.content.Intent.extras, ] : char[] | semmle.label | out : Intent [android.content.Intent.extras, ] : char[] | +| Test.java:666:38:666:40 | out : Intent [android.content.Intent.extras, ] : char[] | semmle.label | out : Intent [android.content.Intent.extras, ] : char[] | +| Test.java:671:14:671:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:671:20:671:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:672:4:672:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Number | +| Test.java:672:4:672:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Number | +| Test.java:672:31:672:32 | in : Number | semmle.label | in : Number | +| Test.java:673:9:673:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:673:21:673:41 | getIntent_extras(...) : Bundle [] : Number | semmle.label | getIntent_extras(...) : Bundle [] : Number | +| Test.java:673:38:673:40 | out : Intent [android.content.Intent.extras, ] : Number | semmle.label | out : Intent [android.content.Intent.extras, ] : Number | +| Test.java:673:38:673:40 | out : Intent [android.content.Intent.extras, ] : Number | semmle.label | out : Intent [android.content.Intent.extras, ] : Number | +| Test.java:678:16:678:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:678:24:678:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:679:4:679:6 | out [post update] : Intent [android.content.Intent.extras, ] : byte[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : byte[] | +| Test.java:679:4:679:6 | out [post update] : Intent [android.content.Intent.extras, ] : byte[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : byte[] | +| Test.java:679:31:679:32 | in : byte[] | semmle.label | in : byte[] | +| Test.java:680:9:680:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:680:21:680:41 | getIntent_extras(...) : Bundle [] : byte[] | semmle.label | getIntent_extras(...) : Bundle [] : byte[] | +| Test.java:680:38:680:40 | out : Intent [android.content.Intent.extras, ] : byte[] | semmle.label | out : Intent [android.content.Intent.extras, ] : byte[] | +| Test.java:680:38:680:40 | out : Intent [android.content.Intent.extras, ] : byte[] | semmle.label | out : Intent [android.content.Intent.extras, ] : byte[] | +| Test.java:685:14:685:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:685:20:685:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:686:4:686:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Number | +| Test.java:686:4:686:6 | out [post update] : Intent [android.content.Intent.extras, ] : Number | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Number | +| Test.java:686:31:686:32 | in : Number | semmle.label | in : Number | +| Test.java:687:9:687:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:687:21:687:41 | getIntent_extras(...) : Bundle [] : Number | semmle.label | getIntent_extras(...) : Bundle [] : Number | +| Test.java:687:38:687:40 | out : Intent [android.content.Intent.extras, ] : Number | semmle.label | out : Intent [android.content.Intent.extras, ] : Number | +| Test.java:687:38:687:40 | out : Intent [android.content.Intent.extras, ] : Number | semmle.label | out : Intent [android.content.Intent.extras, ] : Number | +| Test.java:692:19:692:37 | (...)... : boolean[] | semmle.label | (...)... : boolean[] | +| Test.java:692:30:692:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:693:4:693:6 | out [post update] : Intent [android.content.Intent.extras, ] : boolean[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : boolean[] | +| Test.java:693:4:693:6 | out [post update] : Intent [android.content.Intent.extras, ] : boolean[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : boolean[] | +| Test.java:693:31:693:32 | in : boolean[] | semmle.label | in : boolean[] | +| Test.java:694:9:694:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:694:21:694:41 | getIntent_extras(...) : Bundle [] : boolean[] | semmle.label | getIntent_extras(...) : Bundle [] : boolean[] | +| Test.java:694:38:694:40 | out : Intent [android.content.Intent.extras, ] : boolean[] | semmle.label | out : Intent [android.content.Intent.extras, ] : boolean[] | +| Test.java:694:38:694:40 | out : Intent [android.content.Intent.extras, ] : boolean[] | semmle.label | out : Intent [android.content.Intent.extras, ] : boolean[] | +| Test.java:699:17:699:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:699:26:699:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:700:4:700:6 | out [post update] : Intent [android.content.Intent.extras, ] : Boolean | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Boolean | +| Test.java:700:4:700:6 | out [post update] : Intent [android.content.Intent.extras, ] : Boolean | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Boolean | +| Test.java:700:31:700:32 | in : Boolean | semmle.label | in : Boolean | +| Test.java:701:9:701:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:701:21:701:41 | getIntent_extras(...) : Bundle [] : Boolean | semmle.label | getIntent_extras(...) : Bundle [] : Boolean | +| Test.java:701:38:701:40 | out : Intent [android.content.Intent.extras, ] : Boolean | semmle.label | out : Intent [android.content.Intent.extras, ] : Boolean | +| Test.java:701:38:701:40 | out : Intent [android.content.Intent.extras, ] : Boolean | semmle.label | out : Intent [android.content.Intent.extras, ] : Boolean | +| Test.java:706:18:706:35 | (...)... : String[] | semmle.label | (...)... : String[] | +| Test.java:706:28:706:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:707:4:707:6 | out [post update] : Intent [android.content.Intent.extras, ] : String[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String[] | +| Test.java:707:4:707:6 | out [post update] : Intent [android.content.Intent.extras, ] : String[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String[] | +| Test.java:707:31:707:32 | in : String[] | semmle.label | in : String[] | +| Test.java:708:9:708:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:708:21:708:41 | getIntent_extras(...) : Bundle [] : String[] | semmle.label | getIntent_extras(...) : Bundle [] : String[] | +| Test.java:708:38:708:40 | out : Intent [android.content.Intent.extras, ] : String[] | semmle.label | out : Intent [android.content.Intent.extras, ] : String[] | +| Test.java:708:38:708:40 | out : Intent [android.content.Intent.extras, ] : String[] | semmle.label | out : Intent [android.content.Intent.extras, ] : String[] | +| Test.java:713:16:713:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:713:24:713:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:714:4:714:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:714:4:714:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:714:31:714:32 | in : String | semmle.label | in : String | +| Test.java:715:9:715:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:715:21:715:41 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:715:38:715:40 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:715:38:715:40 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:720:22:720:43 | (...)... : Serializable | semmle.label | (...)... : Serializable | +| Test.java:720:36:720:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:721:4:721:6 | out [post update] : Intent [android.content.Intent.extras, ] : Serializable | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Serializable | +| Test.java:721:4:721:6 | out [post update] : Intent [android.content.Intent.extras, ] : Serializable | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Serializable | +| Test.java:721:31:721:32 | in : Serializable | semmle.label | in : Serializable | +| Test.java:722:9:722:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:722:21:722:41 | getIntent_extras(...) : Bundle [] : Serializable | semmle.label | getIntent_extras(...) : Bundle [] : Serializable | +| Test.java:722:38:722:40 | out : Intent [android.content.Intent.extras, ] : Serializable | semmle.label | out : Intent [android.content.Intent.extras, ] : Serializable | +| Test.java:722:38:722:40 | out : Intent [android.content.Intent.extras, ] : Serializable | semmle.label | out : Intent [android.content.Intent.extras, ] : Serializable | +| Test.java:727:22:727:43 | (...)... : Parcelable[] | semmle.label | (...)... : Parcelable[] | +| Test.java:727:36:727:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:728:4:728:6 | out [post update] : Intent [android.content.Intent.extras, ] : Parcelable[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Parcelable[] | +| Test.java:728:4:728:6 | out [post update] : Intent [android.content.Intent.extras, ] : Parcelable[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Parcelable[] | +| Test.java:728:31:728:32 | in : Parcelable[] | semmle.label | in : Parcelable[] | +| Test.java:729:9:729:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:729:21:729:41 | getIntent_extras(...) : Bundle [] : Parcelable[] | semmle.label | getIntent_extras(...) : Bundle [] : Parcelable[] | +| Test.java:729:38:729:40 | out : Intent [android.content.Intent.extras, ] : Parcelable[] | semmle.label | out : Intent [android.content.Intent.extras, ] : Parcelable[] | +| Test.java:729:38:729:40 | out : Intent [android.content.Intent.extras, ] : Parcelable[] | semmle.label | out : Intent [android.content.Intent.extras, ] : Parcelable[] | +| Test.java:734:20:734:39 | (...)... : Parcelable | semmle.label | (...)... : Parcelable | +| Test.java:734:32:734:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:735:4:735:6 | out [post update] : Intent [android.content.Intent.extras, ] : Parcelable | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Parcelable | +| Test.java:735:4:735:6 | out [post update] : Intent [android.content.Intent.extras, ] : Parcelable | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Parcelable | +| Test.java:735:31:735:32 | in : Parcelable | semmle.label | in : Parcelable | +| Test.java:736:9:736:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:736:21:736:41 | getIntent_extras(...) : Bundle [] : Parcelable | semmle.label | getIntent_extras(...) : Bundle [] : Parcelable | +| Test.java:736:38:736:40 | out : Intent [android.content.Intent.extras, ] : Parcelable | semmle.label | out : Intent [android.content.Intent.extras, ] : Parcelable | +| Test.java:736:38:736:40 | out : Intent [android.content.Intent.extras, ] : Parcelable | semmle.label | out : Intent [android.content.Intent.extras, ] : Parcelable | +| Test.java:741:24:741:47 | (...)... : CharSequence[] | semmle.label | (...)... : CharSequence[] | +| Test.java:741:40:741:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:742:4:742:6 | out [post update] : Intent [android.content.Intent.extras, ] : CharSequence[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : CharSequence[] | +| Test.java:742:4:742:6 | out [post update] : Intent [android.content.Intent.extras, ] : CharSequence[] | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : CharSequence[] | +| Test.java:742:31:742:32 | in : CharSequence[] | semmle.label | in : CharSequence[] | +| Test.java:743:9:743:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:743:21:743:41 | getIntent_extras(...) : Bundle [] : CharSequence[] | semmle.label | getIntent_extras(...) : Bundle [] : CharSequence[] | +| Test.java:743:38:743:40 | out : Intent [android.content.Intent.extras, ] : CharSequence[] | semmle.label | out : Intent [android.content.Intent.extras, ] : CharSequence[] | +| Test.java:743:38:743:40 | out : Intent [android.content.Intent.extras, ] : CharSequence[] | semmle.label | out : Intent [android.content.Intent.extras, ] : CharSequence[] | +| Test.java:748:22:748:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:748:36:748:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:749:4:749:6 | out [post update] : Intent [android.content.Intent.extras, ] : CharSequence | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : CharSequence | +| Test.java:749:4:749:6 | out [post update] : Intent [android.content.Intent.extras, ] : CharSequence | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : CharSequence | +| Test.java:749:31:749:32 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:750:9:750:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:750:21:750:41 | getIntent_extras(...) : Bundle [] : CharSequence | semmle.label | getIntent_extras(...) : Bundle [] : CharSequence | +| Test.java:750:38:750:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | semmle.label | out : Intent [android.content.Intent.extras, ] : CharSequence | +| Test.java:750:38:750:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | semmle.label | out : Intent [android.content.Intent.extras, ] : CharSequence | +| Test.java:755:16:755:31 | (...)... : Bundle | semmle.label | (...)... : Bundle | +| Test.java:755:24:755:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:756:4:756:6 | out [post update] : Intent [android.content.Intent.extras, ] : Bundle | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Bundle | +| Test.java:756:4:756:6 | out [post update] : Intent [android.content.Intent.extras, ] : Bundle | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Bundle | +| Test.java:756:31:756:32 | in : Bundle | semmle.label | in : Bundle | +| Test.java:757:9:757:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:757:21:757:41 | getIntent_extras(...) : Bundle [] : Bundle | semmle.label | getIntent_extras(...) : Bundle [] : Bundle | +| Test.java:757:38:757:40 | out : Intent [android.content.Intent.extras, ] : Bundle | semmle.label | out : Intent [android.content.Intent.extras, ] : Bundle | +| Test.java:757:38:757:40 | out : Intent [android.content.Intent.extras, ] : Bundle | semmle.label | out : Intent [android.content.Intent.extras, ] : Bundle | +| Test.java:762:16:762:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:762:24:762:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:763:10:763:11 | in : Intent | semmle.label | in : Intent | +| Test.java:763:10:763:35 | putExtras(...) : Intent | semmle.label | putExtras(...) : Intent | +| Test.java:764:9:764:11 | out | semmle.label | out | +| Test.java:769:16:769:52 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:769:24:769:52 | newBundleWithMapKey(...) : Bundle [] : String | semmle.label | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:769:44:769:51 | source(...) : String | semmle.label | source(...) : String | +| Test.java:770:4:770:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:770:4:770:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:770:18:770:19 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:771:9:771:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:771:19:771:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:771:36:771:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:771:36:771:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:776:16:776:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:776:24:776:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:776:46:776:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:777:4:777:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Object | +| Test.java:777:4:777:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Object | +| Test.java:777:18:777:19 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:778:9:778:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:778:21:778:41 | getIntent_extras(...) : Bundle [] : Object | semmle.label | getIntent_extras(...) : Bundle [] : Object | +| Test.java:778:38:778:40 | out : Intent [android.content.Intent.extras, ] : Object | semmle.label | out : Intent [android.content.Intent.extras, ] : Object | +| Test.java:778:38:778:40 | out : Intent [android.content.Intent.extras, ] : Object | semmle.label | out : Intent [android.content.Intent.extras, ] : Object | +| Test.java:783:16:783:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:783:24:783:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:784:10:784:11 | in : Intent | semmle.label | in : Intent | +| Test.java:784:10:784:35 | putExtras(...) : Intent | semmle.label | putExtras(...) : Intent | +| Test.java:785:9:785:11 | out | semmle.label | out | +| Test.java:790:16:790:74 | (...)... : Intent [android.content.Intent.extras, ] : String | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : String | +| Test.java:790:24:790:74 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : String | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : String | +| Test.java:790:45:790:73 | newBundleWithMapKey(...) : Bundle [] : String | semmle.label | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:790:65:790:72 | source(...) : String | semmle.label | source(...) : String | +| Test.java:791:4:791:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:791:4:791:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:791:18:791:19 | in : Intent [android.content.Intent.extras, ] : String | semmle.label | in : Intent [android.content.Intent.extras, ] : String | +| Test.java:792:9:792:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:792:19:792:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:792:36:792:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:792:36:792:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:797:16:797:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : Object | +| Test.java:797:24:797:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:797:45:797:75 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:797:67:797:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:798:4:798:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Object | +| Test.java:798:4:798:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Object | +| Test.java:798:18:798:19 | in : Intent [android.content.Intent.extras, ] : Object | semmle.label | in : Intent [android.content.Intent.extras, ] : Object | +| Test.java:799:9:799:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:799:21:799:41 | getIntent_extras(...) : Bundle [] : Object | semmle.label | getIntent_extras(...) : Bundle [] : Object | +| Test.java:799:38:799:40 | out : Intent [android.content.Intent.extras, ] : Object | semmle.label | out : Intent [android.content.Intent.extras, ] : Object | +| Test.java:799:38:799:40 | out : Intent [android.content.Intent.extras, ] : Object | semmle.label | out : Intent [android.content.Intent.extras, ] : Object | +| Test.java:804:16:804:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:804:24:804:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:805:10:805:11 | in : Intent | semmle.label | in : Intent | +| Test.java:805:10:805:48 | putIntegerArrayListExtra(...) : Intent | semmle.label | putIntegerArrayListExtra(...) : Intent | +| Test.java:806:9:806:11 | out | semmle.label | out | +| Test.java:811:16:811:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:811:24:811:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:812:4:812:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:812:4:812:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:812:33:812:34 | in : String | semmle.label | in : String | +| Test.java:813:9:813:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:813:19:813:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:813:36:813:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:813:36:813:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:818:16:818:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:818:24:818:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:819:10:819:11 | in : Intent | semmle.label | in : Intent | +| Test.java:819:10:819:51 | putParcelableArrayListExtra(...) : Intent | semmle.label | putParcelableArrayListExtra(...) : Intent | +| Test.java:820:9:820:11 | out | semmle.label | out | +| Test.java:825:16:825:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:825:24:825:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:826:4:826:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:826:4:826:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:826:36:826:37 | in : String | semmle.label | in : String | +| Test.java:827:9:827:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:827:19:827:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:827:36:827:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:827:36:827:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:832:19:832:37 | (...)... : ArrayList | semmle.label | (...)... : ArrayList | +| Test.java:832:30:832:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:833:4:833:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | +| Test.java:833:4:833:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | +| Test.java:833:42:833:43 | in : ArrayList | semmle.label | in : ArrayList | +| Test.java:834:9:834:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:834:21:834:41 | getIntent_extras(...) : Bundle [] : ArrayList | semmle.label | getIntent_extras(...) : Bundle [] : ArrayList | +| Test.java:834:38:834:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | semmle.label | out : Intent [android.content.Intent.extras, ] : ArrayList | +| Test.java:834:38:834:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | semmle.label | out : Intent [android.content.Intent.extras, ] : ArrayList | +| Test.java:839:16:839:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:839:24:839:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:840:10:840:11 | in : Intent | semmle.label | in : Intent | +| Test.java:840:10:840:47 | putStringArrayListExtra(...) : Intent | semmle.label | putStringArrayListExtra(...) : Intent | +| Test.java:841:9:841:11 | out | semmle.label | out | +| Test.java:846:16:846:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:846:24:846:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:847:4:847:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:847:4:847:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:847:32:847:33 | in : String | semmle.label | in : String | +| Test.java:848:9:848:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:848:19:848:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:848:36:848:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:848:36:848:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:853:19:853:37 | (...)... : ArrayList | semmle.label | (...)... : ArrayList | +| Test.java:853:30:853:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:854:4:854:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | +| Test.java:854:4:854:6 | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : ArrayList | +| Test.java:854:38:854:39 | in : ArrayList | semmle.label | in : ArrayList | +| Test.java:855:9:855:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:855:21:855:41 | getIntent_extras(...) : Bundle [] : ArrayList | semmle.label | getIntent_extras(...) : Bundle [] : ArrayList | +| Test.java:855:38:855:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | semmle.label | out : Intent [android.content.Intent.extras, ] : ArrayList | +| Test.java:855:38:855:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | semmle.label | out : Intent [android.content.Intent.extras, ] : ArrayList | +| Test.java:860:16:860:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:860:24:860:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:861:10:861:11 | in : Intent | semmle.label | in : Intent | +| Test.java:861:10:861:39 | replaceExtras(...) : Intent | semmle.label | replaceExtras(...) : Intent | +| Test.java:862:9:862:11 | out | semmle.label | out | +| Test.java:867:16:867:52 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:867:24:867:52 | newBundleWithMapKey(...) : Bundle [] : String | semmle.label | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:867:44:867:51 | source(...) : String | semmle.label | source(...) : String | +| Test.java:868:4:868:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:868:4:868:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:868:22:868:23 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:869:9:869:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:869:19:869:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:869:36:869:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:869:36:869:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:874:16:874:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:874:24:874:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:874:46:874:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:875:4:875:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Object | +| Test.java:875:4:875:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Object | +| Test.java:875:22:875:23 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:876:9:876:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:876:21:876:41 | getIntent_extras(...) : Bundle [] : Object | semmle.label | getIntent_extras(...) : Bundle [] : Object | +| Test.java:876:38:876:40 | out : Intent [android.content.Intent.extras, ] : Object | semmle.label | out : Intent [android.content.Intent.extras, ] : Object | +| Test.java:876:38:876:40 | out : Intent [android.content.Intent.extras, ] : Object | semmle.label | out : Intent [android.content.Intent.extras, ] : Object | +| Test.java:881:16:881:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:881:24:881:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:882:10:882:11 | in : Intent | semmle.label | in : Intent | +| Test.java:882:10:882:39 | replaceExtras(...) : Intent | semmle.label | replaceExtras(...) : Intent | +| Test.java:883:9:883:11 | out | semmle.label | out | +| Test.java:888:16:888:74 | (...)... : Intent [android.content.Intent.extras, ] : String | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : String | +| Test.java:888:24:888:74 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : String | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : String | +| Test.java:888:45:888:73 | newBundleWithMapKey(...) : Bundle [] : String | semmle.label | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:888:65:888:72 | source(...) : String | semmle.label | source(...) : String | +| Test.java:889:4:889:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:889:4:889:6 | out [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : String | +| Test.java:889:22:889:23 | in : Intent [android.content.Intent.extras, ] : String | semmle.label | in : Intent [android.content.Intent.extras, ] : String | +| Test.java:890:9:890:40 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:890:19:890:39 | getIntent_extras(...) : Bundle [] : String | semmle.label | getIntent_extras(...) : Bundle [] : String | +| Test.java:890:36:890:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:890:36:890:38 | out : Intent [android.content.Intent.extras, ] : String | semmle.label | out : Intent [android.content.Intent.extras, ] : String | +| Test.java:895:16:895:76 | (...)... : Intent [android.content.Intent.extras, ] : Object | semmle.label | (...)... : Intent [android.content.Intent.extras, ] : Object | +| Test.java:895:24:895:76 | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | semmle.label | newWithIntent_extras(...) : Intent [android.content.Intent.extras, ] : Object | +| Test.java:895:45:895:75 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:895:67:895:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:896:4:896:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Object | +| Test.java:896:4:896:6 | out [post update] : Intent [android.content.Intent.extras, ] : Object | semmle.label | out [post update] : Intent [android.content.Intent.extras, ] : Object | +| Test.java:896:22:896:23 | in : Intent [android.content.Intent.extras, ] : Object | semmle.label | in : Intent [android.content.Intent.extras, ] : Object | +| Test.java:897:9:897:42 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:897:21:897:41 | getIntent_extras(...) : Bundle [] : Object | semmle.label | getIntent_extras(...) : Bundle [] : Object | +| Test.java:897:38:897:40 | out : Intent [android.content.Intent.extras, ] : Object | semmle.label | out : Intent [android.content.Intent.extras, ] : Object | +| Test.java:897:38:897:40 | out : Intent [android.content.Intent.extras, ] : Object | semmle.label | out : Intent [android.content.Intent.extras, ] : Object | +| Test.java:902:16:902:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:902:24:902:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:903:10:903:11 | in : Intent | semmle.label | in : Intent | +| Test.java:903:10:903:27 | setAction(...) : Intent | semmle.label | setAction(...) : Intent | +| Test.java:904:9:904:11 | out | semmle.label | out | +| Test.java:909:16:909:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:909:24:909:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:910:10:910:11 | in : Intent | semmle.label | in : Intent | +| Test.java:910:10:910:32 | setClass(...) : Intent | semmle.label | setClass(...) : Intent | +| Test.java:911:9:911:11 | out | semmle.label | out | +| Test.java:916:16:916:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:916:24:916:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:917:10:917:11 | in : Intent | semmle.label | in : Intent | +| Test.java:917:10:917:52 | setClassName(...) : Intent | semmle.label | setClassName(...) : Intent | +| Test.java:918:9:918:11 | out | semmle.label | out | +| Test.java:923:16:923:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:923:24:923:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:924:10:924:11 | in : Intent | semmle.label | in : Intent | +| Test.java:924:10:924:53 | setClassName(...) : Intent | semmle.label | setClassName(...) : Intent | +| Test.java:925:9:925:11 | out | semmle.label | out | +| Test.java:930:16:930:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:930:24:930:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:931:10:931:11 | in : Intent | semmle.label | in : Intent | +| Test.java:931:10:931:30 | setComponent(...) : Intent | semmle.label | setComponent(...) : Intent | +| Test.java:932:9:932:11 | out | semmle.label | out | +| Test.java:937:16:937:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:937:24:937:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:938:10:938:11 | in : Intent | semmle.label | in : Intent | +| Test.java:938:10:938:25 | setData(...) : Intent | semmle.label | setData(...) : Intent | +| Test.java:939:9:939:11 | out | semmle.label | out | +| Test.java:943:13:943:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:943:18:943:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:945:4:945:11 | instance [post update] : Intent [android.content.Intent.data] : Uri | semmle.label | instance [post update] : Intent [android.content.Intent.data] : Uri | +| Test.java:945:21:945:22 | in : Uri | semmle.label | in : Uri | +| Test.java:946:9:946:16 | instance : Intent [android.content.Intent.data] : Uri | semmle.label | instance : Intent [android.content.Intent.data] : Uri | +| Test.java:946:9:946:26 | getData(...) | semmle.label | getData(...) | +| Test.java:950:13:950:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:950:18:950:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:952:4:952:11 | instance [post update] : Intent [android.content.Intent.data] : Uri | semmle.label | instance [post update] : Intent [android.content.Intent.data] : Uri | +| Test.java:952:33:952:34 | in : Uri | semmle.label | in : Uri | +| Test.java:953:9:953:16 | instance : Intent [android.content.Intent.data] : Uri | semmle.label | instance : Intent [android.content.Intent.data] : Uri | +| Test.java:953:9:953:26 | getData(...) | semmle.label | getData(...) | +| Test.java:957:13:957:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:957:18:957:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:959:4:959:11 | instance [post update] : Intent [android.content.Intent.data] : Uri | semmle.label | instance [post update] : Intent [android.content.Intent.data] : Uri | +| Test.java:959:28:959:29 | in : Uri | semmle.label | in : Uri | +| Test.java:960:9:960:16 | instance : Intent [android.content.Intent.data] : Uri | semmle.label | instance : Intent [android.content.Intent.data] : Uri | +| Test.java:960:9:960:26 | getData(...) | semmle.label | getData(...) | +| Test.java:964:13:964:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:964:18:964:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:966:4:966:11 | instance [post update] : Intent [android.content.Intent.data] : Uri | semmle.label | instance [post update] : Intent [android.content.Intent.data] : Uri | +| Test.java:966:40:966:41 | in : Uri | semmle.label | in : Uri | +| Test.java:967:9:967:16 | instance : Intent [android.content.Intent.data] : Uri | semmle.label | instance : Intent [android.content.Intent.data] : Uri | +| Test.java:967:9:967:26 | getData(...) | semmle.label | getData(...) | +| Test.java:972:16:972:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:972:24:972:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:973:10:973:11 | in : Intent | semmle.label | in : Intent | +| Test.java:973:10:973:37 | setDataAndNormalize(...) : Intent | semmle.label | setDataAndNormalize(...) : Intent | +| Test.java:974:9:974:11 | out | semmle.label | out | +| Test.java:979:16:979:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:979:24:979:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:980:10:980:11 | in : Intent | semmle.label | in : Intent | +| Test.java:980:10:980:38 | setDataAndType(...) : Intent | semmle.label | setDataAndType(...) : Intent | +| Test.java:981:9:981:11 | out | semmle.label | out | +| Test.java:986:16:986:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:986:24:986:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:987:10:987:11 | in : Intent | semmle.label | in : Intent | +| Test.java:987:10:987:50 | setDataAndTypeAndNormalize(...) : Intent | semmle.label | setDataAndTypeAndNormalize(...) : Intent | +| Test.java:988:9:988:11 | out | semmle.label | out | +| Test.java:993:16:993:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:993:24:993:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:994:10:994:11 | in : Intent | semmle.label | in : Intent | +| Test.java:994:10:994:23 | setFlags(...) : Intent | semmle.label | setFlags(...) : Intent | +| Test.java:995:9:995:11 | out | semmle.label | out | +| Test.java:1000:16:1000:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:1000:24:1000:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1001:10:1001:11 | in : Intent | semmle.label | in : Intent | +| Test.java:1001:10:1001:31 | setIdentifier(...) : Intent | semmle.label | setIdentifier(...) : Intent | +| Test.java:1002:9:1002:11 | out | semmle.label | out | +| Test.java:1007:16:1007:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:1007:24:1007:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1008:10:1008:11 | in : Intent | semmle.label | in : Intent | +| Test.java:1008:10:1008:28 | setPackage(...) : Intent | semmle.label | setPackage(...) : Intent | +| Test.java:1009:9:1009:11 | out | semmle.label | out | +| Test.java:1014:16:1014:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:1014:24:1014:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1015:10:1015:11 | in : Intent | semmle.label | in : Intent | +| Test.java:1015:10:1015:25 | setType(...) : Intent | semmle.label | setType(...) : Intent | +| Test.java:1016:9:1016:11 | out | semmle.label | out | +| Test.java:1021:16:1021:31 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:1021:24:1021:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1022:10:1022:11 | in : Intent | semmle.label | in : Intent | +| Test.java:1022:10:1022:37 | setTypeAndNormalize(...) : Intent | semmle.label | setTypeAndNormalize(...) : Intent | +| Test.java:1023:9:1023:11 | out | semmle.label | out | +| Test.java:1028:20:1028:62 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1028:32:1028:62 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1028:54:1028:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1029:10:1029:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1029:10:1029:21 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:1030:9:1030:11 | out | semmle.label | out | +| Test.java:1035:20:1035:62 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1035:32:1035:62 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1035:54:1035:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1036:10:1036:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1036:10:1036:27 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:1037:9:1037:11 | out | semmle.label | out | +| Test.java:1042:16:1042:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1042:24:1042:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1044:10:1044:37 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:1044:35:1044:36 | in : String | semmle.label | in : String | +| Test.java:1045:9:1045:11 | out | semmle.label | out | +| Test.java:1050:20:1050:62 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1050:32:1050:62 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1050:54:1050:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1051:10:1051:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1051:10:1051:33 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:1052:9:1052:11 | out | semmle.label | out | +| Test.java:1057:20:1057:62 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1057:32:1057:62 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1057:54:1057:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1058:10:1058:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1058:10:1058:32 | getStringArray(...) : String[] | semmle.label | getStringArray(...) : String[] | +| Test.java:1059:9:1059:11 | out | semmle.label | out | +| Test.java:1064:20:1064:60 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:1064:32:1064:60 | newBundleWithMapKey(...) : Bundle [] : String | semmle.label | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:1064:52:1064:59 | source(...) : String | semmle.label | source(...) : String | +| Test.java:1065:10:1065:11 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:1065:10:1065:20 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:1066:9:1066:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1066:20:1066:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:1071:27:1071:66 | newPersistableBundleWithMapKey(...) : PersistableBundle [] : String | semmle.label | newPersistableBundleWithMapKey(...) : PersistableBundle [] : String | +| Test.java:1071:58:1071:65 | source(...) : String | semmle.label | source(...) : String | +| Test.java:1072:4:1072:6 | out [post update] : BaseBundle [] : String | semmle.label | out [post update] : BaseBundle [] : String | +| Test.java:1072:15:1072:16 | in : PersistableBundle [] : String | semmle.label | in : PersistableBundle [] : String | +| Test.java:1073:9:1073:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1073:19:1073:21 | out : BaseBundle [] : String | semmle.label | out : BaseBundle [] : String | +| Test.java:1078:27:1078:68 | newPersistableBundleWithMapValue(...) : PersistableBundle [] : Object | semmle.label | newPersistableBundleWithMapValue(...) : PersistableBundle [] : Object | +| Test.java:1078:60:1078:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1079:4:1079:6 | out [post update] : BaseBundle [] : Object | semmle.label | out [post update] : BaseBundle [] : Object | +| Test.java:1079:15:1079:16 | in : PersistableBundle [] : Object | semmle.label | in : PersistableBundle [] : Object | +| Test.java:1080:9:1080:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1080:21:1080:23 | out : BaseBundle [] : Object | semmle.label | out : BaseBundle [] : Object | +| Test.java:1085:16:1085:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1085:24:1085:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1086:4:1086:6 | out [post update] : BaseBundle [] : String | semmle.label | out [post update] : BaseBundle [] : String | +| Test.java:1086:19:1086:20 | in : String | semmle.label | in : String | +| Test.java:1087:9:1087:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1087:19:1087:21 | out : BaseBundle [] : String | semmle.label | out : BaseBundle [] : String | +| Test.java:1092:16:1092:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1092:24:1092:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1093:4:1093:6 | out [post update] : BaseBundle [] : String | semmle.label | out [post update] : BaseBundle [] : String | +| Test.java:1093:24:1093:25 | in : String | semmle.label | in : String | +| Test.java:1094:9:1094:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1094:19:1094:21 | out : BaseBundle [] : String | semmle.label | out : BaseBundle [] : String | +| Test.java:1099:16:1099:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1099:24:1099:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1100:4:1100:6 | out [post update] : BaseBundle [] : String | semmle.label | out [post update] : BaseBundle [] : String | +| Test.java:1100:18:1100:19 | in : String | semmle.label | in : String | +| Test.java:1101:9:1101:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1101:19:1101:21 | out : BaseBundle [] : String | semmle.label | out : BaseBundle [] : String | +| Test.java:1106:16:1106:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1106:24:1106:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1107:4:1107:6 | out [post update] : BaseBundle [] : String | semmle.label | out [post update] : BaseBundle [] : String | +| Test.java:1107:23:1107:24 | in : String | semmle.label | in : String | +| Test.java:1108:9:1108:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1108:19:1108:21 | out : BaseBundle [] : String | semmle.label | out : BaseBundle [] : String | +| Test.java:1113:16:1113:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1113:24:1113:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1114:4:1114:6 | out [post update] : BaseBundle [] : String | semmle.label | out [post update] : BaseBundle [] : String | +| Test.java:1114:15:1114:16 | in : String | semmle.label | in : String | +| Test.java:1115:9:1115:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1115:19:1115:21 | out : BaseBundle [] : String | semmle.label | out : BaseBundle [] : String | +| Test.java:1120:16:1120:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1120:24:1120:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1121:4:1121:6 | out [post update] : BaseBundle [] : String | semmle.label | out [post update] : BaseBundle [] : String | +| Test.java:1121:20:1121:21 | in : String | semmle.label | in : String | +| Test.java:1122:9:1122:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1122:19:1122:21 | out : BaseBundle [] : String | semmle.label | out : BaseBundle [] : String | +| Test.java:1127:16:1127:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1127:24:1127:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1128:4:1128:6 | out [post update] : BaseBundle [] : String | semmle.label | out [post update] : BaseBundle [] : String | +| Test.java:1128:16:1128:17 | in : String | semmle.label | in : String | +| Test.java:1129:9:1129:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1129:19:1129:21 | out : BaseBundle [] : String | semmle.label | out : BaseBundle [] : String | +| Test.java:1134:16:1134:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1134:24:1134:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1135:4:1135:6 | out [post update] : BaseBundle [] : String | semmle.label | out [post update] : BaseBundle [] : String | +| Test.java:1135:21:1135:22 | in : String | semmle.label | in : String | +| Test.java:1136:9:1136:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1136:19:1136:21 | out : BaseBundle [] : String | semmle.label | out : BaseBundle [] : String | +| Test.java:1141:16:1141:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1141:24:1141:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1142:4:1142:6 | out [post update] : BaseBundle [] : String | semmle.label | out [post update] : BaseBundle [] : String | +| Test.java:1142:18:1142:19 | in : String | semmle.label | in : String | +| Test.java:1143:9:1143:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1143:19:1143:21 | out : BaseBundle [] : String | semmle.label | out : BaseBundle [] : String | +| Test.java:1148:16:1148:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1148:24:1148:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1149:4:1149:6 | out [post update] : BaseBundle [] : String | semmle.label | out [post update] : BaseBundle [] : String | +| Test.java:1149:24:1149:25 | in : String | semmle.label | in : String | +| Test.java:1150:9:1150:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1150:21:1150:23 | out : BaseBundle [] : String | semmle.label | out : BaseBundle [] : String | +| Test.java:1155:16:1155:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1155:24:1155:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1156:4:1156:6 | out [post update] : BaseBundle [] : String | semmle.label | out [post update] : BaseBundle [] : String | +| Test.java:1156:23:1156:24 | in : String | semmle.label | in : String | +| Test.java:1157:9:1157:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1157:19:1157:21 | out : BaseBundle [] : String | semmle.label | out : BaseBundle [] : String | +| Test.java:1162:18:1162:35 | (...)... : String[] | semmle.label | (...)... : String[] | +| Test.java:1162:28:1162:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1163:4:1163:6 | out [post update] : BaseBundle [] : String[] | semmle.label | out [post update] : BaseBundle [] : String[] | +| Test.java:1163:29:1163:30 | in : String[] | semmle.label | in : String[] | +| Test.java:1164:9:1164:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1164:21:1164:23 | out : BaseBundle [] : String[] | semmle.label | out : BaseBundle [] : String[] | +| Test.java:1169:16:1169:52 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:1169:24:1169:52 | newBundleWithMapKey(...) : Bundle [] : String | semmle.label | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:1169:44:1169:51 | source(...) : String | semmle.label | source(...) : String | +| Test.java:1170:10:1170:23 | new Bundle(...) : Bundle [] : String | semmle.label | new Bundle(...) : Bundle [] : String | +| Test.java:1170:21:1170:22 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:1171:9:1171:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1171:19:1171:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1176:16:1176:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1176:24:1176:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1176:46:1176:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1177:10:1177:23 | new Bundle(...) : Bundle [] : Object | semmle.label | new Bundle(...) : Bundle [] : Object | +| Test.java:1177:21:1177:22 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1178:9:1178:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1178:21:1178:23 | out : Bundle [] : Object | semmle.label | out : Bundle [] : Object | +| Test.java:1183:27:1183:66 | newPersistableBundleWithMapKey(...) : PersistableBundle [] : String | semmle.label | newPersistableBundleWithMapKey(...) : PersistableBundle [] : String | +| Test.java:1183:58:1183:65 | source(...) : String | semmle.label | source(...) : String | +| Test.java:1184:10:1184:23 | new Bundle(...) : Bundle [] : String | semmle.label | new Bundle(...) : Bundle [] : String | +| Test.java:1184:21:1184:22 | in : PersistableBundle [] : String | semmle.label | in : PersistableBundle [] : String | +| Test.java:1185:9:1185:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1185:19:1185:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1190:27:1190:68 | newPersistableBundleWithMapValue(...) : PersistableBundle [] : Object | semmle.label | newPersistableBundleWithMapValue(...) : PersistableBundle [] : Object | +| Test.java:1190:60:1190:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1191:10:1191:23 | new Bundle(...) : Bundle [] : Object | semmle.label | new Bundle(...) : Bundle [] : Object | +| Test.java:1191:21:1191:22 | in : PersistableBundle [] : Object | semmle.label | in : PersistableBundle [] : Object | +| Test.java:1192:9:1192:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1192:21:1192:23 | out : Bundle [] : Object | semmle.label | out : Bundle [] : Object | +| Test.java:1197:16:1197:52 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:1197:24:1197:52 | newBundleWithMapKey(...) : Bundle [] : String | semmle.label | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:1197:44:1197:51 | source(...) : String | semmle.label | source(...) : String | +| Test.java:1198:10:1198:11 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:1198:10:1198:19 | clone(...) : Object [] : String | semmle.label | clone(...) : Object [] : String | +| Test.java:1199:9:1199:30 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1199:19:1199:29 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:1204:16:1204:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1204:24:1204:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1204:46:1204:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1205:10:1205:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1205:10:1205:19 | clone(...) : Object [] : Object | semmle.label | clone(...) : Object [] : Object | +| Test.java:1206:9:1206:32 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1206:21:1206:31 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1211:16:1211:52 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:1211:24:1211:52 | newBundleWithMapKey(...) : Bundle [] : String | semmle.label | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:1211:44:1211:51 | source(...) : String | semmle.label | source(...) : String | +| Test.java:1212:10:1212:11 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:1212:10:1212:22 | deepCopy(...) : Bundle [] : String | semmle.label | deepCopy(...) : Bundle [] : String | +| Test.java:1213:9:1213:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1213:19:1213:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1218:16:1218:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1218:24:1218:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1218:46:1218:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1219:10:1219:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1219:10:1219:22 | deepCopy(...) : Bundle [] : Object | semmle.label | deepCopy(...) : Bundle [] : Object | +| Test.java:1220:9:1220:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1220:21:1220:23 | out : Bundle [] : Object | semmle.label | out : Bundle [] : Object | +| Test.java:1225:16:1225:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1225:24:1225:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1225:46:1225:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1226:10:1226:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1226:10:1226:27 | getBinder(...) : IBinder | semmle.label | getBinder(...) : IBinder | +| Test.java:1227:9:1227:11 | out | semmle.label | out | +| Test.java:1232:16:1232:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1232:24:1232:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1232:46:1232:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1233:10:1233:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1233:10:1233:27 | getBundle(...) : Bundle | semmle.label | getBundle(...) : Bundle | +| Test.java:1234:9:1234:11 | out | semmle.label | out | +| Test.java:1239:16:1239:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1239:24:1239:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1239:46:1239:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1240:10:1240:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1240:10:1240:30 | getByteArray(...) : byte[] | semmle.label | getByteArray(...) : byte[] | +| Test.java:1241:9:1241:11 | out | semmle.label | out | +| Test.java:1246:16:1246:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1246:24:1246:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1246:46:1246:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1247:10:1247:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1247:10:1247:30 | getCharArray(...) : char[] | semmle.label | getCharArray(...) : char[] | +| Test.java:1248:9:1248:11 | out | semmle.label | out | +| Test.java:1253:16:1253:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1253:24:1253:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1253:46:1253:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1254:10:1254:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1254:10:1254:33 | getCharSequence(...) : CharSequence | semmle.label | getCharSequence(...) : CharSequence | +| Test.java:1255:9:1255:11 | out | semmle.label | out | +| Test.java:1260:22:1260:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:1260:36:1260:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1262:10:1262:43 | getCharSequence(...) : CharSequence | semmle.label | getCharSequence(...) : CharSequence | +| Test.java:1262:41:1262:42 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:1263:9:1263:11 | out | semmle.label | out | +| Test.java:1268:16:1268:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1268:24:1268:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1268:46:1268:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1269:10:1269:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1269:10:1269:39 | getCharSequence(...) : CharSequence | semmle.label | getCharSequence(...) : CharSequence | +| Test.java:1270:9:1270:11 | out | semmle.label | out | +| Test.java:1275:16:1275:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1275:24:1275:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1275:46:1275:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1276:10:1276:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1276:10:1276:38 | getCharSequenceArray(...) : CharSequence[] | semmle.label | getCharSequenceArray(...) : CharSequence[] | +| Test.java:1277:9:1277:11 | out | semmle.label | out | +| Test.java:1282:16:1282:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1282:24:1282:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1282:46:1282:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1283:10:1283:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1283:10:1283:42 | getCharSequenceArrayList(...) : ArrayList | semmle.label | getCharSequenceArrayList(...) : ArrayList | +| Test.java:1284:9:1284:11 | out | semmle.label | out | +| Test.java:1289:16:1289:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1289:24:1289:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1289:46:1289:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1290:10:1290:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1290:10:1290:31 | getParcelable(...) : Parcelable | semmle.label | getParcelable(...) : Parcelable | +| Test.java:1291:9:1291:11 | out | semmle.label | out | +| Test.java:1296:16:1296:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1296:24:1296:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1296:46:1296:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1297:10:1297:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1297:10:1297:36 | getParcelableArray(...) : Parcelable[] | semmle.label | getParcelableArray(...) : Parcelable[] | +| Test.java:1298:9:1298:11 | out | semmle.label | out | +| Test.java:1303:16:1303:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1303:24:1303:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1303:46:1303:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1304:10:1304:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1304:10:1304:40 | getParcelableArrayList(...) : ArrayList | semmle.label | getParcelableArrayList(...) : ArrayList | +| Test.java:1305:9:1305:11 | out | semmle.label | out | +| Test.java:1310:16:1310:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1310:24:1310:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1310:46:1310:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1311:10:1311:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1311:10:1311:33 | getSerializable(...) : Serializable | semmle.label | getSerializable(...) : Serializable | +| Test.java:1312:9:1312:11 | out | semmle.label | out | +| Test.java:1317:16:1317:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1317:24:1317:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1317:46:1317:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1318:10:1318:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1318:10:1318:42 | getSparseParcelableArray(...) : SparseArray | semmle.label | getSparseParcelableArray(...) : SparseArray | +| Test.java:1319:9:1319:11 | out | semmle.label | out | +| Test.java:1324:16:1324:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1324:24:1324:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1324:46:1324:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1325:10:1325:11 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1325:10:1325:36 | getStringArrayList(...) : ArrayList | semmle.label | getStringArrayList(...) : ArrayList | +| Test.java:1326:9:1326:11 | out | semmle.label | out | +| Test.java:1331:16:1331:52 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:1331:24:1331:52 | newBundleWithMapKey(...) : Bundle [] : String | semmle.label | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:1331:44:1331:51 | source(...) : String | semmle.label | source(...) : String | +| Test.java:1332:4:1332:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1332:15:1332:16 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:1333:9:1333:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1333:19:1333:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1338:16:1338:54 | (...)... : Bundle [] : Object | semmle.label | (...)... : Bundle [] : Object | +| Test.java:1338:24:1338:54 | newBundleWithMapValue(...) : Bundle [] : Object | semmle.label | newBundleWithMapValue(...) : Bundle [] : Object | +| Test.java:1338:46:1338:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1339:4:1339:6 | out [post update] : Bundle [] : Object | semmle.label | out [post update] : Bundle [] : Object | +| Test.java:1339:15:1339:16 | in : Bundle [] : Object | semmle.label | in : Bundle [] : Object | +| Test.java:1340:9:1340:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1340:21:1340:23 | out : Bundle [] : Object | semmle.label | out : Bundle [] : Object | +| Test.java:1345:16:1345:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1345:24:1345:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1346:4:1346:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1346:18:1346:19 | in : String | semmle.label | in : String | +| Test.java:1347:9:1347:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1347:19:1347:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1352:17:1352:33 | (...)... : IBinder | semmle.label | (...)... : IBinder | +| Test.java:1352:26:1352:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1353:4:1353:6 | out [post update] : Bundle [] : IBinder | semmle.label | out [post update] : Bundle [] : IBinder | +| Test.java:1353:24:1353:25 | in : IBinder | semmle.label | in : IBinder | +| Test.java:1354:9:1354:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1354:21:1354:23 | out : Bundle [] : IBinder | semmle.label | out : Bundle [] : IBinder | +| Test.java:1359:16:1359:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1359:24:1359:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1360:4:1360:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1360:18:1360:19 | in : String | semmle.label | in : String | +| Test.java:1361:9:1361:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1361:19:1361:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1366:16:1366:31 | (...)... : Bundle | semmle.label | (...)... : Bundle | +| Test.java:1366:24:1366:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1367:4:1367:6 | out [post update] : Bundle [] : Bundle | semmle.label | out [post update] : Bundle [] : Bundle | +| Test.java:1367:24:1367:25 | in : Bundle | semmle.label | in : Bundle | +| Test.java:1368:9:1368:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1368:21:1368:23 | out : Bundle [] : Bundle | semmle.label | out : Bundle [] : Bundle | +| Test.java:1373:16:1373:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1373:24:1373:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1374:4:1374:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1374:16:1374:17 | in : String | semmle.label | in : String | +| Test.java:1375:9:1375:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1375:19:1375:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1380:16:1380:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1380:24:1380:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1381:4:1381:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1381:21:1381:22 | in : String | semmle.label | in : String | +| Test.java:1382:9:1382:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1382:19:1382:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1387:16:1387:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:1387:24:1387:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1388:4:1388:6 | out [post update] : Bundle [] : byte[] | semmle.label | out [post update] : Bundle [] : byte[] | +| Test.java:1388:27:1388:28 | in : byte[] | semmle.label | in : byte[] | +| Test.java:1389:9:1389:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1389:21:1389:23 | out : Bundle [] : byte[] | semmle.label | out : Bundle [] : byte[] | +| Test.java:1394:16:1394:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1394:24:1394:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1395:4:1395:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1395:16:1395:17 | in : String | semmle.label | in : String | +| Test.java:1396:9:1396:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1396:19:1396:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1401:16:1401:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1401:24:1401:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1402:4:1402:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1402:21:1402:22 | in : String | semmle.label | in : String | +| Test.java:1403:9:1403:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1403:19:1403:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1408:16:1408:31 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:1408:24:1408:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1409:4:1409:6 | out [post update] : Bundle [] : char[] | semmle.label | out [post update] : Bundle [] : char[] | +| Test.java:1409:27:1409:28 | in : char[] | semmle.label | in : char[] | +| Test.java:1410:9:1410:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1410:21:1410:23 | out : Bundle [] : char[] | semmle.label | out : Bundle [] : char[] | +| Test.java:1415:16:1415:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1415:24:1415:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1416:4:1416:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1416:24:1416:25 | in : String | semmle.label | in : String | +| Test.java:1417:9:1417:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1417:19:1417:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1422:22:1422:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:1422:36:1422:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1423:4:1423:6 | out [post update] : Bundle [] : CharSequence | semmle.label | out [post update] : Bundle [] : CharSequence | +| Test.java:1423:30:1423:31 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:1424:9:1424:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1424:21:1424:23 | out : Bundle [] : CharSequence | semmle.label | out : Bundle [] : CharSequence | +| Test.java:1429:16:1429:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1429:24:1429:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1430:4:1430:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1430:29:1430:30 | in : String | semmle.label | in : String | +| Test.java:1431:9:1431:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1431:19:1431:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1436:24:1436:47 | (...)... : CharSequence[] | semmle.label | (...)... : CharSequence[] | +| Test.java:1436:40:1436:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1437:4:1437:6 | out [post update] : Bundle [] : CharSequence[] | semmle.label | out [post update] : Bundle [] : CharSequence[] | +| Test.java:1437:35:1437:36 | in : CharSequence[] | semmle.label | in : CharSequence[] | +| Test.java:1438:9:1438:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1438:21:1438:23 | out : Bundle [] : CharSequence[] | semmle.label | out : Bundle [] : CharSequence[] | +| Test.java:1443:16:1443:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1443:24:1443:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1444:4:1444:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1444:33:1444:34 | in : String | semmle.label | in : String | +| Test.java:1445:9:1445:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1445:19:1445:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1450:19:1450:37 | (...)... : ArrayList | semmle.label | (...)... : ArrayList | +| Test.java:1450:30:1450:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1451:4:1451:6 | out [post update] : Bundle [] : ArrayList | semmle.label | out [post update] : Bundle [] : ArrayList | +| Test.java:1451:39:1451:40 | in : ArrayList | semmle.label | in : ArrayList | +| Test.java:1452:9:1452:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1452:21:1452:23 | out : Bundle [] : ArrayList | semmle.label | out : Bundle [] : ArrayList | +| Test.java:1457:16:1457:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1457:24:1457:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1458:4:1458:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1458:17:1458:18 | in : String | semmle.label | in : String | +| Test.java:1459:9:1459:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1459:19:1459:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1464:16:1464:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1464:24:1464:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1465:4:1465:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1465:22:1465:23 | in : String | semmle.label | in : String | +| Test.java:1466:9:1466:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1466:19:1466:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1471:16:1471:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1471:24:1471:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1472:4:1472:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1472:28:1472:29 | in : String | semmle.label | in : String | +| Test.java:1473:9:1473:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1473:19:1473:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1478:16:1478:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1478:24:1478:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1479:4:1479:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1479:22:1479:23 | in : String | semmle.label | in : String | +| Test.java:1480:9:1480:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1480:19:1480:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1485:20:1485:39 | (...)... : Parcelable | semmle.label | (...)... : Parcelable | +| Test.java:1485:32:1485:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1486:4:1486:6 | out [post update] : Bundle [] : Parcelable | semmle.label | out [post update] : Bundle [] : Parcelable | +| Test.java:1486:28:1486:29 | in : Parcelable | semmle.label | in : Parcelable | +| Test.java:1487:9:1487:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1487:21:1487:23 | out : Bundle [] : Parcelable | semmle.label | out : Bundle [] : Parcelable | +| Test.java:1492:16:1492:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1492:24:1492:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1493:4:1493:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1493:27:1493:28 | in : String | semmle.label | in : String | +| Test.java:1494:9:1494:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1494:19:1494:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1499:22:1499:43 | (...)... : Parcelable[] | semmle.label | (...)... : Parcelable[] | +| Test.java:1499:36:1499:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1500:4:1500:6 | out [post update] : Bundle [] : Parcelable[] | semmle.label | out [post update] : Bundle [] : Parcelable[] | +| Test.java:1500:33:1500:34 | in : Parcelable[] | semmle.label | in : Parcelable[] | +| Test.java:1501:9:1501:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1501:21:1501:23 | out : Bundle [] : Parcelable[] | semmle.label | out : Bundle [] : Parcelable[] | +| Test.java:1506:16:1506:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1506:24:1506:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1507:4:1507:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1507:31:1507:32 | in : String | semmle.label | in : String | +| Test.java:1508:9:1508:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1508:19:1508:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1513:19:1513:37 | (...)... : ArrayList | semmle.label | (...)... : ArrayList | +| Test.java:1513:30:1513:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1514:4:1514:6 | out [post update] : Bundle [] : ArrayList | semmle.label | out [post update] : Bundle [] : ArrayList | +| Test.java:1514:37:1514:38 | in : ArrayList | semmle.label | in : ArrayList | +| Test.java:1515:9:1515:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1515:21:1515:23 | out : Bundle [] : ArrayList | semmle.label | out : Bundle [] : ArrayList | +| Test.java:1520:16:1520:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1520:24:1520:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1521:4:1521:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1521:24:1521:25 | in : String | semmle.label | in : String | +| Test.java:1522:9:1522:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1522:19:1522:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1527:22:1527:43 | (...)... : Serializable | semmle.label | (...)... : Serializable | +| Test.java:1527:36:1527:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1528:4:1528:6 | out [post update] : Bundle [] : Serializable | semmle.label | out [post update] : Bundle [] : Serializable | +| Test.java:1528:30:1528:31 | in : Serializable | semmle.label | in : Serializable | +| Test.java:1529:9:1529:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1529:21:1529:23 | out : Bundle [] : Serializable | semmle.label | out : Bundle [] : Serializable | +| Test.java:1534:16:1534:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1534:24:1534:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1535:4:1535:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1535:17:1535:18 | in : String | semmle.label | in : String | +| Test.java:1536:9:1536:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1536:19:1536:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1541:16:1541:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1541:24:1541:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1542:4:1542:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1542:22:1542:23 | in : String | semmle.label | in : String | +| Test.java:1543:9:1543:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1543:19:1543:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1548:16:1548:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1548:24:1548:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1549:4:1549:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1549:16:1549:17 | in : String | semmle.label | in : String | +| Test.java:1550:9:1550:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1550:19:1550:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1555:16:1555:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1555:24:1555:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1556:4:1556:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1556:17:1556:18 | in : String | semmle.label | in : String | +| Test.java:1557:9:1557:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1557:19:1557:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1562:16:1562:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1562:24:1562:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1563:4:1563:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1563:33:1563:34 | in : String | semmle.label | in : String | +| Test.java:1564:9:1564:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1564:19:1564:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1569:21:1569:41 | (...)... : SparseArray | semmle.label | (...)... : SparseArray | +| Test.java:1569:34:1569:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1570:4:1570:6 | out [post update] : Bundle [] : SparseArray | semmle.label | out [post update] : Bundle [] : SparseArray | +| Test.java:1570:39:1570:40 | in : SparseArray | semmle.label | in : SparseArray | +| Test.java:1571:9:1571:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1571:21:1571:23 | out : Bundle [] : SparseArray | semmle.label | out : Bundle [] : SparseArray | +| Test.java:1576:16:1576:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1576:24:1576:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1577:4:1577:6 | out [post update] : Bundle [] : String | semmle.label | out [post update] : Bundle [] : String | +| Test.java:1577:27:1577:28 | in : String | semmle.label | in : String | +| Test.java:1578:9:1578:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1578:19:1578:21 | out : Bundle [] : String | semmle.label | out : Bundle [] : String | +| Test.java:1583:19:1583:37 | (...)... : ArrayList | semmle.label | (...)... : ArrayList | +| Test.java:1583:30:1583:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1584:4:1584:6 | out [post update] : Bundle [] : ArrayList | semmle.label | out [post update] : Bundle [] : ArrayList | +| Test.java:1584:33:1584:34 | in : ArrayList | semmle.label | in : ArrayList | +| Test.java:1585:9:1585:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1585:21:1585:23 | out : Bundle [] : ArrayList | semmle.label | out : Bundle [] : ArrayList | +| Test.java:1590:16:1590:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:1590:24:1590:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1591:4:1591:6 | out [post update] : Bundle [] : Object | semmle.label | out [post update] : Bundle [] : Object | +| Test.java:1591:23:1591:24 | in : Parcel | semmle.label | in : Parcel | +| Test.java:1592:9:1592:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1592:19:1592:21 | out : Bundle [] : Object | semmle.label | out : Bundle [] : Object | +| Test.java:1597:16:1597:31 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:1597:24:1597:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1598:4:1598:6 | out [post update] : Bundle [] : Object | semmle.label | out [post update] : Bundle [] : Object | +| Test.java:1598:23:1598:24 | in : Parcel | semmle.label | in : Parcel | +| Test.java:1599:9:1599:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1599:21:1599:23 | out : Bundle [] : Object | semmle.label | out : Bundle [] : Object | +| Test.java:1604:15:1604:30 | (...)... : Class | semmle.label | (...)... : Class | +| Test.java:1604:23:1604:30 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1605:10:1605:46 | new ComponentName(...) : ComponentName | semmle.label | new ComponentName(...) : ComponentName | +| Test.java:1605:44:1605:45 | in : Class | semmle.label | in : Class | +| Test.java:1606:9:1606:11 | out | semmle.label | out | +| Test.java:1611:16:1611:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1611:25:1611:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1612:10:1612:46 | new ComponentName(...) : ComponentName | semmle.label | new ComponentName(...) : ComponentName | +| Test.java:1612:44:1612:45 | in : String | semmle.label | in : String | +| Test.java:1613:9:1613:11 | out | semmle.label | out | +| Test.java:1618:16:1618:32 | (...)... : Parcel | semmle.label | (...)... : Parcel | +| Test.java:1618:25:1618:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1619:10:1619:30 | new ComponentName(...) : ComponentName | semmle.label | new ComponentName(...) : ComponentName | +| Test.java:1619:28:1619:29 | in : Parcel | semmle.label | in : Parcel | +| Test.java:1620:9:1620:11 | out | semmle.label | out | +| Test.java:1625:16:1625:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1625:25:1625:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1626:10:1626:45 | new ComponentName(...) : ComponentName | semmle.label | new ComponentName(...) : ComponentName | +| Test.java:1626:28:1626:29 | in : String | semmle.label | in : String | +| Test.java:1627:9:1627:11 | out | semmle.label | out | +| Test.java:1632:16:1632:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1632:25:1632:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1633:10:1633:45 | new ComponentName(...) : ComponentName | semmle.label | new ComponentName(...) : ComponentName | +| Test.java:1633:43:1633:44 | in : String | semmle.label | in : String | +| Test.java:1634:9:1634:11 | out | semmle.label | out | +| Test.java:1639:16:1639:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1639:25:1639:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1640:10:1640:57 | createRelative(...) : ComponentName | semmle.label | createRelative(...) : ComponentName | +| Test.java:1640:55:1640:56 | in : String | semmle.label | in : String | +| Test.java:1641:9:1641:11 | out | semmle.label | out | +| Test.java:1646:16:1646:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1646:25:1646:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1647:10:1647:56 | createRelative(...) : ComponentName | semmle.label | createRelative(...) : ComponentName | +| Test.java:1647:39:1647:40 | in : String | semmle.label | in : String | +| Test.java:1648:9:1648:11 | out | semmle.label | out | +| Test.java:1653:16:1653:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1653:25:1653:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1654:10:1654:56 | createRelative(...) : ComponentName | semmle.label | createRelative(...) : ComponentName | +| Test.java:1654:54:1654:55 | in : String | semmle.label | in : String | +| Test.java:1655:9:1655:11 | out | semmle.label | out | +| Test.java:1660:23:1660:46 | (...)... : ComponentName | semmle.label | (...)... : ComponentName | +| Test.java:1660:39:1660:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1661:10:1661:11 | in : ComponentName | semmle.label | in : ComponentName | +| Test.java:1661:10:1661:34 | flattenToShortString(...) : String | semmle.label | flattenToShortString(...) : String | +| Test.java:1662:9:1662:11 | out | semmle.label | out | +| Test.java:1667:23:1667:46 | (...)... : ComponentName | semmle.label | (...)... : ComponentName | +| Test.java:1667:39:1667:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1668:10:1668:11 | in : ComponentName | semmle.label | in : ComponentName | +| Test.java:1668:10:1668:29 | flattenToString(...) : String | semmle.label | flattenToString(...) : String | +| Test.java:1669:9:1669:11 | out | semmle.label | out | +| Test.java:1674:23:1674:46 | (...)... : ComponentName | semmle.label | (...)... : ComponentName | +| Test.java:1674:39:1674:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1675:10:1675:11 | in : ComponentName | semmle.label | in : ComponentName | +| Test.java:1675:10:1675:26 | getClassName(...) : String | semmle.label | getClassName(...) : String | +| Test.java:1676:9:1676:11 | out | semmle.label | out | +| Test.java:1681:23:1681:46 | (...)... : ComponentName | semmle.label | (...)... : ComponentName | +| Test.java:1681:39:1681:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1682:10:1682:11 | in : ComponentName | semmle.label | in : ComponentName | +| Test.java:1682:10:1682:28 | getPackageName(...) : String | semmle.label | getPackageName(...) : String | +| Test.java:1683:9:1683:11 | out | semmle.label | out | +| Test.java:1688:23:1688:46 | (...)... : ComponentName | semmle.label | (...)... : ComponentName | +| Test.java:1688:39:1688:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1689:10:1689:11 | in : ComponentName | semmle.label | in : ComponentName | +| Test.java:1689:10:1689:31 | getShortClassName(...) : String | semmle.label | getShortClassName(...) : String | +| Test.java:1690:9:1690:11 | out | semmle.label | out | +| Test.java:1695:16:1695:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1695:25:1695:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1696:10:1696:46 | unflattenFromString(...) : ComponentName | semmle.label | unflattenFromString(...) : ComponentName | +| Test.java:1696:44:1696:45 | in : String | semmle.label | in : String | +| Test.java:1697:9:1697:11 | out | semmle.label | out | +| Test.java:1702:15:1702:30 | (...)... : Class | semmle.label | (...)... : Class | +| Test.java:1702:23:1702:30 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1703:10:1703:39 | new Intent(...) : Intent | semmle.label | new Intent(...) : Intent | +| Test.java:1703:37:1703:38 | in : Class | semmle.label | in : Class | +| Test.java:1704:9:1704:11 | out | semmle.label | out | +| Test.java:1709:16:1709:32 | (...)... : Intent | semmle.label | (...)... : Intent | +| Test.java:1709:25:1709:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1710:10:1710:23 | new Intent(...) : Intent | semmle.label | new Intent(...) : Intent | +| Test.java:1710:21:1710:22 | in : Intent | semmle.label | in : Intent | +| Test.java:1711:9:1711:11 | out | semmle.label | out | +| Test.java:1716:15:1716:30 | (...)... : Class | semmle.label | (...)... : Class | +| Test.java:1716:23:1716:30 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1717:10:1717:41 | new Intent(...) : Intent | semmle.label | new Intent(...) : Intent | +| Test.java:1717:39:1717:40 | in : Class | semmle.label | in : Class | +| Test.java:1718:9:1718:11 | out | semmle.label | out | +| Test.java:1723:15:1723:30 | (...)... : Class | semmle.label | (...)... : Class | +| Test.java:1723:23:1723:30 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1724:4:1724:6 | out [post update] : Intent | semmle.label | out [post update] : Intent | +| Test.java:1724:23:1724:24 | in : Class | semmle.label | in : Class | +| Test.java:1725:9:1725:11 | out | semmle.label | out | +| Test.java:1730:16:1730:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1730:25:1730:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1731:4:1731:6 | out [post update] : Intent | semmle.label | out [post update] : Intent | +| Test.java:1731:37:1731:38 | in : String | semmle.label | in : String | +| Test.java:1732:9:1732:11 | out | semmle.label | out | +| Test.java:1737:16:1737:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1737:25:1737:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1738:4:1738:6 | out [post update] : Intent | semmle.label | out [post update] : Intent | +| Test.java:1738:21:1738:22 | in : String | semmle.label | in : String | +| Test.java:1739:9:1739:11 | out | semmle.label | out | +| Test.java:1744:16:1744:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1744:25:1744:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1745:4:1745:6 | out [post update] : Intent | semmle.label | out [post update] : Intent | +| Test.java:1745:36:1745:37 | in : String | semmle.label | in : String | +| Test.java:1746:9:1746:11 | out | semmle.label | out | +| Test.java:1751:23:1751:46 | (...)... : ComponentName | semmle.label | (...)... : ComponentName | +| Test.java:1751:39:1751:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1752:4:1752:6 | out [post update] : Intent | semmle.label | out [post update] : Intent | +| Test.java:1752:21:1752:22 | in : ComponentName | semmle.label | in : ComponentName | +| Test.java:1753:9:1753:11 | out | semmle.label | out | +| Test.java:1758:16:1758:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1758:25:1758:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1759:4:1759:6 | out [post update] : Intent | semmle.label | out [post update] : Intent | +| Test.java:1759:19:1759:20 | in : String | semmle.label | in : String | +| Test.java:1760:9:1760:11 | out | semmle.label | out | +| TestStartActivityToGetIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:18:37:18:64 | (...)... : String | semmle.label | (...)... : String | +| TestStartActivityToGetIntent.java:18:46:18:64 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartActivityToGetIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:23:37:23:69 | (...)... : String | semmle.label | (...)... : String | +| TestStartActivityToGetIntent.java:23:46:23:69 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartActivityToGetIntent.java:24:32:24:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | {...} : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:24:32:24:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | {...} : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:24:32:24:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | {...} : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:24:46:24:51 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:24:46:24:51 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:24:46:24:51 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:25:33:25:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | intents : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:25:33:25:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | intents : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:25:33:25:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | intents : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:29:37:29:71 | (...)... : String | semmle.label | (...)... : String | +| TestStartActivityToGetIntent.java:29:46:29:71 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartActivityToGetIntent.java:30:32:30:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | {...} : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:30:32:30:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | {...} : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:30:32:30:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | {...} : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:30:46:30:51 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:30:46:30:51 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:30:46:30:51 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:31:33:31:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | intents : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:31:33:31:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | intents : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:31:33:31:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | intents : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:35:13:35:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:35:13:35:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:35:13:35:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:35:37:35:64 | (...)... : String | semmle.label | (...)... : String | +| TestStartActivityToGetIntent.java:35:46:35:64 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartActivityToGetIntent.java:36:31:36:36 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:36:31:36:36 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:36:31:36:36 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:40:13:40:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:40:13:40:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:40:13:40:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:40:37:40:69 | (...)... : String | semmle.label | (...)... : String | +| TestStartActivityToGetIntent.java:40:46:40:69 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartActivityToGetIntent.java:41:32:41:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | {...} : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:41:32:41:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | {...} : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:41:32:41:52 | {...} : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | {...} : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:41:46:41:51 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:41:46:41:51 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:41:46:41:51 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:42:33:42:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | intents : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:42:33:42:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | intents : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:42:33:42:39 | intents : Intent[] [[], android.content.Intent.extras, ] : String | semmle.label | intents : Intent[] [[], android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:52:13:52:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:52:13:52:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:52:13:52:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:52:37:52:71 | (...)... : String | semmle.label | (...)... : String | +| TestStartActivityToGetIntent.java:52:46:52:71 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartActivityToGetIntent.java:53:40:53:45 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:53:40:53:45 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:53:40:53:45 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:57:13:57:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:57:13:57:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:57:13:57:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:57:37:57:70 | (...)... : String | semmle.label | (...)... : String | +| TestStartActivityToGetIntent.java:57:46:57:70 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartActivityToGetIntent.java:58:39:58:44 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:58:39:58:44 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:58:39:58:44 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:62:13:62:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:62:13:62:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:62:13:62:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:62:37:62:69 | (...)... : String | semmle.label | (...)... : String | +| TestStartActivityToGetIntent.java:62:46:62:69 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartActivityToGetIntent.java:63:43:63:48 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:63:43:63:48 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:63:43:63:48 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:67:13:67:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:67:13:67:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:67:13:67:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:67:37:67:71 | (...)... : String | semmle.label | (...)... : String | +| TestStartActivityToGetIntent.java:67:46:67:71 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartActivityToGetIntent.java:68:46:68:51 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:68:46:68:51 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:68:46:68:51 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:72:13:72:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:72:13:72:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:72:13:72:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:72:37:72:70 | (...)... : String | semmle.label | (...)... : String | +| TestStartActivityToGetIntent.java:72:46:72:70 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartActivityToGetIntent.java:73:49:73:54 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:73:49:73:54 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:73:49:73:54 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:79:13:79:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:79:13:79:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:79:13:79:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:79:37:79:60 | (...)... : String | semmle.label | (...)... : String | +| TestStartActivityToGetIntent.java:79:46:79:60 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartActivityToGetIntent.java:80:31:80:36 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:80:31:80:36 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:80:31:80:36 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | semmle.label | getIntent(...) : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | semmle.label | getIntent(...) : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:95:18:95:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | semmle.label | getIntent(...) : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:95:18:95:51 | getStringExtra(...) | semmle.label | getStringExtra(...) | +| TestStartActivityToGetIntent.java:102:18:102:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | semmle.label | getIntent(...) : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:102:18:102:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | semmle.label | getIntent(...) : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:102:18:102:28 | getIntent(...) : Intent [android.content.Intent.extras, ] : String | semmle.label | getIntent(...) : Intent [android.content.Intent.extras, ] : String | +| TestStartActivityToGetIntent.java:102:18:102:51 | getStringExtra(...) | semmle.label | getStringExtra(...) | +| TestStartBroadcastReceiverToIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:18:13:18:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:18:37:18:59 | (...)... : String | semmle.label | (...)... : String | +| TestStartBroadcastReceiverToIntent.java:18:46:18:59 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartBroadcastReceiverToIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:19:31:19:36 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:23:13:23:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:23:37:23:67 | (...)... : String | semmle.label | (...)... : String | +| TestStartBroadcastReceiverToIntent.java:23:46:23:67 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartBroadcastReceiverToIntent.java:24:37:24:42 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:24:37:24:42 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:24:37:24:42 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:28:13:28:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:28:13:28:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:28:13:28:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:28:37:28:69 | (...)... : String | semmle.label | (...)... : String | +| TestStartBroadcastReceiverToIntent.java:28:46:28:69 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartBroadcastReceiverToIntent.java:29:54:29:59 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:29:54:29:59 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:29:54:29:59 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:33:13:33:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:33:13:33:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:33:13:33:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:33:37:33:67 | (...)... : String | semmle.label | (...)... : String | +| TestStartBroadcastReceiverToIntent.java:33:46:33:67 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartBroadcastReceiverToIntent.java:34:38:34:43 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:34:38:34:43 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:34:38:34:43 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:38:13:38:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:38:13:38:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:38:13:38:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:38:37:38:75 | (...)... : String | semmle.label | (...)... : String | +| TestStartBroadcastReceiverToIntent.java:38:46:38:75 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartBroadcastReceiverToIntent.java:39:44:39:49 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:39:44:39:49 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:39:44:39:49 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:43:13:43:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:43:13:43:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:43:13:43:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:43:37:43:66 | (...)... : String | semmle.label | (...)... : String | +| TestStartBroadcastReceiverToIntent.java:43:46:43:66 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartBroadcastReceiverToIntent.java:44:37:44:42 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:44:37:44:42 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:44:37:44:42 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:48:13:48:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:48:13:48:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:48:13:48:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:48:37:48:74 | (...)... : String | semmle.label | (...)... : String | +| TestStartBroadcastReceiverToIntent.java:48:46:48:74 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartBroadcastReceiverToIntent.java:49:43:49:48 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:49:43:49:48 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:49:43:49:48 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:53:13:53:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:53:13:53:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:53:13:53:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:53:37:53:74 | (...)... : String | semmle.label | (...)... : String | +| TestStartBroadcastReceiverToIntent.java:53:46:53:74 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartBroadcastReceiverToIntent.java:54:44:54:49 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:54:44:54:49 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:54:44:54:49 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:58:13:58:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:58:13:58:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:58:13:58:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:58:37:58:82 | (...)... : String | semmle.label | (...)... : String | +| TestStartBroadcastReceiverToIntent.java:58:46:58:82 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartBroadcastReceiverToIntent.java:59:50:59:55 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:59:50:59:55 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:59:50:59:55 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:65:13:65:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:65:13:65:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:65:13:65:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:65:37:65:60 | (...)... : String | semmle.label | (...)... : String | +| TestStartBroadcastReceiverToIntent.java:65:46:65:60 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartBroadcastReceiverToIntent.java:66:31:66:36 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:66:31:66:36 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:66:31:66:36 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:81:48:81:60 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:82:18:82:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:82:18:82:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:82:18:82:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartBroadcastReceiverToIntent.java:82:18:82:46 | getStringExtra(...) | semmle.label | getStringExtra(...) | +| TestStartServiceToIntent.java:19:13:19:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:19:13:19:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:19:13:19:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:19:37:19:59 | (...)... : String | semmle.label | (...)... : String | +| TestStartServiceToIntent.java:19:46:19:59 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:20:29:20:34 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:24:13:24:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:24:13:24:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:24:13:24:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:24:37:24:67 | (...)... : String | semmle.label | (...)... : String | +| TestStartServiceToIntent.java:24:46:24:67 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:25:35:25:40 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:29:13:29:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:29:37:29:68 | (...)... : String | semmle.label | (...)... : String | +| TestStartServiceToIntent.java:29:46:29:68 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:30:37:30:42 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:34:13:34:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:34:13:34:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:34:13:34:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:34:37:34:60 | (...)... : String | semmle.label | (...)... : String | +| TestStartServiceToIntent.java:34:46:34:60 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:35:30:35:35 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:39:13:39:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:39:13:39:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:39:13:39:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:39:37:39:71 | (...)... : String | semmle.label | (...)... : String | +| TestStartServiceToIntent.java:39:46:39:71 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:40:40:40:45 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:46:13:46:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:46:13:46:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:46:13:46:18 | intent [post update] : Intent [android.content.Intent.extras, ] : String | semmle.label | intent [post update] : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:46:37:46:60 | (...)... : String | semmle.label | (...)... : String | +| TestStartServiceToIntent.java:46:46:46:60 | source(...) : Object | semmle.label | source(...) : Object | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:47:30:47:35 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:62:29:62:41 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:63:18:63:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:63:18:63:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:63:18:63:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:63:18:63:46 | getStringExtra(...) | semmle.label | getStringExtra(...) | +| TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:67:35:67:47 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:68:18:68:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:68:18:68:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:68:18:68:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:68:18:68:46 | getStringExtra(...) | semmle.label | getStringExtra(...) | +| TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:73:31:73:43 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:74:18:74:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:74:18:74:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:74:18:74:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:74:18:74:46 | getStringExtra(...) | semmle.label | getStringExtra(...) | +| TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:79:33:79:45 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:80:18:80:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:80:18:80:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:80:18:80:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:80:18:80:46 | getStringExtra(...) | semmle.label | getStringExtra(...) | +| TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:85:30:85:42 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:86:18:86:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:86:18:86:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:86:18:86:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:86:18:86:46 | getStringExtra(...) | semmle.label | getStringExtra(...) | +| TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:90:35:90:47 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:91:18:91:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:91:18:91:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:91:18:91:23 | intent : Intent [android.content.Intent.extras, ] : String | semmle.label | intent : Intent [android.content.Intent.extras, ] : String | +| TestStartServiceToIntent.java:91:18:91:46 | getStringExtra(...) | semmle.label | getStringExtra(...) | +subpaths +| Test.java:41:65:41:72 | source(...) : String | Test.java:28:29:28:36 | k : String | Test.java:28:89:28:89 | b : Bundle [] : String | Test.java:41:45:41:73 | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:43:19:43:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:43:9:43:40 | getMapKey(...) | +| Test.java:43:36:43:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:43:19:43:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:43:36:43:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:43:19:43:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:50:38:50:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Object | Test.java:50:21:50:41 | getIntent_extras(...) : Bundle [] : Object | +| Test.java:50:38:50:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Object | Test.java:50:21:50:41 | getIntent_extras(...) : Bundle [] : Object | +| Test.java:57:17:57:19 | out : Intent [android.content.Intent.data] : Uri | Test.java:32:14:32:26 | intent : Intent [android.content.Intent.data] : Uri | Test.java:32:38:32:53 | getData(...) : Uri | Test.java:57:9:57:20 | getData(...) | +| Test.java:64:17:64:19 | out : Intent [android.content.Intent.data] : Uri | Test.java:32:14:32:26 | intent : Intent [android.content.Intent.data] : Uri | Test.java:32:38:32:53 | getData(...) : Uri | Test.java:64:9:64:20 | getData(...) | +| Test.java:85:38:85:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : CharSequence | Test.java:85:21:85:41 | getIntent_extras(...) : Bundle [] : CharSequence | +| Test.java:85:38:85:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : CharSequence | Test.java:85:21:85:41 | getIntent_extras(...) : Bundle [] : CharSequence | +| Test.java:92:38:92:40 | out : Intent [android.content.Intent.extras, ] : IntentSender | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : IntentSender | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : IntentSender | Test.java:92:21:92:41 | getIntent_extras(...) : Bundle [] : IntentSender | +| Test.java:92:38:92:40 | out : Intent [android.content.Intent.extras, ] : IntentSender | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : IntentSender | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : IntentSender | Test.java:92:21:92:41 | getIntent_extras(...) : Bundle [] : IntentSender | +| Test.java:99:38:99:40 | out : Intent [android.content.Intent.extras, ] : Intent | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Intent | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Intent | Test.java:99:21:99:41 | getIntent_extras(...) : Bundle [] : Intent | +| Test.java:99:38:99:40 | out : Intent [android.content.Intent.extras, ] : Intent | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Intent | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Intent | Test.java:99:21:99:41 | getIntent_extras(...) : Bundle [] : Intent | +| Test.java:146:43:146:50 | source(...) : Uri | Test.java:27:28:27:35 | data : Uri | Test.java:27:47:27:71 | new Intent(...) : Intent [android.content.Intent.data] : Uri | Test.java:146:24:146:51 | newWithIntent_data(...) : Intent [android.content.Intent.data] : Uri | +| Test.java:153:43:153:50 | source(...) : Uri | Test.java:27:28:27:35 | data : Uri | Test.java:27:47:27:71 | new Intent(...) : Intent [android.content.Intent.data] : Uri | Test.java:153:24:153:51 | newWithIntent_data(...) : Intent [android.content.Intent.data] : Uri | +| Test.java:246:19:246:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:246:9:246:40 | getMapKey(...) | +| Test.java:246:36:246:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:246:19:246:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:246:36:246:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:246:19:246:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:253:38:253:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : ArrayList | Test.java:253:21:253:41 | getIntent_extras(...) : Bundle [] : ArrayList | +| Test.java:253:38:253:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : ArrayList | Test.java:253:21:253:41 | getIntent_extras(...) : Bundle [] : ArrayList | +| Test.java:428:19:428:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:428:9:428:40 | getMapKey(...) | +| Test.java:428:36:428:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:428:19:428:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:428:36:428:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:428:19:428:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:435:19:435:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:435:9:435:40 | getMapKey(...) | +| Test.java:435:36:435:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:435:19:435:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:435:36:435:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:435:19:435:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:442:19:442:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:442:9:442:40 | getMapKey(...) | +| Test.java:442:36:442:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:442:19:442:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:442:36:442:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:442:19:442:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:449:19:449:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:449:9:449:40 | getMapKey(...) | +| Test.java:449:36:449:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:449:19:449:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:449:36:449:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:449:19:449:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:456:19:456:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:456:9:456:40 | getMapKey(...) | +| Test.java:456:36:456:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:456:19:456:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:456:36:456:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:456:19:456:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:463:19:463:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:463:9:463:40 | getMapKey(...) | +| Test.java:463:36:463:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:463:19:463:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:463:36:463:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:463:19:463:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:470:19:470:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:470:9:470:40 | getMapKey(...) | +| Test.java:470:36:470:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:470:19:470:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:470:36:470:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:470:19:470:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:477:19:477:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:477:9:477:40 | getMapKey(...) | +| Test.java:477:36:477:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:477:19:477:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:477:36:477:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:477:19:477:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:484:19:484:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:484:9:484:40 | getMapKey(...) | +| Test.java:484:36:484:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:484:19:484:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:484:36:484:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:484:19:484:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:491:19:491:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:491:9:491:40 | getMapKey(...) | +| Test.java:491:36:491:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:491:19:491:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:491:36:491:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:491:19:491:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:498:19:498:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:498:9:498:40 | getMapKey(...) | +| Test.java:498:36:498:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:498:19:498:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:498:36:498:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:498:19:498:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:505:19:505:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:505:9:505:40 | getMapKey(...) | +| Test.java:505:36:505:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:505:19:505:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:505:36:505:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:505:19:505:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:512:19:512:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:512:9:512:40 | getMapKey(...) | +| Test.java:512:36:512:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:512:19:512:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:512:36:512:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:512:19:512:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:519:19:519:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:519:9:519:40 | getMapKey(...) | +| Test.java:519:36:519:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:519:19:519:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:519:36:519:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:519:19:519:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:526:19:526:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:526:9:526:40 | getMapKey(...) | +| Test.java:526:36:526:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:526:19:526:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:526:36:526:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:526:19:526:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:533:19:533:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:533:9:533:40 | getMapKey(...) | +| Test.java:533:36:533:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:533:19:533:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:533:36:533:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:533:19:533:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:540:19:540:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:540:9:540:40 | getMapKey(...) | +| Test.java:540:36:540:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:540:19:540:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:540:36:540:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:540:19:540:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:547:19:547:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:547:9:547:40 | getMapKey(...) | +| Test.java:547:36:547:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:547:19:547:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:547:36:547:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:547:19:547:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:554:19:554:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:554:9:554:40 | getMapKey(...) | +| Test.java:554:36:554:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:554:19:554:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:554:36:554:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:554:19:554:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:561:19:561:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:561:9:561:40 | getMapKey(...) | +| Test.java:561:36:561:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:561:19:561:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:561:36:561:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:561:19:561:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:568:19:568:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:568:9:568:40 | getMapKey(...) | +| Test.java:568:36:568:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:568:19:568:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:568:36:568:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:568:19:568:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:575:19:575:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:575:9:575:40 | getMapKey(...) | +| Test.java:575:36:575:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:575:19:575:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:575:36:575:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:575:19:575:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:582:19:582:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:582:9:582:40 | getMapKey(...) | +| Test.java:582:36:582:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:582:19:582:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:582:36:582:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:582:19:582:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:589:19:589:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:589:9:589:40 | getMapKey(...) | +| Test.java:589:36:589:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:589:19:589:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:589:36:589:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:589:19:589:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:596:38:596:40 | out : Intent [android.content.Intent.extras, ] : short[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : short[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : short[] | Test.java:596:21:596:41 | getIntent_extras(...) : Bundle [] : short[] | +| Test.java:596:38:596:40 | out : Intent [android.content.Intent.extras, ] : short[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : short[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : short[] | Test.java:596:21:596:41 | getIntent_extras(...) : Bundle [] : short[] | +| Test.java:603:38:603:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | Test.java:603:21:603:41 | getIntent_extras(...) : Bundle [] : Number | +| Test.java:603:38:603:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | Test.java:603:21:603:41 | getIntent_extras(...) : Bundle [] : Number | +| Test.java:610:38:610:40 | out : Intent [android.content.Intent.extras, ] : long[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : long[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : long[] | Test.java:610:21:610:41 | getIntent_extras(...) : Bundle [] : long[] | +| Test.java:610:38:610:40 | out : Intent [android.content.Intent.extras, ] : long[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : long[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : long[] | Test.java:610:21:610:41 | getIntent_extras(...) : Bundle [] : long[] | +| Test.java:617:38:617:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | Test.java:617:21:617:41 | getIntent_extras(...) : Bundle [] : Number | +| Test.java:617:38:617:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | Test.java:617:21:617:41 | getIntent_extras(...) : Bundle [] : Number | +| Test.java:624:38:624:40 | out : Intent [android.content.Intent.extras, ] : int[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : int[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : int[] | Test.java:624:21:624:41 | getIntent_extras(...) : Bundle [] : int[] | +| Test.java:624:38:624:40 | out : Intent [android.content.Intent.extras, ] : int[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : int[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : int[] | Test.java:624:21:624:41 | getIntent_extras(...) : Bundle [] : int[] | +| Test.java:631:38:631:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | Test.java:631:21:631:41 | getIntent_extras(...) : Bundle [] : Number | +| Test.java:631:38:631:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | Test.java:631:21:631:41 | getIntent_extras(...) : Bundle [] : Number | +| Test.java:638:38:638:40 | out : Intent [android.content.Intent.extras, ] : float[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : float[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : float[] | Test.java:638:21:638:41 | getIntent_extras(...) : Bundle [] : float[] | +| Test.java:638:38:638:40 | out : Intent [android.content.Intent.extras, ] : float[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : float[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : float[] | Test.java:638:21:638:41 | getIntent_extras(...) : Bundle [] : float[] | +| Test.java:645:38:645:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | Test.java:645:21:645:41 | getIntent_extras(...) : Bundle [] : Number | +| Test.java:645:38:645:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | Test.java:645:21:645:41 | getIntent_extras(...) : Bundle [] : Number | +| Test.java:652:38:652:40 | out : Intent [android.content.Intent.extras, ] : double[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : double[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : double[] | Test.java:652:21:652:41 | getIntent_extras(...) : Bundle [] : double[] | +| Test.java:652:38:652:40 | out : Intent [android.content.Intent.extras, ] : double[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : double[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : double[] | Test.java:652:21:652:41 | getIntent_extras(...) : Bundle [] : double[] | +| Test.java:659:38:659:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | Test.java:659:21:659:41 | getIntent_extras(...) : Bundle [] : Number | +| Test.java:659:38:659:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | Test.java:659:21:659:41 | getIntent_extras(...) : Bundle [] : Number | +| Test.java:666:38:666:40 | out : Intent [android.content.Intent.extras, ] : char[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : char[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : char[] | Test.java:666:21:666:41 | getIntent_extras(...) : Bundle [] : char[] | +| Test.java:666:38:666:40 | out : Intent [android.content.Intent.extras, ] : char[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : char[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : char[] | Test.java:666:21:666:41 | getIntent_extras(...) : Bundle [] : char[] | +| Test.java:673:38:673:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | Test.java:673:21:673:41 | getIntent_extras(...) : Bundle [] : Number | +| Test.java:673:38:673:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | Test.java:673:21:673:41 | getIntent_extras(...) : Bundle [] : Number | +| Test.java:680:38:680:40 | out : Intent [android.content.Intent.extras, ] : byte[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : byte[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : byte[] | Test.java:680:21:680:41 | getIntent_extras(...) : Bundle [] : byte[] | +| Test.java:680:38:680:40 | out : Intent [android.content.Intent.extras, ] : byte[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : byte[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : byte[] | Test.java:680:21:680:41 | getIntent_extras(...) : Bundle [] : byte[] | +| Test.java:687:38:687:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | Test.java:687:21:687:41 | getIntent_extras(...) : Bundle [] : Number | +| Test.java:687:38:687:40 | out : Intent [android.content.Intent.extras, ] : Number | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Number | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Number | Test.java:687:21:687:41 | getIntent_extras(...) : Bundle [] : Number | +| Test.java:694:38:694:40 | out : Intent [android.content.Intent.extras, ] : boolean[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : boolean[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : boolean[] | Test.java:694:21:694:41 | getIntent_extras(...) : Bundle [] : boolean[] | +| Test.java:694:38:694:40 | out : Intent [android.content.Intent.extras, ] : boolean[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : boolean[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : boolean[] | Test.java:694:21:694:41 | getIntent_extras(...) : Bundle [] : boolean[] | +| Test.java:701:38:701:40 | out : Intent [android.content.Intent.extras, ] : Boolean | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Boolean | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Boolean | Test.java:701:21:701:41 | getIntent_extras(...) : Bundle [] : Boolean | +| Test.java:701:38:701:40 | out : Intent [android.content.Intent.extras, ] : Boolean | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Boolean | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Boolean | Test.java:701:21:701:41 | getIntent_extras(...) : Bundle [] : Boolean | +| Test.java:708:38:708:40 | out : Intent [android.content.Intent.extras, ] : String[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String[] | Test.java:708:21:708:41 | getIntent_extras(...) : Bundle [] : String[] | +| Test.java:708:38:708:40 | out : Intent [android.content.Intent.extras, ] : String[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String[] | Test.java:708:21:708:41 | getIntent_extras(...) : Bundle [] : String[] | +| Test.java:715:38:715:40 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:715:21:715:41 | getIntent_extras(...) : Bundle [] : String | +| Test.java:715:38:715:40 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:715:21:715:41 | getIntent_extras(...) : Bundle [] : String | +| Test.java:722:38:722:40 | out : Intent [android.content.Intent.extras, ] : Serializable | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Serializable | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Serializable | Test.java:722:21:722:41 | getIntent_extras(...) : Bundle [] : Serializable | +| Test.java:722:38:722:40 | out : Intent [android.content.Intent.extras, ] : Serializable | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Serializable | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Serializable | Test.java:722:21:722:41 | getIntent_extras(...) : Bundle [] : Serializable | +| Test.java:729:38:729:40 | out : Intent [android.content.Intent.extras, ] : Parcelable[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Parcelable[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Parcelable[] | Test.java:729:21:729:41 | getIntent_extras(...) : Bundle [] : Parcelable[] | +| Test.java:729:38:729:40 | out : Intent [android.content.Intent.extras, ] : Parcelable[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Parcelable[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Parcelable[] | Test.java:729:21:729:41 | getIntent_extras(...) : Bundle [] : Parcelable[] | +| Test.java:736:38:736:40 | out : Intent [android.content.Intent.extras, ] : Parcelable | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Parcelable | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Parcelable | Test.java:736:21:736:41 | getIntent_extras(...) : Bundle [] : Parcelable | +| Test.java:736:38:736:40 | out : Intent [android.content.Intent.extras, ] : Parcelable | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Parcelable | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Parcelable | Test.java:736:21:736:41 | getIntent_extras(...) : Bundle [] : Parcelable | +| Test.java:743:38:743:40 | out : Intent [android.content.Intent.extras, ] : CharSequence[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : CharSequence[] | Test.java:743:21:743:41 | getIntent_extras(...) : Bundle [] : CharSequence[] | +| Test.java:743:38:743:40 | out : Intent [android.content.Intent.extras, ] : CharSequence[] | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence[] | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : CharSequence[] | Test.java:743:21:743:41 | getIntent_extras(...) : Bundle [] : CharSequence[] | +| Test.java:750:38:750:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : CharSequence | Test.java:750:21:750:41 | getIntent_extras(...) : Bundle [] : CharSequence | +| Test.java:750:38:750:40 | out : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : CharSequence | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : CharSequence | Test.java:750:21:750:41 | getIntent_extras(...) : Bundle [] : CharSequence | +| Test.java:757:38:757:40 | out : Intent [android.content.Intent.extras, ] : Bundle | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Bundle | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Bundle | Test.java:757:21:757:41 | getIntent_extras(...) : Bundle [] : Bundle | +| Test.java:757:38:757:40 | out : Intent [android.content.Intent.extras, ] : Bundle | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Bundle | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Bundle | Test.java:757:21:757:41 | getIntent_extras(...) : Bundle [] : Bundle | +| Test.java:769:44:769:51 | source(...) : String | Test.java:28:29:28:36 | k : String | Test.java:28:89:28:89 | b : Bundle [] : String | Test.java:769:24:769:52 | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:771:19:771:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:771:9:771:40 | getMapKey(...) | +| Test.java:771:36:771:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:771:19:771:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:771:36:771:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:771:19:771:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:778:38:778:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Object | Test.java:778:21:778:41 | getIntent_extras(...) : Bundle [] : Object | +| Test.java:778:38:778:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Object | Test.java:778:21:778:41 | getIntent_extras(...) : Bundle [] : Object | +| Test.java:790:65:790:72 | source(...) : String | Test.java:28:29:28:36 | k : String | Test.java:28:89:28:89 | b : Bundle [] : String | Test.java:790:45:790:73 | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:792:19:792:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:792:9:792:40 | getMapKey(...) | +| Test.java:792:36:792:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:792:19:792:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:792:36:792:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:792:19:792:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:799:38:799:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Object | Test.java:799:21:799:41 | getIntent_extras(...) : Bundle [] : Object | +| Test.java:799:38:799:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Object | Test.java:799:21:799:41 | getIntent_extras(...) : Bundle [] : Object | +| Test.java:813:19:813:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:813:9:813:40 | getMapKey(...) | +| Test.java:813:36:813:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:813:19:813:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:813:36:813:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:813:19:813:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:827:19:827:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:827:9:827:40 | getMapKey(...) | +| Test.java:827:36:827:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:827:19:827:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:827:36:827:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:827:19:827:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:834:38:834:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : ArrayList | Test.java:834:21:834:41 | getIntent_extras(...) : Bundle [] : ArrayList | +| Test.java:834:38:834:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : ArrayList | Test.java:834:21:834:41 | getIntent_extras(...) : Bundle [] : ArrayList | +| Test.java:848:19:848:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:848:9:848:40 | getMapKey(...) | +| Test.java:848:36:848:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:848:19:848:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:848:36:848:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:848:19:848:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:855:38:855:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : ArrayList | Test.java:855:21:855:41 | getIntent_extras(...) : Bundle [] : ArrayList | +| Test.java:855:38:855:40 | out : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : ArrayList | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : ArrayList | Test.java:855:21:855:41 | getIntent_extras(...) : Bundle [] : ArrayList | +| Test.java:867:44:867:51 | source(...) : String | Test.java:28:29:28:36 | k : String | Test.java:28:89:28:89 | b : Bundle [] : String | Test.java:867:24:867:52 | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:869:19:869:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:869:9:869:40 | getMapKey(...) | +| Test.java:869:36:869:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:869:19:869:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:869:36:869:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:869:19:869:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:876:38:876:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Object | Test.java:876:21:876:41 | getIntent_extras(...) : Bundle [] : Object | +| Test.java:876:38:876:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Object | Test.java:876:21:876:41 | getIntent_extras(...) : Bundle [] : Object | +| Test.java:888:65:888:72 | source(...) : String | Test.java:28:29:28:36 | k : String | Test.java:28:89:28:89 | b : Bundle [] : String | Test.java:888:45:888:73 | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:890:19:890:39 | getIntent_extras(...) : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:890:9:890:40 | getMapKey(...) | +| Test.java:890:36:890:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:890:19:890:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:890:36:890:38 | out : Intent [android.content.Intent.extras, ] : String | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : String | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : String | Test.java:890:19:890:39 | getIntent_extras(...) : Bundle [] : String | +| Test.java:897:38:897:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Object | Test.java:897:21:897:41 | getIntent_extras(...) : Bundle [] : Object | +| Test.java:897:38:897:40 | out : Intent [android.content.Intent.extras, ] : Object | Test.java:23:26:23:33 | i : Intent [android.content.Intent.extras, ] : Object | Test.java:23:45:23:57 | getExtras(...) : Bundle [] : Object | Test.java:897:21:897:41 | getIntent_extras(...) : Bundle [] : Object | +| Test.java:1064:52:1064:59 | source(...) : String | Test.java:28:29:28:36 | k : String | Test.java:28:89:28:89 | b : Bundle [] : String | Test.java:1064:32:1064:60 | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:1066:20:1066:22 | out : Set [] : String | Test.java:22:19:22:32 | it : Set [] : String | Test.java:22:44:22:63 | next(...) : String | Test.java:1066:9:1066:23 | getElement(...) | +| Test.java:1071:58:1071:65 | source(...) : String | Test.java:29:51:29:58 | k : String | Test.java:29:133:29:133 | b : PersistableBundle [] : String | Test.java:1071:27:1071:66 | newPersistableBundleWithMapKey(...) : PersistableBundle [] : String | +| Test.java:1073:19:1073:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1073:9:1073:22 | getMapKey(...) | +| Test.java:1087:19:1087:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1087:9:1087:22 | getMapKey(...) | +| Test.java:1094:19:1094:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1094:9:1094:22 | getMapKey(...) | +| Test.java:1101:19:1101:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1101:9:1101:22 | getMapKey(...) | +| Test.java:1108:19:1108:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1108:9:1108:22 | getMapKey(...) | +| Test.java:1115:19:1115:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1115:9:1115:22 | getMapKey(...) | +| Test.java:1122:19:1122:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1122:9:1122:22 | getMapKey(...) | +| Test.java:1129:19:1129:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1129:9:1129:22 | getMapKey(...) | +| Test.java:1136:19:1136:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1136:9:1136:22 | getMapKey(...) | +| Test.java:1143:19:1143:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1143:9:1143:22 | getMapKey(...) | +| Test.java:1157:19:1157:21 | out : BaseBundle [] : String | Test.java:24:19:24:30 | b : BaseBundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1157:9:1157:22 | getMapKey(...) | +| Test.java:1169:44:1169:51 | source(...) : String | Test.java:28:29:28:36 | k : String | Test.java:28:89:28:89 | b : Bundle [] : String | Test.java:1169:24:1169:52 | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:1171:19:1171:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1171:9:1171:22 | getMapKey(...) | +| Test.java:1183:58:1183:65 | source(...) : String | Test.java:29:51:29:58 | k : String | Test.java:29:133:29:133 | b : PersistableBundle [] : String | Test.java:1183:27:1183:66 | newPersistableBundleWithMapKey(...) : PersistableBundle [] : String | +| Test.java:1185:19:1185:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1185:9:1185:22 | getMapKey(...) | +| Test.java:1197:44:1197:51 | source(...) : String | Test.java:28:29:28:36 | k : String | Test.java:28:89:28:89 | b : Bundle [] : String | Test.java:1197:24:1197:52 | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:1199:19:1199:29 | (...)... : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1199:9:1199:30 | getMapKey(...) | +| Test.java:1211:44:1211:51 | source(...) : String | Test.java:28:29:28:36 | k : String | Test.java:28:89:28:89 | b : Bundle [] : String | Test.java:1211:24:1211:52 | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:1213:19:1213:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1213:9:1213:22 | getMapKey(...) | +| Test.java:1331:44:1331:51 | source(...) : String | Test.java:28:29:28:36 | k : String | Test.java:28:89:28:89 | b : Bundle [] : String | Test.java:1331:24:1331:52 | newBundleWithMapKey(...) : Bundle [] : String | +| Test.java:1333:19:1333:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1333:9:1333:22 | getMapKey(...) | +| Test.java:1347:19:1347:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1347:9:1347:22 | getMapKey(...) | +| Test.java:1361:19:1361:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1361:9:1361:22 | getMapKey(...) | +| Test.java:1375:19:1375:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1375:9:1375:22 | getMapKey(...) | +| Test.java:1382:19:1382:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1382:9:1382:22 | getMapKey(...) | +| Test.java:1396:19:1396:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1396:9:1396:22 | getMapKey(...) | +| Test.java:1403:19:1403:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1403:9:1403:22 | getMapKey(...) | +| Test.java:1417:19:1417:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1417:9:1417:22 | getMapKey(...) | +| Test.java:1431:19:1431:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1431:9:1431:22 | getMapKey(...) | +| Test.java:1445:19:1445:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1445:9:1445:22 | getMapKey(...) | +| Test.java:1459:19:1459:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1459:9:1459:22 | getMapKey(...) | +| Test.java:1466:19:1466:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1466:9:1466:22 | getMapKey(...) | +| Test.java:1473:19:1473:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1473:9:1473:22 | getMapKey(...) | +| Test.java:1480:19:1480:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1480:9:1480:22 | getMapKey(...) | +| Test.java:1494:19:1494:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1494:9:1494:22 | getMapKey(...) | +| Test.java:1508:19:1508:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1508:9:1508:22 | getMapKey(...) | +| Test.java:1522:19:1522:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1522:9:1522:22 | getMapKey(...) | +| Test.java:1536:19:1536:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1536:9:1536:22 | getMapKey(...) | +| Test.java:1543:19:1543:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1543:9:1543:22 | getMapKey(...) | +| Test.java:1550:19:1550:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1550:9:1550:22 | getMapKey(...) | +| Test.java:1557:19:1557:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1557:9:1557:22 | getMapKey(...) | +| Test.java:1564:19:1564:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1564:9:1564:22 | getMapKey(...) | +| Test.java:1578:19:1578:21 | out : Bundle [] : String | Test.java:24:19:24:30 | b : Bundle [] : String | Test.java:24:42:24:69 | next(...) : String | Test.java:1578:9:1578:22 | getMapKey(...) | +| Test.java:1592:19:1592:21 | out : Bundle [] : Object | Test.java:24:19:24:30 | b : Bundle [] : Object | Test.java:24:42:24:69 | next(...) : String | Test.java:1592:9:1592:22 | getMapKey(...) | +testFailures diff --git a/java/ql/test/library-tests/frameworks/android/notification/test.expected b/java/ql/test/library-tests/frameworks/android/notification/test.expected index e69de29bb2d..d202da47407 100644 --- a/java/ql/test/library-tests/frameworks/android/notification/test.expected +++ b/java/ql/test/library-tests/frameworks/android/notification/test.expected @@ -0,0 +1,2279 @@ +models +| 1 | Summary: android.app; Notification$Action; true; Action; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual | +| 2 | Summary: android.app; Notification$Action; true; getExtras; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue; value; manual | +| 3 | Summary: android.app; Notification$Action$Builder; true; Builder; (Notification$Action); ; Argument[0]; Argument[this]; taint; manual | +| 4 | Summary: android.app; Notification$Action$Builder; true; Builder; (Icon,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual | +| 5 | Summary: android.app; Notification$Action$Builder; true; Builder; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual | +| 6 | Summary: android.app; Notification$Action$Builder; true; addExtras; ; ; Argument[this]; ReturnValue; value; manual | +| 7 | Summary: android.app; Notification$Action$Builder; true; addExtras; ; ; Argument[0].MapKey; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual | +| 8 | Summary: android.app; Notification$Action$Builder; true; addExtras; ; ; Argument[0].MapValue; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual | +| 9 | Summary: android.app; Notification$Action$Builder; true; addRemoteInput; ; ; Argument[this]; ReturnValue; value; manual | +| 10 | Summary: android.app; Notification$Action$Builder; true; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 11 | Summary: android.app; Notification$Action$Builder; true; build; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue.SyntheticField[android.content.Intent.extras]; value; manual | +| 12 | Summary: android.app; Notification$Action$Builder; true; extend; ; ; Argument[this]; ReturnValue; value; manual | +| 13 | Summary: android.app; Notification$Action$Builder; true; getExtras; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue; value; manual | +| 14 | Summary: android.app; Notification$Action$Builder; true; setAllowGeneratedReplies; ; ; Argument[this]; ReturnValue; value; manual | +| 15 | Summary: android.app; Notification$Action$Builder; true; setAuthenticationRequired; ; ; Argument[this]; ReturnValue; value; manual | +| 16 | Summary: android.app; Notification$Action$Builder; true; setContextual; ; ; Argument[this]; ReturnValue; value; manual | +| 17 | Summary: android.app; Notification$Action$Builder; true; setSemanticAction; ; ; Argument[this]; ReturnValue; value; manual | +| 18 | Summary: android.app; Notification$BigPictureStyle; true; BigPictureStyle; (Notification$Builder); ; Argument[0]; Argument[this]; taint; manual | +| 19 | Summary: android.app; Notification$BigPictureStyle; true; bigLargeIcon; ; ; Argument[this]; ReturnValue; value; manual | +| 20 | Summary: android.app; Notification$BigPictureStyle; true; bigPicture; ; ; Argument[this]; ReturnValue; value; manual | +| 21 | Summary: android.app; Notification$BigPictureStyle; true; setBigContentTitle; ; ; Argument[this]; ReturnValue; value; manual | +| 22 | Summary: android.app; Notification$BigPictureStyle; true; setContentDescription; ; ; Argument[this]; ReturnValue; value; manual | +| 23 | Summary: android.app; Notification$BigPictureStyle; true; setSummaryText; ; ; Argument[this]; ReturnValue; value; manual | +| 24 | Summary: android.app; Notification$BigPictureStyle; true; showBigPictureWhenCollapsed; ; ; Argument[this]; ReturnValue; value; manual | +| 25 | Summary: android.app; Notification$BigTextStyle; true; BigTextStyle; (Notification$Builder); ; Argument[0]; Argument[this]; taint; manual | +| 26 | Summary: android.app; Notification$BigTextStyle; true; bigText; ; ; Argument[this]; ReturnValue; value; manual | +| 27 | Summary: android.app; Notification$BigTextStyle; true; setBigContentTitle; ; ; Argument[this]; ReturnValue; value; manual | +| 28 | Summary: android.app; Notification$BigTextStyle; true; setSummaryText; ; ; Argument[this]; ReturnValue; value; manual | +| 29 | Summary: android.app; Notification$Builder; true; addAction; ; ; Argument[this]; ReturnValue; value; manual | +| 30 | Summary: android.app; Notification$Builder; true; addAction; (Notification$Action); ; Argument[0]; Argument[this]; taint; manual | +| 31 | Summary: android.app; Notification$Builder; true; addAction; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual | +| 32 | Summary: android.app; Notification$Builder; true; addExtras; ; ; Argument[this]; ReturnValue; value; manual | +| 33 | Summary: android.app; Notification$Builder; true; addExtras; ; ; Argument[0].MapKey; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual | +| 34 | Summary: android.app; Notification$Builder; true; addExtras; ; ; Argument[0].MapValue; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual | +| 35 | Summary: android.app; Notification$Builder; true; addPerson; ; ; Argument[this]; ReturnValue; value; manual | +| 36 | Summary: android.app; Notification$Builder; true; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 37 | Summary: android.app; Notification$Builder; true; build; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue.Field[android.app.Notification.extras]; value; manual | +| 38 | Summary: android.app; Notification$Builder; true; extend; ; ; Argument[this]; ReturnValue; value; manual | +| 39 | Summary: android.app; Notification$Builder; true; getExtras; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue; value; manual | +| 40 | Summary: android.app; Notification$Builder; true; recoverBuilder; ; ; Argument[1]; ReturnValue; taint; manual | +| 41 | Summary: android.app; Notification$Builder; true; setActions; ; ; Argument[this]; ReturnValue; value; manual | +| 42 | Summary: android.app; Notification$Builder; true; setActions; ; ; Argument[0].ArrayElement; Argument[this]; taint; manual | +| 43 | Summary: android.app; Notification$Builder; true; setAutoCancel; ; ; Argument[this]; ReturnValue; value; manual | +| 44 | Summary: android.app; Notification$Builder; true; setBadgeIconType; ; ; Argument[this]; ReturnValue; value; manual | +| 45 | Summary: android.app; Notification$Builder; true; setBubbleMetadata; ; ; Argument[this]; ReturnValue; value; manual | +| 46 | Summary: android.app; Notification$Builder; true; setCategory; ; ; Argument[this]; ReturnValue; value; manual | +| 47 | Summary: android.app; Notification$Builder; true; setChannelId; ; ; Argument[this]; ReturnValue; value; manual | +| 48 | Summary: android.app; Notification$Builder; true; setChronometerCountDown; ; ; Argument[this]; ReturnValue; value; manual | +| 49 | Summary: android.app; Notification$Builder; true; setColor; ; ; Argument[this]; ReturnValue; value; manual | +| 50 | Summary: android.app; Notification$Builder; true; setColorized; ; ; Argument[this]; ReturnValue; value; manual | +| 51 | Summary: android.app; Notification$Builder; true; setContent; ; ; Argument[this]; ReturnValue; value; manual | +| 52 | Summary: android.app; Notification$Builder; true; setContentInfo; ; ; Argument[this]; ReturnValue; value; manual | +| 53 | Summary: android.app; Notification$Builder; true; setContentIntent; ; ; Argument[this]; ReturnValue; value; manual | +| 54 | Summary: android.app; Notification$Builder; true; setContentIntent; ; ; Argument[0]; Argument[this]; taint; manual | +| 55 | Summary: android.app; Notification$Builder; true; setContentText; ; ; Argument[this]; ReturnValue; value; manual | +| 56 | Summary: android.app; Notification$Builder; true; setContentTitle; ; ; Argument[this]; ReturnValue; value; manual | +| 57 | Summary: android.app; Notification$Builder; true; setCustomBigContentView; ; ; Argument[this]; ReturnValue; value; manual | +| 58 | Summary: android.app; Notification$Builder; true; setCustomHeadsUpContentView; ; ; Argument[this]; ReturnValue; value; manual | +| 59 | Summary: android.app; Notification$Builder; true; setDefaults; ; ; Argument[this]; ReturnValue; value; manual | +| 60 | Summary: android.app; Notification$Builder; true; setDeleteIntent; ; ; Argument[this]; ReturnValue; value; manual | +| 61 | Summary: android.app; Notification$Builder; true; setDeleteIntent; ; ; Argument[0]; Argument[this]; taint; manual | +| 62 | Summary: android.app; Notification$Builder; true; setExtras; ; ; Argument[this]; ReturnValue; value; manual | +| 63 | Summary: android.app; Notification$Builder; true; setExtras; ; ; Argument[0]; Argument[this].SyntheticField[android.content.Intent.extras]; value; manual | +| 64 | Summary: android.app; Notification$Builder; true; setFlag; ; ; Argument[this]; ReturnValue; value; manual | +| 65 | Summary: android.app; Notification$Builder; true; setForegroundServiceBehavior; ; ; Argument[this]; ReturnValue; value; manual | +| 66 | Summary: android.app; Notification$Builder; true; setFullScreenIntent; ; ; Argument[this]; ReturnValue; value; manual | +| 67 | Summary: android.app; Notification$Builder; true; setGroup; ; ; Argument[this]; ReturnValue; value; manual | +| 68 | Summary: android.app; Notification$Builder; true; setGroupAlertBehavior; ; ; Argument[this]; ReturnValue; value; manual | +| 69 | Summary: android.app; Notification$Builder; true; setGroupSummary; ; ; Argument[this]; ReturnValue; value; manual | +| 70 | Summary: android.app; Notification$Builder; true; setLargeIcon; ; ; Argument[this]; ReturnValue; value; manual | +| 71 | Summary: android.app; Notification$Builder; true; setLights; ; ; Argument[this]; ReturnValue; value; manual | +| 72 | Summary: android.app; Notification$Builder; true; setLocalOnly; ; ; Argument[this]; ReturnValue; value; manual | +| 73 | Summary: android.app; Notification$Builder; true; setLocusId; ; ; Argument[this]; ReturnValue; value; manual | +| 74 | Summary: android.app; Notification$Builder; true; setNumber; ; ; Argument[this]; ReturnValue; value; manual | +| 75 | Summary: android.app; Notification$Builder; true; setOngoing; ; ; Argument[this]; ReturnValue; value; manual | +| 76 | Summary: android.app; Notification$Builder; true; setOnlyAlertOnce; ; ; Argument[this]; ReturnValue; value; manual | +| 77 | Summary: android.app; Notification$Builder; true; setPriority; ; ; Argument[this]; ReturnValue; value; manual | +| 78 | Summary: android.app; Notification$Builder; true; setProgress; ; ; Argument[this]; ReturnValue; value; manual | +| 79 | Summary: android.app; Notification$Builder; true; setPublicVersion; ; ; Argument[this]; ReturnValue; value; manual | +| 80 | Summary: android.app; Notification$Builder; true; setPublicVersion; ; ; Argument[0]; Argument[this]; taint; manual | +| 81 | Summary: android.app; Notification$Builder; true; setRemoteInputHistory; ; ; Argument[this]; ReturnValue; value; manual | +| 82 | Summary: android.app; Notification$Builder; true; setSettingsText; ; ; Argument[this]; ReturnValue; value; manual | +| 83 | Summary: android.app; Notification$Builder; true; setShortcutId; ; ; Argument[this]; ReturnValue; value; manual | +| 84 | Summary: android.app; Notification$Builder; true; setShowWhen; ; ; Argument[this]; ReturnValue; value; manual | +| 85 | Summary: android.app; Notification$Builder; true; setSmallIcon; ; ; Argument[this]; ReturnValue; value; manual | +| 86 | Summary: android.app; Notification$Builder; true; setSortKey; ; ; Argument[this]; ReturnValue; value; manual | +| 87 | Summary: android.app; Notification$Builder; true; setSound; ; ; Argument[this]; ReturnValue; value; manual | +| 88 | Summary: android.app; Notification$Builder; true; setStyle; ; ; Argument[this]; ReturnValue; value; manual | +| 89 | Summary: android.app; Notification$Builder; true; setSubText; ; ; Argument[this]; ReturnValue; value; manual | +| 90 | Summary: android.app; Notification$Builder; true; setTicker; ; ; Argument[this]; ReturnValue; value; manual | +| 91 | Summary: android.app; Notification$Builder; true; setTimeoutAfter; ; ; Argument[this]; ReturnValue; value; manual | +| 92 | Summary: android.app; Notification$Builder; true; setUsesChronometer; ; ; Argument[this]; ReturnValue; value; manual | +| 93 | Summary: android.app; Notification$Builder; true; setVibrate; ; ; Argument[this]; ReturnValue; value; manual | +| 94 | Summary: android.app; Notification$Builder; true; setVisibility; ; ; Argument[this]; ReturnValue; value; manual | +| 95 | Summary: android.app; Notification$Builder; true; setWhen; ; ; Argument[this]; ReturnValue; value; manual | +| 96 | Summary: android.app; Notification$InboxStyle; true; InboxStyle; (Notification$Builder); ; Argument[0]; Argument[this]; taint; manual | +| 97 | Summary: android.app; Notification$InboxStyle; true; addLine; ; ; Argument[this]; ReturnValue; value; manual | +| 98 | Summary: android.app; Notification$InboxStyle; true; setBigContentTitle; ; ; Argument[this]; ReturnValue; value; manual | +| 99 | Summary: android.app; Notification$InboxStyle; true; setSummaryText; ; ; Argument[this]; ReturnValue; value; manual | +| 100 | Summary: android.app; Notification$MediaStyle; true; MediaStyle; (Notification$Builder); ; Argument[0]; Argument[this]; taint; manual | +| 101 | Summary: android.app; Notification$MediaStyle; true; setMediaSession; ; ; Argument[this]; ReturnValue; value; manual | +| 102 | Summary: android.app; Notification$MediaStyle; true; setShowActionsInCompactView; ; ; Argument[this]; ReturnValue; value; manual | +| 103 | Summary: android.app; Notification$Style; true; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 104 | Summary: android.os; BaseBundle; true; get; (String); ; Argument[this].MapValue; ReturnValue; value; manual | +| 105 | Summary: android.os; BaseBundle; true; putString; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 106 | Summary: android.os; BaseBundle; true; putString; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 107 | Summary: androidx.core.app; NotificationCompat$Action; true; Action; (IconCompat,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual | +| 108 | Summary: androidx.core.app; NotificationCompat$Action; true; Action; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual | +| 109 | Summary: androidx.core.app; NotificationCompat$Action; true; getExtras; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue; value; manual | +| 110 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; Builder; (NotificationCompat$Action); ; Argument[0]; Argument[this]; taint; manual | +| 111 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; Builder; (IconCompat,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual | +| 112 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; Builder; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual | +| 113 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; addExtras; ; ; Argument[this]; ReturnValue; value; manual | +| 114 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; addExtras; ; ; Argument[0].MapKey; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual | +| 115 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; addExtras; ; ; Argument[0].MapValue; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual | +| 116 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; addRemoteInput; ; ; Argument[this]; ReturnValue; value; manual | +| 117 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 118 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; build; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue.SyntheticField[android.content.Intent.extras]; value; manual | +| 119 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; extend; ; ; Argument[this]; ReturnValue; value; manual | +| 120 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; getExtras; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue; value; manual | +| 121 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; setAllowGeneratedReplies; ; ; Argument[this]; ReturnValue; value; manual | +| 122 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; setContextual; ; ; Argument[this]; ReturnValue; value; manual | +| 123 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; setSemanticAction; ; ; Argument[this]; ReturnValue; value; manual | +| 124 | Summary: androidx.core.app; NotificationCompat$BigPictureStyle; true; bigLargeIcon; ; ; Argument[this]; ReturnValue; value; manual | +| 125 | Summary: androidx.core.app; NotificationCompat$BigPictureStyle; true; bigPicture; ; ; Argument[this]; ReturnValue; value; manual | +| 126 | Summary: androidx.core.app; NotificationCompat$BigPictureStyle; true; setBigContentTitle; ; ; Argument[this]; ReturnValue; value; manual | +| 127 | Summary: androidx.core.app; NotificationCompat$BigPictureStyle; true; setSummaryText; ; ; Argument[this]; ReturnValue; value; manual | +| 128 | Summary: androidx.core.app; NotificationCompat$BigTextStyle; true; bigText; ; ; Argument[this]; ReturnValue; value; manual | +| 129 | Summary: androidx.core.app; NotificationCompat$BigTextStyle; true; setBigContentTitle; ; ; Argument[this]; ReturnValue; value; manual | +| 130 | Summary: androidx.core.app; NotificationCompat$BigTextStyle; true; setSummaryText; ; ; Argument[this]; ReturnValue; value; manual | +| 131 | Summary: androidx.core.app; NotificationCompat$Builder; true; addAction; ; ; Argument[this]; ReturnValue; value; manual | +| 132 | Summary: androidx.core.app; NotificationCompat$Builder; true; addAction; (NotificationCompat$Action); ; Argument[0]; Argument[this]; taint; manual | +| 133 | Summary: androidx.core.app; NotificationCompat$Builder; true; addAction; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual | +| 134 | Summary: androidx.core.app; NotificationCompat$Builder; true; addExtras; ; ; Argument[this]; ReturnValue; value; manual | +| 135 | Summary: androidx.core.app; NotificationCompat$Builder; true; addExtras; ; ; Argument[0].MapKey; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual | +| 136 | Summary: androidx.core.app; NotificationCompat$Builder; true; addExtras; ; ; Argument[0].MapValue; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual | +| 137 | Summary: androidx.core.app; NotificationCompat$Builder; true; addPerson; ; ; Argument[this]; ReturnValue; value; manual | +| 138 | Summary: androidx.core.app; NotificationCompat$Builder; true; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 139 | Summary: androidx.core.app; NotificationCompat$Builder; true; build; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue.Field[android.app.Notification.extras]; value; manual | +| 140 | Summary: androidx.core.app; NotificationCompat$Builder; true; extend; ; ; Argument[this]; ReturnValue; value; manual | +| 141 | Summary: androidx.core.app; NotificationCompat$Builder; true; getExtras; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue; value; manual | +| 142 | Summary: androidx.core.app; NotificationCompat$Builder; true; setAutoCancel; ; ; Argument[this]; ReturnValue; value; manual | +| 143 | Summary: androidx.core.app; NotificationCompat$Builder; true; setBadgeIconType; ; ; Argument[this]; ReturnValue; value; manual | +| 144 | Summary: androidx.core.app; NotificationCompat$Builder; true; setBubbleMetadata; ; ; Argument[this]; ReturnValue; value; manual | +| 145 | Summary: androidx.core.app; NotificationCompat$Builder; true; setCategory; ; ; Argument[this]; ReturnValue; value; manual | +| 146 | Summary: androidx.core.app; NotificationCompat$Builder; true; setChannelId; ; ; Argument[this]; ReturnValue; value; manual | +| 147 | Summary: androidx.core.app; NotificationCompat$Builder; true; setChronometerCountDown; ; ; Argument[this]; ReturnValue; value; manual | +| 148 | Summary: androidx.core.app; NotificationCompat$Builder; true; setColor; ; ; Argument[this]; ReturnValue; value; manual | +| 149 | Summary: androidx.core.app; NotificationCompat$Builder; true; setColorized; ; ; Argument[this]; ReturnValue; value; manual | +| 150 | Summary: androidx.core.app; NotificationCompat$Builder; true; setContent; ; ; Argument[this]; ReturnValue; value; manual | +| 151 | Summary: androidx.core.app; NotificationCompat$Builder; true; setContentInfo; ; ; Argument[this]; ReturnValue; value; manual | +| 152 | Summary: androidx.core.app; NotificationCompat$Builder; true; setContentIntent; ; ; Argument[this]; ReturnValue; value; manual | +| 153 | Summary: androidx.core.app; NotificationCompat$Builder; true; setContentIntent; ; ; Argument[0]; Argument[this]; taint; manual | +| 154 | Summary: androidx.core.app; NotificationCompat$Builder; true; setContentText; ; ; Argument[this]; ReturnValue; value; manual | +| 155 | Summary: androidx.core.app; NotificationCompat$Builder; true; setContentTitle; ; ; Argument[this]; ReturnValue; value; manual | +| 156 | Summary: androidx.core.app; NotificationCompat$Builder; true; setCustomBigContentView; ; ; Argument[this]; ReturnValue; value; manual | +| 157 | Summary: androidx.core.app; NotificationCompat$Builder; true; setCustomHeadsUpContentView; ; ; Argument[this]; ReturnValue; value; manual | +| 158 | Summary: androidx.core.app; NotificationCompat$Builder; true; setDefaults; ; ; Argument[this]; ReturnValue; value; manual | +| 159 | Summary: androidx.core.app; NotificationCompat$Builder; true; setDeleteIntent; ; ; Argument[this]; ReturnValue; value; manual | +| 160 | Summary: androidx.core.app; NotificationCompat$Builder; true; setDeleteIntent; ; ; Argument[0]; Argument[this]; taint; manual | +| 161 | Summary: androidx.core.app; NotificationCompat$Builder; true; setExtras; ; ; Argument[this]; ReturnValue; value; manual | +| 162 | Summary: androidx.core.app; NotificationCompat$Builder; true; setExtras; ; ; Argument[0]; Argument[this].SyntheticField[android.content.Intent.extras]; value; manual | +| 163 | Summary: androidx.core.app; NotificationCompat$Builder; true; setFullScreenIntent; ; ; Argument[this]; ReturnValue; value; manual | +| 164 | Summary: androidx.core.app; NotificationCompat$Builder; true; setGroup; ; ; Argument[this]; ReturnValue; value; manual | +| 165 | Summary: androidx.core.app; NotificationCompat$Builder; true; setGroupAlertBehavior; ; ; Argument[this]; ReturnValue; value; manual | +| 166 | Summary: androidx.core.app; NotificationCompat$Builder; true; setGroupSummary; ; ; Argument[this]; ReturnValue; value; manual | +| 167 | Summary: androidx.core.app; NotificationCompat$Builder; true; setLargeIcon; ; ; Argument[this]; ReturnValue; value; manual | +| 168 | Summary: androidx.core.app; NotificationCompat$Builder; true; setLights; ; ; Argument[this]; ReturnValue; value; manual | +| 169 | Summary: androidx.core.app; NotificationCompat$Builder; true; setLocalOnly; ; ; Argument[this]; ReturnValue; value; manual | +| 170 | Summary: androidx.core.app; NotificationCompat$Builder; true; setNumber; ; ; Argument[this]; ReturnValue; value; manual | +| 171 | Summary: androidx.core.app; NotificationCompat$Builder; true; setOngoing; ; ; Argument[this]; ReturnValue; value; manual | +| 172 | Summary: androidx.core.app; NotificationCompat$Builder; true; setOnlyAlertOnce; ; ; Argument[this]; ReturnValue; value; manual | +| 173 | Summary: androidx.core.app; NotificationCompat$Builder; true; setPriority; ; ; Argument[this]; ReturnValue; value; manual | +| 174 | Summary: androidx.core.app; NotificationCompat$Builder; true; setProgress; ; ; Argument[this]; ReturnValue; value; manual | +| 175 | Summary: androidx.core.app; NotificationCompat$Builder; true; setPublicVersion; ; ; Argument[this]; ReturnValue; value; manual | +| 176 | Summary: androidx.core.app; NotificationCompat$Builder; true; setPublicVersion; ; ; Argument[0]; Argument[this]; taint; manual | +| 177 | Summary: androidx.core.app; NotificationCompat$Builder; true; setRemoteInputHistory; ; ; Argument[this]; ReturnValue; value; manual | +| 178 | Summary: androidx.core.app; NotificationCompat$Builder; true; setShortcutId; ; ; Argument[this]; ReturnValue; value; manual | +| 179 | Summary: androidx.core.app; NotificationCompat$Builder; true; setShowWhen; ; ; Argument[this]; ReturnValue; value; manual | +| 180 | Summary: androidx.core.app; NotificationCompat$Builder; true; setSmallIcon; ; ; Argument[this]; ReturnValue; value; manual | +| 181 | Summary: androidx.core.app; NotificationCompat$Builder; true; setSortKey; ; ; Argument[this]; ReturnValue; value; manual | +| 182 | Summary: androidx.core.app; NotificationCompat$Builder; true; setSound; ; ; Argument[this]; ReturnValue; value; manual | +| 183 | Summary: androidx.core.app; NotificationCompat$Builder; true; setStyle; ; ; Argument[this]; ReturnValue; value; manual | +| 184 | Summary: androidx.core.app; NotificationCompat$Builder; true; setSubText; ; ; Argument[this]; ReturnValue; value; manual | +| 185 | Summary: androidx.core.app; NotificationCompat$Builder; true; setTicker; ; ; Argument[this]; ReturnValue; value; manual | +| 186 | Summary: androidx.core.app; NotificationCompat$Builder; true; setTimeoutAfter; ; ; Argument[this]; ReturnValue; value; manual | +| 187 | Summary: androidx.core.app; NotificationCompat$Builder; true; setUsesChronometer; ; ; Argument[this]; ReturnValue; value; manual | +| 188 | Summary: androidx.core.app; NotificationCompat$Builder; true; setVibrate; ; ; Argument[this]; ReturnValue; value; manual | +| 189 | Summary: androidx.core.app; NotificationCompat$Builder; true; setVisibility; ; ; Argument[this]; ReturnValue; value; manual | +| 190 | Summary: androidx.core.app; NotificationCompat$Builder; true; setWhen; ; ; Argument[this]; ReturnValue; value; manual | +| 191 | Summary: androidx.core.app; NotificationCompat$InboxStyle; true; addLine; ; ; Argument[this]; ReturnValue; value; manual | +| 192 | Summary: androidx.core.app; NotificationCompat$InboxStyle; true; setBigContentTitle; ; ; Argument[this]; ReturnValue; value; manual | +| 193 | Summary: androidx.core.app; NotificationCompat$InboxStyle; true; setSummaryText; ; ; Argument[this]; ReturnValue; value; manual | +| 194 | Summary: generatedtest; Test; false; getMapKeyDefault; (Bundle); ; Argument[0].MapKey; ReturnValue; value; manual | +edges +| Test.java:22:28:22:43 | container : Bundle [] : String | Test.java:23:10:23:18 | container : Bundle [] : String | provenance | | +| Test.java:23:10:23:18 | container : Bundle [] : String | Test.java:23:10:23:29 | get(...) : String | provenance | MaD:104 | +| Test.java:26:30:26:43 | element : Object | Test.java:28:20:28:35 | (...)... : String | provenance | | +| Test.java:28:3:28:8 | bundle [post update] : Bundle [] : String | Test.java:29:10:29:15 | bundle : Bundle [] : String | provenance | | +| Test.java:28:20:28:35 | (...)... : String | Test.java:28:3:28:8 | bundle [post update] : Bundle [] : String | provenance | MaD:105 | +| Test.java:32:32:32:45 | element : Object | Test.java:34:27:34:42 | (...)... : String | provenance | | +| Test.java:34:3:34:8 | bundle [post update] : Bundle [] : String | Test.java:35:10:35:15 | bundle : Bundle [] : String | provenance | | +| Test.java:34:27:34:42 | (...)... : String | Test.java:34:3:34:8 | bundle [post update] : Bundle [] : String | provenance | MaD:106 | +| Test.java:49:29:49:58 | (...)... : Action | Test.java:50:42:50:43 | in : Action | provenance | | +| Test.java:49:51:49:58 | source(...) : Object | Test.java:49:29:49:58 | (...)... : Action | provenance | | +| Test.java:50:10:50:44 | new Builder(...) : Builder | Test.java:51:9:51:11 | out | provenance | | +| Test.java:50:42:50:43 | in : Action | Test.java:50:10:50:44 | new Builder(...) : Builder | provenance | MaD:3 | +| Test.java:56:23:56:46 | (...)... : PendingIntent | Test.java:57:76:57:77 | in : PendingIntent | provenance | | +| Test.java:56:39:56:46 | source(...) : Object | Test.java:56:23:56:46 | (...)... : PendingIntent | provenance | | +| Test.java:57:10:57:78 | new Builder(...) : Builder | Test.java:58:9:58:11 | out | provenance | | +| Test.java:57:76:57:77 | in : PendingIntent | Test.java:57:10:57:78 | new Builder(...) : Builder | provenance | MaD:4 | +| Test.java:63:23:63:46 | (...)... : PendingIntent | Test.java:64:66:64:67 | in : PendingIntent | provenance | | +| Test.java:63:39:63:46 | source(...) : Object | Test.java:63:23:63:46 | (...)... : PendingIntent | provenance | | +| Test.java:64:10:64:68 | new Builder(...) : Builder | Test.java:65:9:65:11 | out | provenance | | +| Test.java:64:66:64:67 | in : PendingIntent | Test.java:64:10:64:68 | new Builder(...) : Builder | provenance | MaD:5 | +| Test.java:70:37:70:74 | (...)... : Builder | Test.java:71:10:71:11 | in : Builder | provenance | | +| Test.java:70:67:70:74 | source(...) : Object | Test.java:70:37:70:74 | (...)... : Builder | provenance | | +| Test.java:71:10:71:11 | in : Builder | Test.java:71:10:71:27 | addExtras(...) : Builder | provenance | MaD:6 | +| Test.java:71:10:71:27 | addExtras(...) : Builder | Test.java:72:9:72:11 | out | provenance | | +| Test.java:79:16:79:54 | (...)... : Bundle [] : String | Test.java:80:18:80:19 | in : Bundle [] : String | provenance | | +| Test.java:79:25:79:54 | newWithMapKeyDefault(...) : Bundle [] : String | Test.java:79:16:79:54 | (...)... : Bundle [] : String | provenance | | +| Test.java:79:46:79:53 | source(...) : Object | Test.java:26:30:26:43 | element : Object | provenance | | +| Test.java:79:46:79:53 | source(...) : Object | Test.java:79:25:79:54 | newWithMapKeyDefault(...) : Bundle [] : String | provenance | MaD:105 | +| Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:80:18:80:19 | in : Bundle [] : String | Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:7 | +| Test.java:80:18:80:19 | in : Bundle [] : String | Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:7 | +| Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, ] : String | Test.java:81:26:81:40 | getExtras(...) : Bundle [] : String | provenance | MaD:13 | +| Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, ] : String | Test.java:81:26:81:40 | getExtras(...) : Bundle [] : String | provenance | MaD:13 | +| Test.java:81:26:81:40 | getExtras(...) : Bundle [] : String | Test.java:81:9:81:41 | getMapKeyDefault(...) | provenance | MaD:194 | +| Test.java:88:16:88:56 | (...)... : Bundle [] : String | Test.java:89:18:89:19 | in : Bundle [] : String | provenance | | +| Test.java:88:25:88:56 | newWithMapValueDefault(...) : Bundle [] : String | Test.java:88:16:88:56 | (...)... : Bundle [] : String | provenance | | +| Test.java:88:48:88:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | provenance | | +| Test.java:88:48:88:55 | source(...) : Object | Test.java:88:25:88:56 | newWithMapValueDefault(...) : Bundle [] : String | provenance | MaD:106 | +| Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:89:18:89:19 | in : Bundle [] : String | Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:8 | +| Test.java:89:18:89:19 | in : Bundle [] : String | Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:8 | +| Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, ] : String | Test.java:90:28:90:42 | getExtras(...) : Bundle [] : String | provenance | MaD:13 | +| Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, ] : String | Test.java:90:28:90:42 | getExtras(...) : Bundle [] : String | provenance | MaD:13 | +| Test.java:90:28:90:42 | getExtras(...) : Bundle [] : String | Test.java:22:28:22:43 | container : Bundle [] : String | provenance | | +| Test.java:90:28:90:42 | getExtras(...) : Bundle [] : String | Test.java:90:9:90:43 | getMapValueDefault(...) | provenance | MaD:104 | +| Test.java:95:37:95:74 | (...)... : Builder | Test.java:96:10:96:11 | in : Builder | provenance | | +| Test.java:95:67:95:74 | source(...) : Object | Test.java:95:37:95:74 | (...)... : Builder | provenance | | +| Test.java:96:10:96:11 | in : Builder | Test.java:96:10:96:32 | addRemoteInput(...) : Builder | provenance | MaD:9 | +| Test.java:96:10:96:32 | addRemoteInput(...) : Builder | Test.java:97:9:97:11 | out | provenance | | +| Test.java:102:37:102:74 | (...)... : Builder | Test.java:103:10:103:11 | in : Builder | provenance | | +| Test.java:102:67:102:74 | source(...) : Object | Test.java:102:37:102:74 | (...)... : Builder | provenance | | +| Test.java:103:10:103:11 | in : Builder | Test.java:103:10:103:19 | build(...) : Action | provenance | MaD:10 | +| Test.java:103:10:103:19 | build(...) : Action | Test.java:104:9:104:11 | out | provenance | | +| Test.java:112:16:112:56 | (...)... : Bundle [] : String | Test.java:113:22:113:23 | in : Bundle [] : String | provenance | | +| Test.java:112:25:112:56 | newWithMapValueDefault(...) : Bundle [] : String | Test.java:112:16:112:56 | (...)... : Bundle [] : String | provenance | | +| Test.java:112:48:112:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | provenance | | +| Test.java:112:48:112:55 | source(...) : Object | Test.java:112:25:112:56 | newWithMapValueDefault(...) : Bundle [] : String | provenance | MaD:106 | +| Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:113:22:113:23 | in : Bundle [] : String | Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:8 | +| Test.java:113:22:113:23 | in : Bundle [] : String | Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:8 | +| Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, ] : String | Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, ] : String | provenance | MaD:11 | +| Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, ] : String | Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, ] : String | provenance | MaD:11 | +| Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, ] : String | Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, ] : String | provenance | MaD:11 | +| Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, ] : String | Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, ] : String | provenance | | +| Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, ] : String | Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, ] : String | provenance | | +| Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, ] : String | Test.java:115:28:115:42 | getExtras(...) : Bundle [] : String | provenance | MaD:2 | +| Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, ] : String | Test.java:115:28:115:42 | getExtras(...) : Bundle [] : String | provenance | MaD:2 | +| Test.java:115:28:115:42 | getExtras(...) : Bundle [] : String | Test.java:22:28:22:43 | container : Bundle [] : String | provenance | | +| Test.java:115:28:115:42 | getExtras(...) : Bundle [] : String | Test.java:115:9:115:43 | getMapValueDefault(...) | provenance | MaD:104 | +| Test.java:120:37:120:74 | (...)... : Builder | Test.java:121:10:121:11 | in : Builder | provenance | | +| Test.java:120:67:120:74 | source(...) : Object | Test.java:120:37:120:74 | (...)... : Builder | provenance | | +| Test.java:121:10:121:11 | in : Builder | Test.java:121:10:121:24 | extend(...) : Builder | provenance | MaD:12 | +| Test.java:121:10:121:24 | extend(...) : Builder | Test.java:122:9:122:11 | out | provenance | | +| Test.java:128:37:128:74 | (...)... : Builder | Test.java:129:10:129:11 | in : Builder | provenance | | +| Test.java:128:67:128:74 | source(...) : Object | Test.java:128:37:128:74 | (...)... : Builder | provenance | | +| Test.java:129:10:129:11 | in : Builder | Test.java:129:10:129:23 | getExtras(...) : Bundle | provenance | MaD:13 | +| Test.java:129:10:129:23 | getExtras(...) : Bundle | Test.java:130:9:130:11 | out | provenance | | +| Test.java:135:37:135:74 | (...)... : Builder | Test.java:136:10:136:11 | in : Builder | provenance | | +| Test.java:135:67:135:74 | source(...) : Object | Test.java:135:37:135:74 | (...)... : Builder | provenance | | +| Test.java:136:10:136:11 | in : Builder | Test.java:136:10:136:43 | setAllowGeneratedReplies(...) : Builder | provenance | MaD:14 | +| Test.java:136:10:136:43 | setAllowGeneratedReplies(...) : Builder | Test.java:137:9:137:11 | out | provenance | | +| Test.java:142:37:142:74 | (...)... : Builder | Test.java:143:10:143:11 | in : Builder | provenance | | +| Test.java:142:67:142:74 | source(...) : Object | Test.java:142:37:142:74 | (...)... : Builder | provenance | | +| Test.java:143:10:143:11 | in : Builder | Test.java:143:10:143:44 | setAuthenticationRequired(...) : Builder | provenance | MaD:15 | +| Test.java:143:10:143:44 | setAuthenticationRequired(...) : Builder | Test.java:144:9:144:11 | out | provenance | | +| Test.java:149:37:149:74 | (...)... : Builder | Test.java:150:10:150:11 | in : Builder | provenance | | +| Test.java:149:67:149:74 | source(...) : Object | Test.java:149:37:149:74 | (...)... : Builder | provenance | | +| Test.java:150:10:150:11 | in : Builder | Test.java:150:10:150:32 | setContextual(...) : Builder | provenance | MaD:16 | +| Test.java:150:10:150:32 | setContextual(...) : Builder | Test.java:151:9:151:11 | out | provenance | | +| Test.java:156:37:156:74 | (...)... : Builder | Test.java:157:10:157:11 | in : Builder | provenance | | +| Test.java:156:67:156:74 | source(...) : Object | Test.java:156:37:156:74 | (...)... : Builder | provenance | | +| Test.java:157:10:157:11 | in : Builder | Test.java:157:10:157:32 | setSemanticAction(...) : Builder | provenance | MaD:17 | +| Test.java:157:10:157:32 | setSemanticAction(...) : Builder | Test.java:158:9:158:11 | out | provenance | | +| Test.java:163:23:163:46 | (...)... : PendingIntent | Test.java:164:43:164:44 | in : PendingIntent | provenance | | +| Test.java:163:39:163:46 | source(...) : Object | Test.java:163:23:163:46 | (...)... : PendingIntent | provenance | | +| Test.java:164:10:164:45 | new Action(...) : Action | Test.java:165:9:165:11 | out | provenance | | +| Test.java:164:43:164:44 | in : PendingIntent | Test.java:164:10:164:45 | new Action(...) : Action | provenance | MaD:1 | +| Test.java:170:29:170:58 | (...)... : Action | Test.java:171:18:171:19 | in : Action | provenance | | +| Test.java:170:51:170:58 | source(...) : Object | Test.java:170:29:170:58 | (...)... : Action | provenance | | +| Test.java:171:4:171:6 | out [post update] : Builder | Test.java:172:9:172:11 | out | provenance | | +| Test.java:171:18:171:19 | in : Action | Test.java:171:4:171:6 | out [post update] : Builder | provenance | MaD:30 | +| Test.java:177:23:177:46 | (...)... : PendingIntent | Test.java:178:27:178:28 | in : PendingIntent | provenance | | +| Test.java:177:39:177:46 | source(...) : Object | Test.java:177:23:177:46 | (...)... : PendingIntent | provenance | | +| Test.java:178:4:178:6 | out [post update] : Builder | Test.java:179:9:179:11 | out | provenance | | +| Test.java:178:27:178:28 | in : PendingIntent | Test.java:178:4:178:6 | out [post update] : Builder | provenance | MaD:31 | +| Test.java:184:30:184:60 | (...)... : Builder | Test.java:185:10:185:11 | in : Builder | provenance | | +| Test.java:184:53:184:60 | source(...) : Object | Test.java:184:30:184:60 | (...)... : Builder | provenance | | +| Test.java:185:10:185:11 | in : Builder | Test.java:185:10:185:27 | addAction(...) : Builder | provenance | MaD:29 | +| Test.java:185:10:185:27 | addAction(...) : Builder | Test.java:186:9:186:11 | out | provenance | | +| Test.java:191:30:191:60 | (...)... : Builder | Test.java:192:10:192:11 | in : Builder | provenance | | +| Test.java:191:53:191:60 | source(...) : Object | Test.java:191:30:191:60 | (...)... : Builder | provenance | | +| Test.java:192:10:192:11 | in : Builder | Test.java:192:10:192:36 | addAction(...) : Builder | provenance | MaD:29 | +| Test.java:192:10:192:36 | addAction(...) : Builder | Test.java:193:9:193:11 | out | provenance | | +| Test.java:198:30:198:60 | (...)... : Builder | Test.java:199:10:199:11 | in : Builder | provenance | | +| Test.java:198:53:198:60 | source(...) : Object | Test.java:198:30:198:60 | (...)... : Builder | provenance | | +| Test.java:199:10:199:11 | in : Builder | Test.java:199:10:199:27 | addExtras(...) : Builder | provenance | MaD:32 | +| Test.java:199:10:199:27 | addExtras(...) : Builder | Test.java:200:9:200:11 | out | provenance | | +| Test.java:206:16:206:54 | (...)... : Bundle [] : String | Test.java:207:18:207:19 | in : Bundle [] : String | provenance | | +| Test.java:206:25:206:54 | newWithMapKeyDefault(...) : Bundle [] : String | Test.java:206:16:206:54 | (...)... : Bundle [] : String | provenance | | +| Test.java:206:46:206:53 | source(...) : Object | Test.java:26:30:26:43 | element : Object | provenance | | +| Test.java:206:46:206:53 | source(...) : Object | Test.java:206:25:206:54 | newWithMapKeyDefault(...) : Bundle [] : String | provenance | MaD:105 | +| Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:208:26:208:28 | out : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:208:26:208:28 | out : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:207:18:207:19 | in : Bundle [] : String | Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:33 | +| Test.java:207:18:207:19 | in : Bundle [] : String | Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:33 | +| Test.java:208:26:208:28 | out : Builder [android.content.Intent.extras, ] : String | Test.java:208:26:208:40 | getExtras(...) : Bundle [] : String | provenance | MaD:39 | +| Test.java:208:26:208:28 | out : Builder [android.content.Intent.extras, ] : String | Test.java:208:26:208:40 | getExtras(...) : Bundle [] : String | provenance | MaD:39 | +| Test.java:208:26:208:40 | getExtras(...) : Bundle [] : String | Test.java:208:9:208:41 | getMapKeyDefault(...) | provenance | MaD:194 | +| Test.java:214:16:214:56 | (...)... : Bundle [] : String | Test.java:215:18:215:19 | in : Bundle [] : String | provenance | | +| Test.java:214:25:214:56 | newWithMapValueDefault(...) : Bundle [] : String | Test.java:214:16:214:56 | (...)... : Bundle [] : String | provenance | | +| Test.java:214:48:214:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | provenance | | +| Test.java:214:48:214:55 | source(...) : Object | Test.java:214:25:214:56 | newWithMapValueDefault(...) : Bundle [] : String | provenance | MaD:106 | +| Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:216:28:216:30 | out : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:216:28:216:30 | out : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:215:18:215:19 | in : Bundle [] : String | Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:34 | +| Test.java:215:18:215:19 | in : Bundle [] : String | Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:34 | +| Test.java:216:28:216:30 | out : Builder [android.content.Intent.extras, ] : String | Test.java:216:28:216:42 | getExtras(...) : Bundle [] : String | provenance | MaD:39 | +| Test.java:216:28:216:30 | out : Builder [android.content.Intent.extras, ] : String | Test.java:216:28:216:42 | getExtras(...) : Bundle [] : String | provenance | MaD:39 | +| Test.java:216:28:216:42 | getExtras(...) : Bundle [] : String | Test.java:22:28:22:43 | container : Bundle [] : String | provenance | | +| Test.java:216:28:216:42 | getExtras(...) : Bundle [] : String | Test.java:216:9:216:43 | getMapValueDefault(...) | provenance | MaD:104 | +| Test.java:221:30:221:60 | (...)... : Builder | Test.java:222:10:222:11 | in : Builder | provenance | | +| Test.java:221:53:221:60 | source(...) : Object | Test.java:221:30:221:60 | (...)... : Builder | provenance | | +| Test.java:222:10:222:11 | in : Builder | Test.java:222:10:222:36 | addPerson(...) : Builder | provenance | MaD:35 | +| Test.java:222:10:222:36 | addPerson(...) : Builder | Test.java:223:9:223:11 | out | provenance | | +| Test.java:228:30:228:60 | (...)... : Builder | Test.java:229:10:229:11 | in : Builder | provenance | | +| Test.java:228:53:228:60 | source(...) : Object | Test.java:228:30:228:60 | (...)... : Builder | provenance | | +| Test.java:229:10:229:11 | in : Builder | Test.java:229:10:229:36 | addPerson(...) : Builder | provenance | MaD:35 | +| Test.java:229:10:229:36 | addPerson(...) : Builder | Test.java:230:9:230:11 | out | provenance | | +| Test.java:235:30:235:60 | (...)... : Builder | Test.java:236:10:236:11 | in : Builder | provenance | | +| Test.java:235:53:235:60 | source(...) : Object | Test.java:235:30:235:60 | (...)... : Builder | provenance | | +| Test.java:236:10:236:11 | in : Builder | Test.java:236:10:236:19 | build(...) : Notification | provenance | MaD:36 | +| Test.java:236:10:236:19 | build(...) : Notification | Test.java:237:9:237:11 | out | provenance | | +| Test.java:244:16:244:56 | (...)... : Bundle [] : String | Test.java:245:22:245:23 | in : Bundle [] : String | provenance | | +| Test.java:244:25:244:56 | newWithMapValueDefault(...) : Bundle [] : String | Test.java:244:16:244:56 | (...)... : Bundle [] : String | provenance | | +| Test.java:244:48:244:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | provenance | | +| Test.java:244:48:244:55 | source(...) : Object | Test.java:244:25:244:56 | newWithMapValueDefault(...) : Bundle [] : String | provenance | MaD:106 | +| Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:245:22:245:23 | in : Bundle [] : String | Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:34 | +| Test.java:245:22:245:23 | in : Bundle [] : String | Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:34 | +| Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, ] : String | Test.java:246:10:246:24 | build(...) : Notification [extras, ] : String | provenance | MaD:37 | +| Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, ] : String | Test.java:246:10:246:24 | build(...) : Notification [extras, ] : String | provenance | MaD:37 | +| Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, ] : String | Test.java:246:10:246:24 | build(...) : Notification [extras, ] : String | provenance | MaD:37 | +| Test.java:246:10:246:24 | build(...) : Notification [extras, ] : String | Test.java:247:28:247:30 | out : Notification [extras, ] : String | provenance | | +| Test.java:246:10:246:24 | build(...) : Notification [extras, ] : String | Test.java:247:28:247:30 | out : Notification [extras, ] : String | provenance | | +| Test.java:247:28:247:30 | out : Notification [extras, ] : String | Test.java:247:28:247:37 | out.extras : Bundle [] : String | provenance | | +| Test.java:247:28:247:30 | out : Notification [extras, ] : String | Test.java:247:28:247:37 | out.extras : Bundle [] : String | provenance | | +| Test.java:247:28:247:37 | out.extras : Bundle [] : String | Test.java:22:28:22:43 | container : Bundle [] : String | provenance | | +| Test.java:247:28:247:37 | out.extras : Bundle [] : String | Test.java:247:9:247:38 | getMapValueDefault(...) | provenance | MaD:104 | +| Test.java:252:30:252:60 | (...)... : Builder | Test.java:253:10:253:11 | in : Builder | provenance | | +| Test.java:252:53:252:60 | source(...) : Object | Test.java:252:30:252:60 | (...)... : Builder | provenance | | +| Test.java:253:10:253:11 | in : Builder | Test.java:253:10:253:24 | extend(...) : Builder | provenance | MaD:38 | +| Test.java:253:10:253:24 | extend(...) : Builder | Test.java:254:9:254:11 | out | provenance | | +| Test.java:260:30:260:60 | (...)... : Builder | Test.java:261:10:261:11 | in : Builder | provenance | | +| Test.java:260:53:260:60 | source(...) : Object | Test.java:260:30:260:60 | (...)... : Builder | provenance | | +| Test.java:261:10:261:11 | in : Builder | Test.java:261:10:261:23 | getExtras(...) : Bundle | provenance | MaD:39 | +| Test.java:261:10:261:23 | getExtras(...) : Bundle | Test.java:262:9:262:11 | out | provenance | | +| Test.java:267:22:267:44 | (...)... : Notification | Test.java:268:52:268:53 | in : Notification | provenance | | +| Test.java:267:37:267:44 | source(...) : Object | Test.java:267:22:267:44 | (...)... : Notification | provenance | | +| Test.java:268:10:268:54 | recoverBuilder(...) : Builder | Test.java:269:9:269:11 | out | provenance | | +| Test.java:268:52:268:53 | in : Notification | Test.java:268:10:268:54 | recoverBuilder(...) : Builder | provenance | MaD:40 | +| Test.java:274:30:274:60 | (...)... : Builder | Test.java:275:10:275:11 | in : Builder | provenance | | +| Test.java:274:53:274:60 | source(...) : Object | Test.java:274:30:274:60 | (...)... : Builder | provenance | | +| Test.java:275:10:275:11 | in : Builder | Test.java:275:10:275:52 | setActions(...) : Builder | provenance | MaD:41 | +| Test.java:275:10:275:52 | setActions(...) : Builder | Test.java:276:9:276:11 | out | provenance | | +| Test.java:282:31:283:36 | (...)... : Action[] [[]] : Action | Test.java:284:19:284:20 | in : Action[] [[]] : Action | provenance | | +| Test.java:282:55:283:36 | {...} : Action[] [[]] : Action | Test.java:282:31:283:36 | (...)... : Action[] [[]] : Action | provenance | | +| Test.java:283:6:283:35 | (...)... : Action | Test.java:282:55:283:36 | {...} : Action[] [[]] : Action | provenance | | +| Test.java:283:28:283:35 | source(...) : Object | Test.java:283:6:283:35 | (...)... : Action | provenance | | +| Test.java:284:4:284:6 | out [post update] : Builder | Test.java:285:9:285:11 | out | provenance | | +| Test.java:284:19:284:20 | in : Action[] [[]] : Action | Test.java:284:4:284:6 | out [post update] : Builder | provenance | MaD:42 | +| Test.java:290:30:290:60 | (...)... : Builder | Test.java:291:10:291:11 | in : Builder | provenance | | +| Test.java:290:53:290:60 | source(...) : Object | Test.java:290:30:290:60 | (...)... : Builder | provenance | | +| Test.java:291:10:291:11 | in : Builder | Test.java:291:10:291:32 | setAutoCancel(...) : Builder | provenance | MaD:43 | +| Test.java:291:10:291:32 | setAutoCancel(...) : Builder | Test.java:292:9:292:11 | out | provenance | | +| Test.java:297:30:297:60 | (...)... : Builder | Test.java:298:10:298:11 | in : Builder | provenance | | +| Test.java:297:53:297:60 | source(...) : Object | Test.java:297:30:297:60 | (...)... : Builder | provenance | | +| Test.java:298:10:298:11 | in : Builder | Test.java:298:10:298:31 | setBadgeIconType(...) : Builder | provenance | MaD:44 | +| Test.java:298:10:298:31 | setBadgeIconType(...) : Builder | Test.java:299:9:299:11 | out | provenance | | +| Test.java:304:30:304:60 | (...)... : Builder | Test.java:305:10:305:11 | in : Builder | provenance | | +| Test.java:304:53:304:60 | source(...) : Object | Test.java:304:30:304:60 | (...)... : Builder | provenance | | +| Test.java:305:10:305:11 | in : Builder | Test.java:305:10:305:35 | setBubbleMetadata(...) : Builder | provenance | MaD:45 | +| Test.java:305:10:305:35 | setBubbleMetadata(...) : Builder | Test.java:306:9:306:11 | out | provenance | | +| Test.java:311:30:311:60 | (...)... : Builder | Test.java:312:10:312:11 | in : Builder | provenance | | +| Test.java:311:53:311:60 | source(...) : Object | Test.java:311:30:311:60 | (...)... : Builder | provenance | | +| Test.java:312:10:312:11 | in : Builder | Test.java:312:10:312:29 | setCategory(...) : Builder | provenance | MaD:46 | +| Test.java:312:10:312:29 | setCategory(...) : Builder | Test.java:313:9:313:11 | out | provenance | | +| Test.java:318:30:318:60 | (...)... : Builder | Test.java:319:10:319:11 | in : Builder | provenance | | +| Test.java:318:53:318:60 | source(...) : Object | Test.java:318:30:318:60 | (...)... : Builder | provenance | | +| Test.java:319:10:319:11 | in : Builder | Test.java:319:10:319:30 | setChannelId(...) : Builder | provenance | MaD:47 | +| Test.java:319:10:319:30 | setChannelId(...) : Builder | Test.java:320:9:320:11 | out | provenance | | +| Test.java:325:30:325:60 | (...)... : Builder | Test.java:326:10:326:11 | in : Builder | provenance | | +| Test.java:325:53:325:60 | source(...) : Object | Test.java:325:30:325:60 | (...)... : Builder | provenance | | +| Test.java:326:10:326:11 | in : Builder | Test.java:326:10:326:42 | setChronometerCountDown(...) : Builder | provenance | MaD:48 | +| Test.java:326:10:326:42 | setChronometerCountDown(...) : Builder | Test.java:327:9:327:11 | out | provenance | | +| Test.java:332:30:332:60 | (...)... : Builder | Test.java:333:10:333:11 | in : Builder | provenance | | +| Test.java:332:53:332:60 | source(...) : Object | Test.java:332:30:332:60 | (...)... : Builder | provenance | | +| Test.java:333:10:333:11 | in : Builder | Test.java:333:10:333:23 | setColor(...) : Builder | provenance | MaD:49 | +| Test.java:333:10:333:23 | setColor(...) : Builder | Test.java:334:9:334:11 | out | provenance | | +| Test.java:339:30:339:60 | (...)... : Builder | Test.java:340:10:340:11 | in : Builder | provenance | | +| Test.java:339:53:339:60 | source(...) : Object | Test.java:339:30:339:60 | (...)... : Builder | provenance | | +| Test.java:340:10:340:11 | in : Builder | Test.java:340:10:340:31 | setColorized(...) : Builder | provenance | MaD:50 | +| Test.java:340:10:340:31 | setColorized(...) : Builder | Test.java:341:9:341:11 | out | provenance | | +| Test.java:346:30:346:60 | (...)... : Builder | Test.java:347:10:347:11 | in : Builder | provenance | | +| Test.java:346:53:346:60 | source(...) : Object | Test.java:346:30:346:60 | (...)... : Builder | provenance | | +| Test.java:347:10:347:11 | in : Builder | Test.java:347:10:347:28 | setContent(...) : Builder | provenance | MaD:51 | +| Test.java:347:10:347:28 | setContent(...) : Builder | Test.java:348:9:348:11 | out | provenance | | +| Test.java:353:30:353:60 | (...)... : Builder | Test.java:354:10:354:11 | in : Builder | provenance | | +| Test.java:353:53:353:60 | source(...) : Object | Test.java:353:30:353:60 | (...)... : Builder | provenance | | +| Test.java:354:10:354:11 | in : Builder | Test.java:354:10:354:32 | setContentInfo(...) : Builder | provenance | MaD:52 | +| Test.java:354:10:354:32 | setContentInfo(...) : Builder | Test.java:355:9:355:11 | out | provenance | | +| Test.java:360:30:360:60 | (...)... : Builder | Test.java:361:10:361:11 | in : Builder | provenance | | +| Test.java:360:53:360:60 | source(...) : Object | Test.java:360:30:360:60 | (...)... : Builder | provenance | | +| Test.java:361:10:361:11 | in : Builder | Test.java:361:10:361:34 | setContentIntent(...) : Builder | provenance | MaD:53 | +| Test.java:361:10:361:34 | setContentIntent(...) : Builder | Test.java:362:9:362:11 | out | provenance | | +| Test.java:367:23:367:46 | (...)... : PendingIntent | Test.java:368:25:368:26 | in : PendingIntent | provenance | | +| Test.java:367:39:367:46 | source(...) : Object | Test.java:367:23:367:46 | (...)... : PendingIntent | provenance | | +| Test.java:368:4:368:6 | out [post update] : Builder | Test.java:369:9:369:11 | out | provenance | | +| Test.java:368:25:368:26 | in : PendingIntent | Test.java:368:4:368:6 | out [post update] : Builder | provenance | MaD:54 | +| Test.java:374:30:374:60 | (...)... : Builder | Test.java:375:10:375:11 | in : Builder | provenance | | +| Test.java:374:53:374:60 | source(...) : Object | Test.java:374:30:374:60 | (...)... : Builder | provenance | | +| Test.java:375:10:375:11 | in : Builder | Test.java:375:10:375:32 | setContentText(...) : Builder | provenance | MaD:55 | +| Test.java:375:10:375:32 | setContentText(...) : Builder | Test.java:376:9:376:11 | out | provenance | | +| Test.java:381:30:381:60 | (...)... : Builder | Test.java:382:10:382:11 | in : Builder | provenance | | +| Test.java:381:53:381:60 | source(...) : Object | Test.java:381:30:381:60 | (...)... : Builder | provenance | | +| Test.java:382:10:382:11 | in : Builder | Test.java:382:10:382:33 | setContentTitle(...) : Builder | provenance | MaD:56 | +| Test.java:382:10:382:33 | setContentTitle(...) : Builder | Test.java:383:9:383:11 | out | provenance | | +| Test.java:388:30:388:60 | (...)... : Builder | Test.java:389:10:389:11 | in : Builder | provenance | | +| Test.java:388:53:388:60 | source(...) : Object | Test.java:388:30:388:60 | (...)... : Builder | provenance | | +| Test.java:389:10:389:11 | in : Builder | Test.java:389:10:389:41 | setCustomBigContentView(...) : Builder | provenance | MaD:57 | +| Test.java:389:10:389:41 | setCustomBigContentView(...) : Builder | Test.java:390:9:390:11 | out | provenance | | +| Test.java:395:30:395:60 | (...)... : Builder | Test.java:396:10:396:11 | in : Builder | provenance | | +| Test.java:395:53:395:60 | source(...) : Object | Test.java:395:30:395:60 | (...)... : Builder | provenance | | +| Test.java:396:10:396:11 | in : Builder | Test.java:396:10:396:45 | setCustomHeadsUpContentView(...) : Builder | provenance | MaD:58 | +| Test.java:396:10:396:45 | setCustomHeadsUpContentView(...) : Builder | Test.java:397:9:397:11 | out | provenance | | +| Test.java:402:30:402:60 | (...)... : Builder | Test.java:403:10:403:11 | in : Builder | provenance | | +| Test.java:402:53:402:60 | source(...) : Object | Test.java:402:30:402:60 | (...)... : Builder | provenance | | +| Test.java:403:10:403:11 | in : Builder | Test.java:403:10:403:26 | setDefaults(...) : Builder | provenance | MaD:59 | +| Test.java:403:10:403:26 | setDefaults(...) : Builder | Test.java:404:9:404:11 | out | provenance | | +| Test.java:409:30:409:60 | (...)... : Builder | Test.java:410:10:410:11 | in : Builder | provenance | | +| Test.java:409:53:409:60 | source(...) : Object | Test.java:409:30:409:60 | (...)... : Builder | provenance | | +| Test.java:410:10:410:11 | in : Builder | Test.java:410:10:410:33 | setDeleteIntent(...) : Builder | provenance | MaD:60 | +| Test.java:410:10:410:33 | setDeleteIntent(...) : Builder | Test.java:411:9:411:11 | out | provenance | | +| Test.java:416:23:416:46 | (...)... : PendingIntent | Test.java:417:24:417:25 | in : PendingIntent | provenance | | +| Test.java:416:39:416:46 | source(...) : Object | Test.java:416:23:416:46 | (...)... : PendingIntent | provenance | | +| Test.java:417:4:417:6 | out [post update] : Builder | Test.java:418:9:418:11 | out | provenance | | +| Test.java:417:24:417:25 | in : PendingIntent | Test.java:417:4:417:6 | out [post update] : Builder | provenance | MaD:61 | +| Test.java:423:30:423:60 | (...)... : Builder | Test.java:424:10:424:11 | in : Builder | provenance | | +| Test.java:423:53:423:60 | source(...) : Object | Test.java:423:30:423:60 | (...)... : Builder | provenance | | +| Test.java:424:10:424:11 | in : Builder | Test.java:424:10:424:27 | setExtras(...) : Builder | provenance | MaD:62 | +| Test.java:424:10:424:27 | setExtras(...) : Builder | Test.java:425:9:425:11 | out | provenance | | +| Test.java:431:16:431:32 | (...)... : Bundle | Test.java:432:18:432:19 | in : Bundle | provenance | | +| Test.java:431:25:431:32 | source(...) : Object | Test.java:431:16:431:32 | (...)... : Bundle | provenance | | +| Test.java:432:4:432:6 | out [post update] : Builder [android.content.Intent.extras] : Bundle | Test.java:433:9:433:11 | out : Builder [android.content.Intent.extras] : Bundle | provenance | | +| Test.java:432:18:432:19 | in : Bundle | Test.java:432:4:432:6 | out [post update] : Builder [android.content.Intent.extras] : Bundle | provenance | MaD:63 | +| Test.java:433:9:433:11 | out : Builder [android.content.Intent.extras] : Bundle | Test.java:433:9:433:23 | getExtras(...) | provenance | MaD:39 | +| Test.java:438:30:438:60 | (...)... : Builder | Test.java:439:10:439:11 | in : Builder | provenance | | +| Test.java:438:53:438:60 | source(...) : Object | Test.java:438:30:438:60 | (...)... : Builder | provenance | | +| Test.java:439:10:439:11 | in : Builder | Test.java:439:10:439:29 | setFlag(...) : Builder | provenance | MaD:64 | +| Test.java:439:10:439:29 | setFlag(...) : Builder | Test.java:440:9:440:11 | out | provenance | | +| Test.java:445:30:445:60 | (...)... : Builder | Test.java:446:10:446:11 | in : Builder | provenance | | +| Test.java:445:53:445:60 | source(...) : Object | Test.java:445:30:445:60 | (...)... : Builder | provenance | | +| Test.java:446:10:446:11 | in : Builder | Test.java:446:10:446:43 | setForegroundServiceBehavior(...) : Builder | provenance | MaD:65 | +| Test.java:446:10:446:43 | setForegroundServiceBehavior(...) : Builder | Test.java:447:9:447:11 | out | provenance | | +| Test.java:452:30:452:60 | (...)... : Builder | Test.java:453:10:453:11 | in : Builder | provenance | | +| Test.java:452:53:452:60 | source(...) : Object | Test.java:452:30:452:60 | (...)... : Builder | provenance | | +| Test.java:453:10:453:11 | in : Builder | Test.java:453:10:453:44 | setFullScreenIntent(...) : Builder | provenance | MaD:66 | +| Test.java:453:10:453:44 | setFullScreenIntent(...) : Builder | Test.java:454:9:454:11 | out | provenance | | +| Test.java:459:30:459:60 | (...)... : Builder | Test.java:460:10:460:11 | in : Builder | provenance | | +| Test.java:459:53:459:60 | source(...) : Object | Test.java:459:30:459:60 | (...)... : Builder | provenance | | +| Test.java:460:10:460:11 | in : Builder | Test.java:460:10:460:26 | setGroup(...) : Builder | provenance | MaD:67 | +| Test.java:460:10:460:26 | setGroup(...) : Builder | Test.java:461:9:461:11 | out | provenance | | +| Test.java:466:30:466:60 | (...)... : Builder | Test.java:467:10:467:11 | in : Builder | provenance | | +| Test.java:466:53:466:60 | source(...) : Object | Test.java:466:30:466:60 | (...)... : Builder | provenance | | +| Test.java:467:10:467:11 | in : Builder | Test.java:467:10:467:36 | setGroupAlertBehavior(...) : Builder | provenance | MaD:68 | +| Test.java:467:10:467:36 | setGroupAlertBehavior(...) : Builder | Test.java:468:9:468:11 | out | provenance | | +| Test.java:473:30:473:60 | (...)... : Builder | Test.java:474:10:474:11 | in : Builder | provenance | | +| Test.java:473:53:473:60 | source(...) : Object | Test.java:473:30:473:60 | (...)... : Builder | provenance | | +| Test.java:474:10:474:11 | in : Builder | Test.java:474:10:474:34 | setGroupSummary(...) : Builder | provenance | MaD:69 | +| Test.java:474:10:474:34 | setGroupSummary(...) : Builder | Test.java:475:9:475:11 | out | provenance | | +| Test.java:480:30:480:60 | (...)... : Builder | Test.java:481:10:481:11 | in : Builder | provenance | | +| Test.java:480:53:480:60 | source(...) : Object | Test.java:480:30:480:60 | (...)... : Builder | provenance | | +| Test.java:481:10:481:11 | in : Builder | Test.java:481:10:481:37 | setLargeIcon(...) : Builder | provenance | MaD:70 | +| Test.java:481:10:481:37 | setLargeIcon(...) : Builder | Test.java:482:9:482:11 | out | provenance | | +| Test.java:487:30:487:60 | (...)... : Builder | Test.java:488:10:488:11 | in : Builder | provenance | | +| Test.java:487:53:487:60 | source(...) : Object | Test.java:487:30:487:60 | (...)... : Builder | provenance | | +| Test.java:488:10:488:11 | in : Builder | Test.java:488:10:488:39 | setLargeIcon(...) : Builder | provenance | MaD:70 | +| Test.java:488:10:488:39 | setLargeIcon(...) : Builder | Test.java:489:9:489:11 | out | provenance | | +| Test.java:494:30:494:60 | (...)... : Builder | Test.java:495:10:495:11 | in : Builder | provenance | | +| Test.java:494:53:494:60 | source(...) : Object | Test.java:494:30:494:60 | (...)... : Builder | provenance | | +| Test.java:495:10:495:11 | in : Builder | Test.java:495:10:495:30 | setLights(...) : Builder | provenance | MaD:71 | +| Test.java:495:10:495:30 | setLights(...) : Builder | Test.java:496:9:496:11 | out | provenance | | +| Test.java:501:30:501:60 | (...)... : Builder | Test.java:502:10:502:11 | in : Builder | provenance | | +| Test.java:501:53:501:60 | source(...) : Object | Test.java:501:30:501:60 | (...)... : Builder | provenance | | +| Test.java:502:10:502:11 | in : Builder | Test.java:502:10:502:31 | setLocalOnly(...) : Builder | provenance | MaD:72 | +| Test.java:502:10:502:31 | setLocalOnly(...) : Builder | Test.java:503:9:503:11 | out | provenance | | +| Test.java:508:30:508:60 | (...)... : Builder | Test.java:509:10:509:11 | in : Builder | provenance | | +| Test.java:508:53:508:60 | source(...) : Object | Test.java:508:30:508:60 | (...)... : Builder | provenance | | +| Test.java:509:10:509:11 | in : Builder | Test.java:509:10:509:28 | setLocusId(...) : Builder | provenance | MaD:73 | +| Test.java:509:10:509:28 | setLocusId(...) : Builder | Test.java:510:9:510:11 | out | provenance | | +| Test.java:515:30:515:60 | (...)... : Builder | Test.java:516:10:516:11 | in : Builder | provenance | | +| Test.java:515:53:515:60 | source(...) : Object | Test.java:515:30:515:60 | (...)... : Builder | provenance | | +| Test.java:516:10:516:11 | in : Builder | Test.java:516:10:516:24 | setNumber(...) : Builder | provenance | MaD:74 | +| Test.java:516:10:516:24 | setNumber(...) : Builder | Test.java:517:9:517:11 | out | provenance | | +| Test.java:522:30:522:60 | (...)... : Builder | Test.java:523:10:523:11 | in : Builder | provenance | | +| Test.java:522:53:522:60 | source(...) : Object | Test.java:522:30:522:60 | (...)... : Builder | provenance | | +| Test.java:523:10:523:11 | in : Builder | Test.java:523:10:523:29 | setOngoing(...) : Builder | provenance | MaD:75 | +| Test.java:523:10:523:29 | setOngoing(...) : Builder | Test.java:524:9:524:11 | out | provenance | | +| Test.java:529:30:529:60 | (...)... : Builder | Test.java:530:10:530:11 | in : Builder | provenance | | +| Test.java:529:53:529:60 | source(...) : Object | Test.java:529:30:529:60 | (...)... : Builder | provenance | | +| Test.java:530:10:530:11 | in : Builder | Test.java:530:10:530:35 | setOnlyAlertOnce(...) : Builder | provenance | MaD:76 | +| Test.java:530:10:530:35 | setOnlyAlertOnce(...) : Builder | Test.java:531:9:531:11 | out | provenance | | +| Test.java:536:30:536:60 | (...)... : Builder | Test.java:537:10:537:11 | in : Builder | provenance | | +| Test.java:536:53:536:60 | source(...) : Object | Test.java:536:30:536:60 | (...)... : Builder | provenance | | +| Test.java:537:10:537:11 | in : Builder | Test.java:537:10:537:26 | setPriority(...) : Builder | provenance | MaD:77 | +| Test.java:537:10:537:26 | setPriority(...) : Builder | Test.java:538:9:538:11 | out | provenance | | +| Test.java:543:30:543:60 | (...)... : Builder | Test.java:544:10:544:11 | in : Builder | provenance | | +| Test.java:543:53:543:60 | source(...) : Object | Test.java:543:30:543:60 | (...)... : Builder | provenance | | +| Test.java:544:10:544:11 | in : Builder | Test.java:544:10:544:36 | setProgress(...) : Builder | provenance | MaD:78 | +| Test.java:544:10:544:36 | setProgress(...) : Builder | Test.java:545:9:545:11 | out | provenance | | +| Test.java:550:30:550:60 | (...)... : Builder | Test.java:551:10:551:11 | in : Builder | provenance | | +| Test.java:550:53:550:60 | source(...) : Object | Test.java:550:30:550:60 | (...)... : Builder | provenance | | +| Test.java:551:10:551:11 | in : Builder | Test.java:551:10:551:34 | setPublicVersion(...) : Builder | provenance | MaD:79 | +| Test.java:551:10:551:34 | setPublicVersion(...) : Builder | Test.java:552:9:552:11 | out | provenance | | +| Test.java:557:22:557:44 | (...)... : Notification | Test.java:558:25:558:26 | in : Notification | provenance | | +| Test.java:557:37:557:44 | source(...) : Object | Test.java:557:22:557:44 | (...)... : Notification | provenance | | +| Test.java:558:4:558:6 | out [post update] : Builder | Test.java:559:9:559:11 | out | provenance | | +| Test.java:558:25:558:26 | in : Notification | Test.java:558:4:558:6 | out [post update] : Builder | provenance | MaD:80 | +| Test.java:564:30:564:60 | (...)... : Builder | Test.java:565:10:565:11 | in : Builder | provenance | | +| Test.java:564:53:564:60 | source(...) : Object | Test.java:564:30:564:60 | (...)... : Builder | provenance | | +| Test.java:565:10:565:11 | in : Builder | Test.java:565:10:565:39 | setRemoteInputHistory(...) : Builder | provenance | MaD:81 | +| Test.java:565:10:565:39 | setRemoteInputHistory(...) : Builder | Test.java:566:9:566:11 | out | provenance | | +| Test.java:571:30:571:60 | (...)... : Builder | Test.java:572:10:572:11 | in : Builder | provenance | | +| Test.java:571:53:571:60 | source(...) : Object | Test.java:571:30:571:60 | (...)... : Builder | provenance | | +| Test.java:572:10:572:11 | in : Builder | Test.java:572:10:572:33 | setSettingsText(...) : Builder | provenance | MaD:82 | +| Test.java:572:10:572:33 | setSettingsText(...) : Builder | Test.java:573:9:573:11 | out | provenance | | +| Test.java:578:30:578:60 | (...)... : Builder | Test.java:579:10:579:11 | in : Builder | provenance | | +| Test.java:578:53:578:60 | source(...) : Object | Test.java:578:30:578:60 | (...)... : Builder | provenance | | +| Test.java:579:10:579:11 | in : Builder | Test.java:579:10:579:31 | setShortcutId(...) : Builder | provenance | MaD:83 | +| Test.java:579:10:579:31 | setShortcutId(...) : Builder | Test.java:580:9:580:11 | out | provenance | | +| Test.java:585:30:585:60 | (...)... : Builder | Test.java:586:10:586:11 | in : Builder | provenance | | +| Test.java:585:53:585:60 | source(...) : Object | Test.java:585:30:585:60 | (...)... : Builder | provenance | | +| Test.java:586:10:586:11 | in : Builder | Test.java:586:10:586:30 | setShowWhen(...) : Builder | provenance | MaD:84 | +| Test.java:586:10:586:30 | setShowWhen(...) : Builder | Test.java:587:9:587:11 | out | provenance | | +| Test.java:592:30:592:60 | (...)... : Builder | Test.java:593:10:593:11 | in : Builder | provenance | | +| Test.java:592:53:592:60 | source(...) : Object | Test.java:592:30:592:60 | (...)... : Builder | provenance | | +| Test.java:593:10:593:11 | in : Builder | Test.java:593:10:593:30 | setSmallIcon(...) : Builder | provenance | MaD:85 | +| Test.java:593:10:593:30 | setSmallIcon(...) : Builder | Test.java:594:9:594:11 | out | provenance | | +| Test.java:599:30:599:60 | (...)... : Builder | Test.java:600:10:600:11 | in : Builder | provenance | | +| Test.java:599:53:599:60 | source(...) : Object | Test.java:599:30:599:60 | (...)... : Builder | provenance | | +| Test.java:600:10:600:11 | in : Builder | Test.java:600:10:600:27 | setSmallIcon(...) : Builder | provenance | MaD:85 | +| Test.java:600:10:600:27 | setSmallIcon(...) : Builder | Test.java:601:9:601:11 | out | provenance | | +| Test.java:606:30:606:60 | (...)... : Builder | Test.java:607:10:607:11 | in : Builder | provenance | | +| Test.java:606:53:606:60 | source(...) : Object | Test.java:606:30:606:60 | (...)... : Builder | provenance | | +| Test.java:607:10:607:11 | in : Builder | Test.java:607:10:607:37 | setSmallIcon(...) : Builder | provenance | MaD:85 | +| Test.java:607:10:607:37 | setSmallIcon(...) : Builder | Test.java:608:9:608:11 | out | provenance | | +| Test.java:613:30:613:60 | (...)... : Builder | Test.java:614:10:614:11 | in : Builder | provenance | | +| Test.java:613:53:613:60 | source(...) : Object | Test.java:613:30:613:60 | (...)... : Builder | provenance | | +| Test.java:614:10:614:11 | in : Builder | Test.java:614:10:614:28 | setSortKey(...) : Builder | provenance | MaD:86 | +| Test.java:614:10:614:28 | setSortKey(...) : Builder | Test.java:615:9:615:11 | out | provenance | | +| Test.java:620:30:620:60 | (...)... : Builder | Test.java:621:10:621:11 | in : Builder | provenance | | +| Test.java:620:53:620:60 | source(...) : Object | Test.java:620:30:620:60 | (...)... : Builder | provenance | | +| Test.java:621:10:621:11 | in : Builder | Test.java:621:10:621:26 | setSound(...) : Builder | provenance | MaD:87 | +| Test.java:621:10:621:26 | setSound(...) : Builder | Test.java:622:9:622:11 | out | provenance | | +| Test.java:627:30:627:60 | (...)... : Builder | Test.java:628:10:628:11 | in : Builder | provenance | | +| Test.java:627:53:627:60 | source(...) : Object | Test.java:627:30:627:60 | (...)... : Builder | provenance | | +| Test.java:628:10:628:11 | in : Builder | Test.java:628:10:628:35 | setSound(...) : Builder | provenance | MaD:87 | +| Test.java:628:10:628:35 | setSound(...) : Builder | Test.java:629:9:629:11 | out | provenance | | +| Test.java:634:30:634:60 | (...)... : Builder | Test.java:635:10:635:11 | in : Builder | provenance | | +| Test.java:634:53:634:60 | source(...) : Object | Test.java:634:30:634:60 | (...)... : Builder | provenance | | +| Test.java:635:10:635:11 | in : Builder | Test.java:635:10:635:56 | setSound(...) : Builder | provenance | MaD:87 | +| Test.java:635:10:635:56 | setSound(...) : Builder | Test.java:636:9:636:11 | out | provenance | | +| Test.java:641:30:641:60 | (...)... : Builder | Test.java:642:10:642:11 | in : Builder | provenance | | +| Test.java:641:53:641:60 | source(...) : Object | Test.java:641:30:641:60 | (...)... : Builder | provenance | | +| Test.java:642:10:642:11 | in : Builder | Test.java:642:10:642:26 | setStyle(...) : Builder | provenance | MaD:88 | +| Test.java:642:10:642:26 | setStyle(...) : Builder | Test.java:643:9:643:11 | out | provenance | | +| Test.java:648:30:648:60 | (...)... : Builder | Test.java:649:10:649:11 | in : Builder | provenance | | +| Test.java:648:53:648:60 | source(...) : Object | Test.java:648:30:648:60 | (...)... : Builder | provenance | | +| Test.java:649:10:649:11 | in : Builder | Test.java:649:10:649:28 | setSubText(...) : Builder | provenance | MaD:89 | +| Test.java:649:10:649:28 | setSubText(...) : Builder | Test.java:650:9:650:11 | out | provenance | | +| Test.java:655:30:655:60 | (...)... : Builder | Test.java:656:10:656:11 | in : Builder | provenance | | +| Test.java:655:53:655:60 | source(...) : Object | Test.java:655:30:655:60 | (...)... : Builder | provenance | | +| Test.java:656:10:656:11 | in : Builder | Test.java:656:10:656:33 | setTicker(...) : Builder | provenance | MaD:90 | +| Test.java:656:10:656:33 | setTicker(...) : Builder | Test.java:657:9:657:11 | out | provenance | | +| Test.java:662:30:662:60 | (...)... : Builder | Test.java:663:10:663:11 | in : Builder | provenance | | +| Test.java:662:53:662:60 | source(...) : Object | Test.java:662:30:662:60 | (...)... : Builder | provenance | | +| Test.java:663:10:663:11 | in : Builder | Test.java:663:10:663:27 | setTicker(...) : Builder | provenance | MaD:90 | +| Test.java:663:10:663:27 | setTicker(...) : Builder | Test.java:664:9:664:11 | out | provenance | | +| Test.java:669:30:669:60 | (...)... : Builder | Test.java:670:10:670:11 | in : Builder | provenance | | +| Test.java:669:53:669:60 | source(...) : Object | Test.java:669:30:669:60 | (...)... : Builder | provenance | | +| Test.java:670:10:670:11 | in : Builder | Test.java:670:10:670:31 | setTimeoutAfter(...) : Builder | provenance | MaD:91 | +| Test.java:670:10:670:31 | setTimeoutAfter(...) : Builder | Test.java:671:9:671:11 | out | provenance | | +| Test.java:676:30:676:60 | (...)... : Builder | Test.java:677:10:677:11 | in : Builder | provenance | | +| Test.java:676:53:676:60 | source(...) : Object | Test.java:676:30:676:60 | (...)... : Builder | provenance | | +| Test.java:677:10:677:11 | in : Builder | Test.java:677:10:677:37 | setUsesChronometer(...) : Builder | provenance | MaD:92 | +| Test.java:677:10:677:37 | setUsesChronometer(...) : Builder | Test.java:678:9:678:11 | out | provenance | | +| Test.java:683:30:683:60 | (...)... : Builder | Test.java:684:10:684:11 | in : Builder | provenance | | +| Test.java:683:53:683:60 | source(...) : Object | Test.java:683:30:683:60 | (...)... : Builder | provenance | | +| Test.java:684:10:684:11 | in : Builder | Test.java:684:10:684:28 | setVibrate(...) : Builder | provenance | MaD:93 | +| Test.java:684:10:684:28 | setVibrate(...) : Builder | Test.java:685:9:685:11 | out | provenance | | +| Test.java:690:30:690:60 | (...)... : Builder | Test.java:691:10:691:11 | in : Builder | provenance | | +| Test.java:690:53:690:60 | source(...) : Object | Test.java:690:30:690:60 | (...)... : Builder | provenance | | +| Test.java:691:10:691:11 | in : Builder | Test.java:691:10:691:28 | setVisibility(...) : Builder | provenance | MaD:94 | +| Test.java:691:10:691:28 | setVisibility(...) : Builder | Test.java:692:9:692:11 | out | provenance | | +| Test.java:697:30:697:60 | (...)... : Builder | Test.java:698:10:698:11 | in : Builder | provenance | | +| Test.java:697:53:697:60 | source(...) : Object | Test.java:697:30:697:60 | (...)... : Builder | provenance | | +| Test.java:698:10:698:11 | in : Builder | Test.java:698:10:698:23 | setWhen(...) : Builder | provenance | MaD:95 | +| Test.java:698:10:698:23 | setWhen(...) : Builder | Test.java:699:9:699:11 | out | provenance | | +| Test.java:704:28:704:56 | (...)... : Style | Test.java:705:10:705:11 | in : Style | provenance | | +| Test.java:704:49:704:56 | source(...) : Object | Test.java:704:28:704:56 | (...)... : Style | provenance | | +| Test.java:705:10:705:11 | in : Style | Test.java:705:10:705:19 | build(...) : Notification | provenance | MaD:103 | +| Test.java:705:10:705:19 | build(...) : Notification | Test.java:706:9:706:11 | out | provenance | | +| Test.java:711:30:711:60 | (...)... : Builder | Test.java:712:43:712:44 | in : Builder | provenance | | +| Test.java:711:53:711:60 | source(...) : Object | Test.java:711:30:711:60 | (...)... : Builder | provenance | | +| Test.java:712:10:712:45 | new BigPictureStyle(...) : BigPictureStyle | Test.java:713:9:713:11 | out | provenance | | +| Test.java:712:43:712:44 | in : Builder | Test.java:712:10:712:45 | new BigPictureStyle(...) : BigPictureStyle | provenance | MaD:18 | +| Test.java:717:38:717:76 | (...)... : BigPictureStyle | Test.java:718:39:718:40 | in : BigPictureStyle | provenance | | +| Test.java:717:69:717:76 | source(...) : Object | Test.java:717:38:717:76 | (...)... : BigPictureStyle | provenance | | +| Test.java:718:39:718:40 | in : BigPictureStyle | Test.java:718:39:718:66 | bigLargeIcon(...) : BigPictureStyle | provenance | MaD:19 | +| Test.java:718:39:718:66 | bigLargeIcon(...) : BigPictureStyle | Test.java:719:9:719:11 | out | provenance | | +| Test.java:723:38:723:76 | (...)... : BigPictureStyle | Test.java:724:39:724:40 | in : BigPictureStyle | provenance | | +| Test.java:723:69:723:76 | source(...) : Object | Test.java:723:38:723:76 | (...)... : BigPictureStyle | provenance | | +| Test.java:724:39:724:40 | in : BigPictureStyle | Test.java:724:39:724:66 | bigPicture(...) : BigPictureStyle | provenance | MaD:20 | +| Test.java:724:39:724:66 | bigPicture(...) : BigPictureStyle | Test.java:725:9:725:11 | out | provenance | | +| Test.java:729:38:729:76 | (...)... : BigPictureStyle | Test.java:730:39:730:40 | in : BigPictureStyle | provenance | | +| Test.java:729:69:729:76 | source(...) : Object | Test.java:729:38:729:76 | (...)... : BigPictureStyle | provenance | | +| Test.java:730:39:730:40 | in : BigPictureStyle | Test.java:730:39:730:65 | setBigContentTitle(...) : BigPictureStyle | provenance | MaD:21 | +| Test.java:730:39:730:65 | setBigContentTitle(...) : BigPictureStyle | Test.java:731:9:731:11 | out | provenance | | +| Test.java:735:38:735:76 | (...)... : BigPictureStyle | Test.java:736:39:736:40 | in : BigPictureStyle | provenance | | +| Test.java:735:69:735:76 | source(...) : Object | Test.java:735:38:735:76 | (...)... : BigPictureStyle | provenance | | +| Test.java:736:39:736:40 | in : BigPictureStyle | Test.java:736:39:736:68 | setContentDescription(...) : BigPictureStyle | provenance | MaD:22 | +| Test.java:736:39:736:68 | setContentDescription(...) : BigPictureStyle | Test.java:737:9:737:11 | out | provenance | | +| Test.java:741:38:741:76 | (...)... : BigPictureStyle | Test.java:742:39:742:40 | in : BigPictureStyle | provenance | | +| Test.java:741:69:741:76 | source(...) : Object | Test.java:741:38:741:76 | (...)... : BigPictureStyle | provenance | | +| Test.java:742:39:742:40 | in : BigPictureStyle | Test.java:742:39:742:61 | setSummaryText(...) : BigPictureStyle | provenance | MaD:23 | +| Test.java:742:39:742:61 | setSummaryText(...) : BigPictureStyle | Test.java:743:9:743:11 | out | provenance | | +| Test.java:747:38:747:76 | (...)... : BigPictureStyle | Test.java:748:39:748:40 | in : BigPictureStyle | provenance | | +| Test.java:747:69:747:76 | source(...) : Object | Test.java:747:38:747:76 | (...)... : BigPictureStyle | provenance | | +| Test.java:748:39:748:40 | in : BigPictureStyle | Test.java:748:39:748:75 | showBigPictureWhenCollapsed(...) : BigPictureStyle | provenance | MaD:24 | +| Test.java:748:39:748:75 | showBigPictureWhenCollapsed(...) : BigPictureStyle | Test.java:749:9:749:11 | out | provenance | | +| Test.java:754:30:754:60 | (...)... : Builder | Test.java:755:40:755:41 | in : Builder | provenance | | +| Test.java:754:53:754:60 | source(...) : Object | Test.java:754:30:754:60 | (...)... : Builder | provenance | | +| Test.java:755:10:755:42 | new BigTextStyle(...) : BigTextStyle | Test.java:756:9:756:11 | out | provenance | | +| Test.java:755:40:755:41 | in : Builder | Test.java:755:10:755:42 | new BigTextStyle(...) : BigTextStyle | provenance | MaD:25 | +| Test.java:760:35:760:70 | (...)... : BigTextStyle | Test.java:761:36:761:37 | in : BigTextStyle | provenance | | +| Test.java:760:63:760:70 | source(...) : Object | Test.java:760:35:760:70 | (...)... : BigTextStyle | provenance | | +| Test.java:761:36:761:37 | in : BigTextStyle | Test.java:761:36:761:51 | bigText(...) : BigTextStyle | provenance | MaD:26 | +| Test.java:761:36:761:51 | bigText(...) : BigTextStyle | Test.java:762:9:762:11 | out | provenance | | +| Test.java:766:35:766:70 | (...)... : BigTextStyle | Test.java:767:36:767:37 | in : BigTextStyle | provenance | | +| Test.java:766:63:766:70 | source(...) : Object | Test.java:766:35:766:70 | (...)... : BigTextStyle | provenance | | +| Test.java:767:36:767:37 | in : BigTextStyle | Test.java:767:36:767:62 | setBigContentTitle(...) : BigTextStyle | provenance | MaD:27 | +| Test.java:767:36:767:62 | setBigContentTitle(...) : BigTextStyle | Test.java:768:9:768:11 | out | provenance | | +| Test.java:772:35:772:70 | (...)... : BigTextStyle | Test.java:773:36:773:37 | in : BigTextStyle | provenance | | +| Test.java:772:63:772:70 | source(...) : Object | Test.java:772:35:772:70 | (...)... : BigTextStyle | provenance | | +| Test.java:773:36:773:37 | in : BigTextStyle | Test.java:773:36:773:58 | setSummaryText(...) : BigTextStyle | provenance | MaD:28 | +| Test.java:773:36:773:58 | setSummaryText(...) : BigTextStyle | Test.java:774:9:774:11 | out | provenance | | +| Test.java:779:30:779:60 | (...)... : Builder | Test.java:780:38:780:39 | in : Builder | provenance | | +| Test.java:779:53:779:60 | source(...) : Object | Test.java:779:30:779:60 | (...)... : Builder | provenance | | +| Test.java:780:10:780:40 | new InboxStyle(...) : InboxStyle | Test.java:781:9:781:11 | out | provenance | | +| Test.java:780:38:780:39 | in : Builder | Test.java:780:10:780:40 | new InboxStyle(...) : InboxStyle | provenance | MaD:96 | +| Test.java:785:33:785:66 | (...)... : InboxStyle | Test.java:786:34:786:35 | in : InboxStyle | provenance | | +| Test.java:785:59:785:66 | source(...) : Object | Test.java:785:33:785:66 | (...)... : InboxStyle | provenance | | +| Test.java:786:34:786:35 | in : InboxStyle | Test.java:786:34:786:49 | addLine(...) : InboxStyle | provenance | MaD:97 | +| Test.java:786:34:786:49 | addLine(...) : InboxStyle | Test.java:787:9:787:11 | out | provenance | | +| Test.java:791:33:791:66 | (...)... : InboxStyle | Test.java:792:34:792:35 | in : InboxStyle | provenance | | +| Test.java:791:59:791:66 | source(...) : Object | Test.java:791:33:791:66 | (...)... : InboxStyle | provenance | | +| Test.java:792:34:792:35 | in : InboxStyle | Test.java:792:34:792:60 | setBigContentTitle(...) : InboxStyle | provenance | MaD:98 | +| Test.java:792:34:792:60 | setBigContentTitle(...) : InboxStyle | Test.java:793:9:793:11 | out | provenance | | +| Test.java:797:33:797:66 | (...)... : InboxStyle | Test.java:798:34:798:35 | in : InboxStyle | provenance | | +| Test.java:797:59:797:66 | source(...) : Object | Test.java:797:33:797:66 | (...)... : InboxStyle | provenance | | +| Test.java:798:34:798:35 | in : InboxStyle | Test.java:798:34:798:56 | setSummaryText(...) : InboxStyle | provenance | MaD:99 | +| Test.java:798:34:798:56 | setSummaryText(...) : InboxStyle | Test.java:799:9:799:11 | out | provenance | | +| Test.java:804:30:804:60 | (...)... : Builder | Test.java:805:38:805:39 | in : Builder | provenance | | +| Test.java:804:53:804:60 | source(...) : Object | Test.java:804:30:804:60 | (...)... : Builder | provenance | | +| Test.java:805:10:805:40 | new MediaStyle(...) : MediaStyle | Test.java:806:9:806:11 | out | provenance | | +| Test.java:805:38:805:39 | in : Builder | Test.java:805:10:805:40 | new MediaStyle(...) : MediaStyle | provenance | MaD:100 | +| Test.java:810:33:810:66 | (...)... : MediaStyle | Test.java:811:34:811:35 | in : MediaStyle | provenance | | +| Test.java:810:59:810:66 | source(...) : Object | Test.java:810:33:810:66 | (...)... : MediaStyle | provenance | | +| Test.java:811:34:811:35 | in : MediaStyle | Test.java:811:34:811:57 | setMediaSession(...) : MediaStyle | provenance | MaD:101 | +| Test.java:811:34:811:57 | setMediaSession(...) : MediaStyle | Test.java:812:9:812:11 | out | provenance | | +| Test.java:816:33:816:66 | (...)... : MediaStyle | Test.java:817:34:817:35 | in : MediaStyle | provenance | | +| Test.java:816:59:816:66 | source(...) : Object | Test.java:816:33:816:66 | (...)... : MediaStyle | provenance | | +| Test.java:817:34:817:35 | in : MediaStyle | Test.java:817:34:817:69 | setShowActionsInCompactView(...) : MediaStyle | provenance | MaD:102 | +| Test.java:817:34:817:69 | setShowActionsInCompactView(...) : MediaStyle | Test.java:818:9:818:11 | out | provenance | | +| Test.java:823:35:823:70 | (...)... : Action | Test.java:824:48:824:49 | in : Action | provenance | | +| Test.java:823:63:823:70 | source(...) : Object | Test.java:823:35:823:70 | (...)... : Action | provenance | | +| Test.java:824:10:824:50 | new Builder(...) : Builder | Test.java:825:9:825:11 | out | provenance | | +| Test.java:824:48:824:49 | in : Action | Test.java:824:10:824:50 | new Builder(...) : Builder | provenance | MaD:110 | +| Test.java:830:23:830:46 | (...)... : PendingIntent | Test.java:831:88:831:89 | in : PendingIntent | provenance | | +| Test.java:830:39:830:46 | source(...) : Object | Test.java:830:23:830:46 | (...)... : PendingIntent | provenance | | +| Test.java:831:10:831:90 | new Builder(...) : Builder | Test.java:832:9:832:11 | out | provenance | | +| Test.java:831:88:831:89 | in : PendingIntent | Test.java:831:10:831:90 | new Builder(...) : Builder | provenance | MaD:111 | +| Test.java:837:23:837:46 | (...)... : PendingIntent | Test.java:838:72:838:73 | in : PendingIntent | provenance | | +| Test.java:837:39:837:46 | source(...) : Object | Test.java:837:23:837:46 | (...)... : PendingIntent | provenance | | +| Test.java:838:10:838:74 | new Builder(...) : Builder | Test.java:839:9:839:11 | out | provenance | | +| Test.java:838:72:838:73 | in : PendingIntent | Test.java:838:10:838:74 | new Builder(...) : Builder | provenance | MaD:112 | +| Test.java:844:43:844:86 | (...)... : Builder | Test.java:845:10:845:11 | in : Builder | provenance | | +| Test.java:844:79:844:86 | source(...) : Object | Test.java:844:43:844:86 | (...)... : Builder | provenance | | +| Test.java:845:10:845:11 | in : Builder | Test.java:845:10:845:27 | addExtras(...) : Builder | provenance | MaD:113 | +| Test.java:845:10:845:27 | addExtras(...) : Builder | Test.java:846:9:846:11 | out | provenance | | +| Test.java:851:16:851:54 | (...)... : Bundle [] : String | Test.java:852:18:852:19 | in : Bundle [] : String | provenance | | +| Test.java:851:25:851:54 | newWithMapKeyDefault(...) : Bundle [] : String | Test.java:851:16:851:54 | (...)... : Bundle [] : String | provenance | | +| Test.java:851:46:851:53 | source(...) : Object | Test.java:26:30:26:43 | element : Object | provenance | | +| Test.java:851:46:851:53 | source(...) : Object | Test.java:851:25:851:54 | newWithMapKeyDefault(...) : Bundle [] : String | provenance | MaD:105 | +| Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:852:18:852:19 | in : Bundle [] : String | Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:114 | +| Test.java:852:18:852:19 | in : Bundle [] : String | Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:114 | +| Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, ] : String | Test.java:853:26:853:40 | getExtras(...) : Bundle [] : String | provenance | MaD:120 | +| Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, ] : String | Test.java:853:26:853:40 | getExtras(...) : Bundle [] : String | provenance | MaD:120 | +| Test.java:853:26:853:40 | getExtras(...) : Bundle [] : String | Test.java:853:9:853:41 | getMapKeyDefault(...) | provenance | MaD:194 | +| Test.java:858:16:858:56 | (...)... : Bundle [] : String | Test.java:859:18:859:19 | in : Bundle [] : String | provenance | | +| Test.java:858:25:858:56 | newWithMapValueDefault(...) : Bundle [] : String | Test.java:858:16:858:56 | (...)... : Bundle [] : String | provenance | | +| Test.java:858:48:858:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | provenance | | +| Test.java:858:48:858:55 | source(...) : Object | Test.java:858:25:858:56 | newWithMapValueDefault(...) : Bundle [] : String | provenance | MaD:106 | +| Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:859:18:859:19 | in : Bundle [] : String | Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:115 | +| Test.java:859:18:859:19 | in : Bundle [] : String | Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:115 | +| Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, ] : String | Test.java:860:28:860:42 | getExtras(...) : Bundle [] : String | provenance | MaD:120 | +| Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, ] : String | Test.java:860:28:860:42 | getExtras(...) : Bundle [] : String | provenance | MaD:120 | +| Test.java:860:28:860:42 | getExtras(...) : Bundle [] : String | Test.java:22:28:22:43 | container : Bundle [] : String | provenance | | +| Test.java:860:28:860:42 | getExtras(...) : Bundle [] : String | Test.java:860:9:860:43 | getMapValueDefault(...) | provenance | MaD:104 | +| Test.java:865:43:865:86 | (...)... : Builder | Test.java:866:10:866:11 | in : Builder | provenance | | +| Test.java:865:79:865:86 | source(...) : Object | Test.java:865:43:865:86 | (...)... : Builder | provenance | | +| Test.java:866:10:866:11 | in : Builder | Test.java:866:10:866:32 | addRemoteInput(...) : Builder | provenance | MaD:116 | +| Test.java:866:10:866:32 | addRemoteInput(...) : Builder | Test.java:867:9:867:11 | out | provenance | | +| Test.java:873:16:873:56 | (...)... : Bundle [] : String | Test.java:874:22:874:23 | in : Bundle [] : String | provenance | | +| Test.java:873:25:873:56 | newWithMapValueDefault(...) : Bundle [] : String | Test.java:873:16:873:56 | (...)... : Bundle [] : String | provenance | | +| Test.java:873:48:873:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | provenance | | +| Test.java:873:48:873:55 | source(...) : Object | Test.java:873:25:873:56 | newWithMapValueDefault(...) : Bundle [] : String | provenance | MaD:106 | +| Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:874:22:874:23 | in : Bundle [] : String | Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:115 | +| Test.java:874:22:874:23 | in : Bundle [] : String | Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:115 | +| Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, ] : String | Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, ] : String | provenance | MaD:118 | +| Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, ] : String | Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, ] : String | provenance | MaD:118 | +| Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, ] : String | Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, ] : String | provenance | MaD:118 | +| Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, ] : String | Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, ] : String | provenance | | +| Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, ] : String | Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, ] : String | provenance | | +| Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, ] : String | Test.java:876:28:876:42 | getExtras(...) : Bundle [] : String | provenance | MaD:109 | +| Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, ] : String | Test.java:876:28:876:42 | getExtras(...) : Bundle [] : String | provenance | MaD:109 | +| Test.java:876:28:876:42 | getExtras(...) : Bundle [] : String | Test.java:22:28:22:43 | container : Bundle [] : String | provenance | | +| Test.java:876:28:876:42 | getExtras(...) : Bundle [] : String | Test.java:876:9:876:43 | getMapValueDefault(...) | provenance | MaD:104 | +| Test.java:881:43:881:86 | (...)... : Builder | Test.java:882:10:882:11 | in : Builder | provenance | | +| Test.java:881:79:881:86 | source(...) : Object | Test.java:881:43:881:86 | (...)... : Builder | provenance | | +| Test.java:882:10:882:11 | in : Builder | Test.java:882:10:882:19 | build(...) : Action | provenance | MaD:117 | +| Test.java:882:10:882:19 | build(...) : Action | Test.java:883:9:883:11 | out | provenance | | +| Test.java:888:43:888:86 | (...)... : Builder | Test.java:889:10:889:11 | in : Builder | provenance | | +| Test.java:888:79:888:86 | source(...) : Object | Test.java:888:43:888:86 | (...)... : Builder | provenance | | +| Test.java:889:10:889:11 | in : Builder | Test.java:889:10:889:24 | extend(...) : Builder | provenance | MaD:119 | +| Test.java:889:10:889:24 | extend(...) : Builder | Test.java:890:9:890:11 | out | provenance | | +| Test.java:895:43:895:86 | (...)... : Builder | Test.java:896:10:896:11 | in : Builder | provenance | | +| Test.java:895:79:895:86 | source(...) : Object | Test.java:895:43:895:86 | (...)... : Builder | provenance | | +| Test.java:896:10:896:11 | in : Builder | Test.java:896:10:896:23 | getExtras(...) : Bundle | provenance | MaD:120 | +| Test.java:896:10:896:23 | getExtras(...) : Bundle | Test.java:897:9:897:11 | out | provenance | | +| Test.java:902:43:902:86 | (...)... : Builder | Test.java:903:10:903:11 | in : Builder | provenance | | +| Test.java:902:79:902:86 | source(...) : Object | Test.java:902:43:902:86 | (...)... : Builder | provenance | | +| Test.java:903:10:903:11 | in : Builder | Test.java:903:10:903:43 | setAllowGeneratedReplies(...) : Builder | provenance | MaD:121 | +| Test.java:903:10:903:43 | setAllowGeneratedReplies(...) : Builder | Test.java:904:9:904:11 | out | provenance | | +| Test.java:909:43:909:86 | (...)... : Builder | Test.java:910:10:910:11 | in : Builder | provenance | | +| Test.java:909:79:909:86 | source(...) : Object | Test.java:909:43:909:86 | (...)... : Builder | provenance | | +| Test.java:910:10:910:11 | in : Builder | Test.java:910:10:910:32 | setContextual(...) : Builder | provenance | MaD:122 | +| Test.java:910:10:910:32 | setContextual(...) : Builder | Test.java:911:9:911:11 | out | provenance | | +| Test.java:916:43:916:86 | (...)... : Builder | Test.java:917:10:917:11 | in : Builder | provenance | | +| Test.java:916:79:916:86 | source(...) : Object | Test.java:916:43:916:86 | (...)... : Builder | provenance | | +| Test.java:917:10:917:11 | in : Builder | Test.java:917:10:917:32 | setSemanticAction(...) : Builder | provenance | MaD:123 | +| Test.java:917:10:917:32 | setSemanticAction(...) : Builder | Test.java:918:9:918:11 | out | provenance | | +| Test.java:923:23:923:46 | (...)... : PendingIntent | Test.java:924:80:924:81 | in : PendingIntent | provenance | | +| Test.java:923:39:923:46 | source(...) : Object | Test.java:923:23:923:46 | (...)... : PendingIntent | provenance | | +| Test.java:924:10:924:82 | new Action(...) : Action | Test.java:925:9:925:11 | out | provenance | | +| Test.java:924:80:924:81 | in : PendingIntent | Test.java:924:10:924:82 | new Action(...) : Action | provenance | MaD:107 | +| Test.java:930:23:930:46 | (...)... : PendingIntent | Test.java:931:64:931:65 | in : PendingIntent | provenance | | +| Test.java:930:39:930:46 | source(...) : Object | Test.java:930:23:930:46 | (...)... : PendingIntent | provenance | | +| Test.java:931:10:931:66 | new Action(...) : Action | Test.java:932:9:932:11 | out | provenance | | +| Test.java:931:64:931:65 | in : PendingIntent | Test.java:931:10:931:66 | new Action(...) : Action | provenance | MaD:108 | +| Test.java:937:35:937:70 | (...)... : Action | Test.java:938:10:938:11 | in : Action | provenance | | +| Test.java:937:63:937:70 | source(...) : Object | Test.java:937:35:937:70 | (...)... : Action | provenance | | +| Test.java:938:10:938:11 | in : Action | Test.java:938:10:938:23 | getExtras(...) : Bundle | provenance | MaD:109 | +| Test.java:938:10:938:23 | getExtras(...) : Bundle | Test.java:939:9:939:11 | out | provenance | | +| Test.java:944:44:944:88 | (...)... : BigPictureStyle | Test.java:945:10:945:11 | in : BigPictureStyle | provenance | | +| Test.java:944:81:944:88 | source(...) : Object | Test.java:944:44:944:88 | (...)... : BigPictureStyle | provenance | | +| Test.java:945:10:945:11 | in : BigPictureStyle | Test.java:945:10:945:38 | bigLargeIcon(...) : BigPictureStyle | provenance | MaD:124 | +| Test.java:945:10:945:38 | bigLargeIcon(...) : BigPictureStyle | Test.java:946:9:946:11 | out | provenance | | +| Test.java:951:44:951:88 | (...)... : BigPictureStyle | Test.java:952:10:952:11 | in : BigPictureStyle | provenance | | +| Test.java:951:81:951:88 | source(...) : Object | Test.java:951:44:951:88 | (...)... : BigPictureStyle | provenance | | +| Test.java:952:10:952:11 | in : BigPictureStyle | Test.java:952:10:952:36 | bigLargeIcon(...) : BigPictureStyle | provenance | MaD:124 | +| Test.java:952:10:952:36 | bigLargeIcon(...) : BigPictureStyle | Test.java:953:9:953:11 | out | provenance | | +| Test.java:958:44:958:88 | (...)... : BigPictureStyle | Test.java:959:10:959:11 | in : BigPictureStyle | provenance | | +| Test.java:958:81:958:88 | source(...) : Object | Test.java:958:44:958:88 | (...)... : BigPictureStyle | provenance | | +| Test.java:959:10:959:11 | in : BigPictureStyle | Test.java:959:10:959:36 | bigPicture(...) : BigPictureStyle | provenance | MaD:125 | +| Test.java:959:10:959:36 | bigPicture(...) : BigPictureStyle | Test.java:960:9:960:11 | out | provenance | | +| Test.java:965:44:965:88 | (...)... : BigPictureStyle | Test.java:966:10:966:11 | in : BigPictureStyle | provenance | | +| Test.java:965:81:965:88 | source(...) : Object | Test.java:965:44:965:88 | (...)... : BigPictureStyle | provenance | | +| Test.java:966:10:966:11 | in : BigPictureStyle | Test.java:966:10:966:34 | bigPicture(...) : BigPictureStyle | provenance | MaD:125 | +| Test.java:966:10:966:34 | bigPicture(...) : BigPictureStyle | Test.java:967:9:967:11 | out | provenance | | +| Test.java:972:44:972:88 | (...)... : BigPictureStyle | Test.java:973:10:973:11 | in : BigPictureStyle | provenance | | +| Test.java:972:81:972:88 | source(...) : Object | Test.java:972:44:972:88 | (...)... : BigPictureStyle | provenance | | +| Test.java:973:10:973:11 | in : BigPictureStyle | Test.java:973:10:973:36 | setBigContentTitle(...) : BigPictureStyle | provenance | MaD:126 | +| Test.java:973:10:973:36 | setBigContentTitle(...) : BigPictureStyle | Test.java:974:9:974:11 | out | provenance | | +| Test.java:979:44:979:88 | (...)... : BigPictureStyle | Test.java:980:10:980:11 | in : BigPictureStyle | provenance | | +| Test.java:979:81:979:88 | source(...) : Object | Test.java:979:44:979:88 | (...)... : BigPictureStyle | provenance | | +| Test.java:980:10:980:11 | in : BigPictureStyle | Test.java:980:10:980:32 | setSummaryText(...) : BigPictureStyle | provenance | MaD:127 | +| Test.java:980:10:980:32 | setSummaryText(...) : BigPictureStyle | Test.java:981:9:981:11 | out | provenance | | +| Test.java:986:41:986:82 | (...)... : BigTextStyle | Test.java:987:10:987:11 | in : BigTextStyle | provenance | | +| Test.java:986:75:986:82 | source(...) : Object | Test.java:986:41:986:82 | (...)... : BigTextStyle | provenance | | +| Test.java:987:10:987:11 | in : BigTextStyle | Test.java:987:10:987:25 | bigText(...) : BigTextStyle | provenance | MaD:128 | +| Test.java:987:10:987:25 | bigText(...) : BigTextStyle | Test.java:988:9:988:11 | out | provenance | | +| Test.java:993:41:993:82 | (...)... : BigTextStyle | Test.java:994:10:994:11 | in : BigTextStyle | provenance | | +| Test.java:993:75:993:82 | source(...) : Object | Test.java:993:41:993:82 | (...)... : BigTextStyle | provenance | | +| Test.java:994:10:994:11 | in : BigTextStyle | Test.java:994:10:994:36 | setBigContentTitle(...) : BigTextStyle | provenance | MaD:129 | +| Test.java:994:10:994:36 | setBigContentTitle(...) : BigTextStyle | Test.java:995:9:995:11 | out | provenance | | +| Test.java:1000:41:1000:82 | (...)... : BigTextStyle | Test.java:1001:10:1001:11 | in : BigTextStyle | provenance | | +| Test.java:1000:75:1000:82 | source(...) : Object | Test.java:1000:41:1000:82 | (...)... : BigTextStyle | provenance | | +| Test.java:1001:10:1001:11 | in : BigTextStyle | Test.java:1001:10:1001:32 | setSummaryText(...) : BigTextStyle | provenance | MaD:130 | +| Test.java:1001:10:1001:32 | setSummaryText(...) : BigTextStyle | Test.java:1002:9:1002:11 | out | provenance | | +| Test.java:1007:35:1007:70 | (...)... : Action | Test.java:1008:18:1008:19 | in : Action | provenance | | +| Test.java:1007:63:1007:70 | source(...) : Object | Test.java:1007:35:1007:70 | (...)... : Action | provenance | | +| Test.java:1008:4:1008:6 | out [post update] : Builder | Test.java:1009:9:1009:11 | out | provenance | | +| Test.java:1008:18:1008:19 | in : Action | Test.java:1008:4:1008:6 | out [post update] : Builder | provenance | MaD:132 | +| Test.java:1014:23:1014:46 | (...)... : PendingIntent | Test.java:1015:27:1015:28 | in : PendingIntent | provenance | | +| Test.java:1014:39:1014:46 | source(...) : Object | Test.java:1014:23:1014:46 | (...)... : PendingIntent | provenance | | +| Test.java:1015:4:1015:6 | out [post update] : Builder | Test.java:1016:9:1016:11 | out | provenance | | +| Test.java:1015:27:1015:28 | in : PendingIntent | Test.java:1015:4:1015:6 | out [post update] : Builder | provenance | MaD:133 | +| Test.java:1021:36:1021:72 | (...)... : Builder | Test.java:1022:10:1022:11 | in : Builder | provenance | | +| Test.java:1021:65:1021:72 | source(...) : Object | Test.java:1021:36:1021:72 | (...)... : Builder | provenance | | +| Test.java:1022:10:1022:11 | in : Builder | Test.java:1022:10:1022:36 | addAction(...) : Builder | provenance | MaD:131 | +| Test.java:1022:10:1022:36 | addAction(...) : Builder | Test.java:1023:9:1023:11 | out | provenance | | +| Test.java:1028:36:1028:72 | (...)... : Builder | Test.java:1029:10:1029:11 | in : Builder | provenance | | +| Test.java:1028:65:1028:72 | source(...) : Object | Test.java:1028:36:1028:72 | (...)... : Builder | provenance | | +| Test.java:1029:10:1029:11 | in : Builder | Test.java:1029:10:1029:27 | addAction(...) : Builder | provenance | MaD:131 | +| Test.java:1029:10:1029:27 | addAction(...) : Builder | Test.java:1030:9:1030:11 | out | provenance | | +| Test.java:1035:36:1035:72 | (...)... : Builder | Test.java:1036:10:1036:11 | in : Builder | provenance | | +| Test.java:1035:65:1035:72 | source(...) : Object | Test.java:1035:36:1035:72 | (...)... : Builder | provenance | | +| Test.java:1036:10:1036:11 | in : Builder | Test.java:1036:10:1036:27 | addExtras(...) : Builder | provenance | MaD:134 | +| Test.java:1036:10:1036:27 | addExtras(...) : Builder | Test.java:1037:9:1037:11 | out | provenance | | +| Test.java:1042:16:1042:54 | (...)... : Bundle [] : String | Test.java:1043:18:1043:19 | in : Bundle [] : String | provenance | | +| Test.java:1042:25:1042:54 | newWithMapKeyDefault(...) : Bundle [] : String | Test.java:1042:16:1042:54 | (...)... : Bundle [] : String | provenance | | +| Test.java:1042:46:1042:53 | source(...) : Object | Test.java:26:30:26:43 | element : Object | provenance | | +| Test.java:1042:46:1042:53 | source(...) : Object | Test.java:1042:25:1042:54 | newWithMapKeyDefault(...) : Bundle [] : String | provenance | MaD:105 | +| Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:1044:26:1044:28 | out : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:1044:26:1044:28 | out : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:1043:18:1043:19 | in : Bundle [] : String | Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:135 | +| Test.java:1043:18:1043:19 | in : Bundle [] : String | Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:135 | +| Test.java:1044:26:1044:28 | out : Builder [android.content.Intent.extras, ] : String | Test.java:1044:26:1044:40 | getExtras(...) : Bundle [] : String | provenance | MaD:141 | +| Test.java:1044:26:1044:28 | out : Builder [android.content.Intent.extras, ] : String | Test.java:1044:26:1044:40 | getExtras(...) : Bundle [] : String | provenance | MaD:141 | +| Test.java:1044:26:1044:40 | getExtras(...) : Bundle [] : String | Test.java:1044:9:1044:41 | getMapKeyDefault(...) | provenance | MaD:194 | +| Test.java:1049:16:1049:56 | (...)... : Bundle [] : String | Test.java:1050:18:1050:19 | in : Bundle [] : String | provenance | | +| Test.java:1049:25:1049:56 | newWithMapValueDefault(...) : Bundle [] : String | Test.java:1049:16:1049:56 | (...)... : Bundle [] : String | provenance | | +| Test.java:1049:48:1049:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | provenance | | +| Test.java:1049:48:1049:55 | source(...) : Object | Test.java:1049:25:1049:56 | newWithMapValueDefault(...) : Bundle [] : String | provenance | MaD:106 | +| Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:1051:28:1051:30 | out : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:1051:28:1051:30 | out : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:1050:18:1050:19 | in : Bundle [] : String | Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:136 | +| Test.java:1050:18:1050:19 | in : Bundle [] : String | Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:136 | +| Test.java:1051:28:1051:30 | out : Builder [android.content.Intent.extras, ] : String | Test.java:1051:28:1051:42 | getExtras(...) : Bundle [] : String | provenance | MaD:141 | +| Test.java:1051:28:1051:30 | out : Builder [android.content.Intent.extras, ] : String | Test.java:1051:28:1051:42 | getExtras(...) : Bundle [] : String | provenance | MaD:141 | +| Test.java:1051:28:1051:42 | getExtras(...) : Bundle [] : String | Test.java:22:28:22:43 | container : Bundle [] : String | provenance | | +| Test.java:1051:28:1051:42 | getExtras(...) : Bundle [] : String | Test.java:1051:9:1051:43 | getMapValueDefault(...) | provenance | MaD:104 | +| Test.java:1056:36:1056:72 | (...)... : Builder | Test.java:1057:10:1057:11 | in : Builder | provenance | | +| Test.java:1056:65:1056:72 | source(...) : Object | Test.java:1056:36:1056:72 | (...)... : Builder | provenance | | +| Test.java:1057:10:1057:11 | in : Builder | Test.java:1057:10:1057:53 | addPerson(...) : Builder | provenance | MaD:137 | +| Test.java:1057:10:1057:53 | addPerson(...) : Builder | Test.java:1058:9:1058:11 | out | provenance | | +| Test.java:1063:36:1063:72 | (...)... : Builder | Test.java:1064:10:1064:11 | in : Builder | provenance | | +| Test.java:1063:65:1063:72 | source(...) : Object | Test.java:1063:36:1063:72 | (...)... : Builder | provenance | | +| Test.java:1064:10:1064:11 | in : Builder | Test.java:1064:10:1064:35 | addPerson(...) : Builder | provenance | MaD:137 | +| Test.java:1064:10:1064:35 | addPerson(...) : Builder | Test.java:1065:9:1065:11 | out | provenance | | +| Test.java:1071:16:1071:56 | (...)... : Bundle [] : String | Test.java:1072:22:1072:23 | in : Bundle [] : String | provenance | | +| Test.java:1071:25:1071:56 | newWithMapValueDefault(...) : Bundle [] : String | Test.java:1071:16:1071:56 | (...)... : Bundle [] : String | provenance | | +| Test.java:1071:48:1071:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | provenance | | +| Test.java:1071:48:1071:55 | source(...) : Object | Test.java:1071:25:1071:56 | newWithMapValueDefault(...) : Bundle [] : String | provenance | MaD:106 | +| Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, ] : String | provenance | | +| Test.java:1072:22:1072:23 | in : Bundle [] : String | Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:136 | +| Test.java:1072:22:1072:23 | in : Bundle [] : String | Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | provenance | MaD:136 | +| Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, ] : String | Test.java:1073:10:1073:24 | build(...) : Notification [extras, ] : String | provenance | MaD:139 | +| Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, ] : String | Test.java:1073:10:1073:24 | build(...) : Notification [extras, ] : String | provenance | MaD:139 | +| Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, ] : String | Test.java:1073:10:1073:24 | build(...) : Notification [extras, ] : String | provenance | MaD:139 | +| Test.java:1073:10:1073:24 | build(...) : Notification [extras, ] : String | Test.java:1074:28:1074:30 | out : Notification [extras, ] : String | provenance | | +| Test.java:1073:10:1073:24 | build(...) : Notification [extras, ] : String | Test.java:1074:28:1074:30 | out : Notification [extras, ] : String | provenance | | +| Test.java:1074:28:1074:30 | out : Notification [extras, ] : String | Test.java:1074:28:1074:37 | out.extras : Bundle [] : String | provenance | | +| Test.java:1074:28:1074:30 | out : Notification [extras, ] : String | Test.java:1074:28:1074:37 | out.extras : Bundle [] : String | provenance | | +| Test.java:1074:28:1074:37 | out.extras : Bundle [] : String | Test.java:22:28:22:43 | container : Bundle [] : String | provenance | | +| Test.java:1074:28:1074:37 | out.extras : Bundle [] : String | Test.java:1074:9:1074:38 | getMapValueDefault(...) | provenance | MaD:104 | +| Test.java:1079:36:1079:72 | (...)... : Builder | Test.java:1080:10:1080:11 | in : Builder | provenance | | +| Test.java:1079:65:1079:72 | source(...) : Object | Test.java:1079:36:1079:72 | (...)... : Builder | provenance | | +| Test.java:1080:10:1080:11 | in : Builder | Test.java:1080:10:1080:19 | build(...) : Notification | provenance | MaD:138 | +| Test.java:1080:10:1080:19 | build(...) : Notification | Test.java:1081:9:1081:11 | out | provenance | | +| Test.java:1086:36:1086:72 | (...)... : Builder | Test.java:1087:10:1087:11 | in : Builder | provenance | | +| Test.java:1086:65:1086:72 | source(...) : Object | Test.java:1086:36:1086:72 | (...)... : Builder | provenance | | +| Test.java:1087:10:1087:11 | in : Builder | Test.java:1087:10:1087:24 | extend(...) : Builder | provenance | MaD:140 | +| Test.java:1087:10:1087:24 | extend(...) : Builder | Test.java:1088:9:1088:11 | out | provenance | | +| Test.java:1093:36:1093:72 | (...)... : Builder | Test.java:1094:10:1094:11 | in : Builder | provenance | | +| Test.java:1093:65:1093:72 | source(...) : Object | Test.java:1093:36:1093:72 | (...)... : Builder | provenance | | +| Test.java:1094:10:1094:11 | in : Builder | Test.java:1094:10:1094:23 | getExtras(...) : Bundle | provenance | MaD:141 | +| Test.java:1094:10:1094:23 | getExtras(...) : Bundle | Test.java:1095:9:1095:11 | out | provenance | | +| Test.java:1100:36:1100:72 | (...)... : Builder | Test.java:1101:10:1101:11 | in : Builder | provenance | | +| Test.java:1100:65:1100:72 | source(...) : Object | Test.java:1100:36:1100:72 | (...)... : Builder | provenance | | +| Test.java:1101:10:1101:11 | in : Builder | Test.java:1101:10:1101:32 | setAutoCancel(...) : Builder | provenance | MaD:142 | +| Test.java:1101:10:1101:32 | setAutoCancel(...) : Builder | Test.java:1102:9:1102:11 | out | provenance | | +| Test.java:1107:36:1107:72 | (...)... : Builder | Test.java:1108:10:1108:11 | in : Builder | provenance | | +| Test.java:1107:65:1107:72 | source(...) : Object | Test.java:1107:36:1107:72 | (...)... : Builder | provenance | | +| Test.java:1108:10:1108:11 | in : Builder | Test.java:1108:10:1108:31 | setBadgeIconType(...) : Builder | provenance | MaD:143 | +| Test.java:1108:10:1108:31 | setBadgeIconType(...) : Builder | Test.java:1109:9:1109:11 | out | provenance | | +| Test.java:1114:36:1114:72 | (...)... : Builder | Test.java:1115:10:1115:11 | in : Builder | provenance | | +| Test.java:1114:65:1114:72 | source(...) : Object | Test.java:1114:36:1114:72 | (...)... : Builder | provenance | | +| Test.java:1115:10:1115:11 | in : Builder | Test.java:1115:10:1115:35 | setBubbleMetadata(...) : Builder | provenance | MaD:144 | +| Test.java:1115:10:1115:35 | setBubbleMetadata(...) : Builder | Test.java:1116:9:1116:11 | out | provenance | | +| Test.java:1121:36:1121:72 | (...)... : Builder | Test.java:1122:10:1122:11 | in : Builder | provenance | | +| Test.java:1121:65:1121:72 | source(...) : Object | Test.java:1121:36:1121:72 | (...)... : Builder | provenance | | +| Test.java:1122:10:1122:11 | in : Builder | Test.java:1122:10:1122:29 | setCategory(...) : Builder | provenance | MaD:145 | +| Test.java:1122:10:1122:29 | setCategory(...) : Builder | Test.java:1123:9:1123:11 | out | provenance | | +| Test.java:1128:36:1128:72 | (...)... : Builder | Test.java:1129:10:1129:11 | in : Builder | provenance | | +| Test.java:1128:65:1128:72 | source(...) : Object | Test.java:1128:36:1128:72 | (...)... : Builder | provenance | | +| Test.java:1129:10:1129:11 | in : Builder | Test.java:1129:10:1129:30 | setChannelId(...) : Builder | provenance | MaD:146 | +| Test.java:1129:10:1129:30 | setChannelId(...) : Builder | Test.java:1130:9:1130:11 | out | provenance | | +| Test.java:1135:36:1135:72 | (...)... : Builder | Test.java:1136:10:1136:11 | in : Builder | provenance | | +| Test.java:1135:65:1135:72 | source(...) : Object | Test.java:1135:36:1135:72 | (...)... : Builder | provenance | | +| Test.java:1136:10:1136:11 | in : Builder | Test.java:1136:10:1136:42 | setChronometerCountDown(...) : Builder | provenance | MaD:147 | +| Test.java:1136:10:1136:42 | setChronometerCountDown(...) : Builder | Test.java:1137:9:1137:11 | out | provenance | | +| Test.java:1142:36:1142:72 | (...)... : Builder | Test.java:1143:10:1143:11 | in : Builder | provenance | | +| Test.java:1142:65:1142:72 | source(...) : Object | Test.java:1142:36:1142:72 | (...)... : Builder | provenance | | +| Test.java:1143:10:1143:11 | in : Builder | Test.java:1143:10:1143:23 | setColor(...) : Builder | provenance | MaD:148 | +| Test.java:1143:10:1143:23 | setColor(...) : Builder | Test.java:1144:9:1144:11 | out | provenance | | +| Test.java:1149:36:1149:72 | (...)... : Builder | Test.java:1150:10:1150:11 | in : Builder | provenance | | +| Test.java:1149:65:1149:72 | source(...) : Object | Test.java:1149:36:1149:72 | (...)... : Builder | provenance | | +| Test.java:1150:10:1150:11 | in : Builder | Test.java:1150:10:1150:31 | setColorized(...) : Builder | provenance | MaD:149 | +| Test.java:1150:10:1150:31 | setColorized(...) : Builder | Test.java:1151:9:1151:11 | out | provenance | | +| Test.java:1156:36:1156:72 | (...)... : Builder | Test.java:1157:10:1157:11 | in : Builder | provenance | | +| Test.java:1156:65:1156:72 | source(...) : Object | Test.java:1156:36:1156:72 | (...)... : Builder | provenance | | +| Test.java:1157:10:1157:11 | in : Builder | Test.java:1157:10:1157:28 | setContent(...) : Builder | provenance | MaD:150 | +| Test.java:1157:10:1157:28 | setContent(...) : Builder | Test.java:1158:9:1158:11 | out | provenance | | +| Test.java:1163:36:1163:72 | (...)... : Builder | Test.java:1164:10:1164:11 | in : Builder | provenance | | +| Test.java:1163:65:1163:72 | source(...) : Object | Test.java:1163:36:1163:72 | (...)... : Builder | provenance | | +| Test.java:1164:10:1164:11 | in : Builder | Test.java:1164:10:1164:32 | setContentInfo(...) : Builder | provenance | MaD:151 | +| Test.java:1164:10:1164:32 | setContentInfo(...) : Builder | Test.java:1165:9:1165:11 | out | provenance | | +| Test.java:1170:36:1170:72 | (...)... : Builder | Test.java:1171:10:1171:11 | in : Builder | provenance | | +| Test.java:1170:65:1170:72 | source(...) : Object | Test.java:1170:36:1170:72 | (...)... : Builder | provenance | | +| Test.java:1171:10:1171:11 | in : Builder | Test.java:1171:10:1171:34 | setContentIntent(...) : Builder | provenance | MaD:152 | +| Test.java:1171:10:1171:34 | setContentIntent(...) : Builder | Test.java:1172:9:1172:11 | out | provenance | | +| Test.java:1177:23:1177:46 | (...)... : PendingIntent | Test.java:1178:25:1178:26 | in : PendingIntent | provenance | | +| Test.java:1177:39:1177:46 | source(...) : Object | Test.java:1177:23:1177:46 | (...)... : PendingIntent | provenance | | +| Test.java:1178:4:1178:6 | out [post update] : Builder | Test.java:1179:9:1179:11 | out | provenance | | +| Test.java:1178:25:1178:26 | in : PendingIntent | Test.java:1178:4:1178:6 | out [post update] : Builder | provenance | MaD:153 | +| Test.java:1184:36:1184:72 | (...)... : Builder | Test.java:1185:10:1185:11 | in : Builder | provenance | | +| Test.java:1184:65:1184:72 | source(...) : Object | Test.java:1184:36:1184:72 | (...)... : Builder | provenance | | +| Test.java:1185:10:1185:11 | in : Builder | Test.java:1185:10:1185:32 | setContentText(...) : Builder | provenance | MaD:154 | +| Test.java:1185:10:1185:32 | setContentText(...) : Builder | Test.java:1186:9:1186:11 | out | provenance | | +| Test.java:1191:36:1191:72 | (...)... : Builder | Test.java:1192:10:1192:11 | in : Builder | provenance | | +| Test.java:1191:65:1191:72 | source(...) : Object | Test.java:1191:36:1191:72 | (...)... : Builder | provenance | | +| Test.java:1192:10:1192:11 | in : Builder | Test.java:1192:10:1192:33 | setContentTitle(...) : Builder | provenance | MaD:155 | +| Test.java:1192:10:1192:33 | setContentTitle(...) : Builder | Test.java:1193:9:1193:11 | out | provenance | | +| Test.java:1198:36:1198:72 | (...)... : Builder | Test.java:1199:10:1199:11 | in : Builder | provenance | | +| Test.java:1198:65:1198:72 | source(...) : Object | Test.java:1198:36:1198:72 | (...)... : Builder | provenance | | +| Test.java:1199:10:1199:11 | in : Builder | Test.java:1199:10:1199:41 | setCustomBigContentView(...) : Builder | provenance | MaD:156 | +| Test.java:1199:10:1199:41 | setCustomBigContentView(...) : Builder | Test.java:1200:9:1200:11 | out | provenance | | +| Test.java:1205:36:1205:72 | (...)... : Builder | Test.java:1206:10:1206:11 | in : Builder | provenance | | +| Test.java:1205:65:1205:72 | source(...) : Object | Test.java:1205:36:1205:72 | (...)... : Builder | provenance | | +| Test.java:1206:10:1206:11 | in : Builder | Test.java:1206:10:1206:45 | setCustomHeadsUpContentView(...) : Builder | provenance | MaD:157 | +| Test.java:1206:10:1206:45 | setCustomHeadsUpContentView(...) : Builder | Test.java:1207:9:1207:11 | out | provenance | | +| Test.java:1212:36:1212:72 | (...)... : Builder | Test.java:1213:10:1213:11 | in : Builder | provenance | | +| Test.java:1212:65:1212:72 | source(...) : Object | Test.java:1212:36:1212:72 | (...)... : Builder | provenance | | +| Test.java:1213:10:1213:11 | in : Builder | Test.java:1213:10:1213:26 | setDefaults(...) : Builder | provenance | MaD:158 | +| Test.java:1213:10:1213:26 | setDefaults(...) : Builder | Test.java:1214:9:1214:11 | out | provenance | | +| Test.java:1219:36:1219:72 | (...)... : Builder | Test.java:1220:10:1220:11 | in : Builder | provenance | | +| Test.java:1219:65:1219:72 | source(...) : Object | Test.java:1219:36:1219:72 | (...)... : Builder | provenance | | +| Test.java:1220:10:1220:11 | in : Builder | Test.java:1220:10:1220:33 | setDeleteIntent(...) : Builder | provenance | MaD:159 | +| Test.java:1220:10:1220:33 | setDeleteIntent(...) : Builder | Test.java:1221:9:1221:11 | out | provenance | | +| Test.java:1226:23:1226:46 | (...)... : PendingIntent | Test.java:1227:24:1227:25 | in : PendingIntent | provenance | | +| Test.java:1226:39:1226:46 | source(...) : Object | Test.java:1226:23:1226:46 | (...)... : PendingIntent | provenance | | +| Test.java:1227:4:1227:6 | out [post update] : Builder | Test.java:1228:9:1228:11 | out | provenance | | +| Test.java:1227:24:1227:25 | in : PendingIntent | Test.java:1227:4:1227:6 | out [post update] : Builder | provenance | MaD:160 | +| Test.java:1233:36:1233:72 | (...)... : Builder | Test.java:1234:10:1234:11 | in : Builder | provenance | | +| Test.java:1233:65:1233:72 | source(...) : Object | Test.java:1233:36:1233:72 | (...)... : Builder | provenance | | +| Test.java:1234:10:1234:11 | in : Builder | Test.java:1234:10:1234:27 | setExtras(...) : Builder | provenance | MaD:161 | +| Test.java:1234:10:1234:27 | setExtras(...) : Builder | Test.java:1235:9:1235:11 | out | provenance | | +| Test.java:1240:16:1240:32 | (...)... : Bundle | Test.java:1241:18:1241:19 | in : Bundle | provenance | | +| Test.java:1240:25:1240:32 | source(...) : Object | Test.java:1240:16:1240:32 | (...)... : Bundle | provenance | | +| Test.java:1241:4:1241:6 | out [post update] : Builder [android.content.Intent.extras] : Bundle | Test.java:1242:9:1242:11 | out : Builder [android.content.Intent.extras] : Bundle | provenance | | +| Test.java:1241:18:1241:19 | in : Bundle | Test.java:1241:4:1241:6 | out [post update] : Builder [android.content.Intent.extras] : Bundle | provenance | MaD:162 | +| Test.java:1242:9:1242:11 | out : Builder [android.content.Intent.extras] : Bundle | Test.java:1242:9:1242:23 | getExtras(...) | provenance | MaD:141 | +| Test.java:1247:36:1247:72 | (...)... : Builder | Test.java:1248:10:1248:11 | in : Builder | provenance | | +| Test.java:1247:65:1247:72 | source(...) : Object | Test.java:1247:36:1247:72 | (...)... : Builder | provenance | | +| Test.java:1248:10:1248:11 | in : Builder | Test.java:1248:10:1248:44 | setFullScreenIntent(...) : Builder | provenance | MaD:163 | +| Test.java:1248:10:1248:44 | setFullScreenIntent(...) : Builder | Test.java:1249:9:1249:11 | out | provenance | | +| Test.java:1254:36:1254:72 | (...)... : Builder | Test.java:1255:10:1255:11 | in : Builder | provenance | | +| Test.java:1254:65:1254:72 | source(...) : Object | Test.java:1254:36:1254:72 | (...)... : Builder | provenance | | +| Test.java:1255:10:1255:11 | in : Builder | Test.java:1255:10:1255:26 | setGroup(...) : Builder | provenance | MaD:164 | +| Test.java:1255:10:1255:26 | setGroup(...) : Builder | Test.java:1256:9:1256:11 | out | provenance | | +| Test.java:1261:36:1261:72 | (...)... : Builder | Test.java:1262:10:1262:11 | in : Builder | provenance | | +| Test.java:1261:65:1261:72 | source(...) : Object | Test.java:1261:36:1261:72 | (...)... : Builder | provenance | | +| Test.java:1262:10:1262:11 | in : Builder | Test.java:1262:10:1262:36 | setGroupAlertBehavior(...) : Builder | provenance | MaD:165 | +| Test.java:1262:10:1262:36 | setGroupAlertBehavior(...) : Builder | Test.java:1263:9:1263:11 | out | provenance | | +| Test.java:1268:36:1268:72 | (...)... : Builder | Test.java:1269:10:1269:11 | in : Builder | provenance | | +| Test.java:1268:65:1268:72 | source(...) : Object | Test.java:1268:36:1268:72 | (...)... : Builder | provenance | | +| Test.java:1269:10:1269:11 | in : Builder | Test.java:1269:10:1269:34 | setGroupSummary(...) : Builder | provenance | MaD:166 | +| Test.java:1269:10:1269:34 | setGroupSummary(...) : Builder | Test.java:1270:9:1270:11 | out | provenance | | +| Test.java:1275:36:1275:72 | (...)... : Builder | Test.java:1276:10:1276:11 | in : Builder | provenance | | +| Test.java:1275:65:1275:72 | source(...) : Object | Test.java:1275:36:1275:72 | (...)... : Builder | provenance | | +| Test.java:1276:10:1276:11 | in : Builder | Test.java:1276:10:1276:38 | setLargeIcon(...) : Builder | provenance | MaD:167 | +| Test.java:1276:10:1276:38 | setLargeIcon(...) : Builder | Test.java:1277:9:1277:11 | out | provenance | | +| Test.java:1282:36:1282:72 | (...)... : Builder | Test.java:1283:10:1283:11 | in : Builder | provenance | | +| Test.java:1282:65:1282:72 | source(...) : Object | Test.java:1282:36:1282:72 | (...)... : Builder | provenance | | +| Test.java:1283:10:1283:11 | in : Builder | Test.java:1283:10:1283:36 | setLargeIcon(...) : Builder | provenance | MaD:167 | +| Test.java:1283:10:1283:36 | setLargeIcon(...) : Builder | Test.java:1284:9:1284:11 | out | provenance | | +| Test.java:1289:36:1289:72 | (...)... : Builder | Test.java:1290:10:1290:11 | in : Builder | provenance | | +| Test.java:1289:65:1289:72 | source(...) : Object | Test.java:1289:36:1289:72 | (...)... : Builder | provenance | | +| Test.java:1290:10:1290:11 | in : Builder | Test.java:1290:10:1290:30 | setLights(...) : Builder | provenance | MaD:168 | +| Test.java:1290:10:1290:30 | setLights(...) : Builder | Test.java:1291:9:1291:11 | out | provenance | | +| Test.java:1296:36:1296:72 | (...)... : Builder | Test.java:1297:10:1297:11 | in : Builder | provenance | | +| Test.java:1296:65:1296:72 | source(...) : Object | Test.java:1296:36:1296:72 | (...)... : Builder | provenance | | +| Test.java:1297:10:1297:11 | in : Builder | Test.java:1297:10:1297:31 | setLocalOnly(...) : Builder | provenance | MaD:169 | +| Test.java:1297:10:1297:31 | setLocalOnly(...) : Builder | Test.java:1298:9:1298:11 | out | provenance | | +| Test.java:1303:36:1303:72 | (...)... : Builder | Test.java:1304:10:1304:11 | in : Builder | provenance | | +| Test.java:1303:65:1303:72 | source(...) : Object | Test.java:1303:36:1303:72 | (...)... : Builder | provenance | | +| Test.java:1304:10:1304:11 | in : Builder | Test.java:1304:10:1304:24 | setNumber(...) : Builder | provenance | MaD:170 | +| Test.java:1304:10:1304:24 | setNumber(...) : Builder | Test.java:1305:9:1305:11 | out | provenance | | +| Test.java:1310:36:1310:72 | (...)... : Builder | Test.java:1311:10:1311:11 | in : Builder | provenance | | +| Test.java:1310:65:1310:72 | source(...) : Object | Test.java:1310:36:1310:72 | (...)... : Builder | provenance | | +| Test.java:1311:10:1311:11 | in : Builder | Test.java:1311:10:1311:29 | setOngoing(...) : Builder | provenance | MaD:171 | +| Test.java:1311:10:1311:29 | setOngoing(...) : Builder | Test.java:1312:9:1312:11 | out | provenance | | +| Test.java:1317:36:1317:72 | (...)... : Builder | Test.java:1318:10:1318:11 | in : Builder | provenance | | +| Test.java:1317:65:1317:72 | source(...) : Object | Test.java:1317:36:1317:72 | (...)... : Builder | provenance | | +| Test.java:1318:10:1318:11 | in : Builder | Test.java:1318:10:1318:35 | setOnlyAlertOnce(...) : Builder | provenance | MaD:172 | +| Test.java:1318:10:1318:35 | setOnlyAlertOnce(...) : Builder | Test.java:1319:9:1319:11 | out | provenance | | +| Test.java:1324:36:1324:72 | (...)... : Builder | Test.java:1325:10:1325:11 | in : Builder | provenance | | +| Test.java:1324:65:1324:72 | source(...) : Object | Test.java:1324:36:1324:72 | (...)... : Builder | provenance | | +| Test.java:1325:10:1325:11 | in : Builder | Test.java:1325:10:1325:26 | setPriority(...) : Builder | provenance | MaD:173 | +| Test.java:1325:10:1325:26 | setPriority(...) : Builder | Test.java:1326:9:1326:11 | out | provenance | | +| Test.java:1331:36:1331:72 | (...)... : Builder | Test.java:1332:10:1332:11 | in : Builder | provenance | | +| Test.java:1331:65:1331:72 | source(...) : Object | Test.java:1331:36:1331:72 | (...)... : Builder | provenance | | +| Test.java:1332:10:1332:11 | in : Builder | Test.java:1332:10:1332:36 | setProgress(...) : Builder | provenance | MaD:174 | +| Test.java:1332:10:1332:36 | setProgress(...) : Builder | Test.java:1333:9:1333:11 | out | provenance | | +| Test.java:1338:36:1338:72 | (...)... : Builder | Test.java:1339:10:1339:11 | in : Builder | provenance | | +| Test.java:1338:65:1338:72 | source(...) : Object | Test.java:1338:36:1338:72 | (...)... : Builder | provenance | | +| Test.java:1339:10:1339:11 | in : Builder | Test.java:1339:10:1339:34 | setPublicVersion(...) : Builder | provenance | MaD:175 | +| Test.java:1339:10:1339:34 | setPublicVersion(...) : Builder | Test.java:1340:9:1340:11 | out | provenance | | +| Test.java:1345:22:1345:44 | (...)... : Notification | Test.java:1346:25:1346:26 | in : Notification | provenance | | +| Test.java:1345:37:1345:44 | source(...) : Object | Test.java:1345:22:1345:44 | (...)... : Notification | provenance | | +| Test.java:1346:4:1346:6 | out [post update] : Builder | Test.java:1347:9:1347:11 | out | provenance | | +| Test.java:1346:25:1346:26 | in : Notification | Test.java:1346:4:1346:6 | out [post update] : Builder | provenance | MaD:176 | +| Test.java:1352:36:1352:72 | (...)... : Builder | Test.java:1353:10:1353:11 | in : Builder | provenance | | +| Test.java:1352:65:1352:72 | source(...) : Object | Test.java:1352:36:1352:72 | (...)... : Builder | provenance | | +| Test.java:1353:10:1353:11 | in : Builder | Test.java:1353:10:1353:39 | setRemoteInputHistory(...) : Builder | provenance | MaD:177 | +| Test.java:1353:10:1353:39 | setRemoteInputHistory(...) : Builder | Test.java:1354:9:1354:11 | out | provenance | | +| Test.java:1359:36:1359:72 | (...)... : Builder | Test.java:1360:10:1360:11 | in : Builder | provenance | | +| Test.java:1359:65:1359:72 | source(...) : Object | Test.java:1359:36:1359:72 | (...)... : Builder | provenance | | +| Test.java:1360:10:1360:11 | in : Builder | Test.java:1360:10:1360:31 | setShortcutId(...) : Builder | provenance | MaD:178 | +| Test.java:1360:10:1360:31 | setShortcutId(...) : Builder | Test.java:1361:9:1361:11 | out | provenance | | +| Test.java:1366:36:1366:72 | (...)... : Builder | Test.java:1367:10:1367:11 | in : Builder | provenance | | +| Test.java:1366:65:1366:72 | source(...) : Object | Test.java:1366:36:1366:72 | (...)... : Builder | provenance | | +| Test.java:1367:10:1367:11 | in : Builder | Test.java:1367:10:1367:30 | setShowWhen(...) : Builder | provenance | MaD:179 | +| Test.java:1367:10:1367:30 | setShowWhen(...) : Builder | Test.java:1368:9:1368:11 | out | provenance | | +| Test.java:1373:36:1373:72 | (...)... : Builder | Test.java:1374:10:1374:11 | in : Builder | provenance | | +| Test.java:1373:65:1373:72 | source(...) : Object | Test.java:1373:36:1373:72 | (...)... : Builder | provenance | | +| Test.java:1374:10:1374:11 | in : Builder | Test.java:1374:10:1374:27 | setSmallIcon(...) : Builder | provenance | MaD:180 | +| Test.java:1374:10:1374:27 | setSmallIcon(...) : Builder | Test.java:1375:9:1375:11 | out | provenance | | +| Test.java:1380:36:1380:72 | (...)... : Builder | Test.java:1381:10:1381:11 | in : Builder | provenance | | +| Test.java:1380:65:1380:72 | source(...) : Object | Test.java:1380:36:1380:72 | (...)... : Builder | provenance | | +| Test.java:1381:10:1381:11 | in : Builder | Test.java:1381:10:1381:30 | setSmallIcon(...) : Builder | provenance | MaD:180 | +| Test.java:1381:10:1381:30 | setSmallIcon(...) : Builder | Test.java:1382:9:1382:11 | out | provenance | | +| Test.java:1387:36:1387:72 | (...)... : Builder | Test.java:1388:10:1388:11 | in : Builder | provenance | | +| Test.java:1387:65:1387:72 | source(...) : Object | Test.java:1387:36:1387:72 | (...)... : Builder | provenance | | +| Test.java:1388:10:1388:11 | in : Builder | Test.java:1388:10:1388:28 | setSortKey(...) : Builder | provenance | MaD:181 | +| Test.java:1388:10:1388:28 | setSortKey(...) : Builder | Test.java:1389:9:1389:11 | out | provenance | | +| Test.java:1394:36:1394:72 | (...)... : Builder | Test.java:1395:10:1395:11 | in : Builder | provenance | | +| Test.java:1394:65:1394:72 | source(...) : Object | Test.java:1394:36:1394:72 | (...)... : Builder | provenance | | +| Test.java:1395:10:1395:11 | in : Builder | Test.java:1395:10:1395:26 | setSound(...) : Builder | provenance | MaD:182 | +| Test.java:1395:10:1395:26 | setSound(...) : Builder | Test.java:1396:9:1396:11 | out | provenance | | +| Test.java:1401:36:1401:72 | (...)... : Builder | Test.java:1402:10:1402:11 | in : Builder | provenance | | +| Test.java:1401:65:1401:72 | source(...) : Object | Test.java:1401:36:1401:72 | (...)... : Builder | provenance | | +| Test.java:1402:10:1402:11 | in : Builder | Test.java:1402:10:1402:29 | setSound(...) : Builder | provenance | MaD:182 | +| Test.java:1402:10:1402:29 | setSound(...) : Builder | Test.java:1403:9:1403:11 | out | provenance | | +| Test.java:1408:36:1408:72 | (...)... : Builder | Test.java:1409:10:1409:11 | in : Builder | provenance | | +| Test.java:1408:65:1408:72 | source(...) : Object | Test.java:1408:36:1408:72 | (...)... : Builder | provenance | | +| Test.java:1409:10:1409:11 | in : Builder | Test.java:1409:10:1409:26 | setStyle(...) : Builder | provenance | MaD:183 | +| Test.java:1409:10:1409:26 | setStyle(...) : Builder | Test.java:1410:9:1410:11 | out | provenance | | +| Test.java:1415:36:1415:72 | (...)... : Builder | Test.java:1416:10:1416:11 | in : Builder | provenance | | +| Test.java:1415:65:1415:72 | source(...) : Object | Test.java:1415:36:1415:72 | (...)... : Builder | provenance | | +| Test.java:1416:10:1416:11 | in : Builder | Test.java:1416:10:1416:28 | setSubText(...) : Builder | provenance | MaD:184 | +| Test.java:1416:10:1416:28 | setSubText(...) : Builder | Test.java:1417:9:1417:11 | out | provenance | | +| Test.java:1422:36:1422:72 | (...)... : Builder | Test.java:1423:10:1423:11 | in : Builder | provenance | | +| Test.java:1422:65:1422:72 | source(...) : Object | Test.java:1422:36:1422:72 | (...)... : Builder | provenance | | +| Test.java:1423:10:1423:11 | in : Builder | Test.java:1423:10:1423:27 | setTicker(...) : Builder | provenance | MaD:185 | +| Test.java:1423:10:1423:27 | setTicker(...) : Builder | Test.java:1424:9:1424:11 | out | provenance | | +| Test.java:1429:36:1429:72 | (...)... : Builder | Test.java:1430:10:1430:11 | in : Builder | provenance | | +| Test.java:1429:65:1429:72 | source(...) : Object | Test.java:1429:36:1429:72 | (...)... : Builder | provenance | | +| Test.java:1430:10:1430:11 | in : Builder | Test.java:1430:10:1430:33 | setTicker(...) : Builder | provenance | MaD:185 | +| Test.java:1430:10:1430:33 | setTicker(...) : Builder | Test.java:1431:9:1431:11 | out | provenance | | +| Test.java:1436:36:1436:72 | (...)... : Builder | Test.java:1437:10:1437:11 | in : Builder | provenance | | +| Test.java:1436:65:1436:72 | source(...) : Object | Test.java:1436:36:1436:72 | (...)... : Builder | provenance | | +| Test.java:1437:10:1437:11 | in : Builder | Test.java:1437:10:1437:31 | setTimeoutAfter(...) : Builder | provenance | MaD:186 | +| Test.java:1437:10:1437:31 | setTimeoutAfter(...) : Builder | Test.java:1438:9:1438:11 | out | provenance | | +| Test.java:1443:36:1443:72 | (...)... : Builder | Test.java:1444:10:1444:11 | in : Builder | provenance | | +| Test.java:1443:65:1443:72 | source(...) : Object | Test.java:1443:36:1443:72 | (...)... : Builder | provenance | | +| Test.java:1444:10:1444:11 | in : Builder | Test.java:1444:10:1444:37 | setUsesChronometer(...) : Builder | provenance | MaD:187 | +| Test.java:1444:10:1444:37 | setUsesChronometer(...) : Builder | Test.java:1445:9:1445:11 | out | provenance | | +| Test.java:1450:36:1450:72 | (...)... : Builder | Test.java:1451:10:1451:11 | in : Builder | provenance | | +| Test.java:1450:65:1450:72 | source(...) : Object | Test.java:1450:36:1450:72 | (...)... : Builder | provenance | | +| Test.java:1451:10:1451:11 | in : Builder | Test.java:1451:10:1451:28 | setVibrate(...) : Builder | provenance | MaD:188 | +| Test.java:1451:10:1451:28 | setVibrate(...) : Builder | Test.java:1452:9:1452:11 | out | provenance | | +| Test.java:1457:36:1457:72 | (...)... : Builder | Test.java:1458:10:1458:11 | in : Builder | provenance | | +| Test.java:1457:65:1457:72 | source(...) : Object | Test.java:1457:36:1457:72 | (...)... : Builder | provenance | | +| Test.java:1458:10:1458:11 | in : Builder | Test.java:1458:10:1458:28 | setVisibility(...) : Builder | provenance | MaD:189 | +| Test.java:1458:10:1458:28 | setVisibility(...) : Builder | Test.java:1459:9:1459:11 | out | provenance | | +| Test.java:1464:36:1464:72 | (...)... : Builder | Test.java:1465:10:1465:11 | in : Builder | provenance | | +| Test.java:1464:65:1464:72 | source(...) : Object | Test.java:1464:36:1464:72 | (...)... : Builder | provenance | | +| Test.java:1465:10:1465:11 | in : Builder | Test.java:1465:10:1465:23 | setWhen(...) : Builder | provenance | MaD:190 | +| Test.java:1465:10:1465:23 | setWhen(...) : Builder | Test.java:1466:9:1466:11 | out | provenance | | +| Test.java:1471:39:1471:78 | (...)... : InboxStyle | Test.java:1472:10:1472:11 | in : InboxStyle | provenance | | +| Test.java:1471:71:1471:78 | source(...) : Object | Test.java:1471:39:1471:78 | (...)... : InboxStyle | provenance | | +| Test.java:1472:10:1472:11 | in : InboxStyle | Test.java:1472:10:1472:25 | addLine(...) : InboxStyle | provenance | MaD:191 | +| Test.java:1472:10:1472:25 | addLine(...) : InboxStyle | Test.java:1473:9:1473:11 | out | provenance | | +| Test.java:1478:39:1478:78 | (...)... : InboxStyle | Test.java:1479:10:1479:11 | in : InboxStyle | provenance | | +| Test.java:1478:71:1478:78 | source(...) : Object | Test.java:1478:39:1478:78 | (...)... : InboxStyle | provenance | | +| Test.java:1479:10:1479:11 | in : InboxStyle | Test.java:1479:10:1479:36 | setBigContentTitle(...) : InboxStyle | provenance | MaD:192 | +| Test.java:1479:10:1479:36 | setBigContentTitle(...) : InboxStyle | Test.java:1480:9:1480:11 | out | provenance | | +| Test.java:1485:39:1485:78 | (...)... : InboxStyle | Test.java:1486:10:1486:11 | in : InboxStyle | provenance | | +| Test.java:1485:71:1485:78 | source(...) : Object | Test.java:1485:39:1485:78 | (...)... : InboxStyle | provenance | | +| Test.java:1486:10:1486:11 | in : InboxStyle | Test.java:1486:10:1486:32 | setSummaryText(...) : InboxStyle | provenance | MaD:193 | +| Test.java:1486:10:1486:32 | setSummaryText(...) : InboxStyle | Test.java:1487:9:1487:11 | out | provenance | | +nodes +| Test.java:22:28:22:43 | container : Bundle [] : String | semmle.label | container : Bundle [] : String | +| Test.java:23:10:23:18 | container : Bundle [] : String | semmle.label | container : Bundle [] : String | +| Test.java:23:10:23:29 | get(...) : String | semmle.label | get(...) : String | +| Test.java:26:30:26:43 | element : Object | semmle.label | element : Object | +| Test.java:28:3:28:8 | bundle [post update] : Bundle [] : String | semmle.label | bundle [post update] : Bundle [] : String | +| Test.java:28:20:28:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:29:10:29:15 | bundle : Bundle [] : String | semmle.label | bundle : Bundle [] : String | +| Test.java:32:32:32:45 | element : Object | semmle.label | element : Object | +| Test.java:34:3:34:8 | bundle [post update] : Bundle [] : String | semmle.label | bundle [post update] : Bundle [] : String | +| Test.java:34:27:34:42 | (...)... : String | semmle.label | (...)... : String | +| Test.java:35:10:35:15 | bundle : Bundle [] : String | semmle.label | bundle : Bundle [] : String | +| Test.java:49:29:49:58 | (...)... : Action | semmle.label | (...)... : Action | +| Test.java:49:51:49:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:50:10:50:44 | new Builder(...) : Builder | semmle.label | new Builder(...) : Builder | +| Test.java:50:42:50:43 | in : Action | semmle.label | in : Action | +| Test.java:51:9:51:11 | out | semmle.label | out | +| Test.java:56:23:56:46 | (...)... : PendingIntent | semmle.label | (...)... : PendingIntent | +| Test.java:56:39:56:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:57:10:57:78 | new Builder(...) : Builder | semmle.label | new Builder(...) : Builder | +| Test.java:57:76:57:77 | in : PendingIntent | semmle.label | in : PendingIntent | +| Test.java:58:9:58:11 | out | semmle.label | out | +| Test.java:63:23:63:46 | (...)... : PendingIntent | semmle.label | (...)... : PendingIntent | +| Test.java:63:39:63:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:64:10:64:68 | new Builder(...) : Builder | semmle.label | new Builder(...) : Builder | +| Test.java:64:66:64:67 | in : PendingIntent | semmle.label | in : PendingIntent | +| Test.java:65:9:65:11 | out | semmle.label | out | +| Test.java:70:37:70:74 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:70:67:70:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:71:10:71:11 | in : Builder | semmle.label | in : Builder | +| Test.java:71:10:71:27 | addExtras(...) : Builder | semmle.label | addExtras(...) : Builder | +| Test.java:72:9:72:11 | out | semmle.label | out | +| Test.java:79:16:79:54 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:79:25:79:54 | newWithMapKeyDefault(...) : Bundle [] : String | semmle.label | newWithMapKeyDefault(...) : Bundle [] : String | +| Test.java:79:46:79:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:80:18:80:19 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:81:9:81:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, ] : String | semmle.label | out : Builder [android.content.Intent.extras, ] : String | +| Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, ] : String | semmle.label | out : Builder [android.content.Intent.extras, ] : String | +| Test.java:81:26:81:40 | getExtras(...) : Bundle [] : String | semmle.label | getExtras(...) : Bundle [] : String | +| Test.java:88:16:88:56 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:88:25:88:56 | newWithMapValueDefault(...) : Bundle [] : String | semmle.label | newWithMapValueDefault(...) : Bundle [] : String | +| Test.java:88:48:88:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:89:18:89:19 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:90:9:90:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, ] : String | semmle.label | out : Builder [android.content.Intent.extras, ] : String | +| Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, ] : String | semmle.label | out : Builder [android.content.Intent.extras, ] : String | +| Test.java:90:28:90:42 | getExtras(...) : Bundle [] : String | semmle.label | getExtras(...) : Bundle [] : String | +| Test.java:95:37:95:74 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:95:67:95:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:96:10:96:11 | in : Builder | semmle.label | in : Builder | +| Test.java:96:10:96:32 | addRemoteInput(...) : Builder | semmle.label | addRemoteInput(...) : Builder | +| Test.java:97:9:97:11 | out | semmle.label | out | +| Test.java:102:37:102:74 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:102:67:102:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:103:10:103:11 | in : Builder | semmle.label | in : Builder | +| Test.java:103:10:103:19 | build(...) : Action | semmle.label | build(...) : Action | +| Test.java:104:9:104:11 | out | semmle.label | out | +| Test.java:112:16:112:56 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:112:25:112:56 | newWithMapValueDefault(...) : Bundle [] : String | semmle.label | newWithMapValueDefault(...) : Bundle [] : String | +| Test.java:112:48:112:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | builder [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | builder [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:113:22:113:23 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, ] : String | semmle.label | builder : Builder [android.content.Intent.extras, ] : String | +| Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, ] : String | semmle.label | builder : Builder [android.content.Intent.extras, ] : String | +| Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, ] : String | semmle.label | build(...) : Action [android.content.Intent.extras, ] : String | +| Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, ] : String | semmle.label | build(...) : Action [android.content.Intent.extras, ] : String | +| Test.java:115:9:115:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, ] : String | semmle.label | out : Action [android.content.Intent.extras, ] : String | +| Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, ] : String | semmle.label | out : Action [android.content.Intent.extras, ] : String | +| Test.java:115:28:115:42 | getExtras(...) : Bundle [] : String | semmle.label | getExtras(...) : Bundle [] : String | +| Test.java:120:37:120:74 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:120:67:120:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:121:10:121:11 | in : Builder | semmle.label | in : Builder | +| Test.java:121:10:121:24 | extend(...) : Builder | semmle.label | extend(...) : Builder | +| Test.java:122:9:122:11 | out | semmle.label | out | +| Test.java:128:37:128:74 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:128:67:128:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:129:10:129:11 | in : Builder | semmle.label | in : Builder | +| Test.java:129:10:129:23 | getExtras(...) : Bundle | semmle.label | getExtras(...) : Bundle | +| Test.java:130:9:130:11 | out | semmle.label | out | +| Test.java:135:37:135:74 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:135:67:135:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:136:10:136:11 | in : Builder | semmle.label | in : Builder | +| Test.java:136:10:136:43 | setAllowGeneratedReplies(...) : Builder | semmle.label | setAllowGeneratedReplies(...) : Builder | +| Test.java:137:9:137:11 | out | semmle.label | out | +| Test.java:142:37:142:74 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:142:67:142:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:143:10:143:11 | in : Builder | semmle.label | in : Builder | +| Test.java:143:10:143:44 | setAuthenticationRequired(...) : Builder | semmle.label | setAuthenticationRequired(...) : Builder | +| Test.java:144:9:144:11 | out | semmle.label | out | +| Test.java:149:37:149:74 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:149:67:149:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:150:10:150:11 | in : Builder | semmle.label | in : Builder | +| Test.java:150:10:150:32 | setContextual(...) : Builder | semmle.label | setContextual(...) : Builder | +| Test.java:151:9:151:11 | out | semmle.label | out | +| Test.java:156:37:156:74 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:156:67:156:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:157:10:157:11 | in : Builder | semmle.label | in : Builder | +| Test.java:157:10:157:32 | setSemanticAction(...) : Builder | semmle.label | setSemanticAction(...) : Builder | +| Test.java:158:9:158:11 | out | semmle.label | out | +| Test.java:163:23:163:46 | (...)... : PendingIntent | semmle.label | (...)... : PendingIntent | +| Test.java:163:39:163:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:164:10:164:45 | new Action(...) : Action | semmle.label | new Action(...) : Action | +| Test.java:164:43:164:44 | in : PendingIntent | semmle.label | in : PendingIntent | +| Test.java:165:9:165:11 | out | semmle.label | out | +| Test.java:170:29:170:58 | (...)... : Action | semmle.label | (...)... : Action | +| Test.java:170:51:170:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:171:4:171:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:171:18:171:19 | in : Action | semmle.label | in : Action | +| Test.java:172:9:172:11 | out | semmle.label | out | +| Test.java:177:23:177:46 | (...)... : PendingIntent | semmle.label | (...)... : PendingIntent | +| Test.java:177:39:177:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:178:4:178:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:178:27:178:28 | in : PendingIntent | semmle.label | in : PendingIntent | +| Test.java:179:9:179:11 | out | semmle.label | out | +| Test.java:184:30:184:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:184:53:184:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:185:10:185:11 | in : Builder | semmle.label | in : Builder | +| Test.java:185:10:185:27 | addAction(...) : Builder | semmle.label | addAction(...) : Builder | +| Test.java:186:9:186:11 | out | semmle.label | out | +| Test.java:191:30:191:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:191:53:191:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:192:10:192:11 | in : Builder | semmle.label | in : Builder | +| Test.java:192:10:192:36 | addAction(...) : Builder | semmle.label | addAction(...) : Builder | +| Test.java:193:9:193:11 | out | semmle.label | out | +| Test.java:198:30:198:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:198:53:198:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:199:10:199:11 | in : Builder | semmle.label | in : Builder | +| Test.java:199:10:199:27 | addExtras(...) : Builder | semmle.label | addExtras(...) : Builder | +| Test.java:200:9:200:11 | out | semmle.label | out | +| Test.java:206:16:206:54 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:206:25:206:54 | newWithMapKeyDefault(...) : Bundle [] : String | semmle.label | newWithMapKeyDefault(...) : Bundle [] : String | +| Test.java:206:46:206:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:207:18:207:19 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:208:9:208:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:208:26:208:28 | out : Builder [android.content.Intent.extras, ] : String | semmle.label | out : Builder [android.content.Intent.extras, ] : String | +| Test.java:208:26:208:28 | out : Builder [android.content.Intent.extras, ] : String | semmle.label | out : Builder [android.content.Intent.extras, ] : String | +| Test.java:208:26:208:40 | getExtras(...) : Bundle [] : String | semmle.label | getExtras(...) : Bundle [] : String | +| Test.java:214:16:214:56 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:214:25:214:56 | newWithMapValueDefault(...) : Bundle [] : String | semmle.label | newWithMapValueDefault(...) : Bundle [] : String | +| Test.java:214:48:214:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:215:18:215:19 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:216:9:216:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:216:28:216:30 | out : Builder [android.content.Intent.extras, ] : String | semmle.label | out : Builder [android.content.Intent.extras, ] : String | +| Test.java:216:28:216:30 | out : Builder [android.content.Intent.extras, ] : String | semmle.label | out : Builder [android.content.Intent.extras, ] : String | +| Test.java:216:28:216:42 | getExtras(...) : Bundle [] : String | semmle.label | getExtras(...) : Bundle [] : String | +| Test.java:221:30:221:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:221:53:221:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:222:10:222:11 | in : Builder | semmle.label | in : Builder | +| Test.java:222:10:222:36 | addPerson(...) : Builder | semmle.label | addPerson(...) : Builder | +| Test.java:223:9:223:11 | out | semmle.label | out | +| Test.java:228:30:228:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:228:53:228:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:229:10:229:11 | in : Builder | semmle.label | in : Builder | +| Test.java:229:10:229:36 | addPerson(...) : Builder | semmle.label | addPerson(...) : Builder | +| Test.java:230:9:230:11 | out | semmle.label | out | +| Test.java:235:30:235:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:235:53:235:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:236:10:236:11 | in : Builder | semmle.label | in : Builder | +| Test.java:236:10:236:19 | build(...) : Notification | semmle.label | build(...) : Notification | +| Test.java:237:9:237:11 | out | semmle.label | out | +| Test.java:244:16:244:56 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:244:25:244:56 | newWithMapValueDefault(...) : Bundle [] : String | semmle.label | newWithMapValueDefault(...) : Bundle [] : String | +| Test.java:244:48:244:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | builder [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | builder [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:245:22:245:23 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, ] : String | semmle.label | builder : Builder [android.content.Intent.extras, ] : String | +| Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, ] : String | semmle.label | builder : Builder [android.content.Intent.extras, ] : String | +| Test.java:246:10:246:24 | build(...) : Notification [extras, ] : String | semmle.label | build(...) : Notification [extras, ] : String | +| Test.java:246:10:246:24 | build(...) : Notification [extras, ] : String | semmle.label | build(...) : Notification [extras, ] : String | +| Test.java:247:9:247:38 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:247:28:247:30 | out : Notification [extras, ] : String | semmle.label | out : Notification [extras, ] : String | +| Test.java:247:28:247:30 | out : Notification [extras, ] : String | semmle.label | out : Notification [extras, ] : String | +| Test.java:247:28:247:37 | out.extras : Bundle [] : String | semmle.label | out.extras : Bundle [] : String | +| Test.java:252:30:252:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:252:53:252:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:253:10:253:11 | in : Builder | semmle.label | in : Builder | +| Test.java:253:10:253:24 | extend(...) : Builder | semmle.label | extend(...) : Builder | +| Test.java:254:9:254:11 | out | semmle.label | out | +| Test.java:260:30:260:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:260:53:260:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:261:10:261:11 | in : Builder | semmle.label | in : Builder | +| Test.java:261:10:261:23 | getExtras(...) : Bundle | semmle.label | getExtras(...) : Bundle | +| Test.java:262:9:262:11 | out | semmle.label | out | +| Test.java:267:22:267:44 | (...)... : Notification | semmle.label | (...)... : Notification | +| Test.java:267:37:267:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:268:10:268:54 | recoverBuilder(...) : Builder | semmle.label | recoverBuilder(...) : Builder | +| Test.java:268:52:268:53 | in : Notification | semmle.label | in : Notification | +| Test.java:269:9:269:11 | out | semmle.label | out | +| Test.java:274:30:274:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:274:53:274:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:275:10:275:11 | in : Builder | semmle.label | in : Builder | +| Test.java:275:10:275:52 | setActions(...) : Builder | semmle.label | setActions(...) : Builder | +| Test.java:276:9:276:11 | out | semmle.label | out | +| Test.java:282:31:283:36 | (...)... : Action[] [[]] : Action | semmle.label | (...)... : Action[] [[]] : Action | +| Test.java:282:55:283:36 | {...} : Action[] [[]] : Action | semmle.label | {...} : Action[] [[]] : Action | +| Test.java:283:6:283:35 | (...)... : Action | semmle.label | (...)... : Action | +| Test.java:283:28:283:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:284:4:284:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:284:19:284:20 | in : Action[] [[]] : Action | semmle.label | in : Action[] [[]] : Action | +| Test.java:285:9:285:11 | out | semmle.label | out | +| Test.java:290:30:290:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:290:53:290:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:291:10:291:11 | in : Builder | semmle.label | in : Builder | +| Test.java:291:10:291:32 | setAutoCancel(...) : Builder | semmle.label | setAutoCancel(...) : Builder | +| Test.java:292:9:292:11 | out | semmle.label | out | +| Test.java:297:30:297:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:297:53:297:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:298:10:298:11 | in : Builder | semmle.label | in : Builder | +| Test.java:298:10:298:31 | setBadgeIconType(...) : Builder | semmle.label | setBadgeIconType(...) : Builder | +| Test.java:299:9:299:11 | out | semmle.label | out | +| Test.java:304:30:304:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:304:53:304:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:305:10:305:11 | in : Builder | semmle.label | in : Builder | +| Test.java:305:10:305:35 | setBubbleMetadata(...) : Builder | semmle.label | setBubbleMetadata(...) : Builder | +| Test.java:306:9:306:11 | out | semmle.label | out | +| Test.java:311:30:311:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:311:53:311:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:312:10:312:11 | in : Builder | semmle.label | in : Builder | +| Test.java:312:10:312:29 | setCategory(...) : Builder | semmle.label | setCategory(...) : Builder | +| Test.java:313:9:313:11 | out | semmle.label | out | +| Test.java:318:30:318:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:318:53:318:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:319:10:319:11 | in : Builder | semmle.label | in : Builder | +| Test.java:319:10:319:30 | setChannelId(...) : Builder | semmle.label | setChannelId(...) : Builder | +| Test.java:320:9:320:11 | out | semmle.label | out | +| Test.java:325:30:325:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:325:53:325:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:326:10:326:11 | in : Builder | semmle.label | in : Builder | +| Test.java:326:10:326:42 | setChronometerCountDown(...) : Builder | semmle.label | setChronometerCountDown(...) : Builder | +| Test.java:327:9:327:11 | out | semmle.label | out | +| Test.java:332:30:332:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:332:53:332:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:333:10:333:11 | in : Builder | semmle.label | in : Builder | +| Test.java:333:10:333:23 | setColor(...) : Builder | semmle.label | setColor(...) : Builder | +| Test.java:334:9:334:11 | out | semmle.label | out | +| Test.java:339:30:339:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:339:53:339:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:340:10:340:11 | in : Builder | semmle.label | in : Builder | +| Test.java:340:10:340:31 | setColorized(...) : Builder | semmle.label | setColorized(...) : Builder | +| Test.java:341:9:341:11 | out | semmle.label | out | +| Test.java:346:30:346:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:346:53:346:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:347:10:347:11 | in : Builder | semmle.label | in : Builder | +| Test.java:347:10:347:28 | setContent(...) : Builder | semmle.label | setContent(...) : Builder | +| Test.java:348:9:348:11 | out | semmle.label | out | +| Test.java:353:30:353:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:353:53:353:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:354:10:354:11 | in : Builder | semmle.label | in : Builder | +| Test.java:354:10:354:32 | setContentInfo(...) : Builder | semmle.label | setContentInfo(...) : Builder | +| Test.java:355:9:355:11 | out | semmle.label | out | +| Test.java:360:30:360:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:360:53:360:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:361:10:361:11 | in : Builder | semmle.label | in : Builder | +| Test.java:361:10:361:34 | setContentIntent(...) : Builder | semmle.label | setContentIntent(...) : Builder | +| Test.java:362:9:362:11 | out | semmle.label | out | +| Test.java:367:23:367:46 | (...)... : PendingIntent | semmle.label | (...)... : PendingIntent | +| Test.java:367:39:367:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:368:4:368:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:368:25:368:26 | in : PendingIntent | semmle.label | in : PendingIntent | +| Test.java:369:9:369:11 | out | semmle.label | out | +| Test.java:374:30:374:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:374:53:374:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:375:10:375:11 | in : Builder | semmle.label | in : Builder | +| Test.java:375:10:375:32 | setContentText(...) : Builder | semmle.label | setContentText(...) : Builder | +| Test.java:376:9:376:11 | out | semmle.label | out | +| Test.java:381:30:381:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:381:53:381:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:382:10:382:11 | in : Builder | semmle.label | in : Builder | +| Test.java:382:10:382:33 | setContentTitle(...) : Builder | semmle.label | setContentTitle(...) : Builder | +| Test.java:383:9:383:11 | out | semmle.label | out | +| Test.java:388:30:388:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:388:53:388:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:389:10:389:11 | in : Builder | semmle.label | in : Builder | +| Test.java:389:10:389:41 | setCustomBigContentView(...) : Builder | semmle.label | setCustomBigContentView(...) : Builder | +| Test.java:390:9:390:11 | out | semmle.label | out | +| Test.java:395:30:395:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:395:53:395:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:396:10:396:11 | in : Builder | semmle.label | in : Builder | +| Test.java:396:10:396:45 | setCustomHeadsUpContentView(...) : Builder | semmle.label | setCustomHeadsUpContentView(...) : Builder | +| Test.java:397:9:397:11 | out | semmle.label | out | +| Test.java:402:30:402:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:402:53:402:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:403:10:403:11 | in : Builder | semmle.label | in : Builder | +| Test.java:403:10:403:26 | setDefaults(...) : Builder | semmle.label | setDefaults(...) : Builder | +| Test.java:404:9:404:11 | out | semmle.label | out | +| Test.java:409:30:409:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:409:53:409:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:410:10:410:11 | in : Builder | semmle.label | in : Builder | +| Test.java:410:10:410:33 | setDeleteIntent(...) : Builder | semmle.label | setDeleteIntent(...) : Builder | +| Test.java:411:9:411:11 | out | semmle.label | out | +| Test.java:416:23:416:46 | (...)... : PendingIntent | semmle.label | (...)... : PendingIntent | +| Test.java:416:39:416:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:417:4:417:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:417:24:417:25 | in : PendingIntent | semmle.label | in : PendingIntent | +| Test.java:418:9:418:11 | out | semmle.label | out | +| Test.java:423:30:423:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:423:53:423:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:424:10:424:11 | in : Builder | semmle.label | in : Builder | +| Test.java:424:10:424:27 | setExtras(...) : Builder | semmle.label | setExtras(...) : Builder | +| Test.java:425:9:425:11 | out | semmle.label | out | +| Test.java:431:16:431:32 | (...)... : Bundle | semmle.label | (...)... : Bundle | +| Test.java:431:25:431:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:432:4:432:6 | out [post update] : Builder [android.content.Intent.extras] : Bundle | semmle.label | out [post update] : Builder [android.content.Intent.extras] : Bundle | +| Test.java:432:18:432:19 | in : Bundle | semmle.label | in : Bundle | +| Test.java:433:9:433:11 | out : Builder [android.content.Intent.extras] : Bundle | semmle.label | out : Builder [android.content.Intent.extras] : Bundle | +| Test.java:433:9:433:23 | getExtras(...) | semmle.label | getExtras(...) | +| Test.java:438:30:438:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:438:53:438:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:439:10:439:11 | in : Builder | semmle.label | in : Builder | +| Test.java:439:10:439:29 | setFlag(...) : Builder | semmle.label | setFlag(...) : Builder | +| Test.java:440:9:440:11 | out | semmle.label | out | +| Test.java:445:30:445:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:445:53:445:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:446:10:446:11 | in : Builder | semmle.label | in : Builder | +| Test.java:446:10:446:43 | setForegroundServiceBehavior(...) : Builder | semmle.label | setForegroundServiceBehavior(...) : Builder | +| Test.java:447:9:447:11 | out | semmle.label | out | +| Test.java:452:30:452:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:452:53:452:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:453:10:453:11 | in : Builder | semmle.label | in : Builder | +| Test.java:453:10:453:44 | setFullScreenIntent(...) : Builder | semmle.label | setFullScreenIntent(...) : Builder | +| Test.java:454:9:454:11 | out | semmle.label | out | +| Test.java:459:30:459:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:459:53:459:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:460:10:460:11 | in : Builder | semmle.label | in : Builder | +| Test.java:460:10:460:26 | setGroup(...) : Builder | semmle.label | setGroup(...) : Builder | +| Test.java:461:9:461:11 | out | semmle.label | out | +| Test.java:466:30:466:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:466:53:466:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:467:10:467:11 | in : Builder | semmle.label | in : Builder | +| Test.java:467:10:467:36 | setGroupAlertBehavior(...) : Builder | semmle.label | setGroupAlertBehavior(...) : Builder | +| Test.java:468:9:468:11 | out | semmle.label | out | +| Test.java:473:30:473:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:473:53:473:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:474:10:474:11 | in : Builder | semmle.label | in : Builder | +| Test.java:474:10:474:34 | setGroupSummary(...) : Builder | semmle.label | setGroupSummary(...) : Builder | +| Test.java:475:9:475:11 | out | semmle.label | out | +| Test.java:480:30:480:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:480:53:480:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:481:10:481:11 | in : Builder | semmle.label | in : Builder | +| Test.java:481:10:481:37 | setLargeIcon(...) : Builder | semmle.label | setLargeIcon(...) : Builder | +| Test.java:482:9:482:11 | out | semmle.label | out | +| Test.java:487:30:487:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:487:53:487:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:488:10:488:11 | in : Builder | semmle.label | in : Builder | +| Test.java:488:10:488:39 | setLargeIcon(...) : Builder | semmle.label | setLargeIcon(...) : Builder | +| Test.java:489:9:489:11 | out | semmle.label | out | +| Test.java:494:30:494:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:494:53:494:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:495:10:495:11 | in : Builder | semmle.label | in : Builder | +| Test.java:495:10:495:30 | setLights(...) : Builder | semmle.label | setLights(...) : Builder | +| Test.java:496:9:496:11 | out | semmle.label | out | +| Test.java:501:30:501:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:501:53:501:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:502:10:502:11 | in : Builder | semmle.label | in : Builder | +| Test.java:502:10:502:31 | setLocalOnly(...) : Builder | semmle.label | setLocalOnly(...) : Builder | +| Test.java:503:9:503:11 | out | semmle.label | out | +| Test.java:508:30:508:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:508:53:508:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:509:10:509:11 | in : Builder | semmle.label | in : Builder | +| Test.java:509:10:509:28 | setLocusId(...) : Builder | semmle.label | setLocusId(...) : Builder | +| Test.java:510:9:510:11 | out | semmle.label | out | +| Test.java:515:30:515:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:515:53:515:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:516:10:516:11 | in : Builder | semmle.label | in : Builder | +| Test.java:516:10:516:24 | setNumber(...) : Builder | semmle.label | setNumber(...) : Builder | +| Test.java:517:9:517:11 | out | semmle.label | out | +| Test.java:522:30:522:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:522:53:522:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:523:10:523:11 | in : Builder | semmle.label | in : Builder | +| Test.java:523:10:523:29 | setOngoing(...) : Builder | semmle.label | setOngoing(...) : Builder | +| Test.java:524:9:524:11 | out | semmle.label | out | +| Test.java:529:30:529:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:529:53:529:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:530:10:530:11 | in : Builder | semmle.label | in : Builder | +| Test.java:530:10:530:35 | setOnlyAlertOnce(...) : Builder | semmle.label | setOnlyAlertOnce(...) : Builder | +| Test.java:531:9:531:11 | out | semmle.label | out | +| Test.java:536:30:536:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:536:53:536:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:537:10:537:11 | in : Builder | semmle.label | in : Builder | +| Test.java:537:10:537:26 | setPriority(...) : Builder | semmle.label | setPriority(...) : Builder | +| Test.java:538:9:538:11 | out | semmle.label | out | +| Test.java:543:30:543:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:543:53:543:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:544:10:544:11 | in : Builder | semmle.label | in : Builder | +| Test.java:544:10:544:36 | setProgress(...) : Builder | semmle.label | setProgress(...) : Builder | +| Test.java:545:9:545:11 | out | semmle.label | out | +| Test.java:550:30:550:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:550:53:550:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:551:10:551:11 | in : Builder | semmle.label | in : Builder | +| Test.java:551:10:551:34 | setPublicVersion(...) : Builder | semmle.label | setPublicVersion(...) : Builder | +| Test.java:552:9:552:11 | out | semmle.label | out | +| Test.java:557:22:557:44 | (...)... : Notification | semmle.label | (...)... : Notification | +| Test.java:557:37:557:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:558:4:558:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:558:25:558:26 | in : Notification | semmle.label | in : Notification | +| Test.java:559:9:559:11 | out | semmle.label | out | +| Test.java:564:30:564:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:564:53:564:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:565:10:565:11 | in : Builder | semmle.label | in : Builder | +| Test.java:565:10:565:39 | setRemoteInputHistory(...) : Builder | semmle.label | setRemoteInputHistory(...) : Builder | +| Test.java:566:9:566:11 | out | semmle.label | out | +| Test.java:571:30:571:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:571:53:571:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:572:10:572:11 | in : Builder | semmle.label | in : Builder | +| Test.java:572:10:572:33 | setSettingsText(...) : Builder | semmle.label | setSettingsText(...) : Builder | +| Test.java:573:9:573:11 | out | semmle.label | out | +| Test.java:578:30:578:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:578:53:578:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:579:10:579:11 | in : Builder | semmle.label | in : Builder | +| Test.java:579:10:579:31 | setShortcutId(...) : Builder | semmle.label | setShortcutId(...) : Builder | +| Test.java:580:9:580:11 | out | semmle.label | out | +| Test.java:585:30:585:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:585:53:585:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:586:10:586:11 | in : Builder | semmle.label | in : Builder | +| Test.java:586:10:586:30 | setShowWhen(...) : Builder | semmle.label | setShowWhen(...) : Builder | +| Test.java:587:9:587:11 | out | semmle.label | out | +| Test.java:592:30:592:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:592:53:592:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:593:10:593:11 | in : Builder | semmle.label | in : Builder | +| Test.java:593:10:593:30 | setSmallIcon(...) : Builder | semmle.label | setSmallIcon(...) : Builder | +| Test.java:594:9:594:11 | out | semmle.label | out | +| Test.java:599:30:599:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:599:53:599:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:600:10:600:11 | in : Builder | semmle.label | in : Builder | +| Test.java:600:10:600:27 | setSmallIcon(...) : Builder | semmle.label | setSmallIcon(...) : Builder | +| Test.java:601:9:601:11 | out | semmle.label | out | +| Test.java:606:30:606:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:606:53:606:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:607:10:607:11 | in : Builder | semmle.label | in : Builder | +| Test.java:607:10:607:37 | setSmallIcon(...) : Builder | semmle.label | setSmallIcon(...) : Builder | +| Test.java:608:9:608:11 | out | semmle.label | out | +| Test.java:613:30:613:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:613:53:613:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:614:10:614:11 | in : Builder | semmle.label | in : Builder | +| Test.java:614:10:614:28 | setSortKey(...) : Builder | semmle.label | setSortKey(...) : Builder | +| Test.java:615:9:615:11 | out | semmle.label | out | +| Test.java:620:30:620:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:620:53:620:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:621:10:621:11 | in : Builder | semmle.label | in : Builder | +| Test.java:621:10:621:26 | setSound(...) : Builder | semmle.label | setSound(...) : Builder | +| Test.java:622:9:622:11 | out | semmle.label | out | +| Test.java:627:30:627:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:627:53:627:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:628:10:628:11 | in : Builder | semmle.label | in : Builder | +| Test.java:628:10:628:35 | setSound(...) : Builder | semmle.label | setSound(...) : Builder | +| Test.java:629:9:629:11 | out | semmle.label | out | +| Test.java:634:30:634:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:634:53:634:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:635:10:635:11 | in : Builder | semmle.label | in : Builder | +| Test.java:635:10:635:56 | setSound(...) : Builder | semmle.label | setSound(...) : Builder | +| Test.java:636:9:636:11 | out | semmle.label | out | +| Test.java:641:30:641:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:641:53:641:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:642:10:642:11 | in : Builder | semmle.label | in : Builder | +| Test.java:642:10:642:26 | setStyle(...) : Builder | semmle.label | setStyle(...) : Builder | +| Test.java:643:9:643:11 | out | semmle.label | out | +| Test.java:648:30:648:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:648:53:648:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:649:10:649:11 | in : Builder | semmle.label | in : Builder | +| Test.java:649:10:649:28 | setSubText(...) : Builder | semmle.label | setSubText(...) : Builder | +| Test.java:650:9:650:11 | out | semmle.label | out | +| Test.java:655:30:655:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:655:53:655:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:656:10:656:11 | in : Builder | semmle.label | in : Builder | +| Test.java:656:10:656:33 | setTicker(...) : Builder | semmle.label | setTicker(...) : Builder | +| Test.java:657:9:657:11 | out | semmle.label | out | +| Test.java:662:30:662:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:662:53:662:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:663:10:663:11 | in : Builder | semmle.label | in : Builder | +| Test.java:663:10:663:27 | setTicker(...) : Builder | semmle.label | setTicker(...) : Builder | +| Test.java:664:9:664:11 | out | semmle.label | out | +| Test.java:669:30:669:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:669:53:669:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:670:10:670:11 | in : Builder | semmle.label | in : Builder | +| Test.java:670:10:670:31 | setTimeoutAfter(...) : Builder | semmle.label | setTimeoutAfter(...) : Builder | +| Test.java:671:9:671:11 | out | semmle.label | out | +| Test.java:676:30:676:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:676:53:676:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:677:10:677:11 | in : Builder | semmle.label | in : Builder | +| Test.java:677:10:677:37 | setUsesChronometer(...) : Builder | semmle.label | setUsesChronometer(...) : Builder | +| Test.java:678:9:678:11 | out | semmle.label | out | +| Test.java:683:30:683:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:683:53:683:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:684:10:684:11 | in : Builder | semmle.label | in : Builder | +| Test.java:684:10:684:28 | setVibrate(...) : Builder | semmle.label | setVibrate(...) : Builder | +| Test.java:685:9:685:11 | out | semmle.label | out | +| Test.java:690:30:690:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:690:53:690:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:691:10:691:11 | in : Builder | semmle.label | in : Builder | +| Test.java:691:10:691:28 | setVisibility(...) : Builder | semmle.label | setVisibility(...) : Builder | +| Test.java:692:9:692:11 | out | semmle.label | out | +| Test.java:697:30:697:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:697:53:697:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:698:10:698:11 | in : Builder | semmle.label | in : Builder | +| Test.java:698:10:698:23 | setWhen(...) : Builder | semmle.label | setWhen(...) : Builder | +| Test.java:699:9:699:11 | out | semmle.label | out | +| Test.java:704:28:704:56 | (...)... : Style | semmle.label | (...)... : Style | +| Test.java:704:49:704:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:705:10:705:11 | in : Style | semmle.label | in : Style | +| Test.java:705:10:705:19 | build(...) : Notification | semmle.label | build(...) : Notification | +| Test.java:706:9:706:11 | out | semmle.label | out | +| Test.java:711:30:711:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:711:53:711:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:712:10:712:45 | new BigPictureStyle(...) : BigPictureStyle | semmle.label | new BigPictureStyle(...) : BigPictureStyle | +| Test.java:712:43:712:44 | in : Builder | semmle.label | in : Builder | +| Test.java:713:9:713:11 | out | semmle.label | out | +| Test.java:717:38:717:76 | (...)... : BigPictureStyle | semmle.label | (...)... : BigPictureStyle | +| Test.java:717:69:717:76 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:718:39:718:40 | in : BigPictureStyle | semmle.label | in : BigPictureStyle | +| Test.java:718:39:718:66 | bigLargeIcon(...) : BigPictureStyle | semmle.label | bigLargeIcon(...) : BigPictureStyle | +| Test.java:719:9:719:11 | out | semmle.label | out | +| Test.java:723:38:723:76 | (...)... : BigPictureStyle | semmle.label | (...)... : BigPictureStyle | +| Test.java:723:69:723:76 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:724:39:724:40 | in : BigPictureStyle | semmle.label | in : BigPictureStyle | +| Test.java:724:39:724:66 | bigPicture(...) : BigPictureStyle | semmle.label | bigPicture(...) : BigPictureStyle | +| Test.java:725:9:725:11 | out | semmle.label | out | +| Test.java:729:38:729:76 | (...)... : BigPictureStyle | semmle.label | (...)... : BigPictureStyle | +| Test.java:729:69:729:76 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:730:39:730:40 | in : BigPictureStyle | semmle.label | in : BigPictureStyle | +| Test.java:730:39:730:65 | setBigContentTitle(...) : BigPictureStyle | semmle.label | setBigContentTitle(...) : BigPictureStyle | +| Test.java:731:9:731:11 | out | semmle.label | out | +| Test.java:735:38:735:76 | (...)... : BigPictureStyle | semmle.label | (...)... : BigPictureStyle | +| Test.java:735:69:735:76 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:736:39:736:40 | in : BigPictureStyle | semmle.label | in : BigPictureStyle | +| Test.java:736:39:736:68 | setContentDescription(...) : BigPictureStyle | semmle.label | setContentDescription(...) : BigPictureStyle | +| Test.java:737:9:737:11 | out | semmle.label | out | +| Test.java:741:38:741:76 | (...)... : BigPictureStyle | semmle.label | (...)... : BigPictureStyle | +| Test.java:741:69:741:76 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:742:39:742:40 | in : BigPictureStyle | semmle.label | in : BigPictureStyle | +| Test.java:742:39:742:61 | setSummaryText(...) : BigPictureStyle | semmle.label | setSummaryText(...) : BigPictureStyle | +| Test.java:743:9:743:11 | out | semmle.label | out | +| Test.java:747:38:747:76 | (...)... : BigPictureStyle | semmle.label | (...)... : BigPictureStyle | +| Test.java:747:69:747:76 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:748:39:748:40 | in : BigPictureStyle | semmle.label | in : BigPictureStyle | +| Test.java:748:39:748:75 | showBigPictureWhenCollapsed(...) : BigPictureStyle | semmle.label | showBigPictureWhenCollapsed(...) : BigPictureStyle | +| Test.java:749:9:749:11 | out | semmle.label | out | +| Test.java:754:30:754:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:754:53:754:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:755:10:755:42 | new BigTextStyle(...) : BigTextStyle | semmle.label | new BigTextStyle(...) : BigTextStyle | +| Test.java:755:40:755:41 | in : Builder | semmle.label | in : Builder | +| Test.java:756:9:756:11 | out | semmle.label | out | +| Test.java:760:35:760:70 | (...)... : BigTextStyle | semmle.label | (...)... : BigTextStyle | +| Test.java:760:63:760:70 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:761:36:761:37 | in : BigTextStyle | semmle.label | in : BigTextStyle | +| Test.java:761:36:761:51 | bigText(...) : BigTextStyle | semmle.label | bigText(...) : BigTextStyle | +| Test.java:762:9:762:11 | out | semmle.label | out | +| Test.java:766:35:766:70 | (...)... : BigTextStyle | semmle.label | (...)... : BigTextStyle | +| Test.java:766:63:766:70 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:767:36:767:37 | in : BigTextStyle | semmle.label | in : BigTextStyle | +| Test.java:767:36:767:62 | setBigContentTitle(...) : BigTextStyle | semmle.label | setBigContentTitle(...) : BigTextStyle | +| Test.java:768:9:768:11 | out | semmle.label | out | +| Test.java:772:35:772:70 | (...)... : BigTextStyle | semmle.label | (...)... : BigTextStyle | +| Test.java:772:63:772:70 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:773:36:773:37 | in : BigTextStyle | semmle.label | in : BigTextStyle | +| Test.java:773:36:773:58 | setSummaryText(...) : BigTextStyle | semmle.label | setSummaryText(...) : BigTextStyle | +| Test.java:774:9:774:11 | out | semmle.label | out | +| Test.java:779:30:779:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:779:53:779:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:780:10:780:40 | new InboxStyle(...) : InboxStyle | semmle.label | new InboxStyle(...) : InboxStyle | +| Test.java:780:38:780:39 | in : Builder | semmle.label | in : Builder | +| Test.java:781:9:781:11 | out | semmle.label | out | +| Test.java:785:33:785:66 | (...)... : InboxStyle | semmle.label | (...)... : InboxStyle | +| Test.java:785:59:785:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:786:34:786:35 | in : InboxStyle | semmle.label | in : InboxStyle | +| Test.java:786:34:786:49 | addLine(...) : InboxStyle | semmle.label | addLine(...) : InboxStyle | +| Test.java:787:9:787:11 | out | semmle.label | out | +| Test.java:791:33:791:66 | (...)... : InboxStyle | semmle.label | (...)... : InboxStyle | +| Test.java:791:59:791:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:792:34:792:35 | in : InboxStyle | semmle.label | in : InboxStyle | +| Test.java:792:34:792:60 | setBigContentTitle(...) : InboxStyle | semmle.label | setBigContentTitle(...) : InboxStyle | +| Test.java:793:9:793:11 | out | semmle.label | out | +| Test.java:797:33:797:66 | (...)... : InboxStyle | semmle.label | (...)... : InboxStyle | +| Test.java:797:59:797:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:798:34:798:35 | in : InboxStyle | semmle.label | in : InboxStyle | +| Test.java:798:34:798:56 | setSummaryText(...) : InboxStyle | semmle.label | setSummaryText(...) : InboxStyle | +| Test.java:799:9:799:11 | out | semmle.label | out | +| Test.java:804:30:804:60 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:804:53:804:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:805:10:805:40 | new MediaStyle(...) : MediaStyle | semmle.label | new MediaStyle(...) : MediaStyle | +| Test.java:805:38:805:39 | in : Builder | semmle.label | in : Builder | +| Test.java:806:9:806:11 | out | semmle.label | out | +| Test.java:810:33:810:66 | (...)... : MediaStyle | semmle.label | (...)... : MediaStyle | +| Test.java:810:59:810:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:811:34:811:35 | in : MediaStyle | semmle.label | in : MediaStyle | +| Test.java:811:34:811:57 | setMediaSession(...) : MediaStyle | semmle.label | setMediaSession(...) : MediaStyle | +| Test.java:812:9:812:11 | out | semmle.label | out | +| Test.java:816:33:816:66 | (...)... : MediaStyle | semmle.label | (...)... : MediaStyle | +| Test.java:816:59:816:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:817:34:817:35 | in : MediaStyle | semmle.label | in : MediaStyle | +| Test.java:817:34:817:69 | setShowActionsInCompactView(...) : MediaStyle | semmle.label | setShowActionsInCompactView(...) : MediaStyle | +| Test.java:818:9:818:11 | out | semmle.label | out | +| Test.java:823:35:823:70 | (...)... : Action | semmle.label | (...)... : Action | +| Test.java:823:63:823:70 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:824:10:824:50 | new Builder(...) : Builder | semmle.label | new Builder(...) : Builder | +| Test.java:824:48:824:49 | in : Action | semmle.label | in : Action | +| Test.java:825:9:825:11 | out | semmle.label | out | +| Test.java:830:23:830:46 | (...)... : PendingIntent | semmle.label | (...)... : PendingIntent | +| Test.java:830:39:830:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:831:10:831:90 | new Builder(...) : Builder | semmle.label | new Builder(...) : Builder | +| Test.java:831:88:831:89 | in : PendingIntent | semmle.label | in : PendingIntent | +| Test.java:832:9:832:11 | out | semmle.label | out | +| Test.java:837:23:837:46 | (...)... : PendingIntent | semmle.label | (...)... : PendingIntent | +| Test.java:837:39:837:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:838:10:838:74 | new Builder(...) : Builder | semmle.label | new Builder(...) : Builder | +| Test.java:838:72:838:73 | in : PendingIntent | semmle.label | in : PendingIntent | +| Test.java:839:9:839:11 | out | semmle.label | out | +| Test.java:844:43:844:86 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:844:79:844:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:845:10:845:11 | in : Builder | semmle.label | in : Builder | +| Test.java:845:10:845:27 | addExtras(...) : Builder | semmle.label | addExtras(...) : Builder | +| Test.java:846:9:846:11 | out | semmle.label | out | +| Test.java:851:16:851:54 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:851:25:851:54 | newWithMapKeyDefault(...) : Bundle [] : String | semmle.label | newWithMapKeyDefault(...) : Bundle [] : String | +| Test.java:851:46:851:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:852:18:852:19 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:853:9:853:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, ] : String | semmle.label | out : Builder [android.content.Intent.extras, ] : String | +| Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, ] : String | semmle.label | out : Builder [android.content.Intent.extras, ] : String | +| Test.java:853:26:853:40 | getExtras(...) : Bundle [] : String | semmle.label | getExtras(...) : Bundle [] : String | +| Test.java:858:16:858:56 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:858:25:858:56 | newWithMapValueDefault(...) : Bundle [] : String | semmle.label | newWithMapValueDefault(...) : Bundle [] : String | +| Test.java:858:48:858:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:859:18:859:19 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:860:9:860:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, ] : String | semmle.label | out : Builder [android.content.Intent.extras, ] : String | +| Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, ] : String | semmle.label | out : Builder [android.content.Intent.extras, ] : String | +| Test.java:860:28:860:42 | getExtras(...) : Bundle [] : String | semmle.label | getExtras(...) : Bundle [] : String | +| Test.java:865:43:865:86 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:865:79:865:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:866:10:866:11 | in : Builder | semmle.label | in : Builder | +| Test.java:866:10:866:32 | addRemoteInput(...) : Builder | semmle.label | addRemoteInput(...) : Builder | +| Test.java:867:9:867:11 | out | semmle.label | out | +| Test.java:873:16:873:56 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:873:25:873:56 | newWithMapValueDefault(...) : Bundle [] : String | semmle.label | newWithMapValueDefault(...) : Bundle [] : String | +| Test.java:873:48:873:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | builder [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | builder [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:874:22:874:23 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, ] : String | semmle.label | builder : Builder [android.content.Intent.extras, ] : String | +| Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, ] : String | semmle.label | builder : Builder [android.content.Intent.extras, ] : String | +| Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, ] : String | semmle.label | build(...) : Action [android.content.Intent.extras, ] : String | +| Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, ] : String | semmle.label | build(...) : Action [android.content.Intent.extras, ] : String | +| Test.java:876:9:876:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, ] : String | semmle.label | out : Action [android.content.Intent.extras, ] : String | +| Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, ] : String | semmle.label | out : Action [android.content.Intent.extras, ] : String | +| Test.java:876:28:876:42 | getExtras(...) : Bundle [] : String | semmle.label | getExtras(...) : Bundle [] : String | +| Test.java:881:43:881:86 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:881:79:881:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:882:10:882:11 | in : Builder | semmle.label | in : Builder | +| Test.java:882:10:882:19 | build(...) : Action | semmle.label | build(...) : Action | +| Test.java:883:9:883:11 | out | semmle.label | out | +| Test.java:888:43:888:86 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:888:79:888:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:889:10:889:11 | in : Builder | semmle.label | in : Builder | +| Test.java:889:10:889:24 | extend(...) : Builder | semmle.label | extend(...) : Builder | +| Test.java:890:9:890:11 | out | semmle.label | out | +| Test.java:895:43:895:86 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:895:79:895:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:896:10:896:11 | in : Builder | semmle.label | in : Builder | +| Test.java:896:10:896:23 | getExtras(...) : Bundle | semmle.label | getExtras(...) : Bundle | +| Test.java:897:9:897:11 | out | semmle.label | out | +| Test.java:902:43:902:86 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:902:79:902:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:903:10:903:11 | in : Builder | semmle.label | in : Builder | +| Test.java:903:10:903:43 | setAllowGeneratedReplies(...) : Builder | semmle.label | setAllowGeneratedReplies(...) : Builder | +| Test.java:904:9:904:11 | out | semmle.label | out | +| Test.java:909:43:909:86 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:909:79:909:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:910:10:910:11 | in : Builder | semmle.label | in : Builder | +| Test.java:910:10:910:32 | setContextual(...) : Builder | semmle.label | setContextual(...) : Builder | +| Test.java:911:9:911:11 | out | semmle.label | out | +| Test.java:916:43:916:86 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:916:79:916:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:917:10:917:11 | in : Builder | semmle.label | in : Builder | +| Test.java:917:10:917:32 | setSemanticAction(...) : Builder | semmle.label | setSemanticAction(...) : Builder | +| Test.java:918:9:918:11 | out | semmle.label | out | +| Test.java:923:23:923:46 | (...)... : PendingIntent | semmle.label | (...)... : PendingIntent | +| Test.java:923:39:923:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:924:10:924:82 | new Action(...) : Action | semmle.label | new Action(...) : Action | +| Test.java:924:80:924:81 | in : PendingIntent | semmle.label | in : PendingIntent | +| Test.java:925:9:925:11 | out | semmle.label | out | +| Test.java:930:23:930:46 | (...)... : PendingIntent | semmle.label | (...)... : PendingIntent | +| Test.java:930:39:930:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:931:10:931:66 | new Action(...) : Action | semmle.label | new Action(...) : Action | +| Test.java:931:64:931:65 | in : PendingIntent | semmle.label | in : PendingIntent | +| Test.java:932:9:932:11 | out | semmle.label | out | +| Test.java:937:35:937:70 | (...)... : Action | semmle.label | (...)... : Action | +| Test.java:937:63:937:70 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:938:10:938:11 | in : Action | semmle.label | in : Action | +| Test.java:938:10:938:23 | getExtras(...) : Bundle | semmle.label | getExtras(...) : Bundle | +| Test.java:939:9:939:11 | out | semmle.label | out | +| Test.java:944:44:944:88 | (...)... : BigPictureStyle | semmle.label | (...)... : BigPictureStyle | +| Test.java:944:81:944:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:945:10:945:11 | in : BigPictureStyle | semmle.label | in : BigPictureStyle | +| Test.java:945:10:945:38 | bigLargeIcon(...) : BigPictureStyle | semmle.label | bigLargeIcon(...) : BigPictureStyle | +| Test.java:946:9:946:11 | out | semmle.label | out | +| Test.java:951:44:951:88 | (...)... : BigPictureStyle | semmle.label | (...)... : BigPictureStyle | +| Test.java:951:81:951:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:952:10:952:11 | in : BigPictureStyle | semmle.label | in : BigPictureStyle | +| Test.java:952:10:952:36 | bigLargeIcon(...) : BigPictureStyle | semmle.label | bigLargeIcon(...) : BigPictureStyle | +| Test.java:953:9:953:11 | out | semmle.label | out | +| Test.java:958:44:958:88 | (...)... : BigPictureStyle | semmle.label | (...)... : BigPictureStyle | +| Test.java:958:81:958:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:959:10:959:11 | in : BigPictureStyle | semmle.label | in : BigPictureStyle | +| Test.java:959:10:959:36 | bigPicture(...) : BigPictureStyle | semmle.label | bigPicture(...) : BigPictureStyle | +| Test.java:960:9:960:11 | out | semmle.label | out | +| Test.java:965:44:965:88 | (...)... : BigPictureStyle | semmle.label | (...)... : BigPictureStyle | +| Test.java:965:81:965:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:966:10:966:11 | in : BigPictureStyle | semmle.label | in : BigPictureStyle | +| Test.java:966:10:966:34 | bigPicture(...) : BigPictureStyle | semmle.label | bigPicture(...) : BigPictureStyle | +| Test.java:967:9:967:11 | out | semmle.label | out | +| Test.java:972:44:972:88 | (...)... : BigPictureStyle | semmle.label | (...)... : BigPictureStyle | +| Test.java:972:81:972:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:973:10:973:11 | in : BigPictureStyle | semmle.label | in : BigPictureStyle | +| Test.java:973:10:973:36 | setBigContentTitle(...) : BigPictureStyle | semmle.label | setBigContentTitle(...) : BigPictureStyle | +| Test.java:974:9:974:11 | out | semmle.label | out | +| Test.java:979:44:979:88 | (...)... : BigPictureStyle | semmle.label | (...)... : BigPictureStyle | +| Test.java:979:81:979:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:980:10:980:11 | in : BigPictureStyle | semmle.label | in : BigPictureStyle | +| Test.java:980:10:980:32 | setSummaryText(...) : BigPictureStyle | semmle.label | setSummaryText(...) : BigPictureStyle | +| Test.java:981:9:981:11 | out | semmle.label | out | +| Test.java:986:41:986:82 | (...)... : BigTextStyle | semmle.label | (...)... : BigTextStyle | +| Test.java:986:75:986:82 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:987:10:987:11 | in : BigTextStyle | semmle.label | in : BigTextStyle | +| Test.java:987:10:987:25 | bigText(...) : BigTextStyle | semmle.label | bigText(...) : BigTextStyle | +| Test.java:988:9:988:11 | out | semmle.label | out | +| Test.java:993:41:993:82 | (...)... : BigTextStyle | semmle.label | (...)... : BigTextStyle | +| Test.java:993:75:993:82 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:994:10:994:11 | in : BigTextStyle | semmle.label | in : BigTextStyle | +| Test.java:994:10:994:36 | setBigContentTitle(...) : BigTextStyle | semmle.label | setBigContentTitle(...) : BigTextStyle | +| Test.java:995:9:995:11 | out | semmle.label | out | +| Test.java:1000:41:1000:82 | (...)... : BigTextStyle | semmle.label | (...)... : BigTextStyle | +| Test.java:1000:75:1000:82 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1001:10:1001:11 | in : BigTextStyle | semmle.label | in : BigTextStyle | +| Test.java:1001:10:1001:32 | setSummaryText(...) : BigTextStyle | semmle.label | setSummaryText(...) : BigTextStyle | +| Test.java:1002:9:1002:11 | out | semmle.label | out | +| Test.java:1007:35:1007:70 | (...)... : Action | semmle.label | (...)... : Action | +| Test.java:1007:63:1007:70 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1008:4:1008:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:1008:18:1008:19 | in : Action | semmle.label | in : Action | +| Test.java:1009:9:1009:11 | out | semmle.label | out | +| Test.java:1014:23:1014:46 | (...)... : PendingIntent | semmle.label | (...)... : PendingIntent | +| Test.java:1014:39:1014:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1015:4:1015:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:1015:27:1015:28 | in : PendingIntent | semmle.label | in : PendingIntent | +| Test.java:1016:9:1016:11 | out | semmle.label | out | +| Test.java:1021:36:1021:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1021:65:1021:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1022:10:1022:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1022:10:1022:36 | addAction(...) : Builder | semmle.label | addAction(...) : Builder | +| Test.java:1023:9:1023:11 | out | semmle.label | out | +| Test.java:1028:36:1028:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1028:65:1028:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1029:10:1029:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1029:10:1029:27 | addAction(...) : Builder | semmle.label | addAction(...) : Builder | +| Test.java:1030:9:1030:11 | out | semmle.label | out | +| Test.java:1035:36:1035:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1035:65:1035:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1036:10:1036:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1036:10:1036:27 | addExtras(...) : Builder | semmle.label | addExtras(...) : Builder | +| Test.java:1037:9:1037:11 | out | semmle.label | out | +| Test.java:1042:16:1042:54 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:1042:25:1042:54 | newWithMapKeyDefault(...) : Bundle [] : String | semmle.label | newWithMapKeyDefault(...) : Bundle [] : String | +| Test.java:1042:46:1042:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:1043:18:1043:19 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:1044:9:1044:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:1044:26:1044:28 | out : Builder [android.content.Intent.extras, ] : String | semmle.label | out : Builder [android.content.Intent.extras, ] : String | +| Test.java:1044:26:1044:28 | out : Builder [android.content.Intent.extras, ] : String | semmle.label | out : Builder [android.content.Intent.extras, ] : String | +| Test.java:1044:26:1044:40 | getExtras(...) : Bundle [] : String | semmle.label | getExtras(...) : Bundle [] : String | +| Test.java:1049:16:1049:56 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:1049:25:1049:56 | newWithMapValueDefault(...) : Bundle [] : String | semmle.label | newWithMapValueDefault(...) : Bundle [] : String | +| Test.java:1049:48:1049:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | out [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:1050:18:1050:19 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:1051:9:1051:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:1051:28:1051:30 | out : Builder [android.content.Intent.extras, ] : String | semmle.label | out : Builder [android.content.Intent.extras, ] : String | +| Test.java:1051:28:1051:30 | out : Builder [android.content.Intent.extras, ] : String | semmle.label | out : Builder [android.content.Intent.extras, ] : String | +| Test.java:1051:28:1051:42 | getExtras(...) : Bundle [] : String | semmle.label | getExtras(...) : Bundle [] : String | +| Test.java:1056:36:1056:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1056:65:1056:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1057:10:1057:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1057:10:1057:53 | addPerson(...) : Builder | semmle.label | addPerson(...) : Builder | +| Test.java:1058:9:1058:11 | out | semmle.label | out | +| Test.java:1063:36:1063:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1063:65:1063:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1064:10:1064:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1064:10:1064:35 | addPerson(...) : Builder | semmle.label | addPerson(...) : Builder | +| Test.java:1065:9:1065:11 | out | semmle.label | out | +| Test.java:1071:16:1071:56 | (...)... : Bundle [] : String | semmle.label | (...)... : Bundle [] : String | +| Test.java:1071:25:1071:56 | newWithMapValueDefault(...) : Bundle [] : String | semmle.label | newWithMapValueDefault(...) : Bundle [] : String | +| Test.java:1071:48:1071:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | builder [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, ] : String | semmle.label | builder [post update] : Builder [android.content.Intent.extras, ] : String | +| Test.java:1072:22:1072:23 | in : Bundle [] : String | semmle.label | in : Bundle [] : String | +| Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, ] : String | semmle.label | builder : Builder [android.content.Intent.extras, ] : String | +| Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, ] : String | semmle.label | builder : Builder [android.content.Intent.extras, ] : String | +| Test.java:1073:10:1073:24 | build(...) : Notification [extras, ] : String | semmle.label | build(...) : Notification [extras, ] : String | +| Test.java:1073:10:1073:24 | build(...) : Notification [extras, ] : String | semmle.label | build(...) : Notification [extras, ] : String | +| Test.java:1074:9:1074:38 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:1074:28:1074:30 | out : Notification [extras, ] : String | semmle.label | out : Notification [extras, ] : String | +| Test.java:1074:28:1074:30 | out : Notification [extras, ] : String | semmle.label | out : Notification [extras, ] : String | +| Test.java:1074:28:1074:37 | out.extras : Bundle [] : String | semmle.label | out.extras : Bundle [] : String | +| Test.java:1079:36:1079:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1079:65:1079:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1080:10:1080:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1080:10:1080:19 | build(...) : Notification | semmle.label | build(...) : Notification | +| Test.java:1081:9:1081:11 | out | semmle.label | out | +| Test.java:1086:36:1086:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1086:65:1086:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1087:10:1087:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1087:10:1087:24 | extend(...) : Builder | semmle.label | extend(...) : Builder | +| Test.java:1088:9:1088:11 | out | semmle.label | out | +| Test.java:1093:36:1093:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1093:65:1093:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1094:10:1094:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1094:10:1094:23 | getExtras(...) : Bundle | semmle.label | getExtras(...) : Bundle | +| Test.java:1095:9:1095:11 | out | semmle.label | out | +| Test.java:1100:36:1100:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1100:65:1100:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1101:10:1101:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1101:10:1101:32 | setAutoCancel(...) : Builder | semmle.label | setAutoCancel(...) : Builder | +| Test.java:1102:9:1102:11 | out | semmle.label | out | +| Test.java:1107:36:1107:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1107:65:1107:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1108:10:1108:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1108:10:1108:31 | setBadgeIconType(...) : Builder | semmle.label | setBadgeIconType(...) : Builder | +| Test.java:1109:9:1109:11 | out | semmle.label | out | +| Test.java:1114:36:1114:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1114:65:1114:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1115:10:1115:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1115:10:1115:35 | setBubbleMetadata(...) : Builder | semmle.label | setBubbleMetadata(...) : Builder | +| Test.java:1116:9:1116:11 | out | semmle.label | out | +| Test.java:1121:36:1121:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1121:65:1121:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1122:10:1122:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1122:10:1122:29 | setCategory(...) : Builder | semmle.label | setCategory(...) : Builder | +| Test.java:1123:9:1123:11 | out | semmle.label | out | +| Test.java:1128:36:1128:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1128:65:1128:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1129:10:1129:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1129:10:1129:30 | setChannelId(...) : Builder | semmle.label | setChannelId(...) : Builder | +| Test.java:1130:9:1130:11 | out | semmle.label | out | +| Test.java:1135:36:1135:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1135:65:1135:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1136:10:1136:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1136:10:1136:42 | setChronometerCountDown(...) : Builder | semmle.label | setChronometerCountDown(...) : Builder | +| Test.java:1137:9:1137:11 | out | semmle.label | out | +| Test.java:1142:36:1142:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1142:65:1142:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1143:10:1143:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1143:10:1143:23 | setColor(...) : Builder | semmle.label | setColor(...) : Builder | +| Test.java:1144:9:1144:11 | out | semmle.label | out | +| Test.java:1149:36:1149:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1149:65:1149:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1150:10:1150:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1150:10:1150:31 | setColorized(...) : Builder | semmle.label | setColorized(...) : Builder | +| Test.java:1151:9:1151:11 | out | semmle.label | out | +| Test.java:1156:36:1156:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1156:65:1156:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1157:10:1157:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1157:10:1157:28 | setContent(...) : Builder | semmle.label | setContent(...) : Builder | +| Test.java:1158:9:1158:11 | out | semmle.label | out | +| Test.java:1163:36:1163:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1163:65:1163:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1164:10:1164:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1164:10:1164:32 | setContentInfo(...) : Builder | semmle.label | setContentInfo(...) : Builder | +| Test.java:1165:9:1165:11 | out | semmle.label | out | +| Test.java:1170:36:1170:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1170:65:1170:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1171:10:1171:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1171:10:1171:34 | setContentIntent(...) : Builder | semmle.label | setContentIntent(...) : Builder | +| Test.java:1172:9:1172:11 | out | semmle.label | out | +| Test.java:1177:23:1177:46 | (...)... : PendingIntent | semmle.label | (...)... : PendingIntent | +| Test.java:1177:39:1177:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1178:4:1178:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:1178:25:1178:26 | in : PendingIntent | semmle.label | in : PendingIntent | +| Test.java:1179:9:1179:11 | out | semmle.label | out | +| Test.java:1184:36:1184:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1184:65:1184:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1185:10:1185:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1185:10:1185:32 | setContentText(...) : Builder | semmle.label | setContentText(...) : Builder | +| Test.java:1186:9:1186:11 | out | semmle.label | out | +| Test.java:1191:36:1191:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1191:65:1191:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1192:10:1192:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1192:10:1192:33 | setContentTitle(...) : Builder | semmle.label | setContentTitle(...) : Builder | +| Test.java:1193:9:1193:11 | out | semmle.label | out | +| Test.java:1198:36:1198:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1198:65:1198:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1199:10:1199:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1199:10:1199:41 | setCustomBigContentView(...) : Builder | semmle.label | setCustomBigContentView(...) : Builder | +| Test.java:1200:9:1200:11 | out | semmle.label | out | +| Test.java:1205:36:1205:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1205:65:1205:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1206:10:1206:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1206:10:1206:45 | setCustomHeadsUpContentView(...) : Builder | semmle.label | setCustomHeadsUpContentView(...) : Builder | +| Test.java:1207:9:1207:11 | out | semmle.label | out | +| Test.java:1212:36:1212:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1212:65:1212:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1213:10:1213:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1213:10:1213:26 | setDefaults(...) : Builder | semmle.label | setDefaults(...) : Builder | +| Test.java:1214:9:1214:11 | out | semmle.label | out | +| Test.java:1219:36:1219:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1219:65:1219:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1220:10:1220:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1220:10:1220:33 | setDeleteIntent(...) : Builder | semmle.label | setDeleteIntent(...) : Builder | +| Test.java:1221:9:1221:11 | out | semmle.label | out | +| Test.java:1226:23:1226:46 | (...)... : PendingIntent | semmle.label | (...)... : PendingIntent | +| Test.java:1226:39:1226:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1227:4:1227:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:1227:24:1227:25 | in : PendingIntent | semmle.label | in : PendingIntent | +| Test.java:1228:9:1228:11 | out | semmle.label | out | +| Test.java:1233:36:1233:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1233:65:1233:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1234:10:1234:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1234:10:1234:27 | setExtras(...) : Builder | semmle.label | setExtras(...) : Builder | +| Test.java:1235:9:1235:11 | out | semmle.label | out | +| Test.java:1240:16:1240:32 | (...)... : Bundle | semmle.label | (...)... : Bundle | +| Test.java:1240:25:1240:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1241:4:1241:6 | out [post update] : Builder [android.content.Intent.extras] : Bundle | semmle.label | out [post update] : Builder [android.content.Intent.extras] : Bundle | +| Test.java:1241:18:1241:19 | in : Bundle | semmle.label | in : Bundle | +| Test.java:1242:9:1242:11 | out : Builder [android.content.Intent.extras] : Bundle | semmle.label | out : Builder [android.content.Intent.extras] : Bundle | +| Test.java:1242:9:1242:23 | getExtras(...) | semmle.label | getExtras(...) | +| Test.java:1247:36:1247:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1247:65:1247:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1248:10:1248:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1248:10:1248:44 | setFullScreenIntent(...) : Builder | semmle.label | setFullScreenIntent(...) : Builder | +| Test.java:1249:9:1249:11 | out | semmle.label | out | +| Test.java:1254:36:1254:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1254:65:1254:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1255:10:1255:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1255:10:1255:26 | setGroup(...) : Builder | semmle.label | setGroup(...) : Builder | +| Test.java:1256:9:1256:11 | out | semmle.label | out | +| Test.java:1261:36:1261:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1261:65:1261:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1262:10:1262:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1262:10:1262:36 | setGroupAlertBehavior(...) : Builder | semmle.label | setGroupAlertBehavior(...) : Builder | +| Test.java:1263:9:1263:11 | out | semmle.label | out | +| Test.java:1268:36:1268:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1268:65:1268:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1269:10:1269:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1269:10:1269:34 | setGroupSummary(...) : Builder | semmle.label | setGroupSummary(...) : Builder | +| Test.java:1270:9:1270:11 | out | semmle.label | out | +| Test.java:1275:36:1275:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1275:65:1275:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1276:10:1276:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1276:10:1276:38 | setLargeIcon(...) : Builder | semmle.label | setLargeIcon(...) : Builder | +| Test.java:1277:9:1277:11 | out | semmle.label | out | +| Test.java:1282:36:1282:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1282:65:1282:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1283:10:1283:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1283:10:1283:36 | setLargeIcon(...) : Builder | semmle.label | setLargeIcon(...) : Builder | +| Test.java:1284:9:1284:11 | out | semmle.label | out | +| Test.java:1289:36:1289:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1289:65:1289:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1290:10:1290:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1290:10:1290:30 | setLights(...) : Builder | semmle.label | setLights(...) : Builder | +| Test.java:1291:9:1291:11 | out | semmle.label | out | +| Test.java:1296:36:1296:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1296:65:1296:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1297:10:1297:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1297:10:1297:31 | setLocalOnly(...) : Builder | semmle.label | setLocalOnly(...) : Builder | +| Test.java:1298:9:1298:11 | out | semmle.label | out | +| Test.java:1303:36:1303:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1303:65:1303:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1304:10:1304:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1304:10:1304:24 | setNumber(...) : Builder | semmle.label | setNumber(...) : Builder | +| Test.java:1305:9:1305:11 | out | semmle.label | out | +| Test.java:1310:36:1310:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1310:65:1310:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1311:10:1311:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1311:10:1311:29 | setOngoing(...) : Builder | semmle.label | setOngoing(...) : Builder | +| Test.java:1312:9:1312:11 | out | semmle.label | out | +| Test.java:1317:36:1317:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1317:65:1317:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1318:10:1318:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1318:10:1318:35 | setOnlyAlertOnce(...) : Builder | semmle.label | setOnlyAlertOnce(...) : Builder | +| Test.java:1319:9:1319:11 | out | semmle.label | out | +| Test.java:1324:36:1324:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1324:65:1324:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1325:10:1325:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1325:10:1325:26 | setPriority(...) : Builder | semmle.label | setPriority(...) : Builder | +| Test.java:1326:9:1326:11 | out | semmle.label | out | +| Test.java:1331:36:1331:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1331:65:1331:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1332:10:1332:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1332:10:1332:36 | setProgress(...) : Builder | semmle.label | setProgress(...) : Builder | +| Test.java:1333:9:1333:11 | out | semmle.label | out | +| Test.java:1338:36:1338:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1338:65:1338:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1339:10:1339:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1339:10:1339:34 | setPublicVersion(...) : Builder | semmle.label | setPublicVersion(...) : Builder | +| Test.java:1340:9:1340:11 | out | semmle.label | out | +| Test.java:1345:22:1345:44 | (...)... : Notification | semmle.label | (...)... : Notification | +| Test.java:1345:37:1345:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1346:4:1346:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:1346:25:1346:26 | in : Notification | semmle.label | in : Notification | +| Test.java:1347:9:1347:11 | out | semmle.label | out | +| Test.java:1352:36:1352:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1352:65:1352:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1353:10:1353:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1353:10:1353:39 | setRemoteInputHistory(...) : Builder | semmle.label | setRemoteInputHistory(...) : Builder | +| Test.java:1354:9:1354:11 | out | semmle.label | out | +| Test.java:1359:36:1359:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1359:65:1359:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1360:10:1360:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1360:10:1360:31 | setShortcutId(...) : Builder | semmle.label | setShortcutId(...) : Builder | +| Test.java:1361:9:1361:11 | out | semmle.label | out | +| Test.java:1366:36:1366:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1366:65:1366:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1367:10:1367:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1367:10:1367:30 | setShowWhen(...) : Builder | semmle.label | setShowWhen(...) : Builder | +| Test.java:1368:9:1368:11 | out | semmle.label | out | +| Test.java:1373:36:1373:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1373:65:1373:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1374:10:1374:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1374:10:1374:27 | setSmallIcon(...) : Builder | semmle.label | setSmallIcon(...) : Builder | +| Test.java:1375:9:1375:11 | out | semmle.label | out | +| Test.java:1380:36:1380:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1380:65:1380:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1381:10:1381:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1381:10:1381:30 | setSmallIcon(...) : Builder | semmle.label | setSmallIcon(...) : Builder | +| Test.java:1382:9:1382:11 | out | semmle.label | out | +| Test.java:1387:36:1387:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1387:65:1387:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1388:10:1388:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1388:10:1388:28 | setSortKey(...) : Builder | semmle.label | setSortKey(...) : Builder | +| Test.java:1389:9:1389:11 | out | semmle.label | out | +| Test.java:1394:36:1394:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1394:65:1394:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1395:10:1395:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1395:10:1395:26 | setSound(...) : Builder | semmle.label | setSound(...) : Builder | +| Test.java:1396:9:1396:11 | out | semmle.label | out | +| Test.java:1401:36:1401:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1401:65:1401:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1402:10:1402:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1402:10:1402:29 | setSound(...) : Builder | semmle.label | setSound(...) : Builder | +| Test.java:1403:9:1403:11 | out | semmle.label | out | +| Test.java:1408:36:1408:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1408:65:1408:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1409:10:1409:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1409:10:1409:26 | setStyle(...) : Builder | semmle.label | setStyle(...) : Builder | +| Test.java:1410:9:1410:11 | out | semmle.label | out | +| Test.java:1415:36:1415:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1415:65:1415:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1416:10:1416:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1416:10:1416:28 | setSubText(...) : Builder | semmle.label | setSubText(...) : Builder | +| Test.java:1417:9:1417:11 | out | semmle.label | out | +| Test.java:1422:36:1422:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1422:65:1422:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1423:10:1423:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1423:10:1423:27 | setTicker(...) : Builder | semmle.label | setTicker(...) : Builder | +| Test.java:1424:9:1424:11 | out | semmle.label | out | +| Test.java:1429:36:1429:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1429:65:1429:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1430:10:1430:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1430:10:1430:33 | setTicker(...) : Builder | semmle.label | setTicker(...) : Builder | +| Test.java:1431:9:1431:11 | out | semmle.label | out | +| Test.java:1436:36:1436:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1436:65:1436:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1437:10:1437:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1437:10:1437:31 | setTimeoutAfter(...) : Builder | semmle.label | setTimeoutAfter(...) : Builder | +| Test.java:1438:9:1438:11 | out | semmle.label | out | +| Test.java:1443:36:1443:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1443:65:1443:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1444:10:1444:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1444:10:1444:37 | setUsesChronometer(...) : Builder | semmle.label | setUsesChronometer(...) : Builder | +| Test.java:1445:9:1445:11 | out | semmle.label | out | +| Test.java:1450:36:1450:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1450:65:1450:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1451:10:1451:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1451:10:1451:28 | setVibrate(...) : Builder | semmle.label | setVibrate(...) : Builder | +| Test.java:1452:9:1452:11 | out | semmle.label | out | +| Test.java:1457:36:1457:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1457:65:1457:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1458:10:1458:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1458:10:1458:28 | setVisibility(...) : Builder | semmle.label | setVisibility(...) : Builder | +| Test.java:1459:9:1459:11 | out | semmle.label | out | +| Test.java:1464:36:1464:72 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1464:65:1464:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1465:10:1465:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1465:10:1465:23 | setWhen(...) : Builder | semmle.label | setWhen(...) : Builder | +| Test.java:1466:9:1466:11 | out | semmle.label | out | +| Test.java:1471:39:1471:78 | (...)... : InboxStyle | semmle.label | (...)... : InboxStyle | +| Test.java:1471:71:1471:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1472:10:1472:11 | in : InboxStyle | semmle.label | in : InboxStyle | +| Test.java:1472:10:1472:25 | addLine(...) : InboxStyle | semmle.label | addLine(...) : InboxStyle | +| Test.java:1473:9:1473:11 | out | semmle.label | out | +| Test.java:1478:39:1478:78 | (...)... : InboxStyle | semmle.label | (...)... : InboxStyle | +| Test.java:1478:71:1478:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1479:10:1479:11 | in : InboxStyle | semmle.label | in : InboxStyle | +| Test.java:1479:10:1479:36 | setBigContentTitle(...) : InboxStyle | semmle.label | setBigContentTitle(...) : InboxStyle | +| Test.java:1480:9:1480:11 | out | semmle.label | out | +| Test.java:1485:39:1485:78 | (...)... : InboxStyle | semmle.label | (...)... : InboxStyle | +| Test.java:1485:71:1485:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1486:10:1486:11 | in : InboxStyle | semmle.label | in : InboxStyle | +| Test.java:1486:10:1486:32 | setSummaryText(...) : InboxStyle | semmle.label | setSummaryText(...) : InboxStyle | +| Test.java:1487:9:1487:11 | out | semmle.label | out | +subpaths +| Test.java:79:46:79:53 | source(...) : Object | Test.java:26:30:26:43 | element : Object | Test.java:29:10:29:15 | bundle : Bundle [] : String | Test.java:79:25:79:54 | newWithMapKeyDefault(...) : Bundle [] : String | +| Test.java:88:48:88:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | Test.java:35:10:35:15 | bundle : Bundle [] : String | Test.java:88:25:88:56 | newWithMapValueDefault(...) : Bundle [] : String | +| Test.java:90:28:90:42 | getExtras(...) : Bundle [] : String | Test.java:22:28:22:43 | container : Bundle [] : String | Test.java:23:10:23:29 | get(...) : String | Test.java:90:9:90:43 | getMapValueDefault(...) | +| Test.java:112:48:112:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | Test.java:35:10:35:15 | bundle : Bundle [] : String | Test.java:112:25:112:56 | newWithMapValueDefault(...) : Bundle [] : String | +| Test.java:115:28:115:42 | getExtras(...) : Bundle [] : String | Test.java:22:28:22:43 | container : Bundle [] : String | Test.java:23:10:23:29 | get(...) : String | Test.java:115:9:115:43 | getMapValueDefault(...) | +| Test.java:206:46:206:53 | source(...) : Object | Test.java:26:30:26:43 | element : Object | Test.java:29:10:29:15 | bundle : Bundle [] : String | Test.java:206:25:206:54 | newWithMapKeyDefault(...) : Bundle [] : String | +| Test.java:214:48:214:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | Test.java:35:10:35:15 | bundle : Bundle [] : String | Test.java:214:25:214:56 | newWithMapValueDefault(...) : Bundle [] : String | +| Test.java:216:28:216:42 | getExtras(...) : Bundle [] : String | Test.java:22:28:22:43 | container : Bundle [] : String | Test.java:23:10:23:29 | get(...) : String | Test.java:216:9:216:43 | getMapValueDefault(...) | +| Test.java:244:48:244:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | Test.java:35:10:35:15 | bundle : Bundle [] : String | Test.java:244:25:244:56 | newWithMapValueDefault(...) : Bundle [] : String | +| Test.java:247:28:247:37 | out.extras : Bundle [] : String | Test.java:22:28:22:43 | container : Bundle [] : String | Test.java:23:10:23:29 | get(...) : String | Test.java:247:9:247:38 | getMapValueDefault(...) | +| Test.java:851:46:851:53 | source(...) : Object | Test.java:26:30:26:43 | element : Object | Test.java:29:10:29:15 | bundle : Bundle [] : String | Test.java:851:25:851:54 | newWithMapKeyDefault(...) : Bundle [] : String | +| Test.java:858:48:858:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | Test.java:35:10:35:15 | bundle : Bundle [] : String | Test.java:858:25:858:56 | newWithMapValueDefault(...) : Bundle [] : String | +| Test.java:860:28:860:42 | getExtras(...) : Bundle [] : String | Test.java:22:28:22:43 | container : Bundle [] : String | Test.java:23:10:23:29 | get(...) : String | Test.java:860:9:860:43 | getMapValueDefault(...) | +| Test.java:873:48:873:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | Test.java:35:10:35:15 | bundle : Bundle [] : String | Test.java:873:25:873:56 | newWithMapValueDefault(...) : Bundle [] : String | +| Test.java:876:28:876:42 | getExtras(...) : Bundle [] : String | Test.java:22:28:22:43 | container : Bundle [] : String | Test.java:23:10:23:29 | get(...) : String | Test.java:876:9:876:43 | getMapValueDefault(...) | +| Test.java:1042:46:1042:53 | source(...) : Object | Test.java:26:30:26:43 | element : Object | Test.java:29:10:29:15 | bundle : Bundle [] : String | Test.java:1042:25:1042:54 | newWithMapKeyDefault(...) : Bundle [] : String | +| Test.java:1049:48:1049:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | Test.java:35:10:35:15 | bundle : Bundle [] : String | Test.java:1049:25:1049:56 | newWithMapValueDefault(...) : Bundle [] : String | +| Test.java:1051:28:1051:42 | getExtras(...) : Bundle [] : String | Test.java:22:28:22:43 | container : Bundle [] : String | Test.java:23:10:23:29 | get(...) : String | Test.java:1051:9:1051:43 | getMapValueDefault(...) | +| Test.java:1071:48:1071:55 | source(...) : Object | Test.java:32:32:32:45 | element : Object | Test.java:35:10:35:15 | bundle : Bundle [] : String | Test.java:1071:25:1071:56 | newWithMapValueDefault(...) : Bundle [] : String | +| Test.java:1074:28:1074:37 | out.extras : Bundle [] : String | Test.java:22:28:22:43 | container : Bundle [] : String | Test.java:23:10:23:29 | get(...) : String | Test.java:1074:9:1074:38 | getMapValueDefault(...) | +testFailures diff --git a/java/ql/test/library-tests/frameworks/android/uri/test.expected b/java/ql/test/library-tests/frameworks/android/uri/test.expected index e69de29bb2d..8113005052d 100644 --- a/java/ql/test/library-tests/frameworks/android/uri/test.expected +++ b/java/ql/test/library-tests/frameworks/android/uri/test.expected @@ -0,0 +1,650 @@ +models +| 1 | Summary: android.net; Uri; true; buildUpon; ; ; Argument[this]; ReturnValue; taint; manual | +| 2 | Summary: android.net; Uri; false; decode; ; ; Argument[0]; ReturnValue; taint; manual | +| 3 | Summary: android.net; Uri; false; encode; ; ; Argument[0]; ReturnValue; taint; manual | +| 4 | Summary: android.net; Uri; false; fromFile; ; ; Argument[0]; ReturnValue; taint; manual | +| 5 | Summary: android.net; Uri; false; fromParts; ; ; Argument[0..2]; ReturnValue; taint; manual | +| 6 | Summary: android.net; Uri; true; getAuthority; ; ; Argument[this]; ReturnValue; taint; manual | +| 7 | Summary: android.net; Uri; true; getEncodedAuthority; ; ; Argument[this]; ReturnValue; taint; manual | +| 8 | Summary: android.net; Uri; true; getEncodedFragment; ; ; Argument[this]; ReturnValue; taint; manual | +| 9 | Summary: android.net; Uri; true; getEncodedPath; ; ; Argument[this]; ReturnValue; taint; manual | +| 10 | Summary: android.net; Uri; true; getEncodedQuery; ; ; Argument[this]; ReturnValue; taint; manual | +| 11 | Summary: android.net; Uri; true; getEncodedSchemeSpecificPart; ; ; Argument[this]; ReturnValue; taint; manual | +| 12 | Summary: android.net; Uri; true; getEncodedUserInfo; ; ; Argument[this]; ReturnValue; taint; manual | +| 13 | Summary: android.net; Uri; true; getFragment; ; ; Argument[this]; ReturnValue; taint; manual | +| 14 | Summary: android.net; Uri; true; getHost; ; ; Argument[this]; ReturnValue; taint; manual | +| 15 | Summary: android.net; Uri; true; getLastPathSegment; ; ; Argument[this]; ReturnValue; taint; manual | +| 16 | Summary: android.net; Uri; true; getPath; ; ; Argument[this]; ReturnValue; taint; manual | +| 17 | Summary: android.net; Uri; true; getPathSegments; ; ; Argument[this]; ReturnValue; taint; manual | +| 18 | Summary: android.net; Uri; true; getQuery; ; ; Argument[this]; ReturnValue; taint; manual | +| 19 | Summary: android.net; Uri; true; getQueryParameter; ; ; Argument[this]; ReturnValue; taint; manual | +| 20 | Summary: android.net; Uri; true; getQueryParameterNames; ; ; Argument[this]; ReturnValue; taint; manual | +| 21 | Summary: android.net; Uri; true; getQueryParameters; ; ; Argument[this]; ReturnValue; taint; manual | +| 22 | Summary: android.net; Uri; true; getScheme; ; ; Argument[this]; ReturnValue; taint; manual | +| 23 | Summary: android.net; Uri; true; getSchemeSpecificPart; ; ; Argument[this]; ReturnValue; taint; manual | +| 24 | Summary: android.net; Uri; true; getUserInfo; ; ; Argument[this]; ReturnValue; taint; manual | +| 25 | Summary: android.net; Uri; true; normalizeScheme; ; ; Argument[this]; ReturnValue; taint; manual | +| 26 | Summary: android.net; Uri; false; parse; ; ; Argument[0]; ReturnValue; taint; manual | +| 27 | Summary: android.net; Uri; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 28 | Summary: android.net; Uri; false; withAppendedPath; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 29 | Summary: android.net; Uri; false; writeToParcel; ; ; Argument[1]; Argument[0]; taint; manual | +| 30 | Summary: android.net; Uri$Builder; false; appendEncodedPath; ; ; Argument[this]; ReturnValue; value; manual | +| 31 | Summary: android.net; Uri$Builder; false; appendEncodedPath; ; ; Argument[0]; Argument[this]; taint; manual | +| 32 | Summary: android.net; Uri$Builder; false; appendPath; ; ; Argument[this]; ReturnValue; value; manual | +| 33 | Summary: android.net; Uri$Builder; false; appendPath; ; ; Argument[0]; Argument[this]; taint; manual | +| 34 | Summary: android.net; Uri$Builder; false; appendQueryParameter; ; ; Argument[this]; ReturnValue; value; manual | +| 35 | Summary: android.net; Uri$Builder; false; appendQueryParameter; ; ; Argument[0..1]; Argument[this]; taint; manual | +| 36 | Summary: android.net; Uri$Builder; false; authority; ; ; Argument[this]; ReturnValue; value; manual | +| 37 | Summary: android.net; Uri$Builder; false; authority; ; ; Argument[0]; Argument[this]; taint; manual | +| 38 | Summary: android.net; Uri$Builder; false; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 39 | Summary: android.net; Uri$Builder; false; clearQuery; ; ; Argument[this]; ReturnValue; value; manual | +| 40 | Summary: android.net; Uri$Builder; false; encodedAuthority; ; ; Argument[this]; ReturnValue; value; manual | +| 41 | Summary: android.net; Uri$Builder; false; encodedAuthority; ; ; Argument[0]; Argument[this]; taint; manual | +| 42 | Summary: android.net; Uri$Builder; false; encodedFragment; ; ; Argument[this]; ReturnValue; value; manual | +| 43 | Summary: android.net; Uri$Builder; false; encodedFragment; ; ; Argument[0]; Argument[this]; taint; manual | +| 44 | Summary: android.net; Uri$Builder; false; encodedOpaquePart; ; ; Argument[this]; ReturnValue; value; manual | +| 45 | Summary: android.net; Uri$Builder; false; encodedOpaquePart; ; ; Argument[0]; Argument[this]; taint; manual | +| 46 | Summary: android.net; Uri$Builder; false; encodedPath; ; ; Argument[this]; ReturnValue; value; manual | +| 47 | Summary: android.net; Uri$Builder; false; encodedPath; ; ; Argument[0]; Argument[this]; taint; manual | +| 48 | Summary: android.net; Uri$Builder; false; encodedQuery; ; ; Argument[this]; ReturnValue; value; manual | +| 49 | Summary: android.net; Uri$Builder; false; encodedQuery; ; ; Argument[0]; Argument[this]; taint; manual | +| 50 | Summary: android.net; Uri$Builder; false; fragment; ; ; Argument[this]; ReturnValue; value; manual | +| 51 | Summary: android.net; Uri$Builder; false; fragment; ; ; Argument[0]; Argument[this]; taint; manual | +| 52 | Summary: android.net; Uri$Builder; false; opaquePart; ; ; Argument[this]; ReturnValue; value; manual | +| 53 | Summary: android.net; Uri$Builder; false; opaquePart; ; ; Argument[0]; Argument[this]; taint; manual | +| 54 | Summary: android.net; Uri$Builder; false; path; ; ; Argument[this]; ReturnValue; value; manual | +| 55 | Summary: android.net; Uri$Builder; false; path; ; ; Argument[0]; Argument[this]; taint; manual | +| 56 | Summary: android.net; Uri$Builder; false; query; ; ; Argument[this]; ReturnValue; value; manual | +| 57 | Summary: android.net; Uri$Builder; false; query; ; ; Argument[0]; Argument[this]; taint; manual | +| 58 | Summary: android.net; Uri$Builder; false; scheme; ; ; Argument[this]; ReturnValue; value; manual | +| 59 | Summary: android.net; Uri$Builder; false; scheme; ; ; Argument[0]; Argument[this]; taint; manual | +| 60 | Summary: android.net; Uri$Builder; false; toString; ; ; Argument[this]; ReturnValue; taint; manual | +edges +| Test.java:20:21:20:41 | (...)... : Builder | Test.java:21:10:21:11 | in : Builder | provenance | | +| Test.java:20:34:20:41 | source(...) : Object | Test.java:20:21:20:41 | (...)... : Builder | provenance | | +| Test.java:21:10:21:11 | in : Builder | Test.java:21:10:21:35 | appendEncodedPath(...) : Builder | provenance | MaD:30 | +| Test.java:21:10:21:35 | appendEncodedPath(...) : Builder | Test.java:22:9:22:11 | out | provenance | | +| Test.java:27:16:27:31 | (...)... : String | Test.java:28:26:28:27 | in : String | provenance | | +| Test.java:27:24:27:31 | source(...) : Object | Test.java:27:16:27:31 | (...)... : String | provenance | | +| Test.java:28:4:28:6 | out [post update] : Builder | Test.java:29:9:29:11 | out | provenance | | +| Test.java:28:26:28:27 | in : String | Test.java:28:4:28:6 | out [post update] : Builder | provenance | MaD:31 | +| Test.java:34:21:34:41 | (...)... : Builder | Test.java:35:10:35:11 | in : Builder | provenance | | +| Test.java:34:34:34:41 | source(...) : Object | Test.java:34:21:34:41 | (...)... : Builder | provenance | | +| Test.java:35:10:35:11 | in : Builder | Test.java:35:10:35:28 | appendPath(...) : Builder | provenance | MaD:32 | +| Test.java:35:10:35:28 | appendPath(...) : Builder | Test.java:36:9:36:11 | out | provenance | | +| Test.java:41:16:41:31 | (...)... : String | Test.java:42:19:42:20 | in : String | provenance | | +| Test.java:41:24:41:31 | source(...) : Object | Test.java:41:16:41:31 | (...)... : String | provenance | | +| Test.java:42:4:42:6 | out [post update] : Builder | Test.java:43:9:43:11 | out | provenance | | +| Test.java:42:19:42:20 | in : String | Test.java:42:4:42:6 | out [post update] : Builder | provenance | MaD:33 | +| Test.java:48:21:48:41 | (...)... : Builder | Test.java:49:10:49:11 | in : Builder | provenance | | +| Test.java:48:34:48:41 | source(...) : Object | Test.java:48:21:48:41 | (...)... : Builder | provenance | | +| Test.java:49:10:49:11 | in : Builder | Test.java:49:10:49:44 | appendQueryParameter(...) : Builder | provenance | MaD:34 | +| Test.java:49:10:49:44 | appendQueryParameter(...) : Builder | Test.java:50:9:50:11 | out | provenance | | +| Test.java:55:16:55:31 | (...)... : String | Test.java:56:35:56:36 | in : String | provenance | | +| Test.java:55:24:55:31 | source(...) : Object | Test.java:55:16:55:31 | (...)... : String | provenance | | +| Test.java:56:4:56:6 | out [post update] : Builder | Test.java:57:9:57:11 | out | provenance | | +| Test.java:56:35:56:36 | in : String | Test.java:56:4:56:6 | out [post update] : Builder | provenance | MaD:35 | +| Test.java:62:16:62:31 | (...)... : String | Test.java:63:29:63:30 | in : String | provenance | | +| Test.java:62:24:62:31 | source(...) : Object | Test.java:62:16:62:31 | (...)... : String | provenance | | +| Test.java:63:4:63:6 | out [post update] : Builder | Test.java:64:9:64:11 | out | provenance | | +| Test.java:63:29:63:30 | in : String | Test.java:63:4:63:6 | out [post update] : Builder | provenance | MaD:35 | +| Test.java:69:21:69:41 | (...)... : Builder | Test.java:70:10:70:11 | in : Builder | provenance | | +| Test.java:69:34:69:41 | source(...) : Object | Test.java:69:21:69:41 | (...)... : Builder | provenance | | +| Test.java:70:10:70:11 | in : Builder | Test.java:70:10:70:27 | authority(...) : Builder | provenance | MaD:36 | +| Test.java:70:10:70:27 | authority(...) : Builder | Test.java:71:9:71:11 | out | provenance | | +| Test.java:76:16:76:31 | (...)... : String | Test.java:77:18:77:19 | in : String | provenance | | +| Test.java:76:24:76:31 | source(...) : Object | Test.java:76:16:76:31 | (...)... : String | provenance | | +| Test.java:77:4:77:6 | out [post update] : Builder | Test.java:78:9:78:11 | out | provenance | | +| Test.java:77:18:77:19 | in : String | Test.java:77:4:77:6 | out [post update] : Builder | provenance | MaD:37 | +| Test.java:83:21:83:41 | (...)... : Builder | Test.java:84:10:84:11 | in : Builder | provenance | | +| Test.java:83:34:83:41 | source(...) : Object | Test.java:83:21:83:41 | (...)... : Builder | provenance | | +| Test.java:84:10:84:11 | in : Builder | Test.java:84:10:84:19 | build(...) : Uri | provenance | MaD:38 | +| Test.java:84:10:84:19 | build(...) : Uri | Test.java:85:9:85:11 | out | provenance | | +| Test.java:90:21:90:41 | (...)... : Builder | Test.java:91:10:91:11 | in : Builder | provenance | | +| Test.java:90:34:90:41 | source(...) : Object | Test.java:90:21:90:41 | (...)... : Builder | provenance | | +| Test.java:91:10:91:11 | in : Builder | Test.java:91:10:91:24 | clearQuery(...) : Builder | provenance | MaD:39 | +| Test.java:91:10:91:24 | clearQuery(...) : Builder | Test.java:92:9:92:11 | out | provenance | | +| Test.java:97:21:97:41 | (...)... : Builder | Test.java:98:10:98:11 | in : Builder | provenance | | +| Test.java:97:34:97:41 | source(...) : Object | Test.java:97:21:97:41 | (...)... : Builder | provenance | | +| Test.java:98:10:98:11 | in : Builder | Test.java:98:10:98:34 | encodedAuthority(...) : Builder | provenance | MaD:40 | +| Test.java:98:10:98:34 | encodedAuthority(...) : Builder | Test.java:99:9:99:11 | out | provenance | | +| Test.java:104:16:104:31 | (...)... : String | Test.java:105:25:105:26 | in : String | provenance | | +| Test.java:104:24:104:31 | source(...) : Object | Test.java:104:16:104:31 | (...)... : String | provenance | | +| Test.java:105:4:105:6 | out [post update] : Builder | Test.java:106:9:106:11 | out | provenance | | +| Test.java:105:25:105:26 | in : String | Test.java:105:4:105:6 | out [post update] : Builder | provenance | MaD:41 | +| Test.java:111:21:111:41 | (...)... : Builder | Test.java:112:10:112:11 | in : Builder | provenance | | +| Test.java:111:34:111:41 | source(...) : Object | Test.java:111:21:111:41 | (...)... : Builder | provenance | | +| Test.java:112:10:112:11 | in : Builder | Test.java:112:10:112:33 | encodedFragment(...) : Builder | provenance | MaD:42 | +| Test.java:112:10:112:33 | encodedFragment(...) : Builder | Test.java:113:9:113:11 | out | provenance | | +| Test.java:118:16:118:31 | (...)... : String | Test.java:119:24:119:25 | in : String | provenance | | +| Test.java:118:24:118:31 | source(...) : Object | Test.java:118:16:118:31 | (...)... : String | provenance | | +| Test.java:119:4:119:6 | out [post update] : Builder | Test.java:120:9:120:11 | out | provenance | | +| Test.java:119:24:119:25 | in : String | Test.java:119:4:119:6 | out [post update] : Builder | provenance | MaD:43 | +| Test.java:125:21:125:41 | (...)... : Builder | Test.java:126:10:126:11 | in : Builder | provenance | | +| Test.java:125:34:125:41 | source(...) : Object | Test.java:125:21:125:41 | (...)... : Builder | provenance | | +| Test.java:126:10:126:11 | in : Builder | Test.java:126:10:126:35 | encodedOpaquePart(...) : Builder | provenance | MaD:44 | +| Test.java:126:10:126:35 | encodedOpaquePart(...) : Builder | Test.java:127:9:127:11 | out | provenance | | +| Test.java:132:16:132:31 | (...)... : String | Test.java:133:26:133:27 | in : String | provenance | | +| Test.java:132:24:132:31 | source(...) : Object | Test.java:132:16:132:31 | (...)... : String | provenance | | +| Test.java:133:4:133:6 | out [post update] : Builder | Test.java:134:9:134:11 | out | provenance | | +| Test.java:133:26:133:27 | in : String | Test.java:133:4:133:6 | out [post update] : Builder | provenance | MaD:45 | +| Test.java:139:21:139:41 | (...)... : Builder | Test.java:140:10:140:11 | in : Builder | provenance | | +| Test.java:139:34:139:41 | source(...) : Object | Test.java:139:21:139:41 | (...)... : Builder | provenance | | +| Test.java:140:10:140:11 | in : Builder | Test.java:140:10:140:29 | encodedPath(...) : Builder | provenance | MaD:46 | +| Test.java:140:10:140:29 | encodedPath(...) : Builder | Test.java:141:9:141:11 | out | provenance | | +| Test.java:146:16:146:31 | (...)... : String | Test.java:147:20:147:21 | in : String | provenance | | +| Test.java:146:24:146:31 | source(...) : Object | Test.java:146:16:146:31 | (...)... : String | provenance | | +| Test.java:147:4:147:6 | out [post update] : Builder | Test.java:148:9:148:11 | out | provenance | | +| Test.java:147:20:147:21 | in : String | Test.java:147:4:147:6 | out [post update] : Builder | provenance | MaD:47 | +| Test.java:153:21:153:41 | (...)... : Builder | Test.java:154:10:154:11 | in : Builder | provenance | | +| Test.java:153:34:153:41 | source(...) : Object | Test.java:153:21:153:41 | (...)... : Builder | provenance | | +| Test.java:154:10:154:11 | in : Builder | Test.java:154:10:154:30 | encodedQuery(...) : Builder | provenance | MaD:48 | +| Test.java:154:10:154:30 | encodedQuery(...) : Builder | Test.java:155:9:155:11 | out | provenance | | +| Test.java:160:16:160:31 | (...)... : String | Test.java:161:21:161:22 | in : String | provenance | | +| Test.java:160:24:160:31 | source(...) : Object | Test.java:160:16:160:31 | (...)... : String | provenance | | +| Test.java:161:4:161:6 | out [post update] : Builder | Test.java:162:9:162:11 | out | provenance | | +| Test.java:161:21:161:22 | in : String | Test.java:161:4:161:6 | out [post update] : Builder | provenance | MaD:49 | +| Test.java:167:21:167:41 | (...)... : Builder | Test.java:168:10:168:11 | in : Builder | provenance | | +| Test.java:167:34:167:41 | source(...) : Object | Test.java:167:21:167:41 | (...)... : Builder | provenance | | +| Test.java:168:10:168:11 | in : Builder | Test.java:168:10:168:26 | fragment(...) : Builder | provenance | MaD:50 | +| Test.java:168:10:168:26 | fragment(...) : Builder | Test.java:169:9:169:11 | out | provenance | | +| Test.java:174:16:174:31 | (...)... : String | Test.java:175:17:175:18 | in : String | provenance | | +| Test.java:174:24:174:31 | source(...) : Object | Test.java:174:16:174:31 | (...)... : String | provenance | | +| Test.java:175:4:175:6 | out [post update] : Builder | Test.java:176:9:176:11 | out | provenance | | +| Test.java:175:17:175:18 | in : String | Test.java:175:4:175:6 | out [post update] : Builder | provenance | MaD:51 | +| Test.java:181:21:181:41 | (...)... : Builder | Test.java:182:10:182:11 | in : Builder | provenance | | +| Test.java:181:34:181:41 | source(...) : Object | Test.java:181:21:181:41 | (...)... : Builder | provenance | | +| Test.java:182:10:182:11 | in : Builder | Test.java:182:10:182:28 | opaquePart(...) : Builder | provenance | MaD:52 | +| Test.java:182:10:182:28 | opaquePart(...) : Builder | Test.java:183:9:183:11 | out | provenance | | +| Test.java:188:16:188:31 | (...)... : String | Test.java:189:19:189:20 | in : String | provenance | | +| Test.java:188:24:188:31 | source(...) : Object | Test.java:188:16:188:31 | (...)... : String | provenance | | +| Test.java:189:4:189:6 | out [post update] : Builder | Test.java:190:9:190:11 | out | provenance | | +| Test.java:189:19:189:20 | in : String | Test.java:189:4:189:6 | out [post update] : Builder | provenance | MaD:53 | +| Test.java:195:21:195:41 | (...)... : Builder | Test.java:196:10:196:11 | in : Builder | provenance | | +| Test.java:195:34:195:41 | source(...) : Object | Test.java:195:21:195:41 | (...)... : Builder | provenance | | +| Test.java:196:10:196:11 | in : Builder | Test.java:196:10:196:22 | path(...) : Builder | provenance | MaD:54 | +| Test.java:196:10:196:22 | path(...) : Builder | Test.java:197:9:197:11 | out | provenance | | +| Test.java:202:16:202:31 | (...)... : String | Test.java:203:13:203:14 | in : String | provenance | | +| Test.java:202:24:202:31 | source(...) : Object | Test.java:202:16:202:31 | (...)... : String | provenance | | +| Test.java:203:4:203:6 | out [post update] : Builder | Test.java:204:9:204:11 | out | provenance | | +| Test.java:203:13:203:14 | in : String | Test.java:203:4:203:6 | out [post update] : Builder | provenance | MaD:55 | +| Test.java:209:21:209:41 | (...)... : Builder | Test.java:210:10:210:11 | in : Builder | provenance | | +| Test.java:209:34:209:41 | source(...) : Object | Test.java:209:21:209:41 | (...)... : Builder | provenance | | +| Test.java:210:10:210:11 | in : Builder | Test.java:210:10:210:23 | query(...) : Builder | provenance | MaD:56 | +| Test.java:210:10:210:23 | query(...) : Builder | Test.java:211:9:211:11 | out | provenance | | +| Test.java:216:16:216:31 | (...)... : String | Test.java:217:14:217:15 | in : String | provenance | | +| Test.java:216:24:216:31 | source(...) : Object | Test.java:216:16:216:31 | (...)... : String | provenance | | +| Test.java:217:4:217:6 | out [post update] : Builder | Test.java:218:9:218:11 | out | provenance | | +| Test.java:217:14:217:15 | in : String | Test.java:217:4:217:6 | out [post update] : Builder | provenance | MaD:57 | +| Test.java:223:21:223:41 | (...)... : Builder | Test.java:224:10:224:11 | in : Builder | provenance | | +| Test.java:223:34:223:41 | source(...) : Object | Test.java:223:21:223:41 | (...)... : Builder | provenance | | +| Test.java:224:10:224:11 | in : Builder | Test.java:224:10:224:24 | scheme(...) : Builder | provenance | MaD:58 | +| Test.java:224:10:224:24 | scheme(...) : Builder | Test.java:225:9:225:11 | out | provenance | | +| Test.java:230:16:230:31 | (...)... : String | Test.java:231:15:231:16 | in : String | provenance | | +| Test.java:230:24:230:31 | source(...) : Object | Test.java:230:16:230:31 | (...)... : String | provenance | | +| Test.java:231:4:231:6 | out [post update] : Builder | Test.java:232:9:232:11 | out | provenance | | +| Test.java:231:15:231:16 | in : String | Test.java:231:4:231:6 | out [post update] : Builder | provenance | MaD:59 | +| Test.java:237:21:237:41 | (...)... : Builder | Test.java:238:10:238:11 | in : Builder | provenance | | +| Test.java:237:34:237:41 | source(...) : Object | Test.java:237:21:237:41 | (...)... : Builder | provenance | | +| Test.java:238:10:238:11 | in : Builder | Test.java:238:10:238:22 | toString(...) : String | provenance | MaD:60 | +| Test.java:238:10:238:22 | toString(...) : String | Test.java:239:9:239:11 | out | provenance | | +| Test.java:244:16:244:31 | (...)... : String | Test.java:245:21:245:22 | in : String | provenance | | +| Test.java:244:24:244:31 | source(...) : Object | Test.java:244:16:244:31 | (...)... : String | provenance | | +| Test.java:245:10:245:23 | decode(...) : String | Test.java:246:9:246:11 | out | provenance | | +| Test.java:245:21:245:22 | in : String | Test.java:245:10:245:23 | decode(...) : String | provenance | MaD:2 | +| Test.java:251:16:251:31 | (...)... : String | Test.java:252:21:252:22 | in : String | provenance | | +| Test.java:251:24:251:31 | source(...) : Object | Test.java:251:16:251:31 | (...)... : String | provenance | | +| Test.java:252:10:252:29 | encode(...) : String | Test.java:253:9:253:11 | out | provenance | | +| Test.java:252:21:252:22 | in : String | Test.java:252:10:252:29 | encode(...) : String | provenance | MaD:3 | +| Test.java:258:16:258:31 | (...)... : String | Test.java:259:21:259:22 | in : String | provenance | | +| Test.java:258:24:258:31 | source(...) : Object | Test.java:258:16:258:31 | (...)... : String | provenance | | +| Test.java:259:10:259:23 | encode(...) : String | Test.java:260:9:260:11 | out | provenance | | +| Test.java:259:21:259:22 | in : String | Test.java:259:10:259:23 | encode(...) : String | provenance | MaD:3 | +| Test.java:265:14:265:27 | (...)... : File | Test.java:266:23:266:24 | in : File | provenance | | +| Test.java:265:20:265:27 | source(...) : Object | Test.java:265:14:265:27 | (...)... : File | provenance | | +| Test.java:266:10:266:25 | fromFile(...) : Uri | Test.java:267:9:267:11 | out | provenance | | +| Test.java:266:23:266:24 | in : File | Test.java:266:10:266:25 | fromFile(...) : Uri | provenance | MaD:4 | +| Test.java:272:16:272:31 | (...)... : String | Test.java:273:36:273:37 | in : String | provenance | | +| Test.java:272:24:272:31 | source(...) : Object | Test.java:272:16:272:31 | (...)... : String | provenance | | +| Test.java:273:10:273:38 | fromParts(...) : Uri | Test.java:274:9:274:11 | out | provenance | | +| Test.java:273:36:273:37 | in : String | Test.java:273:10:273:38 | fromParts(...) : Uri | provenance | MaD:5 | +| Test.java:279:16:279:31 | (...)... : String | Test.java:280:30:280:31 | in : String | provenance | | +| Test.java:279:24:279:31 | source(...) : Object | Test.java:279:16:279:31 | (...)... : String | provenance | | +| Test.java:280:10:280:38 | fromParts(...) : Uri | Test.java:281:9:281:11 | out | provenance | | +| Test.java:280:30:280:31 | in : String | Test.java:280:10:280:38 | fromParts(...) : Uri | provenance | MaD:5 | +| Test.java:286:16:286:31 | (...)... : String | Test.java:287:24:287:25 | in : String | provenance | | +| Test.java:286:24:286:31 | source(...) : Object | Test.java:286:16:286:31 | (...)... : String | provenance | | +| Test.java:287:10:287:38 | fromParts(...) : Uri | Test.java:288:9:288:11 | out | provenance | | +| Test.java:287:24:287:25 | in : String | Test.java:287:10:287:38 | fromParts(...) : Uri | provenance | MaD:5 | +| Test.java:293:16:293:31 | (...)... : String | Test.java:294:20:294:21 | in : String | provenance | | +| Test.java:293:24:293:31 | source(...) : Object | Test.java:293:16:293:31 | (...)... : String | provenance | | +| Test.java:294:10:294:22 | parse(...) : Uri | Test.java:295:9:295:11 | out | provenance | | +| Test.java:294:20:294:21 | in : String | Test.java:294:10:294:22 | parse(...) : Uri | provenance | MaD:26 | +| Test.java:300:13:300:25 | (...)... : Uri | Test.java:301:31:301:32 | in : Uri | provenance | | +| Test.java:300:18:300:25 | source(...) : Object | Test.java:300:13:300:25 | (...)... : Uri | provenance | | +| Test.java:301:10:301:39 | withAppendedPath(...) : Uri | Test.java:302:9:302:11 | out | provenance | | +| Test.java:301:31:301:32 | in : Uri | Test.java:301:10:301:39 | withAppendedPath(...) : Uri | provenance | MaD:28 | +| Test.java:307:16:307:31 | (...)... : String | Test.java:308:37:308:38 | in : String | provenance | | +| Test.java:307:24:307:31 | source(...) : Object | Test.java:307:16:307:31 | (...)... : String | provenance | | +| Test.java:308:10:308:39 | withAppendedPath(...) : Uri | Test.java:309:9:309:11 | out | provenance | | +| Test.java:308:37:308:38 | in : String | Test.java:308:10:308:39 | withAppendedPath(...) : Uri | provenance | MaD:28 | +| Test.java:314:13:314:25 | (...)... : Uri | Test.java:315:27:315:28 | in : Uri | provenance | | +| Test.java:314:18:314:25 | source(...) : Object | Test.java:314:13:314:25 | (...)... : Uri | provenance | | +| Test.java:315:22:315:24 | out [post update] : Parcel | Test.java:316:9:316:11 | out | provenance | | +| Test.java:315:27:315:28 | in : Uri | Test.java:315:22:315:24 | out [post update] : Parcel | provenance | MaD:29 | +| Test.java:321:13:321:25 | (...)... : Uri | Test.java:322:10:322:11 | in : Uri | provenance | | +| Test.java:321:18:321:25 | source(...) : Object | Test.java:321:13:321:25 | (...)... : Uri | provenance | | +| Test.java:322:10:322:11 | in : Uri | Test.java:322:10:322:23 | buildUpon(...) : Builder | provenance | MaD:1 | +| Test.java:322:10:322:23 | buildUpon(...) : Builder | Test.java:323:9:323:11 | out | provenance | | +| Test.java:328:13:328:25 | (...)... : Uri | Test.java:329:10:329:11 | in : Uri | provenance | | +| Test.java:328:18:328:25 | source(...) : Object | Test.java:328:13:328:25 | (...)... : Uri | provenance | | +| Test.java:329:10:329:11 | in : Uri | Test.java:329:10:329:26 | getAuthority(...) : String | provenance | MaD:6 | +| Test.java:329:10:329:26 | getAuthority(...) : String | Test.java:330:9:330:11 | out | provenance | | +| Test.java:335:13:335:25 | (...)... : Uri | Test.java:336:10:336:11 | in : Uri | provenance | | +| Test.java:335:18:335:25 | source(...) : Object | Test.java:335:13:335:25 | (...)... : Uri | provenance | | +| Test.java:336:10:336:11 | in : Uri | Test.java:336:10:336:33 | getEncodedAuthority(...) : String | provenance | MaD:7 | +| Test.java:336:10:336:33 | getEncodedAuthority(...) : String | Test.java:337:9:337:11 | out | provenance | | +| Test.java:342:13:342:25 | (...)... : Uri | Test.java:343:10:343:11 | in : Uri | provenance | | +| Test.java:342:18:342:25 | source(...) : Object | Test.java:342:13:342:25 | (...)... : Uri | provenance | | +| Test.java:343:10:343:11 | in : Uri | Test.java:343:10:343:32 | getEncodedFragment(...) : String | provenance | MaD:8 | +| Test.java:343:10:343:32 | getEncodedFragment(...) : String | Test.java:344:9:344:11 | out | provenance | | +| Test.java:349:13:349:25 | (...)... : Uri | Test.java:350:10:350:11 | in : Uri | provenance | | +| Test.java:349:18:349:25 | source(...) : Object | Test.java:349:13:349:25 | (...)... : Uri | provenance | | +| Test.java:350:10:350:11 | in : Uri | Test.java:350:10:350:28 | getEncodedPath(...) : String | provenance | MaD:9 | +| Test.java:350:10:350:28 | getEncodedPath(...) : String | Test.java:351:9:351:11 | out | provenance | | +| Test.java:356:13:356:25 | (...)... : Uri | Test.java:357:10:357:11 | in : Uri | provenance | | +| Test.java:356:18:356:25 | source(...) : Object | Test.java:356:13:356:25 | (...)... : Uri | provenance | | +| Test.java:357:10:357:11 | in : Uri | Test.java:357:10:357:29 | getEncodedQuery(...) : String | provenance | MaD:10 | +| Test.java:357:10:357:29 | getEncodedQuery(...) : String | Test.java:358:9:358:11 | out | provenance | | +| Test.java:363:13:363:25 | (...)... : Uri | Test.java:364:10:364:11 | in : Uri | provenance | | +| Test.java:363:18:363:25 | source(...) : Object | Test.java:363:13:363:25 | (...)... : Uri | provenance | | +| Test.java:364:10:364:11 | in : Uri | Test.java:364:10:364:42 | getEncodedSchemeSpecificPart(...) : String | provenance | MaD:11 | +| Test.java:364:10:364:42 | getEncodedSchemeSpecificPart(...) : String | Test.java:365:9:365:11 | out | provenance | | +| Test.java:370:13:370:25 | (...)... : Uri | Test.java:371:10:371:11 | in : Uri | provenance | | +| Test.java:370:18:370:25 | source(...) : Object | Test.java:370:13:370:25 | (...)... : Uri | provenance | | +| Test.java:371:10:371:11 | in : Uri | Test.java:371:10:371:32 | getEncodedUserInfo(...) : String | provenance | MaD:12 | +| Test.java:371:10:371:32 | getEncodedUserInfo(...) : String | Test.java:372:9:372:11 | out | provenance | | +| Test.java:377:13:377:25 | (...)... : Uri | Test.java:378:10:378:11 | in : Uri | provenance | | +| Test.java:377:18:377:25 | source(...) : Object | Test.java:377:13:377:25 | (...)... : Uri | provenance | | +| Test.java:378:10:378:11 | in : Uri | Test.java:378:10:378:25 | getFragment(...) : String | provenance | MaD:13 | +| Test.java:378:10:378:25 | getFragment(...) : String | Test.java:379:9:379:11 | out | provenance | | +| Test.java:384:13:384:25 | (...)... : Uri | Test.java:385:10:385:11 | in : Uri | provenance | | +| Test.java:384:18:384:25 | source(...) : Object | Test.java:384:13:384:25 | (...)... : Uri | provenance | | +| Test.java:385:10:385:11 | in : Uri | Test.java:385:10:385:21 | getHost(...) : String | provenance | MaD:14 | +| Test.java:385:10:385:21 | getHost(...) : String | Test.java:386:9:386:11 | out | provenance | | +| Test.java:391:13:391:25 | (...)... : Uri | Test.java:392:10:392:11 | in : Uri | provenance | | +| Test.java:391:18:391:25 | source(...) : Object | Test.java:391:13:391:25 | (...)... : Uri | provenance | | +| Test.java:392:10:392:11 | in : Uri | Test.java:392:10:392:32 | getLastPathSegment(...) : String | provenance | MaD:15 | +| Test.java:392:10:392:32 | getLastPathSegment(...) : String | Test.java:393:9:393:11 | out | provenance | | +| Test.java:398:13:398:25 | (...)... : Uri | Test.java:399:10:399:11 | in : Uri | provenance | | +| Test.java:398:18:398:25 | source(...) : Object | Test.java:398:13:398:25 | (...)... : Uri | provenance | | +| Test.java:399:10:399:11 | in : Uri | Test.java:399:10:399:21 | getPath(...) : String | provenance | MaD:16 | +| Test.java:399:10:399:21 | getPath(...) : String | Test.java:400:9:400:11 | out | provenance | | +| Test.java:405:13:405:25 | (...)... : Uri | Test.java:406:10:406:11 | in : Uri | provenance | | +| Test.java:405:18:405:25 | source(...) : Object | Test.java:405:13:405:25 | (...)... : Uri | provenance | | +| Test.java:406:10:406:11 | in : Uri | Test.java:406:10:406:29 | getPathSegments(...) : List | provenance | MaD:17 | +| Test.java:406:10:406:29 | getPathSegments(...) : List | Test.java:407:9:407:11 | out | provenance | | +| Test.java:412:13:412:25 | (...)... : Uri | Test.java:413:10:413:11 | in : Uri | provenance | | +| Test.java:412:18:412:25 | source(...) : Object | Test.java:412:13:412:25 | (...)... : Uri | provenance | | +| Test.java:413:10:413:11 | in : Uri | Test.java:413:10:413:22 | getQuery(...) : String | provenance | MaD:18 | +| Test.java:413:10:413:22 | getQuery(...) : String | Test.java:414:9:414:11 | out | provenance | | +| Test.java:419:13:419:25 | (...)... : Uri | Test.java:420:10:420:11 | in : Uri | provenance | | +| Test.java:419:18:419:25 | source(...) : Object | Test.java:419:13:419:25 | (...)... : Uri | provenance | | +| Test.java:420:10:420:11 | in : Uri | Test.java:420:10:420:35 | getQueryParameter(...) : String | provenance | MaD:19 | +| Test.java:420:10:420:35 | getQueryParameter(...) : String | Test.java:421:9:421:11 | out | provenance | | +| Test.java:426:13:426:25 | (...)... : Uri | Test.java:427:10:427:11 | in : Uri | provenance | | +| Test.java:426:18:426:25 | source(...) : Object | Test.java:426:13:426:25 | (...)... : Uri | provenance | | +| Test.java:427:10:427:11 | in : Uri | Test.java:427:10:427:36 | getQueryParameterNames(...) : Set | provenance | MaD:20 | +| Test.java:427:10:427:36 | getQueryParameterNames(...) : Set | Test.java:428:9:428:11 | out | provenance | | +| Test.java:433:13:433:25 | (...)... : Uri | Test.java:434:10:434:11 | in : Uri | provenance | | +| Test.java:433:18:433:25 | source(...) : Object | Test.java:433:13:433:25 | (...)... : Uri | provenance | | +| Test.java:434:10:434:11 | in : Uri | Test.java:434:10:434:36 | getQueryParameters(...) : List | provenance | MaD:21 | +| Test.java:434:10:434:36 | getQueryParameters(...) : List | Test.java:435:9:435:11 | out | provenance | | +| Test.java:440:13:440:25 | (...)... : Uri | Test.java:441:10:441:11 | in : Uri | provenance | | +| Test.java:440:18:440:25 | source(...) : Object | Test.java:440:13:440:25 | (...)... : Uri | provenance | | +| Test.java:441:10:441:11 | in : Uri | Test.java:441:10:441:23 | getScheme(...) : String | provenance | MaD:22 | +| Test.java:441:10:441:23 | getScheme(...) : String | Test.java:442:9:442:11 | out | provenance | | +| Test.java:447:13:447:25 | (...)... : Uri | Test.java:448:10:448:11 | in : Uri | provenance | | +| Test.java:447:18:447:25 | source(...) : Object | Test.java:447:13:447:25 | (...)... : Uri | provenance | | +| Test.java:448:10:448:11 | in : Uri | Test.java:448:10:448:35 | getSchemeSpecificPart(...) : String | provenance | MaD:23 | +| Test.java:448:10:448:35 | getSchemeSpecificPart(...) : String | Test.java:449:9:449:11 | out | provenance | | +| Test.java:454:13:454:25 | (...)... : Uri | Test.java:455:10:455:11 | in : Uri | provenance | | +| Test.java:454:18:454:25 | source(...) : Object | Test.java:454:13:454:25 | (...)... : Uri | provenance | | +| Test.java:455:10:455:11 | in : Uri | Test.java:455:10:455:25 | getUserInfo(...) : String | provenance | MaD:24 | +| Test.java:455:10:455:25 | getUserInfo(...) : String | Test.java:456:9:456:11 | out | provenance | | +| Test.java:461:13:461:25 | (...)... : Uri | Test.java:462:10:462:11 | in : Uri | provenance | | +| Test.java:461:18:461:25 | source(...) : Object | Test.java:461:13:461:25 | (...)... : Uri | provenance | | +| Test.java:462:10:462:11 | in : Uri | Test.java:462:10:462:29 | normalizeScheme(...) : Uri | provenance | MaD:25 | +| Test.java:462:10:462:29 | normalizeScheme(...) : Uri | Test.java:463:9:463:11 | out | provenance | | +| Test.java:468:13:468:25 | (...)... : Uri | Test.java:469:10:469:11 | in : Uri | provenance | | +| Test.java:468:18:468:25 | source(...) : Object | Test.java:468:13:468:25 | (...)... : Uri | provenance | | +| Test.java:469:10:469:11 | in : Uri | Test.java:469:10:469:22 | toString(...) : String | provenance | MaD:27 | +| Test.java:469:10:469:22 | toString(...) : String | Test.java:470:9:470:11 | out | provenance | | +nodes +| Test.java:20:21:20:41 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:20:34:20:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:21:10:21:11 | in : Builder | semmle.label | in : Builder | +| Test.java:21:10:21:35 | appendEncodedPath(...) : Builder | semmle.label | appendEncodedPath(...) : Builder | +| Test.java:22:9:22:11 | out | semmle.label | out | +| Test.java:27:16:27:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:27:24:27:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:28:4:28:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:28:26:28:27 | in : String | semmle.label | in : String | +| Test.java:29:9:29:11 | out | semmle.label | out | +| Test.java:34:21:34:41 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:34:34:34:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:35:10:35:11 | in : Builder | semmle.label | in : Builder | +| Test.java:35:10:35:28 | appendPath(...) : Builder | semmle.label | appendPath(...) : Builder | +| Test.java:36:9:36:11 | out | semmle.label | out | +| Test.java:41:16:41:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:41:24:41:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:42:4:42:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:42:19:42:20 | in : String | semmle.label | in : String | +| Test.java:43:9:43:11 | out | semmle.label | out | +| Test.java:48:21:48:41 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:48:34:48:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:49:10:49:11 | in : Builder | semmle.label | in : Builder | +| Test.java:49:10:49:44 | appendQueryParameter(...) : Builder | semmle.label | appendQueryParameter(...) : Builder | +| Test.java:50:9:50:11 | out | semmle.label | out | +| Test.java:55:16:55:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:55:24:55:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:56:4:56:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:56:35:56:36 | in : String | semmle.label | in : String | +| Test.java:57:9:57:11 | out | semmle.label | out | +| Test.java:62:16:62:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:62:24:62:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:63:4:63:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:63:29:63:30 | in : String | semmle.label | in : String | +| Test.java:64:9:64:11 | out | semmle.label | out | +| Test.java:69:21:69:41 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:69:34:69:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:70:10:70:11 | in : Builder | semmle.label | in : Builder | +| Test.java:70:10:70:27 | authority(...) : Builder | semmle.label | authority(...) : Builder | +| Test.java:71:9:71:11 | out | semmle.label | out | +| Test.java:76:16:76:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:76:24:76:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:77:4:77:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:77:18:77:19 | in : String | semmle.label | in : String | +| Test.java:78:9:78:11 | out | semmle.label | out | +| Test.java:83:21:83:41 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:83:34:83:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:84:10:84:11 | in : Builder | semmle.label | in : Builder | +| Test.java:84:10:84:19 | build(...) : Uri | semmle.label | build(...) : Uri | +| Test.java:85:9:85:11 | out | semmle.label | out | +| Test.java:90:21:90:41 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:90:34:90:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:91:10:91:11 | in : Builder | semmle.label | in : Builder | +| Test.java:91:10:91:24 | clearQuery(...) : Builder | semmle.label | clearQuery(...) : Builder | +| Test.java:92:9:92:11 | out | semmle.label | out | +| Test.java:97:21:97:41 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:97:34:97:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:98:10:98:11 | in : Builder | semmle.label | in : Builder | +| Test.java:98:10:98:34 | encodedAuthority(...) : Builder | semmle.label | encodedAuthority(...) : Builder | +| Test.java:99:9:99:11 | out | semmle.label | out | +| Test.java:104:16:104:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:104:24:104:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:105:4:105:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:105:25:105:26 | in : String | semmle.label | in : String | +| Test.java:106:9:106:11 | out | semmle.label | out | +| Test.java:111:21:111:41 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:111:34:111:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:112:10:112:11 | in : Builder | semmle.label | in : Builder | +| Test.java:112:10:112:33 | encodedFragment(...) : Builder | semmle.label | encodedFragment(...) : Builder | +| Test.java:113:9:113:11 | out | semmle.label | out | +| Test.java:118:16:118:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:118:24:118:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:119:4:119:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:119:24:119:25 | in : String | semmle.label | in : String | +| Test.java:120:9:120:11 | out | semmle.label | out | +| Test.java:125:21:125:41 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:125:34:125:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:126:10:126:11 | in : Builder | semmle.label | in : Builder | +| Test.java:126:10:126:35 | encodedOpaquePart(...) : Builder | semmle.label | encodedOpaquePart(...) : Builder | +| Test.java:127:9:127:11 | out | semmle.label | out | +| Test.java:132:16:132:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:132:24:132:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:133:4:133:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:133:26:133:27 | in : String | semmle.label | in : String | +| Test.java:134:9:134:11 | out | semmle.label | out | +| Test.java:139:21:139:41 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:139:34:139:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:140:10:140:11 | in : Builder | semmle.label | in : Builder | +| Test.java:140:10:140:29 | encodedPath(...) : Builder | semmle.label | encodedPath(...) : Builder | +| Test.java:141:9:141:11 | out | semmle.label | out | +| Test.java:146:16:146:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:146:24:146:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:147:4:147:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:147:20:147:21 | in : String | semmle.label | in : String | +| Test.java:148:9:148:11 | out | semmle.label | out | +| Test.java:153:21:153:41 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:153:34:153:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:154:10:154:11 | in : Builder | semmle.label | in : Builder | +| Test.java:154:10:154:30 | encodedQuery(...) : Builder | semmle.label | encodedQuery(...) : Builder | +| Test.java:155:9:155:11 | out | semmle.label | out | +| Test.java:160:16:160:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:160:24:160:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:161:4:161:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:161:21:161:22 | in : String | semmle.label | in : String | +| Test.java:162:9:162:11 | out | semmle.label | out | +| Test.java:167:21:167:41 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:167:34:167:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:168:10:168:11 | in : Builder | semmle.label | in : Builder | +| Test.java:168:10:168:26 | fragment(...) : Builder | semmle.label | fragment(...) : Builder | +| Test.java:169:9:169:11 | out | semmle.label | out | +| Test.java:174:16:174:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:174:24:174:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:175:4:175:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:175:17:175:18 | in : String | semmle.label | in : String | +| Test.java:176:9:176:11 | out | semmle.label | out | +| Test.java:181:21:181:41 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:181:34:181:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:182:10:182:11 | in : Builder | semmle.label | in : Builder | +| Test.java:182:10:182:28 | opaquePart(...) : Builder | semmle.label | opaquePart(...) : Builder | +| Test.java:183:9:183:11 | out | semmle.label | out | +| Test.java:188:16:188:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:188:24:188:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:189:4:189:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:189:19:189:20 | in : String | semmle.label | in : String | +| Test.java:190:9:190:11 | out | semmle.label | out | +| Test.java:195:21:195:41 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:195:34:195:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:196:10:196:11 | in : Builder | semmle.label | in : Builder | +| Test.java:196:10:196:22 | path(...) : Builder | semmle.label | path(...) : Builder | +| Test.java:197:9:197:11 | out | semmle.label | out | +| Test.java:202:16:202:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:202:24:202:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:203:4:203:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:203:13:203:14 | in : String | semmle.label | in : String | +| Test.java:204:9:204:11 | out | semmle.label | out | +| Test.java:209:21:209:41 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:209:34:209:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:210:10:210:11 | in : Builder | semmle.label | in : Builder | +| Test.java:210:10:210:23 | query(...) : Builder | semmle.label | query(...) : Builder | +| Test.java:211:9:211:11 | out | semmle.label | out | +| Test.java:216:16:216:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:216:24:216:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:217:4:217:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:217:14:217:15 | in : String | semmle.label | in : String | +| Test.java:218:9:218:11 | out | semmle.label | out | +| Test.java:223:21:223:41 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:223:34:223:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:224:10:224:11 | in : Builder | semmle.label | in : Builder | +| Test.java:224:10:224:24 | scheme(...) : Builder | semmle.label | scheme(...) : Builder | +| Test.java:225:9:225:11 | out | semmle.label | out | +| Test.java:230:16:230:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:230:24:230:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:231:4:231:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:231:15:231:16 | in : String | semmle.label | in : String | +| Test.java:232:9:232:11 | out | semmle.label | out | +| Test.java:237:21:237:41 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:237:34:237:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:238:10:238:11 | in : Builder | semmle.label | in : Builder | +| Test.java:238:10:238:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:239:9:239:11 | out | semmle.label | out | +| Test.java:244:16:244:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:244:24:244:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:245:10:245:23 | decode(...) : String | semmle.label | decode(...) : String | +| Test.java:245:21:245:22 | in : String | semmle.label | in : String | +| Test.java:246:9:246:11 | out | semmle.label | out | +| Test.java:251:16:251:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:251:24:251:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:252:10:252:29 | encode(...) : String | semmle.label | encode(...) : String | +| Test.java:252:21:252:22 | in : String | semmle.label | in : String | +| Test.java:253:9:253:11 | out | semmle.label | out | +| Test.java:258:16:258:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:258:24:258:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:259:10:259:23 | encode(...) : String | semmle.label | encode(...) : String | +| Test.java:259:21:259:22 | in : String | semmle.label | in : String | +| Test.java:260:9:260:11 | out | semmle.label | out | +| Test.java:265:14:265:27 | (...)... : File | semmle.label | (...)... : File | +| Test.java:265:20:265:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:266:10:266:25 | fromFile(...) : Uri | semmle.label | fromFile(...) : Uri | +| Test.java:266:23:266:24 | in : File | semmle.label | in : File | +| Test.java:267:9:267:11 | out | semmle.label | out | +| Test.java:272:16:272:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:272:24:272:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:273:10:273:38 | fromParts(...) : Uri | semmle.label | fromParts(...) : Uri | +| Test.java:273:36:273:37 | in : String | semmle.label | in : String | +| Test.java:274:9:274:11 | out | semmle.label | out | +| Test.java:279:16:279:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:279:24:279:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:280:10:280:38 | fromParts(...) : Uri | semmle.label | fromParts(...) : Uri | +| Test.java:280:30:280:31 | in : String | semmle.label | in : String | +| Test.java:281:9:281:11 | out | semmle.label | out | +| Test.java:286:16:286:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:286:24:286:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:287:10:287:38 | fromParts(...) : Uri | semmle.label | fromParts(...) : Uri | +| Test.java:287:24:287:25 | in : String | semmle.label | in : String | +| Test.java:288:9:288:11 | out | semmle.label | out | +| Test.java:293:16:293:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:293:24:293:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:294:10:294:22 | parse(...) : Uri | semmle.label | parse(...) : Uri | +| Test.java:294:20:294:21 | in : String | semmle.label | in : String | +| Test.java:295:9:295:11 | out | semmle.label | out | +| Test.java:300:13:300:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:300:18:300:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:301:10:301:39 | withAppendedPath(...) : Uri | semmle.label | withAppendedPath(...) : Uri | +| Test.java:301:31:301:32 | in : Uri | semmle.label | in : Uri | +| Test.java:302:9:302:11 | out | semmle.label | out | +| Test.java:307:16:307:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:307:24:307:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:308:10:308:39 | withAppendedPath(...) : Uri | semmle.label | withAppendedPath(...) : Uri | +| Test.java:308:37:308:38 | in : String | semmle.label | in : String | +| Test.java:309:9:309:11 | out | semmle.label | out | +| Test.java:314:13:314:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:314:18:314:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:315:22:315:24 | out [post update] : Parcel | semmle.label | out [post update] : Parcel | +| Test.java:315:27:315:28 | in : Uri | semmle.label | in : Uri | +| Test.java:316:9:316:11 | out | semmle.label | out | +| Test.java:321:13:321:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:321:18:321:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:322:10:322:11 | in : Uri | semmle.label | in : Uri | +| Test.java:322:10:322:23 | buildUpon(...) : Builder | semmle.label | buildUpon(...) : Builder | +| Test.java:323:9:323:11 | out | semmle.label | out | +| Test.java:328:13:328:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:328:18:328:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:329:10:329:11 | in : Uri | semmle.label | in : Uri | +| Test.java:329:10:329:26 | getAuthority(...) : String | semmle.label | getAuthority(...) : String | +| Test.java:330:9:330:11 | out | semmle.label | out | +| Test.java:335:13:335:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:335:18:335:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:336:10:336:11 | in : Uri | semmle.label | in : Uri | +| Test.java:336:10:336:33 | getEncodedAuthority(...) : String | semmle.label | getEncodedAuthority(...) : String | +| Test.java:337:9:337:11 | out | semmle.label | out | +| Test.java:342:13:342:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:342:18:342:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:343:10:343:11 | in : Uri | semmle.label | in : Uri | +| Test.java:343:10:343:32 | getEncodedFragment(...) : String | semmle.label | getEncodedFragment(...) : String | +| Test.java:344:9:344:11 | out | semmle.label | out | +| Test.java:349:13:349:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:349:18:349:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:350:10:350:11 | in : Uri | semmle.label | in : Uri | +| Test.java:350:10:350:28 | getEncodedPath(...) : String | semmle.label | getEncodedPath(...) : String | +| Test.java:351:9:351:11 | out | semmle.label | out | +| Test.java:356:13:356:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:356:18:356:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:357:10:357:11 | in : Uri | semmle.label | in : Uri | +| Test.java:357:10:357:29 | getEncodedQuery(...) : String | semmle.label | getEncodedQuery(...) : String | +| Test.java:358:9:358:11 | out | semmle.label | out | +| Test.java:363:13:363:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:363:18:363:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:364:10:364:11 | in : Uri | semmle.label | in : Uri | +| Test.java:364:10:364:42 | getEncodedSchemeSpecificPart(...) : String | semmle.label | getEncodedSchemeSpecificPart(...) : String | +| Test.java:365:9:365:11 | out | semmle.label | out | +| Test.java:370:13:370:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:370:18:370:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:371:10:371:11 | in : Uri | semmle.label | in : Uri | +| Test.java:371:10:371:32 | getEncodedUserInfo(...) : String | semmle.label | getEncodedUserInfo(...) : String | +| Test.java:372:9:372:11 | out | semmle.label | out | +| Test.java:377:13:377:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:377:18:377:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:378:10:378:11 | in : Uri | semmle.label | in : Uri | +| Test.java:378:10:378:25 | getFragment(...) : String | semmle.label | getFragment(...) : String | +| Test.java:379:9:379:11 | out | semmle.label | out | +| Test.java:384:13:384:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:384:18:384:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:385:10:385:11 | in : Uri | semmle.label | in : Uri | +| Test.java:385:10:385:21 | getHost(...) : String | semmle.label | getHost(...) : String | +| Test.java:386:9:386:11 | out | semmle.label | out | +| Test.java:391:13:391:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:391:18:391:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:392:10:392:11 | in : Uri | semmle.label | in : Uri | +| Test.java:392:10:392:32 | getLastPathSegment(...) : String | semmle.label | getLastPathSegment(...) : String | +| Test.java:393:9:393:11 | out | semmle.label | out | +| Test.java:398:13:398:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:398:18:398:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:399:10:399:11 | in : Uri | semmle.label | in : Uri | +| Test.java:399:10:399:21 | getPath(...) : String | semmle.label | getPath(...) : String | +| Test.java:400:9:400:11 | out | semmle.label | out | +| Test.java:405:13:405:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:405:18:405:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:406:10:406:11 | in : Uri | semmle.label | in : Uri | +| Test.java:406:10:406:29 | getPathSegments(...) : List | semmle.label | getPathSegments(...) : List | +| Test.java:407:9:407:11 | out | semmle.label | out | +| Test.java:412:13:412:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:412:18:412:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:413:10:413:11 | in : Uri | semmle.label | in : Uri | +| Test.java:413:10:413:22 | getQuery(...) : String | semmle.label | getQuery(...) : String | +| Test.java:414:9:414:11 | out | semmle.label | out | +| Test.java:419:13:419:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:419:18:419:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:420:10:420:11 | in : Uri | semmle.label | in : Uri | +| Test.java:420:10:420:35 | getQueryParameter(...) : String | semmle.label | getQueryParameter(...) : String | +| Test.java:421:9:421:11 | out | semmle.label | out | +| Test.java:426:13:426:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:426:18:426:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:427:10:427:11 | in : Uri | semmle.label | in : Uri | +| Test.java:427:10:427:36 | getQueryParameterNames(...) : Set | semmle.label | getQueryParameterNames(...) : Set | +| Test.java:428:9:428:11 | out | semmle.label | out | +| Test.java:433:13:433:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:433:18:433:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:434:10:434:11 | in : Uri | semmle.label | in : Uri | +| Test.java:434:10:434:36 | getQueryParameters(...) : List | semmle.label | getQueryParameters(...) : List | +| Test.java:435:9:435:11 | out | semmle.label | out | +| Test.java:440:13:440:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:440:18:440:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:441:10:441:11 | in : Uri | semmle.label | in : Uri | +| Test.java:441:10:441:23 | getScheme(...) : String | semmle.label | getScheme(...) : String | +| Test.java:442:9:442:11 | out | semmle.label | out | +| Test.java:447:13:447:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:447:18:447:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:448:10:448:11 | in : Uri | semmle.label | in : Uri | +| Test.java:448:10:448:35 | getSchemeSpecificPart(...) : String | semmle.label | getSchemeSpecificPart(...) : String | +| Test.java:449:9:449:11 | out | semmle.label | out | +| Test.java:454:13:454:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:454:18:454:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:455:10:455:11 | in : Uri | semmle.label | in : Uri | +| Test.java:455:10:455:25 | getUserInfo(...) : String | semmle.label | getUserInfo(...) : String | +| Test.java:456:9:456:11 | out | semmle.label | out | +| Test.java:461:13:461:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:461:18:461:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:462:10:462:11 | in : Uri | semmle.label | in : Uri | +| Test.java:462:10:462:29 | normalizeScheme(...) : Uri | semmle.label | normalizeScheme(...) : Uri | +| Test.java:463:9:463:11 | out | semmle.label | out | +| Test.java:468:13:468:25 | (...)... : Uri | semmle.label | (...)... : Uri | +| Test.java:468:18:468:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:469:10:469:11 | in : Uri | semmle.label | in : Uri | +| Test.java:469:10:469:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:470:9:470:11 | out | semmle.label | out | +subpaths +testFailures diff --git a/java/ql/test/library-tests/frameworks/android/widget/test.expected b/java/ql/test/library-tests/frameworks/android/widget/test.expected index edd61a10e55..939c310f0b3 100644 --- a/java/ql/test/library-tests/frameworks/android/widget/test.expected +++ b/java/ql/test/library-tests/frameworks/android/widget/test.expected @@ -1,2 +1,14 @@ +models +| 1 | Summary: android.widget; EditText; true; getText; ; ; Argument[this]; ReturnValue; taint; manual | +| 2 | Summary: java.lang; CharSequence; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | +edges +| TestWidget.java:12:14:12:21 | source(...) : EditText | TestWidget.java:12:14:12:31 | getText(...) : Editable | provenance | MaD:1 | +| TestWidget.java:12:14:12:31 | getText(...) : Editable | TestWidget.java:12:14:12:42 | toString(...) | provenance | AdditionalTaintStep | +| TestWidget.java:12:14:12:31 | getText(...) : Editable | TestWidget.java:12:14:12:42 | toString(...) | provenance | MaD:2 | +nodes +| TestWidget.java:12:14:12:21 | source(...) : EditText | semmle.label | source(...) : EditText | +| TestWidget.java:12:14:12:31 | getText(...) : Editable | semmle.label | getText(...) : Editable | +| TestWidget.java:12:14:12:42 | toString(...) | semmle.label | toString(...) | +subpaths testFailures valueOf diff --git a/java/ql/test/library-tests/frameworks/apache-ant/test.expected b/java/ql/test/library-tests/frameworks/apache-ant/test.expected index e69de29bb2d..6b8709f1dc5 100644 --- a/java/ql/test/library-tests/frameworks/apache-ant/test.expected +++ b/java/ql/test/library-tests/frameworks/apache-ant/test.expected @@ -0,0 +1,15 @@ +models +| 1 | Summary: org.apache.tools.zip; ZipEntry; true; ZipEntry; (String); ; Argument[0]; Argument[this]; taint; ai-manual | +edges +| Test.java:19:16:19:32 | (...)... : String | Test.java:20:23:20:24 | in : String | provenance | | +| Test.java:19:25:19:32 | source(...) : Object | Test.java:19:16:19:32 | (...)... : String | provenance | | +| Test.java:20:10:20:25 | new ZipEntry(...) : ZipEntry | Test.java:21:9:21:11 | out | provenance | | +| Test.java:20:23:20:24 | in : String | Test.java:20:10:20:25 | new ZipEntry(...) : ZipEntry | provenance | MaD:1 | +nodes +| Test.java:19:16:19:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:19:25:19:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:20:10:20:25 | new ZipEntry(...) : ZipEntry | semmle.label | new ZipEntry(...) : ZipEntry | +| Test.java:20:23:20:24 | in : String | semmle.label | in : String | +| Test.java:21:9:21:11 | out | semmle.label | out | +subpaths +testFailures diff --git a/java/ql/test/library-tests/frameworks/apache-collections/test.expected b/java/ql/test/library-tests/frameworks/apache-collections/test.expected index e69de29bb2d..b2cbd9aa697 100644 --- a/java/ql/test/library-tests/frameworks/apache-collections/test.expected +++ b/java/ql/test/library-tests/frameworks/apache-collections/test.expected @@ -0,0 +1,19589 @@ +models +| 1 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 2 | Summary: java.util; Collection; true; add; ; ; Argument[0]; Argument[this].Element; value; manual | +| 3 | Summary: java.util; Enumeration; true; nextElement; ; ; Argument[this].Element; ReturnValue; value; manual | +| 4 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 5 | Summary: java.util; List; true; listIterator; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 6 | Summary: java.util; List; false; of; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 7 | Summary: java.util; Map; true; entrySet; ; ; Argument[this].MapKey; ReturnValue.Element.MapKey; value; manual | +| 8 | Summary: java.util; Map; true; entrySet; ; ; Argument[this].MapValue; ReturnValue.Element.MapValue; value; manual | +| 9 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 10 | Summary: java.util; Map; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 11 | Summary: java.util; Map; false; of; ; ; Argument[0]; ReturnValue.MapKey; value; manual | +| 12 | Summary: java.util; Map; false; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual | +| 13 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[this].MapValue; ReturnValue; value; manual | +| 14 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 15 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 16 | Summary: java.util; Map; true; putAll; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 17 | Summary: java.util; Map; true; putAll; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 18 | Summary: java.util; Map; true; remove; (Object); ; Argument[this].MapValue; ReturnValue; value; manual | +| 19 | Summary: java.util; Map; true; values; (); ; Argument[this].MapValue; ReturnValue.Element; value; manual | +| 20 | Summary: java.util; Map$Entry; true; getKey; ; ; Argument[this].MapKey; ReturnValue; value; manual | +| 21 | Summary: java.util; Map$Entry; true; getValue; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 22 | Summary: java.util; Map$Entry; true; setValue; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 23 | Summary: java.util; Map$Entry; true; setValue; ; ; Argument[0]; Argument[this].MapValue; value; manual | +| 24 | Summary: org.apache.commons.collections4.bag; AbstractBagDecorator; true; AbstractBagDecorator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 25 | Summary: org.apache.commons.collections4.bag; AbstractMapBag; true; AbstractMapBag; ; ; Argument[0].MapKey; Argument[this].Element; value; manual | +| 26 | Summary: org.apache.commons.collections4.bag; AbstractMapBag; true; getMap; ; ; Argument[this].Element; ReturnValue.MapKey; value; manual | +| 27 | Summary: org.apache.commons.collections4.bag; AbstractSortedBagDecorator; true; AbstractSortedBagDecorator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 28 | Summary: org.apache.commons.collections4.bag; CollectionBag; true; CollectionBag; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 29 | Summary: org.apache.commons.collections4.bag; CollectionBag; true; collectionBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 30 | Summary: org.apache.commons.collections4.bag; CollectionSortedBag; true; CollectionSortedBag; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 31 | Summary: org.apache.commons.collections4.bag; CollectionSortedBag; true; collectionSortedBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 32 | Summary: org.apache.commons.collections4.bag; HashBag; true; HashBag; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 33 | Summary: org.apache.commons.collections4.bag; PredicatedBag; true; predicatedBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 34 | Summary: org.apache.commons.collections4.bag; PredicatedSortedBag; true; predicatedSortedBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 35 | Summary: org.apache.commons.collections4.bag; SynchronizedBag; true; synchronizedBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 36 | Summary: org.apache.commons.collections4.bag; SynchronizedSortedBag; true; synchronizedSortedBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 37 | Summary: org.apache.commons.collections4.bag; TransformedBag; true; transformedBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 38 | Summary: org.apache.commons.collections4.bag; TransformedSortedBag; true; transformedSortedBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 39 | Summary: org.apache.commons.collections4.bag; TreeBag; true; TreeBag; (Collection); ; Argument[0].Element; Argument[this].Element; value; manual | +| 40 | Summary: org.apache.commons.collections4.bag; UnmodifiableBag; true; unmodifiableBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 41 | Summary: org.apache.commons.collections4.bag; UnmodifiableSortedBag; true; unmodifiableSortedBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 42 | Summary: org.apache.commons.collections4.bidimap; AbstractBidiMapDecorator; true; AbstractBidiMapDecorator; ; ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 43 | Summary: org.apache.commons.collections4.bidimap; AbstractBidiMapDecorator; true; AbstractBidiMapDecorator; ; ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 44 | Summary: org.apache.commons.collections4.bidimap; AbstractDualBidiMap; true; AbstractDualBidiMap; ; ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 45 | Summary: org.apache.commons.collections4.bidimap; AbstractDualBidiMap; true; AbstractDualBidiMap; ; ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 46 | Summary: org.apache.commons.collections4.bidimap; AbstractDualBidiMap; true; AbstractDualBidiMap; ; ; Argument[1].MapKey; Argument[this].MapValue; value; manual | +| 47 | Summary: org.apache.commons.collections4.bidimap; AbstractDualBidiMap; true; AbstractDualBidiMap; ; ; Argument[1].MapValue; Argument[this].MapKey; value; manual | +| 48 | Summary: org.apache.commons.collections4.bidimap; AbstractDualBidiMap; true; AbstractDualBidiMap; ; ; Argument[2].MapKey; Argument[this].MapValue; value; manual | +| 49 | Summary: org.apache.commons.collections4.bidimap; AbstractDualBidiMap; true; AbstractDualBidiMap; ; ; Argument[2].MapValue; Argument[this].MapKey; value; manual | +| 50 | Summary: org.apache.commons.collections4.bidimap; AbstractOrderedBidiMapDecorator; true; AbstractOrderedBidiMapDecorator; ; ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 51 | Summary: org.apache.commons.collections4.bidimap; AbstractOrderedBidiMapDecorator; true; AbstractOrderedBidiMapDecorator; ; ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 52 | Summary: org.apache.commons.collections4.bidimap; AbstractSortedBidiMapDecorator; true; AbstractSortedBidiMapDecorator; ; ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 53 | Summary: org.apache.commons.collections4.bidimap; AbstractSortedBidiMapDecorator; true; AbstractSortedBidiMapDecorator; ; ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 54 | Summary: org.apache.commons.collections4.bidimap; DualHashBidiMap; true; DualHashBidiMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 55 | Summary: org.apache.commons.collections4.bidimap; DualHashBidiMap; true; DualHashBidiMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 56 | Summary: org.apache.commons.collections4.bidimap; DualLinkedHashBidiMap; true; DualLinkedHashBidiMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 57 | Summary: org.apache.commons.collections4.bidimap; DualLinkedHashBidiMap; true; DualLinkedHashBidiMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 58 | Summary: org.apache.commons.collections4.bidimap; DualTreeBidiMap; true; DualTreeBidiMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 59 | Summary: org.apache.commons.collections4.bidimap; DualTreeBidiMap; true; DualTreeBidiMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 60 | Summary: org.apache.commons.collections4.bidimap; DualTreeBidiMap; true; inverseOrderedBidiMap; ; ; Argument[this].MapKey; ReturnValue.MapValue; value; manual | +| 61 | Summary: org.apache.commons.collections4.bidimap; DualTreeBidiMap; true; inverseOrderedBidiMap; ; ; Argument[this].MapValue; ReturnValue.MapKey; value; manual | +| 62 | Summary: org.apache.commons.collections4.bidimap; DualTreeBidiMap; true; inverseSortedBidiMap; ; ; Argument[this].MapKey; ReturnValue.MapValue; value; manual | +| 63 | Summary: org.apache.commons.collections4.bidimap; DualTreeBidiMap; true; inverseSortedBidiMap; ; ; Argument[this].MapValue; ReturnValue.MapKey; value; manual | +| 64 | Summary: org.apache.commons.collections4.bidimap; TreeBidiMap; true; TreeBidiMap; ; ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 65 | Summary: org.apache.commons.collections4.bidimap; TreeBidiMap; true; TreeBidiMap; ; ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 66 | Summary: org.apache.commons.collections4.bidimap; UnmodifiableBidiMap; true; unmodifiableBidiMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 67 | Summary: org.apache.commons.collections4.bidimap; UnmodifiableBidiMap; true; unmodifiableBidiMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 68 | Summary: org.apache.commons.collections4.bidimap; UnmodifiableOrderedBidiMap; true; inverseOrderedBidiMap; ; ; Argument[this].MapKey; ReturnValue.MapValue; value; manual | +| 69 | Summary: org.apache.commons.collections4.bidimap; UnmodifiableOrderedBidiMap; true; inverseOrderedBidiMap; ; ; Argument[this].MapValue; ReturnValue.MapKey; value; manual | +| 70 | Summary: org.apache.commons.collections4.bidimap; UnmodifiableOrderedBidiMap; true; unmodifiableOrderedBidiMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 71 | Summary: org.apache.commons.collections4.bidimap; UnmodifiableOrderedBidiMap; true; unmodifiableOrderedBidiMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 72 | Summary: org.apache.commons.collections4.bidimap; UnmodifiableSortedBidiMap; true; unmodifiableSortedBidiMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 73 | Summary: org.apache.commons.collections4.bidimap; UnmodifiableSortedBidiMap; true; unmodifiableSortedBidiMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 74 | Summary: org.apache.commons.collections4.collection; AbstractCollectionDecorator; true; AbstractCollectionDecorator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 75 | Summary: org.apache.commons.collections4.collection; AbstractCollectionDecorator; true; decorated; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 76 | Summary: org.apache.commons.collections4.collection; AbstractCollectionDecorator; true; setCollection; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 77 | Summary: org.apache.commons.collections4.collection; CompositeCollection; true; CompositeCollection; (Collection); ; Argument[0].Element; Argument[this].Element; value; manual | +| 78 | Summary: org.apache.commons.collections4.collection; CompositeCollection; true; CompositeCollection; (Collection,Collection); ; Argument[0].Element; Argument[this].Element; value; manual | +| 79 | Summary: org.apache.commons.collections4.collection; CompositeCollection; true; CompositeCollection; (Collection,Collection); ; Argument[1].Element; Argument[this].Element; value; manual | +| 80 | Summary: org.apache.commons.collections4.collection; CompositeCollection; true; CompositeCollection; (Collection[]); ; Argument[0].ArrayElement.Element; Argument[this].Element; value; manual | +| 81 | Summary: org.apache.commons.collections4.collection; CompositeCollection; true; addComposited; (Collection); ; Argument[0].Element; Argument[this].Element; value; manual | +| 82 | Summary: org.apache.commons.collections4.collection; CompositeCollection; true; addComposited; (Collection,Collection); ; Argument[0].Element; Argument[this].Element; value; manual | +| 83 | Summary: org.apache.commons.collections4.collection; CompositeCollection; true; addComposited; (Collection,Collection); ; Argument[1].Element; Argument[this].Element; value; manual | +| 84 | Summary: org.apache.commons.collections4.collection; CompositeCollection; true; addComposited; (Collection[]); ; Argument[0].ArrayElement.Element; Argument[this].Element; value; manual | +| 85 | Summary: org.apache.commons.collections4.collection; CompositeCollection; true; getCollections; ; ; Argument[this].Element; ReturnValue.Element.Element; value; manual | +| 86 | Summary: org.apache.commons.collections4.collection; CompositeCollection; true; toCollection; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 87 | Summary: org.apache.commons.collections4.collection; CompositeCollection$CollectionMutator; true; add; ; ; Argument[2]; Argument[0].Element; value; manual | +| 88 | Summary: org.apache.commons.collections4.collection; CompositeCollection$CollectionMutator; true; add; ; ; Argument[2]; Argument[1].Element.Element; value; manual | +| 89 | Summary: org.apache.commons.collections4.collection; CompositeCollection$CollectionMutator; true; addAll; ; ; Argument[2].Element; Argument[0].Element; value; manual | +| 90 | Summary: org.apache.commons.collections4.collection; CompositeCollection$CollectionMutator; true; addAll; ; ; Argument[2].Element; Argument[1].Element.Element; value; manual | +| 91 | Summary: org.apache.commons.collections4.collection; IndexedCollection; true; IndexedCollection; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 92 | Summary: org.apache.commons.collections4.collection; IndexedCollection; true; get; ; ; Argument[this].Element; ReturnValue; value; manual | +| 93 | Summary: org.apache.commons.collections4.collection; IndexedCollection; true; nonUniqueIndexedCollection; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 94 | Summary: org.apache.commons.collections4.collection; IndexedCollection; true; uniqueIndexedCollection; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 95 | Summary: org.apache.commons.collections4.collection; IndexedCollection; true; values; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 96 | Summary: org.apache.commons.collections4.collection; PredicatedCollection; true; predicatedCollection; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 97 | Summary: org.apache.commons.collections4.collection; PredicatedCollection$Builder; true; add; ; ; Argument[0]; Argument[this].Element; value; manual | +| 98 | Summary: org.apache.commons.collections4.collection; PredicatedCollection$Builder; true; addAll; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 99 | Summary: org.apache.commons.collections4.collection; PredicatedCollection$Builder; true; createPredicatedBag; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 100 | Summary: org.apache.commons.collections4.collection; PredicatedCollection$Builder; true; createPredicatedBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 101 | Summary: org.apache.commons.collections4.collection; PredicatedCollection$Builder; true; createPredicatedList; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 102 | Summary: org.apache.commons.collections4.collection; PredicatedCollection$Builder; true; createPredicatedList; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 103 | Summary: org.apache.commons.collections4.collection; PredicatedCollection$Builder; true; createPredicatedMultiSet; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 104 | Summary: org.apache.commons.collections4.collection; PredicatedCollection$Builder; true; createPredicatedMultiSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 105 | Summary: org.apache.commons.collections4.collection; PredicatedCollection$Builder; true; createPredicatedQueue; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 106 | Summary: org.apache.commons.collections4.collection; PredicatedCollection$Builder; true; createPredicatedQueue; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 107 | Summary: org.apache.commons.collections4.collection; PredicatedCollection$Builder; true; createPredicatedSet; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 108 | Summary: org.apache.commons.collections4.collection; PredicatedCollection$Builder; true; createPredicatedSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 109 | Summary: org.apache.commons.collections4.collection; PredicatedCollection$Builder; true; rejectedElements; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 110 | Summary: org.apache.commons.collections4.collection; SynchronizedCollection; true; synchronizedCollection; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 111 | Summary: org.apache.commons.collections4.collection; TransformedCollection; true; transformingCollection; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 112 | Summary: org.apache.commons.collections4.collection; UnmodifiableBoundedCollection; true; unmodifiableBoundedCollection; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 113 | Summary: org.apache.commons.collections4.collection; UnmodifiableCollection; true; unmodifiableCollection; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 114 | Summary: org.apache.commons.collections4.iterators; AbstractIteratorDecorator; true; AbstractIteratorDecorator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 115 | Summary: org.apache.commons.collections4.iterators; AbstractListIteratorDecorator; true; AbstractListIteratorDecorator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 116 | Summary: org.apache.commons.collections4.iterators; AbstractListIteratorDecorator; true; getListIterator; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 117 | Summary: org.apache.commons.collections4.iterators; AbstractMapIteratorDecorator; true; AbstractMapIteratorDecorator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 118 | Summary: org.apache.commons.collections4.iterators; AbstractMapIteratorDecorator; true; AbstractMapIteratorDecorator; ; ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 119 | Summary: org.apache.commons.collections4.iterators; AbstractMapIteratorDecorator; true; getMapIterator; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 120 | Summary: org.apache.commons.collections4.iterators; AbstractMapIteratorDecorator; true; getMapIterator; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 121 | Summary: org.apache.commons.collections4.iterators; AbstractOrderedMapIteratorDecorator; true; AbstractOrderedMapIteratorDecorator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 122 | Summary: org.apache.commons.collections4.iterators; AbstractOrderedMapIteratorDecorator; true; AbstractOrderedMapIteratorDecorator; ; ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 123 | Summary: org.apache.commons.collections4.iterators; AbstractOrderedMapIteratorDecorator; true; getOrderedMapIterator; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 124 | Summary: org.apache.commons.collections4.iterators; AbstractOrderedMapIteratorDecorator; true; getOrderedMapIterator; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 125 | Summary: org.apache.commons.collections4.iterators; AbstractUntypedIteratorDecorator; true; AbstractUntypedIteratorDecorator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 126 | Summary: org.apache.commons.collections4.iterators; AbstractUntypedIteratorDecorator; true; getIterator; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 127 | Summary: org.apache.commons.collections4.iterators; ArrayIterator; true; ArrayIterator; ; ; Argument[0].ArrayElement; Argument[this].Element; value; manual | +| 128 | Summary: org.apache.commons.collections4.iterators; ArrayIterator; true; getArray; ; ; Argument[this].Element; ReturnValue.ArrayElement; value; manual | +| 129 | Summary: org.apache.commons.collections4.iterators; ArrayListIterator; true; ArrayListIterator; ; ; Argument[0].ArrayElement; Argument[this].Element; value; manual | +| 130 | Summary: org.apache.commons.collections4.iterators; BoundedIterator; true; BoundedIterator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 131 | Summary: org.apache.commons.collections4.iterators; CollatingIterator; true; CollatingIterator; (Comparator,Collection); ; Argument[1].Element.Element; Argument[this].Element; value; manual | +| 132 | Summary: org.apache.commons.collections4.iterators; CollatingIterator; true; CollatingIterator; (Comparator,Iterator,Iterator); ; Argument[1].Element; Argument[this].Element; value; manual | +| 133 | Summary: org.apache.commons.collections4.iterators; CollatingIterator; true; CollatingIterator; (Comparator,Iterator,Iterator); ; Argument[2].Element; Argument[this].Element; value; manual | +| 134 | Summary: org.apache.commons.collections4.iterators; CollatingIterator; true; CollatingIterator; (Comparator,Iterator[]); ; Argument[1].ArrayElement.Element; Argument[this].Element; value; manual | +| 135 | Summary: org.apache.commons.collections4.iterators; CollatingIterator; true; addIterator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 136 | Summary: org.apache.commons.collections4.iterators; CollatingIterator; true; getIterators; ; ; Argument[this].Element; ReturnValue.Element.Element; value; manual | +| 137 | Summary: org.apache.commons.collections4.iterators; CollatingIterator; true; setIterator; ; ; Argument[1].Element; Argument[this].Element; value; manual | +| 138 | Summary: org.apache.commons.collections4.iterators; EnumerationIterator; true; EnumerationIterator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 139 | Summary: org.apache.commons.collections4.iterators; EnumerationIterator; true; getEnumeration; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 140 | Summary: org.apache.commons.collections4.iterators; EnumerationIterator; true; setEnumeration; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 141 | Summary: org.apache.commons.collections4.iterators; FilterIterator; true; FilterIterator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 142 | Summary: org.apache.commons.collections4.iterators; FilterIterator; true; getIterator; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 143 | Summary: org.apache.commons.collections4.iterators; FilterIterator; true; setIterator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 144 | Summary: org.apache.commons.collections4.iterators; FilterListIterator; true; FilterListIterator; (ListIterator); ; Argument[0].Element; Argument[this].Element; value; manual | +| 145 | Summary: org.apache.commons.collections4.iterators; FilterListIterator; true; FilterListIterator; (ListIterator,Predicate); ; Argument[0].Element; Argument[this].Element; value; manual | +| 146 | Summary: org.apache.commons.collections4.iterators; FilterListIterator; true; getListIterator; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 147 | Summary: org.apache.commons.collections4.iterators; FilterListIterator; true; setListIterator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 148 | Summary: org.apache.commons.collections4.iterators; IteratorChain; true; IteratorChain; (Collection); ; Argument[0].Element.Element; Argument[this].Element; value; manual | +| 149 | Summary: org.apache.commons.collections4.iterators; IteratorChain; true; IteratorChain; (Iterator); ; Argument[0].Element; Argument[this].Element; value; manual | +| 150 | Summary: org.apache.commons.collections4.iterators; IteratorChain; true; IteratorChain; (Iterator,Iterator); ; Argument[0].Element; Argument[this].Element; value; manual | +| 151 | Summary: org.apache.commons.collections4.iterators; IteratorChain; true; IteratorChain; (Iterator,Iterator); ; Argument[1].Element; Argument[this].Element; value; manual | +| 152 | Summary: org.apache.commons.collections4.iterators; IteratorChain; true; IteratorChain; (Iterator[]); ; Argument[0].ArrayElement.Element; Argument[this].Element; value; manual | +| 153 | Summary: org.apache.commons.collections4.iterators; IteratorChain; true; addIterator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 154 | Summary: org.apache.commons.collections4.iterators; IteratorEnumeration; true; IteratorEnumeration; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 155 | Summary: org.apache.commons.collections4.iterators; IteratorEnumeration; true; getIterator; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 156 | Summary: org.apache.commons.collections4.iterators; IteratorEnumeration; true; setIterator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 157 | Summary: org.apache.commons.collections4.iterators; IteratorIterable; true; IteratorIterable; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 158 | Summary: org.apache.commons.collections4.iterators; ListIteratorWrapper; true; ListIteratorWrapper; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 159 | Summary: org.apache.commons.collections4.iterators; LoopingIterator; true; LoopingIterator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 160 | Summary: org.apache.commons.collections4.iterators; LoopingListIterator; true; LoopingListIterator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 161 | Summary: org.apache.commons.collections4.iterators; ObjectArrayIterator; true; ObjectArrayIterator; ; ; Argument[0].ArrayElement; Argument[this].Element; value; manual | +| 162 | Summary: org.apache.commons.collections4.iterators; ObjectArrayIterator; true; getArray; ; ; Argument[this].Element; ReturnValue.ArrayElement; value; manual | +| 163 | Summary: org.apache.commons.collections4.iterators; ObjectArrayListIterator; true; ObjectArrayListIterator; ; ; Argument[0].ArrayElement; Argument[this].Element; value; manual | +| 164 | Summary: org.apache.commons.collections4.iterators; PeekingIterator; true; PeekingIterator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 165 | Summary: org.apache.commons.collections4.iterators; PeekingIterator; true; element; ; ; Argument[this].Element; ReturnValue; value; manual | +| 166 | Summary: org.apache.commons.collections4.iterators; PeekingIterator; true; peek; ; ; Argument[this].Element; ReturnValue; value; manual | +| 167 | Summary: org.apache.commons.collections4.iterators; PeekingIterator; true; peekingIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 168 | Summary: org.apache.commons.collections4.iterators; PermutationIterator; true; PermutationIterator; ; ; Argument[0].Element; Argument[this].Element.Element; value; manual | +| 169 | Summary: org.apache.commons.collections4.iterators; PushbackIterator; true; PushbackIterator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 170 | Summary: org.apache.commons.collections4.iterators; PushbackIterator; true; pushback; ; ; Argument[0]; Argument[this].Element; value; manual | +| 171 | Summary: org.apache.commons.collections4.iterators; PushbackIterator; true; pushbackIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 172 | Summary: org.apache.commons.collections4.iterators; ReverseListIterator; true; ReverseListIterator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 173 | Summary: org.apache.commons.collections4.iterators; SingletonIterator; true; SingletonIterator; ; ; Argument[0]; Argument[this].Element; value; manual | +| 174 | Summary: org.apache.commons.collections4.iterators; SingletonListIterator; true; SingletonListIterator; ; ; Argument[0]; Argument[this].Element; value; manual | +| 175 | Summary: org.apache.commons.collections4.iterators; SkippingIterator; true; SkippingIterator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 176 | Summary: org.apache.commons.collections4.iterators; UniqueFilterIterator; true; UniqueFilterIterator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 177 | Summary: org.apache.commons.collections4.iterators; UnmodifiableIterator; true; unmodifiableIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 178 | Summary: org.apache.commons.collections4.iterators; UnmodifiableListIterator; true; umodifiableListIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 179 | Summary: org.apache.commons.collections4.iterators; UnmodifiableMapIterator; true; unmodifiableMapIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 180 | Summary: org.apache.commons.collections4.iterators; UnmodifiableMapIterator; true; unmodifiableMapIterator; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 181 | Summary: org.apache.commons.collections4.iterators; UnmodifiableOrderedMapIterator; true; unmodifiableOrderedMapIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 182 | Summary: org.apache.commons.collections4.iterators; UnmodifiableOrderedMapIterator; true; unmodifiableOrderedMapIterator; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 183 | Summary: org.apache.commons.collections4.iterators; ZippingIterator; true; ZippingIterator; (Iterator,Iterator); ; Argument[0].Element; Argument[this].Element; value; manual | +| 184 | Summary: org.apache.commons.collections4.iterators; ZippingIterator; true; ZippingIterator; (Iterator,Iterator); ; Argument[1].Element; Argument[this].Element; value; manual | +| 185 | Summary: org.apache.commons.collections4.iterators; ZippingIterator; true; ZippingIterator; (Iterator,Iterator,Iterator); ; Argument[0].Element; Argument[this].Element; value; manual | +| 186 | Summary: org.apache.commons.collections4.iterators; ZippingIterator; true; ZippingIterator; (Iterator,Iterator,Iterator); ; Argument[1].Element; Argument[this].Element; value; manual | +| 187 | Summary: org.apache.commons.collections4.iterators; ZippingIterator; true; ZippingIterator; (Iterator,Iterator,Iterator); ; Argument[2].Element; Argument[this].Element; value; manual | +| 188 | Summary: org.apache.commons.collections4.iterators; ZippingIterator; true; ZippingIterator; (Iterator[]); ; Argument[0].ArrayElement.Element; Argument[this].Element; value; manual | +| 189 | Summary: org.apache.commons.collections4.keyvalue; AbstractKeyValue; true; AbstractKeyValue; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 190 | Summary: org.apache.commons.collections4.keyvalue; AbstractKeyValue; true; AbstractKeyValue; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 191 | Summary: org.apache.commons.collections4.keyvalue; AbstractKeyValue; true; setKey; ; ; Argument[this].MapKey; ReturnValue; value; manual | +| 192 | Summary: org.apache.commons.collections4.keyvalue; AbstractKeyValue; true; setKey; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 193 | Summary: org.apache.commons.collections4.keyvalue; AbstractKeyValue; true; setValue; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 194 | Summary: org.apache.commons.collections4.keyvalue; AbstractKeyValue; true; setValue; ; ; Argument[0]; Argument[this].MapValue; value; manual | +| 195 | Summary: org.apache.commons.collections4.keyvalue; AbstractMapEntry; true; AbstractMapEntry; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 196 | Summary: org.apache.commons.collections4.keyvalue; AbstractMapEntry; true; AbstractMapEntry; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 197 | Summary: org.apache.commons.collections4.keyvalue; AbstractMapEntryDecorator; true; AbstractMapEntryDecorator; ; ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 198 | Summary: org.apache.commons.collections4.keyvalue; AbstractMapEntryDecorator; true; AbstractMapEntryDecorator; ; ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 199 | Summary: org.apache.commons.collections4.keyvalue; AbstractMapEntryDecorator; true; getMapEntry; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 200 | Summary: org.apache.commons.collections4.keyvalue; AbstractMapEntryDecorator; true; getMapEntry; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 201 | Summary: org.apache.commons.collections4.keyvalue; DefaultKeyValue; true; DefaultKeyValue; (Map$Entry); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 202 | Summary: org.apache.commons.collections4.keyvalue; DefaultKeyValue; true; DefaultKeyValue; (Map$Entry); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 203 | Summary: org.apache.commons.collections4.keyvalue; DefaultKeyValue; true; DefaultKeyValue; (KeyValue); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 204 | Summary: org.apache.commons.collections4.keyvalue; DefaultKeyValue; true; DefaultKeyValue; (KeyValue); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 205 | Summary: org.apache.commons.collections4.keyvalue; DefaultKeyValue; true; DefaultKeyValue; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 206 | Summary: org.apache.commons.collections4.keyvalue; DefaultKeyValue; true; DefaultKeyValue; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 207 | Summary: org.apache.commons.collections4.keyvalue; DefaultKeyValue; true; toMapEntry; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 208 | Summary: org.apache.commons.collections4.keyvalue; DefaultKeyValue; true; toMapEntry; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 209 | Summary: org.apache.commons.collections4.keyvalue; DefaultMapEntry; true; DefaultMapEntry; (Map$Entry); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 210 | Summary: org.apache.commons.collections4.keyvalue; DefaultMapEntry; true; DefaultMapEntry; (Map$Entry); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 211 | Summary: org.apache.commons.collections4.keyvalue; DefaultMapEntry; true; DefaultMapEntry; (KeyValue); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 212 | Summary: org.apache.commons.collections4.keyvalue; DefaultMapEntry; true; DefaultMapEntry; (KeyValue); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 213 | Summary: org.apache.commons.collections4.keyvalue; DefaultMapEntry; true; DefaultMapEntry; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 214 | Summary: org.apache.commons.collections4.keyvalue; DefaultMapEntry; true; DefaultMapEntry; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 215 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; MultiKey; (Object,Object); ; Argument[0]; Argument[this].Element; value; manual | +| 216 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; MultiKey; (Object,Object); ; Argument[1]; Argument[this].Element; value; manual | +| 217 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; MultiKey; (Object,Object,Object); ; Argument[0]; Argument[this].Element; value; manual | +| 218 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; MultiKey; (Object,Object,Object); ; Argument[1]; Argument[this].Element; value; manual | +| 219 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; MultiKey; (Object,Object,Object); ; Argument[2]; Argument[this].Element; value; manual | +| 220 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; MultiKey; (Object,Object,Object,Object); ; Argument[0]; Argument[this].Element; value; manual | +| 221 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; MultiKey; (Object,Object,Object,Object); ; Argument[1]; Argument[this].Element; value; manual | +| 222 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; MultiKey; (Object,Object,Object,Object); ; Argument[2]; Argument[this].Element; value; manual | +| 223 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; MultiKey; (Object,Object,Object,Object); ; Argument[3]; Argument[this].Element; value; manual | +| 224 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; MultiKey; (Object,Object,Object,Object,Object); ; Argument[0]; Argument[this].Element; value; manual | +| 225 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; MultiKey; (Object,Object,Object,Object,Object); ; Argument[1]; Argument[this].Element; value; manual | +| 226 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; MultiKey; (Object,Object,Object,Object,Object); ; Argument[2]; Argument[this].Element; value; manual | +| 227 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; MultiKey; (Object,Object,Object,Object,Object); ; Argument[3]; Argument[this].Element; value; manual | +| 228 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; MultiKey; (Object,Object,Object,Object,Object); ; Argument[4]; Argument[this].Element; value; manual | +| 229 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; MultiKey; (Object[]); ; Argument[0].ArrayElement; Argument[this].Element; value; manual | +| 230 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; MultiKey; (Object[],boolean); ; Argument[0].ArrayElement; Argument[this].Element; value; manual | +| 231 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; getKey; ; ; Argument[this].Element; ReturnValue; value; manual | +| 232 | Summary: org.apache.commons.collections4.keyvalue; MultiKey; true; getKeys; ; ; Argument[this].Element; ReturnValue.ArrayElement; value; manual | +| 233 | Summary: org.apache.commons.collections4.keyvalue; TiedMapEntry; true; TiedMapEntry; ; ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 234 | Summary: org.apache.commons.collections4.keyvalue; TiedMapEntry; true; TiedMapEntry; ; ; Argument[1]; Argument[this].MapKey; value; manual | +| 235 | Summary: org.apache.commons.collections4.keyvalue; UnmodifiableMapEntry; true; UnmodifiableMapEntry; (Map$Entry); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 236 | Summary: org.apache.commons.collections4.keyvalue; UnmodifiableMapEntry; true; UnmodifiableMapEntry; (Map$Entry); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 237 | Summary: org.apache.commons.collections4.keyvalue; UnmodifiableMapEntry; true; UnmodifiableMapEntry; (KeyValue); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 238 | Summary: org.apache.commons.collections4.keyvalue; UnmodifiableMapEntry; true; UnmodifiableMapEntry; (KeyValue); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 239 | Summary: org.apache.commons.collections4.keyvalue; UnmodifiableMapEntry; true; UnmodifiableMapEntry; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 240 | Summary: org.apache.commons.collections4.keyvalue; UnmodifiableMapEntry; true; UnmodifiableMapEntry; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 241 | Summary: org.apache.commons.collections4.list; AbstractLinkedList; true; AbstractLinkedList; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 242 | Summary: org.apache.commons.collections4.list; AbstractLinkedList; true; addFirst; ; ; Argument[0]; Argument[this].Element; value; manual | +| 243 | Summary: org.apache.commons.collections4.list; AbstractLinkedList; true; addLast; ; ; Argument[0]; Argument[this].Element; value; manual | +| 244 | Summary: org.apache.commons.collections4.list; AbstractLinkedList; true; getFirst; ; ; Argument[this].Element; ReturnValue; value; manual | +| 245 | Summary: org.apache.commons.collections4.list; AbstractLinkedList; true; getLast; ; ; Argument[this].Element; ReturnValue; value; manual | +| 246 | Summary: org.apache.commons.collections4.list; AbstractLinkedList; true; removeFirst; ; ; Argument[this].Element; ReturnValue; value; manual | +| 247 | Summary: org.apache.commons.collections4.list; AbstractLinkedList; true; removeLast; ; ; Argument[this].Element; ReturnValue; value; manual | +| 248 | Summary: org.apache.commons.collections4.list; AbstractListDecorator; true; AbstractListDecorator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 249 | Summary: org.apache.commons.collections4.list; AbstractSerializableListDecorator; true; AbstractSerializableListDecorator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 250 | Summary: org.apache.commons.collections4.list; CursorableLinkedList; true; CursorableLinkedList; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 251 | Summary: org.apache.commons.collections4.list; CursorableLinkedList; true; cursor; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 252 | Summary: org.apache.commons.collections4.list; FixedSizeList; true; fixedSizeList; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 253 | Summary: org.apache.commons.collections4.list; GrowthList; true; growthList; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 254 | Summary: org.apache.commons.collections4.list; LazyList; true; lazyList; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 255 | Summary: org.apache.commons.collections4.list; NodeCachingLinkedList; true; NodeCachingLinkedList; (Collection); ; Argument[0].Element; Argument[this].Element; value; manual | +| 256 | Summary: org.apache.commons.collections4.list; PredicatedList; true; predicatedList; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 257 | Summary: org.apache.commons.collections4.list; SetUniqueList; true; asSet; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 258 | Summary: org.apache.commons.collections4.list; SetUniqueList; true; setUniqueList; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 259 | Summary: org.apache.commons.collections4.list; TransformedList; true; transformingList; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 260 | Summary: org.apache.commons.collections4.list; TreeList; true; TreeList; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 261 | Summary: org.apache.commons.collections4.list; UnmodifiableList; true; UnmodifiableList; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 262 | Summary: org.apache.commons.collections4.list; UnmodifiableList; true; unmodifiableList; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 263 | Summary: org.apache.commons.collections4.map; AbstractHashedMap; true; AbstractHashedMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 264 | Summary: org.apache.commons.collections4.map; AbstractHashedMap; true; AbstractHashedMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 265 | Summary: org.apache.commons.collections4.map; AbstractLinkedMap; true; AbstractLinkedMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 266 | Summary: org.apache.commons.collections4.map; AbstractLinkedMap; true; AbstractLinkedMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 267 | Summary: org.apache.commons.collections4.map; AbstractMapDecorator; true; AbstractMapDecorator; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 268 | Summary: org.apache.commons.collections4.map; AbstractMapDecorator; true; AbstractMapDecorator; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 269 | Summary: org.apache.commons.collections4.map; AbstractMapDecorator; true; decorated; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 270 | Summary: org.apache.commons.collections4.map; AbstractMapDecorator; true; decorated; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 271 | Summary: org.apache.commons.collections4.map; AbstractOrderedMapDecorator; true; AbstractOrderedMapDecorator; (OrderedMap); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 272 | Summary: org.apache.commons.collections4.map; AbstractOrderedMapDecorator; true; AbstractOrderedMapDecorator; (OrderedMap); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 273 | Summary: org.apache.commons.collections4.map; AbstractSortedMapDecorator; true; AbstractSortedMapDecorator; (SortedMap); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 274 | Summary: org.apache.commons.collections4.map; AbstractSortedMapDecorator; true; AbstractSortedMapDecorator; (SortedMap); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 275 | Summary: org.apache.commons.collections4.map; CaseInsensitiveMap; true; CaseInsensitiveMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 276 | Summary: org.apache.commons.collections4.map; CaseInsensitiveMap; true; CaseInsensitiveMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 277 | Summary: org.apache.commons.collections4.map; CompositeMap; true; CompositeMap; (Map,Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 278 | Summary: org.apache.commons.collections4.map; CompositeMap; true; CompositeMap; (Map,Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 279 | Summary: org.apache.commons.collections4.map; CompositeMap; true; CompositeMap; (Map,Map); ; Argument[1].MapKey; Argument[this].MapKey; value; manual | +| 280 | Summary: org.apache.commons.collections4.map; CompositeMap; true; CompositeMap; (Map,Map); ; Argument[1].MapValue; Argument[this].MapValue; value; manual | +| 281 | Summary: org.apache.commons.collections4.map; CompositeMap; true; CompositeMap; (Map,Map,CompositeMap$MapMutator); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 282 | Summary: org.apache.commons.collections4.map; CompositeMap; true; CompositeMap; (Map,Map,CompositeMap$MapMutator); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 283 | Summary: org.apache.commons.collections4.map; CompositeMap; true; CompositeMap; (Map,Map,CompositeMap$MapMutator); ; Argument[1].MapKey; Argument[this].MapKey; value; manual | +| 284 | Summary: org.apache.commons.collections4.map; CompositeMap; true; CompositeMap; (Map,Map,CompositeMap$MapMutator); ; Argument[1].MapValue; Argument[this].MapValue; value; manual | +| 285 | Summary: org.apache.commons.collections4.map; CompositeMap; true; CompositeMap; (Map[]); ; Argument[0].ArrayElement.MapKey; Argument[this].MapKey; value; manual | +| 286 | Summary: org.apache.commons.collections4.map; CompositeMap; true; CompositeMap; (Map[]); ; Argument[0].ArrayElement.MapValue; Argument[this].MapValue; value; manual | +| 287 | Summary: org.apache.commons.collections4.map; CompositeMap; true; CompositeMap; (Map[],CompositeMap$MapMutator); ; Argument[0].ArrayElement.MapKey; Argument[this].MapKey; value; manual | +| 288 | Summary: org.apache.commons.collections4.map; CompositeMap; true; CompositeMap; (Map[],CompositeMap$MapMutator); ; Argument[0].ArrayElement.MapValue; Argument[this].MapValue; value; manual | +| 289 | Summary: org.apache.commons.collections4.map; CompositeMap; true; addComposited; ; ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 290 | Summary: org.apache.commons.collections4.map; CompositeMap; true; addComposited; ; ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 291 | Summary: org.apache.commons.collections4.map; CompositeMap; true; removeComposited; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 292 | Summary: org.apache.commons.collections4.map; CompositeMap; true; removeComposited; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 293 | Summary: org.apache.commons.collections4.map; CompositeMap; true; removeComposited; ; ; Argument[0]; ReturnValue; value; manual | +| 294 | Summary: org.apache.commons.collections4.map; DefaultedMap; true; DefaultedMap; (Object); ; Argument[0]; Argument[this].MapValue; value; manual | +| 295 | Summary: org.apache.commons.collections4.map; DefaultedMap; true; defaultedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 296 | Summary: org.apache.commons.collections4.map; DefaultedMap; true; defaultedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 297 | Summary: org.apache.commons.collections4.map; DefaultedMap; true; defaultedMap; (Map,Object); ; Argument[1]; ReturnValue.MapValue; value; manual | +| 298 | Summary: org.apache.commons.collections4.map; EntrySetToMapIteratorAdapter; true; EntrySetToMapIteratorAdapter; ; ; Argument[0].Element.MapKey; Argument[this].Element; value; manual | +| 299 | Summary: org.apache.commons.collections4.map; EntrySetToMapIteratorAdapter; true; EntrySetToMapIteratorAdapter; ; ; Argument[0].Element.MapValue; Argument[this].MapValue; value; manual | +| 300 | Summary: org.apache.commons.collections4.map; FixedSizeMap; true; fixedSizeMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 301 | Summary: org.apache.commons.collections4.map; FixedSizeMap; true; fixedSizeMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 302 | Summary: org.apache.commons.collections4.map; FixedSizeSortedMap; true; fixedSizeSortedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 303 | Summary: org.apache.commons.collections4.map; FixedSizeSortedMap; true; fixedSizeSortedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 304 | Summary: org.apache.commons.collections4.map; Flat3Map; true; Flat3Map; ; ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 305 | Summary: org.apache.commons.collections4.map; Flat3Map; true; Flat3Map; ; ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 306 | Summary: org.apache.commons.collections4.map; HashedMap; true; HashedMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 307 | Summary: org.apache.commons.collections4.map; HashedMap; true; HashedMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 308 | Summary: org.apache.commons.collections4.map; LRUMap; true; LRUMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 309 | Summary: org.apache.commons.collections4.map; LRUMap; true; LRUMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 310 | Summary: org.apache.commons.collections4.map; LRUMap; true; LRUMap; (Map,boolean); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 311 | Summary: org.apache.commons.collections4.map; LRUMap; true; LRUMap; (Map,boolean); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 312 | Summary: org.apache.commons.collections4.map; LRUMap; true; get; (Object,boolean); ; Argument[0].MapValue; ReturnValue; value; manual | +| 313 | Summary: org.apache.commons.collections4.map; LazyMap; true; lazyMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 314 | Summary: org.apache.commons.collections4.map; LazyMap; true; lazyMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 315 | Summary: org.apache.commons.collections4.map; LazySortedMap; true; lazySortedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 316 | Summary: org.apache.commons.collections4.map; LazySortedMap; true; lazySortedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 317 | Summary: org.apache.commons.collections4.map; LinkedMap; true; LinkedMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 318 | Summary: org.apache.commons.collections4.map; LinkedMap; true; LinkedMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 319 | Summary: org.apache.commons.collections4.map; LinkedMap; true; asList; ; ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 320 | Summary: org.apache.commons.collections4.map; LinkedMap; true; get; (int); ; Argument[this].MapKey; ReturnValue; value; manual | +| 321 | Summary: org.apache.commons.collections4.map; LinkedMap; true; getValue; (int); ; Argument[this].MapValue; ReturnValue; value; manual | +| 322 | Summary: org.apache.commons.collections4.map; LinkedMap; true; remove; (int); ; Argument[this].MapValue; ReturnValue; value; manual | +| 323 | Summary: org.apache.commons.collections4.map; ListOrderedMap; true; asList; ; ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 324 | Summary: org.apache.commons.collections4.map; ListOrderedMap; true; get; (int); ; Argument[this].MapKey; ReturnValue; value; manual | +| 325 | Summary: org.apache.commons.collections4.map; ListOrderedMap; true; getValue; (int); ; Argument[this].MapValue; ReturnValue; value; manual | +| 326 | Summary: org.apache.commons.collections4.map; ListOrderedMap; true; keyList; ; ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 327 | Summary: org.apache.commons.collections4.map; ListOrderedMap; true; listOrderedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 328 | Summary: org.apache.commons.collections4.map; ListOrderedMap; true; listOrderedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 329 | Summary: org.apache.commons.collections4.map; ListOrderedMap; true; put; ; ; Argument[1]; Argument[this].MapKey; value; manual | +| 330 | Summary: org.apache.commons.collections4.map; ListOrderedMap; true; put; ; ; Argument[2]; Argument[this].MapValue; value; manual | +| 331 | Summary: org.apache.commons.collections4.map; ListOrderedMap; true; putAll; ; ; Argument[1].MapKey; Argument[this].MapKey; value; manual | +| 332 | Summary: org.apache.commons.collections4.map; ListOrderedMap; true; putAll; ; ; Argument[1].MapValue; Argument[this].MapValue; value; manual | +| 333 | Summary: org.apache.commons.collections4.map; ListOrderedMap; true; remove; (int); ; Argument[this].MapValue; ReturnValue; value; manual | +| 334 | Summary: org.apache.commons.collections4.map; ListOrderedMap; true; setValue; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 335 | Summary: org.apache.commons.collections4.map; ListOrderedMap; true; valueList; ; ; Argument[this].MapValue; ReturnValue.Element; value; manual | +| 336 | Summary: org.apache.commons.collections4.map; MultiKeyMap; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 337 | Summary: org.apache.commons.collections4.map; MultiKeyMap; true; put; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 338 | Summary: org.apache.commons.collections4.map; MultiKeyMap; true; put; (Object,Object,Object); ; Argument[0..1]; Argument[this].MapKey.Element; value; manual | +| 339 | Summary: org.apache.commons.collections4.map; MultiKeyMap; true; put; (Object,Object,Object); ; Argument[2]; Argument[this].MapValue; value; manual | +| 340 | Summary: org.apache.commons.collections4.map; MultiKeyMap; true; put; (Object,Object,Object,Object); ; Argument[0..2]; Argument[this].MapKey.Element; value; manual | +| 341 | Summary: org.apache.commons.collections4.map; MultiKeyMap; true; put; (Object,Object,Object,Object); ; Argument[3]; Argument[this].MapValue; value; manual | +| 342 | Summary: org.apache.commons.collections4.map; MultiKeyMap; true; put; (Object,Object,Object,Object,Object); ; Argument[0..3]; Argument[this].MapKey.Element; value; manual | +| 343 | Summary: org.apache.commons.collections4.map; MultiKeyMap; true; put; (Object,Object,Object,Object,Object); ; Argument[4]; Argument[this].MapValue; value; manual | +| 344 | Summary: org.apache.commons.collections4.map; MultiKeyMap; true; put; (Object,Object,Object,Object,Object,Object); ; Argument[0..4]; Argument[this].MapKey.Element; value; manual | +| 345 | Summary: org.apache.commons.collections4.map; MultiKeyMap; true; put; (Object,Object,Object,Object,Object,Object); ; Argument[5]; Argument[this].MapValue; value; manual | +| 346 | Summary: org.apache.commons.collections4.map; MultiKeyMap; true; removeMultiKey; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 347 | Summary: org.apache.commons.collections4.map; MultiValueMap; true; getCollection; ; ; Argument[this].MapValue.Element; ReturnValue.Element; value; manual | +| 348 | Summary: org.apache.commons.collections4.map; MultiValueMap; true; iterator; (); ; Argument[this].MapKey; ReturnValue.Element.MapKey; value; manual | +| 349 | Summary: org.apache.commons.collections4.map; MultiValueMap; true; iterator; (); ; Argument[this].MapValue.Element; ReturnValue.Element.MapValue; value; manual | +| 350 | Summary: org.apache.commons.collections4.map; MultiValueMap; true; iterator; (Object); ; Argument[this].MapValue.Element; ReturnValue.Element; value; manual | +| 351 | Summary: org.apache.commons.collections4.map; MultiValueMap; true; multiValueMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 352 | Summary: org.apache.commons.collections4.map; MultiValueMap; true; multiValueMap; ; ; Argument[0].MapValue.Element; ReturnValue.MapValue.Element; value; manual | +| 353 | Summary: org.apache.commons.collections4.map; MultiValueMap; true; putAll; (Map); ; Argument[0].MapValue; Argument[this].MapValue.Element; value; manual | +| 354 | Summary: org.apache.commons.collections4.map; MultiValueMap; true; putAll; (Map); ; Argument[0].MapValue.Element; Argument[this].MapValue.Element; value; manual | +| 355 | Summary: org.apache.commons.collections4.map; MultiValueMap; true; putAll; (Object,Collection); ; Argument[0]; Argument[this].MapKey; value; manual | +| 356 | Summary: org.apache.commons.collections4.map; MultiValueMap; true; putAll; (Object,Collection); ; Argument[1].Element; Argument[this].MapValue.Element; value; manual | +| 357 | Summary: org.apache.commons.collections4.map; MultiValueMap; true; values; ; ; Argument[this].MapValue.Element; ReturnValue.Element; value; manual | +| 358 | Summary: org.apache.commons.collections4.map; PassiveExpiringMap; true; PassiveExpiringMap; (PassiveExpiringMap$ExpirationPolicy,Map); ; Argument[1].MapKey; Argument[this].MapKey; value; manual | +| 359 | Summary: org.apache.commons.collections4.map; PassiveExpiringMap; true; PassiveExpiringMap; (PassiveExpiringMap$ExpirationPolicy,Map); ; Argument[1].MapValue; Argument[this].MapValue; value; manual | +| 360 | Summary: org.apache.commons.collections4.map; PassiveExpiringMap; true; PassiveExpiringMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 361 | Summary: org.apache.commons.collections4.map; PassiveExpiringMap; true; PassiveExpiringMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 362 | Summary: org.apache.commons.collections4.map; PassiveExpiringMap; true; PassiveExpiringMap; (long,Map); ; Argument[1].MapKey; Argument[this].MapKey; value; manual | +| 363 | Summary: org.apache.commons.collections4.map; PassiveExpiringMap; true; PassiveExpiringMap; (long,Map); ; Argument[1].MapValue; Argument[this].MapValue; value; manual | +| 364 | Summary: org.apache.commons.collections4.map; PassiveExpiringMap; true; PassiveExpiringMap; (long,TimeUnit,Map); ; Argument[2].MapKey; Argument[this].MapKey; value; manual | +| 365 | Summary: org.apache.commons.collections4.map; PassiveExpiringMap; true; PassiveExpiringMap; (long,TimeUnit,Map); ; Argument[2].MapValue; Argument[this].MapValue; value; manual | +| 366 | Summary: org.apache.commons.collections4.map; PredicatedMap; true; predicatedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 367 | Summary: org.apache.commons.collections4.map; PredicatedMap; true; predicatedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 368 | Summary: org.apache.commons.collections4.map; PredicatedSortedMap; true; predicatedSortedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 369 | Summary: org.apache.commons.collections4.map; PredicatedSortedMap; true; predicatedSortedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 370 | Summary: org.apache.commons.collections4.map; SingletonMap; true; SingletonMap; (Map$Entry); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 371 | Summary: org.apache.commons.collections4.map; SingletonMap; true; SingletonMap; (Map$Entry); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 372 | Summary: org.apache.commons.collections4.map; SingletonMap; true; SingletonMap; (KeyValue); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 373 | Summary: org.apache.commons.collections4.map; SingletonMap; true; SingletonMap; (KeyValue); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 374 | Summary: org.apache.commons.collections4.map; SingletonMap; true; SingletonMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 375 | Summary: org.apache.commons.collections4.map; SingletonMap; true; SingletonMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 376 | Summary: org.apache.commons.collections4.map; SingletonMap; true; SingletonMap; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 377 | Summary: org.apache.commons.collections4.map; SingletonMap; true; SingletonMap; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 378 | Summary: org.apache.commons.collections4.map; SingletonMap; true; setValue; ; ; Argument[0]; Argument[this].MapValue; value; manual | +| 379 | Summary: org.apache.commons.collections4.map; TransformedMap; true; transformingMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 380 | Summary: org.apache.commons.collections4.map; TransformedMap; true; transformingMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 381 | Summary: org.apache.commons.collections4.map; TransformedSortedMap; true; transformingSortedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 382 | Summary: org.apache.commons.collections4.map; TransformedSortedMap; true; transformingSortedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 383 | Summary: org.apache.commons.collections4.map; UnmodifiableEntrySet; true; unmodifiableEntrySet; ; ; Argument[0].Element.MapKey; ReturnValue.Element.MapKey; value; manual | +| 384 | Summary: org.apache.commons.collections4.map; UnmodifiableEntrySet; true; unmodifiableEntrySet; ; ; Argument[0].Element.MapValue; ReturnValue.Element.MapValue; value; manual | +| 385 | Summary: org.apache.commons.collections4.map; UnmodifiableMap; true; unmodifiableMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 386 | Summary: org.apache.commons.collections4.map; UnmodifiableMap; true; unmodifiableMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 387 | Summary: org.apache.commons.collections4.map; UnmodifiableOrderedMap; true; unmodifiableOrderedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 388 | Summary: org.apache.commons.collections4.map; UnmodifiableOrderedMap; true; unmodifiableOrderedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 389 | Summary: org.apache.commons.collections4.map; UnmodifiableSortedMap; true; unmodifiableSortedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 390 | Summary: org.apache.commons.collections4.map; UnmodifiableSortedMap; true; unmodifiableSortedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 391 | Summary: org.apache.commons.collections4; ArrayStack; true; peek; ; ; Argument[this].Element; ReturnValue; value; manual | +| 392 | Summary: org.apache.commons.collections4; ArrayStack; true; pop; ; ; Argument[this].Element; ReturnValue; value; manual | +| 393 | Summary: org.apache.commons.collections4; ArrayStack; true; push; ; ; Argument[0]; Argument[this].Element; value; manual | +| 394 | Summary: org.apache.commons.collections4; ArrayStack; true; push; ; ; Argument[0]; ReturnValue; value; manual | +| 395 | Summary: org.apache.commons.collections4; Bag; true; add; ; ; Argument[0]; Argument[this].Element; value; manual | +| 396 | Summary: org.apache.commons.collections4; Bag; true; uniqueSet; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 397 | Summary: org.apache.commons.collections4; BagUtils; true; collectionBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 398 | Summary: org.apache.commons.collections4; BagUtils; true; predicatedBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 399 | Summary: org.apache.commons.collections4; BagUtils; true; predicatedSortedBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 400 | Summary: org.apache.commons.collections4; BagUtils; true; synchronizedBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 401 | Summary: org.apache.commons.collections4; BagUtils; true; synchronizedSortedBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 402 | Summary: org.apache.commons.collections4; BagUtils; true; transformingBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 403 | Summary: org.apache.commons.collections4; BagUtils; true; transformingSortedBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 404 | Summary: org.apache.commons.collections4; BagUtils; true; unmodifiableBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 405 | Summary: org.apache.commons.collections4; BagUtils; true; unmodifiableSortedBag; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 406 | Summary: org.apache.commons.collections4; BidiMap; true; getKey; ; ; Argument[this].MapKey; ReturnValue; value; manual | +| 407 | Summary: org.apache.commons.collections4; BidiMap; true; inverseBidiMap; ; ; Argument[this].MapKey; ReturnValue.MapValue; value; manual | +| 408 | Summary: org.apache.commons.collections4; BidiMap; true; inverseBidiMap; ; ; Argument[this].MapValue; ReturnValue.MapKey; value; manual | +| 409 | Summary: org.apache.commons.collections4; BidiMap; true; removeValue; ; ; Argument[this].MapKey; ReturnValue; value; manual | +| 410 | Summary: org.apache.commons.collections4; CollectionUtils; true; addAll; (Collection,Enumeration); ; Argument[1].Element; Argument[0].Element; value; manual | +| 411 | Summary: org.apache.commons.collections4; CollectionUtils; true; addAll; (Collection,Iterable); ; Argument[1].Element; Argument[0].Element; value; manual | +| 412 | Summary: org.apache.commons.collections4; CollectionUtils; true; addAll; (Collection,Iterator); ; Argument[1].Element; Argument[0].Element; value; manual | +| 413 | Summary: org.apache.commons.collections4; CollectionUtils; true; addAll; (Collection,Object[]); ; Argument[1].ArrayElement; Argument[0].Element; value; manual | +| 414 | Summary: org.apache.commons.collections4; CollectionUtils; true; addIgnoreNull; ; ; Argument[1]; Argument[0].Element; value; manual | +| 415 | Summary: org.apache.commons.collections4; CollectionUtils; true; collate; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 416 | Summary: org.apache.commons.collections4; CollectionUtils; true; collate; ; ; Argument[1].Element; ReturnValue.Element; value; manual | +| 417 | Summary: org.apache.commons.collections4; CollectionUtils; true; disjunction; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 418 | Summary: org.apache.commons.collections4; CollectionUtils; true; disjunction; ; ; Argument[1].Element; ReturnValue.Element; value; manual | +| 419 | Summary: org.apache.commons.collections4; CollectionUtils; true; emptyIfNull; ; ; Argument[0]; ReturnValue; value; manual | +| 420 | Summary: org.apache.commons.collections4; CollectionUtils; true; extractSingleton; ; ; Argument[0].Element; ReturnValue; value; manual | +| 421 | Summary: org.apache.commons.collections4; CollectionUtils; true; find; ; ; Argument[0].Element; ReturnValue; value; manual | +| 422 | Summary: org.apache.commons.collections4; CollectionUtils; true; get; (Iterable,int); ; Argument[0].Element; ReturnValue; value; manual | +| 423 | Summary: org.apache.commons.collections4; CollectionUtils; true; get; (Iterator,int); ; Argument[0].Element; ReturnValue; value; manual | +| 424 | Summary: org.apache.commons.collections4; CollectionUtils; true; get; (Map,int); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 425 | Summary: org.apache.commons.collections4; CollectionUtils; true; get; (Map,int); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 426 | Summary: org.apache.commons.collections4; CollectionUtils; true; get; (Object,int); ; Argument[0].ArrayElement; ReturnValue; value; manual | +| 427 | Summary: org.apache.commons.collections4; CollectionUtils; true; get; (Object,int); ; Argument[0].Element; ReturnValue; value; manual | +| 428 | Summary: org.apache.commons.collections4; CollectionUtils; true; get; (Object,int); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 429 | Summary: org.apache.commons.collections4; CollectionUtils; true; get; (Object,int); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 430 | Summary: org.apache.commons.collections4; CollectionUtils; true; getCardinalityMap; ; ; Argument[0].Element; ReturnValue.MapKey; value; manual | +| 431 | Summary: org.apache.commons.collections4; CollectionUtils; true; intersection; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 432 | Summary: org.apache.commons.collections4; CollectionUtils; true; intersection; ; ; Argument[1].Element; ReturnValue.Element; value; manual | +| 433 | Summary: org.apache.commons.collections4; CollectionUtils; true; permutations; ; ; Argument[0].Element; ReturnValue.Element.Element; value; manual | +| 434 | Summary: org.apache.commons.collections4; CollectionUtils; true; predicatedCollection; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 435 | Summary: org.apache.commons.collections4; CollectionUtils; true; removeAll; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 436 | Summary: org.apache.commons.collections4; CollectionUtils; true; retainAll; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 437 | Summary: org.apache.commons.collections4; CollectionUtils; true; select; (Iterable,Predicate); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 438 | Summary: org.apache.commons.collections4; CollectionUtils; true; select; (Iterable,Predicate,Collection); ; Argument[0].Element; Argument[2].Element; value; manual | +| 439 | Summary: org.apache.commons.collections4; CollectionUtils; true; select; (Iterable,Predicate,Collection); ; Argument[2]; ReturnValue; value; manual | +| 440 | Summary: org.apache.commons.collections4; CollectionUtils; true; select; (Iterable,Predicate,Collection,Collection); ; Argument[0].Element; Argument[2].Element; value; manual | +| 441 | Summary: org.apache.commons.collections4; CollectionUtils; true; select; (Iterable,Predicate,Collection,Collection); ; Argument[0].Element; Argument[3].Element; value; manual | +| 442 | Summary: org.apache.commons.collections4; CollectionUtils; true; select; (Iterable,Predicate,Collection,Collection); ; Argument[2]; ReturnValue; value; manual | +| 443 | Summary: org.apache.commons.collections4; CollectionUtils; true; selectRejected; (Iterable,Predicate); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 444 | Summary: org.apache.commons.collections4; CollectionUtils; true; selectRejected; (Iterable,Predicate,Collection); ; Argument[0].Element; Argument[2].Element; value; manual | +| 445 | Summary: org.apache.commons.collections4; CollectionUtils; true; selectRejected; (Iterable,Predicate,Collection); ; Argument[2]; ReturnValue; value; manual | +| 446 | Summary: org.apache.commons.collections4; CollectionUtils; true; subtract; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 447 | Summary: org.apache.commons.collections4; CollectionUtils; true; synchronizedCollection; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 448 | Summary: org.apache.commons.collections4; CollectionUtils; true; transformingCollection; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 449 | Summary: org.apache.commons.collections4; CollectionUtils; true; union; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 450 | Summary: org.apache.commons.collections4; CollectionUtils; true; union; ; ; Argument[1].Element; ReturnValue.Element; value; manual | +| 451 | Summary: org.apache.commons.collections4; CollectionUtils; true; unmodifiableCollection; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 452 | Summary: org.apache.commons.collections4; EnumerationUtils; true; get; ; ; Argument[0].Element; ReturnValue; value; manual | +| 453 | Summary: org.apache.commons.collections4; EnumerationUtils; true; toList; (Enumeration); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 454 | Summary: org.apache.commons.collections4; EnumerationUtils; true; toList; (StringTokenizer); ; Argument[0]; ReturnValue.Element; taint; manual | +| 455 | Summary: org.apache.commons.collections4; FluentIterable; true; append; (Iterable); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 456 | Summary: org.apache.commons.collections4; FluentIterable; true; append; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 457 | Summary: org.apache.commons.collections4; FluentIterable; true; append; (Object[]); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 458 | Summary: org.apache.commons.collections4; FluentIterable; true; append; (Object[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 459 | Summary: org.apache.commons.collections4; FluentIterable; true; asEnumeration; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 460 | Summary: org.apache.commons.collections4; FluentIterable; true; collate; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 461 | Summary: org.apache.commons.collections4; FluentIterable; true; collate; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 462 | Summary: org.apache.commons.collections4; FluentIterable; true; copyInto; ; ; Argument[this].Element; Argument[0].Element; value; manual | +| 463 | Summary: org.apache.commons.collections4; FluentIterable; true; eval; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 464 | Summary: org.apache.commons.collections4; FluentIterable; true; filter; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 465 | Summary: org.apache.commons.collections4; FluentIterable; true; get; ; ; Argument[this].Element; ReturnValue; value; manual | +| 466 | Summary: org.apache.commons.collections4; FluentIterable; true; limit; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 467 | Summary: org.apache.commons.collections4; FluentIterable; true; loop; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 468 | Summary: org.apache.commons.collections4; FluentIterable; true; of; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 469 | Summary: org.apache.commons.collections4; FluentIterable; true; of; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 470 | Summary: org.apache.commons.collections4; FluentIterable; true; of; (Object[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 471 | Summary: org.apache.commons.collections4; FluentIterable; true; reverse; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 472 | Summary: org.apache.commons.collections4; FluentIterable; true; skip; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 473 | Summary: org.apache.commons.collections4; FluentIterable; true; toArray; ; ; Argument[this].Element; ReturnValue.ArrayElement; value; manual | +| 474 | Summary: org.apache.commons.collections4; FluentIterable; true; toList; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 475 | Summary: org.apache.commons.collections4; FluentIterable; true; unique; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 476 | Summary: org.apache.commons.collections4; FluentIterable; true; unmodifiable; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 477 | Summary: org.apache.commons.collections4; FluentIterable; true; zip; (Iterable); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 478 | Summary: org.apache.commons.collections4; FluentIterable; true; zip; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 479 | Summary: org.apache.commons.collections4; FluentIterable; true; zip; (Iterable[]); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 480 | Summary: org.apache.commons.collections4; FluentIterable; true; zip; (Iterable[]); ; Argument[0].ArrayElement.Element; ReturnValue.Element; value; manual | +| 481 | Summary: org.apache.commons.collections4; Get; true; entrySet; ; ; Argument[this].MapKey; ReturnValue.Element.MapKey; value; manual | +| 482 | Summary: org.apache.commons.collections4; Get; true; entrySet; ; ; Argument[this].MapValue; ReturnValue.Element.MapValue; value; manual | +| 483 | Summary: org.apache.commons.collections4; Get; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 484 | Summary: org.apache.commons.collections4; Get; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 485 | Summary: org.apache.commons.collections4; Get; true; remove; (Object); ; Argument[this].MapValue; ReturnValue; value; manual | +| 486 | Summary: org.apache.commons.collections4; Get; true; values; (); ; Argument[this].MapValue; ReturnValue.Element; value; manual | +| 487 | Summary: org.apache.commons.collections4; IterableGet; true; mapIterator; ; ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 488 | Summary: org.apache.commons.collections4; IterableGet; true; mapIterator; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 489 | Summary: org.apache.commons.collections4; IterableUtils; true; boundedIterable; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 490 | Summary: org.apache.commons.collections4; IterableUtils; true; chainedIterable; (Iterable,Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 491 | Summary: org.apache.commons.collections4; IterableUtils; true; chainedIterable; (Iterable,Iterable); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 492 | Summary: org.apache.commons.collections4; IterableUtils; true; chainedIterable; (Iterable,Iterable,Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 493 | Summary: org.apache.commons.collections4; IterableUtils; true; chainedIterable; (Iterable,Iterable,Iterable); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 494 | Summary: org.apache.commons.collections4; IterableUtils; true; chainedIterable; (Iterable,Iterable,Iterable); ; Argument[2].Element; ReturnValue.Element; value; manual | +| 495 | Summary: org.apache.commons.collections4; IterableUtils; true; chainedIterable; (Iterable,Iterable,Iterable,Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 496 | Summary: org.apache.commons.collections4; IterableUtils; true; chainedIterable; (Iterable,Iterable,Iterable,Iterable); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 497 | Summary: org.apache.commons.collections4; IterableUtils; true; chainedIterable; (Iterable,Iterable,Iterable,Iterable); ; Argument[2].Element; ReturnValue.Element; value; manual | +| 498 | Summary: org.apache.commons.collections4; IterableUtils; true; chainedIterable; (Iterable,Iterable,Iterable,Iterable); ; Argument[3].Element; ReturnValue.Element; value; manual | +| 499 | Summary: org.apache.commons.collections4; IterableUtils; true; collatedIterable; (Comparator,Iterable,Iterable); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 500 | Summary: org.apache.commons.collections4; IterableUtils; true; collatedIterable; (Comparator,Iterable,Iterable); ; Argument[2].Element; ReturnValue.Element; value; manual | +| 501 | Summary: org.apache.commons.collections4; IterableUtils; true; collatedIterable; (Iterable,Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 502 | Summary: org.apache.commons.collections4; IterableUtils; true; collatedIterable; (Iterable,Iterable); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 503 | Summary: org.apache.commons.collections4; IterableUtils; true; emptyIfNull; ; ; Argument[0]; ReturnValue; value; manual | +| 504 | Summary: org.apache.commons.collections4; IterableUtils; true; filteredIterable; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 505 | Summary: org.apache.commons.collections4; IterableUtils; true; find; ; ; Argument[0].Element; ReturnValue; value; manual | +| 506 | Summary: org.apache.commons.collections4; IterableUtils; true; first; ; ; Argument[0].Element; ReturnValue; value; manual | +| 507 | Summary: org.apache.commons.collections4; IterableUtils; true; forEachButLast; ; ; Argument[0].Element; ReturnValue; value; manual | +| 508 | Summary: org.apache.commons.collections4; IterableUtils; true; get; ; ; Argument[0].Element; ReturnValue; value; manual | +| 509 | Summary: org.apache.commons.collections4; IterableUtils; true; loopingIterable; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 510 | Summary: org.apache.commons.collections4; IterableUtils; true; partition; ; ; Argument[0].Element; ReturnValue.Element.Element; value; manual | +| 511 | Summary: org.apache.commons.collections4; IterableUtils; true; reversedIterable; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 512 | Summary: org.apache.commons.collections4; IterableUtils; true; skippingIterable; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 513 | Summary: org.apache.commons.collections4; IterableUtils; true; toList; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 514 | Summary: org.apache.commons.collections4; IterableUtils; true; toString; ; ; Argument[2]; ReturnValue; taint; manual | +| 515 | Summary: org.apache.commons.collections4; IterableUtils; true; toString; ; ; Argument[3]; ReturnValue; taint; manual | +| 516 | Summary: org.apache.commons.collections4; IterableUtils; true; toString; ; ; Argument[4]; ReturnValue; taint; manual | +| 517 | Summary: org.apache.commons.collections4; IterableUtils; true; uniqueIterable; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 518 | Summary: org.apache.commons.collections4; IterableUtils; true; unmodifiableIterable; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 519 | Summary: org.apache.commons.collections4; IterableUtils; true; zippingIterable; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 520 | Summary: org.apache.commons.collections4; IterableUtils; true; zippingIterable; (Iterable,Iterable); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 521 | Summary: org.apache.commons.collections4; IteratorUtils; true; arrayIterator; ; ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 522 | Summary: org.apache.commons.collections4; IteratorUtils; true; arrayListIterator; ; ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 523 | Summary: org.apache.commons.collections4; IteratorUtils; true; asEnumeration; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 524 | Summary: org.apache.commons.collections4; IteratorUtils; true; asIterable; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 525 | Summary: org.apache.commons.collections4; IteratorUtils; true; asIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 526 | Summary: org.apache.commons.collections4; IteratorUtils; true; asMultipleUseIterable; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 527 | Summary: org.apache.commons.collections4; IteratorUtils; true; boundedIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 528 | Summary: org.apache.commons.collections4; IteratorUtils; true; chainedIterator; (Collection); ; Argument[0].Element.Element; ReturnValue.Element; value; manual | +| 529 | Summary: org.apache.commons.collections4; IteratorUtils; true; chainedIterator; (Iterator,Iterator); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 530 | Summary: org.apache.commons.collections4; IteratorUtils; true; chainedIterator; (Iterator,Iterator); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 531 | Summary: org.apache.commons.collections4; IteratorUtils; true; collatedIterator; (Comparator,Collection); ; Argument[1].Element.Element; ReturnValue.Element; value; manual | +| 532 | Summary: org.apache.commons.collections4; IteratorUtils; true; collatedIterator; (Comparator,Iterator,Iterator); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 533 | Summary: org.apache.commons.collections4; IteratorUtils; true; collatedIterator; (Comparator,Iterator,Iterator); ; Argument[2].Element; ReturnValue.Element; value; manual | +| 534 | Summary: org.apache.commons.collections4; IteratorUtils; true; collatedIterator; (Comparator,Iterator[]); ; Argument[1].ArrayElement.Element; ReturnValue.Element; value; manual | +| 535 | Summary: org.apache.commons.collections4; IteratorUtils; true; filteredIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 536 | Summary: org.apache.commons.collections4; IteratorUtils; true; filteredListIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 537 | Summary: org.apache.commons.collections4; IteratorUtils; true; find; ; ; Argument[0].Element; ReturnValue; value; manual | +| 538 | Summary: org.apache.commons.collections4; IteratorUtils; true; first; ; ; Argument[0].Element; ReturnValue; value; manual | +| 539 | Summary: org.apache.commons.collections4; IteratorUtils; true; forEachButLast; ; ; Argument[0].Element; ReturnValue; value; manual | +| 540 | Summary: org.apache.commons.collections4; IteratorUtils; true; get; ; ; Argument[0].Element; ReturnValue; value; manual | +| 541 | Summary: org.apache.commons.collections4; IteratorUtils; true; getIterator; ; ; Argument[0]; ReturnValue.Element; value; manual | +| 542 | Summary: org.apache.commons.collections4; IteratorUtils; true; getIterator; ; ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 543 | Summary: org.apache.commons.collections4; IteratorUtils; true; getIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 544 | Summary: org.apache.commons.collections4; IteratorUtils; true; getIterator; ; ; Argument[0].MapValue; ReturnValue.Element; value; manual | +| 545 | Summary: org.apache.commons.collections4; IteratorUtils; true; loopingIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 546 | Summary: org.apache.commons.collections4; IteratorUtils; true; loopingListIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 547 | Summary: org.apache.commons.collections4; IteratorUtils; true; peekingIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 548 | Summary: org.apache.commons.collections4; IteratorUtils; true; pushbackIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 549 | Summary: org.apache.commons.collections4; IteratorUtils; true; singletonIterator; ; ; Argument[0]; ReturnValue.Element; value; manual | +| 550 | Summary: org.apache.commons.collections4; IteratorUtils; true; singletonListIterator; ; ; Argument[0]; ReturnValue.Element; value; manual | +| 551 | Summary: org.apache.commons.collections4; IteratorUtils; true; skippingIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 552 | Summary: org.apache.commons.collections4; IteratorUtils; true; toArray; ; ; Argument[0].Element; ReturnValue.ArrayElement; value; manual | +| 553 | Summary: org.apache.commons.collections4; IteratorUtils; true; toList; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 554 | Summary: org.apache.commons.collections4; IteratorUtils; true; toListIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 555 | Summary: org.apache.commons.collections4; IteratorUtils; true; toString; ; ; Argument[2]; ReturnValue; taint; manual | +| 556 | Summary: org.apache.commons.collections4; IteratorUtils; true; toString; ; ; Argument[3]; ReturnValue; taint; manual | +| 557 | Summary: org.apache.commons.collections4; IteratorUtils; true; toString; ; ; Argument[4]; ReturnValue; taint; manual | +| 558 | Summary: org.apache.commons.collections4; IteratorUtils; true; unmodifiableIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 559 | Summary: org.apache.commons.collections4; IteratorUtils; true; unmodifiableListIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 560 | Summary: org.apache.commons.collections4; IteratorUtils; true; unmodifiableMapIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 561 | Summary: org.apache.commons.collections4; IteratorUtils; true; unmodifiableMapIterator; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 562 | Summary: org.apache.commons.collections4; IteratorUtils; true; zippingIterator; (Iterator,Iterator); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 563 | Summary: org.apache.commons.collections4; IteratorUtils; true; zippingIterator; (Iterator,Iterator); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 564 | Summary: org.apache.commons.collections4; IteratorUtils; true; zippingIterator; (Iterator,Iterator,Iterator); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 565 | Summary: org.apache.commons.collections4; IteratorUtils; true; zippingIterator; (Iterator,Iterator,Iterator); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 566 | Summary: org.apache.commons.collections4; IteratorUtils; true; zippingIterator; (Iterator,Iterator,Iterator); ; Argument[2].Element; ReturnValue.Element; value; manual | +| 567 | Summary: org.apache.commons.collections4; IteratorUtils; true; zippingIterator; (Iterator[]); ; Argument[0].ArrayElement.Element; ReturnValue.Element; value; manual | +| 568 | Summary: org.apache.commons.collections4; KeyValue; true; getKey; ; ; Argument[this].MapKey; ReturnValue; value; manual | +| 569 | Summary: org.apache.commons.collections4; KeyValue; true; getValue; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 570 | Summary: org.apache.commons.collections4; ListUtils; true; defaultIfNull; ; ; Argument[0]; ReturnValue; value; manual | +| 571 | Summary: org.apache.commons.collections4; ListUtils; true; defaultIfNull; ; ; Argument[1]; ReturnValue; value; manual | +| 572 | Summary: org.apache.commons.collections4; ListUtils; true; emptyIfNull; ; ; Argument[0]; ReturnValue; value; manual | +| 573 | Summary: org.apache.commons.collections4; ListUtils; true; fixedSizeList; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 574 | Summary: org.apache.commons.collections4; ListUtils; true; intersection; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 575 | Summary: org.apache.commons.collections4; ListUtils; true; intersection; ; ; Argument[1].Element; ReturnValue.Element; value; manual | +| 576 | Summary: org.apache.commons.collections4; ListUtils; true; lazyList; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 577 | Summary: org.apache.commons.collections4; ListUtils; true; longestCommonSubsequence; (CharSequence,CharSequence); ; Argument[0]; ReturnValue; taint; manual | +| 578 | Summary: org.apache.commons.collections4; ListUtils; true; longestCommonSubsequence; (CharSequence,CharSequence); ; Argument[1]; ReturnValue; taint; manual | +| 579 | Summary: org.apache.commons.collections4; ListUtils; true; longestCommonSubsequence; (List,List); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 580 | Summary: org.apache.commons.collections4; ListUtils; true; longestCommonSubsequence; (List,List); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 581 | Summary: org.apache.commons.collections4; ListUtils; true; longestCommonSubsequence; (List,List,Equator); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 582 | Summary: org.apache.commons.collections4; ListUtils; true; longestCommonSubsequence; (List,List,Equator); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 583 | Summary: org.apache.commons.collections4; ListUtils; true; partition; ; ; Argument[0].Element; ReturnValue.Element.Element; value; manual | +| 584 | Summary: org.apache.commons.collections4; ListUtils; true; predicatedList; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 585 | Summary: org.apache.commons.collections4; ListUtils; true; removeAll; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 586 | Summary: org.apache.commons.collections4; ListUtils; true; retainAll; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 587 | Summary: org.apache.commons.collections4; ListUtils; true; select; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 588 | Summary: org.apache.commons.collections4; ListUtils; true; selectRejected; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 589 | Summary: org.apache.commons.collections4; ListUtils; true; subtract; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 590 | Summary: org.apache.commons.collections4; ListUtils; true; sum; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 591 | Summary: org.apache.commons.collections4; ListUtils; true; sum; ; ; Argument[1].Element; ReturnValue.Element; value; manual | +| 592 | Summary: org.apache.commons.collections4; ListUtils; true; synchronizedList; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 593 | Summary: org.apache.commons.collections4; ListUtils; true; transformedList; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 594 | Summary: org.apache.commons.collections4; ListUtils; true; union; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 595 | Summary: org.apache.commons.collections4; ListUtils; true; union; ; ; Argument[1].Element; ReturnValue.Element; value; manual | +| 596 | Summary: org.apache.commons.collections4; ListUtils; true; unmodifiableList; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 597 | Summary: org.apache.commons.collections4; MapIterator; true; getKey; ; ; Argument[this].Element; ReturnValue; value; manual | +| 598 | Summary: org.apache.commons.collections4; MapIterator; true; getValue; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 599 | Summary: org.apache.commons.collections4; MapIterator; true; setValue; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 600 | Summary: org.apache.commons.collections4; MapIterator; true; setValue; ; ; Argument[0]; Argument[this].MapValue; value; manual | +| 601 | Summary: org.apache.commons.collections4; MapUtils; true; emptyIfNull; ; ; Argument[0]; ReturnValue; value; manual | +| 602 | Summary: org.apache.commons.collections4; MapUtils; true; fixedSizeMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 603 | Summary: org.apache.commons.collections4; MapUtils; true; fixedSizeMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 604 | Summary: org.apache.commons.collections4; MapUtils; true; fixedSizeSortedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 605 | Summary: org.apache.commons.collections4; MapUtils; true; fixedSizeSortedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 606 | Summary: org.apache.commons.collections4; MapUtils; true; getMap; ; ; Argument[0].MapValue; ReturnValue; value; manual | +| 607 | Summary: org.apache.commons.collections4; MapUtils; true; getMap; ; ; Argument[2]; ReturnValue; value; manual | +| 608 | Summary: org.apache.commons.collections4; MapUtils; true; getObject; ; ; Argument[0].MapValue; ReturnValue; value; manual | +| 609 | Summary: org.apache.commons.collections4; MapUtils; true; getObject; ; ; Argument[2]; ReturnValue; value; manual | +| 610 | Summary: org.apache.commons.collections4; MapUtils; true; getString; ; ; Argument[0].MapValue; ReturnValue; value; manual | +| 611 | Summary: org.apache.commons.collections4; MapUtils; true; getString; ; ; Argument[2]; ReturnValue; value; manual | +| 612 | Summary: org.apache.commons.collections4; MapUtils; true; invertMap; ; ; Argument[0].MapKey; ReturnValue.MapValue; value; manual | +| 613 | Summary: org.apache.commons.collections4; MapUtils; true; invertMap; ; ; Argument[0].MapValue; ReturnValue.MapKey; value; manual | +| 614 | Summary: org.apache.commons.collections4; MapUtils; true; iterableMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 615 | Summary: org.apache.commons.collections4; MapUtils; true; iterableMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 616 | Summary: org.apache.commons.collections4; MapUtils; true; iterableSortedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 617 | Summary: org.apache.commons.collections4; MapUtils; true; iterableSortedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 618 | Summary: org.apache.commons.collections4; MapUtils; true; lazyMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 619 | Summary: org.apache.commons.collections4; MapUtils; true; lazyMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 620 | Summary: org.apache.commons.collections4; MapUtils; true; lazySortedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 621 | Summary: org.apache.commons.collections4; MapUtils; true; lazySortedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 622 | Summary: org.apache.commons.collections4; MapUtils; true; multiValueMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 623 | Summary: org.apache.commons.collections4; MapUtils; true; multiValueMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 624 | Summary: org.apache.commons.collections4; MapUtils; true; orderedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 625 | Summary: org.apache.commons.collections4; MapUtils; true; orderedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 626 | Summary: org.apache.commons.collections4; MapUtils; true; populateMap; (Map,Iterable,Transformer); ; Argument[1].Element; Argument[0].MapValue; value; manual | +| 627 | Summary: org.apache.commons.collections4; MapUtils; true; populateMap; (MultiMap,Iterable,Transformer); ; Argument[1].Element; Argument[0].MapValue.Element; value; manual | +| 628 | Summary: org.apache.commons.collections4; MapUtils; true; predicatedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 629 | Summary: org.apache.commons.collections4; MapUtils; true; predicatedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 630 | Summary: org.apache.commons.collections4; MapUtils; true; predicatedSortedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 631 | Summary: org.apache.commons.collections4; MapUtils; true; predicatedSortedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 632 | Summary: org.apache.commons.collections4; MapUtils; true; putAll; ; ; Argument[1].ArrayElement; Argument[0].MapKey; value; manual | +| 633 | Summary: org.apache.commons.collections4; MapUtils; true; putAll; ; ; Argument[1].ArrayElement; Argument[0].MapValue; value; manual | +| 634 | Summary: org.apache.commons.collections4; MapUtils; true; putAll; ; ; Argument[1].ArrayElement; ReturnValue.MapKey; value; manual | +| 635 | Summary: org.apache.commons.collections4; MapUtils; true; putAll; ; ; Argument[1].ArrayElement; ReturnValue.MapValue; value; manual | +| 636 | Summary: org.apache.commons.collections4; MapUtils; true; putAll; ; ; Argument[1].ArrayElement.ArrayElement; Argument[0].MapKey; value; manual | +| 637 | Summary: org.apache.commons.collections4; MapUtils; true; putAll; ; ; Argument[1].ArrayElement.ArrayElement; Argument[0].MapValue; value; manual | +| 638 | Summary: org.apache.commons.collections4; MapUtils; true; putAll; ; ; Argument[1].ArrayElement.ArrayElement; ReturnValue.MapKey; value; manual | +| 639 | Summary: org.apache.commons.collections4; MapUtils; true; putAll; ; ; Argument[1].ArrayElement.ArrayElement; ReturnValue.MapValue; value; manual | +| 640 | Summary: org.apache.commons.collections4; MapUtils; true; putAll; ; ; Argument[1].ArrayElement.MapKey; Argument[0].MapKey; value; manual | +| 641 | Summary: org.apache.commons.collections4; MapUtils; true; putAll; ; ; Argument[1].ArrayElement.MapKey; ReturnValue.MapKey; value; manual | +| 642 | Summary: org.apache.commons.collections4; MapUtils; true; putAll; ; ; Argument[1].ArrayElement.MapValue; Argument[0].MapValue; value; manual | +| 643 | Summary: org.apache.commons.collections4; MapUtils; true; putAll; ; ; Argument[1].ArrayElement.MapValue; ReturnValue.MapValue; value; manual | +| 644 | Summary: org.apache.commons.collections4; MapUtils; true; safeAddToMap; ; ; Argument[1]; Argument[0].MapKey; value; manual | +| 645 | Summary: org.apache.commons.collections4; MapUtils; true; safeAddToMap; ; ; Argument[2]; Argument[0].MapValue; value; manual | +| 646 | Summary: org.apache.commons.collections4; MapUtils; true; synchronizedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 647 | Summary: org.apache.commons.collections4; MapUtils; true; synchronizedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 648 | Summary: org.apache.commons.collections4; MapUtils; true; synchronizedSortedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 649 | Summary: org.apache.commons.collections4; MapUtils; true; synchronizedSortedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 650 | Summary: org.apache.commons.collections4; MapUtils; true; toMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 651 | Summary: org.apache.commons.collections4; MapUtils; true; toMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 652 | Summary: org.apache.commons.collections4; MapUtils; true; transformedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 653 | Summary: org.apache.commons.collections4; MapUtils; true; transformedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 654 | Summary: org.apache.commons.collections4; MapUtils; true; transformedSortedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 655 | Summary: org.apache.commons.collections4; MapUtils; true; transformedSortedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 656 | Summary: org.apache.commons.collections4; MapUtils; true; unmodifiableMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 657 | Summary: org.apache.commons.collections4; MapUtils; true; unmodifiableMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 658 | Summary: org.apache.commons.collections4; MapUtils; true; unmodifiableSortedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 659 | Summary: org.apache.commons.collections4; MapUtils; true; unmodifiableSortedMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 660 | Summary: org.apache.commons.collections4; MultiMap; true; get; ; ; Argument[this].MapValue.Element; ReturnValue.Element; value; manual | +| 661 | Summary: org.apache.commons.collections4; MultiMap; true; put; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 662 | Summary: org.apache.commons.collections4; MultiMap; true; put; ; ; Argument[1]; Argument[this].MapValue.Element; value; manual | +| 663 | Summary: org.apache.commons.collections4; MultiMap; true; values; ; ; Argument[this].MapValue.Element; ReturnValue.Element; value; manual | +| 664 | Summary: org.apache.commons.collections4; MultiMapUtils; true; emptyIfNull; ; ; Argument[0]; ReturnValue; value; manual | +| 665 | Summary: org.apache.commons.collections4; MultiMapUtils; true; getCollection; ; ; Argument[0].MapValue; ReturnValue; value; manual | +| 666 | Summary: org.apache.commons.collections4; MultiMapUtils; true; getValuesAsBag; ; ; Argument[0].MapValue.Element; ReturnValue.Element; value; manual | +| 667 | Summary: org.apache.commons.collections4; MultiMapUtils; true; getValuesAsList; ; ; Argument[0].MapValue.Element; ReturnValue.Element; value; manual | +| 668 | Summary: org.apache.commons.collections4; MultiMapUtils; true; getValuesAsSet; ; ; Argument[0].MapValue.Element; ReturnValue.Element; value; manual | +| 669 | Summary: org.apache.commons.collections4; MultiMapUtils; true; transformedMultiValuedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 670 | Summary: org.apache.commons.collections4; MultiMapUtils; true; transformedMultiValuedMap; ; ; Argument[0].MapValue.Element; ReturnValue.MapValue.Element; value; manual | +| 671 | Summary: org.apache.commons.collections4; MultiMapUtils; true; unmodifiableMultiValuedMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 672 | Summary: org.apache.commons.collections4; MultiMapUtils; true; unmodifiableMultiValuedMap; ; ; Argument[0].MapValue.Element; ReturnValue.MapValue.Element; value; manual | +| 673 | Summary: org.apache.commons.collections4; MultiSet; true; add; ; ; Argument[0]; Argument[this].Element; value; manual | +| 674 | Summary: org.apache.commons.collections4; MultiSet; true; entrySet; ; ; Argument[this].Element; ReturnValue.Element.Element; value; manual | +| 675 | Summary: org.apache.commons.collections4; MultiSet; true; uniqueSet; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 676 | Summary: org.apache.commons.collections4; MultiSet$Entry; true; getElement; ; ; Argument[this].Element; ReturnValue; value; manual | +| 677 | Summary: org.apache.commons.collections4; MultiSetUtils; true; predicatedMultiSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 678 | Summary: org.apache.commons.collections4; MultiSetUtils; true; synchronizedMultiSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 679 | Summary: org.apache.commons.collections4; MultiSetUtils; true; unmodifiableMultiSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 680 | Summary: org.apache.commons.collections4; MultiValuedMap; true; asMap; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 681 | Summary: org.apache.commons.collections4; MultiValuedMap; true; asMap; ; ; Argument[this].MapValue.Element; ReturnValue.MapValue.Element; value; manual | +| 682 | Summary: org.apache.commons.collections4; MultiValuedMap; true; entries; ; ; Argument[this].MapKey; ReturnValue.Element.MapKey; value; manual | +| 683 | Summary: org.apache.commons.collections4; MultiValuedMap; true; entries; ; ; Argument[this].MapValue.Element; ReturnValue.Element.MapValue; value; manual | +| 684 | Summary: org.apache.commons.collections4; MultiValuedMap; true; get; ; ; Argument[this].MapValue.Element; ReturnValue.Element; value; manual | +| 685 | Summary: org.apache.commons.collections4; MultiValuedMap; true; keySet; ; ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 686 | Summary: org.apache.commons.collections4; MultiValuedMap; true; keys; ; ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 687 | Summary: org.apache.commons.collections4; MultiValuedMap; true; mapIterator; ; ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 688 | Summary: org.apache.commons.collections4; MultiValuedMap; true; mapIterator; ; ; Argument[this].MapValue.Element; ReturnValue.MapValue; value; manual | +| 689 | Summary: org.apache.commons.collections4; MultiValuedMap; true; put; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 690 | Summary: org.apache.commons.collections4; MultiValuedMap; true; put; ; ; Argument[1]; Argument[this].MapValue.Element; value; manual | +| 691 | Summary: org.apache.commons.collections4; MultiValuedMap; true; putAll; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 692 | Summary: org.apache.commons.collections4; MultiValuedMap; true; putAll; (Map); ; Argument[0].MapValue; Argument[this].MapValue.Element; value; manual | +| 693 | Summary: org.apache.commons.collections4; MultiValuedMap; true; putAll; (MultiValuedMap); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 694 | Summary: org.apache.commons.collections4; MultiValuedMap; true; putAll; (MultiValuedMap); ; Argument[0].MapValue.Element; Argument[this].MapValue.Element; value; manual | +| 695 | Summary: org.apache.commons.collections4; MultiValuedMap; true; putAll; (Object,Iterable); ; Argument[0]; Argument[this].MapKey; value; manual | +| 696 | Summary: org.apache.commons.collections4; MultiValuedMap; true; putAll; (Object,Iterable); ; Argument[1].Element; Argument[this].MapValue.Element; value; manual | +| 697 | Summary: org.apache.commons.collections4; MultiValuedMap; true; remove; ; ; Argument[this].MapValue.Element; ReturnValue.Element; value; manual | +| 698 | Summary: org.apache.commons.collections4; MultiValuedMap; true; values; ; ; Argument[this].MapValue.Element; ReturnValue.Element; value; manual | +| 699 | Summary: org.apache.commons.collections4; OrderedIterator; true; previous; ; ; Argument[this].Element; ReturnValue; value; manual | +| 700 | Summary: org.apache.commons.collections4; OrderedMap; true; firstKey; ; ; Argument[this].MapKey; ReturnValue; value; manual | +| 701 | Summary: org.apache.commons.collections4; OrderedMap; true; lastKey; ; ; Argument[this].MapKey; ReturnValue; value; manual | +| 702 | Summary: org.apache.commons.collections4; OrderedMap; true; nextKey; ; ; Argument[this].MapKey; ReturnValue; value; manual | +| 703 | Summary: org.apache.commons.collections4; OrderedMap; true; previousKey; ; ; Argument[this].MapKey; ReturnValue; value; manual | +| 704 | Summary: org.apache.commons.collections4; Put; true; put; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 705 | Summary: org.apache.commons.collections4; Put; true; put; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 706 | Summary: org.apache.commons.collections4; Put; true; put; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 707 | Summary: org.apache.commons.collections4; Put; true; putAll; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 708 | Summary: org.apache.commons.collections4; Put; true; putAll; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 709 | Summary: org.apache.commons.collections4; QueueUtils; true; predicatedQueue; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 710 | Summary: org.apache.commons.collections4; QueueUtils; true; synchronizedQueue; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 711 | Summary: org.apache.commons.collections4; QueueUtils; true; transformingQueue; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 712 | Summary: org.apache.commons.collections4; QueueUtils; true; unmodifiableQueue; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 713 | Summary: org.apache.commons.collections4; SetUtils; true; difference; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 714 | Summary: org.apache.commons.collections4; SetUtils; true; disjunction; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 715 | Summary: org.apache.commons.collections4; SetUtils; true; disjunction; ; ; Argument[1].Element; ReturnValue.Element; value; manual | +| 716 | Summary: org.apache.commons.collections4; SetUtils; true; emptyIfNull; ; ; Argument[0]; ReturnValue; value; manual | +| 717 | Summary: org.apache.commons.collections4; SetUtils; true; hashSet; ; ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 718 | Summary: org.apache.commons.collections4; SetUtils; true; intersection; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 719 | Summary: org.apache.commons.collections4; SetUtils; true; intersection; ; ; Argument[1].Element; ReturnValue.Element; value; manual | +| 720 | Summary: org.apache.commons.collections4; SetUtils; true; orderedSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 721 | Summary: org.apache.commons.collections4; SetUtils; true; predicatedNavigableSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 722 | Summary: org.apache.commons.collections4; SetUtils; true; predicatedSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 723 | Summary: org.apache.commons.collections4; SetUtils; true; predicatedSortedSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 724 | Summary: org.apache.commons.collections4; SetUtils; true; synchronizedSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 725 | Summary: org.apache.commons.collections4; SetUtils; true; synchronizedSortedSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 726 | Summary: org.apache.commons.collections4; SetUtils; true; transformedNavigableSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 727 | Summary: org.apache.commons.collections4; SetUtils; true; transformedSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 728 | Summary: org.apache.commons.collections4; SetUtils; true; transformedSortedSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 729 | Summary: org.apache.commons.collections4; SetUtils; true; union; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 730 | Summary: org.apache.commons.collections4; SetUtils; true; union; ; ; Argument[1].Element; ReturnValue.Element; value; manual | +| 731 | Summary: org.apache.commons.collections4; SetUtils; true; unmodifiableNavigableSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 732 | Summary: org.apache.commons.collections4; SetUtils; true; unmodifiableSet; (Object[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 733 | Summary: org.apache.commons.collections4; SetUtils; true; unmodifiableSet; (Set); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 734 | Summary: org.apache.commons.collections4; SetUtils; true; unmodifiableSortedSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 735 | Summary: org.apache.commons.collections4; SetUtils$SetView; true; copyInto; ; ; Argument[this].Element; Argument[0].Element; value; manual | +| 736 | Summary: org.apache.commons.collections4; SetUtils$SetView; true; createIterator; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 737 | Summary: org.apache.commons.collections4; SetUtils$SetView; true; toSet; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 738 | Summary: org.apache.commons.collections4; SortedBag; true; first; ; ; Argument[this].Element; ReturnValue; value; manual | +| 739 | Summary: org.apache.commons.collections4; SortedBag; true; last; ; ; Argument[this].Element; ReturnValue; value; manual | +| 740 | Summary: org.apache.commons.collections4; SplitMapUtils; true; readableMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 741 | Summary: org.apache.commons.collections4; SplitMapUtils; true; readableMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 742 | Summary: org.apache.commons.collections4; SplitMapUtils; true; writableMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 743 | Summary: org.apache.commons.collections4; SplitMapUtils; true; writableMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 744 | Summary: org.apache.commons.collections4; Trie; true; prefixMap; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 745 | Summary: org.apache.commons.collections4; Trie; true; prefixMap; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 746 | Summary: org.apache.commons.collections4; TrieUtils; true; unmodifiableTrie; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 747 | Summary: org.apache.commons.collections4; TrieUtils; true; unmodifiableTrie; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 748 | Summary: org.apache.commons.collections4.multimap; ArrayListValuedHashMap; true; ArrayListValuedHashMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 749 | Summary: org.apache.commons.collections4.multimap; ArrayListValuedHashMap; true; ArrayListValuedHashMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue.Element; value; manual | +| 750 | Summary: org.apache.commons.collections4.multimap; ArrayListValuedHashMap; true; ArrayListValuedHashMap; (MultiValuedMap); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 751 | Summary: org.apache.commons.collections4.multimap; ArrayListValuedHashMap; true; ArrayListValuedHashMap; (MultiValuedMap); ; Argument[0].MapValue.Element; Argument[this].MapValue.Element; value; manual | +| 752 | Summary: org.apache.commons.collections4.multimap; HashSetValuedHashMap; true; HashSetValuedHashMap; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 753 | Summary: org.apache.commons.collections4.multimap; HashSetValuedHashMap; true; HashSetValuedHashMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue.Element; value; manual | +| 754 | Summary: org.apache.commons.collections4.multimap; HashSetValuedHashMap; true; HashSetValuedHashMap; (MultiValuedMap); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 755 | Summary: org.apache.commons.collections4.multimap; HashSetValuedHashMap; true; HashSetValuedHashMap; (MultiValuedMap); ; Argument[0].MapValue.Element; Argument[this].MapValue.Element; value; manual | +| 756 | Summary: org.apache.commons.collections4.multimap; TransformedMultiValuedMap; true; transformingMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 757 | Summary: org.apache.commons.collections4.multimap; TransformedMultiValuedMap; true; transformingMap; ; ; Argument[0].MapValue.Element; ReturnValue.MapValue.Element; value; manual | +| 758 | Summary: org.apache.commons.collections4.multimap; UnmodifiableMultiValuedMap; true; unmodifiableMultiValuedMap; (MultiValuedMap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 759 | Summary: org.apache.commons.collections4.multimap; UnmodifiableMultiValuedMap; true; unmodifiableMultiValuedMap; (MultiValuedMap); ; Argument[0].MapValue.Element; ReturnValue.MapValue.Element; value; manual | +| 760 | Summary: org.apache.commons.collections4.multiset; HashMultiSet; true; HashMultiSet; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 761 | Summary: org.apache.commons.collections4.multiset; PredicatedMultiSet; true; predicatedMultiSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 762 | Summary: org.apache.commons.collections4.multiset; SynchronizedMultiSet; true; synchronizedMultiSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 763 | Summary: org.apache.commons.collections4.multiset; UnmodifiableMultiSet; true; unmodifiableMultiSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 764 | Summary: org.apache.commons.collections4.properties; AbstractPropertiesFactory; true; load; (ClassLoader,String); ; Argument[1]; ReturnValue; taint; manual | +| 765 | Summary: org.apache.commons.collections4.properties; AbstractPropertiesFactory; true; load; (File); ; Argument[0]; ReturnValue; taint; manual | +| 766 | Summary: org.apache.commons.collections4.properties; AbstractPropertiesFactory; true; load; (InputStream); ; Argument[0]; ReturnValue; taint; manual | +| 767 | Summary: org.apache.commons.collections4.properties; AbstractPropertiesFactory; true; load; (Path); ; Argument[0]; ReturnValue; taint; manual | +| 768 | Summary: org.apache.commons.collections4.properties; AbstractPropertiesFactory; true; load; (Reader); ; Argument[0]; ReturnValue; taint; manual | +| 769 | Summary: org.apache.commons.collections4.properties; AbstractPropertiesFactory; true; load; (String); ; Argument[0]; ReturnValue; taint; manual | +| 770 | Summary: org.apache.commons.collections4.properties; AbstractPropertiesFactory; true; load; (URI); ; Argument[0]; ReturnValue; taint; manual | +| 771 | Summary: org.apache.commons.collections4.properties; AbstractPropertiesFactory; true; load; (URL); ; Argument[0]; ReturnValue; taint; manual | +| 772 | Summary: org.apache.commons.collections4.queue; CircularFifoQueue; true; CircularFifoQueue; (Collection); ; Argument[0].Element; Argument[this].Element; value; manual | +| 773 | Summary: org.apache.commons.collections4.queue; CircularFifoQueue; true; get; ; ; Argument[this].Element; ReturnValue; value; manual | +| 774 | Summary: org.apache.commons.collections4.queue; PredicatedQueue; true; predicatedQueue; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 775 | Summary: org.apache.commons.collections4.queue; SynchronizedQueue; true; synchronizedQueue; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 776 | Summary: org.apache.commons.collections4.queue; TransformedQueue; true; transformingQueue; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 777 | Summary: org.apache.commons.collections4.queue; UnmodifiableQueue; true; unmodifiableQueue; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 778 | Summary: org.apache.commons.collections4.set; AbstractNavigableSetDecorator; true; AbstractNavigableSetDecorator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 779 | Summary: org.apache.commons.collections4.set; AbstractSetDecorator; true; AbstractSetDecorator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 780 | Summary: org.apache.commons.collections4.set; AbstractSortedSetDecorator; true; AbstractSortedSetDecorator; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 781 | Summary: org.apache.commons.collections4.set; CompositeSet; true; CompositeSet; (Set); ; Argument[0].Element; Argument[this].Element; value; manual | +| 782 | Summary: org.apache.commons.collections4.set; CompositeSet; true; CompositeSet; (Set[]); ; Argument[0].ArrayElement.Element; Argument[this].Element; value; manual | +| 783 | Summary: org.apache.commons.collections4.set; CompositeSet; true; addComposited; (Set); ; Argument[0].Element; Argument[this].Element; value; manual | +| 784 | Summary: org.apache.commons.collections4.set; CompositeSet; true; addComposited; (Set,Set); ; Argument[0].Element; Argument[this].Element; value; manual | +| 785 | Summary: org.apache.commons.collections4.set; CompositeSet; true; addComposited; (Set,Set); ; Argument[1].Element; Argument[this].Element; value; manual | +| 786 | Summary: org.apache.commons.collections4.set; CompositeSet; true; addComposited; (Set[]); ; Argument[0].ArrayElement.Element; Argument[this].Element; value; manual | +| 787 | Summary: org.apache.commons.collections4.set; CompositeSet; true; getSets; ; ; Argument[this].Element; ReturnValue.Element.Element; value; manual | +| 788 | Summary: org.apache.commons.collections4.set; CompositeSet; true; toSet; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 789 | Summary: org.apache.commons.collections4.set; CompositeSet$SetMutator; true; add; ; ; Argument[2]; Argument[0].Element; value; manual | +| 790 | Summary: org.apache.commons.collections4.set; CompositeSet$SetMutator; true; add; ; ; Argument[2]; Argument[1].Element.Element; value; manual | +| 791 | Summary: org.apache.commons.collections4.set; CompositeSet$SetMutator; true; addAll; ; ; Argument[2].Element; Argument[0].Element; value; manual | +| 792 | Summary: org.apache.commons.collections4.set; CompositeSet$SetMutator; true; addAll; ; ; Argument[2].Element; Argument[1].Element.Element; value; manual | +| 793 | Summary: org.apache.commons.collections4.set; ListOrderedSet; true; add; ; ; Argument[1]; Argument[this].Element; value; manual | +| 794 | Summary: org.apache.commons.collections4.set; ListOrderedSet; true; addAll; ; ; Argument[1].Element; Argument[this].Element; value; manual | +| 795 | Summary: org.apache.commons.collections4.set; ListOrderedSet; true; asList; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 796 | Summary: org.apache.commons.collections4.set; ListOrderedSet; true; get; ; ; Argument[this].Element; ReturnValue; value; manual | +| 797 | Summary: org.apache.commons.collections4.set; ListOrderedSet; true; listOrderedSet; (List); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 798 | Summary: org.apache.commons.collections4.set; ListOrderedSet; true; listOrderedSet; (Set); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 799 | Summary: org.apache.commons.collections4.set; MapBackedSet; true; mapBackedSet; ; ; Argument[0].MapKey; ReturnValue.Element; value; manual | +| 800 | Summary: org.apache.commons.collections4.set; PredicatedNavigableSet; true; predicatedNavigableSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 801 | Summary: org.apache.commons.collections4.set; PredicatedSet; true; predicatedSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 802 | Summary: org.apache.commons.collections4.set; PredicatedSortedSet; true; predicatedSortedSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 803 | Summary: org.apache.commons.collections4.set; TransformedNavigableSet; true; transformingNavigableSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 804 | Summary: org.apache.commons.collections4.set; TransformedSet; true; transformingSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 805 | Summary: org.apache.commons.collections4.set; TransformedSortedSet; true; transformingSortedSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 806 | Summary: org.apache.commons.collections4.set; UnmodifiableNavigableSet; true; unmodifiableNavigableSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 807 | Summary: org.apache.commons.collections4.set; UnmodifiableSet; true; unmodifiableSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 808 | Summary: org.apache.commons.collections4.set; UnmodifiableSortedSet; true; unmodifiableSortedSet; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 809 | Summary: org.apache.commons.collections4.splitmap; AbstractIterableGetMapDecorator; true; AbstractIterableGetMapDecorator; ; ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 810 | Summary: org.apache.commons.collections4.splitmap; AbstractIterableGetMapDecorator; true; AbstractIterableGetMapDecorator; ; ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 811 | Summary: org.apache.commons.collections4.splitmap; TransformedSplitMap; true; transformingMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 812 | Summary: org.apache.commons.collections4.splitmap; TransformedSplitMap; true; transformingMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 813 | Summary: org.apache.commons.collections4.trie; AbstractPatriciaTrie; true; select; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 814 | Summary: org.apache.commons.collections4.trie; AbstractPatriciaTrie; true; select; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 815 | Summary: org.apache.commons.collections4.trie; AbstractPatriciaTrie; true; selectKey; ; ; Argument[this].MapKey; ReturnValue; value; manual | +| 816 | Summary: org.apache.commons.collections4.trie; AbstractPatriciaTrie; true; selectValue; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 817 | Summary: org.apache.commons.collections4.trie; PatriciaTrie; true; PatriciaTrie; ; ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 818 | Summary: org.apache.commons.collections4.trie; PatriciaTrie; true; PatriciaTrie; ; ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 819 | Summary: org.apache.commons.collections4.trie; UnmodifiableTrie; true; unmodifiableTrie; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 820 | Summary: org.apache.commons.collections4.trie; UnmodifiableTrie; true; unmodifiableTrie; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 821 | Summary: generatedtest; Test; false; newRBWithMapValue; ; ; Argument[0]; ReturnValue.MapValue; value; manual | +| 822 | Summary: generatedtest; Test; false; newRBWithMapKey; ; ; Argument[0]; ReturnValue.MapKey; value; manual | +edges +| Test.java:228:18:228:29 | map : AbstractMapDecorator [] : Object | Test.java:228:41:228:43 | map : AbstractMapDecorator [] : Object | provenance | | +| Test.java:228:18:228:29 | map : AbstractMapDecorator [] : String | Test.java:228:41:228:43 | map : AbstractMapDecorator [] : String | provenance | | +| Test.java:228:18:228:29 | map : BidiMap [] : Object | Test.java:228:41:228:43 | map : BidiMap [] : Object | provenance | | +| Test.java:228:18:228:29 | map : BidiMap [] : String | Test.java:228:41:228:43 | map : BidiMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : CaseInsensitiveMap [] : String | Test.java:228:41:228:43 | map : CaseInsensitiveMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : CompositeMap [] : String | Test.java:228:41:228:43 | map : CompositeMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : DefaultedMap [] : String | Test.java:228:41:228:43 | map : DefaultedMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : DualHashBidiMap [] : String | Test.java:228:41:228:43 | map : DualHashBidiMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : DualLinkedHashBidiMap [] : String | Test.java:228:41:228:43 | map : DualLinkedHashBidiMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : DualTreeBidiMap [] : String | Test.java:228:41:228:43 | map : DualTreeBidiMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : FixedSizeMap [] : String | Test.java:228:41:228:43 | map : FixedSizeMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : FixedSizeSortedMap [] : String | Test.java:228:41:228:43 | map : FixedSizeSortedMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : Flat3Map [] : String | Test.java:228:41:228:43 | map : Flat3Map [] : String | provenance | | +| Test.java:228:18:228:29 | map : HashedMap [] : String | Test.java:228:41:228:43 | map : HashedMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : IterableMap [] : String | Test.java:228:41:228:43 | map : IterableMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : IterableSortedMap [] : String | Test.java:228:41:228:43 | map : IterableSortedMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : LRUMap [] : String | Test.java:228:41:228:43 | map : LRUMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : LazyMap [] : String | Test.java:228:41:228:43 | map : LazyMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : LazySortedMap [] : String | Test.java:228:41:228:43 | map : LazySortedMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : LinkedMap [] : String | Test.java:228:41:228:43 | map : LinkedMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : ListOrderedMap [] : Object | Test.java:228:41:228:43 | map : ListOrderedMap [] : Object | provenance | | +| Test.java:228:18:228:29 | map : ListOrderedMap [] : String | Test.java:228:41:228:43 | map : ListOrderedMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : Map [] : Object | Test.java:228:41:228:43 | map : Map [] : Object | provenance | | +| Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:43 | map : Map [] : String | provenance | | +| Test.java:228:18:228:29 | map : MultiMap [] : Object | Test.java:228:41:228:43 | map : MultiMap [] : Object | provenance | | +| Test.java:228:18:228:29 | map : MultiValueMap [] : Object | Test.java:228:41:228:43 | map : MultiValueMap [] : Object | provenance | | +| Test.java:228:18:228:29 | map : MultiValueMap [] : String | Test.java:228:41:228:43 | map : MultiValueMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : MyAbstractBidiMapDecorator [] : String | Test.java:228:41:228:43 | map : MyAbstractBidiMapDecorator [] : String | provenance | | +| Test.java:228:18:228:29 | map : MyAbstractDualBidiMap [] : String | Test.java:228:41:228:43 | map : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : MyAbstractHashedMap [] : String | Test.java:228:41:228:43 | map : MyAbstractHashedMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : MyAbstractLinkedMap [] : String | Test.java:228:41:228:43 | map : MyAbstractLinkedMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : MyAbstractMapDecorator [] : String | Test.java:228:41:228:43 | map : MyAbstractMapDecorator [] : String | provenance | | +| Test.java:228:18:228:29 | map : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:228:41:228:43 | map : MyAbstractOrderedBidiMapDecorator [] : String | provenance | | +| Test.java:228:18:228:29 | map : MyAbstractOrderedMapDecorator [] : String | Test.java:228:41:228:43 | map : MyAbstractOrderedMapDecorator [] : String | provenance | | +| Test.java:228:18:228:29 | map : MyAbstractSortedBidiMapDecorator [] : String | Test.java:228:41:228:43 | map : MyAbstractSortedBidiMapDecorator [] : String | provenance | | +| Test.java:228:18:228:29 | map : MyAbstractSortedMapDecorator [] : String | Test.java:228:41:228:43 | map : MyAbstractSortedMapDecorator [] : String | provenance | | +| Test.java:228:18:228:29 | map : OrderedBidiMap [] : String | Test.java:228:41:228:43 | map : OrderedBidiMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : OrderedMap [] : String | Test.java:228:41:228:43 | map : OrderedMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : PassiveExpiringMap [] : String | Test.java:228:41:228:43 | map : PassiveExpiringMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : PatriciaTrie [] : String | Test.java:228:41:228:43 | map : PatriciaTrie [] : String | provenance | | +| Test.java:228:18:228:29 | map : PredicatedMap [] : String | Test.java:228:41:228:43 | map : PredicatedMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : PredicatedSortedMap [] : String | Test.java:228:41:228:43 | map : PredicatedSortedMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : Put [] : Object | Test.java:228:41:228:43 | map : Put [] : Object | provenance | | +| Test.java:228:18:228:29 | map : Put [] : String | Test.java:228:41:228:43 | map : Put [] : String | provenance | | +| Test.java:228:18:228:29 | map : SingletonMap [] : Object | Test.java:228:41:228:43 | map : SingletonMap [] : Object | provenance | | +| Test.java:228:18:228:29 | map : SingletonMap [] : String | Test.java:228:41:228:43 | map : SingletonMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : SortedBidiMap [] : String | Test.java:228:41:228:43 | map : SortedBidiMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : SortedMap [] : String | Test.java:228:41:228:43 | map : SortedMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : TransformedMap [] : String | Test.java:228:41:228:43 | map : TransformedMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : TransformedSortedMap [] : String | Test.java:228:41:228:43 | map : TransformedSortedMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : TreeBidiMap [] : String | Test.java:228:41:228:43 | map : TreeBidiMap [] : String | provenance | | +| Test.java:228:18:228:29 | map : Trie [] : String | Test.java:228:41:228:43 | map : Trie [] : String | provenance | | +| Test.java:228:41:228:43 | map : AbstractMapDecorator [] : Object | Test.java:228:41:228:52 | keySet(...) : Set [] : Object | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : AbstractMapDecorator [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : BidiMap [] : Object | Test.java:228:41:228:52 | keySet(...) : Set [] : Object | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : BidiMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : CaseInsensitiveMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : CompositeMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : DefaultedMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : DualHashBidiMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : DualLinkedHashBidiMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : DualTreeBidiMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : FixedSizeMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : FixedSizeSortedMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : Flat3Map [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : HashedMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : IterableMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : IterableSortedMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : LRUMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : LazyMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : LazySortedMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : LinkedMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : ListOrderedMap [] : Object | Test.java:228:41:228:52 | keySet(...) : Set [] : Object | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : ListOrderedMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : Map [] : Object | Test.java:228:41:228:52 | keySet(...) : Set [] : Object | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : Map [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : MultiMap [] : Object | Test.java:228:41:228:52 | keySet(...) : Set [] : Object | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : MultiValueMap [] : Object | Test.java:228:41:228:52 | keySet(...) : Set [] : Object | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : MultiValueMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : MyAbstractBidiMapDecorator [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : MyAbstractDualBidiMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : MyAbstractHashedMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : MyAbstractLinkedMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : MyAbstractMapDecorator [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : MyAbstractOrderedMapDecorator [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : MyAbstractSortedBidiMapDecorator [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : MyAbstractSortedMapDecorator [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : OrderedBidiMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : OrderedMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : PassiveExpiringMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : PatriciaTrie [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : PredicatedMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : PredicatedSortedMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : Put [] : Object | Test.java:228:41:228:52 | keySet(...) : Set [] : Object | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : Put [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : SingletonMap [] : Object | Test.java:228:41:228:52 | keySet(...) : Set [] : Object | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : SingletonMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : SortedBidiMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : SortedMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : TransformedMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : TransformedSortedMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : TreeBidiMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : Trie [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : Object | Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : Object | Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : Object | Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : Object | Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : Object | Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : Object | Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : Object | Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : Object | Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | Test.java:228:41:228:70 | next(...) : Object | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | Test.java:228:41:228:70 | next(...) : Object | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | Test.java:228:41:228:70 | next(...) : Object | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | Test.java:228:41:228:70 | next(...) : Object | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | Test.java:228:41:228:70 | next(...) : Object | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | Test.java:228:41:228:70 | next(...) : Object | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | Test.java:228:41:228:70 | next(...) : Object | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | Test.java:228:41:228:70 | next(...) : Object | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | Test.java:228:41:228:70 | next(...) : String | provenance | MaD:4 | +| Test.java:229:24:229:32 | array : Object[] [[]] : String | Test.java:229:44:229:48 | array : Object[] [[]] : String | provenance | | +| Test.java:229:24:229:32 | array : String[] [[]] : String | Test.java:229:44:229:48 | array : String[] [[]] : String | provenance | | +| Test.java:229:44:229:48 | array : Object[] [[]] : String | Test.java:229:44:229:51 | ...[...] : String | provenance | | +| Test.java:229:44:229:48 | array : String[] [[]] : String | Test.java:229:44:229:51 | ...[...] : String | provenance | | +| Test.java:230:19:230:32 | it : AbstractLinkedList [] : Object | Test.java:230:44:230:45 | it : AbstractLinkedList [] : Object | provenance | | +| Test.java:230:19:230:32 | it : ArrayStack [] : Object | Test.java:230:44:230:45 | it : ArrayStack [] : Object | provenance | | +| Test.java:230:19:230:32 | it : Bag [] : Object | Test.java:230:44:230:45 | it : Bag [] : Object | provenance | | +| Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:45 | it : Bag [] : String | provenance | | +| Test.java:230:19:230:32 | it : BoundedCollection [] : String | Test.java:230:44:230:45 | it : BoundedCollection [] : String | provenance | | +| Test.java:230:19:230:32 | it : CircularFifoQueue [] : String | Test.java:230:44:230:45 | it : CircularFifoQueue [] : String | provenance | | +| Test.java:230:19:230:32 | it : Collection | Test.java:230:44:230:45 | it : Collection | provenance | | +| Test.java:230:19:230:32 | it : Collection [, ] : String | Test.java:230:44:230:45 | it : Collection [, ] : String | provenance | | +| Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:45 | it : Collection [] : Object | provenance | | +| Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:45 | it : Collection [] : String | provenance | | +| Test.java:230:19:230:32 | it : CollectionBag [] : String | Test.java:230:44:230:45 | it : CollectionBag [] : String | provenance | | +| Test.java:230:19:230:32 | it : CollectionSortedBag [] : String | Test.java:230:44:230:45 | it : CollectionSortedBag [] : String | provenance | | +| Test.java:230:19:230:32 | it : CompositeCollection [] : Object | Test.java:230:44:230:45 | it : CompositeCollection [] : Object | provenance | | +| Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:45 | it : CompositeCollection [] : String | provenance | | +| Test.java:230:19:230:32 | it : CompositeSet [] : Object | Test.java:230:44:230:45 | it : CompositeSet [] : Object | provenance | | +| Test.java:230:19:230:32 | it : CompositeSet [] : String | Test.java:230:44:230:45 | it : CompositeSet [] : String | provenance | | +| Test.java:230:19:230:32 | it : CursorableLinkedList [] : String | Test.java:230:44:230:45 | it : CursorableLinkedList [] : String | provenance | | +| Test.java:230:19:230:32 | it : FixedSizeList [] : String | Test.java:230:44:230:45 | it : FixedSizeList [] : String | provenance | | +| Test.java:230:19:230:32 | it : FluentIterable [] : Object | Test.java:230:44:230:45 | it : FluentIterable [] : Object | provenance | | +| Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:45 | it : FluentIterable [] : String | provenance | | +| Test.java:230:19:230:32 | it : GrowthList [] : String | Test.java:230:44:230:45 | it : GrowthList [] : String | provenance | | +| Test.java:230:19:230:32 | it : HashBag [] : String | Test.java:230:44:230:45 | it : HashBag [] : String | provenance | | +| Test.java:230:19:230:32 | it : HashMultiSet [] : String | Test.java:230:44:230:45 | it : HashMultiSet [] : String | provenance | | +| Test.java:230:19:230:32 | it : HashSet [] : Object | Test.java:230:44:230:45 | it : HashSet [] : Object | provenance | | +| Test.java:230:19:230:32 | it : IndexedCollection [] : String | Test.java:230:44:230:45 | it : IndexedCollection [] : String | provenance | | +| Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:45 | it : Iterable [] : String | provenance | | +| Test.java:230:19:230:32 | it : IteratorIterable [] : String | Test.java:230:44:230:45 | it : IteratorIterable [] : String | provenance | | +| Test.java:230:19:230:32 | it : LazyList [] : String | Test.java:230:44:230:45 | it : LazyList [] : String | provenance | | +| Test.java:230:19:230:32 | it : List [, ] : String | Test.java:230:44:230:45 | it : List [, ] : String | provenance | | +| Test.java:230:19:230:32 | it : List [] : Object | Test.java:230:44:230:45 | it : List [] : Object | provenance | | +| Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:45 | it : List [] : String | provenance | | +| Test.java:230:19:230:32 | it : ListOrderedSet [] : Object | Test.java:230:44:230:45 | it : ListOrderedSet [] : Object | provenance | | +| Test.java:230:19:230:32 | it : ListOrderedSet [] : String | Test.java:230:44:230:45 | it : ListOrderedSet [] : String | provenance | | +| Test.java:230:19:230:32 | it : MapBackedSet [] : String | Test.java:230:44:230:45 | it : MapBackedSet [] : String | provenance | | +| Test.java:230:19:230:32 | it : MultiSet [] : Object | Test.java:230:44:230:45 | it : MultiSet [] : Object | provenance | | +| Test.java:230:19:230:32 | it : MultiSet [] : String | Test.java:230:44:230:45 | it : MultiSet [] : String | provenance | | +| Test.java:230:19:230:32 | it : MyAbstractBagDecorator [] : String | Test.java:230:44:230:45 | it : MyAbstractBagDecorator [] : String | provenance | | +| Test.java:230:19:230:32 | it : MyAbstractCollectionDecorator [] : String | Test.java:230:44:230:45 | it : MyAbstractCollectionDecorator [] : String | provenance | | +| Test.java:230:19:230:32 | it : MyAbstractLinkedList [] : String | Test.java:230:44:230:45 | it : MyAbstractLinkedList [] : String | provenance | | +| Test.java:230:19:230:32 | it : MyAbstractListDecorator [] : String | Test.java:230:44:230:45 | it : MyAbstractListDecorator [] : String | provenance | | +| Test.java:230:19:230:32 | it : MyAbstractMapBag [] : String | Test.java:230:44:230:45 | it : MyAbstractMapBag [] : String | provenance | | +| Test.java:230:19:230:32 | it : MyAbstractNavigableSetDecorator [] : String | Test.java:230:44:230:45 | it : MyAbstractNavigableSetDecorator [] : String | provenance | | +| Test.java:230:19:230:32 | it : MyAbstractSerializableListDecorator [] : String | Test.java:230:44:230:45 | it : MyAbstractSerializableListDecorator [] : String | provenance | | +| Test.java:230:19:230:32 | it : MyAbstractSetDecorator [] : String | Test.java:230:44:230:45 | it : MyAbstractSetDecorator [] : String | provenance | | +| Test.java:230:19:230:32 | it : MyAbstractSortedBagDecorator [] : String | Test.java:230:44:230:45 | it : MyAbstractSortedBagDecorator [] : String | provenance | | +| Test.java:230:19:230:32 | it : MyAbstractSortedSetDecorator [] : String | Test.java:230:44:230:45 | it : MyAbstractSortedSetDecorator [] : String | provenance | | +| Test.java:230:19:230:32 | it : NavigableSet [] : String | Test.java:230:44:230:45 | it : NavigableSet [] : String | provenance | | +| Test.java:230:19:230:32 | it : NodeCachingLinkedList [] : String | Test.java:230:44:230:45 | it : NodeCachingLinkedList [] : String | provenance | | +| Test.java:230:19:230:32 | it : PredicatedBag [] : String | Test.java:230:44:230:45 | it : PredicatedBag [] : String | provenance | | +| Test.java:230:19:230:32 | it : PredicatedCollection [] : String | Test.java:230:44:230:45 | it : PredicatedCollection [] : String | provenance | | +| Test.java:230:19:230:32 | it : PredicatedList [] : String | Test.java:230:44:230:45 | it : PredicatedList [] : String | provenance | | +| Test.java:230:19:230:32 | it : PredicatedMultiSet [] : String | Test.java:230:44:230:45 | it : PredicatedMultiSet [] : String | provenance | | +| Test.java:230:19:230:32 | it : PredicatedNavigableSet [] : String | Test.java:230:44:230:45 | it : PredicatedNavigableSet [] : String | provenance | | +| Test.java:230:19:230:32 | it : PredicatedQueue [] : String | Test.java:230:44:230:45 | it : PredicatedQueue [] : String | provenance | | +| Test.java:230:19:230:32 | it : PredicatedSet [] : String | Test.java:230:44:230:45 | it : PredicatedSet [] : String | provenance | | +| Test.java:230:19:230:32 | it : PredicatedSortedBag [] : String | Test.java:230:44:230:45 | it : PredicatedSortedBag [] : String | provenance | | +| Test.java:230:19:230:32 | it : PredicatedSortedSet [] : String | Test.java:230:44:230:45 | it : PredicatedSortedSet [] : String | provenance | | +| Test.java:230:19:230:32 | it : Queue [] : String | Test.java:230:44:230:45 | it : Queue [] : String | provenance | | +| Test.java:230:19:230:32 | it : Set [] : Object | Test.java:230:44:230:45 | it : Set [] : Object | provenance | | +| Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:45 | it : Set [] : String | provenance | | +| Test.java:230:19:230:32 | it : SetUniqueList [] : String | Test.java:230:44:230:45 | it : SetUniqueList [] : String | provenance | | +| Test.java:230:19:230:32 | it : SetView [] : String | Test.java:230:44:230:45 | it : SetView [] : String | provenance | | +| Test.java:230:19:230:32 | it : SortedBag [] : String | Test.java:230:44:230:45 | it : SortedBag [] : String | provenance | | +| Test.java:230:19:230:32 | it : SortedSet [] : String | Test.java:230:44:230:45 | it : SortedSet [] : String | provenance | | +| Test.java:230:19:230:32 | it : SynchronizedBag [] : String | Test.java:230:44:230:45 | it : SynchronizedBag [] : String | provenance | | +| Test.java:230:19:230:32 | it : SynchronizedCollection [] : String | Test.java:230:44:230:45 | it : SynchronizedCollection [] : String | provenance | | +| Test.java:230:19:230:32 | it : SynchronizedMultiSet [] : String | Test.java:230:44:230:45 | it : SynchronizedMultiSet [] : String | provenance | | +| Test.java:230:19:230:32 | it : SynchronizedQueue [] : String | Test.java:230:44:230:45 | it : SynchronizedQueue [] : String | provenance | | +| Test.java:230:19:230:32 | it : SynchronizedSortedBag [] : String | Test.java:230:44:230:45 | it : SynchronizedSortedBag [] : String | provenance | | +| Test.java:230:19:230:32 | it : TransformedCollection [] : String | Test.java:230:44:230:45 | it : TransformedCollection [] : String | provenance | | +| Test.java:230:19:230:32 | it : TransformedList [] : String | Test.java:230:44:230:45 | it : TransformedList [] : String | provenance | | +| Test.java:230:19:230:32 | it : TransformedNavigableSet [] : String | Test.java:230:44:230:45 | it : TransformedNavigableSet [] : String | provenance | | +| Test.java:230:19:230:32 | it : TransformedQueue [] : String | Test.java:230:44:230:45 | it : TransformedQueue [] : String | provenance | | +| Test.java:230:19:230:32 | it : TransformedSet [] : String | Test.java:230:44:230:45 | it : TransformedSet [] : String | provenance | | +| Test.java:230:19:230:32 | it : TransformedSortedBag [] : String | Test.java:230:44:230:45 | it : TransformedSortedBag [] : String | provenance | | +| Test.java:230:19:230:32 | it : TransformedSortedSet [] : String | Test.java:230:44:230:45 | it : TransformedSortedSet [] : String | provenance | | +| Test.java:230:19:230:32 | it : TreeBag [] : String | Test.java:230:44:230:45 | it : TreeBag [] : String | provenance | | +| Test.java:230:19:230:32 | it : TreeList [] : String | Test.java:230:44:230:45 | it : TreeList [] : String | provenance | | +| Test.java:230:19:230:32 | it : UnmodifiableList [] : String | Test.java:230:44:230:45 | it : UnmodifiableList [] : String | provenance | | +| Test.java:230:44:230:45 | it : AbstractLinkedList [] : Object | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : ArrayStack [] : Object | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : Bag [] : Object | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : Bag [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : BoundedCollection [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : CircularFifoQueue [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : Collection | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : Collection [, ] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : Collection [] : Object | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : Collection [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : CollectionBag [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : CollectionSortedBag [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : CompositeCollection [] : Object | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : CompositeCollection [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : CompositeSet [] : Object | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : CompositeSet [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : CursorableLinkedList [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : FixedSizeList [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : FluentIterable [] : Object | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : FluentIterable [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : GrowthList [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : HashBag [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : HashMultiSet [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : HashSet [] : Object | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : IndexedCollection [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : Iterable [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : IteratorIterable [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : LazyList [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : List [, ] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : List [] : Object | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : List [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : ListOrderedSet [] : Object | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : ListOrderedSet [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : MapBackedSet [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : MultiSet [] : Object | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : MultiSet [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : MyAbstractBagDecorator [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : MyAbstractCollectionDecorator [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : MyAbstractLinkedList [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : MyAbstractListDecorator [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : MyAbstractMapBag [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : MyAbstractNavigableSetDecorator [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : MyAbstractSerializableListDecorator [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : MyAbstractSetDecorator [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : MyAbstractSortedBagDecorator [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : MyAbstractSortedSetDecorator [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : NavigableSet [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : NodeCachingLinkedList [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : PredicatedBag [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : PredicatedCollection [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : PredicatedList [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : PredicatedMultiSet [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : PredicatedNavigableSet [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : PredicatedQueue [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : PredicatedSet [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : PredicatedSortedBag [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : PredicatedSortedSet [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : Queue [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : Set [] : Object | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : Set [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : SetUniqueList [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : SetView [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : SortedBag [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : SortedSet [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : SynchronizedBag [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : SynchronizedCollection [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : SynchronizedMultiSet [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : SynchronizedQueue [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : SynchronizedSortedBag [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : TransformedCollection [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : TransformedList [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : TransformedNavigableSet [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : TransformedQueue [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : TransformedSet [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : TransformedSortedBag [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : TransformedSortedSet [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : TreeBag [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : TreeList [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : UnmodifiableList [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | Test.java:230:44:230:63 | next(...) : Object | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | Test.java:230:44:230:63 | next(...) : Object | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | Test.java:230:44:230:63 | next(...) : Object | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | Test.java:230:44:230:63 | next(...) : Object | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | Test.java:230:44:230:63 | next(...) : Object | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | Test.java:230:44:230:63 | next(...) : Object | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | Test.java:230:44:230:63 | next(...) : Object | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | Test.java:230:44:230:63 | next(...) : Object | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | Test.java:230:44:230:63 | next(...) : Object | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | Test.java:230:44:230:63 | next(...) : Object | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | Test.java:230:44:230:63 | next(...) : Object | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | Test.java:230:44:230:63 | next(...) : Object | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | Test.java:230:44:230:63 | next(...) : Object | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | Test.java:230:44:230:63 | next(...) : String | provenance | MaD:4 | +| Test.java:231:19:231:32 | it : ArrayIterator [] : String | Test.java:231:44:231:45 | it : ArrayIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : ArrayListIterator [] : String | Test.java:231:44:231:45 | it : ArrayListIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : BoundedIterator [] : String | Test.java:231:44:231:45 | it : BoundedIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : CollatingIterator [] : String | Test.java:231:44:231:45 | it : CollatingIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : Cursor [] : String | Test.java:231:44:231:45 | it : Cursor [] : String | provenance | | +| Test.java:231:19:231:32 | it : EntrySetToMapIteratorAdapter [] : String | Test.java:231:44:231:45 | it : EntrySetToMapIteratorAdapter [] : String | provenance | | +| Test.java:231:19:231:32 | it : EnumerationIterator [] : String | Test.java:231:44:231:45 | it : EnumerationIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : FilterIterator [] : String | Test.java:231:44:231:45 | it : FilterIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : FilterListIterator [] : String | Test.java:231:44:231:45 | it : FilterListIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : Iterator [] : Object | Test.java:231:44:231:45 | it : Iterator [] : Object | provenance | | +| Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:45 | it : Iterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : IteratorChain [] : String | Test.java:231:44:231:45 | it : IteratorChain [] : String | provenance | | +| Test.java:231:19:231:32 | it : ListIterator [] : Object | Test.java:231:44:231:45 | it : ListIterator [] : Object | provenance | | +| Test.java:231:19:231:32 | it : ListIterator [] : String | Test.java:231:44:231:45 | it : ListIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : ListIteratorWrapper [] : String | Test.java:231:44:231:45 | it : ListIteratorWrapper [] : String | provenance | | +| Test.java:231:19:231:32 | it : LoopingIterator [] : String | Test.java:231:44:231:45 | it : LoopingIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : LoopingListIterator [] : String | Test.java:231:44:231:45 | it : LoopingListIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : MapIterator [] : String | Test.java:231:44:231:45 | it : MapIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : MyAbstractIteratorDecorator [] : String | Test.java:231:44:231:45 | it : MyAbstractIteratorDecorator [] : String | provenance | | +| Test.java:231:19:231:32 | it : MyAbstractListIteratorDecorator [] : String | Test.java:231:44:231:45 | it : MyAbstractListIteratorDecorator [] : String | provenance | | +| Test.java:231:19:231:32 | it : MyAbstractMapIteratorDecorator [] : String | Test.java:231:44:231:45 | it : MyAbstractMapIteratorDecorator [] : String | provenance | | +| Test.java:231:19:231:32 | it : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:231:44:231:45 | it : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | | +| Test.java:231:19:231:32 | it : MyAbstractUntypedIteratorDecorator [] : String | Test.java:231:44:231:45 | it : MyAbstractUntypedIteratorDecorator [] : String | provenance | | +| Test.java:231:19:231:32 | it : ObjectArrayIterator [] : String | Test.java:231:44:231:45 | it : ObjectArrayIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : ObjectArrayListIterator [] : String | Test.java:231:44:231:45 | it : ObjectArrayListIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : OrderedMapIterator [] : String | Test.java:231:44:231:45 | it : OrderedMapIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : PeekingIterator [] : String | Test.java:231:44:231:45 | it : PeekingIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : PushbackIterator [] : Object | Test.java:231:44:231:45 | it : PushbackIterator [] : Object | provenance | | +| Test.java:231:19:231:32 | it : PushbackIterator [] : String | Test.java:231:44:231:45 | it : PushbackIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : ResettableIterator [] : Object | Test.java:231:44:231:45 | it : ResettableIterator [] : Object | provenance | | +| Test.java:231:19:231:32 | it : ResettableIterator [] : String | Test.java:231:44:231:45 | it : ResettableIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : ResettableListIterator [] : Object | Test.java:231:44:231:45 | it : ResettableListIterator [] : Object | provenance | | +| Test.java:231:19:231:32 | it : ResettableListIterator [] : String | Test.java:231:44:231:45 | it : ResettableListIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : ReverseListIterator [] : String | Test.java:231:44:231:45 | it : ReverseListIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : SingletonIterator [] : Object | Test.java:231:44:231:45 | it : SingletonIterator [] : Object | provenance | | +| Test.java:231:19:231:32 | it : SingletonListIterator [] : Object | Test.java:231:44:231:45 | it : SingletonListIterator [] : Object | provenance | | +| Test.java:231:19:231:32 | it : SkippingIterator [] : String | Test.java:231:44:231:45 | it : SkippingIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : UniqueFilterIterator [] : String | Test.java:231:44:231:45 | it : UniqueFilterIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : ZippingIterator [] : String | Test.java:231:44:231:45 | it : ZippingIterator [] : String | provenance | | +| Test.java:231:44:231:45 | it : ArrayIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : ArrayListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : BoundedIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : CollatingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : Cursor [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : EntrySetToMapIteratorAdapter [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : EnumerationIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : FilterIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : FilterListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : Iterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : IteratorChain [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : ListIterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : ListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : ListIteratorWrapper [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : LoopingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : LoopingListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : MapIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : MyAbstractIteratorDecorator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : MyAbstractListIteratorDecorator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : MyAbstractMapIteratorDecorator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : MyAbstractUntypedIteratorDecorator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : ObjectArrayIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : ObjectArrayListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : OrderedMapIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : PeekingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : PushbackIterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : PushbackIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : ResettableIterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : ResettableIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : ResettableListIterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : ResettableListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : ReverseListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : SingletonIterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : SingletonListIterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : SkippingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : UniqueFilterIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : ZippingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:232:20:232:31 | map : AbstractMapDecorator [] : Object | Test.java:232:43:232:45 | map : AbstractMapDecorator [] : Object | provenance | | +| Test.java:232:20:232:31 | map : AbstractMapDecorator [] : String | Test.java:232:43:232:45 | map : AbstractMapDecorator [] : String | provenance | | +| Test.java:232:20:232:31 | map : BidiMap [] : Object | Test.java:232:43:232:45 | map : BidiMap [] : Object | provenance | | +| Test.java:232:20:232:31 | map : BidiMap [] : String | Test.java:232:43:232:45 | map : BidiMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : CaseInsensitiveMap [] : String | Test.java:232:43:232:45 | map : CaseInsensitiveMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : CompositeMap [] : String | Test.java:232:43:232:45 | map : CompositeMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : DefaultedMap [] : Object | Test.java:232:43:232:45 | map : DefaultedMap [] : Object | provenance | | +| Test.java:232:20:232:31 | map : DefaultedMap [] : String | Test.java:232:43:232:45 | map : DefaultedMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : DualHashBidiMap [] : String | Test.java:232:43:232:45 | map : DualHashBidiMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : DualLinkedHashBidiMap [] : String | Test.java:232:43:232:45 | map : DualLinkedHashBidiMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : DualTreeBidiMap [] : String | Test.java:232:43:232:45 | map : DualTreeBidiMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : FixedSizeMap [] : String | Test.java:232:43:232:45 | map : FixedSizeMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : FixedSizeSortedMap [] : String | Test.java:232:43:232:45 | map : FixedSizeSortedMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : Flat3Map [] : String | Test.java:232:43:232:45 | map : Flat3Map [] : String | provenance | | +| Test.java:232:20:232:31 | map : HashedMap [] : String | Test.java:232:43:232:45 | map : HashedMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : IterableMap [] : String | Test.java:232:43:232:45 | map : IterableMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : IterableSortedMap [] : String | Test.java:232:43:232:45 | map : IterableSortedMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : LRUMap [] : String | Test.java:232:43:232:45 | map : LRUMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : LazyMap [] : String | Test.java:232:43:232:45 | map : LazyMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : LazySortedMap [] : String | Test.java:232:43:232:45 | map : LazySortedMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : LinkedMap [] : String | Test.java:232:43:232:45 | map : LinkedMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : ListOrderedMap [] : Object | Test.java:232:43:232:45 | map : ListOrderedMap [] : Object | provenance | | +| Test.java:232:20:232:31 | map : ListOrderedMap [] : String | Test.java:232:43:232:45 | map : ListOrderedMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : Map [, ] : String | Test.java:232:43:232:45 | map : Map [, ] : String | provenance | | +| Test.java:232:20:232:31 | map : Map [] : Object | Test.java:232:43:232:45 | map : Map [] : Object | provenance | | +| Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:45 | map : Map [] : String | provenance | | +| Test.java:232:20:232:31 | map : MultiKeyMap [] : String | Test.java:232:43:232:45 | map : MultiKeyMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : MultiMap [, ] : Object | Test.java:232:43:232:45 | map : MultiMap [, ] : Object | provenance | | +| Test.java:232:20:232:31 | map : MultiMap [, ] : String | Test.java:232:43:232:45 | map : MultiMap [, ] : String | provenance | | +| Test.java:232:20:232:31 | map : MultiMap [] : Object | Test.java:232:43:232:45 | map : MultiMap [] : Object | provenance | | +| Test.java:232:20:232:31 | map : MultiValueMap [, ] : Object | Test.java:232:43:232:45 | map : MultiValueMap [, ] : Object | provenance | | +| Test.java:232:20:232:31 | map : MultiValueMap [, ] : String | Test.java:232:43:232:45 | map : MultiValueMap [, ] : String | provenance | | +| Test.java:232:20:232:31 | map : MultiValueMap [] : Object | Test.java:232:43:232:45 | map : MultiValueMap [] : Object | provenance | | +| Test.java:232:20:232:31 | map : MultiValueMap [] : String | Test.java:232:43:232:45 | map : MultiValueMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : MyAbstractBidiMapDecorator [] : String | Test.java:232:43:232:45 | map : MyAbstractBidiMapDecorator [] : String | provenance | | +| Test.java:232:20:232:31 | map : MyAbstractDualBidiMap [] : String | Test.java:232:43:232:45 | map : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : MyAbstractHashedMap [] : String | Test.java:232:43:232:45 | map : MyAbstractHashedMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : MyAbstractLinkedMap [] : String | Test.java:232:43:232:45 | map : MyAbstractLinkedMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : MyAbstractMapDecorator [] : String | Test.java:232:43:232:45 | map : MyAbstractMapDecorator [] : String | provenance | | +| Test.java:232:20:232:31 | map : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:232:43:232:45 | map : MyAbstractOrderedBidiMapDecorator [] : String | provenance | | +| Test.java:232:20:232:31 | map : MyAbstractOrderedMapDecorator [] : String | Test.java:232:43:232:45 | map : MyAbstractOrderedMapDecorator [] : String | provenance | | +| Test.java:232:20:232:31 | map : MyAbstractSortedBidiMapDecorator [] : String | Test.java:232:43:232:45 | map : MyAbstractSortedBidiMapDecorator [] : String | provenance | | +| Test.java:232:20:232:31 | map : MyAbstractSortedMapDecorator [] : String | Test.java:232:43:232:45 | map : MyAbstractSortedMapDecorator [] : String | provenance | | +| Test.java:232:20:232:31 | map : OrderedBidiMap [] : String | Test.java:232:43:232:45 | map : OrderedBidiMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : OrderedMap [] : String | Test.java:232:43:232:45 | map : OrderedMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : PassiveExpiringMap [] : String | Test.java:232:43:232:45 | map : PassiveExpiringMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : PatriciaTrie [] : String | Test.java:232:43:232:45 | map : PatriciaTrie [] : String | provenance | | +| Test.java:232:20:232:31 | map : PredicatedMap [] : String | Test.java:232:43:232:45 | map : PredicatedMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : PredicatedSortedMap [] : String | Test.java:232:43:232:45 | map : PredicatedSortedMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : Put [] : Object | Test.java:232:43:232:45 | map : Put [] : Object | provenance | | +| Test.java:232:20:232:31 | map : Put [] : String | Test.java:232:43:232:45 | map : Put [] : String | provenance | | +| Test.java:232:20:232:31 | map : SingletonMap [] : Object | Test.java:232:43:232:45 | map : SingletonMap [] : Object | provenance | | +| Test.java:232:20:232:31 | map : SingletonMap [] : String | Test.java:232:43:232:45 | map : SingletonMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : SortedBidiMap [] : String | Test.java:232:43:232:45 | map : SortedBidiMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : SortedMap [] : String | Test.java:232:43:232:45 | map : SortedMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : TransformedMap [] : String | Test.java:232:43:232:45 | map : TransformedMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : TransformedSortedMap [] : String | Test.java:232:43:232:45 | map : TransformedSortedMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : TreeBidiMap [] : String | Test.java:232:43:232:45 | map : TreeBidiMap [] : String | provenance | | +| Test.java:232:20:232:31 | map : Trie [] : String | Test.java:232:43:232:45 | map : Trie [] : String | provenance | | +| Test.java:232:43:232:45 | map : AbstractMapDecorator [] : Object | Test.java:232:43:232:55 | get(...) : Object | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : AbstractMapDecorator [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : BidiMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : BidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : CaseInsensitiveMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : CompositeMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : DefaultedMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : DefaultedMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : DualHashBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : DualLinkedHashBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : DualTreeBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : FixedSizeMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : FixedSizeSortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : Flat3Map [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : HashedMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : IterableMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : IterableSortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : LRUMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : LazyMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : LazySortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : LinkedMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : ListOrderedMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : ListOrderedMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : Map [, ] : String | Test.java:232:43:232:55 | get(...) : Object [] : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : Map [] : Object | Test.java:232:43:232:55 | get(...) : Object | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : MultiKeyMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : MultiMap [, ] : Object | Test.java:232:43:232:55 | get(...) : Object [] : Object | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : MultiMap [, ] : String | Test.java:232:43:232:55 | get(...) : Object [] : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : MultiMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : MultiValueMap [, ] : Object | Test.java:232:43:232:55 | get(...) : Object [] : Object | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : MultiValueMap [, ] : String | Test.java:232:43:232:55 | get(...) : Object [] : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : MultiValueMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : MultiValueMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : MyAbstractBidiMapDecorator [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : MyAbstractDualBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : MyAbstractHashedMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : MyAbstractLinkedMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : MyAbstractMapDecorator [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : MyAbstractOrderedMapDecorator [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : MyAbstractSortedBidiMapDecorator [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : MyAbstractSortedMapDecorator [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : OrderedBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : OrderedMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : PassiveExpiringMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : PatriciaTrie [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : PredicatedMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : PredicatedSortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : Put [] : Object | Test.java:232:43:232:55 | get(...) : Object | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : Put [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : SingletonMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : SingletonMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : SortedBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : SortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : TransformedMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : TransformedSortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : TreeBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:232:43:232:45 | map : Trie [] : String | Test.java:232:43:232:55 | get(...) : String | provenance | MaD:9 | +| Test.java:234:19:234:42 | container : Enumeration [] : String | Test.java:234:54:234:62 | container : Enumeration [] : String | provenance | | +| Test.java:234:19:234:42 | container : IteratorEnumeration [] : String | Test.java:234:54:234:62 | container : IteratorEnumeration [] : String | provenance | | +| Test.java:234:54:234:62 | container : Enumeration [] : String | Test.java:234:54:234:76 | nextElement(...) : String | provenance | MaD:3 | +| Test.java:234:54:234:62 | container : IteratorEnumeration [] : String | Test.java:234:54:234:76 | nextElement(...) : String | provenance | MaD:3 | +| Test.java:235:19:235:45 | container : Entry [] : String | Test.java:235:57:235:65 | container : Entry [] : String | provenance | | +| Test.java:235:57:235:65 | container : Entry [] : String | Test.java:235:57:235:78 | getElement(...) : String | provenance | MaD:676 | +| Test.java:236:19:236:39 | container : MultiKey [] : Object | Test.java:236:51:236:59 | container : MultiKey [] : Object | provenance | | +| Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:59 | container : MultiKey [] : String | provenance | | +| Test.java:236:51:236:59 | container : MultiKey [] : Object | Test.java:236:51:236:69 | getKey(...) : Object | provenance | MaD:231 | +| Test.java:236:51:236:59 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | provenance | MaD:231 | +| Test.java:237:18:237:48 | container : DefaultKeyValue [] : Object | Test.java:237:60:237:68 | container : DefaultKeyValue [] : Object | provenance | | +| Test.java:237:18:237:48 | container : DefaultKeyValue [] : String | Test.java:237:60:237:68 | container : DefaultKeyValue [] : String | provenance | | +| Test.java:237:18:237:48 | container : DefaultMapEntry [] : Object | Test.java:237:60:237:68 | container : DefaultMapEntry [] : Object | provenance | | +| Test.java:237:18:237:48 | container : DefaultMapEntry [] : String | Test.java:237:60:237:68 | container : DefaultMapEntry [] : String | provenance | | +| Test.java:237:18:237:48 | container : MyAbstractKeyValue [] : Object | Test.java:237:60:237:68 | container : MyAbstractKeyValue [] : Object | provenance | | +| Test.java:237:18:237:48 | container : MyAbstractMapEntry [] : Object | Test.java:237:60:237:68 | container : MyAbstractMapEntry [] : Object | provenance | | +| Test.java:237:18:237:48 | container : UnmodifiableMapEntry [] : Object | Test.java:237:60:237:68 | container : UnmodifiableMapEntry [] : Object | provenance | | +| Test.java:237:18:237:48 | container : UnmodifiableMapEntry [] : String | Test.java:237:60:237:68 | container : UnmodifiableMapEntry [] : String | provenance | | +| Test.java:237:60:237:68 | container : DefaultKeyValue [] : Object | Test.java:237:60:237:77 | getKey(...) : Object | provenance | MaD:568 | +| Test.java:237:60:237:68 | container : DefaultKeyValue [] : String | Test.java:237:60:237:77 | getKey(...) : String | provenance | MaD:568 | +| Test.java:237:60:237:68 | container : DefaultMapEntry [] : Object | Test.java:237:60:237:77 | getKey(...) : Object | provenance | MaD:568 | +| Test.java:237:60:237:68 | container : DefaultMapEntry [] : String | Test.java:237:60:237:77 | getKey(...) : String | provenance | MaD:568 | +| Test.java:237:60:237:68 | container : MyAbstractKeyValue [] : Object | Test.java:237:60:237:77 | getKey(...) : Object | provenance | MaD:568 | +| Test.java:237:60:237:68 | container : MyAbstractMapEntry [] : Object | Test.java:237:60:237:77 | getKey(...) : Object | provenance | MaD:568 | +| Test.java:237:60:237:68 | container : UnmodifiableMapEntry [] : Object | Test.java:237:60:237:77 | getKey(...) : Object | provenance | MaD:568 | +| Test.java:237:60:237:68 | container : UnmodifiableMapEntry [] : String | Test.java:237:60:237:77 | getKey(...) : String | provenance | MaD:568 | +| Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:70 | container : Entry [] : String | provenance | | +| Test.java:238:27:238:50 | container : TiedMapEntry [] : Object | Test.java:238:62:238:70 | container : TiedMapEntry [] : Object | provenance | | +| Test.java:238:62:238:70 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | provenance | MaD:20 | +| Test.java:238:62:238:70 | container : TiedMapEntry [] : Object | Test.java:238:62:238:79 | getKey(...) : Object | provenance | MaD:20 | +| Test.java:239:18:239:57 | container : MyAbstractMapEntryDecorator [] : String | Test.java:239:69:239:77 | container : MyAbstractMapEntryDecorator [] : String | provenance | | +| Test.java:239:69:239:77 | container : MyAbstractMapEntryDecorator [] : String | Test.java:239:69:239:86 | getKey(...) : String | provenance | MaD:20 | +| Test.java:239:69:239:77 | container : MyAbstractMapEntryDecorator [] : String | Test.java:239:69:239:86 | getKey(...) : String | provenance | MaD:20 | +| Test.java:239:69:239:77 | container : MyAbstractMapEntryDecorator [] : String | Test.java:239:69:239:86 | getKey(...) : String | provenance | MaD:568 | +| Test.java:239:69:239:77 | container : MyAbstractMapEntryDecorator [] : String | Test.java:239:69:239:86 | getKey(...) : String | provenance | MaD:568 | +| Test.java:240:18:240:46 | container : ArrayListValuedHashMap [] : String | Test.java:240:58:240:66 | container : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:240:18:240:46 | container : HashSetValuedHashMap [] : String | Test.java:240:58:240:66 | container : HashSetValuedHashMap [] : String | provenance | | +| Test.java:240:18:240:46 | container : MultiValuedMap [] : Object | Test.java:240:58:240:66 | container : MultiValuedMap [] : Object | provenance | | +| Test.java:240:18:240:46 | container : MultiValuedMap [] : String | Test.java:240:58:240:66 | container : MultiValuedMap [] : String | provenance | | +| Test.java:240:18:240:46 | container : TransformedMultiValuedMap [] : String | Test.java:240:58:240:66 | container : TransformedMultiValuedMap [] : String | provenance | | +| Test.java:240:18:240:46 | container : UnmodifiableMultiValuedMap [] : String | Test.java:240:58:240:66 | container : UnmodifiableMultiValuedMap [] : String | provenance | | +| Test.java:240:58:240:66 | container : ArrayListValuedHashMap [] : String | Test.java:240:58:240:75 | keySet(...) : Set [] : String | provenance | MaD:685 | +| Test.java:240:58:240:66 | container : HashSetValuedHashMap [] : String | Test.java:240:58:240:75 | keySet(...) : Set [] : String | provenance | MaD:685 | +| Test.java:240:58:240:66 | container : MultiValuedMap [] : Object | Test.java:240:58:240:75 | keySet(...) : Set [] : Object | provenance | MaD:685 | +| Test.java:240:58:240:66 | container : MultiValuedMap [] : String | Test.java:240:58:240:75 | keySet(...) : Set [] : String | provenance | MaD:685 | +| Test.java:240:58:240:66 | container : TransformedMultiValuedMap [] : String | Test.java:240:58:240:75 | keySet(...) : Set [] : String | provenance | MaD:685 | +| Test.java:240:58:240:66 | container : UnmodifiableMultiValuedMap [] : String | Test.java:240:58:240:75 | keySet(...) : Set [] : String | provenance | MaD:685 | +| Test.java:240:58:240:75 | keySet(...) : Set [] : Object | Test.java:240:58:240:86 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:240:58:240:75 | keySet(...) : Set [] : String | Test.java:240:58:240:86 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:240:58:240:75 | keySet(...) : Set [] : String | Test.java:240:58:240:86 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:240:58:240:75 | keySet(...) : Set [] : String | Test.java:240:58:240:86 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:240:58:240:75 | keySet(...) : Set [] : String | Test.java:240:58:240:86 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:240:58:240:75 | keySet(...) : Set [] : String | Test.java:240:58:240:86 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:240:58:240:86 | iterator(...) : Iterator [] : Object | Test.java:240:58:240:93 | next(...) : Object | provenance | MaD:4 | +| Test.java:240:58:240:86 | iterator(...) : Iterator [] : String | Test.java:240:58:240:93 | next(...) : String | provenance | MaD:4 | +| Test.java:240:58:240:86 | iterator(...) : Iterator [] : String | Test.java:240:58:240:93 | next(...) : String | provenance | MaD:4 | +| Test.java:240:58:240:86 | iterator(...) : Iterator [] : String | Test.java:240:58:240:93 | next(...) : String | provenance | MaD:4 | +| Test.java:240:58:240:86 | iterator(...) : Iterator [] : String | Test.java:240:58:240:93 | next(...) : String | provenance | MaD:4 | +| Test.java:240:58:240:86 | iterator(...) : Iterator [] : String | Test.java:240:58:240:93 | next(...) : String | provenance | MaD:4 | +| Test.java:241:25:241:42 | container : AbstractIterableGetMapDecorator [] : String | Test.java:241:54:241:62 | container : AbstractIterableGetMapDecorator [] : String | provenance | | +| Test.java:241:25:241:42 | container : TransformedSplitMap [] : String | Test.java:241:54:241:62 | container : TransformedSplitMap [] : String | provenance | | +| Test.java:241:54:241:62 | container : AbstractIterableGetMapDecorator [] : String | Test.java:241:54:241:71 | keySet(...) : Set [] : String | provenance | MaD:484 | +| Test.java:241:54:241:62 | container : TransformedSplitMap [] : String | Test.java:241:54:241:71 | keySet(...) : Set [] : String | provenance | MaD:484 | +| Test.java:241:54:241:71 | keySet(...) : Set [] : String | Test.java:241:54:241:82 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:241:54:241:71 | keySet(...) : Set [] : String | Test.java:241:54:241:82 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:241:54:241:82 | iterator(...) : Iterator [] : String | Test.java:241:54:241:89 | next(...) : String | provenance | MaD:4 | +| Test.java:241:54:241:82 | iterator(...) : Iterator [] : String | Test.java:241:54:241:89 | next(...) : String | provenance | MaD:4 | +| Test.java:242:27:242:44 | container : Put [] : Object | Test.java:242:66:242:84 | (...)... : Put [] : Object | provenance | | +| Test.java:242:27:242:44 | container : Put [] : String | Test.java:242:66:242:84 | (...)... : Put [] : String | provenance | | +| Test.java:242:66:242:84 | (...)... : Put [] : Object | Test.java:228:18:228:29 | map : Put [] : Object | provenance | | +| Test.java:242:66:242:84 | (...)... : Put [] : Object | Test.java:242:56:242:85 | getMapKey(...) : Object | provenance | MaD:10 | +| Test.java:242:66:242:84 | (...)... : Put [] : String | Test.java:228:18:228:29 | map : Put [] : String | provenance | | +| Test.java:242:66:242:84 | (...)... : Put [] : String | Test.java:242:56:242:85 | getMapKey(...) : String | provenance | MaD:10 | +| Test.java:243:20:243:50 | container : AbstractMapEntry [] : Object | Test.java:243:62:243:70 | container : AbstractMapEntry [] : Object | provenance | | +| Test.java:243:20:243:50 | container : DefaultKeyValue [] : Object | Test.java:243:62:243:70 | container : DefaultKeyValue [] : Object | provenance | | +| Test.java:243:20:243:50 | container : DefaultKeyValue [] : String | Test.java:243:62:243:70 | container : DefaultKeyValue [] : String | provenance | | +| Test.java:243:20:243:50 | container : DefaultMapEntry [] : Object | Test.java:243:62:243:70 | container : DefaultMapEntry [] : Object | provenance | | +| Test.java:243:20:243:50 | container : DefaultMapEntry [] : String | Test.java:243:62:243:70 | container : DefaultMapEntry [] : String | provenance | | +| Test.java:243:20:243:50 | container : MyAbstractKeyValue [] : Object | Test.java:243:62:243:70 | container : MyAbstractKeyValue [] : Object | provenance | | +| Test.java:243:20:243:50 | container : MyAbstractMapEntry [] : Object | Test.java:243:62:243:70 | container : MyAbstractMapEntry [] : Object | provenance | | +| Test.java:243:20:243:50 | container : UnmodifiableMapEntry [] : Object | Test.java:243:62:243:70 | container : UnmodifiableMapEntry [] : Object | provenance | | +| Test.java:243:20:243:50 | container : UnmodifiableMapEntry [] : String | Test.java:243:62:243:70 | container : UnmodifiableMapEntry [] : String | provenance | | +| Test.java:243:62:243:70 | container : AbstractMapEntry [] : Object | Test.java:243:62:243:81 | getValue(...) : Object | provenance | MaD:569 | +| Test.java:243:62:243:70 | container : DefaultKeyValue [] : Object | Test.java:243:62:243:81 | getValue(...) : Object | provenance | MaD:569 | +| Test.java:243:62:243:70 | container : DefaultKeyValue [] : String | Test.java:243:62:243:81 | getValue(...) : String | provenance | MaD:569 | +| Test.java:243:62:243:70 | container : DefaultMapEntry [] : Object | Test.java:243:62:243:81 | getValue(...) : Object | provenance | MaD:569 | +| Test.java:243:62:243:70 | container : DefaultMapEntry [] : String | Test.java:243:62:243:81 | getValue(...) : String | provenance | MaD:569 | +| Test.java:243:62:243:70 | container : MyAbstractKeyValue [] : Object | Test.java:243:62:243:81 | getValue(...) : Object | provenance | MaD:569 | +| Test.java:243:62:243:70 | container : MyAbstractMapEntry [] : Object | Test.java:243:62:243:81 | getValue(...) : Object | provenance | MaD:569 | +| Test.java:243:62:243:70 | container : UnmodifiableMapEntry [] : Object | Test.java:243:62:243:81 | getValue(...) : Object | provenance | MaD:569 | +| Test.java:243:62:243:70 | container : UnmodifiableMapEntry [] : String | Test.java:243:62:243:81 | getValue(...) : String | provenance | MaD:569 | +| Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:72 | container : Entry [] : String | provenance | | +| Test.java:244:29:244:52 | container : TiedMapEntry [] : String | Test.java:244:64:244:72 | container : TiedMapEntry [] : String | provenance | | +| Test.java:244:64:244:72 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | provenance | MaD:21 | +| Test.java:244:64:244:72 | container : TiedMapEntry [] : String | Test.java:244:64:244:83 | getValue(...) : String | provenance | MaD:21 | +| Test.java:245:20:245:59 | container : MyAbstractMapEntryDecorator [] : String | Test.java:245:71:245:79 | container : MyAbstractMapEntryDecorator [] : String | provenance | | +| Test.java:245:71:245:79 | container : MyAbstractMapEntryDecorator [] : String | Test.java:245:71:245:90 | getValue(...) : String | provenance | MaD:21 | +| Test.java:245:71:245:79 | container : MyAbstractMapEntryDecorator [] : String | Test.java:245:71:245:90 | getValue(...) : String | provenance | MaD:21 | +| Test.java:245:71:245:79 | container : MyAbstractMapEntryDecorator [] : String | Test.java:245:71:245:90 | getValue(...) : String | provenance | MaD:569 | +| Test.java:245:71:245:79 | container : MyAbstractMapEntryDecorator [] : String | Test.java:245:71:245:90 | getValue(...) : String | provenance | MaD:569 | +| Test.java:246:20:246:47 | mapIterator : EntrySetToMapIteratorAdapter [] : String | Test.java:246:59:246:69 | mapIterator : EntrySetToMapIteratorAdapter [] : String | provenance | | +| Test.java:246:20:246:47 | mapIterator : MapIterator [] : Object | Test.java:246:59:246:69 | mapIterator : MapIterator [] : Object | provenance | | +| Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | Test.java:246:59:246:69 | mapIterator : MapIterator [] : String | provenance | | +| Test.java:246:20:246:47 | mapIterator : MyAbstractMapIteratorDecorator [] : String | Test.java:246:59:246:69 | mapIterator : MyAbstractMapIteratorDecorator [] : String | provenance | | +| Test.java:246:20:246:47 | mapIterator : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:246:59:246:69 | mapIterator : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | | +| Test.java:246:20:246:47 | mapIterator : OrderedMapIterator [] : String | Test.java:246:59:246:69 | mapIterator : OrderedMapIterator [] : String | provenance | | +| Test.java:246:59:246:69 | mapIterator : EntrySetToMapIteratorAdapter [] : String | Test.java:246:59:246:80 | getValue(...) : String | provenance | MaD:598 | +| Test.java:246:59:246:69 | mapIterator : MapIterator [] : Object | Test.java:246:59:246:80 | getValue(...) : Object | provenance | MaD:598 | +| Test.java:246:59:246:69 | mapIterator : MapIterator [] : String | Test.java:246:59:246:80 | getValue(...) : String | provenance | MaD:598 | +| Test.java:246:59:246:69 | mapIterator : MyAbstractMapIteratorDecorator [] : String | Test.java:246:59:246:80 | getValue(...) : String | provenance | MaD:598 | +| Test.java:246:59:246:69 | mapIterator : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:246:59:246:80 | getValue(...) : String | provenance | MaD:598 | +| Test.java:246:59:246:69 | mapIterator : OrderedMapIterator [] : String | Test.java:246:59:246:80 | getValue(...) : String | provenance | MaD:598 | +| Test.java:247:32:247:60 | container : ArrayListValuedHashMap [, ] : String | Test.java:247:72:247:80 | container : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:247:32:247:60 | container : HashSetValuedHashMap [, ] : String | Test.java:247:72:247:80 | container : HashSetValuedHashMap [, ] : String | provenance | | +| Test.java:247:32:247:60 | container : MultiValuedMap [, ] : Object | Test.java:247:72:247:80 | container : MultiValuedMap [, ] : Object | provenance | | +| Test.java:247:32:247:60 | container : MultiValuedMap [, ] : String | Test.java:247:72:247:80 | container : MultiValuedMap [, ] : String | provenance | | +| Test.java:247:32:247:60 | container : TransformedMultiValuedMap [, ] : String | Test.java:247:72:247:80 | container : TransformedMultiValuedMap [, ] : String | provenance | | +| Test.java:247:32:247:60 | container : UnmodifiableMultiValuedMap [, ] : String | Test.java:247:72:247:80 | container : UnmodifiableMultiValuedMap [, ] : String | provenance | | +| Test.java:247:72:247:80 | container : ArrayListValuedHashMap [, ] : String | Test.java:247:72:247:90 | get(...) : Collection [] : String | provenance | MaD:684 | +| Test.java:247:72:247:80 | container : HashSetValuedHashMap [, ] : String | Test.java:247:72:247:90 | get(...) : Collection [] : String | provenance | MaD:684 | +| Test.java:247:72:247:80 | container : MultiValuedMap [, ] : Object | Test.java:247:72:247:90 | get(...) : Collection [] : Object | provenance | MaD:684 | +| Test.java:247:72:247:80 | container : MultiValuedMap [, ] : String | Test.java:247:72:247:90 | get(...) : Collection [] : String | provenance | MaD:684 | +| Test.java:247:72:247:80 | container : TransformedMultiValuedMap [, ] : String | Test.java:247:72:247:90 | get(...) : Collection [] : String | provenance | MaD:684 | +| Test.java:247:72:247:80 | container : UnmodifiableMultiValuedMap [, ] : String | Test.java:247:72:247:90 | get(...) : Collection [] : String | provenance | MaD:684 | +| Test.java:248:27:248:44 | container : AbstractIterableGetMapDecorator [] : String | Test.java:248:56:248:64 | container : AbstractIterableGetMapDecorator [] : String | provenance | | +| Test.java:248:27:248:44 | container : TransformedSplitMap [] : String | Test.java:248:56:248:64 | container : TransformedSplitMap [] : String | provenance | | +| Test.java:248:56:248:64 | container : AbstractIterableGetMapDecorator [] : String | Test.java:248:56:248:74 | get(...) : String | provenance | MaD:483 | +| Test.java:248:56:248:64 | container : TransformedSplitMap [] : String | Test.java:248:56:248:74 | get(...) : String | provenance | MaD:483 | +| Test.java:249:29:249:46 | container : Put [] : Object | Test.java:249:70:249:88 | (...)... : Put [] : Object | provenance | | +| Test.java:249:29:249:46 | container : Put [] : String | Test.java:249:70:249:88 | (...)... : Put [] : String | provenance | | +| Test.java:249:70:249:88 | (...)... : Put [] : Object | Test.java:232:20:232:31 | map : Put [] : Object | provenance | | +| Test.java:249:70:249:88 | (...)... : Put [] : Object | Test.java:249:58:249:89 | getMapValue(...) : Object | provenance | MaD:9 | +| Test.java:249:70:249:88 | (...)... : Put [] : String | Test.java:232:20:232:31 | map : Put [] : String | provenance | | +| Test.java:249:70:249:88 | (...)... : Put [] : String | Test.java:249:58:249:89 | getMapValue(...) : String | provenance | MaD:9 | +| Test.java:251:31:251:44 | element : MyAbstractKeyValue [] : String | Test.java:251:70:251:76 | element : MyAbstractKeyValue [] : String | provenance | | +| Test.java:251:31:251:44 | element : MyAbstractKeyValue [] : String | Test.java:251:70:251:76 | element : MyAbstractKeyValue [] : String | provenance | | +| Test.java:251:31:251:44 | element : Object[] [[]] : String | Test.java:251:70:251:76 | element : Object[] [[]] : String | provenance | | +| Test.java:251:31:251:44 | element : String | Test.java:251:70:251:76 | element : String | provenance | | +| Test.java:251:56:251:77 | {...} : Object[] [[], ] : String | Test.java:251:56:251:77 | new Object[] : Object[] [[], ] : String | provenance | | +| Test.java:251:56:251:77 | {...} : Object[] [[], ] : String | Test.java:251:56:251:77 | new Object[] : Object[] [[], ] : String | provenance | | +| Test.java:251:56:251:77 | {...} : Object[] [[], []] : String | Test.java:251:56:251:77 | new Object[] : Object[] [[], []] : String | provenance | | +| Test.java:251:56:251:77 | {...} : Object[] [[]] : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | provenance | | +| Test.java:251:70:251:76 | element : MyAbstractKeyValue [] : String | Test.java:251:56:251:77 | {...} : Object[] [[], ] : String | provenance | | +| Test.java:251:70:251:76 | element : MyAbstractKeyValue [] : String | Test.java:251:56:251:77 | {...} : Object[] [[], ] : String | provenance | | +| Test.java:251:70:251:76 | element : Object[] [[]] : String | Test.java:251:56:251:77 | {...} : Object[] [[], []] : String | provenance | | +| Test.java:251:70:251:76 | element : String | Test.java:251:56:251:77 | {...} : Object[] [[]] : String | provenance | | +| Test.java:252:45:252:53 | element : String | Test.java:252:103:252:109 | element : String | provenance | | +| Test.java:252:96:252:96 | a [post update] : ArrayStack [] : String | Test.java:252:120:252:120 | a : ArrayStack [] : String | provenance | | +| Test.java:252:103:252:109 | element : String | Test.java:252:96:252:96 | a [post update] : ArrayStack [] : String | provenance | MaD:393 | +| Test.java:253:59:253:67 | element : String | Test.java:253:130:253:136 | element : String | provenance | | +| Test.java:253:124:253:124 | x [post update] : CircularFifoQueue [] : String | Test.java:253:147:253:147 | x : CircularFifoQueue [] : String | provenance | | +| Test.java:253:130:253:136 | element : String | Test.java:253:124:253:124 | x [post update] : CircularFifoQueue [] : String | provenance | MaD:2 | +| Test.java:254:49:254:57 | element : String | Test.java:254:118:254:124 | element : String | provenance | | +| Test.java:254:89:254:125 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | Test.java:254:69:254:126 | new CompositeSet(...) : CompositeSet [] : String | provenance | MaD:781 | +| Test.java:254:118:254:124 | element : String | Test.java:254:89:254:125 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | provenance | MaD:2 | +| Test.java:254:118:254:124 | element : String | Test.java:260:53:260:61 | element : String | provenance | | +| Test.java:255:65:255:73 | element : String | Test.java:255:142:255:148 | element : String | provenance | | +| Test.java:255:136:255:136 | x [post update] : CursorableLinkedList [] : String | Test.java:255:159:255:159 | x : CursorableLinkedList [] : String | provenance | | +| Test.java:255:142:255:148 | element : String | Test.java:255:136:255:136 | x [post update] : CursorableLinkedList [] : String | provenance | MaD:2 | +| Test.java:256:47:256:55 | element : String | Test.java:256:115:256:121 | element : String | provenance | | +| Test.java:256:94:256:122 | newVectorWithElement(...) : Vector [] : String | Test.java:256:94:256:133 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:256:94:256:133 | iterator(...) : Iterator [] : String | Test.java:256:67:256:134 | new IteratorEnumeration(...) : IteratorEnumeration [] : String | provenance | MaD:154 | +| Test.java:256:115:256:121 | element : String | Test.java:256:94:256:122 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:256:115:256:121 | element : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:257:53:257:61 | element : String | Test.java:257:91:257:97 | element : String | provenance | | +| Test.java:257:91:257:97 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:258:49:258:57 | element : String | Test.java:258:110:258:116 | element : String | provenance | | +| Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | provenance | | +| Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | provenance | | +| Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | provenance | | +| Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | provenance | | +| Test.java:258:110:258:116 | element : String | Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | provenance | MaD:2 | +| Test.java:258:110:258:116 | element : String | Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | provenance | MaD:2 | +| Test.java:258:110:258:116 | element : String | Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | provenance | MaD:673 | +| Test.java:258:110:258:116 | element : String | Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | provenance | MaD:673 | +| Test.java:259:49:259:57 | element : String | Test.java:259:90:259:96 | element : String | provenance | | +| Test.java:259:69:259:97 | newVectorWithElement(...) : Vector [] : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | provenance | MaD:5 | +| Test.java:259:90:259:96 | element : String | Test.java:259:69:259:97 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:259:90:259:96 | element : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:260:53:260:61 | element : String | Test.java:260:118:260:124 | element : String | provenance | | +| Test.java:260:53:260:61 | element : TiedMapEntry [] : String | Test.java:260:118:260:124 | element : TiedMapEntry [] : String | provenance | | +| Test.java:260:53:260:61 | element : TiedMapEntry [] : String | Test.java:260:118:260:124 | element : TiedMapEntry [] : String | provenance | | +| Test.java:260:112:260:112 | x [post update] : ListOrderedSet [, ] : String | Test.java:260:135:260:135 | x : ListOrderedSet [, ] : String | provenance | | +| Test.java:260:112:260:112 | x [post update] : ListOrderedSet [, ] : String | Test.java:260:135:260:135 | x : ListOrderedSet [, ] : String | provenance | | +| Test.java:260:112:260:112 | x [post update] : ListOrderedSet [] : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | provenance | | +| Test.java:260:118:260:124 | element : String | Test.java:260:112:260:112 | x [post update] : ListOrderedSet [] : String | provenance | MaD:2 | +| Test.java:260:118:260:124 | element : TiedMapEntry [] : String | Test.java:260:112:260:112 | x [post update] : ListOrderedSet [, ] : String | provenance | MaD:2 | +| Test.java:260:118:260:124 | element : TiedMapEntry [] : String | Test.java:260:112:260:112 | x [post update] : ListOrderedSet [, ] : String | provenance | MaD:2 | +| Test.java:261:41:261:49 | element : String | Test.java:261:77:261:83 | element : String | provenance | | +| Test.java:261:77:261:83 | element : String | Test.java:261:61:261:93 | new MultiKey(...) : MultiKey [] : String | provenance | MaD:215 | +| Test.java:262:52:262:60 | element : String | Test.java:262:106:262:112 | element : String | provenance | | +| Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | provenance | MaD:674 | +| Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | provenance | MaD:674 | +| Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | provenance | MaD:674 | +| Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | provenance | MaD:674 | +| Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | provenance | MaD:1 | +| Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | provenance | MaD:1 | +| Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | provenance | MaD:1 | +| Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | provenance | MaD:1 | +| Test.java:262:106:262:112 | element : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:2 | +| Test.java:262:106:262:112 | element : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:2 | +| Test.java:262:106:262:112 | element : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:673 | +| Test.java:262:106:262:112 | element : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:673 | +| Test.java:262:106:262:112 | element : String | Test.java:263:41:263:49 | element : String | provenance | | +| Test.java:263:41:263:49 | element : String | Test.java:263:102:263:108 | element : String | provenance | | +| Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | provenance | | +| Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | provenance | | +| Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | provenance | | +| Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | provenance | | +| Test.java:263:102:263:108 | element : String | Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | provenance | MaD:2 | +| Test.java:263:102:263:108 | element : String | Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | provenance | MaD:2 | +| Test.java:263:102:263:108 | element : String | Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | provenance | MaD:673 | +| Test.java:263:102:263:108 | element : String | Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | provenance | MaD:673 | +| Test.java:264:80:264:88 | element : String | Test.java:264:177:264:183 | element : String | provenance | | +| Test.java:264:171:264:171 | x [post update] : Builder [] : String | Test.java:264:194:264:194 | x : Builder [] : String | provenance | | +| Test.java:264:177:264:183 | element : String | Test.java:264:171:264:171 | x [post update] : Builder [] : String | provenance | MaD:97 | +| Test.java:265:35:265:43 | element : String | Test.java:265:92:265:98 | element : String | provenance | | +| Test.java:265:86:265:86 | q [post update] : LinkedList [] : String | Test.java:265:109:265:109 | q : LinkedList [] : String | provenance | | +| Test.java:265:92:265:98 | element : String | Test.java:265:86:265:86 | q [post update] : LinkedList [] : String | provenance | MaD:2 | +| Test.java:266:41:266:49 | element : String | Test.java:266:96:266:102 | element : String | provenance | | +| Test.java:266:90:266:90 | s [post update] : MySetView [] : String | Test.java:266:113:266:113 | s : MySetView [] : String | provenance | | +| Test.java:266:96:266:102 | element : String | Test.java:266:90:266:90 | s [post update] : MySetView [] : String | provenance | MaD:2 | +| Test.java:267:39:267:47 | element : ListIterator [] : String | Test.java:267:90:267:96 | element : ListIterator [] : String | provenance | | +| Test.java:267:39:267:47 | element : String | Test.java:267:90:267:96 | element : String | provenance | | +| Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | Test.java:267:107:267:107 | b : TreeBag [, ] : String | provenance | | +| Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | Test.java:267:107:267:107 | b : TreeBag [, ] : String | provenance | | +| Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | Test.java:267:107:267:107 | b : TreeBag [, ] : String | provenance | | +| Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | Test.java:267:107:267:107 | b : TreeBag [, ] : String | provenance | | +| Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | Test.java:267:107:267:107 | b : TreeBag [] : String | provenance | | +| Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | Test.java:267:107:267:107 | b : TreeBag [] : String | provenance | | +| Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | Test.java:267:107:267:107 | b : TreeBag [] : String | provenance | | +| Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | Test.java:267:107:267:107 | b : TreeBag [] : String | provenance | | +| Test.java:267:90:267:96 | element : ListIterator [] : String | Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | provenance | MaD:2 | +| Test.java:267:90:267:96 | element : ListIterator [] : String | Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | provenance | MaD:2 | +| Test.java:267:90:267:96 | element : ListIterator [] : String | Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | provenance | MaD:395 | +| Test.java:267:90:267:96 | element : ListIterator [] : String | Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | provenance | MaD:395 | +| Test.java:267:90:267:96 | element : String | Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | provenance | MaD:2 | +| Test.java:267:90:267:96 | element : String | Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | provenance | MaD:2 | +| Test.java:267:90:267:96 | element : String | Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | provenance | MaD:395 | +| Test.java:267:90:267:96 | element : String | Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | provenance | MaD:395 | +| Test.java:268:39:268:47 | element : String | Test.java:268:90:268:96 | element : String | provenance | | +| Test.java:268:84:268:84 | h [post update] : TreeSet [] : String | Test.java:268:107:268:107 | h : TreeSet [] : String | provenance | | +| Test.java:268:90:268:96 | element : String | Test.java:268:84:268:84 | h [post update] : TreeSet [] : String | provenance | MaD:2 | +| Test.java:269:37:269:45 | element : String | Test.java:269:86:269:92 | element : String | provenance | | +| Test.java:269:80:269:80 | v [post update] : Vector [] : String | Test.java:269:103:269:103 | v : Vector [] : String | provenance | | +| Test.java:269:86:269:92 | element : String | Test.java:269:80:269:80 | v [post update] : Vector [] : String | provenance | MaD:2 | +| Test.java:270:47:270:65 | element : Vector [] : String | Test.java:270:116:270:122 | element : Vector [] : String | provenance | | +| Test.java:270:110:270:110 | v [post update] : Vector [, ] : String | Test.java:270:133:270:133 | v : Vector [, ] : String | provenance | | +| Test.java:270:116:270:122 | element : Vector [] : String | Test.java:270:110:270:110 | v [post update] : Vector [, ] : String | provenance | MaD:2 | +| Test.java:272:58:272:62 | key : String | Test.java:272:142:272:144 | key : String | provenance | | +| Test.java:272:136:272:136 | m [post update] : ArrayListValuedHashMap [] : String | Test.java:272:160:272:160 | m : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:272:142:272:144 | key : String | Test.java:272:136:272:136 | m [post update] : ArrayListValuedHashMap [] : String | provenance | MaD:689 | +| Test.java:273:49:273:53 | key : String | Test.java:273:95:273:97 | key : String | provenance | | +| Test.java:273:95:273:97 | key : String | Test.java:273:65:273:103 | new DefaultKeyValue(...) : DefaultKeyValue [] : String | provenance | MaD:205 | +| Test.java:274:61:274:65 | key : String | Test.java:274:114:274:116 | key : String | provenance | | +| Test.java:274:107:274:123 | of(...) : Map [] : String | Test.java:274:77:274:124 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | provenance | MaD:58 | +| Test.java:274:114:274:116 | key : String | Test.java:274:107:274:123 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:275:49:275:53 | key : String | Test.java:275:107:275:109 | key : String | provenance | | +| Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | Test.java:275:125:275:125 | m : HashedMap [] : String | provenance | | +| Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | Test.java:275:125:275:125 | m : HashedMap [] : String | provenance | | +| Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | Test.java:275:125:275:125 | m : HashedMap [] : String | provenance | | +| Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | Test.java:275:125:275:125 | m : HashedMap [] : String | provenance | | +| Test.java:275:107:275:109 | key : String | Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | provenance | MaD:14 | +| Test.java:275:107:275:109 | key : String | Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | provenance | MaD:14 | +| Test.java:275:107:275:109 | key : String | Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | provenance | MaD:705 | +| Test.java:275:107:275:109 | key : String | Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | provenance | MaD:705 | +| Test.java:276:49:276:53 | key : String | Test.java:276:96:276:98 | key : String | provenance | | +| Test.java:276:89:276:105 | of(...) : Map [] : String | Test.java:276:65:276:106 | new LinkedMap(...) : LinkedMap [] : String | provenance | MaD:317 | +| Test.java:276:96:276:98 | key : String | Test.java:276:89:276:105 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:277:59:277:63 | key : Object | Test.java:277:122:277:124 | key : Object | provenance | | +| Test.java:277:59:277:63 | key : String | Test.java:277:122:277:124 | key : String | provenance | | +| Test.java:277:115:277:131 | of(...) : Map [] : Object | Test.java:277:75:277:132 | listOrderedMap(...) : ListOrderedMap [] : Object | provenance | MaD:327 | +| Test.java:277:115:277:131 | of(...) : Map [] : String | Test.java:277:75:277:132 | listOrderedMap(...) : ListOrderedMap [] : String | provenance | MaD:327 | +| Test.java:277:122:277:124 | key : Object | Test.java:277:115:277:131 | of(...) : Map [] : Object | provenance | MaD:11 | +| Test.java:277:122:277:124 | key : String | Test.java:277:115:277:131 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:279:47:279:51 | key : String | Test.java:279:113:279:115 | key : String | provenance | | +| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | +| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | +| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | +| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | +| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | +| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | +| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | +| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | +| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | +| Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:14 | +| Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:14 | +| Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:14 | +| Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:661 | +| Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:661 | +| Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:661 | +| Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:705 | +| Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:705 | +| Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:705 | +| Test.java:280:53:280:57 | key : String | Test.java:280:102:280:104 | key : String | provenance | | +| Test.java:280:102:280:104 | key : String | Test.java:280:69:280:110 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | provenance | MaD:195 | +| Test.java:280:102:280:104 | key : String | Test.java:7057:22:7057:32 | key : String | provenance | | +| Test.java:281:63:281:67 | key : String | Test.java:281:139:281:141 | key : String | provenance | | +| Test.java:281:121:281:142 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | Test.java:281:79:281:143 | new MyAbstractMapEntryDecorator(...) : MyAbstractMapEntryDecorator [] : String | provenance | MaD:197 | +| Test.java:281:121:281:142 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | Test.java:7067:31:7067:57 | entry : MyAbstractMapEntry [] : String | provenance | | +| Test.java:281:139:281:141 | key : String | Test.java:280:53:280:57 | key : String | provenance | | +| Test.java:281:139:281:141 | key : String | Test.java:281:121:281:142 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | provenance | MaD:195 | +| Test.java:282:53:282:57 | key : String | Test.java:282:102:282:104 | key : String | provenance | | +| Test.java:282:102:282:104 | key : String | Test.java:282:69:282:110 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | provenance | MaD:189 | +| Test.java:282:102:282:104 | key : String | Test.java:7043:22:7043:26 | key : String | provenance | | +| Test.java:283:53:283:57 | key : String | Test.java:283:111:283:113 | key : String | provenance | | +| Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | Test.java:283:129:283:129 | m : LinkedMap [] : String | provenance | | +| Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | Test.java:283:129:283:129 | m : LinkedMap [] : String | provenance | | +| Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | Test.java:283:129:283:129 | m : LinkedMap [] : String | provenance | | +| Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | Test.java:283:129:283:129 | m : LinkedMap [] : String | provenance | | +| Test.java:283:111:283:113 | key : String | Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | provenance | MaD:14 | +| Test.java:283:111:283:113 | key : String | Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | provenance | MaD:14 | +| Test.java:283:111:283:113 | key : String | Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | provenance | MaD:705 | +| Test.java:283:111:283:113 | key : String | Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | provenance | MaD:705 | +| Test.java:283:129:283:129 | m : LinkedMap [] : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:487 | +| Test.java:283:129:283:129 | m : LinkedMap [] : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:487 | +| Test.java:283:129:283:129 | m : LinkedMap [] : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:487 | +| Test.java:283:129:283:129 | m : LinkedMap [] : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:487 | +| Test.java:285:47:285:51 | key : String | Test.java:285:103:285:105 | key : String | provenance | | +| Test.java:285:97:285:97 | m [post update] : TreeMap [] : String | Test.java:285:121:285:121 | m : TreeMap [] : String | provenance | | +| Test.java:285:103:285:105 | key : String | Test.java:285:97:285:97 | m [post update] : TreeMap [] : String | provenance | MaD:14 | +| Test.java:286:46:286:50 | key : String | Test.java:286:113:286:115 | key : String | provenance | | +| Test.java:286:113:286:115 | key : String | Test.java:286:62:286:116 | new TiedMapEntry(...) : TiedMapEntry [] : String | provenance | MaD:234 | +| Test.java:287:75:287:79 | key : String | Test.java:287:137:287:139 | key : String | provenance | | +| Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | provenance | | +| Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | provenance | | +| Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | provenance | | +| Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | provenance | | +| Test.java:287:137:287:139 | key : String | Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | provenance | MaD:14 | +| Test.java:287:137:287:139 | key : String | Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | provenance | MaD:14 | +| Test.java:287:137:287:139 | key : String | Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | provenance | MaD:705 | +| Test.java:287:137:287:139 | key : String | Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | provenance | MaD:705 | +| Test.java:288:49:288:58 | key : String | Test.java:288:116:288:118 | key : String | provenance | | +| Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | provenance | | +| Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | provenance | | +| Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | provenance | | +| Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | provenance | | +| Test.java:288:116:288:118 | key : String | Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | provenance | MaD:14 | +| Test.java:288:116:288:118 | key : String | Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | provenance | MaD:14 | +| Test.java:288:116:288:118 | key : String | Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | provenance | MaD:705 | +| Test.java:288:116:288:118 | key : String | Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | provenance | MaD:705 | +| Test.java:290:60:290:66 | value : String | Test.java:290:151:290:155 | value : String | provenance | | +| Test.java:290:140:290:140 | m [post update] : ArrayListValuedHashMap [, ] : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:290:151:290:155 | value : String | Test.java:290:140:290:140 | m [post update] : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:291:51:291:57 | value : String | Test.java:291:104:291:108 | value : String | provenance | | +| Test.java:291:104:291:108 | value : String | Test.java:291:69:291:109 | new DefaultKeyValue(...) : DefaultKeyValue [] : String | provenance | MaD:206 | +| Test.java:292:63:292:69 | value : String | Test.java:292:124:292:128 | value : String | provenance | | +| Test.java:292:111:292:129 | of(...) : Map [] : String | Test.java:292:81:292:130 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | provenance | MaD:59 | +| Test.java:292:124:292:128 | value : String | Test.java:292:111:292:129 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:293:51:293:57 | value : String | Test.java:293:116:293:120 | value : String | provenance | | +| Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | Test.java:293:131:293:131 | m : HashedMap [] : String | provenance | | +| Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | Test.java:293:131:293:131 | m : HashedMap [] : String | provenance | | +| Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | Test.java:293:131:293:131 | m : HashedMap [] : String | provenance | | +| Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | Test.java:293:131:293:131 | m : HashedMap [] : String | provenance | | +| Test.java:293:116:293:120 | value : String | Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | provenance | MaD:15 | +| Test.java:293:116:293:120 | value : String | Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | provenance | MaD:15 | +| Test.java:293:116:293:120 | value : String | Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | provenance | MaD:706 | +| Test.java:293:116:293:120 | value : String | Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | provenance | MaD:706 | +| Test.java:294:58:294:64 | value : String | Test.java:294:145:294:149 | value : String | provenance | | +| Test.java:294:134:294:134 | m [post update] : HashSetValuedHashMap [, ] : String | Test.java:294:160:294:160 | m : HashSetValuedHashMap [, ] : String | provenance | | +| Test.java:294:145:294:149 | value : String | Test.java:294:134:294:134 | m [post update] : HashSetValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:295:51:295:57 | value : String | Test.java:295:106:295:110 | value : String | provenance | | +| Test.java:295:93:295:111 | of(...) : Map [] : String | Test.java:295:69:295:112 | new LinkedMap(...) : LinkedMap [] : String | provenance | MaD:318 | +| Test.java:295:106:295:110 | value : String | Test.java:295:93:295:111 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:296:61:296:67 | value : Object | Test.java:296:132:296:136 | value : Object | provenance | | +| Test.java:296:61:296:67 | value : String | Test.java:296:132:296:136 | value : String | provenance | | +| Test.java:296:119:296:137 | of(...) : Map [] : Object | Test.java:296:79:296:138 | listOrderedMap(...) : ListOrderedMap [] : Object | provenance | MaD:328 | +| Test.java:296:119:296:137 | of(...) : Map [] : String | Test.java:296:79:296:138 | listOrderedMap(...) : ListOrderedMap [] : String | provenance | MaD:328 | +| Test.java:296:132:296:136 | value : Object | Test.java:296:119:296:137 | of(...) : Map [] : Object | provenance | MaD:12 | +| Test.java:296:132:296:136 | value : String | Test.java:296:119:296:137 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:297:47:297:53 | value : String | Test.java:297:121:297:125 | value : String | provenance | | +| Test.java:297:105:297:105 | m [post update] : MultiKeyMap [] : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | provenance | | +| Test.java:297:121:297:125 | value : String | Test.java:297:105:297:105 | m [post update] : MultiKeyMap [] : String | provenance | MaD:339 | +| Test.java:298:49:298:55 | value : String | Test.java:298:122:298:126 | value : String | provenance | | +| Test.java:298:111:298:111 | m [post update] : MultiValueMap [, ] : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | provenance | | +| Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | provenance | | +| Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | provenance | | +| Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | provenance | | +| Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | provenance | | +| Test.java:298:122:298:126 | value : String | Test.java:298:111:298:111 | m [post update] : MultiValueMap [, ] : String | provenance | MaD:662 | +| Test.java:298:122:298:126 | value : String | Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:298:122:298:126 | value : String | Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:298:122:298:126 | value : String | Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:298:122:298:126 | value : String | Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:299:55:299:61 | value : String | Test.java:299:111:299:115 | value : String | provenance | | +| Test.java:299:111:299:115 | value : String | Test.java:299:73:299:116 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | provenance | MaD:190 | +| Test.java:299:111:299:115 | value : String | Test.java:7043:29:7043:35 | value : String | provenance | | +| Test.java:300:55:300:61 | value : String | Test.java:300:111:300:115 | value : String | provenance | | +| Test.java:300:111:300:115 | value : String | Test.java:300:73:300:116 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | provenance | MaD:196 | +| Test.java:300:111:300:115 | value : String | Test.java:7057:35:7057:47 | value : String | provenance | | +| Test.java:301:65:301:71 | value : String | Test.java:301:145:301:149 | value : String | provenance | | +| Test.java:301:125:301:150 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | Test.java:301:83:301:151 | new MyAbstractMapEntryDecorator(...) : MyAbstractMapEntryDecorator [] : String | provenance | MaD:198 | +| Test.java:301:125:301:150 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | Test.java:7067:31:7067:57 | entry : MyAbstractMapEntry [] : String | provenance | | +| Test.java:301:145:301:149 | value : String | Test.java:300:55:300:61 | value : String | provenance | | +| Test.java:301:145:301:149 | value : String | Test.java:301:125:301:150 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | provenance | MaD:196 | +| Test.java:302:54:302:60 | value : String | Test.java:302:119:302:123 | value : String | provenance | | +| Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | Test.java:302:134:302:134 | m : LinkedMap [] : String | provenance | | +| Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | Test.java:302:134:302:134 | m : LinkedMap [] : String | provenance | | +| Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | Test.java:302:134:302:134 | m : LinkedMap [] : String | provenance | | +| Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | Test.java:302:134:302:134 | m : LinkedMap [] : String | provenance | | +| Test.java:302:119:302:123 | value : String | Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | provenance | MaD:15 | +| Test.java:302:119:302:123 | value : String | Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | provenance | MaD:15 | +| Test.java:302:119:302:123 | value : String | Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | provenance | MaD:706 | +| Test.java:302:119:302:123 | value : String | Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | provenance | MaD:706 | +| Test.java:302:134:302:134 | m : LinkedMap [] : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:488 | +| Test.java:302:134:302:134 | m : LinkedMap [] : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:488 | +| Test.java:302:134:302:134 | m : LinkedMap [] : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:488 | +| Test.java:302:134:302:134 | m : LinkedMap [] : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:488 | +| Test.java:304:49:304:55 | value : Map | Test.java:304:112:304:116 | value : Map | provenance | | +| Test.java:304:49:304:55 | value : String | Test.java:304:112:304:116 | value : String | provenance | | +| Test.java:304:101:304:101 | m [post update] : TreeMap [] : Map | Test.java:304:127:304:127 | m : TreeMap [] : Map | provenance | | +| Test.java:304:101:304:101 | m [post update] : TreeMap [] : String | Test.java:304:127:304:127 | m : TreeMap [] : String | provenance | | +| Test.java:304:112:304:116 | value : Map | Test.java:304:101:304:101 | m [post update] : TreeMap [] : Map | provenance | MaD:15 | +| Test.java:304:112:304:116 | value : String | Test.java:304:101:304:101 | m [post update] : TreeMap [] : String | provenance | MaD:15 | +| Test.java:305:48:305:54 | value : String | Test.java:305:116:305:120 | value : String | provenance | | +| Test.java:305:93:305:121 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:305:66:305:127 | new TiedMapEntry(...) : TiedMapEntry [] : String | provenance | MaD:233 | +| Test.java:305:116:305:120 | value : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:305:116:305:120 | value : String | Test.java:305:93:305:121 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:306:77:306:83 | value : String | Test.java:306:146:306:150 | value : String | provenance | | +| Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | provenance | | +| Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | provenance | | +| Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | provenance | | +| Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | provenance | | +| Test.java:306:146:306:150 | value : String | Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | provenance | MaD:15 | +| Test.java:306:146:306:150 | value : String | Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | provenance | MaD:15 | +| Test.java:306:146:306:150 | value : String | Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | provenance | MaD:706 | +| Test.java:306:146:306:150 | value : String | Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | provenance | MaD:706 | +| Test.java:307:50:307:56 | value : String | Test.java:307:114:307:118 | value : String | provenance | | +| Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | provenance | | +| Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | provenance | | +| Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | provenance | | +| Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | provenance | | +| Test.java:307:114:307:118 | value : String | Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | provenance | MaD:15 | +| Test.java:307:114:307:118 | value : String | Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | provenance | MaD:15 | +| Test.java:307:114:307:118 | value : String | Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | provenance | MaD:706 | +| Test.java:307:114:307:118 | value : String | Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | provenance | MaD:706 | +| Test.java:308:56:308:62 | value : String | Test.java:308:114:308:118 | value : String | provenance | | +| Test.java:308:114:308:118 | value : String | Test.java:308:74:308:119 | new UnmodifiableMapEntry(...) : UnmodifiableMapEntry [] : String | provenance | MaD:240 | +| Test.java:318:16:318:23 | source(...) : Object | Test.java:319:33:319:34 | in : Object | provenance | | +| Test.java:319:10:319:41 | new MyAbstractKeyValue<>(...) : MyAbstractKeyValue [] : Object | Test.java:320:19:320:21 | out : MyAbstractKeyValue [] : Object | provenance | | +| Test.java:319:33:319:34 | in : Object | Test.java:319:10:319:41 | new MyAbstractKeyValue<>(...) : MyAbstractKeyValue [] : Object | provenance | MaD:189 | +| Test.java:319:33:319:34 | in : Object | Test.java:7043:22:7043:26 | key : Object | provenance | | +| Test.java:320:19:320:21 | out : MyAbstractKeyValue [] : Object | Test.java:237:18:237:48 | container : MyAbstractKeyValue [] : Object | provenance | | +| Test.java:320:19:320:21 | out : MyAbstractKeyValue [] : Object | Test.java:320:9:320:22 | getMapKey(...) | provenance | MaD:568 | +| Test.java:325:16:325:23 | source(...) : Object | Test.java:326:39:326:40 | in : Object | provenance | | +| Test.java:326:10:326:41 | new MyAbstractKeyValue<>(...) : MyAbstractKeyValue [] : Object | Test.java:327:21:327:23 | out : MyAbstractKeyValue [] : Object | provenance | | +| Test.java:326:39:326:40 | in : Object | Test.java:326:10:326:41 | new MyAbstractKeyValue<>(...) : MyAbstractKeyValue [] : Object | provenance | MaD:190 | +| Test.java:326:39:326:40 | in : Object | Test.java:7043:29:7043:35 | value : Object | provenance | | +| Test.java:327:21:327:23 | out : MyAbstractKeyValue [] : Object | Test.java:243:20:243:50 | container : MyAbstractKeyValue [] : Object | provenance | | +| Test.java:327:21:327:23 | out : MyAbstractKeyValue [] : Object | Test.java:327:9:327:24 | getMapValue(...) | provenance | MaD:569 | +| Test.java:332:16:332:23 | source(...) : Object | Test.java:333:15:333:16 | in : Object | provenance | | +| Test.java:333:4:333:6 | out [post update] : DefaultKeyValue [] : Object | Test.java:334:19:334:21 | out : DefaultKeyValue [] : Object | provenance | | +| Test.java:333:15:333:16 | in : Object | Test.java:333:4:333:6 | out [post update] : DefaultKeyValue [] : Object | provenance | MaD:192 | +| Test.java:334:19:334:21 | out : DefaultKeyValue [] : Object | Test.java:237:18:237:48 | container : DefaultKeyValue [] : Object | provenance | | +| Test.java:334:19:334:21 | out : DefaultKeyValue [] : Object | Test.java:334:9:334:22 | getMapKey(...) | provenance | MaD:568 | +| Test.java:339:16:339:23 | source(...) : Object | Test.java:340:17:340:18 | in : Object | provenance | | +| Test.java:340:4:340:6 | out [post update] : MyAbstractKeyValue [] : Object | Test.java:341:19:341:21 | out : MyAbstractKeyValue [] : Object | provenance | | +| Test.java:340:17:340:18 | in : Object | Test.java:340:4:340:6 | out [post update] : MyAbstractKeyValue [] : Object | provenance | MaD:192 | +| Test.java:340:17:340:18 | in : Object | Test.java:7047:14:7047:24 | key : Object | provenance | | +| Test.java:341:19:341:21 | out : MyAbstractKeyValue [] : Object | Test.java:237:18:237:48 | container : MyAbstractKeyValue [] : Object | provenance | | +| Test.java:341:19:341:21 | out : MyAbstractKeyValue [] : Object | Test.java:341:9:341:22 | getMapKey(...) | provenance | MaD:568 | +| Test.java:346:25:346:58 | newDKVWithMapKey(...) : DefaultKeyValue [] : String | Test.java:347:10:347:11 | in : DefaultKeyValue [] : String | provenance | | +| Test.java:346:42:346:57 | (...)... : String | Test.java:273:49:273:53 | key : String | provenance | | +| Test.java:346:42:346:57 | (...)... : String | Test.java:346:25:346:58 | newDKVWithMapKey(...) : DefaultKeyValue [] : String | provenance | MaD:205 | +| Test.java:346:50:346:57 | source(...) : Object | Test.java:346:42:346:57 | (...)... : String | provenance | | +| Test.java:347:10:347:11 | in : DefaultKeyValue [] : String | Test.java:347:10:347:24 | setKey(...) : String | provenance | MaD:191 | +| Test.java:347:10:347:24 | setKey(...) : String | Test.java:348:9:348:11 | out | provenance | | +| Test.java:353:28:353:62 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | Test.java:354:10:354:11 | in : MyAbstractKeyValue [] : String | provenance | | +| Test.java:353:46:353:61 | (...)... : String | Test.java:282:53:282:57 | key : String | provenance | | +| Test.java:353:46:353:61 | (...)... : String | Test.java:353:28:353:62 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | provenance | MaD:189 | +| Test.java:353:54:353:61 | source(...) : Object | Test.java:353:46:353:61 | (...)... : String | provenance | | +| Test.java:354:10:354:11 | in : MyAbstractKeyValue [] : String | Test.java:354:10:354:26 | mySetKey(...) : String | provenance | MaD:191 | +| Test.java:354:10:354:11 | in : MyAbstractKeyValue [] : String | Test.java:7047:5:7047:12 | parameter this : MyAbstractKeyValue [] : String | provenance | | +| Test.java:354:10:354:26 | mySetKey(...) : String | Test.java:355:9:355:11 | out | provenance | | +| Test.java:360:16:360:23 | source(...) : Object | Test.java:361:17:361:18 | in : Object | provenance | | +| Test.java:361:4:361:6 | out [post update] : UnmodifiableMapEntry [] : Object | Test.java:362:21:362:23 | out : UnmodifiableMapEntry [] : Object | provenance | | +| Test.java:361:17:361:18 | in : Object | Test.java:361:4:361:6 | out [post update] : UnmodifiableMapEntry [] : Object | provenance | MaD:23 | +| Test.java:361:17:361:18 | in : Object | Test.java:361:4:361:6 | out [post update] : UnmodifiableMapEntry [] : Object | provenance | MaD:194 | +| Test.java:362:21:362:23 | out : UnmodifiableMapEntry [] : Object | Test.java:243:20:243:50 | container : UnmodifiableMapEntry [] : Object | provenance | | +| Test.java:362:21:362:23 | out : UnmodifiableMapEntry [] : Object | Test.java:362:9:362:24 | getMapValue(...) | provenance | MaD:569 | +| Test.java:367:16:367:23 | source(...) : Object | Test.java:368:17:368:18 | in : Object | provenance | | +| Test.java:368:4:368:6 | out [post update] : DefaultKeyValue [] : Object | Test.java:369:21:369:23 | out : DefaultKeyValue [] : Object | provenance | | +| Test.java:368:17:368:18 | in : Object | Test.java:368:4:368:6 | out [post update] : DefaultKeyValue [] : Object | provenance | MaD:194 | +| Test.java:369:21:369:23 | out : DefaultKeyValue [] : Object | Test.java:243:20:243:50 | container : DefaultKeyValue [] : Object | provenance | | +| Test.java:369:21:369:23 | out : DefaultKeyValue [] : Object | Test.java:369:9:369:24 | getMapValue(...) | provenance | MaD:569 | +| Test.java:374:16:374:23 | source(...) : Object | Test.java:375:17:375:18 | in : Object | provenance | | +| Test.java:375:4:375:6 | out [post update] : AbstractMapEntry [] : Object | Test.java:376:21:376:23 | out : AbstractMapEntry [] : Object | provenance | | +| Test.java:375:17:375:18 | in : Object | Test.java:375:4:375:6 | out [post update] : AbstractMapEntry [] : Object | provenance | MaD:23 | +| Test.java:375:17:375:18 | in : Object | Test.java:375:4:375:6 | out [post update] : AbstractMapEntry [] : Object | provenance | MaD:194 | +| Test.java:376:21:376:23 | out : AbstractMapEntry [] : Object | Test.java:243:20:243:50 | container : AbstractMapEntry [] : Object | provenance | | +| Test.java:376:21:376:23 | out : AbstractMapEntry [] : Object | Test.java:376:9:376:24 | getMapValue(...) | provenance | MaD:569 | +| Test.java:381:16:381:23 | source(...) : Object | Test.java:382:19:382:20 | in : Object | provenance | | +| Test.java:382:4:382:6 | out [post update] : MyAbstractKeyValue [] : Object | Test.java:383:21:383:23 | out : MyAbstractKeyValue [] : Object | provenance | | +| Test.java:382:19:382:20 | in : Object | Test.java:382:4:382:6 | out [post update] : MyAbstractKeyValue [] : Object | provenance | MaD:194 | +| Test.java:382:19:382:20 | in : Object | Test.java:7051:16:7051:28 | value : Object | provenance | | +| Test.java:383:21:383:23 | out : MyAbstractKeyValue [] : Object | Test.java:243:20:243:50 | container : MyAbstractKeyValue [] : Object | provenance | | +| Test.java:383:21:383:23 | out : MyAbstractKeyValue [] : Object | Test.java:383:9:383:24 | getMapValue(...) | provenance | MaD:569 | +| Test.java:388:30:388:65 | newUMEWithMapValue(...) : UnmodifiableMapEntry [] : String | Test.java:389:10:389:11 | in : UnmodifiableMapEntry [] : String | provenance | | +| Test.java:388:49:388:64 | (...)... : String | Test.java:308:56:308:62 | value : String | provenance | | +| Test.java:388:49:388:64 | (...)... : String | Test.java:388:30:388:65 | newUMEWithMapValue(...) : UnmodifiableMapEntry [] : String | provenance | MaD:240 | +| Test.java:388:57:388:64 | source(...) : Object | Test.java:388:49:388:64 | (...)... : String | provenance | | +| Test.java:389:10:389:11 | in : UnmodifiableMapEntry [] : String | Test.java:389:10:389:26 | setValue(...) : String | provenance | MaD:22 | +| Test.java:389:10:389:11 | in : UnmodifiableMapEntry [] : String | Test.java:389:10:389:26 | setValue(...) : String | provenance | MaD:193 | +| Test.java:389:10:389:26 | setValue(...) : String | Test.java:390:9:390:11 | out | provenance | | +| Test.java:395:25:395:60 | newDKVWithMapValue(...) : DefaultKeyValue [] : String | Test.java:396:10:396:11 | in : DefaultKeyValue [] : String | provenance | | +| Test.java:395:44:395:59 | (...)... : String | Test.java:291:51:291:57 | value : String | provenance | | +| Test.java:395:44:395:59 | (...)... : String | Test.java:395:25:395:60 | newDKVWithMapValue(...) : DefaultKeyValue [] : String | provenance | MaD:206 | +| Test.java:395:52:395:59 | source(...) : Object | Test.java:395:44:395:59 | (...)... : String | provenance | | +| Test.java:396:10:396:11 | in : DefaultKeyValue [] : String | Test.java:396:10:396:26 | setValue(...) : String | provenance | MaD:193 | +| Test.java:396:10:396:26 | setValue(...) : String | Test.java:397:9:397:11 | out | provenance | | +| Test.java:402:26:402:62 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | Test.java:403:10:403:11 | in : MyAbstractMapEntry [] : String | provenance | | +| Test.java:402:46:402:61 | (...)... : String | Test.java:300:55:300:61 | value : String | provenance | | +| Test.java:402:46:402:61 | (...)... : String | Test.java:402:26:402:62 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | provenance | MaD:196 | +| Test.java:402:54:402:61 | source(...) : Object | Test.java:402:46:402:61 | (...)... : String | provenance | | +| Test.java:403:10:403:11 | in : MyAbstractMapEntry [] : String | Test.java:403:10:403:26 | setValue(...) : String | provenance | MaD:22 | +| Test.java:403:10:403:11 | in : MyAbstractMapEntry [] : String | Test.java:403:10:403:26 | setValue(...) : String | provenance | MaD:193 | +| Test.java:403:10:403:26 | setValue(...) : String | Test.java:404:9:404:11 | out | provenance | | +| Test.java:409:26:409:62 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | Test.java:410:10:410:11 | in : MyAbstractMapEntry [] : String | provenance | | +| Test.java:409:46:409:61 | (...)... : String | Test.java:300:55:300:61 | value : String | provenance | | +| Test.java:409:46:409:61 | (...)... : String | Test.java:409:26:409:62 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | provenance | MaD:196 | +| Test.java:409:54:409:61 | source(...) : Object | Test.java:409:46:409:61 | (...)... : String | provenance | | +| Test.java:410:10:410:11 | in : MyAbstractMapEntry [] : String | Test.java:410:10:410:26 | setValue(...) : String | provenance | MaD:22 | +| Test.java:410:10:410:11 | in : MyAbstractMapEntry [] : String | Test.java:410:10:410:26 | setValue(...) : String | provenance | MaD:193 | +| Test.java:410:10:410:26 | setValue(...) : String | Test.java:411:9:411:11 | out | provenance | | +| Test.java:416:28:416:64 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | Test.java:417:10:417:11 | in : MyAbstractKeyValue [] : String | provenance | | +| Test.java:416:48:416:63 | (...)... : String | Test.java:299:55:299:61 | value : String | provenance | | +| Test.java:416:48:416:63 | (...)... : String | Test.java:416:28:416:64 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | provenance | MaD:190 | +| Test.java:416:56:416:63 | source(...) : Object | Test.java:416:48:416:63 | (...)... : String | provenance | | +| Test.java:417:10:417:11 | in : MyAbstractKeyValue [] : String | Test.java:417:10:417:28 | mySetValue(...) : String | provenance | MaD:193 | +| Test.java:417:10:417:11 | in : MyAbstractKeyValue [] : String | Test.java:7051:5:7051:14 | parameter this : MyAbstractKeyValue [] : String | provenance | | +| Test.java:417:10:417:28 | mySetValue(...) : String | Test.java:418:9:418:11 | out | provenance | | +| Test.java:423:28:423:64 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | Test.java:424:10:424:11 | in : MyAbstractKeyValue [] : String | provenance | | +| Test.java:423:48:423:63 | (...)... : String | Test.java:299:55:299:61 | value : String | provenance | | +| Test.java:423:48:423:63 | (...)... : String | Test.java:423:28:423:64 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | provenance | MaD:190 | +| Test.java:423:56:423:63 | source(...) : Object | Test.java:423:48:423:63 | (...)... : String | provenance | | +| Test.java:424:10:424:11 | in : MyAbstractKeyValue [] : String | Test.java:424:10:424:36 | mySetValue(...) : String | provenance | MaD:193 | +| Test.java:424:10:424:11 | in : MyAbstractKeyValue [] : String | Test.java:7051:5:7051:14 | parameter this : MyAbstractKeyValue [] : String | provenance | | +| Test.java:424:10:424:36 | mySetValue(...) : String | Test.java:425:9:425:11 | out | provenance | | +| Test.java:430:16:430:23 | source(...) : Object | Test.java:431:33:431:34 | in : Object | provenance | | +| Test.java:431:10:431:41 | new MyAbstractMapEntry<>(...) : MyAbstractMapEntry [] : Object | Test.java:432:19:432:21 | out : MyAbstractMapEntry [] : Object | provenance | | +| Test.java:431:33:431:34 | in : Object | Test.java:431:10:431:41 | new MyAbstractMapEntry<>(...) : MyAbstractMapEntry [] : Object | provenance | MaD:195 | +| Test.java:431:33:431:34 | in : Object | Test.java:7057:22:7057:32 | key : Object | provenance | | +| Test.java:432:19:432:21 | out : MyAbstractMapEntry [] : Object | Test.java:237:18:237:48 | container : MyAbstractMapEntry [] : Object | provenance | | +| Test.java:432:19:432:21 | out : MyAbstractMapEntry [] : Object | Test.java:432:9:432:22 | getMapKey(...) | provenance | MaD:568 | +| Test.java:437:16:437:23 | source(...) : Object | Test.java:438:39:438:40 | in : Object | provenance | | +| Test.java:438:10:438:41 | new MyAbstractMapEntry<>(...) : MyAbstractMapEntry [] : Object | Test.java:439:21:439:23 | out : MyAbstractMapEntry [] : Object | provenance | | +| Test.java:438:39:438:40 | in : Object | Test.java:438:10:438:41 | new MyAbstractMapEntry<>(...) : MyAbstractMapEntry [] : Object | provenance | MaD:196 | +| Test.java:438:39:438:40 | in : Object | Test.java:7057:35:7057:47 | value : Object | provenance | | +| Test.java:439:21:439:23 | out : MyAbstractMapEntry [] : Object | Test.java:243:20:243:50 | container : MyAbstractMapEntry [] : Object | provenance | | +| Test.java:439:21:439:23 | out : MyAbstractMapEntry [] : Object | Test.java:439:9:439:24 | getMapValue(...) | provenance | MaD:569 | +| Test.java:444:34:444:68 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | Test.java:445:42:445:43 | in : MyAbstractMapEntry [] : String | provenance | | +| Test.java:444:52:444:67 | (...)... : String | Test.java:280:53:280:57 | key : String | provenance | | +| Test.java:444:52:444:67 | (...)... : String | Test.java:444:34:444:68 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | provenance | MaD:195 | +| Test.java:444:60:444:67 | source(...) : Object | Test.java:444:52:444:67 | (...)... : String | provenance | | +| Test.java:445:10:445:44 | new MyAbstractMapEntryDecorator<>(...) : MyAbstractMapEntryDecorator [] : String | Test.java:446:19:446:21 | out : MyAbstractMapEntryDecorator [] : String | provenance | | +| Test.java:445:42:445:43 | in : MyAbstractMapEntry [] : String | Test.java:445:10:445:44 | new MyAbstractMapEntryDecorator<>(...) : MyAbstractMapEntryDecorator [] : String | provenance | MaD:197 | +| Test.java:445:42:445:43 | in : MyAbstractMapEntry [] : String | Test.java:7067:31:7067:57 | entry : MyAbstractMapEntry [] : String | provenance | | +| Test.java:446:19:446:21 | out : MyAbstractMapEntryDecorator [] : String | Test.java:239:18:239:57 | container : MyAbstractMapEntryDecorator [] : String | provenance | | +| Test.java:446:19:446:21 | out : MyAbstractMapEntryDecorator [] : String | Test.java:446:9:446:22 | getMapKey(...) | provenance | MaD:20 | +| Test.java:446:19:446:21 | out : MyAbstractMapEntryDecorator [] : String | Test.java:446:9:446:22 | getMapKey(...) | provenance | MaD:568 | +| Test.java:451:34:451:70 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | Test.java:452:42:452:43 | in : MyAbstractMapEntry [] : String | provenance | | +| Test.java:451:54:451:69 | (...)... : String | Test.java:300:55:300:61 | value : String | provenance | | +| Test.java:451:54:451:69 | (...)... : String | Test.java:451:34:451:70 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | provenance | MaD:196 | +| Test.java:451:62:451:69 | source(...) : Object | Test.java:451:54:451:69 | (...)... : String | provenance | | +| Test.java:452:10:452:44 | new MyAbstractMapEntryDecorator<>(...) : MyAbstractMapEntryDecorator [] : String | Test.java:453:21:453:23 | out : MyAbstractMapEntryDecorator [] : String | provenance | | +| Test.java:452:42:452:43 | in : MyAbstractMapEntry [] : String | Test.java:452:10:452:44 | new MyAbstractMapEntryDecorator<>(...) : MyAbstractMapEntryDecorator [] : String | provenance | MaD:198 | +| Test.java:452:42:452:43 | in : MyAbstractMapEntry [] : String | Test.java:7067:31:7067:57 | entry : MyAbstractMapEntry [] : String | provenance | | +| Test.java:453:21:453:23 | out : MyAbstractMapEntryDecorator [] : String | Test.java:245:20:245:59 | container : MyAbstractMapEntryDecorator [] : String | provenance | | +| Test.java:453:21:453:23 | out : MyAbstractMapEntryDecorator [] : String | Test.java:453:9:453:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:453:21:453:23 | out : MyAbstractMapEntryDecorator [] : String | Test.java:453:9:453:24 | getMapValue(...) | provenance | MaD:569 | +| Test.java:458:37:458:72 | newMAMEDWithMapKey(...) : MyAbstractMapEntryDecorator [] : String | Test.java:459:10:459:11 | in : MyAbstractMapEntryDecorator [] : String | provenance | | +| Test.java:458:56:458:71 | (...)... : String | Test.java:281:63:281:67 | key : String | provenance | | +| Test.java:458:56:458:71 | (...)... : String | Test.java:458:37:458:72 | newMAMEDWithMapKey(...) : MyAbstractMapEntryDecorator [] : String | provenance | MaD:195 | +| Test.java:458:64:458:71 | source(...) : Object | Test.java:458:56:458:71 | (...)... : String | provenance | | +| Test.java:459:10:459:11 | in : MyAbstractMapEntryDecorator [] : String | Test.java:459:10:459:27 | myGetMapEntry(...) : Entry [] : String | provenance | MaD:199 | +| Test.java:459:10:459:11 | in : MyAbstractMapEntryDecorator [] : String | Test.java:7071:19:7071:31 | parameter this : MyAbstractMapEntryDecorator [] : String | provenance | | +| Test.java:459:10:459:27 | myGetMapEntry(...) : Entry [] : String | Test.java:460:28:460:30 | out : Entry [] : String | provenance | | +| Test.java:460:28:460:30 | out : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | provenance | | +| Test.java:460:28:460:30 | out : Entry [] : String | Test.java:460:9:460:31 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:465:37:465:74 | newMAMEDWithMapValue(...) : MyAbstractMapEntryDecorator [] : String | Test.java:466:10:466:11 | in : MyAbstractMapEntryDecorator [] : String | provenance | | +| Test.java:465:58:465:73 | (...)... : String | Test.java:301:65:301:71 | value : String | provenance | | +| Test.java:465:58:465:73 | (...)... : String | Test.java:465:37:465:74 | newMAMEDWithMapValue(...) : MyAbstractMapEntryDecorator [] : String | provenance | MaD:196 | +| Test.java:465:66:465:73 | source(...) : Object | Test.java:465:58:465:73 | (...)... : String | provenance | | +| Test.java:466:10:466:11 | in : MyAbstractMapEntryDecorator [] : String | Test.java:466:10:466:27 | myGetMapEntry(...) : Entry [] : String | provenance | MaD:200 | +| Test.java:466:10:466:11 | in : MyAbstractMapEntryDecorator [] : String | Test.java:7071:19:7071:31 | parameter this : MyAbstractMapEntryDecorator [] : String | provenance | | +| Test.java:466:10:466:27 | myGetMapEntry(...) : Entry [] : String | Test.java:467:30:467:32 | out : Entry [] : String | provenance | | +| Test.java:467:30:467:32 | out : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | provenance | | +| Test.java:467:30:467:32 | out : Entry [] : String | Test.java:467:9:467:33 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:472:34:472:68 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | Test.java:473:30:473:31 | in : MyAbstractMapEntry [] : String | provenance | | +| Test.java:472:52:472:67 | (...)... : String | Test.java:280:53:280:57 | key : String | provenance | | +| Test.java:472:52:472:67 | (...)... : String | Test.java:472:34:472:68 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | provenance | MaD:195 | +| Test.java:472:60:472:67 | source(...) : Object | Test.java:472:52:472:67 | (...)... : String | provenance | | +| Test.java:473:10:473:32 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : String | Test.java:474:19:474:21 | out : DefaultKeyValue [] : String | provenance | | +| Test.java:473:30:473:31 | in : MyAbstractMapEntry [] : String | Test.java:473:10:473:32 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : String | provenance | MaD:201 | +| Test.java:474:19:474:21 | out : DefaultKeyValue [] : String | Test.java:237:18:237:48 | container : DefaultKeyValue [] : String | provenance | | +| Test.java:474:19:474:21 | out : DefaultKeyValue [] : String | Test.java:474:9:474:22 | getMapKey(...) | provenance | MaD:568 | +| Test.java:479:34:479:70 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | Test.java:480:30:480:31 | in : MyAbstractMapEntry [] : String | provenance | | +| Test.java:479:54:479:69 | (...)... : String | Test.java:300:55:300:61 | value : String | provenance | | +| Test.java:479:54:479:69 | (...)... : String | Test.java:479:34:479:70 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | provenance | MaD:196 | +| Test.java:479:62:479:69 | source(...) : Object | Test.java:479:54:479:69 | (...)... : String | provenance | | +| Test.java:480:10:480:32 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : String | Test.java:481:21:481:23 | out : DefaultKeyValue [] : String | provenance | | +| Test.java:480:30:480:31 | in : MyAbstractMapEntry [] : String | Test.java:480:10:480:32 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : String | provenance | MaD:202 | +| Test.java:481:21:481:23 | out : DefaultKeyValue [] : String | Test.java:243:20:243:50 | container : DefaultKeyValue [] : String | provenance | | +| Test.java:481:21:481:23 | out : DefaultKeyValue [] : String | Test.java:481:9:481:24 | getMapValue(...) | provenance | MaD:569 | +| Test.java:486:18:486:52 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | Test.java:487:30:487:31 | in : MyAbstractKeyValue [] : String | provenance | | +| Test.java:486:36:486:51 | (...)... : String | Test.java:282:53:282:57 | key : String | provenance | | +| Test.java:486:36:486:51 | (...)... : String | Test.java:486:18:486:52 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | provenance | MaD:189 | +| Test.java:486:44:486:51 | source(...) : Object | Test.java:486:36:486:51 | (...)... : String | provenance | | +| Test.java:487:10:487:32 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : String | Test.java:488:19:488:21 | out : DefaultKeyValue [] : String | provenance | | +| Test.java:487:30:487:31 | in : MyAbstractKeyValue [] : String | Test.java:487:10:487:32 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : String | provenance | MaD:203 | +| Test.java:488:19:488:21 | out : DefaultKeyValue [] : String | Test.java:237:18:237:48 | container : DefaultKeyValue [] : String | provenance | | +| Test.java:488:19:488:21 | out : DefaultKeyValue [] : String | Test.java:488:9:488:22 | getMapKey(...) | provenance | MaD:568 | +| Test.java:493:18:493:54 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | Test.java:494:30:494:31 | in : MyAbstractKeyValue [] : String | provenance | | +| Test.java:493:38:493:53 | (...)... : String | Test.java:299:55:299:61 | value : String | provenance | | +| Test.java:493:38:493:53 | (...)... : String | Test.java:493:18:493:54 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | provenance | MaD:190 | +| Test.java:493:46:493:53 | source(...) : Object | Test.java:493:38:493:53 | (...)... : String | provenance | | +| Test.java:494:10:494:32 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : String | Test.java:495:21:495:23 | out : DefaultKeyValue [] : String | provenance | | +| Test.java:494:30:494:31 | in : MyAbstractKeyValue [] : String | Test.java:494:10:494:32 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : String | provenance | MaD:204 | +| Test.java:495:21:495:23 | out : DefaultKeyValue [] : String | Test.java:243:20:243:50 | container : DefaultKeyValue [] : String | provenance | | +| Test.java:495:21:495:23 | out : DefaultKeyValue [] : String | Test.java:495:9:495:24 | getMapValue(...) | provenance | MaD:569 | +| Test.java:500:16:500:23 | source(...) : Object | Test.java:501:30:501:31 | in : Object | provenance | | +| Test.java:501:10:501:38 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : Object | Test.java:502:19:502:21 | out : DefaultKeyValue [] : Object | provenance | | +| Test.java:501:30:501:31 | in : Object | Test.java:501:10:501:38 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : Object | provenance | MaD:205 | +| Test.java:502:19:502:21 | out : DefaultKeyValue [] : Object | Test.java:237:18:237:48 | container : DefaultKeyValue [] : Object | provenance | | +| Test.java:502:19:502:21 | out : DefaultKeyValue [] : Object | Test.java:502:9:502:22 | getMapKey(...) | provenance | MaD:568 | +| Test.java:507:16:507:23 | source(...) : Object | Test.java:508:36:508:37 | in : Object | provenance | | +| Test.java:508:10:508:38 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : Object | Test.java:509:21:509:23 | out : DefaultKeyValue [] : Object | provenance | | +| Test.java:508:36:508:37 | in : Object | Test.java:508:10:508:38 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : Object | provenance | MaD:206 | +| Test.java:509:21:509:23 | out : DefaultKeyValue [] : Object | Test.java:243:20:243:50 | container : DefaultKeyValue [] : Object | provenance | | +| Test.java:509:21:509:23 | out : DefaultKeyValue [] : Object | Test.java:509:9:509:24 | getMapValue(...) | provenance | MaD:569 | +| Test.java:514:25:514:58 | newDKVWithMapKey(...) : DefaultKeyValue [] : String | Test.java:515:10:515:11 | in : DefaultKeyValue [] : String | provenance | | +| Test.java:514:42:514:57 | (...)... : String | Test.java:273:49:273:53 | key : String | provenance | | +| Test.java:514:42:514:57 | (...)... : String | Test.java:514:25:514:58 | newDKVWithMapKey(...) : DefaultKeyValue [] : String | provenance | MaD:205 | +| Test.java:514:50:514:57 | source(...) : Object | Test.java:514:42:514:57 | (...)... : String | provenance | | +| Test.java:515:10:515:11 | in : DefaultKeyValue [] : String | Test.java:515:10:515:24 | toMapEntry(...) : Entry [] : String | provenance | MaD:207 | +| Test.java:515:10:515:24 | toMapEntry(...) : Entry [] : String | Test.java:516:28:516:30 | out : Entry [] : String | provenance | | +| Test.java:516:28:516:30 | out : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | provenance | | +| Test.java:516:28:516:30 | out : Entry [] : String | Test.java:516:9:516:31 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:521:25:521:60 | newDKVWithMapValue(...) : DefaultKeyValue [] : String | Test.java:522:10:522:11 | in : DefaultKeyValue [] : String | provenance | | +| Test.java:521:44:521:59 | (...)... : String | Test.java:291:51:291:57 | value : String | provenance | | +| Test.java:521:44:521:59 | (...)... : String | Test.java:521:25:521:60 | newDKVWithMapValue(...) : DefaultKeyValue [] : String | provenance | MaD:206 | +| Test.java:521:52:521:59 | source(...) : Object | Test.java:521:44:521:59 | (...)... : String | provenance | | +| Test.java:522:10:522:11 | in : DefaultKeyValue [] : String | Test.java:522:10:522:24 | toMapEntry(...) : Entry [] : String | provenance | MaD:208 | +| Test.java:522:10:522:24 | toMapEntry(...) : Entry [] : String | Test.java:523:30:523:32 | out : Entry [] : String | provenance | | +| Test.java:523:30:523:32 | out : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | provenance | | +| Test.java:523:30:523:32 | out : Entry [] : String | Test.java:523:9:523:33 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:528:34:528:68 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | Test.java:529:30:529:31 | in : MyAbstractMapEntry [] : String | provenance | | +| Test.java:528:52:528:67 | (...)... : String | Test.java:280:53:280:57 | key : String | provenance | | +| Test.java:528:52:528:67 | (...)... : String | Test.java:528:34:528:68 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | provenance | MaD:195 | +| Test.java:528:60:528:67 | source(...) : Object | Test.java:528:52:528:67 | (...)... : String | provenance | | +| Test.java:529:10:529:32 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : String | Test.java:530:19:530:21 | out : DefaultMapEntry [] : String | provenance | | +| Test.java:529:30:529:31 | in : MyAbstractMapEntry [] : String | Test.java:529:10:529:32 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : String | provenance | MaD:209 | +| Test.java:530:19:530:21 | out : DefaultMapEntry [] : String | Test.java:237:18:237:48 | container : DefaultMapEntry [] : String | provenance | | +| Test.java:530:19:530:21 | out : DefaultMapEntry [] : String | Test.java:530:9:530:22 | getMapKey(...) | provenance | MaD:568 | +| Test.java:535:34:535:70 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | Test.java:536:30:536:31 | in : MyAbstractMapEntry [] : String | provenance | | +| Test.java:535:54:535:69 | (...)... : String | Test.java:300:55:300:61 | value : String | provenance | | +| Test.java:535:54:535:69 | (...)... : String | Test.java:535:34:535:70 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | provenance | MaD:196 | +| Test.java:535:62:535:69 | source(...) : Object | Test.java:535:54:535:69 | (...)... : String | provenance | | +| Test.java:536:10:536:32 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : String | Test.java:537:21:537:23 | out : DefaultMapEntry [] : String | provenance | | +| Test.java:536:30:536:31 | in : MyAbstractMapEntry [] : String | Test.java:536:10:536:32 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : String | provenance | MaD:210 | +| Test.java:537:21:537:23 | out : DefaultMapEntry [] : String | Test.java:243:20:243:50 | container : DefaultMapEntry [] : String | provenance | | +| Test.java:537:21:537:23 | out : DefaultMapEntry [] : String | Test.java:537:9:537:24 | getMapValue(...) | provenance | MaD:569 | +| Test.java:542:18:542:52 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | Test.java:543:30:543:31 | in : MyAbstractKeyValue [] : String | provenance | | +| Test.java:542:36:542:51 | (...)... : String | Test.java:282:53:282:57 | key : String | provenance | | +| Test.java:542:36:542:51 | (...)... : String | Test.java:542:18:542:52 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | provenance | MaD:189 | +| Test.java:542:44:542:51 | source(...) : Object | Test.java:542:36:542:51 | (...)... : String | provenance | | +| Test.java:543:10:543:32 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : String | Test.java:544:19:544:21 | out : DefaultMapEntry [] : String | provenance | | +| Test.java:543:30:543:31 | in : MyAbstractKeyValue [] : String | Test.java:543:10:543:32 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : String | provenance | MaD:211 | +| Test.java:544:19:544:21 | out : DefaultMapEntry [] : String | Test.java:237:18:237:48 | container : DefaultMapEntry [] : String | provenance | | +| Test.java:544:19:544:21 | out : DefaultMapEntry [] : String | Test.java:544:9:544:22 | getMapKey(...) | provenance | MaD:568 | +| Test.java:549:18:549:54 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | Test.java:550:30:550:31 | in : MyAbstractKeyValue [] : String | provenance | | +| Test.java:549:38:549:53 | (...)... : String | Test.java:299:55:299:61 | value : String | provenance | | +| Test.java:549:38:549:53 | (...)... : String | Test.java:549:18:549:54 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | provenance | MaD:190 | +| Test.java:549:46:549:53 | source(...) : Object | Test.java:549:38:549:53 | (...)... : String | provenance | | +| Test.java:550:10:550:32 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : String | Test.java:551:21:551:23 | out : DefaultMapEntry [] : String | provenance | | +| Test.java:550:30:550:31 | in : MyAbstractKeyValue [] : String | Test.java:550:10:550:32 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : String | provenance | MaD:212 | +| Test.java:551:21:551:23 | out : DefaultMapEntry [] : String | Test.java:243:20:243:50 | container : DefaultMapEntry [] : String | provenance | | +| Test.java:551:21:551:23 | out : DefaultMapEntry [] : String | Test.java:551:9:551:24 | getMapValue(...) | provenance | MaD:569 | +| Test.java:556:16:556:23 | source(...) : Object | Test.java:557:30:557:31 | in : Object | provenance | | +| Test.java:557:10:557:38 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : Object | Test.java:558:19:558:21 | out : DefaultMapEntry [] : Object | provenance | | +| Test.java:557:30:557:31 | in : Object | Test.java:557:10:557:38 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : Object | provenance | MaD:213 | +| Test.java:558:19:558:21 | out : DefaultMapEntry [] : Object | Test.java:237:18:237:48 | container : DefaultMapEntry [] : Object | provenance | | +| Test.java:558:19:558:21 | out : DefaultMapEntry [] : Object | Test.java:558:9:558:22 | getMapKey(...) | provenance | MaD:568 | +| Test.java:563:16:563:23 | source(...) : Object | Test.java:564:36:564:37 | in : Object | provenance | | +| Test.java:564:10:564:38 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : Object | Test.java:565:21:565:23 | out : DefaultMapEntry [] : Object | provenance | | +| Test.java:564:36:564:37 | in : Object | Test.java:564:10:564:38 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : Object | provenance | MaD:214 | +| Test.java:565:21:565:23 | out : DefaultMapEntry [] : Object | Test.java:243:20:243:50 | container : DefaultMapEntry [] : Object | provenance | | +| Test.java:565:21:565:23 | out : DefaultMapEntry [] : Object | Test.java:565:9:565:24 | getMapValue(...) | provenance | MaD:569 | +| Test.java:570:16:570:23 | source(...) : Object | Test.java:571:33:571:34 | in : Object | provenance | | +| Test.java:571:10:571:35 | new TiedMapEntry<>(...) : TiedMapEntry [] : Object | Test.java:572:28:572:30 | out : TiedMapEntry [] : Object | provenance | | +| Test.java:571:33:571:34 | in : Object | Test.java:571:10:571:35 | new TiedMapEntry<>(...) : TiedMapEntry [] : Object | provenance | MaD:234 | +| Test.java:572:28:572:30 | out : TiedMapEntry [] : Object | Test.java:238:27:238:50 | container : TiedMapEntry [] : Object | provenance | | +| Test.java:572:28:572:30 | out : TiedMapEntry [] : Object | Test.java:572:9:572:31 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:577:13:577:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:578:27:578:28 | in : TreeMap [] : String | provenance | | +| Test.java:577:36:577:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:577:36:577:51 | (...)... : String | Test.java:577:13:577:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:577:44:577:51 | source(...) : Object | Test.java:577:36:577:51 | (...)... : String | provenance | | +| Test.java:578:10:578:35 | new TiedMapEntry<>(...) : TiedMapEntry [] : String | Test.java:579:30:579:32 | out : TiedMapEntry [] : String | provenance | | +| Test.java:578:27:578:28 | in : TreeMap [] : String | Test.java:578:10:578:35 | new TiedMapEntry<>(...) : TiedMapEntry [] : String | provenance | MaD:233 | +| Test.java:579:30:579:32 | out : TiedMapEntry [] : String | Test.java:244:29:244:52 | container : TiedMapEntry [] : String | provenance | | +| Test.java:579:30:579:32 | out : TiedMapEntry [] : String | Test.java:579:9:579:33 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:584:34:584:68 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | Test.java:585:35:585:36 | in : MyAbstractMapEntry [] : String | provenance | | +| Test.java:584:52:584:67 | (...)... : String | Test.java:280:53:280:57 | key : String | provenance | | +| Test.java:584:52:584:67 | (...)... : String | Test.java:584:34:584:68 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | provenance | MaD:195 | +| Test.java:584:60:584:67 | source(...) : Object | Test.java:584:52:584:67 | (...)... : String | provenance | | +| Test.java:585:10:585:37 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : String | Test.java:586:19:586:21 | out : UnmodifiableMapEntry [] : String | provenance | | +| Test.java:585:35:585:36 | in : MyAbstractMapEntry [] : String | Test.java:585:10:585:37 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : String | provenance | MaD:235 | +| Test.java:586:19:586:21 | out : UnmodifiableMapEntry [] : String | Test.java:237:18:237:48 | container : UnmodifiableMapEntry [] : String | provenance | | +| Test.java:586:19:586:21 | out : UnmodifiableMapEntry [] : String | Test.java:586:9:586:22 | getMapKey(...) | provenance | MaD:568 | +| Test.java:591:34:591:70 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | Test.java:592:35:592:36 | in : MyAbstractMapEntry [] : String | provenance | | +| Test.java:591:54:591:69 | (...)... : String | Test.java:300:55:300:61 | value : String | provenance | | +| Test.java:591:54:591:69 | (...)... : String | Test.java:591:34:591:70 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | provenance | MaD:196 | +| Test.java:591:62:591:69 | source(...) : Object | Test.java:591:54:591:69 | (...)... : String | provenance | | +| Test.java:592:10:592:37 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : String | Test.java:593:21:593:23 | out : UnmodifiableMapEntry [] : String | provenance | | +| Test.java:592:35:592:36 | in : MyAbstractMapEntry [] : String | Test.java:592:10:592:37 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : String | provenance | MaD:236 | +| Test.java:593:21:593:23 | out : UnmodifiableMapEntry [] : String | Test.java:243:20:243:50 | container : UnmodifiableMapEntry [] : String | provenance | | +| Test.java:593:21:593:23 | out : UnmodifiableMapEntry [] : String | Test.java:593:9:593:24 | getMapValue(...) | provenance | MaD:569 | +| Test.java:598:18:598:52 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | Test.java:599:35:599:36 | in : MyAbstractKeyValue [] : String | provenance | | +| Test.java:598:36:598:51 | (...)... : String | Test.java:282:53:282:57 | key : String | provenance | | +| Test.java:598:36:598:51 | (...)... : String | Test.java:598:18:598:52 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | provenance | MaD:189 | +| Test.java:598:44:598:51 | source(...) : Object | Test.java:598:36:598:51 | (...)... : String | provenance | | +| Test.java:599:10:599:37 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : String | Test.java:600:19:600:21 | out : UnmodifiableMapEntry [] : String | provenance | | +| Test.java:599:35:599:36 | in : MyAbstractKeyValue [] : String | Test.java:599:10:599:37 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : String | provenance | MaD:237 | +| Test.java:600:19:600:21 | out : UnmodifiableMapEntry [] : String | Test.java:237:18:237:48 | container : UnmodifiableMapEntry [] : String | provenance | | +| Test.java:600:19:600:21 | out : UnmodifiableMapEntry [] : String | Test.java:600:9:600:22 | getMapKey(...) | provenance | MaD:568 | +| Test.java:605:18:605:54 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | Test.java:606:35:606:36 | in : MyAbstractKeyValue [] : String | provenance | | +| Test.java:605:38:605:53 | (...)... : String | Test.java:299:55:299:61 | value : String | provenance | | +| Test.java:605:38:605:53 | (...)... : String | Test.java:605:18:605:54 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | provenance | MaD:190 | +| Test.java:605:46:605:53 | source(...) : Object | Test.java:605:38:605:53 | (...)... : String | provenance | | +| Test.java:606:10:606:37 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : String | Test.java:607:21:607:23 | out : UnmodifiableMapEntry [] : String | provenance | | +| Test.java:606:35:606:36 | in : MyAbstractKeyValue [] : String | Test.java:606:10:606:37 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : String | provenance | MaD:238 | +| Test.java:607:21:607:23 | out : UnmodifiableMapEntry [] : String | Test.java:243:20:243:50 | container : UnmodifiableMapEntry [] : String | provenance | | +| Test.java:607:21:607:23 | out : UnmodifiableMapEntry [] : String | Test.java:607:9:607:24 | getMapValue(...) | provenance | MaD:569 | +| Test.java:612:16:612:23 | source(...) : Object | Test.java:613:35:613:36 | in : Object | provenance | | +| Test.java:613:10:613:43 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : Object | Test.java:614:19:614:21 | out : UnmodifiableMapEntry [] : Object | provenance | | +| Test.java:613:35:613:36 | in : Object | Test.java:613:10:613:43 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : Object | provenance | MaD:239 | +| Test.java:614:19:614:21 | out : UnmodifiableMapEntry [] : Object | Test.java:237:18:237:48 | container : UnmodifiableMapEntry [] : Object | provenance | | +| Test.java:614:19:614:21 | out : UnmodifiableMapEntry [] : Object | Test.java:614:9:614:22 | getMapKey(...) | provenance | MaD:568 | +| Test.java:619:16:619:23 | source(...) : Object | Test.java:620:41:620:42 | in : Object | provenance | | +| Test.java:620:10:620:43 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : Object | Test.java:621:21:621:23 | out : UnmodifiableMapEntry [] : Object | provenance | | +| Test.java:620:41:620:42 | in : Object | Test.java:620:10:620:43 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : Object | provenance | MaD:240 | +| Test.java:621:21:621:23 | out : UnmodifiableMapEntry [] : Object | Test.java:243:20:243:50 | container : UnmodifiableMapEntry [] : Object | provenance | | +| Test.java:621:21:621:23 | out : UnmodifiableMapEntry [] : Object | Test.java:621:9:621:24 | getMapValue(...) | provenance | MaD:569 | +| Test.java:626:22:626:55 | newTMEWithMapKey(...) : TiedMapEntry [] : String | Test.java:627:10:627:11 | in : TiedMapEntry [] : String | provenance | | +| Test.java:626:39:626:54 | (...)... : String | Test.java:286:46:286:50 | key : String | provenance | | +| Test.java:626:39:626:54 | (...)... : String | Test.java:626:22:626:55 | newTMEWithMapKey(...) : TiedMapEntry [] : String | provenance | MaD:234 | +| Test.java:626:47:626:54 | source(...) : Object | Test.java:626:39:626:54 | (...)... : String | provenance | | +| Test.java:627:10:627:11 | in : TiedMapEntry [] : String | Test.java:627:10:627:20 | getKey(...) : String | provenance | MaD:20 | +| Test.java:627:10:627:11 | in : TiedMapEntry [] : String | Test.java:627:10:627:20 | getKey(...) : String | provenance | MaD:568 | +| Test.java:627:10:627:20 | getKey(...) : String | Test.java:628:9:628:11 | out | provenance | | +| Test.java:633:18:633:52 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | Test.java:634:10:634:11 | in : MyAbstractKeyValue [] : String | provenance | | +| Test.java:633:36:633:51 | (...)... : String | Test.java:282:53:282:57 | key : String | provenance | | +| Test.java:633:36:633:51 | (...)... : String | Test.java:633:18:633:52 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | provenance | MaD:189 | +| Test.java:633:44:633:51 | source(...) : Object | Test.java:633:36:633:51 | (...)... : String | provenance | | +| Test.java:634:10:634:11 | in : MyAbstractKeyValue [] : String | Test.java:634:10:634:20 | getKey(...) : String | provenance | MaD:568 | +| Test.java:634:10:634:20 | getKey(...) : String | Test.java:635:9:635:11 | out | provenance | | +| Test.java:640:35:640:70 | newMAMEDWithMapKey(...) : MyAbstractMapEntryDecorator [] : String | Test.java:641:10:641:11 | in : MyAbstractMapEntryDecorator [] : String | provenance | | +| Test.java:640:54:640:69 | (...)... : String | Test.java:281:63:281:67 | key : String | provenance | | +| Test.java:640:54:640:69 | (...)... : String | Test.java:640:35:640:70 | newMAMEDWithMapKey(...) : MyAbstractMapEntryDecorator [] : String | provenance | MaD:195 | +| Test.java:640:62:640:69 | source(...) : Object | Test.java:640:54:640:69 | (...)... : String | provenance | | +| Test.java:641:10:641:11 | in : MyAbstractMapEntryDecorator [] : String | Test.java:641:10:641:20 | getKey(...) : String | provenance | MaD:20 | +| Test.java:641:10:641:11 | in : MyAbstractMapEntryDecorator [] : String | Test.java:641:10:641:20 | getKey(...) : String | provenance | MaD:568 | +| Test.java:641:10:641:20 | getKey(...) : String | Test.java:642:9:642:11 | out | provenance | | +| Test.java:647:26:647:60 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | Test.java:648:10:648:11 | in : MyAbstractKeyValue [] : String | provenance | | +| Test.java:647:44:647:59 | (...)... : String | Test.java:282:53:282:57 | key : String | provenance | | +| Test.java:647:44:647:59 | (...)... : String | Test.java:647:26:647:60 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | provenance | MaD:189 | +| Test.java:647:52:647:59 | source(...) : Object | Test.java:647:44:647:59 | (...)... : String | provenance | | +| Test.java:648:10:648:11 | in : MyAbstractKeyValue [] : String | Test.java:648:10:648:20 | getKey(...) : String | provenance | MaD:568 | +| Test.java:648:10:648:20 | getKey(...) : String | Test.java:649:9:649:11 | out | provenance | | +| Test.java:654:22:654:57 | newTMEWithMapValue(...) : TiedMapEntry [] : String | Test.java:655:10:655:11 | in : TiedMapEntry [] : String | provenance | | +| Test.java:654:41:654:56 | (...)... : String | Test.java:305:48:305:54 | value : String | provenance | | +| Test.java:654:41:654:56 | (...)... : String | Test.java:654:22:654:57 | newTMEWithMapValue(...) : TiedMapEntry [] : String | provenance | MaD:15 | +| Test.java:654:49:654:56 | source(...) : Object | Test.java:654:41:654:56 | (...)... : String | provenance | | +| Test.java:655:10:655:11 | in : TiedMapEntry [] : String | Test.java:655:10:655:22 | getValue(...) : String | provenance | MaD:21 | +| Test.java:655:10:655:11 | in : TiedMapEntry [] : String | Test.java:655:10:655:22 | getValue(...) : String | provenance | MaD:569 | +| Test.java:655:10:655:22 | getValue(...) : String | Test.java:656:9:656:11 | out | provenance | | +| Test.java:661:18:661:54 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | Test.java:662:10:662:11 | in : MyAbstractKeyValue [] : String | provenance | | +| Test.java:661:38:661:53 | (...)... : String | Test.java:299:55:299:61 | value : String | provenance | | +| Test.java:661:38:661:53 | (...)... : String | Test.java:661:18:661:54 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | provenance | MaD:190 | +| Test.java:661:46:661:53 | source(...) : Object | Test.java:661:38:661:53 | (...)... : String | provenance | | +| Test.java:662:10:662:11 | in : MyAbstractKeyValue [] : String | Test.java:662:10:662:22 | getValue(...) : String | provenance | MaD:569 | +| Test.java:662:10:662:22 | getValue(...) : String | Test.java:663:9:663:11 | out | provenance | | +| Test.java:668:35:668:72 | newMAMEDWithMapValue(...) : MyAbstractMapEntryDecorator [] : String | Test.java:669:10:669:11 | in : MyAbstractMapEntryDecorator [] : String | provenance | | +| Test.java:668:56:668:71 | (...)... : String | Test.java:301:65:301:71 | value : String | provenance | | +| Test.java:668:56:668:71 | (...)... : String | Test.java:668:35:668:72 | newMAMEDWithMapValue(...) : MyAbstractMapEntryDecorator [] : String | provenance | MaD:196 | +| Test.java:668:64:668:71 | source(...) : Object | Test.java:668:56:668:71 | (...)... : String | provenance | | +| Test.java:669:10:669:11 | in : MyAbstractMapEntryDecorator [] : String | Test.java:669:10:669:22 | getValue(...) : String | provenance | MaD:21 | +| Test.java:669:10:669:11 | in : MyAbstractMapEntryDecorator [] : String | Test.java:669:10:669:22 | getValue(...) : String | provenance | MaD:569 | +| Test.java:669:10:669:22 | getValue(...) : String | Test.java:670:9:670:11 | out | provenance | | +| Test.java:675:26:675:62 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | Test.java:676:10:676:11 | in : MyAbstractKeyValue [] : String | provenance | | +| Test.java:675:46:675:61 | (...)... : String | Test.java:299:55:299:61 | value : String | provenance | | +| Test.java:675:46:675:61 | (...)... : String | Test.java:675:26:675:62 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | provenance | MaD:190 | +| Test.java:675:54:675:61 | source(...) : Object | Test.java:675:46:675:61 | (...)... : String | provenance | | +| Test.java:676:10:676:11 | in : MyAbstractKeyValue [] : String | Test.java:676:10:676:22 | getValue(...) : String | provenance | MaD:569 | +| Test.java:676:10:676:22 | getValue(...) : String | Test.java:677:9:677:11 | out | provenance | | +| Test.java:682:13:682:25 | (...)... : Map | Test.java:683:31:683:32 | in : Map | provenance | | +| Test.java:682:18:682:25 | source(...) : Object | Test.java:682:13:682:25 | (...)... : Map | provenance | | +| Test.java:683:10:683:33 | emptyIfNull(...) : Map | Test.java:684:9:684:11 | out | provenance | | +| Test.java:683:31:683:32 | in : Map | Test.java:683:10:683:33 | emptyIfNull(...) : Map | provenance | MaD:601 | +| Test.java:689:13:689:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:690:32:690:33 | in : TreeMap [] : String | provenance | | +| Test.java:689:34:689:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:689:34:689:49 | (...)... : String | Test.java:689:13:689:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:689:42:689:49 | source(...) : Object | Test.java:689:34:689:49 | (...)... : String | provenance | | +| Test.java:690:10:690:34 | fixedSizeMap(...) : IterableMap [] : String | Test.java:691:19:691:21 | out : IterableMap [] : String | provenance | | +| Test.java:690:32:690:33 | in : TreeMap [] : String | Test.java:690:10:690:34 | fixedSizeMap(...) : IterableMap [] : String | provenance | MaD:602 | +| Test.java:691:19:691:21 | out : IterableMap [] : String | Test.java:228:18:228:29 | map : IterableMap [] : String | provenance | | +| Test.java:691:19:691:21 | out : IterableMap [] : String | Test.java:691:9:691:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:696:13:696:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:697:32:697:33 | in : TreeMap [] : String | provenance | | +| Test.java:696:36:696:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:696:36:696:51 | (...)... : String | Test.java:696:13:696:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:696:44:696:51 | source(...) : Object | Test.java:696:36:696:51 | (...)... : String | provenance | | +| Test.java:697:10:697:34 | fixedSizeMap(...) : IterableMap [] : String | Test.java:698:21:698:23 | out : IterableMap [] : String | provenance | | +| Test.java:697:32:697:33 | in : TreeMap [] : String | Test.java:697:10:697:34 | fixedSizeMap(...) : IterableMap [] : String | provenance | MaD:603 | +| Test.java:698:21:698:23 | out : IterableMap [] : String | Test.java:232:20:232:31 | map : IterableMap [] : String | provenance | | +| Test.java:698:21:698:23 | out : IterableMap [] : String | Test.java:698:9:698:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:703:19:703:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:704:38:704:39 | in : TreeMap [] : String | provenance | | +| Test.java:703:40:703:55 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:703:40:703:55 | (...)... : String | Test.java:703:19:703:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:703:48:703:55 | source(...) : Object | Test.java:703:40:703:55 | (...)... : String | provenance | | +| Test.java:704:10:704:40 | fixedSizeSortedMap(...) : SortedMap [] : String | Test.java:705:19:705:21 | out : SortedMap [] : String | provenance | | +| Test.java:704:38:704:39 | in : TreeMap [] : String | Test.java:704:10:704:40 | fixedSizeSortedMap(...) : SortedMap [] : String | provenance | MaD:604 | +| Test.java:705:19:705:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | provenance | | +| Test.java:705:19:705:21 | out : SortedMap [] : String | Test.java:705:9:705:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:710:19:710:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:711:38:711:39 | in : TreeMap [] : String | provenance | | +| Test.java:710:42:710:57 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:710:42:710:57 | (...)... : String | Test.java:710:19:710:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:710:50:710:57 | source(...) : Object | Test.java:710:42:710:57 | (...)... : String | provenance | | +| Test.java:711:10:711:40 | fixedSizeSortedMap(...) : SortedMap [] : String | Test.java:712:21:712:23 | out : SortedMap [] : String | provenance | | +| Test.java:711:38:711:39 | in : TreeMap [] : String | Test.java:711:10:711:40 | fixedSizeSortedMap(...) : SortedMap [] : String | provenance | MaD:605 | +| Test.java:712:21:712:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | provenance | | +| Test.java:712:21:712:23 | out : SortedMap [] : String | Test.java:712:9:712:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:717:13:717:25 | (...)... : Map | Test.java:718:38:718:39 | in : Map | provenance | | +| Test.java:717:18:717:25 | source(...) : Object | Test.java:717:13:717:25 | (...)... : Map | provenance | | +| Test.java:718:10:718:40 | getMap(...) : Map | Test.java:719:9:719:11 | out | provenance | | +| Test.java:718:38:718:39 | in : Map | Test.java:718:10:718:40 | getMap(...) : Map | provenance | MaD:607 | +| Test.java:724:13:724:49 | newTreeMapWithMapValue(...) : TreeMap [] : Map | Test.java:725:26:725:27 | in : TreeMap [] : Map | provenance | | +| Test.java:724:36:724:48 | (...)... : Map | Test.java:304:49:304:55 | value : Map | provenance | | +| Test.java:724:36:724:48 | (...)... : Map | Test.java:724:13:724:49 | newTreeMapWithMapValue(...) : TreeMap [] : Map | provenance | MaD:15 | +| Test.java:724:41:724:48 | source(...) : Object | Test.java:724:36:724:48 | (...)... : Map | provenance | | +| Test.java:725:10:725:40 | getMap(...) : Map | Test.java:726:9:726:11 | out | provenance | | +| Test.java:725:26:725:27 | in : TreeMap [] : Map | Test.java:725:10:725:40 | getMap(...) : Map | provenance | MaD:606 | +| Test.java:731:13:731:49 | newTreeMapWithMapValue(...) : TreeMap [] : Map | Test.java:732:26:732:27 | in : TreeMap [] : Map | provenance | | +| Test.java:731:36:731:48 | (...)... : Map | Test.java:304:49:304:55 | value : Map | provenance | | +| Test.java:731:36:731:48 | (...)... : Map | Test.java:731:13:731:49 | newTreeMapWithMapValue(...) : TreeMap [] : Map | provenance | MaD:15 | +| Test.java:731:41:731:48 | source(...) : Object | Test.java:731:36:731:48 | (...)... : Map | provenance | | +| Test.java:732:10:732:34 | getMap(...) : Map | Test.java:733:9:733:11 | out | provenance | | +| Test.java:732:26:732:27 | in : TreeMap [] : Map | Test.java:732:10:732:34 | getMap(...) : Map | provenance | MaD:606 | +| Test.java:738:16:738:23 | source(...) : Object | Test.java:739:41:739:42 | in : Object | provenance | | +| Test.java:739:10:739:43 | getObject(...) : Object | Test.java:740:9:740:11 | out | provenance | | +| Test.java:739:41:739:42 | in : Object | Test.java:739:10:739:43 | getObject(...) : Object | provenance | MaD:609 | +| Test.java:745:13:745:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:746:29:746:30 | in : TreeMap [] : String | provenance | | +| Test.java:745:36:745:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:745:36:745:51 | (...)... : String | Test.java:745:13:745:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:745:44:745:51 | source(...) : Object | Test.java:745:36:745:51 | (...)... : String | provenance | | +| Test.java:746:10:746:43 | getObject(...) : String | Test.java:747:9:747:11 | out | provenance | | +| Test.java:746:29:746:30 | in : TreeMap [] : String | Test.java:746:10:746:43 | getObject(...) : String | provenance | MaD:608 | +| Test.java:752:13:752:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:753:29:753:30 | in : TreeMap [] : String | provenance | | +| Test.java:752:36:752:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:752:36:752:51 | (...)... : String | Test.java:752:13:752:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:752:44:752:51 | source(...) : Object | Test.java:752:36:752:51 | (...)... : String | provenance | | +| Test.java:753:10:753:37 | getObject(...) : String | Test.java:754:9:754:11 | out | provenance | | +| Test.java:753:29:753:30 | in : TreeMap [] : String | Test.java:753:10:753:37 | getObject(...) : String | provenance | MaD:608 | +| Test.java:759:16:759:31 | (...)... : String | Test.java:760:41:760:42 | in : String | provenance | | +| Test.java:759:24:759:31 | source(...) : Object | Test.java:759:16:759:31 | (...)... : String | provenance | | +| Test.java:760:10:760:43 | getString(...) : String | Test.java:761:9:761:11 | out | provenance | | +| Test.java:760:41:760:42 | in : String | Test.java:760:10:760:43 | getString(...) : String | provenance | MaD:611 | +| Test.java:766:13:766:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:767:29:767:30 | in : TreeMap [] : String | provenance | | +| Test.java:766:36:766:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:766:36:766:51 | (...)... : String | Test.java:766:13:766:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:766:44:766:51 | source(...) : Object | Test.java:766:36:766:51 | (...)... : String | provenance | | +| Test.java:767:10:767:43 | getString(...) : String | Test.java:768:9:768:11 | out | provenance | | +| Test.java:767:29:767:30 | in : TreeMap [] : String | Test.java:767:10:767:43 | getString(...) : String | provenance | MaD:610 | +| Test.java:773:13:773:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:774:29:774:30 | in : TreeMap [] : String | provenance | | +| Test.java:773:36:773:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:773:36:773:51 | (...)... : String | Test.java:773:13:773:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:773:44:773:51 | source(...) : Object | Test.java:773:36:773:51 | (...)... : String | provenance | | +| Test.java:774:10:774:37 | getString(...) : String | Test.java:775:9:775:11 | out | provenance | | +| Test.java:774:29:774:30 | in : TreeMap [] : String | Test.java:774:10:774:37 | getString(...) : String | provenance | MaD:610 | +| Test.java:780:13:780:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:781:29:781:30 | in : TreeMap [] : String | provenance | | +| Test.java:780:34:780:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:780:34:780:49 | (...)... : String | Test.java:780:13:780:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:780:42:780:49 | source(...) : Object | Test.java:780:34:780:49 | (...)... : String | provenance | | +| Test.java:781:10:781:31 | invertMap(...) : Map [] : String | Test.java:782:21:782:23 | out : Map [] : String | provenance | | +| Test.java:781:29:781:30 | in : TreeMap [] : String | Test.java:781:10:781:31 | invertMap(...) : Map [] : String | provenance | MaD:612 | +| Test.java:782:21:782:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | provenance | | +| Test.java:782:21:782:23 | out : Map [] : String | Test.java:782:9:782:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:787:13:787:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:788:29:788:30 | in : TreeMap [] : String | provenance | | +| Test.java:787:36:787:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:787:36:787:51 | (...)... : String | Test.java:787:13:787:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:787:44:787:51 | source(...) : Object | Test.java:787:36:787:51 | (...)... : String | provenance | | +| Test.java:788:10:788:31 | invertMap(...) : Map [] : String | Test.java:789:19:789:21 | out : Map [] : String | provenance | | +| Test.java:788:29:788:30 | in : TreeMap [] : String | Test.java:788:10:788:31 | invertMap(...) : Map [] : String | provenance | MaD:613 | +| Test.java:789:19:789:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:789:19:789:21 | out : Map [] : String | Test.java:789:9:789:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:794:13:794:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:795:31:795:32 | in : TreeMap [] : String | provenance | | +| Test.java:794:34:794:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:794:34:794:49 | (...)... : String | Test.java:794:13:794:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:794:42:794:49 | source(...) : Object | Test.java:794:34:794:49 | (...)... : String | provenance | | +| Test.java:795:10:795:33 | iterableMap(...) : IterableMap [] : String | Test.java:796:19:796:21 | out : IterableMap [] : String | provenance | | +| Test.java:795:31:795:32 | in : TreeMap [] : String | Test.java:795:10:795:33 | iterableMap(...) : IterableMap [] : String | provenance | MaD:614 | +| Test.java:796:19:796:21 | out : IterableMap [] : String | Test.java:228:18:228:29 | map : IterableMap [] : String | provenance | | +| Test.java:796:19:796:21 | out : IterableMap [] : String | Test.java:796:9:796:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:801:13:801:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:802:31:802:32 | in : TreeMap [] : String | provenance | | +| Test.java:801:36:801:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:801:36:801:51 | (...)... : String | Test.java:801:13:801:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:801:44:801:51 | source(...) : Object | Test.java:801:36:801:51 | (...)... : String | provenance | | +| Test.java:802:10:802:33 | iterableMap(...) : IterableMap [] : String | Test.java:803:21:803:23 | out : IterableMap [] : String | provenance | | +| Test.java:802:31:802:32 | in : TreeMap [] : String | Test.java:802:10:802:33 | iterableMap(...) : IterableMap [] : String | provenance | MaD:615 | +| Test.java:803:21:803:23 | out : IterableMap [] : String | Test.java:232:20:232:31 | map : IterableMap [] : String | provenance | | +| Test.java:803:21:803:23 | out : IterableMap [] : String | Test.java:803:9:803:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:808:19:808:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:809:37:809:38 | in : TreeMap [] : String | provenance | | +| Test.java:808:40:808:55 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:808:40:808:55 | (...)... : String | Test.java:808:19:808:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:808:48:808:55 | source(...) : Object | Test.java:808:40:808:55 | (...)... : String | provenance | | +| Test.java:809:10:809:39 | iterableSortedMap(...) : IterableSortedMap [] : String | Test.java:810:19:810:21 | out : IterableSortedMap [] : String | provenance | | +| Test.java:809:37:809:38 | in : TreeMap [] : String | Test.java:809:10:809:39 | iterableSortedMap(...) : IterableSortedMap [] : String | provenance | MaD:616 | +| Test.java:810:19:810:21 | out : IterableSortedMap [] : String | Test.java:228:18:228:29 | map : IterableSortedMap [] : String | provenance | | +| Test.java:810:19:810:21 | out : IterableSortedMap [] : String | Test.java:810:9:810:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:815:19:815:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:816:37:816:38 | in : TreeMap [] : String | provenance | | +| Test.java:815:42:815:57 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:815:42:815:57 | (...)... : String | Test.java:815:19:815:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:815:50:815:57 | source(...) : Object | Test.java:815:42:815:57 | (...)... : String | provenance | | +| Test.java:816:10:816:39 | iterableSortedMap(...) : IterableSortedMap [] : String | Test.java:817:21:817:23 | out : IterableSortedMap [] : String | provenance | | +| Test.java:816:37:816:38 | in : TreeMap [] : String | Test.java:816:10:816:39 | iterableSortedMap(...) : IterableSortedMap [] : String | provenance | MaD:617 | +| Test.java:817:21:817:23 | out : IterableSortedMap [] : String | Test.java:232:20:232:31 | map : IterableSortedMap [] : String | provenance | | +| Test.java:817:21:817:23 | out : IterableSortedMap [] : String | Test.java:817:9:817:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:822:13:822:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:823:27:823:28 | in : TreeMap [] : String | provenance | | +| Test.java:822:34:822:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:822:34:822:49 | (...)... : String | Test.java:822:13:822:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:822:42:822:49 | source(...) : Object | Test.java:822:34:822:49 | (...)... : String | provenance | | +| Test.java:823:10:823:48 | lazyMap(...) : IterableMap [] : String | Test.java:824:19:824:21 | out : IterableMap [] : String | provenance | | +| Test.java:823:27:823:28 | in : TreeMap [] : String | Test.java:823:10:823:48 | lazyMap(...) : IterableMap [] : String | provenance | MaD:618 | +| Test.java:824:19:824:21 | out : IterableMap [] : String | Test.java:228:18:228:29 | map : IterableMap [] : String | provenance | | +| Test.java:824:19:824:21 | out : IterableMap [] : String | Test.java:824:9:824:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:829:13:829:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:830:27:830:28 | in : TreeMap [] : String | provenance | | +| Test.java:829:34:829:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:829:34:829:49 | (...)... : String | Test.java:829:13:829:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:829:42:829:49 | source(...) : Object | Test.java:829:34:829:49 | (...)... : String | provenance | | +| Test.java:830:10:830:44 | lazyMap(...) : IterableMap [] : String | Test.java:831:19:831:21 | out : IterableMap [] : String | provenance | | +| Test.java:830:27:830:28 | in : TreeMap [] : String | Test.java:830:10:830:44 | lazyMap(...) : IterableMap [] : String | provenance | MaD:618 | +| Test.java:831:19:831:21 | out : IterableMap [] : String | Test.java:228:18:228:29 | map : IterableMap [] : String | provenance | | +| Test.java:831:19:831:21 | out : IterableMap [] : String | Test.java:831:9:831:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:836:13:836:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:837:27:837:28 | in : TreeMap [] : String | provenance | | +| Test.java:836:36:836:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:836:36:836:51 | (...)... : String | Test.java:836:13:836:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:836:44:836:51 | source(...) : Object | Test.java:836:36:836:51 | (...)... : String | provenance | | +| Test.java:837:10:837:48 | lazyMap(...) : IterableMap [] : String | Test.java:838:21:838:23 | out : IterableMap [] : String | provenance | | +| Test.java:837:27:837:28 | in : TreeMap [] : String | Test.java:837:10:837:48 | lazyMap(...) : IterableMap [] : String | provenance | MaD:619 | +| Test.java:838:21:838:23 | out : IterableMap [] : String | Test.java:232:20:232:31 | map : IterableMap [] : String | provenance | | +| Test.java:838:21:838:23 | out : IterableMap [] : String | Test.java:838:9:838:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:843:13:843:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:844:27:844:28 | in : TreeMap [] : String | provenance | | +| Test.java:843:36:843:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:843:36:843:51 | (...)... : String | Test.java:843:13:843:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:843:44:843:51 | source(...) : Object | Test.java:843:36:843:51 | (...)... : String | provenance | | +| Test.java:844:10:844:44 | lazyMap(...) : IterableMap [] : String | Test.java:845:21:845:23 | out : IterableMap [] : String | provenance | | +| Test.java:844:27:844:28 | in : TreeMap [] : String | Test.java:844:10:844:44 | lazyMap(...) : IterableMap [] : String | provenance | MaD:619 | +| Test.java:845:21:845:23 | out : IterableMap [] : String | Test.java:232:20:232:31 | map : IterableMap [] : String | provenance | | +| Test.java:845:21:845:23 | out : IterableMap [] : String | Test.java:845:9:845:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:850:19:850:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:851:33:851:34 | in : TreeMap [] : String | provenance | | +| Test.java:850:40:850:55 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:850:40:850:55 | (...)... : String | Test.java:850:19:850:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:850:48:850:55 | source(...) : Object | Test.java:850:40:850:55 | (...)... : String | provenance | | +| Test.java:851:10:851:54 | lazySortedMap(...) : SortedMap [] : String | Test.java:852:19:852:21 | out : SortedMap [] : String | provenance | | +| Test.java:851:33:851:34 | in : TreeMap [] : String | Test.java:851:10:851:54 | lazySortedMap(...) : SortedMap [] : String | provenance | MaD:620 | +| Test.java:852:19:852:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | provenance | | +| Test.java:852:19:852:21 | out : SortedMap [] : String | Test.java:852:9:852:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:857:19:857:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:858:33:858:34 | in : TreeMap [] : String | provenance | | +| Test.java:857:40:857:55 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:857:40:857:55 | (...)... : String | Test.java:857:19:857:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:857:48:857:55 | source(...) : Object | Test.java:857:40:857:55 | (...)... : String | provenance | | +| Test.java:858:10:858:50 | lazySortedMap(...) : SortedMap [] : String | Test.java:859:19:859:21 | out : SortedMap [] : String | provenance | | +| Test.java:858:33:858:34 | in : TreeMap [] : String | Test.java:858:10:858:50 | lazySortedMap(...) : SortedMap [] : String | provenance | MaD:620 | +| Test.java:859:19:859:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | provenance | | +| Test.java:859:19:859:21 | out : SortedMap [] : String | Test.java:859:9:859:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:864:19:864:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:865:33:865:34 | in : TreeMap [] : String | provenance | | +| Test.java:864:42:864:57 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:864:42:864:57 | (...)... : String | Test.java:864:19:864:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:864:50:864:57 | source(...) : Object | Test.java:864:42:864:57 | (...)... : String | provenance | | +| Test.java:865:10:865:54 | lazySortedMap(...) : SortedMap [] : String | Test.java:866:21:866:23 | out : SortedMap [] : String | provenance | | +| Test.java:865:33:865:34 | in : TreeMap [] : String | Test.java:865:10:865:54 | lazySortedMap(...) : SortedMap [] : String | provenance | MaD:621 | +| Test.java:866:21:866:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | provenance | | +| Test.java:866:21:866:23 | out : SortedMap [] : String | Test.java:866:9:866:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:871:19:871:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:872:33:872:34 | in : TreeMap [] : String | provenance | | +| Test.java:871:42:871:57 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:871:42:871:57 | (...)... : String | Test.java:871:19:871:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:871:50:871:57 | source(...) : Object | Test.java:871:42:871:57 | (...)... : String | provenance | | +| Test.java:872:10:872:50 | lazySortedMap(...) : SortedMap [] : String | Test.java:873:21:873:23 | out : SortedMap [] : String | provenance | | +| Test.java:872:33:872:34 | in : TreeMap [] : String | Test.java:872:10:872:50 | lazySortedMap(...) : SortedMap [] : String | provenance | MaD:621 | +| Test.java:873:21:873:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | provenance | | +| Test.java:873:21:873:23 | out : SortedMap [] : String | Test.java:873:9:873:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:878:13:878:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:879:33:879:34 | in : TreeMap [] : String | provenance | | +| Test.java:878:34:878:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:878:34:878:49 | (...)... : String | Test.java:878:13:878:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:878:42:878:49 | source(...) : Object | Test.java:878:34:878:49 | (...)... : String | provenance | | +| Test.java:879:10:879:50 | multiValueMap(...) : MultiValueMap [] : String | Test.java:880:19:880:21 | out : MultiValueMap [] : String | provenance | | +| Test.java:879:33:879:34 | in : TreeMap [] : String | Test.java:879:10:879:50 | multiValueMap(...) : MultiValueMap [] : String | provenance | MaD:622 | +| Test.java:880:19:880:21 | out : MultiValueMap [] : String | Test.java:228:18:228:29 | map : MultiValueMap [] : String | provenance | | +| Test.java:880:19:880:21 | out : MultiValueMap [] : String | Test.java:880:9:880:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:885:13:885:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:886:33:886:34 | in : TreeMap [] : String | provenance | | +| Test.java:885:34:885:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:885:34:885:49 | (...)... : String | Test.java:885:13:885:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:885:42:885:49 | source(...) : Object | Test.java:885:34:885:49 | (...)... : String | provenance | | +| Test.java:886:10:886:48 | multiValueMap(...) : MultiValueMap [] : String | Test.java:887:19:887:21 | out : MultiValueMap [] : String | provenance | | +| Test.java:886:33:886:34 | in : TreeMap [] : String | Test.java:886:10:886:48 | multiValueMap(...) : MultiValueMap [] : String | provenance | MaD:622 | +| Test.java:887:19:887:21 | out : MultiValueMap [] : String | Test.java:228:18:228:29 | map : MultiValueMap [] : String | provenance | | +| Test.java:887:19:887:21 | out : MultiValueMap [] : String | Test.java:887:9:887:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:892:13:892:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:893:33:893:34 | in : TreeMap [] : String | provenance | | +| Test.java:892:34:892:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:892:34:892:49 | (...)... : String | Test.java:892:13:892:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:892:42:892:49 | source(...) : Object | Test.java:892:34:892:49 | (...)... : String | provenance | | +| Test.java:893:10:893:35 | multiValueMap(...) : MultiValueMap [] : String | Test.java:894:19:894:21 | out : MultiValueMap [] : String | provenance | | +| Test.java:893:33:893:34 | in : TreeMap [] : String | Test.java:893:10:893:35 | multiValueMap(...) : MultiValueMap [] : String | provenance | MaD:622 | +| Test.java:894:19:894:21 | out : MultiValueMap [] : String | Test.java:228:18:228:29 | map : MultiValueMap [] : String | provenance | | +| Test.java:894:19:894:21 | out : MultiValueMap [] : String | Test.java:894:9:894:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:899:13:899:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:900:33:900:34 | in : TreeMap [] : String | provenance | | +| Test.java:899:36:899:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:899:36:899:51 | (...)... : String | Test.java:899:13:899:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:899:44:899:51 | source(...) : Object | Test.java:899:36:899:51 | (...)... : String | provenance | | +| Test.java:900:10:900:50 | multiValueMap(...) : MultiValueMap [] : String | Test.java:901:21:901:23 | out : MultiValueMap [] : String | provenance | | +| Test.java:900:33:900:34 | in : TreeMap [] : String | Test.java:900:10:900:50 | multiValueMap(...) : MultiValueMap [] : String | provenance | MaD:623 | +| Test.java:901:21:901:23 | out : MultiValueMap [] : String | Test.java:232:20:232:31 | map : MultiValueMap [] : String | provenance | | +| Test.java:901:21:901:23 | out : MultiValueMap [] : String | Test.java:901:9:901:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:906:13:906:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:907:33:907:34 | in : TreeMap [] : String | provenance | | +| Test.java:906:36:906:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:906:36:906:51 | (...)... : String | Test.java:906:13:906:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:906:44:906:51 | source(...) : Object | Test.java:906:36:906:51 | (...)... : String | provenance | | +| Test.java:907:10:907:48 | multiValueMap(...) : MultiValueMap [] : String | Test.java:908:21:908:23 | out : MultiValueMap [] : String | provenance | | +| Test.java:907:33:907:34 | in : TreeMap [] : String | Test.java:907:10:907:48 | multiValueMap(...) : MultiValueMap [] : String | provenance | MaD:623 | +| Test.java:908:21:908:23 | out : MultiValueMap [] : String | Test.java:232:20:232:31 | map : MultiValueMap [] : String | provenance | | +| Test.java:908:21:908:23 | out : MultiValueMap [] : String | Test.java:908:9:908:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:913:13:913:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:914:33:914:34 | in : TreeMap [] : String | provenance | | +| Test.java:913:36:913:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:913:36:913:51 | (...)... : String | Test.java:913:13:913:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:913:44:913:51 | source(...) : Object | Test.java:913:36:913:51 | (...)... : String | provenance | | +| Test.java:914:10:914:35 | multiValueMap(...) : MultiValueMap [] : String | Test.java:915:21:915:23 | out : MultiValueMap [] : String | provenance | | +| Test.java:914:33:914:34 | in : TreeMap [] : String | Test.java:914:10:914:35 | multiValueMap(...) : MultiValueMap [] : String | provenance | MaD:623 | +| Test.java:915:21:915:23 | out : MultiValueMap [] : String | Test.java:232:20:232:31 | map : MultiValueMap [] : String | provenance | | +| Test.java:915:21:915:23 | out : MultiValueMap [] : String | Test.java:915:9:915:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:920:13:920:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:921:30:921:31 | in : TreeMap [] : String | provenance | | +| Test.java:920:34:920:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:920:34:920:49 | (...)... : String | Test.java:920:13:920:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:920:42:920:49 | source(...) : Object | Test.java:920:34:920:49 | (...)... : String | provenance | | +| Test.java:921:10:921:32 | orderedMap(...) : OrderedMap [] : String | Test.java:922:19:922:21 | out : OrderedMap [] : String | provenance | | +| Test.java:921:30:921:31 | in : TreeMap [] : String | Test.java:921:10:921:32 | orderedMap(...) : OrderedMap [] : String | provenance | MaD:624 | +| Test.java:922:19:922:21 | out : OrderedMap [] : String | Test.java:228:18:228:29 | map : OrderedMap [] : String | provenance | | +| Test.java:922:19:922:21 | out : OrderedMap [] : String | Test.java:922:9:922:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:927:13:927:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:928:30:928:31 | in : TreeMap [] : String | provenance | | +| Test.java:927:36:927:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:927:36:927:51 | (...)... : String | Test.java:927:13:927:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:927:44:927:51 | source(...) : Object | Test.java:927:36:927:51 | (...)... : String | provenance | | +| Test.java:928:10:928:32 | orderedMap(...) : OrderedMap [] : String | Test.java:929:21:929:23 | out : OrderedMap [] : String | provenance | | +| Test.java:928:30:928:31 | in : TreeMap [] : String | Test.java:928:10:928:32 | orderedMap(...) : OrderedMap [] : String | provenance | MaD:625 | +| Test.java:929:21:929:23 | out : OrderedMap [] : String | Test.java:232:20:232:31 | map : OrderedMap [] : String | provenance | | +| Test.java:929:21:929:23 | out : OrderedMap [] : String | Test.java:929:9:929:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:934:18:934:55 | newVectorWithElement(...) : Vector [] : String | Test.java:935:30:935:31 | in : Vector [] : String | provenance | | +| Test.java:934:39:934:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:934:39:934:54 | (...)... : String | Test.java:934:18:934:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:934:47:934:54 | source(...) : Object | Test.java:934:39:934:54 | (...)... : String | provenance | | +| Test.java:935:25:935:27 | out [post update] : Map [] : String | Test.java:936:21:936:23 | out : Map [] : String | provenance | | +| Test.java:935:30:935:31 | in : Vector [] : String | Test.java:935:25:935:27 | out [post update] : Map [] : String | provenance | MaD:626 | +| Test.java:936:21:936:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | provenance | | +| Test.java:936:21:936:23 | out : Map [] : String | Test.java:936:9:936:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:943:26:943:63 | newVectorWithElement(...) : Vector [] : String | Test.java:944:30:944:31 | in : Vector [] : String | provenance | | +| Test.java:943:47:943:62 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:943:47:943:62 | (...)... : String | Test.java:943:26:943:63 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:943:55:943:62 | source(...) : Object | Test.java:943:47:943:62 | (...)... : String | provenance | | +| Test.java:944:25:944:27 | out [post update] : MultiMap [, ] : String | Test.java:945:44:945:46 | out : MultiMap [, ] : String | provenance | | +| Test.java:944:30:944:31 | in : Vector [] : String | Test.java:944:25:944:27 | out [post update] : MultiMap [, ] : String | provenance | MaD:627 | +| Test.java:945:20:945:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:945:20:945:47 | (...)... : Collection [] : String | Test.java:945:9:945:48 | getElement(...) | provenance | MaD:1 | +| Test.java:945:32:945:47 | getMapValue(...) : Object [] : String | Test.java:945:20:945:47 | (...)... : Collection [] : String | provenance | | +| Test.java:945:44:945:46 | out : MultiMap [, ] : String | Test.java:232:20:232:31 | map : MultiMap [, ] : String | provenance | | +| Test.java:945:44:945:46 | out : MultiMap [, ] : String | Test.java:945:32:945:47 | getMapValue(...) : Object [] : String | provenance | MaD:9 | +| Test.java:950:13:950:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:951:33:951:34 | in : TreeMap [] : String | provenance | | +| Test.java:950:34:950:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:950:34:950:49 | (...)... : String | Test.java:950:13:950:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:950:42:950:49 | source(...) : Object | Test.java:950:34:950:49 | (...)... : String | provenance | | +| Test.java:951:10:951:47 | predicatedMap(...) : IterableMap [] : String | Test.java:952:19:952:21 | out : IterableMap [] : String | provenance | | +| Test.java:951:33:951:34 | in : TreeMap [] : String | Test.java:951:10:951:47 | predicatedMap(...) : IterableMap [] : String | provenance | MaD:628 | +| Test.java:952:19:952:21 | out : IterableMap [] : String | Test.java:228:18:228:29 | map : IterableMap [] : String | provenance | | +| Test.java:952:19:952:21 | out : IterableMap [] : String | Test.java:952:9:952:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:957:13:957:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:958:33:958:34 | in : TreeMap [] : String | provenance | | +| Test.java:957:36:957:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:957:36:957:51 | (...)... : String | Test.java:957:13:957:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:957:44:957:51 | source(...) : Object | Test.java:957:36:957:51 | (...)... : String | provenance | | +| Test.java:958:10:958:47 | predicatedMap(...) : IterableMap [] : String | Test.java:959:21:959:23 | out : IterableMap [] : String | provenance | | +| Test.java:958:33:958:34 | in : TreeMap [] : String | Test.java:958:10:958:47 | predicatedMap(...) : IterableMap [] : String | provenance | MaD:629 | +| Test.java:959:21:959:23 | out : IterableMap [] : String | Test.java:232:20:232:31 | map : IterableMap [] : String | provenance | | +| Test.java:959:21:959:23 | out : IterableMap [] : String | Test.java:959:9:959:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:964:19:964:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:965:39:965:40 | in : TreeMap [] : String | provenance | | +| Test.java:964:40:964:55 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:964:40:964:55 | (...)... : String | Test.java:964:19:964:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:964:48:964:55 | source(...) : Object | Test.java:964:40:964:55 | (...)... : String | provenance | | +| Test.java:965:10:965:53 | predicatedSortedMap(...) : SortedMap [] : String | Test.java:966:19:966:21 | out : SortedMap [] : String | provenance | | +| Test.java:965:39:965:40 | in : TreeMap [] : String | Test.java:965:10:965:53 | predicatedSortedMap(...) : SortedMap [] : String | provenance | MaD:630 | +| Test.java:966:19:966:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | provenance | | +| Test.java:966:19:966:21 | out : SortedMap [] : String | Test.java:966:9:966:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:971:19:971:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:972:39:972:40 | in : TreeMap [] : String | provenance | | +| Test.java:971:42:971:57 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:971:42:971:57 | (...)... : String | Test.java:971:19:971:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:971:50:971:57 | source(...) : Object | Test.java:971:42:971:57 | (...)... : String | provenance | | +| Test.java:972:10:972:53 | predicatedSortedMap(...) : SortedMap [] : String | Test.java:973:21:973:23 | out : SortedMap [] : String | provenance | | +| Test.java:972:39:972:40 | in : TreeMap [] : String | Test.java:972:10:972:53 | predicatedSortedMap(...) : SortedMap [] : String | provenance | MaD:631 | +| Test.java:973:21:973:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | provenance | | +| Test.java:973:21:973:23 | out : SortedMap [] : String | Test.java:973:9:973:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:978:18:978:54 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:979:25:979:26 | in : Object[] [[]] : String | provenance | | +| Test.java:978:38:978:53 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:978:38:978:53 | (...)... : String | Test.java:978:18:978:54 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:978:46:978:53 | source(...) : Object | Test.java:978:38:978:53 | (...)... : String | provenance | | +| Test.java:979:20:979:22 | out [post update] : Map [] : Object | Test.java:980:19:980:21 | out : Map [] : Object | provenance | | +| Test.java:979:20:979:22 | out [post update] : Map [] : String | Test.java:980:19:980:21 | out : Map [] : String | provenance | | +| Test.java:979:25:979:26 | in : Object[] [[]] : String | Test.java:979:20:979:22 | out [post update] : Map [] : Object | provenance | MaD:636 | +| Test.java:979:25:979:26 | in : Object[] [[]] : String | Test.java:979:20:979:22 | out [post update] : Map [] : Object | provenance | MaD:640 | +| Test.java:979:25:979:26 | in : Object[] [[]] : String | Test.java:979:20:979:22 | out [post update] : Map [] : String | provenance | MaD:632 | +| Test.java:980:19:980:21 | out : Map [] : Object | Test.java:228:18:228:29 | map : Map [] : Object | provenance | | +| Test.java:980:19:980:21 | out : Map [] : Object | Test.java:980:9:980:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:980:19:980:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:980:19:980:21 | out : Map [] : String | Test.java:980:9:980:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:985:18:985:54 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:986:32:986:33 | in : Object[] [[]] : String | provenance | | +| Test.java:985:38:985:53 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:985:38:985:53 | (...)... : String | Test.java:985:18:985:54 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:985:46:985:53 | source(...) : Object | Test.java:985:38:985:53 | (...)... : String | provenance | | +| Test.java:986:10:986:34 | putAll(...) : Map [] : Object | Test.java:987:19:987:21 | out : Map [] : Object | provenance | | +| Test.java:986:10:986:34 | putAll(...) : Map [] : String | Test.java:987:19:987:21 | out : Map [] : String | provenance | | +| Test.java:986:32:986:33 | in : Object[] [[]] : String | Test.java:986:10:986:34 | putAll(...) : Map [] : Object | provenance | MaD:638 | +| Test.java:986:32:986:33 | in : Object[] [[]] : String | Test.java:986:10:986:34 | putAll(...) : Map [] : Object | provenance | MaD:641 | +| Test.java:986:32:986:33 | in : Object[] [[]] : String | Test.java:986:10:986:34 | putAll(...) : Map [] : String | provenance | MaD:634 | +| Test.java:987:19:987:21 | out : Map [] : Object | Test.java:228:18:228:29 | map : Map [] : Object | provenance | | +| Test.java:987:19:987:21 | out : Map [] : Object | Test.java:987:9:987:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:987:19:987:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:987:19:987:21 | out : Map [] : String | Test.java:987:9:987:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:992:18:992:54 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:993:25:993:26 | in : Object[] [[]] : String | provenance | | +| Test.java:992:38:992:53 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:992:38:992:53 | (...)... : String | Test.java:992:18:992:54 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:992:46:992:53 | source(...) : Object | Test.java:992:38:992:53 | (...)... : String | provenance | | +| Test.java:993:20:993:22 | out [post update] : Map [] : Object | Test.java:994:21:994:23 | out : Map [] : Object | provenance | | +| Test.java:993:20:993:22 | out [post update] : Map [] : String | Test.java:994:21:994:23 | out : Map [] : String | provenance | | +| Test.java:993:25:993:26 | in : Object[] [[]] : String | Test.java:993:20:993:22 | out [post update] : Map [] : Object | provenance | MaD:637 | +| Test.java:993:25:993:26 | in : Object[] [[]] : String | Test.java:993:20:993:22 | out [post update] : Map [] : Object | provenance | MaD:642 | +| Test.java:993:25:993:26 | in : Object[] [[]] : String | Test.java:993:20:993:22 | out [post update] : Map [] : String | provenance | MaD:633 | +| Test.java:994:21:994:23 | out : Map [] : Object | Test.java:232:20:232:31 | map : Map [] : Object | provenance | | +| Test.java:994:21:994:23 | out : Map [] : Object | Test.java:994:9:994:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:994:21:994:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | provenance | | +| Test.java:994:21:994:23 | out : Map [] : String | Test.java:994:9:994:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:999:18:999:54 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:1000:32:1000:33 | in : Object[] [[]] : String | provenance | | +| Test.java:999:38:999:53 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:999:38:999:53 | (...)... : String | Test.java:999:18:999:54 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:999:46:999:53 | source(...) : Object | Test.java:999:38:999:53 | (...)... : String | provenance | | +| Test.java:1000:10:1000:34 | putAll(...) : Map [] : Object | Test.java:1001:21:1001:23 | out : Map [] : Object | provenance | | +| Test.java:1000:10:1000:34 | putAll(...) : Map [] : String | Test.java:1001:21:1001:23 | out : Map [] : String | provenance | | +| Test.java:1000:32:1000:33 | in : Object[] [[]] : String | Test.java:1000:10:1000:34 | putAll(...) : Map [] : Object | provenance | MaD:639 | +| Test.java:1000:32:1000:33 | in : Object[] [[]] : String | Test.java:1000:10:1000:34 | putAll(...) : Map [] : Object | provenance | MaD:643 | +| Test.java:1000:32:1000:33 | in : Object[] [[]] : String | Test.java:1000:10:1000:34 | putAll(...) : Map [] : String | provenance | MaD:635 | +| Test.java:1001:21:1001:23 | out : Map [] : Object | Test.java:232:20:232:31 | map : Map [] : Object | provenance | | +| Test.java:1001:21:1001:23 | out : Map [] : Object | Test.java:1001:9:1001:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:1001:21:1001:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | provenance | | +| Test.java:1001:21:1001:23 | out : Map [] : String | Test.java:1001:9:1001:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:1006:18:1006:75 | newWithArrayElement(...) : Object[] [[], []] : String | Test.java:1007:25:1007:26 | in : Object[] [[], []] : String | provenance | | +| Test.java:1006:38:1006:74 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:251:31:251:44 | element : Object[] [[]] : String | provenance | | +| Test.java:1006:38:1006:74 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:1006:18:1006:75 | newWithArrayElement(...) : Object[] [[], []] : String | provenance | | +| Test.java:1006:58:1006:73 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:1006:58:1006:73 | (...)... : String | Test.java:1006:38:1006:74 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:1006:66:1006:73 | source(...) : Object | Test.java:1006:58:1006:73 | (...)... : String | provenance | | +| Test.java:1007:20:1007:22 | out [post update] : Map [] : String | Test.java:1008:19:1008:21 | out : Map [] : String | provenance | | +| Test.java:1007:25:1007:26 | in : Object[] [[], []] : String | Test.java:1007:20:1007:22 | out [post update] : Map [] : String | provenance | MaD:636 | +| Test.java:1008:19:1008:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:1008:19:1008:21 | out : Map [] : String | Test.java:1008:9:1008:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:1013:18:1013:75 | newWithArrayElement(...) : Object[] [[], []] : String | Test.java:1014:32:1014:33 | in : Object[] [[], []] : String | provenance | | +| Test.java:1013:38:1013:74 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:251:31:251:44 | element : Object[] [[]] : String | provenance | | +| Test.java:1013:38:1013:74 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:1013:18:1013:75 | newWithArrayElement(...) : Object[] [[], []] : String | provenance | | +| Test.java:1013:58:1013:73 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:1013:58:1013:73 | (...)... : String | Test.java:1013:38:1013:74 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:1013:66:1013:73 | source(...) : Object | Test.java:1013:58:1013:73 | (...)... : String | provenance | | +| Test.java:1014:10:1014:34 | putAll(...) : Map [] : String | Test.java:1015:19:1015:21 | out : Map [] : String | provenance | | +| Test.java:1014:32:1014:33 | in : Object[] [[], []] : String | Test.java:1014:10:1014:34 | putAll(...) : Map [] : String | provenance | MaD:638 | +| Test.java:1015:19:1015:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:1015:19:1015:21 | out : Map [] : String | Test.java:1015:9:1015:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:1020:18:1020:75 | newWithArrayElement(...) : Object[] [[], []] : String | Test.java:1021:25:1021:26 | in : Object[] [[], []] : String | provenance | | +| Test.java:1020:38:1020:74 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:251:31:251:44 | element : Object[] [[]] : String | provenance | | +| Test.java:1020:38:1020:74 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:1020:18:1020:75 | newWithArrayElement(...) : Object[] [[], []] : String | provenance | | +| Test.java:1020:58:1020:73 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:1020:58:1020:73 | (...)... : String | Test.java:1020:38:1020:74 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:1020:66:1020:73 | source(...) : Object | Test.java:1020:58:1020:73 | (...)... : String | provenance | | +| Test.java:1021:20:1021:22 | out [post update] : Map [] : String | Test.java:1022:21:1022:23 | out : Map [] : String | provenance | | +| Test.java:1021:25:1021:26 | in : Object[] [[], []] : String | Test.java:1021:20:1021:22 | out [post update] : Map [] : String | provenance | MaD:637 | +| Test.java:1022:21:1022:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | provenance | | +| Test.java:1022:21:1022:23 | out : Map [] : String | Test.java:1022:9:1022:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:1027:18:1027:75 | newWithArrayElement(...) : Object[] [[], []] : String | Test.java:1028:32:1028:33 | in : Object[] [[], []] : String | provenance | | +| Test.java:1027:38:1027:74 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:251:31:251:44 | element : Object[] [[]] : String | provenance | | +| Test.java:1027:38:1027:74 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:1027:18:1027:75 | newWithArrayElement(...) : Object[] [[], []] : String | provenance | | +| Test.java:1027:58:1027:73 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:1027:58:1027:73 | (...)... : String | Test.java:1027:38:1027:74 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:1027:66:1027:73 | source(...) : Object | Test.java:1027:58:1027:73 | (...)... : String | provenance | | +| Test.java:1028:10:1028:34 | putAll(...) : Map [] : String | Test.java:1029:21:1029:23 | out : Map [] : String | provenance | | +| Test.java:1028:32:1028:33 | in : Object[] [[], []] : String | Test.java:1028:10:1028:34 | putAll(...) : Map [] : String | provenance | MaD:639 | +| Test.java:1029:21:1029:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | provenance | | +| Test.java:1029:21:1029:23 | out : Map [] : String | Test.java:1029:9:1029:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:1034:18:1034:73 | newWithArrayElement(...) : Object[] [[], ] : String | Test.java:1035:25:1035:26 | in : Object[] [[], ] : String | provenance | | +| Test.java:1034:38:1034:72 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | Test.java:251:31:251:44 | element : MyAbstractKeyValue [] : String | provenance | | +| Test.java:1034:38:1034:72 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | Test.java:1034:18:1034:73 | newWithArrayElement(...) : Object[] [[], ] : String | provenance | | +| Test.java:1034:56:1034:71 | (...)... : String | Test.java:282:53:282:57 | key : String | provenance | | +| Test.java:1034:56:1034:71 | (...)... : String | Test.java:1034:38:1034:72 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | provenance | MaD:189 | +| Test.java:1034:64:1034:71 | source(...) : Object | Test.java:1034:56:1034:71 | (...)... : String | provenance | | +| Test.java:1035:20:1035:22 | out [post update] : Map [] : String | Test.java:1036:19:1036:21 | out : Map [] : String | provenance | | +| Test.java:1035:25:1035:26 | in : Object[] [[], ] : String | Test.java:1035:20:1035:22 | out [post update] : Map [] : String | provenance | MaD:640 | +| Test.java:1036:19:1036:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:1036:19:1036:21 | out : Map [] : String | Test.java:1036:9:1036:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:1041:18:1041:73 | newWithArrayElement(...) : Object[] [[], ] : String | Test.java:1042:32:1042:33 | in : Object[] [[], ] : String | provenance | | +| Test.java:1041:38:1041:72 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | Test.java:251:31:251:44 | element : MyAbstractKeyValue [] : String | provenance | | +| Test.java:1041:38:1041:72 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | Test.java:1041:18:1041:73 | newWithArrayElement(...) : Object[] [[], ] : String | provenance | | +| Test.java:1041:56:1041:71 | (...)... : String | Test.java:282:53:282:57 | key : String | provenance | | +| Test.java:1041:56:1041:71 | (...)... : String | Test.java:1041:38:1041:72 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | provenance | MaD:189 | +| Test.java:1041:64:1041:71 | source(...) : Object | Test.java:1041:56:1041:71 | (...)... : String | provenance | | +| Test.java:1042:10:1042:34 | putAll(...) : Map [] : String | Test.java:1043:19:1043:21 | out : Map [] : String | provenance | | +| Test.java:1042:32:1042:33 | in : Object[] [[], ] : String | Test.java:1042:10:1042:34 | putAll(...) : Map [] : String | provenance | MaD:641 | +| Test.java:1043:19:1043:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:1043:19:1043:21 | out : Map [] : String | Test.java:1043:9:1043:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:1048:18:1048:75 | newWithArrayElement(...) : Object[] [[], ] : String | Test.java:1049:25:1049:26 | in : Object[] [[], ] : String | provenance | | +| Test.java:1048:38:1048:74 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | Test.java:251:31:251:44 | element : MyAbstractKeyValue [] : String | provenance | | +| Test.java:1048:38:1048:74 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | Test.java:1048:18:1048:75 | newWithArrayElement(...) : Object[] [[], ] : String | provenance | | +| Test.java:1048:58:1048:73 | (...)... : String | Test.java:299:55:299:61 | value : String | provenance | | +| Test.java:1048:58:1048:73 | (...)... : String | Test.java:1048:38:1048:74 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | provenance | MaD:190 | +| Test.java:1048:66:1048:73 | source(...) : Object | Test.java:1048:58:1048:73 | (...)... : String | provenance | | +| Test.java:1049:20:1049:22 | out [post update] : Map [] : String | Test.java:1050:21:1050:23 | out : Map [] : String | provenance | | +| Test.java:1049:25:1049:26 | in : Object[] [[], ] : String | Test.java:1049:20:1049:22 | out [post update] : Map [] : String | provenance | MaD:642 | +| Test.java:1050:21:1050:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | provenance | | +| Test.java:1050:21:1050:23 | out : Map [] : String | Test.java:1050:9:1050:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:1055:18:1055:75 | newWithArrayElement(...) : Object[] [[], ] : String | Test.java:1056:32:1056:33 | in : Object[] [[], ] : String | provenance | | +| Test.java:1055:38:1055:74 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | Test.java:251:31:251:44 | element : MyAbstractKeyValue [] : String | provenance | | +| Test.java:1055:38:1055:74 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | Test.java:1055:18:1055:75 | newWithArrayElement(...) : Object[] [[], ] : String | provenance | | +| Test.java:1055:58:1055:73 | (...)... : String | Test.java:299:55:299:61 | value : String | provenance | | +| Test.java:1055:58:1055:73 | (...)... : String | Test.java:1055:38:1055:74 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | provenance | MaD:190 | +| Test.java:1055:66:1055:73 | source(...) : Object | Test.java:1055:58:1055:73 | (...)... : String | provenance | | +| Test.java:1056:10:1056:34 | putAll(...) : Map [] : String | Test.java:1057:21:1057:23 | out : Map [] : String | provenance | | +| Test.java:1056:32:1056:33 | in : Object[] [[], ] : String | Test.java:1056:10:1056:34 | putAll(...) : Map [] : String | provenance | MaD:643 | +| Test.java:1057:21:1057:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | provenance | | +| Test.java:1057:21:1057:23 | out : Map [] : String | Test.java:1057:9:1057:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:1062:16:1062:23 | source(...) : Object | Test.java:1063:31:1063:32 | in : Object | provenance | | +| Test.java:1063:26:1063:28 | out [post update] : Map [] : Object | Test.java:1064:19:1064:21 | out : Map [] : Object | provenance | | +| Test.java:1063:31:1063:32 | in : Object | Test.java:1063:26:1063:28 | out [post update] : Map [] : Object | provenance | MaD:644 | +| Test.java:1064:19:1064:21 | out : Map [] : Object | Test.java:228:18:228:29 | map : Map [] : Object | provenance | | +| Test.java:1064:19:1064:21 | out : Map [] : Object | Test.java:1064:9:1064:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:1069:16:1069:23 | source(...) : Object | Test.java:1070:37:1070:38 | in : Object | provenance | | +| Test.java:1070:26:1070:28 | out [post update] : Map [] : Object | Test.java:1071:21:1071:23 | out : Map [] : Object | provenance | | +| Test.java:1070:37:1070:38 | in : Object | Test.java:1070:26:1070:28 | out [post update] : Map [] : Object | provenance | MaD:645 | +| Test.java:1071:21:1071:23 | out : Map [] : Object | Test.java:232:20:232:31 | map : Map [] : Object | provenance | | +| Test.java:1071:21:1071:23 | out : Map [] : Object | Test.java:1071:9:1071:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:1076:13:1076:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:1077:35:1077:36 | in : TreeMap [] : String | provenance | | +| Test.java:1076:34:1076:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:1076:34:1076:49 | (...)... : String | Test.java:1076:13:1076:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:1076:42:1076:49 | source(...) : Object | Test.java:1076:34:1076:49 | (...)... : String | provenance | | +| Test.java:1077:10:1077:37 | synchronizedMap(...) : Map [] : String | Test.java:1078:19:1078:21 | out : Map [] : String | provenance | | +| Test.java:1077:35:1077:36 | in : TreeMap [] : String | Test.java:1077:10:1077:37 | synchronizedMap(...) : Map [] : String | provenance | MaD:646 | +| Test.java:1078:19:1078:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:1078:19:1078:21 | out : Map [] : String | Test.java:1078:9:1078:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:1083:13:1083:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:1084:35:1084:36 | in : TreeMap [] : String | provenance | | +| Test.java:1083:36:1083:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:1083:36:1083:51 | (...)... : String | Test.java:1083:13:1083:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:1083:44:1083:51 | source(...) : Object | Test.java:1083:36:1083:51 | (...)... : String | provenance | | +| Test.java:1084:10:1084:37 | synchronizedMap(...) : Map [] : String | Test.java:1085:21:1085:23 | out : Map [] : String | provenance | | +| Test.java:1084:35:1084:36 | in : TreeMap [] : String | Test.java:1084:10:1084:37 | synchronizedMap(...) : Map [] : String | provenance | MaD:647 | +| Test.java:1085:21:1085:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | provenance | | +| Test.java:1085:21:1085:23 | out : Map [] : String | Test.java:1085:9:1085:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:1090:19:1090:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:1091:41:1091:42 | in : TreeMap [] : String | provenance | | +| Test.java:1090:40:1090:55 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:1090:40:1090:55 | (...)... : String | Test.java:1090:19:1090:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:1090:48:1090:55 | source(...) : Object | Test.java:1090:40:1090:55 | (...)... : String | provenance | | +| Test.java:1091:10:1091:43 | synchronizedSortedMap(...) : SortedMap [] : String | Test.java:1092:19:1092:21 | out : SortedMap [] : String | provenance | | +| Test.java:1091:41:1091:42 | in : TreeMap [] : String | Test.java:1091:10:1091:43 | synchronizedSortedMap(...) : SortedMap [] : String | provenance | MaD:648 | +| Test.java:1092:19:1092:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | provenance | | +| Test.java:1092:19:1092:21 | out : SortedMap [] : String | Test.java:1092:9:1092:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:1097:19:1097:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:1098:41:1098:42 | in : TreeMap [] : String | provenance | | +| Test.java:1097:42:1097:57 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:1097:42:1097:57 | (...)... : String | Test.java:1097:19:1097:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:1097:50:1097:57 | source(...) : Object | Test.java:1097:42:1097:57 | (...)... : String | provenance | | +| Test.java:1098:10:1098:43 | synchronizedSortedMap(...) : SortedMap [] : String | Test.java:1099:21:1099:23 | out : SortedMap [] : String | provenance | | +| Test.java:1098:41:1098:42 | in : TreeMap [] : String | Test.java:1098:10:1098:43 | synchronizedSortedMap(...) : SortedMap [] : String | provenance | MaD:649 | +| Test.java:1099:21:1099:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | provenance | | +| Test.java:1099:21:1099:23 | out : SortedMap [] : String | Test.java:1099:9:1099:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:1104:24:1104:56 | newRBWithMapKey(...) : ResourceBundle [] : String | Test.java:1105:25:1105:26 | in : ResourceBundle [] : String | provenance | | +| Test.java:1104:40:1104:55 | (...)... : String | Test.java:1104:24:1104:56 | newRBWithMapKey(...) : ResourceBundle [] : String | provenance | MaD:822 | +| Test.java:1104:48:1104:55 | source(...) : Object | Test.java:1104:40:1104:55 | (...)... : String | provenance | | +| Test.java:1105:10:1105:27 | toMap(...) : Map [] : String | Test.java:1106:19:1106:21 | out : Map [] : String | provenance | | +| Test.java:1105:25:1105:26 | in : ResourceBundle [] : String | Test.java:1105:10:1105:27 | toMap(...) : Map [] : String | provenance | MaD:650 | +| Test.java:1106:19:1106:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:1106:19:1106:21 | out : Map [] : String | Test.java:1106:9:1106:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:1111:24:1111:58 | newRBWithMapValue(...) : ResourceBundle [] : String | Test.java:1112:25:1112:26 | in : ResourceBundle [] : String | provenance | | +| Test.java:1111:42:1111:57 | (...)... : String | Test.java:1111:24:1111:58 | newRBWithMapValue(...) : ResourceBundle [] : String | provenance | MaD:821 | +| Test.java:1111:50:1111:57 | source(...) : Object | Test.java:1111:42:1111:57 | (...)... : String | provenance | | +| Test.java:1112:10:1112:27 | toMap(...) : Map [] : String | Test.java:1113:21:1113:23 | out : Map [] : String | provenance | | +| Test.java:1112:25:1112:26 | in : ResourceBundle [] : String | Test.java:1112:10:1112:27 | toMap(...) : Map [] : String | provenance | MaD:651 | +| Test.java:1113:21:1113:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | provenance | | +| Test.java:1113:21:1113:23 | out : Map [] : String | Test.java:1113:9:1113:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:1118:13:1118:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:1119:34:1119:35 | in : TreeMap [] : String | provenance | | +| Test.java:1118:34:1118:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:1118:34:1118:49 | (...)... : String | Test.java:1118:13:1118:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:1118:42:1118:49 | source(...) : Object | Test.java:1118:34:1118:49 | (...)... : String | provenance | | +| Test.java:1119:10:1119:48 | transformedMap(...) : IterableMap [] : String | Test.java:1120:19:1120:21 | out : IterableMap [] : String | provenance | | +| Test.java:1119:34:1119:35 | in : TreeMap [] : String | Test.java:1119:10:1119:48 | transformedMap(...) : IterableMap [] : String | provenance | MaD:652 | +| Test.java:1120:19:1120:21 | out : IterableMap [] : String | Test.java:228:18:228:29 | map : IterableMap [] : String | provenance | | +| Test.java:1120:19:1120:21 | out : IterableMap [] : String | Test.java:1120:9:1120:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:1125:13:1125:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:1126:34:1126:35 | in : TreeMap [] : String | provenance | | +| Test.java:1125:36:1125:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:1125:36:1125:51 | (...)... : String | Test.java:1125:13:1125:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:1125:44:1125:51 | source(...) : Object | Test.java:1125:36:1125:51 | (...)... : String | provenance | | +| Test.java:1126:10:1126:48 | transformedMap(...) : IterableMap [] : String | Test.java:1127:21:1127:23 | out : IterableMap [] : String | provenance | | +| Test.java:1126:34:1126:35 | in : TreeMap [] : String | Test.java:1126:10:1126:48 | transformedMap(...) : IterableMap [] : String | provenance | MaD:653 | +| Test.java:1127:21:1127:23 | out : IterableMap [] : String | Test.java:232:20:232:31 | map : IterableMap [] : String | provenance | | +| Test.java:1127:21:1127:23 | out : IterableMap [] : String | Test.java:1127:9:1127:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:1132:19:1132:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:1133:40:1133:41 | in : TreeMap [] : String | provenance | | +| Test.java:1132:40:1132:55 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:1132:40:1132:55 | (...)... : String | Test.java:1132:19:1132:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:1132:48:1132:55 | source(...) : Object | Test.java:1132:40:1132:55 | (...)... : String | provenance | | +| Test.java:1133:10:1133:54 | transformedSortedMap(...) : SortedMap [] : String | Test.java:1134:19:1134:21 | out : SortedMap [] : String | provenance | | +| Test.java:1133:40:1133:41 | in : TreeMap [] : String | Test.java:1133:10:1133:54 | transformedSortedMap(...) : SortedMap [] : String | provenance | MaD:654 | +| Test.java:1134:19:1134:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | provenance | | +| Test.java:1134:19:1134:21 | out : SortedMap [] : String | Test.java:1134:9:1134:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:1139:19:1139:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:1140:40:1140:41 | in : TreeMap [] : String | provenance | | +| Test.java:1139:42:1139:57 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:1139:42:1139:57 | (...)... : String | Test.java:1139:19:1139:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:1139:50:1139:57 | source(...) : Object | Test.java:1139:42:1139:57 | (...)... : String | provenance | | +| Test.java:1140:10:1140:54 | transformedSortedMap(...) : SortedMap [] : String | Test.java:1141:21:1141:23 | out : SortedMap [] : String | provenance | | +| Test.java:1140:40:1140:41 | in : TreeMap [] : String | Test.java:1140:10:1140:54 | transformedSortedMap(...) : SortedMap [] : String | provenance | MaD:655 | +| Test.java:1141:21:1141:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | provenance | | +| Test.java:1141:21:1141:23 | out : SortedMap [] : String | Test.java:1141:9:1141:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:1146:13:1146:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:1147:35:1147:36 | in : TreeMap [] : String | provenance | | +| Test.java:1146:34:1146:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:1146:34:1146:49 | (...)... : String | Test.java:1146:13:1146:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:1146:42:1146:49 | source(...) : Object | Test.java:1146:34:1146:49 | (...)... : String | provenance | | +| Test.java:1147:10:1147:37 | unmodifiableMap(...) : Map [] : String | Test.java:1148:19:1148:21 | out : Map [] : String | provenance | | +| Test.java:1147:35:1147:36 | in : TreeMap [] : String | Test.java:1147:10:1147:37 | unmodifiableMap(...) : Map [] : String | provenance | MaD:656 | +| Test.java:1148:19:1148:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:1148:19:1148:21 | out : Map [] : String | Test.java:1148:9:1148:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:1153:13:1153:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:1154:35:1154:36 | in : TreeMap [] : String | provenance | | +| Test.java:1153:36:1153:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:1153:36:1153:51 | (...)... : String | Test.java:1153:13:1153:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:1153:44:1153:51 | source(...) : Object | Test.java:1153:36:1153:51 | (...)... : String | provenance | | +| Test.java:1154:10:1154:37 | unmodifiableMap(...) : Map [] : String | Test.java:1155:21:1155:23 | out : Map [] : String | provenance | | +| Test.java:1154:35:1154:36 | in : TreeMap [] : String | Test.java:1154:10:1154:37 | unmodifiableMap(...) : Map [] : String | provenance | MaD:657 | +| Test.java:1155:21:1155:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | provenance | | +| Test.java:1155:21:1155:23 | out : Map [] : String | Test.java:1155:9:1155:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:1160:19:1160:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:1161:41:1161:42 | in : TreeMap [] : String | provenance | | +| Test.java:1160:40:1160:55 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:1160:40:1160:55 | (...)... : String | Test.java:1160:19:1160:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:1160:48:1160:55 | source(...) : Object | Test.java:1160:40:1160:55 | (...)... : String | provenance | | +| Test.java:1161:10:1161:43 | unmodifiableSortedMap(...) : SortedMap [] : String | Test.java:1162:19:1162:21 | out : SortedMap [] : String | provenance | | +| Test.java:1161:41:1161:42 | in : TreeMap [] : String | Test.java:1161:10:1161:43 | unmodifiableSortedMap(...) : SortedMap [] : String | provenance | MaD:658 | +| Test.java:1162:19:1162:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | provenance | | +| Test.java:1162:19:1162:21 | out : SortedMap [] : String | Test.java:1162:9:1162:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:1167:19:1167:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:1168:41:1168:42 | in : TreeMap [] : String | provenance | | +| Test.java:1167:42:1167:57 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:1167:42:1167:57 | (...)... : String | Test.java:1167:19:1167:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:1167:50:1167:57 | source(...) : Object | Test.java:1167:42:1167:57 | (...)... : String | provenance | | +| Test.java:1168:10:1168:43 | unmodifiableSortedMap(...) : SortedMap [] : String | Test.java:1169:21:1169:23 | out : SortedMap [] : String | provenance | | +| Test.java:1168:41:1168:42 | in : TreeMap [] : String | Test.java:1168:10:1168:43 | unmodifiableSortedMap(...) : SortedMap [] : String | provenance | MaD:659 | +| Test.java:1169:21:1169:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | provenance | | +| Test.java:1169:21:1169:23 | out : SortedMap [] : String | Test.java:1169:9:1169:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:1174:20:1174:61 | newArrayStackWithElement(...) : ArrayStack [] : String | Test.java:1175:10:1175:11 | in : ArrayStack [] : String | provenance | | +| Test.java:1174:45:1174:60 | (...)... : String | Test.java:252:45:252:53 | element : String | provenance | | +| Test.java:1174:45:1174:60 | (...)... : String | Test.java:1174:20:1174:61 | newArrayStackWithElement(...) : ArrayStack [] : String | provenance | MaD:393 | +| Test.java:1174:53:1174:60 | source(...) : Object | Test.java:1174:45:1174:60 | (...)... : String | provenance | | +| Test.java:1175:10:1175:11 | in : ArrayStack [] : String | Test.java:1175:10:1175:19 | peek(...) : String | provenance | MaD:391 | +| Test.java:1175:10:1175:19 | peek(...) : String | Test.java:1176:9:1176:11 | out | provenance | | +| Test.java:1181:20:1181:61 | newArrayStackWithElement(...) : ArrayStack [] : String | Test.java:1182:10:1182:11 | in : ArrayStack [] : String | provenance | | +| Test.java:1181:45:1181:60 | (...)... : String | Test.java:252:45:252:53 | element : String | provenance | | +| Test.java:1181:45:1181:60 | (...)... : String | Test.java:1181:20:1181:61 | newArrayStackWithElement(...) : ArrayStack [] : String | provenance | MaD:393 | +| Test.java:1181:53:1181:60 | source(...) : Object | Test.java:1181:45:1181:60 | (...)... : String | provenance | | +| Test.java:1182:10:1182:11 | in : ArrayStack [] : String | Test.java:1182:10:1182:18 | peek(...) : String | provenance | MaD:391 | +| Test.java:1182:10:1182:18 | peek(...) : String | Test.java:1183:9:1183:11 | out | provenance | | +| Test.java:1188:20:1188:61 | newArrayStackWithElement(...) : ArrayStack [] : String | Test.java:1189:10:1189:11 | in : ArrayStack [] : String | provenance | | +| Test.java:1188:45:1188:60 | (...)... : String | Test.java:252:45:252:53 | element : String | provenance | | +| Test.java:1188:45:1188:60 | (...)... : String | Test.java:1188:20:1188:61 | newArrayStackWithElement(...) : ArrayStack [] : String | provenance | MaD:393 | +| Test.java:1188:53:1188:60 | source(...) : Object | Test.java:1188:45:1188:60 | (...)... : String | provenance | | +| Test.java:1189:10:1189:11 | in : ArrayStack [] : String | Test.java:1189:10:1189:17 | pop(...) : String | provenance | MaD:392 | +| Test.java:1189:10:1189:17 | pop(...) : String | Test.java:1190:9:1190:11 | out | provenance | | +| Test.java:1195:16:1195:23 | source(...) : Object | Test.java:1196:13:1196:14 | in : Object | provenance | | +| Test.java:1196:4:1196:6 | out [post update] : ArrayStack [] : Object | Test.java:1197:20:1197:22 | out : ArrayStack [] : Object | provenance | | +| Test.java:1196:13:1196:14 | in : Object | Test.java:1196:4:1196:6 | out [post update] : ArrayStack [] : Object | provenance | MaD:393 | +| Test.java:1197:20:1197:22 | out : ArrayStack [] : Object | Test.java:230:19:230:32 | it : ArrayStack [] : Object | provenance | | +| Test.java:1197:20:1197:22 | out : ArrayStack [] : Object | Test.java:1197:9:1197:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1202:16:1202:23 | source(...) : Object | Test.java:1204:24:1204:25 | in : Object | provenance | | +| Test.java:1204:10:1204:26 | push(...) : Object | Test.java:1205:9:1205:11 | out | provenance | | +| Test.java:1204:24:1204:25 | in : Object | Test.java:1204:10:1204:26 | push(...) : Object | provenance | MaD:394 | +| Test.java:1210:16:1210:23 | source(...) : Object | Test.java:1211:12:1211:13 | in : Object | provenance | | +| Test.java:1211:4:1211:6 | out [post update] : Bag [] : Object | Test.java:1212:20:1212:22 | out : Bag [] : Object | provenance | | +| Test.java:1211:12:1211:13 | in : Object | Test.java:1211:4:1211:6 | out [post update] : Bag [] : Object | provenance | MaD:395 | +| Test.java:1212:20:1212:22 | out : Bag [] : Object | Test.java:230:19:230:32 | it : Bag [] : Object | provenance | | +| Test.java:1212:20:1212:22 | out : Bag [] : Object | Test.java:1212:9:1212:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1217:16:1217:23 | source(...) : Object | Test.java:1218:12:1218:13 | in : Object | provenance | | +| Test.java:1218:4:1218:6 | out [post update] : Bag [] : Object | Test.java:1219:20:1219:22 | out : Bag [] : Object | provenance | | +| Test.java:1218:12:1218:13 | in : Object | Test.java:1218:4:1218:6 | out [post update] : Bag [] : Object | provenance | MaD:2 | +| Test.java:1218:12:1218:13 | in : Object | Test.java:1218:4:1218:6 | out [post update] : Bag [] : Object | provenance | MaD:395 | +| Test.java:1219:20:1219:22 | out : Bag [] : Object | Test.java:230:19:230:32 | it : Bag [] : Object | provenance | | +| Test.java:1219:20:1219:22 | out : Bag [] : Object | Test.java:1219:9:1219:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1224:13:1224:51 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:1225:10:1225:11 | in : TreeBag [] : String | provenance | | +| Test.java:1224:35:1224:50 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:1224:35:1224:50 | (...)... : String | Test.java:1224:13:1224:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:1224:35:1224:50 | (...)... : String | Test.java:1224:13:1224:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:1224:43:1224:50 | source(...) : Object | Test.java:1224:35:1224:50 | (...)... : String | provenance | | +| Test.java:1225:10:1225:11 | in : TreeBag [] : String | Test.java:1225:10:1225:23 | uniqueSet(...) : Set [] : String | provenance | MaD:396 | +| Test.java:1225:10:1225:23 | uniqueSet(...) : Set [] : String | Test.java:1226:20:1226:22 | out : Set [] : String | provenance | | +| Test.java:1226:20:1226:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:1226:20:1226:22 | out : Set [] : String | Test.java:1226:9:1226:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1231:13:1231:51 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:1232:33:1232:34 | in : TreeBag [] : String | provenance | | +| Test.java:1231:35:1231:50 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:1231:35:1231:50 | (...)... : String | Test.java:1231:13:1231:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:1231:35:1231:50 | (...)... : String | Test.java:1231:13:1231:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:1231:43:1231:50 | source(...) : Object | Test.java:1231:35:1231:50 | (...)... : String | provenance | | +| Test.java:1232:10:1232:35 | collectionBag(...) : Bag [] : String | Test.java:1233:20:1233:22 | out : Bag [] : String | provenance | | +| Test.java:1232:33:1232:34 | in : TreeBag [] : String | Test.java:1232:10:1232:35 | collectionBag(...) : Bag [] : String | provenance | MaD:397 | +| Test.java:1233:20:1233:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | provenance | | +| Test.java:1233:20:1233:22 | out : Bag [] : String | Test.java:1233:9:1233:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1238:13:1238:51 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:1239:33:1239:34 | in : TreeBag [] : String | provenance | | +| Test.java:1238:35:1238:50 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:1238:35:1238:50 | (...)... : String | Test.java:1238:13:1238:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:1238:35:1238:50 | (...)... : String | Test.java:1238:13:1238:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:1238:43:1238:50 | source(...) : Object | Test.java:1238:35:1238:50 | (...)... : String | provenance | | +| Test.java:1239:10:1239:41 | predicatedBag(...) : Bag [] : String | Test.java:1240:20:1240:22 | out : Bag [] : String | provenance | | +| Test.java:1239:33:1239:34 | in : TreeBag [] : String | Test.java:1239:10:1239:41 | predicatedBag(...) : Bag [] : String | provenance | MaD:398 | +| Test.java:1240:20:1240:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | provenance | | +| Test.java:1240:20:1240:22 | out : Bag [] : String | Test.java:1240:9:1240:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1245:19:1245:57 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:1246:39:1246:40 | in : TreeBag [] : String | provenance | | +| Test.java:1245:41:1245:56 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:1245:41:1245:56 | (...)... : String | Test.java:1245:19:1245:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:1245:41:1245:56 | (...)... : String | Test.java:1245:19:1245:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:1245:49:1245:56 | source(...) : Object | Test.java:1245:41:1245:56 | (...)... : String | provenance | | +| Test.java:1246:10:1246:47 | predicatedSortedBag(...) : SortedBag [] : String | Test.java:1247:20:1247:22 | out : SortedBag [] : String | provenance | | +| Test.java:1246:39:1246:40 | in : TreeBag [] : String | Test.java:1246:10:1246:47 | predicatedSortedBag(...) : SortedBag [] : String | provenance | MaD:399 | +| Test.java:1247:20:1247:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | provenance | | +| Test.java:1247:20:1247:22 | out : SortedBag [] : String | Test.java:1247:9:1247:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1252:13:1252:51 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:1253:35:1253:36 | in : TreeBag [] : String | provenance | | +| Test.java:1252:35:1252:50 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:1252:35:1252:50 | (...)... : String | Test.java:1252:13:1252:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:1252:35:1252:50 | (...)... : String | Test.java:1252:13:1252:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:1252:43:1252:50 | source(...) : Object | Test.java:1252:35:1252:50 | (...)... : String | provenance | | +| Test.java:1253:10:1253:37 | synchronizedBag(...) : Bag [] : String | Test.java:1254:20:1254:22 | out : Bag [] : String | provenance | | +| Test.java:1253:35:1253:36 | in : TreeBag [] : String | Test.java:1253:10:1253:37 | synchronizedBag(...) : Bag [] : String | provenance | MaD:400 | +| Test.java:1254:20:1254:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | provenance | | +| Test.java:1254:20:1254:22 | out : Bag [] : String | Test.java:1254:9:1254:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1259:19:1259:57 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:1260:41:1260:42 | in : TreeBag [] : String | provenance | | +| Test.java:1259:41:1259:56 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:1259:41:1259:56 | (...)... : String | Test.java:1259:19:1259:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:1259:41:1259:56 | (...)... : String | Test.java:1259:19:1259:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:1259:49:1259:56 | source(...) : Object | Test.java:1259:41:1259:56 | (...)... : String | provenance | | +| Test.java:1260:10:1260:43 | synchronizedSortedBag(...) : SortedBag [] : String | Test.java:1261:20:1261:22 | out : SortedBag [] : String | provenance | | +| Test.java:1260:41:1260:42 | in : TreeBag [] : String | Test.java:1260:10:1260:43 | synchronizedSortedBag(...) : SortedBag [] : String | provenance | MaD:401 | +| Test.java:1261:20:1261:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | provenance | | +| Test.java:1261:20:1261:22 | out : SortedBag [] : String | Test.java:1261:9:1261:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1266:13:1266:51 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:1267:35:1267:36 | in : TreeBag [] : String | provenance | | +| Test.java:1266:35:1266:50 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:1266:35:1266:50 | (...)... : String | Test.java:1266:13:1266:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:1266:35:1266:50 | (...)... : String | Test.java:1266:13:1266:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:1266:43:1266:50 | source(...) : Object | Test.java:1266:35:1266:50 | (...)... : String | provenance | | +| Test.java:1267:10:1267:43 | transformingBag(...) : Bag [] : String | Test.java:1268:20:1268:22 | out : Bag [] : String | provenance | | +| Test.java:1267:35:1267:36 | in : TreeBag [] : String | Test.java:1267:10:1267:43 | transformingBag(...) : Bag [] : String | provenance | MaD:402 | +| Test.java:1268:20:1268:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | provenance | | +| Test.java:1268:20:1268:22 | out : Bag [] : String | Test.java:1268:9:1268:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1273:19:1273:57 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:1274:41:1274:42 | in : TreeBag [] : String | provenance | | +| Test.java:1273:41:1273:56 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:1273:41:1273:56 | (...)... : String | Test.java:1273:19:1273:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:1273:41:1273:56 | (...)... : String | Test.java:1273:19:1273:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:1273:49:1273:56 | source(...) : Object | Test.java:1273:41:1273:56 | (...)... : String | provenance | | +| Test.java:1274:10:1274:49 | transformingSortedBag(...) : SortedBag [] : String | Test.java:1275:20:1275:22 | out : SortedBag [] : String | provenance | | +| Test.java:1274:41:1274:42 | in : TreeBag [] : String | Test.java:1274:10:1274:49 | transformingSortedBag(...) : SortedBag [] : String | provenance | MaD:403 | +| Test.java:1275:20:1275:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | provenance | | +| Test.java:1275:20:1275:22 | out : SortedBag [] : String | Test.java:1275:9:1275:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1280:13:1280:51 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:1281:35:1281:36 | in : TreeBag [] : String | provenance | | +| Test.java:1280:35:1280:50 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:1280:35:1280:50 | (...)... : String | Test.java:1280:13:1280:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:1280:35:1280:50 | (...)... : String | Test.java:1280:13:1280:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:1280:43:1280:50 | source(...) : Object | Test.java:1280:35:1280:50 | (...)... : String | provenance | | +| Test.java:1281:10:1281:37 | unmodifiableBag(...) : Bag [] : String | Test.java:1282:20:1282:22 | out : Bag [] : String | provenance | | +| Test.java:1281:35:1281:36 | in : TreeBag [] : String | Test.java:1281:10:1281:37 | unmodifiableBag(...) : Bag [] : String | provenance | MaD:404 | +| Test.java:1282:20:1282:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | provenance | | +| Test.java:1282:20:1282:22 | out : Bag [] : String | Test.java:1282:9:1282:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1287:19:1287:57 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:1288:41:1288:42 | in : TreeBag [] : String | provenance | | +| Test.java:1287:41:1287:56 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:1287:41:1287:56 | (...)... : String | Test.java:1287:19:1287:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:1287:41:1287:56 | (...)... : String | Test.java:1287:19:1287:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:1287:49:1287:56 | source(...) : Object | Test.java:1287:41:1287:56 | (...)... : String | provenance | | +| Test.java:1288:10:1288:43 | unmodifiableSortedBag(...) : SortedBag [] : String | Test.java:1289:20:1289:22 | out : SortedBag [] : String | provenance | | +| Test.java:1288:41:1288:42 | in : TreeBag [] : String | Test.java:1288:10:1288:43 | unmodifiableSortedBag(...) : SortedBag [] : String | provenance | MaD:405 | +| Test.java:1289:20:1289:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | provenance | | +| Test.java:1289:20:1289:22 | out : SortedBag [] : String | Test.java:1289:9:1289:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1294:17:1294:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | Test.java:1295:10:1295:11 | in : TreeBidiMap [] : String | provenance | | +| Test.java:1294:42:1294:57 | (...)... : String | Test.java:287:75:287:79 | key : String | provenance | | +| Test.java:1294:42:1294:57 | (...)... : String | Test.java:1294:17:1294:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | provenance | MaD:14 | +| Test.java:1294:42:1294:57 | (...)... : String | Test.java:1294:17:1294:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | provenance | MaD:705 | +| Test.java:1294:50:1294:57 | source(...) : Object | Test.java:1294:42:1294:57 | (...)... : String | provenance | | +| Test.java:1295:10:1295:11 | in : TreeBidiMap [] : String | Test.java:1295:10:1295:24 | getKey(...) : String | provenance | MaD:406 | +| Test.java:1295:10:1295:24 | getKey(...) : String | Test.java:1296:9:1296:11 | out | provenance | | +| Test.java:1301:17:1301:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | Test.java:1302:10:1302:11 | in : TreeBidiMap [] : String | provenance | | +| Test.java:1301:42:1301:57 | (...)... : String | Test.java:287:75:287:79 | key : String | provenance | | +| Test.java:1301:42:1301:57 | (...)... : String | Test.java:1301:17:1301:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | provenance | MaD:14 | +| Test.java:1301:42:1301:57 | (...)... : String | Test.java:1301:17:1301:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | provenance | MaD:705 | +| Test.java:1301:50:1301:57 | source(...) : Object | Test.java:1301:42:1301:57 | (...)... : String | provenance | | +| Test.java:1302:10:1302:11 | in : TreeBidiMap [] : String | Test.java:1302:10:1302:28 | inverseBidiMap(...) : BidiMap [] : String | provenance | MaD:407 | +| Test.java:1302:10:1302:28 | inverseBidiMap(...) : BidiMap [] : String | Test.java:1303:21:1303:23 | out : BidiMap [] : String | provenance | | +| Test.java:1303:21:1303:23 | out : BidiMap [] : String | Test.java:232:20:232:31 | map : BidiMap [] : String | provenance | | +| Test.java:1303:21:1303:23 | out : BidiMap [] : String | Test.java:1303:9:1303:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:1308:17:1308:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | Test.java:1309:10:1309:11 | in : TreeBidiMap [] : String | provenance | | +| Test.java:1308:44:1308:59 | (...)... : String | Test.java:306:77:306:83 | value : String | provenance | | +| Test.java:1308:44:1308:59 | (...)... : String | Test.java:1308:17:1308:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | provenance | MaD:15 | +| Test.java:1308:44:1308:59 | (...)... : String | Test.java:1308:17:1308:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | provenance | MaD:706 | +| Test.java:1308:52:1308:59 | source(...) : Object | Test.java:1308:44:1308:59 | (...)... : String | provenance | | +| Test.java:1309:10:1309:11 | in : TreeBidiMap [] : String | Test.java:1309:10:1309:28 | inverseBidiMap(...) : BidiMap [] : String | provenance | MaD:408 | +| Test.java:1309:10:1309:28 | inverseBidiMap(...) : BidiMap [] : String | Test.java:1310:19:1310:21 | out : BidiMap [] : String | provenance | | +| Test.java:1310:19:1310:21 | out : BidiMap [] : String | Test.java:228:18:228:29 | map : BidiMap [] : String | provenance | | +| Test.java:1310:19:1310:21 | out : BidiMap [] : String | Test.java:1310:9:1310:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:1315:17:1315:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | Test.java:1316:10:1316:11 | in : TreeBidiMap [] : String | provenance | | +| Test.java:1315:42:1315:57 | (...)... : String | Test.java:287:75:287:79 | key : String | provenance | | +| Test.java:1315:42:1315:57 | (...)... : String | Test.java:1315:17:1315:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | provenance | MaD:14 | +| Test.java:1315:42:1315:57 | (...)... : String | Test.java:1315:17:1315:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | provenance | MaD:705 | +| Test.java:1315:50:1315:57 | source(...) : Object | Test.java:1315:42:1315:57 | (...)... : String | provenance | | +| Test.java:1316:10:1316:11 | in : TreeBidiMap [] : String | Test.java:1316:10:1316:29 | removeValue(...) : String | provenance | MaD:409 | +| Test.java:1316:10:1316:29 | removeValue(...) : String | Test.java:1317:9:1317:11 | out | provenance | | +| Test.java:1322:21:1322:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | Test.java:1323:32:1323:33 | in : IteratorEnumeration [] : String | provenance | | +| Test.java:1322:47:1322:62 | (...)... : String | Test.java:256:47:256:55 | element : String | provenance | | +| Test.java:1322:47:1322:62 | (...)... : String | Test.java:1322:21:1322:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | provenance | MaD:2 | +| Test.java:1322:55:1322:62 | source(...) : Object | Test.java:1322:47:1322:62 | (...)... : String | provenance | | +| Test.java:1323:27:1323:29 | out [post update] : Collection [] : String | Test.java:1324:20:1324:22 | out : Collection [] : String | provenance | | +| Test.java:1323:32:1323:33 | in : IteratorEnumeration [] : String | Test.java:1323:27:1323:29 | out [post update] : Collection [] : String | provenance | MaD:410 | +| Test.java:1324:20:1324:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1324:20:1324:22 | out : Collection [] : String | Test.java:1324:9:1324:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1329:18:1329:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1330:32:1330:33 | in : Vector [] : String | provenance | | +| Test.java:1329:39:1329:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1329:39:1329:54 | (...)... : String | Test.java:1329:18:1329:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1329:47:1329:54 | source(...) : Object | Test.java:1329:39:1329:54 | (...)... : String | provenance | | +| Test.java:1330:27:1330:29 | out [post update] : Collection [] : String | Test.java:1331:20:1331:22 | out : Collection [] : String | provenance | | +| Test.java:1330:32:1330:33 | in : Vector [] : String | Test.java:1330:27:1330:29 | out [post update] : Collection [] : String | provenance | MaD:411 | +| Test.java:1331:20:1331:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1331:20:1331:22 | out : Collection [] : String | Test.java:1331:9:1331:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1336:18:1336:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:1337:32:1337:33 | in : ListIterator [] : String | provenance | | +| Test.java:1336:45:1336:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:1336:45:1336:60 | (...)... : String | Test.java:1336:18:1336:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:1336:53:1336:60 | source(...) : Object | Test.java:1336:45:1336:60 | (...)... : String | provenance | | +| Test.java:1337:27:1337:29 | out [post update] : Collection [] : String | Test.java:1338:20:1338:22 | out : Collection [] : String | provenance | | +| Test.java:1337:32:1337:33 | in : ListIterator [] : String | Test.java:1337:27:1337:29 | out [post update] : Collection [] : String | provenance | MaD:412 | +| Test.java:1338:20:1338:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1338:20:1338:22 | out : Collection [] : String | Test.java:1338:9:1338:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1343:18:1343:54 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:1344:32:1344:33 | in : Object[] [[]] : String | provenance | | +| Test.java:1343:38:1343:53 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:1343:38:1343:53 | (...)... : String | Test.java:1343:18:1343:54 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:1343:46:1343:53 | source(...) : Object | Test.java:1343:38:1343:53 | (...)... : String | provenance | | +| Test.java:1344:27:1344:29 | out [post update] : Collection [] : String | Test.java:1345:20:1345:22 | out : Collection [] : String | provenance | | +| Test.java:1344:32:1344:33 | in : Object[] [[]] : String | Test.java:1344:27:1344:29 | out [post update] : Collection [] : String | provenance | MaD:413 | +| Test.java:1345:20:1345:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1345:20:1345:22 | out : Collection [] : String | Test.java:1345:9:1345:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1350:16:1350:23 | source(...) : Object | Test.java:1351:39:1351:40 | in : Object | provenance | | +| Test.java:1351:34:1351:36 | out [post update] : Collection [] : Object | Test.java:1352:20:1352:22 | out : Collection [] : Object | provenance | | +| Test.java:1351:39:1351:40 | in : Object | Test.java:1351:34:1351:36 | out [post update] : Collection [] : Object | provenance | MaD:414 | +| Test.java:1352:20:1352:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | provenance | | +| Test.java:1352:20:1352:22 | out : Collection [] : Object | Test.java:1352:9:1352:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1357:18:1357:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1358:34:1358:35 | in : Vector [] : String | provenance | | +| Test.java:1357:39:1357:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1357:39:1357:54 | (...)... : String | Test.java:1357:18:1357:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1357:47:1357:54 | source(...) : Object | Test.java:1357:39:1357:54 | (...)... : String | provenance | | +| Test.java:1358:10:1358:55 | collate(...) : List [] : String | Test.java:1359:20:1359:22 | out : List [] : String | provenance | | +| Test.java:1358:34:1358:35 | in : Vector [] : String | Test.java:1358:10:1358:55 | collate(...) : List [] : String | provenance | MaD:415 | +| Test.java:1359:20:1359:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:1359:20:1359:22 | out : List [] : String | Test.java:1359:9:1359:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1364:18:1364:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1365:34:1365:35 | in : Vector [] : String | provenance | | +| Test.java:1364:39:1364:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1364:39:1364:54 | (...)... : String | Test.java:1364:18:1364:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1364:47:1364:54 | source(...) : Object | Test.java:1364:39:1364:54 | (...)... : String | provenance | | +| Test.java:1365:10:1365:42 | collate(...) : List [] : String | Test.java:1366:20:1366:22 | out : List [] : String | provenance | | +| Test.java:1365:34:1365:35 | in : Vector [] : String | Test.java:1365:10:1365:42 | collate(...) : List [] : String | provenance | MaD:415 | +| Test.java:1366:20:1366:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:1366:20:1366:22 | out : List [] : String | Test.java:1366:9:1366:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1371:18:1371:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1372:34:1372:35 | in : Vector [] : String | provenance | | +| Test.java:1371:39:1371:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1371:39:1371:54 | (...)... : String | Test.java:1371:18:1371:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1371:47:1371:54 | source(...) : Object | Test.java:1371:39:1371:54 | (...)... : String | provenance | | +| Test.java:1372:10:1372:59 | collate(...) : List [] : String | Test.java:1373:20:1373:22 | out : List [] : String | provenance | | +| Test.java:1372:34:1372:35 | in : Vector [] : String | Test.java:1372:10:1372:59 | collate(...) : List [] : String | provenance | MaD:415 | +| Test.java:1373:20:1373:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:1373:20:1373:22 | out : List [] : String | Test.java:1373:9:1373:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1378:18:1378:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1379:34:1379:35 | in : Vector [] : String | provenance | | +| Test.java:1378:39:1378:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1378:39:1378:54 | (...)... : String | Test.java:1378:18:1378:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1378:47:1378:54 | source(...) : Object | Test.java:1378:39:1378:54 | (...)... : String | provenance | | +| Test.java:1379:10:1379:70 | collate(...) : List [] : String | Test.java:1380:20:1380:22 | out : List [] : String | provenance | | +| Test.java:1379:34:1379:35 | in : Vector [] : String | Test.java:1379:10:1379:70 | collate(...) : List [] : String | provenance | MaD:415 | +| Test.java:1380:20:1380:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:1380:20:1380:22 | out : List [] : String | Test.java:1380:9:1380:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1385:18:1385:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1386:40:1386:41 | in : Vector [] : String | provenance | | +| Test.java:1385:39:1385:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1385:39:1385:54 | (...)... : String | Test.java:1385:18:1385:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1385:47:1385:54 | source(...) : Object | Test.java:1385:39:1385:54 | (...)... : String | provenance | | +| Test.java:1386:10:1386:55 | collate(...) : List [] : String | Test.java:1387:20:1387:22 | out : List [] : String | provenance | | +| Test.java:1386:40:1386:41 | in : Vector [] : String | Test.java:1386:10:1386:55 | collate(...) : List [] : String | provenance | MaD:416 | +| Test.java:1387:20:1387:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:1387:20:1387:22 | out : List [] : String | Test.java:1387:9:1387:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1392:18:1392:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1393:40:1393:41 | in : Vector [] : String | provenance | | +| Test.java:1392:39:1392:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1392:39:1392:54 | (...)... : String | Test.java:1392:18:1392:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1392:47:1392:54 | source(...) : Object | Test.java:1392:39:1392:54 | (...)... : String | provenance | | +| Test.java:1393:10:1393:42 | collate(...) : List [] : String | Test.java:1394:20:1394:22 | out : List [] : String | provenance | | +| Test.java:1393:40:1393:41 | in : Vector [] : String | Test.java:1393:10:1393:42 | collate(...) : List [] : String | provenance | MaD:416 | +| Test.java:1394:20:1394:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:1394:20:1394:22 | out : List [] : String | Test.java:1394:9:1394:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1399:18:1399:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1400:50:1400:51 | in : Vector [] : String | provenance | | +| Test.java:1399:39:1399:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1399:39:1399:54 | (...)... : String | Test.java:1399:18:1399:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1399:47:1399:54 | source(...) : Object | Test.java:1399:39:1399:54 | (...)... : String | provenance | | +| Test.java:1400:10:1400:59 | collate(...) : List [] : String | Test.java:1401:20:1401:22 | out : List [] : String | provenance | | +| Test.java:1400:50:1400:51 | in : Vector [] : String | Test.java:1400:10:1400:59 | collate(...) : List [] : String | provenance | MaD:416 | +| Test.java:1401:20:1401:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:1401:20:1401:22 | out : List [] : String | Test.java:1401:9:1401:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1406:18:1406:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1407:50:1407:51 | in : Vector [] : String | provenance | | +| Test.java:1406:39:1406:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1406:39:1406:54 | (...)... : String | Test.java:1406:18:1406:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1406:47:1406:54 | source(...) : Object | Test.java:1406:39:1406:54 | (...)... : String | provenance | | +| Test.java:1407:10:1407:70 | collate(...) : List [] : String | Test.java:1408:20:1408:22 | out : List [] : String | provenance | | +| Test.java:1407:50:1407:51 | in : Vector [] : String | Test.java:1407:10:1407:70 | collate(...) : List [] : String | provenance | MaD:416 | +| Test.java:1408:20:1408:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:1408:20:1408:22 | out : List [] : String | Test.java:1408:9:1408:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1413:18:1413:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1414:38:1414:39 | in : Vector [] : String | provenance | | +| Test.java:1413:39:1413:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1413:39:1413:54 | (...)... : String | Test.java:1413:18:1413:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1413:47:1413:54 | source(...) : Object | Test.java:1413:39:1413:54 | (...)... : String | provenance | | +| Test.java:1414:10:1414:46 | disjunction(...) : Collection [] : String | Test.java:1415:20:1415:22 | out : Collection [] : String | provenance | | +| Test.java:1414:38:1414:39 | in : Vector [] : String | Test.java:1414:10:1414:46 | disjunction(...) : Collection [] : String | provenance | MaD:417 | +| Test.java:1415:20:1415:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1415:20:1415:22 | out : Collection [] : String | Test.java:1415:9:1415:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1420:18:1420:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1421:44:1421:45 | in : Vector [] : String | provenance | | +| Test.java:1420:39:1420:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1420:39:1420:54 | (...)... : String | Test.java:1420:18:1420:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1420:47:1420:54 | source(...) : Object | Test.java:1420:39:1420:54 | (...)... : String | provenance | | +| Test.java:1421:10:1421:46 | disjunction(...) : Collection [] : String | Test.java:1422:20:1422:22 | out : Collection [] : String | provenance | | +| Test.java:1421:44:1421:45 | in : Vector [] : String | Test.java:1421:10:1421:46 | disjunction(...) : Collection [] : String | provenance | MaD:418 | +| Test.java:1422:20:1422:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1422:20:1422:22 | out : Collection [] : String | Test.java:1422:9:1422:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1427:20:1427:39 | (...)... : Collection | Test.java:1428:38:1428:39 | in : Collection | provenance | | +| Test.java:1427:32:1427:39 | source(...) : Object | Test.java:1427:20:1427:39 | (...)... : Collection | provenance | | +| Test.java:1428:10:1428:40 | emptyIfNull(...) : Collection | Test.java:1429:9:1429:11 | out | provenance | | +| Test.java:1428:38:1428:39 | in : Collection | Test.java:1428:10:1428:40 | emptyIfNull(...) : Collection | provenance | MaD:419 | +| Test.java:1434:20:1434:57 | newVectorWithElement(...) : Vector [] : String | Test.java:1435:43:1435:44 | in : Vector [] : String | provenance | | +| Test.java:1434:41:1434:56 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1434:41:1434:56 | (...)... : String | Test.java:1434:20:1434:57 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1434:49:1434:56 | source(...) : Object | Test.java:1434:41:1434:56 | (...)... : String | provenance | | +| Test.java:1435:10:1435:45 | extractSingleton(...) : String | Test.java:1436:9:1436:11 | out | provenance | | +| Test.java:1435:43:1435:44 | in : Vector [] : String | Test.java:1435:10:1435:45 | extractSingleton(...) : String | provenance | MaD:420 | +| Test.java:1441:18:1441:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1442:31:1442:32 | in : Vector [] : String | provenance | | +| Test.java:1441:39:1441:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1441:39:1441:54 | (...)... : String | Test.java:1441:18:1441:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1441:47:1441:54 | source(...) : Object | Test.java:1441:39:1441:54 | (...)... : String | provenance | | +| Test.java:1442:10:1442:39 | find(...) : String | Test.java:1443:9:1443:11 | out | provenance | | +| Test.java:1442:31:1442:32 | in : Vector [] : String | Test.java:1442:10:1442:39 | find(...) : String | provenance | MaD:421 | +| Test.java:1448:18:1448:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:1449:30:1449:31 | in : ListIterator [] : String | provenance | | +| Test.java:1448:45:1448:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:1448:45:1448:60 | (...)... : String | Test.java:1448:18:1448:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:1448:53:1448:60 | source(...) : Object | Test.java:1448:45:1448:60 | (...)... : String | provenance | | +| Test.java:1449:10:1449:35 | get(...) : String | Test.java:1450:9:1450:11 | out | provenance | | +| Test.java:1449:30:1449:31 | in : ListIterator [] : String | Test.java:1449:10:1449:35 | get(...) : String | provenance | MaD:423 | +| Test.java:1455:18:1455:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1456:30:1456:31 | in : Vector [] : String | provenance | | +| Test.java:1455:39:1455:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1455:39:1455:54 | (...)... : String | Test.java:1455:18:1455:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1455:47:1455:54 | source(...) : Object | Test.java:1455:39:1455:54 | (...)... : String | provenance | | +| Test.java:1456:10:1456:35 | get(...) : String | Test.java:1457:9:1457:11 | out | provenance | | +| Test.java:1456:30:1456:31 | in : Vector [] : String | Test.java:1456:10:1456:35 | get(...) : String | provenance | MaD:422 | +| Test.java:1462:13:1462:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:1463:30:1463:31 | in : TreeMap [] : String | provenance | | +| Test.java:1462:34:1462:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:1462:34:1462:49 | (...)... : String | Test.java:1462:13:1462:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:1462:42:1462:49 | source(...) : Object | Test.java:1462:34:1462:49 | (...)... : String | provenance | | +| Test.java:1463:10:1463:35 | get(...) : Entry [] : String | Test.java:1464:28:1464:30 | out : Entry [] : String | provenance | | +| Test.java:1463:30:1463:31 | in : TreeMap [] : String | Test.java:1463:10:1463:35 | get(...) : Entry [] : String | provenance | MaD:424 | +| Test.java:1464:28:1464:30 | out : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | provenance | | +| Test.java:1464:28:1464:30 | out : Entry [] : String | Test.java:1464:9:1464:31 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:1469:13:1469:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:1470:30:1470:31 | in : TreeMap [] : String | provenance | | +| Test.java:1469:36:1469:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:1469:36:1469:51 | (...)... : String | Test.java:1469:13:1469:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:1469:44:1469:51 | source(...) : Object | Test.java:1469:36:1469:51 | (...)... : String | provenance | | +| Test.java:1470:10:1470:35 | get(...) : Entry [] : String | Test.java:1471:30:1471:32 | out : Entry [] : String | provenance | | +| Test.java:1470:30:1470:31 | in : TreeMap [] : String | Test.java:1470:10:1470:35 | get(...) : Entry [] : String | provenance | MaD:425 | +| Test.java:1471:30:1471:32 | out : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | provenance | | +| Test.java:1471:30:1471:32 | out : Entry [] : String | Test.java:1471:9:1471:33 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:1476:16:1476:52 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:1477:30:1477:31 | in : Object[] [[]] : String | provenance | | +| Test.java:1476:36:1476:51 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:1476:36:1476:51 | (...)... : String | Test.java:1476:16:1476:52 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:1476:44:1476:51 | source(...) : Object | Test.java:1476:36:1476:51 | (...)... : String | provenance | | +| Test.java:1477:10:1477:35 | get(...) : String | Test.java:1478:9:1478:11 | out | provenance | | +| Test.java:1477:30:1477:31 | in : Object[] [[]] : String | Test.java:1477:10:1477:35 | get(...) : String | provenance | MaD:426 | +| Test.java:1483:16:1483:53 | newVectorWithElement(...) : Vector [] : String | Test.java:1484:30:1484:31 | in : Vector [] : String | provenance | | +| Test.java:1483:37:1483:52 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1483:37:1483:52 | (...)... : String | Test.java:1483:16:1483:53 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1483:45:1483:52 | source(...) : Object | Test.java:1483:37:1483:52 | (...)... : String | provenance | | +| Test.java:1484:10:1484:35 | get(...) : String | Test.java:1485:9:1485:11 | out | provenance | | +| Test.java:1484:30:1484:31 | in : Vector [] : String | Test.java:1484:10:1484:35 | get(...) : String | provenance | MaD:427 | +| Test.java:1490:16:1490:53 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:1491:41:1491:42 | in : TreeMap [] : String | provenance | | +| Test.java:1490:37:1490:52 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:1490:37:1490:52 | (...)... : String | Test.java:1490:16:1490:53 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:1490:45:1490:52 | source(...) : Object | Test.java:1490:37:1490:52 | (...)... : String | provenance | | +| Test.java:1491:10:1491:46 | (...)... : Entry [] : String | Test.java:1492:28:1492:30 | out : Entry [] : String | provenance | | +| Test.java:1491:21:1491:46 | get(...) : Object [] : String | Test.java:1491:10:1491:46 | (...)... : Entry [] : String | provenance | | +| Test.java:1491:41:1491:42 | in : TreeMap [] : String | Test.java:1491:21:1491:46 | get(...) : Object [] : String | provenance | MaD:428 | +| Test.java:1492:28:1492:30 | out : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | provenance | | +| Test.java:1492:28:1492:30 | out : Entry [] : String | Test.java:1492:9:1492:31 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:1497:16:1497:55 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:1498:41:1498:42 | in : TreeMap [] : String | provenance | | +| Test.java:1497:39:1497:54 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:1497:39:1497:54 | (...)... : String | Test.java:1497:16:1497:55 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:1497:47:1497:54 | source(...) : Object | Test.java:1497:39:1497:54 | (...)... : String | provenance | | +| Test.java:1498:10:1498:46 | (...)... : Entry [] : String | Test.java:1499:30:1499:32 | out : Entry [] : String | provenance | | +| Test.java:1498:21:1498:46 | get(...) : Object [] : String | Test.java:1498:10:1498:46 | (...)... : Entry [] : String | provenance | | +| Test.java:1498:41:1498:42 | in : TreeMap [] : String | Test.java:1498:21:1498:46 | get(...) : Object [] : String | provenance | MaD:429 | +| Test.java:1499:30:1499:32 | out : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | provenance | | +| Test.java:1499:30:1499:32 | out : Entry [] : String | Test.java:1499:9:1499:33 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:1504:18:1504:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1505:44:1505:45 | in : Vector [] : String | provenance | | +| Test.java:1504:39:1504:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1504:39:1504:54 | (...)... : String | Test.java:1504:18:1504:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1504:47:1504:54 | source(...) : Object | Test.java:1504:39:1504:54 | (...)... : String | provenance | | +| Test.java:1505:10:1505:46 | getCardinalityMap(...) : Map [] : String | Test.java:1506:19:1506:21 | out : Map [] : String | provenance | | +| Test.java:1505:44:1505:45 | in : Vector [] : String | Test.java:1505:10:1505:46 | getCardinalityMap(...) : Map [] : String | provenance | MaD:430 | +| Test.java:1506:19:1506:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:1506:19:1506:21 | out : Map [] : String | Test.java:1506:9:1506:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:1511:18:1511:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1512:39:1512:40 | in : Vector [] : String | provenance | | +| Test.java:1511:39:1511:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1511:39:1511:54 | (...)... : String | Test.java:1511:18:1511:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1511:47:1511:54 | source(...) : Object | Test.java:1511:39:1511:54 | (...)... : String | provenance | | +| Test.java:1512:10:1512:47 | intersection(...) : Collection [] : String | Test.java:1513:20:1513:22 | out : Collection [] : String | provenance | | +| Test.java:1512:39:1512:40 | in : Vector [] : String | Test.java:1512:10:1512:47 | intersection(...) : Collection [] : String | provenance | MaD:431 | +| Test.java:1513:20:1513:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1513:20:1513:22 | out : Collection [] : String | Test.java:1513:9:1513:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1518:18:1518:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1519:45:1519:46 | in : Vector [] : String | provenance | | +| Test.java:1518:39:1518:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1518:39:1518:54 | (...)... : String | Test.java:1518:18:1518:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1518:47:1518:54 | source(...) : Object | Test.java:1518:39:1518:54 | (...)... : String | provenance | | +| Test.java:1519:10:1519:47 | intersection(...) : Collection [] : String | Test.java:1520:20:1520:22 | out : Collection [] : String | provenance | | +| Test.java:1519:45:1519:46 | in : Vector [] : String | Test.java:1519:10:1519:47 | intersection(...) : Collection [] : String | provenance | MaD:432 | +| Test.java:1520:20:1520:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1520:20:1520:22 | out : Collection [] : String | Test.java:1520:9:1520:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1525:20:1525:57 | newVectorWithElement(...) : Vector [] : String | Test.java:1526:39:1526:40 | in : Vector [] : String | provenance | | +| Test.java:1525:41:1525:56 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1525:41:1525:56 | (...)... : String | Test.java:1525:20:1525:57 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1525:49:1525:56 | source(...) : Object | Test.java:1525:41:1525:56 | (...)... : String | provenance | | +| Test.java:1526:10:1526:41 | permutations(...) : Collection [, ] : String | Test.java:1527:41:1527:43 | out : Collection [, ] : String | provenance | | +| Test.java:1526:39:1526:40 | in : Vector [] : String | Test.java:1526:10:1526:41 | permutations(...) : Collection [, ] : String | provenance | MaD:433 | +| Test.java:1527:20:1527:44 | (...)... : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:1527:20:1527:44 | (...)... : Iterable [] : String | Test.java:1527:9:1527:45 | getElement(...) | provenance | MaD:1 | +| Test.java:1527:30:1527:44 | getElement(...) : Object [] : String | Test.java:1527:20:1527:44 | (...)... : Iterable [] : String | provenance | | +| Test.java:1527:41:1527:43 | out : Collection [, ] : String | Test.java:230:19:230:32 | it : Collection [, ] : String | provenance | | +| Test.java:1527:41:1527:43 | out : Collection [, ] : String | Test.java:1527:30:1527:44 | getElement(...) : Object [] : String | provenance | MaD:1 | +| Test.java:1532:20:1532:57 | newVectorWithElement(...) : Vector [] : String | Test.java:1533:47:1533:48 | in : Vector [] : String | provenance | | +| Test.java:1532:41:1532:56 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1532:41:1532:56 | (...)... : String | Test.java:1532:20:1532:57 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1532:49:1532:56 | source(...) : Object | Test.java:1532:41:1532:56 | (...)... : String | provenance | | +| Test.java:1533:10:1533:55 | predicatedCollection(...) : Collection [] : String | Test.java:1534:20:1534:22 | out : Collection [] : String | provenance | | +| Test.java:1533:47:1533:48 | in : Vector [] : String | Test.java:1533:10:1533:55 | predicatedCollection(...) : Collection [] : String | provenance | MaD:434 | +| Test.java:1534:20:1534:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1534:20:1534:22 | out : Collection [] : String | Test.java:1534:9:1534:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1539:18:1539:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1540:36:1540:37 | in : Vector [] : String | provenance | | +| Test.java:1539:39:1539:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1539:39:1539:54 | (...)... : String | Test.java:1539:18:1539:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1539:47:1539:54 | source(...) : Object | Test.java:1539:39:1539:54 | (...)... : String | provenance | | +| Test.java:1540:10:1540:50 | removeAll(...) : Collection [] : String | Test.java:1541:20:1541:22 | out : Collection [] : String | provenance | | +| Test.java:1540:36:1540:37 | in : Vector [] : String | Test.java:1540:10:1540:50 | removeAll(...) : Collection [] : String | provenance | MaD:435 | +| Test.java:1541:20:1541:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1541:20:1541:22 | out : Collection [] : String | Test.java:1541:9:1541:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1546:20:1546:57 | newVectorWithElement(...) : Vector [] : String | Test.java:1547:36:1547:37 | in : Vector [] : String | provenance | | +| Test.java:1546:41:1546:56 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1546:41:1546:56 | (...)... : String | Test.java:1546:20:1546:57 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1546:49:1546:56 | source(...) : Object | Test.java:1546:41:1546:56 | (...)... : String | provenance | | +| Test.java:1547:10:1547:44 | removeAll(...) : Collection [] : String | Test.java:1548:20:1548:22 | out : Collection [] : String | provenance | | +| Test.java:1547:36:1547:37 | in : Vector [] : String | Test.java:1547:10:1547:44 | removeAll(...) : Collection [] : String | provenance | MaD:435 | +| Test.java:1548:20:1548:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1548:20:1548:22 | out : Collection [] : String | Test.java:1548:9:1548:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1553:18:1553:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1554:36:1554:37 | in : Vector [] : String | provenance | | +| Test.java:1553:39:1553:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1553:39:1553:54 | (...)... : String | Test.java:1553:18:1553:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1553:47:1553:54 | source(...) : Object | Test.java:1553:39:1553:54 | (...)... : String | provenance | | +| Test.java:1554:10:1554:50 | retainAll(...) : Collection [] : String | Test.java:1555:20:1555:22 | out : Collection [] : String | provenance | | +| Test.java:1554:36:1554:37 | in : Vector [] : String | Test.java:1554:10:1554:50 | retainAll(...) : Collection [] : String | provenance | MaD:436 | +| Test.java:1555:20:1555:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1555:20:1555:22 | out : Collection [] : String | Test.java:1555:9:1555:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1560:20:1560:57 | newVectorWithElement(...) : Vector [] : String | Test.java:1561:36:1561:37 | in : Vector [] : String | provenance | | +| Test.java:1560:41:1560:56 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1560:41:1560:56 | (...)... : String | Test.java:1560:20:1560:57 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1560:49:1560:56 | source(...) : Object | Test.java:1560:41:1560:56 | (...)... : String | provenance | | +| Test.java:1561:10:1561:44 | retainAll(...) : Collection [] : String | Test.java:1562:20:1562:22 | out : Collection [] : String | provenance | | +| Test.java:1561:36:1561:37 | in : Vector [] : String | Test.java:1561:10:1561:44 | retainAll(...) : Collection [] : String | provenance | MaD:436 | +| Test.java:1562:20:1562:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1562:20:1562:22 | out : Collection [] : String | Test.java:1562:9:1562:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1567:18:1567:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1568:33:1568:34 | in : Vector [] : String | provenance | | +| Test.java:1567:39:1567:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1567:39:1567:54 | (...)... : String | Test.java:1567:18:1567:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1567:47:1567:54 | source(...) : Object | Test.java:1567:39:1567:54 | (...)... : String | provenance | | +| Test.java:1568:10:1568:41 | select(...) : Collection [] : String | Test.java:1569:20:1569:22 | out : Collection [] : String | provenance | | +| Test.java:1568:33:1568:34 | in : Vector [] : String | Test.java:1568:10:1568:41 | select(...) : Collection [] : String | provenance | MaD:437 | +| Test.java:1569:20:1569:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1569:20:1569:22 | out : Collection [] : String | Test.java:1569:9:1569:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1574:20:1574:39 | (...)... : Collection | Test.java:1575:45:1575:46 | in : Collection | provenance | | +| Test.java:1574:32:1574:39 | source(...) : Object | Test.java:1574:20:1574:39 | (...)... : Collection | provenance | | +| Test.java:1575:10:1575:47 | select(...) : Collection | Test.java:1576:9:1576:11 | out | provenance | | +| Test.java:1575:45:1575:46 | in : Collection | Test.java:1575:10:1575:47 | select(...) : Collection | provenance | MaD:439 | +| Test.java:1581:18:1581:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1582:27:1582:28 | in : Vector [] : String | provenance | | +| Test.java:1581:39:1581:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1581:39:1581:54 | (...)... : String | Test.java:1581:18:1581:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1581:47:1581:54 | source(...) : Object | Test.java:1581:39:1581:54 | (...)... : String | provenance | | +| Test.java:1582:27:1582:28 | in : Vector [] : String | Test.java:1582:37:1582:39 | out [post update] : Collection [] : String | provenance | MaD:438 | +| Test.java:1582:37:1582:39 | out [post update] : Collection [] : String | Test.java:1583:20:1583:22 | out : Collection [] : String | provenance | | +| Test.java:1583:20:1583:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1583:20:1583:22 | out : Collection [] : String | Test.java:1583:9:1583:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1588:18:1588:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1589:33:1589:34 | in : Vector [] : String | provenance | | +| Test.java:1588:39:1588:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1588:39:1588:54 | (...)... : String | Test.java:1588:18:1588:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1588:47:1588:54 | source(...) : Object | Test.java:1588:39:1588:54 | (...)... : String | provenance | | +| Test.java:1589:10:1589:46 | select(...) : Collection [] : String | Test.java:1590:20:1590:22 | out : Collection [] : String | provenance | | +| Test.java:1589:33:1589:34 | in : Vector [] : String | Test.java:1589:10:1589:46 | select(...) : Collection [] : String | provenance | MaD:438+MaD:439 | +| Test.java:1590:20:1590:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1590:20:1590:22 | out : Collection [] : String | Test.java:1590:9:1590:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1595:20:1595:39 | (...)... : Collection | Test.java:1596:45:1596:46 | in : Collection | provenance | | +| Test.java:1595:32:1595:39 | source(...) : Object | Test.java:1595:20:1595:39 | (...)... : Collection | provenance | | +| Test.java:1596:10:1596:53 | select(...) : Collection | Test.java:1597:9:1597:11 | out | provenance | | +| Test.java:1596:45:1596:46 | in : Collection | Test.java:1596:10:1596:53 | select(...) : Collection | provenance | MaD:442 | +| Test.java:1602:18:1602:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1603:27:1603:28 | in : Vector [] : String | provenance | | +| Test.java:1602:39:1602:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1602:39:1602:54 | (...)... : String | Test.java:1602:18:1602:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1602:47:1602:54 | source(...) : Object | Test.java:1602:39:1602:54 | (...)... : String | provenance | | +| Test.java:1603:27:1603:28 | in : Vector [] : String | Test.java:1603:37:1603:39 | out [post update] : Collection [] : String | provenance | MaD:440 | +| Test.java:1603:37:1603:39 | out [post update] : Collection [] : String | Test.java:1604:20:1604:22 | out : Collection [] : String | provenance | | +| Test.java:1604:20:1604:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1604:20:1604:22 | out : Collection [] : String | Test.java:1604:9:1604:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1609:18:1609:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1610:33:1610:34 | in : Vector [] : String | provenance | | +| Test.java:1609:39:1609:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1609:39:1609:54 | (...)... : String | Test.java:1609:18:1609:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1609:47:1609:54 | source(...) : Object | Test.java:1609:39:1609:54 | (...)... : String | provenance | | +| Test.java:1610:10:1610:52 | select(...) : Collection [] : String | Test.java:1611:20:1611:22 | out : Collection [] : String | provenance | | +| Test.java:1610:33:1610:34 | in : Vector [] : String | Test.java:1610:10:1610:52 | select(...) : Collection [] : String | provenance | MaD:440+MaD:442 | +| Test.java:1611:20:1611:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1611:20:1611:22 | out : Collection [] : String | Test.java:1611:9:1611:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1616:18:1616:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1617:27:1617:28 | in : Vector [] : String | provenance | | +| Test.java:1616:39:1616:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1616:39:1616:54 | (...)... : String | Test.java:1616:18:1616:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1616:47:1616:54 | source(...) : Object | Test.java:1616:39:1616:54 | (...)... : String | provenance | | +| Test.java:1617:27:1617:28 | in : Vector [] : String | Test.java:1617:43:1617:45 | out [post update] : Collection [] : String | provenance | MaD:441 | +| Test.java:1617:43:1617:45 | out [post update] : Collection [] : String | Test.java:1618:20:1618:22 | out : Collection [] : String | provenance | | +| Test.java:1618:20:1618:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1618:20:1618:22 | out : Collection [] : String | Test.java:1618:9:1618:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1623:18:1623:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1624:41:1624:42 | in : Vector [] : String | provenance | | +| Test.java:1623:39:1623:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1623:39:1623:54 | (...)... : String | Test.java:1623:18:1623:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1623:47:1623:54 | source(...) : Object | Test.java:1623:39:1623:54 | (...)... : String | provenance | | +| Test.java:1624:10:1624:49 | selectRejected(...) : Collection [] : String | Test.java:1625:20:1625:22 | out : Collection [] : String | provenance | | +| Test.java:1624:41:1624:42 | in : Vector [] : String | Test.java:1624:10:1624:49 | selectRejected(...) : Collection [] : String | provenance | MaD:443 | +| Test.java:1625:20:1625:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1625:20:1625:22 | out : Collection [] : String | Test.java:1625:9:1625:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1630:20:1630:39 | (...)... : Collection | Test.java:1631:53:1631:54 | in : Collection | provenance | | +| Test.java:1630:32:1630:39 | source(...) : Object | Test.java:1630:20:1630:39 | (...)... : Collection | provenance | | +| Test.java:1631:10:1631:55 | selectRejected(...) : Collection | Test.java:1632:9:1632:11 | out | provenance | | +| Test.java:1631:53:1631:54 | in : Collection | Test.java:1631:10:1631:55 | selectRejected(...) : Collection | provenance | MaD:445 | +| Test.java:1637:18:1637:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1638:35:1638:36 | in : Vector [] : String | provenance | | +| Test.java:1637:39:1637:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1637:39:1637:54 | (...)... : String | Test.java:1637:18:1637:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1637:47:1637:54 | source(...) : Object | Test.java:1637:39:1637:54 | (...)... : String | provenance | | +| Test.java:1638:35:1638:36 | in : Vector [] : String | Test.java:1638:45:1638:47 | out [post update] : Collection [] : String | provenance | MaD:444 | +| Test.java:1638:45:1638:47 | out [post update] : Collection [] : String | Test.java:1639:20:1639:22 | out : Collection [] : String | provenance | | +| Test.java:1639:20:1639:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1639:20:1639:22 | out : Collection [] : String | Test.java:1639:9:1639:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1644:18:1644:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1645:35:1645:36 | in : Vector [] : String | provenance | | +| Test.java:1644:39:1644:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1644:39:1644:54 | (...)... : String | Test.java:1644:18:1644:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1644:47:1644:54 | source(...) : Object | Test.java:1644:39:1644:54 | (...)... : String | provenance | | +| Test.java:1645:10:1645:49 | subtract(...) : Collection [] : String | Test.java:1646:20:1646:22 | out : Collection [] : String | provenance | | +| Test.java:1645:35:1645:36 | in : Vector [] : String | Test.java:1645:10:1645:49 | subtract(...) : Collection [] : String | provenance | MaD:446 | +| Test.java:1646:20:1646:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1646:20:1646:22 | out : Collection [] : String | Test.java:1646:9:1646:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1651:18:1651:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1652:35:1652:36 | in : Vector [] : String | provenance | | +| Test.java:1651:39:1651:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1651:39:1651:54 | (...)... : String | Test.java:1651:18:1651:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1651:47:1651:54 | source(...) : Object | Test.java:1651:39:1651:54 | (...)... : String | provenance | | +| Test.java:1652:10:1652:43 | subtract(...) : Collection [] : String | Test.java:1653:20:1653:22 | out : Collection [] : String | provenance | | +| Test.java:1652:35:1652:36 | in : Vector [] : String | Test.java:1652:10:1652:43 | subtract(...) : Collection [] : String | provenance | MaD:446 | +| Test.java:1653:20:1653:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1653:20:1653:22 | out : Collection [] : String | Test.java:1653:9:1653:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1658:20:1658:57 | newVectorWithElement(...) : Vector [] : String | Test.java:1659:49:1659:50 | in : Vector [] : String | provenance | | +| Test.java:1658:41:1658:56 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1658:41:1658:56 | (...)... : String | Test.java:1658:20:1658:57 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1658:49:1658:56 | source(...) : Object | Test.java:1658:41:1658:56 | (...)... : String | provenance | | +| Test.java:1659:10:1659:51 | synchronizedCollection(...) : Collection [] : String | Test.java:1660:20:1660:22 | out : Collection [] : String | provenance | | +| Test.java:1659:49:1659:50 | in : Vector [] : String | Test.java:1659:10:1659:51 | synchronizedCollection(...) : Collection [] : String | provenance | MaD:447 | +| Test.java:1660:20:1660:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1660:20:1660:22 | out : Collection [] : String | Test.java:1660:9:1660:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1665:20:1665:57 | newVectorWithElement(...) : Vector [] : String | Test.java:1666:49:1666:50 | in : Vector [] : String | provenance | | +| Test.java:1665:41:1665:56 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1665:41:1665:56 | (...)... : String | Test.java:1665:20:1665:57 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1665:49:1665:56 | source(...) : Object | Test.java:1665:41:1665:56 | (...)... : String | provenance | | +| Test.java:1666:10:1666:57 | transformingCollection(...) : Collection [] : String | Test.java:1667:20:1667:22 | out : Collection [] : String | provenance | | +| Test.java:1666:49:1666:50 | in : Vector [] : String | Test.java:1666:10:1666:57 | transformingCollection(...) : Collection [] : String | provenance | MaD:448 | +| Test.java:1667:20:1667:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1667:20:1667:22 | out : Collection [] : String | Test.java:1667:9:1667:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1672:18:1672:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1673:32:1673:33 | in : Vector [] : String | provenance | | +| Test.java:1672:39:1672:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1672:39:1672:54 | (...)... : String | Test.java:1672:18:1672:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1672:47:1672:54 | source(...) : Object | Test.java:1672:39:1672:54 | (...)... : String | provenance | | +| Test.java:1673:10:1673:40 | union(...) : Collection [] : String | Test.java:1674:20:1674:22 | out : Collection [] : String | provenance | | +| Test.java:1673:32:1673:33 | in : Vector [] : String | Test.java:1673:10:1673:40 | union(...) : Collection [] : String | provenance | MaD:449 | +| Test.java:1674:20:1674:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1674:20:1674:22 | out : Collection [] : String | Test.java:1674:9:1674:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1679:18:1679:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1680:38:1680:39 | in : Vector [] : String | provenance | | +| Test.java:1679:39:1679:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1679:39:1679:54 | (...)... : String | Test.java:1679:18:1679:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1679:47:1679:54 | source(...) : Object | Test.java:1679:39:1679:54 | (...)... : String | provenance | | +| Test.java:1680:10:1680:40 | union(...) : Collection [] : String | Test.java:1681:20:1681:22 | out : Collection [] : String | provenance | | +| Test.java:1680:38:1680:39 | in : Vector [] : String | Test.java:1680:10:1680:40 | union(...) : Collection [] : String | provenance | MaD:450 | +| Test.java:1681:20:1681:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1681:20:1681:22 | out : Collection [] : String | Test.java:1681:9:1681:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1686:20:1686:57 | newVectorWithElement(...) : Vector [] : String | Test.java:1687:49:1687:50 | in : Vector [] : String | provenance | | +| Test.java:1686:41:1686:56 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1686:41:1686:56 | (...)... : String | Test.java:1686:20:1686:57 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1686:49:1686:56 | source(...) : Object | Test.java:1686:41:1686:56 | (...)... : String | provenance | | +| Test.java:1687:10:1687:51 | unmodifiableCollection(...) : Collection [] : String | Test.java:1688:20:1688:22 | out : Collection [] : String | provenance | | +| Test.java:1687:49:1687:50 | in : Vector [] : String | Test.java:1687:10:1687:51 | unmodifiableCollection(...) : Collection [] : String | provenance | MaD:451 | +| Test.java:1688:20:1688:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1688:20:1688:22 | out : Collection [] : String | Test.java:1688:9:1688:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1693:21:1693:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | Test.java:1694:31:1694:32 | in : IteratorEnumeration [] : String | provenance | | +| Test.java:1693:47:1693:62 | (...)... : String | Test.java:256:47:256:55 | element : String | provenance | | +| Test.java:1693:47:1693:62 | (...)... : String | Test.java:1693:21:1693:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | provenance | MaD:2 | +| Test.java:1693:55:1693:62 | source(...) : Object | Test.java:1693:47:1693:62 | (...)... : String | provenance | | +| Test.java:1694:10:1694:36 | get(...) : String | Test.java:1695:9:1695:11 | out | provenance | | +| Test.java:1694:31:1694:32 | in : IteratorEnumeration [] : String | Test.java:1694:10:1694:36 | get(...) : String | provenance | MaD:452 | +| Test.java:1700:21:1700:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | Test.java:1701:34:1701:35 | in : IteratorEnumeration [] : String | provenance | | +| Test.java:1700:47:1700:62 | (...)... : String | Test.java:256:47:256:55 | element : String | provenance | | +| Test.java:1700:47:1700:62 | (...)... : String | Test.java:1700:21:1700:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | provenance | MaD:2 | +| Test.java:1700:55:1700:62 | source(...) : Object | Test.java:1700:47:1700:62 | (...)... : String | provenance | | +| Test.java:1701:10:1701:36 | toList(...) : List [] : String | Test.java:1702:20:1702:22 | out : List [] : String | provenance | | +| Test.java:1701:34:1701:35 | in : IteratorEnumeration [] : String | Test.java:1701:10:1701:36 | toList(...) : List [] : String | provenance | MaD:453 | +| Test.java:1702:20:1702:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:1702:20:1702:22 | out : List [] : String | Test.java:1702:9:1702:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1707:25:1707:49 | (...)... : StringTokenizer | Test.java:1708:34:1708:35 | in : StringTokenizer | provenance | | +| Test.java:1707:42:1707:49 | source(...) : Object | Test.java:1707:25:1707:49 | (...)... : StringTokenizer | provenance | | +| Test.java:1708:10:1708:36 | toList(...) : List [] : Object | Test.java:1709:20:1709:22 | out : List [] : Object | provenance | | +| Test.java:1708:34:1708:35 | in : StringTokenizer | Test.java:1708:10:1708:36 | toList(...) : List [] : Object | provenance | MaD:454 | +| Test.java:1709:20:1709:22 | out : List [] : Object | Test.java:230:19:230:32 | it : List [] : Object | provenance | | +| Test.java:1709:20:1709:22 | out : List [] : Object | Test.java:1709:9:1709:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1714:24:1714:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1715:10:1715:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1714:53:1714:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1714:53:1714:68 | (...)... : String | Test.java:1714:24:1714:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1714:61:1714:68 | source(...) : Object | Test.java:1714:53:1714:68 | (...)... : String | provenance | | +| Test.java:1715:10:1715:11 | in : FluentIterable [] : String | Test.java:1715:10:1715:34 | append(...) : FluentIterable [] : String | provenance | MaD:455 | +| Test.java:1715:10:1715:34 | append(...) : FluentIterable [] : String | Test.java:1716:20:1716:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1716:20:1716:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1716:20:1716:22 | out : FluentIterable [] : String | Test.java:1716:9:1716:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1721:18:1721:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1723:26:1723:27 | in : FluentIterable [] : String | provenance | | +| Test.java:1721:47:1721:62 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1721:47:1721:62 | (...)... : String | Test.java:1721:18:1721:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1721:55:1721:62 | source(...) : Object | Test.java:1721:47:1721:62 | (...)... : String | provenance | | +| Test.java:1723:10:1723:28 | append(...) : FluentIterable [] : String | Test.java:1724:20:1724:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1723:26:1723:27 | in : FluentIterable [] : String | Test.java:1723:10:1723:28 | append(...) : FluentIterable [] : String | provenance | MaD:456 | +| Test.java:1724:20:1724:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1724:20:1724:22 | out : FluentIterable [] : String | Test.java:1724:9:1724:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1729:16:1729:23 | source(...) : Object | Test.java:1731:26:1731:27 | in : Object | provenance | | +| Test.java:1731:10:1731:28 | append(...) : FluentIterable [] : Object | Test.java:1732:20:1732:22 | out : FluentIterable [] : Object | provenance | | +| Test.java:1731:10:1731:28 | new ..[] { .. } : Object[] [[]] : Object | Test.java:1731:10:1731:28 | append(...) : FluentIterable [] : Object | provenance | MaD:458 | +| Test.java:1731:26:1731:27 | in : Object | Test.java:1731:10:1731:28 | new ..[] { .. } : Object[] [[]] : Object | provenance | | +| Test.java:1732:20:1732:22 | out : FluentIterable [] : Object | Test.java:230:19:230:32 | it : FluentIterable [] : Object | provenance | | +| Test.java:1732:20:1732:22 | out : FluentIterable [] : Object | Test.java:1732:9:1732:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1737:24:1737:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1738:10:1738:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1737:53:1737:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1737:53:1737:68 | (...)... : String | Test.java:1737:24:1737:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1737:61:1737:68 | source(...) : Object | Test.java:1737:53:1737:68 | (...)... : String | provenance | | +| Test.java:1738:10:1738:11 | in : FluentIterable [] : String | Test.java:1738:10:1738:20 | append(...) : FluentIterable [] : String | provenance | MaD:457 | +| Test.java:1738:10:1738:20 | append(...) : FluentIterable [] : String | Test.java:1739:20:1739:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1739:20:1739:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1739:20:1739:22 | out : FluentIterable [] : String | Test.java:1739:9:1739:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1744:24:1744:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1745:10:1745:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1744:53:1744:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1744:53:1744:68 | (...)... : String | Test.java:1744:24:1744:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1744:61:1744:68 | source(...) : Object | Test.java:1744:53:1744:68 | (...)... : String | provenance | | +| Test.java:1745:10:1745:11 | in : FluentIterable [] : String | Test.java:1745:10:1745:27 | asEnumeration(...) : Enumeration [] : String | provenance | MaD:459 | +| Test.java:1745:10:1745:27 | asEnumeration(...) : Enumeration [] : String | Test.java:1746:20:1746:22 | out : Enumeration [] : String | provenance | | +| Test.java:1746:20:1746:22 | out : Enumeration [] : String | Test.java:234:19:234:42 | container : Enumeration [] : String | provenance | | +| Test.java:1746:20:1746:22 | out : Enumeration [] : String | Test.java:1746:9:1746:23 | getElement(...) | provenance | MaD:3 | +| Test.java:1751:24:1751:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1752:10:1752:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1751:53:1751:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1751:53:1751:68 | (...)... : String | Test.java:1751:24:1751:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1751:61:1751:68 | source(...) : Object | Test.java:1751:53:1751:68 | (...)... : String | provenance | | +| Test.java:1752:10:1752:11 | in : FluentIterable [] : String | Test.java:1752:10:1752:31 | collate(...) : FluentIterable [] : String | provenance | MaD:460 | +| Test.java:1752:10:1752:31 | collate(...) : FluentIterable [] : String | Test.java:1753:20:1753:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1753:20:1753:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1753:20:1753:22 | out : FluentIterable [] : String | Test.java:1753:9:1753:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1758:24:1758:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1759:10:1759:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1758:53:1758:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1758:53:1758:68 | (...)... : String | Test.java:1758:24:1758:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1758:61:1758:68 | source(...) : Object | Test.java:1758:53:1758:68 | (...)... : String | provenance | | +| Test.java:1759:10:1759:11 | in : FluentIterable [] : String | Test.java:1759:10:1759:25 | collate(...) : FluentIterable [] : String | provenance | MaD:460 | +| Test.java:1759:10:1759:25 | collate(...) : FluentIterable [] : String | Test.java:1760:20:1760:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1760:20:1760:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1760:20:1760:22 | out : FluentIterable [] : String | Test.java:1760:9:1760:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1765:18:1765:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1767:27:1767:28 | in : FluentIterable [] : String | provenance | | +| Test.java:1765:47:1765:62 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1765:47:1765:62 | (...)... : String | Test.java:1765:18:1765:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1765:55:1765:62 | source(...) : Object | Test.java:1765:47:1765:62 | (...)... : String | provenance | | +| Test.java:1767:10:1767:35 | collate(...) : FluentIterable [] : String | Test.java:1768:20:1768:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1767:27:1767:28 | in : FluentIterable [] : String | Test.java:1767:10:1767:35 | collate(...) : FluentIterable [] : String | provenance | MaD:461 | +| Test.java:1768:20:1768:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1768:20:1768:22 | out : FluentIterable [] : String | Test.java:1768:9:1768:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1773:18:1773:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1775:27:1775:28 | in : FluentIterable [] : String | provenance | | +| Test.java:1773:47:1773:62 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1773:47:1773:62 | (...)... : String | Test.java:1773:18:1773:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1773:55:1773:62 | source(...) : Object | Test.java:1773:47:1773:62 | (...)... : String | provenance | | +| Test.java:1775:10:1775:29 | collate(...) : FluentIterable [] : String | Test.java:1776:20:1776:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1775:27:1775:28 | in : FluentIterable [] : String | Test.java:1775:10:1775:29 | collate(...) : FluentIterable [] : String | provenance | MaD:461 | +| Test.java:1776:20:1776:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1776:20:1776:22 | out : FluentIterable [] : String | Test.java:1776:9:1776:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1781:24:1781:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1782:4:1782:5 | in : FluentIterable [] : String | provenance | | +| Test.java:1781:53:1781:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1781:53:1781:68 | (...)... : String | Test.java:1781:24:1781:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1781:61:1781:68 | source(...) : Object | Test.java:1781:53:1781:68 | (...)... : String | provenance | | +| Test.java:1782:4:1782:5 | in : FluentIterable [] : String | Test.java:1782:16:1782:18 | out [post update] : Collection [] : String | provenance | MaD:462 | +| Test.java:1782:16:1782:18 | out [post update] : Collection [] : String | Test.java:1783:20:1783:22 | out : Collection [] : String | provenance | | +| Test.java:1783:20:1783:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:1783:20:1783:22 | out : Collection [] : String | Test.java:1783:9:1783:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1788:24:1788:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1789:10:1789:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1788:53:1788:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1788:53:1788:68 | (...)... : String | Test.java:1788:24:1788:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1788:61:1788:68 | source(...) : Object | Test.java:1788:53:1788:68 | (...)... : String | provenance | | +| Test.java:1789:10:1789:11 | in : FluentIterable [] : String | Test.java:1789:10:1789:18 | eval(...) : FluentIterable [] : String | provenance | MaD:463 | +| Test.java:1789:10:1789:18 | eval(...) : FluentIterable [] : String | Test.java:1790:20:1790:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1790:20:1790:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1790:20:1790:22 | out : FluentIterable [] : String | Test.java:1790:9:1790:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1795:24:1795:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1796:10:1796:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1795:53:1795:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1795:53:1795:68 | (...)... : String | Test.java:1795:24:1795:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1795:61:1795:68 | source(...) : Object | Test.java:1795:53:1795:68 | (...)... : String | provenance | | +| Test.java:1796:10:1796:11 | in : FluentIterable [] : String | Test.java:1796:10:1796:24 | filter(...) : FluentIterable [] : String | provenance | MaD:464 | +| Test.java:1796:10:1796:24 | filter(...) : FluentIterable [] : String | Test.java:1797:20:1797:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1797:20:1797:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1797:20:1797:22 | out : FluentIterable [] : String | Test.java:1797:9:1797:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1802:24:1802:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1803:10:1803:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1802:53:1802:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1802:53:1802:68 | (...)... : String | Test.java:1802:24:1802:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1802:61:1802:68 | source(...) : Object | Test.java:1802:53:1802:68 | (...)... : String | provenance | | +| Test.java:1803:10:1803:11 | in : FluentIterable [] : String | Test.java:1803:10:1803:18 | get(...) : String | provenance | MaD:465 | +| Test.java:1803:10:1803:18 | get(...) : String | Test.java:1804:9:1804:11 | out | provenance | | +| Test.java:1809:24:1809:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1810:10:1810:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1809:53:1809:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1809:53:1809:68 | (...)... : String | Test.java:1809:24:1809:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1809:61:1809:68 | source(...) : Object | Test.java:1809:53:1809:68 | (...)... : String | provenance | | +| Test.java:1810:10:1810:11 | in : FluentIterable [] : String | Test.java:1810:10:1810:21 | limit(...) : FluentIterable [] : String | provenance | MaD:466 | +| Test.java:1810:10:1810:21 | limit(...) : FluentIterable [] : String | Test.java:1811:20:1811:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1811:20:1811:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1811:20:1811:22 | out : FluentIterable [] : String | Test.java:1811:9:1811:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1816:24:1816:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1817:10:1817:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1816:53:1816:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1816:53:1816:68 | (...)... : String | Test.java:1816:24:1816:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1816:61:1816:68 | source(...) : Object | Test.java:1816:53:1816:68 | (...)... : String | provenance | | +| Test.java:1817:10:1817:11 | in : FluentIterable [] : String | Test.java:1817:10:1817:18 | loop(...) : FluentIterable [] : String | provenance | MaD:467 | +| Test.java:1817:10:1817:18 | loop(...) : FluentIterable [] : String | Test.java:1818:20:1818:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1818:20:1818:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1818:20:1818:22 | out : FluentIterable [] : String | Test.java:1818:9:1818:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1823:18:1823:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1824:28:1824:29 | in : FluentIterable [] : String | provenance | | +| Test.java:1823:47:1823:62 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1823:47:1823:62 | (...)... : String | Test.java:1823:18:1823:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1823:55:1823:62 | source(...) : Object | Test.java:1823:47:1823:62 | (...)... : String | provenance | | +| Test.java:1824:10:1824:30 | of(...) : FluentIterable [] : String | Test.java:1825:20:1825:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1824:28:1824:29 | in : FluentIterable [] : String | Test.java:1824:10:1824:30 | of(...) : FluentIterable [] : String | provenance | MaD:468 | +| Test.java:1825:20:1825:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1825:20:1825:22 | out : FluentIterable [] : String | Test.java:1825:9:1825:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1830:16:1830:23 | source(...) : Object | Test.java:1831:28:1831:29 | in : Object | provenance | | +| Test.java:1831:10:1831:30 | of(...) : FluentIterable [] : Object | Test.java:1832:20:1832:22 | out : FluentIterable [] : Object | provenance | | +| Test.java:1831:28:1831:29 | in : Object | Test.java:1831:10:1831:30 | of(...) : FluentIterable [] : Object | provenance | MaD:469 | +| Test.java:1832:20:1832:22 | out : FluentIterable [] : Object | Test.java:230:19:230:32 | it : FluentIterable [] : Object | provenance | | +| Test.java:1832:20:1832:22 | out : FluentIterable [] : Object | Test.java:1832:9:1832:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1837:18:1837:54 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:1838:28:1838:29 | in : Object[] [[]] : String | provenance | | +| Test.java:1837:38:1837:53 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:1837:38:1837:53 | (...)... : String | Test.java:1837:18:1837:54 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:1837:46:1837:53 | source(...) : Object | Test.java:1837:38:1837:53 | (...)... : String | provenance | | +| Test.java:1838:10:1838:30 | of(...) : FluentIterable [] : String | Test.java:1839:20:1839:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1838:28:1838:29 | in : Object[] [[]] : String | Test.java:1838:10:1838:30 | of(...) : FluentIterable [] : String | provenance | MaD:470 | +| Test.java:1839:20:1839:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1839:20:1839:22 | out : FluentIterable [] : String | Test.java:1839:9:1839:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1844:24:1844:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1845:10:1845:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1844:53:1844:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1844:53:1844:68 | (...)... : String | Test.java:1844:24:1844:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1844:61:1844:68 | source(...) : Object | Test.java:1844:53:1844:68 | (...)... : String | provenance | | +| Test.java:1845:10:1845:11 | in : FluentIterable [] : String | Test.java:1845:10:1845:21 | reverse(...) : FluentIterable [] : String | provenance | MaD:471 | +| Test.java:1845:10:1845:21 | reverse(...) : FluentIterable [] : String | Test.java:1846:20:1846:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1846:20:1846:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1846:20:1846:22 | out : FluentIterable [] : String | Test.java:1846:9:1846:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1851:24:1851:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1852:10:1852:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1851:53:1851:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1851:53:1851:68 | (...)... : String | Test.java:1851:24:1851:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1851:61:1851:68 | source(...) : Object | Test.java:1851:53:1851:68 | (...)... : String | provenance | | +| Test.java:1852:10:1852:11 | in : FluentIterable [] : String | Test.java:1852:10:1852:20 | skip(...) : FluentIterable [] : String | provenance | MaD:472 | +| Test.java:1852:10:1852:20 | skip(...) : FluentIterable [] : String | Test.java:1853:20:1853:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1853:20:1853:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1853:20:1853:22 | out : FluentIterable [] : String | Test.java:1853:9:1853:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1858:24:1858:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1859:10:1859:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1858:53:1858:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1858:53:1858:68 | (...)... : String | Test.java:1858:24:1858:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1858:61:1858:68 | source(...) : Object | Test.java:1858:53:1858:68 | (...)... : String | provenance | | +| Test.java:1859:10:1859:11 | in : FluentIterable [] : String | Test.java:1859:10:1859:25 | toArray(...) : Object[] [[]] : String | provenance | MaD:473 | +| Test.java:1859:10:1859:25 | toArray(...) : Object[] [[]] : String | Test.java:1860:25:1860:27 | out : Object[] [[]] : String | provenance | | +| Test.java:1860:25:1860:27 | out : Object[] [[]] : String | Test.java:229:24:229:32 | array : Object[] [[]] : String | provenance | | +| Test.java:1860:25:1860:27 | out : Object[] [[]] : String | Test.java:1860:9:1860:28 | getArrayElement(...) | provenance | | +| Test.java:1865:24:1865:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1866:10:1866:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1865:53:1865:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1865:53:1865:68 | (...)... : String | Test.java:1865:24:1865:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1865:61:1865:68 | source(...) : Object | Test.java:1865:53:1865:68 | (...)... : String | provenance | | +| Test.java:1866:10:1866:11 | in : FluentIterable [] : String | Test.java:1866:10:1866:20 | toList(...) : List [] : String | provenance | MaD:474 | +| Test.java:1866:10:1866:20 | toList(...) : List [] : String | Test.java:1867:20:1867:22 | out : List [] : String | provenance | | +| Test.java:1867:20:1867:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:1867:20:1867:22 | out : List [] : String | Test.java:1867:9:1867:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1872:24:1872:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1873:10:1873:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1872:53:1872:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1872:53:1872:68 | (...)... : String | Test.java:1872:24:1872:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1872:61:1872:68 | source(...) : Object | Test.java:1872:53:1872:68 | (...)... : String | provenance | | +| Test.java:1873:10:1873:11 | in : FluentIterable [] : String | Test.java:1873:10:1873:20 | unique(...) : FluentIterable [] : String | provenance | MaD:475 | +| Test.java:1873:10:1873:20 | unique(...) : FluentIterable [] : String | Test.java:1874:20:1874:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1874:20:1874:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1874:20:1874:22 | out : FluentIterable [] : String | Test.java:1874:9:1874:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1879:24:1879:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1880:10:1880:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1879:53:1879:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1879:53:1879:68 | (...)... : String | Test.java:1879:24:1879:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1879:61:1879:68 | source(...) : Object | Test.java:1879:53:1879:68 | (...)... : String | provenance | | +| Test.java:1880:10:1880:11 | in : FluentIterable [] : String | Test.java:1880:10:1880:26 | unmodifiable(...) : FluentIterable [] : String | provenance | MaD:476 | +| Test.java:1880:10:1880:26 | unmodifiable(...) : FluentIterable [] : String | Test.java:1881:20:1881:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1881:20:1881:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1881:20:1881:22 | out : FluentIterable [] : String | Test.java:1881:9:1881:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1886:24:1886:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1887:10:1887:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1886:53:1886:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1886:53:1886:68 | (...)... : String | Test.java:1886:24:1886:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1886:61:1886:68 | source(...) : Object | Test.java:1886:53:1886:68 | (...)... : String | provenance | | +| Test.java:1887:10:1887:11 | in : FluentIterable [] : String | Test.java:1887:10:1887:31 | zip(...) : FluentIterable [] : String | provenance | MaD:477 | +| Test.java:1887:10:1887:31 | zip(...) : FluentIterable [] : String | Test.java:1888:20:1888:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1888:20:1888:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1888:20:1888:22 | out : FluentIterable [] : String | Test.java:1888:9:1888:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1893:18:1893:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1895:23:1895:24 | in : FluentIterable [] : String | provenance | | +| Test.java:1893:47:1893:62 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1893:47:1893:62 | (...)... : String | Test.java:1893:18:1893:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1893:55:1893:62 | source(...) : Object | Test.java:1893:47:1893:62 | (...)... : String | provenance | | +| Test.java:1895:10:1895:25 | zip(...) : FluentIterable [] : String | Test.java:1896:20:1896:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1895:23:1895:24 | in : FluentIterable [] : String | Test.java:1895:10:1895:25 | zip(...) : FluentIterable [] : String | provenance | MaD:478 | +| Test.java:1896:20:1896:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1896:20:1896:22 | out : FluentIterable [] : String | Test.java:1896:9:1896:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1901:24:1901:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:1902:10:1902:11 | in : FluentIterable [] : String | provenance | | +| Test.java:1901:53:1901:68 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:1901:53:1901:68 | (...)... : String | Test.java:1901:24:1901:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:1901:61:1901:68 | source(...) : Object | Test.java:1901:53:1901:68 | (...)... : String | provenance | | +| Test.java:1902:10:1902:11 | in : FluentIterable [] : String | Test.java:1902:10:1902:47 | zip(...) : FluentIterable [] : String | provenance | MaD:479 | +| Test.java:1902:10:1902:47 | zip(...) : FluentIterable [] : String | Test.java:1903:20:1903:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1903:20:1903:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1903:20:1903:22 | out : FluentIterable [] : String | Test.java:1903:9:1903:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1908:18:1908:55 | newVectorWithElement(...) : Vector [] : String | Test.java:1910:23:1910:24 | in : Vector [] : String | provenance | | +| Test.java:1908:39:1908:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:1908:39:1908:54 | (...)... : String | Test.java:1908:18:1908:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:1908:47:1908:54 | source(...) : Object | Test.java:1908:39:1908:54 | (...)... : String | provenance | | +| Test.java:1910:10:1910:41 | new ..[] { .. } : Iterable[] [[], ] : String | Test.java:1910:10:1910:41 | zip(...) : FluentIterable [] : String | provenance | MaD:480 | +| Test.java:1910:10:1910:41 | zip(...) : FluentIterable [] : String | Test.java:1911:20:1911:22 | out : FluentIterable [] : String | provenance | | +| Test.java:1910:23:1910:24 | in : Vector [] : String | Test.java:1910:10:1910:41 | new ..[] { .. } : Iterable[] [[], ] : String | provenance | | +| Test.java:1911:20:1911:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | provenance | | +| Test.java:1911:20:1911:22 | out : FluentIterable [] : String | Test.java:1911:9:1911:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1916:23:1916:56 | newMVMWithMapKey(...) : MultiValueMap [] : String | Test.java:1917:10:1917:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:1916:40:1916:55 | (...)... : String | Test.java:279:47:279:51 | key : String | provenance | | +| Test.java:1916:40:1916:55 | (...)... : String | Test.java:1916:23:1916:56 | newMVMWithMapKey(...) : MultiValueMap [] : String | provenance | MaD:14 | +| Test.java:1916:40:1916:55 | (...)... : String | Test.java:1916:23:1916:56 | newMVMWithMapKey(...) : MultiValueMap [] : String | provenance | MaD:661 | +| Test.java:1916:40:1916:55 | (...)... : String | Test.java:1916:23:1916:56 | newMVMWithMapKey(...) : MultiValueMap [] : String | provenance | MaD:705 | +| Test.java:1916:48:1916:55 | source(...) : Object | Test.java:1916:40:1916:55 | (...)... : String | provenance | | +| Test.java:1917:10:1917:11 | in : MultiValueMap [] : String | Test.java:1917:10:1917:22 | entrySet(...) : Set [, ] : String | provenance | MaD:7 | +| Test.java:1917:10:1917:11 | in : MultiValueMap [] : String | Test.java:1917:10:1917:22 | entrySet(...) : Set [, ] : String | provenance | MaD:481 | +| Test.java:1917:10:1917:22 | entrySet(...) : Set [, ] : String | Test.java:1918:39:1918:41 | out : Set [, ] : String | provenance | | +| Test.java:1918:28:1918:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | provenance | | +| Test.java:1918:28:1918:42 | getElement(...) : Entry [] : String | Test.java:1918:9:1918:43 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:1918:39:1918:41 | out : Set [, ] : String | Test.java:1918:28:1918:42 | getElement(...) : Entry [] : String | provenance | MaD:1 | +| Test.java:1923:13:1923:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | Test.java:1924:10:1924:11 | in : PatriciaTrie [] : String | provenance | | +| Test.java:1923:39:1923:54 | (...)... : String | Test.java:288:49:288:58 | key : String | provenance | | +| Test.java:1923:39:1923:54 | (...)... : String | Test.java:1923:13:1923:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | provenance | MaD:14 | +| Test.java:1923:39:1923:54 | (...)... : String | Test.java:1923:13:1923:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | provenance | MaD:705 | +| Test.java:1923:47:1923:54 | source(...) : Object | Test.java:1923:39:1923:54 | (...)... : String | provenance | | +| Test.java:1924:10:1924:11 | in : PatriciaTrie [] : String | Test.java:1924:10:1924:22 | entrySet(...) : Set [, ] : String | provenance | MaD:481 | +| Test.java:1924:10:1924:22 | entrySet(...) : Set [, ] : String | Test.java:1925:39:1925:41 | out : Set [, ] : String | provenance | | +| Test.java:1925:28:1925:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | provenance | | +| Test.java:1925:28:1925:42 | getElement(...) : Entry [] : String | Test.java:1925:9:1925:43 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:1925:39:1925:41 | out : Set [, ] : String | Test.java:1925:28:1925:42 | getElement(...) : Entry [] : String | provenance | MaD:1 | +| Test.java:1930:30:1930:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | Test.java:1931:10:1931:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:1930:47:1930:62 | (...)... : String | Test.java:279:47:279:51 | key : String | provenance | | +| Test.java:1930:47:1930:62 | (...)... : String | Test.java:1930:30:1930:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | provenance | MaD:14 | +| Test.java:1930:47:1930:62 | (...)... : String | Test.java:1930:30:1930:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | provenance | MaD:661 | +| Test.java:1930:47:1930:62 | (...)... : String | Test.java:1930:30:1930:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | provenance | MaD:705 | +| Test.java:1930:55:1930:62 | source(...) : Object | Test.java:1930:47:1930:62 | (...)... : String | provenance | | +| Test.java:1931:10:1931:11 | in : MultiValueMap [] : String | Test.java:1931:10:1931:22 | entrySet(...) : Set [, ] : String | provenance | MaD:7 | +| Test.java:1931:10:1931:11 | in : MultiValueMap [] : String | Test.java:1931:10:1931:22 | entrySet(...) : Set [, ] : String | provenance | MaD:481 | +| Test.java:1931:10:1931:22 | entrySet(...) : Set [, ] : String | Test.java:1932:39:1932:41 | out : Set [, ] : String | provenance | | +| Test.java:1932:28:1932:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | provenance | | +| Test.java:1932:28:1932:42 | getElement(...) : Entry [] : String | Test.java:1932:9:1932:43 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:1932:39:1932:41 | out : Set [, ] : String | Test.java:1932:28:1932:42 | getElement(...) : Entry [] : String | provenance | MaD:1 | +| Test.java:1937:23:1937:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:1938:10:1938:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:1937:42:1937:57 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:1937:42:1937:57 | (...)... : String | Test.java:1937:23:1937:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:1937:42:1937:57 | (...)... : String | Test.java:1937:23:1937:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:1937:50:1937:57 | source(...) : Object | Test.java:1937:42:1937:57 | (...)... : String | provenance | | +| Test.java:1938:10:1938:11 | in : MultiValueMap [] : String | Test.java:1938:10:1938:22 | entrySet(...) : Set [, ] : String | provenance | MaD:8 | +| Test.java:1938:10:1938:11 | in : MultiValueMap [] : String | Test.java:1938:10:1938:22 | entrySet(...) : Set [, ] : String | provenance | MaD:482 | +| Test.java:1938:10:1938:22 | entrySet(...) : Set [, ] : String | Test.java:1939:41:1939:43 | out : Set [, ] : String | provenance | | +| Test.java:1939:30:1939:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | provenance | | +| Test.java:1939:30:1939:44 | getElement(...) : Entry [] : String | Test.java:1939:9:1939:45 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:1939:41:1939:43 | out : Set [, ] : String | Test.java:1939:30:1939:44 | getElement(...) : Entry [] : String | provenance | MaD:1 | +| Test.java:1944:13:1944:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | Test.java:1945:10:1945:11 | in : PatriciaTrie [] : String | provenance | | +| Test.java:1944:41:1944:56 | (...)... : String | Test.java:307:50:307:56 | value : String | provenance | | +| Test.java:1944:41:1944:56 | (...)... : String | Test.java:1944:13:1944:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:15 | +| Test.java:1944:41:1944:56 | (...)... : String | Test.java:1944:13:1944:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:706 | +| Test.java:1944:49:1944:56 | source(...) : Object | Test.java:1944:41:1944:56 | (...)... : String | provenance | | +| Test.java:1945:10:1945:11 | in : PatriciaTrie [] : String | Test.java:1945:10:1945:22 | entrySet(...) : Set [, ] : String | provenance | MaD:482 | +| Test.java:1945:10:1945:22 | entrySet(...) : Set [, ] : String | Test.java:1946:41:1946:43 | out : Set [, ] : String | provenance | | +| Test.java:1946:30:1946:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | provenance | | +| Test.java:1946:30:1946:44 | getElement(...) : Entry [] : String | Test.java:1946:9:1946:45 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:1946:41:1946:43 | out : Set [, ] : String | Test.java:1946:30:1946:44 | getElement(...) : Entry [] : String | provenance | MaD:1 | +| Test.java:1951:30:1951:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:1952:10:1952:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:1951:49:1951:64 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:1951:49:1951:64 | (...)... : String | Test.java:1951:30:1951:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:1951:49:1951:64 | (...)... : String | Test.java:1951:30:1951:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:1951:57:1951:64 | source(...) : Object | Test.java:1951:49:1951:64 | (...)... : String | provenance | | +| Test.java:1952:10:1952:11 | in : MultiValueMap [] : String | Test.java:1952:10:1952:22 | entrySet(...) : Set [, ] : String | provenance | MaD:8 | +| Test.java:1952:10:1952:11 | in : MultiValueMap [] : String | Test.java:1952:10:1952:22 | entrySet(...) : Set [, ] : String | provenance | MaD:482 | +| Test.java:1952:10:1952:22 | entrySet(...) : Set [, ] : String | Test.java:1953:41:1953:43 | out : Set [, ] : String | provenance | | +| Test.java:1953:30:1953:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | provenance | | +| Test.java:1953:30:1953:44 | getElement(...) : Entry [] : String | Test.java:1953:9:1953:45 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:1953:41:1953:43 | out : Set [, ] : String | Test.java:1953:30:1953:44 | getElement(...) : Entry [] : String | provenance | MaD:1 | +| Test.java:1958:18:1958:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:1959:10:1959:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:1958:37:1958:52 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:1958:37:1958:52 | (...)... : String | Test.java:1958:18:1958:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:1958:37:1958:52 | (...)... : String | Test.java:1958:18:1958:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:1958:45:1958:52 | source(...) : Object | Test.java:1958:37:1958:52 | (...)... : String | provenance | | +| Test.java:1959:10:1959:11 | in : MultiValueMap [] : String | Test.java:1959:10:1959:21 | get(...) : String | provenance | MaD:9 | +| Test.java:1959:10:1959:11 | in : MultiValueMap [] : String | Test.java:1959:10:1959:21 | get(...) : String | provenance | MaD:483 | +| Test.java:1959:10:1959:21 | get(...) : String | Test.java:1960:9:1960:11 | out | provenance | | +| Test.java:1965:13:1965:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | Test.java:1966:10:1966:11 | in : PatriciaTrie [] : String | provenance | | +| Test.java:1965:41:1965:56 | (...)... : String | Test.java:307:50:307:56 | value : String | provenance | | +| Test.java:1965:41:1965:56 | (...)... : String | Test.java:1965:13:1965:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:15 | +| Test.java:1965:41:1965:56 | (...)... : String | Test.java:1965:13:1965:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:706 | +| Test.java:1965:49:1965:56 | source(...) : Object | Test.java:1965:41:1965:56 | (...)... : String | provenance | | +| Test.java:1966:10:1966:11 | in : PatriciaTrie [] : String | Test.java:1966:10:1966:21 | get(...) : String | provenance | MaD:483 | +| Test.java:1966:10:1966:21 | get(...) : String | Test.java:1967:9:1967:11 | out | provenance | | +| Test.java:1972:30:1972:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:1973:10:1973:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:1972:49:1972:64 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:1972:49:1972:64 | (...)... : String | Test.java:1972:30:1972:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:1972:49:1972:64 | (...)... : String | Test.java:1972:30:1972:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:1972:57:1972:64 | source(...) : Object | Test.java:1972:49:1972:64 | (...)... : String | provenance | | +| Test.java:1973:10:1973:11 | in : MultiValueMap [] : String | Test.java:1973:10:1973:21 | get(...) : String | provenance | MaD:9 | +| Test.java:1973:10:1973:11 | in : MultiValueMap [] : String | Test.java:1973:10:1973:21 | get(...) : String | provenance | MaD:483 | +| Test.java:1973:10:1973:21 | get(...) : String | Test.java:1974:9:1974:11 | out | provenance | | +| Test.java:1979:13:1979:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | Test.java:1980:10:1980:11 | in : PatriciaTrie [] : String | provenance | | +| Test.java:1979:39:1979:54 | (...)... : String | Test.java:288:49:288:58 | key : String | provenance | | +| Test.java:1979:39:1979:54 | (...)... : String | Test.java:1979:13:1979:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | provenance | MaD:14 | +| Test.java:1979:39:1979:54 | (...)... : String | Test.java:1979:13:1979:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | provenance | MaD:705 | +| Test.java:1979:47:1979:54 | source(...) : Object | Test.java:1979:39:1979:54 | (...)... : String | provenance | | +| Test.java:1980:10:1980:11 | in : PatriciaTrie [] : String | Test.java:1980:10:1980:20 | keySet(...) : Set [] : String | provenance | MaD:484 | +| Test.java:1980:10:1980:20 | keySet(...) : Set [] : String | Test.java:1981:20:1981:22 | out : Set [] : String | provenance | | +| Test.java:1981:20:1981:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:1981:20:1981:22 | out : Set [] : String | Test.java:1981:9:1981:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1986:30:1986:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | Test.java:1987:10:1987:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:1986:47:1986:62 | (...)... : String | Test.java:279:47:279:51 | key : String | provenance | | +| Test.java:1986:47:1986:62 | (...)... : String | Test.java:1986:30:1986:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | provenance | MaD:14 | +| Test.java:1986:47:1986:62 | (...)... : String | Test.java:1986:30:1986:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | provenance | MaD:661 | +| Test.java:1986:47:1986:62 | (...)... : String | Test.java:1986:30:1986:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | provenance | MaD:705 | +| Test.java:1986:55:1986:62 | source(...) : Object | Test.java:1986:47:1986:62 | (...)... : String | provenance | | +| Test.java:1987:10:1987:11 | in : MultiValueMap [] : String | Test.java:1987:10:1987:20 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:1987:10:1987:11 | in : MultiValueMap [] : String | Test.java:1987:10:1987:20 | keySet(...) : Set [] : String | provenance | MaD:484 | +| Test.java:1987:10:1987:20 | keySet(...) : Set [] : String | Test.java:1988:20:1988:22 | out : Set [] : String | provenance | | +| Test.java:1988:20:1988:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:1988:20:1988:22 | out : Set [] : String | Test.java:1988:9:1988:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1993:18:1993:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:1994:10:1994:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:1993:37:1993:52 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:1993:37:1993:52 | (...)... : String | Test.java:1993:18:1993:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:1993:37:1993:52 | (...)... : String | Test.java:1993:18:1993:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:1993:45:1993:52 | source(...) : Object | Test.java:1993:37:1993:52 | (...)... : String | provenance | | +| Test.java:1994:10:1994:11 | in : MultiValueMap [] : String | Test.java:1994:10:1994:24 | remove(...) : String | provenance | MaD:18 | +| Test.java:1994:10:1994:11 | in : MultiValueMap [] : String | Test.java:1994:10:1994:24 | remove(...) : String | provenance | MaD:485 | +| Test.java:1994:10:1994:24 | remove(...) : String | Test.java:1995:9:1995:11 | out | provenance | | +| Test.java:2000:13:2000:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | Test.java:2001:10:2001:11 | in : PatriciaTrie [] : String | provenance | | +| Test.java:2000:41:2000:56 | (...)... : String | Test.java:307:50:307:56 | value : String | provenance | | +| Test.java:2000:41:2000:56 | (...)... : String | Test.java:2000:13:2000:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:15 | +| Test.java:2000:41:2000:56 | (...)... : String | Test.java:2000:13:2000:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:706 | +| Test.java:2000:49:2000:56 | source(...) : Object | Test.java:2000:41:2000:56 | (...)... : String | provenance | | +| Test.java:2001:10:2001:11 | in : PatriciaTrie [] : String | Test.java:2001:10:2001:24 | remove(...) : String | provenance | MaD:485 | +| Test.java:2001:10:2001:24 | remove(...) : String | Test.java:2002:9:2002:11 | out | provenance | | +| Test.java:2007:30:2007:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:2008:10:2008:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:2007:49:2007:64 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:2007:49:2007:64 | (...)... : String | Test.java:2007:30:2007:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:2007:49:2007:64 | (...)... : String | Test.java:2007:30:2007:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:2007:57:2007:64 | source(...) : Object | Test.java:2007:49:2007:64 | (...)... : String | provenance | | +| Test.java:2008:10:2008:11 | in : MultiValueMap [] : String | Test.java:2008:10:2008:24 | remove(...) : String | provenance | MaD:18 | +| Test.java:2008:10:2008:11 | in : MultiValueMap [] : String | Test.java:2008:10:2008:24 | remove(...) : String | provenance | MaD:485 | +| Test.java:2008:10:2008:24 | remove(...) : String | Test.java:2009:9:2009:11 | out | provenance | | +| Test.java:2014:17:2014:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | Test.java:2015:10:2015:11 | in : TreeBidiMap [] : String | provenance | | +| Test.java:2014:44:2014:59 | (...)... : String | Test.java:306:77:306:83 | value : String | provenance | | +| Test.java:2014:44:2014:59 | (...)... : String | Test.java:2014:17:2014:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | provenance | MaD:15 | +| Test.java:2014:44:2014:59 | (...)... : String | Test.java:2014:17:2014:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | provenance | MaD:706 | +| Test.java:2014:52:2014:59 | source(...) : Object | Test.java:2014:44:2014:59 | (...)... : String | provenance | | +| Test.java:2015:10:2015:11 | in : TreeBidiMap [] : String | Test.java:2015:10:2015:20 | values(...) : Set [] : String | provenance | MaD:19 | +| Test.java:2015:10:2015:11 | in : TreeBidiMap [] : String | Test.java:2015:10:2015:20 | values(...) : Set [] : String | provenance | MaD:486 | +| Test.java:2015:10:2015:20 | values(...) : Set [] : String | Test.java:2016:20:2016:22 | out : Set [] : String | provenance | | +| Test.java:2016:20:2016:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:2016:20:2016:22 | out : Set [] : String | Test.java:2016:9:2016:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2021:23:2021:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | Test.java:2022:10:2022:11 | in : MultiValueMap [, ] : String | provenance | | +| Test.java:2021:23:2021:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:2022:10:2022:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:2021:42:2021:57 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:2021:42:2021:57 | (...)... : String | Test.java:2021:23:2021:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | provenance | MaD:662 | +| Test.java:2021:42:2021:57 | (...)... : String | Test.java:2021:23:2021:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:2021:42:2021:57 | (...)... : String | Test.java:2021:23:2021:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:2021:50:2021:57 | source(...) : Object | Test.java:2021:42:2021:57 | (...)... : String | provenance | | +| Test.java:2022:10:2022:11 | in : MultiValueMap [, ] : String | Test.java:2022:10:2022:20 | values(...) : Collection [] : String | provenance | MaD:357 | +| Test.java:2022:10:2022:11 | in : MultiValueMap [, ] : String | Test.java:2022:10:2022:20 | values(...) : Collection [] : String | provenance | MaD:663 | +| Test.java:2022:10:2022:11 | in : MultiValueMap [] : String | Test.java:2022:10:2022:20 | values(...) : Collection [] : Object | provenance | MaD:357 | +| Test.java:2022:10:2022:11 | in : MultiValueMap [] : String | Test.java:2022:10:2022:20 | values(...) : Collection [] : Object | provenance | MaD:663 | +| Test.java:2022:10:2022:11 | in : MultiValueMap [] : String | Test.java:2022:10:2022:20 | values(...) : Collection [] : String | provenance | MaD:19 | +| Test.java:2022:10:2022:11 | in : MultiValueMap [] : String | Test.java:2022:10:2022:20 | values(...) : Collection [] : String | provenance | MaD:486 | +| Test.java:2022:10:2022:20 | values(...) : Collection [] : Object | Test.java:2023:20:2023:22 | out : Collection [] : Object | provenance | | +| Test.java:2022:10:2022:20 | values(...) : Collection [] : String | Test.java:2023:20:2023:22 | out : Collection [] : String | provenance | | +| Test.java:2023:20:2023:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | provenance | | +| Test.java:2023:20:2023:22 | out : Collection [] : Object | Test.java:2023:9:2023:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2023:20:2023:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:2023:20:2023:22 | out : Collection [] : String | Test.java:2023:9:2023:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2028:18:2028:53 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | Test.java:2029:10:2029:11 | in : MultiValueMap [, ] : String | provenance | | +| Test.java:2028:18:2028:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:2029:10:2029:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:2028:37:2028:52 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:2028:37:2028:52 | (...)... : String | Test.java:2028:18:2028:53 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | provenance | MaD:662 | +| Test.java:2028:37:2028:52 | (...)... : String | Test.java:2028:18:2028:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:2028:37:2028:52 | (...)... : String | Test.java:2028:18:2028:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:2028:45:2028:52 | source(...) : Object | Test.java:2028:37:2028:52 | (...)... : String | provenance | | +| Test.java:2029:10:2029:11 | in : MultiValueMap [, ] : String | Test.java:2029:10:2029:20 | values(...) : Collection [] : String | provenance | MaD:663 | +| Test.java:2029:10:2029:11 | in : MultiValueMap [] : String | Test.java:2029:10:2029:20 | values(...) : Collection [] : Object | provenance | MaD:663 | +| Test.java:2029:10:2029:11 | in : MultiValueMap [] : String | Test.java:2029:10:2029:20 | values(...) : Collection [] : String | provenance | MaD:19 | +| Test.java:2029:10:2029:11 | in : MultiValueMap [] : String | Test.java:2029:10:2029:20 | values(...) : Collection [] : String | provenance | MaD:486 | +| Test.java:2029:10:2029:20 | values(...) : Collection [] : Object | Test.java:2030:20:2030:22 | out : Collection [] : Object | provenance | | +| Test.java:2029:10:2029:20 | values(...) : Collection [] : String | Test.java:2030:20:2030:22 | out : Collection [] : String | provenance | | +| Test.java:2030:20:2030:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | provenance | | +| Test.java:2030:20:2030:22 | out : Collection [] : Object | Test.java:2030:9:2030:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2030:20:2030:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:2030:20:2030:22 | out : Collection [] : String | Test.java:2030:9:2030:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2035:13:2035:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | Test.java:2036:10:2036:11 | in : PatriciaTrie [] : String | provenance | | +| Test.java:2035:41:2035:56 | (...)... : String | Test.java:307:50:307:56 | value : String | provenance | | +| Test.java:2035:41:2035:56 | (...)... : String | Test.java:2035:13:2035:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:15 | +| Test.java:2035:41:2035:56 | (...)... : String | Test.java:2035:13:2035:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:706 | +| Test.java:2035:49:2035:56 | source(...) : Object | Test.java:2035:41:2035:56 | (...)... : String | provenance | | +| Test.java:2036:10:2036:11 | in : PatriciaTrie [] : String | Test.java:2036:10:2036:20 | values(...) : Collection [] : String | provenance | MaD:486 | +| Test.java:2036:10:2036:20 | values(...) : Collection [] : String | Test.java:2037:20:2037:22 | out : Collection [] : String | provenance | | +| Test.java:2037:20:2037:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:2037:20:2037:22 | out : Collection [] : String | Test.java:2037:9:2037:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2042:30:2042:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:2043:10:2043:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:2042:49:2042:64 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:2042:49:2042:64 | (...)... : String | Test.java:2042:30:2042:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:2042:49:2042:64 | (...)... : String | Test.java:2042:30:2042:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:2042:57:2042:64 | source(...) : Object | Test.java:2042:49:2042:64 | (...)... : String | provenance | | +| Test.java:2043:10:2043:11 | in : MultiValueMap [] : String | Test.java:2043:10:2043:20 | values(...) : Collection [] : String | provenance | MaD:19 | +| Test.java:2043:10:2043:11 | in : MultiValueMap [] : String | Test.java:2043:10:2043:20 | values(...) : Collection [] : String | provenance | MaD:486 | +| Test.java:2043:10:2043:20 | values(...) : Collection [] : String | Test.java:2044:20:2044:22 | out : Collection [] : String | provenance | | +| Test.java:2044:20:2044:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:2044:20:2044:22 | out : Collection [] : String | Test.java:2044:9:2044:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2049:20:2049:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | Test.java:2050:10:2050:11 | in : TreeBidiMap [] : String | provenance | | +| Test.java:2049:45:2049:60 | (...)... : String | Test.java:287:75:287:79 | key : String | provenance | | +| Test.java:2049:45:2049:60 | (...)... : String | Test.java:2049:20:2049:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | provenance | MaD:14 | +| Test.java:2049:45:2049:60 | (...)... : String | Test.java:2049:20:2049:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | provenance | MaD:705 | +| Test.java:2049:53:2049:60 | source(...) : Object | Test.java:2049:45:2049:60 | (...)... : String | provenance | | +| Test.java:2050:10:2050:11 | in : TreeBidiMap [] : String | Test.java:2050:10:2050:25 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:487 | +| Test.java:2050:10:2050:25 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2051:20:2051:22 | out : OrderedMapIterator [] : String | provenance | | +| Test.java:2051:20:2051:22 | out : OrderedMapIterator [] : String | Test.java:231:19:231:32 | it : OrderedMapIterator [] : String | provenance | | +| Test.java:2051:20:2051:22 | out : OrderedMapIterator [] : String | Test.java:2051:9:2051:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2056:21:2056:60 | newHashedMapWithMapKey(...) : HashedMap [] : String | Test.java:2057:10:2057:11 | in : HashedMap [] : String | provenance | | +| Test.java:2056:44:2056:59 | (...)... : String | Test.java:275:49:275:53 | key : String | provenance | | +| Test.java:2056:44:2056:59 | (...)... : String | Test.java:2056:21:2056:60 | newHashedMapWithMapKey(...) : HashedMap [] : String | provenance | MaD:14 | +| Test.java:2056:44:2056:59 | (...)... : String | Test.java:2056:21:2056:60 | newHashedMapWithMapKey(...) : HashedMap [] : String | provenance | MaD:705 | +| Test.java:2056:52:2056:59 | source(...) : Object | Test.java:2056:44:2056:59 | (...)... : String | provenance | | +| Test.java:2057:10:2057:11 | in : HashedMap [] : String | Test.java:2057:10:2057:25 | mapIterator(...) : MapIterator [] : String | provenance | MaD:487 | +| Test.java:2057:10:2057:25 | mapIterator(...) : MapIterator [] : String | Test.java:2058:20:2058:22 | out : MapIterator [] : String | provenance | | +| Test.java:2058:20:2058:22 | out : MapIterator [] : String | Test.java:231:19:231:32 | it : MapIterator [] : String | provenance | | +| Test.java:2058:20:2058:22 | out : MapIterator [] : String | Test.java:2058:9:2058:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2063:29:2063:62 | newMVMWithMapKey(...) : MultiValueMap [] : String | Test.java:2064:10:2064:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:2063:46:2063:61 | (...)... : String | Test.java:279:47:279:51 | key : String | provenance | | +| Test.java:2063:46:2063:61 | (...)... : String | Test.java:2063:29:2063:62 | newMVMWithMapKey(...) : MultiValueMap [] : String | provenance | MaD:14 | +| Test.java:2063:46:2063:61 | (...)... : String | Test.java:2063:29:2063:62 | newMVMWithMapKey(...) : MultiValueMap [] : String | provenance | MaD:661 | +| Test.java:2063:46:2063:61 | (...)... : String | Test.java:2063:29:2063:62 | newMVMWithMapKey(...) : MultiValueMap [] : String | provenance | MaD:705 | +| Test.java:2063:54:2063:61 | source(...) : Object | Test.java:2063:46:2063:61 | (...)... : String | provenance | | +| Test.java:2064:10:2064:11 | in : MultiValueMap [] : String | Test.java:2064:10:2064:25 | mapIterator(...) : MapIterator [] : String | provenance | MaD:487 | +| Test.java:2064:10:2064:25 | mapIterator(...) : MapIterator [] : String | Test.java:2065:20:2065:22 | out : MapIterator [] : String | provenance | | +| Test.java:2065:20:2065:22 | out : MapIterator [] : String | Test.java:231:19:231:32 | it : MapIterator [] : String | provenance | | +| Test.java:2065:20:2065:22 | out : MapIterator [] : String | Test.java:2065:9:2065:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2070:20:2070:63 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | Test.java:2071:10:2071:11 | in : TreeBidiMap [] : String | provenance | | +| Test.java:2070:47:2070:62 | (...)... : String | Test.java:306:77:306:83 | value : String | provenance | | +| Test.java:2070:47:2070:62 | (...)... : String | Test.java:2070:20:2070:63 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | provenance | MaD:15 | +| Test.java:2070:47:2070:62 | (...)... : String | Test.java:2070:20:2070:63 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | provenance | MaD:706 | +| Test.java:2070:55:2070:62 | source(...) : Object | Test.java:2070:47:2070:62 | (...)... : String | provenance | | +| Test.java:2071:10:2071:11 | in : TreeBidiMap [] : String | Test.java:2071:10:2071:25 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:488 | +| Test.java:2071:10:2071:25 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2072:21:2072:23 | out : OrderedMapIterator [] : String | provenance | | +| Test.java:2072:21:2072:23 | out : OrderedMapIterator [] : String | Test.java:246:20:246:47 | mapIterator : OrderedMapIterator [] : String | provenance | | +| Test.java:2072:21:2072:23 | out : OrderedMapIterator [] : String | Test.java:2072:9:2072:24 | getMapValue(...) | provenance | MaD:598 | +| Test.java:2077:21:2077:62 | newHashedMapWithMapValue(...) : HashedMap [] : String | Test.java:2078:10:2078:11 | in : HashedMap [] : String | provenance | | +| Test.java:2077:46:2077:61 | (...)... : String | Test.java:293:51:293:57 | value : String | provenance | | +| Test.java:2077:46:2077:61 | (...)... : String | Test.java:2077:21:2077:62 | newHashedMapWithMapValue(...) : HashedMap [] : String | provenance | MaD:15 | +| Test.java:2077:46:2077:61 | (...)... : String | Test.java:2077:21:2077:62 | newHashedMapWithMapValue(...) : HashedMap [] : String | provenance | MaD:706 | +| Test.java:2077:54:2077:61 | source(...) : Object | Test.java:2077:46:2077:61 | (...)... : String | provenance | | +| Test.java:2078:10:2078:11 | in : HashedMap [] : String | Test.java:2078:10:2078:25 | mapIterator(...) : MapIterator [] : String | provenance | MaD:488 | +| Test.java:2078:10:2078:25 | mapIterator(...) : MapIterator [] : String | Test.java:2079:21:2079:23 | out : MapIterator [] : String | provenance | | +| Test.java:2079:21:2079:23 | out : MapIterator [] : String | Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | provenance | | +| Test.java:2079:21:2079:23 | out : MapIterator [] : String | Test.java:2079:9:2079:24 | getMapValue(...) | provenance | MaD:598 | +| Test.java:2084:29:2084:64 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:2085:10:2085:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:2084:48:2084:63 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:2084:48:2084:63 | (...)... : String | Test.java:2084:29:2084:64 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:2084:48:2084:63 | (...)... : String | Test.java:2084:29:2084:64 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:2084:56:2084:63 | source(...) : Object | Test.java:2084:48:2084:63 | (...)... : String | provenance | | +| Test.java:2085:10:2085:11 | in : MultiValueMap [] : String | Test.java:2085:10:2085:25 | mapIterator(...) : MapIterator [] : String | provenance | MaD:488 | +| Test.java:2085:10:2085:25 | mapIterator(...) : MapIterator [] : String | Test.java:2086:21:2086:23 | out : MapIterator [] : String | provenance | | +| Test.java:2086:21:2086:23 | out : MapIterator [] : String | Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | provenance | | +| Test.java:2086:21:2086:23 | out : MapIterator [] : String | Test.java:2086:9:2086:24 | getMapValue(...) | provenance | MaD:598 | +| Test.java:2091:18:2091:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2092:40:2092:41 | in : Vector [] : String | provenance | | +| Test.java:2091:39:2091:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2091:39:2091:54 | (...)... : String | Test.java:2091:18:2091:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2091:47:2091:54 | source(...) : Object | Test.java:2091:39:2091:54 | (...)... : String | provenance | | +| Test.java:2092:10:2092:46 | boundedIterable(...) : Iterable [] : String | Test.java:2093:20:2093:22 | out : Iterable [] : String | provenance | | +| Test.java:2092:40:2092:41 | in : Vector [] : String | Test.java:2092:10:2092:46 | boundedIterable(...) : Iterable [] : String | provenance | MaD:489 | +| Test.java:2093:20:2093:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2093:20:2093:22 | out : Iterable [] : String | Test.java:2093:9:2093:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2098:18:2098:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2099:40:2099:41 | in : Vector [] : String | provenance | | +| Test.java:2098:39:2098:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2098:39:2098:54 | (...)... : String | Test.java:2098:18:2098:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2098:47:2098:54 | source(...) : Object | Test.java:2098:39:2098:54 | (...)... : String | provenance | | +| Test.java:2099:10:2099:58 | chainedIterable(...) : Iterable [] : String | Test.java:2100:20:2100:22 | out : Iterable [] : String | provenance | | +| Test.java:2099:40:2099:41 | in : Vector [] : String | Test.java:2099:10:2099:58 | chainedIterable(...) : Iterable [] : String | provenance | MaD:490 | +| Test.java:2100:20:2100:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2100:20:2100:22 | out : Iterable [] : String | Test.java:2100:9:2100:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2105:18:2105:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2106:40:2106:41 | in : Vector [] : String | provenance | | +| Test.java:2105:39:2105:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2105:39:2105:54 | (...)... : String | Test.java:2105:18:2105:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2105:47:2105:54 | source(...) : Object | Test.java:2105:39:2105:54 | (...)... : String | provenance | | +| Test.java:2106:10:2106:48 | chainedIterable(...) : Iterable [] : String | Test.java:2107:20:2107:22 | out : Iterable [] : String | provenance | | +| Test.java:2106:40:2106:41 | in : Vector [] : String | Test.java:2106:10:2106:48 | chainedIterable(...) : Iterable [] : String | provenance | MaD:490 | +| Test.java:2107:20:2107:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2107:20:2107:22 | out : Iterable [] : String | Test.java:2107:9:2107:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2112:18:2112:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2113:46:2113:47 | in : Vector [] : String | provenance | | +| Test.java:2112:39:2112:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2112:39:2112:54 | (...)... : String | Test.java:2112:18:2112:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2112:47:2112:54 | source(...) : Object | Test.java:2112:39:2112:54 | (...)... : String | provenance | | +| Test.java:2113:10:2113:48 | chainedIterable(...) : Iterable [] : String | Test.java:2114:20:2114:22 | out : Iterable [] : String | provenance | | +| Test.java:2113:46:2113:47 | in : Vector [] : String | Test.java:2113:10:2113:48 | chainedIterable(...) : Iterable [] : String | provenance | MaD:491 | +| Test.java:2114:20:2114:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2114:20:2114:22 | out : Iterable [] : String | Test.java:2114:9:2114:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2119:18:2119:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2120:40:2120:41 | in : Vector [] : String | provenance | | +| Test.java:2119:39:2119:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2119:39:2119:54 | (...)... : String | Test.java:2119:18:2119:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2119:47:2119:54 | source(...) : Object | Test.java:2119:39:2119:54 | (...)... : String | provenance | | +| Test.java:2120:10:2120:54 | chainedIterable(...) : Iterable [] : String | Test.java:2121:20:2121:22 | out : Iterable [] : String | provenance | | +| Test.java:2120:40:2120:41 | in : Vector [] : String | Test.java:2120:10:2120:54 | chainedIterable(...) : Iterable [] : String | provenance | MaD:492 | +| Test.java:2121:20:2121:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2121:20:2121:22 | out : Iterable [] : String | Test.java:2121:9:2121:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2126:18:2126:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2127:46:2127:47 | in : Vector [] : String | provenance | | +| Test.java:2126:39:2126:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2126:39:2126:54 | (...)... : String | Test.java:2126:18:2126:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2126:47:2126:54 | source(...) : Object | Test.java:2126:39:2126:54 | (...)... : String | provenance | | +| Test.java:2127:10:2127:54 | chainedIterable(...) : Iterable [] : String | Test.java:2128:20:2128:22 | out : Iterable [] : String | provenance | | +| Test.java:2127:46:2127:47 | in : Vector [] : String | Test.java:2127:10:2127:54 | chainedIterable(...) : Iterable [] : String | provenance | MaD:493 | +| Test.java:2128:20:2128:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2128:20:2128:22 | out : Iterable [] : String | Test.java:2128:9:2128:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2133:18:2133:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2134:52:2134:53 | in : Vector [] : String | provenance | | +| Test.java:2133:39:2133:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2133:39:2133:54 | (...)... : String | Test.java:2133:18:2133:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2133:47:2133:54 | source(...) : Object | Test.java:2133:39:2133:54 | (...)... : String | provenance | | +| Test.java:2134:10:2134:54 | chainedIterable(...) : Iterable [] : String | Test.java:2135:20:2135:22 | out : Iterable [] : String | provenance | | +| Test.java:2134:52:2134:53 | in : Vector [] : String | Test.java:2134:10:2134:54 | chainedIterable(...) : Iterable [] : String | provenance | MaD:494 | +| Test.java:2135:20:2135:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2135:20:2135:22 | out : Iterable [] : String | Test.java:2135:9:2135:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2140:18:2140:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2141:40:2141:41 | in : Vector [] : String | provenance | | +| Test.java:2140:39:2140:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2140:39:2140:54 | (...)... : String | Test.java:2140:18:2140:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2140:47:2140:54 | source(...) : Object | Test.java:2140:39:2140:54 | (...)... : String | provenance | | +| Test.java:2141:10:2141:60 | chainedIterable(...) : Iterable [] : String | Test.java:2142:20:2142:22 | out : Iterable [] : String | provenance | | +| Test.java:2141:40:2141:41 | in : Vector [] : String | Test.java:2141:10:2141:60 | chainedIterable(...) : Iterable [] : String | provenance | MaD:495 | +| Test.java:2142:20:2142:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2142:20:2142:22 | out : Iterable [] : String | Test.java:2142:9:2142:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2147:18:2147:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2148:46:2148:47 | in : Vector [] : String | provenance | | +| Test.java:2147:39:2147:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2147:39:2147:54 | (...)... : String | Test.java:2147:18:2147:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2147:47:2147:54 | source(...) : Object | Test.java:2147:39:2147:54 | (...)... : String | provenance | | +| Test.java:2148:10:2148:60 | chainedIterable(...) : Iterable [] : String | Test.java:2149:20:2149:22 | out : Iterable [] : String | provenance | | +| Test.java:2148:46:2148:47 | in : Vector [] : String | Test.java:2148:10:2148:60 | chainedIterable(...) : Iterable [] : String | provenance | MaD:496 | +| Test.java:2149:20:2149:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2149:20:2149:22 | out : Iterable [] : String | Test.java:2149:9:2149:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2154:18:2154:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2155:52:2155:53 | in : Vector [] : String | provenance | | +| Test.java:2154:39:2154:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2154:39:2154:54 | (...)... : String | Test.java:2154:18:2154:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2154:47:2154:54 | source(...) : Object | Test.java:2154:39:2154:54 | (...)... : String | provenance | | +| Test.java:2155:10:2155:60 | chainedIterable(...) : Iterable [] : String | Test.java:2156:20:2156:22 | out : Iterable [] : String | provenance | | +| Test.java:2155:52:2155:53 | in : Vector [] : String | Test.java:2155:10:2155:60 | chainedIterable(...) : Iterable [] : String | provenance | MaD:497 | +| Test.java:2156:20:2156:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2156:20:2156:22 | out : Iterable [] : String | Test.java:2156:9:2156:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2161:18:2161:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2162:58:2162:59 | in : Vector [] : String | provenance | | +| Test.java:2161:39:2161:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2161:39:2161:54 | (...)... : String | Test.java:2161:18:2161:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2161:47:2161:54 | source(...) : Object | Test.java:2161:39:2161:54 | (...)... : String | provenance | | +| Test.java:2162:10:2162:60 | chainedIterable(...) : Iterable [] : String | Test.java:2163:20:2163:22 | out : Iterable [] : String | provenance | | +| Test.java:2162:58:2162:59 | in : Vector [] : String | Test.java:2162:10:2162:60 | chainedIterable(...) : Iterable [] : String | provenance | MaD:498 | +| Test.java:2163:20:2163:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2163:20:2163:22 | out : Iterable [] : String | Test.java:2163:9:2163:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2168:18:2168:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2169:47:2169:48 | in : Vector [] : String | provenance | | +| Test.java:2168:39:2168:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2168:39:2168:54 | (...)... : String | Test.java:2168:18:2168:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2168:47:2168:54 | source(...) : Object | Test.java:2168:39:2168:54 | (...)... : String | provenance | | +| Test.java:2169:10:2169:55 | collatedIterable(...) : Iterable [] : String | Test.java:2170:20:2170:22 | out : Iterable [] : String | provenance | | +| Test.java:2169:47:2169:48 | in : Vector [] : String | Test.java:2169:10:2169:55 | collatedIterable(...) : Iterable [] : String | provenance | MaD:499 | +| Test.java:2170:20:2170:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2170:20:2170:22 | out : Iterable [] : String | Test.java:2170:9:2170:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2175:18:2175:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2176:53:2176:54 | in : Vector [] : String | provenance | | +| Test.java:2175:39:2175:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2175:39:2175:54 | (...)... : String | Test.java:2175:18:2175:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2175:47:2175:54 | source(...) : Object | Test.java:2175:39:2175:54 | (...)... : String | provenance | | +| Test.java:2176:10:2176:55 | collatedIterable(...) : Iterable [] : String | Test.java:2177:20:2177:22 | out : Iterable [] : String | provenance | | +| Test.java:2176:53:2176:54 | in : Vector [] : String | Test.java:2176:10:2176:55 | collatedIterable(...) : Iterable [] : String | provenance | MaD:500 | +| Test.java:2177:20:2177:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2177:20:2177:22 | out : Iterable [] : String | Test.java:2177:9:2177:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2182:18:2182:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2183:41:2183:42 | in : Vector [] : String | provenance | | +| Test.java:2182:39:2182:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2182:39:2182:54 | (...)... : String | Test.java:2182:18:2182:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2182:47:2182:54 | source(...) : Object | Test.java:2182:39:2182:54 | (...)... : String | provenance | | +| Test.java:2183:10:2183:49 | collatedIterable(...) : Iterable [] : String | Test.java:2184:20:2184:22 | out : Iterable [] : String | provenance | | +| Test.java:2183:41:2183:42 | in : Vector [] : String | Test.java:2183:10:2183:49 | collatedIterable(...) : Iterable [] : String | provenance | MaD:501 | +| Test.java:2184:20:2184:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2184:20:2184:22 | out : Iterable [] : String | Test.java:2184:9:2184:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2189:18:2189:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2190:47:2190:48 | in : Vector [] : String | provenance | | +| Test.java:2189:39:2189:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2189:39:2189:54 | (...)... : String | Test.java:2189:18:2189:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2189:47:2189:54 | source(...) : Object | Test.java:2189:39:2189:54 | (...)... : String | provenance | | +| Test.java:2190:10:2190:49 | collatedIterable(...) : Iterable [] : String | Test.java:2191:20:2191:22 | out : Iterable [] : String | provenance | | +| Test.java:2190:47:2190:48 | in : Vector [] : String | Test.java:2190:10:2190:49 | collatedIterable(...) : Iterable [] : String | provenance | MaD:502 | +| Test.java:2191:20:2191:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2191:20:2191:22 | out : Iterable [] : String | Test.java:2191:9:2191:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2196:18:2196:35 | (...)... : Iterable | Test.java:2197:36:2197:37 | in : Iterable | provenance | | +| Test.java:2196:28:2196:35 | source(...) : Object | Test.java:2196:18:2196:35 | (...)... : Iterable | provenance | | +| Test.java:2197:10:2197:38 | emptyIfNull(...) : Iterable | Test.java:2198:9:2198:11 | out | provenance | | +| Test.java:2197:36:2197:37 | in : Iterable | Test.java:2197:10:2197:38 | emptyIfNull(...) : Iterable | provenance | MaD:503 | +| Test.java:2203:18:2203:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2204:41:2204:42 | in : Vector [] : String | provenance | | +| Test.java:2203:39:2203:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2203:39:2203:54 | (...)... : String | Test.java:2203:18:2203:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2203:47:2203:54 | source(...) : Object | Test.java:2203:39:2203:54 | (...)... : String | provenance | | +| Test.java:2204:10:2204:49 | filteredIterable(...) : Iterable [] : String | Test.java:2205:20:2205:22 | out : Iterable [] : String | provenance | | +| Test.java:2204:41:2204:42 | in : Vector [] : String | Test.java:2204:10:2204:49 | filteredIterable(...) : Iterable [] : String | provenance | MaD:504 | +| Test.java:2205:20:2205:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2205:20:2205:22 | out : Iterable [] : String | Test.java:2205:9:2205:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2210:18:2210:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2211:29:2211:30 | in : Vector [] : String | provenance | | +| Test.java:2210:39:2210:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2210:39:2210:54 | (...)... : String | Test.java:2210:18:2210:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2210:47:2210:54 | source(...) : Object | Test.java:2210:39:2210:54 | (...)... : String | provenance | | +| Test.java:2211:10:2211:37 | find(...) : String | Test.java:2212:9:2212:11 | out | provenance | | +| Test.java:2211:29:2211:30 | in : Vector [] : String | Test.java:2211:10:2211:37 | find(...) : String | provenance | MaD:505 | +| Test.java:2217:18:2217:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2218:30:2218:31 | in : Vector [] : String | provenance | | +| Test.java:2217:39:2217:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2217:39:2217:54 | (...)... : String | Test.java:2217:18:2217:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2217:47:2217:54 | source(...) : Object | Test.java:2217:39:2217:54 | (...)... : String | provenance | | +| Test.java:2218:10:2218:32 | first(...) : String | Test.java:2219:9:2219:11 | out | provenance | | +| Test.java:2218:30:2218:31 | in : Vector [] : String | Test.java:2218:10:2218:32 | first(...) : String | provenance | MaD:506 | +| Test.java:2224:18:2224:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2225:39:2225:40 | in : Vector [] : String | provenance | | +| Test.java:2224:39:2224:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2224:39:2224:54 | (...)... : String | Test.java:2224:18:2224:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2224:47:2224:54 | source(...) : Object | Test.java:2224:39:2224:54 | (...)... : String | provenance | | +| Test.java:2225:10:2225:47 | forEachButLast(...) : String | Test.java:2226:9:2226:11 | out | provenance | | +| Test.java:2225:39:2225:40 | in : Vector [] : String | Test.java:2225:10:2225:47 | forEachButLast(...) : String | provenance | MaD:507 | +| Test.java:2231:18:2231:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2232:28:2232:29 | in : Vector [] : String | provenance | | +| Test.java:2231:39:2231:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2231:39:2231:54 | (...)... : String | Test.java:2231:18:2231:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2231:47:2231:54 | source(...) : Object | Test.java:2231:39:2231:54 | (...)... : String | provenance | | +| Test.java:2232:10:2232:33 | get(...) : String | Test.java:2233:9:2233:11 | out | provenance | | +| Test.java:2232:28:2232:29 | in : Vector [] : String | Test.java:2232:10:2232:33 | get(...) : String | provenance | MaD:508 | +| Test.java:2238:18:2238:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2239:40:2239:41 | in : Vector [] : String | provenance | | +| Test.java:2238:39:2238:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2238:39:2238:54 | (...)... : String | Test.java:2238:18:2238:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2238:47:2238:54 | source(...) : Object | Test.java:2238:39:2238:54 | (...)... : String | provenance | | +| Test.java:2239:10:2239:42 | loopingIterable(...) : Iterable [] : String | Test.java:2240:20:2240:22 | out : Iterable [] : String | provenance | | +| Test.java:2239:40:2239:41 | in : Vector [] : String | Test.java:2239:10:2239:42 | loopingIterable(...) : Iterable [] : String | provenance | MaD:509 | +| Test.java:2240:20:2240:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2240:20:2240:22 | out : Iterable [] : String | Test.java:2240:9:2240:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2245:18:2245:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2246:34:2246:35 | in : Vector [] : String | provenance | | +| Test.java:2245:39:2245:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2245:39:2245:54 | (...)... : String | Test.java:2245:18:2245:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2245:47:2245:54 | source(...) : Object | Test.java:2245:39:2245:54 | (...)... : String | provenance | | +| Test.java:2246:10:2246:85 | partition(...) : List [, ] : String | Test.java:2247:41:2247:43 | out : List [, ] : String | provenance | | +| Test.java:2246:34:2246:35 | in : Vector [] : String | Test.java:2246:10:2246:85 | partition(...) : List [, ] : String | provenance | MaD:510 | +| Test.java:2247:20:2247:44 | (...)... : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2247:20:2247:44 | (...)... : Iterable [] : String | Test.java:2247:9:2247:45 | getElement(...) | provenance | MaD:1 | +| Test.java:2247:30:2247:44 | getElement(...) : Object [] : String | Test.java:2247:20:2247:44 | (...)... : Iterable [] : String | provenance | | +| Test.java:2247:41:2247:43 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | provenance | | +| Test.java:2247:41:2247:43 | out : List [, ] : String | Test.java:2247:30:2247:44 | getElement(...) : Object [] : String | provenance | MaD:1 | +| Test.java:2252:18:2252:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2253:34:2253:35 | in : Vector [] : String | provenance | | +| Test.java:2252:39:2252:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2252:39:2252:54 | (...)... : String | Test.java:2252:18:2252:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2252:47:2252:54 | source(...) : Object | Test.java:2252:39:2252:54 | (...)... : String | provenance | | +| Test.java:2253:10:2253:70 | partition(...) : List [, ] : String | Test.java:2254:41:2254:43 | out : List [, ] : String | provenance | | +| Test.java:2253:34:2253:35 | in : Vector [] : String | Test.java:2253:10:2253:70 | partition(...) : List [, ] : String | provenance | MaD:510 | +| Test.java:2254:20:2254:44 | (...)... : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2254:20:2254:44 | (...)... : Iterable [] : String | Test.java:2254:9:2254:45 | getElement(...) | provenance | MaD:1 | +| Test.java:2254:30:2254:44 | getElement(...) : Object [] : String | Test.java:2254:20:2254:44 | (...)... : Iterable [] : String | provenance | | +| Test.java:2254:41:2254:43 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | provenance | | +| Test.java:2254:41:2254:43 | out : List [, ] : String | Test.java:2254:30:2254:44 | getElement(...) : Object [] : String | provenance | MaD:1 | +| Test.java:2259:18:2259:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2260:34:2260:35 | in : Vector [] : String | provenance | | +| Test.java:2259:39:2259:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2259:39:2259:54 | (...)... : String | Test.java:2259:18:2259:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2259:47:2259:54 | source(...) : Object | Test.java:2259:39:2259:54 | (...)... : String | provenance | | +| Test.java:2260:10:2260:70 | partition(...) : List [, ] : String | Test.java:2261:41:2261:43 | out : List [, ] : String | provenance | | +| Test.java:2260:34:2260:35 | in : Vector [] : String | Test.java:2260:10:2260:70 | partition(...) : List [, ] : String | provenance | MaD:510 | +| Test.java:2261:20:2261:44 | (...)... : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2261:20:2261:44 | (...)... : Iterable [] : String | Test.java:2261:9:2261:45 | getElement(...) | provenance | MaD:1 | +| Test.java:2261:30:2261:44 | getElement(...) : Object [] : String | Test.java:2261:20:2261:44 | (...)... : Iterable [] : String | provenance | | +| Test.java:2261:41:2261:43 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | provenance | | +| Test.java:2261:41:2261:43 | out : List [, ] : String | Test.java:2261:30:2261:44 | getElement(...) : Object [] : String | provenance | MaD:1 | +| Test.java:2266:18:2266:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2267:41:2267:42 | in : Vector [] : String | provenance | | +| Test.java:2266:39:2266:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2266:39:2266:54 | (...)... : String | Test.java:2266:18:2266:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2266:47:2266:54 | source(...) : Object | Test.java:2266:39:2266:54 | (...)... : String | provenance | | +| Test.java:2267:10:2267:43 | reversedIterable(...) : Iterable [] : String | Test.java:2268:20:2268:22 | out : Iterable [] : String | provenance | | +| Test.java:2267:41:2267:42 | in : Vector [] : String | Test.java:2267:10:2267:43 | reversedIterable(...) : Iterable [] : String | provenance | MaD:511 | +| Test.java:2268:20:2268:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2268:20:2268:22 | out : Iterable [] : String | Test.java:2268:9:2268:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2273:18:2273:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2274:41:2274:42 | in : Vector [] : String | provenance | | +| Test.java:2273:39:2273:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2273:39:2273:54 | (...)... : String | Test.java:2273:18:2273:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2273:47:2273:54 | source(...) : Object | Test.java:2273:39:2273:54 | (...)... : String | provenance | | +| Test.java:2274:10:2274:47 | skippingIterable(...) : Iterable [] : String | Test.java:2275:20:2275:22 | out : Iterable [] : String | provenance | | +| Test.java:2274:41:2274:42 | in : Vector [] : String | Test.java:2274:10:2274:47 | skippingIterable(...) : Iterable [] : String | provenance | MaD:512 | +| Test.java:2275:20:2275:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2275:20:2275:22 | out : Iterable [] : String | Test.java:2275:9:2275:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2280:18:2280:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2281:31:2281:32 | in : Vector [] : String | provenance | | +| Test.java:2280:39:2280:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2280:39:2280:54 | (...)... : String | Test.java:2280:18:2280:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2280:47:2280:54 | source(...) : Object | Test.java:2280:39:2280:54 | (...)... : String | provenance | | +| Test.java:2281:10:2281:33 | toList(...) : List [] : String | Test.java:2282:20:2282:22 | out : List [] : String | provenance | | +| Test.java:2281:31:2281:32 | in : Vector [] : String | Test.java:2281:10:2281:33 | toList(...) : List [] : String | provenance | MaD:513 | +| Test.java:2282:20:2282:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2282:20:2282:22 | out : List [] : String | Test.java:2282:9:2282:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2287:16:2287:31 | (...)... : String | Test.java:2288:45:2288:46 | in : String | provenance | | +| Test.java:2287:24:2287:31 | source(...) : Object | Test.java:2287:16:2287:31 | (...)... : String | provenance | | +| Test.java:2288:10:2288:59 | toString(...) : String | Test.java:2289:9:2289:11 | out | provenance | | +| Test.java:2288:45:2288:46 | in : String | Test.java:2288:10:2288:59 | toString(...) : String | provenance | MaD:514 | +| Test.java:2294:16:2294:31 | (...)... : String | Test.java:2295:51:2295:52 | in : String | provenance | | +| Test.java:2294:24:2294:31 | source(...) : Object | Test.java:2294:16:2294:31 | (...)... : String | provenance | | +| Test.java:2295:10:2295:59 | toString(...) : String | Test.java:2296:9:2296:11 | out | provenance | | +| Test.java:2295:51:2295:52 | in : String | Test.java:2295:10:2295:59 | toString(...) : String | provenance | MaD:515 | +| Test.java:2301:16:2301:31 | (...)... : String | Test.java:2302:57:2302:58 | in : String | provenance | | +| Test.java:2301:24:2301:31 | source(...) : Object | Test.java:2301:16:2301:31 | (...)... : String | provenance | | +| Test.java:2302:10:2302:59 | toString(...) : String | Test.java:2303:9:2303:11 | out | provenance | | +| Test.java:2302:57:2302:58 | in : String | Test.java:2302:10:2302:59 | toString(...) : String | provenance | MaD:516 | +| Test.java:2308:18:2308:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2309:39:2309:40 | in : Vector [] : String | provenance | | +| Test.java:2308:39:2308:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2308:39:2308:54 | (...)... : String | Test.java:2308:18:2308:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2308:47:2308:54 | source(...) : Object | Test.java:2308:39:2308:54 | (...)... : String | provenance | | +| Test.java:2309:10:2309:41 | uniqueIterable(...) : Iterable [] : String | Test.java:2310:20:2310:22 | out : Iterable [] : String | provenance | | +| Test.java:2309:39:2309:40 | in : Vector [] : String | Test.java:2309:10:2309:41 | uniqueIterable(...) : Iterable [] : String | provenance | MaD:517 | +| Test.java:2310:20:2310:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2310:20:2310:22 | out : Iterable [] : String | Test.java:2310:9:2310:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2315:18:2315:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2316:45:2316:46 | in : Vector [] : String | provenance | | +| Test.java:2315:39:2315:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2315:39:2315:54 | (...)... : String | Test.java:2315:18:2315:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2315:47:2315:54 | source(...) : Object | Test.java:2315:39:2315:54 | (...)... : String | provenance | | +| Test.java:2316:10:2316:47 | unmodifiableIterable(...) : Iterable [] : String | Test.java:2317:20:2317:22 | out : Iterable [] : String | provenance | | +| Test.java:2316:45:2316:46 | in : Vector [] : String | Test.java:2316:10:2316:47 | unmodifiableIterable(...) : Iterable [] : String | provenance | MaD:518 | +| Test.java:2317:20:2317:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2317:20:2317:22 | out : Iterable [] : String | Test.java:2317:9:2317:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2322:18:2322:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2323:56:2323:57 | in : Vector [] : String | provenance | | +| Test.java:2322:39:2322:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2322:39:2322:54 | (...)... : String | Test.java:2322:18:2322:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2322:47:2322:54 | source(...) : Object | Test.java:2322:39:2322:54 | (...)... : String | provenance | | +| Test.java:2323:10:2323:58 | zippingIterable(...) : Iterable [] : String | Test.java:2324:20:2324:22 | out : Iterable [] : String | provenance | | +| Test.java:2323:56:2323:57 | in : Vector [] : String | Test.java:2323:10:2323:58 | zippingIterable(...) : Iterable [] : String | provenance | MaD:520 | +| Test.java:2324:20:2324:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2324:20:2324:22 | out : Iterable [] : String | Test.java:2324:9:2324:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2329:18:2329:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2330:56:2330:57 | in : Vector [] : String | provenance | | +| Test.java:2329:39:2329:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2329:39:2329:54 | (...)... : String | Test.java:2329:18:2329:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2329:47:2329:54 | source(...) : Object | Test.java:2329:39:2329:54 | (...)... : String | provenance | | +| Test.java:2330:10:2330:58 | zippingIterable(...) : Iterable [] : String | Test.java:2331:20:2331:22 | out : Iterable [] : String | provenance | | +| Test.java:2330:56:2330:57 | in : Vector [] : String | Test.java:2330:10:2330:58 | zippingIterable(...) : Iterable [] : String | provenance | MaD:520 | +| Test.java:2331:20:2331:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2331:20:2331:22 | out : Iterable [] : String | Test.java:2331:9:2331:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2336:18:2336:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2337:40:2337:41 | in : Vector [] : String | provenance | | +| Test.java:2336:39:2336:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2336:39:2336:54 | (...)... : String | Test.java:2336:18:2336:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2336:47:2336:54 | source(...) : Object | Test.java:2336:39:2336:54 | (...)... : String | provenance | | +| Test.java:2337:10:2337:74 | zippingIterable(...) : Iterable [] : String | Test.java:2338:20:2338:22 | out : Iterable [] : String | provenance | | +| Test.java:2337:40:2337:41 | in : Vector [] : String | Test.java:2337:10:2337:74 | zippingIterable(...) : Iterable [] : String | provenance | MaD:519 | +| Test.java:2338:20:2338:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2338:20:2338:22 | out : Iterable [] : String | Test.java:2338:9:2338:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2343:18:2343:55 | newVectorWithElement(...) : Vector [] : String | Test.java:2344:40:2344:41 | in : Vector [] : String | provenance | | +| Test.java:2343:39:2343:54 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2343:39:2343:54 | (...)... : String | Test.java:2343:18:2343:55 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2343:47:2343:54 | source(...) : Object | Test.java:2343:39:2343:54 | (...)... : String | provenance | | +| Test.java:2344:10:2344:58 | zippingIterable(...) : Iterable [] : String | Test.java:2345:20:2345:22 | out : Iterable [] : String | provenance | | +| Test.java:2344:40:2344:41 | in : Vector [] : String | Test.java:2344:10:2344:58 | zippingIterable(...) : Iterable [] : String | provenance | MaD:519 | +| Test.java:2345:20:2345:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2345:20:2345:22 | out : Iterable [] : String | Test.java:2345:9:2345:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2350:18:2350:54 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:2351:38:2351:39 | in : Object[] [[]] : String | provenance | | +| Test.java:2350:38:2350:53 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:2350:38:2350:53 | (...)... : String | Test.java:2350:18:2350:54 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:2350:46:2350:53 | source(...) : Object | Test.java:2350:38:2350:53 | (...)... : String | provenance | | +| Test.java:2351:10:2351:46 | arrayIterator(...) : ResettableIterator [] : String | Test.java:2352:20:2352:22 | out : ResettableIterator [] : String | provenance | | +| Test.java:2351:38:2351:39 | in : Object[] [[]] : String | Test.java:2351:10:2351:46 | arrayIterator(...) : ResettableIterator [] : String | provenance | MaD:521 | +| Test.java:2352:20:2352:22 | out : ResettableIterator [] : String | Test.java:231:19:231:32 | it : ResettableIterator [] : String | provenance | | +| Test.java:2352:20:2352:22 | out : ResettableIterator [] : String | Test.java:2352:9:2352:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2357:18:2357:54 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:2358:38:2358:39 | in : Object[] [[]] : String | provenance | | +| Test.java:2357:38:2357:53 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:2357:38:2357:53 | (...)... : String | Test.java:2357:18:2357:54 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:2357:46:2357:53 | source(...) : Object | Test.java:2357:38:2357:53 | (...)... : String | provenance | | +| Test.java:2358:10:2358:43 | arrayIterator(...) : ResettableIterator [] : String | Test.java:2359:20:2359:22 | out : ResettableIterator [] : String | provenance | | +| Test.java:2358:38:2358:39 | in : Object[] [[]] : String | Test.java:2358:10:2358:43 | arrayIterator(...) : ResettableIterator [] : String | provenance | MaD:521 | +| Test.java:2359:20:2359:22 | out : ResettableIterator [] : String | Test.java:231:19:231:32 | it : ResettableIterator [] : String | provenance | | +| Test.java:2359:20:2359:22 | out : ResettableIterator [] : String | Test.java:2359:9:2359:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2364:16:2364:23 | source(...) : Object | Test.java:2365:38:2365:39 | in : Object | provenance | | +| Test.java:2365:10:2365:54 | arrayIterator(...) : ResettableIterator [] : Object | Test.java:2366:20:2366:22 | out : ResettableIterator [] : Object | provenance | | +| Test.java:2365:10:2365:54 | new ..[] { .. } : Object[] [[]] : Object | Test.java:2365:10:2365:54 | arrayIterator(...) : ResettableIterator [] : Object | provenance | MaD:521 | +| Test.java:2365:38:2365:39 | in : Object | Test.java:2365:10:2365:54 | new ..[] { .. } : Object[] [[]] : Object | provenance | | +| Test.java:2366:20:2366:22 | out : ResettableIterator [] : Object | Test.java:231:19:231:32 | it : ResettableIterator [] : Object | provenance | | +| Test.java:2366:20:2366:22 | out : ResettableIterator [] : Object | Test.java:2366:9:2366:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2371:16:2371:52 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:2372:38:2372:39 | in : Object[] [[]] : String | provenance | | +| Test.java:2371:36:2371:51 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:2371:36:2371:51 | (...)... : String | Test.java:2371:16:2371:52 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:2371:44:2371:51 | source(...) : Object | Test.java:2371:36:2371:51 | (...)... : String | provenance | | +| Test.java:2372:10:2372:46 | arrayIterator(...) : ResettableIterator [] : String | Test.java:2373:20:2373:22 | out : ResettableIterator [] : String | provenance | | +| Test.java:2372:38:2372:39 | in : Object[] [[]] : String | Test.java:2372:10:2372:46 | arrayIterator(...) : ResettableIterator [] : String | provenance | MaD:521 | +| Test.java:2373:20:2373:22 | out : ResettableIterator [] : String | Test.java:231:19:231:32 | it : ResettableIterator [] : String | provenance | | +| Test.java:2373:20:2373:22 | out : ResettableIterator [] : String | Test.java:2373:9:2373:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2378:16:2378:52 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:2379:38:2379:39 | in : Object[] [[]] : String | provenance | | +| Test.java:2378:36:2378:51 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:2378:36:2378:51 | (...)... : String | Test.java:2378:16:2378:52 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:2378:44:2378:51 | source(...) : Object | Test.java:2378:36:2378:51 | (...)... : String | provenance | | +| Test.java:2379:10:2379:43 | arrayIterator(...) : ResettableIterator [] : String | Test.java:2380:20:2380:22 | out : ResettableIterator [] : String | provenance | | +| Test.java:2379:38:2379:39 | in : Object[] [[]] : String | Test.java:2379:10:2379:43 | arrayIterator(...) : ResettableIterator [] : String | provenance | MaD:521 | +| Test.java:2380:20:2380:22 | out : ResettableIterator [] : String | Test.java:231:19:231:32 | it : ResettableIterator [] : String | provenance | | +| Test.java:2380:20:2380:22 | out : ResettableIterator [] : String | Test.java:2380:9:2380:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2385:16:2385:52 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:2386:38:2386:39 | in : Object[] [[]] : String | provenance | | +| Test.java:2385:36:2385:51 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:2385:36:2385:51 | (...)... : String | Test.java:2385:16:2385:52 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:2385:44:2385:51 | source(...) : Object | Test.java:2385:36:2385:51 | (...)... : String | provenance | | +| Test.java:2386:10:2386:40 | arrayIterator(...) : ResettableIterator [] : String | Test.java:2387:20:2387:22 | out : ResettableIterator [] : String | provenance | | +| Test.java:2386:38:2386:39 | in : Object[] [[]] : String | Test.java:2386:10:2386:40 | arrayIterator(...) : ResettableIterator [] : String | provenance | MaD:521 | +| Test.java:2387:20:2387:22 | out : ResettableIterator [] : String | Test.java:231:19:231:32 | it : ResettableIterator [] : String | provenance | | +| Test.java:2387:20:2387:22 | out : ResettableIterator [] : String | Test.java:2387:9:2387:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2392:18:2392:54 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:2393:42:2393:43 | in : Object[] [[]] : String | provenance | | +| Test.java:2392:38:2392:53 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:2392:38:2392:53 | (...)... : String | Test.java:2392:18:2392:54 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:2392:46:2392:53 | source(...) : Object | Test.java:2392:38:2392:53 | (...)... : String | provenance | | +| Test.java:2393:10:2393:50 | arrayListIterator(...) : ResettableListIterator [] : String | Test.java:2394:20:2394:22 | out : ResettableListIterator [] : String | provenance | | +| Test.java:2393:42:2393:43 | in : Object[] [[]] : String | Test.java:2393:10:2393:50 | arrayListIterator(...) : ResettableListIterator [] : String | provenance | MaD:522 | +| Test.java:2394:20:2394:22 | out : ResettableListIterator [] : String | Test.java:231:19:231:32 | it : ResettableListIterator [] : String | provenance | | +| Test.java:2394:20:2394:22 | out : ResettableListIterator [] : String | Test.java:2394:9:2394:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2399:18:2399:54 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:2400:42:2400:43 | in : Object[] [[]] : String | provenance | | +| Test.java:2399:38:2399:53 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:2399:38:2399:53 | (...)... : String | Test.java:2399:18:2399:54 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:2399:46:2399:53 | source(...) : Object | Test.java:2399:38:2399:53 | (...)... : String | provenance | | +| Test.java:2400:10:2400:47 | arrayListIterator(...) : ResettableListIterator [] : String | Test.java:2401:20:2401:22 | out : ResettableListIterator [] : String | provenance | | +| Test.java:2400:42:2400:43 | in : Object[] [[]] : String | Test.java:2400:10:2400:47 | arrayListIterator(...) : ResettableListIterator [] : String | provenance | MaD:522 | +| Test.java:2401:20:2401:22 | out : ResettableListIterator [] : String | Test.java:231:19:231:32 | it : ResettableListIterator [] : String | provenance | | +| Test.java:2401:20:2401:22 | out : ResettableListIterator [] : String | Test.java:2401:9:2401:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2406:16:2406:23 | source(...) : Object | Test.java:2407:42:2407:43 | in : Object | provenance | | +| Test.java:2407:10:2407:58 | arrayListIterator(...) : ResettableListIterator [] : Object | Test.java:2408:20:2408:22 | out : ResettableListIterator [] : Object | provenance | | +| Test.java:2407:10:2407:58 | new ..[] { .. } : Object[] [[]] : Object | Test.java:2407:10:2407:58 | arrayListIterator(...) : ResettableListIterator [] : Object | provenance | MaD:522 | +| Test.java:2407:42:2407:43 | in : Object | Test.java:2407:10:2407:58 | new ..[] { .. } : Object[] [[]] : Object | provenance | | +| Test.java:2408:20:2408:22 | out : ResettableListIterator [] : Object | Test.java:231:19:231:32 | it : ResettableListIterator [] : Object | provenance | | +| Test.java:2408:20:2408:22 | out : ResettableListIterator [] : Object | Test.java:2408:9:2408:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2413:16:2413:52 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:2414:42:2414:43 | in : Object[] [[]] : String | provenance | | +| Test.java:2413:36:2413:51 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:2413:36:2413:51 | (...)... : String | Test.java:2413:16:2413:52 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:2413:44:2413:51 | source(...) : Object | Test.java:2413:36:2413:51 | (...)... : String | provenance | | +| Test.java:2414:10:2414:50 | arrayListIterator(...) : ResettableListIterator [] : String | Test.java:2415:20:2415:22 | out : ResettableListIterator [] : String | provenance | | +| Test.java:2414:42:2414:43 | in : Object[] [[]] : String | Test.java:2414:10:2414:50 | arrayListIterator(...) : ResettableListIterator [] : String | provenance | MaD:522 | +| Test.java:2415:20:2415:22 | out : ResettableListIterator [] : String | Test.java:231:19:231:32 | it : ResettableListIterator [] : String | provenance | | +| Test.java:2415:20:2415:22 | out : ResettableListIterator [] : String | Test.java:2415:9:2415:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2420:16:2420:52 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:2421:42:2421:43 | in : Object[] [[]] : String | provenance | | +| Test.java:2420:36:2420:51 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:2420:36:2420:51 | (...)... : String | Test.java:2420:16:2420:52 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:2420:44:2420:51 | source(...) : Object | Test.java:2420:36:2420:51 | (...)... : String | provenance | | +| Test.java:2421:10:2421:47 | arrayListIterator(...) : ResettableListIterator [] : String | Test.java:2422:20:2422:22 | out : ResettableListIterator [] : String | provenance | | +| Test.java:2421:42:2421:43 | in : Object[] [[]] : String | Test.java:2421:10:2421:47 | arrayListIterator(...) : ResettableListIterator [] : String | provenance | MaD:522 | +| Test.java:2422:20:2422:22 | out : ResettableListIterator [] : String | Test.java:231:19:231:32 | it : ResettableListIterator [] : String | provenance | | +| Test.java:2422:20:2422:22 | out : ResettableListIterator [] : String | Test.java:2422:9:2422:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2427:16:2427:52 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:2428:42:2428:43 | in : Object[] [[]] : String | provenance | | +| Test.java:2427:36:2427:51 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:2427:36:2427:51 | (...)... : String | Test.java:2427:16:2427:52 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:2427:44:2427:51 | source(...) : Object | Test.java:2427:36:2427:51 | (...)... : String | provenance | | +| Test.java:2428:10:2428:44 | arrayListIterator(...) : ResettableListIterator [] : String | Test.java:2429:20:2429:22 | out : ResettableListIterator [] : String | provenance | | +| Test.java:2428:42:2428:43 | in : Object[] [[]] : String | Test.java:2428:10:2428:44 | arrayListIterator(...) : ResettableListIterator [] : String | provenance | MaD:522 | +| Test.java:2429:20:2429:22 | out : ResettableListIterator [] : String | Test.java:231:19:231:32 | it : ResettableListIterator [] : String | provenance | | +| Test.java:2429:20:2429:22 | out : ResettableListIterator [] : String | Test.java:2429:9:2429:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2434:18:2434:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2435:38:2435:39 | in : ListIterator [] : String | provenance | | +| Test.java:2434:45:2434:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2434:45:2434:60 | (...)... : String | Test.java:2434:18:2434:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2434:53:2434:60 | source(...) : Object | Test.java:2434:45:2434:60 | (...)... : String | provenance | | +| Test.java:2435:10:2435:40 | asEnumeration(...) : Enumeration [] : String | Test.java:2436:20:2436:22 | out : Enumeration [] : String | provenance | | +| Test.java:2435:38:2435:39 | in : ListIterator [] : String | Test.java:2435:10:2435:40 | asEnumeration(...) : Enumeration [] : String | provenance | MaD:523 | +| Test.java:2436:20:2436:22 | out : Enumeration [] : String | Test.java:234:19:234:42 | container : Enumeration [] : String | provenance | | +| Test.java:2436:20:2436:22 | out : Enumeration [] : String | Test.java:2436:9:2436:23 | getElement(...) | provenance | MaD:3 | +| Test.java:2441:18:2441:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2442:35:2442:36 | in : ListIterator [] : String | provenance | | +| Test.java:2441:45:2441:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2441:45:2441:60 | (...)... : String | Test.java:2441:18:2441:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2441:53:2441:60 | source(...) : Object | Test.java:2441:45:2441:60 | (...)... : String | provenance | | +| Test.java:2442:10:2442:37 | asIterable(...) : Iterable [] : String | Test.java:2443:20:2443:22 | out : Iterable [] : String | provenance | | +| Test.java:2442:35:2442:36 | in : ListIterator [] : String | Test.java:2442:10:2442:37 | asIterable(...) : Iterable [] : String | provenance | MaD:524 | +| Test.java:2443:20:2443:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2443:20:2443:22 | out : Iterable [] : String | Test.java:2443:9:2443:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2448:21:2448:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | Test.java:2449:35:2449:36 | in : IteratorEnumeration [] : String | provenance | | +| Test.java:2448:47:2448:62 | (...)... : String | Test.java:256:47:256:55 | element : String | provenance | | +| Test.java:2448:47:2448:62 | (...)... : String | Test.java:2448:21:2448:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | provenance | MaD:2 | +| Test.java:2448:55:2448:62 | source(...) : Object | Test.java:2448:47:2448:62 | (...)... : String | provenance | | +| Test.java:2449:10:2449:43 | asIterator(...) : Iterator [] : String | Test.java:2450:20:2450:22 | out : Iterator [] : String | provenance | | +| Test.java:2449:35:2449:36 | in : IteratorEnumeration [] : String | Test.java:2449:10:2449:43 | asIterator(...) : Iterator [] : String | provenance | MaD:525 | +| Test.java:2450:20:2450:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:2450:20:2450:22 | out : Iterator [] : String | Test.java:2450:9:2450:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2455:21:2455:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | Test.java:2456:35:2456:36 | in : IteratorEnumeration [] : String | provenance | | +| Test.java:2455:47:2455:62 | (...)... : String | Test.java:256:47:256:55 | element : String | provenance | | +| Test.java:2455:47:2455:62 | (...)... : String | Test.java:2455:21:2455:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | provenance | MaD:2 | +| Test.java:2455:55:2455:62 | source(...) : Object | Test.java:2455:47:2455:62 | (...)... : String | provenance | | +| Test.java:2456:10:2456:37 | asIterator(...) : Iterator [] : String | Test.java:2457:20:2457:22 | out : Iterator [] : String | provenance | | +| Test.java:2456:35:2456:36 | in : IteratorEnumeration [] : String | Test.java:2456:10:2456:37 | asIterator(...) : Iterator [] : String | provenance | MaD:525 | +| Test.java:2457:20:2457:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:2457:20:2457:22 | out : Iterator [] : String | Test.java:2457:9:2457:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2462:18:2462:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2463:46:2463:47 | in : ListIterator [] : String | provenance | | +| Test.java:2462:45:2462:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2462:45:2462:60 | (...)... : String | Test.java:2462:18:2462:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2462:53:2462:60 | source(...) : Object | Test.java:2462:45:2462:60 | (...)... : String | provenance | | +| Test.java:2463:10:2463:48 | asMultipleUseIterable(...) : Iterable [] : String | Test.java:2464:20:2464:22 | out : Iterable [] : String | provenance | | +| Test.java:2463:46:2463:47 | in : ListIterator [] : String | Test.java:2463:10:2463:48 | asMultipleUseIterable(...) : Iterable [] : String | provenance | MaD:526 | +| Test.java:2464:20:2464:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2464:20:2464:22 | out : Iterable [] : String | Test.java:2464:9:2464:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2469:18:2469:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2470:40:2470:41 | in : ListIterator [] : String | provenance | | +| Test.java:2469:45:2469:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2469:45:2469:60 | (...)... : String | Test.java:2469:18:2469:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2469:53:2469:60 | source(...) : Object | Test.java:2469:45:2469:60 | (...)... : String | provenance | | +| Test.java:2470:10:2470:50 | boundedIterator(...) : BoundedIterator [] : String | Test.java:2471:20:2471:22 | out : BoundedIterator [] : String | provenance | | +| Test.java:2470:40:2470:41 | in : ListIterator [] : String | Test.java:2470:10:2470:50 | boundedIterator(...) : BoundedIterator [] : String | provenance | MaD:527 | +| Test.java:2471:20:2471:22 | out : BoundedIterator [] : String | Test.java:231:19:231:32 | it : BoundedIterator [] : String | provenance | | +| Test.java:2471:20:2471:22 | out : BoundedIterator [] : String | Test.java:2471:9:2471:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2476:18:2476:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2477:40:2477:41 | in : ListIterator [] : String | provenance | | +| Test.java:2476:45:2476:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2476:45:2476:60 | (...)... : String | Test.java:2476:18:2476:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2476:53:2476:60 | source(...) : Object | Test.java:2476:45:2476:60 | (...)... : String | provenance | | +| Test.java:2477:10:2477:46 | boundedIterator(...) : BoundedIterator [] : String | Test.java:2478:20:2478:22 | out : BoundedIterator [] : String | provenance | | +| Test.java:2477:40:2477:41 | in : ListIterator [] : String | Test.java:2477:10:2477:46 | boundedIterator(...) : BoundedIterator [] : String | provenance | MaD:527 | +| Test.java:2478:20:2478:22 | out : BoundedIterator [] : String | Test.java:231:19:231:32 | it : BoundedIterator [] : String | provenance | | +| Test.java:2478:20:2478:22 | out : BoundedIterator [] : String | Test.java:2478:9:2478:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2483:20:2483:79 | newVectorWithElement(...) : Vector [, ] : String | Test.java:2484:40:2484:41 | in : Vector [, ] : String | provenance | | +| Test.java:2483:41:2483:78 | newVectorWithElement(...) : Vector [] : String | Test.java:270:47:270:65 | element : Vector [] : String | provenance | | +| Test.java:2483:41:2483:78 | newVectorWithElement(...) : Vector [] : String | Test.java:2483:20:2483:79 | newVectorWithElement(...) : Vector [, ] : String | provenance | MaD:2 | +| Test.java:2483:62:2483:77 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2483:62:2483:77 | (...)... : String | Test.java:2483:41:2483:78 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2483:70:2483:77 | source(...) : Object | Test.java:2483:62:2483:77 | (...)... : String | provenance | | +| Test.java:2484:10:2484:42 | chainedIterator(...) : Iterator [] : String | Test.java:2485:20:2485:22 | out : Iterator [] : String | provenance | | +| Test.java:2484:40:2484:41 | in : Vector [, ] : String | Test.java:2484:10:2484:42 | chainedIterator(...) : Iterator [] : String | provenance | MaD:528 | +| Test.java:2485:20:2485:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:2485:20:2485:22 | out : Iterator [] : String | Test.java:2485:9:2485:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2490:18:2490:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2491:40:2491:41 | in : ListIterator [] : String | provenance | | +| Test.java:2490:45:2490:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2490:45:2490:60 | (...)... : String | Test.java:2490:18:2490:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2490:53:2490:60 | source(...) : Object | Test.java:2490:45:2490:60 | (...)... : String | provenance | | +| Test.java:2491:10:2491:58 | chainedIterator(...) : Iterator [] : String | Test.java:2492:20:2492:22 | out : Iterator [] : String | provenance | | +| Test.java:2491:40:2491:41 | in : ListIterator [] : String | Test.java:2491:10:2491:58 | chainedIterator(...) : Iterator [] : String | provenance | MaD:529 | +| Test.java:2492:20:2492:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:2492:20:2492:22 | out : Iterator [] : String | Test.java:2492:9:2492:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2497:18:2497:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2498:40:2498:41 | in : ListIterator [] : String | provenance | | +| Test.java:2497:45:2497:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2497:45:2497:60 | (...)... : String | Test.java:2497:18:2497:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2497:53:2497:60 | source(...) : Object | Test.java:2497:45:2497:60 | (...)... : String | provenance | | +| Test.java:2498:10:2498:48 | chainedIterator(...) : Iterator [] : String | Test.java:2499:20:2499:22 | out : Iterator [] : String | provenance | | +| Test.java:2498:40:2498:41 | in : ListIterator [] : String | Test.java:2498:10:2498:48 | chainedIterator(...) : Iterator [] : String | provenance | MaD:529 | +| Test.java:2499:20:2499:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:2499:20:2499:22 | out : Iterator [] : String | Test.java:2499:9:2499:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2504:18:2504:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2505:46:2505:47 | in : ListIterator [] : String | provenance | | +| Test.java:2504:45:2504:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2504:45:2504:60 | (...)... : String | Test.java:2504:18:2504:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2504:53:2504:60 | source(...) : Object | Test.java:2504:45:2504:60 | (...)... : String | provenance | | +| Test.java:2505:10:2505:48 | chainedIterator(...) : Iterator [] : String | Test.java:2506:20:2506:22 | out : Iterator [] : String | provenance | | +| Test.java:2505:46:2505:47 | in : ListIterator [] : String | Test.java:2505:10:2505:48 | chainedIterator(...) : Iterator [] : String | provenance | MaD:530 | +| Test.java:2506:20:2506:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:2506:20:2506:22 | out : Iterator [] : String | Test.java:2506:9:2506:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2511:20:2511:79 | newVectorWithElement(...) : Vector [, ] : String | Test.java:2512:59:2512:60 | in : Vector [, ] : String | provenance | | +| Test.java:2511:41:2511:78 | newVectorWithElement(...) : Vector [] : String | Test.java:270:47:270:65 | element : Vector [] : String | provenance | | +| Test.java:2511:41:2511:78 | newVectorWithElement(...) : Vector [] : String | Test.java:2511:20:2511:79 | newVectorWithElement(...) : Vector [, ] : String | provenance | MaD:2 | +| Test.java:2511:62:2511:77 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2511:62:2511:77 | (...)... : String | Test.java:2511:41:2511:78 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2511:70:2511:77 | source(...) : Object | Test.java:2511:62:2511:77 | (...)... : String | provenance | | +| Test.java:2512:10:2512:61 | collatedIterator(...) : Iterator [] : String | Test.java:2513:20:2513:22 | out : Iterator [] : String | provenance | | +| Test.java:2512:59:2512:60 | in : Vector [, ] : String | Test.java:2512:10:2512:61 | collatedIterator(...) : Iterator [] : String | provenance | MaD:531 | +| Test.java:2513:20:2513:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:2513:20:2513:22 | out : Iterator [] : String | Test.java:2513:9:2513:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2518:18:2518:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2519:59:2519:60 | in : ListIterator [] : String | provenance | | +| Test.java:2518:45:2518:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2518:45:2518:60 | (...)... : String | Test.java:2518:18:2518:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2518:53:2518:60 | source(...) : Object | Test.java:2518:45:2518:60 | (...)... : String | provenance | | +| Test.java:2519:10:2519:61 | collatedIterator(...) : Iterator [] : String | Test.java:2520:20:2520:22 | out : Iterator [] : String | provenance | | +| Test.java:2519:10:2519:61 | new ..[] { .. } : Iterator[] [[], ] : String | Test.java:2519:10:2519:61 | collatedIterator(...) : Iterator [] : String | provenance | MaD:534 | +| Test.java:2519:59:2519:60 | in : ListIterator [] : String | Test.java:2519:10:2519:61 | new ..[] { .. } : Iterator[] [[], ] : String | provenance | | +| Test.java:2520:20:2520:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:2520:20:2520:22 | out : Iterator [] : String | Test.java:2520:9:2520:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2525:18:2525:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2526:47:2526:48 | in : ListIterator [] : String | provenance | | +| Test.java:2525:45:2525:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2525:45:2525:60 | (...)... : String | Test.java:2525:18:2525:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2525:53:2525:60 | source(...) : Object | Test.java:2525:45:2525:60 | (...)... : String | provenance | | +| Test.java:2526:10:2526:55 | collatedIterator(...) : Iterator [] : String | Test.java:2527:20:2527:22 | out : Iterator [] : String | provenance | | +| Test.java:2526:47:2526:48 | in : ListIterator [] : String | Test.java:2526:10:2526:55 | collatedIterator(...) : Iterator [] : String | provenance | MaD:532 | +| Test.java:2527:20:2527:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:2527:20:2527:22 | out : Iterator [] : String | Test.java:2527:9:2527:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2532:18:2532:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2533:53:2533:54 | in : ListIterator [] : String | provenance | | +| Test.java:2532:45:2532:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2532:45:2532:60 | (...)... : String | Test.java:2532:18:2532:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2532:53:2532:60 | source(...) : Object | Test.java:2532:45:2532:60 | (...)... : String | provenance | | +| Test.java:2533:10:2533:55 | collatedIterator(...) : Iterator [] : String | Test.java:2534:20:2534:22 | out : Iterator [] : String | provenance | | +| Test.java:2533:53:2533:54 | in : ListIterator [] : String | Test.java:2533:10:2533:55 | collatedIterator(...) : Iterator [] : String | provenance | MaD:533 | +| Test.java:2534:20:2534:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:2534:20:2534:22 | out : Iterator [] : String | Test.java:2534:9:2534:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2539:18:2539:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2540:41:2540:42 | in : ListIterator [] : String | provenance | | +| Test.java:2539:45:2539:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2539:45:2539:60 | (...)... : String | Test.java:2539:18:2539:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2539:53:2539:60 | source(...) : Object | Test.java:2539:45:2539:60 | (...)... : String | provenance | | +| Test.java:2540:10:2540:49 | filteredIterator(...) : Iterator [] : String | Test.java:2541:20:2541:22 | out : Iterator [] : String | provenance | | +| Test.java:2540:41:2540:42 | in : ListIterator [] : String | Test.java:2540:10:2540:49 | filteredIterator(...) : Iterator [] : String | provenance | MaD:535 | +| Test.java:2541:20:2541:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:2541:20:2541:22 | out : Iterator [] : String | Test.java:2541:9:2541:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2546:22:2546:65 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2547:45:2547:46 | in : ListIterator [] : String | provenance | | +| Test.java:2546:49:2546:64 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2546:49:2546:64 | (...)... : String | Test.java:2546:22:2546:65 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2546:57:2546:64 | source(...) : Object | Test.java:2546:49:2546:64 | (...)... : String | provenance | | +| Test.java:2547:10:2547:53 | filteredListIterator(...) : ListIterator [] : String | Test.java:2548:20:2548:22 | out : ListIterator [] : String | provenance | | +| Test.java:2547:45:2547:46 | in : ListIterator [] : String | Test.java:2547:10:2547:53 | filteredListIterator(...) : ListIterator [] : String | provenance | MaD:536 | +| Test.java:2548:20:2548:22 | out : ListIterator [] : String | Test.java:231:19:231:32 | it : ListIterator [] : String | provenance | | +| Test.java:2548:20:2548:22 | out : ListIterator [] : String | Test.java:2548:9:2548:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2553:18:2553:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2554:29:2554:30 | in : ListIterator [] : String | provenance | | +| Test.java:2553:45:2553:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2553:45:2553:60 | (...)... : String | Test.java:2553:18:2553:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2553:53:2553:60 | source(...) : Object | Test.java:2553:45:2553:60 | (...)... : String | provenance | | +| Test.java:2554:10:2554:37 | find(...) : String | Test.java:2555:9:2555:11 | out | provenance | | +| Test.java:2554:29:2554:30 | in : ListIterator [] : String | Test.java:2554:10:2554:37 | find(...) : String | provenance | MaD:537 | +| Test.java:2560:18:2560:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2561:30:2561:31 | in : ListIterator [] : String | provenance | | +| Test.java:2560:45:2560:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2560:45:2560:60 | (...)... : String | Test.java:2560:18:2560:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2560:53:2560:60 | source(...) : Object | Test.java:2560:45:2560:60 | (...)... : String | provenance | | +| Test.java:2561:10:2561:32 | first(...) : String | Test.java:2562:9:2562:11 | out | provenance | | +| Test.java:2561:30:2561:31 | in : ListIterator [] : String | Test.java:2561:10:2561:32 | first(...) : String | provenance | MaD:538 | +| Test.java:2567:18:2567:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2568:39:2568:40 | in : ListIterator [] : String | provenance | | +| Test.java:2567:45:2567:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2567:45:2567:60 | (...)... : String | Test.java:2567:18:2567:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2567:53:2567:60 | source(...) : Object | Test.java:2567:45:2567:60 | (...)... : String | provenance | | +| Test.java:2568:10:2568:47 | forEachButLast(...) : String | Test.java:2569:9:2569:11 | out | provenance | | +| Test.java:2568:39:2568:40 | in : ListIterator [] : String | Test.java:2568:10:2568:47 | forEachButLast(...) : String | provenance | MaD:539 | +| Test.java:2574:18:2574:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2575:28:2575:29 | in : ListIterator [] : String | provenance | | +| Test.java:2574:45:2574:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2574:45:2574:60 | (...)... : String | Test.java:2574:18:2574:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2574:53:2574:60 | source(...) : Object | Test.java:2574:45:2574:60 | (...)... : String | provenance | | +| Test.java:2575:10:2575:33 | get(...) : String | Test.java:2576:9:2576:11 | out | provenance | | +| Test.java:2575:28:2575:29 | in : ListIterator [] : String | Test.java:2575:10:2575:33 | get(...) : String | provenance | MaD:540 | +| Test.java:2581:16:2581:23 | source(...) : Object | Test.java:2582:36:2582:37 | in : Object | provenance | | +| Test.java:2582:10:2582:38 | getIterator(...) : Iterator [] : Object | Test.java:2583:20:2583:22 | out : Iterator [] : Object | provenance | | +| Test.java:2582:36:2582:37 | in : Object | Test.java:2582:10:2582:38 | getIterator(...) : Iterator [] : Object | provenance | MaD:541 | +| Test.java:2582:36:2582:37 | in : Object | Test.java:2582:10:2582:38 | getIterator(...) : Iterator [] : Object | provenance | MaD:542 | +| Test.java:2582:36:2582:37 | in : Object | Test.java:2582:10:2582:38 | getIterator(...) : Iterator [] : Object | provenance | MaD:543 | +| Test.java:2582:36:2582:37 | in : Object | Test.java:2582:10:2582:38 | getIterator(...) : Iterator [] : Object | provenance | MaD:544 | +| Test.java:2583:20:2583:22 | out : Iterator [] : Object | Test.java:231:19:231:32 | it : Iterator [] : Object | provenance | | +| Test.java:2583:20:2583:22 | out : Iterator [] : Object | Test.java:2583:9:2583:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2588:16:2588:52 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:2589:36:2589:37 | in : Object[] [[]] : String | provenance | | +| Test.java:2588:36:2588:51 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:2588:36:2588:51 | (...)... : String | Test.java:2588:16:2588:52 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:2588:44:2588:51 | source(...) : Object | Test.java:2588:36:2588:51 | (...)... : String | provenance | | +| Test.java:2589:10:2589:38 | getIterator(...) : Iterator [] : String | Test.java:2590:20:2590:22 | out : Iterator [] : String | provenance | | +| Test.java:2589:36:2589:37 | in : Object[] [[]] : String | Test.java:2589:10:2589:38 | getIterator(...) : Iterator [] : String | provenance | MaD:542 | +| Test.java:2590:20:2590:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:2590:20:2590:22 | out : Iterator [] : String | Test.java:2590:9:2590:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2595:16:2595:53 | newVectorWithElement(...) : Vector [] : String | Test.java:2596:36:2596:37 | in : Vector [] : String | provenance | | +| Test.java:2595:37:2595:52 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2595:37:2595:52 | (...)... : String | Test.java:2595:16:2595:53 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2595:45:2595:52 | source(...) : Object | Test.java:2595:37:2595:52 | (...)... : String | provenance | | +| Test.java:2596:10:2596:38 | getIterator(...) : Iterator [] : String | Test.java:2597:20:2597:22 | out : Iterator [] : String | provenance | | +| Test.java:2596:36:2596:37 | in : Vector [] : String | Test.java:2596:10:2596:38 | getIterator(...) : Iterator [] : String | provenance | MaD:543 | +| Test.java:2597:20:2597:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:2597:20:2597:22 | out : Iterator [] : String | Test.java:2597:9:2597:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2602:13:2602:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:2603:36:2603:37 | in : TreeMap [] : String | provenance | | +| Test.java:2602:36:2602:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:2602:36:2602:51 | (...)... : String | Test.java:2602:13:2602:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:2602:44:2602:51 | source(...) : Object | Test.java:2602:36:2602:51 | (...)... : String | provenance | | +| Test.java:2603:10:2603:38 | getIterator(...) : Iterator [] : String | Test.java:2604:20:2604:22 | out : Iterator [] : String | provenance | | +| Test.java:2603:36:2603:37 | in : TreeMap [] : String | Test.java:2603:10:2603:38 | getIterator(...) : Iterator [] : String | provenance | MaD:544 | +| Test.java:2604:20:2604:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:2604:20:2604:22 | out : Iterator [] : String | Test.java:2604:9:2604:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2609:20:2609:57 | newVectorWithElement(...) : Vector [] : String | Test.java:2610:40:2610:41 | in : Vector [] : String | provenance | | +| Test.java:2609:41:2609:56 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2609:41:2609:56 | (...)... : String | Test.java:2609:20:2609:57 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2609:49:2609:56 | source(...) : Object | Test.java:2609:41:2609:56 | (...)... : String | provenance | | +| Test.java:2610:10:2610:42 | loopingIterator(...) : ResettableIterator [] : String | Test.java:2611:20:2611:22 | out : ResettableIterator [] : String | provenance | | +| Test.java:2610:40:2610:41 | in : Vector [] : String | Test.java:2610:10:2610:42 | loopingIterator(...) : ResettableIterator [] : String | provenance | MaD:545 | +| Test.java:2611:20:2611:22 | out : ResettableIterator [] : String | Test.java:231:19:231:32 | it : ResettableIterator [] : String | provenance | | +| Test.java:2611:20:2611:22 | out : ResettableIterator [] : String | Test.java:2611:9:2611:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2616:14:2616:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2617:44:2617:45 | in : Vector [] : String | provenance | | +| Test.java:2616:35:2616:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2616:35:2616:50 | (...)... : String | Test.java:2616:14:2616:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2616:43:2616:50 | source(...) : Object | Test.java:2616:35:2616:50 | (...)... : String | provenance | | +| Test.java:2617:10:2617:46 | loopingListIterator(...) : ResettableListIterator [] : String | Test.java:2618:20:2618:22 | out : ResettableListIterator [] : String | provenance | | +| Test.java:2617:44:2617:45 | in : Vector [] : String | Test.java:2617:10:2617:46 | loopingListIterator(...) : ResettableListIterator [] : String | provenance | MaD:546 | +| Test.java:2618:20:2618:22 | out : ResettableListIterator [] : String | Test.java:231:19:231:32 | it : ResettableListIterator [] : String | provenance | | +| Test.java:2618:20:2618:22 | out : ResettableListIterator [] : String | Test.java:2618:9:2618:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2623:18:2623:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2624:40:2624:41 | in : ListIterator [] : String | provenance | | +| Test.java:2623:45:2623:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2623:45:2623:60 | (...)... : String | Test.java:2623:18:2623:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2623:53:2623:60 | source(...) : Object | Test.java:2623:45:2623:60 | (...)... : String | provenance | | +| Test.java:2624:10:2624:42 | peekingIterator(...) : Iterator [] : String | Test.java:2625:20:2625:22 | out : Iterator [] : String | provenance | | +| Test.java:2624:40:2624:41 | in : ListIterator [] : String | Test.java:2624:10:2624:42 | peekingIterator(...) : Iterator [] : String | provenance | MaD:547 | +| Test.java:2625:20:2625:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:2625:20:2625:22 | out : Iterator [] : String | Test.java:2625:9:2625:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2630:18:2630:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2631:41:2631:42 | in : ListIterator [] : String | provenance | | +| Test.java:2630:45:2630:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2630:45:2630:60 | (...)... : String | Test.java:2630:18:2630:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2630:53:2630:60 | source(...) : Object | Test.java:2630:45:2630:60 | (...)... : String | provenance | | +| Test.java:2631:10:2631:43 | pushbackIterator(...) : Iterator [] : String | Test.java:2632:20:2632:22 | out : Iterator [] : String | provenance | | +| Test.java:2631:41:2631:42 | in : ListIterator [] : String | Test.java:2631:10:2631:43 | pushbackIterator(...) : Iterator [] : String | provenance | MaD:548 | +| Test.java:2632:20:2632:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:2632:20:2632:22 | out : Iterator [] : String | Test.java:2632:9:2632:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2637:16:2637:23 | source(...) : Object | Test.java:2638:42:2638:43 | in : Object | provenance | | +| Test.java:2638:10:2638:44 | singletonIterator(...) : ResettableIterator [] : Object | Test.java:2639:20:2639:22 | out : ResettableIterator [] : Object | provenance | | +| Test.java:2638:42:2638:43 | in : Object | Test.java:2638:10:2638:44 | singletonIterator(...) : ResettableIterator [] : Object | provenance | MaD:549 | +| Test.java:2639:20:2639:22 | out : ResettableIterator [] : Object | Test.java:231:19:231:32 | it : ResettableIterator [] : Object | provenance | | +| Test.java:2639:20:2639:22 | out : ResettableIterator [] : Object | Test.java:2639:9:2639:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2644:16:2644:23 | source(...) : Object | Test.java:2645:46:2645:47 | in : Object | provenance | | +| Test.java:2645:10:2645:48 | singletonListIterator(...) : ListIterator [] : Object | Test.java:2646:20:2646:22 | out : ListIterator [] : Object | provenance | | +| Test.java:2645:46:2645:47 | in : Object | Test.java:2645:10:2645:48 | singletonListIterator(...) : ListIterator [] : Object | provenance | MaD:550 | +| Test.java:2646:20:2646:22 | out : ListIterator [] : Object | Test.java:231:19:231:32 | it : ListIterator [] : Object | provenance | | +| Test.java:2646:20:2646:22 | out : ListIterator [] : Object | Test.java:2646:9:2646:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2651:18:2651:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2652:41:2652:42 | in : ListIterator [] : String | provenance | | +| Test.java:2651:45:2651:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2651:45:2651:60 | (...)... : String | Test.java:2651:18:2651:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2651:53:2651:60 | source(...) : Object | Test.java:2651:45:2651:60 | (...)... : String | provenance | | +| Test.java:2652:10:2652:47 | skippingIterator(...) : SkippingIterator [] : String | Test.java:2653:20:2653:22 | out : SkippingIterator [] : String | provenance | | +| Test.java:2652:41:2652:42 | in : ListIterator [] : String | Test.java:2652:10:2652:47 | skippingIterator(...) : SkippingIterator [] : String | provenance | MaD:551 | +| Test.java:2653:20:2653:22 | out : SkippingIterator [] : String | Test.java:231:19:231:32 | it : SkippingIterator [] : String | provenance | | +| Test.java:2653:20:2653:22 | out : SkippingIterator [] : String | Test.java:2653:9:2653:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2658:18:2658:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2659:32:2659:33 | in : ListIterator [] : String | provenance | | +| Test.java:2658:45:2658:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2658:45:2658:60 | (...)... : String | Test.java:2658:18:2658:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2658:53:2658:60 | source(...) : Object | Test.java:2658:45:2658:60 | (...)... : String | provenance | | +| Test.java:2659:10:2659:40 | toArray(...) : Object[] [[]] : String | Test.java:2660:25:2660:27 | out : Object[] [[]] : String | provenance | | +| Test.java:2659:32:2659:33 | in : ListIterator [] : String | Test.java:2659:10:2659:40 | toArray(...) : Object[] [[]] : String | provenance | MaD:552 | +| Test.java:2660:25:2660:27 | out : Object[] [[]] : String | Test.java:229:24:229:32 | array : Object[] [[]] : String | provenance | | +| Test.java:2660:25:2660:27 | out : Object[] [[]] : String | Test.java:2660:9:2660:28 | getArrayElement(...) | provenance | | +| Test.java:2665:18:2665:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2666:32:2666:33 | in : ListIterator [] : String | provenance | | +| Test.java:2665:45:2665:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2665:45:2665:60 | (...)... : String | Test.java:2665:18:2665:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2665:53:2665:60 | source(...) : Object | Test.java:2665:45:2665:60 | (...)... : String | provenance | | +| Test.java:2666:10:2666:34 | toArray(...) : Object[] [[]] : String | Test.java:2667:25:2667:27 | out : Object[] [[]] : String | provenance | | +| Test.java:2666:32:2666:33 | in : ListIterator [] : String | Test.java:2666:10:2666:34 | toArray(...) : Object[] [[]] : String | provenance | MaD:552 | +| Test.java:2667:25:2667:27 | out : Object[] [[]] : String | Test.java:229:24:229:32 | array : Object[] [[]] : String | provenance | | +| Test.java:2667:25:2667:27 | out : Object[] [[]] : String | Test.java:2667:9:2667:28 | getArrayElement(...) | provenance | | +| Test.java:2672:18:2672:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2673:31:2673:32 | in : ListIterator [] : String | provenance | | +| Test.java:2672:45:2672:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2672:45:2672:60 | (...)... : String | Test.java:2672:18:2672:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2672:53:2672:60 | source(...) : Object | Test.java:2672:45:2672:60 | (...)... : String | provenance | | +| Test.java:2673:10:2673:36 | toList(...) : List [] : String | Test.java:2674:20:2674:22 | out : List [] : String | provenance | | +| Test.java:2673:31:2673:32 | in : ListIterator [] : String | Test.java:2673:10:2673:36 | toList(...) : List [] : String | provenance | MaD:553 | +| Test.java:2674:20:2674:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2674:20:2674:22 | out : List [] : String | Test.java:2674:9:2674:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2679:18:2679:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2680:31:2680:32 | in : ListIterator [] : String | provenance | | +| Test.java:2679:45:2679:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2679:45:2679:60 | (...)... : String | Test.java:2679:18:2679:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2679:53:2679:60 | source(...) : Object | Test.java:2679:45:2679:60 | (...)... : String | provenance | | +| Test.java:2680:10:2680:33 | toList(...) : List [] : String | Test.java:2681:20:2681:22 | out : List [] : String | provenance | | +| Test.java:2680:31:2680:32 | in : ListIterator [] : String | Test.java:2680:10:2680:33 | toList(...) : List [] : String | provenance | MaD:553 | +| Test.java:2681:20:2681:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2681:20:2681:22 | out : List [] : String | Test.java:2681:9:2681:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2686:18:2686:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2687:39:2687:40 | in : ListIterator [] : String | provenance | | +| Test.java:2686:45:2686:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2686:45:2686:60 | (...)... : String | Test.java:2686:18:2686:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2686:53:2686:60 | source(...) : Object | Test.java:2686:45:2686:60 | (...)... : String | provenance | | +| Test.java:2687:10:2687:41 | toListIterator(...) : ListIterator [] : String | Test.java:2688:20:2688:22 | out : ListIterator [] : String | provenance | | +| Test.java:2687:39:2687:40 | in : ListIterator [] : String | Test.java:2687:10:2687:41 | toListIterator(...) : ListIterator [] : String | provenance | MaD:554 | +| Test.java:2688:20:2688:22 | out : ListIterator [] : String | Test.java:231:19:231:32 | it : ListIterator [] : String | provenance | | +| Test.java:2688:20:2688:22 | out : ListIterator [] : String | Test.java:2688:9:2688:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2693:16:2693:31 | (...)... : String | Test.java:2694:45:2694:46 | in : String | provenance | | +| Test.java:2693:24:2693:31 | source(...) : Object | Test.java:2693:16:2693:31 | (...)... : String | provenance | | +| Test.java:2694:10:2694:59 | toString(...) : String | Test.java:2695:9:2695:11 | out | provenance | | +| Test.java:2694:45:2694:46 | in : String | Test.java:2694:10:2694:59 | toString(...) : String | provenance | MaD:555 | +| Test.java:2700:16:2700:31 | (...)... : String | Test.java:2701:51:2701:52 | in : String | provenance | | +| Test.java:2700:24:2700:31 | source(...) : Object | Test.java:2700:16:2700:31 | (...)... : String | provenance | | +| Test.java:2701:10:2701:59 | toString(...) : String | Test.java:2702:9:2702:11 | out | provenance | | +| Test.java:2701:51:2701:52 | in : String | Test.java:2701:10:2701:59 | toString(...) : String | provenance | MaD:556 | +| Test.java:2707:16:2707:31 | (...)... : String | Test.java:2708:57:2708:58 | in : String | provenance | | +| Test.java:2707:24:2707:31 | source(...) : Object | Test.java:2707:16:2707:31 | (...)... : String | provenance | | +| Test.java:2708:10:2708:59 | toString(...) : String | Test.java:2709:9:2709:11 | out | provenance | | +| Test.java:2708:57:2708:58 | in : String | Test.java:2708:10:2708:59 | toString(...) : String | provenance | MaD:557 | +| Test.java:2714:18:2714:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2715:45:2715:46 | in : ListIterator [] : String | provenance | | +| Test.java:2714:45:2714:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2714:45:2714:60 | (...)... : String | Test.java:2714:18:2714:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2714:53:2714:60 | source(...) : Object | Test.java:2714:45:2714:60 | (...)... : String | provenance | | +| Test.java:2715:10:2715:47 | unmodifiableIterator(...) : Iterator [] : String | Test.java:2716:20:2716:22 | out : Iterator [] : String | provenance | | +| Test.java:2715:45:2715:46 | in : ListIterator [] : String | Test.java:2715:10:2715:47 | unmodifiableIterator(...) : Iterator [] : String | provenance | MaD:558 | +| Test.java:2716:20:2716:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:2716:20:2716:22 | out : Iterator [] : String | Test.java:2716:9:2716:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2721:22:2721:65 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2722:49:2722:50 | in : ListIterator [] : String | provenance | | +| Test.java:2721:49:2721:64 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2721:49:2721:64 | (...)... : String | Test.java:2721:22:2721:65 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2721:57:2721:64 | source(...) : Object | Test.java:2721:49:2721:64 | (...)... : String | provenance | | +| Test.java:2722:10:2722:51 | unmodifiableListIterator(...) : ListIterator [] : String | Test.java:2723:20:2723:22 | out : ListIterator [] : String | provenance | | +| Test.java:2722:49:2722:50 | in : ListIterator [] : String | Test.java:2722:10:2722:51 | unmodifiableListIterator(...) : ListIterator [] : String | provenance | MaD:559 | +| Test.java:2723:20:2723:22 | out : ListIterator [] : String | Test.java:231:19:231:32 | it : ListIterator [] : String | provenance | | +| Test.java:2723:20:2723:22 | out : ListIterator [] : String | Test.java:2723:9:2723:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2728:21:2728:55 | newOMIWithElement(...) : OrderedMapIterator [] : String | Test.java:2729:48:2729:49 | in : OrderedMapIterator [] : String | provenance | | +| Test.java:2728:39:2728:54 | (...)... : String | Test.java:283:53:283:57 | key : String | provenance | | +| Test.java:2728:39:2728:54 | (...)... : String | Test.java:2728:21:2728:55 | newOMIWithElement(...) : OrderedMapIterator [] : String | provenance | MaD:14 | +| Test.java:2728:39:2728:54 | (...)... : String | Test.java:2728:21:2728:55 | newOMIWithElement(...) : OrderedMapIterator [] : String | provenance | MaD:705 | +| Test.java:2728:47:2728:54 | source(...) : Object | Test.java:2728:39:2728:54 | (...)... : String | provenance | | +| Test.java:2729:10:2729:50 | unmodifiableMapIterator(...) : MapIterator [] : String | Test.java:2730:20:2730:22 | out : MapIterator [] : String | provenance | | +| Test.java:2729:48:2729:49 | in : OrderedMapIterator [] : String | Test.java:2729:10:2729:50 | unmodifiableMapIterator(...) : MapIterator [] : String | provenance | MaD:560 | +| Test.java:2730:20:2730:22 | out : MapIterator [] : String | Test.java:231:19:231:32 | it : MapIterator [] : String | provenance | | +| Test.java:2730:20:2730:22 | out : MapIterator [] : String | Test.java:2730:9:2730:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2735:21:2735:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | Test.java:2736:48:2736:49 | in : OrderedMapIterator [] : String | provenance | | +| Test.java:2735:40:2735:55 | (...)... : String | Test.java:302:54:302:60 | value : String | provenance | | +| Test.java:2735:40:2735:55 | (...)... : String | Test.java:2735:21:2735:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | provenance | MaD:15 | +| Test.java:2735:40:2735:55 | (...)... : String | Test.java:2735:21:2735:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | provenance | MaD:706 | +| Test.java:2735:48:2735:55 | source(...) : Object | Test.java:2735:40:2735:55 | (...)... : String | provenance | | +| Test.java:2736:10:2736:50 | unmodifiableMapIterator(...) : MapIterator [] : String | Test.java:2737:21:2737:23 | out : MapIterator [] : String | provenance | | +| Test.java:2736:48:2736:49 | in : OrderedMapIterator [] : String | Test.java:2736:10:2736:50 | unmodifiableMapIterator(...) : MapIterator [] : String | provenance | MaD:561 | +| Test.java:2737:21:2737:23 | out : MapIterator [] : String | Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | provenance | | +| Test.java:2737:21:2737:23 | out : MapIterator [] : String | Test.java:2737:9:2737:24 | getMapValue(...) | provenance | MaD:598 | +| Test.java:2742:18:2742:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2743:40:2743:41 | in : ListIterator [] : String | provenance | | +| Test.java:2742:45:2742:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2742:45:2742:60 | (...)... : String | Test.java:2742:18:2742:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2742:53:2742:60 | source(...) : Object | Test.java:2742:45:2742:60 | (...)... : String | provenance | | +| Test.java:2743:10:2743:42 | new ..[] { .. } : Iterator[] [[], ] : String | Test.java:2743:10:2743:42 | zippingIterator(...) : ZippingIterator [] : String | provenance | MaD:567 | +| Test.java:2743:10:2743:42 | zippingIterator(...) : ZippingIterator [] : String | Test.java:2744:20:2744:22 | out : ZippingIterator [] : String | provenance | | +| Test.java:2743:40:2743:41 | in : ListIterator [] : String | Test.java:2743:10:2743:42 | new ..[] { .. } : Iterator[] [[], ] : String | provenance | | +| Test.java:2744:20:2744:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | provenance | | +| Test.java:2744:20:2744:22 | out : ZippingIterator [] : String | Test.java:2744:9:2744:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2749:18:2749:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2750:40:2750:41 | in : ListIterator [] : String | provenance | | +| Test.java:2749:45:2749:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2749:45:2749:60 | (...)... : String | Test.java:2749:18:2749:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2749:53:2749:60 | source(...) : Object | Test.java:2749:45:2749:60 | (...)... : String | provenance | | +| Test.java:2750:10:2750:48 | zippingIterator(...) : ZippingIterator [] : String | Test.java:2751:20:2751:22 | out : ZippingIterator [] : String | provenance | | +| Test.java:2750:40:2750:41 | in : ListIterator [] : String | Test.java:2750:10:2750:48 | zippingIterator(...) : ZippingIterator [] : String | provenance | MaD:562 | +| Test.java:2751:20:2751:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | provenance | | +| Test.java:2751:20:2751:22 | out : ZippingIterator [] : String | Test.java:2751:9:2751:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2756:18:2756:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2757:46:2757:47 | in : ListIterator [] : String | provenance | | +| Test.java:2756:45:2756:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2756:45:2756:60 | (...)... : String | Test.java:2756:18:2756:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2756:53:2756:60 | source(...) : Object | Test.java:2756:45:2756:60 | (...)... : String | provenance | | +| Test.java:2757:10:2757:48 | zippingIterator(...) : ZippingIterator [] : String | Test.java:2758:20:2758:22 | out : ZippingIterator [] : String | provenance | | +| Test.java:2757:46:2757:47 | in : ListIterator [] : String | Test.java:2757:10:2757:48 | zippingIterator(...) : ZippingIterator [] : String | provenance | MaD:563 | +| Test.java:2758:20:2758:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | provenance | | +| Test.java:2758:20:2758:22 | out : ZippingIterator [] : String | Test.java:2758:9:2758:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2763:18:2763:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2764:40:2764:41 | in : ListIterator [] : String | provenance | | +| Test.java:2763:45:2763:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2763:45:2763:60 | (...)... : String | Test.java:2763:18:2763:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2763:53:2763:60 | source(...) : Object | Test.java:2763:45:2763:60 | (...)... : String | provenance | | +| Test.java:2764:10:2764:54 | zippingIterator(...) : ZippingIterator [] : String | Test.java:2765:20:2765:22 | out : ZippingIterator [] : String | provenance | | +| Test.java:2764:40:2764:41 | in : ListIterator [] : String | Test.java:2764:10:2764:54 | zippingIterator(...) : ZippingIterator [] : String | provenance | MaD:564 | +| Test.java:2765:20:2765:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | provenance | | +| Test.java:2765:20:2765:22 | out : ZippingIterator [] : String | Test.java:2765:9:2765:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2770:18:2770:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2771:46:2771:47 | in : ListIterator [] : String | provenance | | +| Test.java:2770:45:2770:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2770:45:2770:60 | (...)... : String | Test.java:2770:18:2770:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2770:53:2770:60 | source(...) : Object | Test.java:2770:45:2770:60 | (...)... : String | provenance | | +| Test.java:2771:10:2771:54 | zippingIterator(...) : ZippingIterator [] : String | Test.java:2772:20:2772:22 | out : ZippingIterator [] : String | provenance | | +| Test.java:2771:46:2771:47 | in : ListIterator [] : String | Test.java:2771:10:2771:54 | zippingIterator(...) : ZippingIterator [] : String | provenance | MaD:565 | +| Test.java:2772:20:2772:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | provenance | | +| Test.java:2772:20:2772:22 | out : ZippingIterator [] : String | Test.java:2772:9:2772:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2777:18:2777:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:2778:52:2778:53 | in : ListIterator [] : String | provenance | | +| Test.java:2777:45:2777:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:2777:45:2777:60 | (...)... : String | Test.java:2777:18:2777:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:2777:53:2777:60 | source(...) : Object | Test.java:2777:45:2777:60 | (...)... : String | provenance | | +| Test.java:2778:10:2778:54 | zippingIterator(...) : ZippingIterator [] : String | Test.java:2779:20:2779:22 | out : ZippingIterator [] : String | provenance | | +| Test.java:2778:52:2778:53 | in : ListIterator [] : String | Test.java:2778:10:2778:54 | zippingIterator(...) : ZippingIterator [] : String | provenance | MaD:566 | +| Test.java:2779:20:2779:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | provenance | | +| Test.java:2779:20:2779:22 | out : ZippingIterator [] : String | Test.java:2779:9:2779:23 | getElement(...) | provenance | MaD:4 | +| Test.java:2784:14:2784:27 | (...)... : List | Test.java:2785:34:2785:35 | in : List | provenance | | +| Test.java:2784:20:2784:27 | source(...) : Object | Test.java:2784:14:2784:27 | (...)... : List | provenance | | +| Test.java:2785:10:2785:42 | defaultIfNull(...) : List | Test.java:2786:9:2786:11 | out | provenance | | +| Test.java:2785:34:2785:35 | in : List | Test.java:2785:10:2785:42 | defaultIfNull(...) : List | provenance | MaD:570 | +| Test.java:2791:14:2791:27 | (...)... : List | Test.java:2792:40:2792:41 | in : List | provenance | | +| Test.java:2791:20:2791:27 | source(...) : Object | Test.java:2791:14:2791:27 | (...)... : List | provenance | | +| Test.java:2792:10:2792:42 | defaultIfNull(...) : List | Test.java:2793:9:2793:11 | out | provenance | | +| Test.java:2792:40:2792:41 | in : List | Test.java:2792:10:2792:42 | defaultIfNull(...) : List | provenance | MaD:571 | +| Test.java:2798:14:2798:27 | (...)... : List | Test.java:2799:32:2799:33 | in : List | provenance | | +| Test.java:2798:20:2798:27 | source(...) : Object | Test.java:2798:14:2798:27 | (...)... : List | provenance | | +| Test.java:2799:10:2799:34 | emptyIfNull(...) : List | Test.java:2800:9:2800:11 | out | provenance | | +| Test.java:2799:32:2799:33 | in : List | Test.java:2799:10:2799:34 | emptyIfNull(...) : List | provenance | MaD:572 | +| Test.java:2805:14:2805:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2806:34:2806:35 | in : Vector [] : String | provenance | | +| Test.java:2805:35:2805:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2805:35:2805:50 | (...)... : String | Test.java:2805:14:2805:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2805:43:2805:50 | source(...) : Object | Test.java:2805:35:2805:50 | (...)... : String | provenance | | +| Test.java:2806:10:2806:36 | fixedSizeList(...) : List [] : String | Test.java:2807:20:2807:22 | out : List [] : String | provenance | | +| Test.java:2806:34:2806:35 | in : Vector [] : String | Test.java:2806:10:2806:36 | fixedSizeList(...) : List [] : String | provenance | MaD:573 | +| Test.java:2807:20:2807:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2807:20:2807:22 | out : List [] : String | Test.java:2807:9:2807:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2812:14:2812:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2813:33:2813:34 | in : Vector [] : String | provenance | | +| Test.java:2812:35:2812:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2812:35:2812:50 | (...)... : String | Test.java:2812:14:2812:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2812:43:2812:50 | source(...) : Object | Test.java:2812:35:2812:50 | (...)... : String | provenance | | +| Test.java:2813:10:2813:41 | intersection(...) : List [] : String | Test.java:2814:20:2814:22 | out : List [] : String | provenance | | +| Test.java:2813:33:2813:34 | in : Vector [] : String | Test.java:2813:10:2813:41 | intersection(...) : List [] : String | provenance | MaD:574 | +| Test.java:2814:20:2814:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2814:20:2814:22 | out : List [] : String | Test.java:2814:9:2814:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2819:14:2819:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2820:39:2820:40 | in : Vector [] : String | provenance | | +| Test.java:2819:35:2819:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2819:35:2819:50 | (...)... : String | Test.java:2819:14:2819:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2819:43:2819:50 | source(...) : Object | Test.java:2819:35:2819:50 | (...)... : String | provenance | | +| Test.java:2820:10:2820:41 | intersection(...) : List [] : String | Test.java:2821:20:2821:22 | out : List [] : String | provenance | | +| Test.java:2820:39:2820:40 | in : Vector [] : String | Test.java:2820:10:2820:41 | intersection(...) : List [] : String | provenance | MaD:575 | +| Test.java:2821:20:2821:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2821:20:2821:22 | out : List [] : String | Test.java:2821:9:2821:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2826:14:2826:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2827:29:2827:30 | in : Vector [] : String | provenance | | +| Test.java:2826:35:2826:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2826:35:2826:50 | (...)... : String | Test.java:2826:14:2826:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2826:43:2826:50 | source(...) : Object | Test.java:2826:35:2826:50 | (...)... : String | provenance | | +| Test.java:2827:10:2827:50 | lazyList(...) : List [] : String | Test.java:2828:20:2828:22 | out : List [] : String | provenance | | +| Test.java:2827:29:2827:30 | in : Vector [] : String | Test.java:2827:10:2827:50 | lazyList(...) : List [] : String | provenance | MaD:576 | +| Test.java:2828:20:2828:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2828:20:2828:22 | out : List [] : String | Test.java:2828:9:2828:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2833:14:2833:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2834:29:2834:30 | in : Vector [] : String | provenance | | +| Test.java:2833:35:2833:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2833:35:2833:50 | (...)... : String | Test.java:2833:14:2833:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2833:43:2833:50 | source(...) : Object | Test.java:2833:35:2833:50 | (...)... : String | provenance | | +| Test.java:2834:10:2834:46 | lazyList(...) : List [] : String | Test.java:2835:20:2835:22 | out : List [] : String | provenance | | +| Test.java:2834:29:2834:30 | in : Vector [] : String | Test.java:2834:10:2834:46 | lazyList(...) : List [] : String | provenance | MaD:576 | +| Test.java:2835:20:2835:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2835:20:2835:22 | out : List [] : String | Test.java:2835:9:2835:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2840:22:2840:43 | (...)... : CharSequence | Test.java:2841:45:2841:46 | in : CharSequence | provenance | | +| Test.java:2840:36:2840:43 | source(...) : Object | Test.java:2840:22:2840:43 | (...)... : CharSequence | provenance | | +| Test.java:2841:10:2841:67 | longestCommonSubsequence(...) : String | Test.java:2842:9:2842:11 | out | provenance | | +| Test.java:2841:45:2841:46 | in : CharSequence | Test.java:2841:10:2841:67 | longestCommonSubsequence(...) : String | provenance | MaD:577 | +| Test.java:2847:22:2847:43 | (...)... : CharSequence | Test.java:2848:65:2848:66 | in : CharSequence | provenance | | +| Test.java:2847:36:2847:43 | source(...) : Object | Test.java:2847:22:2847:43 | (...)... : CharSequence | provenance | | +| Test.java:2848:10:2848:67 | longestCommonSubsequence(...) : String | Test.java:2849:9:2849:11 | out | provenance | | +| Test.java:2848:65:2848:66 | in : CharSequence | Test.java:2848:10:2848:67 | longestCommonSubsequence(...) : String | provenance | MaD:578 | +| Test.java:2854:14:2854:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2855:45:2855:46 | in : Vector [] : String | provenance | | +| Test.java:2854:35:2854:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2854:35:2854:50 | (...)... : String | Test.java:2854:14:2854:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2854:43:2854:50 | source(...) : Object | Test.java:2854:35:2854:50 | (...)... : String | provenance | | +| Test.java:2855:10:2855:59 | longestCommonSubsequence(...) : List [] : String | Test.java:2856:20:2856:22 | out : List [] : String | provenance | | +| Test.java:2855:45:2855:46 | in : Vector [] : String | Test.java:2855:10:2855:59 | longestCommonSubsequence(...) : List [] : String | provenance | MaD:579 | +| Test.java:2856:20:2856:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2856:20:2856:22 | out : List [] : String | Test.java:2856:9:2856:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2861:14:2861:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2862:57:2862:58 | in : Vector [] : String | provenance | | +| Test.java:2861:35:2861:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2861:35:2861:50 | (...)... : String | Test.java:2861:14:2861:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2861:43:2861:50 | source(...) : Object | Test.java:2861:35:2861:50 | (...)... : String | provenance | | +| Test.java:2862:10:2862:59 | longestCommonSubsequence(...) : List [] : String | Test.java:2863:20:2863:22 | out : List [] : String | provenance | | +| Test.java:2862:57:2862:58 | in : Vector [] : String | Test.java:2862:10:2862:59 | longestCommonSubsequence(...) : List [] : String | provenance | MaD:580 | +| Test.java:2863:20:2863:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2863:20:2863:22 | out : List [] : String | Test.java:2863:9:2863:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2868:14:2868:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2869:45:2869:46 | in : Vector [] : String | provenance | | +| Test.java:2868:35:2868:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2868:35:2868:50 | (...)... : String | Test.java:2868:14:2868:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2868:43:2868:50 | source(...) : Object | Test.java:2868:35:2868:50 | (...)... : String | provenance | | +| Test.java:2869:10:2869:59 | longestCommonSubsequence(...) : List [] : String | Test.java:2870:20:2870:22 | out : List [] : String | provenance | | +| Test.java:2869:45:2869:46 | in : Vector [] : String | Test.java:2869:10:2869:59 | longestCommonSubsequence(...) : List [] : String | provenance | MaD:581 | +| Test.java:2870:20:2870:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2870:20:2870:22 | out : List [] : String | Test.java:2870:9:2870:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2875:14:2875:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2876:51:2876:52 | in : Vector [] : String | provenance | | +| Test.java:2875:35:2875:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2875:35:2875:50 | (...)... : String | Test.java:2875:14:2875:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2875:43:2875:50 | source(...) : Object | Test.java:2875:35:2875:50 | (...)... : String | provenance | | +| Test.java:2876:10:2876:59 | longestCommonSubsequence(...) : List [] : String | Test.java:2877:20:2877:22 | out : List [] : String | provenance | | +| Test.java:2876:51:2876:52 | in : Vector [] : String | Test.java:2876:10:2876:59 | longestCommonSubsequence(...) : List [] : String | provenance | MaD:582 | +| Test.java:2877:20:2877:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2877:20:2877:22 | out : List [] : String | Test.java:2877:9:2877:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2882:14:2882:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2883:30:2883:31 | in : Vector [] : String | provenance | | +| Test.java:2882:35:2882:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2882:35:2882:50 | (...)... : String | Test.java:2882:14:2882:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2882:43:2882:50 | source(...) : Object | Test.java:2882:35:2882:50 | (...)... : String | provenance | | +| Test.java:2883:10:2883:35 | partition(...) : List [, ] : String | Test.java:2884:41:2884:43 | out : List [, ] : String | provenance | | +| Test.java:2883:30:2883:31 | in : Vector [] : String | Test.java:2883:10:2883:35 | partition(...) : List [, ] : String | provenance | MaD:583 | +| Test.java:2884:20:2884:44 | (...)... : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | provenance | | +| Test.java:2884:20:2884:44 | (...)... : Iterable [] : String | Test.java:2884:9:2884:45 | getElement(...) | provenance | MaD:1 | +| Test.java:2884:30:2884:44 | getElement(...) : Object [] : String | Test.java:2884:20:2884:44 | (...)... : Iterable [] : String | provenance | | +| Test.java:2884:41:2884:43 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | provenance | | +| Test.java:2884:41:2884:43 | out : List [, ] : String | Test.java:2884:30:2884:44 | getElement(...) : Object [] : String | provenance | MaD:1 | +| Test.java:2889:14:2889:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2890:35:2890:36 | in : Vector [] : String | provenance | | +| Test.java:2889:35:2889:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2889:35:2889:50 | (...)... : String | Test.java:2889:14:2889:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2889:43:2889:50 | source(...) : Object | Test.java:2889:35:2889:50 | (...)... : String | provenance | | +| Test.java:2890:10:2890:43 | predicatedList(...) : List [] : String | Test.java:2891:20:2891:22 | out : List [] : String | provenance | | +| Test.java:2890:35:2890:36 | in : Vector [] : String | Test.java:2890:10:2890:43 | predicatedList(...) : List [] : String | provenance | MaD:584 | +| Test.java:2891:20:2891:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2891:20:2891:22 | out : List [] : String | Test.java:2891:9:2891:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2896:20:2896:57 | newVectorWithElement(...) : Vector [] : String | Test.java:2897:30:2897:31 | in : Vector [] : String | provenance | | +| Test.java:2896:41:2896:56 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2896:41:2896:56 | (...)... : String | Test.java:2896:20:2896:57 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2896:49:2896:56 | source(...) : Object | Test.java:2896:41:2896:56 | (...)... : String | provenance | | +| Test.java:2897:10:2897:38 | removeAll(...) : List [] : String | Test.java:2898:20:2898:22 | out : List [] : String | provenance | | +| Test.java:2897:30:2897:31 | in : Vector [] : String | Test.java:2897:10:2897:38 | removeAll(...) : List [] : String | provenance | MaD:585 | +| Test.java:2898:20:2898:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2898:20:2898:22 | out : List [] : String | Test.java:2898:9:2898:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2903:20:2903:57 | newVectorWithElement(...) : Vector [] : String | Test.java:2904:30:2904:31 | in : Vector [] : String | provenance | | +| Test.java:2903:41:2903:56 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2903:41:2903:56 | (...)... : String | Test.java:2903:20:2903:57 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2903:49:2903:56 | source(...) : Object | Test.java:2903:41:2903:56 | (...)... : String | provenance | | +| Test.java:2904:10:2904:38 | retainAll(...) : List [] : String | Test.java:2905:20:2905:22 | out : List [] : String | provenance | | +| Test.java:2904:30:2904:31 | in : Vector [] : String | Test.java:2904:10:2904:38 | retainAll(...) : List [] : String | provenance | MaD:586 | +| Test.java:2905:20:2905:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2905:20:2905:22 | out : List [] : String | Test.java:2905:9:2905:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2910:20:2910:57 | newVectorWithElement(...) : Vector [] : String | Test.java:2911:27:2911:28 | in : Vector [] : String | provenance | | +| Test.java:2910:41:2910:56 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2910:41:2910:56 | (...)... : String | Test.java:2910:20:2910:57 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2910:49:2910:56 | source(...) : Object | Test.java:2910:41:2910:56 | (...)... : String | provenance | | +| Test.java:2911:10:2911:35 | select(...) : List [] : String | Test.java:2912:20:2912:22 | out : List [] : String | provenance | | +| Test.java:2911:27:2911:28 | in : Vector [] : String | Test.java:2911:10:2911:35 | select(...) : List [] : String | provenance | MaD:587 | +| Test.java:2912:20:2912:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2912:20:2912:22 | out : List [] : String | Test.java:2912:9:2912:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2917:20:2917:57 | newVectorWithElement(...) : Vector [] : String | Test.java:2918:35:2918:36 | in : Vector [] : String | provenance | | +| Test.java:2917:41:2917:56 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2917:41:2917:56 | (...)... : String | Test.java:2917:20:2917:57 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2917:49:2917:56 | source(...) : Object | Test.java:2917:41:2917:56 | (...)... : String | provenance | | +| Test.java:2918:10:2918:43 | selectRejected(...) : List [] : String | Test.java:2919:20:2919:22 | out : List [] : String | provenance | | +| Test.java:2918:35:2918:36 | in : Vector [] : String | Test.java:2918:10:2918:43 | selectRejected(...) : List [] : String | provenance | MaD:588 | +| Test.java:2919:20:2919:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2919:20:2919:22 | out : List [] : String | Test.java:2919:9:2919:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2924:14:2924:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2925:29:2925:30 | in : Vector [] : String | provenance | | +| Test.java:2924:35:2924:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2924:35:2924:50 | (...)... : String | Test.java:2924:14:2924:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2924:43:2924:50 | source(...) : Object | Test.java:2924:35:2924:50 | (...)... : String | provenance | | +| Test.java:2925:10:2925:37 | subtract(...) : List [] : String | Test.java:2926:20:2926:22 | out : List [] : String | provenance | | +| Test.java:2925:29:2925:30 | in : Vector [] : String | Test.java:2925:10:2925:37 | subtract(...) : List [] : String | provenance | MaD:589 | +| Test.java:2926:20:2926:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2926:20:2926:22 | out : List [] : String | Test.java:2926:9:2926:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2931:14:2931:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2932:24:2932:25 | in : Vector [] : String | provenance | | +| Test.java:2931:35:2931:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2931:35:2931:50 | (...)... : String | Test.java:2931:14:2931:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2931:43:2931:50 | source(...) : Object | Test.java:2931:35:2931:50 | (...)... : String | provenance | | +| Test.java:2932:10:2932:32 | sum(...) : List [] : String | Test.java:2933:20:2933:22 | out : List [] : String | provenance | | +| Test.java:2932:24:2932:25 | in : Vector [] : String | Test.java:2932:10:2932:32 | sum(...) : List [] : String | provenance | MaD:590 | +| Test.java:2933:20:2933:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2933:20:2933:22 | out : List [] : String | Test.java:2933:9:2933:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2938:14:2938:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2939:30:2939:31 | in : Vector [] : String | provenance | | +| Test.java:2938:35:2938:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2938:35:2938:50 | (...)... : String | Test.java:2938:14:2938:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2938:43:2938:50 | source(...) : Object | Test.java:2938:35:2938:50 | (...)... : String | provenance | | +| Test.java:2939:10:2939:32 | sum(...) : List [] : String | Test.java:2940:20:2940:22 | out : List [] : String | provenance | | +| Test.java:2939:30:2939:31 | in : Vector [] : String | Test.java:2939:10:2939:32 | sum(...) : List [] : String | provenance | MaD:591 | +| Test.java:2940:20:2940:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2940:20:2940:22 | out : List [] : String | Test.java:2940:9:2940:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2945:14:2945:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2946:37:2946:38 | in : Vector [] : String | provenance | | +| Test.java:2945:35:2945:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2945:35:2945:50 | (...)... : String | Test.java:2945:14:2945:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2945:43:2945:50 | source(...) : Object | Test.java:2945:35:2945:50 | (...)... : String | provenance | | +| Test.java:2946:10:2946:39 | synchronizedList(...) : List [] : String | Test.java:2947:20:2947:22 | out : List [] : String | provenance | | +| Test.java:2946:37:2946:38 | in : Vector [] : String | Test.java:2946:10:2946:39 | synchronizedList(...) : List [] : String | provenance | MaD:592 | +| Test.java:2947:20:2947:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2947:20:2947:22 | out : List [] : String | Test.java:2947:9:2947:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2952:14:2952:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2953:36:2953:37 | in : Vector [] : String | provenance | | +| Test.java:2952:35:2952:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2952:35:2952:50 | (...)... : String | Test.java:2952:14:2952:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2952:43:2952:50 | source(...) : Object | Test.java:2952:35:2952:50 | (...)... : String | provenance | | +| Test.java:2953:10:2953:44 | transformedList(...) : List [] : String | Test.java:2954:20:2954:22 | out : List [] : String | provenance | | +| Test.java:2953:36:2953:37 | in : Vector [] : String | Test.java:2953:10:2953:44 | transformedList(...) : List [] : String | provenance | MaD:593 | +| Test.java:2954:20:2954:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2954:20:2954:22 | out : List [] : String | Test.java:2954:9:2954:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2959:14:2959:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2960:26:2960:27 | in : Vector [] : String | provenance | | +| Test.java:2959:35:2959:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2959:35:2959:50 | (...)... : String | Test.java:2959:14:2959:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2959:43:2959:50 | source(...) : Object | Test.java:2959:35:2959:50 | (...)... : String | provenance | | +| Test.java:2960:10:2960:34 | union(...) : List [] : String | Test.java:2961:20:2961:22 | out : List [] : String | provenance | | +| Test.java:2960:26:2960:27 | in : Vector [] : String | Test.java:2960:10:2960:34 | union(...) : List [] : String | provenance | MaD:594 | +| Test.java:2961:20:2961:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2961:20:2961:22 | out : List [] : String | Test.java:2961:9:2961:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2966:14:2966:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2967:32:2967:33 | in : Vector [] : String | provenance | | +| Test.java:2966:35:2966:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2966:35:2966:50 | (...)... : String | Test.java:2966:14:2966:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2966:43:2966:50 | source(...) : Object | Test.java:2966:35:2966:50 | (...)... : String | provenance | | +| Test.java:2967:10:2967:34 | union(...) : List [] : String | Test.java:2968:20:2968:22 | out : List [] : String | provenance | | +| Test.java:2967:32:2967:33 | in : Vector [] : String | Test.java:2967:10:2967:34 | union(...) : List [] : String | provenance | MaD:595 | +| Test.java:2968:20:2968:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2968:20:2968:22 | out : List [] : String | Test.java:2968:9:2968:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2973:14:2973:51 | newVectorWithElement(...) : Vector [] : String | Test.java:2974:37:2974:38 | in : Vector [] : String | provenance | | +| Test.java:2973:35:2973:50 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:2973:35:2973:50 | (...)... : String | Test.java:2973:14:2973:51 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:2973:43:2973:50 | source(...) : Object | Test.java:2973:35:2973:50 | (...)... : String | provenance | | +| Test.java:2974:10:2974:39 | unmodifiableList(...) : List [] : String | Test.java:2975:20:2975:22 | out : List [] : String | provenance | | +| Test.java:2974:37:2974:38 | in : Vector [] : String | Test.java:2974:10:2974:39 | unmodifiableList(...) : List [] : String | provenance | MaD:596 | +| Test.java:2975:20:2975:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:2975:20:2975:22 | out : List [] : String | Test.java:2975:9:2975:23 | getElement(...) | provenance | MaD:1 | +| Test.java:2980:21:2980:55 | newOMIWithElement(...) : OrderedMapIterator [] : String | Test.java:2981:10:2981:11 | in : OrderedMapIterator [] : String | provenance | | +| Test.java:2980:39:2980:54 | (...)... : String | Test.java:283:53:283:57 | key : String | provenance | | +| Test.java:2980:39:2980:54 | (...)... : String | Test.java:2980:21:2980:55 | newOMIWithElement(...) : OrderedMapIterator [] : String | provenance | MaD:14 | +| Test.java:2980:39:2980:54 | (...)... : String | Test.java:2980:21:2980:55 | newOMIWithElement(...) : OrderedMapIterator [] : String | provenance | MaD:705 | +| Test.java:2980:47:2980:54 | source(...) : Object | Test.java:2980:39:2980:54 | (...)... : String | provenance | | +| Test.java:2981:10:2981:11 | in : OrderedMapIterator [] : String | Test.java:2981:10:2981:20 | getKey(...) : String | provenance | MaD:597 | +| Test.java:2981:10:2981:20 | getKey(...) : String | Test.java:2982:9:2982:11 | out | provenance | | +| Test.java:2987:21:2987:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | Test.java:2988:10:2988:11 | in : OrderedMapIterator [] : String | provenance | | +| Test.java:2987:40:2987:55 | (...)... : String | Test.java:302:54:302:60 | value : String | provenance | | +| Test.java:2987:40:2987:55 | (...)... : String | Test.java:2987:21:2987:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | provenance | MaD:15 | +| Test.java:2987:40:2987:55 | (...)... : String | Test.java:2987:21:2987:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | provenance | MaD:706 | +| Test.java:2987:48:2987:55 | source(...) : Object | Test.java:2987:40:2987:55 | (...)... : String | provenance | | +| Test.java:2988:10:2988:11 | in : OrderedMapIterator [] : String | Test.java:2988:10:2988:22 | getValue(...) : String | provenance | MaD:598 | +| Test.java:2988:10:2988:22 | getValue(...) : String | Test.java:2989:9:2989:11 | out | provenance | | +| Test.java:2994:16:2994:23 | source(...) : Object | Test.java:2995:17:2995:18 | in : Object | provenance | | +| Test.java:2995:4:2995:6 | out [post update] : MapIterator [] : Object | Test.java:2996:21:2996:23 | out : MapIterator [] : Object | provenance | | +| Test.java:2995:17:2995:18 | in : Object | Test.java:2995:4:2995:6 | out [post update] : MapIterator [] : Object | provenance | MaD:600 | +| Test.java:2996:21:2996:23 | out : MapIterator [] : Object | Test.java:246:20:246:47 | mapIterator : MapIterator [] : Object | provenance | | +| Test.java:2996:21:2996:23 | out : MapIterator [] : Object | Test.java:2996:9:2996:24 | getMapValue(...) | provenance | MaD:598 | +| Test.java:3001:21:3001:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | Test.java:3002:10:3002:11 | in : OrderedMapIterator [] : String | provenance | | +| Test.java:3001:40:3001:55 | (...)... : String | Test.java:302:54:302:60 | value : String | provenance | | +| Test.java:3001:40:3001:55 | (...)... : String | Test.java:3001:21:3001:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | provenance | MaD:15 | +| Test.java:3001:40:3001:55 | (...)... : String | Test.java:3001:21:3001:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | provenance | MaD:706 | +| Test.java:3001:48:3001:55 | source(...) : Object | Test.java:3001:40:3001:55 | (...)... : String | provenance | | +| Test.java:3002:10:3002:11 | in : OrderedMapIterator [] : String | Test.java:3002:10:3002:26 | setValue(...) : String | provenance | MaD:599 | +| Test.java:3002:10:3002:26 | setValue(...) : String | Test.java:3003:9:3003:11 | out | provenance | | +| Test.java:3008:18:3008:53 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | Test.java:3009:22:3009:23 | in : MultiValueMap [, ] : String | provenance | | +| Test.java:3008:18:3008:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:3009:22:3009:23 | in : MultiValueMap [] : String | provenance | | +| Test.java:3008:37:3008:52 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:3008:37:3008:52 | (...)... : String | Test.java:3008:18:3008:53 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | provenance | MaD:662 | +| Test.java:3008:37:3008:52 | (...)... : String | Test.java:3008:18:3008:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:3008:37:3008:52 | (...)... : String | Test.java:3008:18:3008:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:3008:45:3008:52 | source(...) : Object | Test.java:3008:37:3008:52 | (...)... : String | provenance | | +| Test.java:3009:10:3009:33 | (...)... : Collection [] : Object | Test.java:3010:20:3010:22 | out : Collection [] : Object | provenance | | +| Test.java:3009:10:3009:33 | (...)... : Collection [] : String | Test.java:3010:20:3010:22 | out : Collection [] : String | provenance | | +| Test.java:3009:22:3009:23 | in : MultiValueMap [, ] : String | Test.java:3009:22:3009:33 | get(...) : Object [] : String | provenance | MaD:9 | +| Test.java:3009:22:3009:23 | in : MultiValueMap [, ] : String | Test.java:3009:22:3009:33 | get(...) : Object [] : String | provenance | MaD:483 | +| Test.java:3009:22:3009:23 | in : MultiValueMap [, ] : String | Test.java:3009:22:3009:33 | get(...) : Object [] : String | provenance | MaD:660 | +| Test.java:3009:22:3009:23 | in : MultiValueMap [] : String | Test.java:3009:22:3009:33 | get(...) : Object [] : Object | provenance | MaD:660 | +| Test.java:3009:22:3009:33 | get(...) : Object [] : Object | Test.java:3009:10:3009:33 | (...)... : Collection [] : Object | provenance | | +| Test.java:3009:22:3009:33 | get(...) : Object [] : String | Test.java:3009:10:3009:33 | (...)... : Collection [] : String | provenance | | +| Test.java:3010:20:3010:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | provenance | | +| Test.java:3010:20:3010:22 | out : Collection [] : Object | Test.java:3010:9:3010:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3010:20:3010:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:3010:20:3010:22 | out : Collection [] : String | Test.java:3010:9:3010:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3015:16:3015:23 | source(...) : Object | Test.java:3016:12:3016:13 | in : Object | provenance | | +| Test.java:3016:4:3016:6 | out [post update] : MultiValueMap [] : Object | Test.java:3017:19:3017:21 | out : MultiValueMap [] : Object | provenance | | +| Test.java:3016:12:3016:13 | in : Object | Test.java:3016:4:3016:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:14 | +| Test.java:3016:12:3016:13 | in : Object | Test.java:3016:4:3016:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:661 | +| Test.java:3016:12:3016:13 | in : Object | Test.java:3016:4:3016:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:705 | +| Test.java:3017:19:3017:21 | out : MultiValueMap [] : Object | Test.java:228:18:228:29 | map : MultiValueMap [] : Object | provenance | | +| Test.java:3017:19:3017:21 | out : MultiValueMap [] : Object | Test.java:3017:9:3017:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3022:16:3022:23 | source(...) : Object | Test.java:3023:12:3023:13 | in : Object | provenance | | +| Test.java:3023:4:3023:6 | out [post update] : MultiMap [] : Object | Test.java:3024:19:3024:21 | out : MultiMap [] : Object | provenance | | +| Test.java:3023:12:3023:13 | in : Object | Test.java:3023:4:3023:6 | out [post update] : MultiMap [] : Object | provenance | MaD:14 | +| Test.java:3023:12:3023:13 | in : Object | Test.java:3023:4:3023:6 | out [post update] : MultiMap [] : Object | provenance | MaD:661 | +| Test.java:3023:12:3023:13 | in : Object | Test.java:3023:4:3023:6 | out [post update] : MultiMap [] : Object | provenance | MaD:705 | +| Test.java:3024:19:3024:21 | out : MultiMap [] : Object | Test.java:228:18:228:29 | map : MultiMap [] : Object | provenance | | +| Test.java:3024:19:3024:21 | out : MultiMap [] : Object | Test.java:3024:9:3024:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3029:16:3029:23 | source(...) : Object | Test.java:3030:18:3030:19 | in : Object | provenance | | +| Test.java:3030:4:3030:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:3031:44:3031:46 | out : MultiValueMap [, ] : Object | provenance | | +| Test.java:3030:4:3030:6 | out [post update] : MultiValueMap [] : Object | Test.java:3031:44:3031:46 | out : MultiValueMap [] : Object | provenance | | +| Test.java:3030:18:3030:19 | in : Object | Test.java:3030:4:3030:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:662 | +| Test.java:3030:18:3030:19 | in : Object | Test.java:3030:4:3030:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:15 | +| Test.java:3030:18:3030:19 | in : Object | Test.java:3030:4:3030:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:706 | +| Test.java:3031:20:3031:47 | (...)... : Collection | Test.java:230:19:230:32 | it : Collection | provenance | | +| Test.java:3031:20:3031:47 | (...)... : Collection | Test.java:3031:9:3031:48 | getElement(...) | provenance | MaD:1 | +| Test.java:3031:20:3031:47 | (...)... : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | provenance | | +| Test.java:3031:20:3031:47 | (...)... : Collection [] : Object | Test.java:3031:9:3031:48 | getElement(...) | provenance | MaD:1 | +| Test.java:3031:32:3031:47 | getMapValue(...) : Object | Test.java:3031:20:3031:47 | (...)... : Collection | provenance | | +| Test.java:3031:32:3031:47 | getMapValue(...) : Object [] : Object | Test.java:3031:20:3031:47 | (...)... : Collection [] : Object | provenance | | +| Test.java:3031:44:3031:46 | out : MultiValueMap [, ] : Object | Test.java:232:20:232:31 | map : MultiValueMap [, ] : Object | provenance | | +| Test.java:3031:44:3031:46 | out : MultiValueMap [, ] : Object | Test.java:3031:32:3031:47 | getMapValue(...) : Object [] : Object | provenance | MaD:9 | +| Test.java:3031:44:3031:46 | out : MultiValueMap [] : Object | Test.java:232:20:232:31 | map : MultiValueMap [] : Object | provenance | | +| Test.java:3031:44:3031:46 | out : MultiValueMap [] : Object | Test.java:3031:32:3031:47 | getMapValue(...) : Object | provenance | MaD:9 | +| Test.java:3036:16:3036:23 | source(...) : Object | Test.java:3037:18:3037:19 | in : Object | provenance | | +| Test.java:3037:4:3037:6 | out [post update] : MultiMap [, ] : Object | Test.java:3038:44:3038:46 | out : MultiMap [, ] : Object | provenance | | +| Test.java:3037:4:3037:6 | out [post update] : MultiMap [] : Object | Test.java:3038:44:3038:46 | out : MultiMap [] : Object | provenance | | +| Test.java:3037:18:3037:19 | in : Object | Test.java:3037:4:3037:6 | out [post update] : MultiMap [, ] : Object | provenance | MaD:662 | +| Test.java:3037:18:3037:19 | in : Object | Test.java:3037:4:3037:6 | out [post update] : MultiMap [] : Object | provenance | MaD:15 | +| Test.java:3037:18:3037:19 | in : Object | Test.java:3037:4:3037:6 | out [post update] : MultiMap [] : Object | provenance | MaD:706 | +| Test.java:3038:20:3038:47 | (...)... : Collection | Test.java:230:19:230:32 | it : Collection | provenance | | +| Test.java:3038:20:3038:47 | (...)... : Collection | Test.java:3038:9:3038:48 | getElement(...) | provenance | MaD:1 | +| Test.java:3038:20:3038:47 | (...)... : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | provenance | | +| Test.java:3038:20:3038:47 | (...)... : Collection [] : Object | Test.java:3038:9:3038:48 | getElement(...) | provenance | MaD:1 | +| Test.java:3038:32:3038:47 | getMapValue(...) : Object | Test.java:3038:20:3038:47 | (...)... : Collection | provenance | | +| Test.java:3038:32:3038:47 | getMapValue(...) : Object [] : Object | Test.java:3038:20:3038:47 | (...)... : Collection [] : Object | provenance | | +| Test.java:3038:44:3038:46 | out : MultiMap [, ] : Object | Test.java:232:20:232:31 | map : MultiMap [, ] : Object | provenance | | +| Test.java:3038:44:3038:46 | out : MultiMap [, ] : Object | Test.java:3038:32:3038:47 | getMapValue(...) : Object [] : Object | provenance | MaD:9 | +| Test.java:3038:44:3038:46 | out : MultiMap [] : Object | Test.java:232:20:232:31 | map : MultiMap [] : Object | provenance | | +| Test.java:3038:44:3038:46 | out : MultiMap [] : Object | Test.java:3038:32:3038:47 | getMapValue(...) : Object | provenance | MaD:9 | +| Test.java:3043:23:3043:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | Test.java:3044:10:3044:11 | in : MultiValueMap [, ] : String | provenance | | +| Test.java:3043:23:3043:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:3044:10:3044:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:3043:42:3043:57 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:3043:42:3043:57 | (...)... : String | Test.java:3043:23:3043:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | provenance | MaD:662 | +| Test.java:3043:42:3043:57 | (...)... : String | Test.java:3043:23:3043:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:3043:42:3043:57 | (...)... : String | Test.java:3043:23:3043:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:3043:50:3043:57 | source(...) : Object | Test.java:3043:42:3043:57 | (...)... : String | provenance | | +| Test.java:3044:10:3044:11 | in : MultiValueMap [, ] : String | Test.java:3044:10:3044:20 | values(...) : Collection [] : String | provenance | MaD:357 | +| Test.java:3044:10:3044:11 | in : MultiValueMap [, ] : String | Test.java:3044:10:3044:20 | values(...) : Collection [] : String | provenance | MaD:663 | +| Test.java:3044:10:3044:11 | in : MultiValueMap [] : String | Test.java:3044:10:3044:20 | values(...) : Collection [] : Object | provenance | MaD:357 | +| Test.java:3044:10:3044:11 | in : MultiValueMap [] : String | Test.java:3044:10:3044:20 | values(...) : Collection [] : Object | provenance | MaD:663 | +| Test.java:3044:10:3044:11 | in : MultiValueMap [] : String | Test.java:3044:10:3044:20 | values(...) : Collection [] : String | provenance | MaD:19 | +| Test.java:3044:10:3044:11 | in : MultiValueMap [] : String | Test.java:3044:10:3044:20 | values(...) : Collection [] : String | provenance | MaD:486 | +| Test.java:3044:10:3044:20 | values(...) : Collection [] : Object | Test.java:3045:20:3045:22 | out : Collection [] : Object | provenance | | +| Test.java:3044:10:3044:20 | values(...) : Collection [] : String | Test.java:3045:20:3045:22 | out : Collection [] : String | provenance | | +| Test.java:3045:20:3045:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | provenance | | +| Test.java:3045:20:3045:22 | out : Collection [] : Object | Test.java:3045:9:3045:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3045:20:3045:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:3045:20:3045:22 | out : Collection [] : String | Test.java:3045:9:3045:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3050:18:3050:53 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | Test.java:3051:10:3051:11 | in : MultiValueMap [, ] : String | provenance | | +| Test.java:3050:18:3050:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:3051:10:3051:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:3050:37:3050:52 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:3050:37:3050:52 | (...)... : String | Test.java:3050:18:3050:53 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | provenance | MaD:662 | +| Test.java:3050:37:3050:52 | (...)... : String | Test.java:3050:18:3050:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:3050:37:3050:52 | (...)... : String | Test.java:3050:18:3050:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:3050:45:3050:52 | source(...) : Object | Test.java:3050:37:3050:52 | (...)... : String | provenance | | +| Test.java:3051:10:3051:11 | in : MultiValueMap [, ] : String | Test.java:3051:10:3051:20 | values(...) : Collection [] : String | provenance | MaD:663 | +| Test.java:3051:10:3051:11 | in : MultiValueMap [] : String | Test.java:3051:10:3051:20 | values(...) : Collection [] : Object | provenance | MaD:663 | +| Test.java:3051:10:3051:11 | in : MultiValueMap [] : String | Test.java:3051:10:3051:20 | values(...) : Collection [] : String | provenance | MaD:19 | +| Test.java:3051:10:3051:11 | in : MultiValueMap [] : String | Test.java:3051:10:3051:20 | values(...) : Collection [] : String | provenance | MaD:486 | +| Test.java:3051:10:3051:20 | values(...) : Collection [] : Object | Test.java:3052:20:3052:22 | out : Collection [] : Object | provenance | | +| Test.java:3051:10:3051:20 | values(...) : Collection [] : String | Test.java:3052:20:3052:22 | out : Collection [] : String | provenance | | +| Test.java:3052:20:3052:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | provenance | | +| Test.java:3052:20:3052:22 | out : Collection [] : Object | Test.java:3052:9:3052:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3052:20:3052:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:3052:20:3052:22 | out : Collection [] : String | Test.java:3052:9:3052:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3057:24:3057:47 | (...)... : MultiValuedMap | Test.java:3058:36:3058:37 | in : MultiValuedMap | provenance | | +| Test.java:3057:40:3057:47 | source(...) : Object | Test.java:3057:24:3057:47 | (...)... : MultiValuedMap | provenance | | +| Test.java:3058:10:3058:38 | emptyIfNull(...) : MultiValuedMap | Test.java:3059:9:3059:11 | out | provenance | | +| Test.java:3058:36:3058:37 | in : MultiValuedMap | Test.java:3058:10:3058:38 | emptyIfNull(...) : MultiValuedMap | provenance | MaD:664 | +| Test.java:3064:24:3064:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | Test.java:3065:10:3065:11 | in : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:3064:43:3064:58 | (...)... : String | Test.java:272:58:272:62 | key : String | provenance | | +| Test.java:3064:43:3064:58 | (...)... : String | Test.java:3064:24:3064:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | provenance | MaD:689 | +| Test.java:3064:51:3064:58 | source(...) : Object | Test.java:3064:43:3064:58 | (...)... : String | provenance | | +| Test.java:3065:10:3065:11 | in : ArrayListValuedHashMap [] : String | Test.java:3065:10:3065:21 | entries(...) : Collection [, ] : String | provenance | MaD:682 | +| Test.java:3065:10:3065:21 | entries(...) : Collection [, ] : String | Test.java:3066:39:3066:41 | out : Collection [, ] : String | provenance | | +| Test.java:3066:28:3066:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | provenance | | +| Test.java:3066:28:3066:42 | getElement(...) : Entry [] : String | Test.java:3066:9:3066:43 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:3066:39:3066:41 | out : Collection [, ] : String | Test.java:3066:28:3066:42 | getElement(...) : Entry [] : String | provenance | MaD:1 | +| Test.java:3071:24:3071:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:3072:10:3072:11 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:3071:45:3071:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:3071:45:3071:60 | (...)... : String | Test.java:3071:24:3071:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:3071:53:3071:60 | source(...) : Object | Test.java:3071:45:3071:60 | (...)... : String | provenance | | +| Test.java:3072:10:3072:11 | in : ArrayListValuedHashMap [, ] : String | Test.java:3072:10:3072:21 | entries(...) : Collection [, ] : String | provenance | MaD:683 | +| Test.java:3072:10:3072:21 | entries(...) : Collection [, ] : String | Test.java:3073:41:3073:43 | out : Collection [, ] : String | provenance | | +| Test.java:3073:30:3073:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | provenance | | +| Test.java:3073:30:3073:44 | getElement(...) : Entry [] : String | Test.java:3073:9:3073:45 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:3073:41:3073:43 | out : Collection [, ] : String | Test.java:3073:30:3073:44 | getElement(...) : Entry [] : String | provenance | MaD:1 | +| Test.java:3078:24:3078:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:3079:38:3079:39 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:3078:45:3078:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:3078:45:3078:60 | (...)... : String | Test.java:3078:24:3078:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:3078:53:3078:60 | source(...) : Object | Test.java:3078:45:3078:60 | (...)... : String | provenance | | +| Test.java:3079:10:3079:46 | getCollection(...) : Collection [] : String | Test.java:3080:20:3080:22 | out : Collection [] : String | provenance | | +| Test.java:3079:38:3079:39 | in : ArrayListValuedHashMap [, ] : String | Test.java:3079:10:3079:46 | getCollection(...) : Collection [] : String | provenance | MaD:665 | +| Test.java:3080:20:3080:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:3080:20:3080:22 | out : Collection [] : String | Test.java:3080:9:3080:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3085:24:3085:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:3086:39:3086:40 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:3085:45:3085:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:3085:45:3085:60 | (...)... : String | Test.java:3085:24:3085:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:3085:53:3085:60 | source(...) : Object | Test.java:3085:45:3085:60 | (...)... : String | provenance | | +| Test.java:3086:10:3086:47 | getValuesAsBag(...) : Bag [] : String | Test.java:3087:20:3087:22 | out : Bag [] : String | provenance | | +| Test.java:3086:39:3086:40 | in : ArrayListValuedHashMap [, ] : String | Test.java:3086:10:3086:47 | getValuesAsBag(...) : Bag [] : String | provenance | MaD:666 | +| Test.java:3087:20:3087:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | provenance | | +| Test.java:3087:20:3087:22 | out : Bag [] : String | Test.java:3087:9:3087:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3092:24:3092:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:3093:40:3093:41 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:3092:45:3092:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:3092:45:3092:60 | (...)... : String | Test.java:3092:24:3092:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:3092:53:3092:60 | source(...) : Object | Test.java:3092:45:3092:60 | (...)... : String | provenance | | +| Test.java:3093:10:3093:48 | getValuesAsList(...) : List [] : String | Test.java:3094:20:3094:22 | out : List [] : String | provenance | | +| Test.java:3093:40:3093:41 | in : ArrayListValuedHashMap [, ] : String | Test.java:3093:10:3093:48 | getValuesAsList(...) : List [] : String | provenance | MaD:667 | +| Test.java:3094:20:3094:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:3094:20:3094:22 | out : List [] : String | Test.java:3094:9:3094:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3099:24:3099:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:3100:39:3100:40 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:3099:45:3099:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:3099:45:3099:60 | (...)... : String | Test.java:3099:24:3099:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:3099:53:3099:60 | source(...) : Object | Test.java:3099:45:3099:60 | (...)... : String | provenance | | +| Test.java:3100:10:3100:47 | getValuesAsSet(...) : Set [] : String | Test.java:3101:20:3101:22 | out : Set [] : String | provenance | | +| Test.java:3100:39:3100:40 | in : ArrayListValuedHashMap [, ] : String | Test.java:3100:10:3100:47 | getValuesAsSet(...) : Set [] : String | provenance | MaD:668 | +| Test.java:3101:20:3101:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:3101:20:3101:22 | out : Set [] : String | Test.java:3101:9:3101:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3106:24:3106:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | Test.java:3107:50:3107:51 | in : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:3106:43:3106:58 | (...)... : String | Test.java:272:58:272:62 | key : String | provenance | | +| Test.java:3106:43:3106:58 | (...)... : String | Test.java:3106:24:3106:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | provenance | MaD:689 | +| Test.java:3106:51:3106:58 | source(...) : Object | Test.java:3106:43:3106:58 | (...)... : String | provenance | | +| Test.java:3107:10:3107:64 | transformedMultiValuedMap(...) : MultiValuedMap [] : String | Test.java:3108:19:3108:21 | out : MultiValuedMap [] : String | provenance | | +| Test.java:3107:50:3107:51 | in : ArrayListValuedHashMap [] : String | Test.java:3107:10:3107:64 | transformedMultiValuedMap(...) : MultiValuedMap [] : String | provenance | MaD:669 | +| Test.java:3108:19:3108:21 | out : MultiValuedMap [] : String | Test.java:240:18:240:46 | container : MultiValuedMap [] : String | provenance | | +| Test.java:3108:19:3108:21 | out : MultiValuedMap [] : String | Test.java:3108:9:3108:22 | getMapKey(...) | provenance | MaD:685 | +| Test.java:3113:24:3113:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:3114:50:3114:51 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:3113:45:3113:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:3113:45:3113:60 | (...)... : String | Test.java:3113:24:3113:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:3113:53:3113:60 | source(...) : Object | Test.java:3113:45:3113:60 | (...)... : String | provenance | | +| Test.java:3114:10:3114:64 | transformedMultiValuedMap(...) : MultiValuedMap [, ] : String | Test.java:3115:32:3115:34 | out : MultiValuedMap [, ] : String | provenance | | +| Test.java:3114:50:3114:51 | in : ArrayListValuedHashMap [, ] : String | Test.java:3114:10:3114:64 | transformedMultiValuedMap(...) : MultiValuedMap [, ] : String | provenance | MaD:670 | +| Test.java:3115:20:3115:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:3115:20:3115:35 | getMapValue(...) : Collection [] : String | Test.java:3115:9:3115:36 | getElement(...) | provenance | MaD:1 | +| Test.java:3115:32:3115:34 | out : MultiValuedMap [, ] : String | Test.java:247:32:247:60 | container : MultiValuedMap [, ] : String | provenance | | +| Test.java:3115:32:3115:34 | out : MultiValuedMap [, ] : String | Test.java:3115:20:3115:35 | getMapValue(...) : Collection [] : String | provenance | MaD:684 | +| Test.java:3120:24:3120:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | Test.java:3121:51:3121:52 | in : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:3120:43:3120:58 | (...)... : String | Test.java:272:58:272:62 | key : String | provenance | | +| Test.java:3120:43:3120:58 | (...)... : String | Test.java:3120:24:3120:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | provenance | MaD:689 | +| Test.java:3120:51:3120:58 | source(...) : Object | Test.java:3120:43:3120:58 | (...)... : String | provenance | | +| Test.java:3121:10:3121:53 | unmodifiableMultiValuedMap(...) : MultiValuedMap [] : String | Test.java:3122:19:3122:21 | out : MultiValuedMap [] : String | provenance | | +| Test.java:3121:51:3121:52 | in : ArrayListValuedHashMap [] : String | Test.java:3121:10:3121:53 | unmodifiableMultiValuedMap(...) : MultiValuedMap [] : String | provenance | MaD:671 | +| Test.java:3122:19:3122:21 | out : MultiValuedMap [] : String | Test.java:240:18:240:46 | container : MultiValuedMap [] : String | provenance | | +| Test.java:3122:19:3122:21 | out : MultiValuedMap [] : String | Test.java:3122:9:3122:22 | getMapKey(...) | provenance | MaD:685 | +| Test.java:3127:24:3127:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:3128:51:3128:52 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:3127:45:3127:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:3127:45:3127:60 | (...)... : String | Test.java:3127:24:3127:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:3127:53:3127:60 | source(...) : Object | Test.java:3127:45:3127:60 | (...)... : String | provenance | | +| Test.java:3128:10:3128:53 | unmodifiableMultiValuedMap(...) : MultiValuedMap [, ] : String | Test.java:3129:32:3129:34 | out : MultiValuedMap [, ] : String | provenance | | +| Test.java:3128:51:3128:52 | in : ArrayListValuedHashMap [, ] : String | Test.java:3128:10:3128:53 | unmodifiableMultiValuedMap(...) : MultiValuedMap [, ] : String | provenance | MaD:672 | +| Test.java:3129:20:3129:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:3129:20:3129:35 | getMapValue(...) : Collection [] : String | Test.java:3129:9:3129:36 | getElement(...) | provenance | MaD:1 | +| Test.java:3129:32:3129:34 | out : MultiValuedMap [, ] : String | Test.java:247:32:247:60 | container : MultiValuedMap [, ] : String | provenance | | +| Test.java:3129:32:3129:34 | out : MultiValuedMap [, ] : String | Test.java:3129:20:3129:35 | getMapValue(...) : Collection [] : String | provenance | MaD:684 | +| Test.java:3134:24:3134:68 | newMultiSetEntryWithElement(...) : Entry [] : String | Test.java:3135:10:3135:11 | in : Entry [] : String | provenance | | +| Test.java:3134:52:3134:67 | (...)... : String | Test.java:262:52:262:60 | element : String | provenance | | +| Test.java:3134:52:3134:67 | (...)... : String | Test.java:3134:24:3134:68 | newMultiSetEntryWithElement(...) : Entry [] : String | provenance | MaD:2 | +| Test.java:3134:52:3134:67 | (...)... : String | Test.java:3134:24:3134:68 | newMultiSetEntryWithElement(...) : Entry [] : String | provenance | MaD:673 | +| Test.java:3134:60:3134:67 | source(...) : Object | Test.java:3134:52:3134:67 | (...)... : String | provenance | | +| Test.java:3135:10:3135:11 | in : Entry [] : String | Test.java:3135:10:3135:24 | getElement(...) : String | provenance | MaD:676 | +| Test.java:3135:10:3135:24 | getElement(...) : String | Test.java:3136:9:3136:11 | out | provenance | | +| Test.java:3141:16:3141:23 | source(...) : Object | Test.java:3142:12:3142:13 | in : Object | provenance | | +| Test.java:3142:4:3142:6 | out [post update] : MultiSet [] : Object | Test.java:3143:20:3143:22 | out : MultiSet [] : Object | provenance | | +| Test.java:3142:12:3142:13 | in : Object | Test.java:3142:4:3142:6 | out [post update] : MultiSet [] : Object | provenance | MaD:673 | +| Test.java:3143:20:3143:22 | out : MultiSet [] : Object | Test.java:230:19:230:32 | it : MultiSet [] : Object | provenance | | +| Test.java:3143:20:3143:22 | out : MultiSet [] : Object | Test.java:3143:9:3143:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3148:16:3148:23 | source(...) : Object | Test.java:3149:12:3149:13 | in : Object | provenance | | +| Test.java:3149:4:3149:6 | out [post update] : MultiSet [] : Object | Test.java:3150:20:3150:22 | out : MultiSet [] : Object | provenance | | +| Test.java:3149:12:3149:13 | in : Object | Test.java:3149:4:3149:6 | out [post update] : MultiSet [] : Object | provenance | MaD:2 | +| Test.java:3149:12:3149:13 | in : Object | Test.java:3149:4:3149:6 | out [post update] : MultiSet [] : Object | provenance | MaD:673 | +| Test.java:3150:20:3150:22 | out : MultiSet [] : Object | Test.java:230:19:230:32 | it : MultiSet [] : Object | provenance | | +| Test.java:3150:20:3150:22 | out : MultiSet [] : Object | Test.java:3150:9:3150:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3155:18:3155:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:3156:10:3156:11 | in : HashMultiSet [] : String | provenance | | +| Test.java:3155:41:3155:56 | (...)... : String | Test.java:263:41:263:49 | element : String | provenance | | +| Test.java:3155:41:3155:56 | (...)... : String | Test.java:3155:18:3155:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:2 | +| Test.java:3155:41:3155:56 | (...)... : String | Test.java:3155:18:3155:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:673 | +| Test.java:3155:49:3155:56 | source(...) : Object | Test.java:3155:41:3155:56 | (...)... : String | provenance | | +| Test.java:3156:10:3156:11 | in : HashMultiSet [] : String | Test.java:3156:10:3156:22 | entrySet(...) : Set [, ] : String | provenance | MaD:674 | +| Test.java:3156:10:3156:22 | entrySet(...) : Set [, ] : String | Test.java:3157:31:3157:33 | out : Set [, ] : String | provenance | | +| Test.java:3157:20:3157:34 | getElement(...) : Entry [] : String | Test.java:235:19:235:45 | container : Entry [] : String | provenance | | +| Test.java:3157:20:3157:34 | getElement(...) : Entry [] : String | Test.java:3157:9:3157:35 | getElement(...) | provenance | MaD:676 | +| Test.java:3157:31:3157:33 | out : Set [, ] : String | Test.java:3157:20:3157:34 | getElement(...) : Entry [] : String | provenance | MaD:1 | +| Test.java:3162:18:3162:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:3163:10:3163:11 | in : HashMultiSet [] : String | provenance | | +| Test.java:3162:41:3162:56 | (...)... : String | Test.java:263:41:263:49 | element : String | provenance | | +| Test.java:3162:41:3162:56 | (...)... : String | Test.java:3162:18:3162:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:2 | +| Test.java:3162:41:3162:56 | (...)... : String | Test.java:3162:18:3162:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:673 | +| Test.java:3162:49:3162:56 | source(...) : Object | Test.java:3162:41:3162:56 | (...)... : String | provenance | | +| Test.java:3163:10:3163:11 | in : HashMultiSet [] : String | Test.java:3163:10:3163:23 | uniqueSet(...) : Set [] : String | provenance | MaD:675 | +| Test.java:3163:10:3163:23 | uniqueSet(...) : Set [] : String | Test.java:3164:20:3164:22 | out : Set [] : String | provenance | | +| Test.java:3164:20:3164:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:3164:20:3164:22 | out : Set [] : String | Test.java:3164:9:3164:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3169:18:3169:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:3170:43:3170:44 | in : HashMultiSet [] : String | provenance | | +| Test.java:3169:41:3169:56 | (...)... : String | Test.java:263:41:263:49 | element : String | provenance | | +| Test.java:3169:41:3169:56 | (...)... : String | Test.java:3169:18:3169:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:2 | +| Test.java:3169:41:3169:56 | (...)... : String | Test.java:3169:18:3169:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:673 | +| Test.java:3169:49:3169:56 | source(...) : Object | Test.java:3169:41:3169:56 | (...)... : String | provenance | | +| Test.java:3170:10:3170:51 | predicatedMultiSet(...) : MultiSet [] : String | Test.java:3171:20:3171:22 | out : MultiSet [] : String | provenance | | +| Test.java:3170:43:3170:44 | in : HashMultiSet [] : String | Test.java:3170:10:3170:51 | predicatedMultiSet(...) : MultiSet [] : String | provenance | MaD:677 | +| Test.java:3171:20:3171:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | provenance | | +| Test.java:3171:20:3171:22 | out : MultiSet [] : String | Test.java:3171:9:3171:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3176:18:3176:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:3177:45:3177:46 | in : HashMultiSet [] : String | provenance | | +| Test.java:3176:41:3176:56 | (...)... : String | Test.java:263:41:263:49 | element : String | provenance | | +| Test.java:3176:41:3176:56 | (...)... : String | Test.java:3176:18:3176:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:2 | +| Test.java:3176:41:3176:56 | (...)... : String | Test.java:3176:18:3176:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:673 | +| Test.java:3176:49:3176:56 | source(...) : Object | Test.java:3176:41:3176:56 | (...)... : String | provenance | | +| Test.java:3177:10:3177:47 | synchronizedMultiSet(...) : MultiSet [] : String | Test.java:3178:20:3178:22 | out : MultiSet [] : String | provenance | | +| Test.java:3177:45:3177:46 | in : HashMultiSet [] : String | Test.java:3177:10:3177:47 | synchronizedMultiSet(...) : MultiSet [] : String | provenance | MaD:678 | +| Test.java:3178:20:3178:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | provenance | | +| Test.java:3178:20:3178:22 | out : MultiSet [] : String | Test.java:3178:9:3178:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3183:18:3183:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:3184:45:3184:46 | in : HashMultiSet [] : String | provenance | | +| Test.java:3183:41:3183:56 | (...)... : String | Test.java:263:41:263:49 | element : String | provenance | | +| Test.java:3183:41:3183:56 | (...)... : String | Test.java:3183:18:3183:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:2 | +| Test.java:3183:41:3183:56 | (...)... : String | Test.java:3183:18:3183:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:673 | +| Test.java:3183:49:3183:56 | source(...) : Object | Test.java:3183:41:3183:56 | (...)... : String | provenance | | +| Test.java:3184:10:3184:47 | unmodifiableMultiSet(...) : MultiSet [] : String | Test.java:3185:20:3185:22 | out : MultiSet [] : String | provenance | | +| Test.java:3184:45:3184:46 | in : HashMultiSet [] : String | Test.java:3184:10:3184:47 | unmodifiableMultiSet(...) : MultiSet [] : String | provenance | MaD:679 | +| Test.java:3185:20:3185:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | provenance | | +| Test.java:3185:20:3185:22 | out : MultiSet [] : String | Test.java:3185:9:3185:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3190:24:3190:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:3191:10:3191:11 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:3190:45:3190:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:3190:45:3190:60 | (...)... : String | Test.java:3190:24:3190:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:3190:53:3190:60 | source(...) : Object | Test.java:3190:45:3190:60 | (...)... : String | provenance | | +| Test.java:3191:10:3191:11 | in : ArrayListValuedHashMap [, ] : String | Test.java:3191:10:3191:19 | asMap(...) : Map [, ] : String | provenance | MaD:681 | +| Test.java:3191:10:3191:19 | asMap(...) : Map [, ] : String | Test.java:3192:44:3192:46 | out : Map [, ] : String | provenance | | +| Test.java:3192:20:3192:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:3192:20:3192:47 | (...)... : Collection [] : String | Test.java:3192:9:3192:48 | getElement(...) | provenance | MaD:1 | +| Test.java:3192:32:3192:47 | getMapValue(...) : Object [] : String | Test.java:3192:20:3192:47 | (...)... : Collection [] : String | provenance | | +| Test.java:3192:44:3192:46 | out : Map [, ] : String | Test.java:232:20:232:31 | map : Map [, ] : String | provenance | | +| Test.java:3192:44:3192:46 | out : Map [, ] : String | Test.java:3192:32:3192:47 | getMapValue(...) : Object [] : String | provenance | MaD:9 | +| Test.java:3197:24:3197:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | Test.java:3198:10:3198:11 | in : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:3197:43:3197:58 | (...)... : String | Test.java:272:58:272:62 | key : String | provenance | | +| Test.java:3197:43:3197:58 | (...)... : String | Test.java:3197:24:3197:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | provenance | MaD:689 | +| Test.java:3197:51:3197:58 | source(...) : Object | Test.java:3197:43:3197:58 | (...)... : String | provenance | | +| Test.java:3198:10:3198:11 | in : ArrayListValuedHashMap [] : String | Test.java:3198:10:3198:19 | asMap(...) : Map [] : String | provenance | MaD:680 | +| Test.java:3198:10:3198:19 | asMap(...) : Map [] : String | Test.java:3199:19:3199:21 | out : Map [] : String | provenance | | +| Test.java:3199:19:3199:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:3199:19:3199:21 | out : Map [] : String | Test.java:3199:9:3199:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3204:22:3204:59 | newHSVHMWithMapValue(...) : HashSetValuedHashMap [, ] : String | Test.java:3205:10:3205:11 | in : HashSetValuedHashMap [, ] : String | provenance | | +| Test.java:3204:43:3204:58 | (...)... : String | Test.java:294:58:294:64 | value : String | provenance | | +| Test.java:3204:43:3204:58 | (...)... : String | Test.java:3204:22:3204:59 | newHSVHMWithMapValue(...) : HashSetValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:3204:51:3204:58 | source(...) : Object | Test.java:3204:43:3204:58 | (...)... : String | provenance | | +| Test.java:3205:10:3205:11 | in : HashSetValuedHashMap [, ] : String | Test.java:3205:10:3205:21 | get(...) : Set [] : String | provenance | MaD:684 | +| Test.java:3205:10:3205:21 | get(...) : Set [] : String | Test.java:3206:20:3206:22 | out : Set [] : String | provenance | | +| Test.java:3206:20:3206:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:3206:20:3206:22 | out : Set [] : String | Test.java:3206:9:3206:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3211:23:3211:60 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:3212:10:3212:11 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:3211:44:3211:59 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:3211:44:3211:59 | (...)... : String | Test.java:3211:23:3211:60 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:3211:52:3211:59 | source(...) : Object | Test.java:3211:44:3211:59 | (...)... : String | provenance | | +| Test.java:3212:10:3212:11 | in : ArrayListValuedHashMap [, ] : String | Test.java:3212:10:3212:21 | get(...) : List [] : String | provenance | MaD:684 | +| Test.java:3212:10:3212:21 | get(...) : List [] : String | Test.java:3213:20:3213:22 | out : List [] : String | provenance | | +| Test.java:3213:20:3213:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:3213:20:3213:22 | out : List [] : String | Test.java:3213:9:3213:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3218:24:3218:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:3219:10:3219:11 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:3218:45:3218:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:3218:45:3218:60 | (...)... : String | Test.java:3218:24:3218:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:3218:53:3218:60 | source(...) : Object | Test.java:3218:45:3218:60 | (...)... : String | provenance | | +| Test.java:3219:10:3219:11 | in : ArrayListValuedHashMap [, ] : String | Test.java:3219:10:3219:21 | get(...) : Collection [] : String | provenance | MaD:684 | +| Test.java:3219:10:3219:21 | get(...) : Collection [] : String | Test.java:3220:20:3220:22 | out : Collection [] : String | provenance | | +| Test.java:3220:20:3220:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:3220:20:3220:22 | out : Collection [] : String | Test.java:3220:9:3220:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3225:24:3225:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | Test.java:3226:10:3226:11 | in : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:3225:43:3225:58 | (...)... : String | Test.java:272:58:272:62 | key : String | provenance | | +| Test.java:3225:43:3225:58 | (...)... : String | Test.java:3225:24:3225:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | provenance | MaD:689 | +| Test.java:3225:51:3225:58 | source(...) : Object | Test.java:3225:43:3225:58 | (...)... : String | provenance | | +| Test.java:3226:10:3226:11 | in : ArrayListValuedHashMap [] : String | Test.java:3226:10:3226:20 | keySet(...) : Set [] : String | provenance | MaD:685 | +| Test.java:3226:10:3226:20 | keySet(...) : Set [] : String | Test.java:3227:20:3227:22 | out : Set [] : String | provenance | | +| Test.java:3227:20:3227:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:3227:20:3227:22 | out : Set [] : String | Test.java:3227:9:3227:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3232:24:3232:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | Test.java:3233:10:3233:11 | in : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:3232:43:3232:58 | (...)... : String | Test.java:272:58:272:62 | key : String | provenance | | +| Test.java:3232:43:3232:58 | (...)... : String | Test.java:3232:24:3232:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | provenance | MaD:689 | +| Test.java:3232:51:3232:58 | source(...) : Object | Test.java:3232:43:3232:58 | (...)... : String | provenance | | +| Test.java:3233:10:3233:11 | in : ArrayListValuedHashMap [] : String | Test.java:3233:10:3233:18 | keys(...) : MultiSet [] : String | provenance | MaD:686 | +| Test.java:3233:10:3233:18 | keys(...) : MultiSet [] : String | Test.java:3234:20:3234:22 | out : MultiSet [] : String | provenance | | +| Test.java:3234:20:3234:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | provenance | | +| Test.java:3234:20:3234:22 | out : MultiSet [] : String | Test.java:3234:9:3234:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3239:24:3239:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:3240:10:3240:11 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:3239:45:3239:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:3239:45:3239:60 | (...)... : String | Test.java:3239:24:3239:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:3239:53:3239:60 | source(...) : Object | Test.java:3239:45:3239:60 | (...)... : String | provenance | | +| Test.java:3240:10:3240:11 | in : ArrayListValuedHashMap [, ] : String | Test.java:3240:10:3240:25 | mapIterator(...) : MapIterator [] : String | provenance | MaD:688 | +| Test.java:3240:10:3240:25 | mapIterator(...) : MapIterator [] : String | Test.java:3241:21:3241:23 | out : MapIterator [] : String | provenance | | +| Test.java:3241:21:3241:23 | out : MapIterator [] : String | Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | provenance | | +| Test.java:3241:21:3241:23 | out : MapIterator [] : String | Test.java:3241:9:3241:24 | getMapValue(...) | provenance | MaD:598 | +| Test.java:3246:24:3246:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | Test.java:3247:10:3247:11 | in : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:3246:43:3246:58 | (...)... : String | Test.java:272:58:272:62 | key : String | provenance | | +| Test.java:3246:43:3246:58 | (...)... : String | Test.java:3246:24:3246:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | provenance | MaD:689 | +| Test.java:3246:51:3246:58 | source(...) : Object | Test.java:3246:43:3246:58 | (...)... : String | provenance | | +| Test.java:3247:10:3247:11 | in : ArrayListValuedHashMap [] : String | Test.java:3247:10:3247:25 | mapIterator(...) : MapIterator [] : String | provenance | MaD:687 | +| Test.java:3247:10:3247:25 | mapIterator(...) : MapIterator [] : String | Test.java:3248:20:3248:22 | out : MapIterator [] : String | provenance | | +| Test.java:3248:20:3248:22 | out : MapIterator [] : String | Test.java:231:19:231:32 | it : MapIterator [] : String | provenance | | +| Test.java:3248:20:3248:22 | out : MapIterator [] : String | Test.java:3248:9:3248:23 | getElement(...) | provenance | MaD:4 | +| Test.java:3253:16:3253:23 | source(...) : Object | Test.java:3254:12:3254:13 | in : Object | provenance | | +| Test.java:3254:4:3254:6 | out [post update] : MultiValuedMap [] : Object | Test.java:3255:19:3255:21 | out : MultiValuedMap [] : Object | provenance | | +| Test.java:3254:12:3254:13 | in : Object | Test.java:3254:4:3254:6 | out [post update] : MultiValuedMap [] : Object | provenance | MaD:689 | +| Test.java:3255:19:3255:21 | out : MultiValuedMap [] : Object | Test.java:240:18:240:46 | container : MultiValuedMap [] : Object | provenance | | +| Test.java:3255:19:3255:21 | out : MultiValuedMap [] : Object | Test.java:3255:9:3255:22 | getMapKey(...) | provenance | MaD:685 | +| Test.java:3260:16:3260:23 | source(...) : Object | Test.java:3261:18:3261:19 | in : Object | provenance | | +| Test.java:3261:4:3261:6 | out [post update] : MultiValuedMap [, ] : Object | Test.java:3262:32:3262:34 | out : MultiValuedMap [, ] : Object | provenance | | +| Test.java:3261:18:3261:19 | in : Object | Test.java:3261:4:3261:6 | out [post update] : MultiValuedMap [, ] : Object | provenance | MaD:690 | +| Test.java:3262:20:3262:35 | getMapValue(...) : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | provenance | | +| Test.java:3262:20:3262:35 | getMapValue(...) : Collection [] : Object | Test.java:3262:9:3262:36 | getElement(...) | provenance | MaD:1 | +| Test.java:3262:32:3262:34 | out : MultiValuedMap [, ] : Object | Test.java:247:32:247:60 | container : MultiValuedMap [, ] : Object | provenance | | +| Test.java:3262:32:3262:34 | out : MultiValuedMap [, ] : Object | Test.java:3262:20:3262:35 | getMapValue(...) : Collection [] : Object | provenance | MaD:684 | +| Test.java:3267:13:3267:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:3268:15:3268:16 | in : TreeMap [] : String | provenance | | +| Test.java:3267:34:3267:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:3267:34:3267:49 | (...)... : String | Test.java:3267:13:3267:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:3267:42:3267:49 | source(...) : Object | Test.java:3267:34:3267:49 | (...)... : String | provenance | | +| Test.java:3268:4:3268:6 | out [post update] : MultiValuedMap [] : String | Test.java:3269:19:3269:21 | out : MultiValuedMap [] : String | provenance | | +| Test.java:3268:15:3268:16 | in : TreeMap [] : String | Test.java:3268:4:3268:6 | out [post update] : MultiValuedMap [] : String | provenance | MaD:691 | +| Test.java:3269:19:3269:21 | out : MultiValuedMap [] : String | Test.java:240:18:240:46 | container : MultiValuedMap [] : String | provenance | | +| Test.java:3269:19:3269:21 | out : MultiValuedMap [] : String | Test.java:3269:9:3269:22 | getMapKey(...) | provenance | MaD:685 | +| Test.java:3274:13:3274:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:3275:15:3275:16 | in : TreeMap [] : String | provenance | | +| Test.java:3274:36:3274:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:3274:36:3274:51 | (...)... : String | Test.java:3274:13:3274:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:3274:44:3274:51 | source(...) : Object | Test.java:3274:36:3274:51 | (...)... : String | provenance | | +| Test.java:3275:4:3275:6 | out [post update] : MultiValuedMap [, ] : String | Test.java:3276:32:3276:34 | out : MultiValuedMap [, ] : String | provenance | | +| Test.java:3275:15:3275:16 | in : TreeMap [] : String | Test.java:3275:4:3275:6 | out [post update] : MultiValuedMap [, ] : String | provenance | MaD:692 | +| Test.java:3276:20:3276:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:3276:20:3276:35 | getMapValue(...) : Collection [] : String | Test.java:3276:9:3276:36 | getElement(...) | provenance | MaD:1 | +| Test.java:3276:32:3276:34 | out : MultiValuedMap [, ] : String | Test.java:247:32:247:60 | container : MultiValuedMap [, ] : String | provenance | | +| Test.java:3276:32:3276:34 | out : MultiValuedMap [, ] : String | Test.java:3276:20:3276:35 | getMapValue(...) : Collection [] : String | provenance | MaD:684 | +| Test.java:3281:24:3281:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:3282:15:3282:16 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:3281:45:3281:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:3281:45:3281:60 | (...)... : String | Test.java:3281:24:3281:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:3281:53:3281:60 | source(...) : Object | Test.java:3281:45:3281:60 | (...)... : String | provenance | | +| Test.java:3282:4:3282:6 | out [post update] : MultiValuedMap [, ] : String | Test.java:3283:32:3283:34 | out : MultiValuedMap [, ] : String | provenance | | +| Test.java:3282:15:3282:16 | in : ArrayListValuedHashMap [, ] : String | Test.java:3282:4:3282:6 | out [post update] : MultiValuedMap [, ] : String | provenance | MaD:694 | +| Test.java:3283:20:3283:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:3283:20:3283:35 | getMapValue(...) : Collection [] : String | Test.java:3283:9:3283:36 | getElement(...) | provenance | MaD:1 | +| Test.java:3283:32:3283:34 | out : MultiValuedMap [, ] : String | Test.java:247:32:247:60 | container : MultiValuedMap [, ] : String | provenance | | +| Test.java:3283:32:3283:34 | out : MultiValuedMap [, ] : String | Test.java:3283:20:3283:35 | getMapValue(...) : Collection [] : String | provenance | MaD:684 | +| Test.java:3288:24:3288:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | Test.java:3289:15:3289:16 | in : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:3288:43:3288:58 | (...)... : String | Test.java:272:58:272:62 | key : String | provenance | | +| Test.java:3288:43:3288:58 | (...)... : String | Test.java:3288:24:3288:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | provenance | MaD:689 | +| Test.java:3288:51:3288:58 | source(...) : Object | Test.java:3288:43:3288:58 | (...)... : String | provenance | | +| Test.java:3289:4:3289:6 | out [post update] : MultiValuedMap [] : String | Test.java:3290:19:3290:21 | out : MultiValuedMap [] : String | provenance | | +| Test.java:3289:15:3289:16 | in : ArrayListValuedHashMap [] : String | Test.java:3289:4:3289:6 | out [post update] : MultiValuedMap [] : String | provenance | MaD:693 | +| Test.java:3290:19:3290:21 | out : MultiValuedMap [] : String | Test.java:240:18:240:46 | container : MultiValuedMap [] : String | provenance | | +| Test.java:3290:19:3290:21 | out : MultiValuedMap [] : String | Test.java:3290:9:3290:22 | getMapKey(...) | provenance | MaD:685 | +| Test.java:3295:16:3295:23 | source(...) : Object | Test.java:3296:15:3296:16 | in : Object | provenance | | +| Test.java:3296:4:3296:6 | out [post update] : MultiValuedMap [] : Object | Test.java:3297:19:3297:21 | out : MultiValuedMap [] : Object | provenance | | +| Test.java:3296:15:3296:16 | in : Object | Test.java:3296:4:3296:6 | out [post update] : MultiValuedMap [] : Object | provenance | MaD:695 | +| Test.java:3297:19:3297:21 | out : MultiValuedMap [] : Object | Test.java:240:18:240:46 | container : MultiValuedMap [] : Object | provenance | | +| Test.java:3297:19:3297:21 | out : MultiValuedMap [] : Object | Test.java:3297:9:3297:22 | getMapKey(...) | provenance | MaD:685 | +| Test.java:3302:18:3302:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | Test.java:3303:21:3303:22 | in : FluentIterable [] : String | provenance | | +| Test.java:3302:47:3302:62 | (...)... : String | Test.java:257:53:257:61 | element : String | provenance | | +| Test.java:3302:47:3302:62 | (...)... : String | Test.java:3302:18:3302:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | provenance | MaD:469 | +| Test.java:3302:55:3302:62 | source(...) : Object | Test.java:3302:47:3302:62 | (...)... : String | provenance | | +| Test.java:3303:4:3303:6 | out [post update] : MultiValuedMap [, ] : String | Test.java:3304:32:3304:34 | out : MultiValuedMap [, ] : String | provenance | | +| Test.java:3303:21:3303:22 | in : FluentIterable [] : String | Test.java:3303:4:3303:6 | out [post update] : MultiValuedMap [, ] : String | provenance | MaD:696 | +| Test.java:3304:20:3304:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:3304:20:3304:35 | getMapValue(...) : Collection [] : String | Test.java:3304:9:3304:36 | getElement(...) | provenance | MaD:1 | +| Test.java:3304:32:3304:34 | out : MultiValuedMap [, ] : String | Test.java:247:32:247:60 | container : MultiValuedMap [, ] : String | provenance | | +| Test.java:3304:32:3304:34 | out : MultiValuedMap [, ] : String | Test.java:3304:20:3304:35 | getMapValue(...) : Collection [] : String | provenance | MaD:684 | +| Test.java:3309:22:3309:59 | newHSVHMWithMapValue(...) : HashSetValuedHashMap [, ] : String | Test.java:3310:10:3310:11 | in : HashSetValuedHashMap [, ] : String | provenance | | +| Test.java:3309:43:3309:58 | (...)... : String | Test.java:294:58:294:64 | value : String | provenance | | +| Test.java:3309:43:3309:58 | (...)... : String | Test.java:3309:22:3309:59 | newHSVHMWithMapValue(...) : HashSetValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:3309:51:3309:58 | source(...) : Object | Test.java:3309:43:3309:58 | (...)... : String | provenance | | +| Test.java:3310:10:3310:11 | in : HashSetValuedHashMap [, ] : String | Test.java:3310:10:3310:24 | remove(...) : Set [] : String | provenance | MaD:697 | +| Test.java:3310:10:3310:24 | remove(...) : Set [] : String | Test.java:3311:20:3311:22 | out : Set [] : String | provenance | | +| Test.java:3311:20:3311:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:3311:20:3311:22 | out : Set [] : String | Test.java:3311:9:3311:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3316:23:3316:60 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:3317:10:3317:11 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:3316:44:3316:59 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:3316:44:3316:59 | (...)... : String | Test.java:3316:23:3316:60 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:3316:52:3316:59 | source(...) : Object | Test.java:3316:44:3316:59 | (...)... : String | provenance | | +| Test.java:3317:10:3317:11 | in : ArrayListValuedHashMap [, ] : String | Test.java:3317:10:3317:24 | remove(...) : List [] : String | provenance | MaD:697 | +| Test.java:3317:10:3317:24 | remove(...) : List [] : String | Test.java:3318:20:3318:22 | out : List [] : String | provenance | | +| Test.java:3318:20:3318:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:3318:20:3318:22 | out : List [] : String | Test.java:3318:9:3318:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3323:24:3323:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:3324:10:3324:11 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:3323:45:3323:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:3323:45:3323:60 | (...)... : String | Test.java:3323:24:3323:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:3323:53:3323:60 | source(...) : Object | Test.java:3323:45:3323:60 | (...)... : String | provenance | | +| Test.java:3324:10:3324:11 | in : ArrayListValuedHashMap [, ] : String | Test.java:3324:10:3324:24 | remove(...) : Collection [] : String | provenance | MaD:697 | +| Test.java:3324:10:3324:24 | remove(...) : Collection [] : String | Test.java:3325:20:3325:22 | out : Collection [] : String | provenance | | +| Test.java:3325:20:3325:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:3325:20:3325:22 | out : Collection [] : String | Test.java:3325:9:3325:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3330:24:3330:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:3331:10:3331:11 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:3330:45:3330:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:3330:45:3330:60 | (...)... : String | Test.java:3330:24:3330:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:3330:53:3330:60 | source(...) : Object | Test.java:3330:45:3330:60 | (...)... : String | provenance | | +| Test.java:3331:10:3331:11 | in : ArrayListValuedHashMap [, ] : String | Test.java:3331:10:3331:20 | values(...) : Collection [] : String | provenance | MaD:698 | +| Test.java:3331:10:3331:20 | values(...) : Collection [] : String | Test.java:3332:20:3332:22 | out : Collection [] : String | provenance | | +| Test.java:3332:20:3332:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:3332:20:3332:22 | out : Collection [] : String | Test.java:3332:9:3332:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3337:28:3337:62 | newOMIWithElement(...) : OrderedMapIterator [] : String | Test.java:3338:10:3338:11 | in : OrderedMapIterator [] : String | provenance | | +| Test.java:3337:46:3337:61 | (...)... : String | Test.java:283:53:283:57 | key : String | provenance | | +| Test.java:3337:46:3337:61 | (...)... : String | Test.java:3337:28:3337:62 | newOMIWithElement(...) : OrderedMapIterator [] : String | provenance | MaD:14 | +| Test.java:3337:46:3337:61 | (...)... : String | Test.java:3337:28:3337:62 | newOMIWithElement(...) : OrderedMapIterator [] : String | provenance | MaD:705 | +| Test.java:3337:54:3337:61 | source(...) : Object | Test.java:3337:46:3337:61 | (...)... : String | provenance | | +| Test.java:3338:10:3338:11 | in : OrderedMapIterator [] : String | Test.java:3338:10:3338:22 | previous(...) : String | provenance | MaD:699 | +| Test.java:3338:10:3338:22 | previous(...) : String | Test.java:3339:9:3339:11 | out | provenance | | +| Test.java:3344:25:3344:59 | newOMIWithElement(...) : OrderedMapIterator [] : String | Test.java:3345:10:3345:11 | in : OrderedMapIterator [] : String | provenance | | +| Test.java:3344:43:3344:58 | (...)... : String | Test.java:283:53:283:57 | key : String | provenance | | +| Test.java:3344:43:3344:58 | (...)... : String | Test.java:3344:25:3344:59 | newOMIWithElement(...) : OrderedMapIterator [] : String | provenance | MaD:14 | +| Test.java:3344:43:3344:58 | (...)... : String | Test.java:3344:25:3344:59 | newOMIWithElement(...) : OrderedMapIterator [] : String | provenance | MaD:705 | +| Test.java:3344:51:3344:58 | source(...) : Object | Test.java:3344:43:3344:58 | (...)... : String | provenance | | +| Test.java:3345:10:3345:11 | in : OrderedMapIterator [] : String | Test.java:3345:10:3345:22 | previous(...) : String | provenance | MaD:699 | +| Test.java:3345:10:3345:22 | previous(...) : String | Test.java:3346:9:3346:11 | out | provenance | | +| Test.java:3351:20:3351:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | Test.java:3352:10:3352:11 | in : TreeBidiMap [] : String | provenance | | +| Test.java:3351:45:3351:60 | (...)... : String | Test.java:287:75:287:79 | key : String | provenance | | +| Test.java:3351:45:3351:60 | (...)... : String | Test.java:3351:20:3351:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | provenance | MaD:14 | +| Test.java:3351:45:3351:60 | (...)... : String | Test.java:3351:20:3351:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | provenance | MaD:705 | +| Test.java:3351:53:3351:60 | source(...) : Object | Test.java:3351:45:3351:60 | (...)... : String | provenance | | +| Test.java:3352:10:3352:11 | in : TreeBidiMap [] : String | Test.java:3352:10:3352:22 | firstKey(...) : String | provenance | MaD:700 | +| Test.java:3352:10:3352:22 | firstKey(...) : String | Test.java:3353:9:3353:11 | out | provenance | | +| Test.java:3358:20:3358:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | Test.java:3359:10:3359:11 | in : TreeBidiMap [] : String | provenance | | +| Test.java:3358:45:3358:60 | (...)... : String | Test.java:287:75:287:79 | key : String | provenance | | +| Test.java:3358:45:3358:60 | (...)... : String | Test.java:3358:20:3358:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | provenance | MaD:14 | +| Test.java:3358:45:3358:60 | (...)... : String | Test.java:3358:20:3358:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | provenance | MaD:705 | +| Test.java:3358:53:3358:60 | source(...) : Object | Test.java:3358:45:3358:60 | (...)... : String | provenance | | +| Test.java:3359:10:3359:11 | in : TreeBidiMap [] : String | Test.java:3359:10:3359:21 | lastKey(...) : String | provenance | MaD:701 | +| Test.java:3359:10:3359:21 | lastKey(...) : String | Test.java:3360:9:3360:11 | out | provenance | | +| Test.java:3365:20:3365:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | Test.java:3366:10:3366:11 | in : TreeBidiMap [] : String | provenance | | +| Test.java:3365:45:3365:60 | (...)... : String | Test.java:287:75:287:79 | key : String | provenance | | +| Test.java:3365:45:3365:60 | (...)... : String | Test.java:3365:20:3365:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | provenance | MaD:14 | +| Test.java:3365:45:3365:60 | (...)... : String | Test.java:3365:20:3365:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | provenance | MaD:705 | +| Test.java:3365:53:3365:60 | source(...) : Object | Test.java:3365:45:3365:60 | (...)... : String | provenance | | +| Test.java:3366:10:3366:11 | in : TreeBidiMap [] : String | Test.java:3366:10:3366:25 | nextKey(...) : String | provenance | MaD:702 | +| Test.java:3366:10:3366:25 | nextKey(...) : String | Test.java:3367:9:3367:11 | out | provenance | | +| Test.java:3372:20:3372:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | Test.java:3373:10:3373:11 | in : TreeBidiMap [] : String | provenance | | +| Test.java:3372:45:3372:60 | (...)... : String | Test.java:287:75:287:79 | key : String | provenance | | +| Test.java:3372:45:3372:60 | (...)... : String | Test.java:3372:20:3372:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | provenance | MaD:14 | +| Test.java:3372:45:3372:60 | (...)... : String | Test.java:3372:20:3372:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | provenance | MaD:705 | +| Test.java:3372:53:3372:60 | source(...) : Object | Test.java:3372:45:3372:60 | (...)... : String | provenance | | +| Test.java:3373:10:3373:11 | in : TreeBidiMap [] : String | Test.java:3373:10:3373:29 | previousKey(...) : String | provenance | MaD:703 | +| Test.java:3373:10:3373:29 | previousKey(...) : String | Test.java:3374:9:3374:11 | out | provenance | | +| Test.java:3379:16:3379:23 | source(...) : Object | Test.java:3380:12:3380:13 | in : Object | provenance | | +| Test.java:3380:4:3380:6 | out [post update] : Put [] : Object | Test.java:3381:26:3381:28 | out : Put [] : Object | provenance | | +| Test.java:3380:12:3380:13 | in : Object | Test.java:3380:4:3380:6 | out [post update] : Put [] : Object | provenance | MaD:705 | +| Test.java:3381:26:3381:28 | out : Put [] : Object | Test.java:242:27:242:44 | container : Put [] : Object | provenance | | +| Test.java:3381:26:3381:28 | out : Put [] : Object | Test.java:3381:9:3381:29 | getMapKeyFromPut(...) | provenance | MaD:10 | +| Test.java:3386:16:3386:23 | source(...) : Object | Test.java:3387:12:3387:13 | in : Object | provenance | | +| Test.java:3387:4:3387:6 | out [post update] : MultiValueMap [] : Object | Test.java:3388:19:3388:21 | out : MultiValueMap [] : Object | provenance | | +| Test.java:3387:12:3387:13 | in : Object | Test.java:3387:4:3387:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:14 | +| Test.java:3387:12:3387:13 | in : Object | Test.java:3387:4:3387:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:661 | +| Test.java:3387:12:3387:13 | in : Object | Test.java:3387:4:3387:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:705 | +| Test.java:3388:19:3388:21 | out : MultiValueMap [] : Object | Test.java:228:18:228:29 | map : MultiValueMap [] : Object | provenance | | +| Test.java:3388:19:3388:21 | out : MultiValueMap [] : Object | Test.java:3388:9:3388:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3393:16:3393:23 | source(...) : Object | Test.java:3394:12:3394:13 | in : Object | provenance | | +| Test.java:3394:4:3394:6 | out [post update] : MultiMap [] : Object | Test.java:3395:19:3395:21 | out : MultiMap [] : Object | provenance | | +| Test.java:3394:12:3394:13 | in : Object | Test.java:3394:4:3394:6 | out [post update] : MultiMap [] : Object | provenance | MaD:14 | +| Test.java:3394:12:3394:13 | in : Object | Test.java:3394:4:3394:6 | out [post update] : MultiMap [] : Object | provenance | MaD:661 | +| Test.java:3394:12:3394:13 | in : Object | Test.java:3394:4:3394:6 | out [post update] : MultiMap [] : Object | provenance | MaD:705 | +| Test.java:3395:19:3395:21 | out : MultiMap [] : Object | Test.java:228:18:228:29 | map : MultiMap [] : Object | provenance | | +| Test.java:3395:19:3395:21 | out : MultiMap [] : Object | Test.java:3395:9:3395:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3400:16:3400:23 | source(...) : Object | Test.java:3401:12:3401:13 | in : Object | provenance | | +| Test.java:3401:4:3401:6 | out [post update] : BidiMap [] : Object | Test.java:3402:19:3402:21 | out : BidiMap [] : Object | provenance | | +| Test.java:3401:12:3401:13 | in : Object | Test.java:3401:4:3401:6 | out [post update] : BidiMap [] : Object | provenance | MaD:14 | +| Test.java:3401:12:3401:13 | in : Object | Test.java:3401:4:3401:6 | out [post update] : BidiMap [] : Object | provenance | MaD:705 | +| Test.java:3402:19:3402:21 | out : BidiMap [] : Object | Test.java:228:18:228:29 | map : BidiMap [] : Object | provenance | | +| Test.java:3402:19:3402:21 | out : BidiMap [] : Object | Test.java:3402:9:3402:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3407:16:3407:23 | source(...) : Object | Test.java:3408:12:3408:13 | in : Object | provenance | | +| Test.java:3408:4:3408:6 | out [post update] : AbstractMapDecorator [] : Object | Test.java:3409:19:3409:21 | out : AbstractMapDecorator [] : Object | provenance | | +| Test.java:3408:12:3408:13 | in : Object | Test.java:3408:4:3408:6 | out [post update] : AbstractMapDecorator [] : Object | provenance | MaD:14 | +| Test.java:3408:12:3408:13 | in : Object | Test.java:3408:4:3408:6 | out [post update] : AbstractMapDecorator [] : Object | provenance | MaD:705 | +| Test.java:3409:19:3409:21 | out : AbstractMapDecorator [] : Object | Test.java:228:18:228:29 | map : AbstractMapDecorator [] : Object | provenance | | +| Test.java:3409:19:3409:21 | out : AbstractMapDecorator [] : Object | Test.java:3409:9:3409:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3414:16:3414:23 | source(...) : Object | Test.java:3415:18:3415:19 | in : Object | provenance | | +| Test.java:3415:4:3415:6 | out [post update] : Put [] : Object | Test.java:3416:28:3416:30 | out : Put [] : Object | provenance | | +| Test.java:3415:18:3415:19 | in : Object | Test.java:3415:4:3415:6 | out [post update] : Put [] : Object | provenance | MaD:706 | +| Test.java:3416:28:3416:30 | out : Put [] : Object | Test.java:249:29:249:46 | container : Put [] : Object | provenance | | +| Test.java:3416:28:3416:30 | out : Put [] : Object | Test.java:3416:9:3416:31 | getMapValueFromPut(...) | provenance | MaD:9 | +| Test.java:3421:16:3421:23 | source(...) : Object | Test.java:3422:18:3422:19 | in : Object | provenance | | +| Test.java:3422:4:3422:6 | out [post update] : MultiValueMap [] : Object | Test.java:3423:21:3423:23 | out : MultiValueMap [] : Object | provenance | | +| Test.java:3422:18:3422:19 | in : Object | Test.java:3422:4:3422:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:15 | +| Test.java:3422:18:3422:19 | in : Object | Test.java:3422:4:3422:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:706 | +| Test.java:3423:21:3423:23 | out : MultiValueMap [] : Object | Test.java:232:20:232:31 | map : MultiValueMap [] : Object | provenance | | +| Test.java:3423:21:3423:23 | out : MultiValueMap [] : Object | Test.java:3423:9:3423:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:3428:16:3428:23 | source(...) : Object | Test.java:3429:18:3429:19 | in : Object | provenance | | +| Test.java:3429:4:3429:6 | out [post update] : MultiMap [] : Object | Test.java:3430:21:3430:23 | out : MultiMap [] : Object | provenance | | +| Test.java:3429:18:3429:19 | in : Object | Test.java:3429:4:3429:6 | out [post update] : MultiMap [] : Object | provenance | MaD:15 | +| Test.java:3429:18:3429:19 | in : Object | Test.java:3429:4:3429:6 | out [post update] : MultiMap [] : Object | provenance | MaD:706 | +| Test.java:3430:21:3430:23 | out : MultiMap [] : Object | Test.java:232:20:232:31 | map : MultiMap [] : Object | provenance | | +| Test.java:3430:21:3430:23 | out : MultiMap [] : Object | Test.java:3430:9:3430:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:3435:16:3435:23 | source(...) : Object | Test.java:3436:18:3436:19 | in : Object | provenance | | +| Test.java:3436:4:3436:6 | out [post update] : BidiMap [] : Object | Test.java:3437:21:3437:23 | out : BidiMap [] : Object | provenance | | +| Test.java:3436:18:3436:19 | in : Object | Test.java:3436:4:3436:6 | out [post update] : BidiMap [] : Object | provenance | MaD:15 | +| Test.java:3436:18:3436:19 | in : Object | Test.java:3436:4:3436:6 | out [post update] : BidiMap [] : Object | provenance | MaD:706 | +| Test.java:3437:21:3437:23 | out : BidiMap [] : Object | Test.java:232:20:232:31 | map : BidiMap [] : Object | provenance | | +| Test.java:3437:21:3437:23 | out : BidiMap [] : Object | Test.java:3437:9:3437:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:3442:16:3442:23 | source(...) : Object | Test.java:3443:18:3443:19 | in : Object | provenance | | +| Test.java:3443:4:3443:6 | out [post update] : AbstractMapDecorator [] : Object | Test.java:3444:21:3444:23 | out : AbstractMapDecorator [] : Object | provenance | | +| Test.java:3443:18:3443:19 | in : Object | Test.java:3443:4:3443:6 | out [post update] : AbstractMapDecorator [] : Object | provenance | MaD:15 | +| Test.java:3443:18:3443:19 | in : Object | Test.java:3443:4:3443:6 | out [post update] : AbstractMapDecorator [] : Object | provenance | MaD:706 | +| Test.java:3444:21:3444:23 | out : AbstractMapDecorator [] : Object | Test.java:232:20:232:31 | map : AbstractMapDecorator [] : Object | provenance | | +| Test.java:3444:21:3444:23 | out : AbstractMapDecorator [] : Object | Test.java:3444:9:3444:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:3449:13:3449:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | Test.java:3450:10:3450:11 | in : HashedMap [] : String | provenance | | +| Test.java:3449:38:3449:53 | (...)... : String | Test.java:293:51:293:57 | value : String | provenance | | +| Test.java:3449:38:3449:53 | (...)... : String | Test.java:3449:13:3449:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | provenance | MaD:15 | +| Test.java:3449:38:3449:53 | (...)... : String | Test.java:3449:13:3449:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | provenance | MaD:706 | +| Test.java:3449:46:3449:53 | source(...) : Object | Test.java:3449:38:3449:53 | (...)... : String | provenance | | +| Test.java:3450:10:3450:11 | in : HashedMap [] : String | Test.java:3450:10:3450:27 | put(...) : String | provenance | MaD:704 | +| Test.java:3450:10:3450:27 | put(...) : String | Test.java:3451:9:3451:11 | out | provenance | | +| Test.java:3456:23:3456:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:3457:10:3457:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:3456:42:3456:57 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:3456:42:3456:57 | (...)... : String | Test.java:3456:23:3456:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:3456:42:3456:57 | (...)... : String | Test.java:3456:23:3456:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:3456:50:3456:57 | source(...) : Object | Test.java:3456:42:3456:57 | (...)... : String | provenance | | +| Test.java:3457:10:3457:11 | in : MultiValueMap [] : String | Test.java:3457:10:3457:27 | put(...) : String | provenance | MaD:13 | +| Test.java:3457:10:3457:11 | in : MultiValueMap [] : String | Test.java:3457:10:3457:27 | put(...) : String | provenance | MaD:704 | +| Test.java:3457:10:3457:27 | put(...) : String | Test.java:3458:9:3458:11 | out | provenance | | +| Test.java:3463:18:3463:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:3464:10:3464:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:3463:37:3463:52 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:3463:37:3463:52 | (...)... : String | Test.java:3463:18:3463:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:3463:37:3463:52 | (...)... : String | Test.java:3463:18:3463:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:3463:45:3463:52 | source(...) : Object | Test.java:3463:37:3463:52 | (...)... : String | provenance | | +| Test.java:3464:10:3464:11 | in : MultiValueMap [] : String | Test.java:3464:10:3464:27 | put(...) : String | provenance | MaD:13 | +| Test.java:3464:10:3464:11 | in : MultiValueMap [] : String | Test.java:3464:10:3464:27 | put(...) : String | provenance | MaD:704 | +| Test.java:3464:10:3464:27 | put(...) : String | Test.java:3465:9:3465:11 | out | provenance | | +| Test.java:3470:17:3470:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | Test.java:3471:10:3471:11 | in : TreeBidiMap [] : String | provenance | | +| Test.java:3470:44:3470:59 | (...)... : String | Test.java:306:77:306:83 | value : String | provenance | | +| Test.java:3470:44:3470:59 | (...)... : String | Test.java:3470:17:3470:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | provenance | MaD:15 | +| Test.java:3470:44:3470:59 | (...)... : String | Test.java:3470:17:3470:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | provenance | MaD:706 | +| Test.java:3470:52:3470:59 | source(...) : Object | Test.java:3470:44:3470:59 | (...)... : String | provenance | | +| Test.java:3471:10:3471:11 | in : TreeBidiMap [] : String | Test.java:3471:10:3471:27 | put(...) : String | provenance | MaD:13 | +| Test.java:3471:10:3471:11 | in : TreeBidiMap [] : String | Test.java:3471:10:3471:27 | put(...) : String | provenance | MaD:704 | +| Test.java:3471:10:3471:27 | put(...) : String | Test.java:3472:9:3472:11 | out | provenance | | +| Test.java:3477:30:3477:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:3478:10:3478:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:3477:49:3477:64 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:3477:49:3477:64 | (...)... : String | Test.java:3477:30:3477:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:3477:49:3477:64 | (...)... : String | Test.java:3477:30:3477:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:3477:57:3477:64 | source(...) : Object | Test.java:3477:49:3477:64 | (...)... : String | provenance | | +| Test.java:3478:10:3478:11 | in : MultiValueMap [] : String | Test.java:3478:10:3478:27 | put(...) : String | provenance | MaD:13 | +| Test.java:3478:10:3478:11 | in : MultiValueMap [] : String | Test.java:3478:10:3478:27 | put(...) : String | provenance | MaD:704 | +| Test.java:3478:10:3478:27 | put(...) : String | Test.java:3479:9:3479:11 | out | provenance | | +| Test.java:3484:13:3484:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:3485:15:3485:16 | in : TreeMap [] : String | provenance | | +| Test.java:3484:34:3484:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:3484:34:3484:49 | (...)... : String | Test.java:3484:13:3484:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:3484:42:3484:49 | source(...) : Object | Test.java:3484:34:3484:49 | (...)... : String | provenance | | +| Test.java:3485:4:3485:6 | out [post update] : Put [] : String | Test.java:3486:26:3486:28 | out : Put [] : String | provenance | | +| Test.java:3485:15:3485:16 | in : TreeMap [] : String | Test.java:3485:4:3485:6 | out [post update] : Put [] : String | provenance | MaD:707 | +| Test.java:3486:26:3486:28 | out : Put [] : String | Test.java:242:27:242:44 | container : Put [] : String | provenance | | +| Test.java:3486:26:3486:28 | out : Put [] : String | Test.java:3486:9:3486:29 | getMapKeyFromPut(...) | provenance | MaD:10 | +| Test.java:3491:13:3491:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:3492:15:3492:16 | in : TreeMap [] : String | provenance | | +| Test.java:3491:34:3491:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:3491:34:3491:49 | (...)... : String | Test.java:3491:13:3491:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:3491:42:3491:49 | source(...) : Object | Test.java:3491:34:3491:49 | (...)... : String | provenance | | +| Test.java:3492:4:3492:6 | out [post update] : MultiValueMap [] : String | Test.java:3493:19:3493:21 | out : MultiValueMap [] : String | provenance | | +| Test.java:3492:15:3492:16 | in : TreeMap [] : String | Test.java:3492:4:3492:6 | out [post update] : MultiValueMap [] : String | provenance | MaD:16 | +| Test.java:3492:15:3492:16 | in : TreeMap [] : String | Test.java:3492:4:3492:6 | out [post update] : MultiValueMap [] : String | provenance | MaD:707 | +| Test.java:3493:19:3493:21 | out : MultiValueMap [] : String | Test.java:228:18:228:29 | map : MultiValueMap [] : String | provenance | | +| Test.java:3493:19:3493:21 | out : MultiValueMap [] : String | Test.java:3493:9:3493:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3498:13:3498:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:3499:15:3499:16 | in : TreeMap [] : String | provenance | | +| Test.java:3498:34:3498:49 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:3498:34:3498:49 | (...)... : String | Test.java:3498:13:3498:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:3498:42:3498:49 | source(...) : Object | Test.java:3498:34:3498:49 | (...)... : String | provenance | | +| Test.java:3499:4:3499:6 | out [post update] : AbstractMapDecorator [] : String | Test.java:3500:19:3500:21 | out : AbstractMapDecorator [] : String | provenance | | +| Test.java:3499:15:3499:16 | in : TreeMap [] : String | Test.java:3499:4:3499:6 | out [post update] : AbstractMapDecorator [] : String | provenance | MaD:16 | +| Test.java:3499:15:3499:16 | in : TreeMap [] : String | Test.java:3499:4:3499:6 | out [post update] : AbstractMapDecorator [] : String | provenance | MaD:707 | +| Test.java:3500:19:3500:21 | out : AbstractMapDecorator [] : String | Test.java:228:18:228:29 | map : AbstractMapDecorator [] : String | provenance | | +| Test.java:3500:19:3500:21 | out : AbstractMapDecorator [] : String | Test.java:3500:9:3500:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3505:13:3505:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:3506:15:3506:16 | in : TreeMap [] : String | provenance | | +| Test.java:3505:36:3505:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:3505:36:3505:51 | (...)... : String | Test.java:3505:13:3505:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:3505:44:3505:51 | source(...) : Object | Test.java:3505:36:3505:51 | (...)... : String | provenance | | +| Test.java:3506:4:3506:6 | out [post update] : Put [] : String | Test.java:3507:28:3507:30 | out : Put [] : String | provenance | | +| Test.java:3506:15:3506:16 | in : TreeMap [] : String | Test.java:3506:4:3506:6 | out [post update] : Put [] : String | provenance | MaD:708 | +| Test.java:3507:28:3507:30 | out : Put [] : String | Test.java:249:29:249:46 | container : Put [] : String | provenance | | +| Test.java:3507:28:3507:30 | out : Put [] : String | Test.java:3507:9:3507:31 | getMapValueFromPut(...) | provenance | MaD:9 | +| Test.java:3512:13:3512:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:3513:15:3513:16 | in : TreeMap [] : String | provenance | | +| Test.java:3512:36:3512:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:3512:36:3512:51 | (...)... : String | Test.java:3512:13:3512:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:3512:44:3512:51 | source(...) : Object | Test.java:3512:36:3512:51 | (...)... : String | provenance | | +| Test.java:3513:4:3513:6 | out [post update] : MultiValueMap [] : String | Test.java:3514:21:3514:23 | out : MultiValueMap [] : String | provenance | | +| Test.java:3513:15:3513:16 | in : TreeMap [] : String | Test.java:3513:4:3513:6 | out [post update] : MultiValueMap [] : String | provenance | MaD:17 | +| Test.java:3513:15:3513:16 | in : TreeMap [] : String | Test.java:3513:4:3513:6 | out [post update] : MultiValueMap [] : String | provenance | MaD:708 | +| Test.java:3514:21:3514:23 | out : MultiValueMap [] : String | Test.java:232:20:232:31 | map : MultiValueMap [] : String | provenance | | +| Test.java:3514:21:3514:23 | out : MultiValueMap [] : String | Test.java:3514:9:3514:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:3519:13:3519:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:3520:15:3520:16 | in : TreeMap [] : String | provenance | | +| Test.java:3519:36:3519:51 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:3519:36:3519:51 | (...)... : String | Test.java:3519:13:3519:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:3519:44:3519:51 | source(...) : Object | Test.java:3519:36:3519:51 | (...)... : String | provenance | | +| Test.java:3520:4:3520:6 | out [post update] : AbstractMapDecorator [] : String | Test.java:3521:21:3521:23 | out : AbstractMapDecorator [] : String | provenance | | +| Test.java:3520:15:3520:16 | in : TreeMap [] : String | Test.java:3520:4:3520:6 | out [post update] : AbstractMapDecorator [] : String | provenance | MaD:17 | +| Test.java:3520:15:3520:16 | in : TreeMap [] : String | Test.java:3520:4:3520:6 | out [post update] : AbstractMapDecorator [] : String | provenance | MaD:708 | +| Test.java:3521:21:3521:23 | out : AbstractMapDecorator [] : String | Test.java:232:20:232:31 | map : AbstractMapDecorator [] : String | provenance | | +| Test.java:3521:21:3521:23 | out : AbstractMapDecorator [] : String | Test.java:3521:9:3521:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:3526:15:3526:51 | newQueueWithElement(...) : LinkedList [] : String | Test.java:3527:37:3527:38 | in : LinkedList [] : String | provenance | | +| Test.java:3526:35:3526:50 | (...)... : String | Test.java:265:35:265:43 | element : String | provenance | | +| Test.java:3526:35:3526:50 | (...)... : String | Test.java:3526:15:3526:51 | newQueueWithElement(...) : LinkedList [] : String | provenance | MaD:2 | +| Test.java:3526:43:3526:50 | source(...) : Object | Test.java:3526:35:3526:50 | (...)... : String | provenance | | +| Test.java:3527:10:3527:45 | predicatedQueue(...) : Queue [] : String | Test.java:3528:20:3528:22 | out : Queue [] : String | provenance | | +| Test.java:3527:37:3527:38 | in : LinkedList [] : String | Test.java:3527:10:3527:45 | predicatedQueue(...) : Queue [] : String | provenance | MaD:709 | +| Test.java:3528:20:3528:22 | out : Queue [] : String | Test.java:230:19:230:32 | it : Queue [] : String | provenance | | +| Test.java:3528:20:3528:22 | out : Queue [] : String | Test.java:3528:9:3528:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3533:15:3533:51 | newQueueWithElement(...) : LinkedList [] : String | Test.java:3534:39:3534:40 | in : LinkedList [] : String | provenance | | +| Test.java:3533:35:3533:50 | (...)... : String | Test.java:265:35:265:43 | element : String | provenance | | +| Test.java:3533:35:3533:50 | (...)... : String | Test.java:3533:15:3533:51 | newQueueWithElement(...) : LinkedList [] : String | provenance | MaD:2 | +| Test.java:3533:43:3533:50 | source(...) : Object | Test.java:3533:35:3533:50 | (...)... : String | provenance | | +| Test.java:3534:10:3534:41 | synchronizedQueue(...) : Queue [] : String | Test.java:3535:20:3535:22 | out : Queue [] : String | provenance | | +| Test.java:3534:39:3534:40 | in : LinkedList [] : String | Test.java:3534:10:3534:41 | synchronizedQueue(...) : Queue [] : String | provenance | MaD:710 | +| Test.java:3535:20:3535:22 | out : Queue [] : String | Test.java:230:19:230:32 | it : Queue [] : String | provenance | | +| Test.java:3535:20:3535:22 | out : Queue [] : String | Test.java:3535:9:3535:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3540:15:3540:51 | newQueueWithElement(...) : LinkedList [] : String | Test.java:3541:39:3541:40 | in : LinkedList [] : String | provenance | | +| Test.java:3540:35:3540:50 | (...)... : String | Test.java:265:35:265:43 | element : String | provenance | | +| Test.java:3540:35:3540:50 | (...)... : String | Test.java:3540:15:3540:51 | newQueueWithElement(...) : LinkedList [] : String | provenance | MaD:2 | +| Test.java:3540:43:3540:50 | source(...) : Object | Test.java:3540:35:3540:50 | (...)... : String | provenance | | +| Test.java:3541:10:3541:47 | transformingQueue(...) : Queue [] : String | Test.java:3542:20:3542:22 | out : Queue [] : String | provenance | | +| Test.java:3541:39:3541:40 | in : LinkedList [] : String | Test.java:3541:10:3541:47 | transformingQueue(...) : Queue [] : String | provenance | MaD:711 | +| Test.java:3542:20:3542:22 | out : Queue [] : String | Test.java:230:19:230:32 | it : Queue [] : String | provenance | | +| Test.java:3542:20:3542:22 | out : Queue [] : String | Test.java:3542:9:3542:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3547:15:3547:51 | newQueueWithElement(...) : LinkedList [] : String | Test.java:3548:39:3548:40 | in : LinkedList [] : String | provenance | | +| Test.java:3547:35:3547:50 | (...)... : String | Test.java:265:35:265:43 | element : String | provenance | | +| Test.java:3547:35:3547:50 | (...)... : String | Test.java:3547:15:3547:51 | newQueueWithElement(...) : LinkedList [] : String | provenance | MaD:2 | +| Test.java:3547:43:3547:50 | source(...) : Object | Test.java:3547:35:3547:50 | (...)... : String | provenance | | +| Test.java:3548:10:3548:41 | unmodifiableQueue(...) : Queue [] : String | Test.java:3549:20:3549:22 | out : Queue [] : String | provenance | | +| Test.java:3548:39:3548:40 | in : LinkedList [] : String | Test.java:3548:10:3548:41 | unmodifiableQueue(...) : Queue [] : String | provenance | MaD:712 | +| Test.java:3549:20:3549:22 | out : Queue [] : String | Test.java:230:19:230:32 | it : Queue [] : String | provenance | | +| Test.java:3549:20:3549:22 | out : Queue [] : String | Test.java:3549:9:3549:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3554:26:3554:64 | newSetViewWithElement(...) : MySetView [] : String | Test.java:3555:4:3555:5 | in : MySetView [] : String | provenance | | +| Test.java:3554:48:3554:63 | (...)... : String | Test.java:266:41:266:49 | element : String | provenance | | +| Test.java:3554:48:3554:63 | (...)... : String | Test.java:3554:26:3554:64 | newSetViewWithElement(...) : MySetView [] : String | provenance | MaD:2 | +| Test.java:3554:56:3554:63 | source(...) : Object | Test.java:3554:48:3554:63 | (...)... : String | provenance | | +| Test.java:3555:4:3555:5 | in : MySetView [] : String | Test.java:3555:16:3555:18 | out [post update] : Set [] : String | provenance | MaD:735 | +| Test.java:3555:16:3555:18 | out [post update] : Set [] : String | Test.java:3556:20:3556:22 | out : Set [] : String | provenance | | +| Test.java:3556:20:3556:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:3556:20:3556:22 | out : Set [] : String | Test.java:3556:9:3556:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3561:19:3561:57 | newSetViewWithElement(...) : MySetView [] : String | Test.java:3562:10:3562:11 | in : MySetView [] : String | provenance | | +| Test.java:3561:41:3561:56 | (...)... : String | Test.java:266:41:266:49 | element : String | provenance | | +| Test.java:3561:41:3561:56 | (...)... : String | Test.java:3561:19:3561:57 | newSetViewWithElement(...) : MySetView [] : String | provenance | MaD:2 | +| Test.java:3561:49:3561:56 | source(...) : Object | Test.java:3561:41:3561:56 | (...)... : String | provenance | | +| Test.java:3562:10:3562:11 | in : MySetView [] : String | Test.java:3562:10:3562:30 | myCreateIterator(...) : Iterator [] : String | provenance | MaD:736 | +| Test.java:3562:10:3562:11 | in : MySetView [] : String | Test.java:7082:15:7082:30 | parameter this : MySetView [] : String | provenance | | +| Test.java:3562:10:3562:30 | myCreateIterator(...) : Iterator [] : String | Test.java:3563:20:3563:22 | out : Iterator [] : String | provenance | | +| Test.java:3563:20:3563:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:3563:20:3563:22 | out : Iterator [] : String | Test.java:3563:9:3563:23 | getElement(...) | provenance | MaD:4 | +| Test.java:3568:19:3568:57 | newSetViewWithElement(...) : MySetView [] : String | Test.java:3569:10:3569:11 | in : MySetView [] : String | provenance | | +| Test.java:3568:41:3568:56 | (...)... : String | Test.java:266:41:266:49 | element : String | provenance | | +| Test.java:3568:41:3568:56 | (...)... : String | Test.java:3568:19:3568:57 | newSetViewWithElement(...) : MySetView [] : String | provenance | MaD:2 | +| Test.java:3568:49:3568:56 | source(...) : Object | Test.java:3568:41:3568:56 | (...)... : String | provenance | | +| Test.java:3569:10:3569:11 | in : MySetView [] : String | Test.java:3569:10:3569:19 | toSet(...) : Set [] : String | provenance | MaD:737 | +| Test.java:3569:10:3569:19 | toSet(...) : Set [] : String | Test.java:3570:20:3570:22 | out : Set [] : String | provenance | | +| Test.java:3570:20:3570:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:3570:20:3570:22 | out : Set [] : String | Test.java:3570:9:3570:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3575:13:3575:51 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3576:30:3576:31 | in : TreeSet [] : String | provenance | | +| Test.java:3575:35:3575:50 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3575:35:3575:50 | (...)... : String | Test.java:3575:13:3575:51 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3575:43:3575:50 | source(...) : Object | Test.java:3575:35:3575:50 | (...)... : String | provenance | | +| Test.java:3576:10:3576:38 | difference(...) : SetView [] : String | Test.java:3577:20:3577:22 | out : SetView [] : String | provenance | | +| Test.java:3576:30:3576:31 | in : TreeSet [] : String | Test.java:3576:10:3576:38 | difference(...) : SetView [] : String | provenance | MaD:713 | +| Test.java:3577:20:3577:22 | out : SetView [] : String | Test.java:230:19:230:32 | it : SetView [] : String | provenance | | +| Test.java:3577:20:3577:22 | out : SetView [] : String | Test.java:3577:9:3577:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3582:13:3582:51 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3583:31:3583:32 | in : TreeSet [] : String | provenance | | +| Test.java:3582:35:3582:50 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3582:35:3582:50 | (...)... : String | Test.java:3582:13:3582:51 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3582:43:3582:50 | source(...) : Object | Test.java:3582:35:3582:50 | (...)... : String | provenance | | +| Test.java:3583:10:3583:39 | disjunction(...) : SetView [] : String | Test.java:3584:20:3584:22 | out : SetView [] : String | provenance | | +| Test.java:3583:31:3583:32 | in : TreeSet [] : String | Test.java:3583:10:3583:39 | disjunction(...) : SetView [] : String | provenance | MaD:714 | +| Test.java:3584:20:3584:22 | out : SetView [] : String | Test.java:230:19:230:32 | it : SetView [] : String | provenance | | +| Test.java:3584:20:3584:22 | out : SetView [] : String | Test.java:3584:9:3584:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3589:13:3589:51 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3590:37:3590:38 | in : TreeSet [] : String | provenance | | +| Test.java:3589:35:3589:50 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3589:35:3589:50 | (...)... : String | Test.java:3589:13:3589:51 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3589:43:3589:50 | source(...) : Object | Test.java:3589:35:3589:50 | (...)... : String | provenance | | +| Test.java:3590:10:3590:39 | disjunction(...) : SetView [] : String | Test.java:3591:20:3591:22 | out : SetView [] : String | provenance | | +| Test.java:3590:37:3590:38 | in : TreeSet [] : String | Test.java:3590:10:3590:39 | disjunction(...) : SetView [] : String | provenance | MaD:715 | +| Test.java:3591:20:3591:22 | out : SetView [] : String | Test.java:230:19:230:32 | it : SetView [] : String | provenance | | +| Test.java:3591:20:3591:22 | out : SetView [] : String | Test.java:3591:9:3591:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3596:13:3596:25 | (...)... : Set | Test.java:3597:31:3597:32 | in : Set | provenance | | +| Test.java:3596:18:3596:25 | source(...) : Object | Test.java:3596:13:3596:25 | (...)... : Set | provenance | | +| Test.java:3597:10:3597:33 | emptyIfNull(...) : Set | Test.java:3598:9:3598:11 | out | provenance | | +| Test.java:3597:31:3597:32 | in : Set | Test.java:3597:10:3597:33 | emptyIfNull(...) : Set | provenance | MaD:716 | +| Test.java:3603:16:3603:23 | source(...) : Object | Test.java:3604:27:3604:28 | in : Object | provenance | | +| Test.java:3604:10:3604:35 | hashSet(...) : HashSet [] : Object | Test.java:3605:20:3605:22 | out : HashSet [] : Object | provenance | | +| Test.java:3604:10:3604:35 | new ..[] { .. } : Object[] [[]] : Object | Test.java:3604:10:3604:35 | hashSet(...) : HashSet [] : Object | provenance | MaD:717 | +| Test.java:3604:27:3604:28 | in : Object | Test.java:3604:10:3604:35 | new ..[] { .. } : Object[] [[]] : Object | provenance | | +| Test.java:3605:20:3605:22 | out : HashSet [] : Object | Test.java:230:19:230:32 | it : HashSet [] : Object | provenance | | +| Test.java:3605:20:3605:22 | out : HashSet [] : Object | Test.java:3605:9:3605:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3610:13:3610:51 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3611:32:3611:33 | in : TreeSet [] : String | provenance | | +| Test.java:3610:35:3610:50 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3610:35:3610:50 | (...)... : String | Test.java:3610:13:3610:51 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3610:43:3610:50 | source(...) : Object | Test.java:3610:35:3610:50 | (...)... : String | provenance | | +| Test.java:3611:10:3611:40 | intersection(...) : SetView [] : String | Test.java:3612:20:3612:22 | out : SetView [] : String | provenance | | +| Test.java:3611:32:3611:33 | in : TreeSet [] : String | Test.java:3611:10:3611:40 | intersection(...) : SetView [] : String | provenance | MaD:718 | +| Test.java:3612:20:3612:22 | out : SetView [] : String | Test.java:230:19:230:32 | it : SetView [] : String | provenance | | +| Test.java:3612:20:3612:22 | out : SetView [] : String | Test.java:3612:9:3612:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3617:13:3617:51 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3618:38:3618:39 | in : TreeSet [] : String | provenance | | +| Test.java:3617:35:3617:50 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3617:35:3617:50 | (...)... : String | Test.java:3617:13:3617:51 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3617:43:3617:50 | source(...) : Object | Test.java:3617:35:3617:50 | (...)... : String | provenance | | +| Test.java:3618:10:3618:40 | intersection(...) : SetView [] : String | Test.java:3619:20:3619:22 | out : SetView [] : String | provenance | | +| Test.java:3618:38:3618:39 | in : TreeSet [] : String | Test.java:3618:10:3618:40 | intersection(...) : SetView [] : String | provenance | MaD:719 | +| Test.java:3619:20:3619:22 | out : SetView [] : String | Test.java:230:19:230:32 | it : SetView [] : String | provenance | | +| Test.java:3619:20:3619:22 | out : SetView [] : String | Test.java:3619:9:3619:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3624:13:3624:51 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3625:30:3625:31 | in : TreeSet [] : String | provenance | | +| Test.java:3624:35:3624:50 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3624:35:3624:50 | (...)... : String | Test.java:3624:13:3624:51 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3624:43:3624:50 | source(...) : Object | Test.java:3624:35:3624:50 | (...)... : String | provenance | | +| Test.java:3625:10:3625:32 | orderedSet(...) : Set [] : String | Test.java:3626:20:3626:22 | out : Set [] : String | provenance | | +| Test.java:3625:30:3625:31 | in : TreeSet [] : String | Test.java:3625:10:3625:32 | orderedSet(...) : Set [] : String | provenance | MaD:720 | +| Test.java:3626:20:3626:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:3626:20:3626:22 | out : Set [] : String | Test.java:3626:9:3626:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3631:22:3631:60 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3632:42:3632:43 | in : TreeSet [] : String | provenance | | +| Test.java:3631:44:3631:59 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3631:44:3631:59 | (...)... : String | Test.java:3631:22:3631:60 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3631:52:3631:59 | source(...) : Object | Test.java:3631:44:3631:59 | (...)... : String | provenance | | +| Test.java:3632:10:3632:50 | predicatedNavigableSet(...) : SortedSet [] : String | Test.java:3633:20:3633:22 | out : SortedSet [] : String | provenance | | +| Test.java:3632:42:3632:43 | in : TreeSet [] : String | Test.java:3632:10:3632:50 | predicatedNavigableSet(...) : SortedSet [] : String | provenance | MaD:721 | +| Test.java:3633:20:3633:22 | out : SortedSet [] : String | Test.java:230:19:230:32 | it : SortedSet [] : String | provenance | | +| Test.java:3633:20:3633:22 | out : SortedSet [] : String | Test.java:3633:9:3633:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3638:13:3638:51 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3639:33:3639:34 | in : TreeSet [] : String | provenance | | +| Test.java:3638:35:3638:50 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3638:35:3638:50 | (...)... : String | Test.java:3638:13:3638:51 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3638:43:3638:50 | source(...) : Object | Test.java:3638:35:3638:50 | (...)... : String | provenance | | +| Test.java:3639:10:3639:41 | predicatedSet(...) : Set [] : String | Test.java:3640:20:3640:22 | out : Set [] : String | provenance | | +| Test.java:3639:33:3639:34 | in : TreeSet [] : String | Test.java:3639:10:3639:41 | predicatedSet(...) : Set [] : String | provenance | MaD:722 | +| Test.java:3640:20:3640:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:3640:20:3640:22 | out : Set [] : String | Test.java:3640:9:3640:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3645:19:3645:57 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3646:39:3646:40 | in : TreeSet [] : String | provenance | | +| Test.java:3645:41:3645:56 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3645:41:3645:56 | (...)... : String | Test.java:3645:19:3645:57 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3645:49:3645:56 | source(...) : Object | Test.java:3645:41:3645:56 | (...)... : String | provenance | | +| Test.java:3646:10:3646:47 | predicatedSortedSet(...) : SortedSet [] : String | Test.java:3647:20:3647:22 | out : SortedSet [] : String | provenance | | +| Test.java:3646:39:3646:40 | in : TreeSet [] : String | Test.java:3646:10:3646:47 | predicatedSortedSet(...) : SortedSet [] : String | provenance | MaD:723 | +| Test.java:3647:20:3647:22 | out : SortedSet [] : String | Test.java:230:19:230:32 | it : SortedSet [] : String | provenance | | +| Test.java:3647:20:3647:22 | out : SortedSet [] : String | Test.java:3647:9:3647:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3652:13:3652:51 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3653:35:3653:36 | in : TreeSet [] : String | provenance | | +| Test.java:3652:35:3652:50 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3652:35:3652:50 | (...)... : String | Test.java:3652:13:3652:51 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3652:43:3652:50 | source(...) : Object | Test.java:3652:35:3652:50 | (...)... : String | provenance | | +| Test.java:3653:10:3653:37 | synchronizedSet(...) : Set [] : String | Test.java:3654:20:3654:22 | out : Set [] : String | provenance | | +| Test.java:3653:35:3653:36 | in : TreeSet [] : String | Test.java:3653:10:3653:37 | synchronizedSet(...) : Set [] : String | provenance | MaD:724 | +| Test.java:3654:20:3654:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:3654:20:3654:22 | out : Set [] : String | Test.java:3654:9:3654:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3659:19:3659:57 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3660:41:3660:42 | in : TreeSet [] : String | provenance | | +| Test.java:3659:41:3659:56 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3659:41:3659:56 | (...)... : String | Test.java:3659:19:3659:57 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3659:49:3659:56 | source(...) : Object | Test.java:3659:41:3659:56 | (...)... : String | provenance | | +| Test.java:3660:10:3660:43 | synchronizedSortedSet(...) : SortedSet [] : String | Test.java:3661:20:3661:22 | out : SortedSet [] : String | provenance | | +| Test.java:3660:41:3660:42 | in : TreeSet [] : String | Test.java:3660:10:3660:43 | synchronizedSortedSet(...) : SortedSet [] : String | provenance | MaD:725 | +| Test.java:3661:20:3661:22 | out : SortedSet [] : String | Test.java:230:19:230:32 | it : SortedSet [] : String | provenance | | +| Test.java:3661:20:3661:22 | out : SortedSet [] : String | Test.java:3661:9:3661:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3666:22:3666:60 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3667:43:3667:44 | in : TreeSet [] : String | provenance | | +| Test.java:3666:44:3666:59 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3666:44:3666:59 | (...)... : String | Test.java:3666:22:3666:60 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3666:52:3666:59 | source(...) : Object | Test.java:3666:44:3666:59 | (...)... : String | provenance | | +| Test.java:3667:10:3667:51 | transformedNavigableSet(...) : SortedSet [] : String | Test.java:3668:20:3668:22 | out : SortedSet [] : String | provenance | | +| Test.java:3667:43:3667:44 | in : TreeSet [] : String | Test.java:3667:10:3667:51 | transformedNavigableSet(...) : SortedSet [] : String | provenance | MaD:726 | +| Test.java:3668:20:3668:22 | out : SortedSet [] : String | Test.java:230:19:230:32 | it : SortedSet [] : String | provenance | | +| Test.java:3668:20:3668:22 | out : SortedSet [] : String | Test.java:3668:9:3668:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3673:13:3673:51 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3674:34:3674:35 | in : TreeSet [] : String | provenance | | +| Test.java:3673:35:3673:50 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3673:35:3673:50 | (...)... : String | Test.java:3673:13:3673:51 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3673:43:3673:50 | source(...) : Object | Test.java:3673:35:3673:50 | (...)... : String | provenance | | +| Test.java:3674:10:3674:42 | transformedSet(...) : Set [] : String | Test.java:3675:20:3675:22 | out : Set [] : String | provenance | | +| Test.java:3674:34:3674:35 | in : TreeSet [] : String | Test.java:3674:10:3674:42 | transformedSet(...) : Set [] : String | provenance | MaD:727 | +| Test.java:3675:20:3675:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:3675:20:3675:22 | out : Set [] : String | Test.java:3675:9:3675:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3680:19:3680:57 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3681:40:3681:41 | in : TreeSet [] : String | provenance | | +| Test.java:3680:41:3680:56 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3680:41:3680:56 | (...)... : String | Test.java:3680:19:3680:57 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3680:49:3680:56 | source(...) : Object | Test.java:3680:41:3680:56 | (...)... : String | provenance | | +| Test.java:3681:10:3681:48 | transformedSortedSet(...) : SortedSet [] : String | Test.java:3682:20:3682:22 | out : SortedSet [] : String | provenance | | +| Test.java:3681:40:3681:41 | in : TreeSet [] : String | Test.java:3681:10:3681:48 | transformedSortedSet(...) : SortedSet [] : String | provenance | MaD:728 | +| Test.java:3682:20:3682:22 | out : SortedSet [] : String | Test.java:230:19:230:32 | it : SortedSet [] : String | provenance | | +| Test.java:3682:20:3682:22 | out : SortedSet [] : String | Test.java:3682:9:3682:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3687:13:3687:51 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3688:25:3688:26 | in : TreeSet [] : String | provenance | | +| Test.java:3687:35:3687:50 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3687:35:3687:50 | (...)... : String | Test.java:3687:13:3687:51 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3687:43:3687:50 | source(...) : Object | Test.java:3687:35:3687:50 | (...)... : String | provenance | | +| Test.java:3688:10:3688:33 | union(...) : SetView [] : String | Test.java:3689:20:3689:22 | out : SetView [] : String | provenance | | +| Test.java:3688:25:3688:26 | in : TreeSet [] : String | Test.java:3688:10:3688:33 | union(...) : SetView [] : String | provenance | MaD:729 | +| Test.java:3689:20:3689:22 | out : SetView [] : String | Test.java:230:19:230:32 | it : SetView [] : String | provenance | | +| Test.java:3689:20:3689:22 | out : SetView [] : String | Test.java:3689:9:3689:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3694:13:3694:51 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3695:31:3695:32 | in : TreeSet [] : String | provenance | | +| Test.java:3694:35:3694:50 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3694:35:3694:50 | (...)... : String | Test.java:3694:13:3694:51 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3694:43:3694:50 | source(...) : Object | Test.java:3694:35:3694:50 | (...)... : String | provenance | | +| Test.java:3695:10:3695:33 | union(...) : SetView [] : String | Test.java:3696:20:3696:22 | out : SetView [] : String | provenance | | +| Test.java:3695:31:3695:32 | in : TreeSet [] : String | Test.java:3695:10:3695:33 | union(...) : SetView [] : String | provenance | MaD:730 | +| Test.java:3696:20:3696:22 | out : SetView [] : String | Test.java:230:19:230:32 | it : SetView [] : String | provenance | | +| Test.java:3696:20:3696:22 | out : SetView [] : String | Test.java:3696:9:3696:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3701:22:3701:60 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3702:44:3702:45 | in : TreeSet [] : String | provenance | | +| Test.java:3701:44:3701:59 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3701:44:3701:59 | (...)... : String | Test.java:3701:22:3701:60 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3701:52:3701:59 | source(...) : Object | Test.java:3701:44:3701:59 | (...)... : String | provenance | | +| Test.java:3702:10:3702:46 | unmodifiableNavigableSet(...) : SortedSet [] : String | Test.java:3703:20:3703:22 | out : SortedSet [] : String | provenance | | +| Test.java:3702:44:3702:45 | in : TreeSet [] : String | Test.java:3702:10:3702:46 | unmodifiableNavigableSet(...) : SortedSet [] : String | provenance | MaD:731 | +| Test.java:3703:20:3703:22 | out : SortedSet [] : String | Test.java:230:19:230:32 | it : SortedSet [] : String | provenance | | +| Test.java:3703:20:3703:22 | out : SortedSet [] : String | Test.java:3703:9:3703:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3708:16:3708:23 | source(...) : Object | Test.java:3709:35:3709:36 | in : Object | provenance | | +| Test.java:3709:10:3709:43 | new ..[] { .. } : Object[] [[]] : Object | Test.java:3709:10:3709:43 | unmodifiableSet(...) : Set [] : Object | provenance | MaD:732 | +| Test.java:3709:10:3709:43 | unmodifiableSet(...) : Set [] : Object | Test.java:3710:20:3710:22 | out : Set [] : Object | provenance | | +| Test.java:3709:35:3709:36 | in : Object | Test.java:3709:10:3709:43 | new ..[] { .. } : Object[] [[]] : Object | provenance | | +| Test.java:3710:20:3710:22 | out : Set [] : Object | Test.java:230:19:230:32 | it : Set [] : Object | provenance | | +| Test.java:3710:20:3710:22 | out : Set [] : Object | Test.java:3710:9:3710:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3715:13:3715:51 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3716:35:3716:36 | in : TreeSet [] : String | provenance | | +| Test.java:3715:35:3715:50 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3715:35:3715:50 | (...)... : String | Test.java:3715:13:3715:51 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3715:43:3715:50 | source(...) : Object | Test.java:3715:35:3715:50 | (...)... : String | provenance | | +| Test.java:3716:10:3716:37 | unmodifiableSet(...) : Set [] : String | Test.java:3717:20:3717:22 | out : Set [] : String | provenance | | +| Test.java:3716:35:3716:36 | in : TreeSet [] : String | Test.java:3716:10:3716:37 | unmodifiableSet(...) : Set [] : String | provenance | MaD:733 | +| Test.java:3717:20:3717:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:3717:20:3717:22 | out : Set [] : String | Test.java:3717:9:3717:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3722:19:3722:57 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:3723:41:3723:42 | in : TreeSet [] : String | provenance | | +| Test.java:3722:41:3722:56 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:3722:41:3722:56 | (...)... : String | Test.java:3722:19:3722:57 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:3722:49:3722:56 | source(...) : Object | Test.java:3722:41:3722:56 | (...)... : String | provenance | | +| Test.java:3723:10:3723:43 | unmodifiableSortedSet(...) : SortedSet [] : String | Test.java:3724:20:3724:22 | out : SortedSet [] : String | provenance | | +| Test.java:3723:41:3723:42 | in : TreeSet [] : String | Test.java:3723:10:3723:43 | unmodifiableSortedSet(...) : SortedSet [] : String | provenance | MaD:734 | +| Test.java:3724:20:3724:22 | out : SortedSet [] : String | Test.java:230:19:230:32 | it : SortedSet [] : String | provenance | | +| Test.java:3724:20:3724:22 | out : SortedSet [] : String | Test.java:3724:9:3724:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3729:19:3729:57 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3730:10:3730:11 | in : TreeBag [] : String | provenance | | +| Test.java:3729:41:3729:56 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3729:41:3729:56 | (...)... : String | Test.java:3729:19:3729:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3729:41:3729:56 | (...)... : String | Test.java:3729:19:3729:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3729:49:3729:56 | source(...) : Object | Test.java:3729:41:3729:56 | (...)... : String | provenance | | +| Test.java:3730:10:3730:11 | in : TreeBag [] : String | Test.java:3730:10:3730:19 | first(...) : String | provenance | MaD:738 | +| Test.java:3730:10:3730:19 | first(...) : String | Test.java:3731:9:3731:11 | out | provenance | | +| Test.java:3736:19:3736:57 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3737:10:3737:11 | in : TreeBag [] : String | provenance | | +| Test.java:3736:41:3736:56 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3736:41:3736:56 | (...)... : String | Test.java:3736:19:3736:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3736:41:3736:56 | (...)... : String | Test.java:3736:19:3736:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3736:49:3736:56 | source(...) : Object | Test.java:3736:41:3736:56 | (...)... : String | provenance | | +| Test.java:3737:10:3737:11 | in : TreeBag [] : String | Test.java:3737:10:3737:18 | last(...) : String | provenance | MaD:739 | +| Test.java:3737:10:3737:18 | last(...) : String | Test.java:3738:9:3738:11 | out | provenance | | +| Test.java:3743:13:3743:52 | newHashedMapWithMapKey(...) : HashedMap [] : String | Test.java:3744:36:3744:37 | in : HashedMap [] : String | provenance | | +| Test.java:3743:36:3743:51 | (...)... : String | Test.java:275:49:275:53 | key : String | provenance | | +| Test.java:3743:36:3743:51 | (...)... : String | Test.java:3743:13:3743:52 | newHashedMapWithMapKey(...) : HashedMap [] : String | provenance | MaD:14 | +| Test.java:3743:36:3743:51 | (...)... : String | Test.java:3743:13:3743:52 | newHashedMapWithMapKey(...) : HashedMap [] : String | provenance | MaD:705 | +| Test.java:3743:44:3743:51 | source(...) : Object | Test.java:3743:36:3743:51 | (...)... : String | provenance | | +| Test.java:3744:10:3744:38 | readableMap(...) : IterableMap [] : String | Test.java:3745:19:3745:21 | out : IterableMap [] : String | provenance | | +| Test.java:3744:36:3744:37 | in : HashedMap [] : String | Test.java:3744:10:3744:38 | readableMap(...) : IterableMap [] : String | provenance | MaD:740 | +| Test.java:3745:19:3745:21 | out : IterableMap [] : String | Test.java:228:18:228:29 | map : IterableMap [] : String | provenance | | +| Test.java:3745:19:3745:21 | out : IterableMap [] : String | Test.java:3745:9:3745:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3750:13:3750:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | Test.java:3751:36:3751:37 | in : HashedMap [] : String | provenance | | +| Test.java:3750:38:3750:53 | (...)... : String | Test.java:293:51:293:57 | value : String | provenance | | +| Test.java:3750:38:3750:53 | (...)... : String | Test.java:3750:13:3750:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | provenance | MaD:15 | +| Test.java:3750:38:3750:53 | (...)... : String | Test.java:3750:13:3750:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | provenance | MaD:706 | +| Test.java:3750:46:3750:53 | source(...) : Object | Test.java:3750:38:3750:53 | (...)... : String | provenance | | +| Test.java:3751:10:3751:38 | readableMap(...) : IterableMap [] : String | Test.java:3752:21:3752:23 | out : IterableMap [] : String | provenance | | +| Test.java:3751:36:3751:37 | in : HashedMap [] : String | Test.java:3751:10:3751:38 | readableMap(...) : IterableMap [] : String | provenance | MaD:741 | +| Test.java:3752:21:3752:23 | out : IterableMap [] : String | Test.java:232:20:232:31 | map : IterableMap [] : String | provenance | | +| Test.java:3752:21:3752:23 | out : IterableMap [] : String | Test.java:3752:9:3752:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:3757:13:3757:52 | newHashedMapWithMapKey(...) : HashedMap [] : String | Test.java:3758:36:3758:37 | in : HashedMap [] : String | provenance | | +| Test.java:3757:36:3757:51 | (...)... : String | Test.java:275:49:275:53 | key : String | provenance | | +| Test.java:3757:36:3757:51 | (...)... : String | Test.java:3757:13:3757:52 | newHashedMapWithMapKey(...) : HashedMap [] : String | provenance | MaD:14 | +| Test.java:3757:36:3757:51 | (...)... : String | Test.java:3757:13:3757:52 | newHashedMapWithMapKey(...) : HashedMap [] : String | provenance | MaD:705 | +| Test.java:3757:44:3757:51 | source(...) : Object | Test.java:3757:36:3757:51 | (...)... : String | provenance | | +| Test.java:3758:10:3758:38 | writableMap(...) : Map [] : String | Test.java:3759:19:3759:21 | out : Map [] : String | provenance | | +| Test.java:3758:36:3758:37 | in : HashedMap [] : String | Test.java:3758:10:3758:38 | writableMap(...) : Map [] : String | provenance | MaD:742 | +| Test.java:3759:19:3759:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:3759:19:3759:21 | out : Map [] : String | Test.java:3759:9:3759:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3764:13:3764:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | Test.java:3765:36:3765:37 | in : HashedMap [] : String | provenance | | +| Test.java:3764:38:3764:53 | (...)... : String | Test.java:293:51:293:57 | value : String | provenance | | +| Test.java:3764:38:3764:53 | (...)... : String | Test.java:3764:13:3764:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | provenance | MaD:15 | +| Test.java:3764:38:3764:53 | (...)... : String | Test.java:3764:13:3764:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | provenance | MaD:706 | +| Test.java:3764:46:3764:53 | source(...) : Object | Test.java:3764:38:3764:53 | (...)... : String | provenance | | +| Test.java:3765:10:3765:38 | writableMap(...) : Map [] : String | Test.java:3766:21:3766:23 | out : Map [] : String | provenance | | +| Test.java:3765:36:3765:37 | in : HashedMap [] : String | Test.java:3765:10:3765:38 | writableMap(...) : Map [] : String | provenance | MaD:743 | +| Test.java:3766:21:3766:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | provenance | | +| Test.java:3766:21:3766:23 | out : Map [] : String | Test.java:3766:9:3766:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:3771:14:3771:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | Test.java:3772:10:3772:11 | in : PatriciaTrie [] : String | provenance | | +| Test.java:3771:40:3771:55 | (...)... : String | Test.java:288:49:288:58 | key : String | provenance | | +| Test.java:3771:40:3771:55 | (...)... : String | Test.java:3771:14:3771:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | provenance | MaD:14 | +| Test.java:3771:40:3771:55 | (...)... : String | Test.java:3771:14:3771:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | provenance | MaD:705 | +| Test.java:3771:48:3771:55 | source(...) : Object | Test.java:3771:40:3771:55 | (...)... : String | provenance | | +| Test.java:3772:10:3772:11 | in : PatriciaTrie [] : String | Test.java:3772:10:3772:27 | prefixMap(...) : SortedMap [] : String | provenance | MaD:744 | +| Test.java:3772:10:3772:27 | prefixMap(...) : SortedMap [] : String | Test.java:3773:19:3773:21 | out : SortedMap [] : String | provenance | | +| Test.java:3773:19:3773:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | provenance | | +| Test.java:3773:19:3773:21 | out : SortedMap [] : String | Test.java:3773:9:3773:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3778:14:3778:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | Test.java:3779:10:3779:11 | in : PatriciaTrie [] : String | provenance | | +| Test.java:3778:42:3778:57 | (...)... : String | Test.java:307:50:307:56 | value : String | provenance | | +| Test.java:3778:42:3778:57 | (...)... : String | Test.java:3778:14:3778:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:15 | +| Test.java:3778:42:3778:57 | (...)... : String | Test.java:3778:14:3778:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:706 | +| Test.java:3778:50:3778:57 | source(...) : Object | Test.java:3778:42:3778:57 | (...)... : String | provenance | | +| Test.java:3779:10:3779:11 | in : PatriciaTrie [] : String | Test.java:3779:10:3779:27 | prefixMap(...) : SortedMap [] : String | provenance | MaD:745 | +| Test.java:3779:10:3779:27 | prefixMap(...) : SortedMap [] : String | Test.java:3780:21:3780:23 | out : SortedMap [] : String | provenance | | +| Test.java:3780:21:3780:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | provenance | | +| Test.java:3780:21:3780:23 | out : SortedMap [] : String | Test.java:3780:9:3780:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:3785:14:3785:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | Test.java:3786:37:3786:38 | in : PatriciaTrie [] : String | provenance | | +| Test.java:3785:40:3785:55 | (...)... : String | Test.java:288:49:288:58 | key : String | provenance | | +| Test.java:3785:40:3785:55 | (...)... : String | Test.java:3785:14:3785:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | provenance | MaD:14 | +| Test.java:3785:40:3785:55 | (...)... : String | Test.java:3785:14:3785:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | provenance | MaD:705 | +| Test.java:3785:48:3785:55 | source(...) : Object | Test.java:3785:40:3785:55 | (...)... : String | provenance | | +| Test.java:3786:10:3786:39 | unmodifiableTrie(...) : Trie [] : String | Test.java:3787:19:3787:21 | out : Trie [] : String | provenance | | +| Test.java:3786:37:3786:38 | in : PatriciaTrie [] : String | Test.java:3786:10:3786:39 | unmodifiableTrie(...) : Trie [] : String | provenance | MaD:746 | +| Test.java:3787:19:3787:21 | out : Trie [] : String | Test.java:228:18:228:29 | map : Trie [] : String | provenance | | +| Test.java:3787:19:3787:21 | out : Trie [] : String | Test.java:3787:9:3787:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3792:14:3792:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | Test.java:3793:37:3793:38 | in : PatriciaTrie [] : String | provenance | | +| Test.java:3792:42:3792:57 | (...)... : String | Test.java:307:50:307:56 | value : String | provenance | | +| Test.java:3792:42:3792:57 | (...)... : String | Test.java:3792:14:3792:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:15 | +| Test.java:3792:42:3792:57 | (...)... : String | Test.java:3792:14:3792:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:706 | +| Test.java:3792:50:3792:57 | source(...) : Object | Test.java:3792:42:3792:57 | (...)... : String | provenance | | +| Test.java:3793:10:3793:39 | unmodifiableTrie(...) : Trie [] : String | Test.java:3794:21:3794:23 | out : Trie [] : String | provenance | | +| Test.java:3793:37:3793:38 | in : PatriciaTrie [] : String | Test.java:3793:10:3793:39 | unmodifiableTrie(...) : Trie [] : String | provenance | MaD:747 | +| Test.java:3794:21:3794:23 | out : Trie [] : String | Test.java:232:20:232:31 | map : Trie [] : String | provenance | | +| Test.java:3794:21:3794:23 | out : Trie [] : String | Test.java:3794:9:3794:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:3799:13:3799:51 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3800:37:3800:38 | in : TreeBag [] : String | provenance | | +| Test.java:3799:35:3799:50 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3799:35:3799:50 | (...)... : String | Test.java:3799:13:3799:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3799:35:3799:50 | (...)... : String | Test.java:3799:13:3799:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3799:43:3799:50 | source(...) : Object | Test.java:3799:35:3799:50 | (...)... : String | provenance | | +| Test.java:3800:10:3800:39 | new MyAbstractBagDecorator<>(...) : MyAbstractBagDecorator [] : String | Test.java:3801:20:3801:22 | out : MyAbstractBagDecorator [] : String | provenance | | +| Test.java:3800:37:3800:38 | in : TreeBag [] : String | Test.java:3800:10:3800:39 | new MyAbstractBagDecorator<>(...) : MyAbstractBagDecorator [] : String | provenance | MaD:24 | +| Test.java:3800:37:3800:38 | in : TreeBag [] : String | Test.java:7104:33:7104:48 | bag : TreeBag [] : String | provenance | | +| Test.java:3801:20:3801:22 | out : MyAbstractBagDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractBagDecorator [] : String | provenance | | +| Test.java:3801:20:3801:22 | out : MyAbstractBagDecorator [] : String | Test.java:3801:9:3801:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3806:13:3806:42 | of(...) : Map [] : String | Test.java:3807:31:3807:32 | in : Map [] : String | provenance | | +| Test.java:3806:20:3806:35 | (...)... : String | Test.java:3806:13:3806:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:3806:28:3806:35 | source(...) : Object | Test.java:3806:20:3806:35 | (...)... : String | provenance | | +| Test.java:3807:10:3807:33 | new MyAbstractMapBag<>(...) : MyAbstractMapBag [] : String | Test.java:3808:20:3808:22 | out : MyAbstractMapBag [] : String | provenance | | +| Test.java:3807:31:3807:32 | in : Map [] : String | Test.java:3807:10:3807:33 | new MyAbstractMapBag<>(...) : MyAbstractMapBag [] : String | provenance | MaD:25 | +| Test.java:3807:31:3807:32 | in : Map [] : String | Test.java:7110:27:7110:58 | map : Map [] : String | provenance | | +| Test.java:3808:20:3808:22 | out : MyAbstractMapBag [] : String | Test.java:230:19:230:32 | it : MyAbstractMapBag [] : String | provenance | | +| Test.java:3808:20:3808:22 | out : MyAbstractMapBag [] : String | Test.java:3808:9:3808:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3813:26:3813:77 | new MyAbstractMapBag<>(...) : MyAbstractMapBag [] : String | Test.java:3814:10:3814:11 | in : MyAbstractMapBag [] : String | provenance | | +| Test.java:3813:47:3813:76 | of(...) : Map [] : String | Test.java:3813:26:3813:77 | new MyAbstractMapBag<>(...) : MyAbstractMapBag [] : String | provenance | MaD:25 | +| Test.java:3813:47:3813:76 | of(...) : Map [] : String | Test.java:7110:27:7110:58 | map : Map [] : String | provenance | | +| Test.java:3813:54:3813:69 | (...)... : String | Test.java:3813:47:3813:76 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:3813:62:3813:69 | source(...) : Object | Test.java:3813:54:3813:69 | (...)... : String | provenance | | +| Test.java:3814:10:3814:11 | in : MyAbstractMapBag [] : String | Test.java:3814:10:3814:22 | myGetMap(...) : Map [] : String | provenance | MaD:26 | +| Test.java:3814:10:3814:11 | in : MyAbstractMapBag [] : String | Test.java:7113:33:7113:40 | parameter this : MyAbstractMapBag [] : String | provenance | | +| Test.java:3814:10:3814:22 | myGetMap(...) : Map [] : String | Test.java:3815:19:3815:21 | out : Map [] : String | provenance | | +| Test.java:3815:19:3815:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:3815:19:3815:21 | out : Map [] : String | Test.java:3815:9:3815:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3820:19:3820:57 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3821:43:3821:44 | in : TreeBag [] : String | provenance | | +| Test.java:3820:41:3820:56 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3820:41:3820:56 | (...)... : String | Test.java:3820:19:3820:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3820:41:3820:56 | (...)... : String | Test.java:3820:19:3820:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3820:49:3820:56 | source(...) : Object | Test.java:3820:41:3820:56 | (...)... : String | provenance | | +| Test.java:3821:10:3821:45 | new MyAbstractSortedBagDecorator<>(...) : MyAbstractSortedBagDecorator [] : String | Test.java:3822:20:3822:22 | out : MyAbstractSortedBagDecorator [] : String | provenance | | +| Test.java:3821:43:3821:44 | in : TreeBag [] : String | Test.java:3821:10:3821:45 | new MyAbstractSortedBagDecorator<>(...) : MyAbstractSortedBagDecorator [] : String | provenance | MaD:27 | +| Test.java:3821:43:3821:44 | in : TreeBag [] : String | Test.java:7119:39:7119:60 | bag : TreeBag [] : String | provenance | | +| Test.java:3822:20:3822:22 | out : MyAbstractSortedBagDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractSortedBagDecorator [] : String | provenance | | +| Test.java:3822:20:3822:22 | out : MyAbstractSortedBagDecorator [] : String | Test.java:3822:9:3822:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3827:13:3827:51 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3828:28:3828:29 | in : TreeBag [] : String | provenance | | +| Test.java:3827:35:3827:50 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3827:35:3827:50 | (...)... : String | Test.java:3827:13:3827:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3827:35:3827:50 | (...)... : String | Test.java:3827:13:3827:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3827:43:3827:50 | source(...) : Object | Test.java:3827:35:3827:50 | (...)... : String | provenance | | +| Test.java:3828:10:3828:30 | new CollectionBag<>(...) : CollectionBag [] : String | Test.java:3829:20:3829:22 | out : CollectionBag [] : String | provenance | | +| Test.java:3828:28:3828:29 | in : TreeBag [] : String | Test.java:3828:10:3828:30 | new CollectionBag<>(...) : CollectionBag [] : String | provenance | MaD:28 | +| Test.java:3829:20:3829:22 | out : CollectionBag [] : String | Test.java:230:19:230:32 | it : CollectionBag [] : String | provenance | | +| Test.java:3829:20:3829:22 | out : CollectionBag [] : String | Test.java:3829:9:3829:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3834:13:3834:51 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3835:38:3835:39 | in : TreeBag [] : String | provenance | | +| Test.java:3834:35:3834:50 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3834:35:3834:50 | (...)... : String | Test.java:3834:13:3834:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3834:35:3834:50 | (...)... : String | Test.java:3834:13:3834:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3834:43:3834:50 | source(...) : Object | Test.java:3834:35:3834:50 | (...)... : String | provenance | | +| Test.java:3835:10:3835:40 | collectionBag(...) : Bag [] : String | Test.java:3836:20:3836:22 | out : Bag [] : String | provenance | | +| Test.java:3835:38:3835:39 | in : TreeBag [] : String | Test.java:3835:10:3835:40 | collectionBag(...) : Bag [] : String | provenance | MaD:29 | +| Test.java:3836:20:3836:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | provenance | | +| Test.java:3836:20:3836:22 | out : Bag [] : String | Test.java:3836:9:3836:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3841:19:3841:57 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3842:34:3842:35 | in : TreeBag [] : String | provenance | | +| Test.java:3841:41:3841:56 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3841:41:3841:56 | (...)... : String | Test.java:3841:19:3841:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3841:41:3841:56 | (...)... : String | Test.java:3841:19:3841:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3841:49:3841:56 | source(...) : Object | Test.java:3841:41:3841:56 | (...)... : String | provenance | | +| Test.java:3842:10:3842:36 | new CollectionSortedBag<>(...) : CollectionSortedBag [] : String | Test.java:3843:20:3843:22 | out : CollectionSortedBag [] : String | provenance | | +| Test.java:3842:34:3842:35 | in : TreeBag [] : String | Test.java:3842:10:3842:36 | new CollectionSortedBag<>(...) : CollectionSortedBag [] : String | provenance | MaD:30 | +| Test.java:3843:20:3843:22 | out : CollectionSortedBag [] : String | Test.java:230:19:230:32 | it : CollectionSortedBag [] : String | provenance | | +| Test.java:3843:20:3843:22 | out : CollectionSortedBag [] : String | Test.java:3843:9:3843:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3848:19:3848:57 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3849:50:3849:51 | in : TreeBag [] : String | provenance | | +| Test.java:3848:41:3848:56 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3848:41:3848:56 | (...)... : String | Test.java:3848:19:3848:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3848:41:3848:56 | (...)... : String | Test.java:3848:19:3848:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3848:49:3848:56 | source(...) : Object | Test.java:3848:41:3848:56 | (...)... : String | provenance | | +| Test.java:3849:10:3849:52 | collectionSortedBag(...) : SortedBag [] : String | Test.java:3850:20:3850:22 | out : SortedBag [] : String | provenance | | +| Test.java:3849:50:3849:51 | in : TreeBag [] : String | Test.java:3849:10:3849:52 | collectionSortedBag(...) : SortedBag [] : String | provenance | MaD:31 | +| Test.java:3850:20:3850:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | provenance | | +| Test.java:3850:20:3850:22 | out : SortedBag [] : String | Test.java:3850:9:3850:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3855:20:3855:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3856:22:3856:23 | in : TreeBag [] : String | provenance | | +| Test.java:3855:42:3855:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3855:42:3855:57 | (...)... : String | Test.java:3855:20:3855:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3855:42:3855:57 | (...)... : String | Test.java:3855:20:3855:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3855:50:3855:57 | source(...) : Object | Test.java:3855:42:3855:57 | (...)... : String | provenance | | +| Test.java:3856:10:3856:24 | new HashBag<>(...) : HashBag [] : String | Test.java:3857:20:3857:22 | out : HashBag [] : String | provenance | | +| Test.java:3856:22:3856:23 | in : TreeBag [] : String | Test.java:3856:10:3856:24 | new HashBag<>(...) : HashBag [] : String | provenance | MaD:32 | +| Test.java:3857:20:3857:22 | out : HashBag [] : String | Test.java:230:19:230:32 | it : HashBag [] : String | provenance | | +| Test.java:3857:20:3857:22 | out : HashBag [] : String | Test.java:3857:9:3857:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3862:13:3862:51 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3863:38:3863:39 | in : TreeBag [] : String | provenance | | +| Test.java:3862:35:3862:50 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3862:35:3862:50 | (...)... : String | Test.java:3862:13:3862:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3862:35:3862:50 | (...)... : String | Test.java:3862:13:3862:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3862:43:3862:50 | source(...) : Object | Test.java:3862:35:3862:50 | (...)... : String | provenance | | +| Test.java:3863:10:3863:46 | predicatedBag(...) : PredicatedBag [] : String | Test.java:3864:20:3864:22 | out : PredicatedBag [] : String | provenance | | +| Test.java:3863:38:3863:39 | in : TreeBag [] : String | Test.java:3863:10:3863:46 | predicatedBag(...) : PredicatedBag [] : String | provenance | MaD:33 | +| Test.java:3864:20:3864:22 | out : PredicatedBag [] : String | Test.java:230:19:230:32 | it : PredicatedBag [] : String | provenance | | +| Test.java:3864:20:3864:22 | out : PredicatedBag [] : String | Test.java:3864:9:3864:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3869:19:3869:57 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3870:50:3870:51 | in : TreeBag [] : String | provenance | | +| Test.java:3869:41:3869:56 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3869:41:3869:56 | (...)... : String | Test.java:3869:19:3869:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3869:41:3869:56 | (...)... : String | Test.java:3869:19:3869:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3869:49:3869:56 | source(...) : Object | Test.java:3869:41:3869:56 | (...)... : String | provenance | | +| Test.java:3870:10:3870:58 | predicatedSortedBag(...) : PredicatedSortedBag [] : String | Test.java:3871:20:3871:22 | out : PredicatedSortedBag [] : String | provenance | | +| Test.java:3870:50:3870:51 | in : TreeBag [] : String | Test.java:3870:10:3870:58 | predicatedSortedBag(...) : PredicatedSortedBag [] : String | provenance | MaD:34 | +| Test.java:3871:20:3871:22 | out : PredicatedSortedBag [] : String | Test.java:230:19:230:32 | it : PredicatedSortedBag [] : String | provenance | | +| Test.java:3871:20:3871:22 | out : PredicatedSortedBag [] : String | Test.java:3871:9:3871:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3876:13:3876:51 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3877:42:3877:43 | in : TreeBag [] : String | provenance | | +| Test.java:3876:35:3876:50 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3876:35:3876:50 | (...)... : String | Test.java:3876:13:3876:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3876:35:3876:50 | (...)... : String | Test.java:3876:13:3876:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3876:43:3876:50 | source(...) : Object | Test.java:3876:35:3876:50 | (...)... : String | provenance | | +| Test.java:3877:10:3877:44 | synchronizedBag(...) : SynchronizedBag [] : String | Test.java:3878:20:3878:22 | out : SynchronizedBag [] : String | provenance | | +| Test.java:3877:42:3877:43 | in : TreeBag [] : String | Test.java:3877:10:3877:44 | synchronizedBag(...) : SynchronizedBag [] : String | provenance | MaD:35 | +| Test.java:3878:20:3878:22 | out : SynchronizedBag [] : String | Test.java:230:19:230:32 | it : SynchronizedBag [] : String | provenance | | +| Test.java:3878:20:3878:22 | out : SynchronizedBag [] : String | Test.java:3878:9:3878:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3883:19:3883:57 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3884:54:3884:55 | in : TreeBag [] : String | provenance | | +| Test.java:3883:41:3883:56 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3883:41:3883:56 | (...)... : String | Test.java:3883:19:3883:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3883:41:3883:56 | (...)... : String | Test.java:3883:19:3883:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3883:49:3883:56 | source(...) : Object | Test.java:3883:41:3883:56 | (...)... : String | provenance | | +| Test.java:3884:10:3884:56 | synchronizedSortedBag(...) : SynchronizedSortedBag [] : String | Test.java:3885:20:3885:22 | out : SynchronizedSortedBag [] : String | provenance | | +| Test.java:3884:54:3884:55 | in : TreeBag [] : String | Test.java:3884:10:3884:56 | synchronizedSortedBag(...) : SynchronizedSortedBag [] : String | provenance | MaD:36 | +| Test.java:3885:20:3885:22 | out : SynchronizedSortedBag [] : String | Test.java:230:19:230:32 | it : SynchronizedSortedBag [] : String | provenance | | +| Test.java:3885:20:3885:22 | out : SynchronizedSortedBag [] : String | Test.java:3885:9:3885:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3890:13:3890:51 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3891:40:3891:41 | in : TreeBag [] : String | provenance | | +| Test.java:3890:35:3890:50 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3890:35:3890:50 | (...)... : String | Test.java:3890:13:3890:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3890:35:3890:50 | (...)... : String | Test.java:3890:13:3890:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3890:43:3890:50 | source(...) : Object | Test.java:3890:35:3890:50 | (...)... : String | provenance | | +| Test.java:3891:10:3891:48 | transformedBag(...) : Bag [] : String | Test.java:3892:20:3892:22 | out : Bag [] : String | provenance | | +| Test.java:3891:40:3891:41 | in : TreeBag [] : String | Test.java:3891:10:3891:48 | transformedBag(...) : Bag [] : String | provenance | MaD:37 | +| Test.java:3892:20:3892:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | provenance | | +| Test.java:3892:20:3892:22 | out : Bag [] : String | Test.java:3892:9:3892:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3897:19:3897:57 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3898:52:3898:53 | in : TreeBag [] : String | provenance | | +| Test.java:3897:41:3897:56 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3897:41:3897:56 | (...)... : String | Test.java:3897:19:3897:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3897:41:3897:56 | (...)... : String | Test.java:3897:19:3897:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3897:49:3897:56 | source(...) : Object | Test.java:3897:41:3897:56 | (...)... : String | provenance | | +| Test.java:3898:10:3898:60 | transformedSortedBag(...) : TransformedSortedBag [] : String | Test.java:3899:20:3899:22 | out : TransformedSortedBag [] : String | provenance | | +| Test.java:3898:52:3898:53 | in : TreeBag [] : String | Test.java:3898:10:3898:60 | transformedSortedBag(...) : TransformedSortedBag [] : String | provenance | MaD:38 | +| Test.java:3899:20:3899:22 | out : TransformedSortedBag [] : String | Test.java:230:19:230:32 | it : TransformedSortedBag [] : String | provenance | | +| Test.java:3899:20:3899:22 | out : TransformedSortedBag [] : String | Test.java:3899:9:3899:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3904:20:3904:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3905:22:3905:23 | in : TreeBag [] : String | provenance | | +| Test.java:3904:42:3904:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3904:42:3904:57 | (...)... : String | Test.java:3904:20:3904:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3904:42:3904:57 | (...)... : String | Test.java:3904:20:3904:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3904:50:3904:57 | source(...) : Object | Test.java:3904:42:3904:57 | (...)... : String | provenance | | +| Test.java:3905:10:3905:24 | new TreeBag<>(...) : TreeBag [] : String | Test.java:3906:20:3906:22 | out : TreeBag [] : String | provenance | | +| Test.java:3905:22:3905:23 | in : TreeBag [] : String | Test.java:3905:10:3905:24 | new TreeBag<>(...) : TreeBag [] : String | provenance | MaD:39 | +| Test.java:3906:20:3906:22 | out : TreeBag [] : String | Test.java:230:19:230:32 | it : TreeBag [] : String | provenance | | +| Test.java:3906:20:3906:22 | out : TreeBag [] : String | Test.java:3906:9:3906:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3911:13:3911:51 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3912:42:3912:43 | in : TreeBag [] : String | provenance | | +| Test.java:3911:35:3911:50 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3911:35:3911:50 | (...)... : String | Test.java:3911:13:3911:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3911:35:3911:50 | (...)... : String | Test.java:3911:13:3911:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3911:43:3911:50 | source(...) : Object | Test.java:3911:35:3911:50 | (...)... : String | provenance | | +| Test.java:3912:10:3912:44 | unmodifiableBag(...) : Bag [] : String | Test.java:3913:20:3913:22 | out : Bag [] : String | provenance | | +| Test.java:3912:42:3912:43 | in : TreeBag [] : String | Test.java:3912:10:3912:44 | unmodifiableBag(...) : Bag [] : String | provenance | MaD:40 | +| Test.java:3913:20:3913:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | provenance | | +| Test.java:3913:20:3913:22 | out : Bag [] : String | Test.java:3913:9:3913:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3918:19:3918:57 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:3919:54:3919:55 | in : TreeBag [] : String | provenance | | +| Test.java:3918:41:3918:56 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:3918:41:3918:56 | (...)... : String | Test.java:3918:19:3918:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:3918:41:3918:56 | (...)... : String | Test.java:3918:19:3918:57 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:3918:49:3918:56 | source(...) : Object | Test.java:3918:41:3918:56 | (...)... : String | provenance | | +| Test.java:3919:10:3919:56 | unmodifiableSortedBag(...) : SortedBag [] : String | Test.java:3920:20:3920:22 | out : SortedBag [] : String | provenance | | +| Test.java:3919:54:3919:55 | in : TreeBag [] : String | Test.java:3919:10:3919:56 | unmodifiableSortedBag(...) : SortedBag [] : String | provenance | MaD:41 | +| Test.java:3920:20:3920:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | provenance | | +| Test.java:3920:20:3920:22 | out : SortedBag [] : String | Test.java:3920:9:3920:23 | getElement(...) | provenance | MaD:1 | +| Test.java:3925:17:3925:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | Test.java:3926:41:3926:42 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:3925:46:3925:61 | (...)... : String | Test.java:274:61:274:65 | key : String | provenance | | +| Test.java:3925:46:3925:61 | (...)... : String | Test.java:3925:17:3925:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | provenance | MaD:11 | +| Test.java:3925:54:3925:61 | source(...) : Object | Test.java:3925:46:3925:61 | (...)... : String | provenance | | +| Test.java:3926:10:3926:43 | new MyAbstractBidiMapDecorator<>(...) : MyAbstractBidiMapDecorator [] : String | Test.java:3927:19:3927:21 | out : MyAbstractBidiMapDecorator [] : String | provenance | | +| Test.java:3926:41:3926:42 | in : DualTreeBidiMap [] : String | Test.java:3926:10:3926:43 | new MyAbstractBidiMapDecorator<>(...) : MyAbstractBidiMapDecorator [] : String | provenance | MaD:42 | +| Test.java:3926:41:3926:42 | in : DualTreeBidiMap [] : String | Test.java:7125:37:7125:59 | map : DualTreeBidiMap [] : String | provenance | | +| Test.java:3927:19:3927:21 | out : MyAbstractBidiMapDecorator [] : String | Test.java:228:18:228:29 | map : MyAbstractBidiMapDecorator [] : String | provenance | | +| Test.java:3927:19:3927:21 | out : MyAbstractBidiMapDecorator [] : String | Test.java:3927:9:3927:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3932:17:3932:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | Test.java:3933:41:3933:42 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:3932:48:3932:63 | (...)... : String | Test.java:292:63:292:69 | value : String | provenance | | +| Test.java:3932:48:3932:63 | (...)... : String | Test.java:3932:17:3932:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | provenance | MaD:12 | +| Test.java:3932:56:3932:63 | source(...) : Object | Test.java:3932:48:3932:63 | (...)... : String | provenance | | +| Test.java:3933:10:3933:43 | new MyAbstractBidiMapDecorator<>(...) : MyAbstractBidiMapDecorator [] : String | Test.java:3934:21:3934:23 | out : MyAbstractBidiMapDecorator [] : String | provenance | | +| Test.java:3933:41:3933:42 | in : DualTreeBidiMap [] : String | Test.java:3933:10:3933:43 | new MyAbstractBidiMapDecorator<>(...) : MyAbstractBidiMapDecorator [] : String | provenance | MaD:43 | +| Test.java:3933:41:3933:42 | in : DualTreeBidiMap [] : String | Test.java:7125:37:7125:59 | map : DualTreeBidiMap [] : String | provenance | | +| Test.java:3934:21:3934:23 | out : MyAbstractBidiMapDecorator [] : String | Test.java:232:20:232:31 | map : MyAbstractBidiMapDecorator [] : String | provenance | | +| Test.java:3934:21:3934:23 | out : MyAbstractBidiMapDecorator [] : String | Test.java:3934:9:3934:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:3939:17:3939:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | Test.java:3940:36:3940:37 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:3939:46:3939:61 | (...)... : String | Test.java:274:61:274:65 | key : String | provenance | | +| Test.java:3939:46:3939:61 | (...)... : String | Test.java:3939:17:3939:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | provenance | MaD:11 | +| Test.java:3939:54:3939:61 | source(...) : Object | Test.java:3939:46:3939:61 | (...)... : String | provenance | | +| Test.java:3940:10:3940:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | Test.java:3941:19:3941:21 | out : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:3940:36:3940:37 | in : DualTreeBidiMap [] : String | Test.java:3940:10:3940:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | provenance | MaD:44 | +| Test.java:3940:36:3940:37 | in : DualTreeBidiMap [] : String | Test.java:7134:32:7134:56 | normalMap : DualTreeBidiMap [] : String | provenance | | +| Test.java:3941:19:3941:21 | out : MyAbstractDualBidiMap [] : String | Test.java:228:18:228:29 | map : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:3941:19:3941:21 | out : MyAbstractDualBidiMap [] : String | Test.java:3941:9:3941:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3946:17:3946:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | Test.java:3947:42:3947:43 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:3946:46:3946:61 | (...)... : String | Test.java:274:61:274:65 | key : String | provenance | | +| Test.java:3946:46:3946:61 | (...)... : String | Test.java:3946:17:3946:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | provenance | MaD:11 | +| Test.java:3946:54:3946:61 | source(...) : Object | Test.java:3946:46:3946:61 | (...)... : String | provenance | | +| Test.java:3947:10:3947:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | Test.java:3948:21:3948:23 | out : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:3947:42:3947:43 | in : DualTreeBidiMap [] : String | Test.java:3947:10:3947:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | provenance | MaD:46 | +| Test.java:3947:42:3947:43 | in : DualTreeBidiMap [] : String | Test.java:7134:59:7134:84 | reverseMap : DualTreeBidiMap [] : String | provenance | | +| Test.java:3948:21:3948:23 | out : MyAbstractDualBidiMap [] : String | Test.java:232:20:232:31 | map : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:3948:21:3948:23 | out : MyAbstractDualBidiMap [] : String | Test.java:3948:9:3948:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:3953:17:3953:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | Test.java:3954:48:3954:49 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:3953:46:3953:61 | (...)... : String | Test.java:274:61:274:65 | key : String | provenance | | +| Test.java:3953:46:3953:61 | (...)... : String | Test.java:3953:17:3953:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | provenance | MaD:11 | +| Test.java:3953:54:3953:61 | source(...) : Object | Test.java:3953:46:3953:61 | (...)... : String | provenance | | +| Test.java:3954:10:3954:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | Test.java:3955:21:3955:23 | out : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:3954:48:3954:49 | in : DualTreeBidiMap [] : String | Test.java:3954:10:3954:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | provenance | MaD:48 | +| Test.java:3954:48:3954:49 | in : DualTreeBidiMap [] : String | Test.java:7134:87:7134:120 | inverseBidiMap : DualTreeBidiMap [] : String | provenance | | +| Test.java:3955:21:3955:23 | out : MyAbstractDualBidiMap [] : String | Test.java:232:20:232:31 | map : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:3955:21:3955:23 | out : MyAbstractDualBidiMap [] : String | Test.java:3955:9:3955:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:3960:17:3960:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | Test.java:3961:36:3961:37 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:3960:48:3960:63 | (...)... : String | Test.java:292:63:292:69 | value : String | provenance | | +| Test.java:3960:48:3960:63 | (...)... : String | Test.java:3960:17:3960:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | provenance | MaD:12 | +| Test.java:3960:56:3960:63 | source(...) : Object | Test.java:3960:48:3960:63 | (...)... : String | provenance | | +| Test.java:3961:10:3961:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | Test.java:3962:21:3962:23 | out : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:3961:36:3961:37 | in : DualTreeBidiMap [] : String | Test.java:3961:10:3961:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | provenance | MaD:45 | +| Test.java:3961:36:3961:37 | in : DualTreeBidiMap [] : String | Test.java:7134:32:7134:56 | normalMap : DualTreeBidiMap [] : String | provenance | | +| Test.java:3962:21:3962:23 | out : MyAbstractDualBidiMap [] : String | Test.java:232:20:232:31 | map : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:3962:21:3962:23 | out : MyAbstractDualBidiMap [] : String | Test.java:3962:9:3962:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:3967:17:3967:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | Test.java:3968:42:3968:43 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:3967:48:3967:63 | (...)... : String | Test.java:292:63:292:69 | value : String | provenance | | +| Test.java:3967:48:3967:63 | (...)... : String | Test.java:3967:17:3967:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | provenance | MaD:12 | +| Test.java:3967:56:3967:63 | source(...) : Object | Test.java:3967:48:3967:63 | (...)... : String | provenance | | +| Test.java:3968:10:3968:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | Test.java:3969:19:3969:21 | out : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:3968:42:3968:43 | in : DualTreeBidiMap [] : String | Test.java:3968:10:3968:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | provenance | MaD:47 | +| Test.java:3968:42:3968:43 | in : DualTreeBidiMap [] : String | Test.java:7134:59:7134:84 | reverseMap : DualTreeBidiMap [] : String | provenance | | +| Test.java:3969:19:3969:21 | out : MyAbstractDualBidiMap [] : String | Test.java:228:18:228:29 | map : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:3969:19:3969:21 | out : MyAbstractDualBidiMap [] : String | Test.java:3969:9:3969:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3974:17:3974:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | Test.java:3975:48:3975:49 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:3974:48:3974:63 | (...)... : String | Test.java:292:63:292:69 | value : String | provenance | | +| Test.java:3974:48:3974:63 | (...)... : String | Test.java:3974:17:3974:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | provenance | MaD:12 | +| Test.java:3974:56:3974:63 | source(...) : Object | Test.java:3974:48:3974:63 | (...)... : String | provenance | | +| Test.java:3975:10:3975:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | Test.java:3976:19:3976:21 | out : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:3975:48:3975:49 | in : DualTreeBidiMap [] : String | Test.java:3975:10:3975:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | provenance | MaD:49 | +| Test.java:3975:48:3975:49 | in : DualTreeBidiMap [] : String | Test.java:7134:87:7134:120 | inverseBidiMap : DualTreeBidiMap [] : String | provenance | | +| Test.java:3976:19:3976:21 | out : MyAbstractDualBidiMap [] : String | Test.java:228:18:228:29 | map : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:3976:19:3976:21 | out : MyAbstractDualBidiMap [] : String | Test.java:3976:9:3976:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3981:24:3981:69 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | Test.java:3982:48:3982:49 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:3981:53:3981:68 | (...)... : String | Test.java:274:61:274:65 | key : String | provenance | | +| Test.java:3981:53:3981:68 | (...)... : String | Test.java:3981:24:3981:69 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | provenance | MaD:11 | +| Test.java:3981:61:3981:68 | source(...) : Object | Test.java:3981:53:3981:68 | (...)... : String | provenance | | +| Test.java:3982:10:3982:50 | new MyAbstractOrderedBidiMapDecorator<>(...) : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:3983:19:3983:21 | out : MyAbstractOrderedBidiMapDecorator [] : String | provenance | | +| Test.java:3982:48:3982:49 | in : DualTreeBidiMap [] : String | Test.java:3982:10:3982:50 | new MyAbstractOrderedBidiMapDecorator<>(...) : MyAbstractOrderedBidiMapDecorator [] : String | provenance | MaD:50 | +| Test.java:3982:48:3982:49 | in : DualTreeBidiMap [] : String | Test.java:7143:44:7143:73 | map : DualTreeBidiMap [] : String | provenance | | +| Test.java:3983:19:3983:21 | out : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:228:18:228:29 | map : MyAbstractOrderedBidiMapDecorator [] : String | provenance | | +| Test.java:3983:19:3983:21 | out : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:3983:9:3983:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:3988:24:3988:71 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | Test.java:3989:48:3989:49 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:3988:55:3988:70 | (...)... : String | Test.java:292:63:292:69 | value : String | provenance | | +| Test.java:3988:55:3988:70 | (...)... : String | Test.java:3988:24:3988:71 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | provenance | MaD:12 | +| Test.java:3988:63:3988:70 | source(...) : Object | Test.java:3988:55:3988:70 | (...)... : String | provenance | | +| Test.java:3989:10:3989:50 | new MyAbstractOrderedBidiMapDecorator<>(...) : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:3990:21:3990:23 | out : MyAbstractOrderedBidiMapDecorator [] : String | provenance | | +| Test.java:3989:48:3989:49 | in : DualTreeBidiMap [] : String | Test.java:3989:10:3989:50 | new MyAbstractOrderedBidiMapDecorator<>(...) : MyAbstractOrderedBidiMapDecorator [] : String | provenance | MaD:51 | +| Test.java:3989:48:3989:49 | in : DualTreeBidiMap [] : String | Test.java:7143:44:7143:73 | map : DualTreeBidiMap [] : String | provenance | | +| Test.java:3990:21:3990:23 | out : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:232:20:232:31 | map : MyAbstractOrderedBidiMapDecorator [] : String | provenance | | +| Test.java:3990:21:3990:23 | out : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:3990:9:3990:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:3995:23:3995:68 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | Test.java:3996:47:3996:48 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:3995:52:3995:67 | (...)... : String | Test.java:274:61:274:65 | key : String | provenance | | +| Test.java:3995:52:3995:67 | (...)... : String | Test.java:3995:23:3995:68 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | provenance | MaD:11 | +| Test.java:3995:60:3995:67 | source(...) : Object | Test.java:3995:52:3995:67 | (...)... : String | provenance | | +| Test.java:3996:10:3996:49 | new MyAbstractSortedBidiMapDecorator<>(...) : MyAbstractSortedBidiMapDecorator [] : String | Test.java:3997:19:3997:21 | out : MyAbstractSortedBidiMapDecorator [] : String | provenance | | +| Test.java:3996:47:3996:48 | in : DualTreeBidiMap [] : String | Test.java:3996:10:3996:49 | new MyAbstractSortedBidiMapDecorator<>(...) : MyAbstractSortedBidiMapDecorator [] : String | provenance | MaD:52 | +| Test.java:3996:47:3996:48 | in : DualTreeBidiMap [] : String | Test.java:7086:43:7086:71 | map : DualTreeBidiMap [] : String | provenance | | +| Test.java:3997:19:3997:21 | out : MyAbstractSortedBidiMapDecorator [] : String | Test.java:228:18:228:29 | map : MyAbstractSortedBidiMapDecorator [] : String | provenance | | +| Test.java:3997:19:3997:21 | out : MyAbstractSortedBidiMapDecorator [] : String | Test.java:3997:9:3997:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:4002:23:4002:70 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | Test.java:4003:47:4003:48 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:4002:54:4002:69 | (...)... : String | Test.java:292:63:292:69 | value : String | provenance | | +| Test.java:4002:54:4002:69 | (...)... : String | Test.java:4002:23:4002:70 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | provenance | MaD:12 | +| Test.java:4002:62:4002:69 | source(...) : Object | Test.java:4002:54:4002:69 | (...)... : String | provenance | | +| Test.java:4003:10:4003:49 | new MyAbstractSortedBidiMapDecorator<>(...) : MyAbstractSortedBidiMapDecorator [] : String | Test.java:4004:21:4004:23 | out : MyAbstractSortedBidiMapDecorator [] : String | provenance | | +| Test.java:4003:47:4003:48 | in : DualTreeBidiMap [] : String | Test.java:4003:10:4003:49 | new MyAbstractSortedBidiMapDecorator<>(...) : MyAbstractSortedBidiMapDecorator [] : String | provenance | MaD:53 | +| Test.java:4003:47:4003:48 | in : DualTreeBidiMap [] : String | Test.java:7086:43:7086:71 | map : DualTreeBidiMap [] : String | provenance | | +| Test.java:4004:21:4004:23 | out : MyAbstractSortedBidiMapDecorator [] : String | Test.java:232:20:232:31 | map : MyAbstractSortedBidiMapDecorator [] : String | provenance | | +| Test.java:4004:21:4004:23 | out : MyAbstractSortedBidiMapDecorator [] : String | Test.java:4004:9:4004:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:4009:13:4009:42 | of(...) : Map [] : String | Test.java:4010:30:4010:31 | in : Map [] : String | provenance | | +| Test.java:4009:20:4009:35 | (...)... : String | Test.java:4009:13:4009:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:4009:28:4009:35 | source(...) : Object | Test.java:4009:20:4009:35 | (...)... : String | provenance | | +| Test.java:4010:10:4010:32 | new DualHashBidiMap<>(...) : DualHashBidiMap [] : String | Test.java:4011:19:4011:21 | out : DualHashBidiMap [] : String | provenance | | +| Test.java:4010:30:4010:31 | in : Map [] : String | Test.java:4010:10:4010:32 | new DualHashBidiMap<>(...) : DualHashBidiMap [] : String | provenance | MaD:54 | +| Test.java:4011:19:4011:21 | out : DualHashBidiMap [] : String | Test.java:228:18:228:29 | map : DualHashBidiMap [] : String | provenance | | +| Test.java:4011:19:4011:21 | out : DualHashBidiMap [] : String | Test.java:4011:9:4011:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:4016:13:4016:42 | of(...) : Map [] : String | Test.java:4017:30:4017:31 | in : Map [] : String | provenance | | +| Test.java:4016:26:4016:41 | (...)... : String | Test.java:4016:13:4016:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:4016:34:4016:41 | source(...) : Object | Test.java:4016:26:4016:41 | (...)... : String | provenance | | +| Test.java:4017:10:4017:32 | new DualHashBidiMap<>(...) : DualHashBidiMap [] : String | Test.java:4018:21:4018:23 | out : DualHashBidiMap [] : String | provenance | | +| Test.java:4017:30:4017:31 | in : Map [] : String | Test.java:4017:10:4017:32 | new DualHashBidiMap<>(...) : DualHashBidiMap [] : String | provenance | MaD:55 | +| Test.java:4018:21:4018:23 | out : DualHashBidiMap [] : String | Test.java:232:20:232:31 | map : DualHashBidiMap [] : String | provenance | | +| Test.java:4018:21:4018:23 | out : DualHashBidiMap [] : String | Test.java:4018:9:4018:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:4023:13:4023:42 | of(...) : Map [] : String | Test.java:4024:36:4024:37 | in : Map [] : String | provenance | | +| Test.java:4023:20:4023:35 | (...)... : String | Test.java:4023:13:4023:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:4023:28:4023:35 | source(...) : Object | Test.java:4023:20:4023:35 | (...)... : String | provenance | | +| Test.java:4024:10:4024:38 | new DualLinkedHashBidiMap<>(...) : DualLinkedHashBidiMap [] : String | Test.java:4025:19:4025:21 | out : DualLinkedHashBidiMap [] : String | provenance | | +| Test.java:4024:36:4024:37 | in : Map [] : String | Test.java:4024:10:4024:38 | new DualLinkedHashBidiMap<>(...) : DualLinkedHashBidiMap [] : String | provenance | MaD:56 | +| Test.java:4025:19:4025:21 | out : DualLinkedHashBidiMap [] : String | Test.java:228:18:228:29 | map : DualLinkedHashBidiMap [] : String | provenance | | +| Test.java:4025:19:4025:21 | out : DualLinkedHashBidiMap [] : String | Test.java:4025:9:4025:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:4030:13:4030:42 | of(...) : Map [] : String | Test.java:4031:36:4031:37 | in : Map [] : String | provenance | | +| Test.java:4030:26:4030:41 | (...)... : String | Test.java:4030:13:4030:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:4030:34:4030:41 | source(...) : Object | Test.java:4030:26:4030:41 | (...)... : String | provenance | | +| Test.java:4031:10:4031:38 | new DualLinkedHashBidiMap<>(...) : DualLinkedHashBidiMap [] : String | Test.java:4032:21:4032:23 | out : DualLinkedHashBidiMap [] : String | provenance | | +| Test.java:4031:36:4031:37 | in : Map [] : String | Test.java:4031:10:4031:38 | new DualLinkedHashBidiMap<>(...) : DualLinkedHashBidiMap [] : String | provenance | MaD:57 | +| Test.java:4032:21:4032:23 | out : DualLinkedHashBidiMap [] : String | Test.java:232:20:232:31 | map : DualLinkedHashBidiMap [] : String | provenance | | +| Test.java:4032:21:4032:23 | out : DualLinkedHashBidiMap [] : String | Test.java:4032:9:4032:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:4037:13:4037:42 | of(...) : Map [] : String | Test.java:4038:30:4038:31 | in : Map [] : String | provenance | | +| Test.java:4037:20:4037:35 | (...)... : String | Test.java:4037:13:4037:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:4037:28:4037:35 | source(...) : Object | Test.java:4037:20:4037:35 | (...)... : String | provenance | | +| Test.java:4038:10:4038:32 | new DualTreeBidiMap<>(...) : DualTreeBidiMap [] : String | Test.java:4039:19:4039:21 | out : DualTreeBidiMap [] : String | provenance | | +| Test.java:4038:30:4038:31 | in : Map [] : String | Test.java:4038:10:4038:32 | new DualTreeBidiMap<>(...) : DualTreeBidiMap [] : String | provenance | MaD:58 | +| Test.java:4039:19:4039:21 | out : DualTreeBidiMap [] : String | Test.java:228:18:228:29 | map : DualTreeBidiMap [] : String | provenance | | +| Test.java:4039:19:4039:21 | out : DualTreeBidiMap [] : String | Test.java:4039:9:4039:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:4044:13:4044:42 | of(...) : Map [] : String | Test.java:4045:30:4045:31 | in : Map [] : String | provenance | | +| Test.java:4044:26:4044:41 | (...)... : String | Test.java:4044:13:4044:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:4044:34:4044:41 | source(...) : Object | Test.java:4044:26:4044:41 | (...)... : String | provenance | | +| Test.java:4045:10:4045:32 | new DualTreeBidiMap<>(...) : DualTreeBidiMap [] : String | Test.java:4046:21:4046:23 | out : DualTreeBidiMap [] : String | provenance | | +| Test.java:4045:30:4045:31 | in : Map [] : String | Test.java:4045:10:4045:32 | new DualTreeBidiMap<>(...) : DualTreeBidiMap [] : String | provenance | MaD:59 | +| Test.java:4046:21:4046:23 | out : DualTreeBidiMap [] : String | Test.java:232:20:232:31 | map : DualTreeBidiMap [] : String | provenance | | +| Test.java:4046:21:4046:23 | out : DualTreeBidiMap [] : String | Test.java:4046:9:4046:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:4051:25:4051:70 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | Test.java:4052:10:4052:11 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:4051:54:4051:69 | (...)... : String | Test.java:274:61:274:65 | key : String | provenance | | +| Test.java:4051:54:4051:69 | (...)... : String | Test.java:4051:25:4051:70 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | provenance | MaD:11 | +| Test.java:4051:62:4051:69 | source(...) : Object | Test.java:4051:54:4051:69 | (...)... : String | provenance | | +| Test.java:4052:10:4052:11 | in : DualTreeBidiMap [] : String | Test.java:4052:10:4052:35 | inverseOrderedBidiMap(...) : OrderedBidiMap [] : String | provenance | MaD:60 | +| Test.java:4052:10:4052:35 | inverseOrderedBidiMap(...) : OrderedBidiMap [] : String | Test.java:4053:21:4053:23 | out : OrderedBidiMap [] : String | provenance | | +| Test.java:4053:21:4053:23 | out : OrderedBidiMap [] : String | Test.java:232:20:232:31 | map : OrderedBidiMap [] : String | provenance | | +| Test.java:4053:21:4053:23 | out : OrderedBidiMap [] : String | Test.java:4053:9:4053:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:4058:25:4058:72 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | Test.java:4059:10:4059:11 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:4058:56:4058:71 | (...)... : String | Test.java:292:63:292:69 | value : String | provenance | | +| Test.java:4058:56:4058:71 | (...)... : String | Test.java:4058:25:4058:72 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | provenance | MaD:12 | +| Test.java:4058:64:4058:71 | source(...) : Object | Test.java:4058:56:4058:71 | (...)... : String | provenance | | +| Test.java:4059:10:4059:11 | in : DualTreeBidiMap [] : String | Test.java:4059:10:4059:35 | inverseOrderedBidiMap(...) : OrderedBidiMap [] : String | provenance | MaD:61 | +| Test.java:4059:10:4059:35 | inverseOrderedBidiMap(...) : OrderedBidiMap [] : String | Test.java:4060:19:4060:21 | out : OrderedBidiMap [] : String | provenance | | +| Test.java:4060:19:4060:21 | out : OrderedBidiMap [] : String | Test.java:228:18:228:29 | map : OrderedBidiMap [] : String | provenance | | +| Test.java:4060:19:4060:21 | out : OrderedBidiMap [] : String | Test.java:4060:9:4060:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:4065:25:4065:70 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | Test.java:4066:10:4066:11 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:4065:54:4065:69 | (...)... : String | Test.java:274:61:274:65 | key : String | provenance | | +| Test.java:4065:54:4065:69 | (...)... : String | Test.java:4065:25:4065:70 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | provenance | MaD:11 | +| Test.java:4065:62:4065:69 | source(...) : Object | Test.java:4065:54:4065:69 | (...)... : String | provenance | | +| Test.java:4066:10:4066:11 | in : DualTreeBidiMap [] : String | Test.java:4066:10:4066:34 | inverseSortedBidiMap(...) : SortedBidiMap [] : String | provenance | MaD:62 | +| Test.java:4066:10:4066:34 | inverseSortedBidiMap(...) : SortedBidiMap [] : String | Test.java:4067:21:4067:23 | out : SortedBidiMap [] : String | provenance | | +| Test.java:4067:21:4067:23 | out : SortedBidiMap [] : String | Test.java:232:20:232:31 | map : SortedBidiMap [] : String | provenance | | +| Test.java:4067:21:4067:23 | out : SortedBidiMap [] : String | Test.java:4067:9:4067:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:4072:25:4072:72 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | Test.java:4073:10:4073:11 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:4072:56:4072:71 | (...)... : String | Test.java:292:63:292:69 | value : String | provenance | | +| Test.java:4072:56:4072:71 | (...)... : String | Test.java:4072:25:4072:72 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | provenance | MaD:12 | +| Test.java:4072:64:4072:71 | source(...) : Object | Test.java:4072:56:4072:71 | (...)... : String | provenance | | +| Test.java:4073:10:4073:11 | in : DualTreeBidiMap [] : String | Test.java:4073:10:4073:34 | inverseSortedBidiMap(...) : SortedBidiMap [] : String | provenance | MaD:63 | +| Test.java:4073:10:4073:34 | inverseSortedBidiMap(...) : SortedBidiMap [] : String | Test.java:4074:19:4074:21 | out : SortedBidiMap [] : String | provenance | | +| Test.java:4074:19:4074:21 | out : SortedBidiMap [] : String | Test.java:228:18:228:29 | map : SortedBidiMap [] : String | provenance | | +| Test.java:4074:19:4074:21 | out : SortedBidiMap [] : String | Test.java:4074:9:4074:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:4079:13:4079:42 | of(...) : Map [] : String | Test.java:4080:26:4080:27 | in : Map [] : String | provenance | | +| Test.java:4079:20:4079:35 | (...)... : String | Test.java:4079:13:4079:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:4079:28:4079:35 | source(...) : Object | Test.java:4079:20:4079:35 | (...)... : String | provenance | | +| Test.java:4080:10:4080:28 | new TreeBidiMap<>(...) : TreeBidiMap [] : String | Test.java:4081:19:4081:21 | out : TreeBidiMap [] : String | provenance | | +| Test.java:4080:26:4080:27 | in : Map [] : String | Test.java:4080:10:4080:28 | new TreeBidiMap<>(...) : TreeBidiMap [] : String | provenance | MaD:64 | +| Test.java:4081:19:4081:21 | out : TreeBidiMap [] : String | Test.java:228:18:228:29 | map : TreeBidiMap [] : String | provenance | | +| Test.java:4081:19:4081:21 | out : TreeBidiMap [] : String | Test.java:4081:9:4081:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:4086:13:4086:42 | of(...) : Map [] : String | Test.java:4087:26:4087:27 | in : Map [] : String | provenance | | +| Test.java:4086:26:4086:41 | (...)... : String | Test.java:4086:13:4086:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:4086:34:4086:41 | source(...) : Object | Test.java:4086:26:4086:41 | (...)... : String | provenance | | +| Test.java:4087:10:4087:28 | new TreeBidiMap<>(...) : TreeBidiMap [] : String | Test.java:4088:21:4088:23 | out : TreeBidiMap [] : String | provenance | | +| Test.java:4087:26:4087:27 | in : Map [] : String | Test.java:4087:10:4087:28 | new TreeBidiMap<>(...) : TreeBidiMap [] : String | provenance | MaD:65 | +| Test.java:4088:21:4088:23 | out : TreeBidiMap [] : String | Test.java:232:20:232:31 | map : TreeBidiMap [] : String | provenance | | +| Test.java:4088:21:4088:23 | out : TreeBidiMap [] : String | Test.java:4088:9:4088:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:4093:17:4093:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | Test.java:4094:50:4094:51 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:4093:46:4093:61 | (...)... : String | Test.java:274:61:274:65 | key : String | provenance | | +| Test.java:4093:46:4093:61 | (...)... : String | Test.java:4093:17:4093:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | provenance | MaD:11 | +| Test.java:4093:54:4093:61 | source(...) : Object | Test.java:4093:46:4093:61 | (...)... : String | provenance | | +| Test.java:4094:10:4094:52 | unmodifiableBidiMap(...) : BidiMap [] : String | Test.java:4095:19:4095:21 | out : BidiMap [] : String | provenance | | +| Test.java:4094:50:4094:51 | in : DualTreeBidiMap [] : String | Test.java:4094:10:4094:52 | unmodifiableBidiMap(...) : BidiMap [] : String | provenance | MaD:66 | +| Test.java:4095:19:4095:21 | out : BidiMap [] : String | Test.java:228:18:228:29 | map : BidiMap [] : String | provenance | | +| Test.java:4095:19:4095:21 | out : BidiMap [] : String | Test.java:4095:9:4095:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:4100:17:4100:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | Test.java:4101:50:4101:51 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:4100:48:4100:63 | (...)... : String | Test.java:292:63:292:69 | value : String | provenance | | +| Test.java:4100:48:4100:63 | (...)... : String | Test.java:4100:17:4100:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | provenance | MaD:12 | +| Test.java:4100:56:4100:63 | source(...) : Object | Test.java:4100:48:4100:63 | (...)... : String | provenance | | +| Test.java:4101:10:4101:52 | unmodifiableBidiMap(...) : BidiMap [] : String | Test.java:4102:21:4102:23 | out : BidiMap [] : String | provenance | | +| Test.java:4101:50:4101:51 | in : DualTreeBidiMap [] : String | Test.java:4101:10:4101:52 | unmodifiableBidiMap(...) : BidiMap [] : String | provenance | MaD:67 | +| Test.java:4102:21:4102:23 | out : BidiMap [] : String | Test.java:232:20:232:31 | map : BidiMap [] : String | provenance | | +| Test.java:4102:21:4102:23 | out : BidiMap [] : String | Test.java:4102:9:4102:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:4107:36:4107:164 | (...)... : UnmodifiableOrderedBidiMap [] : String | Test.java:4108:10:4108:11 | in : UnmodifiableOrderedBidiMap [] : String | provenance | | +| Test.java:4107:64:4107:164 | unmodifiableOrderedBidiMap(...) : OrderedBidiMap [] : String | Test.java:4107:36:4107:164 | (...)... : UnmodifiableOrderedBidiMap [] : String | provenance | | +| Test.java:4107:118:4107:163 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | Test.java:4107:64:4107:164 | unmodifiableOrderedBidiMap(...) : OrderedBidiMap [] : String | provenance | MaD:70 | +| Test.java:4107:147:4107:162 | (...)... : String | Test.java:274:61:274:65 | key : String | provenance | | +| Test.java:4107:147:4107:162 | (...)... : String | Test.java:4107:118:4107:163 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | provenance | MaD:11 | +| Test.java:4107:155:4107:162 | source(...) : Object | Test.java:4107:147:4107:162 | (...)... : String | provenance | | +| Test.java:4108:10:4108:11 | in : UnmodifiableOrderedBidiMap [] : String | Test.java:4108:10:4108:35 | inverseOrderedBidiMap(...) : OrderedBidiMap [] : String | provenance | MaD:68 | +| Test.java:4108:10:4108:35 | inverseOrderedBidiMap(...) : OrderedBidiMap [] : String | Test.java:4109:21:4109:23 | out : OrderedBidiMap [] : String | provenance | | +| Test.java:4109:21:4109:23 | out : OrderedBidiMap [] : String | Test.java:232:20:232:31 | map : OrderedBidiMap [] : String | provenance | | +| Test.java:4109:21:4109:23 | out : OrderedBidiMap [] : String | Test.java:4109:9:4109:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:4114:36:4114:166 | (...)... : UnmodifiableOrderedBidiMap [] : String | Test.java:4115:10:4115:11 | in : UnmodifiableOrderedBidiMap [] : String | provenance | | +| Test.java:4114:64:4114:166 | unmodifiableOrderedBidiMap(...) : OrderedBidiMap [] : String | Test.java:4114:36:4114:166 | (...)... : UnmodifiableOrderedBidiMap [] : String | provenance | | +| Test.java:4114:118:4114:165 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | Test.java:4114:64:4114:166 | unmodifiableOrderedBidiMap(...) : OrderedBidiMap [] : String | provenance | MaD:71 | +| Test.java:4114:149:4114:164 | (...)... : String | Test.java:292:63:292:69 | value : String | provenance | | +| Test.java:4114:149:4114:164 | (...)... : String | Test.java:4114:118:4114:165 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | provenance | MaD:12 | +| Test.java:4114:157:4114:164 | source(...) : Object | Test.java:4114:149:4114:164 | (...)... : String | provenance | | +| Test.java:4115:10:4115:11 | in : UnmodifiableOrderedBidiMap [] : String | Test.java:4115:10:4115:35 | inverseOrderedBidiMap(...) : OrderedBidiMap [] : String | provenance | MaD:69 | +| Test.java:4115:10:4115:35 | inverseOrderedBidiMap(...) : OrderedBidiMap [] : String | Test.java:4116:19:4116:21 | out : OrderedBidiMap [] : String | provenance | | +| Test.java:4116:19:4116:21 | out : OrderedBidiMap [] : String | Test.java:228:18:228:29 | map : OrderedBidiMap [] : String | provenance | | +| Test.java:4116:19:4116:21 | out : OrderedBidiMap [] : String | Test.java:4116:9:4116:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:4121:24:4121:69 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | Test.java:4122:64:4122:65 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:4121:53:4121:68 | (...)... : String | Test.java:274:61:274:65 | key : String | provenance | | +| Test.java:4121:53:4121:68 | (...)... : String | Test.java:4121:24:4121:69 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | provenance | MaD:11 | +| Test.java:4121:61:4121:68 | source(...) : Object | Test.java:4121:53:4121:68 | (...)... : String | provenance | | +| Test.java:4122:10:4122:66 | unmodifiableOrderedBidiMap(...) : OrderedBidiMap [] : String | Test.java:4123:19:4123:21 | out : OrderedBidiMap [] : String | provenance | | +| Test.java:4122:64:4122:65 | in : DualTreeBidiMap [] : String | Test.java:4122:10:4122:66 | unmodifiableOrderedBidiMap(...) : OrderedBidiMap [] : String | provenance | MaD:70 | +| Test.java:4123:19:4123:21 | out : OrderedBidiMap [] : String | Test.java:228:18:228:29 | map : OrderedBidiMap [] : String | provenance | | +| Test.java:4123:19:4123:21 | out : OrderedBidiMap [] : String | Test.java:4123:9:4123:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:4128:24:4128:71 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | Test.java:4129:64:4129:65 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:4128:55:4128:70 | (...)... : String | Test.java:292:63:292:69 | value : String | provenance | | +| Test.java:4128:55:4128:70 | (...)... : String | Test.java:4128:24:4128:71 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | provenance | MaD:12 | +| Test.java:4128:63:4128:70 | source(...) : Object | Test.java:4128:55:4128:70 | (...)... : String | provenance | | +| Test.java:4129:10:4129:66 | unmodifiableOrderedBidiMap(...) : OrderedBidiMap [] : String | Test.java:4130:21:4130:23 | out : OrderedBidiMap [] : String | provenance | | +| Test.java:4129:64:4129:65 | in : DualTreeBidiMap [] : String | Test.java:4129:10:4129:66 | unmodifiableOrderedBidiMap(...) : OrderedBidiMap [] : String | provenance | MaD:71 | +| Test.java:4130:21:4130:23 | out : OrderedBidiMap [] : String | Test.java:232:20:232:31 | map : OrderedBidiMap [] : String | provenance | | +| Test.java:4130:21:4130:23 | out : OrderedBidiMap [] : String | Test.java:4130:9:4130:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:4135:23:4135:68 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | Test.java:4136:62:4136:63 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:4135:52:4135:67 | (...)... : String | Test.java:274:61:274:65 | key : String | provenance | | +| Test.java:4135:52:4135:67 | (...)... : String | Test.java:4135:23:4135:68 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | provenance | MaD:11 | +| Test.java:4135:60:4135:67 | source(...) : Object | Test.java:4135:52:4135:67 | (...)... : String | provenance | | +| Test.java:4136:10:4136:64 | unmodifiableSortedBidiMap(...) : SortedBidiMap [] : String | Test.java:4137:19:4137:21 | out : SortedBidiMap [] : String | provenance | | +| Test.java:4136:62:4136:63 | in : DualTreeBidiMap [] : String | Test.java:4136:10:4136:64 | unmodifiableSortedBidiMap(...) : SortedBidiMap [] : String | provenance | MaD:72 | +| Test.java:4137:19:4137:21 | out : SortedBidiMap [] : String | Test.java:228:18:228:29 | map : SortedBidiMap [] : String | provenance | | +| Test.java:4137:19:4137:21 | out : SortedBidiMap [] : String | Test.java:4137:9:4137:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:4142:23:4142:70 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | Test.java:4143:62:4143:63 | in : DualTreeBidiMap [] : String | provenance | | +| Test.java:4142:54:4142:69 | (...)... : String | Test.java:292:63:292:69 | value : String | provenance | | +| Test.java:4142:54:4142:69 | (...)... : String | Test.java:4142:23:4142:70 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | provenance | MaD:12 | +| Test.java:4142:62:4142:69 | source(...) : Object | Test.java:4142:54:4142:69 | (...)... : String | provenance | | +| Test.java:4143:10:4143:64 | unmodifiableSortedBidiMap(...) : SortedBidiMap [] : String | Test.java:4144:21:4144:23 | out : SortedBidiMap [] : String | provenance | | +| Test.java:4143:62:4143:63 | in : DualTreeBidiMap [] : String | Test.java:4143:10:4143:64 | unmodifiableSortedBidiMap(...) : SortedBidiMap [] : String | provenance | MaD:73 | +| Test.java:4144:21:4144:23 | out : SortedBidiMap [] : String | Test.java:232:20:232:31 | map : SortedBidiMap [] : String | provenance | | +| Test.java:4144:21:4144:23 | out : SortedBidiMap [] : String | Test.java:4144:9:4144:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:4149:20:4149:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4150:44:4150:45 | in : TreeBag [] : String | provenance | | +| Test.java:4149:42:4149:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4149:42:4149:57 | (...)... : String | Test.java:4149:20:4149:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4149:42:4149:57 | (...)... : String | Test.java:4149:20:4149:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4149:50:4149:57 | source(...) : Object | Test.java:4149:42:4149:57 | (...)... : String | provenance | | +| Test.java:4150:10:4150:46 | new MyAbstractCollectionDecorator<>(...) : MyAbstractCollectionDecorator [] : String | Test.java:4151:20:4151:22 | out : MyAbstractCollectionDecorator [] : String | provenance | | +| Test.java:4150:44:4150:45 | in : TreeBag [] : String | Test.java:4150:10:4150:46 | new MyAbstractCollectionDecorator<>(...) : MyAbstractCollectionDecorator [] : String | provenance | MaD:74 | +| Test.java:4150:44:4150:45 | in : TreeBag [] : String | Test.java:7149:40:7149:63 | coll : TreeBag [] : String | provenance | | +| Test.java:4151:20:4151:22 | out : MyAbstractCollectionDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractCollectionDecorator [] : String | provenance | | +| Test.java:4151:20:4151:22 | out : MyAbstractCollectionDecorator [] : String | Test.java:4151:9:4151:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4156:39:4156:112 | new MyAbstractCollectionDecorator<>(...) : MyAbstractCollectionDecorator [] : String | Test.java:4157:10:4157:11 | in : MyAbstractCollectionDecorator [] : String | provenance | | +| Test.java:4156:73:4156:111 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4156:39:4156:112 | new MyAbstractCollectionDecorator<>(...) : MyAbstractCollectionDecorator [] : String | provenance | MaD:74 | +| Test.java:4156:73:4156:111 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:7149:40:7149:63 | coll : TreeBag [] : String | provenance | | +| Test.java:4156:95:4156:110 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4156:95:4156:110 | (...)... : String | Test.java:4156:73:4156:111 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4156:95:4156:110 | (...)... : String | Test.java:4156:73:4156:111 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4156:103:4156:110 | source(...) : Object | Test.java:4156:95:4156:110 | (...)... : String | provenance | | +| Test.java:4157:10:4157:11 | in : MyAbstractCollectionDecorator [] : String | Test.java:4157:10:4157:25 | myDecorated(...) : Collection [] : String | provenance | MaD:75 | +| Test.java:4157:10:4157:11 | in : MyAbstractCollectionDecorator [] : String | Test.java:7152:24:7152:34 | parameter this : MyAbstractCollectionDecorator [] : String | provenance | | +| Test.java:4157:10:4157:25 | myDecorated(...) : Collection [] : String | Test.java:4158:20:4158:22 | out : Collection [] : String | provenance | | +| Test.java:4158:20:4158:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:4158:20:4158:22 | out : Collection [] : String | Test.java:4158:9:4158:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4163:20:4163:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4164:24:4164:25 | in : TreeBag [] : String | provenance | | +| Test.java:4163:42:4163:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4163:42:4163:57 | (...)... : String | Test.java:4163:20:4163:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4163:42:4163:57 | (...)... : String | Test.java:4163:20:4163:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4163:50:4163:57 | source(...) : Object | Test.java:4163:42:4163:57 | (...)... : String | provenance | | +| Test.java:4164:4:4164:6 | out [post update] : MyAbstractCollectionDecorator [] : String | Test.java:4165:20:4165:22 | out : MyAbstractCollectionDecorator [] : String | provenance | | +| Test.java:4164:24:4164:25 | in : TreeBag [] : String | Test.java:4164:4:4164:6 | out [post update] : MyAbstractCollectionDecorator [] : String | provenance | MaD:76 | +| Test.java:4164:24:4164:25 | in : TreeBag [] : String | Test.java:7155:31:7155:54 | coll : TreeBag [] : String | provenance | | +| Test.java:4165:20:4165:22 | out : MyAbstractCollectionDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractCollectionDecorator [] : String | provenance | | +| Test.java:4165:20:4165:22 | out : MyAbstractCollectionDecorator [] : String | Test.java:4165:9:4165:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4170:16:4170:23 | source(...) : Object | Test.java:4172:28:4172:29 | in : Object | provenance | | +| Test.java:4172:17:4172:19 | out [post update] : CompositeCollection [] : Object | Test.java:4173:20:4173:22 | out : CompositeCollection [] : Object | provenance | | +| Test.java:4172:28:4172:29 | in : Object | Test.java:4172:17:4172:19 | out [post update] : CompositeCollection [] : Object | provenance | MaD:87 | +| Test.java:4173:20:4173:22 | out : CompositeCollection [] : Object | Test.java:230:19:230:32 | it : CompositeCollection [] : Object | provenance | | +| Test.java:4173:20:4173:22 | out : CompositeCollection [] : Object | Test.java:4173:9:4173:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4178:16:4178:23 | source(...) : Object | Test.java:4180:28:4180:29 | in : Object | provenance | | +| Test.java:4180:23:4180:25 | out [post update] : List [, ] : Object | Test.java:4181:31:4181:33 | out : List [, ] : Object | provenance | | +| Test.java:4180:28:4180:29 | in : Object | Test.java:4180:23:4180:25 | out [post update] : List [, ] : Object | provenance | MaD:88 | +| Test.java:4181:20:4181:34 | getElement(...) : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | provenance | | +| Test.java:4181:20:4181:34 | getElement(...) : Collection [] : Object | Test.java:4181:9:4181:35 | getElement(...) | provenance | MaD:1 | +| Test.java:4181:31:4181:33 | out : List [, ] : Object | Test.java:4181:20:4181:34 | getElement(...) : Collection [] : Object | provenance | MaD:1 | +| Test.java:4186:20:4186:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4188:31:4188:32 | in : TreeBag [] : String | provenance | | +| Test.java:4186:42:4186:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4186:42:4186:57 | (...)... : String | Test.java:4186:20:4186:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4186:42:4186:57 | (...)... : String | Test.java:4186:20:4186:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4186:50:4186:57 | source(...) : Object | Test.java:4186:42:4186:57 | (...)... : String | provenance | | +| Test.java:4188:20:4188:22 | out [post update] : CompositeCollection [] : String | Test.java:4189:20:4189:22 | out : CompositeCollection [] : String | provenance | | +| Test.java:4188:31:4188:32 | in : TreeBag [] : String | Test.java:4188:20:4188:22 | out [post update] : CompositeCollection [] : String | provenance | MaD:89 | +| Test.java:4189:20:4189:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | provenance | | +| Test.java:4189:20:4189:22 | out : CompositeCollection [] : String | Test.java:4189:9:4189:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4194:20:4194:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4196:31:4196:32 | in : TreeBag [] : String | provenance | | +| Test.java:4194:42:4194:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4194:42:4194:57 | (...)... : String | Test.java:4194:20:4194:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4194:42:4194:57 | (...)... : String | Test.java:4194:20:4194:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4194:50:4194:57 | source(...) : Object | Test.java:4194:42:4194:57 | (...)... : String | provenance | | +| Test.java:4196:26:4196:28 | out [post update] : List [, ] : String | Test.java:4197:31:4197:33 | out : List [, ] : String | provenance | | +| Test.java:4196:31:4196:32 | in : TreeBag [] : String | Test.java:4196:26:4196:28 | out [post update] : List [, ] : String | provenance | MaD:90 | +| Test.java:4197:20:4197:34 | getElement(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:4197:20:4197:34 | getElement(...) : Collection [] : String | Test.java:4197:9:4197:35 | getElement(...) | provenance | MaD:1 | +| Test.java:4197:31:4197:33 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | provenance | | +| Test.java:4197:31:4197:33 | out : List [, ] : String | Test.java:4197:20:4197:34 | getElement(...) : Collection [] : String | provenance | MaD:1 | +| Test.java:4202:20:4202:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4203:34:4203:35 | in : TreeBag [] : String | provenance | | +| Test.java:4202:42:4202:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4202:42:4202:57 | (...)... : String | Test.java:4202:20:4202:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4202:42:4202:57 | (...)... : String | Test.java:4202:20:4202:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4202:50:4202:57 | source(...) : Object | Test.java:4202:42:4202:57 | (...)... : String | provenance | | +| Test.java:4203:10:4203:36 | new CompositeCollection<>(...) : CompositeCollection [] : String | Test.java:4204:20:4204:22 | out : CompositeCollection [] : String | provenance | | +| Test.java:4203:34:4203:35 | in : TreeBag [] : String | Test.java:4203:10:4203:36 | new CompositeCollection<>(...) : CompositeCollection [] : String | provenance | MaD:77 | +| Test.java:4204:20:4204:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | provenance | | +| Test.java:4204:20:4204:22 | out : CompositeCollection [] : String | Test.java:4204:9:4204:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4209:20:4209:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4210:34:4210:35 | in : TreeBag [] : String | provenance | | +| Test.java:4209:42:4209:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4209:42:4209:57 | (...)... : String | Test.java:4209:20:4209:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4209:42:4209:57 | (...)... : String | Test.java:4209:20:4209:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4209:50:4209:57 | source(...) : Object | Test.java:4209:42:4209:57 | (...)... : String | provenance | | +| Test.java:4210:10:4210:42 | new CompositeCollection<>(...) : CompositeCollection [] : String | Test.java:4211:20:4211:22 | out : CompositeCollection [] : String | provenance | | +| Test.java:4210:34:4210:35 | in : TreeBag [] : String | Test.java:4210:10:4210:42 | new CompositeCollection<>(...) : CompositeCollection [] : String | provenance | MaD:78 | +| Test.java:4211:20:4211:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | provenance | | +| Test.java:4211:20:4211:22 | out : CompositeCollection [] : String | Test.java:4211:9:4211:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4216:20:4216:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4217:40:4217:41 | in : TreeBag [] : String | provenance | | +| Test.java:4216:42:4216:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4216:42:4216:57 | (...)... : String | Test.java:4216:20:4216:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4216:42:4216:57 | (...)... : String | Test.java:4216:20:4216:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4216:50:4216:57 | source(...) : Object | Test.java:4216:42:4216:57 | (...)... : String | provenance | | +| Test.java:4217:10:4217:42 | new CompositeCollection<>(...) : CompositeCollection [] : String | Test.java:4218:20:4218:22 | out : CompositeCollection [] : String | provenance | | +| Test.java:4217:40:4217:41 | in : TreeBag [] : String | Test.java:4217:10:4217:42 | new CompositeCollection<>(...) : CompositeCollection [] : String | provenance | MaD:79 | +| Test.java:4218:20:4218:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | provenance | | +| Test.java:4218:20:4218:22 | out : CompositeCollection [] : String | Test.java:4218:9:4218:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4223:22:4223:78 | {...} : Collection[] [[], ] : String | Test.java:4224:34:4224:35 | in : Collection[] [[], ] : String | provenance | | +| Test.java:4223:39:4223:77 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4223:22:4223:78 | {...} : Collection[] [[], ] : String | provenance | | +| Test.java:4223:61:4223:76 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4223:61:4223:76 | (...)... : String | Test.java:4223:39:4223:77 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4223:61:4223:76 | (...)... : String | Test.java:4223:39:4223:77 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4223:69:4223:76 | source(...) : Object | Test.java:4223:61:4223:76 | (...)... : String | provenance | | +| Test.java:4224:10:4224:36 | new CompositeCollection<>(...) : CompositeCollection [] : String | Test.java:4225:20:4225:22 | out : CompositeCollection [] : String | provenance | | +| Test.java:4224:34:4224:35 | in : Collection[] [[], ] : String | Test.java:4224:10:4224:36 | new CompositeCollection<>(...) : CompositeCollection [] : String | provenance | MaD:80 | +| Test.java:4225:20:4225:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | provenance | | +| Test.java:4225:20:4225:22 | out : CompositeCollection [] : String | Test.java:4225:9:4225:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4230:20:4230:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4231:22:4231:23 | in : TreeBag [] : String | provenance | | +| Test.java:4230:42:4230:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4230:42:4230:57 | (...)... : String | Test.java:4230:20:4230:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4230:42:4230:57 | (...)... : String | Test.java:4230:20:4230:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4230:50:4230:57 | source(...) : Object | Test.java:4230:42:4230:57 | (...)... : String | provenance | | +| Test.java:4231:4:4231:6 | out [post update] : CompositeCollection [] : String | Test.java:4232:20:4232:22 | out : CompositeCollection [] : String | provenance | | +| Test.java:4231:22:4231:23 | in : TreeBag [] : String | Test.java:4231:4:4231:6 | out [post update] : CompositeCollection [] : String | provenance | MaD:81 | +| Test.java:4232:20:4232:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | provenance | | +| Test.java:4232:20:4232:22 | out : CompositeCollection [] : String | Test.java:4232:9:4232:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4237:20:4237:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4238:22:4238:23 | in : TreeBag [] : String | provenance | | +| Test.java:4237:42:4237:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4237:42:4237:57 | (...)... : String | Test.java:4237:20:4237:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4237:42:4237:57 | (...)... : String | Test.java:4237:20:4237:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4237:50:4237:57 | source(...) : Object | Test.java:4237:42:4237:57 | (...)... : String | provenance | | +| Test.java:4238:4:4238:6 | out [post update] : CompositeCollection [] : String | Test.java:4239:20:4239:22 | out : CompositeCollection [] : String | provenance | | +| Test.java:4238:22:4238:23 | in : TreeBag [] : String | Test.java:4238:4:4238:6 | out [post update] : CompositeCollection [] : String | provenance | MaD:82 | +| Test.java:4239:20:4239:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | provenance | | +| Test.java:4239:20:4239:22 | out : CompositeCollection [] : String | Test.java:4239:9:4239:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4244:20:4244:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4245:28:4245:29 | in : TreeBag [] : String | provenance | | +| Test.java:4244:42:4244:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4244:42:4244:57 | (...)... : String | Test.java:4244:20:4244:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4244:42:4244:57 | (...)... : String | Test.java:4244:20:4244:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4244:50:4244:57 | source(...) : Object | Test.java:4244:42:4244:57 | (...)... : String | provenance | | +| Test.java:4245:4:4245:6 | out [post update] : CompositeCollection [] : String | Test.java:4246:20:4246:22 | out : CompositeCollection [] : String | provenance | | +| Test.java:4245:28:4245:29 | in : TreeBag [] : String | Test.java:4245:4:4245:6 | out [post update] : CompositeCollection [] : String | provenance | MaD:83 | +| Test.java:4246:20:4246:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | provenance | | +| Test.java:4246:20:4246:22 | out : CompositeCollection [] : String | Test.java:4246:9:4246:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4251:22:4251:78 | {...} : Collection[] [[], ] : String | Test.java:4252:22:4252:23 | in : Collection[] [[], ] : String | provenance | | +| Test.java:4251:39:4251:77 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4251:22:4251:78 | {...} : Collection[] [[], ] : String | provenance | | +| Test.java:4251:61:4251:76 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4251:61:4251:76 | (...)... : String | Test.java:4251:39:4251:77 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4251:61:4251:76 | (...)... : String | Test.java:4251:39:4251:77 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4251:69:4251:76 | source(...) : Object | Test.java:4251:61:4251:76 | (...)... : String | provenance | | +| Test.java:4252:4:4252:6 | out [post update] : CompositeCollection [] : String | Test.java:4253:20:4253:22 | out : CompositeCollection [] : String | provenance | | +| Test.java:4252:22:4252:23 | in : Collection[] [[], ] : String | Test.java:4252:4:4252:6 | out [post update] : CompositeCollection [] : String | provenance | MaD:84 | +| Test.java:4253:20:4253:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | provenance | | +| Test.java:4253:20:4253:22 | out : CompositeCollection [] : String | Test.java:4253:9:4253:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4258:29:4258:92 | new CompositeCollection<>(...) : CompositeCollection [] : String | Test.java:4259:10:4259:11 | in : CompositeCollection [] : String | provenance | | +| Test.java:4258:53:4258:91 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4258:29:4258:92 | new CompositeCollection<>(...) : CompositeCollection [] : String | provenance | MaD:77 | +| Test.java:4258:75:4258:90 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4258:75:4258:90 | (...)... : String | Test.java:4258:53:4258:91 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4258:75:4258:90 | (...)... : String | Test.java:4258:53:4258:91 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4258:83:4258:90 | source(...) : Object | Test.java:4258:75:4258:90 | (...)... : String | provenance | | +| Test.java:4259:10:4259:11 | in : CompositeCollection [] : String | Test.java:4259:10:4259:28 | getCollections(...) : List [, ] : String | provenance | MaD:85 | +| Test.java:4259:10:4259:28 | getCollections(...) : List [, ] : String | Test.java:4260:31:4260:33 | out : List [, ] : String | provenance | | +| Test.java:4260:20:4260:34 | getElement(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:4260:20:4260:34 | getElement(...) : Collection [] : String | Test.java:4260:9:4260:35 | getElement(...) | provenance | MaD:1 | +| Test.java:4260:31:4260:33 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | provenance | | +| Test.java:4260:31:4260:33 | out : List [, ] : String | Test.java:4260:20:4260:34 | getElement(...) : Collection [] : String | provenance | MaD:1 | +| Test.java:4265:29:4265:92 | new CompositeCollection<>(...) : CompositeCollection [] : String | Test.java:4266:10:4266:11 | in : CompositeCollection [] : String | provenance | | +| Test.java:4265:53:4265:91 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4265:29:4265:92 | new CompositeCollection<>(...) : CompositeCollection [] : String | provenance | MaD:77 | +| Test.java:4265:75:4265:90 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4265:75:4265:90 | (...)... : String | Test.java:4265:53:4265:91 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4265:75:4265:90 | (...)... : String | Test.java:4265:53:4265:91 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4265:83:4265:90 | source(...) : Object | Test.java:4265:75:4265:90 | (...)... : String | provenance | | +| Test.java:4266:10:4266:11 | in : CompositeCollection [] : String | Test.java:4266:10:4266:26 | toCollection(...) : Collection [] : String | provenance | MaD:86 | +| Test.java:4266:10:4266:26 | toCollection(...) : Collection [] : String | Test.java:4267:20:4267:22 | out : Collection [] : String | provenance | | +| Test.java:4267:20:4267:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:4267:20:4267:22 | out : Collection [] : String | Test.java:4267:9:4267:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4272:20:4272:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4273:32:4273:33 | in : TreeBag [] : String | provenance | | +| Test.java:4272:42:4272:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4272:42:4272:57 | (...)... : String | Test.java:4272:20:4272:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4272:42:4272:57 | (...)... : String | Test.java:4272:20:4272:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4272:50:4272:57 | source(...) : Object | Test.java:4272:42:4272:57 | (...)... : String | provenance | | +| Test.java:4273:10:4273:53 | new IndexedCollection<>(...) : IndexedCollection [] : String | Test.java:4274:20:4274:22 | out : IndexedCollection [] : String | provenance | | +| Test.java:4273:32:4273:33 | in : TreeBag [] : String | Test.java:4273:10:4273:53 | new IndexedCollection<>(...) : IndexedCollection [] : String | provenance | MaD:91 | +| Test.java:4274:20:4274:22 | out : IndexedCollection [] : String | Test.java:230:19:230:32 | it : IndexedCollection [] : String | provenance | | +| Test.java:4274:20:4274:22 | out : IndexedCollection [] : String | Test.java:4274:9:4274:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4279:27:4279:107 | new IndexedCollection<>(...) : IndexedCollection [] : String | Test.java:4280:10:4280:11 | in : IndexedCollection [] : String | provenance | | +| Test.java:4279:49:4279:87 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4279:27:4279:107 | new IndexedCollection<>(...) : IndexedCollection [] : String | provenance | MaD:91 | +| Test.java:4279:71:4279:86 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4279:71:4279:86 | (...)... : String | Test.java:4279:49:4279:87 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4279:71:4279:86 | (...)... : String | Test.java:4279:49:4279:87 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4279:79:4279:86 | source(...) : Object | Test.java:4279:71:4279:86 | (...)... : String | provenance | | +| Test.java:4280:10:4280:11 | in : IndexedCollection [] : String | Test.java:4280:10:4280:21 | get(...) : String | provenance | MaD:92 | +| Test.java:4280:10:4280:21 | get(...) : String | Test.java:4281:9:4281:11 | out | provenance | | +| Test.java:4286:20:4286:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4287:55:4287:56 | in : TreeBag [] : String | provenance | | +| Test.java:4286:42:4286:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4286:42:4286:57 | (...)... : String | Test.java:4286:20:4286:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4286:42:4286:57 | (...)... : String | Test.java:4286:20:4286:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4286:50:4286:57 | source(...) : Object | Test.java:4286:42:4286:57 | (...)... : String | provenance | | +| Test.java:4287:10:4287:63 | nonUniqueIndexedCollection(...) : IndexedCollection [] : String | Test.java:4288:20:4288:22 | out : IndexedCollection [] : String | provenance | | +| Test.java:4287:55:4287:56 | in : TreeBag [] : String | Test.java:4287:10:4287:63 | nonUniqueIndexedCollection(...) : IndexedCollection [] : String | provenance | MaD:93 | +| Test.java:4288:20:4288:22 | out : IndexedCollection [] : String | Test.java:230:19:230:32 | it : IndexedCollection [] : String | provenance | | +| Test.java:4288:20:4288:22 | out : IndexedCollection [] : String | Test.java:4288:9:4288:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4293:20:4293:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4294:52:4294:53 | in : TreeBag [] : String | provenance | | +| Test.java:4293:42:4293:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4293:42:4293:57 | (...)... : String | Test.java:4293:20:4293:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4293:42:4293:57 | (...)... : String | Test.java:4293:20:4293:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4293:50:4293:57 | source(...) : Object | Test.java:4293:42:4293:57 | (...)... : String | provenance | | +| Test.java:4294:10:4294:60 | uniqueIndexedCollection(...) : IndexedCollection [] : String | Test.java:4295:20:4295:22 | out : IndexedCollection [] : String | provenance | | +| Test.java:4294:52:4294:53 | in : TreeBag [] : String | Test.java:4294:10:4294:60 | uniqueIndexedCollection(...) : IndexedCollection [] : String | provenance | MaD:94 | +| Test.java:4295:20:4295:22 | out : IndexedCollection [] : String | Test.java:230:19:230:32 | it : IndexedCollection [] : String | provenance | | +| Test.java:4295:20:4295:22 | out : IndexedCollection [] : String | Test.java:4295:9:4295:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4300:27:4300:107 | new IndexedCollection<>(...) : IndexedCollection [] : String | Test.java:4301:10:4301:11 | in : IndexedCollection [] : String | provenance | | +| Test.java:4300:49:4300:87 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4300:27:4300:107 | new IndexedCollection<>(...) : IndexedCollection [] : String | provenance | MaD:91 | +| Test.java:4300:71:4300:86 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4300:71:4300:86 | (...)... : String | Test.java:4300:49:4300:87 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4300:71:4300:86 | (...)... : String | Test.java:4300:49:4300:87 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4300:79:4300:86 | source(...) : Object | Test.java:4300:71:4300:86 | (...)... : String | provenance | | +| Test.java:4301:10:4301:11 | in : IndexedCollection [] : String | Test.java:4301:10:4301:24 | values(...) : Collection [] : String | provenance | MaD:95 | +| Test.java:4301:10:4301:24 | values(...) : Collection [] : String | Test.java:4302:20:4302:22 | out : Collection [] : String | provenance | | +| Test.java:4302:20:4302:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:4302:20:4302:22 | out : Collection [] : String | Test.java:4302:9:4302:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4307:16:4307:31 | (...)... : String | Test.java:4308:12:4308:13 | in : String | provenance | | +| Test.java:4307:24:4307:31 | source(...) : Object | Test.java:4307:16:4307:31 | (...)... : String | provenance | | +| Test.java:4308:4:4308:6 | out [post update] : Builder [] : String | Test.java:4309:20:4309:22 | out : Builder [] : String | provenance | | +| Test.java:4308:12:4308:13 | in : String | Test.java:4308:4:4308:6 | out [post update] : Builder [] : String | provenance | MaD:97 | +| Test.java:4309:20:4309:22 | out : Builder [] : String | Test.java:4309:20:4309:45 | createPredicatedList(...) : List [] : String | provenance | MaD:101 | +| Test.java:4309:20:4309:45 | createPredicatedList(...) : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:4309:20:4309:45 | createPredicatedList(...) : List [] : String | Test.java:4309:9:4309:46 | getElement(...) | provenance | MaD:1 | +| Test.java:4314:20:4314:44 | of(...) : List [] : String | Test.java:4315:15:4315:16 | in : List [] : String | provenance | | +| Test.java:4314:28:4314:43 | (...)... : String | Test.java:4314:20:4314:44 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:4314:36:4314:43 | source(...) : Object | Test.java:4314:28:4314:43 | (...)... : String | provenance | | +| Test.java:4315:4:4315:6 | out [post update] : Builder [] : String | Test.java:4316:20:4316:22 | out : Builder [] : String | provenance | | +| Test.java:4315:15:4315:16 | in : List [] : String | Test.java:4315:4:4315:6 | out [post update] : Builder [] : String | provenance | MaD:98 | +| Test.java:4316:20:4316:22 | out : Builder [] : String | Test.java:4316:20:4316:45 | createPredicatedList(...) : List [] : String | provenance | MaD:101 | +| Test.java:4316:20:4316:45 | createPredicatedList(...) : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:4316:20:4316:45 | createPredicatedList(...) : List [] : String | Test.java:4316:9:4316:46 | getElement(...) | provenance | MaD:1 | +| Test.java:4321:38:4321:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | Test.java:4322:10:4322:11 | in : Builder [] : String | provenance | | +| Test.java:4321:80:4321:95 | (...)... : String | Test.java:264:80:264:88 | element : String | provenance | | +| Test.java:4321:80:4321:95 | (...)... : String | Test.java:4321:38:4321:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | provenance | MaD:97 | +| Test.java:4321:88:4321:95 | source(...) : Object | Test.java:4321:80:4321:95 | (...)... : String | provenance | | +| Test.java:4322:10:4322:11 | in : Builder [] : String | Test.java:4322:10:4322:37 | createPredicatedBag(...) : Bag [] : String | provenance | MaD:99 | +| Test.java:4322:10:4322:37 | createPredicatedBag(...) : Bag [] : String | Test.java:4323:20:4323:22 | out : Bag [] : String | provenance | | +| Test.java:4323:20:4323:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | provenance | | +| Test.java:4323:20:4323:22 | out : Bag [] : String | Test.java:4323:9:4323:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4328:38:4328:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | Test.java:4329:10:4329:11 | in : Builder [] : String | provenance | | +| Test.java:4328:80:4328:95 | (...)... : String | Test.java:264:80:264:88 | element : String | provenance | | +| Test.java:4328:80:4328:95 | (...)... : String | Test.java:4328:38:4328:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | provenance | MaD:97 | +| Test.java:4328:88:4328:95 | source(...) : Object | Test.java:4328:80:4328:95 | (...)... : String | provenance | | +| Test.java:4329:10:4329:11 | in : Builder [] : String | Test.java:4329:10:4329:33 | createPredicatedBag(...) : Bag [] : String | provenance | MaD:99 | +| Test.java:4329:10:4329:33 | createPredicatedBag(...) : Bag [] : String | Test.java:4330:20:4330:22 | out : Bag [] : String | provenance | | +| Test.java:4330:20:4330:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | provenance | | +| Test.java:4330:20:4330:22 | out : Bag [] : String | Test.java:4330:9:4330:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4335:13:4335:51 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4337:39:4337:40 | in : TreeBag [] : String | provenance | | +| Test.java:4335:35:4335:50 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4335:35:4335:50 | (...)... : String | Test.java:4335:13:4335:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4335:35:4335:50 | (...)... : String | Test.java:4335:13:4335:51 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4335:43:4335:50 | source(...) : Object | Test.java:4335:35:4335:50 | (...)... : String | provenance | | +| Test.java:4337:10:4337:41 | createPredicatedBag(...) : Bag [] : String | Test.java:4338:20:4338:22 | out : Bag [] : String | provenance | | +| Test.java:4337:39:4337:40 | in : TreeBag [] : String | Test.java:4337:10:4337:41 | createPredicatedBag(...) : Bag [] : String | provenance | MaD:100 | +| Test.java:4338:20:4338:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | provenance | | +| Test.java:4338:20:4338:22 | out : Bag [] : String | Test.java:4338:9:4338:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4343:38:4343:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | Test.java:4344:10:4344:11 | in : Builder [] : String | provenance | | +| Test.java:4343:80:4343:95 | (...)... : String | Test.java:264:80:264:88 | element : String | provenance | | +| Test.java:4343:80:4343:95 | (...)... : String | Test.java:4343:38:4343:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | provenance | MaD:97 | +| Test.java:4343:88:4343:95 | source(...) : Object | Test.java:4343:80:4343:95 | (...)... : String | provenance | | +| Test.java:4344:10:4344:11 | in : Builder [] : String | Test.java:4344:10:4344:38 | createPredicatedList(...) : List [] : String | provenance | MaD:101 | +| Test.java:4344:10:4344:38 | createPredicatedList(...) : List [] : String | Test.java:4345:20:4345:22 | out : List [] : String | provenance | | +| Test.java:4345:20:4345:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:4345:20:4345:22 | out : List [] : String | Test.java:4345:9:4345:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4350:38:4350:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | Test.java:4351:10:4351:11 | in : Builder [] : String | provenance | | +| Test.java:4350:80:4350:95 | (...)... : String | Test.java:264:80:264:88 | element : String | provenance | | +| Test.java:4350:80:4350:95 | (...)... : String | Test.java:4350:38:4350:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | provenance | MaD:97 | +| Test.java:4350:88:4350:95 | source(...) : Object | Test.java:4350:80:4350:95 | (...)... : String | provenance | | +| Test.java:4351:10:4351:11 | in : Builder [] : String | Test.java:4351:10:4351:34 | createPredicatedList(...) : List [] : String | provenance | MaD:101 | +| Test.java:4351:10:4351:34 | createPredicatedList(...) : List [] : String | Test.java:4352:20:4352:22 | out : List [] : String | provenance | | +| Test.java:4352:20:4352:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:4352:20:4352:22 | out : List [] : String | Test.java:4352:9:4352:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4357:14:4357:38 | of(...) : List [] : String | Test.java:4359:40:4359:41 | in : List [] : String | provenance | | +| Test.java:4357:22:4357:37 | (...)... : String | Test.java:4357:14:4357:38 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:4357:30:4357:37 | source(...) : Object | Test.java:4357:22:4357:37 | (...)... : String | provenance | | +| Test.java:4359:10:4359:42 | createPredicatedList(...) : List [] : String | Test.java:4360:20:4360:22 | out : List [] : String | provenance | | +| Test.java:4359:40:4359:41 | in : List [] : String | Test.java:4359:10:4359:42 | createPredicatedList(...) : List [] : String | provenance | MaD:102 | +| Test.java:4360:20:4360:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:4360:20:4360:22 | out : List [] : String | Test.java:4360:9:4360:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4365:38:4365:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | Test.java:4366:10:4366:11 | in : Builder [] : String | provenance | | +| Test.java:4365:80:4365:95 | (...)... : String | Test.java:264:80:264:88 | element : String | provenance | | +| Test.java:4365:80:4365:95 | (...)... : String | Test.java:4365:38:4365:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | provenance | MaD:97 | +| Test.java:4365:88:4365:95 | source(...) : Object | Test.java:4365:80:4365:95 | (...)... : String | provenance | | +| Test.java:4366:10:4366:11 | in : Builder [] : String | Test.java:4366:10:4366:42 | createPredicatedMultiSet(...) : MultiSet [] : String | provenance | MaD:103 | +| Test.java:4366:10:4366:42 | createPredicatedMultiSet(...) : MultiSet [] : String | Test.java:4367:20:4367:22 | out : MultiSet [] : String | provenance | | +| Test.java:4367:20:4367:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | provenance | | +| Test.java:4367:20:4367:22 | out : MultiSet [] : String | Test.java:4367:9:4367:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4372:38:4372:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | Test.java:4373:10:4373:11 | in : Builder [] : String | provenance | | +| Test.java:4372:80:4372:95 | (...)... : String | Test.java:264:80:264:88 | element : String | provenance | | +| Test.java:4372:80:4372:95 | (...)... : String | Test.java:4372:38:4372:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | provenance | MaD:97 | +| Test.java:4372:88:4372:95 | source(...) : Object | Test.java:4372:80:4372:95 | (...)... : String | provenance | | +| Test.java:4373:10:4373:11 | in : Builder [] : String | Test.java:4373:10:4373:38 | createPredicatedMultiSet(...) : MultiSet [] : String | provenance | MaD:103 | +| Test.java:4373:10:4373:38 | createPredicatedMultiSet(...) : MultiSet [] : String | Test.java:4374:20:4374:22 | out : MultiSet [] : String | provenance | | +| Test.java:4374:20:4374:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | provenance | | +| Test.java:4374:20:4374:22 | out : MultiSet [] : String | Test.java:4374:9:4374:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4379:18:4379:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:4381:44:4381:45 | in : HashMultiSet [] : String | provenance | | +| Test.java:4379:45:4379:60 | (...)... : String | Test.java:258:49:258:57 | element : String | provenance | | +| Test.java:4379:45:4379:60 | (...)... : String | Test.java:4379:18:4379:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:2 | +| Test.java:4379:45:4379:60 | (...)... : String | Test.java:4379:18:4379:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:673 | +| Test.java:4379:53:4379:60 | source(...) : Object | Test.java:4379:45:4379:60 | (...)... : String | provenance | | +| Test.java:4381:10:4381:46 | createPredicatedMultiSet(...) : MultiSet [] : String | Test.java:4382:20:4382:22 | out : MultiSet [] : String | provenance | | +| Test.java:4381:44:4381:45 | in : HashMultiSet [] : String | Test.java:4381:10:4381:46 | createPredicatedMultiSet(...) : MultiSet [] : String | provenance | MaD:104 | +| Test.java:4382:20:4382:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | provenance | | +| Test.java:4382:20:4382:22 | out : MultiSet [] : String | Test.java:4382:9:4382:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4387:38:4387:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | Test.java:4388:10:4388:11 | in : Builder [] : String | provenance | | +| Test.java:4387:80:4387:95 | (...)... : String | Test.java:264:80:264:88 | element : String | provenance | | +| Test.java:4387:80:4387:95 | (...)... : String | Test.java:4387:38:4387:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | provenance | MaD:97 | +| Test.java:4387:88:4387:95 | source(...) : Object | Test.java:4387:80:4387:95 | (...)... : String | provenance | | +| Test.java:4388:10:4388:11 | in : Builder [] : String | Test.java:4388:10:4388:39 | createPredicatedQueue(...) : Queue [] : String | provenance | MaD:105 | +| Test.java:4388:10:4388:39 | createPredicatedQueue(...) : Queue [] : String | Test.java:4389:20:4389:22 | out : Queue [] : String | provenance | | +| Test.java:4389:20:4389:22 | out : Queue [] : String | Test.java:230:19:230:32 | it : Queue [] : String | provenance | | +| Test.java:4389:20:4389:22 | out : Queue [] : String | Test.java:4389:9:4389:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4394:38:4394:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | Test.java:4395:10:4395:11 | in : Builder [] : String | provenance | | +| Test.java:4394:80:4394:95 | (...)... : String | Test.java:264:80:264:88 | element : String | provenance | | +| Test.java:4394:80:4394:95 | (...)... : String | Test.java:4394:38:4394:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | provenance | MaD:97 | +| Test.java:4394:88:4394:95 | source(...) : Object | Test.java:4394:80:4394:95 | (...)... : String | provenance | | +| Test.java:4395:10:4395:11 | in : Builder [] : String | Test.java:4395:10:4395:35 | createPredicatedQueue(...) : Queue [] : String | provenance | MaD:105 | +| Test.java:4395:10:4395:35 | createPredicatedQueue(...) : Queue [] : String | Test.java:4396:20:4396:22 | out : Queue [] : String | provenance | | +| Test.java:4396:20:4396:22 | out : Queue [] : String | Test.java:230:19:230:32 | it : Queue [] : String | provenance | | +| Test.java:4396:20:4396:22 | out : Queue [] : String | Test.java:4396:9:4396:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4401:15:4401:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | Test.java:4403:41:4403:42 | in : CircularFifoQueue [] : String | provenance | | +| Test.java:4401:47:4401:62 | (...)... : String | Test.java:253:59:253:67 | element : String | provenance | | +| Test.java:4401:47:4401:62 | (...)... : String | Test.java:4401:15:4401:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | provenance | MaD:2 | +| Test.java:4401:55:4401:62 | source(...) : Object | Test.java:4401:47:4401:62 | (...)... : String | provenance | | +| Test.java:4403:10:4403:43 | createPredicatedQueue(...) : Queue [] : String | Test.java:4404:20:4404:22 | out : Queue [] : String | provenance | | +| Test.java:4403:41:4403:42 | in : CircularFifoQueue [] : String | Test.java:4403:10:4403:43 | createPredicatedQueue(...) : Queue [] : String | provenance | MaD:106 | +| Test.java:4404:20:4404:22 | out : Queue [] : String | Test.java:230:19:230:32 | it : Queue [] : String | provenance | | +| Test.java:4404:20:4404:22 | out : Queue [] : String | Test.java:4404:9:4404:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4409:38:4409:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | Test.java:4410:10:4410:11 | in : Builder [] : String | provenance | | +| Test.java:4409:80:4409:95 | (...)... : String | Test.java:264:80:264:88 | element : String | provenance | | +| Test.java:4409:80:4409:95 | (...)... : String | Test.java:4409:38:4409:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | provenance | MaD:97 | +| Test.java:4409:88:4409:95 | source(...) : Object | Test.java:4409:80:4409:95 | (...)... : String | provenance | | +| Test.java:4410:10:4410:11 | in : Builder [] : String | Test.java:4410:10:4410:37 | createPredicatedSet(...) : Set [] : String | provenance | MaD:107 | +| Test.java:4410:10:4410:37 | createPredicatedSet(...) : Set [] : String | Test.java:4411:20:4411:22 | out : Set [] : String | provenance | | +| Test.java:4411:20:4411:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:4411:20:4411:22 | out : Set [] : String | Test.java:4411:9:4411:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4416:38:4416:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | Test.java:4417:10:4417:11 | in : Builder [] : String | provenance | | +| Test.java:4416:80:4416:95 | (...)... : String | Test.java:264:80:264:88 | element : String | provenance | | +| Test.java:4416:80:4416:95 | (...)... : String | Test.java:4416:38:4416:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | provenance | MaD:97 | +| Test.java:4416:88:4416:95 | source(...) : Object | Test.java:4416:80:4416:95 | (...)... : String | provenance | | +| Test.java:4417:10:4417:11 | in : Builder [] : String | Test.java:4417:10:4417:33 | createPredicatedSet(...) : Set [] : String | provenance | MaD:107 | +| Test.java:4417:10:4417:33 | createPredicatedSet(...) : Set [] : String | Test.java:4418:20:4418:22 | out : Set [] : String | provenance | | +| Test.java:4418:20:4418:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:4418:20:4418:22 | out : Set [] : String | Test.java:4418:9:4418:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4423:13:4423:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | Test.java:4425:39:4425:40 | in : ListOrderedSet [] : String | provenance | | +| Test.java:4423:42:4423:57 | (...)... : String | Test.java:260:53:260:61 | element : String | provenance | | +| Test.java:4423:42:4423:57 | (...)... : String | Test.java:4423:13:4423:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | provenance | MaD:2 | +| Test.java:4423:50:4423:57 | source(...) : Object | Test.java:4423:42:4423:57 | (...)... : String | provenance | | +| Test.java:4425:10:4425:41 | createPredicatedSet(...) : Set [] : String | Test.java:4426:20:4426:22 | out : Set [] : String | provenance | | +| Test.java:4425:39:4425:40 | in : ListOrderedSet [] : String | Test.java:4425:10:4425:41 | createPredicatedSet(...) : Set [] : String | provenance | MaD:108 | +| Test.java:4426:20:4426:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:4426:20:4426:22 | out : Set [] : String | Test.java:4426:9:4426:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4431:38:4431:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | Test.java:4432:10:4432:11 | in : Builder [] : String | provenance | | +| Test.java:4431:80:4431:95 | (...)... : String | Test.java:264:80:264:88 | element : String | provenance | | +| Test.java:4431:80:4431:95 | (...)... : String | Test.java:4431:38:4431:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | provenance | MaD:97 | +| Test.java:4431:88:4431:95 | source(...) : Object | Test.java:4431:80:4431:95 | (...)... : String | provenance | | +| Test.java:4432:10:4432:11 | in : Builder [] : String | Test.java:4432:10:4432:30 | rejectedElements(...) : Collection [] : String | provenance | MaD:109 | +| Test.java:4432:10:4432:30 | rejectedElements(...) : Collection [] : String | Test.java:4433:20:4433:22 | out : Collection [] : String | provenance | | +| Test.java:4433:20:4433:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:4433:20:4433:22 | out : Collection [] : String | Test.java:4433:9:4433:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4438:20:4438:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4439:52:4439:53 | in : TreeBag [] : String | provenance | | +| Test.java:4438:42:4438:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4438:42:4438:57 | (...)... : String | Test.java:4438:20:4438:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4438:42:4438:57 | (...)... : String | Test.java:4438:20:4438:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4438:50:4438:57 | source(...) : Object | Test.java:4438:42:4438:57 | (...)... : String | provenance | | +| Test.java:4439:10:4439:60 | predicatedCollection(...) : PredicatedCollection [] : String | Test.java:4440:20:4440:22 | out : PredicatedCollection [] : String | provenance | | +| Test.java:4439:52:4439:53 | in : TreeBag [] : String | Test.java:4439:10:4439:60 | predicatedCollection(...) : PredicatedCollection [] : String | provenance | MaD:96 | +| Test.java:4440:20:4440:22 | out : PredicatedCollection [] : String | Test.java:230:19:230:32 | it : PredicatedCollection [] : String | provenance | | +| Test.java:4440:20:4440:22 | out : PredicatedCollection [] : String | Test.java:4440:9:4440:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4445:20:4445:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4446:56:4446:57 | in : TreeBag [] : String | provenance | | +| Test.java:4445:42:4445:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4445:42:4445:57 | (...)... : String | Test.java:4445:20:4445:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4445:42:4445:57 | (...)... : String | Test.java:4445:20:4445:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4445:50:4445:57 | source(...) : Object | Test.java:4445:42:4445:57 | (...)... : String | provenance | | +| Test.java:4446:10:4446:58 | synchronizedCollection(...) : SynchronizedCollection [] : String | Test.java:4447:20:4447:22 | out : SynchronizedCollection [] : String | provenance | | +| Test.java:4446:56:4446:57 | in : TreeBag [] : String | Test.java:4446:10:4446:58 | synchronizedCollection(...) : SynchronizedCollection [] : String | provenance | MaD:110 | +| Test.java:4447:20:4447:22 | out : SynchronizedCollection [] : String | Test.java:230:19:230:32 | it : SynchronizedCollection [] : String | provenance | | +| Test.java:4447:20:4447:22 | out : SynchronizedCollection [] : String | Test.java:4447:9:4447:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4452:20:4452:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4453:55:4453:56 | in : TreeBag [] : String | provenance | | +| Test.java:4452:42:4452:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4452:42:4452:57 | (...)... : String | Test.java:4452:20:4452:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4452:42:4452:57 | (...)... : String | Test.java:4452:20:4452:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4452:50:4452:57 | source(...) : Object | Test.java:4452:42:4452:57 | (...)... : String | provenance | | +| Test.java:4453:10:4453:63 | transformingCollection(...) : TransformedCollection [] : String | Test.java:4454:20:4454:22 | out : TransformedCollection [] : String | provenance | | +| Test.java:4453:55:4453:56 | in : TreeBag [] : String | Test.java:4453:10:4453:63 | transformingCollection(...) : TransformedCollection [] : String | provenance | MaD:111 | +| Test.java:4454:20:4454:22 | out : TransformedCollection [] : String | Test.java:230:19:230:32 | it : TransformedCollection [] : String | provenance | | +| Test.java:4454:20:4454:22 | out : TransformedCollection [] : String | Test.java:4454:9:4454:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4459:20:4459:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4460:70:4460:71 | in : TreeBag [] : String | provenance | | +| Test.java:4459:42:4459:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4459:42:4459:57 | (...)... : String | Test.java:4459:20:4459:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4459:42:4459:57 | (...)... : String | Test.java:4459:20:4459:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4459:50:4459:57 | source(...) : Object | Test.java:4459:42:4459:57 | (...)... : String | provenance | | +| Test.java:4460:10:4460:72 | unmodifiableBoundedCollection(...) : BoundedCollection [] : String | Test.java:4461:20:4461:22 | out : BoundedCollection [] : String | provenance | | +| Test.java:4460:70:4460:71 | in : TreeBag [] : String | Test.java:4460:10:4460:72 | unmodifiableBoundedCollection(...) : BoundedCollection [] : String | provenance | MaD:112 | +| Test.java:4461:20:4461:22 | out : BoundedCollection [] : String | Test.java:230:19:230:32 | it : BoundedCollection [] : String | provenance | | +| Test.java:4461:20:4461:22 | out : BoundedCollection [] : String | Test.java:4461:9:4461:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4466:27:4466:75 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | Test.java:4467:70:4467:71 | in : CircularFifoQueue [] : String | provenance | | +| Test.java:4466:59:4466:74 | (...)... : String | Test.java:253:59:253:67 | element : String | provenance | | +| Test.java:4466:59:4466:74 | (...)... : String | Test.java:4466:27:4466:75 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | provenance | MaD:2 | +| Test.java:4466:67:4466:74 | source(...) : Object | Test.java:4466:59:4466:74 | (...)... : String | provenance | | +| Test.java:4467:10:4467:72 | unmodifiableBoundedCollection(...) : BoundedCollection [] : String | Test.java:4468:20:4468:22 | out : BoundedCollection [] : String | provenance | | +| Test.java:4467:70:4467:71 | in : CircularFifoQueue [] : String | Test.java:4467:10:4467:72 | unmodifiableBoundedCollection(...) : BoundedCollection [] : String | provenance | MaD:112 | +| Test.java:4468:20:4468:22 | out : BoundedCollection [] : String | Test.java:230:19:230:32 | it : BoundedCollection [] : String | provenance | | +| Test.java:4468:20:4468:22 | out : BoundedCollection [] : String | Test.java:4468:9:4468:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4473:20:4473:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4474:56:4474:57 | in : TreeBag [] : String | provenance | | +| Test.java:4473:42:4473:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4473:42:4473:57 | (...)... : String | Test.java:4473:20:4473:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4473:42:4473:57 | (...)... : String | Test.java:4473:20:4473:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4473:50:4473:57 | source(...) : Object | Test.java:4473:42:4473:57 | (...)... : String | provenance | | +| Test.java:4474:10:4474:58 | unmodifiableCollection(...) : Collection [] : String | Test.java:4475:20:4475:22 | out : Collection [] : String | provenance | | +| Test.java:4474:56:4474:57 | in : TreeBag [] : String | Test.java:4474:10:4474:58 | unmodifiableCollection(...) : Collection [] : String | provenance | MaD:113 | +| Test.java:4475:20:4475:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:4475:20:4475:22 | out : Collection [] : String | Test.java:4475:9:4475:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4480:18:4480:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4481:42:4481:43 | in : ListIterator [] : String | provenance | | +| Test.java:4480:45:4480:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4480:45:4480:60 | (...)... : String | Test.java:4480:18:4480:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4480:53:4480:60 | source(...) : Object | Test.java:4480:45:4480:60 | (...)... : String | provenance | | +| Test.java:4481:10:4481:44 | new MyAbstractIteratorDecorator<>(...) : MyAbstractIteratorDecorator [] : String | Test.java:4482:20:4482:22 | out : MyAbstractIteratorDecorator [] : String | provenance | | +| Test.java:4481:42:4481:43 | in : ListIterator [] : String | Test.java:4481:10:4481:44 | new MyAbstractIteratorDecorator<>(...) : MyAbstractIteratorDecorator [] : String | provenance | MaD:114 | +| Test.java:4481:42:4481:43 | in : ListIterator [] : String | Test.java:7161:38:7161:63 | iterator : ListIterator [] : String | provenance | | +| Test.java:4482:20:4482:22 | out : MyAbstractIteratorDecorator [] : String | Test.java:231:19:231:32 | it : MyAbstractIteratorDecorator [] : String | provenance | | +| Test.java:4482:20:4482:22 | out : MyAbstractIteratorDecorator [] : String | Test.java:4482:9:4482:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4487:22:4487:65 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4488:46:4488:47 | in : ListIterator [] : String | provenance | | +| Test.java:4487:49:4487:64 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4487:49:4487:64 | (...)... : String | Test.java:4487:22:4487:65 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4487:57:4487:64 | source(...) : Object | Test.java:4487:49:4487:64 | (...)... : String | provenance | | +| Test.java:4488:10:4488:48 | new MyAbstractListIteratorDecorator<>(...) : MyAbstractListIteratorDecorator [] : String | Test.java:4489:20:4489:22 | out : MyAbstractListIteratorDecorator [] : String | provenance | | +| Test.java:4488:46:4488:47 | in : ListIterator [] : String | Test.java:4488:10:4488:48 | new MyAbstractListIteratorDecorator<>(...) : MyAbstractListIteratorDecorator [] : String | provenance | MaD:115 | +| Test.java:4488:46:4488:47 | in : ListIterator [] : String | Test.java:7167:42:7167:71 | iterator : ListIterator [] : String | provenance | | +| Test.java:4489:20:4489:22 | out : MyAbstractListIteratorDecorator [] : String | Test.java:231:19:231:32 | it : MyAbstractListIteratorDecorator [] : String | provenance | | +| Test.java:4489:20:4489:22 | out : MyAbstractListIteratorDecorator [] : String | Test.java:4489:9:4489:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4494:41:4494:121 | new MyAbstractListIteratorDecorator<>(...) : MyAbstractListIteratorDecorator [] : String | Test.java:4495:10:4495:11 | in : MyAbstractListIteratorDecorator [] : String | provenance | | +| Test.java:4494:77:4494:120 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4494:41:4494:121 | new MyAbstractListIteratorDecorator<>(...) : MyAbstractListIteratorDecorator [] : String | provenance | MaD:115 | +| Test.java:4494:77:4494:120 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:7167:42:7167:71 | iterator : ListIterator [] : String | provenance | | +| Test.java:4494:104:4494:119 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4494:104:4494:119 | (...)... : String | Test.java:4494:77:4494:120 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4494:112:4494:119 | source(...) : Object | Test.java:4494:104:4494:119 | (...)... : String | provenance | | +| Test.java:4495:10:4495:11 | in : MyAbstractListIteratorDecorator [] : String | Test.java:4495:10:4495:31 | myGetListIterator(...) : ListIterator [] : String | provenance | MaD:116 | +| Test.java:4495:10:4495:11 | in : MyAbstractListIteratorDecorator [] : String | Test.java:7170:26:7170:42 | parameter this : MyAbstractListIteratorDecorator [] : String | provenance | | +| Test.java:4495:10:4495:31 | myGetListIterator(...) : ListIterator [] : String | Test.java:4496:20:4496:22 | out : ListIterator [] : String | provenance | | +| Test.java:4496:20:4496:22 | out : ListIterator [] : String | Test.java:231:19:231:32 | it : ListIterator [] : String | provenance | | +| Test.java:4496:20:4496:22 | out : ListIterator [] : String | Test.java:4496:9:4496:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4501:21:4501:60 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | Test.java:4501:21:4501:74 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:487 | +| Test.java:4501:21:4501:74 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:4502:45:4502:46 | in : OrderedMapIterator [] : String | provenance | | +| Test.java:4501:44:4501:59 | (...)... : String | Test.java:276:49:276:53 | key : String | provenance | | +| Test.java:4501:44:4501:59 | (...)... : String | Test.java:4501:21:4501:60 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | provenance | MaD:11 | +| Test.java:4501:52:4501:59 | source(...) : Object | Test.java:4501:44:4501:59 | (...)... : String | provenance | | +| Test.java:4502:10:4502:47 | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | Test.java:4503:20:4503:22 | out : MyAbstractMapIteratorDecorator [] : String | provenance | | +| Test.java:4502:45:4502:46 | in : OrderedMapIterator [] : String | Test.java:4502:10:4502:47 | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | provenance | MaD:117 | +| Test.java:4502:45:4502:46 | in : OrderedMapIterator [] : String | Test.java:7176:41:7176:72 | iterator : OrderedMapIterator [] : String | provenance | | +| Test.java:4503:20:4503:22 | out : MyAbstractMapIteratorDecorator [] : String | Test.java:231:19:231:32 | it : MyAbstractMapIteratorDecorator [] : String | provenance | | +| Test.java:4503:20:4503:22 | out : MyAbstractMapIteratorDecorator [] : String | Test.java:4503:9:4503:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4508:21:4508:62 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | Test.java:4508:21:4508:76 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:488 | +| Test.java:4508:21:4508:76 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:4509:45:4509:46 | in : OrderedMapIterator [] : String | provenance | | +| Test.java:4508:46:4508:61 | (...)... : String | Test.java:295:51:295:57 | value : String | provenance | | +| Test.java:4508:46:4508:61 | (...)... : String | Test.java:4508:21:4508:62 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | provenance | MaD:12 | +| Test.java:4508:54:4508:61 | source(...) : Object | Test.java:4508:46:4508:61 | (...)... : String | provenance | | +| Test.java:4509:10:4509:47 | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | Test.java:4510:21:4510:23 | out : MyAbstractMapIteratorDecorator [] : String | provenance | | +| Test.java:4509:45:4509:46 | in : OrderedMapIterator [] : String | Test.java:4509:10:4509:47 | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | provenance | MaD:118 | +| Test.java:4509:45:4509:46 | in : OrderedMapIterator [] : String | Test.java:7176:41:7176:72 | iterator : OrderedMapIterator [] : String | provenance | | +| Test.java:4510:21:4510:23 | out : MyAbstractMapIteratorDecorator [] : String | Test.java:246:20:246:47 | mapIterator : MyAbstractMapIteratorDecorator [] : String | provenance | | +| Test.java:4510:21:4510:23 | out : MyAbstractMapIteratorDecorator [] : String | Test.java:4510:9:4510:24 | getMapValue(...) | provenance | MaD:598 | +| Test.java:4515:40:4515:129 | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | Test.java:4516:10:4516:11 | in : MyAbstractMapIteratorDecorator [] : String | provenance | | +| Test.java:4515:75:4515:114 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | Test.java:4515:75:4515:128 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:487 | +| Test.java:4515:75:4515:128 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:4515:40:4515:129 | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | provenance | MaD:117 | +| Test.java:4515:75:4515:128 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:7176:41:7176:72 | iterator : OrderedMapIterator [] : String | provenance | | +| Test.java:4515:98:4515:113 | (...)... : String | Test.java:276:49:276:53 | key : String | provenance | | +| Test.java:4515:98:4515:113 | (...)... : String | Test.java:4515:75:4515:114 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | provenance | MaD:11 | +| Test.java:4515:106:4515:113 | source(...) : Object | Test.java:4515:98:4515:113 | (...)... : String | provenance | | +| Test.java:4516:10:4516:11 | in : MyAbstractMapIteratorDecorator [] : String | Test.java:4516:10:4516:30 | myGetMapIterator(...) : MapIterator [] : String | provenance | MaD:119 | +| Test.java:4516:10:4516:11 | in : MyAbstractMapIteratorDecorator [] : String | Test.java:7179:28:7179:43 | parameter this : MyAbstractMapIteratorDecorator [] : String | provenance | | +| Test.java:4516:10:4516:30 | myGetMapIterator(...) : MapIterator [] : String | Test.java:4517:20:4517:22 | out : MapIterator [] : String | provenance | | +| Test.java:4517:20:4517:22 | out : MapIterator [] : String | Test.java:231:19:231:32 | it : MapIterator [] : String | provenance | | +| Test.java:4517:20:4517:22 | out : MapIterator [] : String | Test.java:4517:9:4517:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4522:40:4522:131 | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | Test.java:4523:10:4523:11 | in : MyAbstractMapIteratorDecorator [] : String | provenance | | +| Test.java:4522:75:4522:116 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | Test.java:4522:75:4522:130 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:488 | +| Test.java:4522:75:4522:130 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:4522:40:4522:131 | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | provenance | MaD:118 | +| Test.java:4522:75:4522:130 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:7176:41:7176:72 | iterator : OrderedMapIterator [] : String | provenance | | +| Test.java:4522:100:4522:115 | (...)... : String | Test.java:295:51:295:57 | value : String | provenance | | +| Test.java:4522:100:4522:115 | (...)... : String | Test.java:4522:75:4522:116 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | provenance | MaD:12 | +| Test.java:4522:108:4522:115 | source(...) : Object | Test.java:4522:100:4522:115 | (...)... : String | provenance | | +| Test.java:4523:10:4523:11 | in : MyAbstractMapIteratorDecorator [] : String | Test.java:4523:10:4523:30 | myGetMapIterator(...) : MapIterator [] : String | provenance | MaD:120 | +| Test.java:4523:10:4523:11 | in : MyAbstractMapIteratorDecorator [] : String | Test.java:7179:28:7179:43 | parameter this : MyAbstractMapIteratorDecorator [] : String | provenance | | +| Test.java:4523:10:4523:30 | myGetMapIterator(...) : MapIterator [] : String | Test.java:4524:21:4524:23 | out : MapIterator [] : String | provenance | | +| Test.java:4524:21:4524:23 | out : MapIterator [] : String | Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | provenance | | +| Test.java:4524:21:4524:23 | out : MapIterator [] : String | Test.java:4524:9:4524:24 | getMapValue(...) | provenance | MaD:598 | +| Test.java:4529:28:4529:72 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | Test.java:4529:28:4529:86 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:487 | +| Test.java:4529:28:4529:86 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:4530:52:4530:53 | in : OrderedMapIterator [] : String | provenance | | +| Test.java:4529:56:4529:71 | (...)... : String | Test.java:277:59:277:63 | key : String | provenance | | +| Test.java:4529:56:4529:71 | (...)... : String | Test.java:4529:28:4529:72 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | provenance | MaD:11 | +| Test.java:4529:64:4529:71 | source(...) : Object | Test.java:4529:56:4529:71 | (...)... : String | provenance | | +| Test.java:4530:10:4530:54 | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:4531:20:4531:22 | out : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | | +| Test.java:4530:52:4530:53 | in : OrderedMapIterator [] : String | Test.java:4530:10:4530:54 | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | MaD:121 | +| Test.java:4530:52:4530:53 | in : OrderedMapIterator [] : String | Test.java:7185:48:7185:86 | iterator : OrderedMapIterator [] : String | provenance | | +| Test.java:4531:20:4531:22 | out : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:231:19:231:32 | it : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | | +| Test.java:4531:20:4531:22 | out : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:4531:9:4531:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4536:28:4536:74 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | Test.java:4536:28:4536:88 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:488 | +| Test.java:4536:28:4536:88 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:4537:52:4537:53 | in : OrderedMapIterator [] : String | provenance | | +| Test.java:4536:58:4536:73 | (...)... : String | Test.java:296:61:296:67 | value : String | provenance | | +| Test.java:4536:58:4536:73 | (...)... : String | Test.java:4536:28:4536:74 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | provenance | MaD:12 | +| Test.java:4536:66:4536:73 | source(...) : Object | Test.java:4536:58:4536:73 | (...)... : String | provenance | | +| Test.java:4537:10:4537:54 | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:4538:21:4538:23 | out : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | | +| Test.java:4537:52:4537:53 | in : OrderedMapIterator [] : String | Test.java:4537:10:4537:54 | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | MaD:122 | +| Test.java:4537:52:4537:53 | in : OrderedMapIterator [] : String | Test.java:7185:48:7185:86 | iterator : OrderedMapIterator [] : String | provenance | | +| Test.java:4538:21:4538:23 | out : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:246:20:246:47 | mapIterator : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | | +| Test.java:4538:21:4538:23 | out : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:4538:9:4538:24 | getMapValue(...) | provenance | MaD:598 | +| Test.java:4543:47:4543:148 | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:4544:10:4544:11 | in : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | | +| Test.java:4543:89:4543:133 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | Test.java:4543:89:4543:147 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:487 | +| Test.java:4543:89:4543:147 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:4543:47:4543:148 | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | MaD:121 | +| Test.java:4543:89:4543:147 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:7185:48:7185:86 | iterator : OrderedMapIterator [] : String | provenance | | +| Test.java:4543:117:4543:132 | (...)... : String | Test.java:277:59:277:63 | key : String | provenance | | +| Test.java:4543:117:4543:132 | (...)... : String | Test.java:4543:89:4543:133 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | provenance | MaD:11 | +| Test.java:4543:125:4543:132 | source(...) : Object | Test.java:4543:117:4543:132 | (...)... : String | provenance | | +| Test.java:4544:10:4544:11 | in : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:4544:10:4544:37 | myGetOrderedMapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:123 | +| Test.java:4544:10:4544:11 | in : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:7188:35:7188:57 | parameter this : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | | +| Test.java:4544:10:4544:37 | myGetOrderedMapIterator(...) : OrderedMapIterator [] : String | Test.java:4545:20:4545:22 | out : OrderedMapIterator [] : String | provenance | | +| Test.java:4545:20:4545:22 | out : OrderedMapIterator [] : String | Test.java:231:19:231:32 | it : OrderedMapIterator [] : String | provenance | | +| Test.java:4545:20:4545:22 | out : OrderedMapIterator [] : String | Test.java:4545:9:4545:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4550:47:4550:150 | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:4551:10:4551:11 | in : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | | +| Test.java:4550:89:4550:135 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | Test.java:4550:89:4550:149 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:488 | +| Test.java:4550:89:4550:149 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:4550:47:4550:150 | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | MaD:122 | +| Test.java:4550:89:4550:149 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:7185:48:7185:86 | iterator : OrderedMapIterator [] : String | provenance | | +| Test.java:4550:119:4550:134 | (...)... : String | Test.java:296:61:296:67 | value : String | provenance | | +| Test.java:4550:119:4550:134 | (...)... : String | Test.java:4550:89:4550:135 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | provenance | MaD:12 | +| Test.java:4550:127:4550:134 | source(...) : Object | Test.java:4550:119:4550:134 | (...)... : String | provenance | | +| Test.java:4551:10:4551:11 | in : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:4551:10:4551:37 | myGetOrderedMapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:124 | +| Test.java:4551:10:4551:11 | in : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:7188:35:7188:57 | parameter this : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | | +| Test.java:4551:10:4551:37 | myGetOrderedMapIterator(...) : OrderedMapIterator [] : String | Test.java:4552:21:4552:23 | out : OrderedMapIterator [] : String | provenance | | +| Test.java:4552:21:4552:23 | out : OrderedMapIterator [] : String | Test.java:246:20:246:47 | mapIterator : OrderedMapIterator [] : String | provenance | | +| Test.java:4552:21:4552:23 | out : OrderedMapIterator [] : String | Test.java:4552:9:4552:24 | getMapValue(...) | provenance | MaD:598 | +| Test.java:4557:18:4557:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4558:49:4558:50 | in : ListIterator [] : String | provenance | | +| Test.java:4557:45:4557:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4557:45:4557:60 | (...)... : String | Test.java:4557:18:4557:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4557:53:4557:60 | source(...) : Object | Test.java:4557:45:4557:60 | (...)... : String | provenance | | +| Test.java:4558:10:4558:51 | new MyAbstractUntypedIteratorDecorator<>(...) : MyAbstractUntypedIteratorDecorator [] : String | Test.java:4559:20:4559:22 | out : MyAbstractUntypedIteratorDecorator [] : String | provenance | | +| Test.java:4558:49:4558:50 | in : ListIterator [] : String | Test.java:4558:10:4558:51 | new MyAbstractUntypedIteratorDecorator<>(...) : MyAbstractUntypedIteratorDecorator [] : String | provenance | MaD:125 | +| Test.java:4558:49:4558:50 | in : ListIterator [] : String | Test.java:7194:45:7194:70 | iterator : ListIterator [] : String | provenance | | +| Test.java:4559:20:4559:22 | out : MyAbstractUntypedIteratorDecorator [] : String | Test.java:231:19:231:32 | it : MyAbstractUntypedIteratorDecorator [] : String | provenance | | +| Test.java:4559:20:4559:22 | out : MyAbstractUntypedIteratorDecorator [] : String | Test.java:4559:9:4559:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4564:44:4564:127 | new MyAbstractUntypedIteratorDecorator<>(...) : MyAbstractUntypedIteratorDecorator [] : String | Test.java:4565:10:4565:11 | in : MyAbstractUntypedIteratorDecorator [] : String | provenance | | +| Test.java:4564:83:4564:126 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4564:44:4564:127 | new MyAbstractUntypedIteratorDecorator<>(...) : MyAbstractUntypedIteratorDecorator [] : String | provenance | MaD:125 | +| Test.java:4564:83:4564:126 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:7194:45:7194:70 | iterator : ListIterator [] : String | provenance | | +| Test.java:4564:110:4564:125 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4564:110:4564:125 | (...)... : String | Test.java:4564:83:4564:126 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4564:118:4564:125 | source(...) : Object | Test.java:4564:110:4564:125 | (...)... : String | provenance | | +| Test.java:4565:10:4565:11 | in : MyAbstractUntypedIteratorDecorator [] : String | Test.java:4565:10:4565:27 | myGetIterator(...) : Iterator [] : String | provenance | MaD:126 | +| Test.java:4565:10:4565:11 | in : MyAbstractUntypedIteratorDecorator [] : String | Test.java:7197:22:7197:34 | parameter this : MyAbstractUntypedIteratorDecorator [] : String | provenance | | +| Test.java:4565:10:4565:27 | myGetIterator(...) : Iterator [] : String | Test.java:4566:20:4566:22 | out : Iterator [] : String | provenance | | +| Test.java:4566:20:4566:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:4566:20:4566:22 | out : Iterator [] : String | Test.java:4566:9:4566:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4571:16:4571:60 | (...)... : Object[] [[]] : String | Test.java:4572:28:4572:29 | in : Object[] [[]] : String | provenance | | +| Test.java:4571:24:4571:60 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:4571:16:4571:60 | (...)... : Object[] [[]] : String | provenance | | +| Test.java:4571:44:4571:59 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:4571:44:4571:59 | (...)... : String | Test.java:4571:24:4571:60 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:4571:52:4571:59 | source(...) : Object | Test.java:4571:44:4571:59 | (...)... : String | provenance | | +| Test.java:4572:10:4572:36 | new ArrayIterator<>(...) : ArrayIterator [] : String | Test.java:4573:20:4573:22 | out : ArrayIterator [] : String | provenance | | +| Test.java:4572:28:4572:29 | in : Object[] [[]] : String | Test.java:4572:10:4572:36 | new ArrayIterator<>(...) : ArrayIterator [] : String | provenance | MaD:127 | +| Test.java:4573:20:4573:22 | out : ArrayIterator [] : String | Test.java:231:19:231:32 | it : ArrayIterator [] : String | provenance | | +| Test.java:4573:20:4573:22 | out : ArrayIterator [] : String | Test.java:4573:9:4573:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4578:16:4578:60 | (...)... : Object[] [[]] : String | Test.java:4579:28:4579:29 | in : Object[] [[]] : String | provenance | | +| Test.java:4578:24:4578:60 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:4578:16:4578:60 | (...)... : Object[] [[]] : String | provenance | | +| Test.java:4578:44:4578:59 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:4578:44:4578:59 | (...)... : String | Test.java:4578:24:4578:60 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:4578:52:4578:59 | source(...) : Object | Test.java:4578:44:4578:59 | (...)... : String | provenance | | +| Test.java:4579:10:4579:33 | new ArrayIterator<>(...) : ArrayIterator [] : String | Test.java:4580:20:4580:22 | out : ArrayIterator [] : String | provenance | | +| Test.java:4579:28:4579:29 | in : Object[] [[]] : String | Test.java:4579:10:4579:33 | new ArrayIterator<>(...) : ArrayIterator [] : String | provenance | MaD:127 | +| Test.java:4580:20:4580:22 | out : ArrayIterator [] : String | Test.java:231:19:231:32 | it : ArrayIterator [] : String | provenance | | +| Test.java:4580:20:4580:22 | out : ArrayIterator [] : String | Test.java:4580:9:4580:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4585:16:4585:60 | (...)... : Object[] [[]] : String | Test.java:4586:28:4586:29 | in : Object[] [[]] : String | provenance | | +| Test.java:4585:24:4585:60 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:4585:16:4585:60 | (...)... : Object[] [[]] : String | provenance | | +| Test.java:4585:44:4585:59 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:4585:44:4585:59 | (...)... : String | Test.java:4585:24:4585:60 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:4585:52:4585:59 | source(...) : Object | Test.java:4585:44:4585:59 | (...)... : String | provenance | | +| Test.java:4586:10:4586:30 | new ArrayIterator<>(...) : ArrayIterator [] : String | Test.java:4587:20:4587:22 | out : ArrayIterator [] : String | provenance | | +| Test.java:4586:28:4586:29 | in : Object[] [[]] : String | Test.java:4586:10:4586:30 | new ArrayIterator<>(...) : ArrayIterator [] : String | provenance | MaD:127 | +| Test.java:4587:20:4587:22 | out : ArrayIterator [] : String | Test.java:231:19:231:32 | it : ArrayIterator [] : String | provenance | | +| Test.java:4587:20:4587:22 | out : ArrayIterator [] : String | Test.java:4587:9:4587:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4592:23:4592:86 | new ArrayIterator<>(...) : ArrayIterator [] : String | Test.java:4593:20:4593:21 | in : ArrayIterator [] : String | provenance | | +| Test.java:4592:41:4592:85 | (...)... : Object[] [[]] : String | Test.java:4592:23:4592:86 | new ArrayIterator<>(...) : ArrayIterator [] : String | provenance | MaD:127 | +| Test.java:4592:49:4592:85 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:4592:41:4592:85 | (...)... : Object[] [[]] : String | provenance | | +| Test.java:4592:69:4592:84 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:4592:69:4592:84 | (...)... : String | Test.java:4592:49:4592:85 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:4592:77:4592:84 | source(...) : Object | Test.java:4592:69:4592:84 | (...)... : String | provenance | | +| Test.java:4593:10:4593:32 | (...)... : String[] [[]] : String | Test.java:4594:25:4594:27 | out : String[] [[]] : String | provenance | | +| Test.java:4593:20:4593:21 | in : ArrayIterator [] : String | Test.java:4593:20:4593:32 | getArray(...) : Object [[]] : String | provenance | MaD:128 | +| Test.java:4593:20:4593:32 | getArray(...) : Object [[]] : String | Test.java:4593:10:4593:32 | (...)... : String[] [[]] : String | provenance | | +| Test.java:4594:25:4594:27 | out : String[] [[]] : String | Test.java:229:24:229:32 | array : String[] [[]] : String | provenance | | +| Test.java:4594:25:4594:27 | out : String[] [[]] : String | Test.java:4594:9:4594:28 | getArrayElement(...) | provenance | | +| Test.java:4599:16:4599:60 | (...)... : Object[] [[]] : String | Test.java:4600:32:4600:33 | in : Object[] [[]] : String | provenance | | +| Test.java:4599:24:4599:60 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:4599:16:4599:60 | (...)... : Object[] [[]] : String | provenance | | +| Test.java:4599:44:4599:59 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:4599:44:4599:59 | (...)... : String | Test.java:4599:24:4599:60 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:4599:52:4599:59 | source(...) : Object | Test.java:4599:44:4599:59 | (...)... : String | provenance | | +| Test.java:4600:10:4600:40 | new ArrayListIterator<>(...) : ArrayListIterator [] : String | Test.java:4601:20:4601:22 | out : ArrayListIterator [] : String | provenance | | +| Test.java:4600:32:4600:33 | in : Object[] [[]] : String | Test.java:4600:10:4600:40 | new ArrayListIterator<>(...) : ArrayListIterator [] : String | provenance | MaD:129 | +| Test.java:4601:20:4601:22 | out : ArrayListIterator [] : String | Test.java:231:19:231:32 | it : ArrayListIterator [] : String | provenance | | +| Test.java:4601:20:4601:22 | out : ArrayListIterator [] : String | Test.java:4601:9:4601:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4606:16:4606:60 | (...)... : Object[] [[]] : String | Test.java:4607:32:4607:33 | in : Object[] [[]] : String | provenance | | +| Test.java:4606:24:4606:60 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:4606:16:4606:60 | (...)... : Object[] [[]] : String | provenance | | +| Test.java:4606:44:4606:59 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:4606:44:4606:59 | (...)... : String | Test.java:4606:24:4606:60 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:4606:52:4606:59 | source(...) : Object | Test.java:4606:44:4606:59 | (...)... : String | provenance | | +| Test.java:4607:10:4607:37 | new ArrayListIterator<>(...) : ArrayListIterator [] : String | Test.java:4608:20:4608:22 | out : ArrayListIterator [] : String | provenance | | +| Test.java:4607:32:4607:33 | in : Object[] [[]] : String | Test.java:4607:10:4607:37 | new ArrayListIterator<>(...) : ArrayListIterator [] : String | provenance | MaD:129 | +| Test.java:4608:20:4608:22 | out : ArrayListIterator [] : String | Test.java:231:19:231:32 | it : ArrayListIterator [] : String | provenance | | +| Test.java:4608:20:4608:22 | out : ArrayListIterator [] : String | Test.java:4608:9:4608:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4613:16:4613:60 | (...)... : Object[] [[]] : String | Test.java:4614:32:4614:33 | in : Object[] [[]] : String | provenance | | +| Test.java:4613:24:4613:60 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:4613:16:4613:60 | (...)... : Object[] [[]] : String | provenance | | +| Test.java:4613:44:4613:59 | (...)... : String | Test.java:251:31:251:44 | element : String | provenance | | +| Test.java:4613:44:4613:59 | (...)... : String | Test.java:4613:24:4613:60 | newWithArrayElement(...) : Object[] [[]] : String | provenance | | +| Test.java:4613:52:4613:59 | source(...) : Object | Test.java:4613:44:4613:59 | (...)... : String | provenance | | +| Test.java:4614:10:4614:34 | new ArrayListIterator<>(...) : ArrayListIterator [] : String | Test.java:4615:20:4615:22 | out : ArrayListIterator [] : String | provenance | | +| Test.java:4614:32:4614:33 | in : Object[] [[]] : String | Test.java:4614:10:4614:34 | new ArrayListIterator<>(...) : ArrayListIterator [] : String | provenance | MaD:129 | +| Test.java:4615:20:4615:22 | out : ArrayListIterator [] : String | Test.java:231:19:231:32 | it : ArrayListIterator [] : String | provenance | | +| Test.java:4615:20:4615:22 | out : ArrayListIterator [] : String | Test.java:4615:9:4615:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4620:18:4620:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4621:30:4621:31 | in : ListIterator [] : String | provenance | | +| Test.java:4620:45:4620:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4620:45:4620:60 | (...)... : String | Test.java:4620:18:4620:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4620:53:4620:60 | source(...) : Object | Test.java:4620:45:4620:60 | (...)... : String | provenance | | +| Test.java:4621:10:4621:40 | new BoundedIterator<>(...) : BoundedIterator [] : String | Test.java:4622:20:4622:22 | out : BoundedIterator [] : String | provenance | | +| Test.java:4621:30:4621:31 | in : ListIterator [] : String | Test.java:4621:10:4621:40 | new BoundedIterator<>(...) : BoundedIterator [] : String | provenance | MaD:130 | +| Test.java:4622:20:4622:22 | out : BoundedIterator [] : String | Test.java:231:19:231:32 | it : BoundedIterator [] : String | provenance | | +| Test.java:4622:20:4622:22 | out : BoundedIterator [] : String | Test.java:4622:9:4622:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4627:20:4627:72 | of(...) : List [, ] : String | Test.java:4628:50:4628:51 | in : List [, ] : String | provenance | | +| Test.java:4627:28:4627:71 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4627:20:4627:72 | of(...) : List [, ] : String | provenance | MaD:6 | +| Test.java:4627:55:4627:70 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4627:55:4627:70 | (...)... : String | Test.java:4627:28:4627:71 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4627:63:4627:70 | source(...) : Object | Test.java:4627:55:4627:70 | (...)... : String | provenance | | +| Test.java:4628:10:4628:52 | new CollatingIterator<>(...) : CollatingIterator [] : String | Test.java:4629:20:4629:22 | out : CollatingIterator [] : String | provenance | | +| Test.java:4628:50:4628:51 | in : List [, ] : String | Test.java:4628:10:4628:52 | new CollatingIterator<>(...) : CollatingIterator [] : String | provenance | MaD:131 | +| Test.java:4629:20:4629:22 | out : CollatingIterator [] : String | Test.java:231:19:231:32 | it : CollatingIterator [] : String | provenance | | +| Test.java:4629:20:4629:22 | out : CollatingIterator [] : String | Test.java:4629:9:4629:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4634:18:4634:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4635:38:4635:39 | in : ListIterator [] : String | provenance | | +| Test.java:4634:45:4634:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4634:45:4634:60 | (...)... : String | Test.java:4634:18:4634:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4634:53:4634:60 | source(...) : Object | Test.java:4634:45:4634:60 | (...)... : String | provenance | | +| Test.java:4635:10:4635:46 | new CollatingIterator<>(...) : CollatingIterator [] : String | Test.java:4636:20:4636:22 | out : CollatingIterator [] : String | provenance | | +| Test.java:4635:38:4635:39 | in : ListIterator [] : String | Test.java:4635:10:4635:46 | new CollatingIterator<>(...) : CollatingIterator [] : String | provenance | MaD:132 | +| Test.java:4636:20:4636:22 | out : CollatingIterator [] : String | Test.java:231:19:231:32 | it : CollatingIterator [] : String | provenance | | +| Test.java:4636:20:4636:22 | out : CollatingIterator [] : String | Test.java:4636:9:4636:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4641:18:4641:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4642:44:4642:45 | in : ListIterator [] : String | provenance | | +| Test.java:4641:45:4641:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4641:45:4641:60 | (...)... : String | Test.java:4641:18:4641:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4641:53:4641:60 | source(...) : Object | Test.java:4641:45:4641:60 | (...)... : String | provenance | | +| Test.java:4642:10:4642:46 | new CollatingIterator<>(...) : CollatingIterator [] : String | Test.java:4643:20:4643:22 | out : CollatingIterator [] : String | provenance | | +| Test.java:4642:44:4642:45 | in : ListIterator [] : String | Test.java:4642:10:4642:46 | new CollatingIterator<>(...) : CollatingIterator [] : String | provenance | MaD:133 | +| Test.java:4643:20:4643:22 | out : CollatingIterator [] : String | Test.java:231:19:231:32 | it : CollatingIterator [] : String | provenance | | +| Test.java:4643:20:4643:22 | out : CollatingIterator [] : String | Test.java:4643:9:4643:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4648:20:4648:79 | {...} : Iterator[] [[], ] : String | Test.java:4649:50:4649:51 | in : Iterator[] [[], ] : String | provenance | | +| Test.java:4648:35:4648:78 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4648:20:4648:79 | {...} : Iterator[] [[], ] : String | provenance | | +| Test.java:4648:62:4648:77 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4648:62:4648:77 | (...)... : String | Test.java:4648:35:4648:78 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4648:70:4648:77 | source(...) : Object | Test.java:4648:62:4648:77 | (...)... : String | provenance | | +| Test.java:4649:10:4649:52 | new CollatingIterator<>(...) : CollatingIterator [] : String | Test.java:4650:20:4650:22 | out : CollatingIterator [] : String | provenance | | +| Test.java:4649:50:4649:51 | in : Iterator[] [[], ] : String | Test.java:4649:10:4649:52 | new CollatingIterator<>(...) : CollatingIterator [] : String | provenance | MaD:134 | +| Test.java:4650:20:4650:22 | out : CollatingIterator [] : String | Test.java:231:19:231:32 | it : CollatingIterator [] : String | provenance | | +| Test.java:4650:20:4650:22 | out : CollatingIterator [] : String | Test.java:4650:9:4650:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4655:18:4655:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4656:20:4656:21 | in : ListIterator [] : String | provenance | | +| Test.java:4655:45:4655:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4655:45:4655:60 | (...)... : String | Test.java:4655:18:4655:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4655:53:4655:60 | source(...) : Object | Test.java:4655:45:4655:60 | (...)... : String | provenance | | +| Test.java:4656:4:4656:6 | out [post update] : CollatingIterator [] : String | Test.java:4657:20:4657:22 | out : CollatingIterator [] : String | provenance | | +| Test.java:4656:20:4656:21 | in : ListIterator [] : String | Test.java:4656:4:4656:6 | out [post update] : CollatingIterator [] : String | provenance | MaD:135 | +| Test.java:4657:20:4657:22 | out : CollatingIterator [] : String | Test.java:231:19:231:32 | it : CollatingIterator [] : String | provenance | | +| Test.java:4657:20:4657:22 | out : CollatingIterator [] : String | Test.java:4657:9:4657:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4662:27:4662:120 | new CollatingIterator<>(...) : CollatingIterator [] : String | Test.java:4663:10:4663:11 | in : CollatingIterator [] : String | provenance | | +| Test.java:4662:67:4662:119 | of(...) : List [, ] : String | Test.java:4662:27:4662:120 | new CollatingIterator<>(...) : CollatingIterator [] : String | provenance | MaD:131 | +| Test.java:4662:75:4662:118 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4662:67:4662:119 | of(...) : List [, ] : String | provenance | MaD:6 | +| Test.java:4662:102:4662:117 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4662:102:4662:117 | (...)... : String | Test.java:4662:75:4662:118 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4662:110:4662:117 | source(...) : Object | Test.java:4662:102:4662:117 | (...)... : String | provenance | | +| Test.java:4663:10:4663:11 | in : CollatingIterator [] : String | Test.java:4663:10:4663:26 | getIterators(...) : List [, ] : String | provenance | MaD:136 | +| Test.java:4663:10:4663:26 | getIterators(...) : List [, ] : String | Test.java:4664:31:4664:33 | out : List [, ] : String | provenance | | +| Test.java:4664:20:4664:34 | getElement(...) : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:4664:20:4664:34 | getElement(...) : Iterator [] : String | Test.java:4664:9:4664:35 | getElement(...) | provenance | MaD:4 | +| Test.java:4664:31:4664:33 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | provenance | | +| Test.java:4664:31:4664:33 | out : List [, ] : String | Test.java:4664:20:4664:34 | getElement(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:4669:18:4669:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4670:23:4670:24 | in : ListIterator [] : String | provenance | | +| Test.java:4669:45:4669:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4669:45:4669:60 | (...)... : String | Test.java:4669:18:4669:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4669:53:4669:60 | source(...) : Object | Test.java:4669:45:4669:60 | (...)... : String | provenance | | +| Test.java:4670:4:4670:6 | out [post update] : CollatingIterator [] : String | Test.java:4671:20:4671:22 | out : CollatingIterator [] : String | provenance | | +| Test.java:4670:23:4670:24 | in : ListIterator [] : String | Test.java:4670:4:4670:6 | out [post update] : CollatingIterator [] : String | provenance | MaD:137 | +| Test.java:4671:20:4671:22 | out : CollatingIterator [] : String | Test.java:231:19:231:32 | it : CollatingIterator [] : String | provenance | | +| Test.java:4671:20:4671:22 | out : CollatingIterator [] : String | Test.java:4671:9:4671:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4676:21:4676:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | Test.java:4677:34:4677:35 | in : IteratorEnumeration [] : String | provenance | | +| Test.java:4676:47:4676:62 | (...)... : String | Test.java:256:47:256:55 | element : String | provenance | | +| Test.java:4676:47:4676:62 | (...)... : String | Test.java:4676:21:4676:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | provenance | MaD:2 | +| Test.java:4676:55:4676:62 | source(...) : Object | Test.java:4676:47:4676:62 | (...)... : String | provenance | | +| Test.java:4677:10:4677:42 | new EnumerationIterator<>(...) : EnumerationIterator [] : String | Test.java:4678:20:4678:22 | out : EnumerationIterator [] : String | provenance | | +| Test.java:4677:34:4677:35 | in : IteratorEnumeration [] : String | Test.java:4677:10:4677:42 | new EnumerationIterator<>(...) : EnumerationIterator [] : String | provenance | MaD:138 | +| Test.java:4678:20:4678:22 | out : EnumerationIterator [] : String | Test.java:231:19:231:32 | it : EnumerationIterator [] : String | provenance | | +| Test.java:4678:20:4678:22 | out : EnumerationIterator [] : String | Test.java:4678:9:4678:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4683:21:4683:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | Test.java:4684:34:4684:35 | in : IteratorEnumeration [] : String | provenance | | +| Test.java:4683:47:4683:62 | (...)... : String | Test.java:256:47:256:55 | element : String | provenance | | +| Test.java:4683:47:4683:62 | (...)... : String | Test.java:4683:21:4683:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | provenance | MaD:2 | +| Test.java:4683:55:4683:62 | source(...) : Object | Test.java:4683:47:4683:62 | (...)... : String | provenance | | +| Test.java:4684:10:4684:36 | new EnumerationIterator<>(...) : EnumerationIterator [] : String | Test.java:4685:20:4685:22 | out : EnumerationIterator [] : String | provenance | | +| Test.java:4684:34:4684:35 | in : IteratorEnumeration [] : String | Test.java:4684:10:4684:36 | new EnumerationIterator<>(...) : EnumerationIterator [] : String | provenance | MaD:138 | +| Test.java:4685:20:4685:22 | out : EnumerationIterator [] : String | Test.java:231:19:231:32 | it : EnumerationIterator [] : String | provenance | | +| Test.java:4685:20:4685:22 | out : EnumerationIterator [] : String | Test.java:4685:9:4685:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4690:29:4690:96 | new EnumerationIterator<>(...) : EnumerationIterator [] : String | Test.java:4691:10:4691:11 | in : EnumerationIterator [] : String | provenance | | +| Test.java:4690:53:4690:95 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | Test.java:4690:29:4690:96 | new EnumerationIterator<>(...) : EnumerationIterator [] : String | provenance | MaD:138 | +| Test.java:4690:79:4690:94 | (...)... : String | Test.java:256:47:256:55 | element : String | provenance | | +| Test.java:4690:79:4690:94 | (...)... : String | Test.java:4690:53:4690:95 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | provenance | MaD:2 | +| Test.java:4690:87:4690:94 | source(...) : Object | Test.java:4690:79:4690:94 | (...)... : String | provenance | | +| Test.java:4691:10:4691:11 | in : EnumerationIterator [] : String | Test.java:4691:10:4691:28 | getEnumeration(...) : Enumeration [] : String | provenance | MaD:139 | +| Test.java:4691:10:4691:28 | getEnumeration(...) : Enumeration [] : String | Test.java:4692:20:4692:22 | out : Enumeration [] : String | provenance | | +| Test.java:4692:20:4692:22 | out : Enumeration [] : String | Test.java:234:19:234:42 | container : Enumeration [] : String | provenance | | +| Test.java:4692:20:4692:22 | out : Enumeration [] : String | Test.java:4692:9:4692:23 | getElement(...) | provenance | MaD:3 | +| Test.java:4697:21:4697:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | Test.java:4698:23:4698:24 | in : IteratorEnumeration [] : String | provenance | | +| Test.java:4697:47:4697:62 | (...)... : String | Test.java:256:47:256:55 | element : String | provenance | | +| Test.java:4697:47:4697:62 | (...)... : String | Test.java:4697:21:4697:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | provenance | MaD:2 | +| Test.java:4697:55:4697:62 | source(...) : Object | Test.java:4697:47:4697:62 | (...)... : String | provenance | | +| Test.java:4698:4:4698:6 | out [post update] : EnumerationIterator [] : String | Test.java:4699:20:4699:22 | out : EnumerationIterator [] : String | provenance | | +| Test.java:4698:23:4698:24 | in : IteratorEnumeration [] : String | Test.java:4698:4:4698:6 | out [post update] : EnumerationIterator [] : String | provenance | MaD:140 | +| Test.java:4699:20:4699:22 | out : EnumerationIterator [] : String | Test.java:231:19:231:32 | it : EnumerationIterator [] : String | provenance | | +| Test.java:4699:20:4699:22 | out : EnumerationIterator [] : String | Test.java:4699:9:4699:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4704:18:4704:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4705:29:4705:30 | in : ListIterator [] : String | provenance | | +| Test.java:4704:45:4704:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4704:45:4704:60 | (...)... : String | Test.java:4704:18:4704:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4704:53:4704:60 | source(...) : Object | Test.java:4704:45:4704:60 | (...)... : String | provenance | | +| Test.java:4705:10:4705:37 | new FilterIterator<>(...) : FilterIterator [] : String | Test.java:4706:20:4706:22 | out : FilterIterator [] : String | provenance | | +| Test.java:4705:29:4705:30 | in : ListIterator [] : String | Test.java:4705:10:4705:37 | new FilterIterator<>(...) : FilterIterator [] : String | provenance | MaD:141 | +| Test.java:4706:20:4706:22 | out : FilterIterator [] : String | Test.java:231:19:231:32 | it : FilterIterator [] : String | provenance | | +| Test.java:4706:20:4706:22 | out : FilterIterator [] : String | Test.java:4706:9:4706:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4711:18:4711:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4712:29:4712:30 | in : ListIterator [] : String | provenance | | +| Test.java:4711:45:4711:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4711:45:4711:60 | (...)... : String | Test.java:4711:18:4711:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4711:53:4711:60 | source(...) : Object | Test.java:4711:45:4711:60 | (...)... : String | provenance | | +| Test.java:4712:10:4712:31 | new FilterIterator<>(...) : FilterIterator [] : String | Test.java:4713:20:4713:22 | out : FilterIterator [] : String | provenance | | +| Test.java:4712:29:4712:30 | in : ListIterator [] : String | Test.java:4712:10:4712:31 | new FilterIterator<>(...) : FilterIterator [] : String | provenance | MaD:141 | +| Test.java:4713:20:4713:22 | out : FilterIterator [] : String | Test.java:231:19:231:32 | it : FilterIterator [] : String | provenance | | +| Test.java:4713:20:4713:22 | out : FilterIterator [] : String | Test.java:4713:9:4713:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4718:24:4718:87 | new FilterIterator<>(...) : FilterIterator [] : String | Test.java:4719:10:4719:11 | in : FilterIterator [] : String | provenance | | +| Test.java:4718:43:4718:86 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4718:24:4718:87 | new FilterIterator<>(...) : FilterIterator [] : String | provenance | MaD:141 | +| Test.java:4718:70:4718:85 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4718:70:4718:85 | (...)... : String | Test.java:4718:43:4718:86 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4718:78:4718:85 | source(...) : Object | Test.java:4718:70:4718:85 | (...)... : String | provenance | | +| Test.java:4719:10:4719:11 | in : FilterIterator [] : String | Test.java:4719:10:4719:25 | getIterator(...) : Iterator [] : String | provenance | MaD:142 | +| Test.java:4719:10:4719:25 | getIterator(...) : Iterator [] : String | Test.java:4720:20:4720:22 | out : Iterator [] : String | provenance | | +| Test.java:4720:20:4720:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:4720:20:4720:22 | out : Iterator [] : String | Test.java:4720:9:4720:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4725:18:4725:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4726:20:4726:21 | in : ListIterator [] : String | provenance | | +| Test.java:4725:45:4725:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4725:45:4725:60 | (...)... : String | Test.java:4725:18:4725:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4725:53:4725:60 | source(...) : Object | Test.java:4725:45:4725:60 | (...)... : String | provenance | | +| Test.java:4726:4:4726:6 | out [post update] : FilterIterator [] : String | Test.java:4727:20:4727:22 | out : FilterIterator [] : String | provenance | | +| Test.java:4726:20:4726:21 | in : ListIterator [] : String | Test.java:4726:4:4726:6 | out [post update] : FilterIterator [] : String | provenance | MaD:143 | +| Test.java:4727:20:4727:22 | out : FilterIterator [] : String | Test.java:231:19:231:32 | it : FilterIterator [] : String | provenance | | +| Test.java:4727:20:4727:22 | out : FilterIterator [] : String | Test.java:4727:9:4727:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4732:22:4732:65 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4733:33:4733:34 | in : ListIterator [] : String | provenance | | +| Test.java:4732:49:4732:64 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4732:49:4732:64 | (...)... : String | Test.java:4732:22:4732:65 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4732:57:4732:64 | source(...) : Object | Test.java:4732:49:4732:64 | (...)... : String | provenance | | +| Test.java:4733:10:4733:35 | new FilterListIterator<>(...) : FilterListIterator [] : String | Test.java:4734:20:4734:22 | out : FilterListIterator [] : String | provenance | | +| Test.java:4733:33:4733:34 | in : ListIterator [] : String | Test.java:4733:10:4733:35 | new FilterListIterator<>(...) : FilterListIterator [] : String | provenance | MaD:144 | +| Test.java:4734:20:4734:22 | out : FilterListIterator [] : String | Test.java:231:19:231:32 | it : FilterListIterator [] : String | provenance | | +| Test.java:4734:20:4734:22 | out : FilterListIterator [] : String | Test.java:4734:9:4734:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4739:22:4739:65 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4740:33:4740:34 | in : ListIterator [] : String | provenance | | +| Test.java:4739:49:4739:64 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4739:49:4739:64 | (...)... : String | Test.java:4739:22:4739:65 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4739:57:4739:64 | source(...) : Object | Test.java:4739:49:4739:64 | (...)... : String | provenance | | +| Test.java:4740:10:4740:41 | new FilterListIterator<>(...) : FilterListIterator [] : String | Test.java:4741:20:4741:22 | out : FilterListIterator [] : String | provenance | | +| Test.java:4740:33:4740:34 | in : ListIterator [] : String | Test.java:4740:10:4740:41 | new FilterListIterator<>(...) : FilterListIterator [] : String | provenance | MaD:145 | +| Test.java:4741:20:4741:22 | out : FilterListIterator [] : String | Test.java:231:19:231:32 | it : FilterListIterator [] : String | provenance | | +| Test.java:4741:20:4741:22 | out : FilterListIterator [] : String | Test.java:4741:9:4741:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4746:28:4746:95 | new FilterListIterator<>(...) : FilterListIterator [] : String | Test.java:4747:10:4747:11 | in : FilterListIterator [] : String | provenance | | +| Test.java:4746:51:4746:94 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4746:28:4746:95 | new FilterListIterator<>(...) : FilterListIterator [] : String | provenance | MaD:144 | +| Test.java:4746:78:4746:93 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4746:78:4746:93 | (...)... : String | Test.java:4746:51:4746:94 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4746:86:4746:93 | source(...) : Object | Test.java:4746:78:4746:93 | (...)... : String | provenance | | +| Test.java:4747:10:4747:11 | in : FilterListIterator [] : String | Test.java:4747:10:4747:29 | getListIterator(...) : ListIterator [] : String | provenance | MaD:146 | +| Test.java:4747:10:4747:29 | getListIterator(...) : ListIterator [] : String | Test.java:4748:20:4748:22 | out : ListIterator [] : String | provenance | | +| Test.java:4748:20:4748:22 | out : ListIterator [] : String | Test.java:231:19:231:32 | it : ListIterator [] : String | provenance | | +| Test.java:4748:20:4748:22 | out : ListIterator [] : String | Test.java:4748:9:4748:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4753:22:4753:65 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4754:24:4754:25 | in : ListIterator [] : String | provenance | | +| Test.java:4753:49:4753:64 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4753:49:4753:64 | (...)... : String | Test.java:4753:22:4753:65 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4753:57:4753:64 | source(...) : Object | Test.java:4753:49:4753:64 | (...)... : String | provenance | | +| Test.java:4754:4:4754:6 | out [post update] : FilterListIterator [] : String | Test.java:4755:20:4755:22 | out : FilterListIterator [] : String | provenance | | +| Test.java:4754:24:4754:25 | in : ListIterator [] : String | Test.java:4754:4:4754:6 | out [post update] : FilterListIterator [] : String | provenance | MaD:147 | +| Test.java:4755:20:4755:22 | out : FilterListIterator [] : String | Test.java:231:19:231:32 | it : FilterListIterator [] : String | provenance | | +| Test.java:4755:20:4755:22 | out : FilterListIterator [] : String | Test.java:4755:9:4755:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4760:20:4760:86 | newTreeBagWithElement(...) : TreeBag [, ] : String | Test.java:4761:28:4761:29 | in : TreeBag [, ] : String | provenance | | +| Test.java:4760:42:4760:85 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:267:39:267:47 | element : ListIterator [] : String | provenance | | +| Test.java:4760:42:4760:85 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4760:20:4760:86 | newTreeBagWithElement(...) : TreeBag [, ] : String | provenance | MaD:2 | +| Test.java:4760:42:4760:85 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4760:20:4760:86 | newTreeBagWithElement(...) : TreeBag [, ] : String | provenance | MaD:395 | +| Test.java:4760:69:4760:84 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4760:69:4760:84 | (...)... : String | Test.java:4760:42:4760:85 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4760:77:4760:84 | source(...) : Object | Test.java:4760:69:4760:84 | (...)... : String | provenance | | +| Test.java:4761:10:4761:30 | new IteratorChain<>(...) : IteratorChain [] : String | Test.java:4762:20:4762:22 | out : IteratorChain [] : String | provenance | | +| Test.java:4761:28:4761:29 | in : TreeBag [, ] : String | Test.java:4761:10:4761:30 | new IteratorChain<>(...) : IteratorChain [] : String | provenance | MaD:148 | +| Test.java:4762:20:4762:22 | out : IteratorChain [] : String | Test.java:231:19:231:32 | it : IteratorChain [] : String | provenance | | +| Test.java:4762:20:4762:22 | out : IteratorChain [] : String | Test.java:4762:9:4762:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4767:18:4767:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4768:28:4768:29 | in : ListIterator [] : String | provenance | | +| Test.java:4767:45:4767:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4767:45:4767:60 | (...)... : String | Test.java:4767:18:4767:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4767:53:4767:60 | source(...) : Object | Test.java:4767:45:4767:60 | (...)... : String | provenance | | +| Test.java:4768:10:4768:30 | new IteratorChain<>(...) : IteratorChain [] : String | Test.java:4769:20:4769:22 | out : IteratorChain [] : String | provenance | | +| Test.java:4768:28:4768:29 | in : ListIterator [] : String | Test.java:4768:10:4768:30 | new IteratorChain<>(...) : IteratorChain [] : String | provenance | MaD:149 | +| Test.java:4769:20:4769:22 | out : IteratorChain [] : String | Test.java:231:19:231:32 | it : IteratorChain [] : String | provenance | | +| Test.java:4769:20:4769:22 | out : IteratorChain [] : String | Test.java:4769:9:4769:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4774:18:4774:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4775:28:4775:29 | in : ListIterator [] : String | provenance | | +| Test.java:4774:45:4774:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4774:45:4774:60 | (...)... : String | Test.java:4774:18:4774:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4774:53:4774:60 | source(...) : Object | Test.java:4774:45:4774:60 | (...)... : String | provenance | | +| Test.java:4775:10:4775:36 | new IteratorChain<>(...) : IteratorChain [] : String | Test.java:4776:20:4776:22 | out : IteratorChain [] : String | provenance | | +| Test.java:4775:28:4775:29 | in : ListIterator [] : String | Test.java:4775:10:4775:36 | new IteratorChain<>(...) : IteratorChain [] : String | provenance | MaD:150 | +| Test.java:4776:20:4776:22 | out : IteratorChain [] : String | Test.java:231:19:231:32 | it : IteratorChain [] : String | provenance | | +| Test.java:4776:20:4776:22 | out : IteratorChain [] : String | Test.java:4776:9:4776:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4781:18:4781:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4782:34:4782:35 | in : ListIterator [] : String | provenance | | +| Test.java:4781:45:4781:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4781:45:4781:60 | (...)... : String | Test.java:4781:18:4781:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4781:53:4781:60 | source(...) : Object | Test.java:4781:45:4781:60 | (...)... : String | provenance | | +| Test.java:4782:10:4782:36 | new IteratorChain<>(...) : IteratorChain [] : String | Test.java:4783:20:4783:22 | out : IteratorChain [] : String | provenance | | +| Test.java:4782:34:4782:35 | in : ListIterator [] : String | Test.java:4782:10:4782:36 | new IteratorChain<>(...) : IteratorChain [] : String | provenance | MaD:151 | +| Test.java:4783:20:4783:22 | out : IteratorChain [] : String | Test.java:231:19:231:32 | it : IteratorChain [] : String | provenance | | +| Test.java:4783:20:4783:22 | out : IteratorChain [] : String | Test.java:4783:9:4783:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4788:20:4788:79 | {...} : Iterator[] [[], ] : String | Test.java:4789:28:4789:29 | in : Iterator[] [[], ] : String | provenance | | +| Test.java:4788:35:4788:78 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4788:20:4788:79 | {...} : Iterator[] [[], ] : String | provenance | | +| Test.java:4788:62:4788:77 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4788:62:4788:77 | (...)... : String | Test.java:4788:35:4788:78 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4788:70:4788:77 | source(...) : Object | Test.java:4788:62:4788:77 | (...)... : String | provenance | | +| Test.java:4789:10:4789:30 | new IteratorChain<>(...) : IteratorChain [] : String | Test.java:4790:20:4790:22 | out : IteratorChain [] : String | provenance | | +| Test.java:4789:28:4789:29 | in : Iterator[] [[], ] : String | Test.java:4789:10:4789:30 | new IteratorChain<>(...) : IteratorChain [] : String | provenance | MaD:152 | +| Test.java:4790:20:4790:22 | out : IteratorChain [] : String | Test.java:231:19:231:32 | it : IteratorChain [] : String | provenance | | +| Test.java:4790:20:4790:22 | out : IteratorChain [] : String | Test.java:4790:9:4790:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4795:18:4795:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4796:20:4796:21 | in : ListIterator [] : String | provenance | | +| Test.java:4795:45:4795:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4795:45:4795:60 | (...)... : String | Test.java:4795:18:4795:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4795:53:4795:60 | source(...) : Object | Test.java:4795:45:4795:60 | (...)... : String | provenance | | +| Test.java:4796:4:4796:6 | out [post update] : IteratorChain [] : String | Test.java:4797:20:4797:22 | out : IteratorChain [] : String | provenance | | +| Test.java:4796:20:4796:21 | in : ListIterator [] : String | Test.java:4796:4:4796:6 | out [post update] : IteratorChain [] : String | provenance | MaD:153 | +| Test.java:4797:20:4797:22 | out : IteratorChain [] : String | Test.java:231:19:231:32 | it : IteratorChain [] : String | provenance | | +| Test.java:4797:20:4797:22 | out : IteratorChain [] : String | Test.java:4797:9:4797:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4802:18:4802:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4803:34:4803:35 | in : ListIterator [] : String | provenance | | +| Test.java:4802:45:4802:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4802:45:4802:60 | (...)... : String | Test.java:4802:18:4802:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4802:53:4802:60 | source(...) : Object | Test.java:4802:45:4802:60 | (...)... : String | provenance | | +| Test.java:4803:10:4803:36 | new IteratorEnumeration<>(...) : IteratorEnumeration [] : String | Test.java:4804:20:4804:22 | out : IteratorEnumeration [] : String | provenance | | +| Test.java:4803:34:4803:35 | in : ListIterator [] : String | Test.java:4803:10:4803:36 | new IteratorEnumeration<>(...) : IteratorEnumeration [] : String | provenance | MaD:154 | +| Test.java:4804:20:4804:22 | out : IteratorEnumeration [] : String | Test.java:234:19:234:42 | container : IteratorEnumeration [] : String | provenance | | +| Test.java:4804:20:4804:22 | out : IteratorEnumeration [] : String | Test.java:4804:9:4804:23 | getElement(...) | provenance | MaD:3 | +| Test.java:4809:29:4809:97 | new IteratorEnumeration<>(...) : IteratorEnumeration [] : String | Test.java:4810:10:4810:11 | in : IteratorEnumeration [] : String | provenance | | +| Test.java:4809:53:4809:96 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4809:29:4809:97 | new IteratorEnumeration<>(...) : IteratorEnumeration [] : String | provenance | MaD:154 | +| Test.java:4809:80:4809:95 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4809:80:4809:95 | (...)... : String | Test.java:4809:53:4809:96 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4809:88:4809:95 | source(...) : Object | Test.java:4809:80:4809:95 | (...)... : String | provenance | | +| Test.java:4810:10:4810:11 | in : IteratorEnumeration [] : String | Test.java:4810:10:4810:25 | getIterator(...) : Iterator [] : String | provenance | MaD:155 | +| Test.java:4810:10:4810:25 | getIterator(...) : Iterator [] : String | Test.java:4811:20:4811:22 | out : Iterator [] : String | provenance | | +| Test.java:4811:20:4811:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:4811:20:4811:22 | out : Iterator [] : String | Test.java:4811:9:4811:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4816:18:4816:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4817:20:4817:21 | in : ListIterator [] : String | provenance | | +| Test.java:4816:45:4816:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4816:45:4816:60 | (...)... : String | Test.java:4816:18:4816:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4816:53:4816:60 | source(...) : Object | Test.java:4816:45:4816:60 | (...)... : String | provenance | | +| Test.java:4817:4:4817:6 | out [post update] : IteratorEnumeration [] : String | Test.java:4818:20:4818:22 | out : IteratorEnumeration [] : String | provenance | | +| Test.java:4817:20:4817:21 | in : ListIterator [] : String | Test.java:4817:4:4817:6 | out [post update] : IteratorEnumeration [] : String | provenance | MaD:156 | +| Test.java:4818:20:4818:22 | out : IteratorEnumeration [] : String | Test.java:234:19:234:42 | container : IteratorEnumeration [] : String | provenance | | +| Test.java:4818:20:4818:22 | out : IteratorEnumeration [] : String | Test.java:4818:9:4818:23 | getElement(...) | provenance | MaD:3 | +| Test.java:4823:18:4823:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4824:31:4824:32 | in : ListIterator [] : String | provenance | | +| Test.java:4823:45:4823:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4823:45:4823:60 | (...)... : String | Test.java:4823:18:4823:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4823:53:4823:60 | source(...) : Object | Test.java:4823:45:4823:60 | (...)... : String | provenance | | +| Test.java:4824:10:4824:40 | new IteratorIterable<>(...) : IteratorIterable [] : String | Test.java:4825:20:4825:22 | out : IteratorIterable [] : String | provenance | | +| Test.java:4824:31:4824:32 | in : ListIterator [] : String | Test.java:4824:10:4824:40 | new IteratorIterable<>(...) : IteratorIterable [] : String | provenance | MaD:157 | +| Test.java:4825:20:4825:22 | out : IteratorIterable [] : String | Test.java:230:19:230:32 | it : IteratorIterable [] : String | provenance | | +| Test.java:4825:20:4825:22 | out : IteratorIterable [] : String | Test.java:4825:9:4825:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4830:18:4830:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4831:31:4831:32 | in : ListIterator [] : String | provenance | | +| Test.java:4830:45:4830:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4830:45:4830:60 | (...)... : String | Test.java:4830:18:4830:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4830:53:4830:60 | source(...) : Object | Test.java:4830:45:4830:60 | (...)... : String | provenance | | +| Test.java:4831:10:4831:33 | new IteratorIterable<>(...) : IteratorIterable [] : String | Test.java:4832:20:4832:22 | out : IteratorIterable [] : String | provenance | | +| Test.java:4831:31:4831:32 | in : ListIterator [] : String | Test.java:4831:10:4831:33 | new IteratorIterable<>(...) : IteratorIterable [] : String | provenance | MaD:157 | +| Test.java:4832:20:4832:22 | out : IteratorIterable [] : String | Test.java:230:19:230:32 | it : IteratorIterable [] : String | provenance | | +| Test.java:4832:20:4832:22 | out : IteratorIterable [] : String | Test.java:4832:9:4832:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4837:18:4837:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4838:34:4838:35 | in : ListIterator [] : String | provenance | | +| Test.java:4837:45:4837:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4837:45:4837:60 | (...)... : String | Test.java:4837:18:4837:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4837:53:4837:60 | source(...) : Object | Test.java:4837:45:4837:60 | (...)... : String | provenance | | +| Test.java:4838:10:4838:36 | new ListIteratorWrapper<>(...) : ListIteratorWrapper [] : String | Test.java:4839:20:4839:22 | out : ListIteratorWrapper [] : String | provenance | | +| Test.java:4838:34:4838:35 | in : ListIterator [] : String | Test.java:4838:10:4838:36 | new ListIteratorWrapper<>(...) : ListIteratorWrapper [] : String | provenance | MaD:158 | +| Test.java:4839:20:4839:22 | out : ListIteratorWrapper [] : String | Test.java:231:19:231:32 | it : ListIteratorWrapper [] : String | provenance | | +| Test.java:4839:20:4839:22 | out : ListIteratorWrapper [] : String | Test.java:4839:9:4839:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4844:20:4844:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4845:30:4845:31 | in : TreeBag [] : String | provenance | | +| Test.java:4844:42:4844:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:4844:42:4844:57 | (...)... : String | Test.java:4844:20:4844:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:4844:42:4844:57 | (...)... : String | Test.java:4844:20:4844:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:4844:50:4844:57 | source(...) : Object | Test.java:4844:42:4844:57 | (...)... : String | provenance | | +| Test.java:4845:10:4845:32 | new LoopingIterator<>(...) : LoopingIterator [] : String | Test.java:4846:20:4846:22 | out : LoopingIterator [] : String | provenance | | +| Test.java:4845:30:4845:31 | in : TreeBag [] : String | Test.java:4845:10:4845:32 | new LoopingIterator<>(...) : LoopingIterator [] : String | provenance | MaD:159 | +| Test.java:4846:20:4846:22 | out : LoopingIterator [] : String | Test.java:231:19:231:32 | it : LoopingIterator [] : String | provenance | | +| Test.java:4846:20:4846:22 | out : LoopingIterator [] : String | Test.java:4846:9:4846:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4851:14:4851:38 | of(...) : List [] : String | Test.java:4852:34:4852:35 | in : List [] : String | provenance | | +| Test.java:4851:22:4851:37 | (...)... : String | Test.java:4851:14:4851:38 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:4851:30:4851:37 | source(...) : Object | Test.java:4851:22:4851:37 | (...)... : String | provenance | | +| Test.java:4852:10:4852:36 | new LoopingListIterator<>(...) : LoopingListIterator [] : String | Test.java:4853:20:4853:22 | out : LoopingListIterator [] : String | provenance | | +| Test.java:4852:34:4852:35 | in : List [] : String | Test.java:4852:10:4852:36 | new LoopingListIterator<>(...) : LoopingListIterator [] : String | provenance | MaD:160 | +| Test.java:4853:20:4853:22 | out : LoopingListIterator [] : String | Test.java:231:19:231:32 | it : LoopingListIterator [] : String | provenance | | +| Test.java:4853:20:4853:22 | out : LoopingListIterator [] : String | Test.java:4853:9:4853:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4858:18:4858:47 | {...} : Object[] [[]] : String | Test.java:4859:34:4859:35 | in : Object[] [[]] : String | provenance | | +| Test.java:4858:31:4858:46 | (...)... : String | Test.java:4858:18:4858:47 | {...} : Object[] [[]] : String | provenance | | +| Test.java:4858:39:4858:46 | source(...) : Object | Test.java:4858:31:4858:46 | (...)... : String | provenance | | +| Test.java:4859:10:4859:42 | new ObjectArrayIterator<>(...) : ObjectArrayIterator [] : String | Test.java:4860:20:4860:22 | out : ObjectArrayIterator [] : String | provenance | | +| Test.java:4859:34:4859:35 | in : Object[] [[]] : String | Test.java:4859:10:4859:42 | new ObjectArrayIterator<>(...) : ObjectArrayIterator [] : String | provenance | MaD:161 | +| Test.java:4860:20:4860:22 | out : ObjectArrayIterator [] : String | Test.java:231:19:231:32 | it : ObjectArrayIterator [] : String | provenance | | +| Test.java:4860:20:4860:22 | out : ObjectArrayIterator [] : String | Test.java:4860:9:4860:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4865:18:4865:47 | {...} : Object[] [[]] : String | Test.java:4866:34:4866:35 | in : Object[] [[]] : String | provenance | | +| Test.java:4865:31:4865:46 | (...)... : String | Test.java:4865:18:4865:47 | {...} : Object[] [[]] : String | provenance | | +| Test.java:4865:39:4865:46 | source(...) : Object | Test.java:4865:31:4865:46 | (...)... : String | provenance | | +| Test.java:4866:10:4866:39 | new ObjectArrayIterator<>(...) : ObjectArrayIterator [] : String | Test.java:4867:20:4867:22 | out : ObjectArrayIterator [] : String | provenance | | +| Test.java:4866:34:4866:35 | in : Object[] [[]] : String | Test.java:4866:10:4866:39 | new ObjectArrayIterator<>(...) : ObjectArrayIterator [] : String | provenance | MaD:161 | +| Test.java:4867:20:4867:22 | out : ObjectArrayIterator [] : String | Test.java:231:19:231:32 | it : ObjectArrayIterator [] : String | provenance | | +| Test.java:4867:20:4867:22 | out : ObjectArrayIterator [] : String | Test.java:4867:9:4867:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4872:18:4872:47 | {...} : Object[] [[]] : String | Test.java:4873:34:4873:35 | in : Object[] [[]] : String | provenance | | +| Test.java:4872:31:4872:46 | (...)... : String | Test.java:4872:18:4872:47 | {...} : Object[] [[]] : String | provenance | | +| Test.java:4872:39:4872:46 | source(...) : Object | Test.java:4872:31:4872:46 | (...)... : String | provenance | | +| Test.java:4873:10:4873:36 | new ObjectArrayIterator<>(...) : ObjectArrayIterator [] : String | Test.java:4874:20:4874:22 | out : ObjectArrayIterator [] : String | provenance | | +| Test.java:4873:34:4873:35 | in : Object[] [[]] : String | Test.java:4873:10:4873:36 | new ObjectArrayIterator<>(...) : ObjectArrayIterator [] : String | provenance | MaD:161 | +| Test.java:4874:20:4874:22 | out : ObjectArrayIterator [] : String | Test.java:231:19:231:32 | it : ObjectArrayIterator [] : String | provenance | | +| Test.java:4874:20:4874:22 | out : ObjectArrayIterator [] : String | Test.java:4874:9:4874:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4879:29:4879:83 | new ObjectArrayIterator<>(...) : ObjectArrayIterator [] : String | Test.java:4880:10:4880:11 | in : ObjectArrayIterator [] : String | provenance | | +| Test.java:4879:53:4879:82 | new Object[] : Object[] [[]] : String | Test.java:4879:29:4879:83 | new ObjectArrayIterator<>(...) : ObjectArrayIterator [] : String | provenance | MaD:161 | +| Test.java:4879:53:4879:82 | {...} : Object[] [[]] : String | Test.java:4879:53:4879:82 | new Object[] : Object[] [[]] : String | provenance | | +| Test.java:4879:66:4879:81 | (...)... : String | Test.java:4879:53:4879:82 | {...} : Object[] [[]] : String | provenance | | +| Test.java:4879:74:4879:81 | source(...) : Object | Test.java:4879:66:4879:81 | (...)... : String | provenance | | +| Test.java:4880:10:4880:11 | in : ObjectArrayIterator [] : String | Test.java:4880:10:4880:22 | getArray(...) : Object[] [[]] : String | provenance | MaD:162 | +| Test.java:4880:10:4880:22 | getArray(...) : Object[] [[]] : String | Test.java:4881:25:4881:27 | out : Object[] [[]] : String | provenance | | +| Test.java:4881:25:4881:27 | out : Object[] [[]] : String | Test.java:229:24:229:32 | array : Object[] [[]] : String | provenance | | +| Test.java:4881:25:4881:27 | out : Object[] [[]] : String | Test.java:4881:9:4881:28 | getArrayElement(...) | provenance | | +| Test.java:4886:18:4886:47 | {...} : Object[] [[]] : String | Test.java:4887:38:4887:39 | in : Object[] [[]] : String | provenance | | +| Test.java:4886:31:4886:46 | (...)... : String | Test.java:4886:18:4886:47 | {...} : Object[] [[]] : String | provenance | | +| Test.java:4886:39:4886:46 | source(...) : Object | Test.java:4886:31:4886:46 | (...)... : String | provenance | | +| Test.java:4887:10:4887:46 | new ObjectArrayListIterator<>(...) : ObjectArrayListIterator [] : String | Test.java:4888:20:4888:22 | out : ObjectArrayListIterator [] : String | provenance | | +| Test.java:4887:38:4887:39 | in : Object[] [[]] : String | Test.java:4887:10:4887:46 | new ObjectArrayListIterator<>(...) : ObjectArrayListIterator [] : String | provenance | MaD:163 | +| Test.java:4888:20:4888:22 | out : ObjectArrayListIterator [] : String | Test.java:231:19:231:32 | it : ObjectArrayListIterator [] : String | provenance | | +| Test.java:4888:20:4888:22 | out : ObjectArrayListIterator [] : String | Test.java:4888:9:4888:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4893:18:4893:47 | {...} : Object[] [[]] : String | Test.java:4894:38:4894:39 | in : Object[] [[]] : String | provenance | | +| Test.java:4893:31:4893:46 | (...)... : String | Test.java:4893:18:4893:47 | {...} : Object[] [[]] : String | provenance | | +| Test.java:4893:39:4893:46 | source(...) : Object | Test.java:4893:31:4893:46 | (...)... : String | provenance | | +| Test.java:4894:10:4894:43 | new ObjectArrayListIterator<>(...) : ObjectArrayListIterator [] : String | Test.java:4895:20:4895:22 | out : ObjectArrayListIterator [] : String | provenance | | +| Test.java:4894:38:4894:39 | in : Object[] [[]] : String | Test.java:4894:10:4894:43 | new ObjectArrayListIterator<>(...) : ObjectArrayListIterator [] : String | provenance | MaD:163 | +| Test.java:4895:20:4895:22 | out : ObjectArrayListIterator [] : String | Test.java:231:19:231:32 | it : ObjectArrayListIterator [] : String | provenance | | +| Test.java:4895:20:4895:22 | out : ObjectArrayListIterator [] : String | Test.java:4895:9:4895:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4900:18:4900:47 | {...} : Object[] [[]] : String | Test.java:4901:38:4901:39 | in : Object[] [[]] : String | provenance | | +| Test.java:4900:31:4900:46 | (...)... : String | Test.java:4900:18:4900:47 | {...} : Object[] [[]] : String | provenance | | +| Test.java:4900:39:4900:46 | source(...) : Object | Test.java:4900:31:4900:46 | (...)... : String | provenance | | +| Test.java:4901:10:4901:40 | new ObjectArrayListIterator<>(...) : ObjectArrayListIterator [] : String | Test.java:4902:20:4902:22 | out : ObjectArrayListIterator [] : String | provenance | | +| Test.java:4901:38:4901:39 | in : Object[] [[]] : String | Test.java:4901:10:4901:40 | new ObjectArrayListIterator<>(...) : ObjectArrayListIterator [] : String | provenance | MaD:163 | +| Test.java:4902:20:4902:22 | out : ObjectArrayListIterator [] : String | Test.java:231:19:231:32 | it : ObjectArrayListIterator [] : String | provenance | | +| Test.java:4902:20:4902:22 | out : ObjectArrayListIterator [] : String | Test.java:4902:9:4902:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4907:18:4907:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4908:30:4908:31 | in : ListIterator [] : String | provenance | | +| Test.java:4907:45:4907:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4907:45:4907:60 | (...)... : String | Test.java:4907:18:4907:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4907:53:4907:60 | source(...) : Object | Test.java:4907:45:4907:60 | (...)... : String | provenance | | +| Test.java:4908:10:4908:32 | new PeekingIterator<>(...) : PeekingIterator [] : String | Test.java:4909:20:4909:22 | out : PeekingIterator [] : String | provenance | | +| Test.java:4908:30:4908:31 | in : ListIterator [] : String | Test.java:4908:10:4908:32 | new PeekingIterator<>(...) : PeekingIterator [] : String | provenance | MaD:164 | +| Test.java:4909:20:4909:22 | out : PeekingIterator [] : String | Test.java:231:19:231:32 | it : PeekingIterator [] : String | provenance | | +| Test.java:4909:20:4909:22 | out : PeekingIterator [] : String | Test.java:4909:9:4909:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4914:25:4914:89 | new PeekingIterator<>(...) : PeekingIterator [] : String | Test.java:4915:10:4915:11 | in : PeekingIterator [] : String | provenance | | +| Test.java:4914:45:4914:88 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4914:25:4914:89 | new PeekingIterator<>(...) : PeekingIterator [] : String | provenance | MaD:164 | +| Test.java:4914:72:4914:87 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4914:72:4914:87 | (...)... : String | Test.java:4914:45:4914:88 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4914:80:4914:87 | source(...) : Object | Test.java:4914:72:4914:87 | (...)... : String | provenance | | +| Test.java:4915:10:4915:11 | in : PeekingIterator [] : String | Test.java:4915:10:4915:21 | element(...) : String | provenance | MaD:165 | +| Test.java:4915:10:4915:21 | element(...) : String | Test.java:4916:9:4916:11 | out | provenance | | +| Test.java:4921:25:4921:89 | new PeekingIterator<>(...) : PeekingIterator [] : String | Test.java:4922:10:4922:11 | in : PeekingIterator [] : String | provenance | | +| Test.java:4921:45:4921:88 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4921:25:4921:89 | new PeekingIterator<>(...) : PeekingIterator [] : String | provenance | MaD:164 | +| Test.java:4921:72:4921:87 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4921:72:4921:87 | (...)... : String | Test.java:4921:45:4921:88 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4921:80:4921:87 | source(...) : Object | Test.java:4921:72:4921:87 | (...)... : String | provenance | | +| Test.java:4922:10:4922:11 | in : PeekingIterator [] : String | Test.java:4922:10:4922:18 | peek(...) : String | provenance | MaD:166 | +| Test.java:4922:10:4922:18 | peek(...) : String | Test.java:4923:9:4923:11 | out | provenance | | +| Test.java:4928:18:4928:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4929:42:4929:43 | in : ListIterator [] : String | provenance | | +| Test.java:4928:45:4928:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4928:45:4928:60 | (...)... : String | Test.java:4928:18:4928:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4928:53:4928:60 | source(...) : Object | Test.java:4928:45:4928:60 | (...)... : String | provenance | | +| Test.java:4929:10:4929:44 | peekingIterator(...) : PeekingIterator [] : String | Test.java:4930:20:4930:22 | out : PeekingIterator [] : String | provenance | | +| Test.java:4929:42:4929:43 | in : ListIterator [] : String | Test.java:4929:10:4929:44 | peekingIterator(...) : PeekingIterator [] : String | provenance | MaD:167 | +| Test.java:4930:20:4930:22 | out : PeekingIterator [] : String | Test.java:231:19:231:32 | it : PeekingIterator [] : String | provenance | | +| Test.java:4930:20:4930:22 | out : PeekingIterator [] : String | Test.java:4930:9:4930:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4935:28:4935:60 | of(...) : List [] : String | Test.java:4936:34:4936:35 | in : List [] : String | provenance | | +| Test.java:4935:44:4935:59 | (...)... : String | Test.java:4935:28:4935:60 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:4935:52:4935:59 | source(...) : Object | Test.java:4935:44:4935:59 | (...)... : String | provenance | | +| Test.java:4936:10:4936:36 | new PermutationIterator<>(...) : PermutationIterator [, ] : String | Test.java:4937:31:4937:33 | out : PermutationIterator [, ] : String | provenance | | +| Test.java:4936:34:4936:35 | in : List [] : String | Test.java:4936:10:4936:36 | new PermutationIterator<>(...) : PermutationIterator [, ] : String | provenance | MaD:168 | +| Test.java:4937:20:4937:34 | getElement(...) : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:4937:20:4937:34 | getElement(...) : List [] : String | Test.java:4937:9:4937:35 | getElement(...) | provenance | MaD:1 | +| Test.java:4937:31:4937:33 | out : PermutationIterator [, ] : String | Test.java:4937:20:4937:34 | getElement(...) : List [] : String | provenance | MaD:4 | +| Test.java:4942:18:4942:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4943:31:4943:32 | in : ListIterator [] : String | provenance | | +| Test.java:4942:45:4942:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4942:45:4942:60 | (...)... : String | Test.java:4942:18:4942:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4942:53:4942:60 | source(...) : Object | Test.java:4942:45:4942:60 | (...)... : String | provenance | | +| Test.java:4943:10:4943:33 | new PushbackIterator<>(...) : PushbackIterator [] : String | Test.java:4944:20:4944:22 | out : PushbackIterator [] : String | provenance | | +| Test.java:4943:31:4943:32 | in : ListIterator [] : String | Test.java:4943:10:4943:33 | new PushbackIterator<>(...) : PushbackIterator [] : String | provenance | MaD:169 | +| Test.java:4944:20:4944:22 | out : PushbackIterator [] : String | Test.java:231:19:231:32 | it : PushbackIterator [] : String | provenance | | +| Test.java:4944:20:4944:22 | out : PushbackIterator [] : String | Test.java:4944:9:4944:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4949:16:4949:23 | source(...) : Object | Test.java:4950:17:4950:18 | in : Object | provenance | | +| Test.java:4950:4:4950:6 | out [post update] : PushbackIterator [] : Object | Test.java:4951:20:4951:22 | out : PushbackIterator [] : Object | provenance | | +| Test.java:4950:17:4950:18 | in : Object | Test.java:4950:4:4950:6 | out [post update] : PushbackIterator [] : Object | provenance | MaD:170 | +| Test.java:4951:20:4951:22 | out : PushbackIterator [] : Object | Test.java:231:19:231:32 | it : PushbackIterator [] : Object | provenance | | +| Test.java:4951:20:4951:22 | out : PushbackIterator [] : Object | Test.java:4951:9:4951:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4956:18:4956:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4957:44:4957:45 | in : ListIterator [] : String | provenance | | +| Test.java:4956:45:4956:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4956:45:4956:60 | (...)... : String | Test.java:4956:18:4956:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4956:53:4956:60 | source(...) : Object | Test.java:4956:45:4956:60 | (...)... : String | provenance | | +| Test.java:4957:10:4957:46 | pushbackIterator(...) : PushbackIterator [] : String | Test.java:4958:20:4958:22 | out : PushbackIterator [] : String | provenance | | +| Test.java:4957:44:4957:45 | in : ListIterator [] : String | Test.java:4957:10:4957:46 | pushbackIterator(...) : PushbackIterator [] : String | provenance | MaD:171 | +| Test.java:4958:20:4958:22 | out : PushbackIterator [] : String | Test.java:231:19:231:32 | it : PushbackIterator [] : String | provenance | | +| Test.java:4958:20:4958:22 | out : PushbackIterator [] : String | Test.java:4958:9:4958:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4963:14:4963:38 | of(...) : List [] : String | Test.java:4964:34:4964:35 | in : List [] : String | provenance | | +| Test.java:4963:22:4963:37 | (...)... : String | Test.java:4963:14:4963:38 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:4963:30:4963:37 | source(...) : Object | Test.java:4963:22:4963:37 | (...)... : String | provenance | | +| Test.java:4964:10:4964:36 | new ReverseListIterator<>(...) : ReverseListIterator [] : String | Test.java:4965:20:4965:22 | out : ReverseListIterator [] : String | provenance | | +| Test.java:4964:34:4964:35 | in : List [] : String | Test.java:4964:10:4964:36 | new ReverseListIterator<>(...) : ReverseListIterator [] : String | provenance | MaD:172 | +| Test.java:4965:20:4965:22 | out : ReverseListIterator [] : String | Test.java:231:19:231:32 | it : ReverseListIterator [] : String | provenance | | +| Test.java:4965:20:4965:22 | out : ReverseListIterator [] : String | Test.java:4965:9:4965:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4970:16:4970:23 | source(...) : Object | Test.java:4971:32:4971:33 | in : Object | provenance | | +| Test.java:4971:10:4971:41 | new SingletonIterator<>(...) : SingletonIterator [] : Object | Test.java:4972:20:4972:22 | out : SingletonIterator [] : Object | provenance | | +| Test.java:4971:32:4971:33 | in : Object | Test.java:4971:10:4971:41 | new SingletonIterator<>(...) : SingletonIterator [] : Object | provenance | MaD:173 | +| Test.java:4972:20:4972:22 | out : SingletonIterator [] : Object | Test.java:231:19:231:32 | it : SingletonIterator [] : Object | provenance | | +| Test.java:4972:20:4972:22 | out : SingletonIterator [] : Object | Test.java:4972:9:4972:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4977:16:4977:23 | source(...) : Object | Test.java:4978:32:4978:33 | in : Object | provenance | | +| Test.java:4978:10:4978:34 | new SingletonIterator<>(...) : SingletonIterator [] : Object | Test.java:4979:20:4979:22 | out : SingletonIterator [] : Object | provenance | | +| Test.java:4978:32:4978:33 | in : Object | Test.java:4978:10:4978:34 | new SingletonIterator<>(...) : SingletonIterator [] : Object | provenance | MaD:173 | +| Test.java:4979:20:4979:22 | out : SingletonIterator [] : Object | Test.java:231:19:231:32 | it : SingletonIterator [] : Object | provenance | | +| Test.java:4979:20:4979:22 | out : SingletonIterator [] : Object | Test.java:4979:9:4979:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4984:16:4984:23 | source(...) : Object | Test.java:4985:36:4985:37 | in : Object | provenance | | +| Test.java:4985:10:4985:38 | new SingletonListIterator<>(...) : SingletonListIterator [] : Object | Test.java:4986:20:4986:22 | out : SingletonListIterator [] : Object | provenance | | +| Test.java:4985:36:4985:37 | in : Object | Test.java:4985:10:4985:38 | new SingletonListIterator<>(...) : SingletonListIterator [] : Object | provenance | MaD:174 | +| Test.java:4986:20:4986:22 | out : SingletonListIterator [] : Object | Test.java:231:19:231:32 | it : SingletonListIterator [] : Object | provenance | | +| Test.java:4986:20:4986:22 | out : SingletonListIterator [] : Object | Test.java:4986:9:4986:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4991:18:4991:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4992:31:4992:32 | in : ListIterator [] : String | provenance | | +| Test.java:4991:45:4991:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4991:45:4991:60 | (...)... : String | Test.java:4991:18:4991:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4991:53:4991:60 | source(...) : Object | Test.java:4991:45:4991:60 | (...)... : String | provenance | | +| Test.java:4992:10:4992:37 | new SkippingIterator<>(...) : SkippingIterator [] : String | Test.java:4993:20:4993:22 | out : SkippingIterator [] : String | provenance | | +| Test.java:4992:31:4992:32 | in : ListIterator [] : String | Test.java:4992:10:4992:37 | new SkippingIterator<>(...) : SkippingIterator [] : String | provenance | MaD:175 | +| Test.java:4993:20:4993:22 | out : SkippingIterator [] : String | Test.java:231:19:231:32 | it : SkippingIterator [] : String | provenance | | +| Test.java:4993:20:4993:22 | out : SkippingIterator [] : String | Test.java:4993:9:4993:23 | getElement(...) | provenance | MaD:4 | +| Test.java:4998:18:4998:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4999:35:4999:36 | in : ListIterator [] : String | provenance | | +| Test.java:4998:45:4998:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:4998:45:4998:60 | (...)... : String | Test.java:4998:18:4998:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:4998:53:4998:60 | source(...) : Object | Test.java:4998:45:4998:60 | (...)... : String | provenance | | +| Test.java:4999:10:4999:37 | new UniqueFilterIterator<>(...) : UniqueFilterIterator [] : String | Test.java:5000:20:5000:22 | out : UniqueFilterIterator [] : String | provenance | | +| Test.java:4999:35:4999:36 | in : ListIterator [] : String | Test.java:4999:10:4999:37 | new UniqueFilterIterator<>(...) : UniqueFilterIterator [] : String | provenance | MaD:176 | +| Test.java:5000:20:5000:22 | out : UniqueFilterIterator [] : String | Test.java:231:19:231:32 | it : UniqueFilterIterator [] : String | provenance | | +| Test.java:5000:20:5000:22 | out : UniqueFilterIterator [] : String | Test.java:5000:9:5000:23 | getElement(...) | provenance | MaD:4 | +| Test.java:5005:18:5005:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:5006:52:5006:53 | in : ListIterator [] : String | provenance | | +| Test.java:5005:45:5005:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:5005:45:5005:60 | (...)... : String | Test.java:5005:18:5005:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:5005:53:5005:60 | source(...) : Object | Test.java:5005:45:5005:60 | (...)... : String | provenance | | +| Test.java:5006:10:5006:54 | unmodifiableIterator(...) : Iterator [] : String | Test.java:5007:20:5007:22 | out : Iterator [] : String | provenance | | +| Test.java:5006:52:5006:53 | in : ListIterator [] : String | Test.java:5006:10:5006:54 | unmodifiableIterator(...) : Iterator [] : String | provenance | MaD:177 | +| Test.java:5007:20:5007:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:5007:20:5007:22 | out : Iterator [] : String | Test.java:5007:9:5007:23 | getElement(...) | provenance | MaD:4 | +| Test.java:5012:22:5012:65 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:5013:59:5013:60 | in : ListIterator [] : String | provenance | | +| Test.java:5012:49:5012:64 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:5012:49:5012:64 | (...)... : String | Test.java:5012:22:5012:65 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:5012:57:5012:64 | source(...) : Object | Test.java:5012:49:5012:64 | (...)... : String | provenance | | +| Test.java:5013:10:5013:61 | umodifiableListIterator(...) : ListIterator [] : String | Test.java:5014:20:5014:22 | out : ListIterator [] : String | provenance | | +| Test.java:5013:59:5013:60 | in : ListIterator [] : String | Test.java:5013:10:5013:61 | umodifiableListIterator(...) : ListIterator [] : String | provenance | MaD:178 | +| Test.java:5014:20:5014:22 | out : ListIterator [] : String | Test.java:231:19:231:32 | it : ListIterator [] : String | provenance | | +| Test.java:5014:20:5014:22 | out : ListIterator [] : String | Test.java:5014:9:5014:23 | getElement(...) | provenance | MaD:4 | +| Test.java:5019:21:5019:60 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | Test.java:5019:21:5019:74 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:487 | +| Test.java:5019:21:5019:74 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:5020:58:5020:59 | in : OrderedMapIterator [] : String | provenance | | +| Test.java:5019:44:5019:59 | (...)... : String | Test.java:276:49:276:53 | key : String | provenance | | +| Test.java:5019:44:5019:59 | (...)... : String | Test.java:5019:21:5019:60 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | provenance | MaD:11 | +| Test.java:5019:52:5019:59 | source(...) : Object | Test.java:5019:44:5019:59 | (...)... : String | provenance | | +| Test.java:5020:10:5020:60 | unmodifiableMapIterator(...) : MapIterator [] : String | Test.java:5021:20:5021:22 | out : MapIterator [] : String | provenance | | +| Test.java:5020:58:5020:59 | in : OrderedMapIterator [] : String | Test.java:5020:10:5020:60 | unmodifiableMapIterator(...) : MapIterator [] : String | provenance | MaD:179 | +| Test.java:5021:20:5021:22 | out : MapIterator [] : String | Test.java:231:19:231:32 | it : MapIterator [] : String | provenance | | +| Test.java:5021:20:5021:22 | out : MapIterator [] : String | Test.java:5021:9:5021:23 | getElement(...) | provenance | MaD:4 | +| Test.java:5026:21:5026:62 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | Test.java:5026:21:5026:76 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:488 | +| Test.java:5026:21:5026:76 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:5027:58:5027:59 | in : OrderedMapIterator [] : String | provenance | | +| Test.java:5026:46:5026:61 | (...)... : String | Test.java:295:51:295:57 | value : String | provenance | | +| Test.java:5026:46:5026:61 | (...)... : String | Test.java:5026:21:5026:62 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | provenance | MaD:12 | +| Test.java:5026:54:5026:61 | source(...) : Object | Test.java:5026:46:5026:61 | (...)... : String | provenance | | +| Test.java:5027:10:5027:60 | unmodifiableMapIterator(...) : MapIterator [] : String | Test.java:5028:21:5028:23 | out : MapIterator [] : String | provenance | | +| Test.java:5027:58:5027:59 | in : OrderedMapIterator [] : String | Test.java:5027:10:5027:60 | unmodifiableMapIterator(...) : MapIterator [] : String | provenance | MaD:180 | +| Test.java:5028:21:5028:23 | out : MapIterator [] : String | Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | provenance | | +| Test.java:5028:21:5028:23 | out : MapIterator [] : String | Test.java:5028:9:5028:24 | getMapValue(...) | provenance | MaD:598 | +| Test.java:5033:28:5033:72 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | Test.java:5033:28:5033:86 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:487 | +| Test.java:5033:28:5033:86 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:5034:72:5034:73 | in : OrderedMapIterator [] : String | provenance | | +| Test.java:5033:56:5033:71 | (...)... : String | Test.java:277:59:277:63 | key : String | provenance | | +| Test.java:5033:56:5033:71 | (...)... : String | Test.java:5033:28:5033:72 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | provenance | MaD:11 | +| Test.java:5033:64:5033:71 | source(...) : Object | Test.java:5033:56:5033:71 | (...)... : String | provenance | | +| Test.java:5034:10:5034:74 | unmodifiableOrderedMapIterator(...) : OrderedMapIterator [] : String | Test.java:5035:20:5035:22 | out : OrderedMapIterator [] : String | provenance | | +| Test.java:5034:72:5034:73 | in : OrderedMapIterator [] : String | Test.java:5034:10:5034:74 | unmodifiableOrderedMapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:181 | +| Test.java:5035:20:5035:22 | out : OrderedMapIterator [] : String | Test.java:231:19:231:32 | it : OrderedMapIterator [] : String | provenance | | +| Test.java:5035:20:5035:22 | out : OrderedMapIterator [] : String | Test.java:5035:9:5035:23 | getElement(...) | provenance | MaD:4 | +| Test.java:5040:28:5040:74 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | Test.java:5040:28:5040:88 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:488 | +| Test.java:5040:28:5040:88 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:5041:72:5041:73 | in : OrderedMapIterator [] : String | provenance | | +| Test.java:5040:58:5040:73 | (...)... : String | Test.java:296:61:296:67 | value : String | provenance | | +| Test.java:5040:58:5040:73 | (...)... : String | Test.java:5040:28:5040:74 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | provenance | MaD:12 | +| Test.java:5040:66:5040:73 | source(...) : Object | Test.java:5040:58:5040:73 | (...)... : String | provenance | | +| Test.java:5041:10:5041:74 | unmodifiableOrderedMapIterator(...) : OrderedMapIterator [] : String | Test.java:5042:21:5042:23 | out : OrderedMapIterator [] : String | provenance | | +| Test.java:5041:72:5041:73 | in : OrderedMapIterator [] : String | Test.java:5041:10:5041:74 | unmodifiableOrderedMapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:182 | +| Test.java:5042:21:5042:23 | out : OrderedMapIterator [] : String | Test.java:246:20:246:47 | mapIterator : OrderedMapIterator [] : String | provenance | | +| Test.java:5042:21:5042:23 | out : OrderedMapIterator [] : String | Test.java:5042:9:5042:24 | getMapValue(...) | provenance | MaD:598 | +| Test.java:5047:18:5047:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:5048:30:5048:31 | in : ListIterator [] : String | provenance | | +| Test.java:5047:45:5047:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:5047:45:5047:60 | (...)... : String | Test.java:5047:18:5047:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:5047:53:5047:60 | source(...) : Object | Test.java:5047:45:5047:60 | (...)... : String | provenance | | +| Test.java:5048:10:5048:38 | new ZippingIterator<>(...) : ZippingIterator [] : String | Test.java:5049:20:5049:22 | out : ZippingIterator [] : String | provenance | | +| Test.java:5048:30:5048:31 | in : ListIterator [] : String | Test.java:5048:10:5048:38 | new ZippingIterator<>(...) : ZippingIterator [] : String | provenance | MaD:183 | +| Test.java:5049:20:5049:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | provenance | | +| Test.java:5049:20:5049:22 | out : ZippingIterator [] : String | Test.java:5049:9:5049:23 | getElement(...) | provenance | MaD:4 | +| Test.java:5054:18:5054:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:5055:36:5055:37 | in : ListIterator [] : String | provenance | | +| Test.java:5054:45:5054:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:5054:45:5054:60 | (...)... : String | Test.java:5054:18:5054:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:5054:53:5054:60 | source(...) : Object | Test.java:5054:45:5054:60 | (...)... : String | provenance | | +| Test.java:5055:10:5055:38 | new ZippingIterator<>(...) : ZippingIterator [] : String | Test.java:5056:20:5056:22 | out : ZippingIterator [] : String | provenance | | +| Test.java:5055:36:5055:37 | in : ListIterator [] : String | Test.java:5055:10:5055:38 | new ZippingIterator<>(...) : ZippingIterator [] : String | provenance | MaD:184 | +| Test.java:5056:20:5056:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | provenance | | +| Test.java:5056:20:5056:22 | out : ZippingIterator [] : String | Test.java:5056:9:5056:23 | getElement(...) | provenance | MaD:4 | +| Test.java:5061:18:5061:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:5062:30:5062:31 | in : ListIterator [] : String | provenance | | +| Test.java:5061:45:5061:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:5061:45:5061:60 | (...)... : String | Test.java:5061:18:5061:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:5061:53:5061:60 | source(...) : Object | Test.java:5061:45:5061:60 | (...)... : String | provenance | | +| Test.java:5062:10:5062:44 | new ZippingIterator<>(...) : ZippingIterator [] : String | Test.java:5063:20:5063:22 | out : ZippingIterator [] : String | provenance | | +| Test.java:5062:30:5062:31 | in : ListIterator [] : String | Test.java:5062:10:5062:44 | new ZippingIterator<>(...) : ZippingIterator [] : String | provenance | MaD:185 | +| Test.java:5063:20:5063:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | provenance | | +| Test.java:5063:20:5063:22 | out : ZippingIterator [] : String | Test.java:5063:9:5063:23 | getElement(...) | provenance | MaD:4 | +| Test.java:5068:18:5068:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:5069:36:5069:37 | in : ListIterator [] : String | provenance | | +| Test.java:5068:45:5068:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:5068:45:5068:60 | (...)... : String | Test.java:5068:18:5068:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:5068:53:5068:60 | source(...) : Object | Test.java:5068:45:5068:60 | (...)... : String | provenance | | +| Test.java:5069:10:5069:44 | new ZippingIterator<>(...) : ZippingIterator [] : String | Test.java:5070:20:5070:22 | out : ZippingIterator [] : String | provenance | | +| Test.java:5069:36:5069:37 | in : ListIterator [] : String | Test.java:5069:10:5069:44 | new ZippingIterator<>(...) : ZippingIterator [] : String | provenance | MaD:186 | +| Test.java:5070:20:5070:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | provenance | | +| Test.java:5070:20:5070:22 | out : ZippingIterator [] : String | Test.java:5070:9:5070:23 | getElement(...) | provenance | MaD:4 | +| Test.java:5075:18:5075:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:5076:42:5076:43 | in : ListIterator [] : String | provenance | | +| Test.java:5075:45:5075:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:5075:45:5075:60 | (...)... : String | Test.java:5075:18:5075:61 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:5075:53:5075:60 | source(...) : Object | Test.java:5075:45:5075:60 | (...)... : String | provenance | | +| Test.java:5076:10:5076:44 | new ZippingIterator<>(...) : ZippingIterator [] : String | Test.java:5077:20:5077:22 | out : ZippingIterator [] : String | provenance | | +| Test.java:5076:42:5076:43 | in : ListIterator [] : String | Test.java:5076:10:5076:44 | new ZippingIterator<>(...) : ZippingIterator [] : String | provenance | MaD:187 | +| Test.java:5077:20:5077:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | provenance | | +| Test.java:5077:20:5077:22 | out : ZippingIterator [] : String | Test.java:5077:9:5077:23 | getElement(...) | provenance | MaD:4 | +| Test.java:5082:20:5082:79 | {...} : Iterator[] [[], ] : String | Test.java:5083:30:5083:31 | in : Iterator[] [[], ] : String | provenance | | +| Test.java:5082:35:5082:78 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:5082:20:5082:79 | {...} : Iterator[] [[], ] : String | provenance | | +| Test.java:5082:62:5082:77 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | +| Test.java:5082:62:5082:77 | (...)... : String | Test.java:5082:35:5082:78 | newListIteratorWithElement(...) : ListIterator [] : String | provenance | MaD:2 | +| Test.java:5082:70:5082:77 | source(...) : Object | Test.java:5082:62:5082:77 | (...)... : String | provenance | | +| Test.java:5083:10:5083:32 | new ZippingIterator<>(...) : ZippingIterator [] : String | Test.java:5084:20:5084:22 | out : ZippingIterator [] : String | provenance | | +| Test.java:5083:30:5083:31 | in : Iterator[] [[], ] : String | Test.java:5083:10:5083:32 | new ZippingIterator<>(...) : ZippingIterator [] : String | provenance | MaD:188 | +| Test.java:5084:20:5084:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | provenance | | +| Test.java:5084:20:5084:22 | out : ZippingIterator [] : String | Test.java:5084:9:5084:23 | getElement(...) | provenance | MaD:4 | +| Test.java:5089:16:5089:23 | source(...) : Object | Test.java:5090:23:5090:24 | in : Object | provenance | | +| Test.java:5090:10:5090:39 | new MultiKey<>(...) : MultiKey [] : Object | Test.java:5091:20:5091:22 | out : MultiKey [] : Object | provenance | | +| Test.java:5090:23:5090:24 | in : Object | Test.java:5090:10:5090:39 | new MultiKey<>(...) : MultiKey [] : Object | provenance | MaD:215 | +| Test.java:5091:20:5091:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | provenance | | +| Test.java:5091:20:5091:22 | out : MultiKey [] : Object | Test.java:5091:9:5091:23 | getElement(...) | provenance | MaD:231 | +| Test.java:5096:16:5096:23 | source(...) : Object | Test.java:5097:37:5097:38 | in : Object | provenance | | +| Test.java:5097:10:5097:39 | new MultiKey<>(...) : MultiKey [] : Object | Test.java:5098:20:5098:22 | out : MultiKey [] : Object | provenance | | +| Test.java:5097:37:5097:38 | in : Object | Test.java:5097:10:5097:39 | new MultiKey<>(...) : MultiKey [] : Object | provenance | MaD:216 | +| Test.java:5098:20:5098:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | provenance | | +| Test.java:5098:20:5098:22 | out : MultiKey [] : Object | Test.java:5098:9:5098:23 | getElement(...) | provenance | MaD:231 | +| Test.java:5103:16:5103:23 | source(...) : Object | Test.java:5104:23:5104:24 | in : Object | provenance | | +| Test.java:5104:10:5104:37 | new MultiKey<>(...) : MultiKey [] : Object | Test.java:5105:20:5105:22 | out : MultiKey [] : Object | provenance | | +| Test.java:5104:23:5104:24 | in : Object | Test.java:5104:10:5104:37 | new MultiKey<>(...) : MultiKey [] : Object | provenance | MaD:217 | +| Test.java:5105:20:5105:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | provenance | | +| Test.java:5105:20:5105:22 | out : MultiKey [] : Object | Test.java:5105:9:5105:23 | getElement(...) | provenance | MaD:231 | +| Test.java:5110:16:5110:23 | source(...) : Object | Test.java:5111:29:5111:30 | in : Object | provenance | | +| Test.java:5111:10:5111:37 | new MultiKey<>(...) : MultiKey [] : Object | Test.java:5112:20:5112:22 | out : MultiKey [] : Object | provenance | | +| Test.java:5111:29:5111:30 | in : Object | Test.java:5111:10:5111:37 | new MultiKey<>(...) : MultiKey [] : Object | provenance | MaD:218 | +| Test.java:5112:20:5112:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | provenance | | +| Test.java:5112:20:5112:22 | out : MultiKey [] : Object | Test.java:5112:9:5112:23 | getElement(...) | provenance | MaD:231 | +| Test.java:5117:16:5117:23 | source(...) : Object | Test.java:5118:35:5118:36 | in : Object | provenance | | +| Test.java:5118:10:5118:37 | new MultiKey<>(...) : MultiKey [] : Object | Test.java:5119:20:5119:22 | out : MultiKey [] : Object | provenance | | +| Test.java:5118:35:5118:36 | in : Object | Test.java:5118:10:5118:37 | new MultiKey<>(...) : MultiKey [] : Object | provenance | MaD:219 | +| Test.java:5119:20:5119:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | provenance | | +| Test.java:5119:20:5119:22 | out : MultiKey [] : Object | Test.java:5119:9:5119:23 | getElement(...) | provenance | MaD:231 | +| Test.java:5124:16:5124:23 | source(...) : Object | Test.java:5125:23:5125:24 | in : Object | provenance | | +| Test.java:5125:10:5125:43 | new MultiKey<>(...) : MultiKey [] : Object | Test.java:5126:20:5126:22 | out : MultiKey [] : Object | provenance | | +| Test.java:5125:23:5125:24 | in : Object | Test.java:5125:10:5125:43 | new MultiKey<>(...) : MultiKey [] : Object | provenance | MaD:220 | +| Test.java:5126:20:5126:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | provenance | | +| Test.java:5126:20:5126:22 | out : MultiKey [] : Object | Test.java:5126:9:5126:23 | getElement(...) | provenance | MaD:231 | +| Test.java:5131:16:5131:23 | source(...) : Object | Test.java:5132:29:5132:30 | in : Object | provenance | | +| Test.java:5132:10:5132:43 | new MultiKey<>(...) : MultiKey [] : Object | Test.java:5133:20:5133:22 | out : MultiKey [] : Object | provenance | | +| Test.java:5132:29:5132:30 | in : Object | Test.java:5132:10:5132:43 | new MultiKey<>(...) : MultiKey [] : Object | provenance | MaD:221 | +| Test.java:5133:20:5133:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | provenance | | +| Test.java:5133:20:5133:22 | out : MultiKey [] : Object | Test.java:5133:9:5133:23 | getElement(...) | provenance | MaD:231 | +| Test.java:5138:16:5138:23 | source(...) : Object | Test.java:5139:35:5139:36 | in : Object | provenance | | +| Test.java:5139:10:5139:43 | new MultiKey<>(...) : MultiKey [] : Object | Test.java:5140:20:5140:22 | out : MultiKey [] : Object | provenance | | +| Test.java:5139:35:5139:36 | in : Object | Test.java:5139:10:5139:43 | new MultiKey<>(...) : MultiKey [] : Object | provenance | MaD:222 | +| Test.java:5140:20:5140:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | provenance | | +| Test.java:5140:20:5140:22 | out : MultiKey [] : Object | Test.java:5140:9:5140:23 | getElement(...) | provenance | MaD:231 | +| Test.java:5145:16:5145:23 | source(...) : Object | Test.java:5146:41:5146:42 | in : Object | provenance | | +| Test.java:5146:10:5146:43 | new MultiKey<>(...) : MultiKey [] : Object | Test.java:5147:20:5147:22 | out : MultiKey [] : Object | provenance | | +| Test.java:5146:41:5146:42 | in : Object | Test.java:5146:10:5146:43 | new MultiKey<>(...) : MultiKey [] : Object | provenance | MaD:223 | +| Test.java:5147:20:5147:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | provenance | | +| Test.java:5147:20:5147:22 | out : MultiKey [] : Object | Test.java:5147:9:5147:23 | getElement(...) | provenance | MaD:231 | +| Test.java:5152:16:5152:23 | source(...) : Object | Test.java:5153:23:5153:24 | in : Object | provenance | | +| Test.java:5153:10:5153:49 | new MultiKey<>(...) : MultiKey [] : Object | Test.java:5154:20:5154:22 | out : MultiKey [] : Object | provenance | | +| Test.java:5153:23:5153:24 | in : Object | Test.java:5153:10:5153:49 | new MultiKey<>(...) : MultiKey [] : Object | provenance | MaD:224 | +| Test.java:5154:20:5154:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | provenance | | +| Test.java:5154:20:5154:22 | out : MultiKey [] : Object | Test.java:5154:9:5154:23 | getElement(...) | provenance | MaD:231 | +| Test.java:5159:16:5159:23 | source(...) : Object | Test.java:5160:29:5160:30 | in : Object | provenance | | +| Test.java:5160:10:5160:49 | new MultiKey<>(...) : MultiKey [] : Object | Test.java:5161:20:5161:22 | out : MultiKey [] : Object | provenance | | +| Test.java:5160:29:5160:30 | in : Object | Test.java:5160:10:5160:49 | new MultiKey<>(...) : MultiKey [] : Object | provenance | MaD:225 | +| Test.java:5161:20:5161:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | provenance | | +| Test.java:5161:20:5161:22 | out : MultiKey [] : Object | Test.java:5161:9:5161:23 | getElement(...) | provenance | MaD:231 | +| Test.java:5166:16:5166:23 | source(...) : Object | Test.java:5167:35:5167:36 | in : Object | provenance | | +| Test.java:5167:10:5167:49 | new MultiKey<>(...) : MultiKey [] : Object | Test.java:5168:20:5168:22 | out : MultiKey [] : Object | provenance | | +| Test.java:5167:35:5167:36 | in : Object | Test.java:5167:10:5167:49 | new MultiKey<>(...) : MultiKey [] : Object | provenance | MaD:226 | +| Test.java:5168:20:5168:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | provenance | | +| Test.java:5168:20:5168:22 | out : MultiKey [] : Object | Test.java:5168:9:5168:23 | getElement(...) | provenance | MaD:231 | +| Test.java:5173:16:5173:23 | source(...) : Object | Test.java:5174:41:5174:42 | in : Object | provenance | | +| Test.java:5174:10:5174:49 | new MultiKey<>(...) : MultiKey [] : Object | Test.java:5175:20:5175:22 | out : MultiKey [] : Object | provenance | | +| Test.java:5174:41:5174:42 | in : Object | Test.java:5174:10:5174:49 | new MultiKey<>(...) : MultiKey [] : Object | provenance | MaD:227 | +| Test.java:5175:20:5175:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | provenance | | +| Test.java:5175:20:5175:22 | out : MultiKey [] : Object | Test.java:5175:9:5175:23 | getElement(...) | provenance | MaD:231 | +| Test.java:5180:16:5180:23 | source(...) : Object | Test.java:5181:47:5181:48 | in : Object | provenance | | +| Test.java:5181:10:5181:49 | new MultiKey<>(...) : MultiKey [] : Object | Test.java:5182:20:5182:22 | out : MultiKey [] : Object | provenance | | +| Test.java:5181:47:5181:48 | in : Object | Test.java:5181:10:5181:49 | new MultiKey<>(...) : MultiKey [] : Object | provenance | MaD:228 | +| Test.java:5182:20:5182:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | provenance | | +| Test.java:5182:20:5182:22 | out : MultiKey [] : Object | Test.java:5182:9:5182:23 | getElement(...) | provenance | MaD:231 | +| Test.java:5187:18:5187:47 | {...} : Object[] [[]] : String | Test.java:5188:23:5188:24 | in : Object[] [[]] : String | provenance | | +| Test.java:5187:31:5187:46 | (...)... : String | Test.java:5187:18:5187:47 | {...} : Object[] [[]] : String | provenance | | +| Test.java:5187:39:5187:46 | source(...) : Object | Test.java:5187:31:5187:46 | (...)... : String | provenance | | +| Test.java:5188:10:5188:25 | new MultiKey<>(...) : MultiKey [] : String | Test.java:5189:20:5189:22 | out : MultiKey [] : String | provenance | | +| Test.java:5188:23:5188:24 | in : Object[] [[]] : String | Test.java:5188:10:5188:25 | new MultiKey<>(...) : MultiKey [] : String | provenance | MaD:229 | +| Test.java:5189:20:5189:22 | out : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | +| Test.java:5189:20:5189:22 | out : MultiKey [] : String | Test.java:5189:9:5189:23 | getElement(...) | provenance | MaD:231 | +| Test.java:5194:18:5194:47 | {...} : Object[] [[]] : String | Test.java:5195:23:5195:24 | in : Object[] [[]] : String | provenance | | +| Test.java:5194:31:5194:46 | (...)... : String | Test.java:5194:18:5194:47 | {...} : Object[] [[]] : String | provenance | | +| Test.java:5194:39:5194:46 | source(...) : Object | Test.java:5194:31:5194:46 | (...)... : String | provenance | | +| Test.java:5195:10:5195:32 | new MultiKey<>(...) : MultiKey [] : String | Test.java:5196:20:5196:22 | out : MultiKey [] : String | provenance | | +| Test.java:5195:23:5195:24 | in : Object[] [[]] : String | Test.java:5195:10:5195:32 | new MultiKey<>(...) : MultiKey [] : String | provenance | MaD:230 | +| Test.java:5196:20:5196:22 | out : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | +| Test.java:5196:20:5196:22 | out : MultiKey [] : String | Test.java:5196:9:5196:23 | getElement(...) | provenance | MaD:231 | +| Test.java:5201:18:5201:57 | newMultiKeyWithElement(...) : MultiKey [] : String | Test.java:5202:10:5202:11 | in : MultiKey [] : String | provenance | | +| Test.java:5201:41:5201:56 | (...)... : String | Test.java:261:41:261:49 | element : String | provenance | | +| Test.java:5201:41:5201:56 | (...)... : String | Test.java:5201:18:5201:57 | newMultiKeyWithElement(...) : MultiKey [] : String | provenance | MaD:215 | +| Test.java:5201:49:5201:56 | source(...) : Object | Test.java:5201:41:5201:56 | (...)... : String | provenance | | +| Test.java:5202:10:5202:11 | in : MultiKey [] : String | Test.java:5202:10:5202:21 | getKey(...) : String | provenance | MaD:231 | +| Test.java:5202:10:5202:21 | getKey(...) : String | Test.java:5203:9:5203:11 | out | provenance | | +| Test.java:5208:18:5208:57 | newMultiKeyWithElement(...) : MultiKey [] : String | Test.java:5209:10:5209:11 | in : MultiKey [] : String | provenance | | +| Test.java:5208:41:5208:56 | (...)... : String | Test.java:261:41:261:49 | element : String | provenance | | +| Test.java:5208:41:5208:56 | (...)... : String | Test.java:5208:18:5208:57 | newMultiKeyWithElement(...) : MultiKey [] : String | provenance | MaD:215 | +| Test.java:5208:49:5208:56 | source(...) : Object | Test.java:5208:41:5208:56 | (...)... : String | provenance | | +| Test.java:5209:10:5209:11 | in : MultiKey [] : String | Test.java:5209:10:5209:21 | getKeys(...) : Object[] [[]] : String | provenance | MaD:232 | +| Test.java:5209:10:5209:21 | getKeys(...) : Object[] [[]] : String | Test.java:5210:25:5210:27 | out : Object[] [[]] : String | provenance | | +| Test.java:5210:25:5210:27 | out : Object[] [[]] : String | Test.java:229:24:229:32 | array : Object[] [[]] : String | provenance | | +| Test.java:5210:25:5210:27 | out : Object[] [[]] : String | Test.java:5210:9:5210:28 | getArrayElement(...) | provenance | | +| Test.java:5215:20:5215:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:5216:35:5216:36 | in : TreeBag [] : String | provenance | | +| Test.java:5215:42:5215:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:5215:42:5215:57 | (...)... : String | Test.java:5215:20:5215:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:5215:42:5215:57 | (...)... : String | Test.java:5215:20:5215:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:5215:50:5215:57 | source(...) : Object | Test.java:5215:42:5215:57 | (...)... : String | provenance | | +| Test.java:5216:10:5216:37 | new MyAbstractLinkedList<>(...) : MyAbstractLinkedList [] : String | Test.java:5217:20:5217:22 | out : MyAbstractLinkedList [] : String | provenance | | +| Test.java:5216:35:5216:36 | in : TreeBag [] : String | Test.java:5216:10:5216:37 | new MyAbstractLinkedList<>(...) : MyAbstractLinkedList [] : String | provenance | MaD:241 | +| Test.java:5216:35:5216:36 | in : TreeBag [] : String | Test.java:7204:31:7204:64 | coll : TreeBag [] : String | provenance | | +| Test.java:5217:20:5217:22 | out : MyAbstractLinkedList [] : String | Test.java:230:19:230:32 | it : MyAbstractLinkedList [] : String | provenance | | +| Test.java:5217:20:5217:22 | out : MyAbstractLinkedList [] : String | Test.java:5217:9:5217:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5222:16:5222:23 | source(...) : Object | Test.java:5223:17:5223:18 | in : Object | provenance | | +| Test.java:5223:4:5223:6 | out [post update] : AbstractLinkedList [] : Object | Test.java:5224:20:5224:22 | out : AbstractLinkedList [] : Object | provenance | | +| Test.java:5223:17:5223:18 | in : Object | Test.java:5223:4:5223:6 | out [post update] : AbstractLinkedList [] : Object | provenance | MaD:242 | +| Test.java:5224:20:5224:22 | out : AbstractLinkedList [] : Object | Test.java:230:19:230:32 | it : AbstractLinkedList [] : Object | provenance | | +| Test.java:5224:20:5224:22 | out : AbstractLinkedList [] : Object | Test.java:5224:9:5224:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5229:16:5229:23 | source(...) : Object | Test.java:5230:16:5230:17 | in : Object | provenance | | +| Test.java:5230:4:5230:6 | out [post update] : AbstractLinkedList [] : Object | Test.java:5231:20:5231:22 | out : AbstractLinkedList [] : Object | provenance | | +| Test.java:5230:16:5230:17 | in : Object | Test.java:5230:4:5230:6 | out [post update] : AbstractLinkedList [] : Object | provenance | MaD:243 | +| Test.java:5231:20:5231:22 | out : AbstractLinkedList [] : Object | Test.java:230:19:230:32 | it : AbstractLinkedList [] : Object | provenance | | +| Test.java:5231:20:5231:22 | out : AbstractLinkedList [] : Object | Test.java:5231:9:5231:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5236:28:5236:79 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | Test.java:5237:10:5237:11 | in : CursorableLinkedList [] : String | provenance | | +| Test.java:5236:63:5236:78 | (...)... : String | Test.java:255:65:255:73 | element : String | provenance | | +| Test.java:5236:63:5236:78 | (...)... : String | Test.java:5236:28:5236:79 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | provenance | MaD:2 | +| Test.java:5236:71:5236:78 | source(...) : Object | Test.java:5236:63:5236:78 | (...)... : String | provenance | | +| Test.java:5237:10:5237:11 | in : CursorableLinkedList [] : String | Test.java:5237:10:5237:22 | getFirst(...) : String | provenance | MaD:244 | +| Test.java:5237:10:5237:22 | getFirst(...) : String | Test.java:5238:9:5238:11 | out | provenance | | +| Test.java:5243:28:5243:79 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | Test.java:5244:10:5244:11 | in : CursorableLinkedList [] : String | provenance | | +| Test.java:5243:63:5243:78 | (...)... : String | Test.java:255:65:255:73 | element : String | provenance | | +| Test.java:5243:63:5243:78 | (...)... : String | Test.java:5243:28:5243:79 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | provenance | MaD:2 | +| Test.java:5243:71:5243:78 | source(...) : Object | Test.java:5243:63:5243:78 | (...)... : String | provenance | | +| Test.java:5244:10:5244:11 | in : CursorableLinkedList [] : String | Test.java:5244:10:5244:21 | getLast(...) : String | provenance | MaD:245 | +| Test.java:5244:10:5244:21 | getLast(...) : String | Test.java:5245:9:5245:11 | out | provenance | | +| Test.java:5250:28:5250:79 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | Test.java:5251:10:5251:11 | in : CursorableLinkedList [] : String | provenance | | +| Test.java:5250:63:5250:78 | (...)... : String | Test.java:255:65:255:73 | element : String | provenance | | +| Test.java:5250:63:5250:78 | (...)... : String | Test.java:5250:28:5250:79 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | provenance | MaD:2 | +| Test.java:5250:71:5250:78 | source(...) : Object | Test.java:5250:63:5250:78 | (...)... : String | provenance | | +| Test.java:5251:10:5251:11 | in : CursorableLinkedList [] : String | Test.java:5251:10:5251:25 | removeFirst(...) : String | provenance | MaD:246 | +| Test.java:5251:10:5251:25 | removeFirst(...) : String | Test.java:5252:9:5252:11 | out | provenance | | +| Test.java:5257:28:5257:79 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | Test.java:5258:10:5258:11 | in : CursorableLinkedList [] : String | provenance | | +| Test.java:5257:63:5257:78 | (...)... : String | Test.java:255:65:255:73 | element : String | provenance | | +| Test.java:5257:63:5257:78 | (...)... : String | Test.java:5257:28:5257:79 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | provenance | MaD:2 | +| Test.java:5257:71:5257:78 | source(...) : Object | Test.java:5257:63:5257:78 | (...)... : String | provenance | | +| Test.java:5258:10:5258:11 | in : CursorableLinkedList [] : String | Test.java:5258:10:5258:24 | removeLast(...) : String | provenance | MaD:247 | +| Test.java:5258:10:5258:24 | removeLast(...) : String | Test.java:5259:9:5259:11 | out | provenance | | +| Test.java:5264:14:5264:38 | of(...) : List [] : String | Test.java:5265:38:5265:39 | in : List [] : String | provenance | | +| Test.java:5264:22:5264:37 | (...)... : String | Test.java:5264:14:5264:38 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:5264:30:5264:37 | source(...) : Object | Test.java:5264:22:5264:37 | (...)... : String | provenance | | +| Test.java:5265:10:5265:40 | new MyAbstractListDecorator<>(...) : MyAbstractListDecorator [] : String | Test.java:5266:20:5266:22 | out : MyAbstractListDecorator [] : String | provenance | | +| Test.java:5265:38:5265:39 | in : List [] : String | Test.java:5265:10:5265:40 | new MyAbstractListDecorator<>(...) : MyAbstractListDecorator [] : String | provenance | MaD:248 | +| Test.java:5265:38:5265:39 | in : List [] : String | Test.java:7210:34:7210:51 | list : List [] : String | provenance | | +| Test.java:5266:20:5266:22 | out : MyAbstractListDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractListDecorator [] : String | provenance | | +| Test.java:5266:20:5266:22 | out : MyAbstractListDecorator [] : String | Test.java:5266:9:5266:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5271:14:5271:38 | of(...) : List [] : String | Test.java:5272:50:5272:51 | in : List [] : String | provenance | | +| Test.java:5271:22:5271:37 | (...)... : String | Test.java:5271:14:5271:38 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:5271:30:5271:37 | source(...) : Object | Test.java:5271:22:5271:37 | (...)... : String | provenance | | +| Test.java:5272:10:5272:52 | new MyAbstractSerializableListDecorator<>(...) : MyAbstractSerializableListDecorator [] : String | Test.java:5273:20:5273:22 | out : MyAbstractSerializableListDecorator [] : String | provenance | | +| Test.java:5272:50:5272:51 | in : List [] : String | Test.java:5272:10:5272:52 | new MyAbstractSerializableListDecorator<>(...) : MyAbstractSerializableListDecorator [] : String | provenance | MaD:249 | +| Test.java:5272:50:5272:51 | in : List [] : String | Test.java:7216:46:7216:63 | list : List [] : String | provenance | | +| Test.java:5273:20:5273:22 | out : MyAbstractSerializableListDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractSerializableListDecorator [] : String | provenance | | +| Test.java:5273:20:5273:22 | out : MyAbstractSerializableListDecorator [] : String | Test.java:5273:9:5273:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5278:20:5278:44 | of(...) : List [] : String | Test.java:5279:35:5279:36 | in : List [] : String | provenance | | +| Test.java:5278:28:5278:43 | (...)... : String | Test.java:5278:20:5278:44 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:5278:36:5278:43 | source(...) : Object | Test.java:5278:28:5278:43 | (...)... : String | provenance | | +| Test.java:5279:10:5279:37 | new CursorableLinkedList<>(...) : CursorableLinkedList [] : String | Test.java:5280:20:5280:22 | out : CursorableLinkedList [] : String | provenance | | +| Test.java:5279:35:5279:36 | in : List [] : String | Test.java:5279:10:5279:37 | new CursorableLinkedList<>(...) : CursorableLinkedList [] : String | provenance | MaD:250 | +| Test.java:5280:20:5280:22 | out : CursorableLinkedList [] : String | Test.java:230:19:230:32 | it : CursorableLinkedList [] : String | provenance | | +| Test.java:5280:20:5280:22 | out : CursorableLinkedList [] : String | Test.java:5280:9:5280:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5285:30:5285:81 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | Test.java:5286:10:5286:11 | in : CursorableLinkedList [] : String | provenance | | +| Test.java:5285:65:5285:80 | (...)... : String | Test.java:255:65:255:73 | element : String | provenance | | +| Test.java:5285:65:5285:80 | (...)... : String | Test.java:5285:30:5285:81 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | provenance | MaD:2 | +| Test.java:5285:73:5285:80 | source(...) : Object | Test.java:5285:65:5285:80 | (...)... : String | provenance | | +| Test.java:5286:10:5286:11 | in : CursorableLinkedList [] : String | Test.java:5286:10:5286:21 | cursor(...) : Cursor [] : String | provenance | MaD:251 | +| Test.java:5286:10:5286:21 | cursor(...) : Cursor [] : String | Test.java:5287:20:5287:22 | out : Cursor [] : String | provenance | | +| Test.java:5287:20:5287:22 | out : Cursor [] : String | Test.java:231:19:231:32 | it : Cursor [] : String | provenance | | +| Test.java:5287:20:5287:22 | out : Cursor [] : String | Test.java:5287:9:5287:23 | getElement(...) | provenance | MaD:4 | +| Test.java:5292:30:5292:81 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | Test.java:5293:10:5293:11 | in : CursorableLinkedList [] : String | provenance | | +| Test.java:5292:65:5292:80 | (...)... : String | Test.java:255:65:255:73 | element : String | provenance | | +| Test.java:5292:65:5292:80 | (...)... : String | Test.java:5292:30:5292:81 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | provenance | MaD:2 | +| Test.java:5292:73:5292:80 | source(...) : Object | Test.java:5292:65:5292:80 | (...)... : String | provenance | | +| Test.java:5293:10:5293:11 | in : CursorableLinkedList [] : String | Test.java:5293:10:5293:20 | cursor(...) : Cursor [] : String | provenance | MaD:251 | +| Test.java:5293:10:5293:20 | cursor(...) : Cursor [] : String | Test.java:5294:20:5294:22 | out : Cursor [] : String | provenance | | +| Test.java:5294:20:5294:22 | out : Cursor [] : String | Test.java:231:19:231:32 | it : Cursor [] : String | provenance | | +| Test.java:5294:20:5294:22 | out : Cursor [] : String | Test.java:5294:9:5294:23 | getElement(...) | provenance | MaD:4 | +| Test.java:5299:14:5299:38 | of(...) : List [] : String | Test.java:5300:38:5300:39 | in : List [] : String | provenance | | +| Test.java:5299:22:5299:37 | (...)... : String | Test.java:5299:14:5299:38 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:5299:30:5299:37 | source(...) : Object | Test.java:5299:22:5299:37 | (...)... : String | provenance | | +| Test.java:5300:10:5300:40 | fixedSizeList(...) : FixedSizeList [] : String | Test.java:5301:20:5301:22 | out : FixedSizeList [] : String | provenance | | +| Test.java:5300:38:5300:39 | in : List [] : String | Test.java:5300:10:5300:40 | fixedSizeList(...) : FixedSizeList [] : String | provenance | MaD:252 | +| Test.java:5301:20:5301:22 | out : FixedSizeList [] : String | Test.java:230:19:230:32 | it : FixedSizeList [] : String | provenance | | +| Test.java:5301:20:5301:22 | out : FixedSizeList [] : String | Test.java:5301:9:5301:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5306:14:5306:38 | of(...) : List [] : String | Test.java:5307:32:5307:33 | in : List [] : String | provenance | | +| Test.java:5306:22:5306:37 | (...)... : String | Test.java:5306:14:5306:38 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:5306:30:5306:37 | source(...) : Object | Test.java:5306:22:5306:37 | (...)... : String | provenance | | +| Test.java:5307:10:5307:34 | growthList(...) : GrowthList [] : String | Test.java:5308:20:5308:22 | out : GrowthList [] : String | provenance | | +| Test.java:5307:32:5307:33 | in : List [] : String | Test.java:5307:10:5307:34 | growthList(...) : GrowthList [] : String | provenance | MaD:253 | +| Test.java:5308:20:5308:22 | out : GrowthList [] : String | Test.java:230:19:230:32 | it : GrowthList [] : String | provenance | | +| Test.java:5308:20:5308:22 | out : GrowthList [] : String | Test.java:5308:9:5308:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5313:14:5313:38 | of(...) : List [] : String | Test.java:5314:28:5314:29 | in : List [] : String | provenance | | +| Test.java:5313:22:5313:37 | (...)... : String | Test.java:5313:14:5313:38 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:5313:30:5313:37 | source(...) : Object | Test.java:5313:22:5313:37 | (...)... : String | provenance | | +| Test.java:5314:10:5314:49 | lazyList(...) : LazyList [] : String | Test.java:5315:20:5315:22 | out : LazyList [] : String | provenance | | +| Test.java:5314:28:5314:29 | in : List [] : String | Test.java:5314:10:5314:49 | lazyList(...) : LazyList [] : String | provenance | MaD:254 | +| Test.java:5315:20:5315:22 | out : LazyList [] : String | Test.java:230:19:230:32 | it : LazyList [] : String | provenance | | +| Test.java:5315:20:5315:22 | out : LazyList [] : String | Test.java:5315:9:5315:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5320:14:5320:38 | of(...) : List [] : String | Test.java:5321:28:5321:29 | in : List [] : String | provenance | | +| Test.java:5320:22:5320:37 | (...)... : String | Test.java:5320:14:5320:38 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:5320:30:5320:37 | source(...) : Object | Test.java:5320:22:5320:37 | (...)... : String | provenance | | +| Test.java:5321:10:5321:45 | lazyList(...) : LazyList [] : String | Test.java:5322:20:5322:22 | out : LazyList [] : String | provenance | | +| Test.java:5321:28:5321:29 | in : List [] : String | Test.java:5321:10:5321:45 | lazyList(...) : LazyList [] : String | provenance | MaD:254 | +| Test.java:5322:20:5322:22 | out : LazyList [] : String | Test.java:230:19:230:32 | it : LazyList [] : String | provenance | | +| Test.java:5322:20:5322:22 | out : LazyList [] : String | Test.java:5322:9:5322:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5327:20:5327:44 | of(...) : List [] : String | Test.java:5328:36:5328:37 | in : List [] : String | provenance | | +| Test.java:5327:28:5327:43 | (...)... : String | Test.java:5327:20:5327:44 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:5327:36:5327:43 | source(...) : Object | Test.java:5327:28:5327:43 | (...)... : String | provenance | | +| Test.java:5328:10:5328:38 | new NodeCachingLinkedList<>(...) : NodeCachingLinkedList [] : String | Test.java:5329:20:5329:22 | out : NodeCachingLinkedList [] : String | provenance | | +| Test.java:5328:36:5328:37 | in : List [] : String | Test.java:5328:10:5328:38 | new NodeCachingLinkedList<>(...) : NodeCachingLinkedList [] : String | provenance | MaD:255 | +| Test.java:5329:20:5329:22 | out : NodeCachingLinkedList [] : String | Test.java:230:19:230:32 | it : NodeCachingLinkedList [] : String | provenance | | +| Test.java:5329:20:5329:22 | out : NodeCachingLinkedList [] : String | Test.java:5329:9:5329:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5334:14:5334:38 | of(...) : List [] : String | Test.java:5335:40:5335:41 | in : List [] : String | provenance | | +| Test.java:5334:22:5334:37 | (...)... : String | Test.java:5334:14:5334:38 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:5334:30:5334:37 | source(...) : Object | Test.java:5334:22:5334:37 | (...)... : String | provenance | | +| Test.java:5335:10:5335:48 | predicatedList(...) : PredicatedList [] : String | Test.java:5336:20:5336:22 | out : PredicatedList [] : String | provenance | | +| Test.java:5335:40:5335:41 | in : List [] : String | Test.java:5335:10:5335:48 | predicatedList(...) : PredicatedList [] : String | provenance | MaD:256 | +| Test.java:5336:20:5336:22 | out : PredicatedList [] : String | Test.java:230:19:230:32 | it : PredicatedList [] : String | provenance | | +| Test.java:5336:20:5336:22 | out : PredicatedList [] : String | Test.java:5336:9:5336:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5341:23:5341:76 | setUniqueList(...) : SetUniqueList [] : String | Test.java:5342:10:5342:11 | in : SetUniqueList [] : String | provenance | | +| Test.java:5341:51:5341:75 | of(...) : List [] : String | Test.java:5341:23:5341:76 | setUniqueList(...) : SetUniqueList [] : String | provenance | MaD:258 | +| Test.java:5341:59:5341:74 | (...)... : String | Test.java:5341:51:5341:75 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:5341:67:5341:74 | source(...) : Object | Test.java:5341:59:5341:74 | (...)... : String | provenance | | +| Test.java:5342:10:5342:11 | in : SetUniqueList [] : String | Test.java:5342:10:5342:19 | asSet(...) : Set [] : String | provenance | MaD:257 | +| Test.java:5342:10:5342:19 | asSet(...) : Set [] : String | Test.java:5343:20:5343:22 | out : Set [] : String | provenance | | +| Test.java:5343:20:5343:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:5343:20:5343:22 | out : Set [] : String | Test.java:5343:9:5343:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5348:14:5348:38 | of(...) : List [] : String | Test.java:5349:38:5349:39 | in : List [] : String | provenance | | +| Test.java:5348:22:5348:37 | (...)... : String | Test.java:5348:14:5348:38 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:5348:30:5348:37 | source(...) : Object | Test.java:5348:22:5348:37 | (...)... : String | provenance | | +| Test.java:5349:10:5349:40 | setUniqueList(...) : SetUniqueList [] : String | Test.java:5350:20:5350:22 | out : SetUniqueList [] : String | provenance | | +| Test.java:5349:38:5349:39 | in : List [] : String | Test.java:5349:10:5349:40 | setUniqueList(...) : SetUniqueList [] : String | provenance | MaD:258 | +| Test.java:5350:20:5350:22 | out : SetUniqueList [] : String | Test.java:230:19:230:32 | it : SetUniqueList [] : String | provenance | | +| Test.java:5350:20:5350:22 | out : SetUniqueList [] : String | Test.java:5350:9:5350:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5355:14:5355:38 | of(...) : List [] : String | Test.java:5356:43:5356:44 | in : List [] : String | provenance | | +| Test.java:5355:22:5355:37 | (...)... : String | Test.java:5355:14:5355:38 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:5355:30:5355:37 | source(...) : Object | Test.java:5355:22:5355:37 | (...)... : String | provenance | | +| Test.java:5356:10:5356:51 | transformingList(...) : TransformedList [] : String | Test.java:5357:20:5357:22 | out : TransformedList [] : String | provenance | | +| Test.java:5356:43:5356:44 | in : List [] : String | Test.java:5356:10:5356:51 | transformingList(...) : TransformedList [] : String | provenance | MaD:259 | +| Test.java:5357:20:5357:22 | out : TransformedList [] : String | Test.java:230:19:230:32 | it : TransformedList [] : String | provenance | | +| Test.java:5357:20:5357:22 | out : TransformedList [] : String | Test.java:5357:9:5357:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5362:20:5362:44 | of(...) : List [] : String | Test.java:5363:23:5363:24 | in : List [] : String | provenance | | +| Test.java:5362:28:5362:43 | (...)... : String | Test.java:5362:20:5362:44 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:5362:36:5362:43 | source(...) : Object | Test.java:5362:28:5362:43 | (...)... : String | provenance | | +| Test.java:5363:10:5363:25 | new TreeList<>(...) : TreeList [] : String | Test.java:5364:20:5364:22 | out : TreeList [] : String | provenance | | +| Test.java:5363:23:5363:24 | in : List [] : String | Test.java:5363:10:5363:25 | new TreeList<>(...) : TreeList [] : String | provenance | MaD:260 | +| Test.java:5364:20:5364:22 | out : TreeList [] : String | Test.java:230:19:230:32 | it : TreeList [] : String | provenance | | +| Test.java:5364:20:5364:22 | out : TreeList [] : String | Test.java:5364:9:5364:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5369:14:5369:38 | of(...) : List [] : String | Test.java:5370:31:5370:32 | in : List [] : String | provenance | | +| Test.java:5369:22:5369:37 | (...)... : String | Test.java:5369:14:5369:38 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:5369:30:5369:37 | source(...) : Object | Test.java:5369:22:5369:37 | (...)... : String | provenance | | +| Test.java:5370:10:5370:33 | new UnmodifiableList<>(...) : UnmodifiableList [] : String | Test.java:5371:20:5371:22 | out : UnmodifiableList [] : String | provenance | | +| Test.java:5370:31:5370:32 | in : List [] : String | Test.java:5370:10:5370:33 | new UnmodifiableList<>(...) : UnmodifiableList [] : String | provenance | MaD:261 | +| Test.java:5371:20:5371:22 | out : UnmodifiableList [] : String | Test.java:230:19:230:32 | it : UnmodifiableList [] : String | provenance | | +| Test.java:5371:20:5371:22 | out : UnmodifiableList [] : String | Test.java:5371:9:5371:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5376:14:5376:38 | of(...) : List [] : String | Test.java:5377:44:5377:45 | in : List [] : String | provenance | | +| Test.java:5376:22:5376:37 | (...)... : String | Test.java:5376:14:5376:38 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:5376:30:5376:37 | source(...) : Object | Test.java:5376:22:5376:37 | (...)... : String | provenance | | +| Test.java:5377:10:5377:46 | unmodifiableList(...) : List [] : String | Test.java:5378:20:5378:22 | out : List [] : String | provenance | | +| Test.java:5377:44:5377:45 | in : List [] : String | Test.java:5377:10:5377:46 | unmodifiableList(...) : List [] : String | provenance | MaD:262 | +| Test.java:5378:20:5378:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:5378:20:5378:22 | out : List [] : String | Test.java:5378:9:5378:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5383:13:5383:42 | of(...) : Map [] : String | Test.java:5384:34:5384:35 | in : Map [] : String | provenance | | +| Test.java:5383:20:5383:35 | (...)... : String | Test.java:5383:13:5383:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5383:28:5383:35 | source(...) : Object | Test.java:5383:20:5383:35 | (...)... : String | provenance | | +| Test.java:5384:10:5384:36 | new MyAbstractHashedMap<>(...) : MyAbstractHashedMap [] : String | Test.java:5385:19:5385:21 | out : MyAbstractHashedMap [] : String | provenance | | +| Test.java:5384:34:5384:35 | in : Map [] : String | Test.java:5384:10:5384:36 | new MyAbstractHashedMap<>(...) : MyAbstractHashedMap [] : String | provenance | MaD:263 | +| Test.java:5384:34:5384:35 | in : Map [] : String | Test.java:7222:30:7222:68 | map : Map [] : String | provenance | | +| Test.java:5385:19:5385:21 | out : MyAbstractHashedMap [] : String | Test.java:228:18:228:29 | map : MyAbstractHashedMap [] : String | provenance | | +| Test.java:5385:19:5385:21 | out : MyAbstractHashedMap [] : String | Test.java:5385:9:5385:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5390:13:5390:42 | of(...) : Map [] : String | Test.java:5391:34:5391:35 | in : Map [] : String | provenance | | +| Test.java:5390:26:5390:41 | (...)... : String | Test.java:5390:13:5390:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5390:34:5390:41 | source(...) : Object | Test.java:5390:26:5390:41 | (...)... : String | provenance | | +| Test.java:5391:10:5391:36 | new MyAbstractHashedMap<>(...) : MyAbstractHashedMap [] : String | Test.java:5392:21:5392:23 | out : MyAbstractHashedMap [] : String | provenance | | +| Test.java:5391:34:5391:35 | in : Map [] : String | Test.java:5391:10:5391:36 | new MyAbstractHashedMap<>(...) : MyAbstractHashedMap [] : String | provenance | MaD:264 | +| Test.java:5391:34:5391:35 | in : Map [] : String | Test.java:7222:30:7222:68 | map : Map [] : String | provenance | | +| Test.java:5392:21:5392:23 | out : MyAbstractHashedMap [] : String | Test.java:232:20:232:31 | map : MyAbstractHashedMap [] : String | provenance | | +| Test.java:5392:21:5392:23 | out : MyAbstractHashedMap [] : String | Test.java:5392:9:5392:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5397:13:5397:42 | of(...) : Map [] : String | Test.java:5398:34:5398:35 | in : Map [] : String | provenance | | +| Test.java:5397:20:5397:35 | (...)... : String | Test.java:5397:13:5397:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5397:28:5397:35 | source(...) : Object | Test.java:5397:20:5397:35 | (...)... : String | provenance | | +| Test.java:5398:10:5398:36 | new MyAbstractLinkedMap<>(...) : MyAbstractLinkedMap [] : String | Test.java:5399:19:5399:21 | out : MyAbstractLinkedMap [] : String | provenance | | +| Test.java:5398:34:5398:35 | in : Map [] : String | Test.java:5398:10:5398:36 | new MyAbstractLinkedMap<>(...) : MyAbstractLinkedMap [] : String | provenance | MaD:265 | +| Test.java:5398:34:5398:35 | in : Map [] : String | Test.java:7228:30:7228:68 | map : Map [] : String | provenance | | +| Test.java:5399:19:5399:21 | out : MyAbstractLinkedMap [] : String | Test.java:228:18:228:29 | map : MyAbstractLinkedMap [] : String | provenance | | +| Test.java:5399:19:5399:21 | out : MyAbstractLinkedMap [] : String | Test.java:5399:9:5399:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5404:13:5404:42 | of(...) : Map [] : String | Test.java:5405:34:5405:35 | in : Map [] : String | provenance | | +| Test.java:5404:26:5404:41 | (...)... : String | Test.java:5404:13:5404:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5404:34:5404:41 | source(...) : Object | Test.java:5404:26:5404:41 | (...)... : String | provenance | | +| Test.java:5405:10:5405:36 | new MyAbstractLinkedMap<>(...) : MyAbstractLinkedMap [] : String | Test.java:5406:21:5406:23 | out : MyAbstractLinkedMap [] : String | provenance | | +| Test.java:5405:34:5405:35 | in : Map [] : String | Test.java:5405:10:5405:36 | new MyAbstractLinkedMap<>(...) : MyAbstractLinkedMap [] : String | provenance | MaD:266 | +| Test.java:5405:34:5405:35 | in : Map [] : String | Test.java:7228:30:7228:68 | map : Map [] : String | provenance | | +| Test.java:5406:21:5406:23 | out : MyAbstractLinkedMap [] : String | Test.java:232:20:232:31 | map : MyAbstractLinkedMap [] : String | provenance | | +| Test.java:5406:21:5406:23 | out : MyAbstractLinkedMap [] : String | Test.java:5406:9:5406:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5411:13:5411:42 | of(...) : Map [] : String | Test.java:5412:37:5412:38 | in : Map [] : String | provenance | | +| Test.java:5411:20:5411:35 | (...)... : String | Test.java:5411:13:5411:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5411:28:5411:35 | source(...) : Object | Test.java:5411:20:5411:35 | (...)... : String | provenance | | +| Test.java:5412:10:5412:39 | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | Test.java:5413:19:5413:21 | out : MyAbstractMapDecorator [] : String | provenance | | +| Test.java:5412:37:5412:38 | in : Map [] : String | Test.java:5412:10:5412:39 | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | provenance | MaD:267 | +| Test.java:5412:37:5412:38 | in : Map [] : String | Test.java:7234:33:7234:51 | map : Map [] : String | provenance | | +| Test.java:5413:19:5413:21 | out : MyAbstractMapDecorator [] : String | Test.java:228:18:228:29 | map : MyAbstractMapDecorator [] : String | provenance | | +| Test.java:5413:19:5413:21 | out : MyAbstractMapDecorator [] : String | Test.java:5413:9:5413:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5418:13:5418:42 | of(...) : Map [] : String | Test.java:5419:37:5419:38 | in : Map [] : String | provenance | | +| Test.java:5418:26:5418:41 | (...)... : String | Test.java:5418:13:5418:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5418:34:5418:41 | source(...) : Object | Test.java:5418:26:5418:41 | (...)... : String | provenance | | +| Test.java:5419:10:5419:39 | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | Test.java:5420:21:5420:23 | out : MyAbstractMapDecorator [] : String | provenance | | +| Test.java:5419:37:5419:38 | in : Map [] : String | Test.java:5419:10:5419:39 | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | provenance | MaD:268 | +| Test.java:5419:37:5419:38 | in : Map [] : String | Test.java:7234:33:7234:51 | map : Map [] : String | provenance | | +| Test.java:5420:21:5420:23 | out : MyAbstractMapDecorator [] : String | Test.java:232:20:232:31 | map : MyAbstractMapDecorator [] : String | provenance | | +| Test.java:5420:21:5420:23 | out : MyAbstractMapDecorator [] : String | Test.java:5420:9:5420:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5425:32:5425:89 | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | Test.java:5426:10:5426:11 | in : MyAbstractMapDecorator [] : String | provenance | | +| Test.java:5425:59:5425:88 | of(...) : Map [] : String | Test.java:5425:32:5425:89 | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | provenance | MaD:267 | +| Test.java:5425:59:5425:88 | of(...) : Map [] : String | Test.java:7234:33:7234:51 | map : Map [] : String | provenance | | +| Test.java:5425:66:5425:81 | (...)... : String | Test.java:5425:59:5425:88 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5425:74:5425:81 | source(...) : Object | Test.java:5425:66:5425:81 | (...)... : String | provenance | | +| Test.java:5426:10:5426:11 | in : MyAbstractMapDecorator [] : String | Test.java:5426:10:5426:25 | myDecorated(...) : Map [] : String | provenance | MaD:269 | +| Test.java:5426:10:5426:11 | in : MyAbstractMapDecorator [] : String | Test.java:7237:20:7237:30 | parameter this : MyAbstractMapDecorator [] : String | provenance | | +| Test.java:5426:10:5426:25 | myDecorated(...) : Map [] : String | Test.java:5427:19:5427:21 | out : Map [] : String | provenance | | +| Test.java:5427:19:5427:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:5427:19:5427:21 | out : Map [] : String | Test.java:5427:9:5427:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5432:32:5432:89 | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | Test.java:5433:10:5433:11 | in : MyAbstractMapDecorator [] : String | provenance | | +| Test.java:5432:59:5432:88 | of(...) : Map [] : String | Test.java:5432:32:5432:89 | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | provenance | MaD:268 | +| Test.java:5432:59:5432:88 | of(...) : Map [] : String | Test.java:7234:33:7234:51 | map : Map [] : String | provenance | | +| Test.java:5432:72:5432:87 | (...)... : String | Test.java:5432:59:5432:88 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5432:80:5432:87 | source(...) : Object | Test.java:5432:72:5432:87 | (...)... : String | provenance | | +| Test.java:5433:10:5433:11 | in : MyAbstractMapDecorator [] : String | Test.java:5433:10:5433:25 | myDecorated(...) : Map [] : String | provenance | MaD:270 | +| Test.java:5433:10:5433:11 | in : MyAbstractMapDecorator [] : String | Test.java:7237:20:7237:30 | parameter this : MyAbstractMapDecorator [] : String | provenance | | +| Test.java:5433:10:5433:25 | myDecorated(...) : Map [] : String | Test.java:5434:21:5434:23 | out : Map [] : String | provenance | | +| Test.java:5434:21:5434:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | provenance | | +| Test.java:5434:21:5434:23 | out : Map [] : String | Test.java:5434:9:5434:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5439:20:5439:64 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | Test.java:5440:44:5440:45 | in : ListOrderedMap [] : String | provenance | | +| Test.java:5439:48:5439:63 | (...)... : String | Test.java:277:59:277:63 | key : String | provenance | | +| Test.java:5439:48:5439:63 | (...)... : String | Test.java:5439:20:5439:64 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | provenance | MaD:11 | +| Test.java:5439:56:5439:63 | source(...) : Object | Test.java:5439:48:5439:63 | (...)... : String | provenance | | +| Test.java:5440:10:5440:46 | new MyAbstractOrderedMapDecorator<>(...) : MyAbstractOrderedMapDecorator [] : String | Test.java:5441:19:5441:21 | out : MyAbstractOrderedMapDecorator [] : String | provenance | | +| Test.java:5440:44:5440:45 | in : ListOrderedMap [] : String | Test.java:5440:10:5440:46 | new MyAbstractOrderedMapDecorator<>(...) : MyAbstractOrderedMapDecorator [] : String | provenance | MaD:271 | +| Test.java:5440:44:5440:45 | in : ListOrderedMap [] : String | Test.java:7092:40:7092:65 | map : ListOrderedMap [] : String | provenance | | +| Test.java:5441:19:5441:21 | out : MyAbstractOrderedMapDecorator [] : String | Test.java:228:18:228:29 | map : MyAbstractOrderedMapDecorator [] : String | provenance | | +| Test.java:5441:19:5441:21 | out : MyAbstractOrderedMapDecorator [] : String | Test.java:5441:9:5441:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5446:20:5446:66 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | Test.java:5447:44:5447:45 | in : ListOrderedMap [] : String | provenance | | +| Test.java:5446:50:5446:65 | (...)... : String | Test.java:296:61:296:67 | value : String | provenance | | +| Test.java:5446:50:5446:65 | (...)... : String | Test.java:5446:20:5446:66 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | provenance | MaD:12 | +| Test.java:5446:58:5446:65 | source(...) : Object | Test.java:5446:50:5446:65 | (...)... : String | provenance | | +| Test.java:5447:10:5447:46 | new MyAbstractOrderedMapDecorator<>(...) : MyAbstractOrderedMapDecorator [] : String | Test.java:5448:21:5448:23 | out : MyAbstractOrderedMapDecorator [] : String | provenance | | +| Test.java:5447:44:5447:45 | in : ListOrderedMap [] : String | Test.java:5447:10:5447:46 | new MyAbstractOrderedMapDecorator<>(...) : MyAbstractOrderedMapDecorator [] : String | provenance | MaD:272 | +| Test.java:5447:44:5447:45 | in : ListOrderedMap [] : String | Test.java:7092:40:7092:65 | map : ListOrderedMap [] : String | provenance | | +| Test.java:5448:21:5448:23 | out : MyAbstractOrderedMapDecorator [] : String | Test.java:232:20:232:31 | map : MyAbstractOrderedMapDecorator [] : String | provenance | | +| Test.java:5448:21:5448:23 | out : MyAbstractOrderedMapDecorator [] : String | Test.java:5448:9:5448:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5453:19:5453:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:5454:43:5454:44 | in : TreeMap [] : String | provenance | | +| Test.java:5453:40:5453:55 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:5453:40:5453:55 | (...)... : String | Test.java:5453:19:5453:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:5453:48:5453:55 | source(...) : Object | Test.java:5453:40:5453:55 | (...)... : String | provenance | | +| Test.java:5454:10:5454:45 | new MyAbstractSortedMapDecorator<>(...) : MyAbstractSortedMapDecorator [] : String | Test.java:5455:19:5455:21 | out : MyAbstractSortedMapDecorator [] : String | provenance | | +| Test.java:5454:43:5454:44 | in : TreeMap [] : String | Test.java:5454:10:5454:45 | new MyAbstractSortedMapDecorator<>(...) : MyAbstractSortedMapDecorator [] : String | provenance | MaD:273 | +| Test.java:5454:43:5454:44 | in : TreeMap [] : String | Test.java:7098:39:7098:63 | map : TreeMap [] : String | provenance | | +| Test.java:5455:19:5455:21 | out : MyAbstractSortedMapDecorator [] : String | Test.java:228:18:228:29 | map : MyAbstractSortedMapDecorator [] : String | provenance | | +| Test.java:5455:19:5455:21 | out : MyAbstractSortedMapDecorator [] : String | Test.java:5455:9:5455:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5460:19:5460:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:5461:43:5461:44 | in : TreeMap [] : String | provenance | | +| Test.java:5460:42:5460:57 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:5460:42:5460:57 | (...)... : String | Test.java:5460:19:5460:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:5460:50:5460:57 | source(...) : Object | Test.java:5460:42:5460:57 | (...)... : String | provenance | | +| Test.java:5461:10:5461:45 | new MyAbstractSortedMapDecorator<>(...) : MyAbstractSortedMapDecorator [] : String | Test.java:5462:21:5462:23 | out : MyAbstractSortedMapDecorator [] : String | provenance | | +| Test.java:5461:43:5461:44 | in : TreeMap [] : String | Test.java:5461:10:5461:45 | new MyAbstractSortedMapDecorator<>(...) : MyAbstractSortedMapDecorator [] : String | provenance | MaD:274 | +| Test.java:5461:43:5461:44 | in : TreeMap [] : String | Test.java:7098:39:7098:63 | map : TreeMap [] : String | provenance | | +| Test.java:5462:21:5462:23 | out : MyAbstractSortedMapDecorator [] : String | Test.java:232:20:232:31 | map : MyAbstractSortedMapDecorator [] : String | provenance | | +| Test.java:5462:21:5462:23 | out : MyAbstractSortedMapDecorator [] : String | Test.java:5462:9:5462:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5467:13:5467:42 | of(...) : Map [] : String | Test.java:5468:33:5468:34 | in : Map [] : String | provenance | | +| Test.java:5467:20:5467:35 | (...)... : String | Test.java:5467:13:5467:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5467:28:5467:35 | source(...) : Object | Test.java:5467:20:5467:35 | (...)... : String | provenance | | +| Test.java:5468:10:5468:35 | new CaseInsensitiveMap<>(...) : CaseInsensitiveMap [] : String | Test.java:5469:19:5469:21 | out : CaseInsensitiveMap [] : String | provenance | | +| Test.java:5468:33:5468:34 | in : Map [] : String | Test.java:5468:10:5468:35 | new CaseInsensitiveMap<>(...) : CaseInsensitiveMap [] : String | provenance | MaD:275 | +| Test.java:5469:19:5469:21 | out : CaseInsensitiveMap [] : String | Test.java:228:18:228:29 | map : CaseInsensitiveMap [] : String | provenance | | +| Test.java:5469:19:5469:21 | out : CaseInsensitiveMap [] : String | Test.java:5469:9:5469:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5474:13:5474:42 | of(...) : Map [] : String | Test.java:5475:33:5475:34 | in : Map [] : String | provenance | | +| Test.java:5474:26:5474:41 | (...)... : String | Test.java:5474:13:5474:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5474:34:5474:41 | source(...) : Object | Test.java:5474:26:5474:41 | (...)... : String | provenance | | +| Test.java:5475:10:5475:35 | new CaseInsensitiveMap<>(...) : CaseInsensitiveMap [] : String | Test.java:5476:21:5476:23 | out : CaseInsensitiveMap [] : String | provenance | | +| Test.java:5475:33:5475:34 | in : Map [] : String | Test.java:5475:10:5475:35 | new CaseInsensitiveMap<>(...) : CaseInsensitiveMap [] : String | provenance | MaD:276 | +| Test.java:5476:21:5476:23 | out : CaseInsensitiveMap [] : String | Test.java:232:20:232:31 | map : CaseInsensitiveMap [] : String | provenance | | +| Test.java:5476:21:5476:23 | out : CaseInsensitiveMap [] : String | Test.java:5476:9:5476:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5481:13:5481:42 | of(...) : Map [] : String | Test.java:5482:27:5482:28 | in : Map [] : String | provenance | | +| Test.java:5481:20:5481:35 | (...)... : String | Test.java:5481:13:5481:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5481:28:5481:35 | source(...) : Object | Test.java:5481:20:5481:35 | (...)... : String | provenance | | +| Test.java:5482:10:5482:40 | new CompositeMap<>(...) : CompositeMap [] : String | Test.java:5483:19:5483:21 | out : CompositeMap [] : String | provenance | | +| Test.java:5482:27:5482:28 | in : Map [] : String | Test.java:5482:10:5482:40 | new CompositeMap<>(...) : CompositeMap [] : String | provenance | MaD:277 | +| Test.java:5483:19:5483:21 | out : CompositeMap [] : String | Test.java:228:18:228:29 | map : CompositeMap [] : String | provenance | | +| Test.java:5483:19:5483:21 | out : CompositeMap [] : String | Test.java:5483:9:5483:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5488:13:5488:42 | of(...) : Map [] : String | Test.java:5489:38:5489:39 | in : Map [] : String | provenance | | +| Test.java:5488:20:5488:35 | (...)... : String | Test.java:5488:13:5488:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5488:28:5488:35 | source(...) : Object | Test.java:5488:20:5488:35 | (...)... : String | provenance | | +| Test.java:5489:10:5489:40 | new CompositeMap<>(...) : CompositeMap [] : String | Test.java:5490:19:5490:21 | out : CompositeMap [] : String | provenance | | +| Test.java:5489:38:5489:39 | in : Map [] : String | Test.java:5489:10:5489:40 | new CompositeMap<>(...) : CompositeMap [] : String | provenance | MaD:279 | +| Test.java:5490:19:5490:21 | out : CompositeMap [] : String | Test.java:228:18:228:29 | map : CompositeMap [] : String | provenance | | +| Test.java:5490:19:5490:21 | out : CompositeMap [] : String | Test.java:5490:9:5490:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5495:13:5495:42 | of(...) : Map [] : String | Test.java:5496:27:5496:28 | in : Map [] : String | provenance | | +| Test.java:5495:26:5495:41 | (...)... : String | Test.java:5495:13:5495:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5495:34:5495:41 | source(...) : Object | Test.java:5495:26:5495:41 | (...)... : String | provenance | | +| Test.java:5496:10:5496:40 | new CompositeMap<>(...) : CompositeMap [] : String | Test.java:5497:21:5497:23 | out : CompositeMap [] : String | provenance | | +| Test.java:5496:27:5496:28 | in : Map [] : String | Test.java:5496:10:5496:40 | new CompositeMap<>(...) : CompositeMap [] : String | provenance | MaD:278 | +| Test.java:5497:21:5497:23 | out : CompositeMap [] : String | Test.java:232:20:232:31 | map : CompositeMap [] : String | provenance | | +| Test.java:5497:21:5497:23 | out : CompositeMap [] : String | Test.java:5497:9:5497:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5502:13:5502:42 | of(...) : Map [] : String | Test.java:5503:38:5503:39 | in : Map [] : String | provenance | | +| Test.java:5502:26:5502:41 | (...)... : String | Test.java:5502:13:5502:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5502:34:5502:41 | source(...) : Object | Test.java:5502:26:5502:41 | (...)... : String | provenance | | +| Test.java:5503:10:5503:40 | new CompositeMap<>(...) : CompositeMap [] : String | Test.java:5504:21:5504:23 | out : CompositeMap [] : String | provenance | | +| Test.java:5503:38:5503:39 | in : Map [] : String | Test.java:5503:10:5503:40 | new CompositeMap<>(...) : CompositeMap [] : String | provenance | MaD:280 | +| Test.java:5504:21:5504:23 | out : CompositeMap [] : String | Test.java:232:20:232:31 | map : CompositeMap [] : String | provenance | | +| Test.java:5504:21:5504:23 | out : CompositeMap [] : String | Test.java:5504:9:5504:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5509:13:5509:42 | of(...) : Map [] : String | Test.java:5510:27:5510:28 | in : Map [] : String | provenance | | +| Test.java:5509:20:5509:35 | (...)... : String | Test.java:5509:13:5509:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5509:28:5509:35 | source(...) : Object | Test.java:5509:20:5509:35 | (...)... : String | provenance | | +| Test.java:5510:10:5510:41 | new CompositeMap<>(...) : CompositeMap [] : String | Test.java:5511:19:5511:21 | out : CompositeMap [] : String | provenance | | +| Test.java:5510:27:5510:28 | in : Map [] : String | Test.java:5510:10:5510:41 | new CompositeMap<>(...) : CompositeMap [] : String | provenance | MaD:281 | +| Test.java:5511:19:5511:21 | out : CompositeMap [] : String | Test.java:228:18:228:29 | map : CompositeMap [] : String | provenance | | +| Test.java:5511:19:5511:21 | out : CompositeMap [] : String | Test.java:5511:9:5511:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5516:13:5516:42 | of(...) : Map [] : String | Test.java:5517:33:5517:34 | in : Map [] : String | provenance | | +| Test.java:5516:20:5516:35 | (...)... : String | Test.java:5516:13:5516:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5516:28:5516:35 | source(...) : Object | Test.java:5516:20:5516:35 | (...)... : String | provenance | | +| Test.java:5517:10:5517:41 | new CompositeMap<>(...) : CompositeMap [] : String | Test.java:5518:19:5518:21 | out : CompositeMap [] : String | provenance | | +| Test.java:5517:33:5517:34 | in : Map [] : String | Test.java:5517:10:5517:41 | new CompositeMap<>(...) : CompositeMap [] : String | provenance | MaD:283 | +| Test.java:5518:19:5518:21 | out : CompositeMap [] : String | Test.java:228:18:228:29 | map : CompositeMap [] : String | provenance | | +| Test.java:5518:19:5518:21 | out : CompositeMap [] : String | Test.java:5518:9:5518:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5523:13:5523:42 | of(...) : Map [] : String | Test.java:5524:27:5524:28 | in : Map [] : String | provenance | | +| Test.java:5523:26:5523:41 | (...)... : String | Test.java:5523:13:5523:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5523:34:5523:41 | source(...) : Object | Test.java:5523:26:5523:41 | (...)... : String | provenance | | +| Test.java:5524:10:5524:41 | new CompositeMap<>(...) : CompositeMap [] : String | Test.java:5525:21:5525:23 | out : CompositeMap [] : String | provenance | | +| Test.java:5524:27:5524:28 | in : Map [] : String | Test.java:5524:10:5524:41 | new CompositeMap<>(...) : CompositeMap [] : String | provenance | MaD:282 | +| Test.java:5525:21:5525:23 | out : CompositeMap [] : String | Test.java:232:20:232:31 | map : CompositeMap [] : String | provenance | | +| Test.java:5525:21:5525:23 | out : CompositeMap [] : String | Test.java:5525:9:5525:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5530:13:5530:42 | of(...) : Map [] : String | Test.java:5531:33:5531:34 | in : Map [] : String | provenance | | +| Test.java:5530:26:5530:41 | (...)... : String | Test.java:5530:13:5530:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5530:34:5530:41 | source(...) : Object | Test.java:5530:26:5530:41 | (...)... : String | provenance | | +| Test.java:5531:10:5531:41 | new CompositeMap<>(...) : CompositeMap [] : String | Test.java:5532:21:5532:23 | out : CompositeMap [] : String | provenance | | +| Test.java:5531:33:5531:34 | in : Map [] : String | Test.java:5531:10:5531:41 | new CompositeMap<>(...) : CompositeMap [] : String | provenance | MaD:284 | +| Test.java:5532:21:5532:23 | out : CompositeMap [] : String | Test.java:232:20:232:31 | map : CompositeMap [] : String | provenance | | +| Test.java:5532:21:5532:23 | out : CompositeMap [] : String | Test.java:5532:9:5532:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5537:15:5537:55 | {...} : Map[] [[], ] : String | Test.java:5538:27:5538:28 | in : Map[] [[], ] : String | provenance | | +| Test.java:5537:25:5537:54 | of(...) : Map [] : String | Test.java:5537:15:5537:55 | {...} : Map[] [[], ] : String | provenance | | +| Test.java:5537:32:5537:47 | (...)... : String | Test.java:5537:25:5537:54 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5537:40:5537:47 | source(...) : Object | Test.java:5537:32:5537:47 | (...)... : String | provenance | | +| Test.java:5538:10:5538:29 | new CompositeMap<>(...) : CompositeMap [] : String | Test.java:5539:19:5539:21 | out : CompositeMap [] : String | provenance | | +| Test.java:5538:27:5538:28 | in : Map[] [[], ] : String | Test.java:5538:10:5538:29 | new CompositeMap<>(...) : CompositeMap [] : String | provenance | MaD:285 | +| Test.java:5539:19:5539:21 | out : CompositeMap [] : String | Test.java:228:18:228:29 | map : CompositeMap [] : String | provenance | | +| Test.java:5539:19:5539:21 | out : CompositeMap [] : String | Test.java:5539:9:5539:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5544:15:5544:55 | {...} : Map[] [[], ] : String | Test.java:5545:27:5545:28 | in : Map[] [[], ] : String | provenance | | +| Test.java:5544:25:5544:54 | of(...) : Map [] : String | Test.java:5544:15:5544:55 | {...} : Map[] [[], ] : String | provenance | | +| Test.java:5544:38:5544:53 | (...)... : String | Test.java:5544:25:5544:54 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5544:46:5544:53 | source(...) : Object | Test.java:5544:38:5544:53 | (...)... : String | provenance | | +| Test.java:5545:10:5545:29 | new CompositeMap<>(...) : CompositeMap [] : String | Test.java:5546:21:5546:23 | out : CompositeMap [] : String | provenance | | +| Test.java:5545:27:5545:28 | in : Map[] [[], ] : String | Test.java:5545:10:5545:29 | new CompositeMap<>(...) : CompositeMap [] : String | provenance | MaD:286 | +| Test.java:5546:21:5546:23 | out : CompositeMap [] : String | Test.java:232:20:232:31 | map : CompositeMap [] : String | provenance | | +| Test.java:5546:21:5546:23 | out : CompositeMap [] : String | Test.java:5546:9:5546:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5551:15:5551:55 | {...} : Map[] [[], ] : String | Test.java:5552:27:5552:28 | in : Map[] [[], ] : String | provenance | | +| Test.java:5551:25:5551:54 | of(...) : Map [] : String | Test.java:5551:15:5551:55 | {...} : Map[] [[], ] : String | provenance | | +| Test.java:5551:32:5551:47 | (...)... : String | Test.java:5551:25:5551:54 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5551:40:5551:47 | source(...) : Object | Test.java:5551:32:5551:47 | (...)... : String | provenance | | +| Test.java:5552:10:5552:60 | new CompositeMap<>(...) : CompositeMap [] : String | Test.java:5553:19:5553:21 | out : CompositeMap [] : String | provenance | | +| Test.java:5552:27:5552:28 | in : Map[] [[], ] : String | Test.java:5552:10:5552:60 | new CompositeMap<>(...) : CompositeMap [] : String | provenance | MaD:287 | +| Test.java:5553:19:5553:21 | out : CompositeMap [] : String | Test.java:228:18:228:29 | map : CompositeMap [] : String | provenance | | +| Test.java:5553:19:5553:21 | out : CompositeMap [] : String | Test.java:5553:9:5553:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5558:15:5558:55 | {...} : Map[] [[], ] : String | Test.java:5559:27:5559:28 | in : Map[] [[], ] : String | provenance | | +| Test.java:5558:25:5558:54 | of(...) : Map [] : String | Test.java:5558:15:5558:55 | {...} : Map[] [[], ] : String | provenance | | +| Test.java:5558:38:5558:53 | (...)... : String | Test.java:5558:25:5558:54 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5558:46:5558:53 | source(...) : Object | Test.java:5558:38:5558:53 | (...)... : String | provenance | | +| Test.java:5559:10:5559:60 | new CompositeMap<>(...) : CompositeMap [] : String | Test.java:5560:21:5560:23 | out : CompositeMap [] : String | provenance | | +| Test.java:5559:27:5559:28 | in : Map[] [[], ] : String | Test.java:5559:10:5559:60 | new CompositeMap<>(...) : CompositeMap [] : String | provenance | MaD:288 | +| Test.java:5560:21:5560:23 | out : CompositeMap [] : String | Test.java:232:20:232:31 | map : CompositeMap [] : String | provenance | | +| Test.java:5560:21:5560:23 | out : CompositeMap [] : String | Test.java:5560:9:5560:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5565:13:5565:42 | of(...) : Map [] : String | Test.java:5566:22:5566:23 | in : Map [] : String | provenance | | +| Test.java:5565:20:5565:35 | (...)... : String | Test.java:5565:13:5565:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5565:28:5565:35 | source(...) : Object | Test.java:5565:20:5565:35 | (...)... : String | provenance | | +| Test.java:5566:4:5566:6 | out [post update] : CompositeMap [] : String | Test.java:5567:19:5567:21 | out : CompositeMap [] : String | provenance | | +| Test.java:5566:22:5566:23 | in : Map [] : String | Test.java:5566:4:5566:6 | out [post update] : CompositeMap [] : String | provenance | MaD:289 | +| Test.java:5567:19:5567:21 | out : CompositeMap [] : String | Test.java:228:18:228:29 | map : CompositeMap [] : String | provenance | | +| Test.java:5567:19:5567:21 | out : CompositeMap [] : String | Test.java:5567:9:5567:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5572:13:5572:42 | of(...) : Map [] : String | Test.java:5573:22:5573:23 | in : Map [] : String | provenance | | +| Test.java:5572:26:5572:41 | (...)... : String | Test.java:5572:13:5572:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5572:34:5572:41 | source(...) : Object | Test.java:5572:26:5572:41 | (...)... : String | provenance | | +| Test.java:5573:4:5573:6 | out [post update] : CompositeMap [] : String | Test.java:5574:21:5574:23 | out : CompositeMap [] : String | provenance | | +| Test.java:5573:22:5573:23 | in : Map [] : String | Test.java:5573:4:5573:6 | out [post update] : CompositeMap [] : String | provenance | MaD:290 | +| Test.java:5574:21:5574:23 | out : CompositeMap [] : String | Test.java:232:20:232:31 | map : CompositeMap [] : String | provenance | | +| Test.java:5574:21:5574:23 | out : CompositeMap [] : String | Test.java:5574:9:5574:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5579:13:5579:25 | (...)... : Map | Test.java:5581:36:5581:37 | in : Map | provenance | | +| Test.java:5579:18:5579:25 | source(...) : Object | Test.java:5579:13:5579:25 | (...)... : Map | provenance | | +| Test.java:5581:10:5581:38 | removeComposited(...) : Map | Test.java:5582:9:5582:11 | out | provenance | | +| Test.java:5581:36:5581:37 | in : Map | Test.java:5581:10:5581:38 | removeComposited(...) : Map | provenance | MaD:293 | +| Test.java:5587:22:5587:75 | new CompositeMap<>(...) : CompositeMap [] : String | Test.java:5588:10:5588:11 | in : CompositeMap [] : String | provenance | | +| Test.java:5587:39:5587:68 | of(...) : Map [] : String | Test.java:5587:22:5587:75 | new CompositeMap<>(...) : CompositeMap [] : String | provenance | MaD:277 | +| Test.java:5587:46:5587:61 | (...)... : String | Test.java:5587:39:5587:68 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5587:54:5587:61 | source(...) : Object | Test.java:5587:46:5587:61 | (...)... : String | provenance | | +| Test.java:5588:10:5588:11 | in : CompositeMap [] : String | Test.java:5588:10:5588:34 | removeComposited(...) : Map [] : String | provenance | MaD:291 | +| Test.java:5588:10:5588:34 | removeComposited(...) : Map [] : String | Test.java:5589:19:5589:21 | out : Map [] : String | provenance | | +| Test.java:5589:19:5589:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:5589:19:5589:21 | out : Map [] : String | Test.java:5589:9:5589:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5594:22:5594:75 | new CompositeMap<>(...) : CompositeMap [] : String | Test.java:5595:10:5595:11 | in : CompositeMap [] : String | provenance | | +| Test.java:5594:39:5594:68 | of(...) : Map [] : String | Test.java:5594:22:5594:75 | new CompositeMap<>(...) : CompositeMap [] : String | provenance | MaD:278 | +| Test.java:5594:52:5594:67 | (...)... : String | Test.java:5594:39:5594:68 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5594:60:5594:67 | source(...) : Object | Test.java:5594:52:5594:67 | (...)... : String | provenance | | +| Test.java:5595:10:5595:11 | in : CompositeMap [] : String | Test.java:5595:10:5595:34 | removeComposited(...) : Map [] : String | provenance | MaD:292 | +| Test.java:5595:10:5595:34 | removeComposited(...) : Map [] : String | Test.java:5596:21:5596:23 | out : Map [] : String | provenance | | +| Test.java:5596:21:5596:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | provenance | | +| Test.java:5596:21:5596:23 | out : Map [] : String | Test.java:5596:9:5596:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5601:16:5601:23 | source(...) : Object | Test.java:5602:27:5602:28 | in : Object | provenance | | +| Test.java:5602:10:5602:29 | new DefaultedMap<>(...) : DefaultedMap [] : Object | Test.java:5603:21:5603:23 | out : DefaultedMap [] : Object | provenance | | +| Test.java:5602:27:5602:28 | in : Object | Test.java:5602:10:5602:29 | new DefaultedMap<>(...) : DefaultedMap [] : Object | provenance | MaD:294 | +| Test.java:5603:21:5603:23 | out : DefaultedMap [] : Object | Test.java:232:20:232:31 | map : DefaultedMap [] : Object | provenance | | +| Test.java:5603:21:5603:23 | out : DefaultedMap [] : Object | Test.java:5603:9:5603:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5608:16:5608:23 | source(...) : Object | Test.java:5609:47:5609:48 | in : Object | provenance | | +| Test.java:5609:10:5609:49 | defaultedMap(...) : DefaultedMap [] : Object | Test.java:5610:21:5610:23 | out : DefaultedMap [] : Object | provenance | | +| Test.java:5609:47:5609:48 | in : Object | Test.java:5609:10:5609:49 | defaultedMap(...) : DefaultedMap [] : Object | provenance | MaD:297 | +| Test.java:5610:21:5610:23 | out : DefaultedMap [] : Object | Test.java:232:20:232:31 | map : DefaultedMap [] : Object | provenance | | +| Test.java:5610:21:5610:23 | out : DefaultedMap [] : Object | Test.java:5610:9:5610:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5615:28:5615:57 | of(...) : Map [] : String | Test.java:5616:36:5616:37 | in : Map [] : String | provenance | | +| Test.java:5615:35:5615:50 | (...)... : String | Test.java:5615:28:5615:57 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5615:43:5615:50 | source(...) : Object | Test.java:5615:35:5615:50 | (...)... : String | provenance | | +| Test.java:5616:10:5616:57 | defaultedMap(...) : Map [] : String | Test.java:5617:19:5617:21 | out : Map [] : String | provenance | | +| Test.java:5616:36:5616:37 | in : Map [] : String | Test.java:5616:10:5616:57 | defaultedMap(...) : Map [] : String | provenance | MaD:295 | +| Test.java:5617:19:5617:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:5617:19:5617:21 | out : Map [] : String | Test.java:5617:9:5617:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5622:13:5622:42 | of(...) : Map [] : String | Test.java:5623:36:5623:37 | in : Map [] : String | provenance | | +| Test.java:5622:20:5622:35 | (...)... : String | Test.java:5622:13:5622:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5622:28:5622:35 | source(...) : Object | Test.java:5622:20:5622:35 | (...)... : String | provenance | | +| Test.java:5623:10:5623:52 | defaultedMap(...) : DefaultedMap [] : String | Test.java:5624:19:5624:21 | out : DefaultedMap [] : String | provenance | | +| Test.java:5623:36:5623:37 | in : Map [] : String | Test.java:5623:10:5623:52 | defaultedMap(...) : DefaultedMap [] : String | provenance | MaD:295 | +| Test.java:5624:19:5624:21 | out : DefaultedMap [] : String | Test.java:228:18:228:29 | map : DefaultedMap [] : String | provenance | | +| Test.java:5624:19:5624:21 | out : DefaultedMap [] : String | Test.java:5624:9:5624:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5629:28:5629:57 | of(...) : Map [] : String | Test.java:5630:36:5630:37 | in : Map [] : String | provenance | | +| Test.java:5629:35:5629:50 | (...)... : String | Test.java:5629:28:5629:57 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5629:43:5629:50 | source(...) : Object | Test.java:5629:35:5629:50 | (...)... : String | provenance | | +| Test.java:5630:10:5630:53 | defaultedMap(...) : DefaultedMap [] : String | Test.java:5631:19:5631:21 | out : DefaultedMap [] : String | provenance | | +| Test.java:5630:36:5630:37 | in : Map [] : String | Test.java:5630:10:5630:53 | defaultedMap(...) : DefaultedMap [] : String | provenance | MaD:295 | +| Test.java:5631:19:5631:21 | out : DefaultedMap [] : String | Test.java:228:18:228:29 | map : DefaultedMap [] : String | provenance | | +| Test.java:5631:19:5631:21 | out : DefaultedMap [] : String | Test.java:5631:9:5631:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5636:28:5636:57 | of(...) : Map [] : String | Test.java:5637:36:5637:37 | in : Map [] : String | provenance | | +| Test.java:5636:41:5636:56 | (...)... : String | Test.java:5636:28:5636:57 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5636:49:5636:56 | source(...) : Object | Test.java:5636:41:5636:56 | (...)... : String | provenance | | +| Test.java:5637:10:5637:57 | defaultedMap(...) : Map [] : String | Test.java:5638:21:5638:23 | out : Map [] : String | provenance | | +| Test.java:5637:36:5637:37 | in : Map [] : String | Test.java:5637:10:5637:57 | defaultedMap(...) : Map [] : String | provenance | MaD:296 | +| Test.java:5638:21:5638:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | provenance | | +| Test.java:5638:21:5638:23 | out : Map [] : String | Test.java:5638:9:5638:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5643:13:5643:42 | of(...) : Map [] : String | Test.java:5644:36:5644:37 | in : Map [] : String | provenance | | +| Test.java:5643:26:5643:41 | (...)... : String | Test.java:5643:13:5643:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5643:34:5643:41 | source(...) : Object | Test.java:5643:26:5643:41 | (...)... : String | provenance | | +| Test.java:5644:10:5644:52 | defaultedMap(...) : DefaultedMap [] : String | Test.java:5645:21:5645:23 | out : DefaultedMap [] : String | provenance | | +| Test.java:5644:36:5644:37 | in : Map [] : String | Test.java:5644:10:5644:52 | defaultedMap(...) : DefaultedMap [] : String | provenance | MaD:296 | +| Test.java:5645:21:5645:23 | out : DefaultedMap [] : String | Test.java:232:20:232:31 | map : DefaultedMap [] : String | provenance | | +| Test.java:5645:21:5645:23 | out : DefaultedMap [] : String | Test.java:5645:9:5645:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5650:28:5650:57 | of(...) : Map [] : String | Test.java:5651:36:5651:37 | in : Map [] : String | provenance | | +| Test.java:5650:41:5650:56 | (...)... : String | Test.java:5650:28:5650:57 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5650:49:5650:56 | source(...) : Object | Test.java:5650:41:5650:56 | (...)... : String | provenance | | +| Test.java:5651:10:5651:53 | defaultedMap(...) : DefaultedMap [] : String | Test.java:5652:21:5652:23 | out : DefaultedMap [] : String | provenance | | +| Test.java:5651:36:5651:37 | in : Map [] : String | Test.java:5651:10:5651:53 | defaultedMap(...) : DefaultedMap [] : String | provenance | MaD:296 | +| Test.java:5652:21:5652:23 | out : DefaultedMap [] : String | Test.java:232:20:232:31 | map : DefaultedMap [] : String | provenance | | +| Test.java:5652:21:5652:23 | out : DefaultedMap [] : String | Test.java:5652:9:5652:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5657:13:5657:76 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | Test.java:5658:43:5658:44 | in : ListOrderedSet [, ] : String | provenance | | +| Test.java:5657:42:5657:75 | newTMEWithMapKey(...) : TiedMapEntry [] : String | Test.java:260:53:260:61 | element : TiedMapEntry [] : String | provenance | | +| Test.java:5657:42:5657:75 | newTMEWithMapKey(...) : TiedMapEntry [] : String | Test.java:5657:13:5657:76 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | provenance | MaD:2 | +| Test.java:5657:59:5657:74 | (...)... : String | Test.java:286:46:286:50 | key : String | provenance | | +| Test.java:5657:59:5657:74 | (...)... : String | Test.java:5657:42:5657:75 | newTMEWithMapKey(...) : TiedMapEntry [] : String | provenance | MaD:234 | +| Test.java:5657:67:5657:74 | source(...) : Object | Test.java:5657:59:5657:74 | (...)... : String | provenance | | +| Test.java:5658:10:5658:45 | new EntrySetToMapIteratorAdapter<>(...) : EntrySetToMapIteratorAdapter [] : String | Test.java:5659:20:5659:22 | out : EntrySetToMapIteratorAdapter [] : String | provenance | | +| Test.java:5658:43:5658:44 | in : ListOrderedSet [, ] : String | Test.java:5658:10:5658:45 | new EntrySetToMapIteratorAdapter<>(...) : EntrySetToMapIteratorAdapter [] : String | provenance | MaD:298 | +| Test.java:5659:20:5659:22 | out : EntrySetToMapIteratorAdapter [] : String | Test.java:231:19:231:32 | it : EntrySetToMapIteratorAdapter [] : String | provenance | | +| Test.java:5659:20:5659:22 | out : EntrySetToMapIteratorAdapter [] : String | Test.java:5659:9:5659:23 | getElement(...) | provenance | MaD:4 | +| Test.java:5664:13:5664:78 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | Test.java:5665:43:5665:44 | in : ListOrderedSet [, ] : String | provenance | | +| Test.java:5664:42:5664:77 | newTMEWithMapValue(...) : TiedMapEntry [] : String | Test.java:260:53:260:61 | element : TiedMapEntry [] : String | provenance | | +| Test.java:5664:42:5664:77 | newTMEWithMapValue(...) : TiedMapEntry [] : String | Test.java:5664:13:5664:78 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | provenance | MaD:2 | +| Test.java:5664:61:5664:76 | (...)... : String | Test.java:305:48:305:54 | value : String | provenance | | +| Test.java:5664:61:5664:76 | (...)... : String | Test.java:5664:42:5664:77 | newTMEWithMapValue(...) : TiedMapEntry [] : String | provenance | MaD:15 | +| Test.java:5664:69:5664:76 | source(...) : Object | Test.java:5664:61:5664:76 | (...)... : String | provenance | | +| Test.java:5665:10:5665:45 | new EntrySetToMapIteratorAdapter<>(...) : EntrySetToMapIteratorAdapter [] : String | Test.java:5666:21:5666:23 | out : EntrySetToMapIteratorAdapter [] : String | provenance | | +| Test.java:5665:43:5665:44 | in : ListOrderedSet [, ] : String | Test.java:5665:10:5665:45 | new EntrySetToMapIteratorAdapter<>(...) : EntrySetToMapIteratorAdapter [] : String | provenance | MaD:299 | +| Test.java:5666:21:5666:23 | out : EntrySetToMapIteratorAdapter [] : String | Test.java:246:20:246:47 | mapIterator : EntrySetToMapIteratorAdapter [] : String | provenance | | +| Test.java:5666:21:5666:23 | out : EntrySetToMapIteratorAdapter [] : String | Test.java:5666:9:5666:24 | getMapValue(...) | provenance | MaD:598 | +| Test.java:5671:13:5671:42 | of(...) : Map [] : String | Test.java:5672:36:5672:37 | in : Map [] : String | provenance | | +| Test.java:5671:20:5671:35 | (...)... : String | Test.java:5671:13:5671:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5671:28:5671:35 | source(...) : Object | Test.java:5671:20:5671:35 | (...)... : String | provenance | | +| Test.java:5672:10:5672:38 | fixedSizeMap(...) : FixedSizeMap [] : String | Test.java:5673:19:5673:21 | out : FixedSizeMap [] : String | provenance | | +| Test.java:5672:36:5672:37 | in : Map [] : String | Test.java:5672:10:5672:38 | fixedSizeMap(...) : FixedSizeMap [] : String | provenance | MaD:300 | +| Test.java:5673:19:5673:21 | out : FixedSizeMap [] : String | Test.java:228:18:228:29 | map : FixedSizeMap [] : String | provenance | | +| Test.java:5673:19:5673:21 | out : FixedSizeMap [] : String | Test.java:5673:9:5673:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5678:13:5678:42 | of(...) : Map [] : String | Test.java:5679:36:5679:37 | in : Map [] : String | provenance | | +| Test.java:5678:26:5678:41 | (...)... : String | Test.java:5678:13:5678:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5678:34:5678:41 | source(...) : Object | Test.java:5678:26:5678:41 | (...)... : String | provenance | | +| Test.java:5679:10:5679:38 | fixedSizeMap(...) : FixedSizeMap [] : String | Test.java:5680:21:5680:23 | out : FixedSizeMap [] : String | provenance | | +| Test.java:5679:36:5679:37 | in : Map [] : String | Test.java:5679:10:5679:38 | fixedSizeMap(...) : FixedSizeMap [] : String | provenance | MaD:301 | +| Test.java:5680:21:5680:23 | out : FixedSizeMap [] : String | Test.java:232:20:232:31 | map : FixedSizeMap [] : String | provenance | | +| Test.java:5680:21:5680:23 | out : FixedSizeMap [] : String | Test.java:5680:9:5680:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5685:19:5685:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:5686:48:5686:49 | in : TreeMap [] : String | provenance | | +| Test.java:5685:40:5685:55 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:5685:40:5685:55 | (...)... : String | Test.java:5685:19:5685:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:5685:48:5685:55 | source(...) : Object | Test.java:5685:40:5685:55 | (...)... : String | provenance | | +| Test.java:5686:10:5686:50 | fixedSizeSortedMap(...) : FixedSizeSortedMap [] : String | Test.java:5687:19:5687:21 | out : FixedSizeSortedMap [] : String | provenance | | +| Test.java:5686:48:5686:49 | in : TreeMap [] : String | Test.java:5686:10:5686:50 | fixedSizeSortedMap(...) : FixedSizeSortedMap [] : String | provenance | MaD:302 | +| Test.java:5687:19:5687:21 | out : FixedSizeSortedMap [] : String | Test.java:228:18:228:29 | map : FixedSizeSortedMap [] : String | provenance | | +| Test.java:5687:19:5687:21 | out : FixedSizeSortedMap [] : String | Test.java:5687:9:5687:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5692:19:5692:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:5693:48:5693:49 | in : TreeMap [] : String | provenance | | +| Test.java:5692:42:5692:57 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:5692:42:5692:57 | (...)... : String | Test.java:5692:19:5692:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:5692:50:5692:57 | source(...) : Object | Test.java:5692:42:5692:57 | (...)... : String | provenance | | +| Test.java:5693:10:5693:50 | fixedSizeSortedMap(...) : FixedSizeSortedMap [] : String | Test.java:5694:21:5694:23 | out : FixedSizeSortedMap [] : String | provenance | | +| Test.java:5693:48:5693:49 | in : TreeMap [] : String | Test.java:5693:10:5693:50 | fixedSizeSortedMap(...) : FixedSizeSortedMap [] : String | provenance | MaD:303 | +| Test.java:5694:21:5694:23 | out : FixedSizeSortedMap [] : String | Test.java:232:20:232:31 | map : FixedSizeSortedMap [] : String | provenance | | +| Test.java:5694:21:5694:23 | out : FixedSizeSortedMap [] : String | Test.java:5694:9:5694:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5699:13:5699:42 | of(...) : Map [] : String | Test.java:5700:23:5700:24 | in : Map [] : String | provenance | | +| Test.java:5699:20:5699:35 | (...)... : String | Test.java:5699:13:5699:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5699:28:5699:35 | source(...) : Object | Test.java:5699:20:5699:35 | (...)... : String | provenance | | +| Test.java:5700:10:5700:25 | new Flat3Map<>(...) : Flat3Map [] : String | Test.java:5701:19:5701:21 | out : Flat3Map [] : String | provenance | | +| Test.java:5700:23:5700:24 | in : Map [] : String | Test.java:5700:10:5700:25 | new Flat3Map<>(...) : Flat3Map [] : String | provenance | MaD:304 | +| Test.java:5701:19:5701:21 | out : Flat3Map [] : String | Test.java:228:18:228:29 | map : Flat3Map [] : String | provenance | | +| Test.java:5701:19:5701:21 | out : Flat3Map [] : String | Test.java:5701:9:5701:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5706:13:5706:42 | of(...) : Map [] : String | Test.java:5707:23:5707:24 | in : Map [] : String | provenance | | +| Test.java:5706:26:5706:41 | (...)... : String | Test.java:5706:13:5706:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5706:34:5706:41 | source(...) : Object | Test.java:5706:26:5706:41 | (...)... : String | provenance | | +| Test.java:5707:10:5707:25 | new Flat3Map<>(...) : Flat3Map [] : String | Test.java:5708:21:5708:23 | out : Flat3Map [] : String | provenance | | +| Test.java:5707:23:5707:24 | in : Map [] : String | Test.java:5707:10:5707:25 | new Flat3Map<>(...) : Flat3Map [] : String | provenance | MaD:305 | +| Test.java:5708:21:5708:23 | out : Flat3Map [] : String | Test.java:232:20:232:31 | map : Flat3Map [] : String | provenance | | +| Test.java:5708:21:5708:23 | out : Flat3Map [] : String | Test.java:5708:9:5708:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5713:13:5713:42 | of(...) : Map [] : String | Test.java:5714:24:5714:25 | in : Map [] : String | provenance | | +| Test.java:5713:20:5713:35 | (...)... : String | Test.java:5713:13:5713:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5713:28:5713:35 | source(...) : Object | Test.java:5713:20:5713:35 | (...)... : String | provenance | | +| Test.java:5714:10:5714:26 | new HashedMap<>(...) : HashedMap [] : String | Test.java:5715:19:5715:21 | out : HashedMap [] : String | provenance | | +| Test.java:5714:24:5714:25 | in : Map [] : String | Test.java:5714:10:5714:26 | new HashedMap<>(...) : HashedMap [] : String | provenance | MaD:306 | +| Test.java:5715:19:5715:21 | out : HashedMap [] : String | Test.java:228:18:228:29 | map : HashedMap [] : String | provenance | | +| Test.java:5715:19:5715:21 | out : HashedMap [] : String | Test.java:5715:9:5715:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5720:13:5720:42 | of(...) : Map [] : String | Test.java:5721:24:5721:25 | in : Map [] : String | provenance | | +| Test.java:5720:26:5720:41 | (...)... : String | Test.java:5720:13:5720:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5720:34:5720:41 | source(...) : Object | Test.java:5720:26:5720:41 | (...)... : String | provenance | | +| Test.java:5721:10:5721:26 | new HashedMap<>(...) : HashedMap [] : String | Test.java:5722:21:5722:23 | out : HashedMap [] : String | provenance | | +| Test.java:5721:24:5721:25 | in : Map [] : String | Test.java:5721:10:5721:26 | new HashedMap<>(...) : HashedMap [] : String | provenance | MaD:307 | +| Test.java:5722:21:5722:23 | out : HashedMap [] : String | Test.java:232:20:232:31 | map : HashedMap [] : String | provenance | | +| Test.java:5722:21:5722:23 | out : HashedMap [] : String | Test.java:5722:9:5722:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5727:13:5727:42 | of(...) : Map [] : String | Test.java:5728:21:5728:22 | in : Map [] : String | provenance | | +| Test.java:5727:20:5727:35 | (...)... : String | Test.java:5727:13:5727:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5727:28:5727:35 | source(...) : Object | Test.java:5727:20:5727:35 | (...)... : String | provenance | | +| Test.java:5728:10:5728:23 | new LRUMap<>(...) : LRUMap [] : String | Test.java:5729:19:5729:21 | out : LRUMap [] : String | provenance | | +| Test.java:5728:21:5728:22 | in : Map [] : String | Test.java:5728:10:5728:23 | new LRUMap<>(...) : LRUMap [] : String | provenance | MaD:308 | +| Test.java:5729:19:5729:21 | out : LRUMap [] : String | Test.java:228:18:228:29 | map : LRUMap [] : String | provenance | | +| Test.java:5729:19:5729:21 | out : LRUMap [] : String | Test.java:5729:9:5729:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5734:13:5734:42 | of(...) : Map [] : String | Test.java:5735:21:5735:22 | in : Map [] : String | provenance | | +| Test.java:5734:26:5734:41 | (...)... : String | Test.java:5734:13:5734:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5734:34:5734:41 | source(...) : Object | Test.java:5734:26:5734:41 | (...)... : String | provenance | | +| Test.java:5735:10:5735:23 | new LRUMap<>(...) : LRUMap [] : String | Test.java:5736:21:5736:23 | out : LRUMap [] : String | provenance | | +| Test.java:5735:21:5735:22 | in : Map [] : String | Test.java:5735:10:5735:23 | new LRUMap<>(...) : LRUMap [] : String | provenance | MaD:309 | +| Test.java:5736:21:5736:23 | out : LRUMap [] : String | Test.java:232:20:232:31 | map : LRUMap [] : String | provenance | | +| Test.java:5736:21:5736:23 | out : LRUMap [] : String | Test.java:5736:9:5736:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5741:13:5741:42 | of(...) : Map [] : String | Test.java:5742:21:5742:22 | in : Map [] : String | provenance | | +| Test.java:5741:20:5741:35 | (...)... : String | Test.java:5741:13:5741:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5741:28:5741:35 | source(...) : Object | Test.java:5741:20:5741:35 | (...)... : String | provenance | | +| Test.java:5742:10:5742:30 | new LRUMap<>(...) : LRUMap [] : String | Test.java:5743:19:5743:21 | out : LRUMap [] : String | provenance | | +| Test.java:5742:21:5742:22 | in : Map [] : String | Test.java:5742:10:5742:30 | new LRUMap<>(...) : LRUMap [] : String | provenance | MaD:310 | +| Test.java:5743:19:5743:21 | out : LRUMap [] : String | Test.java:228:18:228:29 | map : LRUMap [] : String | provenance | | +| Test.java:5743:19:5743:21 | out : LRUMap [] : String | Test.java:5743:9:5743:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5748:13:5748:42 | of(...) : Map [] : String | Test.java:5749:21:5749:22 | in : Map [] : String | provenance | | +| Test.java:5748:26:5748:41 | (...)... : String | Test.java:5748:13:5748:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5748:34:5748:41 | source(...) : Object | Test.java:5748:26:5748:41 | (...)... : String | provenance | | +| Test.java:5749:10:5749:30 | new LRUMap<>(...) : LRUMap [] : String | Test.java:5750:21:5750:23 | out : LRUMap [] : String | provenance | | +| Test.java:5749:21:5749:22 | in : Map [] : String | Test.java:5749:10:5749:30 | new LRUMap<>(...) : LRUMap [] : String | provenance | MaD:311 | +| Test.java:5750:21:5750:23 | out : LRUMap [] : String | Test.java:232:20:232:31 | map : LRUMap [] : String | provenance | | +| Test.java:5750:21:5750:23 | out : LRUMap [] : String | Test.java:5750:9:5750:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5755:16:5755:53 | (...)... : Map [] : String | Test.java:5757:23:5757:24 | in : Map [] : String | provenance | | +| Test.java:5755:24:5755:53 | of(...) : Map [] : String | Test.java:5755:16:5755:53 | (...)... : Map [] : String | provenance | | +| Test.java:5755:37:5755:52 | (...)... : String | Test.java:5755:24:5755:53 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5755:45:5755:52 | source(...) : Object | Test.java:5755:37:5755:52 | (...)... : String | provenance | | +| Test.java:5757:10:5757:32 | get(...) : String | Test.java:5758:9:5758:11 | out | provenance | | +| Test.java:5757:23:5757:24 | in : Map [] : String | Test.java:5757:10:5757:32 | get(...) : String | provenance | MaD:312 | +| Test.java:5763:13:5763:42 | of(...) : Map [] : String | Test.java:5764:26:5764:27 | in : Map [] : String | provenance | | +| Test.java:5763:20:5763:35 | (...)... : String | Test.java:5763:13:5763:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5763:28:5763:35 | source(...) : Object | Test.java:5763:20:5763:35 | (...)... : String | provenance | | +| Test.java:5764:10:5764:47 | lazyMap(...) : LazyMap [] : String | Test.java:5765:19:5765:21 | out : LazyMap [] : String | provenance | | +| Test.java:5764:26:5764:27 | in : Map [] : String | Test.java:5764:10:5764:47 | lazyMap(...) : LazyMap [] : String | provenance | MaD:313 | +| Test.java:5765:19:5765:21 | out : LazyMap [] : String | Test.java:228:18:228:29 | map : LazyMap [] : String | provenance | | +| Test.java:5765:19:5765:21 | out : LazyMap [] : String | Test.java:5765:9:5765:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5770:13:5770:42 | of(...) : Map [] : String | Test.java:5771:26:5771:27 | in : Map [] : String | provenance | | +| Test.java:5770:20:5770:35 | (...)... : String | Test.java:5770:13:5770:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5770:28:5770:35 | source(...) : Object | Test.java:5770:20:5770:35 | (...)... : String | provenance | | +| Test.java:5771:10:5771:43 | lazyMap(...) : LazyMap [] : String | Test.java:5772:19:5772:21 | out : LazyMap [] : String | provenance | | +| Test.java:5771:26:5771:27 | in : Map [] : String | Test.java:5771:10:5771:43 | lazyMap(...) : LazyMap [] : String | provenance | MaD:313 | +| Test.java:5772:19:5772:21 | out : LazyMap [] : String | Test.java:228:18:228:29 | map : LazyMap [] : String | provenance | | +| Test.java:5772:19:5772:21 | out : LazyMap [] : String | Test.java:5772:9:5772:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5777:13:5777:42 | of(...) : Map [] : String | Test.java:5778:26:5778:27 | in : Map [] : String | provenance | | +| Test.java:5777:26:5777:41 | (...)... : String | Test.java:5777:13:5777:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5777:34:5777:41 | source(...) : Object | Test.java:5777:26:5777:41 | (...)... : String | provenance | | +| Test.java:5778:10:5778:47 | lazyMap(...) : LazyMap [] : String | Test.java:5779:21:5779:23 | out : LazyMap [] : String | provenance | | +| Test.java:5778:26:5778:27 | in : Map [] : String | Test.java:5778:10:5778:47 | lazyMap(...) : LazyMap [] : String | provenance | MaD:314 | +| Test.java:5779:21:5779:23 | out : LazyMap [] : String | Test.java:232:20:232:31 | map : LazyMap [] : String | provenance | | +| Test.java:5779:21:5779:23 | out : LazyMap [] : String | Test.java:5779:9:5779:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5784:13:5784:42 | of(...) : Map [] : String | Test.java:5785:26:5785:27 | in : Map [] : String | provenance | | +| Test.java:5784:26:5784:41 | (...)... : String | Test.java:5784:13:5784:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5784:34:5784:41 | source(...) : Object | Test.java:5784:26:5784:41 | (...)... : String | provenance | | +| Test.java:5785:10:5785:43 | lazyMap(...) : LazyMap [] : String | Test.java:5786:21:5786:23 | out : LazyMap [] : String | provenance | | +| Test.java:5785:26:5785:27 | in : Map [] : String | Test.java:5785:10:5785:43 | lazyMap(...) : LazyMap [] : String | provenance | MaD:314 | +| Test.java:5786:21:5786:23 | out : LazyMap [] : String | Test.java:232:20:232:31 | map : LazyMap [] : String | provenance | | +| Test.java:5786:21:5786:23 | out : LazyMap [] : String | Test.java:5786:9:5786:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5791:19:5791:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:5792:38:5792:39 | in : TreeMap [] : String | provenance | | +| Test.java:5791:40:5791:55 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:5791:40:5791:55 | (...)... : String | Test.java:5791:19:5791:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:5791:48:5791:55 | source(...) : Object | Test.java:5791:40:5791:55 | (...)... : String | provenance | | +| Test.java:5792:10:5792:59 | lazySortedMap(...) : LazySortedMap [] : String | Test.java:5793:19:5793:21 | out : LazySortedMap [] : String | provenance | | +| Test.java:5792:38:5792:39 | in : TreeMap [] : String | Test.java:5792:10:5792:59 | lazySortedMap(...) : LazySortedMap [] : String | provenance | MaD:315 | +| Test.java:5793:19:5793:21 | out : LazySortedMap [] : String | Test.java:228:18:228:29 | map : LazySortedMap [] : String | provenance | | +| Test.java:5793:19:5793:21 | out : LazySortedMap [] : String | Test.java:5793:9:5793:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5798:19:5798:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:5799:38:5799:39 | in : TreeMap [] : String | provenance | | +| Test.java:5798:40:5798:55 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:5798:40:5798:55 | (...)... : String | Test.java:5798:19:5798:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:5798:48:5798:55 | source(...) : Object | Test.java:5798:40:5798:55 | (...)... : String | provenance | | +| Test.java:5799:10:5799:55 | lazySortedMap(...) : LazySortedMap [] : String | Test.java:5800:19:5800:21 | out : LazySortedMap [] : String | provenance | | +| Test.java:5799:38:5799:39 | in : TreeMap [] : String | Test.java:5799:10:5799:55 | lazySortedMap(...) : LazySortedMap [] : String | provenance | MaD:315 | +| Test.java:5800:19:5800:21 | out : LazySortedMap [] : String | Test.java:228:18:228:29 | map : LazySortedMap [] : String | provenance | | +| Test.java:5800:19:5800:21 | out : LazySortedMap [] : String | Test.java:5800:9:5800:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5805:19:5805:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:5806:38:5806:39 | in : TreeMap [] : String | provenance | | +| Test.java:5805:42:5805:57 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:5805:42:5805:57 | (...)... : String | Test.java:5805:19:5805:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:5805:50:5805:57 | source(...) : Object | Test.java:5805:42:5805:57 | (...)... : String | provenance | | +| Test.java:5806:10:5806:59 | lazySortedMap(...) : LazySortedMap [] : String | Test.java:5807:21:5807:23 | out : LazySortedMap [] : String | provenance | | +| Test.java:5806:38:5806:39 | in : TreeMap [] : String | Test.java:5806:10:5806:59 | lazySortedMap(...) : LazySortedMap [] : String | provenance | MaD:316 | +| Test.java:5807:21:5807:23 | out : LazySortedMap [] : String | Test.java:232:20:232:31 | map : LazySortedMap [] : String | provenance | | +| Test.java:5807:21:5807:23 | out : LazySortedMap [] : String | Test.java:5807:9:5807:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5812:19:5812:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:5813:38:5813:39 | in : TreeMap [] : String | provenance | | +| Test.java:5812:42:5812:57 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:5812:42:5812:57 | (...)... : String | Test.java:5812:19:5812:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:5812:50:5812:57 | source(...) : Object | Test.java:5812:42:5812:57 | (...)... : String | provenance | | +| Test.java:5813:10:5813:55 | lazySortedMap(...) : LazySortedMap [] : String | Test.java:5814:21:5814:23 | out : LazySortedMap [] : String | provenance | | +| Test.java:5813:38:5813:39 | in : TreeMap [] : String | Test.java:5813:10:5813:55 | lazySortedMap(...) : LazySortedMap [] : String | provenance | MaD:316 | +| Test.java:5814:21:5814:23 | out : LazySortedMap [] : String | Test.java:232:20:232:31 | map : LazySortedMap [] : String | provenance | | +| Test.java:5814:21:5814:23 | out : LazySortedMap [] : String | Test.java:5814:9:5814:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5819:13:5819:42 | of(...) : Map [] : String | Test.java:5820:24:5820:25 | in : Map [] : String | provenance | | +| Test.java:5819:20:5819:35 | (...)... : String | Test.java:5819:13:5819:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5819:28:5819:35 | source(...) : Object | Test.java:5819:20:5819:35 | (...)... : String | provenance | | +| Test.java:5820:10:5820:26 | new LinkedMap<>(...) : LinkedMap [] : String | Test.java:5821:19:5821:21 | out : LinkedMap [] : String | provenance | | +| Test.java:5820:24:5820:25 | in : Map [] : String | Test.java:5820:10:5820:26 | new LinkedMap<>(...) : LinkedMap [] : String | provenance | MaD:317 | +| Test.java:5821:19:5821:21 | out : LinkedMap [] : String | Test.java:228:18:228:29 | map : LinkedMap [] : String | provenance | | +| Test.java:5821:19:5821:21 | out : LinkedMap [] : String | Test.java:5821:9:5821:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5826:13:5826:42 | of(...) : Map [] : String | Test.java:5827:24:5827:25 | in : Map [] : String | provenance | | +| Test.java:5826:26:5826:41 | (...)... : String | Test.java:5826:13:5826:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5826:34:5826:41 | source(...) : Object | Test.java:5826:26:5826:41 | (...)... : String | provenance | | +| Test.java:5827:10:5827:26 | new LinkedMap<>(...) : LinkedMap [] : String | Test.java:5828:21:5828:23 | out : LinkedMap [] : String | provenance | | +| Test.java:5827:24:5827:25 | in : Map [] : String | Test.java:5827:10:5827:26 | new LinkedMap<>(...) : LinkedMap [] : String | provenance | MaD:318 | +| Test.java:5828:21:5828:23 | out : LinkedMap [] : String | Test.java:232:20:232:31 | map : LinkedMap [] : String | provenance | | +| Test.java:5828:21:5828:23 | out : LinkedMap [] : String | Test.java:5828:9:5828:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5833:19:5833:58 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | Test.java:5834:10:5834:11 | in : LinkedMap [] : String | provenance | | +| Test.java:5833:42:5833:57 | (...)... : String | Test.java:276:49:276:53 | key : String | provenance | | +| Test.java:5833:42:5833:57 | (...)... : String | Test.java:5833:19:5833:58 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | provenance | MaD:11 | +| Test.java:5833:50:5833:57 | source(...) : Object | Test.java:5833:42:5833:57 | (...)... : String | provenance | | +| Test.java:5834:10:5834:11 | in : LinkedMap [] : String | Test.java:5834:10:5834:20 | asList(...) : List [] : String | provenance | MaD:319 | +| Test.java:5834:10:5834:20 | asList(...) : List [] : String | Test.java:5835:20:5835:22 | out : List [] : String | provenance | | +| Test.java:5835:20:5835:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:5835:20:5835:22 | out : List [] : String | Test.java:5835:9:5835:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5840:19:5840:58 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | Test.java:5841:10:5841:11 | in : LinkedMap [] : String | provenance | | +| Test.java:5840:42:5840:57 | (...)... : String | Test.java:276:49:276:53 | key : String | provenance | | +| Test.java:5840:42:5840:57 | (...)... : String | Test.java:5840:19:5840:58 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | provenance | MaD:11 | +| Test.java:5840:50:5840:57 | source(...) : Object | Test.java:5840:42:5840:57 | (...)... : String | provenance | | +| Test.java:5841:10:5841:11 | in : LinkedMap [] : String | Test.java:5841:10:5841:18 | get(...) : String | provenance | MaD:320 | +| Test.java:5841:10:5841:18 | get(...) : String | Test.java:5842:9:5842:11 | out | provenance | | +| Test.java:5847:19:5847:60 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | Test.java:5848:10:5848:11 | in : LinkedMap [] : String | provenance | | +| Test.java:5847:44:5847:59 | (...)... : String | Test.java:295:51:295:57 | value : String | provenance | | +| Test.java:5847:44:5847:59 | (...)... : String | Test.java:5847:19:5847:60 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | provenance | MaD:12 | +| Test.java:5847:52:5847:59 | source(...) : Object | Test.java:5847:44:5847:59 | (...)... : String | provenance | | +| Test.java:5848:10:5848:11 | in : LinkedMap [] : String | Test.java:5848:10:5848:23 | getValue(...) : String | provenance | MaD:321 | +| Test.java:5848:10:5848:23 | getValue(...) : String | Test.java:5849:9:5849:11 | out | provenance | | +| Test.java:5854:19:5854:60 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | Test.java:5855:10:5855:11 | in : LinkedMap [] : String | provenance | | +| Test.java:5854:44:5854:59 | (...)... : String | Test.java:295:51:295:57 | value : String | provenance | | +| Test.java:5854:44:5854:59 | (...)... : String | Test.java:5854:19:5854:60 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | provenance | MaD:12 | +| Test.java:5854:52:5854:59 | source(...) : Object | Test.java:5854:44:5854:59 | (...)... : String | provenance | | +| Test.java:5855:10:5855:11 | in : LinkedMap [] : String | Test.java:5855:10:5855:21 | remove(...) : String | provenance | MaD:322 | +| Test.java:5855:10:5855:21 | remove(...) : String | Test.java:5856:9:5856:11 | out | provenance | | +| Test.java:5861:24:5861:68 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | Test.java:5862:10:5862:11 | in : ListOrderedMap [] : String | provenance | | +| Test.java:5861:52:5861:67 | (...)... : String | Test.java:277:59:277:63 | key : String | provenance | | +| Test.java:5861:52:5861:67 | (...)... : String | Test.java:5861:24:5861:68 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | provenance | MaD:11 | +| Test.java:5861:60:5861:67 | source(...) : Object | Test.java:5861:52:5861:67 | (...)... : String | provenance | | +| Test.java:5862:10:5862:11 | in : ListOrderedMap [] : String | Test.java:5862:10:5862:20 | asList(...) : List [] : String | provenance | MaD:323 | +| Test.java:5862:10:5862:20 | asList(...) : List [] : String | Test.java:5863:20:5863:22 | out : List [] : String | provenance | | +| Test.java:5863:20:5863:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:5863:20:5863:22 | out : List [] : String | Test.java:5863:9:5863:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5868:24:5868:60 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : Object | Test.java:5869:10:5869:11 | in : ListOrderedMap [] : Object | provenance | | +| Test.java:5868:52:5868:59 | source(...) : Object | Test.java:277:59:277:63 | key : Object | provenance | | +| Test.java:5868:52:5868:59 | source(...) : Object | Test.java:5868:24:5868:60 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : Object | provenance | MaD:11 | +| Test.java:5869:10:5869:11 | in : ListOrderedMap [] : Object | Test.java:5869:10:5869:18 | get(...) : Object | provenance | MaD:324 | +| Test.java:5869:10:5869:18 | get(...) : Object | Test.java:5870:9:5870:11 | out | provenance | | +| Test.java:5875:24:5875:62 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : Object | Test.java:5876:10:5876:11 | in : ListOrderedMap [] : Object | provenance | | +| Test.java:5875:54:5875:61 | source(...) : Object | Test.java:296:61:296:67 | value : Object | provenance | | +| Test.java:5875:54:5875:61 | source(...) : Object | Test.java:5875:24:5875:62 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : Object | provenance | MaD:12 | +| Test.java:5876:10:5876:11 | in : ListOrderedMap [] : Object | Test.java:5876:10:5876:23 | getValue(...) : Object | provenance | MaD:325 | +| Test.java:5876:10:5876:23 | getValue(...) : Object | Test.java:5877:9:5877:11 | out | provenance | | +| Test.java:5882:24:5882:68 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | Test.java:5883:10:5883:11 | in : ListOrderedMap [] : String | provenance | | +| Test.java:5882:52:5882:67 | (...)... : String | Test.java:277:59:277:63 | key : String | provenance | | +| Test.java:5882:52:5882:67 | (...)... : String | Test.java:5882:24:5882:68 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | provenance | MaD:11 | +| Test.java:5882:60:5882:67 | source(...) : Object | Test.java:5882:52:5882:67 | (...)... : String | provenance | | +| Test.java:5883:10:5883:11 | in : ListOrderedMap [] : String | Test.java:5883:10:5883:21 | keyList(...) : List [] : String | provenance | MaD:326 | +| Test.java:5883:10:5883:21 | keyList(...) : List [] : String | Test.java:5884:20:5884:22 | out : List [] : String | provenance | | +| Test.java:5884:20:5884:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:5884:20:5884:22 | out : List [] : String | Test.java:5884:9:5884:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5889:13:5889:42 | of(...) : Map [] : String | Test.java:5890:40:5890:41 | in : Map [] : String | provenance | | +| Test.java:5889:20:5889:35 | (...)... : String | Test.java:5889:13:5889:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5889:28:5889:35 | source(...) : Object | Test.java:5889:20:5889:35 | (...)... : String | provenance | | +| Test.java:5890:10:5890:42 | listOrderedMap(...) : ListOrderedMap [] : String | Test.java:5891:19:5891:21 | out : ListOrderedMap [] : String | provenance | | +| Test.java:5890:40:5890:41 | in : Map [] : String | Test.java:5890:10:5890:42 | listOrderedMap(...) : ListOrderedMap [] : String | provenance | MaD:327 | +| Test.java:5891:19:5891:21 | out : ListOrderedMap [] : String | Test.java:228:18:228:29 | map : ListOrderedMap [] : String | provenance | | +| Test.java:5891:19:5891:21 | out : ListOrderedMap [] : String | Test.java:5891:9:5891:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5896:13:5896:42 | of(...) : Map [] : String | Test.java:5897:40:5897:41 | in : Map [] : String | provenance | | +| Test.java:5896:26:5896:41 | (...)... : String | Test.java:5896:13:5896:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5896:34:5896:41 | source(...) : Object | Test.java:5896:26:5896:41 | (...)... : String | provenance | | +| Test.java:5897:10:5897:42 | listOrderedMap(...) : ListOrderedMap [] : String | Test.java:5898:21:5898:23 | out : ListOrderedMap [] : String | provenance | | +| Test.java:5897:40:5897:41 | in : Map [] : String | Test.java:5897:10:5897:42 | listOrderedMap(...) : ListOrderedMap [] : String | provenance | MaD:328 | +| Test.java:5898:21:5898:23 | out : ListOrderedMap [] : String | Test.java:232:20:232:31 | map : ListOrderedMap [] : String | provenance | | +| Test.java:5898:21:5898:23 | out : ListOrderedMap [] : String | Test.java:5898:9:5898:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5903:16:5903:23 | source(...) : Object | Test.java:5904:18:5904:19 | in : Object | provenance | | +| Test.java:5904:4:5904:6 | out [post update] : ListOrderedMap [] : Object | Test.java:5905:19:5905:21 | out : ListOrderedMap [] : Object | provenance | | +| Test.java:5904:18:5904:19 | in : Object | Test.java:5904:4:5904:6 | out [post update] : ListOrderedMap [] : Object | provenance | MaD:329 | +| Test.java:5905:19:5905:21 | out : ListOrderedMap [] : Object | Test.java:228:18:228:29 | map : ListOrderedMap [] : Object | provenance | | +| Test.java:5905:19:5905:21 | out : ListOrderedMap [] : Object | Test.java:5905:9:5905:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5910:16:5910:23 | source(...) : Object | Test.java:5911:15:5911:16 | in : Object | provenance | | +| Test.java:5911:4:5911:6 | out [post update] : ListOrderedMap [] : Object | Test.java:5912:19:5912:21 | out : ListOrderedMap [] : Object | provenance | | +| Test.java:5911:15:5911:16 | in : Object | Test.java:5911:4:5911:6 | out [post update] : ListOrderedMap [] : Object | provenance | MaD:329 | +| Test.java:5912:19:5912:21 | out : ListOrderedMap [] : Object | Test.java:228:18:228:29 | map : ListOrderedMap [] : Object | provenance | | +| Test.java:5912:19:5912:21 | out : ListOrderedMap [] : Object | Test.java:5912:9:5912:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5917:16:5917:23 | source(...) : Object | Test.java:5918:21:5918:22 | in : Object | provenance | | +| Test.java:5918:4:5918:6 | out [post update] : ListOrderedMap [] : Object | Test.java:5919:21:5919:23 | out : ListOrderedMap [] : Object | provenance | | +| Test.java:5918:21:5918:22 | in : Object | Test.java:5918:4:5918:6 | out [post update] : ListOrderedMap [] : Object | provenance | MaD:330 | +| Test.java:5919:21:5919:23 | out : ListOrderedMap [] : Object | Test.java:232:20:232:31 | map : ListOrderedMap [] : Object | provenance | | +| Test.java:5919:21:5919:23 | out : ListOrderedMap [] : Object | Test.java:5919:9:5919:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5924:13:5924:42 | of(...) : Map [] : String | Test.java:5925:18:5925:19 | in : Map [] : String | provenance | | +| Test.java:5924:20:5924:35 | (...)... : String | Test.java:5924:13:5924:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:5924:28:5924:35 | source(...) : Object | Test.java:5924:20:5924:35 | (...)... : String | provenance | | +| Test.java:5925:4:5925:6 | out [post update] : ListOrderedMap [] : String | Test.java:5926:19:5926:21 | out : ListOrderedMap [] : String | provenance | | +| Test.java:5925:18:5925:19 | in : Map [] : String | Test.java:5925:4:5925:6 | out [post update] : ListOrderedMap [] : String | provenance | MaD:331 | +| Test.java:5926:19:5926:21 | out : ListOrderedMap [] : String | Test.java:228:18:228:29 | map : ListOrderedMap [] : String | provenance | | +| Test.java:5926:19:5926:21 | out : ListOrderedMap [] : String | Test.java:5926:9:5926:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:5931:13:5931:42 | of(...) : Map [] : String | Test.java:5932:18:5932:19 | in : Map [] : String | provenance | | +| Test.java:5931:26:5931:41 | (...)... : String | Test.java:5931:13:5931:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:5931:34:5931:41 | source(...) : Object | Test.java:5931:26:5931:41 | (...)... : String | provenance | | +| Test.java:5932:4:5932:6 | out [post update] : ListOrderedMap [] : String | Test.java:5933:21:5933:23 | out : ListOrderedMap [] : String | provenance | | +| Test.java:5932:18:5932:19 | in : Map [] : String | Test.java:5932:4:5932:6 | out [post update] : ListOrderedMap [] : String | provenance | MaD:332 | +| Test.java:5933:21:5933:23 | out : ListOrderedMap [] : String | Test.java:232:20:232:31 | map : ListOrderedMap [] : String | provenance | | +| Test.java:5933:21:5933:23 | out : ListOrderedMap [] : String | Test.java:5933:9:5933:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5938:24:5938:70 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | Test.java:5939:10:5939:11 | in : ListOrderedMap [] : String | provenance | | +| Test.java:5938:54:5938:69 | (...)... : String | Test.java:296:61:296:67 | value : String | provenance | | +| Test.java:5938:54:5938:69 | (...)... : String | Test.java:5938:24:5938:70 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | provenance | MaD:12 | +| Test.java:5938:62:5938:69 | source(...) : Object | Test.java:5938:54:5938:69 | (...)... : String | provenance | | +| Test.java:5939:10:5939:11 | in : ListOrderedMap [] : String | Test.java:5939:10:5939:21 | remove(...) : String | provenance | MaD:333 | +| Test.java:5939:10:5939:21 | remove(...) : String | Test.java:5940:9:5940:11 | out | provenance | | +| Test.java:5945:16:5945:23 | source(...) : Object | Test.java:5946:20:5946:21 | in : Object | provenance | | +| Test.java:5946:4:5946:6 | out [post update] : ListOrderedMap [] : Object | Test.java:5947:21:5947:23 | out : ListOrderedMap [] : Object | provenance | | +| Test.java:5946:20:5946:21 | in : Object | Test.java:5946:4:5946:6 | out [post update] : ListOrderedMap [] : Object | provenance | MaD:334 | +| Test.java:5947:21:5947:23 | out : ListOrderedMap [] : Object | Test.java:232:20:232:31 | map : ListOrderedMap [] : Object | provenance | | +| Test.java:5947:21:5947:23 | out : ListOrderedMap [] : Object | Test.java:5947:9:5947:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:5952:24:5952:70 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | Test.java:5953:10:5953:11 | in : ListOrderedMap [] : String | provenance | | +| Test.java:5952:54:5952:69 | (...)... : String | Test.java:296:61:296:67 | value : String | provenance | | +| Test.java:5952:54:5952:69 | (...)... : String | Test.java:5952:24:5952:70 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | provenance | MaD:12 | +| Test.java:5952:62:5952:69 | source(...) : Object | Test.java:5952:54:5952:69 | (...)... : String | provenance | | +| Test.java:5953:10:5953:11 | in : ListOrderedMap [] : String | Test.java:5953:10:5953:23 | valueList(...) : List [] : String | provenance | MaD:335 | +| Test.java:5953:10:5953:23 | valueList(...) : List [] : String | Test.java:5954:20:5954:22 | out : List [] : String | provenance | | +| Test.java:5954:20:5954:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:5954:20:5954:22 | out : List [] : String | Test.java:5954:9:5954:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5959:21:5959:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | Test.java:5960:10:5960:11 | in : MultiKeyMap [] : String | provenance | | +| Test.java:5959:40:5959:55 | (...)... : String | Test.java:297:47:297:53 | value : String | provenance | | +| Test.java:5959:40:5959:55 | (...)... : String | Test.java:5959:21:5959:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | provenance | MaD:339 | +| Test.java:5959:48:5959:55 | source(...) : Object | Test.java:5959:40:5959:55 | (...)... : String | provenance | | +| Test.java:5960:10:5960:11 | in : MultiKeyMap [] : String | Test.java:5960:10:5960:45 | get(...) : String | provenance | MaD:336 | +| Test.java:5960:10:5960:45 | get(...) : String | Test.java:5961:9:5961:11 | out | provenance | | +| Test.java:5966:21:5966:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | Test.java:5967:10:5967:11 | in : MultiKeyMap [] : String | provenance | | +| Test.java:5966:40:5966:55 | (...)... : String | Test.java:297:47:297:53 | value : String | provenance | | +| Test.java:5966:40:5966:55 | (...)... : String | Test.java:5966:21:5966:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | provenance | MaD:339 | +| Test.java:5966:48:5966:55 | source(...) : Object | Test.java:5966:40:5966:55 | (...)... : String | provenance | | +| Test.java:5967:10:5967:11 | in : MultiKeyMap [] : String | Test.java:5967:10:5967:39 | get(...) : String | provenance | MaD:336 | +| Test.java:5967:10:5967:39 | get(...) : String | Test.java:5968:9:5968:11 | out | provenance | | +| Test.java:5973:21:5973:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | Test.java:5974:10:5974:11 | in : MultiKeyMap [] : String | provenance | | +| Test.java:5973:40:5973:55 | (...)... : String | Test.java:297:47:297:53 | value : String | provenance | | +| Test.java:5973:40:5973:55 | (...)... : String | Test.java:5973:21:5973:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | provenance | MaD:339 | +| Test.java:5973:48:5973:55 | source(...) : Object | Test.java:5973:40:5973:55 | (...)... : String | provenance | | +| Test.java:5974:10:5974:11 | in : MultiKeyMap [] : String | Test.java:5974:10:5974:33 | get(...) : String | provenance | MaD:336 | +| Test.java:5974:10:5974:33 | get(...) : String | Test.java:5975:9:5975:11 | out | provenance | | +| Test.java:5980:21:5980:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | Test.java:5981:10:5981:11 | in : MultiKeyMap [] : String | provenance | | +| Test.java:5980:40:5980:55 | (...)... : String | Test.java:297:47:297:53 | value : String | provenance | | +| Test.java:5980:40:5980:55 | (...)... : String | Test.java:5980:21:5980:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | provenance | MaD:339 | +| Test.java:5980:48:5980:55 | source(...) : Object | Test.java:5980:40:5980:55 | (...)... : String | provenance | | +| Test.java:5981:10:5981:11 | in : MultiKeyMap [] : String | Test.java:5981:10:5981:27 | get(...) : String | provenance | MaD:336 | +| Test.java:5981:10:5981:27 | get(...) : String | Test.java:5982:9:5982:11 | out | provenance | | +| Test.java:5987:16:5987:31 | (...)... : String | Test.java:5988:18:5988:19 | in : String | provenance | | +| Test.java:5987:24:5987:31 | source(...) : Object | Test.java:5987:16:5987:31 | (...)... : String | provenance | | +| Test.java:5988:4:5988:6 | out [post update] : MultiKeyMap [, ] : String | Test.java:5989:30:5989:32 | out : MultiKeyMap [, ] : String | provenance | | +| Test.java:5988:18:5988:19 | in : String | Test.java:5988:4:5988:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:338 | +| Test.java:5989:20:5989:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | +| Test.java:5989:20:5989:33 | getMapKey(...) : MultiKey [] : String | Test.java:5989:9:5989:34 | getElement(...) | provenance | MaD:231 | +| Test.java:5989:30:5989:32 | out : MultiKeyMap [, ] : String | Test.java:5989:20:5989:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | +| Test.java:5994:16:5994:31 | (...)... : String | Test.java:5995:12:5995:13 | in : String | provenance | | +| Test.java:5994:24:5994:31 | source(...) : Object | Test.java:5994:16:5994:31 | (...)... : String | provenance | | +| Test.java:5995:4:5995:6 | out [post update] : MultiKeyMap [, ] : String | Test.java:5996:30:5996:32 | out : MultiKeyMap [, ] : String | provenance | | +| Test.java:5995:12:5995:13 | in : String | Test.java:5995:4:5995:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:338 | +| Test.java:5996:20:5996:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | +| Test.java:5996:20:5996:33 | getMapKey(...) : MultiKey [] : String | Test.java:5996:9:5996:34 | getElement(...) | provenance | MaD:231 | +| Test.java:5996:30:5996:32 | out : MultiKeyMap [, ] : String | Test.java:5996:20:5996:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | +| Test.java:6001:16:6001:31 | (...)... : String | Test.java:6002:24:6002:25 | in : String | provenance | | +| Test.java:6001:24:6001:31 | source(...) : Object | Test.java:6001:16:6001:31 | (...)... : String | provenance | | +| Test.java:6002:4:6002:6 | out [post update] : MultiKeyMap [] : String | Test.java:6003:21:6003:23 | out : MultiKeyMap [] : String | provenance | | +| Test.java:6002:24:6002:25 | in : String | Test.java:6002:4:6002:6 | out [post update] : MultiKeyMap [] : String | provenance | MaD:339 | +| Test.java:6003:21:6003:23 | out : MultiKeyMap [] : String | Test.java:232:20:232:31 | map : MultiKeyMap [] : String | provenance | | +| Test.java:6003:21:6003:23 | out : MultiKeyMap [] : String | Test.java:6003:9:6003:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6008:16:6008:31 | (...)... : String | Test.java:6009:24:6009:25 | in : String | provenance | | +| Test.java:6008:24:6008:31 | source(...) : Object | Test.java:6008:16:6008:31 | (...)... : String | provenance | | +| Test.java:6009:4:6009:6 | out [post update] : MultiKeyMap [, ] : String | Test.java:6010:30:6010:32 | out : MultiKeyMap [, ] : String | provenance | | +| Test.java:6009:24:6009:25 | in : String | Test.java:6009:4:6009:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:340 | +| Test.java:6010:20:6010:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | +| Test.java:6010:20:6010:33 | getMapKey(...) : MultiKey [] : String | Test.java:6010:9:6010:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6010:30:6010:32 | out : MultiKeyMap [, ] : String | Test.java:6010:20:6010:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | +| Test.java:6015:16:6015:31 | (...)... : String | Test.java:6016:18:6016:19 | in : String | provenance | | +| Test.java:6015:24:6015:31 | source(...) : Object | Test.java:6015:16:6015:31 | (...)... : String | provenance | | +| Test.java:6016:4:6016:6 | out [post update] : MultiKeyMap [, ] : String | Test.java:6017:30:6017:32 | out : MultiKeyMap [, ] : String | provenance | | +| Test.java:6016:18:6016:19 | in : String | Test.java:6016:4:6016:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:340 | +| Test.java:6017:20:6017:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | +| Test.java:6017:20:6017:33 | getMapKey(...) : MultiKey [] : String | Test.java:6017:9:6017:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6017:30:6017:32 | out : MultiKeyMap [, ] : String | Test.java:6017:20:6017:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | +| Test.java:6022:16:6022:31 | (...)... : String | Test.java:6023:12:6023:13 | in : String | provenance | | +| Test.java:6022:24:6022:31 | source(...) : Object | Test.java:6022:16:6022:31 | (...)... : String | provenance | | +| Test.java:6023:4:6023:6 | out [post update] : MultiKeyMap [, ] : String | Test.java:6024:30:6024:32 | out : MultiKeyMap [, ] : String | provenance | | +| Test.java:6023:12:6023:13 | in : String | Test.java:6023:4:6023:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:340 | +| Test.java:6024:20:6024:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | +| Test.java:6024:20:6024:33 | getMapKey(...) : MultiKey [] : String | Test.java:6024:9:6024:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6024:30:6024:32 | out : MultiKeyMap [, ] : String | Test.java:6024:20:6024:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | +| Test.java:6029:16:6029:31 | (...)... : String | Test.java:6030:30:6030:31 | in : String | provenance | | +| Test.java:6029:24:6029:31 | source(...) : Object | Test.java:6029:16:6029:31 | (...)... : String | provenance | | +| Test.java:6030:4:6030:6 | out [post update] : MultiKeyMap [] : String | Test.java:6031:21:6031:23 | out : MultiKeyMap [] : String | provenance | | +| Test.java:6030:30:6030:31 | in : String | Test.java:6030:4:6030:6 | out [post update] : MultiKeyMap [] : String | provenance | MaD:341 | +| Test.java:6031:21:6031:23 | out : MultiKeyMap [] : String | Test.java:232:20:232:31 | map : MultiKeyMap [] : String | provenance | | +| Test.java:6031:21:6031:23 | out : MultiKeyMap [] : String | Test.java:6031:9:6031:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6036:16:6036:31 | (...)... : String | Test.java:6037:30:6037:31 | in : String | provenance | | +| Test.java:6036:24:6036:31 | source(...) : Object | Test.java:6036:16:6036:31 | (...)... : String | provenance | | +| Test.java:6037:4:6037:6 | out [post update] : MultiKeyMap [, ] : String | Test.java:6038:30:6038:32 | out : MultiKeyMap [, ] : String | provenance | | +| Test.java:6037:30:6037:31 | in : String | Test.java:6037:4:6037:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:342 | +| Test.java:6038:20:6038:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | +| Test.java:6038:20:6038:33 | getMapKey(...) : MultiKey [] : String | Test.java:6038:9:6038:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6038:30:6038:32 | out : MultiKeyMap [, ] : String | Test.java:6038:20:6038:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | +| Test.java:6043:16:6043:31 | (...)... : String | Test.java:6044:24:6044:25 | in : String | provenance | | +| Test.java:6043:24:6043:31 | source(...) : Object | Test.java:6043:16:6043:31 | (...)... : String | provenance | | +| Test.java:6044:4:6044:6 | out [post update] : MultiKeyMap [, ] : String | Test.java:6045:30:6045:32 | out : MultiKeyMap [, ] : String | provenance | | +| Test.java:6044:24:6044:25 | in : String | Test.java:6044:4:6044:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:342 | +| Test.java:6045:20:6045:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | +| Test.java:6045:20:6045:33 | getMapKey(...) : MultiKey [] : String | Test.java:6045:9:6045:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6045:30:6045:32 | out : MultiKeyMap [, ] : String | Test.java:6045:20:6045:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | +| Test.java:6050:16:6050:31 | (...)... : String | Test.java:6051:18:6051:19 | in : String | provenance | | +| Test.java:6050:24:6050:31 | source(...) : Object | Test.java:6050:16:6050:31 | (...)... : String | provenance | | +| Test.java:6051:4:6051:6 | out [post update] : MultiKeyMap [, ] : String | Test.java:6052:30:6052:32 | out : MultiKeyMap [, ] : String | provenance | | +| Test.java:6051:18:6051:19 | in : String | Test.java:6051:4:6051:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:342 | +| Test.java:6052:20:6052:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | +| Test.java:6052:20:6052:33 | getMapKey(...) : MultiKey [] : String | Test.java:6052:9:6052:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6052:30:6052:32 | out : MultiKeyMap [, ] : String | Test.java:6052:20:6052:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | +| Test.java:6057:16:6057:31 | (...)... : String | Test.java:6058:12:6058:13 | in : String | provenance | | +| Test.java:6057:24:6057:31 | source(...) : Object | Test.java:6057:16:6057:31 | (...)... : String | provenance | | +| Test.java:6058:4:6058:6 | out [post update] : MultiKeyMap [, ] : String | Test.java:6059:30:6059:32 | out : MultiKeyMap [, ] : String | provenance | | +| Test.java:6058:12:6058:13 | in : String | Test.java:6058:4:6058:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:342 | +| Test.java:6059:20:6059:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | +| Test.java:6059:20:6059:33 | getMapKey(...) : MultiKey [] : String | Test.java:6059:9:6059:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6059:30:6059:32 | out : MultiKeyMap [, ] : String | Test.java:6059:20:6059:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | +| Test.java:6064:16:6064:31 | (...)... : String | Test.java:6065:36:6065:37 | in : String | provenance | | +| Test.java:6064:24:6064:31 | source(...) : Object | Test.java:6064:16:6064:31 | (...)... : String | provenance | | +| Test.java:6065:4:6065:6 | out [post update] : MultiKeyMap [] : String | Test.java:6066:21:6066:23 | out : MultiKeyMap [] : String | provenance | | +| Test.java:6065:36:6065:37 | in : String | Test.java:6065:4:6065:6 | out [post update] : MultiKeyMap [] : String | provenance | MaD:343 | +| Test.java:6066:21:6066:23 | out : MultiKeyMap [] : String | Test.java:232:20:232:31 | map : MultiKeyMap [] : String | provenance | | +| Test.java:6066:21:6066:23 | out : MultiKeyMap [] : String | Test.java:6066:9:6066:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6071:16:6071:31 | (...)... : String | Test.java:6072:36:6072:37 | in : String | provenance | | +| Test.java:6071:24:6071:31 | source(...) : Object | Test.java:6071:16:6071:31 | (...)... : String | provenance | | +| Test.java:6072:4:6072:6 | out [post update] : MultiKeyMap [, ] : String | Test.java:6073:30:6073:32 | out : MultiKeyMap [, ] : String | provenance | | +| Test.java:6072:36:6072:37 | in : String | Test.java:6072:4:6072:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:344 | +| Test.java:6073:20:6073:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | +| Test.java:6073:20:6073:33 | getMapKey(...) : MultiKey [] : String | Test.java:6073:9:6073:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6073:30:6073:32 | out : MultiKeyMap [, ] : String | Test.java:6073:20:6073:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | +| Test.java:6078:16:6078:31 | (...)... : String | Test.java:6079:30:6079:31 | in : String | provenance | | +| Test.java:6078:24:6078:31 | source(...) : Object | Test.java:6078:16:6078:31 | (...)... : String | provenance | | +| Test.java:6079:4:6079:6 | out [post update] : MultiKeyMap [, ] : String | Test.java:6080:30:6080:32 | out : MultiKeyMap [, ] : String | provenance | | +| Test.java:6079:30:6079:31 | in : String | Test.java:6079:4:6079:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:344 | +| Test.java:6080:20:6080:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | +| Test.java:6080:20:6080:33 | getMapKey(...) : MultiKey [] : String | Test.java:6080:9:6080:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6080:30:6080:32 | out : MultiKeyMap [, ] : String | Test.java:6080:20:6080:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | +| Test.java:6085:16:6085:31 | (...)... : String | Test.java:6086:24:6086:25 | in : String | provenance | | +| Test.java:6085:24:6085:31 | source(...) : Object | Test.java:6085:16:6085:31 | (...)... : String | provenance | | +| Test.java:6086:4:6086:6 | out [post update] : MultiKeyMap [, ] : String | Test.java:6087:30:6087:32 | out : MultiKeyMap [, ] : String | provenance | | +| Test.java:6086:24:6086:25 | in : String | Test.java:6086:4:6086:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:344 | +| Test.java:6087:20:6087:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | +| Test.java:6087:20:6087:33 | getMapKey(...) : MultiKey [] : String | Test.java:6087:9:6087:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6087:30:6087:32 | out : MultiKeyMap [, ] : String | Test.java:6087:20:6087:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | +| Test.java:6092:16:6092:31 | (...)... : String | Test.java:6093:18:6093:19 | in : String | provenance | | +| Test.java:6092:24:6092:31 | source(...) : Object | Test.java:6092:16:6092:31 | (...)... : String | provenance | | +| Test.java:6093:4:6093:6 | out [post update] : MultiKeyMap [, ] : String | Test.java:6094:30:6094:32 | out : MultiKeyMap [, ] : String | provenance | | +| Test.java:6093:18:6093:19 | in : String | Test.java:6093:4:6093:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:344 | +| Test.java:6094:20:6094:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | +| Test.java:6094:20:6094:33 | getMapKey(...) : MultiKey [] : String | Test.java:6094:9:6094:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6094:30:6094:32 | out : MultiKeyMap [, ] : String | Test.java:6094:20:6094:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | +| Test.java:6099:16:6099:31 | (...)... : String | Test.java:6100:12:6100:13 | in : String | provenance | | +| Test.java:6099:24:6099:31 | source(...) : Object | Test.java:6099:16:6099:31 | (...)... : String | provenance | | +| Test.java:6100:4:6100:6 | out [post update] : MultiKeyMap [, ] : String | Test.java:6101:30:6101:32 | out : MultiKeyMap [, ] : String | provenance | | +| Test.java:6100:12:6100:13 | in : String | Test.java:6100:4:6100:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:344 | +| Test.java:6101:20:6101:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | +| Test.java:6101:20:6101:33 | getMapKey(...) : MultiKey [] : String | Test.java:6101:9:6101:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6101:30:6101:32 | out : MultiKeyMap [, ] : String | Test.java:6101:20:6101:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | +| Test.java:6106:16:6106:31 | (...)... : String | Test.java:6107:42:6107:43 | in : String | provenance | | +| Test.java:6106:24:6106:31 | source(...) : Object | Test.java:6106:16:6106:31 | (...)... : String | provenance | | +| Test.java:6107:4:6107:6 | out [post update] : MultiKeyMap [] : String | Test.java:6108:21:6108:23 | out : MultiKeyMap [] : String | provenance | | +| Test.java:6107:42:6107:43 | in : String | Test.java:6107:4:6107:6 | out [post update] : MultiKeyMap [] : String | provenance | MaD:345 | +| Test.java:6108:21:6108:23 | out : MultiKeyMap [] : String | Test.java:232:20:232:31 | map : MultiKeyMap [] : String | provenance | | +| Test.java:6108:21:6108:23 | out : MultiKeyMap [] : String | Test.java:6108:9:6108:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6113:21:6113:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | Test.java:6114:10:6114:11 | in : MultiKeyMap [] : String | provenance | | +| Test.java:6113:40:6113:55 | (...)... : String | Test.java:297:47:297:53 | value : String | provenance | | +| Test.java:6113:40:6113:55 | (...)... : String | Test.java:6113:21:6113:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | provenance | MaD:339 | +| Test.java:6113:48:6113:55 | source(...) : Object | Test.java:6113:40:6113:55 | (...)... : String | provenance | | +| Test.java:6114:10:6114:11 | in : MultiKeyMap [] : String | Test.java:6114:10:6114:51 | put(...) : String | provenance | MaD:337 | +| Test.java:6114:10:6114:51 | put(...) : String | Test.java:6115:9:6115:11 | out | provenance | | +| Test.java:6120:21:6120:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | Test.java:6121:10:6121:11 | in : MultiKeyMap [] : String | provenance | | +| Test.java:6120:40:6120:55 | (...)... : String | Test.java:297:47:297:53 | value : String | provenance | | +| Test.java:6120:40:6120:55 | (...)... : String | Test.java:6120:21:6120:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | provenance | MaD:339 | +| Test.java:6120:48:6120:55 | source(...) : Object | Test.java:6120:40:6120:55 | (...)... : String | provenance | | +| Test.java:6121:10:6121:11 | in : MultiKeyMap [] : String | Test.java:6121:10:6121:45 | put(...) : String | provenance | MaD:337 | +| Test.java:6121:10:6121:45 | put(...) : String | Test.java:6122:9:6122:11 | out | provenance | | +| Test.java:6127:21:6127:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | Test.java:6128:10:6128:11 | in : MultiKeyMap [] : String | provenance | | +| Test.java:6127:40:6127:55 | (...)... : String | Test.java:297:47:297:53 | value : String | provenance | | +| Test.java:6127:40:6127:55 | (...)... : String | Test.java:6127:21:6127:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | provenance | MaD:339 | +| Test.java:6127:48:6127:55 | source(...) : Object | Test.java:6127:40:6127:55 | (...)... : String | provenance | | +| Test.java:6128:10:6128:11 | in : MultiKeyMap [] : String | Test.java:6128:10:6128:39 | put(...) : String | provenance | MaD:337 | +| Test.java:6128:10:6128:39 | put(...) : String | Test.java:6129:9:6129:11 | out | provenance | | +| Test.java:6134:21:6134:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | Test.java:6135:10:6135:11 | in : MultiKeyMap [] : String | provenance | | +| Test.java:6134:40:6134:55 | (...)... : String | Test.java:297:47:297:53 | value : String | provenance | | +| Test.java:6134:40:6134:55 | (...)... : String | Test.java:6134:21:6134:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | provenance | MaD:339 | +| Test.java:6134:48:6134:55 | source(...) : Object | Test.java:6134:40:6134:55 | (...)... : String | provenance | | +| Test.java:6135:10:6135:11 | in : MultiKeyMap [] : String | Test.java:6135:10:6135:33 | put(...) : String | provenance | MaD:337 | +| Test.java:6135:10:6135:33 | put(...) : String | Test.java:6136:9:6136:11 | out | provenance | | +| Test.java:6141:21:6141:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | Test.java:6142:10:6142:11 | in : MultiKeyMap [] : String | provenance | | +| Test.java:6141:40:6141:55 | (...)... : String | Test.java:297:47:297:53 | value : String | provenance | | +| Test.java:6141:40:6141:55 | (...)... : String | Test.java:6141:21:6141:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | provenance | MaD:339 | +| Test.java:6141:48:6141:55 | source(...) : Object | Test.java:6141:40:6141:55 | (...)... : String | provenance | | +| Test.java:6142:10:6142:11 | in : MultiKeyMap [] : String | Test.java:6142:10:6142:27 | put(...) : String | provenance | MaD:13 | +| Test.java:6142:10:6142:11 | in : MultiKeyMap [] : String | Test.java:6142:10:6142:27 | put(...) : String | provenance | MaD:337 | +| Test.java:6142:10:6142:11 | in : MultiKeyMap [] : String | Test.java:6142:10:6142:27 | put(...) : String | provenance | MaD:704 | +| Test.java:6142:10:6142:27 | put(...) : String | Test.java:6143:9:6143:11 | out | provenance | | +| Test.java:6148:21:6148:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | Test.java:6149:10:6149:11 | in : MultiKeyMap [] : String | provenance | | +| Test.java:6148:40:6148:55 | (...)... : String | Test.java:297:47:297:53 | value : String | provenance | | +| Test.java:6148:40:6148:55 | (...)... : String | Test.java:6148:21:6148:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | provenance | MaD:339 | +| Test.java:6148:48:6148:55 | source(...) : Object | Test.java:6148:40:6148:55 | (...)... : String | provenance | | +| Test.java:6149:10:6149:11 | in : MultiKeyMap [] : String | Test.java:6149:10:6149:56 | removeMultiKey(...) : String | provenance | MaD:346 | +| Test.java:6149:10:6149:56 | removeMultiKey(...) : String | Test.java:6150:9:6150:11 | out | provenance | | +| Test.java:6155:21:6155:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | Test.java:6156:10:6156:11 | in : MultiKeyMap [] : String | provenance | | +| Test.java:6155:40:6155:55 | (...)... : String | Test.java:297:47:297:53 | value : String | provenance | | +| Test.java:6155:40:6155:55 | (...)... : String | Test.java:6155:21:6155:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | provenance | MaD:339 | +| Test.java:6155:48:6155:55 | source(...) : Object | Test.java:6155:40:6155:55 | (...)... : String | provenance | | +| Test.java:6156:10:6156:11 | in : MultiKeyMap [] : String | Test.java:6156:10:6156:50 | removeMultiKey(...) : String | provenance | MaD:346 | +| Test.java:6156:10:6156:50 | removeMultiKey(...) : String | Test.java:6157:9:6157:11 | out | provenance | | +| Test.java:6162:21:6162:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | Test.java:6163:10:6163:11 | in : MultiKeyMap [] : String | provenance | | +| Test.java:6162:40:6162:55 | (...)... : String | Test.java:297:47:297:53 | value : String | provenance | | +| Test.java:6162:40:6162:55 | (...)... : String | Test.java:6162:21:6162:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | provenance | MaD:339 | +| Test.java:6162:48:6162:55 | source(...) : Object | Test.java:6162:40:6162:55 | (...)... : String | provenance | | +| Test.java:6163:10:6163:11 | in : MultiKeyMap [] : String | Test.java:6163:10:6163:44 | removeMultiKey(...) : String | provenance | MaD:346 | +| Test.java:6163:10:6163:44 | removeMultiKey(...) : String | Test.java:6164:9:6164:11 | out | provenance | | +| Test.java:6169:21:6169:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | Test.java:6170:10:6170:11 | in : MultiKeyMap [] : String | provenance | | +| Test.java:6169:40:6169:55 | (...)... : String | Test.java:297:47:297:53 | value : String | provenance | | +| Test.java:6169:40:6169:55 | (...)... : String | Test.java:6169:21:6169:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | provenance | MaD:339 | +| Test.java:6169:48:6169:55 | source(...) : Object | Test.java:6169:40:6169:55 | (...)... : String | provenance | | +| Test.java:6170:10:6170:11 | in : MultiKeyMap [] : String | Test.java:6170:10:6170:38 | removeMultiKey(...) : String | provenance | MaD:346 | +| Test.java:6170:10:6170:38 | removeMultiKey(...) : String | Test.java:6171:9:6171:11 | out | provenance | | +| Test.java:6176:23:6176:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | Test.java:6177:10:6177:11 | in : MultiValueMap [, ] : String | provenance | | +| Test.java:6176:23:6176:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:6177:10:6177:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:6176:42:6176:57 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:6176:42:6176:57 | (...)... : String | Test.java:6176:23:6176:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | provenance | MaD:662 | +| Test.java:6176:42:6176:57 | (...)... : String | Test.java:6176:23:6176:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:6176:42:6176:57 | (...)... : String | Test.java:6176:23:6176:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:6176:50:6176:57 | source(...) : Object | Test.java:6176:42:6176:57 | (...)... : String | provenance | | +| Test.java:6177:10:6177:11 | in : MultiValueMap [, ] : String | Test.java:6177:10:6177:31 | getCollection(...) : Collection [] : String | provenance | MaD:347 | +| Test.java:6177:10:6177:11 | in : MultiValueMap [] : String | Test.java:6177:10:6177:31 | getCollection(...) : Collection [] : Object | provenance | MaD:347 | +| Test.java:6177:10:6177:31 | getCollection(...) : Collection [] : Object | Test.java:6178:20:6178:22 | out : Collection [] : Object | provenance | | +| Test.java:6177:10:6177:31 | getCollection(...) : Collection [] : String | Test.java:6178:20:6178:22 | out : Collection [] : String | provenance | | +| Test.java:6178:20:6178:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | provenance | | +| Test.java:6178:20:6178:22 | out : Collection [] : Object | Test.java:6178:9:6178:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6178:20:6178:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:6178:20:6178:22 | out : Collection [] : String | Test.java:6178:9:6178:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6183:38:6183:73 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | Test.java:6184:10:6184:11 | in : MultiValueMap [, ] : String | provenance | | +| Test.java:6183:38:6183:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:6184:10:6184:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:6183:57:6183:72 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:6183:57:6183:72 | (...)... : String | Test.java:6183:38:6183:73 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | provenance | MaD:662 | +| Test.java:6183:57:6183:72 | (...)... : String | Test.java:6183:38:6183:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:6183:57:6183:72 | (...)... : String | Test.java:6183:38:6183:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:6183:65:6183:72 | source(...) : Object | Test.java:6183:57:6183:72 | (...)... : String | provenance | | +| Test.java:6184:10:6184:11 | in : MultiValueMap [, ] : String | Test.java:6184:10:6184:22 | iterator(...) : Iterator [, ] : String | provenance | MaD:349 | +| Test.java:6184:10:6184:11 | in : MultiValueMap [] : String | Test.java:6184:10:6184:22 | iterator(...) : Iterator [, ] : Object | provenance | MaD:349 | +| Test.java:6184:10:6184:22 | iterator(...) : Iterator [, ] : Object | Test.java:6185:41:6185:43 | out : Iterator [, ] : Object | provenance | | +| Test.java:6184:10:6184:22 | iterator(...) : Iterator [, ] : String | Test.java:6185:41:6185:43 | out : Iterator [, ] : String | provenance | | +| Test.java:6185:30:6185:44 | getElement(...) : Entry [] : Object | Test.java:6185:9:6185:45 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:6185:30:6185:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | provenance | | +| Test.java:6185:30:6185:44 | getElement(...) : Entry [] : String | Test.java:6185:9:6185:45 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:6185:41:6185:43 | out : Iterator [, ] : Object | Test.java:6185:30:6185:44 | getElement(...) : Entry [] : Object | provenance | MaD:4 | +| Test.java:6185:41:6185:43 | out : Iterator [, ] : String | Test.java:6185:30:6185:44 | getElement(...) : Entry [] : String | provenance | MaD:4 | +| Test.java:6190:38:6190:71 | newMVMWithMapKey(...) : MultiValueMap [] : String | Test.java:6191:10:6191:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:6190:55:6190:70 | (...)... : String | Test.java:279:47:279:51 | key : String | provenance | | +| Test.java:6190:55:6190:70 | (...)... : String | Test.java:6190:38:6190:71 | newMVMWithMapKey(...) : MultiValueMap [] : String | provenance | MaD:14 | +| Test.java:6190:55:6190:70 | (...)... : String | Test.java:6190:38:6190:71 | newMVMWithMapKey(...) : MultiValueMap [] : String | provenance | MaD:661 | +| Test.java:6190:55:6190:70 | (...)... : String | Test.java:6190:38:6190:71 | newMVMWithMapKey(...) : MultiValueMap [] : String | provenance | MaD:705 | +| Test.java:6190:63:6190:70 | source(...) : Object | Test.java:6190:55:6190:70 | (...)... : String | provenance | | +| Test.java:6191:10:6191:11 | in : MultiValueMap [] : String | Test.java:6191:10:6191:22 | iterator(...) : Iterator [, ] : String | provenance | MaD:348 | +| Test.java:6191:10:6191:22 | iterator(...) : Iterator [, ] : String | Test.java:6192:39:6192:41 | out : Iterator [, ] : String | provenance | | +| Test.java:6192:28:6192:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | provenance | | +| Test.java:6192:28:6192:42 | getElement(...) : Entry [] : String | Test.java:6192:9:6192:43 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:6192:39:6192:41 | out : Iterator [, ] : String | Test.java:6192:28:6192:42 | getElement(...) : Entry [] : String | provenance | MaD:4 | +| Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | Test.java:6198:10:6198:11 | in : MultiValueMap [, ] : String | provenance | | +| Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:6198:10:6198:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:6197:57:6197:72 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:6197:57:6197:72 | (...)... : String | Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | provenance | MaD:662 | +| Test.java:6197:57:6197:72 | (...)... : String | Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:6197:57:6197:72 | (...)... : String | Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:6197:65:6197:72 | source(...) : Object | Test.java:6197:57:6197:72 | (...)... : String | provenance | | +| Test.java:6198:10:6198:11 | in : MultiValueMap [, ] : String | Test.java:6198:10:6198:26 | iterator(...) : Iterator [] : String | provenance | MaD:350 | +| Test.java:6198:10:6198:11 | in : MultiValueMap [] : String | Test.java:6198:10:6198:26 | iterator(...) : Iterator [] : Object | provenance | MaD:350 | +| Test.java:6198:10:6198:26 | iterator(...) : Iterator [] : Object | Test.java:6199:20:6199:22 | out : Iterator [] : Object | provenance | | +| Test.java:6198:10:6198:26 | iterator(...) : Iterator [] : String | Test.java:6199:20:6199:22 | out : Iterator [] : String | provenance | | +| Test.java:6199:20:6199:22 | out : Iterator [] : Object | Test.java:231:19:231:32 | it : Iterator [] : Object | provenance | | +| Test.java:6199:20:6199:22 | out : Iterator [] : Object | Test.java:6199:9:6199:23 | getElement(...) | provenance | MaD:4 | +| Test.java:6199:20:6199:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | provenance | | +| Test.java:6199:20:6199:22 | out : Iterator [] : String | Test.java:6199:9:6199:23 | getElement(...) | provenance | MaD:4 | +| Test.java:6204:13:6204:64 | of(...) : Map [, ] : String | Test.java:6205:38:6205:39 | in : Map [, ] : String | provenance | | +| Test.java:6204:26:6204:63 | newVectorWithElement(...) : Vector [] : String | Test.java:6204:13:6204:64 | of(...) : Map [, ] : String | provenance | MaD:12 | +| Test.java:6204:47:6204:62 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:6204:47:6204:62 | (...)... : String | Test.java:6204:26:6204:63 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:6204:55:6204:62 | source(...) : Object | Test.java:6204:47:6204:62 | (...)... : String | provenance | | +| Test.java:6205:10:6205:55 | multiValueMap(...) : MultiValueMap [, ] : String | Test.java:6206:44:6206:46 | out : MultiValueMap [, ] : String | provenance | | +| Test.java:6205:38:6205:39 | in : Map [, ] : String | Test.java:6205:10:6205:55 | multiValueMap(...) : MultiValueMap [, ] : String | provenance | MaD:352 | +| Test.java:6206:20:6206:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:6206:20:6206:47 | (...)... : Collection [] : String | Test.java:6206:9:6206:48 | getElement(...) | provenance | MaD:1 | +| Test.java:6206:32:6206:47 | getMapValue(...) : Object [] : String | Test.java:6206:20:6206:47 | (...)... : Collection [] : String | provenance | | +| Test.java:6206:44:6206:46 | out : MultiValueMap [, ] : String | Test.java:232:20:232:31 | map : MultiValueMap [, ] : String | provenance | | +| Test.java:6206:44:6206:46 | out : MultiValueMap [, ] : String | Test.java:6206:32:6206:47 | getMapValue(...) : Object [] : String | provenance | MaD:9 | +| Test.java:6211:13:6211:64 | of(...) : Map [, ] : String | Test.java:6212:38:6212:39 | in : Map [, ] : String | provenance | | +| Test.java:6211:26:6211:63 | newVectorWithElement(...) : Vector [] : String | Test.java:6211:13:6211:64 | of(...) : Map [, ] : String | provenance | MaD:12 | +| Test.java:6211:47:6211:62 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:6211:47:6211:62 | (...)... : String | Test.java:6211:26:6211:63 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:6211:55:6211:62 | source(...) : Object | Test.java:6211:47:6211:62 | (...)... : String | provenance | | +| Test.java:6212:10:6212:53 | multiValueMap(...) : MultiValueMap [, ] : String | Test.java:6213:44:6213:46 | out : MultiValueMap [, ] : String | provenance | | +| Test.java:6212:38:6212:39 | in : Map [, ] : String | Test.java:6212:10:6212:53 | multiValueMap(...) : MultiValueMap [, ] : String | provenance | MaD:352 | +| Test.java:6213:20:6213:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:6213:20:6213:47 | (...)... : Collection [] : String | Test.java:6213:9:6213:48 | getElement(...) | provenance | MaD:1 | +| Test.java:6213:32:6213:47 | getMapValue(...) : Object [] : String | Test.java:6213:20:6213:47 | (...)... : Collection [] : String | provenance | | +| Test.java:6213:44:6213:46 | out : MultiValueMap [, ] : String | Test.java:232:20:232:31 | map : MultiValueMap [, ] : String | provenance | | +| Test.java:6213:44:6213:46 | out : MultiValueMap [, ] : String | Test.java:6213:32:6213:47 | getMapValue(...) : Object [] : String | provenance | MaD:9 | +| Test.java:6218:13:6218:64 | of(...) : Map [, ] : String | Test.java:6219:38:6219:39 | in : Map [, ] : String | provenance | | +| Test.java:6218:26:6218:63 | newVectorWithElement(...) : Vector [] : String | Test.java:6218:13:6218:64 | of(...) : Map [, ] : String | provenance | MaD:12 | +| Test.java:6218:47:6218:62 | (...)... : String | Test.java:269:37:269:45 | element : String | provenance | | +| Test.java:6218:47:6218:62 | (...)... : String | Test.java:6218:26:6218:63 | newVectorWithElement(...) : Vector [] : String | provenance | MaD:2 | +| Test.java:6218:55:6218:62 | source(...) : Object | Test.java:6218:47:6218:62 | (...)... : String | provenance | | +| Test.java:6219:10:6219:40 | multiValueMap(...) : MultiValueMap [, ] : String | Test.java:6220:44:6220:46 | out : MultiValueMap [, ] : String | provenance | | +| Test.java:6219:38:6219:39 | in : Map [, ] : String | Test.java:6219:10:6219:40 | multiValueMap(...) : MultiValueMap [, ] : String | provenance | MaD:352 | +| Test.java:6220:20:6220:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:6220:20:6220:47 | (...)... : Collection [] : String | Test.java:6220:9:6220:48 | getElement(...) | provenance | MaD:1 | +| Test.java:6220:32:6220:47 | getMapValue(...) : Object [] : String | Test.java:6220:20:6220:47 | (...)... : Collection [] : String | provenance | | +| Test.java:6220:44:6220:46 | out : MultiValueMap [, ] : String | Test.java:232:20:232:31 | map : MultiValueMap [, ] : String | provenance | | +| Test.java:6220:44:6220:46 | out : MultiValueMap [, ] : String | Test.java:6220:32:6220:47 | getMapValue(...) : Object [] : String | provenance | MaD:9 | +| Test.java:6225:13:6225:42 | of(...) : Map [] : String | Test.java:6226:38:6226:39 | in : Map [] : String | provenance | | +| Test.java:6225:20:6225:35 | (...)... : String | Test.java:6225:13:6225:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6225:28:6225:35 | source(...) : Object | Test.java:6225:20:6225:35 | (...)... : String | provenance | | +| Test.java:6226:10:6226:55 | multiValueMap(...) : MultiValueMap [] : String | Test.java:6227:19:6227:21 | out : MultiValueMap [] : String | provenance | | +| Test.java:6226:38:6226:39 | in : Map [] : String | Test.java:6226:10:6226:55 | multiValueMap(...) : MultiValueMap [] : String | provenance | MaD:351 | +| Test.java:6227:19:6227:21 | out : MultiValueMap [] : String | Test.java:228:18:228:29 | map : MultiValueMap [] : String | provenance | | +| Test.java:6227:19:6227:21 | out : MultiValueMap [] : String | Test.java:6227:9:6227:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6232:13:6232:42 | of(...) : Map [] : String | Test.java:6233:38:6233:39 | in : Map [] : String | provenance | | +| Test.java:6232:20:6232:35 | (...)... : String | Test.java:6232:13:6232:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6232:28:6232:35 | source(...) : Object | Test.java:6232:20:6232:35 | (...)... : String | provenance | | +| Test.java:6233:10:6233:53 | multiValueMap(...) : MultiValueMap [] : String | Test.java:6234:19:6234:21 | out : MultiValueMap [] : String | provenance | | +| Test.java:6233:38:6233:39 | in : Map [] : String | Test.java:6233:10:6233:53 | multiValueMap(...) : MultiValueMap [] : String | provenance | MaD:351 | +| Test.java:6234:19:6234:21 | out : MultiValueMap [] : String | Test.java:228:18:228:29 | map : MultiValueMap [] : String | provenance | | +| Test.java:6234:19:6234:21 | out : MultiValueMap [] : String | Test.java:6234:9:6234:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6239:13:6239:42 | of(...) : Map [] : String | Test.java:6240:38:6240:39 | in : Map [] : String | provenance | | +| Test.java:6239:20:6239:35 | (...)... : String | Test.java:6239:13:6239:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6239:28:6239:35 | source(...) : Object | Test.java:6239:20:6239:35 | (...)... : String | provenance | | +| Test.java:6240:10:6240:40 | multiValueMap(...) : MultiValueMap [] : String | Test.java:6241:19:6241:21 | out : MultiValueMap [] : String | provenance | | +| Test.java:6240:38:6240:39 | in : Map [] : String | Test.java:6240:10:6240:40 | multiValueMap(...) : MultiValueMap [] : String | provenance | MaD:351 | +| Test.java:6241:19:6241:21 | out : MultiValueMap [] : String | Test.java:228:18:228:29 | map : MultiValueMap [] : String | provenance | | +| Test.java:6241:19:6241:21 | out : MultiValueMap [] : String | Test.java:6241:9:6241:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6246:13:6246:48 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | Test.java:6247:15:6247:16 | in : MultiValueMap [, ] : String | provenance | | +| Test.java:6246:13:6246:48 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:6247:15:6247:16 | in : MultiValueMap [] : String | provenance | | +| Test.java:6246:32:6246:47 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:6246:32:6246:47 | (...)... : String | Test.java:6246:13:6246:48 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | provenance | MaD:662 | +| Test.java:6246:32:6246:47 | (...)... : String | Test.java:6246:13:6246:48 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:6246:32:6246:47 | (...)... : String | Test.java:6246:13:6246:48 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:6246:40:6246:47 | source(...) : Object | Test.java:6246:32:6246:47 | (...)... : String | provenance | | +| Test.java:6247:4:6247:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:6248:44:6248:46 | out : MultiValueMap [, ] : Object | provenance | | +| Test.java:6247:4:6247:6 | out [post update] : MultiValueMap [, ] : String | Test.java:6248:44:6248:46 | out : MultiValueMap [, ] : String | provenance | | +| Test.java:6247:15:6247:16 | in : MultiValueMap [, ] : String | Test.java:6247:4:6247:6 | out [post update] : MultiValueMap [, ] : String | provenance | MaD:17 | +| Test.java:6247:15:6247:16 | in : MultiValueMap [, ] : String | Test.java:6247:4:6247:6 | out [post update] : MultiValueMap [, ] : String | provenance | MaD:354 | +| Test.java:6247:15:6247:16 | in : MultiValueMap [, ] : String | Test.java:6247:4:6247:6 | out [post update] : MultiValueMap [, ] : String | provenance | MaD:708 | +| Test.java:6247:15:6247:16 | in : MultiValueMap [] : String | Test.java:6247:4:6247:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:354 | +| Test.java:6247:15:6247:16 | in : MultiValueMap [] : String | Test.java:6247:4:6247:6 | out [post update] : MultiValueMap [, ] : String | provenance | MaD:353 | +| Test.java:6248:20:6248:47 | (...)... : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | provenance | | +| Test.java:6248:20:6248:47 | (...)... : Collection [] : Object | Test.java:6248:9:6248:48 | getElement(...) | provenance | MaD:1 | +| Test.java:6248:20:6248:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:6248:20:6248:47 | (...)... : Collection [] : String | Test.java:6248:9:6248:48 | getElement(...) | provenance | MaD:1 | +| Test.java:6248:32:6248:47 | getMapValue(...) : Object [] : Object | Test.java:6248:20:6248:47 | (...)... : Collection [] : Object | provenance | | +| Test.java:6248:32:6248:47 | getMapValue(...) : Object [] : String | Test.java:6248:20:6248:47 | (...)... : Collection [] : String | provenance | | +| Test.java:6248:44:6248:46 | out : MultiValueMap [, ] : Object | Test.java:232:20:232:31 | map : MultiValueMap [, ] : Object | provenance | | +| Test.java:6248:44:6248:46 | out : MultiValueMap [, ] : Object | Test.java:6248:32:6248:47 | getMapValue(...) : Object [] : Object | provenance | MaD:9 | +| Test.java:6248:44:6248:46 | out : MultiValueMap [, ] : String | Test.java:232:20:232:31 | map : MultiValueMap [, ] : String | provenance | | +| Test.java:6248:44:6248:46 | out : MultiValueMap [, ] : String | Test.java:6248:32:6248:47 | getMapValue(...) : Object [] : String | provenance | MaD:9 | +| Test.java:6253:13:6253:34 | of(...) : Map [] : Object | Test.java:6254:15:6254:16 | in : Map [] : Object | provenance | | +| Test.java:6253:26:6253:33 | source(...) : Object | Test.java:6253:13:6253:34 | of(...) : Map [] : Object | provenance | MaD:12 | +| Test.java:6254:4:6254:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:6255:44:6255:46 | out : MultiValueMap [, ] : Object | provenance | | +| Test.java:6254:4:6254:6 | out [post update] : MultiValueMap [] : Object | Test.java:6255:44:6255:46 | out : MultiValueMap [] : Object | provenance | | +| Test.java:6254:15:6254:16 | in : Map [] : Object | Test.java:6254:4:6254:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:353 | +| Test.java:6254:15:6254:16 | in : Map [] : Object | Test.java:6254:4:6254:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:354 | +| Test.java:6254:15:6254:16 | in : Map [] : Object | Test.java:6254:4:6254:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:17 | +| Test.java:6254:15:6254:16 | in : Map [] : Object | Test.java:6254:4:6254:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:708 | +| Test.java:6255:20:6255:47 | (...)... : Collection | Test.java:230:19:230:32 | it : Collection | provenance | | +| Test.java:6255:20:6255:47 | (...)... : Collection | Test.java:6255:9:6255:48 | getElement(...) | provenance | MaD:1 | +| Test.java:6255:20:6255:47 | (...)... : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | provenance | | +| Test.java:6255:20:6255:47 | (...)... : Collection [] : Object | Test.java:6255:9:6255:48 | getElement(...) | provenance | MaD:1 | +| Test.java:6255:32:6255:47 | getMapValue(...) : Object | Test.java:6255:20:6255:47 | (...)... : Collection | provenance | | +| Test.java:6255:32:6255:47 | getMapValue(...) : Object [] : Object | Test.java:6255:20:6255:47 | (...)... : Collection [] : Object | provenance | | +| Test.java:6255:44:6255:46 | out : MultiValueMap [, ] : Object | Test.java:232:20:232:31 | map : MultiValueMap [, ] : Object | provenance | | +| Test.java:6255:44:6255:46 | out : MultiValueMap [, ] : Object | Test.java:6255:32:6255:47 | getMapValue(...) : Object [] : Object | provenance | MaD:9 | +| Test.java:6255:44:6255:46 | out : MultiValueMap [] : Object | Test.java:232:20:232:31 | map : MultiValueMap [] : Object | provenance | | +| Test.java:6255:44:6255:46 | out : MultiValueMap [] : Object | Test.java:6255:32:6255:47 | getMapValue(...) : Object | provenance | MaD:9 | +| Test.java:6260:16:6260:23 | source(...) : Object | Test.java:6261:15:6261:16 | in : Object | provenance | | +| Test.java:6261:4:6261:6 | out [post update] : MultiValueMap [] : Object | Test.java:6262:19:6262:21 | out : MultiValueMap [] : Object | provenance | | +| Test.java:6261:15:6261:16 | in : Object | Test.java:6261:4:6261:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:355 | +| Test.java:6262:19:6262:21 | out : MultiValueMap [] : Object | Test.java:228:18:228:29 | map : MultiValueMap [] : Object | provenance | | +| Test.java:6262:19:6262:21 | out : MultiValueMap [] : Object | Test.java:6262:9:6262:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6267:20:6267:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:6268:21:6268:22 | in : TreeBag [] : String | provenance | | +| Test.java:6267:42:6267:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:6267:42:6267:57 | (...)... : String | Test.java:6267:20:6267:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:6267:42:6267:57 | (...)... : String | Test.java:6267:20:6267:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:6267:50:6267:57 | source(...) : Object | Test.java:6267:42:6267:57 | (...)... : String | provenance | | +| Test.java:6268:4:6268:6 | out [post update] : MultiValueMap [, ] : String | Test.java:6269:44:6269:46 | out : MultiValueMap [, ] : String | provenance | | +| Test.java:6268:21:6268:22 | in : TreeBag [] : String | Test.java:6268:4:6268:6 | out [post update] : MultiValueMap [, ] : String | provenance | MaD:356 | +| Test.java:6269:20:6269:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:6269:20:6269:47 | (...)... : Collection [] : String | Test.java:6269:9:6269:48 | getElement(...) | provenance | MaD:1 | +| Test.java:6269:32:6269:47 | getMapValue(...) : Object [] : String | Test.java:6269:20:6269:47 | (...)... : Collection [] : String | provenance | | +| Test.java:6269:44:6269:46 | out : MultiValueMap [, ] : String | Test.java:232:20:232:31 | map : MultiValueMap [, ] : String | provenance | | +| Test.java:6269:44:6269:46 | out : MultiValueMap [, ] : String | Test.java:6269:32:6269:47 | getMapValue(...) : Object [] : String | provenance | MaD:9 | +| Test.java:6274:23:6274:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | Test.java:6275:10:6275:11 | in : MultiValueMap [, ] : String | provenance | | +| Test.java:6274:23:6274:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:6275:10:6275:11 | in : MultiValueMap [] : String | provenance | | +| Test.java:6274:42:6274:57 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | +| Test.java:6274:42:6274:57 | (...)... : String | Test.java:6274:23:6274:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | provenance | MaD:662 | +| Test.java:6274:42:6274:57 | (...)... : String | Test.java:6274:23:6274:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:15 | +| Test.java:6274:42:6274:57 | (...)... : String | Test.java:6274:23:6274:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | provenance | MaD:706 | +| Test.java:6274:50:6274:57 | source(...) : Object | Test.java:6274:42:6274:57 | (...)... : String | provenance | | +| Test.java:6275:10:6275:11 | in : MultiValueMap [, ] : String | Test.java:6275:10:6275:20 | values(...) : Collection [] : String | provenance | MaD:357 | +| Test.java:6275:10:6275:11 | in : MultiValueMap [, ] : String | Test.java:6275:10:6275:20 | values(...) : Collection [] : String | provenance | MaD:663 | +| Test.java:6275:10:6275:11 | in : MultiValueMap [] : String | Test.java:6275:10:6275:20 | values(...) : Collection [] : Object | provenance | MaD:357 | +| Test.java:6275:10:6275:11 | in : MultiValueMap [] : String | Test.java:6275:10:6275:20 | values(...) : Collection [] : Object | provenance | MaD:663 | +| Test.java:6275:10:6275:11 | in : MultiValueMap [] : String | Test.java:6275:10:6275:20 | values(...) : Collection [] : String | provenance | MaD:19 | +| Test.java:6275:10:6275:11 | in : MultiValueMap [] : String | Test.java:6275:10:6275:20 | values(...) : Collection [] : String | provenance | MaD:486 | +| Test.java:6275:10:6275:20 | values(...) : Collection [] : Object | Test.java:6276:20:6276:22 | out : Collection [] : Object | provenance | | +| Test.java:6275:10:6275:20 | values(...) : Collection [] : String | Test.java:6276:20:6276:22 | out : Collection [] : String | provenance | | +| Test.java:6276:20:6276:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | provenance | | +| Test.java:6276:20:6276:22 | out : Collection [] : Object | Test.java:6276:9:6276:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6276:20:6276:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:6276:20:6276:22 | out : Collection [] : String | Test.java:6276:9:6276:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6281:13:6281:42 | of(...) : Map [] : String | Test.java:6282:76:6282:77 | in : Map [] : String | provenance | | +| Test.java:6281:20:6281:35 | (...)... : String | Test.java:6281:13:6281:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6281:28:6281:35 | source(...) : Object | Test.java:6281:20:6281:35 | (...)... : String | provenance | | +| Test.java:6282:10:6282:78 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | Test.java:6283:19:6283:21 | out : PassiveExpiringMap [] : String | provenance | | +| Test.java:6282:76:6282:77 | in : Map [] : String | Test.java:6282:10:6282:78 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | provenance | MaD:358 | +| Test.java:6283:19:6283:21 | out : PassiveExpiringMap [] : String | Test.java:228:18:228:29 | map : PassiveExpiringMap [] : String | provenance | | +| Test.java:6283:19:6283:21 | out : PassiveExpiringMap [] : String | Test.java:6283:9:6283:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6288:13:6288:42 | of(...) : Map [] : String | Test.java:6289:76:6289:77 | in : Map [] : String | provenance | | +| Test.java:6288:26:6288:41 | (...)... : String | Test.java:6288:13:6288:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:6288:34:6288:41 | source(...) : Object | Test.java:6288:26:6288:41 | (...)... : String | provenance | | +| Test.java:6289:10:6289:78 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | Test.java:6290:21:6290:23 | out : PassiveExpiringMap [] : String | provenance | | +| Test.java:6289:76:6289:77 | in : Map [] : String | Test.java:6289:10:6289:78 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | provenance | MaD:359 | +| Test.java:6290:21:6290:23 | out : PassiveExpiringMap [] : String | Test.java:232:20:232:31 | map : PassiveExpiringMap [] : String | provenance | | +| Test.java:6290:21:6290:23 | out : PassiveExpiringMap [] : String | Test.java:6290:9:6290:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6295:13:6295:42 | of(...) : Map [] : String | Test.java:6296:33:6296:34 | in : Map [] : String | provenance | | +| Test.java:6295:20:6295:35 | (...)... : String | Test.java:6295:13:6295:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6295:28:6295:35 | source(...) : Object | Test.java:6295:20:6295:35 | (...)... : String | provenance | | +| Test.java:6296:10:6296:35 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | Test.java:6297:19:6297:21 | out : PassiveExpiringMap [] : String | provenance | | +| Test.java:6296:33:6296:34 | in : Map [] : String | Test.java:6296:10:6296:35 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | provenance | MaD:360 | +| Test.java:6297:19:6297:21 | out : PassiveExpiringMap [] : String | Test.java:228:18:228:29 | map : PassiveExpiringMap [] : String | provenance | | +| Test.java:6297:19:6297:21 | out : PassiveExpiringMap [] : String | Test.java:6297:9:6297:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6302:13:6302:42 | of(...) : Map [] : String | Test.java:6303:33:6303:34 | in : Map [] : String | provenance | | +| Test.java:6302:26:6302:41 | (...)... : String | Test.java:6302:13:6302:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:6302:34:6302:41 | source(...) : Object | Test.java:6302:26:6302:41 | (...)... : String | provenance | | +| Test.java:6303:10:6303:35 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | Test.java:6304:21:6304:23 | out : PassiveExpiringMap [] : String | provenance | | +| Test.java:6303:33:6303:34 | in : Map [] : String | Test.java:6303:10:6303:35 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | provenance | MaD:361 | +| Test.java:6304:21:6304:23 | out : PassiveExpiringMap [] : String | Test.java:232:20:232:31 | map : PassiveExpiringMap [] : String | provenance | | +| Test.java:6304:21:6304:23 | out : PassiveExpiringMap [] : String | Test.java:6304:9:6304:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6309:13:6309:42 | of(...) : Map [] : String | Test.java:6310:37:6310:38 | in : Map [] : String | provenance | | +| Test.java:6309:20:6309:35 | (...)... : String | Test.java:6309:13:6309:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6309:28:6309:35 | source(...) : Object | Test.java:6309:20:6309:35 | (...)... : String | provenance | | +| Test.java:6310:10:6310:39 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | Test.java:6311:19:6311:21 | out : PassiveExpiringMap [] : String | provenance | | +| Test.java:6310:37:6310:38 | in : Map [] : String | Test.java:6310:10:6310:39 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | provenance | MaD:362 | +| Test.java:6311:19:6311:21 | out : PassiveExpiringMap [] : String | Test.java:228:18:228:29 | map : PassiveExpiringMap [] : String | provenance | | +| Test.java:6311:19:6311:21 | out : PassiveExpiringMap [] : String | Test.java:6311:9:6311:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6316:13:6316:42 | of(...) : Map [] : String | Test.java:6317:37:6317:38 | in : Map [] : String | provenance | | +| Test.java:6316:26:6316:41 | (...)... : String | Test.java:6316:13:6316:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:6316:34:6316:41 | source(...) : Object | Test.java:6316:26:6316:41 | (...)... : String | provenance | | +| Test.java:6317:10:6317:39 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | Test.java:6318:21:6318:23 | out : PassiveExpiringMap [] : String | provenance | | +| Test.java:6317:37:6317:38 | in : Map [] : String | Test.java:6317:10:6317:39 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | provenance | MaD:363 | +| Test.java:6318:21:6318:23 | out : PassiveExpiringMap [] : String | Test.java:232:20:232:31 | map : PassiveExpiringMap [] : String | provenance | | +| Test.java:6318:21:6318:23 | out : PassiveExpiringMap [] : String | Test.java:6318:9:6318:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6323:13:6323:42 | of(...) : Map [] : String | Test.java:6324:43:6324:44 | in : Map [] : String | provenance | | +| Test.java:6323:20:6323:35 | (...)... : String | Test.java:6323:13:6323:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6323:28:6323:35 | source(...) : Object | Test.java:6323:20:6323:35 | (...)... : String | provenance | | +| Test.java:6324:10:6324:45 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | Test.java:6325:19:6325:21 | out : PassiveExpiringMap [] : String | provenance | | +| Test.java:6324:43:6324:44 | in : Map [] : String | Test.java:6324:10:6324:45 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | provenance | MaD:364 | +| Test.java:6325:19:6325:21 | out : PassiveExpiringMap [] : String | Test.java:228:18:228:29 | map : PassiveExpiringMap [] : String | provenance | | +| Test.java:6325:19:6325:21 | out : PassiveExpiringMap [] : String | Test.java:6325:9:6325:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6330:13:6330:42 | of(...) : Map [] : String | Test.java:6331:43:6331:44 | in : Map [] : String | provenance | | +| Test.java:6330:26:6330:41 | (...)... : String | Test.java:6330:13:6330:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:6330:34:6330:41 | source(...) : Object | Test.java:6330:26:6330:41 | (...)... : String | provenance | | +| Test.java:6331:10:6331:45 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | Test.java:6332:21:6332:23 | out : PassiveExpiringMap [] : String | provenance | | +| Test.java:6331:43:6331:44 | in : Map [] : String | Test.java:6331:10:6331:45 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | provenance | MaD:365 | +| Test.java:6332:21:6332:23 | out : PassiveExpiringMap [] : String | Test.java:232:20:232:31 | map : PassiveExpiringMap [] : String | provenance | | +| Test.java:6332:21:6332:23 | out : PassiveExpiringMap [] : String | Test.java:6332:9:6332:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6337:13:6337:42 | of(...) : Map [] : String | Test.java:6338:38:6338:39 | in : Map [] : String | provenance | | +| Test.java:6337:20:6337:35 | (...)... : String | Test.java:6337:13:6337:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6337:28:6337:35 | source(...) : Object | Test.java:6337:20:6337:35 | (...)... : String | provenance | | +| Test.java:6338:10:6338:52 | predicatedMap(...) : PredicatedMap [] : String | Test.java:6339:19:6339:21 | out : PredicatedMap [] : String | provenance | | +| Test.java:6338:38:6338:39 | in : Map [] : String | Test.java:6338:10:6338:52 | predicatedMap(...) : PredicatedMap [] : String | provenance | MaD:366 | +| Test.java:6339:19:6339:21 | out : PredicatedMap [] : String | Test.java:228:18:228:29 | map : PredicatedMap [] : String | provenance | | +| Test.java:6339:19:6339:21 | out : PredicatedMap [] : String | Test.java:6339:9:6339:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6344:13:6344:42 | of(...) : Map [] : String | Test.java:6345:38:6345:39 | in : Map [] : String | provenance | | +| Test.java:6344:26:6344:41 | (...)... : String | Test.java:6344:13:6344:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:6344:34:6344:41 | source(...) : Object | Test.java:6344:26:6344:41 | (...)... : String | provenance | | +| Test.java:6345:10:6345:52 | predicatedMap(...) : PredicatedMap [] : String | Test.java:6346:21:6346:23 | out : PredicatedMap [] : String | provenance | | +| Test.java:6345:38:6345:39 | in : Map [] : String | Test.java:6345:10:6345:52 | predicatedMap(...) : PredicatedMap [] : String | provenance | MaD:367 | +| Test.java:6346:21:6346:23 | out : PredicatedMap [] : String | Test.java:232:20:232:31 | map : PredicatedMap [] : String | provenance | | +| Test.java:6346:21:6346:23 | out : PredicatedMap [] : String | Test.java:6346:9:6346:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6351:19:6351:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:6352:50:6352:51 | in : TreeMap [] : String | provenance | | +| Test.java:6351:40:6351:55 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:6351:40:6351:55 | (...)... : String | Test.java:6351:19:6351:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:6351:48:6351:55 | source(...) : Object | Test.java:6351:40:6351:55 | (...)... : String | provenance | | +| Test.java:6352:10:6352:64 | predicatedSortedMap(...) : PredicatedSortedMap [] : String | Test.java:6353:19:6353:21 | out : PredicatedSortedMap [] : String | provenance | | +| Test.java:6352:50:6352:51 | in : TreeMap [] : String | Test.java:6352:10:6352:64 | predicatedSortedMap(...) : PredicatedSortedMap [] : String | provenance | MaD:368 | +| Test.java:6353:19:6353:21 | out : PredicatedSortedMap [] : String | Test.java:228:18:228:29 | map : PredicatedSortedMap [] : String | provenance | | +| Test.java:6353:19:6353:21 | out : PredicatedSortedMap [] : String | Test.java:6353:9:6353:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6358:19:6358:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:6359:50:6359:51 | in : TreeMap [] : String | provenance | | +| Test.java:6358:42:6358:57 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:6358:42:6358:57 | (...)... : String | Test.java:6358:19:6358:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:6358:50:6358:57 | source(...) : Object | Test.java:6358:42:6358:57 | (...)... : String | provenance | | +| Test.java:6359:10:6359:64 | predicatedSortedMap(...) : PredicatedSortedMap [] : String | Test.java:6360:21:6360:23 | out : PredicatedSortedMap [] : String | provenance | | +| Test.java:6359:50:6359:51 | in : TreeMap [] : String | Test.java:6359:10:6359:64 | predicatedSortedMap(...) : PredicatedSortedMap [] : String | provenance | MaD:369 | +| Test.java:6360:21:6360:23 | out : PredicatedSortedMap [] : String | Test.java:232:20:232:31 | map : PredicatedSortedMap [] : String | provenance | | +| Test.java:6360:21:6360:23 | out : PredicatedSortedMap [] : String | Test.java:6360:9:6360:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6365:19:6365:52 | newTMEWithMapKey(...) : TiedMapEntry [] : String | Test.java:6366:27:6366:28 | in : TiedMapEntry [] : String | provenance | | +| Test.java:6365:36:6365:51 | (...)... : String | Test.java:286:46:286:50 | key : String | provenance | | +| Test.java:6365:36:6365:51 | (...)... : String | Test.java:6365:19:6365:52 | newTMEWithMapKey(...) : TiedMapEntry [] : String | provenance | MaD:234 | +| Test.java:6365:44:6365:51 | source(...) : Object | Test.java:6365:36:6365:51 | (...)... : String | provenance | | +| Test.java:6366:10:6366:29 | new SingletonMap<>(...) : SingletonMap [] : String | Test.java:6367:19:6367:21 | out : SingletonMap [] : String | provenance | | +| Test.java:6366:27:6366:28 | in : TiedMapEntry [] : String | Test.java:6366:10:6366:29 | new SingletonMap<>(...) : SingletonMap [] : String | provenance | MaD:370 | +| Test.java:6367:19:6367:21 | out : SingletonMap [] : String | Test.java:228:18:228:29 | map : SingletonMap [] : String | provenance | | +| Test.java:6367:19:6367:21 | out : SingletonMap [] : String | Test.java:6367:9:6367:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6372:19:6372:54 | newTMEWithMapValue(...) : TiedMapEntry [] : String | Test.java:6373:27:6373:28 | in : TiedMapEntry [] : String | provenance | | +| Test.java:6372:38:6372:53 | (...)... : String | Test.java:305:48:305:54 | value : String | provenance | | +| Test.java:6372:38:6372:53 | (...)... : String | Test.java:6372:19:6372:54 | newTMEWithMapValue(...) : TiedMapEntry [] : String | provenance | MaD:15 | +| Test.java:6372:46:6372:53 | source(...) : Object | Test.java:6372:38:6372:53 | (...)... : String | provenance | | +| Test.java:6373:10:6373:29 | new SingletonMap<>(...) : SingletonMap [] : String | Test.java:6374:21:6374:23 | out : SingletonMap [] : String | provenance | | +| Test.java:6373:27:6373:28 | in : TiedMapEntry [] : String | Test.java:6373:10:6373:29 | new SingletonMap<>(...) : SingletonMap [] : String | provenance | MaD:371 | +| Test.java:6374:21:6374:23 | out : SingletonMap [] : String | Test.java:232:20:232:31 | map : SingletonMap [] : String | provenance | | +| Test.java:6374:21:6374:23 | out : SingletonMap [] : String | Test.java:6374:9:6374:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6379:18:6379:51 | newDKVWithMapKey(...) : DefaultKeyValue [] : String | Test.java:6380:27:6380:28 | in : DefaultKeyValue [] : String | provenance | | +| Test.java:6379:35:6379:50 | (...)... : String | Test.java:273:49:273:53 | key : String | provenance | | +| Test.java:6379:35:6379:50 | (...)... : String | Test.java:6379:18:6379:51 | newDKVWithMapKey(...) : DefaultKeyValue [] : String | provenance | MaD:205 | +| Test.java:6379:43:6379:50 | source(...) : Object | Test.java:6379:35:6379:50 | (...)... : String | provenance | | +| Test.java:6380:10:6380:29 | new SingletonMap<>(...) : SingletonMap [] : String | Test.java:6381:19:6381:21 | out : SingletonMap [] : String | provenance | | +| Test.java:6380:27:6380:28 | in : DefaultKeyValue [] : String | Test.java:6380:10:6380:29 | new SingletonMap<>(...) : SingletonMap [] : String | provenance | MaD:372 | +| Test.java:6381:19:6381:21 | out : SingletonMap [] : String | Test.java:228:18:228:29 | map : SingletonMap [] : String | provenance | | +| Test.java:6381:19:6381:21 | out : SingletonMap [] : String | Test.java:6381:9:6381:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6386:18:6386:53 | newDKVWithMapValue(...) : DefaultKeyValue [] : String | Test.java:6387:27:6387:28 | in : DefaultKeyValue [] : String | provenance | | +| Test.java:6386:37:6386:52 | (...)... : String | Test.java:291:51:291:57 | value : String | provenance | | +| Test.java:6386:37:6386:52 | (...)... : String | Test.java:6386:18:6386:53 | newDKVWithMapValue(...) : DefaultKeyValue [] : String | provenance | MaD:206 | +| Test.java:6386:45:6386:52 | source(...) : Object | Test.java:6386:37:6386:52 | (...)... : String | provenance | | +| Test.java:6387:10:6387:29 | new SingletonMap<>(...) : SingletonMap [] : String | Test.java:6388:21:6388:23 | out : SingletonMap [] : String | provenance | | +| Test.java:6387:27:6387:28 | in : DefaultKeyValue [] : String | Test.java:6387:10:6387:29 | new SingletonMap<>(...) : SingletonMap [] : String | provenance | MaD:373 | +| Test.java:6388:21:6388:23 | out : SingletonMap [] : String | Test.java:232:20:232:31 | map : SingletonMap [] : String | provenance | | +| Test.java:6388:21:6388:23 | out : SingletonMap [] : String | Test.java:6388:9:6388:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6393:13:6393:42 | of(...) : Map [] : String | Test.java:6394:27:6394:28 | in : Map [] : String | provenance | | +| Test.java:6393:20:6393:35 | (...)... : String | Test.java:6393:13:6393:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6393:28:6393:35 | source(...) : Object | Test.java:6393:20:6393:35 | (...)... : String | provenance | | +| Test.java:6394:10:6394:29 | new SingletonMap<>(...) : SingletonMap [] : String | Test.java:6395:19:6395:21 | out : SingletonMap [] : String | provenance | | +| Test.java:6394:27:6394:28 | in : Map [] : String | Test.java:6394:10:6394:29 | new SingletonMap<>(...) : SingletonMap [] : String | provenance | MaD:374 | +| Test.java:6395:19:6395:21 | out : SingletonMap [] : String | Test.java:228:18:228:29 | map : SingletonMap [] : String | provenance | | +| Test.java:6395:19:6395:21 | out : SingletonMap [] : String | Test.java:6395:9:6395:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6400:13:6400:42 | of(...) : Map [] : String | Test.java:6401:27:6401:28 | in : Map [] : String | provenance | | +| Test.java:6400:26:6400:41 | (...)... : String | Test.java:6400:13:6400:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:6400:34:6400:41 | source(...) : Object | Test.java:6400:26:6400:41 | (...)... : String | provenance | | +| Test.java:6401:10:6401:29 | new SingletonMap<>(...) : SingletonMap [] : String | Test.java:6402:21:6402:23 | out : SingletonMap [] : String | provenance | | +| Test.java:6401:27:6401:28 | in : Map [] : String | Test.java:6401:10:6401:29 | new SingletonMap<>(...) : SingletonMap [] : String | provenance | MaD:375 | +| Test.java:6402:21:6402:23 | out : SingletonMap [] : String | Test.java:232:20:232:31 | map : SingletonMap [] : String | provenance | | +| Test.java:6402:21:6402:23 | out : SingletonMap [] : String | Test.java:6402:9:6402:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6407:16:6407:23 | source(...) : Object | Test.java:6408:27:6408:28 | in : Object | provenance | | +| Test.java:6408:10:6408:35 | new SingletonMap<>(...) : SingletonMap [] : Object | Test.java:6409:19:6409:21 | out : SingletonMap [] : Object | provenance | | +| Test.java:6408:27:6408:28 | in : Object | Test.java:6408:10:6408:35 | new SingletonMap<>(...) : SingletonMap [] : Object | provenance | MaD:376 | +| Test.java:6409:19:6409:21 | out : SingletonMap [] : Object | Test.java:228:18:228:29 | map : SingletonMap [] : Object | provenance | | +| Test.java:6409:19:6409:21 | out : SingletonMap [] : Object | Test.java:6409:9:6409:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6414:16:6414:23 | source(...) : Object | Test.java:6415:33:6415:34 | in : Object | provenance | | +| Test.java:6415:10:6415:35 | new SingletonMap<>(...) : SingletonMap [] : Object | Test.java:6416:21:6416:23 | out : SingletonMap [] : Object | provenance | | +| Test.java:6415:33:6415:34 | in : Object | Test.java:6415:10:6415:35 | new SingletonMap<>(...) : SingletonMap [] : Object | provenance | MaD:377 | +| Test.java:6416:21:6416:23 | out : SingletonMap [] : Object | Test.java:232:20:232:31 | map : SingletonMap [] : Object | provenance | | +| Test.java:6416:21:6416:23 | out : SingletonMap [] : Object | Test.java:6416:9:6416:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6421:16:6421:23 | source(...) : Object | Test.java:6422:17:6422:18 | in : Object | provenance | | +| Test.java:6422:4:6422:6 | out [post update] : SingletonMap [] : Object | Test.java:6423:21:6423:23 | out : SingletonMap [] : Object | provenance | | +| Test.java:6422:17:6422:18 | in : Object | Test.java:6422:4:6422:6 | out [post update] : SingletonMap [] : Object | provenance | MaD:378 | +| Test.java:6423:21:6423:23 | out : SingletonMap [] : Object | Test.java:232:20:232:31 | map : SingletonMap [] : Object | provenance | | +| Test.java:6423:21:6423:23 | out : SingletonMap [] : Object | Test.java:6423:9:6423:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6428:13:6428:42 | of(...) : Map [] : String | Test.java:6429:41:6429:42 | in : Map [] : String | provenance | | +| Test.java:6428:20:6428:35 | (...)... : String | Test.java:6428:13:6428:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6428:28:6428:35 | source(...) : Object | Test.java:6428:20:6428:35 | (...)... : String | provenance | | +| Test.java:6429:10:6429:55 | transformingMap(...) : TransformedMap [] : String | Test.java:6430:19:6430:21 | out : TransformedMap [] : String | provenance | | +| Test.java:6429:41:6429:42 | in : Map [] : String | Test.java:6429:10:6429:55 | transformingMap(...) : TransformedMap [] : String | provenance | MaD:379 | +| Test.java:6430:19:6430:21 | out : TransformedMap [] : String | Test.java:228:18:228:29 | map : TransformedMap [] : String | provenance | | +| Test.java:6430:19:6430:21 | out : TransformedMap [] : String | Test.java:6430:9:6430:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6435:13:6435:42 | of(...) : Map [] : String | Test.java:6436:41:6436:42 | in : Map [] : String | provenance | | +| Test.java:6435:26:6435:41 | (...)... : String | Test.java:6435:13:6435:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:6435:34:6435:41 | source(...) : Object | Test.java:6435:26:6435:41 | (...)... : String | provenance | | +| Test.java:6436:10:6436:55 | transformingMap(...) : TransformedMap [] : String | Test.java:6437:21:6437:23 | out : TransformedMap [] : String | provenance | | +| Test.java:6436:41:6436:42 | in : Map [] : String | Test.java:6436:10:6436:55 | transformingMap(...) : TransformedMap [] : String | provenance | MaD:380 | +| Test.java:6437:21:6437:23 | out : TransformedMap [] : String | Test.java:232:20:232:31 | map : TransformedMap [] : String | provenance | | +| Test.java:6437:21:6437:23 | out : TransformedMap [] : String | Test.java:6437:9:6437:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6442:19:6442:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:6443:53:6443:54 | in : TreeMap [] : String | provenance | | +| Test.java:6442:40:6442:55 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:6442:40:6442:55 | (...)... : String | Test.java:6442:19:6442:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:6442:48:6442:55 | source(...) : Object | Test.java:6442:40:6442:55 | (...)... : String | provenance | | +| Test.java:6443:10:6443:67 | transformingSortedMap(...) : TransformedSortedMap [] : String | Test.java:6444:19:6444:21 | out : TransformedSortedMap [] : String | provenance | | +| Test.java:6443:53:6443:54 | in : TreeMap [] : String | Test.java:6443:10:6443:67 | transformingSortedMap(...) : TransformedSortedMap [] : String | provenance | MaD:381 | +| Test.java:6444:19:6444:21 | out : TransformedSortedMap [] : String | Test.java:228:18:228:29 | map : TransformedSortedMap [] : String | provenance | | +| Test.java:6444:19:6444:21 | out : TransformedSortedMap [] : String | Test.java:6444:9:6444:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6449:19:6449:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:6450:53:6450:54 | in : TreeMap [] : String | provenance | | +| Test.java:6449:42:6449:57 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:6449:42:6449:57 | (...)... : String | Test.java:6449:19:6449:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:6449:50:6449:57 | source(...) : Object | Test.java:6449:42:6449:57 | (...)... : String | provenance | | +| Test.java:6450:10:6450:67 | transformingSortedMap(...) : TransformedSortedMap [] : String | Test.java:6451:21:6451:23 | out : TransformedSortedMap [] : String | provenance | | +| Test.java:6450:53:6450:54 | in : TreeMap [] : String | Test.java:6450:10:6450:67 | transformingSortedMap(...) : TransformedSortedMap [] : String | provenance | MaD:382 | +| Test.java:6451:21:6451:23 | out : TransformedSortedMap [] : String | Test.java:232:20:232:31 | map : TransformedSortedMap [] : String | provenance | | +| Test.java:6451:21:6451:23 | out : TransformedSortedMap [] : String | Test.java:6451:9:6451:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6456:39:6456:102 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | Test.java:6457:52:6457:53 | in : ListOrderedSet [, ] : String | provenance | | +| Test.java:6456:68:6456:101 | newTMEWithMapKey(...) : TiedMapEntry [] : String | Test.java:260:53:260:61 | element : TiedMapEntry [] : String | provenance | | +| Test.java:6456:68:6456:101 | newTMEWithMapKey(...) : TiedMapEntry [] : String | Test.java:6456:39:6456:102 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | provenance | MaD:2 | +| Test.java:6456:85:6456:100 | (...)... : String | Test.java:286:46:286:50 | key : String | provenance | | +| Test.java:6456:85:6456:100 | (...)... : String | Test.java:6456:68:6456:101 | newTMEWithMapKey(...) : TiedMapEntry [] : String | provenance | MaD:234 | +| Test.java:6456:93:6456:100 | source(...) : Object | Test.java:6456:85:6456:100 | (...)... : String | provenance | | +| Test.java:6457:10:6457:54 | unmodifiableEntrySet(...) : Set [, ] : String | Test.java:6458:39:6458:41 | out : Set [, ] : String | provenance | | +| Test.java:6457:52:6457:53 | in : ListOrderedSet [, ] : String | Test.java:6457:10:6457:54 | unmodifiableEntrySet(...) : Set [, ] : String | provenance | MaD:383 | +| Test.java:6458:28:6458:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | provenance | | +| Test.java:6458:28:6458:42 | getElement(...) : Entry [] : String | Test.java:6458:9:6458:43 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:6458:39:6458:41 | out : Set [, ] : String | Test.java:6458:28:6458:42 | getElement(...) : Entry [] : String | provenance | MaD:1 | +| Test.java:6463:39:6463:104 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | Test.java:6464:52:6464:53 | in : ListOrderedSet [, ] : String | provenance | | +| Test.java:6463:68:6463:103 | newTMEWithMapValue(...) : TiedMapEntry [] : String | Test.java:260:53:260:61 | element : TiedMapEntry [] : String | provenance | | +| Test.java:6463:68:6463:103 | newTMEWithMapValue(...) : TiedMapEntry [] : String | Test.java:6463:39:6463:104 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | provenance | MaD:2 | +| Test.java:6463:87:6463:102 | (...)... : String | Test.java:305:48:305:54 | value : String | provenance | | +| Test.java:6463:87:6463:102 | (...)... : String | Test.java:6463:68:6463:103 | newTMEWithMapValue(...) : TiedMapEntry [] : String | provenance | MaD:15 | +| Test.java:6463:95:6463:102 | source(...) : Object | Test.java:6463:87:6463:102 | (...)... : String | provenance | | +| Test.java:6464:10:6464:54 | unmodifiableEntrySet(...) : Set [, ] : String | Test.java:6465:41:6465:43 | out : Set [, ] : String | provenance | | +| Test.java:6464:52:6464:53 | in : ListOrderedSet [, ] : String | Test.java:6464:10:6464:54 | unmodifiableEntrySet(...) : Set [, ] : String | provenance | MaD:384 | +| Test.java:6465:30:6465:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | provenance | | +| Test.java:6465:30:6465:44 | getElement(...) : Entry [] : String | Test.java:6465:9:6465:45 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:6465:41:6465:43 | out : Set [, ] : String | Test.java:6465:30:6465:44 | getElement(...) : Entry [] : String | provenance | MaD:1 | +| Test.java:6470:13:6470:42 | of(...) : Map [] : String | Test.java:6471:42:6471:43 | in : Map [] : String | provenance | | +| Test.java:6470:20:6470:35 | (...)... : String | Test.java:6470:13:6470:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6470:28:6470:35 | source(...) : Object | Test.java:6470:20:6470:35 | (...)... : String | provenance | | +| Test.java:6471:10:6471:44 | unmodifiableMap(...) : Map [] : String | Test.java:6472:19:6472:21 | out : Map [] : String | provenance | | +| Test.java:6471:42:6471:43 | in : Map [] : String | Test.java:6471:10:6471:44 | unmodifiableMap(...) : Map [] : String | provenance | MaD:385 | +| Test.java:6472:19:6472:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | provenance | | +| Test.java:6472:19:6472:21 | out : Map [] : String | Test.java:6472:9:6472:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6477:13:6477:42 | of(...) : Map [] : String | Test.java:6478:42:6478:43 | in : Map [] : String | provenance | | +| Test.java:6477:26:6477:41 | (...)... : String | Test.java:6477:13:6477:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:6477:34:6477:41 | source(...) : Object | Test.java:6477:26:6477:41 | (...)... : String | provenance | | +| Test.java:6478:10:6478:44 | unmodifiableMap(...) : Map [] : String | Test.java:6479:21:6479:23 | out : Map [] : String | provenance | | +| Test.java:6478:42:6478:43 | in : Map [] : String | Test.java:6478:10:6478:44 | unmodifiableMap(...) : Map [] : String | provenance | MaD:386 | +| Test.java:6479:21:6479:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | provenance | | +| Test.java:6479:21:6479:23 | out : Map [] : String | Test.java:6479:9:6479:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6484:20:6484:64 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | Test.java:6485:56:6485:57 | in : ListOrderedMap [] : String | provenance | | +| Test.java:6484:48:6484:63 | (...)... : String | Test.java:277:59:277:63 | key : String | provenance | | +| Test.java:6484:48:6484:63 | (...)... : String | Test.java:6484:20:6484:64 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | provenance | MaD:11 | +| Test.java:6484:56:6484:63 | source(...) : Object | Test.java:6484:48:6484:63 | (...)... : String | provenance | | +| Test.java:6485:10:6485:58 | unmodifiableOrderedMap(...) : OrderedMap [] : String | Test.java:6486:19:6486:21 | out : OrderedMap [] : String | provenance | | +| Test.java:6485:56:6485:57 | in : ListOrderedMap [] : String | Test.java:6485:10:6485:58 | unmodifiableOrderedMap(...) : OrderedMap [] : String | provenance | MaD:387 | +| Test.java:6486:19:6486:21 | out : OrderedMap [] : String | Test.java:228:18:228:29 | map : OrderedMap [] : String | provenance | | +| Test.java:6486:19:6486:21 | out : OrderedMap [] : String | Test.java:6486:9:6486:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6491:20:6491:66 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | Test.java:6492:56:6492:57 | in : ListOrderedMap [] : String | provenance | | +| Test.java:6491:50:6491:65 | (...)... : String | Test.java:296:61:296:67 | value : String | provenance | | +| Test.java:6491:50:6491:65 | (...)... : String | Test.java:6491:20:6491:66 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | provenance | MaD:12 | +| Test.java:6491:58:6491:65 | source(...) : Object | Test.java:6491:50:6491:65 | (...)... : String | provenance | | +| Test.java:6492:10:6492:58 | unmodifiableOrderedMap(...) : OrderedMap [] : String | Test.java:6493:21:6493:23 | out : OrderedMap [] : String | provenance | | +| Test.java:6492:56:6492:57 | in : ListOrderedMap [] : String | Test.java:6492:10:6492:58 | unmodifiableOrderedMap(...) : OrderedMap [] : String | provenance | MaD:388 | +| Test.java:6493:21:6493:23 | out : OrderedMap [] : String | Test.java:232:20:232:31 | map : OrderedMap [] : String | provenance | | +| Test.java:6493:21:6493:23 | out : OrderedMap [] : String | Test.java:6493:9:6493:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6498:19:6498:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | Test.java:6499:54:6499:55 | in : TreeMap [] : String | provenance | | +| Test.java:6498:40:6498:55 | (...)... : String | Test.java:285:47:285:51 | key : String | provenance | | +| Test.java:6498:40:6498:55 | (...)... : String | Test.java:6498:19:6498:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | provenance | MaD:14 | +| Test.java:6498:48:6498:55 | source(...) : Object | Test.java:6498:40:6498:55 | (...)... : String | provenance | | +| Test.java:6499:10:6499:56 | unmodifiableSortedMap(...) : SortedMap [] : String | Test.java:6500:19:6500:21 | out : SortedMap [] : String | provenance | | +| Test.java:6499:54:6499:55 | in : TreeMap [] : String | Test.java:6499:10:6499:56 | unmodifiableSortedMap(...) : SortedMap [] : String | provenance | MaD:389 | +| Test.java:6500:19:6500:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | provenance | | +| Test.java:6500:19:6500:21 | out : SortedMap [] : String | Test.java:6500:9:6500:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6505:19:6505:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | Test.java:6506:54:6506:55 | in : TreeMap [] : String | provenance | | +| Test.java:6505:42:6505:57 | (...)... : String | Test.java:304:49:304:55 | value : String | provenance | | +| Test.java:6505:42:6505:57 | (...)... : String | Test.java:6505:19:6505:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | +| Test.java:6505:50:6505:57 | source(...) : Object | Test.java:6505:42:6505:57 | (...)... : String | provenance | | +| Test.java:6506:10:6506:56 | unmodifiableSortedMap(...) : SortedMap [] : String | Test.java:6507:21:6507:23 | out : SortedMap [] : String | provenance | | +| Test.java:6506:54:6506:55 | in : TreeMap [] : String | Test.java:6506:10:6506:56 | unmodifiableSortedMap(...) : SortedMap [] : String | provenance | MaD:390 | +| Test.java:6507:21:6507:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | provenance | | +| Test.java:6507:21:6507:23 | out : SortedMap [] : String | Test.java:6507:9:6507:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6512:13:6512:42 | of(...) : Map [] : String | Test.java:6513:37:6513:38 | in : Map [] : String | provenance | | +| Test.java:6512:20:6512:35 | (...)... : String | Test.java:6512:13:6512:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6512:28:6512:35 | source(...) : Object | Test.java:6512:20:6512:35 | (...)... : String | provenance | | +| Test.java:6513:10:6513:39 | new ArrayListValuedHashMap<>(...) : ArrayListValuedHashMap [] : String | Test.java:6514:19:6514:21 | out : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:6513:37:6513:38 | in : Map [] : String | Test.java:6513:10:6513:39 | new ArrayListValuedHashMap<>(...) : ArrayListValuedHashMap [] : String | provenance | MaD:748 | +| Test.java:6514:19:6514:21 | out : ArrayListValuedHashMap [] : String | Test.java:240:18:240:46 | container : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:6514:19:6514:21 | out : ArrayListValuedHashMap [] : String | Test.java:6514:9:6514:22 | getMapKey(...) | provenance | MaD:685 | +| Test.java:6519:13:6519:42 | of(...) : Map [] : String | Test.java:6520:37:6520:38 | in : Map [] : String | provenance | | +| Test.java:6519:26:6519:41 | (...)... : String | Test.java:6519:13:6519:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:6519:34:6519:41 | source(...) : Object | Test.java:6519:26:6519:41 | (...)... : String | provenance | | +| Test.java:6520:10:6520:39 | new ArrayListValuedHashMap<>(...) : ArrayListValuedHashMap [, ] : String | Test.java:6521:32:6521:34 | out : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:6520:37:6520:38 | in : Map [] : String | Test.java:6520:10:6520:39 | new ArrayListValuedHashMap<>(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:749 | +| Test.java:6521:20:6521:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:6521:20:6521:35 | getMapValue(...) : Collection [] : String | Test.java:6521:9:6521:36 | getElement(...) | provenance | MaD:1 | +| Test.java:6521:32:6521:34 | out : ArrayListValuedHashMap [, ] : String | Test.java:247:32:247:60 | container : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:6521:32:6521:34 | out : ArrayListValuedHashMap [, ] : String | Test.java:6521:20:6521:35 | getMapValue(...) : Collection [] : String | provenance | MaD:684 | +| Test.java:6526:24:6526:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:6527:37:6527:38 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:6526:45:6526:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:6526:45:6526:60 | (...)... : String | Test.java:6526:24:6526:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:6526:53:6526:60 | source(...) : Object | Test.java:6526:45:6526:60 | (...)... : String | provenance | | +| Test.java:6527:10:6527:39 | new ArrayListValuedHashMap<>(...) : ArrayListValuedHashMap [, ] : String | Test.java:6528:32:6528:34 | out : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:6527:37:6527:38 | in : ArrayListValuedHashMap [, ] : String | Test.java:6527:10:6527:39 | new ArrayListValuedHashMap<>(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:751 | +| Test.java:6528:20:6528:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:6528:20:6528:35 | getMapValue(...) : Collection [] : String | Test.java:6528:9:6528:36 | getElement(...) | provenance | MaD:1 | +| Test.java:6528:32:6528:34 | out : ArrayListValuedHashMap [, ] : String | Test.java:247:32:247:60 | container : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:6528:32:6528:34 | out : ArrayListValuedHashMap [, ] : String | Test.java:6528:20:6528:35 | getMapValue(...) : Collection [] : String | provenance | MaD:684 | +| Test.java:6533:24:6533:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | Test.java:6534:37:6534:38 | in : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:6533:43:6533:58 | (...)... : String | Test.java:272:58:272:62 | key : String | provenance | | +| Test.java:6533:43:6533:58 | (...)... : String | Test.java:6533:24:6533:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | provenance | MaD:689 | +| Test.java:6533:51:6533:58 | source(...) : Object | Test.java:6533:43:6533:58 | (...)... : String | provenance | | +| Test.java:6534:10:6534:39 | new ArrayListValuedHashMap<>(...) : ArrayListValuedHashMap [] : String | Test.java:6535:19:6535:21 | out : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:6534:37:6534:38 | in : ArrayListValuedHashMap [] : String | Test.java:6534:10:6534:39 | new ArrayListValuedHashMap<>(...) : ArrayListValuedHashMap [] : String | provenance | MaD:750 | +| Test.java:6535:19:6535:21 | out : ArrayListValuedHashMap [] : String | Test.java:240:18:240:46 | container : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:6535:19:6535:21 | out : ArrayListValuedHashMap [] : String | Test.java:6535:9:6535:22 | getMapKey(...) | provenance | MaD:685 | +| Test.java:6540:13:6540:42 | of(...) : Map [] : String | Test.java:6541:35:6541:36 | in : Map [] : String | provenance | | +| Test.java:6540:20:6540:35 | (...)... : String | Test.java:6540:13:6540:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6540:28:6540:35 | source(...) : Object | Test.java:6540:20:6540:35 | (...)... : String | provenance | | +| Test.java:6541:10:6541:37 | new HashSetValuedHashMap<>(...) : HashSetValuedHashMap [] : String | Test.java:6542:19:6542:21 | out : HashSetValuedHashMap [] : String | provenance | | +| Test.java:6541:35:6541:36 | in : Map [] : String | Test.java:6541:10:6541:37 | new HashSetValuedHashMap<>(...) : HashSetValuedHashMap [] : String | provenance | MaD:752 | +| Test.java:6542:19:6542:21 | out : HashSetValuedHashMap [] : String | Test.java:240:18:240:46 | container : HashSetValuedHashMap [] : String | provenance | | +| Test.java:6542:19:6542:21 | out : HashSetValuedHashMap [] : String | Test.java:6542:9:6542:22 | getMapKey(...) | provenance | MaD:685 | +| Test.java:6547:13:6547:42 | of(...) : Map [] : String | Test.java:6548:35:6548:36 | in : Map [] : String | provenance | | +| Test.java:6547:26:6547:41 | (...)... : String | Test.java:6547:13:6547:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:6547:34:6547:41 | source(...) : Object | Test.java:6547:26:6547:41 | (...)... : String | provenance | | +| Test.java:6548:10:6548:37 | new HashSetValuedHashMap<>(...) : HashSetValuedHashMap [, ] : String | Test.java:6549:32:6549:34 | out : HashSetValuedHashMap [, ] : String | provenance | | +| Test.java:6548:35:6548:36 | in : Map [] : String | Test.java:6548:10:6548:37 | new HashSetValuedHashMap<>(...) : HashSetValuedHashMap [, ] : String | provenance | MaD:753 | +| Test.java:6549:20:6549:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:6549:20:6549:35 | getMapValue(...) : Collection [] : String | Test.java:6549:9:6549:36 | getElement(...) | provenance | MaD:1 | +| Test.java:6549:32:6549:34 | out : HashSetValuedHashMap [, ] : String | Test.java:247:32:247:60 | container : HashSetValuedHashMap [, ] : String | provenance | | +| Test.java:6549:32:6549:34 | out : HashSetValuedHashMap [, ] : String | Test.java:6549:20:6549:35 | getMapValue(...) : Collection [] : String | provenance | MaD:684 | +| Test.java:6554:24:6554:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:6555:35:6555:36 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:6554:45:6554:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:6554:45:6554:60 | (...)... : String | Test.java:6554:24:6554:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:6554:53:6554:60 | source(...) : Object | Test.java:6554:45:6554:60 | (...)... : String | provenance | | +| Test.java:6555:10:6555:37 | new HashSetValuedHashMap<>(...) : HashSetValuedHashMap [, ] : String | Test.java:6556:32:6556:34 | out : HashSetValuedHashMap [, ] : String | provenance | | +| Test.java:6555:35:6555:36 | in : ArrayListValuedHashMap [, ] : String | Test.java:6555:10:6555:37 | new HashSetValuedHashMap<>(...) : HashSetValuedHashMap [, ] : String | provenance | MaD:755 | +| Test.java:6556:20:6556:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:6556:20:6556:35 | getMapValue(...) : Collection [] : String | Test.java:6556:9:6556:36 | getElement(...) | provenance | MaD:1 | +| Test.java:6556:32:6556:34 | out : HashSetValuedHashMap [, ] : String | Test.java:247:32:247:60 | container : HashSetValuedHashMap [, ] : String | provenance | | +| Test.java:6556:32:6556:34 | out : HashSetValuedHashMap [, ] : String | Test.java:6556:20:6556:35 | getMapValue(...) : Collection [] : String | provenance | MaD:684 | +| Test.java:6561:24:6561:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | Test.java:6562:35:6562:36 | in : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:6561:43:6561:58 | (...)... : String | Test.java:272:58:272:62 | key : String | provenance | | +| Test.java:6561:43:6561:58 | (...)... : String | Test.java:6561:24:6561:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | provenance | MaD:689 | +| Test.java:6561:51:6561:58 | source(...) : Object | Test.java:6561:43:6561:58 | (...)... : String | provenance | | +| Test.java:6562:10:6562:37 | new HashSetValuedHashMap<>(...) : HashSetValuedHashMap [] : String | Test.java:6563:19:6563:21 | out : HashSetValuedHashMap [] : String | provenance | | +| Test.java:6562:35:6562:36 | in : ArrayListValuedHashMap [] : String | Test.java:6562:10:6562:37 | new HashSetValuedHashMap<>(...) : HashSetValuedHashMap [] : String | provenance | MaD:754 | +| Test.java:6563:19:6563:21 | out : HashSetValuedHashMap [] : String | Test.java:240:18:240:46 | container : HashSetValuedHashMap [] : String | provenance | | +| Test.java:6563:19:6563:21 | out : HashSetValuedHashMap [] : String | Test.java:6563:9:6563:22 | getMapKey(...) | provenance | MaD:685 | +| Test.java:6568:24:6568:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:6569:52:6569:53 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:6568:45:6568:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:6568:45:6568:60 | (...)... : String | Test.java:6568:24:6568:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:6568:53:6568:60 | source(...) : Object | Test.java:6568:45:6568:60 | (...)... : String | provenance | | +| Test.java:6569:10:6569:66 | transformingMap(...) : TransformedMultiValuedMap [, ] : String | Test.java:6570:32:6570:34 | out : TransformedMultiValuedMap [, ] : String | provenance | | +| Test.java:6569:52:6569:53 | in : ArrayListValuedHashMap [, ] : String | Test.java:6569:10:6569:66 | transformingMap(...) : TransformedMultiValuedMap [, ] : String | provenance | MaD:757 | +| Test.java:6570:20:6570:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:6570:20:6570:35 | getMapValue(...) : Collection [] : String | Test.java:6570:9:6570:36 | getElement(...) | provenance | MaD:1 | +| Test.java:6570:32:6570:34 | out : TransformedMultiValuedMap [, ] : String | Test.java:247:32:247:60 | container : TransformedMultiValuedMap [, ] : String | provenance | | +| Test.java:6570:32:6570:34 | out : TransformedMultiValuedMap [, ] : String | Test.java:6570:20:6570:35 | getMapValue(...) : Collection [] : String | provenance | MaD:684 | +| Test.java:6575:24:6575:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | Test.java:6576:52:6576:53 | in : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:6575:43:6575:58 | (...)... : String | Test.java:272:58:272:62 | key : String | provenance | | +| Test.java:6575:43:6575:58 | (...)... : String | Test.java:6575:24:6575:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | provenance | MaD:689 | +| Test.java:6575:51:6575:58 | source(...) : Object | Test.java:6575:43:6575:58 | (...)... : String | provenance | | +| Test.java:6576:10:6576:66 | transformingMap(...) : TransformedMultiValuedMap [] : String | Test.java:6577:19:6577:21 | out : TransformedMultiValuedMap [] : String | provenance | | +| Test.java:6576:52:6576:53 | in : ArrayListValuedHashMap [] : String | Test.java:6576:10:6576:66 | transformingMap(...) : TransformedMultiValuedMap [] : String | provenance | MaD:756 | +| Test.java:6577:19:6577:21 | out : TransformedMultiValuedMap [] : String | Test.java:240:18:240:46 | container : TransformedMultiValuedMap [] : String | provenance | | +| Test.java:6577:19:6577:21 | out : TransformedMultiValuedMap [] : String | Test.java:6577:9:6577:22 | getMapKey(...) | provenance | MaD:685 | +| Test.java:6582:24:6582:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:6583:64:6583:65 | in : ArrayListValuedHashMap [, ] : String | provenance | | +| Test.java:6582:45:6582:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | +| Test.java:6582:45:6582:60 | (...)... : String | Test.java:6582:24:6582:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | provenance | MaD:690 | +| Test.java:6582:53:6582:60 | source(...) : Object | Test.java:6582:45:6582:60 | (...)... : String | provenance | | +| Test.java:6583:10:6583:66 | unmodifiableMultiValuedMap(...) : UnmodifiableMultiValuedMap [, ] : String | Test.java:6584:32:6584:34 | out : UnmodifiableMultiValuedMap [, ] : String | provenance | | +| Test.java:6583:64:6583:65 | in : ArrayListValuedHashMap [, ] : String | Test.java:6583:10:6583:66 | unmodifiableMultiValuedMap(...) : UnmodifiableMultiValuedMap [, ] : String | provenance | MaD:759 | +| Test.java:6584:20:6584:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | provenance | | +| Test.java:6584:20:6584:35 | getMapValue(...) : Collection [] : String | Test.java:6584:9:6584:36 | getElement(...) | provenance | MaD:1 | +| Test.java:6584:32:6584:34 | out : UnmodifiableMultiValuedMap [, ] : String | Test.java:247:32:247:60 | container : UnmodifiableMultiValuedMap [, ] : String | provenance | | +| Test.java:6584:32:6584:34 | out : UnmodifiableMultiValuedMap [, ] : String | Test.java:6584:20:6584:35 | getMapValue(...) : Collection [] : String | provenance | MaD:684 | +| Test.java:6589:24:6589:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | Test.java:6590:64:6590:65 | in : ArrayListValuedHashMap [] : String | provenance | | +| Test.java:6589:43:6589:58 | (...)... : String | Test.java:272:58:272:62 | key : String | provenance | | +| Test.java:6589:43:6589:58 | (...)... : String | Test.java:6589:24:6589:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | provenance | MaD:689 | +| Test.java:6589:51:6589:58 | source(...) : Object | Test.java:6589:43:6589:58 | (...)... : String | provenance | | +| Test.java:6590:10:6590:66 | unmodifiableMultiValuedMap(...) : UnmodifiableMultiValuedMap [] : String | Test.java:6591:19:6591:21 | out : UnmodifiableMultiValuedMap [] : String | provenance | | +| Test.java:6590:64:6590:65 | in : ArrayListValuedHashMap [] : String | Test.java:6590:10:6590:66 | unmodifiableMultiValuedMap(...) : UnmodifiableMultiValuedMap [] : String | provenance | MaD:758 | +| Test.java:6591:19:6591:21 | out : UnmodifiableMultiValuedMap [] : String | Test.java:240:18:240:46 | container : UnmodifiableMultiValuedMap [] : String | provenance | | +| Test.java:6591:19:6591:21 | out : UnmodifiableMultiValuedMap [] : String | Test.java:6591:9:6591:22 | getMapKey(...) | provenance | MaD:685 | +| Test.java:6596:20:6596:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:6597:27:6597:28 | in : TreeBag [] : String | provenance | | +| Test.java:6596:42:6596:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:6596:42:6596:57 | (...)... : String | Test.java:6596:20:6596:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:6596:42:6596:57 | (...)... : String | Test.java:6596:20:6596:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:6596:50:6596:57 | source(...) : Object | Test.java:6596:42:6596:57 | (...)... : String | provenance | | +| Test.java:6597:10:6597:29 | new HashMultiSet<>(...) : HashMultiSet [] : String | Test.java:6598:20:6598:22 | out : HashMultiSet [] : String | provenance | | +| Test.java:6597:27:6597:28 | in : TreeBag [] : String | Test.java:6597:10:6597:29 | new HashMultiSet<>(...) : HashMultiSet [] : String | provenance | MaD:760 | +| Test.java:6598:20:6598:22 | out : HashMultiSet [] : String | Test.java:230:19:230:32 | it : HashMultiSet [] : String | provenance | | +| Test.java:6598:20:6598:22 | out : HashMultiSet [] : String | Test.java:6598:9:6598:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6603:18:6603:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:6604:48:6604:49 | in : HashMultiSet [] : String | provenance | | +| Test.java:6603:45:6603:60 | (...)... : String | Test.java:258:49:258:57 | element : String | provenance | | +| Test.java:6603:45:6603:60 | (...)... : String | Test.java:6603:18:6603:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:2 | +| Test.java:6603:45:6603:60 | (...)... : String | Test.java:6603:18:6603:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:673 | +| Test.java:6603:53:6603:60 | source(...) : Object | Test.java:6603:45:6603:60 | (...)... : String | provenance | | +| Test.java:6604:10:6604:56 | predicatedMultiSet(...) : PredicatedMultiSet [] : String | Test.java:6605:20:6605:22 | out : PredicatedMultiSet [] : String | provenance | | +| Test.java:6604:48:6604:49 | in : HashMultiSet [] : String | Test.java:6604:10:6604:56 | predicatedMultiSet(...) : PredicatedMultiSet [] : String | provenance | MaD:761 | +| Test.java:6605:20:6605:22 | out : PredicatedMultiSet [] : String | Test.java:230:19:230:32 | it : PredicatedMultiSet [] : String | provenance | | +| Test.java:6605:20:6605:22 | out : PredicatedMultiSet [] : String | Test.java:6605:9:6605:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6610:18:6610:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:6611:52:6611:53 | in : HashMultiSet [] : String | provenance | | +| Test.java:6610:45:6610:60 | (...)... : String | Test.java:258:49:258:57 | element : String | provenance | | +| Test.java:6610:45:6610:60 | (...)... : String | Test.java:6610:18:6610:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:2 | +| Test.java:6610:45:6610:60 | (...)... : String | Test.java:6610:18:6610:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:673 | +| Test.java:6610:53:6610:60 | source(...) : Object | Test.java:6610:45:6610:60 | (...)... : String | provenance | | +| Test.java:6611:10:6611:54 | synchronizedMultiSet(...) : SynchronizedMultiSet [] : String | Test.java:6612:20:6612:22 | out : SynchronizedMultiSet [] : String | provenance | | +| Test.java:6611:52:6611:53 | in : HashMultiSet [] : String | Test.java:6611:10:6611:54 | synchronizedMultiSet(...) : SynchronizedMultiSet [] : String | provenance | MaD:762 | +| Test.java:6612:20:6612:22 | out : SynchronizedMultiSet [] : String | Test.java:230:19:230:32 | it : SynchronizedMultiSet [] : String | provenance | | +| Test.java:6612:20:6612:22 | out : SynchronizedMultiSet [] : String | Test.java:6612:9:6612:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6617:18:6617:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:6618:52:6618:53 | in : HashMultiSet [] : String | provenance | | +| Test.java:6617:45:6617:60 | (...)... : String | Test.java:258:49:258:57 | element : String | provenance | | +| Test.java:6617:45:6617:60 | (...)... : String | Test.java:6617:18:6617:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:2 | +| Test.java:6617:45:6617:60 | (...)... : String | Test.java:6617:18:6617:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:673 | +| Test.java:6617:53:6617:60 | source(...) : Object | Test.java:6617:45:6617:60 | (...)... : String | provenance | | +| Test.java:6618:10:6618:54 | unmodifiableMultiSet(...) : MultiSet [] : String | Test.java:6619:20:6619:22 | out : MultiSet [] : String | provenance | | +| Test.java:6618:52:6618:53 | in : HashMultiSet [] : String | Test.java:6618:10:6618:54 | unmodifiableMultiSet(...) : MultiSet [] : String | provenance | MaD:763 | +| Test.java:6619:20:6619:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | provenance | | +| Test.java:6619:20:6619:22 | out : MultiSet [] : String | Test.java:6619:9:6619:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6624:16:6624:31 | (...)... : String | Test.java:6626:30:6626:31 | in : String | provenance | | +| Test.java:6624:24:6624:31 | source(...) : Object | Test.java:6624:16:6624:31 | (...)... : String | provenance | | +| Test.java:6626:10:6626:32 | load(...) : Properties | Test.java:6627:9:6627:11 | out | provenance | | +| Test.java:6626:30:6626:31 | in : String | Test.java:6626:10:6626:32 | load(...) : Properties | provenance | MaD:764 | +| Test.java:6632:14:6632:27 | (...)... : File | Test.java:6634:24:6634:25 | in : File | provenance | | +| Test.java:6632:20:6632:27 | source(...) : Object | Test.java:6632:14:6632:27 | (...)... : File | provenance | | +| Test.java:6634:10:6634:26 | load(...) : Properties | Test.java:6635:9:6635:11 | out | provenance | | +| Test.java:6634:24:6634:25 | in : File | Test.java:6634:10:6634:26 | load(...) : Properties | provenance | MaD:765 | +| Test.java:6640:21:6640:41 | (...)... : InputStream | Test.java:6642:24:6642:25 | in : InputStream | provenance | | +| Test.java:6640:34:6640:41 | source(...) : Object | Test.java:6640:21:6640:41 | (...)... : InputStream | provenance | | +| Test.java:6642:10:6642:26 | load(...) : Properties | Test.java:6643:9:6643:11 | out | provenance | | +| Test.java:6642:24:6642:25 | in : InputStream | Test.java:6642:10:6642:26 | load(...) : Properties | provenance | MaD:766 | +| Test.java:6648:14:6648:27 | (...)... : Path | Test.java:6650:24:6650:25 | in : Path | provenance | | +| Test.java:6648:20:6648:27 | source(...) : Object | Test.java:6648:14:6648:27 | (...)... : Path | provenance | | +| Test.java:6650:10:6650:26 | load(...) : Properties | Test.java:6651:9:6651:11 | out | provenance | | +| Test.java:6650:24:6650:25 | in : Path | Test.java:6650:10:6650:26 | load(...) : Properties | provenance | MaD:767 | +| Test.java:6656:16:6656:31 | (...)... : Reader | Test.java:6658:24:6658:25 | in : Reader | provenance | | +| Test.java:6656:24:6656:31 | source(...) : Object | Test.java:6656:16:6656:31 | (...)... : Reader | provenance | | +| Test.java:6658:10:6658:26 | load(...) : Properties | Test.java:6659:9:6659:11 | out | provenance | | +| Test.java:6658:24:6658:25 | in : Reader | Test.java:6658:10:6658:26 | load(...) : Properties | provenance | MaD:768 | +| Test.java:6664:16:6664:31 | (...)... : String | Test.java:6666:24:6666:25 | in : String | provenance | | +| Test.java:6664:24:6664:31 | source(...) : Object | Test.java:6664:16:6664:31 | (...)... : String | provenance | | +| Test.java:6666:10:6666:26 | load(...) : Properties | Test.java:6667:9:6667:11 | out | provenance | | +| Test.java:6666:24:6666:25 | in : String | Test.java:6666:10:6666:26 | load(...) : Properties | provenance | MaD:769 | +| Test.java:6672:13:6672:25 | (...)... : URI | Test.java:6674:24:6674:25 | in : URI | provenance | | +| Test.java:6672:18:6672:25 | source(...) : Object | Test.java:6672:13:6672:25 | (...)... : URI | provenance | | +| Test.java:6674:10:6674:26 | load(...) : Properties | Test.java:6675:9:6675:11 | out | provenance | | +| Test.java:6674:24:6674:25 | in : URI | Test.java:6674:10:6674:26 | load(...) : Properties | provenance | MaD:770 | +| Test.java:6680:13:6680:25 | (...)... : URL | Test.java:6682:24:6682:25 | in : URL | provenance | | +| Test.java:6680:18:6680:25 | source(...) : Object | Test.java:6680:13:6680:25 | (...)... : URL | provenance | | +| Test.java:6682:10:6682:26 | load(...) : Properties | Test.java:6683:9:6683:11 | out | provenance | | +| Test.java:6682:24:6682:25 | in : URL | Test.java:6682:10:6682:26 | load(...) : Properties | provenance | MaD:771 | +| Test.java:6688:20:6688:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:6689:32:6689:33 | in : TreeBag [] : String | provenance | | +| Test.java:6688:42:6688:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:6688:42:6688:57 | (...)... : String | Test.java:6688:20:6688:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:6688:42:6688:57 | (...)... : String | Test.java:6688:20:6688:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:6688:50:6688:57 | source(...) : Object | Test.java:6688:42:6688:57 | (...)... : String | provenance | | +| Test.java:6689:10:6689:34 | new CircularFifoQueue<>(...) : CircularFifoQueue [] : String | Test.java:6690:20:6690:22 | out : CircularFifoQueue [] : String | provenance | | +| Test.java:6689:32:6689:33 | in : TreeBag [] : String | Test.java:6689:10:6689:34 | new CircularFifoQueue<>(...) : CircularFifoQueue [] : String | provenance | MaD:772 | +| Test.java:6690:20:6690:22 | out : CircularFifoQueue [] : String | Test.java:230:19:230:32 | it : CircularFifoQueue [] : String | provenance | | +| Test.java:6690:20:6690:22 | out : CircularFifoQueue [] : String | Test.java:6690:9:6690:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6695:27:6695:75 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | Test.java:6696:10:6696:11 | in : CircularFifoQueue [] : String | provenance | | +| Test.java:6695:59:6695:74 | (...)... : String | Test.java:253:59:253:67 | element : String | provenance | | +| Test.java:6695:59:6695:74 | (...)... : String | Test.java:6695:27:6695:75 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | provenance | MaD:2 | +| Test.java:6695:67:6695:74 | source(...) : Object | Test.java:6695:59:6695:74 | (...)... : String | provenance | | +| Test.java:6696:10:6696:11 | in : CircularFifoQueue [] : String | Test.java:6696:10:6696:18 | get(...) : String | provenance | MaD:773 | +| Test.java:6696:10:6696:18 | get(...) : String | Test.java:6697:9:6697:11 | out | provenance | | +| Test.java:6702:15:6702:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | Test.java:6703:42:6703:43 | in : CircularFifoQueue [] : String | provenance | | +| Test.java:6702:47:6702:62 | (...)... : String | Test.java:253:59:253:67 | element : String | provenance | | +| Test.java:6702:47:6702:62 | (...)... : String | Test.java:6702:15:6702:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | provenance | MaD:2 | +| Test.java:6702:55:6702:62 | source(...) : Object | Test.java:6702:47:6702:62 | (...)... : String | provenance | | +| Test.java:6703:10:6703:50 | predicatedQueue(...) : PredicatedQueue [] : String | Test.java:6704:20:6704:22 | out : PredicatedQueue [] : String | provenance | | +| Test.java:6703:42:6703:43 | in : CircularFifoQueue [] : String | Test.java:6703:10:6703:50 | predicatedQueue(...) : PredicatedQueue [] : String | provenance | MaD:774 | +| Test.java:6704:20:6704:22 | out : PredicatedQueue [] : String | Test.java:230:19:230:32 | it : PredicatedQueue [] : String | provenance | | +| Test.java:6704:20:6704:22 | out : PredicatedQueue [] : String | Test.java:6704:9:6704:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6709:15:6709:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | Test.java:6710:46:6710:47 | in : CircularFifoQueue [] : String | provenance | | +| Test.java:6709:47:6709:62 | (...)... : String | Test.java:253:59:253:67 | element : String | provenance | | +| Test.java:6709:47:6709:62 | (...)... : String | Test.java:6709:15:6709:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | provenance | MaD:2 | +| Test.java:6709:55:6709:62 | source(...) : Object | Test.java:6709:47:6709:62 | (...)... : String | provenance | | +| Test.java:6710:10:6710:48 | synchronizedQueue(...) : SynchronizedQueue [] : String | Test.java:6711:20:6711:22 | out : SynchronizedQueue [] : String | provenance | | +| Test.java:6710:46:6710:47 | in : CircularFifoQueue [] : String | Test.java:6710:10:6710:48 | synchronizedQueue(...) : SynchronizedQueue [] : String | provenance | MaD:775 | +| Test.java:6711:20:6711:22 | out : SynchronizedQueue [] : String | Test.java:230:19:230:32 | it : SynchronizedQueue [] : String | provenance | | +| Test.java:6711:20:6711:22 | out : SynchronizedQueue [] : String | Test.java:6711:9:6711:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6716:15:6716:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | Test.java:6717:45:6717:46 | in : CircularFifoQueue [] : String | provenance | | +| Test.java:6716:47:6716:62 | (...)... : String | Test.java:253:59:253:67 | element : String | provenance | | +| Test.java:6716:47:6716:62 | (...)... : String | Test.java:6716:15:6716:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | provenance | MaD:2 | +| Test.java:6716:55:6716:62 | source(...) : Object | Test.java:6716:47:6716:62 | (...)... : String | provenance | | +| Test.java:6717:10:6717:53 | transformingQueue(...) : TransformedQueue [] : String | Test.java:6718:20:6718:22 | out : TransformedQueue [] : String | provenance | | +| Test.java:6717:45:6717:46 | in : CircularFifoQueue [] : String | Test.java:6717:10:6717:53 | transformingQueue(...) : TransformedQueue [] : String | provenance | MaD:776 | +| Test.java:6718:20:6718:22 | out : TransformedQueue [] : String | Test.java:230:19:230:32 | it : TransformedQueue [] : String | provenance | | +| Test.java:6718:20:6718:22 | out : TransformedQueue [] : String | Test.java:6718:9:6718:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6723:15:6723:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | Test.java:6724:46:6724:47 | in : CircularFifoQueue [] : String | provenance | | +| Test.java:6723:47:6723:62 | (...)... : String | Test.java:253:59:253:67 | element : String | provenance | | +| Test.java:6723:47:6723:62 | (...)... : String | Test.java:6723:15:6723:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | provenance | MaD:2 | +| Test.java:6723:55:6723:62 | source(...) : Object | Test.java:6723:47:6723:62 | (...)... : String | provenance | | +| Test.java:6724:10:6724:48 | unmodifiableQueue(...) : Queue [] : String | Test.java:6725:20:6725:22 | out : Queue [] : String | provenance | | +| Test.java:6724:46:6724:47 | in : CircularFifoQueue [] : String | Test.java:6724:10:6724:48 | unmodifiableQueue(...) : Queue [] : String | provenance | MaD:777 | +| Test.java:6725:20:6725:22 | out : Queue [] : String | Test.java:230:19:230:32 | it : Queue [] : String | provenance | | +| Test.java:6725:20:6725:22 | out : Queue [] : String | Test.java:6725:9:6725:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6730:22:6730:60 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:6731:46:6731:47 | in : TreeSet [] : String | provenance | | +| Test.java:6730:44:6730:59 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:6730:44:6730:59 | (...)... : String | Test.java:6730:22:6730:60 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:6730:52:6730:59 | source(...) : Object | Test.java:6730:44:6730:59 | (...)... : String | provenance | | +| Test.java:6731:10:6731:48 | new MyAbstractNavigableSetDecorator<>(...) : MyAbstractNavigableSetDecorator [] : String | Test.java:6732:20:6732:22 | out : MyAbstractNavigableSetDecorator [] : String | provenance | | +| Test.java:6731:46:6731:47 | in : TreeSet [] : String | Test.java:6731:10:6731:48 | new MyAbstractNavigableSetDecorator<>(...) : MyAbstractNavigableSetDecorator [] : String | provenance | MaD:778 | +| Test.java:6731:46:6731:47 | in : TreeSet [] : String | Test.java:7243:42:7243:66 | set : TreeSet [] : String | provenance | | +| Test.java:6732:20:6732:22 | out : MyAbstractNavigableSetDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractNavigableSetDecorator [] : String | provenance | | +| Test.java:6732:20:6732:22 | out : MyAbstractNavigableSetDecorator [] : String | Test.java:6732:9:6732:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6737:13:6737:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | Test.java:6738:37:6738:38 | in : ListOrderedSet [] : String | provenance | | +| Test.java:6737:42:6737:57 | (...)... : String | Test.java:260:53:260:61 | element : String | provenance | | +| Test.java:6737:42:6737:57 | (...)... : String | Test.java:6737:13:6737:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | provenance | MaD:2 | +| Test.java:6737:50:6737:57 | source(...) : Object | Test.java:6737:42:6737:57 | (...)... : String | provenance | | +| Test.java:6738:10:6738:39 | new MyAbstractSetDecorator<>(...) : MyAbstractSetDecorator [] : String | Test.java:6739:20:6739:22 | out : MyAbstractSetDecorator [] : String | provenance | | +| Test.java:6738:37:6738:38 | in : ListOrderedSet [] : String | Test.java:6738:10:6738:39 | new MyAbstractSetDecorator<>(...) : MyAbstractSetDecorator [] : String | provenance | MaD:779 | +| Test.java:6738:37:6738:38 | in : ListOrderedSet [] : String | Test.java:7249:33:7249:48 | set : ListOrderedSet [] : String | provenance | | +| Test.java:6739:20:6739:22 | out : MyAbstractSetDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractSetDecorator [] : String | provenance | | +| Test.java:6739:20:6739:22 | out : MyAbstractSetDecorator [] : String | Test.java:6739:9:6739:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6744:13:6744:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | Test.java:6745:43:6745:44 | in : ListOrderedSet [] : String | provenance | | +| Test.java:6744:42:6744:57 | (...)... : String | Test.java:260:53:260:61 | element : String | provenance | | +| Test.java:6744:42:6744:57 | (...)... : String | Test.java:6744:13:6744:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | provenance | MaD:2 | +| Test.java:6744:50:6744:57 | source(...) : Object | Test.java:6744:42:6744:57 | (...)... : String | provenance | | +| Test.java:6745:10:6745:45 | new MyAbstractSortedSetDecorator<>(...) : MyAbstractSortedSetDecorator [] : String | Test.java:6746:20:6746:22 | out : MyAbstractSortedSetDecorator [] : String | provenance | | +| Test.java:6745:43:6745:44 | in : ListOrderedSet [] : String | Test.java:6745:10:6745:45 | new MyAbstractSortedSetDecorator<>(...) : MyAbstractSortedSetDecorator [] : String | provenance | MaD:780 | +| Test.java:6745:43:6745:44 | in : ListOrderedSet [] : String | Test.java:7255:39:7255:54 | set : ListOrderedSet [] : String | provenance | | +| Test.java:6746:20:6746:22 | out : MyAbstractSortedSetDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractSortedSetDecorator [] : String | provenance | | +| Test.java:6746:20:6746:22 | out : MyAbstractSortedSetDecorator [] : String | Test.java:6746:9:6746:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6751:16:6751:23 | source(...) : Object | Test.java:6753:28:6753:29 | in : Object | provenance | | +| Test.java:6753:17:6753:19 | out [post update] : CompositeSet [] : Object | Test.java:6754:20:6754:22 | out : CompositeSet [] : Object | provenance | | +| Test.java:6753:28:6753:29 | in : Object | Test.java:6753:17:6753:19 | out [post update] : CompositeSet [] : Object | provenance | MaD:789 | +| Test.java:6754:20:6754:22 | out : CompositeSet [] : Object | Test.java:230:19:230:32 | it : CompositeSet [] : Object | provenance | | +| Test.java:6754:20:6754:22 | out : CompositeSet [] : Object | Test.java:6754:9:6754:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6759:16:6759:23 | source(...) : Object | Test.java:6761:28:6761:29 | in : Object | provenance | | +| Test.java:6761:23:6761:25 | out [post update] : List [, ] : Object | Test.java:6762:31:6762:33 | out : List [, ] : Object | provenance | | +| Test.java:6761:28:6761:29 | in : Object | Test.java:6761:23:6761:25 | out [post update] : List [, ] : Object | provenance | MaD:790 | +| Test.java:6762:20:6762:34 | getElement(...) : Set [] : Object | Test.java:230:19:230:32 | it : Set [] : Object | provenance | | +| Test.java:6762:20:6762:34 | getElement(...) : Set [] : Object | Test.java:6762:9:6762:35 | getElement(...) | provenance | MaD:1 | +| Test.java:6762:31:6762:33 | out : List [, ] : Object | Test.java:6762:20:6762:34 | getElement(...) : Set [] : Object | provenance | MaD:1 | +| Test.java:6767:20:6767:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:6769:31:6769:32 | in : TreeBag [] : String | provenance | | +| Test.java:6767:42:6767:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:6767:42:6767:57 | (...)... : String | Test.java:6767:20:6767:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:6767:42:6767:57 | (...)... : String | Test.java:6767:20:6767:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:6767:50:6767:57 | source(...) : Object | Test.java:6767:42:6767:57 | (...)... : String | provenance | | +| Test.java:6769:20:6769:22 | out [post update] : CompositeSet [] : String | Test.java:6770:20:6770:22 | out : CompositeSet [] : String | provenance | | +| Test.java:6769:31:6769:32 | in : TreeBag [] : String | Test.java:6769:20:6769:22 | out [post update] : CompositeSet [] : String | provenance | MaD:791 | +| Test.java:6770:20:6770:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | provenance | | +| Test.java:6770:20:6770:22 | out : CompositeSet [] : String | Test.java:6770:9:6770:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6775:20:6775:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:6777:31:6777:32 | in : TreeBag [] : String | provenance | | +| Test.java:6775:42:6775:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | +| Test.java:6775:42:6775:57 | (...)... : String | Test.java:6775:20:6775:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:2 | +| Test.java:6775:42:6775:57 | (...)... : String | Test.java:6775:20:6775:58 | newTreeBagWithElement(...) : TreeBag [] : String | provenance | MaD:395 | +| Test.java:6775:50:6775:57 | source(...) : Object | Test.java:6775:42:6775:57 | (...)... : String | provenance | | +| Test.java:6777:26:6777:28 | out [post update] : List [, ] : String | Test.java:6778:31:6778:33 | out : List [, ] : String | provenance | | +| Test.java:6777:31:6777:32 | in : TreeBag [] : String | Test.java:6777:26:6777:28 | out [post update] : List [, ] : String | provenance | MaD:792 | +| Test.java:6778:20:6778:34 | getElement(...) : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:6778:20:6778:34 | getElement(...) : Set [] : String | Test.java:6778:9:6778:35 | getElement(...) | provenance | MaD:1 | +| Test.java:6778:31:6778:33 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | provenance | | +| Test.java:6778:31:6778:33 | out : List [, ] : String | Test.java:6778:20:6778:34 | getElement(...) : Set [] : String | provenance | MaD:1 | +| Test.java:6783:13:6783:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | Test.java:6784:27:6784:28 | in : ListOrderedSet [] : String | provenance | | +| Test.java:6783:42:6783:57 | (...)... : String | Test.java:260:53:260:61 | element : String | provenance | | +| Test.java:6783:42:6783:57 | (...)... : String | Test.java:6783:13:6783:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | provenance | MaD:2 | +| Test.java:6783:50:6783:57 | source(...) : Object | Test.java:6783:42:6783:57 | (...)... : String | provenance | | +| Test.java:6784:10:6784:29 | new CompositeSet<>(...) : CompositeSet [] : String | Test.java:6785:20:6785:22 | out : CompositeSet [] : String | provenance | | +| Test.java:6784:27:6784:28 | in : ListOrderedSet [] : String | Test.java:6784:10:6784:29 | new CompositeSet<>(...) : CompositeSet [] : String | provenance | MaD:781 | +| Test.java:6785:20:6785:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | provenance | | +| Test.java:6785:20:6785:22 | out : CompositeSet [] : String | Test.java:6785:9:6785:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6790:15:6790:71 | {...} : Set[] [[], ] : String | Test.java:6791:27:6791:28 | in : Set[] [[], ] : String | provenance | | +| Test.java:6790:25:6790:70 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | Test.java:6790:15:6790:71 | {...} : Set[] [[], ] : String | provenance | | +| Test.java:6790:54:6790:69 | (...)... : String | Test.java:260:53:260:61 | element : String | provenance | | +| Test.java:6790:54:6790:69 | (...)... : String | Test.java:6790:25:6790:70 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | provenance | MaD:2 | +| Test.java:6790:62:6790:69 | source(...) : Object | Test.java:6790:54:6790:69 | (...)... : String | provenance | | +| Test.java:6791:10:6791:29 | new CompositeSet<>(...) : CompositeSet [] : String | Test.java:6792:20:6792:22 | out : CompositeSet [] : String | provenance | | +| Test.java:6791:27:6791:28 | in : Set[] [[], ] : String | Test.java:6791:10:6791:29 | new CompositeSet<>(...) : CompositeSet [] : String | provenance | MaD:782 | +| Test.java:6792:20:6792:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | provenance | | +| Test.java:6792:20:6792:22 | out : CompositeSet [] : String | Test.java:6792:9:6792:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6797:13:6797:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | Test.java:6798:22:6798:23 | in : ListOrderedSet [] : String | provenance | | +| Test.java:6797:42:6797:57 | (...)... : String | Test.java:260:53:260:61 | element : String | provenance | | +| Test.java:6797:42:6797:57 | (...)... : String | Test.java:6797:13:6797:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | provenance | MaD:2 | +| Test.java:6797:50:6797:57 | source(...) : Object | Test.java:6797:42:6797:57 | (...)... : String | provenance | | +| Test.java:6798:4:6798:6 | out [post update] : CompositeSet [] : String | Test.java:6799:20:6799:22 | out : CompositeSet [] : String | provenance | | +| Test.java:6798:22:6798:23 | in : ListOrderedSet [] : String | Test.java:6798:4:6798:6 | out [post update] : CompositeSet [] : String | provenance | MaD:783 | +| Test.java:6799:20:6799:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | provenance | | +| Test.java:6799:20:6799:22 | out : CompositeSet [] : String | Test.java:6799:9:6799:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6804:13:6804:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | Test.java:6805:22:6805:23 | in : ListOrderedSet [] : String | provenance | | +| Test.java:6804:42:6804:57 | (...)... : String | Test.java:260:53:260:61 | element : String | provenance | | +| Test.java:6804:42:6804:57 | (...)... : String | Test.java:6804:13:6804:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | provenance | MaD:2 | +| Test.java:6804:50:6804:57 | source(...) : Object | Test.java:6804:42:6804:57 | (...)... : String | provenance | | +| Test.java:6805:4:6805:6 | out [post update] : CompositeSet [] : String | Test.java:6806:20:6806:22 | out : CompositeSet [] : String | provenance | | +| Test.java:6805:22:6805:23 | in : ListOrderedSet [] : String | Test.java:6805:4:6805:6 | out [post update] : CompositeSet [] : String | provenance | MaD:784 | +| Test.java:6806:20:6806:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | provenance | | +| Test.java:6806:20:6806:22 | out : CompositeSet [] : String | Test.java:6806:9:6806:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6811:13:6811:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | Test.java:6812:28:6812:29 | in : ListOrderedSet [] : String | provenance | | +| Test.java:6811:42:6811:57 | (...)... : String | Test.java:260:53:260:61 | element : String | provenance | | +| Test.java:6811:42:6811:57 | (...)... : String | Test.java:6811:13:6811:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | provenance | MaD:2 | +| Test.java:6811:50:6811:57 | source(...) : Object | Test.java:6811:42:6811:57 | (...)... : String | provenance | | +| Test.java:6812:4:6812:6 | out [post update] : CompositeSet [] : String | Test.java:6813:20:6813:22 | out : CompositeSet [] : String | provenance | | +| Test.java:6812:28:6812:29 | in : ListOrderedSet [] : String | Test.java:6812:4:6812:6 | out [post update] : CompositeSet [] : String | provenance | MaD:785 | +| Test.java:6813:20:6813:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | provenance | | +| Test.java:6813:20:6813:22 | out : CompositeSet [] : String | Test.java:6813:9:6813:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6818:15:6818:71 | {...} : Set[] [[], ] : String | Test.java:6819:22:6819:23 | in : Set[] [[], ] : String | provenance | | +| Test.java:6818:25:6818:70 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | Test.java:6818:15:6818:71 | {...} : Set[] [[], ] : String | provenance | | +| Test.java:6818:54:6818:69 | (...)... : String | Test.java:260:53:260:61 | element : String | provenance | | +| Test.java:6818:54:6818:69 | (...)... : String | Test.java:6818:25:6818:70 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | provenance | MaD:2 | +| Test.java:6818:62:6818:69 | source(...) : Object | Test.java:6818:54:6818:69 | (...)... : String | provenance | | +| Test.java:6819:4:6819:6 | out [post update] : CompositeSet [] : String | Test.java:6820:20:6820:22 | out : CompositeSet [] : String | provenance | | +| Test.java:6819:22:6819:23 | in : Set[] [[], ] : String | Test.java:6819:4:6819:6 | out [post update] : CompositeSet [] : String | provenance | MaD:786 | +| Test.java:6820:20:6820:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | provenance | | +| Test.java:6820:20:6820:22 | out : CompositeSet [] : String | Test.java:6820:9:6820:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6825:30:6825:73 | newCompositeSetWithElement(...) : CompositeSet [] : String | Test.java:6826:10:6826:11 | in : CompositeSet [] : String | provenance | | +| Test.java:6825:57:6825:72 | (...)... : String | Test.java:254:49:254:57 | element : String | provenance | | +| Test.java:6825:57:6825:72 | (...)... : String | Test.java:6825:30:6825:73 | newCompositeSetWithElement(...) : CompositeSet [] : String | provenance | MaD:2 | +| Test.java:6825:65:6825:72 | source(...) : Object | Test.java:6825:57:6825:72 | (...)... : String | provenance | | +| Test.java:6826:10:6826:11 | in : CompositeSet [] : String | Test.java:6826:10:6826:21 | getSets(...) : List [, ] : String | provenance | MaD:787 | +| Test.java:6826:10:6826:21 | getSets(...) : List [, ] : String | Test.java:6827:31:6827:33 | out : List [, ] : String | provenance | | +| Test.java:6827:20:6827:34 | getElement(...) : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:6827:20:6827:34 | getElement(...) : Set [] : String | Test.java:6827:9:6827:35 | getElement(...) | provenance | MaD:1 | +| Test.java:6827:31:6827:33 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | provenance | | +| Test.java:6827:31:6827:33 | out : List [, ] : String | Test.java:6827:20:6827:34 | getElement(...) : Set [] : String | provenance | MaD:1 | +| Test.java:6832:22:6832:65 | newCompositeSetWithElement(...) : CompositeSet [] : String | Test.java:6833:10:6833:11 | in : CompositeSet [] : String | provenance | | +| Test.java:6832:49:6832:64 | (...)... : String | Test.java:254:49:254:57 | element : String | provenance | | +| Test.java:6832:49:6832:64 | (...)... : String | Test.java:6832:22:6832:65 | newCompositeSetWithElement(...) : CompositeSet [] : String | provenance | MaD:2 | +| Test.java:6832:57:6832:64 | source(...) : Object | Test.java:6832:49:6832:64 | (...)... : String | provenance | | +| Test.java:6833:10:6833:11 | in : CompositeSet [] : String | Test.java:6833:10:6833:19 | toSet(...) : Set [] : String | provenance | MaD:788 | +| Test.java:6833:10:6833:19 | toSet(...) : Set [] : String | Test.java:6834:20:6834:22 | out : Set [] : String | provenance | | +| Test.java:6834:20:6834:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:6834:20:6834:22 | out : Set [] : String | Test.java:6834:9:6834:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6839:16:6839:23 | source(...) : Object | Test.java:6840:15:6840:16 | in : Object | provenance | | +| Test.java:6840:4:6840:6 | out [post update] : ListOrderedSet [] : Object | Test.java:6841:20:6841:22 | out : ListOrderedSet [] : Object | provenance | | +| Test.java:6840:15:6840:16 | in : Object | Test.java:6840:4:6840:6 | out [post update] : ListOrderedSet [] : Object | provenance | MaD:793 | +| Test.java:6841:20:6841:22 | out : ListOrderedSet [] : Object | Test.java:230:19:230:32 | it : ListOrderedSet [] : Object | provenance | | +| Test.java:6841:20:6841:22 | out : ListOrderedSet [] : Object | Test.java:6841:9:6841:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6846:20:6846:44 | of(...) : List [] : String | Test.java:6847:18:6847:19 | in : List [] : String | provenance | | +| Test.java:6846:28:6846:43 | (...)... : String | Test.java:6846:20:6846:44 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:6846:36:6846:43 | source(...) : Object | Test.java:6846:28:6846:43 | (...)... : String | provenance | | +| Test.java:6847:4:6847:6 | out [post update] : ListOrderedSet [] : String | Test.java:6848:20:6848:22 | out : ListOrderedSet [] : String | provenance | | +| Test.java:6847:18:6847:19 | in : List [] : String | Test.java:6847:4:6847:6 | out [post update] : ListOrderedSet [] : String | provenance | MaD:794 | +| Test.java:6848:20:6848:22 | out : ListOrderedSet [] : String | Test.java:230:19:230:32 | it : ListOrderedSet [] : String | provenance | | +| Test.java:6848:20:6848:22 | out : ListOrderedSet [] : String | Test.java:6848:9:6848:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6853:24:6853:69 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | Test.java:6854:10:6854:11 | in : ListOrderedSet [] : String | provenance | | +| Test.java:6853:53:6853:68 | (...)... : String | Test.java:260:53:260:61 | element : String | provenance | | +| Test.java:6853:53:6853:68 | (...)... : String | Test.java:6853:24:6853:69 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | provenance | MaD:2 | +| Test.java:6853:61:6853:68 | source(...) : Object | Test.java:6853:53:6853:68 | (...)... : String | provenance | | +| Test.java:6854:10:6854:11 | in : ListOrderedSet [] : String | Test.java:6854:10:6854:20 | asList(...) : List [] : String | provenance | MaD:795 | +| Test.java:6854:10:6854:20 | asList(...) : List [] : String | Test.java:6855:20:6855:22 | out : List [] : String | provenance | | +| Test.java:6855:20:6855:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | +| Test.java:6855:20:6855:22 | out : List [] : String | Test.java:6855:9:6855:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6860:24:6860:69 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | Test.java:6861:10:6861:11 | in : ListOrderedSet [] : String | provenance | | +| Test.java:6860:53:6860:68 | (...)... : String | Test.java:260:53:260:61 | element : String | provenance | | +| Test.java:6860:53:6860:68 | (...)... : String | Test.java:6860:24:6860:69 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | provenance | MaD:2 | +| Test.java:6860:61:6860:68 | source(...) : Object | Test.java:6860:53:6860:68 | (...)... : String | provenance | | +| Test.java:6861:10:6861:11 | in : ListOrderedSet [] : String | Test.java:6861:10:6861:18 | get(...) : String | provenance | MaD:796 | +| Test.java:6861:10:6861:18 | get(...) : String | Test.java:6862:9:6862:11 | out | provenance | | +| Test.java:6867:14:6867:38 | of(...) : List [] : String | Test.java:6868:40:6868:41 | in : List [] : String | provenance | | +| Test.java:6867:22:6867:37 | (...)... : String | Test.java:6867:14:6867:38 | of(...) : List [] : String | provenance | MaD:6 | +| Test.java:6867:30:6867:37 | source(...) : Object | Test.java:6867:22:6867:37 | (...)... : String | provenance | | +| Test.java:6868:10:6868:42 | listOrderedSet(...) : ListOrderedSet [] : String | Test.java:6869:20:6869:22 | out : ListOrderedSet [] : String | provenance | | +| Test.java:6868:40:6868:41 | in : List [] : String | Test.java:6868:10:6868:42 | listOrderedSet(...) : ListOrderedSet [] : String | provenance | MaD:797 | +| Test.java:6869:20:6869:22 | out : ListOrderedSet [] : String | Test.java:230:19:230:32 | it : ListOrderedSet [] : String | provenance | | +| Test.java:6869:20:6869:22 | out : ListOrderedSet [] : String | Test.java:6869:9:6869:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6874:13:6874:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | Test.java:6875:40:6875:41 | in : ListOrderedSet [] : String | provenance | | +| Test.java:6874:42:6874:57 | (...)... : String | Test.java:260:53:260:61 | element : String | provenance | | +| Test.java:6874:42:6874:57 | (...)... : String | Test.java:6874:13:6874:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | provenance | MaD:2 | +| Test.java:6874:50:6874:57 | source(...) : Object | Test.java:6874:42:6874:57 | (...)... : String | provenance | | +| Test.java:6875:10:6875:42 | listOrderedSet(...) : ListOrderedSet [] : String | Test.java:6876:20:6876:22 | out : ListOrderedSet [] : String | provenance | | +| Test.java:6875:40:6875:41 | in : ListOrderedSet [] : String | Test.java:6875:10:6875:42 | listOrderedSet(...) : ListOrderedSet [] : String | provenance | MaD:798 | +| Test.java:6876:20:6876:22 | out : ListOrderedSet [] : String | Test.java:230:19:230:32 | it : ListOrderedSet [] : String | provenance | | +| Test.java:6876:20:6876:22 | out : ListOrderedSet [] : String | Test.java:6876:9:6876:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6881:13:6881:42 | of(...) : Map [] : String | Test.java:6882:36:6882:37 | in : Map [] : String | provenance | | +| Test.java:6881:20:6881:35 | (...)... : String | Test.java:6881:13:6881:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6881:28:6881:35 | source(...) : Object | Test.java:6881:20:6881:35 | (...)... : String | provenance | | +| Test.java:6882:10:6882:44 | mapBackedSet(...) : MapBackedSet [] : String | Test.java:6883:20:6883:22 | out : MapBackedSet [] : String | provenance | | +| Test.java:6882:36:6882:37 | in : Map [] : String | Test.java:6882:10:6882:44 | mapBackedSet(...) : MapBackedSet [] : String | provenance | MaD:799 | +| Test.java:6883:20:6883:22 | out : MapBackedSet [] : String | Test.java:230:19:230:32 | it : MapBackedSet [] : String | provenance | | +| Test.java:6883:20:6883:22 | out : MapBackedSet [] : String | Test.java:6883:9:6883:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6888:13:6888:42 | of(...) : Map [] : String | Test.java:6889:36:6889:37 | in : Map [] : String | provenance | | +| Test.java:6888:20:6888:35 | (...)... : String | Test.java:6888:13:6888:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6888:28:6888:35 | source(...) : Object | Test.java:6888:20:6888:35 | (...)... : String | provenance | | +| Test.java:6889:10:6889:38 | mapBackedSet(...) : MapBackedSet [] : String | Test.java:6890:20:6890:22 | out : MapBackedSet [] : String | provenance | | +| Test.java:6889:36:6889:37 | in : Map [] : String | Test.java:6889:10:6889:38 | mapBackedSet(...) : MapBackedSet [] : String | provenance | MaD:799 | +| Test.java:6890:20:6890:22 | out : MapBackedSet [] : String | Test.java:230:19:230:32 | it : MapBackedSet [] : String | provenance | | +| Test.java:6890:20:6890:22 | out : MapBackedSet [] : String | Test.java:6890:9:6890:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6895:22:6895:60 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:6896:56:6896:57 | in : TreeSet [] : String | provenance | | +| Test.java:6895:44:6895:59 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:6895:44:6895:59 | (...)... : String | Test.java:6895:22:6895:60 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:6895:52:6895:59 | source(...) : Object | Test.java:6895:44:6895:59 | (...)... : String | provenance | | +| Test.java:6896:10:6896:64 | predicatedNavigableSet(...) : PredicatedNavigableSet [] : String | Test.java:6897:20:6897:22 | out : PredicatedNavigableSet [] : String | provenance | | +| Test.java:6896:56:6896:57 | in : TreeSet [] : String | Test.java:6896:10:6896:64 | predicatedNavigableSet(...) : PredicatedNavigableSet [] : String | provenance | MaD:800 | +| Test.java:6897:20:6897:22 | out : PredicatedNavigableSet [] : String | Test.java:230:19:230:32 | it : PredicatedNavigableSet [] : String | provenance | | +| Test.java:6897:20:6897:22 | out : PredicatedNavigableSet [] : String | Test.java:6897:9:6897:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6902:13:6902:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | Test.java:6903:38:6903:39 | in : ListOrderedSet [] : String | provenance | | +| Test.java:6902:42:6902:57 | (...)... : String | Test.java:260:53:260:61 | element : String | provenance | | +| Test.java:6902:42:6902:57 | (...)... : String | Test.java:6902:13:6902:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | provenance | MaD:2 | +| Test.java:6902:50:6902:57 | source(...) : Object | Test.java:6902:42:6902:57 | (...)... : String | provenance | | +| Test.java:6903:10:6903:46 | predicatedSet(...) : PredicatedSet [] : String | Test.java:6904:20:6904:22 | out : PredicatedSet [] : String | provenance | | +| Test.java:6903:38:6903:39 | in : ListOrderedSet [] : String | Test.java:6903:10:6903:46 | predicatedSet(...) : PredicatedSet [] : String | provenance | MaD:801 | +| Test.java:6904:20:6904:22 | out : PredicatedSet [] : String | Test.java:230:19:230:32 | it : PredicatedSet [] : String | provenance | | +| Test.java:6904:20:6904:22 | out : PredicatedSet [] : String | Test.java:6904:9:6904:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6909:19:6909:57 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:6910:50:6910:51 | in : TreeSet [] : String | provenance | | +| Test.java:6909:41:6909:56 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:6909:41:6909:56 | (...)... : String | Test.java:6909:19:6909:57 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:6909:49:6909:56 | source(...) : Object | Test.java:6909:41:6909:56 | (...)... : String | provenance | | +| Test.java:6910:10:6910:58 | predicatedSortedSet(...) : PredicatedSortedSet [] : String | Test.java:6911:20:6911:22 | out : PredicatedSortedSet [] : String | provenance | | +| Test.java:6910:50:6910:51 | in : TreeSet [] : String | Test.java:6910:10:6910:58 | predicatedSortedSet(...) : PredicatedSortedSet [] : String | provenance | MaD:802 | +| Test.java:6911:20:6911:22 | out : PredicatedSortedSet [] : String | Test.java:230:19:230:32 | it : PredicatedSortedSet [] : String | provenance | | +| Test.java:6911:20:6911:22 | out : PredicatedSortedSet [] : String | Test.java:6911:9:6911:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6916:22:6916:60 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:6917:59:6917:60 | in : TreeSet [] : String | provenance | | +| Test.java:6916:44:6916:59 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:6916:44:6916:59 | (...)... : String | Test.java:6916:22:6916:60 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:6916:52:6916:59 | source(...) : Object | Test.java:6916:44:6916:59 | (...)... : String | provenance | | +| Test.java:6917:10:6917:67 | transformingNavigableSet(...) : TransformedNavigableSet [] : String | Test.java:6918:20:6918:22 | out : TransformedNavigableSet [] : String | provenance | | +| Test.java:6917:59:6917:60 | in : TreeSet [] : String | Test.java:6917:10:6917:67 | transformingNavigableSet(...) : TransformedNavigableSet [] : String | provenance | MaD:803 | +| Test.java:6918:20:6918:22 | out : TransformedNavigableSet [] : String | Test.java:230:19:230:32 | it : TransformedNavigableSet [] : String | provenance | | +| Test.java:6918:20:6918:22 | out : TransformedNavigableSet [] : String | Test.java:6918:9:6918:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6923:13:6923:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | Test.java:6924:41:6924:42 | in : ListOrderedSet [] : String | provenance | | +| Test.java:6923:42:6923:57 | (...)... : String | Test.java:260:53:260:61 | element : String | provenance | | +| Test.java:6923:42:6923:57 | (...)... : String | Test.java:6923:13:6923:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | provenance | MaD:2 | +| Test.java:6923:50:6923:57 | source(...) : Object | Test.java:6923:42:6923:57 | (...)... : String | provenance | | +| Test.java:6924:10:6924:49 | transformingSet(...) : TransformedSet [] : String | Test.java:6925:20:6925:22 | out : TransformedSet [] : String | provenance | | +| Test.java:6924:41:6924:42 | in : ListOrderedSet [] : String | Test.java:6924:10:6924:49 | transformingSet(...) : TransformedSet [] : String | provenance | MaD:804 | +| Test.java:6925:20:6925:22 | out : TransformedSet [] : String | Test.java:230:19:230:32 | it : TransformedSet [] : String | provenance | | +| Test.java:6925:20:6925:22 | out : TransformedSet [] : String | Test.java:6925:9:6925:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6930:19:6930:57 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:6931:53:6931:54 | in : TreeSet [] : String | provenance | | +| Test.java:6930:41:6930:56 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:6930:41:6930:56 | (...)... : String | Test.java:6930:19:6930:57 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:6930:49:6930:56 | source(...) : Object | Test.java:6930:41:6930:56 | (...)... : String | provenance | | +| Test.java:6931:10:6931:61 | transformingSortedSet(...) : TransformedSortedSet [] : String | Test.java:6932:20:6932:22 | out : TransformedSortedSet [] : String | provenance | | +| Test.java:6931:53:6931:54 | in : TreeSet [] : String | Test.java:6931:10:6931:61 | transformingSortedSet(...) : TransformedSortedSet [] : String | provenance | MaD:805 | +| Test.java:6932:20:6932:22 | out : TransformedSortedSet [] : String | Test.java:230:19:230:32 | it : TransformedSortedSet [] : String | provenance | | +| Test.java:6932:20:6932:22 | out : TransformedSortedSet [] : String | Test.java:6932:9:6932:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6937:22:6937:60 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:6938:60:6938:61 | in : TreeSet [] : String | provenance | | +| Test.java:6937:44:6937:59 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:6937:44:6937:59 | (...)... : String | Test.java:6937:22:6937:60 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:6937:52:6937:59 | source(...) : Object | Test.java:6937:44:6937:59 | (...)... : String | provenance | | +| Test.java:6938:10:6938:62 | unmodifiableNavigableSet(...) : NavigableSet [] : String | Test.java:6939:20:6939:22 | out : NavigableSet [] : String | provenance | | +| Test.java:6938:60:6938:61 | in : TreeSet [] : String | Test.java:6938:10:6938:62 | unmodifiableNavigableSet(...) : NavigableSet [] : String | provenance | MaD:806 | +| Test.java:6939:20:6939:22 | out : NavigableSet [] : String | Test.java:230:19:230:32 | it : NavigableSet [] : String | provenance | | +| Test.java:6939:20:6939:22 | out : NavigableSet [] : String | Test.java:6939:9:6939:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6944:13:6944:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | Test.java:6945:42:6945:43 | in : ListOrderedSet [] : String | provenance | | +| Test.java:6944:42:6944:57 | (...)... : String | Test.java:260:53:260:61 | element : String | provenance | | +| Test.java:6944:42:6944:57 | (...)... : String | Test.java:6944:13:6944:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | provenance | MaD:2 | +| Test.java:6944:50:6944:57 | source(...) : Object | Test.java:6944:42:6944:57 | (...)... : String | provenance | | +| Test.java:6945:10:6945:44 | unmodifiableSet(...) : Set [] : String | Test.java:6946:20:6946:22 | out : Set [] : String | provenance | | +| Test.java:6945:42:6945:43 | in : ListOrderedSet [] : String | Test.java:6945:10:6945:44 | unmodifiableSet(...) : Set [] : String | provenance | MaD:807 | +| Test.java:6946:20:6946:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | provenance | | +| Test.java:6946:20:6946:22 | out : Set [] : String | Test.java:6946:9:6946:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6951:19:6951:57 | newTreeSetWithElement(...) : TreeSet [] : String | Test.java:6952:54:6952:55 | in : TreeSet [] : String | provenance | | +| Test.java:6951:41:6951:56 | (...)... : String | Test.java:268:39:268:47 | element : String | provenance | | +| Test.java:6951:41:6951:56 | (...)... : String | Test.java:6951:19:6951:57 | newTreeSetWithElement(...) : TreeSet [] : String | provenance | MaD:2 | +| Test.java:6951:49:6951:56 | source(...) : Object | Test.java:6951:41:6951:56 | (...)... : String | provenance | | +| Test.java:6952:10:6952:56 | unmodifiableSortedSet(...) : SortedSet [] : String | Test.java:6953:20:6953:22 | out : SortedSet [] : String | provenance | | +| Test.java:6952:54:6952:55 | in : TreeSet [] : String | Test.java:6952:10:6952:56 | unmodifiableSortedSet(...) : SortedSet [] : String | provenance | MaD:808 | +| Test.java:6953:20:6953:22 | out : SortedSet [] : String | Test.java:230:19:230:32 | it : SortedSet [] : String | provenance | | +| Test.java:6953:20:6953:22 | out : SortedSet [] : String | Test.java:6953:9:6953:23 | getElement(...) | provenance | MaD:1 | +| Test.java:6958:13:6958:42 | of(...) : Map [] : String | Test.java:6959:46:6959:47 | in : Map [] : String | provenance | | +| Test.java:6958:20:6958:35 | (...)... : String | Test.java:6958:13:6958:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6958:28:6958:35 | source(...) : Object | Test.java:6958:20:6958:35 | (...)... : String | provenance | | +| Test.java:6959:10:6959:48 | new AbstractIterableGetMapDecorator<>(...) : AbstractIterableGetMapDecorator [] : String | Test.java:6960:26:6960:28 | out : AbstractIterableGetMapDecorator [] : String | provenance | | +| Test.java:6959:46:6959:47 | in : Map [] : String | Test.java:6959:10:6959:48 | new AbstractIterableGetMapDecorator<>(...) : AbstractIterableGetMapDecorator [] : String | provenance | MaD:809 | +| Test.java:6960:26:6960:28 | out : AbstractIterableGetMapDecorator [] : String | Test.java:241:25:241:42 | container : AbstractIterableGetMapDecorator [] : String | provenance | | +| Test.java:6960:26:6960:28 | out : AbstractIterableGetMapDecorator [] : String | Test.java:6960:9:6960:29 | getMapKeyFromGet(...) | provenance | MaD:484 | +| Test.java:6965:13:6965:42 | of(...) : Map [] : String | Test.java:6966:46:6966:47 | in : Map [] : String | provenance | | +| Test.java:6965:26:6965:41 | (...)... : String | Test.java:6965:13:6965:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:6965:34:6965:41 | source(...) : Object | Test.java:6965:26:6965:41 | (...)... : String | provenance | | +| Test.java:6966:10:6966:48 | new AbstractIterableGetMapDecorator<>(...) : AbstractIterableGetMapDecorator [] : String | Test.java:6967:28:6967:30 | out : AbstractIterableGetMapDecorator [] : String | provenance | | +| Test.java:6966:46:6966:47 | in : Map [] : String | Test.java:6966:10:6966:48 | new AbstractIterableGetMapDecorator<>(...) : AbstractIterableGetMapDecorator [] : String | provenance | MaD:810 | +| Test.java:6967:28:6967:30 | out : AbstractIterableGetMapDecorator [] : String | Test.java:248:27:248:44 | container : AbstractIterableGetMapDecorator [] : String | provenance | | +| Test.java:6967:28:6967:30 | out : AbstractIterableGetMapDecorator [] : String | Test.java:6967:9:6967:31 | getMapValueFromGet(...) | provenance | MaD:483 | +| Test.java:6972:13:6972:42 | of(...) : Map [] : String | Test.java:6973:46:6973:47 | in : Map [] : String | provenance | | +| Test.java:6972:20:6972:35 | (...)... : String | Test.java:6972:13:6972:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6972:28:6972:35 | source(...) : Object | Test.java:6972:20:6972:35 | (...)... : String | provenance | | +| Test.java:6973:10:6973:60 | transformingMap(...) : TransformedSplitMap [] : String | Test.java:6974:26:6974:28 | out : TransformedSplitMap [] : String | provenance | | +| Test.java:6973:46:6973:47 | in : Map [] : String | Test.java:6973:10:6973:60 | transformingMap(...) : TransformedSplitMap [] : String | provenance | MaD:811 | +| Test.java:6974:26:6974:28 | out : TransformedSplitMap [] : String | Test.java:241:25:241:42 | container : TransformedSplitMap [] : String | provenance | | +| Test.java:6974:26:6974:28 | out : TransformedSplitMap [] : String | Test.java:6974:9:6974:29 | getMapKeyFromGet(...) | provenance | MaD:484 | +| Test.java:6979:13:6979:42 | of(...) : Map [] : String | Test.java:6980:46:6980:47 | in : Map [] : String | provenance | | +| Test.java:6979:26:6979:41 | (...)... : String | Test.java:6979:13:6979:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:6979:34:6979:41 | source(...) : Object | Test.java:6979:26:6979:41 | (...)... : String | provenance | | +| Test.java:6980:10:6980:60 | transformingMap(...) : TransformedSplitMap [] : String | Test.java:6981:28:6981:30 | out : TransformedSplitMap [] : String | provenance | | +| Test.java:6980:46:6980:47 | in : Map [] : String | Test.java:6980:10:6980:60 | transformingMap(...) : TransformedSplitMap [] : String | provenance | MaD:812 | +| Test.java:6981:28:6981:30 | out : TransformedSplitMap [] : String | Test.java:248:27:248:44 | container : TransformedSplitMap [] : String | provenance | | +| Test.java:6981:28:6981:30 | out : TransformedSplitMap [] : String | Test.java:6981:9:6981:31 | getMapValueFromGet(...) | provenance | MaD:483 | +| Test.java:6986:13:6986:42 | of(...) : Map [] : String | Test.java:6987:27:6987:28 | in : Map [] : String | provenance | | +| Test.java:6986:20:6986:35 | (...)... : String | Test.java:6986:13:6986:42 | of(...) : Map [] : String | provenance | MaD:11 | +| Test.java:6986:28:6986:35 | source(...) : Object | Test.java:6986:20:6986:35 | (...)... : String | provenance | | +| Test.java:6987:10:6987:29 | new PatriciaTrie<>(...) : PatriciaTrie [] : String | Test.java:6988:19:6988:21 | out : PatriciaTrie [] : String | provenance | | +| Test.java:6987:27:6987:28 | in : Map [] : String | Test.java:6987:10:6987:29 | new PatriciaTrie<>(...) : PatriciaTrie [] : String | provenance | MaD:817 | +| Test.java:6988:19:6988:21 | out : PatriciaTrie [] : String | Test.java:228:18:228:29 | map : PatriciaTrie [] : String | provenance | | +| Test.java:6988:19:6988:21 | out : PatriciaTrie [] : String | Test.java:6988:9:6988:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:6993:13:6993:42 | of(...) : Map [] : String | Test.java:6994:27:6994:28 | in : Map [] : String | provenance | | +| Test.java:6993:26:6993:41 | (...)... : String | Test.java:6993:13:6993:42 | of(...) : Map [] : String | provenance | MaD:12 | +| Test.java:6993:34:6993:41 | source(...) : Object | Test.java:6993:26:6993:41 | (...)... : String | provenance | | +| Test.java:6994:10:6994:29 | new PatriciaTrie<>(...) : PatriciaTrie [] : String | Test.java:6995:21:6995:23 | out : PatriciaTrie [] : String | provenance | | +| Test.java:6994:27:6994:28 | in : Map [] : String | Test.java:6994:10:6994:29 | new PatriciaTrie<>(...) : PatriciaTrie [] : String | provenance | MaD:818 | +| Test.java:6995:21:6995:23 | out : PatriciaTrie [] : String | Test.java:232:20:232:31 | map : PatriciaTrie [] : String | provenance | | +| Test.java:6995:21:6995:23 | out : PatriciaTrie [] : String | Test.java:6995:9:6995:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:6999:30:6999:72 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | Test.java:7001:10:7001:11 | in : PatriciaTrie [] : String | provenance | | +| Test.java:6999:56:6999:71 | (...)... : String | Test.java:288:49:288:58 | key : String | provenance | | +| Test.java:6999:56:6999:71 | (...)... : String | Test.java:6999:30:6999:72 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | provenance | MaD:14 | +| Test.java:6999:56:6999:71 | (...)... : String | Test.java:6999:30:6999:72 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | provenance | MaD:705 | +| Test.java:6999:64:6999:71 | source(...) : Object | Test.java:6999:56:6999:71 | (...)... : String | provenance | | +| Test.java:7001:10:7001:11 | in : PatriciaTrie [] : String | Test.java:7001:10:7001:24 | select(...) : Entry [] : String | provenance | MaD:813 | +| Test.java:7001:10:7001:24 | select(...) : Entry [] : String | Test.java:7002:28:7002:30 | out : Entry [] : String | provenance | | +| Test.java:7002:28:7002:30 | out : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | provenance | | +| Test.java:7002:28:7002:30 | out : Entry [] : String | Test.java:7002:9:7002:31 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:7006:30:7006:74 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | Test.java:7008:10:7008:11 | in : PatriciaTrie [] : String | provenance | | +| Test.java:7006:58:7006:73 | (...)... : String | Test.java:307:50:307:56 | value : String | provenance | | +| Test.java:7006:58:7006:73 | (...)... : String | Test.java:7006:30:7006:74 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:15 | +| Test.java:7006:58:7006:73 | (...)... : String | Test.java:7006:30:7006:74 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:706 | +| Test.java:7006:66:7006:73 | source(...) : Object | Test.java:7006:58:7006:73 | (...)... : String | provenance | | +| Test.java:7008:10:7008:11 | in : PatriciaTrie [] : String | Test.java:7008:10:7008:24 | select(...) : Entry [] : String | provenance | MaD:814 | +| Test.java:7008:10:7008:24 | select(...) : Entry [] : String | Test.java:7009:30:7009:32 | out : Entry [] : String | provenance | | +| Test.java:7009:30:7009:32 | out : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | provenance | | +| Test.java:7009:30:7009:32 | out : Entry [] : String | Test.java:7009:9:7009:33 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:7013:30:7013:72 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | Test.java:7015:10:7015:11 | in : PatriciaTrie [] : String | provenance | | +| Test.java:7013:56:7013:71 | (...)... : String | Test.java:288:49:288:58 | key : String | provenance | | +| Test.java:7013:56:7013:71 | (...)... : String | Test.java:7013:30:7013:72 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | provenance | MaD:14 | +| Test.java:7013:56:7013:71 | (...)... : String | Test.java:7013:30:7013:72 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | provenance | MaD:705 | +| Test.java:7013:64:7013:71 | source(...) : Object | Test.java:7013:56:7013:71 | (...)... : String | provenance | | +| Test.java:7015:10:7015:11 | in : PatriciaTrie [] : String | Test.java:7015:10:7015:27 | selectKey(...) : String | provenance | MaD:815 | +| Test.java:7015:10:7015:27 | selectKey(...) : String | Test.java:7016:9:7016:11 | out | provenance | | +| Test.java:7020:30:7020:74 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | Test.java:7022:10:7022:11 | in : PatriciaTrie [] : String | provenance | | +| Test.java:7020:58:7020:73 | (...)... : String | Test.java:307:50:307:56 | value : String | provenance | | +| Test.java:7020:58:7020:73 | (...)... : String | Test.java:7020:30:7020:74 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:15 | +| Test.java:7020:58:7020:73 | (...)... : String | Test.java:7020:30:7020:74 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:706 | +| Test.java:7020:66:7020:73 | source(...) : Object | Test.java:7020:58:7020:73 | (...)... : String | provenance | | +| Test.java:7022:10:7022:11 | in : PatriciaTrie [] : String | Test.java:7022:10:7022:29 | selectValue(...) : String | provenance | MaD:816 | +| Test.java:7022:10:7022:29 | selectValue(...) : String | Test.java:7023:9:7023:11 | out | provenance | | +| Test.java:7028:14:7028:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | Test.java:7029:44:7029:45 | in : PatriciaTrie [] : String | provenance | | +| Test.java:7028:40:7028:55 | (...)... : String | Test.java:288:49:288:58 | key : String | provenance | | +| Test.java:7028:40:7028:55 | (...)... : String | Test.java:7028:14:7028:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | provenance | MaD:14 | +| Test.java:7028:40:7028:55 | (...)... : String | Test.java:7028:14:7028:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | provenance | MaD:705 | +| Test.java:7028:48:7028:55 | source(...) : Object | Test.java:7028:40:7028:55 | (...)... : String | provenance | | +| Test.java:7029:10:7029:46 | unmodifiableTrie(...) : Trie [] : String | Test.java:7030:19:7030:21 | out : Trie [] : String | provenance | | +| Test.java:7029:44:7029:45 | in : PatriciaTrie [] : String | Test.java:7029:10:7029:46 | unmodifiableTrie(...) : Trie [] : String | provenance | MaD:819 | +| Test.java:7030:19:7030:21 | out : Trie [] : String | Test.java:228:18:228:29 | map : Trie [] : String | provenance | | +| Test.java:7030:19:7030:21 | out : Trie [] : String | Test.java:7030:9:7030:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:7035:14:7035:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | Test.java:7036:44:7036:45 | in : PatriciaTrie [] : String | provenance | | +| Test.java:7035:42:7035:57 | (...)... : String | Test.java:307:50:307:56 | value : String | provenance | | +| Test.java:7035:42:7035:57 | (...)... : String | Test.java:7035:14:7035:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:15 | +| Test.java:7035:42:7035:57 | (...)... : String | Test.java:7035:14:7035:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | provenance | MaD:706 | +| Test.java:7035:50:7035:57 | source(...) : Object | Test.java:7035:42:7035:57 | (...)... : String | provenance | | +| Test.java:7036:10:7036:46 | unmodifiableTrie(...) : Trie [] : String | Test.java:7037:21:7037:23 | out : Trie [] : String | provenance | | +| Test.java:7036:44:7036:45 | in : PatriciaTrie [] : String | Test.java:7036:10:7036:46 | unmodifiableTrie(...) : Trie [] : String | provenance | MaD:820 | +| Test.java:7037:21:7037:23 | out : Trie [] : String | Test.java:232:20:232:31 | map : Trie [] : String | provenance | | +| Test.java:7037:21:7037:23 | out : Trie [] : String | Test.java:7037:9:7037:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:7043:22:7043:26 | key : Object | Test.java:7044:10:7044:12 | key : Object | provenance | | +| Test.java:7043:22:7043:26 | key : String | Test.java:7044:10:7044:12 | key : String | provenance | | +| Test.java:7043:29:7043:35 | value : Object | Test.java:7044:15:7044:19 | value : Object | provenance | | +| Test.java:7043:29:7043:35 | value : String | Test.java:7044:15:7044:19 | value : String | provenance | | +| Test.java:7044:4:7044:21 | this [post update] : MyAbstractKeyValue [] : Object | Test.java:7043:3:7043:20 | parameter this [Return] : MyAbstractKeyValue [] : Object | provenance | | +| Test.java:7044:4:7044:21 | this [post update] : MyAbstractKeyValue [] : String | Test.java:7043:3:7043:20 | parameter this [Return] : MyAbstractKeyValue [] : String | provenance | | +| Test.java:7044:4:7044:21 | this [post update] : MyAbstractKeyValue [] : Object | Test.java:7043:3:7043:20 | parameter this [Return] : MyAbstractKeyValue [] : Object | provenance | | +| Test.java:7044:4:7044:21 | this [post update] : MyAbstractKeyValue [] : String | Test.java:7043:3:7043:20 | parameter this [Return] : MyAbstractKeyValue [] : String | provenance | | +| Test.java:7044:10:7044:12 | key : Object | Test.java:7044:4:7044:21 | this [post update] : MyAbstractKeyValue [] : Object | provenance | MaD:189 | +| Test.java:7044:10:7044:12 | key : String | Test.java:7044:4:7044:21 | this [post update] : MyAbstractKeyValue [] : String | provenance | MaD:189 | +| Test.java:7044:15:7044:19 | value : Object | Test.java:7044:4:7044:21 | this [post update] : MyAbstractKeyValue [] : Object | provenance | MaD:190 | +| Test.java:7044:15:7044:19 | value : String | Test.java:7044:4:7044:21 | this [post update] : MyAbstractKeyValue [] : String | provenance | MaD:190 | +| Test.java:7047:5:7047:12 | parameter this : MyAbstractKeyValue [] : String | Test.java:7048:11:7048:15 | super : MyAbstractKeyValue [] : String | provenance | | +| Test.java:7047:14:7047:24 | key : Object | Test.java:7048:24:7048:26 | key : Object | provenance | | +| Test.java:7048:11:7048:15 | super : MyAbstractKeyValue [] : String | Test.java:7048:11:7048:27 | setKey(...) : String | provenance | MaD:191 | +| Test.java:7048:11:7048:15 | super [post update] : MyAbstractKeyValue [] : Object | Test.java:7047:5:7047:12 | parameter this [Return] : MyAbstractKeyValue [] : Object | provenance | | +| Test.java:7048:24:7048:26 | key : Object | Test.java:7048:11:7048:15 | super [post update] : MyAbstractKeyValue [] : Object | provenance | MaD:192 | +| Test.java:7051:5:7051:14 | parameter this : MyAbstractKeyValue [] : String | Test.java:7052:11:7052:15 | super : MyAbstractKeyValue [] : String | provenance | | +| Test.java:7051:16:7051:28 | value : Object | Test.java:7052:26:7052:30 | value : Object | provenance | | +| Test.java:7052:11:7052:15 | super : MyAbstractKeyValue [] : String | Test.java:7052:11:7052:31 | setValue(...) : String | provenance | MaD:193 | +| Test.java:7052:11:7052:15 | super [post update] : MyAbstractKeyValue [] : Object | Test.java:7051:5:7051:14 | parameter this [Return] : MyAbstractKeyValue [] : Object | provenance | | +| Test.java:7052:26:7052:30 | value : Object | Test.java:7052:11:7052:15 | super [post update] : MyAbstractKeyValue [] : Object | provenance | MaD:194 | +| Test.java:7057:22:7057:32 | key : Object | Test.java:7058:10:7058:12 | key : Object | provenance | | +| Test.java:7057:22:7057:32 | key : String | Test.java:7058:10:7058:12 | key : String | provenance | | +| Test.java:7057:35:7057:47 | value : Object | Test.java:7058:15:7058:19 | value : Object | provenance | | +| Test.java:7057:35:7057:47 | value : String | Test.java:7058:15:7058:19 | value : String | provenance | | +| Test.java:7058:4:7058:21 | this [post update] : MyAbstractMapEntry [] : Object | Test.java:7057:3:7057:20 | parameter this [Return] : MyAbstractMapEntry [] : Object | provenance | | +| Test.java:7058:4:7058:21 | this [post update] : MyAbstractMapEntry [] : String | Test.java:7057:3:7057:20 | parameter this [Return] : MyAbstractMapEntry [] : String | provenance | | +| Test.java:7058:4:7058:21 | this [post update] : MyAbstractMapEntry [] : Object | Test.java:7057:3:7057:20 | parameter this [Return] : MyAbstractMapEntry [] : Object | provenance | | +| Test.java:7058:4:7058:21 | this [post update] : MyAbstractMapEntry [] : String | Test.java:7057:3:7057:20 | parameter this [Return] : MyAbstractMapEntry [] : String | provenance | | +| Test.java:7058:10:7058:12 | key : Object | Test.java:7058:4:7058:21 | this [post update] : MyAbstractMapEntry [] : Object | provenance | MaD:195 | +| Test.java:7058:10:7058:12 | key : String | Test.java:7058:4:7058:21 | this [post update] : MyAbstractMapEntry [] : String | provenance | MaD:195 | +| Test.java:7058:15:7058:19 | value : Object | Test.java:7058:4:7058:21 | this [post update] : MyAbstractMapEntry [] : Object | provenance | MaD:196 | +| Test.java:7058:15:7058:19 | value : String | Test.java:7058:4:7058:21 | this [post update] : MyAbstractMapEntry [] : String | provenance | MaD:196 | +| Test.java:7067:31:7067:57 | entry : MyAbstractMapEntry [] : String | Test.java:7068:10:7068:14 | entry : MyAbstractMapEntry [] : String | provenance | | +| Test.java:7067:31:7067:57 | entry : MyAbstractMapEntry [] : String | Test.java:7068:10:7068:14 | entry : MyAbstractMapEntry [] : String | provenance | | +| Test.java:7068:4:7068:16 | this [post update] : MyAbstractMapEntryDecorator [] : String | Test.java:7067:3:7067:29 | parameter this [Return] : MyAbstractMapEntryDecorator [] : String | provenance | | +| Test.java:7068:4:7068:16 | this [post update] : MyAbstractMapEntryDecorator [] : String | Test.java:7067:3:7067:29 | parameter this [Return] : MyAbstractMapEntryDecorator [] : String | provenance | | +| Test.java:7068:10:7068:14 | entry : MyAbstractMapEntry [] : String | Test.java:7068:4:7068:16 | this [post update] : MyAbstractMapEntryDecorator [] : String | provenance | MaD:197 | +| Test.java:7068:10:7068:14 | entry : MyAbstractMapEntry [] : String | Test.java:7068:4:7068:16 | this [post update] : MyAbstractMapEntryDecorator [] : String | provenance | MaD:198 | +| Test.java:7071:19:7071:31 | parameter this : MyAbstractMapEntryDecorator [] : String | Test.java:7072:11:7072:15 | super : MyAbstractMapEntryDecorator [] : String | provenance | | +| Test.java:7071:19:7071:31 | parameter this : MyAbstractMapEntryDecorator [] : String | Test.java:7072:11:7072:15 | super : MyAbstractMapEntryDecorator [] : String | provenance | | +| Test.java:7072:11:7072:15 | super : MyAbstractMapEntryDecorator [] : String | Test.java:7072:11:7072:29 | getMapEntry(...) : Entry [] : String | provenance | MaD:199 | +| Test.java:7072:11:7072:15 | super : MyAbstractMapEntryDecorator [] : String | Test.java:7072:11:7072:29 | getMapEntry(...) : Entry [] : String | provenance | MaD:200 | +| Test.java:7082:15:7082:30 | parameter this : MySetView [] : String | Test.java:7082:43:7082:58 | this <.method> : MySetView [] : String | provenance | | +| Test.java:7082:43:7082:58 | this <.method> : MySetView [] : String | Test.java:7082:43:7082:58 | createIterator(...) : Iterator [] : String | provenance | MaD:736 | +| Test.java:7086:43:7086:71 | map : DualTreeBidiMap [] : String | Test.java:7087:10:7087:12 | map : DualTreeBidiMap [] : String | provenance | | +| Test.java:7086:43:7086:71 | map : DualTreeBidiMap [] : String | Test.java:7087:10:7087:12 | map : DualTreeBidiMap [] : String | provenance | | +| Test.java:7087:4:7087:14 | this [post update] : MyAbstractSortedBidiMapDecorator [] : String | Test.java:7086:10:7086:41 | parameter this [Return] : MyAbstractSortedBidiMapDecorator [] : String | provenance | | +| Test.java:7087:4:7087:14 | this [post update] : MyAbstractSortedBidiMapDecorator [] : String | Test.java:7086:10:7086:41 | parameter this [Return] : MyAbstractSortedBidiMapDecorator [] : String | provenance | | +| Test.java:7087:10:7087:12 | map : DualTreeBidiMap [] : String | Test.java:7087:4:7087:14 | this [post update] : MyAbstractSortedBidiMapDecorator [] : String | provenance | MaD:52 | +| Test.java:7087:10:7087:12 | map : DualTreeBidiMap [] : String | Test.java:7087:4:7087:14 | this [post update] : MyAbstractSortedBidiMapDecorator [] : String | provenance | MaD:53 | +| Test.java:7092:40:7092:65 | map : ListOrderedMap [] : String | Test.java:7093:10:7093:12 | map : ListOrderedMap [] : String | provenance | | +| Test.java:7092:40:7092:65 | map : ListOrderedMap [] : String | Test.java:7093:10:7093:12 | map : ListOrderedMap [] : String | provenance | | +| Test.java:7093:4:7093:14 | this [post update] : MyAbstractOrderedMapDecorator [] : String | Test.java:7092:10:7092:38 | parameter this [Return] : MyAbstractOrderedMapDecorator [] : String | provenance | | +| Test.java:7093:4:7093:14 | this [post update] : MyAbstractOrderedMapDecorator [] : String | Test.java:7092:10:7092:38 | parameter this [Return] : MyAbstractOrderedMapDecorator [] : String | provenance | | +| Test.java:7093:10:7093:12 | map : ListOrderedMap [] : String | Test.java:7093:4:7093:14 | this [post update] : MyAbstractOrderedMapDecorator [] : String | provenance | MaD:271 | +| Test.java:7093:10:7093:12 | map : ListOrderedMap [] : String | Test.java:7093:4:7093:14 | this [post update] : MyAbstractOrderedMapDecorator [] : String | provenance | MaD:272 | +| Test.java:7098:39:7098:63 | map : TreeMap [] : String | Test.java:7099:10:7099:12 | map : TreeMap [] : String | provenance | | +| Test.java:7098:39:7098:63 | map : TreeMap [] : String | Test.java:7099:10:7099:12 | map : TreeMap [] : String | provenance | | +| Test.java:7099:4:7099:14 | this [post update] : MyAbstractSortedMapDecorator [] : String | Test.java:7098:10:7098:37 | parameter this [Return] : MyAbstractSortedMapDecorator [] : String | provenance | | +| Test.java:7099:4:7099:14 | this [post update] : MyAbstractSortedMapDecorator [] : String | Test.java:7098:10:7098:37 | parameter this [Return] : MyAbstractSortedMapDecorator [] : String | provenance | | +| Test.java:7099:10:7099:12 | map : TreeMap [] : String | Test.java:7099:4:7099:14 | this [post update] : MyAbstractSortedMapDecorator [] : String | provenance | MaD:273 | +| Test.java:7099:10:7099:12 | map : TreeMap [] : String | Test.java:7099:4:7099:14 | this [post update] : MyAbstractSortedMapDecorator [] : String | provenance | MaD:274 | +| Test.java:7104:33:7104:48 | bag : TreeBag [] : String | Test.java:7105:10:7105:12 | bag : TreeBag [] : String | provenance | | +| Test.java:7105:4:7105:14 | this [post update] : MyAbstractBagDecorator [] : String | Test.java:7104:10:7104:31 | parameter this [Return] : MyAbstractBagDecorator [] : String | provenance | | +| Test.java:7105:10:7105:12 | bag : TreeBag [] : String | Test.java:7105:4:7105:14 | this [post update] : MyAbstractBagDecorator [] : String | provenance | MaD:24 | +| Test.java:7110:27:7110:58 | map : Map [] : String | Test.java:7111:10:7111:12 | map : Map [] : String | provenance | | +| Test.java:7111:4:7111:14 | this [post update] : MyAbstractMapBag [] : String | Test.java:7110:10:7110:25 | parameter this [Return] : MyAbstractMapBag [] : String | provenance | | +| Test.java:7111:10:7111:12 | map : Map [] : String | Test.java:7111:4:7111:14 | this [post update] : MyAbstractMapBag [] : String | provenance | MaD:25 | +| Test.java:7113:33:7113:40 | parameter this : MyAbstractMapBag [] : String | Test.java:7114:11:7114:15 | super : MyAbstractMapBag [] : String | provenance | | +| Test.java:7114:11:7114:15 | super : MyAbstractMapBag [] : String | Test.java:7114:11:7114:24 | getMap(...) : Map [] : String | provenance | MaD:26 | +| Test.java:7119:39:7119:60 | bag : TreeBag [] : String | Test.java:7120:10:7120:12 | bag : TreeBag [] : String | provenance | | +| Test.java:7120:4:7120:14 | this [post update] : MyAbstractSortedBagDecorator [] : String | Test.java:7119:10:7119:37 | parameter this [Return] : MyAbstractSortedBagDecorator [] : String | provenance | | +| Test.java:7120:10:7120:12 | bag : TreeBag [] : String | Test.java:7120:4:7120:14 | this [post update] : MyAbstractSortedBagDecorator [] : String | provenance | MaD:27 | +| Test.java:7125:37:7125:59 | map : DualTreeBidiMap [] : String | Test.java:7126:10:7126:12 | map : DualTreeBidiMap [] : String | provenance | | +| Test.java:7125:37:7125:59 | map : DualTreeBidiMap [] : String | Test.java:7126:10:7126:12 | map : DualTreeBidiMap [] : String | provenance | | +| Test.java:7126:4:7126:14 | this [post update] : MyAbstractBidiMapDecorator [] : String | Test.java:7125:10:7125:35 | parameter this [Return] : MyAbstractBidiMapDecorator [] : String | provenance | | +| Test.java:7126:4:7126:14 | this [post update] : MyAbstractBidiMapDecorator [] : String | Test.java:7125:10:7125:35 | parameter this [Return] : MyAbstractBidiMapDecorator [] : String | provenance | | +| Test.java:7126:10:7126:12 | map : DualTreeBidiMap [] : String | Test.java:7126:4:7126:14 | this [post update] : MyAbstractBidiMapDecorator [] : String | provenance | MaD:42 | +| Test.java:7126:10:7126:12 | map : DualTreeBidiMap [] : String | Test.java:7126:4:7126:14 | this [post update] : MyAbstractBidiMapDecorator [] : String | provenance | MaD:43 | +| Test.java:7134:32:7134:56 | normalMap : DualTreeBidiMap [] : String | Test.java:7135:10:7135:18 | normalMap : DualTreeBidiMap [] : String | provenance | | +| Test.java:7134:32:7134:56 | normalMap : DualTreeBidiMap [] : String | Test.java:7135:10:7135:18 | normalMap : DualTreeBidiMap [] : String | provenance | | +| Test.java:7134:59:7134:84 | reverseMap : DualTreeBidiMap [] : String | Test.java:7135:21:7135:30 | reverseMap : DualTreeBidiMap [] : String | provenance | | +| Test.java:7134:59:7134:84 | reverseMap : DualTreeBidiMap [] : String | Test.java:7135:21:7135:30 | reverseMap : DualTreeBidiMap [] : String | provenance | | +| Test.java:7134:87:7134:120 | inverseBidiMap : DualTreeBidiMap [] : String | Test.java:7135:33:7135:46 | inverseBidiMap : DualTreeBidiMap [] : String | provenance | | +| Test.java:7134:87:7134:120 | inverseBidiMap : DualTreeBidiMap [] : String | Test.java:7135:33:7135:46 | inverseBidiMap : DualTreeBidiMap [] : String | provenance | | +| Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | provenance | | +| Test.java:7135:10:7135:18 | normalMap : DualTreeBidiMap [] : String | Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | provenance | MaD:44 | +| Test.java:7135:10:7135:18 | normalMap : DualTreeBidiMap [] : String | Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | provenance | MaD:45 | +| Test.java:7135:21:7135:30 | reverseMap : DualTreeBidiMap [] : String | Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | provenance | MaD:46 | +| Test.java:7135:21:7135:30 | reverseMap : DualTreeBidiMap [] : String | Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | provenance | MaD:47 | +| Test.java:7135:33:7135:46 | inverseBidiMap : DualTreeBidiMap [] : String | Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | provenance | MaD:48 | +| Test.java:7135:33:7135:46 | inverseBidiMap : DualTreeBidiMap [] : String | Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | provenance | MaD:49 | +| Test.java:7143:44:7143:73 | map : DualTreeBidiMap [] : String | Test.java:7144:10:7144:12 | map : DualTreeBidiMap [] : String | provenance | | +| Test.java:7143:44:7143:73 | map : DualTreeBidiMap [] : String | Test.java:7144:10:7144:12 | map : DualTreeBidiMap [] : String | provenance | | +| Test.java:7144:4:7144:14 | this [post update] : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:7143:10:7143:42 | parameter this [Return] : MyAbstractOrderedBidiMapDecorator [] : String | provenance | | +| Test.java:7144:4:7144:14 | this [post update] : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:7143:10:7143:42 | parameter this [Return] : MyAbstractOrderedBidiMapDecorator [] : String | provenance | | +| Test.java:7144:10:7144:12 | map : DualTreeBidiMap [] : String | Test.java:7144:4:7144:14 | this [post update] : MyAbstractOrderedBidiMapDecorator [] : String | provenance | MaD:50 | +| Test.java:7144:10:7144:12 | map : DualTreeBidiMap [] : String | Test.java:7144:4:7144:14 | this [post update] : MyAbstractOrderedBidiMapDecorator [] : String | provenance | MaD:51 | +| Test.java:7149:40:7149:63 | coll : TreeBag [] : String | Test.java:7150:10:7150:13 | coll : TreeBag [] : String | provenance | | +| Test.java:7150:4:7150:15 | this [post update] : MyAbstractCollectionDecorator [] : String | Test.java:7149:10:7149:38 | parameter this [Return] : MyAbstractCollectionDecorator [] : String | provenance | | +| Test.java:7150:10:7150:13 | coll : TreeBag [] : String | Test.java:7150:4:7150:15 | this [post update] : MyAbstractCollectionDecorator [] : String | provenance | MaD:74 | +| Test.java:7152:24:7152:34 | parameter this : MyAbstractCollectionDecorator [] : String | Test.java:7153:11:7153:15 | super : MyAbstractCollectionDecorator [] : String | provenance | | +| Test.java:7153:11:7153:15 | super : MyAbstractCollectionDecorator [] : String | Test.java:7153:11:7153:27 | decorated(...) : Collection [] : String | provenance | MaD:75 | +| Test.java:7155:31:7155:54 | coll : TreeBag [] : String | Test.java:7156:24:7156:27 | coll : TreeBag [] : String | provenance | | +| Test.java:7156:4:7156:8 | super [post update] : MyAbstractCollectionDecorator [] : String | Test.java:7155:15:7155:29 | parameter this [Return] : MyAbstractCollectionDecorator [] : String | provenance | | +| Test.java:7156:24:7156:27 | coll : TreeBag [] : String | Test.java:7156:4:7156:8 | super [post update] : MyAbstractCollectionDecorator [] : String | provenance | MaD:76 | +| Test.java:7161:38:7161:63 | iterator : ListIterator [] : String | Test.java:7162:10:7162:17 | iterator : ListIterator [] : String | provenance | | +| Test.java:7162:4:7162:19 | this [post update] : MyAbstractIteratorDecorator [] : String | Test.java:7161:10:7161:36 | parameter this [Return] : MyAbstractIteratorDecorator [] : String | provenance | | +| Test.java:7162:10:7162:17 | iterator : ListIterator [] : String | Test.java:7162:4:7162:19 | this [post update] : MyAbstractIteratorDecorator [] : String | provenance | MaD:114 | +| Test.java:7167:42:7167:71 | iterator : ListIterator [] : String | Test.java:7168:10:7168:17 | iterator : ListIterator [] : String | provenance | | +| Test.java:7168:4:7168:19 | this [post update] : MyAbstractListIteratorDecorator [] : String | Test.java:7167:10:7167:40 | parameter this [Return] : MyAbstractListIteratorDecorator [] : String | provenance | | +| Test.java:7168:10:7168:17 | iterator : ListIterator [] : String | Test.java:7168:4:7168:19 | this [post update] : MyAbstractListIteratorDecorator [] : String | provenance | MaD:115 | +| Test.java:7170:26:7170:42 | parameter this : MyAbstractListIteratorDecorator [] : String | Test.java:7171:11:7171:15 | super : MyAbstractListIteratorDecorator [] : String | provenance | | +| Test.java:7171:11:7171:15 | super : MyAbstractListIteratorDecorator [] : String | Test.java:7171:11:7171:33 | getListIterator(...) : ListIterator [] : String | provenance | MaD:116 | +| Test.java:7176:41:7176:72 | iterator : OrderedMapIterator [] : String | Test.java:7177:10:7177:17 | iterator : OrderedMapIterator [] : String | provenance | | +| Test.java:7176:41:7176:72 | iterator : OrderedMapIterator [] : String | Test.java:7177:10:7177:17 | iterator : OrderedMapIterator [] : String | provenance | | +| Test.java:7177:4:7177:19 | this [post update] : MyAbstractMapIteratorDecorator [] : String | Test.java:7176:10:7176:39 | parameter this [Return] : MyAbstractMapIteratorDecorator [] : String | provenance | | +| Test.java:7177:4:7177:19 | this [post update] : MyAbstractMapIteratorDecorator [] : String | Test.java:7176:10:7176:39 | parameter this [Return] : MyAbstractMapIteratorDecorator [] : String | provenance | | +| Test.java:7177:10:7177:17 | iterator : OrderedMapIterator [] : String | Test.java:7177:4:7177:19 | this [post update] : MyAbstractMapIteratorDecorator [] : String | provenance | MaD:117 | +| Test.java:7177:10:7177:17 | iterator : OrderedMapIterator [] : String | Test.java:7177:4:7177:19 | this [post update] : MyAbstractMapIteratorDecorator [] : String | provenance | MaD:118 | +| Test.java:7179:28:7179:43 | parameter this : MyAbstractMapIteratorDecorator [] : String | Test.java:7180:11:7180:15 | super : MyAbstractMapIteratorDecorator [] : String | provenance | | +| Test.java:7179:28:7179:43 | parameter this : MyAbstractMapIteratorDecorator [] : String | Test.java:7180:11:7180:15 | super : MyAbstractMapIteratorDecorator [] : String | provenance | | +| Test.java:7180:11:7180:15 | super : MyAbstractMapIteratorDecorator [] : String | Test.java:7180:11:7180:32 | getMapIterator(...) : MapIterator [] : String | provenance | MaD:119 | +| Test.java:7180:11:7180:15 | super : MyAbstractMapIteratorDecorator [] : String | Test.java:7180:11:7180:32 | getMapIterator(...) : MapIterator [] : String | provenance | MaD:120 | +| Test.java:7185:48:7185:86 | iterator : OrderedMapIterator [] : String | Test.java:7186:10:7186:17 | iterator : OrderedMapIterator [] : String | provenance | | +| Test.java:7185:48:7185:86 | iterator : OrderedMapIterator [] : String | Test.java:7186:10:7186:17 | iterator : OrderedMapIterator [] : String | provenance | | +| Test.java:7186:4:7186:19 | this [post update] : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:7185:10:7185:46 | parameter this [Return] : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | | +| Test.java:7186:4:7186:19 | this [post update] : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:7185:10:7185:46 | parameter this [Return] : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | | +| Test.java:7186:10:7186:17 | iterator : OrderedMapIterator [] : String | Test.java:7186:4:7186:19 | this [post update] : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | MaD:121 | +| Test.java:7186:10:7186:17 | iterator : OrderedMapIterator [] : String | Test.java:7186:4:7186:19 | this [post update] : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | MaD:122 | +| Test.java:7188:35:7188:57 | parameter this : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:7189:11:7189:15 | super : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | | +| Test.java:7188:35:7188:57 | parameter this : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:7189:11:7189:15 | super : MyAbstractOrderedMapIteratorDecorator [] : String | provenance | | +| Test.java:7189:11:7189:15 | super : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:7189:11:7189:39 | getOrderedMapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:123 | +| Test.java:7189:11:7189:15 | super : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:7189:11:7189:39 | getOrderedMapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:124 | +| Test.java:7194:45:7194:70 | iterator : ListIterator [] : String | Test.java:7195:10:7195:17 | iterator : ListIterator [] : String | provenance | | +| Test.java:7195:4:7195:19 | this [post update] : MyAbstractUntypedIteratorDecorator [] : String | Test.java:7194:10:7194:43 | parameter this [Return] : MyAbstractUntypedIteratorDecorator [] : String | provenance | | +| Test.java:7195:10:7195:17 | iterator : ListIterator [] : String | Test.java:7195:4:7195:19 | this [post update] : MyAbstractUntypedIteratorDecorator [] : String | provenance | MaD:125 | +| Test.java:7197:22:7197:34 | parameter this : MyAbstractUntypedIteratorDecorator [] : String | Test.java:7198:11:7198:15 | super : MyAbstractUntypedIteratorDecorator [] : String | provenance | | +| Test.java:7198:11:7198:15 | super : MyAbstractUntypedIteratorDecorator [] : String | Test.java:7198:11:7198:29 | getIterator(...) : Iterator [] : String | provenance | MaD:126 | +| Test.java:7204:31:7204:64 | coll : TreeBag [] : String | Test.java:7205:10:7205:13 | coll : TreeBag [] : String | provenance | | +| Test.java:7205:4:7205:15 | this [post update] : MyAbstractLinkedList [] : String | Test.java:7204:10:7204:29 | parameter this [Return] : MyAbstractLinkedList [] : String | provenance | | +| Test.java:7205:10:7205:13 | coll : TreeBag [] : String | Test.java:7205:4:7205:15 | this [post update] : MyAbstractLinkedList [] : String | provenance | MaD:241 | +| Test.java:7210:34:7210:51 | list : List [] : String | Test.java:7211:10:7211:13 | list : List [] : String | provenance | | +| Test.java:7211:4:7211:15 | this [post update] : MyAbstractListDecorator [] : String | Test.java:7210:10:7210:32 | parameter this [Return] : MyAbstractListDecorator [] : String | provenance | | +| Test.java:7211:10:7211:13 | list : List [] : String | Test.java:7211:4:7211:15 | this [post update] : MyAbstractListDecorator [] : String | provenance | MaD:248 | +| Test.java:7216:46:7216:63 | list : List [] : String | Test.java:7217:10:7217:13 | list : List [] : String | provenance | | +| Test.java:7217:4:7217:15 | this [post update] : MyAbstractSerializableListDecorator [] : String | Test.java:7216:10:7216:44 | parameter this [Return] : MyAbstractSerializableListDecorator [] : String | provenance | | +| Test.java:7217:10:7217:13 | list : List [] : String | Test.java:7217:4:7217:15 | this [post update] : MyAbstractSerializableListDecorator [] : String | provenance | MaD:249 | +| Test.java:7222:30:7222:68 | map : Map [] : String | Test.java:7223:10:7223:12 | map : Map [] : String | provenance | | +| Test.java:7222:30:7222:68 | map : Map [] : String | Test.java:7223:10:7223:12 | map : Map [] : String | provenance | | +| Test.java:7223:4:7223:14 | this [post update] : MyAbstractHashedMap [] : String | Test.java:7222:10:7222:28 | parameter this [Return] : MyAbstractHashedMap [] : String | provenance | | +| Test.java:7223:4:7223:14 | this [post update] : MyAbstractHashedMap [] : String | Test.java:7222:10:7222:28 | parameter this [Return] : MyAbstractHashedMap [] : String | provenance | | +| Test.java:7223:10:7223:12 | map : Map [] : String | Test.java:7223:4:7223:14 | this [post update] : MyAbstractHashedMap [] : String | provenance | MaD:263 | +| Test.java:7223:10:7223:12 | map : Map [] : String | Test.java:7223:4:7223:14 | this [post update] : MyAbstractHashedMap [] : String | provenance | MaD:264 | +| Test.java:7228:30:7228:68 | map : Map [] : String | Test.java:7229:10:7229:12 | map : Map [] : String | provenance | | +| Test.java:7228:30:7228:68 | map : Map [] : String | Test.java:7229:10:7229:12 | map : Map [] : String | provenance | | +| Test.java:7229:4:7229:14 | this [post update] : MyAbstractLinkedMap [] : String | Test.java:7228:10:7228:28 | parameter this [Return] : MyAbstractLinkedMap [] : String | provenance | | +| Test.java:7229:4:7229:14 | this [post update] : MyAbstractLinkedMap [] : String | Test.java:7228:10:7228:28 | parameter this [Return] : MyAbstractLinkedMap [] : String | provenance | | +| Test.java:7229:10:7229:12 | map : Map [] : String | Test.java:7229:4:7229:14 | this [post update] : MyAbstractLinkedMap [] : String | provenance | MaD:265 | +| Test.java:7229:10:7229:12 | map : Map [] : String | Test.java:7229:4:7229:14 | this [post update] : MyAbstractLinkedMap [] : String | provenance | MaD:266 | +| Test.java:7234:33:7234:51 | map : Map [] : String | Test.java:7235:10:7235:12 | map : Map [] : String | provenance | | +| Test.java:7234:33:7234:51 | map : Map [] : String | Test.java:7235:10:7235:12 | map : Map [] : String | provenance | | +| Test.java:7235:4:7235:14 | this [post update] : MyAbstractMapDecorator [] : String | Test.java:7234:10:7234:31 | parameter this [Return] : MyAbstractMapDecorator [] : String | provenance | | +| Test.java:7235:4:7235:14 | this [post update] : MyAbstractMapDecorator [] : String | Test.java:7234:10:7234:31 | parameter this [Return] : MyAbstractMapDecorator [] : String | provenance | | +| Test.java:7235:10:7235:12 | map : Map [] : String | Test.java:7235:4:7235:14 | this [post update] : MyAbstractMapDecorator [] : String | provenance | MaD:267 | +| Test.java:7235:10:7235:12 | map : Map [] : String | Test.java:7235:4:7235:14 | this [post update] : MyAbstractMapDecorator [] : String | provenance | MaD:268 | +| Test.java:7237:20:7237:30 | parameter this : MyAbstractMapDecorator [] : String | Test.java:7238:11:7238:15 | super : MyAbstractMapDecorator [] : String | provenance | | +| Test.java:7237:20:7237:30 | parameter this : MyAbstractMapDecorator [] : String | Test.java:7238:11:7238:15 | super : MyAbstractMapDecorator [] : String | provenance | | +| Test.java:7238:11:7238:15 | super : MyAbstractMapDecorator [] : String | Test.java:7238:11:7238:27 | decorated(...) : Map [] : String | provenance | MaD:269 | +| Test.java:7238:11:7238:15 | super : MyAbstractMapDecorator [] : String | Test.java:7238:11:7238:27 | decorated(...) : Map [] : String | provenance | MaD:270 | +| Test.java:7243:42:7243:66 | set : TreeSet [] : String | Test.java:7244:10:7244:12 | set : TreeSet [] : String | provenance | | +| Test.java:7244:4:7244:14 | this [post update] : MyAbstractNavigableSetDecorator [] : String | Test.java:7243:10:7243:40 | parameter this [Return] : MyAbstractNavigableSetDecorator [] : String | provenance | | +| Test.java:7244:10:7244:12 | set : TreeSet [] : String | Test.java:7244:4:7244:14 | this [post update] : MyAbstractNavigableSetDecorator [] : String | provenance | MaD:778 | +| Test.java:7249:33:7249:48 | set : ListOrderedSet [] : String | Test.java:7250:10:7250:12 | set : ListOrderedSet [] : String | provenance | | +| Test.java:7250:4:7250:14 | this [post update] : MyAbstractSetDecorator [] : String | Test.java:7249:10:7249:31 | parameter this [Return] : MyAbstractSetDecorator [] : String | provenance | | +| Test.java:7250:10:7250:12 | set : ListOrderedSet [] : String | Test.java:7250:4:7250:14 | this [post update] : MyAbstractSetDecorator [] : String | provenance | MaD:779 | +| Test.java:7255:39:7255:54 | set : ListOrderedSet [] : String | Test.java:7256:10:7256:12 | set : ListOrderedSet [] : String | provenance | | +| Test.java:7256:4:7256:14 | this [post update] : MyAbstractSortedSetDecorator [] : String | Test.java:7255:10:7255:37 | parameter this [Return] : MyAbstractSortedSetDecorator [] : String | provenance | | +| Test.java:7256:10:7256:12 | set : ListOrderedSet [] : String | Test.java:7256:4:7256:14 | this [post update] : MyAbstractSortedSetDecorator [] : String | provenance | MaD:780 | +nodes +| Test.java:228:18:228:29 | map : AbstractMapDecorator [] : Object | semmle.label | map : AbstractMapDecorator [] : Object | +| Test.java:228:18:228:29 | map : AbstractMapDecorator [] : String | semmle.label | map : AbstractMapDecorator [] : String | +| Test.java:228:18:228:29 | map : BidiMap [] : Object | semmle.label | map : BidiMap [] : Object | +| Test.java:228:18:228:29 | map : BidiMap [] : String | semmle.label | map : BidiMap [] : String | +| Test.java:228:18:228:29 | map : CaseInsensitiveMap [] : String | semmle.label | map : CaseInsensitiveMap [] : String | +| Test.java:228:18:228:29 | map : CompositeMap [] : String | semmle.label | map : CompositeMap [] : String | +| Test.java:228:18:228:29 | map : DefaultedMap [] : String | semmle.label | map : DefaultedMap [] : String | +| Test.java:228:18:228:29 | map : DualHashBidiMap [] : String | semmle.label | map : DualHashBidiMap [] : String | +| Test.java:228:18:228:29 | map : DualLinkedHashBidiMap [] : String | semmle.label | map : DualLinkedHashBidiMap [] : String | +| Test.java:228:18:228:29 | map : DualTreeBidiMap [] : String | semmle.label | map : DualTreeBidiMap [] : String | +| Test.java:228:18:228:29 | map : FixedSizeMap [] : String | semmle.label | map : FixedSizeMap [] : String | +| Test.java:228:18:228:29 | map : FixedSizeSortedMap [] : String | semmle.label | map : FixedSizeSortedMap [] : String | +| Test.java:228:18:228:29 | map : Flat3Map [] : String | semmle.label | map : Flat3Map [] : String | +| Test.java:228:18:228:29 | map : HashedMap [] : String | semmle.label | map : HashedMap [] : String | +| Test.java:228:18:228:29 | map : IterableMap [] : String | semmle.label | map : IterableMap [] : String | +| Test.java:228:18:228:29 | map : IterableSortedMap [] : String | semmle.label | map : IterableSortedMap [] : String | +| Test.java:228:18:228:29 | map : LRUMap [] : String | semmle.label | map : LRUMap [] : String | +| Test.java:228:18:228:29 | map : LazyMap [] : String | semmle.label | map : LazyMap [] : String | +| Test.java:228:18:228:29 | map : LazySortedMap [] : String | semmle.label | map : LazySortedMap [] : String | +| Test.java:228:18:228:29 | map : LinkedMap [] : String | semmle.label | map : LinkedMap [] : String | +| Test.java:228:18:228:29 | map : ListOrderedMap [] : Object | semmle.label | map : ListOrderedMap [] : Object | +| Test.java:228:18:228:29 | map : ListOrderedMap [] : String | semmle.label | map : ListOrderedMap [] : String | +| Test.java:228:18:228:29 | map : Map [] : Object | semmle.label | map : Map [] : Object | +| Test.java:228:18:228:29 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:228:18:228:29 | map : MultiMap [] : Object | semmle.label | map : MultiMap [] : Object | +| Test.java:228:18:228:29 | map : MultiValueMap [] : Object | semmle.label | map : MultiValueMap [] : Object | +| Test.java:228:18:228:29 | map : MultiValueMap [] : String | semmle.label | map : MultiValueMap [] : String | +| Test.java:228:18:228:29 | map : MyAbstractBidiMapDecorator [] : String | semmle.label | map : MyAbstractBidiMapDecorator [] : String | +| Test.java:228:18:228:29 | map : MyAbstractDualBidiMap [] : String | semmle.label | map : MyAbstractDualBidiMap [] : String | +| Test.java:228:18:228:29 | map : MyAbstractHashedMap [] : String | semmle.label | map : MyAbstractHashedMap [] : String | +| Test.java:228:18:228:29 | map : MyAbstractLinkedMap [] : String | semmle.label | map : MyAbstractLinkedMap [] : String | +| Test.java:228:18:228:29 | map : MyAbstractMapDecorator [] : String | semmle.label | map : MyAbstractMapDecorator [] : String | +| Test.java:228:18:228:29 | map : MyAbstractOrderedBidiMapDecorator [] : String | semmle.label | map : MyAbstractOrderedBidiMapDecorator [] : String | +| Test.java:228:18:228:29 | map : MyAbstractOrderedMapDecorator [] : String | semmle.label | map : MyAbstractOrderedMapDecorator [] : String | +| Test.java:228:18:228:29 | map : MyAbstractSortedBidiMapDecorator [] : String | semmle.label | map : MyAbstractSortedBidiMapDecorator [] : String | +| Test.java:228:18:228:29 | map : MyAbstractSortedMapDecorator [] : String | semmle.label | map : MyAbstractSortedMapDecorator [] : String | +| Test.java:228:18:228:29 | map : OrderedBidiMap [] : String | semmle.label | map : OrderedBidiMap [] : String | +| Test.java:228:18:228:29 | map : OrderedMap [] : String | semmle.label | map : OrderedMap [] : String | +| Test.java:228:18:228:29 | map : PassiveExpiringMap [] : String | semmle.label | map : PassiveExpiringMap [] : String | +| Test.java:228:18:228:29 | map : PatriciaTrie [] : String | semmle.label | map : PatriciaTrie [] : String | +| Test.java:228:18:228:29 | map : PredicatedMap [] : String | semmle.label | map : PredicatedMap [] : String | +| Test.java:228:18:228:29 | map : PredicatedSortedMap [] : String | semmle.label | map : PredicatedSortedMap [] : String | +| Test.java:228:18:228:29 | map : Put [] : Object | semmle.label | map : Put [] : Object | +| Test.java:228:18:228:29 | map : Put [] : String | semmle.label | map : Put [] : String | +| Test.java:228:18:228:29 | map : SingletonMap [] : Object | semmle.label | map : SingletonMap [] : Object | +| Test.java:228:18:228:29 | map : SingletonMap [] : String | semmle.label | map : SingletonMap [] : String | +| Test.java:228:18:228:29 | map : SortedBidiMap [] : String | semmle.label | map : SortedBidiMap [] : String | +| Test.java:228:18:228:29 | map : SortedMap [] : String | semmle.label | map : SortedMap [] : String | +| Test.java:228:18:228:29 | map : TransformedMap [] : String | semmle.label | map : TransformedMap [] : String | +| Test.java:228:18:228:29 | map : TransformedSortedMap [] : String | semmle.label | map : TransformedSortedMap [] : String | +| Test.java:228:18:228:29 | map : TreeBidiMap [] : String | semmle.label | map : TreeBidiMap [] : String | +| Test.java:228:18:228:29 | map : Trie [] : String | semmle.label | map : Trie [] : String | +| Test.java:228:41:228:43 | map : AbstractMapDecorator [] : Object | semmle.label | map : AbstractMapDecorator [] : Object | +| Test.java:228:41:228:43 | map : AbstractMapDecorator [] : String | semmle.label | map : AbstractMapDecorator [] : String | +| Test.java:228:41:228:43 | map : BidiMap [] : Object | semmle.label | map : BidiMap [] : Object | +| Test.java:228:41:228:43 | map : BidiMap [] : String | semmle.label | map : BidiMap [] : String | +| Test.java:228:41:228:43 | map : CaseInsensitiveMap [] : String | semmle.label | map : CaseInsensitiveMap [] : String | +| Test.java:228:41:228:43 | map : CompositeMap [] : String | semmle.label | map : CompositeMap [] : String | +| Test.java:228:41:228:43 | map : DefaultedMap [] : String | semmle.label | map : DefaultedMap [] : String | +| Test.java:228:41:228:43 | map : DualHashBidiMap [] : String | semmle.label | map : DualHashBidiMap [] : String | +| Test.java:228:41:228:43 | map : DualLinkedHashBidiMap [] : String | semmle.label | map : DualLinkedHashBidiMap [] : String | +| Test.java:228:41:228:43 | map : DualTreeBidiMap [] : String | semmle.label | map : DualTreeBidiMap [] : String | +| Test.java:228:41:228:43 | map : FixedSizeMap [] : String | semmle.label | map : FixedSizeMap [] : String | +| Test.java:228:41:228:43 | map : FixedSizeSortedMap [] : String | semmle.label | map : FixedSizeSortedMap [] : String | +| Test.java:228:41:228:43 | map : Flat3Map [] : String | semmle.label | map : Flat3Map [] : String | +| Test.java:228:41:228:43 | map : HashedMap [] : String | semmle.label | map : HashedMap [] : String | +| Test.java:228:41:228:43 | map : IterableMap [] : String | semmle.label | map : IterableMap [] : String | +| Test.java:228:41:228:43 | map : IterableSortedMap [] : String | semmle.label | map : IterableSortedMap [] : String | +| Test.java:228:41:228:43 | map : LRUMap [] : String | semmle.label | map : LRUMap [] : String | +| Test.java:228:41:228:43 | map : LazyMap [] : String | semmle.label | map : LazyMap [] : String | +| Test.java:228:41:228:43 | map : LazySortedMap [] : String | semmle.label | map : LazySortedMap [] : String | +| Test.java:228:41:228:43 | map : LinkedMap [] : String | semmle.label | map : LinkedMap [] : String | +| Test.java:228:41:228:43 | map : ListOrderedMap [] : Object | semmle.label | map : ListOrderedMap [] : Object | +| Test.java:228:41:228:43 | map : ListOrderedMap [] : String | semmle.label | map : ListOrderedMap [] : String | +| Test.java:228:41:228:43 | map : Map [] : Object | semmle.label | map : Map [] : Object | +| Test.java:228:41:228:43 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:228:41:228:43 | map : MultiMap [] : Object | semmle.label | map : MultiMap [] : Object | +| Test.java:228:41:228:43 | map : MultiValueMap [] : Object | semmle.label | map : MultiValueMap [] : Object | +| Test.java:228:41:228:43 | map : MultiValueMap [] : String | semmle.label | map : MultiValueMap [] : String | +| Test.java:228:41:228:43 | map : MyAbstractBidiMapDecorator [] : String | semmle.label | map : MyAbstractBidiMapDecorator [] : String | +| Test.java:228:41:228:43 | map : MyAbstractDualBidiMap [] : String | semmle.label | map : MyAbstractDualBidiMap [] : String | +| Test.java:228:41:228:43 | map : MyAbstractHashedMap [] : String | semmle.label | map : MyAbstractHashedMap [] : String | +| Test.java:228:41:228:43 | map : MyAbstractLinkedMap [] : String | semmle.label | map : MyAbstractLinkedMap [] : String | +| Test.java:228:41:228:43 | map : MyAbstractMapDecorator [] : String | semmle.label | map : MyAbstractMapDecorator [] : String | +| Test.java:228:41:228:43 | map : MyAbstractOrderedBidiMapDecorator [] : String | semmle.label | map : MyAbstractOrderedBidiMapDecorator [] : String | +| Test.java:228:41:228:43 | map : MyAbstractOrderedMapDecorator [] : String | semmle.label | map : MyAbstractOrderedMapDecorator [] : String | +| Test.java:228:41:228:43 | map : MyAbstractSortedBidiMapDecorator [] : String | semmle.label | map : MyAbstractSortedBidiMapDecorator [] : String | +| Test.java:228:41:228:43 | map : MyAbstractSortedMapDecorator [] : String | semmle.label | map : MyAbstractSortedMapDecorator [] : String | +| Test.java:228:41:228:43 | map : OrderedBidiMap [] : String | semmle.label | map : OrderedBidiMap [] : String | +| Test.java:228:41:228:43 | map : OrderedMap [] : String | semmle.label | map : OrderedMap [] : String | +| Test.java:228:41:228:43 | map : PassiveExpiringMap [] : String | semmle.label | map : PassiveExpiringMap [] : String | +| Test.java:228:41:228:43 | map : PatriciaTrie [] : String | semmle.label | map : PatriciaTrie [] : String | +| Test.java:228:41:228:43 | map : PredicatedMap [] : String | semmle.label | map : PredicatedMap [] : String | +| Test.java:228:41:228:43 | map : PredicatedSortedMap [] : String | semmle.label | map : PredicatedSortedMap [] : String | +| Test.java:228:41:228:43 | map : Put [] : Object | semmle.label | map : Put [] : Object | +| Test.java:228:41:228:43 | map : Put [] : String | semmle.label | map : Put [] : String | +| Test.java:228:41:228:43 | map : SingletonMap [] : Object | semmle.label | map : SingletonMap [] : Object | +| Test.java:228:41:228:43 | map : SingletonMap [] : String | semmle.label | map : SingletonMap [] : String | +| Test.java:228:41:228:43 | map : SortedBidiMap [] : String | semmle.label | map : SortedBidiMap [] : String | +| Test.java:228:41:228:43 | map : SortedMap [] : String | semmle.label | map : SortedMap [] : String | +| Test.java:228:41:228:43 | map : TransformedMap [] : String | semmle.label | map : TransformedMap [] : String | +| Test.java:228:41:228:43 | map : TransformedSortedMap [] : String | semmle.label | map : TransformedSortedMap [] : String | +| Test.java:228:41:228:43 | map : TreeBidiMap [] : String | semmle.label | map : TreeBidiMap [] : String | +| Test.java:228:41:228:43 | map : Trie [] : String | semmle.label | map : Trie [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:228:41:228:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:228:41:228:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:228:41:228:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:228:41:228:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:228:41:228:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:228:41:228:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:228:41:228:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:228:41:228:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:228:41:228:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:228:41:228:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:228:41:228:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:228:41:228:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:228:41:228:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:228:41:228:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:228:41:228:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:229:24:229:32 | array : Object[] [[]] : String | semmle.label | array : Object[] [[]] : String | +| Test.java:229:24:229:32 | array : String[] [[]] : String | semmle.label | array : String[] [[]] : String | +| Test.java:229:44:229:48 | array : Object[] [[]] : String | semmle.label | array : Object[] [[]] : String | +| Test.java:229:44:229:48 | array : String[] [[]] : String | semmle.label | array : String[] [[]] : String | +| Test.java:229:44:229:51 | ...[...] : String | semmle.label | ...[...] : String | +| Test.java:229:44:229:51 | ...[...] : String | semmle.label | ...[...] : String | +| Test.java:230:19:230:32 | it : AbstractLinkedList [] : Object | semmle.label | it : AbstractLinkedList [] : Object | +| Test.java:230:19:230:32 | it : ArrayStack [] : Object | semmle.label | it : ArrayStack [] : Object | +| Test.java:230:19:230:32 | it : Bag [] : Object | semmle.label | it : Bag [] : Object | +| Test.java:230:19:230:32 | it : Bag [] : String | semmle.label | it : Bag [] : String | +| Test.java:230:19:230:32 | it : BoundedCollection [] : String | semmle.label | it : BoundedCollection [] : String | +| Test.java:230:19:230:32 | it : CircularFifoQueue [] : String | semmle.label | it : CircularFifoQueue [] : String | +| Test.java:230:19:230:32 | it : Collection | semmle.label | it : Collection | +| Test.java:230:19:230:32 | it : Collection [, ] : String | semmle.label | it : Collection [, ] : String | +| Test.java:230:19:230:32 | it : Collection [] : Object | semmle.label | it : Collection [] : Object | +| Test.java:230:19:230:32 | it : Collection [] : String | semmle.label | it : Collection [] : String | +| Test.java:230:19:230:32 | it : CollectionBag [] : String | semmle.label | it : CollectionBag [] : String | +| Test.java:230:19:230:32 | it : CollectionSortedBag [] : String | semmle.label | it : CollectionSortedBag [] : String | +| Test.java:230:19:230:32 | it : CompositeCollection [] : Object | semmle.label | it : CompositeCollection [] : Object | +| Test.java:230:19:230:32 | it : CompositeCollection [] : String | semmle.label | it : CompositeCollection [] : String | +| Test.java:230:19:230:32 | it : CompositeSet [] : Object | semmle.label | it : CompositeSet [] : Object | +| Test.java:230:19:230:32 | it : CompositeSet [] : String | semmle.label | it : CompositeSet [] : String | +| Test.java:230:19:230:32 | it : CursorableLinkedList [] : String | semmle.label | it : CursorableLinkedList [] : String | +| Test.java:230:19:230:32 | it : FixedSizeList [] : String | semmle.label | it : FixedSizeList [] : String | +| Test.java:230:19:230:32 | it : FluentIterable [] : Object | semmle.label | it : FluentIterable [] : Object | +| Test.java:230:19:230:32 | it : FluentIterable [] : String | semmle.label | it : FluentIterable [] : String | +| Test.java:230:19:230:32 | it : GrowthList [] : String | semmle.label | it : GrowthList [] : String | +| Test.java:230:19:230:32 | it : HashBag [] : String | semmle.label | it : HashBag [] : String | +| Test.java:230:19:230:32 | it : HashMultiSet [] : String | semmle.label | it : HashMultiSet [] : String | +| Test.java:230:19:230:32 | it : HashSet [] : Object | semmle.label | it : HashSet [] : Object | +| Test.java:230:19:230:32 | it : IndexedCollection [] : String | semmle.label | it : IndexedCollection [] : String | +| Test.java:230:19:230:32 | it : Iterable [] : String | semmle.label | it : Iterable [] : String | +| Test.java:230:19:230:32 | it : IteratorIterable [] : String | semmle.label | it : IteratorIterable [] : String | +| Test.java:230:19:230:32 | it : LazyList [] : String | semmle.label | it : LazyList [] : String | +| Test.java:230:19:230:32 | it : List [, ] : String | semmle.label | it : List [, ] : String | +| Test.java:230:19:230:32 | it : List [] : Object | semmle.label | it : List [] : Object | +| Test.java:230:19:230:32 | it : List [] : String | semmle.label | it : List [] : String | +| Test.java:230:19:230:32 | it : ListOrderedSet [] : Object | semmle.label | it : ListOrderedSet [] : Object | +| Test.java:230:19:230:32 | it : ListOrderedSet [] : String | semmle.label | it : ListOrderedSet [] : String | +| Test.java:230:19:230:32 | it : MapBackedSet [] : String | semmle.label | it : MapBackedSet [] : String | +| Test.java:230:19:230:32 | it : MultiSet [] : Object | semmle.label | it : MultiSet [] : Object | +| Test.java:230:19:230:32 | it : MultiSet [] : String | semmle.label | it : MultiSet [] : String | +| Test.java:230:19:230:32 | it : MyAbstractBagDecorator [] : String | semmle.label | it : MyAbstractBagDecorator [] : String | +| Test.java:230:19:230:32 | it : MyAbstractCollectionDecorator [] : String | semmle.label | it : MyAbstractCollectionDecorator [] : String | +| Test.java:230:19:230:32 | it : MyAbstractLinkedList [] : String | semmle.label | it : MyAbstractLinkedList [] : String | +| Test.java:230:19:230:32 | it : MyAbstractListDecorator [] : String | semmle.label | it : MyAbstractListDecorator [] : String | +| Test.java:230:19:230:32 | it : MyAbstractMapBag [] : String | semmle.label | it : MyAbstractMapBag [] : String | +| Test.java:230:19:230:32 | it : MyAbstractNavigableSetDecorator [] : String | semmle.label | it : MyAbstractNavigableSetDecorator [] : String | +| Test.java:230:19:230:32 | it : MyAbstractSerializableListDecorator [] : String | semmle.label | it : MyAbstractSerializableListDecorator [] : String | +| Test.java:230:19:230:32 | it : MyAbstractSetDecorator [] : String | semmle.label | it : MyAbstractSetDecorator [] : String | +| Test.java:230:19:230:32 | it : MyAbstractSortedBagDecorator [] : String | semmle.label | it : MyAbstractSortedBagDecorator [] : String | +| Test.java:230:19:230:32 | it : MyAbstractSortedSetDecorator [] : String | semmle.label | it : MyAbstractSortedSetDecorator [] : String | +| Test.java:230:19:230:32 | it : NavigableSet [] : String | semmle.label | it : NavigableSet [] : String | +| Test.java:230:19:230:32 | it : NodeCachingLinkedList [] : String | semmle.label | it : NodeCachingLinkedList [] : String | +| Test.java:230:19:230:32 | it : PredicatedBag [] : String | semmle.label | it : PredicatedBag [] : String | +| Test.java:230:19:230:32 | it : PredicatedCollection [] : String | semmle.label | it : PredicatedCollection [] : String | +| Test.java:230:19:230:32 | it : PredicatedList [] : String | semmle.label | it : PredicatedList [] : String | +| Test.java:230:19:230:32 | it : PredicatedMultiSet [] : String | semmle.label | it : PredicatedMultiSet [] : String | +| Test.java:230:19:230:32 | it : PredicatedNavigableSet [] : String | semmle.label | it : PredicatedNavigableSet [] : String | +| Test.java:230:19:230:32 | it : PredicatedQueue [] : String | semmle.label | it : PredicatedQueue [] : String | +| Test.java:230:19:230:32 | it : PredicatedSet [] : String | semmle.label | it : PredicatedSet [] : String | +| Test.java:230:19:230:32 | it : PredicatedSortedBag [] : String | semmle.label | it : PredicatedSortedBag [] : String | +| Test.java:230:19:230:32 | it : PredicatedSortedSet [] : String | semmle.label | it : PredicatedSortedSet [] : String | +| Test.java:230:19:230:32 | it : Queue [] : String | semmle.label | it : Queue [] : String | +| Test.java:230:19:230:32 | it : Set [] : Object | semmle.label | it : Set [] : Object | +| Test.java:230:19:230:32 | it : Set [] : String | semmle.label | it : Set [] : String | +| Test.java:230:19:230:32 | it : SetUniqueList [] : String | semmle.label | it : SetUniqueList [] : String | +| Test.java:230:19:230:32 | it : SetView [] : String | semmle.label | it : SetView [] : String | +| Test.java:230:19:230:32 | it : SortedBag [] : String | semmle.label | it : SortedBag [] : String | +| Test.java:230:19:230:32 | it : SortedSet [] : String | semmle.label | it : SortedSet [] : String | +| Test.java:230:19:230:32 | it : SynchronizedBag [] : String | semmle.label | it : SynchronizedBag [] : String | +| Test.java:230:19:230:32 | it : SynchronizedCollection [] : String | semmle.label | it : SynchronizedCollection [] : String | +| Test.java:230:19:230:32 | it : SynchronizedMultiSet [] : String | semmle.label | it : SynchronizedMultiSet [] : String | +| Test.java:230:19:230:32 | it : SynchronizedQueue [] : String | semmle.label | it : SynchronizedQueue [] : String | +| Test.java:230:19:230:32 | it : SynchronizedSortedBag [] : String | semmle.label | it : SynchronizedSortedBag [] : String | +| Test.java:230:19:230:32 | it : TransformedCollection [] : String | semmle.label | it : TransformedCollection [] : String | +| Test.java:230:19:230:32 | it : TransformedList [] : String | semmle.label | it : TransformedList [] : String | +| Test.java:230:19:230:32 | it : TransformedNavigableSet [] : String | semmle.label | it : TransformedNavigableSet [] : String | +| Test.java:230:19:230:32 | it : TransformedQueue [] : String | semmle.label | it : TransformedQueue [] : String | +| Test.java:230:19:230:32 | it : TransformedSet [] : String | semmle.label | it : TransformedSet [] : String | +| Test.java:230:19:230:32 | it : TransformedSortedBag [] : String | semmle.label | it : TransformedSortedBag [] : String | +| Test.java:230:19:230:32 | it : TransformedSortedSet [] : String | semmle.label | it : TransformedSortedSet [] : String | +| Test.java:230:19:230:32 | it : TreeBag [] : String | semmle.label | it : TreeBag [] : String | +| Test.java:230:19:230:32 | it : TreeList [] : String | semmle.label | it : TreeList [] : String | +| Test.java:230:19:230:32 | it : UnmodifiableList [] : String | semmle.label | it : UnmodifiableList [] : String | +| Test.java:230:44:230:45 | it : AbstractLinkedList [] : Object | semmle.label | it : AbstractLinkedList [] : Object | +| Test.java:230:44:230:45 | it : ArrayStack [] : Object | semmle.label | it : ArrayStack [] : Object | +| Test.java:230:44:230:45 | it : Bag [] : Object | semmle.label | it : Bag [] : Object | +| Test.java:230:44:230:45 | it : Bag [] : String | semmle.label | it : Bag [] : String | +| Test.java:230:44:230:45 | it : BoundedCollection [] : String | semmle.label | it : BoundedCollection [] : String | +| Test.java:230:44:230:45 | it : CircularFifoQueue [] : String | semmle.label | it : CircularFifoQueue [] : String | +| Test.java:230:44:230:45 | it : Collection | semmle.label | it : Collection | +| Test.java:230:44:230:45 | it : Collection [, ] : String | semmle.label | it : Collection [, ] : String | +| Test.java:230:44:230:45 | it : Collection [] : Object | semmle.label | it : Collection [] : Object | +| Test.java:230:44:230:45 | it : Collection [] : String | semmle.label | it : Collection [] : String | +| Test.java:230:44:230:45 | it : CollectionBag [] : String | semmle.label | it : CollectionBag [] : String | +| Test.java:230:44:230:45 | it : CollectionSortedBag [] : String | semmle.label | it : CollectionSortedBag [] : String | +| Test.java:230:44:230:45 | it : CompositeCollection [] : Object | semmle.label | it : CompositeCollection [] : Object | +| Test.java:230:44:230:45 | it : CompositeCollection [] : String | semmle.label | it : CompositeCollection [] : String | +| Test.java:230:44:230:45 | it : CompositeSet [] : Object | semmle.label | it : CompositeSet [] : Object | +| Test.java:230:44:230:45 | it : CompositeSet [] : String | semmle.label | it : CompositeSet [] : String | +| Test.java:230:44:230:45 | it : CursorableLinkedList [] : String | semmle.label | it : CursorableLinkedList [] : String | +| Test.java:230:44:230:45 | it : FixedSizeList [] : String | semmle.label | it : FixedSizeList [] : String | +| Test.java:230:44:230:45 | it : FluentIterable [] : Object | semmle.label | it : FluentIterable [] : Object | +| Test.java:230:44:230:45 | it : FluentIterable [] : String | semmle.label | it : FluentIterable [] : String | +| Test.java:230:44:230:45 | it : GrowthList [] : String | semmle.label | it : GrowthList [] : String | +| Test.java:230:44:230:45 | it : HashBag [] : String | semmle.label | it : HashBag [] : String | +| Test.java:230:44:230:45 | it : HashMultiSet [] : String | semmle.label | it : HashMultiSet [] : String | +| Test.java:230:44:230:45 | it : HashSet [] : Object | semmle.label | it : HashSet [] : Object | +| Test.java:230:44:230:45 | it : IndexedCollection [] : String | semmle.label | it : IndexedCollection [] : String | +| Test.java:230:44:230:45 | it : Iterable [] : String | semmle.label | it : Iterable [] : String | +| Test.java:230:44:230:45 | it : IteratorIterable [] : String | semmle.label | it : IteratorIterable [] : String | +| Test.java:230:44:230:45 | it : LazyList [] : String | semmle.label | it : LazyList [] : String | +| Test.java:230:44:230:45 | it : List [, ] : String | semmle.label | it : List [, ] : String | +| Test.java:230:44:230:45 | it : List [] : Object | semmle.label | it : List [] : Object | +| Test.java:230:44:230:45 | it : List [] : String | semmle.label | it : List [] : String | +| Test.java:230:44:230:45 | it : ListOrderedSet [] : Object | semmle.label | it : ListOrderedSet [] : Object | +| Test.java:230:44:230:45 | it : ListOrderedSet [] : String | semmle.label | it : ListOrderedSet [] : String | +| Test.java:230:44:230:45 | it : MapBackedSet [] : String | semmle.label | it : MapBackedSet [] : String | +| Test.java:230:44:230:45 | it : MultiSet [] : Object | semmle.label | it : MultiSet [] : Object | +| Test.java:230:44:230:45 | it : MultiSet [] : String | semmle.label | it : MultiSet [] : String | +| Test.java:230:44:230:45 | it : MyAbstractBagDecorator [] : String | semmle.label | it : MyAbstractBagDecorator [] : String | +| Test.java:230:44:230:45 | it : MyAbstractCollectionDecorator [] : String | semmle.label | it : MyAbstractCollectionDecorator [] : String | +| Test.java:230:44:230:45 | it : MyAbstractLinkedList [] : String | semmle.label | it : MyAbstractLinkedList [] : String | +| Test.java:230:44:230:45 | it : MyAbstractListDecorator [] : String | semmle.label | it : MyAbstractListDecorator [] : String | +| Test.java:230:44:230:45 | it : MyAbstractMapBag [] : String | semmle.label | it : MyAbstractMapBag [] : String | +| Test.java:230:44:230:45 | it : MyAbstractNavigableSetDecorator [] : String | semmle.label | it : MyAbstractNavigableSetDecorator [] : String | +| Test.java:230:44:230:45 | it : MyAbstractSerializableListDecorator [] : String | semmle.label | it : MyAbstractSerializableListDecorator [] : String | +| Test.java:230:44:230:45 | it : MyAbstractSetDecorator [] : String | semmle.label | it : MyAbstractSetDecorator [] : String | +| Test.java:230:44:230:45 | it : MyAbstractSortedBagDecorator [] : String | semmle.label | it : MyAbstractSortedBagDecorator [] : String | +| Test.java:230:44:230:45 | it : MyAbstractSortedSetDecorator [] : String | semmle.label | it : MyAbstractSortedSetDecorator [] : String | +| Test.java:230:44:230:45 | it : NavigableSet [] : String | semmle.label | it : NavigableSet [] : String | +| Test.java:230:44:230:45 | it : NodeCachingLinkedList [] : String | semmle.label | it : NodeCachingLinkedList [] : String | +| Test.java:230:44:230:45 | it : PredicatedBag [] : String | semmle.label | it : PredicatedBag [] : String | +| Test.java:230:44:230:45 | it : PredicatedCollection [] : String | semmle.label | it : PredicatedCollection [] : String | +| Test.java:230:44:230:45 | it : PredicatedList [] : String | semmle.label | it : PredicatedList [] : String | +| Test.java:230:44:230:45 | it : PredicatedMultiSet [] : String | semmle.label | it : PredicatedMultiSet [] : String | +| Test.java:230:44:230:45 | it : PredicatedNavigableSet [] : String | semmle.label | it : PredicatedNavigableSet [] : String | +| Test.java:230:44:230:45 | it : PredicatedQueue [] : String | semmle.label | it : PredicatedQueue [] : String | +| Test.java:230:44:230:45 | it : PredicatedSet [] : String | semmle.label | it : PredicatedSet [] : String | +| Test.java:230:44:230:45 | it : PredicatedSortedBag [] : String | semmle.label | it : PredicatedSortedBag [] : String | +| Test.java:230:44:230:45 | it : PredicatedSortedSet [] : String | semmle.label | it : PredicatedSortedSet [] : String | +| Test.java:230:44:230:45 | it : Queue [] : String | semmle.label | it : Queue [] : String | +| Test.java:230:44:230:45 | it : Set [] : Object | semmle.label | it : Set [] : Object | +| Test.java:230:44:230:45 | it : Set [] : String | semmle.label | it : Set [] : String | +| Test.java:230:44:230:45 | it : SetUniqueList [] : String | semmle.label | it : SetUniqueList [] : String | +| Test.java:230:44:230:45 | it : SetView [] : String | semmle.label | it : SetView [] : String | +| Test.java:230:44:230:45 | it : SortedBag [] : String | semmle.label | it : SortedBag [] : String | +| Test.java:230:44:230:45 | it : SortedSet [] : String | semmle.label | it : SortedSet [] : String | +| Test.java:230:44:230:45 | it : SynchronizedBag [] : String | semmle.label | it : SynchronizedBag [] : String | +| Test.java:230:44:230:45 | it : SynchronizedCollection [] : String | semmle.label | it : SynchronizedCollection [] : String | +| Test.java:230:44:230:45 | it : SynchronizedMultiSet [] : String | semmle.label | it : SynchronizedMultiSet [] : String | +| Test.java:230:44:230:45 | it : SynchronizedQueue [] : String | semmle.label | it : SynchronizedQueue [] : String | +| Test.java:230:44:230:45 | it : SynchronizedSortedBag [] : String | semmle.label | it : SynchronizedSortedBag [] : String | +| Test.java:230:44:230:45 | it : TransformedCollection [] : String | semmle.label | it : TransformedCollection [] : String | +| Test.java:230:44:230:45 | it : TransformedList [] : String | semmle.label | it : TransformedList [] : String | +| Test.java:230:44:230:45 | it : TransformedNavigableSet [] : String | semmle.label | it : TransformedNavigableSet [] : String | +| Test.java:230:44:230:45 | it : TransformedQueue [] : String | semmle.label | it : TransformedQueue [] : String | +| Test.java:230:44:230:45 | it : TransformedSet [] : String | semmle.label | it : TransformedSet [] : String | +| Test.java:230:44:230:45 | it : TransformedSortedBag [] : String | semmle.label | it : TransformedSortedBag [] : String | +| Test.java:230:44:230:45 | it : TransformedSortedSet [] : String | semmle.label | it : TransformedSortedSet [] : String | +| Test.java:230:44:230:45 | it : TreeBag [] : String | semmle.label | it : TreeBag [] : String | +| Test.java:230:44:230:45 | it : TreeList [] : String | semmle.label | it : TreeList [] : String | +| Test.java:230:44:230:45 | it : UnmodifiableList [] : String | semmle.label | it : UnmodifiableList [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | semmle.label | iterator(...) : Iterator [, ] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | semmle.label | iterator(...) : Iterator [, ] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:230:44:230:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:230:44:230:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:230:44:230:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:230:44:230:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:230:44:230:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:230:44:230:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:230:44:230:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:230:44:230:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:230:44:230:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:230:44:230:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:230:44:230:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:230:44:230:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:230:44:230:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:230:44:230:63 | next(...) : Object [] : String | semmle.label | next(...) : Object [] : String | +| Test.java:230:44:230:63 | next(...) : Object [] : String | semmle.label | next(...) : Object [] : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:19:231:32 | it : ArrayIterator [] : String | semmle.label | it : ArrayIterator [] : String | +| Test.java:231:19:231:32 | it : ArrayListIterator [] : String | semmle.label | it : ArrayListIterator [] : String | +| Test.java:231:19:231:32 | it : BoundedIterator [] : String | semmle.label | it : BoundedIterator [] : String | +| Test.java:231:19:231:32 | it : CollatingIterator [] : String | semmle.label | it : CollatingIterator [] : String | +| Test.java:231:19:231:32 | it : Cursor [] : String | semmle.label | it : Cursor [] : String | +| Test.java:231:19:231:32 | it : EntrySetToMapIteratorAdapter [] : String | semmle.label | it : EntrySetToMapIteratorAdapter [] : String | +| Test.java:231:19:231:32 | it : EnumerationIterator [] : String | semmle.label | it : EnumerationIterator [] : String | +| Test.java:231:19:231:32 | it : FilterIterator [] : String | semmle.label | it : FilterIterator [] : String | +| Test.java:231:19:231:32 | it : FilterListIterator [] : String | semmle.label | it : FilterListIterator [] : String | +| Test.java:231:19:231:32 | it : Iterator [] : Object | semmle.label | it : Iterator [] : Object | +| Test.java:231:19:231:32 | it : Iterator [] : String | semmle.label | it : Iterator [] : String | +| Test.java:231:19:231:32 | it : IteratorChain [] : String | semmle.label | it : IteratorChain [] : String | +| Test.java:231:19:231:32 | it : ListIterator [] : Object | semmle.label | it : ListIterator [] : Object | +| Test.java:231:19:231:32 | it : ListIterator [] : String | semmle.label | it : ListIterator [] : String | +| Test.java:231:19:231:32 | it : ListIteratorWrapper [] : String | semmle.label | it : ListIteratorWrapper [] : String | +| Test.java:231:19:231:32 | it : LoopingIterator [] : String | semmle.label | it : LoopingIterator [] : String | +| Test.java:231:19:231:32 | it : LoopingListIterator [] : String | semmle.label | it : LoopingListIterator [] : String | +| Test.java:231:19:231:32 | it : MapIterator [] : String | semmle.label | it : MapIterator [] : String | +| Test.java:231:19:231:32 | it : MyAbstractIteratorDecorator [] : String | semmle.label | it : MyAbstractIteratorDecorator [] : String | +| Test.java:231:19:231:32 | it : MyAbstractListIteratorDecorator [] : String | semmle.label | it : MyAbstractListIteratorDecorator [] : String | +| Test.java:231:19:231:32 | it : MyAbstractMapIteratorDecorator [] : String | semmle.label | it : MyAbstractMapIteratorDecorator [] : String | +| Test.java:231:19:231:32 | it : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | it : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:231:19:231:32 | it : MyAbstractUntypedIteratorDecorator [] : String | semmle.label | it : MyAbstractUntypedIteratorDecorator [] : String | +| Test.java:231:19:231:32 | it : ObjectArrayIterator [] : String | semmle.label | it : ObjectArrayIterator [] : String | +| Test.java:231:19:231:32 | it : ObjectArrayListIterator [] : String | semmle.label | it : ObjectArrayListIterator [] : String | +| Test.java:231:19:231:32 | it : OrderedMapIterator [] : String | semmle.label | it : OrderedMapIterator [] : String | +| Test.java:231:19:231:32 | it : PeekingIterator [] : String | semmle.label | it : PeekingIterator [] : String | +| Test.java:231:19:231:32 | it : PushbackIterator [] : Object | semmle.label | it : PushbackIterator [] : Object | +| Test.java:231:19:231:32 | it : PushbackIterator [] : String | semmle.label | it : PushbackIterator [] : String | +| Test.java:231:19:231:32 | it : ResettableIterator [] : Object | semmle.label | it : ResettableIterator [] : Object | +| Test.java:231:19:231:32 | it : ResettableIterator [] : String | semmle.label | it : ResettableIterator [] : String | +| Test.java:231:19:231:32 | it : ResettableListIterator [] : Object | semmle.label | it : ResettableListIterator [] : Object | +| Test.java:231:19:231:32 | it : ResettableListIterator [] : String | semmle.label | it : ResettableListIterator [] : String | +| Test.java:231:19:231:32 | it : ReverseListIterator [] : String | semmle.label | it : ReverseListIterator [] : String | +| Test.java:231:19:231:32 | it : SingletonIterator [] : Object | semmle.label | it : SingletonIterator [] : Object | +| Test.java:231:19:231:32 | it : SingletonListIterator [] : Object | semmle.label | it : SingletonListIterator [] : Object | +| Test.java:231:19:231:32 | it : SkippingIterator [] : String | semmle.label | it : SkippingIterator [] : String | +| Test.java:231:19:231:32 | it : UniqueFilterIterator [] : String | semmle.label | it : UniqueFilterIterator [] : String | +| Test.java:231:19:231:32 | it : ZippingIterator [] : String | semmle.label | it : ZippingIterator [] : String | +| Test.java:231:44:231:45 | it : ArrayIterator [] : String | semmle.label | it : ArrayIterator [] : String | +| Test.java:231:44:231:45 | it : ArrayListIterator [] : String | semmle.label | it : ArrayListIterator [] : String | +| Test.java:231:44:231:45 | it : BoundedIterator [] : String | semmle.label | it : BoundedIterator [] : String | +| Test.java:231:44:231:45 | it : CollatingIterator [] : String | semmle.label | it : CollatingIterator [] : String | +| Test.java:231:44:231:45 | it : Cursor [] : String | semmle.label | it : Cursor [] : String | +| Test.java:231:44:231:45 | it : EntrySetToMapIteratorAdapter [] : String | semmle.label | it : EntrySetToMapIteratorAdapter [] : String | +| Test.java:231:44:231:45 | it : EnumerationIterator [] : String | semmle.label | it : EnumerationIterator [] : String | +| Test.java:231:44:231:45 | it : FilterIterator [] : String | semmle.label | it : FilterIterator [] : String | +| Test.java:231:44:231:45 | it : FilterListIterator [] : String | semmle.label | it : FilterListIterator [] : String | +| Test.java:231:44:231:45 | it : Iterator [] : Object | semmle.label | it : Iterator [] : Object | +| Test.java:231:44:231:45 | it : Iterator [] : String | semmle.label | it : Iterator [] : String | +| Test.java:231:44:231:45 | it : IteratorChain [] : String | semmle.label | it : IteratorChain [] : String | +| Test.java:231:44:231:45 | it : ListIterator [] : Object | semmle.label | it : ListIterator [] : Object | +| Test.java:231:44:231:45 | it : ListIterator [] : String | semmle.label | it : ListIterator [] : String | +| Test.java:231:44:231:45 | it : ListIteratorWrapper [] : String | semmle.label | it : ListIteratorWrapper [] : String | +| Test.java:231:44:231:45 | it : LoopingIterator [] : String | semmle.label | it : LoopingIterator [] : String | +| Test.java:231:44:231:45 | it : LoopingListIterator [] : String | semmle.label | it : LoopingListIterator [] : String | +| Test.java:231:44:231:45 | it : MapIterator [] : String | semmle.label | it : MapIterator [] : String | +| Test.java:231:44:231:45 | it : MyAbstractIteratorDecorator [] : String | semmle.label | it : MyAbstractIteratorDecorator [] : String | +| Test.java:231:44:231:45 | it : MyAbstractListIteratorDecorator [] : String | semmle.label | it : MyAbstractListIteratorDecorator [] : String | +| Test.java:231:44:231:45 | it : MyAbstractMapIteratorDecorator [] : String | semmle.label | it : MyAbstractMapIteratorDecorator [] : String | +| Test.java:231:44:231:45 | it : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | it : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:231:44:231:45 | it : MyAbstractUntypedIteratorDecorator [] : String | semmle.label | it : MyAbstractUntypedIteratorDecorator [] : String | +| Test.java:231:44:231:45 | it : ObjectArrayIterator [] : String | semmle.label | it : ObjectArrayIterator [] : String | +| Test.java:231:44:231:45 | it : ObjectArrayListIterator [] : String | semmle.label | it : ObjectArrayListIterator [] : String | +| Test.java:231:44:231:45 | it : OrderedMapIterator [] : String | semmle.label | it : OrderedMapIterator [] : String | +| Test.java:231:44:231:45 | it : PeekingIterator [] : String | semmle.label | it : PeekingIterator [] : String | +| Test.java:231:44:231:45 | it : PushbackIterator [] : Object | semmle.label | it : PushbackIterator [] : Object | +| Test.java:231:44:231:45 | it : PushbackIterator [] : String | semmle.label | it : PushbackIterator [] : String | +| Test.java:231:44:231:45 | it : ResettableIterator [] : Object | semmle.label | it : ResettableIterator [] : Object | +| Test.java:231:44:231:45 | it : ResettableIterator [] : String | semmle.label | it : ResettableIterator [] : String | +| Test.java:231:44:231:45 | it : ResettableListIterator [] : Object | semmle.label | it : ResettableListIterator [] : Object | +| Test.java:231:44:231:45 | it : ResettableListIterator [] : String | semmle.label | it : ResettableListIterator [] : String | +| Test.java:231:44:231:45 | it : ReverseListIterator [] : String | semmle.label | it : ReverseListIterator [] : String | +| Test.java:231:44:231:45 | it : SingletonIterator [] : Object | semmle.label | it : SingletonIterator [] : Object | +| Test.java:231:44:231:45 | it : SingletonListIterator [] : Object | semmle.label | it : SingletonListIterator [] : Object | +| Test.java:231:44:231:45 | it : SkippingIterator [] : String | semmle.label | it : SkippingIterator [] : String | +| Test.java:231:44:231:45 | it : UniqueFilterIterator [] : String | semmle.label | it : UniqueFilterIterator [] : String | +| Test.java:231:44:231:45 | it : ZippingIterator [] : String | semmle.label | it : ZippingIterator [] : String | +| Test.java:231:44:231:52 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:231:44:231:52 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:231:44:231:52 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:231:44:231:52 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:231:44:231:52 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:231:44:231:52 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:231:44:231:52 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | +| Test.java:232:20:232:31 | map : AbstractMapDecorator [] : Object | semmle.label | map : AbstractMapDecorator [] : Object | +| Test.java:232:20:232:31 | map : AbstractMapDecorator [] : String | semmle.label | map : AbstractMapDecorator [] : String | +| Test.java:232:20:232:31 | map : BidiMap [] : Object | semmle.label | map : BidiMap [] : Object | +| Test.java:232:20:232:31 | map : BidiMap [] : String | semmle.label | map : BidiMap [] : String | +| Test.java:232:20:232:31 | map : CaseInsensitiveMap [] : String | semmle.label | map : CaseInsensitiveMap [] : String | +| Test.java:232:20:232:31 | map : CompositeMap [] : String | semmle.label | map : CompositeMap [] : String | +| Test.java:232:20:232:31 | map : DefaultedMap [] : Object | semmle.label | map : DefaultedMap [] : Object | +| Test.java:232:20:232:31 | map : DefaultedMap [] : String | semmle.label | map : DefaultedMap [] : String | +| Test.java:232:20:232:31 | map : DualHashBidiMap [] : String | semmle.label | map : DualHashBidiMap [] : String | +| Test.java:232:20:232:31 | map : DualLinkedHashBidiMap [] : String | semmle.label | map : DualLinkedHashBidiMap [] : String | +| Test.java:232:20:232:31 | map : DualTreeBidiMap [] : String | semmle.label | map : DualTreeBidiMap [] : String | +| Test.java:232:20:232:31 | map : FixedSizeMap [] : String | semmle.label | map : FixedSizeMap [] : String | +| Test.java:232:20:232:31 | map : FixedSizeSortedMap [] : String | semmle.label | map : FixedSizeSortedMap [] : String | +| Test.java:232:20:232:31 | map : Flat3Map [] : String | semmle.label | map : Flat3Map [] : String | +| Test.java:232:20:232:31 | map : HashedMap [] : String | semmle.label | map : HashedMap [] : String | +| Test.java:232:20:232:31 | map : IterableMap [] : String | semmle.label | map : IterableMap [] : String | +| Test.java:232:20:232:31 | map : IterableSortedMap [] : String | semmle.label | map : IterableSortedMap [] : String | +| Test.java:232:20:232:31 | map : LRUMap [] : String | semmle.label | map : LRUMap [] : String | +| Test.java:232:20:232:31 | map : LazyMap [] : String | semmle.label | map : LazyMap [] : String | +| Test.java:232:20:232:31 | map : LazySortedMap [] : String | semmle.label | map : LazySortedMap [] : String | +| Test.java:232:20:232:31 | map : LinkedMap [] : String | semmle.label | map : LinkedMap [] : String | +| Test.java:232:20:232:31 | map : ListOrderedMap [] : Object | semmle.label | map : ListOrderedMap [] : Object | +| Test.java:232:20:232:31 | map : ListOrderedMap [] : String | semmle.label | map : ListOrderedMap [] : String | +| Test.java:232:20:232:31 | map : Map [, ] : String | semmle.label | map : Map [, ] : String | +| Test.java:232:20:232:31 | map : Map [] : Object | semmle.label | map : Map [] : Object | +| Test.java:232:20:232:31 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:232:20:232:31 | map : MultiKeyMap [] : String | semmle.label | map : MultiKeyMap [] : String | +| Test.java:232:20:232:31 | map : MultiMap [, ] : Object | semmle.label | map : MultiMap [, ] : Object | +| Test.java:232:20:232:31 | map : MultiMap [, ] : String | semmle.label | map : MultiMap [, ] : String | +| Test.java:232:20:232:31 | map : MultiMap [] : Object | semmle.label | map : MultiMap [] : Object | +| Test.java:232:20:232:31 | map : MultiValueMap [, ] : Object | semmle.label | map : MultiValueMap [, ] : Object | +| Test.java:232:20:232:31 | map : MultiValueMap [, ] : String | semmle.label | map : MultiValueMap [, ] : String | +| Test.java:232:20:232:31 | map : MultiValueMap [] : Object | semmle.label | map : MultiValueMap [] : Object | +| Test.java:232:20:232:31 | map : MultiValueMap [] : String | semmle.label | map : MultiValueMap [] : String | +| Test.java:232:20:232:31 | map : MyAbstractBidiMapDecorator [] : String | semmle.label | map : MyAbstractBidiMapDecorator [] : String | +| Test.java:232:20:232:31 | map : MyAbstractDualBidiMap [] : String | semmle.label | map : MyAbstractDualBidiMap [] : String | +| Test.java:232:20:232:31 | map : MyAbstractHashedMap [] : String | semmle.label | map : MyAbstractHashedMap [] : String | +| Test.java:232:20:232:31 | map : MyAbstractLinkedMap [] : String | semmle.label | map : MyAbstractLinkedMap [] : String | +| Test.java:232:20:232:31 | map : MyAbstractMapDecorator [] : String | semmle.label | map : MyAbstractMapDecorator [] : String | +| Test.java:232:20:232:31 | map : MyAbstractOrderedBidiMapDecorator [] : String | semmle.label | map : MyAbstractOrderedBidiMapDecorator [] : String | +| Test.java:232:20:232:31 | map : MyAbstractOrderedMapDecorator [] : String | semmle.label | map : MyAbstractOrderedMapDecorator [] : String | +| Test.java:232:20:232:31 | map : MyAbstractSortedBidiMapDecorator [] : String | semmle.label | map : MyAbstractSortedBidiMapDecorator [] : String | +| Test.java:232:20:232:31 | map : MyAbstractSortedMapDecorator [] : String | semmle.label | map : MyAbstractSortedMapDecorator [] : String | +| Test.java:232:20:232:31 | map : OrderedBidiMap [] : String | semmle.label | map : OrderedBidiMap [] : String | +| Test.java:232:20:232:31 | map : OrderedMap [] : String | semmle.label | map : OrderedMap [] : String | +| Test.java:232:20:232:31 | map : PassiveExpiringMap [] : String | semmle.label | map : PassiveExpiringMap [] : String | +| Test.java:232:20:232:31 | map : PatriciaTrie [] : String | semmle.label | map : PatriciaTrie [] : String | +| Test.java:232:20:232:31 | map : PredicatedMap [] : String | semmle.label | map : PredicatedMap [] : String | +| Test.java:232:20:232:31 | map : PredicatedSortedMap [] : String | semmle.label | map : PredicatedSortedMap [] : String | +| Test.java:232:20:232:31 | map : Put [] : Object | semmle.label | map : Put [] : Object | +| Test.java:232:20:232:31 | map : Put [] : String | semmle.label | map : Put [] : String | +| Test.java:232:20:232:31 | map : SingletonMap [] : Object | semmle.label | map : SingletonMap [] : Object | +| Test.java:232:20:232:31 | map : SingletonMap [] : String | semmle.label | map : SingletonMap [] : String | +| Test.java:232:20:232:31 | map : SortedBidiMap [] : String | semmle.label | map : SortedBidiMap [] : String | +| Test.java:232:20:232:31 | map : SortedMap [] : String | semmle.label | map : SortedMap [] : String | +| Test.java:232:20:232:31 | map : TransformedMap [] : String | semmle.label | map : TransformedMap [] : String | +| Test.java:232:20:232:31 | map : TransformedSortedMap [] : String | semmle.label | map : TransformedSortedMap [] : String | +| Test.java:232:20:232:31 | map : TreeBidiMap [] : String | semmle.label | map : TreeBidiMap [] : String | +| Test.java:232:20:232:31 | map : Trie [] : String | semmle.label | map : Trie [] : String | +| Test.java:232:43:232:45 | map : AbstractMapDecorator [] : Object | semmle.label | map : AbstractMapDecorator [] : Object | +| Test.java:232:43:232:45 | map : AbstractMapDecorator [] : String | semmle.label | map : AbstractMapDecorator [] : String | +| Test.java:232:43:232:45 | map : BidiMap [] : Object | semmle.label | map : BidiMap [] : Object | +| Test.java:232:43:232:45 | map : BidiMap [] : String | semmle.label | map : BidiMap [] : String | +| Test.java:232:43:232:45 | map : CaseInsensitiveMap [] : String | semmle.label | map : CaseInsensitiveMap [] : String | +| Test.java:232:43:232:45 | map : CompositeMap [] : String | semmle.label | map : CompositeMap [] : String | +| Test.java:232:43:232:45 | map : DefaultedMap [] : Object | semmle.label | map : DefaultedMap [] : Object | +| Test.java:232:43:232:45 | map : DefaultedMap [] : String | semmle.label | map : DefaultedMap [] : String | +| Test.java:232:43:232:45 | map : DualHashBidiMap [] : String | semmle.label | map : DualHashBidiMap [] : String | +| Test.java:232:43:232:45 | map : DualLinkedHashBidiMap [] : String | semmle.label | map : DualLinkedHashBidiMap [] : String | +| Test.java:232:43:232:45 | map : DualTreeBidiMap [] : String | semmle.label | map : DualTreeBidiMap [] : String | +| Test.java:232:43:232:45 | map : FixedSizeMap [] : String | semmle.label | map : FixedSizeMap [] : String | +| Test.java:232:43:232:45 | map : FixedSizeSortedMap [] : String | semmle.label | map : FixedSizeSortedMap [] : String | +| Test.java:232:43:232:45 | map : Flat3Map [] : String | semmle.label | map : Flat3Map [] : String | +| Test.java:232:43:232:45 | map : HashedMap [] : String | semmle.label | map : HashedMap [] : String | +| Test.java:232:43:232:45 | map : IterableMap [] : String | semmle.label | map : IterableMap [] : String | +| Test.java:232:43:232:45 | map : IterableSortedMap [] : String | semmle.label | map : IterableSortedMap [] : String | +| Test.java:232:43:232:45 | map : LRUMap [] : String | semmle.label | map : LRUMap [] : String | +| Test.java:232:43:232:45 | map : LazyMap [] : String | semmle.label | map : LazyMap [] : String | +| Test.java:232:43:232:45 | map : LazySortedMap [] : String | semmle.label | map : LazySortedMap [] : String | +| Test.java:232:43:232:45 | map : LinkedMap [] : String | semmle.label | map : LinkedMap [] : String | +| Test.java:232:43:232:45 | map : ListOrderedMap [] : Object | semmle.label | map : ListOrderedMap [] : Object | +| Test.java:232:43:232:45 | map : ListOrderedMap [] : String | semmle.label | map : ListOrderedMap [] : String | +| Test.java:232:43:232:45 | map : Map [, ] : String | semmle.label | map : Map [, ] : String | +| Test.java:232:43:232:45 | map : Map [] : Object | semmle.label | map : Map [] : Object | +| Test.java:232:43:232:45 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:232:43:232:45 | map : MultiKeyMap [] : String | semmle.label | map : MultiKeyMap [] : String | +| Test.java:232:43:232:45 | map : MultiMap [, ] : Object | semmle.label | map : MultiMap [, ] : Object | +| Test.java:232:43:232:45 | map : MultiMap [, ] : String | semmle.label | map : MultiMap [, ] : String | +| Test.java:232:43:232:45 | map : MultiMap [] : Object | semmle.label | map : MultiMap [] : Object | +| Test.java:232:43:232:45 | map : MultiValueMap [, ] : Object | semmle.label | map : MultiValueMap [, ] : Object | +| Test.java:232:43:232:45 | map : MultiValueMap [, ] : String | semmle.label | map : MultiValueMap [, ] : String | +| Test.java:232:43:232:45 | map : MultiValueMap [] : Object | semmle.label | map : MultiValueMap [] : Object | +| Test.java:232:43:232:45 | map : MultiValueMap [] : String | semmle.label | map : MultiValueMap [] : String | +| Test.java:232:43:232:45 | map : MyAbstractBidiMapDecorator [] : String | semmle.label | map : MyAbstractBidiMapDecorator [] : String | +| Test.java:232:43:232:45 | map : MyAbstractDualBidiMap [] : String | semmle.label | map : MyAbstractDualBidiMap [] : String | +| Test.java:232:43:232:45 | map : MyAbstractHashedMap [] : String | semmle.label | map : MyAbstractHashedMap [] : String | +| Test.java:232:43:232:45 | map : MyAbstractLinkedMap [] : String | semmle.label | map : MyAbstractLinkedMap [] : String | +| Test.java:232:43:232:45 | map : MyAbstractMapDecorator [] : String | semmle.label | map : MyAbstractMapDecorator [] : String | +| Test.java:232:43:232:45 | map : MyAbstractOrderedBidiMapDecorator [] : String | semmle.label | map : MyAbstractOrderedBidiMapDecorator [] : String | +| Test.java:232:43:232:45 | map : MyAbstractOrderedMapDecorator [] : String | semmle.label | map : MyAbstractOrderedMapDecorator [] : String | +| Test.java:232:43:232:45 | map : MyAbstractSortedBidiMapDecorator [] : String | semmle.label | map : MyAbstractSortedBidiMapDecorator [] : String | +| Test.java:232:43:232:45 | map : MyAbstractSortedMapDecorator [] : String | semmle.label | map : MyAbstractSortedMapDecorator [] : String | +| Test.java:232:43:232:45 | map : OrderedBidiMap [] : String | semmle.label | map : OrderedBidiMap [] : String | +| Test.java:232:43:232:45 | map : OrderedMap [] : String | semmle.label | map : OrderedMap [] : String | +| Test.java:232:43:232:45 | map : PassiveExpiringMap [] : String | semmle.label | map : PassiveExpiringMap [] : String | +| Test.java:232:43:232:45 | map : PatriciaTrie [] : String | semmle.label | map : PatriciaTrie [] : String | +| Test.java:232:43:232:45 | map : PredicatedMap [] : String | semmle.label | map : PredicatedMap [] : String | +| Test.java:232:43:232:45 | map : PredicatedSortedMap [] : String | semmle.label | map : PredicatedSortedMap [] : String | +| Test.java:232:43:232:45 | map : Put [] : Object | semmle.label | map : Put [] : Object | +| Test.java:232:43:232:45 | map : Put [] : String | semmle.label | map : Put [] : String | +| Test.java:232:43:232:45 | map : SingletonMap [] : Object | semmle.label | map : SingletonMap [] : Object | +| Test.java:232:43:232:45 | map : SingletonMap [] : String | semmle.label | map : SingletonMap [] : String | +| Test.java:232:43:232:45 | map : SortedBidiMap [] : String | semmle.label | map : SortedBidiMap [] : String | +| Test.java:232:43:232:45 | map : SortedMap [] : String | semmle.label | map : SortedMap [] : String | +| Test.java:232:43:232:45 | map : TransformedMap [] : String | semmle.label | map : TransformedMap [] : String | +| Test.java:232:43:232:45 | map : TransformedSortedMap [] : String | semmle.label | map : TransformedSortedMap [] : String | +| Test.java:232:43:232:45 | map : TreeBidiMap [] : String | semmle.label | map : TreeBidiMap [] : String | +| Test.java:232:43:232:45 | map : Trie [] : String | semmle.label | map : Trie [] : String | +| Test.java:232:43:232:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:232:43:232:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:232:43:232:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:232:43:232:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:232:43:232:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:232:43:232:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:232:43:232:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:232:43:232:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:232:43:232:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:232:43:232:55 | get(...) : Object [] : Object | semmle.label | get(...) : Object [] : Object | +| Test.java:232:43:232:55 | get(...) : Object [] : Object | semmle.label | get(...) : Object [] : Object | +| Test.java:232:43:232:55 | get(...) : Object [] : String | semmle.label | get(...) : Object [] : String | +| Test.java:232:43:232:55 | get(...) : Object [] : String | semmle.label | get(...) : Object [] : String | +| Test.java:232:43:232:55 | get(...) : Object [] : String | semmle.label | get(...) : Object [] : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:232:43:232:55 | get(...) : String | semmle.label | get(...) : String | +| Test.java:234:19:234:42 | container : Enumeration [] : String | semmle.label | container : Enumeration [] : String | +| Test.java:234:19:234:42 | container : IteratorEnumeration [] : String | semmle.label | container : IteratorEnumeration [] : String | +| Test.java:234:54:234:62 | container : Enumeration [] : String | semmle.label | container : Enumeration [] : String | +| Test.java:234:54:234:62 | container : IteratorEnumeration [] : String | semmle.label | container : IteratorEnumeration [] : String | +| Test.java:234:54:234:76 | nextElement(...) : String | semmle.label | nextElement(...) : String | +| Test.java:234:54:234:76 | nextElement(...) : String | semmle.label | nextElement(...) : String | +| Test.java:235:19:235:45 | container : Entry [] : String | semmle.label | container : Entry [] : String | +| Test.java:235:57:235:65 | container : Entry [] : String | semmle.label | container : Entry [] : String | +| Test.java:235:57:235:78 | getElement(...) : String | semmle.label | getElement(...) : String | +| Test.java:236:19:236:39 | container : MultiKey [] : Object | semmle.label | container : MultiKey [] : Object | +| Test.java:236:19:236:39 | container : MultiKey [] : String | semmle.label | container : MultiKey [] : String | +| Test.java:236:51:236:59 | container : MultiKey [] : Object | semmle.label | container : MultiKey [] : Object | +| Test.java:236:51:236:59 | container : MultiKey [] : String | semmle.label | container : MultiKey [] : String | +| Test.java:236:51:236:69 | getKey(...) : Object | semmle.label | getKey(...) : Object | +| Test.java:236:51:236:69 | getKey(...) : String | semmle.label | getKey(...) : String | +| Test.java:237:18:237:48 | container : DefaultKeyValue [] : Object | semmle.label | container : DefaultKeyValue [] : Object | +| Test.java:237:18:237:48 | container : DefaultKeyValue [] : String | semmle.label | container : DefaultKeyValue [] : String | +| Test.java:237:18:237:48 | container : DefaultMapEntry [] : Object | semmle.label | container : DefaultMapEntry [] : Object | +| Test.java:237:18:237:48 | container : DefaultMapEntry [] : String | semmle.label | container : DefaultMapEntry [] : String | +| Test.java:237:18:237:48 | container : MyAbstractKeyValue [] : Object | semmle.label | container : MyAbstractKeyValue [] : Object | +| Test.java:237:18:237:48 | container : MyAbstractMapEntry [] : Object | semmle.label | container : MyAbstractMapEntry [] : Object | +| Test.java:237:18:237:48 | container : UnmodifiableMapEntry [] : Object | semmle.label | container : UnmodifiableMapEntry [] : Object | +| Test.java:237:18:237:48 | container : UnmodifiableMapEntry [] : String | semmle.label | container : UnmodifiableMapEntry [] : String | +| Test.java:237:60:237:68 | container : DefaultKeyValue [] : Object | semmle.label | container : DefaultKeyValue [] : Object | +| Test.java:237:60:237:68 | container : DefaultKeyValue [] : String | semmle.label | container : DefaultKeyValue [] : String | +| Test.java:237:60:237:68 | container : DefaultMapEntry [] : Object | semmle.label | container : DefaultMapEntry [] : Object | +| Test.java:237:60:237:68 | container : DefaultMapEntry [] : String | semmle.label | container : DefaultMapEntry [] : String | +| Test.java:237:60:237:68 | container : MyAbstractKeyValue [] : Object | semmle.label | container : MyAbstractKeyValue [] : Object | +| Test.java:237:60:237:68 | container : MyAbstractMapEntry [] : Object | semmle.label | container : MyAbstractMapEntry [] : Object | +| Test.java:237:60:237:68 | container : UnmodifiableMapEntry [] : Object | semmle.label | container : UnmodifiableMapEntry [] : Object | +| Test.java:237:60:237:68 | container : UnmodifiableMapEntry [] : String | semmle.label | container : UnmodifiableMapEntry [] : String | +| Test.java:237:60:237:77 | getKey(...) : Object | semmle.label | getKey(...) : Object | +| Test.java:237:60:237:77 | getKey(...) : Object | semmle.label | getKey(...) : Object | +| Test.java:237:60:237:77 | getKey(...) : Object | semmle.label | getKey(...) : Object | +| Test.java:237:60:237:77 | getKey(...) : Object | semmle.label | getKey(...) : Object | +| Test.java:237:60:237:77 | getKey(...) : Object | semmle.label | getKey(...) : Object | +| Test.java:237:60:237:77 | getKey(...) : String | semmle.label | getKey(...) : String | +| Test.java:237:60:237:77 | getKey(...) : String | semmle.label | getKey(...) : String | +| Test.java:237:60:237:77 | getKey(...) : String | semmle.label | getKey(...) : String | +| Test.java:238:27:238:50 | container : Entry [] : String | semmle.label | container : Entry [] : String | +| Test.java:238:27:238:50 | container : TiedMapEntry [] : Object | semmle.label | container : TiedMapEntry [] : Object | +| Test.java:238:62:238:70 | container : Entry [] : String | semmle.label | container : Entry [] : String | +| Test.java:238:62:238:70 | container : TiedMapEntry [] : Object | semmle.label | container : TiedMapEntry [] : Object | +| Test.java:238:62:238:79 | getKey(...) : Object | semmle.label | getKey(...) : Object | +| Test.java:238:62:238:79 | getKey(...) : String | semmle.label | getKey(...) : String | +| Test.java:239:18:239:57 | container : MyAbstractMapEntryDecorator [] : String | semmle.label | container : MyAbstractMapEntryDecorator [] : String | +| Test.java:239:69:239:77 | container : MyAbstractMapEntryDecorator [] : String | semmle.label | container : MyAbstractMapEntryDecorator [] : String | +| Test.java:239:69:239:86 | getKey(...) : String | semmle.label | getKey(...) : String | +| Test.java:239:69:239:86 | getKey(...) : String | semmle.label | getKey(...) : String | +| Test.java:240:18:240:46 | container : ArrayListValuedHashMap [] : String | semmle.label | container : ArrayListValuedHashMap [] : String | +| Test.java:240:18:240:46 | container : HashSetValuedHashMap [] : String | semmle.label | container : HashSetValuedHashMap [] : String | +| Test.java:240:18:240:46 | container : MultiValuedMap [] : Object | semmle.label | container : MultiValuedMap [] : Object | +| Test.java:240:18:240:46 | container : MultiValuedMap [] : String | semmle.label | container : MultiValuedMap [] : String | +| Test.java:240:18:240:46 | container : TransformedMultiValuedMap [] : String | semmle.label | container : TransformedMultiValuedMap [] : String | +| Test.java:240:18:240:46 | container : UnmodifiableMultiValuedMap [] : String | semmle.label | container : UnmodifiableMultiValuedMap [] : String | +| Test.java:240:58:240:66 | container : ArrayListValuedHashMap [] : String | semmle.label | container : ArrayListValuedHashMap [] : String | +| Test.java:240:58:240:66 | container : HashSetValuedHashMap [] : String | semmle.label | container : HashSetValuedHashMap [] : String | +| Test.java:240:58:240:66 | container : MultiValuedMap [] : Object | semmle.label | container : MultiValuedMap [] : Object | +| Test.java:240:58:240:66 | container : MultiValuedMap [] : String | semmle.label | container : MultiValuedMap [] : String | +| Test.java:240:58:240:66 | container : TransformedMultiValuedMap [] : String | semmle.label | container : TransformedMultiValuedMap [] : String | +| Test.java:240:58:240:66 | container : UnmodifiableMultiValuedMap [] : String | semmle.label | container : UnmodifiableMultiValuedMap [] : String | +| Test.java:240:58:240:75 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:240:58:240:75 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:240:58:240:75 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:240:58:240:75 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:240:58:240:75 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:240:58:240:75 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:240:58:240:86 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:240:58:240:86 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:240:58:240:86 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:240:58:240:86 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:240:58:240:86 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:240:58:240:86 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:240:58:240:93 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:240:58:240:93 | next(...) : String | semmle.label | next(...) : String | +| Test.java:240:58:240:93 | next(...) : String | semmle.label | next(...) : String | +| Test.java:240:58:240:93 | next(...) : String | semmle.label | next(...) : String | +| Test.java:240:58:240:93 | next(...) : String | semmle.label | next(...) : String | +| Test.java:240:58:240:93 | next(...) : String | semmle.label | next(...) : String | +| Test.java:241:25:241:42 | container : AbstractIterableGetMapDecorator [] : String | semmle.label | container : AbstractIterableGetMapDecorator [] : String | +| Test.java:241:25:241:42 | container : TransformedSplitMap [] : String | semmle.label | container : TransformedSplitMap [] : String | +| Test.java:241:54:241:62 | container : AbstractIterableGetMapDecorator [] : String | semmle.label | container : AbstractIterableGetMapDecorator [] : String | +| Test.java:241:54:241:62 | container : TransformedSplitMap [] : String | semmle.label | container : TransformedSplitMap [] : String | +| Test.java:241:54:241:71 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:241:54:241:71 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:241:54:241:82 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:241:54:241:82 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:241:54:241:89 | next(...) : String | semmle.label | next(...) : String | +| Test.java:241:54:241:89 | next(...) : String | semmle.label | next(...) : String | +| Test.java:242:27:242:44 | container : Put [] : Object | semmle.label | container : Put [] : Object | +| Test.java:242:27:242:44 | container : Put [] : String | semmle.label | container : Put [] : String | +| Test.java:242:56:242:85 | getMapKey(...) : Object | semmle.label | getMapKey(...) : Object | +| Test.java:242:56:242:85 | getMapKey(...) : String | semmle.label | getMapKey(...) : String | +| Test.java:242:66:242:84 | (...)... : Put [] : Object | semmle.label | (...)... : Put [] : Object | +| Test.java:242:66:242:84 | (...)... : Put [] : String | semmle.label | (...)... : Put [] : String | +| Test.java:243:20:243:50 | container : AbstractMapEntry [] : Object | semmle.label | container : AbstractMapEntry [] : Object | +| Test.java:243:20:243:50 | container : DefaultKeyValue [] : Object | semmle.label | container : DefaultKeyValue [] : Object | +| Test.java:243:20:243:50 | container : DefaultKeyValue [] : String | semmle.label | container : DefaultKeyValue [] : String | +| Test.java:243:20:243:50 | container : DefaultMapEntry [] : Object | semmle.label | container : DefaultMapEntry [] : Object | +| Test.java:243:20:243:50 | container : DefaultMapEntry [] : String | semmle.label | container : DefaultMapEntry [] : String | +| Test.java:243:20:243:50 | container : MyAbstractKeyValue [] : Object | semmle.label | container : MyAbstractKeyValue [] : Object | +| Test.java:243:20:243:50 | container : MyAbstractMapEntry [] : Object | semmle.label | container : MyAbstractMapEntry [] : Object | +| Test.java:243:20:243:50 | container : UnmodifiableMapEntry [] : Object | semmle.label | container : UnmodifiableMapEntry [] : Object | +| Test.java:243:20:243:50 | container : UnmodifiableMapEntry [] : String | semmle.label | container : UnmodifiableMapEntry [] : String | +| Test.java:243:62:243:70 | container : AbstractMapEntry [] : Object | semmle.label | container : AbstractMapEntry [] : Object | +| Test.java:243:62:243:70 | container : DefaultKeyValue [] : Object | semmle.label | container : DefaultKeyValue [] : Object | +| Test.java:243:62:243:70 | container : DefaultKeyValue [] : String | semmle.label | container : DefaultKeyValue [] : String | +| Test.java:243:62:243:70 | container : DefaultMapEntry [] : Object | semmle.label | container : DefaultMapEntry [] : Object | +| Test.java:243:62:243:70 | container : DefaultMapEntry [] : String | semmle.label | container : DefaultMapEntry [] : String | +| Test.java:243:62:243:70 | container : MyAbstractKeyValue [] : Object | semmle.label | container : MyAbstractKeyValue [] : Object | +| Test.java:243:62:243:70 | container : MyAbstractMapEntry [] : Object | semmle.label | container : MyAbstractMapEntry [] : Object | +| Test.java:243:62:243:70 | container : UnmodifiableMapEntry [] : Object | semmle.label | container : UnmodifiableMapEntry [] : Object | +| Test.java:243:62:243:70 | container : UnmodifiableMapEntry [] : String | semmle.label | container : UnmodifiableMapEntry [] : String | +| Test.java:243:62:243:81 | getValue(...) : Object | semmle.label | getValue(...) : Object | +| Test.java:243:62:243:81 | getValue(...) : Object | semmle.label | getValue(...) : Object | +| Test.java:243:62:243:81 | getValue(...) : Object | semmle.label | getValue(...) : Object | +| Test.java:243:62:243:81 | getValue(...) : Object | semmle.label | getValue(...) : Object | +| Test.java:243:62:243:81 | getValue(...) : Object | semmle.label | getValue(...) : Object | +| Test.java:243:62:243:81 | getValue(...) : Object | semmle.label | getValue(...) : Object | +| Test.java:243:62:243:81 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:243:62:243:81 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:243:62:243:81 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:244:29:244:52 | container : Entry [] : String | semmle.label | container : Entry [] : String | +| Test.java:244:29:244:52 | container : TiedMapEntry [] : String | semmle.label | container : TiedMapEntry [] : String | +| Test.java:244:64:244:72 | container : Entry [] : String | semmle.label | container : Entry [] : String | +| Test.java:244:64:244:72 | container : TiedMapEntry [] : String | semmle.label | container : TiedMapEntry [] : String | +| Test.java:244:64:244:83 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:244:64:244:83 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:245:20:245:59 | container : MyAbstractMapEntryDecorator [] : String | semmle.label | container : MyAbstractMapEntryDecorator [] : String | +| Test.java:245:71:245:79 | container : MyAbstractMapEntryDecorator [] : String | semmle.label | container : MyAbstractMapEntryDecorator [] : String | +| Test.java:245:71:245:90 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:245:71:245:90 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:246:20:246:47 | mapIterator : EntrySetToMapIteratorAdapter [] : String | semmle.label | mapIterator : EntrySetToMapIteratorAdapter [] : String | +| Test.java:246:20:246:47 | mapIterator : MapIterator [] : Object | semmle.label | mapIterator : MapIterator [] : Object | +| Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | semmle.label | mapIterator : MapIterator [] : String | +| Test.java:246:20:246:47 | mapIterator : MyAbstractMapIteratorDecorator [] : String | semmle.label | mapIterator : MyAbstractMapIteratorDecorator [] : String | +| Test.java:246:20:246:47 | mapIterator : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | mapIterator : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:246:20:246:47 | mapIterator : OrderedMapIterator [] : String | semmle.label | mapIterator : OrderedMapIterator [] : String | +| Test.java:246:59:246:69 | mapIterator : EntrySetToMapIteratorAdapter [] : String | semmle.label | mapIterator : EntrySetToMapIteratorAdapter [] : String | +| Test.java:246:59:246:69 | mapIterator : MapIterator [] : Object | semmle.label | mapIterator : MapIterator [] : Object | +| Test.java:246:59:246:69 | mapIterator : MapIterator [] : String | semmle.label | mapIterator : MapIterator [] : String | +| Test.java:246:59:246:69 | mapIterator : MyAbstractMapIteratorDecorator [] : String | semmle.label | mapIterator : MyAbstractMapIteratorDecorator [] : String | +| Test.java:246:59:246:69 | mapIterator : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | mapIterator : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:246:59:246:69 | mapIterator : OrderedMapIterator [] : String | semmle.label | mapIterator : OrderedMapIterator [] : String | +| Test.java:246:59:246:80 | getValue(...) : Object | semmle.label | getValue(...) : Object | +| Test.java:246:59:246:80 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:246:59:246:80 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:246:59:246:80 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:246:59:246:80 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:246:59:246:80 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:247:32:247:60 | container : ArrayListValuedHashMap [, ] : String | semmle.label | container : ArrayListValuedHashMap [, ] : String | +| Test.java:247:32:247:60 | container : HashSetValuedHashMap [, ] : String | semmle.label | container : HashSetValuedHashMap [, ] : String | +| Test.java:247:32:247:60 | container : MultiValuedMap [, ] : Object | semmle.label | container : MultiValuedMap [, ] : Object | +| Test.java:247:32:247:60 | container : MultiValuedMap [, ] : String | semmle.label | container : MultiValuedMap [, ] : String | +| Test.java:247:32:247:60 | container : TransformedMultiValuedMap [, ] : String | semmle.label | container : TransformedMultiValuedMap [, ] : String | +| Test.java:247:32:247:60 | container : UnmodifiableMultiValuedMap [, ] : String | semmle.label | container : UnmodifiableMultiValuedMap [, ] : String | +| Test.java:247:72:247:80 | container : ArrayListValuedHashMap [, ] : String | semmle.label | container : ArrayListValuedHashMap [, ] : String | +| Test.java:247:72:247:80 | container : HashSetValuedHashMap [, ] : String | semmle.label | container : HashSetValuedHashMap [, ] : String | +| Test.java:247:72:247:80 | container : MultiValuedMap [, ] : Object | semmle.label | container : MultiValuedMap [, ] : Object | +| Test.java:247:72:247:80 | container : MultiValuedMap [, ] : String | semmle.label | container : MultiValuedMap [, ] : String | +| Test.java:247:72:247:80 | container : TransformedMultiValuedMap [, ] : String | semmle.label | container : TransformedMultiValuedMap [, ] : String | +| Test.java:247:72:247:80 | container : UnmodifiableMultiValuedMap [, ] : String | semmle.label | container : UnmodifiableMultiValuedMap [, ] : String | +| Test.java:247:72:247:90 | get(...) : Collection [] : Object | semmle.label | get(...) : Collection [] : Object | +| Test.java:247:72:247:90 | get(...) : Collection [] : String | semmle.label | get(...) : Collection [] : String | +| Test.java:247:72:247:90 | get(...) : Collection [] : String | semmle.label | get(...) : Collection [] : String | +| Test.java:247:72:247:90 | get(...) : Collection [] : String | semmle.label | get(...) : Collection [] : String | +| Test.java:247:72:247:90 | get(...) : Collection [] : String | semmle.label | get(...) : Collection [] : String | +| Test.java:247:72:247:90 | get(...) : Collection [] : String | semmle.label | get(...) : Collection [] : String | +| Test.java:248:27:248:44 | container : AbstractIterableGetMapDecorator [] : String | semmle.label | container : AbstractIterableGetMapDecorator [] : String | +| Test.java:248:27:248:44 | container : TransformedSplitMap [] : String | semmle.label | container : TransformedSplitMap [] : String | +| Test.java:248:56:248:64 | container : AbstractIterableGetMapDecorator [] : String | semmle.label | container : AbstractIterableGetMapDecorator [] : String | +| Test.java:248:56:248:64 | container : TransformedSplitMap [] : String | semmle.label | container : TransformedSplitMap [] : String | +| Test.java:248:56:248:74 | get(...) : String | semmle.label | get(...) : String | +| Test.java:248:56:248:74 | get(...) : String | semmle.label | get(...) : String | +| Test.java:249:29:249:46 | container : Put [] : Object | semmle.label | container : Put [] : Object | +| Test.java:249:29:249:46 | container : Put [] : String | semmle.label | container : Put [] : String | +| Test.java:249:58:249:89 | getMapValue(...) : Object | semmle.label | getMapValue(...) : Object | +| Test.java:249:58:249:89 | getMapValue(...) : String | semmle.label | getMapValue(...) : String | +| Test.java:249:70:249:88 | (...)... : Put [] : Object | semmle.label | (...)... : Put [] : Object | +| Test.java:249:70:249:88 | (...)... : Put [] : String | semmle.label | (...)... : Put [] : String | +| Test.java:251:31:251:44 | element : MyAbstractKeyValue [] : String | semmle.label | element : MyAbstractKeyValue [] : String | +| Test.java:251:31:251:44 | element : MyAbstractKeyValue [] : String | semmle.label | element : MyAbstractKeyValue [] : String | +| Test.java:251:31:251:44 | element : Object[] [[]] : String | semmle.label | element : Object[] [[]] : String | +| Test.java:251:31:251:44 | element : String | semmle.label | element : String | +| Test.java:251:56:251:77 | new Object[] : Object[] [[], ] : String | semmle.label | new Object[] : Object[] [[], ] : String | +| Test.java:251:56:251:77 | new Object[] : Object[] [[], ] : String | semmle.label | new Object[] : Object[] [[], ] : String | +| Test.java:251:56:251:77 | new Object[] : Object[] [[], []] : String | semmle.label | new Object[] : Object[] [[], []] : String | +| Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | semmle.label | new Object[] : Object[] [[]] : String | +| Test.java:251:56:251:77 | {...} : Object[] [[], ] : String | semmle.label | {...} : Object[] [[], ] : String | +| Test.java:251:56:251:77 | {...} : Object[] [[], ] : String | semmle.label | {...} : Object[] [[], ] : String | +| Test.java:251:56:251:77 | {...} : Object[] [[], []] : String | semmle.label | {...} : Object[] [[], []] : String | +| Test.java:251:56:251:77 | {...} : Object[] [[]] : String | semmle.label | {...} : Object[] [[]] : String | +| Test.java:251:70:251:76 | element : MyAbstractKeyValue [] : String | semmle.label | element : MyAbstractKeyValue [] : String | +| Test.java:251:70:251:76 | element : MyAbstractKeyValue [] : String | semmle.label | element : MyAbstractKeyValue [] : String | +| Test.java:251:70:251:76 | element : Object[] [[]] : String | semmle.label | element : Object[] [[]] : String | +| Test.java:251:70:251:76 | element : String | semmle.label | element : String | +| Test.java:252:45:252:53 | element : String | semmle.label | element : String | +| Test.java:252:96:252:96 | a [post update] : ArrayStack [] : String | semmle.label | a [post update] : ArrayStack [] : String | +| Test.java:252:103:252:109 | element : String | semmle.label | element : String | +| Test.java:252:120:252:120 | a : ArrayStack [] : String | semmle.label | a : ArrayStack [] : String | +| Test.java:253:59:253:67 | element : String | semmle.label | element : String | +| Test.java:253:124:253:124 | x [post update] : CircularFifoQueue [] : String | semmle.label | x [post update] : CircularFifoQueue [] : String | +| Test.java:253:130:253:136 | element : String | semmle.label | element : String | +| Test.java:253:147:253:147 | x : CircularFifoQueue [] : String | semmle.label | x : CircularFifoQueue [] : String | +| Test.java:254:49:254:57 | element : String | semmle.label | element : String | +| Test.java:254:69:254:126 | new CompositeSet(...) : CompositeSet [] : String | semmle.label | new CompositeSet(...) : CompositeSet [] : String | +| Test.java:254:89:254:125 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:254:118:254:124 | element : String | semmle.label | element : String | +| Test.java:255:65:255:73 | element : String | semmle.label | element : String | +| Test.java:255:136:255:136 | x [post update] : CursorableLinkedList [] : String | semmle.label | x [post update] : CursorableLinkedList [] : String | +| Test.java:255:142:255:148 | element : String | semmle.label | element : String | +| Test.java:255:159:255:159 | x : CursorableLinkedList [] : String | semmle.label | x : CursorableLinkedList [] : String | +| Test.java:256:47:256:55 | element : String | semmle.label | element : String | +| Test.java:256:67:256:134 | new IteratorEnumeration(...) : IteratorEnumeration [] : String | semmle.label | new IteratorEnumeration(...) : IteratorEnumeration [] : String | +| Test.java:256:94:256:122 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:256:94:256:133 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:256:115:256:121 | element : String | semmle.label | element : String | +| Test.java:257:53:257:61 | element : String | semmle.label | element : String | +| Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | semmle.label | of(...) : FluentIterable [] : String | +| Test.java:257:91:257:97 | element : String | semmle.label | element : String | +| Test.java:258:49:258:57 | element : String | semmle.label | element : String | +| Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | semmle.label | x [post update] : HashMultiSet [] : String | +| Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | semmle.label | x [post update] : HashMultiSet [] : String | +| Test.java:258:110:258:116 | element : String | semmle.label | element : String | +| Test.java:258:127:258:127 | x : HashMultiSet [] : String | semmle.label | x : HashMultiSet [] : String | +| Test.java:258:127:258:127 | x : HashMultiSet [] : String | semmle.label | x : HashMultiSet [] : String | +| Test.java:259:49:259:57 | element : String | semmle.label | element : String | +| Test.java:259:69:259:97 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | semmle.label | listIterator(...) : ListIterator [] : String | +| Test.java:259:90:259:96 | element : String | semmle.label | element : String | +| Test.java:260:53:260:61 | element : String | semmle.label | element : String | +| Test.java:260:53:260:61 | element : TiedMapEntry [] : String | semmle.label | element : TiedMapEntry [] : String | +| Test.java:260:53:260:61 | element : TiedMapEntry [] : String | semmle.label | element : TiedMapEntry [] : String | +| Test.java:260:112:260:112 | x [post update] : ListOrderedSet [, ] : String | semmle.label | x [post update] : ListOrderedSet [, ] : String | +| Test.java:260:112:260:112 | x [post update] : ListOrderedSet [, ] : String | semmle.label | x [post update] : ListOrderedSet [, ] : String | +| Test.java:260:112:260:112 | x [post update] : ListOrderedSet [] : String | semmle.label | x [post update] : ListOrderedSet [] : String | +| Test.java:260:118:260:124 | element : String | semmle.label | element : String | +| Test.java:260:118:260:124 | element : TiedMapEntry [] : String | semmle.label | element : TiedMapEntry [] : String | +| Test.java:260:118:260:124 | element : TiedMapEntry [] : String | semmle.label | element : TiedMapEntry [] : String | +| Test.java:260:135:260:135 | x : ListOrderedSet [, ] : String | semmle.label | x : ListOrderedSet [, ] : String | +| Test.java:260:135:260:135 | x : ListOrderedSet [, ] : String | semmle.label | x : ListOrderedSet [, ] : String | +| Test.java:260:135:260:135 | x : ListOrderedSet [] : String | semmle.label | x : ListOrderedSet [] : String | +| Test.java:261:41:261:49 | element : String | semmle.label | element : String | +| Test.java:261:61:261:93 | new MultiKey(...) : MultiKey [] : String | semmle.label | new MultiKey(...) : MultiKey [] : String | +| Test.java:261:77:261:83 | element : String | semmle.label | element : String | +| Test.java:262:52:262:60 | element : String | semmle.label | element : String | +| Test.java:262:72:262:125 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:262:72:262:125 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | semmle.label | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | semmle.label | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | semmle.label | entrySet(...) : Set [, ] : String | +| Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | semmle.label | entrySet(...) : Set [, ] : String | +| Test.java:262:106:262:112 | element : String | semmle.label | element : String | +| Test.java:263:41:263:49 | element : String | semmle.label | element : String | +| Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | semmle.label | h [post update] : HashMultiSet [] : String | +| Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | semmle.label | h [post update] : HashMultiSet [] : String | +| Test.java:263:102:263:108 | element : String | semmle.label | element : String | +| Test.java:263:119:263:119 | h : HashMultiSet [] : String | semmle.label | h : HashMultiSet [] : String | +| Test.java:263:119:263:119 | h : HashMultiSet [] : String | semmle.label | h : HashMultiSet [] : String | +| Test.java:264:80:264:88 | element : String | semmle.label | element : String | +| Test.java:264:171:264:171 | x [post update] : Builder [] : String | semmle.label | x [post update] : Builder [] : String | +| Test.java:264:177:264:183 | element : String | semmle.label | element : String | +| Test.java:264:194:264:194 | x : Builder [] : String | semmle.label | x : Builder [] : String | +| Test.java:265:35:265:43 | element : String | semmle.label | element : String | +| Test.java:265:86:265:86 | q [post update] : LinkedList [] : String | semmle.label | q [post update] : LinkedList [] : String | +| Test.java:265:92:265:98 | element : String | semmle.label | element : String | +| Test.java:265:109:265:109 | q : LinkedList [] : String | semmle.label | q : LinkedList [] : String | +| Test.java:266:41:266:49 | element : String | semmle.label | element : String | +| Test.java:266:90:266:90 | s [post update] : MySetView [] : String | semmle.label | s [post update] : MySetView [] : String | +| Test.java:266:96:266:102 | element : String | semmle.label | element : String | +| Test.java:266:113:266:113 | s : MySetView [] : String | semmle.label | s : MySetView [] : String | +| Test.java:267:39:267:47 | element : ListIterator [] : String | semmle.label | element : ListIterator [] : String | +| Test.java:267:39:267:47 | element : String | semmle.label | element : String | +| Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | semmle.label | b [post update] : TreeBag [, ] : String | +| Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | semmle.label | b [post update] : TreeBag [, ] : String | +| Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | semmle.label | b [post update] : TreeBag [] : String | +| Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | semmle.label | b [post update] : TreeBag [] : String | +| Test.java:267:90:267:96 | element : ListIterator [] : String | semmle.label | element : ListIterator [] : String | +| Test.java:267:90:267:96 | element : String | semmle.label | element : String | +| Test.java:267:107:267:107 | b : TreeBag [, ] : String | semmle.label | b : TreeBag [, ] : String | +| Test.java:267:107:267:107 | b : TreeBag [, ] : String | semmle.label | b : TreeBag [, ] : String | +| Test.java:267:107:267:107 | b : TreeBag [] : String | semmle.label | b : TreeBag [] : String | +| Test.java:267:107:267:107 | b : TreeBag [] : String | semmle.label | b : TreeBag [] : String | +| Test.java:268:39:268:47 | element : String | semmle.label | element : String | +| Test.java:268:84:268:84 | h [post update] : TreeSet [] : String | semmle.label | h [post update] : TreeSet [] : String | +| Test.java:268:90:268:96 | element : String | semmle.label | element : String | +| Test.java:268:107:268:107 | h : TreeSet [] : String | semmle.label | h : TreeSet [] : String | +| Test.java:269:37:269:45 | element : String | semmle.label | element : String | +| Test.java:269:80:269:80 | v [post update] : Vector [] : String | semmle.label | v [post update] : Vector [] : String | +| Test.java:269:86:269:92 | element : String | semmle.label | element : String | +| Test.java:269:103:269:103 | v : Vector [] : String | semmle.label | v : Vector [] : String | +| Test.java:270:47:270:65 | element : Vector [] : String | semmle.label | element : Vector [] : String | +| Test.java:270:110:270:110 | v [post update] : Vector [, ] : String | semmle.label | v [post update] : Vector [, ] : String | +| Test.java:270:116:270:122 | element : Vector [] : String | semmle.label | element : Vector [] : String | +| Test.java:270:133:270:133 | v : Vector [, ] : String | semmle.label | v : Vector [, ] : String | +| Test.java:272:58:272:62 | key : String | semmle.label | key : String | +| Test.java:272:136:272:136 | m [post update] : ArrayListValuedHashMap [] : String | semmle.label | m [post update] : ArrayListValuedHashMap [] : String | +| Test.java:272:142:272:144 | key : String | semmle.label | key : String | +| Test.java:272:160:272:160 | m : ArrayListValuedHashMap [] : String | semmle.label | m : ArrayListValuedHashMap [] : String | +| Test.java:273:49:273:53 | key : String | semmle.label | key : String | +| Test.java:273:65:273:103 | new DefaultKeyValue(...) : DefaultKeyValue [] : String | semmle.label | new DefaultKeyValue(...) : DefaultKeyValue [] : String | +| Test.java:273:95:273:97 | key : String | semmle.label | key : String | +| Test.java:274:61:274:65 | key : String | semmle.label | key : String | +| Test.java:274:77:274:124 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | semmle.label | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | +| Test.java:274:107:274:123 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:274:114:274:116 | key : String | semmle.label | key : String | +| Test.java:275:49:275:53 | key : String | semmle.label | key : String | +| Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | semmle.label | m [post update] : HashedMap [] : String | +| Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | semmle.label | m [post update] : HashedMap [] : String | +| Test.java:275:107:275:109 | key : String | semmle.label | key : String | +| Test.java:275:125:275:125 | m : HashedMap [] : String | semmle.label | m : HashedMap [] : String | +| Test.java:275:125:275:125 | m : HashedMap [] : String | semmle.label | m : HashedMap [] : String | +| Test.java:276:49:276:53 | key : String | semmle.label | key : String | +| Test.java:276:65:276:106 | new LinkedMap(...) : LinkedMap [] : String | semmle.label | new LinkedMap(...) : LinkedMap [] : String | +| Test.java:276:89:276:105 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:276:96:276:98 | key : String | semmle.label | key : String | +| Test.java:277:59:277:63 | key : Object | semmle.label | key : Object | +| Test.java:277:59:277:63 | key : String | semmle.label | key : String | +| Test.java:277:75:277:132 | listOrderedMap(...) : ListOrderedMap [] : Object | semmle.label | listOrderedMap(...) : ListOrderedMap [] : Object | +| Test.java:277:75:277:132 | listOrderedMap(...) : ListOrderedMap [] : String | semmle.label | listOrderedMap(...) : ListOrderedMap [] : String | +| Test.java:277:115:277:131 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:277:115:277:131 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:277:122:277:124 | key : Object | semmle.label | key : Object | +| Test.java:277:122:277:124 | key : String | semmle.label | key : String | +| Test.java:279:47:279:51 | key : String | semmle.label | key : String | +| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | semmle.label | m [post update] : MultiValueMap [] : String | +| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | semmle.label | m [post update] : MultiValueMap [] : String | +| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | semmle.label | m [post update] : MultiValueMap [] : String | +| Test.java:279:113:279:115 | key : String | semmle.label | key : String | +| Test.java:279:131:279:131 | m : MultiValueMap [] : String | semmle.label | m : MultiValueMap [] : String | +| Test.java:279:131:279:131 | m : MultiValueMap [] : String | semmle.label | m : MultiValueMap [] : String | +| Test.java:279:131:279:131 | m : MultiValueMap [] : String | semmle.label | m : MultiValueMap [] : String | +| Test.java:280:53:280:57 | key : String | semmle.label | key : String | +| Test.java:280:69:280:110 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | semmle.label | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | +| Test.java:280:102:280:104 | key : String | semmle.label | key : String | +| Test.java:281:63:281:67 | key : String | semmle.label | key : String | +| Test.java:281:79:281:143 | new MyAbstractMapEntryDecorator(...) : MyAbstractMapEntryDecorator [] : String | semmle.label | new MyAbstractMapEntryDecorator(...) : MyAbstractMapEntryDecorator [] : String | +| Test.java:281:121:281:142 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | semmle.label | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | +| Test.java:281:139:281:141 | key : String | semmle.label | key : String | +| Test.java:282:53:282:57 | key : String | semmle.label | key : String | +| Test.java:282:69:282:110 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | semmle.label | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | +| Test.java:282:102:282:104 | key : String | semmle.label | key : String | +| Test.java:283:53:283:57 | key : String | semmle.label | key : String | +| Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | semmle.label | m [post update] : LinkedMap [] : String | +| Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | semmle.label | m [post update] : LinkedMap [] : String | +| Test.java:283:111:283:113 | key : String | semmle.label | key : String | +| Test.java:283:129:283:129 | m : LinkedMap [] : String | semmle.label | m : LinkedMap [] : String | +| Test.java:283:129:283:129 | m : LinkedMap [] : String | semmle.label | m : LinkedMap [] : String | +| Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:285:47:285:51 | key : String | semmle.label | key : String | +| Test.java:285:97:285:97 | m [post update] : TreeMap [] : String | semmle.label | m [post update] : TreeMap [] : String | +| Test.java:285:103:285:105 | key : String | semmle.label | key : String | +| Test.java:285:121:285:121 | m : TreeMap [] : String | semmle.label | m : TreeMap [] : String | +| Test.java:286:46:286:50 | key : String | semmle.label | key : String | +| Test.java:286:62:286:116 | new TiedMapEntry(...) : TiedMapEntry [] : String | semmle.label | new TiedMapEntry(...) : TiedMapEntry [] : String | +| Test.java:286:113:286:115 | key : String | semmle.label | key : String | +| Test.java:287:75:287:79 | key : String | semmle.label | key : String | +| Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | semmle.label | m [post update] : TreeBidiMap [] : String | +| Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | semmle.label | m [post update] : TreeBidiMap [] : String | +| Test.java:287:137:287:139 | key : String | semmle.label | key : String | +| Test.java:287:155:287:155 | m : TreeBidiMap [] : String | semmle.label | m : TreeBidiMap [] : String | +| Test.java:287:155:287:155 | m : TreeBidiMap [] : String | semmle.label | m : TreeBidiMap [] : String | +| Test.java:288:49:288:58 | key : String | semmle.label | key : String | +| Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | semmle.label | m [post update] : PatriciaTrie [] : String | +| Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | semmle.label | m [post update] : PatriciaTrie [] : String | +| Test.java:288:116:288:118 | key : String | semmle.label | key : String | +| Test.java:288:134:288:134 | m : PatriciaTrie [] : String | semmle.label | m : PatriciaTrie [] : String | +| Test.java:288:134:288:134 | m : PatriciaTrie [] : String | semmle.label | m : PatriciaTrie [] : String | +| Test.java:290:60:290:66 | value : String | semmle.label | value : String | +| Test.java:290:140:290:140 | m [post update] : ArrayListValuedHashMap [, ] : String | semmle.label | m [post update] : ArrayListValuedHashMap [, ] : String | +| Test.java:290:151:290:155 | value : String | semmle.label | value : String | +| Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | semmle.label | m : ArrayListValuedHashMap [, ] : String | +| Test.java:291:51:291:57 | value : String | semmle.label | value : String | +| Test.java:291:69:291:109 | new DefaultKeyValue(...) : DefaultKeyValue [] : String | semmle.label | new DefaultKeyValue(...) : DefaultKeyValue [] : String | +| Test.java:291:104:291:108 | value : String | semmle.label | value : String | +| Test.java:292:63:292:69 | value : String | semmle.label | value : String | +| Test.java:292:81:292:130 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | semmle.label | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | +| Test.java:292:111:292:129 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:292:124:292:128 | value : String | semmle.label | value : String | +| Test.java:293:51:293:57 | value : String | semmle.label | value : String | +| Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | semmle.label | m [post update] : HashedMap [] : String | +| Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | semmle.label | m [post update] : HashedMap [] : String | +| Test.java:293:116:293:120 | value : String | semmle.label | value : String | +| Test.java:293:131:293:131 | m : HashedMap [] : String | semmle.label | m : HashedMap [] : String | +| Test.java:293:131:293:131 | m : HashedMap [] : String | semmle.label | m : HashedMap [] : String | +| Test.java:294:58:294:64 | value : String | semmle.label | value : String | +| Test.java:294:134:294:134 | m [post update] : HashSetValuedHashMap [, ] : String | semmle.label | m [post update] : HashSetValuedHashMap [, ] : String | +| Test.java:294:145:294:149 | value : String | semmle.label | value : String | +| Test.java:294:160:294:160 | m : HashSetValuedHashMap [, ] : String | semmle.label | m : HashSetValuedHashMap [, ] : String | +| Test.java:295:51:295:57 | value : String | semmle.label | value : String | +| Test.java:295:69:295:112 | new LinkedMap(...) : LinkedMap [] : String | semmle.label | new LinkedMap(...) : LinkedMap [] : String | +| Test.java:295:93:295:111 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:295:106:295:110 | value : String | semmle.label | value : String | +| Test.java:296:61:296:67 | value : Object | semmle.label | value : Object | +| Test.java:296:61:296:67 | value : String | semmle.label | value : String | +| Test.java:296:79:296:138 | listOrderedMap(...) : ListOrderedMap [] : Object | semmle.label | listOrderedMap(...) : ListOrderedMap [] : Object | +| Test.java:296:79:296:138 | listOrderedMap(...) : ListOrderedMap [] : String | semmle.label | listOrderedMap(...) : ListOrderedMap [] : String | +| Test.java:296:119:296:137 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:296:119:296:137 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:296:132:296:136 | value : Object | semmle.label | value : Object | +| Test.java:296:132:296:136 | value : String | semmle.label | value : String | +| Test.java:297:47:297:53 | value : String | semmle.label | value : String | +| Test.java:297:105:297:105 | m [post update] : MultiKeyMap [] : String | semmle.label | m [post update] : MultiKeyMap [] : String | +| Test.java:297:121:297:125 | value : String | semmle.label | value : String | +| Test.java:297:136:297:136 | m : MultiKeyMap [] : String | semmle.label | m : MultiKeyMap [] : String | +| Test.java:298:49:298:55 | value : String | semmle.label | value : String | +| Test.java:298:111:298:111 | m [post update] : MultiValueMap [, ] : String | semmle.label | m [post update] : MultiValueMap [, ] : String | +| Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | semmle.label | m [post update] : MultiValueMap [] : String | +| Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | semmle.label | m [post update] : MultiValueMap [] : String | +| Test.java:298:122:298:126 | value : String | semmle.label | value : String | +| Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | semmle.label | m : MultiValueMap [, ] : String | +| Test.java:298:137:298:137 | m : MultiValueMap [] : String | semmle.label | m : MultiValueMap [] : String | +| Test.java:298:137:298:137 | m : MultiValueMap [] : String | semmle.label | m : MultiValueMap [] : String | +| Test.java:299:55:299:61 | value : String | semmle.label | value : String | +| Test.java:299:73:299:116 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | semmle.label | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | +| Test.java:299:111:299:115 | value : String | semmle.label | value : String | +| Test.java:300:55:300:61 | value : String | semmle.label | value : String | +| Test.java:300:73:300:116 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | semmle.label | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | +| Test.java:300:111:300:115 | value : String | semmle.label | value : String | +| Test.java:301:65:301:71 | value : String | semmle.label | value : String | +| Test.java:301:83:301:151 | new MyAbstractMapEntryDecorator(...) : MyAbstractMapEntryDecorator [] : String | semmle.label | new MyAbstractMapEntryDecorator(...) : MyAbstractMapEntryDecorator [] : String | +| Test.java:301:125:301:150 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | semmle.label | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | +| Test.java:301:145:301:149 | value : String | semmle.label | value : String | +| Test.java:302:54:302:60 | value : String | semmle.label | value : String | +| Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | semmle.label | m [post update] : LinkedMap [] : String | +| Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | semmle.label | m [post update] : LinkedMap [] : String | +| Test.java:302:119:302:123 | value : String | semmle.label | value : String | +| Test.java:302:134:302:134 | m : LinkedMap [] : String | semmle.label | m : LinkedMap [] : String | +| Test.java:302:134:302:134 | m : LinkedMap [] : String | semmle.label | m : LinkedMap [] : String | +| Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:304:49:304:55 | value : Map | semmle.label | value : Map | +| Test.java:304:49:304:55 | value : String | semmle.label | value : String | +| Test.java:304:101:304:101 | m [post update] : TreeMap [] : Map | semmle.label | m [post update] : TreeMap [] : Map | +| Test.java:304:101:304:101 | m [post update] : TreeMap [] : String | semmle.label | m [post update] : TreeMap [] : String | +| Test.java:304:112:304:116 | value : Map | semmle.label | value : Map | +| Test.java:304:112:304:116 | value : String | semmle.label | value : String | +| Test.java:304:127:304:127 | m : TreeMap [] : Map | semmle.label | m : TreeMap [] : Map | +| Test.java:304:127:304:127 | m : TreeMap [] : String | semmle.label | m : TreeMap [] : String | +| Test.java:305:48:305:54 | value : String | semmle.label | value : String | +| Test.java:305:66:305:127 | new TiedMapEntry(...) : TiedMapEntry [] : String | semmle.label | new TiedMapEntry(...) : TiedMapEntry [] : String | +| Test.java:305:93:305:121 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:305:116:305:120 | value : String | semmle.label | value : String | +| Test.java:306:77:306:83 | value : String | semmle.label | value : String | +| Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | semmle.label | m [post update] : TreeBidiMap [] : String | +| Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | semmle.label | m [post update] : TreeBidiMap [] : String | +| Test.java:306:146:306:150 | value : String | semmle.label | value : String | +| Test.java:306:161:306:161 | m : TreeBidiMap [] : String | semmle.label | m : TreeBidiMap [] : String | +| Test.java:306:161:306:161 | m : TreeBidiMap [] : String | semmle.label | m : TreeBidiMap [] : String | +| Test.java:307:50:307:56 | value : String | semmle.label | value : String | +| Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | semmle.label | m [post update] : PatriciaTrie [] : String | +| Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | semmle.label | m [post update] : PatriciaTrie [] : String | +| Test.java:307:114:307:118 | value : String | semmle.label | value : String | +| Test.java:307:129:307:129 | m : PatriciaTrie [] : String | semmle.label | m : PatriciaTrie [] : String | +| Test.java:307:129:307:129 | m : PatriciaTrie [] : String | semmle.label | m : PatriciaTrie [] : String | +| Test.java:308:56:308:62 | value : String | semmle.label | value : String | +| Test.java:308:74:308:119 | new UnmodifiableMapEntry(...) : UnmodifiableMapEntry [] : String | semmle.label | new UnmodifiableMapEntry(...) : UnmodifiableMapEntry [] : String | +| Test.java:308:114:308:118 | value : String | semmle.label | value : String | +| Test.java:318:16:318:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:319:10:319:41 | new MyAbstractKeyValue<>(...) : MyAbstractKeyValue [] : Object | semmle.label | new MyAbstractKeyValue<>(...) : MyAbstractKeyValue [] : Object | +| Test.java:319:33:319:34 | in : Object | semmle.label | in : Object | +| Test.java:320:9:320:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:320:19:320:21 | out : MyAbstractKeyValue [] : Object | semmle.label | out : MyAbstractKeyValue [] : Object | +| Test.java:325:16:325:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:326:10:326:41 | new MyAbstractKeyValue<>(...) : MyAbstractKeyValue [] : Object | semmle.label | new MyAbstractKeyValue<>(...) : MyAbstractKeyValue [] : Object | +| Test.java:326:39:326:40 | in : Object | semmle.label | in : Object | +| Test.java:327:9:327:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:327:21:327:23 | out : MyAbstractKeyValue [] : Object | semmle.label | out : MyAbstractKeyValue [] : Object | +| Test.java:332:16:332:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:333:4:333:6 | out [post update] : DefaultKeyValue [] : Object | semmle.label | out [post update] : DefaultKeyValue [] : Object | +| Test.java:333:15:333:16 | in : Object | semmle.label | in : Object | +| Test.java:334:9:334:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:334:19:334:21 | out : DefaultKeyValue [] : Object | semmle.label | out : DefaultKeyValue [] : Object | +| Test.java:339:16:339:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:340:4:340:6 | out [post update] : MyAbstractKeyValue [] : Object | semmle.label | out [post update] : MyAbstractKeyValue [] : Object | +| Test.java:340:17:340:18 | in : Object | semmle.label | in : Object | +| Test.java:341:9:341:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:341:19:341:21 | out : MyAbstractKeyValue [] : Object | semmle.label | out : MyAbstractKeyValue [] : Object | +| Test.java:346:25:346:58 | newDKVWithMapKey(...) : DefaultKeyValue [] : String | semmle.label | newDKVWithMapKey(...) : DefaultKeyValue [] : String | +| Test.java:346:42:346:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:346:50:346:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:347:10:347:11 | in : DefaultKeyValue [] : String | semmle.label | in : DefaultKeyValue [] : String | +| Test.java:347:10:347:24 | setKey(...) : String | semmle.label | setKey(...) : String | +| Test.java:348:9:348:11 | out | semmle.label | out | +| Test.java:353:28:353:62 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | semmle.label | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | +| Test.java:353:46:353:61 | (...)... : String | semmle.label | (...)... : String | +| Test.java:353:54:353:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:354:10:354:11 | in : MyAbstractKeyValue [] : String | semmle.label | in : MyAbstractKeyValue [] : String | +| Test.java:354:10:354:26 | mySetKey(...) : String | semmle.label | mySetKey(...) : String | +| Test.java:355:9:355:11 | out | semmle.label | out | +| Test.java:360:16:360:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:361:4:361:6 | out [post update] : UnmodifiableMapEntry [] : Object | semmle.label | out [post update] : UnmodifiableMapEntry [] : Object | +| Test.java:361:17:361:18 | in : Object | semmle.label | in : Object | +| Test.java:362:9:362:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:362:21:362:23 | out : UnmodifiableMapEntry [] : Object | semmle.label | out : UnmodifiableMapEntry [] : Object | +| Test.java:367:16:367:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:368:4:368:6 | out [post update] : DefaultKeyValue [] : Object | semmle.label | out [post update] : DefaultKeyValue [] : Object | +| Test.java:368:17:368:18 | in : Object | semmle.label | in : Object | +| Test.java:369:9:369:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:369:21:369:23 | out : DefaultKeyValue [] : Object | semmle.label | out : DefaultKeyValue [] : Object | +| Test.java:374:16:374:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:375:4:375:6 | out [post update] : AbstractMapEntry [] : Object | semmle.label | out [post update] : AbstractMapEntry [] : Object | +| Test.java:375:17:375:18 | in : Object | semmle.label | in : Object | +| Test.java:376:9:376:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:376:21:376:23 | out : AbstractMapEntry [] : Object | semmle.label | out : AbstractMapEntry [] : Object | +| Test.java:381:16:381:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:382:4:382:6 | out [post update] : MyAbstractKeyValue [] : Object | semmle.label | out [post update] : MyAbstractKeyValue [] : Object | +| Test.java:382:19:382:20 | in : Object | semmle.label | in : Object | +| Test.java:383:9:383:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:383:21:383:23 | out : MyAbstractKeyValue [] : Object | semmle.label | out : MyAbstractKeyValue [] : Object | +| Test.java:388:30:388:65 | newUMEWithMapValue(...) : UnmodifiableMapEntry [] : String | semmle.label | newUMEWithMapValue(...) : UnmodifiableMapEntry [] : String | +| Test.java:388:49:388:64 | (...)... : String | semmle.label | (...)... : String | +| Test.java:388:57:388:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:389:10:389:11 | in : UnmodifiableMapEntry [] : String | semmle.label | in : UnmodifiableMapEntry [] : String | +| Test.java:389:10:389:26 | setValue(...) : String | semmle.label | setValue(...) : String | +| Test.java:390:9:390:11 | out | semmle.label | out | +| Test.java:395:25:395:60 | newDKVWithMapValue(...) : DefaultKeyValue [] : String | semmle.label | newDKVWithMapValue(...) : DefaultKeyValue [] : String | +| Test.java:395:44:395:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:395:52:395:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:396:10:396:11 | in : DefaultKeyValue [] : String | semmle.label | in : DefaultKeyValue [] : String | +| Test.java:396:10:396:26 | setValue(...) : String | semmle.label | setValue(...) : String | +| Test.java:397:9:397:11 | out | semmle.label | out | +| Test.java:402:26:402:62 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | semmle.label | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | +| Test.java:402:46:402:61 | (...)... : String | semmle.label | (...)... : String | +| Test.java:402:54:402:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:403:10:403:11 | in : MyAbstractMapEntry [] : String | semmle.label | in : MyAbstractMapEntry [] : String | +| Test.java:403:10:403:26 | setValue(...) : String | semmle.label | setValue(...) : String | +| Test.java:404:9:404:11 | out | semmle.label | out | +| Test.java:409:26:409:62 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | semmle.label | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | +| Test.java:409:46:409:61 | (...)... : String | semmle.label | (...)... : String | +| Test.java:409:54:409:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:410:10:410:11 | in : MyAbstractMapEntry [] : String | semmle.label | in : MyAbstractMapEntry [] : String | +| Test.java:410:10:410:26 | setValue(...) : String | semmle.label | setValue(...) : String | +| Test.java:411:9:411:11 | out | semmle.label | out | +| Test.java:416:28:416:64 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | semmle.label | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:416:48:416:63 | (...)... : String | semmle.label | (...)... : String | +| Test.java:416:56:416:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:417:10:417:11 | in : MyAbstractKeyValue [] : String | semmle.label | in : MyAbstractKeyValue [] : String | +| Test.java:417:10:417:28 | mySetValue(...) : String | semmle.label | mySetValue(...) : String | +| Test.java:418:9:418:11 | out | semmle.label | out | +| Test.java:423:28:423:64 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | semmle.label | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:423:48:423:63 | (...)... : String | semmle.label | (...)... : String | +| Test.java:423:56:423:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:424:10:424:11 | in : MyAbstractKeyValue [] : String | semmle.label | in : MyAbstractKeyValue [] : String | +| Test.java:424:10:424:36 | mySetValue(...) : String | semmle.label | mySetValue(...) : String | +| Test.java:425:9:425:11 | out | semmle.label | out | +| Test.java:430:16:430:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:431:10:431:41 | new MyAbstractMapEntry<>(...) : MyAbstractMapEntry [] : Object | semmle.label | new MyAbstractMapEntry<>(...) : MyAbstractMapEntry [] : Object | +| Test.java:431:33:431:34 | in : Object | semmle.label | in : Object | +| Test.java:432:9:432:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:432:19:432:21 | out : MyAbstractMapEntry [] : Object | semmle.label | out : MyAbstractMapEntry [] : Object | +| Test.java:437:16:437:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:438:10:438:41 | new MyAbstractMapEntry<>(...) : MyAbstractMapEntry [] : Object | semmle.label | new MyAbstractMapEntry<>(...) : MyAbstractMapEntry [] : Object | +| Test.java:438:39:438:40 | in : Object | semmle.label | in : Object | +| Test.java:439:9:439:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:439:21:439:23 | out : MyAbstractMapEntry [] : Object | semmle.label | out : MyAbstractMapEntry [] : Object | +| Test.java:444:34:444:68 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | semmle.label | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | +| Test.java:444:52:444:67 | (...)... : String | semmle.label | (...)... : String | +| Test.java:444:60:444:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:445:10:445:44 | new MyAbstractMapEntryDecorator<>(...) : MyAbstractMapEntryDecorator [] : String | semmle.label | new MyAbstractMapEntryDecorator<>(...) : MyAbstractMapEntryDecorator [] : String | +| Test.java:445:42:445:43 | in : MyAbstractMapEntry [] : String | semmle.label | in : MyAbstractMapEntry [] : String | +| Test.java:446:9:446:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:446:19:446:21 | out : MyAbstractMapEntryDecorator [] : String | semmle.label | out : MyAbstractMapEntryDecorator [] : String | +| Test.java:451:34:451:70 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | semmle.label | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | +| Test.java:451:54:451:69 | (...)... : String | semmle.label | (...)... : String | +| Test.java:451:62:451:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:452:10:452:44 | new MyAbstractMapEntryDecorator<>(...) : MyAbstractMapEntryDecorator [] : String | semmle.label | new MyAbstractMapEntryDecorator<>(...) : MyAbstractMapEntryDecorator [] : String | +| Test.java:452:42:452:43 | in : MyAbstractMapEntry [] : String | semmle.label | in : MyAbstractMapEntry [] : String | +| Test.java:453:9:453:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:453:21:453:23 | out : MyAbstractMapEntryDecorator [] : String | semmle.label | out : MyAbstractMapEntryDecorator [] : String | +| Test.java:458:37:458:72 | newMAMEDWithMapKey(...) : MyAbstractMapEntryDecorator [] : String | semmle.label | newMAMEDWithMapKey(...) : MyAbstractMapEntryDecorator [] : String | +| Test.java:458:56:458:71 | (...)... : String | semmle.label | (...)... : String | +| Test.java:458:64:458:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:459:10:459:11 | in : MyAbstractMapEntryDecorator [] : String | semmle.label | in : MyAbstractMapEntryDecorator [] : String | +| Test.java:459:10:459:27 | myGetMapEntry(...) : Entry [] : String | semmle.label | myGetMapEntry(...) : Entry [] : String | +| Test.java:460:9:460:31 | getMapKeyFromEntry(...) | semmle.label | getMapKeyFromEntry(...) | +| Test.java:460:28:460:30 | out : Entry [] : String | semmle.label | out : Entry [] : String | +| Test.java:465:37:465:74 | newMAMEDWithMapValue(...) : MyAbstractMapEntryDecorator [] : String | semmle.label | newMAMEDWithMapValue(...) : MyAbstractMapEntryDecorator [] : String | +| Test.java:465:58:465:73 | (...)... : String | semmle.label | (...)... : String | +| Test.java:465:66:465:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:466:10:466:11 | in : MyAbstractMapEntryDecorator [] : String | semmle.label | in : MyAbstractMapEntryDecorator [] : String | +| Test.java:466:10:466:27 | myGetMapEntry(...) : Entry [] : String | semmle.label | myGetMapEntry(...) : Entry [] : String | +| Test.java:467:9:467:33 | getMapValueFromEntry(...) | semmle.label | getMapValueFromEntry(...) | +| Test.java:467:30:467:32 | out : Entry [] : String | semmle.label | out : Entry [] : String | +| Test.java:472:34:472:68 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | semmle.label | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | +| Test.java:472:52:472:67 | (...)... : String | semmle.label | (...)... : String | +| Test.java:472:60:472:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:473:10:473:32 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : String | semmle.label | new DefaultKeyValue<>(...) : DefaultKeyValue [] : String | +| Test.java:473:30:473:31 | in : MyAbstractMapEntry [] : String | semmle.label | in : MyAbstractMapEntry [] : String | +| Test.java:474:9:474:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:474:19:474:21 | out : DefaultKeyValue [] : String | semmle.label | out : DefaultKeyValue [] : String | +| Test.java:479:34:479:70 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | semmle.label | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | +| Test.java:479:54:479:69 | (...)... : String | semmle.label | (...)... : String | +| Test.java:479:62:479:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:480:10:480:32 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : String | semmle.label | new DefaultKeyValue<>(...) : DefaultKeyValue [] : String | +| Test.java:480:30:480:31 | in : MyAbstractMapEntry [] : String | semmle.label | in : MyAbstractMapEntry [] : String | +| Test.java:481:9:481:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:481:21:481:23 | out : DefaultKeyValue [] : String | semmle.label | out : DefaultKeyValue [] : String | +| Test.java:486:18:486:52 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | semmle.label | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | +| Test.java:486:36:486:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:486:44:486:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:487:10:487:32 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : String | semmle.label | new DefaultKeyValue<>(...) : DefaultKeyValue [] : String | +| Test.java:487:30:487:31 | in : MyAbstractKeyValue [] : String | semmle.label | in : MyAbstractKeyValue [] : String | +| Test.java:488:9:488:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:488:19:488:21 | out : DefaultKeyValue [] : String | semmle.label | out : DefaultKeyValue [] : String | +| Test.java:493:18:493:54 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | semmle.label | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:493:38:493:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:493:46:493:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:494:10:494:32 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : String | semmle.label | new DefaultKeyValue<>(...) : DefaultKeyValue [] : String | +| Test.java:494:30:494:31 | in : MyAbstractKeyValue [] : String | semmle.label | in : MyAbstractKeyValue [] : String | +| Test.java:495:9:495:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:495:21:495:23 | out : DefaultKeyValue [] : String | semmle.label | out : DefaultKeyValue [] : String | +| Test.java:500:16:500:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:501:10:501:38 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : Object | semmle.label | new DefaultKeyValue<>(...) : DefaultKeyValue [] : Object | +| Test.java:501:30:501:31 | in : Object | semmle.label | in : Object | +| Test.java:502:9:502:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:502:19:502:21 | out : DefaultKeyValue [] : Object | semmle.label | out : DefaultKeyValue [] : Object | +| Test.java:507:16:507:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:508:10:508:38 | new DefaultKeyValue<>(...) : DefaultKeyValue [] : Object | semmle.label | new DefaultKeyValue<>(...) : DefaultKeyValue [] : Object | +| Test.java:508:36:508:37 | in : Object | semmle.label | in : Object | +| Test.java:509:9:509:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:509:21:509:23 | out : DefaultKeyValue [] : Object | semmle.label | out : DefaultKeyValue [] : Object | +| Test.java:514:25:514:58 | newDKVWithMapKey(...) : DefaultKeyValue [] : String | semmle.label | newDKVWithMapKey(...) : DefaultKeyValue [] : String | +| Test.java:514:42:514:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:514:50:514:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:515:10:515:11 | in : DefaultKeyValue [] : String | semmle.label | in : DefaultKeyValue [] : String | +| Test.java:515:10:515:24 | toMapEntry(...) : Entry [] : String | semmle.label | toMapEntry(...) : Entry [] : String | +| Test.java:516:9:516:31 | getMapKeyFromEntry(...) | semmle.label | getMapKeyFromEntry(...) | +| Test.java:516:28:516:30 | out : Entry [] : String | semmle.label | out : Entry [] : String | +| Test.java:521:25:521:60 | newDKVWithMapValue(...) : DefaultKeyValue [] : String | semmle.label | newDKVWithMapValue(...) : DefaultKeyValue [] : String | +| Test.java:521:44:521:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:521:52:521:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:522:10:522:11 | in : DefaultKeyValue [] : String | semmle.label | in : DefaultKeyValue [] : String | +| Test.java:522:10:522:24 | toMapEntry(...) : Entry [] : String | semmle.label | toMapEntry(...) : Entry [] : String | +| Test.java:523:9:523:33 | getMapValueFromEntry(...) | semmle.label | getMapValueFromEntry(...) | +| Test.java:523:30:523:32 | out : Entry [] : String | semmle.label | out : Entry [] : String | +| Test.java:528:34:528:68 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | semmle.label | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | +| Test.java:528:52:528:67 | (...)... : String | semmle.label | (...)... : String | +| Test.java:528:60:528:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:529:10:529:32 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : String | semmle.label | new DefaultMapEntry<>(...) : DefaultMapEntry [] : String | +| Test.java:529:30:529:31 | in : MyAbstractMapEntry [] : String | semmle.label | in : MyAbstractMapEntry [] : String | +| Test.java:530:9:530:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:530:19:530:21 | out : DefaultMapEntry [] : String | semmle.label | out : DefaultMapEntry [] : String | +| Test.java:535:34:535:70 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | semmle.label | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | +| Test.java:535:54:535:69 | (...)... : String | semmle.label | (...)... : String | +| Test.java:535:62:535:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:536:10:536:32 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : String | semmle.label | new DefaultMapEntry<>(...) : DefaultMapEntry [] : String | +| Test.java:536:30:536:31 | in : MyAbstractMapEntry [] : String | semmle.label | in : MyAbstractMapEntry [] : String | +| Test.java:537:9:537:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:537:21:537:23 | out : DefaultMapEntry [] : String | semmle.label | out : DefaultMapEntry [] : String | +| Test.java:542:18:542:52 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | semmle.label | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | +| Test.java:542:36:542:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:542:44:542:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:543:10:543:32 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : String | semmle.label | new DefaultMapEntry<>(...) : DefaultMapEntry [] : String | +| Test.java:543:30:543:31 | in : MyAbstractKeyValue [] : String | semmle.label | in : MyAbstractKeyValue [] : String | +| Test.java:544:9:544:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:544:19:544:21 | out : DefaultMapEntry [] : String | semmle.label | out : DefaultMapEntry [] : String | +| Test.java:549:18:549:54 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | semmle.label | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:549:38:549:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:549:46:549:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:550:10:550:32 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : String | semmle.label | new DefaultMapEntry<>(...) : DefaultMapEntry [] : String | +| Test.java:550:30:550:31 | in : MyAbstractKeyValue [] : String | semmle.label | in : MyAbstractKeyValue [] : String | +| Test.java:551:9:551:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:551:21:551:23 | out : DefaultMapEntry [] : String | semmle.label | out : DefaultMapEntry [] : String | +| Test.java:556:16:556:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:557:10:557:38 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : Object | semmle.label | new DefaultMapEntry<>(...) : DefaultMapEntry [] : Object | +| Test.java:557:30:557:31 | in : Object | semmle.label | in : Object | +| Test.java:558:9:558:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:558:19:558:21 | out : DefaultMapEntry [] : Object | semmle.label | out : DefaultMapEntry [] : Object | +| Test.java:563:16:563:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:564:10:564:38 | new DefaultMapEntry<>(...) : DefaultMapEntry [] : Object | semmle.label | new DefaultMapEntry<>(...) : DefaultMapEntry [] : Object | +| Test.java:564:36:564:37 | in : Object | semmle.label | in : Object | +| Test.java:565:9:565:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:565:21:565:23 | out : DefaultMapEntry [] : Object | semmle.label | out : DefaultMapEntry [] : Object | +| Test.java:570:16:570:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:571:10:571:35 | new TiedMapEntry<>(...) : TiedMapEntry [] : Object | semmle.label | new TiedMapEntry<>(...) : TiedMapEntry [] : Object | +| Test.java:571:33:571:34 | in : Object | semmle.label | in : Object | +| Test.java:572:9:572:31 | getMapKeyFromEntry(...) | semmle.label | getMapKeyFromEntry(...) | +| Test.java:572:28:572:30 | out : TiedMapEntry [] : Object | semmle.label | out : TiedMapEntry [] : Object | +| Test.java:577:13:577:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:577:36:577:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:577:44:577:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:578:10:578:35 | new TiedMapEntry<>(...) : TiedMapEntry [] : String | semmle.label | new TiedMapEntry<>(...) : TiedMapEntry [] : String | +| Test.java:578:27:578:28 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:579:9:579:33 | getMapValueFromEntry(...) | semmle.label | getMapValueFromEntry(...) | +| Test.java:579:30:579:32 | out : TiedMapEntry [] : String | semmle.label | out : TiedMapEntry [] : String | +| Test.java:584:34:584:68 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | semmle.label | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | +| Test.java:584:52:584:67 | (...)... : String | semmle.label | (...)... : String | +| Test.java:584:60:584:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:585:10:585:37 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : String | semmle.label | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : String | +| Test.java:585:35:585:36 | in : MyAbstractMapEntry [] : String | semmle.label | in : MyAbstractMapEntry [] : String | +| Test.java:586:9:586:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:586:19:586:21 | out : UnmodifiableMapEntry [] : String | semmle.label | out : UnmodifiableMapEntry [] : String | +| Test.java:591:34:591:70 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | semmle.label | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | +| Test.java:591:54:591:69 | (...)... : String | semmle.label | (...)... : String | +| Test.java:591:62:591:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:592:10:592:37 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : String | semmle.label | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : String | +| Test.java:592:35:592:36 | in : MyAbstractMapEntry [] : String | semmle.label | in : MyAbstractMapEntry [] : String | +| Test.java:593:9:593:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:593:21:593:23 | out : UnmodifiableMapEntry [] : String | semmle.label | out : UnmodifiableMapEntry [] : String | +| Test.java:598:18:598:52 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | semmle.label | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | +| Test.java:598:36:598:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:598:44:598:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:599:10:599:37 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : String | semmle.label | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : String | +| Test.java:599:35:599:36 | in : MyAbstractKeyValue [] : String | semmle.label | in : MyAbstractKeyValue [] : String | +| Test.java:600:9:600:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:600:19:600:21 | out : UnmodifiableMapEntry [] : String | semmle.label | out : UnmodifiableMapEntry [] : String | +| Test.java:605:18:605:54 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | semmle.label | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:605:38:605:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:605:46:605:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:606:10:606:37 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : String | semmle.label | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : String | +| Test.java:606:35:606:36 | in : MyAbstractKeyValue [] : String | semmle.label | in : MyAbstractKeyValue [] : String | +| Test.java:607:9:607:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:607:21:607:23 | out : UnmodifiableMapEntry [] : String | semmle.label | out : UnmodifiableMapEntry [] : String | +| Test.java:612:16:612:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:613:10:613:43 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : Object | semmle.label | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : Object | +| Test.java:613:35:613:36 | in : Object | semmle.label | in : Object | +| Test.java:614:9:614:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:614:19:614:21 | out : UnmodifiableMapEntry [] : Object | semmle.label | out : UnmodifiableMapEntry [] : Object | +| Test.java:619:16:619:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:620:10:620:43 | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : Object | semmle.label | new UnmodifiableMapEntry<>(...) : UnmodifiableMapEntry [] : Object | +| Test.java:620:41:620:42 | in : Object | semmle.label | in : Object | +| Test.java:621:9:621:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:621:21:621:23 | out : UnmodifiableMapEntry [] : Object | semmle.label | out : UnmodifiableMapEntry [] : Object | +| Test.java:626:22:626:55 | newTMEWithMapKey(...) : TiedMapEntry [] : String | semmle.label | newTMEWithMapKey(...) : TiedMapEntry [] : String | +| Test.java:626:39:626:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:626:47:626:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:627:10:627:11 | in : TiedMapEntry [] : String | semmle.label | in : TiedMapEntry [] : String | +| Test.java:627:10:627:20 | getKey(...) : String | semmle.label | getKey(...) : String | +| Test.java:628:9:628:11 | out | semmle.label | out | +| Test.java:633:18:633:52 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | semmle.label | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | +| Test.java:633:36:633:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:633:44:633:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:634:10:634:11 | in : MyAbstractKeyValue [] : String | semmle.label | in : MyAbstractKeyValue [] : String | +| Test.java:634:10:634:20 | getKey(...) : String | semmle.label | getKey(...) : String | +| Test.java:635:9:635:11 | out | semmle.label | out | +| Test.java:640:35:640:70 | newMAMEDWithMapKey(...) : MyAbstractMapEntryDecorator [] : String | semmle.label | newMAMEDWithMapKey(...) : MyAbstractMapEntryDecorator [] : String | +| Test.java:640:54:640:69 | (...)... : String | semmle.label | (...)... : String | +| Test.java:640:62:640:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:641:10:641:11 | in : MyAbstractMapEntryDecorator [] : String | semmle.label | in : MyAbstractMapEntryDecorator [] : String | +| Test.java:641:10:641:20 | getKey(...) : String | semmle.label | getKey(...) : String | +| Test.java:642:9:642:11 | out | semmle.label | out | +| Test.java:647:26:647:60 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | semmle.label | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | +| Test.java:647:44:647:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:647:52:647:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:648:10:648:11 | in : MyAbstractKeyValue [] : String | semmle.label | in : MyAbstractKeyValue [] : String | +| Test.java:648:10:648:20 | getKey(...) : String | semmle.label | getKey(...) : String | +| Test.java:649:9:649:11 | out | semmle.label | out | +| Test.java:654:22:654:57 | newTMEWithMapValue(...) : TiedMapEntry [] : String | semmle.label | newTMEWithMapValue(...) : TiedMapEntry [] : String | +| Test.java:654:41:654:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:654:49:654:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:655:10:655:11 | in : TiedMapEntry [] : String | semmle.label | in : TiedMapEntry [] : String | +| Test.java:655:10:655:22 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:656:9:656:11 | out | semmle.label | out | +| Test.java:661:18:661:54 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | semmle.label | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:661:38:661:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:661:46:661:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:662:10:662:11 | in : MyAbstractKeyValue [] : String | semmle.label | in : MyAbstractKeyValue [] : String | +| Test.java:662:10:662:22 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:663:9:663:11 | out | semmle.label | out | +| Test.java:668:35:668:72 | newMAMEDWithMapValue(...) : MyAbstractMapEntryDecorator [] : String | semmle.label | newMAMEDWithMapValue(...) : MyAbstractMapEntryDecorator [] : String | +| Test.java:668:56:668:71 | (...)... : String | semmle.label | (...)... : String | +| Test.java:668:64:668:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:669:10:669:11 | in : MyAbstractMapEntryDecorator [] : String | semmle.label | in : MyAbstractMapEntryDecorator [] : String | +| Test.java:669:10:669:22 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:670:9:670:11 | out | semmle.label | out | +| Test.java:675:26:675:62 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | semmle.label | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:675:46:675:61 | (...)... : String | semmle.label | (...)... : String | +| Test.java:675:54:675:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:676:10:676:11 | in : MyAbstractKeyValue [] : String | semmle.label | in : MyAbstractKeyValue [] : String | +| Test.java:676:10:676:22 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:677:9:677:11 | out | semmle.label | out | +| Test.java:682:13:682:25 | (...)... : Map | semmle.label | (...)... : Map | +| Test.java:682:18:682:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:683:10:683:33 | emptyIfNull(...) : Map | semmle.label | emptyIfNull(...) : Map | +| Test.java:683:31:683:32 | in : Map | semmle.label | in : Map | +| Test.java:684:9:684:11 | out | semmle.label | out | +| Test.java:689:13:689:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:689:34:689:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:689:42:689:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:690:10:690:34 | fixedSizeMap(...) : IterableMap [] : String | semmle.label | fixedSizeMap(...) : IterableMap [] : String | +| Test.java:690:32:690:33 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:691:9:691:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:691:19:691:21 | out : IterableMap [] : String | semmle.label | out : IterableMap [] : String | +| Test.java:696:13:696:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:696:36:696:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:696:44:696:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:697:10:697:34 | fixedSizeMap(...) : IterableMap [] : String | semmle.label | fixedSizeMap(...) : IterableMap [] : String | +| Test.java:697:32:697:33 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:698:9:698:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:698:21:698:23 | out : IterableMap [] : String | semmle.label | out : IterableMap [] : String | +| Test.java:703:19:703:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:703:40:703:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:703:48:703:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:704:10:704:40 | fixedSizeSortedMap(...) : SortedMap [] : String | semmle.label | fixedSizeSortedMap(...) : SortedMap [] : String | +| Test.java:704:38:704:39 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:705:9:705:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:705:19:705:21 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:710:19:710:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:710:42:710:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:710:50:710:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:711:10:711:40 | fixedSizeSortedMap(...) : SortedMap [] : String | semmle.label | fixedSizeSortedMap(...) : SortedMap [] : String | +| Test.java:711:38:711:39 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:712:9:712:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:712:21:712:23 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:717:13:717:25 | (...)... : Map | semmle.label | (...)... : Map | +| Test.java:717:18:717:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:718:10:718:40 | getMap(...) : Map | semmle.label | getMap(...) : Map | +| Test.java:718:38:718:39 | in : Map | semmle.label | in : Map | +| Test.java:719:9:719:11 | out | semmle.label | out | +| Test.java:724:13:724:49 | newTreeMapWithMapValue(...) : TreeMap [] : Map | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : Map | +| Test.java:724:36:724:48 | (...)... : Map | semmle.label | (...)... : Map | +| Test.java:724:41:724:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:725:10:725:40 | getMap(...) : Map | semmle.label | getMap(...) : Map | +| Test.java:725:26:725:27 | in : TreeMap [] : Map | semmle.label | in : TreeMap [] : Map | +| Test.java:726:9:726:11 | out | semmle.label | out | +| Test.java:731:13:731:49 | newTreeMapWithMapValue(...) : TreeMap [] : Map | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : Map | +| Test.java:731:36:731:48 | (...)... : Map | semmle.label | (...)... : Map | +| Test.java:731:41:731:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:732:10:732:34 | getMap(...) : Map | semmle.label | getMap(...) : Map | +| Test.java:732:26:732:27 | in : TreeMap [] : Map | semmle.label | in : TreeMap [] : Map | +| Test.java:733:9:733:11 | out | semmle.label | out | +| Test.java:738:16:738:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:739:10:739:43 | getObject(...) : Object | semmle.label | getObject(...) : Object | +| Test.java:739:41:739:42 | in : Object | semmle.label | in : Object | +| Test.java:740:9:740:11 | out | semmle.label | out | +| Test.java:745:13:745:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:745:36:745:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:745:44:745:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:746:10:746:43 | getObject(...) : String | semmle.label | getObject(...) : String | +| Test.java:746:29:746:30 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:747:9:747:11 | out | semmle.label | out | +| Test.java:752:13:752:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:752:36:752:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:752:44:752:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:753:10:753:37 | getObject(...) : String | semmle.label | getObject(...) : String | +| Test.java:753:29:753:30 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:754:9:754:11 | out | semmle.label | out | +| Test.java:759:16:759:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:759:24:759:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:760:10:760:43 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:760:41:760:42 | in : String | semmle.label | in : String | +| Test.java:761:9:761:11 | out | semmle.label | out | +| Test.java:766:13:766:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:766:36:766:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:766:44:766:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:767:10:767:43 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:767:29:767:30 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:768:9:768:11 | out | semmle.label | out | +| Test.java:773:13:773:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:773:36:773:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:773:44:773:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:774:10:774:37 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:774:29:774:30 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:775:9:775:11 | out | semmle.label | out | +| Test.java:780:13:780:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:780:34:780:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:780:42:780:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:781:10:781:31 | invertMap(...) : Map [] : String | semmle.label | invertMap(...) : Map [] : String | +| Test.java:781:29:781:30 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:782:9:782:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:782:21:782:23 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:787:13:787:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:787:36:787:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:787:44:787:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:788:10:788:31 | invertMap(...) : Map [] : String | semmle.label | invertMap(...) : Map [] : String | +| Test.java:788:29:788:30 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:789:9:789:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:789:19:789:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:794:13:794:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:794:34:794:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:794:42:794:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:795:10:795:33 | iterableMap(...) : IterableMap [] : String | semmle.label | iterableMap(...) : IterableMap [] : String | +| Test.java:795:31:795:32 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:796:9:796:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:796:19:796:21 | out : IterableMap [] : String | semmle.label | out : IterableMap [] : String | +| Test.java:801:13:801:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:801:36:801:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:801:44:801:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:802:10:802:33 | iterableMap(...) : IterableMap [] : String | semmle.label | iterableMap(...) : IterableMap [] : String | +| Test.java:802:31:802:32 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:803:9:803:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:803:21:803:23 | out : IterableMap [] : String | semmle.label | out : IterableMap [] : String | +| Test.java:808:19:808:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:808:40:808:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:808:48:808:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:809:10:809:39 | iterableSortedMap(...) : IterableSortedMap [] : String | semmle.label | iterableSortedMap(...) : IterableSortedMap [] : String | +| Test.java:809:37:809:38 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:810:9:810:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:810:19:810:21 | out : IterableSortedMap [] : String | semmle.label | out : IterableSortedMap [] : String | +| Test.java:815:19:815:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:815:42:815:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:815:50:815:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:816:10:816:39 | iterableSortedMap(...) : IterableSortedMap [] : String | semmle.label | iterableSortedMap(...) : IterableSortedMap [] : String | +| Test.java:816:37:816:38 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:817:9:817:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:817:21:817:23 | out : IterableSortedMap [] : String | semmle.label | out : IterableSortedMap [] : String | +| Test.java:822:13:822:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:822:34:822:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:822:42:822:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:823:10:823:48 | lazyMap(...) : IterableMap [] : String | semmle.label | lazyMap(...) : IterableMap [] : String | +| Test.java:823:27:823:28 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:824:9:824:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:824:19:824:21 | out : IterableMap [] : String | semmle.label | out : IterableMap [] : String | +| Test.java:829:13:829:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:829:34:829:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:829:42:829:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:830:10:830:44 | lazyMap(...) : IterableMap [] : String | semmle.label | lazyMap(...) : IterableMap [] : String | +| Test.java:830:27:830:28 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:831:9:831:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:831:19:831:21 | out : IterableMap [] : String | semmle.label | out : IterableMap [] : String | +| Test.java:836:13:836:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:836:36:836:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:836:44:836:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:837:10:837:48 | lazyMap(...) : IterableMap [] : String | semmle.label | lazyMap(...) : IterableMap [] : String | +| Test.java:837:27:837:28 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:838:9:838:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:838:21:838:23 | out : IterableMap [] : String | semmle.label | out : IterableMap [] : String | +| Test.java:843:13:843:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:843:36:843:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:843:44:843:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:844:10:844:44 | lazyMap(...) : IterableMap [] : String | semmle.label | lazyMap(...) : IterableMap [] : String | +| Test.java:844:27:844:28 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:845:9:845:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:845:21:845:23 | out : IterableMap [] : String | semmle.label | out : IterableMap [] : String | +| Test.java:850:19:850:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:850:40:850:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:850:48:850:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:851:10:851:54 | lazySortedMap(...) : SortedMap [] : String | semmle.label | lazySortedMap(...) : SortedMap [] : String | +| Test.java:851:33:851:34 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:852:9:852:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:852:19:852:21 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:857:19:857:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:857:40:857:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:857:48:857:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:858:10:858:50 | lazySortedMap(...) : SortedMap [] : String | semmle.label | lazySortedMap(...) : SortedMap [] : String | +| Test.java:858:33:858:34 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:859:9:859:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:859:19:859:21 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:864:19:864:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:864:42:864:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:864:50:864:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:865:10:865:54 | lazySortedMap(...) : SortedMap [] : String | semmle.label | lazySortedMap(...) : SortedMap [] : String | +| Test.java:865:33:865:34 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:866:9:866:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:866:21:866:23 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:871:19:871:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:871:42:871:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:871:50:871:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:872:10:872:50 | lazySortedMap(...) : SortedMap [] : String | semmle.label | lazySortedMap(...) : SortedMap [] : String | +| Test.java:872:33:872:34 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:873:9:873:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:873:21:873:23 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:878:13:878:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:878:34:878:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:878:42:878:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:879:10:879:50 | multiValueMap(...) : MultiValueMap [] : String | semmle.label | multiValueMap(...) : MultiValueMap [] : String | +| Test.java:879:33:879:34 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:880:9:880:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:880:19:880:21 | out : MultiValueMap [] : String | semmle.label | out : MultiValueMap [] : String | +| Test.java:885:13:885:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:885:34:885:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:885:42:885:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:886:10:886:48 | multiValueMap(...) : MultiValueMap [] : String | semmle.label | multiValueMap(...) : MultiValueMap [] : String | +| Test.java:886:33:886:34 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:887:9:887:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:887:19:887:21 | out : MultiValueMap [] : String | semmle.label | out : MultiValueMap [] : String | +| Test.java:892:13:892:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:892:34:892:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:892:42:892:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:893:10:893:35 | multiValueMap(...) : MultiValueMap [] : String | semmle.label | multiValueMap(...) : MultiValueMap [] : String | +| Test.java:893:33:893:34 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:894:9:894:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:894:19:894:21 | out : MultiValueMap [] : String | semmle.label | out : MultiValueMap [] : String | +| Test.java:899:13:899:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:899:36:899:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:899:44:899:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:900:10:900:50 | multiValueMap(...) : MultiValueMap [] : String | semmle.label | multiValueMap(...) : MultiValueMap [] : String | +| Test.java:900:33:900:34 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:901:9:901:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:901:21:901:23 | out : MultiValueMap [] : String | semmle.label | out : MultiValueMap [] : String | +| Test.java:906:13:906:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:906:36:906:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:906:44:906:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:907:10:907:48 | multiValueMap(...) : MultiValueMap [] : String | semmle.label | multiValueMap(...) : MultiValueMap [] : String | +| Test.java:907:33:907:34 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:908:9:908:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:908:21:908:23 | out : MultiValueMap [] : String | semmle.label | out : MultiValueMap [] : String | +| Test.java:913:13:913:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:913:36:913:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:913:44:913:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:914:10:914:35 | multiValueMap(...) : MultiValueMap [] : String | semmle.label | multiValueMap(...) : MultiValueMap [] : String | +| Test.java:914:33:914:34 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:915:9:915:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:915:21:915:23 | out : MultiValueMap [] : String | semmle.label | out : MultiValueMap [] : String | +| Test.java:920:13:920:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:920:34:920:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:920:42:920:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:921:10:921:32 | orderedMap(...) : OrderedMap [] : String | semmle.label | orderedMap(...) : OrderedMap [] : String | +| Test.java:921:30:921:31 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:922:9:922:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:922:19:922:21 | out : OrderedMap [] : String | semmle.label | out : OrderedMap [] : String | +| Test.java:927:13:927:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:927:36:927:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:927:44:927:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:928:10:928:32 | orderedMap(...) : OrderedMap [] : String | semmle.label | orderedMap(...) : OrderedMap [] : String | +| Test.java:928:30:928:31 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:929:9:929:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:929:21:929:23 | out : OrderedMap [] : String | semmle.label | out : OrderedMap [] : String | +| Test.java:934:18:934:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:934:39:934:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:934:47:934:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:935:25:935:27 | out [post update] : Map [] : String | semmle.label | out [post update] : Map [] : String | +| Test.java:935:30:935:31 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:936:9:936:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:936:21:936:23 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:943:26:943:63 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:943:47:943:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:943:55:943:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:944:25:944:27 | out [post update] : MultiMap [, ] : String | semmle.label | out [post update] : MultiMap [, ] : String | +| Test.java:944:30:944:31 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:945:9:945:48 | getElement(...) | semmle.label | getElement(...) | +| Test.java:945:20:945:47 | (...)... : Collection [] : String | semmle.label | (...)... : Collection [] : String | +| Test.java:945:32:945:47 | getMapValue(...) : Object [] : String | semmle.label | getMapValue(...) : Object [] : String | +| Test.java:945:44:945:46 | out : MultiMap [, ] : String | semmle.label | out : MultiMap [, ] : String | +| Test.java:950:13:950:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:950:34:950:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:950:42:950:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:951:10:951:47 | predicatedMap(...) : IterableMap [] : String | semmle.label | predicatedMap(...) : IterableMap [] : String | +| Test.java:951:33:951:34 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:952:9:952:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:952:19:952:21 | out : IterableMap [] : String | semmle.label | out : IterableMap [] : String | +| Test.java:957:13:957:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:957:36:957:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:957:44:957:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:958:10:958:47 | predicatedMap(...) : IterableMap [] : String | semmle.label | predicatedMap(...) : IterableMap [] : String | +| Test.java:958:33:958:34 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:959:9:959:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:959:21:959:23 | out : IterableMap [] : String | semmle.label | out : IterableMap [] : String | +| Test.java:964:19:964:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:964:40:964:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:964:48:964:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:965:10:965:53 | predicatedSortedMap(...) : SortedMap [] : String | semmle.label | predicatedSortedMap(...) : SortedMap [] : String | +| Test.java:965:39:965:40 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:966:9:966:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:966:19:966:21 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:971:19:971:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:971:42:971:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:971:50:971:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:972:10:972:53 | predicatedSortedMap(...) : SortedMap [] : String | semmle.label | predicatedSortedMap(...) : SortedMap [] : String | +| Test.java:972:39:972:40 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:973:9:973:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:973:21:973:23 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:978:18:978:54 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:978:38:978:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:978:46:978:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:979:20:979:22 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| Test.java:979:20:979:22 | out [post update] : Map [] : String | semmle.label | out [post update] : Map [] : String | +| Test.java:979:25:979:26 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:980:9:980:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:980:19:980:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:980:19:980:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:985:18:985:54 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:985:38:985:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:985:46:985:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:986:10:986:34 | putAll(...) : Map [] : Object | semmle.label | putAll(...) : Map [] : Object | +| Test.java:986:10:986:34 | putAll(...) : Map [] : String | semmle.label | putAll(...) : Map [] : String | +| Test.java:986:32:986:33 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:987:9:987:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:987:19:987:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:987:19:987:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:992:18:992:54 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:992:38:992:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:992:46:992:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:993:20:993:22 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| Test.java:993:20:993:22 | out [post update] : Map [] : String | semmle.label | out [post update] : Map [] : String | +| Test.java:993:25:993:26 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:994:9:994:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:994:21:994:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:994:21:994:23 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:999:18:999:54 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:999:38:999:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:999:46:999:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1000:10:1000:34 | putAll(...) : Map [] : Object | semmle.label | putAll(...) : Map [] : Object | +| Test.java:1000:10:1000:34 | putAll(...) : Map [] : String | semmle.label | putAll(...) : Map [] : String | +| Test.java:1000:32:1000:33 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:1001:9:1001:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1001:21:1001:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:1001:21:1001:23 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:1006:18:1006:75 | newWithArrayElement(...) : Object[] [[], []] : String | semmle.label | newWithArrayElement(...) : Object[] [[], []] : String | +| Test.java:1006:38:1006:74 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:1006:58:1006:73 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1006:66:1006:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1007:20:1007:22 | out [post update] : Map [] : String | semmle.label | out [post update] : Map [] : String | +| Test.java:1007:25:1007:26 | in : Object[] [[], []] : String | semmle.label | in : Object[] [[], []] : String | +| Test.java:1008:9:1008:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1008:19:1008:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:1013:18:1013:75 | newWithArrayElement(...) : Object[] [[], []] : String | semmle.label | newWithArrayElement(...) : Object[] [[], []] : String | +| Test.java:1013:38:1013:74 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:1013:58:1013:73 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1013:66:1013:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1014:10:1014:34 | putAll(...) : Map [] : String | semmle.label | putAll(...) : Map [] : String | +| Test.java:1014:32:1014:33 | in : Object[] [[], []] : String | semmle.label | in : Object[] [[], []] : String | +| Test.java:1015:9:1015:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1015:19:1015:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:1020:18:1020:75 | newWithArrayElement(...) : Object[] [[], []] : String | semmle.label | newWithArrayElement(...) : Object[] [[], []] : String | +| Test.java:1020:38:1020:74 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:1020:58:1020:73 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1020:66:1020:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1021:20:1021:22 | out [post update] : Map [] : String | semmle.label | out [post update] : Map [] : String | +| Test.java:1021:25:1021:26 | in : Object[] [[], []] : String | semmle.label | in : Object[] [[], []] : String | +| Test.java:1022:9:1022:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1022:21:1022:23 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:1027:18:1027:75 | newWithArrayElement(...) : Object[] [[], []] : String | semmle.label | newWithArrayElement(...) : Object[] [[], []] : String | +| Test.java:1027:38:1027:74 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:1027:58:1027:73 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1027:66:1027:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1028:10:1028:34 | putAll(...) : Map [] : String | semmle.label | putAll(...) : Map [] : String | +| Test.java:1028:32:1028:33 | in : Object[] [[], []] : String | semmle.label | in : Object[] [[], []] : String | +| Test.java:1029:9:1029:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1029:21:1029:23 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:1034:18:1034:73 | newWithArrayElement(...) : Object[] [[], ] : String | semmle.label | newWithArrayElement(...) : Object[] [[], ] : String | +| Test.java:1034:38:1034:72 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | semmle.label | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | +| Test.java:1034:56:1034:71 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1034:64:1034:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1035:20:1035:22 | out [post update] : Map [] : String | semmle.label | out [post update] : Map [] : String | +| Test.java:1035:25:1035:26 | in : Object[] [[], ] : String | semmle.label | in : Object[] [[], ] : String | +| Test.java:1036:9:1036:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1036:19:1036:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:1041:18:1041:73 | newWithArrayElement(...) : Object[] [[], ] : String | semmle.label | newWithArrayElement(...) : Object[] [[], ] : String | +| Test.java:1041:38:1041:72 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | semmle.label | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | +| Test.java:1041:56:1041:71 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1041:64:1041:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1042:10:1042:34 | putAll(...) : Map [] : String | semmle.label | putAll(...) : Map [] : String | +| Test.java:1042:32:1042:33 | in : Object[] [[], ] : String | semmle.label | in : Object[] [[], ] : String | +| Test.java:1043:9:1043:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1043:19:1043:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:1048:18:1048:75 | newWithArrayElement(...) : Object[] [[], ] : String | semmle.label | newWithArrayElement(...) : Object[] [[], ] : String | +| Test.java:1048:38:1048:74 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | semmle.label | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:1048:58:1048:73 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1048:66:1048:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1049:20:1049:22 | out [post update] : Map [] : String | semmle.label | out [post update] : Map [] : String | +| Test.java:1049:25:1049:26 | in : Object[] [[], ] : String | semmle.label | in : Object[] [[], ] : String | +| Test.java:1050:9:1050:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1050:21:1050:23 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:1055:18:1055:75 | newWithArrayElement(...) : Object[] [[], ] : String | semmle.label | newWithArrayElement(...) : Object[] [[], ] : String | +| Test.java:1055:38:1055:74 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | semmle.label | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:1055:58:1055:73 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1055:66:1055:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1056:10:1056:34 | putAll(...) : Map [] : String | semmle.label | putAll(...) : Map [] : String | +| Test.java:1056:32:1056:33 | in : Object[] [[], ] : String | semmle.label | in : Object[] [[], ] : String | +| Test.java:1057:9:1057:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1057:21:1057:23 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:1062:16:1062:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1063:26:1063:28 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| Test.java:1063:31:1063:32 | in : Object | semmle.label | in : Object | +| Test.java:1064:9:1064:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1064:19:1064:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:1069:16:1069:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1070:26:1070:28 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| Test.java:1070:37:1070:38 | in : Object | semmle.label | in : Object | +| Test.java:1071:9:1071:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1071:21:1071:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:1076:13:1076:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:1076:34:1076:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1076:42:1076:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1077:10:1077:37 | synchronizedMap(...) : Map [] : String | semmle.label | synchronizedMap(...) : Map [] : String | +| Test.java:1077:35:1077:36 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:1078:9:1078:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1078:19:1078:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:1083:13:1083:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:1083:36:1083:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1083:44:1083:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1084:10:1084:37 | synchronizedMap(...) : Map [] : String | semmle.label | synchronizedMap(...) : Map [] : String | +| Test.java:1084:35:1084:36 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:1085:9:1085:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1085:21:1085:23 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:1090:19:1090:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:1090:40:1090:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1090:48:1090:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1091:10:1091:43 | synchronizedSortedMap(...) : SortedMap [] : String | semmle.label | synchronizedSortedMap(...) : SortedMap [] : String | +| Test.java:1091:41:1091:42 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:1092:9:1092:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1092:19:1092:21 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:1097:19:1097:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:1097:42:1097:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1097:50:1097:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1098:10:1098:43 | synchronizedSortedMap(...) : SortedMap [] : String | semmle.label | synchronizedSortedMap(...) : SortedMap [] : String | +| Test.java:1098:41:1098:42 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:1099:9:1099:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1099:21:1099:23 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:1104:24:1104:56 | newRBWithMapKey(...) : ResourceBundle [] : String | semmle.label | newRBWithMapKey(...) : ResourceBundle [] : String | +| Test.java:1104:40:1104:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1104:48:1104:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1105:10:1105:27 | toMap(...) : Map [] : String | semmle.label | toMap(...) : Map [] : String | +| Test.java:1105:25:1105:26 | in : ResourceBundle [] : String | semmle.label | in : ResourceBundle [] : String | +| Test.java:1106:9:1106:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1106:19:1106:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:1111:24:1111:58 | newRBWithMapValue(...) : ResourceBundle [] : String | semmle.label | newRBWithMapValue(...) : ResourceBundle [] : String | +| Test.java:1111:42:1111:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1111:50:1111:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1112:10:1112:27 | toMap(...) : Map [] : String | semmle.label | toMap(...) : Map [] : String | +| Test.java:1112:25:1112:26 | in : ResourceBundle [] : String | semmle.label | in : ResourceBundle [] : String | +| Test.java:1113:9:1113:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1113:21:1113:23 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:1118:13:1118:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:1118:34:1118:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1118:42:1118:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1119:10:1119:48 | transformedMap(...) : IterableMap [] : String | semmle.label | transformedMap(...) : IterableMap [] : String | +| Test.java:1119:34:1119:35 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:1120:9:1120:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1120:19:1120:21 | out : IterableMap [] : String | semmle.label | out : IterableMap [] : String | +| Test.java:1125:13:1125:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:1125:36:1125:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1125:44:1125:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1126:10:1126:48 | transformedMap(...) : IterableMap [] : String | semmle.label | transformedMap(...) : IterableMap [] : String | +| Test.java:1126:34:1126:35 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:1127:9:1127:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1127:21:1127:23 | out : IterableMap [] : String | semmle.label | out : IterableMap [] : String | +| Test.java:1132:19:1132:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:1132:40:1132:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1132:48:1132:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1133:10:1133:54 | transformedSortedMap(...) : SortedMap [] : String | semmle.label | transformedSortedMap(...) : SortedMap [] : String | +| Test.java:1133:40:1133:41 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:1134:9:1134:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1134:19:1134:21 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:1139:19:1139:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:1139:42:1139:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1139:50:1139:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1140:10:1140:54 | transformedSortedMap(...) : SortedMap [] : String | semmle.label | transformedSortedMap(...) : SortedMap [] : String | +| Test.java:1140:40:1140:41 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:1141:9:1141:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1141:21:1141:23 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:1146:13:1146:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:1146:34:1146:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1146:42:1146:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1147:10:1147:37 | unmodifiableMap(...) : Map [] : String | semmle.label | unmodifiableMap(...) : Map [] : String | +| Test.java:1147:35:1147:36 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:1148:9:1148:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1148:19:1148:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:1153:13:1153:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:1153:36:1153:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1153:44:1153:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1154:10:1154:37 | unmodifiableMap(...) : Map [] : String | semmle.label | unmodifiableMap(...) : Map [] : String | +| Test.java:1154:35:1154:36 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:1155:9:1155:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1155:21:1155:23 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:1160:19:1160:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:1160:40:1160:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1160:48:1160:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1161:10:1161:43 | unmodifiableSortedMap(...) : SortedMap [] : String | semmle.label | unmodifiableSortedMap(...) : SortedMap [] : String | +| Test.java:1161:41:1161:42 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:1162:9:1162:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1162:19:1162:21 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:1167:19:1167:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:1167:42:1167:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1167:50:1167:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1168:10:1168:43 | unmodifiableSortedMap(...) : SortedMap [] : String | semmle.label | unmodifiableSortedMap(...) : SortedMap [] : String | +| Test.java:1168:41:1168:42 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:1169:9:1169:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1169:21:1169:23 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:1174:20:1174:61 | newArrayStackWithElement(...) : ArrayStack [] : String | semmle.label | newArrayStackWithElement(...) : ArrayStack [] : String | +| Test.java:1174:45:1174:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1174:53:1174:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1175:10:1175:11 | in : ArrayStack [] : String | semmle.label | in : ArrayStack [] : String | +| Test.java:1175:10:1175:19 | peek(...) : String | semmle.label | peek(...) : String | +| Test.java:1176:9:1176:11 | out | semmle.label | out | +| Test.java:1181:20:1181:61 | newArrayStackWithElement(...) : ArrayStack [] : String | semmle.label | newArrayStackWithElement(...) : ArrayStack [] : String | +| Test.java:1181:45:1181:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1181:53:1181:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1182:10:1182:11 | in : ArrayStack [] : String | semmle.label | in : ArrayStack [] : String | +| Test.java:1182:10:1182:18 | peek(...) : String | semmle.label | peek(...) : String | +| Test.java:1183:9:1183:11 | out | semmle.label | out | +| Test.java:1188:20:1188:61 | newArrayStackWithElement(...) : ArrayStack [] : String | semmle.label | newArrayStackWithElement(...) : ArrayStack [] : String | +| Test.java:1188:45:1188:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1188:53:1188:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1189:10:1189:11 | in : ArrayStack [] : String | semmle.label | in : ArrayStack [] : String | +| Test.java:1189:10:1189:17 | pop(...) : String | semmle.label | pop(...) : String | +| Test.java:1190:9:1190:11 | out | semmle.label | out | +| Test.java:1195:16:1195:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1196:4:1196:6 | out [post update] : ArrayStack [] : Object | semmle.label | out [post update] : ArrayStack [] : Object | +| Test.java:1196:13:1196:14 | in : Object | semmle.label | in : Object | +| Test.java:1197:9:1197:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1197:20:1197:22 | out : ArrayStack [] : Object | semmle.label | out : ArrayStack [] : Object | +| Test.java:1202:16:1202:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1204:10:1204:26 | push(...) : Object | semmle.label | push(...) : Object | +| Test.java:1204:24:1204:25 | in : Object | semmle.label | in : Object | +| Test.java:1205:9:1205:11 | out | semmle.label | out | +| Test.java:1210:16:1210:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1211:4:1211:6 | out [post update] : Bag [] : Object | semmle.label | out [post update] : Bag [] : Object | +| Test.java:1211:12:1211:13 | in : Object | semmle.label | in : Object | +| Test.java:1212:9:1212:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1212:20:1212:22 | out : Bag [] : Object | semmle.label | out : Bag [] : Object | +| Test.java:1217:16:1217:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1218:4:1218:6 | out [post update] : Bag [] : Object | semmle.label | out [post update] : Bag [] : Object | +| Test.java:1218:12:1218:13 | in : Object | semmle.label | in : Object | +| Test.java:1219:9:1219:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1219:20:1219:22 | out : Bag [] : Object | semmle.label | out : Bag [] : Object | +| Test.java:1224:13:1224:51 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1224:35:1224:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1224:43:1224:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1225:10:1225:11 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:1225:10:1225:23 | uniqueSet(...) : Set [] : String | semmle.label | uniqueSet(...) : Set [] : String | +| Test.java:1226:9:1226:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1226:20:1226:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:1231:13:1231:51 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1231:35:1231:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1231:43:1231:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1232:10:1232:35 | collectionBag(...) : Bag [] : String | semmle.label | collectionBag(...) : Bag [] : String | +| Test.java:1232:33:1232:34 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:1233:9:1233:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1233:20:1233:22 | out : Bag [] : String | semmle.label | out : Bag [] : String | +| Test.java:1238:13:1238:51 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1238:35:1238:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1238:43:1238:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1239:10:1239:41 | predicatedBag(...) : Bag [] : String | semmle.label | predicatedBag(...) : Bag [] : String | +| Test.java:1239:33:1239:34 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:1240:9:1240:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1240:20:1240:22 | out : Bag [] : String | semmle.label | out : Bag [] : String | +| Test.java:1245:19:1245:57 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1245:41:1245:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1245:49:1245:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1246:10:1246:47 | predicatedSortedBag(...) : SortedBag [] : String | semmle.label | predicatedSortedBag(...) : SortedBag [] : String | +| Test.java:1246:39:1246:40 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:1247:9:1247:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1247:20:1247:22 | out : SortedBag [] : String | semmle.label | out : SortedBag [] : String | +| Test.java:1252:13:1252:51 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1252:35:1252:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1252:43:1252:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1253:10:1253:37 | synchronizedBag(...) : Bag [] : String | semmle.label | synchronizedBag(...) : Bag [] : String | +| Test.java:1253:35:1253:36 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:1254:9:1254:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1254:20:1254:22 | out : Bag [] : String | semmle.label | out : Bag [] : String | +| Test.java:1259:19:1259:57 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1259:41:1259:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1259:49:1259:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1260:10:1260:43 | synchronizedSortedBag(...) : SortedBag [] : String | semmle.label | synchronizedSortedBag(...) : SortedBag [] : String | +| Test.java:1260:41:1260:42 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:1261:9:1261:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1261:20:1261:22 | out : SortedBag [] : String | semmle.label | out : SortedBag [] : String | +| Test.java:1266:13:1266:51 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1266:35:1266:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1266:43:1266:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1267:10:1267:43 | transformingBag(...) : Bag [] : String | semmle.label | transformingBag(...) : Bag [] : String | +| Test.java:1267:35:1267:36 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:1268:9:1268:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1268:20:1268:22 | out : Bag [] : String | semmle.label | out : Bag [] : String | +| Test.java:1273:19:1273:57 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1273:41:1273:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1273:49:1273:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1274:10:1274:49 | transformingSortedBag(...) : SortedBag [] : String | semmle.label | transformingSortedBag(...) : SortedBag [] : String | +| Test.java:1274:41:1274:42 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:1275:9:1275:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1275:20:1275:22 | out : SortedBag [] : String | semmle.label | out : SortedBag [] : String | +| Test.java:1280:13:1280:51 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1280:35:1280:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1280:43:1280:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1281:10:1281:37 | unmodifiableBag(...) : Bag [] : String | semmle.label | unmodifiableBag(...) : Bag [] : String | +| Test.java:1281:35:1281:36 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:1282:9:1282:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1282:20:1282:22 | out : Bag [] : String | semmle.label | out : Bag [] : String | +| Test.java:1287:19:1287:57 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1287:41:1287:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1287:49:1287:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1288:10:1288:43 | unmodifiableSortedBag(...) : SortedBag [] : String | semmle.label | unmodifiableSortedBag(...) : SortedBag [] : String | +| Test.java:1288:41:1288:42 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:1289:9:1289:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1289:20:1289:22 | out : SortedBag [] : String | semmle.label | out : SortedBag [] : String | +| Test.java:1294:17:1294:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | semmle.label | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:1294:42:1294:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1294:50:1294:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1295:10:1295:11 | in : TreeBidiMap [] : String | semmle.label | in : TreeBidiMap [] : String | +| Test.java:1295:10:1295:24 | getKey(...) : String | semmle.label | getKey(...) : String | +| Test.java:1296:9:1296:11 | out | semmle.label | out | +| Test.java:1301:17:1301:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | semmle.label | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:1301:42:1301:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1301:50:1301:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1302:10:1302:11 | in : TreeBidiMap [] : String | semmle.label | in : TreeBidiMap [] : String | +| Test.java:1302:10:1302:28 | inverseBidiMap(...) : BidiMap [] : String | semmle.label | inverseBidiMap(...) : BidiMap [] : String | +| Test.java:1303:9:1303:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1303:21:1303:23 | out : BidiMap [] : String | semmle.label | out : BidiMap [] : String | +| Test.java:1308:17:1308:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | semmle.label | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | +| Test.java:1308:44:1308:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1308:52:1308:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1309:10:1309:11 | in : TreeBidiMap [] : String | semmle.label | in : TreeBidiMap [] : String | +| Test.java:1309:10:1309:28 | inverseBidiMap(...) : BidiMap [] : String | semmle.label | inverseBidiMap(...) : BidiMap [] : String | +| Test.java:1310:9:1310:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1310:19:1310:21 | out : BidiMap [] : String | semmle.label | out : BidiMap [] : String | +| Test.java:1315:17:1315:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | semmle.label | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:1315:42:1315:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1315:50:1315:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1316:10:1316:11 | in : TreeBidiMap [] : String | semmle.label | in : TreeBidiMap [] : String | +| Test.java:1316:10:1316:29 | removeValue(...) : String | semmle.label | removeValue(...) : String | +| Test.java:1317:9:1317:11 | out | semmle.label | out | +| Test.java:1322:21:1322:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | semmle.label | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:1322:47:1322:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1322:55:1322:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1323:27:1323:29 | out [post update] : Collection [] : String | semmle.label | out [post update] : Collection [] : String | +| Test.java:1323:32:1323:33 | in : IteratorEnumeration [] : String | semmle.label | in : IteratorEnumeration [] : String | +| Test.java:1324:9:1324:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1324:20:1324:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1329:18:1329:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1329:39:1329:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1329:47:1329:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1330:27:1330:29 | out [post update] : Collection [] : String | semmle.label | out [post update] : Collection [] : String | +| Test.java:1330:32:1330:33 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1331:9:1331:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1331:20:1331:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1336:18:1336:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:1336:45:1336:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1336:53:1336:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1337:27:1337:29 | out [post update] : Collection [] : String | semmle.label | out [post update] : Collection [] : String | +| Test.java:1337:32:1337:33 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:1338:9:1338:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1338:20:1338:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1343:18:1343:54 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:1343:38:1343:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1343:46:1343:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1344:27:1344:29 | out [post update] : Collection [] : String | semmle.label | out [post update] : Collection [] : String | +| Test.java:1344:32:1344:33 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:1345:9:1345:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1345:20:1345:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1350:16:1350:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1351:34:1351:36 | out [post update] : Collection [] : Object | semmle.label | out [post update] : Collection [] : Object | +| Test.java:1351:39:1351:40 | in : Object | semmle.label | in : Object | +| Test.java:1352:9:1352:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1352:20:1352:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:1357:18:1357:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1357:39:1357:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1357:47:1357:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1358:10:1358:55 | collate(...) : List [] : String | semmle.label | collate(...) : List [] : String | +| Test.java:1358:34:1358:35 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1359:9:1359:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1359:20:1359:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:1364:18:1364:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1364:39:1364:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1364:47:1364:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1365:10:1365:42 | collate(...) : List [] : String | semmle.label | collate(...) : List [] : String | +| Test.java:1365:34:1365:35 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1366:9:1366:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1366:20:1366:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:1371:18:1371:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1371:39:1371:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1371:47:1371:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1372:10:1372:59 | collate(...) : List [] : String | semmle.label | collate(...) : List [] : String | +| Test.java:1372:34:1372:35 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1373:9:1373:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1373:20:1373:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:1378:18:1378:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1378:39:1378:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1378:47:1378:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1379:10:1379:70 | collate(...) : List [] : String | semmle.label | collate(...) : List [] : String | +| Test.java:1379:34:1379:35 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1380:9:1380:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1380:20:1380:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:1385:18:1385:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1385:39:1385:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1385:47:1385:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1386:10:1386:55 | collate(...) : List [] : String | semmle.label | collate(...) : List [] : String | +| Test.java:1386:40:1386:41 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1387:9:1387:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1387:20:1387:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:1392:18:1392:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1392:39:1392:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1392:47:1392:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1393:10:1393:42 | collate(...) : List [] : String | semmle.label | collate(...) : List [] : String | +| Test.java:1393:40:1393:41 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1394:9:1394:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1394:20:1394:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:1399:18:1399:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1399:39:1399:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1399:47:1399:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1400:10:1400:59 | collate(...) : List [] : String | semmle.label | collate(...) : List [] : String | +| Test.java:1400:50:1400:51 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1401:9:1401:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1401:20:1401:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:1406:18:1406:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1406:39:1406:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1406:47:1406:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1407:10:1407:70 | collate(...) : List [] : String | semmle.label | collate(...) : List [] : String | +| Test.java:1407:50:1407:51 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1408:9:1408:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1408:20:1408:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:1413:18:1413:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1413:39:1413:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1413:47:1413:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1414:10:1414:46 | disjunction(...) : Collection [] : String | semmle.label | disjunction(...) : Collection [] : String | +| Test.java:1414:38:1414:39 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1415:9:1415:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1415:20:1415:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1420:18:1420:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1420:39:1420:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1420:47:1420:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1421:10:1421:46 | disjunction(...) : Collection [] : String | semmle.label | disjunction(...) : Collection [] : String | +| Test.java:1421:44:1421:45 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1422:9:1422:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1422:20:1422:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1427:20:1427:39 | (...)... : Collection | semmle.label | (...)... : Collection | +| Test.java:1427:32:1427:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1428:10:1428:40 | emptyIfNull(...) : Collection | semmle.label | emptyIfNull(...) : Collection | +| Test.java:1428:38:1428:39 | in : Collection | semmle.label | in : Collection | +| Test.java:1429:9:1429:11 | out | semmle.label | out | +| Test.java:1434:20:1434:57 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1434:41:1434:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1434:49:1434:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1435:10:1435:45 | extractSingleton(...) : String | semmle.label | extractSingleton(...) : String | +| Test.java:1435:43:1435:44 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1436:9:1436:11 | out | semmle.label | out | +| Test.java:1441:18:1441:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1441:39:1441:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1441:47:1441:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1442:10:1442:39 | find(...) : String | semmle.label | find(...) : String | +| Test.java:1442:31:1442:32 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1443:9:1443:11 | out | semmle.label | out | +| Test.java:1448:18:1448:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:1448:45:1448:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1448:53:1448:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1449:10:1449:35 | get(...) : String | semmle.label | get(...) : String | +| Test.java:1449:30:1449:31 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:1450:9:1450:11 | out | semmle.label | out | +| Test.java:1455:18:1455:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1455:39:1455:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1455:47:1455:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1456:10:1456:35 | get(...) : String | semmle.label | get(...) : String | +| Test.java:1456:30:1456:31 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1457:9:1457:11 | out | semmle.label | out | +| Test.java:1462:13:1462:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:1462:34:1462:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1462:42:1462:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1463:10:1463:35 | get(...) : Entry [] : String | semmle.label | get(...) : Entry [] : String | +| Test.java:1463:30:1463:31 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:1464:9:1464:31 | getMapKeyFromEntry(...) | semmle.label | getMapKeyFromEntry(...) | +| Test.java:1464:28:1464:30 | out : Entry [] : String | semmle.label | out : Entry [] : String | +| Test.java:1469:13:1469:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:1469:36:1469:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1469:44:1469:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1470:10:1470:35 | get(...) : Entry [] : String | semmle.label | get(...) : Entry [] : String | +| Test.java:1470:30:1470:31 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:1471:9:1471:33 | getMapValueFromEntry(...) | semmle.label | getMapValueFromEntry(...) | +| Test.java:1471:30:1471:32 | out : Entry [] : String | semmle.label | out : Entry [] : String | +| Test.java:1476:16:1476:52 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:1476:36:1476:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1476:44:1476:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1477:10:1477:35 | get(...) : String | semmle.label | get(...) : String | +| Test.java:1477:30:1477:31 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:1478:9:1478:11 | out | semmle.label | out | +| Test.java:1483:16:1483:53 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1483:37:1483:52 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1483:45:1483:52 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1484:10:1484:35 | get(...) : String | semmle.label | get(...) : String | +| Test.java:1484:30:1484:31 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1485:9:1485:11 | out | semmle.label | out | +| Test.java:1490:16:1490:53 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:1490:37:1490:52 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1490:45:1490:52 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1491:10:1491:46 | (...)... : Entry [] : String | semmle.label | (...)... : Entry [] : String | +| Test.java:1491:21:1491:46 | get(...) : Object [] : String | semmle.label | get(...) : Object [] : String | +| Test.java:1491:41:1491:42 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:1492:9:1492:31 | getMapKeyFromEntry(...) | semmle.label | getMapKeyFromEntry(...) | +| Test.java:1492:28:1492:30 | out : Entry [] : String | semmle.label | out : Entry [] : String | +| Test.java:1497:16:1497:55 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:1497:39:1497:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1497:47:1497:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1498:10:1498:46 | (...)... : Entry [] : String | semmle.label | (...)... : Entry [] : String | +| Test.java:1498:21:1498:46 | get(...) : Object [] : String | semmle.label | get(...) : Object [] : String | +| Test.java:1498:41:1498:42 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:1499:9:1499:33 | getMapValueFromEntry(...) | semmle.label | getMapValueFromEntry(...) | +| Test.java:1499:30:1499:32 | out : Entry [] : String | semmle.label | out : Entry [] : String | +| Test.java:1504:18:1504:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1504:39:1504:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1504:47:1504:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1505:10:1505:46 | getCardinalityMap(...) : Map [] : String | semmle.label | getCardinalityMap(...) : Map [] : String | +| Test.java:1505:44:1505:45 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1506:9:1506:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1506:19:1506:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:1511:18:1511:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1511:39:1511:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1511:47:1511:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1512:10:1512:47 | intersection(...) : Collection [] : String | semmle.label | intersection(...) : Collection [] : String | +| Test.java:1512:39:1512:40 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1513:9:1513:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1513:20:1513:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1518:18:1518:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1518:39:1518:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1518:47:1518:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1519:10:1519:47 | intersection(...) : Collection [] : String | semmle.label | intersection(...) : Collection [] : String | +| Test.java:1519:45:1519:46 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1520:9:1520:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1520:20:1520:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1525:20:1525:57 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1525:41:1525:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1525:49:1525:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1526:10:1526:41 | permutations(...) : Collection [, ] : String | semmle.label | permutations(...) : Collection [, ] : String | +| Test.java:1526:39:1526:40 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1527:9:1527:45 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1527:20:1527:44 | (...)... : Iterable [] : String | semmle.label | (...)... : Iterable [] : String | +| Test.java:1527:30:1527:44 | getElement(...) : Object [] : String | semmle.label | getElement(...) : Object [] : String | +| Test.java:1527:41:1527:43 | out : Collection [, ] : String | semmle.label | out : Collection [, ] : String | +| Test.java:1532:20:1532:57 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1532:41:1532:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1532:49:1532:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1533:10:1533:55 | predicatedCollection(...) : Collection [] : String | semmle.label | predicatedCollection(...) : Collection [] : String | +| Test.java:1533:47:1533:48 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1534:9:1534:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1534:20:1534:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1539:18:1539:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1539:39:1539:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1539:47:1539:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1540:10:1540:50 | removeAll(...) : Collection [] : String | semmle.label | removeAll(...) : Collection [] : String | +| Test.java:1540:36:1540:37 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1541:9:1541:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1541:20:1541:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1546:20:1546:57 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1546:41:1546:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1546:49:1546:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1547:10:1547:44 | removeAll(...) : Collection [] : String | semmle.label | removeAll(...) : Collection [] : String | +| Test.java:1547:36:1547:37 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1548:9:1548:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1548:20:1548:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1553:18:1553:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1553:39:1553:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1553:47:1553:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1554:10:1554:50 | retainAll(...) : Collection [] : String | semmle.label | retainAll(...) : Collection [] : String | +| Test.java:1554:36:1554:37 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1555:9:1555:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1555:20:1555:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1560:20:1560:57 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1560:41:1560:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1560:49:1560:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1561:10:1561:44 | retainAll(...) : Collection [] : String | semmle.label | retainAll(...) : Collection [] : String | +| Test.java:1561:36:1561:37 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1562:9:1562:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1562:20:1562:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1567:18:1567:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1567:39:1567:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1567:47:1567:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1568:10:1568:41 | select(...) : Collection [] : String | semmle.label | select(...) : Collection [] : String | +| Test.java:1568:33:1568:34 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1569:9:1569:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1569:20:1569:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1574:20:1574:39 | (...)... : Collection | semmle.label | (...)... : Collection | +| Test.java:1574:32:1574:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1575:10:1575:47 | select(...) : Collection | semmle.label | select(...) : Collection | +| Test.java:1575:45:1575:46 | in : Collection | semmle.label | in : Collection | +| Test.java:1576:9:1576:11 | out | semmle.label | out | +| Test.java:1581:18:1581:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1581:39:1581:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1581:47:1581:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1582:27:1582:28 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1582:37:1582:39 | out [post update] : Collection [] : String | semmle.label | out [post update] : Collection [] : String | +| Test.java:1583:9:1583:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1583:20:1583:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1588:18:1588:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1588:39:1588:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1588:47:1588:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1589:10:1589:46 | select(...) : Collection [] : String | semmle.label | select(...) : Collection [] : String | +| Test.java:1589:33:1589:34 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1590:9:1590:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1590:20:1590:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1595:20:1595:39 | (...)... : Collection | semmle.label | (...)... : Collection | +| Test.java:1595:32:1595:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1596:10:1596:53 | select(...) : Collection | semmle.label | select(...) : Collection | +| Test.java:1596:45:1596:46 | in : Collection | semmle.label | in : Collection | +| Test.java:1597:9:1597:11 | out | semmle.label | out | +| Test.java:1602:18:1602:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1602:39:1602:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1602:47:1602:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1603:27:1603:28 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1603:37:1603:39 | out [post update] : Collection [] : String | semmle.label | out [post update] : Collection [] : String | +| Test.java:1604:9:1604:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1604:20:1604:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1609:18:1609:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1609:39:1609:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1609:47:1609:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1610:10:1610:52 | select(...) : Collection [] : String | semmle.label | select(...) : Collection [] : String | +| Test.java:1610:33:1610:34 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1611:9:1611:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1611:20:1611:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1616:18:1616:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1616:39:1616:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1616:47:1616:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1617:27:1617:28 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1617:43:1617:45 | out [post update] : Collection [] : String | semmle.label | out [post update] : Collection [] : String | +| Test.java:1618:9:1618:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1618:20:1618:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1623:18:1623:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1623:39:1623:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1623:47:1623:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1624:10:1624:49 | selectRejected(...) : Collection [] : String | semmle.label | selectRejected(...) : Collection [] : String | +| Test.java:1624:41:1624:42 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1625:9:1625:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1625:20:1625:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1630:20:1630:39 | (...)... : Collection | semmle.label | (...)... : Collection | +| Test.java:1630:32:1630:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1631:10:1631:55 | selectRejected(...) : Collection | semmle.label | selectRejected(...) : Collection | +| Test.java:1631:53:1631:54 | in : Collection | semmle.label | in : Collection | +| Test.java:1632:9:1632:11 | out | semmle.label | out | +| Test.java:1637:18:1637:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1637:39:1637:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1637:47:1637:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1638:35:1638:36 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1638:45:1638:47 | out [post update] : Collection [] : String | semmle.label | out [post update] : Collection [] : String | +| Test.java:1639:9:1639:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1639:20:1639:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1644:18:1644:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1644:39:1644:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1644:47:1644:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1645:10:1645:49 | subtract(...) : Collection [] : String | semmle.label | subtract(...) : Collection [] : String | +| Test.java:1645:35:1645:36 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1646:9:1646:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1646:20:1646:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1651:18:1651:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1651:39:1651:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1651:47:1651:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1652:10:1652:43 | subtract(...) : Collection [] : String | semmle.label | subtract(...) : Collection [] : String | +| Test.java:1652:35:1652:36 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1653:9:1653:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1653:20:1653:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1658:20:1658:57 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1658:41:1658:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1658:49:1658:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1659:10:1659:51 | synchronizedCollection(...) : Collection [] : String | semmle.label | synchronizedCollection(...) : Collection [] : String | +| Test.java:1659:49:1659:50 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1660:9:1660:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1660:20:1660:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1665:20:1665:57 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1665:41:1665:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1665:49:1665:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1666:10:1666:57 | transformingCollection(...) : Collection [] : String | semmle.label | transformingCollection(...) : Collection [] : String | +| Test.java:1666:49:1666:50 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1667:9:1667:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1667:20:1667:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1672:18:1672:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1672:39:1672:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1672:47:1672:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1673:10:1673:40 | union(...) : Collection [] : String | semmle.label | union(...) : Collection [] : String | +| Test.java:1673:32:1673:33 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1674:9:1674:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1674:20:1674:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1679:18:1679:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1679:39:1679:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1679:47:1679:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1680:10:1680:40 | union(...) : Collection [] : String | semmle.label | union(...) : Collection [] : String | +| Test.java:1680:38:1680:39 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1681:9:1681:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1681:20:1681:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1686:20:1686:57 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1686:41:1686:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1686:49:1686:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1687:10:1687:51 | unmodifiableCollection(...) : Collection [] : String | semmle.label | unmodifiableCollection(...) : Collection [] : String | +| Test.java:1687:49:1687:50 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1688:9:1688:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1688:20:1688:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1693:21:1693:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | semmle.label | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:1693:47:1693:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1693:55:1693:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1694:10:1694:36 | get(...) : String | semmle.label | get(...) : String | +| Test.java:1694:31:1694:32 | in : IteratorEnumeration [] : String | semmle.label | in : IteratorEnumeration [] : String | +| Test.java:1695:9:1695:11 | out | semmle.label | out | +| Test.java:1700:21:1700:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | semmle.label | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:1700:47:1700:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1700:55:1700:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1701:10:1701:36 | toList(...) : List [] : String | semmle.label | toList(...) : List [] : String | +| Test.java:1701:34:1701:35 | in : IteratorEnumeration [] : String | semmle.label | in : IteratorEnumeration [] : String | +| Test.java:1702:9:1702:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1702:20:1702:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:1707:25:1707:49 | (...)... : StringTokenizer | semmle.label | (...)... : StringTokenizer | +| Test.java:1707:42:1707:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1708:10:1708:36 | toList(...) : List [] : Object | semmle.label | toList(...) : List [] : Object | +| Test.java:1708:34:1708:35 | in : StringTokenizer | semmle.label | in : StringTokenizer | +| Test.java:1709:9:1709:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1709:20:1709:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:1714:24:1714:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1714:53:1714:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1714:61:1714:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1715:10:1715:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1715:10:1715:34 | append(...) : FluentIterable [] : String | semmle.label | append(...) : FluentIterable [] : String | +| Test.java:1716:9:1716:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1716:20:1716:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1721:18:1721:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1721:47:1721:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1721:55:1721:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1723:10:1723:28 | append(...) : FluentIterable [] : String | semmle.label | append(...) : FluentIterable [] : String | +| Test.java:1723:26:1723:27 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1724:9:1724:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1724:20:1724:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1729:16:1729:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1731:10:1731:28 | append(...) : FluentIterable [] : Object | semmle.label | append(...) : FluentIterable [] : Object | +| Test.java:1731:10:1731:28 | new ..[] { .. } : Object[] [[]] : Object | semmle.label | new ..[] { .. } : Object[] [[]] : Object | +| Test.java:1731:26:1731:27 | in : Object | semmle.label | in : Object | +| Test.java:1732:9:1732:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1732:20:1732:22 | out : FluentIterable [] : Object | semmle.label | out : FluentIterable [] : Object | +| Test.java:1737:24:1737:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1737:53:1737:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1737:61:1737:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1738:10:1738:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1738:10:1738:20 | append(...) : FluentIterable [] : String | semmle.label | append(...) : FluentIterable [] : String | +| Test.java:1739:9:1739:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1739:20:1739:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1744:24:1744:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1744:53:1744:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1744:61:1744:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1745:10:1745:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1745:10:1745:27 | asEnumeration(...) : Enumeration [] : String | semmle.label | asEnumeration(...) : Enumeration [] : String | +| Test.java:1746:9:1746:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1746:20:1746:22 | out : Enumeration [] : String | semmle.label | out : Enumeration [] : String | +| Test.java:1751:24:1751:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1751:53:1751:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1751:61:1751:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1752:10:1752:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1752:10:1752:31 | collate(...) : FluentIterable [] : String | semmle.label | collate(...) : FluentIterable [] : String | +| Test.java:1753:9:1753:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1753:20:1753:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1758:24:1758:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1758:53:1758:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1758:61:1758:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1759:10:1759:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1759:10:1759:25 | collate(...) : FluentIterable [] : String | semmle.label | collate(...) : FluentIterable [] : String | +| Test.java:1760:9:1760:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1760:20:1760:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1765:18:1765:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1765:47:1765:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1765:55:1765:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1767:10:1767:35 | collate(...) : FluentIterable [] : String | semmle.label | collate(...) : FluentIterable [] : String | +| Test.java:1767:27:1767:28 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1768:9:1768:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1768:20:1768:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1773:18:1773:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1773:47:1773:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1773:55:1773:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1775:10:1775:29 | collate(...) : FluentIterable [] : String | semmle.label | collate(...) : FluentIterable [] : String | +| Test.java:1775:27:1775:28 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1776:9:1776:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1776:20:1776:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1781:24:1781:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1781:53:1781:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1781:61:1781:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1782:4:1782:5 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1782:16:1782:18 | out [post update] : Collection [] : String | semmle.label | out [post update] : Collection [] : String | +| Test.java:1783:9:1783:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1783:20:1783:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:1788:24:1788:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1788:53:1788:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1788:61:1788:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1789:10:1789:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1789:10:1789:18 | eval(...) : FluentIterable [] : String | semmle.label | eval(...) : FluentIterable [] : String | +| Test.java:1790:9:1790:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1790:20:1790:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1795:24:1795:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1795:53:1795:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1795:61:1795:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1796:10:1796:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1796:10:1796:24 | filter(...) : FluentIterable [] : String | semmle.label | filter(...) : FluentIterable [] : String | +| Test.java:1797:9:1797:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1797:20:1797:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1802:24:1802:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1802:53:1802:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1802:61:1802:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1803:10:1803:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1803:10:1803:18 | get(...) : String | semmle.label | get(...) : String | +| Test.java:1804:9:1804:11 | out | semmle.label | out | +| Test.java:1809:24:1809:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1809:53:1809:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1809:61:1809:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1810:10:1810:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1810:10:1810:21 | limit(...) : FluentIterable [] : String | semmle.label | limit(...) : FluentIterable [] : String | +| Test.java:1811:9:1811:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1811:20:1811:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1816:24:1816:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1816:53:1816:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1816:61:1816:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1817:10:1817:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1817:10:1817:18 | loop(...) : FluentIterable [] : String | semmle.label | loop(...) : FluentIterable [] : String | +| Test.java:1818:9:1818:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1818:20:1818:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1823:18:1823:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1823:47:1823:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1823:55:1823:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1824:10:1824:30 | of(...) : FluentIterable [] : String | semmle.label | of(...) : FluentIterable [] : String | +| Test.java:1824:28:1824:29 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1825:9:1825:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1825:20:1825:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1830:16:1830:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1831:10:1831:30 | of(...) : FluentIterable [] : Object | semmle.label | of(...) : FluentIterable [] : Object | +| Test.java:1831:28:1831:29 | in : Object | semmle.label | in : Object | +| Test.java:1832:9:1832:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1832:20:1832:22 | out : FluentIterable [] : Object | semmle.label | out : FluentIterable [] : Object | +| Test.java:1837:18:1837:54 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:1837:38:1837:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1837:46:1837:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1838:10:1838:30 | of(...) : FluentIterable [] : String | semmle.label | of(...) : FluentIterable [] : String | +| Test.java:1838:28:1838:29 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:1839:9:1839:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1839:20:1839:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1844:24:1844:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1844:53:1844:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1844:61:1844:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1845:10:1845:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1845:10:1845:21 | reverse(...) : FluentIterable [] : String | semmle.label | reverse(...) : FluentIterable [] : String | +| Test.java:1846:9:1846:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1846:20:1846:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1851:24:1851:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1851:53:1851:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1851:61:1851:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1852:10:1852:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1852:10:1852:20 | skip(...) : FluentIterable [] : String | semmle.label | skip(...) : FluentIterable [] : String | +| Test.java:1853:9:1853:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1853:20:1853:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1858:24:1858:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1858:53:1858:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1858:61:1858:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1859:10:1859:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1859:10:1859:25 | toArray(...) : Object[] [[]] : String | semmle.label | toArray(...) : Object[] [[]] : String | +| Test.java:1860:9:1860:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1860:25:1860:27 | out : Object[] [[]] : String | semmle.label | out : Object[] [[]] : String | +| Test.java:1865:24:1865:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1865:53:1865:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1865:61:1865:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1866:10:1866:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1866:10:1866:20 | toList(...) : List [] : String | semmle.label | toList(...) : List [] : String | +| Test.java:1867:9:1867:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1867:20:1867:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:1872:24:1872:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1872:53:1872:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1872:61:1872:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1873:10:1873:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1873:10:1873:20 | unique(...) : FluentIterable [] : String | semmle.label | unique(...) : FluentIterable [] : String | +| Test.java:1874:9:1874:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1874:20:1874:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1879:24:1879:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1879:53:1879:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1879:61:1879:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1880:10:1880:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1880:10:1880:26 | unmodifiable(...) : FluentIterable [] : String | semmle.label | unmodifiable(...) : FluentIterable [] : String | +| Test.java:1881:9:1881:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1881:20:1881:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1886:24:1886:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1886:53:1886:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1886:61:1886:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1887:10:1887:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1887:10:1887:31 | zip(...) : FluentIterable [] : String | semmle.label | zip(...) : FluentIterable [] : String | +| Test.java:1888:9:1888:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1888:20:1888:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1893:18:1893:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1893:47:1893:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1893:55:1893:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1895:10:1895:25 | zip(...) : FluentIterable [] : String | semmle.label | zip(...) : FluentIterable [] : String | +| Test.java:1895:23:1895:24 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1896:9:1896:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1896:20:1896:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1901:24:1901:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1901:53:1901:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1901:61:1901:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1902:10:1902:11 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:1902:10:1902:47 | zip(...) : FluentIterable [] : String | semmle.label | zip(...) : FluentIterable [] : String | +| Test.java:1903:9:1903:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1903:20:1903:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1908:18:1908:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:1908:39:1908:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1908:47:1908:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1910:10:1910:41 | new ..[] { .. } : Iterable[] [[], ] : String | semmle.label | new ..[] { .. } : Iterable[] [[], ] : String | +| Test.java:1910:10:1910:41 | zip(...) : FluentIterable [] : String | semmle.label | zip(...) : FluentIterable [] : String | +| Test.java:1910:23:1910:24 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:1911:9:1911:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1911:20:1911:22 | out : FluentIterable [] : String | semmle.label | out : FluentIterable [] : String | +| Test.java:1916:23:1916:56 | newMVMWithMapKey(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:1916:40:1916:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1916:48:1916:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1917:10:1917:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:1917:10:1917:22 | entrySet(...) : Set [, ] : String | semmle.label | entrySet(...) : Set [, ] : String | +| Test.java:1918:9:1918:43 | getMapKeyFromEntry(...) | semmle.label | getMapKeyFromEntry(...) | +| Test.java:1918:28:1918:42 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:1918:39:1918:41 | out : Set [, ] : String | semmle.label | out : Set [, ] : String | +| Test.java:1923:13:1923:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | semmle.label | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:1923:39:1923:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1923:47:1923:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1924:10:1924:11 | in : PatriciaTrie [] : String | semmle.label | in : PatriciaTrie [] : String | +| Test.java:1924:10:1924:22 | entrySet(...) : Set [, ] : String | semmle.label | entrySet(...) : Set [, ] : String | +| Test.java:1925:9:1925:43 | getMapKeyFromEntry(...) | semmle.label | getMapKeyFromEntry(...) | +| Test.java:1925:28:1925:42 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:1925:39:1925:41 | out : Set [, ] : String | semmle.label | out : Set [, ] : String | +| Test.java:1930:30:1930:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:1930:47:1930:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1930:55:1930:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1931:10:1931:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:1931:10:1931:22 | entrySet(...) : Set [, ] : String | semmle.label | entrySet(...) : Set [, ] : String | +| Test.java:1932:9:1932:43 | getMapKeyFromEntry(...) | semmle.label | getMapKeyFromEntry(...) | +| Test.java:1932:28:1932:42 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:1932:39:1932:41 | out : Set [, ] : String | semmle.label | out : Set [, ] : String | +| Test.java:1937:23:1937:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:1937:42:1937:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1937:50:1937:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1938:10:1938:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:1938:10:1938:22 | entrySet(...) : Set [, ] : String | semmle.label | entrySet(...) : Set [, ] : String | +| Test.java:1939:9:1939:45 | getMapValueFromEntry(...) | semmle.label | getMapValueFromEntry(...) | +| Test.java:1939:30:1939:44 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:1939:41:1939:43 | out : Set [, ] : String | semmle.label | out : Set [, ] : String | +| Test.java:1944:13:1944:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | semmle.label | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:1944:41:1944:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1944:49:1944:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1945:10:1945:11 | in : PatriciaTrie [] : String | semmle.label | in : PatriciaTrie [] : String | +| Test.java:1945:10:1945:22 | entrySet(...) : Set [, ] : String | semmle.label | entrySet(...) : Set [, ] : String | +| Test.java:1946:9:1946:45 | getMapValueFromEntry(...) | semmle.label | getMapValueFromEntry(...) | +| Test.java:1946:30:1946:44 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:1946:41:1946:43 | out : Set [, ] : String | semmle.label | out : Set [, ] : String | +| Test.java:1951:30:1951:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:1951:49:1951:64 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1951:57:1951:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1952:10:1952:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:1952:10:1952:22 | entrySet(...) : Set [, ] : String | semmle.label | entrySet(...) : Set [, ] : String | +| Test.java:1953:9:1953:45 | getMapValueFromEntry(...) | semmle.label | getMapValueFromEntry(...) | +| Test.java:1953:30:1953:44 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:1953:41:1953:43 | out : Set [, ] : String | semmle.label | out : Set [, ] : String | +| Test.java:1958:18:1958:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:1958:37:1958:52 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1958:45:1958:52 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1959:10:1959:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:1959:10:1959:21 | get(...) : String | semmle.label | get(...) : String | +| Test.java:1960:9:1960:11 | out | semmle.label | out | +| Test.java:1965:13:1965:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | semmle.label | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:1965:41:1965:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1965:49:1965:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1966:10:1966:11 | in : PatriciaTrie [] : String | semmle.label | in : PatriciaTrie [] : String | +| Test.java:1966:10:1966:21 | get(...) : String | semmle.label | get(...) : String | +| Test.java:1967:9:1967:11 | out | semmle.label | out | +| Test.java:1972:30:1972:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:1972:49:1972:64 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1972:57:1972:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1973:10:1973:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:1973:10:1973:21 | get(...) : String | semmle.label | get(...) : String | +| Test.java:1974:9:1974:11 | out | semmle.label | out | +| Test.java:1979:13:1979:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | semmle.label | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:1979:39:1979:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1979:47:1979:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1980:10:1980:11 | in : PatriciaTrie [] : String | semmle.label | in : PatriciaTrie [] : String | +| Test.java:1980:10:1980:20 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:1981:9:1981:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1981:20:1981:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:1986:30:1986:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:1986:47:1986:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1986:55:1986:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1987:10:1987:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:1987:10:1987:20 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:1988:9:1988:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1988:20:1988:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:1993:18:1993:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:1993:37:1993:52 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1993:45:1993:52 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1994:10:1994:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:1994:10:1994:24 | remove(...) : String | semmle.label | remove(...) : String | +| Test.java:1995:9:1995:11 | out | semmle.label | out | +| Test.java:2000:13:2000:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | semmle.label | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:2000:41:2000:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2000:49:2000:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2001:10:2001:11 | in : PatriciaTrie [] : String | semmle.label | in : PatriciaTrie [] : String | +| Test.java:2001:10:2001:24 | remove(...) : String | semmle.label | remove(...) : String | +| Test.java:2002:9:2002:11 | out | semmle.label | out | +| Test.java:2007:30:2007:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:2007:49:2007:64 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2007:57:2007:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2008:10:2008:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:2008:10:2008:24 | remove(...) : String | semmle.label | remove(...) : String | +| Test.java:2009:9:2009:11 | out | semmle.label | out | +| Test.java:2014:17:2014:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | semmle.label | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | +| Test.java:2014:44:2014:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2014:52:2014:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2015:10:2015:11 | in : TreeBidiMap [] : String | semmle.label | in : TreeBidiMap [] : String | +| Test.java:2015:10:2015:20 | values(...) : Set [] : String | semmle.label | values(...) : Set [] : String | +| Test.java:2016:9:2016:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2016:20:2016:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:2021:23:2021:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:2021:23:2021:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:2021:42:2021:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2021:50:2021:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2022:10:2022:11 | in : MultiValueMap [, ] : String | semmle.label | in : MultiValueMap [, ] : String | +| Test.java:2022:10:2022:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:2022:10:2022:20 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:2022:10:2022:20 | values(...) : Collection [] : String | semmle.label | values(...) : Collection [] : String | +| Test.java:2023:9:2023:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2023:20:2023:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:2023:20:2023:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:2028:18:2028:53 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:2028:18:2028:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:2028:37:2028:52 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2028:45:2028:52 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2029:10:2029:11 | in : MultiValueMap [, ] : String | semmle.label | in : MultiValueMap [, ] : String | +| Test.java:2029:10:2029:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:2029:10:2029:20 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:2029:10:2029:20 | values(...) : Collection [] : String | semmle.label | values(...) : Collection [] : String | +| Test.java:2030:9:2030:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2030:20:2030:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:2030:20:2030:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:2035:13:2035:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | semmle.label | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:2035:41:2035:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2035:49:2035:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2036:10:2036:11 | in : PatriciaTrie [] : String | semmle.label | in : PatriciaTrie [] : String | +| Test.java:2036:10:2036:20 | values(...) : Collection [] : String | semmle.label | values(...) : Collection [] : String | +| Test.java:2037:9:2037:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2037:20:2037:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:2042:30:2042:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:2042:49:2042:64 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2042:57:2042:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2043:10:2043:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:2043:10:2043:20 | values(...) : Collection [] : String | semmle.label | values(...) : Collection [] : String | +| Test.java:2044:9:2044:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2044:20:2044:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:2049:20:2049:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | semmle.label | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:2049:45:2049:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2049:53:2049:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2050:10:2050:11 | in : TreeBidiMap [] : String | semmle.label | in : TreeBidiMap [] : String | +| Test.java:2050:10:2050:25 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:2051:9:2051:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2051:20:2051:22 | out : OrderedMapIterator [] : String | semmle.label | out : OrderedMapIterator [] : String | +| Test.java:2056:21:2056:60 | newHashedMapWithMapKey(...) : HashedMap [] : String | semmle.label | newHashedMapWithMapKey(...) : HashedMap [] : String | +| Test.java:2056:44:2056:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2056:52:2056:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2057:10:2057:11 | in : HashedMap [] : String | semmle.label | in : HashedMap [] : String | +| Test.java:2057:10:2057:25 | mapIterator(...) : MapIterator [] : String | semmle.label | mapIterator(...) : MapIterator [] : String | +| Test.java:2058:9:2058:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2058:20:2058:22 | out : MapIterator [] : String | semmle.label | out : MapIterator [] : String | +| Test.java:2063:29:2063:62 | newMVMWithMapKey(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:2063:46:2063:61 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2063:54:2063:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2064:10:2064:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:2064:10:2064:25 | mapIterator(...) : MapIterator [] : String | semmle.label | mapIterator(...) : MapIterator [] : String | +| Test.java:2065:9:2065:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2065:20:2065:22 | out : MapIterator [] : String | semmle.label | out : MapIterator [] : String | +| Test.java:2070:20:2070:63 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | semmle.label | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | +| Test.java:2070:47:2070:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2070:55:2070:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2071:10:2071:11 | in : TreeBidiMap [] : String | semmle.label | in : TreeBidiMap [] : String | +| Test.java:2071:10:2071:25 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:2072:9:2072:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2072:21:2072:23 | out : OrderedMapIterator [] : String | semmle.label | out : OrderedMapIterator [] : String | +| Test.java:2077:21:2077:62 | newHashedMapWithMapValue(...) : HashedMap [] : String | semmle.label | newHashedMapWithMapValue(...) : HashedMap [] : String | +| Test.java:2077:46:2077:61 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2077:54:2077:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2078:10:2078:11 | in : HashedMap [] : String | semmle.label | in : HashedMap [] : String | +| Test.java:2078:10:2078:25 | mapIterator(...) : MapIterator [] : String | semmle.label | mapIterator(...) : MapIterator [] : String | +| Test.java:2079:9:2079:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2079:21:2079:23 | out : MapIterator [] : String | semmle.label | out : MapIterator [] : String | +| Test.java:2084:29:2084:64 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:2084:48:2084:63 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2084:56:2084:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2085:10:2085:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:2085:10:2085:25 | mapIterator(...) : MapIterator [] : String | semmle.label | mapIterator(...) : MapIterator [] : String | +| Test.java:2086:9:2086:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2086:21:2086:23 | out : MapIterator [] : String | semmle.label | out : MapIterator [] : String | +| Test.java:2091:18:2091:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2091:39:2091:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2091:47:2091:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2092:10:2092:46 | boundedIterable(...) : Iterable [] : String | semmle.label | boundedIterable(...) : Iterable [] : String | +| Test.java:2092:40:2092:41 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2093:9:2093:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2093:20:2093:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2098:18:2098:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2098:39:2098:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2098:47:2098:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2099:10:2099:58 | chainedIterable(...) : Iterable [] : String | semmle.label | chainedIterable(...) : Iterable [] : String | +| Test.java:2099:40:2099:41 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2100:9:2100:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2100:20:2100:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2105:18:2105:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2105:39:2105:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2105:47:2105:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2106:10:2106:48 | chainedIterable(...) : Iterable [] : String | semmle.label | chainedIterable(...) : Iterable [] : String | +| Test.java:2106:40:2106:41 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2107:9:2107:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2107:20:2107:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2112:18:2112:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2112:39:2112:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2112:47:2112:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2113:10:2113:48 | chainedIterable(...) : Iterable [] : String | semmle.label | chainedIterable(...) : Iterable [] : String | +| Test.java:2113:46:2113:47 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2114:9:2114:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2114:20:2114:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2119:18:2119:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2119:39:2119:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2119:47:2119:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2120:10:2120:54 | chainedIterable(...) : Iterable [] : String | semmle.label | chainedIterable(...) : Iterable [] : String | +| Test.java:2120:40:2120:41 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2121:9:2121:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2121:20:2121:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2126:18:2126:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2126:39:2126:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2126:47:2126:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2127:10:2127:54 | chainedIterable(...) : Iterable [] : String | semmle.label | chainedIterable(...) : Iterable [] : String | +| Test.java:2127:46:2127:47 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2128:9:2128:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2128:20:2128:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2133:18:2133:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2133:39:2133:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2133:47:2133:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2134:10:2134:54 | chainedIterable(...) : Iterable [] : String | semmle.label | chainedIterable(...) : Iterable [] : String | +| Test.java:2134:52:2134:53 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2135:9:2135:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2135:20:2135:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2140:18:2140:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2140:39:2140:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2140:47:2140:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2141:10:2141:60 | chainedIterable(...) : Iterable [] : String | semmle.label | chainedIterable(...) : Iterable [] : String | +| Test.java:2141:40:2141:41 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2142:9:2142:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2142:20:2142:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2147:18:2147:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2147:39:2147:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2147:47:2147:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2148:10:2148:60 | chainedIterable(...) : Iterable [] : String | semmle.label | chainedIterable(...) : Iterable [] : String | +| Test.java:2148:46:2148:47 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2149:9:2149:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2149:20:2149:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2154:18:2154:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2154:39:2154:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2154:47:2154:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2155:10:2155:60 | chainedIterable(...) : Iterable [] : String | semmle.label | chainedIterable(...) : Iterable [] : String | +| Test.java:2155:52:2155:53 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2156:9:2156:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2156:20:2156:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2161:18:2161:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2161:39:2161:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2161:47:2161:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2162:10:2162:60 | chainedIterable(...) : Iterable [] : String | semmle.label | chainedIterable(...) : Iterable [] : String | +| Test.java:2162:58:2162:59 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2163:9:2163:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2163:20:2163:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2168:18:2168:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2168:39:2168:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2168:47:2168:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2169:10:2169:55 | collatedIterable(...) : Iterable [] : String | semmle.label | collatedIterable(...) : Iterable [] : String | +| Test.java:2169:47:2169:48 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2170:9:2170:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2170:20:2170:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2175:18:2175:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2175:39:2175:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2175:47:2175:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2176:10:2176:55 | collatedIterable(...) : Iterable [] : String | semmle.label | collatedIterable(...) : Iterable [] : String | +| Test.java:2176:53:2176:54 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2177:9:2177:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2177:20:2177:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2182:18:2182:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2182:39:2182:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2182:47:2182:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2183:10:2183:49 | collatedIterable(...) : Iterable [] : String | semmle.label | collatedIterable(...) : Iterable [] : String | +| Test.java:2183:41:2183:42 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2184:9:2184:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2184:20:2184:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2189:18:2189:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2189:39:2189:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2189:47:2189:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2190:10:2190:49 | collatedIterable(...) : Iterable [] : String | semmle.label | collatedIterable(...) : Iterable [] : String | +| Test.java:2190:47:2190:48 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2191:9:2191:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2191:20:2191:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2196:18:2196:35 | (...)... : Iterable | semmle.label | (...)... : Iterable | +| Test.java:2196:28:2196:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2197:10:2197:38 | emptyIfNull(...) : Iterable | semmle.label | emptyIfNull(...) : Iterable | +| Test.java:2197:36:2197:37 | in : Iterable | semmle.label | in : Iterable | +| Test.java:2198:9:2198:11 | out | semmle.label | out | +| Test.java:2203:18:2203:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2203:39:2203:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2203:47:2203:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2204:10:2204:49 | filteredIterable(...) : Iterable [] : String | semmle.label | filteredIterable(...) : Iterable [] : String | +| Test.java:2204:41:2204:42 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2205:9:2205:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2205:20:2205:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2210:18:2210:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2210:39:2210:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2210:47:2210:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2211:10:2211:37 | find(...) : String | semmle.label | find(...) : String | +| Test.java:2211:29:2211:30 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2212:9:2212:11 | out | semmle.label | out | +| Test.java:2217:18:2217:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2217:39:2217:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2217:47:2217:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2218:10:2218:32 | first(...) : String | semmle.label | first(...) : String | +| Test.java:2218:30:2218:31 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2219:9:2219:11 | out | semmle.label | out | +| Test.java:2224:18:2224:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2224:39:2224:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2224:47:2224:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2225:10:2225:47 | forEachButLast(...) : String | semmle.label | forEachButLast(...) : String | +| Test.java:2225:39:2225:40 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2226:9:2226:11 | out | semmle.label | out | +| Test.java:2231:18:2231:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2231:39:2231:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2231:47:2231:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2232:10:2232:33 | get(...) : String | semmle.label | get(...) : String | +| Test.java:2232:28:2232:29 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2233:9:2233:11 | out | semmle.label | out | +| Test.java:2238:18:2238:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2238:39:2238:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2238:47:2238:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2239:10:2239:42 | loopingIterable(...) : Iterable [] : String | semmle.label | loopingIterable(...) : Iterable [] : String | +| Test.java:2239:40:2239:41 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2240:9:2240:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2240:20:2240:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2245:18:2245:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2245:39:2245:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2245:47:2245:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2246:10:2246:85 | partition(...) : List [, ] : String | semmle.label | partition(...) : List [, ] : String | +| Test.java:2246:34:2246:35 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2247:9:2247:45 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2247:20:2247:44 | (...)... : Iterable [] : String | semmle.label | (...)... : Iterable [] : String | +| Test.java:2247:30:2247:44 | getElement(...) : Object [] : String | semmle.label | getElement(...) : Object [] : String | +| Test.java:2247:41:2247:43 | out : List [, ] : String | semmle.label | out : List [, ] : String | +| Test.java:2252:18:2252:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2252:39:2252:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2252:47:2252:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2253:10:2253:70 | partition(...) : List [, ] : String | semmle.label | partition(...) : List [, ] : String | +| Test.java:2253:34:2253:35 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2254:9:2254:45 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2254:20:2254:44 | (...)... : Iterable [] : String | semmle.label | (...)... : Iterable [] : String | +| Test.java:2254:30:2254:44 | getElement(...) : Object [] : String | semmle.label | getElement(...) : Object [] : String | +| Test.java:2254:41:2254:43 | out : List [, ] : String | semmle.label | out : List [, ] : String | +| Test.java:2259:18:2259:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2259:39:2259:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2259:47:2259:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2260:10:2260:70 | partition(...) : List [, ] : String | semmle.label | partition(...) : List [, ] : String | +| Test.java:2260:34:2260:35 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2261:9:2261:45 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2261:20:2261:44 | (...)... : Iterable [] : String | semmle.label | (...)... : Iterable [] : String | +| Test.java:2261:30:2261:44 | getElement(...) : Object [] : String | semmle.label | getElement(...) : Object [] : String | +| Test.java:2261:41:2261:43 | out : List [, ] : String | semmle.label | out : List [, ] : String | +| Test.java:2266:18:2266:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2266:39:2266:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2266:47:2266:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2267:10:2267:43 | reversedIterable(...) : Iterable [] : String | semmle.label | reversedIterable(...) : Iterable [] : String | +| Test.java:2267:41:2267:42 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2268:9:2268:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2268:20:2268:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2273:18:2273:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2273:39:2273:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2273:47:2273:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2274:10:2274:47 | skippingIterable(...) : Iterable [] : String | semmle.label | skippingIterable(...) : Iterable [] : String | +| Test.java:2274:41:2274:42 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2275:9:2275:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2275:20:2275:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2280:18:2280:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2280:39:2280:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2280:47:2280:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2281:10:2281:33 | toList(...) : List [] : String | semmle.label | toList(...) : List [] : String | +| Test.java:2281:31:2281:32 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2282:9:2282:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2282:20:2282:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2287:16:2287:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2287:24:2287:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2288:10:2288:59 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2288:45:2288:46 | in : String | semmle.label | in : String | +| Test.java:2289:9:2289:11 | out | semmle.label | out | +| Test.java:2294:16:2294:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2294:24:2294:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2295:10:2295:59 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2295:51:2295:52 | in : String | semmle.label | in : String | +| Test.java:2296:9:2296:11 | out | semmle.label | out | +| Test.java:2301:16:2301:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2301:24:2301:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2302:10:2302:59 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2302:57:2302:58 | in : String | semmle.label | in : String | +| Test.java:2303:9:2303:11 | out | semmle.label | out | +| Test.java:2308:18:2308:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2308:39:2308:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2308:47:2308:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2309:10:2309:41 | uniqueIterable(...) : Iterable [] : String | semmle.label | uniqueIterable(...) : Iterable [] : String | +| Test.java:2309:39:2309:40 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2310:9:2310:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2310:20:2310:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2315:18:2315:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2315:39:2315:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2315:47:2315:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2316:10:2316:47 | unmodifiableIterable(...) : Iterable [] : String | semmle.label | unmodifiableIterable(...) : Iterable [] : String | +| Test.java:2316:45:2316:46 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2317:9:2317:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2317:20:2317:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2322:18:2322:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2322:39:2322:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2322:47:2322:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2323:10:2323:58 | zippingIterable(...) : Iterable [] : String | semmle.label | zippingIterable(...) : Iterable [] : String | +| Test.java:2323:56:2323:57 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2324:9:2324:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2324:20:2324:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2329:18:2329:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2329:39:2329:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2329:47:2329:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2330:10:2330:58 | zippingIterable(...) : Iterable [] : String | semmle.label | zippingIterable(...) : Iterable [] : String | +| Test.java:2330:56:2330:57 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2331:9:2331:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2331:20:2331:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2336:18:2336:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2336:39:2336:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2336:47:2336:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2337:10:2337:74 | zippingIterable(...) : Iterable [] : String | semmle.label | zippingIterable(...) : Iterable [] : String | +| Test.java:2337:40:2337:41 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2338:9:2338:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2338:20:2338:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2343:18:2343:55 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2343:39:2343:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2343:47:2343:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2344:10:2344:58 | zippingIterable(...) : Iterable [] : String | semmle.label | zippingIterable(...) : Iterable [] : String | +| Test.java:2344:40:2344:41 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2345:9:2345:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2345:20:2345:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2350:18:2350:54 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2350:38:2350:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2350:46:2350:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2351:10:2351:46 | arrayIterator(...) : ResettableIterator [] : String | semmle.label | arrayIterator(...) : ResettableIterator [] : String | +| Test.java:2351:38:2351:39 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:2352:9:2352:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2352:20:2352:22 | out : ResettableIterator [] : String | semmle.label | out : ResettableIterator [] : String | +| Test.java:2357:18:2357:54 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2357:38:2357:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2357:46:2357:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2358:10:2358:43 | arrayIterator(...) : ResettableIterator [] : String | semmle.label | arrayIterator(...) : ResettableIterator [] : String | +| Test.java:2358:38:2358:39 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:2359:9:2359:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2359:20:2359:22 | out : ResettableIterator [] : String | semmle.label | out : ResettableIterator [] : String | +| Test.java:2364:16:2364:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2365:10:2365:54 | arrayIterator(...) : ResettableIterator [] : Object | semmle.label | arrayIterator(...) : ResettableIterator [] : Object | +| Test.java:2365:10:2365:54 | new ..[] { .. } : Object[] [[]] : Object | semmle.label | new ..[] { .. } : Object[] [[]] : Object | +| Test.java:2365:38:2365:39 | in : Object | semmle.label | in : Object | +| Test.java:2366:9:2366:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2366:20:2366:22 | out : ResettableIterator [] : Object | semmle.label | out : ResettableIterator [] : Object | +| Test.java:2371:16:2371:52 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2371:36:2371:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2371:44:2371:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2372:10:2372:46 | arrayIterator(...) : ResettableIterator [] : String | semmle.label | arrayIterator(...) : ResettableIterator [] : String | +| Test.java:2372:38:2372:39 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:2373:9:2373:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2373:20:2373:22 | out : ResettableIterator [] : String | semmle.label | out : ResettableIterator [] : String | +| Test.java:2378:16:2378:52 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2378:36:2378:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2378:44:2378:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2379:10:2379:43 | arrayIterator(...) : ResettableIterator [] : String | semmle.label | arrayIterator(...) : ResettableIterator [] : String | +| Test.java:2379:38:2379:39 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:2380:9:2380:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2380:20:2380:22 | out : ResettableIterator [] : String | semmle.label | out : ResettableIterator [] : String | +| Test.java:2385:16:2385:52 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2385:36:2385:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2385:44:2385:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2386:10:2386:40 | arrayIterator(...) : ResettableIterator [] : String | semmle.label | arrayIterator(...) : ResettableIterator [] : String | +| Test.java:2386:38:2386:39 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:2387:9:2387:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2387:20:2387:22 | out : ResettableIterator [] : String | semmle.label | out : ResettableIterator [] : String | +| Test.java:2392:18:2392:54 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2392:38:2392:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2392:46:2392:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2393:10:2393:50 | arrayListIterator(...) : ResettableListIterator [] : String | semmle.label | arrayListIterator(...) : ResettableListIterator [] : String | +| Test.java:2393:42:2393:43 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:2394:9:2394:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2394:20:2394:22 | out : ResettableListIterator [] : String | semmle.label | out : ResettableListIterator [] : String | +| Test.java:2399:18:2399:54 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2399:38:2399:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2399:46:2399:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2400:10:2400:47 | arrayListIterator(...) : ResettableListIterator [] : String | semmle.label | arrayListIterator(...) : ResettableListIterator [] : String | +| Test.java:2400:42:2400:43 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:2401:9:2401:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2401:20:2401:22 | out : ResettableListIterator [] : String | semmle.label | out : ResettableListIterator [] : String | +| Test.java:2406:16:2406:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2407:10:2407:58 | arrayListIterator(...) : ResettableListIterator [] : Object | semmle.label | arrayListIterator(...) : ResettableListIterator [] : Object | +| Test.java:2407:10:2407:58 | new ..[] { .. } : Object[] [[]] : Object | semmle.label | new ..[] { .. } : Object[] [[]] : Object | +| Test.java:2407:42:2407:43 | in : Object | semmle.label | in : Object | +| Test.java:2408:9:2408:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2408:20:2408:22 | out : ResettableListIterator [] : Object | semmle.label | out : ResettableListIterator [] : Object | +| Test.java:2413:16:2413:52 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2413:36:2413:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2413:44:2413:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2414:10:2414:50 | arrayListIterator(...) : ResettableListIterator [] : String | semmle.label | arrayListIterator(...) : ResettableListIterator [] : String | +| Test.java:2414:42:2414:43 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:2415:9:2415:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2415:20:2415:22 | out : ResettableListIterator [] : String | semmle.label | out : ResettableListIterator [] : String | +| Test.java:2420:16:2420:52 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2420:36:2420:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2420:44:2420:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2421:10:2421:47 | arrayListIterator(...) : ResettableListIterator [] : String | semmle.label | arrayListIterator(...) : ResettableListIterator [] : String | +| Test.java:2421:42:2421:43 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:2422:9:2422:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2422:20:2422:22 | out : ResettableListIterator [] : String | semmle.label | out : ResettableListIterator [] : String | +| Test.java:2427:16:2427:52 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2427:36:2427:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2427:44:2427:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2428:10:2428:44 | arrayListIterator(...) : ResettableListIterator [] : String | semmle.label | arrayListIterator(...) : ResettableListIterator [] : String | +| Test.java:2428:42:2428:43 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:2429:9:2429:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2429:20:2429:22 | out : ResettableListIterator [] : String | semmle.label | out : ResettableListIterator [] : String | +| Test.java:2434:18:2434:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2434:45:2434:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2434:53:2434:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2435:10:2435:40 | asEnumeration(...) : Enumeration [] : String | semmle.label | asEnumeration(...) : Enumeration [] : String | +| Test.java:2435:38:2435:39 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2436:9:2436:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2436:20:2436:22 | out : Enumeration [] : String | semmle.label | out : Enumeration [] : String | +| Test.java:2441:18:2441:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2441:45:2441:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2441:53:2441:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2442:10:2442:37 | asIterable(...) : Iterable [] : String | semmle.label | asIterable(...) : Iterable [] : String | +| Test.java:2442:35:2442:36 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2443:9:2443:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2443:20:2443:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2448:21:2448:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | semmle.label | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:2448:47:2448:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2448:55:2448:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2449:10:2449:43 | asIterator(...) : Iterator [] : String | semmle.label | asIterator(...) : Iterator [] : String | +| Test.java:2449:35:2449:36 | in : IteratorEnumeration [] : String | semmle.label | in : IteratorEnumeration [] : String | +| Test.java:2450:9:2450:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2450:20:2450:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:2455:21:2455:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | semmle.label | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:2455:47:2455:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2455:55:2455:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2456:10:2456:37 | asIterator(...) : Iterator [] : String | semmle.label | asIterator(...) : Iterator [] : String | +| Test.java:2456:35:2456:36 | in : IteratorEnumeration [] : String | semmle.label | in : IteratorEnumeration [] : String | +| Test.java:2457:9:2457:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2457:20:2457:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:2462:18:2462:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2462:45:2462:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2462:53:2462:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2463:10:2463:48 | asMultipleUseIterable(...) : Iterable [] : String | semmle.label | asMultipleUseIterable(...) : Iterable [] : String | +| Test.java:2463:46:2463:47 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2464:9:2464:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2464:20:2464:22 | out : Iterable [] : String | semmle.label | out : Iterable [] : String | +| Test.java:2469:18:2469:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2469:45:2469:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2469:53:2469:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2470:10:2470:50 | boundedIterator(...) : BoundedIterator [] : String | semmle.label | boundedIterator(...) : BoundedIterator [] : String | +| Test.java:2470:40:2470:41 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2471:9:2471:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2471:20:2471:22 | out : BoundedIterator [] : String | semmle.label | out : BoundedIterator [] : String | +| Test.java:2476:18:2476:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2476:45:2476:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2476:53:2476:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2477:10:2477:46 | boundedIterator(...) : BoundedIterator [] : String | semmle.label | boundedIterator(...) : BoundedIterator [] : String | +| Test.java:2477:40:2477:41 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2478:9:2478:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2478:20:2478:22 | out : BoundedIterator [] : String | semmle.label | out : BoundedIterator [] : String | +| Test.java:2483:20:2483:79 | newVectorWithElement(...) : Vector [, ] : String | semmle.label | newVectorWithElement(...) : Vector [, ] : String | +| Test.java:2483:41:2483:78 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2483:62:2483:77 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2483:70:2483:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2484:10:2484:42 | chainedIterator(...) : Iterator [] : String | semmle.label | chainedIterator(...) : Iterator [] : String | +| Test.java:2484:40:2484:41 | in : Vector [, ] : String | semmle.label | in : Vector [, ] : String | +| Test.java:2485:9:2485:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2485:20:2485:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:2490:18:2490:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2490:45:2490:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2490:53:2490:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2491:10:2491:58 | chainedIterator(...) : Iterator [] : String | semmle.label | chainedIterator(...) : Iterator [] : String | +| Test.java:2491:40:2491:41 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2492:9:2492:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2492:20:2492:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:2497:18:2497:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2497:45:2497:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2497:53:2497:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2498:10:2498:48 | chainedIterator(...) : Iterator [] : String | semmle.label | chainedIterator(...) : Iterator [] : String | +| Test.java:2498:40:2498:41 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2499:9:2499:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2499:20:2499:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:2504:18:2504:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2504:45:2504:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2504:53:2504:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2505:10:2505:48 | chainedIterator(...) : Iterator [] : String | semmle.label | chainedIterator(...) : Iterator [] : String | +| Test.java:2505:46:2505:47 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2506:9:2506:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2506:20:2506:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:2511:20:2511:79 | newVectorWithElement(...) : Vector [, ] : String | semmle.label | newVectorWithElement(...) : Vector [, ] : String | +| Test.java:2511:41:2511:78 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2511:62:2511:77 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2511:70:2511:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2512:10:2512:61 | collatedIterator(...) : Iterator [] : String | semmle.label | collatedIterator(...) : Iterator [] : String | +| Test.java:2512:59:2512:60 | in : Vector [, ] : String | semmle.label | in : Vector [, ] : String | +| Test.java:2513:9:2513:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2513:20:2513:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:2518:18:2518:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2518:45:2518:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2518:53:2518:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2519:10:2519:61 | collatedIterator(...) : Iterator [] : String | semmle.label | collatedIterator(...) : Iterator [] : String | +| Test.java:2519:10:2519:61 | new ..[] { .. } : Iterator[] [[], ] : String | semmle.label | new ..[] { .. } : Iterator[] [[], ] : String | +| Test.java:2519:59:2519:60 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2520:9:2520:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2520:20:2520:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:2525:18:2525:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2525:45:2525:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2525:53:2525:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2526:10:2526:55 | collatedIterator(...) : Iterator [] : String | semmle.label | collatedIterator(...) : Iterator [] : String | +| Test.java:2526:47:2526:48 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2527:9:2527:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2527:20:2527:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:2532:18:2532:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2532:45:2532:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2532:53:2532:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2533:10:2533:55 | collatedIterator(...) : Iterator [] : String | semmle.label | collatedIterator(...) : Iterator [] : String | +| Test.java:2533:53:2533:54 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2534:9:2534:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2534:20:2534:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:2539:18:2539:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2539:45:2539:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2539:53:2539:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2540:10:2540:49 | filteredIterator(...) : Iterator [] : String | semmle.label | filteredIterator(...) : Iterator [] : String | +| Test.java:2540:41:2540:42 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2541:9:2541:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2541:20:2541:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:2546:22:2546:65 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2546:49:2546:64 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2546:57:2546:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2547:10:2547:53 | filteredListIterator(...) : ListIterator [] : String | semmle.label | filteredListIterator(...) : ListIterator [] : String | +| Test.java:2547:45:2547:46 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2548:9:2548:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2548:20:2548:22 | out : ListIterator [] : String | semmle.label | out : ListIterator [] : String | +| Test.java:2553:18:2553:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2553:45:2553:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2553:53:2553:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2554:10:2554:37 | find(...) : String | semmle.label | find(...) : String | +| Test.java:2554:29:2554:30 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2555:9:2555:11 | out | semmle.label | out | +| Test.java:2560:18:2560:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2560:45:2560:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2560:53:2560:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2561:10:2561:32 | first(...) : String | semmle.label | first(...) : String | +| Test.java:2561:30:2561:31 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2562:9:2562:11 | out | semmle.label | out | +| Test.java:2567:18:2567:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2567:45:2567:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2567:53:2567:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2568:10:2568:47 | forEachButLast(...) : String | semmle.label | forEachButLast(...) : String | +| Test.java:2568:39:2568:40 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2569:9:2569:11 | out | semmle.label | out | +| Test.java:2574:18:2574:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2574:45:2574:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2574:53:2574:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2575:10:2575:33 | get(...) : String | semmle.label | get(...) : String | +| Test.java:2575:28:2575:29 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2576:9:2576:11 | out | semmle.label | out | +| Test.java:2581:16:2581:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2582:10:2582:38 | getIterator(...) : Iterator [] : Object | semmle.label | getIterator(...) : Iterator [] : Object | +| Test.java:2582:36:2582:37 | in : Object | semmle.label | in : Object | +| Test.java:2583:9:2583:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2583:20:2583:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:2588:16:2588:52 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2588:36:2588:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2588:44:2588:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2589:10:2589:38 | getIterator(...) : Iterator [] : String | semmle.label | getIterator(...) : Iterator [] : String | +| Test.java:2589:36:2589:37 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:2590:9:2590:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2590:20:2590:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:2595:16:2595:53 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2595:37:2595:52 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2595:45:2595:52 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2596:10:2596:38 | getIterator(...) : Iterator [] : String | semmle.label | getIterator(...) : Iterator [] : String | +| Test.java:2596:36:2596:37 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2597:9:2597:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2597:20:2597:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:2602:13:2602:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:2602:36:2602:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2602:44:2602:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2603:10:2603:38 | getIterator(...) : Iterator [] : String | semmle.label | getIterator(...) : Iterator [] : String | +| Test.java:2603:36:2603:37 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:2604:9:2604:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2604:20:2604:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:2609:20:2609:57 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2609:41:2609:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2609:49:2609:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2610:10:2610:42 | loopingIterator(...) : ResettableIterator [] : String | semmle.label | loopingIterator(...) : ResettableIterator [] : String | +| Test.java:2610:40:2610:41 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2611:9:2611:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2611:20:2611:22 | out : ResettableIterator [] : String | semmle.label | out : ResettableIterator [] : String | +| Test.java:2616:14:2616:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2616:35:2616:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2616:43:2616:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2617:10:2617:46 | loopingListIterator(...) : ResettableListIterator [] : String | semmle.label | loopingListIterator(...) : ResettableListIterator [] : String | +| Test.java:2617:44:2617:45 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2618:9:2618:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2618:20:2618:22 | out : ResettableListIterator [] : String | semmle.label | out : ResettableListIterator [] : String | +| Test.java:2623:18:2623:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2623:45:2623:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2623:53:2623:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2624:10:2624:42 | peekingIterator(...) : Iterator [] : String | semmle.label | peekingIterator(...) : Iterator [] : String | +| Test.java:2624:40:2624:41 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2625:9:2625:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2625:20:2625:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:2630:18:2630:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2630:45:2630:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2630:53:2630:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2631:10:2631:43 | pushbackIterator(...) : Iterator [] : String | semmle.label | pushbackIterator(...) : Iterator [] : String | +| Test.java:2631:41:2631:42 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2632:9:2632:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2632:20:2632:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:2637:16:2637:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2638:10:2638:44 | singletonIterator(...) : ResettableIterator [] : Object | semmle.label | singletonIterator(...) : ResettableIterator [] : Object | +| Test.java:2638:42:2638:43 | in : Object | semmle.label | in : Object | +| Test.java:2639:9:2639:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2639:20:2639:22 | out : ResettableIterator [] : Object | semmle.label | out : ResettableIterator [] : Object | +| Test.java:2644:16:2644:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2645:10:2645:48 | singletonListIterator(...) : ListIterator [] : Object | semmle.label | singletonListIterator(...) : ListIterator [] : Object | +| Test.java:2645:46:2645:47 | in : Object | semmle.label | in : Object | +| Test.java:2646:9:2646:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2646:20:2646:22 | out : ListIterator [] : Object | semmle.label | out : ListIterator [] : Object | +| Test.java:2651:18:2651:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2651:45:2651:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2651:53:2651:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2652:10:2652:47 | skippingIterator(...) : SkippingIterator [] : String | semmle.label | skippingIterator(...) : SkippingIterator [] : String | +| Test.java:2652:41:2652:42 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2653:9:2653:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2653:20:2653:22 | out : SkippingIterator [] : String | semmle.label | out : SkippingIterator [] : String | +| Test.java:2658:18:2658:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2658:45:2658:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2658:53:2658:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2659:10:2659:40 | toArray(...) : Object[] [[]] : String | semmle.label | toArray(...) : Object[] [[]] : String | +| Test.java:2659:32:2659:33 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2660:9:2660:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:2660:25:2660:27 | out : Object[] [[]] : String | semmle.label | out : Object[] [[]] : String | +| Test.java:2665:18:2665:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2665:45:2665:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2665:53:2665:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2666:10:2666:34 | toArray(...) : Object[] [[]] : String | semmle.label | toArray(...) : Object[] [[]] : String | +| Test.java:2666:32:2666:33 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2667:9:2667:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:2667:25:2667:27 | out : Object[] [[]] : String | semmle.label | out : Object[] [[]] : String | +| Test.java:2672:18:2672:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2672:45:2672:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2672:53:2672:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2673:10:2673:36 | toList(...) : List [] : String | semmle.label | toList(...) : List [] : String | +| Test.java:2673:31:2673:32 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2674:9:2674:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2674:20:2674:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2679:18:2679:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2679:45:2679:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2679:53:2679:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2680:10:2680:33 | toList(...) : List [] : String | semmle.label | toList(...) : List [] : String | +| Test.java:2680:31:2680:32 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2681:9:2681:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2681:20:2681:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2686:18:2686:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2686:45:2686:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2686:53:2686:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2687:10:2687:41 | toListIterator(...) : ListIterator [] : String | semmle.label | toListIterator(...) : ListIterator [] : String | +| Test.java:2687:39:2687:40 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2688:9:2688:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2688:20:2688:22 | out : ListIterator [] : String | semmle.label | out : ListIterator [] : String | +| Test.java:2693:16:2693:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2693:24:2693:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2694:10:2694:59 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2694:45:2694:46 | in : String | semmle.label | in : String | +| Test.java:2695:9:2695:11 | out | semmle.label | out | +| Test.java:2700:16:2700:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2700:24:2700:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2701:10:2701:59 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2701:51:2701:52 | in : String | semmle.label | in : String | +| Test.java:2702:9:2702:11 | out | semmle.label | out | +| Test.java:2707:16:2707:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2707:24:2707:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2708:10:2708:59 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2708:57:2708:58 | in : String | semmle.label | in : String | +| Test.java:2709:9:2709:11 | out | semmle.label | out | +| Test.java:2714:18:2714:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2714:45:2714:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2714:53:2714:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2715:10:2715:47 | unmodifiableIterator(...) : Iterator [] : String | semmle.label | unmodifiableIterator(...) : Iterator [] : String | +| Test.java:2715:45:2715:46 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2716:9:2716:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2716:20:2716:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:2721:22:2721:65 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2721:49:2721:64 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2721:57:2721:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2722:10:2722:51 | unmodifiableListIterator(...) : ListIterator [] : String | semmle.label | unmodifiableListIterator(...) : ListIterator [] : String | +| Test.java:2722:49:2722:50 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2723:9:2723:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2723:20:2723:22 | out : ListIterator [] : String | semmle.label | out : ListIterator [] : String | +| Test.java:2728:21:2728:55 | newOMIWithElement(...) : OrderedMapIterator [] : String | semmle.label | newOMIWithElement(...) : OrderedMapIterator [] : String | +| Test.java:2728:39:2728:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2728:47:2728:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2729:10:2729:50 | unmodifiableMapIterator(...) : MapIterator [] : String | semmle.label | unmodifiableMapIterator(...) : MapIterator [] : String | +| Test.java:2729:48:2729:49 | in : OrderedMapIterator [] : String | semmle.label | in : OrderedMapIterator [] : String | +| Test.java:2730:9:2730:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2730:20:2730:22 | out : MapIterator [] : String | semmle.label | out : MapIterator [] : String | +| Test.java:2735:21:2735:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | semmle.label | newOMIWithMapValue(...) : OrderedMapIterator [] : String | +| Test.java:2735:40:2735:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2735:48:2735:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2736:10:2736:50 | unmodifiableMapIterator(...) : MapIterator [] : String | semmle.label | unmodifiableMapIterator(...) : MapIterator [] : String | +| Test.java:2736:48:2736:49 | in : OrderedMapIterator [] : String | semmle.label | in : OrderedMapIterator [] : String | +| Test.java:2737:9:2737:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2737:21:2737:23 | out : MapIterator [] : String | semmle.label | out : MapIterator [] : String | +| Test.java:2742:18:2742:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2742:45:2742:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2742:53:2742:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2743:10:2743:42 | new ..[] { .. } : Iterator[] [[], ] : String | semmle.label | new ..[] { .. } : Iterator[] [[], ] : String | +| Test.java:2743:10:2743:42 | zippingIterator(...) : ZippingIterator [] : String | semmle.label | zippingIterator(...) : ZippingIterator [] : String | +| Test.java:2743:40:2743:41 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2744:9:2744:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2744:20:2744:22 | out : ZippingIterator [] : String | semmle.label | out : ZippingIterator [] : String | +| Test.java:2749:18:2749:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2749:45:2749:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2749:53:2749:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2750:10:2750:48 | zippingIterator(...) : ZippingIterator [] : String | semmle.label | zippingIterator(...) : ZippingIterator [] : String | +| Test.java:2750:40:2750:41 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2751:9:2751:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2751:20:2751:22 | out : ZippingIterator [] : String | semmle.label | out : ZippingIterator [] : String | +| Test.java:2756:18:2756:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2756:45:2756:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2756:53:2756:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2757:10:2757:48 | zippingIterator(...) : ZippingIterator [] : String | semmle.label | zippingIterator(...) : ZippingIterator [] : String | +| Test.java:2757:46:2757:47 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2758:9:2758:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2758:20:2758:22 | out : ZippingIterator [] : String | semmle.label | out : ZippingIterator [] : String | +| Test.java:2763:18:2763:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2763:45:2763:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2763:53:2763:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2764:10:2764:54 | zippingIterator(...) : ZippingIterator [] : String | semmle.label | zippingIterator(...) : ZippingIterator [] : String | +| Test.java:2764:40:2764:41 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2765:9:2765:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2765:20:2765:22 | out : ZippingIterator [] : String | semmle.label | out : ZippingIterator [] : String | +| Test.java:2770:18:2770:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2770:45:2770:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2770:53:2770:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2771:10:2771:54 | zippingIterator(...) : ZippingIterator [] : String | semmle.label | zippingIterator(...) : ZippingIterator [] : String | +| Test.java:2771:46:2771:47 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2772:9:2772:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2772:20:2772:22 | out : ZippingIterator [] : String | semmle.label | out : ZippingIterator [] : String | +| Test.java:2777:18:2777:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2777:45:2777:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2777:53:2777:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2778:10:2778:54 | zippingIterator(...) : ZippingIterator [] : String | semmle.label | zippingIterator(...) : ZippingIterator [] : String | +| Test.java:2778:52:2778:53 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:2779:9:2779:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2779:20:2779:22 | out : ZippingIterator [] : String | semmle.label | out : ZippingIterator [] : String | +| Test.java:2784:14:2784:27 | (...)... : List | semmle.label | (...)... : List | +| Test.java:2784:20:2784:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2785:10:2785:42 | defaultIfNull(...) : List | semmle.label | defaultIfNull(...) : List | +| Test.java:2785:34:2785:35 | in : List | semmle.label | in : List | +| Test.java:2786:9:2786:11 | out | semmle.label | out | +| Test.java:2791:14:2791:27 | (...)... : List | semmle.label | (...)... : List | +| Test.java:2791:20:2791:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2792:10:2792:42 | defaultIfNull(...) : List | semmle.label | defaultIfNull(...) : List | +| Test.java:2792:40:2792:41 | in : List | semmle.label | in : List | +| Test.java:2793:9:2793:11 | out | semmle.label | out | +| Test.java:2798:14:2798:27 | (...)... : List | semmle.label | (...)... : List | +| Test.java:2798:20:2798:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2799:10:2799:34 | emptyIfNull(...) : List | semmle.label | emptyIfNull(...) : List | +| Test.java:2799:32:2799:33 | in : List | semmle.label | in : List | +| Test.java:2800:9:2800:11 | out | semmle.label | out | +| Test.java:2805:14:2805:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2805:35:2805:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2805:43:2805:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2806:10:2806:36 | fixedSizeList(...) : List [] : String | semmle.label | fixedSizeList(...) : List [] : String | +| Test.java:2806:34:2806:35 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2807:9:2807:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2807:20:2807:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2812:14:2812:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2812:35:2812:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2812:43:2812:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2813:10:2813:41 | intersection(...) : List [] : String | semmle.label | intersection(...) : List [] : String | +| Test.java:2813:33:2813:34 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2814:9:2814:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2814:20:2814:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2819:14:2819:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2819:35:2819:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2819:43:2819:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2820:10:2820:41 | intersection(...) : List [] : String | semmle.label | intersection(...) : List [] : String | +| Test.java:2820:39:2820:40 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2821:9:2821:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2821:20:2821:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2826:14:2826:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2826:35:2826:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2826:43:2826:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2827:10:2827:50 | lazyList(...) : List [] : String | semmle.label | lazyList(...) : List [] : String | +| Test.java:2827:29:2827:30 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2828:9:2828:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2828:20:2828:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2833:14:2833:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2833:35:2833:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2833:43:2833:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2834:10:2834:46 | lazyList(...) : List [] : String | semmle.label | lazyList(...) : List [] : String | +| Test.java:2834:29:2834:30 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2835:9:2835:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2835:20:2835:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2840:22:2840:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:2840:36:2840:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2841:10:2841:67 | longestCommonSubsequence(...) : String | semmle.label | longestCommonSubsequence(...) : String | +| Test.java:2841:45:2841:46 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:2842:9:2842:11 | out | semmle.label | out | +| Test.java:2847:22:2847:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:2847:36:2847:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2848:10:2848:67 | longestCommonSubsequence(...) : String | semmle.label | longestCommonSubsequence(...) : String | +| Test.java:2848:65:2848:66 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:2849:9:2849:11 | out | semmle.label | out | +| Test.java:2854:14:2854:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2854:35:2854:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2854:43:2854:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2855:10:2855:59 | longestCommonSubsequence(...) : List [] : String | semmle.label | longestCommonSubsequence(...) : List [] : String | +| Test.java:2855:45:2855:46 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2856:9:2856:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2856:20:2856:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2861:14:2861:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2861:35:2861:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2861:43:2861:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2862:10:2862:59 | longestCommonSubsequence(...) : List [] : String | semmle.label | longestCommonSubsequence(...) : List [] : String | +| Test.java:2862:57:2862:58 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2863:9:2863:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2863:20:2863:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2868:14:2868:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2868:35:2868:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2868:43:2868:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2869:10:2869:59 | longestCommonSubsequence(...) : List [] : String | semmle.label | longestCommonSubsequence(...) : List [] : String | +| Test.java:2869:45:2869:46 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2870:9:2870:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2870:20:2870:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2875:14:2875:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2875:35:2875:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2875:43:2875:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2876:10:2876:59 | longestCommonSubsequence(...) : List [] : String | semmle.label | longestCommonSubsequence(...) : List [] : String | +| Test.java:2876:51:2876:52 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2877:9:2877:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2877:20:2877:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2882:14:2882:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2882:35:2882:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2882:43:2882:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2883:10:2883:35 | partition(...) : List [, ] : String | semmle.label | partition(...) : List [, ] : String | +| Test.java:2883:30:2883:31 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2884:9:2884:45 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2884:20:2884:44 | (...)... : Iterable [] : String | semmle.label | (...)... : Iterable [] : String | +| Test.java:2884:30:2884:44 | getElement(...) : Object [] : String | semmle.label | getElement(...) : Object [] : String | +| Test.java:2884:41:2884:43 | out : List [, ] : String | semmle.label | out : List [, ] : String | +| Test.java:2889:14:2889:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2889:35:2889:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2889:43:2889:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2890:10:2890:43 | predicatedList(...) : List [] : String | semmle.label | predicatedList(...) : List [] : String | +| Test.java:2890:35:2890:36 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2891:9:2891:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2891:20:2891:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2896:20:2896:57 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2896:41:2896:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2896:49:2896:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2897:10:2897:38 | removeAll(...) : List [] : String | semmle.label | removeAll(...) : List [] : String | +| Test.java:2897:30:2897:31 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2898:9:2898:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2898:20:2898:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2903:20:2903:57 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2903:41:2903:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2903:49:2903:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2904:10:2904:38 | retainAll(...) : List [] : String | semmle.label | retainAll(...) : List [] : String | +| Test.java:2904:30:2904:31 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2905:9:2905:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2905:20:2905:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2910:20:2910:57 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2910:41:2910:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2910:49:2910:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2911:10:2911:35 | select(...) : List [] : String | semmle.label | select(...) : List [] : String | +| Test.java:2911:27:2911:28 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2912:9:2912:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2912:20:2912:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2917:20:2917:57 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2917:41:2917:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2917:49:2917:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2918:10:2918:43 | selectRejected(...) : List [] : String | semmle.label | selectRejected(...) : List [] : String | +| Test.java:2918:35:2918:36 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2919:9:2919:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2919:20:2919:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2924:14:2924:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2924:35:2924:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2924:43:2924:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2925:10:2925:37 | subtract(...) : List [] : String | semmle.label | subtract(...) : List [] : String | +| Test.java:2925:29:2925:30 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2926:9:2926:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2926:20:2926:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2931:14:2931:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2931:35:2931:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2931:43:2931:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2932:10:2932:32 | sum(...) : List [] : String | semmle.label | sum(...) : List [] : String | +| Test.java:2932:24:2932:25 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2933:9:2933:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2933:20:2933:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2938:14:2938:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2938:35:2938:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2938:43:2938:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2939:10:2939:32 | sum(...) : List [] : String | semmle.label | sum(...) : List [] : String | +| Test.java:2939:30:2939:31 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2940:9:2940:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2940:20:2940:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2945:14:2945:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2945:35:2945:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2945:43:2945:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2946:10:2946:39 | synchronizedList(...) : List [] : String | semmle.label | synchronizedList(...) : List [] : String | +| Test.java:2946:37:2946:38 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2947:9:2947:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2947:20:2947:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2952:14:2952:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2952:35:2952:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2952:43:2952:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2953:10:2953:44 | transformedList(...) : List [] : String | semmle.label | transformedList(...) : List [] : String | +| Test.java:2953:36:2953:37 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2954:9:2954:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2954:20:2954:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2959:14:2959:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2959:35:2959:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2959:43:2959:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2960:10:2960:34 | union(...) : List [] : String | semmle.label | union(...) : List [] : String | +| Test.java:2960:26:2960:27 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2961:9:2961:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2961:20:2961:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2966:14:2966:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2966:35:2966:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2966:43:2966:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2967:10:2967:34 | union(...) : List [] : String | semmle.label | union(...) : List [] : String | +| Test.java:2967:32:2967:33 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2968:9:2968:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2968:20:2968:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2973:14:2973:51 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:2973:35:2973:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2973:43:2973:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2974:10:2974:39 | unmodifiableList(...) : List [] : String | semmle.label | unmodifiableList(...) : List [] : String | +| Test.java:2974:37:2974:38 | in : Vector [] : String | semmle.label | in : Vector [] : String | +| Test.java:2975:9:2975:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:2975:20:2975:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:2980:21:2980:55 | newOMIWithElement(...) : OrderedMapIterator [] : String | semmle.label | newOMIWithElement(...) : OrderedMapIterator [] : String | +| Test.java:2980:39:2980:54 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2980:47:2980:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2981:10:2981:11 | in : OrderedMapIterator [] : String | semmle.label | in : OrderedMapIterator [] : String | +| Test.java:2981:10:2981:20 | getKey(...) : String | semmle.label | getKey(...) : String | +| Test.java:2982:9:2982:11 | out | semmle.label | out | +| Test.java:2987:21:2987:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | semmle.label | newOMIWithMapValue(...) : OrderedMapIterator [] : String | +| Test.java:2987:40:2987:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2987:48:2987:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2988:10:2988:11 | in : OrderedMapIterator [] : String | semmle.label | in : OrderedMapIterator [] : String | +| Test.java:2988:10:2988:22 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:2989:9:2989:11 | out | semmle.label | out | +| Test.java:2994:16:2994:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2995:4:2995:6 | out [post update] : MapIterator [] : Object | semmle.label | out [post update] : MapIterator [] : Object | +| Test.java:2995:17:2995:18 | in : Object | semmle.label | in : Object | +| Test.java:2996:9:2996:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2996:21:2996:23 | out : MapIterator [] : Object | semmle.label | out : MapIterator [] : Object | +| Test.java:3001:21:3001:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | semmle.label | newOMIWithMapValue(...) : OrderedMapIterator [] : String | +| Test.java:3001:40:3001:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3001:48:3001:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3002:10:3002:11 | in : OrderedMapIterator [] : String | semmle.label | in : OrderedMapIterator [] : String | +| Test.java:3002:10:3002:26 | setValue(...) : String | semmle.label | setValue(...) : String | +| Test.java:3003:9:3003:11 | out | semmle.label | out | +| Test.java:3008:18:3008:53 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:3008:18:3008:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3008:37:3008:52 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3008:45:3008:52 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3009:10:3009:33 | (...)... : Collection [] : Object | semmle.label | (...)... : Collection [] : Object | +| Test.java:3009:10:3009:33 | (...)... : Collection [] : String | semmle.label | (...)... : Collection [] : String | +| Test.java:3009:22:3009:23 | in : MultiValueMap [, ] : String | semmle.label | in : MultiValueMap [, ] : String | +| Test.java:3009:22:3009:23 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:3009:22:3009:33 | get(...) : Object [] : Object | semmle.label | get(...) : Object [] : Object | +| Test.java:3009:22:3009:33 | get(...) : Object [] : String | semmle.label | get(...) : Object [] : String | +| Test.java:3010:9:3010:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3010:20:3010:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:3010:20:3010:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:3015:16:3015:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3016:4:3016:6 | out [post update] : MultiValueMap [] : Object | semmle.label | out [post update] : MultiValueMap [] : Object | +| Test.java:3016:12:3016:13 | in : Object | semmle.label | in : Object | +| Test.java:3017:9:3017:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3017:19:3017:21 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:3022:16:3022:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3023:4:3023:6 | out [post update] : MultiMap [] : Object | semmle.label | out [post update] : MultiMap [] : Object | +| Test.java:3023:12:3023:13 | in : Object | semmle.label | in : Object | +| Test.java:3024:9:3024:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3024:19:3024:21 | out : MultiMap [] : Object | semmle.label | out : MultiMap [] : Object | +| Test.java:3029:16:3029:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3030:4:3030:6 | out [post update] : MultiValueMap [, ] : Object | semmle.label | out [post update] : MultiValueMap [, ] : Object | +| Test.java:3030:4:3030:6 | out [post update] : MultiValueMap [] : Object | semmle.label | out [post update] : MultiValueMap [] : Object | +| Test.java:3030:18:3030:19 | in : Object | semmle.label | in : Object | +| Test.java:3031:9:3031:48 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3031:20:3031:47 | (...)... : Collection | semmle.label | (...)... : Collection | +| Test.java:3031:20:3031:47 | (...)... : Collection [] : Object | semmle.label | (...)... : Collection [] : Object | +| Test.java:3031:32:3031:47 | getMapValue(...) : Object | semmle.label | getMapValue(...) : Object | +| Test.java:3031:32:3031:47 | getMapValue(...) : Object [] : Object | semmle.label | getMapValue(...) : Object [] : Object | +| Test.java:3031:44:3031:46 | out : MultiValueMap [, ] : Object | semmle.label | out : MultiValueMap [, ] : Object | +| Test.java:3031:44:3031:46 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:3036:16:3036:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3037:4:3037:6 | out [post update] : MultiMap [, ] : Object | semmle.label | out [post update] : MultiMap [, ] : Object | +| Test.java:3037:4:3037:6 | out [post update] : MultiMap [] : Object | semmle.label | out [post update] : MultiMap [] : Object | +| Test.java:3037:18:3037:19 | in : Object | semmle.label | in : Object | +| Test.java:3038:9:3038:48 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3038:20:3038:47 | (...)... : Collection | semmle.label | (...)... : Collection | +| Test.java:3038:20:3038:47 | (...)... : Collection [] : Object | semmle.label | (...)... : Collection [] : Object | +| Test.java:3038:32:3038:47 | getMapValue(...) : Object | semmle.label | getMapValue(...) : Object | +| Test.java:3038:32:3038:47 | getMapValue(...) : Object [] : Object | semmle.label | getMapValue(...) : Object [] : Object | +| Test.java:3038:44:3038:46 | out : MultiMap [, ] : Object | semmle.label | out : MultiMap [, ] : Object | +| Test.java:3038:44:3038:46 | out : MultiMap [] : Object | semmle.label | out : MultiMap [] : Object | +| Test.java:3043:23:3043:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:3043:23:3043:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3043:42:3043:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3043:50:3043:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3044:10:3044:11 | in : MultiValueMap [, ] : String | semmle.label | in : MultiValueMap [, ] : String | +| Test.java:3044:10:3044:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:3044:10:3044:20 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:3044:10:3044:20 | values(...) : Collection [] : String | semmle.label | values(...) : Collection [] : String | +| Test.java:3045:9:3045:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3045:20:3045:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:3045:20:3045:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:3050:18:3050:53 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:3050:18:3050:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3050:37:3050:52 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3050:45:3050:52 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3051:10:3051:11 | in : MultiValueMap [, ] : String | semmle.label | in : MultiValueMap [, ] : String | +| Test.java:3051:10:3051:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:3051:10:3051:20 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:3051:10:3051:20 | values(...) : Collection [] : String | semmle.label | values(...) : Collection [] : String | +| Test.java:3052:9:3052:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3052:20:3052:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:3052:20:3052:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:3057:24:3057:47 | (...)... : MultiValuedMap | semmle.label | (...)... : MultiValuedMap | +| Test.java:3057:40:3057:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3058:10:3058:38 | emptyIfNull(...) : MultiValuedMap | semmle.label | emptyIfNull(...) : MultiValuedMap | +| Test.java:3058:36:3058:37 | in : MultiValuedMap | semmle.label | in : MultiValuedMap | +| Test.java:3059:9:3059:11 | out | semmle.label | out | +| Test.java:3064:24:3064:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | semmle.label | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:3064:43:3064:58 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3064:51:3064:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3065:10:3065:11 | in : ArrayListValuedHashMap [] : String | semmle.label | in : ArrayListValuedHashMap [] : String | +| Test.java:3065:10:3065:21 | entries(...) : Collection [, ] : String | semmle.label | entries(...) : Collection [, ] : String | +| Test.java:3066:9:3066:43 | getMapKeyFromEntry(...) | semmle.label | getMapKeyFromEntry(...) | +| Test.java:3066:28:3066:42 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:3066:39:3066:41 | out : Collection [, ] : String | semmle.label | out : Collection [, ] : String | +| Test.java:3071:24:3071:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3071:45:3071:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3071:53:3071:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3072:10:3072:11 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:3072:10:3072:21 | entries(...) : Collection [, ] : String | semmle.label | entries(...) : Collection [, ] : String | +| Test.java:3073:9:3073:45 | getMapValueFromEntry(...) | semmle.label | getMapValueFromEntry(...) | +| Test.java:3073:30:3073:44 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:3073:41:3073:43 | out : Collection [, ] : String | semmle.label | out : Collection [, ] : String | +| Test.java:3078:24:3078:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3078:45:3078:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3078:53:3078:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3079:10:3079:46 | getCollection(...) : Collection [] : String | semmle.label | getCollection(...) : Collection [] : String | +| Test.java:3079:38:3079:39 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:3080:9:3080:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3080:20:3080:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:3085:24:3085:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3085:45:3085:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3085:53:3085:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3086:10:3086:47 | getValuesAsBag(...) : Bag [] : String | semmle.label | getValuesAsBag(...) : Bag [] : String | +| Test.java:3086:39:3086:40 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:3087:9:3087:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3087:20:3087:22 | out : Bag [] : String | semmle.label | out : Bag [] : String | +| Test.java:3092:24:3092:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3092:45:3092:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3092:53:3092:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3093:10:3093:48 | getValuesAsList(...) : List [] : String | semmle.label | getValuesAsList(...) : List [] : String | +| Test.java:3093:40:3093:41 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:3094:9:3094:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3094:20:3094:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:3099:24:3099:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3099:45:3099:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3099:53:3099:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3100:10:3100:47 | getValuesAsSet(...) : Set [] : String | semmle.label | getValuesAsSet(...) : Set [] : String | +| Test.java:3100:39:3100:40 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:3101:9:3101:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3101:20:3101:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:3106:24:3106:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | semmle.label | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:3106:43:3106:58 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3106:51:3106:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3107:10:3107:64 | transformedMultiValuedMap(...) : MultiValuedMap [] : String | semmle.label | transformedMultiValuedMap(...) : MultiValuedMap [] : String | +| Test.java:3107:50:3107:51 | in : ArrayListValuedHashMap [] : String | semmle.label | in : ArrayListValuedHashMap [] : String | +| Test.java:3108:9:3108:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3108:19:3108:21 | out : MultiValuedMap [] : String | semmle.label | out : MultiValuedMap [] : String | +| Test.java:3113:24:3113:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3113:45:3113:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3113:53:3113:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3114:10:3114:64 | transformedMultiValuedMap(...) : MultiValuedMap [, ] : String | semmle.label | transformedMultiValuedMap(...) : MultiValuedMap [, ] : String | +| Test.java:3114:50:3114:51 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:3115:9:3115:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3115:20:3115:35 | getMapValue(...) : Collection [] : String | semmle.label | getMapValue(...) : Collection [] : String | +| Test.java:3115:32:3115:34 | out : MultiValuedMap [, ] : String | semmle.label | out : MultiValuedMap [, ] : String | +| Test.java:3120:24:3120:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | semmle.label | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:3120:43:3120:58 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3120:51:3120:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3121:10:3121:53 | unmodifiableMultiValuedMap(...) : MultiValuedMap [] : String | semmle.label | unmodifiableMultiValuedMap(...) : MultiValuedMap [] : String | +| Test.java:3121:51:3121:52 | in : ArrayListValuedHashMap [] : String | semmle.label | in : ArrayListValuedHashMap [] : String | +| Test.java:3122:9:3122:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3122:19:3122:21 | out : MultiValuedMap [] : String | semmle.label | out : MultiValuedMap [] : String | +| Test.java:3127:24:3127:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3127:45:3127:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3127:53:3127:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3128:10:3128:53 | unmodifiableMultiValuedMap(...) : MultiValuedMap [, ] : String | semmle.label | unmodifiableMultiValuedMap(...) : MultiValuedMap [, ] : String | +| Test.java:3128:51:3128:52 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:3129:9:3129:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3129:20:3129:35 | getMapValue(...) : Collection [] : String | semmle.label | getMapValue(...) : Collection [] : String | +| Test.java:3129:32:3129:34 | out : MultiValuedMap [, ] : String | semmle.label | out : MultiValuedMap [, ] : String | +| Test.java:3134:24:3134:68 | newMultiSetEntryWithElement(...) : Entry [] : String | semmle.label | newMultiSetEntryWithElement(...) : Entry [] : String | +| Test.java:3134:52:3134:67 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3134:60:3134:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3135:10:3135:11 | in : Entry [] : String | semmle.label | in : Entry [] : String | +| Test.java:3135:10:3135:24 | getElement(...) : String | semmle.label | getElement(...) : String | +| Test.java:3136:9:3136:11 | out | semmle.label | out | +| Test.java:3141:16:3141:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3142:4:3142:6 | out [post update] : MultiSet [] : Object | semmle.label | out [post update] : MultiSet [] : Object | +| Test.java:3142:12:3142:13 | in : Object | semmle.label | in : Object | +| Test.java:3143:9:3143:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3143:20:3143:22 | out : MultiSet [] : Object | semmle.label | out : MultiSet [] : Object | +| Test.java:3148:16:3148:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3149:4:3149:6 | out [post update] : MultiSet [] : Object | semmle.label | out [post update] : MultiSet [] : Object | +| Test.java:3149:12:3149:13 | in : Object | semmle.label | in : Object | +| Test.java:3150:9:3150:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3150:20:3150:22 | out : MultiSet [] : Object | semmle.label | out : MultiSet [] : Object | +| Test.java:3155:18:3155:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | semmle.label | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:3155:41:3155:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3155:49:3155:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3156:10:3156:11 | in : HashMultiSet [] : String | semmle.label | in : HashMultiSet [] : String | +| Test.java:3156:10:3156:22 | entrySet(...) : Set [, ] : String | semmle.label | entrySet(...) : Set [, ] : String | +| Test.java:3157:9:3157:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3157:20:3157:34 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:3157:31:3157:33 | out : Set [, ] : String | semmle.label | out : Set [, ] : String | +| Test.java:3162:18:3162:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | semmle.label | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:3162:41:3162:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3162:49:3162:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3163:10:3163:11 | in : HashMultiSet [] : String | semmle.label | in : HashMultiSet [] : String | +| Test.java:3163:10:3163:23 | uniqueSet(...) : Set [] : String | semmle.label | uniqueSet(...) : Set [] : String | +| Test.java:3164:9:3164:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3164:20:3164:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:3169:18:3169:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | semmle.label | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:3169:41:3169:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3169:49:3169:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3170:10:3170:51 | predicatedMultiSet(...) : MultiSet [] : String | semmle.label | predicatedMultiSet(...) : MultiSet [] : String | +| Test.java:3170:43:3170:44 | in : HashMultiSet [] : String | semmle.label | in : HashMultiSet [] : String | +| Test.java:3171:9:3171:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3171:20:3171:22 | out : MultiSet [] : String | semmle.label | out : MultiSet [] : String | +| Test.java:3176:18:3176:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | semmle.label | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:3176:41:3176:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3176:49:3176:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3177:10:3177:47 | synchronizedMultiSet(...) : MultiSet [] : String | semmle.label | synchronizedMultiSet(...) : MultiSet [] : String | +| Test.java:3177:45:3177:46 | in : HashMultiSet [] : String | semmle.label | in : HashMultiSet [] : String | +| Test.java:3178:9:3178:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3178:20:3178:22 | out : MultiSet [] : String | semmle.label | out : MultiSet [] : String | +| Test.java:3183:18:3183:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | semmle.label | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:3183:41:3183:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3183:49:3183:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3184:10:3184:47 | unmodifiableMultiSet(...) : MultiSet [] : String | semmle.label | unmodifiableMultiSet(...) : MultiSet [] : String | +| Test.java:3184:45:3184:46 | in : HashMultiSet [] : String | semmle.label | in : HashMultiSet [] : String | +| Test.java:3185:9:3185:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3185:20:3185:22 | out : MultiSet [] : String | semmle.label | out : MultiSet [] : String | +| Test.java:3190:24:3190:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3190:45:3190:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3190:53:3190:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3191:10:3191:11 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:3191:10:3191:19 | asMap(...) : Map [, ] : String | semmle.label | asMap(...) : Map [, ] : String | +| Test.java:3192:9:3192:48 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3192:20:3192:47 | (...)... : Collection [] : String | semmle.label | (...)... : Collection [] : String | +| Test.java:3192:32:3192:47 | getMapValue(...) : Object [] : String | semmle.label | getMapValue(...) : Object [] : String | +| Test.java:3192:44:3192:46 | out : Map [, ] : String | semmle.label | out : Map [, ] : String | +| Test.java:3197:24:3197:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | semmle.label | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:3197:43:3197:58 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3197:51:3197:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3198:10:3198:11 | in : ArrayListValuedHashMap [] : String | semmle.label | in : ArrayListValuedHashMap [] : String | +| Test.java:3198:10:3198:19 | asMap(...) : Map [] : String | semmle.label | asMap(...) : Map [] : String | +| Test.java:3199:9:3199:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3199:19:3199:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:3204:22:3204:59 | newHSVHMWithMapValue(...) : HashSetValuedHashMap [, ] : String | semmle.label | newHSVHMWithMapValue(...) : HashSetValuedHashMap [, ] : String | +| Test.java:3204:43:3204:58 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3204:51:3204:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3205:10:3205:11 | in : HashSetValuedHashMap [, ] : String | semmle.label | in : HashSetValuedHashMap [, ] : String | +| Test.java:3205:10:3205:21 | get(...) : Set [] : String | semmle.label | get(...) : Set [] : String | +| Test.java:3206:9:3206:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3206:20:3206:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:3211:23:3211:60 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3211:44:3211:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3211:52:3211:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3212:10:3212:11 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:3212:10:3212:21 | get(...) : List [] : String | semmle.label | get(...) : List [] : String | +| Test.java:3213:9:3213:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3213:20:3213:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:3218:24:3218:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3218:45:3218:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3218:53:3218:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3219:10:3219:11 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:3219:10:3219:21 | get(...) : Collection [] : String | semmle.label | get(...) : Collection [] : String | +| Test.java:3220:9:3220:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3220:20:3220:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:3225:24:3225:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | semmle.label | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:3225:43:3225:58 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3225:51:3225:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3226:10:3226:11 | in : ArrayListValuedHashMap [] : String | semmle.label | in : ArrayListValuedHashMap [] : String | +| Test.java:3226:10:3226:20 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:3227:9:3227:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3227:20:3227:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:3232:24:3232:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | semmle.label | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:3232:43:3232:58 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3232:51:3232:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3233:10:3233:11 | in : ArrayListValuedHashMap [] : String | semmle.label | in : ArrayListValuedHashMap [] : String | +| Test.java:3233:10:3233:18 | keys(...) : MultiSet [] : String | semmle.label | keys(...) : MultiSet [] : String | +| Test.java:3234:9:3234:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3234:20:3234:22 | out : MultiSet [] : String | semmle.label | out : MultiSet [] : String | +| Test.java:3239:24:3239:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3239:45:3239:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3239:53:3239:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3240:10:3240:11 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:3240:10:3240:25 | mapIterator(...) : MapIterator [] : String | semmle.label | mapIterator(...) : MapIterator [] : String | +| Test.java:3241:9:3241:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3241:21:3241:23 | out : MapIterator [] : String | semmle.label | out : MapIterator [] : String | +| Test.java:3246:24:3246:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | semmle.label | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:3246:43:3246:58 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3246:51:3246:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3247:10:3247:11 | in : ArrayListValuedHashMap [] : String | semmle.label | in : ArrayListValuedHashMap [] : String | +| Test.java:3247:10:3247:25 | mapIterator(...) : MapIterator [] : String | semmle.label | mapIterator(...) : MapIterator [] : String | +| Test.java:3248:9:3248:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3248:20:3248:22 | out : MapIterator [] : String | semmle.label | out : MapIterator [] : String | +| Test.java:3253:16:3253:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3254:4:3254:6 | out [post update] : MultiValuedMap [] : Object | semmle.label | out [post update] : MultiValuedMap [] : Object | +| Test.java:3254:12:3254:13 | in : Object | semmle.label | in : Object | +| Test.java:3255:9:3255:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3255:19:3255:21 | out : MultiValuedMap [] : Object | semmle.label | out : MultiValuedMap [] : Object | +| Test.java:3260:16:3260:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3261:4:3261:6 | out [post update] : MultiValuedMap [, ] : Object | semmle.label | out [post update] : MultiValuedMap [, ] : Object | +| Test.java:3261:18:3261:19 | in : Object | semmle.label | in : Object | +| Test.java:3262:9:3262:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3262:20:3262:35 | getMapValue(...) : Collection [] : Object | semmle.label | getMapValue(...) : Collection [] : Object | +| Test.java:3262:32:3262:34 | out : MultiValuedMap [, ] : Object | semmle.label | out : MultiValuedMap [, ] : Object | +| Test.java:3267:13:3267:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:3267:34:3267:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3267:42:3267:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3268:4:3268:6 | out [post update] : MultiValuedMap [] : String | semmle.label | out [post update] : MultiValuedMap [] : String | +| Test.java:3268:15:3268:16 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:3269:9:3269:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3269:19:3269:21 | out : MultiValuedMap [] : String | semmle.label | out : MultiValuedMap [] : String | +| Test.java:3274:13:3274:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:3274:36:3274:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3274:44:3274:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3275:4:3275:6 | out [post update] : MultiValuedMap [, ] : String | semmle.label | out [post update] : MultiValuedMap [, ] : String | +| Test.java:3275:15:3275:16 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:3276:9:3276:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3276:20:3276:35 | getMapValue(...) : Collection [] : String | semmle.label | getMapValue(...) : Collection [] : String | +| Test.java:3276:32:3276:34 | out : MultiValuedMap [, ] : String | semmle.label | out : MultiValuedMap [, ] : String | +| Test.java:3281:24:3281:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3281:45:3281:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3281:53:3281:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3282:4:3282:6 | out [post update] : MultiValuedMap [, ] : String | semmle.label | out [post update] : MultiValuedMap [, ] : String | +| Test.java:3282:15:3282:16 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:3283:9:3283:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3283:20:3283:35 | getMapValue(...) : Collection [] : String | semmle.label | getMapValue(...) : Collection [] : String | +| Test.java:3283:32:3283:34 | out : MultiValuedMap [, ] : String | semmle.label | out : MultiValuedMap [, ] : String | +| Test.java:3288:24:3288:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | semmle.label | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:3288:43:3288:58 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3288:51:3288:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3289:4:3289:6 | out [post update] : MultiValuedMap [] : String | semmle.label | out [post update] : MultiValuedMap [] : String | +| Test.java:3289:15:3289:16 | in : ArrayListValuedHashMap [] : String | semmle.label | in : ArrayListValuedHashMap [] : String | +| Test.java:3290:9:3290:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3290:19:3290:21 | out : MultiValuedMap [] : String | semmle.label | out : MultiValuedMap [] : String | +| Test.java:3295:16:3295:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3296:4:3296:6 | out [post update] : MultiValuedMap [] : Object | semmle.label | out [post update] : MultiValuedMap [] : Object | +| Test.java:3296:15:3296:16 | in : Object | semmle.label | in : Object | +| Test.java:3297:9:3297:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3297:19:3297:21 | out : MultiValuedMap [] : Object | semmle.label | out : MultiValuedMap [] : Object | +| Test.java:3302:18:3302:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | semmle.label | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:3302:47:3302:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3302:55:3302:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3303:4:3303:6 | out [post update] : MultiValuedMap [, ] : String | semmle.label | out [post update] : MultiValuedMap [, ] : String | +| Test.java:3303:21:3303:22 | in : FluentIterable [] : String | semmle.label | in : FluentIterable [] : String | +| Test.java:3304:9:3304:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3304:20:3304:35 | getMapValue(...) : Collection [] : String | semmle.label | getMapValue(...) : Collection [] : String | +| Test.java:3304:32:3304:34 | out : MultiValuedMap [, ] : String | semmle.label | out : MultiValuedMap [, ] : String | +| Test.java:3309:22:3309:59 | newHSVHMWithMapValue(...) : HashSetValuedHashMap [, ] : String | semmle.label | newHSVHMWithMapValue(...) : HashSetValuedHashMap [, ] : String | +| Test.java:3309:43:3309:58 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3309:51:3309:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3310:10:3310:11 | in : HashSetValuedHashMap [, ] : String | semmle.label | in : HashSetValuedHashMap [, ] : String | +| Test.java:3310:10:3310:24 | remove(...) : Set [] : String | semmle.label | remove(...) : Set [] : String | +| Test.java:3311:9:3311:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3311:20:3311:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:3316:23:3316:60 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3316:44:3316:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3316:52:3316:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3317:10:3317:11 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:3317:10:3317:24 | remove(...) : List [] : String | semmle.label | remove(...) : List [] : String | +| Test.java:3318:9:3318:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3318:20:3318:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:3323:24:3323:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3323:45:3323:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3323:53:3323:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3324:10:3324:11 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:3324:10:3324:24 | remove(...) : Collection [] : String | semmle.label | remove(...) : Collection [] : String | +| Test.java:3325:9:3325:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3325:20:3325:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:3330:24:3330:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3330:45:3330:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3330:53:3330:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3331:10:3331:11 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:3331:10:3331:20 | values(...) : Collection [] : String | semmle.label | values(...) : Collection [] : String | +| Test.java:3332:9:3332:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3332:20:3332:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:3337:28:3337:62 | newOMIWithElement(...) : OrderedMapIterator [] : String | semmle.label | newOMIWithElement(...) : OrderedMapIterator [] : String | +| Test.java:3337:46:3337:61 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3337:54:3337:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3338:10:3338:11 | in : OrderedMapIterator [] : String | semmle.label | in : OrderedMapIterator [] : String | +| Test.java:3338:10:3338:22 | previous(...) : String | semmle.label | previous(...) : String | +| Test.java:3339:9:3339:11 | out | semmle.label | out | +| Test.java:3344:25:3344:59 | newOMIWithElement(...) : OrderedMapIterator [] : String | semmle.label | newOMIWithElement(...) : OrderedMapIterator [] : String | +| Test.java:3344:43:3344:58 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3344:51:3344:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3345:10:3345:11 | in : OrderedMapIterator [] : String | semmle.label | in : OrderedMapIterator [] : String | +| Test.java:3345:10:3345:22 | previous(...) : String | semmle.label | previous(...) : String | +| Test.java:3346:9:3346:11 | out | semmle.label | out | +| Test.java:3351:20:3351:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | semmle.label | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:3351:45:3351:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3351:53:3351:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3352:10:3352:11 | in : TreeBidiMap [] : String | semmle.label | in : TreeBidiMap [] : String | +| Test.java:3352:10:3352:22 | firstKey(...) : String | semmle.label | firstKey(...) : String | +| Test.java:3353:9:3353:11 | out | semmle.label | out | +| Test.java:3358:20:3358:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | semmle.label | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:3358:45:3358:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3358:53:3358:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3359:10:3359:11 | in : TreeBidiMap [] : String | semmle.label | in : TreeBidiMap [] : String | +| Test.java:3359:10:3359:21 | lastKey(...) : String | semmle.label | lastKey(...) : String | +| Test.java:3360:9:3360:11 | out | semmle.label | out | +| Test.java:3365:20:3365:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | semmle.label | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:3365:45:3365:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3365:53:3365:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3366:10:3366:11 | in : TreeBidiMap [] : String | semmle.label | in : TreeBidiMap [] : String | +| Test.java:3366:10:3366:25 | nextKey(...) : String | semmle.label | nextKey(...) : String | +| Test.java:3367:9:3367:11 | out | semmle.label | out | +| Test.java:3372:20:3372:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | semmle.label | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:3372:45:3372:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3372:53:3372:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3373:10:3373:11 | in : TreeBidiMap [] : String | semmle.label | in : TreeBidiMap [] : String | +| Test.java:3373:10:3373:29 | previousKey(...) : String | semmle.label | previousKey(...) : String | +| Test.java:3374:9:3374:11 | out | semmle.label | out | +| Test.java:3379:16:3379:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3380:4:3380:6 | out [post update] : Put [] : Object | semmle.label | out [post update] : Put [] : Object | +| Test.java:3380:12:3380:13 | in : Object | semmle.label | in : Object | +| Test.java:3381:9:3381:29 | getMapKeyFromPut(...) | semmle.label | getMapKeyFromPut(...) | +| Test.java:3381:26:3381:28 | out : Put [] : Object | semmle.label | out : Put [] : Object | +| Test.java:3386:16:3386:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3387:4:3387:6 | out [post update] : MultiValueMap [] : Object | semmle.label | out [post update] : MultiValueMap [] : Object | +| Test.java:3387:12:3387:13 | in : Object | semmle.label | in : Object | +| Test.java:3388:9:3388:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3388:19:3388:21 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:3393:16:3393:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3394:4:3394:6 | out [post update] : MultiMap [] : Object | semmle.label | out [post update] : MultiMap [] : Object | +| Test.java:3394:12:3394:13 | in : Object | semmle.label | in : Object | +| Test.java:3395:9:3395:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3395:19:3395:21 | out : MultiMap [] : Object | semmle.label | out : MultiMap [] : Object | +| Test.java:3400:16:3400:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3401:4:3401:6 | out [post update] : BidiMap [] : Object | semmle.label | out [post update] : BidiMap [] : Object | +| Test.java:3401:12:3401:13 | in : Object | semmle.label | in : Object | +| Test.java:3402:9:3402:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3402:19:3402:21 | out : BidiMap [] : Object | semmle.label | out : BidiMap [] : Object | +| Test.java:3407:16:3407:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3408:4:3408:6 | out [post update] : AbstractMapDecorator [] : Object | semmle.label | out [post update] : AbstractMapDecorator [] : Object | +| Test.java:3408:12:3408:13 | in : Object | semmle.label | in : Object | +| Test.java:3409:9:3409:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3409:19:3409:21 | out : AbstractMapDecorator [] : Object | semmle.label | out : AbstractMapDecorator [] : Object | +| Test.java:3414:16:3414:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3415:4:3415:6 | out [post update] : Put [] : Object | semmle.label | out [post update] : Put [] : Object | +| Test.java:3415:18:3415:19 | in : Object | semmle.label | in : Object | +| Test.java:3416:9:3416:31 | getMapValueFromPut(...) | semmle.label | getMapValueFromPut(...) | +| Test.java:3416:28:3416:30 | out : Put [] : Object | semmle.label | out : Put [] : Object | +| Test.java:3421:16:3421:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3422:4:3422:6 | out [post update] : MultiValueMap [] : Object | semmle.label | out [post update] : MultiValueMap [] : Object | +| Test.java:3422:18:3422:19 | in : Object | semmle.label | in : Object | +| Test.java:3423:9:3423:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3423:21:3423:23 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:3428:16:3428:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3429:4:3429:6 | out [post update] : MultiMap [] : Object | semmle.label | out [post update] : MultiMap [] : Object | +| Test.java:3429:18:3429:19 | in : Object | semmle.label | in : Object | +| Test.java:3430:9:3430:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3430:21:3430:23 | out : MultiMap [] : Object | semmle.label | out : MultiMap [] : Object | +| Test.java:3435:16:3435:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3436:4:3436:6 | out [post update] : BidiMap [] : Object | semmle.label | out [post update] : BidiMap [] : Object | +| Test.java:3436:18:3436:19 | in : Object | semmle.label | in : Object | +| Test.java:3437:9:3437:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3437:21:3437:23 | out : BidiMap [] : Object | semmle.label | out : BidiMap [] : Object | +| Test.java:3442:16:3442:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3443:4:3443:6 | out [post update] : AbstractMapDecorator [] : Object | semmle.label | out [post update] : AbstractMapDecorator [] : Object | +| Test.java:3443:18:3443:19 | in : Object | semmle.label | in : Object | +| Test.java:3444:9:3444:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3444:21:3444:23 | out : AbstractMapDecorator [] : Object | semmle.label | out : AbstractMapDecorator [] : Object | +| Test.java:3449:13:3449:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | semmle.label | newHashedMapWithMapValue(...) : HashedMap [] : String | +| Test.java:3449:38:3449:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3449:46:3449:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3450:10:3450:11 | in : HashedMap [] : String | semmle.label | in : HashedMap [] : String | +| Test.java:3450:10:3450:27 | put(...) : String | semmle.label | put(...) : String | +| Test.java:3451:9:3451:11 | out | semmle.label | out | +| Test.java:3456:23:3456:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3456:42:3456:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3456:50:3456:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3457:10:3457:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:3457:10:3457:27 | put(...) : String | semmle.label | put(...) : String | +| Test.java:3458:9:3458:11 | out | semmle.label | out | +| Test.java:3463:18:3463:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3463:37:3463:52 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3463:45:3463:52 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3464:10:3464:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:3464:10:3464:27 | put(...) : String | semmle.label | put(...) : String | +| Test.java:3465:9:3465:11 | out | semmle.label | out | +| Test.java:3470:17:3470:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | semmle.label | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | +| Test.java:3470:44:3470:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3470:52:3470:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3471:10:3471:11 | in : TreeBidiMap [] : String | semmle.label | in : TreeBidiMap [] : String | +| Test.java:3471:10:3471:27 | put(...) : String | semmle.label | put(...) : String | +| Test.java:3472:9:3472:11 | out | semmle.label | out | +| Test.java:3477:30:3477:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3477:49:3477:64 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3477:57:3477:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3478:10:3478:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:3478:10:3478:27 | put(...) : String | semmle.label | put(...) : String | +| Test.java:3479:9:3479:11 | out | semmle.label | out | +| Test.java:3484:13:3484:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:3484:34:3484:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3484:42:3484:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3485:4:3485:6 | out [post update] : Put [] : String | semmle.label | out [post update] : Put [] : String | +| Test.java:3485:15:3485:16 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:3486:9:3486:29 | getMapKeyFromPut(...) | semmle.label | getMapKeyFromPut(...) | +| Test.java:3486:26:3486:28 | out : Put [] : String | semmle.label | out : Put [] : String | +| Test.java:3491:13:3491:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:3491:34:3491:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3491:42:3491:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3492:4:3492:6 | out [post update] : MultiValueMap [] : String | semmle.label | out [post update] : MultiValueMap [] : String | +| Test.java:3492:15:3492:16 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:3493:9:3493:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3493:19:3493:21 | out : MultiValueMap [] : String | semmle.label | out : MultiValueMap [] : String | +| Test.java:3498:13:3498:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:3498:34:3498:49 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3498:42:3498:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3499:4:3499:6 | out [post update] : AbstractMapDecorator [] : String | semmle.label | out [post update] : AbstractMapDecorator [] : String | +| Test.java:3499:15:3499:16 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:3500:9:3500:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3500:19:3500:21 | out : AbstractMapDecorator [] : String | semmle.label | out : AbstractMapDecorator [] : String | +| Test.java:3505:13:3505:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:3505:36:3505:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3505:44:3505:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3506:4:3506:6 | out [post update] : Put [] : String | semmle.label | out [post update] : Put [] : String | +| Test.java:3506:15:3506:16 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:3507:9:3507:31 | getMapValueFromPut(...) | semmle.label | getMapValueFromPut(...) | +| Test.java:3507:28:3507:30 | out : Put [] : String | semmle.label | out : Put [] : String | +| Test.java:3512:13:3512:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:3512:36:3512:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3512:44:3512:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3513:4:3513:6 | out [post update] : MultiValueMap [] : String | semmle.label | out [post update] : MultiValueMap [] : String | +| Test.java:3513:15:3513:16 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:3514:9:3514:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3514:21:3514:23 | out : MultiValueMap [] : String | semmle.label | out : MultiValueMap [] : String | +| Test.java:3519:13:3519:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:3519:36:3519:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3519:44:3519:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3520:4:3520:6 | out [post update] : AbstractMapDecorator [] : String | semmle.label | out [post update] : AbstractMapDecorator [] : String | +| Test.java:3520:15:3520:16 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:3521:9:3521:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3521:21:3521:23 | out : AbstractMapDecorator [] : String | semmle.label | out : AbstractMapDecorator [] : String | +| Test.java:3526:15:3526:51 | newQueueWithElement(...) : LinkedList [] : String | semmle.label | newQueueWithElement(...) : LinkedList [] : String | +| Test.java:3526:35:3526:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3526:43:3526:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3527:10:3527:45 | predicatedQueue(...) : Queue [] : String | semmle.label | predicatedQueue(...) : Queue [] : String | +| Test.java:3527:37:3527:38 | in : LinkedList [] : String | semmle.label | in : LinkedList [] : String | +| Test.java:3528:9:3528:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3528:20:3528:22 | out : Queue [] : String | semmle.label | out : Queue [] : String | +| Test.java:3533:15:3533:51 | newQueueWithElement(...) : LinkedList [] : String | semmle.label | newQueueWithElement(...) : LinkedList [] : String | +| Test.java:3533:35:3533:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3533:43:3533:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3534:10:3534:41 | synchronizedQueue(...) : Queue [] : String | semmle.label | synchronizedQueue(...) : Queue [] : String | +| Test.java:3534:39:3534:40 | in : LinkedList [] : String | semmle.label | in : LinkedList [] : String | +| Test.java:3535:9:3535:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3535:20:3535:22 | out : Queue [] : String | semmle.label | out : Queue [] : String | +| Test.java:3540:15:3540:51 | newQueueWithElement(...) : LinkedList [] : String | semmle.label | newQueueWithElement(...) : LinkedList [] : String | +| Test.java:3540:35:3540:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3540:43:3540:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3541:10:3541:47 | transformingQueue(...) : Queue [] : String | semmle.label | transformingQueue(...) : Queue [] : String | +| Test.java:3541:39:3541:40 | in : LinkedList [] : String | semmle.label | in : LinkedList [] : String | +| Test.java:3542:9:3542:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3542:20:3542:22 | out : Queue [] : String | semmle.label | out : Queue [] : String | +| Test.java:3547:15:3547:51 | newQueueWithElement(...) : LinkedList [] : String | semmle.label | newQueueWithElement(...) : LinkedList [] : String | +| Test.java:3547:35:3547:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3547:43:3547:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3548:10:3548:41 | unmodifiableQueue(...) : Queue [] : String | semmle.label | unmodifiableQueue(...) : Queue [] : String | +| Test.java:3548:39:3548:40 | in : LinkedList [] : String | semmle.label | in : LinkedList [] : String | +| Test.java:3549:9:3549:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3549:20:3549:22 | out : Queue [] : String | semmle.label | out : Queue [] : String | +| Test.java:3554:26:3554:64 | newSetViewWithElement(...) : MySetView [] : String | semmle.label | newSetViewWithElement(...) : MySetView [] : String | +| Test.java:3554:48:3554:63 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3554:56:3554:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3555:4:3555:5 | in : MySetView [] : String | semmle.label | in : MySetView [] : String | +| Test.java:3555:16:3555:18 | out [post update] : Set [] : String | semmle.label | out [post update] : Set [] : String | +| Test.java:3556:9:3556:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3556:20:3556:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:3561:19:3561:57 | newSetViewWithElement(...) : MySetView [] : String | semmle.label | newSetViewWithElement(...) : MySetView [] : String | +| Test.java:3561:41:3561:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3561:49:3561:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3562:10:3562:11 | in : MySetView [] : String | semmle.label | in : MySetView [] : String | +| Test.java:3562:10:3562:30 | myCreateIterator(...) : Iterator [] : String | semmle.label | myCreateIterator(...) : Iterator [] : String | +| Test.java:3563:9:3563:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3563:20:3563:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:3568:19:3568:57 | newSetViewWithElement(...) : MySetView [] : String | semmle.label | newSetViewWithElement(...) : MySetView [] : String | +| Test.java:3568:41:3568:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3568:49:3568:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3569:10:3569:11 | in : MySetView [] : String | semmle.label | in : MySetView [] : String | +| Test.java:3569:10:3569:19 | toSet(...) : Set [] : String | semmle.label | toSet(...) : Set [] : String | +| Test.java:3570:9:3570:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3570:20:3570:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:3575:13:3575:51 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3575:35:3575:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3575:43:3575:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3576:10:3576:38 | difference(...) : SetView [] : String | semmle.label | difference(...) : SetView [] : String | +| Test.java:3576:30:3576:31 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3577:9:3577:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3577:20:3577:22 | out : SetView [] : String | semmle.label | out : SetView [] : String | +| Test.java:3582:13:3582:51 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3582:35:3582:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3582:43:3582:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3583:10:3583:39 | disjunction(...) : SetView [] : String | semmle.label | disjunction(...) : SetView [] : String | +| Test.java:3583:31:3583:32 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3584:9:3584:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3584:20:3584:22 | out : SetView [] : String | semmle.label | out : SetView [] : String | +| Test.java:3589:13:3589:51 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3589:35:3589:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3589:43:3589:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3590:10:3590:39 | disjunction(...) : SetView [] : String | semmle.label | disjunction(...) : SetView [] : String | +| Test.java:3590:37:3590:38 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3591:9:3591:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3591:20:3591:22 | out : SetView [] : String | semmle.label | out : SetView [] : String | +| Test.java:3596:13:3596:25 | (...)... : Set | semmle.label | (...)... : Set | +| Test.java:3596:18:3596:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3597:10:3597:33 | emptyIfNull(...) : Set | semmle.label | emptyIfNull(...) : Set | +| Test.java:3597:31:3597:32 | in : Set | semmle.label | in : Set | +| Test.java:3598:9:3598:11 | out | semmle.label | out | +| Test.java:3603:16:3603:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3604:10:3604:35 | hashSet(...) : HashSet [] : Object | semmle.label | hashSet(...) : HashSet [] : Object | +| Test.java:3604:10:3604:35 | new ..[] { .. } : Object[] [[]] : Object | semmle.label | new ..[] { .. } : Object[] [[]] : Object | +| Test.java:3604:27:3604:28 | in : Object | semmle.label | in : Object | +| Test.java:3605:9:3605:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3605:20:3605:22 | out : HashSet [] : Object | semmle.label | out : HashSet [] : Object | +| Test.java:3610:13:3610:51 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3610:35:3610:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3610:43:3610:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3611:10:3611:40 | intersection(...) : SetView [] : String | semmle.label | intersection(...) : SetView [] : String | +| Test.java:3611:32:3611:33 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3612:9:3612:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3612:20:3612:22 | out : SetView [] : String | semmle.label | out : SetView [] : String | +| Test.java:3617:13:3617:51 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3617:35:3617:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3617:43:3617:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3618:10:3618:40 | intersection(...) : SetView [] : String | semmle.label | intersection(...) : SetView [] : String | +| Test.java:3618:38:3618:39 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3619:9:3619:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3619:20:3619:22 | out : SetView [] : String | semmle.label | out : SetView [] : String | +| Test.java:3624:13:3624:51 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3624:35:3624:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3624:43:3624:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3625:10:3625:32 | orderedSet(...) : Set [] : String | semmle.label | orderedSet(...) : Set [] : String | +| Test.java:3625:30:3625:31 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3626:9:3626:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3626:20:3626:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:3631:22:3631:60 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3631:44:3631:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3631:52:3631:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3632:10:3632:50 | predicatedNavigableSet(...) : SortedSet [] : String | semmle.label | predicatedNavigableSet(...) : SortedSet [] : String | +| Test.java:3632:42:3632:43 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3633:9:3633:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3633:20:3633:22 | out : SortedSet [] : String | semmle.label | out : SortedSet [] : String | +| Test.java:3638:13:3638:51 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3638:35:3638:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3638:43:3638:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3639:10:3639:41 | predicatedSet(...) : Set [] : String | semmle.label | predicatedSet(...) : Set [] : String | +| Test.java:3639:33:3639:34 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3640:9:3640:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3640:20:3640:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:3645:19:3645:57 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3645:41:3645:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3645:49:3645:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3646:10:3646:47 | predicatedSortedSet(...) : SortedSet [] : String | semmle.label | predicatedSortedSet(...) : SortedSet [] : String | +| Test.java:3646:39:3646:40 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3647:9:3647:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3647:20:3647:22 | out : SortedSet [] : String | semmle.label | out : SortedSet [] : String | +| Test.java:3652:13:3652:51 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3652:35:3652:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3652:43:3652:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3653:10:3653:37 | synchronizedSet(...) : Set [] : String | semmle.label | synchronizedSet(...) : Set [] : String | +| Test.java:3653:35:3653:36 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3654:9:3654:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3654:20:3654:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:3659:19:3659:57 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3659:41:3659:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3659:49:3659:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3660:10:3660:43 | synchronizedSortedSet(...) : SortedSet [] : String | semmle.label | synchronizedSortedSet(...) : SortedSet [] : String | +| Test.java:3660:41:3660:42 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3661:9:3661:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3661:20:3661:22 | out : SortedSet [] : String | semmle.label | out : SortedSet [] : String | +| Test.java:3666:22:3666:60 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3666:44:3666:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3666:52:3666:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3667:10:3667:51 | transformedNavigableSet(...) : SortedSet [] : String | semmle.label | transformedNavigableSet(...) : SortedSet [] : String | +| Test.java:3667:43:3667:44 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3668:9:3668:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3668:20:3668:22 | out : SortedSet [] : String | semmle.label | out : SortedSet [] : String | +| Test.java:3673:13:3673:51 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3673:35:3673:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3673:43:3673:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3674:10:3674:42 | transformedSet(...) : Set [] : String | semmle.label | transformedSet(...) : Set [] : String | +| Test.java:3674:34:3674:35 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3675:9:3675:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3675:20:3675:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:3680:19:3680:57 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3680:41:3680:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3680:49:3680:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3681:10:3681:48 | transformedSortedSet(...) : SortedSet [] : String | semmle.label | transformedSortedSet(...) : SortedSet [] : String | +| Test.java:3681:40:3681:41 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3682:9:3682:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3682:20:3682:22 | out : SortedSet [] : String | semmle.label | out : SortedSet [] : String | +| Test.java:3687:13:3687:51 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3687:35:3687:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3687:43:3687:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3688:10:3688:33 | union(...) : SetView [] : String | semmle.label | union(...) : SetView [] : String | +| Test.java:3688:25:3688:26 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3689:9:3689:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3689:20:3689:22 | out : SetView [] : String | semmle.label | out : SetView [] : String | +| Test.java:3694:13:3694:51 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3694:35:3694:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3694:43:3694:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3695:10:3695:33 | union(...) : SetView [] : String | semmle.label | union(...) : SetView [] : String | +| Test.java:3695:31:3695:32 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3696:9:3696:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3696:20:3696:22 | out : SetView [] : String | semmle.label | out : SetView [] : String | +| Test.java:3701:22:3701:60 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3701:44:3701:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3701:52:3701:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3702:10:3702:46 | unmodifiableNavigableSet(...) : SortedSet [] : String | semmle.label | unmodifiableNavigableSet(...) : SortedSet [] : String | +| Test.java:3702:44:3702:45 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3703:9:3703:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3703:20:3703:22 | out : SortedSet [] : String | semmle.label | out : SortedSet [] : String | +| Test.java:3708:16:3708:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3709:10:3709:43 | new ..[] { .. } : Object[] [[]] : Object | semmle.label | new ..[] { .. } : Object[] [[]] : Object | +| Test.java:3709:10:3709:43 | unmodifiableSet(...) : Set [] : Object | semmle.label | unmodifiableSet(...) : Set [] : Object | +| Test.java:3709:35:3709:36 | in : Object | semmle.label | in : Object | +| Test.java:3710:9:3710:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3710:20:3710:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:3715:13:3715:51 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3715:35:3715:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3715:43:3715:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3716:10:3716:37 | unmodifiableSet(...) : Set [] : String | semmle.label | unmodifiableSet(...) : Set [] : String | +| Test.java:3716:35:3716:36 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3717:9:3717:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3717:20:3717:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:3722:19:3722:57 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3722:41:3722:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3722:49:3722:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3723:10:3723:43 | unmodifiableSortedSet(...) : SortedSet [] : String | semmle.label | unmodifiableSortedSet(...) : SortedSet [] : String | +| Test.java:3723:41:3723:42 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:3724:9:3724:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3724:20:3724:22 | out : SortedSet [] : String | semmle.label | out : SortedSet [] : String | +| Test.java:3729:19:3729:57 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3729:41:3729:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3729:49:3729:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3730:10:3730:11 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3730:10:3730:19 | first(...) : String | semmle.label | first(...) : String | +| Test.java:3731:9:3731:11 | out | semmle.label | out | +| Test.java:3736:19:3736:57 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3736:41:3736:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3736:49:3736:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3737:10:3737:11 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3737:10:3737:18 | last(...) : String | semmle.label | last(...) : String | +| Test.java:3738:9:3738:11 | out | semmle.label | out | +| Test.java:3743:13:3743:52 | newHashedMapWithMapKey(...) : HashedMap [] : String | semmle.label | newHashedMapWithMapKey(...) : HashedMap [] : String | +| Test.java:3743:36:3743:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3743:44:3743:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3744:10:3744:38 | readableMap(...) : IterableMap [] : String | semmle.label | readableMap(...) : IterableMap [] : String | +| Test.java:3744:36:3744:37 | in : HashedMap [] : String | semmle.label | in : HashedMap [] : String | +| Test.java:3745:9:3745:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3745:19:3745:21 | out : IterableMap [] : String | semmle.label | out : IterableMap [] : String | +| Test.java:3750:13:3750:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | semmle.label | newHashedMapWithMapValue(...) : HashedMap [] : String | +| Test.java:3750:38:3750:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3750:46:3750:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3751:10:3751:38 | readableMap(...) : IterableMap [] : String | semmle.label | readableMap(...) : IterableMap [] : String | +| Test.java:3751:36:3751:37 | in : HashedMap [] : String | semmle.label | in : HashedMap [] : String | +| Test.java:3752:9:3752:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3752:21:3752:23 | out : IterableMap [] : String | semmle.label | out : IterableMap [] : String | +| Test.java:3757:13:3757:52 | newHashedMapWithMapKey(...) : HashedMap [] : String | semmle.label | newHashedMapWithMapKey(...) : HashedMap [] : String | +| Test.java:3757:36:3757:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3757:44:3757:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3758:10:3758:38 | writableMap(...) : Map [] : String | semmle.label | writableMap(...) : Map [] : String | +| Test.java:3758:36:3758:37 | in : HashedMap [] : String | semmle.label | in : HashedMap [] : String | +| Test.java:3759:9:3759:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3759:19:3759:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:3764:13:3764:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | semmle.label | newHashedMapWithMapValue(...) : HashedMap [] : String | +| Test.java:3764:38:3764:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3764:46:3764:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3765:10:3765:38 | writableMap(...) : Map [] : String | semmle.label | writableMap(...) : Map [] : String | +| Test.java:3765:36:3765:37 | in : HashedMap [] : String | semmle.label | in : HashedMap [] : String | +| Test.java:3766:9:3766:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3766:21:3766:23 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:3771:14:3771:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | semmle.label | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:3771:40:3771:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3771:48:3771:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3772:10:3772:11 | in : PatriciaTrie [] : String | semmle.label | in : PatriciaTrie [] : String | +| Test.java:3772:10:3772:27 | prefixMap(...) : SortedMap [] : String | semmle.label | prefixMap(...) : SortedMap [] : String | +| Test.java:3773:9:3773:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3773:19:3773:21 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:3778:14:3778:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | semmle.label | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:3778:42:3778:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3778:50:3778:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3779:10:3779:11 | in : PatriciaTrie [] : String | semmle.label | in : PatriciaTrie [] : String | +| Test.java:3779:10:3779:27 | prefixMap(...) : SortedMap [] : String | semmle.label | prefixMap(...) : SortedMap [] : String | +| Test.java:3780:9:3780:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3780:21:3780:23 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:3785:14:3785:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | semmle.label | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:3785:40:3785:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3785:48:3785:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3786:10:3786:39 | unmodifiableTrie(...) : Trie [] : String | semmle.label | unmodifiableTrie(...) : Trie [] : String | +| Test.java:3786:37:3786:38 | in : PatriciaTrie [] : String | semmle.label | in : PatriciaTrie [] : String | +| Test.java:3787:9:3787:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3787:19:3787:21 | out : Trie [] : String | semmle.label | out : Trie [] : String | +| Test.java:3792:14:3792:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | semmle.label | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:3792:42:3792:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3792:50:3792:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3793:10:3793:39 | unmodifiableTrie(...) : Trie [] : String | semmle.label | unmodifiableTrie(...) : Trie [] : String | +| Test.java:3793:37:3793:38 | in : PatriciaTrie [] : String | semmle.label | in : PatriciaTrie [] : String | +| Test.java:3794:9:3794:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3794:21:3794:23 | out : Trie [] : String | semmle.label | out : Trie [] : String | +| Test.java:3799:13:3799:51 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3799:35:3799:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3799:43:3799:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3800:10:3800:39 | new MyAbstractBagDecorator<>(...) : MyAbstractBagDecorator [] : String | semmle.label | new MyAbstractBagDecorator<>(...) : MyAbstractBagDecorator [] : String | +| Test.java:3800:37:3800:38 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3801:9:3801:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3801:20:3801:22 | out : MyAbstractBagDecorator [] : String | semmle.label | out : MyAbstractBagDecorator [] : String | +| Test.java:3806:13:3806:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:3806:20:3806:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3806:28:3806:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3807:10:3807:33 | new MyAbstractMapBag<>(...) : MyAbstractMapBag [] : String | semmle.label | new MyAbstractMapBag<>(...) : MyAbstractMapBag [] : String | +| Test.java:3807:31:3807:32 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:3808:9:3808:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3808:20:3808:22 | out : MyAbstractMapBag [] : String | semmle.label | out : MyAbstractMapBag [] : String | +| Test.java:3813:26:3813:77 | new MyAbstractMapBag<>(...) : MyAbstractMapBag [] : String | semmle.label | new MyAbstractMapBag<>(...) : MyAbstractMapBag [] : String | +| Test.java:3813:47:3813:76 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:3813:54:3813:69 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3813:62:3813:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3814:10:3814:11 | in : MyAbstractMapBag [] : String | semmle.label | in : MyAbstractMapBag [] : String | +| Test.java:3814:10:3814:22 | myGetMap(...) : Map [] : String | semmle.label | myGetMap(...) : Map [] : String | +| Test.java:3815:9:3815:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3815:19:3815:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:3820:19:3820:57 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3820:41:3820:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3820:49:3820:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3821:10:3821:45 | new MyAbstractSortedBagDecorator<>(...) : MyAbstractSortedBagDecorator [] : String | semmle.label | new MyAbstractSortedBagDecorator<>(...) : MyAbstractSortedBagDecorator [] : String | +| Test.java:3821:43:3821:44 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3822:9:3822:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3822:20:3822:22 | out : MyAbstractSortedBagDecorator [] : String | semmle.label | out : MyAbstractSortedBagDecorator [] : String | +| Test.java:3827:13:3827:51 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3827:35:3827:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3827:43:3827:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3828:10:3828:30 | new CollectionBag<>(...) : CollectionBag [] : String | semmle.label | new CollectionBag<>(...) : CollectionBag [] : String | +| Test.java:3828:28:3828:29 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3829:9:3829:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3829:20:3829:22 | out : CollectionBag [] : String | semmle.label | out : CollectionBag [] : String | +| Test.java:3834:13:3834:51 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3834:35:3834:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3834:43:3834:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3835:10:3835:40 | collectionBag(...) : Bag [] : String | semmle.label | collectionBag(...) : Bag [] : String | +| Test.java:3835:38:3835:39 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3836:9:3836:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3836:20:3836:22 | out : Bag [] : String | semmle.label | out : Bag [] : String | +| Test.java:3841:19:3841:57 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3841:41:3841:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3841:49:3841:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3842:10:3842:36 | new CollectionSortedBag<>(...) : CollectionSortedBag [] : String | semmle.label | new CollectionSortedBag<>(...) : CollectionSortedBag [] : String | +| Test.java:3842:34:3842:35 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3843:9:3843:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3843:20:3843:22 | out : CollectionSortedBag [] : String | semmle.label | out : CollectionSortedBag [] : String | +| Test.java:3848:19:3848:57 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3848:41:3848:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3848:49:3848:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3849:10:3849:52 | collectionSortedBag(...) : SortedBag [] : String | semmle.label | collectionSortedBag(...) : SortedBag [] : String | +| Test.java:3849:50:3849:51 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3850:9:3850:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3850:20:3850:22 | out : SortedBag [] : String | semmle.label | out : SortedBag [] : String | +| Test.java:3855:20:3855:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3855:42:3855:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3855:50:3855:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3856:10:3856:24 | new HashBag<>(...) : HashBag [] : String | semmle.label | new HashBag<>(...) : HashBag [] : String | +| Test.java:3856:22:3856:23 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3857:9:3857:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3857:20:3857:22 | out : HashBag [] : String | semmle.label | out : HashBag [] : String | +| Test.java:3862:13:3862:51 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3862:35:3862:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3862:43:3862:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3863:10:3863:46 | predicatedBag(...) : PredicatedBag [] : String | semmle.label | predicatedBag(...) : PredicatedBag [] : String | +| Test.java:3863:38:3863:39 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3864:9:3864:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3864:20:3864:22 | out : PredicatedBag [] : String | semmle.label | out : PredicatedBag [] : String | +| Test.java:3869:19:3869:57 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3869:41:3869:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3869:49:3869:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3870:10:3870:58 | predicatedSortedBag(...) : PredicatedSortedBag [] : String | semmle.label | predicatedSortedBag(...) : PredicatedSortedBag [] : String | +| Test.java:3870:50:3870:51 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3871:9:3871:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3871:20:3871:22 | out : PredicatedSortedBag [] : String | semmle.label | out : PredicatedSortedBag [] : String | +| Test.java:3876:13:3876:51 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3876:35:3876:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3876:43:3876:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3877:10:3877:44 | synchronizedBag(...) : SynchronizedBag [] : String | semmle.label | synchronizedBag(...) : SynchronizedBag [] : String | +| Test.java:3877:42:3877:43 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3878:9:3878:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3878:20:3878:22 | out : SynchronizedBag [] : String | semmle.label | out : SynchronizedBag [] : String | +| Test.java:3883:19:3883:57 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3883:41:3883:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3883:49:3883:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3884:10:3884:56 | synchronizedSortedBag(...) : SynchronizedSortedBag [] : String | semmle.label | synchronizedSortedBag(...) : SynchronizedSortedBag [] : String | +| Test.java:3884:54:3884:55 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3885:9:3885:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3885:20:3885:22 | out : SynchronizedSortedBag [] : String | semmle.label | out : SynchronizedSortedBag [] : String | +| Test.java:3890:13:3890:51 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3890:35:3890:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3890:43:3890:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3891:10:3891:48 | transformedBag(...) : Bag [] : String | semmle.label | transformedBag(...) : Bag [] : String | +| Test.java:3891:40:3891:41 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3892:9:3892:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3892:20:3892:22 | out : Bag [] : String | semmle.label | out : Bag [] : String | +| Test.java:3897:19:3897:57 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3897:41:3897:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3897:49:3897:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3898:10:3898:60 | transformedSortedBag(...) : TransformedSortedBag [] : String | semmle.label | transformedSortedBag(...) : TransformedSortedBag [] : String | +| Test.java:3898:52:3898:53 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3899:9:3899:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3899:20:3899:22 | out : TransformedSortedBag [] : String | semmle.label | out : TransformedSortedBag [] : String | +| Test.java:3904:20:3904:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3904:42:3904:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3904:50:3904:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3905:10:3905:24 | new TreeBag<>(...) : TreeBag [] : String | semmle.label | new TreeBag<>(...) : TreeBag [] : String | +| Test.java:3905:22:3905:23 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3906:9:3906:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3906:20:3906:22 | out : TreeBag [] : String | semmle.label | out : TreeBag [] : String | +| Test.java:3911:13:3911:51 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3911:35:3911:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3911:43:3911:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3912:10:3912:44 | unmodifiableBag(...) : Bag [] : String | semmle.label | unmodifiableBag(...) : Bag [] : String | +| Test.java:3912:42:3912:43 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3913:9:3913:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3913:20:3913:22 | out : Bag [] : String | semmle.label | out : Bag [] : String | +| Test.java:3918:19:3918:57 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3918:41:3918:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3918:49:3918:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3919:10:3919:56 | unmodifiableSortedBag(...) : SortedBag [] : String | semmle.label | unmodifiableSortedBag(...) : SortedBag [] : String | +| Test.java:3919:54:3919:55 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:3920:9:3920:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3920:20:3920:22 | out : SortedBag [] : String | semmle.label | out : SortedBag [] : String | +| Test.java:3925:17:3925:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:3925:46:3925:61 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3925:54:3925:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3926:10:3926:43 | new MyAbstractBidiMapDecorator<>(...) : MyAbstractBidiMapDecorator [] : String | semmle.label | new MyAbstractBidiMapDecorator<>(...) : MyAbstractBidiMapDecorator [] : String | +| Test.java:3926:41:3926:42 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:3927:9:3927:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3927:19:3927:21 | out : MyAbstractBidiMapDecorator [] : String | semmle.label | out : MyAbstractBidiMapDecorator [] : String | +| Test.java:3932:17:3932:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:3932:48:3932:63 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3932:56:3932:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3933:10:3933:43 | new MyAbstractBidiMapDecorator<>(...) : MyAbstractBidiMapDecorator [] : String | semmle.label | new MyAbstractBidiMapDecorator<>(...) : MyAbstractBidiMapDecorator [] : String | +| Test.java:3933:41:3933:42 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:3934:9:3934:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3934:21:3934:23 | out : MyAbstractBidiMapDecorator [] : String | semmle.label | out : MyAbstractBidiMapDecorator [] : String | +| Test.java:3939:17:3939:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:3939:46:3939:61 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3939:54:3939:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3940:10:3940:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | semmle.label | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | +| Test.java:3940:36:3940:37 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:3941:9:3941:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3941:19:3941:21 | out : MyAbstractDualBidiMap [] : String | semmle.label | out : MyAbstractDualBidiMap [] : String | +| Test.java:3946:17:3946:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:3946:46:3946:61 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3946:54:3946:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3947:10:3947:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | semmle.label | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | +| Test.java:3947:42:3947:43 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:3948:9:3948:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3948:21:3948:23 | out : MyAbstractDualBidiMap [] : String | semmle.label | out : MyAbstractDualBidiMap [] : String | +| Test.java:3953:17:3953:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:3953:46:3953:61 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3953:54:3953:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3954:10:3954:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | semmle.label | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | +| Test.java:3954:48:3954:49 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:3955:9:3955:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3955:21:3955:23 | out : MyAbstractDualBidiMap [] : String | semmle.label | out : MyAbstractDualBidiMap [] : String | +| Test.java:3960:17:3960:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:3960:48:3960:63 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3960:56:3960:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3961:10:3961:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | semmle.label | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | +| Test.java:3961:36:3961:37 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:3962:9:3962:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3962:21:3962:23 | out : MyAbstractDualBidiMap [] : String | semmle.label | out : MyAbstractDualBidiMap [] : String | +| Test.java:3967:17:3967:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:3967:48:3967:63 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3967:56:3967:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3968:10:3968:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | semmle.label | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | +| Test.java:3968:42:3968:43 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:3969:9:3969:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3969:19:3969:21 | out : MyAbstractDualBidiMap [] : String | semmle.label | out : MyAbstractDualBidiMap [] : String | +| Test.java:3974:17:3974:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:3974:48:3974:63 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3974:56:3974:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3975:10:3975:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | semmle.label | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | +| Test.java:3975:48:3975:49 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:3976:9:3976:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3976:19:3976:21 | out : MyAbstractDualBidiMap [] : String | semmle.label | out : MyAbstractDualBidiMap [] : String | +| Test.java:3981:24:3981:69 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:3981:53:3981:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3981:61:3981:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3982:10:3982:50 | new MyAbstractOrderedBidiMapDecorator<>(...) : MyAbstractOrderedBidiMapDecorator [] : String | semmle.label | new MyAbstractOrderedBidiMapDecorator<>(...) : MyAbstractOrderedBidiMapDecorator [] : String | +| Test.java:3982:48:3982:49 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:3983:9:3983:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3983:19:3983:21 | out : MyAbstractOrderedBidiMapDecorator [] : String | semmle.label | out : MyAbstractOrderedBidiMapDecorator [] : String | +| Test.java:3988:24:3988:71 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:3988:55:3988:70 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3988:63:3988:70 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3989:10:3989:50 | new MyAbstractOrderedBidiMapDecorator<>(...) : MyAbstractOrderedBidiMapDecorator [] : String | semmle.label | new MyAbstractOrderedBidiMapDecorator<>(...) : MyAbstractOrderedBidiMapDecorator [] : String | +| Test.java:3989:48:3989:49 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:3990:9:3990:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3990:21:3990:23 | out : MyAbstractOrderedBidiMapDecorator [] : String | semmle.label | out : MyAbstractOrderedBidiMapDecorator [] : String | +| Test.java:3995:23:3995:68 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:3995:52:3995:67 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3995:60:3995:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3996:10:3996:49 | new MyAbstractSortedBidiMapDecorator<>(...) : MyAbstractSortedBidiMapDecorator [] : String | semmle.label | new MyAbstractSortedBidiMapDecorator<>(...) : MyAbstractSortedBidiMapDecorator [] : String | +| Test.java:3996:47:3996:48 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:3997:9:3997:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3997:19:3997:21 | out : MyAbstractSortedBidiMapDecorator [] : String | semmle.label | out : MyAbstractSortedBidiMapDecorator [] : String | +| Test.java:4002:23:4002:70 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:4002:54:4002:69 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4002:62:4002:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4003:10:4003:49 | new MyAbstractSortedBidiMapDecorator<>(...) : MyAbstractSortedBidiMapDecorator [] : String | semmle.label | new MyAbstractSortedBidiMapDecorator<>(...) : MyAbstractSortedBidiMapDecorator [] : String | +| Test.java:4003:47:4003:48 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:4004:9:4004:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4004:21:4004:23 | out : MyAbstractSortedBidiMapDecorator [] : String | semmle.label | out : MyAbstractSortedBidiMapDecorator [] : String | +| Test.java:4009:13:4009:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:4009:20:4009:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4009:28:4009:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4010:10:4010:32 | new DualHashBidiMap<>(...) : DualHashBidiMap [] : String | semmle.label | new DualHashBidiMap<>(...) : DualHashBidiMap [] : String | +| Test.java:4010:30:4010:31 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:4011:9:4011:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:4011:19:4011:21 | out : DualHashBidiMap [] : String | semmle.label | out : DualHashBidiMap [] : String | +| Test.java:4016:13:4016:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:4016:26:4016:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4016:34:4016:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4017:10:4017:32 | new DualHashBidiMap<>(...) : DualHashBidiMap [] : String | semmle.label | new DualHashBidiMap<>(...) : DualHashBidiMap [] : String | +| Test.java:4017:30:4017:31 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:4018:9:4018:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4018:21:4018:23 | out : DualHashBidiMap [] : String | semmle.label | out : DualHashBidiMap [] : String | +| Test.java:4023:13:4023:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:4023:20:4023:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4023:28:4023:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4024:10:4024:38 | new DualLinkedHashBidiMap<>(...) : DualLinkedHashBidiMap [] : String | semmle.label | new DualLinkedHashBidiMap<>(...) : DualLinkedHashBidiMap [] : String | +| Test.java:4024:36:4024:37 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:4025:9:4025:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:4025:19:4025:21 | out : DualLinkedHashBidiMap [] : String | semmle.label | out : DualLinkedHashBidiMap [] : String | +| Test.java:4030:13:4030:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:4030:26:4030:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4030:34:4030:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4031:10:4031:38 | new DualLinkedHashBidiMap<>(...) : DualLinkedHashBidiMap [] : String | semmle.label | new DualLinkedHashBidiMap<>(...) : DualLinkedHashBidiMap [] : String | +| Test.java:4031:36:4031:37 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:4032:9:4032:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4032:21:4032:23 | out : DualLinkedHashBidiMap [] : String | semmle.label | out : DualLinkedHashBidiMap [] : String | +| Test.java:4037:13:4037:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:4037:20:4037:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4037:28:4037:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4038:10:4038:32 | new DualTreeBidiMap<>(...) : DualTreeBidiMap [] : String | semmle.label | new DualTreeBidiMap<>(...) : DualTreeBidiMap [] : String | +| Test.java:4038:30:4038:31 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:4039:9:4039:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:4039:19:4039:21 | out : DualTreeBidiMap [] : String | semmle.label | out : DualTreeBidiMap [] : String | +| Test.java:4044:13:4044:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:4044:26:4044:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4044:34:4044:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4045:10:4045:32 | new DualTreeBidiMap<>(...) : DualTreeBidiMap [] : String | semmle.label | new DualTreeBidiMap<>(...) : DualTreeBidiMap [] : String | +| Test.java:4045:30:4045:31 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:4046:9:4046:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4046:21:4046:23 | out : DualTreeBidiMap [] : String | semmle.label | out : DualTreeBidiMap [] : String | +| Test.java:4051:25:4051:70 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:4051:54:4051:69 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4051:62:4051:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4052:10:4052:11 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:4052:10:4052:35 | inverseOrderedBidiMap(...) : OrderedBidiMap [] : String | semmle.label | inverseOrderedBidiMap(...) : OrderedBidiMap [] : String | +| Test.java:4053:9:4053:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4053:21:4053:23 | out : OrderedBidiMap [] : String | semmle.label | out : OrderedBidiMap [] : String | +| Test.java:4058:25:4058:72 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:4058:56:4058:71 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4058:64:4058:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4059:10:4059:11 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:4059:10:4059:35 | inverseOrderedBidiMap(...) : OrderedBidiMap [] : String | semmle.label | inverseOrderedBidiMap(...) : OrderedBidiMap [] : String | +| Test.java:4060:9:4060:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:4060:19:4060:21 | out : OrderedBidiMap [] : String | semmle.label | out : OrderedBidiMap [] : String | +| Test.java:4065:25:4065:70 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:4065:54:4065:69 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4065:62:4065:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4066:10:4066:11 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:4066:10:4066:34 | inverseSortedBidiMap(...) : SortedBidiMap [] : String | semmle.label | inverseSortedBidiMap(...) : SortedBidiMap [] : String | +| Test.java:4067:9:4067:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4067:21:4067:23 | out : SortedBidiMap [] : String | semmle.label | out : SortedBidiMap [] : String | +| Test.java:4072:25:4072:72 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:4072:56:4072:71 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4072:64:4072:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4073:10:4073:11 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:4073:10:4073:34 | inverseSortedBidiMap(...) : SortedBidiMap [] : String | semmle.label | inverseSortedBidiMap(...) : SortedBidiMap [] : String | +| Test.java:4074:9:4074:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:4074:19:4074:21 | out : SortedBidiMap [] : String | semmle.label | out : SortedBidiMap [] : String | +| Test.java:4079:13:4079:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:4079:20:4079:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4079:28:4079:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4080:10:4080:28 | new TreeBidiMap<>(...) : TreeBidiMap [] : String | semmle.label | new TreeBidiMap<>(...) : TreeBidiMap [] : String | +| Test.java:4080:26:4080:27 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:4081:9:4081:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:4081:19:4081:21 | out : TreeBidiMap [] : String | semmle.label | out : TreeBidiMap [] : String | +| Test.java:4086:13:4086:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:4086:26:4086:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4086:34:4086:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4087:10:4087:28 | new TreeBidiMap<>(...) : TreeBidiMap [] : String | semmle.label | new TreeBidiMap<>(...) : TreeBidiMap [] : String | +| Test.java:4087:26:4087:27 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:4088:9:4088:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4088:21:4088:23 | out : TreeBidiMap [] : String | semmle.label | out : TreeBidiMap [] : String | +| Test.java:4093:17:4093:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:4093:46:4093:61 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4093:54:4093:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4094:10:4094:52 | unmodifiableBidiMap(...) : BidiMap [] : String | semmle.label | unmodifiableBidiMap(...) : BidiMap [] : String | +| Test.java:4094:50:4094:51 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:4095:9:4095:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:4095:19:4095:21 | out : BidiMap [] : String | semmle.label | out : BidiMap [] : String | +| Test.java:4100:17:4100:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:4100:48:4100:63 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4100:56:4100:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4101:10:4101:52 | unmodifiableBidiMap(...) : BidiMap [] : String | semmle.label | unmodifiableBidiMap(...) : BidiMap [] : String | +| Test.java:4101:50:4101:51 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:4102:9:4102:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4102:21:4102:23 | out : BidiMap [] : String | semmle.label | out : BidiMap [] : String | +| Test.java:4107:36:4107:164 | (...)... : UnmodifiableOrderedBidiMap [] : String | semmle.label | (...)... : UnmodifiableOrderedBidiMap [] : String | +| Test.java:4107:64:4107:164 | unmodifiableOrderedBidiMap(...) : OrderedBidiMap [] : String | semmle.label | unmodifiableOrderedBidiMap(...) : OrderedBidiMap [] : String | +| Test.java:4107:118:4107:163 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:4107:147:4107:162 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4107:155:4107:162 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4108:10:4108:11 | in : UnmodifiableOrderedBidiMap [] : String | semmle.label | in : UnmodifiableOrderedBidiMap [] : String | +| Test.java:4108:10:4108:35 | inverseOrderedBidiMap(...) : OrderedBidiMap [] : String | semmle.label | inverseOrderedBidiMap(...) : OrderedBidiMap [] : String | +| Test.java:4109:9:4109:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4109:21:4109:23 | out : OrderedBidiMap [] : String | semmle.label | out : OrderedBidiMap [] : String | +| Test.java:4114:36:4114:166 | (...)... : UnmodifiableOrderedBidiMap [] : String | semmle.label | (...)... : UnmodifiableOrderedBidiMap [] : String | +| Test.java:4114:64:4114:166 | unmodifiableOrderedBidiMap(...) : OrderedBidiMap [] : String | semmle.label | unmodifiableOrderedBidiMap(...) : OrderedBidiMap [] : String | +| Test.java:4114:118:4114:165 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:4114:149:4114:164 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4114:157:4114:164 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4115:10:4115:11 | in : UnmodifiableOrderedBidiMap [] : String | semmle.label | in : UnmodifiableOrderedBidiMap [] : String | +| Test.java:4115:10:4115:35 | inverseOrderedBidiMap(...) : OrderedBidiMap [] : String | semmle.label | inverseOrderedBidiMap(...) : OrderedBidiMap [] : String | +| Test.java:4116:9:4116:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:4116:19:4116:21 | out : OrderedBidiMap [] : String | semmle.label | out : OrderedBidiMap [] : String | +| Test.java:4121:24:4121:69 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:4121:53:4121:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4121:61:4121:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4122:10:4122:66 | unmodifiableOrderedBidiMap(...) : OrderedBidiMap [] : String | semmle.label | unmodifiableOrderedBidiMap(...) : OrderedBidiMap [] : String | +| Test.java:4122:64:4122:65 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:4123:9:4123:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:4123:19:4123:21 | out : OrderedBidiMap [] : String | semmle.label | out : OrderedBidiMap [] : String | +| Test.java:4128:24:4128:71 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:4128:55:4128:70 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4128:63:4128:70 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4129:10:4129:66 | unmodifiableOrderedBidiMap(...) : OrderedBidiMap [] : String | semmle.label | unmodifiableOrderedBidiMap(...) : OrderedBidiMap [] : String | +| Test.java:4129:64:4129:65 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:4130:9:4130:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4130:21:4130:23 | out : OrderedBidiMap [] : String | semmle.label | out : OrderedBidiMap [] : String | +| Test.java:4135:23:4135:68 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:4135:52:4135:67 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4135:60:4135:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4136:10:4136:64 | unmodifiableSortedBidiMap(...) : SortedBidiMap [] : String | semmle.label | unmodifiableSortedBidiMap(...) : SortedBidiMap [] : String | +| Test.java:4136:62:4136:63 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:4137:9:4137:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:4137:19:4137:21 | out : SortedBidiMap [] : String | semmle.label | out : SortedBidiMap [] : String | +| Test.java:4142:23:4142:70 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | semmle.label | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:4142:54:4142:69 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4142:62:4142:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4143:10:4143:64 | unmodifiableSortedBidiMap(...) : SortedBidiMap [] : String | semmle.label | unmodifiableSortedBidiMap(...) : SortedBidiMap [] : String | +| Test.java:4143:62:4143:63 | in : DualTreeBidiMap [] : String | semmle.label | in : DualTreeBidiMap [] : String | +| Test.java:4144:9:4144:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4144:21:4144:23 | out : SortedBidiMap [] : String | semmle.label | out : SortedBidiMap [] : String | +| Test.java:4149:20:4149:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4149:42:4149:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4149:50:4149:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4150:10:4150:46 | new MyAbstractCollectionDecorator<>(...) : MyAbstractCollectionDecorator [] : String | semmle.label | new MyAbstractCollectionDecorator<>(...) : MyAbstractCollectionDecorator [] : String | +| Test.java:4150:44:4150:45 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4151:9:4151:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4151:20:4151:22 | out : MyAbstractCollectionDecorator [] : String | semmle.label | out : MyAbstractCollectionDecorator [] : String | +| Test.java:4156:39:4156:112 | new MyAbstractCollectionDecorator<>(...) : MyAbstractCollectionDecorator [] : String | semmle.label | new MyAbstractCollectionDecorator<>(...) : MyAbstractCollectionDecorator [] : String | +| Test.java:4156:73:4156:111 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4156:95:4156:110 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4156:103:4156:110 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4157:10:4157:11 | in : MyAbstractCollectionDecorator [] : String | semmle.label | in : MyAbstractCollectionDecorator [] : String | +| Test.java:4157:10:4157:25 | myDecorated(...) : Collection [] : String | semmle.label | myDecorated(...) : Collection [] : String | +| Test.java:4158:9:4158:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4158:20:4158:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:4163:20:4163:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4163:42:4163:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4163:50:4163:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4164:4:4164:6 | out [post update] : MyAbstractCollectionDecorator [] : String | semmle.label | out [post update] : MyAbstractCollectionDecorator [] : String | +| Test.java:4164:24:4164:25 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4165:9:4165:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4165:20:4165:22 | out : MyAbstractCollectionDecorator [] : String | semmle.label | out : MyAbstractCollectionDecorator [] : String | +| Test.java:4170:16:4170:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4172:17:4172:19 | out [post update] : CompositeCollection [] : Object | semmle.label | out [post update] : CompositeCollection [] : Object | +| Test.java:4172:28:4172:29 | in : Object | semmle.label | in : Object | +| Test.java:4173:9:4173:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4173:20:4173:22 | out : CompositeCollection [] : Object | semmle.label | out : CompositeCollection [] : Object | +| Test.java:4178:16:4178:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4180:23:4180:25 | out [post update] : List [, ] : Object | semmle.label | out [post update] : List [, ] : Object | +| Test.java:4180:28:4180:29 | in : Object | semmle.label | in : Object | +| Test.java:4181:9:4181:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4181:20:4181:34 | getElement(...) : Collection [] : Object | semmle.label | getElement(...) : Collection [] : Object | +| Test.java:4181:31:4181:33 | out : List [, ] : Object | semmle.label | out : List [, ] : Object | +| Test.java:4186:20:4186:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4186:42:4186:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4186:50:4186:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4188:20:4188:22 | out [post update] : CompositeCollection [] : String | semmle.label | out [post update] : CompositeCollection [] : String | +| Test.java:4188:31:4188:32 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4189:9:4189:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4189:20:4189:22 | out : CompositeCollection [] : String | semmle.label | out : CompositeCollection [] : String | +| Test.java:4194:20:4194:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4194:42:4194:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4194:50:4194:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4196:26:4196:28 | out [post update] : List [, ] : String | semmle.label | out [post update] : List [, ] : String | +| Test.java:4196:31:4196:32 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4197:9:4197:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4197:20:4197:34 | getElement(...) : Collection [] : String | semmle.label | getElement(...) : Collection [] : String | +| Test.java:4197:31:4197:33 | out : List [, ] : String | semmle.label | out : List [, ] : String | +| Test.java:4202:20:4202:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4202:42:4202:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4202:50:4202:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4203:10:4203:36 | new CompositeCollection<>(...) : CompositeCollection [] : String | semmle.label | new CompositeCollection<>(...) : CompositeCollection [] : String | +| Test.java:4203:34:4203:35 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4204:9:4204:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4204:20:4204:22 | out : CompositeCollection [] : String | semmle.label | out : CompositeCollection [] : String | +| Test.java:4209:20:4209:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4209:42:4209:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4209:50:4209:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4210:10:4210:42 | new CompositeCollection<>(...) : CompositeCollection [] : String | semmle.label | new CompositeCollection<>(...) : CompositeCollection [] : String | +| Test.java:4210:34:4210:35 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4211:9:4211:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4211:20:4211:22 | out : CompositeCollection [] : String | semmle.label | out : CompositeCollection [] : String | +| Test.java:4216:20:4216:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4216:42:4216:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4216:50:4216:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4217:10:4217:42 | new CompositeCollection<>(...) : CompositeCollection [] : String | semmle.label | new CompositeCollection<>(...) : CompositeCollection [] : String | +| Test.java:4217:40:4217:41 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4218:9:4218:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4218:20:4218:22 | out : CompositeCollection [] : String | semmle.label | out : CompositeCollection [] : String | +| Test.java:4223:22:4223:78 | {...} : Collection[] [[], ] : String | semmle.label | {...} : Collection[] [[], ] : String | +| Test.java:4223:39:4223:77 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4223:61:4223:76 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4223:69:4223:76 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4224:10:4224:36 | new CompositeCollection<>(...) : CompositeCollection [] : String | semmle.label | new CompositeCollection<>(...) : CompositeCollection [] : String | +| Test.java:4224:34:4224:35 | in : Collection[] [[], ] : String | semmle.label | in : Collection[] [[], ] : String | +| Test.java:4225:9:4225:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4225:20:4225:22 | out : CompositeCollection [] : String | semmle.label | out : CompositeCollection [] : String | +| Test.java:4230:20:4230:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4230:42:4230:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4230:50:4230:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4231:4:4231:6 | out [post update] : CompositeCollection [] : String | semmle.label | out [post update] : CompositeCollection [] : String | +| Test.java:4231:22:4231:23 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4232:9:4232:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4232:20:4232:22 | out : CompositeCollection [] : String | semmle.label | out : CompositeCollection [] : String | +| Test.java:4237:20:4237:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4237:42:4237:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4237:50:4237:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4238:4:4238:6 | out [post update] : CompositeCollection [] : String | semmle.label | out [post update] : CompositeCollection [] : String | +| Test.java:4238:22:4238:23 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4239:9:4239:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4239:20:4239:22 | out : CompositeCollection [] : String | semmle.label | out : CompositeCollection [] : String | +| Test.java:4244:20:4244:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4244:42:4244:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4244:50:4244:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4245:4:4245:6 | out [post update] : CompositeCollection [] : String | semmle.label | out [post update] : CompositeCollection [] : String | +| Test.java:4245:28:4245:29 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4246:9:4246:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4246:20:4246:22 | out : CompositeCollection [] : String | semmle.label | out : CompositeCollection [] : String | +| Test.java:4251:22:4251:78 | {...} : Collection[] [[], ] : String | semmle.label | {...} : Collection[] [[], ] : String | +| Test.java:4251:39:4251:77 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4251:61:4251:76 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4251:69:4251:76 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4252:4:4252:6 | out [post update] : CompositeCollection [] : String | semmle.label | out [post update] : CompositeCollection [] : String | +| Test.java:4252:22:4252:23 | in : Collection[] [[], ] : String | semmle.label | in : Collection[] [[], ] : String | +| Test.java:4253:9:4253:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4253:20:4253:22 | out : CompositeCollection [] : String | semmle.label | out : CompositeCollection [] : String | +| Test.java:4258:29:4258:92 | new CompositeCollection<>(...) : CompositeCollection [] : String | semmle.label | new CompositeCollection<>(...) : CompositeCollection [] : String | +| Test.java:4258:53:4258:91 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4258:75:4258:90 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4258:83:4258:90 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4259:10:4259:11 | in : CompositeCollection [] : String | semmle.label | in : CompositeCollection [] : String | +| Test.java:4259:10:4259:28 | getCollections(...) : List [, ] : String | semmle.label | getCollections(...) : List [, ] : String | +| Test.java:4260:9:4260:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4260:20:4260:34 | getElement(...) : Collection [] : String | semmle.label | getElement(...) : Collection [] : String | +| Test.java:4260:31:4260:33 | out : List [, ] : String | semmle.label | out : List [, ] : String | +| Test.java:4265:29:4265:92 | new CompositeCollection<>(...) : CompositeCollection [] : String | semmle.label | new CompositeCollection<>(...) : CompositeCollection [] : String | +| Test.java:4265:53:4265:91 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4265:75:4265:90 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4265:83:4265:90 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4266:10:4266:11 | in : CompositeCollection [] : String | semmle.label | in : CompositeCollection [] : String | +| Test.java:4266:10:4266:26 | toCollection(...) : Collection [] : String | semmle.label | toCollection(...) : Collection [] : String | +| Test.java:4267:9:4267:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4267:20:4267:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:4272:20:4272:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4272:42:4272:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4272:50:4272:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4273:10:4273:53 | new IndexedCollection<>(...) : IndexedCollection [] : String | semmle.label | new IndexedCollection<>(...) : IndexedCollection [] : String | +| Test.java:4273:32:4273:33 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4274:9:4274:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4274:20:4274:22 | out : IndexedCollection [] : String | semmle.label | out : IndexedCollection [] : String | +| Test.java:4279:27:4279:107 | new IndexedCollection<>(...) : IndexedCollection [] : String | semmle.label | new IndexedCollection<>(...) : IndexedCollection [] : String | +| Test.java:4279:49:4279:87 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4279:71:4279:86 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4279:79:4279:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4280:10:4280:11 | in : IndexedCollection [] : String | semmle.label | in : IndexedCollection [] : String | +| Test.java:4280:10:4280:21 | get(...) : String | semmle.label | get(...) : String | +| Test.java:4281:9:4281:11 | out | semmle.label | out | +| Test.java:4286:20:4286:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4286:42:4286:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4286:50:4286:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4287:10:4287:63 | nonUniqueIndexedCollection(...) : IndexedCollection [] : String | semmle.label | nonUniqueIndexedCollection(...) : IndexedCollection [] : String | +| Test.java:4287:55:4287:56 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4288:9:4288:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4288:20:4288:22 | out : IndexedCollection [] : String | semmle.label | out : IndexedCollection [] : String | +| Test.java:4293:20:4293:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4293:42:4293:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4293:50:4293:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4294:10:4294:60 | uniqueIndexedCollection(...) : IndexedCollection [] : String | semmle.label | uniqueIndexedCollection(...) : IndexedCollection [] : String | +| Test.java:4294:52:4294:53 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4295:9:4295:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4295:20:4295:22 | out : IndexedCollection [] : String | semmle.label | out : IndexedCollection [] : String | +| Test.java:4300:27:4300:107 | new IndexedCollection<>(...) : IndexedCollection [] : String | semmle.label | new IndexedCollection<>(...) : IndexedCollection [] : String | +| Test.java:4300:49:4300:87 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4300:71:4300:86 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4300:79:4300:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4301:10:4301:11 | in : IndexedCollection [] : String | semmle.label | in : IndexedCollection [] : String | +| Test.java:4301:10:4301:24 | values(...) : Collection [] : String | semmle.label | values(...) : Collection [] : String | +| Test.java:4302:9:4302:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4302:20:4302:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:4307:16:4307:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4307:24:4307:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4308:4:4308:6 | out [post update] : Builder [] : String | semmle.label | out [post update] : Builder [] : String | +| Test.java:4308:12:4308:13 | in : String | semmle.label | in : String | +| Test.java:4309:9:4309:46 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4309:20:4309:22 | out : Builder [] : String | semmle.label | out : Builder [] : String | +| Test.java:4309:20:4309:45 | createPredicatedList(...) : List [] : String | semmle.label | createPredicatedList(...) : List [] : String | +| Test.java:4314:20:4314:44 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:4314:28:4314:43 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4314:36:4314:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4315:4:4315:6 | out [post update] : Builder [] : String | semmle.label | out [post update] : Builder [] : String | +| Test.java:4315:15:4315:16 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:4316:9:4316:46 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4316:20:4316:22 | out : Builder [] : String | semmle.label | out : Builder [] : String | +| Test.java:4316:20:4316:45 | createPredicatedList(...) : List [] : String | semmle.label | createPredicatedList(...) : List [] : String | +| Test.java:4321:38:4321:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | semmle.label | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4321:80:4321:95 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4321:88:4321:95 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4322:10:4322:11 | in : Builder [] : String | semmle.label | in : Builder [] : String | +| Test.java:4322:10:4322:37 | createPredicatedBag(...) : Bag [] : String | semmle.label | createPredicatedBag(...) : Bag [] : String | +| Test.java:4323:9:4323:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4323:20:4323:22 | out : Bag [] : String | semmle.label | out : Bag [] : String | +| Test.java:4328:38:4328:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | semmle.label | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4328:80:4328:95 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4328:88:4328:95 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4329:10:4329:11 | in : Builder [] : String | semmle.label | in : Builder [] : String | +| Test.java:4329:10:4329:33 | createPredicatedBag(...) : Bag [] : String | semmle.label | createPredicatedBag(...) : Bag [] : String | +| Test.java:4330:9:4330:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4330:20:4330:22 | out : Bag [] : String | semmle.label | out : Bag [] : String | +| Test.java:4335:13:4335:51 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4335:35:4335:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4335:43:4335:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4337:10:4337:41 | createPredicatedBag(...) : Bag [] : String | semmle.label | createPredicatedBag(...) : Bag [] : String | +| Test.java:4337:39:4337:40 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4338:9:4338:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4338:20:4338:22 | out : Bag [] : String | semmle.label | out : Bag [] : String | +| Test.java:4343:38:4343:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | semmle.label | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4343:80:4343:95 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4343:88:4343:95 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4344:10:4344:11 | in : Builder [] : String | semmle.label | in : Builder [] : String | +| Test.java:4344:10:4344:38 | createPredicatedList(...) : List [] : String | semmle.label | createPredicatedList(...) : List [] : String | +| Test.java:4345:9:4345:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4345:20:4345:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:4350:38:4350:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | semmle.label | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4350:80:4350:95 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4350:88:4350:95 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4351:10:4351:11 | in : Builder [] : String | semmle.label | in : Builder [] : String | +| Test.java:4351:10:4351:34 | createPredicatedList(...) : List [] : String | semmle.label | createPredicatedList(...) : List [] : String | +| Test.java:4352:9:4352:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4352:20:4352:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:4357:14:4357:38 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:4357:22:4357:37 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4357:30:4357:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4359:10:4359:42 | createPredicatedList(...) : List [] : String | semmle.label | createPredicatedList(...) : List [] : String | +| Test.java:4359:40:4359:41 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:4360:9:4360:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4360:20:4360:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:4365:38:4365:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | semmle.label | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4365:80:4365:95 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4365:88:4365:95 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4366:10:4366:11 | in : Builder [] : String | semmle.label | in : Builder [] : String | +| Test.java:4366:10:4366:42 | createPredicatedMultiSet(...) : MultiSet [] : String | semmle.label | createPredicatedMultiSet(...) : MultiSet [] : String | +| Test.java:4367:9:4367:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4367:20:4367:22 | out : MultiSet [] : String | semmle.label | out : MultiSet [] : String | +| Test.java:4372:38:4372:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | semmle.label | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4372:80:4372:95 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4372:88:4372:95 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4373:10:4373:11 | in : Builder [] : String | semmle.label | in : Builder [] : String | +| Test.java:4373:10:4373:38 | createPredicatedMultiSet(...) : MultiSet [] : String | semmle.label | createPredicatedMultiSet(...) : MultiSet [] : String | +| Test.java:4374:9:4374:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4374:20:4374:22 | out : MultiSet [] : String | semmle.label | out : MultiSet [] : String | +| Test.java:4379:18:4379:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | semmle.label | newHashMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:4379:45:4379:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4379:53:4379:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4381:10:4381:46 | createPredicatedMultiSet(...) : MultiSet [] : String | semmle.label | createPredicatedMultiSet(...) : MultiSet [] : String | +| Test.java:4381:44:4381:45 | in : HashMultiSet [] : String | semmle.label | in : HashMultiSet [] : String | +| Test.java:4382:9:4382:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4382:20:4382:22 | out : MultiSet [] : String | semmle.label | out : MultiSet [] : String | +| Test.java:4387:38:4387:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | semmle.label | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4387:80:4387:95 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4387:88:4387:95 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4388:10:4388:11 | in : Builder [] : String | semmle.label | in : Builder [] : String | +| Test.java:4388:10:4388:39 | createPredicatedQueue(...) : Queue [] : String | semmle.label | createPredicatedQueue(...) : Queue [] : String | +| Test.java:4389:9:4389:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4389:20:4389:22 | out : Queue [] : String | semmle.label | out : Queue [] : String | +| Test.java:4394:38:4394:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | semmle.label | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4394:80:4394:95 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4394:88:4394:95 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4395:10:4395:11 | in : Builder [] : String | semmle.label | in : Builder [] : String | +| Test.java:4395:10:4395:35 | createPredicatedQueue(...) : Queue [] : String | semmle.label | createPredicatedQueue(...) : Queue [] : String | +| Test.java:4396:9:4396:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4396:20:4396:22 | out : Queue [] : String | semmle.label | out : Queue [] : String | +| Test.java:4401:15:4401:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | semmle.label | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | +| Test.java:4401:47:4401:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4401:55:4401:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4403:10:4403:43 | createPredicatedQueue(...) : Queue [] : String | semmle.label | createPredicatedQueue(...) : Queue [] : String | +| Test.java:4403:41:4403:42 | in : CircularFifoQueue [] : String | semmle.label | in : CircularFifoQueue [] : String | +| Test.java:4404:9:4404:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4404:20:4404:22 | out : Queue [] : String | semmle.label | out : Queue [] : String | +| Test.java:4409:38:4409:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | semmle.label | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4409:80:4409:95 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4409:88:4409:95 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4410:10:4410:11 | in : Builder [] : String | semmle.label | in : Builder [] : String | +| Test.java:4410:10:4410:37 | createPredicatedSet(...) : Set [] : String | semmle.label | createPredicatedSet(...) : Set [] : String | +| Test.java:4411:9:4411:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4411:20:4411:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:4416:38:4416:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | semmle.label | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4416:80:4416:95 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4416:88:4416:95 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4417:10:4417:11 | in : Builder [] : String | semmle.label | in : Builder [] : String | +| Test.java:4417:10:4417:33 | createPredicatedSet(...) : Set [] : String | semmle.label | createPredicatedSet(...) : Set [] : String | +| Test.java:4418:9:4418:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4418:20:4418:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:4423:13:4423:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:4423:42:4423:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4423:50:4423:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4425:10:4425:41 | createPredicatedSet(...) : Set [] : String | semmle.label | createPredicatedSet(...) : Set [] : String | +| Test.java:4425:39:4425:40 | in : ListOrderedSet [] : String | semmle.label | in : ListOrderedSet [] : String | +| Test.java:4426:9:4426:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4426:20:4426:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:4431:38:4431:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | semmle.label | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4431:80:4431:95 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4431:88:4431:95 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4432:10:4432:11 | in : Builder [] : String | semmle.label | in : Builder [] : String | +| Test.java:4432:10:4432:30 | rejectedElements(...) : Collection [] : String | semmle.label | rejectedElements(...) : Collection [] : String | +| Test.java:4433:9:4433:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4433:20:4433:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:4438:20:4438:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4438:42:4438:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4438:50:4438:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4439:10:4439:60 | predicatedCollection(...) : PredicatedCollection [] : String | semmle.label | predicatedCollection(...) : PredicatedCollection [] : String | +| Test.java:4439:52:4439:53 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4440:9:4440:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4440:20:4440:22 | out : PredicatedCollection [] : String | semmle.label | out : PredicatedCollection [] : String | +| Test.java:4445:20:4445:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4445:42:4445:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4445:50:4445:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4446:10:4446:58 | synchronizedCollection(...) : SynchronizedCollection [] : String | semmle.label | synchronizedCollection(...) : SynchronizedCollection [] : String | +| Test.java:4446:56:4446:57 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4447:9:4447:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4447:20:4447:22 | out : SynchronizedCollection [] : String | semmle.label | out : SynchronizedCollection [] : String | +| Test.java:4452:20:4452:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4452:42:4452:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4452:50:4452:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4453:10:4453:63 | transformingCollection(...) : TransformedCollection [] : String | semmle.label | transformingCollection(...) : TransformedCollection [] : String | +| Test.java:4453:55:4453:56 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4454:9:4454:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4454:20:4454:22 | out : TransformedCollection [] : String | semmle.label | out : TransformedCollection [] : String | +| Test.java:4459:20:4459:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4459:42:4459:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4459:50:4459:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4460:10:4460:72 | unmodifiableBoundedCollection(...) : BoundedCollection [] : String | semmle.label | unmodifiableBoundedCollection(...) : BoundedCollection [] : String | +| Test.java:4460:70:4460:71 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4461:9:4461:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4461:20:4461:22 | out : BoundedCollection [] : String | semmle.label | out : BoundedCollection [] : String | +| Test.java:4466:27:4466:75 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | semmle.label | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | +| Test.java:4466:59:4466:74 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4466:67:4466:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4467:10:4467:72 | unmodifiableBoundedCollection(...) : BoundedCollection [] : String | semmle.label | unmodifiableBoundedCollection(...) : BoundedCollection [] : String | +| Test.java:4467:70:4467:71 | in : CircularFifoQueue [] : String | semmle.label | in : CircularFifoQueue [] : String | +| Test.java:4468:9:4468:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4468:20:4468:22 | out : BoundedCollection [] : String | semmle.label | out : BoundedCollection [] : String | +| Test.java:4473:20:4473:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4473:42:4473:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4473:50:4473:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4474:10:4474:58 | unmodifiableCollection(...) : Collection [] : String | semmle.label | unmodifiableCollection(...) : Collection [] : String | +| Test.java:4474:56:4474:57 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4475:9:4475:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4475:20:4475:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:4480:18:4480:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4480:45:4480:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4480:53:4480:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4481:10:4481:44 | new MyAbstractIteratorDecorator<>(...) : MyAbstractIteratorDecorator [] : String | semmle.label | new MyAbstractIteratorDecorator<>(...) : MyAbstractIteratorDecorator [] : String | +| Test.java:4481:42:4481:43 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4482:9:4482:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4482:20:4482:22 | out : MyAbstractIteratorDecorator [] : String | semmle.label | out : MyAbstractIteratorDecorator [] : String | +| Test.java:4487:22:4487:65 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4487:49:4487:64 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4487:57:4487:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4488:10:4488:48 | new MyAbstractListIteratorDecorator<>(...) : MyAbstractListIteratorDecorator [] : String | semmle.label | new MyAbstractListIteratorDecorator<>(...) : MyAbstractListIteratorDecorator [] : String | +| Test.java:4488:46:4488:47 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4489:9:4489:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4489:20:4489:22 | out : MyAbstractListIteratorDecorator [] : String | semmle.label | out : MyAbstractListIteratorDecorator [] : String | +| Test.java:4494:41:4494:121 | new MyAbstractListIteratorDecorator<>(...) : MyAbstractListIteratorDecorator [] : String | semmle.label | new MyAbstractListIteratorDecorator<>(...) : MyAbstractListIteratorDecorator [] : String | +| Test.java:4494:77:4494:120 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4494:104:4494:119 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4494:112:4494:119 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4495:10:4495:11 | in : MyAbstractListIteratorDecorator [] : String | semmle.label | in : MyAbstractListIteratorDecorator [] : String | +| Test.java:4495:10:4495:31 | myGetListIterator(...) : ListIterator [] : String | semmle.label | myGetListIterator(...) : ListIterator [] : String | +| Test.java:4496:9:4496:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4496:20:4496:22 | out : ListIterator [] : String | semmle.label | out : ListIterator [] : String | +| Test.java:4501:21:4501:60 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | semmle.label | newLinkedMapWithMapKey(...) : LinkedMap [] : String | +| Test.java:4501:21:4501:74 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:4501:44:4501:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4501:52:4501:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4502:10:4502:47 | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | semmle.label | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | +| Test.java:4502:45:4502:46 | in : OrderedMapIterator [] : String | semmle.label | in : OrderedMapIterator [] : String | +| Test.java:4503:9:4503:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4503:20:4503:22 | out : MyAbstractMapIteratorDecorator [] : String | semmle.label | out : MyAbstractMapIteratorDecorator [] : String | +| Test.java:4508:21:4508:62 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | semmle.label | newLinkedMapWithMapValue(...) : LinkedMap [] : String | +| Test.java:4508:21:4508:76 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:4508:46:4508:61 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4508:54:4508:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4509:10:4509:47 | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | semmle.label | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | +| Test.java:4509:45:4509:46 | in : OrderedMapIterator [] : String | semmle.label | in : OrderedMapIterator [] : String | +| Test.java:4510:9:4510:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4510:21:4510:23 | out : MyAbstractMapIteratorDecorator [] : String | semmle.label | out : MyAbstractMapIteratorDecorator [] : String | +| Test.java:4515:40:4515:129 | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | semmle.label | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | +| Test.java:4515:75:4515:114 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | semmle.label | newLinkedMapWithMapKey(...) : LinkedMap [] : String | +| Test.java:4515:75:4515:128 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:4515:98:4515:113 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4515:106:4515:113 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4516:10:4516:11 | in : MyAbstractMapIteratorDecorator [] : String | semmle.label | in : MyAbstractMapIteratorDecorator [] : String | +| Test.java:4516:10:4516:30 | myGetMapIterator(...) : MapIterator [] : String | semmle.label | myGetMapIterator(...) : MapIterator [] : String | +| Test.java:4517:9:4517:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4517:20:4517:22 | out : MapIterator [] : String | semmle.label | out : MapIterator [] : String | +| Test.java:4522:40:4522:131 | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | semmle.label | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | +| Test.java:4522:75:4522:116 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | semmle.label | newLinkedMapWithMapValue(...) : LinkedMap [] : String | +| Test.java:4522:75:4522:130 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:4522:100:4522:115 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4522:108:4522:115 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4523:10:4523:11 | in : MyAbstractMapIteratorDecorator [] : String | semmle.label | in : MyAbstractMapIteratorDecorator [] : String | +| Test.java:4523:10:4523:30 | myGetMapIterator(...) : MapIterator [] : String | semmle.label | myGetMapIterator(...) : MapIterator [] : String | +| Test.java:4524:9:4524:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4524:21:4524:23 | out : MapIterator [] : String | semmle.label | out : MapIterator [] : String | +| Test.java:4529:28:4529:72 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | semmle.label | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | +| Test.java:4529:28:4529:86 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:4529:56:4529:71 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4529:64:4529:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4530:10:4530:54 | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:4530:52:4530:53 | in : OrderedMapIterator [] : String | semmle.label | in : OrderedMapIterator [] : String | +| Test.java:4531:9:4531:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4531:20:4531:22 | out : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | out : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:4536:28:4536:74 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | semmle.label | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | +| Test.java:4536:28:4536:88 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:4536:58:4536:73 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4536:66:4536:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4537:10:4537:54 | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:4537:52:4537:53 | in : OrderedMapIterator [] : String | semmle.label | in : OrderedMapIterator [] : String | +| Test.java:4538:9:4538:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4538:21:4538:23 | out : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | out : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:4543:47:4543:148 | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:4543:89:4543:133 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | semmle.label | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | +| Test.java:4543:89:4543:147 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:4543:117:4543:132 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4543:125:4543:132 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4544:10:4544:11 | in : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | in : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:4544:10:4544:37 | myGetOrderedMapIterator(...) : OrderedMapIterator [] : String | semmle.label | myGetOrderedMapIterator(...) : OrderedMapIterator [] : String | +| Test.java:4545:9:4545:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4545:20:4545:22 | out : OrderedMapIterator [] : String | semmle.label | out : OrderedMapIterator [] : String | +| Test.java:4550:47:4550:150 | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:4550:89:4550:135 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | semmle.label | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | +| Test.java:4550:89:4550:149 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:4550:119:4550:134 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4550:127:4550:134 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4551:10:4551:11 | in : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | in : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:4551:10:4551:37 | myGetOrderedMapIterator(...) : OrderedMapIterator [] : String | semmle.label | myGetOrderedMapIterator(...) : OrderedMapIterator [] : String | +| Test.java:4552:9:4552:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4552:21:4552:23 | out : OrderedMapIterator [] : String | semmle.label | out : OrderedMapIterator [] : String | +| Test.java:4557:18:4557:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4557:45:4557:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4557:53:4557:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4558:10:4558:51 | new MyAbstractUntypedIteratorDecorator<>(...) : MyAbstractUntypedIteratorDecorator [] : String | semmle.label | new MyAbstractUntypedIteratorDecorator<>(...) : MyAbstractUntypedIteratorDecorator [] : String | +| Test.java:4558:49:4558:50 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4559:9:4559:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4559:20:4559:22 | out : MyAbstractUntypedIteratorDecorator [] : String | semmle.label | out : MyAbstractUntypedIteratorDecorator [] : String | +| Test.java:4564:44:4564:127 | new MyAbstractUntypedIteratorDecorator<>(...) : MyAbstractUntypedIteratorDecorator [] : String | semmle.label | new MyAbstractUntypedIteratorDecorator<>(...) : MyAbstractUntypedIteratorDecorator [] : String | +| Test.java:4564:83:4564:126 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4564:110:4564:125 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4564:118:4564:125 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4565:10:4565:11 | in : MyAbstractUntypedIteratorDecorator [] : String | semmle.label | in : MyAbstractUntypedIteratorDecorator [] : String | +| Test.java:4565:10:4565:27 | myGetIterator(...) : Iterator [] : String | semmle.label | myGetIterator(...) : Iterator [] : String | +| Test.java:4566:9:4566:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4566:20:4566:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:4571:16:4571:60 | (...)... : Object[] [[]] : String | semmle.label | (...)... : Object[] [[]] : String | +| Test.java:4571:24:4571:60 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:4571:44:4571:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4571:52:4571:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4572:10:4572:36 | new ArrayIterator<>(...) : ArrayIterator [] : String | semmle.label | new ArrayIterator<>(...) : ArrayIterator [] : String | +| Test.java:4572:28:4572:29 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:4573:9:4573:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4573:20:4573:22 | out : ArrayIterator [] : String | semmle.label | out : ArrayIterator [] : String | +| Test.java:4578:16:4578:60 | (...)... : Object[] [[]] : String | semmle.label | (...)... : Object[] [[]] : String | +| Test.java:4578:24:4578:60 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:4578:44:4578:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4578:52:4578:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4579:10:4579:33 | new ArrayIterator<>(...) : ArrayIterator [] : String | semmle.label | new ArrayIterator<>(...) : ArrayIterator [] : String | +| Test.java:4579:28:4579:29 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:4580:9:4580:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4580:20:4580:22 | out : ArrayIterator [] : String | semmle.label | out : ArrayIterator [] : String | +| Test.java:4585:16:4585:60 | (...)... : Object[] [[]] : String | semmle.label | (...)... : Object[] [[]] : String | +| Test.java:4585:24:4585:60 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:4585:44:4585:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4585:52:4585:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4586:10:4586:30 | new ArrayIterator<>(...) : ArrayIterator [] : String | semmle.label | new ArrayIterator<>(...) : ArrayIterator [] : String | +| Test.java:4586:28:4586:29 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:4587:9:4587:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4587:20:4587:22 | out : ArrayIterator [] : String | semmle.label | out : ArrayIterator [] : String | +| Test.java:4592:23:4592:86 | new ArrayIterator<>(...) : ArrayIterator [] : String | semmle.label | new ArrayIterator<>(...) : ArrayIterator [] : String | +| Test.java:4592:41:4592:85 | (...)... : Object[] [[]] : String | semmle.label | (...)... : Object[] [[]] : String | +| Test.java:4592:49:4592:85 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:4592:69:4592:84 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4592:77:4592:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4593:10:4593:32 | (...)... : String[] [[]] : String | semmle.label | (...)... : String[] [[]] : String | +| Test.java:4593:20:4593:21 | in : ArrayIterator [] : String | semmle.label | in : ArrayIterator [] : String | +| Test.java:4593:20:4593:32 | getArray(...) : Object [[]] : String | semmle.label | getArray(...) : Object [[]] : String | +| Test.java:4594:9:4594:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:4594:25:4594:27 | out : String[] [[]] : String | semmle.label | out : String[] [[]] : String | +| Test.java:4599:16:4599:60 | (...)... : Object[] [[]] : String | semmle.label | (...)... : Object[] [[]] : String | +| Test.java:4599:24:4599:60 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:4599:44:4599:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4599:52:4599:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4600:10:4600:40 | new ArrayListIterator<>(...) : ArrayListIterator [] : String | semmle.label | new ArrayListIterator<>(...) : ArrayListIterator [] : String | +| Test.java:4600:32:4600:33 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:4601:9:4601:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4601:20:4601:22 | out : ArrayListIterator [] : String | semmle.label | out : ArrayListIterator [] : String | +| Test.java:4606:16:4606:60 | (...)... : Object[] [[]] : String | semmle.label | (...)... : Object[] [[]] : String | +| Test.java:4606:24:4606:60 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:4606:44:4606:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4606:52:4606:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4607:10:4607:37 | new ArrayListIterator<>(...) : ArrayListIterator [] : String | semmle.label | new ArrayListIterator<>(...) : ArrayListIterator [] : String | +| Test.java:4607:32:4607:33 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:4608:9:4608:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4608:20:4608:22 | out : ArrayListIterator [] : String | semmle.label | out : ArrayListIterator [] : String | +| Test.java:4613:16:4613:60 | (...)... : Object[] [[]] : String | semmle.label | (...)... : Object[] [[]] : String | +| Test.java:4613:24:4613:60 | newWithArrayElement(...) : Object[] [[]] : String | semmle.label | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:4613:44:4613:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4613:52:4613:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4614:10:4614:34 | new ArrayListIterator<>(...) : ArrayListIterator [] : String | semmle.label | new ArrayListIterator<>(...) : ArrayListIterator [] : String | +| Test.java:4614:32:4614:33 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:4615:9:4615:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4615:20:4615:22 | out : ArrayListIterator [] : String | semmle.label | out : ArrayListIterator [] : String | +| Test.java:4620:18:4620:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4620:45:4620:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4620:53:4620:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4621:10:4621:40 | new BoundedIterator<>(...) : BoundedIterator [] : String | semmle.label | new BoundedIterator<>(...) : BoundedIterator [] : String | +| Test.java:4621:30:4621:31 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4622:9:4622:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4622:20:4622:22 | out : BoundedIterator [] : String | semmle.label | out : BoundedIterator [] : String | +| Test.java:4627:20:4627:72 | of(...) : List [, ] : String | semmle.label | of(...) : List [, ] : String | +| Test.java:4627:28:4627:71 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4627:55:4627:70 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4627:63:4627:70 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4628:10:4628:52 | new CollatingIterator<>(...) : CollatingIterator [] : String | semmle.label | new CollatingIterator<>(...) : CollatingIterator [] : String | +| Test.java:4628:50:4628:51 | in : List [, ] : String | semmle.label | in : List [, ] : String | +| Test.java:4629:9:4629:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4629:20:4629:22 | out : CollatingIterator [] : String | semmle.label | out : CollatingIterator [] : String | +| Test.java:4634:18:4634:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4634:45:4634:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4634:53:4634:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4635:10:4635:46 | new CollatingIterator<>(...) : CollatingIterator [] : String | semmle.label | new CollatingIterator<>(...) : CollatingIterator [] : String | +| Test.java:4635:38:4635:39 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4636:9:4636:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4636:20:4636:22 | out : CollatingIterator [] : String | semmle.label | out : CollatingIterator [] : String | +| Test.java:4641:18:4641:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4641:45:4641:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4641:53:4641:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4642:10:4642:46 | new CollatingIterator<>(...) : CollatingIterator [] : String | semmle.label | new CollatingIterator<>(...) : CollatingIterator [] : String | +| Test.java:4642:44:4642:45 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4643:9:4643:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4643:20:4643:22 | out : CollatingIterator [] : String | semmle.label | out : CollatingIterator [] : String | +| Test.java:4648:20:4648:79 | {...} : Iterator[] [[], ] : String | semmle.label | {...} : Iterator[] [[], ] : String | +| Test.java:4648:35:4648:78 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4648:62:4648:77 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4648:70:4648:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4649:10:4649:52 | new CollatingIterator<>(...) : CollatingIterator [] : String | semmle.label | new CollatingIterator<>(...) : CollatingIterator [] : String | +| Test.java:4649:50:4649:51 | in : Iterator[] [[], ] : String | semmle.label | in : Iterator[] [[], ] : String | +| Test.java:4650:9:4650:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4650:20:4650:22 | out : CollatingIterator [] : String | semmle.label | out : CollatingIterator [] : String | +| Test.java:4655:18:4655:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4655:45:4655:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4655:53:4655:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4656:4:4656:6 | out [post update] : CollatingIterator [] : String | semmle.label | out [post update] : CollatingIterator [] : String | +| Test.java:4656:20:4656:21 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4657:9:4657:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4657:20:4657:22 | out : CollatingIterator [] : String | semmle.label | out : CollatingIterator [] : String | +| Test.java:4662:27:4662:120 | new CollatingIterator<>(...) : CollatingIterator [] : String | semmle.label | new CollatingIterator<>(...) : CollatingIterator [] : String | +| Test.java:4662:67:4662:119 | of(...) : List [, ] : String | semmle.label | of(...) : List [, ] : String | +| Test.java:4662:75:4662:118 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4662:102:4662:117 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4662:110:4662:117 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4663:10:4663:11 | in : CollatingIterator [] : String | semmle.label | in : CollatingIterator [] : String | +| Test.java:4663:10:4663:26 | getIterators(...) : List [, ] : String | semmle.label | getIterators(...) : List [, ] : String | +| Test.java:4664:9:4664:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4664:20:4664:34 | getElement(...) : Iterator [] : String | semmle.label | getElement(...) : Iterator [] : String | +| Test.java:4664:31:4664:33 | out : List [, ] : String | semmle.label | out : List [, ] : String | +| Test.java:4669:18:4669:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4669:45:4669:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4669:53:4669:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4670:4:4670:6 | out [post update] : CollatingIterator [] : String | semmle.label | out [post update] : CollatingIterator [] : String | +| Test.java:4670:23:4670:24 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4671:9:4671:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4671:20:4671:22 | out : CollatingIterator [] : String | semmle.label | out : CollatingIterator [] : String | +| Test.java:4676:21:4676:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | semmle.label | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:4676:47:4676:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4676:55:4676:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4677:10:4677:42 | new EnumerationIterator<>(...) : EnumerationIterator [] : String | semmle.label | new EnumerationIterator<>(...) : EnumerationIterator [] : String | +| Test.java:4677:34:4677:35 | in : IteratorEnumeration [] : String | semmle.label | in : IteratorEnumeration [] : String | +| Test.java:4678:9:4678:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4678:20:4678:22 | out : EnumerationIterator [] : String | semmle.label | out : EnumerationIterator [] : String | +| Test.java:4683:21:4683:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | semmle.label | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:4683:47:4683:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4683:55:4683:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4684:10:4684:36 | new EnumerationIterator<>(...) : EnumerationIterator [] : String | semmle.label | new EnumerationIterator<>(...) : EnumerationIterator [] : String | +| Test.java:4684:34:4684:35 | in : IteratorEnumeration [] : String | semmle.label | in : IteratorEnumeration [] : String | +| Test.java:4685:9:4685:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4685:20:4685:22 | out : EnumerationIterator [] : String | semmle.label | out : EnumerationIterator [] : String | +| Test.java:4690:29:4690:96 | new EnumerationIterator<>(...) : EnumerationIterator [] : String | semmle.label | new EnumerationIterator<>(...) : EnumerationIterator [] : String | +| Test.java:4690:53:4690:95 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | semmle.label | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:4690:79:4690:94 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4690:87:4690:94 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4691:10:4691:11 | in : EnumerationIterator [] : String | semmle.label | in : EnumerationIterator [] : String | +| Test.java:4691:10:4691:28 | getEnumeration(...) : Enumeration [] : String | semmle.label | getEnumeration(...) : Enumeration [] : String | +| Test.java:4692:9:4692:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4692:20:4692:22 | out : Enumeration [] : String | semmle.label | out : Enumeration [] : String | +| Test.java:4697:21:4697:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | semmle.label | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:4697:47:4697:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4697:55:4697:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4698:4:4698:6 | out [post update] : EnumerationIterator [] : String | semmle.label | out [post update] : EnumerationIterator [] : String | +| Test.java:4698:23:4698:24 | in : IteratorEnumeration [] : String | semmle.label | in : IteratorEnumeration [] : String | +| Test.java:4699:9:4699:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4699:20:4699:22 | out : EnumerationIterator [] : String | semmle.label | out : EnumerationIterator [] : String | +| Test.java:4704:18:4704:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4704:45:4704:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4704:53:4704:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4705:10:4705:37 | new FilterIterator<>(...) : FilterIterator [] : String | semmle.label | new FilterIterator<>(...) : FilterIterator [] : String | +| Test.java:4705:29:4705:30 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4706:9:4706:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4706:20:4706:22 | out : FilterIterator [] : String | semmle.label | out : FilterIterator [] : String | +| Test.java:4711:18:4711:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4711:45:4711:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4711:53:4711:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4712:10:4712:31 | new FilterIterator<>(...) : FilterIterator [] : String | semmle.label | new FilterIterator<>(...) : FilterIterator [] : String | +| Test.java:4712:29:4712:30 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4713:9:4713:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4713:20:4713:22 | out : FilterIterator [] : String | semmle.label | out : FilterIterator [] : String | +| Test.java:4718:24:4718:87 | new FilterIterator<>(...) : FilterIterator [] : String | semmle.label | new FilterIterator<>(...) : FilterIterator [] : String | +| Test.java:4718:43:4718:86 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4718:70:4718:85 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4718:78:4718:85 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4719:10:4719:11 | in : FilterIterator [] : String | semmle.label | in : FilterIterator [] : String | +| Test.java:4719:10:4719:25 | getIterator(...) : Iterator [] : String | semmle.label | getIterator(...) : Iterator [] : String | +| Test.java:4720:9:4720:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4720:20:4720:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:4725:18:4725:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4725:45:4725:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4725:53:4725:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4726:4:4726:6 | out [post update] : FilterIterator [] : String | semmle.label | out [post update] : FilterIterator [] : String | +| Test.java:4726:20:4726:21 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4727:9:4727:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4727:20:4727:22 | out : FilterIterator [] : String | semmle.label | out : FilterIterator [] : String | +| Test.java:4732:22:4732:65 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4732:49:4732:64 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4732:57:4732:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4733:10:4733:35 | new FilterListIterator<>(...) : FilterListIterator [] : String | semmle.label | new FilterListIterator<>(...) : FilterListIterator [] : String | +| Test.java:4733:33:4733:34 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4734:9:4734:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4734:20:4734:22 | out : FilterListIterator [] : String | semmle.label | out : FilterListIterator [] : String | +| Test.java:4739:22:4739:65 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4739:49:4739:64 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4739:57:4739:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4740:10:4740:41 | new FilterListIterator<>(...) : FilterListIterator [] : String | semmle.label | new FilterListIterator<>(...) : FilterListIterator [] : String | +| Test.java:4740:33:4740:34 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4741:9:4741:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4741:20:4741:22 | out : FilterListIterator [] : String | semmle.label | out : FilterListIterator [] : String | +| Test.java:4746:28:4746:95 | new FilterListIterator<>(...) : FilterListIterator [] : String | semmle.label | new FilterListIterator<>(...) : FilterListIterator [] : String | +| Test.java:4746:51:4746:94 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4746:78:4746:93 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4746:86:4746:93 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4747:10:4747:11 | in : FilterListIterator [] : String | semmle.label | in : FilterListIterator [] : String | +| Test.java:4747:10:4747:29 | getListIterator(...) : ListIterator [] : String | semmle.label | getListIterator(...) : ListIterator [] : String | +| Test.java:4748:9:4748:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4748:20:4748:22 | out : ListIterator [] : String | semmle.label | out : ListIterator [] : String | +| Test.java:4753:22:4753:65 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4753:49:4753:64 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4753:57:4753:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4754:4:4754:6 | out [post update] : FilterListIterator [] : String | semmle.label | out [post update] : FilterListIterator [] : String | +| Test.java:4754:24:4754:25 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4755:9:4755:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4755:20:4755:22 | out : FilterListIterator [] : String | semmle.label | out : FilterListIterator [] : String | +| Test.java:4760:20:4760:86 | newTreeBagWithElement(...) : TreeBag [, ] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [, ] : String | +| Test.java:4760:42:4760:85 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4760:69:4760:84 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4760:77:4760:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4761:10:4761:30 | new IteratorChain<>(...) : IteratorChain [] : String | semmle.label | new IteratorChain<>(...) : IteratorChain [] : String | +| Test.java:4761:28:4761:29 | in : TreeBag [, ] : String | semmle.label | in : TreeBag [, ] : String | +| Test.java:4762:9:4762:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4762:20:4762:22 | out : IteratorChain [] : String | semmle.label | out : IteratorChain [] : String | +| Test.java:4767:18:4767:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4767:45:4767:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4767:53:4767:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4768:10:4768:30 | new IteratorChain<>(...) : IteratorChain [] : String | semmle.label | new IteratorChain<>(...) : IteratorChain [] : String | +| Test.java:4768:28:4768:29 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4769:9:4769:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4769:20:4769:22 | out : IteratorChain [] : String | semmle.label | out : IteratorChain [] : String | +| Test.java:4774:18:4774:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4774:45:4774:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4774:53:4774:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4775:10:4775:36 | new IteratorChain<>(...) : IteratorChain [] : String | semmle.label | new IteratorChain<>(...) : IteratorChain [] : String | +| Test.java:4775:28:4775:29 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4776:9:4776:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4776:20:4776:22 | out : IteratorChain [] : String | semmle.label | out : IteratorChain [] : String | +| Test.java:4781:18:4781:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4781:45:4781:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4781:53:4781:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4782:10:4782:36 | new IteratorChain<>(...) : IteratorChain [] : String | semmle.label | new IteratorChain<>(...) : IteratorChain [] : String | +| Test.java:4782:34:4782:35 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4783:9:4783:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4783:20:4783:22 | out : IteratorChain [] : String | semmle.label | out : IteratorChain [] : String | +| Test.java:4788:20:4788:79 | {...} : Iterator[] [[], ] : String | semmle.label | {...} : Iterator[] [[], ] : String | +| Test.java:4788:35:4788:78 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4788:62:4788:77 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4788:70:4788:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4789:10:4789:30 | new IteratorChain<>(...) : IteratorChain [] : String | semmle.label | new IteratorChain<>(...) : IteratorChain [] : String | +| Test.java:4789:28:4789:29 | in : Iterator[] [[], ] : String | semmle.label | in : Iterator[] [[], ] : String | +| Test.java:4790:9:4790:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4790:20:4790:22 | out : IteratorChain [] : String | semmle.label | out : IteratorChain [] : String | +| Test.java:4795:18:4795:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4795:45:4795:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4795:53:4795:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4796:4:4796:6 | out [post update] : IteratorChain [] : String | semmle.label | out [post update] : IteratorChain [] : String | +| Test.java:4796:20:4796:21 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4797:9:4797:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4797:20:4797:22 | out : IteratorChain [] : String | semmle.label | out : IteratorChain [] : String | +| Test.java:4802:18:4802:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4802:45:4802:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4802:53:4802:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4803:10:4803:36 | new IteratorEnumeration<>(...) : IteratorEnumeration [] : String | semmle.label | new IteratorEnumeration<>(...) : IteratorEnumeration [] : String | +| Test.java:4803:34:4803:35 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4804:9:4804:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4804:20:4804:22 | out : IteratorEnumeration [] : String | semmle.label | out : IteratorEnumeration [] : String | +| Test.java:4809:29:4809:97 | new IteratorEnumeration<>(...) : IteratorEnumeration [] : String | semmle.label | new IteratorEnumeration<>(...) : IteratorEnumeration [] : String | +| Test.java:4809:53:4809:96 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4809:80:4809:95 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4809:88:4809:95 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4810:10:4810:11 | in : IteratorEnumeration [] : String | semmle.label | in : IteratorEnumeration [] : String | +| Test.java:4810:10:4810:25 | getIterator(...) : Iterator [] : String | semmle.label | getIterator(...) : Iterator [] : String | +| Test.java:4811:9:4811:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4811:20:4811:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:4816:18:4816:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4816:45:4816:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4816:53:4816:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4817:4:4817:6 | out [post update] : IteratorEnumeration [] : String | semmle.label | out [post update] : IteratorEnumeration [] : String | +| Test.java:4817:20:4817:21 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4818:9:4818:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4818:20:4818:22 | out : IteratorEnumeration [] : String | semmle.label | out : IteratorEnumeration [] : String | +| Test.java:4823:18:4823:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4823:45:4823:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4823:53:4823:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4824:10:4824:40 | new IteratorIterable<>(...) : IteratorIterable [] : String | semmle.label | new IteratorIterable<>(...) : IteratorIterable [] : String | +| Test.java:4824:31:4824:32 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4825:9:4825:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4825:20:4825:22 | out : IteratorIterable [] : String | semmle.label | out : IteratorIterable [] : String | +| Test.java:4830:18:4830:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4830:45:4830:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4830:53:4830:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4831:10:4831:33 | new IteratorIterable<>(...) : IteratorIterable [] : String | semmle.label | new IteratorIterable<>(...) : IteratorIterable [] : String | +| Test.java:4831:31:4831:32 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4832:9:4832:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4832:20:4832:22 | out : IteratorIterable [] : String | semmle.label | out : IteratorIterable [] : String | +| Test.java:4837:18:4837:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4837:45:4837:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4837:53:4837:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4838:10:4838:36 | new ListIteratorWrapper<>(...) : ListIteratorWrapper [] : String | semmle.label | new ListIteratorWrapper<>(...) : ListIteratorWrapper [] : String | +| Test.java:4838:34:4838:35 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4839:9:4839:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4839:20:4839:22 | out : ListIteratorWrapper [] : String | semmle.label | out : ListIteratorWrapper [] : String | +| Test.java:4844:20:4844:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4844:42:4844:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4844:50:4844:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4845:10:4845:32 | new LoopingIterator<>(...) : LoopingIterator [] : String | semmle.label | new LoopingIterator<>(...) : LoopingIterator [] : String | +| Test.java:4845:30:4845:31 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:4846:9:4846:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4846:20:4846:22 | out : LoopingIterator [] : String | semmle.label | out : LoopingIterator [] : String | +| Test.java:4851:14:4851:38 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:4851:22:4851:37 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4851:30:4851:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4852:10:4852:36 | new LoopingListIterator<>(...) : LoopingListIterator [] : String | semmle.label | new LoopingListIterator<>(...) : LoopingListIterator [] : String | +| Test.java:4852:34:4852:35 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:4853:9:4853:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4853:20:4853:22 | out : LoopingListIterator [] : String | semmle.label | out : LoopingListIterator [] : String | +| Test.java:4858:18:4858:47 | {...} : Object[] [[]] : String | semmle.label | {...} : Object[] [[]] : String | +| Test.java:4858:31:4858:46 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4858:39:4858:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4859:10:4859:42 | new ObjectArrayIterator<>(...) : ObjectArrayIterator [] : String | semmle.label | new ObjectArrayIterator<>(...) : ObjectArrayIterator [] : String | +| Test.java:4859:34:4859:35 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:4860:9:4860:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4860:20:4860:22 | out : ObjectArrayIterator [] : String | semmle.label | out : ObjectArrayIterator [] : String | +| Test.java:4865:18:4865:47 | {...} : Object[] [[]] : String | semmle.label | {...} : Object[] [[]] : String | +| Test.java:4865:31:4865:46 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4865:39:4865:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4866:10:4866:39 | new ObjectArrayIterator<>(...) : ObjectArrayIterator [] : String | semmle.label | new ObjectArrayIterator<>(...) : ObjectArrayIterator [] : String | +| Test.java:4866:34:4866:35 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:4867:9:4867:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4867:20:4867:22 | out : ObjectArrayIterator [] : String | semmle.label | out : ObjectArrayIterator [] : String | +| Test.java:4872:18:4872:47 | {...} : Object[] [[]] : String | semmle.label | {...} : Object[] [[]] : String | +| Test.java:4872:31:4872:46 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4872:39:4872:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4873:10:4873:36 | new ObjectArrayIterator<>(...) : ObjectArrayIterator [] : String | semmle.label | new ObjectArrayIterator<>(...) : ObjectArrayIterator [] : String | +| Test.java:4873:34:4873:35 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:4874:9:4874:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4874:20:4874:22 | out : ObjectArrayIterator [] : String | semmle.label | out : ObjectArrayIterator [] : String | +| Test.java:4879:29:4879:83 | new ObjectArrayIterator<>(...) : ObjectArrayIterator [] : String | semmle.label | new ObjectArrayIterator<>(...) : ObjectArrayIterator [] : String | +| Test.java:4879:53:4879:82 | new Object[] : Object[] [[]] : String | semmle.label | new Object[] : Object[] [[]] : String | +| Test.java:4879:53:4879:82 | {...} : Object[] [[]] : String | semmle.label | {...} : Object[] [[]] : String | +| Test.java:4879:66:4879:81 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4879:74:4879:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4880:10:4880:11 | in : ObjectArrayIterator [] : String | semmle.label | in : ObjectArrayIterator [] : String | +| Test.java:4880:10:4880:22 | getArray(...) : Object[] [[]] : String | semmle.label | getArray(...) : Object[] [[]] : String | +| Test.java:4881:9:4881:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:4881:25:4881:27 | out : Object[] [[]] : String | semmle.label | out : Object[] [[]] : String | +| Test.java:4886:18:4886:47 | {...} : Object[] [[]] : String | semmle.label | {...} : Object[] [[]] : String | +| Test.java:4886:31:4886:46 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4886:39:4886:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4887:10:4887:46 | new ObjectArrayListIterator<>(...) : ObjectArrayListIterator [] : String | semmle.label | new ObjectArrayListIterator<>(...) : ObjectArrayListIterator [] : String | +| Test.java:4887:38:4887:39 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:4888:9:4888:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4888:20:4888:22 | out : ObjectArrayListIterator [] : String | semmle.label | out : ObjectArrayListIterator [] : String | +| Test.java:4893:18:4893:47 | {...} : Object[] [[]] : String | semmle.label | {...} : Object[] [[]] : String | +| Test.java:4893:31:4893:46 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4893:39:4893:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4894:10:4894:43 | new ObjectArrayListIterator<>(...) : ObjectArrayListIterator [] : String | semmle.label | new ObjectArrayListIterator<>(...) : ObjectArrayListIterator [] : String | +| Test.java:4894:38:4894:39 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:4895:9:4895:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4895:20:4895:22 | out : ObjectArrayListIterator [] : String | semmle.label | out : ObjectArrayListIterator [] : String | +| Test.java:4900:18:4900:47 | {...} : Object[] [[]] : String | semmle.label | {...} : Object[] [[]] : String | +| Test.java:4900:31:4900:46 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4900:39:4900:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4901:10:4901:40 | new ObjectArrayListIterator<>(...) : ObjectArrayListIterator [] : String | semmle.label | new ObjectArrayListIterator<>(...) : ObjectArrayListIterator [] : String | +| Test.java:4901:38:4901:39 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:4902:9:4902:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4902:20:4902:22 | out : ObjectArrayListIterator [] : String | semmle.label | out : ObjectArrayListIterator [] : String | +| Test.java:4907:18:4907:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4907:45:4907:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4907:53:4907:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4908:10:4908:32 | new PeekingIterator<>(...) : PeekingIterator [] : String | semmle.label | new PeekingIterator<>(...) : PeekingIterator [] : String | +| Test.java:4908:30:4908:31 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4909:9:4909:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4909:20:4909:22 | out : PeekingIterator [] : String | semmle.label | out : PeekingIterator [] : String | +| Test.java:4914:25:4914:89 | new PeekingIterator<>(...) : PeekingIterator [] : String | semmle.label | new PeekingIterator<>(...) : PeekingIterator [] : String | +| Test.java:4914:45:4914:88 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4914:72:4914:87 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4914:80:4914:87 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4915:10:4915:11 | in : PeekingIterator [] : String | semmle.label | in : PeekingIterator [] : String | +| Test.java:4915:10:4915:21 | element(...) : String | semmle.label | element(...) : String | +| Test.java:4916:9:4916:11 | out | semmle.label | out | +| Test.java:4921:25:4921:89 | new PeekingIterator<>(...) : PeekingIterator [] : String | semmle.label | new PeekingIterator<>(...) : PeekingIterator [] : String | +| Test.java:4921:45:4921:88 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4921:72:4921:87 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4921:80:4921:87 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4922:10:4922:11 | in : PeekingIterator [] : String | semmle.label | in : PeekingIterator [] : String | +| Test.java:4922:10:4922:18 | peek(...) : String | semmle.label | peek(...) : String | +| Test.java:4923:9:4923:11 | out | semmle.label | out | +| Test.java:4928:18:4928:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4928:45:4928:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4928:53:4928:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4929:10:4929:44 | peekingIterator(...) : PeekingIterator [] : String | semmle.label | peekingIterator(...) : PeekingIterator [] : String | +| Test.java:4929:42:4929:43 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4930:9:4930:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4930:20:4930:22 | out : PeekingIterator [] : String | semmle.label | out : PeekingIterator [] : String | +| Test.java:4935:28:4935:60 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:4935:44:4935:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4935:52:4935:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4936:10:4936:36 | new PermutationIterator<>(...) : PermutationIterator [, ] : String | semmle.label | new PermutationIterator<>(...) : PermutationIterator [, ] : String | +| Test.java:4936:34:4936:35 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:4937:9:4937:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4937:20:4937:34 | getElement(...) : List [] : String | semmle.label | getElement(...) : List [] : String | +| Test.java:4937:31:4937:33 | out : PermutationIterator [, ] : String | semmle.label | out : PermutationIterator [, ] : String | +| Test.java:4942:18:4942:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4942:45:4942:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4942:53:4942:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4943:10:4943:33 | new PushbackIterator<>(...) : PushbackIterator [] : String | semmle.label | new PushbackIterator<>(...) : PushbackIterator [] : String | +| Test.java:4943:31:4943:32 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4944:9:4944:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4944:20:4944:22 | out : PushbackIterator [] : String | semmle.label | out : PushbackIterator [] : String | +| Test.java:4949:16:4949:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4950:4:4950:6 | out [post update] : PushbackIterator [] : Object | semmle.label | out [post update] : PushbackIterator [] : Object | +| Test.java:4950:17:4950:18 | in : Object | semmle.label | in : Object | +| Test.java:4951:9:4951:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4951:20:4951:22 | out : PushbackIterator [] : Object | semmle.label | out : PushbackIterator [] : Object | +| Test.java:4956:18:4956:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4956:45:4956:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4956:53:4956:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4957:10:4957:46 | pushbackIterator(...) : PushbackIterator [] : String | semmle.label | pushbackIterator(...) : PushbackIterator [] : String | +| Test.java:4957:44:4957:45 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4958:9:4958:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4958:20:4958:22 | out : PushbackIterator [] : String | semmle.label | out : PushbackIterator [] : String | +| Test.java:4963:14:4963:38 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:4963:22:4963:37 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4963:30:4963:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4964:10:4964:36 | new ReverseListIterator<>(...) : ReverseListIterator [] : String | semmle.label | new ReverseListIterator<>(...) : ReverseListIterator [] : String | +| Test.java:4964:34:4964:35 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:4965:9:4965:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4965:20:4965:22 | out : ReverseListIterator [] : String | semmle.label | out : ReverseListIterator [] : String | +| Test.java:4970:16:4970:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4971:10:4971:41 | new SingletonIterator<>(...) : SingletonIterator [] : Object | semmle.label | new SingletonIterator<>(...) : SingletonIterator [] : Object | +| Test.java:4971:32:4971:33 | in : Object | semmle.label | in : Object | +| Test.java:4972:9:4972:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4972:20:4972:22 | out : SingletonIterator [] : Object | semmle.label | out : SingletonIterator [] : Object | +| Test.java:4977:16:4977:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4978:10:4978:34 | new SingletonIterator<>(...) : SingletonIterator [] : Object | semmle.label | new SingletonIterator<>(...) : SingletonIterator [] : Object | +| Test.java:4978:32:4978:33 | in : Object | semmle.label | in : Object | +| Test.java:4979:9:4979:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4979:20:4979:22 | out : SingletonIterator [] : Object | semmle.label | out : SingletonIterator [] : Object | +| Test.java:4984:16:4984:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4985:10:4985:38 | new SingletonListIterator<>(...) : SingletonListIterator [] : Object | semmle.label | new SingletonListIterator<>(...) : SingletonListIterator [] : Object | +| Test.java:4985:36:4985:37 | in : Object | semmle.label | in : Object | +| Test.java:4986:9:4986:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4986:20:4986:22 | out : SingletonListIterator [] : Object | semmle.label | out : SingletonListIterator [] : Object | +| Test.java:4991:18:4991:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4991:45:4991:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4991:53:4991:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4992:10:4992:37 | new SkippingIterator<>(...) : SkippingIterator [] : String | semmle.label | new SkippingIterator<>(...) : SkippingIterator [] : String | +| Test.java:4992:31:4992:32 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:4993:9:4993:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4993:20:4993:22 | out : SkippingIterator [] : String | semmle.label | out : SkippingIterator [] : String | +| Test.java:4998:18:4998:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4998:45:4998:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4998:53:4998:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4999:10:4999:37 | new UniqueFilterIterator<>(...) : UniqueFilterIterator [] : String | semmle.label | new UniqueFilterIterator<>(...) : UniqueFilterIterator [] : String | +| Test.java:4999:35:4999:36 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:5000:9:5000:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5000:20:5000:22 | out : UniqueFilterIterator [] : String | semmle.label | out : UniqueFilterIterator [] : String | +| Test.java:5005:18:5005:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:5005:45:5005:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5005:53:5005:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5006:10:5006:54 | unmodifiableIterator(...) : Iterator [] : String | semmle.label | unmodifiableIterator(...) : Iterator [] : String | +| Test.java:5006:52:5006:53 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:5007:9:5007:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5007:20:5007:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:5012:22:5012:65 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:5012:49:5012:64 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5012:57:5012:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5013:10:5013:61 | umodifiableListIterator(...) : ListIterator [] : String | semmle.label | umodifiableListIterator(...) : ListIterator [] : String | +| Test.java:5013:59:5013:60 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:5014:9:5014:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5014:20:5014:22 | out : ListIterator [] : String | semmle.label | out : ListIterator [] : String | +| Test.java:5019:21:5019:60 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | semmle.label | newLinkedMapWithMapKey(...) : LinkedMap [] : String | +| Test.java:5019:21:5019:74 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:5019:44:5019:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5019:52:5019:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5020:10:5020:60 | unmodifiableMapIterator(...) : MapIterator [] : String | semmle.label | unmodifiableMapIterator(...) : MapIterator [] : String | +| Test.java:5020:58:5020:59 | in : OrderedMapIterator [] : String | semmle.label | in : OrderedMapIterator [] : String | +| Test.java:5021:9:5021:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5021:20:5021:22 | out : MapIterator [] : String | semmle.label | out : MapIterator [] : String | +| Test.java:5026:21:5026:62 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | semmle.label | newLinkedMapWithMapValue(...) : LinkedMap [] : String | +| Test.java:5026:21:5026:76 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:5026:46:5026:61 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5026:54:5026:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5027:10:5027:60 | unmodifiableMapIterator(...) : MapIterator [] : String | semmle.label | unmodifiableMapIterator(...) : MapIterator [] : String | +| Test.java:5027:58:5027:59 | in : OrderedMapIterator [] : String | semmle.label | in : OrderedMapIterator [] : String | +| Test.java:5028:9:5028:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5028:21:5028:23 | out : MapIterator [] : String | semmle.label | out : MapIterator [] : String | +| Test.java:5033:28:5033:72 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | semmle.label | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | +| Test.java:5033:28:5033:86 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:5033:56:5033:71 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5033:64:5033:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5034:10:5034:74 | unmodifiableOrderedMapIterator(...) : OrderedMapIterator [] : String | semmle.label | unmodifiableOrderedMapIterator(...) : OrderedMapIterator [] : String | +| Test.java:5034:72:5034:73 | in : OrderedMapIterator [] : String | semmle.label | in : OrderedMapIterator [] : String | +| Test.java:5035:9:5035:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5035:20:5035:22 | out : OrderedMapIterator [] : String | semmle.label | out : OrderedMapIterator [] : String | +| Test.java:5040:28:5040:74 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | semmle.label | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | +| Test.java:5040:28:5040:88 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | +| Test.java:5040:58:5040:73 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5040:66:5040:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5041:10:5041:74 | unmodifiableOrderedMapIterator(...) : OrderedMapIterator [] : String | semmle.label | unmodifiableOrderedMapIterator(...) : OrderedMapIterator [] : String | +| Test.java:5041:72:5041:73 | in : OrderedMapIterator [] : String | semmle.label | in : OrderedMapIterator [] : String | +| Test.java:5042:9:5042:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5042:21:5042:23 | out : OrderedMapIterator [] : String | semmle.label | out : OrderedMapIterator [] : String | +| Test.java:5047:18:5047:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:5047:45:5047:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5047:53:5047:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5048:10:5048:38 | new ZippingIterator<>(...) : ZippingIterator [] : String | semmle.label | new ZippingIterator<>(...) : ZippingIterator [] : String | +| Test.java:5048:30:5048:31 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:5049:9:5049:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5049:20:5049:22 | out : ZippingIterator [] : String | semmle.label | out : ZippingIterator [] : String | +| Test.java:5054:18:5054:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:5054:45:5054:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5054:53:5054:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5055:10:5055:38 | new ZippingIterator<>(...) : ZippingIterator [] : String | semmle.label | new ZippingIterator<>(...) : ZippingIterator [] : String | +| Test.java:5055:36:5055:37 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:5056:9:5056:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5056:20:5056:22 | out : ZippingIterator [] : String | semmle.label | out : ZippingIterator [] : String | +| Test.java:5061:18:5061:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:5061:45:5061:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5061:53:5061:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5062:10:5062:44 | new ZippingIterator<>(...) : ZippingIterator [] : String | semmle.label | new ZippingIterator<>(...) : ZippingIterator [] : String | +| Test.java:5062:30:5062:31 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:5063:9:5063:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5063:20:5063:22 | out : ZippingIterator [] : String | semmle.label | out : ZippingIterator [] : String | +| Test.java:5068:18:5068:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:5068:45:5068:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5068:53:5068:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5069:10:5069:44 | new ZippingIterator<>(...) : ZippingIterator [] : String | semmle.label | new ZippingIterator<>(...) : ZippingIterator [] : String | +| Test.java:5069:36:5069:37 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:5070:9:5070:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5070:20:5070:22 | out : ZippingIterator [] : String | semmle.label | out : ZippingIterator [] : String | +| Test.java:5075:18:5075:61 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:5075:45:5075:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5075:53:5075:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5076:10:5076:44 | new ZippingIterator<>(...) : ZippingIterator [] : String | semmle.label | new ZippingIterator<>(...) : ZippingIterator [] : String | +| Test.java:5076:42:5076:43 | in : ListIterator [] : String | semmle.label | in : ListIterator [] : String | +| Test.java:5077:9:5077:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5077:20:5077:22 | out : ZippingIterator [] : String | semmle.label | out : ZippingIterator [] : String | +| Test.java:5082:20:5082:79 | {...} : Iterator[] [[], ] : String | semmle.label | {...} : Iterator[] [[], ] : String | +| Test.java:5082:35:5082:78 | newListIteratorWithElement(...) : ListIterator [] : String | semmle.label | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:5082:62:5082:77 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5082:70:5082:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5083:10:5083:32 | new ZippingIterator<>(...) : ZippingIterator [] : String | semmle.label | new ZippingIterator<>(...) : ZippingIterator [] : String | +| Test.java:5083:30:5083:31 | in : Iterator[] [[], ] : String | semmle.label | in : Iterator[] [[], ] : String | +| Test.java:5084:9:5084:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5084:20:5084:22 | out : ZippingIterator [] : String | semmle.label | out : ZippingIterator [] : String | +| Test.java:5089:16:5089:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5090:10:5090:39 | new MultiKey<>(...) : MultiKey [] : Object | semmle.label | new MultiKey<>(...) : MultiKey [] : Object | +| Test.java:5090:23:5090:24 | in : Object | semmle.label | in : Object | +| Test.java:5091:9:5091:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5091:20:5091:22 | out : MultiKey [] : Object | semmle.label | out : MultiKey [] : Object | +| Test.java:5096:16:5096:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5097:10:5097:39 | new MultiKey<>(...) : MultiKey [] : Object | semmle.label | new MultiKey<>(...) : MultiKey [] : Object | +| Test.java:5097:37:5097:38 | in : Object | semmle.label | in : Object | +| Test.java:5098:9:5098:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5098:20:5098:22 | out : MultiKey [] : Object | semmle.label | out : MultiKey [] : Object | +| Test.java:5103:16:5103:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5104:10:5104:37 | new MultiKey<>(...) : MultiKey [] : Object | semmle.label | new MultiKey<>(...) : MultiKey [] : Object | +| Test.java:5104:23:5104:24 | in : Object | semmle.label | in : Object | +| Test.java:5105:9:5105:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5105:20:5105:22 | out : MultiKey [] : Object | semmle.label | out : MultiKey [] : Object | +| Test.java:5110:16:5110:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5111:10:5111:37 | new MultiKey<>(...) : MultiKey [] : Object | semmle.label | new MultiKey<>(...) : MultiKey [] : Object | +| Test.java:5111:29:5111:30 | in : Object | semmle.label | in : Object | +| Test.java:5112:9:5112:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5112:20:5112:22 | out : MultiKey [] : Object | semmle.label | out : MultiKey [] : Object | +| Test.java:5117:16:5117:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5118:10:5118:37 | new MultiKey<>(...) : MultiKey [] : Object | semmle.label | new MultiKey<>(...) : MultiKey [] : Object | +| Test.java:5118:35:5118:36 | in : Object | semmle.label | in : Object | +| Test.java:5119:9:5119:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5119:20:5119:22 | out : MultiKey [] : Object | semmle.label | out : MultiKey [] : Object | +| Test.java:5124:16:5124:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5125:10:5125:43 | new MultiKey<>(...) : MultiKey [] : Object | semmle.label | new MultiKey<>(...) : MultiKey [] : Object | +| Test.java:5125:23:5125:24 | in : Object | semmle.label | in : Object | +| Test.java:5126:9:5126:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5126:20:5126:22 | out : MultiKey [] : Object | semmle.label | out : MultiKey [] : Object | +| Test.java:5131:16:5131:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5132:10:5132:43 | new MultiKey<>(...) : MultiKey [] : Object | semmle.label | new MultiKey<>(...) : MultiKey [] : Object | +| Test.java:5132:29:5132:30 | in : Object | semmle.label | in : Object | +| Test.java:5133:9:5133:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5133:20:5133:22 | out : MultiKey [] : Object | semmle.label | out : MultiKey [] : Object | +| Test.java:5138:16:5138:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5139:10:5139:43 | new MultiKey<>(...) : MultiKey [] : Object | semmle.label | new MultiKey<>(...) : MultiKey [] : Object | +| Test.java:5139:35:5139:36 | in : Object | semmle.label | in : Object | +| Test.java:5140:9:5140:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5140:20:5140:22 | out : MultiKey [] : Object | semmle.label | out : MultiKey [] : Object | +| Test.java:5145:16:5145:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5146:10:5146:43 | new MultiKey<>(...) : MultiKey [] : Object | semmle.label | new MultiKey<>(...) : MultiKey [] : Object | +| Test.java:5146:41:5146:42 | in : Object | semmle.label | in : Object | +| Test.java:5147:9:5147:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5147:20:5147:22 | out : MultiKey [] : Object | semmle.label | out : MultiKey [] : Object | +| Test.java:5152:16:5152:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5153:10:5153:49 | new MultiKey<>(...) : MultiKey [] : Object | semmle.label | new MultiKey<>(...) : MultiKey [] : Object | +| Test.java:5153:23:5153:24 | in : Object | semmle.label | in : Object | +| Test.java:5154:9:5154:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5154:20:5154:22 | out : MultiKey [] : Object | semmle.label | out : MultiKey [] : Object | +| Test.java:5159:16:5159:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5160:10:5160:49 | new MultiKey<>(...) : MultiKey [] : Object | semmle.label | new MultiKey<>(...) : MultiKey [] : Object | +| Test.java:5160:29:5160:30 | in : Object | semmle.label | in : Object | +| Test.java:5161:9:5161:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5161:20:5161:22 | out : MultiKey [] : Object | semmle.label | out : MultiKey [] : Object | +| Test.java:5166:16:5166:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5167:10:5167:49 | new MultiKey<>(...) : MultiKey [] : Object | semmle.label | new MultiKey<>(...) : MultiKey [] : Object | +| Test.java:5167:35:5167:36 | in : Object | semmle.label | in : Object | +| Test.java:5168:9:5168:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5168:20:5168:22 | out : MultiKey [] : Object | semmle.label | out : MultiKey [] : Object | +| Test.java:5173:16:5173:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5174:10:5174:49 | new MultiKey<>(...) : MultiKey [] : Object | semmle.label | new MultiKey<>(...) : MultiKey [] : Object | +| Test.java:5174:41:5174:42 | in : Object | semmle.label | in : Object | +| Test.java:5175:9:5175:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5175:20:5175:22 | out : MultiKey [] : Object | semmle.label | out : MultiKey [] : Object | +| Test.java:5180:16:5180:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5181:10:5181:49 | new MultiKey<>(...) : MultiKey [] : Object | semmle.label | new MultiKey<>(...) : MultiKey [] : Object | +| Test.java:5181:47:5181:48 | in : Object | semmle.label | in : Object | +| Test.java:5182:9:5182:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5182:20:5182:22 | out : MultiKey [] : Object | semmle.label | out : MultiKey [] : Object | +| Test.java:5187:18:5187:47 | {...} : Object[] [[]] : String | semmle.label | {...} : Object[] [[]] : String | +| Test.java:5187:31:5187:46 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5187:39:5187:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5188:10:5188:25 | new MultiKey<>(...) : MultiKey [] : String | semmle.label | new MultiKey<>(...) : MultiKey [] : String | +| Test.java:5188:23:5188:24 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:5189:9:5189:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5189:20:5189:22 | out : MultiKey [] : String | semmle.label | out : MultiKey [] : String | +| Test.java:5194:18:5194:47 | {...} : Object[] [[]] : String | semmle.label | {...} : Object[] [[]] : String | +| Test.java:5194:31:5194:46 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5194:39:5194:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5195:10:5195:32 | new MultiKey<>(...) : MultiKey [] : String | semmle.label | new MultiKey<>(...) : MultiKey [] : String | +| Test.java:5195:23:5195:24 | in : Object[] [[]] : String | semmle.label | in : Object[] [[]] : String | +| Test.java:5196:9:5196:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5196:20:5196:22 | out : MultiKey [] : String | semmle.label | out : MultiKey [] : String | +| Test.java:5201:18:5201:57 | newMultiKeyWithElement(...) : MultiKey [] : String | semmle.label | newMultiKeyWithElement(...) : MultiKey [] : String | +| Test.java:5201:41:5201:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5201:49:5201:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5202:10:5202:11 | in : MultiKey [] : String | semmle.label | in : MultiKey [] : String | +| Test.java:5202:10:5202:21 | getKey(...) : String | semmle.label | getKey(...) : String | +| Test.java:5203:9:5203:11 | out | semmle.label | out | +| Test.java:5208:18:5208:57 | newMultiKeyWithElement(...) : MultiKey [] : String | semmle.label | newMultiKeyWithElement(...) : MultiKey [] : String | +| Test.java:5208:41:5208:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5208:49:5208:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5209:10:5209:11 | in : MultiKey [] : String | semmle.label | in : MultiKey [] : String | +| Test.java:5209:10:5209:21 | getKeys(...) : Object[] [[]] : String | semmle.label | getKeys(...) : Object[] [[]] : String | +| Test.java:5210:9:5210:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:5210:25:5210:27 | out : Object[] [[]] : String | semmle.label | out : Object[] [[]] : String | +| Test.java:5215:20:5215:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:5215:42:5215:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5215:50:5215:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5216:10:5216:37 | new MyAbstractLinkedList<>(...) : MyAbstractLinkedList [] : String | semmle.label | new MyAbstractLinkedList<>(...) : MyAbstractLinkedList [] : String | +| Test.java:5216:35:5216:36 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:5217:9:5217:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5217:20:5217:22 | out : MyAbstractLinkedList [] : String | semmle.label | out : MyAbstractLinkedList [] : String | +| Test.java:5222:16:5222:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5223:4:5223:6 | out [post update] : AbstractLinkedList [] : Object | semmle.label | out [post update] : AbstractLinkedList [] : Object | +| Test.java:5223:17:5223:18 | in : Object | semmle.label | in : Object | +| Test.java:5224:9:5224:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5224:20:5224:22 | out : AbstractLinkedList [] : Object | semmle.label | out : AbstractLinkedList [] : Object | +| Test.java:5229:16:5229:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5230:4:5230:6 | out [post update] : AbstractLinkedList [] : Object | semmle.label | out [post update] : AbstractLinkedList [] : Object | +| Test.java:5230:16:5230:17 | in : Object | semmle.label | in : Object | +| Test.java:5231:9:5231:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5231:20:5231:22 | out : AbstractLinkedList [] : Object | semmle.label | out : AbstractLinkedList [] : Object | +| Test.java:5236:28:5236:79 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | semmle.label | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | +| Test.java:5236:63:5236:78 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5236:71:5236:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5237:10:5237:11 | in : CursorableLinkedList [] : String | semmle.label | in : CursorableLinkedList [] : String | +| Test.java:5237:10:5237:22 | getFirst(...) : String | semmle.label | getFirst(...) : String | +| Test.java:5238:9:5238:11 | out | semmle.label | out | +| Test.java:5243:28:5243:79 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | semmle.label | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | +| Test.java:5243:63:5243:78 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5243:71:5243:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5244:10:5244:11 | in : CursorableLinkedList [] : String | semmle.label | in : CursorableLinkedList [] : String | +| Test.java:5244:10:5244:21 | getLast(...) : String | semmle.label | getLast(...) : String | +| Test.java:5245:9:5245:11 | out | semmle.label | out | +| Test.java:5250:28:5250:79 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | semmle.label | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | +| Test.java:5250:63:5250:78 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5250:71:5250:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5251:10:5251:11 | in : CursorableLinkedList [] : String | semmle.label | in : CursorableLinkedList [] : String | +| Test.java:5251:10:5251:25 | removeFirst(...) : String | semmle.label | removeFirst(...) : String | +| Test.java:5252:9:5252:11 | out | semmle.label | out | +| Test.java:5257:28:5257:79 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | semmle.label | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | +| Test.java:5257:63:5257:78 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5257:71:5257:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5258:10:5258:11 | in : CursorableLinkedList [] : String | semmle.label | in : CursorableLinkedList [] : String | +| Test.java:5258:10:5258:24 | removeLast(...) : String | semmle.label | removeLast(...) : String | +| Test.java:5259:9:5259:11 | out | semmle.label | out | +| Test.java:5264:14:5264:38 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:5264:22:5264:37 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5264:30:5264:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5265:10:5265:40 | new MyAbstractListDecorator<>(...) : MyAbstractListDecorator [] : String | semmle.label | new MyAbstractListDecorator<>(...) : MyAbstractListDecorator [] : String | +| Test.java:5265:38:5265:39 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:5266:9:5266:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5266:20:5266:22 | out : MyAbstractListDecorator [] : String | semmle.label | out : MyAbstractListDecorator [] : String | +| Test.java:5271:14:5271:38 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:5271:22:5271:37 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5271:30:5271:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5272:10:5272:52 | new MyAbstractSerializableListDecorator<>(...) : MyAbstractSerializableListDecorator [] : String | semmle.label | new MyAbstractSerializableListDecorator<>(...) : MyAbstractSerializableListDecorator [] : String | +| Test.java:5272:50:5272:51 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:5273:9:5273:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5273:20:5273:22 | out : MyAbstractSerializableListDecorator [] : String | semmle.label | out : MyAbstractSerializableListDecorator [] : String | +| Test.java:5278:20:5278:44 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:5278:28:5278:43 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5278:36:5278:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5279:10:5279:37 | new CursorableLinkedList<>(...) : CursorableLinkedList [] : String | semmle.label | new CursorableLinkedList<>(...) : CursorableLinkedList [] : String | +| Test.java:5279:35:5279:36 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:5280:9:5280:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5280:20:5280:22 | out : CursorableLinkedList [] : String | semmle.label | out : CursorableLinkedList [] : String | +| Test.java:5285:30:5285:81 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | semmle.label | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | +| Test.java:5285:65:5285:80 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5285:73:5285:80 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5286:10:5286:11 | in : CursorableLinkedList [] : String | semmle.label | in : CursorableLinkedList [] : String | +| Test.java:5286:10:5286:21 | cursor(...) : Cursor [] : String | semmle.label | cursor(...) : Cursor [] : String | +| Test.java:5287:9:5287:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5287:20:5287:22 | out : Cursor [] : String | semmle.label | out : Cursor [] : String | +| Test.java:5292:30:5292:81 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | semmle.label | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | +| Test.java:5292:65:5292:80 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5292:73:5292:80 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5293:10:5293:11 | in : CursorableLinkedList [] : String | semmle.label | in : CursorableLinkedList [] : String | +| Test.java:5293:10:5293:20 | cursor(...) : Cursor [] : String | semmle.label | cursor(...) : Cursor [] : String | +| Test.java:5294:9:5294:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5294:20:5294:22 | out : Cursor [] : String | semmle.label | out : Cursor [] : String | +| Test.java:5299:14:5299:38 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:5299:22:5299:37 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5299:30:5299:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5300:10:5300:40 | fixedSizeList(...) : FixedSizeList [] : String | semmle.label | fixedSizeList(...) : FixedSizeList [] : String | +| Test.java:5300:38:5300:39 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:5301:9:5301:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5301:20:5301:22 | out : FixedSizeList [] : String | semmle.label | out : FixedSizeList [] : String | +| Test.java:5306:14:5306:38 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:5306:22:5306:37 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5306:30:5306:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5307:10:5307:34 | growthList(...) : GrowthList [] : String | semmle.label | growthList(...) : GrowthList [] : String | +| Test.java:5307:32:5307:33 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:5308:9:5308:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5308:20:5308:22 | out : GrowthList [] : String | semmle.label | out : GrowthList [] : String | +| Test.java:5313:14:5313:38 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:5313:22:5313:37 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5313:30:5313:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5314:10:5314:49 | lazyList(...) : LazyList [] : String | semmle.label | lazyList(...) : LazyList [] : String | +| Test.java:5314:28:5314:29 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:5315:9:5315:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5315:20:5315:22 | out : LazyList [] : String | semmle.label | out : LazyList [] : String | +| Test.java:5320:14:5320:38 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:5320:22:5320:37 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5320:30:5320:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5321:10:5321:45 | lazyList(...) : LazyList [] : String | semmle.label | lazyList(...) : LazyList [] : String | +| Test.java:5321:28:5321:29 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:5322:9:5322:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5322:20:5322:22 | out : LazyList [] : String | semmle.label | out : LazyList [] : String | +| Test.java:5327:20:5327:44 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:5327:28:5327:43 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5327:36:5327:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5328:10:5328:38 | new NodeCachingLinkedList<>(...) : NodeCachingLinkedList [] : String | semmle.label | new NodeCachingLinkedList<>(...) : NodeCachingLinkedList [] : String | +| Test.java:5328:36:5328:37 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:5329:9:5329:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5329:20:5329:22 | out : NodeCachingLinkedList [] : String | semmle.label | out : NodeCachingLinkedList [] : String | +| Test.java:5334:14:5334:38 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:5334:22:5334:37 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5334:30:5334:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5335:10:5335:48 | predicatedList(...) : PredicatedList [] : String | semmle.label | predicatedList(...) : PredicatedList [] : String | +| Test.java:5335:40:5335:41 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:5336:9:5336:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5336:20:5336:22 | out : PredicatedList [] : String | semmle.label | out : PredicatedList [] : String | +| Test.java:5341:23:5341:76 | setUniqueList(...) : SetUniqueList [] : String | semmle.label | setUniqueList(...) : SetUniqueList [] : String | +| Test.java:5341:51:5341:75 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:5341:59:5341:74 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5341:67:5341:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5342:10:5342:11 | in : SetUniqueList [] : String | semmle.label | in : SetUniqueList [] : String | +| Test.java:5342:10:5342:19 | asSet(...) : Set [] : String | semmle.label | asSet(...) : Set [] : String | +| Test.java:5343:9:5343:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5343:20:5343:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:5348:14:5348:38 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:5348:22:5348:37 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5348:30:5348:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5349:10:5349:40 | setUniqueList(...) : SetUniqueList [] : String | semmle.label | setUniqueList(...) : SetUniqueList [] : String | +| Test.java:5349:38:5349:39 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:5350:9:5350:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5350:20:5350:22 | out : SetUniqueList [] : String | semmle.label | out : SetUniqueList [] : String | +| Test.java:5355:14:5355:38 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:5355:22:5355:37 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5355:30:5355:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5356:10:5356:51 | transformingList(...) : TransformedList [] : String | semmle.label | transformingList(...) : TransformedList [] : String | +| Test.java:5356:43:5356:44 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:5357:9:5357:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5357:20:5357:22 | out : TransformedList [] : String | semmle.label | out : TransformedList [] : String | +| Test.java:5362:20:5362:44 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:5362:28:5362:43 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5362:36:5362:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5363:10:5363:25 | new TreeList<>(...) : TreeList [] : String | semmle.label | new TreeList<>(...) : TreeList [] : String | +| Test.java:5363:23:5363:24 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:5364:9:5364:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5364:20:5364:22 | out : TreeList [] : String | semmle.label | out : TreeList [] : String | +| Test.java:5369:14:5369:38 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:5369:22:5369:37 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5369:30:5369:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5370:10:5370:33 | new UnmodifiableList<>(...) : UnmodifiableList [] : String | semmle.label | new UnmodifiableList<>(...) : UnmodifiableList [] : String | +| Test.java:5370:31:5370:32 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:5371:9:5371:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5371:20:5371:22 | out : UnmodifiableList [] : String | semmle.label | out : UnmodifiableList [] : String | +| Test.java:5376:14:5376:38 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:5376:22:5376:37 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5376:30:5376:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5377:10:5377:46 | unmodifiableList(...) : List [] : String | semmle.label | unmodifiableList(...) : List [] : String | +| Test.java:5377:44:5377:45 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:5378:9:5378:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5378:20:5378:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:5383:13:5383:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5383:20:5383:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5383:28:5383:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5384:10:5384:36 | new MyAbstractHashedMap<>(...) : MyAbstractHashedMap [] : String | semmle.label | new MyAbstractHashedMap<>(...) : MyAbstractHashedMap [] : String | +| Test.java:5384:34:5384:35 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5385:9:5385:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5385:19:5385:21 | out : MyAbstractHashedMap [] : String | semmle.label | out : MyAbstractHashedMap [] : String | +| Test.java:5390:13:5390:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5390:26:5390:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5390:34:5390:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5391:10:5391:36 | new MyAbstractHashedMap<>(...) : MyAbstractHashedMap [] : String | semmle.label | new MyAbstractHashedMap<>(...) : MyAbstractHashedMap [] : String | +| Test.java:5391:34:5391:35 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5392:9:5392:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5392:21:5392:23 | out : MyAbstractHashedMap [] : String | semmle.label | out : MyAbstractHashedMap [] : String | +| Test.java:5397:13:5397:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5397:20:5397:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5397:28:5397:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5398:10:5398:36 | new MyAbstractLinkedMap<>(...) : MyAbstractLinkedMap [] : String | semmle.label | new MyAbstractLinkedMap<>(...) : MyAbstractLinkedMap [] : String | +| Test.java:5398:34:5398:35 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5399:9:5399:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5399:19:5399:21 | out : MyAbstractLinkedMap [] : String | semmle.label | out : MyAbstractLinkedMap [] : String | +| Test.java:5404:13:5404:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5404:26:5404:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5404:34:5404:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5405:10:5405:36 | new MyAbstractLinkedMap<>(...) : MyAbstractLinkedMap [] : String | semmle.label | new MyAbstractLinkedMap<>(...) : MyAbstractLinkedMap [] : String | +| Test.java:5405:34:5405:35 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5406:9:5406:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5406:21:5406:23 | out : MyAbstractLinkedMap [] : String | semmle.label | out : MyAbstractLinkedMap [] : String | +| Test.java:5411:13:5411:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5411:20:5411:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5411:28:5411:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5412:10:5412:39 | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | semmle.label | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | +| Test.java:5412:37:5412:38 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5413:9:5413:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5413:19:5413:21 | out : MyAbstractMapDecorator [] : String | semmle.label | out : MyAbstractMapDecorator [] : String | +| Test.java:5418:13:5418:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5418:26:5418:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5418:34:5418:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5419:10:5419:39 | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | semmle.label | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | +| Test.java:5419:37:5419:38 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5420:9:5420:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5420:21:5420:23 | out : MyAbstractMapDecorator [] : String | semmle.label | out : MyAbstractMapDecorator [] : String | +| Test.java:5425:32:5425:89 | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | semmle.label | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | +| Test.java:5425:59:5425:88 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5425:66:5425:81 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5425:74:5425:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5426:10:5426:11 | in : MyAbstractMapDecorator [] : String | semmle.label | in : MyAbstractMapDecorator [] : String | +| Test.java:5426:10:5426:25 | myDecorated(...) : Map [] : String | semmle.label | myDecorated(...) : Map [] : String | +| Test.java:5427:9:5427:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5427:19:5427:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:5432:32:5432:89 | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | semmle.label | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | +| Test.java:5432:59:5432:88 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5432:72:5432:87 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5432:80:5432:87 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5433:10:5433:11 | in : MyAbstractMapDecorator [] : String | semmle.label | in : MyAbstractMapDecorator [] : String | +| Test.java:5433:10:5433:25 | myDecorated(...) : Map [] : String | semmle.label | myDecorated(...) : Map [] : String | +| Test.java:5434:9:5434:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5434:21:5434:23 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:5439:20:5439:64 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | semmle.label | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | +| Test.java:5439:48:5439:63 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5439:56:5439:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5440:10:5440:46 | new MyAbstractOrderedMapDecorator<>(...) : MyAbstractOrderedMapDecorator [] : String | semmle.label | new MyAbstractOrderedMapDecorator<>(...) : MyAbstractOrderedMapDecorator [] : String | +| Test.java:5440:44:5440:45 | in : ListOrderedMap [] : String | semmle.label | in : ListOrderedMap [] : String | +| Test.java:5441:9:5441:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5441:19:5441:21 | out : MyAbstractOrderedMapDecorator [] : String | semmle.label | out : MyAbstractOrderedMapDecorator [] : String | +| Test.java:5446:20:5446:66 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | semmle.label | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | +| Test.java:5446:50:5446:65 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5446:58:5446:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5447:10:5447:46 | new MyAbstractOrderedMapDecorator<>(...) : MyAbstractOrderedMapDecorator [] : String | semmle.label | new MyAbstractOrderedMapDecorator<>(...) : MyAbstractOrderedMapDecorator [] : String | +| Test.java:5447:44:5447:45 | in : ListOrderedMap [] : String | semmle.label | in : ListOrderedMap [] : String | +| Test.java:5448:9:5448:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5448:21:5448:23 | out : MyAbstractOrderedMapDecorator [] : String | semmle.label | out : MyAbstractOrderedMapDecorator [] : String | +| Test.java:5453:19:5453:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:5453:40:5453:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5453:48:5453:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5454:10:5454:45 | new MyAbstractSortedMapDecorator<>(...) : MyAbstractSortedMapDecorator [] : String | semmle.label | new MyAbstractSortedMapDecorator<>(...) : MyAbstractSortedMapDecorator [] : String | +| Test.java:5454:43:5454:44 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:5455:9:5455:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5455:19:5455:21 | out : MyAbstractSortedMapDecorator [] : String | semmle.label | out : MyAbstractSortedMapDecorator [] : String | +| Test.java:5460:19:5460:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:5460:42:5460:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5460:50:5460:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5461:10:5461:45 | new MyAbstractSortedMapDecorator<>(...) : MyAbstractSortedMapDecorator [] : String | semmle.label | new MyAbstractSortedMapDecorator<>(...) : MyAbstractSortedMapDecorator [] : String | +| Test.java:5461:43:5461:44 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:5462:9:5462:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5462:21:5462:23 | out : MyAbstractSortedMapDecorator [] : String | semmle.label | out : MyAbstractSortedMapDecorator [] : String | +| Test.java:5467:13:5467:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5467:20:5467:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5467:28:5467:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5468:10:5468:35 | new CaseInsensitiveMap<>(...) : CaseInsensitiveMap [] : String | semmle.label | new CaseInsensitiveMap<>(...) : CaseInsensitiveMap [] : String | +| Test.java:5468:33:5468:34 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5469:9:5469:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5469:19:5469:21 | out : CaseInsensitiveMap [] : String | semmle.label | out : CaseInsensitiveMap [] : String | +| Test.java:5474:13:5474:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5474:26:5474:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5474:34:5474:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5475:10:5475:35 | new CaseInsensitiveMap<>(...) : CaseInsensitiveMap [] : String | semmle.label | new CaseInsensitiveMap<>(...) : CaseInsensitiveMap [] : String | +| Test.java:5475:33:5475:34 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5476:9:5476:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5476:21:5476:23 | out : CaseInsensitiveMap [] : String | semmle.label | out : CaseInsensitiveMap [] : String | +| Test.java:5481:13:5481:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5481:20:5481:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5481:28:5481:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5482:10:5482:40 | new CompositeMap<>(...) : CompositeMap [] : String | semmle.label | new CompositeMap<>(...) : CompositeMap [] : String | +| Test.java:5482:27:5482:28 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5483:9:5483:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5483:19:5483:21 | out : CompositeMap [] : String | semmle.label | out : CompositeMap [] : String | +| Test.java:5488:13:5488:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5488:20:5488:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5488:28:5488:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5489:10:5489:40 | new CompositeMap<>(...) : CompositeMap [] : String | semmle.label | new CompositeMap<>(...) : CompositeMap [] : String | +| Test.java:5489:38:5489:39 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5490:9:5490:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5490:19:5490:21 | out : CompositeMap [] : String | semmle.label | out : CompositeMap [] : String | +| Test.java:5495:13:5495:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5495:26:5495:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5495:34:5495:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5496:10:5496:40 | new CompositeMap<>(...) : CompositeMap [] : String | semmle.label | new CompositeMap<>(...) : CompositeMap [] : String | +| Test.java:5496:27:5496:28 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5497:9:5497:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5497:21:5497:23 | out : CompositeMap [] : String | semmle.label | out : CompositeMap [] : String | +| Test.java:5502:13:5502:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5502:26:5502:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5502:34:5502:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5503:10:5503:40 | new CompositeMap<>(...) : CompositeMap [] : String | semmle.label | new CompositeMap<>(...) : CompositeMap [] : String | +| Test.java:5503:38:5503:39 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5504:9:5504:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5504:21:5504:23 | out : CompositeMap [] : String | semmle.label | out : CompositeMap [] : String | +| Test.java:5509:13:5509:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5509:20:5509:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5509:28:5509:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5510:10:5510:41 | new CompositeMap<>(...) : CompositeMap [] : String | semmle.label | new CompositeMap<>(...) : CompositeMap [] : String | +| Test.java:5510:27:5510:28 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5511:9:5511:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5511:19:5511:21 | out : CompositeMap [] : String | semmle.label | out : CompositeMap [] : String | +| Test.java:5516:13:5516:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5516:20:5516:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5516:28:5516:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5517:10:5517:41 | new CompositeMap<>(...) : CompositeMap [] : String | semmle.label | new CompositeMap<>(...) : CompositeMap [] : String | +| Test.java:5517:33:5517:34 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5518:9:5518:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5518:19:5518:21 | out : CompositeMap [] : String | semmle.label | out : CompositeMap [] : String | +| Test.java:5523:13:5523:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5523:26:5523:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5523:34:5523:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5524:10:5524:41 | new CompositeMap<>(...) : CompositeMap [] : String | semmle.label | new CompositeMap<>(...) : CompositeMap [] : String | +| Test.java:5524:27:5524:28 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5525:9:5525:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5525:21:5525:23 | out : CompositeMap [] : String | semmle.label | out : CompositeMap [] : String | +| Test.java:5530:13:5530:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5530:26:5530:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5530:34:5530:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5531:10:5531:41 | new CompositeMap<>(...) : CompositeMap [] : String | semmle.label | new CompositeMap<>(...) : CompositeMap [] : String | +| Test.java:5531:33:5531:34 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5532:9:5532:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5532:21:5532:23 | out : CompositeMap [] : String | semmle.label | out : CompositeMap [] : String | +| Test.java:5537:15:5537:55 | {...} : Map[] [[], ] : String | semmle.label | {...} : Map[] [[], ] : String | +| Test.java:5537:25:5537:54 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5537:32:5537:47 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5537:40:5537:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5538:10:5538:29 | new CompositeMap<>(...) : CompositeMap [] : String | semmle.label | new CompositeMap<>(...) : CompositeMap [] : String | +| Test.java:5538:27:5538:28 | in : Map[] [[], ] : String | semmle.label | in : Map[] [[], ] : String | +| Test.java:5539:9:5539:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5539:19:5539:21 | out : CompositeMap [] : String | semmle.label | out : CompositeMap [] : String | +| Test.java:5544:15:5544:55 | {...} : Map[] [[], ] : String | semmle.label | {...} : Map[] [[], ] : String | +| Test.java:5544:25:5544:54 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5544:38:5544:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5544:46:5544:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5545:10:5545:29 | new CompositeMap<>(...) : CompositeMap [] : String | semmle.label | new CompositeMap<>(...) : CompositeMap [] : String | +| Test.java:5545:27:5545:28 | in : Map[] [[], ] : String | semmle.label | in : Map[] [[], ] : String | +| Test.java:5546:9:5546:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5546:21:5546:23 | out : CompositeMap [] : String | semmle.label | out : CompositeMap [] : String | +| Test.java:5551:15:5551:55 | {...} : Map[] [[], ] : String | semmle.label | {...} : Map[] [[], ] : String | +| Test.java:5551:25:5551:54 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5551:32:5551:47 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5551:40:5551:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5552:10:5552:60 | new CompositeMap<>(...) : CompositeMap [] : String | semmle.label | new CompositeMap<>(...) : CompositeMap [] : String | +| Test.java:5552:27:5552:28 | in : Map[] [[], ] : String | semmle.label | in : Map[] [[], ] : String | +| Test.java:5553:9:5553:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5553:19:5553:21 | out : CompositeMap [] : String | semmle.label | out : CompositeMap [] : String | +| Test.java:5558:15:5558:55 | {...} : Map[] [[], ] : String | semmle.label | {...} : Map[] [[], ] : String | +| Test.java:5558:25:5558:54 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5558:38:5558:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5558:46:5558:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5559:10:5559:60 | new CompositeMap<>(...) : CompositeMap [] : String | semmle.label | new CompositeMap<>(...) : CompositeMap [] : String | +| Test.java:5559:27:5559:28 | in : Map[] [[], ] : String | semmle.label | in : Map[] [[], ] : String | +| Test.java:5560:9:5560:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5560:21:5560:23 | out : CompositeMap [] : String | semmle.label | out : CompositeMap [] : String | +| Test.java:5565:13:5565:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5565:20:5565:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5565:28:5565:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5566:4:5566:6 | out [post update] : CompositeMap [] : String | semmle.label | out [post update] : CompositeMap [] : String | +| Test.java:5566:22:5566:23 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5567:9:5567:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5567:19:5567:21 | out : CompositeMap [] : String | semmle.label | out : CompositeMap [] : String | +| Test.java:5572:13:5572:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5572:26:5572:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5572:34:5572:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5573:4:5573:6 | out [post update] : CompositeMap [] : String | semmle.label | out [post update] : CompositeMap [] : String | +| Test.java:5573:22:5573:23 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5574:9:5574:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5574:21:5574:23 | out : CompositeMap [] : String | semmle.label | out : CompositeMap [] : String | +| Test.java:5579:13:5579:25 | (...)... : Map | semmle.label | (...)... : Map | +| Test.java:5579:18:5579:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5581:10:5581:38 | removeComposited(...) : Map | semmle.label | removeComposited(...) : Map | +| Test.java:5581:36:5581:37 | in : Map | semmle.label | in : Map | +| Test.java:5582:9:5582:11 | out | semmle.label | out | +| Test.java:5587:22:5587:75 | new CompositeMap<>(...) : CompositeMap [] : String | semmle.label | new CompositeMap<>(...) : CompositeMap [] : String | +| Test.java:5587:39:5587:68 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5587:46:5587:61 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5587:54:5587:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5588:10:5588:11 | in : CompositeMap [] : String | semmle.label | in : CompositeMap [] : String | +| Test.java:5588:10:5588:34 | removeComposited(...) : Map [] : String | semmle.label | removeComposited(...) : Map [] : String | +| Test.java:5589:9:5589:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5589:19:5589:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:5594:22:5594:75 | new CompositeMap<>(...) : CompositeMap [] : String | semmle.label | new CompositeMap<>(...) : CompositeMap [] : String | +| Test.java:5594:39:5594:68 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5594:52:5594:67 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5594:60:5594:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5595:10:5595:11 | in : CompositeMap [] : String | semmle.label | in : CompositeMap [] : String | +| Test.java:5595:10:5595:34 | removeComposited(...) : Map [] : String | semmle.label | removeComposited(...) : Map [] : String | +| Test.java:5596:9:5596:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5596:21:5596:23 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:5601:16:5601:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5602:10:5602:29 | new DefaultedMap<>(...) : DefaultedMap [] : Object | semmle.label | new DefaultedMap<>(...) : DefaultedMap [] : Object | +| Test.java:5602:27:5602:28 | in : Object | semmle.label | in : Object | +| Test.java:5603:9:5603:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5603:21:5603:23 | out : DefaultedMap [] : Object | semmle.label | out : DefaultedMap [] : Object | +| Test.java:5608:16:5608:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5609:10:5609:49 | defaultedMap(...) : DefaultedMap [] : Object | semmle.label | defaultedMap(...) : DefaultedMap [] : Object | +| Test.java:5609:47:5609:48 | in : Object | semmle.label | in : Object | +| Test.java:5610:9:5610:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5610:21:5610:23 | out : DefaultedMap [] : Object | semmle.label | out : DefaultedMap [] : Object | +| Test.java:5615:28:5615:57 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5615:35:5615:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5615:43:5615:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5616:10:5616:57 | defaultedMap(...) : Map [] : String | semmle.label | defaultedMap(...) : Map [] : String | +| Test.java:5616:36:5616:37 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5617:9:5617:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5617:19:5617:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:5622:13:5622:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5622:20:5622:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5622:28:5622:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5623:10:5623:52 | defaultedMap(...) : DefaultedMap [] : String | semmle.label | defaultedMap(...) : DefaultedMap [] : String | +| Test.java:5623:36:5623:37 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5624:9:5624:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5624:19:5624:21 | out : DefaultedMap [] : String | semmle.label | out : DefaultedMap [] : String | +| Test.java:5629:28:5629:57 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5629:35:5629:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5629:43:5629:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5630:10:5630:53 | defaultedMap(...) : DefaultedMap [] : String | semmle.label | defaultedMap(...) : DefaultedMap [] : String | +| Test.java:5630:36:5630:37 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5631:9:5631:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5631:19:5631:21 | out : DefaultedMap [] : String | semmle.label | out : DefaultedMap [] : String | +| Test.java:5636:28:5636:57 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5636:41:5636:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5636:49:5636:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5637:10:5637:57 | defaultedMap(...) : Map [] : String | semmle.label | defaultedMap(...) : Map [] : String | +| Test.java:5637:36:5637:37 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5638:9:5638:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5638:21:5638:23 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:5643:13:5643:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5643:26:5643:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5643:34:5643:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5644:10:5644:52 | defaultedMap(...) : DefaultedMap [] : String | semmle.label | defaultedMap(...) : DefaultedMap [] : String | +| Test.java:5644:36:5644:37 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5645:9:5645:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5645:21:5645:23 | out : DefaultedMap [] : String | semmle.label | out : DefaultedMap [] : String | +| Test.java:5650:28:5650:57 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5650:41:5650:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5650:49:5650:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5651:10:5651:53 | defaultedMap(...) : DefaultedMap [] : String | semmle.label | defaultedMap(...) : DefaultedMap [] : String | +| Test.java:5651:36:5651:37 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5652:9:5652:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5652:21:5652:23 | out : DefaultedMap [] : String | semmle.label | out : DefaultedMap [] : String | +| Test.java:5657:13:5657:76 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | +| Test.java:5657:42:5657:75 | newTMEWithMapKey(...) : TiedMapEntry [] : String | semmle.label | newTMEWithMapKey(...) : TiedMapEntry [] : String | +| Test.java:5657:59:5657:74 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5657:67:5657:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5658:10:5658:45 | new EntrySetToMapIteratorAdapter<>(...) : EntrySetToMapIteratorAdapter [] : String | semmle.label | new EntrySetToMapIteratorAdapter<>(...) : EntrySetToMapIteratorAdapter [] : String | +| Test.java:5658:43:5658:44 | in : ListOrderedSet [, ] : String | semmle.label | in : ListOrderedSet [, ] : String | +| Test.java:5659:9:5659:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5659:20:5659:22 | out : EntrySetToMapIteratorAdapter [] : String | semmle.label | out : EntrySetToMapIteratorAdapter [] : String | +| Test.java:5664:13:5664:78 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | +| Test.java:5664:42:5664:77 | newTMEWithMapValue(...) : TiedMapEntry [] : String | semmle.label | newTMEWithMapValue(...) : TiedMapEntry [] : String | +| Test.java:5664:61:5664:76 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5664:69:5664:76 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5665:10:5665:45 | new EntrySetToMapIteratorAdapter<>(...) : EntrySetToMapIteratorAdapter [] : String | semmle.label | new EntrySetToMapIteratorAdapter<>(...) : EntrySetToMapIteratorAdapter [] : String | +| Test.java:5665:43:5665:44 | in : ListOrderedSet [, ] : String | semmle.label | in : ListOrderedSet [, ] : String | +| Test.java:5666:9:5666:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5666:21:5666:23 | out : EntrySetToMapIteratorAdapter [] : String | semmle.label | out : EntrySetToMapIteratorAdapter [] : String | +| Test.java:5671:13:5671:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5671:20:5671:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5671:28:5671:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5672:10:5672:38 | fixedSizeMap(...) : FixedSizeMap [] : String | semmle.label | fixedSizeMap(...) : FixedSizeMap [] : String | +| Test.java:5672:36:5672:37 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5673:9:5673:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5673:19:5673:21 | out : FixedSizeMap [] : String | semmle.label | out : FixedSizeMap [] : String | +| Test.java:5678:13:5678:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5678:26:5678:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5678:34:5678:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5679:10:5679:38 | fixedSizeMap(...) : FixedSizeMap [] : String | semmle.label | fixedSizeMap(...) : FixedSizeMap [] : String | +| Test.java:5679:36:5679:37 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5680:9:5680:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5680:21:5680:23 | out : FixedSizeMap [] : String | semmle.label | out : FixedSizeMap [] : String | +| Test.java:5685:19:5685:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:5685:40:5685:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5685:48:5685:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5686:10:5686:50 | fixedSizeSortedMap(...) : FixedSizeSortedMap [] : String | semmle.label | fixedSizeSortedMap(...) : FixedSizeSortedMap [] : String | +| Test.java:5686:48:5686:49 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:5687:9:5687:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5687:19:5687:21 | out : FixedSizeSortedMap [] : String | semmle.label | out : FixedSizeSortedMap [] : String | +| Test.java:5692:19:5692:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:5692:42:5692:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5692:50:5692:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5693:10:5693:50 | fixedSizeSortedMap(...) : FixedSizeSortedMap [] : String | semmle.label | fixedSizeSortedMap(...) : FixedSizeSortedMap [] : String | +| Test.java:5693:48:5693:49 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:5694:9:5694:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5694:21:5694:23 | out : FixedSizeSortedMap [] : String | semmle.label | out : FixedSizeSortedMap [] : String | +| Test.java:5699:13:5699:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5699:20:5699:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5699:28:5699:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5700:10:5700:25 | new Flat3Map<>(...) : Flat3Map [] : String | semmle.label | new Flat3Map<>(...) : Flat3Map [] : String | +| Test.java:5700:23:5700:24 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5701:9:5701:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5701:19:5701:21 | out : Flat3Map [] : String | semmle.label | out : Flat3Map [] : String | +| Test.java:5706:13:5706:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5706:26:5706:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5706:34:5706:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5707:10:5707:25 | new Flat3Map<>(...) : Flat3Map [] : String | semmle.label | new Flat3Map<>(...) : Flat3Map [] : String | +| Test.java:5707:23:5707:24 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5708:9:5708:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5708:21:5708:23 | out : Flat3Map [] : String | semmle.label | out : Flat3Map [] : String | +| Test.java:5713:13:5713:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5713:20:5713:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5713:28:5713:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5714:10:5714:26 | new HashedMap<>(...) : HashedMap [] : String | semmle.label | new HashedMap<>(...) : HashedMap [] : String | +| Test.java:5714:24:5714:25 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5715:9:5715:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5715:19:5715:21 | out : HashedMap [] : String | semmle.label | out : HashedMap [] : String | +| Test.java:5720:13:5720:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5720:26:5720:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5720:34:5720:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5721:10:5721:26 | new HashedMap<>(...) : HashedMap [] : String | semmle.label | new HashedMap<>(...) : HashedMap [] : String | +| Test.java:5721:24:5721:25 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5722:9:5722:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5722:21:5722:23 | out : HashedMap [] : String | semmle.label | out : HashedMap [] : String | +| Test.java:5727:13:5727:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5727:20:5727:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5727:28:5727:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5728:10:5728:23 | new LRUMap<>(...) : LRUMap [] : String | semmle.label | new LRUMap<>(...) : LRUMap [] : String | +| Test.java:5728:21:5728:22 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5729:9:5729:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5729:19:5729:21 | out : LRUMap [] : String | semmle.label | out : LRUMap [] : String | +| Test.java:5734:13:5734:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5734:26:5734:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5734:34:5734:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5735:10:5735:23 | new LRUMap<>(...) : LRUMap [] : String | semmle.label | new LRUMap<>(...) : LRUMap [] : String | +| Test.java:5735:21:5735:22 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5736:9:5736:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5736:21:5736:23 | out : LRUMap [] : String | semmle.label | out : LRUMap [] : String | +| Test.java:5741:13:5741:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5741:20:5741:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5741:28:5741:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5742:10:5742:30 | new LRUMap<>(...) : LRUMap [] : String | semmle.label | new LRUMap<>(...) : LRUMap [] : String | +| Test.java:5742:21:5742:22 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5743:9:5743:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5743:19:5743:21 | out : LRUMap [] : String | semmle.label | out : LRUMap [] : String | +| Test.java:5748:13:5748:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5748:26:5748:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5748:34:5748:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5749:10:5749:30 | new LRUMap<>(...) : LRUMap [] : String | semmle.label | new LRUMap<>(...) : LRUMap [] : String | +| Test.java:5749:21:5749:22 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5750:9:5750:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5750:21:5750:23 | out : LRUMap [] : String | semmle.label | out : LRUMap [] : String | +| Test.java:5755:16:5755:53 | (...)... : Map [] : String | semmle.label | (...)... : Map [] : String | +| Test.java:5755:24:5755:53 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5755:37:5755:52 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5755:45:5755:52 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5757:10:5757:32 | get(...) : String | semmle.label | get(...) : String | +| Test.java:5757:23:5757:24 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5758:9:5758:11 | out | semmle.label | out | +| Test.java:5763:13:5763:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5763:20:5763:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5763:28:5763:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5764:10:5764:47 | lazyMap(...) : LazyMap [] : String | semmle.label | lazyMap(...) : LazyMap [] : String | +| Test.java:5764:26:5764:27 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5765:9:5765:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5765:19:5765:21 | out : LazyMap [] : String | semmle.label | out : LazyMap [] : String | +| Test.java:5770:13:5770:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5770:20:5770:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5770:28:5770:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5771:10:5771:43 | lazyMap(...) : LazyMap [] : String | semmle.label | lazyMap(...) : LazyMap [] : String | +| Test.java:5771:26:5771:27 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5772:9:5772:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5772:19:5772:21 | out : LazyMap [] : String | semmle.label | out : LazyMap [] : String | +| Test.java:5777:13:5777:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5777:26:5777:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5777:34:5777:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5778:10:5778:47 | lazyMap(...) : LazyMap [] : String | semmle.label | lazyMap(...) : LazyMap [] : String | +| Test.java:5778:26:5778:27 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5779:9:5779:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5779:21:5779:23 | out : LazyMap [] : String | semmle.label | out : LazyMap [] : String | +| Test.java:5784:13:5784:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5784:26:5784:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5784:34:5784:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5785:10:5785:43 | lazyMap(...) : LazyMap [] : String | semmle.label | lazyMap(...) : LazyMap [] : String | +| Test.java:5785:26:5785:27 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5786:9:5786:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5786:21:5786:23 | out : LazyMap [] : String | semmle.label | out : LazyMap [] : String | +| Test.java:5791:19:5791:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:5791:40:5791:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5791:48:5791:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5792:10:5792:59 | lazySortedMap(...) : LazySortedMap [] : String | semmle.label | lazySortedMap(...) : LazySortedMap [] : String | +| Test.java:5792:38:5792:39 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:5793:9:5793:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5793:19:5793:21 | out : LazySortedMap [] : String | semmle.label | out : LazySortedMap [] : String | +| Test.java:5798:19:5798:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:5798:40:5798:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5798:48:5798:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5799:10:5799:55 | lazySortedMap(...) : LazySortedMap [] : String | semmle.label | lazySortedMap(...) : LazySortedMap [] : String | +| Test.java:5799:38:5799:39 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:5800:9:5800:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5800:19:5800:21 | out : LazySortedMap [] : String | semmle.label | out : LazySortedMap [] : String | +| Test.java:5805:19:5805:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:5805:42:5805:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5805:50:5805:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5806:10:5806:59 | lazySortedMap(...) : LazySortedMap [] : String | semmle.label | lazySortedMap(...) : LazySortedMap [] : String | +| Test.java:5806:38:5806:39 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:5807:9:5807:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5807:21:5807:23 | out : LazySortedMap [] : String | semmle.label | out : LazySortedMap [] : String | +| Test.java:5812:19:5812:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:5812:42:5812:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5812:50:5812:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5813:10:5813:55 | lazySortedMap(...) : LazySortedMap [] : String | semmle.label | lazySortedMap(...) : LazySortedMap [] : String | +| Test.java:5813:38:5813:39 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:5814:9:5814:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5814:21:5814:23 | out : LazySortedMap [] : String | semmle.label | out : LazySortedMap [] : String | +| Test.java:5819:13:5819:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5819:20:5819:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5819:28:5819:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5820:10:5820:26 | new LinkedMap<>(...) : LinkedMap [] : String | semmle.label | new LinkedMap<>(...) : LinkedMap [] : String | +| Test.java:5820:24:5820:25 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5821:9:5821:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5821:19:5821:21 | out : LinkedMap [] : String | semmle.label | out : LinkedMap [] : String | +| Test.java:5826:13:5826:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5826:26:5826:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5826:34:5826:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5827:10:5827:26 | new LinkedMap<>(...) : LinkedMap [] : String | semmle.label | new LinkedMap<>(...) : LinkedMap [] : String | +| Test.java:5827:24:5827:25 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5828:9:5828:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5828:21:5828:23 | out : LinkedMap [] : String | semmle.label | out : LinkedMap [] : String | +| Test.java:5833:19:5833:58 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | semmle.label | newLinkedMapWithMapKey(...) : LinkedMap [] : String | +| Test.java:5833:42:5833:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5833:50:5833:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5834:10:5834:11 | in : LinkedMap [] : String | semmle.label | in : LinkedMap [] : String | +| Test.java:5834:10:5834:20 | asList(...) : List [] : String | semmle.label | asList(...) : List [] : String | +| Test.java:5835:9:5835:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5835:20:5835:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:5840:19:5840:58 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | semmle.label | newLinkedMapWithMapKey(...) : LinkedMap [] : String | +| Test.java:5840:42:5840:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5840:50:5840:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5841:10:5841:11 | in : LinkedMap [] : String | semmle.label | in : LinkedMap [] : String | +| Test.java:5841:10:5841:18 | get(...) : String | semmle.label | get(...) : String | +| Test.java:5842:9:5842:11 | out | semmle.label | out | +| Test.java:5847:19:5847:60 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | semmle.label | newLinkedMapWithMapValue(...) : LinkedMap [] : String | +| Test.java:5847:44:5847:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5847:52:5847:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5848:10:5848:11 | in : LinkedMap [] : String | semmle.label | in : LinkedMap [] : String | +| Test.java:5848:10:5848:23 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:5849:9:5849:11 | out | semmle.label | out | +| Test.java:5854:19:5854:60 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | semmle.label | newLinkedMapWithMapValue(...) : LinkedMap [] : String | +| Test.java:5854:44:5854:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5854:52:5854:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5855:10:5855:11 | in : LinkedMap [] : String | semmle.label | in : LinkedMap [] : String | +| Test.java:5855:10:5855:21 | remove(...) : String | semmle.label | remove(...) : String | +| Test.java:5856:9:5856:11 | out | semmle.label | out | +| Test.java:5861:24:5861:68 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | semmle.label | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | +| Test.java:5861:52:5861:67 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5861:60:5861:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5862:10:5862:11 | in : ListOrderedMap [] : String | semmle.label | in : ListOrderedMap [] : String | +| Test.java:5862:10:5862:20 | asList(...) : List [] : String | semmle.label | asList(...) : List [] : String | +| Test.java:5863:9:5863:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5863:20:5863:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:5868:24:5868:60 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : Object | semmle.label | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : Object | +| Test.java:5868:52:5868:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5869:10:5869:11 | in : ListOrderedMap [] : Object | semmle.label | in : ListOrderedMap [] : Object | +| Test.java:5869:10:5869:18 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:5870:9:5870:11 | out | semmle.label | out | +| Test.java:5875:24:5875:62 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : Object | semmle.label | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : Object | +| Test.java:5875:54:5875:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5876:10:5876:11 | in : ListOrderedMap [] : Object | semmle.label | in : ListOrderedMap [] : Object | +| Test.java:5876:10:5876:23 | getValue(...) : Object | semmle.label | getValue(...) : Object | +| Test.java:5877:9:5877:11 | out | semmle.label | out | +| Test.java:5882:24:5882:68 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | semmle.label | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | +| Test.java:5882:52:5882:67 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5882:60:5882:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5883:10:5883:11 | in : ListOrderedMap [] : String | semmle.label | in : ListOrderedMap [] : String | +| Test.java:5883:10:5883:21 | keyList(...) : List [] : String | semmle.label | keyList(...) : List [] : String | +| Test.java:5884:9:5884:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5884:20:5884:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:5889:13:5889:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5889:20:5889:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5889:28:5889:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5890:10:5890:42 | listOrderedMap(...) : ListOrderedMap [] : String | semmle.label | listOrderedMap(...) : ListOrderedMap [] : String | +| Test.java:5890:40:5890:41 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5891:9:5891:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5891:19:5891:21 | out : ListOrderedMap [] : String | semmle.label | out : ListOrderedMap [] : String | +| Test.java:5896:13:5896:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5896:26:5896:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5896:34:5896:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5897:10:5897:42 | listOrderedMap(...) : ListOrderedMap [] : String | semmle.label | listOrderedMap(...) : ListOrderedMap [] : String | +| Test.java:5897:40:5897:41 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5898:9:5898:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5898:21:5898:23 | out : ListOrderedMap [] : String | semmle.label | out : ListOrderedMap [] : String | +| Test.java:5903:16:5903:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5904:4:5904:6 | out [post update] : ListOrderedMap [] : Object | semmle.label | out [post update] : ListOrderedMap [] : Object | +| Test.java:5904:18:5904:19 | in : Object | semmle.label | in : Object | +| Test.java:5905:9:5905:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5905:19:5905:21 | out : ListOrderedMap [] : Object | semmle.label | out : ListOrderedMap [] : Object | +| Test.java:5910:16:5910:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5911:4:5911:6 | out [post update] : ListOrderedMap [] : Object | semmle.label | out [post update] : ListOrderedMap [] : Object | +| Test.java:5911:15:5911:16 | in : Object | semmle.label | in : Object | +| Test.java:5912:9:5912:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5912:19:5912:21 | out : ListOrderedMap [] : Object | semmle.label | out : ListOrderedMap [] : Object | +| Test.java:5917:16:5917:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5918:4:5918:6 | out [post update] : ListOrderedMap [] : Object | semmle.label | out [post update] : ListOrderedMap [] : Object | +| Test.java:5918:21:5918:22 | in : Object | semmle.label | in : Object | +| Test.java:5919:9:5919:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5919:21:5919:23 | out : ListOrderedMap [] : Object | semmle.label | out : ListOrderedMap [] : Object | +| Test.java:5924:13:5924:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5924:20:5924:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5924:28:5924:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5925:4:5925:6 | out [post update] : ListOrderedMap [] : String | semmle.label | out [post update] : ListOrderedMap [] : String | +| Test.java:5925:18:5925:19 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5926:9:5926:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5926:19:5926:21 | out : ListOrderedMap [] : String | semmle.label | out : ListOrderedMap [] : String | +| Test.java:5931:13:5931:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:5931:26:5931:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5931:34:5931:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5932:4:5932:6 | out [post update] : ListOrderedMap [] : String | semmle.label | out [post update] : ListOrderedMap [] : String | +| Test.java:5932:18:5932:19 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:5933:9:5933:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5933:21:5933:23 | out : ListOrderedMap [] : String | semmle.label | out : ListOrderedMap [] : String | +| Test.java:5938:24:5938:70 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | semmle.label | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | +| Test.java:5938:54:5938:69 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5938:62:5938:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5939:10:5939:11 | in : ListOrderedMap [] : String | semmle.label | in : ListOrderedMap [] : String | +| Test.java:5939:10:5939:21 | remove(...) : String | semmle.label | remove(...) : String | +| Test.java:5940:9:5940:11 | out | semmle.label | out | +| Test.java:5945:16:5945:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5946:4:5946:6 | out [post update] : ListOrderedMap [] : Object | semmle.label | out [post update] : ListOrderedMap [] : Object | +| Test.java:5946:20:5946:21 | in : Object | semmle.label | in : Object | +| Test.java:5947:9:5947:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5947:21:5947:23 | out : ListOrderedMap [] : Object | semmle.label | out : ListOrderedMap [] : Object | +| Test.java:5952:24:5952:70 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | semmle.label | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | +| Test.java:5952:54:5952:69 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5952:62:5952:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5953:10:5953:11 | in : ListOrderedMap [] : String | semmle.label | in : ListOrderedMap [] : String | +| Test.java:5953:10:5953:23 | valueList(...) : List [] : String | semmle.label | valueList(...) : List [] : String | +| Test.java:5954:9:5954:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5954:20:5954:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:5959:21:5959:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | semmle.label | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:5959:40:5959:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5959:48:5959:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5960:10:5960:11 | in : MultiKeyMap [] : String | semmle.label | in : MultiKeyMap [] : String | +| Test.java:5960:10:5960:45 | get(...) : String | semmle.label | get(...) : String | +| Test.java:5961:9:5961:11 | out | semmle.label | out | +| Test.java:5966:21:5966:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | semmle.label | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:5966:40:5966:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5966:48:5966:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5967:10:5967:11 | in : MultiKeyMap [] : String | semmle.label | in : MultiKeyMap [] : String | +| Test.java:5967:10:5967:39 | get(...) : String | semmle.label | get(...) : String | +| Test.java:5968:9:5968:11 | out | semmle.label | out | +| Test.java:5973:21:5973:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | semmle.label | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:5973:40:5973:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5973:48:5973:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5974:10:5974:11 | in : MultiKeyMap [] : String | semmle.label | in : MultiKeyMap [] : String | +| Test.java:5974:10:5974:33 | get(...) : String | semmle.label | get(...) : String | +| Test.java:5975:9:5975:11 | out | semmle.label | out | +| Test.java:5980:21:5980:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | semmle.label | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:5980:40:5980:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5980:48:5980:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5981:10:5981:11 | in : MultiKeyMap [] : String | semmle.label | in : MultiKeyMap [] : String | +| Test.java:5981:10:5981:27 | get(...) : String | semmle.label | get(...) : String | +| Test.java:5982:9:5982:11 | out | semmle.label | out | +| Test.java:5987:16:5987:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5987:24:5987:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5988:4:5988:6 | out [post update] : MultiKeyMap [, ] : String | semmle.label | out [post update] : MultiKeyMap [, ] : String | +| Test.java:5988:18:5988:19 | in : String | semmle.label | in : String | +| Test.java:5989:9:5989:34 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5989:20:5989:33 | getMapKey(...) : MultiKey [] : String | semmle.label | getMapKey(...) : MultiKey [] : String | +| Test.java:5989:30:5989:32 | out : MultiKeyMap [, ] : String | semmle.label | out : MultiKeyMap [, ] : String | +| Test.java:5994:16:5994:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5994:24:5994:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5995:4:5995:6 | out [post update] : MultiKeyMap [, ] : String | semmle.label | out [post update] : MultiKeyMap [, ] : String | +| Test.java:5995:12:5995:13 | in : String | semmle.label | in : String | +| Test.java:5996:9:5996:34 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5996:20:5996:33 | getMapKey(...) : MultiKey [] : String | semmle.label | getMapKey(...) : MultiKey [] : String | +| Test.java:5996:30:5996:32 | out : MultiKeyMap [, ] : String | semmle.label | out : MultiKeyMap [, ] : String | +| Test.java:6001:16:6001:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6001:24:6001:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6002:4:6002:6 | out [post update] : MultiKeyMap [] : String | semmle.label | out [post update] : MultiKeyMap [] : String | +| Test.java:6002:24:6002:25 | in : String | semmle.label | in : String | +| Test.java:6003:9:6003:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6003:21:6003:23 | out : MultiKeyMap [] : String | semmle.label | out : MultiKeyMap [] : String | +| Test.java:6008:16:6008:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6008:24:6008:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6009:4:6009:6 | out [post update] : MultiKeyMap [, ] : String | semmle.label | out [post update] : MultiKeyMap [, ] : String | +| Test.java:6009:24:6009:25 | in : String | semmle.label | in : String | +| Test.java:6010:9:6010:34 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6010:20:6010:33 | getMapKey(...) : MultiKey [] : String | semmle.label | getMapKey(...) : MultiKey [] : String | +| Test.java:6010:30:6010:32 | out : MultiKeyMap [, ] : String | semmle.label | out : MultiKeyMap [, ] : String | +| Test.java:6015:16:6015:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6015:24:6015:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6016:4:6016:6 | out [post update] : MultiKeyMap [, ] : String | semmle.label | out [post update] : MultiKeyMap [, ] : String | +| Test.java:6016:18:6016:19 | in : String | semmle.label | in : String | +| Test.java:6017:9:6017:34 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6017:20:6017:33 | getMapKey(...) : MultiKey [] : String | semmle.label | getMapKey(...) : MultiKey [] : String | +| Test.java:6017:30:6017:32 | out : MultiKeyMap [, ] : String | semmle.label | out : MultiKeyMap [, ] : String | +| Test.java:6022:16:6022:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6022:24:6022:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6023:4:6023:6 | out [post update] : MultiKeyMap [, ] : String | semmle.label | out [post update] : MultiKeyMap [, ] : String | +| Test.java:6023:12:6023:13 | in : String | semmle.label | in : String | +| Test.java:6024:9:6024:34 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6024:20:6024:33 | getMapKey(...) : MultiKey [] : String | semmle.label | getMapKey(...) : MultiKey [] : String | +| Test.java:6024:30:6024:32 | out : MultiKeyMap [, ] : String | semmle.label | out : MultiKeyMap [, ] : String | +| Test.java:6029:16:6029:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6029:24:6029:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6030:4:6030:6 | out [post update] : MultiKeyMap [] : String | semmle.label | out [post update] : MultiKeyMap [] : String | +| Test.java:6030:30:6030:31 | in : String | semmle.label | in : String | +| Test.java:6031:9:6031:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6031:21:6031:23 | out : MultiKeyMap [] : String | semmle.label | out : MultiKeyMap [] : String | +| Test.java:6036:16:6036:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6036:24:6036:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6037:4:6037:6 | out [post update] : MultiKeyMap [, ] : String | semmle.label | out [post update] : MultiKeyMap [, ] : String | +| Test.java:6037:30:6037:31 | in : String | semmle.label | in : String | +| Test.java:6038:9:6038:34 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6038:20:6038:33 | getMapKey(...) : MultiKey [] : String | semmle.label | getMapKey(...) : MultiKey [] : String | +| Test.java:6038:30:6038:32 | out : MultiKeyMap [, ] : String | semmle.label | out : MultiKeyMap [, ] : String | +| Test.java:6043:16:6043:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6043:24:6043:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6044:4:6044:6 | out [post update] : MultiKeyMap [, ] : String | semmle.label | out [post update] : MultiKeyMap [, ] : String | +| Test.java:6044:24:6044:25 | in : String | semmle.label | in : String | +| Test.java:6045:9:6045:34 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6045:20:6045:33 | getMapKey(...) : MultiKey [] : String | semmle.label | getMapKey(...) : MultiKey [] : String | +| Test.java:6045:30:6045:32 | out : MultiKeyMap [, ] : String | semmle.label | out : MultiKeyMap [, ] : String | +| Test.java:6050:16:6050:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6050:24:6050:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6051:4:6051:6 | out [post update] : MultiKeyMap [, ] : String | semmle.label | out [post update] : MultiKeyMap [, ] : String | +| Test.java:6051:18:6051:19 | in : String | semmle.label | in : String | +| Test.java:6052:9:6052:34 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6052:20:6052:33 | getMapKey(...) : MultiKey [] : String | semmle.label | getMapKey(...) : MultiKey [] : String | +| Test.java:6052:30:6052:32 | out : MultiKeyMap [, ] : String | semmle.label | out : MultiKeyMap [, ] : String | +| Test.java:6057:16:6057:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6057:24:6057:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6058:4:6058:6 | out [post update] : MultiKeyMap [, ] : String | semmle.label | out [post update] : MultiKeyMap [, ] : String | +| Test.java:6058:12:6058:13 | in : String | semmle.label | in : String | +| Test.java:6059:9:6059:34 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6059:20:6059:33 | getMapKey(...) : MultiKey [] : String | semmle.label | getMapKey(...) : MultiKey [] : String | +| Test.java:6059:30:6059:32 | out : MultiKeyMap [, ] : String | semmle.label | out : MultiKeyMap [, ] : String | +| Test.java:6064:16:6064:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6064:24:6064:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6065:4:6065:6 | out [post update] : MultiKeyMap [] : String | semmle.label | out [post update] : MultiKeyMap [] : String | +| Test.java:6065:36:6065:37 | in : String | semmle.label | in : String | +| Test.java:6066:9:6066:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6066:21:6066:23 | out : MultiKeyMap [] : String | semmle.label | out : MultiKeyMap [] : String | +| Test.java:6071:16:6071:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6071:24:6071:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6072:4:6072:6 | out [post update] : MultiKeyMap [, ] : String | semmle.label | out [post update] : MultiKeyMap [, ] : String | +| Test.java:6072:36:6072:37 | in : String | semmle.label | in : String | +| Test.java:6073:9:6073:34 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6073:20:6073:33 | getMapKey(...) : MultiKey [] : String | semmle.label | getMapKey(...) : MultiKey [] : String | +| Test.java:6073:30:6073:32 | out : MultiKeyMap [, ] : String | semmle.label | out : MultiKeyMap [, ] : String | +| Test.java:6078:16:6078:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6078:24:6078:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6079:4:6079:6 | out [post update] : MultiKeyMap [, ] : String | semmle.label | out [post update] : MultiKeyMap [, ] : String | +| Test.java:6079:30:6079:31 | in : String | semmle.label | in : String | +| Test.java:6080:9:6080:34 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6080:20:6080:33 | getMapKey(...) : MultiKey [] : String | semmle.label | getMapKey(...) : MultiKey [] : String | +| Test.java:6080:30:6080:32 | out : MultiKeyMap [, ] : String | semmle.label | out : MultiKeyMap [, ] : String | +| Test.java:6085:16:6085:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6085:24:6085:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6086:4:6086:6 | out [post update] : MultiKeyMap [, ] : String | semmle.label | out [post update] : MultiKeyMap [, ] : String | +| Test.java:6086:24:6086:25 | in : String | semmle.label | in : String | +| Test.java:6087:9:6087:34 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6087:20:6087:33 | getMapKey(...) : MultiKey [] : String | semmle.label | getMapKey(...) : MultiKey [] : String | +| Test.java:6087:30:6087:32 | out : MultiKeyMap [, ] : String | semmle.label | out : MultiKeyMap [, ] : String | +| Test.java:6092:16:6092:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6092:24:6092:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6093:4:6093:6 | out [post update] : MultiKeyMap [, ] : String | semmle.label | out [post update] : MultiKeyMap [, ] : String | +| Test.java:6093:18:6093:19 | in : String | semmle.label | in : String | +| Test.java:6094:9:6094:34 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6094:20:6094:33 | getMapKey(...) : MultiKey [] : String | semmle.label | getMapKey(...) : MultiKey [] : String | +| Test.java:6094:30:6094:32 | out : MultiKeyMap [, ] : String | semmle.label | out : MultiKeyMap [, ] : String | +| Test.java:6099:16:6099:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6099:24:6099:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6100:4:6100:6 | out [post update] : MultiKeyMap [, ] : String | semmle.label | out [post update] : MultiKeyMap [, ] : String | +| Test.java:6100:12:6100:13 | in : String | semmle.label | in : String | +| Test.java:6101:9:6101:34 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6101:20:6101:33 | getMapKey(...) : MultiKey [] : String | semmle.label | getMapKey(...) : MultiKey [] : String | +| Test.java:6101:30:6101:32 | out : MultiKeyMap [, ] : String | semmle.label | out : MultiKeyMap [, ] : String | +| Test.java:6106:16:6106:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6106:24:6106:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6107:4:6107:6 | out [post update] : MultiKeyMap [] : String | semmle.label | out [post update] : MultiKeyMap [] : String | +| Test.java:6107:42:6107:43 | in : String | semmle.label | in : String | +| Test.java:6108:9:6108:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6108:21:6108:23 | out : MultiKeyMap [] : String | semmle.label | out : MultiKeyMap [] : String | +| Test.java:6113:21:6113:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | semmle.label | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6113:40:6113:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6113:48:6113:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6114:10:6114:11 | in : MultiKeyMap [] : String | semmle.label | in : MultiKeyMap [] : String | +| Test.java:6114:10:6114:51 | put(...) : String | semmle.label | put(...) : String | +| Test.java:6115:9:6115:11 | out | semmle.label | out | +| Test.java:6120:21:6120:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | semmle.label | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6120:40:6120:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6120:48:6120:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6121:10:6121:11 | in : MultiKeyMap [] : String | semmle.label | in : MultiKeyMap [] : String | +| Test.java:6121:10:6121:45 | put(...) : String | semmle.label | put(...) : String | +| Test.java:6122:9:6122:11 | out | semmle.label | out | +| Test.java:6127:21:6127:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | semmle.label | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6127:40:6127:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6127:48:6127:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6128:10:6128:11 | in : MultiKeyMap [] : String | semmle.label | in : MultiKeyMap [] : String | +| Test.java:6128:10:6128:39 | put(...) : String | semmle.label | put(...) : String | +| Test.java:6129:9:6129:11 | out | semmle.label | out | +| Test.java:6134:21:6134:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | semmle.label | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6134:40:6134:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6134:48:6134:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6135:10:6135:11 | in : MultiKeyMap [] : String | semmle.label | in : MultiKeyMap [] : String | +| Test.java:6135:10:6135:33 | put(...) : String | semmle.label | put(...) : String | +| Test.java:6136:9:6136:11 | out | semmle.label | out | +| Test.java:6141:21:6141:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | semmle.label | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6141:40:6141:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6141:48:6141:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6142:10:6142:11 | in : MultiKeyMap [] : String | semmle.label | in : MultiKeyMap [] : String | +| Test.java:6142:10:6142:27 | put(...) : String | semmle.label | put(...) : String | +| Test.java:6143:9:6143:11 | out | semmle.label | out | +| Test.java:6148:21:6148:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | semmle.label | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6148:40:6148:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6148:48:6148:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6149:10:6149:11 | in : MultiKeyMap [] : String | semmle.label | in : MultiKeyMap [] : String | +| Test.java:6149:10:6149:56 | removeMultiKey(...) : String | semmle.label | removeMultiKey(...) : String | +| Test.java:6150:9:6150:11 | out | semmle.label | out | +| Test.java:6155:21:6155:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | semmle.label | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6155:40:6155:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6155:48:6155:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6156:10:6156:11 | in : MultiKeyMap [] : String | semmle.label | in : MultiKeyMap [] : String | +| Test.java:6156:10:6156:50 | removeMultiKey(...) : String | semmle.label | removeMultiKey(...) : String | +| Test.java:6157:9:6157:11 | out | semmle.label | out | +| Test.java:6162:21:6162:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | semmle.label | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6162:40:6162:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6162:48:6162:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6163:10:6163:11 | in : MultiKeyMap [] : String | semmle.label | in : MultiKeyMap [] : String | +| Test.java:6163:10:6163:44 | removeMultiKey(...) : String | semmle.label | removeMultiKey(...) : String | +| Test.java:6164:9:6164:11 | out | semmle.label | out | +| Test.java:6169:21:6169:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | semmle.label | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6169:40:6169:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6169:48:6169:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6170:10:6170:11 | in : MultiKeyMap [] : String | semmle.label | in : MultiKeyMap [] : String | +| Test.java:6170:10:6170:38 | removeMultiKey(...) : String | semmle.label | removeMultiKey(...) : String | +| Test.java:6171:9:6171:11 | out | semmle.label | out | +| Test.java:6176:23:6176:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:6176:23:6176:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:6176:42:6176:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6176:50:6176:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6177:10:6177:11 | in : MultiValueMap [, ] : String | semmle.label | in : MultiValueMap [, ] : String | +| Test.java:6177:10:6177:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:6177:10:6177:31 | getCollection(...) : Collection [] : Object | semmle.label | getCollection(...) : Collection [] : Object | +| Test.java:6177:10:6177:31 | getCollection(...) : Collection [] : String | semmle.label | getCollection(...) : Collection [] : String | +| Test.java:6178:9:6178:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6178:20:6178:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:6178:20:6178:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:6183:38:6183:73 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:6183:38:6183:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:6183:57:6183:72 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6183:65:6183:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6184:10:6184:11 | in : MultiValueMap [, ] : String | semmle.label | in : MultiValueMap [, ] : String | +| Test.java:6184:10:6184:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:6184:10:6184:22 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:6184:10:6184:22 | iterator(...) : Iterator [, ] : String | semmle.label | iterator(...) : Iterator [, ] : String | +| Test.java:6185:9:6185:45 | getMapValueFromEntry(...) | semmle.label | getMapValueFromEntry(...) | +| Test.java:6185:30:6185:44 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:6185:30:6185:44 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:6185:41:6185:43 | out : Iterator [, ] : Object | semmle.label | out : Iterator [, ] : Object | +| Test.java:6185:41:6185:43 | out : Iterator [, ] : String | semmle.label | out : Iterator [, ] : String | +| Test.java:6190:38:6190:71 | newMVMWithMapKey(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:6190:55:6190:70 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6190:63:6190:70 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6191:10:6191:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:6191:10:6191:22 | iterator(...) : Iterator [, ] : String | semmle.label | iterator(...) : Iterator [, ] : String | +| Test.java:6192:9:6192:43 | getMapKeyFromEntry(...) | semmle.label | getMapKeyFromEntry(...) | +| Test.java:6192:28:6192:42 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:6192:39:6192:41 | out : Iterator [, ] : String | semmle.label | out : Iterator [, ] : String | +| Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:6197:57:6197:72 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6197:65:6197:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6198:10:6198:11 | in : MultiValueMap [, ] : String | semmle.label | in : MultiValueMap [, ] : String | +| Test.java:6198:10:6198:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:6198:10:6198:26 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:6198:10:6198:26 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:6199:9:6199:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6199:20:6199:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:6199:20:6199:22 | out : Iterator [] : String | semmle.label | out : Iterator [] : String | +| Test.java:6204:13:6204:64 | of(...) : Map [, ] : String | semmle.label | of(...) : Map [, ] : String | +| Test.java:6204:26:6204:63 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:6204:47:6204:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6204:55:6204:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6205:10:6205:55 | multiValueMap(...) : MultiValueMap [, ] : String | semmle.label | multiValueMap(...) : MultiValueMap [, ] : String | +| Test.java:6205:38:6205:39 | in : Map [, ] : String | semmle.label | in : Map [, ] : String | +| Test.java:6206:9:6206:48 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6206:20:6206:47 | (...)... : Collection [] : String | semmle.label | (...)... : Collection [] : String | +| Test.java:6206:32:6206:47 | getMapValue(...) : Object [] : String | semmle.label | getMapValue(...) : Object [] : String | +| Test.java:6206:44:6206:46 | out : MultiValueMap [, ] : String | semmle.label | out : MultiValueMap [, ] : String | +| Test.java:6211:13:6211:64 | of(...) : Map [, ] : String | semmle.label | of(...) : Map [, ] : String | +| Test.java:6211:26:6211:63 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:6211:47:6211:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6211:55:6211:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6212:10:6212:53 | multiValueMap(...) : MultiValueMap [, ] : String | semmle.label | multiValueMap(...) : MultiValueMap [, ] : String | +| Test.java:6212:38:6212:39 | in : Map [, ] : String | semmle.label | in : Map [, ] : String | +| Test.java:6213:9:6213:48 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6213:20:6213:47 | (...)... : Collection [] : String | semmle.label | (...)... : Collection [] : String | +| Test.java:6213:32:6213:47 | getMapValue(...) : Object [] : String | semmle.label | getMapValue(...) : Object [] : String | +| Test.java:6213:44:6213:46 | out : MultiValueMap [, ] : String | semmle.label | out : MultiValueMap [, ] : String | +| Test.java:6218:13:6218:64 | of(...) : Map [, ] : String | semmle.label | of(...) : Map [, ] : String | +| Test.java:6218:26:6218:63 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | +| Test.java:6218:47:6218:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6218:55:6218:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6219:10:6219:40 | multiValueMap(...) : MultiValueMap [, ] : String | semmle.label | multiValueMap(...) : MultiValueMap [, ] : String | +| Test.java:6219:38:6219:39 | in : Map [, ] : String | semmle.label | in : Map [, ] : String | +| Test.java:6220:9:6220:48 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6220:20:6220:47 | (...)... : Collection [] : String | semmle.label | (...)... : Collection [] : String | +| Test.java:6220:32:6220:47 | getMapValue(...) : Object [] : String | semmle.label | getMapValue(...) : Object [] : String | +| Test.java:6220:44:6220:46 | out : MultiValueMap [, ] : String | semmle.label | out : MultiValueMap [, ] : String | +| Test.java:6225:13:6225:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6225:20:6225:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6225:28:6225:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6226:10:6226:55 | multiValueMap(...) : MultiValueMap [] : String | semmle.label | multiValueMap(...) : MultiValueMap [] : String | +| Test.java:6226:38:6226:39 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6227:9:6227:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6227:19:6227:21 | out : MultiValueMap [] : String | semmle.label | out : MultiValueMap [] : String | +| Test.java:6232:13:6232:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6232:20:6232:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6232:28:6232:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6233:10:6233:53 | multiValueMap(...) : MultiValueMap [] : String | semmle.label | multiValueMap(...) : MultiValueMap [] : String | +| Test.java:6233:38:6233:39 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6234:9:6234:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6234:19:6234:21 | out : MultiValueMap [] : String | semmle.label | out : MultiValueMap [] : String | +| Test.java:6239:13:6239:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6239:20:6239:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6239:28:6239:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6240:10:6240:40 | multiValueMap(...) : MultiValueMap [] : String | semmle.label | multiValueMap(...) : MultiValueMap [] : String | +| Test.java:6240:38:6240:39 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6241:9:6241:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6241:19:6241:21 | out : MultiValueMap [] : String | semmle.label | out : MultiValueMap [] : String | +| Test.java:6246:13:6246:48 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:6246:13:6246:48 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:6246:32:6246:47 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6246:40:6246:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6247:4:6247:6 | out [post update] : MultiValueMap [, ] : Object | semmle.label | out [post update] : MultiValueMap [, ] : Object | +| Test.java:6247:4:6247:6 | out [post update] : MultiValueMap [, ] : String | semmle.label | out [post update] : MultiValueMap [, ] : String | +| Test.java:6247:15:6247:16 | in : MultiValueMap [, ] : String | semmle.label | in : MultiValueMap [, ] : String | +| Test.java:6247:15:6247:16 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:6248:9:6248:48 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6248:20:6248:47 | (...)... : Collection [] : Object | semmle.label | (...)... : Collection [] : Object | +| Test.java:6248:20:6248:47 | (...)... : Collection [] : String | semmle.label | (...)... : Collection [] : String | +| Test.java:6248:32:6248:47 | getMapValue(...) : Object [] : Object | semmle.label | getMapValue(...) : Object [] : Object | +| Test.java:6248:32:6248:47 | getMapValue(...) : Object [] : String | semmle.label | getMapValue(...) : Object [] : String | +| Test.java:6248:44:6248:46 | out : MultiValueMap [, ] : Object | semmle.label | out : MultiValueMap [, ] : Object | +| Test.java:6248:44:6248:46 | out : MultiValueMap [, ] : String | semmle.label | out : MultiValueMap [, ] : String | +| Test.java:6253:13:6253:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:6253:26:6253:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6254:4:6254:6 | out [post update] : MultiValueMap [, ] : Object | semmle.label | out [post update] : MultiValueMap [, ] : Object | +| Test.java:6254:4:6254:6 | out [post update] : MultiValueMap [] : Object | semmle.label | out [post update] : MultiValueMap [] : Object | +| Test.java:6254:15:6254:16 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:6255:9:6255:48 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6255:20:6255:47 | (...)... : Collection | semmle.label | (...)... : Collection | +| Test.java:6255:20:6255:47 | (...)... : Collection [] : Object | semmle.label | (...)... : Collection [] : Object | +| Test.java:6255:32:6255:47 | getMapValue(...) : Object | semmle.label | getMapValue(...) : Object | +| Test.java:6255:32:6255:47 | getMapValue(...) : Object [] : Object | semmle.label | getMapValue(...) : Object [] : Object | +| Test.java:6255:44:6255:46 | out : MultiValueMap [, ] : Object | semmle.label | out : MultiValueMap [, ] : Object | +| Test.java:6255:44:6255:46 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:6260:16:6260:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6261:4:6261:6 | out [post update] : MultiValueMap [] : Object | semmle.label | out [post update] : MultiValueMap [] : Object | +| Test.java:6261:15:6261:16 | in : Object | semmle.label | in : Object | +| Test.java:6262:9:6262:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6262:19:6262:21 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:6267:20:6267:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:6267:42:6267:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6267:50:6267:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6268:4:6268:6 | out [post update] : MultiValueMap [, ] : String | semmle.label | out [post update] : MultiValueMap [, ] : String | +| Test.java:6268:21:6268:22 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:6269:9:6269:48 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6269:20:6269:47 | (...)... : Collection [] : String | semmle.label | (...)... : Collection [] : String | +| Test.java:6269:32:6269:47 | getMapValue(...) : Object [] : String | semmle.label | getMapValue(...) : Object [] : String | +| Test.java:6269:44:6269:46 | out : MultiValueMap [, ] : String | semmle.label | out : MultiValueMap [, ] : String | +| Test.java:6274:23:6274:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:6274:23:6274:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | semmle.label | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:6274:42:6274:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6274:50:6274:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6275:10:6275:11 | in : MultiValueMap [, ] : String | semmle.label | in : MultiValueMap [, ] : String | +| Test.java:6275:10:6275:11 | in : MultiValueMap [] : String | semmle.label | in : MultiValueMap [] : String | +| Test.java:6275:10:6275:20 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:6275:10:6275:20 | values(...) : Collection [] : String | semmle.label | values(...) : Collection [] : String | +| Test.java:6276:9:6276:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6276:20:6276:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:6276:20:6276:22 | out : Collection [] : String | semmle.label | out : Collection [] : String | +| Test.java:6281:13:6281:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6281:20:6281:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6281:28:6281:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6282:10:6282:78 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | semmle.label | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | +| Test.java:6282:76:6282:77 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6283:9:6283:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6283:19:6283:21 | out : PassiveExpiringMap [] : String | semmle.label | out : PassiveExpiringMap [] : String | +| Test.java:6288:13:6288:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6288:26:6288:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6288:34:6288:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6289:10:6289:78 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | semmle.label | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | +| Test.java:6289:76:6289:77 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6290:9:6290:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6290:21:6290:23 | out : PassiveExpiringMap [] : String | semmle.label | out : PassiveExpiringMap [] : String | +| Test.java:6295:13:6295:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6295:20:6295:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6295:28:6295:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6296:10:6296:35 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | semmle.label | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | +| Test.java:6296:33:6296:34 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6297:9:6297:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6297:19:6297:21 | out : PassiveExpiringMap [] : String | semmle.label | out : PassiveExpiringMap [] : String | +| Test.java:6302:13:6302:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6302:26:6302:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6302:34:6302:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6303:10:6303:35 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | semmle.label | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | +| Test.java:6303:33:6303:34 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6304:9:6304:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6304:21:6304:23 | out : PassiveExpiringMap [] : String | semmle.label | out : PassiveExpiringMap [] : String | +| Test.java:6309:13:6309:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6309:20:6309:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6309:28:6309:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6310:10:6310:39 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | semmle.label | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | +| Test.java:6310:37:6310:38 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6311:9:6311:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6311:19:6311:21 | out : PassiveExpiringMap [] : String | semmle.label | out : PassiveExpiringMap [] : String | +| Test.java:6316:13:6316:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6316:26:6316:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6316:34:6316:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6317:10:6317:39 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | semmle.label | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | +| Test.java:6317:37:6317:38 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6318:9:6318:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6318:21:6318:23 | out : PassiveExpiringMap [] : String | semmle.label | out : PassiveExpiringMap [] : String | +| Test.java:6323:13:6323:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6323:20:6323:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6323:28:6323:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6324:10:6324:45 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | semmle.label | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | +| Test.java:6324:43:6324:44 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6325:9:6325:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6325:19:6325:21 | out : PassiveExpiringMap [] : String | semmle.label | out : PassiveExpiringMap [] : String | +| Test.java:6330:13:6330:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6330:26:6330:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6330:34:6330:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6331:10:6331:45 | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | semmle.label | new PassiveExpiringMap<>(...) : PassiveExpiringMap [] : String | +| Test.java:6331:43:6331:44 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6332:9:6332:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6332:21:6332:23 | out : PassiveExpiringMap [] : String | semmle.label | out : PassiveExpiringMap [] : String | +| Test.java:6337:13:6337:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6337:20:6337:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6337:28:6337:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6338:10:6338:52 | predicatedMap(...) : PredicatedMap [] : String | semmle.label | predicatedMap(...) : PredicatedMap [] : String | +| Test.java:6338:38:6338:39 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6339:9:6339:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6339:19:6339:21 | out : PredicatedMap [] : String | semmle.label | out : PredicatedMap [] : String | +| Test.java:6344:13:6344:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6344:26:6344:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6344:34:6344:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6345:10:6345:52 | predicatedMap(...) : PredicatedMap [] : String | semmle.label | predicatedMap(...) : PredicatedMap [] : String | +| Test.java:6345:38:6345:39 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6346:9:6346:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6346:21:6346:23 | out : PredicatedMap [] : String | semmle.label | out : PredicatedMap [] : String | +| Test.java:6351:19:6351:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:6351:40:6351:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6351:48:6351:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6352:10:6352:64 | predicatedSortedMap(...) : PredicatedSortedMap [] : String | semmle.label | predicatedSortedMap(...) : PredicatedSortedMap [] : String | +| Test.java:6352:50:6352:51 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:6353:9:6353:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6353:19:6353:21 | out : PredicatedSortedMap [] : String | semmle.label | out : PredicatedSortedMap [] : String | +| Test.java:6358:19:6358:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:6358:42:6358:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6358:50:6358:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6359:10:6359:64 | predicatedSortedMap(...) : PredicatedSortedMap [] : String | semmle.label | predicatedSortedMap(...) : PredicatedSortedMap [] : String | +| Test.java:6359:50:6359:51 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:6360:9:6360:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6360:21:6360:23 | out : PredicatedSortedMap [] : String | semmle.label | out : PredicatedSortedMap [] : String | +| Test.java:6365:19:6365:52 | newTMEWithMapKey(...) : TiedMapEntry [] : String | semmle.label | newTMEWithMapKey(...) : TiedMapEntry [] : String | +| Test.java:6365:36:6365:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6365:44:6365:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6366:10:6366:29 | new SingletonMap<>(...) : SingletonMap [] : String | semmle.label | new SingletonMap<>(...) : SingletonMap [] : String | +| Test.java:6366:27:6366:28 | in : TiedMapEntry [] : String | semmle.label | in : TiedMapEntry [] : String | +| Test.java:6367:9:6367:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6367:19:6367:21 | out : SingletonMap [] : String | semmle.label | out : SingletonMap [] : String | +| Test.java:6372:19:6372:54 | newTMEWithMapValue(...) : TiedMapEntry [] : String | semmle.label | newTMEWithMapValue(...) : TiedMapEntry [] : String | +| Test.java:6372:38:6372:53 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6372:46:6372:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6373:10:6373:29 | new SingletonMap<>(...) : SingletonMap [] : String | semmle.label | new SingletonMap<>(...) : SingletonMap [] : String | +| Test.java:6373:27:6373:28 | in : TiedMapEntry [] : String | semmle.label | in : TiedMapEntry [] : String | +| Test.java:6374:9:6374:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6374:21:6374:23 | out : SingletonMap [] : String | semmle.label | out : SingletonMap [] : String | +| Test.java:6379:18:6379:51 | newDKVWithMapKey(...) : DefaultKeyValue [] : String | semmle.label | newDKVWithMapKey(...) : DefaultKeyValue [] : String | +| Test.java:6379:35:6379:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6379:43:6379:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6380:10:6380:29 | new SingletonMap<>(...) : SingletonMap [] : String | semmle.label | new SingletonMap<>(...) : SingletonMap [] : String | +| Test.java:6380:27:6380:28 | in : DefaultKeyValue [] : String | semmle.label | in : DefaultKeyValue [] : String | +| Test.java:6381:9:6381:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6381:19:6381:21 | out : SingletonMap [] : String | semmle.label | out : SingletonMap [] : String | +| Test.java:6386:18:6386:53 | newDKVWithMapValue(...) : DefaultKeyValue [] : String | semmle.label | newDKVWithMapValue(...) : DefaultKeyValue [] : String | +| Test.java:6386:37:6386:52 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6386:45:6386:52 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6387:10:6387:29 | new SingletonMap<>(...) : SingletonMap [] : String | semmle.label | new SingletonMap<>(...) : SingletonMap [] : String | +| Test.java:6387:27:6387:28 | in : DefaultKeyValue [] : String | semmle.label | in : DefaultKeyValue [] : String | +| Test.java:6388:9:6388:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6388:21:6388:23 | out : SingletonMap [] : String | semmle.label | out : SingletonMap [] : String | +| Test.java:6393:13:6393:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6393:20:6393:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6393:28:6393:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6394:10:6394:29 | new SingletonMap<>(...) : SingletonMap [] : String | semmle.label | new SingletonMap<>(...) : SingletonMap [] : String | +| Test.java:6394:27:6394:28 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6395:9:6395:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6395:19:6395:21 | out : SingletonMap [] : String | semmle.label | out : SingletonMap [] : String | +| Test.java:6400:13:6400:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6400:26:6400:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6400:34:6400:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6401:10:6401:29 | new SingletonMap<>(...) : SingletonMap [] : String | semmle.label | new SingletonMap<>(...) : SingletonMap [] : String | +| Test.java:6401:27:6401:28 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6402:9:6402:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6402:21:6402:23 | out : SingletonMap [] : String | semmle.label | out : SingletonMap [] : String | +| Test.java:6407:16:6407:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6408:10:6408:35 | new SingletonMap<>(...) : SingletonMap [] : Object | semmle.label | new SingletonMap<>(...) : SingletonMap [] : Object | +| Test.java:6408:27:6408:28 | in : Object | semmle.label | in : Object | +| Test.java:6409:9:6409:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6409:19:6409:21 | out : SingletonMap [] : Object | semmle.label | out : SingletonMap [] : Object | +| Test.java:6414:16:6414:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6415:10:6415:35 | new SingletonMap<>(...) : SingletonMap [] : Object | semmle.label | new SingletonMap<>(...) : SingletonMap [] : Object | +| Test.java:6415:33:6415:34 | in : Object | semmle.label | in : Object | +| Test.java:6416:9:6416:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6416:21:6416:23 | out : SingletonMap [] : Object | semmle.label | out : SingletonMap [] : Object | +| Test.java:6421:16:6421:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6422:4:6422:6 | out [post update] : SingletonMap [] : Object | semmle.label | out [post update] : SingletonMap [] : Object | +| Test.java:6422:17:6422:18 | in : Object | semmle.label | in : Object | +| Test.java:6423:9:6423:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6423:21:6423:23 | out : SingletonMap [] : Object | semmle.label | out : SingletonMap [] : Object | +| Test.java:6428:13:6428:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6428:20:6428:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6428:28:6428:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6429:10:6429:55 | transformingMap(...) : TransformedMap [] : String | semmle.label | transformingMap(...) : TransformedMap [] : String | +| Test.java:6429:41:6429:42 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6430:9:6430:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6430:19:6430:21 | out : TransformedMap [] : String | semmle.label | out : TransformedMap [] : String | +| Test.java:6435:13:6435:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6435:26:6435:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6435:34:6435:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6436:10:6436:55 | transformingMap(...) : TransformedMap [] : String | semmle.label | transformingMap(...) : TransformedMap [] : String | +| Test.java:6436:41:6436:42 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6437:9:6437:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6437:21:6437:23 | out : TransformedMap [] : String | semmle.label | out : TransformedMap [] : String | +| Test.java:6442:19:6442:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:6442:40:6442:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6442:48:6442:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6443:10:6443:67 | transformingSortedMap(...) : TransformedSortedMap [] : String | semmle.label | transformingSortedMap(...) : TransformedSortedMap [] : String | +| Test.java:6443:53:6443:54 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:6444:9:6444:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6444:19:6444:21 | out : TransformedSortedMap [] : String | semmle.label | out : TransformedSortedMap [] : String | +| Test.java:6449:19:6449:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:6449:42:6449:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6449:50:6449:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6450:10:6450:67 | transformingSortedMap(...) : TransformedSortedMap [] : String | semmle.label | transformingSortedMap(...) : TransformedSortedMap [] : String | +| Test.java:6450:53:6450:54 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:6451:9:6451:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6451:21:6451:23 | out : TransformedSortedMap [] : String | semmle.label | out : TransformedSortedMap [] : String | +| Test.java:6456:39:6456:102 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | +| Test.java:6456:68:6456:101 | newTMEWithMapKey(...) : TiedMapEntry [] : String | semmle.label | newTMEWithMapKey(...) : TiedMapEntry [] : String | +| Test.java:6456:85:6456:100 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6456:93:6456:100 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6457:10:6457:54 | unmodifiableEntrySet(...) : Set [, ] : String | semmle.label | unmodifiableEntrySet(...) : Set [, ] : String | +| Test.java:6457:52:6457:53 | in : ListOrderedSet [, ] : String | semmle.label | in : ListOrderedSet [, ] : String | +| Test.java:6458:9:6458:43 | getMapKeyFromEntry(...) | semmle.label | getMapKeyFromEntry(...) | +| Test.java:6458:28:6458:42 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:6458:39:6458:41 | out : Set [, ] : String | semmle.label | out : Set [, ] : String | +| Test.java:6463:39:6463:104 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | +| Test.java:6463:68:6463:103 | newTMEWithMapValue(...) : TiedMapEntry [] : String | semmle.label | newTMEWithMapValue(...) : TiedMapEntry [] : String | +| Test.java:6463:87:6463:102 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6463:95:6463:102 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6464:10:6464:54 | unmodifiableEntrySet(...) : Set [, ] : String | semmle.label | unmodifiableEntrySet(...) : Set [, ] : String | +| Test.java:6464:52:6464:53 | in : ListOrderedSet [, ] : String | semmle.label | in : ListOrderedSet [, ] : String | +| Test.java:6465:9:6465:45 | getMapValueFromEntry(...) | semmle.label | getMapValueFromEntry(...) | +| Test.java:6465:30:6465:44 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:6465:41:6465:43 | out : Set [, ] : String | semmle.label | out : Set [, ] : String | +| Test.java:6470:13:6470:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6470:20:6470:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6470:28:6470:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6471:10:6471:44 | unmodifiableMap(...) : Map [] : String | semmle.label | unmodifiableMap(...) : Map [] : String | +| Test.java:6471:42:6471:43 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6472:9:6472:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6472:19:6472:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:6477:13:6477:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6477:26:6477:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6477:34:6477:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6478:10:6478:44 | unmodifiableMap(...) : Map [] : String | semmle.label | unmodifiableMap(...) : Map [] : String | +| Test.java:6478:42:6478:43 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6479:9:6479:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6479:21:6479:23 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:6484:20:6484:64 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | semmle.label | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | +| Test.java:6484:48:6484:63 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6484:56:6484:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6485:10:6485:58 | unmodifiableOrderedMap(...) : OrderedMap [] : String | semmle.label | unmodifiableOrderedMap(...) : OrderedMap [] : String | +| Test.java:6485:56:6485:57 | in : ListOrderedMap [] : String | semmle.label | in : ListOrderedMap [] : String | +| Test.java:6486:9:6486:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6486:19:6486:21 | out : OrderedMap [] : String | semmle.label | out : OrderedMap [] : String | +| Test.java:6491:20:6491:66 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | semmle.label | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | +| Test.java:6491:50:6491:65 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6491:58:6491:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6492:10:6492:58 | unmodifiableOrderedMap(...) : OrderedMap [] : String | semmle.label | unmodifiableOrderedMap(...) : OrderedMap [] : String | +| Test.java:6492:56:6492:57 | in : ListOrderedMap [] : String | semmle.label | in : ListOrderedMap [] : String | +| Test.java:6493:9:6493:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6493:21:6493:23 | out : OrderedMap [] : String | semmle.label | out : OrderedMap [] : String | +| Test.java:6498:19:6498:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:6498:40:6498:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6498:48:6498:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6499:10:6499:56 | unmodifiableSortedMap(...) : SortedMap [] : String | semmle.label | unmodifiableSortedMap(...) : SortedMap [] : String | +| Test.java:6499:54:6499:55 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:6500:9:6500:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6500:19:6500:21 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:6505:19:6505:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | semmle.label | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:6505:42:6505:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6505:50:6505:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6506:10:6506:56 | unmodifiableSortedMap(...) : SortedMap [] : String | semmle.label | unmodifiableSortedMap(...) : SortedMap [] : String | +| Test.java:6506:54:6506:55 | in : TreeMap [] : String | semmle.label | in : TreeMap [] : String | +| Test.java:6507:9:6507:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6507:21:6507:23 | out : SortedMap [] : String | semmle.label | out : SortedMap [] : String | +| Test.java:6512:13:6512:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6512:20:6512:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6512:28:6512:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6513:10:6513:39 | new ArrayListValuedHashMap<>(...) : ArrayListValuedHashMap [] : String | semmle.label | new ArrayListValuedHashMap<>(...) : ArrayListValuedHashMap [] : String | +| Test.java:6513:37:6513:38 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6514:9:6514:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6514:19:6514:21 | out : ArrayListValuedHashMap [] : String | semmle.label | out : ArrayListValuedHashMap [] : String | +| Test.java:6519:13:6519:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6519:26:6519:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6519:34:6519:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6520:10:6520:39 | new ArrayListValuedHashMap<>(...) : ArrayListValuedHashMap [, ] : String | semmle.label | new ArrayListValuedHashMap<>(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:6520:37:6520:38 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6521:9:6521:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6521:20:6521:35 | getMapValue(...) : Collection [] : String | semmle.label | getMapValue(...) : Collection [] : String | +| Test.java:6521:32:6521:34 | out : ArrayListValuedHashMap [, ] : String | semmle.label | out : ArrayListValuedHashMap [, ] : String | +| Test.java:6526:24:6526:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:6526:45:6526:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6526:53:6526:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6527:10:6527:39 | new ArrayListValuedHashMap<>(...) : ArrayListValuedHashMap [, ] : String | semmle.label | new ArrayListValuedHashMap<>(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:6527:37:6527:38 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:6528:9:6528:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6528:20:6528:35 | getMapValue(...) : Collection [] : String | semmle.label | getMapValue(...) : Collection [] : String | +| Test.java:6528:32:6528:34 | out : ArrayListValuedHashMap [, ] : String | semmle.label | out : ArrayListValuedHashMap [, ] : String | +| Test.java:6533:24:6533:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | semmle.label | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:6533:43:6533:58 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6533:51:6533:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6534:10:6534:39 | new ArrayListValuedHashMap<>(...) : ArrayListValuedHashMap [] : String | semmle.label | new ArrayListValuedHashMap<>(...) : ArrayListValuedHashMap [] : String | +| Test.java:6534:37:6534:38 | in : ArrayListValuedHashMap [] : String | semmle.label | in : ArrayListValuedHashMap [] : String | +| Test.java:6535:9:6535:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6535:19:6535:21 | out : ArrayListValuedHashMap [] : String | semmle.label | out : ArrayListValuedHashMap [] : String | +| Test.java:6540:13:6540:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6540:20:6540:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6540:28:6540:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6541:10:6541:37 | new HashSetValuedHashMap<>(...) : HashSetValuedHashMap [] : String | semmle.label | new HashSetValuedHashMap<>(...) : HashSetValuedHashMap [] : String | +| Test.java:6541:35:6541:36 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6542:9:6542:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6542:19:6542:21 | out : HashSetValuedHashMap [] : String | semmle.label | out : HashSetValuedHashMap [] : String | +| Test.java:6547:13:6547:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6547:26:6547:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6547:34:6547:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6548:10:6548:37 | new HashSetValuedHashMap<>(...) : HashSetValuedHashMap [, ] : String | semmle.label | new HashSetValuedHashMap<>(...) : HashSetValuedHashMap [, ] : String | +| Test.java:6548:35:6548:36 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6549:9:6549:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6549:20:6549:35 | getMapValue(...) : Collection [] : String | semmle.label | getMapValue(...) : Collection [] : String | +| Test.java:6549:32:6549:34 | out : HashSetValuedHashMap [, ] : String | semmle.label | out : HashSetValuedHashMap [, ] : String | +| Test.java:6554:24:6554:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:6554:45:6554:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6554:53:6554:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6555:10:6555:37 | new HashSetValuedHashMap<>(...) : HashSetValuedHashMap [, ] : String | semmle.label | new HashSetValuedHashMap<>(...) : HashSetValuedHashMap [, ] : String | +| Test.java:6555:35:6555:36 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:6556:9:6556:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6556:20:6556:35 | getMapValue(...) : Collection [] : String | semmle.label | getMapValue(...) : Collection [] : String | +| Test.java:6556:32:6556:34 | out : HashSetValuedHashMap [, ] : String | semmle.label | out : HashSetValuedHashMap [, ] : String | +| Test.java:6561:24:6561:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | semmle.label | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:6561:43:6561:58 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6561:51:6561:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6562:10:6562:37 | new HashSetValuedHashMap<>(...) : HashSetValuedHashMap [] : String | semmle.label | new HashSetValuedHashMap<>(...) : HashSetValuedHashMap [] : String | +| Test.java:6562:35:6562:36 | in : ArrayListValuedHashMap [] : String | semmle.label | in : ArrayListValuedHashMap [] : String | +| Test.java:6563:9:6563:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6563:19:6563:21 | out : HashSetValuedHashMap [] : String | semmle.label | out : HashSetValuedHashMap [] : String | +| Test.java:6568:24:6568:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:6568:45:6568:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6568:53:6568:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6569:10:6569:66 | transformingMap(...) : TransformedMultiValuedMap [, ] : String | semmle.label | transformingMap(...) : TransformedMultiValuedMap [, ] : String | +| Test.java:6569:52:6569:53 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:6570:9:6570:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6570:20:6570:35 | getMapValue(...) : Collection [] : String | semmle.label | getMapValue(...) : Collection [] : String | +| Test.java:6570:32:6570:34 | out : TransformedMultiValuedMap [, ] : String | semmle.label | out : TransformedMultiValuedMap [, ] : String | +| Test.java:6575:24:6575:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | semmle.label | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:6575:43:6575:58 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6575:51:6575:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6576:10:6576:66 | transformingMap(...) : TransformedMultiValuedMap [] : String | semmle.label | transformingMap(...) : TransformedMultiValuedMap [] : String | +| Test.java:6576:52:6576:53 | in : ArrayListValuedHashMap [] : String | semmle.label | in : ArrayListValuedHashMap [] : String | +| Test.java:6577:9:6577:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6577:19:6577:21 | out : TransformedMultiValuedMap [] : String | semmle.label | out : TransformedMultiValuedMap [] : String | +| Test.java:6582:24:6582:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | semmle.label | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:6582:45:6582:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6582:53:6582:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6583:10:6583:66 | unmodifiableMultiValuedMap(...) : UnmodifiableMultiValuedMap [, ] : String | semmle.label | unmodifiableMultiValuedMap(...) : UnmodifiableMultiValuedMap [, ] : String | +| Test.java:6583:64:6583:65 | in : ArrayListValuedHashMap [, ] : String | semmle.label | in : ArrayListValuedHashMap [, ] : String | +| Test.java:6584:9:6584:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6584:20:6584:35 | getMapValue(...) : Collection [] : String | semmle.label | getMapValue(...) : Collection [] : String | +| Test.java:6584:32:6584:34 | out : UnmodifiableMultiValuedMap [, ] : String | semmle.label | out : UnmodifiableMultiValuedMap [, ] : String | +| Test.java:6589:24:6589:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | semmle.label | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:6589:43:6589:58 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6589:51:6589:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6590:10:6590:66 | unmodifiableMultiValuedMap(...) : UnmodifiableMultiValuedMap [] : String | semmle.label | unmodifiableMultiValuedMap(...) : UnmodifiableMultiValuedMap [] : String | +| Test.java:6590:64:6590:65 | in : ArrayListValuedHashMap [] : String | semmle.label | in : ArrayListValuedHashMap [] : String | +| Test.java:6591:9:6591:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6591:19:6591:21 | out : UnmodifiableMultiValuedMap [] : String | semmle.label | out : UnmodifiableMultiValuedMap [] : String | +| Test.java:6596:20:6596:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:6596:42:6596:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6596:50:6596:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6597:10:6597:29 | new HashMultiSet<>(...) : HashMultiSet [] : String | semmle.label | new HashMultiSet<>(...) : HashMultiSet [] : String | +| Test.java:6597:27:6597:28 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:6598:9:6598:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6598:20:6598:22 | out : HashMultiSet [] : String | semmle.label | out : HashMultiSet [] : String | +| Test.java:6603:18:6603:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | semmle.label | newHashMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:6603:45:6603:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6603:53:6603:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6604:10:6604:56 | predicatedMultiSet(...) : PredicatedMultiSet [] : String | semmle.label | predicatedMultiSet(...) : PredicatedMultiSet [] : String | +| Test.java:6604:48:6604:49 | in : HashMultiSet [] : String | semmle.label | in : HashMultiSet [] : String | +| Test.java:6605:9:6605:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6605:20:6605:22 | out : PredicatedMultiSet [] : String | semmle.label | out : PredicatedMultiSet [] : String | +| Test.java:6610:18:6610:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | semmle.label | newHashMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:6610:45:6610:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6610:53:6610:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6611:10:6611:54 | synchronizedMultiSet(...) : SynchronizedMultiSet [] : String | semmle.label | synchronizedMultiSet(...) : SynchronizedMultiSet [] : String | +| Test.java:6611:52:6611:53 | in : HashMultiSet [] : String | semmle.label | in : HashMultiSet [] : String | +| Test.java:6612:9:6612:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6612:20:6612:22 | out : SynchronizedMultiSet [] : String | semmle.label | out : SynchronizedMultiSet [] : String | +| Test.java:6617:18:6617:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | semmle.label | newHashMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:6617:45:6617:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6617:53:6617:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6618:10:6618:54 | unmodifiableMultiSet(...) : MultiSet [] : String | semmle.label | unmodifiableMultiSet(...) : MultiSet [] : String | +| Test.java:6618:52:6618:53 | in : HashMultiSet [] : String | semmle.label | in : HashMultiSet [] : String | +| Test.java:6619:9:6619:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6619:20:6619:22 | out : MultiSet [] : String | semmle.label | out : MultiSet [] : String | +| Test.java:6624:16:6624:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6624:24:6624:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6626:10:6626:32 | load(...) : Properties | semmle.label | load(...) : Properties | +| Test.java:6626:30:6626:31 | in : String | semmle.label | in : String | +| Test.java:6627:9:6627:11 | out | semmle.label | out | +| Test.java:6632:14:6632:27 | (...)... : File | semmle.label | (...)... : File | +| Test.java:6632:20:6632:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6634:10:6634:26 | load(...) : Properties | semmle.label | load(...) : Properties | +| Test.java:6634:24:6634:25 | in : File | semmle.label | in : File | +| Test.java:6635:9:6635:11 | out | semmle.label | out | +| Test.java:6640:21:6640:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:6640:34:6640:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6642:10:6642:26 | load(...) : Properties | semmle.label | load(...) : Properties | +| Test.java:6642:24:6642:25 | in : InputStream | semmle.label | in : InputStream | +| Test.java:6643:9:6643:11 | out | semmle.label | out | +| Test.java:6648:14:6648:27 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:6648:20:6648:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6650:10:6650:26 | load(...) : Properties | semmle.label | load(...) : Properties | +| Test.java:6650:24:6650:25 | in : Path | semmle.label | in : Path | +| Test.java:6651:9:6651:11 | out | semmle.label | out | +| Test.java:6656:16:6656:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:6656:24:6656:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6658:10:6658:26 | load(...) : Properties | semmle.label | load(...) : Properties | +| Test.java:6658:24:6658:25 | in : Reader | semmle.label | in : Reader | +| Test.java:6659:9:6659:11 | out | semmle.label | out | +| Test.java:6664:16:6664:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6664:24:6664:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6666:10:6666:26 | load(...) : Properties | semmle.label | load(...) : Properties | +| Test.java:6666:24:6666:25 | in : String | semmle.label | in : String | +| Test.java:6667:9:6667:11 | out | semmle.label | out | +| Test.java:6672:13:6672:25 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:6672:18:6672:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6674:10:6674:26 | load(...) : Properties | semmle.label | load(...) : Properties | +| Test.java:6674:24:6674:25 | in : URI | semmle.label | in : URI | +| Test.java:6675:9:6675:11 | out | semmle.label | out | +| Test.java:6680:13:6680:25 | (...)... : URL | semmle.label | (...)... : URL | +| Test.java:6680:18:6680:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6682:10:6682:26 | load(...) : Properties | semmle.label | load(...) : Properties | +| Test.java:6682:24:6682:25 | in : URL | semmle.label | in : URL | +| Test.java:6683:9:6683:11 | out | semmle.label | out | +| Test.java:6688:20:6688:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:6688:42:6688:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6688:50:6688:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6689:10:6689:34 | new CircularFifoQueue<>(...) : CircularFifoQueue [] : String | semmle.label | new CircularFifoQueue<>(...) : CircularFifoQueue [] : String | +| Test.java:6689:32:6689:33 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:6690:9:6690:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6690:20:6690:22 | out : CircularFifoQueue [] : String | semmle.label | out : CircularFifoQueue [] : String | +| Test.java:6695:27:6695:75 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | semmle.label | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | +| Test.java:6695:59:6695:74 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6695:67:6695:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6696:10:6696:11 | in : CircularFifoQueue [] : String | semmle.label | in : CircularFifoQueue [] : String | +| Test.java:6696:10:6696:18 | get(...) : String | semmle.label | get(...) : String | +| Test.java:6697:9:6697:11 | out | semmle.label | out | +| Test.java:6702:15:6702:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | semmle.label | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | +| Test.java:6702:47:6702:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6702:55:6702:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6703:10:6703:50 | predicatedQueue(...) : PredicatedQueue [] : String | semmle.label | predicatedQueue(...) : PredicatedQueue [] : String | +| Test.java:6703:42:6703:43 | in : CircularFifoQueue [] : String | semmle.label | in : CircularFifoQueue [] : String | +| Test.java:6704:9:6704:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6704:20:6704:22 | out : PredicatedQueue [] : String | semmle.label | out : PredicatedQueue [] : String | +| Test.java:6709:15:6709:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | semmle.label | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | +| Test.java:6709:47:6709:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6709:55:6709:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6710:10:6710:48 | synchronizedQueue(...) : SynchronizedQueue [] : String | semmle.label | synchronizedQueue(...) : SynchronizedQueue [] : String | +| Test.java:6710:46:6710:47 | in : CircularFifoQueue [] : String | semmle.label | in : CircularFifoQueue [] : String | +| Test.java:6711:9:6711:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6711:20:6711:22 | out : SynchronizedQueue [] : String | semmle.label | out : SynchronizedQueue [] : String | +| Test.java:6716:15:6716:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | semmle.label | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | +| Test.java:6716:47:6716:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6716:55:6716:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6717:10:6717:53 | transformingQueue(...) : TransformedQueue [] : String | semmle.label | transformingQueue(...) : TransformedQueue [] : String | +| Test.java:6717:45:6717:46 | in : CircularFifoQueue [] : String | semmle.label | in : CircularFifoQueue [] : String | +| Test.java:6718:9:6718:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6718:20:6718:22 | out : TransformedQueue [] : String | semmle.label | out : TransformedQueue [] : String | +| Test.java:6723:15:6723:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | semmle.label | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | +| Test.java:6723:47:6723:62 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6723:55:6723:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6724:10:6724:48 | unmodifiableQueue(...) : Queue [] : String | semmle.label | unmodifiableQueue(...) : Queue [] : String | +| Test.java:6724:46:6724:47 | in : CircularFifoQueue [] : String | semmle.label | in : CircularFifoQueue [] : String | +| Test.java:6725:9:6725:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6725:20:6725:22 | out : Queue [] : String | semmle.label | out : Queue [] : String | +| Test.java:6730:22:6730:60 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:6730:44:6730:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6730:52:6730:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6731:10:6731:48 | new MyAbstractNavigableSetDecorator<>(...) : MyAbstractNavigableSetDecorator [] : String | semmle.label | new MyAbstractNavigableSetDecorator<>(...) : MyAbstractNavigableSetDecorator [] : String | +| Test.java:6731:46:6731:47 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:6732:9:6732:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6732:20:6732:22 | out : MyAbstractNavigableSetDecorator [] : String | semmle.label | out : MyAbstractNavigableSetDecorator [] : String | +| Test.java:6737:13:6737:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6737:42:6737:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6737:50:6737:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6738:10:6738:39 | new MyAbstractSetDecorator<>(...) : MyAbstractSetDecorator [] : String | semmle.label | new MyAbstractSetDecorator<>(...) : MyAbstractSetDecorator [] : String | +| Test.java:6738:37:6738:38 | in : ListOrderedSet [] : String | semmle.label | in : ListOrderedSet [] : String | +| Test.java:6739:9:6739:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6739:20:6739:22 | out : MyAbstractSetDecorator [] : String | semmle.label | out : MyAbstractSetDecorator [] : String | +| Test.java:6744:13:6744:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6744:42:6744:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6744:50:6744:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6745:10:6745:45 | new MyAbstractSortedSetDecorator<>(...) : MyAbstractSortedSetDecorator [] : String | semmle.label | new MyAbstractSortedSetDecorator<>(...) : MyAbstractSortedSetDecorator [] : String | +| Test.java:6745:43:6745:44 | in : ListOrderedSet [] : String | semmle.label | in : ListOrderedSet [] : String | +| Test.java:6746:9:6746:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6746:20:6746:22 | out : MyAbstractSortedSetDecorator [] : String | semmle.label | out : MyAbstractSortedSetDecorator [] : String | +| Test.java:6751:16:6751:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6753:17:6753:19 | out [post update] : CompositeSet [] : Object | semmle.label | out [post update] : CompositeSet [] : Object | +| Test.java:6753:28:6753:29 | in : Object | semmle.label | in : Object | +| Test.java:6754:9:6754:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6754:20:6754:22 | out : CompositeSet [] : Object | semmle.label | out : CompositeSet [] : Object | +| Test.java:6759:16:6759:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6761:23:6761:25 | out [post update] : List [, ] : Object | semmle.label | out [post update] : List [, ] : Object | +| Test.java:6761:28:6761:29 | in : Object | semmle.label | in : Object | +| Test.java:6762:9:6762:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6762:20:6762:34 | getElement(...) : Set [] : Object | semmle.label | getElement(...) : Set [] : Object | +| Test.java:6762:31:6762:33 | out : List [, ] : Object | semmle.label | out : List [, ] : Object | +| Test.java:6767:20:6767:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:6767:42:6767:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6767:50:6767:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6769:20:6769:22 | out [post update] : CompositeSet [] : String | semmle.label | out [post update] : CompositeSet [] : String | +| Test.java:6769:31:6769:32 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:6770:9:6770:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6770:20:6770:22 | out : CompositeSet [] : String | semmle.label | out : CompositeSet [] : String | +| Test.java:6775:20:6775:58 | newTreeBagWithElement(...) : TreeBag [] : String | semmle.label | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:6775:42:6775:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6775:50:6775:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6777:26:6777:28 | out [post update] : List [, ] : String | semmle.label | out [post update] : List [, ] : String | +| Test.java:6777:31:6777:32 | in : TreeBag [] : String | semmle.label | in : TreeBag [] : String | +| Test.java:6778:9:6778:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6778:20:6778:34 | getElement(...) : Set [] : String | semmle.label | getElement(...) : Set [] : String | +| Test.java:6778:31:6778:33 | out : List [, ] : String | semmle.label | out : List [, ] : String | +| Test.java:6783:13:6783:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6783:42:6783:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6783:50:6783:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6784:10:6784:29 | new CompositeSet<>(...) : CompositeSet [] : String | semmle.label | new CompositeSet<>(...) : CompositeSet [] : String | +| Test.java:6784:27:6784:28 | in : ListOrderedSet [] : String | semmle.label | in : ListOrderedSet [] : String | +| Test.java:6785:9:6785:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6785:20:6785:22 | out : CompositeSet [] : String | semmle.label | out : CompositeSet [] : String | +| Test.java:6790:15:6790:71 | {...} : Set[] [[], ] : String | semmle.label | {...} : Set[] [[], ] : String | +| Test.java:6790:25:6790:70 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6790:54:6790:69 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6790:62:6790:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6791:10:6791:29 | new CompositeSet<>(...) : CompositeSet [] : String | semmle.label | new CompositeSet<>(...) : CompositeSet [] : String | +| Test.java:6791:27:6791:28 | in : Set[] [[], ] : String | semmle.label | in : Set[] [[], ] : String | +| Test.java:6792:9:6792:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6792:20:6792:22 | out : CompositeSet [] : String | semmle.label | out : CompositeSet [] : String | +| Test.java:6797:13:6797:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6797:42:6797:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6797:50:6797:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6798:4:6798:6 | out [post update] : CompositeSet [] : String | semmle.label | out [post update] : CompositeSet [] : String | +| Test.java:6798:22:6798:23 | in : ListOrderedSet [] : String | semmle.label | in : ListOrderedSet [] : String | +| Test.java:6799:9:6799:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6799:20:6799:22 | out : CompositeSet [] : String | semmle.label | out : CompositeSet [] : String | +| Test.java:6804:13:6804:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6804:42:6804:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6804:50:6804:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6805:4:6805:6 | out [post update] : CompositeSet [] : String | semmle.label | out [post update] : CompositeSet [] : String | +| Test.java:6805:22:6805:23 | in : ListOrderedSet [] : String | semmle.label | in : ListOrderedSet [] : String | +| Test.java:6806:9:6806:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6806:20:6806:22 | out : CompositeSet [] : String | semmle.label | out : CompositeSet [] : String | +| Test.java:6811:13:6811:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6811:42:6811:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6811:50:6811:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6812:4:6812:6 | out [post update] : CompositeSet [] : String | semmle.label | out [post update] : CompositeSet [] : String | +| Test.java:6812:28:6812:29 | in : ListOrderedSet [] : String | semmle.label | in : ListOrderedSet [] : String | +| Test.java:6813:9:6813:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6813:20:6813:22 | out : CompositeSet [] : String | semmle.label | out : CompositeSet [] : String | +| Test.java:6818:15:6818:71 | {...} : Set[] [[], ] : String | semmle.label | {...} : Set[] [[], ] : String | +| Test.java:6818:25:6818:70 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6818:54:6818:69 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6818:62:6818:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6819:4:6819:6 | out [post update] : CompositeSet [] : String | semmle.label | out [post update] : CompositeSet [] : String | +| Test.java:6819:22:6819:23 | in : Set[] [[], ] : String | semmle.label | in : Set[] [[], ] : String | +| Test.java:6820:9:6820:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6820:20:6820:22 | out : CompositeSet [] : String | semmle.label | out : CompositeSet [] : String | +| Test.java:6825:30:6825:73 | newCompositeSetWithElement(...) : CompositeSet [] : String | semmle.label | newCompositeSetWithElement(...) : CompositeSet [] : String | +| Test.java:6825:57:6825:72 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6825:65:6825:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6826:10:6826:11 | in : CompositeSet [] : String | semmle.label | in : CompositeSet [] : String | +| Test.java:6826:10:6826:21 | getSets(...) : List [, ] : String | semmle.label | getSets(...) : List [, ] : String | +| Test.java:6827:9:6827:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6827:20:6827:34 | getElement(...) : Set [] : String | semmle.label | getElement(...) : Set [] : String | +| Test.java:6827:31:6827:33 | out : List [, ] : String | semmle.label | out : List [, ] : String | +| Test.java:6832:22:6832:65 | newCompositeSetWithElement(...) : CompositeSet [] : String | semmle.label | newCompositeSetWithElement(...) : CompositeSet [] : String | +| Test.java:6832:49:6832:64 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6832:57:6832:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6833:10:6833:11 | in : CompositeSet [] : String | semmle.label | in : CompositeSet [] : String | +| Test.java:6833:10:6833:19 | toSet(...) : Set [] : String | semmle.label | toSet(...) : Set [] : String | +| Test.java:6834:9:6834:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6834:20:6834:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:6839:16:6839:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6840:4:6840:6 | out [post update] : ListOrderedSet [] : Object | semmle.label | out [post update] : ListOrderedSet [] : Object | +| Test.java:6840:15:6840:16 | in : Object | semmle.label | in : Object | +| Test.java:6841:9:6841:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6841:20:6841:22 | out : ListOrderedSet [] : Object | semmle.label | out : ListOrderedSet [] : Object | +| Test.java:6846:20:6846:44 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:6846:28:6846:43 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6846:36:6846:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6847:4:6847:6 | out [post update] : ListOrderedSet [] : String | semmle.label | out [post update] : ListOrderedSet [] : String | +| Test.java:6847:18:6847:19 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:6848:9:6848:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6848:20:6848:22 | out : ListOrderedSet [] : String | semmle.label | out : ListOrderedSet [] : String | +| Test.java:6853:24:6853:69 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6853:53:6853:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6853:61:6853:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6854:10:6854:11 | in : ListOrderedSet [] : String | semmle.label | in : ListOrderedSet [] : String | +| Test.java:6854:10:6854:20 | asList(...) : List [] : String | semmle.label | asList(...) : List [] : String | +| Test.java:6855:9:6855:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6855:20:6855:22 | out : List [] : String | semmle.label | out : List [] : String | +| Test.java:6860:24:6860:69 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6860:53:6860:68 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6860:61:6860:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6861:10:6861:11 | in : ListOrderedSet [] : String | semmle.label | in : ListOrderedSet [] : String | +| Test.java:6861:10:6861:18 | get(...) : String | semmle.label | get(...) : String | +| Test.java:6862:9:6862:11 | out | semmle.label | out | +| Test.java:6867:14:6867:38 | of(...) : List [] : String | semmle.label | of(...) : List [] : String | +| Test.java:6867:22:6867:37 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6867:30:6867:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6868:10:6868:42 | listOrderedSet(...) : ListOrderedSet [] : String | semmle.label | listOrderedSet(...) : ListOrderedSet [] : String | +| Test.java:6868:40:6868:41 | in : List [] : String | semmle.label | in : List [] : String | +| Test.java:6869:9:6869:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6869:20:6869:22 | out : ListOrderedSet [] : String | semmle.label | out : ListOrderedSet [] : String | +| Test.java:6874:13:6874:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6874:42:6874:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6874:50:6874:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6875:10:6875:42 | listOrderedSet(...) : ListOrderedSet [] : String | semmle.label | listOrderedSet(...) : ListOrderedSet [] : String | +| Test.java:6875:40:6875:41 | in : ListOrderedSet [] : String | semmle.label | in : ListOrderedSet [] : String | +| Test.java:6876:9:6876:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6876:20:6876:22 | out : ListOrderedSet [] : String | semmle.label | out : ListOrderedSet [] : String | +| Test.java:6881:13:6881:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6881:20:6881:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6881:28:6881:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6882:10:6882:44 | mapBackedSet(...) : MapBackedSet [] : String | semmle.label | mapBackedSet(...) : MapBackedSet [] : String | +| Test.java:6882:36:6882:37 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6883:9:6883:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6883:20:6883:22 | out : MapBackedSet [] : String | semmle.label | out : MapBackedSet [] : String | +| Test.java:6888:13:6888:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6888:20:6888:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6888:28:6888:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6889:10:6889:38 | mapBackedSet(...) : MapBackedSet [] : String | semmle.label | mapBackedSet(...) : MapBackedSet [] : String | +| Test.java:6889:36:6889:37 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6890:9:6890:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6890:20:6890:22 | out : MapBackedSet [] : String | semmle.label | out : MapBackedSet [] : String | +| Test.java:6895:22:6895:60 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:6895:44:6895:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6895:52:6895:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6896:10:6896:64 | predicatedNavigableSet(...) : PredicatedNavigableSet [] : String | semmle.label | predicatedNavigableSet(...) : PredicatedNavigableSet [] : String | +| Test.java:6896:56:6896:57 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:6897:9:6897:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6897:20:6897:22 | out : PredicatedNavigableSet [] : String | semmle.label | out : PredicatedNavigableSet [] : String | +| Test.java:6902:13:6902:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6902:42:6902:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6902:50:6902:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6903:10:6903:46 | predicatedSet(...) : PredicatedSet [] : String | semmle.label | predicatedSet(...) : PredicatedSet [] : String | +| Test.java:6903:38:6903:39 | in : ListOrderedSet [] : String | semmle.label | in : ListOrderedSet [] : String | +| Test.java:6904:9:6904:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6904:20:6904:22 | out : PredicatedSet [] : String | semmle.label | out : PredicatedSet [] : String | +| Test.java:6909:19:6909:57 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:6909:41:6909:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6909:49:6909:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6910:10:6910:58 | predicatedSortedSet(...) : PredicatedSortedSet [] : String | semmle.label | predicatedSortedSet(...) : PredicatedSortedSet [] : String | +| Test.java:6910:50:6910:51 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:6911:9:6911:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6911:20:6911:22 | out : PredicatedSortedSet [] : String | semmle.label | out : PredicatedSortedSet [] : String | +| Test.java:6916:22:6916:60 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:6916:44:6916:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6916:52:6916:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6917:10:6917:67 | transformingNavigableSet(...) : TransformedNavigableSet [] : String | semmle.label | transformingNavigableSet(...) : TransformedNavigableSet [] : String | +| Test.java:6917:59:6917:60 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:6918:9:6918:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6918:20:6918:22 | out : TransformedNavigableSet [] : String | semmle.label | out : TransformedNavigableSet [] : String | +| Test.java:6923:13:6923:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6923:42:6923:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6923:50:6923:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6924:10:6924:49 | transformingSet(...) : TransformedSet [] : String | semmle.label | transformingSet(...) : TransformedSet [] : String | +| Test.java:6924:41:6924:42 | in : ListOrderedSet [] : String | semmle.label | in : ListOrderedSet [] : String | +| Test.java:6925:9:6925:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6925:20:6925:22 | out : TransformedSet [] : String | semmle.label | out : TransformedSet [] : String | +| Test.java:6930:19:6930:57 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:6930:41:6930:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6930:49:6930:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6931:10:6931:61 | transformingSortedSet(...) : TransformedSortedSet [] : String | semmle.label | transformingSortedSet(...) : TransformedSortedSet [] : String | +| Test.java:6931:53:6931:54 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:6932:9:6932:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6932:20:6932:22 | out : TransformedSortedSet [] : String | semmle.label | out : TransformedSortedSet [] : String | +| Test.java:6937:22:6937:60 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:6937:44:6937:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6937:52:6937:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6938:10:6938:62 | unmodifiableNavigableSet(...) : NavigableSet [] : String | semmle.label | unmodifiableNavigableSet(...) : NavigableSet [] : String | +| Test.java:6938:60:6938:61 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:6939:9:6939:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6939:20:6939:22 | out : NavigableSet [] : String | semmle.label | out : NavigableSet [] : String | +| Test.java:6944:13:6944:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | semmle.label | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6944:42:6944:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6944:50:6944:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6945:10:6945:44 | unmodifiableSet(...) : Set [] : String | semmle.label | unmodifiableSet(...) : Set [] : String | +| Test.java:6945:42:6945:43 | in : ListOrderedSet [] : String | semmle.label | in : ListOrderedSet [] : String | +| Test.java:6946:9:6946:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6946:20:6946:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:6951:19:6951:57 | newTreeSetWithElement(...) : TreeSet [] : String | semmle.label | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:6951:41:6951:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6951:49:6951:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6952:10:6952:56 | unmodifiableSortedSet(...) : SortedSet [] : String | semmle.label | unmodifiableSortedSet(...) : SortedSet [] : String | +| Test.java:6952:54:6952:55 | in : TreeSet [] : String | semmle.label | in : TreeSet [] : String | +| Test.java:6953:9:6953:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6953:20:6953:22 | out : SortedSet [] : String | semmle.label | out : SortedSet [] : String | +| Test.java:6958:13:6958:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6958:20:6958:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6958:28:6958:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6959:10:6959:48 | new AbstractIterableGetMapDecorator<>(...) : AbstractIterableGetMapDecorator [] : String | semmle.label | new AbstractIterableGetMapDecorator<>(...) : AbstractIterableGetMapDecorator [] : String | +| Test.java:6959:46:6959:47 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6960:9:6960:29 | getMapKeyFromGet(...) | semmle.label | getMapKeyFromGet(...) | +| Test.java:6960:26:6960:28 | out : AbstractIterableGetMapDecorator [] : String | semmle.label | out : AbstractIterableGetMapDecorator [] : String | +| Test.java:6965:13:6965:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6965:26:6965:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6965:34:6965:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6966:10:6966:48 | new AbstractIterableGetMapDecorator<>(...) : AbstractIterableGetMapDecorator [] : String | semmle.label | new AbstractIterableGetMapDecorator<>(...) : AbstractIterableGetMapDecorator [] : String | +| Test.java:6966:46:6966:47 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6967:9:6967:31 | getMapValueFromGet(...) | semmle.label | getMapValueFromGet(...) | +| Test.java:6967:28:6967:30 | out : AbstractIterableGetMapDecorator [] : String | semmle.label | out : AbstractIterableGetMapDecorator [] : String | +| Test.java:6972:13:6972:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6972:20:6972:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6972:28:6972:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6973:10:6973:60 | transformingMap(...) : TransformedSplitMap [] : String | semmle.label | transformingMap(...) : TransformedSplitMap [] : String | +| Test.java:6973:46:6973:47 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6974:9:6974:29 | getMapKeyFromGet(...) | semmle.label | getMapKeyFromGet(...) | +| Test.java:6974:26:6974:28 | out : TransformedSplitMap [] : String | semmle.label | out : TransformedSplitMap [] : String | +| Test.java:6979:13:6979:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6979:26:6979:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6979:34:6979:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6980:10:6980:60 | transformingMap(...) : TransformedSplitMap [] : String | semmle.label | transformingMap(...) : TransformedSplitMap [] : String | +| Test.java:6980:46:6980:47 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6981:9:6981:31 | getMapValueFromGet(...) | semmle.label | getMapValueFromGet(...) | +| Test.java:6981:28:6981:30 | out : TransformedSplitMap [] : String | semmle.label | out : TransformedSplitMap [] : String | +| Test.java:6986:13:6986:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6986:20:6986:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6986:28:6986:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6987:10:6987:29 | new PatriciaTrie<>(...) : PatriciaTrie [] : String | semmle.label | new PatriciaTrie<>(...) : PatriciaTrie [] : String | +| Test.java:6987:27:6987:28 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6988:9:6988:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6988:19:6988:21 | out : PatriciaTrie [] : String | semmle.label | out : PatriciaTrie [] : String | +| Test.java:6993:13:6993:42 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | +| Test.java:6993:26:6993:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6993:34:6993:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6994:10:6994:29 | new PatriciaTrie<>(...) : PatriciaTrie [] : String | semmle.label | new PatriciaTrie<>(...) : PatriciaTrie [] : String | +| Test.java:6994:27:6994:28 | in : Map [] : String | semmle.label | in : Map [] : String | +| Test.java:6995:9:6995:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6995:21:6995:23 | out : PatriciaTrie [] : String | semmle.label | out : PatriciaTrie [] : String | +| Test.java:6999:30:6999:72 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | semmle.label | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:6999:56:6999:71 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6999:64:6999:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7001:10:7001:11 | in : PatriciaTrie [] : String | semmle.label | in : PatriciaTrie [] : String | +| Test.java:7001:10:7001:24 | select(...) : Entry [] : String | semmle.label | select(...) : Entry [] : String | +| Test.java:7002:9:7002:31 | getMapKeyFromEntry(...) | semmle.label | getMapKeyFromEntry(...) | +| Test.java:7002:28:7002:30 | out : Entry [] : String | semmle.label | out : Entry [] : String | +| Test.java:7006:30:7006:74 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | semmle.label | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:7006:58:7006:73 | (...)... : String | semmle.label | (...)... : String | +| Test.java:7006:66:7006:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7008:10:7008:11 | in : PatriciaTrie [] : String | semmle.label | in : PatriciaTrie [] : String | +| Test.java:7008:10:7008:24 | select(...) : Entry [] : String | semmle.label | select(...) : Entry [] : String | +| Test.java:7009:9:7009:33 | getMapValueFromEntry(...) | semmle.label | getMapValueFromEntry(...) | +| Test.java:7009:30:7009:32 | out : Entry [] : String | semmle.label | out : Entry [] : String | +| Test.java:7013:30:7013:72 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | semmle.label | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:7013:56:7013:71 | (...)... : String | semmle.label | (...)... : String | +| Test.java:7013:64:7013:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7015:10:7015:11 | in : PatriciaTrie [] : String | semmle.label | in : PatriciaTrie [] : String | +| Test.java:7015:10:7015:27 | selectKey(...) : String | semmle.label | selectKey(...) : String | +| Test.java:7016:9:7016:11 | out | semmle.label | out | +| Test.java:7020:30:7020:74 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | semmle.label | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:7020:58:7020:73 | (...)... : String | semmle.label | (...)... : String | +| Test.java:7020:66:7020:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7022:10:7022:11 | in : PatriciaTrie [] : String | semmle.label | in : PatriciaTrie [] : String | +| Test.java:7022:10:7022:29 | selectValue(...) : String | semmle.label | selectValue(...) : String | +| Test.java:7023:9:7023:11 | out | semmle.label | out | +| Test.java:7028:14:7028:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | semmle.label | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:7028:40:7028:55 | (...)... : String | semmle.label | (...)... : String | +| Test.java:7028:48:7028:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7029:10:7029:46 | unmodifiableTrie(...) : Trie [] : String | semmle.label | unmodifiableTrie(...) : Trie [] : String | +| Test.java:7029:44:7029:45 | in : PatriciaTrie [] : String | semmle.label | in : PatriciaTrie [] : String | +| Test.java:7030:9:7030:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:7030:19:7030:21 | out : Trie [] : String | semmle.label | out : Trie [] : String | +| Test.java:7035:14:7035:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | semmle.label | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:7035:42:7035:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:7035:50:7035:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7036:10:7036:46 | unmodifiableTrie(...) : Trie [] : String | semmle.label | unmodifiableTrie(...) : Trie [] : String | +| Test.java:7036:44:7036:45 | in : PatriciaTrie [] : String | semmle.label | in : PatriciaTrie [] : String | +| Test.java:7037:9:7037:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7037:21:7037:23 | out : Trie [] : String | semmle.label | out : Trie [] : String | +| Test.java:7043:3:7043:20 | parameter this [Return] : MyAbstractKeyValue [] : Object | semmle.label | parameter this [Return] : MyAbstractKeyValue [] : Object | +| Test.java:7043:3:7043:20 | parameter this [Return] : MyAbstractKeyValue [] : String | semmle.label | parameter this [Return] : MyAbstractKeyValue [] : String | +| Test.java:7043:3:7043:20 | parameter this [Return] : MyAbstractKeyValue [] : Object | semmle.label | parameter this [Return] : MyAbstractKeyValue [] : Object | +| Test.java:7043:3:7043:20 | parameter this [Return] : MyAbstractKeyValue [] : String | semmle.label | parameter this [Return] : MyAbstractKeyValue [] : String | +| Test.java:7043:22:7043:26 | key : Object | semmle.label | key : Object | +| Test.java:7043:22:7043:26 | key : String | semmle.label | key : String | +| Test.java:7043:29:7043:35 | value : Object | semmle.label | value : Object | +| Test.java:7043:29:7043:35 | value : String | semmle.label | value : String | +| Test.java:7044:4:7044:21 | this [post update] : MyAbstractKeyValue [] : Object | semmle.label | this [post update] : MyAbstractKeyValue [] : Object | +| Test.java:7044:4:7044:21 | this [post update] : MyAbstractKeyValue [] : String | semmle.label | this [post update] : MyAbstractKeyValue [] : String | +| Test.java:7044:4:7044:21 | this [post update] : MyAbstractKeyValue [] : Object | semmle.label | this [post update] : MyAbstractKeyValue [] : Object | +| Test.java:7044:4:7044:21 | this [post update] : MyAbstractKeyValue [] : String | semmle.label | this [post update] : MyAbstractKeyValue [] : String | +| Test.java:7044:10:7044:12 | key : Object | semmle.label | key : Object | +| Test.java:7044:10:7044:12 | key : String | semmle.label | key : String | +| Test.java:7044:15:7044:19 | value : Object | semmle.label | value : Object | +| Test.java:7044:15:7044:19 | value : String | semmle.label | value : String | +| Test.java:7047:5:7047:12 | parameter this : MyAbstractKeyValue [] : String | semmle.label | parameter this : MyAbstractKeyValue [] : String | +| Test.java:7047:5:7047:12 | parameter this [Return] : MyAbstractKeyValue [] : Object | semmle.label | parameter this [Return] : MyAbstractKeyValue [] : Object | +| Test.java:7047:14:7047:24 | key : Object | semmle.label | key : Object | +| Test.java:7048:11:7048:15 | super : MyAbstractKeyValue [] : String | semmle.label | super : MyAbstractKeyValue [] : String | +| Test.java:7048:11:7048:15 | super [post update] : MyAbstractKeyValue [] : Object | semmle.label | super [post update] : MyAbstractKeyValue [] : Object | +| Test.java:7048:11:7048:27 | setKey(...) : String | semmle.label | setKey(...) : String | +| Test.java:7048:24:7048:26 | key : Object | semmle.label | key : Object | +| Test.java:7051:5:7051:14 | parameter this : MyAbstractKeyValue [] : String | semmle.label | parameter this : MyAbstractKeyValue [] : String | +| Test.java:7051:5:7051:14 | parameter this [Return] : MyAbstractKeyValue [] : Object | semmle.label | parameter this [Return] : MyAbstractKeyValue [] : Object | +| Test.java:7051:16:7051:28 | value : Object | semmle.label | value : Object | +| Test.java:7052:11:7052:15 | super : MyAbstractKeyValue [] : String | semmle.label | super : MyAbstractKeyValue [] : String | +| Test.java:7052:11:7052:15 | super [post update] : MyAbstractKeyValue [] : Object | semmle.label | super [post update] : MyAbstractKeyValue [] : Object | +| Test.java:7052:11:7052:31 | setValue(...) : String | semmle.label | setValue(...) : String | +| Test.java:7052:26:7052:30 | value : Object | semmle.label | value : Object | +| Test.java:7057:3:7057:20 | parameter this [Return] : MyAbstractMapEntry [] : Object | semmle.label | parameter this [Return] : MyAbstractMapEntry [] : Object | +| Test.java:7057:3:7057:20 | parameter this [Return] : MyAbstractMapEntry [] : String | semmle.label | parameter this [Return] : MyAbstractMapEntry [] : String | +| Test.java:7057:3:7057:20 | parameter this [Return] : MyAbstractMapEntry [] : Object | semmle.label | parameter this [Return] : MyAbstractMapEntry [] : Object | +| Test.java:7057:3:7057:20 | parameter this [Return] : MyAbstractMapEntry [] : String | semmle.label | parameter this [Return] : MyAbstractMapEntry [] : String | +| Test.java:7057:22:7057:32 | key : Object | semmle.label | key : Object | +| Test.java:7057:22:7057:32 | key : String | semmle.label | key : String | +| Test.java:7057:35:7057:47 | value : Object | semmle.label | value : Object | +| Test.java:7057:35:7057:47 | value : String | semmle.label | value : String | +| Test.java:7058:4:7058:21 | this [post update] : MyAbstractMapEntry [] : Object | semmle.label | this [post update] : MyAbstractMapEntry [] : Object | +| Test.java:7058:4:7058:21 | this [post update] : MyAbstractMapEntry [] : String | semmle.label | this [post update] : MyAbstractMapEntry [] : String | +| Test.java:7058:4:7058:21 | this [post update] : MyAbstractMapEntry [] : Object | semmle.label | this [post update] : MyAbstractMapEntry [] : Object | +| Test.java:7058:4:7058:21 | this [post update] : MyAbstractMapEntry [] : String | semmle.label | this [post update] : MyAbstractMapEntry [] : String | +| Test.java:7058:10:7058:12 | key : Object | semmle.label | key : Object | +| Test.java:7058:10:7058:12 | key : String | semmle.label | key : String | +| Test.java:7058:15:7058:19 | value : Object | semmle.label | value : Object | +| Test.java:7058:15:7058:19 | value : String | semmle.label | value : String | +| Test.java:7067:3:7067:29 | parameter this [Return] : MyAbstractMapEntryDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractMapEntryDecorator [] : String | +| Test.java:7067:3:7067:29 | parameter this [Return] : MyAbstractMapEntryDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractMapEntryDecorator [] : String | +| Test.java:7067:31:7067:57 | entry : MyAbstractMapEntry [] : String | semmle.label | entry : MyAbstractMapEntry [] : String | +| Test.java:7067:31:7067:57 | entry : MyAbstractMapEntry [] : String | semmle.label | entry : MyAbstractMapEntry [] : String | +| Test.java:7068:4:7068:16 | this [post update] : MyAbstractMapEntryDecorator [] : String | semmle.label | this [post update] : MyAbstractMapEntryDecorator [] : String | +| Test.java:7068:4:7068:16 | this [post update] : MyAbstractMapEntryDecorator [] : String | semmle.label | this [post update] : MyAbstractMapEntryDecorator [] : String | +| Test.java:7068:10:7068:14 | entry : MyAbstractMapEntry [] : String | semmle.label | entry : MyAbstractMapEntry [] : String | +| Test.java:7068:10:7068:14 | entry : MyAbstractMapEntry [] : String | semmle.label | entry : MyAbstractMapEntry [] : String | +| Test.java:7071:19:7071:31 | parameter this : MyAbstractMapEntryDecorator [] : String | semmle.label | parameter this : MyAbstractMapEntryDecorator [] : String | +| Test.java:7071:19:7071:31 | parameter this : MyAbstractMapEntryDecorator [] : String | semmle.label | parameter this : MyAbstractMapEntryDecorator [] : String | +| Test.java:7072:11:7072:15 | super : MyAbstractMapEntryDecorator [] : String | semmle.label | super : MyAbstractMapEntryDecorator [] : String | +| Test.java:7072:11:7072:15 | super : MyAbstractMapEntryDecorator [] : String | semmle.label | super : MyAbstractMapEntryDecorator [] : String | +| Test.java:7072:11:7072:29 | getMapEntry(...) : Entry [] : String | semmle.label | getMapEntry(...) : Entry [] : String | +| Test.java:7072:11:7072:29 | getMapEntry(...) : Entry [] : String | semmle.label | getMapEntry(...) : Entry [] : String | +| Test.java:7082:15:7082:30 | parameter this : MySetView [] : String | semmle.label | parameter this : MySetView [] : String | +| Test.java:7082:43:7082:58 | createIterator(...) : Iterator [] : String | semmle.label | createIterator(...) : Iterator [] : String | +| Test.java:7082:43:7082:58 | this <.method> : MySetView [] : String | semmle.label | this <.method> : MySetView [] : String | +| Test.java:7086:10:7086:41 | parameter this [Return] : MyAbstractSortedBidiMapDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractSortedBidiMapDecorator [] : String | +| Test.java:7086:10:7086:41 | parameter this [Return] : MyAbstractSortedBidiMapDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractSortedBidiMapDecorator [] : String | +| Test.java:7086:43:7086:71 | map : DualTreeBidiMap [] : String | semmle.label | map : DualTreeBidiMap [] : String | +| Test.java:7086:43:7086:71 | map : DualTreeBidiMap [] : String | semmle.label | map : DualTreeBidiMap [] : String | +| Test.java:7087:4:7087:14 | this [post update] : MyAbstractSortedBidiMapDecorator [] : String | semmle.label | this [post update] : MyAbstractSortedBidiMapDecorator [] : String | +| Test.java:7087:4:7087:14 | this [post update] : MyAbstractSortedBidiMapDecorator [] : String | semmle.label | this [post update] : MyAbstractSortedBidiMapDecorator [] : String | +| Test.java:7087:10:7087:12 | map : DualTreeBidiMap [] : String | semmle.label | map : DualTreeBidiMap [] : String | +| Test.java:7087:10:7087:12 | map : DualTreeBidiMap [] : String | semmle.label | map : DualTreeBidiMap [] : String | +| Test.java:7092:10:7092:38 | parameter this [Return] : MyAbstractOrderedMapDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractOrderedMapDecorator [] : String | +| Test.java:7092:10:7092:38 | parameter this [Return] : MyAbstractOrderedMapDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractOrderedMapDecorator [] : String | +| Test.java:7092:40:7092:65 | map : ListOrderedMap [] : String | semmle.label | map : ListOrderedMap [] : String | +| Test.java:7092:40:7092:65 | map : ListOrderedMap [] : String | semmle.label | map : ListOrderedMap [] : String | +| Test.java:7093:4:7093:14 | this [post update] : MyAbstractOrderedMapDecorator [] : String | semmle.label | this [post update] : MyAbstractOrderedMapDecorator [] : String | +| Test.java:7093:4:7093:14 | this [post update] : MyAbstractOrderedMapDecorator [] : String | semmle.label | this [post update] : MyAbstractOrderedMapDecorator [] : String | +| Test.java:7093:10:7093:12 | map : ListOrderedMap [] : String | semmle.label | map : ListOrderedMap [] : String | +| Test.java:7093:10:7093:12 | map : ListOrderedMap [] : String | semmle.label | map : ListOrderedMap [] : String | +| Test.java:7098:10:7098:37 | parameter this [Return] : MyAbstractSortedMapDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractSortedMapDecorator [] : String | +| Test.java:7098:10:7098:37 | parameter this [Return] : MyAbstractSortedMapDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractSortedMapDecorator [] : String | +| Test.java:7098:39:7098:63 | map : TreeMap [] : String | semmle.label | map : TreeMap [] : String | +| Test.java:7098:39:7098:63 | map : TreeMap [] : String | semmle.label | map : TreeMap [] : String | +| Test.java:7099:4:7099:14 | this [post update] : MyAbstractSortedMapDecorator [] : String | semmle.label | this [post update] : MyAbstractSortedMapDecorator [] : String | +| Test.java:7099:4:7099:14 | this [post update] : MyAbstractSortedMapDecorator [] : String | semmle.label | this [post update] : MyAbstractSortedMapDecorator [] : String | +| Test.java:7099:10:7099:12 | map : TreeMap [] : String | semmle.label | map : TreeMap [] : String | +| Test.java:7099:10:7099:12 | map : TreeMap [] : String | semmle.label | map : TreeMap [] : String | +| Test.java:7104:10:7104:31 | parameter this [Return] : MyAbstractBagDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractBagDecorator [] : String | +| Test.java:7104:33:7104:48 | bag : TreeBag [] : String | semmle.label | bag : TreeBag [] : String | +| Test.java:7105:4:7105:14 | this [post update] : MyAbstractBagDecorator [] : String | semmle.label | this [post update] : MyAbstractBagDecorator [] : String | +| Test.java:7105:10:7105:12 | bag : TreeBag [] : String | semmle.label | bag : TreeBag [] : String | +| Test.java:7110:10:7110:25 | parameter this [Return] : MyAbstractMapBag [] : String | semmle.label | parameter this [Return] : MyAbstractMapBag [] : String | +| Test.java:7110:27:7110:58 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:7111:4:7111:14 | this [post update] : MyAbstractMapBag [] : String | semmle.label | this [post update] : MyAbstractMapBag [] : String | +| Test.java:7111:10:7111:12 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:7113:33:7113:40 | parameter this : MyAbstractMapBag [] : String | semmle.label | parameter this : MyAbstractMapBag [] : String | +| Test.java:7114:11:7114:15 | super : MyAbstractMapBag [] : String | semmle.label | super : MyAbstractMapBag [] : String | +| Test.java:7114:11:7114:24 | getMap(...) : Map [] : String | semmle.label | getMap(...) : Map [] : String | +| Test.java:7119:10:7119:37 | parameter this [Return] : MyAbstractSortedBagDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractSortedBagDecorator [] : String | +| Test.java:7119:39:7119:60 | bag : TreeBag [] : String | semmle.label | bag : TreeBag [] : String | +| Test.java:7120:4:7120:14 | this [post update] : MyAbstractSortedBagDecorator [] : String | semmle.label | this [post update] : MyAbstractSortedBagDecorator [] : String | +| Test.java:7120:10:7120:12 | bag : TreeBag [] : String | semmle.label | bag : TreeBag [] : String | +| Test.java:7125:10:7125:35 | parameter this [Return] : MyAbstractBidiMapDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractBidiMapDecorator [] : String | +| Test.java:7125:10:7125:35 | parameter this [Return] : MyAbstractBidiMapDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractBidiMapDecorator [] : String | +| Test.java:7125:37:7125:59 | map : DualTreeBidiMap [] : String | semmle.label | map : DualTreeBidiMap [] : String | +| Test.java:7125:37:7125:59 | map : DualTreeBidiMap [] : String | semmle.label | map : DualTreeBidiMap [] : String | +| Test.java:7126:4:7126:14 | this [post update] : MyAbstractBidiMapDecorator [] : String | semmle.label | this [post update] : MyAbstractBidiMapDecorator [] : String | +| Test.java:7126:4:7126:14 | this [post update] : MyAbstractBidiMapDecorator [] : String | semmle.label | this [post update] : MyAbstractBidiMapDecorator [] : String | +| Test.java:7126:10:7126:12 | map : DualTreeBidiMap [] : String | semmle.label | map : DualTreeBidiMap [] : String | +| Test.java:7126:10:7126:12 | map : DualTreeBidiMap [] : String | semmle.label | map : DualTreeBidiMap [] : String | +| Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | semmle.label | parameter this [Return] : MyAbstractDualBidiMap [] : String | +| Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | semmle.label | parameter this [Return] : MyAbstractDualBidiMap [] : String | +| Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | semmle.label | parameter this [Return] : MyAbstractDualBidiMap [] : String | +| Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | semmle.label | parameter this [Return] : MyAbstractDualBidiMap [] : String | +| Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | semmle.label | parameter this [Return] : MyAbstractDualBidiMap [] : String | +| Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | semmle.label | parameter this [Return] : MyAbstractDualBidiMap [] : String | +| Test.java:7134:32:7134:56 | normalMap : DualTreeBidiMap [] : String | semmle.label | normalMap : DualTreeBidiMap [] : String | +| Test.java:7134:32:7134:56 | normalMap : DualTreeBidiMap [] : String | semmle.label | normalMap : DualTreeBidiMap [] : String | +| Test.java:7134:59:7134:84 | reverseMap : DualTreeBidiMap [] : String | semmle.label | reverseMap : DualTreeBidiMap [] : String | +| Test.java:7134:59:7134:84 | reverseMap : DualTreeBidiMap [] : String | semmle.label | reverseMap : DualTreeBidiMap [] : String | +| Test.java:7134:87:7134:120 | inverseBidiMap : DualTreeBidiMap [] : String | semmle.label | inverseBidiMap : DualTreeBidiMap [] : String | +| Test.java:7134:87:7134:120 | inverseBidiMap : DualTreeBidiMap [] : String | semmle.label | inverseBidiMap : DualTreeBidiMap [] : String | +| Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | semmle.label | this [post update] : MyAbstractDualBidiMap [] : String | +| Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | semmle.label | this [post update] : MyAbstractDualBidiMap [] : String | +| Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | semmle.label | this [post update] : MyAbstractDualBidiMap [] : String | +| Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | semmle.label | this [post update] : MyAbstractDualBidiMap [] : String | +| Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | semmle.label | this [post update] : MyAbstractDualBidiMap [] : String | +| Test.java:7135:4:7135:48 | this [post update] : MyAbstractDualBidiMap [] : String | semmle.label | this [post update] : MyAbstractDualBidiMap [] : String | +| Test.java:7135:10:7135:18 | normalMap : DualTreeBidiMap [] : String | semmle.label | normalMap : DualTreeBidiMap [] : String | +| Test.java:7135:10:7135:18 | normalMap : DualTreeBidiMap [] : String | semmle.label | normalMap : DualTreeBidiMap [] : String | +| Test.java:7135:21:7135:30 | reverseMap : DualTreeBidiMap [] : String | semmle.label | reverseMap : DualTreeBidiMap [] : String | +| Test.java:7135:21:7135:30 | reverseMap : DualTreeBidiMap [] : String | semmle.label | reverseMap : DualTreeBidiMap [] : String | +| Test.java:7135:33:7135:46 | inverseBidiMap : DualTreeBidiMap [] : String | semmle.label | inverseBidiMap : DualTreeBidiMap [] : String | +| Test.java:7135:33:7135:46 | inverseBidiMap : DualTreeBidiMap [] : String | semmle.label | inverseBidiMap : DualTreeBidiMap [] : String | +| Test.java:7143:10:7143:42 | parameter this [Return] : MyAbstractOrderedBidiMapDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractOrderedBidiMapDecorator [] : String | +| Test.java:7143:10:7143:42 | parameter this [Return] : MyAbstractOrderedBidiMapDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractOrderedBidiMapDecorator [] : String | +| Test.java:7143:44:7143:73 | map : DualTreeBidiMap [] : String | semmle.label | map : DualTreeBidiMap [] : String | +| Test.java:7143:44:7143:73 | map : DualTreeBidiMap [] : String | semmle.label | map : DualTreeBidiMap [] : String | +| Test.java:7144:4:7144:14 | this [post update] : MyAbstractOrderedBidiMapDecorator [] : String | semmle.label | this [post update] : MyAbstractOrderedBidiMapDecorator [] : String | +| Test.java:7144:4:7144:14 | this [post update] : MyAbstractOrderedBidiMapDecorator [] : String | semmle.label | this [post update] : MyAbstractOrderedBidiMapDecorator [] : String | +| Test.java:7144:10:7144:12 | map : DualTreeBidiMap [] : String | semmle.label | map : DualTreeBidiMap [] : String | +| Test.java:7144:10:7144:12 | map : DualTreeBidiMap [] : String | semmle.label | map : DualTreeBidiMap [] : String | +| Test.java:7149:10:7149:38 | parameter this [Return] : MyAbstractCollectionDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractCollectionDecorator [] : String | +| Test.java:7149:40:7149:63 | coll : TreeBag [] : String | semmle.label | coll : TreeBag [] : String | +| Test.java:7150:4:7150:15 | this [post update] : MyAbstractCollectionDecorator [] : String | semmle.label | this [post update] : MyAbstractCollectionDecorator [] : String | +| Test.java:7150:10:7150:13 | coll : TreeBag [] : String | semmle.label | coll : TreeBag [] : String | +| Test.java:7152:24:7152:34 | parameter this : MyAbstractCollectionDecorator [] : String | semmle.label | parameter this : MyAbstractCollectionDecorator [] : String | +| Test.java:7153:11:7153:15 | super : MyAbstractCollectionDecorator [] : String | semmle.label | super : MyAbstractCollectionDecorator [] : String | +| Test.java:7153:11:7153:27 | decorated(...) : Collection [] : String | semmle.label | decorated(...) : Collection [] : String | +| Test.java:7155:15:7155:29 | parameter this [Return] : MyAbstractCollectionDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractCollectionDecorator [] : String | +| Test.java:7155:31:7155:54 | coll : TreeBag [] : String | semmle.label | coll : TreeBag [] : String | +| Test.java:7156:4:7156:8 | super [post update] : MyAbstractCollectionDecorator [] : String | semmle.label | super [post update] : MyAbstractCollectionDecorator [] : String | +| Test.java:7156:24:7156:27 | coll : TreeBag [] : String | semmle.label | coll : TreeBag [] : String | +| Test.java:7161:10:7161:36 | parameter this [Return] : MyAbstractIteratorDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractIteratorDecorator [] : String | +| Test.java:7161:38:7161:63 | iterator : ListIterator [] : String | semmle.label | iterator : ListIterator [] : String | +| Test.java:7162:4:7162:19 | this [post update] : MyAbstractIteratorDecorator [] : String | semmle.label | this [post update] : MyAbstractIteratorDecorator [] : String | +| Test.java:7162:10:7162:17 | iterator : ListIterator [] : String | semmle.label | iterator : ListIterator [] : String | +| Test.java:7167:10:7167:40 | parameter this [Return] : MyAbstractListIteratorDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractListIteratorDecorator [] : String | +| Test.java:7167:42:7167:71 | iterator : ListIterator [] : String | semmle.label | iterator : ListIterator [] : String | +| Test.java:7168:4:7168:19 | this [post update] : MyAbstractListIteratorDecorator [] : String | semmle.label | this [post update] : MyAbstractListIteratorDecorator [] : String | +| Test.java:7168:10:7168:17 | iterator : ListIterator [] : String | semmle.label | iterator : ListIterator [] : String | +| Test.java:7170:26:7170:42 | parameter this : MyAbstractListIteratorDecorator [] : String | semmle.label | parameter this : MyAbstractListIteratorDecorator [] : String | +| Test.java:7171:11:7171:15 | super : MyAbstractListIteratorDecorator [] : String | semmle.label | super : MyAbstractListIteratorDecorator [] : String | +| Test.java:7171:11:7171:33 | getListIterator(...) : ListIterator [] : String | semmle.label | getListIterator(...) : ListIterator [] : String | +| Test.java:7176:10:7176:39 | parameter this [Return] : MyAbstractMapIteratorDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractMapIteratorDecorator [] : String | +| Test.java:7176:10:7176:39 | parameter this [Return] : MyAbstractMapIteratorDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractMapIteratorDecorator [] : String | +| Test.java:7176:41:7176:72 | iterator : OrderedMapIterator [] : String | semmle.label | iterator : OrderedMapIterator [] : String | +| Test.java:7176:41:7176:72 | iterator : OrderedMapIterator [] : String | semmle.label | iterator : OrderedMapIterator [] : String | +| Test.java:7177:4:7177:19 | this [post update] : MyAbstractMapIteratorDecorator [] : String | semmle.label | this [post update] : MyAbstractMapIteratorDecorator [] : String | +| Test.java:7177:4:7177:19 | this [post update] : MyAbstractMapIteratorDecorator [] : String | semmle.label | this [post update] : MyAbstractMapIteratorDecorator [] : String | +| Test.java:7177:10:7177:17 | iterator : OrderedMapIterator [] : String | semmle.label | iterator : OrderedMapIterator [] : String | +| Test.java:7177:10:7177:17 | iterator : OrderedMapIterator [] : String | semmle.label | iterator : OrderedMapIterator [] : String | +| Test.java:7179:28:7179:43 | parameter this : MyAbstractMapIteratorDecorator [] : String | semmle.label | parameter this : MyAbstractMapIteratorDecorator [] : String | +| Test.java:7179:28:7179:43 | parameter this : MyAbstractMapIteratorDecorator [] : String | semmle.label | parameter this : MyAbstractMapIteratorDecorator [] : String | +| Test.java:7180:11:7180:15 | super : MyAbstractMapIteratorDecorator [] : String | semmle.label | super : MyAbstractMapIteratorDecorator [] : String | +| Test.java:7180:11:7180:15 | super : MyAbstractMapIteratorDecorator [] : String | semmle.label | super : MyAbstractMapIteratorDecorator [] : String | +| Test.java:7180:11:7180:32 | getMapIterator(...) : MapIterator [] : String | semmle.label | getMapIterator(...) : MapIterator [] : String | +| Test.java:7180:11:7180:32 | getMapIterator(...) : MapIterator [] : String | semmle.label | getMapIterator(...) : MapIterator [] : String | +| Test.java:7185:10:7185:46 | parameter this [Return] : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:7185:10:7185:46 | parameter this [Return] : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:7185:48:7185:86 | iterator : OrderedMapIterator [] : String | semmle.label | iterator : OrderedMapIterator [] : String | +| Test.java:7185:48:7185:86 | iterator : OrderedMapIterator [] : String | semmle.label | iterator : OrderedMapIterator [] : String | +| Test.java:7186:4:7186:19 | this [post update] : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | this [post update] : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:7186:4:7186:19 | this [post update] : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | this [post update] : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:7186:10:7186:17 | iterator : OrderedMapIterator [] : String | semmle.label | iterator : OrderedMapIterator [] : String | +| Test.java:7186:10:7186:17 | iterator : OrderedMapIterator [] : String | semmle.label | iterator : OrderedMapIterator [] : String | +| Test.java:7188:35:7188:57 | parameter this : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | parameter this : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:7188:35:7188:57 | parameter this : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | parameter this : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:7189:11:7189:15 | super : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | super : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:7189:11:7189:15 | super : MyAbstractOrderedMapIteratorDecorator [] : String | semmle.label | super : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:7189:11:7189:39 | getOrderedMapIterator(...) : OrderedMapIterator [] : String | semmle.label | getOrderedMapIterator(...) : OrderedMapIterator [] : String | +| Test.java:7189:11:7189:39 | getOrderedMapIterator(...) : OrderedMapIterator [] : String | semmle.label | getOrderedMapIterator(...) : OrderedMapIterator [] : String | +| Test.java:7194:10:7194:43 | parameter this [Return] : MyAbstractUntypedIteratorDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractUntypedIteratorDecorator [] : String | +| Test.java:7194:45:7194:70 | iterator : ListIterator [] : String | semmle.label | iterator : ListIterator [] : String | +| Test.java:7195:4:7195:19 | this [post update] : MyAbstractUntypedIteratorDecorator [] : String | semmle.label | this [post update] : MyAbstractUntypedIteratorDecorator [] : String | +| Test.java:7195:10:7195:17 | iterator : ListIterator [] : String | semmle.label | iterator : ListIterator [] : String | +| Test.java:7197:22:7197:34 | parameter this : MyAbstractUntypedIteratorDecorator [] : String | semmle.label | parameter this : MyAbstractUntypedIteratorDecorator [] : String | +| Test.java:7198:11:7198:15 | super : MyAbstractUntypedIteratorDecorator [] : String | semmle.label | super : MyAbstractUntypedIteratorDecorator [] : String | +| Test.java:7198:11:7198:29 | getIterator(...) : Iterator [] : String | semmle.label | getIterator(...) : Iterator [] : String | +| Test.java:7204:10:7204:29 | parameter this [Return] : MyAbstractLinkedList [] : String | semmle.label | parameter this [Return] : MyAbstractLinkedList [] : String | +| Test.java:7204:31:7204:64 | coll : TreeBag [] : String | semmle.label | coll : TreeBag [] : String | +| Test.java:7205:4:7205:15 | this [post update] : MyAbstractLinkedList [] : String | semmle.label | this [post update] : MyAbstractLinkedList [] : String | +| Test.java:7205:10:7205:13 | coll : TreeBag [] : String | semmle.label | coll : TreeBag [] : String | +| Test.java:7210:10:7210:32 | parameter this [Return] : MyAbstractListDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractListDecorator [] : String | +| Test.java:7210:34:7210:51 | list : List [] : String | semmle.label | list : List [] : String | +| Test.java:7211:4:7211:15 | this [post update] : MyAbstractListDecorator [] : String | semmle.label | this [post update] : MyAbstractListDecorator [] : String | +| Test.java:7211:10:7211:13 | list : List [] : String | semmle.label | list : List [] : String | +| Test.java:7216:10:7216:44 | parameter this [Return] : MyAbstractSerializableListDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractSerializableListDecorator [] : String | +| Test.java:7216:46:7216:63 | list : List [] : String | semmle.label | list : List [] : String | +| Test.java:7217:4:7217:15 | this [post update] : MyAbstractSerializableListDecorator [] : String | semmle.label | this [post update] : MyAbstractSerializableListDecorator [] : String | +| Test.java:7217:10:7217:13 | list : List [] : String | semmle.label | list : List [] : String | +| Test.java:7222:10:7222:28 | parameter this [Return] : MyAbstractHashedMap [] : String | semmle.label | parameter this [Return] : MyAbstractHashedMap [] : String | +| Test.java:7222:10:7222:28 | parameter this [Return] : MyAbstractHashedMap [] : String | semmle.label | parameter this [Return] : MyAbstractHashedMap [] : String | +| Test.java:7222:30:7222:68 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:7222:30:7222:68 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:7223:4:7223:14 | this [post update] : MyAbstractHashedMap [] : String | semmle.label | this [post update] : MyAbstractHashedMap [] : String | +| Test.java:7223:4:7223:14 | this [post update] : MyAbstractHashedMap [] : String | semmle.label | this [post update] : MyAbstractHashedMap [] : String | +| Test.java:7223:10:7223:12 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:7223:10:7223:12 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:7228:10:7228:28 | parameter this [Return] : MyAbstractLinkedMap [] : String | semmle.label | parameter this [Return] : MyAbstractLinkedMap [] : String | +| Test.java:7228:10:7228:28 | parameter this [Return] : MyAbstractLinkedMap [] : String | semmle.label | parameter this [Return] : MyAbstractLinkedMap [] : String | +| Test.java:7228:30:7228:68 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:7228:30:7228:68 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:7229:4:7229:14 | this [post update] : MyAbstractLinkedMap [] : String | semmle.label | this [post update] : MyAbstractLinkedMap [] : String | +| Test.java:7229:4:7229:14 | this [post update] : MyAbstractLinkedMap [] : String | semmle.label | this [post update] : MyAbstractLinkedMap [] : String | +| Test.java:7229:10:7229:12 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:7229:10:7229:12 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:7234:10:7234:31 | parameter this [Return] : MyAbstractMapDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractMapDecorator [] : String | +| Test.java:7234:10:7234:31 | parameter this [Return] : MyAbstractMapDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractMapDecorator [] : String | +| Test.java:7234:33:7234:51 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:7234:33:7234:51 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:7235:4:7235:14 | this [post update] : MyAbstractMapDecorator [] : String | semmle.label | this [post update] : MyAbstractMapDecorator [] : String | +| Test.java:7235:4:7235:14 | this [post update] : MyAbstractMapDecorator [] : String | semmle.label | this [post update] : MyAbstractMapDecorator [] : String | +| Test.java:7235:10:7235:12 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:7235:10:7235:12 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:7237:20:7237:30 | parameter this : MyAbstractMapDecorator [] : String | semmle.label | parameter this : MyAbstractMapDecorator [] : String | +| Test.java:7237:20:7237:30 | parameter this : MyAbstractMapDecorator [] : String | semmle.label | parameter this : MyAbstractMapDecorator [] : String | +| Test.java:7238:11:7238:15 | super : MyAbstractMapDecorator [] : String | semmle.label | super : MyAbstractMapDecorator [] : String | +| Test.java:7238:11:7238:15 | super : MyAbstractMapDecorator [] : String | semmle.label | super : MyAbstractMapDecorator [] : String | +| Test.java:7238:11:7238:27 | decorated(...) : Map [] : String | semmle.label | decorated(...) : Map [] : String | +| Test.java:7238:11:7238:27 | decorated(...) : Map [] : String | semmle.label | decorated(...) : Map [] : String | +| Test.java:7243:10:7243:40 | parameter this [Return] : MyAbstractNavigableSetDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractNavigableSetDecorator [] : String | +| Test.java:7243:42:7243:66 | set : TreeSet [] : String | semmle.label | set : TreeSet [] : String | +| Test.java:7244:4:7244:14 | this [post update] : MyAbstractNavigableSetDecorator [] : String | semmle.label | this [post update] : MyAbstractNavigableSetDecorator [] : String | +| Test.java:7244:10:7244:12 | set : TreeSet [] : String | semmle.label | set : TreeSet [] : String | +| Test.java:7249:10:7249:31 | parameter this [Return] : MyAbstractSetDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractSetDecorator [] : String | +| Test.java:7249:33:7249:48 | set : ListOrderedSet [] : String | semmle.label | set : ListOrderedSet [] : String | +| Test.java:7250:4:7250:14 | this [post update] : MyAbstractSetDecorator [] : String | semmle.label | this [post update] : MyAbstractSetDecorator [] : String | +| Test.java:7250:10:7250:12 | set : ListOrderedSet [] : String | semmle.label | set : ListOrderedSet [] : String | +| Test.java:7255:10:7255:37 | parameter this [Return] : MyAbstractSortedSetDecorator [] : String | semmle.label | parameter this [Return] : MyAbstractSortedSetDecorator [] : String | +| Test.java:7255:39:7255:54 | set : ListOrderedSet [] : String | semmle.label | set : ListOrderedSet [] : String | +| Test.java:7256:4:7256:14 | this [post update] : MyAbstractSortedSetDecorator [] : String | semmle.label | this [post update] : MyAbstractSortedSetDecorator [] : String | +| Test.java:7256:10:7256:12 | set : ListOrderedSet [] : String | semmle.label | set : ListOrderedSet [] : String | +subpaths +| Test.java:242:66:242:84 | (...)... : Put [] : Object | Test.java:228:18:228:29 | map : Put [] : Object | Test.java:228:41:228:70 | next(...) : Object | Test.java:242:56:242:85 | getMapKey(...) : Object | +| Test.java:242:66:242:84 | (...)... : Put [] : String | Test.java:228:18:228:29 | map : Put [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:242:56:242:85 | getMapKey(...) : String | +| Test.java:249:70:249:88 | (...)... : Put [] : Object | Test.java:232:20:232:31 | map : Put [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:249:58:249:89 | getMapValue(...) : Object | +| Test.java:249:70:249:88 | (...)... : Put [] : String | Test.java:232:20:232:31 | map : Put [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:249:58:249:89 | getMapValue(...) : String | +| Test.java:254:118:254:124 | element : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:254:89:254:125 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:256:115:256:121 | element : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:256:94:256:122 | newVectorWithElement(...) : Vector [] : String | +| Test.java:259:90:259:96 | element : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:259:69:259:97 | newVectorWithElement(...) : Vector [] : String | +| Test.java:262:106:262:112 | element : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:262:106:262:112 | element : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:262:106:262:112 | element : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:262:106:262:112 | element : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:280:102:280:104 | key : String | Test.java:7057:22:7057:32 | key : String | Test.java:7057:3:7057:20 | parameter this [Return] : MyAbstractMapEntry [] : String | Test.java:280:69:280:110 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | +| Test.java:281:121:281:142 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | Test.java:7067:31:7067:57 | entry : MyAbstractMapEntry [] : String | Test.java:7067:3:7067:29 | parameter this [Return] : MyAbstractMapEntryDecorator [] : String | Test.java:281:79:281:143 | new MyAbstractMapEntryDecorator(...) : MyAbstractMapEntryDecorator [] : String | +| Test.java:281:139:281:141 | key : String | Test.java:280:53:280:57 | key : String | Test.java:280:69:280:110 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | Test.java:281:121:281:142 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | +| Test.java:282:102:282:104 | key : String | Test.java:7043:22:7043:26 | key : String | Test.java:7043:3:7043:20 | parameter this [Return] : MyAbstractKeyValue [] : String | Test.java:282:69:282:110 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | +| Test.java:299:111:299:115 | value : String | Test.java:7043:29:7043:35 | value : String | Test.java:7043:3:7043:20 | parameter this [Return] : MyAbstractKeyValue [] : String | Test.java:299:73:299:116 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | +| Test.java:300:111:300:115 | value : String | Test.java:7057:35:7057:47 | value : String | Test.java:7057:3:7057:20 | parameter this [Return] : MyAbstractMapEntry [] : String | Test.java:300:73:300:116 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | +| Test.java:301:125:301:150 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | Test.java:7067:31:7067:57 | entry : MyAbstractMapEntry [] : String | Test.java:7067:3:7067:29 | parameter this [Return] : MyAbstractMapEntryDecorator [] : String | Test.java:301:83:301:151 | new MyAbstractMapEntryDecorator(...) : MyAbstractMapEntryDecorator [] : String | +| Test.java:301:145:301:149 | value : String | Test.java:300:55:300:61 | value : String | Test.java:300:73:300:116 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | Test.java:301:125:301:150 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | +| Test.java:305:116:305:120 | value : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:305:93:305:121 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:319:33:319:34 | in : Object | Test.java:7043:22:7043:26 | key : Object | Test.java:7043:3:7043:20 | parameter this [Return] : MyAbstractKeyValue [] : Object | Test.java:319:10:319:41 | new MyAbstractKeyValue<>(...) : MyAbstractKeyValue [] : Object | +| Test.java:320:19:320:21 | out : MyAbstractKeyValue [] : Object | Test.java:237:18:237:48 | container : MyAbstractKeyValue [] : Object | Test.java:237:60:237:77 | getKey(...) : Object | Test.java:320:9:320:22 | getMapKey(...) | +| Test.java:326:39:326:40 | in : Object | Test.java:7043:29:7043:35 | value : Object | Test.java:7043:3:7043:20 | parameter this [Return] : MyAbstractKeyValue [] : Object | Test.java:326:10:326:41 | new MyAbstractKeyValue<>(...) : MyAbstractKeyValue [] : Object | +| Test.java:327:21:327:23 | out : MyAbstractKeyValue [] : Object | Test.java:243:20:243:50 | container : MyAbstractKeyValue [] : Object | Test.java:243:62:243:81 | getValue(...) : Object | Test.java:327:9:327:24 | getMapValue(...) | +| Test.java:334:19:334:21 | out : DefaultKeyValue [] : Object | Test.java:237:18:237:48 | container : DefaultKeyValue [] : Object | Test.java:237:60:237:77 | getKey(...) : Object | Test.java:334:9:334:22 | getMapKey(...) | +| Test.java:340:17:340:18 | in : Object | Test.java:7047:14:7047:24 | key : Object | Test.java:7047:5:7047:12 | parameter this [Return] : MyAbstractKeyValue [] : Object | Test.java:340:4:340:6 | out [post update] : MyAbstractKeyValue [] : Object | +| Test.java:341:19:341:21 | out : MyAbstractKeyValue [] : Object | Test.java:237:18:237:48 | container : MyAbstractKeyValue [] : Object | Test.java:237:60:237:77 | getKey(...) : Object | Test.java:341:9:341:22 | getMapKey(...) | +| Test.java:346:42:346:57 | (...)... : String | Test.java:273:49:273:53 | key : String | Test.java:273:65:273:103 | new DefaultKeyValue(...) : DefaultKeyValue [] : String | Test.java:346:25:346:58 | newDKVWithMapKey(...) : DefaultKeyValue [] : String | +| Test.java:353:46:353:61 | (...)... : String | Test.java:282:53:282:57 | key : String | Test.java:282:69:282:110 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | Test.java:353:28:353:62 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | +| Test.java:354:10:354:11 | in : MyAbstractKeyValue [] : String | Test.java:7047:5:7047:12 | parameter this : MyAbstractKeyValue [] : String | Test.java:7048:11:7048:27 | setKey(...) : String | Test.java:354:10:354:26 | mySetKey(...) : String | +| Test.java:362:21:362:23 | out : UnmodifiableMapEntry [] : Object | Test.java:243:20:243:50 | container : UnmodifiableMapEntry [] : Object | Test.java:243:62:243:81 | getValue(...) : Object | Test.java:362:9:362:24 | getMapValue(...) | +| Test.java:369:21:369:23 | out : DefaultKeyValue [] : Object | Test.java:243:20:243:50 | container : DefaultKeyValue [] : Object | Test.java:243:62:243:81 | getValue(...) : Object | Test.java:369:9:369:24 | getMapValue(...) | +| Test.java:376:21:376:23 | out : AbstractMapEntry [] : Object | Test.java:243:20:243:50 | container : AbstractMapEntry [] : Object | Test.java:243:62:243:81 | getValue(...) : Object | Test.java:376:9:376:24 | getMapValue(...) | +| Test.java:382:19:382:20 | in : Object | Test.java:7051:16:7051:28 | value : Object | Test.java:7051:5:7051:14 | parameter this [Return] : MyAbstractKeyValue [] : Object | Test.java:382:4:382:6 | out [post update] : MyAbstractKeyValue [] : Object | +| Test.java:383:21:383:23 | out : MyAbstractKeyValue [] : Object | Test.java:243:20:243:50 | container : MyAbstractKeyValue [] : Object | Test.java:243:62:243:81 | getValue(...) : Object | Test.java:383:9:383:24 | getMapValue(...) | +| Test.java:388:49:388:64 | (...)... : String | Test.java:308:56:308:62 | value : String | Test.java:308:74:308:119 | new UnmodifiableMapEntry(...) : UnmodifiableMapEntry [] : String | Test.java:388:30:388:65 | newUMEWithMapValue(...) : UnmodifiableMapEntry [] : String | +| Test.java:395:44:395:59 | (...)... : String | Test.java:291:51:291:57 | value : String | Test.java:291:69:291:109 | new DefaultKeyValue(...) : DefaultKeyValue [] : String | Test.java:395:25:395:60 | newDKVWithMapValue(...) : DefaultKeyValue [] : String | +| Test.java:402:46:402:61 | (...)... : String | Test.java:300:55:300:61 | value : String | Test.java:300:73:300:116 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | Test.java:402:26:402:62 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | +| Test.java:409:46:409:61 | (...)... : String | Test.java:300:55:300:61 | value : String | Test.java:300:73:300:116 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | Test.java:409:26:409:62 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | +| Test.java:416:48:416:63 | (...)... : String | Test.java:299:55:299:61 | value : String | Test.java:299:73:299:116 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | Test.java:416:28:416:64 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:417:10:417:11 | in : MyAbstractKeyValue [] : String | Test.java:7051:5:7051:14 | parameter this : MyAbstractKeyValue [] : String | Test.java:7052:11:7052:31 | setValue(...) : String | Test.java:417:10:417:28 | mySetValue(...) : String | +| Test.java:423:48:423:63 | (...)... : String | Test.java:299:55:299:61 | value : String | Test.java:299:73:299:116 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | Test.java:423:28:423:64 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:424:10:424:11 | in : MyAbstractKeyValue [] : String | Test.java:7051:5:7051:14 | parameter this : MyAbstractKeyValue [] : String | Test.java:7052:11:7052:31 | setValue(...) : String | Test.java:424:10:424:36 | mySetValue(...) : String | +| Test.java:431:33:431:34 | in : Object | Test.java:7057:22:7057:32 | key : Object | Test.java:7057:3:7057:20 | parameter this [Return] : MyAbstractMapEntry [] : Object | Test.java:431:10:431:41 | new MyAbstractMapEntry<>(...) : MyAbstractMapEntry [] : Object | +| Test.java:432:19:432:21 | out : MyAbstractMapEntry [] : Object | Test.java:237:18:237:48 | container : MyAbstractMapEntry [] : Object | Test.java:237:60:237:77 | getKey(...) : Object | Test.java:432:9:432:22 | getMapKey(...) | +| Test.java:438:39:438:40 | in : Object | Test.java:7057:35:7057:47 | value : Object | Test.java:7057:3:7057:20 | parameter this [Return] : MyAbstractMapEntry [] : Object | Test.java:438:10:438:41 | new MyAbstractMapEntry<>(...) : MyAbstractMapEntry [] : Object | +| Test.java:439:21:439:23 | out : MyAbstractMapEntry [] : Object | Test.java:243:20:243:50 | container : MyAbstractMapEntry [] : Object | Test.java:243:62:243:81 | getValue(...) : Object | Test.java:439:9:439:24 | getMapValue(...) | +| Test.java:444:52:444:67 | (...)... : String | Test.java:280:53:280:57 | key : String | Test.java:280:69:280:110 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | Test.java:444:34:444:68 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | +| Test.java:445:42:445:43 | in : MyAbstractMapEntry [] : String | Test.java:7067:31:7067:57 | entry : MyAbstractMapEntry [] : String | Test.java:7067:3:7067:29 | parameter this [Return] : MyAbstractMapEntryDecorator [] : String | Test.java:445:10:445:44 | new MyAbstractMapEntryDecorator<>(...) : MyAbstractMapEntryDecorator [] : String | +| Test.java:446:19:446:21 | out : MyAbstractMapEntryDecorator [] : String | Test.java:239:18:239:57 | container : MyAbstractMapEntryDecorator [] : String | Test.java:239:69:239:86 | getKey(...) : String | Test.java:446:9:446:22 | getMapKey(...) | +| Test.java:446:19:446:21 | out : MyAbstractMapEntryDecorator [] : String | Test.java:239:18:239:57 | container : MyAbstractMapEntryDecorator [] : String | Test.java:239:69:239:86 | getKey(...) : String | Test.java:446:9:446:22 | getMapKey(...) | +| Test.java:451:54:451:69 | (...)... : String | Test.java:300:55:300:61 | value : String | Test.java:300:73:300:116 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | Test.java:451:34:451:70 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | +| Test.java:452:42:452:43 | in : MyAbstractMapEntry [] : String | Test.java:7067:31:7067:57 | entry : MyAbstractMapEntry [] : String | Test.java:7067:3:7067:29 | parameter this [Return] : MyAbstractMapEntryDecorator [] : String | Test.java:452:10:452:44 | new MyAbstractMapEntryDecorator<>(...) : MyAbstractMapEntryDecorator [] : String | +| Test.java:453:21:453:23 | out : MyAbstractMapEntryDecorator [] : String | Test.java:245:20:245:59 | container : MyAbstractMapEntryDecorator [] : String | Test.java:245:71:245:90 | getValue(...) : String | Test.java:453:9:453:24 | getMapValue(...) | +| Test.java:453:21:453:23 | out : MyAbstractMapEntryDecorator [] : String | Test.java:245:20:245:59 | container : MyAbstractMapEntryDecorator [] : String | Test.java:245:71:245:90 | getValue(...) : String | Test.java:453:9:453:24 | getMapValue(...) | +| Test.java:458:56:458:71 | (...)... : String | Test.java:281:63:281:67 | key : String | Test.java:281:79:281:143 | new MyAbstractMapEntryDecorator(...) : MyAbstractMapEntryDecorator [] : String | Test.java:458:37:458:72 | newMAMEDWithMapKey(...) : MyAbstractMapEntryDecorator [] : String | +| Test.java:459:10:459:11 | in : MyAbstractMapEntryDecorator [] : String | Test.java:7071:19:7071:31 | parameter this : MyAbstractMapEntryDecorator [] : String | Test.java:7072:11:7072:29 | getMapEntry(...) : Entry [] : String | Test.java:459:10:459:27 | myGetMapEntry(...) : Entry [] : String | +| Test.java:460:28:460:30 | out : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:460:9:460:31 | getMapKeyFromEntry(...) | +| Test.java:465:58:465:73 | (...)... : String | Test.java:301:65:301:71 | value : String | Test.java:301:83:301:151 | new MyAbstractMapEntryDecorator(...) : MyAbstractMapEntryDecorator [] : String | Test.java:465:37:465:74 | newMAMEDWithMapValue(...) : MyAbstractMapEntryDecorator [] : String | +| Test.java:466:10:466:11 | in : MyAbstractMapEntryDecorator [] : String | Test.java:7071:19:7071:31 | parameter this : MyAbstractMapEntryDecorator [] : String | Test.java:7072:11:7072:29 | getMapEntry(...) : Entry [] : String | Test.java:466:10:466:27 | myGetMapEntry(...) : Entry [] : String | +| Test.java:467:30:467:32 | out : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:467:9:467:33 | getMapValueFromEntry(...) | +| Test.java:472:52:472:67 | (...)... : String | Test.java:280:53:280:57 | key : String | Test.java:280:69:280:110 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | Test.java:472:34:472:68 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | +| Test.java:474:19:474:21 | out : DefaultKeyValue [] : String | Test.java:237:18:237:48 | container : DefaultKeyValue [] : String | Test.java:237:60:237:77 | getKey(...) : String | Test.java:474:9:474:22 | getMapKey(...) | +| Test.java:479:54:479:69 | (...)... : String | Test.java:300:55:300:61 | value : String | Test.java:300:73:300:116 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | Test.java:479:34:479:70 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | +| Test.java:481:21:481:23 | out : DefaultKeyValue [] : String | Test.java:243:20:243:50 | container : DefaultKeyValue [] : String | Test.java:243:62:243:81 | getValue(...) : String | Test.java:481:9:481:24 | getMapValue(...) | +| Test.java:486:36:486:51 | (...)... : String | Test.java:282:53:282:57 | key : String | Test.java:282:69:282:110 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | Test.java:486:18:486:52 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | +| Test.java:488:19:488:21 | out : DefaultKeyValue [] : String | Test.java:237:18:237:48 | container : DefaultKeyValue [] : String | Test.java:237:60:237:77 | getKey(...) : String | Test.java:488:9:488:22 | getMapKey(...) | +| Test.java:493:38:493:53 | (...)... : String | Test.java:299:55:299:61 | value : String | Test.java:299:73:299:116 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | Test.java:493:18:493:54 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:495:21:495:23 | out : DefaultKeyValue [] : String | Test.java:243:20:243:50 | container : DefaultKeyValue [] : String | Test.java:243:62:243:81 | getValue(...) : String | Test.java:495:9:495:24 | getMapValue(...) | +| Test.java:502:19:502:21 | out : DefaultKeyValue [] : Object | Test.java:237:18:237:48 | container : DefaultKeyValue [] : Object | Test.java:237:60:237:77 | getKey(...) : Object | Test.java:502:9:502:22 | getMapKey(...) | +| Test.java:509:21:509:23 | out : DefaultKeyValue [] : Object | Test.java:243:20:243:50 | container : DefaultKeyValue [] : Object | Test.java:243:62:243:81 | getValue(...) : Object | Test.java:509:9:509:24 | getMapValue(...) | +| Test.java:514:42:514:57 | (...)... : String | Test.java:273:49:273:53 | key : String | Test.java:273:65:273:103 | new DefaultKeyValue(...) : DefaultKeyValue [] : String | Test.java:514:25:514:58 | newDKVWithMapKey(...) : DefaultKeyValue [] : String | +| Test.java:516:28:516:30 | out : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:516:9:516:31 | getMapKeyFromEntry(...) | +| Test.java:521:44:521:59 | (...)... : String | Test.java:291:51:291:57 | value : String | Test.java:291:69:291:109 | new DefaultKeyValue(...) : DefaultKeyValue [] : String | Test.java:521:25:521:60 | newDKVWithMapValue(...) : DefaultKeyValue [] : String | +| Test.java:523:30:523:32 | out : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:523:9:523:33 | getMapValueFromEntry(...) | +| Test.java:528:52:528:67 | (...)... : String | Test.java:280:53:280:57 | key : String | Test.java:280:69:280:110 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | Test.java:528:34:528:68 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | +| Test.java:530:19:530:21 | out : DefaultMapEntry [] : String | Test.java:237:18:237:48 | container : DefaultMapEntry [] : String | Test.java:237:60:237:77 | getKey(...) : String | Test.java:530:9:530:22 | getMapKey(...) | +| Test.java:535:54:535:69 | (...)... : String | Test.java:300:55:300:61 | value : String | Test.java:300:73:300:116 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | Test.java:535:34:535:70 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | +| Test.java:537:21:537:23 | out : DefaultMapEntry [] : String | Test.java:243:20:243:50 | container : DefaultMapEntry [] : String | Test.java:243:62:243:81 | getValue(...) : String | Test.java:537:9:537:24 | getMapValue(...) | +| Test.java:542:36:542:51 | (...)... : String | Test.java:282:53:282:57 | key : String | Test.java:282:69:282:110 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | Test.java:542:18:542:52 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | +| Test.java:544:19:544:21 | out : DefaultMapEntry [] : String | Test.java:237:18:237:48 | container : DefaultMapEntry [] : String | Test.java:237:60:237:77 | getKey(...) : String | Test.java:544:9:544:22 | getMapKey(...) | +| Test.java:549:38:549:53 | (...)... : String | Test.java:299:55:299:61 | value : String | Test.java:299:73:299:116 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | Test.java:549:18:549:54 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:551:21:551:23 | out : DefaultMapEntry [] : String | Test.java:243:20:243:50 | container : DefaultMapEntry [] : String | Test.java:243:62:243:81 | getValue(...) : String | Test.java:551:9:551:24 | getMapValue(...) | +| Test.java:558:19:558:21 | out : DefaultMapEntry [] : Object | Test.java:237:18:237:48 | container : DefaultMapEntry [] : Object | Test.java:237:60:237:77 | getKey(...) : Object | Test.java:558:9:558:22 | getMapKey(...) | +| Test.java:565:21:565:23 | out : DefaultMapEntry [] : Object | Test.java:243:20:243:50 | container : DefaultMapEntry [] : Object | Test.java:243:62:243:81 | getValue(...) : Object | Test.java:565:9:565:24 | getMapValue(...) | +| Test.java:572:28:572:30 | out : TiedMapEntry [] : Object | Test.java:238:27:238:50 | container : TiedMapEntry [] : Object | Test.java:238:62:238:79 | getKey(...) : Object | Test.java:572:9:572:31 | getMapKeyFromEntry(...) | +| Test.java:577:36:577:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:577:13:577:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:579:30:579:32 | out : TiedMapEntry [] : String | Test.java:244:29:244:52 | container : TiedMapEntry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:579:9:579:33 | getMapValueFromEntry(...) | +| Test.java:584:52:584:67 | (...)... : String | Test.java:280:53:280:57 | key : String | Test.java:280:69:280:110 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | Test.java:584:34:584:68 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | +| Test.java:586:19:586:21 | out : UnmodifiableMapEntry [] : String | Test.java:237:18:237:48 | container : UnmodifiableMapEntry [] : String | Test.java:237:60:237:77 | getKey(...) : String | Test.java:586:9:586:22 | getMapKey(...) | +| Test.java:591:54:591:69 | (...)... : String | Test.java:300:55:300:61 | value : String | Test.java:300:73:300:116 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | Test.java:591:34:591:70 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | +| Test.java:593:21:593:23 | out : UnmodifiableMapEntry [] : String | Test.java:243:20:243:50 | container : UnmodifiableMapEntry [] : String | Test.java:243:62:243:81 | getValue(...) : String | Test.java:593:9:593:24 | getMapValue(...) | +| Test.java:598:36:598:51 | (...)... : String | Test.java:282:53:282:57 | key : String | Test.java:282:69:282:110 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | Test.java:598:18:598:52 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | +| Test.java:600:19:600:21 | out : UnmodifiableMapEntry [] : String | Test.java:237:18:237:48 | container : UnmodifiableMapEntry [] : String | Test.java:237:60:237:77 | getKey(...) : String | Test.java:600:9:600:22 | getMapKey(...) | +| Test.java:605:38:605:53 | (...)... : String | Test.java:299:55:299:61 | value : String | Test.java:299:73:299:116 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | Test.java:605:18:605:54 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:607:21:607:23 | out : UnmodifiableMapEntry [] : String | Test.java:243:20:243:50 | container : UnmodifiableMapEntry [] : String | Test.java:243:62:243:81 | getValue(...) : String | Test.java:607:9:607:24 | getMapValue(...) | +| Test.java:614:19:614:21 | out : UnmodifiableMapEntry [] : Object | Test.java:237:18:237:48 | container : UnmodifiableMapEntry [] : Object | Test.java:237:60:237:77 | getKey(...) : Object | Test.java:614:9:614:22 | getMapKey(...) | +| Test.java:621:21:621:23 | out : UnmodifiableMapEntry [] : Object | Test.java:243:20:243:50 | container : UnmodifiableMapEntry [] : Object | Test.java:243:62:243:81 | getValue(...) : Object | Test.java:621:9:621:24 | getMapValue(...) | +| Test.java:626:39:626:54 | (...)... : String | Test.java:286:46:286:50 | key : String | Test.java:286:62:286:116 | new TiedMapEntry(...) : TiedMapEntry [] : String | Test.java:626:22:626:55 | newTMEWithMapKey(...) : TiedMapEntry [] : String | +| Test.java:633:36:633:51 | (...)... : String | Test.java:282:53:282:57 | key : String | Test.java:282:69:282:110 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | Test.java:633:18:633:52 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | +| Test.java:640:54:640:69 | (...)... : String | Test.java:281:63:281:67 | key : String | Test.java:281:79:281:143 | new MyAbstractMapEntryDecorator(...) : MyAbstractMapEntryDecorator [] : String | Test.java:640:35:640:70 | newMAMEDWithMapKey(...) : MyAbstractMapEntryDecorator [] : String | +| Test.java:647:44:647:59 | (...)... : String | Test.java:282:53:282:57 | key : String | Test.java:282:69:282:110 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | Test.java:647:26:647:60 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | +| Test.java:654:41:654:56 | (...)... : String | Test.java:305:48:305:54 | value : String | Test.java:305:66:305:127 | new TiedMapEntry(...) : TiedMapEntry [] : String | Test.java:654:22:654:57 | newTMEWithMapValue(...) : TiedMapEntry [] : String | +| Test.java:661:38:661:53 | (...)... : String | Test.java:299:55:299:61 | value : String | Test.java:299:73:299:116 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | Test.java:661:18:661:54 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:668:56:668:71 | (...)... : String | Test.java:301:65:301:71 | value : String | Test.java:301:83:301:151 | new MyAbstractMapEntryDecorator(...) : MyAbstractMapEntryDecorator [] : String | Test.java:668:35:668:72 | newMAMEDWithMapValue(...) : MyAbstractMapEntryDecorator [] : String | +| Test.java:675:46:675:61 | (...)... : String | Test.java:299:55:299:61 | value : String | Test.java:299:73:299:116 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | Test.java:675:26:675:62 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:689:34:689:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:689:13:689:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:691:19:691:21 | out : IterableMap [] : String | Test.java:228:18:228:29 | map : IterableMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:691:9:691:22 | getMapKey(...) | +| Test.java:696:36:696:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:696:13:696:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:698:21:698:23 | out : IterableMap [] : String | Test.java:232:20:232:31 | map : IterableMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:698:9:698:24 | getMapValue(...) | +| Test.java:703:40:703:55 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:703:19:703:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:705:19:705:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:705:9:705:22 | getMapKey(...) | +| Test.java:710:42:710:57 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:710:19:710:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:712:21:712:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:712:9:712:24 | getMapValue(...) | +| Test.java:724:36:724:48 | (...)... : Map | Test.java:304:49:304:55 | value : Map | Test.java:304:127:304:127 | m : TreeMap [] : Map | Test.java:724:13:724:49 | newTreeMapWithMapValue(...) : TreeMap [] : Map | +| Test.java:731:36:731:48 | (...)... : Map | Test.java:304:49:304:55 | value : Map | Test.java:304:127:304:127 | m : TreeMap [] : Map | Test.java:731:13:731:49 | newTreeMapWithMapValue(...) : TreeMap [] : Map | +| Test.java:745:36:745:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:745:13:745:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:752:36:752:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:752:13:752:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:766:36:766:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:766:13:766:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:773:36:773:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:773:13:773:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:780:34:780:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:780:13:780:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:782:21:782:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:782:9:782:24 | getMapValue(...) | +| Test.java:787:36:787:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:787:13:787:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:789:19:789:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:789:9:789:22 | getMapKey(...) | +| Test.java:794:34:794:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:794:13:794:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:796:19:796:21 | out : IterableMap [] : String | Test.java:228:18:228:29 | map : IterableMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:796:9:796:22 | getMapKey(...) | +| Test.java:801:36:801:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:801:13:801:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:803:21:803:23 | out : IterableMap [] : String | Test.java:232:20:232:31 | map : IterableMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:803:9:803:24 | getMapValue(...) | +| Test.java:808:40:808:55 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:808:19:808:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:810:19:810:21 | out : IterableSortedMap [] : String | Test.java:228:18:228:29 | map : IterableSortedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:810:9:810:22 | getMapKey(...) | +| Test.java:815:42:815:57 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:815:19:815:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:817:21:817:23 | out : IterableSortedMap [] : String | Test.java:232:20:232:31 | map : IterableSortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:817:9:817:24 | getMapValue(...) | +| Test.java:822:34:822:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:822:13:822:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:824:19:824:21 | out : IterableMap [] : String | Test.java:228:18:228:29 | map : IterableMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:824:9:824:22 | getMapKey(...) | +| Test.java:829:34:829:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:829:13:829:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:831:19:831:21 | out : IterableMap [] : String | Test.java:228:18:228:29 | map : IterableMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:831:9:831:22 | getMapKey(...) | +| Test.java:836:36:836:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:836:13:836:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:838:21:838:23 | out : IterableMap [] : String | Test.java:232:20:232:31 | map : IterableMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:838:9:838:24 | getMapValue(...) | +| Test.java:843:36:843:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:843:13:843:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:845:21:845:23 | out : IterableMap [] : String | Test.java:232:20:232:31 | map : IterableMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:845:9:845:24 | getMapValue(...) | +| Test.java:850:40:850:55 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:850:19:850:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:852:19:852:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:852:9:852:22 | getMapKey(...) | +| Test.java:857:40:857:55 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:857:19:857:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:859:19:859:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:859:9:859:22 | getMapKey(...) | +| Test.java:864:42:864:57 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:864:19:864:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:866:21:866:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:866:9:866:24 | getMapValue(...) | +| Test.java:871:42:871:57 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:871:19:871:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:873:21:873:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:873:9:873:24 | getMapValue(...) | +| Test.java:878:34:878:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:878:13:878:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:880:19:880:21 | out : MultiValueMap [] : String | Test.java:228:18:228:29 | map : MultiValueMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:880:9:880:22 | getMapKey(...) | +| Test.java:885:34:885:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:885:13:885:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:887:19:887:21 | out : MultiValueMap [] : String | Test.java:228:18:228:29 | map : MultiValueMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:887:9:887:22 | getMapKey(...) | +| Test.java:892:34:892:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:892:13:892:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:894:19:894:21 | out : MultiValueMap [] : String | Test.java:228:18:228:29 | map : MultiValueMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:894:9:894:22 | getMapKey(...) | +| Test.java:899:36:899:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:899:13:899:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:901:21:901:23 | out : MultiValueMap [] : String | Test.java:232:20:232:31 | map : MultiValueMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:901:9:901:24 | getMapValue(...) | +| Test.java:906:36:906:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:906:13:906:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:908:21:908:23 | out : MultiValueMap [] : String | Test.java:232:20:232:31 | map : MultiValueMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:908:9:908:24 | getMapValue(...) | +| Test.java:913:36:913:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:913:13:913:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:915:21:915:23 | out : MultiValueMap [] : String | Test.java:232:20:232:31 | map : MultiValueMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:915:9:915:24 | getMapValue(...) | +| Test.java:920:34:920:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:920:13:920:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:922:19:922:21 | out : OrderedMap [] : String | Test.java:228:18:228:29 | map : OrderedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:922:9:922:22 | getMapKey(...) | +| Test.java:927:36:927:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:927:13:927:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:929:21:929:23 | out : OrderedMap [] : String | Test.java:232:20:232:31 | map : OrderedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:929:9:929:24 | getMapValue(...) | +| Test.java:934:39:934:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:934:18:934:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:936:21:936:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:936:9:936:24 | getMapValue(...) | +| Test.java:943:47:943:62 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:943:26:943:63 | newVectorWithElement(...) : Vector [] : String | +| Test.java:945:20:945:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:945:9:945:48 | getElement(...) | +| Test.java:945:44:945:46 | out : MultiMap [, ] : String | Test.java:232:20:232:31 | map : MultiMap [, ] : String | Test.java:232:43:232:55 | get(...) : Object [] : String | Test.java:945:32:945:47 | getMapValue(...) : Object [] : String | +| Test.java:950:34:950:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:950:13:950:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:952:19:952:21 | out : IterableMap [] : String | Test.java:228:18:228:29 | map : IterableMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:952:9:952:22 | getMapKey(...) | +| Test.java:957:36:957:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:957:13:957:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:959:21:959:23 | out : IterableMap [] : String | Test.java:232:20:232:31 | map : IterableMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:959:9:959:24 | getMapValue(...) | +| Test.java:964:40:964:55 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:964:19:964:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:966:19:966:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:966:9:966:22 | getMapKey(...) | +| Test.java:971:42:971:57 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:971:19:971:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:973:21:973:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:973:9:973:24 | getMapValue(...) | +| Test.java:978:38:978:53 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:978:18:978:54 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:980:19:980:21 | out : Map [] : Object | Test.java:228:18:228:29 | map : Map [] : Object | Test.java:228:41:228:70 | next(...) : Object | Test.java:980:9:980:22 | getMapKey(...) | +| Test.java:980:19:980:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:980:9:980:22 | getMapKey(...) | +| Test.java:985:38:985:53 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:985:18:985:54 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:987:19:987:21 | out : Map [] : Object | Test.java:228:18:228:29 | map : Map [] : Object | Test.java:228:41:228:70 | next(...) : Object | Test.java:987:9:987:22 | getMapKey(...) | +| Test.java:987:19:987:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:987:9:987:22 | getMapKey(...) | +| Test.java:992:38:992:53 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:992:18:992:54 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:994:21:994:23 | out : Map [] : Object | Test.java:232:20:232:31 | map : Map [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:994:9:994:24 | getMapValue(...) | +| Test.java:994:21:994:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:994:9:994:24 | getMapValue(...) | +| Test.java:999:38:999:53 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:999:18:999:54 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:1001:21:1001:23 | out : Map [] : Object | Test.java:232:20:232:31 | map : Map [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:1001:9:1001:24 | getMapValue(...) | +| Test.java:1001:21:1001:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:1001:9:1001:24 | getMapValue(...) | +| Test.java:1006:38:1006:74 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:251:31:251:44 | element : Object[] [[]] : String | Test.java:251:56:251:77 | new Object[] : Object[] [[], []] : String | Test.java:1006:18:1006:75 | newWithArrayElement(...) : Object[] [[], []] : String | +| Test.java:1006:58:1006:73 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:1006:38:1006:74 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:1008:19:1008:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:1008:9:1008:22 | getMapKey(...) | +| Test.java:1013:38:1013:74 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:251:31:251:44 | element : Object[] [[]] : String | Test.java:251:56:251:77 | new Object[] : Object[] [[], []] : String | Test.java:1013:18:1013:75 | newWithArrayElement(...) : Object[] [[], []] : String | +| Test.java:1013:58:1013:73 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:1013:38:1013:74 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:1015:19:1015:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:1015:9:1015:22 | getMapKey(...) | +| Test.java:1020:38:1020:74 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:251:31:251:44 | element : Object[] [[]] : String | Test.java:251:56:251:77 | new Object[] : Object[] [[], []] : String | Test.java:1020:18:1020:75 | newWithArrayElement(...) : Object[] [[], []] : String | +| Test.java:1020:58:1020:73 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:1020:38:1020:74 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:1022:21:1022:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:1022:9:1022:24 | getMapValue(...) | +| Test.java:1027:38:1027:74 | newWithArrayElement(...) : Object[] [[]] : String | Test.java:251:31:251:44 | element : Object[] [[]] : String | Test.java:251:56:251:77 | new Object[] : Object[] [[], []] : String | Test.java:1027:18:1027:75 | newWithArrayElement(...) : Object[] [[], []] : String | +| Test.java:1027:58:1027:73 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:1027:38:1027:74 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:1029:21:1029:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:1029:9:1029:24 | getMapValue(...) | +| Test.java:1034:38:1034:72 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | Test.java:251:31:251:44 | element : MyAbstractKeyValue [] : String | Test.java:251:56:251:77 | new Object[] : Object[] [[], ] : String | Test.java:1034:18:1034:73 | newWithArrayElement(...) : Object[] [[], ] : String | +| Test.java:1034:56:1034:71 | (...)... : String | Test.java:282:53:282:57 | key : String | Test.java:282:69:282:110 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | Test.java:1034:38:1034:72 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | +| Test.java:1036:19:1036:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:1036:9:1036:22 | getMapKey(...) | +| Test.java:1041:38:1041:72 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | Test.java:251:31:251:44 | element : MyAbstractKeyValue [] : String | Test.java:251:56:251:77 | new Object[] : Object[] [[], ] : String | Test.java:1041:18:1041:73 | newWithArrayElement(...) : Object[] [[], ] : String | +| Test.java:1041:56:1041:71 | (...)... : String | Test.java:282:53:282:57 | key : String | Test.java:282:69:282:110 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | Test.java:1041:38:1041:72 | newMAKVWithMapKey(...) : MyAbstractKeyValue [] : String | +| Test.java:1043:19:1043:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:1043:9:1043:22 | getMapKey(...) | +| Test.java:1048:38:1048:74 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | Test.java:251:31:251:44 | element : MyAbstractKeyValue [] : String | Test.java:251:56:251:77 | new Object[] : Object[] [[], ] : String | Test.java:1048:18:1048:75 | newWithArrayElement(...) : Object[] [[], ] : String | +| Test.java:1048:58:1048:73 | (...)... : String | Test.java:299:55:299:61 | value : String | Test.java:299:73:299:116 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | Test.java:1048:38:1048:74 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:1050:21:1050:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:1050:9:1050:24 | getMapValue(...) | +| Test.java:1055:38:1055:74 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | Test.java:251:31:251:44 | element : MyAbstractKeyValue [] : String | Test.java:251:56:251:77 | new Object[] : Object[] [[], ] : String | Test.java:1055:18:1055:75 | newWithArrayElement(...) : Object[] [[], ] : String | +| Test.java:1055:58:1055:73 | (...)... : String | Test.java:299:55:299:61 | value : String | Test.java:299:73:299:116 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | Test.java:1055:38:1055:74 | newMAKVWithMapValue(...) : MyAbstractKeyValue [] : String | +| Test.java:1057:21:1057:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:1057:9:1057:24 | getMapValue(...) | +| Test.java:1064:19:1064:21 | out : Map [] : Object | Test.java:228:18:228:29 | map : Map [] : Object | Test.java:228:41:228:70 | next(...) : Object | Test.java:1064:9:1064:22 | getMapKey(...) | +| Test.java:1071:21:1071:23 | out : Map [] : Object | Test.java:232:20:232:31 | map : Map [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:1071:9:1071:24 | getMapValue(...) | +| Test.java:1076:34:1076:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:1076:13:1076:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:1078:19:1078:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:1078:9:1078:22 | getMapKey(...) | +| Test.java:1083:36:1083:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:1083:13:1083:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:1085:21:1085:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:1085:9:1085:24 | getMapValue(...) | +| Test.java:1090:40:1090:55 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:1090:19:1090:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:1092:19:1092:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:1092:9:1092:22 | getMapKey(...) | +| Test.java:1097:42:1097:57 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:1097:19:1097:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:1099:21:1099:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:1099:9:1099:24 | getMapValue(...) | +| Test.java:1106:19:1106:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:1106:9:1106:22 | getMapKey(...) | +| Test.java:1113:21:1113:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:1113:9:1113:24 | getMapValue(...) | +| Test.java:1118:34:1118:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:1118:13:1118:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:1120:19:1120:21 | out : IterableMap [] : String | Test.java:228:18:228:29 | map : IterableMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:1120:9:1120:22 | getMapKey(...) | +| Test.java:1125:36:1125:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:1125:13:1125:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:1127:21:1127:23 | out : IterableMap [] : String | Test.java:232:20:232:31 | map : IterableMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:1127:9:1127:24 | getMapValue(...) | +| Test.java:1132:40:1132:55 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:1132:19:1132:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:1134:19:1134:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:1134:9:1134:22 | getMapKey(...) | +| Test.java:1139:42:1139:57 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:1139:19:1139:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:1141:21:1141:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:1141:9:1141:24 | getMapValue(...) | +| Test.java:1146:34:1146:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:1146:13:1146:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:1148:19:1148:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:1148:9:1148:22 | getMapKey(...) | +| Test.java:1153:36:1153:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:1153:13:1153:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:1155:21:1155:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:1155:9:1155:24 | getMapValue(...) | +| Test.java:1160:40:1160:55 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:1160:19:1160:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:1162:19:1162:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:1162:9:1162:22 | getMapKey(...) | +| Test.java:1167:42:1167:57 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:1167:19:1167:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:1169:21:1169:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:1169:9:1169:24 | getMapValue(...) | +| Test.java:1174:45:1174:60 | (...)... : String | Test.java:252:45:252:53 | element : String | Test.java:252:120:252:120 | a : ArrayStack [] : String | Test.java:1174:20:1174:61 | newArrayStackWithElement(...) : ArrayStack [] : String | +| Test.java:1181:45:1181:60 | (...)... : String | Test.java:252:45:252:53 | element : String | Test.java:252:120:252:120 | a : ArrayStack [] : String | Test.java:1181:20:1181:61 | newArrayStackWithElement(...) : ArrayStack [] : String | +| Test.java:1188:45:1188:60 | (...)... : String | Test.java:252:45:252:53 | element : String | Test.java:252:120:252:120 | a : ArrayStack [] : String | Test.java:1188:20:1188:61 | newArrayStackWithElement(...) : ArrayStack [] : String | +| Test.java:1197:20:1197:22 | out : ArrayStack [] : Object | Test.java:230:19:230:32 | it : ArrayStack [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:1197:9:1197:23 | getElement(...) | +| Test.java:1212:20:1212:22 | out : Bag [] : Object | Test.java:230:19:230:32 | it : Bag [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:1212:9:1212:23 | getElement(...) | +| Test.java:1219:20:1219:22 | out : Bag [] : Object | Test.java:230:19:230:32 | it : Bag [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:1219:9:1219:23 | getElement(...) | +| Test.java:1224:35:1224:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1224:13:1224:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1224:35:1224:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1224:13:1224:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1226:20:1226:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1226:9:1226:23 | getElement(...) | +| Test.java:1231:35:1231:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1231:13:1231:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1231:35:1231:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1231:13:1231:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1233:20:1233:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1233:9:1233:23 | getElement(...) | +| Test.java:1238:35:1238:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1238:13:1238:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1238:35:1238:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1238:13:1238:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1240:20:1240:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1240:9:1240:23 | getElement(...) | +| Test.java:1245:41:1245:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1245:19:1245:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1245:41:1245:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1245:19:1245:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1247:20:1247:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1247:9:1247:23 | getElement(...) | +| Test.java:1252:35:1252:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1252:13:1252:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1252:35:1252:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1252:13:1252:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1254:20:1254:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1254:9:1254:23 | getElement(...) | +| Test.java:1259:41:1259:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1259:19:1259:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1259:41:1259:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1259:19:1259:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1261:20:1261:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1261:9:1261:23 | getElement(...) | +| Test.java:1266:35:1266:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1266:13:1266:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1266:35:1266:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1266:13:1266:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1268:20:1268:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1268:9:1268:23 | getElement(...) | +| Test.java:1273:41:1273:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1273:19:1273:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1273:41:1273:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1273:19:1273:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1275:20:1275:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1275:9:1275:23 | getElement(...) | +| Test.java:1280:35:1280:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1280:13:1280:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1280:35:1280:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1280:13:1280:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1282:20:1282:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1282:9:1282:23 | getElement(...) | +| Test.java:1287:41:1287:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1287:19:1287:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1287:41:1287:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1287:19:1287:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:1289:20:1289:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1289:9:1289:23 | getElement(...) | +| Test.java:1294:42:1294:57 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:1294:17:1294:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:1294:42:1294:57 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:1294:17:1294:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:1301:42:1301:57 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:1301:17:1301:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:1301:42:1301:57 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:1301:17:1301:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:1303:21:1303:23 | out : BidiMap [] : String | Test.java:232:20:232:31 | map : BidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:1303:9:1303:24 | getMapValue(...) | +| Test.java:1308:44:1308:59 | (...)... : String | Test.java:306:77:306:83 | value : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | Test.java:1308:17:1308:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | +| Test.java:1308:44:1308:59 | (...)... : String | Test.java:306:77:306:83 | value : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | Test.java:1308:17:1308:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | +| Test.java:1310:19:1310:21 | out : BidiMap [] : String | Test.java:228:18:228:29 | map : BidiMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:1310:9:1310:22 | getMapKey(...) | +| Test.java:1315:42:1315:57 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:1315:17:1315:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:1315:42:1315:57 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:1315:17:1315:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:1322:47:1322:62 | (...)... : String | Test.java:256:47:256:55 | element : String | Test.java:256:67:256:134 | new IteratorEnumeration(...) : IteratorEnumeration [] : String | Test.java:1322:21:1322:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:1324:20:1324:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1324:9:1324:23 | getElement(...) | +| Test.java:1329:39:1329:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1329:18:1329:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1331:20:1331:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1331:9:1331:23 | getElement(...) | +| Test.java:1336:45:1336:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:1336:18:1336:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:1338:20:1338:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1338:9:1338:23 | getElement(...) | +| Test.java:1343:38:1343:53 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:1343:18:1343:54 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:1345:20:1345:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1345:9:1345:23 | getElement(...) | +| Test.java:1352:20:1352:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:1352:9:1352:23 | getElement(...) | +| Test.java:1357:39:1357:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1357:18:1357:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1359:20:1359:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1359:9:1359:23 | getElement(...) | +| Test.java:1364:39:1364:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1364:18:1364:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1366:20:1366:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1366:9:1366:23 | getElement(...) | +| Test.java:1371:39:1371:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1371:18:1371:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1373:20:1373:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1373:9:1373:23 | getElement(...) | +| Test.java:1378:39:1378:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1378:18:1378:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1380:20:1380:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1380:9:1380:23 | getElement(...) | +| Test.java:1385:39:1385:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1385:18:1385:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1387:20:1387:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1387:9:1387:23 | getElement(...) | +| Test.java:1392:39:1392:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1392:18:1392:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1394:20:1394:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1394:9:1394:23 | getElement(...) | +| Test.java:1399:39:1399:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1399:18:1399:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1401:20:1401:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1401:9:1401:23 | getElement(...) | +| Test.java:1406:39:1406:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1406:18:1406:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1408:20:1408:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1408:9:1408:23 | getElement(...) | +| Test.java:1413:39:1413:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1413:18:1413:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1415:20:1415:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1415:9:1415:23 | getElement(...) | +| Test.java:1420:39:1420:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1420:18:1420:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1422:20:1422:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1422:9:1422:23 | getElement(...) | +| Test.java:1434:41:1434:56 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1434:20:1434:57 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1441:39:1441:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1441:18:1441:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1448:45:1448:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:1448:18:1448:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:1455:39:1455:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1455:18:1455:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1462:34:1462:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:1462:13:1462:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:1464:28:1464:30 | out : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:1464:9:1464:31 | getMapKeyFromEntry(...) | +| Test.java:1469:36:1469:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:1469:13:1469:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:1471:30:1471:32 | out : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:1471:9:1471:33 | getMapValueFromEntry(...) | +| Test.java:1476:36:1476:51 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:1476:16:1476:52 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:1483:37:1483:52 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1483:16:1483:53 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1490:37:1490:52 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:1490:16:1490:53 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:1492:28:1492:30 | out : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:1492:9:1492:31 | getMapKeyFromEntry(...) | +| Test.java:1497:39:1497:54 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:1497:16:1497:55 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:1499:30:1499:32 | out : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:1499:9:1499:33 | getMapValueFromEntry(...) | +| Test.java:1504:39:1504:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1504:18:1504:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1506:19:1506:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:1506:9:1506:22 | getMapKey(...) | +| Test.java:1511:39:1511:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1511:18:1511:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1513:20:1513:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1513:9:1513:23 | getElement(...) | +| Test.java:1518:39:1518:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1518:18:1518:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1520:20:1520:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1520:9:1520:23 | getElement(...) | +| Test.java:1525:41:1525:56 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1525:20:1525:57 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1527:20:1527:44 | (...)... : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1527:9:1527:45 | getElement(...) | +| Test.java:1527:41:1527:43 | out : Collection [, ] : String | Test.java:230:19:230:32 | it : Collection [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:1527:30:1527:44 | getElement(...) : Object [] : String | +| Test.java:1532:41:1532:56 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1532:20:1532:57 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1534:20:1534:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1534:9:1534:23 | getElement(...) | +| Test.java:1539:39:1539:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1539:18:1539:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1541:20:1541:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1541:9:1541:23 | getElement(...) | +| Test.java:1546:41:1546:56 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1546:20:1546:57 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1548:20:1548:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1548:9:1548:23 | getElement(...) | +| Test.java:1553:39:1553:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1553:18:1553:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1555:20:1555:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1555:9:1555:23 | getElement(...) | +| Test.java:1560:41:1560:56 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1560:20:1560:57 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1562:20:1562:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1562:9:1562:23 | getElement(...) | +| Test.java:1567:39:1567:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1567:18:1567:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1569:20:1569:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1569:9:1569:23 | getElement(...) | +| Test.java:1581:39:1581:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1581:18:1581:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1583:20:1583:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1583:9:1583:23 | getElement(...) | +| Test.java:1588:39:1588:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1588:18:1588:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1590:20:1590:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1590:9:1590:23 | getElement(...) | +| Test.java:1602:39:1602:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1602:18:1602:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1604:20:1604:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1604:9:1604:23 | getElement(...) | +| Test.java:1609:39:1609:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1609:18:1609:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1611:20:1611:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1611:9:1611:23 | getElement(...) | +| Test.java:1616:39:1616:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1616:18:1616:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1618:20:1618:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1618:9:1618:23 | getElement(...) | +| Test.java:1623:39:1623:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1623:18:1623:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1625:20:1625:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1625:9:1625:23 | getElement(...) | +| Test.java:1637:39:1637:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1637:18:1637:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1639:20:1639:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1639:9:1639:23 | getElement(...) | +| Test.java:1644:39:1644:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1644:18:1644:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1646:20:1646:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1646:9:1646:23 | getElement(...) | +| Test.java:1651:39:1651:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1651:18:1651:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1653:20:1653:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1653:9:1653:23 | getElement(...) | +| Test.java:1658:41:1658:56 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1658:20:1658:57 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1660:20:1660:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1660:9:1660:23 | getElement(...) | +| Test.java:1665:41:1665:56 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1665:20:1665:57 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1667:20:1667:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1667:9:1667:23 | getElement(...) | +| Test.java:1672:39:1672:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1672:18:1672:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1674:20:1674:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1674:9:1674:23 | getElement(...) | +| Test.java:1679:39:1679:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1679:18:1679:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1681:20:1681:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1681:9:1681:23 | getElement(...) | +| Test.java:1686:41:1686:56 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1686:20:1686:57 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1688:20:1688:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1688:9:1688:23 | getElement(...) | +| Test.java:1693:47:1693:62 | (...)... : String | Test.java:256:47:256:55 | element : String | Test.java:256:67:256:134 | new IteratorEnumeration(...) : IteratorEnumeration [] : String | Test.java:1693:21:1693:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:1700:47:1700:62 | (...)... : String | Test.java:256:47:256:55 | element : String | Test.java:256:67:256:134 | new IteratorEnumeration(...) : IteratorEnumeration [] : String | Test.java:1700:21:1700:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:1702:20:1702:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1702:9:1702:23 | getElement(...) | +| Test.java:1709:20:1709:22 | out : List [] : Object | Test.java:230:19:230:32 | it : List [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:1709:9:1709:23 | getElement(...) | +| Test.java:1714:53:1714:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1714:24:1714:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1716:20:1716:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1716:9:1716:23 | getElement(...) | +| Test.java:1721:47:1721:62 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1721:18:1721:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1724:20:1724:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1724:9:1724:23 | getElement(...) | +| Test.java:1732:20:1732:22 | out : FluentIterable [] : Object | Test.java:230:19:230:32 | it : FluentIterable [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:1732:9:1732:23 | getElement(...) | +| Test.java:1737:53:1737:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1737:24:1737:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1739:20:1739:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1739:9:1739:23 | getElement(...) | +| Test.java:1744:53:1744:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1744:24:1744:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1746:20:1746:22 | out : Enumeration [] : String | Test.java:234:19:234:42 | container : Enumeration [] : String | Test.java:234:54:234:76 | nextElement(...) : String | Test.java:1746:9:1746:23 | getElement(...) | +| Test.java:1751:53:1751:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1751:24:1751:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1753:20:1753:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1753:9:1753:23 | getElement(...) | +| Test.java:1758:53:1758:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1758:24:1758:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1760:20:1760:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1760:9:1760:23 | getElement(...) | +| Test.java:1765:47:1765:62 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1765:18:1765:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1768:20:1768:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1768:9:1768:23 | getElement(...) | +| Test.java:1773:47:1773:62 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1773:18:1773:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1776:20:1776:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1776:9:1776:23 | getElement(...) | +| Test.java:1781:53:1781:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1781:24:1781:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1783:20:1783:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1783:9:1783:23 | getElement(...) | +| Test.java:1788:53:1788:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1788:24:1788:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1790:20:1790:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1790:9:1790:23 | getElement(...) | +| Test.java:1795:53:1795:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1795:24:1795:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1797:20:1797:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1797:9:1797:23 | getElement(...) | +| Test.java:1802:53:1802:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1802:24:1802:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1809:53:1809:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1809:24:1809:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1811:20:1811:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1811:9:1811:23 | getElement(...) | +| Test.java:1816:53:1816:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1816:24:1816:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1818:20:1818:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1818:9:1818:23 | getElement(...) | +| Test.java:1823:47:1823:62 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1823:18:1823:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1825:20:1825:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1825:9:1825:23 | getElement(...) | +| Test.java:1832:20:1832:22 | out : FluentIterable [] : Object | Test.java:230:19:230:32 | it : FluentIterable [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:1832:9:1832:23 | getElement(...) | +| Test.java:1837:38:1837:53 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:1837:18:1837:54 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:1839:20:1839:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1839:9:1839:23 | getElement(...) | +| Test.java:1844:53:1844:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1844:24:1844:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1846:20:1846:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1846:9:1846:23 | getElement(...) | +| Test.java:1851:53:1851:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1851:24:1851:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1853:20:1853:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1853:9:1853:23 | getElement(...) | +| Test.java:1858:53:1858:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1858:24:1858:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1860:25:1860:27 | out : Object[] [[]] : String | Test.java:229:24:229:32 | array : Object[] [[]] : String | Test.java:229:44:229:51 | ...[...] : String | Test.java:1860:9:1860:28 | getArrayElement(...) | +| Test.java:1865:53:1865:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1865:24:1865:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1867:20:1867:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1867:9:1867:23 | getElement(...) | +| Test.java:1872:53:1872:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1872:24:1872:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1874:20:1874:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1874:9:1874:23 | getElement(...) | +| Test.java:1879:53:1879:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1879:24:1879:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1881:20:1881:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1881:9:1881:23 | getElement(...) | +| Test.java:1886:53:1886:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1886:24:1886:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1888:20:1888:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1888:9:1888:23 | getElement(...) | +| Test.java:1893:47:1893:62 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1893:18:1893:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1896:20:1896:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1896:9:1896:23 | getElement(...) | +| Test.java:1901:53:1901:68 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:1901:24:1901:69 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:1903:20:1903:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1903:9:1903:23 | getElement(...) | +| Test.java:1908:39:1908:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1908:18:1908:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:1911:20:1911:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1911:9:1911:23 | getElement(...) | +| Test.java:1916:40:1916:55 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1916:23:1916:56 | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:1916:40:1916:55 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1916:23:1916:56 | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:1916:40:1916:55 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1916:23:1916:56 | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:1918:28:1918:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:1918:9:1918:43 | getMapKeyFromEntry(...) | +| Test.java:1923:39:1923:54 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:1923:13:1923:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:1923:39:1923:54 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:1923:13:1923:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:1925:28:1925:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:1925:9:1925:43 | getMapKeyFromEntry(...) | +| Test.java:1930:47:1930:62 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1930:30:1930:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:1930:47:1930:62 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1930:30:1930:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:1930:47:1930:62 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1930:30:1930:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:1932:28:1932:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:1932:9:1932:43 | getMapKeyFromEntry(...) | +| Test.java:1937:42:1937:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1937:23:1937:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:1937:42:1937:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1937:23:1937:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:1939:30:1939:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:1939:9:1939:45 | getMapValueFromEntry(...) | +| Test.java:1944:41:1944:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:1944:13:1944:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:1944:41:1944:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:1944:13:1944:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:1946:30:1946:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:1946:9:1946:45 | getMapValueFromEntry(...) | +| Test.java:1951:49:1951:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1951:30:1951:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:1951:49:1951:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1951:30:1951:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:1953:30:1953:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:1953:9:1953:45 | getMapValueFromEntry(...) | +| Test.java:1958:37:1958:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1958:18:1958:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:1958:37:1958:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1958:18:1958:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:1965:41:1965:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:1965:13:1965:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:1965:41:1965:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:1965:13:1965:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:1972:49:1972:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1972:30:1972:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:1972:49:1972:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1972:30:1972:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:1979:39:1979:54 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:1979:13:1979:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:1979:39:1979:54 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:1979:13:1979:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:1981:20:1981:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1981:9:1981:23 | getElement(...) | +| Test.java:1986:47:1986:62 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1986:30:1986:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:1986:47:1986:62 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1986:30:1986:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:1986:47:1986:62 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1986:30:1986:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:1988:20:1988:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1988:9:1988:23 | getElement(...) | +| Test.java:1993:37:1993:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1993:18:1993:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:1993:37:1993:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1993:18:1993:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:2000:41:2000:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:2000:13:2000:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:2000:41:2000:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:2000:13:2000:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:2007:49:2007:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2007:30:2007:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:2007:49:2007:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2007:30:2007:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:2014:44:2014:59 | (...)... : String | Test.java:306:77:306:83 | value : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | Test.java:2014:17:2014:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | +| Test.java:2014:44:2014:59 | (...)... : String | Test.java:306:77:306:83 | value : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | Test.java:2014:17:2014:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | +| Test.java:2016:20:2016:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2016:9:2016:23 | getElement(...) | +| Test.java:2021:42:2021:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:2021:23:2021:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:2021:42:2021:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2021:23:2021:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:2021:42:2021:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2021:23:2021:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:2023:20:2023:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:2023:9:2023:23 | getElement(...) | +| Test.java:2023:20:2023:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2023:9:2023:23 | getElement(...) | +| Test.java:2028:37:2028:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:2028:18:2028:53 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:2028:37:2028:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2028:18:2028:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:2028:37:2028:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2028:18:2028:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:2030:20:2030:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:2030:9:2030:23 | getElement(...) | +| Test.java:2030:20:2030:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2030:9:2030:23 | getElement(...) | +| Test.java:2035:41:2035:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:2035:13:2035:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:2035:41:2035:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:2035:13:2035:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:2037:20:2037:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2037:9:2037:23 | getElement(...) | +| Test.java:2042:49:2042:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2042:30:2042:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:2042:49:2042:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2042:30:2042:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:2044:20:2044:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2044:9:2044:23 | getElement(...) | +| Test.java:2049:45:2049:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:2049:20:2049:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:2049:45:2049:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:2049:20:2049:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:2051:20:2051:22 | out : OrderedMapIterator [] : String | Test.java:231:19:231:32 | it : OrderedMapIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2051:9:2051:23 | getElement(...) | +| Test.java:2056:44:2056:59 | (...)... : String | Test.java:275:49:275:53 | key : String | Test.java:275:125:275:125 | m : HashedMap [] : String | Test.java:2056:21:2056:60 | newHashedMapWithMapKey(...) : HashedMap [] : String | +| Test.java:2056:44:2056:59 | (...)... : String | Test.java:275:49:275:53 | key : String | Test.java:275:125:275:125 | m : HashedMap [] : String | Test.java:2056:21:2056:60 | newHashedMapWithMapKey(...) : HashedMap [] : String | +| Test.java:2058:20:2058:22 | out : MapIterator [] : String | Test.java:231:19:231:32 | it : MapIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2058:9:2058:23 | getElement(...) | +| Test.java:2063:46:2063:61 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:2063:29:2063:62 | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:2063:46:2063:61 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:2063:29:2063:62 | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:2063:46:2063:61 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:2063:29:2063:62 | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:2065:20:2065:22 | out : MapIterator [] : String | Test.java:231:19:231:32 | it : MapIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2065:9:2065:23 | getElement(...) | +| Test.java:2070:47:2070:62 | (...)... : String | Test.java:306:77:306:83 | value : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | Test.java:2070:20:2070:63 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | +| Test.java:2070:47:2070:62 | (...)... : String | Test.java:306:77:306:83 | value : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | Test.java:2070:20:2070:63 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | +| Test.java:2072:21:2072:23 | out : OrderedMapIterator [] : String | Test.java:246:20:246:47 | mapIterator : OrderedMapIterator [] : String | Test.java:246:59:246:80 | getValue(...) : String | Test.java:2072:9:2072:24 | getMapValue(...) | +| Test.java:2077:46:2077:61 | (...)... : String | Test.java:293:51:293:57 | value : String | Test.java:293:131:293:131 | m : HashedMap [] : String | Test.java:2077:21:2077:62 | newHashedMapWithMapValue(...) : HashedMap [] : String | +| Test.java:2077:46:2077:61 | (...)... : String | Test.java:293:51:293:57 | value : String | Test.java:293:131:293:131 | m : HashedMap [] : String | Test.java:2077:21:2077:62 | newHashedMapWithMapValue(...) : HashedMap [] : String | +| Test.java:2079:21:2079:23 | out : MapIterator [] : String | Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | Test.java:246:59:246:80 | getValue(...) : String | Test.java:2079:9:2079:24 | getMapValue(...) | +| Test.java:2084:48:2084:63 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2084:29:2084:64 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:2084:48:2084:63 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2084:29:2084:64 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:2086:21:2086:23 | out : MapIterator [] : String | Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | Test.java:246:59:246:80 | getValue(...) : String | Test.java:2086:9:2086:24 | getMapValue(...) | +| Test.java:2091:39:2091:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2091:18:2091:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2093:20:2093:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2093:9:2093:23 | getElement(...) | +| Test.java:2098:39:2098:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2098:18:2098:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2100:20:2100:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2100:9:2100:23 | getElement(...) | +| Test.java:2105:39:2105:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2105:18:2105:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2107:20:2107:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2107:9:2107:23 | getElement(...) | +| Test.java:2112:39:2112:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2112:18:2112:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2114:20:2114:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2114:9:2114:23 | getElement(...) | +| Test.java:2119:39:2119:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2119:18:2119:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2121:20:2121:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2121:9:2121:23 | getElement(...) | +| Test.java:2126:39:2126:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2126:18:2126:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2128:20:2128:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2128:9:2128:23 | getElement(...) | +| Test.java:2133:39:2133:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2133:18:2133:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2135:20:2135:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2135:9:2135:23 | getElement(...) | +| Test.java:2140:39:2140:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2140:18:2140:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2142:20:2142:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2142:9:2142:23 | getElement(...) | +| Test.java:2147:39:2147:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2147:18:2147:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2149:20:2149:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2149:9:2149:23 | getElement(...) | +| Test.java:2154:39:2154:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2154:18:2154:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2156:20:2156:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2156:9:2156:23 | getElement(...) | +| Test.java:2161:39:2161:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2161:18:2161:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2163:20:2163:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2163:9:2163:23 | getElement(...) | +| Test.java:2168:39:2168:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2168:18:2168:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2170:20:2170:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2170:9:2170:23 | getElement(...) | +| Test.java:2175:39:2175:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2175:18:2175:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2177:20:2177:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2177:9:2177:23 | getElement(...) | +| Test.java:2182:39:2182:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2182:18:2182:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2184:20:2184:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2184:9:2184:23 | getElement(...) | +| Test.java:2189:39:2189:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2189:18:2189:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2191:20:2191:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2191:9:2191:23 | getElement(...) | +| Test.java:2203:39:2203:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2203:18:2203:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2205:20:2205:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2205:9:2205:23 | getElement(...) | +| Test.java:2210:39:2210:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2210:18:2210:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2217:39:2217:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2217:18:2217:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2224:39:2224:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2224:18:2224:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2231:39:2231:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2231:18:2231:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2238:39:2238:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2238:18:2238:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2240:20:2240:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2240:9:2240:23 | getElement(...) | +| Test.java:2245:39:2245:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2245:18:2245:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2247:20:2247:44 | (...)... : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2247:9:2247:45 | getElement(...) | +| Test.java:2247:41:2247:43 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:2247:30:2247:44 | getElement(...) : Object [] : String | +| Test.java:2252:39:2252:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2252:18:2252:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2254:20:2254:44 | (...)... : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2254:9:2254:45 | getElement(...) | +| Test.java:2254:41:2254:43 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:2254:30:2254:44 | getElement(...) : Object [] : String | +| Test.java:2259:39:2259:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2259:18:2259:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2261:20:2261:44 | (...)... : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2261:9:2261:45 | getElement(...) | +| Test.java:2261:41:2261:43 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:2261:30:2261:44 | getElement(...) : Object [] : String | +| Test.java:2266:39:2266:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2266:18:2266:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2268:20:2268:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2268:9:2268:23 | getElement(...) | +| Test.java:2273:39:2273:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2273:18:2273:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2275:20:2275:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2275:9:2275:23 | getElement(...) | +| Test.java:2280:39:2280:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2280:18:2280:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2282:20:2282:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2282:9:2282:23 | getElement(...) | +| Test.java:2308:39:2308:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2308:18:2308:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2310:20:2310:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2310:9:2310:23 | getElement(...) | +| Test.java:2315:39:2315:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2315:18:2315:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2317:20:2317:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2317:9:2317:23 | getElement(...) | +| Test.java:2322:39:2322:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2322:18:2322:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2324:20:2324:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2324:9:2324:23 | getElement(...) | +| Test.java:2329:39:2329:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2329:18:2329:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2331:20:2331:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2331:9:2331:23 | getElement(...) | +| Test.java:2336:39:2336:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2336:18:2336:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2338:20:2338:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2338:9:2338:23 | getElement(...) | +| Test.java:2343:39:2343:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2343:18:2343:55 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2345:20:2345:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2345:9:2345:23 | getElement(...) | +| Test.java:2350:38:2350:53 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:2350:18:2350:54 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2352:20:2352:22 | out : ResettableIterator [] : String | Test.java:231:19:231:32 | it : ResettableIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2352:9:2352:23 | getElement(...) | +| Test.java:2357:38:2357:53 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:2357:18:2357:54 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2359:20:2359:22 | out : ResettableIterator [] : String | Test.java:231:19:231:32 | it : ResettableIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2359:9:2359:23 | getElement(...) | +| Test.java:2366:20:2366:22 | out : ResettableIterator [] : Object | Test.java:231:19:231:32 | it : ResettableIterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | Test.java:2366:9:2366:23 | getElement(...) | +| Test.java:2371:36:2371:51 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:2371:16:2371:52 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2373:20:2373:22 | out : ResettableIterator [] : String | Test.java:231:19:231:32 | it : ResettableIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2373:9:2373:23 | getElement(...) | +| Test.java:2378:36:2378:51 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:2378:16:2378:52 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2380:20:2380:22 | out : ResettableIterator [] : String | Test.java:231:19:231:32 | it : ResettableIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2380:9:2380:23 | getElement(...) | +| Test.java:2385:36:2385:51 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:2385:16:2385:52 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2387:20:2387:22 | out : ResettableIterator [] : String | Test.java:231:19:231:32 | it : ResettableIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2387:9:2387:23 | getElement(...) | +| Test.java:2392:38:2392:53 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:2392:18:2392:54 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2394:20:2394:22 | out : ResettableListIterator [] : String | Test.java:231:19:231:32 | it : ResettableListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2394:9:2394:23 | getElement(...) | +| Test.java:2399:38:2399:53 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:2399:18:2399:54 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2401:20:2401:22 | out : ResettableListIterator [] : String | Test.java:231:19:231:32 | it : ResettableListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2401:9:2401:23 | getElement(...) | +| Test.java:2408:20:2408:22 | out : ResettableListIterator [] : Object | Test.java:231:19:231:32 | it : ResettableListIterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | Test.java:2408:9:2408:23 | getElement(...) | +| Test.java:2413:36:2413:51 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:2413:16:2413:52 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2415:20:2415:22 | out : ResettableListIterator [] : String | Test.java:231:19:231:32 | it : ResettableListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2415:9:2415:23 | getElement(...) | +| Test.java:2420:36:2420:51 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:2420:16:2420:52 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2422:20:2422:22 | out : ResettableListIterator [] : String | Test.java:231:19:231:32 | it : ResettableListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2422:9:2422:23 | getElement(...) | +| Test.java:2427:36:2427:51 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:2427:16:2427:52 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2429:20:2429:22 | out : ResettableListIterator [] : String | Test.java:231:19:231:32 | it : ResettableListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2429:9:2429:23 | getElement(...) | +| Test.java:2434:45:2434:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2434:18:2434:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2436:20:2436:22 | out : Enumeration [] : String | Test.java:234:19:234:42 | container : Enumeration [] : String | Test.java:234:54:234:76 | nextElement(...) : String | Test.java:2436:9:2436:23 | getElement(...) | +| Test.java:2441:45:2441:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2441:18:2441:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2443:20:2443:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2443:9:2443:23 | getElement(...) | +| Test.java:2448:47:2448:62 | (...)... : String | Test.java:256:47:256:55 | element : String | Test.java:256:67:256:134 | new IteratorEnumeration(...) : IteratorEnumeration [] : String | Test.java:2448:21:2448:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:2450:20:2450:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2450:9:2450:23 | getElement(...) | +| Test.java:2455:47:2455:62 | (...)... : String | Test.java:256:47:256:55 | element : String | Test.java:256:67:256:134 | new IteratorEnumeration(...) : IteratorEnumeration [] : String | Test.java:2455:21:2455:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:2457:20:2457:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2457:9:2457:23 | getElement(...) | +| Test.java:2462:45:2462:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2462:18:2462:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2464:20:2464:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2464:9:2464:23 | getElement(...) | +| Test.java:2469:45:2469:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2469:18:2469:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2471:20:2471:22 | out : BoundedIterator [] : String | Test.java:231:19:231:32 | it : BoundedIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2471:9:2471:23 | getElement(...) | +| Test.java:2476:45:2476:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2476:18:2476:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2478:20:2478:22 | out : BoundedIterator [] : String | Test.java:231:19:231:32 | it : BoundedIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2478:9:2478:23 | getElement(...) | +| Test.java:2483:41:2483:78 | newVectorWithElement(...) : Vector [] : String | Test.java:270:47:270:65 | element : Vector [] : String | Test.java:270:133:270:133 | v : Vector [, ] : String | Test.java:2483:20:2483:79 | newVectorWithElement(...) : Vector [, ] : String | +| Test.java:2483:62:2483:77 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2483:41:2483:78 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2485:20:2485:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2485:9:2485:23 | getElement(...) | +| Test.java:2490:45:2490:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2490:18:2490:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2492:20:2492:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2492:9:2492:23 | getElement(...) | +| Test.java:2497:45:2497:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2497:18:2497:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2499:20:2499:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2499:9:2499:23 | getElement(...) | +| Test.java:2504:45:2504:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2504:18:2504:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2506:20:2506:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2506:9:2506:23 | getElement(...) | +| Test.java:2511:41:2511:78 | newVectorWithElement(...) : Vector [] : String | Test.java:270:47:270:65 | element : Vector [] : String | Test.java:270:133:270:133 | v : Vector [, ] : String | Test.java:2511:20:2511:79 | newVectorWithElement(...) : Vector [, ] : String | +| Test.java:2511:62:2511:77 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2511:41:2511:78 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2513:20:2513:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2513:9:2513:23 | getElement(...) | +| Test.java:2518:45:2518:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2518:18:2518:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2520:20:2520:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2520:9:2520:23 | getElement(...) | +| Test.java:2525:45:2525:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2525:18:2525:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2527:20:2527:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2527:9:2527:23 | getElement(...) | +| Test.java:2532:45:2532:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2532:18:2532:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2534:20:2534:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2534:9:2534:23 | getElement(...) | +| Test.java:2539:45:2539:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2539:18:2539:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2541:20:2541:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2541:9:2541:23 | getElement(...) | +| Test.java:2546:49:2546:64 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2546:22:2546:65 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2548:20:2548:22 | out : ListIterator [] : String | Test.java:231:19:231:32 | it : ListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2548:9:2548:23 | getElement(...) | +| Test.java:2553:45:2553:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2553:18:2553:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2560:45:2560:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2560:18:2560:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2567:45:2567:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2567:18:2567:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2574:45:2574:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2574:18:2574:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2583:20:2583:22 | out : Iterator [] : Object | Test.java:231:19:231:32 | it : Iterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | Test.java:2583:9:2583:23 | getElement(...) | +| Test.java:2588:36:2588:51 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:2588:16:2588:52 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:2590:20:2590:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2590:9:2590:23 | getElement(...) | +| Test.java:2595:37:2595:52 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2595:16:2595:53 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2597:20:2597:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2597:9:2597:23 | getElement(...) | +| Test.java:2602:36:2602:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:2602:13:2602:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:2604:20:2604:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2604:9:2604:23 | getElement(...) | +| Test.java:2609:41:2609:56 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2609:20:2609:57 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2611:20:2611:22 | out : ResettableIterator [] : String | Test.java:231:19:231:32 | it : ResettableIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2611:9:2611:23 | getElement(...) | +| Test.java:2616:35:2616:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2616:14:2616:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2618:20:2618:22 | out : ResettableListIterator [] : String | Test.java:231:19:231:32 | it : ResettableListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2618:9:2618:23 | getElement(...) | +| Test.java:2623:45:2623:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2623:18:2623:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2625:20:2625:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2625:9:2625:23 | getElement(...) | +| Test.java:2630:45:2630:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2630:18:2630:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2632:20:2632:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2632:9:2632:23 | getElement(...) | +| Test.java:2639:20:2639:22 | out : ResettableIterator [] : Object | Test.java:231:19:231:32 | it : ResettableIterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | Test.java:2639:9:2639:23 | getElement(...) | +| Test.java:2646:20:2646:22 | out : ListIterator [] : Object | Test.java:231:19:231:32 | it : ListIterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | Test.java:2646:9:2646:23 | getElement(...) | +| Test.java:2651:45:2651:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2651:18:2651:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2653:20:2653:22 | out : SkippingIterator [] : String | Test.java:231:19:231:32 | it : SkippingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2653:9:2653:23 | getElement(...) | +| Test.java:2658:45:2658:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2658:18:2658:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2660:25:2660:27 | out : Object[] [[]] : String | Test.java:229:24:229:32 | array : Object[] [[]] : String | Test.java:229:44:229:51 | ...[...] : String | Test.java:2660:9:2660:28 | getArrayElement(...) | +| Test.java:2665:45:2665:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2665:18:2665:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2667:25:2667:27 | out : Object[] [[]] : String | Test.java:229:24:229:32 | array : Object[] [[]] : String | Test.java:229:44:229:51 | ...[...] : String | Test.java:2667:9:2667:28 | getArrayElement(...) | +| Test.java:2672:45:2672:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2672:18:2672:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2674:20:2674:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2674:9:2674:23 | getElement(...) | +| Test.java:2679:45:2679:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2679:18:2679:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2681:20:2681:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2681:9:2681:23 | getElement(...) | +| Test.java:2686:45:2686:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2686:18:2686:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2688:20:2688:22 | out : ListIterator [] : String | Test.java:231:19:231:32 | it : ListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2688:9:2688:23 | getElement(...) | +| Test.java:2714:45:2714:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2714:18:2714:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2716:20:2716:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2716:9:2716:23 | getElement(...) | +| Test.java:2721:49:2721:64 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2721:22:2721:65 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2723:20:2723:22 | out : ListIterator [] : String | Test.java:231:19:231:32 | it : ListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2723:9:2723:23 | getElement(...) | +| Test.java:2728:39:2728:54 | (...)... : String | Test.java:283:53:283:57 | key : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2728:21:2728:55 | newOMIWithElement(...) : OrderedMapIterator [] : String | +| Test.java:2728:39:2728:54 | (...)... : String | Test.java:283:53:283:57 | key : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2728:21:2728:55 | newOMIWithElement(...) : OrderedMapIterator [] : String | +| Test.java:2730:20:2730:22 | out : MapIterator [] : String | Test.java:231:19:231:32 | it : MapIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2730:9:2730:23 | getElement(...) | +| Test.java:2735:40:2735:55 | (...)... : String | Test.java:302:54:302:60 | value : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2735:21:2735:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | +| Test.java:2735:40:2735:55 | (...)... : String | Test.java:302:54:302:60 | value : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2735:21:2735:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | +| Test.java:2737:21:2737:23 | out : MapIterator [] : String | Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | Test.java:246:59:246:80 | getValue(...) : String | Test.java:2737:9:2737:24 | getMapValue(...) | +| Test.java:2742:45:2742:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2742:18:2742:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2744:20:2744:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2744:9:2744:23 | getElement(...) | +| Test.java:2749:45:2749:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2749:18:2749:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2751:20:2751:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2751:9:2751:23 | getElement(...) | +| Test.java:2756:45:2756:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2756:18:2756:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2758:20:2758:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2758:9:2758:23 | getElement(...) | +| Test.java:2763:45:2763:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2763:18:2763:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2765:20:2765:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2765:9:2765:23 | getElement(...) | +| Test.java:2770:45:2770:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2770:18:2770:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2772:20:2772:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2772:9:2772:23 | getElement(...) | +| Test.java:2777:45:2777:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2777:18:2777:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:2779:20:2779:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2779:9:2779:23 | getElement(...) | +| Test.java:2805:35:2805:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2805:14:2805:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2807:20:2807:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2807:9:2807:23 | getElement(...) | +| Test.java:2812:35:2812:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2812:14:2812:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2814:20:2814:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2814:9:2814:23 | getElement(...) | +| Test.java:2819:35:2819:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2819:14:2819:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2821:20:2821:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2821:9:2821:23 | getElement(...) | +| Test.java:2826:35:2826:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2826:14:2826:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2828:20:2828:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2828:9:2828:23 | getElement(...) | +| Test.java:2833:35:2833:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2833:14:2833:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2835:20:2835:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2835:9:2835:23 | getElement(...) | +| Test.java:2854:35:2854:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2854:14:2854:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2856:20:2856:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2856:9:2856:23 | getElement(...) | +| Test.java:2861:35:2861:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2861:14:2861:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2863:20:2863:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2863:9:2863:23 | getElement(...) | +| Test.java:2868:35:2868:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2868:14:2868:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2870:20:2870:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2870:9:2870:23 | getElement(...) | +| Test.java:2875:35:2875:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2875:14:2875:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2877:20:2877:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2877:9:2877:23 | getElement(...) | +| Test.java:2882:35:2882:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2882:14:2882:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2884:20:2884:44 | (...)... : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2884:9:2884:45 | getElement(...) | +| Test.java:2884:41:2884:43 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:2884:30:2884:44 | getElement(...) : Object [] : String | +| Test.java:2889:35:2889:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2889:14:2889:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2891:20:2891:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2891:9:2891:23 | getElement(...) | +| Test.java:2896:41:2896:56 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2896:20:2896:57 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2898:20:2898:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2898:9:2898:23 | getElement(...) | +| Test.java:2903:41:2903:56 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2903:20:2903:57 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2905:20:2905:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2905:9:2905:23 | getElement(...) | +| Test.java:2910:41:2910:56 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2910:20:2910:57 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2912:20:2912:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2912:9:2912:23 | getElement(...) | +| Test.java:2917:41:2917:56 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2917:20:2917:57 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2919:20:2919:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2919:9:2919:23 | getElement(...) | +| Test.java:2924:35:2924:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2924:14:2924:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2926:20:2926:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2926:9:2926:23 | getElement(...) | +| Test.java:2931:35:2931:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2931:14:2931:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2933:20:2933:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2933:9:2933:23 | getElement(...) | +| Test.java:2938:35:2938:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2938:14:2938:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2940:20:2940:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2940:9:2940:23 | getElement(...) | +| Test.java:2945:35:2945:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2945:14:2945:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2947:20:2947:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2947:9:2947:23 | getElement(...) | +| Test.java:2952:35:2952:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2952:14:2952:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2954:20:2954:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2954:9:2954:23 | getElement(...) | +| Test.java:2959:35:2959:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2959:14:2959:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2961:20:2961:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2961:9:2961:23 | getElement(...) | +| Test.java:2966:35:2966:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2966:14:2966:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2968:20:2968:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2968:9:2968:23 | getElement(...) | +| Test.java:2973:35:2973:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2973:14:2973:51 | newVectorWithElement(...) : Vector [] : String | +| Test.java:2975:20:2975:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2975:9:2975:23 | getElement(...) | +| Test.java:2980:39:2980:54 | (...)... : String | Test.java:283:53:283:57 | key : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2980:21:2980:55 | newOMIWithElement(...) : OrderedMapIterator [] : String | +| Test.java:2980:39:2980:54 | (...)... : String | Test.java:283:53:283:57 | key : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2980:21:2980:55 | newOMIWithElement(...) : OrderedMapIterator [] : String | +| Test.java:2987:40:2987:55 | (...)... : String | Test.java:302:54:302:60 | value : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2987:21:2987:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | +| Test.java:2987:40:2987:55 | (...)... : String | Test.java:302:54:302:60 | value : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2987:21:2987:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | +| Test.java:2996:21:2996:23 | out : MapIterator [] : Object | Test.java:246:20:246:47 | mapIterator : MapIterator [] : Object | Test.java:246:59:246:80 | getValue(...) : Object | Test.java:2996:9:2996:24 | getMapValue(...) | +| Test.java:3001:40:3001:55 | (...)... : String | Test.java:302:54:302:60 | value : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:3001:21:3001:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | +| Test.java:3001:40:3001:55 | (...)... : String | Test.java:302:54:302:60 | value : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:3001:21:3001:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | +| Test.java:3008:37:3008:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:3008:18:3008:53 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:3008:37:3008:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3008:18:3008:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3008:37:3008:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3008:18:3008:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3010:20:3010:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:3010:9:3010:23 | getElement(...) | +| Test.java:3010:20:3010:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3010:9:3010:23 | getElement(...) | +| Test.java:3017:19:3017:21 | out : MultiValueMap [] : Object | Test.java:228:18:228:29 | map : MultiValueMap [] : Object | Test.java:228:41:228:70 | next(...) : Object | Test.java:3017:9:3017:22 | getMapKey(...) | +| Test.java:3024:19:3024:21 | out : MultiMap [] : Object | Test.java:228:18:228:29 | map : MultiMap [] : Object | Test.java:228:41:228:70 | next(...) : Object | Test.java:3024:9:3024:22 | getMapKey(...) | +| Test.java:3031:20:3031:47 | (...)... : Collection | Test.java:230:19:230:32 | it : Collection | Test.java:230:44:230:63 | next(...) : Object | Test.java:3031:9:3031:48 | getElement(...) | +| Test.java:3031:20:3031:47 | (...)... : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:3031:9:3031:48 | getElement(...) | +| Test.java:3031:44:3031:46 | out : MultiValueMap [, ] : Object | Test.java:232:20:232:31 | map : MultiValueMap [, ] : Object | Test.java:232:43:232:55 | get(...) : Object [] : Object | Test.java:3031:32:3031:47 | getMapValue(...) : Object [] : Object | +| Test.java:3031:44:3031:46 | out : MultiValueMap [] : Object | Test.java:232:20:232:31 | map : MultiValueMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:3031:32:3031:47 | getMapValue(...) : Object | +| Test.java:3038:20:3038:47 | (...)... : Collection | Test.java:230:19:230:32 | it : Collection | Test.java:230:44:230:63 | next(...) : Object | Test.java:3038:9:3038:48 | getElement(...) | +| Test.java:3038:20:3038:47 | (...)... : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:3038:9:3038:48 | getElement(...) | +| Test.java:3038:44:3038:46 | out : MultiMap [, ] : Object | Test.java:232:20:232:31 | map : MultiMap [, ] : Object | Test.java:232:43:232:55 | get(...) : Object [] : Object | Test.java:3038:32:3038:47 | getMapValue(...) : Object [] : Object | +| Test.java:3038:44:3038:46 | out : MultiMap [] : Object | Test.java:232:20:232:31 | map : MultiMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:3038:32:3038:47 | getMapValue(...) : Object | +| Test.java:3043:42:3043:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:3043:23:3043:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:3043:42:3043:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3043:23:3043:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3043:42:3043:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3043:23:3043:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3045:20:3045:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:3045:9:3045:23 | getElement(...) | +| Test.java:3045:20:3045:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3045:9:3045:23 | getElement(...) | +| Test.java:3050:37:3050:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:3050:18:3050:53 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:3050:37:3050:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3050:18:3050:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3050:37:3050:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3050:18:3050:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3052:20:3052:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:3052:9:3052:23 | getElement(...) | +| Test.java:3052:20:3052:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3052:9:3052:23 | getElement(...) | +| Test.java:3064:43:3064:58 | (...)... : String | Test.java:272:58:272:62 | key : String | Test.java:272:160:272:160 | m : ArrayListValuedHashMap [] : String | Test.java:3064:24:3064:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:3066:28:3066:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:3066:9:3066:43 | getMapKeyFromEntry(...) | +| Test.java:3071:45:3071:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3071:24:3071:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3073:30:3073:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:3073:9:3073:45 | getMapValueFromEntry(...) | +| Test.java:3078:45:3078:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3078:24:3078:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3080:20:3080:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3080:9:3080:23 | getElement(...) | +| Test.java:3085:45:3085:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3085:24:3085:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3087:20:3087:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3087:9:3087:23 | getElement(...) | +| Test.java:3092:45:3092:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3092:24:3092:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3094:20:3094:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3094:9:3094:23 | getElement(...) | +| Test.java:3099:45:3099:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3099:24:3099:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3101:20:3101:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3101:9:3101:23 | getElement(...) | +| Test.java:3106:43:3106:58 | (...)... : String | Test.java:272:58:272:62 | key : String | Test.java:272:160:272:160 | m : ArrayListValuedHashMap [] : String | Test.java:3106:24:3106:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:3108:19:3108:21 | out : MultiValuedMap [] : String | Test.java:240:18:240:46 | container : MultiValuedMap [] : String | Test.java:240:58:240:93 | next(...) : String | Test.java:3108:9:3108:22 | getMapKey(...) | +| Test.java:3113:45:3113:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3113:24:3113:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3115:20:3115:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3115:9:3115:36 | getElement(...) | +| Test.java:3115:32:3115:34 | out : MultiValuedMap [, ] : String | Test.java:247:32:247:60 | container : MultiValuedMap [, ] : String | Test.java:247:72:247:90 | get(...) : Collection [] : String | Test.java:3115:20:3115:35 | getMapValue(...) : Collection [] : String | +| Test.java:3120:43:3120:58 | (...)... : String | Test.java:272:58:272:62 | key : String | Test.java:272:160:272:160 | m : ArrayListValuedHashMap [] : String | Test.java:3120:24:3120:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:3122:19:3122:21 | out : MultiValuedMap [] : String | Test.java:240:18:240:46 | container : MultiValuedMap [] : String | Test.java:240:58:240:93 | next(...) : String | Test.java:3122:9:3122:22 | getMapKey(...) | +| Test.java:3127:45:3127:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3127:24:3127:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3129:20:3129:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3129:9:3129:36 | getElement(...) | +| Test.java:3129:32:3129:34 | out : MultiValuedMap [, ] : String | Test.java:247:32:247:60 | container : MultiValuedMap [, ] : String | Test.java:247:72:247:90 | get(...) : Collection [] : String | Test.java:3129:20:3129:35 | getMapValue(...) : Collection [] : String | +| Test.java:3134:52:3134:67 | (...)... : String | Test.java:262:52:262:60 | element : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | Test.java:3134:24:3134:68 | newMultiSetEntryWithElement(...) : Entry [] : String | +| Test.java:3134:52:3134:67 | (...)... : String | Test.java:262:52:262:60 | element : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | Test.java:3134:24:3134:68 | newMultiSetEntryWithElement(...) : Entry [] : String | +| Test.java:3143:20:3143:22 | out : MultiSet [] : Object | Test.java:230:19:230:32 | it : MultiSet [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:3143:9:3143:23 | getElement(...) | +| Test.java:3150:20:3150:22 | out : MultiSet [] : Object | Test.java:230:19:230:32 | it : MultiSet [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:3150:9:3150:23 | getElement(...) | +| Test.java:3155:41:3155:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3155:18:3155:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:3155:41:3155:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3155:18:3155:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:3157:20:3157:34 | getElement(...) : Entry [] : String | Test.java:235:19:235:45 | container : Entry [] : String | Test.java:235:57:235:78 | getElement(...) : String | Test.java:3157:9:3157:35 | getElement(...) | +| Test.java:3162:41:3162:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3162:18:3162:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:3162:41:3162:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3162:18:3162:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:3164:20:3164:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3164:9:3164:23 | getElement(...) | +| Test.java:3169:41:3169:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3169:18:3169:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:3169:41:3169:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3169:18:3169:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:3171:20:3171:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3171:9:3171:23 | getElement(...) | +| Test.java:3176:41:3176:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3176:18:3176:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:3176:41:3176:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3176:18:3176:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:3178:20:3178:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3178:9:3178:23 | getElement(...) | +| Test.java:3183:41:3183:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3183:18:3183:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:3183:41:3183:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3183:18:3183:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:3185:20:3185:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3185:9:3185:23 | getElement(...) | +| Test.java:3190:45:3190:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3190:24:3190:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3192:20:3192:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3192:9:3192:48 | getElement(...) | +| Test.java:3192:44:3192:46 | out : Map [, ] : String | Test.java:232:20:232:31 | map : Map [, ] : String | Test.java:232:43:232:55 | get(...) : Object [] : String | Test.java:3192:32:3192:47 | getMapValue(...) : Object [] : String | +| Test.java:3197:43:3197:58 | (...)... : String | Test.java:272:58:272:62 | key : String | Test.java:272:160:272:160 | m : ArrayListValuedHashMap [] : String | Test.java:3197:24:3197:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:3199:19:3199:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3199:9:3199:22 | getMapKey(...) | +| Test.java:3204:43:3204:58 | (...)... : String | Test.java:294:58:294:64 | value : String | Test.java:294:160:294:160 | m : HashSetValuedHashMap [, ] : String | Test.java:3204:22:3204:59 | newHSVHMWithMapValue(...) : HashSetValuedHashMap [, ] : String | +| Test.java:3206:20:3206:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3206:9:3206:23 | getElement(...) | +| Test.java:3211:44:3211:59 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3211:23:3211:60 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3213:20:3213:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3213:9:3213:23 | getElement(...) | +| Test.java:3218:45:3218:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3218:24:3218:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3220:20:3220:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3220:9:3220:23 | getElement(...) | +| Test.java:3225:43:3225:58 | (...)... : String | Test.java:272:58:272:62 | key : String | Test.java:272:160:272:160 | m : ArrayListValuedHashMap [] : String | Test.java:3225:24:3225:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:3227:20:3227:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3227:9:3227:23 | getElement(...) | +| Test.java:3232:43:3232:58 | (...)... : String | Test.java:272:58:272:62 | key : String | Test.java:272:160:272:160 | m : ArrayListValuedHashMap [] : String | Test.java:3232:24:3232:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:3234:20:3234:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3234:9:3234:23 | getElement(...) | +| Test.java:3239:45:3239:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3239:24:3239:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3241:21:3241:23 | out : MapIterator [] : String | Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | Test.java:246:59:246:80 | getValue(...) : String | Test.java:3241:9:3241:24 | getMapValue(...) | +| Test.java:3246:43:3246:58 | (...)... : String | Test.java:272:58:272:62 | key : String | Test.java:272:160:272:160 | m : ArrayListValuedHashMap [] : String | Test.java:3246:24:3246:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:3248:20:3248:22 | out : MapIterator [] : String | Test.java:231:19:231:32 | it : MapIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:3248:9:3248:23 | getElement(...) | +| Test.java:3255:19:3255:21 | out : MultiValuedMap [] : Object | Test.java:240:18:240:46 | container : MultiValuedMap [] : Object | Test.java:240:58:240:93 | next(...) : Object | Test.java:3255:9:3255:22 | getMapKey(...) | +| Test.java:3262:20:3262:35 | getMapValue(...) : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:3262:9:3262:36 | getElement(...) | +| Test.java:3262:32:3262:34 | out : MultiValuedMap [, ] : Object | Test.java:247:32:247:60 | container : MultiValuedMap [, ] : Object | Test.java:247:72:247:90 | get(...) : Collection [] : Object | Test.java:3262:20:3262:35 | getMapValue(...) : Collection [] : Object | +| Test.java:3267:34:3267:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:3267:13:3267:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:3269:19:3269:21 | out : MultiValuedMap [] : String | Test.java:240:18:240:46 | container : MultiValuedMap [] : String | Test.java:240:58:240:93 | next(...) : String | Test.java:3269:9:3269:22 | getMapKey(...) | +| Test.java:3274:36:3274:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:3274:13:3274:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:3276:20:3276:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3276:9:3276:36 | getElement(...) | +| Test.java:3276:32:3276:34 | out : MultiValuedMap [, ] : String | Test.java:247:32:247:60 | container : MultiValuedMap [, ] : String | Test.java:247:72:247:90 | get(...) : Collection [] : String | Test.java:3276:20:3276:35 | getMapValue(...) : Collection [] : String | +| Test.java:3281:45:3281:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3281:24:3281:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3283:20:3283:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3283:9:3283:36 | getElement(...) | +| Test.java:3283:32:3283:34 | out : MultiValuedMap [, ] : String | Test.java:247:32:247:60 | container : MultiValuedMap [, ] : String | Test.java:247:72:247:90 | get(...) : Collection [] : String | Test.java:3283:20:3283:35 | getMapValue(...) : Collection [] : String | +| Test.java:3288:43:3288:58 | (...)... : String | Test.java:272:58:272:62 | key : String | Test.java:272:160:272:160 | m : ArrayListValuedHashMap [] : String | Test.java:3288:24:3288:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:3290:19:3290:21 | out : MultiValuedMap [] : String | Test.java:240:18:240:46 | container : MultiValuedMap [] : String | Test.java:240:58:240:93 | next(...) : String | Test.java:3290:9:3290:22 | getMapKey(...) | +| Test.java:3297:19:3297:21 | out : MultiValuedMap [] : Object | Test.java:240:18:240:46 | container : MultiValuedMap [] : Object | Test.java:240:58:240:93 | next(...) : Object | Test.java:3297:9:3297:22 | getMapKey(...) | +| Test.java:3302:47:3302:62 | (...)... : String | Test.java:257:53:257:61 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | Test.java:3302:18:3302:63 | newFluentIterableWithElement(...) : FluentIterable [] : String | +| Test.java:3304:20:3304:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3304:9:3304:36 | getElement(...) | +| Test.java:3304:32:3304:34 | out : MultiValuedMap [, ] : String | Test.java:247:32:247:60 | container : MultiValuedMap [, ] : String | Test.java:247:72:247:90 | get(...) : Collection [] : String | Test.java:3304:20:3304:35 | getMapValue(...) : Collection [] : String | +| Test.java:3309:43:3309:58 | (...)... : String | Test.java:294:58:294:64 | value : String | Test.java:294:160:294:160 | m : HashSetValuedHashMap [, ] : String | Test.java:3309:22:3309:59 | newHSVHMWithMapValue(...) : HashSetValuedHashMap [, ] : String | +| Test.java:3311:20:3311:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3311:9:3311:23 | getElement(...) | +| Test.java:3316:44:3316:59 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3316:23:3316:60 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3318:20:3318:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3318:9:3318:23 | getElement(...) | +| Test.java:3323:45:3323:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3323:24:3323:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3325:20:3325:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3325:9:3325:23 | getElement(...) | +| Test.java:3330:45:3330:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3330:24:3330:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:3332:20:3332:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3332:9:3332:23 | getElement(...) | +| Test.java:3337:46:3337:61 | (...)... : String | Test.java:283:53:283:57 | key : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:3337:28:3337:62 | newOMIWithElement(...) : OrderedMapIterator [] : String | +| Test.java:3337:46:3337:61 | (...)... : String | Test.java:283:53:283:57 | key : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:3337:28:3337:62 | newOMIWithElement(...) : OrderedMapIterator [] : String | +| Test.java:3344:43:3344:58 | (...)... : String | Test.java:283:53:283:57 | key : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:3344:25:3344:59 | newOMIWithElement(...) : OrderedMapIterator [] : String | +| Test.java:3344:43:3344:58 | (...)... : String | Test.java:283:53:283:57 | key : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:3344:25:3344:59 | newOMIWithElement(...) : OrderedMapIterator [] : String | +| Test.java:3351:45:3351:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:3351:20:3351:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:3351:45:3351:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:3351:20:3351:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:3358:45:3358:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:3358:20:3358:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:3358:45:3358:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:3358:20:3358:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:3365:45:3365:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:3365:20:3365:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:3365:45:3365:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:3365:20:3365:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:3372:45:3372:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:3372:20:3372:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:3372:45:3372:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:3372:20:3372:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | +| Test.java:3381:26:3381:28 | out : Put [] : Object | Test.java:242:27:242:44 | container : Put [] : Object | Test.java:242:56:242:85 | getMapKey(...) : Object | Test.java:3381:9:3381:29 | getMapKeyFromPut(...) | +| Test.java:3388:19:3388:21 | out : MultiValueMap [] : Object | Test.java:228:18:228:29 | map : MultiValueMap [] : Object | Test.java:228:41:228:70 | next(...) : Object | Test.java:3388:9:3388:22 | getMapKey(...) | +| Test.java:3395:19:3395:21 | out : MultiMap [] : Object | Test.java:228:18:228:29 | map : MultiMap [] : Object | Test.java:228:41:228:70 | next(...) : Object | Test.java:3395:9:3395:22 | getMapKey(...) | +| Test.java:3402:19:3402:21 | out : BidiMap [] : Object | Test.java:228:18:228:29 | map : BidiMap [] : Object | Test.java:228:41:228:70 | next(...) : Object | Test.java:3402:9:3402:22 | getMapKey(...) | +| Test.java:3409:19:3409:21 | out : AbstractMapDecorator [] : Object | Test.java:228:18:228:29 | map : AbstractMapDecorator [] : Object | Test.java:228:41:228:70 | next(...) : Object | Test.java:3409:9:3409:22 | getMapKey(...) | +| Test.java:3416:28:3416:30 | out : Put [] : Object | Test.java:249:29:249:46 | container : Put [] : Object | Test.java:249:58:249:89 | getMapValue(...) : Object | Test.java:3416:9:3416:31 | getMapValueFromPut(...) | +| Test.java:3423:21:3423:23 | out : MultiValueMap [] : Object | Test.java:232:20:232:31 | map : MultiValueMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:3423:9:3423:24 | getMapValue(...) | +| Test.java:3430:21:3430:23 | out : MultiMap [] : Object | Test.java:232:20:232:31 | map : MultiMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:3430:9:3430:24 | getMapValue(...) | +| Test.java:3437:21:3437:23 | out : BidiMap [] : Object | Test.java:232:20:232:31 | map : BidiMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:3437:9:3437:24 | getMapValue(...) | +| Test.java:3444:21:3444:23 | out : AbstractMapDecorator [] : Object | Test.java:232:20:232:31 | map : AbstractMapDecorator [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:3444:9:3444:24 | getMapValue(...) | +| Test.java:3449:38:3449:53 | (...)... : String | Test.java:293:51:293:57 | value : String | Test.java:293:131:293:131 | m : HashedMap [] : String | Test.java:3449:13:3449:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | +| Test.java:3449:38:3449:53 | (...)... : String | Test.java:293:51:293:57 | value : String | Test.java:293:131:293:131 | m : HashedMap [] : String | Test.java:3449:13:3449:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | +| Test.java:3456:42:3456:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3456:23:3456:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3456:42:3456:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3456:23:3456:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3463:37:3463:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3463:18:3463:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3463:37:3463:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3463:18:3463:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3470:44:3470:59 | (...)... : String | Test.java:306:77:306:83 | value : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | Test.java:3470:17:3470:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | +| Test.java:3470:44:3470:59 | (...)... : String | Test.java:306:77:306:83 | value : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | Test.java:3470:17:3470:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | +| Test.java:3477:49:3477:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3477:30:3477:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3477:49:3477:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3477:30:3477:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:3484:34:3484:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:3484:13:3484:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:3486:26:3486:28 | out : Put [] : String | Test.java:242:27:242:44 | container : Put [] : String | Test.java:242:56:242:85 | getMapKey(...) : String | Test.java:3486:9:3486:29 | getMapKeyFromPut(...) | +| Test.java:3491:34:3491:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:3491:13:3491:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:3493:19:3493:21 | out : MultiValueMap [] : String | Test.java:228:18:228:29 | map : MultiValueMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3493:9:3493:22 | getMapKey(...) | +| Test.java:3498:34:3498:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:3498:13:3498:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:3500:19:3500:21 | out : AbstractMapDecorator [] : String | Test.java:228:18:228:29 | map : AbstractMapDecorator [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3500:9:3500:22 | getMapKey(...) | +| Test.java:3505:36:3505:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:3505:13:3505:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:3507:28:3507:30 | out : Put [] : String | Test.java:249:29:249:46 | container : Put [] : String | Test.java:249:58:249:89 | getMapValue(...) : String | Test.java:3507:9:3507:31 | getMapValueFromPut(...) | +| Test.java:3512:36:3512:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:3512:13:3512:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:3514:21:3514:23 | out : MultiValueMap [] : String | Test.java:232:20:232:31 | map : MultiValueMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:3514:9:3514:24 | getMapValue(...) | +| Test.java:3519:36:3519:51 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:3519:13:3519:52 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:3521:21:3521:23 | out : AbstractMapDecorator [] : String | Test.java:232:20:232:31 | map : AbstractMapDecorator [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:3521:9:3521:24 | getMapValue(...) | +| Test.java:3526:35:3526:50 | (...)... : String | Test.java:265:35:265:43 | element : String | Test.java:265:109:265:109 | q : LinkedList [] : String | Test.java:3526:15:3526:51 | newQueueWithElement(...) : LinkedList [] : String | +| Test.java:3528:20:3528:22 | out : Queue [] : String | Test.java:230:19:230:32 | it : Queue [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3528:9:3528:23 | getElement(...) | +| Test.java:3533:35:3533:50 | (...)... : String | Test.java:265:35:265:43 | element : String | Test.java:265:109:265:109 | q : LinkedList [] : String | Test.java:3533:15:3533:51 | newQueueWithElement(...) : LinkedList [] : String | +| Test.java:3535:20:3535:22 | out : Queue [] : String | Test.java:230:19:230:32 | it : Queue [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3535:9:3535:23 | getElement(...) | +| Test.java:3540:35:3540:50 | (...)... : String | Test.java:265:35:265:43 | element : String | Test.java:265:109:265:109 | q : LinkedList [] : String | Test.java:3540:15:3540:51 | newQueueWithElement(...) : LinkedList [] : String | +| Test.java:3542:20:3542:22 | out : Queue [] : String | Test.java:230:19:230:32 | it : Queue [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3542:9:3542:23 | getElement(...) | +| Test.java:3547:35:3547:50 | (...)... : String | Test.java:265:35:265:43 | element : String | Test.java:265:109:265:109 | q : LinkedList [] : String | Test.java:3547:15:3547:51 | newQueueWithElement(...) : LinkedList [] : String | +| Test.java:3549:20:3549:22 | out : Queue [] : String | Test.java:230:19:230:32 | it : Queue [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3549:9:3549:23 | getElement(...) | +| Test.java:3554:48:3554:63 | (...)... : String | Test.java:266:41:266:49 | element : String | Test.java:266:113:266:113 | s : MySetView [] : String | Test.java:3554:26:3554:64 | newSetViewWithElement(...) : MySetView [] : String | +| Test.java:3556:20:3556:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3556:9:3556:23 | getElement(...) | +| Test.java:3561:41:3561:56 | (...)... : String | Test.java:266:41:266:49 | element : String | Test.java:266:113:266:113 | s : MySetView [] : String | Test.java:3561:19:3561:57 | newSetViewWithElement(...) : MySetView [] : String | +| Test.java:3562:10:3562:11 | in : MySetView [] : String | Test.java:7082:15:7082:30 | parameter this : MySetView [] : String | Test.java:7082:43:7082:58 | createIterator(...) : Iterator [] : String | Test.java:3562:10:3562:30 | myCreateIterator(...) : Iterator [] : String | +| Test.java:3563:20:3563:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:3563:9:3563:23 | getElement(...) | +| Test.java:3568:41:3568:56 | (...)... : String | Test.java:266:41:266:49 | element : String | Test.java:266:113:266:113 | s : MySetView [] : String | Test.java:3568:19:3568:57 | newSetViewWithElement(...) : MySetView [] : String | +| Test.java:3570:20:3570:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3570:9:3570:23 | getElement(...) | +| Test.java:3575:35:3575:50 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3575:13:3575:51 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3577:20:3577:22 | out : SetView [] : String | Test.java:230:19:230:32 | it : SetView [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3577:9:3577:23 | getElement(...) | +| Test.java:3582:35:3582:50 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3582:13:3582:51 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3584:20:3584:22 | out : SetView [] : String | Test.java:230:19:230:32 | it : SetView [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3584:9:3584:23 | getElement(...) | +| Test.java:3589:35:3589:50 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3589:13:3589:51 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3591:20:3591:22 | out : SetView [] : String | Test.java:230:19:230:32 | it : SetView [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3591:9:3591:23 | getElement(...) | +| Test.java:3605:20:3605:22 | out : HashSet [] : Object | Test.java:230:19:230:32 | it : HashSet [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:3605:9:3605:23 | getElement(...) | +| Test.java:3610:35:3610:50 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3610:13:3610:51 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3612:20:3612:22 | out : SetView [] : String | Test.java:230:19:230:32 | it : SetView [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3612:9:3612:23 | getElement(...) | +| Test.java:3617:35:3617:50 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3617:13:3617:51 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3619:20:3619:22 | out : SetView [] : String | Test.java:230:19:230:32 | it : SetView [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3619:9:3619:23 | getElement(...) | +| Test.java:3624:35:3624:50 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3624:13:3624:51 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3626:20:3626:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3626:9:3626:23 | getElement(...) | +| Test.java:3631:44:3631:59 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3631:22:3631:60 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3633:20:3633:22 | out : SortedSet [] : String | Test.java:230:19:230:32 | it : SortedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3633:9:3633:23 | getElement(...) | +| Test.java:3638:35:3638:50 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3638:13:3638:51 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3640:20:3640:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3640:9:3640:23 | getElement(...) | +| Test.java:3645:41:3645:56 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3645:19:3645:57 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3647:20:3647:22 | out : SortedSet [] : String | Test.java:230:19:230:32 | it : SortedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3647:9:3647:23 | getElement(...) | +| Test.java:3652:35:3652:50 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3652:13:3652:51 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3654:20:3654:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3654:9:3654:23 | getElement(...) | +| Test.java:3659:41:3659:56 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3659:19:3659:57 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3661:20:3661:22 | out : SortedSet [] : String | Test.java:230:19:230:32 | it : SortedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3661:9:3661:23 | getElement(...) | +| Test.java:3666:44:3666:59 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3666:22:3666:60 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3668:20:3668:22 | out : SortedSet [] : String | Test.java:230:19:230:32 | it : SortedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3668:9:3668:23 | getElement(...) | +| Test.java:3673:35:3673:50 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3673:13:3673:51 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3675:20:3675:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3675:9:3675:23 | getElement(...) | +| Test.java:3680:41:3680:56 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3680:19:3680:57 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3682:20:3682:22 | out : SortedSet [] : String | Test.java:230:19:230:32 | it : SortedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3682:9:3682:23 | getElement(...) | +| Test.java:3687:35:3687:50 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3687:13:3687:51 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3689:20:3689:22 | out : SetView [] : String | Test.java:230:19:230:32 | it : SetView [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3689:9:3689:23 | getElement(...) | +| Test.java:3694:35:3694:50 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3694:13:3694:51 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3696:20:3696:22 | out : SetView [] : String | Test.java:230:19:230:32 | it : SetView [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3696:9:3696:23 | getElement(...) | +| Test.java:3701:44:3701:59 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3701:22:3701:60 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3703:20:3703:22 | out : SortedSet [] : String | Test.java:230:19:230:32 | it : SortedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3703:9:3703:23 | getElement(...) | +| Test.java:3710:20:3710:22 | out : Set [] : Object | Test.java:230:19:230:32 | it : Set [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:3710:9:3710:23 | getElement(...) | +| Test.java:3715:35:3715:50 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3715:13:3715:51 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3717:20:3717:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3717:9:3717:23 | getElement(...) | +| Test.java:3722:41:3722:56 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3722:19:3722:57 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:3724:20:3724:22 | out : SortedSet [] : String | Test.java:230:19:230:32 | it : SortedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3724:9:3724:23 | getElement(...) | +| Test.java:3729:41:3729:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3729:19:3729:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3729:41:3729:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3729:19:3729:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3736:41:3736:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3736:19:3736:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3736:41:3736:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3736:19:3736:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3743:36:3743:51 | (...)... : String | Test.java:275:49:275:53 | key : String | Test.java:275:125:275:125 | m : HashedMap [] : String | Test.java:3743:13:3743:52 | newHashedMapWithMapKey(...) : HashedMap [] : String | +| Test.java:3743:36:3743:51 | (...)... : String | Test.java:275:49:275:53 | key : String | Test.java:275:125:275:125 | m : HashedMap [] : String | Test.java:3743:13:3743:52 | newHashedMapWithMapKey(...) : HashedMap [] : String | +| Test.java:3745:19:3745:21 | out : IterableMap [] : String | Test.java:228:18:228:29 | map : IterableMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3745:9:3745:22 | getMapKey(...) | +| Test.java:3750:38:3750:53 | (...)... : String | Test.java:293:51:293:57 | value : String | Test.java:293:131:293:131 | m : HashedMap [] : String | Test.java:3750:13:3750:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | +| Test.java:3750:38:3750:53 | (...)... : String | Test.java:293:51:293:57 | value : String | Test.java:293:131:293:131 | m : HashedMap [] : String | Test.java:3750:13:3750:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | +| Test.java:3752:21:3752:23 | out : IterableMap [] : String | Test.java:232:20:232:31 | map : IterableMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:3752:9:3752:24 | getMapValue(...) | +| Test.java:3757:36:3757:51 | (...)... : String | Test.java:275:49:275:53 | key : String | Test.java:275:125:275:125 | m : HashedMap [] : String | Test.java:3757:13:3757:52 | newHashedMapWithMapKey(...) : HashedMap [] : String | +| Test.java:3757:36:3757:51 | (...)... : String | Test.java:275:49:275:53 | key : String | Test.java:275:125:275:125 | m : HashedMap [] : String | Test.java:3757:13:3757:52 | newHashedMapWithMapKey(...) : HashedMap [] : String | +| Test.java:3759:19:3759:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3759:9:3759:22 | getMapKey(...) | +| Test.java:3764:38:3764:53 | (...)... : String | Test.java:293:51:293:57 | value : String | Test.java:293:131:293:131 | m : HashedMap [] : String | Test.java:3764:13:3764:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | +| Test.java:3764:38:3764:53 | (...)... : String | Test.java:293:51:293:57 | value : String | Test.java:293:131:293:131 | m : HashedMap [] : String | Test.java:3764:13:3764:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | +| Test.java:3766:21:3766:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:3766:9:3766:24 | getMapValue(...) | +| Test.java:3771:40:3771:55 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:3771:14:3771:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:3771:40:3771:55 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:3771:14:3771:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:3773:19:3773:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3773:9:3773:22 | getMapKey(...) | +| Test.java:3778:42:3778:57 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:3778:14:3778:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:3778:42:3778:57 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:3778:14:3778:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:3780:21:3780:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:3780:9:3780:24 | getMapValue(...) | +| Test.java:3785:40:3785:55 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:3785:14:3785:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:3785:40:3785:55 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:3785:14:3785:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:3787:19:3787:21 | out : Trie [] : String | Test.java:228:18:228:29 | map : Trie [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3787:9:3787:22 | getMapKey(...) | +| Test.java:3792:42:3792:57 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:3792:14:3792:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:3792:42:3792:57 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:3792:14:3792:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:3794:21:3794:23 | out : Trie [] : String | Test.java:232:20:232:31 | map : Trie [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:3794:9:3794:24 | getMapValue(...) | +| Test.java:3799:35:3799:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3799:13:3799:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3799:35:3799:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3799:13:3799:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3800:37:3800:38 | in : TreeBag [] : String | Test.java:7104:33:7104:48 | bag : TreeBag [] : String | Test.java:7104:10:7104:31 | parameter this [Return] : MyAbstractBagDecorator [] : String | Test.java:3800:10:3800:39 | new MyAbstractBagDecorator<>(...) : MyAbstractBagDecorator [] : String | +| Test.java:3801:20:3801:22 | out : MyAbstractBagDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractBagDecorator [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3801:9:3801:23 | getElement(...) | +| Test.java:3807:31:3807:32 | in : Map [] : String | Test.java:7110:27:7110:58 | map : Map [] : String | Test.java:7110:10:7110:25 | parameter this [Return] : MyAbstractMapBag [] : String | Test.java:3807:10:3807:33 | new MyAbstractMapBag<>(...) : MyAbstractMapBag [] : String | +| Test.java:3808:20:3808:22 | out : MyAbstractMapBag [] : String | Test.java:230:19:230:32 | it : MyAbstractMapBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3808:9:3808:23 | getElement(...) | +| Test.java:3813:47:3813:76 | of(...) : Map [] : String | Test.java:7110:27:7110:58 | map : Map [] : String | Test.java:7110:10:7110:25 | parameter this [Return] : MyAbstractMapBag [] : String | Test.java:3813:26:3813:77 | new MyAbstractMapBag<>(...) : MyAbstractMapBag [] : String | +| Test.java:3814:10:3814:11 | in : MyAbstractMapBag [] : String | Test.java:7113:33:7113:40 | parameter this : MyAbstractMapBag [] : String | Test.java:7114:11:7114:24 | getMap(...) : Map [] : String | Test.java:3814:10:3814:22 | myGetMap(...) : Map [] : String | +| Test.java:3815:19:3815:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3815:9:3815:22 | getMapKey(...) | +| Test.java:3820:41:3820:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3820:19:3820:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3820:41:3820:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3820:19:3820:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3821:43:3821:44 | in : TreeBag [] : String | Test.java:7119:39:7119:60 | bag : TreeBag [] : String | Test.java:7119:10:7119:37 | parameter this [Return] : MyAbstractSortedBagDecorator [] : String | Test.java:3821:10:3821:45 | new MyAbstractSortedBagDecorator<>(...) : MyAbstractSortedBagDecorator [] : String | +| Test.java:3822:20:3822:22 | out : MyAbstractSortedBagDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractSortedBagDecorator [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3822:9:3822:23 | getElement(...) | +| Test.java:3827:35:3827:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3827:13:3827:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3827:35:3827:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3827:13:3827:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3829:20:3829:22 | out : CollectionBag [] : String | Test.java:230:19:230:32 | it : CollectionBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3829:9:3829:23 | getElement(...) | +| Test.java:3834:35:3834:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3834:13:3834:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3834:35:3834:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3834:13:3834:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3836:20:3836:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3836:9:3836:23 | getElement(...) | +| Test.java:3841:41:3841:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3841:19:3841:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3841:41:3841:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3841:19:3841:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3843:20:3843:22 | out : CollectionSortedBag [] : String | Test.java:230:19:230:32 | it : CollectionSortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3843:9:3843:23 | getElement(...) | +| Test.java:3848:41:3848:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3848:19:3848:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3848:41:3848:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3848:19:3848:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3850:20:3850:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3850:9:3850:23 | getElement(...) | +| Test.java:3855:42:3855:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3855:20:3855:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3855:42:3855:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3855:20:3855:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3857:20:3857:22 | out : HashBag [] : String | Test.java:230:19:230:32 | it : HashBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3857:9:3857:23 | getElement(...) | +| Test.java:3862:35:3862:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3862:13:3862:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3862:35:3862:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3862:13:3862:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3864:20:3864:22 | out : PredicatedBag [] : String | Test.java:230:19:230:32 | it : PredicatedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3864:9:3864:23 | getElement(...) | +| Test.java:3869:41:3869:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3869:19:3869:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3869:41:3869:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3869:19:3869:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3871:20:3871:22 | out : PredicatedSortedBag [] : String | Test.java:230:19:230:32 | it : PredicatedSortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3871:9:3871:23 | getElement(...) | +| Test.java:3876:35:3876:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3876:13:3876:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3876:35:3876:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3876:13:3876:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3878:20:3878:22 | out : SynchronizedBag [] : String | Test.java:230:19:230:32 | it : SynchronizedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3878:9:3878:23 | getElement(...) | +| Test.java:3883:41:3883:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3883:19:3883:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3883:41:3883:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3883:19:3883:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3885:20:3885:22 | out : SynchronizedSortedBag [] : String | Test.java:230:19:230:32 | it : SynchronizedSortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3885:9:3885:23 | getElement(...) | +| Test.java:3890:35:3890:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3890:13:3890:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3890:35:3890:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3890:13:3890:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3892:20:3892:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3892:9:3892:23 | getElement(...) | +| Test.java:3897:41:3897:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3897:19:3897:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3897:41:3897:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3897:19:3897:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3899:20:3899:22 | out : TransformedSortedBag [] : String | Test.java:230:19:230:32 | it : TransformedSortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3899:9:3899:23 | getElement(...) | +| Test.java:3904:42:3904:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3904:20:3904:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3904:42:3904:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3904:20:3904:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3906:20:3906:22 | out : TreeBag [] : String | Test.java:230:19:230:32 | it : TreeBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3906:9:3906:23 | getElement(...) | +| Test.java:3911:35:3911:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3911:13:3911:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3911:35:3911:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3911:13:3911:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3913:20:3913:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3913:9:3913:23 | getElement(...) | +| Test.java:3918:41:3918:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3918:19:3918:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3918:41:3918:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3918:19:3918:57 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:3920:20:3920:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3920:9:3920:23 | getElement(...) | +| Test.java:3925:46:3925:61 | (...)... : String | Test.java:274:61:274:65 | key : String | Test.java:274:77:274:124 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:3925:17:3925:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:3926:41:3926:42 | in : DualTreeBidiMap [] : String | Test.java:7125:37:7125:59 | map : DualTreeBidiMap [] : String | Test.java:7125:10:7125:35 | parameter this [Return] : MyAbstractBidiMapDecorator [] : String | Test.java:3926:10:3926:43 | new MyAbstractBidiMapDecorator<>(...) : MyAbstractBidiMapDecorator [] : String | +| Test.java:3927:19:3927:21 | out : MyAbstractBidiMapDecorator [] : String | Test.java:228:18:228:29 | map : MyAbstractBidiMapDecorator [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3927:9:3927:22 | getMapKey(...) | +| Test.java:3932:48:3932:63 | (...)... : String | Test.java:292:63:292:69 | value : String | Test.java:292:81:292:130 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:3932:17:3932:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:3933:41:3933:42 | in : DualTreeBidiMap [] : String | Test.java:7125:37:7125:59 | map : DualTreeBidiMap [] : String | Test.java:7125:10:7125:35 | parameter this [Return] : MyAbstractBidiMapDecorator [] : String | Test.java:3933:10:3933:43 | new MyAbstractBidiMapDecorator<>(...) : MyAbstractBidiMapDecorator [] : String | +| Test.java:3934:21:3934:23 | out : MyAbstractBidiMapDecorator [] : String | Test.java:232:20:232:31 | map : MyAbstractBidiMapDecorator [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:3934:9:3934:24 | getMapValue(...) | +| Test.java:3939:46:3939:61 | (...)... : String | Test.java:274:61:274:65 | key : String | Test.java:274:77:274:124 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:3939:17:3939:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:3940:36:3940:37 | in : DualTreeBidiMap [] : String | Test.java:7134:32:7134:56 | normalMap : DualTreeBidiMap [] : String | Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | Test.java:3940:10:3940:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | +| Test.java:3941:19:3941:21 | out : MyAbstractDualBidiMap [] : String | Test.java:228:18:228:29 | map : MyAbstractDualBidiMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3941:9:3941:22 | getMapKey(...) | +| Test.java:3946:46:3946:61 | (...)... : String | Test.java:274:61:274:65 | key : String | Test.java:274:77:274:124 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:3946:17:3946:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:3947:42:3947:43 | in : DualTreeBidiMap [] : String | Test.java:7134:59:7134:84 | reverseMap : DualTreeBidiMap [] : String | Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | Test.java:3947:10:3947:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | +| Test.java:3948:21:3948:23 | out : MyAbstractDualBidiMap [] : String | Test.java:232:20:232:31 | map : MyAbstractDualBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:3948:9:3948:24 | getMapValue(...) | +| Test.java:3953:46:3953:61 | (...)... : String | Test.java:274:61:274:65 | key : String | Test.java:274:77:274:124 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:3953:17:3953:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:3954:48:3954:49 | in : DualTreeBidiMap [] : String | Test.java:7134:87:7134:120 | inverseBidiMap : DualTreeBidiMap [] : String | Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | Test.java:3954:10:3954:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | +| Test.java:3955:21:3955:23 | out : MyAbstractDualBidiMap [] : String | Test.java:232:20:232:31 | map : MyAbstractDualBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:3955:9:3955:24 | getMapValue(...) | +| Test.java:3960:48:3960:63 | (...)... : String | Test.java:292:63:292:69 | value : String | Test.java:292:81:292:130 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:3960:17:3960:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:3961:36:3961:37 | in : DualTreeBidiMap [] : String | Test.java:7134:32:7134:56 | normalMap : DualTreeBidiMap [] : String | Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | Test.java:3961:10:3961:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | +| Test.java:3962:21:3962:23 | out : MyAbstractDualBidiMap [] : String | Test.java:232:20:232:31 | map : MyAbstractDualBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:3962:9:3962:24 | getMapValue(...) | +| Test.java:3967:48:3967:63 | (...)... : String | Test.java:292:63:292:69 | value : String | Test.java:292:81:292:130 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:3967:17:3967:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:3968:42:3968:43 | in : DualTreeBidiMap [] : String | Test.java:7134:59:7134:84 | reverseMap : DualTreeBidiMap [] : String | Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | Test.java:3968:10:3968:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | +| Test.java:3969:19:3969:21 | out : MyAbstractDualBidiMap [] : String | Test.java:228:18:228:29 | map : MyAbstractDualBidiMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3969:9:3969:22 | getMapKey(...) | +| Test.java:3974:48:3974:63 | (...)... : String | Test.java:292:63:292:69 | value : String | Test.java:292:81:292:130 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:3974:17:3974:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:3975:48:3975:49 | in : DualTreeBidiMap [] : String | Test.java:7134:87:7134:120 | inverseBidiMap : DualTreeBidiMap [] : String | Test.java:7134:10:7134:30 | parameter this [Return] : MyAbstractDualBidiMap [] : String | Test.java:3975:10:3975:50 | new MyAbstractDualBidiMap<>(...) : MyAbstractDualBidiMap [] : String | +| Test.java:3976:19:3976:21 | out : MyAbstractDualBidiMap [] : String | Test.java:228:18:228:29 | map : MyAbstractDualBidiMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3976:9:3976:22 | getMapKey(...) | +| Test.java:3981:53:3981:68 | (...)... : String | Test.java:274:61:274:65 | key : String | Test.java:274:77:274:124 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:3981:24:3981:69 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:3982:48:3982:49 | in : DualTreeBidiMap [] : String | Test.java:7143:44:7143:73 | map : DualTreeBidiMap [] : String | Test.java:7143:10:7143:42 | parameter this [Return] : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:3982:10:3982:50 | new MyAbstractOrderedBidiMapDecorator<>(...) : MyAbstractOrderedBidiMapDecorator [] : String | +| Test.java:3983:19:3983:21 | out : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:228:18:228:29 | map : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3983:9:3983:22 | getMapKey(...) | +| Test.java:3988:55:3988:70 | (...)... : String | Test.java:292:63:292:69 | value : String | Test.java:292:81:292:130 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:3988:24:3988:71 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:3989:48:3989:49 | in : DualTreeBidiMap [] : String | Test.java:7143:44:7143:73 | map : DualTreeBidiMap [] : String | Test.java:7143:10:7143:42 | parameter this [Return] : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:3989:10:3989:50 | new MyAbstractOrderedBidiMapDecorator<>(...) : MyAbstractOrderedBidiMapDecorator [] : String | +| Test.java:3990:21:3990:23 | out : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:232:20:232:31 | map : MyAbstractOrderedBidiMapDecorator [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:3990:9:3990:24 | getMapValue(...) | +| Test.java:3995:52:3995:67 | (...)... : String | Test.java:274:61:274:65 | key : String | Test.java:274:77:274:124 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:3995:23:3995:68 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:3996:47:3996:48 | in : DualTreeBidiMap [] : String | Test.java:7086:43:7086:71 | map : DualTreeBidiMap [] : String | Test.java:7086:10:7086:41 | parameter this [Return] : MyAbstractSortedBidiMapDecorator [] : String | Test.java:3996:10:3996:49 | new MyAbstractSortedBidiMapDecorator<>(...) : MyAbstractSortedBidiMapDecorator [] : String | +| Test.java:3997:19:3997:21 | out : MyAbstractSortedBidiMapDecorator [] : String | Test.java:228:18:228:29 | map : MyAbstractSortedBidiMapDecorator [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3997:9:3997:22 | getMapKey(...) | +| Test.java:4002:54:4002:69 | (...)... : String | Test.java:292:63:292:69 | value : String | Test.java:292:81:292:130 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:4002:23:4002:70 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:4003:47:4003:48 | in : DualTreeBidiMap [] : String | Test.java:7086:43:7086:71 | map : DualTreeBidiMap [] : String | Test.java:7086:10:7086:41 | parameter this [Return] : MyAbstractSortedBidiMapDecorator [] : String | Test.java:4003:10:4003:49 | new MyAbstractSortedBidiMapDecorator<>(...) : MyAbstractSortedBidiMapDecorator [] : String | +| Test.java:4004:21:4004:23 | out : MyAbstractSortedBidiMapDecorator [] : String | Test.java:232:20:232:31 | map : MyAbstractSortedBidiMapDecorator [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:4004:9:4004:24 | getMapValue(...) | +| Test.java:4011:19:4011:21 | out : DualHashBidiMap [] : String | Test.java:228:18:228:29 | map : DualHashBidiMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:4011:9:4011:22 | getMapKey(...) | +| Test.java:4018:21:4018:23 | out : DualHashBidiMap [] : String | Test.java:232:20:232:31 | map : DualHashBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:4018:9:4018:24 | getMapValue(...) | +| Test.java:4025:19:4025:21 | out : DualLinkedHashBidiMap [] : String | Test.java:228:18:228:29 | map : DualLinkedHashBidiMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:4025:9:4025:22 | getMapKey(...) | +| Test.java:4032:21:4032:23 | out : DualLinkedHashBidiMap [] : String | Test.java:232:20:232:31 | map : DualLinkedHashBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:4032:9:4032:24 | getMapValue(...) | +| Test.java:4039:19:4039:21 | out : DualTreeBidiMap [] : String | Test.java:228:18:228:29 | map : DualTreeBidiMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:4039:9:4039:22 | getMapKey(...) | +| Test.java:4046:21:4046:23 | out : DualTreeBidiMap [] : String | Test.java:232:20:232:31 | map : DualTreeBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:4046:9:4046:24 | getMapValue(...) | +| Test.java:4051:54:4051:69 | (...)... : String | Test.java:274:61:274:65 | key : String | Test.java:274:77:274:124 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:4051:25:4051:70 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:4053:21:4053:23 | out : OrderedBidiMap [] : String | Test.java:232:20:232:31 | map : OrderedBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:4053:9:4053:24 | getMapValue(...) | +| Test.java:4058:56:4058:71 | (...)... : String | Test.java:292:63:292:69 | value : String | Test.java:292:81:292:130 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:4058:25:4058:72 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:4060:19:4060:21 | out : OrderedBidiMap [] : String | Test.java:228:18:228:29 | map : OrderedBidiMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:4060:9:4060:22 | getMapKey(...) | +| Test.java:4065:54:4065:69 | (...)... : String | Test.java:274:61:274:65 | key : String | Test.java:274:77:274:124 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:4065:25:4065:70 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:4067:21:4067:23 | out : SortedBidiMap [] : String | Test.java:232:20:232:31 | map : SortedBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:4067:9:4067:24 | getMapValue(...) | +| Test.java:4072:56:4072:71 | (...)... : String | Test.java:292:63:292:69 | value : String | Test.java:292:81:292:130 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:4072:25:4072:72 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:4074:19:4074:21 | out : SortedBidiMap [] : String | Test.java:228:18:228:29 | map : SortedBidiMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:4074:9:4074:22 | getMapKey(...) | +| Test.java:4081:19:4081:21 | out : TreeBidiMap [] : String | Test.java:228:18:228:29 | map : TreeBidiMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:4081:9:4081:22 | getMapKey(...) | +| Test.java:4088:21:4088:23 | out : TreeBidiMap [] : String | Test.java:232:20:232:31 | map : TreeBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:4088:9:4088:24 | getMapValue(...) | +| Test.java:4093:46:4093:61 | (...)... : String | Test.java:274:61:274:65 | key : String | Test.java:274:77:274:124 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:4093:17:4093:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:4095:19:4095:21 | out : BidiMap [] : String | Test.java:228:18:228:29 | map : BidiMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:4095:9:4095:22 | getMapKey(...) | +| Test.java:4100:48:4100:63 | (...)... : String | Test.java:292:63:292:69 | value : String | Test.java:292:81:292:130 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:4100:17:4100:64 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:4102:21:4102:23 | out : BidiMap [] : String | Test.java:232:20:232:31 | map : BidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:4102:9:4102:24 | getMapValue(...) | +| Test.java:4107:147:4107:162 | (...)... : String | Test.java:274:61:274:65 | key : String | Test.java:274:77:274:124 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:4107:118:4107:163 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:4109:21:4109:23 | out : OrderedBidiMap [] : String | Test.java:232:20:232:31 | map : OrderedBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:4109:9:4109:24 | getMapValue(...) | +| Test.java:4114:149:4114:164 | (...)... : String | Test.java:292:63:292:69 | value : String | Test.java:292:81:292:130 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:4114:118:4114:165 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:4116:19:4116:21 | out : OrderedBidiMap [] : String | Test.java:228:18:228:29 | map : OrderedBidiMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:4116:9:4116:22 | getMapKey(...) | +| Test.java:4121:53:4121:68 | (...)... : String | Test.java:274:61:274:65 | key : String | Test.java:274:77:274:124 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:4121:24:4121:69 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:4123:19:4123:21 | out : OrderedBidiMap [] : String | Test.java:228:18:228:29 | map : OrderedBidiMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:4123:9:4123:22 | getMapKey(...) | +| Test.java:4128:55:4128:70 | (...)... : String | Test.java:292:63:292:69 | value : String | Test.java:292:81:292:130 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:4128:24:4128:71 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:4130:21:4130:23 | out : OrderedBidiMap [] : String | Test.java:232:20:232:31 | map : OrderedBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:4130:9:4130:24 | getMapValue(...) | +| Test.java:4135:52:4135:67 | (...)... : String | Test.java:274:61:274:65 | key : String | Test.java:274:77:274:124 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:4135:23:4135:68 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | +| Test.java:4137:19:4137:21 | out : SortedBidiMap [] : String | Test.java:228:18:228:29 | map : SortedBidiMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:4137:9:4137:22 | getMapKey(...) | +| Test.java:4142:54:4142:69 | (...)... : String | Test.java:292:63:292:69 | value : String | Test.java:292:81:292:130 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:4142:23:4142:70 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | +| Test.java:4144:21:4144:23 | out : SortedBidiMap [] : String | Test.java:232:20:232:31 | map : SortedBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:4144:9:4144:24 | getMapValue(...) | +| Test.java:4149:42:4149:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4149:20:4149:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4149:42:4149:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4149:20:4149:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4150:44:4150:45 | in : TreeBag [] : String | Test.java:7149:40:7149:63 | coll : TreeBag [] : String | Test.java:7149:10:7149:38 | parameter this [Return] : MyAbstractCollectionDecorator [] : String | Test.java:4150:10:4150:46 | new MyAbstractCollectionDecorator<>(...) : MyAbstractCollectionDecorator [] : String | +| Test.java:4151:20:4151:22 | out : MyAbstractCollectionDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractCollectionDecorator [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4151:9:4151:23 | getElement(...) | +| Test.java:4156:73:4156:111 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:7149:40:7149:63 | coll : TreeBag [] : String | Test.java:7149:10:7149:38 | parameter this [Return] : MyAbstractCollectionDecorator [] : String | Test.java:4156:39:4156:112 | new MyAbstractCollectionDecorator<>(...) : MyAbstractCollectionDecorator [] : String | +| Test.java:4156:95:4156:110 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4156:73:4156:111 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4156:95:4156:110 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4156:73:4156:111 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4157:10:4157:11 | in : MyAbstractCollectionDecorator [] : String | Test.java:7152:24:7152:34 | parameter this : MyAbstractCollectionDecorator [] : String | Test.java:7153:11:7153:27 | decorated(...) : Collection [] : String | Test.java:4157:10:4157:25 | myDecorated(...) : Collection [] : String | +| Test.java:4158:20:4158:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4158:9:4158:23 | getElement(...) | +| Test.java:4163:42:4163:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4163:20:4163:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4163:42:4163:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4163:20:4163:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4164:24:4164:25 | in : TreeBag [] : String | Test.java:7155:31:7155:54 | coll : TreeBag [] : String | Test.java:7155:15:7155:29 | parameter this [Return] : MyAbstractCollectionDecorator [] : String | Test.java:4164:4:4164:6 | out [post update] : MyAbstractCollectionDecorator [] : String | +| Test.java:4165:20:4165:22 | out : MyAbstractCollectionDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractCollectionDecorator [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4165:9:4165:23 | getElement(...) | +| Test.java:4173:20:4173:22 | out : CompositeCollection [] : Object | Test.java:230:19:230:32 | it : CompositeCollection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:4173:9:4173:23 | getElement(...) | +| Test.java:4181:20:4181:34 | getElement(...) : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:4181:9:4181:35 | getElement(...) | +| Test.java:4186:42:4186:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4186:20:4186:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4186:42:4186:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4186:20:4186:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4189:20:4189:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4189:9:4189:23 | getElement(...) | +| Test.java:4194:42:4194:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4194:20:4194:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4194:42:4194:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4194:20:4194:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4197:20:4197:34 | getElement(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4197:9:4197:35 | getElement(...) | +| Test.java:4202:42:4202:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4202:20:4202:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4202:42:4202:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4202:20:4202:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4204:20:4204:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4204:9:4204:23 | getElement(...) | +| Test.java:4209:42:4209:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4209:20:4209:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4209:42:4209:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4209:20:4209:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4211:20:4211:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4211:9:4211:23 | getElement(...) | +| Test.java:4216:42:4216:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4216:20:4216:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4216:42:4216:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4216:20:4216:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4218:20:4218:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4218:9:4218:23 | getElement(...) | +| Test.java:4223:61:4223:76 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4223:39:4223:77 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4223:61:4223:76 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4223:39:4223:77 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4225:20:4225:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4225:9:4225:23 | getElement(...) | +| Test.java:4230:42:4230:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4230:20:4230:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4230:42:4230:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4230:20:4230:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4232:20:4232:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4232:9:4232:23 | getElement(...) | +| Test.java:4237:42:4237:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4237:20:4237:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4237:42:4237:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4237:20:4237:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4239:20:4239:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4239:9:4239:23 | getElement(...) | +| Test.java:4244:42:4244:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4244:20:4244:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4244:42:4244:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4244:20:4244:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4246:20:4246:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4246:9:4246:23 | getElement(...) | +| Test.java:4251:61:4251:76 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4251:39:4251:77 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4251:61:4251:76 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4251:39:4251:77 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4253:20:4253:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4253:9:4253:23 | getElement(...) | +| Test.java:4258:75:4258:90 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4258:53:4258:91 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4258:75:4258:90 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4258:53:4258:91 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4260:20:4260:34 | getElement(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4260:9:4260:35 | getElement(...) | +| Test.java:4265:75:4265:90 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4265:53:4265:91 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4265:75:4265:90 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4265:53:4265:91 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4267:20:4267:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4267:9:4267:23 | getElement(...) | +| Test.java:4272:42:4272:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4272:20:4272:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4272:42:4272:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4272:20:4272:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4274:20:4274:22 | out : IndexedCollection [] : String | Test.java:230:19:230:32 | it : IndexedCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4274:9:4274:23 | getElement(...) | +| Test.java:4279:71:4279:86 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4279:49:4279:87 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4279:71:4279:86 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4279:49:4279:87 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4286:42:4286:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4286:20:4286:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4286:42:4286:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4286:20:4286:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4288:20:4288:22 | out : IndexedCollection [] : String | Test.java:230:19:230:32 | it : IndexedCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4288:9:4288:23 | getElement(...) | +| Test.java:4293:42:4293:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4293:20:4293:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4293:42:4293:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4293:20:4293:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4295:20:4295:22 | out : IndexedCollection [] : String | Test.java:230:19:230:32 | it : IndexedCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4295:9:4295:23 | getElement(...) | +| Test.java:4300:71:4300:86 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4300:49:4300:87 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4300:71:4300:86 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4300:49:4300:87 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4302:20:4302:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4302:9:4302:23 | getElement(...) | +| Test.java:4309:20:4309:45 | createPredicatedList(...) : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4309:9:4309:46 | getElement(...) | +| Test.java:4316:20:4316:45 | createPredicatedList(...) : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4316:9:4316:46 | getElement(...) | +| Test.java:4321:80:4321:95 | (...)... : String | Test.java:264:80:264:88 | element : String | Test.java:264:194:264:194 | x : Builder [] : String | Test.java:4321:38:4321:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4323:20:4323:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4323:9:4323:23 | getElement(...) | +| Test.java:4328:80:4328:95 | (...)... : String | Test.java:264:80:264:88 | element : String | Test.java:264:194:264:194 | x : Builder [] : String | Test.java:4328:38:4328:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4330:20:4330:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4330:9:4330:23 | getElement(...) | +| Test.java:4335:35:4335:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4335:13:4335:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4335:35:4335:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4335:13:4335:51 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4338:20:4338:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4338:9:4338:23 | getElement(...) | +| Test.java:4343:80:4343:95 | (...)... : String | Test.java:264:80:264:88 | element : String | Test.java:264:194:264:194 | x : Builder [] : String | Test.java:4343:38:4343:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4345:20:4345:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4345:9:4345:23 | getElement(...) | +| Test.java:4350:80:4350:95 | (...)... : String | Test.java:264:80:264:88 | element : String | Test.java:264:194:264:194 | x : Builder [] : String | Test.java:4350:38:4350:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4352:20:4352:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4352:9:4352:23 | getElement(...) | +| Test.java:4360:20:4360:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4360:9:4360:23 | getElement(...) | +| Test.java:4365:80:4365:95 | (...)... : String | Test.java:264:80:264:88 | element : String | Test.java:264:194:264:194 | x : Builder [] : String | Test.java:4365:38:4365:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4367:20:4367:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4367:9:4367:23 | getElement(...) | +| Test.java:4372:80:4372:95 | (...)... : String | Test.java:264:80:264:88 | element : String | Test.java:264:194:264:194 | x : Builder [] : String | Test.java:4372:38:4372:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4374:20:4374:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4374:9:4374:23 | getElement(...) | +| Test.java:4379:45:4379:60 | (...)... : String | Test.java:258:49:258:57 | element : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | Test.java:4379:18:4379:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:4379:45:4379:60 | (...)... : String | Test.java:258:49:258:57 | element : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | Test.java:4379:18:4379:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:4382:20:4382:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4382:9:4382:23 | getElement(...) | +| Test.java:4387:80:4387:95 | (...)... : String | Test.java:264:80:264:88 | element : String | Test.java:264:194:264:194 | x : Builder [] : String | Test.java:4387:38:4387:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4389:20:4389:22 | out : Queue [] : String | Test.java:230:19:230:32 | it : Queue [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4389:9:4389:23 | getElement(...) | +| Test.java:4394:80:4394:95 | (...)... : String | Test.java:264:80:264:88 | element : String | Test.java:264:194:264:194 | x : Builder [] : String | Test.java:4394:38:4394:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4396:20:4396:22 | out : Queue [] : String | Test.java:230:19:230:32 | it : Queue [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4396:9:4396:23 | getElement(...) | +| Test.java:4401:47:4401:62 | (...)... : String | Test.java:253:59:253:67 | element : String | Test.java:253:147:253:147 | x : CircularFifoQueue [] : String | Test.java:4401:15:4401:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | +| Test.java:4404:20:4404:22 | out : Queue [] : String | Test.java:230:19:230:32 | it : Queue [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4404:9:4404:23 | getElement(...) | +| Test.java:4409:80:4409:95 | (...)... : String | Test.java:264:80:264:88 | element : String | Test.java:264:194:264:194 | x : Builder [] : String | Test.java:4409:38:4409:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4411:20:4411:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4411:9:4411:23 | getElement(...) | +| Test.java:4416:80:4416:95 | (...)... : String | Test.java:264:80:264:88 | element : String | Test.java:264:194:264:194 | x : Builder [] : String | Test.java:4416:38:4416:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4418:20:4418:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4418:9:4418:23 | getElement(...) | +| Test.java:4423:42:4423:57 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:4423:13:4423:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:4426:20:4426:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4426:9:4426:23 | getElement(...) | +| Test.java:4431:80:4431:95 | (...)... : String | Test.java:264:80:264:88 | element : String | Test.java:264:194:264:194 | x : Builder [] : String | Test.java:4431:38:4431:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | +| Test.java:4433:20:4433:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4433:9:4433:23 | getElement(...) | +| Test.java:4438:42:4438:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4438:20:4438:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4438:42:4438:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4438:20:4438:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4440:20:4440:22 | out : PredicatedCollection [] : String | Test.java:230:19:230:32 | it : PredicatedCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4440:9:4440:23 | getElement(...) | +| Test.java:4445:42:4445:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4445:20:4445:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4445:42:4445:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4445:20:4445:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4447:20:4447:22 | out : SynchronizedCollection [] : String | Test.java:230:19:230:32 | it : SynchronizedCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4447:9:4447:23 | getElement(...) | +| Test.java:4452:42:4452:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4452:20:4452:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4452:42:4452:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4452:20:4452:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4454:20:4454:22 | out : TransformedCollection [] : String | Test.java:230:19:230:32 | it : TransformedCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4454:9:4454:23 | getElement(...) | +| Test.java:4459:42:4459:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4459:20:4459:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4459:42:4459:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4459:20:4459:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4461:20:4461:22 | out : BoundedCollection [] : String | Test.java:230:19:230:32 | it : BoundedCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4461:9:4461:23 | getElement(...) | +| Test.java:4466:59:4466:74 | (...)... : String | Test.java:253:59:253:67 | element : String | Test.java:253:147:253:147 | x : CircularFifoQueue [] : String | Test.java:4466:27:4466:75 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | +| Test.java:4468:20:4468:22 | out : BoundedCollection [] : String | Test.java:230:19:230:32 | it : BoundedCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4468:9:4468:23 | getElement(...) | +| Test.java:4473:42:4473:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4473:20:4473:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4473:42:4473:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4473:20:4473:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4475:20:4475:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4475:9:4475:23 | getElement(...) | +| Test.java:4480:45:4480:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4480:18:4480:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4481:42:4481:43 | in : ListIterator [] : String | Test.java:7161:38:7161:63 | iterator : ListIterator [] : String | Test.java:7161:10:7161:36 | parameter this [Return] : MyAbstractIteratorDecorator [] : String | Test.java:4481:10:4481:44 | new MyAbstractIteratorDecorator<>(...) : MyAbstractIteratorDecorator [] : String | +| Test.java:4482:20:4482:22 | out : MyAbstractIteratorDecorator [] : String | Test.java:231:19:231:32 | it : MyAbstractIteratorDecorator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4482:9:4482:23 | getElement(...) | +| Test.java:4487:49:4487:64 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4487:22:4487:65 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4488:46:4488:47 | in : ListIterator [] : String | Test.java:7167:42:7167:71 | iterator : ListIterator [] : String | Test.java:7167:10:7167:40 | parameter this [Return] : MyAbstractListIteratorDecorator [] : String | Test.java:4488:10:4488:48 | new MyAbstractListIteratorDecorator<>(...) : MyAbstractListIteratorDecorator [] : String | +| Test.java:4489:20:4489:22 | out : MyAbstractListIteratorDecorator [] : String | Test.java:231:19:231:32 | it : MyAbstractListIteratorDecorator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4489:9:4489:23 | getElement(...) | +| Test.java:4494:77:4494:120 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:7167:42:7167:71 | iterator : ListIterator [] : String | Test.java:7167:10:7167:40 | parameter this [Return] : MyAbstractListIteratorDecorator [] : String | Test.java:4494:41:4494:121 | new MyAbstractListIteratorDecorator<>(...) : MyAbstractListIteratorDecorator [] : String | +| Test.java:4494:104:4494:119 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4494:77:4494:120 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4495:10:4495:11 | in : MyAbstractListIteratorDecorator [] : String | Test.java:7170:26:7170:42 | parameter this : MyAbstractListIteratorDecorator [] : String | Test.java:7171:11:7171:33 | getListIterator(...) : ListIterator [] : String | Test.java:4495:10:4495:31 | myGetListIterator(...) : ListIterator [] : String | +| Test.java:4496:20:4496:22 | out : ListIterator [] : String | Test.java:231:19:231:32 | it : ListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4496:9:4496:23 | getElement(...) | +| Test.java:4501:44:4501:59 | (...)... : String | Test.java:276:49:276:53 | key : String | Test.java:276:65:276:106 | new LinkedMap(...) : LinkedMap [] : String | Test.java:4501:21:4501:60 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | +| Test.java:4502:45:4502:46 | in : OrderedMapIterator [] : String | Test.java:7176:41:7176:72 | iterator : OrderedMapIterator [] : String | Test.java:7176:10:7176:39 | parameter this [Return] : MyAbstractMapIteratorDecorator [] : String | Test.java:4502:10:4502:47 | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | +| Test.java:4503:20:4503:22 | out : MyAbstractMapIteratorDecorator [] : String | Test.java:231:19:231:32 | it : MyAbstractMapIteratorDecorator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4503:9:4503:23 | getElement(...) | +| Test.java:4508:46:4508:61 | (...)... : String | Test.java:295:51:295:57 | value : String | Test.java:295:69:295:112 | new LinkedMap(...) : LinkedMap [] : String | Test.java:4508:21:4508:62 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | +| Test.java:4509:45:4509:46 | in : OrderedMapIterator [] : String | Test.java:7176:41:7176:72 | iterator : OrderedMapIterator [] : String | Test.java:7176:10:7176:39 | parameter this [Return] : MyAbstractMapIteratorDecorator [] : String | Test.java:4509:10:4509:47 | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | +| Test.java:4510:21:4510:23 | out : MyAbstractMapIteratorDecorator [] : String | Test.java:246:20:246:47 | mapIterator : MyAbstractMapIteratorDecorator [] : String | Test.java:246:59:246:80 | getValue(...) : String | Test.java:4510:9:4510:24 | getMapValue(...) | +| Test.java:4515:75:4515:128 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:7176:41:7176:72 | iterator : OrderedMapIterator [] : String | Test.java:7176:10:7176:39 | parameter this [Return] : MyAbstractMapIteratorDecorator [] : String | Test.java:4515:40:4515:129 | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | +| Test.java:4515:98:4515:113 | (...)... : String | Test.java:276:49:276:53 | key : String | Test.java:276:65:276:106 | new LinkedMap(...) : LinkedMap [] : String | Test.java:4515:75:4515:114 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | +| Test.java:4516:10:4516:11 | in : MyAbstractMapIteratorDecorator [] : String | Test.java:7179:28:7179:43 | parameter this : MyAbstractMapIteratorDecorator [] : String | Test.java:7180:11:7180:32 | getMapIterator(...) : MapIterator [] : String | Test.java:4516:10:4516:30 | myGetMapIterator(...) : MapIterator [] : String | +| Test.java:4517:20:4517:22 | out : MapIterator [] : String | Test.java:231:19:231:32 | it : MapIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4517:9:4517:23 | getElement(...) | +| Test.java:4522:75:4522:130 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:7176:41:7176:72 | iterator : OrderedMapIterator [] : String | Test.java:7176:10:7176:39 | parameter this [Return] : MyAbstractMapIteratorDecorator [] : String | Test.java:4522:40:4522:131 | new MyAbstractMapIteratorDecorator<>(...) : MyAbstractMapIteratorDecorator [] : String | +| Test.java:4522:100:4522:115 | (...)... : String | Test.java:295:51:295:57 | value : String | Test.java:295:69:295:112 | new LinkedMap(...) : LinkedMap [] : String | Test.java:4522:75:4522:116 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | +| Test.java:4523:10:4523:11 | in : MyAbstractMapIteratorDecorator [] : String | Test.java:7179:28:7179:43 | parameter this : MyAbstractMapIteratorDecorator [] : String | Test.java:7180:11:7180:32 | getMapIterator(...) : MapIterator [] : String | Test.java:4523:10:4523:30 | myGetMapIterator(...) : MapIterator [] : String | +| Test.java:4524:21:4524:23 | out : MapIterator [] : String | Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | Test.java:246:59:246:80 | getValue(...) : String | Test.java:4524:9:4524:24 | getMapValue(...) | +| Test.java:4529:56:4529:71 | (...)... : String | Test.java:277:59:277:63 | key : String | Test.java:277:75:277:132 | listOrderedMap(...) : ListOrderedMap [] : String | Test.java:4529:28:4529:72 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | +| Test.java:4530:52:4530:53 | in : OrderedMapIterator [] : String | Test.java:7185:48:7185:86 | iterator : OrderedMapIterator [] : String | Test.java:7185:10:7185:46 | parameter this [Return] : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:4530:10:4530:54 | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:4531:20:4531:22 | out : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:231:19:231:32 | it : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4531:9:4531:23 | getElement(...) | +| Test.java:4536:58:4536:73 | (...)... : String | Test.java:296:61:296:67 | value : String | Test.java:296:79:296:138 | listOrderedMap(...) : ListOrderedMap [] : String | Test.java:4536:28:4536:74 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | +| Test.java:4537:52:4537:53 | in : OrderedMapIterator [] : String | Test.java:7185:48:7185:86 | iterator : OrderedMapIterator [] : String | Test.java:7185:10:7185:46 | parameter this [Return] : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:4537:10:4537:54 | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:4538:21:4538:23 | out : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:246:20:246:47 | mapIterator : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:246:59:246:80 | getValue(...) : String | Test.java:4538:9:4538:24 | getMapValue(...) | +| Test.java:4543:89:4543:147 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:7185:48:7185:86 | iterator : OrderedMapIterator [] : String | Test.java:7185:10:7185:46 | parameter this [Return] : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:4543:47:4543:148 | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:4543:117:4543:132 | (...)... : String | Test.java:277:59:277:63 | key : String | Test.java:277:75:277:132 | listOrderedMap(...) : ListOrderedMap [] : String | Test.java:4543:89:4543:133 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | +| Test.java:4544:10:4544:11 | in : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:7188:35:7188:57 | parameter this : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:7189:11:7189:39 | getOrderedMapIterator(...) : OrderedMapIterator [] : String | Test.java:4544:10:4544:37 | myGetOrderedMapIterator(...) : OrderedMapIterator [] : String | +| Test.java:4545:20:4545:22 | out : OrderedMapIterator [] : String | Test.java:231:19:231:32 | it : OrderedMapIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4545:9:4545:23 | getElement(...) | +| Test.java:4550:89:4550:149 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:7185:48:7185:86 | iterator : OrderedMapIterator [] : String | Test.java:7185:10:7185:46 | parameter this [Return] : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:4550:47:4550:150 | new MyAbstractOrderedMapIteratorDecorator<>(...) : MyAbstractOrderedMapIteratorDecorator [] : String | +| Test.java:4550:119:4550:134 | (...)... : String | Test.java:296:61:296:67 | value : String | Test.java:296:79:296:138 | listOrderedMap(...) : ListOrderedMap [] : String | Test.java:4550:89:4550:135 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | +| Test.java:4551:10:4551:11 | in : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:7188:35:7188:57 | parameter this : MyAbstractOrderedMapIteratorDecorator [] : String | Test.java:7189:11:7189:39 | getOrderedMapIterator(...) : OrderedMapIterator [] : String | Test.java:4551:10:4551:37 | myGetOrderedMapIterator(...) : OrderedMapIterator [] : String | +| Test.java:4552:21:4552:23 | out : OrderedMapIterator [] : String | Test.java:246:20:246:47 | mapIterator : OrderedMapIterator [] : String | Test.java:246:59:246:80 | getValue(...) : String | Test.java:4552:9:4552:24 | getMapValue(...) | +| Test.java:4557:45:4557:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4557:18:4557:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4558:49:4558:50 | in : ListIterator [] : String | Test.java:7194:45:7194:70 | iterator : ListIterator [] : String | Test.java:7194:10:7194:43 | parameter this [Return] : MyAbstractUntypedIteratorDecorator [] : String | Test.java:4558:10:4558:51 | new MyAbstractUntypedIteratorDecorator<>(...) : MyAbstractUntypedIteratorDecorator [] : String | +| Test.java:4559:20:4559:22 | out : MyAbstractUntypedIteratorDecorator [] : String | Test.java:231:19:231:32 | it : MyAbstractUntypedIteratorDecorator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4559:9:4559:23 | getElement(...) | +| Test.java:4564:83:4564:126 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:7194:45:7194:70 | iterator : ListIterator [] : String | Test.java:7194:10:7194:43 | parameter this [Return] : MyAbstractUntypedIteratorDecorator [] : String | Test.java:4564:44:4564:127 | new MyAbstractUntypedIteratorDecorator<>(...) : MyAbstractUntypedIteratorDecorator [] : String | +| Test.java:4564:110:4564:125 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4564:83:4564:126 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4565:10:4565:11 | in : MyAbstractUntypedIteratorDecorator [] : String | Test.java:7197:22:7197:34 | parameter this : MyAbstractUntypedIteratorDecorator [] : String | Test.java:7198:11:7198:29 | getIterator(...) : Iterator [] : String | Test.java:4565:10:4565:27 | myGetIterator(...) : Iterator [] : String | +| Test.java:4566:20:4566:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4566:9:4566:23 | getElement(...) | +| Test.java:4571:44:4571:59 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:4571:24:4571:60 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:4573:20:4573:22 | out : ArrayIterator [] : String | Test.java:231:19:231:32 | it : ArrayIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4573:9:4573:23 | getElement(...) | +| Test.java:4578:44:4578:59 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:4578:24:4578:60 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:4580:20:4580:22 | out : ArrayIterator [] : String | Test.java:231:19:231:32 | it : ArrayIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4580:9:4580:23 | getElement(...) | +| Test.java:4585:44:4585:59 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:4585:24:4585:60 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:4587:20:4587:22 | out : ArrayIterator [] : String | Test.java:231:19:231:32 | it : ArrayIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4587:9:4587:23 | getElement(...) | +| Test.java:4592:69:4592:84 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:4592:49:4592:85 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:4594:25:4594:27 | out : String[] [[]] : String | Test.java:229:24:229:32 | array : String[] [[]] : String | Test.java:229:44:229:51 | ...[...] : String | Test.java:4594:9:4594:28 | getArrayElement(...) | +| Test.java:4599:44:4599:59 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:4599:24:4599:60 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:4601:20:4601:22 | out : ArrayListIterator [] : String | Test.java:231:19:231:32 | it : ArrayListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4601:9:4601:23 | getElement(...) | +| Test.java:4606:44:4606:59 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:4606:24:4606:60 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:4608:20:4608:22 | out : ArrayListIterator [] : String | Test.java:231:19:231:32 | it : ArrayListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4608:9:4608:23 | getElement(...) | +| Test.java:4613:44:4613:59 | (...)... : String | Test.java:251:31:251:44 | element : String | Test.java:251:56:251:77 | new Object[] : Object[] [[]] : String | Test.java:4613:24:4613:60 | newWithArrayElement(...) : Object[] [[]] : String | +| Test.java:4615:20:4615:22 | out : ArrayListIterator [] : String | Test.java:231:19:231:32 | it : ArrayListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4615:9:4615:23 | getElement(...) | +| Test.java:4620:45:4620:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4620:18:4620:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4622:20:4622:22 | out : BoundedIterator [] : String | Test.java:231:19:231:32 | it : BoundedIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4622:9:4622:23 | getElement(...) | +| Test.java:4627:55:4627:70 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4627:28:4627:71 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4629:20:4629:22 | out : CollatingIterator [] : String | Test.java:231:19:231:32 | it : CollatingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4629:9:4629:23 | getElement(...) | +| Test.java:4634:45:4634:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4634:18:4634:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4636:20:4636:22 | out : CollatingIterator [] : String | Test.java:231:19:231:32 | it : CollatingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4636:9:4636:23 | getElement(...) | +| Test.java:4641:45:4641:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4641:18:4641:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4643:20:4643:22 | out : CollatingIterator [] : String | Test.java:231:19:231:32 | it : CollatingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4643:9:4643:23 | getElement(...) | +| Test.java:4648:62:4648:77 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4648:35:4648:78 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4650:20:4650:22 | out : CollatingIterator [] : String | Test.java:231:19:231:32 | it : CollatingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4650:9:4650:23 | getElement(...) | +| Test.java:4655:45:4655:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4655:18:4655:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4657:20:4657:22 | out : CollatingIterator [] : String | Test.java:231:19:231:32 | it : CollatingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4657:9:4657:23 | getElement(...) | +| Test.java:4662:102:4662:117 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4662:75:4662:118 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4664:20:4664:34 | getElement(...) : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4664:9:4664:35 | getElement(...) | +| Test.java:4669:45:4669:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4669:18:4669:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4671:20:4671:22 | out : CollatingIterator [] : String | Test.java:231:19:231:32 | it : CollatingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4671:9:4671:23 | getElement(...) | +| Test.java:4676:47:4676:62 | (...)... : String | Test.java:256:47:256:55 | element : String | Test.java:256:67:256:134 | new IteratorEnumeration(...) : IteratorEnumeration [] : String | Test.java:4676:21:4676:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:4678:20:4678:22 | out : EnumerationIterator [] : String | Test.java:231:19:231:32 | it : EnumerationIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4678:9:4678:23 | getElement(...) | +| Test.java:4683:47:4683:62 | (...)... : String | Test.java:256:47:256:55 | element : String | Test.java:256:67:256:134 | new IteratorEnumeration(...) : IteratorEnumeration [] : String | Test.java:4683:21:4683:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:4685:20:4685:22 | out : EnumerationIterator [] : String | Test.java:231:19:231:32 | it : EnumerationIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4685:9:4685:23 | getElement(...) | +| Test.java:4690:79:4690:94 | (...)... : String | Test.java:256:47:256:55 | element : String | Test.java:256:67:256:134 | new IteratorEnumeration(...) : IteratorEnumeration [] : String | Test.java:4690:53:4690:95 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:4692:20:4692:22 | out : Enumeration [] : String | Test.java:234:19:234:42 | container : Enumeration [] : String | Test.java:234:54:234:76 | nextElement(...) : String | Test.java:4692:9:4692:23 | getElement(...) | +| Test.java:4697:47:4697:62 | (...)... : String | Test.java:256:47:256:55 | element : String | Test.java:256:67:256:134 | new IteratorEnumeration(...) : IteratorEnumeration [] : String | Test.java:4697:21:4697:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | +| Test.java:4699:20:4699:22 | out : EnumerationIterator [] : String | Test.java:231:19:231:32 | it : EnumerationIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4699:9:4699:23 | getElement(...) | +| Test.java:4704:45:4704:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4704:18:4704:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4706:20:4706:22 | out : FilterIterator [] : String | Test.java:231:19:231:32 | it : FilterIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4706:9:4706:23 | getElement(...) | +| Test.java:4711:45:4711:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4711:18:4711:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4713:20:4713:22 | out : FilterIterator [] : String | Test.java:231:19:231:32 | it : FilterIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4713:9:4713:23 | getElement(...) | +| Test.java:4718:70:4718:85 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4718:43:4718:86 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4720:20:4720:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4720:9:4720:23 | getElement(...) | +| Test.java:4725:45:4725:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4725:18:4725:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4727:20:4727:22 | out : FilterIterator [] : String | Test.java:231:19:231:32 | it : FilterIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4727:9:4727:23 | getElement(...) | +| Test.java:4732:49:4732:64 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4732:22:4732:65 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4734:20:4734:22 | out : FilterListIterator [] : String | Test.java:231:19:231:32 | it : FilterListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4734:9:4734:23 | getElement(...) | +| Test.java:4739:49:4739:64 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4739:22:4739:65 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4741:20:4741:22 | out : FilterListIterator [] : String | Test.java:231:19:231:32 | it : FilterListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4741:9:4741:23 | getElement(...) | +| Test.java:4746:78:4746:93 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4746:51:4746:94 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4748:20:4748:22 | out : ListIterator [] : String | Test.java:231:19:231:32 | it : ListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4748:9:4748:23 | getElement(...) | +| Test.java:4753:49:4753:64 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4753:22:4753:65 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4755:20:4755:22 | out : FilterListIterator [] : String | Test.java:231:19:231:32 | it : FilterListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4755:9:4755:23 | getElement(...) | +| Test.java:4760:42:4760:85 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:267:39:267:47 | element : ListIterator [] : String | Test.java:267:107:267:107 | b : TreeBag [, ] : String | Test.java:4760:20:4760:86 | newTreeBagWithElement(...) : TreeBag [, ] : String | +| Test.java:4760:42:4760:85 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:267:39:267:47 | element : ListIterator [] : String | Test.java:267:107:267:107 | b : TreeBag [, ] : String | Test.java:4760:20:4760:86 | newTreeBagWithElement(...) : TreeBag [, ] : String | +| Test.java:4760:69:4760:84 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4760:42:4760:85 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4762:20:4762:22 | out : IteratorChain [] : String | Test.java:231:19:231:32 | it : IteratorChain [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4762:9:4762:23 | getElement(...) | +| Test.java:4767:45:4767:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4767:18:4767:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4769:20:4769:22 | out : IteratorChain [] : String | Test.java:231:19:231:32 | it : IteratorChain [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4769:9:4769:23 | getElement(...) | +| Test.java:4774:45:4774:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4774:18:4774:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4776:20:4776:22 | out : IteratorChain [] : String | Test.java:231:19:231:32 | it : IteratorChain [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4776:9:4776:23 | getElement(...) | +| Test.java:4781:45:4781:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4781:18:4781:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4783:20:4783:22 | out : IteratorChain [] : String | Test.java:231:19:231:32 | it : IteratorChain [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4783:9:4783:23 | getElement(...) | +| Test.java:4788:62:4788:77 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4788:35:4788:78 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4790:20:4790:22 | out : IteratorChain [] : String | Test.java:231:19:231:32 | it : IteratorChain [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4790:9:4790:23 | getElement(...) | +| Test.java:4795:45:4795:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4795:18:4795:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4797:20:4797:22 | out : IteratorChain [] : String | Test.java:231:19:231:32 | it : IteratorChain [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4797:9:4797:23 | getElement(...) | +| Test.java:4802:45:4802:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4802:18:4802:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4804:20:4804:22 | out : IteratorEnumeration [] : String | Test.java:234:19:234:42 | container : IteratorEnumeration [] : String | Test.java:234:54:234:76 | nextElement(...) : String | Test.java:4804:9:4804:23 | getElement(...) | +| Test.java:4809:80:4809:95 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4809:53:4809:96 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4811:20:4811:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4811:9:4811:23 | getElement(...) | +| Test.java:4816:45:4816:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4816:18:4816:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4818:20:4818:22 | out : IteratorEnumeration [] : String | Test.java:234:19:234:42 | container : IteratorEnumeration [] : String | Test.java:234:54:234:76 | nextElement(...) : String | Test.java:4818:9:4818:23 | getElement(...) | +| Test.java:4823:45:4823:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4823:18:4823:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4825:20:4825:22 | out : IteratorIterable [] : String | Test.java:230:19:230:32 | it : IteratorIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4825:9:4825:23 | getElement(...) | +| Test.java:4830:45:4830:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4830:18:4830:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4832:20:4832:22 | out : IteratorIterable [] : String | Test.java:230:19:230:32 | it : IteratorIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4832:9:4832:23 | getElement(...) | +| Test.java:4837:45:4837:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4837:18:4837:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4839:20:4839:22 | out : ListIteratorWrapper [] : String | Test.java:231:19:231:32 | it : ListIteratorWrapper [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4839:9:4839:23 | getElement(...) | +| Test.java:4844:42:4844:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4844:20:4844:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4844:42:4844:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4844:20:4844:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:4846:20:4846:22 | out : LoopingIterator [] : String | Test.java:231:19:231:32 | it : LoopingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4846:9:4846:23 | getElement(...) | +| Test.java:4853:20:4853:22 | out : LoopingListIterator [] : String | Test.java:231:19:231:32 | it : LoopingListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4853:9:4853:23 | getElement(...) | +| Test.java:4860:20:4860:22 | out : ObjectArrayIterator [] : String | Test.java:231:19:231:32 | it : ObjectArrayIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4860:9:4860:23 | getElement(...) | +| Test.java:4867:20:4867:22 | out : ObjectArrayIterator [] : String | Test.java:231:19:231:32 | it : ObjectArrayIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4867:9:4867:23 | getElement(...) | +| Test.java:4874:20:4874:22 | out : ObjectArrayIterator [] : String | Test.java:231:19:231:32 | it : ObjectArrayIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4874:9:4874:23 | getElement(...) | +| Test.java:4881:25:4881:27 | out : Object[] [[]] : String | Test.java:229:24:229:32 | array : Object[] [[]] : String | Test.java:229:44:229:51 | ...[...] : String | Test.java:4881:9:4881:28 | getArrayElement(...) | +| Test.java:4888:20:4888:22 | out : ObjectArrayListIterator [] : String | Test.java:231:19:231:32 | it : ObjectArrayListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4888:9:4888:23 | getElement(...) | +| Test.java:4895:20:4895:22 | out : ObjectArrayListIterator [] : String | Test.java:231:19:231:32 | it : ObjectArrayListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4895:9:4895:23 | getElement(...) | +| Test.java:4902:20:4902:22 | out : ObjectArrayListIterator [] : String | Test.java:231:19:231:32 | it : ObjectArrayListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4902:9:4902:23 | getElement(...) | +| Test.java:4907:45:4907:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4907:18:4907:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4909:20:4909:22 | out : PeekingIterator [] : String | Test.java:231:19:231:32 | it : PeekingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4909:9:4909:23 | getElement(...) | +| Test.java:4914:72:4914:87 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4914:45:4914:88 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4921:72:4921:87 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4921:45:4921:88 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4928:45:4928:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4928:18:4928:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4930:20:4930:22 | out : PeekingIterator [] : String | Test.java:231:19:231:32 | it : PeekingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4930:9:4930:23 | getElement(...) | +| Test.java:4937:20:4937:34 | getElement(...) : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4937:9:4937:35 | getElement(...) | +| Test.java:4942:45:4942:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4942:18:4942:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4944:20:4944:22 | out : PushbackIterator [] : String | Test.java:231:19:231:32 | it : PushbackIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4944:9:4944:23 | getElement(...) | +| Test.java:4951:20:4951:22 | out : PushbackIterator [] : Object | Test.java:231:19:231:32 | it : PushbackIterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | Test.java:4951:9:4951:23 | getElement(...) | +| Test.java:4956:45:4956:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4956:18:4956:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4958:20:4958:22 | out : PushbackIterator [] : String | Test.java:231:19:231:32 | it : PushbackIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4958:9:4958:23 | getElement(...) | +| Test.java:4965:20:4965:22 | out : ReverseListIterator [] : String | Test.java:231:19:231:32 | it : ReverseListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4965:9:4965:23 | getElement(...) | +| Test.java:4972:20:4972:22 | out : SingletonIterator [] : Object | Test.java:231:19:231:32 | it : SingletonIterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | Test.java:4972:9:4972:23 | getElement(...) | +| Test.java:4979:20:4979:22 | out : SingletonIterator [] : Object | Test.java:231:19:231:32 | it : SingletonIterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | Test.java:4979:9:4979:23 | getElement(...) | +| Test.java:4986:20:4986:22 | out : SingletonListIterator [] : Object | Test.java:231:19:231:32 | it : SingletonListIterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | Test.java:4986:9:4986:23 | getElement(...) | +| Test.java:4991:45:4991:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4991:18:4991:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:4993:20:4993:22 | out : SkippingIterator [] : String | Test.java:231:19:231:32 | it : SkippingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4993:9:4993:23 | getElement(...) | +| Test.java:4998:45:4998:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4998:18:4998:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:5000:20:5000:22 | out : UniqueFilterIterator [] : String | Test.java:231:19:231:32 | it : UniqueFilterIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:5000:9:5000:23 | getElement(...) | +| Test.java:5005:45:5005:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:5005:18:5005:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:5007:20:5007:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:5007:9:5007:23 | getElement(...) | +| Test.java:5012:49:5012:64 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:5012:22:5012:65 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:5014:20:5014:22 | out : ListIterator [] : String | Test.java:231:19:231:32 | it : ListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:5014:9:5014:23 | getElement(...) | +| Test.java:5019:44:5019:59 | (...)... : String | Test.java:276:49:276:53 | key : String | Test.java:276:65:276:106 | new LinkedMap(...) : LinkedMap [] : String | Test.java:5019:21:5019:60 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | +| Test.java:5021:20:5021:22 | out : MapIterator [] : String | Test.java:231:19:231:32 | it : MapIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:5021:9:5021:23 | getElement(...) | +| Test.java:5026:46:5026:61 | (...)... : String | Test.java:295:51:295:57 | value : String | Test.java:295:69:295:112 | new LinkedMap(...) : LinkedMap [] : String | Test.java:5026:21:5026:62 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | +| Test.java:5028:21:5028:23 | out : MapIterator [] : String | Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | Test.java:246:59:246:80 | getValue(...) : String | Test.java:5028:9:5028:24 | getMapValue(...) | +| Test.java:5033:56:5033:71 | (...)... : String | Test.java:277:59:277:63 | key : String | Test.java:277:75:277:132 | listOrderedMap(...) : ListOrderedMap [] : String | Test.java:5033:28:5033:72 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | +| Test.java:5035:20:5035:22 | out : OrderedMapIterator [] : String | Test.java:231:19:231:32 | it : OrderedMapIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:5035:9:5035:23 | getElement(...) | +| Test.java:5040:58:5040:73 | (...)... : String | Test.java:296:61:296:67 | value : String | Test.java:296:79:296:138 | listOrderedMap(...) : ListOrderedMap [] : String | Test.java:5040:28:5040:74 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | +| Test.java:5042:21:5042:23 | out : OrderedMapIterator [] : String | Test.java:246:20:246:47 | mapIterator : OrderedMapIterator [] : String | Test.java:246:59:246:80 | getValue(...) : String | Test.java:5042:9:5042:24 | getMapValue(...) | +| Test.java:5047:45:5047:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:5047:18:5047:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:5049:20:5049:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:5049:9:5049:23 | getElement(...) | +| Test.java:5054:45:5054:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:5054:18:5054:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:5056:20:5056:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:5056:9:5056:23 | getElement(...) | +| Test.java:5061:45:5061:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:5061:18:5061:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:5063:20:5063:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:5063:9:5063:23 | getElement(...) | +| Test.java:5068:45:5068:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:5068:18:5068:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:5070:20:5070:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:5070:9:5070:23 | getElement(...) | +| Test.java:5075:45:5075:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:5075:18:5075:61 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:5077:20:5077:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:5077:9:5077:23 | getElement(...) | +| Test.java:5082:62:5082:77 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:5082:35:5082:78 | newListIteratorWithElement(...) : ListIterator [] : String | +| Test.java:5084:20:5084:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:5084:9:5084:23 | getElement(...) | +| Test.java:5091:20:5091:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | Test.java:236:51:236:69 | getKey(...) : Object | Test.java:5091:9:5091:23 | getElement(...) | +| Test.java:5098:20:5098:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | Test.java:236:51:236:69 | getKey(...) : Object | Test.java:5098:9:5098:23 | getElement(...) | +| Test.java:5105:20:5105:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | Test.java:236:51:236:69 | getKey(...) : Object | Test.java:5105:9:5105:23 | getElement(...) | +| Test.java:5112:20:5112:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | Test.java:236:51:236:69 | getKey(...) : Object | Test.java:5112:9:5112:23 | getElement(...) | +| Test.java:5119:20:5119:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | Test.java:236:51:236:69 | getKey(...) : Object | Test.java:5119:9:5119:23 | getElement(...) | +| Test.java:5126:20:5126:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | Test.java:236:51:236:69 | getKey(...) : Object | Test.java:5126:9:5126:23 | getElement(...) | +| Test.java:5133:20:5133:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | Test.java:236:51:236:69 | getKey(...) : Object | Test.java:5133:9:5133:23 | getElement(...) | +| Test.java:5140:20:5140:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | Test.java:236:51:236:69 | getKey(...) : Object | Test.java:5140:9:5140:23 | getElement(...) | +| Test.java:5147:20:5147:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | Test.java:236:51:236:69 | getKey(...) : Object | Test.java:5147:9:5147:23 | getElement(...) | +| Test.java:5154:20:5154:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | Test.java:236:51:236:69 | getKey(...) : Object | Test.java:5154:9:5154:23 | getElement(...) | +| Test.java:5161:20:5161:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | Test.java:236:51:236:69 | getKey(...) : Object | Test.java:5161:9:5161:23 | getElement(...) | +| Test.java:5168:20:5168:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | Test.java:236:51:236:69 | getKey(...) : Object | Test.java:5168:9:5168:23 | getElement(...) | +| Test.java:5175:20:5175:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | Test.java:236:51:236:69 | getKey(...) : Object | Test.java:5175:9:5175:23 | getElement(...) | +| Test.java:5182:20:5182:22 | out : MultiKey [] : Object | Test.java:236:19:236:39 | container : MultiKey [] : Object | Test.java:236:51:236:69 | getKey(...) : Object | Test.java:5182:9:5182:23 | getElement(...) | +| Test.java:5189:20:5189:22 | out : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:5189:9:5189:23 | getElement(...) | +| Test.java:5196:20:5196:22 | out : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:5196:9:5196:23 | getElement(...) | +| Test.java:5201:41:5201:56 | (...)... : String | Test.java:261:41:261:49 | element : String | Test.java:261:61:261:93 | new MultiKey(...) : MultiKey [] : String | Test.java:5201:18:5201:57 | newMultiKeyWithElement(...) : MultiKey [] : String | +| Test.java:5208:41:5208:56 | (...)... : String | Test.java:261:41:261:49 | element : String | Test.java:261:61:261:93 | new MultiKey(...) : MultiKey [] : String | Test.java:5208:18:5208:57 | newMultiKeyWithElement(...) : MultiKey [] : String | +| Test.java:5210:25:5210:27 | out : Object[] [[]] : String | Test.java:229:24:229:32 | array : Object[] [[]] : String | Test.java:229:44:229:51 | ...[...] : String | Test.java:5210:9:5210:28 | getArrayElement(...) | +| Test.java:5215:42:5215:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:5215:20:5215:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:5215:42:5215:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:5215:20:5215:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:5216:35:5216:36 | in : TreeBag [] : String | Test.java:7204:31:7204:64 | coll : TreeBag [] : String | Test.java:7204:10:7204:29 | parameter this [Return] : MyAbstractLinkedList [] : String | Test.java:5216:10:5216:37 | new MyAbstractLinkedList<>(...) : MyAbstractLinkedList [] : String | +| Test.java:5217:20:5217:22 | out : MyAbstractLinkedList [] : String | Test.java:230:19:230:32 | it : MyAbstractLinkedList [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5217:9:5217:23 | getElement(...) | +| Test.java:5224:20:5224:22 | out : AbstractLinkedList [] : Object | Test.java:230:19:230:32 | it : AbstractLinkedList [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:5224:9:5224:23 | getElement(...) | +| Test.java:5231:20:5231:22 | out : AbstractLinkedList [] : Object | Test.java:230:19:230:32 | it : AbstractLinkedList [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:5231:9:5231:23 | getElement(...) | +| Test.java:5236:63:5236:78 | (...)... : String | Test.java:255:65:255:73 | element : String | Test.java:255:159:255:159 | x : CursorableLinkedList [] : String | Test.java:5236:28:5236:79 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | +| Test.java:5243:63:5243:78 | (...)... : String | Test.java:255:65:255:73 | element : String | Test.java:255:159:255:159 | x : CursorableLinkedList [] : String | Test.java:5243:28:5243:79 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | +| Test.java:5250:63:5250:78 | (...)... : String | Test.java:255:65:255:73 | element : String | Test.java:255:159:255:159 | x : CursorableLinkedList [] : String | Test.java:5250:28:5250:79 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | +| Test.java:5257:63:5257:78 | (...)... : String | Test.java:255:65:255:73 | element : String | Test.java:255:159:255:159 | x : CursorableLinkedList [] : String | Test.java:5257:28:5257:79 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | +| Test.java:5265:38:5265:39 | in : List [] : String | Test.java:7210:34:7210:51 | list : List [] : String | Test.java:7210:10:7210:32 | parameter this [Return] : MyAbstractListDecorator [] : String | Test.java:5265:10:5265:40 | new MyAbstractListDecorator<>(...) : MyAbstractListDecorator [] : String | +| Test.java:5266:20:5266:22 | out : MyAbstractListDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractListDecorator [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5266:9:5266:23 | getElement(...) | +| Test.java:5272:50:5272:51 | in : List [] : String | Test.java:7216:46:7216:63 | list : List [] : String | Test.java:7216:10:7216:44 | parameter this [Return] : MyAbstractSerializableListDecorator [] : String | Test.java:5272:10:5272:52 | new MyAbstractSerializableListDecorator<>(...) : MyAbstractSerializableListDecorator [] : String | +| Test.java:5273:20:5273:22 | out : MyAbstractSerializableListDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractSerializableListDecorator [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5273:9:5273:23 | getElement(...) | +| Test.java:5280:20:5280:22 | out : CursorableLinkedList [] : String | Test.java:230:19:230:32 | it : CursorableLinkedList [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5280:9:5280:23 | getElement(...) | +| Test.java:5285:65:5285:80 | (...)... : String | Test.java:255:65:255:73 | element : String | Test.java:255:159:255:159 | x : CursorableLinkedList [] : String | Test.java:5285:30:5285:81 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | +| Test.java:5287:20:5287:22 | out : Cursor [] : String | Test.java:231:19:231:32 | it : Cursor [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:5287:9:5287:23 | getElement(...) | +| Test.java:5292:65:5292:80 | (...)... : String | Test.java:255:65:255:73 | element : String | Test.java:255:159:255:159 | x : CursorableLinkedList [] : String | Test.java:5292:30:5292:81 | newCursorableLinkedListWithElement(...) : CursorableLinkedList [] : String | +| Test.java:5294:20:5294:22 | out : Cursor [] : String | Test.java:231:19:231:32 | it : Cursor [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:5294:9:5294:23 | getElement(...) | +| Test.java:5301:20:5301:22 | out : FixedSizeList [] : String | Test.java:230:19:230:32 | it : FixedSizeList [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5301:9:5301:23 | getElement(...) | +| Test.java:5308:20:5308:22 | out : GrowthList [] : String | Test.java:230:19:230:32 | it : GrowthList [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5308:9:5308:23 | getElement(...) | +| Test.java:5315:20:5315:22 | out : LazyList [] : String | Test.java:230:19:230:32 | it : LazyList [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5315:9:5315:23 | getElement(...) | +| Test.java:5322:20:5322:22 | out : LazyList [] : String | Test.java:230:19:230:32 | it : LazyList [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5322:9:5322:23 | getElement(...) | +| Test.java:5329:20:5329:22 | out : NodeCachingLinkedList [] : String | Test.java:230:19:230:32 | it : NodeCachingLinkedList [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5329:9:5329:23 | getElement(...) | +| Test.java:5336:20:5336:22 | out : PredicatedList [] : String | Test.java:230:19:230:32 | it : PredicatedList [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5336:9:5336:23 | getElement(...) | +| Test.java:5343:20:5343:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5343:9:5343:23 | getElement(...) | +| Test.java:5350:20:5350:22 | out : SetUniqueList [] : String | Test.java:230:19:230:32 | it : SetUniqueList [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5350:9:5350:23 | getElement(...) | +| Test.java:5357:20:5357:22 | out : TransformedList [] : String | Test.java:230:19:230:32 | it : TransformedList [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5357:9:5357:23 | getElement(...) | +| Test.java:5364:20:5364:22 | out : TreeList [] : String | Test.java:230:19:230:32 | it : TreeList [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5364:9:5364:23 | getElement(...) | +| Test.java:5371:20:5371:22 | out : UnmodifiableList [] : String | Test.java:230:19:230:32 | it : UnmodifiableList [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5371:9:5371:23 | getElement(...) | +| Test.java:5378:20:5378:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5378:9:5378:23 | getElement(...) | +| Test.java:5384:34:5384:35 | in : Map [] : String | Test.java:7222:30:7222:68 | map : Map [] : String | Test.java:7222:10:7222:28 | parameter this [Return] : MyAbstractHashedMap [] : String | Test.java:5384:10:5384:36 | new MyAbstractHashedMap<>(...) : MyAbstractHashedMap [] : String | +| Test.java:5385:19:5385:21 | out : MyAbstractHashedMap [] : String | Test.java:228:18:228:29 | map : MyAbstractHashedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5385:9:5385:22 | getMapKey(...) | +| Test.java:5391:34:5391:35 | in : Map [] : String | Test.java:7222:30:7222:68 | map : Map [] : String | Test.java:7222:10:7222:28 | parameter this [Return] : MyAbstractHashedMap [] : String | Test.java:5391:10:5391:36 | new MyAbstractHashedMap<>(...) : MyAbstractHashedMap [] : String | +| Test.java:5392:21:5392:23 | out : MyAbstractHashedMap [] : String | Test.java:232:20:232:31 | map : MyAbstractHashedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5392:9:5392:24 | getMapValue(...) | +| Test.java:5398:34:5398:35 | in : Map [] : String | Test.java:7228:30:7228:68 | map : Map [] : String | Test.java:7228:10:7228:28 | parameter this [Return] : MyAbstractLinkedMap [] : String | Test.java:5398:10:5398:36 | new MyAbstractLinkedMap<>(...) : MyAbstractLinkedMap [] : String | +| Test.java:5399:19:5399:21 | out : MyAbstractLinkedMap [] : String | Test.java:228:18:228:29 | map : MyAbstractLinkedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5399:9:5399:22 | getMapKey(...) | +| Test.java:5405:34:5405:35 | in : Map [] : String | Test.java:7228:30:7228:68 | map : Map [] : String | Test.java:7228:10:7228:28 | parameter this [Return] : MyAbstractLinkedMap [] : String | Test.java:5405:10:5405:36 | new MyAbstractLinkedMap<>(...) : MyAbstractLinkedMap [] : String | +| Test.java:5406:21:5406:23 | out : MyAbstractLinkedMap [] : String | Test.java:232:20:232:31 | map : MyAbstractLinkedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5406:9:5406:24 | getMapValue(...) | +| Test.java:5412:37:5412:38 | in : Map [] : String | Test.java:7234:33:7234:51 | map : Map [] : String | Test.java:7234:10:7234:31 | parameter this [Return] : MyAbstractMapDecorator [] : String | Test.java:5412:10:5412:39 | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | +| Test.java:5413:19:5413:21 | out : MyAbstractMapDecorator [] : String | Test.java:228:18:228:29 | map : MyAbstractMapDecorator [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5413:9:5413:22 | getMapKey(...) | +| Test.java:5419:37:5419:38 | in : Map [] : String | Test.java:7234:33:7234:51 | map : Map [] : String | Test.java:7234:10:7234:31 | parameter this [Return] : MyAbstractMapDecorator [] : String | Test.java:5419:10:5419:39 | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | +| Test.java:5420:21:5420:23 | out : MyAbstractMapDecorator [] : String | Test.java:232:20:232:31 | map : MyAbstractMapDecorator [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5420:9:5420:24 | getMapValue(...) | +| Test.java:5425:59:5425:88 | of(...) : Map [] : String | Test.java:7234:33:7234:51 | map : Map [] : String | Test.java:7234:10:7234:31 | parameter this [Return] : MyAbstractMapDecorator [] : String | Test.java:5425:32:5425:89 | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | +| Test.java:5426:10:5426:11 | in : MyAbstractMapDecorator [] : String | Test.java:7237:20:7237:30 | parameter this : MyAbstractMapDecorator [] : String | Test.java:7238:11:7238:27 | decorated(...) : Map [] : String | Test.java:5426:10:5426:25 | myDecorated(...) : Map [] : String | +| Test.java:5427:19:5427:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5427:9:5427:22 | getMapKey(...) | +| Test.java:5432:59:5432:88 | of(...) : Map [] : String | Test.java:7234:33:7234:51 | map : Map [] : String | Test.java:7234:10:7234:31 | parameter this [Return] : MyAbstractMapDecorator [] : String | Test.java:5432:32:5432:89 | new MyAbstractMapDecorator<>(...) : MyAbstractMapDecorator [] : String | +| Test.java:5433:10:5433:11 | in : MyAbstractMapDecorator [] : String | Test.java:7237:20:7237:30 | parameter this : MyAbstractMapDecorator [] : String | Test.java:7238:11:7238:27 | decorated(...) : Map [] : String | Test.java:5433:10:5433:25 | myDecorated(...) : Map [] : String | +| Test.java:5434:21:5434:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5434:9:5434:24 | getMapValue(...) | +| Test.java:5439:48:5439:63 | (...)... : String | Test.java:277:59:277:63 | key : String | Test.java:277:75:277:132 | listOrderedMap(...) : ListOrderedMap [] : String | Test.java:5439:20:5439:64 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | +| Test.java:5440:44:5440:45 | in : ListOrderedMap [] : String | Test.java:7092:40:7092:65 | map : ListOrderedMap [] : String | Test.java:7092:10:7092:38 | parameter this [Return] : MyAbstractOrderedMapDecorator [] : String | Test.java:5440:10:5440:46 | new MyAbstractOrderedMapDecorator<>(...) : MyAbstractOrderedMapDecorator [] : String | +| Test.java:5441:19:5441:21 | out : MyAbstractOrderedMapDecorator [] : String | Test.java:228:18:228:29 | map : MyAbstractOrderedMapDecorator [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5441:9:5441:22 | getMapKey(...) | +| Test.java:5446:50:5446:65 | (...)... : String | Test.java:296:61:296:67 | value : String | Test.java:296:79:296:138 | listOrderedMap(...) : ListOrderedMap [] : String | Test.java:5446:20:5446:66 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | +| Test.java:5447:44:5447:45 | in : ListOrderedMap [] : String | Test.java:7092:40:7092:65 | map : ListOrderedMap [] : String | Test.java:7092:10:7092:38 | parameter this [Return] : MyAbstractOrderedMapDecorator [] : String | Test.java:5447:10:5447:46 | new MyAbstractOrderedMapDecorator<>(...) : MyAbstractOrderedMapDecorator [] : String | +| Test.java:5448:21:5448:23 | out : MyAbstractOrderedMapDecorator [] : String | Test.java:232:20:232:31 | map : MyAbstractOrderedMapDecorator [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5448:9:5448:24 | getMapValue(...) | +| Test.java:5453:40:5453:55 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:5453:19:5453:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:5454:43:5454:44 | in : TreeMap [] : String | Test.java:7098:39:7098:63 | map : TreeMap [] : String | Test.java:7098:10:7098:37 | parameter this [Return] : MyAbstractSortedMapDecorator [] : String | Test.java:5454:10:5454:45 | new MyAbstractSortedMapDecorator<>(...) : MyAbstractSortedMapDecorator [] : String | +| Test.java:5455:19:5455:21 | out : MyAbstractSortedMapDecorator [] : String | Test.java:228:18:228:29 | map : MyAbstractSortedMapDecorator [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5455:9:5455:22 | getMapKey(...) | +| Test.java:5460:42:5460:57 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:5460:19:5460:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:5461:43:5461:44 | in : TreeMap [] : String | Test.java:7098:39:7098:63 | map : TreeMap [] : String | Test.java:7098:10:7098:37 | parameter this [Return] : MyAbstractSortedMapDecorator [] : String | Test.java:5461:10:5461:45 | new MyAbstractSortedMapDecorator<>(...) : MyAbstractSortedMapDecorator [] : String | +| Test.java:5462:21:5462:23 | out : MyAbstractSortedMapDecorator [] : String | Test.java:232:20:232:31 | map : MyAbstractSortedMapDecorator [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5462:9:5462:24 | getMapValue(...) | +| Test.java:5469:19:5469:21 | out : CaseInsensitiveMap [] : String | Test.java:228:18:228:29 | map : CaseInsensitiveMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5469:9:5469:22 | getMapKey(...) | +| Test.java:5476:21:5476:23 | out : CaseInsensitiveMap [] : String | Test.java:232:20:232:31 | map : CaseInsensitiveMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5476:9:5476:24 | getMapValue(...) | +| Test.java:5483:19:5483:21 | out : CompositeMap [] : String | Test.java:228:18:228:29 | map : CompositeMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5483:9:5483:22 | getMapKey(...) | +| Test.java:5490:19:5490:21 | out : CompositeMap [] : String | Test.java:228:18:228:29 | map : CompositeMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5490:9:5490:22 | getMapKey(...) | +| Test.java:5497:21:5497:23 | out : CompositeMap [] : String | Test.java:232:20:232:31 | map : CompositeMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5497:9:5497:24 | getMapValue(...) | +| Test.java:5504:21:5504:23 | out : CompositeMap [] : String | Test.java:232:20:232:31 | map : CompositeMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5504:9:5504:24 | getMapValue(...) | +| Test.java:5511:19:5511:21 | out : CompositeMap [] : String | Test.java:228:18:228:29 | map : CompositeMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5511:9:5511:22 | getMapKey(...) | +| Test.java:5518:19:5518:21 | out : CompositeMap [] : String | Test.java:228:18:228:29 | map : CompositeMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5518:9:5518:22 | getMapKey(...) | +| Test.java:5525:21:5525:23 | out : CompositeMap [] : String | Test.java:232:20:232:31 | map : CompositeMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5525:9:5525:24 | getMapValue(...) | +| Test.java:5532:21:5532:23 | out : CompositeMap [] : String | Test.java:232:20:232:31 | map : CompositeMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5532:9:5532:24 | getMapValue(...) | +| Test.java:5539:19:5539:21 | out : CompositeMap [] : String | Test.java:228:18:228:29 | map : CompositeMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5539:9:5539:22 | getMapKey(...) | +| Test.java:5546:21:5546:23 | out : CompositeMap [] : String | Test.java:232:20:232:31 | map : CompositeMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5546:9:5546:24 | getMapValue(...) | +| Test.java:5553:19:5553:21 | out : CompositeMap [] : String | Test.java:228:18:228:29 | map : CompositeMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5553:9:5553:22 | getMapKey(...) | +| Test.java:5560:21:5560:23 | out : CompositeMap [] : String | Test.java:232:20:232:31 | map : CompositeMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5560:9:5560:24 | getMapValue(...) | +| Test.java:5567:19:5567:21 | out : CompositeMap [] : String | Test.java:228:18:228:29 | map : CompositeMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5567:9:5567:22 | getMapKey(...) | +| Test.java:5574:21:5574:23 | out : CompositeMap [] : String | Test.java:232:20:232:31 | map : CompositeMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5574:9:5574:24 | getMapValue(...) | +| Test.java:5589:19:5589:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5589:9:5589:22 | getMapKey(...) | +| Test.java:5596:21:5596:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5596:9:5596:24 | getMapValue(...) | +| Test.java:5603:21:5603:23 | out : DefaultedMap [] : Object | Test.java:232:20:232:31 | map : DefaultedMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:5603:9:5603:24 | getMapValue(...) | +| Test.java:5610:21:5610:23 | out : DefaultedMap [] : Object | Test.java:232:20:232:31 | map : DefaultedMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:5610:9:5610:24 | getMapValue(...) | +| Test.java:5617:19:5617:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5617:9:5617:22 | getMapKey(...) | +| Test.java:5624:19:5624:21 | out : DefaultedMap [] : String | Test.java:228:18:228:29 | map : DefaultedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5624:9:5624:22 | getMapKey(...) | +| Test.java:5631:19:5631:21 | out : DefaultedMap [] : String | Test.java:228:18:228:29 | map : DefaultedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5631:9:5631:22 | getMapKey(...) | +| Test.java:5638:21:5638:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5638:9:5638:24 | getMapValue(...) | +| Test.java:5645:21:5645:23 | out : DefaultedMap [] : String | Test.java:232:20:232:31 | map : DefaultedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5645:9:5645:24 | getMapValue(...) | +| Test.java:5652:21:5652:23 | out : DefaultedMap [] : String | Test.java:232:20:232:31 | map : DefaultedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5652:9:5652:24 | getMapValue(...) | +| Test.java:5657:42:5657:75 | newTMEWithMapKey(...) : TiedMapEntry [] : String | Test.java:260:53:260:61 | element : TiedMapEntry [] : String | Test.java:260:135:260:135 | x : ListOrderedSet [, ] : String | Test.java:5657:13:5657:76 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | +| Test.java:5657:59:5657:74 | (...)... : String | Test.java:286:46:286:50 | key : String | Test.java:286:62:286:116 | new TiedMapEntry(...) : TiedMapEntry [] : String | Test.java:5657:42:5657:75 | newTMEWithMapKey(...) : TiedMapEntry [] : String | +| Test.java:5659:20:5659:22 | out : EntrySetToMapIteratorAdapter [] : String | Test.java:231:19:231:32 | it : EntrySetToMapIteratorAdapter [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:5659:9:5659:23 | getElement(...) | +| Test.java:5664:42:5664:77 | newTMEWithMapValue(...) : TiedMapEntry [] : String | Test.java:260:53:260:61 | element : TiedMapEntry [] : String | Test.java:260:135:260:135 | x : ListOrderedSet [, ] : String | Test.java:5664:13:5664:78 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | +| Test.java:5664:61:5664:76 | (...)... : String | Test.java:305:48:305:54 | value : String | Test.java:305:66:305:127 | new TiedMapEntry(...) : TiedMapEntry [] : String | Test.java:5664:42:5664:77 | newTMEWithMapValue(...) : TiedMapEntry [] : String | +| Test.java:5666:21:5666:23 | out : EntrySetToMapIteratorAdapter [] : String | Test.java:246:20:246:47 | mapIterator : EntrySetToMapIteratorAdapter [] : String | Test.java:246:59:246:80 | getValue(...) : String | Test.java:5666:9:5666:24 | getMapValue(...) | +| Test.java:5673:19:5673:21 | out : FixedSizeMap [] : String | Test.java:228:18:228:29 | map : FixedSizeMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5673:9:5673:22 | getMapKey(...) | +| Test.java:5680:21:5680:23 | out : FixedSizeMap [] : String | Test.java:232:20:232:31 | map : FixedSizeMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5680:9:5680:24 | getMapValue(...) | +| Test.java:5685:40:5685:55 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:5685:19:5685:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:5687:19:5687:21 | out : FixedSizeSortedMap [] : String | Test.java:228:18:228:29 | map : FixedSizeSortedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5687:9:5687:22 | getMapKey(...) | +| Test.java:5692:42:5692:57 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:5692:19:5692:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:5694:21:5694:23 | out : FixedSizeSortedMap [] : String | Test.java:232:20:232:31 | map : FixedSizeSortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5694:9:5694:24 | getMapValue(...) | +| Test.java:5701:19:5701:21 | out : Flat3Map [] : String | Test.java:228:18:228:29 | map : Flat3Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5701:9:5701:22 | getMapKey(...) | +| Test.java:5708:21:5708:23 | out : Flat3Map [] : String | Test.java:232:20:232:31 | map : Flat3Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5708:9:5708:24 | getMapValue(...) | +| Test.java:5715:19:5715:21 | out : HashedMap [] : String | Test.java:228:18:228:29 | map : HashedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5715:9:5715:22 | getMapKey(...) | +| Test.java:5722:21:5722:23 | out : HashedMap [] : String | Test.java:232:20:232:31 | map : HashedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5722:9:5722:24 | getMapValue(...) | +| Test.java:5729:19:5729:21 | out : LRUMap [] : String | Test.java:228:18:228:29 | map : LRUMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5729:9:5729:22 | getMapKey(...) | +| Test.java:5736:21:5736:23 | out : LRUMap [] : String | Test.java:232:20:232:31 | map : LRUMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5736:9:5736:24 | getMapValue(...) | +| Test.java:5743:19:5743:21 | out : LRUMap [] : String | Test.java:228:18:228:29 | map : LRUMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5743:9:5743:22 | getMapKey(...) | +| Test.java:5750:21:5750:23 | out : LRUMap [] : String | Test.java:232:20:232:31 | map : LRUMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5750:9:5750:24 | getMapValue(...) | +| Test.java:5765:19:5765:21 | out : LazyMap [] : String | Test.java:228:18:228:29 | map : LazyMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5765:9:5765:22 | getMapKey(...) | +| Test.java:5772:19:5772:21 | out : LazyMap [] : String | Test.java:228:18:228:29 | map : LazyMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5772:9:5772:22 | getMapKey(...) | +| Test.java:5779:21:5779:23 | out : LazyMap [] : String | Test.java:232:20:232:31 | map : LazyMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5779:9:5779:24 | getMapValue(...) | +| Test.java:5786:21:5786:23 | out : LazyMap [] : String | Test.java:232:20:232:31 | map : LazyMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5786:9:5786:24 | getMapValue(...) | +| Test.java:5791:40:5791:55 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:5791:19:5791:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:5793:19:5793:21 | out : LazySortedMap [] : String | Test.java:228:18:228:29 | map : LazySortedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5793:9:5793:22 | getMapKey(...) | +| Test.java:5798:40:5798:55 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:5798:19:5798:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:5800:19:5800:21 | out : LazySortedMap [] : String | Test.java:228:18:228:29 | map : LazySortedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5800:9:5800:22 | getMapKey(...) | +| Test.java:5805:42:5805:57 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:5805:19:5805:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:5807:21:5807:23 | out : LazySortedMap [] : String | Test.java:232:20:232:31 | map : LazySortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5807:9:5807:24 | getMapValue(...) | +| Test.java:5812:42:5812:57 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:5812:19:5812:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:5814:21:5814:23 | out : LazySortedMap [] : String | Test.java:232:20:232:31 | map : LazySortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5814:9:5814:24 | getMapValue(...) | +| Test.java:5821:19:5821:21 | out : LinkedMap [] : String | Test.java:228:18:228:29 | map : LinkedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5821:9:5821:22 | getMapKey(...) | +| Test.java:5828:21:5828:23 | out : LinkedMap [] : String | Test.java:232:20:232:31 | map : LinkedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5828:9:5828:24 | getMapValue(...) | +| Test.java:5833:42:5833:57 | (...)... : String | Test.java:276:49:276:53 | key : String | Test.java:276:65:276:106 | new LinkedMap(...) : LinkedMap [] : String | Test.java:5833:19:5833:58 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | +| Test.java:5835:20:5835:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5835:9:5835:23 | getElement(...) | +| Test.java:5840:42:5840:57 | (...)... : String | Test.java:276:49:276:53 | key : String | Test.java:276:65:276:106 | new LinkedMap(...) : LinkedMap [] : String | Test.java:5840:19:5840:58 | newLinkedMapWithMapKey(...) : LinkedMap [] : String | +| Test.java:5847:44:5847:59 | (...)... : String | Test.java:295:51:295:57 | value : String | Test.java:295:69:295:112 | new LinkedMap(...) : LinkedMap [] : String | Test.java:5847:19:5847:60 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | +| Test.java:5854:44:5854:59 | (...)... : String | Test.java:295:51:295:57 | value : String | Test.java:295:69:295:112 | new LinkedMap(...) : LinkedMap [] : String | Test.java:5854:19:5854:60 | newLinkedMapWithMapValue(...) : LinkedMap [] : String | +| Test.java:5861:52:5861:67 | (...)... : String | Test.java:277:59:277:63 | key : String | Test.java:277:75:277:132 | listOrderedMap(...) : ListOrderedMap [] : String | Test.java:5861:24:5861:68 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | +| Test.java:5863:20:5863:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5863:9:5863:23 | getElement(...) | +| Test.java:5868:52:5868:59 | source(...) : Object | Test.java:277:59:277:63 | key : Object | Test.java:277:75:277:132 | listOrderedMap(...) : ListOrderedMap [] : Object | Test.java:5868:24:5868:60 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : Object | +| Test.java:5875:54:5875:61 | source(...) : Object | Test.java:296:61:296:67 | value : Object | Test.java:296:79:296:138 | listOrderedMap(...) : ListOrderedMap [] : Object | Test.java:5875:24:5875:62 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : Object | +| Test.java:5882:52:5882:67 | (...)... : String | Test.java:277:59:277:63 | key : String | Test.java:277:75:277:132 | listOrderedMap(...) : ListOrderedMap [] : String | Test.java:5882:24:5882:68 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | +| Test.java:5884:20:5884:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5884:9:5884:23 | getElement(...) | +| Test.java:5891:19:5891:21 | out : ListOrderedMap [] : String | Test.java:228:18:228:29 | map : ListOrderedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5891:9:5891:22 | getMapKey(...) | +| Test.java:5898:21:5898:23 | out : ListOrderedMap [] : String | Test.java:232:20:232:31 | map : ListOrderedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5898:9:5898:24 | getMapValue(...) | +| Test.java:5905:19:5905:21 | out : ListOrderedMap [] : Object | Test.java:228:18:228:29 | map : ListOrderedMap [] : Object | Test.java:228:41:228:70 | next(...) : Object | Test.java:5905:9:5905:22 | getMapKey(...) | +| Test.java:5912:19:5912:21 | out : ListOrderedMap [] : Object | Test.java:228:18:228:29 | map : ListOrderedMap [] : Object | Test.java:228:41:228:70 | next(...) : Object | Test.java:5912:9:5912:22 | getMapKey(...) | +| Test.java:5919:21:5919:23 | out : ListOrderedMap [] : Object | Test.java:232:20:232:31 | map : ListOrderedMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:5919:9:5919:24 | getMapValue(...) | +| Test.java:5926:19:5926:21 | out : ListOrderedMap [] : String | Test.java:228:18:228:29 | map : ListOrderedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:5926:9:5926:22 | getMapKey(...) | +| Test.java:5933:21:5933:23 | out : ListOrderedMap [] : String | Test.java:232:20:232:31 | map : ListOrderedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:5933:9:5933:24 | getMapValue(...) | +| Test.java:5938:54:5938:69 | (...)... : String | Test.java:296:61:296:67 | value : String | Test.java:296:79:296:138 | listOrderedMap(...) : ListOrderedMap [] : String | Test.java:5938:24:5938:70 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | +| Test.java:5947:21:5947:23 | out : ListOrderedMap [] : Object | Test.java:232:20:232:31 | map : ListOrderedMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:5947:9:5947:24 | getMapValue(...) | +| Test.java:5952:54:5952:69 | (...)... : String | Test.java:296:61:296:67 | value : String | Test.java:296:79:296:138 | listOrderedMap(...) : ListOrderedMap [] : String | Test.java:5952:24:5952:70 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | +| Test.java:5954:20:5954:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5954:9:5954:23 | getElement(...) | +| Test.java:5959:40:5959:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:5959:21:5959:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:5966:40:5966:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:5966:21:5966:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:5973:40:5973:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:5973:21:5973:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:5980:40:5980:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:5980:21:5980:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:5989:20:5989:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:5989:9:5989:34 | getElement(...) | +| Test.java:5996:20:5996:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:5996:9:5996:34 | getElement(...) | +| Test.java:6003:21:6003:23 | out : MultiKeyMap [] : String | Test.java:232:20:232:31 | map : MultiKeyMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6003:9:6003:24 | getMapValue(...) | +| Test.java:6010:20:6010:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6010:9:6010:34 | getElement(...) | +| Test.java:6017:20:6017:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6017:9:6017:34 | getElement(...) | +| Test.java:6024:20:6024:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6024:9:6024:34 | getElement(...) | +| Test.java:6031:21:6031:23 | out : MultiKeyMap [] : String | Test.java:232:20:232:31 | map : MultiKeyMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6031:9:6031:24 | getMapValue(...) | +| Test.java:6038:20:6038:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6038:9:6038:34 | getElement(...) | +| Test.java:6045:20:6045:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6045:9:6045:34 | getElement(...) | +| Test.java:6052:20:6052:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6052:9:6052:34 | getElement(...) | +| Test.java:6059:20:6059:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6059:9:6059:34 | getElement(...) | +| Test.java:6066:21:6066:23 | out : MultiKeyMap [] : String | Test.java:232:20:232:31 | map : MultiKeyMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6066:9:6066:24 | getMapValue(...) | +| Test.java:6073:20:6073:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6073:9:6073:34 | getElement(...) | +| Test.java:6080:20:6080:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6080:9:6080:34 | getElement(...) | +| Test.java:6087:20:6087:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6087:9:6087:34 | getElement(...) | +| Test.java:6094:20:6094:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6094:9:6094:34 | getElement(...) | +| Test.java:6101:20:6101:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6101:9:6101:34 | getElement(...) | +| Test.java:6108:21:6108:23 | out : MultiKeyMap [] : String | Test.java:232:20:232:31 | map : MultiKeyMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6108:9:6108:24 | getMapValue(...) | +| Test.java:6113:40:6113:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:6113:21:6113:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6120:40:6120:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:6120:21:6120:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6127:40:6127:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:6127:21:6127:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6134:40:6134:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:6134:21:6134:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6141:40:6141:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:6141:21:6141:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6148:40:6148:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:6148:21:6148:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6155:40:6155:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:6155:21:6155:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6162:40:6162:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:6162:21:6162:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6169:40:6169:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:6169:21:6169:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | +| Test.java:6176:42:6176:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:6176:23:6176:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:6176:42:6176:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6176:23:6176:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:6176:42:6176:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6176:23:6176:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:6178:20:6178:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:6178:9:6178:23 | getElement(...) | +| Test.java:6178:20:6178:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6178:9:6178:23 | getElement(...) | +| Test.java:6183:57:6183:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:6183:38:6183:73 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:6183:57:6183:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6183:38:6183:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:6183:57:6183:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6183:38:6183:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:6185:30:6185:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:6185:9:6185:45 | getMapValueFromEntry(...) | +| Test.java:6190:55:6190:70 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:6190:38:6190:71 | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:6190:55:6190:70 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:6190:38:6190:71 | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:6190:55:6190:70 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:6190:38:6190:71 | newMVMWithMapKey(...) : MultiValueMap [] : String | +| Test.java:6192:28:6192:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:6192:9:6192:43 | getMapKeyFromEntry(...) | +| Test.java:6197:57:6197:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:6197:57:6197:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:6197:57:6197:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:6199:20:6199:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:6199:9:6199:23 | getElement(...) | +| Test.java:6204:47:6204:62 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:6204:26:6204:63 | newVectorWithElement(...) : Vector [] : String | +| Test.java:6206:20:6206:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6206:9:6206:48 | getElement(...) | +| Test.java:6206:44:6206:46 | out : MultiValueMap [, ] : String | Test.java:232:20:232:31 | map : MultiValueMap [, ] : String | Test.java:232:43:232:55 | get(...) : Object [] : String | Test.java:6206:32:6206:47 | getMapValue(...) : Object [] : String | +| Test.java:6211:47:6211:62 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:6211:26:6211:63 | newVectorWithElement(...) : Vector [] : String | +| Test.java:6213:20:6213:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6213:9:6213:48 | getElement(...) | +| Test.java:6213:44:6213:46 | out : MultiValueMap [, ] : String | Test.java:232:20:232:31 | map : MultiValueMap [, ] : String | Test.java:232:43:232:55 | get(...) : Object [] : String | Test.java:6213:32:6213:47 | getMapValue(...) : Object [] : String | +| Test.java:6218:47:6218:62 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:6218:26:6218:63 | newVectorWithElement(...) : Vector [] : String | +| Test.java:6220:20:6220:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6220:9:6220:48 | getElement(...) | +| Test.java:6220:44:6220:46 | out : MultiValueMap [, ] : String | Test.java:232:20:232:31 | map : MultiValueMap [, ] : String | Test.java:232:43:232:55 | get(...) : Object [] : String | Test.java:6220:32:6220:47 | getMapValue(...) : Object [] : String | +| Test.java:6227:19:6227:21 | out : MultiValueMap [] : String | Test.java:228:18:228:29 | map : MultiValueMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6227:9:6227:22 | getMapKey(...) | +| Test.java:6234:19:6234:21 | out : MultiValueMap [] : String | Test.java:228:18:228:29 | map : MultiValueMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6234:9:6234:22 | getMapKey(...) | +| Test.java:6241:19:6241:21 | out : MultiValueMap [] : String | Test.java:228:18:228:29 | map : MultiValueMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6241:9:6241:22 | getMapKey(...) | +| Test.java:6246:32:6246:47 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:6246:13:6246:48 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:6246:32:6246:47 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6246:13:6246:48 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:6246:32:6246:47 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6246:13:6246:48 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:6248:20:6248:47 | (...)... : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:6248:9:6248:48 | getElement(...) | +| Test.java:6248:20:6248:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6248:9:6248:48 | getElement(...) | +| Test.java:6248:44:6248:46 | out : MultiValueMap [, ] : Object | Test.java:232:20:232:31 | map : MultiValueMap [, ] : Object | Test.java:232:43:232:55 | get(...) : Object [] : Object | Test.java:6248:32:6248:47 | getMapValue(...) : Object [] : Object | +| Test.java:6248:44:6248:46 | out : MultiValueMap [, ] : String | Test.java:232:20:232:31 | map : MultiValueMap [, ] : String | Test.java:232:43:232:55 | get(...) : Object [] : String | Test.java:6248:32:6248:47 | getMapValue(...) : Object [] : String | +| Test.java:6255:20:6255:47 | (...)... : Collection | Test.java:230:19:230:32 | it : Collection | Test.java:230:44:230:63 | next(...) : Object | Test.java:6255:9:6255:48 | getElement(...) | +| Test.java:6255:20:6255:47 | (...)... : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:6255:9:6255:48 | getElement(...) | +| Test.java:6255:44:6255:46 | out : MultiValueMap [, ] : Object | Test.java:232:20:232:31 | map : MultiValueMap [, ] : Object | Test.java:232:43:232:55 | get(...) : Object [] : Object | Test.java:6255:32:6255:47 | getMapValue(...) : Object [] : Object | +| Test.java:6255:44:6255:46 | out : MultiValueMap [] : Object | Test.java:232:20:232:31 | map : MultiValueMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:6255:32:6255:47 | getMapValue(...) : Object | +| Test.java:6262:19:6262:21 | out : MultiValueMap [] : Object | Test.java:228:18:228:29 | map : MultiValueMap [] : Object | Test.java:228:41:228:70 | next(...) : Object | Test.java:6262:9:6262:22 | getMapKey(...) | +| Test.java:6267:42:6267:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6267:20:6267:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:6267:42:6267:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6267:20:6267:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:6269:20:6269:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6269:9:6269:48 | getElement(...) | +| Test.java:6269:44:6269:46 | out : MultiValueMap [, ] : String | Test.java:232:20:232:31 | map : MultiValueMap [, ] : String | Test.java:232:43:232:55 | get(...) : Object [] : String | Test.java:6269:32:6269:47 | getMapValue(...) : Object [] : String | +| Test.java:6274:42:6274:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:6274:23:6274:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | +| Test.java:6274:42:6274:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6274:23:6274:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:6274:42:6274:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6274:23:6274:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:6276:20:6276:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:6276:9:6276:23 | getElement(...) | +| Test.java:6276:20:6276:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6276:9:6276:23 | getElement(...) | +| Test.java:6283:19:6283:21 | out : PassiveExpiringMap [] : String | Test.java:228:18:228:29 | map : PassiveExpiringMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6283:9:6283:22 | getMapKey(...) | +| Test.java:6290:21:6290:23 | out : PassiveExpiringMap [] : String | Test.java:232:20:232:31 | map : PassiveExpiringMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6290:9:6290:24 | getMapValue(...) | +| Test.java:6297:19:6297:21 | out : PassiveExpiringMap [] : String | Test.java:228:18:228:29 | map : PassiveExpiringMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6297:9:6297:22 | getMapKey(...) | +| Test.java:6304:21:6304:23 | out : PassiveExpiringMap [] : String | Test.java:232:20:232:31 | map : PassiveExpiringMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6304:9:6304:24 | getMapValue(...) | +| Test.java:6311:19:6311:21 | out : PassiveExpiringMap [] : String | Test.java:228:18:228:29 | map : PassiveExpiringMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6311:9:6311:22 | getMapKey(...) | +| Test.java:6318:21:6318:23 | out : PassiveExpiringMap [] : String | Test.java:232:20:232:31 | map : PassiveExpiringMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6318:9:6318:24 | getMapValue(...) | +| Test.java:6325:19:6325:21 | out : PassiveExpiringMap [] : String | Test.java:228:18:228:29 | map : PassiveExpiringMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6325:9:6325:22 | getMapKey(...) | +| Test.java:6332:21:6332:23 | out : PassiveExpiringMap [] : String | Test.java:232:20:232:31 | map : PassiveExpiringMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6332:9:6332:24 | getMapValue(...) | +| Test.java:6339:19:6339:21 | out : PredicatedMap [] : String | Test.java:228:18:228:29 | map : PredicatedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6339:9:6339:22 | getMapKey(...) | +| Test.java:6346:21:6346:23 | out : PredicatedMap [] : String | Test.java:232:20:232:31 | map : PredicatedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6346:9:6346:24 | getMapValue(...) | +| Test.java:6351:40:6351:55 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:6351:19:6351:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:6353:19:6353:21 | out : PredicatedSortedMap [] : String | Test.java:228:18:228:29 | map : PredicatedSortedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6353:9:6353:22 | getMapKey(...) | +| Test.java:6358:42:6358:57 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:6358:19:6358:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:6360:21:6360:23 | out : PredicatedSortedMap [] : String | Test.java:232:20:232:31 | map : PredicatedSortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6360:9:6360:24 | getMapValue(...) | +| Test.java:6365:36:6365:51 | (...)... : String | Test.java:286:46:286:50 | key : String | Test.java:286:62:286:116 | new TiedMapEntry(...) : TiedMapEntry [] : String | Test.java:6365:19:6365:52 | newTMEWithMapKey(...) : TiedMapEntry [] : String | +| Test.java:6367:19:6367:21 | out : SingletonMap [] : String | Test.java:228:18:228:29 | map : SingletonMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6367:9:6367:22 | getMapKey(...) | +| Test.java:6372:38:6372:53 | (...)... : String | Test.java:305:48:305:54 | value : String | Test.java:305:66:305:127 | new TiedMapEntry(...) : TiedMapEntry [] : String | Test.java:6372:19:6372:54 | newTMEWithMapValue(...) : TiedMapEntry [] : String | +| Test.java:6374:21:6374:23 | out : SingletonMap [] : String | Test.java:232:20:232:31 | map : SingletonMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6374:9:6374:24 | getMapValue(...) | +| Test.java:6379:35:6379:50 | (...)... : String | Test.java:273:49:273:53 | key : String | Test.java:273:65:273:103 | new DefaultKeyValue(...) : DefaultKeyValue [] : String | Test.java:6379:18:6379:51 | newDKVWithMapKey(...) : DefaultKeyValue [] : String | +| Test.java:6381:19:6381:21 | out : SingletonMap [] : String | Test.java:228:18:228:29 | map : SingletonMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6381:9:6381:22 | getMapKey(...) | +| Test.java:6386:37:6386:52 | (...)... : String | Test.java:291:51:291:57 | value : String | Test.java:291:69:291:109 | new DefaultKeyValue(...) : DefaultKeyValue [] : String | Test.java:6386:18:6386:53 | newDKVWithMapValue(...) : DefaultKeyValue [] : String | +| Test.java:6388:21:6388:23 | out : SingletonMap [] : String | Test.java:232:20:232:31 | map : SingletonMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6388:9:6388:24 | getMapValue(...) | +| Test.java:6395:19:6395:21 | out : SingletonMap [] : String | Test.java:228:18:228:29 | map : SingletonMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6395:9:6395:22 | getMapKey(...) | +| Test.java:6402:21:6402:23 | out : SingletonMap [] : String | Test.java:232:20:232:31 | map : SingletonMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6402:9:6402:24 | getMapValue(...) | +| Test.java:6409:19:6409:21 | out : SingletonMap [] : Object | Test.java:228:18:228:29 | map : SingletonMap [] : Object | Test.java:228:41:228:70 | next(...) : Object | Test.java:6409:9:6409:22 | getMapKey(...) | +| Test.java:6416:21:6416:23 | out : SingletonMap [] : Object | Test.java:232:20:232:31 | map : SingletonMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:6416:9:6416:24 | getMapValue(...) | +| Test.java:6423:21:6423:23 | out : SingletonMap [] : Object | Test.java:232:20:232:31 | map : SingletonMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:6423:9:6423:24 | getMapValue(...) | +| Test.java:6430:19:6430:21 | out : TransformedMap [] : String | Test.java:228:18:228:29 | map : TransformedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6430:9:6430:22 | getMapKey(...) | +| Test.java:6437:21:6437:23 | out : TransformedMap [] : String | Test.java:232:20:232:31 | map : TransformedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6437:9:6437:24 | getMapValue(...) | +| Test.java:6442:40:6442:55 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:6442:19:6442:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:6444:19:6444:21 | out : TransformedSortedMap [] : String | Test.java:228:18:228:29 | map : TransformedSortedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6444:9:6444:22 | getMapKey(...) | +| Test.java:6449:42:6449:57 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:6449:19:6449:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:6451:21:6451:23 | out : TransformedSortedMap [] : String | Test.java:232:20:232:31 | map : TransformedSortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6451:9:6451:24 | getMapValue(...) | +| Test.java:6456:68:6456:101 | newTMEWithMapKey(...) : TiedMapEntry [] : String | Test.java:260:53:260:61 | element : TiedMapEntry [] : String | Test.java:260:135:260:135 | x : ListOrderedSet [, ] : String | Test.java:6456:39:6456:102 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | +| Test.java:6456:85:6456:100 | (...)... : String | Test.java:286:46:286:50 | key : String | Test.java:286:62:286:116 | new TiedMapEntry(...) : TiedMapEntry [] : String | Test.java:6456:68:6456:101 | newTMEWithMapKey(...) : TiedMapEntry [] : String | +| Test.java:6458:28:6458:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:6458:9:6458:43 | getMapKeyFromEntry(...) | +| Test.java:6463:68:6463:103 | newTMEWithMapValue(...) : TiedMapEntry [] : String | Test.java:260:53:260:61 | element : TiedMapEntry [] : String | Test.java:260:135:260:135 | x : ListOrderedSet [, ] : String | Test.java:6463:39:6463:104 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | +| Test.java:6463:87:6463:102 | (...)... : String | Test.java:305:48:305:54 | value : String | Test.java:305:66:305:127 | new TiedMapEntry(...) : TiedMapEntry [] : String | Test.java:6463:68:6463:103 | newTMEWithMapValue(...) : TiedMapEntry [] : String | +| Test.java:6465:30:6465:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:6465:9:6465:45 | getMapValueFromEntry(...) | +| Test.java:6472:19:6472:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6472:9:6472:22 | getMapKey(...) | +| Test.java:6479:21:6479:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6479:9:6479:24 | getMapValue(...) | +| Test.java:6484:48:6484:63 | (...)... : String | Test.java:277:59:277:63 | key : String | Test.java:277:75:277:132 | listOrderedMap(...) : ListOrderedMap [] : String | Test.java:6484:20:6484:64 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | +| Test.java:6486:19:6486:21 | out : OrderedMap [] : String | Test.java:228:18:228:29 | map : OrderedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6486:9:6486:22 | getMapKey(...) | +| Test.java:6491:50:6491:65 | (...)... : String | Test.java:296:61:296:67 | value : String | Test.java:296:79:296:138 | listOrderedMap(...) : ListOrderedMap [] : String | Test.java:6491:20:6491:66 | newListOrderedMapWithMapValue(...) : ListOrderedMap [] : String | +| Test.java:6493:21:6493:23 | out : OrderedMap [] : String | Test.java:232:20:232:31 | map : OrderedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6493:9:6493:24 | getMapValue(...) | +| Test.java:6498:40:6498:55 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:6498:19:6498:56 | newTreeMapWithMapKey(...) : TreeMap [] : String | +| Test.java:6500:19:6500:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6500:9:6500:22 | getMapKey(...) | +| Test.java:6505:42:6505:57 | (...)... : String | Test.java:304:49:304:55 | value : String | Test.java:304:127:304:127 | m : TreeMap [] : String | Test.java:6505:19:6505:58 | newTreeMapWithMapValue(...) : TreeMap [] : String | +| Test.java:6507:21:6507:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6507:9:6507:24 | getMapValue(...) | +| Test.java:6514:19:6514:21 | out : ArrayListValuedHashMap [] : String | Test.java:240:18:240:46 | container : ArrayListValuedHashMap [] : String | Test.java:240:58:240:93 | next(...) : String | Test.java:6514:9:6514:22 | getMapKey(...) | +| Test.java:6521:20:6521:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6521:9:6521:36 | getElement(...) | +| Test.java:6521:32:6521:34 | out : ArrayListValuedHashMap [, ] : String | Test.java:247:32:247:60 | container : ArrayListValuedHashMap [, ] : String | Test.java:247:72:247:90 | get(...) : Collection [] : String | Test.java:6521:20:6521:35 | getMapValue(...) : Collection [] : String | +| Test.java:6526:45:6526:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:6526:24:6526:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:6528:20:6528:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6528:9:6528:36 | getElement(...) | +| Test.java:6528:32:6528:34 | out : ArrayListValuedHashMap [, ] : String | Test.java:247:32:247:60 | container : ArrayListValuedHashMap [, ] : String | Test.java:247:72:247:90 | get(...) : Collection [] : String | Test.java:6528:20:6528:35 | getMapValue(...) : Collection [] : String | +| Test.java:6533:43:6533:58 | (...)... : String | Test.java:272:58:272:62 | key : String | Test.java:272:160:272:160 | m : ArrayListValuedHashMap [] : String | Test.java:6533:24:6533:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:6535:19:6535:21 | out : ArrayListValuedHashMap [] : String | Test.java:240:18:240:46 | container : ArrayListValuedHashMap [] : String | Test.java:240:58:240:93 | next(...) : String | Test.java:6535:9:6535:22 | getMapKey(...) | +| Test.java:6542:19:6542:21 | out : HashSetValuedHashMap [] : String | Test.java:240:18:240:46 | container : HashSetValuedHashMap [] : String | Test.java:240:58:240:93 | next(...) : String | Test.java:6542:9:6542:22 | getMapKey(...) | +| Test.java:6549:20:6549:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6549:9:6549:36 | getElement(...) | +| Test.java:6549:32:6549:34 | out : HashSetValuedHashMap [, ] : String | Test.java:247:32:247:60 | container : HashSetValuedHashMap [, ] : String | Test.java:247:72:247:90 | get(...) : Collection [] : String | Test.java:6549:20:6549:35 | getMapValue(...) : Collection [] : String | +| Test.java:6554:45:6554:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:6554:24:6554:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:6556:20:6556:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6556:9:6556:36 | getElement(...) | +| Test.java:6556:32:6556:34 | out : HashSetValuedHashMap [, ] : String | Test.java:247:32:247:60 | container : HashSetValuedHashMap [, ] : String | Test.java:247:72:247:90 | get(...) : Collection [] : String | Test.java:6556:20:6556:35 | getMapValue(...) : Collection [] : String | +| Test.java:6561:43:6561:58 | (...)... : String | Test.java:272:58:272:62 | key : String | Test.java:272:160:272:160 | m : ArrayListValuedHashMap [] : String | Test.java:6561:24:6561:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:6563:19:6563:21 | out : HashSetValuedHashMap [] : String | Test.java:240:18:240:46 | container : HashSetValuedHashMap [] : String | Test.java:240:58:240:93 | next(...) : String | Test.java:6563:9:6563:22 | getMapKey(...) | +| Test.java:6568:45:6568:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:6568:24:6568:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:6570:20:6570:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6570:9:6570:36 | getElement(...) | +| Test.java:6570:32:6570:34 | out : TransformedMultiValuedMap [, ] : String | Test.java:247:32:247:60 | container : TransformedMultiValuedMap [, ] : String | Test.java:247:72:247:90 | get(...) : Collection [] : String | Test.java:6570:20:6570:35 | getMapValue(...) : Collection [] : String | +| Test.java:6575:43:6575:58 | (...)... : String | Test.java:272:58:272:62 | key : String | Test.java:272:160:272:160 | m : ArrayListValuedHashMap [] : String | Test.java:6575:24:6575:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:6577:19:6577:21 | out : TransformedMultiValuedMap [] : String | Test.java:240:18:240:46 | container : TransformedMultiValuedMap [] : String | Test.java:240:58:240:93 | next(...) : String | Test.java:6577:9:6577:22 | getMapKey(...) | +| Test.java:6582:45:6582:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:6582:24:6582:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | +| Test.java:6584:20:6584:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6584:9:6584:36 | getElement(...) | +| Test.java:6584:32:6584:34 | out : UnmodifiableMultiValuedMap [, ] : String | Test.java:247:32:247:60 | container : UnmodifiableMultiValuedMap [, ] : String | Test.java:247:72:247:90 | get(...) : Collection [] : String | Test.java:6584:20:6584:35 | getMapValue(...) : Collection [] : String | +| Test.java:6589:43:6589:58 | (...)... : String | Test.java:272:58:272:62 | key : String | Test.java:272:160:272:160 | m : ArrayListValuedHashMap [] : String | Test.java:6589:24:6589:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | +| Test.java:6591:19:6591:21 | out : UnmodifiableMultiValuedMap [] : String | Test.java:240:18:240:46 | container : UnmodifiableMultiValuedMap [] : String | Test.java:240:58:240:93 | next(...) : String | Test.java:6591:9:6591:22 | getMapKey(...) | +| Test.java:6596:42:6596:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6596:20:6596:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:6596:42:6596:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6596:20:6596:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:6598:20:6598:22 | out : HashMultiSet [] : String | Test.java:230:19:230:32 | it : HashMultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6598:9:6598:23 | getElement(...) | +| Test.java:6603:45:6603:60 | (...)... : String | Test.java:258:49:258:57 | element : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | Test.java:6603:18:6603:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:6603:45:6603:60 | (...)... : String | Test.java:258:49:258:57 | element : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | Test.java:6603:18:6603:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:6605:20:6605:22 | out : PredicatedMultiSet [] : String | Test.java:230:19:230:32 | it : PredicatedMultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6605:9:6605:23 | getElement(...) | +| Test.java:6610:45:6610:60 | (...)... : String | Test.java:258:49:258:57 | element : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | Test.java:6610:18:6610:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:6610:45:6610:60 | (...)... : String | Test.java:258:49:258:57 | element : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | Test.java:6610:18:6610:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:6612:20:6612:22 | out : SynchronizedMultiSet [] : String | Test.java:230:19:230:32 | it : SynchronizedMultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6612:9:6612:23 | getElement(...) | +| Test.java:6617:45:6617:60 | (...)... : String | Test.java:258:49:258:57 | element : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | Test.java:6617:18:6617:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:6617:45:6617:60 | (...)... : String | Test.java:258:49:258:57 | element : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | Test.java:6617:18:6617:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | +| Test.java:6619:20:6619:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6619:9:6619:23 | getElement(...) | +| Test.java:6688:42:6688:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6688:20:6688:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:6688:42:6688:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6688:20:6688:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:6690:20:6690:22 | out : CircularFifoQueue [] : String | Test.java:230:19:230:32 | it : CircularFifoQueue [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6690:9:6690:23 | getElement(...) | +| Test.java:6695:59:6695:74 | (...)... : String | Test.java:253:59:253:67 | element : String | Test.java:253:147:253:147 | x : CircularFifoQueue [] : String | Test.java:6695:27:6695:75 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | +| Test.java:6702:47:6702:62 | (...)... : String | Test.java:253:59:253:67 | element : String | Test.java:253:147:253:147 | x : CircularFifoQueue [] : String | Test.java:6702:15:6702:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | +| Test.java:6704:20:6704:22 | out : PredicatedQueue [] : String | Test.java:230:19:230:32 | it : PredicatedQueue [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6704:9:6704:23 | getElement(...) | +| Test.java:6709:47:6709:62 | (...)... : String | Test.java:253:59:253:67 | element : String | Test.java:253:147:253:147 | x : CircularFifoQueue [] : String | Test.java:6709:15:6709:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | +| Test.java:6711:20:6711:22 | out : SynchronizedQueue [] : String | Test.java:230:19:230:32 | it : SynchronizedQueue [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6711:9:6711:23 | getElement(...) | +| Test.java:6716:47:6716:62 | (...)... : String | Test.java:253:59:253:67 | element : String | Test.java:253:147:253:147 | x : CircularFifoQueue [] : String | Test.java:6716:15:6716:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | +| Test.java:6718:20:6718:22 | out : TransformedQueue [] : String | Test.java:230:19:230:32 | it : TransformedQueue [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6718:9:6718:23 | getElement(...) | +| Test.java:6723:47:6723:62 | (...)... : String | Test.java:253:59:253:67 | element : String | Test.java:253:147:253:147 | x : CircularFifoQueue [] : String | Test.java:6723:15:6723:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | +| Test.java:6725:20:6725:22 | out : Queue [] : String | Test.java:230:19:230:32 | it : Queue [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6725:9:6725:23 | getElement(...) | +| Test.java:6730:44:6730:59 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:6730:22:6730:60 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:6731:46:6731:47 | in : TreeSet [] : String | Test.java:7243:42:7243:66 | set : TreeSet [] : String | Test.java:7243:10:7243:40 | parameter this [Return] : MyAbstractNavigableSetDecorator [] : String | Test.java:6731:10:6731:48 | new MyAbstractNavigableSetDecorator<>(...) : MyAbstractNavigableSetDecorator [] : String | +| Test.java:6732:20:6732:22 | out : MyAbstractNavigableSetDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractNavigableSetDecorator [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6732:9:6732:23 | getElement(...) | +| Test.java:6737:42:6737:57 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:6737:13:6737:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6738:37:6738:38 | in : ListOrderedSet [] : String | Test.java:7249:33:7249:48 | set : ListOrderedSet [] : String | Test.java:7249:10:7249:31 | parameter this [Return] : MyAbstractSetDecorator [] : String | Test.java:6738:10:6738:39 | new MyAbstractSetDecorator<>(...) : MyAbstractSetDecorator [] : String | +| Test.java:6739:20:6739:22 | out : MyAbstractSetDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractSetDecorator [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6739:9:6739:23 | getElement(...) | +| Test.java:6744:42:6744:57 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:6744:13:6744:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6745:43:6745:44 | in : ListOrderedSet [] : String | Test.java:7255:39:7255:54 | set : ListOrderedSet [] : String | Test.java:7255:10:7255:37 | parameter this [Return] : MyAbstractSortedSetDecorator [] : String | Test.java:6745:10:6745:45 | new MyAbstractSortedSetDecorator<>(...) : MyAbstractSortedSetDecorator [] : String | +| Test.java:6746:20:6746:22 | out : MyAbstractSortedSetDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractSortedSetDecorator [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6746:9:6746:23 | getElement(...) | +| Test.java:6754:20:6754:22 | out : CompositeSet [] : Object | Test.java:230:19:230:32 | it : CompositeSet [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:6754:9:6754:23 | getElement(...) | +| Test.java:6762:20:6762:34 | getElement(...) : Set [] : Object | Test.java:230:19:230:32 | it : Set [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:6762:9:6762:35 | getElement(...) | +| Test.java:6767:42:6767:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6767:20:6767:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:6767:42:6767:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6767:20:6767:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:6770:20:6770:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6770:9:6770:23 | getElement(...) | +| Test.java:6775:42:6775:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6775:20:6775:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:6775:42:6775:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6775:20:6775:58 | newTreeBagWithElement(...) : TreeBag [] : String | +| Test.java:6778:20:6778:34 | getElement(...) : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6778:9:6778:35 | getElement(...) | +| Test.java:6783:42:6783:57 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:6783:13:6783:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6785:20:6785:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6785:9:6785:23 | getElement(...) | +| Test.java:6790:54:6790:69 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:6790:25:6790:70 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6792:20:6792:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6792:9:6792:23 | getElement(...) | +| Test.java:6797:42:6797:57 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:6797:13:6797:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6799:20:6799:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6799:9:6799:23 | getElement(...) | +| Test.java:6804:42:6804:57 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:6804:13:6804:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6806:20:6806:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6806:9:6806:23 | getElement(...) | +| Test.java:6811:42:6811:57 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:6811:13:6811:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6813:20:6813:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6813:9:6813:23 | getElement(...) | +| Test.java:6818:54:6818:69 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:6818:25:6818:70 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6820:20:6820:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6820:9:6820:23 | getElement(...) | +| Test.java:6825:57:6825:72 | (...)... : String | Test.java:254:49:254:57 | element : String | Test.java:254:69:254:126 | new CompositeSet(...) : CompositeSet [] : String | Test.java:6825:30:6825:73 | newCompositeSetWithElement(...) : CompositeSet [] : String | +| Test.java:6827:20:6827:34 | getElement(...) : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6827:9:6827:35 | getElement(...) | +| Test.java:6832:49:6832:64 | (...)... : String | Test.java:254:49:254:57 | element : String | Test.java:254:69:254:126 | new CompositeSet(...) : CompositeSet [] : String | Test.java:6832:22:6832:65 | newCompositeSetWithElement(...) : CompositeSet [] : String | +| Test.java:6834:20:6834:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6834:9:6834:23 | getElement(...) | +| Test.java:6841:20:6841:22 | out : ListOrderedSet [] : Object | Test.java:230:19:230:32 | it : ListOrderedSet [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:6841:9:6841:23 | getElement(...) | +| Test.java:6848:20:6848:22 | out : ListOrderedSet [] : String | Test.java:230:19:230:32 | it : ListOrderedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6848:9:6848:23 | getElement(...) | +| Test.java:6853:53:6853:68 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:6853:24:6853:69 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6855:20:6855:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6855:9:6855:23 | getElement(...) | +| Test.java:6860:53:6860:68 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:6860:24:6860:69 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6869:20:6869:22 | out : ListOrderedSet [] : String | Test.java:230:19:230:32 | it : ListOrderedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6869:9:6869:23 | getElement(...) | +| Test.java:6874:42:6874:57 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:6874:13:6874:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6876:20:6876:22 | out : ListOrderedSet [] : String | Test.java:230:19:230:32 | it : ListOrderedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6876:9:6876:23 | getElement(...) | +| Test.java:6883:20:6883:22 | out : MapBackedSet [] : String | Test.java:230:19:230:32 | it : MapBackedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6883:9:6883:23 | getElement(...) | +| Test.java:6890:20:6890:22 | out : MapBackedSet [] : String | Test.java:230:19:230:32 | it : MapBackedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6890:9:6890:23 | getElement(...) | +| Test.java:6895:44:6895:59 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:6895:22:6895:60 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:6897:20:6897:22 | out : PredicatedNavigableSet [] : String | Test.java:230:19:230:32 | it : PredicatedNavigableSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6897:9:6897:23 | getElement(...) | +| Test.java:6902:42:6902:57 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:6902:13:6902:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6904:20:6904:22 | out : PredicatedSet [] : String | Test.java:230:19:230:32 | it : PredicatedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6904:9:6904:23 | getElement(...) | +| Test.java:6909:41:6909:56 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:6909:19:6909:57 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:6911:20:6911:22 | out : PredicatedSortedSet [] : String | Test.java:230:19:230:32 | it : PredicatedSortedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6911:9:6911:23 | getElement(...) | +| Test.java:6916:44:6916:59 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:6916:22:6916:60 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:6918:20:6918:22 | out : TransformedNavigableSet [] : String | Test.java:230:19:230:32 | it : TransformedNavigableSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6918:9:6918:23 | getElement(...) | +| Test.java:6923:42:6923:57 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:6923:13:6923:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6925:20:6925:22 | out : TransformedSet [] : String | Test.java:230:19:230:32 | it : TransformedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6925:9:6925:23 | getElement(...) | +| Test.java:6930:41:6930:56 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:6930:19:6930:57 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:6932:20:6932:22 | out : TransformedSortedSet [] : String | Test.java:230:19:230:32 | it : TransformedSortedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6932:9:6932:23 | getElement(...) | +| Test.java:6937:44:6937:59 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:6937:22:6937:60 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:6939:20:6939:22 | out : NavigableSet [] : String | Test.java:230:19:230:32 | it : NavigableSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6939:9:6939:23 | getElement(...) | +| Test.java:6944:42:6944:57 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:6944:13:6944:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | +| Test.java:6946:20:6946:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6946:9:6946:23 | getElement(...) | +| Test.java:6951:41:6951:56 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:6951:19:6951:57 | newTreeSetWithElement(...) : TreeSet [] : String | +| Test.java:6953:20:6953:22 | out : SortedSet [] : String | Test.java:230:19:230:32 | it : SortedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6953:9:6953:23 | getElement(...) | +| Test.java:6960:26:6960:28 | out : AbstractIterableGetMapDecorator [] : String | Test.java:241:25:241:42 | container : AbstractIterableGetMapDecorator [] : String | Test.java:241:54:241:89 | next(...) : String | Test.java:6960:9:6960:29 | getMapKeyFromGet(...) | +| Test.java:6967:28:6967:30 | out : AbstractIterableGetMapDecorator [] : String | Test.java:248:27:248:44 | container : AbstractIterableGetMapDecorator [] : String | Test.java:248:56:248:74 | get(...) : String | Test.java:6967:9:6967:31 | getMapValueFromGet(...) | +| Test.java:6974:26:6974:28 | out : TransformedSplitMap [] : String | Test.java:241:25:241:42 | container : TransformedSplitMap [] : String | Test.java:241:54:241:89 | next(...) : String | Test.java:6974:9:6974:29 | getMapKeyFromGet(...) | +| Test.java:6981:28:6981:30 | out : TransformedSplitMap [] : String | Test.java:248:27:248:44 | container : TransformedSplitMap [] : String | Test.java:248:56:248:74 | get(...) : String | Test.java:6981:9:6981:31 | getMapValueFromGet(...) | +| Test.java:6988:19:6988:21 | out : PatriciaTrie [] : String | Test.java:228:18:228:29 | map : PatriciaTrie [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6988:9:6988:22 | getMapKey(...) | +| Test.java:6995:21:6995:23 | out : PatriciaTrie [] : String | Test.java:232:20:232:31 | map : PatriciaTrie [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6995:9:6995:24 | getMapValue(...) | +| Test.java:6999:56:6999:71 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:6999:30:6999:72 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:6999:56:6999:71 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:6999:30:6999:72 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:7002:28:7002:30 | out : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:7002:9:7002:31 | getMapKeyFromEntry(...) | +| Test.java:7006:58:7006:73 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:7006:30:7006:74 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:7006:58:7006:73 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:7006:30:7006:74 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:7009:30:7009:32 | out : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:7009:9:7009:33 | getMapValueFromEntry(...) | +| Test.java:7013:56:7013:71 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:7013:30:7013:72 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:7013:56:7013:71 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:7013:30:7013:72 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:7020:58:7020:73 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:7020:30:7020:74 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:7020:58:7020:73 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:7020:30:7020:74 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:7028:40:7028:55 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:7028:14:7028:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:7028:40:7028:55 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:7028:14:7028:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | +| Test.java:7030:19:7030:21 | out : Trie [] : String | Test.java:228:18:228:29 | map : Trie [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:7030:9:7030:22 | getMapKey(...) | +| Test.java:7035:42:7035:57 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:7035:14:7035:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:7035:42:7035:57 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:7035:14:7035:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | +| Test.java:7037:21:7037:23 | out : Trie [] : String | Test.java:232:20:232:31 | map : Trie [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:7037:9:7037:24 | getMapValue(...) | +testFailures diff --git a/java/ql/test/library-tests/frameworks/apache-commons-compress/test.expected b/java/ql/test/library-tests/frameworks/apache-commons-compress/test.expected index e69de29bb2d..f87a3c4c212 100644 --- a/java/ql/test/library-tests/frameworks/apache-commons-compress/test.expected +++ b/java/ql/test/library-tests/frameworks/apache-commons-compress/test.expected @@ -0,0 +1,45 @@ +models +| 1 | Summary: org.apache.commons.compress.archivers.tar; TarArchiveEntry; true; TarArchiveEntry; (String); ; Argument[0]; Argument[this]; taint; ai-manual | +| 2 | Summary: org.apache.commons.compress.archivers.tar; TarArchiveEntry; true; TarArchiveEntry; (String,boolean); ; Argument[0]; Argument[this]; taint; ai-manual | +| 3 | Summary: org.apache.commons.compress.archivers.tar; TarArchiveEntry; true; TarArchiveEntry; (String,byte); ; Argument[0]; Argument[this]; taint; ai-manual | +| 4 | Summary: org.apache.commons.compress.archivers.tar; TarArchiveEntry; true; setLinkName; (String); ; Argument[0]; Argument[this]; taint; ai-manual | +edges +| Test.java:18:16:18:32 | (...)... : String | Test.java:19:30:19:31 | in : String | provenance | | +| Test.java:18:25:18:32 | source(...) : Object | Test.java:18:16:18:32 | (...)... : String | provenance | | +| Test.java:19:10:19:32 | new TarArchiveEntry(...) : TarArchiveEntry | Test.java:20:9:20:11 | out | provenance | | +| Test.java:19:30:19:31 | in : String | Test.java:19:10:19:32 | new TarArchiveEntry(...) : TarArchiveEntry | provenance | MaD:1 | +| Test.java:25:16:25:32 | (...)... : String | Test.java:26:30:26:31 | in : String | provenance | | +| Test.java:25:25:25:32 | source(...) : Object | Test.java:25:16:25:32 | (...)... : String | provenance | | +| Test.java:26:10:26:39 | new TarArchiveEntry(...) : TarArchiveEntry | Test.java:27:9:27:11 | out | provenance | | +| Test.java:26:30:26:31 | in : String | Test.java:26:10:26:39 | new TarArchiveEntry(...) : TarArchiveEntry | provenance | MaD:2 | +| Test.java:32:16:32:32 | (...)... : String | Test.java:33:30:33:31 | in : String | provenance | | +| Test.java:32:25:32:32 | source(...) : Object | Test.java:32:16:32:32 | (...)... : String | provenance | | +| Test.java:33:10:33:42 | new TarArchiveEntry(...) : TarArchiveEntry | Test.java:34:9:34:11 | out | provenance | | +| Test.java:33:30:33:31 | in : String | Test.java:33:10:33:42 | new TarArchiveEntry(...) : TarArchiveEntry | provenance | MaD:3 | +| Test.java:39:16:39:32 | (...)... : String | Test.java:40:20:40:21 | in : String | provenance | | +| Test.java:39:25:39:32 | source(...) : Object | Test.java:39:16:39:32 | (...)... : String | provenance | | +| Test.java:40:4:40:6 | out [post update] : TarArchiveEntry | Test.java:41:9:41:11 | out | provenance | | +| Test.java:40:20:40:21 | in : String | Test.java:40:4:40:6 | out [post update] : TarArchiveEntry | provenance | MaD:4 | +nodes +| Test.java:18:16:18:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:18:25:18:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:19:10:19:32 | new TarArchiveEntry(...) : TarArchiveEntry | semmle.label | new TarArchiveEntry(...) : TarArchiveEntry | +| Test.java:19:30:19:31 | in : String | semmle.label | in : String | +| Test.java:20:9:20:11 | out | semmle.label | out | +| Test.java:25:16:25:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:25:25:25:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:26:10:26:39 | new TarArchiveEntry(...) : TarArchiveEntry | semmle.label | new TarArchiveEntry(...) : TarArchiveEntry | +| Test.java:26:30:26:31 | in : String | semmle.label | in : String | +| Test.java:27:9:27:11 | out | semmle.label | out | +| Test.java:32:16:32:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:32:25:32:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:33:10:33:42 | new TarArchiveEntry(...) : TarArchiveEntry | semmle.label | new TarArchiveEntry(...) : TarArchiveEntry | +| Test.java:33:30:33:31 | in : String | semmle.label | in : String | +| Test.java:34:9:34:11 | out | semmle.label | out | +| Test.java:39:16:39:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:39:25:39:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:40:4:40:6 | out [post update] : TarArchiveEntry | semmle.label | out [post update] : TarArchiveEntry | +| Test.java:40:20:40:21 | in : String | semmle.label | in : String | +| Test.java:41:9:41:11 | out | semmle.label | out | +subpaths +testFailures diff --git a/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.expected b/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.expected index e69de29bb2d..93eaf02d839 100644 --- a/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.expected +++ b/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.expected @@ -0,0 +1,6062 @@ +models +| 1 | Summary: java.nio; CharBuffer; true; wrap; (char[]); ; Argument[0]; ReturnValue; taint; df-generated | +| 2 | Summary: java.io; Reader; true; read; ; ; Argument[this]; Argument[0]; taint; manual | +| 3 | Summary: java.io; StringReader; false; StringReader; ; ; Argument[0]; Argument[this]; taint; manual | +| 4 | Summary: java.lang; Appendable; true; append; ; ; Argument[0]; Argument[this]; taint; manual | +| 5 | Summary: java.lang; CharSequence; true; subSequence; ; ; Argument[this]; ReturnValue; taint; manual | +| 6 | Summary: java.lang; CharSequence; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 7 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 8 | Summary: java.lang; String; false; toCharArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 9 | Summary: java.lang; StringBuffer; true; StringBuffer; (String); ; Argument[0]; Argument[this]; taint; manual | +| 10 | Summary: java.lang; StringBuilder; true; StringBuilder; ; ; Argument[0]; Argument[this]; taint; manual | +| 11 | Summary: java.util; Collection; true; add; ; ; Argument[0]; Argument[this].Element; value; manual | +| 12 | Summary: java.util; Dictionary; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 13 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 14 | Summary: java.util; ListIterator; true; previous; ; ; Argument[this].Element; ReturnValue; value; manual | +| 15 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 16 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 17 | Summary: java.util; Map$Entry; true; getValue; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 18 | Summary: java.util; Map$Entry; true; setValue; ; ; Argument[0]; Argument[this].MapValue; value; manual | +| 19 | Summary: org.apache.commons.lang3.builder; ToStringBuilder; false; append; ; ; Argument[this]; ReturnValue; value; manual | +| 20 | Summary: org.apache.commons.lang3.builder; ToStringBuilder; false; append; (java.lang.Object); ; Argument[0]; Argument[this]; taint; manual | +| 21 | Summary: org.apache.commons.lang3.builder; ToStringBuilder; false; append; (java.lang.Object[]); ; Argument[0].ArrayElement; Argument[this]; taint; manual | +| 22 | Summary: org.apache.commons.lang3.builder; ToStringBuilder; false; append; (java.lang.String,boolean); ; Argument[0]; Argument[this]; taint; manual | +| 23 | Summary: org.apache.commons.lang3.builder; ToStringBuilder; false; append; (java.lang.String,java.lang.Object); ; Argument[0..1]; Argument[this]; taint; manual | +| 24 | Summary: org.apache.commons.lang3.builder; ToStringBuilder; false; append; (java.lang.String,java.lang.Object[]); ; Argument[1].ArrayElement; Argument[this]; taint; manual | +| 25 | Summary: org.apache.commons.lang3.builder; ToStringBuilder; false; append; (java.lang.String,java.lang.Object[],boolean); ; Argument[1].ArrayElement; Argument[this]; taint; manual | +| 26 | Summary: org.apache.commons.lang3.builder; ToStringBuilder; false; appendSuper; ; ; Argument[0]; Argument[this]; taint; manual | +| 27 | Summary: org.apache.commons.lang3.builder; ToStringBuilder; false; appendToString; ; ; Argument[0]; Argument[this]; taint; manual | +| 28 | Summary: org.apache.commons.lang3.builder; ToStringBuilder; false; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 29 | Summary: org.apache.commons.lang3.builder; ToStringBuilder; false; getStringBuffer; ; ; Argument[this]; ReturnValue; taint; manual | +| 30 | Summary: org.apache.commons.lang3.builder; ToStringBuilder; false; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 31 | Summary: org.apache.commons.lang3; ArrayUtils; false; add; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 32 | Summary: org.apache.commons.lang3; ArrayUtils; false; add; ; ; Argument[2]; ReturnValue.ArrayElement; value; manual | +| 33 | Summary: org.apache.commons.lang3; ArrayUtils; false; add; (java.lang.Object[],java.lang.Object); ; Argument[1]; ReturnValue.ArrayElement; value; manual | +| 34 | Summary: org.apache.commons.lang3; ArrayUtils; false; addAll; ; ; Argument[0..1].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 35 | Summary: org.apache.commons.lang3; ArrayUtils; false; addFirst; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 36 | Summary: org.apache.commons.lang3; ArrayUtils; false; addFirst; ; ; Argument[1]; ReturnValue.ArrayElement; value; manual | +| 37 | Summary: org.apache.commons.lang3; ArrayUtils; false; clone; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 38 | Summary: org.apache.commons.lang3; ArrayUtils; false; get; ; ; Argument[0].ArrayElement; ReturnValue; value; manual | +| 39 | Summary: org.apache.commons.lang3; ArrayUtils; false; get; (java.lang.Object[],int,java.lang.Object); ; Argument[2]; ReturnValue; value; manual | +| 40 | Summary: org.apache.commons.lang3; ArrayUtils; false; insert; ; ; Argument[1..2].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 41 | Summary: org.apache.commons.lang3; ArrayUtils; false; nullToEmpty; (java.lang.Object[],java.lang.Class); ; Argument[0]; ReturnValue; value; manual | +| 42 | Summary: org.apache.commons.lang3; ArrayUtils; false; nullToEmpty; (java.lang.String[]); ; Argument[0]; ReturnValue; value; manual | +| 43 | Summary: org.apache.commons.lang3; ArrayUtils; false; remove; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 44 | Summary: org.apache.commons.lang3; ArrayUtils; false; removeAll; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 45 | Summary: org.apache.commons.lang3; ArrayUtils; false; removeAllOccurences; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 46 | Summary: org.apache.commons.lang3; ArrayUtils; false; removeAllOccurrences; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 47 | Summary: org.apache.commons.lang3; ArrayUtils; false; removeElement; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 48 | Summary: org.apache.commons.lang3; ArrayUtils; false; removeElements; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 49 | Summary: org.apache.commons.lang3; ArrayUtils; false; subarray; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 50 | Summary: org.apache.commons.lang3; ArrayUtils; false; toArray; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 51 | Summary: org.apache.commons.lang3; ArrayUtils; false; toMap; ; ; Argument[0].ArrayElement.ArrayElement; ReturnValue.MapValue; value; manual | +| 52 | Summary: org.apache.commons.lang3; ArrayUtils; false; toMap; ; ; Argument[0].ArrayElement.MapValue; ReturnValue.MapValue; value; manual | +| 53 | Summary: org.apache.commons.lang3; ArrayUtils; false; toObject; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 54 | Summary: org.apache.commons.lang3; ArrayUtils; false; toPrimitive; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 55 | Summary: org.apache.commons.lang3; ArrayUtils; false; toPrimitive; ; ; Argument[1]; ReturnValue.ArrayElement; value; manual | +| 56 | Summary: org.apache.commons.lang3; ObjectUtils; false; CONST; ; ; Argument[0]; ReturnValue; value; manual | +| 57 | Summary: org.apache.commons.lang3; ObjectUtils; false; CONST_BYTE; ; ; Argument[0]; ReturnValue; value; manual | +| 58 | Summary: org.apache.commons.lang3; ObjectUtils; false; CONST_SHORT; ; ; Argument[0]; ReturnValue; value; manual | +| 59 | Summary: org.apache.commons.lang3; ObjectUtils; false; clone; ; ; Argument[0]; ReturnValue; value; manual | +| 60 | Summary: org.apache.commons.lang3; ObjectUtils; false; cloneIfPossible; ; ; Argument[0]; ReturnValue; value; manual | +| 61 | Summary: org.apache.commons.lang3; ObjectUtils; false; defaultIfNull; ; ; Argument[0..1]; ReturnValue; value; manual | +| 62 | Summary: org.apache.commons.lang3; ObjectUtils; false; firstNonNull; ; ; Argument[0].ArrayElement; ReturnValue; value; manual | +| 63 | Summary: org.apache.commons.lang3; ObjectUtils; false; getIfNull; ; ; Argument[0]; ReturnValue; value; manual | +| 64 | Summary: org.apache.commons.lang3; ObjectUtils; false; max; ; ; Argument[0].ArrayElement; ReturnValue; value; manual | +| 65 | Summary: org.apache.commons.lang3; ObjectUtils; false; median; ; ; Argument[0].ArrayElement; ReturnValue; value; manual | +| 66 | Summary: org.apache.commons.lang3; ObjectUtils; false; min; ; ; Argument[0].ArrayElement; ReturnValue; value; manual | +| 67 | Summary: org.apache.commons.lang3; ObjectUtils; false; mode; ; ; Argument[0].ArrayElement; ReturnValue; value; manual | +| 68 | Summary: org.apache.commons.lang3; ObjectUtils; false; requireNonEmpty; ; ; Argument[0]; ReturnValue; value; manual | +| 69 | Summary: org.apache.commons.lang3; ObjectUtils; false; toString; (Object,String); ; Argument[1]; ReturnValue; value; manual | +| 70 | Summary: org.apache.commons.lang3; RegExUtils; false; removeAll; ; ; Argument[0]; ReturnValue; taint; manual | +| 71 | Summary: org.apache.commons.lang3; RegExUtils; false; removeFirst; ; ; Argument[0]; ReturnValue; taint; manual | +| 72 | Summary: org.apache.commons.lang3; RegExUtils; false; removePattern; ; ; Argument[0]; ReturnValue; taint; manual | +| 73 | Summary: org.apache.commons.lang3; RegExUtils; false; replaceAll; ; ; Argument[0]; ReturnValue; taint; manual | +| 74 | Summary: org.apache.commons.lang3; RegExUtils; false; replaceAll; ; ; Argument[2]; ReturnValue; taint; manual | +| 75 | Summary: org.apache.commons.lang3; RegExUtils; false; replaceFirst; ; ; Argument[0]; ReturnValue; taint; manual | +| 76 | Summary: org.apache.commons.lang3; RegExUtils; false; replaceFirst; ; ; Argument[2]; ReturnValue; taint; manual | +| 77 | Summary: org.apache.commons.lang3; RegExUtils; false; replacePattern; ; ; Argument[0]; ReturnValue; taint; manual | +| 78 | Summary: org.apache.commons.lang3; RegExUtils; false; replacePattern; ; ; Argument[2]; ReturnValue; taint; manual | +| 79 | Summary: org.apache.commons.lang3; StringEscapeUtils; false; escapeJson; ; ; Argument[0]; ReturnValue; taint; manual | +| 80 | Summary: org.apache.commons.lang3; StringUtils; false; abbreviate; ; ; Argument[0]; ReturnValue; taint; manual | +| 81 | Summary: org.apache.commons.lang3; StringUtils; false; abbreviate; (java.lang.String,java.lang.String,int); ; Argument[1]; ReturnValue; taint; manual | +| 82 | Summary: org.apache.commons.lang3; StringUtils; false; abbreviate; (java.lang.String,java.lang.String,int,int); ; Argument[1]; ReturnValue; taint; manual | +| 83 | Summary: org.apache.commons.lang3; StringUtils; false; abbreviateMiddle; ; ; Argument[0]; ReturnValue; taint; manual | +| 84 | Summary: org.apache.commons.lang3; StringUtils; false; abbreviateMiddle; ; ; Argument[1]; ReturnValue; taint; manual | +| 85 | Summary: org.apache.commons.lang3; StringUtils; false; appendIfMissing; ; ; Argument[0]; ReturnValue; taint; manual | +| 86 | Summary: org.apache.commons.lang3; StringUtils; false; appendIfMissing; ; ; Argument[1]; ReturnValue; taint; manual | +| 87 | Summary: org.apache.commons.lang3; StringUtils; false; appendIfMissingIgnoreCase; ; ; Argument[0]; ReturnValue; taint; manual | +| 88 | Summary: org.apache.commons.lang3; StringUtils; false; appendIfMissingIgnoreCase; ; ; Argument[1]; ReturnValue; taint; manual | +| 89 | Summary: org.apache.commons.lang3; StringUtils; false; capitalize; ; ; Argument[0]; ReturnValue; taint; manual | +| 90 | Summary: org.apache.commons.lang3; StringUtils; false; center; ; ; Argument[0]; ReturnValue; taint; manual | +| 91 | Summary: org.apache.commons.lang3; StringUtils; false; center; (java.lang.String,int,java.lang.String); ; Argument[2]; ReturnValue; taint; manual | +| 92 | Summary: org.apache.commons.lang3; StringUtils; false; chomp; (java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 93 | Summary: org.apache.commons.lang3; StringUtils; false; chomp; (java.lang.String,java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 94 | Summary: org.apache.commons.lang3; StringUtils; false; chop; ; ; Argument[0]; ReturnValue; taint; manual | +| 95 | Summary: org.apache.commons.lang3; StringUtils; false; defaultIfBlank; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 96 | Summary: org.apache.commons.lang3; StringUtils; false; defaultIfEmpty; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 97 | Summary: org.apache.commons.lang3; StringUtils; false; defaultString; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 98 | Summary: org.apache.commons.lang3; StringUtils; false; deleteWhitespace; ; ; Argument[0]; ReturnValue; taint; manual | +| 99 | Summary: org.apache.commons.lang3; StringUtils; false; difference; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 100 | Summary: org.apache.commons.lang3; StringUtils; false; firstNonBlank; ; ; Argument[0].ArrayElement; ReturnValue; value; manual | +| 101 | Summary: org.apache.commons.lang3; StringUtils; false; firstNonEmpty; ; ; Argument[0].ArrayElement; ReturnValue; value; manual | +| 102 | Summary: org.apache.commons.lang3; StringUtils; false; getBytes; ; ; Argument[0]; ReturnValue; taint; manual | +| 103 | Summary: org.apache.commons.lang3; StringUtils; false; getCommonPrefix; ; ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 104 | Summary: org.apache.commons.lang3; StringUtils; false; getDigits; ; ; Argument[0]; ReturnValue; taint; manual | +| 105 | Summary: org.apache.commons.lang3; StringUtils; false; getIfBlank; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 106 | Summary: org.apache.commons.lang3; StringUtils; false; getIfEmpty; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 107 | Summary: org.apache.commons.lang3; StringUtils; false; join; (char[],char); ; Argument[0]; ReturnValue; taint; manual | +| 108 | Summary: org.apache.commons.lang3; StringUtils; false; join; (char[],char,int,int); ; Argument[0]; ReturnValue; taint; manual | +| 109 | Summary: org.apache.commons.lang3; StringUtils; false; join; (java.lang.Iterable,char); ; Argument[0].Element; ReturnValue; taint; manual | +| 110 | Summary: org.apache.commons.lang3; StringUtils; false; join; (java.lang.Iterable,java.lang.String); ; Argument[0].Element; ReturnValue; taint; manual | +| 111 | Summary: org.apache.commons.lang3; StringUtils; false; join; (java.lang.Iterable,java.lang.String); ; Argument[1]; ReturnValue; taint; manual | +| 112 | Summary: org.apache.commons.lang3; StringUtils; false; join; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 113 | Summary: org.apache.commons.lang3; StringUtils; false; join; (Object[],char); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 114 | Summary: org.apache.commons.lang3; StringUtils; false; join; (Object[],char,int,int); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 115 | Summary: org.apache.commons.lang3; StringUtils; false; join; (Object[],String); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 116 | Summary: org.apache.commons.lang3; StringUtils; false; join; (Object[],String); ; Argument[1]; ReturnValue; taint; manual | +| 117 | Summary: org.apache.commons.lang3; StringUtils; false; join; (Object[],String,int,int); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 118 | Summary: org.apache.commons.lang3; StringUtils; false; join; (Object[],String,int,int); ; Argument[1]; ReturnValue; taint; manual | +| 119 | Summary: org.apache.commons.lang3; StringUtils; false; join; (java.util.Iterator,char); ; Argument[0].Element; ReturnValue; taint; manual | +| 120 | Summary: org.apache.commons.lang3; StringUtils; false; join; (java.util.Iterator,java.lang.String); ; Argument[0].Element; ReturnValue; taint; manual | +| 121 | Summary: org.apache.commons.lang3; StringUtils; false; join; (java.util.Iterator,java.lang.String); ; Argument[1]; ReturnValue; taint; manual | +| 122 | Summary: org.apache.commons.lang3; StringUtils; false; join; (java.util.List,char,int,int); ; Argument[0].Element; ReturnValue; taint; manual | +| 123 | Summary: org.apache.commons.lang3; StringUtils; false; join; (java.util.List,java.lang.String,int,int); ; Argument[0].Element; ReturnValue; taint; manual | +| 124 | Summary: org.apache.commons.lang3; StringUtils; false; join; (java.util.List,java.lang.String,int,int); ; Argument[1]; ReturnValue; taint; manual | +| 125 | Summary: org.apache.commons.lang3; StringUtils; false; joinWith; ; ; Argument[0]; ReturnValue; taint; manual | +| 126 | Summary: org.apache.commons.lang3; StringUtils; false; joinWith; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 127 | Summary: org.apache.commons.lang3; StringUtils; false; left; ; ; Argument[0]; ReturnValue; taint; manual | +| 128 | Summary: org.apache.commons.lang3; StringUtils; false; leftPad; ; ; Argument[0]; ReturnValue; taint; manual | +| 129 | Summary: org.apache.commons.lang3; StringUtils; false; leftPad; (java.lang.String,int,java.lang.String); ; Argument[2]; ReturnValue; taint; manual | +| 130 | Summary: org.apache.commons.lang3; StringUtils; false; lowerCase; (java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 131 | Summary: org.apache.commons.lang3; StringUtils; false; lowerCase; (java.lang.String,java.util.Locale); ; Argument[0]; ReturnValue; taint; manual | +| 132 | Summary: org.apache.commons.lang3; StringUtils; false; mid; ; ; Argument[0]; ReturnValue; taint; manual | +| 133 | Summary: org.apache.commons.lang3; StringUtils; false; normalizeSpace; ; ; Argument[0]; ReturnValue; taint; manual | +| 134 | Summary: org.apache.commons.lang3; StringUtils; false; overlay; ; ; Argument[0]; ReturnValue; taint; manual | +| 135 | Summary: org.apache.commons.lang3; StringUtils; false; overlay; ; ; Argument[1]; ReturnValue; taint; manual | +| 136 | Summary: org.apache.commons.lang3; StringUtils; false; prependIfMissing; ; ; Argument[0]; ReturnValue; taint; manual | +| 137 | Summary: org.apache.commons.lang3; StringUtils; false; prependIfMissing; ; ; Argument[1]; ReturnValue; taint; manual | +| 138 | Summary: org.apache.commons.lang3; StringUtils; false; prependIfMissingIgnoreCase; ; ; Argument[0]; ReturnValue; taint; manual | +| 139 | Summary: org.apache.commons.lang3; StringUtils; false; prependIfMissingIgnoreCase; ; ; Argument[1]; ReturnValue; taint; manual | +| 140 | Summary: org.apache.commons.lang3; StringUtils; false; remove; ; ; Argument[0]; ReturnValue; taint; manual | +| 141 | Summary: org.apache.commons.lang3; StringUtils; false; removeAll; ; ; Argument[0]; ReturnValue; taint; manual | +| 142 | Summary: org.apache.commons.lang3; StringUtils; false; removeEnd; ; ; Argument[0]; ReturnValue; taint; manual | +| 143 | Summary: org.apache.commons.lang3; StringUtils; false; removeEndIgnoreCase; ; ; Argument[0]; ReturnValue; taint; manual | +| 144 | Summary: org.apache.commons.lang3; StringUtils; false; removeFirst; ; ; Argument[0]; ReturnValue; taint; manual | +| 145 | Summary: org.apache.commons.lang3; StringUtils; false; removeIgnoreCase; ; ; Argument[0]; ReturnValue; taint; manual | +| 146 | Summary: org.apache.commons.lang3; StringUtils; false; removePattern; ; ; Argument[0]; ReturnValue; taint; manual | +| 147 | Summary: org.apache.commons.lang3; StringUtils; false; removeStart; ; ; Argument[0]; ReturnValue; taint; manual | +| 148 | Summary: org.apache.commons.lang3; StringUtils; false; removeStartIgnoreCase; ; ; Argument[0]; ReturnValue; taint; manual | +| 149 | Summary: org.apache.commons.lang3; StringUtils; false; repeat; ; ; Argument[0]; ReturnValue; taint; manual | +| 150 | Summary: org.apache.commons.lang3; StringUtils; false; repeat; (java.lang.String,java.lang.String,int); ; Argument[1]; ReturnValue; taint; manual | +| 151 | Summary: org.apache.commons.lang3; StringUtils; false; replace; ; ; Argument[0]; ReturnValue; taint; manual | +| 152 | Summary: org.apache.commons.lang3; StringUtils; false; replace; ; ; Argument[2]; ReturnValue; taint; manual | +| 153 | Summary: org.apache.commons.lang3; StringUtils; false; replaceAll; ; ; Argument[0]; ReturnValue; taint; manual | +| 154 | Summary: org.apache.commons.lang3; StringUtils; false; replaceAll; ; ; Argument[2]; ReturnValue; taint; manual | +| 155 | Summary: org.apache.commons.lang3; StringUtils; false; replaceChars; ; ; Argument[0]; ReturnValue; taint; manual | +| 156 | Summary: org.apache.commons.lang3; StringUtils; false; replaceChars; (java.lang.String,java.lang.String,java.lang.String); ; Argument[2]; ReturnValue; taint; manual | +| 157 | Summary: org.apache.commons.lang3; StringUtils; false; replaceEach; ; ; Argument[0]; ReturnValue; taint; manual | +| 158 | Summary: org.apache.commons.lang3; StringUtils; false; replaceEach; ; ; Argument[2].ArrayElement; ReturnValue; taint; manual | +| 159 | Summary: org.apache.commons.lang3; StringUtils; false; replaceEachRepeatedly; ; ; Argument[0]; ReturnValue; taint; manual | +| 160 | Summary: org.apache.commons.lang3; StringUtils; false; replaceEachRepeatedly; ; ; Argument[2].ArrayElement; ReturnValue; taint; manual | +| 161 | Summary: org.apache.commons.lang3; StringUtils; false; replaceFirst; ; ; Argument[0]; ReturnValue; taint; manual | +| 162 | Summary: org.apache.commons.lang3; StringUtils; false; replaceFirst; ; ; Argument[2]; ReturnValue; taint; manual | +| 163 | Summary: org.apache.commons.lang3; StringUtils; false; replaceIgnoreCase; ; ; Argument[0]; ReturnValue; taint; manual | +| 164 | Summary: org.apache.commons.lang3; StringUtils; false; replaceIgnoreCase; ; ; Argument[2]; ReturnValue; taint; manual | +| 165 | Summary: org.apache.commons.lang3; StringUtils; false; replaceOnce; ; ; Argument[0]; ReturnValue; taint; manual | +| 166 | Summary: org.apache.commons.lang3; StringUtils; false; replaceOnce; ; ; Argument[2]; ReturnValue; taint; manual | +| 167 | Summary: org.apache.commons.lang3; StringUtils; false; replaceOnceIgnoreCase; ; ; Argument[0]; ReturnValue; taint; manual | +| 168 | Summary: org.apache.commons.lang3; StringUtils; false; replaceOnceIgnoreCase; ; ; Argument[2]; ReturnValue; taint; manual | +| 169 | Summary: org.apache.commons.lang3; StringUtils; false; replacePattern; ; ; Argument[0]; ReturnValue; taint; manual | +| 170 | Summary: org.apache.commons.lang3; StringUtils; false; replacePattern; ; ; Argument[2]; ReturnValue; taint; manual | +| 171 | Summary: org.apache.commons.lang3; StringUtils; false; reverse; ; ; Argument[0]; ReturnValue; taint; manual | +| 172 | Summary: org.apache.commons.lang3; StringUtils; false; reverseDelimited; ; ; Argument[0]; ReturnValue; taint; manual | +| 173 | Summary: org.apache.commons.lang3; StringUtils; false; right; ; ; Argument[0]; ReturnValue; taint; manual | +| 174 | Summary: org.apache.commons.lang3; StringUtils; false; rightPad; ; ; Argument[0]; ReturnValue; taint; manual | +| 175 | Summary: org.apache.commons.lang3; StringUtils; false; rightPad; (java.lang.String,int,java.lang.String); ; Argument[2]; ReturnValue; taint; manual | +| 176 | Summary: org.apache.commons.lang3; StringUtils; false; rotate; ; ; Argument[0]; ReturnValue; taint; manual | +| 177 | Summary: org.apache.commons.lang3; StringUtils; false; split; (java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 178 | Summary: org.apache.commons.lang3; StringUtils; false; split; (java.lang.String,char); ; Argument[0]; ReturnValue; taint; manual | +| 179 | Summary: org.apache.commons.lang3; StringUtils; false; split; (java.lang.String,java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 180 | Summary: org.apache.commons.lang3; StringUtils; false; split; (java.lang.String,java.lang.String,int); ; Argument[0]; ReturnValue; taint; manual | +| 181 | Summary: org.apache.commons.lang3; StringUtils; false; splitByCharacterType; ; ; Argument[0]; ReturnValue; taint; manual | +| 182 | Summary: org.apache.commons.lang3; StringUtils; false; splitByCharacterTypeCamelCase; ; ; Argument[0]; ReturnValue; taint; manual | +| 183 | Summary: org.apache.commons.lang3; StringUtils; false; splitByWholeSeparator; ; ; Argument[0]; ReturnValue; taint; manual | +| 184 | Summary: org.apache.commons.lang3; StringUtils; false; splitByWholeSeparatorPreserveAllTokens; ; ; Argument[0]; ReturnValue; taint; manual | +| 185 | Summary: org.apache.commons.lang3; StringUtils; false; splitPreserveAllTokens; (java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 186 | Summary: org.apache.commons.lang3; StringUtils; false; splitPreserveAllTokens; (java.lang.String,char); ; Argument[0]; ReturnValue; taint; manual | +| 187 | Summary: org.apache.commons.lang3; StringUtils; false; splitPreserveAllTokens; (java.lang.String,java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 188 | Summary: org.apache.commons.lang3; StringUtils; false; splitPreserveAllTokens; (java.lang.String,java.lang.String,int); ; Argument[0]; ReturnValue; taint; manual | +| 189 | Summary: org.apache.commons.lang3; StringUtils; false; strip; (java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 190 | Summary: org.apache.commons.lang3; StringUtils; false; strip; (java.lang.String,java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 191 | Summary: org.apache.commons.lang3; StringUtils; false; stripAccents; ; ; Argument[0]; ReturnValue; taint; manual | +| 192 | Summary: org.apache.commons.lang3; StringUtils; false; stripAll; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; taint; manual | +| 193 | Summary: org.apache.commons.lang3; StringUtils; false; stripEnd; ; ; Argument[0]; ReturnValue; taint; manual | +| 194 | Summary: org.apache.commons.lang3; StringUtils; false; stripStart; ; ; Argument[0]; ReturnValue; taint; manual | +| 195 | Summary: org.apache.commons.lang3; StringUtils; false; stripToEmpty; ; ; Argument[0]; ReturnValue; taint; manual | +| 196 | Summary: org.apache.commons.lang3; StringUtils; false; stripToNull; ; ; Argument[0]; ReturnValue; taint; manual | +| 197 | Summary: org.apache.commons.lang3; StringUtils; false; substring; ; ; Argument[0]; ReturnValue; taint; manual | +| 198 | Summary: org.apache.commons.lang3; StringUtils; false; substringAfter; ; ; Argument[0]; ReturnValue; taint; manual | +| 199 | Summary: org.apache.commons.lang3; StringUtils; false; substringAfterLast; ; ; Argument[0]; ReturnValue; taint; manual | +| 200 | Summary: org.apache.commons.lang3; StringUtils; false; substringBefore; ; ; Argument[0]; ReturnValue; taint; manual | +| 201 | Summary: org.apache.commons.lang3; StringUtils; false; substringBeforeLast; ; ; Argument[0]; ReturnValue; taint; manual | +| 202 | Summary: org.apache.commons.lang3; StringUtils; false; substringBetween; ; ; Argument[0]; ReturnValue; taint; manual | +| 203 | Summary: org.apache.commons.lang3; StringUtils; false; substringsBetween; ; ; Argument[0]; ReturnValue; taint; manual | +| 204 | Summary: org.apache.commons.lang3; StringUtils; false; swapCase; ; ; Argument[0]; ReturnValue; taint; manual | +| 205 | Summary: org.apache.commons.lang3; StringUtils; false; toCodePoints; ; ; Argument[0]; ReturnValue; taint; manual | +| 206 | Summary: org.apache.commons.lang3; StringUtils; false; toEncodedString; ; ; Argument[0]; ReturnValue; taint; manual | +| 207 | Summary: org.apache.commons.lang3; StringUtils; false; toRootLowerCase; ; ; Argument[0]; ReturnValue; taint; manual | +| 208 | Summary: org.apache.commons.lang3; StringUtils; false; toRootUpperCase; ; ; Argument[0]; ReturnValue; taint; manual | +| 209 | Summary: org.apache.commons.lang3; StringUtils; false; toString; ; ; Argument[0]; ReturnValue; taint; manual | +| 210 | Summary: org.apache.commons.lang3; StringUtils; false; trim; ; ; Argument[0]; ReturnValue; taint; manual | +| 211 | Summary: org.apache.commons.lang3; StringUtils; false; trimToEmpty; ; ; Argument[0]; ReturnValue; taint; manual | +| 212 | Summary: org.apache.commons.lang3; StringUtils; false; trimToNull; ; ; Argument[0]; ReturnValue; taint; manual | +| 213 | Summary: org.apache.commons.lang3; StringUtils; false; truncate; ; ; Argument[0]; ReturnValue; taint; manual | +| 214 | Summary: org.apache.commons.lang3; StringUtils; false; uncapitalize; ; ; Argument[0]; ReturnValue; taint; manual | +| 215 | Summary: org.apache.commons.lang3; StringUtils; false; unwrap; ; ; Argument[0]; ReturnValue; taint; manual | +| 216 | Summary: org.apache.commons.lang3; StringUtils; false; upperCase; (java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 217 | Summary: org.apache.commons.lang3; StringUtils; false; upperCase; (java.lang.String,java.util.Locale); ; Argument[0]; ReturnValue; taint; manual | +| 218 | Summary: org.apache.commons.lang3; StringUtils; false; valueOf; ; ; Argument[0]; ReturnValue; taint; manual | +| 219 | Summary: org.apache.commons.lang3; StringUtils; false; wrap; (java.lang.String,char); ; Argument[0]; ReturnValue; taint; manual | +| 220 | Summary: org.apache.commons.lang3; StringUtils; false; wrap; (java.lang.String,java.lang.String); ; Argument[0..1]; ReturnValue; taint; manual | +| 221 | Summary: org.apache.commons.lang3; StringUtils; false; wrapIfMissing; (java.lang.String,char); ; Argument[0]; ReturnValue; taint; manual | +| 222 | Summary: org.apache.commons.lang3; StringUtils; false; wrapIfMissing; (java.lang.String,java.lang.String); ; Argument[0..1]; ReturnValue; taint; manual | +| 223 | Summary: org.apache.commons.lang3.mutable; Mutable; true; getValue; ; ; Argument[this].SyntheticField[org.apache.commons.lang3.mutable.MutableObject.value]; ReturnValue; value; manual | +| 224 | Summary: org.apache.commons.lang3.mutable; Mutable; true; setValue; ; ; Argument[0]; Argument[this].SyntheticField[org.apache.commons.lang3.mutable.MutableObject.value]; value; manual | +| 225 | Summary: org.apache.commons.lang3.mutable; MutableObject; false; MutableObject; ; ; Argument[0]; Argument[this].SyntheticField[org.apache.commons.lang3.mutable.MutableObject.value]; value; manual | +| 226 | Summary: org.apache.commons.lang3.text; StrBuilder; false; StrBuilder; (java.lang.String); ; Argument[0]; Argument[this]; taint; manual | +| 227 | Summary: org.apache.commons.lang3.text; StrBuilder; false; append; ; ; Argument[this]; ReturnValue; value; manual | +| 228 | Summary: org.apache.commons.lang3.text; StrBuilder; false; append; (char[]); ; Argument[0]; Argument[this]; taint; manual | +| 229 | Summary: org.apache.commons.lang3.text; StrBuilder; false; append; (char[],int,int); ; Argument[0]; Argument[this]; taint; manual | +| 230 | Summary: org.apache.commons.lang3.text; StrBuilder; false; append; (java.lang.CharSequence); ; Argument[0]; Argument[this]; taint; manual | +| 231 | Summary: org.apache.commons.lang3.text; StrBuilder; false; append; (java.lang.CharSequence,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 232 | Summary: org.apache.commons.lang3.text; StrBuilder; false; append; (java.lang.Object); ; Argument[0]; Argument[this]; taint; manual | +| 233 | Summary: org.apache.commons.lang3.text; StrBuilder; false; append; (java.lang.String); ; Argument[0]; Argument[this]; taint; manual | +| 234 | Summary: org.apache.commons.lang3.text; StrBuilder; false; append; (java.lang.String,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 235 | Summary: org.apache.commons.lang3.text; StrBuilder; false; append; (java.lang.String,java.lang.Object[]); ; Argument[0]; Argument[this]; taint; manual | +| 236 | Summary: org.apache.commons.lang3.text; StrBuilder; false; append; (java.lang.String,java.lang.Object[]); ; Argument[1].ArrayElement; Argument[this]; taint; manual | +| 237 | Summary: org.apache.commons.lang3.text; StrBuilder; false; append; (java.lang.StringBuffer); ; Argument[0]; Argument[this]; taint; manual | +| 238 | Summary: org.apache.commons.lang3.text; StrBuilder; false; append; (java.lang.StringBuffer,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 239 | Summary: org.apache.commons.lang3.text; StrBuilder; false; append; (java.lang.StringBuilder); ; Argument[0]; Argument[this]; taint; manual | +| 240 | Summary: org.apache.commons.lang3.text; StrBuilder; false; append; (java.lang.StringBuilder,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 241 | Summary: org.apache.commons.lang3.text; StrBuilder; false; append; (java.nio.CharBuffer); ; Argument[0]; Argument[this]; taint; manual | +| 242 | Summary: org.apache.commons.lang3.text; StrBuilder; false; append; (java.nio.CharBuffer,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 243 | Summary: org.apache.commons.lang3.text; StrBuilder; false; append; (org.apache.commons.lang3.text.StrBuilder); ; Argument[0]; Argument[this]; taint; manual | +| 244 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendAll; ; ; Argument[this]; ReturnValue; value; manual | +| 245 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendAll; (Iterable); ; Argument[0].Element; Argument[this]; taint; manual | +| 246 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendAll; (Iterator); ; Argument[0].Element; Argument[this]; taint; manual | +| 247 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendAll; (Object[]); ; Argument[0].ArrayElement; Argument[this]; taint; manual | +| 248 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendFixedWidthPadLeft; ; ; Argument[this]; ReturnValue; value; manual | +| 249 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendFixedWidthPadLeft; ; ; Argument[0]; Argument[this]; taint; manual | +| 250 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendFixedWidthPadRight; ; ; Argument[this]; ReturnValue; value; manual | +| 251 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendFixedWidthPadRight; ; ; Argument[0]; Argument[this]; taint; manual | +| 252 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendNewLine; ; ; Argument[this]; ReturnValue; value; manual | +| 253 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendNull; ; ; Argument[this]; ReturnValue; value; manual | +| 254 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendPadding; ; ; Argument[this]; ReturnValue; value; manual | +| 255 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendSeparator; ; ; Argument[this]; ReturnValue; value; manual | +| 256 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendSeparator; (java.lang.String); ; Argument[0]; Argument[this]; taint; manual | +| 257 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendSeparator; (java.lang.String,int); ; Argument[0]; Argument[this]; taint; manual | +| 258 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendSeparator; (java.lang.String,java.lang.String); ; Argument[0..1]; Argument[this]; taint; manual | +| 259 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendTo; ; ; Argument[this]; Argument[0]; taint; manual | +| 260 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendWithSeparators; ; ; Argument[this]; ReturnValue; value; manual | +| 261 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendWithSeparators; ; ; Argument[1]; Argument[this]; taint; manual | +| 262 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendWithSeparators; (Iterable,String); ; Argument[0].Element; Argument[this]; taint; manual | +| 263 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendWithSeparators; (Iterator,String); ; Argument[0].Element; Argument[this]; taint; manual | +| 264 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendWithSeparators; (Object[],String); ; Argument[0].ArrayElement; Argument[this]; taint; manual | +| 265 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendln; ; ; Argument[this]; ReturnValue; value; manual | +| 266 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendln; (char[]); ; Argument[0]; Argument[this]; taint; manual | +| 267 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendln; (char[],int,int); ; Argument[0]; Argument[this]; taint; manual | +| 268 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendln; (java.lang.Object); ; Argument[0]; Argument[this]; taint; manual | +| 269 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendln; (java.lang.String); ; Argument[0]; Argument[this]; taint; manual | +| 270 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendln; (java.lang.String,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 271 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendln; (java.lang.String,java.lang.Object[]); ; Argument[0]; Argument[this]; taint; manual | +| 272 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendln; (java.lang.String,java.lang.Object[]); ; Argument[1].ArrayElement; Argument[this]; taint; manual | +| 273 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendln; (java.lang.StringBuffer); ; Argument[0]; Argument[this]; taint; manual | +| 274 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendln; (java.lang.StringBuffer,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 275 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendln; (java.lang.StringBuilder); ; Argument[0]; Argument[this]; taint; manual | +| 276 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendln; (java.lang.StringBuilder,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 277 | Summary: org.apache.commons.lang3.text; StrBuilder; false; appendln; (org.apache.commons.lang3.text.StrBuilder); ; Argument[0]; Argument[this]; taint; manual | +| 278 | Summary: org.apache.commons.lang3.text; StrBuilder; false; asReader; ; ; Argument[this]; ReturnValue; taint; manual | +| 279 | Summary: org.apache.commons.lang3.text; StrBuilder; false; asTokenizer; ; ; Argument[this]; ReturnValue; taint; manual | +| 280 | Summary: org.apache.commons.lang3.text; StrBuilder; false; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 281 | Summary: org.apache.commons.lang3.text; StrBuilder; false; delete; ; ; Argument[this]; ReturnValue; value; manual | +| 282 | Summary: org.apache.commons.lang3.text; StrBuilder; false; deleteAll; ; ; Argument[this]; ReturnValue; value; manual | +| 283 | Summary: org.apache.commons.lang3.text; StrBuilder; false; deleteCharAt; ; ; Argument[this]; ReturnValue; value; manual | +| 284 | Summary: org.apache.commons.lang3.text; StrBuilder; false; deleteFirst; ; ; Argument[this]; ReturnValue; value; manual | +| 285 | Summary: org.apache.commons.lang3.text; StrBuilder; false; ensureCapacity; ; ; Argument[this]; ReturnValue; value; manual | +| 286 | Summary: org.apache.commons.lang3.text; StrBuilder; false; getChars; (char[]); ; Argument[this]; Argument[0]; taint; manual | +| 287 | Summary: org.apache.commons.lang3.text; StrBuilder; false; getChars; (char[]); ; Argument[this]; ReturnValue; taint; manual | +| 288 | Summary: org.apache.commons.lang3.text; StrBuilder; false; getChars; (int,int,char[],int); ; Argument[this]; Argument[2]; taint; manual | +| 289 | Summary: org.apache.commons.lang3.text; StrBuilder; false; insert; ; ; Argument[this]; ReturnValue; value; manual | +| 290 | Summary: org.apache.commons.lang3.text; StrBuilder; false; insert; ; ; Argument[1]; Argument[this]; taint; manual | +| 291 | Summary: org.apache.commons.lang3.text; StrBuilder; false; leftString; ; ; Argument[this]; ReturnValue; taint; manual | +| 292 | Summary: org.apache.commons.lang3.text; StrBuilder; false; midString; ; ; Argument[this]; ReturnValue; taint; manual | +| 293 | Summary: org.apache.commons.lang3.text; StrBuilder; false; minimizeCapacity; ; ; Argument[this]; ReturnValue; value; manual | +| 294 | Summary: org.apache.commons.lang3.text; StrBuilder; false; readFrom; ; ; Argument[0]; Argument[this]; taint; manual | +| 295 | Summary: org.apache.commons.lang3.text; StrBuilder; false; replace; ; ; Argument[this]; ReturnValue; value; manual | +| 296 | Summary: org.apache.commons.lang3.text; StrBuilder; false; replace; (int,int,java.lang.String); ; Argument[2]; Argument[this]; taint; manual | +| 297 | Summary: org.apache.commons.lang3.text; StrBuilder; false; replace; (org.apache.commons.lang3.text.StrMatcher,java.lang.String,int,int,int); ; Argument[1]; Argument[this]; taint; manual | +| 298 | Summary: org.apache.commons.lang3.text; StrBuilder; false; replaceAll; ; ; Argument[this]; ReturnValue; value; manual | +| 299 | Summary: org.apache.commons.lang3.text; StrBuilder; false; replaceAll; ; ; Argument[1]; Argument[this]; taint; manual | +| 300 | Summary: org.apache.commons.lang3.text; StrBuilder; false; replaceFirst; ; ; Argument[this]; ReturnValue; value; manual | +| 301 | Summary: org.apache.commons.lang3.text; StrBuilder; false; replaceFirst; ; ; Argument[1]; Argument[this]; taint; manual | +| 302 | Summary: org.apache.commons.lang3.text; StrBuilder; false; reverse; ; ; Argument[this]; ReturnValue; value; manual | +| 303 | Summary: org.apache.commons.lang3.text; StrBuilder; false; rightString; ; ; Argument[this]; ReturnValue; taint; manual | +| 304 | Summary: org.apache.commons.lang3.text; StrBuilder; false; setCharAt; ; ; Argument[this]; ReturnValue; value; manual | +| 305 | Summary: org.apache.commons.lang3.text; StrBuilder; false; setLength; ; ; Argument[this]; ReturnValue; value; manual | +| 306 | Summary: org.apache.commons.lang3.text; StrBuilder; false; setNewLineText; ; ; Argument[this]; ReturnValue; value; manual | +| 307 | Summary: org.apache.commons.lang3.text; StrBuilder; false; setNullText; ; ; Argument[this]; ReturnValue; value; manual | +| 308 | Summary: org.apache.commons.lang3.text; StrBuilder; false; subSequence; ; ; Argument[this]; ReturnValue; taint; manual | +| 309 | Summary: org.apache.commons.lang3.text; StrBuilder; false; substring; ; ; Argument[this]; ReturnValue; taint; manual | +| 310 | Summary: org.apache.commons.lang3.text; StrBuilder; false; toCharArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 311 | Summary: org.apache.commons.lang3.text; StrBuilder; false; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 312 | Summary: org.apache.commons.lang3.text; StrBuilder; false; toStringBuffer; ; ; Argument[this]; ReturnValue; taint; manual | +| 313 | Summary: org.apache.commons.lang3.text; StrBuilder; false; toStringBuilder; ; ; Argument[this]; ReturnValue; taint; manual | +| 314 | Summary: org.apache.commons.lang3.text; StrBuilder; false; trim; ; ; Argument[this]; ReturnValue; value; manual | +| 315 | Summary: org.apache.commons.lang3.text; StrLookup; false; lookup; ; ; Argument[this]; ReturnValue; taint; manual | +| 316 | Summary: org.apache.commons.lang3.text; StrLookup; false; mapLookup; ; ; Argument[0].MapValue; ReturnValue; taint; manual | +| 317 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; StrSubstitutor; ; ; Argument[0]; Argument[this]; taint; manual | +| 318 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; StrSubstitutor; ; ; Argument[0].MapValue; Argument[this]; taint; manual | +| 319 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; ; ; Argument[this]; ReturnValue; taint; manual | +| 320 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; (char[]); ; Argument[0]; ReturnValue; taint; manual | +| 321 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; (char[],int,int); ; Argument[0]; ReturnValue; taint; manual | +| 322 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; (java.lang.CharSequence); ; Argument[0]; ReturnValue; taint; manual | +| 323 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; (java.lang.CharSequence,int,int); ; Argument[0]; ReturnValue; taint; manual | +| 324 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; (java.lang.Object); ; Argument[0]; ReturnValue; taint; manual | +| 325 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; (java.lang.Object,java.util.Map); ; Argument[0]; ReturnValue; taint; manual | +| 326 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; (java.lang.Object,java.util.Map); ; Argument[1].MapValue; ReturnValue; taint; manual | +| 327 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; (java.lang.Object,java.util.Map,java.lang.String,java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 328 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; (java.lang.Object,java.util.Map,java.lang.String,java.lang.String); ; Argument[1].MapValue; ReturnValue; taint; manual | +| 329 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; (java.lang.Object,java.util.Properties); ; Argument[0]; ReturnValue; taint; manual | +| 330 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; (java.lang.Object,java.util.Properties); ; Argument[1].MapValue; ReturnValue; taint; manual | +| 331 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; (java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 332 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; (java.lang.String,int,int); ; Argument[0]; ReturnValue; taint; manual | +| 333 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; (java.lang.StringBuffer); ; Argument[0]; ReturnValue; taint; manual | +| 334 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; (java.lang.StringBuffer,int,int); ; Argument[0]; ReturnValue; taint; manual | +| 335 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; (org.apache.commons.lang3.text.StrBuilder); ; Argument[0]; ReturnValue; taint; manual | +| 336 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replace; (org.apache.commons.lang3.text.StrBuilder,int,int); ; Argument[0]; ReturnValue; taint; manual | +| 337 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replaceIn; (java.lang.StringBuffer); ; Argument[this]; Argument[0]; taint; manual | +| 338 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replaceIn; (java.lang.StringBuffer,int,int); ; Argument[this]; Argument[0]; taint; manual | +| 339 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replaceIn; (java.lang.StringBuilder); ; Argument[this]; Argument[0]; taint; manual | +| 340 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replaceIn; (java.lang.StringBuilder,int,int); ; Argument[this]; Argument[0]; taint; manual | +| 341 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replaceIn; (org.apache.commons.lang3.text.StrBuilder); ; Argument[this]; Argument[0]; taint; manual | +| 342 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; replaceIn; (org.apache.commons.lang3.text.StrBuilder,int,int); ; Argument[this]; Argument[0]; taint; manual | +| 343 | Summary: org.apache.commons.lang3.text; StrSubstitutor; false; setVariableResolver; ; ; Argument[0]; Argument[this]; taint; manual | +| 344 | Summary: org.apache.commons.lang3.text; StrTokenizer; false; StrTokenizer; ; ; Argument[0]; Argument[this]; taint; manual | +| 345 | Summary: org.apache.commons.lang3.text; StrTokenizer; false; clone; ; ; Argument[this]; ReturnValue; taint; manual | +| 346 | Summary: org.apache.commons.lang3.text; StrTokenizer; false; getCSVInstance; ; ; Argument[0]; ReturnValue; taint; manual | +| 347 | Summary: org.apache.commons.lang3.text; StrTokenizer; false; getContent; ; ; Argument[this]; ReturnValue; taint; manual | +| 348 | Summary: org.apache.commons.lang3.text; StrTokenizer; false; getTSVInstance; ; ; Argument[0]; ReturnValue; taint; manual | +| 349 | Summary: org.apache.commons.lang3.text; StrTokenizer; false; getTokenArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 350 | Summary: org.apache.commons.lang3.text; StrTokenizer; false; getTokenList; ; ; Argument[this]; ReturnValue; taint; manual | +| 351 | Summary: org.apache.commons.lang3.text; StrTokenizer; false; next; ; ; Argument[this]; ReturnValue; taint; manual | +| 352 | Summary: org.apache.commons.lang3.text; StrTokenizer; false; nextToken; ; ; Argument[this]; ReturnValue; taint; manual | +| 353 | Summary: org.apache.commons.lang3.text; StrTokenizer; false; previous; ; ; Argument[this]; ReturnValue; taint; manual | +| 354 | Summary: org.apache.commons.lang3.text; StrTokenizer; false; previousToken; ; ; Argument[this]; ReturnValue; taint; manual | +| 355 | Summary: org.apache.commons.lang3.text; StrTokenizer; false; reset; ; ; Argument[0]; ReturnValue; taint; manual | +| 356 | Summary: org.apache.commons.lang3.text; StrTokenizer; false; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 357 | Summary: org.apache.commons.lang3.text; WordUtils; false; capitalize; (java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 358 | Summary: org.apache.commons.lang3.text; WordUtils; false; capitalize; (java.lang.String,char[]); ; Argument[0]; ReturnValue; taint; manual | +| 359 | Summary: org.apache.commons.lang3.text; WordUtils; false; capitalizeFully; (java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 360 | Summary: org.apache.commons.lang3.text; WordUtils; false; capitalizeFully; (java.lang.String,char[]); ; Argument[0]; ReturnValue; taint; manual | +| 361 | Summary: org.apache.commons.lang3.text; WordUtils; false; initials; (java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 362 | Summary: org.apache.commons.lang3.text; WordUtils; false; initials; (java.lang.String,char[]); ; Argument[0]; ReturnValue; taint; manual | +| 363 | Summary: org.apache.commons.lang3.text; WordUtils; false; swapCase; ; ; Argument[0]; ReturnValue; taint; manual | +| 364 | Summary: org.apache.commons.lang3.text; WordUtils; false; uncapitalize; (java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 365 | Summary: org.apache.commons.lang3.text; WordUtils; false; uncapitalize; (java.lang.String,char[]); ; Argument[0]; ReturnValue; taint; manual | +| 366 | Summary: org.apache.commons.lang3.text; WordUtils; false; wrap; ; ; Argument[0]; ReturnValue; taint; manual | +| 367 | Summary: org.apache.commons.lang3.text; WordUtils; false; wrap; (java.lang.String,int,java.lang.String,boolean); ; Argument[2]; ReturnValue; taint; manual | +| 368 | Summary: org.apache.commons.lang3.text; WordUtils; false; wrap; (java.lang.String,int,java.lang.String,boolean,java.lang.String); ; Argument[2]; ReturnValue; taint; manual | +| 369 | Summary: org.apache.commons.lang3.tuple; ImmutablePair; false; ImmutablePair; (java.lang.Object,java.lang.Object); ; Argument[0]; Argument[this].Field[org.apache.commons.lang3.tuple.ImmutablePair.left]; value; manual | +| 370 | Summary: org.apache.commons.lang3.tuple; ImmutablePair; false; ImmutablePair; (java.lang.Object,java.lang.Object); ; Argument[1]; Argument[this].Field[org.apache.commons.lang3.tuple.ImmutablePair.right]; value; manual | +| 371 | Summary: org.apache.commons.lang3.tuple; ImmutablePair; false; left; ; ; Argument[0]; ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.left]; value; manual | +| 372 | Summary: org.apache.commons.lang3.tuple; ImmutablePair; false; of; (java.lang.Object,java.lang.Object); ; Argument[0]; ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.left]; value; manual | +| 373 | Summary: org.apache.commons.lang3.tuple; ImmutablePair; false; of; (java.lang.Object,java.lang.Object); ; Argument[1]; ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.right]; value; manual | +| 374 | Summary: org.apache.commons.lang3.tuple; ImmutablePair; false; right; ; ; Argument[0]; ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.right]; value; manual | +| 375 | Summary: org.apache.commons.lang3.tuple; ImmutableTriple; false; ImmutableTriple; (java.lang.Object,java.lang.Object,java.lang.Object); ; Argument[0]; Argument[this].Field[org.apache.commons.lang3.tuple.ImmutableTriple.left]; value; manual | +| 376 | Summary: org.apache.commons.lang3.tuple; ImmutableTriple; false; ImmutableTriple; (java.lang.Object,java.lang.Object,java.lang.Object); ; Argument[1]; Argument[this].Field[org.apache.commons.lang3.tuple.ImmutableTriple.middle]; value; manual | +| 377 | Summary: org.apache.commons.lang3.tuple; ImmutableTriple; false; ImmutableTriple; (java.lang.Object,java.lang.Object,java.lang.Object); ; Argument[2]; Argument[this].Field[org.apache.commons.lang3.tuple.ImmutableTriple.right]; value; manual | +| 378 | Summary: org.apache.commons.lang3.tuple; ImmutableTriple; false; of; (java.lang.Object,java.lang.Object,java.lang.Object); ; Argument[0]; ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.left]; value; manual | +| 379 | Summary: org.apache.commons.lang3.tuple; ImmutableTriple; false; of; (java.lang.Object,java.lang.Object,java.lang.Object); ; Argument[1]; ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.middle]; value; manual | +| 380 | Summary: org.apache.commons.lang3.tuple; ImmutableTriple; false; of; (java.lang.Object,java.lang.Object,java.lang.Object); ; Argument[2]; ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.right]; value; manual | +| 381 | Summary: org.apache.commons.lang3.tuple; MutablePair; false; MutablePair; (java.lang.Object,java.lang.Object); ; Argument[0]; Argument[this].Field[org.apache.commons.lang3.tuple.MutablePair.left]; value; manual | +| 382 | Summary: org.apache.commons.lang3.tuple; MutablePair; false; MutablePair; (java.lang.Object,java.lang.Object); ; Argument[1]; Argument[this].Field[org.apache.commons.lang3.tuple.MutablePair.right]; value; manual | +| 383 | Summary: org.apache.commons.lang3.tuple; MutablePair; false; of; (java.lang.Object,java.lang.Object); ; Argument[0]; ReturnValue.Field[org.apache.commons.lang3.tuple.MutablePair.left]; value; manual | +| 384 | Summary: org.apache.commons.lang3.tuple; MutablePair; false; of; (java.lang.Object,java.lang.Object); ; Argument[1]; ReturnValue.Field[org.apache.commons.lang3.tuple.MutablePair.right]; value; manual | +| 385 | Summary: org.apache.commons.lang3.tuple; MutablePair; false; setLeft; ; ; Argument[0]; Argument[this].Field[org.apache.commons.lang3.tuple.MutablePair.left]; value; manual | +| 386 | Summary: org.apache.commons.lang3.tuple; MutablePair; false; setRight; ; ; Argument[0]; Argument[this].Field[org.apache.commons.lang3.tuple.MutablePair.right]; value; manual | +| 387 | Summary: org.apache.commons.lang3.tuple; MutablePair; false; setValue; ; ; Argument[0]; Argument[this].Field[org.apache.commons.lang3.tuple.MutablePair.right]; value; manual | +| 388 | Summary: org.apache.commons.lang3.tuple; MutableTriple; false; MutableTriple; (java.lang.Object,java.lang.Object,java.lang.Object); ; Argument[0]; Argument[this].Field[org.apache.commons.lang3.tuple.MutableTriple.left]; value; manual | +| 389 | Summary: org.apache.commons.lang3.tuple; MutableTriple; false; MutableTriple; (java.lang.Object,java.lang.Object,java.lang.Object); ; Argument[1]; Argument[this].Field[org.apache.commons.lang3.tuple.MutableTriple.middle]; value; manual | +| 390 | Summary: org.apache.commons.lang3.tuple; MutableTriple; false; MutableTriple; (java.lang.Object,java.lang.Object,java.lang.Object); ; Argument[2]; Argument[this].Field[org.apache.commons.lang3.tuple.MutableTriple.right]; value; manual | +| 391 | Summary: org.apache.commons.lang3.tuple; MutableTriple; false; of; (java.lang.Object,java.lang.Object,java.lang.Object); ; Argument[0]; ReturnValue.Field[org.apache.commons.lang3.tuple.MutableTriple.left]; value; manual | +| 392 | Summary: org.apache.commons.lang3.tuple; MutableTriple; false; of; (java.lang.Object,java.lang.Object,java.lang.Object); ; Argument[1]; ReturnValue.Field[org.apache.commons.lang3.tuple.MutableTriple.middle]; value; manual | +| 393 | Summary: org.apache.commons.lang3.tuple; MutableTriple; false; of; (java.lang.Object,java.lang.Object,java.lang.Object); ; Argument[2]; ReturnValue.Field[org.apache.commons.lang3.tuple.MutableTriple.right]; value; manual | +| 394 | Summary: org.apache.commons.lang3.tuple; MutableTriple; false; setLeft; ; ; Argument[0]; Argument[this].Field[org.apache.commons.lang3.tuple.MutableTriple.left]; value; manual | +| 395 | Summary: org.apache.commons.lang3.tuple; MutableTriple; false; setMiddle; ; ; Argument[0]; Argument[this].Field[org.apache.commons.lang3.tuple.MutableTriple.middle]; value; manual | +| 396 | Summary: org.apache.commons.lang3.tuple; MutableTriple; false; setRight; ; ; Argument[0]; Argument[this].Field[org.apache.commons.lang3.tuple.MutableTriple.right]; value; manual | +| 397 | Summary: org.apache.commons.lang3.tuple; Pair; true; getKey; ; ; Argument[this].Field[org.apache.commons.lang3.tuple.ImmutablePair.left]; ReturnValue; value; manual | +| 398 | Summary: org.apache.commons.lang3.tuple; Pair; true; getKey; ; ; Argument[this].Field[org.apache.commons.lang3.tuple.MutablePair.left]; ReturnValue; value; manual | +| 399 | Summary: org.apache.commons.lang3.tuple; Pair; true; getLeft; ; ; Argument[this].Field[org.apache.commons.lang3.tuple.ImmutablePair.left]; ReturnValue; value; manual | +| 400 | Summary: org.apache.commons.lang3.tuple; Pair; true; getLeft; ; ; Argument[this].Field[org.apache.commons.lang3.tuple.MutablePair.left]; ReturnValue; value; manual | +| 401 | Summary: org.apache.commons.lang3.tuple; Pair; true; getRight; ; ; Argument[this].Field[org.apache.commons.lang3.tuple.ImmutablePair.right]; ReturnValue; value; manual | +| 402 | Summary: org.apache.commons.lang3.tuple; Pair; true; getRight; ; ; Argument[this].Field[org.apache.commons.lang3.tuple.MutablePair.right]; ReturnValue; value; manual | +| 403 | Summary: org.apache.commons.lang3.tuple; Pair; true; getValue; ; ; Argument[this].Field[org.apache.commons.lang3.tuple.ImmutablePair.right]; ReturnValue; value; manual | +| 404 | Summary: org.apache.commons.lang3.tuple; Pair; true; getValue; ; ; Argument[this].Field[org.apache.commons.lang3.tuple.MutablePair.right]; ReturnValue; value; manual | +| 405 | Summary: org.apache.commons.lang3.tuple; Pair; false; of; (java.lang.Object,java.lang.Object); ; Argument[0]; ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.left]; value; manual | +| 406 | Summary: org.apache.commons.lang3.tuple; Pair; false; of; (java.lang.Object,java.lang.Object); ; Argument[1]; ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.right]; value; manual | +| 407 | Summary: org.apache.commons.lang3.tuple; Triple; true; getLeft; ; ; Argument[this].Field[org.apache.commons.lang3.tuple.ImmutableTriple.left]; ReturnValue; value; manual | +| 408 | Summary: org.apache.commons.lang3.tuple; Triple; true; getLeft; ; ; Argument[this].Field[org.apache.commons.lang3.tuple.MutableTriple.left]; ReturnValue; value; manual | +| 409 | Summary: org.apache.commons.lang3.tuple; Triple; true; getMiddle; ; ; Argument[this].Field[org.apache.commons.lang3.tuple.ImmutableTriple.middle]; ReturnValue; value; manual | +| 410 | Summary: org.apache.commons.lang3.tuple; Triple; true; getMiddle; ; ; Argument[this].Field[org.apache.commons.lang3.tuple.MutableTriple.middle]; ReturnValue; value; manual | +| 411 | Summary: org.apache.commons.lang3.tuple; Triple; true; getRight; ; ; Argument[this].Field[org.apache.commons.lang3.tuple.ImmutableTriple.right]; ReturnValue; value; manual | +| 412 | Summary: org.apache.commons.lang3.tuple; Triple; true; getRight; ; ; Argument[this].Field[org.apache.commons.lang3.tuple.MutableTriple.right]; ReturnValue; value; manual | +| 413 | Summary: org.apache.commons.lang3.tuple; Triple; false; of; (java.lang.Object,java.lang.Object,java.lang.Object); ; Argument[0]; ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.left]; value; manual | +| 414 | Summary: org.apache.commons.lang3.tuple; Triple; false; of; (java.lang.Object,java.lang.Object,java.lang.Object); ; Argument[1]; ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.middle]; value; manual | +| 415 | Summary: org.apache.commons.lang3.tuple; Triple; false; of; (java.lang.Object,java.lang.Object,java.lang.Object); ; Argument[2]; ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.right]; value; manual | +| 416 | Summary: org.apache.commons.text.lookup; StringLookup; true; lookup; ; ; Argument[this]; ReturnValue; taint; manual | +| 417 | Summary: org.apache.commons.text.lookup; StringLookupFactory; false; mapStringLookup; ; ; Argument[0].MapValue; ReturnValue; taint; manual | +| 418 | Summary: org.apache.commons.text; StrBuilder; false; StrBuilder; (java.lang.String); ; Argument[0]; Argument[this]; taint; manual | +| 419 | Summary: org.apache.commons.text; StrBuilder; false; append; ; ; Argument[this]; ReturnValue; value; manual | +| 420 | Summary: org.apache.commons.text; StrBuilder; false; append; (char[]); ; Argument[0]; Argument[this]; taint; manual | +| 421 | Summary: org.apache.commons.text; StrBuilder; false; append; (char[],int,int); ; Argument[0]; Argument[this]; taint; manual | +| 422 | Summary: org.apache.commons.text; StrBuilder; false; append; (java.lang.CharSequence); ; Argument[0]; Argument[this]; taint; manual | +| 423 | Summary: org.apache.commons.text; StrBuilder; false; append; (java.lang.CharSequence,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 424 | Summary: org.apache.commons.text; StrBuilder; false; append; (java.lang.Object); ; Argument[0]; Argument[this]; taint; manual | +| 425 | Summary: org.apache.commons.text; StrBuilder; false; append; (java.lang.String); ; Argument[0]; Argument[this]; taint; manual | +| 426 | Summary: org.apache.commons.text; StrBuilder; false; append; (java.lang.String,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 427 | Summary: org.apache.commons.text; StrBuilder; false; append; (java.lang.String,java.lang.Object[]); ; Argument[0]; Argument[this]; taint; manual | +| 428 | Summary: org.apache.commons.text; StrBuilder; false; append; (java.lang.String,java.lang.Object[]); ; Argument[1].ArrayElement; Argument[this]; taint; manual | +| 429 | Summary: org.apache.commons.text; StrBuilder; false; append; (java.lang.StringBuffer); ; Argument[0]; Argument[this]; taint; manual | +| 430 | Summary: org.apache.commons.text; StrBuilder; false; append; (java.lang.StringBuffer,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 431 | Summary: org.apache.commons.text; StrBuilder; false; append; (java.lang.StringBuilder); ; Argument[0]; Argument[this]; taint; manual | +| 432 | Summary: org.apache.commons.text; StrBuilder; false; append; (java.lang.StringBuilder,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 433 | Summary: org.apache.commons.text; StrBuilder; false; append; (java.nio.CharBuffer); ; Argument[0]; Argument[this]; taint; manual | +| 434 | Summary: org.apache.commons.text; StrBuilder; false; append; (java.nio.CharBuffer,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 435 | Summary: org.apache.commons.text; StrBuilder; false; append; (org.apache.commons.text.StrBuilder); ; Argument[0]; Argument[this]; taint; manual | +| 436 | Summary: org.apache.commons.text; StrBuilder; false; appendAll; ; ; Argument[this]; ReturnValue; value; manual | +| 437 | Summary: org.apache.commons.text; StrBuilder; false; appendAll; (Iterable); ; Argument[0].Element; Argument[this]; taint; manual | +| 438 | Summary: org.apache.commons.text; StrBuilder; false; appendAll; (Iterator); ; Argument[0].Element; Argument[this]; taint; manual | +| 439 | Summary: org.apache.commons.text; StrBuilder; false; appendAll; (Object[]); ; Argument[0].ArrayElement; Argument[this]; taint; manual | +| 440 | Summary: org.apache.commons.text; StrBuilder; false; appendFixedWidthPadLeft; ; ; Argument[this]; ReturnValue; value; manual | +| 441 | Summary: org.apache.commons.text; StrBuilder; false; appendFixedWidthPadLeft; ; ; Argument[0]; Argument[this]; taint; manual | +| 442 | Summary: org.apache.commons.text; StrBuilder; false; appendFixedWidthPadRight; ; ; Argument[this]; ReturnValue; value; manual | +| 443 | Summary: org.apache.commons.text; StrBuilder; false; appendFixedWidthPadRight; ; ; Argument[0]; Argument[this]; taint; manual | +| 444 | Summary: org.apache.commons.text; StrBuilder; false; appendNewLine; ; ; Argument[this]; ReturnValue; value; manual | +| 445 | Summary: org.apache.commons.text; StrBuilder; false; appendNull; ; ; Argument[this]; ReturnValue; value; manual | +| 446 | Summary: org.apache.commons.text; StrBuilder; false; appendPadding; ; ; Argument[this]; ReturnValue; value; manual | +| 447 | Summary: org.apache.commons.text; StrBuilder; false; appendSeparator; ; ; Argument[this]; ReturnValue; value; manual | +| 448 | Summary: org.apache.commons.text; StrBuilder; false; appendSeparator; (java.lang.String); ; Argument[0]; Argument[this]; taint; manual | +| 449 | Summary: org.apache.commons.text; StrBuilder; false; appendSeparator; (java.lang.String,int); ; Argument[0]; Argument[this]; taint; manual | +| 450 | Summary: org.apache.commons.text; StrBuilder; false; appendSeparator; (java.lang.String,java.lang.String); ; Argument[0..1]; Argument[this]; taint; manual | +| 451 | Summary: org.apache.commons.text; StrBuilder; false; appendTo; ; ; Argument[this]; Argument[0]; taint; manual | +| 452 | Summary: org.apache.commons.text; StrBuilder; false; appendWithSeparators; ; ; Argument[this]; ReturnValue; value; manual | +| 453 | Summary: org.apache.commons.text; StrBuilder; false; appendWithSeparators; ; ; Argument[1]; Argument[this]; taint; manual | +| 454 | Summary: org.apache.commons.text; StrBuilder; false; appendWithSeparators; (Iterable,String); ; Argument[0].Element; Argument[this]; taint; manual | +| 455 | Summary: org.apache.commons.text; StrBuilder; false; appendWithSeparators; (Iterator,String); ; Argument[0].Element; Argument[this]; taint; manual | +| 456 | Summary: org.apache.commons.text; StrBuilder; false; appendWithSeparators; (Object[],String); ; Argument[0].ArrayElement; Argument[this]; taint; manual | +| 457 | Summary: org.apache.commons.text; StrBuilder; false; appendln; ; ; Argument[this]; ReturnValue; value; manual | +| 458 | Summary: org.apache.commons.text; StrBuilder; false; appendln; (char[]); ; Argument[0]; Argument[this]; taint; manual | +| 459 | Summary: org.apache.commons.text; StrBuilder; false; appendln; (char[],int,int); ; Argument[0]; Argument[this]; taint; manual | +| 460 | Summary: org.apache.commons.text; StrBuilder; false; appendln; (java.lang.Object); ; Argument[0]; Argument[this]; taint; manual | +| 461 | Summary: org.apache.commons.text; StrBuilder; false; appendln; (java.lang.String); ; Argument[0]; Argument[this]; taint; manual | +| 462 | Summary: org.apache.commons.text; StrBuilder; false; appendln; (java.lang.String,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 463 | Summary: org.apache.commons.text; StrBuilder; false; appendln; (java.lang.String,java.lang.Object[]); ; Argument[0]; Argument[this]; taint; manual | +| 464 | Summary: org.apache.commons.text; StrBuilder; false; appendln; (java.lang.String,java.lang.Object[]); ; Argument[1].ArrayElement; Argument[this]; taint; manual | +| 465 | Summary: org.apache.commons.text; StrBuilder; false; appendln; (java.lang.StringBuffer); ; Argument[0]; Argument[this]; taint; manual | +| 466 | Summary: org.apache.commons.text; StrBuilder; false; appendln; (java.lang.StringBuffer,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 467 | Summary: org.apache.commons.text; StrBuilder; false; appendln; (java.lang.StringBuilder); ; Argument[0]; Argument[this]; taint; manual | +| 468 | Summary: org.apache.commons.text; StrBuilder; false; appendln; (java.lang.StringBuilder,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 469 | Summary: org.apache.commons.text; StrBuilder; false; appendln; (org.apache.commons.text.StrBuilder); ; Argument[0]; Argument[this]; taint; manual | +| 470 | Summary: org.apache.commons.text; StrBuilder; false; asReader; ; ; Argument[this]; ReturnValue; taint; manual | +| 471 | Summary: org.apache.commons.text; StrBuilder; false; asTokenizer; ; ; Argument[this]; ReturnValue; taint; manual | +| 472 | Summary: org.apache.commons.text; StrBuilder; false; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 473 | Summary: org.apache.commons.text; StrBuilder; false; delete; ; ; Argument[this]; ReturnValue; value; manual | +| 474 | Summary: org.apache.commons.text; StrBuilder; false; deleteAll; ; ; Argument[this]; ReturnValue; value; manual | +| 475 | Summary: org.apache.commons.text; StrBuilder; false; deleteCharAt; ; ; Argument[this]; ReturnValue; value; manual | +| 476 | Summary: org.apache.commons.text; StrBuilder; false; deleteFirst; ; ; Argument[this]; ReturnValue; value; manual | +| 477 | Summary: org.apache.commons.text; StrBuilder; false; ensureCapacity; ; ; Argument[this]; ReturnValue; value; manual | +| 478 | Summary: org.apache.commons.text; StrBuilder; false; getChars; (char[]); ; Argument[this]; Argument[0]; taint; manual | +| 479 | Summary: org.apache.commons.text; StrBuilder; false; getChars; (char[]); ; Argument[this]; ReturnValue; taint; manual | +| 480 | Summary: org.apache.commons.text; StrBuilder; false; getChars; (int,int,char[],int); ; Argument[this]; Argument[2]; taint; manual | +| 481 | Summary: org.apache.commons.text; StrBuilder; false; insert; ; ; Argument[this]; ReturnValue; value; manual | +| 482 | Summary: org.apache.commons.text; StrBuilder; false; insert; ; ; Argument[1]; Argument[this]; taint; manual | +| 483 | Summary: org.apache.commons.text; StrBuilder; false; leftString; ; ; Argument[this]; ReturnValue; taint; manual | +| 484 | Summary: org.apache.commons.text; StrBuilder; false; midString; ; ; Argument[this]; ReturnValue; taint; manual | +| 485 | Summary: org.apache.commons.text; StrBuilder; false; minimizeCapacity; ; ; Argument[this]; ReturnValue; value; manual | +| 486 | Summary: org.apache.commons.text; StrBuilder; false; readFrom; ; ; Argument[0]; Argument[this]; taint; manual | +| 487 | Summary: org.apache.commons.text; StrBuilder; false; replace; ; ; Argument[this]; ReturnValue; value; manual | +| 488 | Summary: org.apache.commons.text; StrBuilder; false; replace; (int,int,java.lang.String); ; Argument[2]; Argument[this]; taint; manual | +| 489 | Summary: org.apache.commons.text; StrBuilder; false; replace; (org.apache.commons.text.StrMatcher,java.lang.String,int,int,int); ; Argument[1]; Argument[this]; taint; manual | +| 490 | Summary: org.apache.commons.text; StrBuilder; false; replaceAll; ; ; Argument[this]; ReturnValue; value; manual | +| 491 | Summary: org.apache.commons.text; StrBuilder; false; replaceAll; ; ; Argument[1]; Argument[this]; taint; manual | +| 492 | Summary: org.apache.commons.text; StrBuilder; false; replaceFirst; ; ; Argument[this]; ReturnValue; value; manual | +| 493 | Summary: org.apache.commons.text; StrBuilder; false; replaceFirst; ; ; Argument[1]; Argument[this]; taint; manual | +| 494 | Summary: org.apache.commons.text; StrBuilder; false; reverse; ; ; Argument[this]; ReturnValue; value; manual | +| 495 | Summary: org.apache.commons.text; StrBuilder; false; rightString; ; ; Argument[this]; ReturnValue; taint; manual | +| 496 | Summary: org.apache.commons.text; StrBuilder; false; setCharAt; ; ; Argument[this]; ReturnValue; value; manual | +| 497 | Summary: org.apache.commons.text; StrBuilder; false; setLength; ; ; Argument[this]; ReturnValue; value; manual | +| 498 | Summary: org.apache.commons.text; StrBuilder; false; setNewLineText; ; ; Argument[this]; ReturnValue; value; manual | +| 499 | Summary: org.apache.commons.text; StrBuilder; false; setNullText; ; ; Argument[this]; ReturnValue; value; manual | +| 500 | Summary: org.apache.commons.text; StrBuilder; false; subSequence; ; ; Argument[this]; ReturnValue; taint; manual | +| 501 | Summary: org.apache.commons.text; StrBuilder; false; substring; ; ; Argument[this]; ReturnValue; taint; manual | +| 502 | Summary: org.apache.commons.text; StrBuilder; false; toCharArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 503 | Summary: org.apache.commons.text; StrBuilder; false; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 504 | Summary: org.apache.commons.text; StrBuilder; false; toStringBuffer; ; ; Argument[this]; ReturnValue; taint; manual | +| 505 | Summary: org.apache.commons.text; StrBuilder; false; toStringBuilder; ; ; Argument[this]; ReturnValue; taint; manual | +| 506 | Summary: org.apache.commons.text; StrBuilder; false; trim; ; ; Argument[this]; ReturnValue; value; manual | +| 507 | Summary: org.apache.commons.text; StrTokenizer; false; StrTokenizer; ; ; Argument[0]; Argument[this]; taint; manual | +| 508 | Summary: org.apache.commons.text; StrTokenizer; false; clone; ; ; Argument[this]; ReturnValue; taint; manual | +| 509 | Summary: org.apache.commons.text; StrTokenizer; false; getCSVInstance; ; ; Argument[0]; ReturnValue; taint; manual | +| 510 | Summary: org.apache.commons.text; StrTokenizer; false; getContent; ; ; Argument[this]; ReturnValue; taint; manual | +| 511 | Summary: org.apache.commons.text; StrTokenizer; false; getTSVInstance; ; ; Argument[0]; ReturnValue; taint; manual | +| 512 | Summary: org.apache.commons.text; StrTokenizer; false; getTokenArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 513 | Summary: org.apache.commons.text; StrTokenizer; false; getTokenList; ; ; Argument[this]; ReturnValue; taint; manual | +| 514 | Summary: org.apache.commons.text; StrTokenizer; false; next; ; ; Argument[this]; ReturnValue; taint; manual | +| 515 | Summary: org.apache.commons.text; StrTokenizer; false; nextToken; ; ; Argument[this]; ReturnValue; taint; manual | +| 516 | Summary: org.apache.commons.text; StrTokenizer; false; previous; ; ; Argument[this]; ReturnValue; taint; manual | +| 517 | Summary: org.apache.commons.text; StrTokenizer; false; previousToken; ; ; Argument[this]; ReturnValue; taint; manual | +| 518 | Summary: org.apache.commons.text; StrTokenizer; false; reset; ; ; Argument[0]; ReturnValue; taint; manual | +| 519 | Summary: org.apache.commons.text; StrTokenizer; false; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 520 | Summary: org.apache.commons.text; StringSubstitutor; false; StringSubstitutor; ; ; Argument[0]; Argument[this]; taint; manual | +| 521 | Summary: org.apache.commons.text; StringSubstitutor; false; StringSubstitutor; ; ; Argument[0].MapValue; Argument[this]; taint; manual | +| 522 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; ; ; Argument[this]; ReturnValue; taint; manual | +| 523 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; (char[]); ; Argument[0]; ReturnValue; taint; manual | +| 524 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; (char[],int,int); ; Argument[0]; ReturnValue; taint; manual | +| 525 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; (java.lang.CharSequence); ; Argument[0]; ReturnValue; taint; manual | +| 526 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; (java.lang.CharSequence,int,int); ; Argument[0]; ReturnValue; taint; manual | +| 527 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; (java.lang.Object); ; Argument[0]; ReturnValue; taint; manual | +| 528 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; (java.lang.Object,java.util.Map); ; Argument[0]; ReturnValue; taint; manual | +| 529 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; (java.lang.Object,java.util.Map); ; Argument[1].MapValue; ReturnValue; taint; manual | +| 530 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; (java.lang.Object,java.util.Map,java.lang.String,java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 531 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; (java.lang.Object,java.util.Map,java.lang.String,java.lang.String); ; Argument[1].MapValue; ReturnValue; taint; manual | +| 532 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; (java.lang.Object,java.util.Properties); ; Argument[0]; ReturnValue; taint; manual | +| 533 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; (java.lang.Object,java.util.Properties); ; Argument[1].MapValue; ReturnValue; taint; manual | +| 534 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; (java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 535 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; (java.lang.String,int,int); ; Argument[0]; ReturnValue; taint; manual | +| 536 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; (java.lang.StringBuffer); ; Argument[0]; ReturnValue; taint; manual | +| 537 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; (java.lang.StringBuffer,int,int); ; Argument[0]; ReturnValue; taint; manual | +| 538 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; (org.apache.commons.text.TextStringBuilder); ; Argument[0]; ReturnValue; taint; manual | +| 539 | Summary: org.apache.commons.text; StringSubstitutor; false; replace; (org.apache.commons.text.TextStringBuilder,int,int); ; Argument[0]; ReturnValue; taint; manual | +| 540 | Summary: org.apache.commons.text; StringSubstitutor; false; replaceIn; (java.lang.StringBuffer); ; Argument[this]; Argument[0]; taint; manual | +| 541 | Summary: org.apache.commons.text; StringSubstitutor; false; replaceIn; (java.lang.StringBuffer,int,int); ; Argument[this]; Argument[0]; taint; manual | +| 542 | Summary: org.apache.commons.text; StringSubstitutor; false; replaceIn; (java.lang.StringBuilder); ; Argument[this]; Argument[0]; taint; manual | +| 543 | Summary: org.apache.commons.text; StringSubstitutor; false; replaceIn; (java.lang.StringBuilder,int,int); ; Argument[this]; Argument[0]; taint; manual | +| 544 | Summary: org.apache.commons.text; StringSubstitutor; false; replaceIn; (org.apache.commons.text.TextStringBuilder); ; Argument[this]; Argument[0]; taint; manual | +| 545 | Summary: org.apache.commons.text; StringSubstitutor; false; replaceIn; (org.apache.commons.text.TextStringBuilder,int,int); ; Argument[this]; Argument[0]; taint; manual | +| 546 | Summary: org.apache.commons.text; StringSubstitutor; false; setVariableResolver; ; ; Argument[0]; Argument[this]; taint; manual | +| 547 | Summary: org.apache.commons.text; StringTokenizer; false; StringTokenizer; ; ; Argument[0]; Argument[this]; taint; manual | +| 548 | Summary: org.apache.commons.text; StringTokenizer; false; clone; ; ; Argument[this]; ReturnValue; taint; manual | +| 549 | Summary: org.apache.commons.text; StringTokenizer; false; getCSVInstance; ; ; Argument[0]; ReturnValue; taint; manual | +| 550 | Summary: org.apache.commons.text; StringTokenizer; false; getContent; ; ; Argument[this]; ReturnValue; taint; manual | +| 551 | Summary: org.apache.commons.text; StringTokenizer; false; getTSVInstance; ; ; Argument[0]; ReturnValue; taint; manual | +| 552 | Summary: org.apache.commons.text; StringTokenizer; false; getTokenArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 553 | Summary: org.apache.commons.text; StringTokenizer; false; getTokenList; ; ; Argument[this]; ReturnValue; taint; manual | +| 554 | Summary: org.apache.commons.text; StringTokenizer; false; next; ; ; Argument[this]; ReturnValue; taint; manual | +| 555 | Summary: org.apache.commons.text; StringTokenizer; false; nextToken; ; ; Argument[this]; ReturnValue; taint; manual | +| 556 | Summary: org.apache.commons.text; StringTokenizer; false; previous; ; ; Argument[this]; ReturnValue; taint; manual | +| 557 | Summary: org.apache.commons.text; StringTokenizer; false; previousToken; ; ; Argument[this]; ReturnValue; taint; manual | +| 558 | Summary: org.apache.commons.text; StringTokenizer; false; reset; ; ; Argument[0]; ReturnValue; taint; manual | +| 559 | Summary: org.apache.commons.text; StringTokenizer; false; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 560 | Summary: org.apache.commons.text; TextStringBuilder; false; TextStringBuilder; (java.lang.CharSequence); ; Argument[0]; Argument[this]; taint; manual | +| 561 | Summary: org.apache.commons.text; TextStringBuilder; false; TextStringBuilder; (java.lang.String); ; Argument[0]; Argument[this]; taint; manual | +| 562 | Summary: org.apache.commons.text; TextStringBuilder; false; append; ; ; Argument[this]; ReturnValue; value; manual | +| 563 | Summary: org.apache.commons.text; TextStringBuilder; false; append; (char[]); ; Argument[0]; Argument[this]; taint; manual | +| 564 | Summary: org.apache.commons.text; TextStringBuilder; false; append; (char[],int,int); ; Argument[0]; Argument[this]; taint; manual | +| 565 | Summary: org.apache.commons.text; TextStringBuilder; false; append; (java.lang.CharSequence); ; Argument[0]; Argument[this]; taint; manual | +| 566 | Summary: org.apache.commons.text; TextStringBuilder; false; append; (java.lang.CharSequence,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 567 | Summary: org.apache.commons.text; TextStringBuilder; false; append; (java.lang.Object); ; Argument[0]; Argument[this]; taint; manual | +| 568 | Summary: org.apache.commons.text; TextStringBuilder; false; append; (java.lang.String); ; Argument[0]; Argument[this]; taint; manual | +| 569 | Summary: org.apache.commons.text; TextStringBuilder; false; append; (java.lang.String,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 570 | Summary: org.apache.commons.text; TextStringBuilder; false; append; (java.lang.String,java.lang.Object[]); ; Argument[0]; Argument[this]; taint; manual | +| 571 | Summary: org.apache.commons.text; TextStringBuilder; false; append; (java.lang.String,java.lang.Object[]); ; Argument[1].ArrayElement; Argument[this]; taint; manual | +| 572 | Summary: org.apache.commons.text; TextStringBuilder; false; append; (java.lang.StringBuffer); ; Argument[0]; Argument[this]; taint; manual | +| 573 | Summary: org.apache.commons.text; TextStringBuilder; false; append; (java.lang.StringBuffer,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 574 | Summary: org.apache.commons.text; TextStringBuilder; false; append; (java.lang.StringBuilder); ; Argument[0]; Argument[this]; taint; manual | +| 575 | Summary: org.apache.commons.text; TextStringBuilder; false; append; (java.lang.StringBuilder,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 576 | Summary: org.apache.commons.text; TextStringBuilder; false; append; (java.nio.CharBuffer); ; Argument[0]; Argument[this]; taint; manual | +| 577 | Summary: org.apache.commons.text; TextStringBuilder; false; append; (java.nio.CharBuffer,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 578 | Summary: org.apache.commons.text; TextStringBuilder; false; append; (org.apache.commons.text.TextStringBuilder); ; Argument[0]; Argument[this]; taint; manual | +| 579 | Summary: org.apache.commons.text; TextStringBuilder; false; appendAll; ; ; Argument[this]; ReturnValue; value; manual | +| 580 | Summary: org.apache.commons.text; TextStringBuilder; false; appendAll; (Iterable); ; Argument[0].Element; Argument[this]; taint; manual | +| 581 | Summary: org.apache.commons.text; TextStringBuilder; false; appendAll; (Iterator); ; Argument[0].Element; Argument[this]; taint; manual | +| 582 | Summary: org.apache.commons.text; TextStringBuilder; false; appendAll; (Object[]); ; Argument[0].ArrayElement; Argument[this]; taint; manual | +| 583 | Summary: org.apache.commons.text; TextStringBuilder; false; appendFixedWidthPadLeft; ; ; Argument[this]; ReturnValue; value; manual | +| 584 | Summary: org.apache.commons.text; TextStringBuilder; false; appendFixedWidthPadLeft; ; ; Argument[0]; Argument[this]; taint; manual | +| 585 | Summary: org.apache.commons.text; TextStringBuilder; false; appendFixedWidthPadRight; ; ; Argument[this]; ReturnValue; value; manual | +| 586 | Summary: org.apache.commons.text; TextStringBuilder; false; appendFixedWidthPadRight; ; ; Argument[0]; Argument[this]; taint; manual | +| 587 | Summary: org.apache.commons.text; TextStringBuilder; false; appendNewLine; ; ; Argument[this]; ReturnValue; value; manual | +| 588 | Summary: org.apache.commons.text; TextStringBuilder; false; appendNull; ; ; Argument[this]; ReturnValue; value; manual | +| 589 | Summary: org.apache.commons.text; TextStringBuilder; false; appendPadding; ; ; Argument[this]; ReturnValue; value; manual | +| 590 | Summary: org.apache.commons.text; TextStringBuilder; false; appendSeparator; ; ; Argument[this]; ReturnValue; value; manual | +| 591 | Summary: org.apache.commons.text; TextStringBuilder; false; appendSeparator; (java.lang.String); ; Argument[0]; Argument[this]; taint; manual | +| 592 | Summary: org.apache.commons.text; TextStringBuilder; false; appendSeparator; (java.lang.String,int); ; Argument[0]; Argument[this]; taint; manual | +| 593 | Summary: org.apache.commons.text; TextStringBuilder; false; appendSeparator; (java.lang.String,java.lang.String); ; Argument[0..1]; Argument[this]; taint; manual | +| 594 | Summary: org.apache.commons.text; TextStringBuilder; false; appendTo; ; ; Argument[this]; Argument[0]; taint; manual | +| 595 | Summary: org.apache.commons.text; TextStringBuilder; false; appendWithSeparators; ; ; Argument[this]; ReturnValue; value; manual | +| 596 | Summary: org.apache.commons.text; TextStringBuilder; false; appendWithSeparators; ; ; Argument[1]; Argument[this]; taint; manual | +| 597 | Summary: org.apache.commons.text; TextStringBuilder; false; appendWithSeparators; (Iterable,String); ; Argument[0].Element; Argument[this]; taint; manual | +| 598 | Summary: org.apache.commons.text; TextStringBuilder; false; appendWithSeparators; (Iterator,String); ; Argument[0].Element; Argument[this]; taint; manual | +| 599 | Summary: org.apache.commons.text; TextStringBuilder; false; appendWithSeparators; (Object[],String); ; Argument[0].ArrayElement; Argument[this]; taint; manual | +| 600 | Summary: org.apache.commons.text; TextStringBuilder; false; appendln; ; ; Argument[this]; ReturnValue; value; manual | +| 601 | Summary: org.apache.commons.text; TextStringBuilder; false; appendln; (char[]); ; Argument[0]; Argument[this]; taint; manual | +| 602 | Summary: org.apache.commons.text; TextStringBuilder; false; appendln; (char[],int,int); ; Argument[0]; Argument[this]; taint; manual | +| 603 | Summary: org.apache.commons.text; TextStringBuilder; false; appendln; (java.lang.Object); ; Argument[0]; Argument[this]; taint; manual | +| 604 | Summary: org.apache.commons.text; TextStringBuilder; false; appendln; (java.lang.String); ; Argument[0]; Argument[this]; taint; manual | +| 605 | Summary: org.apache.commons.text; TextStringBuilder; false; appendln; (java.lang.String,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 606 | Summary: org.apache.commons.text; TextStringBuilder; false; appendln; (java.lang.String,java.lang.Object[]); ; Argument[0]; Argument[this]; taint; manual | +| 607 | Summary: org.apache.commons.text; TextStringBuilder; false; appendln; (java.lang.String,java.lang.Object[]); ; Argument[1].ArrayElement; Argument[this]; taint; manual | +| 608 | Summary: org.apache.commons.text; TextStringBuilder; false; appendln; (java.lang.StringBuffer); ; Argument[0]; Argument[this]; taint; manual | +| 609 | Summary: org.apache.commons.text; TextStringBuilder; false; appendln; (java.lang.StringBuffer,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 610 | Summary: org.apache.commons.text; TextStringBuilder; false; appendln; (java.lang.StringBuilder); ; Argument[0]; Argument[this]; taint; manual | +| 611 | Summary: org.apache.commons.text; TextStringBuilder; false; appendln; (java.lang.StringBuilder,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 612 | Summary: org.apache.commons.text; TextStringBuilder; false; appendln; (org.apache.commons.text.TextStringBuilder); ; Argument[0]; Argument[this]; taint; manual | +| 613 | Summary: org.apache.commons.text; TextStringBuilder; false; asReader; ; ; Argument[this]; ReturnValue; taint; manual | +| 614 | Summary: org.apache.commons.text; TextStringBuilder; false; asTokenizer; ; ; Argument[this]; ReturnValue; taint; manual | +| 615 | Summary: org.apache.commons.text; TextStringBuilder; false; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 616 | Summary: org.apache.commons.text; TextStringBuilder; false; delete; ; ; Argument[this]; ReturnValue; value; manual | +| 617 | Summary: org.apache.commons.text; TextStringBuilder; false; deleteAll; ; ; Argument[this]; ReturnValue; value; manual | +| 618 | Summary: org.apache.commons.text; TextStringBuilder; false; deleteCharAt; ; ; Argument[this]; ReturnValue; value; manual | +| 619 | Summary: org.apache.commons.text; TextStringBuilder; false; deleteFirst; ; ; Argument[this]; ReturnValue; value; manual | +| 620 | Summary: org.apache.commons.text; TextStringBuilder; false; ensureCapacity; ; ; Argument[this]; ReturnValue; value; manual | +| 621 | Summary: org.apache.commons.text; TextStringBuilder; false; getChars; (char[]); ; Argument[this]; Argument[0]; taint; manual | +| 622 | Summary: org.apache.commons.text; TextStringBuilder; false; getChars; (char[]); ; Argument[this]; ReturnValue; taint; manual | +| 623 | Summary: org.apache.commons.text; TextStringBuilder; false; getChars; (int,int,char[],int); ; Argument[this]; Argument[2]; taint; manual | +| 624 | Summary: org.apache.commons.text; TextStringBuilder; false; insert; ; ; Argument[this]; ReturnValue; value; manual | +| 625 | Summary: org.apache.commons.text; TextStringBuilder; false; insert; ; ; Argument[1]; Argument[this]; taint; manual | +| 626 | Summary: org.apache.commons.text; TextStringBuilder; false; leftString; ; ; Argument[this]; ReturnValue; taint; manual | +| 627 | Summary: org.apache.commons.text; TextStringBuilder; false; midString; ; ; Argument[this]; ReturnValue; taint; manual | +| 628 | Summary: org.apache.commons.text; TextStringBuilder; false; minimizeCapacity; ; ; Argument[this]; ReturnValue; value; manual | +| 629 | Summary: org.apache.commons.text; TextStringBuilder; false; readFrom; ; ; Argument[0]; Argument[this]; taint; manual | +| 630 | Summary: org.apache.commons.text; TextStringBuilder; false; replace; ; ; Argument[this]; ReturnValue; value; manual | +| 631 | Summary: org.apache.commons.text; TextStringBuilder; false; replace; (int,int,java.lang.String); ; Argument[2]; Argument[this]; taint; manual | +| 632 | Summary: org.apache.commons.text; TextStringBuilder; false; replace; (org.apache.commons.text.matcher.StringMatcher,java.lang.String,int,int,int); ; Argument[1]; Argument[this]; taint; manual | +| 633 | Summary: org.apache.commons.text; TextStringBuilder; false; replaceAll; ; ; Argument[this]; ReturnValue; value; manual | +| 634 | Summary: org.apache.commons.text; TextStringBuilder; false; replaceAll; ; ; Argument[1]; Argument[this]; taint; manual | +| 635 | Summary: org.apache.commons.text; TextStringBuilder; false; replaceFirst; ; ; Argument[this]; ReturnValue; value; manual | +| 636 | Summary: org.apache.commons.text; TextStringBuilder; false; replaceFirst; ; ; Argument[1]; Argument[this]; taint; manual | +| 637 | Summary: org.apache.commons.text; TextStringBuilder; false; reverse; ; ; Argument[this]; ReturnValue; value; manual | +| 638 | Summary: org.apache.commons.text; TextStringBuilder; false; rightString; ; ; Argument[this]; ReturnValue; taint; manual | +| 639 | Summary: org.apache.commons.text; TextStringBuilder; false; setCharAt; ; ; Argument[this]; ReturnValue; value; manual | +| 640 | Summary: org.apache.commons.text; TextStringBuilder; false; setLength; ; ; Argument[this]; ReturnValue; value; manual | +| 641 | Summary: org.apache.commons.text; TextStringBuilder; false; setNewLineText; ; ; Argument[this]; ReturnValue; value; manual | +| 642 | Summary: org.apache.commons.text; TextStringBuilder; false; setNullText; ; ; Argument[this]; ReturnValue; value; manual | +| 643 | Summary: org.apache.commons.text; TextStringBuilder; false; subSequence; ; ; Argument[this]; ReturnValue; taint; manual | +| 644 | Summary: org.apache.commons.text; TextStringBuilder; false; substring; ; ; Argument[this]; ReturnValue; taint; manual | +| 645 | Summary: org.apache.commons.text; TextStringBuilder; false; toCharArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 646 | Summary: org.apache.commons.text; TextStringBuilder; false; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 647 | Summary: org.apache.commons.text; TextStringBuilder; false; toStringBuffer; ; ; Argument[this]; ReturnValue; taint; manual | +| 648 | Summary: org.apache.commons.text; TextStringBuilder; false; toStringBuilder; ; ; Argument[this]; ReturnValue; taint; manual | +| 649 | Summary: org.apache.commons.text; TextStringBuilder; false; trim; ; ; Argument[this]; ReturnValue; value; manual | +| 650 | Summary: org.apache.commons.text; WordUtils; false; abbreviate; ; ; Argument[0]; ReturnValue; taint; manual | +| 651 | Summary: org.apache.commons.text; WordUtils; false; abbreviate; ; ; Argument[3]; ReturnValue; taint; manual | +| 652 | Summary: org.apache.commons.text; WordUtils; false; capitalize; (java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 653 | Summary: org.apache.commons.text; WordUtils; false; capitalize; (java.lang.String,char[]); ; Argument[0]; ReturnValue; taint; manual | +| 654 | Summary: org.apache.commons.text; WordUtils; false; capitalizeFully; (java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 655 | Summary: org.apache.commons.text; WordUtils; false; capitalizeFully; (java.lang.String,char[]); ; Argument[0]; ReturnValue; taint; manual | +| 656 | Summary: org.apache.commons.text; WordUtils; false; initials; (java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 657 | Summary: org.apache.commons.text; WordUtils; false; initials; (java.lang.String,char[]); ; Argument[0]; ReturnValue; taint; manual | +| 658 | Summary: org.apache.commons.text; WordUtils; false; swapCase; ; ; Argument[0]; ReturnValue; taint; manual | +| 659 | Summary: org.apache.commons.text; WordUtils; false; uncapitalize; (java.lang.String); ; Argument[0]; ReturnValue; taint; manual | +| 660 | Summary: org.apache.commons.text; WordUtils; false; uncapitalize; (java.lang.String,char[]); ; Argument[0]; ReturnValue; taint; manual | +| 661 | Summary: org.apache.commons.text; WordUtils; false; wrap; ; ; Argument[0]; ReturnValue; taint; manual | +| 662 | Summary: org.apache.commons.text; WordUtils; false; wrap; (java.lang.String,int,java.lang.String,boolean); ; Argument[2]; ReturnValue; taint; manual | +| 663 | Summary: org.apache.commons.text; WordUtils; false; wrap; (java.lang.String,int,java.lang.String,boolean,java.lang.String); ; Argument[2]; ReturnValue; taint; manual | +edges +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:24:27:24:40 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:27:27:27:40 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:30:30:30:43 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:32:32:32:45 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:33:29:33:42 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:34:27:34:40 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:36:27:36:40 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:40:33:40:46 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:43:35:43:48 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:44:35:44:48 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:45:30:45:43 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:47:33:47:46 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:51:43:51:56 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:53:44:53:57 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:55:37:55:50 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:56:38:56:51 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:59:32:59:45 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | ArrayUtilsTest.java:63:29:63:42 | alreadyTainted : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:20:48:20:54 | taint(...) : String | ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | provenance | | +| ArrayUtilsTest.java:23:12:23:44 | add(...) : String[] [[]] : String | ArrayUtilsTest.java:23:12:23:44 | add(...) | provenance | | +| ArrayUtilsTest.java:23:37:23:43 | taint(...) : String | ArrayUtilsTest.java:23:12:23:44 | add(...) : String[] [[]] : String | provenance | MaD:32 | +| ArrayUtilsTest.java:24:12:24:53 | add(...) : String[] [[]] : String | ArrayUtilsTest.java:24:12:24:53 | add(...) | provenance | | +| ArrayUtilsTest.java:24:27:24:40 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:24:12:24:53 | add(...) : String[] [[]] : String | provenance | MaD:31 | +| ArrayUtilsTest.java:26:12:26:41 | add(...) : String[] [[]] : String | ArrayUtilsTest.java:26:12:26:41 | add(...) | provenance | | +| ArrayUtilsTest.java:26:34:26:40 | taint(...) : String | ArrayUtilsTest.java:26:12:26:41 | add(...) : String[] [[]] : String | provenance | MaD:33 | +| ArrayUtilsTest.java:27:12:27:50 | add(...) : String[] [[]] : String | ArrayUtilsTest.java:27:12:27:50 | add(...) | provenance | | +| ArrayUtilsTest.java:27:27:27:40 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:27:12:27:50 | add(...) : String[] [[]] : String | provenance | MaD:31 | +| ArrayUtilsTest.java:28:12:28:53 | addAll(...) : String[] [[]] : String | ArrayUtilsTest.java:28:12:28:53 | addAll(...) | provenance | | +| ArrayUtilsTest.java:28:12:28:53 | new ..[] { .. } : Object[] [[]] : String | ArrayUtilsTest.java:28:12:28:53 | addAll(...) : String[] [[]] : String | provenance | MaD:34 | +| ArrayUtilsTest.java:28:46:28:52 | taint(...) : String | ArrayUtilsTest.java:28:12:28:53 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| ArrayUtilsTest.java:29:12:29:53 | addAll(...) : String[] [[]] : String | ArrayUtilsTest.java:29:12:29:53 | addAll(...) | provenance | | +| ArrayUtilsTest.java:29:12:29:53 | new ..[] { .. } : Object[] [[]] : String | ArrayUtilsTest.java:29:12:29:53 | addAll(...) : String[] [[]] : String | provenance | MaD:34 | +| ArrayUtilsTest.java:29:37:29:43 | taint(...) : String | ArrayUtilsTest.java:29:12:29:53 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| ArrayUtilsTest.java:30:12:30:67 | addAll(...) : String[] [[]] : String | ArrayUtilsTest.java:30:12:30:67 | addAll(...) | provenance | | +| ArrayUtilsTest.java:30:30:30:43 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:30:12:30:67 | addAll(...) : String[] [[]] : String | provenance | MaD:34 | +| ArrayUtilsTest.java:31:12:31:46 | addFirst(...) : String[] [[]] : String | ArrayUtilsTest.java:31:12:31:46 | addFirst(...) | provenance | | +| ArrayUtilsTest.java:31:39:31:45 | taint(...) : String | ArrayUtilsTest.java:31:12:31:46 | addFirst(...) : String[] [[]] : String | provenance | MaD:36 | +| ArrayUtilsTest.java:32:12:32:55 | addFirst(...) : String[] [[]] : String | ArrayUtilsTest.java:32:12:32:55 | addFirst(...) | provenance | | +| ArrayUtilsTest.java:32:32:32:45 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:32:12:32:55 | addFirst(...) : String[] [[]] : String | provenance | MaD:35 | +| ArrayUtilsTest.java:33:12:33:43 | clone(...) : String[] [[]] : String | ArrayUtilsTest.java:33:12:33:43 | clone(...) | provenance | | +| ArrayUtilsTest.java:33:29:33:42 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:33:12:33:43 | clone(...) : String[] [[]] : String | provenance | MaD:37 | +| ArrayUtilsTest.java:34:27:34:40 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:34:12:34:44 | get(...) | provenance | MaD:38 | +| ArrayUtilsTest.java:36:27:36:40 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:36:12:36:61 | get(...) | provenance | MaD:38 | +| ArrayUtilsTest.java:38:37:38:43 | taint(...) : String | ArrayUtilsTest.java:38:12:38:44 | get(...) | provenance | MaD:39 | +| ArrayUtilsTest.java:40:12:40:67 | insert(...) : String[] [[]] : String | ArrayUtilsTest.java:40:12:40:67 | insert(...) | provenance | | +| ArrayUtilsTest.java:40:33:40:46 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:40:12:40:67 | insert(...) : String[] [[]] : String | provenance | MaD:40 | +| ArrayUtilsTest.java:41:12:41:57 | insert(...) : String[] [[]] : String | ArrayUtilsTest.java:41:12:41:57 | insert(...) | provenance | | +| ArrayUtilsTest.java:41:12:41:57 | new ..[] { .. } : Object[] [[]] : String | ArrayUtilsTest.java:41:12:41:57 | insert(...) : String[] [[]] : String | provenance | MaD:40 | +| ArrayUtilsTest.java:41:40:41:46 | taint(...) : String | ArrayUtilsTest.java:41:12:41:57 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| ArrayUtilsTest.java:42:12:42:57 | insert(...) : String[] [[]] : String | ArrayUtilsTest.java:42:12:42:57 | insert(...) | provenance | | +| ArrayUtilsTest.java:42:12:42:57 | new ..[] { .. } : Object[] [[]] : String | ArrayUtilsTest.java:42:12:42:57 | insert(...) : String[] [[]] : String | provenance | MaD:40 | +| ArrayUtilsTest.java:42:50:42:56 | taint(...) : String | ArrayUtilsTest.java:42:12:42:57 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| ArrayUtilsTest.java:43:12:43:49 | nullToEmpty(...) : String[] [[]] : String | ArrayUtilsTest.java:43:12:43:49 | nullToEmpty(...) | provenance | | +| ArrayUtilsTest.java:43:35:43:48 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:43:12:43:49 | nullToEmpty(...) : String[] [[]] : String | provenance | MaD:42 | +| ArrayUtilsTest.java:44:12:44:65 | nullToEmpty(...) : String[] [[]] : String | ArrayUtilsTest.java:44:12:44:65 | nullToEmpty(...) | provenance | | +| ArrayUtilsTest.java:44:35:44:48 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:44:12:44:65 | nullToEmpty(...) : String[] [[]] : String | provenance | MaD:41 | +| ArrayUtilsTest.java:45:12:45:47 | remove(...) : String[] [[]] : String | ArrayUtilsTest.java:45:12:45:47 | remove(...) | provenance | | +| ArrayUtilsTest.java:45:30:45:43 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:45:12:45:47 | remove(...) : String[] [[]] : String | provenance | MaD:43 | +| ArrayUtilsTest.java:47:12:47:53 | removeAll(...) : String[] [[]] : String | ArrayUtilsTest.java:47:12:47:53 | removeAll(...) | provenance | | +| ArrayUtilsTest.java:47:33:47:46 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:47:12:47:53 | removeAll(...) : String[] [[]] : String | provenance | MaD:44 | +| ArrayUtilsTest.java:51:12:51:76 | removeAllOccurences(...) : String[] [[]] : String | ArrayUtilsTest.java:51:12:51:76 | removeAllOccurences(...) | provenance | | +| ArrayUtilsTest.java:51:43:51:56 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:51:12:51:76 | removeAllOccurences(...) : String[] [[]] : String | provenance | MaD:45 | +| ArrayUtilsTest.java:53:12:53:77 | removeAllOccurrences(...) : String[] [[]] : String | ArrayUtilsTest.java:53:12:53:77 | removeAllOccurrences(...) | provenance | | +| ArrayUtilsTest.java:53:44:53:57 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:53:12:53:77 | removeAllOccurrences(...) : String[] [[]] : String | provenance | MaD:46 | +| ArrayUtilsTest.java:55:12:55:70 | removeElement(...) : String[] [[]] : String | ArrayUtilsTest.java:55:12:55:70 | removeElement(...) | provenance | | +| ArrayUtilsTest.java:55:37:55:50 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:55:12:55:70 | removeElement(...) : String[] [[]] : String | provenance | MaD:47 | +| ArrayUtilsTest.java:56:12:56:58 | removeElements(...) : Object[] [[]] : String | ArrayUtilsTest.java:56:12:56:58 | removeElements(...) | provenance | | +| ArrayUtilsTest.java:56:38:56:51 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:56:12:56:58 | removeElements(...) : Object[] [[]] : String | provenance | MaD:48 | +| ArrayUtilsTest.java:59:12:59:52 | subarray(...) : String[] [[]] : String | ArrayUtilsTest.java:59:12:59:52 | subarray(...) | provenance | | +| ArrayUtilsTest.java:59:32:59:45 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:59:12:59:52 | subarray(...) : String[] [[]] : String | provenance | MaD:49 | +| ArrayUtilsTest.java:61:12:61:47 | new ..[] { .. } : Object[] [[]] : String | ArrayUtilsTest.java:61:12:61:47 | toArray(...) : String[] [[]] : String | provenance | MaD:50 | +| ArrayUtilsTest.java:61:12:61:47 | toArray(...) : String[] [[]] : String | ArrayUtilsTest.java:61:12:61:47 | toArray(...) | provenance | | +| ArrayUtilsTest.java:61:40:61:46 | taint(...) : String | ArrayUtilsTest.java:61:12:61:47 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| ArrayUtilsTest.java:62:12:62:47 | new ..[] { .. } : Object[] [[]] : String | ArrayUtilsTest.java:62:12:62:47 | toArray(...) : String[] [[]] : String | provenance | MaD:50 | +| ArrayUtilsTest.java:62:12:62:47 | toArray(...) : String[] [[]] : String | ArrayUtilsTest.java:62:12:62:47 | toArray(...) | provenance | | +| ArrayUtilsTest.java:62:31:62:37 | taint(...) : String | ArrayUtilsTest.java:62:12:62:47 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| ArrayUtilsTest.java:63:12:63:43 | toMap(...) : Map [] : Object | ArrayUtilsTest.java:63:12:63:54 | get(...) | provenance | MaD:15 | +| ArrayUtilsTest.java:63:29:63:42 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:63:12:63:43 | toMap(...) : Map [] : Object | provenance | MaD:51 | +| ArrayUtilsTest.java:63:29:63:42 | alreadyTainted : String[] [[]] : String | ArrayUtilsTest.java:63:12:63:43 | toMap(...) : Map [] : Object | provenance | MaD:52 | +| ArrayUtilsTest.java:68:27:68:57 | {...} : int[] [[]] : Number | ArrayUtilsTest.java:69:56:69:66 | taintedInts : int[] [[]] : Number | provenance | | +| ArrayUtilsTest.java:68:39:68:55 | taint(...) : Number | ArrayUtilsTest.java:68:27:68:57 | {...} : int[] [[]] : Number | provenance | | +| ArrayUtilsTest.java:69:36:69:67 | toObject(...) : Integer[] [[]] : Number | ArrayUtilsTest.java:70:12:70:27 | taintedBoxedInts | provenance | | +| ArrayUtilsTest.java:69:36:69:67 | toObject(...) : Integer[] [[]] : Number | ArrayUtilsTest.java:71:35:71:50 | taintedBoxedInts : Integer[] | provenance | | +| ArrayUtilsTest.java:69:36:69:67 | toObject(...) : Integer[] [[]] : Number | ArrayUtilsTest.java:71:35:71:50 | taintedBoxedInts : Integer[] [[]] : Number | provenance | | +| ArrayUtilsTest.java:69:56:69:66 | taintedInts : int[] [[]] : Number | ArrayUtilsTest.java:69:36:69:67 | toObject(...) : Integer[] [[]] : Number | provenance | MaD:53 | +| ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) : int[] [[]] : Number | ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) | provenance | | +| ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) : int[] [[]] : Object | ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) | provenance | | +| ArrayUtilsTest.java:71:35:71:50 | taintedBoxedInts : Integer[] | ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) : int[] [[]] : Object | provenance | MaD:54 | +| ArrayUtilsTest.java:71:35:71:50 | taintedBoxedInts : Integer[] [[]] : Number | ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) : int[] [[]] : Number | provenance | MaD:54 | +| ArrayUtilsTest.java:72:12:72:70 | toPrimitive(...) : int[] [[]] : Number | ArrayUtilsTest.java:72:12:72:70 | toPrimitive(...) | provenance | | +| ArrayUtilsTest.java:72:53:72:69 | taint(...) : Number | ArrayUtilsTest.java:72:12:72:70 | toPrimitive(...) : int[] [[]] : Number | provenance | MaD:55 | +| MutableTest.java:11:39:11:66 | new MutableObject(...) : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | MutableTest.java:20:12:20:18 | tainted : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | provenance | | +| MutableTest.java:11:39:11:66 | new MutableObject(...) : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | MutableTest.java:21:12:21:23 | taintedAlias : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | provenance | | +| MutableTest.java:11:59:11:65 | taint(...) : String | MutableTest.java:11:39:11:66 | new MutableObject(...) : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | provenance | MaD:225 | +| MutableTest.java:13:44:13:71 | new MutableObject(...) : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | MutableTest.java:26:12:26:23 | taintCleared : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | provenance | | +| MutableTest.java:13:44:13:71 | new MutableObject(...) : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | MutableTest.java:27:12:27:28 | taintClearedAlias : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | provenance | | +| MutableTest.java:13:64:13:70 | taint(...) : String | MutableTest.java:13:44:13:71 | new MutableObject(...) : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | provenance | MaD:225 | +| MutableTest.java:14:7:14:14 | taintSet [post update] : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | MutableTest.java:22:12:22:19 | taintSet : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | provenance | | +| MutableTest.java:14:7:14:14 | taintSet [post update] : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | MutableTest.java:23:12:23:24 | taintSetAlias : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | provenance | | +| MutableTest.java:14:25:14:31 | taint(...) : String | MutableTest.java:14:7:14:14 | taintSet [post update] : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | provenance | MaD:224 | +| MutableTest.java:20:12:20:18 | tainted : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | MutableTest.java:20:12:20:29 | getValue(...) | provenance | MaD:223 | +| MutableTest.java:21:12:21:23 | taintedAlias : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | MutableTest.java:21:12:21:34 | getValue(...) | provenance | MaD:223 | +| MutableTest.java:22:12:22:19 | taintSet : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | MutableTest.java:22:12:22:30 | getValue(...) | provenance | MaD:223 | +| MutableTest.java:23:12:23:24 | taintSetAlias : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | MutableTest.java:23:12:23:35 | getValue(...) | provenance | MaD:223 | +| MutableTest.java:26:12:26:23 | taintCleared : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | MutableTest.java:26:12:26:34 | getValue(...) | provenance | MaD:223 | +| MutableTest.java:27:12:27:28 | taintClearedAlias : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | MutableTest.java:27:12:27:39 | getValue(...) | provenance | MaD:223 | +| ObjectUtilsTest.java:13:28:13:34 | taint(...) : String | ObjectUtilsTest.java:13:10:13:35 | clone(...) | provenance | MaD:59 | +| ObjectUtilsTest.java:14:38:14:44 | taint(...) : String | ObjectUtilsTest.java:14:10:14:45 | cloneIfPossible(...) | provenance | MaD:60 | +| ObjectUtilsTest.java:15:28:15:34 | taint(...) : String | ObjectUtilsTest.java:15:10:15:35 | CONST(...) | provenance | MaD:56 | +| ObjectUtilsTest.java:16:34:16:50 | taint(...) : Number | ObjectUtilsTest.java:16:10:16:51 | CONST_SHORT(...) | provenance | MaD:58 | +| ObjectUtilsTest.java:17:33:17:49 | taint(...) : Number | ObjectUtilsTest.java:17:10:17:50 | CONST_BYTE(...) | provenance | MaD:57 | +| ObjectUtilsTest.java:18:36:18:42 | taint(...) : String | ObjectUtilsTest.java:18:10:18:49 | defaultIfNull(...) | provenance | MaD:61 | +| ObjectUtilsTest.java:19:42:19:48 | taint(...) : String | ObjectUtilsTest.java:19:10:19:49 | defaultIfNull(...) | provenance | MaD:61 | +| ObjectUtilsTest.java:20:10:20:54 | new ..[] { .. } : Object[] [[]] : String | ObjectUtilsTest.java:20:10:20:54 | firstNonNull(...) | provenance | MaD:62 | +| ObjectUtilsTest.java:20:35:20:41 | taint(...) : String | ObjectUtilsTest.java:20:10:20:54 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| ObjectUtilsTest.java:21:10:21:54 | new ..[] { .. } : Object[] [[]] : String | ObjectUtilsTest.java:21:10:21:54 | firstNonNull(...) | provenance | MaD:62 | +| ObjectUtilsTest.java:21:41:21:47 | taint(...) : String | ObjectUtilsTest.java:21:10:21:54 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| ObjectUtilsTest.java:22:10:22:54 | new ..[] { .. } : Object[] [[]] : String | ObjectUtilsTest.java:22:10:22:54 | firstNonNull(...) | provenance | MaD:62 | +| ObjectUtilsTest.java:22:47:22:53 | taint(...) : String | ObjectUtilsTest.java:22:10:22:54 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| ObjectUtilsTest.java:23:32:23:38 | taint(...) : String | ObjectUtilsTest.java:23:10:23:45 | getIfNull(...) | provenance | MaD:63 | +| ObjectUtilsTest.java:24:10:24:45 | new ..[] { .. } : Comparable[] [[]] : String | ObjectUtilsTest.java:24:10:24:45 | max(...) | provenance | MaD:64 | +| ObjectUtilsTest.java:24:26:24:32 | taint(...) : String | ObjectUtilsTest.java:24:10:24:45 | new ..[] { .. } : Comparable[] [[]] : String | provenance | | +| ObjectUtilsTest.java:25:10:25:45 | new ..[] { .. } : Comparable[] [[]] : String | ObjectUtilsTest.java:25:10:25:45 | max(...) | provenance | MaD:64 | +| ObjectUtilsTest.java:25:32:25:38 | taint(...) : String | ObjectUtilsTest.java:25:10:25:45 | new ..[] { .. } : Comparable[] [[]] : String | provenance | | +| ObjectUtilsTest.java:26:10:26:45 | new ..[] { .. } : Comparable[] [[]] : String | ObjectUtilsTest.java:26:10:26:45 | max(...) | provenance | MaD:64 | +| ObjectUtilsTest.java:26:38:26:44 | taint(...) : String | ObjectUtilsTest.java:26:10:26:45 | new ..[] { .. } : Comparable[] [[]] : String | provenance | | +| ObjectUtilsTest.java:27:10:27:48 | new ..[] { .. } : Comparable[] [[]] : String | ObjectUtilsTest.java:27:10:27:48 | median(...) | provenance | MaD:65 | +| ObjectUtilsTest.java:27:29:27:35 | taint(...) : String | ObjectUtilsTest.java:27:10:27:48 | new ..[] { .. } : Comparable[] [[]] : String | provenance | | +| ObjectUtilsTest.java:28:10:28:56 | new ..[] { .. } : Comparable[] [[]] : String | ObjectUtilsTest.java:28:10:28:56 | median(...) | provenance | MaD:65 | +| ObjectUtilsTest.java:28:43:28:49 | taint(...) : String | ObjectUtilsTest.java:28:10:28:56 | new ..[] { .. } : Comparable[] [[]] : String | provenance | | +| ObjectUtilsTest.java:29:10:29:56 | new ..[] { .. } : Comparable[] [[]] : String | ObjectUtilsTest.java:29:10:29:56 | median(...) | provenance | MaD:65 | +| ObjectUtilsTest.java:29:49:29:55 | taint(...) : String | ObjectUtilsTest.java:29:10:29:56 | new ..[] { .. } : Comparable[] [[]] : String | provenance | | +| ObjectUtilsTest.java:30:10:30:45 | new ..[] { .. } : Comparable[] [[]] : String | ObjectUtilsTest.java:30:10:30:45 | min(...) | provenance | MaD:66 | +| ObjectUtilsTest.java:30:26:30:32 | taint(...) : String | ObjectUtilsTest.java:30:10:30:45 | new ..[] { .. } : Comparable[] [[]] : String | provenance | | +| ObjectUtilsTest.java:31:10:31:45 | new ..[] { .. } : Comparable[] [[]] : String | ObjectUtilsTest.java:31:10:31:45 | min(...) | provenance | MaD:66 | +| ObjectUtilsTest.java:31:32:31:38 | taint(...) : String | ObjectUtilsTest.java:31:10:31:45 | new ..[] { .. } : Comparable[] [[]] : String | provenance | | +| ObjectUtilsTest.java:32:10:32:45 | new ..[] { .. } : Comparable[] [[]] : String | ObjectUtilsTest.java:32:10:32:45 | min(...) | provenance | MaD:66 | +| ObjectUtilsTest.java:32:38:32:44 | taint(...) : String | ObjectUtilsTest.java:32:10:32:45 | new ..[] { .. } : Comparable[] [[]] : String | provenance | | +| ObjectUtilsTest.java:33:10:33:46 | new ..[] { .. } : Object[] [[]] : String | ObjectUtilsTest.java:33:10:33:46 | mode(...) | provenance | MaD:67 | +| ObjectUtilsTest.java:33:27:33:33 | taint(...) : String | ObjectUtilsTest.java:33:10:33:46 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| ObjectUtilsTest.java:34:10:34:46 | new ..[] { .. } : Object[] [[]] : String | ObjectUtilsTest.java:34:10:34:46 | mode(...) | provenance | MaD:67 | +| ObjectUtilsTest.java:34:33:34:39 | taint(...) : String | ObjectUtilsTest.java:34:10:34:46 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| ObjectUtilsTest.java:35:10:35:46 | new ..[] { .. } : Object[] [[]] : String | ObjectUtilsTest.java:35:10:35:46 | mode(...) | provenance | MaD:67 | +| ObjectUtilsTest.java:35:39:35:45 | taint(...) : String | ObjectUtilsTest.java:35:10:35:46 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| ObjectUtilsTest.java:36:38:36:44 | taint(...) : String | ObjectUtilsTest.java:36:10:36:56 | requireNonEmpty(...) | provenance | MaD:68 | +| ObjectUtilsTest.java:39:37:39:43 | taint(...) : String | ObjectUtilsTest.java:39:10:39:44 | toString(...) | provenance | MaD:69 | +| PairTest.java:16:51:16:90 | of(...) : ImmutablePair [left] : String | PairTest.java:28:12:28:22 | taintedLeft : ImmutablePair [left] : String | provenance | | +| PairTest.java:16:51:16:90 | of(...) : ImmutablePair [left] : String | PairTest.java:30:12:30:22 | taintedLeft : ImmutablePair [left] : String | provenance | | +| PairTest.java:16:51:16:90 | of(...) : ImmutablePair [left] : String | PairTest.java:32:12:32:22 | taintedLeft : ImmutablePair [left] : String | provenance | | +| PairTest.java:16:68:16:74 | taint(...) : String | PairTest.java:16:51:16:90 | of(...) : ImmutablePair [left] : String | provenance | MaD:372 | +| PairTest.java:17:52:17:90 | of(...) : ImmutablePair [right] : String | PairTest.java:35:12:35:23 | taintedRight : ImmutablePair [right] : String | provenance | | +| PairTest.java:17:52:17:90 | of(...) : ImmutablePair [right] : String | PairTest.java:37:12:37:23 | taintedRight : ImmutablePair [right] : String | provenance | | +| PairTest.java:17:52:17:90 | of(...) : ImmutablePair [right] : String | PairTest.java:39:12:39:23 | taintedRight : ImmutablePair [right] : String | provenance | | +| PairTest.java:17:83:17:89 | taint(...) : String | PairTest.java:17:52:17:90 | of(...) : ImmutablePair [right] : String | provenance | MaD:373 | +| PairTest.java:18:44:18:70 | left(...) : Pair [left] : String | PairTest.java:19:52:19:79 | (...)... : ImmutablePair [left] : String | provenance | | +| PairTest.java:18:44:18:70 | left(...) : Pair [left] : String | PairTest.java:74:12:74:24 | taintedLeft2_ : Pair [left] : String | provenance | | +| PairTest.java:18:44:18:70 | left(...) : Pair [left] : String | PairTest.java:76:12:76:24 | taintedLeft2_ : Pair [left] : String | provenance | | +| PairTest.java:18:63:18:69 | taint(...) : String | PairTest.java:18:44:18:70 | left(...) : Pair [left] : String | provenance | MaD:371 | +| PairTest.java:19:52:19:79 | (...)... : ImmutablePair [left] : String | PairTest.java:40:12:40:23 | taintedLeft2 : ImmutablePair [left] : String | provenance | | +| PairTest.java:19:52:19:79 | (...)... : ImmutablePair [left] : String | PairTest.java:42:12:42:23 | taintedLeft2 : ImmutablePair [left] : String | provenance | | +| PairTest.java:19:52:19:79 | (...)... : ImmutablePair [left] : String | PairTest.java:44:12:44:23 | taintedLeft2 : ImmutablePair [left] : String | provenance | | +| PairTest.java:20:45:20:72 | right(...) : Pair [right] : String | PairTest.java:21:53:21:81 | (...)... : ImmutablePair [right] : String | provenance | | +| PairTest.java:20:45:20:72 | right(...) : Pair [right] : String | PairTest.java:79:12:79:25 | taintedRight2_ : Pair [right] : String | provenance | | +| PairTest.java:20:45:20:72 | right(...) : Pair [right] : String | PairTest.java:81:12:81:25 | taintedRight2_ : Pair [right] : String | provenance | | +| PairTest.java:20:65:20:71 | taint(...) : String | PairTest.java:20:45:20:72 | right(...) : Pair [right] : String | provenance | MaD:374 | +| PairTest.java:21:53:21:81 | (...)... : ImmutablePair [right] : String | PairTest.java:47:12:47:24 | taintedRight2 : ImmutablePair [right] : String | provenance | | +| PairTest.java:21:53:21:81 | (...)... : ImmutablePair [right] : String | PairTest.java:49:12:49:24 | taintedRight2 : ImmutablePair [right] : String | provenance | | +| PairTest.java:21:53:21:81 | (...)... : ImmutablePair [right] : String | PairTest.java:51:12:51:24 | taintedRight2 : ImmutablePair [right] : String | provenance | | +| PairTest.java:22:43:22:73 | of(...) : Pair [left] : String | PairTest.java:52:12:52:23 | taintedLeft3 : Pair [left] : String | provenance | | +| PairTest.java:22:43:22:73 | of(...) : Pair [left] : String | PairTest.java:54:12:54:23 | taintedLeft3 : Pair [left] : String | provenance | | +| PairTest.java:22:51:22:57 | taint(...) : String | PairTest.java:22:43:22:73 | of(...) : Pair [left] : String | provenance | MaD:405 | +| PairTest.java:23:44:23:73 | of(...) : Pair [right] : String | PairTest.java:57:12:57:24 | taintedRight3 : Pair [right] : String | provenance | | +| PairTest.java:23:44:23:73 | of(...) : Pair [right] : String | PairTest.java:59:12:59:24 | taintedRight3 : Pair [right] : String | provenance | | +| PairTest.java:23:66:23:72 | taint(...) : String | PairTest.java:23:44:23:73 | of(...) : Pair [right] : String | provenance | MaD:406 | +| PairTest.java:24:52:24:92 | new ImmutablePair<>(...) : ImmutablePair [left] : String | PairTest.java:60:12:60:23 | taintedLeft4 : ImmutablePair [left] : String | provenance | | +| PairTest.java:24:52:24:92 | new ImmutablePair<>(...) : ImmutablePair [left] : String | PairTest.java:62:12:62:23 | taintedLeft4 : ImmutablePair [left] : String | provenance | | +| PairTest.java:24:52:24:92 | new ImmutablePair<>(...) : ImmutablePair [left] : String | PairTest.java:64:12:64:23 | taintedLeft4 : ImmutablePair [left] : String | provenance | | +| PairTest.java:24:70:24:76 | taint(...) : String | PairTest.java:24:52:24:92 | new ImmutablePair<>(...) : ImmutablePair [left] : String | provenance | MaD:369 | +| PairTest.java:25:53:25:92 | new ImmutablePair<>(...) : ImmutablePair [right] : String | PairTest.java:67:12:67:24 | taintedRight4 : ImmutablePair [right] : String | provenance | | +| PairTest.java:25:53:25:92 | new ImmutablePair<>(...) : ImmutablePair [right] : String | PairTest.java:69:12:69:24 | taintedRight4 : ImmutablePair [right] : String | provenance | | +| PairTest.java:25:53:25:92 | new ImmutablePair<>(...) : ImmutablePair [right] : String | PairTest.java:71:12:71:24 | taintedRight4 : ImmutablePair [right] : String | provenance | | +| PairTest.java:25:85:25:91 | taint(...) : String | PairTest.java:25:53:25:92 | new ImmutablePair<>(...) : ImmutablePair [right] : String | provenance | MaD:370 | +| PairTest.java:28:12:28:22 | taintedLeft : ImmutablePair [left] : String | PairTest.java:28:12:28:32 | getLeft(...) | provenance | MaD:399 | +| PairTest.java:30:12:30:22 | taintedLeft : ImmutablePair [left] : String | PairTest.java:30:12:30:31 | getKey(...) | provenance | MaD:397 | +| PairTest.java:32:12:32:22 | taintedLeft : ImmutablePair [left] : String | PairTest.java:32:12:32:27 | taintedLeft.left | provenance | | +| PairTest.java:35:12:35:23 | taintedRight : ImmutablePair [right] : String | PairTest.java:35:12:35:34 | getRight(...) | provenance | MaD:401 | +| PairTest.java:37:12:37:23 | taintedRight : ImmutablePair [right] : String | PairTest.java:37:12:37:34 | getValue(...) | provenance | MaD:403 | +| PairTest.java:39:12:39:23 | taintedRight : ImmutablePair [right] : String | PairTest.java:39:12:39:29 | taintedRight.right | provenance | | +| PairTest.java:40:12:40:23 | taintedLeft2 : ImmutablePair [left] : String | PairTest.java:40:12:40:33 | getLeft(...) | provenance | MaD:399 | +| PairTest.java:42:12:42:23 | taintedLeft2 : ImmutablePair [left] : String | PairTest.java:42:12:42:32 | getKey(...) | provenance | MaD:397 | +| PairTest.java:44:12:44:23 | taintedLeft2 : ImmutablePair [left] : String | PairTest.java:44:12:44:28 | taintedLeft2.left | provenance | | +| PairTest.java:47:12:47:24 | taintedRight2 : ImmutablePair [right] : String | PairTest.java:47:12:47:35 | getRight(...) | provenance | MaD:401 | +| PairTest.java:49:12:49:24 | taintedRight2 : ImmutablePair [right] : String | PairTest.java:49:12:49:35 | getValue(...) | provenance | MaD:403 | +| PairTest.java:51:12:51:24 | taintedRight2 : ImmutablePair [right] : String | PairTest.java:51:12:51:30 | taintedRight2.right | provenance | | +| PairTest.java:52:12:52:23 | taintedLeft3 : Pair [left] : String | PairTest.java:52:12:52:33 | getLeft(...) | provenance | MaD:399 | +| PairTest.java:54:12:54:23 | taintedLeft3 : Pair [left] : String | PairTest.java:54:12:54:32 | getKey(...) | provenance | MaD:397 | +| PairTest.java:57:12:57:24 | taintedRight3 : Pair [right] : String | PairTest.java:57:12:57:35 | getRight(...) | provenance | MaD:401 | +| PairTest.java:59:12:59:24 | taintedRight3 : Pair [right] : String | PairTest.java:59:12:59:35 | getValue(...) | provenance | MaD:403 | +| PairTest.java:60:12:60:23 | taintedLeft4 : ImmutablePair [left] : String | PairTest.java:60:12:60:33 | getLeft(...) | provenance | MaD:399 | +| PairTest.java:62:12:62:23 | taintedLeft4 : ImmutablePair [left] : String | PairTest.java:62:12:62:32 | getKey(...) | provenance | MaD:397 | +| PairTest.java:64:12:64:23 | taintedLeft4 : ImmutablePair [left] : String | PairTest.java:64:12:64:28 | taintedLeft4.left | provenance | | +| PairTest.java:67:12:67:24 | taintedRight4 : ImmutablePair [right] : String | PairTest.java:67:12:67:35 | getRight(...) | provenance | MaD:401 | +| PairTest.java:69:12:69:24 | taintedRight4 : ImmutablePair [right] : String | PairTest.java:69:12:69:35 | getValue(...) | provenance | MaD:403 | +| PairTest.java:71:12:71:24 | taintedRight4 : ImmutablePair [right] : String | PairTest.java:71:12:71:30 | taintedRight4.right | provenance | | +| PairTest.java:74:12:74:24 | taintedLeft2_ : Pair [left] : String | PairTest.java:74:12:74:34 | getLeft(...) | provenance | MaD:399 | +| PairTest.java:76:12:76:24 | taintedLeft2_ : Pair [left] : String | PairTest.java:76:12:76:33 | getKey(...) | provenance | MaD:397 | +| PairTest.java:79:12:79:25 | taintedRight2_ : Pair [right] : String | PairTest.java:79:12:79:36 | getRight(...) | provenance | MaD:401 | +| PairTest.java:81:12:81:25 | taintedRight2_ : Pair [right] : String | PairTest.java:81:12:81:36 | getValue(...) | provenance | MaD:403 | +| PairTest.java:84:56:84:93 | of(...) : MutablePair [left] : String | PairTest.java:95:12:95:29 | taintedLeftMutable : MutablePair [left] : String | provenance | | +| PairTest.java:84:56:84:93 | of(...) : MutablePair [left] : String | PairTest.java:97:12:97:29 | taintedLeftMutable : MutablePair [left] : String | provenance | | +| PairTest.java:84:56:84:93 | of(...) : MutablePair [left] : String | PairTest.java:99:12:99:29 | taintedLeftMutable : MutablePair [left] : String | provenance | | +| PairTest.java:84:56:84:93 | of(...) : MutablePair [left] : String | PairTest.java:141:12:141:34 | taintedLeftMutableAlias : MutablePair [left] : String | provenance | | +| PairTest.java:84:56:84:93 | of(...) : MutablePair [left] : String | PairTest.java:143:12:143:34 | taintedLeftMutableAlias : MutablePair [left] : String | provenance | | +| PairTest.java:84:71:84:77 | taint(...) : String | PairTest.java:84:56:84:93 | of(...) : MutablePair [left] : String | provenance | MaD:383 | +| PairTest.java:85:57:85:93 | of(...) : MutablePair [right] : String | PairTest.java:102:12:102:30 | taintedRightMutable : MutablePair [right] : String | provenance | | +| PairTest.java:85:57:85:93 | of(...) : MutablePair [right] : String | PairTest.java:104:12:104:30 | taintedRightMutable : MutablePair [right] : String | provenance | | +| PairTest.java:85:57:85:93 | of(...) : MutablePair [right] : String | PairTest.java:106:12:106:30 | taintedRightMutable : MutablePair [right] : String | provenance | | +| PairTest.java:85:57:85:93 | of(...) : MutablePair [right] : String | PairTest.java:146:12:146:35 | taintedRightMutableAlias : MutablePair [right] : String | provenance | | +| PairTest.java:85:57:85:93 | of(...) : MutablePair [right] : String | PairTest.java:148:12:148:35 | taintedRightMutableAlias : MutablePair [right] : String | provenance | | +| PairTest.java:85:86:85:92 | taint(...) : String | PairTest.java:85:57:85:93 | of(...) : MutablePair [right] : String | provenance | MaD:384 | +| PairTest.java:87:7:87:18 | setTaintLeft [post update] : MutablePair [left] : String | PairTest.java:107:12:107:23 | setTaintLeft : MutablePair [left] : String | provenance | | +| PairTest.java:87:7:87:18 | setTaintLeft [post update] : MutablePair [left] : String | PairTest.java:109:12:109:23 | setTaintLeft : MutablePair [left] : String | provenance | | +| PairTest.java:87:7:87:18 | setTaintLeft [post update] : MutablePair [left] : String | PairTest.java:111:12:111:23 | setTaintLeft : MutablePair [left] : String | provenance | | +| PairTest.java:87:28:87:34 | taint(...) : String | PairTest.java:87:7:87:18 | setTaintLeft [post update] : MutablePair [left] : String | provenance | MaD:385 | +| PairTest.java:89:7:89:19 | setTaintRight [post update] : MutablePair [right] : String | PairTest.java:114:12:114:24 | setTaintRight : MutablePair [right] : String | provenance | | +| PairTest.java:89:7:89:19 | setTaintRight [post update] : MutablePair [right] : String | PairTest.java:116:12:116:24 | setTaintRight : MutablePair [right] : String | provenance | | +| PairTest.java:89:7:89:19 | setTaintRight [post update] : MutablePair [right] : String | PairTest.java:118:12:118:24 | setTaintRight : MutablePair [right] : String | provenance | | +| PairTest.java:89:30:89:36 | taint(...) : String | PairTest.java:89:7:89:19 | setTaintRight [post update] : MutablePair [right] : String | provenance | MaD:386 | +| PairTest.java:91:7:91:19 | setTaintValue [post update] : MutablePair [] : String | PairTest.java:122:12:122:24 | setTaintValue : MutablePair [] : String | provenance | | +| PairTest.java:91:7:91:19 | setTaintValue [post update] : MutablePair [right] : String | PairTest.java:120:12:120:24 | setTaintValue : MutablePair [right] : String | provenance | | +| PairTest.java:91:7:91:19 | setTaintValue [post update] : MutablePair [right] : String | PairTest.java:122:12:122:24 | setTaintValue : MutablePair [right] : String | provenance | | +| PairTest.java:91:7:91:19 | setTaintValue [post update] : MutablePair [right] : String | PairTest.java:124:12:124:24 | setTaintValue : MutablePair [right] : String | provenance | | +| PairTest.java:91:30:91:36 | taint(...) : String | PairTest.java:91:7:91:19 | setTaintValue [post update] : MutablePair [] : String | provenance | MaD:18 | +| PairTest.java:91:30:91:36 | taint(...) : String | PairTest.java:91:7:91:19 | setTaintValue [post update] : MutablePair [right] : String | provenance | MaD:387 | +| PairTest.java:92:67:92:105 | new MutablePair<>(...) : MutablePair [left] : String | PairTest.java:125:12:125:40 | taintedLeftMutableConstructed : MutablePair [left] : String | provenance | | +| PairTest.java:92:67:92:105 | new MutablePair<>(...) : MutablePair [left] : String | PairTest.java:127:12:127:40 | taintedLeftMutableConstructed : MutablePair [left] : String | provenance | | +| PairTest.java:92:67:92:105 | new MutablePair<>(...) : MutablePair [left] : String | PairTest.java:129:12:129:40 | taintedLeftMutableConstructed : MutablePair [left] : String | provenance | | +| PairTest.java:92:83:92:89 | taint(...) : String | PairTest.java:92:67:92:105 | new MutablePair<>(...) : MutablePair [left] : String | provenance | MaD:381 | +| PairTest.java:93:68:93:105 | new MutablePair<>(...) : MutablePair [right] : String | PairTest.java:132:12:132:41 | taintedRightMutableConstructed : MutablePair [right] : String | provenance | | +| PairTest.java:93:68:93:105 | new MutablePair<>(...) : MutablePair [right] : String | PairTest.java:134:12:134:41 | taintedRightMutableConstructed : MutablePair [right] : String | provenance | | +| PairTest.java:93:68:93:105 | new MutablePair<>(...) : MutablePair [right] : String | PairTest.java:136:12:136:41 | taintedRightMutableConstructed : MutablePair [right] : String | provenance | | +| PairTest.java:93:98:93:104 | taint(...) : String | PairTest.java:93:68:93:105 | new MutablePair<>(...) : MutablePair [right] : String | provenance | MaD:382 | +| PairTest.java:95:12:95:29 | taintedLeftMutable : MutablePair [left] : String | PairTest.java:95:12:95:39 | getLeft(...) | provenance | MaD:400 | +| PairTest.java:97:12:97:29 | taintedLeftMutable : MutablePair [left] : String | PairTest.java:97:12:97:38 | getKey(...) | provenance | MaD:398 | +| PairTest.java:99:12:99:29 | taintedLeftMutable : MutablePair [left] : String | PairTest.java:99:12:99:34 | taintedLeftMutable.left | provenance | | +| PairTest.java:102:12:102:30 | taintedRightMutable : MutablePair [right] : String | PairTest.java:102:12:102:41 | getRight(...) | provenance | MaD:402 | +| PairTest.java:104:12:104:30 | taintedRightMutable : MutablePair [right] : String | PairTest.java:104:12:104:41 | getValue(...) | provenance | MaD:404 | +| PairTest.java:106:12:106:30 | taintedRightMutable : MutablePair [right] : String | PairTest.java:106:12:106:36 | taintedRightMutable.right | provenance | | +| PairTest.java:107:12:107:23 | setTaintLeft : MutablePair [left] : String | PairTest.java:107:12:107:33 | getLeft(...) | provenance | MaD:400 | +| PairTest.java:109:12:109:23 | setTaintLeft : MutablePair [left] : String | PairTest.java:109:12:109:32 | getKey(...) | provenance | MaD:398 | +| PairTest.java:111:12:111:23 | setTaintLeft : MutablePair [left] : String | PairTest.java:111:12:111:28 | setTaintLeft.left | provenance | | +| PairTest.java:114:12:114:24 | setTaintRight : MutablePair [right] : String | PairTest.java:114:12:114:35 | getRight(...) | provenance | MaD:402 | +| PairTest.java:116:12:116:24 | setTaintRight : MutablePair [right] : String | PairTest.java:116:12:116:35 | getValue(...) | provenance | MaD:404 | +| PairTest.java:118:12:118:24 | setTaintRight : MutablePair [right] : String | PairTest.java:118:12:118:30 | setTaintRight.right | provenance | | +| PairTest.java:120:12:120:24 | setTaintValue : MutablePair [right] : String | PairTest.java:120:12:120:35 | getRight(...) | provenance | MaD:402 | +| PairTest.java:122:12:122:24 | setTaintValue : MutablePair [] : String | PairTest.java:122:12:122:35 | getValue(...) | provenance | MaD:17 | +| PairTest.java:122:12:122:24 | setTaintValue : MutablePair [right] : String | PairTest.java:122:12:122:35 | getValue(...) | provenance | MaD:404 | +| PairTest.java:124:12:124:24 | setTaintValue : MutablePair [right] : String | PairTest.java:124:12:124:30 | setTaintValue.right | provenance | | +| PairTest.java:125:12:125:40 | taintedLeftMutableConstructed : MutablePair [left] : String | PairTest.java:125:12:125:50 | getLeft(...) | provenance | MaD:400 | +| PairTest.java:127:12:127:40 | taintedLeftMutableConstructed : MutablePair [left] : String | PairTest.java:127:12:127:49 | getKey(...) | provenance | MaD:398 | +| PairTest.java:129:12:129:40 | taintedLeftMutableConstructed : MutablePair [left] : String | PairTest.java:129:12:129:45 | taintedLeftMutableConstructed.left | provenance | | +| PairTest.java:132:12:132:41 | taintedRightMutableConstructed : MutablePair [right] : String | PairTest.java:132:12:132:52 | getRight(...) | provenance | MaD:402 | +| PairTest.java:134:12:134:41 | taintedRightMutableConstructed : MutablePair [right] : String | PairTest.java:134:12:134:52 | getValue(...) | provenance | MaD:404 | +| PairTest.java:136:12:136:41 | taintedRightMutableConstructed : MutablePair [right] : String | PairTest.java:136:12:136:47 | taintedRightMutableConstructed.right | provenance | | +| PairTest.java:141:12:141:34 | taintedLeftMutableAlias : MutablePair [left] : String | PairTest.java:141:12:141:44 | getLeft(...) | provenance | MaD:400 | +| PairTest.java:143:12:143:34 | taintedLeftMutableAlias : MutablePair [left] : String | PairTest.java:143:12:143:43 | getKey(...) | provenance | MaD:398 | +| PairTest.java:146:12:146:35 | taintedRightMutableAlias : MutablePair [right] : String | PairTest.java:146:12:146:46 | getRight(...) | provenance | MaD:402 | +| PairTest.java:148:12:148:35 | taintedRightMutableAlias : MutablePair [right] : String | PairTest.java:148:12:148:46 | getValue(...) | provenance | MaD:404 | +| RegExUtilsTest.java:13:31:13:37 | taint(...) : String | RegExUtilsTest.java:13:10:13:52 | removeAll(...) | provenance | MaD:70 | +| RegExUtilsTest.java:14:31:14:37 | taint(...) : String | RegExUtilsTest.java:14:10:14:47 | removeAll(...) | provenance | MaD:70 | +| RegExUtilsTest.java:15:33:15:39 | taint(...) : String | RegExUtilsTest.java:15:10:15:54 | removeFirst(...) | provenance | MaD:71 | +| RegExUtilsTest.java:16:33:16:39 | taint(...) : String | RegExUtilsTest.java:16:10:16:49 | removeFirst(...) | provenance | MaD:71 | +| RegExUtilsTest.java:17:35:17:41 | taint(...) : String | RegExUtilsTest.java:17:10:17:51 | removePattern(...) | provenance | MaD:72 | +| RegExUtilsTest.java:18:32:18:38 | taint(...) : String | RegExUtilsTest.java:18:10:18:68 | replaceAll(...) | provenance | MaD:73 | +| RegExUtilsTest.java:19:32:19:38 | taint(...) : String | RegExUtilsTest.java:19:10:19:63 | replaceAll(...) | provenance | MaD:73 | +| RegExUtilsTest.java:20:34:20:40 | taint(...) : String | RegExUtilsTest.java:20:10:20:70 | replaceFirst(...) | provenance | MaD:75 | +| RegExUtilsTest.java:21:34:21:40 | taint(...) : String | RegExUtilsTest.java:21:10:21:65 | replaceFirst(...) | provenance | MaD:75 | +| RegExUtilsTest.java:22:36:22:42 | taint(...) : String | RegExUtilsTest.java:22:10:22:67 | replacePattern(...) | provenance | MaD:77 | +| RegExUtilsTest.java:23:58:23:64 | taint(...) : String | RegExUtilsTest.java:23:10:23:65 | replaceAll(...) | provenance | MaD:74 | +| RegExUtilsTest.java:24:53:24:59 | taint(...) : String | RegExUtilsTest.java:24:10:24:60 | replaceAll(...) | provenance | MaD:74 | +| RegExUtilsTest.java:25:60:25:66 | taint(...) : String | RegExUtilsTest.java:25:10:25:67 | replaceFirst(...) | provenance | MaD:76 | +| RegExUtilsTest.java:26:55:26:61 | taint(...) : String | RegExUtilsTest.java:26:10:26:62 | replaceFirst(...) | provenance | MaD:76 | +| RegExUtilsTest.java:27:57:27:63 | taint(...) : String | RegExUtilsTest.java:27:10:27:64 | replacePattern(...) | provenance | MaD:78 | +| StrBuilderTest.java:17:28:17:50 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:17:58:17:62 | cons1 : StrBuilder | provenance | | +| StrBuilderTest.java:17:43:17:49 | taint(...) : String | StrBuilderTest.java:17:28:17:50 | new StrBuilder(...) : StrBuilder | provenance | MaD:226 | +| StrBuilderTest.java:17:58:17:62 | cons1 : StrBuilder | StrBuilderTest.java:17:58:17:73 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:17:58:17:62 | cons1 : StrBuilder | StrBuilderTest.java:17:58:17:73 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:19:44:19:46 | sb1 [post update] : StrBuilder | StrBuilderTest.java:19:84:19:86 | sb1 : StrBuilder | provenance | | +| StrBuilderTest.java:19:55:19:61 | taint(...) : String | StrBuilderTest.java:19:55:19:75 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTest.java:19:55:19:75 | toCharArray(...) : char[] | StrBuilderTest.java:19:44:19:46 | sb1 [post update] : StrBuilder | provenance | MaD:228 | +| StrBuilderTest.java:19:84:19:86 | sb1 : StrBuilder | StrBuilderTest.java:19:84:19:97 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:19:84:19:86 | sb1 : StrBuilder | StrBuilderTest.java:19:84:19:97 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:20:44:20:46 | sb2 [post update] : StrBuilder | StrBuilderTest.java:20:90:20:92 | sb2 : StrBuilder | provenance | | +| StrBuilderTest.java:20:55:20:61 | taint(...) : String | StrBuilderTest.java:20:55:20:75 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTest.java:20:55:20:75 | toCharArray(...) : char[] | StrBuilderTest.java:20:44:20:46 | sb2 [post update] : StrBuilder | provenance | MaD:229 | +| StrBuilderTest.java:20:90:20:92 | sb2 : StrBuilder | StrBuilderTest.java:20:90:20:103 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:20:90:20:92 | sb2 : StrBuilder | StrBuilderTest.java:20:90:20:103 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:21:44:21:46 | sb3 [post update] : StrBuilder | StrBuilderTest.java:21:101:21:103 | sb3 : StrBuilder | provenance | | +| StrBuilderTest.java:21:55:21:92 | wrap(...) : CharBuffer | StrBuilderTest.java:21:44:21:46 | sb3 [post update] : StrBuilder | provenance | MaD:241 | +| StrBuilderTest.java:21:71:21:77 | taint(...) : String | StrBuilderTest.java:21:71:21:91 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTest.java:21:71:21:91 | toCharArray(...) : char[] | StrBuilderTest.java:21:55:21:92 | wrap(...) : CharBuffer | provenance | MaD:1 | +| StrBuilderTest.java:21:101:21:103 | sb3 : StrBuilder | StrBuilderTest.java:21:101:21:114 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:21:101:21:103 | sb3 : StrBuilder | StrBuilderTest.java:21:101:21:114 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:22:44:22:46 | sb4 [post update] : StrBuilder | StrBuilderTest.java:22:107:22:109 | sb4 : StrBuilder | provenance | | +| StrBuilderTest.java:22:55:22:92 | wrap(...) : CharBuffer | StrBuilderTest.java:22:44:22:46 | sb4 [post update] : StrBuilder | provenance | MaD:242 | +| StrBuilderTest.java:22:71:22:77 | taint(...) : String | StrBuilderTest.java:22:71:22:91 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTest.java:22:71:22:91 | toCharArray(...) : char[] | StrBuilderTest.java:22:55:22:92 | wrap(...) : CharBuffer | provenance | MaD:1 | +| StrBuilderTest.java:22:107:22:109 | sb4 : StrBuilder | StrBuilderTest.java:22:107:22:120 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:22:107:22:109 | sb4 : StrBuilder | StrBuilderTest.java:22:107:22:120 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:23:44:23:46 | sb5 [post update] : StrBuilder | StrBuilderTest.java:23:84:23:86 | sb5 : StrBuilder | provenance | | +| StrBuilderTest.java:23:55:23:75 | (...)... : String | StrBuilderTest.java:23:44:23:46 | sb5 [post update] : StrBuilder | provenance | MaD:4 | +| StrBuilderTest.java:23:55:23:75 | (...)... : String | StrBuilderTest.java:23:44:23:46 | sb5 [post update] : StrBuilder | provenance | MaD:230 | +| StrBuilderTest.java:23:69:23:75 | taint(...) : String | StrBuilderTest.java:23:55:23:75 | (...)... : String | provenance | | +| StrBuilderTest.java:23:84:23:86 | sb5 : StrBuilder | StrBuilderTest.java:23:84:23:97 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:23:84:23:86 | sb5 : StrBuilder | StrBuilderTest.java:23:84:23:97 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:24:44:24:46 | sb6 [post update] : StrBuilder | StrBuilderTest.java:24:90:24:92 | sb6 : StrBuilder | provenance | | +| StrBuilderTest.java:24:55:24:75 | (...)... : String | StrBuilderTest.java:24:44:24:46 | sb6 [post update] : StrBuilder | provenance | MaD:4 | +| StrBuilderTest.java:24:55:24:75 | (...)... : String | StrBuilderTest.java:24:44:24:46 | sb6 [post update] : StrBuilder | provenance | MaD:231 | +| StrBuilderTest.java:24:69:24:75 | taint(...) : String | StrBuilderTest.java:24:55:24:75 | (...)... : String | provenance | | +| StrBuilderTest.java:24:90:24:92 | sb6 : StrBuilder | StrBuilderTest.java:24:90:24:103 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:24:90:24:92 | sb6 : StrBuilder | StrBuilderTest.java:24:90:24:103 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:25:44:25:46 | sb7 [post update] : StrBuilder | StrBuilderTest.java:25:78:25:80 | sb7 : StrBuilder | provenance | | +| StrBuilderTest.java:25:55:25:69 | (...)... : String | StrBuilderTest.java:25:44:25:46 | sb7 [post update] : StrBuilder | provenance | MaD:232 | +| StrBuilderTest.java:25:63:25:69 | taint(...) : String | StrBuilderTest.java:25:55:25:69 | (...)... : String | provenance | | +| StrBuilderTest.java:25:78:25:80 | sb7 : StrBuilder | StrBuilderTest.java:25:78:25:91 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:25:78:25:80 | sb7 : StrBuilder | StrBuilderTest.java:25:78:25:91 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:27:50:27:54 | auxsb [post update] : StrBuilder | StrBuilderTest.java:28:59:28:63 | auxsb : StrBuilder | provenance | | +| StrBuilderTest.java:27:63:27:69 | taint(...) : String | StrBuilderTest.java:27:50:27:54 | auxsb [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:28:48:28:50 | sb8 [post update] : StrBuilder | StrBuilderTest.java:28:72:28:74 | sb8 : StrBuilder | provenance | | +| StrBuilderTest.java:28:59:28:63 | auxsb : StrBuilder | StrBuilderTest.java:28:48:28:50 | sb8 [post update] : StrBuilder | provenance | MaD:243 | +| StrBuilderTest.java:28:72:28:74 | sb8 : StrBuilder | StrBuilderTest.java:28:72:28:85 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:28:72:28:74 | sb8 : StrBuilder | StrBuilderTest.java:28:72:28:85 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:30:44:30:46 | sb9 [post update] : StrBuilder | StrBuilderTest.java:30:88:30:90 | sb9 : StrBuilder | provenance | | +| StrBuilderTest.java:30:55:30:79 | new StringBuffer(...) : StringBuffer | StrBuilderTest.java:30:44:30:46 | sb9 [post update] : StrBuilder | provenance | MaD:237 | +| StrBuilderTest.java:30:72:30:78 | taint(...) : String | StrBuilderTest.java:30:55:30:79 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| StrBuilderTest.java:30:88:30:90 | sb9 : StrBuilder | StrBuilderTest.java:30:88:30:101 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:30:88:30:90 | sb9 : StrBuilder | StrBuilderTest.java:30:88:30:101 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:31:45:31:48 | sb10 [post update] : StrBuilder | StrBuilderTest.java:31:96:31:99 | sb10 : StrBuilder | provenance | | +| StrBuilderTest.java:31:57:31:81 | new StringBuffer(...) : StringBuffer | StrBuilderTest.java:31:45:31:48 | sb10 [post update] : StrBuilder | provenance | MaD:238 | +| StrBuilderTest.java:31:74:31:80 | taint(...) : String | StrBuilderTest.java:31:57:31:81 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| StrBuilderTest.java:31:96:31:99 | sb10 : StrBuilder | StrBuilderTest.java:31:96:31:110 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:31:96:31:99 | sb10 : StrBuilder | StrBuilderTest.java:31:96:31:110 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:32:45:32:48 | sb11 [post update] : StrBuilder | StrBuilderTest.java:32:91:32:94 | sb11 : StrBuilder | provenance | | +| StrBuilderTest.java:32:57:32:82 | new StringBuilder(...) : StringBuilder | StrBuilderTest.java:32:45:32:48 | sb11 [post update] : StrBuilder | provenance | MaD:239 | +| StrBuilderTest.java:32:75:32:81 | taint(...) : String | StrBuilderTest.java:32:57:32:82 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| StrBuilderTest.java:32:91:32:94 | sb11 : StrBuilder | StrBuilderTest.java:32:91:32:105 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:32:91:32:94 | sb11 : StrBuilder | StrBuilderTest.java:32:91:32:105 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:33:45:33:48 | sb12 [post update] : StrBuilder | StrBuilderTest.java:33:97:33:100 | sb12 : StrBuilder | provenance | | +| StrBuilderTest.java:33:57:33:82 | new StringBuilder(...) : StringBuilder | StrBuilderTest.java:33:45:33:48 | sb12 [post update] : StrBuilder | provenance | MaD:240 | +| StrBuilderTest.java:33:75:33:81 | taint(...) : String | StrBuilderTest.java:33:57:33:82 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| StrBuilderTest.java:33:97:33:100 | sb12 : StrBuilder | StrBuilderTest.java:33:97:33:111 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:33:97:33:100 | sb12 : StrBuilder | StrBuilderTest.java:33:97:33:111 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:34:45:34:48 | sb13 [post update] : StrBuilder | StrBuilderTest.java:34:72:34:75 | sb13 : StrBuilder | provenance | | +| StrBuilderTest.java:34:57:34:63 | taint(...) : String | StrBuilderTest.java:34:45:34:48 | sb13 [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:34:72:34:75 | sb13 : StrBuilder | StrBuilderTest.java:34:72:34:86 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:34:72:34:75 | sb13 : StrBuilder | StrBuilderTest.java:34:72:34:86 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:35:45:35:48 | sb14 [post update] : StrBuilder | StrBuilderTest.java:35:78:35:81 | sb14 : StrBuilder | provenance | | +| StrBuilderTest.java:35:57:35:63 | taint(...) : String | StrBuilderTest.java:35:45:35:48 | sb14 [post update] : StrBuilder | provenance | MaD:234 | +| StrBuilderTest.java:35:78:35:81 | sb14 : StrBuilder | StrBuilderTest.java:35:78:35:92 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:35:78:35:81 | sb14 : StrBuilder | StrBuilderTest.java:35:78:35:92 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:36:45:36:48 | sb15 [post update] : StrBuilder | StrBuilderTest.java:36:90:36:93 | sb15 : StrBuilder | provenance | | +| StrBuilderTest.java:36:57:36:63 | taint(...) : String | StrBuilderTest.java:36:45:36:48 | sb15 [post update] : StrBuilder | provenance | MaD:235 | +| StrBuilderTest.java:36:90:36:93 | sb15 : StrBuilder | StrBuilderTest.java:36:90:36:104 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:36:90:36:93 | sb15 : StrBuilder | StrBuilderTest.java:36:90:36:104 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:37:45:37:48 | sb16 [post update] : StrBuilder | StrBuilderTest.java:37:97:37:100 | sb16 : StrBuilder | provenance | | +| StrBuilderTest.java:37:45:37:89 | new ..[] { .. } : Object[] [[]] : String | StrBuilderTest.java:37:45:37:48 | sb16 [post update] : StrBuilder | provenance | MaD:236 | +| StrBuilderTest.java:37:74:37:80 | taint(...) : String | StrBuilderTest.java:37:45:37:89 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| StrBuilderTest.java:37:97:37:100 | sb16 : StrBuilder | StrBuilderTest.java:37:97:37:111 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:37:97:37:100 | sb16 : StrBuilder | StrBuilderTest.java:37:97:37:111 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:40:13:40:23 | taintedList [post update] : ArrayList [] : String | StrBuilderTest.java:41:64:41:74 | taintedList : ArrayList [] : String | provenance | | +| StrBuilderTest.java:40:13:40:23 | taintedList [post update] : ArrayList [] : String | StrBuilderTest.java:42:64:42:74 | taintedList : ArrayList [] : String | provenance | | +| StrBuilderTest.java:40:29:40:35 | taint(...) : String | StrBuilderTest.java:40:13:40:23 | taintedList [post update] : ArrayList [] : String | provenance | MaD:11 | +| StrBuilderTest.java:41:49:41:52 | sb17 [post update] : StrBuilder | StrBuilderTest.java:41:83:41:86 | sb17 : StrBuilder | provenance | | +| StrBuilderTest.java:41:64:41:74 | taintedList : ArrayList [] : String | StrBuilderTest.java:41:49:41:52 | sb17 [post update] : StrBuilder | provenance | MaD:245 | +| StrBuilderTest.java:41:83:41:86 | sb17 : StrBuilder | StrBuilderTest.java:41:83:41:97 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:41:83:41:86 | sb17 : StrBuilder | StrBuilderTest.java:41:83:41:97 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:42:49:42:52 | sb18 [post update] : StrBuilder | StrBuilderTest.java:42:94:42:97 | sb18 : StrBuilder | provenance | | +| StrBuilderTest.java:42:64:42:74 | taintedList : ArrayList [] : String | StrBuilderTest.java:42:64:42:85 | iterator(...) : Iterator [] : String | provenance | MaD:7 | +| StrBuilderTest.java:42:64:42:85 | iterator(...) : Iterator [] : String | StrBuilderTest.java:42:49:42:52 | sb18 [post update] : StrBuilder | provenance | MaD:246 | +| StrBuilderTest.java:42:94:42:97 | sb18 : StrBuilder | StrBuilderTest.java:42:94:42:108 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:42:94:42:97 | sb18 : StrBuilder | StrBuilderTest.java:42:94:42:108 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:44:45:44:48 | sb19 [post update] : StrBuilder | StrBuilderTest.java:44:84:44:87 | sb19 : StrBuilder | provenance | | +| StrBuilderTest.java:44:45:44:76 | new ..[] { .. } : Object[] [[]] : String | StrBuilderTest.java:44:45:44:48 | sb19 [post update] : StrBuilder | provenance | MaD:247 | +| StrBuilderTest.java:44:69:44:75 | taint(...) : String | StrBuilderTest.java:44:45:44:76 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| StrBuilderTest.java:44:84:44:87 | sb19 : StrBuilder | StrBuilderTest.java:44:84:44:98 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:44:84:44:87 | sb19 : StrBuilder | StrBuilderTest.java:44:84:44:98 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:45:45:45:48 | sb20 [post update] : StrBuilder | StrBuilderTest.java:45:84:45:87 | sb20 : StrBuilder | provenance | | +| StrBuilderTest.java:45:45:45:76 | new ..[] { .. } : Object[] [[]] : String | StrBuilderTest.java:45:45:45:48 | sb20 [post update] : StrBuilder | provenance | MaD:247 | +| StrBuilderTest.java:45:60:45:66 | taint(...) : String | StrBuilderTest.java:45:45:45:76 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| StrBuilderTest.java:45:84:45:87 | sb20 : StrBuilder | StrBuilderTest.java:45:84:45:98 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:45:84:45:87 | sb20 : StrBuilder | StrBuilderTest.java:45:84:45:98 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:46:45:46:48 | sb21 [post update] : StrBuilder | StrBuilderTest.java:46:97:46:100 | sb21 : StrBuilder | provenance | | +| StrBuilderTest.java:46:74:46:80 | taint(...) : String | StrBuilderTest.java:46:45:46:48 | sb21 [post update] : StrBuilder | provenance | MaD:249 | +| StrBuilderTest.java:46:97:46:100 | sb21 : StrBuilder | StrBuilderTest.java:46:97:46:111 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:46:97:46:100 | sb21 : StrBuilder | StrBuilderTest.java:46:97:46:111 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:47:45:47:48 | sb22 [post update] : StrBuilder | StrBuilderTest.java:47:98:47:101 | sb22 : StrBuilder | provenance | | +| StrBuilderTest.java:47:75:47:81 | taint(...) : String | StrBuilderTest.java:47:45:47:48 | sb22 [post update] : StrBuilder | provenance | MaD:251 | +| StrBuilderTest.java:47:98:47:101 | sb22 : StrBuilder | StrBuilderTest.java:47:98:47:112 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:47:98:47:101 | sb22 : StrBuilder | StrBuilderTest.java:47:98:47:112 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:48:45:48:48 | sb23 [post update] : StrBuilder | StrBuilderTest.java:48:88:48:91 | sb23 : StrBuilder | provenance | | +| StrBuilderTest.java:48:59:48:65 | taint(...) : String | StrBuilderTest.java:48:59:48:79 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTest.java:48:59:48:79 | toCharArray(...) : char[] | StrBuilderTest.java:48:45:48:48 | sb23 [post update] : StrBuilder | provenance | MaD:266 | +| StrBuilderTest.java:48:88:48:91 | sb23 : StrBuilder | StrBuilderTest.java:48:88:48:102 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:48:88:48:91 | sb23 : StrBuilder | StrBuilderTest.java:48:88:48:102 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:49:45:49:48 | sb24 [post update] : StrBuilder | StrBuilderTest.java:49:94:49:97 | sb24 : StrBuilder | provenance | | +| StrBuilderTest.java:49:59:49:65 | taint(...) : String | StrBuilderTest.java:49:59:49:79 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTest.java:49:59:49:79 | toCharArray(...) : char[] | StrBuilderTest.java:49:45:49:48 | sb24 [post update] : StrBuilder | provenance | MaD:267 | +| StrBuilderTest.java:49:94:49:97 | sb24 : StrBuilder | StrBuilderTest.java:49:94:49:108 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:49:94:49:97 | sb24 : StrBuilder | StrBuilderTest.java:49:94:49:108 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:50:45:50:48 | sb25 [post update] : StrBuilder | StrBuilderTest.java:50:82:50:85 | sb25 : StrBuilder | provenance | | +| StrBuilderTest.java:50:59:50:73 | (...)... : String | StrBuilderTest.java:50:45:50:48 | sb25 [post update] : StrBuilder | provenance | MaD:268 | +| StrBuilderTest.java:50:67:50:73 | taint(...) : String | StrBuilderTest.java:50:59:50:73 | (...)... : String | provenance | | +| StrBuilderTest.java:50:82:50:85 | sb25 : StrBuilder | StrBuilderTest.java:50:82:50:96 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:50:82:50:85 | sb25 : StrBuilder | StrBuilderTest.java:50:82:50:96 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:52:50:52:54 | auxsb [post update] : StrBuilder | StrBuilderTest.java:53:63:53:67 | auxsb : StrBuilder | provenance | | +| StrBuilderTest.java:52:65:52:71 | taint(...) : String | StrBuilderTest.java:52:50:52:54 | auxsb [post update] : StrBuilder | provenance | MaD:269 | +| StrBuilderTest.java:53:49:53:52 | sb26 [post update] : StrBuilder | StrBuilderTest.java:53:76:53:79 | sb26 : StrBuilder | provenance | | +| StrBuilderTest.java:53:63:53:67 | auxsb : StrBuilder | StrBuilderTest.java:53:49:53:52 | sb26 [post update] : StrBuilder | provenance | MaD:277 | +| StrBuilderTest.java:53:76:53:79 | sb26 : StrBuilder | StrBuilderTest.java:53:76:53:90 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:53:76:53:79 | sb26 : StrBuilder | StrBuilderTest.java:53:76:53:90 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:55:45:55:48 | sb27 [post update] : StrBuilder | StrBuilderTest.java:55:92:55:95 | sb27 : StrBuilder | provenance | | +| StrBuilderTest.java:55:59:55:83 | new StringBuffer(...) : StringBuffer | StrBuilderTest.java:55:45:55:48 | sb27 [post update] : StrBuilder | provenance | MaD:273 | +| StrBuilderTest.java:55:76:55:82 | taint(...) : String | StrBuilderTest.java:55:59:55:83 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| StrBuilderTest.java:55:92:55:95 | sb27 : StrBuilder | StrBuilderTest.java:55:92:55:106 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:55:92:55:95 | sb27 : StrBuilder | StrBuilderTest.java:55:92:55:106 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:56:45:56:48 | sb28 [post update] : StrBuilder | StrBuilderTest.java:56:98:56:101 | sb28 : StrBuilder | provenance | | +| StrBuilderTest.java:56:59:56:83 | new StringBuffer(...) : StringBuffer | StrBuilderTest.java:56:45:56:48 | sb28 [post update] : StrBuilder | provenance | MaD:274 | +| StrBuilderTest.java:56:76:56:82 | taint(...) : String | StrBuilderTest.java:56:59:56:83 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| StrBuilderTest.java:56:98:56:101 | sb28 : StrBuilder | StrBuilderTest.java:56:98:56:112 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:56:98:56:101 | sb28 : StrBuilder | StrBuilderTest.java:56:98:56:112 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:57:45:57:48 | sb29 [post update] : StrBuilder | StrBuilderTest.java:57:93:57:96 | sb29 : StrBuilder | provenance | | +| StrBuilderTest.java:57:59:57:84 | new StringBuilder(...) : StringBuilder | StrBuilderTest.java:57:45:57:48 | sb29 [post update] : StrBuilder | provenance | MaD:275 | +| StrBuilderTest.java:57:77:57:83 | taint(...) : String | StrBuilderTest.java:57:59:57:84 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| StrBuilderTest.java:57:93:57:96 | sb29 : StrBuilder | StrBuilderTest.java:57:93:57:107 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:57:93:57:96 | sb29 : StrBuilder | StrBuilderTest.java:57:93:57:107 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:58:45:58:48 | sb30 [post update] : StrBuilder | StrBuilderTest.java:58:99:58:102 | sb30 : StrBuilder | provenance | | +| StrBuilderTest.java:58:59:58:84 | new StringBuilder(...) : StringBuilder | StrBuilderTest.java:58:45:58:48 | sb30 [post update] : StrBuilder | provenance | MaD:276 | +| StrBuilderTest.java:58:77:58:83 | taint(...) : String | StrBuilderTest.java:58:59:58:84 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| StrBuilderTest.java:58:99:58:102 | sb30 : StrBuilder | StrBuilderTest.java:58:99:58:113 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:58:99:58:102 | sb30 : StrBuilder | StrBuilderTest.java:58:99:58:113 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:59:45:59:48 | sb31 [post update] : StrBuilder | StrBuilderTest.java:59:74:59:77 | sb31 : StrBuilder | provenance | | +| StrBuilderTest.java:59:59:59:65 | taint(...) : String | StrBuilderTest.java:59:45:59:48 | sb31 [post update] : StrBuilder | provenance | MaD:269 | +| StrBuilderTest.java:59:74:59:77 | sb31 : StrBuilder | StrBuilderTest.java:59:74:59:88 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:59:74:59:77 | sb31 : StrBuilder | StrBuilderTest.java:59:74:59:88 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:60:45:60:48 | sb32 [post update] : StrBuilder | StrBuilderTest.java:60:80:60:83 | sb32 : StrBuilder | provenance | | +| StrBuilderTest.java:60:59:60:65 | taint(...) : String | StrBuilderTest.java:60:45:60:48 | sb32 [post update] : StrBuilder | provenance | MaD:270 | +| StrBuilderTest.java:60:80:60:83 | sb32 : StrBuilder | StrBuilderTest.java:60:80:60:94 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:60:80:60:83 | sb32 : StrBuilder | StrBuilderTest.java:60:80:60:94 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:61:45:61:48 | sb33 [post update] : StrBuilder | StrBuilderTest.java:61:92:61:95 | sb33 : StrBuilder | provenance | | +| StrBuilderTest.java:61:59:61:65 | taint(...) : String | StrBuilderTest.java:61:45:61:48 | sb33 [post update] : StrBuilder | provenance | MaD:271 | +| StrBuilderTest.java:61:92:61:95 | sb33 : StrBuilder | StrBuilderTest.java:61:92:61:106 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:61:92:61:95 | sb33 : StrBuilder | StrBuilderTest.java:61:92:61:106 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:62:45:62:48 | sb34 [post update] : StrBuilder | StrBuilderTest.java:62:99:62:102 | sb34 : StrBuilder | provenance | | +| StrBuilderTest.java:62:45:62:91 | new ..[] { .. } : Object[] [[]] : String | StrBuilderTest.java:62:45:62:48 | sb34 [post update] : StrBuilder | provenance | MaD:272 | +| StrBuilderTest.java:62:76:62:82 | taint(...) : String | StrBuilderTest.java:62:45:62:91 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| StrBuilderTest.java:62:99:62:102 | sb34 : StrBuilder | StrBuilderTest.java:62:99:62:113 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:62:99:62:102 | sb34 : StrBuilder | StrBuilderTest.java:62:99:62:113 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:63:45:63:48 | sb35 [post update] : StrBuilder | StrBuilderTest.java:63:81:63:84 | sb35 : StrBuilder | provenance | | +| StrBuilderTest.java:63:66:63:72 | taint(...) : String | StrBuilderTest.java:63:45:63:48 | sb35 [post update] : StrBuilder | provenance | MaD:256 | +| StrBuilderTest.java:63:81:63:84 | sb35 : StrBuilder | StrBuilderTest.java:63:81:63:95 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:63:81:63:84 | sb35 : StrBuilder | StrBuilderTest.java:63:81:63:95 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:64:45:64:48 | sb36 [post update] : StrBuilder | StrBuilderTest.java:64:84:64:87 | sb36 : StrBuilder | provenance | | +| StrBuilderTest.java:64:66:64:72 | taint(...) : String | StrBuilderTest.java:64:45:64:48 | sb36 [post update] : StrBuilder | provenance | MaD:257 | +| StrBuilderTest.java:64:84:64:87 | sb36 : StrBuilder | StrBuilderTest.java:64:84:64:98 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:64:84:64:87 | sb36 : StrBuilder | StrBuilderTest.java:64:84:64:98 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:65:45:65:48 | sb37 [post update] : StrBuilder | StrBuilderTest.java:65:92:65:95 | sb37 : StrBuilder | provenance | | +| StrBuilderTest.java:65:66:65:72 | taint(...) : String | StrBuilderTest.java:65:45:65:48 | sb37 [post update] : StrBuilder | provenance | MaD:258 | +| StrBuilderTest.java:65:92:65:95 | sb37 : StrBuilder | StrBuilderTest.java:65:92:65:106 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:65:92:65:95 | sb37 : StrBuilder | StrBuilderTest.java:65:92:65:106 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:66:45:66:48 | sb38 [post update] : StrBuilder | StrBuilderTest.java:66:85:66:88 | sb38 : StrBuilder | provenance | | +| StrBuilderTest.java:66:70:66:76 | taint(...) : String | StrBuilderTest.java:66:45:66:48 | sb38 [post update] : StrBuilder | provenance | MaD:258 | +| StrBuilderTest.java:66:85:66:88 | sb38 : StrBuilder | StrBuilderTest.java:66:85:66:99 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:66:85:66:88 | sb38 : StrBuilder | StrBuilderTest.java:66:85:66:99 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:68:50:68:54 | auxsb [post update] : StrBuilder | StrBuilderTest.java:69:49:69:53 | auxsb : StrBuilder | provenance | | +| StrBuilderTest.java:68:65:68:71 | taint(...) : String | StrBuilderTest.java:68:50:68:54 | auxsb [post update] : StrBuilder | provenance | MaD:269 | +| StrBuilderTest.java:69:49:69:53 | auxsb : StrBuilder | StrBuilderTest.java:69:64:69:67 | sb39 [post update] : StrBuilder | provenance | MaD:259 | +| StrBuilderTest.java:69:64:69:67 | sb39 [post update] : StrBuilder | StrBuilderTest.java:69:76:69:79 | sb39 : StrBuilder | provenance | | +| StrBuilderTest.java:69:76:69:79 | sb39 : StrBuilder | StrBuilderTest.java:69:76:69:90 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:69:76:69:79 | sb39 : StrBuilder | StrBuilderTest.java:69:76:69:90 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:73:13:73:23 | taintedList [post update] : ArrayList [] : String | StrBuilderTest.java:74:75:74:85 | taintedList : ArrayList [] : String | provenance | | +| StrBuilderTest.java:73:13:73:23 | taintedList [post update] : ArrayList [] : String | StrBuilderTest.java:75:75:75:85 | taintedList : ArrayList [] : String | provenance | | +| StrBuilderTest.java:73:29:73:35 | taint(...) : String | StrBuilderTest.java:73:13:73:23 | taintedList [post update] : ArrayList [] : String | provenance | MaD:11 | +| StrBuilderTest.java:74:49:74:52 | sb40 [post update] : StrBuilder | StrBuilderTest.java:74:100:74:103 | sb40 : StrBuilder | provenance | | +| StrBuilderTest.java:74:75:74:85 | taintedList : ArrayList [] : String | StrBuilderTest.java:74:49:74:52 | sb40 [post update] : StrBuilder | provenance | MaD:262 | +| StrBuilderTest.java:74:100:74:103 | sb40 : StrBuilder | StrBuilderTest.java:74:100:74:114 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:74:100:74:103 | sb40 : StrBuilder | StrBuilderTest.java:74:100:74:114 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:75:49:75:52 | sb41 [post update] : StrBuilder | StrBuilderTest.java:75:111:75:114 | sb41 : StrBuilder | provenance | | +| StrBuilderTest.java:75:75:75:85 | taintedList : ArrayList [] : String | StrBuilderTest.java:75:75:75:96 | iterator(...) : Iterator [] : String | provenance | MaD:7 | +| StrBuilderTest.java:75:75:75:96 | iterator(...) : Iterator [] : String | StrBuilderTest.java:75:49:75:52 | sb41 [post update] : StrBuilder | provenance | MaD:263 | +| StrBuilderTest.java:75:111:75:114 | sb41 : StrBuilder | StrBuilderTest.java:75:111:75:125 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:75:111:75:114 | sb41 : StrBuilder | StrBuilderTest.java:75:111:75:125 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:77:49:77:52 | sb42 [post update] : StrBuilder | StrBuilderTest.java:77:105:77:108 | sb42 : StrBuilder | provenance | | +| StrBuilderTest.java:77:90:77:96 | taint(...) : String | StrBuilderTest.java:77:49:77:52 | sb42 [post update] : StrBuilder | provenance | MaD:261 | +| StrBuilderTest.java:77:105:77:108 | sb42 : StrBuilder | StrBuilderTest.java:77:105:77:119 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:77:105:77:108 | sb42 : StrBuilder | StrBuilderTest.java:77:105:77:119 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:78:49:78:52 | sb43 [post update] : StrBuilder | StrBuilderTest.java:78:116:78:119 | sb43 : StrBuilder | provenance | | +| StrBuilderTest.java:78:101:78:107 | taint(...) : String | StrBuilderTest.java:78:49:78:52 | sb43 [post update] : StrBuilder | provenance | MaD:261 | +| StrBuilderTest.java:78:116:78:119 | sb43 : StrBuilder | StrBuilderTest.java:78:116:78:130 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:78:116:78:119 | sb43 : StrBuilder | StrBuilderTest.java:78:116:78:130 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:79:37:79:60 | {...} : String[] [[]] : String | StrBuilderTest.java:81:75:81:86 | taintedArray : String[] [[]] : String | provenance | | +| StrBuilderTest.java:79:52:79:58 | taint(...) : String | StrBuilderTest.java:79:37:79:60 | {...} : String[] [[]] : String | provenance | | +| StrBuilderTest.java:81:49:81:52 | sb44 [post update] : StrBuilder | StrBuilderTest.java:81:101:81:104 | sb44 : StrBuilder | provenance | | +| StrBuilderTest.java:81:75:81:86 | taintedArray : String[] [[]] : String | StrBuilderTest.java:81:49:81:52 | sb44 [post update] : StrBuilder | provenance | MaD:264 | +| StrBuilderTest.java:81:101:81:104 | sb44 : StrBuilder | StrBuilderTest.java:81:101:81:115 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:81:101:81:104 | sb44 : StrBuilder | StrBuilderTest.java:81:101:81:115 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:82:49:82:52 | sb45 [post update] : StrBuilder | StrBuilderTest.java:82:106:82:109 | sb45 : StrBuilder | provenance | | +| StrBuilderTest.java:82:91:82:97 | taint(...) : String | StrBuilderTest.java:82:49:82:52 | sb45 [post update] : StrBuilder | provenance | MaD:261 | +| StrBuilderTest.java:82:106:82:109 | sb45 : StrBuilder | StrBuilderTest.java:82:106:82:120 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:82:106:82:109 | sb45 : StrBuilder | StrBuilderTest.java:82:106:82:120 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:85:49:85:52 | sb46 [post update] : StrBuilder | StrBuilderTest.java:87:13:87:16 | sb46 : StrBuilder | provenance | | +| StrBuilderTest.java:85:61:85:67 | taint(...) : String | StrBuilderTest.java:85:49:85:52 | sb46 [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:87:13:87:16 | sb46 : StrBuilder | StrBuilderTest.java:87:13:87:27 | asReader(...) : Reader | provenance | MaD:278 | +| StrBuilderTest.java:87:13:87:27 | asReader(...) : Reader | StrBuilderTest.java:87:34:87:39 | target [post update] : char[] | provenance | MaD:2 | +| StrBuilderTest.java:87:34:87:39 | target [post update] : char[] | StrBuilderTest.java:88:18:88:23 | target | provenance | | +| StrBuilderTest.java:90:45:90:48 | sb47 [post update] : StrBuilder | StrBuilderTest.java:90:72:90:75 | sb47 : StrBuilder | provenance | | +| StrBuilderTest.java:90:57:90:63 | taint(...) : String | StrBuilderTest.java:90:45:90:48 | sb47 [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:90:72:90:75 | sb47 : StrBuilder | StrBuilderTest.java:90:72:90:89 | asTokenizer(...) : StrTokenizer | provenance | MaD:279 | +| StrBuilderTest.java:90:72:90:89 | asTokenizer(...) : StrTokenizer | StrBuilderTest.java:90:72:90:96 | next(...) | provenance | MaD:13 | +| StrBuilderTest.java:90:72:90:89 | asTokenizer(...) : StrTokenizer | StrBuilderTest.java:90:72:90:96 | next(...) | provenance | MaD:351 | +| StrBuilderTest.java:91:45:91:48 | sb48 [post update] : StrBuilder | StrBuilderTest.java:91:72:91:75 | sb48 : StrBuilder | provenance | | +| StrBuilderTest.java:91:57:91:63 | taint(...) : String | StrBuilderTest.java:91:45:91:48 | sb48 [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:91:72:91:75 | sb48 : StrBuilder | StrBuilderTest.java:91:72:91:83 | build(...) | provenance | MaD:280 | +| StrBuilderTest.java:92:45:92:48 | sb49 [post update] : StrBuilder | StrBuilderTest.java:92:72:92:75 | sb49 : StrBuilder | provenance | | +| StrBuilderTest.java:92:57:92:63 | taint(...) : String | StrBuilderTest.java:92:45:92:48 | sb49 [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:92:72:92:75 | sb49 : StrBuilder | StrBuilderTest.java:92:72:92:90 | getChars(...) | provenance | MaD:287 | +| StrBuilderTest.java:94:49:94:52 | sb50 [post update] : StrBuilder | StrBuilderTest.java:96:13:96:16 | sb50 : StrBuilder | provenance | | +| StrBuilderTest.java:94:61:94:67 | taint(...) : String | StrBuilderTest.java:94:49:94:52 | sb50 [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:96:13:96:16 | sb50 : StrBuilder | StrBuilderTest.java:96:27:96:32 | target [post update] : char[] | provenance | MaD:286 | +| StrBuilderTest.java:96:27:96:32 | target [post update] : char[] | StrBuilderTest.java:97:18:97:23 | target | provenance | | +| StrBuilderTest.java:100:49:100:52 | sb51 [post update] : StrBuilder | StrBuilderTest.java:102:13:102:16 | sb51 : StrBuilder | provenance | | +| StrBuilderTest.java:100:61:100:67 | taint(...) : String | StrBuilderTest.java:100:49:100:52 | sb51 [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:102:13:102:16 | sb51 : StrBuilder | StrBuilderTest.java:102:33:102:38 | target [post update] : char[] | provenance | MaD:288 | +| StrBuilderTest.java:102:33:102:38 | target [post update] : char[] | StrBuilderTest.java:103:18:103:23 | target | provenance | | +| StrBuilderTest.java:105:45:105:48 | sb52 [post update] : StrBuilder | StrBuilderTest.java:105:89:105:92 | sb52 : StrBuilder | provenance | | +| StrBuilderTest.java:105:60:105:66 | taint(...) : String | StrBuilderTest.java:105:60:105:80 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTest.java:105:60:105:80 | toCharArray(...) : char[] | StrBuilderTest.java:105:45:105:48 | sb52 [post update] : StrBuilder | provenance | MaD:290 | +| StrBuilderTest.java:105:89:105:92 | sb52 : StrBuilder | StrBuilderTest.java:105:89:105:103 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:105:89:105:92 | sb52 : StrBuilder | StrBuilderTest.java:105:89:105:103 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:106:45:106:48 | sb53 [post update] : StrBuilder | StrBuilderTest.java:106:95:106:98 | sb53 : StrBuilder | provenance | | +| StrBuilderTest.java:106:60:106:66 | taint(...) : String | StrBuilderTest.java:106:60:106:80 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTest.java:106:60:106:80 | toCharArray(...) : char[] | StrBuilderTest.java:106:45:106:48 | sb53 [post update] : StrBuilder | provenance | MaD:290 | +| StrBuilderTest.java:106:95:106:98 | sb53 : StrBuilder | StrBuilderTest.java:106:95:106:109 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:106:95:106:98 | sb53 : StrBuilder | StrBuilderTest.java:106:95:106:109 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:107:45:107:48 | sb54 [post update] : StrBuilder | StrBuilderTest.java:107:75:107:78 | sb54 : StrBuilder | provenance | | +| StrBuilderTest.java:107:60:107:66 | taint(...) : String | StrBuilderTest.java:107:45:107:48 | sb54 [post update] : StrBuilder | provenance | MaD:290 | +| StrBuilderTest.java:107:75:107:78 | sb54 : StrBuilder | StrBuilderTest.java:107:75:107:89 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:107:75:107:78 | sb54 : StrBuilder | StrBuilderTest.java:107:75:107:89 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:108:45:108:48 | sb55 [post update] : StrBuilder | StrBuilderTest.java:108:83:108:86 | sb55 : StrBuilder | provenance | | +| StrBuilderTest.java:108:60:108:74 | (...)... : String | StrBuilderTest.java:108:45:108:48 | sb55 [post update] : StrBuilder | provenance | MaD:290 | +| StrBuilderTest.java:108:68:108:74 | taint(...) : String | StrBuilderTest.java:108:60:108:74 | (...)... : String | provenance | | +| StrBuilderTest.java:108:83:108:86 | sb55 : StrBuilder | StrBuilderTest.java:108:83:108:97 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:108:83:108:86 | sb55 : StrBuilder | StrBuilderTest.java:108:83:108:97 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:109:45:109:48 | sb56 [post update] : StrBuilder | StrBuilderTest.java:109:72:109:75 | sb56 : StrBuilder | provenance | | +| StrBuilderTest.java:109:57:109:63 | taint(...) : String | StrBuilderTest.java:109:45:109:48 | sb56 [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:109:72:109:75 | sb56 : StrBuilder | StrBuilderTest.java:109:72:109:89 | leftString(...) | provenance | MaD:291 | +| StrBuilderTest.java:110:45:110:48 | sb57 [post update] : StrBuilder | StrBuilderTest.java:110:72:110:75 | sb57 : StrBuilder | provenance | | +| StrBuilderTest.java:110:57:110:63 | taint(...) : String | StrBuilderTest.java:110:45:110:48 | sb57 [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:110:72:110:75 | sb57 : StrBuilder | StrBuilderTest.java:110:72:110:91 | midString(...) | provenance | MaD:292 | +| StrBuilderTest.java:112:35:112:59 | new StringReader(...) : StringReader | StrBuilderTest.java:113:63:113:68 | reader : StringReader | provenance | | +| StrBuilderTest.java:112:52:112:58 | taint(...) : String | StrBuilderTest.java:112:35:112:59 | new StringReader(...) : StringReader | provenance | MaD:3 | +| StrBuilderTest.java:113:49:113:52 | sb58 [post update] : StrBuilder | StrBuilderTest.java:113:77:113:80 | sb58 : StrBuilder | provenance | | +| StrBuilderTest.java:113:63:113:68 | reader : StringReader | StrBuilderTest.java:113:49:113:52 | sb58 [post update] : StrBuilder | provenance | MaD:294 | +| StrBuilderTest.java:113:77:113:80 | sb58 : StrBuilder | StrBuilderTest.java:113:77:113:91 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:113:77:113:80 | sb58 : StrBuilder | StrBuilderTest.java:113:77:113:91 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:115:45:115:48 | sb59 [post update] : StrBuilder | StrBuilderTest.java:115:79:115:82 | sb59 : StrBuilder | provenance | | +| StrBuilderTest.java:115:64:115:70 | taint(...) : String | StrBuilderTest.java:115:45:115:48 | sb59 [post update] : StrBuilder | provenance | MaD:296 | +| StrBuilderTest.java:115:79:115:82 | sb59 : StrBuilder | StrBuilderTest.java:115:79:115:93 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:115:79:115:82 | sb59 : StrBuilder | StrBuilderTest.java:115:79:115:93 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:116:45:116:48 | sb60 [post update] : StrBuilder | StrBuilderTest.java:116:88:116:91 | sb60 : StrBuilder | provenance | | +| StrBuilderTest.java:116:64:116:70 | taint(...) : String | StrBuilderTest.java:116:45:116:48 | sb60 [post update] : StrBuilder | provenance | MaD:297 | +| StrBuilderTest.java:116:88:116:91 | sb60 : StrBuilder | StrBuilderTest.java:116:88:116:102 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:116:88:116:91 | sb60 : StrBuilder | StrBuilderTest.java:116:88:116:102 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:117:45:117:48 | sb61 [post update] : StrBuilder | StrBuilderTest.java:117:94:117:97 | sb61 : StrBuilder | provenance | | +| StrBuilderTest.java:117:79:117:85 | taint(...) : String | StrBuilderTest.java:117:45:117:48 | sb61 [post update] : StrBuilder | provenance | MaD:299 | +| StrBuilderTest.java:117:94:117:97 | sb61 : StrBuilder | StrBuilderTest.java:117:94:117:108 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:117:94:117:97 | sb61 : StrBuilder | StrBuilderTest.java:117:94:117:108 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:118:45:118:48 | sb62 [post update] : StrBuilder | StrBuilderTest.java:118:86:118:89 | sb62 : StrBuilder | provenance | | +| StrBuilderTest.java:118:71:118:77 | taint(...) : String | StrBuilderTest.java:118:45:118:48 | sb62 [post update] : StrBuilder | provenance | MaD:299 | +| StrBuilderTest.java:118:86:118:89 | sb62 : StrBuilder | StrBuilderTest.java:118:86:118:100 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:118:86:118:89 | sb62 : StrBuilder | StrBuilderTest.java:118:86:118:100 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:120:45:120:48 | sb64 [post update] : StrBuilder | StrBuilderTest.java:120:96:120:99 | sb64 : StrBuilder | provenance | | +| StrBuilderTest.java:120:81:120:87 | taint(...) : String | StrBuilderTest.java:120:45:120:48 | sb64 [post update] : StrBuilder | provenance | MaD:301 | +| StrBuilderTest.java:120:96:120:99 | sb64 : StrBuilder | StrBuilderTest.java:120:96:120:110 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:120:96:120:99 | sb64 : StrBuilder | StrBuilderTest.java:120:96:120:110 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:121:45:121:48 | sb65 [post update] : StrBuilder | StrBuilderTest.java:121:88:121:91 | sb65 : StrBuilder | provenance | | +| StrBuilderTest.java:121:73:121:79 | taint(...) : String | StrBuilderTest.java:121:45:121:48 | sb65 [post update] : StrBuilder | provenance | MaD:301 | +| StrBuilderTest.java:121:88:121:91 | sb65 : StrBuilder | StrBuilderTest.java:121:88:121:102 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:121:88:121:91 | sb65 : StrBuilder | StrBuilderTest.java:121:88:121:102 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:123:45:123:48 | sb67 [post update] : StrBuilder | StrBuilderTest.java:123:72:123:75 | sb67 : StrBuilder | provenance | | +| StrBuilderTest.java:123:57:123:63 | taint(...) : String | StrBuilderTest.java:123:45:123:48 | sb67 [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:123:72:123:75 | sb67 : StrBuilder | StrBuilderTest.java:123:72:123:90 | rightString(...) | provenance | MaD:303 | +| StrBuilderTest.java:124:45:124:48 | sb68 [post update] : StrBuilder | StrBuilderTest.java:124:72:124:75 | sb68 : StrBuilder | provenance | | +| StrBuilderTest.java:124:57:124:63 | taint(...) : String | StrBuilderTest.java:124:45:124:48 | sb68 [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:124:72:124:75 | sb68 : StrBuilder | StrBuilderTest.java:124:72:124:93 | subSequence(...) | provenance | MaD:5 | +| StrBuilderTest.java:124:72:124:75 | sb68 : StrBuilder | StrBuilderTest.java:124:72:124:93 | subSequence(...) | provenance | MaD:308 | +| StrBuilderTest.java:125:45:125:48 | sb69 [post update] : StrBuilder | StrBuilderTest.java:125:72:125:75 | sb69 : StrBuilder | provenance | | +| StrBuilderTest.java:125:57:125:63 | taint(...) : String | StrBuilderTest.java:125:45:125:48 | sb69 [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:125:72:125:75 | sb69 : StrBuilder | StrBuilderTest.java:125:72:125:88 | substring(...) | provenance | MaD:309 | +| StrBuilderTest.java:126:45:126:48 | sb70 [post update] : StrBuilder | StrBuilderTest.java:126:72:126:75 | sb70 : StrBuilder | provenance | | +| StrBuilderTest.java:126:57:126:63 | taint(...) : String | StrBuilderTest.java:126:45:126:48 | sb70 [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:126:72:126:75 | sb70 : StrBuilder | StrBuilderTest.java:126:72:126:91 | substring(...) | provenance | MaD:309 | +| StrBuilderTest.java:127:45:127:48 | sb71 [post update] : StrBuilder | StrBuilderTest.java:127:72:127:75 | sb71 : StrBuilder | provenance | | +| StrBuilderTest.java:127:57:127:63 | taint(...) : String | StrBuilderTest.java:127:45:127:48 | sb71 [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:127:72:127:75 | sb71 : StrBuilder | StrBuilderTest.java:127:72:127:89 | toCharArray(...) | provenance | MaD:310 | +| StrBuilderTest.java:128:45:128:48 | sb72 [post update] : StrBuilder | StrBuilderTest.java:128:72:128:75 | sb72 : StrBuilder | provenance | | +| StrBuilderTest.java:128:57:128:63 | taint(...) : String | StrBuilderTest.java:128:45:128:48 | sb72 [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:128:72:128:75 | sb72 : StrBuilder | StrBuilderTest.java:128:72:128:93 | toCharArray(...) | provenance | MaD:310 | +| StrBuilderTest.java:129:45:129:48 | sb73 [post update] : StrBuilder | StrBuilderTest.java:129:72:129:75 | sb73 : StrBuilder | provenance | | +| StrBuilderTest.java:129:57:129:63 | taint(...) : String | StrBuilderTest.java:129:45:129:48 | sb73 [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:129:72:129:75 | sb73 : StrBuilder | StrBuilderTest.java:129:72:129:92 | toStringBuffer(...) | provenance | MaD:312 | +| StrBuilderTest.java:130:45:130:48 | sb74 [post update] : StrBuilder | StrBuilderTest.java:130:72:130:75 | sb74 : StrBuilder | provenance | | +| StrBuilderTest.java:130:57:130:63 | taint(...) : String | StrBuilderTest.java:130:45:130:48 | sb74 [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:130:72:130:75 | sb74 : StrBuilder | StrBuilderTest.java:130:72:130:93 | toStringBuilder(...) | provenance | MaD:313 | +| StrBuilderTest.java:135:14:135:58 | append(...) : StrBuilder | StrBuilderTest.java:135:14:135:82 | append(...) : StrBuilder | provenance | MaD:227 | +| StrBuilderTest.java:135:14:135:58 | append(...) : StrBuilder | StrBuilderTest.java:135:14:135:82 | append(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:135:14:135:82 | append(...) : StrBuilder | StrBuilderTest.java:135:14:135:93 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:135:14:135:82 | append(...) : StrBuilder | StrBuilderTest.java:135:14:135:93 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:135:51:135:57 | taint(...) : String | StrBuilderTest.java:135:14:135:58 | append(...) : StrBuilder | provenance | MaD:233+MaD:227 | +| StrBuilderTest.java:138:9:138:45 | append(...) [post update] : StrBuilder | StrBuilderTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | provenance | MaD:227 | +| StrBuilderTest.java:138:9:138:45 | append(...) [post update] : StrBuilder | StrBuilderTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:138:54:138:60 | taint(...) : String | StrBuilderTest.java:138:9:138:45 | append(...) [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | StrBuilderTest.java:139:14:139:42 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | StrBuilderTest.java:139:14:139:42 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:143:9:143:46 | append(...) [post update] : StrBuilder | StrBuilderTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | provenance | MaD:227 | +| StrBuilderTest.java:143:9:143:46 | append(...) [post update] : StrBuilder | StrBuilderTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:143:55:143:61 | taint(...) : String | StrBuilderTest.java:143:9:143:46 | append(...) [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | StrBuilderTest.java:144:14:144:43 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | StrBuilderTest.java:144:14:144:43 | toString(...) | provenance | MaD:311 | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:148:33 | fluentAllMethodsTest : StrBuilder | provenance | | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:147:58:147:64 | taint(...) : String | StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | provenance | MaD:226 | +| StrBuilderTest.java:148:14:148:33 | fluentAllMethodsTest : StrBuilder | StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | provenance | MaD:227 | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | provenance | MaD:244 | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | provenance | MaD:248 | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | provenance | MaD:250 | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | provenance | MaD:265 | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | provenance | MaD:252 | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | provenance | MaD:253 | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | provenance | MaD:254 | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | provenance | MaD:255 | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | provenance | MaD:260 | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | provenance | MaD:281 | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | provenance | MaD:282 | +| StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | provenance | MaD:283 | +| StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | provenance | MaD:284 | +| StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | provenance | MaD:285 | +| StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | MaD:289 | +| StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | MaD:293 | +| StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | MaD:295 | +| StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | MaD:298 | +| StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | MaD:300 | +| StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | MaD:302 | +| StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | MaD:304 | +| StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | MaD:305 | +| StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | MaD:306 | +| StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | MaD:307 | +| StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | MaD:314 | +| StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | StrBuilderTest.java:148:14:174:15 | trim(...) | provenance | ValuePreservingMethod | +| StrBuilderTest.java:178:9:204:15 | trim(...) [post update] : StrBuilder | StrBuilderTest.java:206:14:206:34 | fluentAllMethodsTest2 | provenance | MaD:314 | +| StrBuilderTest.java:178:9:204:15 | trim(...) [post update] : StrBuilder | StrBuilderTest.java:206:14:206:34 | fluentAllMethodsTest2 | provenance | ValuePreservingMethod | +| StrBuilderTest.java:205:17:205:23 | taint(...) : String | StrBuilderTest.java:178:9:204:15 | trim(...) [post update] : StrBuilder | provenance | MaD:233 | +| StrBuilderTextTest.java:17:28:17:50 | new StrBuilder(...) : StrBuilder | StrBuilderTextTest.java:17:58:17:62 | cons1 : StrBuilder | provenance | | +| StrBuilderTextTest.java:17:43:17:49 | taint(...) : String | StrBuilderTextTest.java:17:28:17:50 | new StrBuilder(...) : StrBuilder | provenance | MaD:418 | +| StrBuilderTextTest.java:17:58:17:62 | cons1 : StrBuilder | StrBuilderTextTest.java:17:58:17:73 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:17:58:17:62 | cons1 : StrBuilder | StrBuilderTextTest.java:17:58:17:73 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:19:44:19:46 | sb1 [post update] : StrBuilder | StrBuilderTextTest.java:19:84:19:86 | sb1 : StrBuilder | provenance | | +| StrBuilderTextTest.java:19:55:19:61 | taint(...) : String | StrBuilderTextTest.java:19:55:19:75 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTextTest.java:19:55:19:75 | toCharArray(...) : char[] | StrBuilderTextTest.java:19:44:19:46 | sb1 [post update] : StrBuilder | provenance | MaD:420 | +| StrBuilderTextTest.java:19:84:19:86 | sb1 : StrBuilder | StrBuilderTextTest.java:19:84:19:97 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:19:84:19:86 | sb1 : StrBuilder | StrBuilderTextTest.java:19:84:19:97 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:20:44:20:46 | sb2 [post update] : StrBuilder | StrBuilderTextTest.java:20:90:20:92 | sb2 : StrBuilder | provenance | | +| StrBuilderTextTest.java:20:55:20:61 | taint(...) : String | StrBuilderTextTest.java:20:55:20:75 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTextTest.java:20:55:20:75 | toCharArray(...) : char[] | StrBuilderTextTest.java:20:44:20:46 | sb2 [post update] : StrBuilder | provenance | MaD:421 | +| StrBuilderTextTest.java:20:90:20:92 | sb2 : StrBuilder | StrBuilderTextTest.java:20:90:20:103 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:20:90:20:92 | sb2 : StrBuilder | StrBuilderTextTest.java:20:90:20:103 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:21:44:21:46 | sb3 [post update] : StrBuilder | StrBuilderTextTest.java:21:101:21:103 | sb3 : StrBuilder | provenance | | +| StrBuilderTextTest.java:21:55:21:92 | wrap(...) : CharBuffer | StrBuilderTextTest.java:21:44:21:46 | sb3 [post update] : StrBuilder | provenance | MaD:433 | +| StrBuilderTextTest.java:21:71:21:77 | taint(...) : String | StrBuilderTextTest.java:21:71:21:91 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTextTest.java:21:71:21:91 | toCharArray(...) : char[] | StrBuilderTextTest.java:21:55:21:92 | wrap(...) : CharBuffer | provenance | MaD:1 | +| StrBuilderTextTest.java:21:101:21:103 | sb3 : StrBuilder | StrBuilderTextTest.java:21:101:21:114 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:21:101:21:103 | sb3 : StrBuilder | StrBuilderTextTest.java:21:101:21:114 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:22:44:22:46 | sb4 [post update] : StrBuilder | StrBuilderTextTest.java:22:107:22:109 | sb4 : StrBuilder | provenance | | +| StrBuilderTextTest.java:22:55:22:92 | wrap(...) : CharBuffer | StrBuilderTextTest.java:22:44:22:46 | sb4 [post update] : StrBuilder | provenance | MaD:434 | +| StrBuilderTextTest.java:22:71:22:77 | taint(...) : String | StrBuilderTextTest.java:22:71:22:91 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTextTest.java:22:71:22:91 | toCharArray(...) : char[] | StrBuilderTextTest.java:22:55:22:92 | wrap(...) : CharBuffer | provenance | MaD:1 | +| StrBuilderTextTest.java:22:107:22:109 | sb4 : StrBuilder | StrBuilderTextTest.java:22:107:22:120 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:22:107:22:109 | sb4 : StrBuilder | StrBuilderTextTest.java:22:107:22:120 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:23:44:23:46 | sb5 [post update] : StrBuilder | StrBuilderTextTest.java:23:84:23:86 | sb5 : StrBuilder | provenance | | +| StrBuilderTextTest.java:23:55:23:75 | (...)... : String | StrBuilderTextTest.java:23:44:23:46 | sb5 [post update] : StrBuilder | provenance | MaD:4 | +| StrBuilderTextTest.java:23:55:23:75 | (...)... : String | StrBuilderTextTest.java:23:44:23:46 | sb5 [post update] : StrBuilder | provenance | MaD:422 | +| StrBuilderTextTest.java:23:69:23:75 | taint(...) : String | StrBuilderTextTest.java:23:55:23:75 | (...)... : String | provenance | | +| StrBuilderTextTest.java:23:84:23:86 | sb5 : StrBuilder | StrBuilderTextTest.java:23:84:23:97 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:23:84:23:86 | sb5 : StrBuilder | StrBuilderTextTest.java:23:84:23:97 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:24:44:24:46 | sb6 [post update] : StrBuilder | StrBuilderTextTest.java:24:90:24:92 | sb6 : StrBuilder | provenance | | +| StrBuilderTextTest.java:24:55:24:75 | (...)... : String | StrBuilderTextTest.java:24:44:24:46 | sb6 [post update] : StrBuilder | provenance | MaD:4 | +| StrBuilderTextTest.java:24:55:24:75 | (...)... : String | StrBuilderTextTest.java:24:44:24:46 | sb6 [post update] : StrBuilder | provenance | MaD:423 | +| StrBuilderTextTest.java:24:69:24:75 | taint(...) : String | StrBuilderTextTest.java:24:55:24:75 | (...)... : String | provenance | | +| StrBuilderTextTest.java:24:90:24:92 | sb6 : StrBuilder | StrBuilderTextTest.java:24:90:24:103 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:24:90:24:92 | sb6 : StrBuilder | StrBuilderTextTest.java:24:90:24:103 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:25:44:25:46 | sb7 [post update] : StrBuilder | StrBuilderTextTest.java:25:78:25:80 | sb7 : StrBuilder | provenance | | +| StrBuilderTextTest.java:25:55:25:69 | (...)... : String | StrBuilderTextTest.java:25:44:25:46 | sb7 [post update] : StrBuilder | provenance | MaD:424 | +| StrBuilderTextTest.java:25:63:25:69 | taint(...) : String | StrBuilderTextTest.java:25:55:25:69 | (...)... : String | provenance | | +| StrBuilderTextTest.java:25:78:25:80 | sb7 : StrBuilder | StrBuilderTextTest.java:25:78:25:91 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:25:78:25:80 | sb7 : StrBuilder | StrBuilderTextTest.java:25:78:25:91 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:27:50:27:54 | auxsb [post update] : StrBuilder | StrBuilderTextTest.java:28:59:28:63 | auxsb : StrBuilder | provenance | | +| StrBuilderTextTest.java:27:63:27:69 | taint(...) : String | StrBuilderTextTest.java:27:50:27:54 | auxsb [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:28:48:28:50 | sb8 [post update] : StrBuilder | StrBuilderTextTest.java:28:72:28:74 | sb8 : StrBuilder | provenance | | +| StrBuilderTextTest.java:28:59:28:63 | auxsb : StrBuilder | StrBuilderTextTest.java:28:48:28:50 | sb8 [post update] : StrBuilder | provenance | MaD:435 | +| StrBuilderTextTest.java:28:72:28:74 | sb8 : StrBuilder | StrBuilderTextTest.java:28:72:28:85 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:28:72:28:74 | sb8 : StrBuilder | StrBuilderTextTest.java:28:72:28:85 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:30:44:30:46 | sb9 [post update] : StrBuilder | StrBuilderTextTest.java:30:88:30:90 | sb9 : StrBuilder | provenance | | +| StrBuilderTextTest.java:30:55:30:79 | new StringBuffer(...) : StringBuffer | StrBuilderTextTest.java:30:44:30:46 | sb9 [post update] : StrBuilder | provenance | MaD:429 | +| StrBuilderTextTest.java:30:72:30:78 | taint(...) : String | StrBuilderTextTest.java:30:55:30:79 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| StrBuilderTextTest.java:30:88:30:90 | sb9 : StrBuilder | StrBuilderTextTest.java:30:88:30:101 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:30:88:30:90 | sb9 : StrBuilder | StrBuilderTextTest.java:30:88:30:101 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:31:45:31:48 | sb10 [post update] : StrBuilder | StrBuilderTextTest.java:31:96:31:99 | sb10 : StrBuilder | provenance | | +| StrBuilderTextTest.java:31:57:31:81 | new StringBuffer(...) : StringBuffer | StrBuilderTextTest.java:31:45:31:48 | sb10 [post update] : StrBuilder | provenance | MaD:430 | +| StrBuilderTextTest.java:31:74:31:80 | taint(...) : String | StrBuilderTextTest.java:31:57:31:81 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| StrBuilderTextTest.java:31:96:31:99 | sb10 : StrBuilder | StrBuilderTextTest.java:31:96:31:110 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:31:96:31:99 | sb10 : StrBuilder | StrBuilderTextTest.java:31:96:31:110 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:32:45:32:48 | sb11 [post update] : StrBuilder | StrBuilderTextTest.java:32:91:32:94 | sb11 : StrBuilder | provenance | | +| StrBuilderTextTest.java:32:57:32:82 | new StringBuilder(...) : StringBuilder | StrBuilderTextTest.java:32:45:32:48 | sb11 [post update] : StrBuilder | provenance | MaD:431 | +| StrBuilderTextTest.java:32:75:32:81 | taint(...) : String | StrBuilderTextTest.java:32:57:32:82 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| StrBuilderTextTest.java:32:91:32:94 | sb11 : StrBuilder | StrBuilderTextTest.java:32:91:32:105 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:32:91:32:94 | sb11 : StrBuilder | StrBuilderTextTest.java:32:91:32:105 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:33:45:33:48 | sb12 [post update] : StrBuilder | StrBuilderTextTest.java:33:97:33:100 | sb12 : StrBuilder | provenance | | +| StrBuilderTextTest.java:33:57:33:82 | new StringBuilder(...) : StringBuilder | StrBuilderTextTest.java:33:45:33:48 | sb12 [post update] : StrBuilder | provenance | MaD:432 | +| StrBuilderTextTest.java:33:75:33:81 | taint(...) : String | StrBuilderTextTest.java:33:57:33:82 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| StrBuilderTextTest.java:33:97:33:100 | sb12 : StrBuilder | StrBuilderTextTest.java:33:97:33:111 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:33:97:33:100 | sb12 : StrBuilder | StrBuilderTextTest.java:33:97:33:111 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:34:45:34:48 | sb13 [post update] : StrBuilder | StrBuilderTextTest.java:34:72:34:75 | sb13 : StrBuilder | provenance | | +| StrBuilderTextTest.java:34:57:34:63 | taint(...) : String | StrBuilderTextTest.java:34:45:34:48 | sb13 [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:34:72:34:75 | sb13 : StrBuilder | StrBuilderTextTest.java:34:72:34:86 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:34:72:34:75 | sb13 : StrBuilder | StrBuilderTextTest.java:34:72:34:86 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:35:45:35:48 | sb14 [post update] : StrBuilder | StrBuilderTextTest.java:35:78:35:81 | sb14 : StrBuilder | provenance | | +| StrBuilderTextTest.java:35:57:35:63 | taint(...) : String | StrBuilderTextTest.java:35:45:35:48 | sb14 [post update] : StrBuilder | provenance | MaD:426 | +| StrBuilderTextTest.java:35:78:35:81 | sb14 : StrBuilder | StrBuilderTextTest.java:35:78:35:92 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:35:78:35:81 | sb14 : StrBuilder | StrBuilderTextTest.java:35:78:35:92 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:36:45:36:48 | sb15 [post update] : StrBuilder | StrBuilderTextTest.java:36:90:36:93 | sb15 : StrBuilder | provenance | | +| StrBuilderTextTest.java:36:57:36:63 | taint(...) : String | StrBuilderTextTest.java:36:45:36:48 | sb15 [post update] : StrBuilder | provenance | MaD:427 | +| StrBuilderTextTest.java:36:90:36:93 | sb15 : StrBuilder | StrBuilderTextTest.java:36:90:36:104 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:36:90:36:93 | sb15 : StrBuilder | StrBuilderTextTest.java:36:90:36:104 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:37:45:37:48 | sb16 [post update] : StrBuilder | StrBuilderTextTest.java:37:97:37:100 | sb16 : StrBuilder | provenance | | +| StrBuilderTextTest.java:37:45:37:89 | new ..[] { .. } : Object[] [[]] : String | StrBuilderTextTest.java:37:45:37:48 | sb16 [post update] : StrBuilder | provenance | MaD:428 | +| StrBuilderTextTest.java:37:74:37:80 | taint(...) : String | StrBuilderTextTest.java:37:45:37:89 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| StrBuilderTextTest.java:37:97:37:100 | sb16 : StrBuilder | StrBuilderTextTest.java:37:97:37:111 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:37:97:37:100 | sb16 : StrBuilder | StrBuilderTextTest.java:37:97:37:111 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:40:13:40:23 | taintedList [post update] : ArrayList [] : String | StrBuilderTextTest.java:41:64:41:74 | taintedList : ArrayList [] : String | provenance | | +| StrBuilderTextTest.java:40:13:40:23 | taintedList [post update] : ArrayList [] : String | StrBuilderTextTest.java:42:64:42:74 | taintedList : ArrayList [] : String | provenance | | +| StrBuilderTextTest.java:40:29:40:35 | taint(...) : String | StrBuilderTextTest.java:40:13:40:23 | taintedList [post update] : ArrayList [] : String | provenance | MaD:11 | +| StrBuilderTextTest.java:41:49:41:52 | sb17 [post update] : StrBuilder | StrBuilderTextTest.java:41:83:41:86 | sb17 : StrBuilder | provenance | | +| StrBuilderTextTest.java:41:64:41:74 | taintedList : ArrayList [] : String | StrBuilderTextTest.java:41:49:41:52 | sb17 [post update] : StrBuilder | provenance | MaD:437 | +| StrBuilderTextTest.java:41:83:41:86 | sb17 : StrBuilder | StrBuilderTextTest.java:41:83:41:97 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:41:83:41:86 | sb17 : StrBuilder | StrBuilderTextTest.java:41:83:41:97 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:42:49:42:52 | sb18 [post update] : StrBuilder | StrBuilderTextTest.java:42:94:42:97 | sb18 : StrBuilder | provenance | | +| StrBuilderTextTest.java:42:64:42:74 | taintedList : ArrayList [] : String | StrBuilderTextTest.java:42:64:42:85 | iterator(...) : Iterator [] : String | provenance | MaD:7 | +| StrBuilderTextTest.java:42:64:42:85 | iterator(...) : Iterator [] : String | StrBuilderTextTest.java:42:49:42:52 | sb18 [post update] : StrBuilder | provenance | MaD:438 | +| StrBuilderTextTest.java:42:94:42:97 | sb18 : StrBuilder | StrBuilderTextTest.java:42:94:42:108 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:42:94:42:97 | sb18 : StrBuilder | StrBuilderTextTest.java:42:94:42:108 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:44:45:44:48 | sb19 [post update] : StrBuilder | StrBuilderTextTest.java:44:84:44:87 | sb19 : StrBuilder | provenance | | +| StrBuilderTextTest.java:44:45:44:76 | new ..[] { .. } : Object[] [[]] : String | StrBuilderTextTest.java:44:45:44:48 | sb19 [post update] : StrBuilder | provenance | MaD:439 | +| StrBuilderTextTest.java:44:69:44:75 | taint(...) : String | StrBuilderTextTest.java:44:45:44:76 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| StrBuilderTextTest.java:44:84:44:87 | sb19 : StrBuilder | StrBuilderTextTest.java:44:84:44:98 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:44:84:44:87 | sb19 : StrBuilder | StrBuilderTextTest.java:44:84:44:98 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:45:45:45:48 | sb20 [post update] : StrBuilder | StrBuilderTextTest.java:45:84:45:87 | sb20 : StrBuilder | provenance | | +| StrBuilderTextTest.java:45:45:45:76 | new ..[] { .. } : Object[] [[]] : String | StrBuilderTextTest.java:45:45:45:48 | sb20 [post update] : StrBuilder | provenance | MaD:439 | +| StrBuilderTextTest.java:45:60:45:66 | taint(...) : String | StrBuilderTextTest.java:45:45:45:76 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| StrBuilderTextTest.java:45:84:45:87 | sb20 : StrBuilder | StrBuilderTextTest.java:45:84:45:98 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:45:84:45:87 | sb20 : StrBuilder | StrBuilderTextTest.java:45:84:45:98 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:46:45:46:48 | sb21 [post update] : StrBuilder | StrBuilderTextTest.java:46:97:46:100 | sb21 : StrBuilder | provenance | | +| StrBuilderTextTest.java:46:74:46:80 | taint(...) : String | StrBuilderTextTest.java:46:45:46:48 | sb21 [post update] : StrBuilder | provenance | MaD:441 | +| StrBuilderTextTest.java:46:97:46:100 | sb21 : StrBuilder | StrBuilderTextTest.java:46:97:46:111 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:46:97:46:100 | sb21 : StrBuilder | StrBuilderTextTest.java:46:97:46:111 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:47:45:47:48 | sb22 [post update] : StrBuilder | StrBuilderTextTest.java:47:98:47:101 | sb22 : StrBuilder | provenance | | +| StrBuilderTextTest.java:47:75:47:81 | taint(...) : String | StrBuilderTextTest.java:47:45:47:48 | sb22 [post update] : StrBuilder | provenance | MaD:443 | +| StrBuilderTextTest.java:47:98:47:101 | sb22 : StrBuilder | StrBuilderTextTest.java:47:98:47:112 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:47:98:47:101 | sb22 : StrBuilder | StrBuilderTextTest.java:47:98:47:112 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:48:45:48:48 | sb23 [post update] : StrBuilder | StrBuilderTextTest.java:48:88:48:91 | sb23 : StrBuilder | provenance | | +| StrBuilderTextTest.java:48:59:48:65 | taint(...) : String | StrBuilderTextTest.java:48:59:48:79 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTextTest.java:48:59:48:79 | toCharArray(...) : char[] | StrBuilderTextTest.java:48:45:48:48 | sb23 [post update] : StrBuilder | provenance | MaD:458 | +| StrBuilderTextTest.java:48:88:48:91 | sb23 : StrBuilder | StrBuilderTextTest.java:48:88:48:102 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:48:88:48:91 | sb23 : StrBuilder | StrBuilderTextTest.java:48:88:48:102 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:49:45:49:48 | sb24 [post update] : StrBuilder | StrBuilderTextTest.java:49:94:49:97 | sb24 : StrBuilder | provenance | | +| StrBuilderTextTest.java:49:59:49:65 | taint(...) : String | StrBuilderTextTest.java:49:59:49:79 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTextTest.java:49:59:49:79 | toCharArray(...) : char[] | StrBuilderTextTest.java:49:45:49:48 | sb24 [post update] : StrBuilder | provenance | MaD:459 | +| StrBuilderTextTest.java:49:94:49:97 | sb24 : StrBuilder | StrBuilderTextTest.java:49:94:49:108 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:49:94:49:97 | sb24 : StrBuilder | StrBuilderTextTest.java:49:94:49:108 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:50:45:50:48 | sb25 [post update] : StrBuilder | StrBuilderTextTest.java:50:82:50:85 | sb25 : StrBuilder | provenance | | +| StrBuilderTextTest.java:50:59:50:73 | (...)... : String | StrBuilderTextTest.java:50:45:50:48 | sb25 [post update] : StrBuilder | provenance | MaD:460 | +| StrBuilderTextTest.java:50:67:50:73 | taint(...) : String | StrBuilderTextTest.java:50:59:50:73 | (...)... : String | provenance | | +| StrBuilderTextTest.java:50:82:50:85 | sb25 : StrBuilder | StrBuilderTextTest.java:50:82:50:96 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:50:82:50:85 | sb25 : StrBuilder | StrBuilderTextTest.java:50:82:50:96 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:52:50:52:54 | auxsb [post update] : StrBuilder | StrBuilderTextTest.java:53:63:53:67 | auxsb : StrBuilder | provenance | | +| StrBuilderTextTest.java:52:65:52:71 | taint(...) : String | StrBuilderTextTest.java:52:50:52:54 | auxsb [post update] : StrBuilder | provenance | MaD:461 | +| StrBuilderTextTest.java:53:49:53:52 | sb26 [post update] : StrBuilder | StrBuilderTextTest.java:53:76:53:79 | sb26 : StrBuilder | provenance | | +| StrBuilderTextTest.java:53:63:53:67 | auxsb : StrBuilder | StrBuilderTextTest.java:53:49:53:52 | sb26 [post update] : StrBuilder | provenance | MaD:469 | +| StrBuilderTextTest.java:53:76:53:79 | sb26 : StrBuilder | StrBuilderTextTest.java:53:76:53:90 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:53:76:53:79 | sb26 : StrBuilder | StrBuilderTextTest.java:53:76:53:90 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:55:45:55:48 | sb27 [post update] : StrBuilder | StrBuilderTextTest.java:55:92:55:95 | sb27 : StrBuilder | provenance | | +| StrBuilderTextTest.java:55:59:55:83 | new StringBuffer(...) : StringBuffer | StrBuilderTextTest.java:55:45:55:48 | sb27 [post update] : StrBuilder | provenance | MaD:465 | +| StrBuilderTextTest.java:55:76:55:82 | taint(...) : String | StrBuilderTextTest.java:55:59:55:83 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| StrBuilderTextTest.java:55:92:55:95 | sb27 : StrBuilder | StrBuilderTextTest.java:55:92:55:106 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:55:92:55:95 | sb27 : StrBuilder | StrBuilderTextTest.java:55:92:55:106 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:56:45:56:48 | sb28 [post update] : StrBuilder | StrBuilderTextTest.java:56:98:56:101 | sb28 : StrBuilder | provenance | | +| StrBuilderTextTest.java:56:59:56:83 | new StringBuffer(...) : StringBuffer | StrBuilderTextTest.java:56:45:56:48 | sb28 [post update] : StrBuilder | provenance | MaD:466 | +| StrBuilderTextTest.java:56:76:56:82 | taint(...) : String | StrBuilderTextTest.java:56:59:56:83 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| StrBuilderTextTest.java:56:98:56:101 | sb28 : StrBuilder | StrBuilderTextTest.java:56:98:56:112 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:56:98:56:101 | sb28 : StrBuilder | StrBuilderTextTest.java:56:98:56:112 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:57:45:57:48 | sb29 [post update] : StrBuilder | StrBuilderTextTest.java:57:93:57:96 | sb29 : StrBuilder | provenance | | +| StrBuilderTextTest.java:57:59:57:84 | new StringBuilder(...) : StringBuilder | StrBuilderTextTest.java:57:45:57:48 | sb29 [post update] : StrBuilder | provenance | MaD:467 | +| StrBuilderTextTest.java:57:77:57:83 | taint(...) : String | StrBuilderTextTest.java:57:59:57:84 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| StrBuilderTextTest.java:57:93:57:96 | sb29 : StrBuilder | StrBuilderTextTest.java:57:93:57:107 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:57:93:57:96 | sb29 : StrBuilder | StrBuilderTextTest.java:57:93:57:107 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:58:45:58:48 | sb30 [post update] : StrBuilder | StrBuilderTextTest.java:58:99:58:102 | sb30 : StrBuilder | provenance | | +| StrBuilderTextTest.java:58:59:58:84 | new StringBuilder(...) : StringBuilder | StrBuilderTextTest.java:58:45:58:48 | sb30 [post update] : StrBuilder | provenance | MaD:468 | +| StrBuilderTextTest.java:58:77:58:83 | taint(...) : String | StrBuilderTextTest.java:58:59:58:84 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| StrBuilderTextTest.java:58:99:58:102 | sb30 : StrBuilder | StrBuilderTextTest.java:58:99:58:113 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:58:99:58:102 | sb30 : StrBuilder | StrBuilderTextTest.java:58:99:58:113 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:59:45:59:48 | sb31 [post update] : StrBuilder | StrBuilderTextTest.java:59:74:59:77 | sb31 : StrBuilder | provenance | | +| StrBuilderTextTest.java:59:59:59:65 | taint(...) : String | StrBuilderTextTest.java:59:45:59:48 | sb31 [post update] : StrBuilder | provenance | MaD:461 | +| StrBuilderTextTest.java:59:74:59:77 | sb31 : StrBuilder | StrBuilderTextTest.java:59:74:59:88 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:59:74:59:77 | sb31 : StrBuilder | StrBuilderTextTest.java:59:74:59:88 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:60:45:60:48 | sb32 [post update] : StrBuilder | StrBuilderTextTest.java:60:80:60:83 | sb32 : StrBuilder | provenance | | +| StrBuilderTextTest.java:60:59:60:65 | taint(...) : String | StrBuilderTextTest.java:60:45:60:48 | sb32 [post update] : StrBuilder | provenance | MaD:462 | +| StrBuilderTextTest.java:60:80:60:83 | sb32 : StrBuilder | StrBuilderTextTest.java:60:80:60:94 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:60:80:60:83 | sb32 : StrBuilder | StrBuilderTextTest.java:60:80:60:94 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:61:45:61:48 | sb33 [post update] : StrBuilder | StrBuilderTextTest.java:61:92:61:95 | sb33 : StrBuilder | provenance | | +| StrBuilderTextTest.java:61:59:61:65 | taint(...) : String | StrBuilderTextTest.java:61:45:61:48 | sb33 [post update] : StrBuilder | provenance | MaD:463 | +| StrBuilderTextTest.java:61:92:61:95 | sb33 : StrBuilder | StrBuilderTextTest.java:61:92:61:106 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:61:92:61:95 | sb33 : StrBuilder | StrBuilderTextTest.java:61:92:61:106 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:62:45:62:48 | sb34 [post update] : StrBuilder | StrBuilderTextTest.java:62:99:62:102 | sb34 : StrBuilder | provenance | | +| StrBuilderTextTest.java:62:45:62:91 | new ..[] { .. } : Object[] [[]] : String | StrBuilderTextTest.java:62:45:62:48 | sb34 [post update] : StrBuilder | provenance | MaD:464 | +| StrBuilderTextTest.java:62:76:62:82 | taint(...) : String | StrBuilderTextTest.java:62:45:62:91 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| StrBuilderTextTest.java:62:99:62:102 | sb34 : StrBuilder | StrBuilderTextTest.java:62:99:62:113 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:62:99:62:102 | sb34 : StrBuilder | StrBuilderTextTest.java:62:99:62:113 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:63:45:63:48 | sb35 [post update] : StrBuilder | StrBuilderTextTest.java:63:81:63:84 | sb35 : StrBuilder | provenance | | +| StrBuilderTextTest.java:63:66:63:72 | taint(...) : String | StrBuilderTextTest.java:63:45:63:48 | sb35 [post update] : StrBuilder | provenance | MaD:448 | +| StrBuilderTextTest.java:63:81:63:84 | sb35 : StrBuilder | StrBuilderTextTest.java:63:81:63:95 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:63:81:63:84 | sb35 : StrBuilder | StrBuilderTextTest.java:63:81:63:95 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:64:45:64:48 | sb36 [post update] : StrBuilder | StrBuilderTextTest.java:64:84:64:87 | sb36 : StrBuilder | provenance | | +| StrBuilderTextTest.java:64:66:64:72 | taint(...) : String | StrBuilderTextTest.java:64:45:64:48 | sb36 [post update] : StrBuilder | provenance | MaD:449 | +| StrBuilderTextTest.java:64:84:64:87 | sb36 : StrBuilder | StrBuilderTextTest.java:64:84:64:98 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:64:84:64:87 | sb36 : StrBuilder | StrBuilderTextTest.java:64:84:64:98 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:65:45:65:48 | sb37 [post update] : StrBuilder | StrBuilderTextTest.java:65:92:65:95 | sb37 : StrBuilder | provenance | | +| StrBuilderTextTest.java:65:66:65:72 | taint(...) : String | StrBuilderTextTest.java:65:45:65:48 | sb37 [post update] : StrBuilder | provenance | MaD:450 | +| StrBuilderTextTest.java:65:92:65:95 | sb37 : StrBuilder | StrBuilderTextTest.java:65:92:65:106 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:65:92:65:95 | sb37 : StrBuilder | StrBuilderTextTest.java:65:92:65:106 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:66:45:66:48 | sb38 [post update] : StrBuilder | StrBuilderTextTest.java:66:85:66:88 | sb38 : StrBuilder | provenance | | +| StrBuilderTextTest.java:66:70:66:76 | taint(...) : String | StrBuilderTextTest.java:66:45:66:48 | sb38 [post update] : StrBuilder | provenance | MaD:450 | +| StrBuilderTextTest.java:66:85:66:88 | sb38 : StrBuilder | StrBuilderTextTest.java:66:85:66:99 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:66:85:66:88 | sb38 : StrBuilder | StrBuilderTextTest.java:66:85:66:99 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:68:50:68:54 | auxsb [post update] : StrBuilder | StrBuilderTextTest.java:69:49:69:53 | auxsb : StrBuilder | provenance | | +| StrBuilderTextTest.java:68:65:68:71 | taint(...) : String | StrBuilderTextTest.java:68:50:68:54 | auxsb [post update] : StrBuilder | provenance | MaD:461 | +| StrBuilderTextTest.java:69:49:69:53 | auxsb : StrBuilder | StrBuilderTextTest.java:69:64:69:67 | sb39 [post update] : StrBuilder | provenance | MaD:451 | +| StrBuilderTextTest.java:69:64:69:67 | sb39 [post update] : StrBuilder | StrBuilderTextTest.java:69:76:69:79 | sb39 : StrBuilder | provenance | | +| StrBuilderTextTest.java:69:76:69:79 | sb39 : StrBuilder | StrBuilderTextTest.java:69:76:69:90 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:69:76:69:79 | sb39 : StrBuilder | StrBuilderTextTest.java:69:76:69:90 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:73:13:73:23 | taintedList [post update] : ArrayList [] : String | StrBuilderTextTest.java:74:75:74:85 | taintedList : ArrayList [] : String | provenance | | +| StrBuilderTextTest.java:73:13:73:23 | taintedList [post update] : ArrayList [] : String | StrBuilderTextTest.java:75:75:75:85 | taintedList : ArrayList [] : String | provenance | | +| StrBuilderTextTest.java:73:29:73:35 | taint(...) : String | StrBuilderTextTest.java:73:13:73:23 | taintedList [post update] : ArrayList [] : String | provenance | MaD:11 | +| StrBuilderTextTest.java:74:49:74:52 | sb40 [post update] : StrBuilder | StrBuilderTextTest.java:74:100:74:103 | sb40 : StrBuilder | provenance | | +| StrBuilderTextTest.java:74:75:74:85 | taintedList : ArrayList [] : String | StrBuilderTextTest.java:74:49:74:52 | sb40 [post update] : StrBuilder | provenance | MaD:454 | +| StrBuilderTextTest.java:74:100:74:103 | sb40 : StrBuilder | StrBuilderTextTest.java:74:100:74:114 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:74:100:74:103 | sb40 : StrBuilder | StrBuilderTextTest.java:74:100:74:114 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:75:49:75:52 | sb41 [post update] : StrBuilder | StrBuilderTextTest.java:75:111:75:114 | sb41 : StrBuilder | provenance | | +| StrBuilderTextTest.java:75:75:75:85 | taintedList : ArrayList [] : String | StrBuilderTextTest.java:75:75:75:96 | iterator(...) : Iterator [] : String | provenance | MaD:7 | +| StrBuilderTextTest.java:75:75:75:96 | iterator(...) : Iterator [] : String | StrBuilderTextTest.java:75:49:75:52 | sb41 [post update] : StrBuilder | provenance | MaD:455 | +| StrBuilderTextTest.java:75:111:75:114 | sb41 : StrBuilder | StrBuilderTextTest.java:75:111:75:125 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:75:111:75:114 | sb41 : StrBuilder | StrBuilderTextTest.java:75:111:75:125 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:77:49:77:52 | sb42 [post update] : StrBuilder | StrBuilderTextTest.java:77:105:77:108 | sb42 : StrBuilder | provenance | | +| StrBuilderTextTest.java:77:90:77:96 | taint(...) : String | StrBuilderTextTest.java:77:49:77:52 | sb42 [post update] : StrBuilder | provenance | MaD:453 | +| StrBuilderTextTest.java:77:105:77:108 | sb42 : StrBuilder | StrBuilderTextTest.java:77:105:77:119 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:77:105:77:108 | sb42 : StrBuilder | StrBuilderTextTest.java:77:105:77:119 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:78:49:78:52 | sb43 [post update] : StrBuilder | StrBuilderTextTest.java:78:116:78:119 | sb43 : StrBuilder | provenance | | +| StrBuilderTextTest.java:78:101:78:107 | taint(...) : String | StrBuilderTextTest.java:78:49:78:52 | sb43 [post update] : StrBuilder | provenance | MaD:453 | +| StrBuilderTextTest.java:78:116:78:119 | sb43 : StrBuilder | StrBuilderTextTest.java:78:116:78:130 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:78:116:78:119 | sb43 : StrBuilder | StrBuilderTextTest.java:78:116:78:130 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:79:37:79:60 | {...} : String[] [[]] : String | StrBuilderTextTest.java:81:75:81:86 | taintedArray : String[] [[]] : String | provenance | | +| StrBuilderTextTest.java:79:52:79:58 | taint(...) : String | StrBuilderTextTest.java:79:37:79:60 | {...} : String[] [[]] : String | provenance | | +| StrBuilderTextTest.java:81:49:81:52 | sb44 [post update] : StrBuilder | StrBuilderTextTest.java:81:101:81:104 | sb44 : StrBuilder | provenance | | +| StrBuilderTextTest.java:81:75:81:86 | taintedArray : String[] [[]] : String | StrBuilderTextTest.java:81:49:81:52 | sb44 [post update] : StrBuilder | provenance | MaD:456 | +| StrBuilderTextTest.java:81:101:81:104 | sb44 : StrBuilder | StrBuilderTextTest.java:81:101:81:115 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:81:101:81:104 | sb44 : StrBuilder | StrBuilderTextTest.java:81:101:81:115 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:82:49:82:52 | sb45 [post update] : StrBuilder | StrBuilderTextTest.java:82:106:82:109 | sb45 : StrBuilder | provenance | | +| StrBuilderTextTest.java:82:91:82:97 | taint(...) : String | StrBuilderTextTest.java:82:49:82:52 | sb45 [post update] : StrBuilder | provenance | MaD:453 | +| StrBuilderTextTest.java:82:106:82:109 | sb45 : StrBuilder | StrBuilderTextTest.java:82:106:82:120 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:82:106:82:109 | sb45 : StrBuilder | StrBuilderTextTest.java:82:106:82:120 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:85:49:85:52 | sb46 [post update] : StrBuilder | StrBuilderTextTest.java:87:13:87:16 | sb46 : StrBuilder | provenance | | +| StrBuilderTextTest.java:85:61:85:67 | taint(...) : String | StrBuilderTextTest.java:85:49:85:52 | sb46 [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:87:13:87:16 | sb46 : StrBuilder | StrBuilderTextTest.java:87:13:87:27 | asReader(...) : Reader | provenance | MaD:470 | +| StrBuilderTextTest.java:87:13:87:27 | asReader(...) : Reader | StrBuilderTextTest.java:87:34:87:39 | target [post update] : char[] | provenance | MaD:2 | +| StrBuilderTextTest.java:87:34:87:39 | target [post update] : char[] | StrBuilderTextTest.java:88:18:88:23 | target | provenance | | +| StrBuilderTextTest.java:90:45:90:48 | sb47 [post update] : StrBuilder | StrBuilderTextTest.java:90:72:90:75 | sb47 : StrBuilder | provenance | | +| StrBuilderTextTest.java:90:57:90:63 | taint(...) : String | StrBuilderTextTest.java:90:45:90:48 | sb47 [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:90:72:90:75 | sb47 : StrBuilder | StrBuilderTextTest.java:90:72:90:89 | asTokenizer(...) : StrTokenizer | provenance | MaD:471 | +| StrBuilderTextTest.java:90:72:90:89 | asTokenizer(...) : StrTokenizer | StrBuilderTextTest.java:90:72:90:96 | next(...) | provenance | MaD:13 | +| StrBuilderTextTest.java:90:72:90:89 | asTokenizer(...) : StrTokenizer | StrBuilderTextTest.java:90:72:90:96 | next(...) | provenance | MaD:514 | +| StrBuilderTextTest.java:91:45:91:48 | sb48 [post update] : StrBuilder | StrBuilderTextTest.java:91:72:91:75 | sb48 : StrBuilder | provenance | | +| StrBuilderTextTest.java:91:57:91:63 | taint(...) : String | StrBuilderTextTest.java:91:45:91:48 | sb48 [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:91:72:91:75 | sb48 : StrBuilder | StrBuilderTextTest.java:91:72:91:83 | build(...) | provenance | MaD:472 | +| StrBuilderTextTest.java:92:45:92:48 | sb49 [post update] : StrBuilder | StrBuilderTextTest.java:92:72:92:75 | sb49 : StrBuilder | provenance | | +| StrBuilderTextTest.java:92:57:92:63 | taint(...) : String | StrBuilderTextTest.java:92:45:92:48 | sb49 [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:92:72:92:75 | sb49 : StrBuilder | StrBuilderTextTest.java:92:72:92:90 | getChars(...) | provenance | MaD:479 | +| StrBuilderTextTest.java:94:49:94:52 | sb50 [post update] : StrBuilder | StrBuilderTextTest.java:96:13:96:16 | sb50 : StrBuilder | provenance | | +| StrBuilderTextTest.java:94:61:94:67 | taint(...) : String | StrBuilderTextTest.java:94:49:94:52 | sb50 [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:96:13:96:16 | sb50 : StrBuilder | StrBuilderTextTest.java:96:27:96:32 | target [post update] : char[] | provenance | MaD:478 | +| StrBuilderTextTest.java:96:27:96:32 | target [post update] : char[] | StrBuilderTextTest.java:97:18:97:23 | target | provenance | | +| StrBuilderTextTest.java:100:49:100:52 | sb51 [post update] : StrBuilder | StrBuilderTextTest.java:102:13:102:16 | sb51 : StrBuilder | provenance | | +| StrBuilderTextTest.java:100:61:100:67 | taint(...) : String | StrBuilderTextTest.java:100:49:100:52 | sb51 [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:102:13:102:16 | sb51 : StrBuilder | StrBuilderTextTest.java:102:33:102:38 | target [post update] : char[] | provenance | MaD:480 | +| StrBuilderTextTest.java:102:33:102:38 | target [post update] : char[] | StrBuilderTextTest.java:103:18:103:23 | target | provenance | | +| StrBuilderTextTest.java:105:45:105:48 | sb52 [post update] : StrBuilder | StrBuilderTextTest.java:105:89:105:92 | sb52 : StrBuilder | provenance | | +| StrBuilderTextTest.java:105:60:105:66 | taint(...) : String | StrBuilderTextTest.java:105:60:105:80 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTextTest.java:105:60:105:80 | toCharArray(...) : char[] | StrBuilderTextTest.java:105:45:105:48 | sb52 [post update] : StrBuilder | provenance | MaD:482 | +| StrBuilderTextTest.java:105:89:105:92 | sb52 : StrBuilder | StrBuilderTextTest.java:105:89:105:103 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:105:89:105:92 | sb52 : StrBuilder | StrBuilderTextTest.java:105:89:105:103 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:106:45:106:48 | sb53 [post update] : StrBuilder | StrBuilderTextTest.java:106:95:106:98 | sb53 : StrBuilder | provenance | | +| StrBuilderTextTest.java:106:60:106:66 | taint(...) : String | StrBuilderTextTest.java:106:60:106:80 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTextTest.java:106:60:106:80 | toCharArray(...) : char[] | StrBuilderTextTest.java:106:45:106:48 | sb53 [post update] : StrBuilder | provenance | MaD:482 | +| StrBuilderTextTest.java:106:95:106:98 | sb53 : StrBuilder | StrBuilderTextTest.java:106:95:106:109 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:106:95:106:98 | sb53 : StrBuilder | StrBuilderTextTest.java:106:95:106:109 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:107:45:107:48 | sb54 [post update] : StrBuilder | StrBuilderTextTest.java:107:75:107:78 | sb54 : StrBuilder | provenance | | +| StrBuilderTextTest.java:107:60:107:66 | taint(...) : String | StrBuilderTextTest.java:107:45:107:48 | sb54 [post update] : StrBuilder | provenance | MaD:482 | +| StrBuilderTextTest.java:107:75:107:78 | sb54 : StrBuilder | StrBuilderTextTest.java:107:75:107:89 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:107:75:107:78 | sb54 : StrBuilder | StrBuilderTextTest.java:107:75:107:89 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:108:45:108:48 | sb55 [post update] : StrBuilder | StrBuilderTextTest.java:108:83:108:86 | sb55 : StrBuilder | provenance | | +| StrBuilderTextTest.java:108:60:108:74 | (...)... : String | StrBuilderTextTest.java:108:45:108:48 | sb55 [post update] : StrBuilder | provenance | MaD:482 | +| StrBuilderTextTest.java:108:68:108:74 | taint(...) : String | StrBuilderTextTest.java:108:60:108:74 | (...)... : String | provenance | | +| StrBuilderTextTest.java:108:83:108:86 | sb55 : StrBuilder | StrBuilderTextTest.java:108:83:108:97 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:108:83:108:86 | sb55 : StrBuilder | StrBuilderTextTest.java:108:83:108:97 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:109:45:109:48 | sb56 [post update] : StrBuilder | StrBuilderTextTest.java:109:72:109:75 | sb56 : StrBuilder | provenance | | +| StrBuilderTextTest.java:109:57:109:63 | taint(...) : String | StrBuilderTextTest.java:109:45:109:48 | sb56 [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:109:72:109:75 | sb56 : StrBuilder | StrBuilderTextTest.java:109:72:109:89 | leftString(...) | provenance | MaD:483 | +| StrBuilderTextTest.java:110:45:110:48 | sb57 [post update] : StrBuilder | StrBuilderTextTest.java:110:72:110:75 | sb57 : StrBuilder | provenance | | +| StrBuilderTextTest.java:110:57:110:63 | taint(...) : String | StrBuilderTextTest.java:110:45:110:48 | sb57 [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:110:72:110:75 | sb57 : StrBuilder | StrBuilderTextTest.java:110:72:110:91 | midString(...) | provenance | MaD:484 | +| StrBuilderTextTest.java:112:35:112:59 | new StringReader(...) : StringReader | StrBuilderTextTest.java:113:63:113:68 | reader : StringReader | provenance | | +| StrBuilderTextTest.java:112:52:112:58 | taint(...) : String | StrBuilderTextTest.java:112:35:112:59 | new StringReader(...) : StringReader | provenance | MaD:3 | +| StrBuilderTextTest.java:113:49:113:52 | sb58 [post update] : StrBuilder | StrBuilderTextTest.java:113:77:113:80 | sb58 : StrBuilder | provenance | | +| StrBuilderTextTest.java:113:63:113:68 | reader : StringReader | StrBuilderTextTest.java:113:49:113:52 | sb58 [post update] : StrBuilder | provenance | MaD:486 | +| StrBuilderTextTest.java:113:77:113:80 | sb58 : StrBuilder | StrBuilderTextTest.java:113:77:113:91 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:113:77:113:80 | sb58 : StrBuilder | StrBuilderTextTest.java:113:77:113:91 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:115:45:115:48 | sb59 [post update] : StrBuilder | StrBuilderTextTest.java:115:79:115:82 | sb59 : StrBuilder | provenance | | +| StrBuilderTextTest.java:115:64:115:70 | taint(...) : String | StrBuilderTextTest.java:115:45:115:48 | sb59 [post update] : StrBuilder | provenance | MaD:488 | +| StrBuilderTextTest.java:115:79:115:82 | sb59 : StrBuilder | StrBuilderTextTest.java:115:79:115:93 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:115:79:115:82 | sb59 : StrBuilder | StrBuilderTextTest.java:115:79:115:93 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:116:45:116:48 | sb60 [post update] : StrBuilder | StrBuilderTextTest.java:116:88:116:91 | sb60 : StrBuilder | provenance | | +| StrBuilderTextTest.java:116:64:116:70 | taint(...) : String | StrBuilderTextTest.java:116:45:116:48 | sb60 [post update] : StrBuilder | provenance | MaD:489 | +| StrBuilderTextTest.java:116:88:116:91 | sb60 : StrBuilder | StrBuilderTextTest.java:116:88:116:102 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:116:88:116:91 | sb60 : StrBuilder | StrBuilderTextTest.java:116:88:116:102 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:117:45:117:48 | sb61 [post update] : StrBuilder | StrBuilderTextTest.java:117:94:117:97 | sb61 : StrBuilder | provenance | | +| StrBuilderTextTest.java:117:79:117:85 | taint(...) : String | StrBuilderTextTest.java:117:45:117:48 | sb61 [post update] : StrBuilder | provenance | MaD:491 | +| StrBuilderTextTest.java:117:94:117:97 | sb61 : StrBuilder | StrBuilderTextTest.java:117:94:117:108 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:117:94:117:97 | sb61 : StrBuilder | StrBuilderTextTest.java:117:94:117:108 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:118:45:118:48 | sb62 [post update] : StrBuilder | StrBuilderTextTest.java:118:86:118:89 | sb62 : StrBuilder | provenance | | +| StrBuilderTextTest.java:118:71:118:77 | taint(...) : String | StrBuilderTextTest.java:118:45:118:48 | sb62 [post update] : StrBuilder | provenance | MaD:491 | +| StrBuilderTextTest.java:118:86:118:89 | sb62 : StrBuilder | StrBuilderTextTest.java:118:86:118:100 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:118:86:118:89 | sb62 : StrBuilder | StrBuilderTextTest.java:118:86:118:100 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:120:45:120:48 | sb64 [post update] : StrBuilder | StrBuilderTextTest.java:120:96:120:99 | sb64 : StrBuilder | provenance | | +| StrBuilderTextTest.java:120:81:120:87 | taint(...) : String | StrBuilderTextTest.java:120:45:120:48 | sb64 [post update] : StrBuilder | provenance | MaD:493 | +| StrBuilderTextTest.java:120:96:120:99 | sb64 : StrBuilder | StrBuilderTextTest.java:120:96:120:110 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:120:96:120:99 | sb64 : StrBuilder | StrBuilderTextTest.java:120:96:120:110 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:121:45:121:48 | sb65 [post update] : StrBuilder | StrBuilderTextTest.java:121:88:121:91 | sb65 : StrBuilder | provenance | | +| StrBuilderTextTest.java:121:73:121:79 | taint(...) : String | StrBuilderTextTest.java:121:45:121:48 | sb65 [post update] : StrBuilder | provenance | MaD:493 | +| StrBuilderTextTest.java:121:88:121:91 | sb65 : StrBuilder | StrBuilderTextTest.java:121:88:121:102 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:121:88:121:91 | sb65 : StrBuilder | StrBuilderTextTest.java:121:88:121:102 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:123:45:123:48 | sb67 [post update] : StrBuilder | StrBuilderTextTest.java:123:72:123:75 | sb67 : StrBuilder | provenance | | +| StrBuilderTextTest.java:123:57:123:63 | taint(...) : String | StrBuilderTextTest.java:123:45:123:48 | sb67 [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:123:72:123:75 | sb67 : StrBuilder | StrBuilderTextTest.java:123:72:123:90 | rightString(...) | provenance | MaD:495 | +| StrBuilderTextTest.java:124:45:124:48 | sb68 [post update] : StrBuilder | StrBuilderTextTest.java:124:72:124:75 | sb68 : StrBuilder | provenance | | +| StrBuilderTextTest.java:124:57:124:63 | taint(...) : String | StrBuilderTextTest.java:124:45:124:48 | sb68 [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:124:72:124:75 | sb68 : StrBuilder | StrBuilderTextTest.java:124:72:124:93 | subSequence(...) | provenance | MaD:5 | +| StrBuilderTextTest.java:124:72:124:75 | sb68 : StrBuilder | StrBuilderTextTest.java:124:72:124:93 | subSequence(...) | provenance | MaD:500 | +| StrBuilderTextTest.java:125:45:125:48 | sb69 [post update] : StrBuilder | StrBuilderTextTest.java:125:72:125:75 | sb69 : StrBuilder | provenance | | +| StrBuilderTextTest.java:125:57:125:63 | taint(...) : String | StrBuilderTextTest.java:125:45:125:48 | sb69 [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:125:72:125:75 | sb69 : StrBuilder | StrBuilderTextTest.java:125:72:125:88 | substring(...) | provenance | MaD:501 | +| StrBuilderTextTest.java:126:45:126:48 | sb70 [post update] : StrBuilder | StrBuilderTextTest.java:126:72:126:75 | sb70 : StrBuilder | provenance | | +| StrBuilderTextTest.java:126:57:126:63 | taint(...) : String | StrBuilderTextTest.java:126:45:126:48 | sb70 [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:126:72:126:75 | sb70 : StrBuilder | StrBuilderTextTest.java:126:72:126:91 | substring(...) | provenance | MaD:501 | +| StrBuilderTextTest.java:127:45:127:48 | sb71 [post update] : StrBuilder | StrBuilderTextTest.java:127:72:127:75 | sb71 : StrBuilder | provenance | | +| StrBuilderTextTest.java:127:57:127:63 | taint(...) : String | StrBuilderTextTest.java:127:45:127:48 | sb71 [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:127:72:127:75 | sb71 : StrBuilder | StrBuilderTextTest.java:127:72:127:89 | toCharArray(...) | provenance | MaD:502 | +| StrBuilderTextTest.java:128:45:128:48 | sb72 [post update] : StrBuilder | StrBuilderTextTest.java:128:72:128:75 | sb72 : StrBuilder | provenance | | +| StrBuilderTextTest.java:128:57:128:63 | taint(...) : String | StrBuilderTextTest.java:128:45:128:48 | sb72 [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:128:72:128:75 | sb72 : StrBuilder | StrBuilderTextTest.java:128:72:128:93 | toCharArray(...) | provenance | MaD:502 | +| StrBuilderTextTest.java:129:45:129:48 | sb73 [post update] : StrBuilder | StrBuilderTextTest.java:129:72:129:75 | sb73 : StrBuilder | provenance | | +| StrBuilderTextTest.java:129:57:129:63 | taint(...) : String | StrBuilderTextTest.java:129:45:129:48 | sb73 [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:129:72:129:75 | sb73 : StrBuilder | StrBuilderTextTest.java:129:72:129:92 | toStringBuffer(...) | provenance | MaD:504 | +| StrBuilderTextTest.java:130:45:130:48 | sb74 [post update] : StrBuilder | StrBuilderTextTest.java:130:72:130:75 | sb74 : StrBuilder | provenance | | +| StrBuilderTextTest.java:130:57:130:63 | taint(...) : String | StrBuilderTextTest.java:130:45:130:48 | sb74 [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:130:72:130:75 | sb74 : StrBuilder | StrBuilderTextTest.java:130:72:130:93 | toStringBuilder(...) | provenance | MaD:505 | +| StrBuilderTextTest.java:135:14:135:58 | append(...) : StrBuilder | StrBuilderTextTest.java:135:14:135:82 | append(...) : StrBuilder | provenance | MaD:419 | +| StrBuilderTextTest.java:135:14:135:82 | append(...) : StrBuilder | StrBuilderTextTest.java:135:14:135:93 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:135:14:135:82 | append(...) : StrBuilder | StrBuilderTextTest.java:135:14:135:93 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:135:51:135:57 | taint(...) : String | StrBuilderTextTest.java:135:14:135:58 | append(...) : StrBuilder | provenance | MaD:425+MaD:419 | +| StrBuilderTextTest.java:138:9:138:45 | append(...) [post update] : StrBuilder | StrBuilderTextTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | provenance | MaD:419 | +| StrBuilderTextTest.java:138:54:138:60 | taint(...) : String | StrBuilderTextTest.java:138:9:138:45 | append(...) [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | StrBuilderTextTest.java:139:14:139:42 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | StrBuilderTextTest.java:139:14:139:42 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:143:9:143:46 | append(...) [post update] : StrBuilder | StrBuilderTextTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | provenance | MaD:419 | +| StrBuilderTextTest.java:143:55:143:61 | taint(...) : String | StrBuilderTextTest.java:143:9:143:46 | append(...) [post update] : StrBuilder | provenance | MaD:425 | +| StrBuilderTextTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | StrBuilderTextTest.java:144:14:144:43 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | StrBuilderTextTest.java:144:14:144:43 | toString(...) | provenance | MaD:503 | +| StrBuilderTextTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTextTest.java:148:14:148:33 | fluentAllMethodsTest : StrBuilder | provenance | | +| StrBuilderTextTest.java:147:58:147:64 | taint(...) : String | StrBuilderTextTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | provenance | MaD:418 | +| StrBuilderTextTest.java:148:14:148:33 | fluentAllMethodsTest : StrBuilder | StrBuilderTextTest.java:148:14:149:23 | append(...) : StrBuilder | provenance | MaD:419 | +| StrBuilderTextTest.java:148:14:149:23 | append(...) : StrBuilder | StrBuilderTextTest.java:148:14:150:26 | appendAll(...) : StrBuilder | provenance | MaD:436 | +| StrBuilderTextTest.java:148:14:150:26 | appendAll(...) : StrBuilder | StrBuilderTextTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | provenance | MaD:440 | +| StrBuilderTextTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | StrBuilderTextTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | provenance | MaD:442 | +| StrBuilderTextTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | StrBuilderTextTest.java:148:14:153:25 | appendln(...) : StrBuilder | provenance | MaD:457 | +| StrBuilderTextTest.java:148:14:153:25 | appendln(...) : StrBuilder | StrBuilderTextTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | provenance | MaD:444 | +| StrBuilderTextTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | StrBuilderTextTest.java:148:14:155:21 | appendNull(...) : StrBuilder | provenance | MaD:445 | +| StrBuilderTextTest.java:148:14:155:21 | appendNull(...) : StrBuilder | StrBuilderTextTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | provenance | MaD:446 | +| StrBuilderTextTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | StrBuilderTextTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | provenance | MaD:447 | +| StrBuilderTextTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | StrBuilderTextTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | provenance | MaD:452 | +| StrBuilderTextTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | StrBuilderTextTest.java:148:14:159:21 | delete(...) : StrBuilder | provenance | MaD:473 | +| StrBuilderTextTest.java:148:14:159:21 | delete(...) : StrBuilder | StrBuilderTextTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | provenance | MaD:474 | +| StrBuilderTextTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | StrBuilderTextTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | provenance | MaD:475 | +| StrBuilderTextTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | StrBuilderTextTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | provenance | MaD:476 | +| StrBuilderTextTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | StrBuilderTextTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | provenance | MaD:477 | +| StrBuilderTextTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | StrBuilderTextTest.java:148:14:164:30 | insert(...) : StrBuilder | provenance | MaD:481 | +| StrBuilderTextTest.java:148:14:164:30 | insert(...) : StrBuilder | StrBuilderTextTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | provenance | MaD:485 | +| StrBuilderTextTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | StrBuilderTextTest.java:148:14:166:37 | replace(...) : StrBuilder | provenance | MaD:487 | +| StrBuilderTextTest.java:148:14:166:37 | replace(...) : StrBuilder | StrBuilderTextTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | provenance | MaD:490 | +| StrBuilderTextTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | StrBuilderTextTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | provenance | MaD:492 | +| StrBuilderTextTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | StrBuilderTextTest.java:148:14:169:18 | reverse(...) : StrBuilder | provenance | MaD:494 | +| StrBuilderTextTest.java:148:14:169:18 | reverse(...) : StrBuilder | StrBuilderTextTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | provenance | MaD:496 | +| StrBuilderTextTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | StrBuilderTextTest.java:148:14:171:23 | setLength(...) : StrBuilder | provenance | MaD:497 | +| StrBuilderTextTest.java:148:14:171:23 | setLength(...) : StrBuilder | StrBuilderTextTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | provenance | MaD:498 | +| StrBuilderTextTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | StrBuilderTextTest.java:148:14:173:28 | setNullText(...) : StrBuilder | provenance | MaD:499 | +| StrBuilderTextTest.java:148:14:173:28 | setNullText(...) : StrBuilder | StrBuilderTextTest.java:148:14:174:15 | trim(...) | provenance | MaD:506 | +| StrBuilderTextTest.java:178:9:204:15 | trim(...) [post update] : StrBuilder | StrBuilderTextTest.java:206:14:206:34 | fluentAllMethodsTest2 | provenance | MaD:506 | +| StrBuilderTextTest.java:205:17:205:23 | taint(...) : String | StrBuilderTextTest.java:178:9:204:15 | trim(...) [post update] : StrBuilder | provenance | MaD:425 | +| StrLookupTest.java:12:7:12:9 | map [post update] : HashMap [] : String | StrLookupTest.java:13:54:13:56 | map : HashMap [] : String | provenance | | +| StrLookupTest.java:12:22:12:28 | taint(...) : String | StrLookupTest.java:12:7:12:9 | map [post update] : HashMap [] : String | provenance | MaD:16 | +| StrLookupTest.java:13:34:13:57 | mapLookup(...) : StrLookup | StrLookupTest.java:14:12:14:17 | lookup : StrLookup | provenance | | +| StrLookupTest.java:13:54:13:56 | map : HashMap [] : String | StrLookupTest.java:13:34:13:57 | mapLookup(...) : StrLookup | provenance | MaD:316 | +| StrLookupTest.java:14:12:14:17 | lookup : StrLookup | StrLookupTest.java:14:12:14:31 | lookup(...) | provenance | MaD:315 | +| StrSubstitutorTest.java:16:7:16:16 | taintedMap [post update] : HashMap [] : String | StrSubstitutorTest.java:17:61:17:70 | taintedMap : HashMap [] : String | provenance | | +| StrSubstitutorTest.java:16:7:16:16 | taintedMap [post update] : HashMap [] : String | StrSubstitutorTest.java:21:47:21:56 | taintedMap : HashMap [] : String | provenance | | +| StrSubstitutorTest.java:16:7:16:16 | taintedMap [post update] : HashMap [] : String | StrSubstitutorTest.java:22:47:22:56 | taintedMap : HashMap [] : String | provenance | | +| StrSubstitutorTest.java:16:7:16:16 | taintedMap [post update] : HashMap [] : String | StrSubstitutorTest.java:23:47:23:56 | taintedMap : HashMap [] : String | provenance | | +| StrSubstitutorTest.java:16:7:16:16 | taintedMap [post update] : HashMap [] : String | StrSubstitutorTest.java:24:47:24:56 | taintedMap : HashMap [] : String | provenance | | +| StrSubstitutorTest.java:16:7:16:16 | taintedMap [post update] : HashMap [] : String | StrSubstitutorTest.java:66:44:66:53 | taintedMap : HashMap [] : String | provenance | | +| StrSubstitutorTest.java:16:7:16:16 | taintedMap [post update] : HashMap [] : String | StrSubstitutorTest.java:67:44:67:53 | taintedMap : HashMap [] : String | provenance | | +| StrSubstitutorTest.java:16:29:16:35 | taint(...) : String | StrSubstitutorTest.java:16:7:16:16 | taintedMap [post update] : HashMap [] : String | provenance | MaD:16 | +| StrSubstitutorTest.java:17:41:17:71 | mapLookup(...) : StrLookup | StrSubstitutorTest.java:20:74:20:86 | taintedLookup : StrLookup | provenance | | +| StrSubstitutorTest.java:17:41:17:71 | mapLookup(...) : StrLookup | StrSubstitutorTest.java:25:47:25:59 | taintedLookup : StrLookup | provenance | | +| StrSubstitutorTest.java:17:41:17:71 | mapLookup(...) : StrLookup | StrSubstitutorTest.java:26:47:26:59 | taintedLookup : StrLookup | provenance | | +| StrSubstitutorTest.java:17:41:17:71 | mapLookup(...) : StrLookup | StrSubstitutorTest.java:27:47:27:59 | taintedLookup : StrLookup | provenance | | +| StrSubstitutorTest.java:17:41:17:71 | mapLookup(...) : StrLookup | StrSubstitutorTest.java:28:47:28:59 | taintedLookup : StrLookup | provenance | | +| StrSubstitutorTest.java:17:41:17:71 | mapLookup(...) : StrLookup | StrSubstitutorTest.java:29:48:29:60 | taintedLookup : StrLookup | provenance | | +| StrSubstitutorTest.java:17:61:17:70 | taintedMap : HashMap [] : String | StrSubstitutorTest.java:17:41:17:71 | mapLookup(...) : StrLookup | provenance | MaD:316 | +| StrSubstitutorTest.java:20:50:20:52 | ss1 [post update] : StrSubstitutor | StrSubstitutorTest.java:20:95:20:97 | ss1 : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:20:50:20:52 | ss1 [post update] : StrSubstitutor | StrSubstitutorTest.java:49:12:49:25 | untaintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:20:50:20:52 | ss1 [post update] : StrSubstitutor | StrSubstitutorTest.java:50:12:50:25 | untaintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:20:50:20:52 | ss1 [post update] : StrSubstitutor | StrSubstitutorTest.java:51:12:51:25 | untaintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:20:50:20:52 | ss1 [post update] : StrSubstitutor | StrSubstitutorTest.java:52:12:52:25 | untaintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:20:50:20:52 | ss1 [post update] : StrSubstitutor | StrSubstitutorTest.java:53:12:53:25 | untaintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:20:50:20:52 | ss1 [post update] : StrSubstitutor | StrSubstitutorTest.java:54:12:54:25 | untaintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:20:50:20:52 | ss1 [post update] : StrSubstitutor | StrSubstitutorTest.java:55:12:55:25 | untaintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:20:50:20:52 | ss1 [post update] : StrSubstitutor | StrSubstitutorTest.java:56:12:56:25 | untaintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:20:50:20:52 | ss1 [post update] : StrSubstitutor | StrSubstitutorTest.java:57:12:57:25 | untaintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:20:50:20:52 | ss1 [post update] : StrSubstitutor | StrSubstitutorTest.java:58:12:58:25 | untaintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:20:50:20:52 | ss1 [post update] : StrSubstitutor | StrSubstitutorTest.java:59:12:59:25 | untaintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:20:50:20:52 | ss1 [post update] : StrSubstitutor | StrSubstitutorTest.java:60:12:60:25 | untaintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:20:50:20:52 | ss1 [post update] : StrSubstitutor | StrSubstitutorTest.java:61:12:61:25 | untaintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:20:74:20:86 | taintedLookup : StrLookup | StrSubstitutorTest.java:20:50:20:52 | ss1 [post update] : StrSubstitutor | provenance | MaD:343 | +| StrSubstitutorTest.java:20:95:20:97 | ss1 : StrSubstitutor | StrSubstitutorTest.java:20:95:20:114 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:21:65:21:67 | ss2 : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:33:12:33:23 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:34:12:34:23 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:35:12:35:23 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:36:12:36:23 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:37:12:37:23 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:38:12:38:23 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:39:12:39:23 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:40:12:40:23 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:41:12:41:23 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:42:12:42:23 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:43:12:43:23 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:44:12:44:23 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:45:12:45:23 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:74:50:74:61 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:75:50:75:61 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:76:59:76:70 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:77:59:77:70 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:78:56:78:67 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:79:56:79:67 | taintedSubst : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:21:47:21:56 | taintedMap : HashMap [] : String | StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | provenance | MaD:318 | +| StrSubstitutorTest.java:21:65:21:67 | ss2 : StrSubstitutor | StrSubstitutorTest.java:21:65:21:84 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:22:28:22:67 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:22:75:22:77 | ss3 : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:22:47:22:56 | taintedMap : HashMap [] : String | StrSubstitutorTest.java:22:28:22:67 | new StrSubstitutor(...) : StrSubstitutor | provenance | MaD:318 | +| StrSubstitutorTest.java:22:75:22:77 | ss3 : StrSubstitutor | StrSubstitutorTest.java:22:75:22:94 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:23:28:23:72 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:23:80:23:82 | ss4 : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:23:47:23:56 | taintedMap : HashMap [] : String | StrSubstitutorTest.java:23:28:23:72 | new StrSubstitutor(...) : StrSubstitutor | provenance | MaD:318 | +| StrSubstitutorTest.java:23:80:23:82 | ss4 : StrSubstitutor | StrSubstitutorTest.java:23:80:23:99 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:24:28:24:77 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:24:85:24:87 | ss5 : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:24:47:24:56 | taintedMap : HashMap [] : String | StrSubstitutorTest.java:24:28:24:77 | new StrSubstitutor(...) : StrSubstitutor | provenance | MaD:318 | +| StrSubstitutorTest.java:24:85:24:87 | ss5 : StrSubstitutor | StrSubstitutorTest.java:24:85:24:104 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:25:28:25:60 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:25:68:25:70 | ss6 : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:25:47:25:59 | taintedLookup : StrLookup | StrSubstitutorTest.java:25:28:25:60 | new StrSubstitutor(...) : StrSubstitutor | provenance | MaD:317 | +| StrSubstitutorTest.java:25:47:25:59 | taintedLookup : StrLookup | StrSubstitutorTest.java:25:28:25:60 | new StrSubstitutor(...) : StrSubstitutor | provenance | MaD:318 | +| StrSubstitutorTest.java:25:68:25:70 | ss6 : StrSubstitutor | StrSubstitutorTest.java:25:68:25:87 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:26:28:26:75 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:26:83:26:85 | ss7 : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:26:47:26:59 | taintedLookup : StrLookup | StrSubstitutorTest.java:26:28:26:75 | new StrSubstitutor(...) : StrSubstitutor | provenance | MaD:317 | +| StrSubstitutorTest.java:26:47:26:59 | taintedLookup : StrLookup | StrSubstitutorTest.java:26:28:26:75 | new StrSubstitutor(...) : StrSubstitutor | provenance | MaD:318 | +| StrSubstitutorTest.java:26:83:26:85 | ss7 : StrSubstitutor | StrSubstitutorTest.java:26:83:26:102 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:27:28:27:80 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:27:88:27:90 | ss8 : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:27:47:27:59 | taintedLookup : StrLookup | StrSubstitutorTest.java:27:28:27:80 | new StrSubstitutor(...) : StrSubstitutor | provenance | MaD:317 | +| StrSubstitutorTest.java:27:47:27:59 | taintedLookup : StrLookup | StrSubstitutorTest.java:27:28:27:80 | new StrSubstitutor(...) : StrSubstitutor | provenance | MaD:318 | +| StrSubstitutorTest.java:27:88:27:90 | ss8 : StrSubstitutor | StrSubstitutorTest.java:27:88:27:107 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:28:28:28:89 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:28:97:28:99 | ss9 : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:28:47:28:59 | taintedLookup : StrLookup | StrSubstitutorTest.java:28:28:28:89 | new StrSubstitutor(...) : StrSubstitutor | provenance | MaD:317 | +| StrSubstitutorTest.java:28:47:28:59 | taintedLookup : StrLookup | StrSubstitutorTest.java:28:28:28:89 | new StrSubstitutor(...) : StrSubstitutor | provenance | MaD:318 | +| StrSubstitutorTest.java:28:97:28:99 | ss9 : StrSubstitutor | StrSubstitutorTest.java:28:97:28:116 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:29:29:29:96 | new StrSubstitutor(...) : StrSubstitutor | StrSubstitutorTest.java:29:104:29:107 | ss10 : StrSubstitutor | provenance | | +| StrSubstitutorTest.java:29:48:29:60 | taintedLookup : StrLookup | StrSubstitutorTest.java:29:29:29:96 | new StrSubstitutor(...) : StrSubstitutor | provenance | MaD:317 | +| StrSubstitutorTest.java:29:48:29:60 | taintedLookup : StrLookup | StrSubstitutorTest.java:29:29:29:96 | new StrSubstitutor(...) : StrSubstitutor | provenance | MaD:318 | +| StrSubstitutorTest.java:29:104:29:107 | ss10 : StrSubstitutor | StrSubstitutorTest.java:29:104:29:124 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:33:12:33:23 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:33:12:33:48 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:34:12:34:23 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:34:12:34:40 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:35:12:35:23 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:35:12:35:46 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:36:12:36:23 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:36:12:36:54 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:37:12:37:23 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:37:12:37:60 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:38:12:38:23 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:38:12:38:54 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:39:12:39:23 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:39:12:39:60 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:40:12:40:23 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:40:12:40:56 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:41:12:41:23 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:41:12:41:62 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:42:12:42:23 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:42:12:42:59 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:43:12:43:23 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:43:12:43:65 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:44:12:44:23 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:44:12:44:58 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:45:12:45:23 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:45:12:45:64 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:49:12:49:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:49:12:49:50 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:49:35:49:49 | (...)... : String | StrSubstitutorTest.java:49:12:49:50 | replace(...) | provenance | MaD:324 | +| StrSubstitutorTest.java:49:43:49:49 | taint(...) : String | StrSubstitutorTest.java:49:35:49:49 | (...)... : String | provenance | | +| StrSubstitutorTest.java:50:12:50:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:50:12:50:42 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:50:35:50:41 | taint(...) : String | StrSubstitutorTest.java:50:12:50:42 | replace(...) | provenance | MaD:331 | +| StrSubstitutorTest.java:51:12:51:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:51:12:51:48 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:51:35:51:41 | taint(...) : String | StrSubstitutorTest.java:51:12:51:48 | replace(...) | provenance | MaD:332 | +| StrSubstitutorTest.java:52:12:52:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:52:12:52:56 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:52:35:52:41 | taint(...) : String | StrSubstitutorTest.java:52:35:52:55 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrSubstitutorTest.java:52:35:52:55 | toCharArray(...) : char[] | StrSubstitutorTest.java:52:12:52:56 | replace(...) | provenance | MaD:320 | +| StrSubstitutorTest.java:53:12:53:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:53:12:53:62 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:53:35:53:41 | taint(...) : String | StrSubstitutorTest.java:53:35:53:55 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrSubstitutorTest.java:53:35:53:55 | toCharArray(...) : char[] | StrSubstitutorTest.java:53:12:53:62 | replace(...) | provenance | MaD:321 | +| StrSubstitutorTest.java:54:12:54:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:54:12:54:56 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:54:35:54:55 | (...)... : String | StrSubstitutorTest.java:54:12:54:56 | replace(...) | provenance | MaD:322 | +| StrSubstitutorTest.java:54:49:54:55 | taint(...) : String | StrSubstitutorTest.java:54:35:54:55 | (...)... : String | provenance | | +| StrSubstitutorTest.java:55:12:55:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:55:12:55:62 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:55:35:55:55 | (...)... : String | StrSubstitutorTest.java:55:12:55:62 | replace(...) | provenance | MaD:323 | +| StrSubstitutorTest.java:55:49:55:55 | taint(...) : String | StrSubstitutorTest.java:55:35:55:55 | (...)... : String | provenance | | +| StrSubstitutorTest.java:56:12:56:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:56:12:56:58 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:56:35:56:57 | new StrBuilder(...) : StrBuilder | StrSubstitutorTest.java:56:12:56:58 | replace(...) | provenance | MaD:335 | +| StrSubstitutorTest.java:56:50:56:56 | taint(...) : String | StrSubstitutorTest.java:56:35:56:57 | new StrBuilder(...) : StrBuilder | provenance | MaD:226 | +| StrSubstitutorTest.java:57:12:57:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:57:12:57:64 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:57:35:57:57 | new StrBuilder(...) : StrBuilder | StrSubstitutorTest.java:57:12:57:64 | replace(...) | provenance | MaD:336 | +| StrSubstitutorTest.java:57:50:57:56 | taint(...) : String | StrSubstitutorTest.java:57:35:57:57 | new StrBuilder(...) : StrBuilder | provenance | MaD:226 | +| StrSubstitutorTest.java:58:12:58:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:58:12:58:61 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:58:35:58:60 | new StringBuilder(...) : StringBuilder | StrSubstitutorTest.java:58:12:58:61 | replace(...) | provenance | MaD:322 | +| StrSubstitutorTest.java:58:53:58:59 | taint(...) : String | StrSubstitutorTest.java:58:35:58:60 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| StrSubstitutorTest.java:59:12:59:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:59:12:59:67 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:59:35:59:60 | new StringBuilder(...) : StringBuilder | StrSubstitutorTest.java:59:12:59:67 | replace(...) | provenance | MaD:323 | +| StrSubstitutorTest.java:59:53:59:59 | taint(...) : String | StrSubstitutorTest.java:59:35:59:60 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| StrSubstitutorTest.java:60:12:60:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:60:12:60:60 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:60:35:60:59 | new StringBuffer(...) : StringBuffer | StrSubstitutorTest.java:60:12:60:60 | replace(...) | provenance | MaD:333 | +| StrSubstitutorTest.java:60:52:60:58 | taint(...) : String | StrSubstitutorTest.java:60:35:60:59 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| StrSubstitutorTest.java:61:12:61:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:61:12:61:66 | replace(...) | provenance | MaD:319 | +| StrSubstitutorTest.java:61:35:61:59 | new StringBuffer(...) : StringBuffer | StrSubstitutorTest.java:61:12:61:66 | replace(...) | provenance | MaD:334 | +| StrSubstitutorTest.java:61:52:61:58 | taint(...) : String | StrSubstitutorTest.java:61:35:61:59 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| StrSubstitutorTest.java:64:35:64:41 | taint(...) : String | StrSubstitutorTest.java:64:12:64:73 | replace(...) | provenance | MaD:325 | +| StrSubstitutorTest.java:65:35:65:41 | taint(...) : String | StrSubstitutorTest.java:65:12:65:83 | replace(...) | provenance | MaD:327 | +| StrSubstitutorTest.java:66:44:66:53 | taintedMap : HashMap [] : String | StrSubstitutorTest.java:66:12:66:54 | replace(...) | provenance | MaD:326 | +| StrSubstitutorTest.java:67:44:67:53 | taintedMap : HashMap [] : String | StrSubstitutorTest.java:67:12:67:64 | replace(...) | provenance | MaD:328 | +| StrSubstitutorTest.java:69:7:69:18 | taintedProps [post update] : Properties [] : String | StrSubstitutorTest.java:71:44:71:55 | taintedProps : Properties [] : String | provenance | | +| StrSubstitutorTest.java:69:31:69:37 | taint(...) : String | StrSubstitutorTest.java:69:7:69:18 | taintedProps [post update] : Properties [] : String | provenance | MaD:12 | +| StrSubstitutorTest.java:69:31:69:37 | taint(...) : String | StrSubstitutorTest.java:69:7:69:18 | taintedProps [post update] : Properties [] : String | provenance | MaD:16 | +| StrSubstitutorTest.java:70:35:70:41 | taint(...) : String | StrSubstitutorTest.java:70:12:70:60 | replace(...) | provenance | MaD:329 | +| StrSubstitutorTest.java:71:44:71:55 | taintedProps : Properties [] : String | StrSubstitutorTest.java:71:12:71:56 | replace(...) | provenance | MaD:330 | +| StrSubstitutorTest.java:74:50:74:61 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:74:73:74:83 | strBuilder1 [post update] : StrBuilder | provenance | MaD:341 | +| StrSubstitutorTest.java:74:73:74:83 | strBuilder1 [post update] : StrBuilder | StrSubstitutorTest.java:74:92:74:102 | strBuilder1 : StrBuilder | provenance | | +| StrSubstitutorTest.java:74:92:74:102 | strBuilder1 : StrBuilder | StrSubstitutorTest.java:74:92:74:113 | toString(...) | provenance | MaD:6 | +| StrSubstitutorTest.java:74:92:74:102 | strBuilder1 : StrBuilder | StrSubstitutorTest.java:74:92:74:113 | toString(...) | provenance | MaD:311 | +| StrSubstitutorTest.java:75:50:75:61 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:75:73:75:83 | strBuilder2 [post update] : StrBuilder | provenance | MaD:342 | +| StrSubstitutorTest.java:75:73:75:83 | strBuilder2 [post update] : StrBuilder | StrSubstitutorTest.java:75:98:75:108 | strBuilder2 : StrBuilder | provenance | | +| StrSubstitutorTest.java:75:98:75:108 | strBuilder2 : StrBuilder | StrSubstitutorTest.java:75:98:75:119 | toString(...) | provenance | MaD:6 | +| StrSubstitutorTest.java:75:98:75:108 | strBuilder2 : StrBuilder | StrSubstitutorTest.java:75:98:75:119 | toString(...) | provenance | MaD:311 | +| StrSubstitutorTest.java:76:59:76:70 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:76:82:76:95 | stringBuilder1 [post update] : StringBuilder | provenance | MaD:339 | +| StrSubstitutorTest.java:76:82:76:95 | stringBuilder1 [post update] : StringBuilder | StrSubstitutorTest.java:76:104:76:117 | stringBuilder1 : StringBuilder | provenance | | +| StrSubstitutorTest.java:76:104:76:117 | stringBuilder1 : StringBuilder | StrSubstitutorTest.java:76:104:76:128 | toString(...) | provenance | MaD:6 | +| StrSubstitutorTest.java:77:59:77:70 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:77:82:77:95 | stringBuilder2 [post update] : StringBuilder | provenance | MaD:340 | +| StrSubstitutorTest.java:77:82:77:95 | stringBuilder2 [post update] : StringBuilder | StrSubstitutorTest.java:77:110:77:123 | stringBuilder2 : StringBuilder | provenance | | +| StrSubstitutorTest.java:77:110:77:123 | stringBuilder2 : StringBuilder | StrSubstitutorTest.java:77:110:77:134 | toString(...) | provenance | MaD:6 | +| StrSubstitutorTest.java:78:56:78:67 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:78:79:78:91 | stringBuffer1 [post update] : StringBuffer | provenance | MaD:337 | +| StrSubstitutorTest.java:78:79:78:91 | stringBuffer1 [post update] : StringBuffer | StrSubstitutorTest.java:78:100:78:112 | stringBuffer1 : StringBuffer | provenance | | +| StrSubstitutorTest.java:78:100:78:112 | stringBuffer1 : StringBuffer | StrSubstitutorTest.java:78:100:78:123 | toString(...) | provenance | MaD:6 | +| StrSubstitutorTest.java:79:56:79:67 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:79:79:79:91 | stringBuffer2 [post update] : StringBuffer | provenance | MaD:338 | +| StrSubstitutorTest.java:79:79:79:91 | stringBuffer2 [post update] : StringBuffer | StrSubstitutorTest.java:79:106:79:118 | stringBuffer2 : StringBuffer | provenance | | +| StrSubstitutorTest.java:79:106:79:118 | stringBuffer2 : StringBuffer | StrSubstitutorTest.java:79:106:79:129 | toString(...) | provenance | MaD:6 | +| StrTokenizerTest.java:12:11:12:49 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:12:10:12:61 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:12:28:12:34 | taint(...) : String | StrTokenizerTest.java:12:28:12:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:12:28:12:48 | toCharArray(...) : char[] | StrTokenizerTest.java:12:11:12:49 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:13:11:13:54 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:13:10:13:66 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:13:28:13:34 | taint(...) : String | StrTokenizerTest.java:13:28:13:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:13:28:13:48 | toCharArray(...) : char[] | StrTokenizerTest.java:13:11:13:54 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:14:11:14:59 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:14:10:14:71 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:14:28:14:34 | taint(...) : String | StrTokenizerTest.java:14:28:14:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:14:28:14:48 | toCharArray(...) : char[] | StrTokenizerTest.java:14:11:14:59 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:15:11:15:54 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:15:10:15:66 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:15:28:15:34 | taint(...) : String | StrTokenizerTest.java:15:28:15:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:15:28:15:48 | toCharArray(...) : char[] | StrTokenizerTest.java:15:11:15:54 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:16:11:16:67 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:16:10:16:79 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:16:28:16:34 | taint(...) : String | StrTokenizerTest.java:16:28:16:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:16:28:16:48 | toCharArray(...) : char[] | StrTokenizerTest.java:16:11:16:67 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:17:11:17:85 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:17:10:17:97 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:17:28:17:34 | taint(...) : String | StrTokenizerTest.java:17:28:17:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:17:28:17:48 | toCharArray(...) : char[] | StrTokenizerTest.java:17:11:17:85 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:18:11:18:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:18:10:18:47 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:18:28:18:34 | taint(...) : String | StrTokenizerTest.java:18:11:18:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:19:11:19:40 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:19:10:19:52 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:19:28:19:34 | taint(...) : String | StrTokenizerTest.java:19:11:19:40 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:20:11:20:45 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:20:10:20:57 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:20:28:20:34 | taint(...) : String | StrTokenizerTest.java:20:11:20:45 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:21:11:21:40 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:21:10:21:52 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:21:28:21:34 | taint(...) : String | StrTokenizerTest.java:21:11:21:40 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:22:11:22:53 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:22:10:22:65 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:22:28:22:34 | taint(...) : String | StrTokenizerTest.java:22:11:22:53 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:23:11:23:71 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:23:10:23:83 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:23:28:23:34 | taint(...) : String | StrTokenizerTest.java:23:11:23:71 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:26:10:26:59 | getCSVInstance(...) : StrTokenizer | StrTokenizerTest.java:26:10:26:70 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:26:38:26:44 | taint(...) : String | StrTokenizerTest.java:26:38:26:58 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:26:38:26:58 | toCharArray(...) : char[] | StrTokenizerTest.java:26:10:26:59 | getCSVInstance(...) : StrTokenizer | provenance | MaD:346 | +| StrTokenizerTest.java:27:10:27:45 | getCSVInstance(...) : StrTokenizer | StrTokenizerTest.java:27:10:27:56 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:27:38:27:44 | taint(...) : String | StrTokenizerTest.java:27:10:27:45 | getCSVInstance(...) : StrTokenizer | provenance | MaD:346 | +| StrTokenizerTest.java:28:10:28:59 | getTSVInstance(...) : StrTokenizer | StrTokenizerTest.java:28:10:28:70 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:28:38:28:44 | taint(...) : String | StrTokenizerTest.java:28:38:28:58 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:28:38:28:58 | toCharArray(...) : char[] | StrTokenizerTest.java:28:10:28:59 | getTSVInstance(...) : StrTokenizer | provenance | MaD:348 | +| StrTokenizerTest.java:29:10:29:45 | getTSVInstance(...) : StrTokenizer | StrTokenizerTest.java:29:10:29:56 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:29:38:29:44 | taint(...) : String | StrTokenizerTest.java:29:10:29:45 | getTSVInstance(...) : StrTokenizer | provenance | MaD:348 | +| StrTokenizerTest.java:32:11:32:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:32:10:32:44 | clone(...) | provenance | CloneStep | +| StrTokenizerTest.java:32:11:32:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:32:10:32:44 | clone(...) | provenance | MaD:345 | +| StrTokenizerTest.java:32:28:32:34 | taint(...) : String | StrTokenizerTest.java:32:11:32:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:33:11:33:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:33:10:33:49 | getContent(...) | provenance | MaD:347 | +| StrTokenizerTest.java:33:28:33:34 | taint(...) : String | StrTokenizerTest.java:33:11:33:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:34:11:34:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:34:10:34:52 | getTokenArray(...) | provenance | MaD:349 | +| StrTokenizerTest.java:34:28:34:34 | taint(...) : String | StrTokenizerTest.java:34:11:34:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:35:11:35:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:35:10:35:51 | getTokenList(...) | provenance | MaD:350 | +| StrTokenizerTest.java:35:28:35:34 | taint(...) : String | StrTokenizerTest.java:35:11:35:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:36:11:36:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:36:10:36:43 | next(...) | provenance | MaD:13 | +| StrTokenizerTest.java:36:11:36:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:36:10:36:43 | next(...) | provenance | MaD:351 | +| StrTokenizerTest.java:36:28:36:34 | taint(...) : String | StrTokenizerTest.java:36:11:36:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:37:11:37:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:37:10:37:48 | nextToken(...) | provenance | MaD:352 | +| StrTokenizerTest.java:37:28:37:34 | taint(...) : String | StrTokenizerTest.java:37:11:37:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:38:11:38:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:38:10:38:47 | previous(...) | provenance | MaD:14 | +| StrTokenizerTest.java:38:11:38:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:38:10:38:47 | previous(...) | provenance | MaD:353 | +| StrTokenizerTest.java:38:28:38:34 | taint(...) : String | StrTokenizerTest.java:38:11:38:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:39:11:39:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:39:10:39:52 | previousToken(...) | provenance | MaD:354 | +| StrTokenizerTest.java:39:28:39:34 | taint(...) : String | StrTokenizerTest.java:39:11:39:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | +| StrTokenizerTest.java:42:10:42:58 | reset(...) : StrTokenizer | StrTokenizerTest.java:42:10:42:69 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:42:37:42:43 | taint(...) : String | StrTokenizerTest.java:42:37:42:57 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:42:37:42:57 | toCharArray(...) : char[] | StrTokenizerTest.java:42:10:42:58 | reset(...) : StrTokenizer | provenance | MaD:355 | +| StrTokenizerTest.java:43:10:43:44 | reset(...) : StrTokenizer | StrTokenizerTest.java:43:10:43:55 | toString(...) | provenance | MaD:356 | +| StrTokenizerTest.java:43:37:43:43 | taint(...) : String | StrTokenizerTest.java:43:10:43:44 | reset(...) : StrTokenizer | provenance | MaD:355 | +| StrTokenizerTextTest.java:12:11:12:49 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:12:10:12:61 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:12:28:12:34 | taint(...) : String | StrTokenizerTextTest.java:12:28:12:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:12:28:12:48 | toCharArray(...) : char[] | StrTokenizerTextTest.java:12:11:12:49 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:13:11:13:54 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:13:10:13:66 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:13:28:13:34 | taint(...) : String | StrTokenizerTextTest.java:13:28:13:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:13:28:13:48 | toCharArray(...) : char[] | StrTokenizerTextTest.java:13:11:13:54 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:14:11:14:59 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:14:10:14:71 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:14:28:14:34 | taint(...) : String | StrTokenizerTextTest.java:14:28:14:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:14:28:14:48 | toCharArray(...) : char[] | StrTokenizerTextTest.java:14:11:14:59 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:15:11:15:54 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:15:10:15:66 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:15:28:15:34 | taint(...) : String | StrTokenizerTextTest.java:15:28:15:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:15:28:15:48 | toCharArray(...) : char[] | StrTokenizerTextTest.java:15:11:15:54 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:16:11:16:67 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:16:10:16:79 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:16:28:16:34 | taint(...) : String | StrTokenizerTextTest.java:16:28:16:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:16:28:16:48 | toCharArray(...) : char[] | StrTokenizerTextTest.java:16:11:16:67 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:17:11:17:85 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:17:10:17:97 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:17:28:17:34 | taint(...) : String | StrTokenizerTextTest.java:17:28:17:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:17:28:17:48 | toCharArray(...) : char[] | StrTokenizerTextTest.java:17:11:17:85 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:18:11:18:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:18:10:18:47 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:18:28:18:34 | taint(...) : String | StrTokenizerTextTest.java:18:11:18:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:19:11:19:40 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:19:10:19:52 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:19:28:19:34 | taint(...) : String | StrTokenizerTextTest.java:19:11:19:40 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:20:11:20:45 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:20:10:20:57 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:20:28:20:34 | taint(...) : String | StrTokenizerTextTest.java:20:11:20:45 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:21:11:21:40 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:21:10:21:52 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:21:28:21:34 | taint(...) : String | StrTokenizerTextTest.java:21:11:21:40 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:22:11:22:53 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:22:10:22:65 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:22:28:22:34 | taint(...) : String | StrTokenizerTextTest.java:22:11:22:53 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:23:11:23:71 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:23:10:23:83 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:23:28:23:34 | taint(...) : String | StrTokenizerTextTest.java:23:11:23:71 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:26:10:26:59 | getCSVInstance(...) : StrTokenizer | StrTokenizerTextTest.java:26:10:26:70 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:26:38:26:44 | taint(...) : String | StrTokenizerTextTest.java:26:38:26:58 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:26:38:26:58 | toCharArray(...) : char[] | StrTokenizerTextTest.java:26:10:26:59 | getCSVInstance(...) : StrTokenizer | provenance | MaD:509 | +| StrTokenizerTextTest.java:27:10:27:45 | getCSVInstance(...) : StrTokenizer | StrTokenizerTextTest.java:27:10:27:56 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:27:38:27:44 | taint(...) : String | StrTokenizerTextTest.java:27:10:27:45 | getCSVInstance(...) : StrTokenizer | provenance | MaD:509 | +| StrTokenizerTextTest.java:28:10:28:59 | getTSVInstance(...) : StrTokenizer | StrTokenizerTextTest.java:28:10:28:70 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:28:38:28:44 | taint(...) : String | StrTokenizerTextTest.java:28:38:28:58 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:28:38:28:58 | toCharArray(...) : char[] | StrTokenizerTextTest.java:28:10:28:59 | getTSVInstance(...) : StrTokenizer | provenance | MaD:511 | +| StrTokenizerTextTest.java:29:10:29:45 | getTSVInstance(...) : StrTokenizer | StrTokenizerTextTest.java:29:10:29:56 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:29:38:29:44 | taint(...) : String | StrTokenizerTextTest.java:29:10:29:45 | getTSVInstance(...) : StrTokenizer | provenance | MaD:511 | +| StrTokenizerTextTest.java:32:11:32:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:32:10:32:44 | clone(...) | provenance | CloneStep | +| StrTokenizerTextTest.java:32:11:32:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:32:10:32:44 | clone(...) | provenance | MaD:508 | +| StrTokenizerTextTest.java:32:28:32:34 | taint(...) : String | StrTokenizerTextTest.java:32:11:32:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:33:11:33:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:33:10:33:49 | getContent(...) | provenance | MaD:510 | +| StrTokenizerTextTest.java:33:28:33:34 | taint(...) : String | StrTokenizerTextTest.java:33:11:33:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:34:11:34:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:34:10:34:52 | getTokenArray(...) | provenance | MaD:512 | +| StrTokenizerTextTest.java:34:28:34:34 | taint(...) : String | StrTokenizerTextTest.java:34:11:34:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:35:11:35:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:35:10:35:51 | getTokenList(...) | provenance | MaD:513 | +| StrTokenizerTextTest.java:35:28:35:34 | taint(...) : String | StrTokenizerTextTest.java:35:11:35:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:36:11:36:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:36:10:36:43 | next(...) | provenance | MaD:13 | +| StrTokenizerTextTest.java:36:11:36:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:36:10:36:43 | next(...) | provenance | MaD:514 | +| StrTokenizerTextTest.java:36:28:36:34 | taint(...) : String | StrTokenizerTextTest.java:36:11:36:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:37:11:37:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:37:10:37:48 | nextToken(...) | provenance | MaD:515 | +| StrTokenizerTextTest.java:37:28:37:34 | taint(...) : String | StrTokenizerTextTest.java:37:11:37:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:38:11:38:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:38:10:38:47 | previous(...) | provenance | MaD:14 | +| StrTokenizerTextTest.java:38:11:38:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:38:10:38:47 | previous(...) | provenance | MaD:516 | +| StrTokenizerTextTest.java:38:28:38:34 | taint(...) : String | StrTokenizerTextTest.java:38:11:38:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:39:11:39:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:39:10:39:52 | previousToken(...) | provenance | MaD:517 | +| StrTokenizerTextTest.java:39:28:39:34 | taint(...) : String | StrTokenizerTextTest.java:39:11:39:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | +| StrTokenizerTextTest.java:42:10:42:58 | reset(...) : StrTokenizer | StrTokenizerTextTest.java:42:10:42:69 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:42:37:42:43 | taint(...) : String | StrTokenizerTextTest.java:42:37:42:57 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:42:37:42:57 | toCharArray(...) : char[] | StrTokenizerTextTest.java:42:10:42:58 | reset(...) : StrTokenizer | provenance | MaD:518 | +| StrTokenizerTextTest.java:43:10:43:44 | reset(...) : StrTokenizer | StrTokenizerTextTest.java:43:10:43:55 | toString(...) | provenance | MaD:519 | +| StrTokenizerTextTest.java:43:37:43:43 | taint(...) : String | StrTokenizerTextTest.java:43:10:43:44 | reset(...) : StrTokenizer | provenance | MaD:518 | +| StringEscapeUtilsTest.java:9:39:9:45 | taint(...) : String | StringEscapeUtilsTest.java:9:10:9:46 | escapeJson(...) | provenance | MaD:79 | +| StringLookupTextTest.java:13:7:13:9 | map [post update] : HashMap [] : String | StringLookupTextTest.java:14:74:14:76 | map : HashMap [] : String | provenance | | +| StringLookupTextTest.java:13:22:13:28 | taint(...) : String | StringLookupTextTest.java:13:7:13:9 | map [post update] : HashMap [] : String | provenance | MaD:16 | +| StringLookupTextTest.java:14:29:14:77 | mapStringLookup(...) : StringLookup | StringLookupTextTest.java:15:12:15:17 | lookup : StringLookup | provenance | | +| StringLookupTextTest.java:14:74:14:76 | map : HashMap [] : String | StringLookupTextTest.java:14:29:14:77 | mapStringLookup(...) : StringLookup | provenance | MaD:417 | +| StringLookupTextTest.java:15:12:15:17 | lookup : StringLookup | StringLookupTextTest.java:15:12:15:31 | lookup(...) | provenance | MaD:416 | +| StringSubstitutorTextTest.java:17:7:17:16 | taintedMap [post update] : HashMap [] : String | StringSubstitutorTextTest.java:18:81:18:90 | taintedMap : HashMap [] : String | provenance | | +| StringSubstitutorTextTest.java:17:7:17:16 | taintedMap [post update] : HashMap [] : String | StringSubstitutorTextTest.java:22:53:22:62 | taintedMap : HashMap [] : String | provenance | | +| StringSubstitutorTextTest.java:17:7:17:16 | taintedMap [post update] : HashMap [] : String | StringSubstitutorTextTest.java:23:53:23:62 | taintedMap : HashMap [] : String | provenance | | +| StringSubstitutorTextTest.java:17:7:17:16 | taintedMap [post update] : HashMap [] : String | StringSubstitutorTextTest.java:24:53:24:62 | taintedMap : HashMap [] : String | provenance | | +| StringSubstitutorTextTest.java:17:7:17:16 | taintedMap [post update] : HashMap [] : String | StringSubstitutorTextTest.java:25:53:25:62 | taintedMap : HashMap [] : String | provenance | | +| StringSubstitutorTextTest.java:17:7:17:16 | taintedMap [post update] : HashMap [] : String | StringSubstitutorTextTest.java:67:47:67:56 | taintedMap : HashMap [] : String | provenance | | +| StringSubstitutorTextTest.java:17:7:17:16 | taintedMap [post update] : HashMap [] : String | StringSubstitutorTextTest.java:68:47:68:56 | taintedMap : HashMap [] : String | provenance | | +| StringSubstitutorTextTest.java:17:29:17:35 | taint(...) : String | StringSubstitutorTextTest.java:17:7:17:16 | taintedMap [post update] : HashMap [] : String | provenance | MaD:16 | +| StringSubstitutorTextTest.java:18:36:18:91 | mapStringLookup(...) : StringLookup | StringSubstitutorTextTest.java:21:80:21:92 | taintedLookup : StringLookup | provenance | | +| StringSubstitutorTextTest.java:18:36:18:91 | mapStringLookup(...) : StringLookup | StringSubstitutorTextTest.java:26:53:26:65 | taintedLookup : StringLookup | provenance | | +| StringSubstitutorTextTest.java:18:36:18:91 | mapStringLookup(...) : StringLookup | StringSubstitutorTextTest.java:27:53:27:65 | taintedLookup : StringLookup | provenance | | +| StringSubstitutorTextTest.java:18:36:18:91 | mapStringLookup(...) : StringLookup | StringSubstitutorTextTest.java:28:53:28:65 | taintedLookup : StringLookup | provenance | | +| StringSubstitutorTextTest.java:18:36:18:91 | mapStringLookup(...) : StringLookup | StringSubstitutorTextTest.java:29:53:29:65 | taintedLookup : StringLookup | provenance | | +| StringSubstitutorTextTest.java:18:36:18:91 | mapStringLookup(...) : StringLookup | StringSubstitutorTextTest.java:30:54:30:66 | taintedLookup : StringLookup | provenance | | +| StringSubstitutorTextTest.java:18:81:18:90 | taintedMap : HashMap [] : String | StringSubstitutorTextTest.java:18:36:18:91 | mapStringLookup(...) : StringLookup | provenance | MaD:417 | +| StringSubstitutorTextTest.java:21:56:21:58 | ss1 [post update] : StringSubstitutor | StringSubstitutorTextTest.java:21:101:21:103 | ss1 : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:21:56:21:58 | ss1 [post update] : StringSubstitutor | StringSubstitutorTextTest.java:50:12:50:25 | untaintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:21:56:21:58 | ss1 [post update] : StringSubstitutor | StringSubstitutorTextTest.java:51:12:51:25 | untaintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:21:56:21:58 | ss1 [post update] : StringSubstitutor | StringSubstitutorTextTest.java:52:12:52:25 | untaintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:21:56:21:58 | ss1 [post update] : StringSubstitutor | StringSubstitutorTextTest.java:53:12:53:25 | untaintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:21:56:21:58 | ss1 [post update] : StringSubstitutor | StringSubstitutorTextTest.java:54:12:54:25 | untaintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:21:56:21:58 | ss1 [post update] : StringSubstitutor | StringSubstitutorTextTest.java:55:12:55:25 | untaintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:21:56:21:58 | ss1 [post update] : StringSubstitutor | StringSubstitutorTextTest.java:56:12:56:25 | untaintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:21:56:21:58 | ss1 [post update] : StringSubstitutor | StringSubstitutorTextTest.java:57:12:57:25 | untaintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:21:56:21:58 | ss1 [post update] : StringSubstitutor | StringSubstitutorTextTest.java:58:12:58:25 | untaintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:21:56:21:58 | ss1 [post update] : StringSubstitutor | StringSubstitutorTextTest.java:59:12:59:25 | untaintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:21:56:21:58 | ss1 [post update] : StringSubstitutor | StringSubstitutorTextTest.java:60:12:60:25 | untaintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:21:56:21:58 | ss1 [post update] : StringSubstitutor | StringSubstitutorTextTest.java:61:12:61:25 | untaintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:21:56:21:58 | ss1 [post update] : StringSubstitutor | StringSubstitutorTextTest.java:62:12:62:25 | untaintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:21:80:21:92 | taintedLookup : StringLookup | StringSubstitutorTextTest.java:21:56:21:58 | ss1 [post update] : StringSubstitutor | provenance | MaD:546 | +| StringSubstitutorTextTest.java:21:101:21:103 | ss1 : StringSubstitutor | StringSubstitutorTextTest.java:21:101:21:120 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:22:71:22:73 | ss2 : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:34:12:34:23 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:35:12:35:23 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:36:12:36:23 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:37:12:37:23 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:38:12:38:23 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:39:12:39:23 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:40:12:40:23 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:41:12:41:23 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:42:12:42:23 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:43:12:43:23 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:44:12:44:23 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:45:12:45:23 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:46:12:46:23 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:75:64:75:75 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:76:64:76:75 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:77:59:77:70 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:78:59:78:70 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:79:56:79:67 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:80:56:80:67 | taintedSubst : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:22:53:22:62 | taintedMap : HashMap [] : String | StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | provenance | MaD:521 | +| StringSubstitutorTextTest.java:22:71:22:73 | ss2 : StringSubstitutor | StringSubstitutorTextTest.java:22:71:22:90 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:23:31:23:73 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:23:81:23:83 | ss3 : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:23:53:23:62 | taintedMap : HashMap [] : String | StringSubstitutorTextTest.java:23:31:23:73 | new StringSubstitutor(...) : StringSubstitutor | provenance | MaD:521 | +| StringSubstitutorTextTest.java:23:81:23:83 | ss3 : StringSubstitutor | StringSubstitutorTextTest.java:23:81:23:100 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:24:31:24:78 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:24:86:24:88 | ss4 : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:24:53:24:62 | taintedMap : HashMap [] : String | StringSubstitutorTextTest.java:24:31:24:78 | new StringSubstitutor(...) : StringSubstitutor | provenance | MaD:521 | +| StringSubstitutorTextTest.java:24:86:24:88 | ss4 : StringSubstitutor | StringSubstitutorTextTest.java:24:86:24:105 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:25:31:25:83 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:25:91:25:93 | ss5 : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:25:53:25:62 | taintedMap : HashMap [] : String | StringSubstitutorTextTest.java:25:31:25:83 | new StringSubstitutor(...) : StringSubstitutor | provenance | MaD:521 | +| StringSubstitutorTextTest.java:25:91:25:93 | ss5 : StringSubstitutor | StringSubstitutorTextTest.java:25:91:25:110 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:26:31:26:66 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:26:74:26:76 | ss6 : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:26:53:26:65 | taintedLookup : StringLookup | StringSubstitutorTextTest.java:26:31:26:66 | new StringSubstitutor(...) : StringSubstitutor | provenance | MaD:520 | +| StringSubstitutorTextTest.java:26:53:26:65 | taintedLookup : StringLookup | StringSubstitutorTextTest.java:26:31:26:66 | new StringSubstitutor(...) : StringSubstitutor | provenance | MaD:521 | +| StringSubstitutorTextTest.java:26:74:26:76 | ss6 : StringSubstitutor | StringSubstitutorTextTest.java:26:74:26:93 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:27:31:27:81 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:27:89:27:91 | ss7 : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:27:53:27:65 | taintedLookup : StringLookup | StringSubstitutorTextTest.java:27:31:27:81 | new StringSubstitutor(...) : StringSubstitutor | provenance | MaD:520 | +| StringSubstitutorTextTest.java:27:53:27:65 | taintedLookup : StringLookup | StringSubstitutorTextTest.java:27:31:27:81 | new StringSubstitutor(...) : StringSubstitutor | provenance | MaD:521 | +| StringSubstitutorTextTest.java:27:89:27:91 | ss7 : StringSubstitutor | StringSubstitutorTextTest.java:27:89:27:108 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:28:31:28:86 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:28:94:28:96 | ss8 : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:28:53:28:65 | taintedLookup : StringLookup | StringSubstitutorTextTest.java:28:31:28:86 | new StringSubstitutor(...) : StringSubstitutor | provenance | MaD:520 | +| StringSubstitutorTextTest.java:28:53:28:65 | taintedLookup : StringLookup | StringSubstitutorTextTest.java:28:31:28:86 | new StringSubstitutor(...) : StringSubstitutor | provenance | MaD:521 | +| StringSubstitutorTextTest.java:28:94:28:96 | ss8 : StringSubstitutor | StringSubstitutorTextTest.java:28:94:28:113 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:29:31:29:98 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:29:106:29:108 | ss9 : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:29:53:29:65 | taintedLookup : StringLookup | StringSubstitutorTextTest.java:29:31:29:98 | new StringSubstitutor(...) : StringSubstitutor | provenance | MaD:520 | +| StringSubstitutorTextTest.java:29:53:29:65 | taintedLookup : StringLookup | StringSubstitutorTextTest.java:29:31:29:98 | new StringSubstitutor(...) : StringSubstitutor | provenance | MaD:521 | +| StringSubstitutorTextTest.java:29:106:29:108 | ss9 : StringSubstitutor | StringSubstitutorTextTest.java:29:106:29:125 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:30:32:30:105 | new StringSubstitutor(...) : StringSubstitutor | StringSubstitutorTextTest.java:30:113:30:116 | ss10 : StringSubstitutor | provenance | | +| StringSubstitutorTextTest.java:30:54:30:66 | taintedLookup : StringLookup | StringSubstitutorTextTest.java:30:32:30:105 | new StringSubstitutor(...) : StringSubstitutor | provenance | MaD:520 | +| StringSubstitutorTextTest.java:30:54:30:66 | taintedLookup : StringLookup | StringSubstitutorTextTest.java:30:32:30:105 | new StringSubstitutor(...) : StringSubstitutor | provenance | MaD:521 | +| StringSubstitutorTextTest.java:30:113:30:116 | ss10 : StringSubstitutor | StringSubstitutorTextTest.java:30:113:30:133 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:34:12:34:23 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:34:12:34:48 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:35:12:35:23 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:35:12:35:40 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:36:12:36:23 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:36:12:36:46 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:37:12:37:23 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:37:12:37:54 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:38:12:38:23 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:38:12:38:60 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:39:12:39:23 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:39:12:39:54 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:40:12:40:23 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:40:12:40:60 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:41:12:41:23 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:41:12:41:63 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:42:12:42:23 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:42:12:42:69 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:43:12:43:23 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:43:12:43:59 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:44:12:44:23 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:44:12:44:65 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:45:12:45:23 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:45:12:45:58 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:46:12:46:23 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:46:12:46:64 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:50:12:50:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:50:12:50:50 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:50:35:50:49 | (...)... : String | StringSubstitutorTextTest.java:50:12:50:50 | replace(...) | provenance | MaD:527 | +| StringSubstitutorTextTest.java:50:43:50:49 | taint(...) : String | StringSubstitutorTextTest.java:50:35:50:49 | (...)... : String | provenance | | +| StringSubstitutorTextTest.java:51:12:51:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:51:12:51:42 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:51:35:51:41 | taint(...) : String | StringSubstitutorTextTest.java:51:12:51:42 | replace(...) | provenance | MaD:534 | +| StringSubstitutorTextTest.java:52:12:52:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:52:12:52:48 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:52:35:52:41 | taint(...) : String | StringSubstitutorTextTest.java:52:12:52:48 | replace(...) | provenance | MaD:535 | +| StringSubstitutorTextTest.java:53:12:53:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:53:12:53:56 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:53:35:53:41 | taint(...) : String | StringSubstitutorTextTest.java:53:35:53:55 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringSubstitutorTextTest.java:53:35:53:55 | toCharArray(...) : char[] | StringSubstitutorTextTest.java:53:12:53:56 | replace(...) | provenance | MaD:523 | +| StringSubstitutorTextTest.java:54:12:54:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:54:12:54:62 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:54:35:54:41 | taint(...) : String | StringSubstitutorTextTest.java:54:35:54:55 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringSubstitutorTextTest.java:54:35:54:55 | toCharArray(...) : char[] | StringSubstitutorTextTest.java:54:12:54:62 | replace(...) | provenance | MaD:524 | +| StringSubstitutorTextTest.java:55:12:55:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:55:12:55:56 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:55:35:55:55 | (...)... : String | StringSubstitutorTextTest.java:55:12:55:56 | replace(...) | provenance | MaD:525 | +| StringSubstitutorTextTest.java:55:49:55:55 | taint(...) : String | StringSubstitutorTextTest.java:55:35:55:55 | (...)... : String | provenance | | +| StringSubstitutorTextTest.java:56:12:56:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:56:12:56:62 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:56:35:56:55 | (...)... : String | StringSubstitutorTextTest.java:56:12:56:62 | replace(...) | provenance | MaD:526 | +| StringSubstitutorTextTest.java:56:49:56:55 | taint(...) : String | StringSubstitutorTextTest.java:56:35:56:55 | (...)... : String | provenance | | +| StringSubstitutorTextTest.java:57:12:57:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:57:12:57:65 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:57:35:57:64 | new TextStringBuilder(...) : TextStringBuilder | StringSubstitutorTextTest.java:57:12:57:65 | replace(...) | provenance | MaD:538 | +| StringSubstitutorTextTest.java:57:57:57:63 | taint(...) : String | StringSubstitutorTextTest.java:57:35:57:64 | new TextStringBuilder(...) : TextStringBuilder | provenance | MaD:561 | +| StringSubstitutorTextTest.java:58:12:58:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:58:12:58:71 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:58:35:58:64 | new TextStringBuilder(...) : TextStringBuilder | StringSubstitutorTextTest.java:58:12:58:71 | replace(...) | provenance | MaD:539 | +| StringSubstitutorTextTest.java:58:57:58:63 | taint(...) : String | StringSubstitutorTextTest.java:58:35:58:64 | new TextStringBuilder(...) : TextStringBuilder | provenance | MaD:561 | +| StringSubstitutorTextTest.java:59:12:59:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:59:12:59:61 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:59:35:59:60 | new StringBuilder(...) : StringBuilder | StringSubstitutorTextTest.java:59:12:59:61 | replace(...) | provenance | MaD:525 | +| StringSubstitutorTextTest.java:59:53:59:59 | taint(...) : String | StringSubstitutorTextTest.java:59:35:59:60 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| StringSubstitutorTextTest.java:60:12:60:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:60:12:60:67 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:60:35:60:60 | new StringBuilder(...) : StringBuilder | StringSubstitutorTextTest.java:60:12:60:67 | replace(...) | provenance | MaD:526 | +| StringSubstitutorTextTest.java:60:53:60:59 | taint(...) : String | StringSubstitutorTextTest.java:60:35:60:60 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| StringSubstitutorTextTest.java:61:12:61:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:61:12:61:60 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:61:35:61:59 | new StringBuffer(...) : StringBuffer | StringSubstitutorTextTest.java:61:12:61:60 | replace(...) | provenance | MaD:536 | +| StringSubstitutorTextTest.java:61:52:61:58 | taint(...) : String | StringSubstitutorTextTest.java:61:35:61:59 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| StringSubstitutorTextTest.java:62:12:62:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:62:12:62:66 | replace(...) | provenance | MaD:522 | +| StringSubstitutorTextTest.java:62:35:62:59 | new StringBuffer(...) : StringBuffer | StringSubstitutorTextTest.java:62:12:62:66 | replace(...) | provenance | MaD:537 | +| StringSubstitutorTextTest.java:62:52:62:58 | taint(...) : String | StringSubstitutorTextTest.java:62:35:62:59 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| StringSubstitutorTextTest.java:65:38:65:44 | taint(...) : String | StringSubstitutorTextTest.java:65:12:65:76 | replace(...) | provenance | MaD:528 | +| StringSubstitutorTextTest.java:66:38:66:44 | taint(...) : String | StringSubstitutorTextTest.java:66:12:66:86 | replace(...) | provenance | MaD:530 | +| StringSubstitutorTextTest.java:67:47:67:56 | taintedMap : HashMap [] : String | StringSubstitutorTextTest.java:67:12:67:57 | replace(...) | provenance | MaD:529 | +| StringSubstitutorTextTest.java:68:47:68:56 | taintedMap : HashMap [] : String | StringSubstitutorTextTest.java:68:12:68:67 | replace(...) | provenance | MaD:531 | +| StringSubstitutorTextTest.java:70:7:70:18 | taintedProps [post update] : Properties [] : String | StringSubstitutorTextTest.java:72:47:72:58 | taintedProps : Properties [] : String | provenance | | +| StringSubstitutorTextTest.java:70:31:70:37 | taint(...) : String | StringSubstitutorTextTest.java:70:7:70:18 | taintedProps [post update] : Properties [] : String | provenance | MaD:12 | +| StringSubstitutorTextTest.java:70:31:70:37 | taint(...) : String | StringSubstitutorTextTest.java:70:7:70:18 | taintedProps [post update] : Properties [] : String | provenance | MaD:16 | +| StringSubstitutorTextTest.java:71:38:71:44 | taint(...) : String | StringSubstitutorTextTest.java:71:12:71:63 | replace(...) | provenance | MaD:532 | +| StringSubstitutorTextTest.java:72:47:72:58 | taintedProps : Properties [] : String | StringSubstitutorTextTest.java:72:12:72:59 | replace(...) | provenance | MaD:533 | +| StringSubstitutorTextTest.java:75:64:75:75 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:75:87:75:97 | strBuilder1 [post update] : TextStringBuilder | provenance | MaD:544 | +| StringSubstitutorTextTest.java:75:87:75:97 | strBuilder1 [post update] : TextStringBuilder | StringSubstitutorTextTest.java:75:106:75:116 | strBuilder1 : TextStringBuilder | provenance | | +| StringSubstitutorTextTest.java:75:106:75:116 | strBuilder1 : TextStringBuilder | StringSubstitutorTextTest.java:75:106:75:127 | toString(...) | provenance | MaD:6 | +| StringSubstitutorTextTest.java:75:106:75:116 | strBuilder1 : TextStringBuilder | StringSubstitutorTextTest.java:75:106:75:127 | toString(...) | provenance | MaD:646 | +| StringSubstitutorTextTest.java:76:64:76:75 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:76:87:76:97 | strBuilder2 [post update] : TextStringBuilder | provenance | MaD:545 | +| StringSubstitutorTextTest.java:76:87:76:97 | strBuilder2 [post update] : TextStringBuilder | StringSubstitutorTextTest.java:76:112:76:122 | strBuilder2 : TextStringBuilder | provenance | | +| StringSubstitutorTextTest.java:76:112:76:122 | strBuilder2 : TextStringBuilder | StringSubstitutorTextTest.java:76:112:76:133 | toString(...) | provenance | MaD:6 | +| StringSubstitutorTextTest.java:76:112:76:122 | strBuilder2 : TextStringBuilder | StringSubstitutorTextTest.java:76:112:76:133 | toString(...) | provenance | MaD:646 | +| StringSubstitutorTextTest.java:77:59:77:70 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:77:82:77:95 | stringBuilder1 [post update] : StringBuilder | provenance | MaD:542 | +| StringSubstitutorTextTest.java:77:82:77:95 | stringBuilder1 [post update] : StringBuilder | StringSubstitutorTextTest.java:77:104:77:117 | stringBuilder1 : StringBuilder | provenance | | +| StringSubstitutorTextTest.java:77:104:77:117 | stringBuilder1 : StringBuilder | StringSubstitutorTextTest.java:77:104:77:128 | toString(...) | provenance | MaD:6 | +| StringSubstitutorTextTest.java:78:59:78:70 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:78:82:78:95 | stringBuilder2 [post update] : StringBuilder | provenance | MaD:543 | +| StringSubstitutorTextTest.java:78:82:78:95 | stringBuilder2 [post update] : StringBuilder | StringSubstitutorTextTest.java:78:110:78:123 | stringBuilder2 : StringBuilder | provenance | | +| StringSubstitutorTextTest.java:78:110:78:123 | stringBuilder2 : StringBuilder | StringSubstitutorTextTest.java:78:110:78:134 | toString(...) | provenance | MaD:6 | +| StringSubstitutorTextTest.java:79:56:79:67 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:79:79:79:91 | stringBuffer1 [post update] : StringBuffer | provenance | MaD:540 | +| StringSubstitutorTextTest.java:79:79:79:91 | stringBuffer1 [post update] : StringBuffer | StringSubstitutorTextTest.java:79:100:79:112 | stringBuffer1 : StringBuffer | provenance | | +| StringSubstitutorTextTest.java:79:100:79:112 | stringBuffer1 : StringBuffer | StringSubstitutorTextTest.java:79:100:79:123 | toString(...) | provenance | MaD:6 | +| StringSubstitutorTextTest.java:80:56:80:67 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:80:79:80:91 | stringBuffer2 [post update] : StringBuffer | provenance | MaD:541 | +| StringSubstitutorTextTest.java:80:79:80:91 | stringBuffer2 [post update] : StringBuffer | StringSubstitutorTextTest.java:80:106:80:118 | stringBuffer2 : StringBuffer | provenance | | +| StringSubstitutorTextTest.java:80:106:80:118 | stringBuffer2 : StringBuffer | StringSubstitutorTextTest.java:80:106:80:129 | toString(...) | provenance | MaD:6 | +| StringTokenizerTest.java:12:11:12:52 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:12:10:12:64 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:12:31:12:37 | taint(...) : String | StringTokenizerTest.java:12:31:12:51 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:12:31:12:51 | toCharArray(...) : char[] | StringTokenizerTest.java:12:11:12:52 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:13:11:13:57 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:13:10:13:69 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:13:31:13:37 | taint(...) : String | StringTokenizerTest.java:13:31:13:51 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:13:31:13:51 | toCharArray(...) : char[] | StringTokenizerTest.java:13:11:13:57 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:14:11:14:62 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:14:10:14:74 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:14:31:14:37 | taint(...) : String | StringTokenizerTest.java:14:31:14:51 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:14:31:14:51 | toCharArray(...) : char[] | StringTokenizerTest.java:14:11:14:62 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:15:11:15:57 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:15:10:15:69 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:15:31:15:37 | taint(...) : String | StringTokenizerTest.java:15:31:15:51 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:15:31:15:51 | toCharArray(...) : char[] | StringTokenizerTest.java:15:11:15:57 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:16:11:16:73 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:16:10:16:85 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:16:31:16:37 | taint(...) : String | StringTokenizerTest.java:16:31:16:51 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:16:31:16:51 | toCharArray(...) : char[] | StringTokenizerTest.java:16:11:16:73 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:17:11:17:94 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:17:10:17:106 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:17:31:17:37 | taint(...) : String | StringTokenizerTest.java:17:31:17:51 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:17:31:17:51 | toCharArray(...) : char[] | StringTokenizerTest.java:17:11:17:94 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:18:11:18:38 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:18:10:18:50 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:18:31:18:37 | taint(...) : String | StringTokenizerTest.java:18:11:18:38 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:19:11:19:43 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:19:10:19:55 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:19:31:19:37 | taint(...) : String | StringTokenizerTest.java:19:11:19:43 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:20:11:20:48 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:20:10:20:60 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:20:31:20:37 | taint(...) : String | StringTokenizerTest.java:20:11:20:48 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:21:11:21:43 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:21:10:21:55 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:21:31:21:37 | taint(...) : String | StringTokenizerTest.java:21:11:21:43 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:22:11:22:59 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:22:10:22:71 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:22:31:22:37 | taint(...) : String | StringTokenizerTest.java:22:11:22:59 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:23:11:23:80 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:23:10:23:92 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:23:31:23:37 | taint(...) : String | StringTokenizerTest.java:23:11:23:80 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:26:10:26:62 | getCSVInstance(...) : StringTokenizer | StringTokenizerTest.java:26:10:26:73 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:26:41:26:47 | taint(...) : String | StringTokenizerTest.java:26:41:26:61 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:26:41:26:61 | toCharArray(...) : char[] | StringTokenizerTest.java:26:10:26:62 | getCSVInstance(...) : StringTokenizer | provenance | MaD:549 | +| StringTokenizerTest.java:27:10:27:48 | getCSVInstance(...) : StringTokenizer | StringTokenizerTest.java:27:10:27:59 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:27:41:27:47 | taint(...) : String | StringTokenizerTest.java:27:10:27:48 | getCSVInstance(...) : StringTokenizer | provenance | MaD:549 | +| StringTokenizerTest.java:28:10:28:62 | getTSVInstance(...) : StringTokenizer | StringTokenizerTest.java:28:10:28:73 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:28:41:28:47 | taint(...) : String | StringTokenizerTest.java:28:41:28:61 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:28:41:28:61 | toCharArray(...) : char[] | StringTokenizerTest.java:28:10:28:62 | getTSVInstance(...) : StringTokenizer | provenance | MaD:551 | +| StringTokenizerTest.java:29:10:29:48 | getTSVInstance(...) : StringTokenizer | StringTokenizerTest.java:29:10:29:59 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:29:41:29:47 | taint(...) : String | StringTokenizerTest.java:29:10:29:48 | getTSVInstance(...) : StringTokenizer | provenance | MaD:551 | +| StringTokenizerTest.java:32:11:32:38 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:32:10:32:47 | clone(...) | provenance | CloneStep | +| StringTokenizerTest.java:32:11:32:38 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:32:10:32:47 | clone(...) | provenance | MaD:548 | +| StringTokenizerTest.java:32:31:32:37 | taint(...) : String | StringTokenizerTest.java:32:11:32:38 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:33:11:33:38 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:33:10:33:52 | getContent(...) | provenance | MaD:550 | +| StringTokenizerTest.java:33:31:33:37 | taint(...) : String | StringTokenizerTest.java:33:11:33:38 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:34:11:34:38 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:34:10:34:55 | getTokenArray(...) | provenance | MaD:552 | +| StringTokenizerTest.java:34:31:34:37 | taint(...) : String | StringTokenizerTest.java:34:11:34:38 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:35:11:35:38 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:35:10:35:54 | getTokenList(...) | provenance | MaD:553 | +| StringTokenizerTest.java:35:31:35:37 | taint(...) : String | StringTokenizerTest.java:35:11:35:38 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:36:11:36:38 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:36:10:36:46 | next(...) | provenance | MaD:13 | +| StringTokenizerTest.java:36:11:36:38 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:36:10:36:46 | next(...) | provenance | MaD:554 | +| StringTokenizerTest.java:36:31:36:37 | taint(...) : String | StringTokenizerTest.java:36:11:36:38 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:37:11:37:38 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:37:10:37:51 | nextToken(...) | provenance | MaD:555 | +| StringTokenizerTest.java:37:31:37:37 | taint(...) : String | StringTokenizerTest.java:37:11:37:38 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:38:11:38:38 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:38:10:38:50 | previous(...) | provenance | MaD:14 | +| StringTokenizerTest.java:38:11:38:38 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:38:10:38:50 | previous(...) | provenance | MaD:556 | +| StringTokenizerTest.java:38:31:38:37 | taint(...) : String | StringTokenizerTest.java:38:11:38:38 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:39:11:39:38 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:39:10:39:55 | previousToken(...) | provenance | MaD:557 | +| StringTokenizerTest.java:39:31:39:37 | taint(...) : String | StringTokenizerTest.java:39:11:39:38 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | +| StringTokenizerTest.java:42:10:42:61 | reset(...) : StringTokenizer | StringTokenizerTest.java:42:10:42:72 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:42:40:42:46 | taint(...) : String | StringTokenizerTest.java:42:40:42:60 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:42:40:42:60 | toCharArray(...) : char[] | StringTokenizerTest.java:42:10:42:61 | reset(...) : StringTokenizer | provenance | MaD:558 | +| StringTokenizerTest.java:43:10:43:47 | reset(...) : StringTokenizer | StringTokenizerTest.java:43:10:43:58 | toString(...) | provenance | MaD:559 | +| StringTokenizerTest.java:43:40:43:46 | taint(...) : String | StringTokenizerTest.java:43:10:43:47 | reset(...) : StringTokenizer | provenance | MaD:558 | +| Test.java:15:37:15:43 | taint(...) : String | Test.java:15:14:15:47 | abbreviate(...) | provenance | MaD:80 | +| Test.java:16:37:16:43 | taint(...) : String | Test.java:16:14:16:50 | abbreviate(...) | provenance | MaD:80 | +| Test.java:17:37:17:43 | taint(...) : String | Test.java:17:14:17:54 | abbreviate(...) | provenance | MaD:80 | +| Test.java:18:50:18:56 | taint(...) : String | Test.java:18:14:18:60 | abbreviate(...) | provenance | MaD:81 | +| Test.java:19:37:19:43 | taint(...) : String | Test.java:19:14:19:57 | abbreviate(...) | provenance | MaD:80 | +| Test.java:20:50:20:56 | taint(...) : String | Test.java:20:14:20:63 | abbreviate(...) | provenance | MaD:82 | +| Test.java:21:43:21:49 | taint(...) : String | Test.java:21:14:21:60 | abbreviateMiddle(...) | provenance | MaD:83 | +| Test.java:22:56:22:62 | taint(...) : String | Test.java:22:14:22:66 | abbreviateMiddle(...) | provenance | MaD:84 | +| Test.java:23:42:23:48 | taint(...) : String | Test.java:23:14:23:89 | appendIfMissing(...) | provenance | MaD:85 | +| Test.java:24:52:24:58 | taint(...) : String | Test.java:24:14:24:89 | appendIfMissing(...) | provenance | MaD:86 | +| Test.java:28:52:28:58 | taint(...) : String | Test.java:28:14:28:99 | appendIfMissingIgnoreCase(...) | provenance | MaD:87 | +| Test.java:29:62:29:68 | taint(...) : String | Test.java:29:14:29:99 | appendIfMissingIgnoreCase(...) | provenance | MaD:88 | +| Test.java:33:37:33:43 | taint(...) : String | Test.java:33:14:33:44 | capitalize(...) | provenance | MaD:89 | +| Test.java:34:33:34:39 | taint(...) : String | Test.java:34:14:34:43 | center(...) | provenance | MaD:90 | +| Test.java:35:33:35:39 | taint(...) : String | Test.java:35:14:35:48 | center(...) | provenance | MaD:90 | +| Test.java:36:33:36:39 | taint(...) : String | Test.java:36:14:36:61 | center(...) | provenance | MaD:90 | +| Test.java:37:49:37:55 | taint(...) : String | Test.java:37:14:37:56 | center(...) | provenance | MaD:91 | +| Test.java:38:32:38:38 | taint(...) : String | Test.java:38:14:38:39 | chomp(...) | provenance | MaD:92 | +| Test.java:39:32:39:38 | taint(...) : String | Test.java:39:14:39:52 | chomp(...) | provenance | MaD:93 | +| Test.java:42:31:42:37 | taint(...) : String | Test.java:42:14:42:38 | chop(...) | provenance | MaD:94 | +| Test.java:43:41:43:47 | taint(...) : String | Test.java:43:14:43:59 | defaultIfBlank(...) | provenance | MaD:95 | +| Test.java:44:58:44:64 | taint(...) : String | Test.java:44:14:44:65 | defaultIfBlank(...) | provenance | MaD:95 | +| Test.java:45:41:45:47 | taint(...) : String | Test.java:45:14:45:59 | defaultIfEmpty(...) | provenance | MaD:96 | +| Test.java:46:58:46:64 | taint(...) : String | Test.java:46:14:46:65 | defaultIfEmpty(...) | provenance | MaD:96 | +| Test.java:47:40:47:46 | taint(...) : String | Test.java:47:14:47:47 | defaultString(...) | provenance | MaD:97 | +| Test.java:48:40:48:46 | taint(...) : String | Test.java:48:14:48:65 | defaultString(...) | provenance | MaD:97 | +| Test.java:49:56:49:62 | taint(...) : String | Test.java:49:14:49:63 | defaultString(...) | provenance | MaD:97 | +| Test.java:50:43:50:49 | taint(...) : String | Test.java:50:14:50:50 | deleteWhitespace(...) | provenance | MaD:98 | +| Test.java:51:37:51:43 | taint(...) : String | Test.java:51:14:51:51 | difference(...) | provenance | MaD:99 | +| Test.java:52:44:52:50 | taint(...) : String | Test.java:52:14:52:51 | difference(...) | provenance | MaD:99 | +| Test.java:53:14:53:64 | new ..[] { .. } : CharSequence[] [[]] : String | Test.java:53:14:53:64 | firstNonBlank(...) | provenance | MaD:100 | +| Test.java:53:40:53:46 | taint(...) : String | Test.java:53:14:53:64 | new ..[] { .. } : CharSequence[] [[]] : String | provenance | | +| Test.java:54:14:54:63 | new ..[] { .. } : CharSequence[] [[]] : String | Test.java:54:14:54:63 | firstNonBlank(...) | provenance | MaD:100 | +| Test.java:54:56:54:62 | taint(...) : String | Test.java:54:14:54:63 | new ..[] { .. } : CharSequence[] [[]] : String | provenance | | +| Test.java:55:14:55:64 | new ..[] { .. } : CharSequence[] [[]] : String | Test.java:55:14:55:64 | firstNonEmpty(...) | provenance | MaD:101 | +| Test.java:55:40:55:46 | taint(...) : String | Test.java:55:14:55:64 | new ..[] { .. } : CharSequence[] [[]] : String | provenance | | +| Test.java:56:14:56:63 | new ..[] { .. } : CharSequence[] [[]] : String | Test.java:56:14:56:63 | firstNonEmpty(...) | provenance | MaD:101 | +| Test.java:56:56:56:62 | taint(...) : String | Test.java:56:14:56:63 | new ..[] { .. } : CharSequence[] [[]] : String | provenance | | +| Test.java:57:35:57:41 | taint(...) : String | Test.java:57:14:57:57 | getBytes(...) | provenance | MaD:102 | +| Test.java:58:35:58:41 | taint(...) : String | Test.java:58:14:58:58 | getBytes(...) | provenance | MaD:102 | +| Test.java:61:14:61:66 | new ..[] { .. } : String[] [[]] : String | Test.java:61:14:61:66 | getCommonPrefix(...) | provenance | MaD:103 | +| Test.java:61:42:61:48 | taint(...) : String | Test.java:61:14:61:66 | new ..[] { .. } : String[] [[]] : String | provenance | | +| Test.java:62:14:62:65 | new ..[] { .. } : String[] [[]] : String | Test.java:62:14:62:65 | getCommonPrefix(...) | provenance | MaD:103 | +| Test.java:62:58:62:64 | taint(...) : String | Test.java:62:14:62:65 | new ..[] { .. } : String[] [[]] : String | provenance | | +| Test.java:63:36:63:42 | taint(...) : String | Test.java:63:14:63:43 | getDigits(...) | provenance | MaD:104 | +| Test.java:64:37:64:43 | taint(...) : String | Test.java:64:14:64:61 | getIfBlank(...) | provenance | MaD:105 | +| Test.java:65:37:65:43 | taint(...) : String | Test.java:65:14:65:61 | getIfEmpty(...) | provenance | MaD:106 | +| Test.java:73:31:73:37 | taint(...) : String | Test.java:73:31:73:51 | toCharArray(...) : char[] | provenance | MaD:8 | +| Test.java:73:31:73:51 | toCharArray(...) : char[] | Test.java:73:14:73:57 | join(...) | provenance | MaD:107 | +| Test.java:74:31:74:37 | taint(...) : String | Test.java:74:31:74:51 | toCharArray(...) : char[] | provenance | MaD:8 | +| Test.java:74:31:74:51 | toCharArray(...) : char[] | Test.java:74:14:74:63 | join(...) | provenance | MaD:108 | +| Test.java:77:9:77:19 | taintedList [post update] : ArrayList [] : String | Test.java:78:31:78:41 | taintedList : ArrayList [] : String | provenance | | +| Test.java:77:9:77:19 | taintedList [post update] : ArrayList [] : String | Test.java:79:31:79:41 | taintedList : ArrayList [] : String | provenance | | +| Test.java:77:9:77:19 | taintedList [post update] : ArrayList [] : String | Test.java:83:31:83:41 | taintedList : ArrayList [] : String | provenance | | +| Test.java:77:9:77:19 | taintedList [post update] : ArrayList [] : String | Test.java:84:31:84:41 | taintedList : ArrayList [] : String | provenance | | +| Test.java:77:9:77:19 | taintedList [post update] : ArrayList [] : String | Test.java:87:31:87:41 | taintedList : ArrayList [] : String | provenance | | +| Test.java:77:9:77:19 | taintedList [post update] : ArrayList [] : String | Test.java:88:31:88:41 | taintedList : ArrayList [] : String | provenance | | +| Test.java:77:25:77:31 | taint(...) : String | Test.java:77:9:77:19 | taintedList [post update] : ArrayList [] : String | provenance | MaD:11 | +| Test.java:78:31:78:41 | taintedList : ArrayList [] : String | Test.java:78:14:78:47 | join(...) | provenance | MaD:109 | +| Test.java:79:31:79:41 | taintedList : ArrayList [] : String | Test.java:79:14:79:49 | join(...) | provenance | MaD:110 | +| Test.java:81:46:81:52 | taint(...) : String | Test.java:81:14:81:53 | join(...) | provenance | MaD:111 | +| Test.java:83:31:83:41 | taintedList : ArrayList [] : String | Test.java:83:31:83:52 | iterator(...) : Iterator [] : String | provenance | MaD:7 | +| Test.java:83:31:83:52 | iterator(...) : Iterator [] : String | Test.java:83:14:83:58 | join(...) | provenance | MaD:119 | +| Test.java:84:31:84:41 | taintedList : ArrayList [] : String | Test.java:84:31:84:52 | iterator(...) : Iterator [] : String | provenance | MaD:7 | +| Test.java:84:31:84:52 | iterator(...) : Iterator [] : String | Test.java:84:14:84:60 | join(...) | provenance | MaD:120 | +| Test.java:85:57:85:63 | taint(...) : String | Test.java:85:14:85:64 | join(...) | provenance | MaD:121 | +| Test.java:87:31:87:41 | taintedList : ArrayList [] : String | Test.java:87:14:87:53 | join(...) | provenance | MaD:122 | +| Test.java:88:31:88:41 | taintedList : ArrayList [] : String | Test.java:88:14:88:55 | join(...) | provenance | MaD:123 | +| Test.java:89:46:89:52 | taint(...) : String | Test.java:89:14:89:59 | join(...) | provenance | MaD:124 | +| Test.java:91:33:91:56 | {...} : Object[] [[]] : String | Test.java:92:31:92:42 | taintedArray : Object[] [[]] : String | provenance | | +| Test.java:91:33:91:56 | {...} : Object[] [[]] : String | Test.java:93:31:93:42 | taintedArray : Object[] [[]] : String | provenance | | +| Test.java:91:33:91:56 | {...} : Object[] [[]] : String | Test.java:94:31:94:42 | taintedArray : Object[] [[]] : String | provenance | | +| Test.java:91:33:91:56 | {...} : Object[] [[]] : String | Test.java:95:31:95:42 | taintedArray : Object[] [[]] : String | provenance | | +| Test.java:91:48:91:54 | taint(...) : String | Test.java:91:33:91:56 | {...} : Object[] [[]] : String | provenance | | +| Test.java:92:31:92:42 | taintedArray : Object[] [[]] : String | Test.java:92:14:92:48 | join(...) | provenance | MaD:113 | +| Test.java:93:31:93:42 | taintedArray : Object[] [[]] : String | Test.java:93:14:93:50 | join(...) | provenance | MaD:115 | +| Test.java:94:31:94:42 | taintedArray : Object[] [[]] : String | Test.java:94:14:94:54 | join(...) | provenance | MaD:114 | +| Test.java:95:31:95:42 | taintedArray : Object[] [[]] : String | Test.java:95:14:95:56 | join(...) | provenance | MaD:117 | +| Test.java:97:47:97:53 | taint(...) : String | Test.java:97:14:97:54 | join(...) | provenance | MaD:116 | +| Test.java:98:47:98:53 | taint(...) : String | Test.java:98:14:98:60 | join(...) | provenance | MaD:118 | +| Test.java:100:14:100:54 | new ..[] { .. } : Object[] [[]] : String | Test.java:100:14:100:54 | join(...) | provenance | MaD:112 | +| Test.java:100:31:100:37 | taint(...) : String | Test.java:100:14:100:54 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| Test.java:101:14:101:61 | new ..[] { .. } : Object[] [[]] : String | Test.java:101:14:101:61 | join(...) | provenance | MaD:112 | +| Test.java:101:54:101:60 | taint(...) : String | Test.java:101:14:101:61 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| Test.java:102:14:102:71 | new ..[] { .. } : Object[] [[]] : String | Test.java:102:14:102:71 | joinWith(...) | provenance | MaD:126 | +| Test.java:102:48:102:54 | taint(...) : String | Test.java:102:14:102:71 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| Test.java:103:14:103:78 | new ..[] { .. } : Object[] [[]] : String | Test.java:103:14:103:78 | joinWith(...) | provenance | MaD:126 | +| Test.java:103:71:103:77 | taint(...) : String | Test.java:103:14:103:78 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| Test.java:104:35:104:41 | taint(...) : String | Test.java:104:14:104:87 | joinWith(...) | provenance | MaD:125 | +| Test.java:106:31:106:37 | taint(...) : String | Test.java:106:14:106:41 | left(...) | provenance | MaD:127 | +| Test.java:107:34:107:40 | taint(...) : String | Test.java:107:14:107:44 | leftPad(...) | provenance | MaD:128 | +| Test.java:108:34:108:40 | taint(...) : String | Test.java:108:14:108:49 | leftPad(...) | provenance | MaD:128 | +| Test.java:109:34:109:40 | taint(...) : String | Test.java:109:14:109:55 | leftPad(...) | provenance | MaD:128 | +| Test.java:110:47:110:53 | taint(...) : String | Test.java:110:14:110:54 | leftPad(...) | provenance | MaD:129 | +| Test.java:111:36:111:42 | taint(...) : String | Test.java:111:14:111:43 | lowerCase(...) | provenance | MaD:130 | +| Test.java:112:36:112:42 | taint(...) : String | Test.java:112:14:112:54 | lowerCase(...) | provenance | MaD:131 | +| Test.java:113:30:113:36 | taint(...) : String | Test.java:113:14:113:43 | mid(...) | provenance | MaD:132 | +| Test.java:114:41:114:47 | taint(...) : String | Test.java:114:14:114:48 | normalizeSpace(...) | provenance | MaD:133 | +| Test.java:115:34:115:40 | taint(...) : String | Test.java:115:14:115:58 | overlay(...) | provenance | MaD:134 | +| Test.java:116:46:116:52 | taint(...) : String | Test.java:116:14:116:59 | overlay(...) | provenance | MaD:135 | +| Test.java:117:43:117:49 | taint(...) : String | Test.java:117:14:117:103 | prependIfMissing(...) | provenance | MaD:136 | +| Test.java:118:62:118:68 | taint(...) : String | Test.java:118:14:118:105 | prependIfMissing(...) | provenance | MaD:137 | +| Test.java:122:53:122:59 | taint(...) : String | Test.java:122:14:122:113 | prependIfMissingIgnoreCase(...) | provenance | MaD:138 | +| Test.java:123:72:123:78 | taint(...) : String | Test.java:123:14:123:115 | prependIfMissingIgnoreCase(...) | provenance | MaD:139 | +| Test.java:127:33:127:39 | taint(...) : String | Test.java:127:14:127:45 | remove(...) | provenance | MaD:140 | +| Test.java:128:33:128:39 | taint(...) : String | Test.java:128:14:128:53 | remove(...) | provenance | MaD:140 | +| Test.java:129:36:129:42 | taint(...) : String | Test.java:129:14:129:56 | removeAll(...) | provenance | MaD:141 | +| Test.java:130:36:130:42 | taint(...) : String | Test.java:130:14:130:56 | removeEnd(...) | provenance | MaD:142 | +| Test.java:131:46:131:52 | taint(...) : String | Test.java:131:14:131:66 | removeEndIgnoreCase(...) | provenance | MaD:143 | +| Test.java:132:38:132:44 | taint(...) : String | Test.java:132:14:132:58 | removeFirst(...) | provenance | MaD:144 | +| Test.java:133:43:133:49 | taint(...) : String | Test.java:133:14:133:63 | removeIgnoreCase(...) | provenance | MaD:145 | +| Test.java:134:40:134:46 | taint(...) : String | Test.java:134:14:134:60 | removePattern(...) | provenance | MaD:146 | +| Test.java:135:38:135:44 | taint(...) : String | Test.java:135:14:135:58 | removeStart(...) | provenance | MaD:147 | +| Test.java:136:48:136:54 | taint(...) : String | Test.java:136:14:136:68 | removeStartIgnoreCase(...) | provenance | MaD:148 | +| Test.java:147:33:147:39 | taint(...) : String | Test.java:147:14:147:43 | repeat(...) | provenance | MaD:149 | +| Test.java:148:33:148:39 | taint(...) : String | Test.java:148:14:148:56 | repeat(...) | provenance | MaD:149 | +| Test.java:149:46:149:52 | taint(...) : String | Test.java:149:14:149:56 | repeat(...) | provenance | MaD:150 | +| Test.java:150:34:150:40 | taint(...) : String | Test.java:150:14:150:66 | replace(...) | provenance | MaD:151 | +| Test.java:151:56:151:62 | taint(...) : String | Test.java:151:14:151:63 | replace(...) | provenance | MaD:152 | +| Test.java:152:34:152:40 | taint(...) : String | Test.java:152:14:152:69 | replace(...) | provenance | MaD:151 | +| Test.java:153:56:153:62 | taint(...) : String | Test.java:153:14:153:66 | replace(...) | provenance | MaD:152 | +| Test.java:154:37:154:43 | taint(...) : String | Test.java:154:14:154:69 | replaceAll(...) | provenance | MaD:153 | +| Test.java:155:59:155:65 | taint(...) : String | Test.java:155:14:155:66 | replaceAll(...) | provenance | MaD:154 | +| Test.java:156:39:156:45 | taint(...) : String | Test.java:156:14:156:56 | replaceChars(...) | provenance | MaD:155 | +| Test.java:157:39:157:45 | taint(...) : String | Test.java:157:14:157:60 | replaceChars(...) | provenance | MaD:155 | +| Test.java:158:58:158:64 | taint(...) : String | Test.java:158:14:158:65 | replaceChars(...) | provenance | MaD:156 | +| Test.java:159:38:159:44 | taint(...) : String | Test.java:159:14:159:104 | replaceEach(...) | provenance | MaD:157 | +| Test.java:160:77:160:100 | new String[] : String[] [[]] : String | Test.java:160:14:160:101 | replaceEach(...) | provenance | MaD:158 | +| Test.java:160:77:160:100 | {...} : String[] [[]] : String | Test.java:160:77:160:100 | new String[] : String[] [[]] : String | provenance | | +| Test.java:160:92:160:98 | taint(...) : String | Test.java:160:77:160:100 | {...} : String[] [[]] : String | provenance | | +| Test.java:161:48:161:54 | taint(...) : String | Test.java:161:14:161:114 | replaceEachRepeatedly(...) | provenance | MaD:159 | +| Test.java:162:87:162:110 | new String[] : String[] [[]] : String | Test.java:162:14:162:111 | replaceEachRepeatedly(...) | provenance | MaD:160 | +| Test.java:162:87:162:110 | {...} : String[] [[]] : String | Test.java:162:87:162:110 | new String[] : String[] [[]] : String | provenance | | +| Test.java:162:102:162:108 | taint(...) : String | Test.java:162:87:162:110 | {...} : String[] [[]] : String | provenance | | +| Test.java:163:39:163:45 | taint(...) : String | Test.java:163:14:163:71 | replaceFirst(...) | provenance | MaD:161 | +| Test.java:164:61:164:67 | taint(...) : String | Test.java:164:14:164:68 | replaceFirst(...) | provenance | MaD:162 | +| Test.java:165:44:165:50 | taint(...) : String | Test.java:165:14:165:76 | replaceIgnoreCase(...) | provenance | MaD:163 | +| Test.java:166:66:166:72 | taint(...) : String | Test.java:166:14:166:73 | replaceIgnoreCase(...) | provenance | MaD:164 | +| Test.java:167:38:167:44 | taint(...) : String | Test.java:167:14:167:70 | replaceOnce(...) | provenance | MaD:165 | +| Test.java:168:60:168:66 | taint(...) : String | Test.java:168:14:168:67 | replaceOnce(...) | provenance | MaD:166 | +| Test.java:169:48:169:54 | taint(...) : String | Test.java:169:14:169:80 | replaceOnceIgnoreCase(...) | provenance | MaD:167 | +| Test.java:170:70:170:76 | taint(...) : String | Test.java:170:14:170:77 | replaceOnceIgnoreCase(...) | provenance | MaD:168 | +| Test.java:171:41:171:47 | taint(...) : String | Test.java:171:14:171:73 | replacePattern(...) | provenance | MaD:169 | +| Test.java:172:63:172:69 | taint(...) : String | Test.java:172:14:172:70 | replacePattern(...) | provenance | MaD:170 | +| Test.java:185:34:185:40 | taint(...) : String | Test.java:185:14:185:41 | reverse(...) | provenance | MaD:171 | +| Test.java:186:43:186:49 | taint(...) : String | Test.java:186:14:186:55 | reverseDelimited(...) | provenance | MaD:172 | +| Test.java:187:32:187:38 | taint(...) : String | Test.java:187:14:187:42 | right(...) | provenance | MaD:173 | +| Test.java:188:35:188:41 | taint(...) : String | Test.java:188:14:188:45 | rightPad(...) | provenance | MaD:174 | +| Test.java:189:35:189:41 | taint(...) : String | Test.java:189:14:189:50 | rightPad(...) | provenance | MaD:174 | +| Test.java:190:35:190:41 | taint(...) : String | Test.java:190:14:190:56 | rightPad(...) | provenance | MaD:174 | +| Test.java:191:48:191:54 | taint(...) : String | Test.java:191:14:191:55 | rightPad(...) | provenance | MaD:175 | +| Test.java:192:33:192:39 | taint(...) : String | Test.java:192:14:192:43 | rotate(...) | provenance | MaD:176 | +| Test.java:193:32:193:38 | taint(...) : String | Test.java:193:14:193:39 | split(...) | provenance | MaD:177 | +| Test.java:194:32:194:38 | taint(...) : String | Test.java:194:14:194:44 | split(...) | provenance | MaD:178 | +| Test.java:195:32:195:38 | taint(...) : String | Test.java:195:14:195:46 | split(...) | provenance | MaD:179 | +| Test.java:196:32:196:38 | taint(...) : String | Test.java:196:14:196:49 | split(...) | provenance | MaD:180 | +| Test.java:197:47:197:53 | taint(...) : String | Test.java:197:14:197:54 | splitByCharacterType(...) | provenance | MaD:181 | +| Test.java:198:56:198:62 | taint(...) : String | Test.java:198:14:198:63 | splitByCharacterTypeCamelCase(...) | provenance | MaD:182 | +| Test.java:199:48:199:54 | taint(...) : String | Test.java:199:14:199:68 | splitByWholeSeparator(...) | provenance | MaD:183 | +| Test.java:200:48:200:54 | taint(...) : String | Test.java:200:14:200:71 | splitByWholeSeparator(...) | provenance | MaD:183 | +| Test.java:201:65:201:71 | taint(...) : String | Test.java:201:14:201:85 | splitByWholeSeparatorPreserveAllTokens(...) | provenance | MaD:184 | +| Test.java:202:65:202:71 | taint(...) : String | Test.java:202:14:202:88 | splitByWholeSeparatorPreserveAllTokens(...) | provenance | MaD:184 | +| Test.java:203:49:203:55 | taint(...) : String | Test.java:203:14:203:56 | splitPreserveAllTokens(...) | provenance | MaD:185 | +| Test.java:204:49:204:55 | taint(...) : String | Test.java:204:14:204:61 | splitPreserveAllTokens(...) | provenance | MaD:186 | +| Test.java:205:49:205:55 | taint(...) : String | Test.java:205:14:205:63 | splitPreserveAllTokens(...) | provenance | MaD:187 | +| Test.java:206:49:206:55 | taint(...) : String | Test.java:206:14:206:66 | splitPreserveAllTokens(...) | provenance | MaD:188 | +| Test.java:216:32:216:38 | taint(...) : String | Test.java:216:14:216:39 | strip(...) | provenance | MaD:189 | +| Test.java:217:32:217:38 | taint(...) : String | Test.java:217:14:217:56 | strip(...) | provenance | MaD:190 | +| Test.java:218:39:218:45 | taint(...) : String | Test.java:218:14:218:46 | stripAccents(...) | provenance | MaD:191 | +| Test.java:219:14:219:76 | stripAll(...) : String[] [[]] : Object | Test.java:219:14:219:79 | ...[...] | provenance | | +| Test.java:219:35:219:58 | new String[] : String[] [[]] : String | Test.java:219:14:219:76 | stripAll(...) : String[] [[]] : Object | provenance | MaD:192 | +| Test.java:219:35:219:58 | {...} : String[] [[]] : String | Test.java:219:35:219:58 | new String[] : String[] [[]] : String | provenance | | +| Test.java:219:50:219:56 | taint(...) : String | Test.java:219:35:219:58 | {...} : String[] [[]] : String | provenance | | +| Test.java:220:35:220:41 | taint(...) : String | Test.java:220:14:220:59 | stripEnd(...) | provenance | MaD:193 | +| Test.java:221:37:221:43 | taint(...) : String | Test.java:221:14:221:61 | stripStart(...) | provenance | MaD:194 | +| Test.java:227:39:227:45 | taint(...) : String | Test.java:227:14:227:46 | stripToEmpty(...) | provenance | MaD:195 | +| Test.java:228:38:228:44 | taint(...) : String | Test.java:228:14:228:45 | stripToNull(...) | provenance | MaD:196 | +| Test.java:229:36:229:42 | taint(...) : String | Test.java:229:14:229:46 | substring(...) | provenance | MaD:197 | +| Test.java:230:36:230:42 | taint(...) : String | Test.java:230:14:230:49 | substring(...) | provenance | MaD:197 | +| Test.java:231:41:231:47 | taint(...) : String | Test.java:231:14:231:51 | substringAfter(...) | provenance | MaD:198 | +| Test.java:232:41:232:47 | taint(...) : String | Test.java:232:14:232:61 | substringAfter(...) | provenance | MaD:198 | +| Test.java:233:45:233:51 | taint(...) : String | Test.java:233:14:233:55 | substringAfterLast(...) | provenance | MaD:199 | +| Test.java:234:45:234:51 | taint(...) : String | Test.java:234:14:234:65 | substringAfterLast(...) | provenance | MaD:199 | +| Test.java:235:42:235:48 | taint(...) : String | Test.java:235:14:235:62 | substringBefore(...) | provenance | MaD:200 | +| Test.java:236:46:236:52 | taint(...) : String | Test.java:236:14:236:66 | substringBeforeLast(...) | provenance | MaD:201 | +| Test.java:237:43:237:49 | taint(...) : String | Test.java:237:14:237:63 | substringBetween(...) | provenance | MaD:202 | +| Test.java:238:43:238:49 | taint(...) : String | Test.java:238:14:238:74 | substringBetween(...) | provenance | MaD:202 | +| Test.java:239:14:239:75 | substringsBetween(...) : String[] | Test.java:239:14:239:78 | ...[...] | provenance | | +| Test.java:239:44:239:50 | taint(...) : String | Test.java:239:14:239:75 | substringsBetween(...) : String[] | provenance | MaD:203 | +| Test.java:250:35:250:41 | taint(...) : String | Test.java:250:14:250:42 | swapCase(...) | provenance | MaD:204 | +| Test.java:251:39:251:45 | taint(...) : String | Test.java:251:14:251:46 | toCodePoints(...) | provenance | MaD:205 | +| Test.java:252:42:252:81 | getBytes(...) : byte[] | Test.java:252:14:252:88 | toEncodedString(...) | provenance | MaD:206 | +| Test.java:252:63:252:69 | taint(...) : String | Test.java:252:42:252:81 | getBytes(...) : byte[] | provenance | MaD:102 | +| Test.java:253:42:253:48 | taint(...) : String | Test.java:253:14:253:49 | toRootLowerCase(...) | provenance | MaD:207 | +| Test.java:254:42:254:48 | taint(...) : String | Test.java:254:14:254:49 | toRootUpperCase(...) | provenance | MaD:208 | +| Test.java:255:35:255:74 | getBytes(...) : byte[] | Test.java:255:14:255:86 | toString(...) | provenance | MaD:209 | +| Test.java:255:56:255:62 | taint(...) : String | Test.java:255:35:255:74 | getBytes(...) : byte[] | provenance | MaD:102 | +| Test.java:256:31:256:37 | taint(...) : String | Test.java:256:14:256:38 | trim(...) | provenance | MaD:210 | +| Test.java:257:38:257:44 | taint(...) : String | Test.java:257:14:257:45 | trimToEmpty(...) | provenance | MaD:211 | +| Test.java:258:37:258:43 | taint(...) : String | Test.java:258:14:258:44 | trimToNull(...) | provenance | MaD:212 | +| Test.java:259:35:259:41 | taint(...) : String | Test.java:259:14:259:45 | truncate(...) | provenance | MaD:213 | +| Test.java:260:35:260:41 | taint(...) : String | Test.java:260:14:260:48 | truncate(...) | provenance | MaD:213 | +| Test.java:261:39:261:45 | taint(...) : String | Test.java:261:14:261:46 | uncapitalize(...) | provenance | MaD:214 | +| Test.java:262:33:262:39 | taint(...) : String | Test.java:262:14:262:45 | unwrap(...) | provenance | MaD:215 | +| Test.java:263:33:263:39 | taint(...) : String | Test.java:263:14:263:53 | unwrap(...) | provenance | MaD:215 | +| Test.java:266:36:266:42 | taint(...) : String | Test.java:266:14:266:43 | upperCase(...) | provenance | MaD:216 | +| Test.java:267:36:267:42 | taint(...) : String | Test.java:267:14:267:49 | upperCase(...) | provenance | MaD:217 | +| Test.java:268:34:268:40 | taint(...) : String | Test.java:268:34:268:54 | toCharArray(...) : char[] | provenance | MaD:8 | +| Test.java:268:34:268:54 | toCharArray(...) : char[] | Test.java:268:14:268:55 | valueOf(...) | provenance | MaD:218 | +| Test.java:269:31:269:37 | taint(...) : String | Test.java:269:14:269:43 | wrap(...) | provenance | MaD:219 | +| Test.java:270:31:270:37 | taint(...) : String | Test.java:270:14:270:55 | wrap(...) | provenance | MaD:220 | +| Test.java:271:42:271:48 | taint(...) : String | Test.java:271:14:271:49 | wrap(...) | provenance | MaD:220 | +| Test.java:272:40:272:46 | taint(...) : String | Test.java:272:14:272:52 | wrapIfMissing(...) | provenance | MaD:221 | +| Test.java:273:40:273:46 | taint(...) : String | Test.java:273:14:273:64 | wrapIfMissing(...) | provenance | MaD:222 | +| Test.java:274:51:274:57 | taint(...) : String | Test.java:274:14:274:58 | wrapIfMissing(...) | provenance | MaD:222 | +| TextStringBuilderTest.java:17:35:17:64 | new TextStringBuilder(...) : TextStringBuilder | TextStringBuilderTest.java:17:72:17:76 | cons1 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:17:57:17:63 | taint(...) : String | TextStringBuilderTest.java:17:35:17:64 | new TextStringBuilder(...) : TextStringBuilder | provenance | MaD:561 | +| TextStringBuilderTest.java:17:72:17:76 | cons1 : TextStringBuilder | TextStringBuilderTest.java:17:72:17:87 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:17:72:17:76 | cons1 : TextStringBuilder | TextStringBuilderTest.java:17:72:17:87 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:18:35:18:78 | new TextStringBuilder(...) : TextStringBuilder | TextStringBuilderTest.java:18:86:18:90 | cons2 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:18:57:18:77 | (...)... : String | TextStringBuilderTest.java:18:35:18:78 | new TextStringBuilder(...) : TextStringBuilder | provenance | MaD:560 | +| TextStringBuilderTest.java:18:71:18:77 | taint(...) : String | TextStringBuilderTest.java:18:57:18:77 | (...)... : String | provenance | | +| TextStringBuilderTest.java:18:86:18:90 | cons2 : TextStringBuilder | TextStringBuilderTest.java:18:86:18:101 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:18:86:18:90 | cons2 : TextStringBuilder | TextStringBuilderTest.java:18:86:18:101 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:20:58:20:60 | sb1 [post update] : TextStringBuilder | TextStringBuilderTest.java:20:98:20:100 | sb1 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:20:69:20:75 | taint(...) : String | TextStringBuilderTest.java:20:69:20:89 | toCharArray(...) : char[] | provenance | MaD:8 | +| TextStringBuilderTest.java:20:69:20:89 | toCharArray(...) : char[] | TextStringBuilderTest.java:20:58:20:60 | sb1 [post update] : TextStringBuilder | provenance | MaD:563 | +| TextStringBuilderTest.java:20:98:20:100 | sb1 : TextStringBuilder | TextStringBuilderTest.java:20:98:20:111 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:20:98:20:100 | sb1 : TextStringBuilder | TextStringBuilderTest.java:20:98:20:111 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:21:58:21:60 | sb2 [post update] : TextStringBuilder | TextStringBuilderTest.java:21:104:21:106 | sb2 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:21:69:21:75 | taint(...) : String | TextStringBuilderTest.java:21:69:21:89 | toCharArray(...) : char[] | provenance | MaD:8 | +| TextStringBuilderTest.java:21:69:21:89 | toCharArray(...) : char[] | TextStringBuilderTest.java:21:58:21:60 | sb2 [post update] : TextStringBuilder | provenance | MaD:564 | +| TextStringBuilderTest.java:21:104:21:106 | sb2 : TextStringBuilder | TextStringBuilderTest.java:21:104:21:117 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:21:104:21:106 | sb2 : TextStringBuilder | TextStringBuilderTest.java:21:104:21:117 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:22:58:22:60 | sb3 [post update] : TextStringBuilder | TextStringBuilderTest.java:22:115:22:117 | sb3 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:22:69:22:106 | wrap(...) : CharBuffer | TextStringBuilderTest.java:22:58:22:60 | sb3 [post update] : TextStringBuilder | provenance | MaD:576 | +| TextStringBuilderTest.java:22:85:22:91 | taint(...) : String | TextStringBuilderTest.java:22:85:22:105 | toCharArray(...) : char[] | provenance | MaD:8 | +| TextStringBuilderTest.java:22:85:22:105 | toCharArray(...) : char[] | TextStringBuilderTest.java:22:69:22:106 | wrap(...) : CharBuffer | provenance | MaD:1 | +| TextStringBuilderTest.java:22:115:22:117 | sb3 : TextStringBuilder | TextStringBuilderTest.java:22:115:22:128 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:22:115:22:117 | sb3 : TextStringBuilder | TextStringBuilderTest.java:22:115:22:128 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:23:58:23:60 | sb4 [post update] : TextStringBuilder | TextStringBuilderTest.java:23:121:23:123 | sb4 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:23:69:23:106 | wrap(...) : CharBuffer | TextStringBuilderTest.java:23:58:23:60 | sb4 [post update] : TextStringBuilder | provenance | MaD:577 | +| TextStringBuilderTest.java:23:85:23:91 | taint(...) : String | TextStringBuilderTest.java:23:85:23:105 | toCharArray(...) : char[] | provenance | MaD:8 | +| TextStringBuilderTest.java:23:85:23:105 | toCharArray(...) : char[] | TextStringBuilderTest.java:23:69:23:106 | wrap(...) : CharBuffer | provenance | MaD:1 | +| TextStringBuilderTest.java:23:121:23:123 | sb4 : TextStringBuilder | TextStringBuilderTest.java:23:121:23:134 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:23:121:23:123 | sb4 : TextStringBuilder | TextStringBuilderTest.java:23:121:23:134 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:24:58:24:60 | sb5 [post update] : TextStringBuilder | TextStringBuilderTest.java:24:98:24:100 | sb5 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:24:69:24:89 | (...)... : String | TextStringBuilderTest.java:24:58:24:60 | sb5 [post update] : TextStringBuilder | provenance | MaD:4 | +| TextStringBuilderTest.java:24:69:24:89 | (...)... : String | TextStringBuilderTest.java:24:58:24:60 | sb5 [post update] : TextStringBuilder | provenance | MaD:565 | +| TextStringBuilderTest.java:24:83:24:89 | taint(...) : String | TextStringBuilderTest.java:24:69:24:89 | (...)... : String | provenance | | +| TextStringBuilderTest.java:24:98:24:100 | sb5 : TextStringBuilder | TextStringBuilderTest.java:24:98:24:111 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:24:98:24:100 | sb5 : TextStringBuilder | TextStringBuilderTest.java:24:98:24:111 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:25:58:25:60 | sb6 [post update] : TextStringBuilder | TextStringBuilderTest.java:25:104:25:106 | sb6 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:25:69:25:89 | (...)... : String | TextStringBuilderTest.java:25:58:25:60 | sb6 [post update] : TextStringBuilder | provenance | MaD:4 | +| TextStringBuilderTest.java:25:69:25:89 | (...)... : String | TextStringBuilderTest.java:25:58:25:60 | sb6 [post update] : TextStringBuilder | provenance | MaD:566 | +| TextStringBuilderTest.java:25:83:25:89 | taint(...) : String | TextStringBuilderTest.java:25:69:25:89 | (...)... : String | provenance | | +| TextStringBuilderTest.java:25:104:25:106 | sb6 : TextStringBuilder | TextStringBuilderTest.java:25:104:25:117 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:25:104:25:106 | sb6 : TextStringBuilder | TextStringBuilderTest.java:25:104:25:117 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:26:58:26:60 | sb7 [post update] : TextStringBuilder | TextStringBuilderTest.java:26:92:26:94 | sb7 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:26:69:26:83 | (...)... : String | TextStringBuilderTest.java:26:58:26:60 | sb7 [post update] : TextStringBuilder | provenance | MaD:567 | +| TextStringBuilderTest.java:26:77:26:83 | taint(...) : String | TextStringBuilderTest.java:26:69:26:83 | (...)... : String | provenance | | +| TextStringBuilderTest.java:26:92:26:94 | sb7 : TextStringBuilder | TextStringBuilderTest.java:26:92:26:105 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:26:92:26:94 | sb7 : TextStringBuilder | TextStringBuilderTest.java:26:92:26:105 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:28:64:28:68 | auxsb [post update] : TextStringBuilder | TextStringBuilderTest.java:29:73:29:77 | auxsb : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:28:77:28:83 | taint(...) : String | TextStringBuilderTest.java:28:64:28:68 | auxsb [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:29:62:29:64 | sb8 [post update] : TextStringBuilder | TextStringBuilderTest.java:29:86:29:88 | sb8 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:29:73:29:77 | auxsb : TextStringBuilder | TextStringBuilderTest.java:29:62:29:64 | sb8 [post update] : TextStringBuilder | provenance | MaD:578 | +| TextStringBuilderTest.java:29:86:29:88 | sb8 : TextStringBuilder | TextStringBuilderTest.java:29:86:29:99 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:29:86:29:88 | sb8 : TextStringBuilder | TextStringBuilderTest.java:29:86:29:99 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:31:58:31:60 | sb9 [post update] : TextStringBuilder | TextStringBuilderTest.java:31:102:31:104 | sb9 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:31:69:31:93 | new StringBuffer(...) : StringBuffer | TextStringBuilderTest.java:31:58:31:60 | sb9 [post update] : TextStringBuilder | provenance | MaD:572 | +| TextStringBuilderTest.java:31:86:31:92 | taint(...) : String | TextStringBuilderTest.java:31:69:31:93 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| TextStringBuilderTest.java:31:102:31:104 | sb9 : TextStringBuilder | TextStringBuilderTest.java:31:102:31:115 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:31:102:31:104 | sb9 : TextStringBuilder | TextStringBuilderTest.java:31:102:31:115 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:32:59:32:62 | sb10 [post update] : TextStringBuilder | TextStringBuilderTest.java:32:110:32:113 | sb10 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:32:71:32:95 | new StringBuffer(...) : StringBuffer | TextStringBuilderTest.java:32:59:32:62 | sb10 [post update] : TextStringBuilder | provenance | MaD:573 | +| TextStringBuilderTest.java:32:88:32:94 | taint(...) : String | TextStringBuilderTest.java:32:71:32:95 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| TextStringBuilderTest.java:32:110:32:113 | sb10 : TextStringBuilder | TextStringBuilderTest.java:32:110:32:124 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:32:110:32:113 | sb10 : TextStringBuilder | TextStringBuilderTest.java:32:110:32:124 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:33:59:33:62 | sb11 [post update] : TextStringBuilder | TextStringBuilderTest.java:33:105:33:108 | sb11 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:33:71:33:96 | new StringBuilder(...) : StringBuilder | TextStringBuilderTest.java:33:59:33:62 | sb11 [post update] : TextStringBuilder | provenance | MaD:574 | +| TextStringBuilderTest.java:33:89:33:95 | taint(...) : String | TextStringBuilderTest.java:33:71:33:96 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| TextStringBuilderTest.java:33:105:33:108 | sb11 : TextStringBuilder | TextStringBuilderTest.java:33:105:33:119 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:33:105:33:108 | sb11 : TextStringBuilder | TextStringBuilderTest.java:33:105:33:119 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:34:59:34:62 | sb12 [post update] : TextStringBuilder | TextStringBuilderTest.java:34:111:34:114 | sb12 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:34:71:34:96 | new StringBuilder(...) : StringBuilder | TextStringBuilderTest.java:34:59:34:62 | sb12 [post update] : TextStringBuilder | provenance | MaD:575 | +| TextStringBuilderTest.java:34:89:34:95 | taint(...) : String | TextStringBuilderTest.java:34:71:34:96 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| TextStringBuilderTest.java:34:111:34:114 | sb12 : TextStringBuilder | TextStringBuilderTest.java:34:111:34:125 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:34:111:34:114 | sb12 : TextStringBuilder | TextStringBuilderTest.java:34:111:34:125 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:35:59:35:62 | sb13 [post update] : TextStringBuilder | TextStringBuilderTest.java:35:86:35:89 | sb13 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:35:71:35:77 | taint(...) : String | TextStringBuilderTest.java:35:59:35:62 | sb13 [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:35:86:35:89 | sb13 : TextStringBuilder | TextStringBuilderTest.java:35:86:35:100 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:35:86:35:89 | sb13 : TextStringBuilder | TextStringBuilderTest.java:35:86:35:100 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:36:59:36:62 | sb14 [post update] : TextStringBuilder | TextStringBuilderTest.java:36:92:36:95 | sb14 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:36:71:36:77 | taint(...) : String | TextStringBuilderTest.java:36:59:36:62 | sb14 [post update] : TextStringBuilder | provenance | MaD:569 | +| TextStringBuilderTest.java:36:92:36:95 | sb14 : TextStringBuilder | TextStringBuilderTest.java:36:92:36:106 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:36:92:36:95 | sb14 : TextStringBuilder | TextStringBuilderTest.java:36:92:36:106 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:37:59:37:62 | sb15 [post update] : TextStringBuilder | TextStringBuilderTest.java:37:104:37:107 | sb15 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:37:71:37:77 | taint(...) : String | TextStringBuilderTest.java:37:59:37:62 | sb15 [post update] : TextStringBuilder | provenance | MaD:570 | +| TextStringBuilderTest.java:37:104:37:107 | sb15 : TextStringBuilder | TextStringBuilderTest.java:37:104:37:118 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:37:104:37:107 | sb15 : TextStringBuilder | TextStringBuilderTest.java:37:104:37:118 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:38:59:38:62 | sb16 [post update] : TextStringBuilder | TextStringBuilderTest.java:38:111:38:114 | sb16 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:38:59:38:103 | new ..[] { .. } : Object[] [[]] : String | TextStringBuilderTest.java:38:59:38:62 | sb16 [post update] : TextStringBuilder | provenance | MaD:571 | +| TextStringBuilderTest.java:38:88:38:94 | taint(...) : String | TextStringBuilderTest.java:38:59:38:103 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| TextStringBuilderTest.java:38:111:38:114 | sb16 : TextStringBuilder | TextStringBuilderTest.java:38:111:38:125 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:38:111:38:114 | sb16 : TextStringBuilder | TextStringBuilderTest.java:38:111:38:125 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:41:13:41:23 | taintedList [post update] : ArrayList [] : String | TextStringBuilderTest.java:42:78:42:88 | taintedList : ArrayList [] : String | provenance | | +| TextStringBuilderTest.java:41:13:41:23 | taintedList [post update] : ArrayList [] : String | TextStringBuilderTest.java:43:78:43:88 | taintedList : ArrayList [] : String | provenance | | +| TextStringBuilderTest.java:41:29:41:35 | taint(...) : String | TextStringBuilderTest.java:41:13:41:23 | taintedList [post update] : ArrayList [] : String | provenance | MaD:11 | +| TextStringBuilderTest.java:42:63:42:66 | sb17 [post update] : TextStringBuilder | TextStringBuilderTest.java:42:97:42:100 | sb17 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:42:78:42:88 | taintedList : ArrayList [] : String | TextStringBuilderTest.java:42:63:42:66 | sb17 [post update] : TextStringBuilder | provenance | MaD:580 | +| TextStringBuilderTest.java:42:97:42:100 | sb17 : TextStringBuilder | TextStringBuilderTest.java:42:97:42:111 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:42:97:42:100 | sb17 : TextStringBuilder | TextStringBuilderTest.java:42:97:42:111 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:43:63:43:66 | sb18 [post update] : TextStringBuilder | TextStringBuilderTest.java:43:108:43:111 | sb18 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:43:78:43:88 | taintedList : ArrayList [] : String | TextStringBuilderTest.java:43:78:43:99 | iterator(...) : Iterator [] : String | provenance | MaD:7 | +| TextStringBuilderTest.java:43:78:43:99 | iterator(...) : Iterator [] : String | TextStringBuilderTest.java:43:63:43:66 | sb18 [post update] : TextStringBuilder | provenance | MaD:581 | +| TextStringBuilderTest.java:43:108:43:111 | sb18 : TextStringBuilder | TextStringBuilderTest.java:43:108:43:122 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:43:108:43:111 | sb18 : TextStringBuilder | TextStringBuilderTest.java:43:108:43:122 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:45:59:45:62 | sb19 [post update] : TextStringBuilder | TextStringBuilderTest.java:45:98:45:101 | sb19 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:45:59:45:90 | new ..[] { .. } : Object[] [[]] : String | TextStringBuilderTest.java:45:59:45:62 | sb19 [post update] : TextStringBuilder | provenance | MaD:582 | +| TextStringBuilderTest.java:45:83:45:89 | taint(...) : String | TextStringBuilderTest.java:45:59:45:90 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| TextStringBuilderTest.java:45:98:45:101 | sb19 : TextStringBuilder | TextStringBuilderTest.java:45:98:45:112 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:45:98:45:101 | sb19 : TextStringBuilder | TextStringBuilderTest.java:45:98:45:112 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:46:59:46:62 | sb20 [post update] : TextStringBuilder | TextStringBuilderTest.java:46:98:46:101 | sb20 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:46:59:46:90 | new ..[] { .. } : Object[] [[]] : String | TextStringBuilderTest.java:46:59:46:62 | sb20 [post update] : TextStringBuilder | provenance | MaD:582 | +| TextStringBuilderTest.java:46:74:46:80 | taint(...) : String | TextStringBuilderTest.java:46:59:46:90 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| TextStringBuilderTest.java:46:98:46:101 | sb20 : TextStringBuilder | TextStringBuilderTest.java:46:98:46:112 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:46:98:46:101 | sb20 : TextStringBuilder | TextStringBuilderTest.java:46:98:46:112 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:47:59:47:62 | sb21 [post update] : TextStringBuilder | TextStringBuilderTest.java:47:111:47:114 | sb21 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:47:88:47:94 | taint(...) : String | TextStringBuilderTest.java:47:59:47:62 | sb21 [post update] : TextStringBuilder | provenance | MaD:584 | +| TextStringBuilderTest.java:47:111:47:114 | sb21 : TextStringBuilder | TextStringBuilderTest.java:47:111:47:125 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:47:111:47:114 | sb21 : TextStringBuilder | TextStringBuilderTest.java:47:111:47:125 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:48:59:48:62 | sb22 [post update] : TextStringBuilder | TextStringBuilderTest.java:48:112:48:115 | sb22 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:48:89:48:95 | taint(...) : String | TextStringBuilderTest.java:48:59:48:62 | sb22 [post update] : TextStringBuilder | provenance | MaD:586 | +| TextStringBuilderTest.java:48:112:48:115 | sb22 : TextStringBuilder | TextStringBuilderTest.java:48:112:48:126 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:48:112:48:115 | sb22 : TextStringBuilder | TextStringBuilderTest.java:48:112:48:126 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:49:59:49:62 | sb23 [post update] : TextStringBuilder | TextStringBuilderTest.java:49:102:49:105 | sb23 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:49:73:49:79 | taint(...) : String | TextStringBuilderTest.java:49:73:49:93 | toCharArray(...) : char[] | provenance | MaD:8 | +| TextStringBuilderTest.java:49:73:49:93 | toCharArray(...) : char[] | TextStringBuilderTest.java:49:59:49:62 | sb23 [post update] : TextStringBuilder | provenance | MaD:601 | +| TextStringBuilderTest.java:49:102:49:105 | sb23 : TextStringBuilder | TextStringBuilderTest.java:49:102:49:116 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:49:102:49:105 | sb23 : TextStringBuilder | TextStringBuilderTest.java:49:102:49:116 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:50:59:50:62 | sb24 [post update] : TextStringBuilder | TextStringBuilderTest.java:50:108:50:111 | sb24 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:50:73:50:79 | taint(...) : String | TextStringBuilderTest.java:50:73:50:93 | toCharArray(...) : char[] | provenance | MaD:8 | +| TextStringBuilderTest.java:50:73:50:93 | toCharArray(...) : char[] | TextStringBuilderTest.java:50:59:50:62 | sb24 [post update] : TextStringBuilder | provenance | MaD:602 | +| TextStringBuilderTest.java:50:108:50:111 | sb24 : TextStringBuilder | TextStringBuilderTest.java:50:108:50:122 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:50:108:50:111 | sb24 : TextStringBuilder | TextStringBuilderTest.java:50:108:50:122 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:51:59:51:62 | sb25 [post update] : TextStringBuilder | TextStringBuilderTest.java:51:96:51:99 | sb25 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:51:73:51:87 | (...)... : String | TextStringBuilderTest.java:51:59:51:62 | sb25 [post update] : TextStringBuilder | provenance | MaD:603 | +| TextStringBuilderTest.java:51:81:51:87 | taint(...) : String | TextStringBuilderTest.java:51:73:51:87 | (...)... : String | provenance | | +| TextStringBuilderTest.java:51:96:51:99 | sb25 : TextStringBuilder | TextStringBuilderTest.java:51:96:51:110 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:51:96:51:99 | sb25 : TextStringBuilder | TextStringBuilderTest.java:51:96:51:110 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:53:64:53:68 | auxsb [post update] : TextStringBuilder | TextStringBuilderTest.java:54:77:54:81 | auxsb : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:53:79:53:85 | taint(...) : String | TextStringBuilderTest.java:53:64:53:68 | auxsb [post update] : TextStringBuilder | provenance | MaD:604 | +| TextStringBuilderTest.java:54:63:54:66 | sb26 [post update] : TextStringBuilder | TextStringBuilderTest.java:54:90:54:93 | sb26 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:54:77:54:81 | auxsb : TextStringBuilder | TextStringBuilderTest.java:54:63:54:66 | sb26 [post update] : TextStringBuilder | provenance | MaD:612 | +| TextStringBuilderTest.java:54:90:54:93 | sb26 : TextStringBuilder | TextStringBuilderTest.java:54:90:54:104 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:54:90:54:93 | sb26 : TextStringBuilder | TextStringBuilderTest.java:54:90:54:104 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:56:59:56:62 | sb27 [post update] : TextStringBuilder | TextStringBuilderTest.java:56:106:56:109 | sb27 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:56:73:56:97 | new StringBuffer(...) : StringBuffer | TextStringBuilderTest.java:56:59:56:62 | sb27 [post update] : TextStringBuilder | provenance | MaD:608 | +| TextStringBuilderTest.java:56:90:56:96 | taint(...) : String | TextStringBuilderTest.java:56:73:56:97 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| TextStringBuilderTest.java:56:106:56:109 | sb27 : TextStringBuilder | TextStringBuilderTest.java:56:106:56:120 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:56:106:56:109 | sb27 : TextStringBuilder | TextStringBuilderTest.java:56:106:56:120 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:57:59:57:62 | sb28 [post update] : TextStringBuilder | TextStringBuilderTest.java:57:112:57:115 | sb28 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:57:73:57:97 | new StringBuffer(...) : StringBuffer | TextStringBuilderTest.java:57:59:57:62 | sb28 [post update] : TextStringBuilder | provenance | MaD:609 | +| TextStringBuilderTest.java:57:90:57:96 | taint(...) : String | TextStringBuilderTest.java:57:73:57:97 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| TextStringBuilderTest.java:57:112:57:115 | sb28 : TextStringBuilder | TextStringBuilderTest.java:57:112:57:126 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:57:112:57:115 | sb28 : TextStringBuilder | TextStringBuilderTest.java:57:112:57:126 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:58:59:58:62 | sb29 [post update] : TextStringBuilder | TextStringBuilderTest.java:58:107:58:110 | sb29 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:58:73:58:98 | new StringBuilder(...) : StringBuilder | TextStringBuilderTest.java:58:59:58:62 | sb29 [post update] : TextStringBuilder | provenance | MaD:610 | +| TextStringBuilderTest.java:58:91:58:97 | taint(...) : String | TextStringBuilderTest.java:58:73:58:98 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| TextStringBuilderTest.java:58:107:58:110 | sb29 : TextStringBuilder | TextStringBuilderTest.java:58:107:58:121 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:58:107:58:110 | sb29 : TextStringBuilder | TextStringBuilderTest.java:58:107:58:121 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:59:59:59:62 | sb30 [post update] : TextStringBuilder | TextStringBuilderTest.java:59:113:59:116 | sb30 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:59:73:59:98 | new StringBuilder(...) : StringBuilder | TextStringBuilderTest.java:59:59:59:62 | sb30 [post update] : TextStringBuilder | provenance | MaD:611 | +| TextStringBuilderTest.java:59:91:59:97 | taint(...) : String | TextStringBuilderTest.java:59:73:59:98 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| TextStringBuilderTest.java:59:113:59:116 | sb30 : TextStringBuilder | TextStringBuilderTest.java:59:113:59:127 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:59:113:59:116 | sb30 : TextStringBuilder | TextStringBuilderTest.java:59:113:59:127 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:60:59:60:62 | sb31 [post update] : TextStringBuilder | TextStringBuilderTest.java:60:88:60:91 | sb31 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:60:73:60:79 | taint(...) : String | TextStringBuilderTest.java:60:59:60:62 | sb31 [post update] : TextStringBuilder | provenance | MaD:604 | +| TextStringBuilderTest.java:60:88:60:91 | sb31 : TextStringBuilder | TextStringBuilderTest.java:60:88:60:102 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:60:88:60:91 | sb31 : TextStringBuilder | TextStringBuilderTest.java:60:88:60:102 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:61:59:61:62 | sb32 [post update] : TextStringBuilder | TextStringBuilderTest.java:61:94:61:97 | sb32 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:61:73:61:79 | taint(...) : String | TextStringBuilderTest.java:61:59:61:62 | sb32 [post update] : TextStringBuilder | provenance | MaD:605 | +| TextStringBuilderTest.java:61:94:61:97 | sb32 : TextStringBuilder | TextStringBuilderTest.java:61:94:61:108 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:61:94:61:97 | sb32 : TextStringBuilder | TextStringBuilderTest.java:61:94:61:108 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:62:59:62:62 | sb33 [post update] : TextStringBuilder | TextStringBuilderTest.java:62:106:62:109 | sb33 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:62:73:62:79 | taint(...) : String | TextStringBuilderTest.java:62:59:62:62 | sb33 [post update] : TextStringBuilder | provenance | MaD:606 | +| TextStringBuilderTest.java:62:106:62:109 | sb33 : TextStringBuilder | TextStringBuilderTest.java:62:106:62:120 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:62:106:62:109 | sb33 : TextStringBuilder | TextStringBuilderTest.java:62:106:62:120 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:63:59:63:62 | sb34 [post update] : TextStringBuilder | TextStringBuilderTest.java:63:113:63:116 | sb34 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:63:59:63:105 | new ..[] { .. } : Object[] [[]] : String | TextStringBuilderTest.java:63:59:63:62 | sb34 [post update] : TextStringBuilder | provenance | MaD:607 | +| TextStringBuilderTest.java:63:90:63:96 | taint(...) : String | TextStringBuilderTest.java:63:59:63:105 | new ..[] { .. } : Object[] [[]] : String | provenance | | +| TextStringBuilderTest.java:63:113:63:116 | sb34 : TextStringBuilder | TextStringBuilderTest.java:63:113:63:127 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:63:113:63:116 | sb34 : TextStringBuilder | TextStringBuilderTest.java:63:113:63:127 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:64:59:64:62 | sb35 [post update] : TextStringBuilder | TextStringBuilderTest.java:64:95:64:98 | sb35 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:64:80:64:86 | taint(...) : String | TextStringBuilderTest.java:64:59:64:62 | sb35 [post update] : TextStringBuilder | provenance | MaD:591 | +| TextStringBuilderTest.java:64:95:64:98 | sb35 : TextStringBuilder | TextStringBuilderTest.java:64:95:64:109 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:64:95:64:98 | sb35 : TextStringBuilder | TextStringBuilderTest.java:64:95:64:109 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:65:59:65:62 | sb36 [post update] : TextStringBuilder | TextStringBuilderTest.java:65:98:65:101 | sb36 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:65:80:65:86 | taint(...) : String | TextStringBuilderTest.java:65:59:65:62 | sb36 [post update] : TextStringBuilder | provenance | MaD:592 | +| TextStringBuilderTest.java:65:98:65:101 | sb36 : TextStringBuilder | TextStringBuilderTest.java:65:98:65:112 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:65:98:65:101 | sb36 : TextStringBuilder | TextStringBuilderTest.java:65:98:65:112 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:66:59:66:62 | sb37 [post update] : TextStringBuilder | TextStringBuilderTest.java:66:106:66:109 | sb37 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:66:80:66:86 | taint(...) : String | TextStringBuilderTest.java:66:59:66:62 | sb37 [post update] : TextStringBuilder | provenance | MaD:593 | +| TextStringBuilderTest.java:66:106:66:109 | sb37 : TextStringBuilder | TextStringBuilderTest.java:66:106:66:120 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:66:106:66:109 | sb37 : TextStringBuilder | TextStringBuilderTest.java:66:106:66:120 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:67:59:67:62 | sb38 [post update] : TextStringBuilder | TextStringBuilderTest.java:67:99:67:102 | sb38 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:67:84:67:90 | taint(...) : String | TextStringBuilderTest.java:67:59:67:62 | sb38 [post update] : TextStringBuilder | provenance | MaD:593 | +| TextStringBuilderTest.java:67:99:67:102 | sb38 : TextStringBuilder | TextStringBuilderTest.java:67:99:67:113 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:67:99:67:102 | sb38 : TextStringBuilder | TextStringBuilderTest.java:67:99:67:113 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:69:64:69:68 | auxsb [post update] : TextStringBuilder | TextStringBuilderTest.java:70:63:70:67 | auxsb : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:69:79:69:85 | taint(...) : String | TextStringBuilderTest.java:69:64:69:68 | auxsb [post update] : TextStringBuilder | provenance | MaD:604 | +| TextStringBuilderTest.java:70:63:70:67 | auxsb : TextStringBuilder | TextStringBuilderTest.java:70:78:70:81 | sb39 [post update] : TextStringBuilder | provenance | MaD:594 | +| TextStringBuilderTest.java:70:78:70:81 | sb39 [post update] : TextStringBuilder | TextStringBuilderTest.java:70:90:70:93 | sb39 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:70:90:70:93 | sb39 : TextStringBuilder | TextStringBuilderTest.java:70:90:70:104 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:70:90:70:93 | sb39 : TextStringBuilder | TextStringBuilderTest.java:70:90:70:104 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:74:13:74:23 | taintedList [post update] : ArrayList [] : String | TextStringBuilderTest.java:75:89:75:99 | taintedList : ArrayList [] : String | provenance | | +| TextStringBuilderTest.java:74:13:74:23 | taintedList [post update] : ArrayList [] : String | TextStringBuilderTest.java:76:89:76:99 | taintedList : ArrayList [] : String | provenance | | +| TextStringBuilderTest.java:74:29:74:35 | taint(...) : String | TextStringBuilderTest.java:74:13:74:23 | taintedList [post update] : ArrayList [] : String | provenance | MaD:11 | +| TextStringBuilderTest.java:75:63:75:66 | sb40 [post update] : TextStringBuilder | TextStringBuilderTest.java:75:114:75:117 | sb40 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:75:89:75:99 | taintedList : ArrayList [] : String | TextStringBuilderTest.java:75:63:75:66 | sb40 [post update] : TextStringBuilder | provenance | MaD:597 | +| TextStringBuilderTest.java:75:114:75:117 | sb40 : TextStringBuilder | TextStringBuilderTest.java:75:114:75:128 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:75:114:75:117 | sb40 : TextStringBuilder | TextStringBuilderTest.java:75:114:75:128 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:76:63:76:66 | sb41 [post update] : TextStringBuilder | TextStringBuilderTest.java:76:125:76:128 | sb41 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:76:89:76:99 | taintedList : ArrayList [] : String | TextStringBuilderTest.java:76:89:76:110 | iterator(...) : Iterator [] : String | provenance | MaD:7 | +| TextStringBuilderTest.java:76:89:76:110 | iterator(...) : Iterator [] : String | TextStringBuilderTest.java:76:63:76:66 | sb41 [post update] : TextStringBuilder | provenance | MaD:598 | +| TextStringBuilderTest.java:76:125:76:128 | sb41 : TextStringBuilder | TextStringBuilderTest.java:76:125:76:139 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:76:125:76:128 | sb41 : TextStringBuilder | TextStringBuilderTest.java:76:125:76:139 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:78:63:78:66 | sb42 [post update] : TextStringBuilder | TextStringBuilderTest.java:78:119:78:122 | sb42 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:78:104:78:110 | taint(...) : String | TextStringBuilderTest.java:78:63:78:66 | sb42 [post update] : TextStringBuilder | provenance | MaD:596 | +| TextStringBuilderTest.java:78:119:78:122 | sb42 : TextStringBuilder | TextStringBuilderTest.java:78:119:78:133 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:78:119:78:122 | sb42 : TextStringBuilder | TextStringBuilderTest.java:78:119:78:133 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:79:63:79:66 | sb43 [post update] : TextStringBuilder | TextStringBuilderTest.java:79:130:79:133 | sb43 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:79:115:79:121 | taint(...) : String | TextStringBuilderTest.java:79:63:79:66 | sb43 [post update] : TextStringBuilder | provenance | MaD:596 | +| TextStringBuilderTest.java:79:130:79:133 | sb43 : TextStringBuilder | TextStringBuilderTest.java:79:130:79:144 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:79:130:79:133 | sb43 : TextStringBuilder | TextStringBuilderTest.java:79:130:79:144 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:80:37:80:60 | {...} : String[] [[]] : String | TextStringBuilderTest.java:82:89:82:100 | taintedArray : String[] [[]] : String | provenance | | +| TextStringBuilderTest.java:80:52:80:58 | taint(...) : String | TextStringBuilderTest.java:80:37:80:60 | {...} : String[] [[]] : String | provenance | | +| TextStringBuilderTest.java:82:63:82:66 | sb44 [post update] : TextStringBuilder | TextStringBuilderTest.java:82:115:82:118 | sb44 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:82:89:82:100 | taintedArray : String[] [[]] : String | TextStringBuilderTest.java:82:63:82:66 | sb44 [post update] : TextStringBuilder | provenance | MaD:599 | +| TextStringBuilderTest.java:82:115:82:118 | sb44 : TextStringBuilder | TextStringBuilderTest.java:82:115:82:129 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:82:115:82:118 | sb44 : TextStringBuilder | TextStringBuilderTest.java:82:115:82:129 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:83:63:83:66 | sb45 [post update] : TextStringBuilder | TextStringBuilderTest.java:83:120:83:123 | sb45 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:83:105:83:111 | taint(...) : String | TextStringBuilderTest.java:83:63:83:66 | sb45 [post update] : TextStringBuilder | provenance | MaD:596 | +| TextStringBuilderTest.java:83:120:83:123 | sb45 : TextStringBuilder | TextStringBuilderTest.java:83:120:83:134 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:83:120:83:123 | sb45 : TextStringBuilder | TextStringBuilderTest.java:83:120:83:134 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:86:63:86:66 | sb46 [post update] : TextStringBuilder | TextStringBuilderTest.java:88:13:88:16 | sb46 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:86:75:86:81 | taint(...) : String | TextStringBuilderTest.java:86:63:86:66 | sb46 [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:88:13:88:16 | sb46 : TextStringBuilder | TextStringBuilderTest.java:88:13:88:27 | asReader(...) : Reader | provenance | MaD:613 | +| TextStringBuilderTest.java:88:13:88:27 | asReader(...) : Reader | TextStringBuilderTest.java:88:34:88:39 | target [post update] : char[] | provenance | MaD:2 | +| TextStringBuilderTest.java:88:34:88:39 | target [post update] : char[] | TextStringBuilderTest.java:89:18:89:23 | target | provenance | | +| TextStringBuilderTest.java:91:59:91:62 | sb47 [post update] : TextStringBuilder | TextStringBuilderTest.java:91:86:91:89 | sb47 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:91:71:91:77 | taint(...) : String | TextStringBuilderTest.java:91:59:91:62 | sb47 [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:91:86:91:89 | sb47 : TextStringBuilder | TextStringBuilderTest.java:91:86:91:103 | asTokenizer(...) : StringTokenizer | provenance | MaD:614 | +| TextStringBuilderTest.java:91:86:91:103 | asTokenizer(...) : StringTokenizer | TextStringBuilderTest.java:91:86:91:110 | next(...) | provenance | MaD:13 | +| TextStringBuilderTest.java:91:86:91:103 | asTokenizer(...) : StringTokenizer | TextStringBuilderTest.java:91:86:91:110 | next(...) | provenance | MaD:554 | +| TextStringBuilderTest.java:92:59:92:62 | sb48 [post update] : TextStringBuilder | TextStringBuilderTest.java:92:86:92:89 | sb48 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:92:71:92:77 | taint(...) : String | TextStringBuilderTest.java:92:59:92:62 | sb48 [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:92:86:92:89 | sb48 : TextStringBuilder | TextStringBuilderTest.java:92:86:92:97 | build(...) | provenance | MaD:615 | +| TextStringBuilderTest.java:93:59:93:62 | sb49 [post update] : TextStringBuilder | TextStringBuilderTest.java:93:86:93:89 | sb49 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:93:71:93:77 | taint(...) : String | TextStringBuilderTest.java:93:59:93:62 | sb49 [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:93:86:93:89 | sb49 : TextStringBuilder | TextStringBuilderTest.java:93:86:93:104 | getChars(...) | provenance | MaD:622 | +| TextStringBuilderTest.java:95:63:95:66 | sb50 [post update] : TextStringBuilder | TextStringBuilderTest.java:97:13:97:16 | sb50 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:95:75:95:81 | taint(...) : String | TextStringBuilderTest.java:95:63:95:66 | sb50 [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:97:13:97:16 | sb50 : TextStringBuilder | TextStringBuilderTest.java:97:27:97:32 | target [post update] : char[] | provenance | MaD:621 | +| TextStringBuilderTest.java:97:27:97:32 | target [post update] : char[] | TextStringBuilderTest.java:98:18:98:23 | target | provenance | | +| TextStringBuilderTest.java:101:63:101:66 | sb51 [post update] : TextStringBuilder | TextStringBuilderTest.java:103:13:103:16 | sb51 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:101:75:101:81 | taint(...) : String | TextStringBuilderTest.java:101:63:101:66 | sb51 [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:103:13:103:16 | sb51 : TextStringBuilder | TextStringBuilderTest.java:103:33:103:38 | target [post update] : char[] | provenance | MaD:623 | +| TextStringBuilderTest.java:103:33:103:38 | target [post update] : char[] | TextStringBuilderTest.java:104:18:104:23 | target | provenance | | +| TextStringBuilderTest.java:106:59:106:62 | sb52 [post update] : TextStringBuilder | TextStringBuilderTest.java:106:103:106:106 | sb52 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:106:74:106:80 | taint(...) : String | TextStringBuilderTest.java:106:74:106:94 | toCharArray(...) : char[] | provenance | MaD:8 | +| TextStringBuilderTest.java:106:74:106:94 | toCharArray(...) : char[] | TextStringBuilderTest.java:106:59:106:62 | sb52 [post update] : TextStringBuilder | provenance | MaD:625 | +| TextStringBuilderTest.java:106:103:106:106 | sb52 : TextStringBuilder | TextStringBuilderTest.java:106:103:106:117 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:106:103:106:106 | sb52 : TextStringBuilder | TextStringBuilderTest.java:106:103:106:117 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:107:59:107:62 | sb53 [post update] : TextStringBuilder | TextStringBuilderTest.java:107:109:107:112 | sb53 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:107:74:107:80 | taint(...) : String | TextStringBuilderTest.java:107:74:107:94 | toCharArray(...) : char[] | provenance | MaD:8 | +| TextStringBuilderTest.java:107:74:107:94 | toCharArray(...) : char[] | TextStringBuilderTest.java:107:59:107:62 | sb53 [post update] : TextStringBuilder | provenance | MaD:625 | +| TextStringBuilderTest.java:107:109:107:112 | sb53 : TextStringBuilder | TextStringBuilderTest.java:107:109:107:123 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:107:109:107:112 | sb53 : TextStringBuilder | TextStringBuilderTest.java:107:109:107:123 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:108:59:108:62 | sb54 [post update] : TextStringBuilder | TextStringBuilderTest.java:108:89:108:92 | sb54 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:108:74:108:80 | taint(...) : String | TextStringBuilderTest.java:108:59:108:62 | sb54 [post update] : TextStringBuilder | provenance | MaD:625 | +| TextStringBuilderTest.java:108:89:108:92 | sb54 : TextStringBuilder | TextStringBuilderTest.java:108:89:108:103 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:108:89:108:92 | sb54 : TextStringBuilder | TextStringBuilderTest.java:108:89:108:103 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:109:59:109:62 | sb55 [post update] : TextStringBuilder | TextStringBuilderTest.java:109:97:109:100 | sb55 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:109:74:109:88 | (...)... : String | TextStringBuilderTest.java:109:59:109:62 | sb55 [post update] : TextStringBuilder | provenance | MaD:625 | +| TextStringBuilderTest.java:109:82:109:88 | taint(...) : String | TextStringBuilderTest.java:109:74:109:88 | (...)... : String | provenance | | +| TextStringBuilderTest.java:109:97:109:100 | sb55 : TextStringBuilder | TextStringBuilderTest.java:109:97:109:111 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:109:97:109:100 | sb55 : TextStringBuilder | TextStringBuilderTest.java:109:97:109:111 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:110:59:110:62 | sb56 [post update] : TextStringBuilder | TextStringBuilderTest.java:110:86:110:89 | sb56 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:110:71:110:77 | taint(...) : String | TextStringBuilderTest.java:110:59:110:62 | sb56 [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:110:86:110:89 | sb56 : TextStringBuilder | TextStringBuilderTest.java:110:86:110:103 | leftString(...) | provenance | MaD:626 | +| TextStringBuilderTest.java:111:59:111:62 | sb57 [post update] : TextStringBuilder | TextStringBuilderTest.java:111:86:111:89 | sb57 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:111:71:111:77 | taint(...) : String | TextStringBuilderTest.java:111:59:111:62 | sb57 [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:111:86:111:89 | sb57 : TextStringBuilder | TextStringBuilderTest.java:111:86:111:105 | midString(...) | provenance | MaD:627 | +| TextStringBuilderTest.java:113:35:113:59 | new StringReader(...) : StringReader | TextStringBuilderTest.java:114:77:114:82 | reader : StringReader | provenance | | +| TextStringBuilderTest.java:113:52:113:58 | taint(...) : String | TextStringBuilderTest.java:113:35:113:59 | new StringReader(...) : StringReader | provenance | MaD:3 | +| TextStringBuilderTest.java:114:63:114:66 | sb58 [post update] : TextStringBuilder | TextStringBuilderTest.java:114:91:114:94 | sb58 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:114:77:114:82 | reader : StringReader | TextStringBuilderTest.java:114:63:114:66 | sb58 [post update] : TextStringBuilder | provenance | MaD:629 | +| TextStringBuilderTest.java:114:91:114:94 | sb58 : TextStringBuilder | TextStringBuilderTest.java:114:91:114:105 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:114:91:114:94 | sb58 : TextStringBuilder | TextStringBuilderTest.java:114:91:114:105 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:116:59:116:62 | sb59 [post update] : TextStringBuilder | TextStringBuilderTest.java:116:93:116:96 | sb59 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:116:78:116:84 | taint(...) : String | TextStringBuilderTest.java:116:59:116:62 | sb59 [post update] : TextStringBuilder | provenance | MaD:631 | +| TextStringBuilderTest.java:116:93:116:96 | sb59 : TextStringBuilder | TextStringBuilderTest.java:116:93:116:107 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:116:93:116:96 | sb59 : TextStringBuilder | TextStringBuilderTest.java:116:93:116:107 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:117:59:117:62 | sb60 [post update] : TextStringBuilder | TextStringBuilderTest.java:117:102:117:105 | sb60 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:117:78:117:84 | taint(...) : String | TextStringBuilderTest.java:117:59:117:62 | sb60 [post update] : TextStringBuilder | provenance | MaD:632 | +| TextStringBuilderTest.java:117:102:117:105 | sb60 : TextStringBuilder | TextStringBuilderTest.java:117:102:117:116 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:117:102:117:105 | sb60 : TextStringBuilder | TextStringBuilderTest.java:117:102:117:116 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:118:59:118:62 | sb61 [post update] : TextStringBuilder | TextStringBuilderTest.java:118:111:118:114 | sb61 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:118:96:118:102 | taint(...) : String | TextStringBuilderTest.java:118:59:118:62 | sb61 [post update] : TextStringBuilder | provenance | MaD:634 | +| TextStringBuilderTest.java:118:111:118:114 | sb61 : TextStringBuilder | TextStringBuilderTest.java:118:111:118:125 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:118:111:118:114 | sb61 : TextStringBuilder | TextStringBuilderTest.java:118:111:118:125 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:119:59:119:62 | sb62 [post update] : TextStringBuilder | TextStringBuilderTest.java:119:100:119:103 | sb62 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:119:85:119:91 | taint(...) : String | TextStringBuilderTest.java:119:59:119:62 | sb62 [post update] : TextStringBuilder | provenance | MaD:634 | +| TextStringBuilderTest.java:119:100:119:103 | sb62 : TextStringBuilder | TextStringBuilderTest.java:119:100:119:114 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:119:100:119:103 | sb62 : TextStringBuilder | TextStringBuilderTest.java:119:100:119:114 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:121:59:121:62 | sb64 [post update] : TextStringBuilder | TextStringBuilderTest.java:121:113:121:116 | sb64 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:121:98:121:104 | taint(...) : String | TextStringBuilderTest.java:121:59:121:62 | sb64 [post update] : TextStringBuilder | provenance | MaD:636 | +| TextStringBuilderTest.java:121:113:121:116 | sb64 : TextStringBuilder | TextStringBuilderTest.java:121:113:121:127 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:121:113:121:116 | sb64 : TextStringBuilder | TextStringBuilderTest.java:121:113:121:127 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:122:59:122:62 | sb65 [post update] : TextStringBuilder | TextStringBuilderTest.java:122:102:122:105 | sb65 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:122:87:122:93 | taint(...) : String | TextStringBuilderTest.java:122:59:122:62 | sb65 [post update] : TextStringBuilder | provenance | MaD:636 | +| TextStringBuilderTest.java:122:102:122:105 | sb65 : TextStringBuilder | TextStringBuilderTest.java:122:102:122:116 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:122:102:122:105 | sb65 : TextStringBuilder | TextStringBuilderTest.java:122:102:122:116 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:124:59:124:62 | sb67 [post update] : TextStringBuilder | TextStringBuilderTest.java:124:86:124:89 | sb67 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:124:71:124:77 | taint(...) : String | TextStringBuilderTest.java:124:59:124:62 | sb67 [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:124:86:124:89 | sb67 : TextStringBuilder | TextStringBuilderTest.java:124:86:124:104 | rightString(...) | provenance | MaD:638 | +| TextStringBuilderTest.java:125:59:125:62 | sb68 [post update] : TextStringBuilder | TextStringBuilderTest.java:125:86:125:89 | sb68 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:125:71:125:77 | taint(...) : String | TextStringBuilderTest.java:125:59:125:62 | sb68 [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:125:86:125:89 | sb68 : TextStringBuilder | TextStringBuilderTest.java:125:86:125:107 | subSequence(...) | provenance | MaD:5 | +| TextStringBuilderTest.java:125:86:125:89 | sb68 : TextStringBuilder | TextStringBuilderTest.java:125:86:125:107 | subSequence(...) | provenance | MaD:643 | +| TextStringBuilderTest.java:126:59:126:62 | sb69 [post update] : TextStringBuilder | TextStringBuilderTest.java:126:86:126:89 | sb69 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:126:71:126:77 | taint(...) : String | TextStringBuilderTest.java:126:59:126:62 | sb69 [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:126:86:126:89 | sb69 : TextStringBuilder | TextStringBuilderTest.java:126:86:126:102 | substring(...) | provenance | MaD:644 | +| TextStringBuilderTest.java:127:59:127:62 | sb70 [post update] : TextStringBuilder | TextStringBuilderTest.java:127:86:127:89 | sb70 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:127:71:127:77 | taint(...) : String | TextStringBuilderTest.java:127:59:127:62 | sb70 [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:127:86:127:89 | sb70 : TextStringBuilder | TextStringBuilderTest.java:127:86:127:105 | substring(...) | provenance | MaD:644 | +| TextStringBuilderTest.java:128:59:128:62 | sb71 [post update] : TextStringBuilder | TextStringBuilderTest.java:128:86:128:89 | sb71 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:128:71:128:77 | taint(...) : String | TextStringBuilderTest.java:128:59:128:62 | sb71 [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:128:86:128:89 | sb71 : TextStringBuilder | TextStringBuilderTest.java:128:86:128:103 | toCharArray(...) | provenance | MaD:645 | +| TextStringBuilderTest.java:129:59:129:62 | sb72 [post update] : TextStringBuilder | TextStringBuilderTest.java:129:86:129:89 | sb72 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:129:71:129:77 | taint(...) : String | TextStringBuilderTest.java:129:59:129:62 | sb72 [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:129:86:129:89 | sb72 : TextStringBuilder | TextStringBuilderTest.java:129:86:129:107 | toCharArray(...) | provenance | MaD:645 | +| TextStringBuilderTest.java:130:59:130:62 | sb73 [post update] : TextStringBuilder | TextStringBuilderTest.java:130:86:130:89 | sb73 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:130:71:130:77 | taint(...) : String | TextStringBuilderTest.java:130:59:130:62 | sb73 [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:130:86:130:89 | sb73 : TextStringBuilder | TextStringBuilderTest.java:130:86:130:106 | toStringBuffer(...) | provenance | MaD:647 | +| TextStringBuilderTest.java:131:59:131:62 | sb74 [post update] : TextStringBuilder | TextStringBuilderTest.java:131:86:131:89 | sb74 : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:131:71:131:77 | taint(...) : String | TextStringBuilderTest.java:131:59:131:62 | sb74 [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:131:86:131:89 | sb74 : TextStringBuilder | TextStringBuilderTest.java:131:86:131:107 | toStringBuilder(...) | provenance | MaD:648 | +| TextStringBuilderTest.java:136:14:136:58 | append(...) : TextStringBuilder | TextStringBuilderTest.java:136:14:136:82 | append(...) : TextStringBuilder | provenance | MaD:562 | +| TextStringBuilderTest.java:136:14:136:82 | append(...) : TextStringBuilder | TextStringBuilderTest.java:136:14:136:93 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:136:14:136:82 | append(...) : TextStringBuilder | TextStringBuilderTest.java:136:14:136:93 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:136:51:136:57 | taint(...) : String | TextStringBuilderTest.java:136:14:136:58 | append(...) : TextStringBuilder | provenance | MaD:568+MaD:562 | +| TextStringBuilderTest.java:139:9:139:45 | append(...) [post update] : TextStringBuilder | TextStringBuilderTest.java:140:14:140:31 | fluentBackflowTest : TextStringBuilder | provenance | MaD:562 | +| TextStringBuilderTest.java:139:54:139:60 | taint(...) : String | TextStringBuilderTest.java:139:9:139:45 | append(...) [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:140:14:140:31 | fluentBackflowTest : TextStringBuilder | TextStringBuilderTest.java:140:14:140:42 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:140:14:140:31 | fluentBackflowTest : TextStringBuilder | TextStringBuilderTest.java:140:14:140:42 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:144:9:144:46 | append(...) [post update] : TextStringBuilder | TextStringBuilderTest.java:145:14:145:32 | fluentBackflowTest2 : TextStringBuilder | provenance | MaD:562 | +| TextStringBuilderTest.java:144:55:144:61 | taint(...) : String | TextStringBuilderTest.java:144:9:144:46 | append(...) [post update] : TextStringBuilder | provenance | MaD:568 | +| TextStringBuilderTest.java:145:14:145:32 | fluentBackflowTest2 : TextStringBuilder | TextStringBuilderTest.java:145:14:145:43 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:145:14:145:32 | fluentBackflowTest2 : TextStringBuilder | TextStringBuilderTest.java:145:14:145:43 | toString(...) | provenance | MaD:646 | +| TextStringBuilderTest.java:148:50:148:79 | new TextStringBuilder(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:149:33 | fluentAllMethodsTest : TextStringBuilder | provenance | | +| TextStringBuilderTest.java:148:72:148:78 | taint(...) : String | TextStringBuilderTest.java:148:50:148:79 | new TextStringBuilder(...) : TextStringBuilder | provenance | MaD:561 | +| TextStringBuilderTest.java:149:14:149:33 | fluentAllMethodsTest : TextStringBuilder | TextStringBuilderTest.java:149:14:150:23 | append(...) : TextStringBuilder | provenance | MaD:562 | +| TextStringBuilderTest.java:149:14:150:23 | append(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:151:26 | appendAll(...) : TextStringBuilder | provenance | MaD:579 | +| TextStringBuilderTest.java:149:14:151:26 | appendAll(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:152:48 | appendFixedWidthPadLeft(...) : TextStringBuilder | provenance | MaD:583 | +| TextStringBuilderTest.java:149:14:152:48 | appendFixedWidthPadLeft(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:153:49 | appendFixedWidthPadRight(...) : TextStringBuilder | provenance | MaD:585 | +| TextStringBuilderTest.java:149:14:153:49 | appendFixedWidthPadRight(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:154:25 | appendln(...) : TextStringBuilder | provenance | MaD:600 | +| TextStringBuilderTest.java:149:14:154:25 | appendln(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:155:24 | appendNewLine(...) : TextStringBuilder | provenance | MaD:587 | +| TextStringBuilderTest.java:149:14:155:24 | appendNewLine(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:156:21 | appendNull(...) : TextStringBuilder | provenance | MaD:588 | +| TextStringBuilderTest.java:149:14:156:21 | appendNull(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:157:30 | appendPadding(...) : TextStringBuilder | provenance | MaD:589 | +| TextStringBuilderTest.java:149:14:157:30 | appendPadding(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:158:29 | appendSeparator(...) : TextStringBuilder | provenance | MaD:590 | +| TextStringBuilderTest.java:149:14:158:29 | appendSeparator(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:159:52 | appendWithSeparators(...) : TextStringBuilder | provenance | MaD:595 | +| TextStringBuilderTest.java:149:14:159:52 | appendWithSeparators(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:160:21 | delete(...) : TextStringBuilder | provenance | MaD:616 | +| TextStringBuilderTest.java:149:14:160:21 | delete(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:161:23 | deleteAll(...) : TextStringBuilder | provenance | MaD:617 | +| TextStringBuilderTest.java:149:14:161:23 | deleteAll(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:162:24 | deleteCharAt(...) : TextStringBuilder | provenance | MaD:618 | +| TextStringBuilderTest.java:149:14:162:24 | deleteCharAt(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:163:29 | deleteFirst(...) : TextStringBuilder | provenance | MaD:619 | +| TextStringBuilderTest.java:149:14:163:29 | deleteFirst(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:164:28 | ensureCapacity(...) : TextStringBuilder | provenance | MaD:620 | +| TextStringBuilderTest.java:149:14:164:28 | ensureCapacity(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:165:30 | insert(...) : TextStringBuilder | provenance | MaD:624 | +| TextStringBuilderTest.java:149:14:165:30 | insert(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:166:27 | minimizeCapacity(...) : TextStringBuilder | provenance | MaD:628 | +| TextStringBuilderTest.java:149:14:166:27 | minimizeCapacity(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:167:37 | replace(...) : TextStringBuilder | provenance | MaD:630 | +| TextStringBuilderTest.java:149:14:167:37 | replace(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:168:38 | replaceAll(...) : TextStringBuilder | provenance | MaD:633 | +| TextStringBuilderTest.java:149:14:168:38 | replaceAll(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:169:40 | replaceFirst(...) : TextStringBuilder | provenance | MaD:635 | +| TextStringBuilderTest.java:149:14:169:40 | replaceFirst(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:170:18 | reverse(...) : TextStringBuilder | provenance | MaD:637 | +| TextStringBuilderTest.java:149:14:170:18 | reverse(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:171:26 | setCharAt(...) : TextStringBuilder | provenance | MaD:639 | +| TextStringBuilderTest.java:149:14:171:26 | setCharAt(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:172:23 | setLength(...) : TextStringBuilder | provenance | MaD:640 | +| TextStringBuilderTest.java:149:14:172:23 | setLength(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:173:34 | setNewLineText(...) : TextStringBuilder | provenance | MaD:641 | +| TextStringBuilderTest.java:149:14:173:34 | setNewLineText(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:174:28 | setNullText(...) : TextStringBuilder | provenance | MaD:642 | +| TextStringBuilderTest.java:149:14:174:28 | setNullText(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:175:15 | trim(...) | provenance | MaD:649 | +| TextStringBuilderTest.java:179:9:205:15 | trim(...) [post update] : TextStringBuilder | TextStringBuilderTest.java:207:14:207:34 | fluentAllMethodsTest2 | provenance | MaD:649 | +| TextStringBuilderTest.java:206:17:206:23 | taint(...) : String | TextStringBuilderTest.java:179:9:205:15 | trim(...) [post update] : TextStringBuilder | provenance | MaD:568 | +| ToStringBuilderTest.java:10:58:10:60 | sb1 [post update] : ToStringBuilder | ToStringBuilderTest.java:10:92:10:94 | sb1 : ToStringBuilder | provenance | | +| ToStringBuilderTest.java:10:69:10:83 | (...)... : String | ToStringBuilderTest.java:10:58:10:60 | sb1 [post update] : ToStringBuilder | provenance | MaD:20 | +| ToStringBuilderTest.java:10:77:10:83 | taint(...) : String | ToStringBuilderTest.java:10:69:10:83 | (...)... : String | provenance | | +| ToStringBuilderTest.java:10:92:10:94 | sb1 : ToStringBuilder | ToStringBuilderTest.java:10:92:10:105 | toString(...) | provenance | MaD:30 | +| ToStringBuilderTest.java:11:58:11:60 | sb2 [post update] : ToStringBuilder | ToStringBuilderTest.java:11:101:11:103 | sb2 : ToStringBuilder | provenance | | +| ToStringBuilderTest.java:11:69:11:92 | new Object[] : Object[] [[]] : String | ToStringBuilderTest.java:11:58:11:60 | sb2 [post update] : ToStringBuilder | provenance | MaD:21 | +| ToStringBuilderTest.java:11:69:11:92 | {...} : Object[] [[]] : String | ToStringBuilderTest.java:11:69:11:92 | new Object[] : Object[] [[]] : String | provenance | | +| ToStringBuilderTest.java:11:84:11:90 | taint(...) : String | ToStringBuilderTest.java:11:69:11:92 | {...} : Object[] [[]] : String | provenance | | +| ToStringBuilderTest.java:11:101:11:103 | sb2 : ToStringBuilder | ToStringBuilderTest.java:11:101:11:114 | toString(...) | provenance | MaD:30 | +| ToStringBuilderTest.java:12:58:12:60 | sb3 [post update] : ToStringBuilder | ToStringBuilderTest.java:12:90:12:92 | sb3 : ToStringBuilder | provenance | | +| ToStringBuilderTest.java:12:69:12:75 | taint(...) : String | ToStringBuilderTest.java:12:58:12:60 | sb3 [post update] : ToStringBuilder | provenance | MaD:22 | +| ToStringBuilderTest.java:12:90:12:92 | sb3 : ToStringBuilder | ToStringBuilderTest.java:12:90:12:103 | toString(...) | provenance | MaD:30 | +| ToStringBuilderTest.java:13:58:13:60 | sb4 [post update] : ToStringBuilder | ToStringBuilderTest.java:13:97:13:99 | sb4 : ToStringBuilder | provenance | | +| ToStringBuilderTest.java:13:82:13:88 | taint(...) : String | ToStringBuilderTest.java:13:58:13:60 | sb4 [post update] : ToStringBuilder | provenance | MaD:23 | +| ToStringBuilderTest.java:13:97:13:99 | sb4 : ToStringBuilder | ToStringBuilderTest.java:13:97:13:110 | toString(...) | provenance | MaD:30 | +| ToStringBuilderTest.java:14:58:14:60 | sb5 [post update] : ToStringBuilder | ToStringBuilderTest.java:14:114:14:116 | sb5 : ToStringBuilder | provenance | | +| ToStringBuilderTest.java:14:82:14:105 | new Object[] : Object[] [[]] : String | ToStringBuilderTest.java:14:58:14:60 | sb5 [post update] : ToStringBuilder | provenance | MaD:24 | +| ToStringBuilderTest.java:14:82:14:105 | {...} : Object[] [[]] : String | ToStringBuilderTest.java:14:82:14:105 | new Object[] : Object[] [[]] : String | provenance | | +| ToStringBuilderTest.java:14:97:14:103 | taint(...) : String | ToStringBuilderTest.java:14:82:14:105 | {...} : Object[] [[]] : String | provenance | | +| ToStringBuilderTest.java:14:114:14:116 | sb5 : ToStringBuilder | ToStringBuilderTest.java:14:114:14:127 | toString(...) | provenance | MaD:30 | +| ToStringBuilderTest.java:15:58:15:60 | sb6 [post update] : ToStringBuilder | ToStringBuilderTest.java:15:120:15:122 | sb6 : ToStringBuilder | provenance | | +| ToStringBuilderTest.java:15:82:15:105 | new Object[] : Object[] [[]] : String | ToStringBuilderTest.java:15:58:15:60 | sb6 [post update] : ToStringBuilder | provenance | MaD:25 | +| ToStringBuilderTest.java:15:82:15:105 | {...} : Object[] [[]] : String | ToStringBuilderTest.java:15:82:15:105 | new Object[] : Object[] [[]] : String | provenance | | +| ToStringBuilderTest.java:15:97:15:103 | taint(...) : String | ToStringBuilderTest.java:15:82:15:105 | {...} : Object[] [[]] : String | provenance | | +| ToStringBuilderTest.java:15:120:15:122 | sb6 : ToStringBuilder | ToStringBuilderTest.java:15:120:15:133 | toString(...) | provenance | MaD:30 | +| ToStringBuilderTest.java:18:58:18:60 | sb8 [post update] : ToStringBuilder | ToStringBuilderTest.java:18:89:18:91 | sb8 : ToStringBuilder | provenance | | +| ToStringBuilderTest.java:18:74:18:80 | taint(...) : String | ToStringBuilderTest.java:18:58:18:60 | sb8 [post update] : ToStringBuilder | provenance | MaD:26 | +| ToStringBuilderTest.java:18:89:18:91 | sb8 : ToStringBuilder | ToStringBuilderTest.java:18:89:18:102 | toString(...) | provenance | MaD:30 | +| ToStringBuilderTest.java:19:58:19:60 | sb9 [post update] : ToStringBuilder | ToStringBuilderTest.java:19:92:19:94 | sb9 : ToStringBuilder | provenance | | +| ToStringBuilderTest.java:19:77:19:83 | taint(...) : String | ToStringBuilderTest.java:19:58:19:60 | sb9 [post update] : ToStringBuilder | provenance | MaD:27 | +| ToStringBuilderTest.java:19:92:19:94 | sb9 : ToStringBuilder | ToStringBuilderTest.java:19:92:19:105 | toString(...) | provenance | MaD:30 | +| ToStringBuilderTest.java:20:59:20:62 | sb10 [post update] : ToStringBuilder | ToStringBuilderTest.java:20:94:20:97 | sb10 : ToStringBuilder | provenance | | +| ToStringBuilderTest.java:20:71:20:85 | (...)... : String | ToStringBuilderTest.java:20:59:20:62 | sb10 [post update] : ToStringBuilder | provenance | MaD:20 | +| ToStringBuilderTest.java:20:79:20:85 | taint(...) : String | ToStringBuilderTest.java:20:71:20:85 | (...)... : String | provenance | | +| ToStringBuilderTest.java:20:94:20:97 | sb10 : ToStringBuilder | ToStringBuilderTest.java:20:94:20:105 | build(...) | provenance | MaD:28 | +| ToStringBuilderTest.java:21:59:21:62 | sb11 [post update] : ToStringBuilder | ToStringBuilderTest.java:21:94:21:97 | sb11 : ToStringBuilder | provenance | | +| ToStringBuilderTest.java:21:71:21:85 | (...)... : String | ToStringBuilderTest.java:21:59:21:62 | sb11 [post update] : ToStringBuilder | provenance | MaD:20 | +| ToStringBuilderTest.java:21:79:21:85 | taint(...) : String | ToStringBuilderTest.java:21:71:21:85 | (...)... : String | provenance | | +| ToStringBuilderTest.java:21:94:21:97 | sb11 : ToStringBuilder | ToStringBuilderTest.java:21:94:21:115 | getStringBuffer(...) : StringBuffer | provenance | MaD:29 | +| ToStringBuilderTest.java:21:94:21:115 | getStringBuffer(...) : StringBuffer | ToStringBuilderTest.java:21:94:21:126 | toString(...) | provenance | MaD:6 | +| ToStringBuilderTest.java:25:14:25:58 | append(...) : ToStringBuilder | ToStringBuilderTest.java:25:14:25:82 | append(...) : ToStringBuilder | provenance | MaD:19 | +| ToStringBuilderTest.java:25:14:25:82 | append(...) : ToStringBuilder | ToStringBuilderTest.java:25:14:25:93 | toString(...) | provenance | MaD:30 | +| ToStringBuilderTest.java:25:51:25:57 | taint(...) : String | ToStringBuilderTest.java:25:14:25:58 | append(...) : ToStringBuilder | provenance | MaD:20+MaD:19 | +| ToStringBuilderTest.java:28:9:28:45 | append(...) [post update] : ToStringBuilder | ToStringBuilderTest.java:29:14:29:31 | fluentBackflowTest : ToStringBuilder | provenance | MaD:19 | +| ToStringBuilderTest.java:28:54:28:60 | taint(...) : String | ToStringBuilderTest.java:28:9:28:45 | append(...) [post update] : ToStringBuilder | provenance | MaD:20 | +| ToStringBuilderTest.java:29:14:29:31 | fluentBackflowTest : ToStringBuilder | ToStringBuilderTest.java:29:14:29:42 | toString(...) | provenance | MaD:30 | +| ToStringBuilderTest.java:33:9:33:46 | append(...) [post update] : ToStringBuilder | ToStringBuilderTest.java:34:14:34:32 | fluentBackflowTest2 : ToStringBuilder | provenance | MaD:19 | +| ToStringBuilderTest.java:33:55:33:61 | taint(...) : String | ToStringBuilderTest.java:33:9:33:46 | append(...) [post update] : ToStringBuilder | provenance | MaD:20 | +| ToStringBuilderTest.java:34:14:34:32 | fluentBackflowTest2 : ToStringBuilder | ToStringBuilderTest.java:34:14:34:43 | toString(...) | provenance | MaD:30 | +| TripleTest.java:16:61:16:118 | of(...) : ImmutableTriple [left] : String | TripleTest.java:21:12:21:22 | taintedLeft : ImmutableTriple [left] : String | provenance | | +| TripleTest.java:16:61:16:118 | of(...) : ImmutableTriple [left] : String | TripleTest.java:24:12:24:22 | taintedLeft : ImmutableTriple [left] : String | provenance | | +| TripleTest.java:16:61:16:118 | of(...) : ImmutableTriple [left] : String | TripleTest.java:45:12:45:23 | taintedLeft2 : ImmutableTriple [left] : String | provenance | | +| TripleTest.java:16:80:16:86 | taint(...) : String | TripleTest.java:16:61:16:118 | of(...) : ImmutableTriple [left] : String | provenance | MaD:378 | +| TripleTest.java:17:63:17:118 | of(...) : ImmutableTriple [middle] : String | TripleTest.java:28:12:28:24 | taintedMiddle : ImmutableTriple [middle] : String | provenance | | +| TripleTest.java:17:63:17:118 | of(...) : ImmutableTriple [middle] : String | TripleTest.java:31:12:31:24 | taintedMiddle : ImmutableTriple [middle] : String | provenance | | +| TripleTest.java:17:63:17:118 | of(...) : ImmutableTriple [middle] : String | TripleTest.java:49:12:49:25 | taintedMiddle2 : ImmutableTriple [middle] : String | provenance | | +| TripleTest.java:17:96:17:102 | taint(...) : String | TripleTest.java:17:63:17:118 | of(...) : ImmutableTriple [middle] : String | provenance | MaD:379 | +| TripleTest.java:18:62:18:118 | of(...) : ImmutableTriple [right] : String | TripleTest.java:35:12:35:23 | taintedRight : ImmutableTriple [right] : String | provenance | | +| TripleTest.java:18:62:18:118 | of(...) : ImmutableTriple [right] : String | TripleTest.java:38:12:38:23 | taintedRight : ImmutableTriple [right] : String | provenance | | +| TripleTest.java:18:62:18:118 | of(...) : ImmutableTriple [right] : String | TripleTest.java:53:12:53:24 | taintedRight2 : ImmutableTriple [right] : String | provenance | | +| TripleTest.java:18:111:18:117 | taint(...) : String | TripleTest.java:18:62:18:118 | of(...) : ImmutableTriple [right] : String | provenance | MaD:380 | +| TripleTest.java:21:12:21:22 | taintedLeft : ImmutableTriple [left] : String | TripleTest.java:21:12:21:32 | getLeft(...) | provenance | MaD:407 | +| TripleTest.java:24:12:24:22 | taintedLeft : ImmutableTriple [left] : String | TripleTest.java:24:12:24:27 | taintedLeft.left | provenance | | +| TripleTest.java:28:12:28:24 | taintedMiddle : ImmutableTriple [middle] : String | TripleTest.java:28:12:28:36 | getMiddle(...) | provenance | MaD:409 | +| TripleTest.java:31:12:31:24 | taintedMiddle : ImmutableTriple [middle] : String | TripleTest.java:31:12:31:31 | taintedMiddle.middle | provenance | | +| TripleTest.java:35:12:35:23 | taintedRight : ImmutableTriple [right] : String | TripleTest.java:35:12:35:34 | getRight(...) | provenance | MaD:411 | +| TripleTest.java:38:12:38:23 | taintedRight : ImmutableTriple [right] : String | TripleTest.java:38:12:38:29 | taintedRight.right | provenance | | +| TripleTest.java:45:12:45:23 | taintedLeft2 : ImmutableTriple [left] : String | TripleTest.java:45:12:45:33 | getLeft(...) | provenance | MaD:407 | +| TripleTest.java:49:12:49:25 | taintedMiddle2 : ImmutableTriple [middle] : String | TripleTest.java:49:12:49:37 | getMiddle(...) | provenance | MaD:409 | +| TripleTest.java:53:12:53:24 | taintedRight2 : ImmutableTriple [right] : String | TripleTest.java:53:12:53:35 | getRight(...) | provenance | MaD:411 | +| TripleTest.java:56:53:56:101 | of(...) : Triple [left] : String | TripleTest.java:60:12:60:23 | taintedLeft3 : Triple [left] : String | provenance | | +| TripleTest.java:56:63:56:69 | taint(...) : String | TripleTest.java:56:53:56:101 | of(...) : Triple [left] : String | provenance | MaD:413 | +| TripleTest.java:57:55:57:101 | of(...) : Triple [middle] : String | TripleTest.java:64:12:64:25 | taintedMiddle3 : Triple [middle] : String | provenance | | +| TripleTest.java:57:79:57:85 | taint(...) : String | TripleTest.java:57:55:57:101 | of(...) : Triple [middle] : String | provenance | MaD:414 | +| TripleTest.java:58:54:58:101 | of(...) : Triple [right] : String | TripleTest.java:68:12:68:24 | taintedRight3 : Triple [right] : String | provenance | | +| TripleTest.java:58:94:58:100 | taint(...) : String | TripleTest.java:58:54:58:101 | of(...) : Triple [right] : String | provenance | MaD:415 | +| TripleTest.java:60:12:60:23 | taintedLeft3 : Triple [left] : String | TripleTest.java:60:12:60:33 | getLeft(...) | provenance | MaD:407 | +| TripleTest.java:64:12:64:25 | taintedMiddle3 : Triple [middle] : String | TripleTest.java:64:12:64:37 | getMiddle(...) | provenance | MaD:409 | +| TripleTest.java:68:12:68:24 | taintedRight3 : Triple [right] : String | TripleTest.java:68:12:68:35 | getRight(...) | provenance | MaD:411 | +| TripleTest.java:71:62:71:120 | new ImmutableTriple<>(...) : ImmutableTriple [left] : String | TripleTest.java:75:12:75:23 | taintedLeft4 : ImmutableTriple [left] : String | provenance | | +| TripleTest.java:71:82:71:88 | taint(...) : String | TripleTest.java:71:62:71:120 | new ImmutableTriple<>(...) : ImmutableTriple [left] : String | provenance | MaD:375 | +| TripleTest.java:72:64:72:120 | new ImmutableTriple<>(...) : ImmutableTriple [middle] : String | TripleTest.java:79:12:79:25 | taintedMiddle4 : ImmutableTriple [middle] : String | provenance | | +| TripleTest.java:72:98:72:104 | taint(...) : String | TripleTest.java:72:64:72:120 | new ImmutableTriple<>(...) : ImmutableTriple [middle] : String | provenance | MaD:376 | +| TripleTest.java:73:63:73:120 | new ImmutableTriple<>(...) : ImmutableTriple [right] : String | TripleTest.java:83:12:83:24 | taintedRight4 : ImmutableTriple [right] : String | provenance | | +| TripleTest.java:73:113:73:119 | taint(...) : String | TripleTest.java:73:63:73:120 | new ImmutableTriple<>(...) : ImmutableTriple [right] : String | provenance | MaD:377 | +| TripleTest.java:75:12:75:23 | taintedLeft4 : ImmutableTriple [left] : String | TripleTest.java:75:12:75:33 | getLeft(...) | provenance | MaD:407 | +| TripleTest.java:79:12:79:25 | taintedMiddle4 : ImmutableTriple [middle] : String | TripleTest.java:79:12:79:37 | getMiddle(...) | provenance | MaD:409 | +| TripleTest.java:83:12:83:24 | taintedRight4 : ImmutableTriple [right] : String | TripleTest.java:83:12:83:35 | getRight(...) | provenance | MaD:411 | +| TripleTest.java:85:66:85:121 | of(...) : MutableTriple [left] : String | TripleTest.java:99:12:99:29 | mutableTaintedLeft : MutableTriple [left] : String | provenance | | +| TripleTest.java:85:66:85:121 | of(...) : MutableTriple [left] : String | TripleTest.java:102:12:102:29 | mutableTaintedLeft : MutableTriple [left] : String | provenance | | +| TripleTest.java:85:66:85:121 | of(...) : MutableTriple [left] : String | TripleTest.java:162:12:162:30 | mutableTaintedLeft2 : MutableTriple [left] : String | provenance | | +| TripleTest.java:85:83:85:89 | taint(...) : String | TripleTest.java:85:66:85:121 | of(...) : MutableTriple [left] : String | provenance | MaD:391 | +| TripleTest.java:86:68:86:121 | of(...) : MutableTriple [middle] : String | TripleTest.java:106:12:106:31 | mutableTaintedMiddle : MutableTriple [middle] : String | provenance | | +| TripleTest.java:86:68:86:121 | of(...) : MutableTriple [middle] : String | TripleTest.java:109:12:109:31 | mutableTaintedMiddle : MutableTriple [middle] : String | provenance | | +| TripleTest.java:86:68:86:121 | of(...) : MutableTriple [middle] : String | TripleTest.java:166:12:166:32 | mutableTaintedMiddle2 : MutableTriple [middle] : String | provenance | | +| TripleTest.java:86:99:86:105 | taint(...) : String | TripleTest.java:86:68:86:121 | of(...) : MutableTriple [middle] : String | provenance | MaD:392 | +| TripleTest.java:87:67:87:121 | of(...) : MutableTriple [right] : String | TripleTest.java:113:12:113:30 | mutableTaintedRight : MutableTriple [right] : String | provenance | | +| TripleTest.java:87:67:87:121 | of(...) : MutableTriple [right] : String | TripleTest.java:116:12:116:30 | mutableTaintedRight : MutableTriple [right] : String | provenance | | +| TripleTest.java:87:67:87:121 | of(...) : MutableTriple [right] : String | TripleTest.java:170:12:170:31 | mutableTaintedRight2 : MutableTriple [right] : String | provenance | | +| TripleTest.java:87:114:87:120 | taint(...) : String | TripleTest.java:87:67:87:121 | of(...) : MutableTriple [right] : String | provenance | MaD:393 | +| TripleTest.java:89:7:89:20 | setTaintedLeft [post update] : MutableTriple [left] : String | TripleTest.java:117:12:117:25 | setTaintedLeft : MutableTriple [left] : String | provenance | | +| TripleTest.java:89:7:89:20 | setTaintedLeft [post update] : MutableTriple [left] : String | TripleTest.java:120:12:120:25 | setTaintedLeft : MutableTriple [left] : String | provenance | | +| TripleTest.java:89:7:89:20 | setTaintedLeft [post update] : MutableTriple [left] : String | TripleTest.java:171:12:171:26 | setTaintedLeft2 : MutableTriple [left] : String | provenance | | +| TripleTest.java:89:30:89:36 | taint(...) : String | TripleTest.java:89:7:89:20 | setTaintedLeft [post update] : MutableTriple [left] : String | provenance | MaD:394 | +| TripleTest.java:91:7:91:22 | setTaintedMiddle [post update] : MutableTriple [middle] : String | TripleTest.java:124:12:124:27 | setTaintedMiddle : MutableTriple [middle] : String | provenance | | +| TripleTest.java:91:7:91:22 | setTaintedMiddle [post update] : MutableTriple [middle] : String | TripleTest.java:127:12:127:27 | setTaintedMiddle : MutableTriple [middle] : String | provenance | | +| TripleTest.java:91:7:91:22 | setTaintedMiddle [post update] : MutableTriple [middle] : String | TripleTest.java:175:12:175:28 | setTaintedMiddle2 : MutableTriple [middle] : String | provenance | | +| TripleTest.java:91:34:91:40 | taint(...) : String | TripleTest.java:91:7:91:22 | setTaintedMiddle [post update] : MutableTriple [middle] : String | provenance | MaD:395 | +| TripleTest.java:93:7:93:21 | setTaintedRight [post update] : MutableTriple [right] : String | TripleTest.java:131:12:131:26 | setTaintedRight : MutableTriple [right] : String | provenance | | +| TripleTest.java:93:7:93:21 | setTaintedRight [post update] : MutableTriple [right] : String | TripleTest.java:134:12:134:26 | setTaintedRight : MutableTriple [right] : String | provenance | | +| TripleTest.java:93:7:93:21 | setTaintedRight [post update] : MutableTriple [right] : String | TripleTest.java:179:12:179:27 | setTaintedRight2 : MutableTriple [right] : String | provenance | | +| TripleTest.java:93:32:93:38 | taint(...) : String | TripleTest.java:93:7:93:21 | setTaintedRight [post update] : MutableTriple [right] : String | provenance | MaD:396 | +| TripleTest.java:94:77:94:133 | new MutableTriple<>(...) : MutableTriple [left] : String | TripleTest.java:135:12:135:40 | mutableTaintedLeftConstructed : MutableTriple [left] : String | provenance | | +| TripleTest.java:94:77:94:133 | new MutableTriple<>(...) : MutableTriple [left] : String | TripleTest.java:138:12:138:40 | mutableTaintedLeftConstructed : MutableTriple [left] : String | provenance | | +| TripleTest.java:94:95:94:101 | taint(...) : String | TripleTest.java:94:77:94:133 | new MutableTriple<>(...) : MutableTriple [left] : String | provenance | MaD:388 | +| TripleTest.java:95:79:95:133 | new MutableTriple<>(...) : MutableTriple [middle] : String | TripleTest.java:142:12:142:42 | mutableTaintedMiddleConstructed : MutableTriple [middle] : String | provenance | | +| TripleTest.java:95:79:95:133 | new MutableTriple<>(...) : MutableTriple [middle] : String | TripleTest.java:145:12:145:42 | mutableTaintedMiddleConstructed : MutableTriple [middle] : String | provenance | | +| TripleTest.java:95:111:95:117 | taint(...) : String | TripleTest.java:95:79:95:133 | new MutableTriple<>(...) : MutableTriple [middle] : String | provenance | MaD:389 | +| TripleTest.java:96:78:96:133 | new MutableTriple<>(...) : MutableTriple [right] : String | TripleTest.java:149:12:149:41 | mutableTaintedRightConstructed : MutableTriple [right] : String | provenance | | +| TripleTest.java:96:78:96:133 | new MutableTriple<>(...) : MutableTriple [right] : String | TripleTest.java:152:12:152:41 | mutableTaintedRightConstructed : MutableTriple [right] : String | provenance | | +| TripleTest.java:96:126:96:132 | taint(...) : String | TripleTest.java:96:78:96:133 | new MutableTriple<>(...) : MutableTriple [right] : String | provenance | MaD:390 | +| TripleTest.java:99:12:99:29 | mutableTaintedLeft : MutableTriple [left] : String | TripleTest.java:99:12:99:39 | getLeft(...) | provenance | MaD:408 | +| TripleTest.java:102:12:102:29 | mutableTaintedLeft : MutableTriple [left] : String | TripleTest.java:102:12:102:34 | mutableTaintedLeft.left | provenance | | +| TripleTest.java:106:12:106:31 | mutableTaintedMiddle : MutableTriple [middle] : String | TripleTest.java:106:12:106:43 | getMiddle(...) | provenance | MaD:410 | +| TripleTest.java:109:12:109:31 | mutableTaintedMiddle : MutableTriple [middle] : String | TripleTest.java:109:12:109:38 | mutableTaintedMiddle.middle | provenance | | +| TripleTest.java:113:12:113:30 | mutableTaintedRight : MutableTriple [right] : String | TripleTest.java:113:12:113:41 | getRight(...) | provenance | MaD:412 | +| TripleTest.java:116:12:116:30 | mutableTaintedRight : MutableTriple [right] : String | TripleTest.java:116:12:116:36 | mutableTaintedRight.right | provenance | | +| TripleTest.java:117:12:117:25 | setTaintedLeft : MutableTriple [left] : String | TripleTest.java:117:12:117:35 | getLeft(...) | provenance | MaD:408 | +| TripleTest.java:120:12:120:25 | setTaintedLeft : MutableTriple [left] : String | TripleTest.java:120:12:120:30 | setTaintedLeft.left | provenance | | +| TripleTest.java:124:12:124:27 | setTaintedMiddle : MutableTriple [middle] : String | TripleTest.java:124:12:124:39 | getMiddle(...) | provenance | MaD:410 | +| TripleTest.java:127:12:127:27 | setTaintedMiddle : MutableTriple [middle] : String | TripleTest.java:127:12:127:34 | setTaintedMiddle.middle | provenance | | +| TripleTest.java:131:12:131:26 | setTaintedRight : MutableTriple [right] : String | TripleTest.java:131:12:131:37 | getRight(...) | provenance | MaD:412 | +| TripleTest.java:134:12:134:26 | setTaintedRight : MutableTriple [right] : String | TripleTest.java:134:12:134:32 | setTaintedRight.right | provenance | | +| TripleTest.java:135:12:135:40 | mutableTaintedLeftConstructed : MutableTriple [left] : String | TripleTest.java:135:12:135:50 | getLeft(...) | provenance | MaD:408 | +| TripleTest.java:138:12:138:40 | mutableTaintedLeftConstructed : MutableTriple [left] : String | TripleTest.java:138:12:138:45 | mutableTaintedLeftConstructed.left | provenance | | +| TripleTest.java:142:12:142:42 | mutableTaintedMiddleConstructed : MutableTriple [middle] : String | TripleTest.java:142:12:142:54 | getMiddle(...) | provenance | MaD:410 | +| TripleTest.java:145:12:145:42 | mutableTaintedMiddleConstructed : MutableTriple [middle] : String | TripleTest.java:145:12:145:49 | mutableTaintedMiddleConstructed.middle | provenance | | +| TripleTest.java:149:12:149:41 | mutableTaintedRightConstructed : MutableTriple [right] : String | TripleTest.java:149:12:149:52 | getRight(...) | provenance | MaD:412 | +| TripleTest.java:152:12:152:41 | mutableTaintedRightConstructed : MutableTriple [right] : String | TripleTest.java:152:12:152:47 | mutableTaintedRightConstructed.right | provenance | | +| TripleTest.java:162:12:162:30 | mutableTaintedLeft2 : MutableTriple [left] : String | TripleTest.java:162:12:162:40 | getLeft(...) | provenance | MaD:408 | +| TripleTest.java:166:12:166:32 | mutableTaintedMiddle2 : MutableTriple [middle] : String | TripleTest.java:166:12:166:44 | getMiddle(...) | provenance | MaD:410 | +| TripleTest.java:170:12:170:31 | mutableTaintedRight2 : MutableTriple [right] : String | TripleTest.java:170:12:170:42 | getRight(...) | provenance | MaD:412 | +| TripleTest.java:171:12:171:26 | setTaintedLeft2 : MutableTriple [left] : String | TripleTest.java:171:12:171:36 | getLeft(...) | provenance | MaD:408 | +| TripleTest.java:175:12:175:28 | setTaintedMiddle2 : MutableTriple [middle] : String | TripleTest.java:175:12:175:40 | getMiddle(...) | provenance | MaD:410 | +| TripleTest.java:179:12:179:27 | setTaintedRight2 : MutableTriple [right] : String | TripleTest.java:179:12:179:38 | getRight(...) | provenance | MaD:412 | +| WordUtilsTest.java:9:31:9:37 | taint(...) : String | WordUtilsTest.java:9:10:9:38 | capitalize(...) | provenance | MaD:357 | +| WordUtilsTest.java:10:31:10:37 | taint(...) : String | WordUtilsTest.java:10:10:10:48 | capitalize(...) | provenance | MaD:358 | +| WordUtilsTest.java:11:36:11:42 | taint(...) : String | WordUtilsTest.java:11:10:11:43 | capitalizeFully(...) | provenance | MaD:359 | +| WordUtilsTest.java:12:36:12:42 | taint(...) : String | WordUtilsTest.java:12:10:12:53 | capitalizeFully(...) | provenance | MaD:360 | +| WordUtilsTest.java:13:29:13:35 | taint(...) : String | WordUtilsTest.java:13:10:13:36 | initials(...) | provenance | MaD:361 | +| WordUtilsTest.java:14:29:14:35 | taint(...) : String | WordUtilsTest.java:14:10:14:46 | initials(...) | provenance | MaD:362 | +| WordUtilsTest.java:15:29:15:35 | taint(...) : String | WordUtilsTest.java:15:10:15:36 | swapCase(...) | provenance | MaD:363 | +| WordUtilsTest.java:16:33:16:39 | taint(...) : String | WordUtilsTest.java:16:10:16:40 | uncapitalize(...) | provenance | MaD:364 | +| WordUtilsTest.java:17:33:17:39 | taint(...) : String | WordUtilsTest.java:17:10:17:50 | uncapitalize(...) | provenance | MaD:365 | +| WordUtilsTest.java:18:25:18:31 | taint(...) : String | WordUtilsTest.java:18:10:18:35 | wrap(...) | provenance | MaD:366 | +| WordUtilsTest.java:19:25:19:31 | taint(...) : String | WordUtilsTest.java:19:10:19:48 | wrap(...) | provenance | MaD:366 | +| WordUtilsTest.java:20:39:20:45 | taint(...) : String | WordUtilsTest.java:20:10:20:53 | wrap(...) | provenance | MaD:367 | +| WordUtilsTest.java:21:25:21:31 | taint(...) : String | WordUtilsTest.java:21:10:21:54 | wrap(...) | provenance | MaD:366 | +| WordUtilsTest.java:22:39:22:45 | taint(...) : String | WordUtilsTest.java:22:10:22:59 | wrap(...) | provenance | MaD:368 | +| WordUtilsTextTest.java:9:31:9:37 | taint(...) : String | WordUtilsTextTest.java:9:10:9:57 | abbreviate(...) | provenance | MaD:650 | +| WordUtilsTextTest.java:10:54:10:60 | taint(...) : String | WordUtilsTextTest.java:10:10:10:61 | abbreviate(...) | provenance | MaD:651 | +| WordUtilsTextTest.java:11:31:11:37 | taint(...) : String | WordUtilsTextTest.java:11:10:11:38 | capitalize(...) | provenance | MaD:652 | +| WordUtilsTextTest.java:12:31:12:37 | taint(...) : String | WordUtilsTextTest.java:12:10:12:48 | capitalize(...) | provenance | MaD:653 | +| WordUtilsTextTest.java:13:36:13:42 | taint(...) : String | WordUtilsTextTest.java:13:10:13:43 | capitalizeFully(...) | provenance | MaD:654 | +| WordUtilsTextTest.java:14:36:14:42 | taint(...) : String | WordUtilsTextTest.java:14:10:14:53 | capitalizeFully(...) | provenance | MaD:655 | +| WordUtilsTextTest.java:15:29:15:35 | taint(...) : String | WordUtilsTextTest.java:15:10:15:36 | initials(...) | provenance | MaD:656 | +| WordUtilsTextTest.java:16:29:16:35 | taint(...) : String | WordUtilsTextTest.java:16:10:16:46 | initials(...) | provenance | MaD:657 | +| WordUtilsTextTest.java:17:29:17:35 | taint(...) : String | WordUtilsTextTest.java:17:10:17:36 | swapCase(...) | provenance | MaD:658 | +| WordUtilsTextTest.java:18:33:18:39 | taint(...) : String | WordUtilsTextTest.java:18:10:18:40 | uncapitalize(...) | provenance | MaD:659 | +| WordUtilsTextTest.java:19:33:19:39 | taint(...) : String | WordUtilsTextTest.java:19:10:19:50 | uncapitalize(...) | provenance | MaD:660 | +| WordUtilsTextTest.java:20:25:20:31 | taint(...) : String | WordUtilsTextTest.java:20:10:20:35 | wrap(...) | provenance | MaD:661 | +| WordUtilsTextTest.java:21:25:21:31 | taint(...) : String | WordUtilsTextTest.java:21:10:21:48 | wrap(...) | provenance | MaD:661 | +| WordUtilsTextTest.java:22:39:22:45 | taint(...) : String | WordUtilsTextTest.java:22:10:22:53 | wrap(...) | provenance | MaD:662 | +| WordUtilsTextTest.java:23:25:23:31 | taint(...) : String | WordUtilsTextTest.java:23:10:23:54 | wrap(...) | provenance | MaD:661 | +| WordUtilsTextTest.java:24:39:24:45 | taint(...) : String | WordUtilsTextTest.java:24:10:24:59 | wrap(...) | provenance | MaD:663 | +nodes +| ArrayUtilsTest.java:20:33:20:56 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| ArrayUtilsTest.java:20:48:20:54 | taint(...) : String | semmle.label | taint(...) : String | +| ArrayUtilsTest.java:23:12:23:44 | add(...) | semmle.label | add(...) | +| ArrayUtilsTest.java:23:12:23:44 | add(...) : String[] [[]] : String | semmle.label | add(...) : String[] [[]] : String | +| ArrayUtilsTest.java:23:37:23:43 | taint(...) : String | semmle.label | taint(...) : String | +| ArrayUtilsTest.java:24:12:24:53 | add(...) | semmle.label | add(...) | +| ArrayUtilsTest.java:24:12:24:53 | add(...) : String[] [[]] : String | semmle.label | add(...) : String[] [[]] : String | +| ArrayUtilsTest.java:24:27:24:40 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:26:12:26:41 | add(...) | semmle.label | add(...) | +| ArrayUtilsTest.java:26:12:26:41 | add(...) : String[] [[]] : String | semmle.label | add(...) : String[] [[]] : String | +| ArrayUtilsTest.java:26:34:26:40 | taint(...) : String | semmle.label | taint(...) : String | +| ArrayUtilsTest.java:27:12:27:50 | add(...) | semmle.label | add(...) | +| ArrayUtilsTest.java:27:12:27:50 | add(...) : String[] [[]] : String | semmle.label | add(...) : String[] [[]] : String | +| ArrayUtilsTest.java:27:27:27:40 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:28:12:28:53 | addAll(...) | semmle.label | addAll(...) | +| ArrayUtilsTest.java:28:12:28:53 | addAll(...) : String[] [[]] : String | semmle.label | addAll(...) : String[] [[]] : String | +| ArrayUtilsTest.java:28:12:28:53 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| ArrayUtilsTest.java:28:46:28:52 | taint(...) : String | semmle.label | taint(...) : String | +| ArrayUtilsTest.java:29:12:29:53 | addAll(...) | semmle.label | addAll(...) | +| ArrayUtilsTest.java:29:12:29:53 | addAll(...) : String[] [[]] : String | semmle.label | addAll(...) : String[] [[]] : String | +| ArrayUtilsTest.java:29:12:29:53 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| ArrayUtilsTest.java:29:37:29:43 | taint(...) : String | semmle.label | taint(...) : String | +| ArrayUtilsTest.java:30:12:30:67 | addAll(...) | semmle.label | addAll(...) | +| ArrayUtilsTest.java:30:12:30:67 | addAll(...) : String[] [[]] : String | semmle.label | addAll(...) : String[] [[]] : String | +| ArrayUtilsTest.java:30:30:30:43 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:31:12:31:46 | addFirst(...) | semmle.label | addFirst(...) | +| ArrayUtilsTest.java:31:12:31:46 | addFirst(...) : String[] [[]] : String | semmle.label | addFirst(...) : String[] [[]] : String | +| ArrayUtilsTest.java:31:39:31:45 | taint(...) : String | semmle.label | taint(...) : String | +| ArrayUtilsTest.java:32:12:32:55 | addFirst(...) | semmle.label | addFirst(...) | +| ArrayUtilsTest.java:32:12:32:55 | addFirst(...) : String[] [[]] : String | semmle.label | addFirst(...) : String[] [[]] : String | +| ArrayUtilsTest.java:32:32:32:45 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:33:12:33:43 | clone(...) | semmle.label | clone(...) | +| ArrayUtilsTest.java:33:12:33:43 | clone(...) : String[] [[]] : String | semmle.label | clone(...) : String[] [[]] : String | +| ArrayUtilsTest.java:33:29:33:42 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:34:12:34:44 | get(...) | semmle.label | get(...) | +| ArrayUtilsTest.java:34:27:34:40 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:36:12:36:61 | get(...) | semmle.label | get(...) | +| ArrayUtilsTest.java:36:27:36:40 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:38:12:38:44 | get(...) | semmle.label | get(...) | +| ArrayUtilsTest.java:38:37:38:43 | taint(...) : String | semmle.label | taint(...) : String | +| ArrayUtilsTest.java:40:12:40:67 | insert(...) | semmle.label | insert(...) | +| ArrayUtilsTest.java:40:12:40:67 | insert(...) : String[] [[]] : String | semmle.label | insert(...) : String[] [[]] : String | +| ArrayUtilsTest.java:40:33:40:46 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:41:12:41:57 | insert(...) | semmle.label | insert(...) | +| ArrayUtilsTest.java:41:12:41:57 | insert(...) : String[] [[]] : String | semmle.label | insert(...) : String[] [[]] : String | +| ArrayUtilsTest.java:41:12:41:57 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| ArrayUtilsTest.java:41:40:41:46 | taint(...) : String | semmle.label | taint(...) : String | +| ArrayUtilsTest.java:42:12:42:57 | insert(...) | semmle.label | insert(...) | +| ArrayUtilsTest.java:42:12:42:57 | insert(...) : String[] [[]] : String | semmle.label | insert(...) : String[] [[]] : String | +| ArrayUtilsTest.java:42:12:42:57 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| ArrayUtilsTest.java:42:50:42:56 | taint(...) : String | semmle.label | taint(...) : String | +| ArrayUtilsTest.java:43:12:43:49 | nullToEmpty(...) | semmle.label | nullToEmpty(...) | +| ArrayUtilsTest.java:43:12:43:49 | nullToEmpty(...) : String[] [[]] : String | semmle.label | nullToEmpty(...) : String[] [[]] : String | +| ArrayUtilsTest.java:43:35:43:48 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:44:12:44:65 | nullToEmpty(...) | semmle.label | nullToEmpty(...) | +| ArrayUtilsTest.java:44:12:44:65 | nullToEmpty(...) : String[] [[]] : String | semmle.label | nullToEmpty(...) : String[] [[]] : String | +| ArrayUtilsTest.java:44:35:44:48 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:45:12:45:47 | remove(...) | semmle.label | remove(...) | +| ArrayUtilsTest.java:45:12:45:47 | remove(...) : String[] [[]] : String | semmle.label | remove(...) : String[] [[]] : String | +| ArrayUtilsTest.java:45:30:45:43 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:47:12:47:53 | removeAll(...) | semmle.label | removeAll(...) | +| ArrayUtilsTest.java:47:12:47:53 | removeAll(...) : String[] [[]] : String | semmle.label | removeAll(...) : String[] [[]] : String | +| ArrayUtilsTest.java:47:33:47:46 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:51:12:51:76 | removeAllOccurences(...) | semmle.label | removeAllOccurences(...) | +| ArrayUtilsTest.java:51:12:51:76 | removeAllOccurences(...) : String[] [[]] : String | semmle.label | removeAllOccurences(...) : String[] [[]] : String | +| ArrayUtilsTest.java:51:43:51:56 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:53:12:53:77 | removeAllOccurrences(...) | semmle.label | removeAllOccurrences(...) | +| ArrayUtilsTest.java:53:12:53:77 | removeAllOccurrences(...) : String[] [[]] : String | semmle.label | removeAllOccurrences(...) : String[] [[]] : String | +| ArrayUtilsTest.java:53:44:53:57 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:55:12:55:70 | removeElement(...) | semmle.label | removeElement(...) | +| ArrayUtilsTest.java:55:12:55:70 | removeElement(...) : String[] [[]] : String | semmle.label | removeElement(...) : String[] [[]] : String | +| ArrayUtilsTest.java:55:37:55:50 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:56:12:56:58 | removeElements(...) | semmle.label | removeElements(...) | +| ArrayUtilsTest.java:56:12:56:58 | removeElements(...) : Object[] [[]] : String | semmle.label | removeElements(...) : Object[] [[]] : String | +| ArrayUtilsTest.java:56:38:56:51 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:59:12:59:52 | subarray(...) | semmle.label | subarray(...) | +| ArrayUtilsTest.java:59:12:59:52 | subarray(...) : String[] [[]] : String | semmle.label | subarray(...) : String[] [[]] : String | +| ArrayUtilsTest.java:59:32:59:45 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:61:12:61:47 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| ArrayUtilsTest.java:61:12:61:47 | toArray(...) | semmle.label | toArray(...) | +| ArrayUtilsTest.java:61:12:61:47 | toArray(...) : String[] [[]] : String | semmle.label | toArray(...) : String[] [[]] : String | +| ArrayUtilsTest.java:61:40:61:46 | taint(...) : String | semmle.label | taint(...) : String | +| ArrayUtilsTest.java:62:12:62:47 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| ArrayUtilsTest.java:62:12:62:47 | toArray(...) | semmle.label | toArray(...) | +| ArrayUtilsTest.java:62:12:62:47 | toArray(...) : String[] [[]] : String | semmle.label | toArray(...) : String[] [[]] : String | +| ArrayUtilsTest.java:62:31:62:37 | taint(...) : String | semmle.label | taint(...) : String | +| ArrayUtilsTest.java:63:12:63:43 | toMap(...) : Map [] : Object | semmle.label | toMap(...) : Map [] : Object | +| ArrayUtilsTest.java:63:12:63:54 | get(...) | semmle.label | get(...) | +| ArrayUtilsTest.java:63:29:63:42 | alreadyTainted : String[] [[]] : String | semmle.label | alreadyTainted : String[] [[]] : String | +| ArrayUtilsTest.java:68:27:68:57 | {...} : int[] [[]] : Number | semmle.label | {...} : int[] [[]] : Number | +| ArrayUtilsTest.java:68:39:68:55 | taint(...) : Number | semmle.label | taint(...) : Number | +| ArrayUtilsTest.java:69:36:69:67 | toObject(...) : Integer[] [[]] : Number | semmle.label | toObject(...) : Integer[] [[]] : Number | +| ArrayUtilsTest.java:69:56:69:66 | taintedInts : int[] [[]] : Number | semmle.label | taintedInts : int[] [[]] : Number | +| ArrayUtilsTest.java:70:12:70:27 | taintedBoxedInts | semmle.label | taintedBoxedInts | +| ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) | semmle.label | toPrimitive(...) | +| ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) : int[] [[]] : Number | semmle.label | toPrimitive(...) : int[] [[]] : Number | +| ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) : int[] [[]] : Object | semmle.label | toPrimitive(...) : int[] [[]] : Object | +| ArrayUtilsTest.java:71:35:71:50 | taintedBoxedInts : Integer[] | semmle.label | taintedBoxedInts : Integer[] | +| ArrayUtilsTest.java:71:35:71:50 | taintedBoxedInts : Integer[] [[]] : Number | semmle.label | taintedBoxedInts : Integer[] [[]] : Number | +| ArrayUtilsTest.java:72:12:72:70 | toPrimitive(...) | semmle.label | toPrimitive(...) | +| ArrayUtilsTest.java:72:12:72:70 | toPrimitive(...) : int[] [[]] : Number | semmle.label | toPrimitive(...) : int[] [[]] : Number | +| ArrayUtilsTest.java:72:53:72:69 | taint(...) : Number | semmle.label | taint(...) : Number | +| MutableTest.java:11:39:11:66 | new MutableObject(...) : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | semmle.label | new MutableObject(...) : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | +| MutableTest.java:11:59:11:65 | taint(...) : String | semmle.label | taint(...) : String | +| MutableTest.java:13:44:13:71 | new MutableObject(...) : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | semmle.label | new MutableObject(...) : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | +| MutableTest.java:13:64:13:70 | taint(...) : String | semmle.label | taint(...) : String | +| MutableTest.java:14:7:14:14 | taintSet [post update] : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | semmle.label | taintSet [post update] : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | +| MutableTest.java:14:25:14:31 | taint(...) : String | semmle.label | taint(...) : String | +| MutableTest.java:20:12:20:18 | tainted : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | semmle.label | tainted : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | +| MutableTest.java:20:12:20:29 | getValue(...) | semmle.label | getValue(...) | +| MutableTest.java:21:12:21:23 | taintedAlias : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | semmle.label | taintedAlias : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | +| MutableTest.java:21:12:21:34 | getValue(...) | semmle.label | getValue(...) | +| MutableTest.java:22:12:22:19 | taintSet : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | semmle.label | taintSet : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | +| MutableTest.java:22:12:22:30 | getValue(...) | semmle.label | getValue(...) | +| MutableTest.java:23:12:23:24 | taintSetAlias : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | semmle.label | taintSetAlias : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | +| MutableTest.java:23:12:23:35 | getValue(...) | semmle.label | getValue(...) | +| MutableTest.java:26:12:26:23 | taintCleared : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | semmle.label | taintCleared : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | +| MutableTest.java:26:12:26:34 | getValue(...) | semmle.label | getValue(...) | +| MutableTest.java:27:12:27:28 | taintClearedAlias : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | semmle.label | taintClearedAlias : MutableObject [org.apache.commons.lang3.mutable.MutableObject.value] : String | +| MutableTest.java:27:12:27:39 | getValue(...) | semmle.label | getValue(...) | +| ObjectUtilsTest.java:13:10:13:35 | clone(...) | semmle.label | clone(...) | +| ObjectUtilsTest.java:13:28:13:34 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:14:10:14:45 | cloneIfPossible(...) | semmle.label | cloneIfPossible(...) | +| ObjectUtilsTest.java:14:38:14:44 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:15:10:15:35 | CONST(...) | semmle.label | CONST(...) | +| ObjectUtilsTest.java:15:28:15:34 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:16:10:16:51 | CONST_SHORT(...) | semmle.label | CONST_SHORT(...) | +| ObjectUtilsTest.java:16:34:16:50 | taint(...) : Number | semmle.label | taint(...) : Number | +| ObjectUtilsTest.java:17:10:17:50 | CONST_BYTE(...) | semmle.label | CONST_BYTE(...) | +| ObjectUtilsTest.java:17:33:17:49 | taint(...) : Number | semmle.label | taint(...) : Number | +| ObjectUtilsTest.java:18:10:18:49 | defaultIfNull(...) | semmle.label | defaultIfNull(...) | +| ObjectUtilsTest.java:18:36:18:42 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:19:10:19:49 | defaultIfNull(...) | semmle.label | defaultIfNull(...) | +| ObjectUtilsTest.java:19:42:19:48 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:20:10:20:54 | firstNonNull(...) | semmle.label | firstNonNull(...) | +| ObjectUtilsTest.java:20:10:20:54 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| ObjectUtilsTest.java:20:35:20:41 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:21:10:21:54 | firstNonNull(...) | semmle.label | firstNonNull(...) | +| ObjectUtilsTest.java:21:10:21:54 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| ObjectUtilsTest.java:21:41:21:47 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:22:10:22:54 | firstNonNull(...) | semmle.label | firstNonNull(...) | +| ObjectUtilsTest.java:22:10:22:54 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| ObjectUtilsTest.java:22:47:22:53 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:23:10:23:45 | getIfNull(...) | semmle.label | getIfNull(...) | +| ObjectUtilsTest.java:23:32:23:38 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:24:10:24:45 | max(...) | semmle.label | max(...) | +| ObjectUtilsTest.java:24:10:24:45 | new ..[] { .. } : Comparable[] [[]] : String | semmle.label | new ..[] { .. } : Comparable[] [[]] : String | +| ObjectUtilsTest.java:24:26:24:32 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:25:10:25:45 | max(...) | semmle.label | max(...) | +| ObjectUtilsTest.java:25:10:25:45 | new ..[] { .. } : Comparable[] [[]] : String | semmle.label | new ..[] { .. } : Comparable[] [[]] : String | +| ObjectUtilsTest.java:25:32:25:38 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:26:10:26:45 | max(...) | semmle.label | max(...) | +| ObjectUtilsTest.java:26:10:26:45 | new ..[] { .. } : Comparable[] [[]] : String | semmle.label | new ..[] { .. } : Comparable[] [[]] : String | +| ObjectUtilsTest.java:26:38:26:44 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:27:10:27:48 | median(...) | semmle.label | median(...) | +| ObjectUtilsTest.java:27:10:27:48 | new ..[] { .. } : Comparable[] [[]] : String | semmle.label | new ..[] { .. } : Comparable[] [[]] : String | +| ObjectUtilsTest.java:27:29:27:35 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:28:10:28:56 | median(...) | semmle.label | median(...) | +| ObjectUtilsTest.java:28:10:28:56 | new ..[] { .. } : Comparable[] [[]] : String | semmle.label | new ..[] { .. } : Comparable[] [[]] : String | +| ObjectUtilsTest.java:28:43:28:49 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:29:10:29:56 | median(...) | semmle.label | median(...) | +| ObjectUtilsTest.java:29:10:29:56 | new ..[] { .. } : Comparable[] [[]] : String | semmle.label | new ..[] { .. } : Comparable[] [[]] : String | +| ObjectUtilsTest.java:29:49:29:55 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:30:10:30:45 | min(...) | semmle.label | min(...) | +| ObjectUtilsTest.java:30:10:30:45 | new ..[] { .. } : Comparable[] [[]] : String | semmle.label | new ..[] { .. } : Comparable[] [[]] : String | +| ObjectUtilsTest.java:30:26:30:32 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:31:10:31:45 | min(...) | semmle.label | min(...) | +| ObjectUtilsTest.java:31:10:31:45 | new ..[] { .. } : Comparable[] [[]] : String | semmle.label | new ..[] { .. } : Comparable[] [[]] : String | +| ObjectUtilsTest.java:31:32:31:38 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:32:10:32:45 | min(...) | semmle.label | min(...) | +| ObjectUtilsTest.java:32:10:32:45 | new ..[] { .. } : Comparable[] [[]] : String | semmle.label | new ..[] { .. } : Comparable[] [[]] : String | +| ObjectUtilsTest.java:32:38:32:44 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:33:10:33:46 | mode(...) | semmle.label | mode(...) | +| ObjectUtilsTest.java:33:10:33:46 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| ObjectUtilsTest.java:33:27:33:33 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:34:10:34:46 | mode(...) | semmle.label | mode(...) | +| ObjectUtilsTest.java:34:10:34:46 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| ObjectUtilsTest.java:34:33:34:39 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:35:10:35:46 | mode(...) | semmle.label | mode(...) | +| ObjectUtilsTest.java:35:10:35:46 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| ObjectUtilsTest.java:35:39:35:45 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:36:10:36:56 | requireNonEmpty(...) | semmle.label | requireNonEmpty(...) | +| ObjectUtilsTest.java:36:38:36:44 | taint(...) : String | semmle.label | taint(...) : String | +| ObjectUtilsTest.java:39:10:39:44 | toString(...) | semmle.label | toString(...) | +| ObjectUtilsTest.java:39:37:39:43 | taint(...) : String | semmle.label | taint(...) : String | +| PairTest.java:16:51:16:90 | of(...) : ImmutablePair [left] : String | semmle.label | of(...) : ImmutablePair [left] : String | +| PairTest.java:16:68:16:74 | taint(...) : String | semmle.label | taint(...) : String | +| PairTest.java:17:52:17:90 | of(...) : ImmutablePair [right] : String | semmle.label | of(...) : ImmutablePair [right] : String | +| PairTest.java:17:83:17:89 | taint(...) : String | semmle.label | taint(...) : String | +| PairTest.java:18:44:18:70 | left(...) : Pair [left] : String | semmle.label | left(...) : Pair [left] : String | +| PairTest.java:18:63:18:69 | taint(...) : String | semmle.label | taint(...) : String | +| PairTest.java:19:52:19:79 | (...)... : ImmutablePair [left] : String | semmle.label | (...)... : ImmutablePair [left] : String | +| PairTest.java:20:45:20:72 | right(...) : Pair [right] : String | semmle.label | right(...) : Pair [right] : String | +| PairTest.java:20:65:20:71 | taint(...) : String | semmle.label | taint(...) : String | +| PairTest.java:21:53:21:81 | (...)... : ImmutablePair [right] : String | semmle.label | (...)... : ImmutablePair [right] : String | +| PairTest.java:22:43:22:73 | of(...) : Pair [left] : String | semmle.label | of(...) : Pair [left] : String | +| PairTest.java:22:51:22:57 | taint(...) : String | semmle.label | taint(...) : String | +| PairTest.java:23:44:23:73 | of(...) : Pair [right] : String | semmle.label | of(...) : Pair [right] : String | +| PairTest.java:23:66:23:72 | taint(...) : String | semmle.label | taint(...) : String | +| PairTest.java:24:52:24:92 | new ImmutablePair<>(...) : ImmutablePair [left] : String | semmle.label | new ImmutablePair<>(...) : ImmutablePair [left] : String | +| PairTest.java:24:70:24:76 | taint(...) : String | semmle.label | taint(...) : String | +| PairTest.java:25:53:25:92 | new ImmutablePair<>(...) : ImmutablePair [right] : String | semmle.label | new ImmutablePair<>(...) : ImmutablePair [right] : String | +| PairTest.java:25:85:25:91 | taint(...) : String | semmle.label | taint(...) : String | +| PairTest.java:28:12:28:22 | taintedLeft : ImmutablePair [left] : String | semmle.label | taintedLeft : ImmutablePair [left] : String | +| PairTest.java:28:12:28:32 | getLeft(...) | semmle.label | getLeft(...) | +| PairTest.java:30:12:30:22 | taintedLeft : ImmutablePair [left] : String | semmle.label | taintedLeft : ImmutablePair [left] : String | +| PairTest.java:30:12:30:31 | getKey(...) | semmle.label | getKey(...) | +| PairTest.java:32:12:32:22 | taintedLeft : ImmutablePair [left] : String | semmle.label | taintedLeft : ImmutablePair [left] : String | +| PairTest.java:32:12:32:27 | taintedLeft.left | semmle.label | taintedLeft.left | +| PairTest.java:35:12:35:23 | taintedRight : ImmutablePair [right] : String | semmle.label | taintedRight : ImmutablePair [right] : String | +| PairTest.java:35:12:35:34 | getRight(...) | semmle.label | getRight(...) | +| PairTest.java:37:12:37:23 | taintedRight : ImmutablePair [right] : String | semmle.label | taintedRight : ImmutablePair [right] : String | +| PairTest.java:37:12:37:34 | getValue(...) | semmle.label | getValue(...) | +| PairTest.java:39:12:39:23 | taintedRight : ImmutablePair [right] : String | semmle.label | taintedRight : ImmutablePair [right] : String | +| PairTest.java:39:12:39:29 | taintedRight.right | semmle.label | taintedRight.right | +| PairTest.java:40:12:40:23 | taintedLeft2 : ImmutablePair [left] : String | semmle.label | taintedLeft2 : ImmutablePair [left] : String | +| PairTest.java:40:12:40:33 | getLeft(...) | semmle.label | getLeft(...) | +| PairTest.java:42:12:42:23 | taintedLeft2 : ImmutablePair [left] : String | semmle.label | taintedLeft2 : ImmutablePair [left] : String | +| PairTest.java:42:12:42:32 | getKey(...) | semmle.label | getKey(...) | +| PairTest.java:44:12:44:23 | taintedLeft2 : ImmutablePair [left] : String | semmle.label | taintedLeft2 : ImmutablePair [left] : String | +| PairTest.java:44:12:44:28 | taintedLeft2.left | semmle.label | taintedLeft2.left | +| PairTest.java:47:12:47:24 | taintedRight2 : ImmutablePair [right] : String | semmle.label | taintedRight2 : ImmutablePair [right] : String | +| PairTest.java:47:12:47:35 | getRight(...) | semmle.label | getRight(...) | +| PairTest.java:49:12:49:24 | taintedRight2 : ImmutablePair [right] : String | semmle.label | taintedRight2 : ImmutablePair [right] : String | +| PairTest.java:49:12:49:35 | getValue(...) | semmle.label | getValue(...) | +| PairTest.java:51:12:51:24 | taintedRight2 : ImmutablePair [right] : String | semmle.label | taintedRight2 : ImmutablePair [right] : String | +| PairTest.java:51:12:51:30 | taintedRight2.right | semmle.label | taintedRight2.right | +| PairTest.java:52:12:52:23 | taintedLeft3 : Pair [left] : String | semmle.label | taintedLeft3 : Pair [left] : String | +| PairTest.java:52:12:52:33 | getLeft(...) | semmle.label | getLeft(...) | +| PairTest.java:54:12:54:23 | taintedLeft3 : Pair [left] : String | semmle.label | taintedLeft3 : Pair [left] : String | +| PairTest.java:54:12:54:32 | getKey(...) | semmle.label | getKey(...) | +| PairTest.java:57:12:57:24 | taintedRight3 : Pair [right] : String | semmle.label | taintedRight3 : Pair [right] : String | +| PairTest.java:57:12:57:35 | getRight(...) | semmle.label | getRight(...) | +| PairTest.java:59:12:59:24 | taintedRight3 : Pair [right] : String | semmle.label | taintedRight3 : Pair [right] : String | +| PairTest.java:59:12:59:35 | getValue(...) | semmle.label | getValue(...) | +| PairTest.java:60:12:60:23 | taintedLeft4 : ImmutablePair [left] : String | semmle.label | taintedLeft4 : ImmutablePair [left] : String | +| PairTest.java:60:12:60:33 | getLeft(...) | semmle.label | getLeft(...) | +| PairTest.java:62:12:62:23 | taintedLeft4 : ImmutablePair [left] : String | semmle.label | taintedLeft4 : ImmutablePair [left] : String | +| PairTest.java:62:12:62:32 | getKey(...) | semmle.label | getKey(...) | +| PairTest.java:64:12:64:23 | taintedLeft4 : ImmutablePair [left] : String | semmle.label | taintedLeft4 : ImmutablePair [left] : String | +| PairTest.java:64:12:64:28 | taintedLeft4.left | semmle.label | taintedLeft4.left | +| PairTest.java:67:12:67:24 | taintedRight4 : ImmutablePair [right] : String | semmle.label | taintedRight4 : ImmutablePair [right] : String | +| PairTest.java:67:12:67:35 | getRight(...) | semmle.label | getRight(...) | +| PairTest.java:69:12:69:24 | taintedRight4 : ImmutablePair [right] : String | semmle.label | taintedRight4 : ImmutablePair [right] : String | +| PairTest.java:69:12:69:35 | getValue(...) | semmle.label | getValue(...) | +| PairTest.java:71:12:71:24 | taintedRight4 : ImmutablePair [right] : String | semmle.label | taintedRight4 : ImmutablePair [right] : String | +| PairTest.java:71:12:71:30 | taintedRight4.right | semmle.label | taintedRight4.right | +| PairTest.java:74:12:74:24 | taintedLeft2_ : Pair [left] : String | semmle.label | taintedLeft2_ : Pair [left] : String | +| PairTest.java:74:12:74:34 | getLeft(...) | semmle.label | getLeft(...) | +| PairTest.java:76:12:76:24 | taintedLeft2_ : Pair [left] : String | semmle.label | taintedLeft2_ : Pair [left] : String | +| PairTest.java:76:12:76:33 | getKey(...) | semmle.label | getKey(...) | +| PairTest.java:79:12:79:25 | taintedRight2_ : Pair [right] : String | semmle.label | taintedRight2_ : Pair [right] : String | +| PairTest.java:79:12:79:36 | getRight(...) | semmle.label | getRight(...) | +| PairTest.java:81:12:81:25 | taintedRight2_ : Pair [right] : String | semmle.label | taintedRight2_ : Pair [right] : String | +| PairTest.java:81:12:81:36 | getValue(...) | semmle.label | getValue(...) | +| PairTest.java:84:56:84:93 | of(...) : MutablePair [left] : String | semmle.label | of(...) : MutablePair [left] : String | +| PairTest.java:84:71:84:77 | taint(...) : String | semmle.label | taint(...) : String | +| PairTest.java:85:57:85:93 | of(...) : MutablePair [right] : String | semmle.label | of(...) : MutablePair [right] : String | +| PairTest.java:85:86:85:92 | taint(...) : String | semmle.label | taint(...) : String | +| PairTest.java:87:7:87:18 | setTaintLeft [post update] : MutablePair [left] : String | semmle.label | setTaintLeft [post update] : MutablePair [left] : String | +| PairTest.java:87:28:87:34 | taint(...) : String | semmle.label | taint(...) : String | +| PairTest.java:89:7:89:19 | setTaintRight [post update] : MutablePair [right] : String | semmle.label | setTaintRight [post update] : MutablePair [right] : String | +| PairTest.java:89:30:89:36 | taint(...) : String | semmle.label | taint(...) : String | +| PairTest.java:91:7:91:19 | setTaintValue [post update] : MutablePair [] : String | semmle.label | setTaintValue [post update] : MutablePair [] : String | +| PairTest.java:91:7:91:19 | setTaintValue [post update] : MutablePair [right] : String | semmle.label | setTaintValue [post update] : MutablePair [right] : String | +| PairTest.java:91:30:91:36 | taint(...) : String | semmle.label | taint(...) : String | +| PairTest.java:92:67:92:105 | new MutablePair<>(...) : MutablePair [left] : String | semmle.label | new MutablePair<>(...) : MutablePair [left] : String | +| PairTest.java:92:83:92:89 | taint(...) : String | semmle.label | taint(...) : String | +| PairTest.java:93:68:93:105 | new MutablePair<>(...) : MutablePair [right] : String | semmle.label | new MutablePair<>(...) : MutablePair [right] : String | +| PairTest.java:93:98:93:104 | taint(...) : String | semmle.label | taint(...) : String | +| PairTest.java:95:12:95:29 | taintedLeftMutable : MutablePair [left] : String | semmle.label | taintedLeftMutable : MutablePair [left] : String | +| PairTest.java:95:12:95:39 | getLeft(...) | semmle.label | getLeft(...) | +| PairTest.java:97:12:97:29 | taintedLeftMutable : MutablePair [left] : String | semmle.label | taintedLeftMutable : MutablePair [left] : String | +| PairTest.java:97:12:97:38 | getKey(...) | semmle.label | getKey(...) | +| PairTest.java:99:12:99:29 | taintedLeftMutable : MutablePair [left] : String | semmle.label | taintedLeftMutable : MutablePair [left] : String | +| PairTest.java:99:12:99:34 | taintedLeftMutable.left | semmle.label | taintedLeftMutable.left | +| PairTest.java:102:12:102:30 | taintedRightMutable : MutablePair [right] : String | semmle.label | taintedRightMutable : MutablePair [right] : String | +| PairTest.java:102:12:102:41 | getRight(...) | semmle.label | getRight(...) | +| PairTest.java:104:12:104:30 | taintedRightMutable : MutablePair [right] : String | semmle.label | taintedRightMutable : MutablePair [right] : String | +| PairTest.java:104:12:104:41 | getValue(...) | semmle.label | getValue(...) | +| PairTest.java:106:12:106:30 | taintedRightMutable : MutablePair [right] : String | semmle.label | taintedRightMutable : MutablePair [right] : String | +| PairTest.java:106:12:106:36 | taintedRightMutable.right | semmle.label | taintedRightMutable.right | +| PairTest.java:107:12:107:23 | setTaintLeft : MutablePair [left] : String | semmle.label | setTaintLeft : MutablePair [left] : String | +| PairTest.java:107:12:107:33 | getLeft(...) | semmle.label | getLeft(...) | +| PairTest.java:109:12:109:23 | setTaintLeft : MutablePair [left] : String | semmle.label | setTaintLeft : MutablePair [left] : String | +| PairTest.java:109:12:109:32 | getKey(...) | semmle.label | getKey(...) | +| PairTest.java:111:12:111:23 | setTaintLeft : MutablePair [left] : String | semmle.label | setTaintLeft : MutablePair [left] : String | +| PairTest.java:111:12:111:28 | setTaintLeft.left | semmle.label | setTaintLeft.left | +| PairTest.java:114:12:114:24 | setTaintRight : MutablePair [right] : String | semmle.label | setTaintRight : MutablePair [right] : String | +| PairTest.java:114:12:114:35 | getRight(...) | semmle.label | getRight(...) | +| PairTest.java:116:12:116:24 | setTaintRight : MutablePair [right] : String | semmle.label | setTaintRight : MutablePair [right] : String | +| PairTest.java:116:12:116:35 | getValue(...) | semmle.label | getValue(...) | +| PairTest.java:118:12:118:24 | setTaintRight : MutablePair [right] : String | semmle.label | setTaintRight : MutablePair [right] : String | +| PairTest.java:118:12:118:30 | setTaintRight.right | semmle.label | setTaintRight.right | +| PairTest.java:120:12:120:24 | setTaintValue : MutablePair [right] : String | semmle.label | setTaintValue : MutablePair [right] : String | +| PairTest.java:120:12:120:35 | getRight(...) | semmle.label | getRight(...) | +| PairTest.java:122:12:122:24 | setTaintValue : MutablePair [] : String | semmle.label | setTaintValue : MutablePair [] : String | +| PairTest.java:122:12:122:24 | setTaintValue : MutablePair [right] : String | semmle.label | setTaintValue : MutablePair [right] : String | +| PairTest.java:122:12:122:35 | getValue(...) | semmle.label | getValue(...) | +| PairTest.java:124:12:124:24 | setTaintValue : MutablePair [right] : String | semmle.label | setTaintValue : MutablePair [right] : String | +| PairTest.java:124:12:124:30 | setTaintValue.right | semmle.label | setTaintValue.right | +| PairTest.java:125:12:125:40 | taintedLeftMutableConstructed : MutablePair [left] : String | semmle.label | taintedLeftMutableConstructed : MutablePair [left] : String | +| PairTest.java:125:12:125:50 | getLeft(...) | semmle.label | getLeft(...) | +| PairTest.java:127:12:127:40 | taintedLeftMutableConstructed : MutablePair [left] : String | semmle.label | taintedLeftMutableConstructed : MutablePair [left] : String | +| PairTest.java:127:12:127:49 | getKey(...) | semmle.label | getKey(...) | +| PairTest.java:129:12:129:40 | taintedLeftMutableConstructed : MutablePair [left] : String | semmle.label | taintedLeftMutableConstructed : MutablePair [left] : String | +| PairTest.java:129:12:129:45 | taintedLeftMutableConstructed.left | semmle.label | taintedLeftMutableConstructed.left | +| PairTest.java:132:12:132:41 | taintedRightMutableConstructed : MutablePair [right] : String | semmle.label | taintedRightMutableConstructed : MutablePair [right] : String | +| PairTest.java:132:12:132:52 | getRight(...) | semmle.label | getRight(...) | +| PairTest.java:134:12:134:41 | taintedRightMutableConstructed : MutablePair [right] : String | semmle.label | taintedRightMutableConstructed : MutablePair [right] : String | +| PairTest.java:134:12:134:52 | getValue(...) | semmle.label | getValue(...) | +| PairTest.java:136:12:136:41 | taintedRightMutableConstructed : MutablePair [right] : String | semmle.label | taintedRightMutableConstructed : MutablePair [right] : String | +| PairTest.java:136:12:136:47 | taintedRightMutableConstructed.right | semmle.label | taintedRightMutableConstructed.right | +| PairTest.java:141:12:141:34 | taintedLeftMutableAlias : MutablePair [left] : String | semmle.label | taintedLeftMutableAlias : MutablePair [left] : String | +| PairTest.java:141:12:141:44 | getLeft(...) | semmle.label | getLeft(...) | +| PairTest.java:143:12:143:34 | taintedLeftMutableAlias : MutablePair [left] : String | semmle.label | taintedLeftMutableAlias : MutablePair [left] : String | +| PairTest.java:143:12:143:43 | getKey(...) | semmle.label | getKey(...) | +| PairTest.java:146:12:146:35 | taintedRightMutableAlias : MutablePair [right] : String | semmle.label | taintedRightMutableAlias : MutablePair [right] : String | +| PairTest.java:146:12:146:46 | getRight(...) | semmle.label | getRight(...) | +| PairTest.java:148:12:148:35 | taintedRightMutableAlias : MutablePair [right] : String | semmle.label | taintedRightMutableAlias : MutablePair [right] : String | +| PairTest.java:148:12:148:46 | getValue(...) | semmle.label | getValue(...) | +| RegExUtilsTest.java:13:10:13:52 | removeAll(...) | semmle.label | removeAll(...) | +| RegExUtilsTest.java:13:31:13:37 | taint(...) : String | semmle.label | taint(...) : String | +| RegExUtilsTest.java:14:10:14:47 | removeAll(...) | semmle.label | removeAll(...) | +| RegExUtilsTest.java:14:31:14:37 | taint(...) : String | semmle.label | taint(...) : String | +| RegExUtilsTest.java:15:10:15:54 | removeFirst(...) | semmle.label | removeFirst(...) | +| RegExUtilsTest.java:15:33:15:39 | taint(...) : String | semmle.label | taint(...) : String | +| RegExUtilsTest.java:16:10:16:49 | removeFirst(...) | semmle.label | removeFirst(...) | +| RegExUtilsTest.java:16:33:16:39 | taint(...) : String | semmle.label | taint(...) : String | +| RegExUtilsTest.java:17:10:17:51 | removePattern(...) | semmle.label | removePattern(...) | +| RegExUtilsTest.java:17:35:17:41 | taint(...) : String | semmle.label | taint(...) : String | +| RegExUtilsTest.java:18:10:18:68 | replaceAll(...) | semmle.label | replaceAll(...) | +| RegExUtilsTest.java:18:32:18:38 | taint(...) : String | semmle.label | taint(...) : String | +| RegExUtilsTest.java:19:10:19:63 | replaceAll(...) | semmle.label | replaceAll(...) | +| RegExUtilsTest.java:19:32:19:38 | taint(...) : String | semmle.label | taint(...) : String | +| RegExUtilsTest.java:20:10:20:70 | replaceFirst(...) | semmle.label | replaceFirst(...) | +| RegExUtilsTest.java:20:34:20:40 | taint(...) : String | semmle.label | taint(...) : String | +| RegExUtilsTest.java:21:10:21:65 | replaceFirst(...) | semmle.label | replaceFirst(...) | +| RegExUtilsTest.java:21:34:21:40 | taint(...) : String | semmle.label | taint(...) : String | +| RegExUtilsTest.java:22:10:22:67 | replacePattern(...) | semmle.label | replacePattern(...) | +| RegExUtilsTest.java:22:36:22:42 | taint(...) : String | semmle.label | taint(...) : String | +| RegExUtilsTest.java:23:10:23:65 | replaceAll(...) | semmle.label | replaceAll(...) | +| RegExUtilsTest.java:23:58:23:64 | taint(...) : String | semmle.label | taint(...) : String | +| RegExUtilsTest.java:24:10:24:60 | replaceAll(...) | semmle.label | replaceAll(...) | +| RegExUtilsTest.java:24:53:24:59 | taint(...) : String | semmle.label | taint(...) : String | +| RegExUtilsTest.java:25:10:25:67 | replaceFirst(...) | semmle.label | replaceFirst(...) | +| RegExUtilsTest.java:25:60:25:66 | taint(...) : String | semmle.label | taint(...) : String | +| RegExUtilsTest.java:26:10:26:62 | replaceFirst(...) | semmle.label | replaceFirst(...) | +| RegExUtilsTest.java:26:55:26:61 | taint(...) : String | semmle.label | taint(...) : String | +| RegExUtilsTest.java:27:10:27:64 | replacePattern(...) | semmle.label | replacePattern(...) | +| RegExUtilsTest.java:27:57:27:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:17:28:17:50 | new StrBuilder(...) : StrBuilder | semmle.label | new StrBuilder(...) : StrBuilder | +| StrBuilderTest.java:17:43:17:49 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:17:58:17:62 | cons1 : StrBuilder | semmle.label | cons1 : StrBuilder | +| StrBuilderTest.java:17:58:17:73 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:19:44:19:46 | sb1 [post update] : StrBuilder | semmle.label | sb1 [post update] : StrBuilder | +| StrBuilderTest.java:19:55:19:61 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:19:55:19:75 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrBuilderTest.java:19:84:19:86 | sb1 : StrBuilder | semmle.label | sb1 : StrBuilder | +| StrBuilderTest.java:19:84:19:97 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:20:44:20:46 | sb2 [post update] : StrBuilder | semmle.label | sb2 [post update] : StrBuilder | +| StrBuilderTest.java:20:55:20:61 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:20:55:20:75 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrBuilderTest.java:20:90:20:92 | sb2 : StrBuilder | semmle.label | sb2 : StrBuilder | +| StrBuilderTest.java:20:90:20:103 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:21:44:21:46 | sb3 [post update] : StrBuilder | semmle.label | sb3 [post update] : StrBuilder | +| StrBuilderTest.java:21:55:21:92 | wrap(...) : CharBuffer | semmle.label | wrap(...) : CharBuffer | +| StrBuilderTest.java:21:71:21:77 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:21:71:21:91 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrBuilderTest.java:21:101:21:103 | sb3 : StrBuilder | semmle.label | sb3 : StrBuilder | +| StrBuilderTest.java:21:101:21:114 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:22:44:22:46 | sb4 [post update] : StrBuilder | semmle.label | sb4 [post update] : StrBuilder | +| StrBuilderTest.java:22:55:22:92 | wrap(...) : CharBuffer | semmle.label | wrap(...) : CharBuffer | +| StrBuilderTest.java:22:71:22:77 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:22:71:22:91 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrBuilderTest.java:22:107:22:109 | sb4 : StrBuilder | semmle.label | sb4 : StrBuilder | +| StrBuilderTest.java:22:107:22:120 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:23:44:23:46 | sb5 [post update] : StrBuilder | semmle.label | sb5 [post update] : StrBuilder | +| StrBuilderTest.java:23:55:23:75 | (...)... : String | semmle.label | (...)... : String | +| StrBuilderTest.java:23:69:23:75 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:23:84:23:86 | sb5 : StrBuilder | semmle.label | sb5 : StrBuilder | +| StrBuilderTest.java:23:84:23:97 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:24:44:24:46 | sb6 [post update] : StrBuilder | semmle.label | sb6 [post update] : StrBuilder | +| StrBuilderTest.java:24:55:24:75 | (...)... : String | semmle.label | (...)... : String | +| StrBuilderTest.java:24:69:24:75 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:24:90:24:92 | sb6 : StrBuilder | semmle.label | sb6 : StrBuilder | +| StrBuilderTest.java:24:90:24:103 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:25:44:25:46 | sb7 [post update] : StrBuilder | semmle.label | sb7 [post update] : StrBuilder | +| StrBuilderTest.java:25:55:25:69 | (...)... : String | semmle.label | (...)... : String | +| StrBuilderTest.java:25:63:25:69 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:25:78:25:80 | sb7 : StrBuilder | semmle.label | sb7 : StrBuilder | +| StrBuilderTest.java:25:78:25:91 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:27:50:27:54 | auxsb [post update] : StrBuilder | semmle.label | auxsb [post update] : StrBuilder | +| StrBuilderTest.java:27:63:27:69 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:28:48:28:50 | sb8 [post update] : StrBuilder | semmle.label | sb8 [post update] : StrBuilder | +| StrBuilderTest.java:28:59:28:63 | auxsb : StrBuilder | semmle.label | auxsb : StrBuilder | +| StrBuilderTest.java:28:72:28:74 | sb8 : StrBuilder | semmle.label | sb8 : StrBuilder | +| StrBuilderTest.java:28:72:28:85 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:30:44:30:46 | sb9 [post update] : StrBuilder | semmle.label | sb9 [post update] : StrBuilder | +| StrBuilderTest.java:30:55:30:79 | new StringBuffer(...) : StringBuffer | semmle.label | new StringBuffer(...) : StringBuffer | +| StrBuilderTest.java:30:72:30:78 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:30:88:30:90 | sb9 : StrBuilder | semmle.label | sb9 : StrBuilder | +| StrBuilderTest.java:30:88:30:101 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:31:45:31:48 | sb10 [post update] : StrBuilder | semmle.label | sb10 [post update] : StrBuilder | +| StrBuilderTest.java:31:57:31:81 | new StringBuffer(...) : StringBuffer | semmle.label | new StringBuffer(...) : StringBuffer | +| StrBuilderTest.java:31:74:31:80 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:31:96:31:99 | sb10 : StrBuilder | semmle.label | sb10 : StrBuilder | +| StrBuilderTest.java:31:96:31:110 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:32:45:32:48 | sb11 [post update] : StrBuilder | semmle.label | sb11 [post update] : StrBuilder | +| StrBuilderTest.java:32:57:32:82 | new StringBuilder(...) : StringBuilder | semmle.label | new StringBuilder(...) : StringBuilder | +| StrBuilderTest.java:32:75:32:81 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:32:91:32:94 | sb11 : StrBuilder | semmle.label | sb11 : StrBuilder | +| StrBuilderTest.java:32:91:32:105 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:33:45:33:48 | sb12 [post update] : StrBuilder | semmle.label | sb12 [post update] : StrBuilder | +| StrBuilderTest.java:33:57:33:82 | new StringBuilder(...) : StringBuilder | semmle.label | new StringBuilder(...) : StringBuilder | +| StrBuilderTest.java:33:75:33:81 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:33:97:33:100 | sb12 : StrBuilder | semmle.label | sb12 : StrBuilder | +| StrBuilderTest.java:33:97:33:111 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:34:45:34:48 | sb13 [post update] : StrBuilder | semmle.label | sb13 [post update] : StrBuilder | +| StrBuilderTest.java:34:57:34:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:34:72:34:75 | sb13 : StrBuilder | semmle.label | sb13 : StrBuilder | +| StrBuilderTest.java:34:72:34:86 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:35:45:35:48 | sb14 [post update] : StrBuilder | semmle.label | sb14 [post update] : StrBuilder | +| StrBuilderTest.java:35:57:35:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:35:78:35:81 | sb14 : StrBuilder | semmle.label | sb14 : StrBuilder | +| StrBuilderTest.java:35:78:35:92 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:36:45:36:48 | sb15 [post update] : StrBuilder | semmle.label | sb15 [post update] : StrBuilder | +| StrBuilderTest.java:36:57:36:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:36:90:36:93 | sb15 : StrBuilder | semmle.label | sb15 : StrBuilder | +| StrBuilderTest.java:36:90:36:104 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:37:45:37:48 | sb16 [post update] : StrBuilder | semmle.label | sb16 [post update] : StrBuilder | +| StrBuilderTest.java:37:45:37:89 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| StrBuilderTest.java:37:74:37:80 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:37:97:37:100 | sb16 : StrBuilder | semmle.label | sb16 : StrBuilder | +| StrBuilderTest.java:37:97:37:111 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:40:13:40:23 | taintedList [post update] : ArrayList [] : String | semmle.label | taintedList [post update] : ArrayList [] : String | +| StrBuilderTest.java:40:29:40:35 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:41:49:41:52 | sb17 [post update] : StrBuilder | semmle.label | sb17 [post update] : StrBuilder | +| StrBuilderTest.java:41:64:41:74 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| StrBuilderTest.java:41:83:41:86 | sb17 : StrBuilder | semmle.label | sb17 : StrBuilder | +| StrBuilderTest.java:41:83:41:97 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:42:49:42:52 | sb18 [post update] : StrBuilder | semmle.label | sb18 [post update] : StrBuilder | +| StrBuilderTest.java:42:64:42:74 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| StrBuilderTest.java:42:64:42:85 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| StrBuilderTest.java:42:94:42:97 | sb18 : StrBuilder | semmle.label | sb18 : StrBuilder | +| StrBuilderTest.java:42:94:42:108 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:44:45:44:48 | sb19 [post update] : StrBuilder | semmle.label | sb19 [post update] : StrBuilder | +| StrBuilderTest.java:44:45:44:76 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| StrBuilderTest.java:44:69:44:75 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:44:84:44:87 | sb19 : StrBuilder | semmle.label | sb19 : StrBuilder | +| StrBuilderTest.java:44:84:44:98 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:45:45:45:48 | sb20 [post update] : StrBuilder | semmle.label | sb20 [post update] : StrBuilder | +| StrBuilderTest.java:45:45:45:76 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| StrBuilderTest.java:45:60:45:66 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:45:84:45:87 | sb20 : StrBuilder | semmle.label | sb20 : StrBuilder | +| StrBuilderTest.java:45:84:45:98 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:46:45:46:48 | sb21 [post update] : StrBuilder | semmle.label | sb21 [post update] : StrBuilder | +| StrBuilderTest.java:46:74:46:80 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:46:97:46:100 | sb21 : StrBuilder | semmle.label | sb21 : StrBuilder | +| StrBuilderTest.java:46:97:46:111 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:47:45:47:48 | sb22 [post update] : StrBuilder | semmle.label | sb22 [post update] : StrBuilder | +| StrBuilderTest.java:47:75:47:81 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:47:98:47:101 | sb22 : StrBuilder | semmle.label | sb22 : StrBuilder | +| StrBuilderTest.java:47:98:47:112 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:48:45:48:48 | sb23 [post update] : StrBuilder | semmle.label | sb23 [post update] : StrBuilder | +| StrBuilderTest.java:48:59:48:65 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:48:59:48:79 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrBuilderTest.java:48:88:48:91 | sb23 : StrBuilder | semmle.label | sb23 : StrBuilder | +| StrBuilderTest.java:48:88:48:102 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:49:45:49:48 | sb24 [post update] : StrBuilder | semmle.label | sb24 [post update] : StrBuilder | +| StrBuilderTest.java:49:59:49:65 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:49:59:49:79 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrBuilderTest.java:49:94:49:97 | sb24 : StrBuilder | semmle.label | sb24 : StrBuilder | +| StrBuilderTest.java:49:94:49:108 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:50:45:50:48 | sb25 [post update] : StrBuilder | semmle.label | sb25 [post update] : StrBuilder | +| StrBuilderTest.java:50:59:50:73 | (...)... : String | semmle.label | (...)... : String | +| StrBuilderTest.java:50:67:50:73 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:50:82:50:85 | sb25 : StrBuilder | semmle.label | sb25 : StrBuilder | +| StrBuilderTest.java:50:82:50:96 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:52:50:52:54 | auxsb [post update] : StrBuilder | semmle.label | auxsb [post update] : StrBuilder | +| StrBuilderTest.java:52:65:52:71 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:53:49:53:52 | sb26 [post update] : StrBuilder | semmle.label | sb26 [post update] : StrBuilder | +| StrBuilderTest.java:53:63:53:67 | auxsb : StrBuilder | semmle.label | auxsb : StrBuilder | +| StrBuilderTest.java:53:76:53:79 | sb26 : StrBuilder | semmle.label | sb26 : StrBuilder | +| StrBuilderTest.java:53:76:53:90 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:55:45:55:48 | sb27 [post update] : StrBuilder | semmle.label | sb27 [post update] : StrBuilder | +| StrBuilderTest.java:55:59:55:83 | new StringBuffer(...) : StringBuffer | semmle.label | new StringBuffer(...) : StringBuffer | +| StrBuilderTest.java:55:76:55:82 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:55:92:55:95 | sb27 : StrBuilder | semmle.label | sb27 : StrBuilder | +| StrBuilderTest.java:55:92:55:106 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:56:45:56:48 | sb28 [post update] : StrBuilder | semmle.label | sb28 [post update] : StrBuilder | +| StrBuilderTest.java:56:59:56:83 | new StringBuffer(...) : StringBuffer | semmle.label | new StringBuffer(...) : StringBuffer | +| StrBuilderTest.java:56:76:56:82 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:56:98:56:101 | sb28 : StrBuilder | semmle.label | sb28 : StrBuilder | +| StrBuilderTest.java:56:98:56:112 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:57:45:57:48 | sb29 [post update] : StrBuilder | semmle.label | sb29 [post update] : StrBuilder | +| StrBuilderTest.java:57:59:57:84 | new StringBuilder(...) : StringBuilder | semmle.label | new StringBuilder(...) : StringBuilder | +| StrBuilderTest.java:57:77:57:83 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:57:93:57:96 | sb29 : StrBuilder | semmle.label | sb29 : StrBuilder | +| StrBuilderTest.java:57:93:57:107 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:58:45:58:48 | sb30 [post update] : StrBuilder | semmle.label | sb30 [post update] : StrBuilder | +| StrBuilderTest.java:58:59:58:84 | new StringBuilder(...) : StringBuilder | semmle.label | new StringBuilder(...) : StringBuilder | +| StrBuilderTest.java:58:77:58:83 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:58:99:58:102 | sb30 : StrBuilder | semmle.label | sb30 : StrBuilder | +| StrBuilderTest.java:58:99:58:113 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:59:45:59:48 | sb31 [post update] : StrBuilder | semmle.label | sb31 [post update] : StrBuilder | +| StrBuilderTest.java:59:59:59:65 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:59:74:59:77 | sb31 : StrBuilder | semmle.label | sb31 : StrBuilder | +| StrBuilderTest.java:59:74:59:88 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:60:45:60:48 | sb32 [post update] : StrBuilder | semmle.label | sb32 [post update] : StrBuilder | +| StrBuilderTest.java:60:59:60:65 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:60:80:60:83 | sb32 : StrBuilder | semmle.label | sb32 : StrBuilder | +| StrBuilderTest.java:60:80:60:94 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:61:45:61:48 | sb33 [post update] : StrBuilder | semmle.label | sb33 [post update] : StrBuilder | +| StrBuilderTest.java:61:59:61:65 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:61:92:61:95 | sb33 : StrBuilder | semmle.label | sb33 : StrBuilder | +| StrBuilderTest.java:61:92:61:106 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:62:45:62:48 | sb34 [post update] : StrBuilder | semmle.label | sb34 [post update] : StrBuilder | +| StrBuilderTest.java:62:45:62:91 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| StrBuilderTest.java:62:76:62:82 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:62:99:62:102 | sb34 : StrBuilder | semmle.label | sb34 : StrBuilder | +| StrBuilderTest.java:62:99:62:113 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:63:45:63:48 | sb35 [post update] : StrBuilder | semmle.label | sb35 [post update] : StrBuilder | +| StrBuilderTest.java:63:66:63:72 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:63:81:63:84 | sb35 : StrBuilder | semmle.label | sb35 : StrBuilder | +| StrBuilderTest.java:63:81:63:95 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:64:45:64:48 | sb36 [post update] : StrBuilder | semmle.label | sb36 [post update] : StrBuilder | +| StrBuilderTest.java:64:66:64:72 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:64:84:64:87 | sb36 : StrBuilder | semmle.label | sb36 : StrBuilder | +| StrBuilderTest.java:64:84:64:98 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:65:45:65:48 | sb37 [post update] : StrBuilder | semmle.label | sb37 [post update] : StrBuilder | +| StrBuilderTest.java:65:66:65:72 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:65:92:65:95 | sb37 : StrBuilder | semmle.label | sb37 : StrBuilder | +| StrBuilderTest.java:65:92:65:106 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:66:45:66:48 | sb38 [post update] : StrBuilder | semmle.label | sb38 [post update] : StrBuilder | +| StrBuilderTest.java:66:70:66:76 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:66:85:66:88 | sb38 : StrBuilder | semmle.label | sb38 : StrBuilder | +| StrBuilderTest.java:66:85:66:99 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:68:50:68:54 | auxsb [post update] : StrBuilder | semmle.label | auxsb [post update] : StrBuilder | +| StrBuilderTest.java:68:65:68:71 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:69:49:69:53 | auxsb : StrBuilder | semmle.label | auxsb : StrBuilder | +| StrBuilderTest.java:69:64:69:67 | sb39 [post update] : StrBuilder | semmle.label | sb39 [post update] : StrBuilder | +| StrBuilderTest.java:69:76:69:79 | sb39 : StrBuilder | semmle.label | sb39 : StrBuilder | +| StrBuilderTest.java:69:76:69:90 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:73:13:73:23 | taintedList [post update] : ArrayList [] : String | semmle.label | taintedList [post update] : ArrayList [] : String | +| StrBuilderTest.java:73:29:73:35 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:74:49:74:52 | sb40 [post update] : StrBuilder | semmle.label | sb40 [post update] : StrBuilder | +| StrBuilderTest.java:74:75:74:85 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| StrBuilderTest.java:74:100:74:103 | sb40 : StrBuilder | semmle.label | sb40 : StrBuilder | +| StrBuilderTest.java:74:100:74:114 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:75:49:75:52 | sb41 [post update] : StrBuilder | semmle.label | sb41 [post update] : StrBuilder | +| StrBuilderTest.java:75:75:75:85 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| StrBuilderTest.java:75:75:75:96 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| StrBuilderTest.java:75:111:75:114 | sb41 : StrBuilder | semmle.label | sb41 : StrBuilder | +| StrBuilderTest.java:75:111:75:125 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:77:49:77:52 | sb42 [post update] : StrBuilder | semmle.label | sb42 [post update] : StrBuilder | +| StrBuilderTest.java:77:90:77:96 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:77:105:77:108 | sb42 : StrBuilder | semmle.label | sb42 : StrBuilder | +| StrBuilderTest.java:77:105:77:119 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:78:49:78:52 | sb43 [post update] : StrBuilder | semmle.label | sb43 [post update] : StrBuilder | +| StrBuilderTest.java:78:101:78:107 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:78:116:78:119 | sb43 : StrBuilder | semmle.label | sb43 : StrBuilder | +| StrBuilderTest.java:78:116:78:130 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:79:37:79:60 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| StrBuilderTest.java:79:52:79:58 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:81:49:81:52 | sb44 [post update] : StrBuilder | semmle.label | sb44 [post update] : StrBuilder | +| StrBuilderTest.java:81:75:81:86 | taintedArray : String[] [[]] : String | semmle.label | taintedArray : String[] [[]] : String | +| StrBuilderTest.java:81:101:81:104 | sb44 : StrBuilder | semmle.label | sb44 : StrBuilder | +| StrBuilderTest.java:81:101:81:115 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:82:49:82:52 | sb45 [post update] : StrBuilder | semmle.label | sb45 [post update] : StrBuilder | +| StrBuilderTest.java:82:91:82:97 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:82:106:82:109 | sb45 : StrBuilder | semmle.label | sb45 : StrBuilder | +| StrBuilderTest.java:82:106:82:120 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:85:49:85:52 | sb46 [post update] : StrBuilder | semmle.label | sb46 [post update] : StrBuilder | +| StrBuilderTest.java:85:61:85:67 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:87:13:87:16 | sb46 : StrBuilder | semmle.label | sb46 : StrBuilder | +| StrBuilderTest.java:87:13:87:27 | asReader(...) : Reader | semmle.label | asReader(...) : Reader | +| StrBuilderTest.java:87:34:87:39 | target [post update] : char[] | semmle.label | target [post update] : char[] | +| StrBuilderTest.java:88:18:88:23 | target | semmle.label | target | +| StrBuilderTest.java:90:45:90:48 | sb47 [post update] : StrBuilder | semmle.label | sb47 [post update] : StrBuilder | +| StrBuilderTest.java:90:57:90:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:90:72:90:75 | sb47 : StrBuilder | semmle.label | sb47 : StrBuilder | +| StrBuilderTest.java:90:72:90:89 | asTokenizer(...) : StrTokenizer | semmle.label | asTokenizer(...) : StrTokenizer | +| StrBuilderTest.java:90:72:90:96 | next(...) | semmle.label | next(...) | +| StrBuilderTest.java:91:45:91:48 | sb48 [post update] : StrBuilder | semmle.label | sb48 [post update] : StrBuilder | +| StrBuilderTest.java:91:57:91:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:91:72:91:75 | sb48 : StrBuilder | semmle.label | sb48 : StrBuilder | +| StrBuilderTest.java:91:72:91:83 | build(...) | semmle.label | build(...) | +| StrBuilderTest.java:92:45:92:48 | sb49 [post update] : StrBuilder | semmle.label | sb49 [post update] : StrBuilder | +| StrBuilderTest.java:92:57:92:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:92:72:92:75 | sb49 : StrBuilder | semmle.label | sb49 : StrBuilder | +| StrBuilderTest.java:92:72:92:90 | getChars(...) | semmle.label | getChars(...) | +| StrBuilderTest.java:94:49:94:52 | sb50 [post update] : StrBuilder | semmle.label | sb50 [post update] : StrBuilder | +| StrBuilderTest.java:94:61:94:67 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:96:13:96:16 | sb50 : StrBuilder | semmle.label | sb50 : StrBuilder | +| StrBuilderTest.java:96:27:96:32 | target [post update] : char[] | semmle.label | target [post update] : char[] | +| StrBuilderTest.java:97:18:97:23 | target | semmle.label | target | +| StrBuilderTest.java:100:49:100:52 | sb51 [post update] : StrBuilder | semmle.label | sb51 [post update] : StrBuilder | +| StrBuilderTest.java:100:61:100:67 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:102:13:102:16 | sb51 : StrBuilder | semmle.label | sb51 : StrBuilder | +| StrBuilderTest.java:102:33:102:38 | target [post update] : char[] | semmle.label | target [post update] : char[] | +| StrBuilderTest.java:103:18:103:23 | target | semmle.label | target | +| StrBuilderTest.java:105:45:105:48 | sb52 [post update] : StrBuilder | semmle.label | sb52 [post update] : StrBuilder | +| StrBuilderTest.java:105:60:105:66 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:105:60:105:80 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrBuilderTest.java:105:89:105:92 | sb52 : StrBuilder | semmle.label | sb52 : StrBuilder | +| StrBuilderTest.java:105:89:105:103 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:106:45:106:48 | sb53 [post update] : StrBuilder | semmle.label | sb53 [post update] : StrBuilder | +| StrBuilderTest.java:106:60:106:66 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:106:60:106:80 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrBuilderTest.java:106:95:106:98 | sb53 : StrBuilder | semmle.label | sb53 : StrBuilder | +| StrBuilderTest.java:106:95:106:109 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:107:45:107:48 | sb54 [post update] : StrBuilder | semmle.label | sb54 [post update] : StrBuilder | +| StrBuilderTest.java:107:60:107:66 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:107:75:107:78 | sb54 : StrBuilder | semmle.label | sb54 : StrBuilder | +| StrBuilderTest.java:107:75:107:89 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:108:45:108:48 | sb55 [post update] : StrBuilder | semmle.label | sb55 [post update] : StrBuilder | +| StrBuilderTest.java:108:60:108:74 | (...)... : String | semmle.label | (...)... : String | +| StrBuilderTest.java:108:68:108:74 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:108:83:108:86 | sb55 : StrBuilder | semmle.label | sb55 : StrBuilder | +| StrBuilderTest.java:108:83:108:97 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:109:45:109:48 | sb56 [post update] : StrBuilder | semmle.label | sb56 [post update] : StrBuilder | +| StrBuilderTest.java:109:57:109:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:109:72:109:75 | sb56 : StrBuilder | semmle.label | sb56 : StrBuilder | +| StrBuilderTest.java:109:72:109:89 | leftString(...) | semmle.label | leftString(...) | +| StrBuilderTest.java:110:45:110:48 | sb57 [post update] : StrBuilder | semmle.label | sb57 [post update] : StrBuilder | +| StrBuilderTest.java:110:57:110:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:110:72:110:75 | sb57 : StrBuilder | semmle.label | sb57 : StrBuilder | +| StrBuilderTest.java:110:72:110:91 | midString(...) | semmle.label | midString(...) | +| StrBuilderTest.java:112:35:112:59 | new StringReader(...) : StringReader | semmle.label | new StringReader(...) : StringReader | +| StrBuilderTest.java:112:52:112:58 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:113:49:113:52 | sb58 [post update] : StrBuilder | semmle.label | sb58 [post update] : StrBuilder | +| StrBuilderTest.java:113:63:113:68 | reader : StringReader | semmle.label | reader : StringReader | +| StrBuilderTest.java:113:77:113:80 | sb58 : StrBuilder | semmle.label | sb58 : StrBuilder | +| StrBuilderTest.java:113:77:113:91 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:115:45:115:48 | sb59 [post update] : StrBuilder | semmle.label | sb59 [post update] : StrBuilder | +| StrBuilderTest.java:115:64:115:70 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:115:79:115:82 | sb59 : StrBuilder | semmle.label | sb59 : StrBuilder | +| StrBuilderTest.java:115:79:115:93 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:116:45:116:48 | sb60 [post update] : StrBuilder | semmle.label | sb60 [post update] : StrBuilder | +| StrBuilderTest.java:116:64:116:70 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:116:88:116:91 | sb60 : StrBuilder | semmle.label | sb60 : StrBuilder | +| StrBuilderTest.java:116:88:116:102 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:117:45:117:48 | sb61 [post update] : StrBuilder | semmle.label | sb61 [post update] : StrBuilder | +| StrBuilderTest.java:117:79:117:85 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:117:94:117:97 | sb61 : StrBuilder | semmle.label | sb61 : StrBuilder | +| StrBuilderTest.java:117:94:117:108 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:118:45:118:48 | sb62 [post update] : StrBuilder | semmle.label | sb62 [post update] : StrBuilder | +| StrBuilderTest.java:118:71:118:77 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:118:86:118:89 | sb62 : StrBuilder | semmle.label | sb62 : StrBuilder | +| StrBuilderTest.java:118:86:118:100 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:120:45:120:48 | sb64 [post update] : StrBuilder | semmle.label | sb64 [post update] : StrBuilder | +| StrBuilderTest.java:120:81:120:87 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:120:96:120:99 | sb64 : StrBuilder | semmle.label | sb64 : StrBuilder | +| StrBuilderTest.java:120:96:120:110 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:121:45:121:48 | sb65 [post update] : StrBuilder | semmle.label | sb65 [post update] : StrBuilder | +| StrBuilderTest.java:121:73:121:79 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:121:88:121:91 | sb65 : StrBuilder | semmle.label | sb65 : StrBuilder | +| StrBuilderTest.java:121:88:121:102 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:123:45:123:48 | sb67 [post update] : StrBuilder | semmle.label | sb67 [post update] : StrBuilder | +| StrBuilderTest.java:123:57:123:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:123:72:123:75 | sb67 : StrBuilder | semmle.label | sb67 : StrBuilder | +| StrBuilderTest.java:123:72:123:90 | rightString(...) | semmle.label | rightString(...) | +| StrBuilderTest.java:124:45:124:48 | sb68 [post update] : StrBuilder | semmle.label | sb68 [post update] : StrBuilder | +| StrBuilderTest.java:124:57:124:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:124:72:124:75 | sb68 : StrBuilder | semmle.label | sb68 : StrBuilder | +| StrBuilderTest.java:124:72:124:93 | subSequence(...) | semmle.label | subSequence(...) | +| StrBuilderTest.java:125:45:125:48 | sb69 [post update] : StrBuilder | semmle.label | sb69 [post update] : StrBuilder | +| StrBuilderTest.java:125:57:125:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:125:72:125:75 | sb69 : StrBuilder | semmle.label | sb69 : StrBuilder | +| StrBuilderTest.java:125:72:125:88 | substring(...) | semmle.label | substring(...) | +| StrBuilderTest.java:126:45:126:48 | sb70 [post update] : StrBuilder | semmle.label | sb70 [post update] : StrBuilder | +| StrBuilderTest.java:126:57:126:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:126:72:126:75 | sb70 : StrBuilder | semmle.label | sb70 : StrBuilder | +| StrBuilderTest.java:126:72:126:91 | substring(...) | semmle.label | substring(...) | +| StrBuilderTest.java:127:45:127:48 | sb71 [post update] : StrBuilder | semmle.label | sb71 [post update] : StrBuilder | +| StrBuilderTest.java:127:57:127:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:127:72:127:75 | sb71 : StrBuilder | semmle.label | sb71 : StrBuilder | +| StrBuilderTest.java:127:72:127:89 | toCharArray(...) | semmle.label | toCharArray(...) | +| StrBuilderTest.java:128:45:128:48 | sb72 [post update] : StrBuilder | semmle.label | sb72 [post update] : StrBuilder | +| StrBuilderTest.java:128:57:128:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:128:72:128:75 | sb72 : StrBuilder | semmle.label | sb72 : StrBuilder | +| StrBuilderTest.java:128:72:128:93 | toCharArray(...) | semmle.label | toCharArray(...) | +| StrBuilderTest.java:129:45:129:48 | sb73 [post update] : StrBuilder | semmle.label | sb73 [post update] : StrBuilder | +| StrBuilderTest.java:129:57:129:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:129:72:129:75 | sb73 : StrBuilder | semmle.label | sb73 : StrBuilder | +| StrBuilderTest.java:129:72:129:92 | toStringBuffer(...) | semmle.label | toStringBuffer(...) | +| StrBuilderTest.java:130:45:130:48 | sb74 [post update] : StrBuilder | semmle.label | sb74 [post update] : StrBuilder | +| StrBuilderTest.java:130:57:130:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:130:72:130:75 | sb74 : StrBuilder | semmle.label | sb74 : StrBuilder | +| StrBuilderTest.java:130:72:130:93 | toStringBuilder(...) | semmle.label | toStringBuilder(...) | +| StrBuilderTest.java:135:14:135:58 | append(...) : StrBuilder | semmle.label | append(...) : StrBuilder | +| StrBuilderTest.java:135:14:135:82 | append(...) : StrBuilder | semmle.label | append(...) : StrBuilder | +| StrBuilderTest.java:135:14:135:93 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:135:51:135:57 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:138:9:138:45 | append(...) [post update] : StrBuilder | semmle.label | append(...) [post update] : StrBuilder | +| StrBuilderTest.java:138:54:138:60 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | semmle.label | fluentBackflowTest : StrBuilder | +| StrBuilderTest.java:139:14:139:42 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:143:9:143:46 | append(...) [post update] : StrBuilder | semmle.label | append(...) [post update] : StrBuilder | +| StrBuilderTest.java:143:55:143:61 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | semmle.label | fluentBackflowTest2 : StrBuilder | +| StrBuilderTest.java:144:14:144:43 | toString(...) | semmle.label | toString(...) | +| StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | semmle.label | new StrBuilder(...) : StrBuilder | +| StrBuilderTest.java:147:58:147:64 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:148:14:148:33 | fluentAllMethodsTest : StrBuilder | semmle.label | fluentAllMethodsTest : StrBuilder | +| StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | semmle.label | append(...) : StrBuilder | +| StrBuilderTest.java:148:14:150:26 | appendAll(...) : StrBuilder | semmle.label | appendAll(...) : StrBuilder | +| StrBuilderTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | semmle.label | appendFixedWidthPadLeft(...) : StrBuilder | +| StrBuilderTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | semmle.label | appendFixedWidthPadRight(...) : StrBuilder | +| StrBuilderTest.java:148:14:153:25 | appendln(...) : StrBuilder | semmle.label | appendln(...) : StrBuilder | +| StrBuilderTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | semmle.label | appendNewLine(...) : StrBuilder | +| StrBuilderTest.java:148:14:155:21 | appendNull(...) : StrBuilder | semmle.label | appendNull(...) : StrBuilder | +| StrBuilderTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | semmle.label | appendPadding(...) : StrBuilder | +| StrBuilderTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | semmle.label | appendSeparator(...) : StrBuilder | +| StrBuilderTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | semmle.label | appendWithSeparators(...) : StrBuilder | +| StrBuilderTest.java:148:14:159:21 | delete(...) : StrBuilder | semmle.label | delete(...) : StrBuilder | +| StrBuilderTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | semmle.label | deleteAll(...) : StrBuilder | +| StrBuilderTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | semmle.label | deleteCharAt(...) : StrBuilder | +| StrBuilderTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | semmle.label | deleteFirst(...) : StrBuilder | +| StrBuilderTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | semmle.label | ensureCapacity(...) : StrBuilder | +| StrBuilderTest.java:148:14:164:30 | insert(...) : StrBuilder | semmle.label | insert(...) : StrBuilder | +| StrBuilderTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | semmle.label | minimizeCapacity(...) : StrBuilder | +| StrBuilderTest.java:148:14:166:37 | replace(...) : StrBuilder | semmle.label | replace(...) : StrBuilder | +| StrBuilderTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | semmle.label | replaceAll(...) : StrBuilder | +| StrBuilderTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | semmle.label | replaceFirst(...) : StrBuilder | +| StrBuilderTest.java:148:14:169:18 | reverse(...) : StrBuilder | semmle.label | reverse(...) : StrBuilder | +| StrBuilderTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | semmle.label | setCharAt(...) : StrBuilder | +| StrBuilderTest.java:148:14:171:23 | setLength(...) : StrBuilder | semmle.label | setLength(...) : StrBuilder | +| StrBuilderTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | semmle.label | setNewLineText(...) : StrBuilder | +| StrBuilderTest.java:148:14:173:28 | setNullText(...) : StrBuilder | semmle.label | setNullText(...) : StrBuilder | +| StrBuilderTest.java:148:14:174:15 | trim(...) | semmle.label | trim(...) | +| StrBuilderTest.java:178:9:204:15 | trim(...) [post update] : StrBuilder | semmle.label | trim(...) [post update] : StrBuilder | +| StrBuilderTest.java:205:17:205:23 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTest.java:206:14:206:34 | fluentAllMethodsTest2 | semmle.label | fluentAllMethodsTest2 | +| StrBuilderTextTest.java:17:28:17:50 | new StrBuilder(...) : StrBuilder | semmle.label | new StrBuilder(...) : StrBuilder | +| StrBuilderTextTest.java:17:43:17:49 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:17:58:17:62 | cons1 : StrBuilder | semmle.label | cons1 : StrBuilder | +| StrBuilderTextTest.java:17:58:17:73 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:19:44:19:46 | sb1 [post update] : StrBuilder | semmle.label | sb1 [post update] : StrBuilder | +| StrBuilderTextTest.java:19:55:19:61 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:19:55:19:75 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrBuilderTextTest.java:19:84:19:86 | sb1 : StrBuilder | semmle.label | sb1 : StrBuilder | +| StrBuilderTextTest.java:19:84:19:97 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:20:44:20:46 | sb2 [post update] : StrBuilder | semmle.label | sb2 [post update] : StrBuilder | +| StrBuilderTextTest.java:20:55:20:61 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:20:55:20:75 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrBuilderTextTest.java:20:90:20:92 | sb2 : StrBuilder | semmle.label | sb2 : StrBuilder | +| StrBuilderTextTest.java:20:90:20:103 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:21:44:21:46 | sb3 [post update] : StrBuilder | semmle.label | sb3 [post update] : StrBuilder | +| StrBuilderTextTest.java:21:55:21:92 | wrap(...) : CharBuffer | semmle.label | wrap(...) : CharBuffer | +| StrBuilderTextTest.java:21:71:21:77 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:21:71:21:91 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrBuilderTextTest.java:21:101:21:103 | sb3 : StrBuilder | semmle.label | sb3 : StrBuilder | +| StrBuilderTextTest.java:21:101:21:114 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:22:44:22:46 | sb4 [post update] : StrBuilder | semmle.label | sb4 [post update] : StrBuilder | +| StrBuilderTextTest.java:22:55:22:92 | wrap(...) : CharBuffer | semmle.label | wrap(...) : CharBuffer | +| StrBuilderTextTest.java:22:71:22:77 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:22:71:22:91 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrBuilderTextTest.java:22:107:22:109 | sb4 : StrBuilder | semmle.label | sb4 : StrBuilder | +| StrBuilderTextTest.java:22:107:22:120 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:23:44:23:46 | sb5 [post update] : StrBuilder | semmle.label | sb5 [post update] : StrBuilder | +| StrBuilderTextTest.java:23:55:23:75 | (...)... : String | semmle.label | (...)... : String | +| StrBuilderTextTest.java:23:69:23:75 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:23:84:23:86 | sb5 : StrBuilder | semmle.label | sb5 : StrBuilder | +| StrBuilderTextTest.java:23:84:23:97 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:24:44:24:46 | sb6 [post update] : StrBuilder | semmle.label | sb6 [post update] : StrBuilder | +| StrBuilderTextTest.java:24:55:24:75 | (...)... : String | semmle.label | (...)... : String | +| StrBuilderTextTest.java:24:69:24:75 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:24:90:24:92 | sb6 : StrBuilder | semmle.label | sb6 : StrBuilder | +| StrBuilderTextTest.java:24:90:24:103 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:25:44:25:46 | sb7 [post update] : StrBuilder | semmle.label | sb7 [post update] : StrBuilder | +| StrBuilderTextTest.java:25:55:25:69 | (...)... : String | semmle.label | (...)... : String | +| StrBuilderTextTest.java:25:63:25:69 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:25:78:25:80 | sb7 : StrBuilder | semmle.label | sb7 : StrBuilder | +| StrBuilderTextTest.java:25:78:25:91 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:27:50:27:54 | auxsb [post update] : StrBuilder | semmle.label | auxsb [post update] : StrBuilder | +| StrBuilderTextTest.java:27:63:27:69 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:28:48:28:50 | sb8 [post update] : StrBuilder | semmle.label | sb8 [post update] : StrBuilder | +| StrBuilderTextTest.java:28:59:28:63 | auxsb : StrBuilder | semmle.label | auxsb : StrBuilder | +| StrBuilderTextTest.java:28:72:28:74 | sb8 : StrBuilder | semmle.label | sb8 : StrBuilder | +| StrBuilderTextTest.java:28:72:28:85 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:30:44:30:46 | sb9 [post update] : StrBuilder | semmle.label | sb9 [post update] : StrBuilder | +| StrBuilderTextTest.java:30:55:30:79 | new StringBuffer(...) : StringBuffer | semmle.label | new StringBuffer(...) : StringBuffer | +| StrBuilderTextTest.java:30:72:30:78 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:30:88:30:90 | sb9 : StrBuilder | semmle.label | sb9 : StrBuilder | +| StrBuilderTextTest.java:30:88:30:101 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:31:45:31:48 | sb10 [post update] : StrBuilder | semmle.label | sb10 [post update] : StrBuilder | +| StrBuilderTextTest.java:31:57:31:81 | new StringBuffer(...) : StringBuffer | semmle.label | new StringBuffer(...) : StringBuffer | +| StrBuilderTextTest.java:31:74:31:80 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:31:96:31:99 | sb10 : StrBuilder | semmle.label | sb10 : StrBuilder | +| StrBuilderTextTest.java:31:96:31:110 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:32:45:32:48 | sb11 [post update] : StrBuilder | semmle.label | sb11 [post update] : StrBuilder | +| StrBuilderTextTest.java:32:57:32:82 | new StringBuilder(...) : StringBuilder | semmle.label | new StringBuilder(...) : StringBuilder | +| StrBuilderTextTest.java:32:75:32:81 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:32:91:32:94 | sb11 : StrBuilder | semmle.label | sb11 : StrBuilder | +| StrBuilderTextTest.java:32:91:32:105 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:33:45:33:48 | sb12 [post update] : StrBuilder | semmle.label | sb12 [post update] : StrBuilder | +| StrBuilderTextTest.java:33:57:33:82 | new StringBuilder(...) : StringBuilder | semmle.label | new StringBuilder(...) : StringBuilder | +| StrBuilderTextTest.java:33:75:33:81 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:33:97:33:100 | sb12 : StrBuilder | semmle.label | sb12 : StrBuilder | +| StrBuilderTextTest.java:33:97:33:111 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:34:45:34:48 | sb13 [post update] : StrBuilder | semmle.label | sb13 [post update] : StrBuilder | +| StrBuilderTextTest.java:34:57:34:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:34:72:34:75 | sb13 : StrBuilder | semmle.label | sb13 : StrBuilder | +| StrBuilderTextTest.java:34:72:34:86 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:35:45:35:48 | sb14 [post update] : StrBuilder | semmle.label | sb14 [post update] : StrBuilder | +| StrBuilderTextTest.java:35:57:35:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:35:78:35:81 | sb14 : StrBuilder | semmle.label | sb14 : StrBuilder | +| StrBuilderTextTest.java:35:78:35:92 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:36:45:36:48 | sb15 [post update] : StrBuilder | semmle.label | sb15 [post update] : StrBuilder | +| StrBuilderTextTest.java:36:57:36:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:36:90:36:93 | sb15 : StrBuilder | semmle.label | sb15 : StrBuilder | +| StrBuilderTextTest.java:36:90:36:104 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:37:45:37:48 | sb16 [post update] : StrBuilder | semmle.label | sb16 [post update] : StrBuilder | +| StrBuilderTextTest.java:37:45:37:89 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| StrBuilderTextTest.java:37:74:37:80 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:37:97:37:100 | sb16 : StrBuilder | semmle.label | sb16 : StrBuilder | +| StrBuilderTextTest.java:37:97:37:111 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:40:13:40:23 | taintedList [post update] : ArrayList [] : String | semmle.label | taintedList [post update] : ArrayList [] : String | +| StrBuilderTextTest.java:40:29:40:35 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:41:49:41:52 | sb17 [post update] : StrBuilder | semmle.label | sb17 [post update] : StrBuilder | +| StrBuilderTextTest.java:41:64:41:74 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| StrBuilderTextTest.java:41:83:41:86 | sb17 : StrBuilder | semmle.label | sb17 : StrBuilder | +| StrBuilderTextTest.java:41:83:41:97 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:42:49:42:52 | sb18 [post update] : StrBuilder | semmle.label | sb18 [post update] : StrBuilder | +| StrBuilderTextTest.java:42:64:42:74 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| StrBuilderTextTest.java:42:64:42:85 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| StrBuilderTextTest.java:42:94:42:97 | sb18 : StrBuilder | semmle.label | sb18 : StrBuilder | +| StrBuilderTextTest.java:42:94:42:108 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:44:45:44:48 | sb19 [post update] : StrBuilder | semmle.label | sb19 [post update] : StrBuilder | +| StrBuilderTextTest.java:44:45:44:76 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| StrBuilderTextTest.java:44:69:44:75 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:44:84:44:87 | sb19 : StrBuilder | semmle.label | sb19 : StrBuilder | +| StrBuilderTextTest.java:44:84:44:98 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:45:45:45:48 | sb20 [post update] : StrBuilder | semmle.label | sb20 [post update] : StrBuilder | +| StrBuilderTextTest.java:45:45:45:76 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| StrBuilderTextTest.java:45:60:45:66 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:45:84:45:87 | sb20 : StrBuilder | semmle.label | sb20 : StrBuilder | +| StrBuilderTextTest.java:45:84:45:98 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:46:45:46:48 | sb21 [post update] : StrBuilder | semmle.label | sb21 [post update] : StrBuilder | +| StrBuilderTextTest.java:46:74:46:80 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:46:97:46:100 | sb21 : StrBuilder | semmle.label | sb21 : StrBuilder | +| StrBuilderTextTest.java:46:97:46:111 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:47:45:47:48 | sb22 [post update] : StrBuilder | semmle.label | sb22 [post update] : StrBuilder | +| StrBuilderTextTest.java:47:75:47:81 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:47:98:47:101 | sb22 : StrBuilder | semmle.label | sb22 : StrBuilder | +| StrBuilderTextTest.java:47:98:47:112 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:48:45:48:48 | sb23 [post update] : StrBuilder | semmle.label | sb23 [post update] : StrBuilder | +| StrBuilderTextTest.java:48:59:48:65 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:48:59:48:79 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrBuilderTextTest.java:48:88:48:91 | sb23 : StrBuilder | semmle.label | sb23 : StrBuilder | +| StrBuilderTextTest.java:48:88:48:102 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:49:45:49:48 | sb24 [post update] : StrBuilder | semmle.label | sb24 [post update] : StrBuilder | +| StrBuilderTextTest.java:49:59:49:65 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:49:59:49:79 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrBuilderTextTest.java:49:94:49:97 | sb24 : StrBuilder | semmle.label | sb24 : StrBuilder | +| StrBuilderTextTest.java:49:94:49:108 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:50:45:50:48 | sb25 [post update] : StrBuilder | semmle.label | sb25 [post update] : StrBuilder | +| StrBuilderTextTest.java:50:59:50:73 | (...)... : String | semmle.label | (...)... : String | +| StrBuilderTextTest.java:50:67:50:73 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:50:82:50:85 | sb25 : StrBuilder | semmle.label | sb25 : StrBuilder | +| StrBuilderTextTest.java:50:82:50:96 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:52:50:52:54 | auxsb [post update] : StrBuilder | semmle.label | auxsb [post update] : StrBuilder | +| StrBuilderTextTest.java:52:65:52:71 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:53:49:53:52 | sb26 [post update] : StrBuilder | semmle.label | sb26 [post update] : StrBuilder | +| StrBuilderTextTest.java:53:63:53:67 | auxsb : StrBuilder | semmle.label | auxsb : StrBuilder | +| StrBuilderTextTest.java:53:76:53:79 | sb26 : StrBuilder | semmle.label | sb26 : StrBuilder | +| StrBuilderTextTest.java:53:76:53:90 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:55:45:55:48 | sb27 [post update] : StrBuilder | semmle.label | sb27 [post update] : StrBuilder | +| StrBuilderTextTest.java:55:59:55:83 | new StringBuffer(...) : StringBuffer | semmle.label | new StringBuffer(...) : StringBuffer | +| StrBuilderTextTest.java:55:76:55:82 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:55:92:55:95 | sb27 : StrBuilder | semmle.label | sb27 : StrBuilder | +| StrBuilderTextTest.java:55:92:55:106 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:56:45:56:48 | sb28 [post update] : StrBuilder | semmle.label | sb28 [post update] : StrBuilder | +| StrBuilderTextTest.java:56:59:56:83 | new StringBuffer(...) : StringBuffer | semmle.label | new StringBuffer(...) : StringBuffer | +| StrBuilderTextTest.java:56:76:56:82 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:56:98:56:101 | sb28 : StrBuilder | semmle.label | sb28 : StrBuilder | +| StrBuilderTextTest.java:56:98:56:112 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:57:45:57:48 | sb29 [post update] : StrBuilder | semmle.label | sb29 [post update] : StrBuilder | +| StrBuilderTextTest.java:57:59:57:84 | new StringBuilder(...) : StringBuilder | semmle.label | new StringBuilder(...) : StringBuilder | +| StrBuilderTextTest.java:57:77:57:83 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:57:93:57:96 | sb29 : StrBuilder | semmle.label | sb29 : StrBuilder | +| StrBuilderTextTest.java:57:93:57:107 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:58:45:58:48 | sb30 [post update] : StrBuilder | semmle.label | sb30 [post update] : StrBuilder | +| StrBuilderTextTest.java:58:59:58:84 | new StringBuilder(...) : StringBuilder | semmle.label | new StringBuilder(...) : StringBuilder | +| StrBuilderTextTest.java:58:77:58:83 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:58:99:58:102 | sb30 : StrBuilder | semmle.label | sb30 : StrBuilder | +| StrBuilderTextTest.java:58:99:58:113 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:59:45:59:48 | sb31 [post update] : StrBuilder | semmle.label | sb31 [post update] : StrBuilder | +| StrBuilderTextTest.java:59:59:59:65 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:59:74:59:77 | sb31 : StrBuilder | semmle.label | sb31 : StrBuilder | +| StrBuilderTextTest.java:59:74:59:88 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:60:45:60:48 | sb32 [post update] : StrBuilder | semmle.label | sb32 [post update] : StrBuilder | +| StrBuilderTextTest.java:60:59:60:65 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:60:80:60:83 | sb32 : StrBuilder | semmle.label | sb32 : StrBuilder | +| StrBuilderTextTest.java:60:80:60:94 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:61:45:61:48 | sb33 [post update] : StrBuilder | semmle.label | sb33 [post update] : StrBuilder | +| StrBuilderTextTest.java:61:59:61:65 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:61:92:61:95 | sb33 : StrBuilder | semmle.label | sb33 : StrBuilder | +| StrBuilderTextTest.java:61:92:61:106 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:62:45:62:48 | sb34 [post update] : StrBuilder | semmle.label | sb34 [post update] : StrBuilder | +| StrBuilderTextTest.java:62:45:62:91 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| StrBuilderTextTest.java:62:76:62:82 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:62:99:62:102 | sb34 : StrBuilder | semmle.label | sb34 : StrBuilder | +| StrBuilderTextTest.java:62:99:62:113 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:63:45:63:48 | sb35 [post update] : StrBuilder | semmle.label | sb35 [post update] : StrBuilder | +| StrBuilderTextTest.java:63:66:63:72 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:63:81:63:84 | sb35 : StrBuilder | semmle.label | sb35 : StrBuilder | +| StrBuilderTextTest.java:63:81:63:95 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:64:45:64:48 | sb36 [post update] : StrBuilder | semmle.label | sb36 [post update] : StrBuilder | +| StrBuilderTextTest.java:64:66:64:72 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:64:84:64:87 | sb36 : StrBuilder | semmle.label | sb36 : StrBuilder | +| StrBuilderTextTest.java:64:84:64:98 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:65:45:65:48 | sb37 [post update] : StrBuilder | semmle.label | sb37 [post update] : StrBuilder | +| StrBuilderTextTest.java:65:66:65:72 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:65:92:65:95 | sb37 : StrBuilder | semmle.label | sb37 : StrBuilder | +| StrBuilderTextTest.java:65:92:65:106 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:66:45:66:48 | sb38 [post update] : StrBuilder | semmle.label | sb38 [post update] : StrBuilder | +| StrBuilderTextTest.java:66:70:66:76 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:66:85:66:88 | sb38 : StrBuilder | semmle.label | sb38 : StrBuilder | +| StrBuilderTextTest.java:66:85:66:99 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:68:50:68:54 | auxsb [post update] : StrBuilder | semmle.label | auxsb [post update] : StrBuilder | +| StrBuilderTextTest.java:68:65:68:71 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:69:49:69:53 | auxsb : StrBuilder | semmle.label | auxsb : StrBuilder | +| StrBuilderTextTest.java:69:64:69:67 | sb39 [post update] : StrBuilder | semmle.label | sb39 [post update] : StrBuilder | +| StrBuilderTextTest.java:69:76:69:79 | sb39 : StrBuilder | semmle.label | sb39 : StrBuilder | +| StrBuilderTextTest.java:69:76:69:90 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:73:13:73:23 | taintedList [post update] : ArrayList [] : String | semmle.label | taintedList [post update] : ArrayList [] : String | +| StrBuilderTextTest.java:73:29:73:35 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:74:49:74:52 | sb40 [post update] : StrBuilder | semmle.label | sb40 [post update] : StrBuilder | +| StrBuilderTextTest.java:74:75:74:85 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| StrBuilderTextTest.java:74:100:74:103 | sb40 : StrBuilder | semmle.label | sb40 : StrBuilder | +| StrBuilderTextTest.java:74:100:74:114 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:75:49:75:52 | sb41 [post update] : StrBuilder | semmle.label | sb41 [post update] : StrBuilder | +| StrBuilderTextTest.java:75:75:75:85 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| StrBuilderTextTest.java:75:75:75:96 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| StrBuilderTextTest.java:75:111:75:114 | sb41 : StrBuilder | semmle.label | sb41 : StrBuilder | +| StrBuilderTextTest.java:75:111:75:125 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:77:49:77:52 | sb42 [post update] : StrBuilder | semmle.label | sb42 [post update] : StrBuilder | +| StrBuilderTextTest.java:77:90:77:96 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:77:105:77:108 | sb42 : StrBuilder | semmle.label | sb42 : StrBuilder | +| StrBuilderTextTest.java:77:105:77:119 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:78:49:78:52 | sb43 [post update] : StrBuilder | semmle.label | sb43 [post update] : StrBuilder | +| StrBuilderTextTest.java:78:101:78:107 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:78:116:78:119 | sb43 : StrBuilder | semmle.label | sb43 : StrBuilder | +| StrBuilderTextTest.java:78:116:78:130 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:79:37:79:60 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| StrBuilderTextTest.java:79:52:79:58 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:81:49:81:52 | sb44 [post update] : StrBuilder | semmle.label | sb44 [post update] : StrBuilder | +| StrBuilderTextTest.java:81:75:81:86 | taintedArray : String[] [[]] : String | semmle.label | taintedArray : String[] [[]] : String | +| StrBuilderTextTest.java:81:101:81:104 | sb44 : StrBuilder | semmle.label | sb44 : StrBuilder | +| StrBuilderTextTest.java:81:101:81:115 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:82:49:82:52 | sb45 [post update] : StrBuilder | semmle.label | sb45 [post update] : StrBuilder | +| StrBuilderTextTest.java:82:91:82:97 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:82:106:82:109 | sb45 : StrBuilder | semmle.label | sb45 : StrBuilder | +| StrBuilderTextTest.java:82:106:82:120 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:85:49:85:52 | sb46 [post update] : StrBuilder | semmle.label | sb46 [post update] : StrBuilder | +| StrBuilderTextTest.java:85:61:85:67 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:87:13:87:16 | sb46 : StrBuilder | semmle.label | sb46 : StrBuilder | +| StrBuilderTextTest.java:87:13:87:27 | asReader(...) : Reader | semmle.label | asReader(...) : Reader | +| StrBuilderTextTest.java:87:34:87:39 | target [post update] : char[] | semmle.label | target [post update] : char[] | +| StrBuilderTextTest.java:88:18:88:23 | target | semmle.label | target | +| StrBuilderTextTest.java:90:45:90:48 | sb47 [post update] : StrBuilder | semmle.label | sb47 [post update] : StrBuilder | +| StrBuilderTextTest.java:90:57:90:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:90:72:90:75 | sb47 : StrBuilder | semmle.label | sb47 : StrBuilder | +| StrBuilderTextTest.java:90:72:90:89 | asTokenizer(...) : StrTokenizer | semmle.label | asTokenizer(...) : StrTokenizer | +| StrBuilderTextTest.java:90:72:90:96 | next(...) | semmle.label | next(...) | +| StrBuilderTextTest.java:91:45:91:48 | sb48 [post update] : StrBuilder | semmle.label | sb48 [post update] : StrBuilder | +| StrBuilderTextTest.java:91:57:91:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:91:72:91:75 | sb48 : StrBuilder | semmle.label | sb48 : StrBuilder | +| StrBuilderTextTest.java:91:72:91:83 | build(...) | semmle.label | build(...) | +| StrBuilderTextTest.java:92:45:92:48 | sb49 [post update] : StrBuilder | semmle.label | sb49 [post update] : StrBuilder | +| StrBuilderTextTest.java:92:57:92:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:92:72:92:75 | sb49 : StrBuilder | semmle.label | sb49 : StrBuilder | +| StrBuilderTextTest.java:92:72:92:90 | getChars(...) | semmle.label | getChars(...) | +| StrBuilderTextTest.java:94:49:94:52 | sb50 [post update] : StrBuilder | semmle.label | sb50 [post update] : StrBuilder | +| StrBuilderTextTest.java:94:61:94:67 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:96:13:96:16 | sb50 : StrBuilder | semmle.label | sb50 : StrBuilder | +| StrBuilderTextTest.java:96:27:96:32 | target [post update] : char[] | semmle.label | target [post update] : char[] | +| StrBuilderTextTest.java:97:18:97:23 | target | semmle.label | target | +| StrBuilderTextTest.java:100:49:100:52 | sb51 [post update] : StrBuilder | semmle.label | sb51 [post update] : StrBuilder | +| StrBuilderTextTest.java:100:61:100:67 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:102:13:102:16 | sb51 : StrBuilder | semmle.label | sb51 : StrBuilder | +| StrBuilderTextTest.java:102:33:102:38 | target [post update] : char[] | semmle.label | target [post update] : char[] | +| StrBuilderTextTest.java:103:18:103:23 | target | semmle.label | target | +| StrBuilderTextTest.java:105:45:105:48 | sb52 [post update] : StrBuilder | semmle.label | sb52 [post update] : StrBuilder | +| StrBuilderTextTest.java:105:60:105:66 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:105:60:105:80 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrBuilderTextTest.java:105:89:105:92 | sb52 : StrBuilder | semmle.label | sb52 : StrBuilder | +| StrBuilderTextTest.java:105:89:105:103 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:106:45:106:48 | sb53 [post update] : StrBuilder | semmle.label | sb53 [post update] : StrBuilder | +| StrBuilderTextTest.java:106:60:106:66 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:106:60:106:80 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrBuilderTextTest.java:106:95:106:98 | sb53 : StrBuilder | semmle.label | sb53 : StrBuilder | +| StrBuilderTextTest.java:106:95:106:109 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:107:45:107:48 | sb54 [post update] : StrBuilder | semmle.label | sb54 [post update] : StrBuilder | +| StrBuilderTextTest.java:107:60:107:66 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:107:75:107:78 | sb54 : StrBuilder | semmle.label | sb54 : StrBuilder | +| StrBuilderTextTest.java:107:75:107:89 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:108:45:108:48 | sb55 [post update] : StrBuilder | semmle.label | sb55 [post update] : StrBuilder | +| StrBuilderTextTest.java:108:60:108:74 | (...)... : String | semmle.label | (...)... : String | +| StrBuilderTextTest.java:108:68:108:74 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:108:83:108:86 | sb55 : StrBuilder | semmle.label | sb55 : StrBuilder | +| StrBuilderTextTest.java:108:83:108:97 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:109:45:109:48 | sb56 [post update] : StrBuilder | semmle.label | sb56 [post update] : StrBuilder | +| StrBuilderTextTest.java:109:57:109:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:109:72:109:75 | sb56 : StrBuilder | semmle.label | sb56 : StrBuilder | +| StrBuilderTextTest.java:109:72:109:89 | leftString(...) | semmle.label | leftString(...) | +| StrBuilderTextTest.java:110:45:110:48 | sb57 [post update] : StrBuilder | semmle.label | sb57 [post update] : StrBuilder | +| StrBuilderTextTest.java:110:57:110:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:110:72:110:75 | sb57 : StrBuilder | semmle.label | sb57 : StrBuilder | +| StrBuilderTextTest.java:110:72:110:91 | midString(...) | semmle.label | midString(...) | +| StrBuilderTextTest.java:112:35:112:59 | new StringReader(...) : StringReader | semmle.label | new StringReader(...) : StringReader | +| StrBuilderTextTest.java:112:52:112:58 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:113:49:113:52 | sb58 [post update] : StrBuilder | semmle.label | sb58 [post update] : StrBuilder | +| StrBuilderTextTest.java:113:63:113:68 | reader : StringReader | semmle.label | reader : StringReader | +| StrBuilderTextTest.java:113:77:113:80 | sb58 : StrBuilder | semmle.label | sb58 : StrBuilder | +| StrBuilderTextTest.java:113:77:113:91 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:115:45:115:48 | sb59 [post update] : StrBuilder | semmle.label | sb59 [post update] : StrBuilder | +| StrBuilderTextTest.java:115:64:115:70 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:115:79:115:82 | sb59 : StrBuilder | semmle.label | sb59 : StrBuilder | +| StrBuilderTextTest.java:115:79:115:93 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:116:45:116:48 | sb60 [post update] : StrBuilder | semmle.label | sb60 [post update] : StrBuilder | +| StrBuilderTextTest.java:116:64:116:70 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:116:88:116:91 | sb60 : StrBuilder | semmle.label | sb60 : StrBuilder | +| StrBuilderTextTest.java:116:88:116:102 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:117:45:117:48 | sb61 [post update] : StrBuilder | semmle.label | sb61 [post update] : StrBuilder | +| StrBuilderTextTest.java:117:79:117:85 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:117:94:117:97 | sb61 : StrBuilder | semmle.label | sb61 : StrBuilder | +| StrBuilderTextTest.java:117:94:117:108 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:118:45:118:48 | sb62 [post update] : StrBuilder | semmle.label | sb62 [post update] : StrBuilder | +| StrBuilderTextTest.java:118:71:118:77 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:118:86:118:89 | sb62 : StrBuilder | semmle.label | sb62 : StrBuilder | +| StrBuilderTextTest.java:118:86:118:100 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:120:45:120:48 | sb64 [post update] : StrBuilder | semmle.label | sb64 [post update] : StrBuilder | +| StrBuilderTextTest.java:120:81:120:87 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:120:96:120:99 | sb64 : StrBuilder | semmle.label | sb64 : StrBuilder | +| StrBuilderTextTest.java:120:96:120:110 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:121:45:121:48 | sb65 [post update] : StrBuilder | semmle.label | sb65 [post update] : StrBuilder | +| StrBuilderTextTest.java:121:73:121:79 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:121:88:121:91 | sb65 : StrBuilder | semmle.label | sb65 : StrBuilder | +| StrBuilderTextTest.java:121:88:121:102 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:123:45:123:48 | sb67 [post update] : StrBuilder | semmle.label | sb67 [post update] : StrBuilder | +| StrBuilderTextTest.java:123:57:123:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:123:72:123:75 | sb67 : StrBuilder | semmle.label | sb67 : StrBuilder | +| StrBuilderTextTest.java:123:72:123:90 | rightString(...) | semmle.label | rightString(...) | +| StrBuilderTextTest.java:124:45:124:48 | sb68 [post update] : StrBuilder | semmle.label | sb68 [post update] : StrBuilder | +| StrBuilderTextTest.java:124:57:124:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:124:72:124:75 | sb68 : StrBuilder | semmle.label | sb68 : StrBuilder | +| StrBuilderTextTest.java:124:72:124:93 | subSequence(...) | semmle.label | subSequence(...) | +| StrBuilderTextTest.java:125:45:125:48 | sb69 [post update] : StrBuilder | semmle.label | sb69 [post update] : StrBuilder | +| StrBuilderTextTest.java:125:57:125:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:125:72:125:75 | sb69 : StrBuilder | semmle.label | sb69 : StrBuilder | +| StrBuilderTextTest.java:125:72:125:88 | substring(...) | semmle.label | substring(...) | +| StrBuilderTextTest.java:126:45:126:48 | sb70 [post update] : StrBuilder | semmle.label | sb70 [post update] : StrBuilder | +| StrBuilderTextTest.java:126:57:126:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:126:72:126:75 | sb70 : StrBuilder | semmle.label | sb70 : StrBuilder | +| StrBuilderTextTest.java:126:72:126:91 | substring(...) | semmle.label | substring(...) | +| StrBuilderTextTest.java:127:45:127:48 | sb71 [post update] : StrBuilder | semmle.label | sb71 [post update] : StrBuilder | +| StrBuilderTextTest.java:127:57:127:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:127:72:127:75 | sb71 : StrBuilder | semmle.label | sb71 : StrBuilder | +| StrBuilderTextTest.java:127:72:127:89 | toCharArray(...) | semmle.label | toCharArray(...) | +| StrBuilderTextTest.java:128:45:128:48 | sb72 [post update] : StrBuilder | semmle.label | sb72 [post update] : StrBuilder | +| StrBuilderTextTest.java:128:57:128:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:128:72:128:75 | sb72 : StrBuilder | semmle.label | sb72 : StrBuilder | +| StrBuilderTextTest.java:128:72:128:93 | toCharArray(...) | semmle.label | toCharArray(...) | +| StrBuilderTextTest.java:129:45:129:48 | sb73 [post update] : StrBuilder | semmle.label | sb73 [post update] : StrBuilder | +| StrBuilderTextTest.java:129:57:129:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:129:72:129:75 | sb73 : StrBuilder | semmle.label | sb73 : StrBuilder | +| StrBuilderTextTest.java:129:72:129:92 | toStringBuffer(...) | semmle.label | toStringBuffer(...) | +| StrBuilderTextTest.java:130:45:130:48 | sb74 [post update] : StrBuilder | semmle.label | sb74 [post update] : StrBuilder | +| StrBuilderTextTest.java:130:57:130:63 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:130:72:130:75 | sb74 : StrBuilder | semmle.label | sb74 : StrBuilder | +| StrBuilderTextTest.java:130:72:130:93 | toStringBuilder(...) | semmle.label | toStringBuilder(...) | +| StrBuilderTextTest.java:135:14:135:58 | append(...) : StrBuilder | semmle.label | append(...) : StrBuilder | +| StrBuilderTextTest.java:135:14:135:82 | append(...) : StrBuilder | semmle.label | append(...) : StrBuilder | +| StrBuilderTextTest.java:135:14:135:93 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:135:51:135:57 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:138:9:138:45 | append(...) [post update] : StrBuilder | semmle.label | append(...) [post update] : StrBuilder | +| StrBuilderTextTest.java:138:54:138:60 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | semmle.label | fluentBackflowTest : StrBuilder | +| StrBuilderTextTest.java:139:14:139:42 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:143:9:143:46 | append(...) [post update] : StrBuilder | semmle.label | append(...) [post update] : StrBuilder | +| StrBuilderTextTest.java:143:55:143:61 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | semmle.label | fluentBackflowTest2 : StrBuilder | +| StrBuilderTextTest.java:144:14:144:43 | toString(...) | semmle.label | toString(...) | +| StrBuilderTextTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | semmle.label | new StrBuilder(...) : StrBuilder | +| StrBuilderTextTest.java:147:58:147:64 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:148:14:148:33 | fluentAllMethodsTest : StrBuilder | semmle.label | fluentAllMethodsTest : StrBuilder | +| StrBuilderTextTest.java:148:14:149:23 | append(...) : StrBuilder | semmle.label | append(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:150:26 | appendAll(...) : StrBuilder | semmle.label | appendAll(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:151:48 | appendFixedWidthPadLeft(...) : StrBuilder | semmle.label | appendFixedWidthPadLeft(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:152:49 | appendFixedWidthPadRight(...) : StrBuilder | semmle.label | appendFixedWidthPadRight(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:153:25 | appendln(...) : StrBuilder | semmle.label | appendln(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:154:24 | appendNewLine(...) : StrBuilder | semmle.label | appendNewLine(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:155:21 | appendNull(...) : StrBuilder | semmle.label | appendNull(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:156:30 | appendPadding(...) : StrBuilder | semmle.label | appendPadding(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:157:29 | appendSeparator(...) : StrBuilder | semmle.label | appendSeparator(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:158:52 | appendWithSeparators(...) : StrBuilder | semmle.label | appendWithSeparators(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:159:21 | delete(...) : StrBuilder | semmle.label | delete(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:160:23 | deleteAll(...) : StrBuilder | semmle.label | deleteAll(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:161:24 | deleteCharAt(...) : StrBuilder | semmle.label | deleteCharAt(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:162:29 | deleteFirst(...) : StrBuilder | semmle.label | deleteFirst(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:163:28 | ensureCapacity(...) : StrBuilder | semmle.label | ensureCapacity(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:164:30 | insert(...) : StrBuilder | semmle.label | insert(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:165:27 | minimizeCapacity(...) : StrBuilder | semmle.label | minimizeCapacity(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:166:37 | replace(...) : StrBuilder | semmle.label | replace(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:167:38 | replaceAll(...) : StrBuilder | semmle.label | replaceAll(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:168:40 | replaceFirst(...) : StrBuilder | semmle.label | replaceFirst(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:169:18 | reverse(...) : StrBuilder | semmle.label | reverse(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:170:26 | setCharAt(...) : StrBuilder | semmle.label | setCharAt(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:171:23 | setLength(...) : StrBuilder | semmle.label | setLength(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:172:34 | setNewLineText(...) : StrBuilder | semmle.label | setNewLineText(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:173:28 | setNullText(...) : StrBuilder | semmle.label | setNullText(...) : StrBuilder | +| StrBuilderTextTest.java:148:14:174:15 | trim(...) | semmle.label | trim(...) | +| StrBuilderTextTest.java:178:9:204:15 | trim(...) [post update] : StrBuilder | semmle.label | trim(...) [post update] : StrBuilder | +| StrBuilderTextTest.java:205:17:205:23 | taint(...) : String | semmle.label | taint(...) : String | +| StrBuilderTextTest.java:206:14:206:34 | fluentAllMethodsTest2 | semmle.label | fluentAllMethodsTest2 | +| StrLookupTest.java:12:7:12:9 | map [post update] : HashMap [] : String | semmle.label | map [post update] : HashMap [] : String | +| StrLookupTest.java:12:22:12:28 | taint(...) : String | semmle.label | taint(...) : String | +| StrLookupTest.java:13:34:13:57 | mapLookup(...) : StrLookup | semmle.label | mapLookup(...) : StrLookup | +| StrLookupTest.java:13:54:13:56 | map : HashMap [] : String | semmle.label | map : HashMap [] : String | +| StrLookupTest.java:14:12:14:17 | lookup : StrLookup | semmle.label | lookup : StrLookup | +| StrLookupTest.java:14:12:14:31 | lookup(...) | semmle.label | lookup(...) | +| StrSubstitutorTest.java:16:7:16:16 | taintedMap [post update] : HashMap [] : String | semmle.label | taintedMap [post update] : HashMap [] : String | +| StrSubstitutorTest.java:16:29:16:35 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:17:41:17:71 | mapLookup(...) : StrLookup | semmle.label | mapLookup(...) : StrLookup | +| StrSubstitutorTest.java:17:61:17:70 | taintedMap : HashMap [] : String | semmle.label | taintedMap : HashMap [] : String | +| StrSubstitutorTest.java:20:50:20:52 | ss1 [post update] : StrSubstitutor | semmle.label | ss1 [post update] : StrSubstitutor | +| StrSubstitutorTest.java:20:74:20:86 | taintedLookup : StrLookup | semmle.label | taintedLookup : StrLookup | +| StrSubstitutorTest.java:20:95:20:97 | ss1 : StrSubstitutor | semmle.label | ss1 : StrSubstitutor | +| StrSubstitutorTest.java:20:95:20:114 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:21:28:21:57 | new StrSubstitutor(...) : StrSubstitutor | semmle.label | new StrSubstitutor(...) : StrSubstitutor | +| StrSubstitutorTest.java:21:47:21:56 | taintedMap : HashMap [] : String | semmle.label | taintedMap : HashMap [] : String | +| StrSubstitutorTest.java:21:65:21:67 | ss2 : StrSubstitutor | semmle.label | ss2 : StrSubstitutor | +| StrSubstitutorTest.java:21:65:21:84 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:22:28:22:67 | new StrSubstitutor(...) : StrSubstitutor | semmle.label | new StrSubstitutor(...) : StrSubstitutor | +| StrSubstitutorTest.java:22:47:22:56 | taintedMap : HashMap [] : String | semmle.label | taintedMap : HashMap [] : String | +| StrSubstitutorTest.java:22:75:22:77 | ss3 : StrSubstitutor | semmle.label | ss3 : StrSubstitutor | +| StrSubstitutorTest.java:22:75:22:94 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:23:28:23:72 | new StrSubstitutor(...) : StrSubstitutor | semmle.label | new StrSubstitutor(...) : StrSubstitutor | +| StrSubstitutorTest.java:23:47:23:56 | taintedMap : HashMap [] : String | semmle.label | taintedMap : HashMap [] : String | +| StrSubstitutorTest.java:23:80:23:82 | ss4 : StrSubstitutor | semmle.label | ss4 : StrSubstitutor | +| StrSubstitutorTest.java:23:80:23:99 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:24:28:24:77 | new StrSubstitutor(...) : StrSubstitutor | semmle.label | new StrSubstitutor(...) : StrSubstitutor | +| StrSubstitutorTest.java:24:47:24:56 | taintedMap : HashMap [] : String | semmle.label | taintedMap : HashMap [] : String | +| StrSubstitutorTest.java:24:85:24:87 | ss5 : StrSubstitutor | semmle.label | ss5 : StrSubstitutor | +| StrSubstitutorTest.java:24:85:24:104 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:25:28:25:60 | new StrSubstitutor(...) : StrSubstitutor | semmle.label | new StrSubstitutor(...) : StrSubstitutor | +| StrSubstitutorTest.java:25:47:25:59 | taintedLookup : StrLookup | semmle.label | taintedLookup : StrLookup | +| StrSubstitutorTest.java:25:68:25:70 | ss6 : StrSubstitutor | semmle.label | ss6 : StrSubstitutor | +| StrSubstitutorTest.java:25:68:25:87 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:26:28:26:75 | new StrSubstitutor(...) : StrSubstitutor | semmle.label | new StrSubstitutor(...) : StrSubstitutor | +| StrSubstitutorTest.java:26:47:26:59 | taintedLookup : StrLookup | semmle.label | taintedLookup : StrLookup | +| StrSubstitutorTest.java:26:83:26:85 | ss7 : StrSubstitutor | semmle.label | ss7 : StrSubstitutor | +| StrSubstitutorTest.java:26:83:26:102 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:27:28:27:80 | new StrSubstitutor(...) : StrSubstitutor | semmle.label | new StrSubstitutor(...) : StrSubstitutor | +| StrSubstitutorTest.java:27:47:27:59 | taintedLookup : StrLookup | semmle.label | taintedLookup : StrLookup | +| StrSubstitutorTest.java:27:88:27:90 | ss8 : StrSubstitutor | semmle.label | ss8 : StrSubstitutor | +| StrSubstitutorTest.java:27:88:27:107 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:28:28:28:89 | new StrSubstitutor(...) : StrSubstitutor | semmle.label | new StrSubstitutor(...) : StrSubstitutor | +| StrSubstitutorTest.java:28:47:28:59 | taintedLookup : StrLookup | semmle.label | taintedLookup : StrLookup | +| StrSubstitutorTest.java:28:97:28:99 | ss9 : StrSubstitutor | semmle.label | ss9 : StrSubstitutor | +| StrSubstitutorTest.java:28:97:28:116 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:29:29:29:96 | new StrSubstitutor(...) : StrSubstitutor | semmle.label | new StrSubstitutor(...) : StrSubstitutor | +| StrSubstitutorTest.java:29:48:29:60 | taintedLookup : StrLookup | semmle.label | taintedLookup : StrLookup | +| StrSubstitutorTest.java:29:104:29:107 | ss10 : StrSubstitutor | semmle.label | ss10 : StrSubstitutor | +| StrSubstitutorTest.java:29:104:29:124 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:33:12:33:23 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:33:12:33:48 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:34:12:34:23 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:34:12:34:40 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:35:12:35:23 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:35:12:35:46 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:36:12:36:23 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:36:12:36:54 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:37:12:37:23 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:37:12:37:60 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:38:12:38:23 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:38:12:38:54 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:39:12:39:23 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:39:12:39:60 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:40:12:40:23 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:40:12:40:56 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:41:12:41:23 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:41:12:41:62 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:42:12:42:23 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:42:12:42:59 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:43:12:43:23 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:43:12:43:65 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:44:12:44:23 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:44:12:44:58 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:45:12:45:23 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:45:12:45:64 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:49:12:49:25 | untaintedSubst : StrSubstitutor | semmle.label | untaintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:49:12:49:50 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:49:35:49:49 | (...)... : String | semmle.label | (...)... : String | +| StrSubstitutorTest.java:49:43:49:49 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:50:12:50:25 | untaintedSubst : StrSubstitutor | semmle.label | untaintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:50:12:50:42 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:50:35:50:41 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:51:12:51:25 | untaintedSubst : StrSubstitutor | semmle.label | untaintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:51:12:51:48 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:51:35:51:41 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:52:12:52:25 | untaintedSubst : StrSubstitutor | semmle.label | untaintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:52:12:52:56 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:52:35:52:41 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:52:35:52:55 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrSubstitutorTest.java:53:12:53:25 | untaintedSubst : StrSubstitutor | semmle.label | untaintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:53:12:53:62 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:53:35:53:41 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:53:35:53:55 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrSubstitutorTest.java:54:12:54:25 | untaintedSubst : StrSubstitutor | semmle.label | untaintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:54:12:54:56 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:54:35:54:55 | (...)... : String | semmle.label | (...)... : String | +| StrSubstitutorTest.java:54:49:54:55 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:55:12:55:25 | untaintedSubst : StrSubstitutor | semmle.label | untaintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:55:12:55:62 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:55:35:55:55 | (...)... : String | semmle.label | (...)... : String | +| StrSubstitutorTest.java:55:49:55:55 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:56:12:56:25 | untaintedSubst : StrSubstitutor | semmle.label | untaintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:56:12:56:58 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:56:35:56:57 | new StrBuilder(...) : StrBuilder | semmle.label | new StrBuilder(...) : StrBuilder | +| StrSubstitutorTest.java:56:50:56:56 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:57:12:57:25 | untaintedSubst : StrSubstitutor | semmle.label | untaintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:57:12:57:64 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:57:35:57:57 | new StrBuilder(...) : StrBuilder | semmle.label | new StrBuilder(...) : StrBuilder | +| StrSubstitutorTest.java:57:50:57:56 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:58:12:58:25 | untaintedSubst : StrSubstitutor | semmle.label | untaintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:58:12:58:61 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:58:35:58:60 | new StringBuilder(...) : StringBuilder | semmle.label | new StringBuilder(...) : StringBuilder | +| StrSubstitutorTest.java:58:53:58:59 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:59:12:59:25 | untaintedSubst : StrSubstitutor | semmle.label | untaintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:59:12:59:67 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:59:35:59:60 | new StringBuilder(...) : StringBuilder | semmle.label | new StringBuilder(...) : StringBuilder | +| StrSubstitutorTest.java:59:53:59:59 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:60:12:60:25 | untaintedSubst : StrSubstitutor | semmle.label | untaintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:60:12:60:60 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:60:35:60:59 | new StringBuffer(...) : StringBuffer | semmle.label | new StringBuffer(...) : StringBuffer | +| StrSubstitutorTest.java:60:52:60:58 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:61:12:61:25 | untaintedSubst : StrSubstitutor | semmle.label | untaintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:61:12:61:66 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:61:35:61:59 | new StringBuffer(...) : StringBuffer | semmle.label | new StringBuffer(...) : StringBuffer | +| StrSubstitutorTest.java:61:52:61:58 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:64:12:64:73 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:64:35:64:41 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:65:12:65:83 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:65:35:65:41 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:66:12:66:54 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:66:44:66:53 | taintedMap : HashMap [] : String | semmle.label | taintedMap : HashMap [] : String | +| StrSubstitutorTest.java:67:12:67:64 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:67:44:67:53 | taintedMap : HashMap [] : String | semmle.label | taintedMap : HashMap [] : String | +| StrSubstitutorTest.java:69:7:69:18 | taintedProps [post update] : Properties [] : String | semmle.label | taintedProps [post update] : Properties [] : String | +| StrSubstitutorTest.java:69:31:69:37 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:70:12:70:60 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:70:35:70:41 | taint(...) : String | semmle.label | taint(...) : String | +| StrSubstitutorTest.java:71:12:71:56 | replace(...) | semmle.label | replace(...) | +| StrSubstitutorTest.java:71:44:71:55 | taintedProps : Properties [] : String | semmle.label | taintedProps : Properties [] : String | +| StrSubstitutorTest.java:74:50:74:61 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:74:73:74:83 | strBuilder1 [post update] : StrBuilder | semmle.label | strBuilder1 [post update] : StrBuilder | +| StrSubstitutorTest.java:74:92:74:102 | strBuilder1 : StrBuilder | semmle.label | strBuilder1 : StrBuilder | +| StrSubstitutorTest.java:74:92:74:113 | toString(...) | semmle.label | toString(...) | +| StrSubstitutorTest.java:75:50:75:61 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:75:73:75:83 | strBuilder2 [post update] : StrBuilder | semmle.label | strBuilder2 [post update] : StrBuilder | +| StrSubstitutorTest.java:75:98:75:108 | strBuilder2 : StrBuilder | semmle.label | strBuilder2 : StrBuilder | +| StrSubstitutorTest.java:75:98:75:119 | toString(...) | semmle.label | toString(...) | +| StrSubstitutorTest.java:76:59:76:70 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:76:82:76:95 | stringBuilder1 [post update] : StringBuilder | semmle.label | stringBuilder1 [post update] : StringBuilder | +| StrSubstitutorTest.java:76:104:76:117 | stringBuilder1 : StringBuilder | semmle.label | stringBuilder1 : StringBuilder | +| StrSubstitutorTest.java:76:104:76:128 | toString(...) | semmle.label | toString(...) | +| StrSubstitutorTest.java:77:59:77:70 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:77:82:77:95 | stringBuilder2 [post update] : StringBuilder | semmle.label | stringBuilder2 [post update] : StringBuilder | +| StrSubstitutorTest.java:77:110:77:123 | stringBuilder2 : StringBuilder | semmle.label | stringBuilder2 : StringBuilder | +| StrSubstitutorTest.java:77:110:77:134 | toString(...) | semmle.label | toString(...) | +| StrSubstitutorTest.java:78:56:78:67 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:78:79:78:91 | stringBuffer1 [post update] : StringBuffer | semmle.label | stringBuffer1 [post update] : StringBuffer | +| StrSubstitutorTest.java:78:100:78:112 | stringBuffer1 : StringBuffer | semmle.label | stringBuffer1 : StringBuffer | +| StrSubstitutorTest.java:78:100:78:123 | toString(...) | semmle.label | toString(...) | +| StrSubstitutorTest.java:79:56:79:67 | taintedSubst : StrSubstitutor | semmle.label | taintedSubst : StrSubstitutor | +| StrSubstitutorTest.java:79:79:79:91 | stringBuffer2 [post update] : StringBuffer | semmle.label | stringBuffer2 [post update] : StringBuffer | +| StrSubstitutorTest.java:79:106:79:118 | stringBuffer2 : StringBuffer | semmle.label | stringBuffer2 : StringBuffer | +| StrSubstitutorTest.java:79:106:79:129 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:12:10:12:61 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:12:11:12:49 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:12:28:12:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:12:28:12:48 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTest.java:13:10:13:66 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:13:11:13:54 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:13:28:13:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:13:28:13:48 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTest.java:14:10:14:71 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:14:11:14:59 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:14:28:14:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:14:28:14:48 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTest.java:15:10:15:66 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:15:11:15:54 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:15:28:15:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:15:28:15:48 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTest.java:16:10:16:79 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:16:11:16:67 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:16:28:16:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:16:28:16:48 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTest.java:17:10:17:97 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:17:11:17:85 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:17:28:17:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:17:28:17:48 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTest.java:18:10:18:47 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:18:11:18:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:18:28:18:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:19:10:19:52 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:19:11:19:40 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:19:28:19:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:20:10:20:57 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:20:11:20:45 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:20:28:20:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:21:10:21:52 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:21:11:21:40 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:21:28:21:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:22:10:22:65 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:22:11:22:53 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:22:28:22:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:23:10:23:83 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:23:11:23:71 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:23:28:23:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:26:10:26:59 | getCSVInstance(...) : StrTokenizer | semmle.label | getCSVInstance(...) : StrTokenizer | +| StrTokenizerTest.java:26:10:26:70 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:26:38:26:44 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:26:38:26:58 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTest.java:27:10:27:45 | getCSVInstance(...) : StrTokenizer | semmle.label | getCSVInstance(...) : StrTokenizer | +| StrTokenizerTest.java:27:10:27:56 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:27:38:27:44 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:28:10:28:59 | getTSVInstance(...) : StrTokenizer | semmle.label | getTSVInstance(...) : StrTokenizer | +| StrTokenizerTest.java:28:10:28:70 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:28:38:28:44 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:28:38:28:58 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTest.java:29:10:29:45 | getTSVInstance(...) : StrTokenizer | semmle.label | getTSVInstance(...) : StrTokenizer | +| StrTokenizerTest.java:29:10:29:56 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:29:38:29:44 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:32:10:32:44 | clone(...) | semmle.label | clone(...) | +| StrTokenizerTest.java:32:11:32:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:32:28:32:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:33:10:33:49 | getContent(...) | semmle.label | getContent(...) | +| StrTokenizerTest.java:33:11:33:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:33:28:33:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:34:10:34:52 | getTokenArray(...) | semmle.label | getTokenArray(...) | +| StrTokenizerTest.java:34:11:34:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:34:28:34:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:35:10:35:51 | getTokenList(...) | semmle.label | getTokenList(...) | +| StrTokenizerTest.java:35:11:35:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:35:28:35:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:36:10:36:43 | next(...) | semmle.label | next(...) | +| StrTokenizerTest.java:36:11:36:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:36:28:36:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:37:10:37:48 | nextToken(...) | semmle.label | nextToken(...) | +| StrTokenizerTest.java:37:11:37:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:37:28:37:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:38:10:38:47 | previous(...) | semmle.label | previous(...) | +| StrTokenizerTest.java:38:11:38:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:38:28:38:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:39:10:39:52 | previousToken(...) | semmle.label | previousToken(...) | +| StrTokenizerTest.java:39:11:39:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTest.java:39:28:39:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:42:10:42:58 | reset(...) : StrTokenizer | semmle.label | reset(...) : StrTokenizer | +| StrTokenizerTest.java:42:10:42:69 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:42:37:42:43 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTest.java:42:37:42:57 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTest.java:43:10:43:44 | reset(...) : StrTokenizer | semmle.label | reset(...) : StrTokenizer | +| StrTokenizerTest.java:43:10:43:55 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTest.java:43:37:43:43 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:12:10:12:61 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:12:11:12:49 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:12:28:12:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:12:28:12:48 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTextTest.java:13:10:13:66 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:13:11:13:54 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:13:28:13:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:13:28:13:48 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTextTest.java:14:10:14:71 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:14:11:14:59 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:14:28:14:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:14:28:14:48 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTextTest.java:15:10:15:66 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:15:11:15:54 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:15:28:15:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:15:28:15:48 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTextTest.java:16:10:16:79 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:16:11:16:67 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:16:28:16:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:16:28:16:48 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTextTest.java:17:10:17:97 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:17:11:17:85 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:17:28:17:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:17:28:17:48 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTextTest.java:18:10:18:47 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:18:11:18:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:18:28:18:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:19:10:19:52 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:19:11:19:40 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:19:28:19:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:20:10:20:57 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:20:11:20:45 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:20:28:20:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:21:10:21:52 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:21:11:21:40 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:21:28:21:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:22:10:22:65 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:22:11:22:53 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:22:28:22:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:23:10:23:83 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:23:11:23:71 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:23:28:23:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:26:10:26:59 | getCSVInstance(...) : StrTokenizer | semmle.label | getCSVInstance(...) : StrTokenizer | +| StrTokenizerTextTest.java:26:10:26:70 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:26:38:26:44 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:26:38:26:58 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTextTest.java:27:10:27:45 | getCSVInstance(...) : StrTokenizer | semmle.label | getCSVInstance(...) : StrTokenizer | +| StrTokenizerTextTest.java:27:10:27:56 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:27:38:27:44 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:28:10:28:59 | getTSVInstance(...) : StrTokenizer | semmle.label | getTSVInstance(...) : StrTokenizer | +| StrTokenizerTextTest.java:28:10:28:70 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:28:38:28:44 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:28:38:28:58 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTextTest.java:29:10:29:45 | getTSVInstance(...) : StrTokenizer | semmle.label | getTSVInstance(...) : StrTokenizer | +| StrTokenizerTextTest.java:29:10:29:56 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:29:38:29:44 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:32:10:32:44 | clone(...) | semmle.label | clone(...) | +| StrTokenizerTextTest.java:32:11:32:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:32:28:32:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:33:10:33:49 | getContent(...) | semmle.label | getContent(...) | +| StrTokenizerTextTest.java:33:11:33:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:33:28:33:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:34:10:34:52 | getTokenArray(...) | semmle.label | getTokenArray(...) | +| StrTokenizerTextTest.java:34:11:34:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:34:28:34:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:35:10:35:51 | getTokenList(...) | semmle.label | getTokenList(...) | +| StrTokenizerTextTest.java:35:11:35:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:35:28:35:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:36:10:36:43 | next(...) | semmle.label | next(...) | +| StrTokenizerTextTest.java:36:11:36:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:36:28:36:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:37:10:37:48 | nextToken(...) | semmle.label | nextToken(...) | +| StrTokenizerTextTest.java:37:11:37:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:37:28:37:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:38:10:38:47 | previous(...) | semmle.label | previous(...) | +| StrTokenizerTextTest.java:38:11:38:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:38:28:38:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:39:10:39:52 | previousToken(...) | semmle.label | previousToken(...) | +| StrTokenizerTextTest.java:39:11:39:35 | new StrTokenizer(...) : StrTokenizer | semmle.label | new StrTokenizer(...) : StrTokenizer | +| StrTokenizerTextTest.java:39:28:39:34 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:42:10:42:58 | reset(...) : StrTokenizer | semmle.label | reset(...) : StrTokenizer | +| StrTokenizerTextTest.java:42:10:42:69 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:42:37:42:43 | taint(...) : String | semmle.label | taint(...) : String | +| StrTokenizerTextTest.java:42:37:42:57 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StrTokenizerTextTest.java:43:10:43:44 | reset(...) : StrTokenizer | semmle.label | reset(...) : StrTokenizer | +| StrTokenizerTextTest.java:43:10:43:55 | toString(...) | semmle.label | toString(...) | +| StrTokenizerTextTest.java:43:37:43:43 | taint(...) : String | semmle.label | taint(...) : String | +| StringEscapeUtilsTest.java:9:10:9:46 | escapeJson(...) | semmle.label | escapeJson(...) | +| StringEscapeUtilsTest.java:9:39:9:45 | taint(...) : String | semmle.label | taint(...) : String | +| StringLookupTextTest.java:13:7:13:9 | map [post update] : HashMap [] : String | semmle.label | map [post update] : HashMap [] : String | +| StringLookupTextTest.java:13:22:13:28 | taint(...) : String | semmle.label | taint(...) : String | +| StringLookupTextTest.java:14:29:14:77 | mapStringLookup(...) : StringLookup | semmle.label | mapStringLookup(...) : StringLookup | +| StringLookupTextTest.java:14:74:14:76 | map : HashMap [] : String | semmle.label | map : HashMap [] : String | +| StringLookupTextTest.java:15:12:15:17 | lookup : StringLookup | semmle.label | lookup : StringLookup | +| StringLookupTextTest.java:15:12:15:31 | lookup(...) | semmle.label | lookup(...) | +| StringSubstitutorTextTest.java:17:7:17:16 | taintedMap [post update] : HashMap [] : String | semmle.label | taintedMap [post update] : HashMap [] : String | +| StringSubstitutorTextTest.java:17:29:17:35 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:18:36:18:91 | mapStringLookup(...) : StringLookup | semmle.label | mapStringLookup(...) : StringLookup | +| StringSubstitutorTextTest.java:18:81:18:90 | taintedMap : HashMap [] : String | semmle.label | taintedMap : HashMap [] : String | +| StringSubstitutorTextTest.java:21:56:21:58 | ss1 [post update] : StringSubstitutor | semmle.label | ss1 [post update] : StringSubstitutor | +| StringSubstitutorTextTest.java:21:80:21:92 | taintedLookup : StringLookup | semmle.label | taintedLookup : StringLookup | +| StringSubstitutorTextTest.java:21:101:21:103 | ss1 : StringSubstitutor | semmle.label | ss1 : StringSubstitutor | +| StringSubstitutorTextTest.java:21:101:21:120 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:22:31:22:63 | new StringSubstitutor(...) : StringSubstitutor | semmle.label | new StringSubstitutor(...) : StringSubstitutor | +| StringSubstitutorTextTest.java:22:53:22:62 | taintedMap : HashMap [] : String | semmle.label | taintedMap : HashMap [] : String | +| StringSubstitutorTextTest.java:22:71:22:73 | ss2 : StringSubstitutor | semmle.label | ss2 : StringSubstitutor | +| StringSubstitutorTextTest.java:22:71:22:90 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:23:31:23:73 | new StringSubstitutor(...) : StringSubstitutor | semmle.label | new StringSubstitutor(...) : StringSubstitutor | +| StringSubstitutorTextTest.java:23:53:23:62 | taintedMap : HashMap [] : String | semmle.label | taintedMap : HashMap [] : String | +| StringSubstitutorTextTest.java:23:81:23:83 | ss3 : StringSubstitutor | semmle.label | ss3 : StringSubstitutor | +| StringSubstitutorTextTest.java:23:81:23:100 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:24:31:24:78 | new StringSubstitutor(...) : StringSubstitutor | semmle.label | new StringSubstitutor(...) : StringSubstitutor | +| StringSubstitutorTextTest.java:24:53:24:62 | taintedMap : HashMap [] : String | semmle.label | taintedMap : HashMap [] : String | +| StringSubstitutorTextTest.java:24:86:24:88 | ss4 : StringSubstitutor | semmle.label | ss4 : StringSubstitutor | +| StringSubstitutorTextTest.java:24:86:24:105 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:25:31:25:83 | new StringSubstitutor(...) : StringSubstitutor | semmle.label | new StringSubstitutor(...) : StringSubstitutor | +| StringSubstitutorTextTest.java:25:53:25:62 | taintedMap : HashMap [] : String | semmle.label | taintedMap : HashMap [] : String | +| StringSubstitutorTextTest.java:25:91:25:93 | ss5 : StringSubstitutor | semmle.label | ss5 : StringSubstitutor | +| StringSubstitutorTextTest.java:25:91:25:110 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:26:31:26:66 | new StringSubstitutor(...) : StringSubstitutor | semmle.label | new StringSubstitutor(...) : StringSubstitutor | +| StringSubstitutorTextTest.java:26:53:26:65 | taintedLookup : StringLookup | semmle.label | taintedLookup : StringLookup | +| StringSubstitutorTextTest.java:26:74:26:76 | ss6 : StringSubstitutor | semmle.label | ss6 : StringSubstitutor | +| StringSubstitutorTextTest.java:26:74:26:93 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:27:31:27:81 | new StringSubstitutor(...) : StringSubstitutor | semmle.label | new StringSubstitutor(...) : StringSubstitutor | +| StringSubstitutorTextTest.java:27:53:27:65 | taintedLookup : StringLookup | semmle.label | taintedLookup : StringLookup | +| StringSubstitutorTextTest.java:27:89:27:91 | ss7 : StringSubstitutor | semmle.label | ss7 : StringSubstitutor | +| StringSubstitutorTextTest.java:27:89:27:108 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:28:31:28:86 | new StringSubstitutor(...) : StringSubstitutor | semmle.label | new StringSubstitutor(...) : StringSubstitutor | +| StringSubstitutorTextTest.java:28:53:28:65 | taintedLookup : StringLookup | semmle.label | taintedLookup : StringLookup | +| StringSubstitutorTextTest.java:28:94:28:96 | ss8 : StringSubstitutor | semmle.label | ss8 : StringSubstitutor | +| StringSubstitutorTextTest.java:28:94:28:113 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:29:31:29:98 | new StringSubstitutor(...) : StringSubstitutor | semmle.label | new StringSubstitutor(...) : StringSubstitutor | +| StringSubstitutorTextTest.java:29:53:29:65 | taintedLookup : StringLookup | semmle.label | taintedLookup : StringLookup | +| StringSubstitutorTextTest.java:29:106:29:108 | ss9 : StringSubstitutor | semmle.label | ss9 : StringSubstitutor | +| StringSubstitutorTextTest.java:29:106:29:125 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:30:32:30:105 | new StringSubstitutor(...) : StringSubstitutor | semmle.label | new StringSubstitutor(...) : StringSubstitutor | +| StringSubstitutorTextTest.java:30:54:30:66 | taintedLookup : StringLookup | semmle.label | taintedLookup : StringLookup | +| StringSubstitutorTextTest.java:30:113:30:116 | ss10 : StringSubstitutor | semmle.label | ss10 : StringSubstitutor | +| StringSubstitutorTextTest.java:30:113:30:133 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:34:12:34:23 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:34:12:34:48 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:35:12:35:23 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:35:12:35:40 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:36:12:36:23 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:36:12:36:46 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:37:12:37:23 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:37:12:37:54 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:38:12:38:23 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:38:12:38:60 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:39:12:39:23 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:39:12:39:54 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:40:12:40:23 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:40:12:40:60 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:41:12:41:23 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:41:12:41:63 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:42:12:42:23 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:42:12:42:69 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:43:12:43:23 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:43:12:43:59 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:44:12:44:23 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:44:12:44:65 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:45:12:45:23 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:45:12:45:58 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:46:12:46:23 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:46:12:46:64 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:50:12:50:25 | untaintedSubst : StringSubstitutor | semmle.label | untaintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:50:12:50:50 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:50:35:50:49 | (...)... : String | semmle.label | (...)... : String | +| StringSubstitutorTextTest.java:50:43:50:49 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:51:12:51:25 | untaintedSubst : StringSubstitutor | semmle.label | untaintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:51:12:51:42 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:51:35:51:41 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:52:12:52:25 | untaintedSubst : StringSubstitutor | semmle.label | untaintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:52:12:52:48 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:52:35:52:41 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:53:12:53:25 | untaintedSubst : StringSubstitutor | semmle.label | untaintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:53:12:53:56 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:53:35:53:41 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:53:35:53:55 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StringSubstitutorTextTest.java:54:12:54:25 | untaintedSubst : StringSubstitutor | semmle.label | untaintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:54:12:54:62 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:54:35:54:41 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:54:35:54:55 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StringSubstitutorTextTest.java:55:12:55:25 | untaintedSubst : StringSubstitutor | semmle.label | untaintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:55:12:55:56 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:55:35:55:55 | (...)... : String | semmle.label | (...)... : String | +| StringSubstitutorTextTest.java:55:49:55:55 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:56:12:56:25 | untaintedSubst : StringSubstitutor | semmle.label | untaintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:56:12:56:62 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:56:35:56:55 | (...)... : String | semmle.label | (...)... : String | +| StringSubstitutorTextTest.java:56:49:56:55 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:57:12:57:25 | untaintedSubst : StringSubstitutor | semmle.label | untaintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:57:12:57:65 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:57:35:57:64 | new TextStringBuilder(...) : TextStringBuilder | semmle.label | new TextStringBuilder(...) : TextStringBuilder | +| StringSubstitutorTextTest.java:57:57:57:63 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:58:12:58:25 | untaintedSubst : StringSubstitutor | semmle.label | untaintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:58:12:58:71 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:58:35:58:64 | new TextStringBuilder(...) : TextStringBuilder | semmle.label | new TextStringBuilder(...) : TextStringBuilder | +| StringSubstitutorTextTest.java:58:57:58:63 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:59:12:59:25 | untaintedSubst : StringSubstitutor | semmle.label | untaintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:59:12:59:61 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:59:35:59:60 | new StringBuilder(...) : StringBuilder | semmle.label | new StringBuilder(...) : StringBuilder | +| StringSubstitutorTextTest.java:59:53:59:59 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:60:12:60:25 | untaintedSubst : StringSubstitutor | semmle.label | untaintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:60:12:60:67 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:60:35:60:60 | new StringBuilder(...) : StringBuilder | semmle.label | new StringBuilder(...) : StringBuilder | +| StringSubstitutorTextTest.java:60:53:60:59 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:61:12:61:25 | untaintedSubst : StringSubstitutor | semmle.label | untaintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:61:12:61:60 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:61:35:61:59 | new StringBuffer(...) : StringBuffer | semmle.label | new StringBuffer(...) : StringBuffer | +| StringSubstitutorTextTest.java:61:52:61:58 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:62:12:62:25 | untaintedSubst : StringSubstitutor | semmle.label | untaintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:62:12:62:66 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:62:35:62:59 | new StringBuffer(...) : StringBuffer | semmle.label | new StringBuffer(...) : StringBuffer | +| StringSubstitutorTextTest.java:62:52:62:58 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:65:12:65:76 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:65:38:65:44 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:66:12:66:86 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:66:38:66:44 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:67:12:67:57 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:67:47:67:56 | taintedMap : HashMap [] : String | semmle.label | taintedMap : HashMap [] : String | +| StringSubstitutorTextTest.java:68:12:68:67 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:68:47:68:56 | taintedMap : HashMap [] : String | semmle.label | taintedMap : HashMap [] : String | +| StringSubstitutorTextTest.java:70:7:70:18 | taintedProps [post update] : Properties [] : String | semmle.label | taintedProps [post update] : Properties [] : String | +| StringSubstitutorTextTest.java:70:31:70:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:71:12:71:63 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:71:38:71:44 | taint(...) : String | semmle.label | taint(...) : String | +| StringSubstitutorTextTest.java:72:12:72:59 | replace(...) | semmle.label | replace(...) | +| StringSubstitutorTextTest.java:72:47:72:58 | taintedProps : Properties [] : String | semmle.label | taintedProps : Properties [] : String | +| StringSubstitutorTextTest.java:75:64:75:75 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:75:87:75:97 | strBuilder1 [post update] : TextStringBuilder | semmle.label | strBuilder1 [post update] : TextStringBuilder | +| StringSubstitutorTextTest.java:75:106:75:116 | strBuilder1 : TextStringBuilder | semmle.label | strBuilder1 : TextStringBuilder | +| StringSubstitutorTextTest.java:75:106:75:127 | toString(...) | semmle.label | toString(...) | +| StringSubstitutorTextTest.java:76:64:76:75 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:76:87:76:97 | strBuilder2 [post update] : TextStringBuilder | semmle.label | strBuilder2 [post update] : TextStringBuilder | +| StringSubstitutorTextTest.java:76:112:76:122 | strBuilder2 : TextStringBuilder | semmle.label | strBuilder2 : TextStringBuilder | +| StringSubstitutorTextTest.java:76:112:76:133 | toString(...) | semmle.label | toString(...) | +| StringSubstitutorTextTest.java:77:59:77:70 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:77:82:77:95 | stringBuilder1 [post update] : StringBuilder | semmle.label | stringBuilder1 [post update] : StringBuilder | +| StringSubstitutorTextTest.java:77:104:77:117 | stringBuilder1 : StringBuilder | semmle.label | stringBuilder1 : StringBuilder | +| StringSubstitutorTextTest.java:77:104:77:128 | toString(...) | semmle.label | toString(...) | +| StringSubstitutorTextTest.java:78:59:78:70 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:78:82:78:95 | stringBuilder2 [post update] : StringBuilder | semmle.label | stringBuilder2 [post update] : StringBuilder | +| StringSubstitutorTextTest.java:78:110:78:123 | stringBuilder2 : StringBuilder | semmle.label | stringBuilder2 : StringBuilder | +| StringSubstitutorTextTest.java:78:110:78:134 | toString(...) | semmle.label | toString(...) | +| StringSubstitutorTextTest.java:79:56:79:67 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:79:79:79:91 | stringBuffer1 [post update] : StringBuffer | semmle.label | stringBuffer1 [post update] : StringBuffer | +| StringSubstitutorTextTest.java:79:100:79:112 | stringBuffer1 : StringBuffer | semmle.label | stringBuffer1 : StringBuffer | +| StringSubstitutorTextTest.java:79:100:79:123 | toString(...) | semmle.label | toString(...) | +| StringSubstitutorTextTest.java:80:56:80:67 | taintedSubst : StringSubstitutor | semmle.label | taintedSubst : StringSubstitutor | +| StringSubstitutorTextTest.java:80:79:80:91 | stringBuffer2 [post update] : StringBuffer | semmle.label | stringBuffer2 [post update] : StringBuffer | +| StringSubstitutorTextTest.java:80:106:80:118 | stringBuffer2 : StringBuffer | semmle.label | stringBuffer2 : StringBuffer | +| StringSubstitutorTextTest.java:80:106:80:129 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:12:10:12:64 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:12:11:12:52 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:12:31:12:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:12:31:12:51 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StringTokenizerTest.java:13:10:13:69 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:13:11:13:57 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:13:31:13:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:13:31:13:51 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StringTokenizerTest.java:14:10:14:74 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:14:11:14:62 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:14:31:14:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:14:31:14:51 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StringTokenizerTest.java:15:10:15:69 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:15:11:15:57 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:15:31:15:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:15:31:15:51 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StringTokenizerTest.java:16:10:16:85 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:16:11:16:73 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:16:31:16:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:16:31:16:51 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StringTokenizerTest.java:17:10:17:106 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:17:11:17:94 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:17:31:17:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:17:31:17:51 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StringTokenizerTest.java:18:10:18:50 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:18:11:18:38 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:18:31:18:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:19:10:19:55 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:19:11:19:43 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:19:31:19:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:20:10:20:60 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:20:11:20:48 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:20:31:20:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:21:10:21:55 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:21:11:21:43 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:21:31:21:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:22:10:22:71 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:22:11:22:59 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:22:31:22:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:23:10:23:92 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:23:11:23:80 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:23:31:23:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:26:10:26:62 | getCSVInstance(...) : StringTokenizer | semmle.label | getCSVInstance(...) : StringTokenizer | +| StringTokenizerTest.java:26:10:26:73 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:26:41:26:47 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:26:41:26:61 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StringTokenizerTest.java:27:10:27:48 | getCSVInstance(...) : StringTokenizer | semmle.label | getCSVInstance(...) : StringTokenizer | +| StringTokenizerTest.java:27:10:27:59 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:27:41:27:47 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:28:10:28:62 | getTSVInstance(...) : StringTokenizer | semmle.label | getTSVInstance(...) : StringTokenizer | +| StringTokenizerTest.java:28:10:28:73 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:28:41:28:47 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:28:41:28:61 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StringTokenizerTest.java:29:10:29:48 | getTSVInstance(...) : StringTokenizer | semmle.label | getTSVInstance(...) : StringTokenizer | +| StringTokenizerTest.java:29:10:29:59 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:29:41:29:47 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:32:10:32:47 | clone(...) | semmle.label | clone(...) | +| StringTokenizerTest.java:32:11:32:38 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:32:31:32:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:33:10:33:52 | getContent(...) | semmle.label | getContent(...) | +| StringTokenizerTest.java:33:11:33:38 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:33:31:33:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:34:10:34:55 | getTokenArray(...) | semmle.label | getTokenArray(...) | +| StringTokenizerTest.java:34:11:34:38 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:34:31:34:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:35:10:35:54 | getTokenList(...) | semmle.label | getTokenList(...) | +| StringTokenizerTest.java:35:11:35:38 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:35:31:35:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:36:10:36:46 | next(...) | semmle.label | next(...) | +| StringTokenizerTest.java:36:11:36:38 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:36:31:36:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:37:10:37:51 | nextToken(...) | semmle.label | nextToken(...) | +| StringTokenizerTest.java:37:11:37:38 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:37:31:37:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:38:10:38:50 | previous(...) | semmle.label | previous(...) | +| StringTokenizerTest.java:38:11:38:38 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:38:31:38:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:39:10:39:55 | previousToken(...) | semmle.label | previousToken(...) | +| StringTokenizerTest.java:39:11:39:38 | new StringTokenizer(...) : StringTokenizer | semmle.label | new StringTokenizer(...) : StringTokenizer | +| StringTokenizerTest.java:39:31:39:37 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:42:10:42:61 | reset(...) : StringTokenizer | semmle.label | reset(...) : StringTokenizer | +| StringTokenizerTest.java:42:10:42:72 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:42:40:42:46 | taint(...) : String | semmle.label | taint(...) : String | +| StringTokenizerTest.java:42:40:42:60 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| StringTokenizerTest.java:43:10:43:47 | reset(...) : StringTokenizer | semmle.label | reset(...) : StringTokenizer | +| StringTokenizerTest.java:43:10:43:58 | toString(...) | semmle.label | toString(...) | +| StringTokenizerTest.java:43:40:43:46 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:15:14:15:47 | abbreviate(...) | semmle.label | abbreviate(...) | +| Test.java:15:37:15:43 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:16:14:16:50 | abbreviate(...) | semmle.label | abbreviate(...) | +| Test.java:16:37:16:43 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:17:14:17:54 | abbreviate(...) | semmle.label | abbreviate(...) | +| Test.java:17:37:17:43 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:18:14:18:60 | abbreviate(...) | semmle.label | abbreviate(...) | +| Test.java:18:50:18:56 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:19:14:19:57 | abbreviate(...) | semmle.label | abbreviate(...) | +| Test.java:19:37:19:43 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:20:14:20:63 | abbreviate(...) | semmle.label | abbreviate(...) | +| Test.java:20:50:20:56 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:21:14:21:60 | abbreviateMiddle(...) | semmle.label | abbreviateMiddle(...) | +| Test.java:21:43:21:49 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:22:14:22:66 | abbreviateMiddle(...) | semmle.label | abbreviateMiddle(...) | +| Test.java:22:56:22:62 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:23:14:23:89 | appendIfMissing(...) | semmle.label | appendIfMissing(...) | +| Test.java:23:42:23:48 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:24:14:24:89 | appendIfMissing(...) | semmle.label | appendIfMissing(...) | +| Test.java:24:52:24:58 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:28:14:28:99 | appendIfMissingIgnoreCase(...) | semmle.label | appendIfMissingIgnoreCase(...) | +| Test.java:28:52:28:58 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:29:14:29:99 | appendIfMissingIgnoreCase(...) | semmle.label | appendIfMissingIgnoreCase(...) | +| Test.java:29:62:29:68 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:33:14:33:44 | capitalize(...) | semmle.label | capitalize(...) | +| Test.java:33:37:33:43 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:34:14:34:43 | center(...) | semmle.label | center(...) | +| Test.java:34:33:34:39 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:35:14:35:48 | center(...) | semmle.label | center(...) | +| Test.java:35:33:35:39 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:36:14:36:61 | center(...) | semmle.label | center(...) | +| Test.java:36:33:36:39 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:37:14:37:56 | center(...) | semmle.label | center(...) | +| Test.java:37:49:37:55 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:38:14:38:39 | chomp(...) | semmle.label | chomp(...) | +| Test.java:38:32:38:38 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:39:14:39:52 | chomp(...) | semmle.label | chomp(...) | +| Test.java:39:32:39:38 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:42:14:42:38 | chop(...) | semmle.label | chop(...) | +| Test.java:42:31:42:37 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:43:14:43:59 | defaultIfBlank(...) | semmle.label | defaultIfBlank(...) | +| Test.java:43:41:43:47 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:44:14:44:65 | defaultIfBlank(...) | semmle.label | defaultIfBlank(...) | +| Test.java:44:58:44:64 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:45:14:45:59 | defaultIfEmpty(...) | semmle.label | defaultIfEmpty(...) | +| Test.java:45:41:45:47 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:46:14:46:65 | defaultIfEmpty(...) | semmle.label | defaultIfEmpty(...) | +| Test.java:46:58:46:64 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:47:14:47:47 | defaultString(...) | semmle.label | defaultString(...) | +| Test.java:47:40:47:46 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:48:14:48:65 | defaultString(...) | semmle.label | defaultString(...) | +| Test.java:48:40:48:46 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:49:14:49:63 | defaultString(...) | semmle.label | defaultString(...) | +| Test.java:49:56:49:62 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:50:14:50:50 | deleteWhitespace(...) | semmle.label | deleteWhitespace(...) | +| Test.java:50:43:50:49 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:51:14:51:51 | difference(...) | semmle.label | difference(...) | +| Test.java:51:37:51:43 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:52:14:52:51 | difference(...) | semmle.label | difference(...) | +| Test.java:52:44:52:50 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:53:14:53:64 | firstNonBlank(...) | semmle.label | firstNonBlank(...) | +| Test.java:53:14:53:64 | new ..[] { .. } : CharSequence[] [[]] : String | semmle.label | new ..[] { .. } : CharSequence[] [[]] : String | +| Test.java:53:40:53:46 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:54:14:54:63 | firstNonBlank(...) | semmle.label | firstNonBlank(...) | +| Test.java:54:14:54:63 | new ..[] { .. } : CharSequence[] [[]] : String | semmle.label | new ..[] { .. } : CharSequence[] [[]] : String | +| Test.java:54:56:54:62 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:55:14:55:64 | firstNonEmpty(...) | semmle.label | firstNonEmpty(...) | +| Test.java:55:14:55:64 | new ..[] { .. } : CharSequence[] [[]] : String | semmle.label | new ..[] { .. } : CharSequence[] [[]] : String | +| Test.java:55:40:55:46 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:56:14:56:63 | firstNonEmpty(...) | semmle.label | firstNonEmpty(...) | +| Test.java:56:14:56:63 | new ..[] { .. } : CharSequence[] [[]] : String | semmle.label | new ..[] { .. } : CharSequence[] [[]] : String | +| Test.java:56:56:56:62 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:57:14:57:57 | getBytes(...) | semmle.label | getBytes(...) | +| Test.java:57:35:57:41 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:58:14:58:58 | getBytes(...) | semmle.label | getBytes(...) | +| Test.java:58:35:58:41 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:61:14:61:66 | getCommonPrefix(...) | semmle.label | getCommonPrefix(...) | +| Test.java:61:14:61:66 | new ..[] { .. } : String[] [[]] : String | semmle.label | new ..[] { .. } : String[] [[]] : String | +| Test.java:61:42:61:48 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:62:14:62:65 | getCommonPrefix(...) | semmle.label | getCommonPrefix(...) | +| Test.java:62:14:62:65 | new ..[] { .. } : String[] [[]] : String | semmle.label | new ..[] { .. } : String[] [[]] : String | +| Test.java:62:58:62:64 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:63:14:63:43 | getDigits(...) | semmle.label | getDigits(...) | +| Test.java:63:36:63:42 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:64:14:64:61 | getIfBlank(...) | semmle.label | getIfBlank(...) | +| Test.java:64:37:64:43 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:65:14:65:61 | getIfEmpty(...) | semmle.label | getIfEmpty(...) | +| Test.java:65:37:65:43 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:73:14:73:57 | join(...) | semmle.label | join(...) | +| Test.java:73:31:73:37 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:73:31:73:51 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| Test.java:74:14:74:63 | join(...) | semmle.label | join(...) | +| Test.java:74:31:74:37 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:74:31:74:51 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| Test.java:77:9:77:19 | taintedList [post update] : ArrayList [] : String | semmle.label | taintedList [post update] : ArrayList [] : String | +| Test.java:77:25:77:31 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:78:14:78:47 | join(...) | semmle.label | join(...) | +| Test.java:78:31:78:41 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| Test.java:79:14:79:49 | join(...) | semmle.label | join(...) | +| Test.java:79:31:79:41 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| Test.java:81:14:81:53 | join(...) | semmle.label | join(...) | +| Test.java:81:46:81:52 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:83:14:83:58 | join(...) | semmle.label | join(...) | +| Test.java:83:31:83:41 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| Test.java:83:31:83:52 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:84:14:84:60 | join(...) | semmle.label | join(...) | +| Test.java:84:31:84:41 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| Test.java:84:31:84:52 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:85:14:85:64 | join(...) | semmle.label | join(...) | +| Test.java:85:57:85:63 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:87:14:87:53 | join(...) | semmle.label | join(...) | +| Test.java:87:31:87:41 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| Test.java:88:14:88:55 | join(...) | semmle.label | join(...) | +| Test.java:88:31:88:41 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| Test.java:89:14:89:59 | join(...) | semmle.label | join(...) | +| Test.java:89:46:89:52 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:91:33:91:56 | {...} : Object[] [[]] : String | semmle.label | {...} : Object[] [[]] : String | +| Test.java:91:48:91:54 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:92:14:92:48 | join(...) | semmle.label | join(...) | +| Test.java:92:31:92:42 | taintedArray : Object[] [[]] : String | semmle.label | taintedArray : Object[] [[]] : String | +| Test.java:93:14:93:50 | join(...) | semmle.label | join(...) | +| Test.java:93:31:93:42 | taintedArray : Object[] [[]] : String | semmle.label | taintedArray : Object[] [[]] : String | +| Test.java:94:14:94:54 | join(...) | semmle.label | join(...) | +| Test.java:94:31:94:42 | taintedArray : Object[] [[]] : String | semmle.label | taintedArray : Object[] [[]] : String | +| Test.java:95:14:95:56 | join(...) | semmle.label | join(...) | +| Test.java:95:31:95:42 | taintedArray : Object[] [[]] : String | semmle.label | taintedArray : Object[] [[]] : String | +| Test.java:97:14:97:54 | join(...) | semmle.label | join(...) | +| Test.java:97:47:97:53 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:98:14:98:60 | join(...) | semmle.label | join(...) | +| Test.java:98:47:98:53 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:100:14:100:54 | join(...) | semmle.label | join(...) | +| Test.java:100:14:100:54 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| Test.java:100:31:100:37 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:101:14:101:61 | join(...) | semmle.label | join(...) | +| Test.java:101:14:101:61 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| Test.java:101:54:101:60 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:102:14:102:71 | joinWith(...) | semmle.label | joinWith(...) | +| Test.java:102:14:102:71 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| Test.java:102:48:102:54 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:103:14:103:78 | joinWith(...) | semmle.label | joinWith(...) | +| Test.java:103:14:103:78 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| Test.java:103:71:103:77 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:104:14:104:87 | joinWith(...) | semmle.label | joinWith(...) | +| Test.java:104:35:104:41 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:106:14:106:41 | left(...) | semmle.label | left(...) | +| Test.java:106:31:106:37 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:107:14:107:44 | leftPad(...) | semmle.label | leftPad(...) | +| Test.java:107:34:107:40 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:108:14:108:49 | leftPad(...) | semmle.label | leftPad(...) | +| Test.java:108:34:108:40 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:109:14:109:55 | leftPad(...) | semmle.label | leftPad(...) | +| Test.java:109:34:109:40 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:110:14:110:54 | leftPad(...) | semmle.label | leftPad(...) | +| Test.java:110:47:110:53 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:111:14:111:43 | lowerCase(...) | semmle.label | lowerCase(...) | +| Test.java:111:36:111:42 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:112:14:112:54 | lowerCase(...) | semmle.label | lowerCase(...) | +| Test.java:112:36:112:42 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:113:14:113:43 | mid(...) | semmle.label | mid(...) | +| Test.java:113:30:113:36 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:114:14:114:48 | normalizeSpace(...) | semmle.label | normalizeSpace(...) | +| Test.java:114:41:114:47 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:115:14:115:58 | overlay(...) | semmle.label | overlay(...) | +| Test.java:115:34:115:40 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:116:14:116:59 | overlay(...) | semmle.label | overlay(...) | +| Test.java:116:46:116:52 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:117:14:117:103 | prependIfMissing(...) | semmle.label | prependIfMissing(...) | +| Test.java:117:43:117:49 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:118:14:118:105 | prependIfMissing(...) | semmle.label | prependIfMissing(...) | +| Test.java:118:62:118:68 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:122:14:122:113 | prependIfMissingIgnoreCase(...) | semmle.label | prependIfMissingIgnoreCase(...) | +| Test.java:122:53:122:59 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:123:14:123:115 | prependIfMissingIgnoreCase(...) | semmle.label | prependIfMissingIgnoreCase(...) | +| Test.java:123:72:123:78 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:127:14:127:45 | remove(...) | semmle.label | remove(...) | +| Test.java:127:33:127:39 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:128:14:128:53 | remove(...) | semmle.label | remove(...) | +| Test.java:128:33:128:39 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:129:14:129:56 | removeAll(...) | semmle.label | removeAll(...) | +| Test.java:129:36:129:42 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:130:14:130:56 | removeEnd(...) | semmle.label | removeEnd(...) | +| Test.java:130:36:130:42 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:131:14:131:66 | removeEndIgnoreCase(...) | semmle.label | removeEndIgnoreCase(...) | +| Test.java:131:46:131:52 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:132:14:132:58 | removeFirst(...) | semmle.label | removeFirst(...) | +| Test.java:132:38:132:44 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:133:14:133:63 | removeIgnoreCase(...) | semmle.label | removeIgnoreCase(...) | +| Test.java:133:43:133:49 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:134:14:134:60 | removePattern(...) | semmle.label | removePattern(...) | +| Test.java:134:40:134:46 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:135:14:135:58 | removeStart(...) | semmle.label | removeStart(...) | +| Test.java:135:38:135:44 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:136:14:136:68 | removeStartIgnoreCase(...) | semmle.label | removeStartIgnoreCase(...) | +| Test.java:136:48:136:54 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:147:14:147:43 | repeat(...) | semmle.label | repeat(...) | +| Test.java:147:33:147:39 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:148:14:148:56 | repeat(...) | semmle.label | repeat(...) | +| Test.java:148:33:148:39 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:149:14:149:56 | repeat(...) | semmle.label | repeat(...) | +| Test.java:149:46:149:52 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:150:14:150:66 | replace(...) | semmle.label | replace(...) | +| Test.java:150:34:150:40 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:151:14:151:63 | replace(...) | semmle.label | replace(...) | +| Test.java:151:56:151:62 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:152:14:152:69 | replace(...) | semmle.label | replace(...) | +| Test.java:152:34:152:40 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:153:14:153:66 | replace(...) | semmle.label | replace(...) | +| Test.java:153:56:153:62 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:154:14:154:69 | replaceAll(...) | semmle.label | replaceAll(...) | +| Test.java:154:37:154:43 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:155:14:155:66 | replaceAll(...) | semmle.label | replaceAll(...) | +| Test.java:155:59:155:65 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:156:14:156:56 | replaceChars(...) | semmle.label | replaceChars(...) | +| Test.java:156:39:156:45 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:157:14:157:60 | replaceChars(...) | semmle.label | replaceChars(...) | +| Test.java:157:39:157:45 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:158:14:158:65 | replaceChars(...) | semmle.label | replaceChars(...) | +| Test.java:158:58:158:64 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:159:14:159:104 | replaceEach(...) | semmle.label | replaceEach(...) | +| Test.java:159:38:159:44 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:160:14:160:101 | replaceEach(...) | semmle.label | replaceEach(...) | +| Test.java:160:77:160:100 | new String[] : String[] [[]] : String | semmle.label | new String[] : String[] [[]] : String | +| Test.java:160:77:160:100 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:160:92:160:98 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:161:14:161:114 | replaceEachRepeatedly(...) | semmle.label | replaceEachRepeatedly(...) | +| Test.java:161:48:161:54 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:162:14:162:111 | replaceEachRepeatedly(...) | semmle.label | replaceEachRepeatedly(...) | +| Test.java:162:87:162:110 | new String[] : String[] [[]] : String | semmle.label | new String[] : String[] [[]] : String | +| Test.java:162:87:162:110 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:162:102:162:108 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:163:14:163:71 | replaceFirst(...) | semmle.label | replaceFirst(...) | +| Test.java:163:39:163:45 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:164:14:164:68 | replaceFirst(...) | semmle.label | replaceFirst(...) | +| Test.java:164:61:164:67 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:165:14:165:76 | replaceIgnoreCase(...) | semmle.label | replaceIgnoreCase(...) | +| Test.java:165:44:165:50 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:166:14:166:73 | replaceIgnoreCase(...) | semmle.label | replaceIgnoreCase(...) | +| Test.java:166:66:166:72 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:167:14:167:70 | replaceOnce(...) | semmle.label | replaceOnce(...) | +| Test.java:167:38:167:44 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:168:14:168:67 | replaceOnce(...) | semmle.label | replaceOnce(...) | +| Test.java:168:60:168:66 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:169:14:169:80 | replaceOnceIgnoreCase(...) | semmle.label | replaceOnceIgnoreCase(...) | +| Test.java:169:48:169:54 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:170:14:170:77 | replaceOnceIgnoreCase(...) | semmle.label | replaceOnceIgnoreCase(...) | +| Test.java:170:70:170:76 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:171:14:171:73 | replacePattern(...) | semmle.label | replacePattern(...) | +| Test.java:171:41:171:47 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:172:14:172:70 | replacePattern(...) | semmle.label | replacePattern(...) | +| Test.java:172:63:172:69 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:185:14:185:41 | reverse(...) | semmle.label | reverse(...) | +| Test.java:185:34:185:40 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:186:14:186:55 | reverseDelimited(...) | semmle.label | reverseDelimited(...) | +| Test.java:186:43:186:49 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:187:14:187:42 | right(...) | semmle.label | right(...) | +| Test.java:187:32:187:38 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:188:14:188:45 | rightPad(...) | semmle.label | rightPad(...) | +| Test.java:188:35:188:41 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:189:14:189:50 | rightPad(...) | semmle.label | rightPad(...) | +| Test.java:189:35:189:41 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:190:14:190:56 | rightPad(...) | semmle.label | rightPad(...) | +| Test.java:190:35:190:41 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:191:14:191:55 | rightPad(...) | semmle.label | rightPad(...) | +| Test.java:191:48:191:54 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:192:14:192:43 | rotate(...) | semmle.label | rotate(...) | +| Test.java:192:33:192:39 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:193:14:193:39 | split(...) | semmle.label | split(...) | +| Test.java:193:32:193:38 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:194:14:194:44 | split(...) | semmle.label | split(...) | +| Test.java:194:32:194:38 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:195:14:195:46 | split(...) | semmle.label | split(...) | +| Test.java:195:32:195:38 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:196:14:196:49 | split(...) | semmle.label | split(...) | +| Test.java:196:32:196:38 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:197:14:197:54 | splitByCharacterType(...) | semmle.label | splitByCharacterType(...) | +| Test.java:197:47:197:53 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:198:14:198:63 | splitByCharacterTypeCamelCase(...) | semmle.label | splitByCharacterTypeCamelCase(...) | +| Test.java:198:56:198:62 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:199:14:199:68 | splitByWholeSeparator(...) | semmle.label | splitByWholeSeparator(...) | +| Test.java:199:48:199:54 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:200:14:200:71 | splitByWholeSeparator(...) | semmle.label | splitByWholeSeparator(...) | +| Test.java:200:48:200:54 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:201:14:201:85 | splitByWholeSeparatorPreserveAllTokens(...) | semmle.label | splitByWholeSeparatorPreserveAllTokens(...) | +| Test.java:201:65:201:71 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:202:14:202:88 | splitByWholeSeparatorPreserveAllTokens(...) | semmle.label | splitByWholeSeparatorPreserveAllTokens(...) | +| Test.java:202:65:202:71 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:203:14:203:56 | splitPreserveAllTokens(...) | semmle.label | splitPreserveAllTokens(...) | +| Test.java:203:49:203:55 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:204:14:204:61 | splitPreserveAllTokens(...) | semmle.label | splitPreserveAllTokens(...) | +| Test.java:204:49:204:55 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:205:14:205:63 | splitPreserveAllTokens(...) | semmle.label | splitPreserveAllTokens(...) | +| Test.java:205:49:205:55 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:206:14:206:66 | splitPreserveAllTokens(...) | semmle.label | splitPreserveAllTokens(...) | +| Test.java:206:49:206:55 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:216:14:216:39 | strip(...) | semmle.label | strip(...) | +| Test.java:216:32:216:38 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:217:14:217:56 | strip(...) | semmle.label | strip(...) | +| Test.java:217:32:217:38 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:218:14:218:46 | stripAccents(...) | semmle.label | stripAccents(...) | +| Test.java:218:39:218:45 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:219:14:219:76 | stripAll(...) : String[] [[]] : Object | semmle.label | stripAll(...) : String[] [[]] : Object | +| Test.java:219:14:219:79 | ...[...] | semmle.label | ...[...] | +| Test.java:219:35:219:58 | new String[] : String[] [[]] : String | semmle.label | new String[] : String[] [[]] : String | +| Test.java:219:35:219:58 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:219:50:219:56 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:220:14:220:59 | stripEnd(...) | semmle.label | stripEnd(...) | +| Test.java:220:35:220:41 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:221:14:221:61 | stripStart(...) | semmle.label | stripStart(...) | +| Test.java:221:37:221:43 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:227:14:227:46 | stripToEmpty(...) | semmle.label | stripToEmpty(...) | +| Test.java:227:39:227:45 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:228:14:228:45 | stripToNull(...) | semmle.label | stripToNull(...) | +| Test.java:228:38:228:44 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:229:14:229:46 | substring(...) | semmle.label | substring(...) | +| Test.java:229:36:229:42 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:230:14:230:49 | substring(...) | semmle.label | substring(...) | +| Test.java:230:36:230:42 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:231:14:231:51 | substringAfter(...) | semmle.label | substringAfter(...) | +| Test.java:231:41:231:47 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:232:14:232:61 | substringAfter(...) | semmle.label | substringAfter(...) | +| Test.java:232:41:232:47 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:233:14:233:55 | substringAfterLast(...) | semmle.label | substringAfterLast(...) | +| Test.java:233:45:233:51 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:234:14:234:65 | substringAfterLast(...) | semmle.label | substringAfterLast(...) | +| Test.java:234:45:234:51 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:235:14:235:62 | substringBefore(...) | semmle.label | substringBefore(...) | +| Test.java:235:42:235:48 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:236:14:236:66 | substringBeforeLast(...) | semmle.label | substringBeforeLast(...) | +| Test.java:236:46:236:52 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:237:14:237:63 | substringBetween(...) | semmle.label | substringBetween(...) | +| Test.java:237:43:237:49 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:238:14:238:74 | substringBetween(...) | semmle.label | substringBetween(...) | +| Test.java:238:43:238:49 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:239:14:239:75 | substringsBetween(...) : String[] | semmle.label | substringsBetween(...) : String[] | +| Test.java:239:14:239:78 | ...[...] | semmle.label | ...[...] | +| Test.java:239:44:239:50 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:250:14:250:42 | swapCase(...) | semmle.label | swapCase(...) | +| Test.java:250:35:250:41 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:251:14:251:46 | toCodePoints(...) | semmle.label | toCodePoints(...) | +| Test.java:251:39:251:45 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:252:14:252:88 | toEncodedString(...) | semmle.label | toEncodedString(...) | +| Test.java:252:42:252:81 | getBytes(...) : byte[] | semmle.label | getBytes(...) : byte[] | +| Test.java:252:63:252:69 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:253:14:253:49 | toRootLowerCase(...) | semmle.label | toRootLowerCase(...) | +| Test.java:253:42:253:48 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:254:14:254:49 | toRootUpperCase(...) | semmle.label | toRootUpperCase(...) | +| Test.java:254:42:254:48 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:255:14:255:86 | toString(...) | semmle.label | toString(...) | +| Test.java:255:35:255:74 | getBytes(...) : byte[] | semmle.label | getBytes(...) : byte[] | +| Test.java:255:56:255:62 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:256:14:256:38 | trim(...) | semmle.label | trim(...) | +| Test.java:256:31:256:37 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:257:14:257:45 | trimToEmpty(...) | semmle.label | trimToEmpty(...) | +| Test.java:257:38:257:44 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:258:14:258:44 | trimToNull(...) | semmle.label | trimToNull(...) | +| Test.java:258:37:258:43 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:259:14:259:45 | truncate(...) | semmle.label | truncate(...) | +| Test.java:259:35:259:41 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:260:14:260:48 | truncate(...) | semmle.label | truncate(...) | +| Test.java:260:35:260:41 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:261:14:261:46 | uncapitalize(...) | semmle.label | uncapitalize(...) | +| Test.java:261:39:261:45 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:262:14:262:45 | unwrap(...) | semmle.label | unwrap(...) | +| Test.java:262:33:262:39 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:263:14:263:53 | unwrap(...) | semmle.label | unwrap(...) | +| Test.java:263:33:263:39 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:266:14:266:43 | upperCase(...) | semmle.label | upperCase(...) | +| Test.java:266:36:266:42 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:267:14:267:49 | upperCase(...) | semmle.label | upperCase(...) | +| Test.java:267:36:267:42 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:268:14:268:55 | valueOf(...) | semmle.label | valueOf(...) | +| Test.java:268:34:268:40 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:268:34:268:54 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| Test.java:269:14:269:43 | wrap(...) | semmle.label | wrap(...) | +| Test.java:269:31:269:37 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:270:14:270:55 | wrap(...) | semmle.label | wrap(...) | +| Test.java:270:31:270:37 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:271:14:271:49 | wrap(...) | semmle.label | wrap(...) | +| Test.java:271:42:271:48 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:272:14:272:52 | wrapIfMissing(...) | semmle.label | wrapIfMissing(...) | +| Test.java:272:40:272:46 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:273:14:273:64 | wrapIfMissing(...) | semmle.label | wrapIfMissing(...) | +| Test.java:273:40:273:46 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:274:14:274:58 | wrapIfMissing(...) | semmle.label | wrapIfMissing(...) | +| Test.java:274:51:274:57 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:17:35:17:64 | new TextStringBuilder(...) : TextStringBuilder | semmle.label | new TextStringBuilder(...) : TextStringBuilder | +| TextStringBuilderTest.java:17:57:17:63 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:17:72:17:76 | cons1 : TextStringBuilder | semmle.label | cons1 : TextStringBuilder | +| TextStringBuilderTest.java:17:72:17:87 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:18:35:18:78 | new TextStringBuilder(...) : TextStringBuilder | semmle.label | new TextStringBuilder(...) : TextStringBuilder | +| TextStringBuilderTest.java:18:57:18:77 | (...)... : String | semmle.label | (...)... : String | +| TextStringBuilderTest.java:18:71:18:77 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:18:86:18:90 | cons2 : TextStringBuilder | semmle.label | cons2 : TextStringBuilder | +| TextStringBuilderTest.java:18:86:18:101 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:20:58:20:60 | sb1 [post update] : TextStringBuilder | semmle.label | sb1 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:20:69:20:75 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:20:69:20:89 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| TextStringBuilderTest.java:20:98:20:100 | sb1 : TextStringBuilder | semmle.label | sb1 : TextStringBuilder | +| TextStringBuilderTest.java:20:98:20:111 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:21:58:21:60 | sb2 [post update] : TextStringBuilder | semmle.label | sb2 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:21:69:21:75 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:21:69:21:89 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| TextStringBuilderTest.java:21:104:21:106 | sb2 : TextStringBuilder | semmle.label | sb2 : TextStringBuilder | +| TextStringBuilderTest.java:21:104:21:117 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:22:58:22:60 | sb3 [post update] : TextStringBuilder | semmle.label | sb3 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:22:69:22:106 | wrap(...) : CharBuffer | semmle.label | wrap(...) : CharBuffer | +| TextStringBuilderTest.java:22:85:22:91 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:22:85:22:105 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| TextStringBuilderTest.java:22:115:22:117 | sb3 : TextStringBuilder | semmle.label | sb3 : TextStringBuilder | +| TextStringBuilderTest.java:22:115:22:128 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:23:58:23:60 | sb4 [post update] : TextStringBuilder | semmle.label | sb4 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:23:69:23:106 | wrap(...) : CharBuffer | semmle.label | wrap(...) : CharBuffer | +| TextStringBuilderTest.java:23:85:23:91 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:23:85:23:105 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| TextStringBuilderTest.java:23:121:23:123 | sb4 : TextStringBuilder | semmle.label | sb4 : TextStringBuilder | +| TextStringBuilderTest.java:23:121:23:134 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:24:58:24:60 | sb5 [post update] : TextStringBuilder | semmle.label | sb5 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:24:69:24:89 | (...)... : String | semmle.label | (...)... : String | +| TextStringBuilderTest.java:24:83:24:89 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:24:98:24:100 | sb5 : TextStringBuilder | semmle.label | sb5 : TextStringBuilder | +| TextStringBuilderTest.java:24:98:24:111 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:25:58:25:60 | sb6 [post update] : TextStringBuilder | semmle.label | sb6 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:25:69:25:89 | (...)... : String | semmle.label | (...)... : String | +| TextStringBuilderTest.java:25:83:25:89 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:25:104:25:106 | sb6 : TextStringBuilder | semmle.label | sb6 : TextStringBuilder | +| TextStringBuilderTest.java:25:104:25:117 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:26:58:26:60 | sb7 [post update] : TextStringBuilder | semmle.label | sb7 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:26:69:26:83 | (...)... : String | semmle.label | (...)... : String | +| TextStringBuilderTest.java:26:77:26:83 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:26:92:26:94 | sb7 : TextStringBuilder | semmle.label | sb7 : TextStringBuilder | +| TextStringBuilderTest.java:26:92:26:105 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:28:64:28:68 | auxsb [post update] : TextStringBuilder | semmle.label | auxsb [post update] : TextStringBuilder | +| TextStringBuilderTest.java:28:77:28:83 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:29:62:29:64 | sb8 [post update] : TextStringBuilder | semmle.label | sb8 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:29:73:29:77 | auxsb : TextStringBuilder | semmle.label | auxsb : TextStringBuilder | +| TextStringBuilderTest.java:29:86:29:88 | sb8 : TextStringBuilder | semmle.label | sb8 : TextStringBuilder | +| TextStringBuilderTest.java:29:86:29:99 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:31:58:31:60 | sb9 [post update] : TextStringBuilder | semmle.label | sb9 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:31:69:31:93 | new StringBuffer(...) : StringBuffer | semmle.label | new StringBuffer(...) : StringBuffer | +| TextStringBuilderTest.java:31:86:31:92 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:31:102:31:104 | sb9 : TextStringBuilder | semmle.label | sb9 : TextStringBuilder | +| TextStringBuilderTest.java:31:102:31:115 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:32:59:32:62 | sb10 [post update] : TextStringBuilder | semmle.label | sb10 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:32:71:32:95 | new StringBuffer(...) : StringBuffer | semmle.label | new StringBuffer(...) : StringBuffer | +| TextStringBuilderTest.java:32:88:32:94 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:32:110:32:113 | sb10 : TextStringBuilder | semmle.label | sb10 : TextStringBuilder | +| TextStringBuilderTest.java:32:110:32:124 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:33:59:33:62 | sb11 [post update] : TextStringBuilder | semmle.label | sb11 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:33:71:33:96 | new StringBuilder(...) : StringBuilder | semmle.label | new StringBuilder(...) : StringBuilder | +| TextStringBuilderTest.java:33:89:33:95 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:33:105:33:108 | sb11 : TextStringBuilder | semmle.label | sb11 : TextStringBuilder | +| TextStringBuilderTest.java:33:105:33:119 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:34:59:34:62 | sb12 [post update] : TextStringBuilder | semmle.label | sb12 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:34:71:34:96 | new StringBuilder(...) : StringBuilder | semmle.label | new StringBuilder(...) : StringBuilder | +| TextStringBuilderTest.java:34:89:34:95 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:34:111:34:114 | sb12 : TextStringBuilder | semmle.label | sb12 : TextStringBuilder | +| TextStringBuilderTest.java:34:111:34:125 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:35:59:35:62 | sb13 [post update] : TextStringBuilder | semmle.label | sb13 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:35:71:35:77 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:35:86:35:89 | sb13 : TextStringBuilder | semmle.label | sb13 : TextStringBuilder | +| TextStringBuilderTest.java:35:86:35:100 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:36:59:36:62 | sb14 [post update] : TextStringBuilder | semmle.label | sb14 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:36:71:36:77 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:36:92:36:95 | sb14 : TextStringBuilder | semmle.label | sb14 : TextStringBuilder | +| TextStringBuilderTest.java:36:92:36:106 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:37:59:37:62 | sb15 [post update] : TextStringBuilder | semmle.label | sb15 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:37:71:37:77 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:37:104:37:107 | sb15 : TextStringBuilder | semmle.label | sb15 : TextStringBuilder | +| TextStringBuilderTest.java:37:104:37:118 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:38:59:38:62 | sb16 [post update] : TextStringBuilder | semmle.label | sb16 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:38:59:38:103 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| TextStringBuilderTest.java:38:88:38:94 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:38:111:38:114 | sb16 : TextStringBuilder | semmle.label | sb16 : TextStringBuilder | +| TextStringBuilderTest.java:38:111:38:125 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:41:13:41:23 | taintedList [post update] : ArrayList [] : String | semmle.label | taintedList [post update] : ArrayList [] : String | +| TextStringBuilderTest.java:41:29:41:35 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:42:63:42:66 | sb17 [post update] : TextStringBuilder | semmle.label | sb17 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:42:78:42:88 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| TextStringBuilderTest.java:42:97:42:100 | sb17 : TextStringBuilder | semmle.label | sb17 : TextStringBuilder | +| TextStringBuilderTest.java:42:97:42:111 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:43:63:43:66 | sb18 [post update] : TextStringBuilder | semmle.label | sb18 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:43:78:43:88 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| TextStringBuilderTest.java:43:78:43:99 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| TextStringBuilderTest.java:43:108:43:111 | sb18 : TextStringBuilder | semmle.label | sb18 : TextStringBuilder | +| TextStringBuilderTest.java:43:108:43:122 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:45:59:45:62 | sb19 [post update] : TextStringBuilder | semmle.label | sb19 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:45:59:45:90 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| TextStringBuilderTest.java:45:83:45:89 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:45:98:45:101 | sb19 : TextStringBuilder | semmle.label | sb19 : TextStringBuilder | +| TextStringBuilderTest.java:45:98:45:112 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:46:59:46:62 | sb20 [post update] : TextStringBuilder | semmle.label | sb20 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:46:59:46:90 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| TextStringBuilderTest.java:46:74:46:80 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:46:98:46:101 | sb20 : TextStringBuilder | semmle.label | sb20 : TextStringBuilder | +| TextStringBuilderTest.java:46:98:46:112 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:47:59:47:62 | sb21 [post update] : TextStringBuilder | semmle.label | sb21 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:47:88:47:94 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:47:111:47:114 | sb21 : TextStringBuilder | semmle.label | sb21 : TextStringBuilder | +| TextStringBuilderTest.java:47:111:47:125 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:48:59:48:62 | sb22 [post update] : TextStringBuilder | semmle.label | sb22 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:48:89:48:95 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:48:112:48:115 | sb22 : TextStringBuilder | semmle.label | sb22 : TextStringBuilder | +| TextStringBuilderTest.java:48:112:48:126 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:49:59:49:62 | sb23 [post update] : TextStringBuilder | semmle.label | sb23 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:49:73:49:79 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:49:73:49:93 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| TextStringBuilderTest.java:49:102:49:105 | sb23 : TextStringBuilder | semmle.label | sb23 : TextStringBuilder | +| TextStringBuilderTest.java:49:102:49:116 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:50:59:50:62 | sb24 [post update] : TextStringBuilder | semmle.label | sb24 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:50:73:50:79 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:50:73:50:93 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| TextStringBuilderTest.java:50:108:50:111 | sb24 : TextStringBuilder | semmle.label | sb24 : TextStringBuilder | +| TextStringBuilderTest.java:50:108:50:122 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:51:59:51:62 | sb25 [post update] : TextStringBuilder | semmle.label | sb25 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:51:73:51:87 | (...)... : String | semmle.label | (...)... : String | +| TextStringBuilderTest.java:51:81:51:87 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:51:96:51:99 | sb25 : TextStringBuilder | semmle.label | sb25 : TextStringBuilder | +| TextStringBuilderTest.java:51:96:51:110 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:53:64:53:68 | auxsb [post update] : TextStringBuilder | semmle.label | auxsb [post update] : TextStringBuilder | +| TextStringBuilderTest.java:53:79:53:85 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:54:63:54:66 | sb26 [post update] : TextStringBuilder | semmle.label | sb26 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:54:77:54:81 | auxsb : TextStringBuilder | semmle.label | auxsb : TextStringBuilder | +| TextStringBuilderTest.java:54:90:54:93 | sb26 : TextStringBuilder | semmle.label | sb26 : TextStringBuilder | +| TextStringBuilderTest.java:54:90:54:104 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:56:59:56:62 | sb27 [post update] : TextStringBuilder | semmle.label | sb27 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:56:73:56:97 | new StringBuffer(...) : StringBuffer | semmle.label | new StringBuffer(...) : StringBuffer | +| TextStringBuilderTest.java:56:90:56:96 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:56:106:56:109 | sb27 : TextStringBuilder | semmle.label | sb27 : TextStringBuilder | +| TextStringBuilderTest.java:56:106:56:120 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:57:59:57:62 | sb28 [post update] : TextStringBuilder | semmle.label | sb28 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:57:73:57:97 | new StringBuffer(...) : StringBuffer | semmle.label | new StringBuffer(...) : StringBuffer | +| TextStringBuilderTest.java:57:90:57:96 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:57:112:57:115 | sb28 : TextStringBuilder | semmle.label | sb28 : TextStringBuilder | +| TextStringBuilderTest.java:57:112:57:126 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:58:59:58:62 | sb29 [post update] : TextStringBuilder | semmle.label | sb29 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:58:73:58:98 | new StringBuilder(...) : StringBuilder | semmle.label | new StringBuilder(...) : StringBuilder | +| TextStringBuilderTest.java:58:91:58:97 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:58:107:58:110 | sb29 : TextStringBuilder | semmle.label | sb29 : TextStringBuilder | +| TextStringBuilderTest.java:58:107:58:121 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:59:59:59:62 | sb30 [post update] : TextStringBuilder | semmle.label | sb30 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:59:73:59:98 | new StringBuilder(...) : StringBuilder | semmle.label | new StringBuilder(...) : StringBuilder | +| TextStringBuilderTest.java:59:91:59:97 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:59:113:59:116 | sb30 : TextStringBuilder | semmle.label | sb30 : TextStringBuilder | +| TextStringBuilderTest.java:59:113:59:127 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:60:59:60:62 | sb31 [post update] : TextStringBuilder | semmle.label | sb31 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:60:73:60:79 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:60:88:60:91 | sb31 : TextStringBuilder | semmle.label | sb31 : TextStringBuilder | +| TextStringBuilderTest.java:60:88:60:102 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:61:59:61:62 | sb32 [post update] : TextStringBuilder | semmle.label | sb32 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:61:73:61:79 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:61:94:61:97 | sb32 : TextStringBuilder | semmle.label | sb32 : TextStringBuilder | +| TextStringBuilderTest.java:61:94:61:108 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:62:59:62:62 | sb33 [post update] : TextStringBuilder | semmle.label | sb33 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:62:73:62:79 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:62:106:62:109 | sb33 : TextStringBuilder | semmle.label | sb33 : TextStringBuilder | +| TextStringBuilderTest.java:62:106:62:120 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:63:59:63:62 | sb34 [post update] : TextStringBuilder | semmle.label | sb34 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:63:59:63:105 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String | +| TextStringBuilderTest.java:63:90:63:96 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:63:113:63:116 | sb34 : TextStringBuilder | semmle.label | sb34 : TextStringBuilder | +| TextStringBuilderTest.java:63:113:63:127 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:64:59:64:62 | sb35 [post update] : TextStringBuilder | semmle.label | sb35 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:64:80:64:86 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:64:95:64:98 | sb35 : TextStringBuilder | semmle.label | sb35 : TextStringBuilder | +| TextStringBuilderTest.java:64:95:64:109 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:65:59:65:62 | sb36 [post update] : TextStringBuilder | semmle.label | sb36 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:65:80:65:86 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:65:98:65:101 | sb36 : TextStringBuilder | semmle.label | sb36 : TextStringBuilder | +| TextStringBuilderTest.java:65:98:65:112 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:66:59:66:62 | sb37 [post update] : TextStringBuilder | semmle.label | sb37 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:66:80:66:86 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:66:106:66:109 | sb37 : TextStringBuilder | semmle.label | sb37 : TextStringBuilder | +| TextStringBuilderTest.java:66:106:66:120 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:67:59:67:62 | sb38 [post update] : TextStringBuilder | semmle.label | sb38 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:67:84:67:90 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:67:99:67:102 | sb38 : TextStringBuilder | semmle.label | sb38 : TextStringBuilder | +| TextStringBuilderTest.java:67:99:67:113 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:69:64:69:68 | auxsb [post update] : TextStringBuilder | semmle.label | auxsb [post update] : TextStringBuilder | +| TextStringBuilderTest.java:69:79:69:85 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:70:63:70:67 | auxsb : TextStringBuilder | semmle.label | auxsb : TextStringBuilder | +| TextStringBuilderTest.java:70:78:70:81 | sb39 [post update] : TextStringBuilder | semmle.label | sb39 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:70:90:70:93 | sb39 : TextStringBuilder | semmle.label | sb39 : TextStringBuilder | +| TextStringBuilderTest.java:70:90:70:104 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:74:13:74:23 | taintedList [post update] : ArrayList [] : String | semmle.label | taintedList [post update] : ArrayList [] : String | +| TextStringBuilderTest.java:74:29:74:35 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:75:63:75:66 | sb40 [post update] : TextStringBuilder | semmle.label | sb40 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:75:89:75:99 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| TextStringBuilderTest.java:75:114:75:117 | sb40 : TextStringBuilder | semmle.label | sb40 : TextStringBuilder | +| TextStringBuilderTest.java:75:114:75:128 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:76:63:76:66 | sb41 [post update] : TextStringBuilder | semmle.label | sb41 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:76:89:76:99 | taintedList : ArrayList [] : String | semmle.label | taintedList : ArrayList [] : String | +| TextStringBuilderTest.java:76:89:76:110 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| TextStringBuilderTest.java:76:125:76:128 | sb41 : TextStringBuilder | semmle.label | sb41 : TextStringBuilder | +| TextStringBuilderTest.java:76:125:76:139 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:78:63:78:66 | sb42 [post update] : TextStringBuilder | semmle.label | sb42 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:78:104:78:110 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:78:119:78:122 | sb42 : TextStringBuilder | semmle.label | sb42 : TextStringBuilder | +| TextStringBuilderTest.java:78:119:78:133 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:79:63:79:66 | sb43 [post update] : TextStringBuilder | semmle.label | sb43 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:79:115:79:121 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:79:130:79:133 | sb43 : TextStringBuilder | semmle.label | sb43 : TextStringBuilder | +| TextStringBuilderTest.java:79:130:79:144 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:80:37:80:60 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| TextStringBuilderTest.java:80:52:80:58 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:82:63:82:66 | sb44 [post update] : TextStringBuilder | semmle.label | sb44 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:82:89:82:100 | taintedArray : String[] [[]] : String | semmle.label | taintedArray : String[] [[]] : String | +| TextStringBuilderTest.java:82:115:82:118 | sb44 : TextStringBuilder | semmle.label | sb44 : TextStringBuilder | +| TextStringBuilderTest.java:82:115:82:129 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:83:63:83:66 | sb45 [post update] : TextStringBuilder | semmle.label | sb45 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:83:105:83:111 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:83:120:83:123 | sb45 : TextStringBuilder | semmle.label | sb45 : TextStringBuilder | +| TextStringBuilderTest.java:83:120:83:134 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:86:63:86:66 | sb46 [post update] : TextStringBuilder | semmle.label | sb46 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:86:75:86:81 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:88:13:88:16 | sb46 : TextStringBuilder | semmle.label | sb46 : TextStringBuilder | +| TextStringBuilderTest.java:88:13:88:27 | asReader(...) : Reader | semmle.label | asReader(...) : Reader | +| TextStringBuilderTest.java:88:34:88:39 | target [post update] : char[] | semmle.label | target [post update] : char[] | +| TextStringBuilderTest.java:89:18:89:23 | target | semmle.label | target | +| TextStringBuilderTest.java:91:59:91:62 | sb47 [post update] : TextStringBuilder | semmle.label | sb47 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:91:71:91:77 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:91:86:91:89 | sb47 : TextStringBuilder | semmle.label | sb47 : TextStringBuilder | +| TextStringBuilderTest.java:91:86:91:103 | asTokenizer(...) : StringTokenizer | semmle.label | asTokenizer(...) : StringTokenizer | +| TextStringBuilderTest.java:91:86:91:110 | next(...) | semmle.label | next(...) | +| TextStringBuilderTest.java:92:59:92:62 | sb48 [post update] : TextStringBuilder | semmle.label | sb48 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:92:71:92:77 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:92:86:92:89 | sb48 : TextStringBuilder | semmle.label | sb48 : TextStringBuilder | +| TextStringBuilderTest.java:92:86:92:97 | build(...) | semmle.label | build(...) | +| TextStringBuilderTest.java:93:59:93:62 | sb49 [post update] : TextStringBuilder | semmle.label | sb49 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:93:71:93:77 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:93:86:93:89 | sb49 : TextStringBuilder | semmle.label | sb49 : TextStringBuilder | +| TextStringBuilderTest.java:93:86:93:104 | getChars(...) | semmle.label | getChars(...) | +| TextStringBuilderTest.java:95:63:95:66 | sb50 [post update] : TextStringBuilder | semmle.label | sb50 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:95:75:95:81 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:97:13:97:16 | sb50 : TextStringBuilder | semmle.label | sb50 : TextStringBuilder | +| TextStringBuilderTest.java:97:27:97:32 | target [post update] : char[] | semmle.label | target [post update] : char[] | +| TextStringBuilderTest.java:98:18:98:23 | target | semmle.label | target | +| TextStringBuilderTest.java:101:63:101:66 | sb51 [post update] : TextStringBuilder | semmle.label | sb51 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:101:75:101:81 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:103:13:103:16 | sb51 : TextStringBuilder | semmle.label | sb51 : TextStringBuilder | +| TextStringBuilderTest.java:103:33:103:38 | target [post update] : char[] | semmle.label | target [post update] : char[] | +| TextStringBuilderTest.java:104:18:104:23 | target | semmle.label | target | +| TextStringBuilderTest.java:106:59:106:62 | sb52 [post update] : TextStringBuilder | semmle.label | sb52 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:106:74:106:80 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:106:74:106:94 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| TextStringBuilderTest.java:106:103:106:106 | sb52 : TextStringBuilder | semmle.label | sb52 : TextStringBuilder | +| TextStringBuilderTest.java:106:103:106:117 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:107:59:107:62 | sb53 [post update] : TextStringBuilder | semmle.label | sb53 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:107:74:107:80 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:107:74:107:94 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| TextStringBuilderTest.java:107:109:107:112 | sb53 : TextStringBuilder | semmle.label | sb53 : TextStringBuilder | +| TextStringBuilderTest.java:107:109:107:123 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:108:59:108:62 | sb54 [post update] : TextStringBuilder | semmle.label | sb54 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:108:74:108:80 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:108:89:108:92 | sb54 : TextStringBuilder | semmle.label | sb54 : TextStringBuilder | +| TextStringBuilderTest.java:108:89:108:103 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:109:59:109:62 | sb55 [post update] : TextStringBuilder | semmle.label | sb55 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:109:74:109:88 | (...)... : String | semmle.label | (...)... : String | +| TextStringBuilderTest.java:109:82:109:88 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:109:97:109:100 | sb55 : TextStringBuilder | semmle.label | sb55 : TextStringBuilder | +| TextStringBuilderTest.java:109:97:109:111 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:110:59:110:62 | sb56 [post update] : TextStringBuilder | semmle.label | sb56 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:110:71:110:77 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:110:86:110:89 | sb56 : TextStringBuilder | semmle.label | sb56 : TextStringBuilder | +| TextStringBuilderTest.java:110:86:110:103 | leftString(...) | semmle.label | leftString(...) | +| TextStringBuilderTest.java:111:59:111:62 | sb57 [post update] : TextStringBuilder | semmle.label | sb57 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:111:71:111:77 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:111:86:111:89 | sb57 : TextStringBuilder | semmle.label | sb57 : TextStringBuilder | +| TextStringBuilderTest.java:111:86:111:105 | midString(...) | semmle.label | midString(...) | +| TextStringBuilderTest.java:113:35:113:59 | new StringReader(...) : StringReader | semmle.label | new StringReader(...) : StringReader | +| TextStringBuilderTest.java:113:52:113:58 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:114:63:114:66 | sb58 [post update] : TextStringBuilder | semmle.label | sb58 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:114:77:114:82 | reader : StringReader | semmle.label | reader : StringReader | +| TextStringBuilderTest.java:114:91:114:94 | sb58 : TextStringBuilder | semmle.label | sb58 : TextStringBuilder | +| TextStringBuilderTest.java:114:91:114:105 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:116:59:116:62 | sb59 [post update] : TextStringBuilder | semmle.label | sb59 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:116:78:116:84 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:116:93:116:96 | sb59 : TextStringBuilder | semmle.label | sb59 : TextStringBuilder | +| TextStringBuilderTest.java:116:93:116:107 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:117:59:117:62 | sb60 [post update] : TextStringBuilder | semmle.label | sb60 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:117:78:117:84 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:117:102:117:105 | sb60 : TextStringBuilder | semmle.label | sb60 : TextStringBuilder | +| TextStringBuilderTest.java:117:102:117:116 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:118:59:118:62 | sb61 [post update] : TextStringBuilder | semmle.label | sb61 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:118:96:118:102 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:118:111:118:114 | sb61 : TextStringBuilder | semmle.label | sb61 : TextStringBuilder | +| TextStringBuilderTest.java:118:111:118:125 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:119:59:119:62 | sb62 [post update] : TextStringBuilder | semmle.label | sb62 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:119:85:119:91 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:119:100:119:103 | sb62 : TextStringBuilder | semmle.label | sb62 : TextStringBuilder | +| TextStringBuilderTest.java:119:100:119:114 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:121:59:121:62 | sb64 [post update] : TextStringBuilder | semmle.label | sb64 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:121:98:121:104 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:121:113:121:116 | sb64 : TextStringBuilder | semmle.label | sb64 : TextStringBuilder | +| TextStringBuilderTest.java:121:113:121:127 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:122:59:122:62 | sb65 [post update] : TextStringBuilder | semmle.label | sb65 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:122:87:122:93 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:122:102:122:105 | sb65 : TextStringBuilder | semmle.label | sb65 : TextStringBuilder | +| TextStringBuilderTest.java:122:102:122:116 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:124:59:124:62 | sb67 [post update] : TextStringBuilder | semmle.label | sb67 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:124:71:124:77 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:124:86:124:89 | sb67 : TextStringBuilder | semmle.label | sb67 : TextStringBuilder | +| TextStringBuilderTest.java:124:86:124:104 | rightString(...) | semmle.label | rightString(...) | +| TextStringBuilderTest.java:125:59:125:62 | sb68 [post update] : TextStringBuilder | semmle.label | sb68 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:125:71:125:77 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:125:86:125:89 | sb68 : TextStringBuilder | semmle.label | sb68 : TextStringBuilder | +| TextStringBuilderTest.java:125:86:125:107 | subSequence(...) | semmle.label | subSequence(...) | +| TextStringBuilderTest.java:126:59:126:62 | sb69 [post update] : TextStringBuilder | semmle.label | sb69 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:126:71:126:77 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:126:86:126:89 | sb69 : TextStringBuilder | semmle.label | sb69 : TextStringBuilder | +| TextStringBuilderTest.java:126:86:126:102 | substring(...) | semmle.label | substring(...) | +| TextStringBuilderTest.java:127:59:127:62 | sb70 [post update] : TextStringBuilder | semmle.label | sb70 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:127:71:127:77 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:127:86:127:89 | sb70 : TextStringBuilder | semmle.label | sb70 : TextStringBuilder | +| TextStringBuilderTest.java:127:86:127:105 | substring(...) | semmle.label | substring(...) | +| TextStringBuilderTest.java:128:59:128:62 | sb71 [post update] : TextStringBuilder | semmle.label | sb71 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:128:71:128:77 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:128:86:128:89 | sb71 : TextStringBuilder | semmle.label | sb71 : TextStringBuilder | +| TextStringBuilderTest.java:128:86:128:103 | toCharArray(...) | semmle.label | toCharArray(...) | +| TextStringBuilderTest.java:129:59:129:62 | sb72 [post update] : TextStringBuilder | semmle.label | sb72 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:129:71:129:77 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:129:86:129:89 | sb72 : TextStringBuilder | semmle.label | sb72 : TextStringBuilder | +| TextStringBuilderTest.java:129:86:129:107 | toCharArray(...) | semmle.label | toCharArray(...) | +| TextStringBuilderTest.java:130:59:130:62 | sb73 [post update] : TextStringBuilder | semmle.label | sb73 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:130:71:130:77 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:130:86:130:89 | sb73 : TextStringBuilder | semmle.label | sb73 : TextStringBuilder | +| TextStringBuilderTest.java:130:86:130:106 | toStringBuffer(...) | semmle.label | toStringBuffer(...) | +| TextStringBuilderTest.java:131:59:131:62 | sb74 [post update] : TextStringBuilder | semmle.label | sb74 [post update] : TextStringBuilder | +| TextStringBuilderTest.java:131:71:131:77 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:131:86:131:89 | sb74 : TextStringBuilder | semmle.label | sb74 : TextStringBuilder | +| TextStringBuilderTest.java:131:86:131:107 | toStringBuilder(...) | semmle.label | toStringBuilder(...) | +| TextStringBuilderTest.java:136:14:136:58 | append(...) : TextStringBuilder | semmle.label | append(...) : TextStringBuilder | +| TextStringBuilderTest.java:136:14:136:82 | append(...) : TextStringBuilder | semmle.label | append(...) : TextStringBuilder | +| TextStringBuilderTest.java:136:14:136:93 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:136:51:136:57 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:139:9:139:45 | append(...) [post update] : TextStringBuilder | semmle.label | append(...) [post update] : TextStringBuilder | +| TextStringBuilderTest.java:139:54:139:60 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:140:14:140:31 | fluentBackflowTest : TextStringBuilder | semmle.label | fluentBackflowTest : TextStringBuilder | +| TextStringBuilderTest.java:140:14:140:42 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:144:9:144:46 | append(...) [post update] : TextStringBuilder | semmle.label | append(...) [post update] : TextStringBuilder | +| TextStringBuilderTest.java:144:55:144:61 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:145:14:145:32 | fluentBackflowTest2 : TextStringBuilder | semmle.label | fluentBackflowTest2 : TextStringBuilder | +| TextStringBuilderTest.java:145:14:145:43 | toString(...) | semmle.label | toString(...) | +| TextStringBuilderTest.java:148:50:148:79 | new TextStringBuilder(...) : TextStringBuilder | semmle.label | new TextStringBuilder(...) : TextStringBuilder | +| TextStringBuilderTest.java:148:72:148:78 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:149:14:149:33 | fluentAllMethodsTest : TextStringBuilder | semmle.label | fluentAllMethodsTest : TextStringBuilder | +| TextStringBuilderTest.java:149:14:150:23 | append(...) : TextStringBuilder | semmle.label | append(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:151:26 | appendAll(...) : TextStringBuilder | semmle.label | appendAll(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:152:48 | appendFixedWidthPadLeft(...) : TextStringBuilder | semmle.label | appendFixedWidthPadLeft(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:153:49 | appendFixedWidthPadRight(...) : TextStringBuilder | semmle.label | appendFixedWidthPadRight(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:154:25 | appendln(...) : TextStringBuilder | semmle.label | appendln(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:155:24 | appendNewLine(...) : TextStringBuilder | semmle.label | appendNewLine(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:156:21 | appendNull(...) : TextStringBuilder | semmle.label | appendNull(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:157:30 | appendPadding(...) : TextStringBuilder | semmle.label | appendPadding(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:158:29 | appendSeparator(...) : TextStringBuilder | semmle.label | appendSeparator(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:159:52 | appendWithSeparators(...) : TextStringBuilder | semmle.label | appendWithSeparators(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:160:21 | delete(...) : TextStringBuilder | semmle.label | delete(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:161:23 | deleteAll(...) : TextStringBuilder | semmle.label | deleteAll(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:162:24 | deleteCharAt(...) : TextStringBuilder | semmle.label | deleteCharAt(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:163:29 | deleteFirst(...) : TextStringBuilder | semmle.label | deleteFirst(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:164:28 | ensureCapacity(...) : TextStringBuilder | semmle.label | ensureCapacity(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:165:30 | insert(...) : TextStringBuilder | semmle.label | insert(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:166:27 | minimizeCapacity(...) : TextStringBuilder | semmle.label | minimizeCapacity(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:167:37 | replace(...) : TextStringBuilder | semmle.label | replace(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:168:38 | replaceAll(...) : TextStringBuilder | semmle.label | replaceAll(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:169:40 | replaceFirst(...) : TextStringBuilder | semmle.label | replaceFirst(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:170:18 | reverse(...) : TextStringBuilder | semmle.label | reverse(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:171:26 | setCharAt(...) : TextStringBuilder | semmle.label | setCharAt(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:172:23 | setLength(...) : TextStringBuilder | semmle.label | setLength(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:173:34 | setNewLineText(...) : TextStringBuilder | semmle.label | setNewLineText(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:174:28 | setNullText(...) : TextStringBuilder | semmle.label | setNullText(...) : TextStringBuilder | +| TextStringBuilderTest.java:149:14:175:15 | trim(...) | semmle.label | trim(...) | +| TextStringBuilderTest.java:179:9:205:15 | trim(...) [post update] : TextStringBuilder | semmle.label | trim(...) [post update] : TextStringBuilder | +| TextStringBuilderTest.java:206:17:206:23 | taint(...) : String | semmle.label | taint(...) : String | +| TextStringBuilderTest.java:207:14:207:34 | fluentAllMethodsTest2 | semmle.label | fluentAllMethodsTest2 | +| ToStringBuilderTest.java:10:58:10:60 | sb1 [post update] : ToStringBuilder | semmle.label | sb1 [post update] : ToStringBuilder | +| ToStringBuilderTest.java:10:69:10:83 | (...)... : String | semmle.label | (...)... : String | +| ToStringBuilderTest.java:10:77:10:83 | taint(...) : String | semmle.label | taint(...) : String | +| ToStringBuilderTest.java:10:92:10:94 | sb1 : ToStringBuilder | semmle.label | sb1 : ToStringBuilder | +| ToStringBuilderTest.java:10:92:10:105 | toString(...) | semmle.label | toString(...) | +| ToStringBuilderTest.java:11:58:11:60 | sb2 [post update] : ToStringBuilder | semmle.label | sb2 [post update] : ToStringBuilder | +| ToStringBuilderTest.java:11:69:11:92 | new Object[] : Object[] [[]] : String | semmle.label | new Object[] : Object[] [[]] : String | +| ToStringBuilderTest.java:11:69:11:92 | {...} : Object[] [[]] : String | semmle.label | {...} : Object[] [[]] : String | +| ToStringBuilderTest.java:11:84:11:90 | taint(...) : String | semmle.label | taint(...) : String | +| ToStringBuilderTest.java:11:101:11:103 | sb2 : ToStringBuilder | semmle.label | sb2 : ToStringBuilder | +| ToStringBuilderTest.java:11:101:11:114 | toString(...) | semmle.label | toString(...) | +| ToStringBuilderTest.java:12:58:12:60 | sb3 [post update] : ToStringBuilder | semmle.label | sb3 [post update] : ToStringBuilder | +| ToStringBuilderTest.java:12:69:12:75 | taint(...) : String | semmle.label | taint(...) : String | +| ToStringBuilderTest.java:12:90:12:92 | sb3 : ToStringBuilder | semmle.label | sb3 : ToStringBuilder | +| ToStringBuilderTest.java:12:90:12:103 | toString(...) | semmle.label | toString(...) | +| ToStringBuilderTest.java:13:58:13:60 | sb4 [post update] : ToStringBuilder | semmle.label | sb4 [post update] : ToStringBuilder | +| ToStringBuilderTest.java:13:82:13:88 | taint(...) : String | semmle.label | taint(...) : String | +| ToStringBuilderTest.java:13:97:13:99 | sb4 : ToStringBuilder | semmle.label | sb4 : ToStringBuilder | +| ToStringBuilderTest.java:13:97:13:110 | toString(...) | semmle.label | toString(...) | +| ToStringBuilderTest.java:14:58:14:60 | sb5 [post update] : ToStringBuilder | semmle.label | sb5 [post update] : ToStringBuilder | +| ToStringBuilderTest.java:14:82:14:105 | new Object[] : Object[] [[]] : String | semmle.label | new Object[] : Object[] [[]] : String | +| ToStringBuilderTest.java:14:82:14:105 | {...} : Object[] [[]] : String | semmle.label | {...} : Object[] [[]] : String | +| ToStringBuilderTest.java:14:97:14:103 | taint(...) : String | semmle.label | taint(...) : String | +| ToStringBuilderTest.java:14:114:14:116 | sb5 : ToStringBuilder | semmle.label | sb5 : ToStringBuilder | +| ToStringBuilderTest.java:14:114:14:127 | toString(...) | semmle.label | toString(...) | +| ToStringBuilderTest.java:15:58:15:60 | sb6 [post update] : ToStringBuilder | semmle.label | sb6 [post update] : ToStringBuilder | +| ToStringBuilderTest.java:15:82:15:105 | new Object[] : Object[] [[]] : String | semmle.label | new Object[] : Object[] [[]] : String | +| ToStringBuilderTest.java:15:82:15:105 | {...} : Object[] [[]] : String | semmle.label | {...} : Object[] [[]] : String | +| ToStringBuilderTest.java:15:97:15:103 | taint(...) : String | semmle.label | taint(...) : String | +| ToStringBuilderTest.java:15:120:15:122 | sb6 : ToStringBuilder | semmle.label | sb6 : ToStringBuilder | +| ToStringBuilderTest.java:15:120:15:133 | toString(...) | semmle.label | toString(...) | +| ToStringBuilderTest.java:18:58:18:60 | sb8 [post update] : ToStringBuilder | semmle.label | sb8 [post update] : ToStringBuilder | +| ToStringBuilderTest.java:18:74:18:80 | taint(...) : String | semmle.label | taint(...) : String | +| ToStringBuilderTest.java:18:89:18:91 | sb8 : ToStringBuilder | semmle.label | sb8 : ToStringBuilder | +| ToStringBuilderTest.java:18:89:18:102 | toString(...) | semmle.label | toString(...) | +| ToStringBuilderTest.java:19:58:19:60 | sb9 [post update] : ToStringBuilder | semmle.label | sb9 [post update] : ToStringBuilder | +| ToStringBuilderTest.java:19:77:19:83 | taint(...) : String | semmle.label | taint(...) : String | +| ToStringBuilderTest.java:19:92:19:94 | sb9 : ToStringBuilder | semmle.label | sb9 : ToStringBuilder | +| ToStringBuilderTest.java:19:92:19:105 | toString(...) | semmle.label | toString(...) | +| ToStringBuilderTest.java:20:59:20:62 | sb10 [post update] : ToStringBuilder | semmle.label | sb10 [post update] : ToStringBuilder | +| ToStringBuilderTest.java:20:71:20:85 | (...)... : String | semmle.label | (...)... : String | +| ToStringBuilderTest.java:20:79:20:85 | taint(...) : String | semmle.label | taint(...) : String | +| ToStringBuilderTest.java:20:94:20:97 | sb10 : ToStringBuilder | semmle.label | sb10 : ToStringBuilder | +| ToStringBuilderTest.java:20:94:20:105 | build(...) | semmle.label | build(...) | +| ToStringBuilderTest.java:21:59:21:62 | sb11 [post update] : ToStringBuilder | semmle.label | sb11 [post update] : ToStringBuilder | +| ToStringBuilderTest.java:21:71:21:85 | (...)... : String | semmle.label | (...)... : String | +| ToStringBuilderTest.java:21:79:21:85 | taint(...) : String | semmle.label | taint(...) : String | +| ToStringBuilderTest.java:21:94:21:97 | sb11 : ToStringBuilder | semmle.label | sb11 : ToStringBuilder | +| ToStringBuilderTest.java:21:94:21:115 | getStringBuffer(...) : StringBuffer | semmle.label | getStringBuffer(...) : StringBuffer | +| ToStringBuilderTest.java:21:94:21:126 | toString(...) | semmle.label | toString(...) | +| ToStringBuilderTest.java:25:14:25:58 | append(...) : ToStringBuilder | semmle.label | append(...) : ToStringBuilder | +| ToStringBuilderTest.java:25:14:25:82 | append(...) : ToStringBuilder | semmle.label | append(...) : ToStringBuilder | +| ToStringBuilderTest.java:25:14:25:93 | toString(...) | semmle.label | toString(...) | +| ToStringBuilderTest.java:25:51:25:57 | taint(...) : String | semmle.label | taint(...) : String | +| ToStringBuilderTest.java:28:9:28:45 | append(...) [post update] : ToStringBuilder | semmle.label | append(...) [post update] : ToStringBuilder | +| ToStringBuilderTest.java:28:54:28:60 | taint(...) : String | semmle.label | taint(...) : String | +| ToStringBuilderTest.java:29:14:29:31 | fluentBackflowTest : ToStringBuilder | semmle.label | fluentBackflowTest : ToStringBuilder | +| ToStringBuilderTest.java:29:14:29:42 | toString(...) | semmle.label | toString(...) | +| ToStringBuilderTest.java:33:9:33:46 | append(...) [post update] : ToStringBuilder | semmle.label | append(...) [post update] : ToStringBuilder | +| ToStringBuilderTest.java:33:55:33:61 | taint(...) : String | semmle.label | taint(...) : String | +| ToStringBuilderTest.java:34:14:34:32 | fluentBackflowTest2 : ToStringBuilder | semmle.label | fluentBackflowTest2 : ToStringBuilder | +| ToStringBuilderTest.java:34:14:34:43 | toString(...) | semmle.label | toString(...) | +| TripleTest.java:16:61:16:118 | of(...) : ImmutableTriple [left] : String | semmle.label | of(...) : ImmutableTriple [left] : String | +| TripleTest.java:16:80:16:86 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:17:63:17:118 | of(...) : ImmutableTriple [middle] : String | semmle.label | of(...) : ImmutableTriple [middle] : String | +| TripleTest.java:17:96:17:102 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:18:62:18:118 | of(...) : ImmutableTriple [right] : String | semmle.label | of(...) : ImmutableTriple [right] : String | +| TripleTest.java:18:111:18:117 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:21:12:21:22 | taintedLeft : ImmutableTriple [left] : String | semmle.label | taintedLeft : ImmutableTriple [left] : String | +| TripleTest.java:21:12:21:32 | getLeft(...) | semmle.label | getLeft(...) | +| TripleTest.java:24:12:24:22 | taintedLeft : ImmutableTriple [left] : String | semmle.label | taintedLeft : ImmutableTriple [left] : String | +| TripleTest.java:24:12:24:27 | taintedLeft.left | semmle.label | taintedLeft.left | +| TripleTest.java:28:12:28:24 | taintedMiddle : ImmutableTriple [middle] : String | semmle.label | taintedMiddle : ImmutableTriple [middle] : String | +| TripleTest.java:28:12:28:36 | getMiddle(...) | semmle.label | getMiddle(...) | +| TripleTest.java:31:12:31:24 | taintedMiddle : ImmutableTriple [middle] : String | semmle.label | taintedMiddle : ImmutableTriple [middle] : String | +| TripleTest.java:31:12:31:31 | taintedMiddle.middle | semmle.label | taintedMiddle.middle | +| TripleTest.java:35:12:35:23 | taintedRight : ImmutableTriple [right] : String | semmle.label | taintedRight : ImmutableTriple [right] : String | +| TripleTest.java:35:12:35:34 | getRight(...) | semmle.label | getRight(...) | +| TripleTest.java:38:12:38:23 | taintedRight : ImmutableTriple [right] : String | semmle.label | taintedRight : ImmutableTriple [right] : String | +| TripleTest.java:38:12:38:29 | taintedRight.right | semmle.label | taintedRight.right | +| TripleTest.java:45:12:45:23 | taintedLeft2 : ImmutableTriple [left] : String | semmle.label | taintedLeft2 : ImmutableTriple [left] : String | +| TripleTest.java:45:12:45:33 | getLeft(...) | semmle.label | getLeft(...) | +| TripleTest.java:49:12:49:25 | taintedMiddle2 : ImmutableTriple [middle] : String | semmle.label | taintedMiddle2 : ImmutableTriple [middle] : String | +| TripleTest.java:49:12:49:37 | getMiddle(...) | semmle.label | getMiddle(...) | +| TripleTest.java:53:12:53:24 | taintedRight2 : ImmutableTriple [right] : String | semmle.label | taintedRight2 : ImmutableTriple [right] : String | +| TripleTest.java:53:12:53:35 | getRight(...) | semmle.label | getRight(...) | +| TripleTest.java:56:53:56:101 | of(...) : Triple [left] : String | semmle.label | of(...) : Triple [left] : String | +| TripleTest.java:56:63:56:69 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:57:55:57:101 | of(...) : Triple [middle] : String | semmle.label | of(...) : Triple [middle] : String | +| TripleTest.java:57:79:57:85 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:58:54:58:101 | of(...) : Triple [right] : String | semmle.label | of(...) : Triple [right] : String | +| TripleTest.java:58:94:58:100 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:60:12:60:23 | taintedLeft3 : Triple [left] : String | semmle.label | taintedLeft3 : Triple [left] : String | +| TripleTest.java:60:12:60:33 | getLeft(...) | semmle.label | getLeft(...) | +| TripleTest.java:64:12:64:25 | taintedMiddle3 : Triple [middle] : String | semmle.label | taintedMiddle3 : Triple [middle] : String | +| TripleTest.java:64:12:64:37 | getMiddle(...) | semmle.label | getMiddle(...) | +| TripleTest.java:68:12:68:24 | taintedRight3 : Triple [right] : String | semmle.label | taintedRight3 : Triple [right] : String | +| TripleTest.java:68:12:68:35 | getRight(...) | semmle.label | getRight(...) | +| TripleTest.java:71:62:71:120 | new ImmutableTriple<>(...) : ImmutableTriple [left] : String | semmle.label | new ImmutableTriple<>(...) : ImmutableTriple [left] : String | +| TripleTest.java:71:82:71:88 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:72:64:72:120 | new ImmutableTriple<>(...) : ImmutableTriple [middle] : String | semmle.label | new ImmutableTriple<>(...) : ImmutableTriple [middle] : String | +| TripleTest.java:72:98:72:104 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:73:63:73:120 | new ImmutableTriple<>(...) : ImmutableTriple [right] : String | semmle.label | new ImmutableTriple<>(...) : ImmutableTriple [right] : String | +| TripleTest.java:73:113:73:119 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:75:12:75:23 | taintedLeft4 : ImmutableTriple [left] : String | semmle.label | taintedLeft4 : ImmutableTriple [left] : String | +| TripleTest.java:75:12:75:33 | getLeft(...) | semmle.label | getLeft(...) | +| TripleTest.java:79:12:79:25 | taintedMiddle4 : ImmutableTriple [middle] : String | semmle.label | taintedMiddle4 : ImmutableTriple [middle] : String | +| TripleTest.java:79:12:79:37 | getMiddle(...) | semmle.label | getMiddle(...) | +| TripleTest.java:83:12:83:24 | taintedRight4 : ImmutableTriple [right] : String | semmle.label | taintedRight4 : ImmutableTriple [right] : String | +| TripleTest.java:83:12:83:35 | getRight(...) | semmle.label | getRight(...) | +| TripleTest.java:85:66:85:121 | of(...) : MutableTriple [left] : String | semmle.label | of(...) : MutableTriple [left] : String | +| TripleTest.java:85:83:85:89 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:86:68:86:121 | of(...) : MutableTriple [middle] : String | semmle.label | of(...) : MutableTriple [middle] : String | +| TripleTest.java:86:99:86:105 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:87:67:87:121 | of(...) : MutableTriple [right] : String | semmle.label | of(...) : MutableTriple [right] : String | +| TripleTest.java:87:114:87:120 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:89:7:89:20 | setTaintedLeft [post update] : MutableTriple [left] : String | semmle.label | setTaintedLeft [post update] : MutableTriple [left] : String | +| TripleTest.java:89:30:89:36 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:91:7:91:22 | setTaintedMiddle [post update] : MutableTriple [middle] : String | semmle.label | setTaintedMiddle [post update] : MutableTriple [middle] : String | +| TripleTest.java:91:34:91:40 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:93:7:93:21 | setTaintedRight [post update] : MutableTriple [right] : String | semmle.label | setTaintedRight [post update] : MutableTriple [right] : String | +| TripleTest.java:93:32:93:38 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:94:77:94:133 | new MutableTriple<>(...) : MutableTriple [left] : String | semmle.label | new MutableTriple<>(...) : MutableTriple [left] : String | +| TripleTest.java:94:95:94:101 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:95:79:95:133 | new MutableTriple<>(...) : MutableTriple [middle] : String | semmle.label | new MutableTriple<>(...) : MutableTriple [middle] : String | +| TripleTest.java:95:111:95:117 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:96:78:96:133 | new MutableTriple<>(...) : MutableTriple [right] : String | semmle.label | new MutableTriple<>(...) : MutableTriple [right] : String | +| TripleTest.java:96:126:96:132 | taint(...) : String | semmle.label | taint(...) : String | +| TripleTest.java:99:12:99:29 | mutableTaintedLeft : MutableTriple [left] : String | semmle.label | mutableTaintedLeft : MutableTriple [left] : String | +| TripleTest.java:99:12:99:39 | getLeft(...) | semmle.label | getLeft(...) | +| TripleTest.java:102:12:102:29 | mutableTaintedLeft : MutableTriple [left] : String | semmle.label | mutableTaintedLeft : MutableTriple [left] : String | +| TripleTest.java:102:12:102:34 | mutableTaintedLeft.left | semmle.label | mutableTaintedLeft.left | +| TripleTest.java:106:12:106:31 | mutableTaintedMiddle : MutableTriple [middle] : String | semmle.label | mutableTaintedMiddle : MutableTriple [middle] : String | +| TripleTest.java:106:12:106:43 | getMiddle(...) | semmle.label | getMiddle(...) | +| TripleTest.java:109:12:109:31 | mutableTaintedMiddle : MutableTriple [middle] : String | semmle.label | mutableTaintedMiddle : MutableTriple [middle] : String | +| TripleTest.java:109:12:109:38 | mutableTaintedMiddle.middle | semmle.label | mutableTaintedMiddle.middle | +| TripleTest.java:113:12:113:30 | mutableTaintedRight : MutableTriple [right] : String | semmle.label | mutableTaintedRight : MutableTriple [right] : String | +| TripleTest.java:113:12:113:41 | getRight(...) | semmle.label | getRight(...) | +| TripleTest.java:116:12:116:30 | mutableTaintedRight : MutableTriple [right] : String | semmle.label | mutableTaintedRight : MutableTriple [right] : String | +| TripleTest.java:116:12:116:36 | mutableTaintedRight.right | semmle.label | mutableTaintedRight.right | +| TripleTest.java:117:12:117:25 | setTaintedLeft : MutableTriple [left] : String | semmle.label | setTaintedLeft : MutableTriple [left] : String | +| TripleTest.java:117:12:117:35 | getLeft(...) | semmle.label | getLeft(...) | +| TripleTest.java:120:12:120:25 | setTaintedLeft : MutableTriple [left] : String | semmle.label | setTaintedLeft : MutableTriple [left] : String | +| TripleTest.java:120:12:120:30 | setTaintedLeft.left | semmle.label | setTaintedLeft.left | +| TripleTest.java:124:12:124:27 | setTaintedMiddle : MutableTriple [middle] : String | semmle.label | setTaintedMiddle : MutableTriple [middle] : String | +| TripleTest.java:124:12:124:39 | getMiddle(...) | semmle.label | getMiddle(...) | +| TripleTest.java:127:12:127:27 | setTaintedMiddle : MutableTriple [middle] : String | semmle.label | setTaintedMiddle : MutableTriple [middle] : String | +| TripleTest.java:127:12:127:34 | setTaintedMiddle.middle | semmle.label | setTaintedMiddle.middle | +| TripleTest.java:131:12:131:26 | setTaintedRight : MutableTriple [right] : String | semmle.label | setTaintedRight : MutableTriple [right] : String | +| TripleTest.java:131:12:131:37 | getRight(...) | semmle.label | getRight(...) | +| TripleTest.java:134:12:134:26 | setTaintedRight : MutableTriple [right] : String | semmle.label | setTaintedRight : MutableTriple [right] : String | +| TripleTest.java:134:12:134:32 | setTaintedRight.right | semmle.label | setTaintedRight.right | +| TripleTest.java:135:12:135:40 | mutableTaintedLeftConstructed : MutableTriple [left] : String | semmle.label | mutableTaintedLeftConstructed : MutableTriple [left] : String | +| TripleTest.java:135:12:135:50 | getLeft(...) | semmle.label | getLeft(...) | +| TripleTest.java:138:12:138:40 | mutableTaintedLeftConstructed : MutableTriple [left] : String | semmle.label | mutableTaintedLeftConstructed : MutableTriple [left] : String | +| TripleTest.java:138:12:138:45 | mutableTaintedLeftConstructed.left | semmle.label | mutableTaintedLeftConstructed.left | +| TripleTest.java:142:12:142:42 | mutableTaintedMiddleConstructed : MutableTriple [middle] : String | semmle.label | mutableTaintedMiddleConstructed : MutableTriple [middle] : String | +| TripleTest.java:142:12:142:54 | getMiddle(...) | semmle.label | getMiddle(...) | +| TripleTest.java:145:12:145:42 | mutableTaintedMiddleConstructed : MutableTriple [middle] : String | semmle.label | mutableTaintedMiddleConstructed : MutableTriple [middle] : String | +| TripleTest.java:145:12:145:49 | mutableTaintedMiddleConstructed.middle | semmle.label | mutableTaintedMiddleConstructed.middle | +| TripleTest.java:149:12:149:41 | mutableTaintedRightConstructed : MutableTriple [right] : String | semmle.label | mutableTaintedRightConstructed : MutableTriple [right] : String | +| TripleTest.java:149:12:149:52 | getRight(...) | semmle.label | getRight(...) | +| TripleTest.java:152:12:152:41 | mutableTaintedRightConstructed : MutableTriple [right] : String | semmle.label | mutableTaintedRightConstructed : MutableTriple [right] : String | +| TripleTest.java:152:12:152:47 | mutableTaintedRightConstructed.right | semmle.label | mutableTaintedRightConstructed.right | +| TripleTest.java:162:12:162:30 | mutableTaintedLeft2 : MutableTriple [left] : String | semmle.label | mutableTaintedLeft2 : MutableTriple [left] : String | +| TripleTest.java:162:12:162:40 | getLeft(...) | semmle.label | getLeft(...) | +| TripleTest.java:166:12:166:32 | mutableTaintedMiddle2 : MutableTriple [middle] : String | semmle.label | mutableTaintedMiddle2 : MutableTriple [middle] : String | +| TripleTest.java:166:12:166:44 | getMiddle(...) | semmle.label | getMiddle(...) | +| TripleTest.java:170:12:170:31 | mutableTaintedRight2 : MutableTriple [right] : String | semmle.label | mutableTaintedRight2 : MutableTriple [right] : String | +| TripleTest.java:170:12:170:42 | getRight(...) | semmle.label | getRight(...) | +| TripleTest.java:171:12:171:26 | setTaintedLeft2 : MutableTriple [left] : String | semmle.label | setTaintedLeft2 : MutableTriple [left] : String | +| TripleTest.java:171:12:171:36 | getLeft(...) | semmle.label | getLeft(...) | +| TripleTest.java:175:12:175:28 | setTaintedMiddle2 : MutableTriple [middle] : String | semmle.label | setTaintedMiddle2 : MutableTriple [middle] : String | +| TripleTest.java:175:12:175:40 | getMiddle(...) | semmle.label | getMiddle(...) | +| TripleTest.java:179:12:179:27 | setTaintedRight2 : MutableTriple [right] : String | semmle.label | setTaintedRight2 : MutableTriple [right] : String | +| TripleTest.java:179:12:179:38 | getRight(...) | semmle.label | getRight(...) | +| WordUtilsTest.java:9:10:9:38 | capitalize(...) | semmle.label | capitalize(...) | +| WordUtilsTest.java:9:31:9:37 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTest.java:10:10:10:48 | capitalize(...) | semmle.label | capitalize(...) | +| WordUtilsTest.java:10:31:10:37 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTest.java:11:10:11:43 | capitalizeFully(...) | semmle.label | capitalizeFully(...) | +| WordUtilsTest.java:11:36:11:42 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTest.java:12:10:12:53 | capitalizeFully(...) | semmle.label | capitalizeFully(...) | +| WordUtilsTest.java:12:36:12:42 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTest.java:13:10:13:36 | initials(...) | semmle.label | initials(...) | +| WordUtilsTest.java:13:29:13:35 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTest.java:14:10:14:46 | initials(...) | semmle.label | initials(...) | +| WordUtilsTest.java:14:29:14:35 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTest.java:15:10:15:36 | swapCase(...) | semmle.label | swapCase(...) | +| WordUtilsTest.java:15:29:15:35 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTest.java:16:10:16:40 | uncapitalize(...) | semmle.label | uncapitalize(...) | +| WordUtilsTest.java:16:33:16:39 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTest.java:17:10:17:50 | uncapitalize(...) | semmle.label | uncapitalize(...) | +| WordUtilsTest.java:17:33:17:39 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTest.java:18:10:18:35 | wrap(...) | semmle.label | wrap(...) | +| WordUtilsTest.java:18:25:18:31 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTest.java:19:10:19:48 | wrap(...) | semmle.label | wrap(...) | +| WordUtilsTest.java:19:25:19:31 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTest.java:20:10:20:53 | wrap(...) | semmle.label | wrap(...) | +| WordUtilsTest.java:20:39:20:45 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTest.java:21:10:21:54 | wrap(...) | semmle.label | wrap(...) | +| WordUtilsTest.java:21:25:21:31 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTest.java:22:10:22:59 | wrap(...) | semmle.label | wrap(...) | +| WordUtilsTest.java:22:39:22:45 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTextTest.java:9:10:9:57 | abbreviate(...) | semmle.label | abbreviate(...) | +| WordUtilsTextTest.java:9:31:9:37 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTextTest.java:10:10:10:61 | abbreviate(...) | semmle.label | abbreviate(...) | +| WordUtilsTextTest.java:10:54:10:60 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTextTest.java:11:10:11:38 | capitalize(...) | semmle.label | capitalize(...) | +| WordUtilsTextTest.java:11:31:11:37 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTextTest.java:12:10:12:48 | capitalize(...) | semmle.label | capitalize(...) | +| WordUtilsTextTest.java:12:31:12:37 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTextTest.java:13:10:13:43 | capitalizeFully(...) | semmle.label | capitalizeFully(...) | +| WordUtilsTextTest.java:13:36:13:42 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTextTest.java:14:10:14:53 | capitalizeFully(...) | semmle.label | capitalizeFully(...) | +| WordUtilsTextTest.java:14:36:14:42 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTextTest.java:15:10:15:36 | initials(...) | semmle.label | initials(...) | +| WordUtilsTextTest.java:15:29:15:35 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTextTest.java:16:10:16:46 | initials(...) | semmle.label | initials(...) | +| WordUtilsTextTest.java:16:29:16:35 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTextTest.java:17:10:17:36 | swapCase(...) | semmle.label | swapCase(...) | +| WordUtilsTextTest.java:17:29:17:35 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTextTest.java:18:10:18:40 | uncapitalize(...) | semmle.label | uncapitalize(...) | +| WordUtilsTextTest.java:18:33:18:39 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTextTest.java:19:10:19:50 | uncapitalize(...) | semmle.label | uncapitalize(...) | +| WordUtilsTextTest.java:19:33:19:39 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTextTest.java:20:10:20:35 | wrap(...) | semmle.label | wrap(...) | +| WordUtilsTextTest.java:20:25:20:31 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTextTest.java:21:10:21:48 | wrap(...) | semmle.label | wrap(...) | +| WordUtilsTextTest.java:21:25:21:31 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTextTest.java:22:10:22:53 | wrap(...) | semmle.label | wrap(...) | +| WordUtilsTextTest.java:22:39:22:45 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTextTest.java:23:10:23:54 | wrap(...) | semmle.label | wrap(...) | +| WordUtilsTextTest.java:23:25:23:31 | taint(...) : String | semmle.label | taint(...) : String | +| WordUtilsTextTest.java:24:10:24:59 | wrap(...) | semmle.label | wrap(...) | +| WordUtilsTextTest.java:24:39:24:45 | taint(...) : String | semmle.label | taint(...) : String | +subpaths +testFailures diff --git a/java/ql/test/library-tests/frameworks/gson/test.expected b/java/ql/test/library-tests/frameworks/gson/test.expected index e69de29bb2d..9b40c17335b 100644 --- a/java/ql/test/library-tests/frameworks/gson/test.expected +++ b/java/ql/test/library-tests/frameworks/gson/test.expected @@ -0,0 +1,770 @@ +models +| 1 | Summary: com.google.gson; Gson; false; fromJson; ; ; Argument[0]; ReturnValue; taint; manual | +| 2 | Summary: com.google.gson; Gson; false; toJson; (JsonElement); ; Argument[0]; ReturnValue; taint; manual | +| 3 | Summary: com.google.gson; Gson; false; toJson; (JsonElement,JsonWriter); ; Argument[0]; Argument[1]; taint; manual | +| 4 | Summary: com.google.gson; Gson; false; toJson; (JsonElement,Appendable); ; Argument[0]; Argument[1]; taint; manual | +| 5 | Summary: com.google.gson; Gson; false; toJson; (Object); ; Argument[0]; ReturnValue; taint; manual | +| 6 | Summary: com.google.gson; Gson; false; toJson; (Object,Appendable); ; Argument[0]; Argument[1]; taint; manual | +| 7 | Summary: com.google.gson; Gson; false; toJson; (Object,Type); ; Argument[0]; ReturnValue; taint; manual | +| 8 | Summary: com.google.gson; Gson; false; toJson; (Object,Type,Appendable); ; Argument[0]; Argument[2]; taint; manual | +| 9 | Summary: com.google.gson; Gson; false; toJson; (Object,Type,JsonWriter); ; Argument[0]; Argument[2]; taint; manual | +| 10 | Summary: com.google.gson; Gson; false; toJsonTree; (Object); ; Argument[0]; ReturnValue; taint; manual | +| 11 | Summary: com.google.gson; Gson; false; toJsonTree; (Object,Type); ; Argument[0]; ReturnValue; taint; manual | +| 12 | Summary: com.google.gson; Gson; false; newJsonReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 13 | Summary: com.google.gson; Gson; false; newJsonWriter; ; ; Argument[0]; ReturnValue; taint; manual | +| 14 | Summary: com.google.gson.stream; JsonReader; false; nextName; ; ; Argument[this]; ReturnValue; taint; manual | +| 15 | Summary: com.google.gson.stream; JsonReader; false; nextString; ; ; Argument[this]; ReturnValue; taint; manual | +| 16 | Summary: com.google.gson; JsonElement; true; getAsByte; (); ; Argument[this]; ReturnValue; taint; manual | +| 17 | Summary: com.google.gson; JsonElement; true; getAsCharacter; (); ; Argument[this]; ReturnValue; taint; manual | +| 18 | Summary: com.google.gson; JsonElement; true; getAsJsonArray; (); ; Argument[this]; ReturnValue; taint; manual | +| 19 | Summary: com.google.gson; JsonElement; true; getAsJsonObject; (); ; Argument[this]; ReturnValue; taint; manual | +| 20 | Summary: com.google.gson; JsonElement; true; getAsJsonPrimitive; (); ; Argument[this]; ReturnValue; taint; manual | +| 21 | Summary: com.google.gson; JsonElement; true; getAsString; (); ; Argument[this]; ReturnValue; taint; manual | +| 22 | Summary: com.google.gson; JsonElement; true; toString; (); ; Argument[this]; ReturnValue; taint; manual | +| 23 | Summary: com.google.gson; JsonArray; true; add; (Boolean); ; Argument[0]; Argument[this].Element; taint; manual | +| 24 | Summary: com.google.gson; JsonArray; true; add; (Character); ; Argument[0]; Argument[this].Element; taint; manual | +| 25 | Summary: com.google.gson; JsonArray; true; add; (JsonElement); ; Argument[0]; Argument[this].Element; value; manual | +| 26 | Summary: com.google.gson; JsonArray; true; add; (Number); ; Argument[0]; Argument[this].Element; taint; manual | +| 27 | Summary: com.google.gson; JsonArray; true; add; (String); ; Argument[0]; Argument[this].Element; taint; manual | +| 28 | Summary: com.google.gson; JsonArray; true; addAll; (JsonArray); ; Argument[0].Element; Argument[this].Element; value; manual | +| 29 | Summary: com.google.gson; JsonArray; true; asList; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 30 | Summary: com.google.gson; JsonArray; true; get; ; ; Argument[this].Element; ReturnValue; value; manual | +| 31 | Summary: com.google.gson; JsonArray; true; set; ; ; Argument[1]; Argument[this].Element; value; manual | +| 32 | Summary: com.google.gson; JsonObject; true; add; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 33 | Summary: com.google.gson; JsonObject; true; add; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 34 | Summary: com.google.gson; JsonObject; true; addProperty; (String,String); ; Argument[0]; Argument[this].MapKey; value; manual | +| 35 | Summary: com.google.gson; JsonObject; true; addProperty; (String,String); ; Argument[1]; Argument[this].MapValue; taint; manual | +| 36 | Summary: com.google.gson; JsonObject; true; asMap; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 37 | Summary: com.google.gson; JsonObject; true; asMap; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 38 | Summary: com.google.gson; JsonObject; true; entrySet; ; ; Argument[this].MapKey; ReturnValue.Element.MapKey; value; manual | +| 39 | Summary: com.google.gson; JsonObject; true; entrySet; ; ; Argument[this].MapValue; ReturnValue.Element.MapValue; value; manual | +| 40 | Summary: com.google.gson; JsonObject; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 41 | Summary: com.google.gson; JsonObject; true; keySet; ; ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 42 | Summary: com.google.gson; JsonPrimitive; true; JsonPrimitive; (Character); ; Argument[0]; Argument[this]; taint; manual | +| 43 | Summary: com.google.gson; JsonPrimitive; true; JsonPrimitive; (String); ; Argument[0]; Argument[this]; taint; manual | +| 44 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 45 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 46 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 47 | Summary: java.util; Map; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 48 | Summary: java.util; Map$Entry; true; getKey; ; ; Argument[this].MapKey; ReturnValue; value; manual | +| 49 | Summary: java.util; Map$Entry; true; getValue; ; ; Argument[this].MapValue; ReturnValue; value; manual | +edges +| Test.java:21:18:21:29 | map : Map [] : String | Test.java:21:41:21:43 | map : Map [] : String | provenance | | +| Test.java:21:41:21:43 | map : Map [] : String | Test.java:21:41:21:52 | keySet(...) : Set [] : String | provenance | MaD:47 | +| Test.java:21:41:21:52 | keySet(...) : Set [] : String | Test.java:21:41:21:63 | iterator(...) : Iterator [] : String | provenance | MaD:44 | +| Test.java:21:41:21:63 | iterator(...) : Iterator [] : String | Test.java:21:41:21:70 | next(...) : String | provenance | MaD:45 | +| Test.java:22:19:22:32 | it : JsonArray [] : JsonElement | Test.java:22:44:22:45 | it : JsonArray [] : JsonElement | provenance | | +| Test.java:22:19:22:32 | it : List [] : JsonElement | Test.java:22:44:22:45 | it : List [] : JsonElement | provenance | | +| Test.java:22:19:22:32 | it : Set [] : String | Test.java:22:44:22:45 | it : Set [] : String | provenance | | +| Test.java:22:44:22:45 | it : JsonArray [] : JsonElement | Test.java:22:44:22:56 | iterator(...) : Iterator [] : JsonElement | provenance | MaD:44 | +| Test.java:22:44:22:45 | it : List [] : JsonElement | Test.java:22:44:22:56 | iterator(...) : Iterator [] : JsonElement | provenance | MaD:44 | +| Test.java:22:44:22:45 | it : Set [] : String | Test.java:22:44:22:56 | iterator(...) : Iterator [] : String | provenance | MaD:44 | +| Test.java:22:44:22:56 | iterator(...) : Iterator [] : JsonElement | Test.java:22:44:22:63 | next(...) : JsonElement | provenance | MaD:45 | +| Test.java:22:44:22:56 | iterator(...) : Iterator [] : JsonElement | Test.java:22:44:22:63 | next(...) : JsonElement | provenance | MaD:45 | +| Test.java:22:44:22:56 | iterator(...) : Iterator [] : String | Test.java:22:44:22:63 | next(...) : String | provenance | MaD:45 | +| Test.java:23:20:23:31 | map : Map [] : JsonElement | Test.java:23:43:23:45 | map : Map [] : JsonElement | provenance | | +| Test.java:23:43:23:45 | map : Map [] : JsonElement | Test.java:23:43:23:55 | get(...) : JsonElement | provenance | MaD:46 | +| Test.java:24:26:24:45 | container : JsonObject [] : String | Test.java:24:57:24:65 | container : JsonObject [] : String | provenance | | +| Test.java:24:57:24:65 | container : JsonObject [] : String | Test.java:24:57:24:74 | keySet(...) : Set [] : String | provenance | MaD:41 | +| Test.java:24:57:24:74 | keySet(...) : Set [] : String | Test.java:24:57:24:85 | iterator(...) : Iterator [] : String | provenance | MaD:44 | +| Test.java:24:57:24:85 | iterator(...) : Iterator [] : String | Test.java:24:57:24:92 | next(...) : String | provenance | MaD:45 | +| Test.java:25:25:25:48 | container : Entry [] : String | Test.java:25:60:25:68 | container : Entry [] : String | provenance | | +| Test.java:25:60:25:68 | container : Entry [] : String | Test.java:25:60:25:77 | getKey(...) : String | provenance | MaD:48 | +| Test.java:26:33:26:52 | container : JsonObject [] : JsonElement | Test.java:26:64:26:72 | container : JsonObject [] : JsonElement | provenance | | +| Test.java:26:33:26:52 | container : JsonObject [] : Object | Test.java:26:64:26:72 | container : JsonObject [] : Object | provenance | | +| Test.java:26:64:26:72 | container : JsonObject [] : JsonElement | Test.java:26:64:26:82 | get(...) : JsonElement | provenance | MaD:40 | +| Test.java:26:64:26:72 | container : JsonObject [] : Object | Test.java:26:64:26:82 | get(...) : JsonElement | provenance | MaD:40 | +| Test.java:27:28:27:51 | container : Entry [] : JsonElement | Test.java:27:63:27:71 | container : Entry [] : JsonElement | provenance | | +| Test.java:27:63:27:71 | container : Entry [] : JsonElement | Test.java:27:63:27:82 | getValue(...) : JsonElement | provenance | MaD:49 | +| Test.java:28:34:28:52 | element : JsonElement | Test.java:28:94:28:100 | element : JsonElement | provenance | | +| Test.java:28:88:28:88 | a [post update] : JsonArray [] : JsonElement | Test.java:28:111:28:111 | a : JsonArray [] : JsonElement | provenance | | +| Test.java:28:94:28:100 | element : JsonElement | Test.java:28:88:28:88 | a [post update] : JsonArray [] : JsonElement | provenance | MaD:25 | +| Test.java:29:34:29:43 | key : String | Test.java:29:87:29:89 | key : String | provenance | | +| Test.java:29:81:29:81 | o [post update] : JsonObject [] : String | Test.java:29:120:29:120 | o : JsonObject [] : String | provenance | | +| Test.java:29:87:29:89 | key : String | Test.java:29:81:29:81 | o [post update] : JsonObject [] : String | provenance | MaD:32 | +| Test.java:30:36:30:54 | element : JsonElement | Test.java:30:104:30:110 | element : JsonElement | provenance | | +| Test.java:30:92:30:92 | o [post update] : JsonObject [] : JsonElement | Test.java:30:121:30:121 | o : JsonObject [] : JsonElement | provenance | | +| Test.java:30:104:30:110 | element : JsonElement | Test.java:30:92:30:92 | o [post update] : JsonObject [] : JsonElement | provenance | MaD:33 | +| Test.java:39:20:39:39 | (...)... : JsonReader | Test.java:40:10:40:11 | in : JsonReader | provenance | | +| Test.java:39:32:39:39 | source(...) : Object | Test.java:39:20:39:39 | (...)... : JsonReader | provenance | | +| Test.java:40:10:40:11 | in : JsonReader | Test.java:40:10:40:22 | nextName(...) : String | provenance | MaD:14 | +| Test.java:40:10:40:22 | nextName(...) : String | Test.java:41:9:41:11 | out | provenance | | +| Test.java:46:20:46:39 | (...)... : JsonReader | Test.java:47:10:47:11 | in : JsonReader | provenance | | +| Test.java:46:32:46:39 | source(...) : Object | Test.java:46:20:46:39 | (...)... : JsonReader | provenance | | +| Test.java:47:10:47:11 | in : JsonReader | Test.java:47:10:47:24 | nextString(...) : String | provenance | MaD:15 | +| Test.java:47:10:47:24 | nextString(...) : String | Test.java:48:9:48:11 | out | provenance | | +| Test.java:53:21:53:41 | (...)... : JsonElement | Test.java:55:28:55:29 | in : JsonElement | provenance | | +| Test.java:53:34:53:41 | source(...) : Object | Test.java:53:21:53:41 | (...)... : JsonElement | provenance | | +| Test.java:55:10:55:43 | fromJson(...) : Object | Test.java:56:9:56:11 | out | provenance | | +| Test.java:55:28:55:29 | in : JsonElement | Test.java:55:10:55:43 | fromJson(...) : Object | provenance | MaD:1 | +| Test.java:61:21:61:41 | (...)... : JsonElement | Test.java:63:28:63:29 | in : JsonElement | provenance | | +| Test.java:61:34:61:41 | source(...) : Object | Test.java:61:21:61:41 | (...)... : JsonElement | provenance | | +| Test.java:63:10:63:42 | fromJson(...) : Object | Test.java:64:9:64:11 | out | provenance | | +| Test.java:63:28:63:29 | in : JsonElement | Test.java:63:10:63:42 | fromJson(...) : Object | provenance | MaD:1 | +| Test.java:69:21:69:41 | (...)... : JsonElement | Test.java:71:28:71:29 | in : JsonElement | provenance | | +| Test.java:69:34:69:41 | source(...) : Object | Test.java:69:21:69:41 | (...)... : JsonElement | provenance | | +| Test.java:71:10:71:47 | fromJson(...) : Object | Test.java:72:9:72:11 | out | provenance | | +| Test.java:71:28:71:29 | in : JsonElement | Test.java:71:10:71:47 | fromJson(...) : Object | provenance | MaD:1 | +| Test.java:77:20:77:39 | (...)... : JsonReader | Test.java:79:28:79:29 | in : JsonReader | provenance | | +| Test.java:77:32:77:39 | source(...) : Object | Test.java:77:20:77:39 | (...)... : JsonReader | provenance | | +| Test.java:79:10:79:42 | fromJson(...) : Object | Test.java:80:9:80:11 | out | provenance | | +| Test.java:79:28:79:29 | in : JsonReader | Test.java:79:10:79:42 | fromJson(...) : Object | provenance | MaD:1 | +| Test.java:85:20:85:39 | (...)... : JsonReader | Test.java:87:28:87:29 | in : JsonReader | provenance | | +| Test.java:85:32:85:39 | source(...) : Object | Test.java:85:20:85:39 | (...)... : JsonReader | provenance | | +| Test.java:87:10:87:47 | fromJson(...) : Object | Test.java:88:9:88:11 | out | provenance | | +| Test.java:87:28:87:29 | in : JsonReader | Test.java:87:10:87:47 | fromJson(...) : Object | provenance | MaD:1 | +| Test.java:93:16:93:31 | (...)... : Reader | Test.java:95:28:95:29 | in : Reader | provenance | | +| Test.java:93:24:93:31 | source(...) : Object | Test.java:93:16:93:31 | (...)... : Reader | provenance | | +| Test.java:95:10:95:43 | fromJson(...) : Object | Test.java:96:9:96:11 | out | provenance | | +| Test.java:95:28:95:29 | in : Reader | Test.java:95:10:95:43 | fromJson(...) : Object | provenance | MaD:1 | +| Test.java:101:16:101:31 | (...)... : Reader | Test.java:103:28:103:29 | in : Reader | provenance | | +| Test.java:101:24:101:31 | source(...) : Object | Test.java:101:16:101:31 | (...)... : Reader | provenance | | +| Test.java:103:10:103:42 | fromJson(...) : Object | Test.java:104:9:104:11 | out | provenance | | +| Test.java:103:28:103:29 | in : Reader | Test.java:103:10:103:42 | fromJson(...) : Object | provenance | MaD:1 | +| Test.java:109:16:109:31 | (...)... : Reader | Test.java:111:28:111:29 | in : Reader | provenance | | +| Test.java:109:24:109:31 | source(...) : Object | Test.java:109:16:109:31 | (...)... : Reader | provenance | | +| Test.java:111:10:111:47 | fromJson(...) : Object | Test.java:112:9:112:11 | out | provenance | | +| Test.java:111:28:111:29 | in : Reader | Test.java:111:10:111:47 | fromJson(...) : Object | provenance | MaD:1 | +| Test.java:117:16:117:31 | (...)... : String | Test.java:119:28:119:29 | in : String | provenance | | +| Test.java:117:24:117:31 | source(...) : Object | Test.java:117:16:117:31 | (...)... : String | provenance | | +| Test.java:119:10:119:43 | fromJson(...) : Object | Test.java:120:9:120:11 | out | provenance | | +| Test.java:119:28:119:29 | in : String | Test.java:119:10:119:43 | fromJson(...) : Object | provenance | MaD:1 | +| Test.java:125:16:125:31 | (...)... : String | Test.java:127:28:127:29 | in : String | provenance | | +| Test.java:125:24:125:31 | source(...) : Object | Test.java:125:16:125:31 | (...)... : String | provenance | | +| Test.java:127:10:127:42 | fromJson(...) : Object | Test.java:128:9:128:11 | out | provenance | | +| Test.java:127:28:127:29 | in : String | Test.java:127:10:127:42 | fromJson(...) : Object | provenance | MaD:1 | +| Test.java:133:16:133:31 | (...)... : String | Test.java:135:28:135:29 | in : String | provenance | | +| Test.java:133:24:133:31 | source(...) : Object | Test.java:133:16:133:31 | (...)... : String | provenance | | +| Test.java:135:10:135:47 | fromJson(...) : Object | Test.java:136:9:136:11 | out | provenance | | +| Test.java:135:28:135:29 | in : String | Test.java:135:10:135:47 | fromJson(...) : Object | provenance | MaD:1 | +| Test.java:141:16:141:31 | (...)... : Reader | Test.java:143:33:143:34 | in : Reader | provenance | | +| Test.java:141:24:141:31 | source(...) : Object | Test.java:141:16:141:31 | (...)... : Reader | provenance | | +| Test.java:143:10:143:35 | newJsonReader(...) : JsonReader | Test.java:144:9:144:11 | out | provenance | | +| Test.java:143:33:143:34 | in : Reader | Test.java:143:10:143:35 | newJsonReader(...) : JsonReader | provenance | MaD:12 | +| Test.java:149:16:149:31 | (...)... : Writer | Test.java:151:33:151:34 | in : Writer | provenance | | +| Test.java:149:24:149:31 | source(...) : Object | Test.java:149:16:149:31 | (...)... : Writer | provenance | | +| Test.java:151:10:151:35 | newJsonWriter(...) : JsonWriter | Test.java:152:9:152:11 | out | provenance | | +| Test.java:151:33:151:34 | in : Writer | Test.java:151:10:151:35 | newJsonWriter(...) : JsonWriter | provenance | MaD:13 | +| Test.java:157:21:157:41 | (...)... : JsonElement | Test.java:159:26:159:27 | in : JsonElement | provenance | | +| Test.java:157:34:157:41 | source(...) : Object | Test.java:157:21:157:41 | (...)... : JsonElement | provenance | | +| Test.java:159:10:159:28 | toJson(...) : String | Test.java:160:9:160:11 | out | provenance | | +| Test.java:159:26:159:27 | in : JsonElement | Test.java:159:10:159:28 | toJson(...) : String | provenance | MaD:2 | +| Test.java:165:21:165:41 | (...)... : JsonElement | Test.java:167:20:167:21 | in : JsonElement | provenance | | +| Test.java:165:34:165:41 | source(...) : Object | Test.java:165:21:165:41 | (...)... : JsonElement | provenance | | +| Test.java:167:20:167:21 | in : JsonElement | Test.java:167:24:167:26 | out [post update] : Appendable | provenance | MaD:4 | +| Test.java:167:24:167:26 | out [post update] : Appendable | Test.java:168:9:168:11 | out | provenance | | +| Test.java:173:21:173:41 | (...)... : JsonElement | Test.java:175:20:175:21 | in : JsonElement | provenance | | +| Test.java:173:34:173:41 | source(...) : Object | Test.java:173:21:173:41 | (...)... : JsonElement | provenance | | +| Test.java:175:20:175:21 | in : JsonElement | Test.java:175:24:175:26 | out [post update] : JsonWriter | provenance | MaD:3 | +| Test.java:175:24:175:26 | out [post update] : JsonWriter | Test.java:176:9:176:11 | out | provenance | | +| Test.java:181:16:181:31 | (...)... : Object | Test.java:183:26:183:27 | in : Object | provenance | | +| Test.java:181:24:181:31 | source(...) : Object | Test.java:181:16:181:31 | (...)... : Object | provenance | | +| Test.java:183:10:183:28 | toJson(...) : String | Test.java:184:9:184:11 | out | provenance | | +| Test.java:183:26:183:27 | in : Object | Test.java:183:10:183:28 | toJson(...) : String | provenance | MaD:5 | +| Test.java:189:16:189:31 | (...)... : Object | Test.java:191:20:191:21 | in : Object | provenance | | +| Test.java:189:24:189:31 | source(...) : Object | Test.java:189:16:189:31 | (...)... : Object | provenance | | +| Test.java:191:20:191:21 | in : Object | Test.java:191:24:191:26 | out [post update] : Appendable | provenance | MaD:6 | +| Test.java:191:24:191:26 | out [post update] : Appendable | Test.java:192:9:192:11 | out | provenance | | +| Test.java:197:16:197:31 | (...)... : Object | Test.java:199:26:199:27 | in : Object | provenance | | +| Test.java:197:24:197:31 | source(...) : Object | Test.java:197:16:197:31 | (...)... : Object | provenance | | +| Test.java:199:10:199:40 | toJson(...) : String | Test.java:200:9:200:11 | out | provenance | | +| Test.java:199:26:199:27 | in : Object | Test.java:199:10:199:40 | toJson(...) : String | provenance | MaD:7 | +| Test.java:205:16:205:31 | (...)... : Object | Test.java:207:20:207:21 | in : Object | provenance | | +| Test.java:205:24:205:31 | source(...) : Object | Test.java:205:16:205:31 | (...)... : Object | provenance | | +| Test.java:207:20:207:21 | in : Object | Test.java:207:36:207:38 | out [post update] : Appendable | provenance | MaD:8 | +| Test.java:207:36:207:38 | out [post update] : Appendable | Test.java:208:9:208:11 | out | provenance | | +| Test.java:213:16:213:31 | (...)... : Object | Test.java:215:20:215:21 | in : Object | provenance | | +| Test.java:213:24:213:31 | source(...) : Object | Test.java:213:16:213:31 | (...)... : Object | provenance | | +| Test.java:215:20:215:21 | in : Object | Test.java:215:36:215:38 | out [post update] : JsonWriter | provenance | MaD:9 | +| Test.java:215:36:215:38 | out [post update] : JsonWriter | Test.java:216:9:216:11 | out | provenance | | +| Test.java:221:16:221:31 | (...)... : Object | Test.java:223:30:223:31 | in : Object | provenance | | +| Test.java:221:24:221:31 | source(...) : Object | Test.java:221:16:221:31 | (...)... : Object | provenance | | +| Test.java:223:10:223:32 | toJsonTree(...) : JsonElement | Test.java:224:9:224:11 | out | provenance | | +| Test.java:223:30:223:31 | in : Object | Test.java:223:10:223:32 | toJsonTree(...) : JsonElement | provenance | MaD:10 | +| Test.java:229:16:229:31 | (...)... : Object | Test.java:231:30:231:31 | in : Object | provenance | | +| Test.java:229:24:229:31 | source(...) : Object | Test.java:229:16:229:31 | (...)... : Object | provenance | | +| Test.java:231:10:231:38 | toJsonTree(...) : JsonElement | Test.java:232:9:232:11 | out | provenance | | +| Test.java:231:30:231:31 | in : Object | Test.java:231:10:231:38 | toJsonTree(...) : JsonElement | provenance | MaD:11 | +| Test.java:237:17:237:33 | (...)... : Boolean | Test.java:238:12:238:13 | in : Boolean | provenance | | +| Test.java:237:26:237:33 | source(...) : Object | Test.java:237:17:237:33 | (...)... : Boolean | provenance | | +| Test.java:238:4:238:6 | out [post update] : JsonArray [] : Object | Test.java:239:20:239:22 | out : JsonArray [] : Object | provenance | | +| Test.java:238:12:238:13 | in : Boolean | Test.java:238:4:238:6 | out [post update] : JsonArray [] : Object | provenance | MaD:23 | +| Test.java:239:20:239:22 | out : JsonArray [] : Object | Test.java:239:9:239:23 | getElement(...) | provenance | MaD:44 | +| Test.java:244:19:244:37 | (...)... : Number | Test.java:245:12:245:13 | in : Number | provenance | | +| Test.java:244:30:244:37 | source(...) : Object | Test.java:244:19:244:37 | (...)... : Number | provenance | | +| Test.java:245:4:245:6 | out [post update] : JsonArray [] : Object | Test.java:246:20:246:22 | out : JsonArray [] : Object | provenance | | +| Test.java:245:12:245:13 | in : Number | Test.java:245:4:245:6 | out [post update] : JsonArray [] : Object | provenance | MaD:24 | +| Test.java:246:20:246:22 | out : JsonArray [] : Object | Test.java:246:9:246:23 | getElement(...) | provenance | MaD:44 | +| Test.java:251:21:251:41 | (...)... : JsonElement | Test.java:252:12:252:13 | in : JsonElement | provenance | | +| Test.java:251:34:251:41 | source(...) : Object | Test.java:251:21:251:41 | (...)... : JsonElement | provenance | | +| Test.java:252:4:252:6 | out [post update] : JsonArray [] : JsonElement | Test.java:253:20:253:22 | out : JsonArray [] : JsonElement | provenance | | +| Test.java:252:12:252:13 | in : JsonElement | Test.java:252:4:252:6 | out [post update] : JsonArray [] : JsonElement | provenance | MaD:25 | +| Test.java:253:20:253:22 | out : JsonArray [] : JsonElement | Test.java:22:19:22:32 | it : JsonArray [] : JsonElement | provenance | | +| Test.java:253:20:253:22 | out : JsonArray [] : JsonElement | Test.java:253:9:253:23 | getElement(...) | provenance | MaD:44 | +| Test.java:258:16:258:31 | (...)... : Number | Test.java:259:12:259:13 | in : Number | provenance | | +| Test.java:258:24:258:31 | source(...) : Object | Test.java:258:16:258:31 | (...)... : Number | provenance | | +| Test.java:259:4:259:6 | out [post update] : JsonArray [] : Object | Test.java:260:20:260:22 | out : JsonArray [] : Object | provenance | | +| Test.java:259:12:259:13 | in : Number | Test.java:259:4:259:6 | out [post update] : JsonArray [] : Object | provenance | MaD:26 | +| Test.java:260:20:260:22 | out : JsonArray [] : Object | Test.java:260:9:260:23 | getElement(...) | provenance | MaD:44 | +| Test.java:265:16:265:31 | (...)... : String | Test.java:266:12:266:13 | in : String | provenance | | +| Test.java:265:24:265:31 | source(...) : Object | Test.java:265:16:265:31 | (...)... : String | provenance | | +| Test.java:266:4:266:6 | out [post update] : JsonArray [] : Object | Test.java:267:20:267:22 | out : JsonArray [] : Object | provenance | | +| Test.java:266:12:266:13 | in : String | Test.java:266:4:266:6 | out [post update] : JsonArray [] : Object | provenance | MaD:27 | +| Test.java:267:20:267:22 | out : JsonArray [] : Object | Test.java:267:9:267:23 | getElement(...) | provenance | MaD:44 | +| Test.java:272:19:272:63 | newWithElementDefault(...) : JsonArray [] : JsonElement | Test.java:273:15:273:16 | in : JsonArray [] : JsonElement | provenance | | +| Test.java:272:41:272:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | provenance | | +| Test.java:272:41:272:62 | (...)... : JsonElement | Test.java:272:19:272:63 | newWithElementDefault(...) : JsonArray [] : JsonElement | provenance | MaD:25 | +| Test.java:272:55:272:62 | source(...) : Object | Test.java:272:41:272:62 | (...)... : JsonElement | provenance | | +| Test.java:273:4:273:6 | out [post update] : JsonArray [] : JsonElement | Test.java:274:20:274:22 | out : JsonArray [] : JsonElement | provenance | | +| Test.java:273:15:273:16 | in : JsonArray [] : JsonElement | Test.java:273:4:273:6 | out [post update] : JsonArray [] : JsonElement | provenance | MaD:28 | +| Test.java:274:20:274:22 | out : JsonArray [] : JsonElement | Test.java:22:19:22:32 | it : JsonArray [] : JsonElement | provenance | | +| Test.java:274:20:274:22 | out : JsonArray [] : JsonElement | Test.java:274:9:274:23 | getElement(...) | provenance | MaD:44 | +| Test.java:279:19:279:63 | newWithElementDefault(...) : JsonArray [] : JsonElement | Test.java:280:10:280:11 | in : JsonArray [] : JsonElement | provenance | | +| Test.java:279:41:279:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | provenance | | +| Test.java:279:41:279:62 | (...)... : JsonElement | Test.java:279:19:279:63 | newWithElementDefault(...) : JsonArray [] : JsonElement | provenance | MaD:25 | +| Test.java:279:55:279:62 | source(...) : Object | Test.java:279:41:279:62 | (...)... : JsonElement | provenance | | +| Test.java:280:10:280:11 | in : JsonArray [] : JsonElement | Test.java:280:10:280:20 | asList(...) : List [] : JsonElement | provenance | MaD:29 | +| Test.java:280:10:280:20 | asList(...) : List [] : JsonElement | Test.java:281:20:281:22 | out : List [] : JsonElement | provenance | | +| Test.java:281:20:281:22 | out : List [] : JsonElement | Test.java:22:19:22:32 | it : List [] : JsonElement | provenance | | +| Test.java:281:20:281:22 | out : List [] : JsonElement | Test.java:281:9:281:23 | getElement(...) | provenance | MaD:44 | +| Test.java:286:19:286:63 | newWithElementDefault(...) : JsonArray [] : JsonElement | Test.java:287:10:287:11 | in : JsonArray [] : JsonElement | provenance | | +| Test.java:286:41:286:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | provenance | | +| Test.java:286:41:286:62 | (...)... : JsonElement | Test.java:286:19:286:63 | newWithElementDefault(...) : JsonArray [] : JsonElement | provenance | MaD:25 | +| Test.java:286:55:286:62 | source(...) : Object | Test.java:286:41:286:62 | (...)... : JsonElement | provenance | | +| Test.java:287:10:287:11 | in : JsonArray [] : JsonElement | Test.java:287:10:287:18 | get(...) : JsonElement | provenance | MaD:30 | +| Test.java:287:10:287:18 | get(...) : JsonElement | Test.java:288:9:288:11 | out | provenance | | +| Test.java:293:21:293:41 | (...)... : JsonElement | Test.java:294:15:294:16 | in : JsonElement | provenance | | +| Test.java:293:34:293:41 | source(...) : Object | Test.java:293:21:293:41 | (...)... : JsonElement | provenance | | +| Test.java:294:4:294:6 | out [post update] : JsonArray [] : JsonElement | Test.java:295:20:295:22 | out : JsonArray [] : JsonElement | provenance | | +| Test.java:294:15:294:16 | in : JsonElement | Test.java:294:4:294:6 | out [post update] : JsonArray [] : JsonElement | provenance | MaD:31 | +| Test.java:295:20:295:22 | out : JsonArray [] : JsonElement | Test.java:22:19:22:32 | it : JsonArray [] : JsonElement | provenance | | +| Test.java:295:20:295:22 | out : JsonArray [] : JsonElement | Test.java:295:9:295:23 | getElement(...) | provenance | MaD:44 | +| Test.java:300:19:300:37 | (...)... : JsonArray | Test.java:301:10:301:11 | in : JsonArray | provenance | | +| Test.java:300:30:300:37 | source(...) : Object | Test.java:300:19:300:37 | (...)... : JsonArray | provenance | | +| Test.java:301:10:301:11 | in : JsonArray | Test.java:301:10:301:23 | getAsByte(...) : Number | provenance | MaD:16 | +| Test.java:301:10:301:23 | getAsByte(...) : Number | Test.java:302:9:302:11 | out | provenance | | +| Test.java:307:21:307:41 | (...)... : JsonElement | Test.java:308:10:308:11 | in : JsonElement | provenance | | +| Test.java:307:34:307:41 | source(...) : Object | Test.java:307:21:307:41 | (...)... : JsonElement | provenance | | +| Test.java:308:10:308:11 | in : JsonElement | Test.java:308:10:308:23 | getAsByte(...) : Number | provenance | MaD:16 | +| Test.java:308:10:308:23 | getAsByte(...) : Number | Test.java:309:9:309:11 | out | provenance | | +| Test.java:314:23:314:45 | (...)... : JsonPrimitive | Test.java:315:10:315:11 | in : JsonPrimitive | provenance | | +| Test.java:314:38:314:45 | source(...) : Object | Test.java:314:23:314:45 | (...)... : JsonPrimitive | provenance | | +| Test.java:315:10:315:11 | in : JsonPrimitive | Test.java:315:10:315:23 | getAsByte(...) : Number | provenance | MaD:16 | +| Test.java:315:10:315:23 | getAsByte(...) : Number | Test.java:316:9:316:11 | out | provenance | | +| Test.java:321:19:321:37 | (...)... : JsonArray | Test.java:322:10:322:11 | in : JsonArray | provenance | | +| Test.java:321:30:321:37 | source(...) : Object | Test.java:321:19:321:37 | (...)... : JsonArray | provenance | | +| Test.java:322:10:322:11 | in : JsonArray | Test.java:322:10:322:28 | getAsCharacter(...) : Number | provenance | MaD:17 | +| Test.java:322:10:322:28 | getAsCharacter(...) : Number | Test.java:323:9:323:11 | out | provenance | | +| Test.java:328:21:328:41 | (...)... : JsonElement | Test.java:329:10:329:11 | in : JsonElement | provenance | | +| Test.java:328:34:328:41 | source(...) : Object | Test.java:328:21:328:41 | (...)... : JsonElement | provenance | | +| Test.java:329:10:329:11 | in : JsonElement | Test.java:329:10:329:28 | getAsCharacter(...) : Number | provenance | MaD:17 | +| Test.java:329:10:329:28 | getAsCharacter(...) : Number | Test.java:330:9:330:11 | out | provenance | | +| Test.java:335:23:335:45 | (...)... : JsonPrimitive | Test.java:336:10:336:11 | in : JsonPrimitive | provenance | | +| Test.java:335:38:335:45 | source(...) : Object | Test.java:335:23:335:45 | (...)... : JsonPrimitive | provenance | | +| Test.java:336:10:336:11 | in : JsonPrimitive | Test.java:336:10:336:28 | getAsCharacter(...) : Number | provenance | MaD:17 | +| Test.java:336:10:336:28 | getAsCharacter(...) : Number | Test.java:337:9:337:11 | out | provenance | | +| Test.java:342:21:342:41 | (...)... : JsonElement | Test.java:343:10:343:11 | in : JsonElement | provenance | | +| Test.java:342:34:342:41 | source(...) : Object | Test.java:342:21:342:41 | (...)... : JsonElement | provenance | | +| Test.java:343:10:343:11 | in : JsonElement | Test.java:343:10:343:28 | getAsJsonArray(...) : JsonArray | provenance | MaD:18 | +| Test.java:343:10:343:28 | getAsJsonArray(...) : JsonArray | Test.java:344:9:344:11 | out | provenance | | +| Test.java:349:21:349:41 | (...)... : JsonElement | Test.java:350:10:350:11 | in : JsonElement | provenance | | +| Test.java:349:34:349:41 | source(...) : Object | Test.java:349:21:349:41 | (...)... : JsonElement | provenance | | +| Test.java:350:10:350:11 | in : JsonElement | Test.java:350:10:350:29 | getAsJsonObject(...) : JsonObject | provenance | MaD:19 | +| Test.java:350:10:350:29 | getAsJsonObject(...) : JsonObject | Test.java:351:9:351:11 | out | provenance | | +| Test.java:356:21:356:41 | (...)... : JsonElement | Test.java:357:10:357:11 | in : JsonElement | provenance | | +| Test.java:356:34:356:41 | source(...) : Object | Test.java:356:21:356:41 | (...)... : JsonElement | provenance | | +| Test.java:357:10:357:11 | in : JsonElement | Test.java:357:10:357:32 | getAsJsonPrimitive(...) : JsonPrimitive | provenance | MaD:20 | +| Test.java:357:10:357:32 | getAsJsonPrimitive(...) : JsonPrimitive | Test.java:358:9:358:11 | out | provenance | | +| Test.java:363:19:363:37 | (...)... : JsonArray | Test.java:364:10:364:11 | in : JsonArray | provenance | | +| Test.java:363:30:363:37 | source(...) : Object | Test.java:363:19:363:37 | (...)... : JsonArray | provenance | | +| Test.java:364:10:364:11 | in : JsonArray | Test.java:364:10:364:25 | getAsString(...) : String | provenance | MaD:21 | +| Test.java:364:10:364:25 | getAsString(...) : String | Test.java:365:9:365:11 | out | provenance | | +| Test.java:370:21:370:41 | (...)... : JsonElement | Test.java:371:10:371:11 | in : JsonElement | provenance | | +| Test.java:370:34:370:41 | source(...) : Object | Test.java:370:21:370:41 | (...)... : JsonElement | provenance | | +| Test.java:371:10:371:11 | in : JsonElement | Test.java:371:10:371:25 | getAsString(...) : String | provenance | MaD:21 | +| Test.java:371:10:371:25 | getAsString(...) : String | Test.java:372:9:372:11 | out | provenance | | +| Test.java:377:23:377:45 | (...)... : JsonPrimitive | Test.java:378:10:378:11 | in : JsonPrimitive | provenance | | +| Test.java:377:38:377:45 | source(...) : Object | Test.java:377:23:377:45 | (...)... : JsonPrimitive | provenance | | +| Test.java:378:10:378:11 | in : JsonPrimitive | Test.java:378:10:378:25 | getAsString(...) : String | provenance | MaD:21 | +| Test.java:378:10:378:25 | getAsString(...) : String | Test.java:379:9:379:11 | out | provenance | | +| Test.java:384:21:384:41 | (...)... : JsonElement | Test.java:385:10:385:11 | in : JsonElement | provenance | | +| Test.java:384:34:384:41 | source(...) : Object | Test.java:384:21:384:41 | (...)... : JsonElement | provenance | | +| Test.java:385:10:385:11 | in : JsonElement | Test.java:385:10:385:22 | toString(...) : String | provenance | MaD:22 | +| Test.java:385:10:385:22 | toString(...) : String | Test.java:386:9:386:11 | out | provenance | | +| Test.java:391:16:391:31 | (...)... : String | Test.java:392:12:392:13 | in : String | provenance | | +| Test.java:391:24:391:31 | source(...) : Object | Test.java:391:16:391:31 | (...)... : String | provenance | | +| Test.java:392:4:392:6 | out [post update] : JsonObject [] : String | Test.java:393:26:393:28 | out : JsonObject [] : String | provenance | | +| Test.java:392:12:392:13 | in : String | Test.java:392:4:392:6 | out [post update] : JsonObject [] : String | provenance | MaD:32 | +| Test.java:393:26:393:28 | out : JsonObject [] : String | Test.java:24:26:24:45 | container : JsonObject [] : String | provenance | | +| Test.java:393:26:393:28 | out : JsonObject [] : String | Test.java:393:9:393:29 | getMapKeyDefault(...) | provenance | MaD:41 | +| Test.java:398:21:398:41 | (...)... : JsonElement | Test.java:399:18:399:19 | in : JsonElement | provenance | | +| Test.java:398:34:398:41 | source(...) : Object | Test.java:398:21:398:41 | (...)... : JsonElement | provenance | | +| Test.java:399:4:399:6 | out [post update] : JsonObject [] : JsonElement | Test.java:400:28:400:30 | out : JsonObject [] : JsonElement | provenance | | +| Test.java:399:18:399:19 | in : JsonElement | Test.java:399:4:399:6 | out [post update] : JsonObject [] : JsonElement | provenance | MaD:33 | +| Test.java:400:28:400:30 | out : JsonObject [] : JsonElement | Test.java:26:33:26:52 | container : JsonObject [] : JsonElement | provenance | | +| Test.java:400:28:400:30 | out : JsonObject [] : JsonElement | Test.java:400:9:400:31 | getMapValueDefault(...) | provenance | MaD:40 | +| Test.java:405:16:405:31 | (...)... : String | Test.java:406:20:406:21 | in : String | provenance | | +| Test.java:405:24:405:31 | source(...) : Object | Test.java:405:16:405:31 | (...)... : String | provenance | | +| Test.java:406:4:406:6 | out [post update] : JsonObject [] : String | Test.java:407:26:407:28 | out : JsonObject [] : String | provenance | | +| Test.java:406:20:406:21 | in : String | Test.java:406:4:406:6 | out [post update] : JsonObject [] : String | provenance | MaD:34 | +| Test.java:407:26:407:28 | out : JsonObject [] : String | Test.java:24:26:24:45 | container : JsonObject [] : String | provenance | | +| Test.java:407:26:407:28 | out : JsonObject [] : String | Test.java:407:9:407:29 | getMapKeyDefault(...) | provenance | MaD:41 | +| Test.java:412:16:412:31 | (...)... : String | Test.java:413:34:413:35 | in : String | provenance | | +| Test.java:412:24:412:31 | source(...) : Object | Test.java:412:16:412:31 | (...)... : String | provenance | | +| Test.java:413:4:413:6 | out [post update] : JsonObject [] : Object | Test.java:414:28:414:30 | out : JsonObject [] : Object | provenance | | +| Test.java:413:34:413:35 | in : String | Test.java:413:4:413:6 | out [post update] : JsonObject [] : Object | provenance | MaD:35 | +| Test.java:414:28:414:30 | out : JsonObject [] : Object | Test.java:26:33:26:52 | container : JsonObject [] : Object | provenance | | +| Test.java:414:28:414:30 | out : JsonObject [] : Object | Test.java:414:9:414:31 | getMapValueDefault(...) | provenance | MaD:40 | +| Test.java:419:20:419:58 | newWithMapKeyDefault(...) : JsonObject [] : String | Test.java:420:10:420:11 | in : JsonObject [] : String | provenance | | +| Test.java:419:41:419:57 | (...)... : String | Test.java:29:34:29:43 | key : String | provenance | | +| Test.java:419:41:419:57 | (...)... : String | Test.java:419:20:419:58 | newWithMapKeyDefault(...) : JsonObject [] : String | provenance | MaD:32 | +| Test.java:419:50:419:57 | source(...) : Object | Test.java:419:41:419:57 | (...)... : String | provenance | | +| Test.java:420:10:420:11 | in : JsonObject [] : String | Test.java:420:10:420:19 | asMap(...) : Map [] : String | provenance | MaD:36 | +| Test.java:420:10:420:19 | asMap(...) : Map [] : String | Test.java:421:19:421:21 | out : Map [] : String | provenance | | +| Test.java:421:19:421:21 | out : Map [] : String | Test.java:21:18:21:29 | map : Map [] : String | provenance | | +| Test.java:421:19:421:21 | out : Map [] : String | Test.java:421:9:421:22 | getMapKey(...) | provenance | MaD:47 | +| Test.java:426:20:426:65 | newWithMapValueDefault(...) : JsonObject [] : JsonElement | Test.java:427:10:427:11 | in : JsonObject [] : JsonElement | provenance | | +| Test.java:426:43:426:64 | (...)... : JsonElement | Test.java:30:36:30:54 | element : JsonElement | provenance | | +| Test.java:426:43:426:64 | (...)... : JsonElement | Test.java:426:20:426:65 | newWithMapValueDefault(...) : JsonObject [] : JsonElement | provenance | MaD:33 | +| Test.java:426:57:426:64 | source(...) : Object | Test.java:426:43:426:64 | (...)... : JsonElement | provenance | | +| Test.java:427:10:427:11 | in : JsonObject [] : JsonElement | Test.java:427:10:427:19 | asMap(...) : Map [] : JsonElement | provenance | MaD:37 | +| Test.java:427:10:427:19 | asMap(...) : Map [] : JsonElement | Test.java:428:21:428:23 | out : Map [] : JsonElement | provenance | | +| Test.java:428:21:428:23 | out : Map [] : JsonElement | Test.java:23:20:23:31 | map : Map [] : JsonElement | provenance | | +| Test.java:428:21:428:23 | out : Map [] : JsonElement | Test.java:428:9:428:24 | getMapValue(...) | provenance | MaD:46 | +| Test.java:433:20:433:58 | newWithMapKeyDefault(...) : JsonObject [] : String | Test.java:434:10:434:11 | in : JsonObject [] : String | provenance | | +| Test.java:433:41:433:57 | (...)... : String | Test.java:29:34:29:43 | key : String | provenance | | +| Test.java:433:41:433:57 | (...)... : String | Test.java:433:20:433:58 | newWithMapKeyDefault(...) : JsonObject [] : String | provenance | MaD:32 | +| Test.java:433:50:433:57 | source(...) : Object | Test.java:433:41:433:57 | (...)... : String | provenance | | +| Test.java:434:10:434:11 | in : JsonObject [] : String | Test.java:434:10:434:22 | entrySet(...) : Set [, ] : String | provenance | MaD:38 | +| Test.java:434:10:434:22 | entrySet(...) : Set [, ] : String | Test.java:435:37:435:39 | out : Set [, ] : String | provenance | | +| Test.java:435:26:435:40 | getElement(...) : Entry [] : String | Test.java:25:25:25:48 | container : Entry [] : String | provenance | | +| Test.java:435:26:435:40 | getElement(...) : Entry [] : String | Test.java:435:9:435:41 | getMapKeyDefault(...) | provenance | MaD:48 | +| Test.java:435:37:435:39 | out : Set [, ] : String | Test.java:435:26:435:40 | getElement(...) : Entry [] : String | provenance | MaD:44 | +| Test.java:440:20:440:65 | newWithMapValueDefault(...) : JsonObject [] : JsonElement | Test.java:441:10:441:11 | in : JsonObject [] : JsonElement | provenance | | +| Test.java:440:43:440:64 | (...)... : JsonElement | Test.java:30:36:30:54 | element : JsonElement | provenance | | +| Test.java:440:43:440:64 | (...)... : JsonElement | Test.java:440:20:440:65 | newWithMapValueDefault(...) : JsonObject [] : JsonElement | provenance | MaD:33 | +| Test.java:440:57:440:64 | source(...) : Object | Test.java:440:43:440:64 | (...)... : JsonElement | provenance | | +| Test.java:441:10:441:11 | in : JsonObject [] : JsonElement | Test.java:441:10:441:22 | entrySet(...) : Set [, ] : JsonElement | provenance | MaD:39 | +| Test.java:441:10:441:22 | entrySet(...) : Set [, ] : JsonElement | Test.java:442:39:442:41 | out : Set [, ] : JsonElement | provenance | | +| Test.java:442:28:442:42 | getElement(...) : Entry [] : JsonElement | Test.java:27:28:27:51 | container : Entry [] : JsonElement | provenance | | +| Test.java:442:28:442:42 | getElement(...) : Entry [] : JsonElement | Test.java:442:9:442:43 | getMapValueDefault(...) | provenance | MaD:49 | +| Test.java:442:39:442:41 | out : Set [, ] : JsonElement | Test.java:442:28:442:42 | getElement(...) : Entry [] : JsonElement | provenance | MaD:44 | +| Test.java:447:20:447:65 | newWithMapValueDefault(...) : JsonObject [] : JsonElement | Test.java:448:10:448:11 | in : JsonObject [] : JsonElement | provenance | | +| Test.java:447:43:447:64 | (...)... : JsonElement | Test.java:30:36:30:54 | element : JsonElement | provenance | | +| Test.java:447:43:447:64 | (...)... : JsonElement | Test.java:447:20:447:65 | newWithMapValueDefault(...) : JsonObject [] : JsonElement | provenance | MaD:33 | +| Test.java:447:57:447:64 | source(...) : Object | Test.java:447:43:447:64 | (...)... : JsonElement | provenance | | +| Test.java:448:10:448:11 | in : JsonObject [] : JsonElement | Test.java:448:10:448:21 | get(...) : JsonElement | provenance | MaD:40 | +| Test.java:448:10:448:21 | get(...) : JsonElement | Test.java:449:9:449:11 | out | provenance | | +| Test.java:454:20:454:58 | newWithMapKeyDefault(...) : JsonObject [] : String | Test.java:455:10:455:11 | in : JsonObject [] : String | provenance | | +| Test.java:454:41:454:57 | (...)... : String | Test.java:29:34:29:43 | key : String | provenance | | +| Test.java:454:41:454:57 | (...)... : String | Test.java:454:20:454:58 | newWithMapKeyDefault(...) : JsonObject [] : String | provenance | MaD:32 | +| Test.java:454:50:454:57 | source(...) : Object | Test.java:454:41:454:57 | (...)... : String | provenance | | +| Test.java:455:10:455:11 | in : JsonObject [] : String | Test.java:455:10:455:20 | keySet(...) : Set [] : String | provenance | MaD:41 | +| Test.java:455:10:455:20 | keySet(...) : Set [] : String | Test.java:456:20:456:22 | out : Set [] : String | provenance | | +| Test.java:456:20:456:22 | out : Set [] : String | Test.java:22:19:22:32 | it : Set [] : String | provenance | | +| Test.java:456:20:456:22 | out : Set [] : String | Test.java:456:9:456:23 | getElement(...) | provenance | MaD:44 | +| Test.java:461:19:461:37 | (...)... : Number | Test.java:462:28:462:29 | in : Number | provenance | | +| Test.java:461:30:461:37 | source(...) : Object | Test.java:461:19:461:37 | (...)... : Number | provenance | | +| Test.java:462:10:462:30 | new JsonPrimitive(...) : JsonPrimitive | Test.java:463:9:463:11 | out | provenance | | +| Test.java:462:28:462:29 | in : Number | Test.java:462:10:462:30 | new JsonPrimitive(...) : JsonPrimitive | provenance | MaD:42 | +| Test.java:468:16:468:31 | (...)... : String | Test.java:469:28:469:29 | in : String | provenance | | +| Test.java:468:24:468:31 | source(...) : Object | Test.java:468:16:468:31 | (...)... : String | provenance | | +| Test.java:469:10:469:30 | new JsonPrimitive(...) : JsonPrimitive | Test.java:470:9:470:11 | out | provenance | | +| Test.java:469:28:469:29 | in : String | Test.java:469:10:469:30 | new JsonPrimitive(...) : JsonPrimitive | provenance | MaD:43 | +nodes +| Test.java:21:18:21:29 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:21:41:21:43 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:21:41:21:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:21:41:21:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:21:41:21:70 | next(...) : String | semmle.label | next(...) : String | +| Test.java:22:19:22:32 | it : JsonArray [] : JsonElement | semmle.label | it : JsonArray [] : JsonElement | +| Test.java:22:19:22:32 | it : List [] : JsonElement | semmle.label | it : List [] : JsonElement | +| Test.java:22:19:22:32 | it : Set [] : String | semmle.label | it : Set [] : String | +| Test.java:22:44:22:45 | it : JsonArray [] : JsonElement | semmle.label | it : JsonArray [] : JsonElement | +| Test.java:22:44:22:45 | it : List [] : JsonElement | semmle.label | it : List [] : JsonElement | +| Test.java:22:44:22:45 | it : Set [] : String | semmle.label | it : Set [] : String | +| Test.java:22:44:22:56 | iterator(...) : Iterator [] : JsonElement | semmle.label | iterator(...) : Iterator [] : JsonElement | +| Test.java:22:44:22:56 | iterator(...) : Iterator [] : JsonElement | semmle.label | iterator(...) : Iterator [] : JsonElement | +| Test.java:22:44:22:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:22:44:22:63 | next(...) : JsonElement | semmle.label | next(...) : JsonElement | +| Test.java:22:44:22:63 | next(...) : JsonElement | semmle.label | next(...) : JsonElement | +| Test.java:22:44:22:63 | next(...) : String | semmle.label | next(...) : String | +| Test.java:23:20:23:31 | map : Map [] : JsonElement | semmle.label | map : Map [] : JsonElement | +| Test.java:23:43:23:45 | map : Map [] : JsonElement | semmle.label | map : Map [] : JsonElement | +| Test.java:23:43:23:55 | get(...) : JsonElement | semmle.label | get(...) : JsonElement | +| Test.java:24:26:24:45 | container : JsonObject [] : String | semmle.label | container : JsonObject [] : String | +| Test.java:24:57:24:65 | container : JsonObject [] : String | semmle.label | container : JsonObject [] : String | +| Test.java:24:57:24:74 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:24:57:24:85 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:24:57:24:92 | next(...) : String | semmle.label | next(...) : String | +| Test.java:25:25:25:48 | container : Entry [] : String | semmle.label | container : Entry [] : String | +| Test.java:25:60:25:68 | container : Entry [] : String | semmle.label | container : Entry [] : String | +| Test.java:25:60:25:77 | getKey(...) : String | semmle.label | getKey(...) : String | +| Test.java:26:33:26:52 | container : JsonObject [] : JsonElement | semmle.label | container : JsonObject [] : JsonElement | +| Test.java:26:33:26:52 | container : JsonObject [] : Object | semmle.label | container : JsonObject [] : Object | +| Test.java:26:64:26:72 | container : JsonObject [] : JsonElement | semmle.label | container : JsonObject [] : JsonElement | +| Test.java:26:64:26:72 | container : JsonObject [] : Object | semmle.label | container : JsonObject [] : Object | +| Test.java:26:64:26:82 | get(...) : JsonElement | semmle.label | get(...) : JsonElement | +| Test.java:26:64:26:82 | get(...) : JsonElement | semmle.label | get(...) : JsonElement | +| Test.java:27:28:27:51 | container : Entry [] : JsonElement | semmle.label | container : Entry [] : JsonElement | +| Test.java:27:63:27:71 | container : Entry [] : JsonElement | semmle.label | container : Entry [] : JsonElement | +| Test.java:27:63:27:82 | getValue(...) : JsonElement | semmle.label | getValue(...) : JsonElement | +| Test.java:28:34:28:52 | element : JsonElement | semmle.label | element : JsonElement | +| Test.java:28:88:28:88 | a [post update] : JsonArray [] : JsonElement | semmle.label | a [post update] : JsonArray [] : JsonElement | +| Test.java:28:94:28:100 | element : JsonElement | semmle.label | element : JsonElement | +| Test.java:28:111:28:111 | a : JsonArray [] : JsonElement | semmle.label | a : JsonArray [] : JsonElement | +| Test.java:29:34:29:43 | key : String | semmle.label | key : String | +| Test.java:29:81:29:81 | o [post update] : JsonObject [] : String | semmle.label | o [post update] : JsonObject [] : String | +| Test.java:29:87:29:89 | key : String | semmle.label | key : String | +| Test.java:29:120:29:120 | o : JsonObject [] : String | semmle.label | o : JsonObject [] : String | +| Test.java:30:36:30:54 | element : JsonElement | semmle.label | element : JsonElement | +| Test.java:30:92:30:92 | o [post update] : JsonObject [] : JsonElement | semmle.label | o [post update] : JsonObject [] : JsonElement | +| Test.java:30:104:30:110 | element : JsonElement | semmle.label | element : JsonElement | +| Test.java:30:121:30:121 | o : JsonObject [] : JsonElement | semmle.label | o : JsonObject [] : JsonElement | +| Test.java:39:20:39:39 | (...)... : JsonReader | semmle.label | (...)... : JsonReader | +| Test.java:39:32:39:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:40:10:40:11 | in : JsonReader | semmle.label | in : JsonReader | +| Test.java:40:10:40:22 | nextName(...) : String | semmle.label | nextName(...) : String | +| Test.java:41:9:41:11 | out | semmle.label | out | +| Test.java:46:20:46:39 | (...)... : JsonReader | semmle.label | (...)... : JsonReader | +| Test.java:46:32:46:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:47:10:47:11 | in : JsonReader | semmle.label | in : JsonReader | +| Test.java:47:10:47:24 | nextString(...) : String | semmle.label | nextString(...) : String | +| Test.java:48:9:48:11 | out | semmle.label | out | +| Test.java:53:21:53:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:53:34:53:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:55:10:55:43 | fromJson(...) : Object | semmle.label | fromJson(...) : Object | +| Test.java:55:28:55:29 | in : JsonElement | semmle.label | in : JsonElement | +| Test.java:56:9:56:11 | out | semmle.label | out | +| Test.java:61:21:61:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:61:34:61:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:63:10:63:42 | fromJson(...) : Object | semmle.label | fromJson(...) : Object | +| Test.java:63:28:63:29 | in : JsonElement | semmle.label | in : JsonElement | +| Test.java:64:9:64:11 | out | semmle.label | out | +| Test.java:69:21:69:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:69:34:69:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:71:10:71:47 | fromJson(...) : Object | semmle.label | fromJson(...) : Object | +| Test.java:71:28:71:29 | in : JsonElement | semmle.label | in : JsonElement | +| Test.java:72:9:72:11 | out | semmle.label | out | +| Test.java:77:20:77:39 | (...)... : JsonReader | semmle.label | (...)... : JsonReader | +| Test.java:77:32:77:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:79:10:79:42 | fromJson(...) : Object | semmle.label | fromJson(...) : Object | +| Test.java:79:28:79:29 | in : JsonReader | semmle.label | in : JsonReader | +| Test.java:80:9:80:11 | out | semmle.label | out | +| Test.java:85:20:85:39 | (...)... : JsonReader | semmle.label | (...)... : JsonReader | +| Test.java:85:32:85:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:87:10:87:47 | fromJson(...) : Object | semmle.label | fromJson(...) : Object | +| Test.java:87:28:87:29 | in : JsonReader | semmle.label | in : JsonReader | +| Test.java:88:9:88:11 | out | semmle.label | out | +| Test.java:93:16:93:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:93:24:93:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:95:10:95:43 | fromJson(...) : Object | semmle.label | fromJson(...) : Object | +| Test.java:95:28:95:29 | in : Reader | semmle.label | in : Reader | +| Test.java:96:9:96:11 | out | semmle.label | out | +| Test.java:101:16:101:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:101:24:101:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:103:10:103:42 | fromJson(...) : Object | semmle.label | fromJson(...) : Object | +| Test.java:103:28:103:29 | in : Reader | semmle.label | in : Reader | +| Test.java:104:9:104:11 | out | semmle.label | out | +| Test.java:109:16:109:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:109:24:109:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:111:10:111:47 | fromJson(...) : Object | semmle.label | fromJson(...) : Object | +| Test.java:111:28:111:29 | in : Reader | semmle.label | in : Reader | +| Test.java:112:9:112:11 | out | semmle.label | out | +| Test.java:117:16:117:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:117:24:117:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:119:10:119:43 | fromJson(...) : Object | semmle.label | fromJson(...) : Object | +| Test.java:119:28:119:29 | in : String | semmle.label | in : String | +| Test.java:120:9:120:11 | out | semmle.label | out | +| Test.java:125:16:125:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:125:24:125:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:127:10:127:42 | fromJson(...) : Object | semmle.label | fromJson(...) : Object | +| Test.java:127:28:127:29 | in : String | semmle.label | in : String | +| Test.java:128:9:128:11 | out | semmle.label | out | +| Test.java:133:16:133:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:133:24:133:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:135:10:135:47 | fromJson(...) : Object | semmle.label | fromJson(...) : Object | +| Test.java:135:28:135:29 | in : String | semmle.label | in : String | +| Test.java:136:9:136:11 | out | semmle.label | out | +| Test.java:141:16:141:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:141:24:141:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:143:10:143:35 | newJsonReader(...) : JsonReader | semmle.label | newJsonReader(...) : JsonReader | +| Test.java:143:33:143:34 | in : Reader | semmle.label | in : Reader | +| Test.java:144:9:144:11 | out | semmle.label | out | +| Test.java:149:16:149:31 | (...)... : Writer | semmle.label | (...)... : Writer | +| Test.java:149:24:149:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:151:10:151:35 | newJsonWriter(...) : JsonWriter | semmle.label | newJsonWriter(...) : JsonWriter | +| Test.java:151:33:151:34 | in : Writer | semmle.label | in : Writer | +| Test.java:152:9:152:11 | out | semmle.label | out | +| Test.java:157:21:157:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:157:34:157:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:159:10:159:28 | toJson(...) : String | semmle.label | toJson(...) : String | +| Test.java:159:26:159:27 | in : JsonElement | semmle.label | in : JsonElement | +| Test.java:160:9:160:11 | out | semmle.label | out | +| Test.java:165:21:165:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:165:34:165:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:167:20:167:21 | in : JsonElement | semmle.label | in : JsonElement | +| Test.java:167:24:167:26 | out [post update] : Appendable | semmle.label | out [post update] : Appendable | +| Test.java:168:9:168:11 | out | semmle.label | out | +| Test.java:173:21:173:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:173:34:173:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:175:20:175:21 | in : JsonElement | semmle.label | in : JsonElement | +| Test.java:175:24:175:26 | out [post update] : JsonWriter | semmle.label | out [post update] : JsonWriter | +| Test.java:176:9:176:11 | out | semmle.label | out | +| Test.java:181:16:181:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:181:24:181:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:183:10:183:28 | toJson(...) : String | semmle.label | toJson(...) : String | +| Test.java:183:26:183:27 | in : Object | semmle.label | in : Object | +| Test.java:184:9:184:11 | out | semmle.label | out | +| Test.java:189:16:189:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:189:24:189:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:191:20:191:21 | in : Object | semmle.label | in : Object | +| Test.java:191:24:191:26 | out [post update] : Appendable | semmle.label | out [post update] : Appendable | +| Test.java:192:9:192:11 | out | semmle.label | out | +| Test.java:197:16:197:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:197:24:197:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:199:10:199:40 | toJson(...) : String | semmle.label | toJson(...) : String | +| Test.java:199:26:199:27 | in : Object | semmle.label | in : Object | +| Test.java:200:9:200:11 | out | semmle.label | out | +| Test.java:205:16:205:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:205:24:205:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:207:20:207:21 | in : Object | semmle.label | in : Object | +| Test.java:207:36:207:38 | out [post update] : Appendable | semmle.label | out [post update] : Appendable | +| Test.java:208:9:208:11 | out | semmle.label | out | +| Test.java:213:16:213:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:213:24:213:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:215:20:215:21 | in : Object | semmle.label | in : Object | +| Test.java:215:36:215:38 | out [post update] : JsonWriter | semmle.label | out [post update] : JsonWriter | +| Test.java:216:9:216:11 | out | semmle.label | out | +| Test.java:221:16:221:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:221:24:221:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:223:10:223:32 | toJsonTree(...) : JsonElement | semmle.label | toJsonTree(...) : JsonElement | +| Test.java:223:30:223:31 | in : Object | semmle.label | in : Object | +| Test.java:224:9:224:11 | out | semmle.label | out | +| Test.java:229:16:229:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:229:24:229:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:231:10:231:38 | toJsonTree(...) : JsonElement | semmle.label | toJsonTree(...) : JsonElement | +| Test.java:231:30:231:31 | in : Object | semmle.label | in : Object | +| Test.java:232:9:232:11 | out | semmle.label | out | +| Test.java:237:17:237:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:237:26:237:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:238:4:238:6 | out [post update] : JsonArray [] : Object | semmle.label | out [post update] : JsonArray [] : Object | +| Test.java:238:12:238:13 | in : Boolean | semmle.label | in : Boolean | +| Test.java:239:9:239:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:239:20:239:22 | out : JsonArray [] : Object | semmle.label | out : JsonArray [] : Object | +| Test.java:244:19:244:37 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:244:30:244:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:245:4:245:6 | out [post update] : JsonArray [] : Object | semmle.label | out [post update] : JsonArray [] : Object | +| Test.java:245:12:245:13 | in : Number | semmle.label | in : Number | +| Test.java:246:9:246:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:246:20:246:22 | out : JsonArray [] : Object | semmle.label | out : JsonArray [] : Object | +| Test.java:251:21:251:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:251:34:251:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:252:4:252:6 | out [post update] : JsonArray [] : JsonElement | semmle.label | out [post update] : JsonArray [] : JsonElement | +| Test.java:252:12:252:13 | in : JsonElement | semmle.label | in : JsonElement | +| Test.java:253:9:253:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:253:20:253:22 | out : JsonArray [] : JsonElement | semmle.label | out : JsonArray [] : JsonElement | +| Test.java:258:16:258:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:258:24:258:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:259:4:259:6 | out [post update] : JsonArray [] : Object | semmle.label | out [post update] : JsonArray [] : Object | +| Test.java:259:12:259:13 | in : Number | semmle.label | in : Number | +| Test.java:260:9:260:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:260:20:260:22 | out : JsonArray [] : Object | semmle.label | out : JsonArray [] : Object | +| Test.java:265:16:265:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:265:24:265:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:266:4:266:6 | out [post update] : JsonArray [] : Object | semmle.label | out [post update] : JsonArray [] : Object | +| Test.java:266:12:266:13 | in : String | semmle.label | in : String | +| Test.java:267:9:267:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:267:20:267:22 | out : JsonArray [] : Object | semmle.label | out : JsonArray [] : Object | +| Test.java:272:19:272:63 | newWithElementDefault(...) : JsonArray [] : JsonElement | semmle.label | newWithElementDefault(...) : JsonArray [] : JsonElement | +| Test.java:272:41:272:62 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:272:55:272:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:273:4:273:6 | out [post update] : JsonArray [] : JsonElement | semmle.label | out [post update] : JsonArray [] : JsonElement | +| Test.java:273:15:273:16 | in : JsonArray [] : JsonElement | semmle.label | in : JsonArray [] : JsonElement | +| Test.java:274:9:274:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:274:20:274:22 | out : JsonArray [] : JsonElement | semmle.label | out : JsonArray [] : JsonElement | +| Test.java:279:19:279:63 | newWithElementDefault(...) : JsonArray [] : JsonElement | semmle.label | newWithElementDefault(...) : JsonArray [] : JsonElement | +| Test.java:279:41:279:62 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:279:55:279:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:280:10:280:11 | in : JsonArray [] : JsonElement | semmle.label | in : JsonArray [] : JsonElement | +| Test.java:280:10:280:20 | asList(...) : List [] : JsonElement | semmle.label | asList(...) : List [] : JsonElement | +| Test.java:281:9:281:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:281:20:281:22 | out : List [] : JsonElement | semmle.label | out : List [] : JsonElement | +| Test.java:286:19:286:63 | newWithElementDefault(...) : JsonArray [] : JsonElement | semmle.label | newWithElementDefault(...) : JsonArray [] : JsonElement | +| Test.java:286:41:286:62 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:286:55:286:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:287:10:287:11 | in : JsonArray [] : JsonElement | semmle.label | in : JsonArray [] : JsonElement | +| Test.java:287:10:287:18 | get(...) : JsonElement | semmle.label | get(...) : JsonElement | +| Test.java:288:9:288:11 | out | semmle.label | out | +| Test.java:293:21:293:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:293:34:293:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:294:4:294:6 | out [post update] : JsonArray [] : JsonElement | semmle.label | out [post update] : JsonArray [] : JsonElement | +| Test.java:294:15:294:16 | in : JsonElement | semmle.label | in : JsonElement | +| Test.java:295:9:295:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:295:20:295:22 | out : JsonArray [] : JsonElement | semmle.label | out : JsonArray [] : JsonElement | +| Test.java:300:19:300:37 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:300:30:300:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:301:10:301:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:301:10:301:23 | getAsByte(...) : Number | semmle.label | getAsByte(...) : Number | +| Test.java:302:9:302:11 | out | semmle.label | out | +| Test.java:307:21:307:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:307:34:307:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:308:10:308:11 | in : JsonElement | semmle.label | in : JsonElement | +| Test.java:308:10:308:23 | getAsByte(...) : Number | semmle.label | getAsByte(...) : Number | +| Test.java:309:9:309:11 | out | semmle.label | out | +| Test.java:314:23:314:45 | (...)... : JsonPrimitive | semmle.label | (...)... : JsonPrimitive | +| Test.java:314:38:314:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:315:10:315:11 | in : JsonPrimitive | semmle.label | in : JsonPrimitive | +| Test.java:315:10:315:23 | getAsByte(...) : Number | semmle.label | getAsByte(...) : Number | +| Test.java:316:9:316:11 | out | semmle.label | out | +| Test.java:321:19:321:37 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:321:30:321:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:322:10:322:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:322:10:322:28 | getAsCharacter(...) : Number | semmle.label | getAsCharacter(...) : Number | +| Test.java:323:9:323:11 | out | semmle.label | out | +| Test.java:328:21:328:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:328:34:328:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:329:10:329:11 | in : JsonElement | semmle.label | in : JsonElement | +| Test.java:329:10:329:28 | getAsCharacter(...) : Number | semmle.label | getAsCharacter(...) : Number | +| Test.java:330:9:330:11 | out | semmle.label | out | +| Test.java:335:23:335:45 | (...)... : JsonPrimitive | semmle.label | (...)... : JsonPrimitive | +| Test.java:335:38:335:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:336:10:336:11 | in : JsonPrimitive | semmle.label | in : JsonPrimitive | +| Test.java:336:10:336:28 | getAsCharacter(...) : Number | semmle.label | getAsCharacter(...) : Number | +| Test.java:337:9:337:11 | out | semmle.label | out | +| Test.java:342:21:342:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:342:34:342:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:343:10:343:11 | in : JsonElement | semmle.label | in : JsonElement | +| Test.java:343:10:343:28 | getAsJsonArray(...) : JsonArray | semmle.label | getAsJsonArray(...) : JsonArray | +| Test.java:344:9:344:11 | out | semmle.label | out | +| Test.java:349:21:349:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:349:34:349:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:350:10:350:11 | in : JsonElement | semmle.label | in : JsonElement | +| Test.java:350:10:350:29 | getAsJsonObject(...) : JsonObject | semmle.label | getAsJsonObject(...) : JsonObject | +| Test.java:351:9:351:11 | out | semmle.label | out | +| Test.java:356:21:356:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:356:34:356:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:357:10:357:11 | in : JsonElement | semmle.label | in : JsonElement | +| Test.java:357:10:357:32 | getAsJsonPrimitive(...) : JsonPrimitive | semmle.label | getAsJsonPrimitive(...) : JsonPrimitive | +| Test.java:358:9:358:11 | out | semmle.label | out | +| Test.java:363:19:363:37 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:363:30:363:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:364:10:364:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:364:10:364:25 | getAsString(...) : String | semmle.label | getAsString(...) : String | +| Test.java:365:9:365:11 | out | semmle.label | out | +| Test.java:370:21:370:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:370:34:370:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:371:10:371:11 | in : JsonElement | semmle.label | in : JsonElement | +| Test.java:371:10:371:25 | getAsString(...) : String | semmle.label | getAsString(...) : String | +| Test.java:372:9:372:11 | out | semmle.label | out | +| Test.java:377:23:377:45 | (...)... : JsonPrimitive | semmle.label | (...)... : JsonPrimitive | +| Test.java:377:38:377:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:378:10:378:11 | in : JsonPrimitive | semmle.label | in : JsonPrimitive | +| Test.java:378:10:378:25 | getAsString(...) : String | semmle.label | getAsString(...) : String | +| Test.java:379:9:379:11 | out | semmle.label | out | +| Test.java:384:21:384:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:384:34:384:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:385:10:385:11 | in : JsonElement | semmle.label | in : JsonElement | +| Test.java:385:10:385:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:386:9:386:11 | out | semmle.label | out | +| Test.java:391:16:391:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:391:24:391:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:392:4:392:6 | out [post update] : JsonObject [] : String | semmle.label | out [post update] : JsonObject [] : String | +| Test.java:392:12:392:13 | in : String | semmle.label | in : String | +| Test.java:393:9:393:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:393:26:393:28 | out : JsonObject [] : String | semmle.label | out : JsonObject [] : String | +| Test.java:398:21:398:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:398:34:398:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:399:4:399:6 | out [post update] : JsonObject [] : JsonElement | semmle.label | out [post update] : JsonObject [] : JsonElement | +| Test.java:399:18:399:19 | in : JsonElement | semmle.label | in : JsonElement | +| Test.java:400:9:400:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:400:28:400:30 | out : JsonObject [] : JsonElement | semmle.label | out : JsonObject [] : JsonElement | +| Test.java:405:16:405:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:405:24:405:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:406:4:406:6 | out [post update] : JsonObject [] : String | semmle.label | out [post update] : JsonObject [] : String | +| Test.java:406:20:406:21 | in : String | semmle.label | in : String | +| Test.java:407:9:407:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:407:26:407:28 | out : JsonObject [] : String | semmle.label | out : JsonObject [] : String | +| Test.java:412:16:412:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:412:24:412:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:413:4:413:6 | out [post update] : JsonObject [] : Object | semmle.label | out [post update] : JsonObject [] : Object | +| Test.java:413:34:413:35 | in : String | semmle.label | in : String | +| Test.java:414:9:414:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:414:28:414:30 | out : JsonObject [] : Object | semmle.label | out : JsonObject [] : Object | +| Test.java:419:20:419:58 | newWithMapKeyDefault(...) : JsonObject [] : String | semmle.label | newWithMapKeyDefault(...) : JsonObject [] : String | +| Test.java:419:41:419:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:419:50:419:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:420:10:420:11 | in : JsonObject [] : String | semmle.label | in : JsonObject [] : String | +| Test.java:420:10:420:19 | asMap(...) : Map [] : String | semmle.label | asMap(...) : Map [] : String | +| Test.java:421:9:421:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:421:19:421:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:426:20:426:65 | newWithMapValueDefault(...) : JsonObject [] : JsonElement | semmle.label | newWithMapValueDefault(...) : JsonObject [] : JsonElement | +| Test.java:426:43:426:64 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:426:57:426:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:427:10:427:11 | in : JsonObject [] : JsonElement | semmle.label | in : JsonObject [] : JsonElement | +| Test.java:427:10:427:19 | asMap(...) : Map [] : JsonElement | semmle.label | asMap(...) : Map [] : JsonElement | +| Test.java:428:9:428:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:428:21:428:23 | out : Map [] : JsonElement | semmle.label | out : Map [] : JsonElement | +| Test.java:433:20:433:58 | newWithMapKeyDefault(...) : JsonObject [] : String | semmle.label | newWithMapKeyDefault(...) : JsonObject [] : String | +| Test.java:433:41:433:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:433:50:433:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:434:10:434:11 | in : JsonObject [] : String | semmle.label | in : JsonObject [] : String | +| Test.java:434:10:434:22 | entrySet(...) : Set [, ] : String | semmle.label | entrySet(...) : Set [, ] : String | +| Test.java:435:9:435:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:435:26:435:40 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:435:37:435:39 | out : Set [, ] : String | semmle.label | out : Set [, ] : String | +| Test.java:440:20:440:65 | newWithMapValueDefault(...) : JsonObject [] : JsonElement | semmle.label | newWithMapValueDefault(...) : JsonObject [] : JsonElement | +| Test.java:440:43:440:64 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:440:57:440:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:441:10:441:11 | in : JsonObject [] : JsonElement | semmle.label | in : JsonObject [] : JsonElement | +| Test.java:441:10:441:22 | entrySet(...) : Set [, ] : JsonElement | semmle.label | entrySet(...) : Set [, ] : JsonElement | +| Test.java:442:9:442:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:442:28:442:42 | getElement(...) : Entry [] : JsonElement | semmle.label | getElement(...) : Entry [] : JsonElement | +| Test.java:442:39:442:41 | out : Set [, ] : JsonElement | semmle.label | out : Set [, ] : JsonElement | +| Test.java:447:20:447:65 | newWithMapValueDefault(...) : JsonObject [] : JsonElement | semmle.label | newWithMapValueDefault(...) : JsonObject [] : JsonElement | +| Test.java:447:43:447:64 | (...)... : JsonElement | semmle.label | (...)... : JsonElement | +| Test.java:447:57:447:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:448:10:448:11 | in : JsonObject [] : JsonElement | semmle.label | in : JsonObject [] : JsonElement | +| Test.java:448:10:448:21 | get(...) : JsonElement | semmle.label | get(...) : JsonElement | +| Test.java:449:9:449:11 | out | semmle.label | out | +| Test.java:454:20:454:58 | newWithMapKeyDefault(...) : JsonObject [] : String | semmle.label | newWithMapKeyDefault(...) : JsonObject [] : String | +| Test.java:454:41:454:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:454:50:454:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:455:10:455:11 | in : JsonObject [] : String | semmle.label | in : JsonObject [] : String | +| Test.java:455:10:455:20 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:456:9:456:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:456:20:456:22 | out : Set [] : String | semmle.label | out : Set [] : String | +| Test.java:461:19:461:37 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:461:30:461:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:462:10:462:30 | new JsonPrimitive(...) : JsonPrimitive | semmle.label | new JsonPrimitive(...) : JsonPrimitive | +| Test.java:462:28:462:29 | in : Number | semmle.label | in : Number | +| Test.java:463:9:463:11 | out | semmle.label | out | +| Test.java:468:16:468:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:468:24:468:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:469:10:469:30 | new JsonPrimitive(...) : JsonPrimitive | semmle.label | new JsonPrimitive(...) : JsonPrimitive | +| Test.java:469:28:469:29 | in : String | semmle.label | in : String | +| Test.java:470:9:470:11 | out | semmle.label | out | +subpaths +| Test.java:253:20:253:22 | out : JsonArray [] : JsonElement | Test.java:22:19:22:32 | it : JsonArray [] : JsonElement | Test.java:22:44:22:63 | next(...) : JsonElement | Test.java:253:9:253:23 | getElement(...) | +| Test.java:272:41:272:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | Test.java:28:111:28:111 | a : JsonArray [] : JsonElement | Test.java:272:19:272:63 | newWithElementDefault(...) : JsonArray [] : JsonElement | +| Test.java:274:20:274:22 | out : JsonArray [] : JsonElement | Test.java:22:19:22:32 | it : JsonArray [] : JsonElement | Test.java:22:44:22:63 | next(...) : JsonElement | Test.java:274:9:274:23 | getElement(...) | +| Test.java:279:41:279:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | Test.java:28:111:28:111 | a : JsonArray [] : JsonElement | Test.java:279:19:279:63 | newWithElementDefault(...) : JsonArray [] : JsonElement | +| Test.java:281:20:281:22 | out : List [] : JsonElement | Test.java:22:19:22:32 | it : List [] : JsonElement | Test.java:22:44:22:63 | next(...) : JsonElement | Test.java:281:9:281:23 | getElement(...) | +| Test.java:286:41:286:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | Test.java:28:111:28:111 | a : JsonArray [] : JsonElement | Test.java:286:19:286:63 | newWithElementDefault(...) : JsonArray [] : JsonElement | +| Test.java:295:20:295:22 | out : JsonArray [] : JsonElement | Test.java:22:19:22:32 | it : JsonArray [] : JsonElement | Test.java:22:44:22:63 | next(...) : JsonElement | Test.java:295:9:295:23 | getElement(...) | +| Test.java:393:26:393:28 | out : JsonObject [] : String | Test.java:24:26:24:45 | container : JsonObject [] : String | Test.java:24:57:24:92 | next(...) : String | Test.java:393:9:393:29 | getMapKeyDefault(...) | +| Test.java:400:28:400:30 | out : JsonObject [] : JsonElement | Test.java:26:33:26:52 | container : JsonObject [] : JsonElement | Test.java:26:64:26:82 | get(...) : JsonElement | Test.java:400:9:400:31 | getMapValueDefault(...) | +| Test.java:407:26:407:28 | out : JsonObject [] : String | Test.java:24:26:24:45 | container : JsonObject [] : String | Test.java:24:57:24:92 | next(...) : String | Test.java:407:9:407:29 | getMapKeyDefault(...) | +| Test.java:414:28:414:30 | out : JsonObject [] : Object | Test.java:26:33:26:52 | container : JsonObject [] : Object | Test.java:26:64:26:82 | get(...) : JsonElement | Test.java:414:9:414:31 | getMapValueDefault(...) | +| Test.java:419:41:419:57 | (...)... : String | Test.java:29:34:29:43 | key : String | Test.java:29:120:29:120 | o : JsonObject [] : String | Test.java:419:20:419:58 | newWithMapKeyDefault(...) : JsonObject [] : String | +| Test.java:421:19:421:21 | out : Map [] : String | Test.java:21:18:21:29 | map : Map [] : String | Test.java:21:41:21:70 | next(...) : String | Test.java:421:9:421:22 | getMapKey(...) | +| Test.java:426:43:426:64 | (...)... : JsonElement | Test.java:30:36:30:54 | element : JsonElement | Test.java:30:121:30:121 | o : JsonObject [] : JsonElement | Test.java:426:20:426:65 | newWithMapValueDefault(...) : JsonObject [] : JsonElement | +| Test.java:428:21:428:23 | out : Map [] : JsonElement | Test.java:23:20:23:31 | map : Map [] : JsonElement | Test.java:23:43:23:55 | get(...) : JsonElement | Test.java:428:9:428:24 | getMapValue(...) | +| Test.java:433:41:433:57 | (...)... : String | Test.java:29:34:29:43 | key : String | Test.java:29:120:29:120 | o : JsonObject [] : String | Test.java:433:20:433:58 | newWithMapKeyDefault(...) : JsonObject [] : String | +| Test.java:435:26:435:40 | getElement(...) : Entry [] : String | Test.java:25:25:25:48 | container : Entry [] : String | Test.java:25:60:25:77 | getKey(...) : String | Test.java:435:9:435:41 | getMapKeyDefault(...) | +| Test.java:440:43:440:64 | (...)... : JsonElement | Test.java:30:36:30:54 | element : JsonElement | Test.java:30:121:30:121 | o : JsonObject [] : JsonElement | Test.java:440:20:440:65 | newWithMapValueDefault(...) : JsonObject [] : JsonElement | +| Test.java:442:28:442:42 | getElement(...) : Entry [] : JsonElement | Test.java:27:28:27:51 | container : Entry [] : JsonElement | Test.java:27:63:27:82 | getValue(...) : JsonElement | Test.java:442:9:442:43 | getMapValueDefault(...) | +| Test.java:447:43:447:64 | (...)... : JsonElement | Test.java:30:36:30:54 | element : JsonElement | Test.java:30:121:30:121 | o : JsonObject [] : JsonElement | Test.java:447:20:447:65 | newWithMapValueDefault(...) : JsonObject [] : JsonElement | +| Test.java:454:41:454:57 | (...)... : String | Test.java:29:34:29:43 | key : String | Test.java:29:120:29:120 | o : JsonObject [] : String | Test.java:454:20:454:58 | newWithMapKeyDefault(...) : JsonObject [] : String | +| Test.java:456:20:456:22 | out : Set [] : String | Test.java:22:19:22:32 | it : Set [] : String | Test.java:22:44:22:63 | next(...) : String | Test.java:456:9:456:23 | getElement(...) | +testFailures diff --git a/java/ql/test/library-tests/frameworks/guava/generated/cache/test.expected b/java/ql/test/library-tests/frameworks/guava/generated/cache/test.expected index e69de29bb2d..a6fddabac83 100644 --- a/java/ql/test/library-tests/frameworks/guava/generated/cache/test.expected +++ b/java/ql/test/library-tests/frameworks/guava/generated/cache/test.expected @@ -0,0 +1,372 @@ +models +| 1 | Summary: com.google.common.cache; Cache; true; asMap; (); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 2 | Summary: com.google.common.cache; Cache; true; asMap; (); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 3 | Summary: com.google.common.cache; Cache; true; get; (Object,Callable); ; Argument[this].MapValue; ReturnValue; value; manual | +| 4 | Summary: com.google.common.cache; Cache; true; getAllPresent; (Iterable); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 5 | Summary: com.google.common.cache; Cache; true; getAllPresent; (Iterable); ; Argument[0].Element; ReturnValue.MapKey; value; manual | +| 6 | Summary: com.google.common.cache; Cache; true; getIfPresent; (Object); ; Argument[this].MapValue; ReturnValue; value; manual | +| 7 | Summary: com.google.common.cache; Cache; true; put; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 8 | Summary: com.google.common.cache; Cache; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 9 | Summary: com.google.common.cache; Cache; true; putAll; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 10 | Summary: com.google.common.cache; Cache; true; putAll; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 11 | Summary: com.google.common.cache; LoadingCache; true; apply; (Object); ; Argument[this].MapValue; ReturnValue; value; manual | +| 12 | Summary: com.google.common.cache; LoadingCache; true; get; (Object); ; Argument[this].MapValue; ReturnValue; value; manual | +| 13 | Summary: com.google.common.cache; LoadingCache; true; getAll; (Iterable); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 14 | Summary: com.google.common.cache; LoadingCache; true; getAll; (Iterable); ; Argument[0].Element; Argument[this].MapKey; value; manual | +| 15 | Summary: com.google.common.cache; LoadingCache; true; getAll; (Iterable); ; Argument[0].Element; ReturnValue.MapKey; value; manual | +| 16 | Summary: com.google.common.cache; LoadingCache; true; getUnchecked; (Object); ; Argument[this].MapValue; ReturnValue; value; manual | +| 17 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 18 | Summary: java.util; Collection; true; add; ; ; Argument[0]; Argument[this].Element; value; manual | +| 19 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 20 | Summary: java.util; Map; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 21 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 22 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 23 | Summary: java.util; Map; true; values; (); ; Argument[this].MapValue; ReturnValue.Element; value; manual | +edges +| Test.java:16:20:16:37 | container : ConcurrentMap [] : Object | Test.java:16:49:16:57 | container : ConcurrentMap [] : Object | provenance | | +| Test.java:16:20:16:37 | container : ImmutableMap [] : Object | Test.java:16:49:16:57 | container : ImmutableMap [] : Object | provenance | | +| Test.java:16:49:16:57 | container : ConcurrentMap [] : Object | Test.java:16:49:16:66 | keySet(...) : Set [] : Object | provenance | MaD:20 | +| Test.java:16:49:16:57 | container : ImmutableMap [] : Object | Test.java:16:49:16:66 | keySet(...) : Set [] : Object | provenance | MaD:20 | +| Test.java:16:49:16:66 | keySet(...) : Set [] : Object | Test.java:16:49:16:77 | iterator(...) : Iterator [] : Object | provenance | MaD:17 | +| Test.java:16:49:16:66 | keySet(...) : Set [] : Object | Test.java:16:49:16:77 | iterator(...) : Iterator [] : Object | provenance | MaD:17 | +| Test.java:16:49:16:77 | iterator(...) : Iterator [] : Object | Test.java:16:49:16:84 | next(...) : Object | provenance | MaD:19 | +| Test.java:16:49:16:77 | iterator(...) : Iterator [] : Object | Test.java:16:49:16:84 | next(...) : Object | provenance | MaD:19 | +| Test.java:17:20:17:39 | container : Cache [] : Object | Test.java:17:61:17:69 | container : Cache [] : Object | provenance | | +| Test.java:17:20:17:39 | container : LoadingCache [] : Object | Test.java:17:61:17:69 | container : LoadingCache [] : Object | provenance | | +| Test.java:17:61:17:69 | container : Cache [] : Object | Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [] : Object | provenance | MaD:1 | +| Test.java:17:61:17:69 | container : LoadingCache [] : Object | Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [] : Object | provenance | MaD:1 | +| Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [] : Object | Test.java:16:20:16:37 | container : ConcurrentMap [] : Object | provenance | | +| Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [] : Object | Test.java:16:20:16:37 | container : ConcurrentMap [] : Object | provenance | | +| Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [] : Object | Test.java:17:51:17:78 | getMapKey(...) : Object | provenance | MaD:20 | +| Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [] : Object | Test.java:17:51:17:78 | getMapKey(...) : Object | provenance | MaD:20 | +| Test.java:18:22:18:39 | container : ConcurrentMap [] : Object | Test.java:18:51:18:59 | container : ConcurrentMap [] : Object | provenance | | +| Test.java:18:22:18:39 | container : ImmutableMap [] : Object | Test.java:18:51:18:59 | container : ImmutableMap [] : Object | provenance | | +| Test.java:18:51:18:59 | container : ConcurrentMap [] : Object | Test.java:18:51:18:68 | values(...) : Collection [] : Object | provenance | MaD:23 | +| Test.java:18:51:18:59 | container : ImmutableMap [] : Object | Test.java:18:51:18:68 | values(...) : Collection [] : Object | provenance | MaD:23 | +| Test.java:18:51:18:68 | values(...) : Collection [] : Object | Test.java:18:51:18:79 | iterator(...) : Iterator [] : Object | provenance | MaD:17 | +| Test.java:18:51:18:68 | values(...) : Collection [] : Object | Test.java:18:51:18:79 | iterator(...) : Iterator [] : Object | provenance | MaD:17 | +| Test.java:18:51:18:79 | iterator(...) : Iterator [] : Object | Test.java:18:51:18:86 | next(...) : Object | provenance | MaD:19 | +| Test.java:18:51:18:79 | iterator(...) : Iterator [] : Object | Test.java:18:51:18:86 | next(...) : Object | provenance | MaD:19 | +| Test.java:19:22:19:41 | container : Cache [] : Object | Test.java:19:65:19:73 | container : Cache [] : Object | provenance | | +| Test.java:19:65:19:73 | container : Cache [] : Object | Test.java:19:65:19:81 | asMap(...) : ConcurrentMap [] : Object | provenance | MaD:2 | +| Test.java:19:65:19:81 | asMap(...) : ConcurrentMap [] : Object | Test.java:18:22:18:39 | container : ConcurrentMap [] : Object | provenance | | +| Test.java:19:65:19:81 | asMap(...) : ConcurrentMap [] : Object | Test.java:19:53:19:82 | getMapValue(...) : Object | provenance | MaD:23 | +| Test.java:20:33:20:41 | element : Object | Test.java:22:9:22:15 | element : Object | provenance | | +| Test.java:22:3:22:3 | l [post update] : ArrayList [] : Object | Test.java:23:10:23:10 | l : ArrayList [] : Object | provenance | | +| Test.java:22:9:22:15 | element : Object | Test.java:22:3:22:3 | l [post update] : ArrayList [] : Object | provenance | MaD:18 | +| Test.java:25:34:25:42 | element : Object | Test.java:27:9:27:15 | element : Object | provenance | | +| Test.java:27:3:27:3 | m [post update] : HashMap [] : Object | Test.java:28:10:28:10 | m : HashMap [] : Object | provenance | | +| Test.java:27:9:27:15 | element : Object | Test.java:27:3:27:3 | m [post update] : HashMap [] : Object | provenance | MaD:21 | +| Test.java:30:45:30:53 | element : Object | Test.java:32:10:32:16 | element : Object | provenance | | +| Test.java:32:3:32:4 | lc [post update] : LoadingCache [] : Object | Test.java:33:10:33:11 | lc : LoadingCache [] : Object | provenance | | +| Test.java:32:10:32:16 | element : Object | Test.java:32:3:32:4 | lc [post update] : LoadingCache [] : Object | provenance | MaD:7 | +| Test.java:35:36:35:44 | element : Object | Test.java:37:15:37:21 | element : Object | provenance | | +| Test.java:37:3:37:3 | m [post update] : HashMap [] : Object | Test.java:38:10:38:10 | m : HashMap [] : Object | provenance | | +| Test.java:37:15:37:21 | element : Object | Test.java:37:3:37:3 | m [post update] : HashMap [] : Object | provenance | MaD:22 | +| Test.java:40:47:40:55 | element : Object | Test.java:42:16:42:22 | element : Object | provenance | | +| Test.java:42:3:42:4 | lc [post update] : LoadingCache [] : Object | Test.java:43:10:43:11 | lc : LoadingCache [] : Object | provenance | | +| Test.java:42:16:42:22 | element : Object | Test.java:42:3:42:4 | lc [post update] : LoadingCache [] : Object | provenance | MaD:8 | +| Test.java:53:22:53:49 | newCacheWithMapKey(...) : LoadingCache [] : Object | Test.java:54:10:54:11 | in : LoadingCache [] : Object | provenance | | +| Test.java:53:41:53:48 | source(...) : Object | Test.java:30:45:30:53 | element : Object | provenance | | +| Test.java:53:41:53:48 | source(...) : Object | Test.java:53:22:53:49 | newCacheWithMapKey(...) : LoadingCache [] : Object | provenance | MaD:7 | +| Test.java:54:10:54:11 | in : LoadingCache [] : Object | Test.java:54:10:54:19 | asMap(...) : ConcurrentMap [] : Object | provenance | MaD:1 | +| Test.java:54:10:54:19 | asMap(...) : ConcurrentMap [] : Object | Test.java:55:19:55:21 | out : ConcurrentMap [] : Object | provenance | | +| Test.java:55:19:55:21 | out : ConcurrentMap [] : Object | Test.java:16:20:16:37 | container : ConcurrentMap [] : Object | provenance | | +| Test.java:55:19:55:21 | out : ConcurrentMap [] : Object | Test.java:55:9:55:22 | getMapKey(...) | provenance | MaD:20 | +| Test.java:60:15:60:42 | newCacheWithMapKey(...) : LoadingCache [] : Object | Test.java:61:10:61:11 | in : LoadingCache [] : Object | provenance | | +| Test.java:60:34:60:41 | source(...) : Object | Test.java:30:45:30:53 | element : Object | provenance | | +| Test.java:60:34:60:41 | source(...) : Object | Test.java:60:15:60:42 | newCacheWithMapKey(...) : LoadingCache [] : Object | provenance | MaD:7 | +| Test.java:61:10:61:11 | in : LoadingCache [] : Object | Test.java:61:10:61:19 | asMap(...) : ConcurrentMap [] : Object | provenance | MaD:1 | +| Test.java:61:10:61:19 | asMap(...) : ConcurrentMap [] : Object | Test.java:62:19:62:21 | out : ConcurrentMap [] : Object | provenance | | +| Test.java:62:19:62:21 | out : ConcurrentMap [] : Object | Test.java:16:20:16:37 | container : ConcurrentMap [] : Object | provenance | | +| Test.java:62:19:62:21 | out : ConcurrentMap [] : Object | Test.java:62:9:62:22 | getMapKey(...) | provenance | MaD:20 | +| Test.java:67:22:67:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | Test.java:68:10:68:11 | in : LoadingCache [] : Object | provenance | | +| Test.java:67:43:67:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | provenance | | +| Test.java:67:43:67:50 | source(...) : Object | Test.java:67:22:67:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | provenance | MaD:8 | +| Test.java:68:10:68:11 | in : LoadingCache [] : Object | Test.java:68:10:68:19 | asMap(...) : ConcurrentMap [] : Object | provenance | MaD:2 | +| Test.java:68:10:68:19 | asMap(...) : ConcurrentMap [] : Object | Test.java:69:21:69:23 | out : ConcurrentMap [] : Object | provenance | | +| Test.java:69:21:69:23 | out : ConcurrentMap [] : Object | Test.java:18:22:18:39 | container : ConcurrentMap [] : Object | provenance | | +| Test.java:69:21:69:23 | out : ConcurrentMap [] : Object | Test.java:69:9:69:24 | getMapValue(...) | provenance | MaD:23 | +| Test.java:74:15:74:44 | newCacheWithMapValue(...) : LoadingCache [] : Object | Test.java:75:10:75:11 | in : LoadingCache [] : Object | provenance | | +| Test.java:74:36:74:43 | source(...) : Object | Test.java:40:47:40:55 | element : Object | provenance | | +| Test.java:74:36:74:43 | source(...) : Object | Test.java:74:15:74:44 | newCacheWithMapValue(...) : LoadingCache [] : Object | provenance | MaD:8 | +| Test.java:75:10:75:11 | in : LoadingCache [] : Object | Test.java:75:10:75:19 | asMap(...) : ConcurrentMap [] : Object | provenance | MaD:2 | +| Test.java:75:10:75:19 | asMap(...) : ConcurrentMap [] : Object | Test.java:76:21:76:23 | out : ConcurrentMap [] : Object | provenance | | +| Test.java:76:21:76:23 | out : ConcurrentMap [] : Object | Test.java:18:22:18:39 | container : ConcurrentMap [] : Object | provenance | | +| Test.java:76:21:76:23 | out : ConcurrentMap [] : Object | Test.java:76:9:76:24 | getMapValue(...) | provenance | MaD:23 | +| Test.java:81:15:81:44 | newCacheWithMapValue(...) : LoadingCache [] : Object | Test.java:82:10:82:11 | in : LoadingCache [] : Object | provenance | | +| Test.java:81:36:81:43 | source(...) : Object | Test.java:40:47:40:55 | element : Object | provenance | | +| Test.java:81:36:81:43 | source(...) : Object | Test.java:81:15:81:44 | newCacheWithMapValue(...) : LoadingCache [] : Object | provenance | MaD:8 | +| Test.java:82:10:82:11 | in : LoadingCache [] : Object | Test.java:82:10:82:27 | get(...) : Object | provenance | MaD:3 | +| Test.java:82:10:82:27 | get(...) : Object | Test.java:83:9:83:11 | out | provenance | | +| Test.java:88:18:88:41 | newWithElement(...) : ArrayList [] : Object | Test.java:90:33:90:34 | in : ArrayList [] : Object | provenance | | +| Test.java:88:33:88:40 | source(...) : Object | Test.java:20:33:20:41 | element : Object | provenance | | +| Test.java:88:33:88:40 | source(...) : Object | Test.java:88:18:88:41 | newWithElement(...) : ArrayList [] : Object | provenance | MaD:18 | +| Test.java:90:10:90:35 | getAllPresent(...) : ImmutableMap [] : Object | Test.java:91:19:91:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:90:33:90:34 | in : ArrayList [] : Object | Test.java:90:10:90:35 | getAllPresent(...) : ImmutableMap [] : Object | provenance | MaD:5 | +| Test.java:91:19:91:21 | out : ImmutableMap [] : Object | Test.java:16:20:16:37 | container : ImmutableMap [] : Object | provenance | | +| Test.java:91:19:91:21 | out : ImmutableMap [] : Object | Test.java:91:9:91:22 | getMapKey(...) | provenance | MaD:20 | +| Test.java:96:15:96:42 | newCacheWithMapKey(...) : LoadingCache [] : Object | Test.java:97:10:97:11 | in : LoadingCache [] : Object | provenance | | +| Test.java:96:34:96:41 | source(...) : Object | Test.java:30:45:30:53 | element : Object | provenance | | +| Test.java:96:34:96:41 | source(...) : Object | Test.java:96:15:96:42 | newCacheWithMapKey(...) : LoadingCache [] : Object | provenance | MaD:7 | +| Test.java:97:10:97:11 | in : LoadingCache [] : Object | Test.java:97:10:97:31 | getAllPresent(...) : ImmutableMap [] : Object | provenance | MaD:4 | +| Test.java:97:10:97:31 | getAllPresent(...) : ImmutableMap [] : Object | Test.java:98:19:98:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:98:19:98:21 | out : ImmutableMap [] : Object | Test.java:16:20:16:37 | container : ImmutableMap [] : Object | provenance | | +| Test.java:98:19:98:21 | out : ImmutableMap [] : Object | Test.java:98:9:98:22 | getMapKey(...) | provenance | MaD:20 | +| Test.java:103:15:103:44 | newCacheWithMapValue(...) : LoadingCache [] : Object | Test.java:104:10:104:11 | in : LoadingCache [] : Object | provenance | | +| Test.java:103:36:103:43 | source(...) : Object | Test.java:40:47:40:55 | element : Object | provenance | | +| Test.java:103:36:103:43 | source(...) : Object | Test.java:103:15:103:44 | newCacheWithMapValue(...) : LoadingCache [] : Object | provenance | MaD:8 | +| Test.java:104:10:104:11 | in : LoadingCache [] : Object | Test.java:104:10:104:30 | getIfPresent(...) : Object | provenance | MaD:6 | +| Test.java:104:10:104:30 | getIfPresent(...) : Object | Test.java:105:9:105:11 | out | provenance | | +| Test.java:110:16:110:23 | source(...) : Object | Test.java:111:12:111:13 | in : Object | provenance | | +| Test.java:111:4:111:6 | out [post update] : Cache [] : Object | Test.java:112:19:112:21 | out : Cache [] : Object | provenance | | +| Test.java:111:12:111:13 | in : Object | Test.java:111:4:111:6 | out [post update] : Cache [] : Object | provenance | MaD:7 | +| Test.java:112:19:112:21 | out : Cache [] : Object | Test.java:17:20:17:39 | container : Cache [] : Object | provenance | | +| Test.java:112:19:112:21 | out : Cache [] : Object | Test.java:112:9:112:22 | getMapKey(...) | provenance | MaD:1 | +| Test.java:117:16:117:23 | source(...) : Object | Test.java:118:18:118:19 | in : Object | provenance | | +| Test.java:118:4:118:6 | out [post update] : Cache [] : Object | Test.java:119:21:119:23 | out : Cache [] : Object | provenance | | +| Test.java:118:18:118:19 | in : Object | Test.java:118:4:118:6 | out [post update] : Cache [] : Object | provenance | MaD:8 | +| Test.java:119:21:119:23 | out : Cache [] : Object | Test.java:19:22:19:41 | container : Cache [] : Object | provenance | | +| Test.java:119:21:119:23 | out : Cache [] : Object | Test.java:119:9:119:24 | getMapValue(...) | provenance | MaD:2 | +| Test.java:124:13:124:38 | newMapWithMapKey(...) : HashMap [] : Object | Test.java:125:15:125:16 | in : HashMap [] : Object | provenance | | +| Test.java:124:30:124:37 | source(...) : Object | Test.java:25:34:25:42 | element : Object | provenance | | +| Test.java:124:30:124:37 | source(...) : Object | Test.java:124:13:124:38 | newMapWithMapKey(...) : HashMap [] : Object | provenance | MaD:21 | +| Test.java:125:4:125:6 | out [post update] : Cache [] : Object | Test.java:126:19:126:21 | out : Cache [] : Object | provenance | | +| Test.java:125:15:125:16 | in : HashMap [] : Object | Test.java:125:4:125:6 | out [post update] : Cache [] : Object | provenance | MaD:9 | +| Test.java:126:19:126:21 | out : Cache [] : Object | Test.java:17:20:17:39 | container : Cache [] : Object | provenance | | +| Test.java:126:19:126:21 | out : Cache [] : Object | Test.java:126:9:126:22 | getMapKey(...) | provenance | MaD:1 | +| Test.java:131:13:131:40 | newMapWithMapValue(...) : HashMap [] : Object | Test.java:132:15:132:16 | in : HashMap [] : Object | provenance | | +| Test.java:131:32:131:39 | source(...) : Object | Test.java:35:36:35:44 | element : Object | provenance | | +| Test.java:131:32:131:39 | source(...) : Object | Test.java:131:13:131:40 | newMapWithMapValue(...) : HashMap [] : Object | provenance | MaD:22 | +| Test.java:132:4:132:6 | out [post update] : Cache [] : Object | Test.java:133:21:133:23 | out : Cache [] : Object | provenance | | +| Test.java:132:15:132:16 | in : HashMap [] : Object | Test.java:132:4:132:6 | out [post update] : Cache [] : Object | provenance | MaD:10 | +| Test.java:133:21:133:23 | out : Cache [] : Object | Test.java:19:22:19:41 | container : Cache [] : Object | provenance | | +| Test.java:133:21:133:23 | out : Cache [] : Object | Test.java:133:9:133:24 | getMapValue(...) | provenance | MaD:2 | +| Test.java:138:22:138:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | Test.java:139:10:139:11 | in : LoadingCache [] : Object | provenance | | +| Test.java:138:43:138:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | provenance | | +| Test.java:138:43:138:50 | source(...) : Object | Test.java:138:22:138:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | provenance | MaD:8 | +| Test.java:139:10:139:11 | in : LoadingCache [] : Object | Test.java:139:10:139:23 | apply(...) : Object | provenance | MaD:11 | +| Test.java:139:10:139:23 | apply(...) : Object | Test.java:140:9:140:11 | out | provenance | | +| Test.java:145:22:145:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | Test.java:146:10:146:11 | in : LoadingCache [] : Object | provenance | | +| Test.java:145:43:145:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | provenance | | +| Test.java:145:43:145:50 | source(...) : Object | Test.java:145:22:145:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | provenance | MaD:8 | +| Test.java:146:10:146:11 | in : LoadingCache [] : Object | Test.java:146:10:146:21 | get(...) : Object | provenance | MaD:12 | +| Test.java:146:10:146:21 | get(...) : Object | Test.java:147:9:147:11 | out | provenance | | +| Test.java:152:18:152:51 | (...)... : ArrayList [] : Object | Test.java:153:15:153:16 | in : ArrayList [] : Object | provenance | | +| Test.java:152:28:152:51 | newWithElement(...) : ArrayList [] : Object | Test.java:152:18:152:51 | (...)... : ArrayList [] : Object | provenance | | +| Test.java:152:43:152:50 | source(...) : Object | Test.java:20:33:20:41 | element : Object | provenance | | +| Test.java:152:43:152:50 | source(...) : Object | Test.java:152:28:152:51 | newWithElement(...) : ArrayList [] : Object | provenance | MaD:18 | +| Test.java:153:4:153:6 | out [post update] : LoadingCache [] : Object | Test.java:154:19:154:21 | out : LoadingCache [] : Object | provenance | | +| Test.java:153:15:153:16 | in : ArrayList [] : Object | Test.java:153:4:153:6 | out [post update] : LoadingCache [] : Object | provenance | MaD:14 | +| Test.java:154:19:154:21 | out : LoadingCache [] : Object | Test.java:17:20:17:39 | container : LoadingCache [] : Object | provenance | | +| Test.java:154:19:154:21 | out : LoadingCache [] : Object | Test.java:154:9:154:22 | getMapKey(...) | provenance | MaD:1 | +| Test.java:159:18:159:51 | (...)... : ArrayList [] : Object | Test.java:161:26:161:27 | in : ArrayList [] : Object | provenance | | +| Test.java:159:28:159:51 | newWithElement(...) : ArrayList [] : Object | Test.java:159:18:159:51 | (...)... : ArrayList [] : Object | provenance | | +| Test.java:159:43:159:50 | source(...) : Object | Test.java:20:33:20:41 | element : Object | provenance | | +| Test.java:159:43:159:50 | source(...) : Object | Test.java:159:28:159:51 | newWithElement(...) : ArrayList [] : Object | provenance | MaD:18 | +| Test.java:161:10:161:28 | getAll(...) : ImmutableMap [] : Object | Test.java:162:19:162:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:161:26:161:27 | in : ArrayList [] : Object | Test.java:161:10:161:28 | getAll(...) : ImmutableMap [] : Object | provenance | MaD:15 | +| Test.java:162:19:162:21 | out : ImmutableMap [] : Object | Test.java:16:20:16:37 | container : ImmutableMap [] : Object | provenance | | +| Test.java:162:19:162:21 | out : ImmutableMap [] : Object | Test.java:162:9:162:22 | getMapKey(...) | provenance | MaD:20 | +| Test.java:167:22:167:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | Test.java:168:10:168:11 | in : LoadingCache [] : Object | provenance | | +| Test.java:167:43:167:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | provenance | | +| Test.java:167:43:167:50 | source(...) : Object | Test.java:167:22:167:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | provenance | MaD:8 | +| Test.java:168:10:168:11 | in : LoadingCache [] : Object | Test.java:168:10:168:24 | getAll(...) : ImmutableMap [] : Object | provenance | MaD:13 | +| Test.java:168:10:168:24 | getAll(...) : ImmutableMap [] : Object | Test.java:169:21:169:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:169:21:169:23 | out : ImmutableMap [] : Object | Test.java:18:22:18:39 | container : ImmutableMap [] : Object | provenance | | +| Test.java:169:21:169:23 | out : ImmutableMap [] : Object | Test.java:169:9:169:24 | getMapValue(...) | provenance | MaD:23 | +| Test.java:174:22:174:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | Test.java:175:10:175:11 | in : LoadingCache [] : Object | provenance | | +| Test.java:174:43:174:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | provenance | | +| Test.java:174:43:174:50 | source(...) : Object | Test.java:174:22:174:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | provenance | MaD:8 | +| Test.java:175:10:175:11 | in : LoadingCache [] : Object | Test.java:175:10:175:30 | getUnchecked(...) : Object | provenance | MaD:16 | +| Test.java:175:10:175:30 | getUnchecked(...) : Object | Test.java:176:9:176:11 | out | provenance | | +nodes +| Test.java:16:20:16:37 | container : ConcurrentMap [] : Object | semmle.label | container : ConcurrentMap [] : Object | +| Test.java:16:20:16:37 | container : ImmutableMap [] : Object | semmle.label | container : ImmutableMap [] : Object | +| Test.java:16:49:16:57 | container : ConcurrentMap [] : Object | semmle.label | container : ConcurrentMap [] : Object | +| Test.java:16:49:16:57 | container : ImmutableMap [] : Object | semmle.label | container : ImmutableMap [] : Object | +| Test.java:16:49:16:66 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:16:49:16:66 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:16:49:16:77 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:16:49:16:77 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:16:49:16:84 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:16:49:16:84 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:17:20:17:39 | container : Cache [] : Object | semmle.label | container : Cache [] : Object | +| Test.java:17:20:17:39 | container : LoadingCache [] : Object | semmle.label | container : LoadingCache [] : Object | +| Test.java:17:51:17:78 | getMapKey(...) : Object | semmle.label | getMapKey(...) : Object | +| Test.java:17:51:17:78 | getMapKey(...) : Object | semmle.label | getMapKey(...) : Object | +| Test.java:17:61:17:69 | container : Cache [] : Object | semmle.label | container : Cache [] : Object | +| Test.java:17:61:17:69 | container : LoadingCache [] : Object | semmle.label | container : LoadingCache [] : Object | +| Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [] : Object | semmle.label | asMap(...) : ConcurrentMap [] : Object | +| Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [] : Object | semmle.label | asMap(...) : ConcurrentMap [] : Object | +| Test.java:18:22:18:39 | container : ConcurrentMap [] : Object | semmle.label | container : ConcurrentMap [] : Object | +| Test.java:18:22:18:39 | container : ImmutableMap [] : Object | semmle.label | container : ImmutableMap [] : Object | +| Test.java:18:51:18:59 | container : ConcurrentMap [] : Object | semmle.label | container : ConcurrentMap [] : Object | +| Test.java:18:51:18:59 | container : ImmutableMap [] : Object | semmle.label | container : ImmutableMap [] : Object | +| Test.java:18:51:18:68 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:18:51:18:68 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:18:51:18:79 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:18:51:18:79 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:18:51:18:86 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:18:51:18:86 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:19:22:19:41 | container : Cache [] : Object | semmle.label | container : Cache [] : Object | +| Test.java:19:53:19:82 | getMapValue(...) : Object | semmle.label | getMapValue(...) : Object | +| Test.java:19:65:19:73 | container : Cache [] : Object | semmle.label | container : Cache [] : Object | +| Test.java:19:65:19:81 | asMap(...) : ConcurrentMap [] : Object | semmle.label | asMap(...) : ConcurrentMap [] : Object | +| Test.java:20:33:20:41 | element : Object | semmle.label | element : Object | +| Test.java:22:3:22:3 | l [post update] : ArrayList [] : Object | semmle.label | l [post update] : ArrayList [] : Object | +| Test.java:22:9:22:15 | element : Object | semmle.label | element : Object | +| Test.java:23:10:23:10 | l : ArrayList [] : Object | semmle.label | l : ArrayList [] : Object | +| Test.java:25:34:25:42 | element : Object | semmle.label | element : Object | +| Test.java:27:3:27:3 | m [post update] : HashMap [] : Object | semmle.label | m [post update] : HashMap [] : Object | +| Test.java:27:9:27:15 | element : Object | semmle.label | element : Object | +| Test.java:28:10:28:10 | m : HashMap [] : Object | semmle.label | m : HashMap [] : Object | +| Test.java:30:45:30:53 | element : Object | semmle.label | element : Object | +| Test.java:32:3:32:4 | lc [post update] : LoadingCache [] : Object | semmle.label | lc [post update] : LoadingCache [] : Object | +| Test.java:32:10:32:16 | element : Object | semmle.label | element : Object | +| Test.java:33:10:33:11 | lc : LoadingCache [] : Object | semmle.label | lc : LoadingCache [] : Object | +| Test.java:35:36:35:44 | element : Object | semmle.label | element : Object | +| Test.java:37:3:37:3 | m [post update] : HashMap [] : Object | semmle.label | m [post update] : HashMap [] : Object | +| Test.java:37:15:37:21 | element : Object | semmle.label | element : Object | +| Test.java:38:10:38:10 | m : HashMap [] : Object | semmle.label | m : HashMap [] : Object | +| Test.java:40:47:40:55 | element : Object | semmle.label | element : Object | +| Test.java:42:3:42:4 | lc [post update] : LoadingCache [] : Object | semmle.label | lc [post update] : LoadingCache [] : Object | +| Test.java:42:16:42:22 | element : Object | semmle.label | element : Object | +| Test.java:43:10:43:11 | lc : LoadingCache [] : Object | semmle.label | lc : LoadingCache [] : Object | +| Test.java:53:22:53:49 | newCacheWithMapKey(...) : LoadingCache [] : Object | semmle.label | newCacheWithMapKey(...) : LoadingCache [] : Object | +| Test.java:53:41:53:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:54:10:54:11 | in : LoadingCache [] : Object | semmle.label | in : LoadingCache [] : Object | +| Test.java:54:10:54:19 | asMap(...) : ConcurrentMap [] : Object | semmle.label | asMap(...) : ConcurrentMap [] : Object | +| Test.java:55:9:55:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:55:19:55:21 | out : ConcurrentMap [] : Object | semmle.label | out : ConcurrentMap [] : Object | +| Test.java:60:15:60:42 | newCacheWithMapKey(...) : LoadingCache [] : Object | semmle.label | newCacheWithMapKey(...) : LoadingCache [] : Object | +| Test.java:60:34:60:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:61:10:61:11 | in : LoadingCache [] : Object | semmle.label | in : LoadingCache [] : Object | +| Test.java:61:10:61:19 | asMap(...) : ConcurrentMap [] : Object | semmle.label | asMap(...) : ConcurrentMap [] : Object | +| Test.java:62:9:62:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:62:19:62:21 | out : ConcurrentMap [] : Object | semmle.label | out : ConcurrentMap [] : Object | +| Test.java:67:22:67:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | semmle.label | newCacheWithMapValue(...) : LoadingCache [] : Object | +| Test.java:67:43:67:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:68:10:68:11 | in : LoadingCache [] : Object | semmle.label | in : LoadingCache [] : Object | +| Test.java:68:10:68:19 | asMap(...) : ConcurrentMap [] : Object | semmle.label | asMap(...) : ConcurrentMap [] : Object | +| Test.java:69:9:69:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:69:21:69:23 | out : ConcurrentMap [] : Object | semmle.label | out : ConcurrentMap [] : Object | +| Test.java:74:15:74:44 | newCacheWithMapValue(...) : LoadingCache [] : Object | semmle.label | newCacheWithMapValue(...) : LoadingCache [] : Object | +| Test.java:74:36:74:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:75:10:75:11 | in : LoadingCache [] : Object | semmle.label | in : LoadingCache [] : Object | +| Test.java:75:10:75:19 | asMap(...) : ConcurrentMap [] : Object | semmle.label | asMap(...) : ConcurrentMap [] : Object | +| Test.java:76:9:76:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:76:21:76:23 | out : ConcurrentMap [] : Object | semmle.label | out : ConcurrentMap [] : Object | +| Test.java:81:15:81:44 | newCacheWithMapValue(...) : LoadingCache [] : Object | semmle.label | newCacheWithMapValue(...) : LoadingCache [] : Object | +| Test.java:81:36:81:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:82:10:82:11 | in : LoadingCache [] : Object | semmle.label | in : LoadingCache [] : Object | +| Test.java:82:10:82:27 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:83:9:83:11 | out | semmle.label | out | +| Test.java:88:18:88:41 | newWithElement(...) : ArrayList [] : Object | semmle.label | newWithElement(...) : ArrayList [] : Object | +| Test.java:88:33:88:40 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:90:10:90:35 | getAllPresent(...) : ImmutableMap [] : Object | semmle.label | getAllPresent(...) : ImmutableMap [] : Object | +| Test.java:90:33:90:34 | in : ArrayList [] : Object | semmle.label | in : ArrayList [] : Object | +| Test.java:91:9:91:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:91:19:91:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:96:15:96:42 | newCacheWithMapKey(...) : LoadingCache [] : Object | semmle.label | newCacheWithMapKey(...) : LoadingCache [] : Object | +| Test.java:96:34:96:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:97:10:97:11 | in : LoadingCache [] : Object | semmle.label | in : LoadingCache [] : Object | +| Test.java:97:10:97:31 | getAllPresent(...) : ImmutableMap [] : Object | semmle.label | getAllPresent(...) : ImmutableMap [] : Object | +| Test.java:98:9:98:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:98:19:98:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:103:15:103:44 | newCacheWithMapValue(...) : LoadingCache [] : Object | semmle.label | newCacheWithMapValue(...) : LoadingCache [] : Object | +| Test.java:103:36:103:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:104:10:104:11 | in : LoadingCache [] : Object | semmle.label | in : LoadingCache [] : Object | +| Test.java:104:10:104:30 | getIfPresent(...) : Object | semmle.label | getIfPresent(...) : Object | +| Test.java:105:9:105:11 | out | semmle.label | out | +| Test.java:110:16:110:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:111:4:111:6 | out [post update] : Cache [] : Object | semmle.label | out [post update] : Cache [] : Object | +| Test.java:111:12:111:13 | in : Object | semmle.label | in : Object | +| Test.java:112:9:112:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:112:19:112:21 | out : Cache [] : Object | semmle.label | out : Cache [] : Object | +| Test.java:117:16:117:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:118:4:118:6 | out [post update] : Cache [] : Object | semmle.label | out [post update] : Cache [] : Object | +| Test.java:118:18:118:19 | in : Object | semmle.label | in : Object | +| Test.java:119:9:119:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:119:21:119:23 | out : Cache [] : Object | semmle.label | out : Cache [] : Object | +| Test.java:124:13:124:38 | newMapWithMapKey(...) : HashMap [] : Object | semmle.label | newMapWithMapKey(...) : HashMap [] : Object | +| Test.java:124:30:124:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:125:4:125:6 | out [post update] : Cache [] : Object | semmle.label | out [post update] : Cache [] : Object | +| Test.java:125:15:125:16 | in : HashMap [] : Object | semmle.label | in : HashMap [] : Object | +| Test.java:126:9:126:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:126:19:126:21 | out : Cache [] : Object | semmle.label | out : Cache [] : Object | +| Test.java:131:13:131:40 | newMapWithMapValue(...) : HashMap [] : Object | semmle.label | newMapWithMapValue(...) : HashMap [] : Object | +| Test.java:131:32:131:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:132:4:132:6 | out [post update] : Cache [] : Object | semmle.label | out [post update] : Cache [] : Object | +| Test.java:132:15:132:16 | in : HashMap [] : Object | semmle.label | in : HashMap [] : Object | +| Test.java:133:9:133:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:133:21:133:23 | out : Cache [] : Object | semmle.label | out : Cache [] : Object | +| Test.java:138:22:138:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | semmle.label | newCacheWithMapValue(...) : LoadingCache [] : Object | +| Test.java:138:43:138:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:139:10:139:11 | in : LoadingCache [] : Object | semmle.label | in : LoadingCache [] : Object | +| Test.java:139:10:139:23 | apply(...) : Object | semmle.label | apply(...) : Object | +| Test.java:140:9:140:11 | out | semmle.label | out | +| Test.java:145:22:145:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | semmle.label | newCacheWithMapValue(...) : LoadingCache [] : Object | +| Test.java:145:43:145:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:146:10:146:11 | in : LoadingCache [] : Object | semmle.label | in : LoadingCache [] : Object | +| Test.java:146:10:146:21 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:147:9:147:11 | out | semmle.label | out | +| Test.java:152:18:152:51 | (...)... : ArrayList [] : Object | semmle.label | (...)... : ArrayList [] : Object | +| Test.java:152:28:152:51 | newWithElement(...) : ArrayList [] : Object | semmle.label | newWithElement(...) : ArrayList [] : Object | +| Test.java:152:43:152:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:153:4:153:6 | out [post update] : LoadingCache [] : Object | semmle.label | out [post update] : LoadingCache [] : Object | +| Test.java:153:15:153:16 | in : ArrayList [] : Object | semmle.label | in : ArrayList [] : Object | +| Test.java:154:9:154:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:154:19:154:21 | out : LoadingCache [] : Object | semmle.label | out : LoadingCache [] : Object | +| Test.java:159:18:159:51 | (...)... : ArrayList [] : Object | semmle.label | (...)... : ArrayList [] : Object | +| Test.java:159:28:159:51 | newWithElement(...) : ArrayList [] : Object | semmle.label | newWithElement(...) : ArrayList [] : Object | +| Test.java:159:43:159:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:161:10:161:28 | getAll(...) : ImmutableMap [] : Object | semmle.label | getAll(...) : ImmutableMap [] : Object | +| Test.java:161:26:161:27 | in : ArrayList [] : Object | semmle.label | in : ArrayList [] : Object | +| Test.java:162:9:162:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:162:19:162:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:167:22:167:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | semmle.label | newCacheWithMapValue(...) : LoadingCache [] : Object | +| Test.java:167:43:167:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:168:10:168:11 | in : LoadingCache [] : Object | semmle.label | in : LoadingCache [] : Object | +| Test.java:168:10:168:24 | getAll(...) : ImmutableMap [] : Object | semmle.label | getAll(...) : ImmutableMap [] : Object | +| Test.java:169:9:169:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:169:21:169:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:174:22:174:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | semmle.label | newCacheWithMapValue(...) : LoadingCache [] : Object | +| Test.java:174:43:174:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:175:10:175:11 | in : LoadingCache [] : Object | semmle.label | in : LoadingCache [] : Object | +| Test.java:175:10:175:30 | getUnchecked(...) : Object | semmle.label | getUnchecked(...) : Object | +| Test.java:176:9:176:11 | out | semmle.label | out | +subpaths +| Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [] : Object | Test.java:16:20:16:37 | container : ConcurrentMap [] : Object | Test.java:16:49:16:84 | next(...) : Object | Test.java:17:51:17:78 | getMapKey(...) : Object | +| Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [] : Object | Test.java:16:20:16:37 | container : ConcurrentMap [] : Object | Test.java:16:49:16:84 | next(...) : Object | Test.java:17:51:17:78 | getMapKey(...) : Object | +| Test.java:19:65:19:81 | asMap(...) : ConcurrentMap [] : Object | Test.java:18:22:18:39 | container : ConcurrentMap [] : Object | Test.java:18:51:18:86 | next(...) : Object | Test.java:19:53:19:82 | getMapValue(...) : Object | +| Test.java:53:41:53:48 | source(...) : Object | Test.java:30:45:30:53 | element : Object | Test.java:33:10:33:11 | lc : LoadingCache [] : Object | Test.java:53:22:53:49 | newCacheWithMapKey(...) : LoadingCache [] : Object | +| Test.java:55:19:55:21 | out : ConcurrentMap [] : Object | Test.java:16:20:16:37 | container : ConcurrentMap [] : Object | Test.java:16:49:16:84 | next(...) : Object | Test.java:55:9:55:22 | getMapKey(...) | +| Test.java:60:34:60:41 | source(...) : Object | Test.java:30:45:30:53 | element : Object | Test.java:33:10:33:11 | lc : LoadingCache [] : Object | Test.java:60:15:60:42 | newCacheWithMapKey(...) : LoadingCache [] : Object | +| Test.java:62:19:62:21 | out : ConcurrentMap [] : Object | Test.java:16:20:16:37 | container : ConcurrentMap [] : Object | Test.java:16:49:16:84 | next(...) : Object | Test.java:62:9:62:22 | getMapKey(...) | +| Test.java:67:43:67:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | Test.java:43:10:43:11 | lc : LoadingCache [] : Object | Test.java:67:22:67:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | +| Test.java:69:21:69:23 | out : ConcurrentMap [] : Object | Test.java:18:22:18:39 | container : ConcurrentMap [] : Object | Test.java:18:51:18:86 | next(...) : Object | Test.java:69:9:69:24 | getMapValue(...) | +| Test.java:74:36:74:43 | source(...) : Object | Test.java:40:47:40:55 | element : Object | Test.java:43:10:43:11 | lc : LoadingCache [] : Object | Test.java:74:15:74:44 | newCacheWithMapValue(...) : LoadingCache [] : Object | +| Test.java:76:21:76:23 | out : ConcurrentMap [] : Object | Test.java:18:22:18:39 | container : ConcurrentMap [] : Object | Test.java:18:51:18:86 | next(...) : Object | Test.java:76:9:76:24 | getMapValue(...) | +| Test.java:81:36:81:43 | source(...) : Object | Test.java:40:47:40:55 | element : Object | Test.java:43:10:43:11 | lc : LoadingCache [] : Object | Test.java:81:15:81:44 | newCacheWithMapValue(...) : LoadingCache [] : Object | +| Test.java:88:33:88:40 | source(...) : Object | Test.java:20:33:20:41 | element : Object | Test.java:23:10:23:10 | l : ArrayList [] : Object | Test.java:88:18:88:41 | newWithElement(...) : ArrayList [] : Object | +| Test.java:91:19:91:21 | out : ImmutableMap [] : Object | Test.java:16:20:16:37 | container : ImmutableMap [] : Object | Test.java:16:49:16:84 | next(...) : Object | Test.java:91:9:91:22 | getMapKey(...) | +| Test.java:96:34:96:41 | source(...) : Object | Test.java:30:45:30:53 | element : Object | Test.java:33:10:33:11 | lc : LoadingCache [] : Object | Test.java:96:15:96:42 | newCacheWithMapKey(...) : LoadingCache [] : Object | +| Test.java:98:19:98:21 | out : ImmutableMap [] : Object | Test.java:16:20:16:37 | container : ImmutableMap [] : Object | Test.java:16:49:16:84 | next(...) : Object | Test.java:98:9:98:22 | getMapKey(...) | +| Test.java:103:36:103:43 | source(...) : Object | Test.java:40:47:40:55 | element : Object | Test.java:43:10:43:11 | lc : LoadingCache [] : Object | Test.java:103:15:103:44 | newCacheWithMapValue(...) : LoadingCache [] : Object | +| Test.java:112:19:112:21 | out : Cache [] : Object | Test.java:17:20:17:39 | container : Cache [] : Object | Test.java:17:51:17:78 | getMapKey(...) : Object | Test.java:112:9:112:22 | getMapKey(...) | +| Test.java:119:21:119:23 | out : Cache [] : Object | Test.java:19:22:19:41 | container : Cache [] : Object | Test.java:19:53:19:82 | getMapValue(...) : Object | Test.java:119:9:119:24 | getMapValue(...) | +| Test.java:124:30:124:37 | source(...) : Object | Test.java:25:34:25:42 | element : Object | Test.java:28:10:28:10 | m : HashMap [] : Object | Test.java:124:13:124:38 | newMapWithMapKey(...) : HashMap [] : Object | +| Test.java:126:19:126:21 | out : Cache [] : Object | Test.java:17:20:17:39 | container : Cache [] : Object | Test.java:17:51:17:78 | getMapKey(...) : Object | Test.java:126:9:126:22 | getMapKey(...) | +| Test.java:131:32:131:39 | source(...) : Object | Test.java:35:36:35:44 | element : Object | Test.java:38:10:38:10 | m : HashMap [] : Object | Test.java:131:13:131:40 | newMapWithMapValue(...) : HashMap [] : Object | +| Test.java:133:21:133:23 | out : Cache [] : Object | Test.java:19:22:19:41 | container : Cache [] : Object | Test.java:19:53:19:82 | getMapValue(...) : Object | Test.java:133:9:133:24 | getMapValue(...) | +| Test.java:138:43:138:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | Test.java:43:10:43:11 | lc : LoadingCache [] : Object | Test.java:138:22:138:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | +| Test.java:145:43:145:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | Test.java:43:10:43:11 | lc : LoadingCache [] : Object | Test.java:145:22:145:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | +| Test.java:152:43:152:50 | source(...) : Object | Test.java:20:33:20:41 | element : Object | Test.java:23:10:23:10 | l : ArrayList [] : Object | Test.java:152:28:152:51 | newWithElement(...) : ArrayList [] : Object | +| Test.java:154:19:154:21 | out : LoadingCache [] : Object | Test.java:17:20:17:39 | container : LoadingCache [] : Object | Test.java:17:51:17:78 | getMapKey(...) : Object | Test.java:154:9:154:22 | getMapKey(...) | +| Test.java:159:43:159:50 | source(...) : Object | Test.java:20:33:20:41 | element : Object | Test.java:23:10:23:10 | l : ArrayList [] : Object | Test.java:159:28:159:51 | newWithElement(...) : ArrayList [] : Object | +| Test.java:162:19:162:21 | out : ImmutableMap [] : Object | Test.java:16:20:16:37 | container : ImmutableMap [] : Object | Test.java:16:49:16:84 | next(...) : Object | Test.java:162:9:162:22 | getMapKey(...) | +| Test.java:167:43:167:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | Test.java:43:10:43:11 | lc : LoadingCache [] : Object | Test.java:167:22:167:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | +| Test.java:169:21:169:23 | out : ImmutableMap [] : Object | Test.java:18:22:18:39 | container : ImmutableMap [] : Object | Test.java:18:51:18:86 | next(...) : Object | Test.java:169:9:169:24 | getMapValue(...) | +| Test.java:174:43:174:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | Test.java:43:10:43:11 | lc : LoadingCache [] : Object | Test.java:174:22:174:51 | newCacheWithMapValue(...) : LoadingCache [] : Object | +testFailures diff --git a/java/ql/test/library-tests/frameworks/guava/generated/collect/test.expected b/java/ql/test/library-tests/frameworks/guava/generated/collect/test.expected index e69de29bb2d..3559272b382 100644 --- a/java/ql/test/library-tests/frameworks/guava/generated/collect/test.expected +++ b/java/ql/test/library-tests/frameworks/guava/generated/collect/test.expected @@ -0,0 +1,18552 @@ +models +| 1 | Summary: com.google.common.base; Optional; true; get; (); ; Argument[this].Element; ReturnValue; value; manual | +| 2 | Summary: com.google.common.collect; ArrayListMultimap; true; create; (Multimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 3 | Summary: com.google.common.collect; ArrayListMultimap; true; create; (Multimap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 4 | Summary: com.google.common.collect; ArrayTable; true; create; (Iterable,Iterable); ; Argument[0].Element; ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 5 | Summary: com.google.common.collect; ArrayTable; true; create; (Iterable,Iterable); ; Argument[1].Element; ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 6 | Summary: com.google.common.collect; ArrayTable; true; create; (Table); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 7 | Summary: com.google.common.collect; ArrayTable; true; create; (Table); ; Argument[0].SyntheticField[com.google.common.collect.Table.columnKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 8 | Summary: com.google.common.collect; ArrayTable; true; create; (Table); ; Argument[0].SyntheticField[com.google.common.collect.Table.rowKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 9 | Summary: com.google.common.collect; BiMap; true; forcePut; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 10 | Summary: com.google.common.collect; BiMap; true; forcePut; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 11 | Summary: com.google.common.collect; BiMap; true; inverse; (); ; Argument[this].MapKey; ReturnValue.MapValue; value; manual | +| 12 | Summary: com.google.common.collect; BiMap; true; inverse; (); ; Argument[this].MapValue; ReturnValue.MapKey; value; manual | +| 13 | Summary: com.google.common.collect; ClassToInstanceMap; true; getInstance; (Class); ; Argument[this].MapValue; ReturnValue; value; manual | +| 14 | Summary: com.google.common.collect; ClassToInstanceMap; true; putInstance; (Class,Object); ; Argument[this].MapValue; ReturnValue; value; manual | +| 15 | Summary: com.google.common.collect; ClassToInstanceMap; true; putInstance; (Class,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 16 | Summary: com.google.common.collect; Collections2; false; filter; (Collection,Predicate); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 17 | Summary: com.google.common.collect; Collections2; false; orderedPermutations; (Iterable); ; Argument[0].Element; ReturnValue.Element.Element; value; manual | +| 18 | Summary: com.google.common.collect; Collections2; false; orderedPermutations; (Iterable,Comparator); ; Argument[0].Element; ReturnValue.Element.Element; value; manual | +| 19 | Summary: com.google.common.collect; Collections2; false; permutations; (Collection); ; Argument[0].Element; ReturnValue.Element.Element; value; manual | +| 20 | Summary: com.google.common.collect; ConcurrentHashMultiset; true; create; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 21 | Summary: com.google.common.collect; HashBasedTable; true; create; (Table); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 22 | Summary: com.google.common.collect; HashBasedTable; true; create; (Table); ; Argument[0].SyntheticField[com.google.common.collect.Table.columnKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 23 | Summary: com.google.common.collect; HashBasedTable; true; create; (Table); ; Argument[0].SyntheticField[com.google.common.collect.Table.rowKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 24 | Summary: com.google.common.collect; HashBiMap; true; create; (Map); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 25 | Summary: com.google.common.collect; HashBiMap; true; create; (Map); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 26 | Summary: com.google.common.collect; HashMultimap; true; create; (Multimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 27 | Summary: com.google.common.collect; HashMultimap; true; create; (Multimap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 28 | Summary: com.google.common.collect; HashMultiset; true; create; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 29 | Summary: com.google.common.collect; ImmutableBiMap; true; of; ; ; Argument[0]; ReturnValue.MapKey; value; manual | +| 30 | Summary: com.google.common.collect; ImmutableBiMap; true; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual | +| 31 | Summary: com.google.common.collect; ImmutableBiMap; true; of; ; ; Argument[2]; ReturnValue.MapKey; value; manual | +| 32 | Summary: com.google.common.collect; ImmutableBiMap; true; of; ; ; Argument[3]; ReturnValue.MapValue; value; manual | +| 33 | Summary: com.google.common.collect; ImmutableBiMap; true; of; ; ; Argument[4]; ReturnValue.MapKey; value; manual | +| 34 | Summary: com.google.common.collect; ImmutableBiMap; true; of; ; ; Argument[5]; ReturnValue.MapValue; value; manual | +| 35 | Summary: com.google.common.collect; ImmutableBiMap; true; of; ; ; Argument[6]; ReturnValue.MapKey; value; manual | +| 36 | Summary: com.google.common.collect; ImmutableBiMap; true; of; ; ; Argument[7]; ReturnValue.MapValue; value; manual | +| 37 | Summary: com.google.common.collect; ImmutableBiMap; true; of; ; ; Argument[8]; ReturnValue.MapKey; value; manual | +| 38 | Summary: com.google.common.collect; ImmutableBiMap; true; of; ; ; Argument[9]; ReturnValue.MapValue; value; manual | +| 39 | Summary: com.google.common.collect; ImmutableClassToInstanceMap; true; copyOf; (Map); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 40 | Summary: com.google.common.collect; ImmutableClassToInstanceMap; true; copyOf; (Map); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 41 | Summary: com.google.common.collect; ImmutableClassToInstanceMap; true; of; (Class,Object); ; Argument[0]; ReturnValue.MapKey; value; manual | +| 42 | Summary: com.google.common.collect; ImmutableClassToInstanceMap; true; of; (Class,Object); ; Argument[1]; ReturnValue.MapValue; value; manual | +| 43 | Summary: com.google.common.collect; ImmutableCollection; true; asList; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 44 | Summary: com.google.common.collect; ImmutableCollection$Builder; true; add; ; ; Argument[this]; ReturnValue; value; manual | +| 45 | Summary: com.google.common.collect; ImmutableCollection$Builder; true; add; (Object); ; Argument[0]; Argument[this].Element; value; manual | +| 46 | Summary: com.google.common.collect; ImmutableCollection$Builder; true; add; (Object[]); ; Argument[0].ArrayElement; Argument[this].Element; value; manual | +| 47 | Summary: com.google.common.collect; ImmutableCollection$Builder; true; addAll; ; ; Argument[this]; ReturnValue; value; manual | +| 48 | Summary: com.google.common.collect; ImmutableCollection$Builder; true; addAll; (Iterable); ; Argument[0].Element; Argument[this].Element; value; manual | +| 49 | Summary: com.google.common.collect; ImmutableCollection$Builder; true; addAll; (Iterator); ; Argument[0].Element; Argument[this].Element; value; manual | +| 50 | Summary: com.google.common.collect; ImmutableCollection$Builder; true; build; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 51 | Summary: com.google.common.collect; ImmutableList; true; copyOf; (Collection); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 52 | Summary: com.google.common.collect; ImmutableList; true; copyOf; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 53 | Summary: com.google.common.collect; ImmutableList; true; copyOf; (Iterator); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 54 | Summary: com.google.common.collect; ImmutableList; true; copyOf; (Object[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 55 | Summary: com.google.common.collect; ImmutableList; true; of; ; ; Argument[0..11]; ReturnValue.Element; value; manual | +| 56 | Summary: com.google.common.collect; ImmutableList; true; of; ; ; Argument[12].ArrayElement; ReturnValue.Element; value; manual | +| 57 | Summary: com.google.common.collect; ImmutableList; true; reverse; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 58 | Summary: com.google.common.collect; ImmutableList; true; sortedCopyOf; (Comparator,Iterable); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 59 | Summary: com.google.common.collect; ImmutableList; true; sortedCopyOf; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 60 | Summary: com.google.common.collect; ImmutableListMultimap; true; of; ; ; Argument[0]; ReturnValue.MapKey; value; manual | +| 61 | Summary: com.google.common.collect; ImmutableListMultimap; true; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual | +| 62 | Summary: com.google.common.collect; ImmutableListMultimap; true; of; ; ; Argument[2]; ReturnValue.MapKey; value; manual | +| 63 | Summary: com.google.common.collect; ImmutableListMultimap; true; of; ; ; Argument[3]; ReturnValue.MapValue; value; manual | +| 64 | Summary: com.google.common.collect; ImmutableListMultimap; true; of; ; ; Argument[4]; ReturnValue.MapKey; value; manual | +| 65 | Summary: com.google.common.collect; ImmutableListMultimap; true; of; ; ; Argument[5]; ReturnValue.MapValue; value; manual | +| 66 | Summary: com.google.common.collect; ImmutableListMultimap; true; of; ; ; Argument[6]; ReturnValue.MapKey; value; manual | +| 67 | Summary: com.google.common.collect; ImmutableListMultimap; true; of; ; ; Argument[7]; ReturnValue.MapValue; value; manual | +| 68 | Summary: com.google.common.collect; ImmutableListMultimap; true; of; ; ; Argument[8]; ReturnValue.MapKey; value; manual | +| 69 | Summary: com.google.common.collect; ImmutableListMultimap; true; of; ; ; Argument[9]; ReturnValue.MapValue; value; manual | +| 70 | Summary: com.google.common.collect; ImmutableMap; true; copyOf; (Iterable); ; Argument[0].Element.MapKey; ReturnValue.MapKey; value; manual | +| 71 | Summary: com.google.common.collect; ImmutableMap; true; copyOf; (Iterable); ; Argument[0].Element.MapValue; ReturnValue.MapValue; value; manual | +| 72 | Summary: com.google.common.collect; ImmutableMap; true; copyOf; (Map); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 73 | Summary: com.google.common.collect; ImmutableMap; true; copyOf; (Map); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 74 | Summary: com.google.common.collect; ImmutableMap; true; of; ; ; Argument[0]; ReturnValue.MapKey; value; manual | +| 75 | Summary: com.google.common.collect; ImmutableMap; true; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual | +| 76 | Summary: com.google.common.collect; ImmutableMap; true; of; ; ; Argument[2]; ReturnValue.MapKey; value; manual | +| 77 | Summary: com.google.common.collect; ImmutableMap; true; of; ; ; Argument[3]; ReturnValue.MapValue; value; manual | +| 78 | Summary: com.google.common.collect; ImmutableMap; true; of; ; ; Argument[4]; ReturnValue.MapKey; value; manual | +| 79 | Summary: com.google.common.collect; ImmutableMap; true; of; ; ; Argument[5]; ReturnValue.MapValue; value; manual | +| 80 | Summary: com.google.common.collect; ImmutableMap; true; of; ; ; Argument[6]; ReturnValue.MapKey; value; manual | +| 81 | Summary: com.google.common.collect; ImmutableMap; true; of; ; ; Argument[7]; ReturnValue.MapValue; value; manual | +| 82 | Summary: com.google.common.collect; ImmutableMap; true; of; ; ; Argument[8]; ReturnValue.MapKey; value; manual | +| 83 | Summary: com.google.common.collect; ImmutableMap; true; of; ; ; Argument[9]; ReturnValue.MapValue; value; manual | +| 84 | Summary: com.google.common.collect; ImmutableMap$Builder; true; build; (); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 85 | Summary: com.google.common.collect; ImmutableMap$Builder; true; build; (); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 86 | Summary: com.google.common.collect; ImmutableMap$Builder; true; orderEntriesByValue; (Comparator); ; Argument[this]; ReturnValue; value; manual | +| 87 | Summary: com.google.common.collect; ImmutableMap$Builder; true; put; ; ; Argument[this]; ReturnValue; value; manual | +| 88 | Summary: com.google.common.collect; ImmutableMap$Builder; true; put; (Map$Entry); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 89 | Summary: com.google.common.collect; ImmutableMap$Builder; true; put; (Map$Entry); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 90 | Summary: com.google.common.collect; ImmutableMap$Builder; true; put; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 91 | Summary: com.google.common.collect; ImmutableMap$Builder; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 92 | Summary: com.google.common.collect; ImmutableMap$Builder; true; putAll; ; ; Argument[this]; ReturnValue; value; manual | +| 93 | Summary: com.google.common.collect; ImmutableMap$Builder; true; putAll; (Iterable); ; Argument[0].Element.MapKey; Argument[this].MapKey; value; manual | +| 94 | Summary: com.google.common.collect; ImmutableMap$Builder; true; putAll; (Iterable); ; Argument[0].Element.MapValue; Argument[this].MapValue; value; manual | +| 95 | Summary: com.google.common.collect; ImmutableMap$Builder; true; putAll; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 96 | Summary: com.google.common.collect; ImmutableMap$Builder; true; putAll; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 97 | Summary: com.google.common.collect; ImmutableMultimap; true; copyOf; (Iterable); ; Argument[0].Element.MapKey; ReturnValue.MapKey; value; manual | +| 98 | Summary: com.google.common.collect; ImmutableMultimap; true; copyOf; (Iterable); ; Argument[0].Element.MapValue; ReturnValue.MapValue; value; manual | +| 99 | Summary: com.google.common.collect; ImmutableMultimap; true; copyOf; (Multimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 100 | Summary: com.google.common.collect; ImmutableMultimap; true; copyOf; (Multimap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 101 | Summary: com.google.common.collect; ImmutableMultimap; true; inverse; (); ; Argument[this].MapKey; ReturnValue.MapValue; value; manual | +| 102 | Summary: com.google.common.collect; ImmutableMultimap; true; inverse; (); ; Argument[this].MapValue; ReturnValue.MapKey; value; manual | +| 103 | Summary: com.google.common.collect; ImmutableMultimap; true; of; ; ; Argument[0]; ReturnValue.MapKey; value; manual | +| 104 | Summary: com.google.common.collect; ImmutableMultimap; true; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual | +| 105 | Summary: com.google.common.collect; ImmutableMultimap; true; of; ; ; Argument[2]; ReturnValue.MapKey; value; manual | +| 106 | Summary: com.google.common.collect; ImmutableMultimap; true; of; ; ; Argument[3]; ReturnValue.MapValue; value; manual | +| 107 | Summary: com.google.common.collect; ImmutableMultimap; true; of; ; ; Argument[4]; ReturnValue.MapKey; value; manual | +| 108 | Summary: com.google.common.collect; ImmutableMultimap; true; of; ; ; Argument[5]; ReturnValue.MapValue; value; manual | +| 109 | Summary: com.google.common.collect; ImmutableMultimap; true; of; ; ; Argument[6]; ReturnValue.MapKey; value; manual | +| 110 | Summary: com.google.common.collect; ImmutableMultimap; true; of; ; ; Argument[7]; ReturnValue.MapValue; value; manual | +| 111 | Summary: com.google.common.collect; ImmutableMultimap; true; of; ; ; Argument[8]; ReturnValue.MapKey; value; manual | +| 112 | Summary: com.google.common.collect; ImmutableMultimap; true; of; ; ; Argument[9]; ReturnValue.MapValue; value; manual | +| 113 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; build; (); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 114 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; build; (); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 115 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; orderKeysBy; (Comparator); ; Argument[this]; ReturnValue; value; manual | +| 116 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; orderValuesBy; (Comparator); ; Argument[this]; ReturnValue; value; manual | +| 117 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; put; ; ; Argument[this]; ReturnValue; value; manual | +| 118 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; put; (Map$Entry); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 119 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; put; (Map$Entry); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 120 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; put; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 121 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 122 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; putAll; ; ; Argument[this]; ReturnValue; value; manual | +| 123 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; putAll; (Iterable); ; Argument[0].Element.MapKey; Argument[this].MapKey; value; manual | +| 124 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; putAll; (Iterable); ; Argument[0].Element.MapValue; Argument[this].MapValue; value; manual | +| 125 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; putAll; (Multimap); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 126 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; putAll; (Multimap); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 127 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; putAll; (Object,Iterable); ; Argument[0]; Argument[this].MapKey; value; manual | +| 128 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; putAll; (Object,Iterable); ; Argument[1].Element; Argument[this].MapValue; value; manual | +| 129 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; putAll; (Object,Object[]); ; Argument[0]; Argument[this].MapKey; value; manual | +| 130 | Summary: com.google.common.collect; ImmutableMultimap$Builder; true; putAll; (Object,Object[]); ; Argument[1].ArrayElement; Argument[this].MapValue; value; manual | +| 131 | Summary: com.google.common.collect; ImmutableMultiset; true; copyOf; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 132 | Summary: com.google.common.collect; ImmutableMultiset; true; copyOf; (Iterator); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 133 | Summary: com.google.common.collect; ImmutableMultiset; true; copyOf; (Object[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 134 | Summary: com.google.common.collect; ImmutableMultiset; true; of; ; ; Argument[0..5]; ReturnValue.Element; value; manual | +| 135 | Summary: com.google.common.collect; ImmutableMultiset; true; of; ; ; Argument[6].ArrayElement; ReturnValue.Element; value; manual | +| 136 | Summary: com.google.common.collect; ImmutableMultiset$Builder; true; addCopies; (Object,int); ; Argument[this]; ReturnValue; value; manual | +| 137 | Summary: com.google.common.collect; ImmutableMultiset$Builder; true; addCopies; (Object,int); ; Argument[0]; Argument[this].Element; value; manual | +| 138 | Summary: com.google.common.collect; ImmutableMultiset$Builder; true; setCount; (Object,int); ; Argument[0]; Argument[this].Element; value; manual | +| 139 | Summary: com.google.common.collect; ImmutableSet; true; copyOf; (Collection); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 140 | Summary: com.google.common.collect; ImmutableSet; true; copyOf; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 141 | Summary: com.google.common.collect; ImmutableSet; true; copyOf; (Iterator); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 142 | Summary: com.google.common.collect; ImmutableSet; true; copyOf; (Object[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 143 | Summary: com.google.common.collect; ImmutableSet; true; of; ; ; Argument[0..5]; ReturnValue.Element; value; manual | +| 144 | Summary: com.google.common.collect; ImmutableSet; true; of; ; ; Argument[6].ArrayElement; ReturnValue.Element; value; manual | +| 145 | Summary: com.google.common.collect; ImmutableSetMultimap; true; of; ; ; Argument[0]; ReturnValue.MapKey; value; manual | +| 146 | Summary: com.google.common.collect; ImmutableSetMultimap; true; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual | +| 147 | Summary: com.google.common.collect; ImmutableSetMultimap; true; of; ; ; Argument[2]; ReturnValue.MapKey; value; manual | +| 148 | Summary: com.google.common.collect; ImmutableSetMultimap; true; of; ; ; Argument[3]; ReturnValue.MapValue; value; manual | +| 149 | Summary: com.google.common.collect; ImmutableSetMultimap; true; of; ; ; Argument[4]; ReturnValue.MapKey; value; manual | +| 150 | Summary: com.google.common.collect; ImmutableSetMultimap; true; of; ; ; Argument[5]; ReturnValue.MapValue; value; manual | +| 151 | Summary: com.google.common.collect; ImmutableSetMultimap; true; of; ; ; Argument[6]; ReturnValue.MapKey; value; manual | +| 152 | Summary: com.google.common.collect; ImmutableSetMultimap; true; of; ; ; Argument[7]; ReturnValue.MapValue; value; manual | +| 153 | Summary: com.google.common.collect; ImmutableSetMultimap; true; of; ; ; Argument[8]; ReturnValue.MapKey; value; manual | +| 154 | Summary: com.google.common.collect; ImmutableSetMultimap; true; of; ; ; Argument[9]; ReturnValue.MapValue; value; manual | +| 155 | Summary: com.google.common.collect; ImmutableSortedMap; true; copyOf; (Iterable); ; Argument[0].Element.MapKey; ReturnValue.MapKey; value; manual | +| 156 | Summary: com.google.common.collect; ImmutableSortedMap; true; copyOf; (Iterable); ; Argument[0].Element.MapValue; ReturnValue.MapValue; value; manual | +| 157 | Summary: com.google.common.collect; ImmutableSortedMap; true; copyOf; (Iterable,Comparator); ; Argument[0].Element.MapKey; ReturnValue.MapKey; value; manual | +| 158 | Summary: com.google.common.collect; ImmutableSortedMap; true; copyOf; (Iterable,Comparator); ; Argument[0].Element.MapValue; ReturnValue.MapValue; value; manual | +| 159 | Summary: com.google.common.collect; ImmutableSortedMap; true; copyOf; (Map); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 160 | Summary: com.google.common.collect; ImmutableSortedMap; true; copyOf; (Map); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 161 | Summary: com.google.common.collect; ImmutableSortedMap; true; copyOf; (Map,Comparator); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 162 | Summary: com.google.common.collect; ImmutableSortedMap; true; copyOf; (Map,Comparator); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 163 | Summary: com.google.common.collect; ImmutableSortedMap; true; copyOfSorted; (SortedMap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 164 | Summary: com.google.common.collect; ImmutableSortedMap; true; copyOfSorted; (SortedMap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 165 | Summary: com.google.common.collect; ImmutableSortedMap; true; of; ; ; Argument[0]; ReturnValue.MapKey; value; manual | +| 166 | Summary: com.google.common.collect; ImmutableSortedMap; true; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual | +| 167 | Summary: com.google.common.collect; ImmutableSortedMap; true; of; ; ; Argument[2]; ReturnValue.MapKey; value; manual | +| 168 | Summary: com.google.common.collect; ImmutableSortedMap; true; of; ; ; Argument[3]; ReturnValue.MapValue; value; manual | +| 169 | Summary: com.google.common.collect; ImmutableSortedMap; true; of; ; ; Argument[4]; ReturnValue.MapKey; value; manual | +| 170 | Summary: com.google.common.collect; ImmutableSortedMap; true; of; ; ; Argument[5]; ReturnValue.MapValue; value; manual | +| 171 | Summary: com.google.common.collect; ImmutableSortedMap; true; of; ; ; Argument[6]; ReturnValue.MapKey; value; manual | +| 172 | Summary: com.google.common.collect; ImmutableSortedMap; true; of; ; ; Argument[7]; ReturnValue.MapValue; value; manual | +| 173 | Summary: com.google.common.collect; ImmutableSortedMap; true; of; ; ; Argument[8]; ReturnValue.MapKey; value; manual | +| 174 | Summary: com.google.common.collect; ImmutableSortedMap; true; of; ; ; Argument[9]; ReturnValue.MapValue; value; manual | +| 175 | Summary: com.google.common.collect; ImmutableSortedMultiset; true; copyOf; (Comparable[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 176 | Summary: com.google.common.collect; ImmutableSortedMultiset; true; copyOf; (Comparator,Iterable); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 177 | Summary: com.google.common.collect; ImmutableSortedMultiset; true; copyOf; (Comparator,Iterator); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 178 | Summary: com.google.common.collect; ImmutableSortedMultiset; true; copyOf; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 179 | Summary: com.google.common.collect; ImmutableSortedMultiset; true; copyOf; (Iterator); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 180 | Summary: com.google.common.collect; ImmutableSortedMultiset; true; copyOfSorted; (SortedMultiset); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 181 | Summary: com.google.common.collect; ImmutableSortedMultiset; true; of; ; ; Argument[0..5]; ReturnValue.Element; value; manual | +| 182 | Summary: com.google.common.collect; ImmutableSortedMultiset; true; of; ; ; Argument[6].ArrayElement; ReturnValue.Element; value; manual | +| 183 | Summary: com.google.common.collect; ImmutableSortedSet; true; copyOf; (Collection); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 184 | Summary: com.google.common.collect; ImmutableSortedSet; true; copyOf; (Comparable[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 185 | Summary: com.google.common.collect; ImmutableSortedSet; true; copyOf; (Comparator,Collection); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 186 | Summary: com.google.common.collect; ImmutableSortedSet; true; copyOf; (Comparator,Iterable); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 187 | Summary: com.google.common.collect; ImmutableSortedSet; true; copyOf; (Comparator,Iterator); ; Argument[1].Element; ReturnValue.Element; value; manual | +| 188 | Summary: com.google.common.collect; ImmutableSortedSet; true; copyOf; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 189 | Summary: com.google.common.collect; ImmutableSortedSet; true; copyOf; (Iterator); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 190 | Summary: com.google.common.collect; ImmutableSortedSet; true; copyOfSorted; (SortedSet); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 191 | Summary: com.google.common.collect; ImmutableSortedSet; true; of; ; ; Argument[0..5]; ReturnValue.Element; value; manual | +| 192 | Summary: com.google.common.collect; ImmutableSortedSet; true; of; ; ; Argument[6].ArrayElement; ReturnValue.Element; value; manual | +| 193 | Summary: com.google.common.collect; ImmutableTable; true; copyOf; (Table); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 194 | Summary: com.google.common.collect; ImmutableTable; true; copyOf; (Table); ; Argument[0].SyntheticField[com.google.common.collect.Table.columnKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 195 | Summary: com.google.common.collect; ImmutableTable; true; copyOf; (Table); ; Argument[0].SyntheticField[com.google.common.collect.Table.rowKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 196 | Summary: com.google.common.collect; ImmutableTable; true; of; (Object,Object,Object); ; Argument[0]; ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 197 | Summary: com.google.common.collect; ImmutableTable; true; of; (Object,Object,Object); ; Argument[1]; ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 198 | Summary: com.google.common.collect; ImmutableTable; true; of; (Object,Object,Object); ; Argument[2]; ReturnValue.MapValue; value; manual | +| 199 | Summary: com.google.common.collect; ImmutableTable$Builder; true; build; (); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 200 | Summary: com.google.common.collect; ImmutableTable$Builder; true; build; (); ; Argument[this].SyntheticField[com.google.common.collect.Table.columnKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 201 | Summary: com.google.common.collect; ImmutableTable$Builder; true; build; (); ; Argument[this].SyntheticField[com.google.common.collect.Table.rowKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 202 | Summary: com.google.common.collect; ImmutableTable$Builder; true; orderColumnsBy; (Comparator); ; Argument[this]; ReturnValue; value; manual | +| 203 | Summary: com.google.common.collect; ImmutableTable$Builder; true; orderRowsBy; (Comparator); ; Argument[this]; ReturnValue; value; manual | +| 204 | Summary: com.google.common.collect; ImmutableTable$Builder; true; put; (Table$Cell); ; Argument[this]; ReturnValue; value; manual | +| 205 | Summary: com.google.common.collect; ImmutableTable$Builder; true; put; (Table$Cell); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 206 | Summary: com.google.common.collect; ImmutableTable$Builder; true; put; (Table$Cell); ; Argument[0].SyntheticField[com.google.common.collect.Table.columnKey]; Argument[this].SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 207 | Summary: com.google.common.collect; ImmutableTable$Builder; true; put; (Table$Cell); ; Argument[0].SyntheticField[com.google.common.collect.Table.rowKey]; Argument[this].SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 208 | Summary: com.google.common.collect; ImmutableTable$Builder; true; put; (Object,Object,Object); ; Argument[this]; ReturnValue; value; manual | +| 209 | Summary: com.google.common.collect; ImmutableTable$Builder; true; put; (Object,Object,Object); ; Argument[0]; Argument[this].SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 210 | Summary: com.google.common.collect; ImmutableTable$Builder; true; put; (Object,Object,Object); ; Argument[1]; Argument[this].SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 211 | Summary: com.google.common.collect; ImmutableTable$Builder; true; put; (Object,Object,Object); ; Argument[2]; Argument[this].MapValue; value; manual | +| 212 | Summary: com.google.common.collect; ImmutableTable$Builder; true; putAll; (Table); ; Argument[this]; ReturnValue; value; manual | +| 213 | Summary: com.google.common.collect; ImmutableTable$Builder; true; putAll; (Table); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 214 | Summary: com.google.common.collect; ImmutableTable$Builder; true; putAll; (Table); ; Argument[0].SyntheticField[com.google.common.collect.Table.columnKey]; Argument[this].SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 215 | Summary: com.google.common.collect; ImmutableTable$Builder; true; putAll; (Table); ; Argument[0].SyntheticField[com.google.common.collect.Table.rowKey]; Argument[this].SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 216 | Summary: com.google.common.collect; Iterables; false; addAll; (Collection,Iterable); ; Argument[1].Element; Argument[0].Element; value; manual | +| 217 | Summary: com.google.common.collect; Iterables; false; concat; (Iterable); ; Argument[0].Element.Element; ReturnValue.Element; value; manual | +| 218 | Summary: com.google.common.collect; Iterables; false; concat; (Iterable,Iterable); ; Argument[0..1].Element; ReturnValue.Element; value; manual | +| 219 | Summary: com.google.common.collect; Iterables; false; concat; (Iterable,Iterable,Iterable); ; Argument[0..2].Element; ReturnValue.Element; value; manual | +| 220 | Summary: com.google.common.collect; Iterables; false; concat; (Iterable,Iterable,Iterable,Iterable); ; Argument[0..3].Element; ReturnValue.Element; value; manual | +| 221 | Summary: com.google.common.collect; Iterables; false; concat; (Iterable[]); ; Argument[0].ArrayElement.Element; ReturnValue.Element; value; manual | +| 222 | Summary: com.google.common.collect; Iterables; false; consumingIterable; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 223 | Summary: com.google.common.collect; Iterables; false; cycle; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 224 | Summary: com.google.common.collect; Iterables; false; cycle; (Object[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 225 | Summary: com.google.common.collect; Iterables; false; filter; (Iterable,Class); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 226 | Summary: com.google.common.collect; Iterables; false; filter; (Iterable,Predicate); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 227 | Summary: com.google.common.collect; Iterables; false; find; (Iterable,Predicate); ; Argument[0].Element; ReturnValue; value; manual | +| 228 | Summary: com.google.common.collect; Iterables; false; find; (Iterable,Predicate,Object); ; Argument[0].Element; ReturnValue; value; manual | +| 229 | Summary: com.google.common.collect; Iterables; false; find; (Iterable,Predicate,Object); ; Argument[2]; ReturnValue; value; manual | +| 230 | Summary: com.google.common.collect; Iterables; false; get; (Iterable,int); ; Argument[0].Element; ReturnValue; value; manual | +| 231 | Summary: com.google.common.collect; Iterables; false; get; (Iterable,int,Object); ; Argument[0].Element; ReturnValue; value; manual | +| 232 | Summary: com.google.common.collect; Iterables; false; get; (Iterable,int,Object); ; Argument[2]; ReturnValue; value; manual | +| 233 | Summary: com.google.common.collect; Iterables; false; getLast; (Iterable); ; Argument[0].Element; ReturnValue; value; manual | +| 234 | Summary: com.google.common.collect; Iterables; false; getLast; (Iterable,Object); ; Argument[0].Element; ReturnValue; value; manual | +| 235 | Summary: com.google.common.collect; Iterables; false; getLast; (Iterable,Object); ; Argument[1]; ReturnValue; value; manual | +| 236 | Summary: com.google.common.collect; Iterables; false; getOnlyElement; (Iterable); ; Argument[0].Element; ReturnValue; value; manual | +| 237 | Summary: com.google.common.collect; Iterables; false; getOnlyElement; (Iterable,Object); ; Argument[0].Element; ReturnValue; value; manual | +| 238 | Summary: com.google.common.collect; Iterables; false; getOnlyElement; (Iterable,Object); ; Argument[1]; ReturnValue; value; manual | +| 239 | Summary: com.google.common.collect; Iterables; false; limit; (Iterable,int); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 240 | Summary: com.google.common.collect; Iterables; false; mergeSorted; (Iterable,Comparator); ; Argument[0].Element.Element; ReturnValue.Element; value; manual | +| 241 | Summary: com.google.common.collect; Iterables; false; paddedPartition; (Iterable,int); ; Argument[0].Element; ReturnValue.Element.Element; value; manual | +| 242 | Summary: com.google.common.collect; Iterables; false; partition; (Iterable,int); ; Argument[0].Element; ReturnValue.Element.Element; value; manual | +| 243 | Summary: com.google.common.collect; Iterables; false; skip; (Iterable,int); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 244 | Summary: com.google.common.collect; Iterables; false; toArray; (Iterable,Class); ; Argument[0].Element; ReturnValue.ArrayElement; value; manual | +| 245 | Summary: com.google.common.collect; Iterables; false; tryFind; (Iterable,Predicate); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 246 | Summary: com.google.common.collect; Iterables; false; unmodifiableIterable; (ImmutableCollection); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 247 | Summary: com.google.common.collect; Iterables; false; unmodifiableIterable; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 248 | Summary: com.google.common.collect; Iterators; false; addAll; (Collection,Iterator); ; Argument[1].Element; Argument[0].Element; value; manual | +| 249 | Summary: com.google.common.collect; Iterators; false; asEnumeration; (Iterator); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 250 | Summary: com.google.common.collect; Iterators; false; concat; (Iterator); ; Argument[0].Element.Element; ReturnValue.Element; value; manual | +| 251 | Summary: com.google.common.collect; Iterators; false; concat; (Iterator,Iterator); ; Argument[0..1].Element; ReturnValue.Element; value; manual | +| 252 | Summary: com.google.common.collect; Iterators; false; concat; (Iterator,Iterator,Iterator); ; Argument[0..2].Element; ReturnValue.Element; value; manual | +| 253 | Summary: com.google.common.collect; Iterators; false; concat; (Iterator,Iterator,Iterator,Iterator); ; Argument[0..3].Element; ReturnValue.Element; value; manual | +| 254 | Summary: com.google.common.collect; Iterators; false; concat; (Iterator[]); ; Argument[0].ArrayElement.Element; ReturnValue.Element; value; manual | +| 255 | Summary: com.google.common.collect; Iterators; false; consumingIterator; (Iterator); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 256 | Summary: com.google.common.collect; Iterators; false; cycle; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 257 | Summary: com.google.common.collect; Iterators; false; cycle; (Object[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 258 | Summary: com.google.common.collect; Iterators; false; filter; (Iterator,Class); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 259 | Summary: com.google.common.collect; Iterators; false; filter; (Iterator,Predicate); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 260 | Summary: com.google.common.collect; Iterators; false; find; (Iterator,Predicate); ; Argument[0].Element; ReturnValue; value; manual | +| 261 | Summary: com.google.common.collect; Iterators; false; find; (Iterator,Predicate,Object); ; Argument[0].Element; ReturnValue; value; manual | +| 262 | Summary: com.google.common.collect; Iterators; false; find; (Iterator,Predicate,Object); ; Argument[2]; ReturnValue; value; manual | +| 263 | Summary: com.google.common.collect; Iterators; false; forArray; (Object[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 264 | Summary: com.google.common.collect; Iterators; false; forEnumeration; (Enumeration); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 265 | Summary: com.google.common.collect; Iterators; false; get; (Iterator,int); ; Argument[0].Element; ReturnValue; value; manual | +| 266 | Summary: com.google.common.collect; Iterators; false; get; (Iterator,int,Object); ; Argument[0].Element; ReturnValue; value; manual | +| 267 | Summary: com.google.common.collect; Iterators; false; get; (Iterator,int,Object); ; Argument[2]; ReturnValue; value; manual | +| 268 | Summary: com.google.common.collect; Iterators; false; getLast; (Iterator); ; Argument[0].Element; ReturnValue; value; manual | +| 269 | Summary: com.google.common.collect; Iterators; false; getLast; (Iterator,Object); ; Argument[0].Element; ReturnValue; value; manual | +| 270 | Summary: com.google.common.collect; Iterators; false; getLast; (Iterator,Object); ; Argument[1]; ReturnValue; value; manual | +| 271 | Summary: com.google.common.collect; Iterators; false; getNext; (Iterator,Object); ; Argument[0].Element; ReturnValue; value; manual | +| 272 | Summary: com.google.common.collect; Iterators; false; getNext; (Iterator,Object); ; Argument[1]; ReturnValue; value; manual | +| 273 | Summary: com.google.common.collect; Iterators; false; getOnlyElement; (Iterator); ; Argument[0].Element; ReturnValue; value; manual | +| 274 | Summary: com.google.common.collect; Iterators; false; getOnlyElement; (Iterator,Object); ; Argument[0].Element; ReturnValue; value; manual | +| 275 | Summary: com.google.common.collect; Iterators; false; getOnlyElement; (Iterator,Object); ; Argument[1]; ReturnValue; value; manual | +| 276 | Summary: com.google.common.collect; Iterators; false; limit; (Iterator,int); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 277 | Summary: com.google.common.collect; Iterators; false; mergeSorted; (Iterable,Comparator); ; Argument[0].Element.Element; ReturnValue.Element; value; manual | +| 278 | Summary: com.google.common.collect; Iterators; false; paddedPartition; (Iterator,int); ; Argument[0].Element; ReturnValue.Element.Element; value; manual | +| 279 | Summary: com.google.common.collect; Iterators; false; partition; (Iterator,int); ; Argument[0].Element; ReturnValue.Element.Element; value; manual | +| 280 | Summary: com.google.common.collect; Iterators; false; peekingIterator; (Iterator); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 281 | Summary: com.google.common.collect; Iterators; false; peekingIterator; (PeekingIterator); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 282 | Summary: com.google.common.collect; Iterators; false; singletonIterator; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 283 | Summary: com.google.common.collect; Iterators; false; toArray; (Iterator,Class); ; Argument[0].Element; ReturnValue.ArrayElement; value; manual | +| 284 | Summary: com.google.common.collect; Iterators; false; tryFind; (Iterator,Predicate); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 285 | Summary: com.google.common.collect; Iterators; false; unmodifiableIterator; (Iterator); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 286 | Summary: com.google.common.collect; Iterators; false; unmodifiableIterator; (UnmodifiableIterator); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 287 | Summary: com.google.common.collect; LinkedHashMultimap; true; create; (Multimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 288 | Summary: com.google.common.collect; LinkedHashMultimap; true; create; (Multimap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 289 | Summary: com.google.common.collect; LinkedHashMultiset; true; create; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 290 | Summary: com.google.common.collect; LinkedListMultimap; true; create; (Multimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 291 | Summary: com.google.common.collect; LinkedListMultimap; true; create; (Multimap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 292 | Summary: com.google.common.collect; Lists; false; asList; (Object,Object,Object[]); ; Argument[0..1]; ReturnValue.Element; value; manual | +| 293 | Summary: com.google.common.collect; Lists; false; asList; (Object,Object,Object[]); ; Argument[2].ArrayElement; ReturnValue.Element; value; manual | +| 294 | Summary: com.google.common.collect; Lists; false; asList; (Object,Object[]); ; Argument[0]; ReturnValue.Element; value; manual | +| 295 | Summary: com.google.common.collect; Lists; false; asList; (Object,Object[]); ; Argument[1].ArrayElement; ReturnValue.Element; value; manual | +| 296 | Summary: com.google.common.collect; Lists; false; cartesianProduct; (List); ; Argument[0].Element.Element; ReturnValue.Element.Element; value; manual | +| 297 | Summary: com.google.common.collect; Lists; false; cartesianProduct; (List[]); ; Argument[0].ArrayElement.Element; ReturnValue.Element.Element; value; manual | +| 298 | Summary: com.google.common.collect; Lists; false; charactersOf; (CharSequence); ; Argument[0]; ReturnValue.Element; taint; manual | +| 299 | Summary: com.google.common.collect; Lists; false; charactersOf; (String); ; Argument[0]; ReturnValue.Element; taint; manual | +| 300 | Summary: com.google.common.collect; Lists; false; newArrayList; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 301 | Summary: com.google.common.collect; Lists; false; newArrayList; (Iterator); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 302 | Summary: com.google.common.collect; Lists; false; newArrayList; (Object[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 303 | Summary: com.google.common.collect; Lists; false; newCopyOnWriteArrayList; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 304 | Summary: com.google.common.collect; Lists; false; newLinkedList; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 305 | Summary: com.google.common.collect; Lists; false; partition; (List,int); ; Argument[0].Element; ReturnValue.Element.Element; value; manual | +| 306 | Summary: com.google.common.collect; Lists; false; reverse; (List); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 307 | Summary: com.google.common.collect; MapDifference; true; entriesDiffering; (); ; Argument[this].SyntheticField[com.google.common.collect.MapDifference.left].MapKey; ReturnValue.MapKey; value; manual | +| 308 | Summary: com.google.common.collect; MapDifference; true; entriesDiffering; (); ; Argument[this].SyntheticField[com.google.common.collect.MapDifference.left].MapValue; ReturnValue.MapValue.SyntheticField[com.google.common.collect.MapDifference.left]; value; manual | +| 309 | Summary: com.google.common.collect; MapDifference; true; entriesDiffering; (); ; Argument[this].SyntheticField[com.google.common.collect.MapDifference.right].MapKey; ReturnValue.MapKey; value; manual | +| 310 | Summary: com.google.common.collect; MapDifference; true; entriesDiffering; (); ; Argument[this].SyntheticField[com.google.common.collect.MapDifference.right].MapValue; ReturnValue.MapValue.SyntheticField[com.google.common.collect.MapDifference.right]; value; manual | +| 311 | Summary: com.google.common.collect; MapDifference; true; entriesInCommon; (); ; Argument[this].SyntheticField[com.google.common.collect.MapDifference.left].MapKey; ReturnValue.MapKey; value; manual | +| 312 | Summary: com.google.common.collect; MapDifference; true; entriesInCommon; (); ; Argument[this].SyntheticField[com.google.common.collect.MapDifference.left].MapValue; ReturnValue.MapValue; value; manual | +| 313 | Summary: com.google.common.collect; MapDifference; true; entriesInCommon; (); ; Argument[this].SyntheticField[com.google.common.collect.MapDifference.right].MapKey; ReturnValue.MapKey; value; manual | +| 314 | Summary: com.google.common.collect; MapDifference; true; entriesInCommon; (); ; Argument[this].SyntheticField[com.google.common.collect.MapDifference.right].MapValue; ReturnValue.MapValue; value; manual | +| 315 | Summary: com.google.common.collect; MapDifference; true; entriesOnlyOnLeft; (); ; Argument[this].SyntheticField[com.google.common.collect.MapDifference.left].MapKey; ReturnValue.MapKey; value; manual | +| 316 | Summary: com.google.common.collect; MapDifference; true; entriesOnlyOnLeft; (); ; Argument[this].SyntheticField[com.google.common.collect.MapDifference.left].MapValue; ReturnValue.MapValue; value; manual | +| 317 | Summary: com.google.common.collect; MapDifference; true; entriesOnlyOnRight; (); ; Argument[this].SyntheticField[com.google.common.collect.MapDifference.right].MapKey; ReturnValue.MapKey; value; manual | +| 318 | Summary: com.google.common.collect; MapDifference; true; entriesOnlyOnRight; (); ; Argument[this].SyntheticField[com.google.common.collect.MapDifference.right].MapValue; ReturnValue.MapValue; value; manual | +| 319 | Summary: com.google.common.collect; MapDifference$ValueDifference; true; leftValue; (); ; Argument[this].SyntheticField[com.google.common.collect.MapDifference.left]; ReturnValue; value; manual | +| 320 | Summary: com.google.common.collect; MapDifference$ValueDifference; true; rightValue; (); ; Argument[this].SyntheticField[com.google.common.collect.MapDifference.right]; ReturnValue; value; manual | +| 321 | Summary: com.google.common.collect; Maps; false; asMap; (NavigableSet,Function); ; Argument[0].Element; ReturnValue.MapKey; value; manual | +| 322 | Summary: com.google.common.collect; Maps; false; asMap; (Set,Function); ; Argument[0].Element; ReturnValue.MapKey; value; manual | +| 323 | Summary: com.google.common.collect; Maps; false; asMap; (SortedSet,Function); ; Argument[0].Element; ReturnValue.MapKey; value; manual | +| 324 | Summary: com.google.common.collect; Maps; false; difference; (Map,Map); ; Argument[0].MapKey; ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapKey; value; manual | +| 325 | Summary: com.google.common.collect; Maps; false; difference; (Map,Map); ; Argument[0].MapValue; ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapValue; value; manual | +| 326 | Summary: com.google.common.collect; Maps; false; difference; (Map,Map); ; Argument[1].MapKey; ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapKey; value; manual | +| 327 | Summary: com.google.common.collect; Maps; false; difference; (Map,Map); ; Argument[1].MapValue; ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapValue; value; manual | +| 328 | Summary: com.google.common.collect; Maps; false; difference; (Map,Map,Equivalence); ; Argument[0].MapKey; ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapKey; value; manual | +| 329 | Summary: com.google.common.collect; Maps; false; difference; (Map,Map,Equivalence); ; Argument[0].MapValue; ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapValue; value; manual | +| 330 | Summary: com.google.common.collect; Maps; false; difference; (Map,Map,Equivalence); ; Argument[1].MapKey; ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapKey; value; manual | +| 331 | Summary: com.google.common.collect; Maps; false; difference; (Map,Map,Equivalence); ; Argument[1].MapValue; ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapValue; value; manual | +| 332 | Summary: com.google.common.collect; Maps; false; difference; (SortedMap,Map); ; Argument[0].MapKey; ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapKey; value; manual | +| 333 | Summary: com.google.common.collect; Maps; false; difference; (SortedMap,Map); ; Argument[0].MapValue; ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapValue; value; manual | +| 334 | Summary: com.google.common.collect; Maps; false; difference; (SortedMap,Map); ; Argument[1].MapKey; ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapKey; value; manual | +| 335 | Summary: com.google.common.collect; Maps; false; difference; (SortedMap,Map); ; Argument[1].MapValue; ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapValue; value; manual | +| 336 | Summary: com.google.common.collect; Maps; false; filterEntries; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 337 | Summary: com.google.common.collect; Maps; false; filterKeys; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 338 | Summary: com.google.common.collect; Maps; false; filterValues; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 339 | Summary: com.google.common.collect; Maps; false; fromProperties; (Properties); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 340 | Summary: com.google.common.collect; Maps; false; fromProperties; (Properties); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 341 | Summary: com.google.common.collect; Maps; false; immutableEntry; (Object,Object); ; Argument[0]; ReturnValue.MapKey; value; manual | +| 342 | Summary: com.google.common.collect; Maps; false; immutableEntry; (Object,Object); ; Argument[1]; ReturnValue.MapValue; value; manual | +| 343 | Summary: com.google.common.collect; Maps; false; immutableEnumMap; (Map); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 344 | Summary: com.google.common.collect; Maps; false; newEnumMap; (Map); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 345 | Summary: com.google.common.collect; Maps; false; newHashMap; (Map); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 346 | Summary: com.google.common.collect; Maps; false; newHashMap; (Map); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 347 | Summary: com.google.common.collect; Maps; false; newLinkedHashMap; (Map); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 348 | Summary: com.google.common.collect; Maps; false; newLinkedHashMap; (Map); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 349 | Summary: com.google.common.collect; Maps; false; newTreeMap; (SortedMap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 350 | Summary: com.google.common.collect; Maps; false; newTreeMap; (SortedMap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 351 | Summary: com.google.common.collect; Maps; false; subMap; (NavigableMap,Range); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 352 | Summary: com.google.common.collect; Maps; false; subMap; (NavigableMap,Range); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 353 | Summary: com.google.common.collect; Maps; false; synchronizedBiMap; (BiMap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 354 | Summary: com.google.common.collect; Maps; false; synchronizedBiMap; (BiMap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 355 | Summary: com.google.common.collect; Maps; false; synchronizedNavigableMap; (NavigableMap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 356 | Summary: com.google.common.collect; Maps; false; synchronizedNavigableMap; (NavigableMap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 357 | Summary: com.google.common.collect; Maps; false; toMap; (Iterable,Function); ; Argument[0].Element; ReturnValue.MapKey; value; manual | +| 358 | Summary: com.google.common.collect; Maps; false; toMap; (Iterator,Function); ; Argument[0].Element; ReturnValue.MapKey; value; manual | +| 359 | Summary: com.google.common.collect; Maps; false; transformValues; (Map,Function); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 360 | Summary: com.google.common.collect; Maps; false; transformValues; (NavigableMap,Function); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 361 | Summary: com.google.common.collect; Maps; false; transformValues; (SortedMap,Function); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 362 | Summary: com.google.common.collect; Maps; false; uniqueIndex; (Iterable,Function); ; Argument[0].Element; ReturnValue.MapValue; value; manual | +| 363 | Summary: com.google.common.collect; Maps; false; uniqueIndex; (Iterator,Function); ; Argument[0].Element; ReturnValue.MapValue; value; manual | +| 364 | Summary: com.google.common.collect; Maps; false; unmodifiableBiMap; (BiMap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 365 | Summary: com.google.common.collect; Maps; false; unmodifiableBiMap; (BiMap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 366 | Summary: com.google.common.collect; Maps; false; unmodifiableNavigableMap; (NavigableMap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 367 | Summary: com.google.common.collect; Maps; false; unmodifiableNavigableMap; (NavigableMap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 368 | Summary: com.google.common.collect; Multimap; true; asMap; (); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 369 | Summary: com.google.common.collect; Multimap; true; asMap; (); ; Argument[this].MapValue; ReturnValue.MapValue.Element; value; manual | +| 370 | Summary: com.google.common.collect; Multimap; true; entries; (); ; Argument[this].MapKey; ReturnValue.Element.MapKey; value; manual | +| 371 | Summary: com.google.common.collect; Multimap; true; entries; (); ; Argument[this].MapValue; ReturnValue.Element.MapValue; value; manual | +| 372 | Summary: com.google.common.collect; Multimap; true; get; (Object); ; Argument[this].MapValue; ReturnValue.Element; value; manual | +| 373 | Summary: com.google.common.collect; Multimap; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 374 | Summary: com.google.common.collect; Multimap; true; keys; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 375 | Summary: com.google.common.collect; Multimap; true; put; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 376 | Summary: com.google.common.collect; Multimap; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 377 | Summary: com.google.common.collect; Multimap; true; putAll; (Multimap); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 378 | Summary: com.google.common.collect; Multimap; true; putAll; (Multimap); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 379 | Summary: com.google.common.collect; Multimap; true; putAll; (Object,Iterable); ; Argument[0]; Argument[this].MapKey; value; manual | +| 380 | Summary: com.google.common.collect; Multimap; true; putAll; (Object,Iterable); ; Argument[1].Element; Argument[this].MapValue; value; manual | +| 381 | Summary: com.google.common.collect; Multimap; true; removeAll; (Object); ; Argument[this].MapValue; ReturnValue.Element; value; manual | +| 382 | Summary: com.google.common.collect; Multimap; true; replaceValues; (Object,Iterable); ; Argument[this].MapValue; ReturnValue.Element; value; manual | +| 383 | Summary: com.google.common.collect; Multimap; true; replaceValues; (Object,Iterable); ; Argument[0]; Argument[this].MapKey; value; manual | +| 384 | Summary: com.google.common.collect; Multimap; true; replaceValues; (Object,Iterable); ; Argument[1].Element; Argument[this].MapValue; value; manual | +| 385 | Summary: com.google.common.collect; Multimap; true; values; (); ; Argument[this].MapValue; ReturnValue.Element; value; manual | +| 386 | Summary: com.google.common.collect; Multimaps; false; asMap; (ListMultimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 387 | Summary: com.google.common.collect; Multimaps; false; asMap; (ListMultimap); ; Argument[0].MapValue; ReturnValue.MapValue.Element; value; manual | +| 388 | Summary: com.google.common.collect; Multimaps; false; asMap; (Multimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 389 | Summary: com.google.common.collect; Multimaps; false; asMap; (Multimap); ; Argument[0].MapValue; ReturnValue.MapValue.Element; value; manual | +| 390 | Summary: com.google.common.collect; Multimaps; false; asMap; (SetMultimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 391 | Summary: com.google.common.collect; Multimaps; false; asMap; (SetMultimap); ; Argument[0].MapValue; ReturnValue.MapValue.Element; value; manual | +| 392 | Summary: com.google.common.collect; Multimaps; false; asMap; (SortedSetMultimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 393 | Summary: com.google.common.collect; Multimaps; false; asMap; (SortedSetMultimap); ; Argument[0].MapValue; ReturnValue.MapValue.Element; value; manual | +| 394 | Summary: com.google.common.collect; Multimaps; false; filterEntries; (Multimap,Predicate); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 395 | Summary: com.google.common.collect; Multimaps; false; filterEntries; (Multimap,Predicate); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 396 | Summary: com.google.common.collect; Multimaps; false; filterEntries; (SetMultimap,Predicate); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 397 | Summary: com.google.common.collect; Multimaps; false; filterEntries; (SetMultimap,Predicate); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 398 | Summary: com.google.common.collect; Multimaps; false; filterKeys; (Multimap,Predicate); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 399 | Summary: com.google.common.collect; Multimaps; false; filterKeys; (Multimap,Predicate); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 400 | Summary: com.google.common.collect; Multimaps; false; filterKeys; (SetMultimap,Predicate); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 401 | Summary: com.google.common.collect; Multimaps; false; filterKeys; (SetMultimap,Predicate); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 402 | Summary: com.google.common.collect; Multimaps; false; filterValues; (Multimap,Predicate); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 403 | Summary: com.google.common.collect; Multimaps; false; filterValues; (Multimap,Predicate); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 404 | Summary: com.google.common.collect; Multimaps; false; filterValues; (SetMultimap,Predicate); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 405 | Summary: com.google.common.collect; Multimaps; false; filterValues; (SetMultimap,Predicate); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 406 | Summary: com.google.common.collect; Multimaps; false; forMap; (Map); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 407 | Summary: com.google.common.collect; Multimaps; false; forMap; (Map); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 408 | Summary: com.google.common.collect; Multimaps; false; index; (Iterable,Function); ; Argument[0].Element; ReturnValue.MapValue; value; manual | +| 409 | Summary: com.google.common.collect; Multimaps; false; index; (Iterator,Function); ; Argument[0].Element; ReturnValue.MapValue; value; manual | +| 410 | Summary: com.google.common.collect; Multimaps; false; invertFrom; (Multimap,Multimap); ; Argument[0].MapKey; Argument[1].MapValue; value; manual | +| 411 | Summary: com.google.common.collect; Multimaps; false; invertFrom; (Multimap,Multimap); ; Argument[0].MapValue; Argument[1].MapKey; value; manual | +| 412 | Summary: com.google.common.collect; Multimaps; false; invertFrom; (Multimap,Multimap); ; Argument[1]; ReturnValue; value; manual | +| 413 | Summary: com.google.common.collect; Multimaps; false; newListMultimap; (Map,Supplier); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 414 | Summary: com.google.common.collect; Multimaps; false; newListMultimap; (Map,Supplier); ; Argument[0].MapValue.Element; ReturnValue.MapValue; value; manual | +| 415 | Summary: com.google.common.collect; Multimaps; false; newMultimap; (Map,Supplier); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 416 | Summary: com.google.common.collect; Multimaps; false; newMultimap; (Map,Supplier); ; Argument[0].MapValue.Element; ReturnValue.MapValue; value; manual | +| 417 | Summary: com.google.common.collect; Multimaps; false; newSetMultimap; (Map,Supplier); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 418 | Summary: com.google.common.collect; Multimaps; false; newSetMultimap; (Map,Supplier); ; Argument[0].MapValue.Element; ReturnValue.MapValue; value; manual | +| 419 | Summary: com.google.common.collect; Multimaps; false; newSortedSetMultimap; (Map,Supplier); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 420 | Summary: com.google.common.collect; Multimaps; false; newSortedSetMultimap; (Map,Supplier); ; Argument[0].MapValue.Element; ReturnValue.MapValue; value; manual | +| 421 | Summary: com.google.common.collect; Multimaps; false; synchronizedListMultimap; (ListMultimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 422 | Summary: com.google.common.collect; Multimaps; false; synchronizedListMultimap; (ListMultimap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 423 | Summary: com.google.common.collect; Multimaps; false; synchronizedMultimap; (Multimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 424 | Summary: com.google.common.collect; Multimaps; false; synchronizedMultimap; (Multimap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 425 | Summary: com.google.common.collect; Multimaps; false; synchronizedSetMultimap; (SetMultimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 426 | Summary: com.google.common.collect; Multimaps; false; synchronizedSetMultimap; (SetMultimap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 427 | Summary: com.google.common.collect; Multimaps; false; synchronizedSortedSetMultimap; (SortedSetMultimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 428 | Summary: com.google.common.collect; Multimaps; false; synchronizedSortedSetMultimap; (SortedSetMultimap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 429 | Summary: com.google.common.collect; Multimaps; false; transformValues; (ListMultimap,Function); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 430 | Summary: com.google.common.collect; Multimaps; false; transformValues; (Multimap,Function); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 431 | Summary: com.google.common.collect; Multimaps; false; unmodifiableListMultimap; (ImmutableListMultimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 432 | Summary: com.google.common.collect; Multimaps; false; unmodifiableListMultimap; (ImmutableListMultimap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 433 | Summary: com.google.common.collect; Multimaps; false; unmodifiableListMultimap; (ListMultimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 434 | Summary: com.google.common.collect; Multimaps; false; unmodifiableListMultimap; (ListMultimap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 435 | Summary: com.google.common.collect; Multimaps; false; unmodifiableMultimap; (ImmutableMultimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 436 | Summary: com.google.common.collect; Multimaps; false; unmodifiableMultimap; (ImmutableMultimap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 437 | Summary: com.google.common.collect; Multimaps; false; unmodifiableMultimap; (Multimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 438 | Summary: com.google.common.collect; Multimaps; false; unmodifiableMultimap; (Multimap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 439 | Summary: com.google.common.collect; Multimaps; false; unmodifiableSetMultimap; (ImmutableSetMultimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 440 | Summary: com.google.common.collect; Multimaps; false; unmodifiableSetMultimap; (ImmutableSetMultimap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 441 | Summary: com.google.common.collect; Multimaps; false; unmodifiableSetMultimap; (SetMultimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 442 | Summary: com.google.common.collect; Multimaps; false; unmodifiableSetMultimap; (SetMultimap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 443 | Summary: com.google.common.collect; Multimaps; false; unmodifiableSortedSetMultimap; (SortedSetMultimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 444 | Summary: com.google.common.collect; Multimaps; false; unmodifiableSortedSetMultimap; (SortedSetMultimap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 445 | Summary: com.google.common.collect; Multiset; true; add; (Object,int); ; Argument[0]; Argument[this].Element; value; manual | +| 446 | Summary: com.google.common.collect; Multiset; true; elementSet; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 447 | Summary: com.google.common.collect; Multiset; true; entrySet; (); ; Argument[this].Element; ReturnValue.Element.Element; value; manual | +| 448 | Summary: com.google.common.collect; Multiset; true; setCount; (Object,int); ; Argument[0]; Argument[this].Element; value; manual | +| 449 | Summary: com.google.common.collect; Multiset; true; setCount; (Object,int,int); ; Argument[0]; Argument[this].Element; value; manual | +| 450 | Summary: com.google.common.collect; Multiset$Entry; true; getElement; (); ; Argument[this].Element; ReturnValue; value; manual | +| 451 | Summary: com.google.common.collect; Multisets; false; copyHighestCountFirst; (Multiset); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 452 | Summary: com.google.common.collect; Multisets; false; difference; (Multiset,Multiset); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 453 | Summary: com.google.common.collect; Multisets; false; filter; (Multiset,Predicate); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 454 | Summary: com.google.common.collect; Multisets; false; immutableEntry; (Object,int); ; Argument[0]; ReturnValue.Element; value; manual | +| 455 | Summary: com.google.common.collect; Multisets; false; intersection; (Multiset,Multiset); ; Argument[0..1].Element; ReturnValue.Element; value; manual | +| 456 | Summary: com.google.common.collect; Multisets; false; sum; (Multiset,Multiset); ; Argument[0..1].Element; ReturnValue.Element; value; manual | +| 457 | Summary: com.google.common.collect; Multisets; false; union; (Multiset,Multiset); ; Argument[0..1].Element; ReturnValue.Element; value; manual | +| 458 | Summary: com.google.common.collect; Multisets; false; unmodifiableMultiset; (ImmutableMultiset); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 459 | Summary: com.google.common.collect; Multisets; false; unmodifiableMultiset; (Multiset); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 460 | Summary: com.google.common.collect; Multisets; false; unmodifiableSortedMultiset; (SortedMultiset); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 461 | Summary: com.google.common.collect; MutableClassToInstanceMap; true; create; (Map); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 462 | Summary: com.google.common.collect; MutableClassToInstanceMap; true; create; (Map); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 463 | Summary: com.google.common.collect; ObjectArrays; false; concat; (Object,Object[]); ; Argument[0]; ReturnValue.ArrayElement; value; manual | +| 464 | Summary: com.google.common.collect; ObjectArrays; false; concat; (Object,Object[]); ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 465 | Summary: com.google.common.collect; ObjectArrays; false; concat; (Object[],Object); ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 466 | Summary: com.google.common.collect; ObjectArrays; false; concat; (Object[],Object); ; Argument[1]; ReturnValue.ArrayElement; value; manual | +| 467 | Summary: com.google.common.collect; ObjectArrays; false; concat; (Object[],Object[],Class); ; Argument[0..1].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 468 | Summary: com.google.common.collect; Queues; false; drain; (BlockingQueue,Collection,int,Duration); ; Argument[0].Element; Argument[1].Element; value; manual | +| 469 | Summary: com.google.common.collect; Queues; false; drain; (BlockingQueue,Collection,int,long,TimeUnit); ; Argument[0].Element; Argument[1].Element; value; manual | +| 470 | Summary: com.google.common.collect; Queues; false; newArrayDeque; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 471 | Summary: com.google.common.collect; Queues; false; newConcurrentLinkedQueue; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 472 | Summary: com.google.common.collect; Queues; false; newLinkedBlockingDeque; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 473 | Summary: com.google.common.collect; Queues; false; newLinkedBlockingQueue; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 474 | Summary: com.google.common.collect; Queues; false; newPriorityBlockingQueue; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 475 | Summary: com.google.common.collect; Queues; false; newPriorityQueue; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 476 | Summary: com.google.common.collect; Queues; false; synchronizedDeque; (Deque); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 477 | Summary: com.google.common.collect; Queues; false; synchronizedQueue; (Queue); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 478 | Summary: com.google.common.collect; Sets; false; cartesianProduct; (List); ; Argument[0].Element.Element; ReturnValue.Element.Element; value; manual | +| 479 | Summary: com.google.common.collect; Sets; false; cartesianProduct; (Set[]); ; Argument[0].ArrayElement.Element; ReturnValue.Element.Element; value; manual | +| 480 | Summary: com.google.common.collect; Sets; false; combinations; (Set,int); ; Argument[0].Element; ReturnValue.Element.Element; value; manual | +| 481 | Summary: com.google.common.collect; Sets; false; difference; (Set,Set); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 482 | Summary: com.google.common.collect; Sets; false; filter; (NavigableSet,Predicate); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 483 | Summary: com.google.common.collect; Sets; false; filter; (Set,Predicate); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 484 | Summary: com.google.common.collect; Sets; false; filter; (SortedSet,Predicate); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 485 | Summary: com.google.common.collect; Sets; false; intersection; (Set,Set); ; Argument[0..1].Element; ReturnValue.Element; value; manual | +| 486 | Summary: com.google.common.collect; Sets; false; newConcurrentHashSet; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 487 | Summary: com.google.common.collect; Sets; false; newCopyOnWriteArraySet; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 488 | Summary: com.google.common.collect; Sets; false; newHashSet; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 489 | Summary: com.google.common.collect; Sets; false; newHashSet; (Iterator); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 490 | Summary: com.google.common.collect; Sets; false; newHashSet; (Object[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 491 | Summary: com.google.common.collect; Sets; false; newLinkedHashSet; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 492 | Summary: com.google.common.collect; Sets; false; newSetFromMap; (Map); ; Argument[0].MapKey; ReturnValue.Element; value; manual | +| 493 | Summary: com.google.common.collect; Sets; false; newTreeSet; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 494 | Summary: com.google.common.collect; Sets; false; powerSet; (Set); ; Argument[0].Element; ReturnValue.Element.Element; value; manual | +| 495 | Summary: com.google.common.collect; Sets; false; subSet; (NavigableSet,Range); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 496 | Summary: com.google.common.collect; Sets; false; symmetricDifference; (Set,Set); ; Argument[0..1].Element; ReturnValue.Element; value; manual | +| 497 | Summary: com.google.common.collect; Sets; false; synchronizedNavigableSet; (NavigableSet); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 498 | Summary: com.google.common.collect; Sets; false; union; (Set,Set); ; Argument[0..1].Element; ReturnValue.Element; value; manual | +| 499 | Summary: com.google.common.collect; Sets; false; unmodifiableNavigableSet; (NavigableSet); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 500 | Summary: com.google.common.collect; Sets$SetView; true; copyInto; (Set); ; Argument[this].Element; Argument[0].Element; value; manual | +| 501 | Summary: com.google.common.collect; Sets$SetView; true; immutableCopy; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 502 | Summary: com.google.common.collect; Table; true; cellSet; (); ; Argument[this].MapValue; ReturnValue.Element.MapValue; value; manual | +| 503 | Summary: com.google.common.collect; Table; true; cellSet; (); ; Argument[this].SyntheticField[com.google.common.collect.Table.columnKey]; ReturnValue.Element.SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 504 | Summary: com.google.common.collect; Table; true; cellSet; (); ; Argument[this].SyntheticField[com.google.common.collect.Table.rowKey]; ReturnValue.Element.SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 505 | Summary: com.google.common.collect; Table; true; column; (Object); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 506 | Summary: com.google.common.collect; Table; true; column; (Object); ; Argument[this].SyntheticField[com.google.common.collect.Table.rowKey]; ReturnValue.MapKey; value; manual | +| 507 | Summary: com.google.common.collect; Table; true; columnKeySet; (); ; Argument[this].SyntheticField[com.google.common.collect.Table.columnKey]; ReturnValue.Element; value; manual | +| 508 | Summary: com.google.common.collect; Table; true; columnMap; (); ; Argument[this].MapValue; ReturnValue.MapValue.MapValue; value; manual | +| 509 | Summary: com.google.common.collect; Table; true; columnMap; (); ; Argument[this].SyntheticField[com.google.common.collect.Table.columnKey]; ReturnValue.MapKey; value; manual | +| 510 | Summary: com.google.common.collect; Table; true; columnMap; (); ; Argument[this].SyntheticField[com.google.common.collect.Table.rowKey]; ReturnValue.MapValue.MapKey; value; manual | +| 511 | Summary: com.google.common.collect; Table; true; get; (Object,Object); ; Argument[this].MapValue; ReturnValue; value; manual | +| 512 | Summary: com.google.common.collect; Table; true; put; (Object,Object,Object); ; Argument[0]; Argument[this].SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 513 | Summary: com.google.common.collect; Table; true; put; (Object,Object,Object); ; Argument[1]; Argument[this].SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 514 | Summary: com.google.common.collect; Table; true; put; (Object,Object,Object); ; Argument[2]; Argument[this].MapValue; value; manual | +| 515 | Summary: com.google.common.collect; Table; true; putAll; (Table); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 516 | Summary: com.google.common.collect; Table; true; putAll; (Table); ; Argument[0].SyntheticField[com.google.common.collect.Table.columnKey]; Argument[this].SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 517 | Summary: com.google.common.collect; Table; true; putAll; (Table); ; Argument[0].SyntheticField[com.google.common.collect.Table.rowKey]; Argument[this].SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 518 | Summary: com.google.common.collect; Table; true; remove; (Object,Object); ; Argument[this].MapValue; ReturnValue; value; manual | +| 519 | Summary: com.google.common.collect; Table; true; row; (Object); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 520 | Summary: com.google.common.collect; Table; true; row; (Object); ; Argument[this].SyntheticField[com.google.common.collect.Table.columnKey]; ReturnValue.MapKey; value; manual | +| 521 | Summary: com.google.common.collect; Table; true; rowKeySet; (); ; Argument[this].SyntheticField[com.google.common.collect.Table.rowKey]; ReturnValue.Element; value; manual | +| 522 | Summary: com.google.common.collect; Table; true; rowMap; (); ; Argument[this].MapValue; ReturnValue.MapValue.MapValue; value; manual | +| 523 | Summary: com.google.common.collect; Table; true; rowMap; (); ; Argument[this].SyntheticField[com.google.common.collect.Table.columnKey]; ReturnValue.MapValue.MapKey; value; manual | +| 524 | Summary: com.google.common.collect; Table; true; rowMap; (); ; Argument[this].SyntheticField[com.google.common.collect.Table.rowKey]; ReturnValue.MapKey; value; manual | +| 525 | Summary: com.google.common.collect; Table; true; values; (); ; Argument[this].MapValue; ReturnValue.Element; value; manual | +| 526 | Summary: com.google.common.collect; Table$Cell; true; getColumnKey; (); ; Argument[this].SyntheticField[com.google.common.collect.Table.columnKey]; ReturnValue; value; manual | +| 527 | Summary: com.google.common.collect; Table$Cell; true; getRowKey; (); ; Argument[this].SyntheticField[com.google.common.collect.Table.rowKey]; ReturnValue; value; manual | +| 528 | Summary: com.google.common.collect; Table$Cell; true; getValue; (); ; Argument[this].MapValue; ReturnValue; value; manual | +| 529 | Summary: com.google.common.collect; Tables; false; immutableCell; (Object,Object,Object); ; Argument[0]; ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 530 | Summary: com.google.common.collect; Tables; false; immutableCell; (Object,Object,Object); ; Argument[1]; ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 531 | Summary: com.google.common.collect; Tables; false; immutableCell; (Object,Object,Object); ; Argument[2]; ReturnValue.MapValue; value; manual | +| 532 | Summary: com.google.common.collect; Tables; false; newCustomTable; (Map,Supplier); ; Argument[0].MapKey; ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 533 | Summary: com.google.common.collect; Tables; false; newCustomTable; (Map,Supplier); ; Argument[0].MapValue.MapKey; ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 534 | Summary: com.google.common.collect; Tables; false; newCustomTable; (Map,Supplier); ; Argument[0].MapValue.MapValue; ReturnValue.MapValue; value; manual | +| 535 | Summary: com.google.common.collect; Tables; false; synchronizedTable; (Table); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 536 | Summary: com.google.common.collect; Tables; false; synchronizedTable; (Table); ; Argument[0].SyntheticField[com.google.common.collect.Table.columnKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 537 | Summary: com.google.common.collect; Tables; false; synchronizedTable; (Table); ; Argument[0].SyntheticField[com.google.common.collect.Table.rowKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 538 | Summary: com.google.common.collect; Tables; false; transformValues; (Table,Function); ; Argument[0].SyntheticField[com.google.common.collect.Table.columnKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 539 | Summary: com.google.common.collect; Tables; false; transformValues; (Table,Function); ; Argument[0].SyntheticField[com.google.common.collect.Table.rowKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 540 | Summary: com.google.common.collect; Tables; false; transpose; (Table); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 541 | Summary: com.google.common.collect; Tables; false; transpose; (Table); ; Argument[0].SyntheticField[com.google.common.collect.Table.columnKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 542 | Summary: com.google.common.collect; Tables; false; transpose; (Table); ; Argument[0].SyntheticField[com.google.common.collect.Table.rowKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 543 | Summary: com.google.common.collect; Tables; false; unmodifiableRowSortedTable; (RowSortedTable); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 544 | Summary: com.google.common.collect; Tables; false; unmodifiableRowSortedTable; (RowSortedTable); ; Argument[0].SyntheticField[com.google.common.collect.Table.columnKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 545 | Summary: com.google.common.collect; Tables; false; unmodifiableRowSortedTable; (RowSortedTable); ; Argument[0].SyntheticField[com.google.common.collect.Table.rowKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 546 | Summary: com.google.common.collect; Tables; false; unmodifiableTable; (Table); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 547 | Summary: com.google.common.collect; Tables; false; unmodifiableTable; (Table); ; Argument[0].SyntheticField[com.google.common.collect.Table.columnKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 548 | Summary: com.google.common.collect; Tables; false; unmodifiableTable; (Table); ; Argument[0].SyntheticField[com.google.common.collect.Table.rowKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 549 | Summary: com.google.common.collect; TreeBasedTable; true; create; (TreeBasedTable); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 550 | Summary: com.google.common.collect; TreeBasedTable; true; create; (TreeBasedTable); ; Argument[0].SyntheticField[com.google.common.collect.Table.columnKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey]; value; manual | +| 551 | Summary: com.google.common.collect; TreeBasedTable; true; create; (TreeBasedTable); ; Argument[0].SyntheticField[com.google.common.collect.Table.rowKey]; ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey]; value; manual | +| 552 | Summary: com.google.common.collect; TreeMultimap; true; create; (Multimap); ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 553 | Summary: com.google.common.collect; TreeMultimap; true; create; (Multimap); ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 554 | Summary: com.google.common.collect; TreeMultiset; true; create; (Iterable); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 555 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 556 | Summary: java.util; Enumeration; true; nextElement; ; ; Argument[this].Element; ReturnValue; value; manual | +| 557 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 558 | Summary: java.util; List; false; of; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 559 | Summary: java.util; Map; true; entrySet; ; ; Argument[this].MapKey; ReturnValue.Element.MapKey; value; manual | +| 560 | Summary: java.util; Map; true; entrySet; ; ; Argument[this].MapValue; ReturnValue.Element.MapValue; value; manual | +| 561 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 562 | Summary: java.util; Map; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 563 | Summary: java.util; Map; false; of; ; ; Argument[0]; ReturnValue.MapKey; value; manual | +| 564 | Summary: java.util; Map; false; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual | +| 565 | Summary: java.util; Map$Entry; true; getKey; ; ; Argument[this].MapKey; ReturnValue; value; manual | +| 566 | Summary: java.util; Map$Entry; true; getValue; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 567 | Summary: java.util; Set; false; of; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 568 | Summary: generatedtest; Test; false; newWithElementDefault; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 569 | Summary: generatedtest; Test; false; newWithMapKeyDefault; (Object); ; Argument[0]; ReturnValue.MapKey; value; manual | +| 570 | Summary: generatedtest; Test; false; newWithMapValueDefault; (Object); ; Argument[0]; ReturnValue.MapValue; value; manual | +edges +| Test.java:95:27:95:57 | b : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:95:88:95:88 | b : Builder [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:95:88:95:88 | b : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:95:88:95:96 | build(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:200 | +| Test.java:95:88:95:96 | build(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:95:69:95:97 | getTable_columnKey(...) : Object | provenance | MaD:507 | +| Test.java:95:88:95:96 | build(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:96:27:96:40 | t : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:52 | t : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:96:27:96:40 | t : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:52 | t : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:96:27:96:40 | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:52 | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:96:27:96:40 | t : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:52 | t : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:96:27:96:40 | t : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:52 | t : Table [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:96:27:96:40 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:52 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:96:52:96:52 | t : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | provenance | MaD:507 | +| Test.java:96:52:96:52 | t : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | provenance | MaD:507 | +| Test.java:96:52:96:52 | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | provenance | MaD:507 | +| Test.java:96:52:96:52 | t : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | provenance | MaD:507 | +| Test.java:96:52:96:52 | t : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | provenance | MaD:507 | +| Test.java:96:52:96:52 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | provenance | MaD:507 | +| Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | Test.java:96:52:96:85 | next(...) : Object | provenance | MaD:557 | +| Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | Test.java:96:52:96:85 | next(...) : Object | provenance | MaD:557 | +| Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | Test.java:96:52:96:85 | next(...) : Object | provenance | MaD:557 | +| Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | Test.java:96:52:96:85 | next(...) : Object | provenance | MaD:557 | +| Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | Test.java:96:52:96:85 | next(...) : Object | provenance | MaD:557 | +| Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | Test.java:96:52:96:85 | next(...) : Object | provenance | MaD:557 | +| Test.java:97:18:97:44 | b : Builder [] : Object | Test.java:97:66:97:66 | b : Builder [] : Object | provenance | | +| Test.java:97:18:97:44 | b : Builder [] : Object | Test.java:97:66:97:66 | b : Builder [] : Object | provenance | | +| Test.java:97:18:97:44 | b : Builder [] : Object | Test.java:97:66:97:66 | b : Builder [] : Object | provenance | | +| Test.java:97:66:97:66 | b : Builder [] : Object | Test.java:97:66:97:74 | build(...) : ImmutableMap [] : Object | provenance | MaD:84 | +| Test.java:97:66:97:66 | b : Builder [] : Object | Test.java:97:66:97:74 | build(...) : ImmutableMap [] : Object | provenance | MaD:84 | +| Test.java:97:66:97:66 | b : Builder [] : Object | Test.java:97:66:97:74 | build(...) : ImmutableMap [] : Object | provenance | MaD:84 | +| Test.java:97:66:97:74 | build(...) : ImmutableMap [] : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | provenance | MaD:562 | +| Test.java:97:66:97:74 | build(...) : ImmutableMap [] : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | provenance | MaD:562 | +| Test.java:97:66:97:74 | build(...) : ImmutableMap [] : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | provenance | MaD:562 | +| Test.java:97:66:97:74 | build(...) : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:97:66:97:74 | build(...) : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:97:66:97:74 | build(...) : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:71:98:71 | b : Builder [] : Object | provenance | | +| Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:71:98:71 | b : Builder [] : Object | provenance | | +| Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:71:98:71 | b : Builder [] : Object | provenance | | +| Test.java:98:71:98:71 | b : Builder [] : Object | Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | provenance | MaD:113 | +| Test.java:98:71:98:71 | b : Builder [] : Object | Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | provenance | MaD:113 | +| Test.java:98:71:98:71 | b : Builder [] : Object | Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | provenance | MaD:113 | +| Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | provenance | MaD:373 | +| Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | provenance | MaD:373 | +| Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | provenance | MaD:373 | +| Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:99:18:99:29 | map : BiMap [] : Object | Test.java:99:41:99:43 | map : BiMap [] : Object | provenance | | +| Test.java:99:18:99:29 | map : HashBiMap [] : Object | Test.java:99:41:99:43 | map : HashBiMap [] : Object | provenance | | +| Test.java:99:18:99:29 | map : HashMap [] : Object | Test.java:99:41:99:43 | map : HashMap [] : Object | provenance | | +| Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:43 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:99:18:99:29 | map : ImmutableClassToInstanceMap [] : Class | Test.java:99:41:99:43 | map : ImmutableClassToInstanceMap [] : Class | provenance | | +| Test.java:99:18:99:29 | map : ImmutableClassToInstanceMap [] : Object | Test.java:99:41:99:43 | map : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:43 | map : ImmutableMap [] : Object | provenance | | +| Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:43 | map : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Object | Test.java:99:41:99:43 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:99:18:99:29 | map : LinkedHashMap [] : Object | Test.java:99:41:99:43 | map : LinkedHashMap [] : Object | provenance | | +| Test.java:99:18:99:29 | map : Map [] : Comparable | Test.java:99:41:99:43 | map : Map [] : Comparable | provenance | | +| Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:43 | map : Map [] : Object | provenance | | +| Test.java:99:18:99:29 | map : MutableClassToInstanceMap [] : Object | Test.java:99:41:99:43 | map : MutableClassToInstanceMap [] : Object | provenance | | +| Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | Test.java:99:41:99:43 | map : NavigableMap [] : Comparable | provenance | | +| Test.java:99:18:99:29 | map : SortedMap [] : Comparable | Test.java:99:41:99:43 | map : SortedMap [] : Comparable | provenance | | +| Test.java:99:18:99:29 | map : SortedMap [] : Object | Test.java:99:41:99:43 | map : SortedMap [] : Object | provenance | | +| Test.java:99:18:99:29 | map : TreeMap [] : Comparable | Test.java:99:41:99:43 | map : TreeMap [] : Comparable | provenance | | +| Test.java:99:41:99:43 | map : BiMap [] : Object | Test.java:99:41:99:52 | keySet(...) : Set [] : Object | provenance | MaD:562 | +| Test.java:99:41:99:43 | map : HashBiMap [] : Object | Test.java:99:41:99:52 | keySet(...) : Set [] : Object | provenance | MaD:562 | +| Test.java:99:41:99:43 | map : HashMap [] : Object | Test.java:99:41:99:52 | keySet(...) : Set [] : Object | provenance | MaD:562 | +| Test.java:99:41:99:43 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:52 | keySet(...) : Set [] : Object | provenance | MaD:562 | +| Test.java:99:41:99:43 | map : ImmutableClassToInstanceMap [] : Class | Test.java:99:41:99:52 | keySet(...) : Set [] : Class | provenance | MaD:562 | +| Test.java:99:41:99:43 | map : ImmutableClassToInstanceMap [] : Object | Test.java:99:41:99:52 | keySet(...) : Set [] : Object | provenance | MaD:562 | +| Test.java:99:41:99:43 | map : ImmutableMap [] : Object | Test.java:99:41:99:52 | keySet(...) : Set [] : Object | provenance | MaD:562 | +| Test.java:99:41:99:43 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:52 | keySet(...) : Set [] : Comparable | provenance | MaD:562 | +| Test.java:99:41:99:43 | map : ImmutableSortedMap [] : Object | Test.java:99:41:99:52 | keySet(...) : Set [] : Object | provenance | MaD:562 | +| Test.java:99:41:99:43 | map : LinkedHashMap [] : Object | Test.java:99:41:99:52 | keySet(...) : Set [] : Object | provenance | MaD:562 | +| Test.java:99:41:99:43 | map : Map [] : Comparable | Test.java:99:41:99:52 | keySet(...) : Set [] : Comparable | provenance | MaD:562 | +| Test.java:99:41:99:43 | map : Map [] : Object | Test.java:99:41:99:52 | keySet(...) : Set [] : Object | provenance | MaD:562 | +| Test.java:99:41:99:43 | map : MutableClassToInstanceMap [] : Object | Test.java:99:41:99:52 | keySet(...) : Set [] : Object | provenance | MaD:562 | +| Test.java:99:41:99:43 | map : NavigableMap [] : Comparable | Test.java:99:41:99:52 | keySet(...) : Set [] : Comparable | provenance | MaD:562 | +| Test.java:99:41:99:43 | map : SortedMap [] : Comparable | Test.java:99:41:99:52 | keySet(...) : Set [] : Comparable | provenance | MaD:562 | +| Test.java:99:41:99:43 | map : SortedMap [] : Object | Test.java:99:41:99:52 | keySet(...) : Set [] : Object | provenance | MaD:562 | +| Test.java:99:41:99:43 | map : TreeMap [] : Comparable | Test.java:99:41:99:52 | keySet(...) : Set [] : Comparable | provenance | MaD:562 | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Class | Test.java:99:41:99:63 | iterator(...) : Iterator [] : Class | provenance | MaD:555 | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Comparable | Test.java:99:41:99:63 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Comparable | Test.java:99:41:99:63 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Comparable | Test.java:99:41:99:63 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Comparable | Test.java:99:41:99:63 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Comparable | Test.java:99:41:99:63 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Class | Test.java:99:41:99:70 | next(...) : Class | provenance | MaD:557 | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | provenance | MaD:557 | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | provenance | MaD:557 | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | provenance | MaD:557 | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | provenance | MaD:557 | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | provenance | MaD:557 | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | Test.java:99:41:99:70 | next(...) : Object | provenance | MaD:557 | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | Test.java:99:41:99:70 | next(...) : Object | provenance | MaD:557 | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | Test.java:99:41:99:70 | next(...) : Object | provenance | MaD:557 | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | Test.java:99:41:99:70 | next(...) : Object | provenance | MaD:557 | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | Test.java:99:41:99:70 | next(...) : Object | provenance | MaD:557 | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | Test.java:99:41:99:70 | next(...) : Object | provenance | MaD:557 | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | Test.java:99:41:99:70 | next(...) : Object | provenance | MaD:557 | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | Test.java:99:41:99:70 | next(...) : Object | provenance | MaD:557 | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | Test.java:99:41:99:70 | next(...) : Object | provenance | MaD:557 | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | Test.java:99:41:99:70 | next(...) : Object | provenance | MaD:557 | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | Test.java:99:41:99:70 | next(...) : Object | provenance | MaD:557 | +| Test.java:100:18:100:34 | map : ArrayListMultimap [] : Object | Test.java:100:46:100:48 | map : ArrayListMultimap [] : Object | provenance | | +| Test.java:100:18:100:34 | map : HashMultimap [] : Object | Test.java:100:46:100:48 | map : HashMultimap [] : Object | provenance | | +| Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:48 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:48 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:48 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:100:18:100:34 | map : LinkedHashMultimap [] : Object | Test.java:100:46:100:48 | map : LinkedHashMultimap [] : Object | provenance | | +| Test.java:100:18:100:34 | map : LinkedListMultimap [] : Object | Test.java:100:46:100:48 | map : LinkedListMultimap [] : Object | provenance | | +| Test.java:100:18:100:34 | map : ListMultimap [] : Object | Test.java:100:46:100:48 | map : ListMultimap [] : Object | provenance | | +| Test.java:100:18:100:34 | map : Multimap [] : Object | Test.java:100:46:100:48 | map : Multimap [] : Object | provenance | | +| Test.java:100:18:100:34 | map : SetMultimap [] : Object | Test.java:100:46:100:48 | map : SetMultimap [] : Object | provenance | | +| Test.java:100:18:100:34 | map : SortedSetMultimap [] : Comparable | Test.java:100:46:100:48 | map : SortedSetMultimap [] : Comparable | provenance | | +| Test.java:100:18:100:34 | map : SortedSetMultimap [] : Object | Test.java:100:46:100:48 | map : SortedSetMultimap [] : Object | provenance | | +| Test.java:100:18:100:34 | map : TreeMultimap [] : Object | Test.java:100:46:100:48 | map : TreeMultimap [] : Object | provenance | | +| Test.java:100:46:100:48 | map : ArrayListMultimap [] : Object | Test.java:100:46:100:57 | keySet(...) : Set [] : Object | provenance | MaD:373 | +| Test.java:100:46:100:48 | map : HashMultimap [] : Object | Test.java:100:46:100:57 | keySet(...) : Set [] : Object | provenance | MaD:373 | +| Test.java:100:46:100:48 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:57 | keySet(...) : Set [] : Object | provenance | MaD:373 | +| Test.java:100:46:100:48 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:57 | keySet(...) : Set [] : Object | provenance | MaD:373 | +| Test.java:100:46:100:48 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:57 | keySet(...) : Set [] : Object | provenance | MaD:373 | +| Test.java:100:46:100:48 | map : LinkedHashMultimap [] : Object | Test.java:100:46:100:57 | keySet(...) : Set [] : Object | provenance | MaD:373 | +| Test.java:100:46:100:48 | map : LinkedListMultimap [] : Object | Test.java:100:46:100:57 | keySet(...) : Set [] : Object | provenance | MaD:373 | +| Test.java:100:46:100:48 | map : ListMultimap [] : Object | Test.java:100:46:100:57 | keySet(...) : Set [] : Object | provenance | MaD:373 | +| Test.java:100:46:100:48 | map : Multimap [] : Object | Test.java:100:46:100:57 | keySet(...) : Set [] : Object | provenance | MaD:373 | +| Test.java:100:46:100:48 | map : SetMultimap [] : Object | Test.java:100:46:100:57 | keySet(...) : Set [] : Object | provenance | MaD:373 | +| Test.java:100:46:100:48 | map : SortedSetMultimap [] : Comparable | Test.java:100:46:100:57 | keySet(...) : Set [] : Comparable | provenance | MaD:373 | +| Test.java:100:46:100:48 | map : SortedSetMultimap [] : Object | Test.java:100:46:100:57 | keySet(...) : Set [] : Object | provenance | MaD:373 | +| Test.java:100:46:100:48 | map : TreeMultimap [] : Object | Test.java:100:46:100:57 | keySet(...) : Set [] : Object | provenance | MaD:373 | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Comparable | Test.java:100:46:100:68 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Comparable | Test.java:100:46:100:75 | next(...) : Comparable | provenance | MaD:557 | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | Test.java:100:46:100:75 | next(...) : Object | provenance | MaD:557 | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | Test.java:100:46:100:75 | next(...) : Object | provenance | MaD:557 | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | Test.java:100:46:100:75 | next(...) : Object | provenance | MaD:557 | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | Test.java:100:46:100:75 | next(...) : Object | provenance | MaD:557 | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | Test.java:100:46:100:75 | next(...) : Object | provenance | MaD:557 | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | Test.java:100:46:100:75 | next(...) : Object | provenance | MaD:557 | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | Test.java:100:46:100:75 | next(...) : Object | provenance | MaD:557 | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | Test.java:100:46:100:75 | next(...) : Object | provenance | MaD:557 | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | Test.java:100:46:100:75 | next(...) : Object | provenance | MaD:557 | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | Test.java:100:46:100:75 | next(...) : Object | provenance | MaD:557 | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | Test.java:100:46:100:75 | next(...) : Object | provenance | MaD:557 | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | Test.java:100:46:100:75 | next(...) : Object | provenance | MaD:557 | +| Test.java:101:40:101:44 | key : Object | Test.java:101:63:101:65 | key : Object | provenance | | +| Test.java:101:56:101:72 | of(...) : Map [] : Object | Test.java:101:56:101:83 | entrySet(...) : Set [, ] : Object | provenance | MaD:559 | +| Test.java:101:56:101:83 | entrySet(...) : Set [, ] : Object | Test.java:101:56:101:94 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | +| Test.java:101:56:101:94 | iterator(...) : Iterator [, ] : Object | Test.java:101:56:101:101 | next(...) : Entry [] : Object | provenance | MaD:557 | +| Test.java:101:63:101:65 | key : Object | Test.java:101:56:101:72 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:102:41:102:45 | row : Object | Test.java:102:105:102:107 | row : Object | provenance | | +| Test.java:102:48:102:55 | column : Object | Test.java:102:110:102:115 | column : Object | provenance | | +| Test.java:102:58:102:64 | value : Object | Test.java:102:118:102:122 | value : Object | provenance | | +| Test.java:102:87:102:123 | of(...) : ImmutableTable [] : Object | Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, ] : Object | provenance | MaD:502 | +| Test.java:102:87:102:123 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | provenance | MaD:503 | +| Test.java:102:87:102:123 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | provenance | MaD:504 | +| Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, ] : Object | Test.java:102:76:102:134 | getElement(...) : Cell [] : Object | provenance | MaD:555 | +| Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | Test.java:102:76:102:134 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:555 | +| Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | Test.java:102:76:102:134 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:555 | +| Test.java:102:105:102:107 | row : Object | Test.java:102:87:102:123 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:102:110:102:115 | column : Object | Test.java:102:87:102:123 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:102:118:102:122 | value : Object | Test.java:102:87:102:123 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:103:41:103:45 | row : Object | Test.java:103:129:103:131 | row : Object | provenance | | +| Test.java:103:48:103:55 | column : Object | Test.java:103:134:103:139 | column : Object | provenance | | +| Test.java:103:58:103:64 | value : Object | Test.java:103:142:103:146 | value : Object | provenance | | +| Test.java:103:123:103:123 | t [post update] : TreeBasedTable [] : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | provenance | | +| Test.java:103:123:103:123 | t [post update] : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:103:123:103:123 | t [post update] : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:103:129:103:131 | row : Object | Test.java:103:123:103:123 | t [post update] : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:103:134:103:139 | column : Object | Test.java:103:123:103:123 | t [post update] : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:103:142:103:146 | value : Object | Test.java:103:123:103:123 | t [post update] : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:104:24:104:54 | b : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:104:82:104:82 | b : Builder [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:104:82:104:82 | b : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:104:82:104:90 | build(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:201 | +| Test.java:104:82:104:90 | build(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:104:66:104:91 | getTable_rowKey(...) : Object | provenance | MaD:521 | +| Test.java:104:82:104:90 | build(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:105:24:105:37 | t : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:49 | t : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:105:24:105:37 | t : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:49 | t : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:105:24:105:37 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:49 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:105:24:105:37 | t : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:49 | t : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:105:24:105:37 | t : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:49 | t : Table [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:105:24:105:37 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:49 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:105:49:105:49 | t : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | provenance | MaD:521 | +| Test.java:105:49:105:49 | t : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | provenance | MaD:521 | +| Test.java:105:49:105:49 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | provenance | MaD:521 | +| Test.java:105:49:105:49 | t : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | provenance | MaD:521 | +| Test.java:105:49:105:49 | t : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | provenance | MaD:521 | +| Test.java:105:49:105:49 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | provenance | MaD:521 | +| Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | Test.java:105:49:105:79 | next(...) : Object | provenance | MaD:557 | +| Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | Test.java:105:49:105:79 | next(...) : Object | provenance | MaD:557 | +| Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | Test.java:105:49:105:79 | next(...) : Object | provenance | MaD:557 | +| Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | Test.java:105:49:105:79 | next(...) : Object | provenance | MaD:557 | +| Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | Test.java:105:49:105:79 | next(...) : Object | provenance | MaD:557 | +| Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | Test.java:105:49:105:79 | next(...) : Object | provenance | MaD:557 | +| Test.java:106:44:106:47 | el : Object | Test.java:106:91:106:92 | el : Object | provenance | | +| Test.java:106:70:106:93 | of(...) : ImmutableMultiset [] : Object | Test.java:106:70:106:104 | entrySet(...) : ImmutableSet [, ] : Object | provenance | MaD:447 | +| Test.java:106:70:106:104 | entrySet(...) : ImmutableSet [, ] : Object | Test.java:106:59:106:105 | getElement(...) : Entry [] : Object | provenance | MaD:555 | +| Test.java:106:91:106:92 | el : Object | Test.java:106:70:106:93 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:107:24:107:32 | array : Object[] [[]] : Object | Test.java:107:44:107:48 | array : Object[] [[]] : Object | provenance | | +| Test.java:107:44:107:48 | array : Object[] [[]] : Object | Test.java:107:44:107:51 | ...[...] : Object | provenance | | +| Test.java:108:19:108:35 | it : Enumeration [] : Object | Test.java:108:47:108:48 | it : Enumeration [] : Object | provenance | | +| Test.java:108:47:108:48 | it : Enumeration [] : Object | Test.java:108:47:108:62 | nextElement(...) : Object | provenance | MaD:556 | +| Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:73:109:73 | b : Builder [] : Object | provenance | | +| Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:73:109:73 | b : Builder [] : Object | provenance | | +| Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:73:109:73 | b : Builder [] : Object | provenance | | +| Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:73:109:73 | b : Builder [] : Object | provenance | | +| Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:73:109:73 | b : Builder [] : Object | provenance | | +| Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:73:109:73 | b : Builder [] : Object | provenance | | +| Test.java:109:73:109:73 | b : Builder [] : Object | Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | provenance | MaD:50 | +| Test.java:109:73:109:73 | b : Builder [] : Object | Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | provenance | MaD:50 | +| Test.java:109:73:109:73 | b : Builder [] : Object | Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | provenance | MaD:50 | +| Test.java:109:73:109:73 | b : Builder [] : Object | Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | provenance | MaD:50 | +| Test.java:109:73:109:73 | b : Builder [] : Object | Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | provenance | MaD:50 | +| Test.java:109:73:109:73 | b : Builder [] : Object | Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | provenance | MaD:50 | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | provenance | MaD:555 | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | provenance | MaD:555 | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | provenance | MaD:555 | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | provenance | MaD:555 | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | provenance | MaD:555 | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | provenance | MaD:555 | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | provenance | | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | provenance | | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | provenance | | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | provenance | | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | provenance | | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | provenance | | +| Test.java:110:19:110:32 | it : ArrayDeque [] : Object | Test.java:110:44:110:45 | it : ArrayDeque [] : Object | provenance | | +| Test.java:110:19:110:32 | it : ArrayList [] : Object | Test.java:110:44:110:45 | it : ArrayList [] : Object | provenance | | +| Test.java:110:19:110:32 | it : Collection [] : Comparable | Test.java:110:44:110:45 | it : Collection [] : Comparable | provenance | | +| Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:45 | it : Collection [] : Object | provenance | | +| Test.java:110:19:110:32 | it : ConcurrentHashMultiset [] : Object | Test.java:110:44:110:45 | it : ConcurrentHashMultiset [] : Object | provenance | | +| Test.java:110:19:110:32 | it : ConcurrentLinkedQueue [] : Object | Test.java:110:44:110:45 | it : ConcurrentLinkedQueue [] : Object | provenance | | +| Test.java:110:19:110:32 | it : CopyOnWriteArrayList [] : Object | Test.java:110:44:110:45 | it : CopyOnWriteArrayList [] : Object | provenance | | +| Test.java:110:19:110:32 | it : CopyOnWriteArraySet [] : Object | Test.java:110:44:110:45 | it : CopyOnWriteArraySet [] : Object | provenance | | +| Test.java:110:19:110:32 | it : Deque [] : Object | Test.java:110:44:110:45 | it : Deque [] : Object | provenance | | +| Test.java:110:19:110:32 | it : HashMultiset [] : Object | Test.java:110:44:110:45 | it : HashMultiset [] : Object | provenance | | +| Test.java:110:19:110:32 | it : HashSet [] : Object | Test.java:110:44:110:45 | it : HashSet [] : Object | provenance | | +| Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | Test.java:110:44:110:45 | it : ImmutableCollection [] : Object | provenance | | +| Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:45 | it : ImmutableList [] : Object | provenance | | +| Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:45 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:45 | it : ImmutableSet [] : Object | provenance | | +| Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:45 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Object | Test.java:110:44:110:45 | it : ImmutableSortedMultiset [] : Object | provenance | | +| Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:45 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | Test.java:110:44:110:45 | it : ImmutableSortedSet [] : Object | provenance | | +| Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:45 | it : Iterable [] : Object | provenance | | +| Test.java:110:19:110:32 | it : LinkedBlockingDeque [] : Object | Test.java:110:44:110:45 | it : LinkedBlockingDeque [] : Object | provenance | | +| Test.java:110:19:110:32 | it : LinkedBlockingQueue [] : Object | Test.java:110:44:110:45 | it : LinkedBlockingQueue [] : Object | provenance | | +| Test.java:110:19:110:32 | it : LinkedHashMultiset [] : Object | Test.java:110:44:110:45 | it : LinkedHashMultiset [] : Object | provenance | | +| Test.java:110:19:110:32 | it : LinkedHashSet [] : Object | Test.java:110:44:110:45 | it : LinkedHashSet [] : Object | provenance | | +| Test.java:110:19:110:32 | it : LinkedList [] : Object | Test.java:110:44:110:45 | it : LinkedList [] : Object | provenance | | +| Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:45 | it : List [] : Object | provenance | | +| Test.java:110:19:110:32 | it : Multiset [] : Object | Test.java:110:44:110:45 | it : Multiset [] : Object | provenance | | +| Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | Test.java:110:44:110:45 | it : NavigableSet [] : Comparable | provenance | | +| Test.java:110:19:110:32 | it : PriorityBlockingQueue [] : Object | Test.java:110:44:110:45 | it : PriorityBlockingQueue [] : Object | provenance | | +| Test.java:110:19:110:32 | it : PriorityQueue [] : Object | Test.java:110:44:110:45 | it : PriorityQueue [] : Object | provenance | | +| Test.java:110:19:110:32 | it : Queue [] : Object | Test.java:110:44:110:45 | it : Queue [] : Object | provenance | | +| Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:45 | it : Set [] : Object | provenance | | +| Test.java:110:19:110:32 | it : SetView [] : Object | Test.java:110:44:110:45 | it : SetView [] : Object | provenance | | +| Test.java:110:19:110:32 | it : SortedMultiset [] : Comparable | Test.java:110:44:110:45 | it : SortedMultiset [] : Comparable | provenance | | +| Test.java:110:19:110:32 | it : SortedSet [] : Comparable | Test.java:110:44:110:45 | it : SortedSet [] : Comparable | provenance | | +| Test.java:110:19:110:32 | it : SortedSet [] : Object | Test.java:110:44:110:45 | it : SortedSet [] : Object | provenance | | +| Test.java:110:19:110:32 | it : TreeMultiset [] : Object | Test.java:110:44:110:45 | it : TreeMultiset [] : Object | provenance | | +| Test.java:110:19:110:32 | it : TreeSet [] : Object | Test.java:110:44:110:45 | it : TreeSet [] : Object | provenance | | +| Test.java:110:44:110:45 | it : ArrayDeque [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ArrayList [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : Collection [] : Comparable | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : Collection [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ConcurrentHashMultiset [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ConcurrentLinkedQueue [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : CopyOnWriteArrayList [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : CopyOnWriteArraySet [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : Deque [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : HashMultiset [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : HashSet [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ImmutableCollection [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ImmutableList [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ImmutableSet [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ImmutableSortedMultiset [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ImmutableSortedSet [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : Iterable [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : LinkedBlockingDeque [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : LinkedBlockingQueue [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : LinkedHashMultiset [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : LinkedHashSet [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : LinkedList [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : List [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : Multiset [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : NavigableSet [] : Comparable | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : PriorityBlockingQueue [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : PriorityQueue [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : Queue [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : Set [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : SetView [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : SortedMultiset [] : Comparable | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : SortedSet [] : Comparable | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : SortedSet [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : TreeMultiset [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : TreeSet [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | +| Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:45 | it : Iterator [] : Object | provenance | | +| Test.java:111:19:111:32 | it : PeekingIterator [] : Object | Test.java:111:44:111:45 | it : PeekingIterator [] : Object | provenance | | +| Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | Test.java:111:44:111:45 | it : UnmodifiableIterator [] : Object | provenance | | +| Test.java:111:44:111:45 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | provenance | MaD:557 | +| Test.java:111:44:111:45 | it : PeekingIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | provenance | MaD:557 | +| Test.java:111:44:111:45 | it : UnmodifiableIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | provenance | MaD:557 | +| Test.java:112:19:112:31 | o : Optional [] : Object | Test.java:112:43:112:43 | o : Optional [] : Object | provenance | | +| Test.java:112:43:112:43 | o : Optional [] : Object | Test.java:112:43:112:49 | get(...) : Object | provenance | MaD:1 | +| Test.java:113:42:113:48 | value : Object | Test.java:113:73:113:77 | value : Object | provenance | | +| Test.java:113:60:113:78 | of(...) : Map [] : Object | Test.java:113:60:113:89 | entrySet(...) : Set [, ] : Object | provenance | MaD:560 | +| Test.java:113:60:113:89 | entrySet(...) : Set [, ] : Object | Test.java:113:60:113:100 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | +| Test.java:113:60:113:100 | iterator(...) : Iterator [, ] : Object | Test.java:113:60:113:107 | next(...) : Entry [] : Object | provenance | MaD:557 | +| Test.java:113:73:113:77 | value : Object | Test.java:113:60:113:78 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:114:58:114:60 | l : Object | Test.java:114:106:114:106 | l : Object | provenance | | +| Test.java:114:63:114:65 | r : Object | Test.java:114:123:114:123 | r : Object | provenance | | +| Test.java:114:77:114:125 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:114:77:114:144 | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.left] : Object | provenance | MaD:308 | +| Test.java:114:77:114:125 | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:114:77:114:144 | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.right] : Object | provenance | MaD:310 | +| Test.java:114:77:114:144 | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.left] : Object | Test.java:114:77:114:154 | get(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | provenance | MaD:561 | +| Test.java:114:77:114:144 | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.right] : Object | Test.java:114:77:114:154 | get(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | provenance | MaD:561 | +| Test.java:114:93:114:107 | of(...) : Map [] : Object | Test.java:114:77:114:125 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | MaD:325 | +| Test.java:114:106:114:106 | l : Object | Test.java:114:93:114:107 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:114:110:114:124 | of(...) : Map [] : Object | Test.java:114:77:114:125 | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | MaD:327 | +| Test.java:114:123:114:123 | r : Object | Test.java:114:110:114:124 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:115:20:115:46 | b : Builder [] : Object | Test.java:115:70:115:70 | b : Builder [] : Object | provenance | | +| Test.java:115:20:115:46 | b : Builder [] : Object | Test.java:115:70:115:70 | b : Builder [] : Object | provenance | | +| Test.java:115:20:115:46 | b : Builder [] : Object | Test.java:115:70:115:70 | b : Builder [] : Object | provenance | | +| Test.java:115:70:115:70 | b : Builder [] : Object | Test.java:115:70:115:78 | build(...) : ImmutableMap [] : Object | provenance | MaD:85 | +| Test.java:115:70:115:70 | b : Builder [] : Object | Test.java:115:70:115:78 | build(...) : ImmutableMap [] : Object | provenance | MaD:85 | +| Test.java:115:70:115:70 | b : Builder [] : Object | Test.java:115:70:115:78 | build(...) : ImmutableMap [] : Object | provenance | MaD:85 | +| Test.java:115:70:115:78 | build(...) : ImmutableMap [] : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | provenance | MaD:561 | +| Test.java:115:70:115:78 | build(...) : ImmutableMap [] : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | provenance | MaD:561 | +| Test.java:115:70:115:78 | build(...) : ImmutableMap [] : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | provenance | MaD:561 | +| Test.java:115:70:115:78 | build(...) : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:115:70:115:78 | build(...) : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:115:70:115:78 | build(...) : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:75:116:75 | b : Builder [] : Object | provenance | | +| Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:75:116:75 | b : Builder [] : Object | provenance | | +| Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:75:116:75 | b : Builder [] : Object | provenance | | +| Test.java:116:75:116:75 | b : Builder [] : Object | Test.java:116:75:116:83 | build(...) : ImmutableMultimap [] : Object | provenance | MaD:114 | +| Test.java:116:75:116:75 | b : Builder [] : Object | Test.java:116:75:116:83 | build(...) : ImmutableMultimap [] : Object | provenance | MaD:114 | +| Test.java:116:75:116:75 | b : Builder [] : Object | Test.java:116:75:116:83 | build(...) : ImmutableMultimap [] : Object | provenance | MaD:114 | +| Test.java:116:75:116:83 | build(...) : ImmutableMultimap [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | provenance | MaD:385 | +| Test.java:116:75:116:83 | build(...) : ImmutableMultimap [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | provenance | MaD:385 | +| Test.java:116:75:116:83 | build(...) : ImmutableMultimap [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | provenance | MaD:385 | +| Test.java:116:75:116:83 | build(...) : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:116:75:116:83 | build(...) : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:116:75:116:83 | build(...) : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:117:20:117:50 | b : Builder [] : Object | Test.java:117:74:117:74 | b : Builder [] : Object | provenance | | +| Test.java:117:74:117:74 | b : Builder [] : Object | Test.java:117:74:117:82 | build(...) : ImmutableTable [] : Object | provenance | MaD:199 | +| Test.java:117:74:117:82 | build(...) : ImmutableTable [] : Object | Test.java:117:62:117:83 | getMapValue(...) : Object | provenance | MaD:525 | +| Test.java:117:74:117:82 | build(...) : ImmutableTable [] : Object | Test.java:120:20:120:33 | t : ImmutableTable [] : Object | provenance | | +| Test.java:118:20:118:31 | map : BiMap [] : Object | Test.java:118:43:118:45 | map : BiMap [] : Object | provenance | | +| Test.java:118:20:118:31 | map : ClassToInstanceMap [] : Object | Test.java:118:43:118:45 | map : ClassToInstanceMap [] : Object | provenance | | +| Test.java:118:20:118:31 | map : EnumMap [] : Object | Test.java:118:43:118:45 | map : EnumMap [] : Object | provenance | | +| Test.java:118:20:118:31 | map : HashBiMap [] : Object | Test.java:118:43:118:45 | map : HashBiMap [] : Object | provenance | | +| Test.java:118:20:118:31 | map : HashMap [] : Object | Test.java:118:43:118:45 | map : HashMap [] : Object | provenance | | +| Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:45 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:118:20:118:31 | map : ImmutableClassToInstanceMap [] : Object | Test.java:118:43:118:45 | map : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:45 | map : ImmutableMap [] : Object | provenance | | +| Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:45 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:118:20:118:31 | map : LinkedHashMap [] : Object | Test.java:118:43:118:45 | map : LinkedHashMap [] : Object | provenance | | +| Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:45 | map : Map [] : Object | provenance | | +| Test.java:118:20:118:31 | map : MutableClassToInstanceMap [] : Object | Test.java:118:43:118:45 | map : MutableClassToInstanceMap [] : Object | provenance | | +| Test.java:118:20:118:31 | map : NavigableMap [] : Object | Test.java:118:43:118:45 | map : NavigableMap [] : Object | provenance | | +| Test.java:118:20:118:31 | map : SortedMap [] : Object | Test.java:118:43:118:45 | map : SortedMap [] : Object | provenance | | +| Test.java:118:20:118:31 | map : TreeMap [] : Object | Test.java:118:43:118:45 | map : TreeMap [] : Object | provenance | | +| Test.java:118:43:118:45 | map : BiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : ClassToInstanceMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : EnumMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : HashBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : HashMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : ImmutableClassToInstanceMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : LinkedHashMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : MutableClassToInstanceMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : NavigableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : SortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : TreeMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:119:20:119:36 | map : ArrayListMultimap [] : Object | Test.java:119:48:119:50 | map : ArrayListMultimap [] : Object | provenance | | +| Test.java:119:20:119:36 | map : HashMultimap [] : Object | Test.java:119:48:119:50 | map : HashMultimap [] : Object | provenance | | +| Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:50 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:50 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:50 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:119:20:119:36 | map : LinkedHashMultimap [] : Object | Test.java:119:48:119:50 | map : LinkedHashMultimap [] : Object | provenance | | +| Test.java:119:20:119:36 | map : LinkedListMultimap [] : Object | Test.java:119:48:119:50 | map : LinkedListMultimap [] : Object | provenance | | +| Test.java:119:20:119:36 | map : ListMultimap [] : Object | Test.java:119:48:119:50 | map : ListMultimap [] : Object | provenance | | +| Test.java:119:20:119:36 | map : Multimap [] : Object | Test.java:119:48:119:50 | map : Multimap [] : Object | provenance | | +| Test.java:119:20:119:36 | map : SetMultimap [] : Object | Test.java:119:48:119:50 | map : SetMultimap [] : Object | provenance | | +| Test.java:119:20:119:36 | map : SortedSetMultimap [] : Comparable | Test.java:119:48:119:50 | map : SortedSetMultimap [] : Comparable | provenance | | +| Test.java:119:20:119:36 | map : SortedSetMultimap [] : Object | Test.java:119:48:119:50 | map : SortedSetMultimap [] : Object | provenance | | +| Test.java:119:20:119:36 | map : TreeMultimap [] : Object | Test.java:119:48:119:50 | map : TreeMultimap [] : Object | provenance | | +| Test.java:119:48:119:50 | map : ArrayListMultimap [] : Object | Test.java:119:48:119:59 | values(...) : Collection [] : Object | provenance | MaD:385 | +| Test.java:119:48:119:50 | map : HashMultimap [] : Object | Test.java:119:48:119:59 | values(...) : Collection [] : Object | provenance | MaD:385 | +| Test.java:119:48:119:50 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:59 | values(...) : Collection [] : Object | provenance | MaD:385 | +| Test.java:119:48:119:50 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:59 | values(...) : Collection [] : Object | provenance | MaD:385 | +| Test.java:119:48:119:50 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:59 | values(...) : Collection [] : Object | provenance | MaD:385 | +| Test.java:119:48:119:50 | map : LinkedHashMultimap [] : Object | Test.java:119:48:119:59 | values(...) : Collection [] : Object | provenance | MaD:385 | +| Test.java:119:48:119:50 | map : LinkedListMultimap [] : Object | Test.java:119:48:119:59 | values(...) : Collection [] : Object | provenance | MaD:385 | +| Test.java:119:48:119:50 | map : ListMultimap [] : Object | Test.java:119:48:119:59 | values(...) : Collection [] : Object | provenance | MaD:385 | +| Test.java:119:48:119:50 | map : Multimap [] : Object | Test.java:119:48:119:59 | values(...) : Collection [] : Object | provenance | MaD:385 | +| Test.java:119:48:119:50 | map : SetMultimap [] : Object | Test.java:119:48:119:59 | values(...) : Collection [] : Object | provenance | MaD:385 | +| Test.java:119:48:119:50 | map : SortedSetMultimap [] : Comparable | Test.java:119:48:119:59 | values(...) : Collection [] : Comparable | provenance | MaD:385 | +| Test.java:119:48:119:50 | map : SortedSetMultimap [] : Object | Test.java:119:48:119:59 | values(...) : Collection [] : Object | provenance | MaD:385 | +| Test.java:119:48:119:50 | map : TreeMultimap [] : Object | Test.java:119:48:119:59 | values(...) : Collection [] : Object | provenance | MaD:385 | +| Test.java:119:48:119:59 | values(...) : Collection [] : Comparable | Test.java:119:48:119:70 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Comparable | Test.java:119:48:119:77 | next(...) : Comparable | provenance | MaD:557 | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | Test.java:119:48:119:77 | next(...) : Object | provenance | MaD:557 | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | Test.java:119:48:119:77 | next(...) : Object | provenance | MaD:557 | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | Test.java:119:48:119:77 | next(...) : Object | provenance | MaD:557 | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | Test.java:119:48:119:77 | next(...) : Object | provenance | MaD:557 | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | Test.java:119:48:119:77 | next(...) : Object | provenance | MaD:557 | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | Test.java:119:48:119:77 | next(...) : Object | provenance | MaD:557 | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | Test.java:119:48:119:77 | next(...) : Object | provenance | MaD:557 | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | Test.java:119:48:119:77 | next(...) : Object | provenance | MaD:557 | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | Test.java:119:48:119:77 | next(...) : Object | provenance | MaD:557 | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | Test.java:119:48:119:77 | next(...) : Object | provenance | MaD:557 | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | Test.java:119:48:119:77 | next(...) : Object | provenance | MaD:557 | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | Test.java:119:48:119:77 | next(...) : Object | provenance | MaD:557 | +| Test.java:120:20:120:33 | t : ArrayTable [] : Object | Test.java:120:45:120:45 | t : ArrayTable [] : Object | provenance | | +| Test.java:120:20:120:33 | t : HashBasedTable [] : Object | Test.java:120:45:120:45 | t : HashBasedTable [] : Object | provenance | | +| Test.java:120:20:120:33 | t : ImmutableTable [] : Object | Test.java:120:45:120:45 | t : ImmutableTable [] : Object | provenance | | +| Test.java:120:20:120:33 | t : RowSortedTable [] : Object | Test.java:120:45:120:45 | t : RowSortedTable [] : Object | provenance | | +| Test.java:120:20:120:33 | t : Table [] : Object | Test.java:120:45:120:45 | t : Table [] : Object | provenance | | +| Test.java:120:20:120:33 | t : TreeBasedTable [] : Object | Test.java:120:45:120:45 | t : TreeBasedTable [] : Object | provenance | | +| Test.java:120:45:120:45 | t : ArrayTable [] : Object | Test.java:120:45:120:54 | values(...) : Collection [] : Object | provenance | MaD:525 | +| Test.java:120:45:120:45 | t : HashBasedTable [] : Object | Test.java:120:45:120:54 | values(...) : Collection [] : Object | provenance | MaD:525 | +| Test.java:120:45:120:45 | t : ImmutableTable [] : Object | Test.java:120:45:120:54 | values(...) : Collection [] : Object | provenance | MaD:525 | +| Test.java:120:45:120:45 | t : RowSortedTable [] : Object | Test.java:120:45:120:54 | values(...) : Collection [] : Object | provenance | MaD:525 | +| Test.java:120:45:120:45 | t : Table [] : Object | Test.java:120:45:120:54 | values(...) : Collection [] : Object | provenance | MaD:525 | +| Test.java:120:45:120:45 | t : TreeBasedTable [] : Object | Test.java:120:45:120:54 | values(...) : Collection [] : Object | provenance | MaD:525 | +| Test.java:120:45:120:54 | values(...) : Collection [] : Object | Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:120:45:120:54 | values(...) : Collection [] : Object | Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:120:45:120:54 | values(...) : Collection [] : Object | Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:120:45:120:54 | values(...) : Collection [] : Object | Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:120:45:120:54 | values(...) : Collection [] : Object | Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:120:45:120:54 | values(...) : Collection [] : Object | Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | Test.java:120:45:120:72 | next(...) : Object | provenance | MaD:557 | +| Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | Test.java:120:45:120:72 | next(...) : Object | provenance | MaD:557 | +| Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | Test.java:120:45:120:72 | next(...) : Object | provenance | MaD:557 | +| Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | Test.java:120:45:120:72 | next(...) : Object | provenance | MaD:557 | +| Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | Test.java:120:45:120:72 | next(...) : Object | provenance | MaD:557 | +| Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | Test.java:120:45:120:72 | next(...) : Object | provenance | MaD:557 | +| Test.java:132:18:132:63 | (...)... : ImmutableMultimap [] : Object | Test.java:133:35:133:36 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:132:28:132:63 | of(...) : ImmutableMultimap [] : Object | Test.java:132:18:132:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:132:49:132:56 | source(...) : Object | Test.java:132:28:132:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:133:10:133:37 | create(...) : ArrayListMultimap [] : Object | Test.java:134:19:134:21 | out : ArrayListMultimap [] : Object | provenance | | +| Test.java:133:35:133:36 | in : ImmutableMultimap [] : Object | Test.java:133:10:133:37 | create(...) : ArrayListMultimap [] : Object | provenance | MaD:2 | +| Test.java:134:19:134:21 | out : ArrayListMultimap [] : Object | Test.java:100:18:100:34 | map : ArrayListMultimap [] : Object | provenance | | +| Test.java:134:19:134:21 | out : ArrayListMultimap [] : Object | Test.java:134:9:134:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:139:18:139:63 | (...)... : ImmutableMultimap [] : Object | Test.java:140:35:140:36 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:139:28:139:63 | of(...) : ImmutableMultimap [] : Object | Test.java:139:18:139:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:139:55:139:62 | source(...) : Object | Test.java:139:28:139:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:140:10:140:37 | create(...) : ArrayListMultimap [] : Object | Test.java:141:21:141:23 | out : ArrayListMultimap [] : Object | provenance | | +| Test.java:140:35:140:36 | in : ImmutableMultimap [] : Object | Test.java:140:10:140:37 | create(...) : ArrayListMultimap [] : Object | provenance | MaD:3 | +| Test.java:141:21:141:23 | out : ArrayListMultimap [] : Object | Test.java:119:20:119:36 | map : ArrayListMultimap [] : Object | provenance | | +| Test.java:141:21:141:23 | out : ArrayListMultimap [] : Object | Test.java:141:9:141:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:146:18:146:44 | (...)... : List [] : Object | Test.java:147:28:147:29 | in : List [] : Object | provenance | | +| Test.java:146:28:146:44 | of(...) : List [] : Object | Test.java:146:18:146:44 | (...)... : List [] : Object | provenance | | +| Test.java:146:36:146:43 | source(...) : Object | Test.java:146:28:146:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:147:10:147:36 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:148:25:148:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:147:28:147:29 | in : List [] : Object | Test.java:147:10:147:36 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:4 | +| Test.java:148:25:148:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:148:25:148:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:148:9:148:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:153:18:153:44 | (...)... : List [] : Object | Test.java:154:34:154:35 | in : List [] : Object | provenance | | +| Test.java:153:28:153:44 | of(...) : List [] : Object | Test.java:153:18:153:44 | (...)... : List [] : Object | provenance | | +| Test.java:153:36:153:43 | source(...) : Object | Test.java:153:28:153:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:154:10:154:36 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:155:28:155:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:154:34:154:35 | in : List [] : Object | Test.java:154:10:154:36 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:5 | +| Test.java:155:28:155:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:155:28:155:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:155:9:155:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:160:15:160:79 | (...)... : ArrayTable [] : Object | Test.java:161:28:161:29 | in : ArrayTable [] : Object | provenance | | +| Test.java:160:22:160:79 | create(...) : ArrayTable [] : Object | Test.java:160:15:160:79 | (...)... : ArrayTable [] : Object | provenance | | +| Test.java:160:40:160:78 | of(...) : ImmutableTable [] : Object | Test.java:160:22:160:79 | create(...) : ArrayTable [] : Object | provenance | MaD:6 | +| Test.java:160:70:160:77 | source(...) : Object | Test.java:160:40:160:78 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:161:10:161:30 | create(...) : ArrayTable [] : Object | Test.java:162:21:162:23 | out : ArrayTable [] : Object | provenance | | +| Test.java:161:28:161:29 | in : ArrayTable [] : Object | Test.java:161:10:161:30 | create(...) : ArrayTable [] : Object | provenance | MaD:6 | +| Test.java:162:21:162:23 | out : ArrayTable [] : Object | Test.java:120:20:120:33 | t : ArrayTable [] : Object | provenance | | +| Test.java:162:21:162:23 | out : ArrayTable [] : Object | Test.java:162:9:162:24 | getMapValue(...) | provenance | MaD:525 | +| Test.java:167:15:167:79 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:168:28:168:29 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:167:22:167:79 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:167:15:167:79 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:167:40:167:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:167:22:167:79 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:7 | +| Test.java:167:64:167:71 | source(...) : Object | Test.java:167:40:167:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:168:10:168:30 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:169:28:169:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:168:28:168:29 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:168:10:168:30 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:7 | +| Test.java:169:28:169:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:169:28:169:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:169:9:169:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:174:15:174:79 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:175:28:175:29 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:174:22:174:79 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:174:15:174:79 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:174:40:174:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:174:22:174:79 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:8 | +| Test.java:174:58:174:65 | source(...) : Object | Test.java:174:40:174:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:175:10:175:30 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:176:25:176:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:175:28:175:29 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:175:10:175:30 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:8 | +| Test.java:176:25:176:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:176:25:176:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:176:9:176:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:181:16:181:31 | (...)... : Object | Test.java:182:17:182:18 | in : Object | provenance | | +| Test.java:181:24:181:31 | source(...) : Object | Test.java:181:16:181:31 | (...)... : Object | provenance | | +| Test.java:182:4:182:6 | out [post update] : ImmutableBiMap [] : Object | Test.java:183:19:183:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:182:17:182:18 | in : Object | Test.java:182:4:182:6 | out [post update] : ImmutableBiMap [] : Object | provenance | MaD:9 | +| Test.java:183:19:183:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:183:19:183:21 | out : ImmutableBiMap [] : Object | Test.java:183:9:183:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:188:16:188:31 | (...)... : Object | Test.java:189:17:189:18 | in : Object | provenance | | +| Test.java:188:24:188:31 | source(...) : Object | Test.java:188:16:188:31 | (...)... : Object | provenance | | +| Test.java:189:4:189:6 | out [post update] : HashBiMap [] : Object | Test.java:190:19:190:21 | out : HashBiMap [] : Object | provenance | | +| Test.java:189:17:189:18 | in : Object | Test.java:189:4:189:6 | out [post update] : HashBiMap [] : Object | provenance | MaD:9 | +| Test.java:190:19:190:21 | out : HashBiMap [] : Object | Test.java:99:18:99:29 | map : HashBiMap [] : Object | provenance | | +| Test.java:190:19:190:21 | out : HashBiMap [] : Object | Test.java:190:9:190:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:195:16:195:31 | (...)... : Object | Test.java:196:17:196:18 | in : Object | provenance | | +| Test.java:195:24:195:31 | source(...) : Object | Test.java:195:16:195:31 | (...)... : Object | provenance | | +| Test.java:196:4:196:6 | out [post update] : BiMap [] : Object | Test.java:197:19:197:21 | out : BiMap [] : Object | provenance | | +| Test.java:196:17:196:18 | in : Object | Test.java:196:4:196:6 | out [post update] : BiMap [] : Object | provenance | MaD:9 | +| Test.java:197:19:197:21 | out : BiMap [] : Object | Test.java:99:18:99:29 | map : BiMap [] : Object | provenance | | +| Test.java:197:19:197:21 | out : BiMap [] : Object | Test.java:197:9:197:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:202:16:202:31 | (...)... : Object | Test.java:203:23:203:24 | in : Object | provenance | | +| Test.java:202:24:202:31 | source(...) : Object | Test.java:202:16:202:31 | (...)... : Object | provenance | | +| Test.java:203:4:203:6 | out [post update] : ImmutableBiMap [] : Object | Test.java:204:21:204:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:203:23:203:24 | in : Object | Test.java:203:4:203:6 | out [post update] : ImmutableBiMap [] : Object | provenance | MaD:10 | +| Test.java:204:21:204:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:204:21:204:23 | out : ImmutableBiMap [] : Object | Test.java:204:9:204:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:209:16:209:31 | (...)... : Object | Test.java:210:23:210:24 | in : Object | provenance | | +| Test.java:209:24:209:31 | source(...) : Object | Test.java:209:16:209:31 | (...)... : Object | provenance | | +| Test.java:210:4:210:6 | out [post update] : HashBiMap [] : Object | Test.java:211:21:211:23 | out : HashBiMap [] : Object | provenance | | +| Test.java:210:23:210:24 | in : Object | Test.java:210:4:210:6 | out [post update] : HashBiMap [] : Object | provenance | MaD:10 | +| Test.java:211:21:211:23 | out : HashBiMap [] : Object | Test.java:118:20:118:31 | map : HashBiMap [] : Object | provenance | | +| Test.java:211:21:211:23 | out : HashBiMap [] : Object | Test.java:211:9:211:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:216:16:216:31 | (...)... : Object | Test.java:217:23:217:24 | in : Object | provenance | | +| Test.java:216:24:216:31 | source(...) : Object | Test.java:216:16:216:31 | (...)... : Object | provenance | | +| Test.java:217:4:217:6 | out [post update] : BiMap [] : Object | Test.java:218:21:218:23 | out : BiMap [] : Object | provenance | | +| Test.java:217:23:217:24 | in : Object | Test.java:217:4:217:6 | out [post update] : BiMap [] : Object | provenance | MaD:10 | +| Test.java:218:21:218:23 | out : BiMap [] : Object | Test.java:118:20:118:31 | map : BiMap [] : Object | provenance | | +| Test.java:218:21:218:23 | out : BiMap [] : Object | Test.java:218:9:218:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:223:24:223:72 | (...)... : ImmutableBiMap [] : Object | Test.java:224:10:224:11 | in : ImmutableBiMap [] : Object | provenance | | +| Test.java:223:40:223:72 | of(...) : ImmutableBiMap [] : Object | Test.java:223:24:223:72 | (...)... : ImmutableBiMap [] : Object | provenance | | +| Test.java:223:58:223:65 | source(...) : Object | Test.java:223:40:223:72 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:29 | +| Test.java:224:10:224:11 | in : ImmutableBiMap [] : Object | Test.java:224:10:224:21 | inverse(...) : ImmutableBiMap [] : Object | provenance | MaD:11 | +| Test.java:224:10:224:21 | inverse(...) : ImmutableBiMap [] : Object | Test.java:225:21:225:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:225:21:225:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:225:21:225:23 | out : ImmutableBiMap [] : Object | Test.java:225:9:225:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:230:19:230:69 | (...)... : HashBiMap [] : Object | Test.java:231:10:231:11 | in : HashBiMap [] : Object | provenance | | +| Test.java:230:30:230:69 | create(...) : HashBiMap [] : Object | Test.java:230:19:230:69 | (...)... : HashBiMap [] : Object | provenance | | +| Test.java:230:47:230:68 | of(...) : Map [] : Object | Test.java:230:30:230:69 | create(...) : HashBiMap [] : Object | provenance | MaD:24 | +| Test.java:230:54:230:61 | source(...) : Object | Test.java:230:47:230:68 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:231:10:231:11 | in : HashBiMap [] : Object | Test.java:231:10:231:21 | inverse(...) : BiMap [] : Object | provenance | MaD:11 | +| Test.java:231:10:231:21 | inverse(...) : BiMap [] : Object | Test.java:232:21:232:23 | out : BiMap [] : Object | provenance | | +| Test.java:232:21:232:23 | out : BiMap [] : Object | Test.java:118:20:118:31 | map : BiMap [] : Object | provenance | | +| Test.java:232:21:232:23 | out : BiMap [] : Object | Test.java:232:9:232:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:237:15:237:54 | (...)... : ImmutableBiMap [] : Object | Test.java:238:10:238:11 | in : ImmutableBiMap [] : Object | provenance | | +| Test.java:237:22:237:54 | of(...) : ImmutableBiMap [] : Object | Test.java:237:15:237:54 | (...)... : ImmutableBiMap [] : Object | provenance | | +| Test.java:237:40:237:47 | source(...) : Object | Test.java:237:22:237:54 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:29 | +| Test.java:238:10:238:11 | in : ImmutableBiMap [] : Object | Test.java:238:10:238:21 | inverse(...) : BiMap [] : Object | provenance | MaD:11 | +| Test.java:238:10:238:21 | inverse(...) : BiMap [] : Object | Test.java:239:21:239:23 | out : BiMap [] : Object | provenance | | +| Test.java:239:21:239:23 | out : BiMap [] : Object | Test.java:118:20:118:31 | map : BiMap [] : Object | provenance | | +| Test.java:239:21:239:23 | out : BiMap [] : Object | Test.java:239:9:239:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:244:24:244:72 | (...)... : ImmutableBiMap [] : Object | Test.java:245:10:245:11 | in : ImmutableBiMap [] : Object | provenance | | +| Test.java:244:40:244:72 | of(...) : ImmutableBiMap [] : Object | Test.java:244:24:244:72 | (...)... : ImmutableBiMap [] : Object | provenance | | +| Test.java:244:64:244:71 | source(...) : Object | Test.java:244:40:244:72 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:30 | +| Test.java:245:10:245:11 | in : ImmutableBiMap [] : Object | Test.java:245:10:245:21 | inverse(...) : ImmutableBiMap [] : Object | provenance | MaD:12 | +| Test.java:245:10:245:21 | inverse(...) : ImmutableBiMap [] : Object | Test.java:246:19:246:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:246:19:246:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:246:19:246:21 | out : ImmutableBiMap [] : Object | Test.java:246:9:246:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:251:19:251:69 | (...)... : HashBiMap [] : Object | Test.java:252:10:252:11 | in : HashBiMap [] : Object | provenance | | +| Test.java:251:30:251:69 | create(...) : HashBiMap [] : Object | Test.java:251:19:251:69 | (...)... : HashBiMap [] : Object | provenance | | +| Test.java:251:47:251:68 | of(...) : Map [] : Object | Test.java:251:30:251:69 | create(...) : HashBiMap [] : Object | provenance | MaD:25 | +| Test.java:251:60:251:67 | source(...) : Object | Test.java:251:47:251:68 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:252:10:252:11 | in : HashBiMap [] : Object | Test.java:252:10:252:21 | inverse(...) : BiMap [] : Object | provenance | MaD:12 | +| Test.java:252:10:252:21 | inverse(...) : BiMap [] : Object | Test.java:253:19:253:21 | out : BiMap [] : Object | provenance | | +| Test.java:253:19:253:21 | out : BiMap [] : Object | Test.java:99:18:99:29 | map : BiMap [] : Object | provenance | | +| Test.java:253:19:253:21 | out : BiMap [] : Object | Test.java:253:9:253:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:258:15:258:54 | (...)... : ImmutableBiMap [] : Object | Test.java:259:10:259:11 | in : ImmutableBiMap [] : Object | provenance | | +| Test.java:258:22:258:54 | of(...) : ImmutableBiMap [] : Object | Test.java:258:15:258:54 | (...)... : ImmutableBiMap [] : Object | provenance | | +| Test.java:258:46:258:53 | source(...) : Object | Test.java:258:22:258:54 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:30 | +| Test.java:259:10:259:11 | in : ImmutableBiMap [] : Object | Test.java:259:10:259:21 | inverse(...) : BiMap [] : Object | provenance | MaD:12 | +| Test.java:259:10:259:21 | inverse(...) : BiMap [] : Object | Test.java:260:19:260:21 | out : BiMap [] : Object | provenance | | +| Test.java:260:19:260:21 | out : BiMap [] : Object | Test.java:99:18:99:29 | map : BiMap [] : Object | provenance | | +| Test.java:260:19:260:21 | out : BiMap [] : Object | Test.java:260:9:260:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:265:35:265:117 | (...)... : MutableClassToInstanceMap [] : Object | Test.java:266:10:266:11 | in : MutableClassToInstanceMap [] : Object | provenance | | +| Test.java:265:62:265:117 | create(...) : MutableClassToInstanceMap [] : Object | Test.java:265:35:265:117 | (...)... : MutableClassToInstanceMap [] : Object | provenance | | +| Test.java:265:95:265:116 | of(...) : Map [] : Object | Test.java:265:62:265:117 | create(...) : MutableClassToInstanceMap [] : Object | provenance | MaD:462 | +| Test.java:265:108:265:115 | source(...) : Object | Test.java:265:95:265:116 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:266:10:266:11 | in : MutableClassToInstanceMap [] : Object | Test.java:266:10:266:29 | getInstance(...) : Object | provenance | MaD:13 | +| Test.java:266:10:266:29 | getInstance(...) : Object | Test.java:267:9:267:11 | out | provenance | | +| Test.java:272:37:272:111 | (...)... : ImmutableClassToInstanceMap [] : Object | Test.java:273:10:273:11 | in : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:272:66:272:111 | of(...) : ImmutableClassToInstanceMap [] : Object | Test.java:272:37:272:111 | (...)... : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:272:103:272:110 | source(...) : Object | Test.java:272:66:272:111 | of(...) : ImmutableClassToInstanceMap [] : Object | provenance | MaD:42 | +| Test.java:273:10:273:11 | in : ImmutableClassToInstanceMap [] : Object | Test.java:273:10:273:29 | getInstance(...) : Object | provenance | MaD:13 | +| Test.java:273:10:273:29 | getInstance(...) : Object | Test.java:274:9:274:11 | out | provenance | | +| Test.java:279:28:279:93 | (...)... : ImmutableClassToInstanceMap [] : Object | Test.java:280:10:280:11 | in : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:279:48:279:93 | of(...) : ImmutableClassToInstanceMap [] : Object | Test.java:279:28:279:93 | (...)... : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:279:85:279:92 | source(...) : Object | Test.java:279:48:279:93 | of(...) : ImmutableClassToInstanceMap [] : Object | provenance | MaD:42 | +| Test.java:280:10:280:11 | in : ImmutableClassToInstanceMap [] : Object | Test.java:280:10:280:29 | getInstance(...) : Object | provenance | MaD:13 | +| Test.java:280:10:280:29 | getInstance(...) : Object | Test.java:281:9:281:11 | out | provenance | | +| Test.java:286:16:286:31 | (...)... : Object | Test.java:287:26:287:27 | in : Object | provenance | | +| Test.java:286:24:286:31 | source(...) : Object | Test.java:286:16:286:31 | (...)... : Object | provenance | | +| Test.java:287:4:287:6 | out [post update] : MutableClassToInstanceMap [] : Object | Test.java:288:21:288:23 | out : MutableClassToInstanceMap [] : Object | provenance | | +| Test.java:287:26:287:27 | in : Object | Test.java:287:4:287:6 | out [post update] : MutableClassToInstanceMap [] : Object | provenance | MaD:15 | +| Test.java:288:21:288:23 | out : MutableClassToInstanceMap [] : Object | Test.java:118:20:118:31 | map : MutableClassToInstanceMap [] : Object | provenance | | +| Test.java:288:21:288:23 | out : MutableClassToInstanceMap [] : Object | Test.java:288:9:288:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:293:16:293:31 | (...)... : Object | Test.java:294:26:294:27 | in : Object | provenance | | +| Test.java:293:24:293:31 | source(...) : Object | Test.java:293:16:293:31 | (...)... : Object | provenance | | +| Test.java:294:4:294:6 | out [post update] : ImmutableClassToInstanceMap [] : Object | Test.java:295:21:295:23 | out : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:294:26:294:27 | in : Object | Test.java:294:4:294:6 | out [post update] : ImmutableClassToInstanceMap [] : Object | provenance | MaD:15 | +| Test.java:295:21:295:23 | out : ImmutableClassToInstanceMap [] : Object | Test.java:118:20:118:31 | map : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:295:21:295:23 | out : ImmutableClassToInstanceMap [] : Object | Test.java:295:9:295:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:300:16:300:31 | (...)... : Object | Test.java:301:26:301:27 | in : Object | provenance | | +| Test.java:300:24:300:31 | source(...) : Object | Test.java:300:16:300:31 | (...)... : Object | provenance | | +| Test.java:301:4:301:6 | out [post update] : ClassToInstanceMap [] : Object | Test.java:302:21:302:23 | out : ClassToInstanceMap [] : Object | provenance | | +| Test.java:301:26:301:27 | in : Object | Test.java:301:4:301:6 | out [post update] : ClassToInstanceMap [] : Object | provenance | MaD:15 | +| Test.java:302:21:302:23 | out : ClassToInstanceMap [] : Object | Test.java:118:20:118:31 | map : ClassToInstanceMap [] : Object | provenance | | +| Test.java:302:21:302:23 | out : ClassToInstanceMap [] : Object | Test.java:302:9:302:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:307:35:307:117 | (...)... : MutableClassToInstanceMap [] : Object | Test.java:308:10:308:11 | in : MutableClassToInstanceMap [] : Object | provenance | | +| Test.java:307:62:307:117 | create(...) : MutableClassToInstanceMap [] : Object | Test.java:307:35:307:117 | (...)... : MutableClassToInstanceMap [] : Object | provenance | | +| Test.java:307:95:307:116 | of(...) : Map [] : Object | Test.java:307:62:307:117 | create(...) : MutableClassToInstanceMap [] : Object | provenance | MaD:462 | +| Test.java:307:108:307:115 | source(...) : Object | Test.java:307:95:307:116 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:308:10:308:11 | in : MutableClassToInstanceMap [] : Object | Test.java:308:10:308:35 | putInstance(...) : Object | provenance | MaD:14 | +| Test.java:308:10:308:35 | putInstance(...) : Object | Test.java:309:9:309:11 | out | provenance | | +| Test.java:314:37:314:111 | (...)... : ImmutableClassToInstanceMap [] : Object | Test.java:315:10:315:11 | in : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:314:66:314:111 | of(...) : ImmutableClassToInstanceMap [] : Object | Test.java:314:37:314:111 | (...)... : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:314:103:314:110 | source(...) : Object | Test.java:314:66:314:111 | of(...) : ImmutableClassToInstanceMap [] : Object | provenance | MaD:42 | +| Test.java:315:10:315:11 | in : ImmutableClassToInstanceMap [] : Object | Test.java:315:10:315:35 | putInstance(...) : Object | provenance | MaD:14 | +| Test.java:315:10:315:35 | putInstance(...) : Object | Test.java:316:9:316:11 | out | provenance | | +| Test.java:321:28:321:93 | (...)... : ImmutableClassToInstanceMap [] : Object | Test.java:322:10:322:11 | in : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:321:48:321:93 | of(...) : ImmutableClassToInstanceMap [] : Object | Test.java:321:28:321:93 | (...)... : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:321:85:321:92 | source(...) : Object | Test.java:321:48:321:93 | of(...) : ImmutableClassToInstanceMap [] : Object | provenance | MaD:42 | +| Test.java:322:10:322:11 | in : ImmutableClassToInstanceMap [] : Object | Test.java:322:10:322:35 | putInstance(...) : Object | provenance | MaD:14 | +| Test.java:322:10:322:35 | putInstance(...) : Object | Test.java:323:9:323:11 | out | provenance | | +| Test.java:328:20:328:48 | (...)... : List [] : Object | Test.java:329:30:329:31 | in : List [] : Object | provenance | | +| Test.java:328:32:328:48 | of(...) : List [] : Object | Test.java:328:20:328:48 | (...)... : List [] : Object | provenance | | +| Test.java:328:40:328:47 | source(...) : Object | Test.java:328:32:328:48 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:329:10:329:38 | filter(...) : Collection [] : Object | Test.java:330:20:330:22 | out : Collection [] : Object | provenance | | +| Test.java:329:30:329:31 | in : List [] : Object | Test.java:329:10:329:38 | filter(...) : Collection [] : Object | provenance | MaD:16 | +| Test.java:330:20:330:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:330:20:330:22 | out : Collection [] : Object | Test.java:330:9:330:23 | getElement(...) | provenance | MaD:555 | +| Test.java:335:18:335:44 | (...)... : List [] : Object | Test.java:336:43:336:44 | in : List [] : Object | provenance | | +| Test.java:335:28:335:44 | of(...) : List [] : Object | Test.java:335:18:335:44 | (...)... : List [] : Object | provenance | | +| Test.java:335:36:335:43 | source(...) : Object | Test.java:335:28:335:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:336:10:336:45 | orderedPermutations(...) : Collection [, ] : Object | Test.java:337:31:337:33 | out : Collection [, ] : Object | provenance | | +| Test.java:336:43:336:44 | in : List [] : Object | Test.java:336:10:336:45 | orderedPermutations(...) : Collection [, ] : Object | provenance | MaD:17 | +| Test.java:337:20:337:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:337:20:337:34 | getElement(...) : List [] : Object | Test.java:337:9:337:35 | getElement(...) | provenance | MaD:555 | +| Test.java:337:31:337:33 | out : Collection [, ] : Object | Test.java:337:20:337:34 | getElement(...) : List [] : Object | provenance | MaD:555 | +| Test.java:342:18:342:44 | (...)... : List [] : Object | Test.java:343:43:343:44 | in : List [] : Object | provenance | | +| Test.java:342:28:342:44 | of(...) : List [] : Object | Test.java:342:18:342:44 | (...)... : List [] : Object | provenance | | +| Test.java:342:36:342:43 | source(...) : Object | Test.java:342:28:342:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:343:10:343:51 | orderedPermutations(...) : Collection [, ] : Object | Test.java:344:31:344:33 | out : Collection [, ] : Object | provenance | | +| Test.java:343:43:343:44 | in : List [] : Object | Test.java:343:10:343:51 | orderedPermutations(...) : Collection [, ] : Object | provenance | MaD:18 | +| Test.java:344:20:344:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:344:20:344:34 | getElement(...) : List [] : Object | Test.java:344:9:344:35 | getElement(...) | provenance | MaD:555 | +| Test.java:344:31:344:33 | out : Collection [, ] : Object | Test.java:344:20:344:34 | getElement(...) : List [] : Object | provenance | MaD:555 | +| Test.java:349:20:349:48 | (...)... : List [] : Object | Test.java:350:36:350:37 | in : List [] : Object | provenance | | +| Test.java:349:32:349:48 | of(...) : List [] : Object | Test.java:349:20:349:48 | (...)... : List [] : Object | provenance | | +| Test.java:349:40:349:47 | source(...) : Object | Test.java:349:32:349:48 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:350:10:350:38 | permutations(...) : Collection [, ] : Object | Test.java:351:31:351:33 | out : Collection [, ] : Object | provenance | | +| Test.java:350:36:350:37 | in : List [] : Object | Test.java:350:10:350:38 | permutations(...) : Collection [, ] : Object | provenance | MaD:19 | +| Test.java:351:20:351:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:351:20:351:34 | getElement(...) : List [] : Object | Test.java:351:9:351:35 | getElement(...) | provenance | MaD:555 | +| Test.java:351:31:351:33 | out : Collection [, ] : Object | Test.java:351:20:351:34 | getElement(...) : List [] : Object | provenance | MaD:555 | +| Test.java:356:18:356:44 | (...)... : List [] : Object | Test.java:357:40:357:41 | in : List [] : Object | provenance | | +| Test.java:356:28:356:44 | of(...) : List [] : Object | Test.java:356:18:356:44 | (...)... : List [] : Object | provenance | | +| Test.java:356:36:356:43 | source(...) : Object | Test.java:356:28:356:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:357:10:357:42 | create(...) : ConcurrentHashMultiset [] : Object | Test.java:358:20:358:22 | out : ConcurrentHashMultiset [] : Object | provenance | | +| Test.java:357:40:357:41 | in : List [] : Object | Test.java:357:10:357:42 | create(...) : ConcurrentHashMultiset [] : Object | provenance | MaD:20 | +| Test.java:358:20:358:22 | out : ConcurrentHashMultiset [] : Object | Test.java:110:19:110:32 | it : ConcurrentHashMultiset [] : Object | provenance | | +| Test.java:358:20:358:22 | out : ConcurrentHashMultiset [] : Object | Test.java:358:9:358:23 | getElement(...) | provenance | MaD:555 | +| Test.java:363:15:363:51 | (...)... : TreeBasedTable [] : Object | Test.java:364:32:364:33 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:363:22:363:51 | newTable(...) : TreeBasedTable [] : Object | Test.java:363:15:363:51 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:363:43:363:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:363:43:363:50 | source(...) : Object | Test.java:363:22:363:51 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:364:10:364:34 | create(...) : HashBasedTable [] : Object | Test.java:365:21:365:23 | out : HashBasedTable [] : Object | provenance | | +| Test.java:364:32:364:33 | in : TreeBasedTable [] : Object | Test.java:364:10:364:34 | create(...) : HashBasedTable [] : Object | provenance | MaD:21 | +| Test.java:365:21:365:23 | out : HashBasedTable [] : Object | Test.java:120:20:120:33 | t : HashBasedTable [] : Object | provenance | | +| Test.java:365:21:365:23 | out : HashBasedTable [] : Object | Test.java:365:9:365:24 | getMapValue(...) | provenance | MaD:525 | +| Test.java:370:15:370:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:371:32:371:33 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:370:22:370:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:370:15:370:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:370:37:370:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | provenance | | +| Test.java:370:37:370:44 | source(...) : Object | Test.java:370:22:370:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:371:10:371:34 | create(...) : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:372:28:372:30 | out : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:371:32:371:33 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:371:10:371:34 | create(...) : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:22 | +| Test.java:372:28:372:30 | out : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:372:28:372:30 | out : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:372:9:372:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:377:15:377:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:378:32:378:33 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:377:22:377:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:377:15:377:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:377:31:377:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | provenance | | +| Test.java:377:31:377:38 | source(...) : Object | Test.java:377:22:377:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:378:10:378:34 | create(...) : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:379:25:379:27 | out : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:378:32:378:33 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:378:10:378:34 | create(...) : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:23 | +| Test.java:379:25:379:27 | out : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:379:25:379:27 | out : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:379:9:379:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:384:13:384:39 | (...)... : Map [] : Object | Test.java:385:27:385:28 | in : Map [] : Object | provenance | | +| Test.java:384:18:384:39 | of(...) : Map [] : Object | Test.java:384:13:384:39 | (...)... : Map [] : Object | provenance | | +| Test.java:384:25:384:32 | source(...) : Object | Test.java:384:18:384:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:385:10:385:29 | create(...) : HashBiMap [] : Object | Test.java:386:19:386:21 | out : HashBiMap [] : Object | provenance | | +| Test.java:385:27:385:28 | in : Map [] : Object | Test.java:385:10:385:29 | create(...) : HashBiMap [] : Object | provenance | MaD:24 | +| Test.java:386:19:386:21 | out : HashBiMap [] : Object | Test.java:99:18:99:29 | map : HashBiMap [] : Object | provenance | | +| Test.java:386:19:386:21 | out : HashBiMap [] : Object | Test.java:386:9:386:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:391:13:391:39 | (...)... : Map [] : Object | Test.java:392:27:392:28 | in : Map [] : Object | provenance | | +| Test.java:391:18:391:39 | of(...) : Map [] : Object | Test.java:391:13:391:39 | (...)... : Map [] : Object | provenance | | +| Test.java:391:31:391:38 | source(...) : Object | Test.java:391:18:391:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:392:10:392:29 | create(...) : HashBiMap [] : Object | Test.java:393:21:393:23 | out : HashBiMap [] : Object | provenance | | +| Test.java:392:27:392:28 | in : Map [] : Object | Test.java:392:10:392:29 | create(...) : HashBiMap [] : Object | provenance | MaD:25 | +| Test.java:393:21:393:23 | out : HashBiMap [] : Object | Test.java:118:20:118:31 | map : HashBiMap [] : Object | provenance | | +| Test.java:393:21:393:23 | out : HashBiMap [] : Object | Test.java:393:9:393:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:398:18:398:63 | (...)... : ImmutableMultimap [] : Object | Test.java:399:30:399:31 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:398:28:398:63 | of(...) : ImmutableMultimap [] : Object | Test.java:398:18:398:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:398:49:398:56 | source(...) : Object | Test.java:398:28:398:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:399:10:399:32 | create(...) : HashMultimap [] : Object | Test.java:400:19:400:21 | out : HashMultimap [] : Object | provenance | | +| Test.java:399:30:399:31 | in : ImmutableMultimap [] : Object | Test.java:399:10:399:32 | create(...) : HashMultimap [] : Object | provenance | MaD:26 | +| Test.java:400:19:400:21 | out : HashMultimap [] : Object | Test.java:100:18:100:34 | map : HashMultimap [] : Object | provenance | | +| Test.java:400:19:400:21 | out : HashMultimap [] : Object | Test.java:400:9:400:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:405:18:405:63 | (...)... : ImmutableMultimap [] : Object | Test.java:406:30:406:31 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:405:28:405:63 | of(...) : ImmutableMultimap [] : Object | Test.java:405:18:405:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:405:55:405:62 | source(...) : Object | Test.java:405:28:405:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:406:10:406:32 | create(...) : HashMultimap [] : Object | Test.java:407:21:407:23 | out : HashMultimap [] : Object | provenance | | +| Test.java:406:30:406:31 | in : ImmutableMultimap [] : Object | Test.java:406:10:406:32 | create(...) : HashMultimap [] : Object | provenance | MaD:27 | +| Test.java:407:21:407:23 | out : HashMultimap [] : Object | Test.java:119:20:119:36 | map : HashMultimap [] : Object | provenance | | +| Test.java:407:21:407:23 | out : HashMultimap [] : Object | Test.java:407:9:407:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:412:18:412:44 | (...)... : List [] : Object | Test.java:413:30:413:31 | in : List [] : Object | provenance | | +| Test.java:412:28:412:44 | of(...) : List [] : Object | Test.java:412:18:412:44 | (...)... : List [] : Object | provenance | | +| Test.java:412:36:412:43 | source(...) : Object | Test.java:412:28:412:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:413:10:413:32 | create(...) : HashMultiset [] : Object | Test.java:414:20:414:22 | out : HashMultiset [] : Object | provenance | | +| Test.java:413:30:413:31 | in : List [] : Object | Test.java:413:10:413:32 | create(...) : HashMultiset [] : Object | provenance | MaD:28 | +| Test.java:414:20:414:22 | out : HashMultiset [] : Object | Test.java:110:19:110:32 | it : HashMultiset [] : Object | provenance | | +| Test.java:414:20:414:22 | out : HashMultiset [] : Object | Test.java:414:9:414:23 | getElement(...) | provenance | MaD:555 | +| Test.java:419:16:419:31 | (...)... : Object | Test.java:420:28:420:29 | in : Object | provenance | | +| Test.java:419:24:419:31 | source(...) : Object | Test.java:419:16:419:31 | (...)... : Object | provenance | | +| Test.java:420:10:420:84 | of(...) : ImmutableBiMap [] : Object | Test.java:421:19:421:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:420:28:420:29 | in : Object | Test.java:420:10:420:84 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:29 | +| Test.java:421:19:421:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:421:19:421:21 | out : ImmutableBiMap [] : Object | Test.java:421:9:421:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:426:16:426:31 | (...)... : Object | Test.java:427:28:427:29 | in : Object | provenance | | +| Test.java:426:24:426:31 | source(...) : Object | Test.java:426:16:426:31 | (...)... : Object | provenance | | +| Test.java:427:10:427:72 | of(...) : ImmutableBiMap [] : Object | Test.java:428:19:428:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:427:28:427:29 | in : Object | Test.java:427:10:427:72 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:29 | +| Test.java:428:19:428:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:428:19:428:21 | out : ImmutableBiMap [] : Object | Test.java:428:9:428:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:433:16:433:31 | (...)... : Object | Test.java:434:28:434:29 | in : Object | provenance | | +| Test.java:433:24:433:31 | source(...) : Object | Test.java:433:16:433:31 | (...)... : Object | provenance | | +| Test.java:434:10:434:60 | of(...) : ImmutableBiMap [] : Object | Test.java:435:19:435:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:434:28:434:29 | in : Object | Test.java:434:10:434:60 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:29 | +| Test.java:435:19:435:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:435:19:435:21 | out : ImmutableBiMap [] : Object | Test.java:435:9:435:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:440:16:440:31 | (...)... : Object | Test.java:441:28:441:29 | in : Object | provenance | | +| Test.java:440:24:440:31 | source(...) : Object | Test.java:440:16:440:31 | (...)... : Object | provenance | | +| Test.java:441:10:441:48 | of(...) : ImmutableBiMap [] : Object | Test.java:442:19:442:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:441:28:441:29 | in : Object | Test.java:441:10:441:48 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:29 | +| Test.java:442:19:442:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:442:19:442:21 | out : ImmutableBiMap [] : Object | Test.java:442:9:442:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:447:16:447:31 | (...)... : Object | Test.java:448:28:448:29 | in : Object | provenance | | +| Test.java:447:24:447:31 | source(...) : Object | Test.java:447:16:447:31 | (...)... : Object | provenance | | +| Test.java:448:10:448:36 | of(...) : ImmutableBiMap [] : Object | Test.java:449:19:449:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:448:28:448:29 | in : Object | Test.java:448:10:448:36 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:29 | +| Test.java:449:19:449:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:449:19:449:21 | out : ImmutableBiMap [] : Object | Test.java:449:9:449:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:454:16:454:31 | (...)... : Object | Test.java:455:34:455:35 | in : Object | provenance | | +| Test.java:454:24:454:31 | source(...) : Object | Test.java:454:16:454:31 | (...)... : Object | provenance | | +| Test.java:455:10:455:84 | of(...) : ImmutableBiMap [] : Object | Test.java:456:21:456:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:455:34:455:35 | in : Object | Test.java:455:10:455:84 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:30 | +| Test.java:456:21:456:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:456:21:456:23 | out : ImmutableBiMap [] : Object | Test.java:456:9:456:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:461:16:461:31 | (...)... : Object | Test.java:462:34:462:35 | in : Object | provenance | | +| Test.java:461:24:461:31 | source(...) : Object | Test.java:461:16:461:31 | (...)... : Object | provenance | | +| Test.java:462:10:462:72 | of(...) : ImmutableBiMap [] : Object | Test.java:463:21:463:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:462:34:462:35 | in : Object | Test.java:462:10:462:72 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:30 | +| Test.java:463:21:463:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:463:21:463:23 | out : ImmutableBiMap [] : Object | Test.java:463:9:463:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:468:16:468:31 | (...)... : Object | Test.java:469:34:469:35 | in : Object | provenance | | +| Test.java:468:24:468:31 | source(...) : Object | Test.java:468:16:468:31 | (...)... : Object | provenance | | +| Test.java:469:10:469:60 | of(...) : ImmutableBiMap [] : Object | Test.java:470:21:470:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:469:34:469:35 | in : Object | Test.java:469:10:469:60 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:30 | +| Test.java:470:21:470:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:470:21:470:23 | out : ImmutableBiMap [] : Object | Test.java:470:9:470:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:475:16:475:31 | (...)... : Object | Test.java:476:34:476:35 | in : Object | provenance | | +| Test.java:475:24:475:31 | source(...) : Object | Test.java:475:16:475:31 | (...)... : Object | provenance | | +| Test.java:476:10:476:48 | of(...) : ImmutableBiMap [] : Object | Test.java:477:21:477:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:476:34:476:35 | in : Object | Test.java:476:10:476:48 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:30 | +| Test.java:477:21:477:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:477:21:477:23 | out : ImmutableBiMap [] : Object | Test.java:477:9:477:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:482:16:482:31 | (...)... : Object | Test.java:483:34:483:35 | in : Object | provenance | | +| Test.java:482:24:482:31 | source(...) : Object | Test.java:482:16:482:31 | (...)... : Object | provenance | | +| Test.java:483:10:483:36 | of(...) : ImmutableBiMap [] : Object | Test.java:484:21:484:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:483:34:483:35 | in : Object | Test.java:483:10:483:36 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:30 | +| Test.java:484:21:484:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:484:21:484:23 | out : ImmutableBiMap [] : Object | Test.java:484:9:484:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:489:16:489:31 | (...)... : Object | Test.java:490:40:490:41 | in : Object | provenance | | +| Test.java:489:24:489:31 | source(...) : Object | Test.java:489:16:489:31 | (...)... : Object | provenance | | +| Test.java:490:10:490:84 | of(...) : ImmutableBiMap [] : Object | Test.java:491:19:491:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:490:40:490:41 | in : Object | Test.java:490:10:490:84 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:31 | +| Test.java:491:19:491:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:491:19:491:21 | out : ImmutableBiMap [] : Object | Test.java:491:9:491:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:496:16:496:31 | (...)... : Object | Test.java:497:40:497:41 | in : Object | provenance | | +| Test.java:496:24:496:31 | source(...) : Object | Test.java:496:16:496:31 | (...)... : Object | provenance | | +| Test.java:497:10:497:72 | of(...) : ImmutableBiMap [] : Object | Test.java:498:19:498:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:497:40:497:41 | in : Object | Test.java:497:10:497:72 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:31 | +| Test.java:498:19:498:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:498:19:498:21 | out : ImmutableBiMap [] : Object | Test.java:498:9:498:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:503:16:503:31 | (...)... : Object | Test.java:504:40:504:41 | in : Object | provenance | | +| Test.java:503:24:503:31 | source(...) : Object | Test.java:503:16:503:31 | (...)... : Object | provenance | | +| Test.java:504:10:504:60 | of(...) : ImmutableBiMap [] : Object | Test.java:505:19:505:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:504:40:504:41 | in : Object | Test.java:504:10:504:60 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:31 | +| Test.java:505:19:505:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:505:19:505:21 | out : ImmutableBiMap [] : Object | Test.java:505:9:505:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:510:16:510:31 | (...)... : Object | Test.java:511:40:511:41 | in : Object | provenance | | +| Test.java:510:24:510:31 | source(...) : Object | Test.java:510:16:510:31 | (...)... : Object | provenance | | +| Test.java:511:10:511:48 | of(...) : ImmutableBiMap [] : Object | Test.java:512:19:512:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:511:40:511:41 | in : Object | Test.java:511:10:511:48 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:31 | +| Test.java:512:19:512:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:512:19:512:21 | out : ImmutableBiMap [] : Object | Test.java:512:9:512:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:517:16:517:31 | (...)... : Object | Test.java:518:46:518:47 | in : Object | provenance | | +| Test.java:517:24:517:31 | source(...) : Object | Test.java:517:16:517:31 | (...)... : Object | provenance | | +| Test.java:518:10:518:84 | of(...) : ImmutableBiMap [] : Object | Test.java:519:21:519:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:518:46:518:47 | in : Object | Test.java:518:10:518:84 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:32 | +| Test.java:519:21:519:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:519:21:519:23 | out : ImmutableBiMap [] : Object | Test.java:519:9:519:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:524:16:524:31 | (...)... : Object | Test.java:525:46:525:47 | in : Object | provenance | | +| Test.java:524:24:524:31 | source(...) : Object | Test.java:524:16:524:31 | (...)... : Object | provenance | | +| Test.java:525:10:525:72 | of(...) : ImmutableBiMap [] : Object | Test.java:526:21:526:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:525:46:525:47 | in : Object | Test.java:525:10:525:72 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:32 | +| Test.java:526:21:526:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:526:21:526:23 | out : ImmutableBiMap [] : Object | Test.java:526:9:526:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:531:16:531:31 | (...)... : Object | Test.java:532:46:532:47 | in : Object | provenance | | +| Test.java:531:24:531:31 | source(...) : Object | Test.java:531:16:531:31 | (...)... : Object | provenance | | +| Test.java:532:10:532:60 | of(...) : ImmutableBiMap [] : Object | Test.java:533:21:533:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:532:46:532:47 | in : Object | Test.java:532:10:532:60 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:32 | +| Test.java:533:21:533:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:533:21:533:23 | out : ImmutableBiMap [] : Object | Test.java:533:9:533:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:538:16:538:31 | (...)... : Object | Test.java:539:46:539:47 | in : Object | provenance | | +| Test.java:538:24:538:31 | source(...) : Object | Test.java:538:16:538:31 | (...)... : Object | provenance | | +| Test.java:539:10:539:48 | of(...) : ImmutableBiMap [] : Object | Test.java:540:21:540:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:539:46:539:47 | in : Object | Test.java:539:10:539:48 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:32 | +| Test.java:540:21:540:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:540:21:540:23 | out : ImmutableBiMap [] : Object | Test.java:540:9:540:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:545:16:545:31 | (...)... : Object | Test.java:546:52:546:53 | in : Object | provenance | | +| Test.java:545:24:545:31 | source(...) : Object | Test.java:545:16:545:31 | (...)... : Object | provenance | | +| Test.java:546:10:546:84 | of(...) : ImmutableBiMap [] : Object | Test.java:547:19:547:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:546:52:546:53 | in : Object | Test.java:546:10:546:84 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:33 | +| Test.java:547:19:547:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:547:19:547:21 | out : ImmutableBiMap [] : Object | Test.java:547:9:547:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:552:16:552:31 | (...)... : Object | Test.java:553:52:553:53 | in : Object | provenance | | +| Test.java:552:24:552:31 | source(...) : Object | Test.java:552:16:552:31 | (...)... : Object | provenance | | +| Test.java:553:10:553:72 | of(...) : ImmutableBiMap [] : Object | Test.java:554:19:554:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:553:52:553:53 | in : Object | Test.java:553:10:553:72 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:33 | +| Test.java:554:19:554:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:554:19:554:21 | out : ImmutableBiMap [] : Object | Test.java:554:9:554:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:559:16:559:31 | (...)... : Object | Test.java:560:52:560:53 | in : Object | provenance | | +| Test.java:559:24:559:31 | source(...) : Object | Test.java:559:16:559:31 | (...)... : Object | provenance | | +| Test.java:560:10:560:60 | of(...) : ImmutableBiMap [] : Object | Test.java:561:19:561:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:560:52:560:53 | in : Object | Test.java:560:10:560:60 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:33 | +| Test.java:561:19:561:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:561:19:561:21 | out : ImmutableBiMap [] : Object | Test.java:561:9:561:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:566:16:566:31 | (...)... : Object | Test.java:567:58:567:59 | in : Object | provenance | | +| Test.java:566:24:566:31 | source(...) : Object | Test.java:566:16:566:31 | (...)... : Object | provenance | | +| Test.java:567:10:567:84 | of(...) : ImmutableBiMap [] : Object | Test.java:568:21:568:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:567:58:567:59 | in : Object | Test.java:567:10:567:84 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:34 | +| Test.java:568:21:568:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:568:21:568:23 | out : ImmutableBiMap [] : Object | Test.java:568:9:568:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:573:16:573:31 | (...)... : Object | Test.java:574:58:574:59 | in : Object | provenance | | +| Test.java:573:24:573:31 | source(...) : Object | Test.java:573:16:573:31 | (...)... : Object | provenance | | +| Test.java:574:10:574:72 | of(...) : ImmutableBiMap [] : Object | Test.java:575:21:575:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:574:58:574:59 | in : Object | Test.java:574:10:574:72 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:34 | +| Test.java:575:21:575:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:575:21:575:23 | out : ImmutableBiMap [] : Object | Test.java:575:9:575:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:580:16:580:31 | (...)... : Object | Test.java:581:58:581:59 | in : Object | provenance | | +| Test.java:580:24:580:31 | source(...) : Object | Test.java:580:16:580:31 | (...)... : Object | provenance | | +| Test.java:581:10:581:60 | of(...) : ImmutableBiMap [] : Object | Test.java:582:21:582:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:581:58:581:59 | in : Object | Test.java:581:10:581:60 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:34 | +| Test.java:582:21:582:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:582:21:582:23 | out : ImmutableBiMap [] : Object | Test.java:582:9:582:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:587:16:587:31 | (...)... : Object | Test.java:588:64:588:65 | in : Object | provenance | | +| Test.java:587:24:587:31 | source(...) : Object | Test.java:587:16:587:31 | (...)... : Object | provenance | | +| Test.java:588:10:588:84 | of(...) : ImmutableBiMap [] : Object | Test.java:589:19:589:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:588:64:588:65 | in : Object | Test.java:588:10:588:84 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:35 | +| Test.java:589:19:589:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:589:19:589:21 | out : ImmutableBiMap [] : Object | Test.java:589:9:589:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:594:16:594:31 | (...)... : Object | Test.java:595:64:595:65 | in : Object | provenance | | +| Test.java:594:24:594:31 | source(...) : Object | Test.java:594:16:594:31 | (...)... : Object | provenance | | +| Test.java:595:10:595:72 | of(...) : ImmutableBiMap [] : Object | Test.java:596:19:596:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:595:64:595:65 | in : Object | Test.java:595:10:595:72 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:35 | +| Test.java:596:19:596:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:596:19:596:21 | out : ImmutableBiMap [] : Object | Test.java:596:9:596:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:601:16:601:31 | (...)... : Object | Test.java:602:70:602:71 | in : Object | provenance | | +| Test.java:601:24:601:31 | source(...) : Object | Test.java:601:16:601:31 | (...)... : Object | provenance | | +| Test.java:602:10:602:84 | of(...) : ImmutableBiMap [] : Object | Test.java:603:21:603:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:602:70:602:71 | in : Object | Test.java:602:10:602:84 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:36 | +| Test.java:603:21:603:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:603:21:603:23 | out : ImmutableBiMap [] : Object | Test.java:603:9:603:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:608:16:608:31 | (...)... : Object | Test.java:609:70:609:71 | in : Object | provenance | | +| Test.java:608:24:608:31 | source(...) : Object | Test.java:608:16:608:31 | (...)... : Object | provenance | | +| Test.java:609:10:609:72 | of(...) : ImmutableBiMap [] : Object | Test.java:610:21:610:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:609:70:609:71 | in : Object | Test.java:609:10:609:72 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:36 | +| Test.java:610:21:610:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:610:21:610:23 | out : ImmutableBiMap [] : Object | Test.java:610:9:610:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:615:16:615:31 | (...)... : Object | Test.java:616:76:616:77 | in : Object | provenance | | +| Test.java:615:24:615:31 | source(...) : Object | Test.java:615:16:615:31 | (...)... : Object | provenance | | +| Test.java:616:10:616:84 | of(...) : ImmutableBiMap [] : Object | Test.java:617:19:617:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:616:76:616:77 | in : Object | Test.java:616:10:616:84 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:37 | +| Test.java:617:19:617:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:617:19:617:21 | out : ImmutableBiMap [] : Object | Test.java:617:9:617:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:622:16:622:31 | (...)... : Object | Test.java:623:82:623:83 | in : Object | provenance | | +| Test.java:622:24:622:31 | source(...) : Object | Test.java:622:16:622:31 | (...)... : Object | provenance | | +| Test.java:623:10:623:84 | of(...) : ImmutableBiMap [] : Object | Test.java:624:21:624:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:623:82:623:83 | in : Object | Test.java:623:10:623:84 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:38 | +| Test.java:624:21:624:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:624:21:624:23 | out : ImmutableBiMap [] : Object | Test.java:624:9:624:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:629:13:629:39 | (...)... : Map [] : Object | Test.java:630:45:630:46 | in : Map [] : Object | provenance | | +| Test.java:629:18:629:39 | of(...) : Map [] : Object | Test.java:629:13:629:39 | (...)... : Map [] : Object | provenance | | +| Test.java:629:25:629:32 | source(...) : Object | Test.java:629:18:629:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:630:10:630:47 | copyOf(...) : ImmutableClassToInstanceMap [] : Object | Test.java:631:19:631:21 | out : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:630:45:630:46 | in : Map [] : Object | Test.java:630:10:630:47 | copyOf(...) : ImmutableClassToInstanceMap [] : Object | provenance | MaD:39 | +| Test.java:631:19:631:21 | out : ImmutableClassToInstanceMap [] : Object | Test.java:99:18:99:29 | map : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:631:19:631:21 | out : ImmutableClassToInstanceMap [] : Object | Test.java:631:9:631:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:636:13:636:39 | (...)... : Map [] : Object | Test.java:637:45:637:46 | in : Map [] : Object | provenance | | +| Test.java:636:18:636:39 | of(...) : Map [] : Object | Test.java:636:13:636:39 | (...)... : Map [] : Object | provenance | | +| Test.java:636:31:636:38 | source(...) : Object | Test.java:636:18:636:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:637:10:637:47 | copyOf(...) : ImmutableClassToInstanceMap [] : Object | Test.java:638:21:638:23 | out : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:637:45:637:46 | in : Map [] : Object | Test.java:637:10:637:47 | copyOf(...) : ImmutableClassToInstanceMap [] : Object | provenance | MaD:40 | +| Test.java:638:21:638:23 | out : ImmutableClassToInstanceMap [] : Object | Test.java:118:20:118:31 | map : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:638:21:638:23 | out : ImmutableClassToInstanceMap [] : Object | Test.java:638:9:638:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:643:15:643:29 | (...)... : Class | Test.java:644:41:644:42 | in : Class | provenance | | +| Test.java:643:22:643:29 | source(...) : Object | Test.java:643:15:643:29 | (...)... : Class | provenance | | +| Test.java:644:10:644:49 | of(...) : ImmutableClassToInstanceMap [] : Class | Test.java:645:19:645:21 | out : ImmutableClassToInstanceMap [] : Class | provenance | | +| Test.java:644:41:644:42 | in : Class | Test.java:644:10:644:49 | of(...) : ImmutableClassToInstanceMap [] : Class | provenance | MaD:41 | +| Test.java:645:19:645:21 | out : ImmutableClassToInstanceMap [] : Class | Test.java:99:18:99:29 | map : ImmutableClassToInstanceMap [] : Class | provenance | | +| Test.java:645:19:645:21 | out : ImmutableClassToInstanceMap [] : Class | Test.java:645:9:645:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:650:16:650:31 | (...)... : Object | Test.java:651:47:651:48 | in : Object | provenance | | +| Test.java:650:24:650:31 | source(...) : Object | Test.java:650:16:650:31 | (...)... : Object | provenance | | +| Test.java:651:10:651:49 | of(...) : ImmutableClassToInstanceMap [] : Object | Test.java:652:21:652:23 | out : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:651:47:651:48 | in : Object | Test.java:651:10:651:49 | of(...) : ImmutableClassToInstanceMap [] : Object | provenance | MaD:42 | +| Test.java:652:21:652:23 | out : ImmutableClassToInstanceMap [] : Object | Test.java:118:20:118:31 | map : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:652:21:652:23 | out : ImmutableClassToInstanceMap [] : Object | Test.java:652:9:652:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:657:16:657:31 | (...)... : Object | Test.java:658:12:658:13 | in : Object | provenance | | +| Test.java:657:24:657:31 | source(...) : Object | Test.java:657:16:657:31 | (...)... : Object | provenance | | +| Test.java:658:4:658:6 | out [post update] : Builder [] : Object | Test.java:659:20:659:22 | out : Builder [] : Object | provenance | | +| Test.java:658:12:658:13 | in : Object | Test.java:658:4:658:6 | out [post update] : Builder [] : Object | provenance | MaD:45 | +| Test.java:659:20:659:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:659:20:659:22 | out : Builder [] : Object | Test.java:659:9:659:23 | getElement(...) | provenance | MaD:50 | +| Test.java:664:16:664:31 | (...)... : Object | Test.java:665:12:665:13 | in : Object | provenance | | +| Test.java:664:24:664:31 | source(...) : Object | Test.java:664:16:664:31 | (...)... : Object | provenance | | +| Test.java:665:4:665:6 | out [post update] : Builder [] : Object | Test.java:666:20:666:22 | out : Builder [] : Object | provenance | | +| Test.java:665:12:665:13 | in : Object | Test.java:665:4:665:6 | out [post update] : Builder [] : Object | provenance | MaD:45 | +| Test.java:666:20:666:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:666:20:666:22 | out : Builder [] : Object | Test.java:666:9:666:23 | getElement(...) | provenance | MaD:50 | +| Test.java:671:16:671:31 | (...)... : Object | Test.java:672:12:672:13 | in : Object | provenance | | +| Test.java:671:24:671:31 | source(...) : Object | Test.java:671:16:671:31 | (...)... : Object | provenance | | +| Test.java:672:4:672:6 | out [post update] : Builder [] : Object | Test.java:673:20:673:22 | out : Builder [] : Object | provenance | | +| Test.java:672:12:672:13 | in : Object | Test.java:672:4:672:6 | out [post update] : Builder [] : Object | provenance | MaD:45 | +| Test.java:673:20:673:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:673:20:673:22 | out : Builder [] : Object | Test.java:673:9:673:23 | getElement(...) | provenance | MaD:50 | +| Test.java:678:16:678:31 | (...)... : Object | Test.java:679:12:679:13 | in : Object | provenance | | +| Test.java:678:24:678:31 | source(...) : Object | Test.java:678:16:678:31 | (...)... : Object | provenance | | +| Test.java:679:4:679:6 | out [post update] : Builder [] : Object | Test.java:680:20:680:22 | out : Builder [] : Object | provenance | | +| Test.java:679:12:679:13 | in : Object | Test.java:679:4:679:6 | out [post update] : Builder [] : Object | provenance | MaD:45 | +| Test.java:680:20:680:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:680:20:680:22 | out : Builder [] : Object | Test.java:680:9:680:23 | getElement(...) | provenance | MaD:50 | +| Test.java:685:16:685:31 | (...)... : Object | Test.java:686:12:686:13 | in : Object | provenance | | +| Test.java:685:24:685:31 | source(...) : Object | Test.java:685:16:685:31 | (...)... : Object | provenance | | +| Test.java:686:4:686:6 | out [post update] : Builder [] : Object | Test.java:687:20:687:22 | out : Builder [] : Object | provenance | | +| Test.java:686:12:686:13 | in : Object | Test.java:686:4:686:6 | out [post update] : Builder [] : Object | provenance | MaD:45 | +| Test.java:687:20:687:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:687:20:687:22 | out : Builder [] : Object | Test.java:687:9:687:23 | getElement(...) | provenance | MaD:50 | +| Test.java:692:16:692:31 | (...)... : Object | Test.java:693:12:693:13 | in : Object | provenance | | +| Test.java:692:24:692:31 | source(...) : Object | Test.java:692:16:692:31 | (...)... : Object | provenance | | +| Test.java:693:4:693:6 | out [post update] : Builder [] : Object | Test.java:694:20:694:22 | out : Builder [] : Object | provenance | | +| Test.java:693:12:693:13 | in : Object | Test.java:693:4:693:6 | out [post update] : Builder [] : Object | provenance | MaD:45 | +| Test.java:694:20:694:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:694:20:694:22 | out : Builder [] : Object | Test.java:694:9:694:23 | getElement(...) | provenance | MaD:50 | +| Test.java:699:18:699:49 | (...)... : Object[] [[]] : Object | Test.java:700:12:700:13 | in : Object[] [[]] : Object | provenance | | +| Test.java:699:28:699:49 | {...} : Object[] [[]] : Object | Test.java:699:18:699:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:699:41:699:48 | source(...) : Object | Test.java:699:28:699:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:700:4:700:6 | out [post update] : Builder [] : Object | Test.java:701:20:701:22 | out : Builder [] : Object | provenance | | +| Test.java:700:12:700:13 | in : Object[] [[]] : Object | Test.java:700:4:700:6 | out [post update] : Builder [] : Object | provenance | MaD:46 | +| Test.java:701:20:701:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:701:20:701:22 | out : Builder [] : Object | Test.java:701:9:701:23 | getElement(...) | provenance | MaD:50 | +| Test.java:706:18:706:49 | (...)... : Object[] [[]] : Object | Test.java:707:12:707:13 | in : Object[] [[]] : Object | provenance | | +| Test.java:706:28:706:49 | {...} : Object[] [[]] : Object | Test.java:706:18:706:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:706:41:706:48 | source(...) : Object | Test.java:706:28:706:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:707:4:707:6 | out [post update] : Builder [] : Object | Test.java:708:20:708:22 | out : Builder [] : Object | provenance | | +| Test.java:707:12:707:13 | in : Object[] [[]] : Object | Test.java:707:4:707:6 | out [post update] : Builder [] : Object | provenance | MaD:46 | +| Test.java:708:20:708:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:708:20:708:22 | out : Builder [] : Object | Test.java:708:9:708:23 | getElement(...) | provenance | MaD:50 | +| Test.java:713:18:713:49 | (...)... : Object[] [[]] : Object | Test.java:714:12:714:13 | in : Object[] [[]] : Object | provenance | | +| Test.java:713:28:713:49 | {...} : Object[] [[]] : Object | Test.java:713:18:713:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:713:41:713:48 | source(...) : Object | Test.java:713:28:713:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:714:4:714:6 | out [post update] : Builder [] : Object | Test.java:715:20:715:22 | out : Builder [] : Object | provenance | | +| Test.java:714:12:714:13 | in : Object[] [[]] : Object | Test.java:714:4:714:6 | out [post update] : Builder [] : Object | provenance | MaD:46 | +| Test.java:715:20:715:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:715:20:715:22 | out : Builder [] : Object | Test.java:715:9:715:23 | getElement(...) | provenance | MaD:50 | +| Test.java:720:18:720:49 | (...)... : Object[] [[]] : Object | Test.java:721:12:721:13 | in : Object[] [[]] : Object | provenance | | +| Test.java:720:28:720:49 | {...} : Object[] [[]] : Object | Test.java:720:18:720:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:720:41:720:48 | source(...) : Object | Test.java:720:28:720:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:721:4:721:6 | out [post update] : Builder [] : Object | Test.java:722:20:722:22 | out : Builder [] : Object | provenance | | +| Test.java:721:12:721:13 | in : Object[] [[]] : Object | Test.java:721:4:721:6 | out [post update] : Builder [] : Object | provenance | MaD:46 | +| Test.java:722:20:722:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:722:20:722:22 | out : Builder [] : Object | Test.java:722:9:722:23 | getElement(...) | provenance | MaD:50 | +| Test.java:727:18:727:49 | (...)... : Object[] [[]] : Object | Test.java:728:12:728:13 | in : Object[] [[]] : Object | provenance | | +| Test.java:727:28:727:49 | {...} : Object[] [[]] : Object | Test.java:727:18:727:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:727:41:727:48 | source(...) : Object | Test.java:727:28:727:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:728:4:728:6 | out [post update] : Builder [] : Object | Test.java:729:20:729:22 | out : Builder [] : Object | provenance | | +| Test.java:728:12:728:13 | in : Object[] [[]] : Object | Test.java:728:4:728:6 | out [post update] : Builder [] : Object | provenance | MaD:46 | +| Test.java:729:20:729:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:729:20:729:22 | out : Builder [] : Object | Test.java:729:9:729:23 | getElement(...) | provenance | MaD:50 | +| Test.java:734:18:734:49 | (...)... : Object[] [[]] : Object | Test.java:735:12:735:13 | in : Object[] [[]] : Object | provenance | | +| Test.java:734:28:734:49 | {...} : Object[] [[]] : Object | Test.java:734:18:734:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:734:41:734:48 | source(...) : Object | Test.java:734:28:734:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:735:4:735:6 | out [post update] : Builder [] : Object | Test.java:736:20:736:22 | out : Builder [] : Object | provenance | | +| Test.java:735:12:735:13 | in : Object[] [[]] : Object | Test.java:735:4:735:6 | out [post update] : Builder [] : Object | provenance | MaD:46 | +| Test.java:736:20:736:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:736:20:736:22 | out : Builder [] : Object | Test.java:736:9:736:23 | getElement(...) | provenance | MaD:50 | +| Test.java:741:36:741:71 | (...)... : Builder | Test.java:742:10:742:11 | in : Builder | provenance | | +| Test.java:741:64:741:71 | source(...) : Object | Test.java:741:36:741:71 | (...)... : Builder | provenance | | +| Test.java:742:10:742:11 | in : Builder | Test.java:742:10:742:31 | add(...) : Builder | provenance | MaD:44 | +| Test.java:742:10:742:31 | add(...) : Builder | Test.java:743:9:743:11 | out | provenance | | +| Test.java:748:36:748:71 | (...)... : Builder | Test.java:749:10:749:11 | in : Builder | provenance | | +| Test.java:748:64:748:71 | source(...) : Object | Test.java:748:36:748:71 | (...)... : Builder | provenance | | +| Test.java:749:10:749:11 | in : Builder | Test.java:749:10:749:29 | add(...) : Builder | provenance | MaD:44 | +| Test.java:749:10:749:29 | add(...) : Builder | Test.java:750:9:750:11 | out | provenance | | +| Test.java:755:41:755:81 | (...)... : Builder | Test.java:756:10:756:11 | in : Builder | provenance | | +| Test.java:755:74:755:81 | source(...) : Object | Test.java:755:41:755:81 | (...)... : Builder | provenance | | +| Test.java:756:10:756:11 | in : Builder | Test.java:756:10:756:31 | add(...) : Builder | provenance | MaD:44 | +| Test.java:756:10:756:31 | add(...) : Builder | Test.java:757:9:757:11 | out | provenance | | +| Test.java:762:41:762:81 | (...)... : Builder | Test.java:763:10:763:11 | in : Builder | provenance | | +| Test.java:762:74:762:81 | source(...) : Object | Test.java:762:41:762:81 | (...)... : Builder | provenance | | +| Test.java:763:10:763:11 | in : Builder | Test.java:763:10:763:29 | add(...) : Builder | provenance | MaD:44 | +| Test.java:763:10:763:29 | add(...) : Builder | Test.java:764:9:764:11 | out | provenance | | +| Test.java:769:30:769:59 | (...)... : Builder | Test.java:770:10:770:11 | in : Builder | provenance | | +| Test.java:769:52:769:59 | source(...) : Object | Test.java:769:30:769:59 | (...)... : Builder | provenance | | +| Test.java:770:10:770:11 | in : Builder | Test.java:770:10:770:31 | add(...) : Builder | provenance | MaD:44 | +| Test.java:770:10:770:31 | add(...) : Builder | Test.java:771:9:771:11 | out | provenance | | +| Test.java:776:30:776:59 | (...)... : Builder | Test.java:777:10:777:11 | in : Builder | provenance | | +| Test.java:776:52:776:59 | source(...) : Object | Test.java:776:30:776:59 | (...)... : Builder | provenance | | +| Test.java:777:10:777:11 | in : Builder | Test.java:777:10:777:29 | add(...) : Builder | provenance | MaD:44 | +| Test.java:777:10:777:29 | add(...) : Builder | Test.java:778:9:778:11 | out | provenance | | +| Test.java:783:35:783:69 | (...)... : Builder | Test.java:784:10:784:11 | in : Builder | provenance | | +| Test.java:783:62:783:69 | source(...) : Object | Test.java:783:35:783:69 | (...)... : Builder | provenance | | +| Test.java:784:10:784:11 | in : Builder | Test.java:784:10:784:31 | add(...) : Builder | provenance | MaD:44 | +| Test.java:784:10:784:31 | add(...) : Builder | Test.java:785:9:785:11 | out | provenance | | +| Test.java:790:35:790:69 | (...)... : Builder | Test.java:791:10:791:11 | in : Builder | provenance | | +| Test.java:790:62:790:69 | source(...) : Object | Test.java:790:35:790:69 | (...)... : Builder | provenance | | +| Test.java:791:10:791:11 | in : Builder | Test.java:791:10:791:29 | add(...) : Builder | provenance | MaD:44 | +| Test.java:791:10:791:29 | add(...) : Builder | Test.java:792:9:792:11 | out | provenance | | +| Test.java:797:31:797:61 | (...)... : Builder | Test.java:798:10:798:11 | in : Builder | provenance | | +| Test.java:797:54:797:61 | source(...) : Object | Test.java:797:31:797:61 | (...)... : Builder | provenance | | +| Test.java:798:10:798:11 | in : Builder | Test.java:798:10:798:31 | add(...) : Builder | provenance | MaD:44 | +| Test.java:798:10:798:31 | add(...) : Builder | Test.java:799:9:799:11 | out | provenance | | +| Test.java:804:31:804:61 | (...)... : Builder | Test.java:805:10:805:11 | in : Builder | provenance | | +| Test.java:804:54:804:61 | source(...) : Object | Test.java:804:31:804:61 | (...)... : Builder | provenance | | +| Test.java:805:10:805:11 | in : Builder | Test.java:805:10:805:29 | add(...) : Builder | provenance | MaD:44 | +| Test.java:805:10:805:29 | add(...) : Builder | Test.java:806:9:806:11 | out | provenance | | +| Test.java:811:37:811:73 | (...)... : Builder | Test.java:812:10:812:11 | in : Builder | provenance | | +| Test.java:811:66:811:73 | source(...) : Object | Test.java:811:37:811:73 | (...)... : Builder | provenance | | +| Test.java:812:10:812:11 | in : Builder | Test.java:812:10:812:31 | add(...) : Builder | provenance | MaD:44 | +| Test.java:812:10:812:31 | add(...) : Builder | Test.java:813:9:813:11 | out | provenance | | +| Test.java:818:37:818:73 | (...)... : Builder | Test.java:819:10:819:11 | in : Builder | provenance | | +| Test.java:818:66:818:73 | source(...) : Object | Test.java:818:37:818:73 | (...)... : Builder | provenance | | +| Test.java:819:10:819:11 | in : Builder | Test.java:819:10:819:29 | add(...) : Builder | provenance | MaD:44 | +| Test.java:819:10:819:29 | add(...) : Builder | Test.java:820:9:820:11 | out | provenance | | +| Test.java:825:18:825:44 | (...)... : List [] : Object | Test.java:826:15:826:16 | in : List [] : Object | provenance | | +| Test.java:825:28:825:44 | of(...) : List [] : Object | Test.java:825:18:825:44 | (...)... : List [] : Object | provenance | | +| Test.java:825:36:825:43 | source(...) : Object | Test.java:825:28:825:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:826:4:826:6 | out [post update] : Builder [] : Object | Test.java:827:20:827:22 | out : Builder [] : Object | provenance | | +| Test.java:826:15:826:16 | in : List [] : Object | Test.java:826:4:826:6 | out [post update] : Builder [] : Object | provenance | MaD:48 | +| Test.java:827:20:827:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:827:20:827:22 | out : Builder [] : Object | Test.java:827:9:827:23 | getElement(...) | provenance | MaD:50 | +| Test.java:832:18:832:44 | (...)... : List [] : Object | Test.java:833:15:833:16 | in : List [] : Object | provenance | | +| Test.java:832:28:832:44 | of(...) : List [] : Object | Test.java:832:18:832:44 | (...)... : List [] : Object | provenance | | +| Test.java:832:36:832:43 | source(...) : Object | Test.java:832:28:832:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:833:4:833:6 | out [post update] : Builder [] : Object | Test.java:834:20:834:22 | out : Builder [] : Object | provenance | | +| Test.java:833:15:833:16 | in : List [] : Object | Test.java:833:4:833:6 | out [post update] : Builder [] : Object | provenance | MaD:48 | +| Test.java:834:20:834:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:834:20:834:22 | out : Builder [] : Object | Test.java:834:9:834:23 | getElement(...) | provenance | MaD:50 | +| Test.java:839:18:839:44 | (...)... : List [] : Object | Test.java:840:15:840:16 | in : List [] : Object | provenance | | +| Test.java:839:28:839:44 | of(...) : List [] : Object | Test.java:839:18:839:44 | (...)... : List [] : Object | provenance | | +| Test.java:839:36:839:43 | source(...) : Object | Test.java:839:28:839:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:840:4:840:6 | out [post update] : Builder [] : Object | Test.java:841:20:841:22 | out : Builder [] : Object | provenance | | +| Test.java:840:15:840:16 | in : List [] : Object | Test.java:840:4:840:6 | out [post update] : Builder [] : Object | provenance | MaD:48 | +| Test.java:841:20:841:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:841:20:841:22 | out : Builder [] : Object | Test.java:841:9:841:23 | getElement(...) | provenance | MaD:50 | +| Test.java:846:18:846:44 | (...)... : List [] : Object | Test.java:847:15:847:16 | in : List [] : Object | provenance | | +| Test.java:846:28:846:44 | of(...) : List [] : Object | Test.java:846:18:846:44 | (...)... : List [] : Object | provenance | | +| Test.java:846:36:846:43 | source(...) : Object | Test.java:846:28:846:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:847:4:847:6 | out [post update] : Builder [] : Object | Test.java:848:20:848:22 | out : Builder [] : Object | provenance | | +| Test.java:847:15:847:16 | in : List [] : Object | Test.java:847:4:847:6 | out [post update] : Builder [] : Object | provenance | MaD:48 | +| Test.java:848:20:848:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:848:20:848:22 | out : Builder [] : Object | Test.java:848:9:848:23 | getElement(...) | provenance | MaD:50 | +| Test.java:853:18:853:44 | (...)... : List [] : Object | Test.java:854:15:854:16 | in : List [] : Object | provenance | | +| Test.java:853:28:853:44 | of(...) : List [] : Object | Test.java:853:18:853:44 | (...)... : List [] : Object | provenance | | +| Test.java:853:36:853:43 | source(...) : Object | Test.java:853:28:853:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:854:4:854:6 | out [post update] : Builder [] : Object | Test.java:855:20:855:22 | out : Builder [] : Object | provenance | | +| Test.java:854:15:854:16 | in : List [] : Object | Test.java:854:4:854:6 | out [post update] : Builder [] : Object | provenance | MaD:48 | +| Test.java:855:20:855:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:855:20:855:22 | out : Builder [] : Object | Test.java:855:9:855:23 | getElement(...) | provenance | MaD:50 | +| Test.java:860:18:860:44 | (...)... : List [] : Object | Test.java:861:15:861:16 | in : List [] : Object | provenance | | +| Test.java:860:28:860:44 | of(...) : List [] : Object | Test.java:860:18:860:44 | (...)... : List [] : Object | provenance | | +| Test.java:860:36:860:43 | source(...) : Object | Test.java:860:28:860:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:861:4:861:6 | out [post update] : Builder [] : Object | Test.java:862:20:862:22 | out : Builder [] : Object | provenance | | +| Test.java:861:15:861:16 | in : List [] : Object | Test.java:861:4:861:6 | out [post update] : Builder [] : Object | provenance | MaD:48 | +| Test.java:862:20:862:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:862:20:862:22 | out : Builder [] : Object | Test.java:862:9:862:23 | getElement(...) | provenance | MaD:50 | +| Test.java:867:18:867:55 | (...)... : Iterator [] : Object | Test.java:868:15:868:16 | in : Iterator [] : Object | provenance | | +| Test.java:867:28:867:44 | of(...) : List [] : Object | Test.java:867:28:867:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:867:28:867:55 | iterator(...) : Iterator [] : Object | Test.java:867:18:867:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:867:36:867:43 | source(...) : Object | Test.java:867:28:867:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:868:4:868:6 | out [post update] : Builder [] : Object | Test.java:869:20:869:22 | out : Builder [] : Object | provenance | | +| Test.java:868:15:868:16 | in : Iterator [] : Object | Test.java:868:4:868:6 | out [post update] : Builder [] : Object | provenance | MaD:49 | +| Test.java:869:20:869:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:869:20:869:22 | out : Builder [] : Object | Test.java:869:9:869:23 | getElement(...) | provenance | MaD:50 | +| Test.java:874:18:874:55 | (...)... : Iterator [] : Object | Test.java:875:15:875:16 | in : Iterator [] : Object | provenance | | +| Test.java:874:28:874:44 | of(...) : List [] : Object | Test.java:874:28:874:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:874:28:874:55 | iterator(...) : Iterator [] : Object | Test.java:874:18:874:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:874:36:874:43 | source(...) : Object | Test.java:874:28:874:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:875:4:875:6 | out [post update] : Builder [] : Object | Test.java:876:20:876:22 | out : Builder [] : Object | provenance | | +| Test.java:875:15:875:16 | in : Iterator [] : Object | Test.java:875:4:875:6 | out [post update] : Builder [] : Object | provenance | MaD:49 | +| Test.java:876:20:876:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:876:20:876:22 | out : Builder [] : Object | Test.java:876:9:876:23 | getElement(...) | provenance | MaD:50 | +| Test.java:881:18:881:55 | (...)... : Iterator [] : Object | Test.java:882:15:882:16 | in : Iterator [] : Object | provenance | | +| Test.java:881:28:881:44 | of(...) : List [] : Object | Test.java:881:28:881:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:881:28:881:55 | iterator(...) : Iterator [] : Object | Test.java:881:18:881:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:881:36:881:43 | source(...) : Object | Test.java:881:28:881:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:882:4:882:6 | out [post update] : Builder [] : Object | Test.java:883:20:883:22 | out : Builder [] : Object | provenance | | +| Test.java:882:15:882:16 | in : Iterator [] : Object | Test.java:882:4:882:6 | out [post update] : Builder [] : Object | provenance | MaD:49 | +| Test.java:883:20:883:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:883:20:883:22 | out : Builder [] : Object | Test.java:883:9:883:23 | getElement(...) | provenance | MaD:50 | +| Test.java:888:18:888:55 | (...)... : Iterator [] : Object | Test.java:889:15:889:16 | in : Iterator [] : Object | provenance | | +| Test.java:888:28:888:44 | of(...) : List [] : Object | Test.java:888:28:888:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:888:28:888:55 | iterator(...) : Iterator [] : Object | Test.java:888:18:888:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:888:36:888:43 | source(...) : Object | Test.java:888:28:888:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:889:4:889:6 | out [post update] : Builder [] : Object | Test.java:890:20:890:22 | out : Builder [] : Object | provenance | | +| Test.java:889:15:889:16 | in : Iterator [] : Object | Test.java:889:4:889:6 | out [post update] : Builder [] : Object | provenance | MaD:49 | +| Test.java:890:20:890:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:890:20:890:22 | out : Builder [] : Object | Test.java:890:9:890:23 | getElement(...) | provenance | MaD:50 | +| Test.java:895:18:895:55 | (...)... : Iterator [] : Object | Test.java:896:15:896:16 | in : Iterator [] : Object | provenance | | +| Test.java:895:28:895:44 | of(...) : List [] : Object | Test.java:895:28:895:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:895:28:895:55 | iterator(...) : Iterator [] : Object | Test.java:895:18:895:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:895:36:895:43 | source(...) : Object | Test.java:895:28:895:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:896:4:896:6 | out [post update] : Builder [] : Object | Test.java:897:20:897:22 | out : Builder [] : Object | provenance | | +| Test.java:896:15:896:16 | in : Iterator [] : Object | Test.java:896:4:896:6 | out [post update] : Builder [] : Object | provenance | MaD:49 | +| Test.java:897:20:897:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:897:20:897:22 | out : Builder [] : Object | Test.java:897:9:897:23 | getElement(...) | provenance | MaD:50 | +| Test.java:902:18:902:55 | (...)... : Iterator [] : Object | Test.java:903:15:903:16 | in : Iterator [] : Object | provenance | | +| Test.java:902:28:902:44 | of(...) : List [] : Object | Test.java:902:28:902:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:902:28:902:55 | iterator(...) : Iterator [] : Object | Test.java:902:18:902:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:902:36:902:43 | source(...) : Object | Test.java:902:28:902:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:903:4:903:6 | out [post update] : Builder [] : Object | Test.java:904:20:904:22 | out : Builder [] : Object | provenance | | +| Test.java:903:15:903:16 | in : Iterator [] : Object | Test.java:903:4:903:6 | out [post update] : Builder [] : Object | provenance | MaD:49 | +| Test.java:904:20:904:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:904:20:904:22 | out : Builder [] : Object | Test.java:904:9:904:23 | getElement(...) | provenance | MaD:50 | +| Test.java:909:36:909:71 | (...)... : Builder | Test.java:910:10:910:11 | in : Builder | provenance | | +| Test.java:909:64:909:71 | source(...) : Object | Test.java:909:36:909:71 | (...)... : Builder | provenance | | +| Test.java:910:10:910:11 | in : Builder | Test.java:910:10:910:34 | addAll(...) : Builder | provenance | MaD:47 | +| Test.java:910:10:910:34 | addAll(...) : Builder | Test.java:911:9:911:11 | out | provenance | | +| Test.java:916:36:916:71 | (...)... : Builder | Test.java:917:10:917:11 | in : Builder | provenance | | +| Test.java:916:64:916:71 | source(...) : Object | Test.java:916:36:916:71 | (...)... : Builder | provenance | | +| Test.java:917:10:917:11 | in : Builder | Test.java:917:10:917:34 | addAll(...) : Builder | provenance | MaD:47 | +| Test.java:917:10:917:34 | addAll(...) : Builder | Test.java:918:9:918:11 | out | provenance | | +| Test.java:923:41:923:81 | (...)... : Builder | Test.java:924:10:924:11 | in : Builder | provenance | | +| Test.java:923:74:923:81 | source(...) : Object | Test.java:923:41:923:81 | (...)... : Builder | provenance | | +| Test.java:924:10:924:11 | in : Builder | Test.java:924:10:924:34 | addAll(...) : Builder | provenance | MaD:47 | +| Test.java:924:10:924:34 | addAll(...) : Builder | Test.java:925:9:925:11 | out | provenance | | +| Test.java:930:41:930:81 | (...)... : Builder | Test.java:931:10:931:11 | in : Builder | provenance | | +| Test.java:930:74:930:81 | source(...) : Object | Test.java:930:41:930:81 | (...)... : Builder | provenance | | +| Test.java:931:10:931:11 | in : Builder | Test.java:931:10:931:34 | addAll(...) : Builder | provenance | MaD:47 | +| Test.java:931:10:931:34 | addAll(...) : Builder | Test.java:932:9:932:11 | out | provenance | | +| Test.java:937:30:937:59 | (...)... : Builder | Test.java:938:10:938:11 | in : Builder | provenance | | +| Test.java:937:52:937:59 | source(...) : Object | Test.java:937:30:937:59 | (...)... : Builder | provenance | | +| Test.java:938:10:938:11 | in : Builder | Test.java:938:10:938:34 | addAll(...) : Builder | provenance | MaD:47 | +| Test.java:938:10:938:34 | addAll(...) : Builder | Test.java:939:9:939:11 | out | provenance | | +| Test.java:944:30:944:59 | (...)... : Builder | Test.java:945:10:945:11 | in : Builder | provenance | | +| Test.java:944:52:944:59 | source(...) : Object | Test.java:944:30:944:59 | (...)... : Builder | provenance | | +| Test.java:945:10:945:11 | in : Builder | Test.java:945:10:945:34 | addAll(...) : Builder | provenance | MaD:47 | +| Test.java:945:10:945:34 | addAll(...) : Builder | Test.java:946:9:946:11 | out | provenance | | +| Test.java:951:35:951:69 | (...)... : Builder | Test.java:952:10:952:11 | in : Builder | provenance | | +| Test.java:951:62:951:69 | source(...) : Object | Test.java:951:35:951:69 | (...)... : Builder | provenance | | +| Test.java:952:10:952:11 | in : Builder | Test.java:952:10:952:34 | addAll(...) : Builder | provenance | MaD:47 | +| Test.java:952:10:952:34 | addAll(...) : Builder | Test.java:953:9:953:11 | out | provenance | | +| Test.java:958:35:958:69 | (...)... : Builder | Test.java:959:10:959:11 | in : Builder | provenance | | +| Test.java:958:62:958:69 | source(...) : Object | Test.java:958:35:958:69 | (...)... : Builder | provenance | | +| Test.java:959:10:959:11 | in : Builder | Test.java:959:10:959:34 | addAll(...) : Builder | provenance | MaD:47 | +| Test.java:959:10:959:34 | addAll(...) : Builder | Test.java:960:9:960:11 | out | provenance | | +| Test.java:965:31:965:61 | (...)... : Builder | Test.java:966:10:966:11 | in : Builder | provenance | | +| Test.java:965:54:965:61 | source(...) : Object | Test.java:965:31:965:61 | (...)... : Builder | provenance | | +| Test.java:966:10:966:11 | in : Builder | Test.java:966:10:966:34 | addAll(...) : Builder | provenance | MaD:47 | +| Test.java:966:10:966:34 | addAll(...) : Builder | Test.java:967:9:967:11 | out | provenance | | +| Test.java:972:31:972:61 | (...)... : Builder | Test.java:973:10:973:11 | in : Builder | provenance | | +| Test.java:972:54:972:61 | source(...) : Object | Test.java:972:31:972:61 | (...)... : Builder | provenance | | +| Test.java:973:10:973:11 | in : Builder | Test.java:973:10:973:34 | addAll(...) : Builder | provenance | MaD:47 | +| Test.java:973:10:973:34 | addAll(...) : Builder | Test.java:974:9:974:11 | out | provenance | | +| Test.java:979:37:979:73 | (...)... : Builder | Test.java:980:10:980:11 | in : Builder | provenance | | +| Test.java:979:66:979:73 | source(...) : Object | Test.java:979:37:979:73 | (...)... : Builder | provenance | | +| Test.java:980:10:980:11 | in : Builder | Test.java:980:10:980:34 | addAll(...) : Builder | provenance | MaD:47 | +| Test.java:980:10:980:34 | addAll(...) : Builder | Test.java:981:9:981:11 | out | provenance | | +| Test.java:986:37:986:73 | (...)... : Builder | Test.java:987:10:987:11 | in : Builder | provenance | | +| Test.java:986:66:986:73 | source(...) : Object | Test.java:986:37:986:73 | (...)... : Builder | provenance | | +| Test.java:987:10:987:11 | in : Builder | Test.java:987:10:987:34 | addAll(...) : Builder | provenance | MaD:47 | +| Test.java:987:10:987:34 | addAll(...) : Builder | Test.java:988:9:988:11 | out | provenance | | +| Test.java:993:36:993:105 | (...)... : Builder [] : Object | Test.java:994:10:994:11 | in : Builder [] : Object | provenance | | +| Test.java:993:64:993:105 | add(...) : Builder [] : Object | Test.java:993:36:993:105 | (...)... : Builder [] : Object | provenance | | +| Test.java:993:97:993:104 | source(...) : Object | Test.java:993:64:993:105 | add(...) : Builder [] : Object | provenance | MaD:45+MaD:44 | +| Test.java:994:10:994:11 | in : Builder [] : Object | Test.java:994:10:994:19 | build(...) : ImmutableSortedSet [] : Object | provenance | MaD:50 | +| Test.java:994:10:994:19 | build(...) : ImmutableSortedSet [] : Object | Test.java:995:20:995:22 | out : ImmutableSortedSet [] : Object | provenance | | +| Test.java:995:20:995:22 | out : ImmutableSortedSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | provenance | | +| Test.java:995:20:995:22 | out : ImmutableSortedSet [] : Object | Test.java:995:9:995:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1000:41:1000:120 | (...)... : Builder [] : Object | Test.java:1001:10:1001:11 | in : Builder [] : Object | provenance | | +| Test.java:1000:74:1000:120 | add(...) : Builder [] : Object | Test.java:1000:41:1000:120 | (...)... : Builder [] : Object | provenance | | +| Test.java:1000:112:1000:119 | source(...) : Object | Test.java:1000:74:1000:120 | add(...) : Builder [] : Object | provenance | MaD:45+MaD:44 | +| Test.java:1001:10:1001:11 | in : Builder [] : Object | Test.java:1001:10:1001:19 | build(...) : ImmutableSortedMultiset [] : Object | provenance | MaD:50 | +| Test.java:1001:10:1001:19 | build(...) : ImmutableSortedMultiset [] : Object | Test.java:1002:20:1002:22 | out : ImmutableSortedMultiset [] : Object | provenance | | +| Test.java:1002:20:1002:22 | out : ImmutableSortedMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Object | provenance | | +| Test.java:1002:20:1002:22 | out : ImmutableSortedMultiset [] : Object | Test.java:1002:9:1002:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1007:30:1007:87 | (...)... : Builder [] : Object | Test.java:1008:10:1008:11 | in : Builder [] : Object | provenance | | +| Test.java:1007:52:1007:87 | add(...) : Builder [] : Object | Test.java:1007:30:1007:87 | (...)... : Builder [] : Object | provenance | | +| Test.java:1007:79:1007:86 | source(...) : Object | Test.java:1007:52:1007:87 | add(...) : Builder [] : Object | provenance | MaD:45+MaD:44 | +| Test.java:1008:10:1008:11 | in : Builder [] : Object | Test.java:1008:10:1008:19 | build(...) : ImmutableSet [] : Object | provenance | MaD:50 | +| Test.java:1008:10:1008:19 | build(...) : ImmutableSet [] : Object | Test.java:1009:20:1009:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:1009:20:1009:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:1009:20:1009:22 | out : ImmutableSet [] : Object | Test.java:1009:9:1009:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1014:35:1014:102 | (...)... : Builder [] : Object | Test.java:1015:10:1015:11 | in : Builder [] : Object | provenance | | +| Test.java:1014:62:1014:102 | add(...) : Builder [] : Object | Test.java:1014:35:1014:102 | (...)... : Builder [] : Object | provenance | | +| Test.java:1014:94:1014:101 | source(...) : Object | Test.java:1014:62:1014:102 | add(...) : Builder [] : Object | provenance | MaD:45+MaD:44 | +| Test.java:1015:10:1015:11 | in : Builder [] : Object | Test.java:1015:10:1015:19 | build(...) : ImmutableMultiset [] : Object | provenance | MaD:50 | +| Test.java:1015:10:1015:19 | build(...) : ImmutableMultiset [] : Object | Test.java:1016:20:1016:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:1016:20:1016:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:1016:20:1016:22 | out : ImmutableMultiset [] : Object | Test.java:1016:9:1016:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1021:31:1021:90 | (...)... : Builder [] : Object | Test.java:1022:10:1022:11 | in : Builder [] : Object | provenance | | +| Test.java:1021:54:1021:90 | add(...) : Builder [] : Object | Test.java:1021:31:1021:90 | (...)... : Builder [] : Object | provenance | | +| Test.java:1021:82:1021:89 | source(...) : Object | Test.java:1021:54:1021:90 | add(...) : Builder [] : Object | provenance | MaD:45+MaD:44 | +| Test.java:1022:10:1022:11 | in : Builder [] : Object | Test.java:1022:10:1022:19 | build(...) : ImmutableList [] : Object | provenance | MaD:50 | +| Test.java:1022:10:1022:19 | build(...) : ImmutableList [] : Object | Test.java:1023:20:1023:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1023:20:1023:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1023:20:1023:22 | out : ImmutableList [] : Object | Test.java:1023:9:1023:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1028:37:1028:102 | (...)... : Builder [] : Object | Test.java:1029:10:1029:11 | in : Builder [] : Object | provenance | | +| Test.java:1028:66:1028:102 | add(...) : Builder [] : Object | Test.java:1028:37:1028:102 | (...)... : Builder [] : Object | provenance | | +| Test.java:1028:94:1028:101 | source(...) : Object | Test.java:1028:66:1028:102 | add(...) : Builder [] : Object | provenance | MaD:45+MaD:44 | +| Test.java:1029:10:1029:11 | in : Builder [] : Object | Test.java:1029:10:1029:19 | build(...) : ImmutableCollection [] : Object | provenance | MaD:50 | +| Test.java:1029:10:1029:19 | build(...) : ImmutableCollection [] : Object | Test.java:1030:20:1030:22 | out : ImmutableCollection [] : Object | provenance | | +| Test.java:1030:20:1030:22 | out : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | provenance | | +| Test.java:1030:20:1030:22 | out : ImmutableCollection [] : Object | Test.java:1030:9:1030:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1035:22:1035:60 | (...)... : ImmutableSet [] : Object | Test.java:1036:10:1036:11 | in : ImmutableSet [] : Object | provenance | | +| Test.java:1035:36:1035:60 | of(...) : ImmutableSet [] : Object | Test.java:1035:22:1035:60 | (...)... : ImmutableSet [] : Object | provenance | | +| Test.java:1035:52:1035:59 | source(...) : Object | Test.java:1035:36:1035:60 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:1036:10:1036:11 | in : ImmutableSet [] : Object | Test.java:1036:10:1036:20 | asList(...) : ImmutableList [] : Object | provenance | MaD:43 | +| Test.java:1036:10:1036:20 | asList(...) : ImmutableList [] : Object | Test.java:1037:20:1037:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1037:20:1037:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1037:20:1037:22 | out : ImmutableList [] : Object | Test.java:1037:9:1037:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1042:27:1042:75 | (...)... : ImmutableMultiset [] : Object | Test.java:1043:10:1043:11 | in : ImmutableMultiset [] : Object | provenance | | +| Test.java:1042:46:1042:75 | of(...) : ImmutableMultiset [] : Object | Test.java:1042:27:1042:75 | (...)... : ImmutableMultiset [] : Object | provenance | | +| Test.java:1042:67:1042:74 | source(...) : Object | Test.java:1042:46:1042:75 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:1043:10:1043:11 | in : ImmutableMultiset [] : Object | Test.java:1043:10:1043:20 | asList(...) : ImmutableList [] : Object | provenance | MaD:43 | +| Test.java:1043:10:1043:20 | asList(...) : ImmutableList [] : Object | Test.java:1044:20:1044:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1044:20:1044:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1044:20:1044:22 | out : ImmutableList [] : Object | Test.java:1044:9:1044:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1049:23:1049:63 | (...)... : ImmutableList [] : Object | Test.java:1050:10:1050:11 | in : ImmutableList [] : Object | provenance | | +| Test.java:1049:38:1049:63 | of(...) : ImmutableList [] : Object | Test.java:1049:23:1049:63 | (...)... : ImmutableList [] : Object | provenance | | +| Test.java:1049:55:1049:62 | source(...) : Object | Test.java:1049:38:1049:63 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1050:10:1050:11 | in : ImmutableList [] : Object | Test.java:1050:10:1050:20 | asList(...) : ImmutableList [] : Object | provenance | MaD:43 | +| Test.java:1050:10:1050:20 | asList(...) : ImmutableList [] : Object | Test.java:1051:20:1051:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1051:20:1051:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1051:20:1051:22 | out : ImmutableList [] : Object | Test.java:1051:9:1051:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1056:29:1056:75 | (...)... : ImmutableList [] : Object | Test.java:1057:10:1057:11 | in : ImmutableList [] : Object | provenance | | +| Test.java:1056:50:1056:75 | of(...) : ImmutableList [] : Object | Test.java:1056:29:1056:75 | (...)... : ImmutableList [] : Object | provenance | | +| Test.java:1056:67:1056:74 | source(...) : Object | Test.java:1056:50:1056:75 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1057:10:1057:11 | in : ImmutableList [] : Object | Test.java:1057:10:1057:20 | asList(...) : ImmutableList [] : Object | provenance | MaD:43 | +| Test.java:1057:10:1057:20 | asList(...) : ImmutableList [] : Object | Test.java:1058:20:1058:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1058:20:1058:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1058:20:1058:22 | out : ImmutableList [] : Object | Test.java:1058:9:1058:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1063:20:1063:48 | (...)... : List [] : Object | Test.java:1064:31:1064:32 | in : List [] : Object | provenance | | +| Test.java:1063:32:1063:48 | of(...) : List [] : Object | Test.java:1063:20:1063:48 | (...)... : List [] : Object | provenance | | +| Test.java:1063:40:1063:47 | source(...) : Object | Test.java:1063:32:1063:48 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:1064:10:1064:33 | copyOf(...) : ImmutableList [] : Object | Test.java:1065:20:1065:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1064:31:1064:32 | in : List [] : Object | Test.java:1064:10:1064:33 | copyOf(...) : ImmutableList [] : Object | provenance | MaD:51 | +| Test.java:1065:20:1065:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1065:20:1065:22 | out : ImmutableList [] : Object | Test.java:1065:9:1065:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1070:18:1070:44 | (...)... : List [] : Object | Test.java:1071:31:1071:32 | in : List [] : Object | provenance | | +| Test.java:1070:28:1070:44 | of(...) : List [] : Object | Test.java:1070:18:1070:44 | (...)... : List [] : Object | provenance | | +| Test.java:1070:36:1070:43 | source(...) : Object | Test.java:1070:28:1070:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:1071:10:1071:33 | copyOf(...) : ImmutableList [] : Object | Test.java:1072:20:1072:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1071:31:1071:32 | in : List [] : Object | Test.java:1071:10:1071:33 | copyOf(...) : ImmutableList [] : Object | provenance | MaD:52 | +| Test.java:1072:20:1072:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1072:20:1072:22 | out : ImmutableList [] : Object | Test.java:1072:9:1072:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1077:18:1077:55 | (...)... : Iterator [] : Object | Test.java:1078:31:1078:32 | in : Iterator [] : Object | provenance | | +| Test.java:1077:28:1077:44 | of(...) : List [] : Object | Test.java:1077:28:1077:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:1077:28:1077:55 | iterator(...) : Iterator [] : Object | Test.java:1077:18:1077:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:1077:36:1077:43 | source(...) : Object | Test.java:1077:28:1077:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:1078:10:1078:33 | copyOf(...) : ImmutableList [] : Object | Test.java:1079:20:1079:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1078:31:1078:32 | in : Iterator [] : Object | Test.java:1078:10:1078:33 | copyOf(...) : ImmutableList [] : Object | provenance | MaD:53 | +| Test.java:1079:20:1079:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1079:20:1079:22 | out : ImmutableList [] : Object | Test.java:1079:9:1079:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1084:18:1084:49 | (...)... : Object[] [[]] : Object | Test.java:1085:31:1085:32 | in : Object[] [[]] : Object | provenance | | +| Test.java:1084:28:1084:49 | {...} : Object[] [[]] : Object | Test.java:1084:18:1084:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:1084:41:1084:48 | source(...) : Object | Test.java:1084:28:1084:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:1085:10:1085:33 | copyOf(...) : ImmutableList [] : Object | Test.java:1086:20:1086:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1085:31:1085:32 | in : Object[] [[]] : Object | Test.java:1085:10:1085:33 | copyOf(...) : ImmutableList [] : Object | provenance | MaD:54 | +| Test.java:1086:20:1086:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1086:20:1086:22 | out : ImmutableList [] : Object | Test.java:1086:9:1086:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1091:16:1091:31 | (...)... : Object | Test.java:1092:87:1092:88 | in : Object | provenance | | +| Test.java:1091:24:1091:31 | source(...) : Object | Test.java:1091:16:1091:31 | (...)... : Object | provenance | | +| Test.java:1092:10:1092:89 | of(...) : ImmutableList [] : Object | Test.java:1093:20:1093:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1092:87:1092:88 | in : Object | Test.java:1092:10:1092:89 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1093:20:1093:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1093:20:1093:22 | out : ImmutableList [] : Object | Test.java:1093:9:1093:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1098:16:1098:31 | (...)... : Object | Test.java:1099:81:1099:82 | in : Object | provenance | | +| Test.java:1098:24:1098:31 | source(...) : Object | Test.java:1098:16:1098:31 | (...)... : Object | provenance | | +| Test.java:1099:10:1099:89 | of(...) : ImmutableList [] : Object | Test.java:1100:20:1100:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1099:81:1099:82 | in : Object | Test.java:1099:10:1099:89 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1100:20:1100:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1100:20:1100:22 | out : ImmutableList [] : Object | Test.java:1100:9:1100:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1105:16:1105:31 | (...)... : Object | Test.java:1106:81:1106:82 | in : Object | provenance | | +| Test.java:1105:24:1105:31 | source(...) : Object | Test.java:1105:16:1105:31 | (...)... : Object | provenance | | +| Test.java:1106:10:1106:83 | of(...) : ImmutableList [] : Object | Test.java:1107:20:1107:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1106:81:1106:82 | in : Object | Test.java:1106:10:1106:83 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1107:20:1107:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1107:20:1107:22 | out : ImmutableList [] : Object | Test.java:1107:9:1107:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1112:16:1112:31 | (...)... : Object | Test.java:1113:75:1113:76 | in : Object | provenance | | +| Test.java:1112:24:1112:31 | source(...) : Object | Test.java:1112:16:1112:31 | (...)... : Object | provenance | | +| Test.java:1113:10:1113:89 | of(...) : ImmutableList [] : Object | Test.java:1114:20:1114:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1113:75:1113:76 | in : Object | Test.java:1113:10:1113:89 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1114:20:1114:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1114:20:1114:22 | out : ImmutableList [] : Object | Test.java:1114:9:1114:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1119:16:1119:31 | (...)... : Object | Test.java:1120:75:1120:76 | in : Object | provenance | | +| Test.java:1119:24:1119:31 | source(...) : Object | Test.java:1119:16:1119:31 | (...)... : Object | provenance | | +| Test.java:1120:10:1120:83 | of(...) : ImmutableList [] : Object | Test.java:1121:20:1121:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1120:75:1120:76 | in : Object | Test.java:1120:10:1120:83 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1121:20:1121:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1121:20:1121:22 | out : ImmutableList [] : Object | Test.java:1121:9:1121:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1126:16:1126:31 | (...)... : Object | Test.java:1127:75:1127:76 | in : Object | provenance | | +| Test.java:1126:24:1126:31 | source(...) : Object | Test.java:1126:16:1126:31 | (...)... : Object | provenance | | +| Test.java:1127:10:1127:77 | of(...) : ImmutableList [] : Object | Test.java:1128:20:1128:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1127:75:1127:76 | in : Object | Test.java:1127:10:1127:77 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1128:20:1128:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1128:20:1128:22 | out : ImmutableList [] : Object | Test.java:1128:9:1128:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1133:16:1133:31 | (...)... : Object | Test.java:1134:69:1134:70 | in : Object | provenance | | +| Test.java:1133:24:1133:31 | source(...) : Object | Test.java:1133:16:1133:31 | (...)... : Object | provenance | | +| Test.java:1134:10:1134:89 | of(...) : ImmutableList [] : Object | Test.java:1135:20:1135:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1134:69:1134:70 | in : Object | Test.java:1134:10:1134:89 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1135:20:1135:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1135:20:1135:22 | out : ImmutableList [] : Object | Test.java:1135:9:1135:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1140:16:1140:31 | (...)... : Object | Test.java:1141:69:1141:70 | in : Object | provenance | | +| Test.java:1140:24:1140:31 | source(...) : Object | Test.java:1140:16:1140:31 | (...)... : Object | provenance | | +| Test.java:1141:10:1141:83 | of(...) : ImmutableList [] : Object | Test.java:1142:20:1142:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1141:69:1141:70 | in : Object | Test.java:1141:10:1141:83 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1142:20:1142:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1142:20:1142:22 | out : ImmutableList [] : Object | Test.java:1142:9:1142:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1147:16:1147:31 | (...)... : Object | Test.java:1148:69:1148:70 | in : Object | provenance | | +| Test.java:1147:24:1147:31 | source(...) : Object | Test.java:1147:16:1147:31 | (...)... : Object | provenance | | +| Test.java:1148:10:1148:77 | of(...) : ImmutableList [] : Object | Test.java:1149:20:1149:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1148:69:1148:70 | in : Object | Test.java:1148:10:1148:77 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1149:20:1149:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1149:20:1149:22 | out : ImmutableList [] : Object | Test.java:1149:9:1149:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1154:16:1154:31 | (...)... : Object | Test.java:1155:69:1155:70 | in : Object | provenance | | +| Test.java:1154:24:1154:31 | source(...) : Object | Test.java:1154:16:1154:31 | (...)... : Object | provenance | | +| Test.java:1155:10:1155:71 | of(...) : ImmutableList [] : Object | Test.java:1156:20:1156:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1155:69:1155:70 | in : Object | Test.java:1155:10:1155:71 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1156:20:1156:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1156:20:1156:22 | out : ImmutableList [] : Object | Test.java:1156:9:1156:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1161:16:1161:31 | (...)... : Object | Test.java:1162:63:1162:64 | in : Object | provenance | | +| Test.java:1161:24:1161:31 | source(...) : Object | Test.java:1161:16:1161:31 | (...)... : Object | provenance | | +| Test.java:1162:10:1162:89 | of(...) : ImmutableList [] : Object | Test.java:1163:20:1163:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1162:63:1162:64 | in : Object | Test.java:1162:10:1162:89 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1163:20:1163:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1163:20:1163:22 | out : ImmutableList [] : Object | Test.java:1163:9:1163:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1168:16:1168:31 | (...)... : Object | Test.java:1169:63:1169:64 | in : Object | provenance | | +| Test.java:1168:24:1168:31 | source(...) : Object | Test.java:1168:16:1168:31 | (...)... : Object | provenance | | +| Test.java:1169:10:1169:83 | of(...) : ImmutableList [] : Object | Test.java:1170:20:1170:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1169:63:1169:64 | in : Object | Test.java:1169:10:1169:83 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1170:20:1170:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1170:20:1170:22 | out : ImmutableList [] : Object | Test.java:1170:9:1170:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1175:16:1175:31 | (...)... : Object | Test.java:1176:63:1176:64 | in : Object | provenance | | +| Test.java:1175:24:1175:31 | source(...) : Object | Test.java:1175:16:1175:31 | (...)... : Object | provenance | | +| Test.java:1176:10:1176:77 | of(...) : ImmutableList [] : Object | Test.java:1177:20:1177:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1176:63:1176:64 | in : Object | Test.java:1176:10:1176:77 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1177:20:1177:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1177:20:1177:22 | out : ImmutableList [] : Object | Test.java:1177:9:1177:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1182:16:1182:31 | (...)... : Object | Test.java:1183:63:1183:64 | in : Object | provenance | | +| Test.java:1182:24:1182:31 | source(...) : Object | Test.java:1182:16:1182:31 | (...)... : Object | provenance | | +| Test.java:1183:10:1183:71 | of(...) : ImmutableList [] : Object | Test.java:1184:20:1184:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1183:63:1183:64 | in : Object | Test.java:1183:10:1183:71 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1184:20:1184:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1184:20:1184:22 | out : ImmutableList [] : Object | Test.java:1184:9:1184:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1189:16:1189:31 | (...)... : Object | Test.java:1190:63:1190:64 | in : Object | provenance | | +| Test.java:1189:24:1189:31 | source(...) : Object | Test.java:1189:16:1189:31 | (...)... : Object | provenance | | +| Test.java:1190:10:1190:65 | of(...) : ImmutableList [] : Object | Test.java:1191:20:1191:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1190:63:1190:64 | in : Object | Test.java:1190:10:1190:65 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1191:20:1191:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1191:20:1191:22 | out : ImmutableList [] : Object | Test.java:1191:9:1191:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1196:16:1196:31 | (...)... : Object | Test.java:1197:57:1197:58 | in : Object | provenance | | +| Test.java:1196:24:1196:31 | source(...) : Object | Test.java:1196:16:1196:31 | (...)... : Object | provenance | | +| Test.java:1197:10:1197:89 | of(...) : ImmutableList [] : Object | Test.java:1198:20:1198:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1197:57:1197:58 | in : Object | Test.java:1197:10:1197:89 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1198:20:1198:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1198:20:1198:22 | out : ImmutableList [] : Object | Test.java:1198:9:1198:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1203:16:1203:31 | (...)... : Object | Test.java:1204:57:1204:58 | in : Object | provenance | | +| Test.java:1203:24:1203:31 | source(...) : Object | Test.java:1203:16:1203:31 | (...)... : Object | provenance | | +| Test.java:1204:10:1204:83 | of(...) : ImmutableList [] : Object | Test.java:1205:20:1205:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1204:57:1204:58 | in : Object | Test.java:1204:10:1204:83 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1205:20:1205:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1205:20:1205:22 | out : ImmutableList [] : Object | Test.java:1205:9:1205:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1210:16:1210:31 | (...)... : Object | Test.java:1211:57:1211:58 | in : Object | provenance | | +| Test.java:1210:24:1210:31 | source(...) : Object | Test.java:1210:16:1210:31 | (...)... : Object | provenance | | +| Test.java:1211:10:1211:77 | of(...) : ImmutableList [] : Object | Test.java:1212:20:1212:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1211:57:1211:58 | in : Object | Test.java:1211:10:1211:77 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1212:20:1212:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1212:20:1212:22 | out : ImmutableList [] : Object | Test.java:1212:9:1212:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1217:16:1217:31 | (...)... : Object | Test.java:1218:57:1218:58 | in : Object | provenance | | +| Test.java:1217:24:1217:31 | source(...) : Object | Test.java:1217:16:1217:31 | (...)... : Object | provenance | | +| Test.java:1218:10:1218:71 | of(...) : ImmutableList [] : Object | Test.java:1219:20:1219:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1218:57:1218:58 | in : Object | Test.java:1218:10:1218:71 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1219:20:1219:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1219:20:1219:22 | out : ImmutableList [] : Object | Test.java:1219:9:1219:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1224:16:1224:31 | (...)... : Object | Test.java:1225:57:1225:58 | in : Object | provenance | | +| Test.java:1224:24:1224:31 | source(...) : Object | Test.java:1224:16:1224:31 | (...)... : Object | provenance | | +| Test.java:1225:10:1225:65 | of(...) : ImmutableList [] : Object | Test.java:1226:20:1226:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1225:57:1225:58 | in : Object | Test.java:1225:10:1225:65 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1226:20:1226:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1226:20:1226:22 | out : ImmutableList [] : Object | Test.java:1226:9:1226:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1231:16:1231:31 | (...)... : Object | Test.java:1232:57:1232:58 | in : Object | provenance | | +| Test.java:1231:24:1231:31 | source(...) : Object | Test.java:1231:16:1231:31 | (...)... : Object | provenance | | +| Test.java:1232:10:1232:59 | of(...) : ImmutableList [] : Object | Test.java:1233:20:1233:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1232:57:1232:58 | in : Object | Test.java:1232:10:1232:59 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1233:20:1233:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1233:20:1233:22 | out : ImmutableList [] : Object | Test.java:1233:9:1233:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1238:16:1238:31 | (...)... : Object | Test.java:1239:51:1239:52 | in : Object | provenance | | +| Test.java:1238:24:1238:31 | source(...) : Object | Test.java:1238:16:1238:31 | (...)... : Object | provenance | | +| Test.java:1239:10:1239:89 | of(...) : ImmutableList [] : Object | Test.java:1240:20:1240:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1239:51:1239:52 | in : Object | Test.java:1239:10:1239:89 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1240:20:1240:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1240:20:1240:22 | out : ImmutableList [] : Object | Test.java:1240:9:1240:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1245:16:1245:31 | (...)... : Object | Test.java:1246:51:1246:52 | in : Object | provenance | | +| Test.java:1245:24:1245:31 | source(...) : Object | Test.java:1245:16:1245:31 | (...)... : Object | provenance | | +| Test.java:1246:10:1246:83 | of(...) : ImmutableList [] : Object | Test.java:1247:20:1247:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1246:51:1246:52 | in : Object | Test.java:1246:10:1246:83 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1247:20:1247:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1247:20:1247:22 | out : ImmutableList [] : Object | Test.java:1247:9:1247:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1252:16:1252:31 | (...)... : Object | Test.java:1253:51:1253:52 | in : Object | provenance | | +| Test.java:1252:24:1252:31 | source(...) : Object | Test.java:1252:16:1252:31 | (...)... : Object | provenance | | +| Test.java:1253:10:1253:77 | of(...) : ImmutableList [] : Object | Test.java:1254:20:1254:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1253:51:1253:52 | in : Object | Test.java:1253:10:1253:77 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1254:20:1254:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1254:20:1254:22 | out : ImmutableList [] : Object | Test.java:1254:9:1254:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1259:16:1259:31 | (...)... : Object | Test.java:1260:51:1260:52 | in : Object | provenance | | +| Test.java:1259:24:1259:31 | source(...) : Object | Test.java:1259:16:1259:31 | (...)... : Object | provenance | | +| Test.java:1260:10:1260:71 | of(...) : ImmutableList [] : Object | Test.java:1261:20:1261:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1260:51:1260:52 | in : Object | Test.java:1260:10:1260:71 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1261:20:1261:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1261:20:1261:22 | out : ImmutableList [] : Object | Test.java:1261:9:1261:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1266:16:1266:31 | (...)... : Object | Test.java:1267:51:1267:52 | in : Object | provenance | | +| Test.java:1266:24:1266:31 | source(...) : Object | Test.java:1266:16:1266:31 | (...)... : Object | provenance | | +| Test.java:1267:10:1267:65 | of(...) : ImmutableList [] : Object | Test.java:1268:20:1268:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1267:51:1267:52 | in : Object | Test.java:1267:10:1267:65 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1268:20:1268:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1268:20:1268:22 | out : ImmutableList [] : Object | Test.java:1268:9:1268:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1273:16:1273:31 | (...)... : Object | Test.java:1274:51:1274:52 | in : Object | provenance | | +| Test.java:1273:24:1273:31 | source(...) : Object | Test.java:1273:16:1273:31 | (...)... : Object | provenance | | +| Test.java:1274:10:1274:59 | of(...) : ImmutableList [] : Object | Test.java:1275:20:1275:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1274:51:1274:52 | in : Object | Test.java:1274:10:1274:59 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1275:20:1275:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1275:20:1275:22 | out : ImmutableList [] : Object | Test.java:1275:9:1275:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1280:16:1280:31 | (...)... : Object | Test.java:1281:51:1281:52 | in : Object | provenance | | +| Test.java:1280:24:1280:31 | source(...) : Object | Test.java:1280:16:1280:31 | (...)... : Object | provenance | | +| Test.java:1281:10:1281:53 | of(...) : ImmutableList [] : Object | Test.java:1282:20:1282:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1281:51:1281:52 | in : Object | Test.java:1281:10:1281:53 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1282:20:1282:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1282:20:1282:22 | out : ImmutableList [] : Object | Test.java:1282:9:1282:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1287:16:1287:31 | (...)... : Object | Test.java:1288:45:1288:46 | in : Object | provenance | | +| Test.java:1287:24:1287:31 | source(...) : Object | Test.java:1287:16:1287:31 | (...)... : Object | provenance | | +| Test.java:1288:10:1288:89 | of(...) : ImmutableList [] : Object | Test.java:1289:20:1289:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1288:45:1288:46 | in : Object | Test.java:1288:10:1288:89 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1289:20:1289:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1289:20:1289:22 | out : ImmutableList [] : Object | Test.java:1289:9:1289:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1294:16:1294:31 | (...)... : Object | Test.java:1295:45:1295:46 | in : Object | provenance | | +| Test.java:1294:24:1294:31 | source(...) : Object | Test.java:1294:16:1294:31 | (...)... : Object | provenance | | +| Test.java:1295:10:1295:83 | of(...) : ImmutableList [] : Object | Test.java:1296:20:1296:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1295:45:1295:46 | in : Object | Test.java:1295:10:1295:83 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1296:20:1296:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1296:20:1296:22 | out : ImmutableList [] : Object | Test.java:1296:9:1296:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1301:16:1301:31 | (...)... : Object | Test.java:1302:45:1302:46 | in : Object | provenance | | +| Test.java:1301:24:1301:31 | source(...) : Object | Test.java:1301:16:1301:31 | (...)... : Object | provenance | | +| Test.java:1302:10:1302:77 | of(...) : ImmutableList [] : Object | Test.java:1303:20:1303:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1302:45:1302:46 | in : Object | Test.java:1302:10:1302:77 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1303:20:1303:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1303:20:1303:22 | out : ImmutableList [] : Object | Test.java:1303:9:1303:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1308:16:1308:31 | (...)... : Object | Test.java:1309:45:1309:46 | in : Object | provenance | | +| Test.java:1308:24:1308:31 | source(...) : Object | Test.java:1308:16:1308:31 | (...)... : Object | provenance | | +| Test.java:1309:10:1309:71 | of(...) : ImmutableList [] : Object | Test.java:1310:20:1310:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1309:45:1309:46 | in : Object | Test.java:1309:10:1309:71 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1310:20:1310:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1310:20:1310:22 | out : ImmutableList [] : Object | Test.java:1310:9:1310:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1315:16:1315:31 | (...)... : Object | Test.java:1316:45:1316:46 | in : Object | provenance | | +| Test.java:1315:24:1315:31 | source(...) : Object | Test.java:1315:16:1315:31 | (...)... : Object | provenance | | +| Test.java:1316:10:1316:65 | of(...) : ImmutableList [] : Object | Test.java:1317:20:1317:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1316:45:1316:46 | in : Object | Test.java:1316:10:1316:65 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1317:20:1317:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1317:20:1317:22 | out : ImmutableList [] : Object | Test.java:1317:9:1317:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1322:16:1322:31 | (...)... : Object | Test.java:1323:45:1323:46 | in : Object | provenance | | +| Test.java:1322:24:1322:31 | source(...) : Object | Test.java:1322:16:1322:31 | (...)... : Object | provenance | | +| Test.java:1323:10:1323:59 | of(...) : ImmutableList [] : Object | Test.java:1324:20:1324:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1323:45:1323:46 | in : Object | Test.java:1323:10:1323:59 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1324:20:1324:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1324:20:1324:22 | out : ImmutableList [] : Object | Test.java:1324:9:1324:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1329:16:1329:31 | (...)... : Object | Test.java:1330:45:1330:46 | in : Object | provenance | | +| Test.java:1329:24:1329:31 | source(...) : Object | Test.java:1329:16:1329:31 | (...)... : Object | provenance | | +| Test.java:1330:10:1330:53 | of(...) : ImmutableList [] : Object | Test.java:1331:20:1331:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1330:45:1330:46 | in : Object | Test.java:1330:10:1330:53 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1331:20:1331:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1331:20:1331:22 | out : ImmutableList [] : Object | Test.java:1331:9:1331:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1336:16:1336:31 | (...)... : Object | Test.java:1337:45:1337:46 | in : Object | provenance | | +| Test.java:1336:24:1336:31 | source(...) : Object | Test.java:1336:16:1336:31 | (...)... : Object | provenance | | +| Test.java:1337:10:1337:47 | of(...) : ImmutableList [] : Object | Test.java:1338:20:1338:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1337:45:1337:46 | in : Object | Test.java:1337:10:1337:47 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1338:20:1338:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1338:20:1338:22 | out : ImmutableList [] : Object | Test.java:1338:9:1338:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1343:16:1343:31 | (...)... : Object | Test.java:1344:39:1344:40 | in : Object | provenance | | +| Test.java:1343:24:1343:31 | source(...) : Object | Test.java:1343:16:1343:31 | (...)... : Object | provenance | | +| Test.java:1344:10:1344:89 | of(...) : ImmutableList [] : Object | Test.java:1345:20:1345:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1344:39:1344:40 | in : Object | Test.java:1344:10:1344:89 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1345:20:1345:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1345:20:1345:22 | out : ImmutableList [] : Object | Test.java:1345:9:1345:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1350:16:1350:31 | (...)... : Object | Test.java:1351:39:1351:40 | in : Object | provenance | | +| Test.java:1350:24:1350:31 | source(...) : Object | Test.java:1350:16:1350:31 | (...)... : Object | provenance | | +| Test.java:1351:10:1351:83 | of(...) : ImmutableList [] : Object | Test.java:1352:20:1352:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1351:39:1351:40 | in : Object | Test.java:1351:10:1351:83 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1352:20:1352:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1352:20:1352:22 | out : ImmutableList [] : Object | Test.java:1352:9:1352:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1357:16:1357:31 | (...)... : Object | Test.java:1358:39:1358:40 | in : Object | provenance | | +| Test.java:1357:24:1357:31 | source(...) : Object | Test.java:1357:16:1357:31 | (...)... : Object | provenance | | +| Test.java:1358:10:1358:77 | of(...) : ImmutableList [] : Object | Test.java:1359:20:1359:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1358:39:1358:40 | in : Object | Test.java:1358:10:1358:77 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1359:20:1359:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1359:20:1359:22 | out : ImmutableList [] : Object | Test.java:1359:9:1359:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1364:16:1364:31 | (...)... : Object | Test.java:1365:39:1365:40 | in : Object | provenance | | +| Test.java:1364:24:1364:31 | source(...) : Object | Test.java:1364:16:1364:31 | (...)... : Object | provenance | | +| Test.java:1365:10:1365:71 | of(...) : ImmutableList [] : Object | Test.java:1366:20:1366:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1365:39:1365:40 | in : Object | Test.java:1365:10:1365:71 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1366:20:1366:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1366:20:1366:22 | out : ImmutableList [] : Object | Test.java:1366:9:1366:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1371:16:1371:31 | (...)... : Object | Test.java:1372:39:1372:40 | in : Object | provenance | | +| Test.java:1371:24:1371:31 | source(...) : Object | Test.java:1371:16:1371:31 | (...)... : Object | provenance | | +| Test.java:1372:10:1372:65 | of(...) : ImmutableList [] : Object | Test.java:1373:20:1373:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1372:39:1372:40 | in : Object | Test.java:1372:10:1372:65 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1373:20:1373:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1373:20:1373:22 | out : ImmutableList [] : Object | Test.java:1373:9:1373:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1378:16:1378:31 | (...)... : Object | Test.java:1379:39:1379:40 | in : Object | provenance | | +| Test.java:1378:24:1378:31 | source(...) : Object | Test.java:1378:16:1378:31 | (...)... : Object | provenance | | +| Test.java:1379:10:1379:59 | of(...) : ImmutableList [] : Object | Test.java:1380:20:1380:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1379:39:1379:40 | in : Object | Test.java:1379:10:1379:59 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1380:20:1380:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1380:20:1380:22 | out : ImmutableList [] : Object | Test.java:1380:9:1380:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1385:16:1385:31 | (...)... : Object | Test.java:1386:39:1386:40 | in : Object | provenance | | +| Test.java:1385:24:1385:31 | source(...) : Object | Test.java:1385:16:1385:31 | (...)... : Object | provenance | | +| Test.java:1386:10:1386:53 | of(...) : ImmutableList [] : Object | Test.java:1387:20:1387:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1386:39:1386:40 | in : Object | Test.java:1386:10:1386:53 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1387:20:1387:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1387:20:1387:22 | out : ImmutableList [] : Object | Test.java:1387:9:1387:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1392:16:1392:31 | (...)... : Object | Test.java:1393:39:1393:40 | in : Object | provenance | | +| Test.java:1392:24:1392:31 | source(...) : Object | Test.java:1392:16:1392:31 | (...)... : Object | provenance | | +| Test.java:1393:10:1393:47 | of(...) : ImmutableList [] : Object | Test.java:1394:20:1394:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1393:39:1393:40 | in : Object | Test.java:1393:10:1393:47 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1394:20:1394:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1394:20:1394:22 | out : ImmutableList [] : Object | Test.java:1394:9:1394:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1399:16:1399:31 | (...)... : Object | Test.java:1400:39:1400:40 | in : Object | provenance | | +| Test.java:1399:24:1399:31 | source(...) : Object | Test.java:1399:16:1399:31 | (...)... : Object | provenance | | +| Test.java:1400:10:1400:41 | of(...) : ImmutableList [] : Object | Test.java:1401:20:1401:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1400:39:1400:40 | in : Object | Test.java:1400:10:1400:41 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1401:20:1401:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1401:20:1401:22 | out : ImmutableList [] : Object | Test.java:1401:9:1401:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1406:16:1406:31 | (...)... : Object | Test.java:1407:33:1407:34 | in : Object | provenance | | +| Test.java:1406:24:1406:31 | source(...) : Object | Test.java:1406:16:1406:31 | (...)... : Object | provenance | | +| Test.java:1407:10:1407:89 | of(...) : ImmutableList [] : Object | Test.java:1408:20:1408:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1407:33:1407:34 | in : Object | Test.java:1407:10:1407:89 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1408:20:1408:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1408:20:1408:22 | out : ImmutableList [] : Object | Test.java:1408:9:1408:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1413:16:1413:31 | (...)... : Object | Test.java:1414:33:1414:34 | in : Object | provenance | | +| Test.java:1413:24:1413:31 | source(...) : Object | Test.java:1413:16:1413:31 | (...)... : Object | provenance | | +| Test.java:1414:10:1414:83 | of(...) : ImmutableList [] : Object | Test.java:1415:20:1415:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1414:33:1414:34 | in : Object | Test.java:1414:10:1414:83 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1415:20:1415:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1415:20:1415:22 | out : ImmutableList [] : Object | Test.java:1415:9:1415:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1420:16:1420:31 | (...)... : Object | Test.java:1421:33:1421:34 | in : Object | provenance | | +| Test.java:1420:24:1420:31 | source(...) : Object | Test.java:1420:16:1420:31 | (...)... : Object | provenance | | +| Test.java:1421:10:1421:77 | of(...) : ImmutableList [] : Object | Test.java:1422:20:1422:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1421:33:1421:34 | in : Object | Test.java:1421:10:1421:77 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1422:20:1422:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1422:20:1422:22 | out : ImmutableList [] : Object | Test.java:1422:9:1422:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1427:16:1427:31 | (...)... : Object | Test.java:1428:33:1428:34 | in : Object | provenance | | +| Test.java:1427:24:1427:31 | source(...) : Object | Test.java:1427:16:1427:31 | (...)... : Object | provenance | | +| Test.java:1428:10:1428:71 | of(...) : ImmutableList [] : Object | Test.java:1429:20:1429:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1428:33:1428:34 | in : Object | Test.java:1428:10:1428:71 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1429:20:1429:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1429:20:1429:22 | out : ImmutableList [] : Object | Test.java:1429:9:1429:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1434:16:1434:31 | (...)... : Object | Test.java:1435:33:1435:34 | in : Object | provenance | | +| Test.java:1434:24:1434:31 | source(...) : Object | Test.java:1434:16:1434:31 | (...)... : Object | provenance | | +| Test.java:1435:10:1435:65 | of(...) : ImmutableList [] : Object | Test.java:1436:20:1436:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1435:33:1435:34 | in : Object | Test.java:1435:10:1435:65 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1436:20:1436:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1436:20:1436:22 | out : ImmutableList [] : Object | Test.java:1436:9:1436:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1441:16:1441:31 | (...)... : Object | Test.java:1442:33:1442:34 | in : Object | provenance | | +| Test.java:1441:24:1441:31 | source(...) : Object | Test.java:1441:16:1441:31 | (...)... : Object | provenance | | +| Test.java:1442:10:1442:59 | of(...) : ImmutableList [] : Object | Test.java:1443:20:1443:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1442:33:1442:34 | in : Object | Test.java:1442:10:1442:59 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1443:20:1443:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1443:20:1443:22 | out : ImmutableList [] : Object | Test.java:1443:9:1443:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1448:16:1448:31 | (...)... : Object | Test.java:1449:33:1449:34 | in : Object | provenance | | +| Test.java:1448:24:1448:31 | source(...) : Object | Test.java:1448:16:1448:31 | (...)... : Object | provenance | | +| Test.java:1449:10:1449:53 | of(...) : ImmutableList [] : Object | Test.java:1450:20:1450:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1449:33:1449:34 | in : Object | Test.java:1449:10:1449:53 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1450:20:1450:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1450:20:1450:22 | out : ImmutableList [] : Object | Test.java:1450:9:1450:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1455:16:1455:31 | (...)... : Object | Test.java:1456:33:1456:34 | in : Object | provenance | | +| Test.java:1455:24:1455:31 | source(...) : Object | Test.java:1455:16:1455:31 | (...)... : Object | provenance | | +| Test.java:1456:10:1456:47 | of(...) : ImmutableList [] : Object | Test.java:1457:20:1457:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1456:33:1456:34 | in : Object | Test.java:1456:10:1456:47 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1457:20:1457:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1457:20:1457:22 | out : ImmutableList [] : Object | Test.java:1457:9:1457:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1462:16:1462:31 | (...)... : Object | Test.java:1463:33:1463:34 | in : Object | provenance | | +| Test.java:1462:24:1462:31 | source(...) : Object | Test.java:1462:16:1462:31 | (...)... : Object | provenance | | +| Test.java:1463:10:1463:41 | of(...) : ImmutableList [] : Object | Test.java:1464:20:1464:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1463:33:1463:34 | in : Object | Test.java:1463:10:1463:41 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1464:20:1464:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1464:20:1464:22 | out : ImmutableList [] : Object | Test.java:1464:9:1464:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1469:16:1469:31 | (...)... : Object | Test.java:1470:33:1470:34 | in : Object | provenance | | +| Test.java:1469:24:1469:31 | source(...) : Object | Test.java:1469:16:1469:31 | (...)... : Object | provenance | | +| Test.java:1470:10:1470:35 | of(...) : ImmutableList [] : Object | Test.java:1471:20:1471:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1470:33:1470:34 | in : Object | Test.java:1470:10:1470:35 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1471:20:1471:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1471:20:1471:22 | out : ImmutableList [] : Object | Test.java:1471:9:1471:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1476:16:1476:31 | (...)... : Object | Test.java:1477:27:1477:28 | in : Object | provenance | | +| Test.java:1476:24:1476:31 | source(...) : Object | Test.java:1476:16:1476:31 | (...)... : Object | provenance | | +| Test.java:1477:10:1477:89 | of(...) : ImmutableList [] : Object | Test.java:1478:20:1478:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1477:27:1477:28 | in : Object | Test.java:1477:10:1477:89 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1478:20:1478:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1478:20:1478:22 | out : ImmutableList [] : Object | Test.java:1478:9:1478:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1483:16:1483:31 | (...)... : Object | Test.java:1484:27:1484:28 | in : Object | provenance | | +| Test.java:1483:24:1483:31 | source(...) : Object | Test.java:1483:16:1483:31 | (...)... : Object | provenance | | +| Test.java:1484:10:1484:83 | of(...) : ImmutableList [] : Object | Test.java:1485:20:1485:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1484:27:1484:28 | in : Object | Test.java:1484:10:1484:83 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1485:20:1485:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1485:20:1485:22 | out : ImmutableList [] : Object | Test.java:1485:9:1485:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1490:16:1490:31 | (...)... : Object | Test.java:1491:27:1491:28 | in : Object | provenance | | +| Test.java:1490:24:1490:31 | source(...) : Object | Test.java:1490:16:1490:31 | (...)... : Object | provenance | | +| Test.java:1491:10:1491:77 | of(...) : ImmutableList [] : Object | Test.java:1492:20:1492:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1491:27:1491:28 | in : Object | Test.java:1491:10:1491:77 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1492:20:1492:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1492:20:1492:22 | out : ImmutableList [] : Object | Test.java:1492:9:1492:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1497:16:1497:31 | (...)... : Object | Test.java:1498:27:1498:28 | in : Object | provenance | | +| Test.java:1497:24:1497:31 | source(...) : Object | Test.java:1497:16:1497:31 | (...)... : Object | provenance | | +| Test.java:1498:10:1498:71 | of(...) : ImmutableList [] : Object | Test.java:1499:20:1499:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1498:27:1498:28 | in : Object | Test.java:1498:10:1498:71 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1499:20:1499:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1499:20:1499:22 | out : ImmutableList [] : Object | Test.java:1499:9:1499:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1504:16:1504:31 | (...)... : Object | Test.java:1505:27:1505:28 | in : Object | provenance | | +| Test.java:1504:24:1504:31 | source(...) : Object | Test.java:1504:16:1504:31 | (...)... : Object | provenance | | +| Test.java:1505:10:1505:65 | of(...) : ImmutableList [] : Object | Test.java:1506:20:1506:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1505:27:1505:28 | in : Object | Test.java:1505:10:1505:65 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1506:20:1506:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1506:20:1506:22 | out : ImmutableList [] : Object | Test.java:1506:9:1506:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1511:16:1511:31 | (...)... : Object | Test.java:1512:27:1512:28 | in : Object | provenance | | +| Test.java:1511:24:1511:31 | source(...) : Object | Test.java:1511:16:1511:31 | (...)... : Object | provenance | | +| Test.java:1512:10:1512:59 | of(...) : ImmutableList [] : Object | Test.java:1513:20:1513:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1512:27:1512:28 | in : Object | Test.java:1512:10:1512:59 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1513:20:1513:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1513:20:1513:22 | out : ImmutableList [] : Object | Test.java:1513:9:1513:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1518:16:1518:31 | (...)... : Object | Test.java:1519:27:1519:28 | in : Object | provenance | | +| Test.java:1518:24:1518:31 | source(...) : Object | Test.java:1518:16:1518:31 | (...)... : Object | provenance | | +| Test.java:1519:10:1519:53 | of(...) : ImmutableList [] : Object | Test.java:1520:20:1520:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1519:27:1519:28 | in : Object | Test.java:1519:10:1519:53 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1520:20:1520:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1520:20:1520:22 | out : ImmutableList [] : Object | Test.java:1520:9:1520:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1525:16:1525:31 | (...)... : Object | Test.java:1526:27:1526:28 | in : Object | provenance | | +| Test.java:1525:24:1525:31 | source(...) : Object | Test.java:1525:16:1525:31 | (...)... : Object | provenance | | +| Test.java:1526:10:1526:47 | of(...) : ImmutableList [] : Object | Test.java:1527:20:1527:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1526:27:1526:28 | in : Object | Test.java:1526:10:1526:47 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1527:20:1527:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1527:20:1527:22 | out : ImmutableList [] : Object | Test.java:1527:9:1527:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1532:16:1532:31 | (...)... : Object | Test.java:1533:27:1533:28 | in : Object | provenance | | +| Test.java:1532:24:1532:31 | source(...) : Object | Test.java:1532:16:1532:31 | (...)... : Object | provenance | | +| Test.java:1533:10:1533:41 | of(...) : ImmutableList [] : Object | Test.java:1534:20:1534:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1533:27:1533:28 | in : Object | Test.java:1533:10:1533:41 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1534:20:1534:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1534:20:1534:22 | out : ImmutableList [] : Object | Test.java:1534:9:1534:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1539:16:1539:31 | (...)... : Object | Test.java:1540:27:1540:28 | in : Object | provenance | | +| Test.java:1539:24:1539:31 | source(...) : Object | Test.java:1539:16:1539:31 | (...)... : Object | provenance | | +| Test.java:1540:10:1540:35 | of(...) : ImmutableList [] : Object | Test.java:1541:20:1541:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1540:27:1540:28 | in : Object | Test.java:1540:10:1540:35 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1541:20:1541:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1541:20:1541:22 | out : ImmutableList [] : Object | Test.java:1541:9:1541:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1546:16:1546:31 | (...)... : Object | Test.java:1547:27:1547:28 | in : Object | provenance | | +| Test.java:1546:24:1546:31 | source(...) : Object | Test.java:1546:16:1546:31 | (...)... : Object | provenance | | +| Test.java:1547:10:1547:199 | of(...) : ImmutableList [] : Object | Test.java:1548:20:1548:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1547:27:1547:28 | in : Object | Test.java:1547:10:1547:199 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1548:20:1548:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1548:20:1548:22 | out : ImmutableList [] : Object | Test.java:1548:9:1548:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1553:16:1553:31 | (...)... : Object | Test.java:1554:27:1554:28 | in : Object | provenance | | +| Test.java:1553:24:1553:31 | source(...) : Object | Test.java:1553:16:1553:31 | (...)... : Object | provenance | | +| Test.java:1554:10:1554:29 | of(...) : ImmutableList [] : Object | Test.java:1555:20:1555:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1554:27:1554:28 | in : Object | Test.java:1554:10:1554:29 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1555:20:1555:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1555:20:1555:22 | out : ImmutableList [] : Object | Test.java:1555:9:1555:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1560:16:1560:31 | (...)... : Object | Test.java:1561:41:1561:42 | in : Object | provenance | | +| Test.java:1560:24:1560:31 | source(...) : Object | Test.java:1560:16:1560:31 | (...)... : Object | provenance | | +| Test.java:1561:10:1561:199 | of(...) : ImmutableList [] : Object | Test.java:1562:20:1562:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1561:41:1561:42 | in : Object | Test.java:1561:10:1561:199 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1562:20:1562:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1562:20:1562:22 | out : ImmutableList [] : Object | Test.java:1562:9:1562:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1567:16:1567:31 | (...)... : Object | Test.java:1568:55:1568:56 | in : Object | provenance | | +| Test.java:1567:24:1567:31 | source(...) : Object | Test.java:1567:16:1567:31 | (...)... : Object | provenance | | +| Test.java:1568:10:1568:199 | of(...) : ImmutableList [] : Object | Test.java:1569:20:1569:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1568:55:1568:56 | in : Object | Test.java:1568:10:1568:199 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1569:20:1569:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1569:20:1569:22 | out : ImmutableList [] : Object | Test.java:1569:9:1569:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1574:16:1574:31 | (...)... : Object | Test.java:1575:69:1575:70 | in : Object | provenance | | +| Test.java:1574:24:1574:31 | source(...) : Object | Test.java:1574:16:1574:31 | (...)... : Object | provenance | | +| Test.java:1575:10:1575:199 | of(...) : ImmutableList [] : Object | Test.java:1576:20:1576:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1575:69:1575:70 | in : Object | Test.java:1575:10:1575:199 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1576:20:1576:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1576:20:1576:22 | out : ImmutableList [] : Object | Test.java:1576:9:1576:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1581:16:1581:31 | (...)... : Object | Test.java:1582:83:1582:84 | in : Object | provenance | | +| Test.java:1581:24:1581:31 | source(...) : Object | Test.java:1581:16:1581:31 | (...)... : Object | provenance | | +| Test.java:1582:10:1582:199 | of(...) : ImmutableList [] : Object | Test.java:1583:20:1583:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1582:83:1582:84 | in : Object | Test.java:1582:10:1582:199 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1583:20:1583:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1583:20:1583:22 | out : ImmutableList [] : Object | Test.java:1583:9:1583:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1588:16:1588:31 | (...)... : Object | Test.java:1589:97:1589:98 | in : Object | provenance | | +| Test.java:1588:24:1588:31 | source(...) : Object | Test.java:1588:16:1588:31 | (...)... : Object | provenance | | +| Test.java:1589:10:1589:199 | of(...) : ImmutableList [] : Object | Test.java:1590:20:1590:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1589:97:1589:98 | in : Object | Test.java:1589:10:1589:199 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1590:20:1590:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1590:20:1590:22 | out : ImmutableList [] : Object | Test.java:1590:9:1590:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1595:16:1595:31 | (...)... : Object | Test.java:1596:111:1596:112 | in : Object | provenance | | +| Test.java:1595:24:1595:31 | source(...) : Object | Test.java:1595:16:1595:31 | (...)... : Object | provenance | | +| Test.java:1596:10:1596:199 | of(...) : ImmutableList [] : Object | Test.java:1597:20:1597:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1596:111:1596:112 | in : Object | Test.java:1596:10:1596:199 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1597:20:1597:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1597:20:1597:22 | out : ImmutableList [] : Object | Test.java:1597:9:1597:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1602:16:1602:31 | (...)... : Object | Test.java:1603:125:1603:126 | in : Object | provenance | | +| Test.java:1602:24:1602:31 | source(...) : Object | Test.java:1602:16:1602:31 | (...)... : Object | provenance | | +| Test.java:1603:10:1603:199 | of(...) : ImmutableList [] : Object | Test.java:1604:20:1604:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1603:125:1603:126 | in : Object | Test.java:1603:10:1603:199 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1604:20:1604:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1604:20:1604:22 | out : ImmutableList [] : Object | Test.java:1604:9:1604:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1609:16:1609:31 | (...)... : Object | Test.java:1610:139:1610:140 | in : Object | provenance | | +| Test.java:1609:24:1609:31 | source(...) : Object | Test.java:1609:16:1609:31 | (...)... : Object | provenance | | +| Test.java:1610:10:1610:199 | of(...) : ImmutableList [] : Object | Test.java:1611:20:1611:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1610:139:1610:140 | in : Object | Test.java:1610:10:1610:199 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1611:20:1611:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1611:20:1611:22 | out : ImmutableList [] : Object | Test.java:1611:9:1611:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1616:16:1616:31 | (...)... : Object | Test.java:1617:153:1617:154 | in : Object | provenance | | +| Test.java:1616:24:1616:31 | source(...) : Object | Test.java:1616:16:1616:31 | (...)... : Object | provenance | | +| Test.java:1617:10:1617:199 | of(...) : ImmutableList [] : Object | Test.java:1618:20:1618:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1617:153:1617:154 | in : Object | Test.java:1617:10:1617:199 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1618:20:1618:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1618:20:1618:22 | out : ImmutableList [] : Object | Test.java:1618:9:1618:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1623:16:1623:31 | (...)... : Object | Test.java:1624:167:1624:168 | in : Object | provenance | | +| Test.java:1623:24:1623:31 | source(...) : Object | Test.java:1623:16:1623:31 | (...)... : Object | provenance | | +| Test.java:1624:10:1624:199 | of(...) : ImmutableList [] : Object | Test.java:1625:20:1625:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1624:167:1624:168 | in : Object | Test.java:1624:10:1624:199 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1625:20:1625:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1625:20:1625:22 | out : ImmutableList [] : Object | Test.java:1625:9:1625:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1630:16:1630:31 | (...)... : Object | Test.java:1631:181:1631:182 | in : Object | provenance | | +| Test.java:1630:24:1630:31 | source(...) : Object | Test.java:1630:16:1630:31 | (...)... : Object | provenance | | +| Test.java:1631:10:1631:199 | of(...) : ImmutableList [] : Object | Test.java:1632:20:1632:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1631:181:1631:182 | in : Object | Test.java:1631:10:1631:199 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1632:20:1632:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1632:20:1632:22 | out : ImmutableList [] : Object | Test.java:1632:9:1632:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1637:18:1637:49 | (...)... : Object[] [[]] : Object | Test.java:1638:195:1638:196 | in : Object[] [[]] : Object | provenance | | +| Test.java:1637:28:1637:49 | {...} : Object[] [[]] : Object | Test.java:1637:18:1637:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:1637:41:1637:48 | source(...) : Object | Test.java:1637:28:1637:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:1638:10:1638:197 | of(...) : ImmutableList [] : Object | Test.java:1639:20:1639:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1638:195:1638:196 | in : Object[] [[]] : Object | Test.java:1638:10:1638:197 | of(...) : ImmutableList [] : Object | provenance | MaD:56 | +| Test.java:1639:20:1639:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1639:20:1639:22 | out : ImmutableList [] : Object | Test.java:1639:9:1639:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1644:23:1644:63 | (...)... : ImmutableList [] : Object | Test.java:1645:10:1645:11 | in : ImmutableList [] : Object | provenance | | +| Test.java:1644:38:1644:63 | of(...) : ImmutableList [] : Object | Test.java:1644:23:1644:63 | (...)... : ImmutableList [] : Object | provenance | | +| Test.java:1644:55:1644:62 | source(...) : Object | Test.java:1644:38:1644:63 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:1645:10:1645:11 | in : ImmutableList [] : Object | Test.java:1645:10:1645:21 | reverse(...) : ImmutableList [] : Object | provenance | MaD:57 | +| Test.java:1645:10:1645:21 | reverse(...) : ImmutableList [] : Object | Test.java:1646:20:1646:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1646:20:1646:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1646:20:1646:22 | out : ImmutableList [] : Object | Test.java:1646:9:1646:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1651:18:1651:44 | (...)... : List [] : Object | Test.java:1652:43:1652:44 | in : List [] : Object | provenance | | +| Test.java:1651:28:1651:44 | of(...) : List [] : Object | Test.java:1651:18:1651:44 | (...)... : List [] : Object | provenance | | +| Test.java:1651:36:1651:43 | source(...) : Object | Test.java:1651:28:1651:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:1652:10:1652:45 | sortedCopyOf(...) : ImmutableList [] : Object | Test.java:1653:20:1653:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1652:43:1652:44 | in : List [] : Object | Test.java:1652:10:1652:45 | sortedCopyOf(...) : ImmutableList [] : Object | provenance | MaD:58 | +| Test.java:1653:20:1653:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1653:20:1653:22 | out : ImmutableList [] : Object | Test.java:1653:9:1653:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1658:18:1658:44 | (...)... : List [] : Object | Test.java:1659:37:1659:38 | in : List [] : Object | provenance | | +| Test.java:1658:28:1658:44 | of(...) : List [] : Object | Test.java:1658:18:1658:44 | (...)... : List [] : Object | provenance | | +| Test.java:1658:36:1658:43 | source(...) : Object | Test.java:1658:28:1658:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:1659:10:1659:39 | sortedCopyOf(...) : ImmutableList [] : Object | Test.java:1660:20:1660:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:1659:37:1659:38 | in : List [] : Object | Test.java:1659:10:1659:39 | sortedCopyOf(...) : ImmutableList [] : Object | provenance | MaD:59 | +| Test.java:1660:20:1660:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:1660:20:1660:22 | out : ImmutableList [] : Object | Test.java:1660:9:1660:23 | getElement(...) | provenance | MaD:555 | +| Test.java:1665:16:1665:31 | (...)... : Object | Test.java:1666:35:1666:36 | in : Object | provenance | | +| Test.java:1665:24:1665:31 | source(...) : Object | Test.java:1665:16:1665:31 | (...)... : Object | provenance | | +| Test.java:1666:10:1666:91 | of(...) : ImmutableListMultimap [] : Object | Test.java:1667:19:1667:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1666:35:1666:36 | in : Object | Test.java:1666:10:1666:91 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:60 | +| Test.java:1667:19:1667:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1667:19:1667:21 | out : ImmutableListMultimap [] : Object | Test.java:1667:9:1667:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:1672:16:1672:31 | (...)... : Object | Test.java:1673:35:1673:36 | in : Object | provenance | | +| Test.java:1672:24:1672:31 | source(...) : Object | Test.java:1672:16:1672:31 | (...)... : Object | provenance | | +| Test.java:1673:10:1673:79 | of(...) : ImmutableListMultimap [] : Object | Test.java:1674:19:1674:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1673:35:1673:36 | in : Object | Test.java:1673:10:1673:79 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:60 | +| Test.java:1674:19:1674:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1674:19:1674:21 | out : ImmutableListMultimap [] : Object | Test.java:1674:9:1674:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:1679:16:1679:31 | (...)... : Object | Test.java:1680:35:1680:36 | in : Object | provenance | | +| Test.java:1679:24:1679:31 | source(...) : Object | Test.java:1679:16:1679:31 | (...)... : Object | provenance | | +| Test.java:1680:10:1680:67 | of(...) : ImmutableListMultimap [] : Object | Test.java:1681:19:1681:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1680:35:1680:36 | in : Object | Test.java:1680:10:1680:67 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:60 | +| Test.java:1681:19:1681:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1681:19:1681:21 | out : ImmutableListMultimap [] : Object | Test.java:1681:9:1681:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:1686:16:1686:31 | (...)... : Object | Test.java:1687:35:1687:36 | in : Object | provenance | | +| Test.java:1686:24:1686:31 | source(...) : Object | Test.java:1686:16:1686:31 | (...)... : Object | provenance | | +| Test.java:1687:10:1687:55 | of(...) : ImmutableListMultimap [] : Object | Test.java:1688:19:1688:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1687:35:1687:36 | in : Object | Test.java:1687:10:1687:55 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:60 | +| Test.java:1688:19:1688:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1688:19:1688:21 | out : ImmutableListMultimap [] : Object | Test.java:1688:9:1688:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:1693:16:1693:31 | (...)... : Object | Test.java:1694:35:1694:36 | in : Object | provenance | | +| Test.java:1693:24:1693:31 | source(...) : Object | Test.java:1693:16:1693:31 | (...)... : Object | provenance | | +| Test.java:1694:10:1694:43 | of(...) : ImmutableListMultimap [] : Object | Test.java:1695:19:1695:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1694:35:1694:36 | in : Object | Test.java:1694:10:1694:43 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:60 | +| Test.java:1695:19:1695:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1695:19:1695:21 | out : ImmutableListMultimap [] : Object | Test.java:1695:9:1695:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:1700:16:1700:31 | (...)... : Object | Test.java:1701:41:1701:42 | in : Object | provenance | | +| Test.java:1700:24:1700:31 | source(...) : Object | Test.java:1700:16:1700:31 | (...)... : Object | provenance | | +| Test.java:1701:10:1701:91 | of(...) : ImmutableListMultimap [] : Object | Test.java:1702:21:1702:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1701:41:1701:42 | in : Object | Test.java:1701:10:1701:91 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:61 | +| Test.java:1702:21:1702:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1702:21:1702:23 | out : ImmutableListMultimap [] : Object | Test.java:1702:9:1702:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:1707:16:1707:31 | (...)... : Object | Test.java:1708:41:1708:42 | in : Object | provenance | | +| Test.java:1707:24:1707:31 | source(...) : Object | Test.java:1707:16:1707:31 | (...)... : Object | provenance | | +| Test.java:1708:10:1708:79 | of(...) : ImmutableListMultimap [] : Object | Test.java:1709:21:1709:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1708:41:1708:42 | in : Object | Test.java:1708:10:1708:79 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:61 | +| Test.java:1709:21:1709:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1709:21:1709:23 | out : ImmutableListMultimap [] : Object | Test.java:1709:9:1709:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:1714:16:1714:31 | (...)... : Object | Test.java:1715:41:1715:42 | in : Object | provenance | | +| Test.java:1714:24:1714:31 | source(...) : Object | Test.java:1714:16:1714:31 | (...)... : Object | provenance | | +| Test.java:1715:10:1715:67 | of(...) : ImmutableListMultimap [] : Object | Test.java:1716:21:1716:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1715:41:1715:42 | in : Object | Test.java:1715:10:1715:67 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:61 | +| Test.java:1716:21:1716:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1716:21:1716:23 | out : ImmutableListMultimap [] : Object | Test.java:1716:9:1716:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:1721:16:1721:31 | (...)... : Object | Test.java:1722:41:1722:42 | in : Object | provenance | | +| Test.java:1721:24:1721:31 | source(...) : Object | Test.java:1721:16:1721:31 | (...)... : Object | provenance | | +| Test.java:1722:10:1722:55 | of(...) : ImmutableListMultimap [] : Object | Test.java:1723:21:1723:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1722:41:1722:42 | in : Object | Test.java:1722:10:1722:55 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:61 | +| Test.java:1723:21:1723:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1723:21:1723:23 | out : ImmutableListMultimap [] : Object | Test.java:1723:9:1723:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:1728:16:1728:31 | (...)... : Object | Test.java:1729:41:1729:42 | in : Object | provenance | | +| Test.java:1728:24:1728:31 | source(...) : Object | Test.java:1728:16:1728:31 | (...)... : Object | provenance | | +| Test.java:1729:10:1729:43 | of(...) : ImmutableListMultimap [] : Object | Test.java:1730:21:1730:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1729:41:1729:42 | in : Object | Test.java:1729:10:1729:43 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:61 | +| Test.java:1730:21:1730:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1730:21:1730:23 | out : ImmutableListMultimap [] : Object | Test.java:1730:9:1730:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:1735:16:1735:31 | (...)... : Object | Test.java:1736:47:1736:48 | in : Object | provenance | | +| Test.java:1735:24:1735:31 | source(...) : Object | Test.java:1735:16:1735:31 | (...)... : Object | provenance | | +| Test.java:1736:10:1736:91 | of(...) : ImmutableListMultimap [] : Object | Test.java:1737:19:1737:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1736:47:1736:48 | in : Object | Test.java:1736:10:1736:91 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:62 | +| Test.java:1737:19:1737:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1737:19:1737:21 | out : ImmutableListMultimap [] : Object | Test.java:1737:9:1737:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:1742:16:1742:31 | (...)... : Object | Test.java:1743:47:1743:48 | in : Object | provenance | | +| Test.java:1742:24:1742:31 | source(...) : Object | Test.java:1742:16:1742:31 | (...)... : Object | provenance | | +| Test.java:1743:10:1743:79 | of(...) : ImmutableListMultimap [] : Object | Test.java:1744:19:1744:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1743:47:1743:48 | in : Object | Test.java:1743:10:1743:79 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:62 | +| Test.java:1744:19:1744:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1744:19:1744:21 | out : ImmutableListMultimap [] : Object | Test.java:1744:9:1744:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:1749:16:1749:31 | (...)... : Object | Test.java:1750:47:1750:48 | in : Object | provenance | | +| Test.java:1749:24:1749:31 | source(...) : Object | Test.java:1749:16:1749:31 | (...)... : Object | provenance | | +| Test.java:1750:10:1750:67 | of(...) : ImmutableListMultimap [] : Object | Test.java:1751:19:1751:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1750:47:1750:48 | in : Object | Test.java:1750:10:1750:67 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:62 | +| Test.java:1751:19:1751:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1751:19:1751:21 | out : ImmutableListMultimap [] : Object | Test.java:1751:9:1751:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:1756:16:1756:31 | (...)... : Object | Test.java:1757:47:1757:48 | in : Object | provenance | | +| Test.java:1756:24:1756:31 | source(...) : Object | Test.java:1756:16:1756:31 | (...)... : Object | provenance | | +| Test.java:1757:10:1757:55 | of(...) : ImmutableListMultimap [] : Object | Test.java:1758:19:1758:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1757:47:1757:48 | in : Object | Test.java:1757:10:1757:55 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:62 | +| Test.java:1758:19:1758:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1758:19:1758:21 | out : ImmutableListMultimap [] : Object | Test.java:1758:9:1758:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:1763:16:1763:31 | (...)... : Object | Test.java:1764:53:1764:54 | in : Object | provenance | | +| Test.java:1763:24:1763:31 | source(...) : Object | Test.java:1763:16:1763:31 | (...)... : Object | provenance | | +| Test.java:1764:10:1764:91 | of(...) : ImmutableListMultimap [] : Object | Test.java:1765:21:1765:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1764:53:1764:54 | in : Object | Test.java:1764:10:1764:91 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:63 | +| Test.java:1765:21:1765:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1765:21:1765:23 | out : ImmutableListMultimap [] : Object | Test.java:1765:9:1765:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:1770:16:1770:31 | (...)... : Object | Test.java:1771:53:1771:54 | in : Object | provenance | | +| Test.java:1770:24:1770:31 | source(...) : Object | Test.java:1770:16:1770:31 | (...)... : Object | provenance | | +| Test.java:1771:10:1771:79 | of(...) : ImmutableListMultimap [] : Object | Test.java:1772:21:1772:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1771:53:1771:54 | in : Object | Test.java:1771:10:1771:79 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:63 | +| Test.java:1772:21:1772:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1772:21:1772:23 | out : ImmutableListMultimap [] : Object | Test.java:1772:9:1772:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:1777:16:1777:31 | (...)... : Object | Test.java:1778:53:1778:54 | in : Object | provenance | | +| Test.java:1777:24:1777:31 | source(...) : Object | Test.java:1777:16:1777:31 | (...)... : Object | provenance | | +| Test.java:1778:10:1778:67 | of(...) : ImmutableListMultimap [] : Object | Test.java:1779:21:1779:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1778:53:1778:54 | in : Object | Test.java:1778:10:1778:67 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:63 | +| Test.java:1779:21:1779:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1779:21:1779:23 | out : ImmutableListMultimap [] : Object | Test.java:1779:9:1779:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:1784:16:1784:31 | (...)... : Object | Test.java:1785:53:1785:54 | in : Object | provenance | | +| Test.java:1784:24:1784:31 | source(...) : Object | Test.java:1784:16:1784:31 | (...)... : Object | provenance | | +| Test.java:1785:10:1785:55 | of(...) : ImmutableListMultimap [] : Object | Test.java:1786:21:1786:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1785:53:1785:54 | in : Object | Test.java:1785:10:1785:55 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:63 | +| Test.java:1786:21:1786:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1786:21:1786:23 | out : ImmutableListMultimap [] : Object | Test.java:1786:9:1786:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:1791:16:1791:31 | (...)... : Object | Test.java:1792:59:1792:60 | in : Object | provenance | | +| Test.java:1791:24:1791:31 | source(...) : Object | Test.java:1791:16:1791:31 | (...)... : Object | provenance | | +| Test.java:1792:10:1792:91 | of(...) : ImmutableListMultimap [] : Object | Test.java:1793:19:1793:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1792:59:1792:60 | in : Object | Test.java:1792:10:1792:91 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:64 | +| Test.java:1793:19:1793:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1793:19:1793:21 | out : ImmutableListMultimap [] : Object | Test.java:1793:9:1793:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:1798:16:1798:31 | (...)... : Object | Test.java:1799:59:1799:60 | in : Object | provenance | | +| Test.java:1798:24:1798:31 | source(...) : Object | Test.java:1798:16:1798:31 | (...)... : Object | provenance | | +| Test.java:1799:10:1799:79 | of(...) : ImmutableListMultimap [] : Object | Test.java:1800:19:1800:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1799:59:1799:60 | in : Object | Test.java:1799:10:1799:79 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:64 | +| Test.java:1800:19:1800:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1800:19:1800:21 | out : ImmutableListMultimap [] : Object | Test.java:1800:9:1800:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:1805:16:1805:31 | (...)... : Object | Test.java:1806:59:1806:60 | in : Object | provenance | | +| Test.java:1805:24:1805:31 | source(...) : Object | Test.java:1805:16:1805:31 | (...)... : Object | provenance | | +| Test.java:1806:10:1806:67 | of(...) : ImmutableListMultimap [] : Object | Test.java:1807:19:1807:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1806:59:1806:60 | in : Object | Test.java:1806:10:1806:67 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:64 | +| Test.java:1807:19:1807:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1807:19:1807:21 | out : ImmutableListMultimap [] : Object | Test.java:1807:9:1807:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:1812:16:1812:31 | (...)... : Object | Test.java:1813:65:1813:66 | in : Object | provenance | | +| Test.java:1812:24:1812:31 | source(...) : Object | Test.java:1812:16:1812:31 | (...)... : Object | provenance | | +| Test.java:1813:10:1813:91 | of(...) : ImmutableListMultimap [] : Object | Test.java:1814:21:1814:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1813:65:1813:66 | in : Object | Test.java:1813:10:1813:91 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:65 | +| Test.java:1814:21:1814:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1814:21:1814:23 | out : ImmutableListMultimap [] : Object | Test.java:1814:9:1814:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:1819:16:1819:31 | (...)... : Object | Test.java:1820:65:1820:66 | in : Object | provenance | | +| Test.java:1819:24:1819:31 | source(...) : Object | Test.java:1819:16:1819:31 | (...)... : Object | provenance | | +| Test.java:1820:10:1820:79 | of(...) : ImmutableListMultimap [] : Object | Test.java:1821:21:1821:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1820:65:1820:66 | in : Object | Test.java:1820:10:1820:79 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:65 | +| Test.java:1821:21:1821:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1821:21:1821:23 | out : ImmutableListMultimap [] : Object | Test.java:1821:9:1821:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:1826:16:1826:31 | (...)... : Object | Test.java:1827:65:1827:66 | in : Object | provenance | | +| Test.java:1826:24:1826:31 | source(...) : Object | Test.java:1826:16:1826:31 | (...)... : Object | provenance | | +| Test.java:1827:10:1827:67 | of(...) : ImmutableListMultimap [] : Object | Test.java:1828:21:1828:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1827:65:1827:66 | in : Object | Test.java:1827:10:1827:67 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:65 | +| Test.java:1828:21:1828:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1828:21:1828:23 | out : ImmutableListMultimap [] : Object | Test.java:1828:9:1828:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:1833:16:1833:31 | (...)... : Object | Test.java:1834:71:1834:72 | in : Object | provenance | | +| Test.java:1833:24:1833:31 | source(...) : Object | Test.java:1833:16:1833:31 | (...)... : Object | provenance | | +| Test.java:1834:10:1834:91 | of(...) : ImmutableListMultimap [] : Object | Test.java:1835:19:1835:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1834:71:1834:72 | in : Object | Test.java:1834:10:1834:91 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:66 | +| Test.java:1835:19:1835:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1835:19:1835:21 | out : ImmutableListMultimap [] : Object | Test.java:1835:9:1835:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:1840:16:1840:31 | (...)... : Object | Test.java:1841:71:1841:72 | in : Object | provenance | | +| Test.java:1840:24:1840:31 | source(...) : Object | Test.java:1840:16:1840:31 | (...)... : Object | provenance | | +| Test.java:1841:10:1841:79 | of(...) : ImmutableListMultimap [] : Object | Test.java:1842:19:1842:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1841:71:1841:72 | in : Object | Test.java:1841:10:1841:79 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:66 | +| Test.java:1842:19:1842:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1842:19:1842:21 | out : ImmutableListMultimap [] : Object | Test.java:1842:9:1842:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:1847:16:1847:31 | (...)... : Object | Test.java:1848:77:1848:78 | in : Object | provenance | | +| Test.java:1847:24:1847:31 | source(...) : Object | Test.java:1847:16:1847:31 | (...)... : Object | provenance | | +| Test.java:1848:10:1848:91 | of(...) : ImmutableListMultimap [] : Object | Test.java:1849:21:1849:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1848:77:1848:78 | in : Object | Test.java:1848:10:1848:91 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:67 | +| Test.java:1849:21:1849:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1849:21:1849:23 | out : ImmutableListMultimap [] : Object | Test.java:1849:9:1849:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:1854:16:1854:31 | (...)... : Object | Test.java:1855:77:1855:78 | in : Object | provenance | | +| Test.java:1854:24:1854:31 | source(...) : Object | Test.java:1854:16:1854:31 | (...)... : Object | provenance | | +| Test.java:1855:10:1855:79 | of(...) : ImmutableListMultimap [] : Object | Test.java:1856:21:1856:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1855:77:1855:78 | in : Object | Test.java:1855:10:1855:79 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:67 | +| Test.java:1856:21:1856:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1856:21:1856:23 | out : ImmutableListMultimap [] : Object | Test.java:1856:9:1856:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:1861:16:1861:31 | (...)... : Object | Test.java:1862:83:1862:84 | in : Object | provenance | | +| Test.java:1861:24:1861:31 | source(...) : Object | Test.java:1861:16:1861:31 | (...)... : Object | provenance | | +| Test.java:1862:10:1862:91 | of(...) : ImmutableListMultimap [] : Object | Test.java:1863:19:1863:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1862:83:1862:84 | in : Object | Test.java:1862:10:1862:91 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:68 | +| Test.java:1863:19:1863:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1863:19:1863:21 | out : ImmutableListMultimap [] : Object | Test.java:1863:9:1863:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:1868:16:1868:31 | (...)... : Object | Test.java:1869:89:1869:90 | in : Object | provenance | | +| Test.java:1868:24:1868:31 | source(...) : Object | Test.java:1868:16:1868:31 | (...)... : Object | provenance | | +| Test.java:1869:10:1869:91 | of(...) : ImmutableListMultimap [] : Object | Test.java:1870:21:1870:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1869:89:1869:90 | in : Object | Test.java:1869:10:1869:91 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:69 | +| Test.java:1870:21:1870:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:1870:21:1870:23 | out : ImmutableListMultimap [] : Object | Test.java:1870:9:1870:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:1875:36:1875:111 | (...)... : Builder [] : Object | Test.java:1876:10:1876:11 | in : Builder [] : Object | provenance | | +| Test.java:1875:64:1875:111 | put(...) : Builder [] : Object | Test.java:1875:36:1875:111 | (...)... : Builder [] : Object | provenance | | +| Test.java:1875:97:1875:104 | source(...) : Object | Test.java:1875:64:1875:111 | put(...) : Builder [] : Object | provenance | MaD:90+MaD:87 | +| Test.java:1876:10:1876:11 | in : Builder [] : Object | Test.java:1876:10:1876:19 | build(...) : ImmutableSortedMap [] : Object | provenance | MaD:84 | +| Test.java:1876:10:1876:19 | build(...) : ImmutableSortedMap [] : Object | Test.java:1877:19:1877:21 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:1877:19:1877:21 | out : ImmutableSortedMap [] : Object | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:1877:19:1877:21 | out : ImmutableSortedMap [] : Object | Test.java:1877:9:1877:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:1882:30:1882:93 | (...)... : Builder [] : Object | Test.java:1883:10:1883:11 | in : Builder [] : Object | provenance | | +| Test.java:1882:52:1882:93 | put(...) : Builder [] : Object | Test.java:1882:30:1882:93 | (...)... : Builder [] : Object | provenance | | +| Test.java:1882:79:1882:86 | source(...) : Object | Test.java:1882:52:1882:93 | put(...) : Builder [] : Object | provenance | MaD:90+MaD:87 | +| Test.java:1883:10:1883:11 | in : Builder [] : Object | Test.java:1883:10:1883:19 | build(...) : ImmutableMap [] : Object | provenance | MaD:84 | +| Test.java:1883:10:1883:19 | build(...) : ImmutableMap [] : Object | Test.java:1884:19:1884:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:1884:19:1884:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:1884:19:1884:21 | out : ImmutableMap [] : Object | Test.java:1884:9:1884:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:1889:32:1889:99 | (...)... : Builder [] : Object | Test.java:1890:10:1890:11 | in : Builder [] : Object | provenance | | +| Test.java:1889:56:1889:99 | put(...) : Builder [] : Object | Test.java:1889:32:1889:99 | (...)... : Builder [] : Object | provenance | | +| Test.java:1889:85:1889:92 | source(...) : Object | Test.java:1889:56:1889:99 | put(...) : Builder [] : Object | provenance | MaD:90+MaD:87 | +| Test.java:1890:10:1890:11 | in : Builder [] : Object | Test.java:1890:10:1890:19 | build(...) : ImmutableBiMap [] : Object | provenance | MaD:84 | +| Test.java:1890:10:1890:19 | build(...) : ImmutableBiMap [] : Object | Test.java:1891:19:1891:21 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:1891:19:1891:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:1891:19:1891:21 | out : ImmutableBiMap [] : Object | Test.java:1891:9:1891:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:1896:36:1896:111 | (...)... : Builder [] : Object | Test.java:1897:10:1897:11 | in : Builder [] : Object | provenance | | +| Test.java:1896:64:1896:111 | put(...) : Builder [] : Object | Test.java:1896:36:1896:111 | (...)... : Builder [] : Object | provenance | | +| Test.java:1896:103:1896:110 | source(...) : Object | Test.java:1896:64:1896:111 | put(...) : Builder [] : Object | provenance | MaD:91+MaD:87 | +| Test.java:1897:10:1897:11 | in : Builder [] : Object | Test.java:1897:10:1897:19 | build(...) : ImmutableSortedMap [] : Object | provenance | MaD:85 | +| Test.java:1897:10:1897:19 | build(...) : ImmutableSortedMap [] : Object | Test.java:1898:21:1898:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:1898:21:1898:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:1898:21:1898:23 | out : ImmutableSortedMap [] : Object | Test.java:1898:9:1898:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:1903:30:1903:93 | (...)... : Builder [] : Object | Test.java:1904:10:1904:11 | in : Builder [] : Object | provenance | | +| Test.java:1903:52:1903:93 | put(...) : Builder [] : Object | Test.java:1903:30:1903:93 | (...)... : Builder [] : Object | provenance | | +| Test.java:1903:85:1903:92 | source(...) : Object | Test.java:1903:52:1903:93 | put(...) : Builder [] : Object | provenance | MaD:91+MaD:87 | +| Test.java:1904:10:1904:11 | in : Builder [] : Object | Test.java:1904:10:1904:19 | build(...) : ImmutableMap [] : Object | provenance | MaD:85 | +| Test.java:1904:10:1904:19 | build(...) : ImmutableMap [] : Object | Test.java:1905:21:1905:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:1905:21:1905:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:1905:21:1905:23 | out : ImmutableMap [] : Object | Test.java:1905:9:1905:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:1910:32:1910:99 | (...)... : Builder [] : Object | Test.java:1911:10:1911:11 | in : Builder [] : Object | provenance | | +| Test.java:1910:56:1910:99 | put(...) : Builder [] : Object | Test.java:1910:32:1910:99 | (...)... : Builder [] : Object | provenance | | +| Test.java:1910:91:1910:98 | source(...) : Object | Test.java:1910:56:1910:99 | put(...) : Builder [] : Object | provenance | MaD:91+MaD:87 | +| Test.java:1911:10:1911:11 | in : Builder [] : Object | Test.java:1911:10:1911:19 | build(...) : ImmutableBiMap [] : Object | provenance | MaD:85 | +| Test.java:1911:10:1911:19 | build(...) : ImmutableBiMap [] : Object | Test.java:1912:21:1912:23 | out : ImmutableBiMap [] : Object | provenance | | +| Test.java:1912:21:1912:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | provenance | | +| Test.java:1912:21:1912:23 | out : ImmutableBiMap [] : Object | Test.java:1912:9:1912:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:1917:36:1917:71 | (...)... : Builder | Test.java:1918:10:1918:11 | in : Builder | provenance | | +| Test.java:1917:64:1917:71 | source(...) : Object | Test.java:1917:36:1917:71 | (...)... : Builder | provenance | | +| Test.java:1918:10:1918:11 | in : Builder | Test.java:1918:10:1918:37 | orderEntriesByValue(...) : Builder | provenance | MaD:86 | +| Test.java:1918:10:1918:37 | orderEntriesByValue(...) : Builder | Test.java:1919:9:1919:11 | out | provenance | | +| Test.java:1924:30:1924:59 | (...)... : Builder | Test.java:1925:10:1925:11 | in : Builder | provenance | | +| Test.java:1924:52:1924:59 | source(...) : Object | Test.java:1924:30:1924:59 | (...)... : Builder | provenance | | +| Test.java:1925:10:1925:11 | in : Builder | Test.java:1925:10:1925:37 | orderEntriesByValue(...) : Builder | provenance | MaD:86 | +| Test.java:1925:10:1925:37 | orderEntriesByValue(...) : Builder | Test.java:1926:9:1926:11 | out | provenance | | +| Test.java:1931:32:1931:63 | (...)... : Builder | Test.java:1932:10:1932:11 | in : Builder | provenance | | +| Test.java:1931:56:1931:63 | source(...) : Object | Test.java:1931:32:1931:63 | (...)... : Builder | provenance | | +| Test.java:1932:10:1932:11 | in : Builder | Test.java:1932:10:1932:37 | orderEntriesByValue(...) : Builder | provenance | MaD:86 | +| Test.java:1932:10:1932:37 | orderEntriesByValue(...) : Builder | Test.java:1933:9:1933:11 | out | provenance | | +| Test.java:1938:19:1938:57 | (...)... : Entry [] : Object | Test.java:1939:12:1939:13 | in : Entry [] : Object | provenance | | +| Test.java:1938:30:1938:57 | newEntryWithMapKey(...) : Entry [] : Object | Test.java:1938:19:1938:57 | (...)... : Entry [] : Object | provenance | | +| Test.java:1938:49:1938:56 | source(...) : Object | Test.java:101:40:101:44 | key : Object | provenance | | +| Test.java:1938:49:1938:56 | source(...) : Object | Test.java:1938:30:1938:57 | newEntryWithMapKey(...) : Entry [] : Object | provenance | MaD:563 | +| Test.java:1939:4:1939:6 | out [post update] : Builder [] : Object | Test.java:1940:19:1940:21 | out : Builder [] : Object | provenance | | +| Test.java:1939:12:1939:13 | in : Entry [] : Object | Test.java:1939:4:1939:6 | out [post update] : Builder [] : Object | provenance | MaD:88 | +| Test.java:1940:19:1940:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | provenance | | +| Test.java:1940:19:1940:21 | out : Builder [] : Object | Test.java:1940:9:1940:22 | getMapKey(...) | provenance | MaD:84 | +| Test.java:1945:19:1945:57 | (...)... : Entry [] : Object | Test.java:1946:12:1946:13 | in : Entry [] : Object | provenance | | +| Test.java:1945:30:1945:57 | newEntryWithMapKey(...) : Entry [] : Object | Test.java:1945:19:1945:57 | (...)... : Entry [] : Object | provenance | | +| Test.java:1945:49:1945:56 | source(...) : Object | Test.java:101:40:101:44 | key : Object | provenance | | +| Test.java:1945:49:1945:56 | source(...) : Object | Test.java:1945:30:1945:57 | newEntryWithMapKey(...) : Entry [] : Object | provenance | MaD:563 | +| Test.java:1946:4:1946:6 | out [post update] : Builder [] : Object | Test.java:1947:19:1947:21 | out : Builder [] : Object | provenance | | +| Test.java:1946:12:1946:13 | in : Entry [] : Object | Test.java:1946:4:1946:6 | out [post update] : Builder [] : Object | provenance | MaD:88 | +| Test.java:1947:19:1947:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | provenance | | +| Test.java:1947:19:1947:21 | out : Builder [] : Object | Test.java:1947:9:1947:22 | getMapKey(...) | provenance | MaD:84 | +| Test.java:1952:19:1952:57 | (...)... : Entry [] : Object | Test.java:1953:12:1953:13 | in : Entry [] : Object | provenance | | +| Test.java:1952:30:1952:57 | newEntryWithMapKey(...) : Entry [] : Object | Test.java:1952:19:1952:57 | (...)... : Entry [] : Object | provenance | | +| Test.java:1952:49:1952:56 | source(...) : Object | Test.java:101:40:101:44 | key : Object | provenance | | +| Test.java:1952:49:1952:56 | source(...) : Object | Test.java:1952:30:1952:57 | newEntryWithMapKey(...) : Entry [] : Object | provenance | MaD:563 | +| Test.java:1953:4:1953:6 | out [post update] : Builder [] : Object | Test.java:1954:19:1954:21 | out : Builder [] : Object | provenance | | +| Test.java:1953:12:1953:13 | in : Entry [] : Object | Test.java:1953:4:1953:6 | out [post update] : Builder [] : Object | provenance | MaD:88 | +| Test.java:1954:19:1954:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | provenance | | +| Test.java:1954:19:1954:21 | out : Builder [] : Object | Test.java:1954:9:1954:22 | getMapKey(...) | provenance | MaD:84 | +| Test.java:1959:19:1959:59 | (...)... : Entry [] : Object | Test.java:1960:12:1960:13 | in : Entry [] : Object | provenance | | +| Test.java:1959:30:1959:59 | newEntryWithMapValue(...) : Entry [] : Object | Test.java:1959:19:1959:59 | (...)... : Entry [] : Object | provenance | | +| Test.java:1959:51:1959:58 | source(...) : Object | Test.java:113:42:113:48 | value : Object | provenance | | +| Test.java:1959:51:1959:58 | source(...) : Object | Test.java:1959:30:1959:59 | newEntryWithMapValue(...) : Entry [] : Object | provenance | MaD:564 | +| Test.java:1960:4:1960:6 | out [post update] : Builder [] : Object | Test.java:1961:21:1961:23 | out : Builder [] : Object | provenance | | +| Test.java:1960:12:1960:13 | in : Entry [] : Object | Test.java:1960:4:1960:6 | out [post update] : Builder [] : Object | provenance | MaD:89 | +| Test.java:1961:21:1961:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | provenance | | +| Test.java:1961:21:1961:23 | out : Builder [] : Object | Test.java:1961:9:1961:24 | getMapValue(...) | provenance | MaD:85 | +| Test.java:1966:19:1966:59 | (...)... : Entry [] : Object | Test.java:1967:12:1967:13 | in : Entry [] : Object | provenance | | +| Test.java:1966:30:1966:59 | newEntryWithMapValue(...) : Entry [] : Object | Test.java:1966:19:1966:59 | (...)... : Entry [] : Object | provenance | | +| Test.java:1966:51:1966:58 | source(...) : Object | Test.java:113:42:113:48 | value : Object | provenance | | +| Test.java:1966:51:1966:58 | source(...) : Object | Test.java:1966:30:1966:59 | newEntryWithMapValue(...) : Entry [] : Object | provenance | MaD:564 | +| Test.java:1967:4:1967:6 | out [post update] : Builder [] : Object | Test.java:1968:21:1968:23 | out : Builder [] : Object | provenance | | +| Test.java:1967:12:1967:13 | in : Entry [] : Object | Test.java:1967:4:1967:6 | out [post update] : Builder [] : Object | provenance | MaD:89 | +| Test.java:1968:21:1968:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | provenance | | +| Test.java:1968:21:1968:23 | out : Builder [] : Object | Test.java:1968:9:1968:24 | getMapValue(...) | provenance | MaD:85 | +| Test.java:1973:19:1973:59 | (...)... : Entry [] : Object | Test.java:1974:12:1974:13 | in : Entry [] : Object | provenance | | +| Test.java:1973:30:1973:59 | newEntryWithMapValue(...) : Entry [] : Object | Test.java:1973:19:1973:59 | (...)... : Entry [] : Object | provenance | | +| Test.java:1973:51:1973:58 | source(...) : Object | Test.java:113:42:113:48 | value : Object | provenance | | +| Test.java:1973:51:1973:58 | source(...) : Object | Test.java:1973:30:1973:59 | newEntryWithMapValue(...) : Entry [] : Object | provenance | MaD:564 | +| Test.java:1974:4:1974:6 | out [post update] : Builder [] : Object | Test.java:1975:21:1975:23 | out : Builder [] : Object | provenance | | +| Test.java:1974:12:1974:13 | in : Entry [] : Object | Test.java:1974:4:1974:6 | out [post update] : Builder [] : Object | provenance | MaD:89 | +| Test.java:1975:21:1975:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | provenance | | +| Test.java:1975:21:1975:23 | out : Builder [] : Object | Test.java:1975:9:1975:24 | getMapValue(...) | provenance | MaD:85 | +| Test.java:1980:16:1980:31 | (...)... : Object | Test.java:1981:12:1981:13 | in : Object | provenance | | +| Test.java:1980:24:1980:31 | source(...) : Object | Test.java:1980:16:1980:31 | (...)... : Object | provenance | | +| Test.java:1981:4:1981:6 | out [post update] : Builder [] : Object | Test.java:1982:19:1982:21 | out : Builder [] : Object | provenance | | +| Test.java:1981:12:1981:13 | in : Object | Test.java:1981:4:1981:6 | out [post update] : Builder [] : Object | provenance | MaD:90 | +| Test.java:1982:19:1982:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | provenance | | +| Test.java:1982:19:1982:21 | out : Builder [] : Object | Test.java:1982:9:1982:22 | getMapKey(...) | provenance | MaD:84 | +| Test.java:1987:16:1987:31 | (...)... : Object | Test.java:1988:12:1988:13 | in : Object | provenance | | +| Test.java:1987:24:1987:31 | source(...) : Object | Test.java:1987:16:1987:31 | (...)... : Object | provenance | | +| Test.java:1988:4:1988:6 | out [post update] : Builder [] : Object | Test.java:1989:19:1989:21 | out : Builder [] : Object | provenance | | +| Test.java:1988:12:1988:13 | in : Object | Test.java:1988:4:1988:6 | out [post update] : Builder [] : Object | provenance | MaD:90 | +| Test.java:1989:19:1989:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | provenance | | +| Test.java:1989:19:1989:21 | out : Builder [] : Object | Test.java:1989:9:1989:22 | getMapKey(...) | provenance | MaD:84 | +| Test.java:1994:16:1994:31 | (...)... : Object | Test.java:1995:12:1995:13 | in : Object | provenance | | +| Test.java:1994:24:1994:31 | source(...) : Object | Test.java:1994:16:1994:31 | (...)... : Object | provenance | | +| Test.java:1995:4:1995:6 | out [post update] : Builder [] : Object | Test.java:1996:19:1996:21 | out : Builder [] : Object | provenance | | +| Test.java:1995:12:1995:13 | in : Object | Test.java:1995:4:1995:6 | out [post update] : Builder [] : Object | provenance | MaD:90 | +| Test.java:1996:19:1996:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | provenance | | +| Test.java:1996:19:1996:21 | out : Builder [] : Object | Test.java:1996:9:1996:22 | getMapKey(...) | provenance | MaD:84 | +| Test.java:2001:16:2001:31 | (...)... : Object | Test.java:2002:18:2002:19 | in : Object | provenance | | +| Test.java:2001:24:2001:31 | source(...) : Object | Test.java:2001:16:2001:31 | (...)... : Object | provenance | | +| Test.java:2002:4:2002:6 | out [post update] : Builder [] : Object | Test.java:2003:21:2003:23 | out : Builder [] : Object | provenance | | +| Test.java:2002:18:2002:19 | in : Object | Test.java:2002:4:2002:6 | out [post update] : Builder [] : Object | provenance | MaD:91 | +| Test.java:2003:21:2003:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | provenance | | +| Test.java:2003:21:2003:23 | out : Builder [] : Object | Test.java:2003:9:2003:24 | getMapValue(...) | provenance | MaD:85 | +| Test.java:2008:16:2008:31 | (...)... : Object | Test.java:2009:18:2009:19 | in : Object | provenance | | +| Test.java:2008:24:2008:31 | source(...) : Object | Test.java:2008:16:2008:31 | (...)... : Object | provenance | | +| Test.java:2009:4:2009:6 | out [post update] : Builder [] : Object | Test.java:2010:21:2010:23 | out : Builder [] : Object | provenance | | +| Test.java:2009:18:2009:19 | in : Object | Test.java:2009:4:2009:6 | out [post update] : Builder [] : Object | provenance | MaD:91 | +| Test.java:2010:21:2010:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | provenance | | +| Test.java:2010:21:2010:23 | out : Builder [] : Object | Test.java:2010:9:2010:24 | getMapValue(...) | provenance | MaD:85 | +| Test.java:2015:16:2015:31 | (...)... : Object | Test.java:2016:18:2016:19 | in : Object | provenance | | +| Test.java:2015:24:2015:31 | source(...) : Object | Test.java:2015:16:2015:31 | (...)... : Object | provenance | | +| Test.java:2016:4:2016:6 | out [post update] : Builder [] : Object | Test.java:2017:21:2017:23 | out : Builder [] : Object | provenance | | +| Test.java:2016:18:2016:19 | in : Object | Test.java:2016:4:2016:6 | out [post update] : Builder [] : Object | provenance | MaD:91 | +| Test.java:2017:21:2017:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | provenance | | +| Test.java:2017:21:2017:23 | out : Builder [] : Object | Test.java:2017:9:2017:24 | getMapValue(...) | provenance | MaD:85 | +| Test.java:2022:36:2022:71 | (...)... : Builder | Test.java:2023:10:2023:11 | in : Builder | provenance | | +| Test.java:2022:64:2022:71 | source(...) : Object | Test.java:2022:36:2022:71 | (...)... : Builder | provenance | | +| Test.java:2023:10:2023:11 | in : Builder | Test.java:2023:10:2023:27 | put(...) : Builder | provenance | MaD:87 | +| Test.java:2023:10:2023:27 | put(...) : Builder | Test.java:2024:9:2024:11 | out | provenance | | +| Test.java:2029:36:2029:71 | (...)... : Builder | Test.java:2030:10:2030:11 | in : Builder | provenance | | +| Test.java:2029:64:2029:71 | source(...) : Object | Test.java:2029:36:2029:71 | (...)... : Builder | provenance | | +| Test.java:2030:10:2030:11 | in : Builder | Test.java:2030:10:2030:21 | put(...) : Builder | provenance | MaD:87 | +| Test.java:2030:10:2030:21 | put(...) : Builder | Test.java:2031:9:2031:11 | out | provenance | | +| Test.java:2036:30:2036:59 | (...)... : Builder | Test.java:2037:10:2037:11 | in : Builder | provenance | | +| Test.java:2036:52:2036:59 | source(...) : Object | Test.java:2036:30:2036:59 | (...)... : Builder | provenance | | +| Test.java:2037:10:2037:11 | in : Builder | Test.java:2037:10:2037:27 | put(...) : Builder | provenance | MaD:87 | +| Test.java:2037:10:2037:27 | put(...) : Builder | Test.java:2038:9:2038:11 | out | provenance | | +| Test.java:2043:30:2043:59 | (...)... : Builder | Test.java:2044:10:2044:11 | in : Builder | provenance | | +| Test.java:2043:52:2043:59 | source(...) : Object | Test.java:2043:30:2043:59 | (...)... : Builder | provenance | | +| Test.java:2044:10:2044:11 | in : Builder | Test.java:2044:10:2044:21 | put(...) : Builder | provenance | MaD:87 | +| Test.java:2044:10:2044:21 | put(...) : Builder | Test.java:2045:9:2045:11 | out | provenance | | +| Test.java:2050:32:2050:63 | (...)... : Builder | Test.java:2051:10:2051:11 | in : Builder | provenance | | +| Test.java:2050:56:2050:63 | source(...) : Object | Test.java:2050:32:2050:63 | (...)... : Builder | provenance | | +| Test.java:2051:10:2051:11 | in : Builder | Test.java:2051:10:2051:27 | put(...) : Builder | provenance | MaD:87 | +| Test.java:2051:10:2051:27 | put(...) : Builder | Test.java:2052:9:2052:11 | out | provenance | | +| Test.java:2057:32:2057:63 | (...)... : Builder | Test.java:2058:10:2058:11 | in : Builder | provenance | | +| Test.java:2057:56:2057:63 | source(...) : Object | Test.java:2057:32:2057:63 | (...)... : Builder | provenance | | +| Test.java:2058:10:2058:11 | in : Builder | Test.java:2058:10:2058:21 | put(...) : Builder | provenance | MaD:87 | +| Test.java:2058:10:2058:21 | put(...) : Builder | Test.java:2059:9:2059:11 | out | provenance | | +| Test.java:2064:18:2064:64 | (...)... : List [, ] : Object | Test.java:2065:15:2065:16 | in : List [, ] : Object | provenance | | +| Test.java:2064:28:2064:64 | of(...) : List [, ] : Object | Test.java:2064:18:2064:64 | (...)... : List [, ] : Object | provenance | | +| Test.java:2064:36:2064:63 | newEntryWithMapKey(...) : Entry [] : Object | Test.java:2064:28:2064:64 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:2064:55:2064:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | provenance | | +| Test.java:2064:55:2064:62 | source(...) : Object | Test.java:2064:36:2064:63 | newEntryWithMapKey(...) : Entry [] : Object | provenance | MaD:563 | +| Test.java:2065:4:2065:6 | out [post update] : Builder [] : Object | Test.java:2066:19:2066:21 | out : Builder [] : Object | provenance | | +| Test.java:2065:15:2065:16 | in : List [, ] : Object | Test.java:2065:4:2065:6 | out [post update] : Builder [] : Object | provenance | MaD:93 | +| Test.java:2066:19:2066:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | provenance | | +| Test.java:2066:19:2066:21 | out : Builder [] : Object | Test.java:2066:9:2066:22 | getMapKey(...) | provenance | MaD:84 | +| Test.java:2071:18:2071:64 | (...)... : List [, ] : Object | Test.java:2072:15:2072:16 | in : List [, ] : Object | provenance | | +| Test.java:2071:28:2071:64 | of(...) : List [, ] : Object | Test.java:2071:18:2071:64 | (...)... : List [, ] : Object | provenance | | +| Test.java:2071:36:2071:63 | newEntryWithMapKey(...) : Entry [] : Object | Test.java:2071:28:2071:64 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:2071:55:2071:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | provenance | | +| Test.java:2071:55:2071:62 | source(...) : Object | Test.java:2071:36:2071:63 | newEntryWithMapKey(...) : Entry [] : Object | provenance | MaD:563 | +| Test.java:2072:4:2072:6 | out [post update] : Builder [] : Object | Test.java:2073:19:2073:21 | out : Builder [] : Object | provenance | | +| Test.java:2072:15:2072:16 | in : List [, ] : Object | Test.java:2072:4:2072:6 | out [post update] : Builder [] : Object | provenance | MaD:93 | +| Test.java:2073:19:2073:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | provenance | | +| Test.java:2073:19:2073:21 | out : Builder [] : Object | Test.java:2073:9:2073:22 | getMapKey(...) | provenance | MaD:84 | +| Test.java:2078:18:2078:64 | (...)... : List [, ] : Object | Test.java:2079:15:2079:16 | in : List [, ] : Object | provenance | | +| Test.java:2078:28:2078:64 | of(...) : List [, ] : Object | Test.java:2078:18:2078:64 | (...)... : List [, ] : Object | provenance | | +| Test.java:2078:36:2078:63 | newEntryWithMapKey(...) : Entry [] : Object | Test.java:2078:28:2078:64 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:2078:55:2078:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | provenance | | +| Test.java:2078:55:2078:62 | source(...) : Object | Test.java:2078:36:2078:63 | newEntryWithMapKey(...) : Entry [] : Object | provenance | MaD:563 | +| Test.java:2079:4:2079:6 | out [post update] : Builder [] : Object | Test.java:2080:19:2080:21 | out : Builder [] : Object | provenance | | +| Test.java:2079:15:2079:16 | in : List [, ] : Object | Test.java:2079:4:2079:6 | out [post update] : Builder [] : Object | provenance | MaD:93 | +| Test.java:2080:19:2080:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | provenance | | +| Test.java:2080:19:2080:21 | out : Builder [] : Object | Test.java:2080:9:2080:22 | getMapKey(...) | provenance | MaD:84 | +| Test.java:2085:18:2085:66 | (...)... : List [, ] : Object | Test.java:2086:15:2086:16 | in : List [, ] : Object | provenance | | +| Test.java:2085:28:2085:66 | of(...) : List [, ] : Object | Test.java:2085:18:2085:66 | (...)... : List [, ] : Object | provenance | | +| Test.java:2085:36:2085:65 | newEntryWithMapValue(...) : Entry [] : Object | Test.java:2085:28:2085:66 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:2085:57:2085:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | provenance | | +| Test.java:2085:57:2085:64 | source(...) : Object | Test.java:2085:36:2085:65 | newEntryWithMapValue(...) : Entry [] : Object | provenance | MaD:564 | +| Test.java:2086:4:2086:6 | out [post update] : Builder [] : Object | Test.java:2087:21:2087:23 | out : Builder [] : Object | provenance | | +| Test.java:2086:15:2086:16 | in : List [, ] : Object | Test.java:2086:4:2086:6 | out [post update] : Builder [] : Object | provenance | MaD:94 | +| Test.java:2087:21:2087:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | provenance | | +| Test.java:2087:21:2087:23 | out : Builder [] : Object | Test.java:2087:9:2087:24 | getMapValue(...) | provenance | MaD:85 | +| Test.java:2092:18:2092:66 | (...)... : List [, ] : Object | Test.java:2093:15:2093:16 | in : List [, ] : Object | provenance | | +| Test.java:2092:28:2092:66 | of(...) : List [, ] : Object | Test.java:2092:18:2092:66 | (...)... : List [, ] : Object | provenance | | +| Test.java:2092:36:2092:65 | newEntryWithMapValue(...) : Entry [] : Object | Test.java:2092:28:2092:66 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:2092:57:2092:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | provenance | | +| Test.java:2092:57:2092:64 | source(...) : Object | Test.java:2092:36:2092:65 | newEntryWithMapValue(...) : Entry [] : Object | provenance | MaD:564 | +| Test.java:2093:4:2093:6 | out [post update] : Builder [] : Object | Test.java:2094:21:2094:23 | out : Builder [] : Object | provenance | | +| Test.java:2093:15:2093:16 | in : List [, ] : Object | Test.java:2093:4:2093:6 | out [post update] : Builder [] : Object | provenance | MaD:94 | +| Test.java:2094:21:2094:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | provenance | | +| Test.java:2094:21:2094:23 | out : Builder [] : Object | Test.java:2094:9:2094:24 | getMapValue(...) | provenance | MaD:85 | +| Test.java:2099:18:2099:66 | (...)... : List [, ] : Object | Test.java:2100:15:2100:16 | in : List [, ] : Object | provenance | | +| Test.java:2099:28:2099:66 | of(...) : List [, ] : Object | Test.java:2099:18:2099:66 | (...)... : List [, ] : Object | provenance | | +| Test.java:2099:36:2099:65 | newEntryWithMapValue(...) : Entry [] : Object | Test.java:2099:28:2099:66 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:2099:57:2099:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | provenance | | +| Test.java:2099:57:2099:64 | source(...) : Object | Test.java:2099:36:2099:65 | newEntryWithMapValue(...) : Entry [] : Object | provenance | MaD:564 | +| Test.java:2100:4:2100:6 | out [post update] : Builder [] : Object | Test.java:2101:21:2101:23 | out : Builder [] : Object | provenance | | +| Test.java:2100:15:2100:16 | in : List [, ] : Object | Test.java:2100:4:2100:6 | out [post update] : Builder [] : Object | provenance | MaD:94 | +| Test.java:2101:21:2101:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | provenance | | +| Test.java:2101:21:2101:23 | out : Builder [] : Object | Test.java:2101:9:2101:24 | getMapValue(...) | provenance | MaD:85 | +| Test.java:2106:13:2106:39 | (...)... : Map [] : Object | Test.java:2107:15:2107:16 | in : Map [] : Object | provenance | | +| Test.java:2106:18:2106:39 | of(...) : Map [] : Object | Test.java:2106:13:2106:39 | (...)... : Map [] : Object | provenance | | +| Test.java:2106:25:2106:32 | source(...) : Object | Test.java:2106:18:2106:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:2107:4:2107:6 | out [post update] : Builder [] : Object | Test.java:2108:19:2108:21 | out : Builder [] : Object | provenance | | +| Test.java:2107:15:2107:16 | in : Map [] : Object | Test.java:2107:4:2107:6 | out [post update] : Builder [] : Object | provenance | MaD:95 | +| Test.java:2108:19:2108:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | provenance | | +| Test.java:2108:19:2108:21 | out : Builder [] : Object | Test.java:2108:9:2108:22 | getMapKey(...) | provenance | MaD:84 | +| Test.java:2113:13:2113:39 | (...)... : Map [] : Object | Test.java:2114:15:2114:16 | in : Map [] : Object | provenance | | +| Test.java:2113:18:2113:39 | of(...) : Map [] : Object | Test.java:2113:13:2113:39 | (...)... : Map [] : Object | provenance | | +| Test.java:2113:25:2113:32 | source(...) : Object | Test.java:2113:18:2113:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:2114:4:2114:6 | out [post update] : Builder [] : Object | Test.java:2115:19:2115:21 | out : Builder [] : Object | provenance | | +| Test.java:2114:15:2114:16 | in : Map [] : Object | Test.java:2114:4:2114:6 | out [post update] : Builder [] : Object | provenance | MaD:95 | +| Test.java:2115:19:2115:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | provenance | | +| Test.java:2115:19:2115:21 | out : Builder [] : Object | Test.java:2115:9:2115:22 | getMapKey(...) | provenance | MaD:84 | +| Test.java:2120:13:2120:39 | (...)... : Map [] : Object | Test.java:2121:15:2121:16 | in : Map [] : Object | provenance | | +| Test.java:2120:18:2120:39 | of(...) : Map [] : Object | Test.java:2120:13:2120:39 | (...)... : Map [] : Object | provenance | | +| Test.java:2120:25:2120:32 | source(...) : Object | Test.java:2120:18:2120:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:2121:4:2121:6 | out [post update] : Builder [] : Object | Test.java:2122:19:2122:21 | out : Builder [] : Object | provenance | | +| Test.java:2121:15:2121:16 | in : Map [] : Object | Test.java:2121:4:2121:6 | out [post update] : Builder [] : Object | provenance | MaD:95 | +| Test.java:2122:19:2122:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | provenance | | +| Test.java:2122:19:2122:21 | out : Builder [] : Object | Test.java:2122:9:2122:22 | getMapKey(...) | provenance | MaD:84 | +| Test.java:2127:13:2127:39 | (...)... : Map [] : Object | Test.java:2128:15:2128:16 | in : Map [] : Object | provenance | | +| Test.java:2127:18:2127:39 | of(...) : Map [] : Object | Test.java:2127:13:2127:39 | (...)... : Map [] : Object | provenance | | +| Test.java:2127:31:2127:38 | source(...) : Object | Test.java:2127:18:2127:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:2128:4:2128:6 | out [post update] : Builder [] : Object | Test.java:2129:21:2129:23 | out : Builder [] : Object | provenance | | +| Test.java:2128:15:2128:16 | in : Map [] : Object | Test.java:2128:4:2128:6 | out [post update] : Builder [] : Object | provenance | MaD:96 | +| Test.java:2129:21:2129:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | provenance | | +| Test.java:2129:21:2129:23 | out : Builder [] : Object | Test.java:2129:9:2129:24 | getMapValue(...) | provenance | MaD:85 | +| Test.java:2134:13:2134:39 | (...)... : Map [] : Object | Test.java:2135:15:2135:16 | in : Map [] : Object | provenance | | +| Test.java:2134:18:2134:39 | of(...) : Map [] : Object | Test.java:2134:13:2134:39 | (...)... : Map [] : Object | provenance | | +| Test.java:2134:31:2134:38 | source(...) : Object | Test.java:2134:18:2134:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:2135:4:2135:6 | out [post update] : Builder [] : Object | Test.java:2136:21:2136:23 | out : Builder [] : Object | provenance | | +| Test.java:2135:15:2135:16 | in : Map [] : Object | Test.java:2135:4:2135:6 | out [post update] : Builder [] : Object | provenance | MaD:96 | +| Test.java:2136:21:2136:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | provenance | | +| Test.java:2136:21:2136:23 | out : Builder [] : Object | Test.java:2136:9:2136:24 | getMapValue(...) | provenance | MaD:85 | +| Test.java:2141:13:2141:39 | (...)... : Map [] : Object | Test.java:2142:15:2142:16 | in : Map [] : Object | provenance | | +| Test.java:2141:18:2141:39 | of(...) : Map [] : Object | Test.java:2141:13:2141:39 | (...)... : Map [] : Object | provenance | | +| Test.java:2141:31:2141:38 | source(...) : Object | Test.java:2141:18:2141:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:2142:4:2142:6 | out [post update] : Builder [] : Object | Test.java:2143:21:2143:23 | out : Builder [] : Object | provenance | | +| Test.java:2142:15:2142:16 | in : Map [] : Object | Test.java:2142:4:2142:6 | out [post update] : Builder [] : Object | provenance | MaD:96 | +| Test.java:2143:21:2143:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | provenance | | +| Test.java:2143:21:2143:23 | out : Builder [] : Object | Test.java:2143:9:2143:24 | getMapValue(...) | provenance | MaD:85 | +| Test.java:2148:36:2148:71 | (...)... : Builder | Test.java:2149:10:2149:11 | in : Builder | provenance | | +| Test.java:2148:64:2148:71 | source(...) : Object | Test.java:2148:36:2148:71 | (...)... : Builder | provenance | | +| Test.java:2149:10:2149:11 | in : Builder | Test.java:2149:10:2149:29 | putAll(...) : Builder | provenance | MaD:92 | +| Test.java:2149:10:2149:29 | putAll(...) : Builder | Test.java:2150:9:2150:11 | out | provenance | | +| Test.java:2155:36:2155:71 | (...)... : Builder | Test.java:2156:10:2156:11 | in : Builder | provenance | | +| Test.java:2155:64:2155:71 | source(...) : Object | Test.java:2155:36:2155:71 | (...)... : Builder | provenance | | +| Test.java:2156:10:2156:11 | in : Builder | Test.java:2156:10:2156:34 | putAll(...) : Builder | provenance | MaD:92 | +| Test.java:2156:10:2156:34 | putAll(...) : Builder | Test.java:2157:9:2157:11 | out | provenance | | +| Test.java:2162:30:2162:59 | (...)... : Builder | Test.java:2163:10:2163:11 | in : Builder | provenance | | +| Test.java:2162:52:2162:59 | source(...) : Object | Test.java:2162:30:2162:59 | (...)... : Builder | provenance | | +| Test.java:2163:10:2163:11 | in : Builder | Test.java:2163:10:2163:29 | putAll(...) : Builder | provenance | MaD:92 | +| Test.java:2163:10:2163:29 | putAll(...) : Builder | Test.java:2164:9:2164:11 | out | provenance | | +| Test.java:2169:30:2169:59 | (...)... : Builder | Test.java:2170:10:2170:11 | in : Builder | provenance | | +| Test.java:2169:52:2169:59 | source(...) : Object | Test.java:2169:30:2169:59 | (...)... : Builder | provenance | | +| Test.java:2170:10:2170:11 | in : Builder | Test.java:2170:10:2170:34 | putAll(...) : Builder | provenance | MaD:92 | +| Test.java:2170:10:2170:34 | putAll(...) : Builder | Test.java:2171:9:2171:11 | out | provenance | | +| Test.java:2176:32:2176:63 | (...)... : Builder | Test.java:2177:10:2177:11 | in : Builder | provenance | | +| Test.java:2176:56:2176:63 | source(...) : Object | Test.java:2176:32:2176:63 | (...)... : Builder | provenance | | +| Test.java:2177:10:2177:11 | in : Builder | Test.java:2177:10:2177:29 | putAll(...) : Builder | provenance | MaD:92 | +| Test.java:2177:10:2177:29 | putAll(...) : Builder | Test.java:2178:9:2178:11 | out | provenance | | +| Test.java:2183:32:2183:63 | (...)... : Builder | Test.java:2184:10:2184:11 | in : Builder | provenance | | +| Test.java:2183:56:2183:63 | source(...) : Object | Test.java:2183:32:2183:63 | (...)... : Builder | provenance | | +| Test.java:2184:10:2184:11 | in : Builder | Test.java:2184:10:2184:34 | putAll(...) : Builder | provenance | MaD:92 | +| Test.java:2184:10:2184:34 | putAll(...) : Builder | Test.java:2185:9:2185:11 | out | provenance | | +| Test.java:2190:18:2190:64 | (...)... : List [, ] : Object | Test.java:2191:30:2191:31 | in : List [, ] : Object | provenance | | +| Test.java:2190:28:2190:64 | of(...) : List [, ] : Object | Test.java:2190:18:2190:64 | (...)... : List [, ] : Object | provenance | | +| Test.java:2190:36:2190:63 | newEntryWithMapKey(...) : Entry [] : Object | Test.java:2190:28:2190:64 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:2190:55:2190:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | provenance | | +| Test.java:2190:55:2190:62 | source(...) : Object | Test.java:2190:36:2190:63 | newEntryWithMapKey(...) : Entry [] : Object | provenance | MaD:563 | +| Test.java:2191:10:2191:32 | copyOf(...) : ImmutableMap [] : Object | Test.java:2192:19:2192:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2191:30:2191:31 | in : List [, ] : Object | Test.java:2191:10:2191:32 | copyOf(...) : ImmutableMap [] : Object | provenance | MaD:70 | +| Test.java:2192:19:2192:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2192:19:2192:21 | out : ImmutableMap [] : Object | Test.java:2192:9:2192:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:2197:18:2197:66 | (...)... : List [, ] : Object | Test.java:2198:30:2198:31 | in : List [, ] : Object | provenance | | +| Test.java:2197:28:2197:66 | of(...) : List [, ] : Object | Test.java:2197:18:2197:66 | (...)... : List [, ] : Object | provenance | | +| Test.java:2197:36:2197:65 | newEntryWithMapValue(...) : Entry [] : Object | Test.java:2197:28:2197:66 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:2197:57:2197:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | provenance | | +| Test.java:2197:57:2197:64 | source(...) : Object | Test.java:2197:36:2197:65 | newEntryWithMapValue(...) : Entry [] : Object | provenance | MaD:564 | +| Test.java:2198:10:2198:32 | copyOf(...) : ImmutableMap [] : Object | Test.java:2199:21:2199:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2198:30:2198:31 | in : List [, ] : Object | Test.java:2198:10:2198:32 | copyOf(...) : ImmutableMap [] : Object | provenance | MaD:71 | +| Test.java:2199:21:2199:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2199:21:2199:23 | out : ImmutableMap [] : Object | Test.java:2199:9:2199:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:2204:13:2204:39 | (...)... : Map [] : Object | Test.java:2205:30:2205:31 | in : Map [] : Object | provenance | | +| Test.java:2204:18:2204:39 | of(...) : Map [] : Object | Test.java:2204:13:2204:39 | (...)... : Map [] : Object | provenance | | +| Test.java:2204:25:2204:32 | source(...) : Object | Test.java:2204:18:2204:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:2205:10:2205:32 | copyOf(...) : ImmutableMap [] : Object | Test.java:2206:19:2206:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2205:30:2205:31 | in : Map [] : Object | Test.java:2205:10:2205:32 | copyOf(...) : ImmutableMap [] : Object | provenance | MaD:72 | +| Test.java:2206:19:2206:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2206:19:2206:21 | out : ImmutableMap [] : Object | Test.java:2206:9:2206:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:2211:13:2211:39 | (...)... : Map [] : Object | Test.java:2212:30:2212:31 | in : Map [] : Object | provenance | | +| Test.java:2211:18:2211:39 | of(...) : Map [] : Object | Test.java:2211:13:2211:39 | (...)... : Map [] : Object | provenance | | +| Test.java:2211:31:2211:38 | source(...) : Object | Test.java:2211:18:2211:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:2212:10:2212:32 | copyOf(...) : ImmutableMap [] : Object | Test.java:2213:21:2213:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2212:30:2212:31 | in : Map [] : Object | Test.java:2212:10:2212:32 | copyOf(...) : ImmutableMap [] : Object | provenance | MaD:73 | +| Test.java:2213:21:2213:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2213:21:2213:23 | out : ImmutableMap [] : Object | Test.java:2213:9:2213:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:2218:16:2218:31 | (...)... : Object | Test.java:2219:26:2219:27 | in : Object | provenance | | +| Test.java:2218:24:2218:31 | source(...) : Object | Test.java:2218:16:2218:31 | (...)... : Object | provenance | | +| Test.java:2219:10:2219:82 | of(...) : ImmutableMap [] : Object | Test.java:2220:19:2220:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2219:26:2219:27 | in : Object | Test.java:2219:10:2219:82 | of(...) : ImmutableMap [] : Object | provenance | MaD:74 | +| Test.java:2220:19:2220:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2220:19:2220:21 | out : ImmutableMap [] : Object | Test.java:2220:9:2220:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:2225:16:2225:31 | (...)... : Object | Test.java:2226:26:2226:27 | in : Object | provenance | | +| Test.java:2225:24:2225:31 | source(...) : Object | Test.java:2225:16:2225:31 | (...)... : Object | provenance | | +| Test.java:2226:10:2226:70 | of(...) : ImmutableMap [] : Object | Test.java:2227:19:2227:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2226:26:2226:27 | in : Object | Test.java:2226:10:2226:70 | of(...) : ImmutableMap [] : Object | provenance | MaD:74 | +| Test.java:2227:19:2227:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2227:19:2227:21 | out : ImmutableMap [] : Object | Test.java:2227:9:2227:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:2232:16:2232:31 | (...)... : Object | Test.java:2233:26:2233:27 | in : Object | provenance | | +| Test.java:2232:24:2232:31 | source(...) : Object | Test.java:2232:16:2232:31 | (...)... : Object | provenance | | +| Test.java:2233:10:2233:58 | of(...) : ImmutableMap [] : Object | Test.java:2234:19:2234:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2233:26:2233:27 | in : Object | Test.java:2233:10:2233:58 | of(...) : ImmutableMap [] : Object | provenance | MaD:74 | +| Test.java:2234:19:2234:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2234:19:2234:21 | out : ImmutableMap [] : Object | Test.java:2234:9:2234:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:2239:16:2239:31 | (...)... : Object | Test.java:2240:26:2240:27 | in : Object | provenance | | +| Test.java:2239:24:2239:31 | source(...) : Object | Test.java:2239:16:2239:31 | (...)... : Object | provenance | | +| Test.java:2240:10:2240:46 | of(...) : ImmutableMap [] : Object | Test.java:2241:19:2241:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2240:26:2240:27 | in : Object | Test.java:2240:10:2240:46 | of(...) : ImmutableMap [] : Object | provenance | MaD:74 | +| Test.java:2241:19:2241:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2241:19:2241:21 | out : ImmutableMap [] : Object | Test.java:2241:9:2241:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:2246:16:2246:31 | (...)... : Object | Test.java:2247:26:2247:27 | in : Object | provenance | | +| Test.java:2246:24:2246:31 | source(...) : Object | Test.java:2246:16:2246:31 | (...)... : Object | provenance | | +| Test.java:2247:10:2247:34 | of(...) : ImmutableMap [] : Object | Test.java:2248:19:2248:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2247:26:2247:27 | in : Object | Test.java:2247:10:2247:34 | of(...) : ImmutableMap [] : Object | provenance | MaD:74 | +| Test.java:2248:19:2248:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2248:19:2248:21 | out : ImmutableMap [] : Object | Test.java:2248:9:2248:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:2253:16:2253:31 | (...)... : Object | Test.java:2254:32:2254:33 | in : Object | provenance | | +| Test.java:2253:24:2253:31 | source(...) : Object | Test.java:2253:16:2253:31 | (...)... : Object | provenance | | +| Test.java:2254:10:2254:82 | of(...) : ImmutableMap [] : Object | Test.java:2255:21:2255:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2254:32:2254:33 | in : Object | Test.java:2254:10:2254:82 | of(...) : ImmutableMap [] : Object | provenance | MaD:75 | +| Test.java:2255:21:2255:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2255:21:2255:23 | out : ImmutableMap [] : Object | Test.java:2255:9:2255:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:2260:16:2260:31 | (...)... : Object | Test.java:2261:32:2261:33 | in : Object | provenance | | +| Test.java:2260:24:2260:31 | source(...) : Object | Test.java:2260:16:2260:31 | (...)... : Object | provenance | | +| Test.java:2261:10:2261:70 | of(...) : ImmutableMap [] : Object | Test.java:2262:21:2262:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2261:32:2261:33 | in : Object | Test.java:2261:10:2261:70 | of(...) : ImmutableMap [] : Object | provenance | MaD:75 | +| Test.java:2262:21:2262:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2262:21:2262:23 | out : ImmutableMap [] : Object | Test.java:2262:9:2262:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:2267:16:2267:31 | (...)... : Object | Test.java:2268:32:2268:33 | in : Object | provenance | | +| Test.java:2267:24:2267:31 | source(...) : Object | Test.java:2267:16:2267:31 | (...)... : Object | provenance | | +| Test.java:2268:10:2268:58 | of(...) : ImmutableMap [] : Object | Test.java:2269:21:2269:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2268:32:2268:33 | in : Object | Test.java:2268:10:2268:58 | of(...) : ImmutableMap [] : Object | provenance | MaD:75 | +| Test.java:2269:21:2269:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2269:21:2269:23 | out : ImmutableMap [] : Object | Test.java:2269:9:2269:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:2274:16:2274:31 | (...)... : Object | Test.java:2275:32:2275:33 | in : Object | provenance | | +| Test.java:2274:24:2274:31 | source(...) : Object | Test.java:2274:16:2274:31 | (...)... : Object | provenance | | +| Test.java:2275:10:2275:46 | of(...) : ImmutableMap [] : Object | Test.java:2276:21:2276:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2275:32:2275:33 | in : Object | Test.java:2275:10:2275:46 | of(...) : ImmutableMap [] : Object | provenance | MaD:75 | +| Test.java:2276:21:2276:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2276:21:2276:23 | out : ImmutableMap [] : Object | Test.java:2276:9:2276:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:2281:16:2281:31 | (...)... : Object | Test.java:2282:32:2282:33 | in : Object | provenance | | +| Test.java:2281:24:2281:31 | source(...) : Object | Test.java:2281:16:2281:31 | (...)... : Object | provenance | | +| Test.java:2282:10:2282:34 | of(...) : ImmutableMap [] : Object | Test.java:2283:21:2283:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2282:32:2282:33 | in : Object | Test.java:2282:10:2282:34 | of(...) : ImmutableMap [] : Object | provenance | MaD:75 | +| Test.java:2283:21:2283:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2283:21:2283:23 | out : ImmutableMap [] : Object | Test.java:2283:9:2283:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:2288:16:2288:31 | (...)... : Object | Test.java:2289:38:2289:39 | in : Object | provenance | | +| Test.java:2288:24:2288:31 | source(...) : Object | Test.java:2288:16:2288:31 | (...)... : Object | provenance | | +| Test.java:2289:10:2289:82 | of(...) : ImmutableMap [] : Object | Test.java:2290:19:2290:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2289:38:2289:39 | in : Object | Test.java:2289:10:2289:82 | of(...) : ImmutableMap [] : Object | provenance | MaD:76 | +| Test.java:2290:19:2290:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2290:19:2290:21 | out : ImmutableMap [] : Object | Test.java:2290:9:2290:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:2295:16:2295:31 | (...)... : Object | Test.java:2296:38:2296:39 | in : Object | provenance | | +| Test.java:2295:24:2295:31 | source(...) : Object | Test.java:2295:16:2295:31 | (...)... : Object | provenance | | +| Test.java:2296:10:2296:70 | of(...) : ImmutableMap [] : Object | Test.java:2297:19:2297:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2296:38:2296:39 | in : Object | Test.java:2296:10:2296:70 | of(...) : ImmutableMap [] : Object | provenance | MaD:76 | +| Test.java:2297:19:2297:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2297:19:2297:21 | out : ImmutableMap [] : Object | Test.java:2297:9:2297:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:2302:16:2302:31 | (...)... : Object | Test.java:2303:38:2303:39 | in : Object | provenance | | +| Test.java:2302:24:2302:31 | source(...) : Object | Test.java:2302:16:2302:31 | (...)... : Object | provenance | | +| Test.java:2303:10:2303:58 | of(...) : ImmutableMap [] : Object | Test.java:2304:19:2304:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2303:38:2303:39 | in : Object | Test.java:2303:10:2303:58 | of(...) : ImmutableMap [] : Object | provenance | MaD:76 | +| Test.java:2304:19:2304:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2304:19:2304:21 | out : ImmutableMap [] : Object | Test.java:2304:9:2304:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:2309:16:2309:31 | (...)... : Object | Test.java:2310:38:2310:39 | in : Object | provenance | | +| Test.java:2309:24:2309:31 | source(...) : Object | Test.java:2309:16:2309:31 | (...)... : Object | provenance | | +| Test.java:2310:10:2310:46 | of(...) : ImmutableMap [] : Object | Test.java:2311:19:2311:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2310:38:2310:39 | in : Object | Test.java:2310:10:2310:46 | of(...) : ImmutableMap [] : Object | provenance | MaD:76 | +| Test.java:2311:19:2311:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2311:19:2311:21 | out : ImmutableMap [] : Object | Test.java:2311:9:2311:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:2316:16:2316:31 | (...)... : Object | Test.java:2317:44:2317:45 | in : Object | provenance | | +| Test.java:2316:24:2316:31 | source(...) : Object | Test.java:2316:16:2316:31 | (...)... : Object | provenance | | +| Test.java:2317:10:2317:82 | of(...) : ImmutableMap [] : Object | Test.java:2318:21:2318:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2317:44:2317:45 | in : Object | Test.java:2317:10:2317:82 | of(...) : ImmutableMap [] : Object | provenance | MaD:77 | +| Test.java:2318:21:2318:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2318:21:2318:23 | out : ImmutableMap [] : Object | Test.java:2318:9:2318:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:2323:16:2323:31 | (...)... : Object | Test.java:2324:44:2324:45 | in : Object | provenance | | +| Test.java:2323:24:2323:31 | source(...) : Object | Test.java:2323:16:2323:31 | (...)... : Object | provenance | | +| Test.java:2324:10:2324:70 | of(...) : ImmutableMap [] : Object | Test.java:2325:21:2325:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2324:44:2324:45 | in : Object | Test.java:2324:10:2324:70 | of(...) : ImmutableMap [] : Object | provenance | MaD:77 | +| Test.java:2325:21:2325:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2325:21:2325:23 | out : ImmutableMap [] : Object | Test.java:2325:9:2325:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:2330:16:2330:31 | (...)... : Object | Test.java:2331:44:2331:45 | in : Object | provenance | | +| Test.java:2330:24:2330:31 | source(...) : Object | Test.java:2330:16:2330:31 | (...)... : Object | provenance | | +| Test.java:2331:10:2331:58 | of(...) : ImmutableMap [] : Object | Test.java:2332:21:2332:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2331:44:2331:45 | in : Object | Test.java:2331:10:2331:58 | of(...) : ImmutableMap [] : Object | provenance | MaD:77 | +| Test.java:2332:21:2332:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2332:21:2332:23 | out : ImmutableMap [] : Object | Test.java:2332:9:2332:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:2337:16:2337:31 | (...)... : Object | Test.java:2338:44:2338:45 | in : Object | provenance | | +| Test.java:2337:24:2337:31 | source(...) : Object | Test.java:2337:16:2337:31 | (...)... : Object | provenance | | +| Test.java:2338:10:2338:46 | of(...) : ImmutableMap [] : Object | Test.java:2339:21:2339:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2338:44:2338:45 | in : Object | Test.java:2338:10:2338:46 | of(...) : ImmutableMap [] : Object | provenance | MaD:77 | +| Test.java:2339:21:2339:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2339:21:2339:23 | out : ImmutableMap [] : Object | Test.java:2339:9:2339:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:2344:16:2344:31 | (...)... : Object | Test.java:2345:50:2345:51 | in : Object | provenance | | +| Test.java:2344:24:2344:31 | source(...) : Object | Test.java:2344:16:2344:31 | (...)... : Object | provenance | | +| Test.java:2345:10:2345:82 | of(...) : ImmutableMap [] : Object | Test.java:2346:19:2346:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2345:50:2345:51 | in : Object | Test.java:2345:10:2345:82 | of(...) : ImmutableMap [] : Object | provenance | MaD:78 | +| Test.java:2346:19:2346:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2346:19:2346:21 | out : ImmutableMap [] : Object | Test.java:2346:9:2346:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:2351:16:2351:31 | (...)... : Object | Test.java:2352:50:2352:51 | in : Object | provenance | | +| Test.java:2351:24:2351:31 | source(...) : Object | Test.java:2351:16:2351:31 | (...)... : Object | provenance | | +| Test.java:2352:10:2352:70 | of(...) : ImmutableMap [] : Object | Test.java:2353:19:2353:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2352:50:2352:51 | in : Object | Test.java:2352:10:2352:70 | of(...) : ImmutableMap [] : Object | provenance | MaD:78 | +| Test.java:2353:19:2353:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2353:19:2353:21 | out : ImmutableMap [] : Object | Test.java:2353:9:2353:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:2358:16:2358:31 | (...)... : Object | Test.java:2359:50:2359:51 | in : Object | provenance | | +| Test.java:2358:24:2358:31 | source(...) : Object | Test.java:2358:16:2358:31 | (...)... : Object | provenance | | +| Test.java:2359:10:2359:58 | of(...) : ImmutableMap [] : Object | Test.java:2360:19:2360:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2359:50:2359:51 | in : Object | Test.java:2359:10:2359:58 | of(...) : ImmutableMap [] : Object | provenance | MaD:78 | +| Test.java:2360:19:2360:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2360:19:2360:21 | out : ImmutableMap [] : Object | Test.java:2360:9:2360:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:2365:16:2365:31 | (...)... : Object | Test.java:2366:56:2366:57 | in : Object | provenance | | +| Test.java:2365:24:2365:31 | source(...) : Object | Test.java:2365:16:2365:31 | (...)... : Object | provenance | | +| Test.java:2366:10:2366:82 | of(...) : ImmutableMap [] : Object | Test.java:2367:21:2367:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2366:56:2366:57 | in : Object | Test.java:2366:10:2366:82 | of(...) : ImmutableMap [] : Object | provenance | MaD:79 | +| Test.java:2367:21:2367:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2367:21:2367:23 | out : ImmutableMap [] : Object | Test.java:2367:9:2367:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:2372:16:2372:31 | (...)... : Object | Test.java:2373:56:2373:57 | in : Object | provenance | | +| Test.java:2372:24:2372:31 | source(...) : Object | Test.java:2372:16:2372:31 | (...)... : Object | provenance | | +| Test.java:2373:10:2373:70 | of(...) : ImmutableMap [] : Object | Test.java:2374:21:2374:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2373:56:2373:57 | in : Object | Test.java:2373:10:2373:70 | of(...) : ImmutableMap [] : Object | provenance | MaD:79 | +| Test.java:2374:21:2374:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2374:21:2374:23 | out : ImmutableMap [] : Object | Test.java:2374:9:2374:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:2379:16:2379:31 | (...)... : Object | Test.java:2380:56:2380:57 | in : Object | provenance | | +| Test.java:2379:24:2379:31 | source(...) : Object | Test.java:2379:16:2379:31 | (...)... : Object | provenance | | +| Test.java:2380:10:2380:58 | of(...) : ImmutableMap [] : Object | Test.java:2381:21:2381:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2380:56:2380:57 | in : Object | Test.java:2380:10:2380:58 | of(...) : ImmutableMap [] : Object | provenance | MaD:79 | +| Test.java:2381:21:2381:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2381:21:2381:23 | out : ImmutableMap [] : Object | Test.java:2381:9:2381:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:2386:16:2386:31 | (...)... : Object | Test.java:2387:62:2387:63 | in : Object | provenance | | +| Test.java:2386:24:2386:31 | source(...) : Object | Test.java:2386:16:2386:31 | (...)... : Object | provenance | | +| Test.java:2387:10:2387:82 | of(...) : ImmutableMap [] : Object | Test.java:2388:19:2388:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2387:62:2387:63 | in : Object | Test.java:2387:10:2387:82 | of(...) : ImmutableMap [] : Object | provenance | MaD:80 | +| Test.java:2388:19:2388:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2388:19:2388:21 | out : ImmutableMap [] : Object | Test.java:2388:9:2388:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:2393:16:2393:31 | (...)... : Object | Test.java:2394:62:2394:63 | in : Object | provenance | | +| Test.java:2393:24:2393:31 | source(...) : Object | Test.java:2393:16:2393:31 | (...)... : Object | provenance | | +| Test.java:2394:10:2394:70 | of(...) : ImmutableMap [] : Object | Test.java:2395:19:2395:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2394:62:2394:63 | in : Object | Test.java:2394:10:2394:70 | of(...) : ImmutableMap [] : Object | provenance | MaD:80 | +| Test.java:2395:19:2395:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2395:19:2395:21 | out : ImmutableMap [] : Object | Test.java:2395:9:2395:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:2400:16:2400:31 | (...)... : Object | Test.java:2401:68:2401:69 | in : Object | provenance | | +| Test.java:2400:24:2400:31 | source(...) : Object | Test.java:2400:16:2400:31 | (...)... : Object | provenance | | +| Test.java:2401:10:2401:82 | of(...) : ImmutableMap [] : Object | Test.java:2402:21:2402:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2401:68:2401:69 | in : Object | Test.java:2401:10:2401:82 | of(...) : ImmutableMap [] : Object | provenance | MaD:81 | +| Test.java:2402:21:2402:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2402:21:2402:23 | out : ImmutableMap [] : Object | Test.java:2402:9:2402:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:2407:16:2407:31 | (...)... : Object | Test.java:2408:68:2408:69 | in : Object | provenance | | +| Test.java:2407:24:2407:31 | source(...) : Object | Test.java:2407:16:2407:31 | (...)... : Object | provenance | | +| Test.java:2408:10:2408:70 | of(...) : ImmutableMap [] : Object | Test.java:2409:21:2409:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2408:68:2408:69 | in : Object | Test.java:2408:10:2408:70 | of(...) : ImmutableMap [] : Object | provenance | MaD:81 | +| Test.java:2409:21:2409:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2409:21:2409:23 | out : ImmutableMap [] : Object | Test.java:2409:9:2409:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:2414:16:2414:31 | (...)... : Object | Test.java:2415:74:2415:75 | in : Object | provenance | | +| Test.java:2414:24:2414:31 | source(...) : Object | Test.java:2414:16:2414:31 | (...)... : Object | provenance | | +| Test.java:2415:10:2415:82 | of(...) : ImmutableMap [] : Object | Test.java:2416:19:2416:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2415:74:2415:75 | in : Object | Test.java:2415:10:2415:82 | of(...) : ImmutableMap [] : Object | provenance | MaD:82 | +| Test.java:2416:19:2416:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2416:19:2416:21 | out : ImmutableMap [] : Object | Test.java:2416:9:2416:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:2421:16:2421:31 | (...)... : Object | Test.java:2422:80:2422:81 | in : Object | provenance | | +| Test.java:2421:24:2421:31 | source(...) : Object | Test.java:2421:16:2421:31 | (...)... : Object | provenance | | +| Test.java:2422:10:2422:82 | of(...) : ImmutableMap [] : Object | Test.java:2423:21:2423:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:2422:80:2422:81 | in : Object | Test.java:2422:10:2422:82 | of(...) : ImmutableMap [] : Object | provenance | MaD:83 | +| Test.java:2423:21:2423:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:2423:21:2423:23 | out : ImmutableMap [] : Object | Test.java:2423:9:2423:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:2428:38:2428:117 | (...)... : Builder [] : Object | Test.java:2429:10:2429:11 | in : Builder [] : Object | provenance | | +| Test.java:2428:68:2428:117 | put(...) : Builder [] : Object | Test.java:2428:38:2428:117 | (...)... : Builder [] : Object | provenance | | +| Test.java:2428:103:2428:110 | source(...) : Object | Test.java:2428:68:2428:117 | put(...) : Builder [] : Object | provenance | MaD:120+MaD:117 | +| Test.java:2429:10:2429:11 | in : Builder [] : Object | Test.java:2429:10:2429:19 | build(...) : ImmutableSetMultimap [] : Object | provenance | MaD:113 | +| Test.java:2429:10:2429:19 | build(...) : ImmutableSetMultimap [] : Object | Test.java:2430:19:2430:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:2430:19:2430:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:2430:19:2430:21 | out : ImmutableSetMultimap [] : Object | Test.java:2430:9:2430:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:2435:35:2435:108 | (...)... : Builder [] : Object | Test.java:2436:10:2436:11 | in : Builder [] : Object | provenance | | +| Test.java:2435:62:2435:108 | put(...) : Builder [] : Object | Test.java:2435:35:2435:108 | (...)... : Builder [] : Object | provenance | | +| Test.java:2435:94:2435:101 | source(...) : Object | Test.java:2435:62:2435:108 | put(...) : Builder [] : Object | provenance | MaD:120+MaD:117 | +| Test.java:2436:10:2436:11 | in : Builder [] : Object | Test.java:2436:10:2436:19 | build(...) : ImmutableMultimap [] : Object | provenance | MaD:113 | +| Test.java:2436:10:2436:19 | build(...) : ImmutableMultimap [] : Object | Test.java:2437:19:2437:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:2437:19:2437:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:2437:19:2437:21 | out : ImmutableMultimap [] : Object | Test.java:2437:9:2437:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:2442:39:2442:120 | (...)... : Builder [] : Object | Test.java:2443:10:2443:11 | in : Builder [] : Object | provenance | | +| Test.java:2442:70:2442:120 | put(...) : Builder [] : Object | Test.java:2442:39:2442:120 | (...)... : Builder [] : Object | provenance | | +| Test.java:2442:106:2442:113 | source(...) : Object | Test.java:2442:70:2442:120 | put(...) : Builder [] : Object | provenance | MaD:120+MaD:117 | +| Test.java:2443:10:2443:11 | in : Builder [] : Object | Test.java:2443:10:2443:19 | build(...) : ImmutableListMultimap [] : Object | provenance | MaD:113 | +| Test.java:2443:10:2443:19 | build(...) : ImmutableListMultimap [] : Object | Test.java:2444:19:2444:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:2444:19:2444:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:2444:19:2444:21 | out : ImmutableListMultimap [] : Object | Test.java:2444:9:2444:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:2449:38:2449:117 | (...)... : Builder [] : Object | Test.java:2450:10:2450:11 | in : Builder [] : Object | provenance | | +| Test.java:2449:68:2449:117 | put(...) : Builder [] : Object | Test.java:2449:38:2449:117 | (...)... : Builder [] : Object | provenance | | +| Test.java:2449:109:2449:116 | source(...) : Object | Test.java:2449:68:2449:117 | put(...) : Builder [] : Object | provenance | MaD:121+MaD:117 | +| Test.java:2450:10:2450:11 | in : Builder [] : Object | Test.java:2450:10:2450:19 | build(...) : ImmutableSetMultimap [] : Object | provenance | MaD:114 | +| Test.java:2450:10:2450:19 | build(...) : ImmutableSetMultimap [] : Object | Test.java:2451:21:2451:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:2451:21:2451:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:2451:21:2451:23 | out : ImmutableSetMultimap [] : Object | Test.java:2451:9:2451:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:2456:35:2456:108 | (...)... : Builder [] : Object | Test.java:2457:10:2457:11 | in : Builder [] : Object | provenance | | +| Test.java:2456:62:2456:108 | put(...) : Builder [] : Object | Test.java:2456:35:2456:108 | (...)... : Builder [] : Object | provenance | | +| Test.java:2456:100:2456:107 | source(...) : Object | Test.java:2456:62:2456:108 | put(...) : Builder [] : Object | provenance | MaD:121+MaD:117 | +| Test.java:2457:10:2457:11 | in : Builder [] : Object | Test.java:2457:10:2457:19 | build(...) : ImmutableMultimap [] : Object | provenance | MaD:114 | +| Test.java:2457:10:2457:19 | build(...) : ImmutableMultimap [] : Object | Test.java:2458:21:2458:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:2458:21:2458:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:2458:21:2458:23 | out : ImmutableMultimap [] : Object | Test.java:2458:9:2458:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:2463:39:2463:120 | (...)... : Builder [] : Object | Test.java:2464:10:2464:11 | in : Builder [] : Object | provenance | | +| Test.java:2463:70:2463:120 | put(...) : Builder [] : Object | Test.java:2463:39:2463:120 | (...)... : Builder [] : Object | provenance | | +| Test.java:2463:112:2463:119 | source(...) : Object | Test.java:2463:70:2463:120 | put(...) : Builder [] : Object | provenance | MaD:121+MaD:117 | +| Test.java:2464:10:2464:11 | in : Builder [] : Object | Test.java:2464:10:2464:19 | build(...) : ImmutableListMultimap [] : Object | provenance | MaD:114 | +| Test.java:2464:10:2464:19 | build(...) : ImmutableListMultimap [] : Object | Test.java:2465:21:2465:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:2465:21:2465:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:2465:21:2465:23 | out : ImmutableListMultimap [] : Object | Test.java:2465:9:2465:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:2470:38:2470:75 | (...)... : Builder | Test.java:2471:10:2471:11 | in : Builder | provenance | | +| Test.java:2470:68:2470:75 | source(...) : Object | Test.java:2470:38:2470:75 | (...)... : Builder | provenance | | +| Test.java:2471:10:2471:11 | in : Builder | Test.java:2471:10:2471:29 | orderKeysBy(...) : Builder | provenance | MaD:115 | +| Test.java:2471:10:2471:29 | orderKeysBy(...) : Builder | Test.java:2472:9:2472:11 | out | provenance | | +| Test.java:2477:35:2477:69 | (...)... : Builder | Test.java:2478:10:2478:11 | in : Builder | provenance | | +| Test.java:2477:62:2477:69 | source(...) : Object | Test.java:2477:35:2477:69 | (...)... : Builder | provenance | | +| Test.java:2478:10:2478:11 | in : Builder | Test.java:2478:10:2478:29 | orderKeysBy(...) : Builder | provenance | MaD:115 | +| Test.java:2478:10:2478:29 | orderKeysBy(...) : Builder | Test.java:2479:9:2479:11 | out | provenance | | +| Test.java:2484:39:2484:77 | (...)... : Builder | Test.java:2485:10:2485:11 | in : Builder | provenance | | +| Test.java:2484:70:2484:77 | source(...) : Object | Test.java:2484:39:2484:77 | (...)... : Builder | provenance | | +| Test.java:2485:10:2485:11 | in : Builder | Test.java:2485:10:2485:29 | orderKeysBy(...) : Builder | provenance | MaD:115 | +| Test.java:2485:10:2485:29 | orderKeysBy(...) : Builder | Test.java:2486:9:2486:11 | out | provenance | | +| Test.java:2491:38:2491:75 | (...)... : Builder | Test.java:2492:10:2492:11 | in : Builder | provenance | | +| Test.java:2491:68:2491:75 | source(...) : Object | Test.java:2491:38:2491:75 | (...)... : Builder | provenance | | +| Test.java:2492:10:2492:11 | in : Builder | Test.java:2492:10:2492:31 | orderValuesBy(...) : Builder | provenance | MaD:116 | +| Test.java:2492:10:2492:31 | orderValuesBy(...) : Builder | Test.java:2493:9:2493:11 | out | provenance | | +| Test.java:2498:35:2498:69 | (...)... : Builder | Test.java:2499:10:2499:11 | in : Builder | provenance | | +| Test.java:2498:62:2498:69 | source(...) : Object | Test.java:2498:35:2498:69 | (...)... : Builder | provenance | | +| Test.java:2499:10:2499:11 | in : Builder | Test.java:2499:10:2499:31 | orderValuesBy(...) : Builder | provenance | MaD:116 | +| Test.java:2499:10:2499:31 | orderValuesBy(...) : Builder | Test.java:2500:9:2500:11 | out | provenance | | +| Test.java:2505:39:2505:77 | (...)... : Builder | Test.java:2506:10:2506:11 | in : Builder | provenance | | +| Test.java:2505:70:2505:77 | source(...) : Object | Test.java:2505:39:2505:77 | (...)... : Builder | provenance | | +| Test.java:2506:10:2506:11 | in : Builder | Test.java:2506:10:2506:31 | orderValuesBy(...) : Builder | provenance | MaD:116 | +| Test.java:2506:10:2506:31 | orderValuesBy(...) : Builder | Test.java:2507:9:2507:11 | out | provenance | | +| Test.java:2512:19:2512:57 | (...)... : Entry [] : Object | Test.java:2513:12:2513:13 | in : Entry [] : Object | provenance | | +| Test.java:2512:30:2512:57 | newEntryWithMapKey(...) : Entry [] : Object | Test.java:2512:19:2512:57 | (...)... : Entry [] : Object | provenance | | +| Test.java:2512:49:2512:56 | source(...) : Object | Test.java:101:40:101:44 | key : Object | provenance | | +| Test.java:2512:49:2512:56 | source(...) : Object | Test.java:2512:30:2512:57 | newEntryWithMapKey(...) : Entry [] : Object | provenance | MaD:563 | +| Test.java:2513:4:2513:6 | out [post update] : Builder [] : Object | Test.java:2514:19:2514:21 | out : Builder [] : Object | provenance | | +| Test.java:2513:12:2513:13 | in : Entry [] : Object | Test.java:2513:4:2513:6 | out [post update] : Builder [] : Object | provenance | MaD:118 | +| Test.java:2514:19:2514:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2514:19:2514:21 | out : Builder [] : Object | Test.java:2514:9:2514:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2519:19:2519:57 | (...)... : Entry [] : Object | Test.java:2520:12:2520:13 | in : Entry [] : Object | provenance | | +| Test.java:2519:30:2519:57 | newEntryWithMapKey(...) : Entry [] : Object | Test.java:2519:19:2519:57 | (...)... : Entry [] : Object | provenance | | +| Test.java:2519:49:2519:56 | source(...) : Object | Test.java:101:40:101:44 | key : Object | provenance | | +| Test.java:2519:49:2519:56 | source(...) : Object | Test.java:2519:30:2519:57 | newEntryWithMapKey(...) : Entry [] : Object | provenance | MaD:563 | +| Test.java:2520:4:2520:6 | out [post update] : Builder [] : Object | Test.java:2521:19:2521:21 | out : Builder [] : Object | provenance | | +| Test.java:2520:12:2520:13 | in : Entry [] : Object | Test.java:2520:4:2520:6 | out [post update] : Builder [] : Object | provenance | MaD:118 | +| Test.java:2521:19:2521:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2521:19:2521:21 | out : Builder [] : Object | Test.java:2521:9:2521:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2526:19:2526:57 | (...)... : Entry [] : Object | Test.java:2527:12:2527:13 | in : Entry [] : Object | provenance | | +| Test.java:2526:30:2526:57 | newEntryWithMapKey(...) : Entry [] : Object | Test.java:2526:19:2526:57 | (...)... : Entry [] : Object | provenance | | +| Test.java:2526:49:2526:56 | source(...) : Object | Test.java:101:40:101:44 | key : Object | provenance | | +| Test.java:2526:49:2526:56 | source(...) : Object | Test.java:2526:30:2526:57 | newEntryWithMapKey(...) : Entry [] : Object | provenance | MaD:563 | +| Test.java:2527:4:2527:6 | out [post update] : Builder [] : Object | Test.java:2528:19:2528:21 | out : Builder [] : Object | provenance | | +| Test.java:2527:12:2527:13 | in : Entry [] : Object | Test.java:2527:4:2527:6 | out [post update] : Builder [] : Object | provenance | MaD:118 | +| Test.java:2528:19:2528:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2528:19:2528:21 | out : Builder [] : Object | Test.java:2528:9:2528:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2533:19:2533:59 | (...)... : Entry [] : Object | Test.java:2534:12:2534:13 | in : Entry [] : Object | provenance | | +| Test.java:2533:30:2533:59 | newEntryWithMapValue(...) : Entry [] : Object | Test.java:2533:19:2533:59 | (...)... : Entry [] : Object | provenance | | +| Test.java:2533:51:2533:58 | source(...) : Object | Test.java:113:42:113:48 | value : Object | provenance | | +| Test.java:2533:51:2533:58 | source(...) : Object | Test.java:2533:30:2533:59 | newEntryWithMapValue(...) : Entry [] : Object | provenance | MaD:564 | +| Test.java:2534:4:2534:6 | out [post update] : Builder [] : Object | Test.java:2535:21:2535:23 | out : Builder [] : Object | provenance | | +| Test.java:2534:12:2534:13 | in : Entry [] : Object | Test.java:2534:4:2534:6 | out [post update] : Builder [] : Object | provenance | MaD:119 | +| Test.java:2535:21:2535:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2535:21:2535:23 | out : Builder [] : Object | Test.java:2535:9:2535:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2540:19:2540:59 | (...)... : Entry [] : Object | Test.java:2541:12:2541:13 | in : Entry [] : Object | provenance | | +| Test.java:2540:30:2540:59 | newEntryWithMapValue(...) : Entry [] : Object | Test.java:2540:19:2540:59 | (...)... : Entry [] : Object | provenance | | +| Test.java:2540:51:2540:58 | source(...) : Object | Test.java:113:42:113:48 | value : Object | provenance | | +| Test.java:2540:51:2540:58 | source(...) : Object | Test.java:2540:30:2540:59 | newEntryWithMapValue(...) : Entry [] : Object | provenance | MaD:564 | +| Test.java:2541:4:2541:6 | out [post update] : Builder [] : Object | Test.java:2542:21:2542:23 | out : Builder [] : Object | provenance | | +| Test.java:2541:12:2541:13 | in : Entry [] : Object | Test.java:2541:4:2541:6 | out [post update] : Builder [] : Object | provenance | MaD:119 | +| Test.java:2542:21:2542:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2542:21:2542:23 | out : Builder [] : Object | Test.java:2542:9:2542:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2547:19:2547:59 | (...)... : Entry [] : Object | Test.java:2548:12:2548:13 | in : Entry [] : Object | provenance | | +| Test.java:2547:30:2547:59 | newEntryWithMapValue(...) : Entry [] : Object | Test.java:2547:19:2547:59 | (...)... : Entry [] : Object | provenance | | +| Test.java:2547:51:2547:58 | source(...) : Object | Test.java:113:42:113:48 | value : Object | provenance | | +| Test.java:2547:51:2547:58 | source(...) : Object | Test.java:2547:30:2547:59 | newEntryWithMapValue(...) : Entry [] : Object | provenance | MaD:564 | +| Test.java:2548:4:2548:6 | out [post update] : Builder [] : Object | Test.java:2549:21:2549:23 | out : Builder [] : Object | provenance | | +| Test.java:2548:12:2548:13 | in : Entry [] : Object | Test.java:2548:4:2548:6 | out [post update] : Builder [] : Object | provenance | MaD:119 | +| Test.java:2549:21:2549:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2549:21:2549:23 | out : Builder [] : Object | Test.java:2549:9:2549:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2554:16:2554:31 | (...)... : Object | Test.java:2555:12:2555:13 | in : Object | provenance | | +| Test.java:2554:24:2554:31 | source(...) : Object | Test.java:2554:16:2554:31 | (...)... : Object | provenance | | +| Test.java:2555:4:2555:6 | out [post update] : Builder [] : Object | Test.java:2556:19:2556:21 | out : Builder [] : Object | provenance | | +| Test.java:2555:12:2555:13 | in : Object | Test.java:2555:4:2555:6 | out [post update] : Builder [] : Object | provenance | MaD:120 | +| Test.java:2556:19:2556:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2556:19:2556:21 | out : Builder [] : Object | Test.java:2556:9:2556:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2561:16:2561:31 | (...)... : Object | Test.java:2562:12:2562:13 | in : Object | provenance | | +| Test.java:2561:24:2561:31 | source(...) : Object | Test.java:2561:16:2561:31 | (...)... : Object | provenance | | +| Test.java:2562:4:2562:6 | out [post update] : Builder [] : Object | Test.java:2563:19:2563:21 | out : Builder [] : Object | provenance | | +| Test.java:2562:12:2562:13 | in : Object | Test.java:2562:4:2562:6 | out [post update] : Builder [] : Object | provenance | MaD:120 | +| Test.java:2563:19:2563:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2563:19:2563:21 | out : Builder [] : Object | Test.java:2563:9:2563:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2568:16:2568:31 | (...)... : Object | Test.java:2569:12:2569:13 | in : Object | provenance | | +| Test.java:2568:24:2568:31 | source(...) : Object | Test.java:2568:16:2568:31 | (...)... : Object | provenance | | +| Test.java:2569:4:2569:6 | out [post update] : Builder [] : Object | Test.java:2570:19:2570:21 | out : Builder [] : Object | provenance | | +| Test.java:2569:12:2569:13 | in : Object | Test.java:2569:4:2569:6 | out [post update] : Builder [] : Object | provenance | MaD:120 | +| Test.java:2570:19:2570:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2570:19:2570:21 | out : Builder [] : Object | Test.java:2570:9:2570:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2575:16:2575:31 | (...)... : Object | Test.java:2576:18:2576:19 | in : Object | provenance | | +| Test.java:2575:24:2575:31 | source(...) : Object | Test.java:2575:16:2575:31 | (...)... : Object | provenance | | +| Test.java:2576:4:2576:6 | out [post update] : Builder [] : Object | Test.java:2577:21:2577:23 | out : Builder [] : Object | provenance | | +| Test.java:2576:18:2576:19 | in : Object | Test.java:2576:4:2576:6 | out [post update] : Builder [] : Object | provenance | MaD:121 | +| Test.java:2577:21:2577:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2577:21:2577:23 | out : Builder [] : Object | Test.java:2577:9:2577:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2582:16:2582:31 | (...)... : Object | Test.java:2583:18:2583:19 | in : Object | provenance | | +| Test.java:2582:24:2582:31 | source(...) : Object | Test.java:2582:16:2582:31 | (...)... : Object | provenance | | +| Test.java:2583:4:2583:6 | out [post update] : Builder [] : Object | Test.java:2584:21:2584:23 | out : Builder [] : Object | provenance | | +| Test.java:2583:18:2583:19 | in : Object | Test.java:2583:4:2583:6 | out [post update] : Builder [] : Object | provenance | MaD:121 | +| Test.java:2584:21:2584:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2584:21:2584:23 | out : Builder [] : Object | Test.java:2584:9:2584:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2589:16:2589:31 | (...)... : Object | Test.java:2590:18:2590:19 | in : Object | provenance | | +| Test.java:2589:24:2589:31 | source(...) : Object | Test.java:2589:16:2589:31 | (...)... : Object | provenance | | +| Test.java:2590:4:2590:6 | out [post update] : Builder [] : Object | Test.java:2591:21:2591:23 | out : Builder [] : Object | provenance | | +| Test.java:2590:18:2590:19 | in : Object | Test.java:2590:4:2590:6 | out [post update] : Builder [] : Object | provenance | MaD:121 | +| Test.java:2591:21:2591:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2591:21:2591:23 | out : Builder [] : Object | Test.java:2591:9:2591:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2596:38:2596:75 | (...)... : Builder | Test.java:2597:10:2597:11 | in : Builder | provenance | | +| Test.java:2596:68:2596:75 | source(...) : Object | Test.java:2596:38:2596:75 | (...)... : Builder | provenance | | +| Test.java:2597:10:2597:11 | in : Builder | Test.java:2597:10:2597:27 | put(...) : Builder | provenance | MaD:117 | +| Test.java:2597:10:2597:27 | put(...) : Builder | Test.java:2598:9:2598:11 | out | provenance | | +| Test.java:2603:38:2603:75 | (...)... : Builder | Test.java:2604:10:2604:11 | in : Builder | provenance | | +| Test.java:2603:68:2603:75 | source(...) : Object | Test.java:2603:38:2603:75 | (...)... : Builder | provenance | | +| Test.java:2604:10:2604:11 | in : Builder | Test.java:2604:10:2604:21 | put(...) : Builder | provenance | MaD:117 | +| Test.java:2604:10:2604:21 | put(...) : Builder | Test.java:2605:9:2605:11 | out | provenance | | +| Test.java:2610:35:2610:69 | (...)... : Builder | Test.java:2611:10:2611:11 | in : Builder | provenance | | +| Test.java:2610:62:2610:69 | source(...) : Object | Test.java:2610:35:2610:69 | (...)... : Builder | provenance | | +| Test.java:2611:10:2611:11 | in : Builder | Test.java:2611:10:2611:27 | put(...) : Builder | provenance | MaD:117 | +| Test.java:2611:10:2611:27 | put(...) : Builder | Test.java:2612:9:2612:11 | out | provenance | | +| Test.java:2617:35:2617:69 | (...)... : Builder | Test.java:2618:10:2618:11 | in : Builder | provenance | | +| Test.java:2617:62:2617:69 | source(...) : Object | Test.java:2617:35:2617:69 | (...)... : Builder | provenance | | +| Test.java:2618:10:2618:11 | in : Builder | Test.java:2618:10:2618:21 | put(...) : Builder | provenance | MaD:117 | +| Test.java:2618:10:2618:21 | put(...) : Builder | Test.java:2619:9:2619:11 | out | provenance | | +| Test.java:2624:39:2624:77 | (...)... : Builder | Test.java:2625:10:2625:11 | in : Builder | provenance | | +| Test.java:2624:70:2624:77 | source(...) : Object | Test.java:2624:39:2624:77 | (...)... : Builder | provenance | | +| Test.java:2625:10:2625:11 | in : Builder | Test.java:2625:10:2625:27 | put(...) : Builder | provenance | MaD:117 | +| Test.java:2625:10:2625:27 | put(...) : Builder | Test.java:2626:9:2626:11 | out | provenance | | +| Test.java:2631:39:2631:77 | (...)... : Builder | Test.java:2632:10:2632:11 | in : Builder | provenance | | +| Test.java:2631:70:2631:77 | source(...) : Object | Test.java:2631:39:2631:77 | (...)... : Builder | provenance | | +| Test.java:2632:10:2632:11 | in : Builder | Test.java:2632:10:2632:21 | put(...) : Builder | provenance | MaD:117 | +| Test.java:2632:10:2632:21 | put(...) : Builder | Test.java:2633:9:2633:11 | out | provenance | | +| Test.java:2638:18:2638:64 | (...)... : List [, ] : Object | Test.java:2639:15:2639:16 | in : List [, ] : Object | provenance | | +| Test.java:2638:28:2638:64 | of(...) : List [, ] : Object | Test.java:2638:18:2638:64 | (...)... : List [, ] : Object | provenance | | +| Test.java:2638:36:2638:63 | newEntryWithMapKey(...) : Entry [] : Object | Test.java:2638:28:2638:64 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:2638:55:2638:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | provenance | | +| Test.java:2638:55:2638:62 | source(...) : Object | Test.java:2638:36:2638:63 | newEntryWithMapKey(...) : Entry [] : Object | provenance | MaD:563 | +| Test.java:2639:4:2639:6 | out [post update] : Builder [] : Object | Test.java:2640:19:2640:21 | out : Builder [] : Object | provenance | | +| Test.java:2639:15:2639:16 | in : List [, ] : Object | Test.java:2639:4:2639:6 | out [post update] : Builder [] : Object | provenance | MaD:123 | +| Test.java:2640:19:2640:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2640:19:2640:21 | out : Builder [] : Object | Test.java:2640:9:2640:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2645:18:2645:64 | (...)... : List [, ] : Object | Test.java:2646:15:2646:16 | in : List [, ] : Object | provenance | | +| Test.java:2645:28:2645:64 | of(...) : List [, ] : Object | Test.java:2645:18:2645:64 | (...)... : List [, ] : Object | provenance | | +| Test.java:2645:36:2645:63 | newEntryWithMapKey(...) : Entry [] : Object | Test.java:2645:28:2645:64 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:2645:55:2645:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | provenance | | +| Test.java:2645:55:2645:62 | source(...) : Object | Test.java:2645:36:2645:63 | newEntryWithMapKey(...) : Entry [] : Object | provenance | MaD:563 | +| Test.java:2646:4:2646:6 | out [post update] : Builder [] : Object | Test.java:2647:19:2647:21 | out : Builder [] : Object | provenance | | +| Test.java:2646:15:2646:16 | in : List [, ] : Object | Test.java:2646:4:2646:6 | out [post update] : Builder [] : Object | provenance | MaD:123 | +| Test.java:2647:19:2647:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2647:19:2647:21 | out : Builder [] : Object | Test.java:2647:9:2647:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2652:18:2652:64 | (...)... : List [, ] : Object | Test.java:2653:15:2653:16 | in : List [, ] : Object | provenance | | +| Test.java:2652:28:2652:64 | of(...) : List [, ] : Object | Test.java:2652:18:2652:64 | (...)... : List [, ] : Object | provenance | | +| Test.java:2652:36:2652:63 | newEntryWithMapKey(...) : Entry [] : Object | Test.java:2652:28:2652:64 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:2652:55:2652:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | provenance | | +| Test.java:2652:55:2652:62 | source(...) : Object | Test.java:2652:36:2652:63 | newEntryWithMapKey(...) : Entry [] : Object | provenance | MaD:563 | +| Test.java:2653:4:2653:6 | out [post update] : Builder [] : Object | Test.java:2654:19:2654:21 | out : Builder [] : Object | provenance | | +| Test.java:2653:15:2653:16 | in : List [, ] : Object | Test.java:2653:4:2653:6 | out [post update] : Builder [] : Object | provenance | MaD:123 | +| Test.java:2654:19:2654:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2654:19:2654:21 | out : Builder [] : Object | Test.java:2654:9:2654:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2659:18:2659:66 | (...)... : List [, ] : Object | Test.java:2660:15:2660:16 | in : List [, ] : Object | provenance | | +| Test.java:2659:28:2659:66 | of(...) : List [, ] : Object | Test.java:2659:18:2659:66 | (...)... : List [, ] : Object | provenance | | +| Test.java:2659:36:2659:65 | newEntryWithMapValue(...) : Entry [] : Object | Test.java:2659:28:2659:66 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:2659:57:2659:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | provenance | | +| Test.java:2659:57:2659:64 | source(...) : Object | Test.java:2659:36:2659:65 | newEntryWithMapValue(...) : Entry [] : Object | provenance | MaD:564 | +| Test.java:2660:4:2660:6 | out [post update] : Builder [] : Object | Test.java:2661:21:2661:23 | out : Builder [] : Object | provenance | | +| Test.java:2660:15:2660:16 | in : List [, ] : Object | Test.java:2660:4:2660:6 | out [post update] : Builder [] : Object | provenance | MaD:124 | +| Test.java:2661:21:2661:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2661:21:2661:23 | out : Builder [] : Object | Test.java:2661:9:2661:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2666:18:2666:66 | (...)... : List [, ] : Object | Test.java:2667:15:2667:16 | in : List [, ] : Object | provenance | | +| Test.java:2666:28:2666:66 | of(...) : List [, ] : Object | Test.java:2666:18:2666:66 | (...)... : List [, ] : Object | provenance | | +| Test.java:2666:36:2666:65 | newEntryWithMapValue(...) : Entry [] : Object | Test.java:2666:28:2666:66 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:2666:57:2666:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | provenance | | +| Test.java:2666:57:2666:64 | source(...) : Object | Test.java:2666:36:2666:65 | newEntryWithMapValue(...) : Entry [] : Object | provenance | MaD:564 | +| Test.java:2667:4:2667:6 | out [post update] : Builder [] : Object | Test.java:2668:21:2668:23 | out : Builder [] : Object | provenance | | +| Test.java:2667:15:2667:16 | in : List [, ] : Object | Test.java:2667:4:2667:6 | out [post update] : Builder [] : Object | provenance | MaD:124 | +| Test.java:2668:21:2668:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2668:21:2668:23 | out : Builder [] : Object | Test.java:2668:9:2668:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2673:18:2673:66 | (...)... : List [, ] : Object | Test.java:2674:15:2674:16 | in : List [, ] : Object | provenance | | +| Test.java:2673:28:2673:66 | of(...) : List [, ] : Object | Test.java:2673:18:2673:66 | (...)... : List [, ] : Object | provenance | | +| Test.java:2673:36:2673:65 | newEntryWithMapValue(...) : Entry [] : Object | Test.java:2673:28:2673:66 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:2673:57:2673:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | provenance | | +| Test.java:2673:57:2673:64 | source(...) : Object | Test.java:2673:36:2673:65 | newEntryWithMapValue(...) : Entry [] : Object | provenance | MaD:564 | +| Test.java:2674:4:2674:6 | out [post update] : Builder [] : Object | Test.java:2675:21:2675:23 | out : Builder [] : Object | provenance | | +| Test.java:2674:15:2674:16 | in : List [, ] : Object | Test.java:2674:4:2674:6 | out [post update] : Builder [] : Object | provenance | MaD:124 | +| Test.java:2675:21:2675:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2675:21:2675:23 | out : Builder [] : Object | Test.java:2675:9:2675:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2680:18:2680:63 | (...)... : ImmutableMultimap [] : Object | Test.java:2681:15:2681:16 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:2680:28:2680:63 | of(...) : ImmutableMultimap [] : Object | Test.java:2680:18:2680:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:2680:49:2680:56 | source(...) : Object | Test.java:2680:28:2680:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:2681:4:2681:6 | out [post update] : Builder [] : Object | Test.java:2682:19:2682:21 | out : Builder [] : Object | provenance | | +| Test.java:2681:15:2681:16 | in : ImmutableMultimap [] : Object | Test.java:2681:4:2681:6 | out [post update] : Builder [] : Object | provenance | MaD:125 | +| Test.java:2682:19:2682:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2682:19:2682:21 | out : Builder [] : Object | Test.java:2682:9:2682:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2687:18:2687:63 | (...)... : ImmutableMultimap [] : Object | Test.java:2688:15:2688:16 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:2687:28:2687:63 | of(...) : ImmutableMultimap [] : Object | Test.java:2687:18:2687:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:2687:49:2687:56 | source(...) : Object | Test.java:2687:28:2687:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:2688:4:2688:6 | out [post update] : Builder [] : Object | Test.java:2689:19:2689:21 | out : Builder [] : Object | provenance | | +| Test.java:2688:15:2688:16 | in : ImmutableMultimap [] : Object | Test.java:2688:4:2688:6 | out [post update] : Builder [] : Object | provenance | MaD:125 | +| Test.java:2689:19:2689:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2689:19:2689:21 | out : Builder [] : Object | Test.java:2689:9:2689:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2694:18:2694:63 | (...)... : ImmutableMultimap [] : Object | Test.java:2695:15:2695:16 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:2694:28:2694:63 | of(...) : ImmutableMultimap [] : Object | Test.java:2694:18:2694:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:2694:49:2694:56 | source(...) : Object | Test.java:2694:28:2694:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:2695:4:2695:6 | out [post update] : Builder [] : Object | Test.java:2696:19:2696:21 | out : Builder [] : Object | provenance | | +| Test.java:2695:15:2695:16 | in : ImmutableMultimap [] : Object | Test.java:2695:4:2695:6 | out [post update] : Builder [] : Object | provenance | MaD:125 | +| Test.java:2696:19:2696:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2696:19:2696:21 | out : Builder [] : Object | Test.java:2696:9:2696:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2701:18:2701:63 | (...)... : ImmutableMultimap [] : Object | Test.java:2702:15:2702:16 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:2701:28:2701:63 | of(...) : ImmutableMultimap [] : Object | Test.java:2701:18:2701:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:2701:55:2701:62 | source(...) : Object | Test.java:2701:28:2701:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:2702:4:2702:6 | out [post update] : Builder [] : Object | Test.java:2703:21:2703:23 | out : Builder [] : Object | provenance | | +| Test.java:2702:15:2702:16 | in : ImmutableMultimap [] : Object | Test.java:2702:4:2702:6 | out [post update] : Builder [] : Object | provenance | MaD:126 | +| Test.java:2703:21:2703:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2703:21:2703:23 | out : Builder [] : Object | Test.java:2703:9:2703:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2708:18:2708:63 | (...)... : ImmutableMultimap [] : Object | Test.java:2709:15:2709:16 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:2708:28:2708:63 | of(...) : ImmutableMultimap [] : Object | Test.java:2708:18:2708:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:2708:55:2708:62 | source(...) : Object | Test.java:2708:28:2708:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:2709:4:2709:6 | out [post update] : Builder [] : Object | Test.java:2710:21:2710:23 | out : Builder [] : Object | provenance | | +| Test.java:2709:15:2709:16 | in : ImmutableMultimap [] : Object | Test.java:2709:4:2709:6 | out [post update] : Builder [] : Object | provenance | MaD:126 | +| Test.java:2710:21:2710:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2710:21:2710:23 | out : Builder [] : Object | Test.java:2710:9:2710:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2715:18:2715:63 | (...)... : ImmutableMultimap [] : Object | Test.java:2716:15:2716:16 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:2715:28:2715:63 | of(...) : ImmutableMultimap [] : Object | Test.java:2715:18:2715:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:2715:55:2715:62 | source(...) : Object | Test.java:2715:28:2715:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:2716:4:2716:6 | out [post update] : Builder [] : Object | Test.java:2717:21:2717:23 | out : Builder [] : Object | provenance | | +| Test.java:2716:15:2716:16 | in : ImmutableMultimap [] : Object | Test.java:2716:4:2716:6 | out [post update] : Builder [] : Object | provenance | MaD:126 | +| Test.java:2717:21:2717:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2717:21:2717:23 | out : Builder [] : Object | Test.java:2717:9:2717:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2722:16:2722:31 | (...)... : Object | Test.java:2723:15:2723:16 | in : Object | provenance | | +| Test.java:2722:24:2722:31 | source(...) : Object | Test.java:2722:16:2722:31 | (...)... : Object | provenance | | +| Test.java:2723:4:2723:6 | out [post update] : Builder [] : Object | Test.java:2724:19:2724:21 | out : Builder [] : Object | provenance | | +| Test.java:2723:15:2723:16 | in : Object | Test.java:2723:4:2723:6 | out [post update] : Builder [] : Object | provenance | MaD:127 | +| Test.java:2724:19:2724:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2724:19:2724:21 | out : Builder [] : Object | Test.java:2724:9:2724:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2729:16:2729:31 | (...)... : Object | Test.java:2730:15:2730:16 | in : Object | provenance | | +| Test.java:2729:24:2729:31 | source(...) : Object | Test.java:2729:16:2729:31 | (...)... : Object | provenance | | +| Test.java:2730:4:2730:6 | out [post update] : Builder [] : Object | Test.java:2731:19:2731:21 | out : Builder [] : Object | provenance | | +| Test.java:2730:15:2730:16 | in : Object | Test.java:2730:4:2730:6 | out [post update] : Builder [] : Object | provenance | MaD:127 | +| Test.java:2731:19:2731:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2731:19:2731:21 | out : Builder [] : Object | Test.java:2731:9:2731:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2736:16:2736:31 | (...)... : Object | Test.java:2737:15:2737:16 | in : Object | provenance | | +| Test.java:2736:24:2736:31 | source(...) : Object | Test.java:2736:16:2736:31 | (...)... : Object | provenance | | +| Test.java:2737:4:2737:6 | out [post update] : Builder [] : Object | Test.java:2738:19:2738:21 | out : Builder [] : Object | provenance | | +| Test.java:2737:15:2737:16 | in : Object | Test.java:2737:4:2737:6 | out [post update] : Builder [] : Object | provenance | MaD:127 | +| Test.java:2738:19:2738:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2738:19:2738:21 | out : Builder [] : Object | Test.java:2738:9:2738:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2743:18:2743:44 | (...)... : List [] : Object | Test.java:2744:29:2744:30 | in : List [] : Object | provenance | | +| Test.java:2743:28:2743:44 | of(...) : List [] : Object | Test.java:2743:18:2743:44 | (...)... : List [] : Object | provenance | | +| Test.java:2743:36:2743:43 | source(...) : Object | Test.java:2743:28:2743:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:2744:4:2744:6 | out [post update] : Builder [] : Object | Test.java:2745:21:2745:23 | out : Builder [] : Object | provenance | | +| Test.java:2744:29:2744:30 | in : List [] : Object | Test.java:2744:4:2744:6 | out [post update] : Builder [] : Object | provenance | MaD:128 | +| Test.java:2745:21:2745:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2745:21:2745:23 | out : Builder [] : Object | Test.java:2745:9:2745:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2750:18:2750:44 | (...)... : List [] : Object | Test.java:2751:29:2751:30 | in : List [] : Object | provenance | | +| Test.java:2750:28:2750:44 | of(...) : List [] : Object | Test.java:2750:18:2750:44 | (...)... : List [] : Object | provenance | | +| Test.java:2750:36:2750:43 | source(...) : Object | Test.java:2750:28:2750:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:2751:4:2751:6 | out [post update] : Builder [] : Object | Test.java:2752:21:2752:23 | out : Builder [] : Object | provenance | | +| Test.java:2751:29:2751:30 | in : List [] : Object | Test.java:2751:4:2751:6 | out [post update] : Builder [] : Object | provenance | MaD:128 | +| Test.java:2752:21:2752:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2752:21:2752:23 | out : Builder [] : Object | Test.java:2752:9:2752:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2757:18:2757:44 | (...)... : List [] : Object | Test.java:2758:29:2758:30 | in : List [] : Object | provenance | | +| Test.java:2757:28:2757:44 | of(...) : List [] : Object | Test.java:2757:18:2757:44 | (...)... : List [] : Object | provenance | | +| Test.java:2757:36:2757:43 | source(...) : Object | Test.java:2757:28:2757:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:2758:4:2758:6 | out [post update] : Builder [] : Object | Test.java:2759:21:2759:23 | out : Builder [] : Object | provenance | | +| Test.java:2758:29:2758:30 | in : List [] : Object | Test.java:2758:4:2758:6 | out [post update] : Builder [] : Object | provenance | MaD:128 | +| Test.java:2759:21:2759:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2759:21:2759:23 | out : Builder [] : Object | Test.java:2759:9:2759:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2764:16:2764:31 | (...)... : Object | Test.java:2765:15:2765:16 | in : Object | provenance | | +| Test.java:2764:24:2764:31 | source(...) : Object | Test.java:2764:16:2764:31 | (...)... : Object | provenance | | +| Test.java:2765:4:2765:6 | out [post update] : Builder [] : Object | Test.java:2766:19:2766:21 | out : Builder [] : Object | provenance | | +| Test.java:2765:15:2765:16 | in : Object | Test.java:2765:4:2765:6 | out [post update] : Builder [] : Object | provenance | MaD:129 | +| Test.java:2766:19:2766:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2766:19:2766:21 | out : Builder [] : Object | Test.java:2766:9:2766:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2771:16:2771:31 | (...)... : Object | Test.java:2772:15:2772:16 | in : Object | provenance | | +| Test.java:2771:24:2771:31 | source(...) : Object | Test.java:2771:16:2771:31 | (...)... : Object | provenance | | +| Test.java:2772:4:2772:6 | out [post update] : Builder [] : Object | Test.java:2773:19:2773:21 | out : Builder [] : Object | provenance | | +| Test.java:2772:15:2772:16 | in : Object | Test.java:2772:4:2772:6 | out [post update] : Builder [] : Object | provenance | MaD:129 | +| Test.java:2773:19:2773:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2773:19:2773:21 | out : Builder [] : Object | Test.java:2773:9:2773:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2778:16:2778:31 | (...)... : Object | Test.java:2779:15:2779:16 | in : Object | provenance | | +| Test.java:2778:24:2778:31 | source(...) : Object | Test.java:2778:16:2778:31 | (...)... : Object | provenance | | +| Test.java:2779:4:2779:6 | out [post update] : Builder [] : Object | Test.java:2780:19:2780:21 | out : Builder [] : Object | provenance | | +| Test.java:2779:15:2779:16 | in : Object | Test.java:2779:4:2779:6 | out [post update] : Builder [] : Object | provenance | MaD:129 | +| Test.java:2780:19:2780:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | provenance | | +| Test.java:2780:19:2780:21 | out : Builder [] : Object | Test.java:2780:9:2780:22 | getMapKey(...) | provenance | MaD:113 | +| Test.java:2785:18:2785:49 | (...)... : Object[] [[]] : Object | Test.java:2786:29:2786:30 | in : Object[] [[]] : Object | provenance | | +| Test.java:2785:28:2785:49 | {...} : Object[] [[]] : Object | Test.java:2785:18:2785:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:2785:41:2785:48 | source(...) : Object | Test.java:2785:28:2785:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:2786:4:2786:6 | out [post update] : Builder [] : Object | Test.java:2787:21:2787:23 | out : Builder [] : Object | provenance | | +| Test.java:2786:29:2786:30 | in : Object[] [[]] : Object | Test.java:2786:4:2786:6 | out [post update] : Builder [] : Object | provenance | MaD:130 | +| Test.java:2787:21:2787:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2787:21:2787:23 | out : Builder [] : Object | Test.java:2787:9:2787:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2792:18:2792:49 | (...)... : Object[] [[]] : Object | Test.java:2793:29:2793:30 | in : Object[] [[]] : Object | provenance | | +| Test.java:2792:28:2792:49 | {...} : Object[] [[]] : Object | Test.java:2792:18:2792:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:2792:41:2792:48 | source(...) : Object | Test.java:2792:28:2792:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:2793:4:2793:6 | out [post update] : Builder [] : Object | Test.java:2794:21:2794:23 | out : Builder [] : Object | provenance | | +| Test.java:2793:29:2793:30 | in : Object[] [[]] : Object | Test.java:2793:4:2793:6 | out [post update] : Builder [] : Object | provenance | MaD:130 | +| Test.java:2794:21:2794:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2794:21:2794:23 | out : Builder [] : Object | Test.java:2794:9:2794:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2799:18:2799:49 | (...)... : Object[] [[]] : Object | Test.java:2800:29:2800:30 | in : Object[] [[]] : Object | provenance | | +| Test.java:2799:28:2799:49 | {...} : Object[] [[]] : Object | Test.java:2799:18:2799:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:2799:41:2799:48 | source(...) : Object | Test.java:2799:28:2799:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:2800:4:2800:6 | out [post update] : Builder [] : Object | Test.java:2801:21:2801:23 | out : Builder [] : Object | provenance | | +| Test.java:2800:29:2800:30 | in : Object[] [[]] : Object | Test.java:2800:4:2800:6 | out [post update] : Builder [] : Object | provenance | MaD:130 | +| Test.java:2801:21:2801:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | provenance | | +| Test.java:2801:21:2801:23 | out : Builder [] : Object | Test.java:2801:9:2801:24 | getMapValue(...) | provenance | MaD:114 | +| Test.java:2806:38:2806:75 | (...)... : Builder | Test.java:2807:10:2807:11 | in : Builder | provenance | | +| Test.java:2806:68:2806:75 | source(...) : Object | Test.java:2806:38:2806:75 | (...)... : Builder | provenance | | +| Test.java:2807:10:2807:11 | in : Builder | Test.java:2807:10:2807:48 | putAll(...) : Builder | provenance | MaD:122 | +| Test.java:2807:10:2807:48 | putAll(...) : Builder | Test.java:2808:9:2808:11 | out | provenance | | +| Test.java:2813:38:2813:75 | (...)... : Builder | Test.java:2814:10:2814:11 | in : Builder | provenance | | +| Test.java:2813:68:2813:75 | source(...) : Object | Test.java:2813:38:2813:75 | (...)... : Builder | provenance | | +| Test.java:2814:10:2814:11 | in : Builder | Test.java:2814:10:2814:48 | putAll(...) : Builder | provenance | MaD:122 | +| Test.java:2814:10:2814:48 | putAll(...) : Builder | Test.java:2815:9:2815:11 | out | provenance | | +| Test.java:2820:38:2820:75 | (...)... : Builder | Test.java:2821:10:2821:11 | in : Builder | provenance | | +| Test.java:2820:68:2820:75 | source(...) : Object | Test.java:2820:38:2820:75 | (...)... : Builder | provenance | | +| Test.java:2821:10:2821:11 | in : Builder | Test.java:2821:10:2821:34 | putAll(...) : Builder | provenance | MaD:122 | +| Test.java:2821:10:2821:34 | putAll(...) : Builder | Test.java:2822:9:2822:11 | out | provenance | | +| Test.java:2827:38:2827:75 | (...)... : Builder | Test.java:2828:10:2828:11 | in : Builder | provenance | | +| Test.java:2827:68:2827:75 | source(...) : Object | Test.java:2827:38:2827:75 | (...)... : Builder | provenance | | +| Test.java:2828:10:2828:11 | in : Builder | Test.java:2828:10:2828:34 | putAll(...) : Builder | provenance | MaD:122 | +| Test.java:2828:10:2828:34 | putAll(...) : Builder | Test.java:2829:9:2829:11 | out | provenance | | +| Test.java:2834:35:2834:69 | (...)... : Builder | Test.java:2835:10:2835:11 | in : Builder | provenance | | +| Test.java:2834:62:2834:69 | source(...) : Object | Test.java:2834:35:2834:69 | (...)... : Builder | provenance | | +| Test.java:2835:10:2835:11 | in : Builder | Test.java:2835:10:2835:48 | putAll(...) : Builder | provenance | MaD:122 | +| Test.java:2835:10:2835:48 | putAll(...) : Builder | Test.java:2836:9:2836:11 | out | provenance | | +| Test.java:2841:35:2841:69 | (...)... : Builder | Test.java:2842:10:2842:11 | in : Builder | provenance | | +| Test.java:2841:62:2841:69 | source(...) : Object | Test.java:2841:35:2841:69 | (...)... : Builder | provenance | | +| Test.java:2842:10:2842:11 | in : Builder | Test.java:2842:10:2842:48 | putAll(...) : Builder | provenance | MaD:122 | +| Test.java:2842:10:2842:48 | putAll(...) : Builder | Test.java:2843:9:2843:11 | out | provenance | | +| Test.java:2848:35:2848:69 | (...)... : Builder | Test.java:2849:10:2849:11 | in : Builder | provenance | | +| Test.java:2848:62:2848:69 | source(...) : Object | Test.java:2848:35:2848:69 | (...)... : Builder | provenance | | +| Test.java:2849:10:2849:11 | in : Builder | Test.java:2849:10:2849:34 | putAll(...) : Builder | provenance | MaD:122 | +| Test.java:2849:10:2849:34 | putAll(...) : Builder | Test.java:2850:9:2850:11 | out | provenance | | +| Test.java:2855:35:2855:69 | (...)... : Builder | Test.java:2856:10:2856:11 | in : Builder | provenance | | +| Test.java:2855:62:2855:69 | source(...) : Object | Test.java:2855:35:2855:69 | (...)... : Builder | provenance | | +| Test.java:2856:10:2856:11 | in : Builder | Test.java:2856:10:2856:34 | putAll(...) : Builder | provenance | MaD:122 | +| Test.java:2856:10:2856:34 | putAll(...) : Builder | Test.java:2857:9:2857:11 | out | provenance | | +| Test.java:2862:39:2862:77 | (...)... : Builder | Test.java:2863:10:2863:11 | in : Builder | provenance | | +| Test.java:2862:70:2862:77 | source(...) : Object | Test.java:2862:39:2862:77 | (...)... : Builder | provenance | | +| Test.java:2863:10:2863:11 | in : Builder | Test.java:2863:10:2863:48 | putAll(...) : Builder | provenance | MaD:122 | +| Test.java:2863:10:2863:48 | putAll(...) : Builder | Test.java:2864:9:2864:11 | out | provenance | | +| Test.java:2869:39:2869:77 | (...)... : Builder | Test.java:2870:10:2870:11 | in : Builder | provenance | | +| Test.java:2869:70:2869:77 | source(...) : Object | Test.java:2869:39:2869:77 | (...)... : Builder | provenance | | +| Test.java:2870:10:2870:11 | in : Builder | Test.java:2870:10:2870:48 | putAll(...) : Builder | provenance | MaD:122 | +| Test.java:2870:10:2870:48 | putAll(...) : Builder | Test.java:2871:9:2871:11 | out | provenance | | +| Test.java:2876:39:2876:77 | (...)... : Builder | Test.java:2877:10:2877:11 | in : Builder | provenance | | +| Test.java:2876:70:2876:77 | source(...) : Object | Test.java:2876:39:2876:77 | (...)... : Builder | provenance | | +| Test.java:2877:10:2877:11 | in : Builder | Test.java:2877:10:2877:34 | putAll(...) : Builder | provenance | MaD:122 | +| Test.java:2877:10:2877:34 | putAll(...) : Builder | Test.java:2878:9:2878:11 | out | provenance | | +| Test.java:2883:39:2883:77 | (...)... : Builder | Test.java:2884:10:2884:11 | in : Builder | provenance | | +| Test.java:2883:70:2883:77 | source(...) : Object | Test.java:2883:39:2883:77 | (...)... : Builder | provenance | | +| Test.java:2884:10:2884:11 | in : Builder | Test.java:2884:10:2884:34 | putAll(...) : Builder | provenance | MaD:122 | +| Test.java:2884:10:2884:34 | putAll(...) : Builder | Test.java:2885:9:2885:11 | out | provenance | | +| Test.java:2890:18:2890:64 | (...)... : List [, ] : Object | Test.java:2891:35:2891:36 | in : List [, ] : Object | provenance | | +| Test.java:2890:28:2890:64 | of(...) : List [, ] : Object | Test.java:2890:18:2890:64 | (...)... : List [, ] : Object | provenance | | +| Test.java:2890:36:2890:63 | newEntryWithMapKey(...) : Entry [] : Object | Test.java:2890:28:2890:64 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:2890:55:2890:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | provenance | | +| Test.java:2890:55:2890:62 | source(...) : Object | Test.java:2890:36:2890:63 | newEntryWithMapKey(...) : Entry [] : Object | provenance | MaD:563 | +| Test.java:2891:10:2891:37 | copyOf(...) : ImmutableMultimap [] : Object | Test.java:2892:19:2892:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:2891:35:2891:36 | in : List [, ] : Object | Test.java:2891:10:2891:37 | copyOf(...) : ImmutableMultimap [] : Object | provenance | MaD:97 | +| Test.java:2892:19:2892:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:2892:19:2892:21 | out : ImmutableMultimap [] : Object | Test.java:2892:9:2892:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:2897:18:2897:66 | (...)... : List [, ] : Object | Test.java:2898:35:2898:36 | in : List [, ] : Object | provenance | | +| Test.java:2897:28:2897:66 | of(...) : List [, ] : Object | Test.java:2897:18:2897:66 | (...)... : List [, ] : Object | provenance | | +| Test.java:2897:36:2897:65 | newEntryWithMapValue(...) : Entry [] : Object | Test.java:2897:28:2897:66 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:2897:57:2897:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | provenance | | +| Test.java:2897:57:2897:64 | source(...) : Object | Test.java:2897:36:2897:65 | newEntryWithMapValue(...) : Entry [] : Object | provenance | MaD:564 | +| Test.java:2898:10:2898:37 | copyOf(...) : ImmutableMultimap [] : Object | Test.java:2899:21:2899:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:2898:35:2898:36 | in : List [, ] : Object | Test.java:2898:10:2898:37 | copyOf(...) : ImmutableMultimap [] : Object | provenance | MaD:98 | +| Test.java:2899:21:2899:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:2899:21:2899:23 | out : ImmutableMultimap [] : Object | Test.java:2899:9:2899:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:2904:18:2904:63 | (...)... : ImmutableMultimap [] : Object | Test.java:2905:35:2905:36 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:2904:28:2904:63 | of(...) : ImmutableMultimap [] : Object | Test.java:2904:18:2904:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:2904:49:2904:56 | source(...) : Object | Test.java:2904:28:2904:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:2905:10:2905:37 | copyOf(...) : ImmutableMultimap [] : Object | Test.java:2906:19:2906:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:2905:35:2905:36 | in : ImmutableMultimap [] : Object | Test.java:2905:10:2905:37 | copyOf(...) : ImmutableMultimap [] : Object | provenance | MaD:99 | +| Test.java:2906:19:2906:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:2906:19:2906:21 | out : ImmutableMultimap [] : Object | Test.java:2906:9:2906:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:2911:18:2911:63 | (...)... : ImmutableMultimap [] : Object | Test.java:2912:35:2912:36 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:2911:28:2911:63 | of(...) : ImmutableMultimap [] : Object | Test.java:2911:18:2911:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:2911:55:2911:62 | source(...) : Object | Test.java:2911:28:2911:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:2912:10:2912:37 | copyOf(...) : ImmutableMultimap [] : Object | Test.java:2913:21:2913:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:2912:35:2912:36 | in : ImmutableMultimap [] : Object | Test.java:2912:10:2912:37 | copyOf(...) : ImmutableMultimap [] : Object | provenance | MaD:100 | +| Test.java:2913:21:2913:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:2913:21:2913:23 | out : ImmutableMultimap [] : Object | Test.java:2913:9:2913:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:2918:30:2918:90 | (...)... : ImmutableSetMultimap [] : Object | Test.java:2919:10:2919:11 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:2918:52:2918:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:2918:30:2918:90 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:2918:76:2918:83 | source(...) : Object | Test.java:2918:52:2918:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:145 | +| Test.java:2919:10:2919:11 | in : ImmutableSetMultimap [] : Object | Test.java:2919:10:2919:21 | inverse(...) : ImmutableSetMultimap [] : Object | provenance | MaD:101 | +| Test.java:2919:10:2919:21 | inverse(...) : ImmutableSetMultimap [] : Object | Test.java:2920:21:2920:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:2920:21:2920:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:2920:21:2920:23 | out : ImmutableSetMultimap [] : Object | Test.java:2920:9:2920:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:2925:27:2925:81 | (...)... : ImmutableMultimap [] : Object | Test.java:2926:10:2926:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:2925:46:2925:81 | of(...) : ImmutableMultimap [] : Object | Test.java:2925:27:2925:81 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:2925:67:2925:74 | source(...) : Object | Test.java:2925:46:2925:81 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:2926:10:2926:11 | in : ImmutableMultimap [] : Object | Test.java:2926:10:2926:21 | inverse(...) : ImmutableMultimap [] : Object | provenance | MaD:101 | +| Test.java:2926:10:2926:21 | inverse(...) : ImmutableMultimap [] : Object | Test.java:2927:21:2927:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:2927:21:2927:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:2927:21:2927:23 | out : ImmutableMultimap [] : Object | Test.java:2927:9:2927:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:2932:31:2932:93 | (...)... : ImmutableListMultimap [] : Object | Test.java:2933:10:2933:11 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:2932:54:2932:93 | of(...) : ImmutableListMultimap [] : Object | Test.java:2932:31:2932:93 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:2932:79:2932:86 | source(...) : Object | Test.java:2932:54:2932:93 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:60 | +| Test.java:2933:10:2933:11 | in : ImmutableListMultimap [] : Object | Test.java:2933:10:2933:21 | inverse(...) : ImmutableListMultimap [] : Object | provenance | MaD:101 | +| Test.java:2933:10:2933:21 | inverse(...) : ImmutableListMultimap [] : Object | Test.java:2934:21:2934:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:2934:21:2934:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:2934:21:2934:23 | out : ImmutableListMultimap [] : Object | Test.java:2934:9:2934:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:2939:30:2939:90 | (...)... : ImmutableSetMultimap [] : Object | Test.java:2940:10:2940:11 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:2939:52:2939:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:2939:30:2939:90 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:2939:82:2939:89 | source(...) : Object | Test.java:2939:52:2939:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:2940:10:2940:11 | in : ImmutableSetMultimap [] : Object | Test.java:2940:10:2940:21 | inverse(...) : ImmutableSetMultimap [] : Object | provenance | MaD:102 | +| Test.java:2940:10:2940:21 | inverse(...) : ImmutableSetMultimap [] : Object | Test.java:2941:19:2941:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:2941:19:2941:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:2941:19:2941:21 | out : ImmutableSetMultimap [] : Object | Test.java:2941:9:2941:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:2946:27:2946:81 | (...)... : ImmutableMultimap [] : Object | Test.java:2947:10:2947:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:2946:46:2946:81 | of(...) : ImmutableMultimap [] : Object | Test.java:2946:27:2946:81 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:2946:73:2946:80 | source(...) : Object | Test.java:2946:46:2946:81 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:2947:10:2947:11 | in : ImmutableMultimap [] : Object | Test.java:2947:10:2947:21 | inverse(...) : ImmutableMultimap [] : Object | provenance | MaD:102 | +| Test.java:2947:10:2947:21 | inverse(...) : ImmutableMultimap [] : Object | Test.java:2948:19:2948:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:2948:19:2948:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:2948:19:2948:21 | out : ImmutableMultimap [] : Object | Test.java:2948:9:2948:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:2953:31:2953:93 | (...)... : ImmutableListMultimap [] : Object | Test.java:2954:10:2954:11 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:2953:54:2953:93 | of(...) : ImmutableListMultimap [] : Object | Test.java:2953:31:2953:93 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:2953:85:2953:92 | source(...) : Object | Test.java:2953:54:2953:93 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:61 | +| Test.java:2954:10:2954:11 | in : ImmutableListMultimap [] : Object | Test.java:2954:10:2954:21 | inverse(...) : ImmutableListMultimap [] : Object | provenance | MaD:102 | +| Test.java:2954:10:2954:21 | inverse(...) : ImmutableListMultimap [] : Object | Test.java:2955:19:2955:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:2955:19:2955:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:2955:19:2955:21 | out : ImmutableListMultimap [] : Object | Test.java:2955:9:2955:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:2960:16:2960:31 | (...)... : Object | Test.java:2961:31:2961:32 | in : Object | provenance | | +| Test.java:2960:24:2960:31 | source(...) : Object | Test.java:2960:16:2960:31 | (...)... : Object | provenance | | +| Test.java:2961:10:2961:87 | of(...) : ImmutableMultimap [] : Object | Test.java:2962:19:2962:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:2961:31:2961:32 | in : Object | Test.java:2961:10:2961:87 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:2962:19:2962:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:2962:19:2962:21 | out : ImmutableMultimap [] : Object | Test.java:2962:9:2962:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:2967:16:2967:31 | (...)... : Object | Test.java:2968:31:2968:32 | in : Object | provenance | | +| Test.java:2967:24:2967:31 | source(...) : Object | Test.java:2967:16:2967:31 | (...)... : Object | provenance | | +| Test.java:2968:10:2968:75 | of(...) : ImmutableMultimap [] : Object | Test.java:2969:19:2969:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:2968:31:2968:32 | in : Object | Test.java:2968:10:2968:75 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:2969:19:2969:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:2969:19:2969:21 | out : ImmutableMultimap [] : Object | Test.java:2969:9:2969:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:2974:16:2974:31 | (...)... : Object | Test.java:2975:31:2975:32 | in : Object | provenance | | +| Test.java:2974:24:2974:31 | source(...) : Object | Test.java:2974:16:2974:31 | (...)... : Object | provenance | | +| Test.java:2975:10:2975:63 | of(...) : ImmutableMultimap [] : Object | Test.java:2976:19:2976:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:2975:31:2975:32 | in : Object | Test.java:2975:10:2975:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:2976:19:2976:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:2976:19:2976:21 | out : ImmutableMultimap [] : Object | Test.java:2976:9:2976:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:2981:16:2981:31 | (...)... : Object | Test.java:2982:31:2982:32 | in : Object | provenance | | +| Test.java:2981:24:2981:31 | source(...) : Object | Test.java:2981:16:2981:31 | (...)... : Object | provenance | | +| Test.java:2982:10:2982:51 | of(...) : ImmutableMultimap [] : Object | Test.java:2983:19:2983:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:2982:31:2982:32 | in : Object | Test.java:2982:10:2982:51 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:2983:19:2983:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:2983:19:2983:21 | out : ImmutableMultimap [] : Object | Test.java:2983:9:2983:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:2988:16:2988:31 | (...)... : Object | Test.java:2989:31:2989:32 | in : Object | provenance | | +| Test.java:2988:24:2988:31 | source(...) : Object | Test.java:2988:16:2988:31 | (...)... : Object | provenance | | +| Test.java:2989:10:2989:39 | of(...) : ImmutableMultimap [] : Object | Test.java:2990:19:2990:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:2989:31:2989:32 | in : Object | Test.java:2989:10:2989:39 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:2990:19:2990:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:2990:19:2990:21 | out : ImmutableMultimap [] : Object | Test.java:2990:9:2990:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:2995:16:2995:31 | (...)... : Object | Test.java:2996:37:2996:38 | in : Object | provenance | | +| Test.java:2995:24:2995:31 | source(...) : Object | Test.java:2995:16:2995:31 | (...)... : Object | provenance | | +| Test.java:2996:10:2996:87 | of(...) : ImmutableMultimap [] : Object | Test.java:2997:21:2997:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:2996:37:2996:38 | in : Object | Test.java:2996:10:2996:87 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:2997:21:2997:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:2997:21:2997:23 | out : ImmutableMultimap [] : Object | Test.java:2997:9:2997:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3002:16:3002:31 | (...)... : Object | Test.java:3003:37:3003:38 | in : Object | provenance | | +| Test.java:3002:24:3002:31 | source(...) : Object | Test.java:3002:16:3002:31 | (...)... : Object | provenance | | +| Test.java:3003:10:3003:75 | of(...) : ImmutableMultimap [] : Object | Test.java:3004:21:3004:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3003:37:3003:38 | in : Object | Test.java:3003:10:3003:75 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:3004:21:3004:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3004:21:3004:23 | out : ImmutableMultimap [] : Object | Test.java:3004:9:3004:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3009:16:3009:31 | (...)... : Object | Test.java:3010:37:3010:38 | in : Object | provenance | | +| Test.java:3009:24:3009:31 | source(...) : Object | Test.java:3009:16:3009:31 | (...)... : Object | provenance | | +| Test.java:3010:10:3010:63 | of(...) : ImmutableMultimap [] : Object | Test.java:3011:21:3011:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3010:37:3010:38 | in : Object | Test.java:3010:10:3010:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:3011:21:3011:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3011:21:3011:23 | out : ImmutableMultimap [] : Object | Test.java:3011:9:3011:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3016:16:3016:31 | (...)... : Object | Test.java:3017:37:3017:38 | in : Object | provenance | | +| Test.java:3016:24:3016:31 | source(...) : Object | Test.java:3016:16:3016:31 | (...)... : Object | provenance | | +| Test.java:3017:10:3017:51 | of(...) : ImmutableMultimap [] : Object | Test.java:3018:21:3018:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3017:37:3017:38 | in : Object | Test.java:3017:10:3017:51 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:3018:21:3018:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3018:21:3018:23 | out : ImmutableMultimap [] : Object | Test.java:3018:9:3018:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3023:16:3023:31 | (...)... : Object | Test.java:3024:37:3024:38 | in : Object | provenance | | +| Test.java:3023:24:3023:31 | source(...) : Object | Test.java:3023:16:3023:31 | (...)... : Object | provenance | | +| Test.java:3024:10:3024:39 | of(...) : ImmutableMultimap [] : Object | Test.java:3025:21:3025:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3024:37:3024:38 | in : Object | Test.java:3024:10:3024:39 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:3025:21:3025:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3025:21:3025:23 | out : ImmutableMultimap [] : Object | Test.java:3025:9:3025:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3030:16:3030:31 | (...)... : Object | Test.java:3031:43:3031:44 | in : Object | provenance | | +| Test.java:3030:24:3030:31 | source(...) : Object | Test.java:3030:16:3030:31 | (...)... : Object | provenance | | +| Test.java:3031:10:3031:87 | of(...) : ImmutableMultimap [] : Object | Test.java:3032:19:3032:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3031:43:3031:44 | in : Object | Test.java:3031:10:3031:87 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:105 | +| Test.java:3032:19:3032:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3032:19:3032:21 | out : ImmutableMultimap [] : Object | Test.java:3032:9:3032:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3037:16:3037:31 | (...)... : Object | Test.java:3038:43:3038:44 | in : Object | provenance | | +| Test.java:3037:24:3037:31 | source(...) : Object | Test.java:3037:16:3037:31 | (...)... : Object | provenance | | +| Test.java:3038:10:3038:75 | of(...) : ImmutableMultimap [] : Object | Test.java:3039:19:3039:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3038:43:3038:44 | in : Object | Test.java:3038:10:3038:75 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:105 | +| Test.java:3039:19:3039:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3039:19:3039:21 | out : ImmutableMultimap [] : Object | Test.java:3039:9:3039:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3044:16:3044:31 | (...)... : Object | Test.java:3045:43:3045:44 | in : Object | provenance | | +| Test.java:3044:24:3044:31 | source(...) : Object | Test.java:3044:16:3044:31 | (...)... : Object | provenance | | +| Test.java:3045:10:3045:63 | of(...) : ImmutableMultimap [] : Object | Test.java:3046:19:3046:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3045:43:3045:44 | in : Object | Test.java:3045:10:3045:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:105 | +| Test.java:3046:19:3046:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3046:19:3046:21 | out : ImmutableMultimap [] : Object | Test.java:3046:9:3046:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3051:16:3051:31 | (...)... : Object | Test.java:3052:43:3052:44 | in : Object | provenance | | +| Test.java:3051:24:3051:31 | source(...) : Object | Test.java:3051:16:3051:31 | (...)... : Object | provenance | | +| Test.java:3052:10:3052:51 | of(...) : ImmutableMultimap [] : Object | Test.java:3053:19:3053:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3052:43:3052:44 | in : Object | Test.java:3052:10:3052:51 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:105 | +| Test.java:3053:19:3053:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3053:19:3053:21 | out : ImmutableMultimap [] : Object | Test.java:3053:9:3053:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3058:16:3058:31 | (...)... : Object | Test.java:3059:49:3059:50 | in : Object | provenance | | +| Test.java:3058:24:3058:31 | source(...) : Object | Test.java:3058:16:3058:31 | (...)... : Object | provenance | | +| Test.java:3059:10:3059:87 | of(...) : ImmutableMultimap [] : Object | Test.java:3060:21:3060:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3059:49:3059:50 | in : Object | Test.java:3059:10:3059:87 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:106 | +| Test.java:3060:21:3060:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3060:21:3060:23 | out : ImmutableMultimap [] : Object | Test.java:3060:9:3060:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3065:16:3065:31 | (...)... : Object | Test.java:3066:49:3066:50 | in : Object | provenance | | +| Test.java:3065:24:3065:31 | source(...) : Object | Test.java:3065:16:3065:31 | (...)... : Object | provenance | | +| Test.java:3066:10:3066:75 | of(...) : ImmutableMultimap [] : Object | Test.java:3067:21:3067:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3066:49:3066:50 | in : Object | Test.java:3066:10:3066:75 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:106 | +| Test.java:3067:21:3067:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3067:21:3067:23 | out : ImmutableMultimap [] : Object | Test.java:3067:9:3067:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3072:16:3072:31 | (...)... : Object | Test.java:3073:49:3073:50 | in : Object | provenance | | +| Test.java:3072:24:3072:31 | source(...) : Object | Test.java:3072:16:3072:31 | (...)... : Object | provenance | | +| Test.java:3073:10:3073:63 | of(...) : ImmutableMultimap [] : Object | Test.java:3074:21:3074:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3073:49:3073:50 | in : Object | Test.java:3073:10:3073:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:106 | +| Test.java:3074:21:3074:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3074:21:3074:23 | out : ImmutableMultimap [] : Object | Test.java:3074:9:3074:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3079:16:3079:31 | (...)... : Object | Test.java:3080:49:3080:50 | in : Object | provenance | | +| Test.java:3079:24:3079:31 | source(...) : Object | Test.java:3079:16:3079:31 | (...)... : Object | provenance | | +| Test.java:3080:10:3080:51 | of(...) : ImmutableMultimap [] : Object | Test.java:3081:21:3081:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3080:49:3080:50 | in : Object | Test.java:3080:10:3080:51 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:106 | +| Test.java:3081:21:3081:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3081:21:3081:23 | out : ImmutableMultimap [] : Object | Test.java:3081:9:3081:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3086:16:3086:31 | (...)... : Object | Test.java:3087:55:3087:56 | in : Object | provenance | | +| Test.java:3086:24:3086:31 | source(...) : Object | Test.java:3086:16:3086:31 | (...)... : Object | provenance | | +| Test.java:3087:10:3087:87 | of(...) : ImmutableMultimap [] : Object | Test.java:3088:19:3088:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3087:55:3087:56 | in : Object | Test.java:3087:10:3087:87 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:107 | +| Test.java:3088:19:3088:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3088:19:3088:21 | out : ImmutableMultimap [] : Object | Test.java:3088:9:3088:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3093:16:3093:31 | (...)... : Object | Test.java:3094:55:3094:56 | in : Object | provenance | | +| Test.java:3093:24:3093:31 | source(...) : Object | Test.java:3093:16:3093:31 | (...)... : Object | provenance | | +| Test.java:3094:10:3094:75 | of(...) : ImmutableMultimap [] : Object | Test.java:3095:19:3095:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3094:55:3094:56 | in : Object | Test.java:3094:10:3094:75 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:107 | +| Test.java:3095:19:3095:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3095:19:3095:21 | out : ImmutableMultimap [] : Object | Test.java:3095:9:3095:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3100:16:3100:31 | (...)... : Object | Test.java:3101:55:3101:56 | in : Object | provenance | | +| Test.java:3100:24:3100:31 | source(...) : Object | Test.java:3100:16:3100:31 | (...)... : Object | provenance | | +| Test.java:3101:10:3101:63 | of(...) : ImmutableMultimap [] : Object | Test.java:3102:19:3102:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3101:55:3101:56 | in : Object | Test.java:3101:10:3101:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:107 | +| Test.java:3102:19:3102:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3102:19:3102:21 | out : ImmutableMultimap [] : Object | Test.java:3102:9:3102:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3107:16:3107:31 | (...)... : Object | Test.java:3108:61:3108:62 | in : Object | provenance | | +| Test.java:3107:24:3107:31 | source(...) : Object | Test.java:3107:16:3107:31 | (...)... : Object | provenance | | +| Test.java:3108:10:3108:87 | of(...) : ImmutableMultimap [] : Object | Test.java:3109:21:3109:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3108:61:3108:62 | in : Object | Test.java:3108:10:3108:87 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:108 | +| Test.java:3109:21:3109:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3109:21:3109:23 | out : ImmutableMultimap [] : Object | Test.java:3109:9:3109:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3114:16:3114:31 | (...)... : Object | Test.java:3115:61:3115:62 | in : Object | provenance | | +| Test.java:3114:24:3114:31 | source(...) : Object | Test.java:3114:16:3114:31 | (...)... : Object | provenance | | +| Test.java:3115:10:3115:75 | of(...) : ImmutableMultimap [] : Object | Test.java:3116:21:3116:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3115:61:3115:62 | in : Object | Test.java:3115:10:3115:75 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:108 | +| Test.java:3116:21:3116:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3116:21:3116:23 | out : ImmutableMultimap [] : Object | Test.java:3116:9:3116:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3121:16:3121:31 | (...)... : Object | Test.java:3122:61:3122:62 | in : Object | provenance | | +| Test.java:3121:24:3121:31 | source(...) : Object | Test.java:3121:16:3121:31 | (...)... : Object | provenance | | +| Test.java:3122:10:3122:63 | of(...) : ImmutableMultimap [] : Object | Test.java:3123:21:3123:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3122:61:3122:62 | in : Object | Test.java:3122:10:3122:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:108 | +| Test.java:3123:21:3123:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3123:21:3123:23 | out : ImmutableMultimap [] : Object | Test.java:3123:9:3123:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3128:16:3128:31 | (...)... : Object | Test.java:3129:67:3129:68 | in : Object | provenance | | +| Test.java:3128:24:3128:31 | source(...) : Object | Test.java:3128:16:3128:31 | (...)... : Object | provenance | | +| Test.java:3129:10:3129:87 | of(...) : ImmutableMultimap [] : Object | Test.java:3130:19:3130:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3129:67:3129:68 | in : Object | Test.java:3129:10:3129:87 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:109 | +| Test.java:3130:19:3130:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3130:19:3130:21 | out : ImmutableMultimap [] : Object | Test.java:3130:9:3130:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3135:16:3135:31 | (...)... : Object | Test.java:3136:67:3136:68 | in : Object | provenance | | +| Test.java:3135:24:3135:31 | source(...) : Object | Test.java:3135:16:3135:31 | (...)... : Object | provenance | | +| Test.java:3136:10:3136:75 | of(...) : ImmutableMultimap [] : Object | Test.java:3137:19:3137:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3136:67:3136:68 | in : Object | Test.java:3136:10:3136:75 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:109 | +| Test.java:3137:19:3137:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3137:19:3137:21 | out : ImmutableMultimap [] : Object | Test.java:3137:9:3137:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3142:16:3142:31 | (...)... : Object | Test.java:3143:73:3143:74 | in : Object | provenance | | +| Test.java:3142:24:3142:31 | source(...) : Object | Test.java:3142:16:3142:31 | (...)... : Object | provenance | | +| Test.java:3143:10:3143:87 | of(...) : ImmutableMultimap [] : Object | Test.java:3144:21:3144:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3143:73:3143:74 | in : Object | Test.java:3143:10:3143:87 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:110 | +| Test.java:3144:21:3144:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3144:21:3144:23 | out : ImmutableMultimap [] : Object | Test.java:3144:9:3144:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3149:16:3149:31 | (...)... : Object | Test.java:3150:73:3150:74 | in : Object | provenance | | +| Test.java:3149:24:3149:31 | source(...) : Object | Test.java:3149:16:3149:31 | (...)... : Object | provenance | | +| Test.java:3150:10:3150:75 | of(...) : ImmutableMultimap [] : Object | Test.java:3151:21:3151:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3150:73:3150:74 | in : Object | Test.java:3150:10:3150:75 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:110 | +| Test.java:3151:21:3151:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3151:21:3151:23 | out : ImmutableMultimap [] : Object | Test.java:3151:9:3151:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3156:16:3156:31 | (...)... : Object | Test.java:3157:79:3157:80 | in : Object | provenance | | +| Test.java:3156:24:3156:31 | source(...) : Object | Test.java:3156:16:3156:31 | (...)... : Object | provenance | | +| Test.java:3157:10:3157:87 | of(...) : ImmutableMultimap [] : Object | Test.java:3158:19:3158:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3157:79:3157:80 | in : Object | Test.java:3157:10:3157:87 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:111 | +| Test.java:3158:19:3158:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3158:19:3158:21 | out : ImmutableMultimap [] : Object | Test.java:3158:9:3158:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3163:16:3163:31 | (...)... : Object | Test.java:3164:85:3164:86 | in : Object | provenance | | +| Test.java:3163:24:3163:31 | source(...) : Object | Test.java:3163:16:3163:31 | (...)... : Object | provenance | | +| Test.java:3164:10:3164:87 | of(...) : ImmutableMultimap [] : Object | Test.java:3165:21:3165:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:3164:85:3164:86 | in : Object | Test.java:3164:10:3164:87 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:112 | +| Test.java:3165:21:3165:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:3165:21:3165:23 | out : ImmutableMultimap [] : Object | Test.java:3165:9:3165:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3170:41:3170:81 | (...)... : Builder | Test.java:3171:10:3171:11 | in : Builder | provenance | | +| Test.java:3170:74:3170:81 | source(...) : Object | Test.java:3170:41:3170:81 | (...)... : Builder | provenance | | +| Test.java:3171:10:3171:11 | in : Builder | Test.java:3171:10:3171:30 | addCopies(...) : Builder | provenance | MaD:136 | +| Test.java:3171:10:3171:30 | addCopies(...) : Builder | Test.java:3172:9:3172:11 | out | provenance | | +| Test.java:3177:35:3177:69 | (...)... : Builder | Test.java:3178:10:3178:11 | in : Builder | provenance | | +| Test.java:3177:62:3177:69 | source(...) : Object | Test.java:3177:35:3177:69 | (...)... : Builder | provenance | | +| Test.java:3178:10:3178:11 | in : Builder | Test.java:3178:10:3178:30 | addCopies(...) : Builder | provenance | MaD:136 | +| Test.java:3178:10:3178:30 | addCopies(...) : Builder | Test.java:3179:9:3179:11 | out | provenance | | +| Test.java:3184:16:3184:31 | (...)... : Object | Test.java:3185:18:3185:19 | in : Object | provenance | | +| Test.java:3184:24:3184:31 | source(...) : Object | Test.java:3184:16:3184:31 | (...)... : Object | provenance | | +| Test.java:3185:4:3185:6 | out [post update] : Builder [] : Object | Test.java:3186:20:3186:22 | out : Builder [] : Object | provenance | | +| Test.java:3185:18:3185:19 | in : Object | Test.java:3185:4:3185:6 | out [post update] : Builder [] : Object | provenance | MaD:137 | +| Test.java:3186:20:3186:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:3186:20:3186:22 | out : Builder [] : Object | Test.java:3186:9:3186:23 | getElement(...) | provenance | MaD:50 | +| Test.java:3191:16:3191:31 | (...)... : Object | Test.java:3192:18:3192:19 | in : Object | provenance | | +| Test.java:3191:24:3191:31 | source(...) : Object | Test.java:3191:16:3191:31 | (...)... : Object | provenance | | +| Test.java:3192:4:3192:6 | out [post update] : Builder [] : Object | Test.java:3193:20:3193:22 | out : Builder [] : Object | provenance | | +| Test.java:3192:18:3192:19 | in : Object | Test.java:3192:4:3192:6 | out [post update] : Builder [] : Object | provenance | MaD:137 | +| Test.java:3193:20:3193:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:3193:20:3193:22 | out : Builder [] : Object | Test.java:3193:9:3193:23 | getElement(...) | provenance | MaD:50 | +| Test.java:3198:16:3198:31 | (...)... : Object | Test.java:3199:17:3199:18 | in : Object | provenance | | +| Test.java:3198:24:3198:31 | source(...) : Object | Test.java:3198:16:3198:31 | (...)... : Object | provenance | | +| Test.java:3199:4:3199:6 | out [post update] : Builder [] : Object | Test.java:3200:20:3200:22 | out : Builder [] : Object | provenance | | +| Test.java:3199:17:3199:18 | in : Object | Test.java:3199:4:3199:6 | out [post update] : Builder [] : Object | provenance | MaD:138 | +| Test.java:3200:20:3200:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:3200:20:3200:22 | out : Builder [] : Object | Test.java:3200:9:3200:23 | getElement(...) | provenance | MaD:50 | +| Test.java:3205:16:3205:31 | (...)... : Object | Test.java:3206:17:3206:18 | in : Object | provenance | | +| Test.java:3205:24:3205:31 | source(...) : Object | Test.java:3205:16:3205:31 | (...)... : Object | provenance | | +| Test.java:3206:4:3206:6 | out [post update] : Builder [] : Object | Test.java:3207:20:3207:22 | out : Builder [] : Object | provenance | | +| Test.java:3206:17:3206:18 | in : Object | Test.java:3206:4:3206:6 | out [post update] : Builder [] : Object | provenance | MaD:138 | +| Test.java:3207:20:3207:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | provenance | | +| Test.java:3207:20:3207:22 | out : Builder [] : Object | Test.java:3207:9:3207:23 | getElement(...) | provenance | MaD:50 | +| Test.java:3212:18:3212:44 | (...)... : List [] : Object | Test.java:3213:35:3213:36 | in : List [] : Object | provenance | | +| Test.java:3212:28:3212:44 | of(...) : List [] : Object | Test.java:3212:18:3212:44 | (...)... : List [] : Object | provenance | | +| Test.java:3212:36:3212:43 | source(...) : Object | Test.java:3212:28:3212:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:3213:10:3213:37 | copyOf(...) : ImmutableMultiset [] : Object | Test.java:3214:20:3214:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3213:35:3213:36 | in : List [] : Object | Test.java:3213:10:3213:37 | copyOf(...) : ImmutableMultiset [] : Object | provenance | MaD:131 | +| Test.java:3214:20:3214:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3214:20:3214:22 | out : ImmutableMultiset [] : Object | Test.java:3214:9:3214:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3219:18:3219:55 | (...)... : Iterator [] : Object | Test.java:3220:35:3220:36 | in : Iterator [] : Object | provenance | | +| Test.java:3219:28:3219:44 | of(...) : List [] : Object | Test.java:3219:28:3219:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:3219:28:3219:55 | iterator(...) : Iterator [] : Object | Test.java:3219:18:3219:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:3219:36:3219:43 | source(...) : Object | Test.java:3219:28:3219:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:3220:10:3220:37 | copyOf(...) : ImmutableMultiset [] : Object | Test.java:3221:20:3221:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3220:35:3220:36 | in : Iterator [] : Object | Test.java:3220:10:3220:37 | copyOf(...) : ImmutableMultiset [] : Object | provenance | MaD:132 | +| Test.java:3221:20:3221:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3221:20:3221:22 | out : ImmutableMultiset [] : Object | Test.java:3221:9:3221:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3226:18:3226:49 | (...)... : Object[] [[]] : Object | Test.java:3227:35:3227:36 | in : Object[] [[]] : Object | provenance | | +| Test.java:3226:28:3226:49 | {...} : Object[] [[]] : Object | Test.java:3226:18:3226:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:3226:41:3226:48 | source(...) : Object | Test.java:3226:28:3226:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:3227:10:3227:37 | copyOf(...) : ImmutableMultiset [] : Object | Test.java:3228:20:3228:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3227:35:3227:36 | in : Object[] [[]] : Object | Test.java:3227:10:3227:37 | copyOf(...) : ImmutableMultiset [] : Object | provenance | MaD:133 | +| Test.java:3228:20:3228:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3228:20:3228:22 | out : ImmutableMultiset [] : Object | Test.java:3228:9:3228:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3233:16:3233:31 | (...)... : Object | Test.java:3234:55:3234:56 | in : Object | provenance | | +| Test.java:3233:24:3233:31 | source(...) : Object | Test.java:3233:16:3233:31 | (...)... : Object | provenance | | +| Test.java:3234:10:3234:57 | of(...) : ImmutableMultiset [] : Object | Test.java:3235:20:3235:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3234:55:3234:56 | in : Object | Test.java:3234:10:3234:57 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3235:20:3235:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3235:20:3235:22 | out : ImmutableMultiset [] : Object | Test.java:3235:9:3235:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3240:16:3240:31 | (...)... : Object | Test.java:3241:49:3241:50 | in : Object | provenance | | +| Test.java:3240:24:3240:31 | source(...) : Object | Test.java:3240:16:3240:31 | (...)... : Object | provenance | | +| Test.java:3241:10:3241:57 | of(...) : ImmutableMultiset [] : Object | Test.java:3242:20:3242:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3241:49:3241:50 | in : Object | Test.java:3241:10:3241:57 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3242:20:3242:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3242:20:3242:22 | out : ImmutableMultiset [] : Object | Test.java:3242:9:3242:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3247:16:3247:31 | (...)... : Object | Test.java:3248:49:3248:50 | in : Object | provenance | | +| Test.java:3247:24:3247:31 | source(...) : Object | Test.java:3247:16:3247:31 | (...)... : Object | provenance | | +| Test.java:3248:10:3248:51 | of(...) : ImmutableMultiset [] : Object | Test.java:3249:20:3249:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3248:49:3248:50 | in : Object | Test.java:3248:10:3248:51 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3249:20:3249:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3249:20:3249:22 | out : ImmutableMultiset [] : Object | Test.java:3249:9:3249:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3254:16:3254:31 | (...)... : Object | Test.java:3255:43:3255:44 | in : Object | provenance | | +| Test.java:3254:24:3254:31 | source(...) : Object | Test.java:3254:16:3254:31 | (...)... : Object | provenance | | +| Test.java:3255:10:3255:57 | of(...) : ImmutableMultiset [] : Object | Test.java:3256:20:3256:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3255:43:3255:44 | in : Object | Test.java:3255:10:3255:57 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3256:20:3256:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3256:20:3256:22 | out : ImmutableMultiset [] : Object | Test.java:3256:9:3256:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3261:16:3261:31 | (...)... : Object | Test.java:3262:43:3262:44 | in : Object | provenance | | +| Test.java:3261:24:3261:31 | source(...) : Object | Test.java:3261:16:3261:31 | (...)... : Object | provenance | | +| Test.java:3262:10:3262:51 | of(...) : ImmutableMultiset [] : Object | Test.java:3263:20:3263:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3262:43:3262:44 | in : Object | Test.java:3262:10:3262:51 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3263:20:3263:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3263:20:3263:22 | out : ImmutableMultiset [] : Object | Test.java:3263:9:3263:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3268:16:3268:31 | (...)... : Object | Test.java:3269:43:3269:44 | in : Object | provenance | | +| Test.java:3268:24:3268:31 | source(...) : Object | Test.java:3268:16:3268:31 | (...)... : Object | provenance | | +| Test.java:3269:10:3269:45 | of(...) : ImmutableMultiset [] : Object | Test.java:3270:20:3270:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3269:43:3269:44 | in : Object | Test.java:3269:10:3269:45 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3270:20:3270:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3270:20:3270:22 | out : ImmutableMultiset [] : Object | Test.java:3270:9:3270:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3275:16:3275:31 | (...)... : Object | Test.java:3276:37:3276:38 | in : Object | provenance | | +| Test.java:3275:24:3275:31 | source(...) : Object | Test.java:3275:16:3275:31 | (...)... : Object | provenance | | +| Test.java:3276:10:3276:57 | of(...) : ImmutableMultiset [] : Object | Test.java:3277:20:3277:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3276:37:3276:38 | in : Object | Test.java:3276:10:3276:57 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3277:20:3277:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3277:20:3277:22 | out : ImmutableMultiset [] : Object | Test.java:3277:9:3277:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3282:16:3282:31 | (...)... : Object | Test.java:3283:37:3283:38 | in : Object | provenance | | +| Test.java:3282:24:3282:31 | source(...) : Object | Test.java:3282:16:3282:31 | (...)... : Object | provenance | | +| Test.java:3283:10:3283:51 | of(...) : ImmutableMultiset [] : Object | Test.java:3284:20:3284:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3283:37:3283:38 | in : Object | Test.java:3283:10:3283:51 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3284:20:3284:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3284:20:3284:22 | out : ImmutableMultiset [] : Object | Test.java:3284:9:3284:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3289:16:3289:31 | (...)... : Object | Test.java:3290:37:3290:38 | in : Object | provenance | | +| Test.java:3289:24:3289:31 | source(...) : Object | Test.java:3289:16:3289:31 | (...)... : Object | provenance | | +| Test.java:3290:10:3290:45 | of(...) : ImmutableMultiset [] : Object | Test.java:3291:20:3291:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3290:37:3290:38 | in : Object | Test.java:3290:10:3290:45 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3291:20:3291:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3291:20:3291:22 | out : ImmutableMultiset [] : Object | Test.java:3291:9:3291:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3296:16:3296:31 | (...)... : Object | Test.java:3297:37:3297:38 | in : Object | provenance | | +| Test.java:3296:24:3296:31 | source(...) : Object | Test.java:3296:16:3296:31 | (...)... : Object | provenance | | +| Test.java:3297:10:3297:39 | of(...) : ImmutableMultiset [] : Object | Test.java:3298:20:3298:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3297:37:3297:38 | in : Object | Test.java:3297:10:3297:39 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3298:20:3298:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3298:20:3298:22 | out : ImmutableMultiset [] : Object | Test.java:3298:9:3298:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3303:16:3303:31 | (...)... : Object | Test.java:3304:31:3304:32 | in : Object | provenance | | +| Test.java:3303:24:3303:31 | source(...) : Object | Test.java:3303:16:3303:31 | (...)... : Object | provenance | | +| Test.java:3304:10:3304:57 | of(...) : ImmutableMultiset [] : Object | Test.java:3305:20:3305:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3304:31:3304:32 | in : Object | Test.java:3304:10:3304:57 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3305:20:3305:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3305:20:3305:22 | out : ImmutableMultiset [] : Object | Test.java:3305:9:3305:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3310:16:3310:31 | (...)... : Object | Test.java:3311:31:3311:32 | in : Object | provenance | | +| Test.java:3310:24:3310:31 | source(...) : Object | Test.java:3310:16:3310:31 | (...)... : Object | provenance | | +| Test.java:3311:10:3311:51 | of(...) : ImmutableMultiset [] : Object | Test.java:3312:20:3312:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3311:31:3311:32 | in : Object | Test.java:3311:10:3311:51 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3312:20:3312:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3312:20:3312:22 | out : ImmutableMultiset [] : Object | Test.java:3312:9:3312:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3317:16:3317:31 | (...)... : Object | Test.java:3318:31:3318:32 | in : Object | provenance | | +| Test.java:3317:24:3317:31 | source(...) : Object | Test.java:3317:16:3317:31 | (...)... : Object | provenance | | +| Test.java:3318:10:3318:45 | of(...) : ImmutableMultiset [] : Object | Test.java:3319:20:3319:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3318:31:3318:32 | in : Object | Test.java:3318:10:3318:45 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3319:20:3319:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3319:20:3319:22 | out : ImmutableMultiset [] : Object | Test.java:3319:9:3319:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3324:16:3324:31 | (...)... : Object | Test.java:3325:31:3325:32 | in : Object | provenance | | +| Test.java:3324:24:3324:31 | source(...) : Object | Test.java:3324:16:3324:31 | (...)... : Object | provenance | | +| Test.java:3325:10:3325:39 | of(...) : ImmutableMultiset [] : Object | Test.java:3326:20:3326:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3325:31:3325:32 | in : Object | Test.java:3325:10:3325:39 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3326:20:3326:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3326:20:3326:22 | out : ImmutableMultiset [] : Object | Test.java:3326:9:3326:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3331:16:3331:31 | (...)... : Object | Test.java:3332:31:3332:32 | in : Object | provenance | | +| Test.java:3331:24:3331:31 | source(...) : Object | Test.java:3331:16:3331:31 | (...)... : Object | provenance | | +| Test.java:3332:10:3332:119 | of(...) : ImmutableMultiset [] : Object | Test.java:3333:20:3333:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3332:31:3332:32 | in : Object | Test.java:3332:10:3332:119 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3333:20:3333:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3333:20:3333:22 | out : ImmutableMultiset [] : Object | Test.java:3333:9:3333:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3338:16:3338:31 | (...)... : Object | Test.java:3339:31:3339:32 | in : Object | provenance | | +| Test.java:3338:24:3338:31 | source(...) : Object | Test.java:3338:16:3338:31 | (...)... : Object | provenance | | +| Test.java:3339:10:3339:33 | of(...) : ImmutableMultiset [] : Object | Test.java:3340:20:3340:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3339:31:3339:32 | in : Object | Test.java:3339:10:3339:33 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3340:20:3340:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3340:20:3340:22 | out : ImmutableMultiset [] : Object | Test.java:3340:9:3340:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3345:16:3345:31 | (...)... : Object | Test.java:3346:45:3346:46 | in : Object | provenance | | +| Test.java:3345:24:3345:31 | source(...) : Object | Test.java:3345:16:3345:31 | (...)... : Object | provenance | | +| Test.java:3346:10:3346:119 | of(...) : ImmutableMultiset [] : Object | Test.java:3347:20:3347:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3346:45:3346:46 | in : Object | Test.java:3346:10:3346:119 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3347:20:3347:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3347:20:3347:22 | out : ImmutableMultiset [] : Object | Test.java:3347:9:3347:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3352:16:3352:31 | (...)... : Object | Test.java:3353:59:3353:60 | in : Object | provenance | | +| Test.java:3352:24:3352:31 | source(...) : Object | Test.java:3352:16:3352:31 | (...)... : Object | provenance | | +| Test.java:3353:10:3353:119 | of(...) : ImmutableMultiset [] : Object | Test.java:3354:20:3354:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3353:59:3353:60 | in : Object | Test.java:3353:10:3353:119 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3354:20:3354:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3354:20:3354:22 | out : ImmutableMultiset [] : Object | Test.java:3354:9:3354:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3359:16:3359:31 | (...)... : Object | Test.java:3360:73:3360:74 | in : Object | provenance | | +| Test.java:3359:24:3359:31 | source(...) : Object | Test.java:3359:16:3359:31 | (...)... : Object | provenance | | +| Test.java:3360:10:3360:119 | of(...) : ImmutableMultiset [] : Object | Test.java:3361:20:3361:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3360:73:3360:74 | in : Object | Test.java:3360:10:3360:119 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3361:20:3361:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3361:20:3361:22 | out : ImmutableMultiset [] : Object | Test.java:3361:9:3361:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3366:16:3366:31 | (...)... : Object | Test.java:3367:87:3367:88 | in : Object | provenance | | +| Test.java:3366:24:3366:31 | source(...) : Object | Test.java:3366:16:3366:31 | (...)... : Object | provenance | | +| Test.java:3367:10:3367:119 | of(...) : ImmutableMultiset [] : Object | Test.java:3368:20:3368:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3367:87:3367:88 | in : Object | Test.java:3367:10:3367:119 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3368:20:3368:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3368:20:3368:22 | out : ImmutableMultiset [] : Object | Test.java:3368:9:3368:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3373:16:3373:31 | (...)... : Object | Test.java:3374:101:3374:102 | in : Object | provenance | | +| Test.java:3373:24:3373:31 | source(...) : Object | Test.java:3373:16:3373:31 | (...)... : Object | provenance | | +| Test.java:3374:10:3374:119 | of(...) : ImmutableMultiset [] : Object | Test.java:3375:20:3375:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3374:101:3374:102 | in : Object | Test.java:3374:10:3374:119 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:3375:20:3375:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3375:20:3375:22 | out : ImmutableMultiset [] : Object | Test.java:3375:9:3375:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3380:18:3380:49 | (...)... : Object[] [[]] : Object | Test.java:3381:115:3381:116 | in : Object[] [[]] : Object | provenance | | +| Test.java:3380:28:3380:49 | {...} : Object[] [[]] : Object | Test.java:3380:18:3380:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:3380:41:3380:48 | source(...) : Object | Test.java:3380:28:3380:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:3381:10:3381:117 | of(...) : ImmutableMultiset [] : Object | Test.java:3382:20:3382:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:3381:115:3381:116 | in : Object[] [[]] : Object | Test.java:3381:10:3381:117 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:135 | +| Test.java:3382:20:3382:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:3382:20:3382:22 | out : ImmutableMultiset [] : Object | Test.java:3382:9:3382:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3387:20:3387:48 | (...)... : List [] : Object | Test.java:3388:30:3388:31 | in : List [] : Object | provenance | | +| Test.java:3387:32:3387:48 | of(...) : List [] : Object | Test.java:3387:20:3387:48 | (...)... : List [] : Object | provenance | | +| Test.java:3387:40:3387:47 | source(...) : Object | Test.java:3387:32:3387:48 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:3388:10:3388:32 | copyOf(...) : ImmutableSet [] : Object | Test.java:3389:20:3389:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3388:30:3388:31 | in : List [] : Object | Test.java:3388:10:3388:32 | copyOf(...) : ImmutableSet [] : Object | provenance | MaD:139 | +| Test.java:3389:20:3389:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3389:20:3389:22 | out : ImmutableSet [] : Object | Test.java:3389:9:3389:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3394:18:3394:44 | (...)... : List [] : Object | Test.java:3395:30:3395:31 | in : List [] : Object | provenance | | +| Test.java:3394:28:3394:44 | of(...) : List [] : Object | Test.java:3394:18:3394:44 | (...)... : List [] : Object | provenance | | +| Test.java:3394:36:3394:43 | source(...) : Object | Test.java:3394:28:3394:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:3395:10:3395:32 | copyOf(...) : ImmutableSet [] : Object | Test.java:3396:20:3396:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3395:30:3395:31 | in : List [] : Object | Test.java:3395:10:3395:32 | copyOf(...) : ImmutableSet [] : Object | provenance | MaD:140 | +| Test.java:3396:20:3396:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3396:20:3396:22 | out : ImmutableSet [] : Object | Test.java:3396:9:3396:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3401:18:3401:55 | (...)... : Iterator [] : Object | Test.java:3402:30:3402:31 | in : Iterator [] : Object | provenance | | +| Test.java:3401:28:3401:44 | of(...) : List [] : Object | Test.java:3401:28:3401:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:3401:28:3401:55 | iterator(...) : Iterator [] : Object | Test.java:3401:18:3401:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:3401:36:3401:43 | source(...) : Object | Test.java:3401:28:3401:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:3402:10:3402:32 | copyOf(...) : ImmutableSet [] : Object | Test.java:3403:20:3403:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3402:30:3402:31 | in : Iterator [] : Object | Test.java:3402:10:3402:32 | copyOf(...) : ImmutableSet [] : Object | provenance | MaD:141 | +| Test.java:3403:20:3403:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3403:20:3403:22 | out : ImmutableSet [] : Object | Test.java:3403:9:3403:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3408:18:3408:49 | (...)... : Object[] [[]] : Object | Test.java:3409:30:3409:31 | in : Object[] [[]] : Object | provenance | | +| Test.java:3408:28:3408:49 | {...} : Object[] [[]] : Object | Test.java:3408:18:3408:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:3408:41:3408:48 | source(...) : Object | Test.java:3408:28:3408:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:3409:10:3409:32 | copyOf(...) : ImmutableSet [] : Object | Test.java:3410:20:3410:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3409:30:3409:31 | in : Object[] [[]] : Object | Test.java:3409:10:3409:32 | copyOf(...) : ImmutableSet [] : Object | provenance | MaD:142 | +| Test.java:3410:20:3410:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3410:20:3410:22 | out : ImmutableSet [] : Object | Test.java:3410:9:3410:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3415:16:3415:31 | (...)... : Object | Test.java:3416:50:3416:51 | in : Object | provenance | | +| Test.java:3415:24:3415:31 | source(...) : Object | Test.java:3415:16:3415:31 | (...)... : Object | provenance | | +| Test.java:3416:10:3416:52 | of(...) : ImmutableSet [] : Object | Test.java:3417:20:3417:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3416:50:3416:51 | in : Object | Test.java:3416:10:3416:52 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3417:20:3417:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3417:20:3417:22 | out : ImmutableSet [] : Object | Test.java:3417:9:3417:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3422:16:3422:31 | (...)... : Object | Test.java:3423:44:3423:45 | in : Object | provenance | | +| Test.java:3422:24:3422:31 | source(...) : Object | Test.java:3422:16:3422:31 | (...)... : Object | provenance | | +| Test.java:3423:10:3423:52 | of(...) : ImmutableSet [] : Object | Test.java:3424:20:3424:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3423:44:3423:45 | in : Object | Test.java:3423:10:3423:52 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3424:20:3424:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3424:20:3424:22 | out : ImmutableSet [] : Object | Test.java:3424:9:3424:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3429:16:3429:31 | (...)... : Object | Test.java:3430:44:3430:45 | in : Object | provenance | | +| Test.java:3429:24:3429:31 | source(...) : Object | Test.java:3429:16:3429:31 | (...)... : Object | provenance | | +| Test.java:3430:10:3430:46 | of(...) : ImmutableSet [] : Object | Test.java:3431:20:3431:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3430:44:3430:45 | in : Object | Test.java:3430:10:3430:46 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3431:20:3431:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3431:20:3431:22 | out : ImmutableSet [] : Object | Test.java:3431:9:3431:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3436:16:3436:31 | (...)... : Object | Test.java:3437:38:3437:39 | in : Object | provenance | | +| Test.java:3436:24:3436:31 | source(...) : Object | Test.java:3436:16:3436:31 | (...)... : Object | provenance | | +| Test.java:3437:10:3437:52 | of(...) : ImmutableSet [] : Object | Test.java:3438:20:3438:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3437:38:3437:39 | in : Object | Test.java:3437:10:3437:52 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3438:20:3438:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3438:20:3438:22 | out : ImmutableSet [] : Object | Test.java:3438:9:3438:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3443:16:3443:31 | (...)... : Object | Test.java:3444:38:3444:39 | in : Object | provenance | | +| Test.java:3443:24:3443:31 | source(...) : Object | Test.java:3443:16:3443:31 | (...)... : Object | provenance | | +| Test.java:3444:10:3444:46 | of(...) : ImmutableSet [] : Object | Test.java:3445:20:3445:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3444:38:3444:39 | in : Object | Test.java:3444:10:3444:46 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3445:20:3445:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3445:20:3445:22 | out : ImmutableSet [] : Object | Test.java:3445:9:3445:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3450:16:3450:31 | (...)... : Object | Test.java:3451:38:3451:39 | in : Object | provenance | | +| Test.java:3450:24:3450:31 | source(...) : Object | Test.java:3450:16:3450:31 | (...)... : Object | provenance | | +| Test.java:3451:10:3451:40 | of(...) : ImmutableSet [] : Object | Test.java:3452:20:3452:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3451:38:3451:39 | in : Object | Test.java:3451:10:3451:40 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3452:20:3452:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3452:20:3452:22 | out : ImmutableSet [] : Object | Test.java:3452:9:3452:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3457:16:3457:31 | (...)... : Object | Test.java:3458:32:3458:33 | in : Object | provenance | | +| Test.java:3457:24:3457:31 | source(...) : Object | Test.java:3457:16:3457:31 | (...)... : Object | provenance | | +| Test.java:3458:10:3458:52 | of(...) : ImmutableSet [] : Object | Test.java:3459:20:3459:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3458:32:3458:33 | in : Object | Test.java:3458:10:3458:52 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3459:20:3459:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3459:20:3459:22 | out : ImmutableSet [] : Object | Test.java:3459:9:3459:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3464:16:3464:31 | (...)... : Object | Test.java:3465:32:3465:33 | in : Object | provenance | | +| Test.java:3464:24:3464:31 | source(...) : Object | Test.java:3464:16:3464:31 | (...)... : Object | provenance | | +| Test.java:3465:10:3465:46 | of(...) : ImmutableSet [] : Object | Test.java:3466:20:3466:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3465:32:3465:33 | in : Object | Test.java:3465:10:3465:46 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3466:20:3466:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3466:20:3466:22 | out : ImmutableSet [] : Object | Test.java:3466:9:3466:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3471:16:3471:31 | (...)... : Object | Test.java:3472:32:3472:33 | in : Object | provenance | | +| Test.java:3471:24:3471:31 | source(...) : Object | Test.java:3471:16:3471:31 | (...)... : Object | provenance | | +| Test.java:3472:10:3472:40 | of(...) : ImmutableSet [] : Object | Test.java:3473:20:3473:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3472:32:3472:33 | in : Object | Test.java:3472:10:3472:40 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3473:20:3473:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3473:20:3473:22 | out : ImmutableSet [] : Object | Test.java:3473:9:3473:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3478:16:3478:31 | (...)... : Object | Test.java:3479:32:3479:33 | in : Object | provenance | | +| Test.java:3478:24:3478:31 | source(...) : Object | Test.java:3478:16:3478:31 | (...)... : Object | provenance | | +| Test.java:3479:10:3479:34 | of(...) : ImmutableSet [] : Object | Test.java:3480:20:3480:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3479:32:3479:33 | in : Object | Test.java:3479:10:3479:34 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3480:20:3480:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3480:20:3480:22 | out : ImmutableSet [] : Object | Test.java:3480:9:3480:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3485:16:3485:31 | (...)... : Object | Test.java:3486:26:3486:27 | in : Object | provenance | | +| Test.java:3485:24:3485:31 | source(...) : Object | Test.java:3485:16:3485:31 | (...)... : Object | provenance | | +| Test.java:3486:10:3486:52 | of(...) : ImmutableSet [] : Object | Test.java:3487:20:3487:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3486:26:3486:27 | in : Object | Test.java:3486:10:3486:52 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3487:20:3487:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3487:20:3487:22 | out : ImmutableSet [] : Object | Test.java:3487:9:3487:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3492:16:3492:31 | (...)... : Object | Test.java:3493:26:3493:27 | in : Object | provenance | | +| Test.java:3492:24:3492:31 | source(...) : Object | Test.java:3492:16:3492:31 | (...)... : Object | provenance | | +| Test.java:3493:10:3493:46 | of(...) : ImmutableSet [] : Object | Test.java:3494:20:3494:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3493:26:3493:27 | in : Object | Test.java:3493:10:3493:46 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3494:20:3494:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3494:20:3494:22 | out : ImmutableSet [] : Object | Test.java:3494:9:3494:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3499:16:3499:31 | (...)... : Object | Test.java:3500:26:3500:27 | in : Object | provenance | | +| Test.java:3499:24:3499:31 | source(...) : Object | Test.java:3499:16:3499:31 | (...)... : Object | provenance | | +| Test.java:3500:10:3500:40 | of(...) : ImmutableSet [] : Object | Test.java:3501:20:3501:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3500:26:3500:27 | in : Object | Test.java:3500:10:3500:40 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3501:20:3501:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3501:20:3501:22 | out : ImmutableSet [] : Object | Test.java:3501:9:3501:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3506:16:3506:31 | (...)... : Object | Test.java:3507:26:3507:27 | in : Object | provenance | | +| Test.java:3506:24:3506:31 | source(...) : Object | Test.java:3506:16:3506:31 | (...)... : Object | provenance | | +| Test.java:3507:10:3507:34 | of(...) : ImmutableSet [] : Object | Test.java:3508:20:3508:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3507:26:3507:27 | in : Object | Test.java:3507:10:3507:34 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3508:20:3508:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3508:20:3508:22 | out : ImmutableSet [] : Object | Test.java:3508:9:3508:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3513:16:3513:31 | (...)... : Object | Test.java:3514:26:3514:27 | in : Object | provenance | | +| Test.java:3513:24:3513:31 | source(...) : Object | Test.java:3513:16:3513:31 | (...)... : Object | provenance | | +| Test.java:3514:10:3514:114 | of(...) : ImmutableSet [] : Object | Test.java:3515:20:3515:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3514:26:3514:27 | in : Object | Test.java:3514:10:3514:114 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3515:20:3515:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3515:20:3515:22 | out : ImmutableSet [] : Object | Test.java:3515:9:3515:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3520:16:3520:31 | (...)... : Object | Test.java:3521:26:3521:27 | in : Object | provenance | | +| Test.java:3520:24:3520:31 | source(...) : Object | Test.java:3520:16:3520:31 | (...)... : Object | provenance | | +| Test.java:3521:10:3521:28 | of(...) : ImmutableSet [] : Object | Test.java:3522:20:3522:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3521:26:3521:27 | in : Object | Test.java:3521:10:3521:28 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3522:20:3522:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3522:20:3522:22 | out : ImmutableSet [] : Object | Test.java:3522:9:3522:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3527:16:3527:31 | (...)... : Object | Test.java:3528:40:3528:41 | in : Object | provenance | | +| Test.java:3527:24:3527:31 | source(...) : Object | Test.java:3527:16:3527:31 | (...)... : Object | provenance | | +| Test.java:3528:10:3528:114 | of(...) : ImmutableSet [] : Object | Test.java:3529:20:3529:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3528:40:3528:41 | in : Object | Test.java:3528:10:3528:114 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3529:20:3529:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3529:20:3529:22 | out : ImmutableSet [] : Object | Test.java:3529:9:3529:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3534:16:3534:31 | (...)... : Object | Test.java:3535:54:3535:55 | in : Object | provenance | | +| Test.java:3534:24:3534:31 | source(...) : Object | Test.java:3534:16:3534:31 | (...)... : Object | provenance | | +| Test.java:3535:10:3535:114 | of(...) : ImmutableSet [] : Object | Test.java:3536:20:3536:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3535:54:3535:55 | in : Object | Test.java:3535:10:3535:114 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3536:20:3536:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3536:20:3536:22 | out : ImmutableSet [] : Object | Test.java:3536:9:3536:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3541:16:3541:31 | (...)... : Object | Test.java:3542:68:3542:69 | in : Object | provenance | | +| Test.java:3541:24:3541:31 | source(...) : Object | Test.java:3541:16:3541:31 | (...)... : Object | provenance | | +| Test.java:3542:10:3542:114 | of(...) : ImmutableSet [] : Object | Test.java:3543:20:3543:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3542:68:3542:69 | in : Object | Test.java:3542:10:3542:114 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3543:20:3543:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3543:20:3543:22 | out : ImmutableSet [] : Object | Test.java:3543:9:3543:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3548:16:3548:31 | (...)... : Object | Test.java:3549:82:3549:83 | in : Object | provenance | | +| Test.java:3548:24:3548:31 | source(...) : Object | Test.java:3548:16:3548:31 | (...)... : Object | provenance | | +| Test.java:3549:10:3549:114 | of(...) : ImmutableSet [] : Object | Test.java:3550:20:3550:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3549:82:3549:83 | in : Object | Test.java:3549:10:3549:114 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3550:20:3550:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3550:20:3550:22 | out : ImmutableSet [] : Object | Test.java:3550:9:3550:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3555:16:3555:31 | (...)... : Object | Test.java:3556:96:3556:97 | in : Object | provenance | | +| Test.java:3555:24:3555:31 | source(...) : Object | Test.java:3555:16:3555:31 | (...)... : Object | provenance | | +| Test.java:3556:10:3556:114 | of(...) : ImmutableSet [] : Object | Test.java:3557:20:3557:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3556:96:3556:97 | in : Object | Test.java:3556:10:3556:114 | of(...) : ImmutableSet [] : Object | provenance | MaD:143 | +| Test.java:3557:20:3557:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3557:20:3557:22 | out : ImmutableSet [] : Object | Test.java:3557:9:3557:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3562:18:3562:49 | (...)... : Object[] [[]] : Object | Test.java:3563:110:3563:111 | in : Object[] [[]] : Object | provenance | | +| Test.java:3562:28:3562:49 | {...} : Object[] [[]] : Object | Test.java:3562:18:3562:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:3562:41:3562:48 | source(...) : Object | Test.java:3562:28:3562:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:3563:10:3563:112 | of(...) : ImmutableSet [] : Object | Test.java:3564:20:3564:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:3563:110:3563:111 | in : Object[] [[]] : Object | Test.java:3563:10:3563:112 | of(...) : ImmutableSet [] : Object | provenance | MaD:144 | +| Test.java:3564:20:3564:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:3564:20:3564:22 | out : ImmutableSet [] : Object | Test.java:3564:9:3564:23 | getElement(...) | provenance | MaD:555 | +| Test.java:3569:16:3569:31 | (...)... : Object | Test.java:3570:34:3570:35 | in : Object | provenance | | +| Test.java:3569:24:3569:31 | source(...) : Object | Test.java:3569:16:3569:31 | (...)... : Object | provenance | | +| Test.java:3570:10:3570:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3571:19:3571:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3570:34:3570:35 | in : Object | Test.java:3570:10:3570:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:145 | +| Test.java:3571:19:3571:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3571:19:3571:21 | out : ImmutableSetMultimap [] : Object | Test.java:3571:9:3571:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3576:16:3576:31 | (...)... : Object | Test.java:3577:34:3577:35 | in : Object | provenance | | +| Test.java:3576:24:3576:31 | source(...) : Object | Test.java:3576:16:3576:31 | (...)... : Object | provenance | | +| Test.java:3577:10:3577:78 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3578:19:3578:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3577:34:3577:35 | in : Object | Test.java:3577:10:3577:78 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:145 | +| Test.java:3578:19:3578:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3578:19:3578:21 | out : ImmutableSetMultimap [] : Object | Test.java:3578:9:3578:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3583:16:3583:31 | (...)... : Object | Test.java:3584:34:3584:35 | in : Object | provenance | | +| Test.java:3583:24:3583:31 | source(...) : Object | Test.java:3583:16:3583:31 | (...)... : Object | provenance | | +| Test.java:3584:10:3584:66 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3585:19:3585:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3584:34:3584:35 | in : Object | Test.java:3584:10:3584:66 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:145 | +| Test.java:3585:19:3585:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3585:19:3585:21 | out : ImmutableSetMultimap [] : Object | Test.java:3585:9:3585:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3590:16:3590:31 | (...)... : Object | Test.java:3591:34:3591:35 | in : Object | provenance | | +| Test.java:3590:24:3590:31 | source(...) : Object | Test.java:3590:16:3590:31 | (...)... : Object | provenance | | +| Test.java:3591:10:3591:54 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3592:19:3592:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3591:34:3591:35 | in : Object | Test.java:3591:10:3591:54 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:145 | +| Test.java:3592:19:3592:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3592:19:3592:21 | out : ImmutableSetMultimap [] : Object | Test.java:3592:9:3592:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3597:16:3597:31 | (...)... : Object | Test.java:3598:34:3598:35 | in : Object | provenance | | +| Test.java:3597:24:3597:31 | source(...) : Object | Test.java:3597:16:3597:31 | (...)... : Object | provenance | | +| Test.java:3598:10:3598:42 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3599:19:3599:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3598:34:3598:35 | in : Object | Test.java:3598:10:3598:42 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:145 | +| Test.java:3599:19:3599:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3599:19:3599:21 | out : ImmutableSetMultimap [] : Object | Test.java:3599:9:3599:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3604:16:3604:31 | (...)... : Object | Test.java:3605:40:3605:41 | in : Object | provenance | | +| Test.java:3604:24:3604:31 | source(...) : Object | Test.java:3604:16:3604:31 | (...)... : Object | provenance | | +| Test.java:3605:10:3605:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3606:21:3606:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3605:40:3605:41 | in : Object | Test.java:3605:10:3605:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:3606:21:3606:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3606:21:3606:23 | out : ImmutableSetMultimap [] : Object | Test.java:3606:9:3606:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3611:16:3611:31 | (...)... : Object | Test.java:3612:40:3612:41 | in : Object | provenance | | +| Test.java:3611:24:3611:31 | source(...) : Object | Test.java:3611:16:3611:31 | (...)... : Object | provenance | | +| Test.java:3612:10:3612:78 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3613:21:3613:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3612:40:3612:41 | in : Object | Test.java:3612:10:3612:78 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:3613:21:3613:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3613:21:3613:23 | out : ImmutableSetMultimap [] : Object | Test.java:3613:9:3613:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3618:16:3618:31 | (...)... : Object | Test.java:3619:40:3619:41 | in : Object | provenance | | +| Test.java:3618:24:3618:31 | source(...) : Object | Test.java:3618:16:3618:31 | (...)... : Object | provenance | | +| Test.java:3619:10:3619:66 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3620:21:3620:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3619:40:3619:41 | in : Object | Test.java:3619:10:3619:66 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:3620:21:3620:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3620:21:3620:23 | out : ImmutableSetMultimap [] : Object | Test.java:3620:9:3620:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3625:16:3625:31 | (...)... : Object | Test.java:3626:40:3626:41 | in : Object | provenance | | +| Test.java:3625:24:3625:31 | source(...) : Object | Test.java:3625:16:3625:31 | (...)... : Object | provenance | | +| Test.java:3626:10:3626:54 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3627:21:3627:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3626:40:3626:41 | in : Object | Test.java:3626:10:3626:54 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:3627:21:3627:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3627:21:3627:23 | out : ImmutableSetMultimap [] : Object | Test.java:3627:9:3627:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3632:16:3632:31 | (...)... : Object | Test.java:3633:40:3633:41 | in : Object | provenance | | +| Test.java:3632:24:3632:31 | source(...) : Object | Test.java:3632:16:3632:31 | (...)... : Object | provenance | | +| Test.java:3633:10:3633:42 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3634:21:3634:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3633:40:3633:41 | in : Object | Test.java:3633:10:3633:42 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:3634:21:3634:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3634:21:3634:23 | out : ImmutableSetMultimap [] : Object | Test.java:3634:9:3634:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3639:16:3639:31 | (...)... : Object | Test.java:3640:46:3640:47 | in : Object | provenance | | +| Test.java:3639:24:3639:31 | source(...) : Object | Test.java:3639:16:3639:31 | (...)... : Object | provenance | | +| Test.java:3640:10:3640:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3641:19:3641:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3640:46:3640:47 | in : Object | Test.java:3640:10:3640:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:147 | +| Test.java:3641:19:3641:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3641:19:3641:21 | out : ImmutableSetMultimap [] : Object | Test.java:3641:9:3641:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3646:16:3646:31 | (...)... : Object | Test.java:3647:46:3647:47 | in : Object | provenance | | +| Test.java:3646:24:3646:31 | source(...) : Object | Test.java:3646:16:3646:31 | (...)... : Object | provenance | | +| Test.java:3647:10:3647:78 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3648:19:3648:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3647:46:3647:47 | in : Object | Test.java:3647:10:3647:78 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:147 | +| Test.java:3648:19:3648:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3648:19:3648:21 | out : ImmutableSetMultimap [] : Object | Test.java:3648:9:3648:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3653:16:3653:31 | (...)... : Object | Test.java:3654:46:3654:47 | in : Object | provenance | | +| Test.java:3653:24:3653:31 | source(...) : Object | Test.java:3653:16:3653:31 | (...)... : Object | provenance | | +| Test.java:3654:10:3654:66 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3655:19:3655:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3654:46:3654:47 | in : Object | Test.java:3654:10:3654:66 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:147 | +| Test.java:3655:19:3655:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3655:19:3655:21 | out : ImmutableSetMultimap [] : Object | Test.java:3655:9:3655:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3660:16:3660:31 | (...)... : Object | Test.java:3661:46:3661:47 | in : Object | provenance | | +| Test.java:3660:24:3660:31 | source(...) : Object | Test.java:3660:16:3660:31 | (...)... : Object | provenance | | +| Test.java:3661:10:3661:54 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3662:19:3662:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3661:46:3661:47 | in : Object | Test.java:3661:10:3661:54 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:147 | +| Test.java:3662:19:3662:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3662:19:3662:21 | out : ImmutableSetMultimap [] : Object | Test.java:3662:9:3662:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3667:16:3667:31 | (...)... : Object | Test.java:3668:52:3668:53 | in : Object | provenance | | +| Test.java:3667:24:3667:31 | source(...) : Object | Test.java:3667:16:3667:31 | (...)... : Object | provenance | | +| Test.java:3668:10:3668:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3669:21:3669:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3668:52:3668:53 | in : Object | Test.java:3668:10:3668:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:148 | +| Test.java:3669:21:3669:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3669:21:3669:23 | out : ImmutableSetMultimap [] : Object | Test.java:3669:9:3669:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3674:16:3674:31 | (...)... : Object | Test.java:3675:52:3675:53 | in : Object | provenance | | +| Test.java:3674:24:3674:31 | source(...) : Object | Test.java:3674:16:3674:31 | (...)... : Object | provenance | | +| Test.java:3675:10:3675:78 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3676:21:3676:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3675:52:3675:53 | in : Object | Test.java:3675:10:3675:78 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:148 | +| Test.java:3676:21:3676:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3676:21:3676:23 | out : ImmutableSetMultimap [] : Object | Test.java:3676:9:3676:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3681:16:3681:31 | (...)... : Object | Test.java:3682:52:3682:53 | in : Object | provenance | | +| Test.java:3681:24:3681:31 | source(...) : Object | Test.java:3681:16:3681:31 | (...)... : Object | provenance | | +| Test.java:3682:10:3682:66 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3683:21:3683:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3682:52:3682:53 | in : Object | Test.java:3682:10:3682:66 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:148 | +| Test.java:3683:21:3683:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3683:21:3683:23 | out : ImmutableSetMultimap [] : Object | Test.java:3683:9:3683:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3688:16:3688:31 | (...)... : Object | Test.java:3689:52:3689:53 | in : Object | provenance | | +| Test.java:3688:24:3688:31 | source(...) : Object | Test.java:3688:16:3688:31 | (...)... : Object | provenance | | +| Test.java:3689:10:3689:54 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3690:21:3690:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3689:52:3689:53 | in : Object | Test.java:3689:10:3689:54 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:148 | +| Test.java:3690:21:3690:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3690:21:3690:23 | out : ImmutableSetMultimap [] : Object | Test.java:3690:9:3690:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3695:16:3695:31 | (...)... : Object | Test.java:3696:58:3696:59 | in : Object | provenance | | +| Test.java:3695:24:3695:31 | source(...) : Object | Test.java:3695:16:3695:31 | (...)... : Object | provenance | | +| Test.java:3696:10:3696:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3697:19:3697:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3696:58:3696:59 | in : Object | Test.java:3696:10:3696:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:149 | +| Test.java:3697:19:3697:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3697:19:3697:21 | out : ImmutableSetMultimap [] : Object | Test.java:3697:9:3697:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3702:16:3702:31 | (...)... : Object | Test.java:3703:58:3703:59 | in : Object | provenance | | +| Test.java:3702:24:3702:31 | source(...) : Object | Test.java:3702:16:3702:31 | (...)... : Object | provenance | | +| Test.java:3703:10:3703:78 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3704:19:3704:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3703:58:3703:59 | in : Object | Test.java:3703:10:3703:78 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:149 | +| Test.java:3704:19:3704:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3704:19:3704:21 | out : ImmutableSetMultimap [] : Object | Test.java:3704:9:3704:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3709:16:3709:31 | (...)... : Object | Test.java:3710:58:3710:59 | in : Object | provenance | | +| Test.java:3709:24:3709:31 | source(...) : Object | Test.java:3709:16:3709:31 | (...)... : Object | provenance | | +| Test.java:3710:10:3710:66 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3711:19:3711:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3710:58:3710:59 | in : Object | Test.java:3710:10:3710:66 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:149 | +| Test.java:3711:19:3711:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3711:19:3711:21 | out : ImmutableSetMultimap [] : Object | Test.java:3711:9:3711:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3716:16:3716:31 | (...)... : Object | Test.java:3717:64:3717:65 | in : Object | provenance | | +| Test.java:3716:24:3716:31 | source(...) : Object | Test.java:3716:16:3716:31 | (...)... : Object | provenance | | +| Test.java:3717:10:3717:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3718:21:3718:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3717:64:3717:65 | in : Object | Test.java:3717:10:3717:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:150 | +| Test.java:3718:21:3718:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3718:21:3718:23 | out : ImmutableSetMultimap [] : Object | Test.java:3718:9:3718:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3723:16:3723:31 | (...)... : Object | Test.java:3724:64:3724:65 | in : Object | provenance | | +| Test.java:3723:24:3723:31 | source(...) : Object | Test.java:3723:16:3723:31 | (...)... : Object | provenance | | +| Test.java:3724:10:3724:78 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3725:21:3725:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3724:64:3724:65 | in : Object | Test.java:3724:10:3724:78 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:150 | +| Test.java:3725:21:3725:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3725:21:3725:23 | out : ImmutableSetMultimap [] : Object | Test.java:3725:9:3725:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3730:16:3730:31 | (...)... : Object | Test.java:3731:64:3731:65 | in : Object | provenance | | +| Test.java:3730:24:3730:31 | source(...) : Object | Test.java:3730:16:3730:31 | (...)... : Object | provenance | | +| Test.java:3731:10:3731:66 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3732:21:3732:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3731:64:3731:65 | in : Object | Test.java:3731:10:3731:66 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:150 | +| Test.java:3732:21:3732:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3732:21:3732:23 | out : ImmutableSetMultimap [] : Object | Test.java:3732:9:3732:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3737:16:3737:31 | (...)... : Object | Test.java:3738:70:3738:71 | in : Object | provenance | | +| Test.java:3737:24:3737:31 | source(...) : Object | Test.java:3737:16:3737:31 | (...)... : Object | provenance | | +| Test.java:3738:10:3738:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3739:19:3739:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3738:70:3738:71 | in : Object | Test.java:3738:10:3738:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:151 | +| Test.java:3739:19:3739:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3739:19:3739:21 | out : ImmutableSetMultimap [] : Object | Test.java:3739:9:3739:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3744:16:3744:31 | (...)... : Object | Test.java:3745:70:3745:71 | in : Object | provenance | | +| Test.java:3744:24:3744:31 | source(...) : Object | Test.java:3744:16:3744:31 | (...)... : Object | provenance | | +| Test.java:3745:10:3745:78 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3746:19:3746:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3745:70:3745:71 | in : Object | Test.java:3745:10:3745:78 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:151 | +| Test.java:3746:19:3746:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3746:19:3746:21 | out : ImmutableSetMultimap [] : Object | Test.java:3746:9:3746:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3751:16:3751:31 | (...)... : Object | Test.java:3752:76:3752:77 | in : Object | provenance | | +| Test.java:3751:24:3751:31 | source(...) : Object | Test.java:3751:16:3751:31 | (...)... : Object | provenance | | +| Test.java:3752:10:3752:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3753:21:3753:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3752:76:3752:77 | in : Object | Test.java:3752:10:3752:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:152 | +| Test.java:3753:21:3753:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3753:21:3753:23 | out : ImmutableSetMultimap [] : Object | Test.java:3753:9:3753:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3758:16:3758:31 | (...)... : Object | Test.java:3759:76:3759:77 | in : Object | provenance | | +| Test.java:3758:24:3758:31 | source(...) : Object | Test.java:3758:16:3758:31 | (...)... : Object | provenance | | +| Test.java:3759:10:3759:78 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3760:21:3760:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3759:76:3759:77 | in : Object | Test.java:3759:10:3759:78 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:152 | +| Test.java:3760:21:3760:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3760:21:3760:23 | out : ImmutableSetMultimap [] : Object | Test.java:3760:9:3760:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3765:16:3765:31 | (...)... : Object | Test.java:3766:82:3766:83 | in : Object | provenance | | +| Test.java:3765:24:3765:31 | source(...) : Object | Test.java:3765:16:3765:31 | (...)... : Object | provenance | | +| Test.java:3766:10:3766:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3767:19:3767:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3766:82:3766:83 | in : Object | Test.java:3766:10:3766:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:153 | +| Test.java:3767:19:3767:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3767:19:3767:21 | out : ImmutableSetMultimap [] : Object | Test.java:3767:9:3767:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:3772:16:3772:31 | (...)... : Object | Test.java:3773:88:3773:89 | in : Object | provenance | | +| Test.java:3772:24:3772:31 | source(...) : Object | Test.java:3772:16:3772:31 | (...)... : Object | provenance | | +| Test.java:3773:10:3773:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:3774:21:3774:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3773:88:3773:89 | in : Object | Test.java:3773:10:3773:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:154 | +| Test.java:3774:21:3774:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:3774:21:3774:23 | out : ImmutableSetMultimap [] : Object | Test.java:3774:9:3774:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:3779:18:3779:64 | (...)... : List [, ] : Object | Test.java:3780:36:3780:37 | in : List [, ] : Object | provenance | | +| Test.java:3779:28:3779:64 | of(...) : List [, ] : Object | Test.java:3779:18:3779:64 | (...)... : List [, ] : Object | provenance | | +| Test.java:3779:36:3779:63 | newEntryWithMapKey(...) : Entry [] : Object | Test.java:3779:28:3779:64 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:3779:55:3779:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | provenance | | +| Test.java:3779:55:3779:62 | source(...) : Object | Test.java:3779:36:3779:63 | newEntryWithMapKey(...) : Entry [] : Object | provenance | MaD:563 | +| Test.java:3780:10:3780:38 | copyOf(...) : ImmutableSortedMap [] : Object | Test.java:3781:19:3781:21 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3780:36:3780:37 | in : List [, ] : Object | Test.java:3780:10:3780:38 | copyOf(...) : ImmutableSortedMap [] : Object | provenance | MaD:155 | +| Test.java:3781:19:3781:21 | out : ImmutableSortedMap [] : Object | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3781:19:3781:21 | out : ImmutableSortedMap [] : Object | Test.java:3781:9:3781:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:3786:18:3786:66 | (...)... : List [, ] : Object | Test.java:3787:36:3787:37 | in : List [, ] : Object | provenance | | +| Test.java:3786:28:3786:66 | of(...) : List [, ] : Object | Test.java:3786:18:3786:66 | (...)... : List [, ] : Object | provenance | | +| Test.java:3786:36:3786:65 | newEntryWithMapValue(...) : Entry [] : Object | Test.java:3786:28:3786:66 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:3786:57:3786:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | provenance | | +| Test.java:3786:57:3786:64 | source(...) : Object | Test.java:3786:36:3786:65 | newEntryWithMapValue(...) : Entry [] : Object | provenance | MaD:564 | +| Test.java:3787:10:3787:38 | copyOf(...) : ImmutableSortedMap [] : Object | Test.java:3788:21:3788:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3787:36:3787:37 | in : List [, ] : Object | Test.java:3787:10:3787:38 | copyOf(...) : ImmutableSortedMap [] : Object | provenance | MaD:156 | +| Test.java:3788:21:3788:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3788:21:3788:23 | out : ImmutableSortedMap [] : Object | Test.java:3788:9:3788:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:3793:18:3793:64 | (...)... : List [, ] : Object | Test.java:3794:36:3794:37 | in : List [, ] : Object | provenance | | +| Test.java:3793:28:3793:64 | of(...) : List [, ] : Object | Test.java:3793:18:3793:64 | (...)... : List [, ] : Object | provenance | | +| Test.java:3793:36:3793:63 | newEntryWithMapKey(...) : Entry [] : Object | Test.java:3793:28:3793:64 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:3793:55:3793:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | provenance | | +| Test.java:3793:55:3793:62 | source(...) : Object | Test.java:3793:36:3793:63 | newEntryWithMapKey(...) : Entry [] : Object | provenance | MaD:563 | +| Test.java:3794:10:3794:56 | copyOf(...) : ImmutableSortedMap [] : Object | Test.java:3795:19:3795:21 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3794:36:3794:37 | in : List [, ] : Object | Test.java:3794:10:3794:56 | copyOf(...) : ImmutableSortedMap [] : Object | provenance | MaD:157 | +| Test.java:3795:19:3795:21 | out : ImmutableSortedMap [] : Object | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3795:19:3795:21 | out : ImmutableSortedMap [] : Object | Test.java:3795:9:3795:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:3800:18:3800:66 | (...)... : List [, ] : Object | Test.java:3801:36:3801:37 | in : List [, ] : Object | provenance | | +| Test.java:3800:28:3800:66 | of(...) : List [, ] : Object | Test.java:3800:18:3800:66 | (...)... : List [, ] : Object | provenance | | +| Test.java:3800:36:3800:65 | newEntryWithMapValue(...) : Entry [] : Object | Test.java:3800:28:3800:66 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:3800:57:3800:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | provenance | | +| Test.java:3800:57:3800:64 | source(...) : Object | Test.java:3800:36:3800:65 | newEntryWithMapValue(...) : Entry [] : Object | provenance | MaD:564 | +| Test.java:3801:10:3801:56 | copyOf(...) : ImmutableSortedMap [] : Object | Test.java:3802:21:3802:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3801:36:3801:37 | in : List [, ] : Object | Test.java:3801:10:3801:56 | copyOf(...) : ImmutableSortedMap [] : Object | provenance | MaD:158 | +| Test.java:3802:21:3802:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3802:21:3802:23 | out : ImmutableSortedMap [] : Object | Test.java:3802:9:3802:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:3807:13:3807:39 | (...)... : Map [] : Object | Test.java:3808:36:3808:37 | in : Map [] : Object | provenance | | +| Test.java:3807:18:3807:39 | of(...) : Map [] : Object | Test.java:3807:13:3807:39 | (...)... : Map [] : Object | provenance | | +| Test.java:3807:25:3807:32 | source(...) : Object | Test.java:3807:18:3807:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:3808:10:3808:38 | copyOf(...) : ImmutableSortedMap [] : Object | Test.java:3809:19:3809:21 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3808:36:3808:37 | in : Map [] : Object | Test.java:3808:10:3808:38 | copyOf(...) : ImmutableSortedMap [] : Object | provenance | MaD:159 | +| Test.java:3809:19:3809:21 | out : ImmutableSortedMap [] : Object | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3809:19:3809:21 | out : ImmutableSortedMap [] : Object | Test.java:3809:9:3809:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:3814:13:3814:39 | (...)... : Map [] : Object | Test.java:3815:36:3815:37 | in : Map [] : Object | provenance | | +| Test.java:3814:18:3814:39 | of(...) : Map [] : Object | Test.java:3814:13:3814:39 | (...)... : Map [] : Object | provenance | | +| Test.java:3814:31:3814:38 | source(...) : Object | Test.java:3814:18:3814:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:3815:10:3815:38 | copyOf(...) : ImmutableSortedMap [] : Object | Test.java:3816:21:3816:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3815:36:3815:37 | in : Map [] : Object | Test.java:3815:10:3815:38 | copyOf(...) : ImmutableSortedMap [] : Object | provenance | MaD:160 | +| Test.java:3816:21:3816:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3816:21:3816:23 | out : ImmutableSortedMap [] : Object | Test.java:3816:9:3816:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:3821:13:3821:39 | (...)... : Map [] : Object | Test.java:3822:36:3822:37 | in : Map [] : Object | provenance | | +| Test.java:3821:18:3821:39 | of(...) : Map [] : Object | Test.java:3821:13:3821:39 | (...)... : Map [] : Object | provenance | | +| Test.java:3821:25:3821:32 | source(...) : Object | Test.java:3821:18:3821:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:3822:10:3822:56 | copyOf(...) : ImmutableSortedMap [] : Object | Test.java:3823:19:3823:21 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3822:36:3822:37 | in : Map [] : Object | Test.java:3822:10:3822:56 | copyOf(...) : ImmutableSortedMap [] : Object | provenance | MaD:161 | +| Test.java:3823:19:3823:21 | out : ImmutableSortedMap [] : Object | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3823:19:3823:21 | out : ImmutableSortedMap [] : Object | Test.java:3823:9:3823:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:3828:13:3828:39 | (...)... : Map [] : Object | Test.java:3829:36:3829:37 | in : Map [] : Object | provenance | | +| Test.java:3828:18:3828:39 | of(...) : Map [] : Object | Test.java:3828:13:3828:39 | (...)... : Map [] : Object | provenance | | +| Test.java:3828:31:3828:38 | source(...) : Object | Test.java:3828:18:3828:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:3829:10:3829:56 | copyOf(...) : ImmutableSortedMap [] : Object | Test.java:3830:21:3830:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3829:36:3829:37 | in : Map [] : Object | Test.java:3829:10:3829:56 | copyOf(...) : ImmutableSortedMap [] : Object | provenance | MaD:162 | +| Test.java:3830:21:3830:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3830:21:3830:23 | out : ImmutableSortedMap [] : Object | Test.java:3830:9:3830:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:3835:19:3835:78 | (...)... : ImmutableSortedMap [] : Comparable | Test.java:3836:42:3836:43 | in : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3835:30:3835:78 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:3835:19:3835:78 | (...)... : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3835:52:3835:71 | (...)... : Comparable | Test.java:3835:30:3835:78 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:3835:64:3835:71 | source(...) : Object | Test.java:3835:52:3835:71 | (...)... : Comparable | provenance | | +| Test.java:3836:10:3836:44 | copyOfSorted(...) : ImmutableSortedMap [] : Comparable | Test.java:3837:19:3837:21 | out : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3836:42:3836:43 | in : ImmutableSortedMap [] : Comparable | Test.java:3836:10:3836:44 | copyOfSorted(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:163 | +| Test.java:3837:19:3837:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3837:19:3837:21 | out : ImmutableSortedMap [] : Comparable | Test.java:3837:9:3837:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:3842:19:3842:78 | (...)... : ImmutableSortedMap [] : Object | Test.java:3843:42:3843:43 | in : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3842:30:3842:78 | of(...) : ImmutableSortedMap [] : Object | Test.java:3842:19:3842:78 | (...)... : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3842:70:3842:77 | source(...) : Object | Test.java:3842:30:3842:78 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:166 | +| Test.java:3843:10:3843:44 | copyOfSorted(...) : ImmutableSortedMap [] : Object | Test.java:3844:21:3844:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3843:42:3843:43 | in : ImmutableSortedMap [] : Object | Test.java:3843:10:3843:44 | copyOfSorted(...) : ImmutableSortedMap [] : Object | provenance | MaD:164 | +| Test.java:3844:21:3844:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3844:21:3844:23 | out : ImmutableSortedMap [] : Object | Test.java:3844:9:3844:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:3849:20:3849:39 | (...)... : Comparable | Test.java:3850:32:3850:33 | in : Comparable | provenance | | +| Test.java:3849:32:3849:39 | source(...) : Object | Test.java:3849:20:3849:39 | (...)... : Comparable | provenance | | +| Test.java:3850:10:3850:88 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:3851:19:3851:21 | out : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3850:32:3850:33 | in : Comparable | Test.java:3850:10:3850:88 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:3851:19:3851:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3851:19:3851:21 | out : ImmutableSortedMap [] : Comparable | Test.java:3851:9:3851:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:3856:20:3856:39 | (...)... : Comparable | Test.java:3857:32:3857:33 | in : Comparable | provenance | | +| Test.java:3856:32:3856:39 | source(...) : Object | Test.java:3856:20:3856:39 | (...)... : Comparable | provenance | | +| Test.java:3857:10:3857:76 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:3858:19:3858:21 | out : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3857:32:3857:33 | in : Comparable | Test.java:3857:10:3857:76 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:3858:19:3858:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3858:19:3858:21 | out : ImmutableSortedMap [] : Comparable | Test.java:3858:9:3858:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:3863:20:3863:39 | (...)... : Comparable | Test.java:3864:32:3864:33 | in : Comparable | provenance | | +| Test.java:3863:32:3863:39 | source(...) : Object | Test.java:3863:20:3863:39 | (...)... : Comparable | provenance | | +| Test.java:3864:10:3864:64 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:3865:19:3865:21 | out : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3864:32:3864:33 | in : Comparable | Test.java:3864:10:3864:64 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:3865:19:3865:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3865:19:3865:21 | out : ImmutableSortedMap [] : Comparable | Test.java:3865:9:3865:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:3870:20:3870:39 | (...)... : Comparable | Test.java:3871:32:3871:33 | in : Comparable | provenance | | +| Test.java:3870:32:3870:39 | source(...) : Object | Test.java:3870:20:3870:39 | (...)... : Comparable | provenance | | +| Test.java:3871:10:3871:52 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:3872:19:3872:21 | out : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3871:32:3871:33 | in : Comparable | Test.java:3871:10:3871:52 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:3872:19:3872:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3872:19:3872:21 | out : ImmutableSortedMap [] : Comparable | Test.java:3872:9:3872:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:3877:20:3877:39 | (...)... : Comparable | Test.java:3878:32:3878:33 | in : Comparable | provenance | | +| Test.java:3877:32:3877:39 | source(...) : Object | Test.java:3877:20:3877:39 | (...)... : Comparable | provenance | | +| Test.java:3878:10:3878:40 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:3879:19:3879:21 | out : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3878:32:3878:33 | in : Comparable | Test.java:3878:10:3878:40 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:3879:19:3879:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3879:19:3879:21 | out : ImmutableSortedMap [] : Comparable | Test.java:3879:9:3879:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:3884:16:3884:31 | (...)... : Object | Test.java:3885:38:3885:39 | in : Object | provenance | | +| Test.java:3884:24:3884:31 | source(...) : Object | Test.java:3884:16:3884:31 | (...)... : Object | provenance | | +| Test.java:3885:10:3885:88 | of(...) : ImmutableSortedMap [] : Object | Test.java:3886:21:3886:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3885:38:3885:39 | in : Object | Test.java:3885:10:3885:88 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:166 | +| Test.java:3886:21:3886:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3886:21:3886:23 | out : ImmutableSortedMap [] : Object | Test.java:3886:9:3886:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:3891:16:3891:31 | (...)... : Object | Test.java:3892:38:3892:39 | in : Object | provenance | | +| Test.java:3891:24:3891:31 | source(...) : Object | Test.java:3891:16:3891:31 | (...)... : Object | provenance | | +| Test.java:3892:10:3892:76 | of(...) : ImmutableSortedMap [] : Object | Test.java:3893:21:3893:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3892:38:3892:39 | in : Object | Test.java:3892:10:3892:76 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:166 | +| Test.java:3893:21:3893:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3893:21:3893:23 | out : ImmutableSortedMap [] : Object | Test.java:3893:9:3893:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:3898:16:3898:31 | (...)... : Object | Test.java:3899:38:3899:39 | in : Object | provenance | | +| Test.java:3898:24:3898:31 | source(...) : Object | Test.java:3898:16:3898:31 | (...)... : Object | provenance | | +| Test.java:3899:10:3899:64 | of(...) : ImmutableSortedMap [] : Object | Test.java:3900:21:3900:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3899:38:3899:39 | in : Object | Test.java:3899:10:3899:64 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:166 | +| Test.java:3900:21:3900:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3900:21:3900:23 | out : ImmutableSortedMap [] : Object | Test.java:3900:9:3900:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:3905:16:3905:31 | (...)... : Object | Test.java:3906:38:3906:39 | in : Object | provenance | | +| Test.java:3905:24:3905:31 | source(...) : Object | Test.java:3905:16:3905:31 | (...)... : Object | provenance | | +| Test.java:3906:10:3906:52 | of(...) : ImmutableSortedMap [] : Object | Test.java:3907:21:3907:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3906:38:3906:39 | in : Object | Test.java:3906:10:3906:52 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:166 | +| Test.java:3907:21:3907:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3907:21:3907:23 | out : ImmutableSortedMap [] : Object | Test.java:3907:9:3907:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:3912:16:3912:31 | (...)... : Object | Test.java:3913:38:3913:39 | in : Object | provenance | | +| Test.java:3912:24:3912:31 | source(...) : Object | Test.java:3912:16:3912:31 | (...)... : Object | provenance | | +| Test.java:3913:10:3913:40 | of(...) : ImmutableSortedMap [] : Object | Test.java:3914:21:3914:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3913:38:3913:39 | in : Object | Test.java:3913:10:3913:40 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:166 | +| Test.java:3914:21:3914:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3914:21:3914:23 | out : ImmutableSortedMap [] : Object | Test.java:3914:9:3914:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:3919:20:3919:39 | (...)... : Comparable | Test.java:3920:44:3920:45 | in : Comparable | provenance | | +| Test.java:3919:32:3919:39 | source(...) : Object | Test.java:3919:20:3919:39 | (...)... : Comparable | provenance | | +| Test.java:3920:10:3920:88 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:3921:19:3921:21 | out : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3920:44:3920:45 | in : Comparable | Test.java:3920:10:3920:88 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:167 | +| Test.java:3921:19:3921:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3921:19:3921:21 | out : ImmutableSortedMap [] : Comparable | Test.java:3921:9:3921:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:3926:20:3926:39 | (...)... : Comparable | Test.java:3927:44:3927:45 | in : Comparable | provenance | | +| Test.java:3926:32:3926:39 | source(...) : Object | Test.java:3926:20:3926:39 | (...)... : Comparable | provenance | | +| Test.java:3927:10:3927:76 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:3928:19:3928:21 | out : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3927:44:3927:45 | in : Comparable | Test.java:3927:10:3927:76 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:167 | +| Test.java:3928:19:3928:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3928:19:3928:21 | out : ImmutableSortedMap [] : Comparable | Test.java:3928:9:3928:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:3933:20:3933:39 | (...)... : Comparable | Test.java:3934:44:3934:45 | in : Comparable | provenance | | +| Test.java:3933:32:3933:39 | source(...) : Object | Test.java:3933:20:3933:39 | (...)... : Comparable | provenance | | +| Test.java:3934:10:3934:64 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:3935:19:3935:21 | out : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3934:44:3934:45 | in : Comparable | Test.java:3934:10:3934:64 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:167 | +| Test.java:3935:19:3935:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3935:19:3935:21 | out : ImmutableSortedMap [] : Comparable | Test.java:3935:9:3935:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:3940:20:3940:39 | (...)... : Comparable | Test.java:3941:44:3941:45 | in : Comparable | provenance | | +| Test.java:3940:32:3940:39 | source(...) : Object | Test.java:3940:20:3940:39 | (...)... : Comparable | provenance | | +| Test.java:3941:10:3941:52 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:3942:19:3942:21 | out : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3941:44:3941:45 | in : Comparable | Test.java:3941:10:3941:52 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:167 | +| Test.java:3942:19:3942:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3942:19:3942:21 | out : ImmutableSortedMap [] : Comparable | Test.java:3942:9:3942:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:3947:16:3947:31 | (...)... : Object | Test.java:3948:50:3948:51 | in : Object | provenance | | +| Test.java:3947:24:3947:31 | source(...) : Object | Test.java:3947:16:3947:31 | (...)... : Object | provenance | | +| Test.java:3948:10:3948:88 | of(...) : ImmutableSortedMap [] : Object | Test.java:3949:21:3949:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3948:50:3948:51 | in : Object | Test.java:3948:10:3948:88 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:168 | +| Test.java:3949:21:3949:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3949:21:3949:23 | out : ImmutableSortedMap [] : Object | Test.java:3949:9:3949:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:3954:16:3954:31 | (...)... : Object | Test.java:3955:50:3955:51 | in : Object | provenance | | +| Test.java:3954:24:3954:31 | source(...) : Object | Test.java:3954:16:3954:31 | (...)... : Object | provenance | | +| Test.java:3955:10:3955:76 | of(...) : ImmutableSortedMap [] : Object | Test.java:3956:21:3956:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3955:50:3955:51 | in : Object | Test.java:3955:10:3955:76 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:168 | +| Test.java:3956:21:3956:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3956:21:3956:23 | out : ImmutableSortedMap [] : Object | Test.java:3956:9:3956:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:3961:16:3961:31 | (...)... : Object | Test.java:3962:50:3962:51 | in : Object | provenance | | +| Test.java:3961:24:3961:31 | source(...) : Object | Test.java:3961:16:3961:31 | (...)... : Object | provenance | | +| Test.java:3962:10:3962:64 | of(...) : ImmutableSortedMap [] : Object | Test.java:3963:21:3963:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3962:50:3962:51 | in : Object | Test.java:3962:10:3962:64 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:168 | +| Test.java:3963:21:3963:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3963:21:3963:23 | out : ImmutableSortedMap [] : Object | Test.java:3963:9:3963:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:3968:16:3968:31 | (...)... : Object | Test.java:3969:50:3969:51 | in : Object | provenance | | +| Test.java:3968:24:3968:31 | source(...) : Object | Test.java:3968:16:3968:31 | (...)... : Object | provenance | | +| Test.java:3969:10:3969:52 | of(...) : ImmutableSortedMap [] : Object | Test.java:3970:21:3970:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3969:50:3969:51 | in : Object | Test.java:3969:10:3969:52 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:168 | +| Test.java:3970:21:3970:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3970:21:3970:23 | out : ImmutableSortedMap [] : Object | Test.java:3970:9:3970:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:3975:20:3975:39 | (...)... : Comparable | Test.java:3976:56:3976:57 | in : Comparable | provenance | | +| Test.java:3975:32:3975:39 | source(...) : Object | Test.java:3975:20:3975:39 | (...)... : Comparable | provenance | | +| Test.java:3976:10:3976:88 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:3977:19:3977:21 | out : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3976:56:3976:57 | in : Comparable | Test.java:3976:10:3976:88 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:169 | +| Test.java:3977:19:3977:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3977:19:3977:21 | out : ImmutableSortedMap [] : Comparable | Test.java:3977:9:3977:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:3982:20:3982:39 | (...)... : Comparable | Test.java:3983:56:3983:57 | in : Comparable | provenance | | +| Test.java:3982:32:3982:39 | source(...) : Object | Test.java:3982:20:3982:39 | (...)... : Comparable | provenance | | +| Test.java:3983:10:3983:76 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:3984:19:3984:21 | out : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3983:56:3983:57 | in : Comparable | Test.java:3983:10:3983:76 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:169 | +| Test.java:3984:19:3984:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3984:19:3984:21 | out : ImmutableSortedMap [] : Comparable | Test.java:3984:9:3984:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:3989:20:3989:39 | (...)... : Comparable | Test.java:3990:56:3990:57 | in : Comparable | provenance | | +| Test.java:3989:32:3989:39 | source(...) : Object | Test.java:3989:20:3989:39 | (...)... : Comparable | provenance | | +| Test.java:3990:10:3990:64 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:3991:19:3991:21 | out : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3990:56:3990:57 | in : Comparable | Test.java:3990:10:3990:64 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:169 | +| Test.java:3991:19:3991:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:3991:19:3991:21 | out : ImmutableSortedMap [] : Comparable | Test.java:3991:9:3991:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:3996:16:3996:31 | (...)... : Object | Test.java:3997:62:3997:63 | in : Object | provenance | | +| Test.java:3996:24:3996:31 | source(...) : Object | Test.java:3996:16:3996:31 | (...)... : Object | provenance | | +| Test.java:3997:10:3997:88 | of(...) : ImmutableSortedMap [] : Object | Test.java:3998:21:3998:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3997:62:3997:63 | in : Object | Test.java:3997:10:3997:88 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:170 | +| Test.java:3998:21:3998:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:3998:21:3998:23 | out : ImmutableSortedMap [] : Object | Test.java:3998:9:3998:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:4003:16:4003:31 | (...)... : Object | Test.java:4004:62:4004:63 | in : Object | provenance | | +| Test.java:4003:24:4003:31 | source(...) : Object | Test.java:4003:16:4003:31 | (...)... : Object | provenance | | +| Test.java:4004:10:4004:76 | of(...) : ImmutableSortedMap [] : Object | Test.java:4005:21:4005:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:4004:62:4004:63 | in : Object | Test.java:4004:10:4004:76 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:170 | +| Test.java:4005:21:4005:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:4005:21:4005:23 | out : ImmutableSortedMap [] : Object | Test.java:4005:9:4005:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:4010:16:4010:31 | (...)... : Object | Test.java:4011:62:4011:63 | in : Object | provenance | | +| Test.java:4010:24:4010:31 | source(...) : Object | Test.java:4010:16:4010:31 | (...)... : Object | provenance | | +| Test.java:4011:10:4011:64 | of(...) : ImmutableSortedMap [] : Object | Test.java:4012:21:4012:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:4011:62:4011:63 | in : Object | Test.java:4011:10:4011:64 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:170 | +| Test.java:4012:21:4012:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:4012:21:4012:23 | out : ImmutableSortedMap [] : Object | Test.java:4012:9:4012:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:4017:20:4017:39 | (...)... : Comparable | Test.java:4018:68:4018:69 | in : Comparable | provenance | | +| Test.java:4017:32:4017:39 | source(...) : Object | Test.java:4017:20:4017:39 | (...)... : Comparable | provenance | | +| Test.java:4018:10:4018:88 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:4019:19:4019:21 | out : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:4018:68:4018:69 | in : Comparable | Test.java:4018:10:4018:88 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:171 | +| Test.java:4019:19:4019:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:4019:19:4019:21 | out : ImmutableSortedMap [] : Comparable | Test.java:4019:9:4019:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:4024:20:4024:39 | (...)... : Comparable | Test.java:4025:68:4025:69 | in : Comparable | provenance | | +| Test.java:4024:32:4024:39 | source(...) : Object | Test.java:4024:20:4024:39 | (...)... : Comparable | provenance | | +| Test.java:4025:10:4025:76 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:4026:19:4026:21 | out : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:4025:68:4025:69 | in : Comparable | Test.java:4025:10:4025:76 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:171 | +| Test.java:4026:19:4026:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:4026:19:4026:21 | out : ImmutableSortedMap [] : Comparable | Test.java:4026:9:4026:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:4031:16:4031:31 | (...)... : Object | Test.java:4032:74:4032:75 | in : Object | provenance | | +| Test.java:4031:24:4031:31 | source(...) : Object | Test.java:4031:16:4031:31 | (...)... : Object | provenance | | +| Test.java:4032:10:4032:88 | of(...) : ImmutableSortedMap [] : Object | Test.java:4033:21:4033:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:4032:74:4032:75 | in : Object | Test.java:4032:10:4032:88 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:172 | +| Test.java:4033:21:4033:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:4033:21:4033:23 | out : ImmutableSortedMap [] : Object | Test.java:4033:9:4033:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:4038:16:4038:31 | (...)... : Object | Test.java:4039:74:4039:75 | in : Object | provenance | | +| Test.java:4038:24:4038:31 | source(...) : Object | Test.java:4038:16:4038:31 | (...)... : Object | provenance | | +| Test.java:4039:10:4039:76 | of(...) : ImmutableSortedMap [] : Object | Test.java:4040:21:4040:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:4039:74:4039:75 | in : Object | Test.java:4039:10:4039:76 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:172 | +| Test.java:4040:21:4040:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:4040:21:4040:23 | out : ImmutableSortedMap [] : Object | Test.java:4040:9:4040:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:4045:20:4045:39 | (...)... : Comparable | Test.java:4046:80:4046:81 | in : Comparable | provenance | | +| Test.java:4045:32:4045:39 | source(...) : Object | Test.java:4045:20:4045:39 | (...)... : Comparable | provenance | | +| Test.java:4046:10:4046:88 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:4047:19:4047:21 | out : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:4046:80:4046:81 | in : Comparable | Test.java:4046:10:4046:88 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:173 | +| Test.java:4047:19:4047:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:4047:19:4047:21 | out : ImmutableSortedMap [] : Comparable | Test.java:4047:9:4047:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:4052:16:4052:31 | (...)... : Object | Test.java:4053:86:4053:87 | in : Object | provenance | | +| Test.java:4052:24:4052:31 | source(...) : Object | Test.java:4052:16:4052:31 | (...)... : Object | provenance | | +| Test.java:4053:10:4053:88 | of(...) : ImmutableSortedMap [] : Object | Test.java:4054:21:4054:23 | out : ImmutableSortedMap [] : Object | provenance | | +| Test.java:4053:86:4053:87 | in : Object | Test.java:4053:10:4053:88 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:174 | +| Test.java:4054:21:4054:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | provenance | | +| Test.java:4054:21:4054:23 | out : ImmutableSortedMap [] : Object | Test.java:4054:9:4054:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:4059:22:4059:73 | (...)... : Comparable[] [[]] : Comparable | Test.java:4060:41:4060:42 | in : Comparable[] [[]] : Comparable | provenance | | +| Test.java:4059:36:4059:73 | {...} : Comparable[] [[]] : Comparable | Test.java:4059:22:4059:73 | (...)... : Comparable[] [[]] : Comparable | provenance | | +| Test.java:4059:53:4059:72 | (...)... : Comparable | Test.java:4059:36:4059:73 | {...} : Comparable[] [[]] : Comparable | provenance | | +| Test.java:4059:65:4059:72 | source(...) : Object | Test.java:4059:53:4059:72 | (...)... : Comparable | provenance | | +| Test.java:4060:10:4060:43 | copyOf(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4061:20:4061:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4060:41:4060:42 | in : Comparable[] [[]] : Comparable | Test.java:4060:10:4060:43 | copyOf(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:175 | +| Test.java:4061:20:4061:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4061:20:4061:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4061:9:4061:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4066:18:4066:44 | (...)... : List [] : Object | Test.java:4067:59:4067:60 | in : List [] : Object | provenance | | +| Test.java:4066:28:4066:44 | of(...) : List [] : Object | Test.java:4066:18:4066:44 | (...)... : List [] : Object | provenance | | +| Test.java:4066:36:4066:43 | source(...) : Object | Test.java:4066:28:4066:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4067:10:4067:61 | copyOf(...) : ImmutableSortedMultiset [] : Object | Test.java:4068:20:4068:22 | out : ImmutableSortedMultiset [] : Object | provenance | | +| Test.java:4067:59:4067:60 | in : List [] : Object | Test.java:4067:10:4067:61 | copyOf(...) : ImmutableSortedMultiset [] : Object | provenance | MaD:176 | +| Test.java:4068:20:4068:22 | out : ImmutableSortedMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Object | provenance | | +| Test.java:4068:20:4068:22 | out : ImmutableSortedMultiset [] : Object | Test.java:4068:9:4068:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4073:18:4073:55 | (...)... : Iterator [] : Object | Test.java:4074:59:4074:60 | in : Iterator [] : Object | provenance | | +| Test.java:4073:28:4073:44 | of(...) : List [] : Object | Test.java:4073:28:4073:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4073:28:4073:55 | iterator(...) : Iterator [] : Object | Test.java:4073:18:4073:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:4073:36:4073:43 | source(...) : Object | Test.java:4073:28:4073:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4074:10:4074:61 | copyOf(...) : ImmutableSortedMultiset [] : Object | Test.java:4075:20:4075:22 | out : ImmutableSortedMultiset [] : Object | provenance | | +| Test.java:4074:59:4074:60 | in : Iterator [] : Object | Test.java:4074:10:4074:61 | copyOf(...) : ImmutableSortedMultiset [] : Object | provenance | MaD:177 | +| Test.java:4075:20:4075:22 | out : ImmutableSortedMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Object | provenance | | +| Test.java:4075:20:4075:22 | out : ImmutableSortedMultiset [] : Object | Test.java:4075:9:4075:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4080:18:4080:44 | (...)... : List [] : Object | Test.java:4081:41:4081:42 | in : List [] : Object | provenance | | +| Test.java:4080:28:4080:44 | of(...) : List [] : Object | Test.java:4080:18:4080:44 | (...)... : List [] : Object | provenance | | +| Test.java:4080:36:4080:43 | source(...) : Object | Test.java:4080:28:4080:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4081:10:4081:43 | copyOf(...) : ImmutableSortedMultiset [] : Object | Test.java:4082:20:4082:22 | out : ImmutableSortedMultiset [] : Object | provenance | | +| Test.java:4081:41:4081:42 | in : List [] : Object | Test.java:4081:10:4081:43 | copyOf(...) : ImmutableSortedMultiset [] : Object | provenance | MaD:178 | +| Test.java:4082:20:4082:22 | out : ImmutableSortedMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Object | provenance | | +| Test.java:4082:20:4082:22 | out : ImmutableSortedMultiset [] : Object | Test.java:4082:9:4082:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4087:18:4087:55 | (...)... : Iterator [] : Object | Test.java:4088:41:4088:42 | in : Iterator [] : Object | provenance | | +| Test.java:4087:28:4087:44 | of(...) : List [] : Object | Test.java:4087:28:4087:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4087:28:4087:55 | iterator(...) : Iterator [] : Object | Test.java:4087:18:4087:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:4087:36:4087:43 | source(...) : Object | Test.java:4087:28:4087:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4088:10:4088:43 | copyOf(...) : ImmutableSortedMultiset [] : Object | Test.java:4089:20:4089:22 | out : ImmutableSortedMultiset [] : Object | provenance | | +| Test.java:4088:41:4088:42 | in : Iterator [] : Object | Test.java:4088:10:4088:43 | copyOf(...) : ImmutableSortedMultiset [] : Object | provenance | MaD:179 | +| Test.java:4089:20:4089:22 | out : ImmutableSortedMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Object | provenance | | +| Test.java:4089:20:4089:22 | out : ImmutableSortedMultiset [] : Object | Test.java:4089:9:4089:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4094:24:4094:87 | (...)... : ImmutableSortedMultiset [] : Comparable | Test.java:4095:47:4095:48 | in : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4094:40:4094:87 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4094:24:4094:87 | (...)... : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4094:67:4094:86 | (...)... : Comparable | Test.java:4094:40:4094:87 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4094:79:4094:86 | source(...) : Object | Test.java:4094:67:4094:86 | (...)... : Comparable | provenance | | +| Test.java:4095:10:4095:49 | copyOfSorted(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4096:20:4096:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4095:47:4095:48 | in : ImmutableSortedMultiset [] : Comparable | Test.java:4095:10:4095:49 | copyOfSorted(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:180 | +| Test.java:4096:20:4096:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4096:20:4096:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4096:9:4096:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4101:20:4101:39 | (...)... : Comparable | Test.java:4102:61:4102:62 | in : Comparable | provenance | | +| Test.java:4101:32:4101:39 | source(...) : Object | Test.java:4101:20:4101:39 | (...)... : Comparable | provenance | | +| Test.java:4102:10:4102:63 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4103:20:4103:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4102:61:4102:62 | in : Comparable | Test.java:4102:10:4102:63 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4103:20:4103:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4103:20:4103:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4103:9:4103:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4108:20:4108:39 | (...)... : Comparable | Test.java:4109:55:4109:56 | in : Comparable | provenance | | +| Test.java:4108:32:4108:39 | source(...) : Object | Test.java:4108:20:4108:39 | (...)... : Comparable | provenance | | +| Test.java:4109:10:4109:63 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4110:20:4110:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4109:55:4109:56 | in : Comparable | Test.java:4109:10:4109:63 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4110:20:4110:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4110:20:4110:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4110:9:4110:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4115:20:4115:39 | (...)... : Comparable | Test.java:4116:55:4116:56 | in : Comparable | provenance | | +| Test.java:4115:32:4115:39 | source(...) : Object | Test.java:4115:20:4115:39 | (...)... : Comparable | provenance | | +| Test.java:4116:10:4116:57 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4117:20:4117:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4116:55:4116:56 | in : Comparable | Test.java:4116:10:4116:57 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4117:20:4117:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4117:20:4117:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4117:9:4117:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4122:20:4122:39 | (...)... : Comparable | Test.java:4123:49:4123:50 | in : Comparable | provenance | | +| Test.java:4122:32:4122:39 | source(...) : Object | Test.java:4122:20:4122:39 | (...)... : Comparable | provenance | | +| Test.java:4123:10:4123:63 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4124:20:4124:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4123:49:4123:50 | in : Comparable | Test.java:4123:10:4123:63 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4124:20:4124:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4124:20:4124:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4124:9:4124:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4129:20:4129:39 | (...)... : Comparable | Test.java:4130:49:4130:50 | in : Comparable | provenance | | +| Test.java:4129:32:4129:39 | source(...) : Object | Test.java:4129:20:4129:39 | (...)... : Comparable | provenance | | +| Test.java:4130:10:4130:57 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4131:20:4131:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4130:49:4130:50 | in : Comparable | Test.java:4130:10:4130:57 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4131:20:4131:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4131:20:4131:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4131:9:4131:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4136:20:4136:39 | (...)... : Comparable | Test.java:4137:49:4137:50 | in : Comparable | provenance | | +| Test.java:4136:32:4136:39 | source(...) : Object | Test.java:4136:20:4136:39 | (...)... : Comparable | provenance | | +| Test.java:4137:10:4137:51 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4138:20:4138:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4137:49:4137:50 | in : Comparable | Test.java:4137:10:4137:51 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4138:20:4138:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4138:20:4138:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4138:9:4138:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4143:20:4143:39 | (...)... : Comparable | Test.java:4144:43:4144:44 | in : Comparable | provenance | | +| Test.java:4143:32:4143:39 | source(...) : Object | Test.java:4143:20:4143:39 | (...)... : Comparable | provenance | | +| Test.java:4144:10:4144:63 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4145:20:4145:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4144:43:4144:44 | in : Comparable | Test.java:4144:10:4144:63 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4145:20:4145:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4145:20:4145:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4145:9:4145:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4150:20:4150:39 | (...)... : Comparable | Test.java:4151:43:4151:44 | in : Comparable | provenance | | +| Test.java:4150:32:4150:39 | source(...) : Object | Test.java:4150:20:4150:39 | (...)... : Comparable | provenance | | +| Test.java:4151:10:4151:57 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4152:20:4152:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4151:43:4151:44 | in : Comparable | Test.java:4151:10:4151:57 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4152:20:4152:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4152:20:4152:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4152:9:4152:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4157:20:4157:39 | (...)... : Comparable | Test.java:4158:43:4158:44 | in : Comparable | provenance | | +| Test.java:4157:32:4157:39 | source(...) : Object | Test.java:4157:20:4157:39 | (...)... : Comparable | provenance | | +| Test.java:4158:10:4158:51 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4159:20:4159:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4158:43:4158:44 | in : Comparable | Test.java:4158:10:4158:51 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4159:20:4159:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4159:20:4159:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4159:9:4159:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4164:20:4164:39 | (...)... : Comparable | Test.java:4165:43:4165:44 | in : Comparable | provenance | | +| Test.java:4164:32:4164:39 | source(...) : Object | Test.java:4164:20:4164:39 | (...)... : Comparable | provenance | | +| Test.java:4165:10:4165:45 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4166:20:4166:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4165:43:4165:44 | in : Comparable | Test.java:4165:10:4165:45 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4166:20:4166:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4166:20:4166:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4166:9:4166:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4171:20:4171:39 | (...)... : Comparable | Test.java:4172:37:4172:38 | in : Comparable | provenance | | +| Test.java:4171:32:4171:39 | source(...) : Object | Test.java:4171:20:4171:39 | (...)... : Comparable | provenance | | +| Test.java:4172:10:4172:63 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4173:20:4173:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4172:37:4172:38 | in : Comparable | Test.java:4172:10:4172:63 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4173:20:4173:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4173:20:4173:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4173:9:4173:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4178:20:4178:39 | (...)... : Comparable | Test.java:4179:37:4179:38 | in : Comparable | provenance | | +| Test.java:4178:32:4178:39 | source(...) : Object | Test.java:4178:20:4178:39 | (...)... : Comparable | provenance | | +| Test.java:4179:10:4179:57 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4180:20:4180:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4179:37:4179:38 | in : Comparable | Test.java:4179:10:4179:57 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4180:20:4180:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4180:20:4180:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4180:9:4180:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4185:20:4185:39 | (...)... : Comparable | Test.java:4186:37:4186:38 | in : Comparable | provenance | | +| Test.java:4185:32:4185:39 | source(...) : Object | Test.java:4185:20:4185:39 | (...)... : Comparable | provenance | | +| Test.java:4186:10:4186:51 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4187:20:4187:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4186:37:4186:38 | in : Comparable | Test.java:4186:10:4186:51 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4187:20:4187:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4187:20:4187:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4187:9:4187:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4192:20:4192:39 | (...)... : Comparable | Test.java:4193:37:4193:38 | in : Comparable | provenance | | +| Test.java:4192:32:4192:39 | source(...) : Object | Test.java:4192:20:4192:39 | (...)... : Comparable | provenance | | +| Test.java:4193:10:4193:45 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4194:20:4194:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4193:37:4193:38 | in : Comparable | Test.java:4193:10:4193:45 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4194:20:4194:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4194:20:4194:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4194:9:4194:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4199:20:4199:39 | (...)... : Comparable | Test.java:4200:37:4200:38 | in : Comparable | provenance | | +| Test.java:4199:32:4199:39 | source(...) : Object | Test.java:4199:20:4199:39 | (...)... : Comparable | provenance | | +| Test.java:4200:10:4200:149 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4201:20:4201:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4200:37:4200:38 | in : Comparable | Test.java:4200:10:4200:149 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4201:20:4201:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4201:20:4201:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4201:9:4201:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4206:20:4206:39 | (...)... : Comparable | Test.java:4207:37:4207:38 | in : Comparable | provenance | | +| Test.java:4206:32:4206:39 | source(...) : Object | Test.java:4206:20:4206:39 | (...)... : Comparable | provenance | | +| Test.java:4207:10:4207:39 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4208:20:4208:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4207:37:4207:38 | in : Comparable | Test.java:4207:10:4207:39 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4208:20:4208:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4208:20:4208:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4208:9:4208:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4213:20:4213:39 | (...)... : Comparable | Test.java:4214:55:4214:56 | in : Comparable | provenance | | +| Test.java:4213:32:4213:39 | source(...) : Object | Test.java:4213:20:4213:39 | (...)... : Comparable | provenance | | +| Test.java:4214:10:4214:149 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4215:20:4215:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4214:55:4214:56 | in : Comparable | Test.java:4214:10:4214:149 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4215:20:4215:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4215:20:4215:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4215:9:4215:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4220:20:4220:39 | (...)... : Comparable | Test.java:4221:73:4221:74 | in : Comparable | provenance | | +| Test.java:4220:32:4220:39 | source(...) : Object | Test.java:4220:20:4220:39 | (...)... : Comparable | provenance | | +| Test.java:4221:10:4221:149 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4222:20:4222:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4221:73:4221:74 | in : Comparable | Test.java:4221:10:4221:149 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4222:20:4222:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4222:20:4222:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4222:9:4222:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4227:20:4227:39 | (...)... : Comparable | Test.java:4228:91:4228:92 | in : Comparable | provenance | | +| Test.java:4227:32:4227:39 | source(...) : Object | Test.java:4227:20:4227:39 | (...)... : Comparable | provenance | | +| Test.java:4228:10:4228:149 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4229:20:4229:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4228:91:4228:92 | in : Comparable | Test.java:4228:10:4228:149 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4229:20:4229:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4229:20:4229:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4229:9:4229:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4234:20:4234:39 | (...)... : Comparable | Test.java:4235:109:4235:110 | in : Comparable | provenance | | +| Test.java:4234:32:4234:39 | source(...) : Object | Test.java:4234:20:4234:39 | (...)... : Comparable | provenance | | +| Test.java:4235:10:4235:149 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4236:20:4236:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4235:109:4235:110 | in : Comparable | Test.java:4235:10:4235:149 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4236:20:4236:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4236:20:4236:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4236:9:4236:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4241:20:4241:39 | (...)... : Comparable | Test.java:4242:127:4242:128 | in : Comparable | provenance | | +| Test.java:4241:32:4241:39 | source(...) : Object | Test.java:4241:20:4241:39 | (...)... : Comparable | provenance | | +| Test.java:4242:10:4242:149 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4243:20:4243:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4242:127:4242:128 | in : Comparable | Test.java:4242:10:4242:149 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:4243:20:4243:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4243:20:4243:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4243:9:4243:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4248:22:4248:73 | (...)... : Comparable[] [[]] : Comparable | Test.java:4249:145:4249:146 | in : Comparable[] [[]] : Comparable | provenance | | +| Test.java:4248:36:4248:73 | {...} : Comparable[] [[]] : Comparable | Test.java:4248:22:4248:73 | (...)... : Comparable[] [[]] : Comparable | provenance | | +| Test.java:4248:53:4248:72 | (...)... : Comparable | Test.java:4248:36:4248:73 | {...} : Comparable[] [[]] : Comparable | provenance | | +| Test.java:4248:65:4248:72 | source(...) : Object | Test.java:4248:53:4248:72 | (...)... : Comparable | provenance | | +| Test.java:4249:10:4249:147 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:4250:20:4250:22 | out : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4249:145:4249:146 | in : Comparable[] [[]] : Comparable | Test.java:4249:10:4249:147 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:182 | +| Test.java:4250:20:4250:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:4250:20:4250:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:4250:9:4250:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4255:20:4255:48 | (...)... : List [] : Object | Test.java:4256:36:4256:37 | in : List [] : Object | provenance | | +| Test.java:4255:32:4255:48 | of(...) : List [] : Object | Test.java:4255:20:4255:48 | (...)... : List [] : Object | provenance | | +| Test.java:4255:40:4255:47 | source(...) : Object | Test.java:4255:32:4255:48 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4256:10:4256:38 | copyOf(...) : ImmutableSortedSet [] : Object | Test.java:4257:20:4257:22 | out : ImmutableSortedSet [] : Object | provenance | | +| Test.java:4256:36:4256:37 | in : List [] : Object | Test.java:4256:10:4256:38 | copyOf(...) : ImmutableSortedSet [] : Object | provenance | MaD:183 | +| Test.java:4257:20:4257:22 | out : ImmutableSortedSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | provenance | | +| Test.java:4257:20:4257:22 | out : ImmutableSortedSet [] : Object | Test.java:4257:9:4257:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4262:22:4262:73 | (...)... : Comparable[] [[]] : Comparable | Test.java:4263:36:4263:37 | in : Comparable[] [[]] : Comparable | provenance | | +| Test.java:4262:36:4262:73 | {...} : Comparable[] [[]] : Comparable | Test.java:4262:22:4262:73 | (...)... : Comparable[] [[]] : Comparable | provenance | | +| Test.java:4262:53:4262:72 | (...)... : Comparable | Test.java:4262:36:4262:73 | {...} : Comparable[] [[]] : Comparable | provenance | | +| Test.java:4262:65:4262:72 | source(...) : Object | Test.java:4262:53:4262:72 | (...)... : Comparable | provenance | | +| Test.java:4263:10:4263:38 | copyOf(...) : ImmutableSortedSet [] : Comparable | Test.java:4264:20:4264:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4263:36:4263:37 | in : Comparable[] [[]] : Comparable | Test.java:4263:10:4263:38 | copyOf(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:184 | +| Test.java:4264:20:4264:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4264:20:4264:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4264:9:4264:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4269:20:4269:48 | (...)... : List [] : Object | Test.java:4270:54:4270:55 | in : List [] : Object | provenance | | +| Test.java:4269:32:4269:48 | of(...) : List [] : Object | Test.java:4269:20:4269:48 | (...)... : List [] : Object | provenance | | +| Test.java:4269:40:4269:47 | source(...) : Object | Test.java:4269:32:4269:48 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4270:10:4270:56 | copyOf(...) : ImmutableSortedSet [] : Object | Test.java:4271:20:4271:22 | out : ImmutableSortedSet [] : Object | provenance | | +| Test.java:4270:54:4270:55 | in : List [] : Object | Test.java:4270:10:4270:56 | copyOf(...) : ImmutableSortedSet [] : Object | provenance | MaD:185 | +| Test.java:4271:20:4271:22 | out : ImmutableSortedSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | provenance | | +| Test.java:4271:20:4271:22 | out : ImmutableSortedSet [] : Object | Test.java:4271:9:4271:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4276:18:4276:44 | (...)... : List [] : Object | Test.java:4277:54:4277:55 | in : List [] : Object | provenance | | +| Test.java:4276:28:4276:44 | of(...) : List [] : Object | Test.java:4276:18:4276:44 | (...)... : List [] : Object | provenance | | +| Test.java:4276:36:4276:43 | source(...) : Object | Test.java:4276:28:4276:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4277:10:4277:56 | copyOf(...) : ImmutableSortedSet [] : Object | Test.java:4278:20:4278:22 | out : ImmutableSortedSet [] : Object | provenance | | +| Test.java:4277:54:4277:55 | in : List [] : Object | Test.java:4277:10:4277:56 | copyOf(...) : ImmutableSortedSet [] : Object | provenance | MaD:186 | +| Test.java:4278:20:4278:22 | out : ImmutableSortedSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | provenance | | +| Test.java:4278:20:4278:22 | out : ImmutableSortedSet [] : Object | Test.java:4278:9:4278:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4283:18:4283:55 | (...)... : Iterator [] : Object | Test.java:4284:54:4284:55 | in : Iterator [] : Object | provenance | | +| Test.java:4283:28:4283:44 | of(...) : List [] : Object | Test.java:4283:28:4283:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4283:28:4283:55 | iterator(...) : Iterator [] : Object | Test.java:4283:18:4283:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:4283:36:4283:43 | source(...) : Object | Test.java:4283:28:4283:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4284:10:4284:56 | copyOf(...) : ImmutableSortedSet [] : Object | Test.java:4285:20:4285:22 | out : ImmutableSortedSet [] : Object | provenance | | +| Test.java:4284:54:4284:55 | in : Iterator [] : Object | Test.java:4284:10:4284:56 | copyOf(...) : ImmutableSortedSet [] : Object | provenance | MaD:187 | +| Test.java:4285:20:4285:22 | out : ImmutableSortedSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | provenance | | +| Test.java:4285:20:4285:22 | out : ImmutableSortedSet [] : Object | Test.java:4285:9:4285:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4290:18:4290:44 | (...)... : List [] : Object | Test.java:4291:36:4291:37 | in : List [] : Object | provenance | | +| Test.java:4290:28:4290:44 | of(...) : List [] : Object | Test.java:4290:18:4290:44 | (...)... : List [] : Object | provenance | | +| Test.java:4290:36:4290:43 | source(...) : Object | Test.java:4290:28:4290:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4291:10:4291:38 | copyOf(...) : ImmutableSortedSet [] : Object | Test.java:4292:20:4292:22 | out : ImmutableSortedSet [] : Object | provenance | | +| Test.java:4291:36:4291:37 | in : List [] : Object | Test.java:4291:10:4291:38 | copyOf(...) : ImmutableSortedSet [] : Object | provenance | MaD:188 | +| Test.java:4292:20:4292:22 | out : ImmutableSortedSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | provenance | | +| Test.java:4292:20:4292:22 | out : ImmutableSortedSet [] : Object | Test.java:4292:9:4292:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4297:18:4297:55 | (...)... : Iterator [] : Object | Test.java:4298:36:4298:37 | in : Iterator [] : Object | provenance | | +| Test.java:4297:28:4297:44 | of(...) : List [] : Object | Test.java:4297:28:4297:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4297:28:4297:55 | iterator(...) : Iterator [] : Object | Test.java:4297:18:4297:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:4297:36:4297:43 | source(...) : Object | Test.java:4297:28:4297:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4298:10:4298:38 | copyOf(...) : ImmutableSortedSet [] : Object | Test.java:4299:20:4299:22 | out : ImmutableSortedSet [] : Object | provenance | | +| Test.java:4298:36:4298:37 | in : Iterator [] : Object | Test.java:4298:10:4298:38 | copyOf(...) : ImmutableSortedSet [] : Object | provenance | MaD:189 | +| Test.java:4299:20:4299:22 | out : ImmutableSortedSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | provenance | | +| Test.java:4299:20:4299:22 | out : ImmutableSortedSet [] : Object | Test.java:4299:9:4299:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4304:19:4304:72 | (...)... : ImmutableSortedSet [] : Comparable | Test.java:4305:42:4305:43 | in : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4304:30:4304:72 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4304:19:4304:72 | (...)... : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4304:52:4304:71 | (...)... : Comparable | Test.java:4304:30:4304:72 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4304:64:4304:71 | source(...) : Object | Test.java:4304:52:4304:71 | (...)... : Comparable | provenance | | +| Test.java:4305:10:4305:44 | copyOfSorted(...) : ImmutableSortedSet [] : Comparable | Test.java:4306:20:4306:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4305:42:4305:43 | in : ImmutableSortedSet [] : Comparable | Test.java:4305:10:4305:44 | copyOfSorted(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:190 | +| Test.java:4306:20:4306:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4306:20:4306:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4306:9:4306:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4311:20:4311:39 | (...)... : Comparable | Test.java:4312:56:4312:57 | in : Comparable | provenance | | +| Test.java:4311:32:4311:39 | source(...) : Object | Test.java:4311:20:4311:39 | (...)... : Comparable | provenance | | +| Test.java:4312:10:4312:58 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4313:20:4313:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4312:56:4312:57 | in : Comparable | Test.java:4312:10:4312:58 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4313:20:4313:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4313:20:4313:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4313:9:4313:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4318:20:4318:39 | (...)... : Comparable | Test.java:4319:50:4319:51 | in : Comparable | provenance | | +| Test.java:4318:32:4318:39 | source(...) : Object | Test.java:4318:20:4318:39 | (...)... : Comparable | provenance | | +| Test.java:4319:10:4319:58 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4320:20:4320:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4319:50:4319:51 | in : Comparable | Test.java:4319:10:4319:58 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4320:20:4320:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4320:20:4320:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4320:9:4320:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4325:20:4325:39 | (...)... : Comparable | Test.java:4326:50:4326:51 | in : Comparable | provenance | | +| Test.java:4325:32:4325:39 | source(...) : Object | Test.java:4325:20:4325:39 | (...)... : Comparable | provenance | | +| Test.java:4326:10:4326:52 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4327:20:4327:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4326:50:4326:51 | in : Comparable | Test.java:4326:10:4326:52 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4327:20:4327:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4327:20:4327:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4327:9:4327:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4332:20:4332:39 | (...)... : Comparable | Test.java:4333:44:4333:45 | in : Comparable | provenance | | +| Test.java:4332:32:4332:39 | source(...) : Object | Test.java:4332:20:4332:39 | (...)... : Comparable | provenance | | +| Test.java:4333:10:4333:58 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4334:20:4334:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4333:44:4333:45 | in : Comparable | Test.java:4333:10:4333:58 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4334:20:4334:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4334:20:4334:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4334:9:4334:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4339:20:4339:39 | (...)... : Comparable | Test.java:4340:44:4340:45 | in : Comparable | provenance | | +| Test.java:4339:32:4339:39 | source(...) : Object | Test.java:4339:20:4339:39 | (...)... : Comparable | provenance | | +| Test.java:4340:10:4340:52 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4341:20:4341:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4340:44:4340:45 | in : Comparable | Test.java:4340:10:4340:52 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4341:20:4341:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4341:20:4341:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4341:9:4341:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4346:20:4346:39 | (...)... : Comparable | Test.java:4347:44:4347:45 | in : Comparable | provenance | | +| Test.java:4346:32:4346:39 | source(...) : Object | Test.java:4346:20:4346:39 | (...)... : Comparable | provenance | | +| Test.java:4347:10:4347:46 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4348:20:4348:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4347:44:4347:45 | in : Comparable | Test.java:4347:10:4347:46 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4348:20:4348:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4348:20:4348:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4348:9:4348:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4353:20:4353:39 | (...)... : Comparable | Test.java:4354:38:4354:39 | in : Comparable | provenance | | +| Test.java:4353:32:4353:39 | source(...) : Object | Test.java:4353:20:4353:39 | (...)... : Comparable | provenance | | +| Test.java:4354:10:4354:58 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4355:20:4355:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4354:38:4354:39 | in : Comparable | Test.java:4354:10:4354:58 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4355:20:4355:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4355:20:4355:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4355:9:4355:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4360:20:4360:39 | (...)... : Comparable | Test.java:4361:38:4361:39 | in : Comparable | provenance | | +| Test.java:4360:32:4360:39 | source(...) : Object | Test.java:4360:20:4360:39 | (...)... : Comparable | provenance | | +| Test.java:4361:10:4361:52 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4362:20:4362:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4361:38:4361:39 | in : Comparable | Test.java:4361:10:4361:52 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4362:20:4362:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4362:20:4362:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4362:9:4362:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4367:20:4367:39 | (...)... : Comparable | Test.java:4368:38:4368:39 | in : Comparable | provenance | | +| Test.java:4367:32:4367:39 | source(...) : Object | Test.java:4367:20:4367:39 | (...)... : Comparable | provenance | | +| Test.java:4368:10:4368:46 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4369:20:4369:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4368:38:4368:39 | in : Comparable | Test.java:4368:10:4368:46 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4369:20:4369:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4369:20:4369:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4369:9:4369:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4374:20:4374:39 | (...)... : Comparable | Test.java:4375:38:4375:39 | in : Comparable | provenance | | +| Test.java:4374:32:4374:39 | source(...) : Object | Test.java:4374:20:4374:39 | (...)... : Comparable | provenance | | +| Test.java:4375:10:4375:40 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4376:20:4376:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4375:38:4375:39 | in : Comparable | Test.java:4375:10:4375:40 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4376:20:4376:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4376:20:4376:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4376:9:4376:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4381:20:4381:39 | (...)... : Comparable | Test.java:4382:32:4382:33 | in : Comparable | provenance | | +| Test.java:4381:32:4381:39 | source(...) : Object | Test.java:4381:20:4381:39 | (...)... : Comparable | provenance | | +| Test.java:4382:10:4382:58 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4383:20:4383:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4382:32:4382:33 | in : Comparable | Test.java:4382:10:4382:58 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4383:20:4383:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4383:20:4383:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4383:9:4383:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4388:20:4388:39 | (...)... : Comparable | Test.java:4389:32:4389:33 | in : Comparable | provenance | | +| Test.java:4388:32:4388:39 | source(...) : Object | Test.java:4388:20:4388:39 | (...)... : Comparable | provenance | | +| Test.java:4389:10:4389:52 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4390:20:4390:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4389:32:4389:33 | in : Comparable | Test.java:4389:10:4389:52 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4390:20:4390:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4390:20:4390:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4390:9:4390:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4395:20:4395:39 | (...)... : Comparable | Test.java:4396:32:4396:33 | in : Comparable | provenance | | +| Test.java:4395:32:4395:39 | source(...) : Object | Test.java:4395:20:4395:39 | (...)... : Comparable | provenance | | +| Test.java:4396:10:4396:46 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4397:20:4397:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4396:32:4396:33 | in : Comparable | Test.java:4396:10:4396:46 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4397:20:4397:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4397:20:4397:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4397:9:4397:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4402:20:4402:39 | (...)... : Comparable | Test.java:4403:32:4403:33 | in : Comparable | provenance | | +| Test.java:4402:32:4402:39 | source(...) : Object | Test.java:4402:20:4402:39 | (...)... : Comparable | provenance | | +| Test.java:4403:10:4403:40 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4404:20:4404:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4403:32:4403:33 | in : Comparable | Test.java:4403:10:4403:40 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4404:20:4404:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4404:20:4404:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4404:9:4404:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4409:20:4409:39 | (...)... : Comparable | Test.java:4410:32:4410:33 | in : Comparable | provenance | | +| Test.java:4409:32:4409:39 | source(...) : Object | Test.java:4409:20:4409:39 | (...)... : Comparable | provenance | | +| Test.java:4410:10:4410:144 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4411:20:4411:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4410:32:4410:33 | in : Comparable | Test.java:4410:10:4410:144 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4411:20:4411:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4411:20:4411:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4411:9:4411:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4416:20:4416:39 | (...)... : Comparable | Test.java:4417:32:4417:33 | in : Comparable | provenance | | +| Test.java:4416:32:4416:39 | source(...) : Object | Test.java:4416:20:4416:39 | (...)... : Comparable | provenance | | +| Test.java:4417:10:4417:34 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4418:20:4418:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4417:32:4417:33 | in : Comparable | Test.java:4417:10:4417:34 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4418:20:4418:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4418:20:4418:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4418:9:4418:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4423:20:4423:39 | (...)... : Comparable | Test.java:4424:50:4424:51 | in : Comparable | provenance | | +| Test.java:4423:32:4423:39 | source(...) : Object | Test.java:4423:20:4423:39 | (...)... : Comparable | provenance | | +| Test.java:4424:10:4424:144 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4425:20:4425:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4424:50:4424:51 | in : Comparable | Test.java:4424:10:4424:144 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4425:20:4425:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4425:20:4425:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4425:9:4425:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4430:20:4430:39 | (...)... : Comparable | Test.java:4431:68:4431:69 | in : Comparable | provenance | | +| Test.java:4430:32:4430:39 | source(...) : Object | Test.java:4430:20:4430:39 | (...)... : Comparable | provenance | | +| Test.java:4431:10:4431:144 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4432:20:4432:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4431:68:4431:69 | in : Comparable | Test.java:4431:10:4431:144 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4432:20:4432:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4432:20:4432:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4432:9:4432:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4437:20:4437:39 | (...)... : Comparable | Test.java:4438:86:4438:87 | in : Comparable | provenance | | +| Test.java:4437:32:4437:39 | source(...) : Object | Test.java:4437:20:4437:39 | (...)... : Comparable | provenance | | +| Test.java:4438:10:4438:144 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4439:20:4439:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4438:86:4438:87 | in : Comparable | Test.java:4438:10:4438:144 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4439:20:4439:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4439:20:4439:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4439:9:4439:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4444:20:4444:39 | (...)... : Comparable | Test.java:4445:104:4445:105 | in : Comparable | provenance | | +| Test.java:4444:32:4444:39 | source(...) : Object | Test.java:4444:20:4444:39 | (...)... : Comparable | provenance | | +| Test.java:4445:10:4445:144 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4446:20:4446:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4445:104:4445:105 | in : Comparable | Test.java:4445:10:4445:144 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4446:20:4446:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4446:20:4446:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4446:9:4446:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4451:20:4451:39 | (...)... : Comparable | Test.java:4452:122:4452:123 | in : Comparable | provenance | | +| Test.java:4451:32:4451:39 | source(...) : Object | Test.java:4451:20:4451:39 | (...)... : Comparable | provenance | | +| Test.java:4452:10:4452:144 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4453:20:4453:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4452:122:4452:123 | in : Comparable | Test.java:4452:10:4452:144 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:4453:20:4453:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4453:20:4453:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4453:9:4453:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4458:22:4458:73 | (...)... : Comparable[] [[]] : Comparable | Test.java:4459:140:4459:141 | in : Comparable[] [[]] : Comparable | provenance | | +| Test.java:4458:36:4458:73 | {...} : Comparable[] [[]] : Comparable | Test.java:4458:22:4458:73 | (...)... : Comparable[] [[]] : Comparable | provenance | | +| Test.java:4458:53:4458:72 | (...)... : Comparable | Test.java:4458:36:4458:73 | {...} : Comparable[] [[]] : Comparable | provenance | | +| Test.java:4458:65:4458:72 | source(...) : Object | Test.java:4458:53:4458:72 | (...)... : Comparable | provenance | | +| Test.java:4459:10:4459:142 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:4460:20:4460:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4459:140:4459:141 | in : Comparable[] [[]] : Comparable | Test.java:4459:10:4459:142 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:192 | +| Test.java:4460:20:4460:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:4460:20:4460:22 | out : ImmutableSortedSet [] : Comparable | Test.java:4460:9:4460:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4465:32:4465:105 | (...)... : Builder [] : Object | Test.java:4466:10:4466:11 | in : Builder [] : Object | provenance | | +| Test.java:4465:56:4465:105 | put(...) : Builder [] : Object | Test.java:4465:32:4465:105 | (...)... : Builder [] : Object | provenance | | +| Test.java:4465:97:4465:104 | source(...) : Object | Test.java:4465:56:4465:105 | put(...) : Builder [] : Object | provenance | MaD:211+MaD:208 | +| Test.java:4466:10:4466:11 | in : Builder [] : Object | Test.java:4466:10:4466:19 | build(...) : ImmutableTable [] : Object | provenance | MaD:199 | +| Test.java:4466:10:4466:19 | build(...) : ImmutableTable [] : Object | Test.java:4467:21:4467:23 | out : ImmutableTable [] : Object | provenance | | +| Test.java:4467:21:4467:23 | out : ImmutableTable [] : Object | Test.java:120:20:120:33 | t : ImmutableTable [] : Object | provenance | | +| Test.java:4467:21:4467:23 | out : ImmutableTable [] : Object | Test.java:4467:9:4467:24 | getMapValue(...) | provenance | MaD:525 | +| Test.java:4472:32:4472:105 | (...)... : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:4473:10:4473:11 | in : Builder [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4472:56:4472:105 | put(...) : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:4472:32:4472:105 | (...)... : Builder [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4472:91:4472:98 | source(...) : Object | Test.java:4472:56:4472:105 | put(...) : Builder [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:210+MaD:208 | +| Test.java:4473:10:4473:11 | in : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:4473:10:4473:19 | build(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:200 | +| Test.java:4473:10:4473:19 | build(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:4474:28:4474:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4474:28:4474:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4474:28:4474:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:4474:9:4474:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:4479:32:4479:105 | (...)... : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:4480:10:4480:11 | in : Builder [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4479:56:4479:105 | put(...) : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:4479:32:4479:105 | (...)... : Builder [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4479:85:4479:92 | source(...) : Object | Test.java:4479:56:4479:105 | put(...) : Builder [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:209+MaD:208 | +| Test.java:4480:10:4480:11 | in : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:4480:10:4480:19 | build(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:201 | +| Test.java:4480:10:4480:19 | build(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:4481:25:4481:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4481:25:4481:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4481:25:4481:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:4481:9:4481:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:4486:32:4486:63 | (...)... : Builder | Test.java:4487:10:4487:11 | in : Builder | provenance | | +| Test.java:4486:56:4486:63 | source(...) : Object | Test.java:4486:32:4486:63 | (...)... : Builder | provenance | | +| Test.java:4487:10:4487:11 | in : Builder | Test.java:4487:10:4487:32 | orderColumnsBy(...) : Builder | provenance | MaD:202 | +| Test.java:4487:10:4487:32 | orderColumnsBy(...) : Builder | Test.java:4488:9:4488:11 | out | provenance | | +| Test.java:4493:32:4493:63 | (...)... : Builder | Test.java:4494:10:4494:11 | in : Builder | provenance | | +| Test.java:4493:56:4493:63 | source(...) : Object | Test.java:4493:32:4493:63 | (...)... : Builder | provenance | | +| Test.java:4494:10:4494:11 | in : Builder | Test.java:4494:10:4494:29 | orderRowsBy(...) : Builder | provenance | MaD:203 | +| Test.java:4494:10:4494:29 | orderRowsBy(...) : Builder | Test.java:4495:9:4495:11 | out | provenance | | +| Test.java:4500:32:4500:63 | (...)... : Builder | Test.java:4501:10:4501:11 | in : Builder | provenance | | +| Test.java:4500:56:4500:63 | source(...) : Object | Test.java:4500:32:4500:63 | (...)... : Builder | provenance | | +| Test.java:4501:10:4501:11 | in : Builder | Test.java:4501:10:4501:21 | put(...) : Builder | provenance | MaD:204 | +| Test.java:4501:10:4501:21 | put(...) : Builder | Test.java:4502:9:4502:11 | out | provenance | | +| Test.java:4507:20:4507:65 | (...)... : Cell [] : Object | Test.java:4508:12:4508:13 | in : Cell [] : Object | provenance | | +| Test.java:4507:32:4507:65 | newTableCell(...) : Cell [] : Object | Test.java:4507:20:4507:65 | (...)... : Cell [] : Object | provenance | | +| Test.java:4507:57:4507:64 | source(...) : Object | Test.java:102:58:102:64 | value : Object | provenance | | +| Test.java:4507:57:4507:64 | source(...) : Object | Test.java:4507:32:4507:65 | newTableCell(...) : Cell [] : Object | provenance | MaD:198 | +| Test.java:4508:4:4508:6 | out [post update] : Builder [] : Object | Test.java:4509:21:4509:23 | out : Builder [] : Object | provenance | | +| Test.java:4508:12:4508:13 | in : Cell [] : Object | Test.java:4508:4:4508:6 | out [post update] : Builder [] : Object | provenance | MaD:205 | +| Test.java:4509:21:4509:23 | out : Builder [] : Object | Test.java:117:20:117:50 | b : Builder [] : Object | provenance | | +| Test.java:4509:21:4509:23 | out : Builder [] : Object | Test.java:4509:9:4509:24 | getMapValue(...) | provenance | MaD:199 | +| Test.java:4514:20:4514:65 | (...)... : Cell [com.google.common.collect.Table.columnKey] : Object | Test.java:4515:12:4515:13 | in : Cell [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4514:32:4514:65 | newTableCell(...) : Cell [com.google.common.collect.Table.columnKey] : Object | Test.java:4514:20:4514:65 | (...)... : Cell [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4514:51:4514:58 | source(...) : Object | Test.java:102:48:102:55 | column : Object | provenance | | +| Test.java:4514:51:4514:58 | source(...) : Object | Test.java:4514:32:4514:65 | newTableCell(...) : Cell [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:4515:4:4515:6 | out [post update] : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:4516:28:4516:30 | out : Builder [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4515:12:4515:13 | in : Cell [com.google.common.collect.Table.columnKey] : Object | Test.java:4515:4:4515:6 | out [post update] : Builder [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:206 | +| Test.java:4516:28:4516:30 | out : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:95:27:95:57 | b : Builder [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4516:28:4516:30 | out : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:4516:9:4516:31 | getTable_columnKey(...) | provenance | MaD:200 | +| Test.java:4521:20:4521:65 | (...)... : Cell [com.google.common.collect.Table.rowKey] : Object | Test.java:4522:12:4522:13 | in : Cell [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4521:32:4521:65 | newTableCell(...) : Cell [com.google.common.collect.Table.rowKey] : Object | Test.java:4521:20:4521:65 | (...)... : Cell [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4521:45:4521:52 | source(...) : Object | Test.java:102:41:102:45 | row : Object | provenance | | +| Test.java:4521:45:4521:52 | source(...) : Object | Test.java:4521:32:4521:65 | newTableCell(...) : Cell [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:4522:4:4522:6 | out [post update] : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:4523:25:4523:27 | out : Builder [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4522:12:4522:13 | in : Cell [com.google.common.collect.Table.rowKey] : Object | Test.java:4522:4:4522:6 | out [post update] : Builder [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:207 | +| Test.java:4523:25:4523:27 | out : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:104:24:104:54 | b : Builder [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4523:25:4523:27 | out : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:4523:9:4523:28 | getTable_rowKey(...) | provenance | MaD:201 | +| Test.java:4528:32:4528:63 | (...)... : Builder | Test.java:4529:10:4529:11 | in : Builder | provenance | | +| Test.java:4528:56:4528:63 | source(...) : Object | Test.java:4528:32:4528:63 | (...)... : Builder | provenance | | +| Test.java:4529:10:4529:11 | in : Builder | Test.java:4529:10:4529:33 | put(...) : Builder | provenance | MaD:208 | +| Test.java:4529:10:4529:33 | put(...) : Builder | Test.java:4530:9:4530:11 | out | provenance | | +| Test.java:4535:16:4535:31 | (...)... : Object | Test.java:4536:12:4536:13 | in : Object | provenance | | +| Test.java:4535:24:4535:31 | source(...) : Object | Test.java:4535:16:4535:31 | (...)... : Object | provenance | | +| Test.java:4536:4:4536:6 | out [post update] : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:4537:25:4537:27 | out : Builder [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4536:12:4536:13 | in : Object | Test.java:4536:4:4536:6 | out [post update] : Builder [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:209 | +| Test.java:4537:25:4537:27 | out : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:104:24:104:54 | b : Builder [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4537:25:4537:27 | out : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:4537:9:4537:28 | getTable_rowKey(...) | provenance | MaD:201 | +| Test.java:4542:16:4542:31 | (...)... : Object | Test.java:4543:18:4543:19 | in : Object | provenance | | +| Test.java:4542:24:4542:31 | source(...) : Object | Test.java:4542:16:4542:31 | (...)... : Object | provenance | | +| Test.java:4543:4:4543:6 | out [post update] : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:4544:28:4544:30 | out : Builder [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4543:18:4543:19 | in : Object | Test.java:4543:4:4543:6 | out [post update] : Builder [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:210 | +| Test.java:4544:28:4544:30 | out : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:95:27:95:57 | b : Builder [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4544:28:4544:30 | out : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:4544:9:4544:31 | getTable_columnKey(...) | provenance | MaD:200 | +| Test.java:4549:16:4549:31 | (...)... : Object | Test.java:4550:24:4550:25 | in : Object | provenance | | +| Test.java:4549:24:4549:31 | source(...) : Object | Test.java:4549:16:4549:31 | (...)... : Object | provenance | | +| Test.java:4550:4:4550:6 | out [post update] : Builder [] : Object | Test.java:4551:21:4551:23 | out : Builder [] : Object | provenance | | +| Test.java:4550:24:4550:25 | in : Object | Test.java:4550:4:4550:6 | out [post update] : Builder [] : Object | provenance | MaD:211 | +| Test.java:4551:21:4551:23 | out : Builder [] : Object | Test.java:117:20:117:50 | b : Builder [] : Object | provenance | | +| Test.java:4551:21:4551:23 | out : Builder [] : Object | Test.java:4551:9:4551:24 | getMapValue(...) | provenance | MaD:199 | +| Test.java:4556:32:4556:63 | (...)... : Builder | Test.java:4557:10:4557:11 | in : Builder | provenance | | +| Test.java:4556:56:4556:63 | source(...) : Object | Test.java:4556:32:4556:63 | (...)... : Builder | provenance | | +| Test.java:4557:10:4557:11 | in : Builder | Test.java:4557:10:4557:24 | putAll(...) : Builder | provenance | MaD:212 | +| Test.java:4557:10:4557:24 | putAll(...) : Builder | Test.java:4558:9:4558:11 | out | provenance | | +| Test.java:4563:15:4563:60 | (...)... : ImmutableTable [] : Object | Test.java:4564:15:4564:16 | in : ImmutableTable [] : Object | provenance | | +| Test.java:4563:22:4563:60 | of(...) : ImmutableTable [] : Object | Test.java:4563:15:4563:60 | (...)... : ImmutableTable [] : Object | provenance | | +| Test.java:4563:52:4563:59 | source(...) : Object | Test.java:4563:22:4563:60 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:4564:4:4564:6 | out [post update] : Builder [] : Object | Test.java:4565:21:4565:23 | out : Builder [] : Object | provenance | | +| Test.java:4564:15:4564:16 | in : ImmutableTable [] : Object | Test.java:4564:4:4564:6 | out [post update] : Builder [] : Object | provenance | MaD:213 | +| Test.java:4565:21:4565:23 | out : Builder [] : Object | Test.java:117:20:117:50 | b : Builder [] : Object | provenance | | +| Test.java:4565:21:4565:23 | out : Builder [] : Object | Test.java:4565:9:4565:24 | getMapValue(...) | provenance | MaD:199 | +| Test.java:4570:15:4570:60 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:4571:15:4571:16 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4570:22:4570:60 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:4570:15:4570:60 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4570:46:4570:53 | source(...) : Object | Test.java:4570:22:4570:60 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:4571:4:4571:6 | out [post update] : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:4572:28:4572:30 | out : Builder [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4571:15:4571:16 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:4571:4:4571:6 | out [post update] : Builder [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:214 | +| Test.java:4572:28:4572:30 | out : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:95:27:95:57 | b : Builder [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4572:28:4572:30 | out : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:4572:9:4572:31 | getTable_columnKey(...) | provenance | MaD:200 | +| Test.java:4577:15:4577:60 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:4578:15:4578:16 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4577:22:4577:60 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:4577:15:4577:60 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4577:40:4577:47 | source(...) : Object | Test.java:4577:22:4577:60 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:4578:4:4578:6 | out [post update] : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:4579:25:4579:27 | out : Builder [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4578:15:4578:16 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:4578:4:4578:6 | out [post update] : Builder [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:215 | +| Test.java:4579:25:4579:27 | out : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:104:24:104:54 | b : Builder [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4579:25:4579:27 | out : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:4579:9:4579:28 | getTable_rowKey(...) | provenance | MaD:201 | +| Test.java:4584:15:4584:60 | (...)... : ImmutableTable [] : Object | Test.java:4585:32:4585:33 | in : ImmutableTable [] : Object | provenance | | +| Test.java:4584:22:4584:60 | of(...) : ImmutableTable [] : Object | Test.java:4584:15:4584:60 | (...)... : ImmutableTable [] : Object | provenance | | +| Test.java:4584:52:4584:59 | source(...) : Object | Test.java:4584:22:4584:60 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:4585:10:4585:34 | copyOf(...) : ImmutableTable [] : Object | Test.java:4586:21:4586:23 | out : ImmutableTable [] : Object | provenance | | +| Test.java:4585:32:4585:33 | in : ImmutableTable [] : Object | Test.java:4585:10:4585:34 | copyOf(...) : ImmutableTable [] : Object | provenance | MaD:193 | +| Test.java:4586:21:4586:23 | out : ImmutableTable [] : Object | Test.java:120:20:120:33 | t : ImmutableTable [] : Object | provenance | | +| Test.java:4586:21:4586:23 | out : ImmutableTable [] : Object | Test.java:4586:9:4586:24 | getMapValue(...) | provenance | MaD:525 | +| Test.java:4591:15:4591:60 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:4592:32:4592:33 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4591:22:4591:60 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:4591:15:4591:60 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4591:46:4591:53 | source(...) : Object | Test.java:4591:22:4591:60 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:4592:10:4592:34 | copyOf(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:4593:28:4593:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4592:32:4592:33 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:4592:10:4592:34 | copyOf(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:194 | +| Test.java:4593:28:4593:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4593:28:4593:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:4593:9:4593:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:4598:15:4598:60 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:4599:32:4599:33 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4598:22:4598:60 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:4598:15:4598:60 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4598:40:4598:47 | source(...) : Object | Test.java:4598:22:4598:60 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:4599:10:4599:34 | copyOf(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:4600:25:4600:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4599:32:4599:33 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:4599:10:4599:34 | copyOf(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:195 | +| Test.java:4600:25:4600:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4600:25:4600:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:4600:9:4600:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:4605:16:4605:31 | (...)... : Object | Test.java:4606:28:4606:29 | in : Object | provenance | | +| Test.java:4605:24:4605:31 | source(...) : Object | Test.java:4605:16:4605:31 | (...)... : Object | provenance | | +| Test.java:4606:10:4606:42 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:4607:25:4607:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4606:28:4606:29 | in : Object | Test.java:4606:10:4606:42 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:4607:25:4607:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:4607:25:4607:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:4607:9:4607:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:4612:16:4612:31 | (...)... : Object | Test.java:4613:34:4613:35 | in : Object | provenance | | +| Test.java:4612:24:4612:31 | source(...) : Object | Test.java:4612:16:4612:31 | (...)... : Object | provenance | | +| Test.java:4613:10:4613:42 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:4614:28:4614:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4613:34:4613:35 | in : Object | Test.java:4613:10:4613:42 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:4614:28:4614:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:4614:28:4614:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:4614:9:4614:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:4619:16:4619:31 | (...)... : Object | Test.java:4620:40:4620:41 | in : Object | provenance | | +| Test.java:4619:24:4619:31 | source(...) : Object | Test.java:4619:16:4619:31 | (...)... : Object | provenance | | +| Test.java:4620:10:4620:42 | of(...) : ImmutableTable [] : Object | Test.java:4621:21:4621:23 | out : ImmutableTable [] : Object | provenance | | +| Test.java:4620:40:4620:41 | in : Object | Test.java:4620:10:4620:42 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:4621:21:4621:23 | out : ImmutableTable [] : Object | Test.java:120:20:120:33 | t : ImmutableTable [] : Object | provenance | | +| Test.java:4621:21:4621:23 | out : ImmutableTable [] : Object | Test.java:4621:9:4621:24 | getMapValue(...) | provenance | MaD:525 | +| Test.java:4626:18:4626:44 | (...)... : List [] : Object | Test.java:4627:26:4627:27 | in : List [] : Object | provenance | | +| Test.java:4626:28:4626:44 | of(...) : List [] : Object | Test.java:4626:18:4626:44 | (...)... : List [] : Object | provenance | | +| Test.java:4626:36:4626:43 | source(...) : Object | Test.java:4626:28:4626:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4627:21:4627:23 | out [post update] : Collection [] : Object | Test.java:4628:20:4628:22 | out : Collection [] : Object | provenance | | +| Test.java:4627:26:4627:27 | in : List [] : Object | Test.java:4627:21:4627:23 | out [post update] : Collection [] : Object | provenance | MaD:216 | +| Test.java:4628:20:4628:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:4628:20:4628:22 | out : Collection [] : Object | Test.java:4628:9:4628:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4633:18:4633:53 | (...)... : List [, ] : Object | Test.java:4634:27:4634:28 | in : List [, ] : Object | provenance | | +| Test.java:4633:28:4633:53 | of(...) : List [, ] : Object | Test.java:4633:18:4633:53 | (...)... : List [, ] : Object | provenance | | +| Test.java:4633:36:4633:52 | of(...) : List [] : Object | Test.java:4633:28:4633:53 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:4633:44:4633:51 | source(...) : Object | Test.java:4633:36:4633:52 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4634:10:4634:29 | concat(...) : Iterable [] : Object | Test.java:4635:20:4635:22 | out : Iterable [] : Object | provenance | | +| Test.java:4634:27:4634:28 | in : List [, ] : Object | Test.java:4634:10:4634:29 | concat(...) : Iterable [] : Object | provenance | MaD:217 | +| Test.java:4635:20:4635:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4635:20:4635:22 | out : Iterable [] : Object | Test.java:4635:9:4635:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4640:18:4640:44 | (...)... : List [] : Object | Test.java:4641:33:4641:34 | in : List [] : Object | provenance | | +| Test.java:4640:28:4640:44 | of(...) : List [] : Object | Test.java:4640:18:4640:44 | (...)... : List [] : Object | provenance | | +| Test.java:4640:36:4640:43 | source(...) : Object | Test.java:4640:28:4640:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4641:10:4641:35 | concat(...) : Iterable [] : Object | Test.java:4642:20:4642:22 | out : Iterable [] : Object | provenance | | +| Test.java:4641:33:4641:34 | in : List [] : Object | Test.java:4641:10:4641:35 | concat(...) : Iterable [] : Object | provenance | MaD:218 | +| Test.java:4642:20:4642:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4642:20:4642:22 | out : Iterable [] : Object | Test.java:4642:9:4642:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4647:18:4647:44 | (...)... : List [] : Object | Test.java:4648:27:4648:28 | in : List [] : Object | provenance | | +| Test.java:4647:28:4647:44 | of(...) : List [] : Object | Test.java:4647:18:4647:44 | (...)... : List [] : Object | provenance | | +| Test.java:4647:36:4647:43 | source(...) : Object | Test.java:4647:28:4647:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4648:10:4648:35 | concat(...) : Iterable [] : Object | Test.java:4649:20:4649:22 | out : Iterable [] : Object | provenance | | +| Test.java:4648:27:4648:28 | in : List [] : Object | Test.java:4648:10:4648:35 | concat(...) : Iterable [] : Object | provenance | MaD:218 | +| Test.java:4649:20:4649:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4649:20:4649:22 | out : Iterable [] : Object | Test.java:4649:9:4649:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4654:18:4654:44 | (...)... : List [] : Object | Test.java:4655:39:4655:40 | in : List [] : Object | provenance | | +| Test.java:4654:28:4654:44 | of(...) : List [] : Object | Test.java:4654:18:4654:44 | (...)... : List [] : Object | provenance | | +| Test.java:4654:36:4654:43 | source(...) : Object | Test.java:4654:28:4654:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4655:10:4655:41 | concat(...) : Iterable [] : Object | Test.java:4656:20:4656:22 | out : Iterable [] : Object | provenance | | +| Test.java:4655:39:4655:40 | in : List [] : Object | Test.java:4655:10:4655:41 | concat(...) : Iterable [] : Object | provenance | MaD:219 | +| Test.java:4656:20:4656:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4656:20:4656:22 | out : Iterable [] : Object | Test.java:4656:9:4656:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4661:18:4661:44 | (...)... : List [] : Object | Test.java:4662:33:4662:34 | in : List [] : Object | provenance | | +| Test.java:4661:28:4661:44 | of(...) : List [] : Object | Test.java:4661:18:4661:44 | (...)... : List [] : Object | provenance | | +| Test.java:4661:36:4661:43 | source(...) : Object | Test.java:4661:28:4661:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4662:10:4662:41 | concat(...) : Iterable [] : Object | Test.java:4663:20:4663:22 | out : Iterable [] : Object | provenance | | +| Test.java:4662:33:4662:34 | in : List [] : Object | Test.java:4662:10:4662:41 | concat(...) : Iterable [] : Object | provenance | MaD:219 | +| Test.java:4663:20:4663:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4663:20:4663:22 | out : Iterable [] : Object | Test.java:4663:9:4663:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4668:18:4668:44 | (...)... : List [] : Object | Test.java:4669:27:4669:28 | in : List [] : Object | provenance | | +| Test.java:4668:28:4668:44 | of(...) : List [] : Object | Test.java:4668:18:4668:44 | (...)... : List [] : Object | provenance | | +| Test.java:4668:36:4668:43 | source(...) : Object | Test.java:4668:28:4668:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4669:10:4669:41 | concat(...) : Iterable [] : Object | Test.java:4670:20:4670:22 | out : Iterable [] : Object | provenance | | +| Test.java:4669:27:4669:28 | in : List [] : Object | Test.java:4669:10:4669:41 | concat(...) : Iterable [] : Object | provenance | MaD:219 | +| Test.java:4670:20:4670:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4670:20:4670:22 | out : Iterable [] : Object | Test.java:4670:9:4670:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4675:18:4675:44 | (...)... : List [] : Object | Test.java:4676:45:4676:46 | in : List [] : Object | provenance | | +| Test.java:4675:28:4675:44 | of(...) : List [] : Object | Test.java:4675:18:4675:44 | (...)... : List [] : Object | provenance | | +| Test.java:4675:36:4675:43 | source(...) : Object | Test.java:4675:28:4675:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4676:10:4676:47 | concat(...) : Iterable [] : Object | Test.java:4677:20:4677:22 | out : Iterable [] : Object | provenance | | +| Test.java:4676:45:4676:46 | in : List [] : Object | Test.java:4676:10:4676:47 | concat(...) : Iterable [] : Object | provenance | MaD:220 | +| Test.java:4677:20:4677:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4677:20:4677:22 | out : Iterable [] : Object | Test.java:4677:9:4677:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4682:18:4682:44 | (...)... : List [] : Object | Test.java:4683:39:4683:40 | in : List [] : Object | provenance | | +| Test.java:4682:28:4682:44 | of(...) : List [] : Object | Test.java:4682:18:4682:44 | (...)... : List [] : Object | provenance | | +| Test.java:4682:36:4682:43 | source(...) : Object | Test.java:4682:28:4682:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4683:10:4683:47 | concat(...) : Iterable [] : Object | Test.java:4684:20:4684:22 | out : Iterable [] : Object | provenance | | +| Test.java:4683:39:4683:40 | in : List [] : Object | Test.java:4683:10:4683:47 | concat(...) : Iterable [] : Object | provenance | MaD:220 | +| Test.java:4684:20:4684:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4684:20:4684:22 | out : Iterable [] : Object | Test.java:4684:9:4684:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4689:18:4689:44 | (...)... : List [] : Object | Test.java:4690:33:4690:34 | in : List [] : Object | provenance | | +| Test.java:4689:28:4689:44 | of(...) : List [] : Object | Test.java:4689:18:4689:44 | (...)... : List [] : Object | provenance | | +| Test.java:4689:36:4689:43 | source(...) : Object | Test.java:4689:28:4689:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4690:10:4690:47 | concat(...) : Iterable [] : Object | Test.java:4691:20:4691:22 | out : Iterable [] : Object | provenance | | +| Test.java:4690:33:4690:34 | in : List [] : Object | Test.java:4690:10:4690:47 | concat(...) : Iterable [] : Object | provenance | MaD:220 | +| Test.java:4691:20:4691:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4691:20:4691:22 | out : Iterable [] : Object | Test.java:4691:9:4691:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4696:18:4696:44 | (...)... : List [] : Object | Test.java:4697:27:4697:28 | in : List [] : Object | provenance | | +| Test.java:4696:28:4696:44 | of(...) : List [] : Object | Test.java:4696:18:4696:44 | (...)... : List [] : Object | provenance | | +| Test.java:4696:36:4696:43 | source(...) : Object | Test.java:4696:28:4696:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4697:10:4697:47 | concat(...) : Iterable [] : Object | Test.java:4698:20:4698:22 | out : Iterable [] : Object | provenance | | +| Test.java:4697:27:4697:28 | in : List [] : Object | Test.java:4697:10:4697:47 | concat(...) : Iterable [] : Object | provenance | MaD:220 | +| Test.java:4698:20:4698:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4698:20:4698:22 | out : Iterable [] : Object | Test.java:4698:9:4698:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4703:20:4703:74 | (...)... : Iterable[] [[], ] : Object | Test.java:4704:27:4704:28 | in : Iterable[] [[], ] : Object | provenance | | +| Test.java:4703:32:4703:74 | {...} : Iterable[] [[], ] : Object | Test.java:4703:20:4703:74 | (...)... : Iterable[] [[], ] : Object | provenance | | +| Test.java:4703:47:4703:73 | (...)... : List [] : Object | Test.java:4703:32:4703:74 | {...} : Iterable[] [[], ] : Object | provenance | | +| Test.java:4703:57:4703:73 | of(...) : List [] : Object | Test.java:4703:47:4703:73 | (...)... : List [] : Object | provenance | | +| Test.java:4703:65:4703:72 | source(...) : Object | Test.java:4703:57:4703:73 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4704:10:4704:29 | concat(...) : Iterable [] : Object | Test.java:4705:20:4705:22 | out : Iterable [] : Object | provenance | | +| Test.java:4704:27:4704:28 | in : Iterable[] [[], ] : Object | Test.java:4704:10:4704:29 | concat(...) : Iterable [] : Object | provenance | MaD:221 | +| Test.java:4705:20:4705:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4705:20:4705:22 | out : Iterable [] : Object | Test.java:4705:9:4705:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4710:18:4710:44 | (...)... : List [] : Object | Test.java:4711:38:4711:39 | in : List [] : Object | provenance | | +| Test.java:4710:28:4710:44 | of(...) : List [] : Object | Test.java:4710:18:4710:44 | (...)... : List [] : Object | provenance | | +| Test.java:4710:36:4710:43 | source(...) : Object | Test.java:4710:28:4710:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4711:10:4711:40 | consumingIterable(...) : Iterable [] : Object | Test.java:4712:20:4712:22 | out : Iterable [] : Object | provenance | | +| Test.java:4711:38:4711:39 | in : List [] : Object | Test.java:4711:10:4711:40 | consumingIterable(...) : Iterable [] : Object | provenance | MaD:222 | +| Test.java:4712:20:4712:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4712:20:4712:22 | out : Iterable [] : Object | Test.java:4712:9:4712:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4717:18:4717:44 | (...)... : List [] : Object | Test.java:4718:26:4718:27 | in : List [] : Object | provenance | | +| Test.java:4717:28:4717:44 | of(...) : List [] : Object | Test.java:4717:18:4717:44 | (...)... : List [] : Object | provenance | | +| Test.java:4717:36:4717:43 | source(...) : Object | Test.java:4717:28:4717:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4718:10:4718:28 | cycle(...) : Iterable [] : Object | Test.java:4719:20:4719:22 | out : Iterable [] : Object | provenance | | +| Test.java:4718:26:4718:27 | in : List [] : Object | Test.java:4718:10:4718:28 | cycle(...) : Iterable [] : Object | provenance | MaD:223 | +| Test.java:4719:20:4719:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4719:20:4719:22 | out : Iterable [] : Object | Test.java:4719:9:4719:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4724:18:4724:49 | (...)... : Object[] [[]] : Object | Test.java:4725:26:4725:27 | in : Object[] [[]] : Object | provenance | | +| Test.java:4724:28:4724:49 | {...} : Object[] [[]] : Object | Test.java:4724:18:4724:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:4724:41:4724:48 | source(...) : Object | Test.java:4724:28:4724:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:4725:10:4725:28 | cycle(...) : Iterable [] : Object | Test.java:4726:20:4726:22 | out : Iterable [] : Object | provenance | | +| Test.java:4725:26:4725:27 | in : Object[] [[]] : Object | Test.java:4725:10:4725:28 | cycle(...) : Iterable [] : Object | provenance | MaD:224 | +| Test.java:4726:20:4726:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4726:20:4726:22 | out : Iterable [] : Object | Test.java:4726:9:4726:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4731:18:4731:44 | (...)... : List [] : Object | Test.java:4732:27:4732:28 | in : List [] : Object | provenance | | +| Test.java:4731:28:4731:44 | of(...) : List [] : Object | Test.java:4731:18:4731:44 | (...)... : List [] : Object | provenance | | +| Test.java:4731:36:4731:43 | source(...) : Object | Test.java:4731:28:4731:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4732:10:4732:42 | filter(...) : Iterable [] : Object | Test.java:4733:20:4733:22 | out : Iterable [] : Object | provenance | | +| Test.java:4732:27:4732:28 | in : List [] : Object | Test.java:4732:10:4732:42 | filter(...) : Iterable [] : Object | provenance | MaD:225 | +| Test.java:4733:20:4733:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4733:20:4733:22 | out : Iterable [] : Object | Test.java:4733:9:4733:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4738:18:4738:44 | (...)... : List [] : Object | Test.java:4739:27:4739:28 | in : List [] : Object | provenance | | +| Test.java:4738:28:4738:44 | of(...) : List [] : Object | Test.java:4738:18:4738:44 | (...)... : List [] : Object | provenance | | +| Test.java:4738:36:4738:43 | source(...) : Object | Test.java:4738:28:4738:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4739:10:4739:46 | filter(...) : Iterable [] : Object | Test.java:4740:20:4740:22 | out : Iterable [] : Object | provenance | | +| Test.java:4739:27:4739:28 | in : List [] : Object | Test.java:4739:10:4739:46 | filter(...) : Iterable [] : Object | provenance | MaD:226 | +| Test.java:4740:20:4740:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4740:20:4740:22 | out : Iterable [] : Object | Test.java:4740:9:4740:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4745:18:4745:44 | (...)... : List [] : Object | Test.java:4746:25:4746:26 | in : List [] : Object | provenance | | +| Test.java:4745:28:4745:44 | of(...) : List [] : Object | Test.java:4745:18:4745:44 | (...)... : List [] : Object | provenance | | +| Test.java:4745:36:4745:43 | source(...) : Object | Test.java:4745:28:4745:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4746:10:4746:33 | find(...) : Object | Test.java:4747:9:4747:11 | out | provenance | | +| Test.java:4746:25:4746:26 | in : List [] : Object | Test.java:4746:10:4746:33 | find(...) : Object | provenance | MaD:227 | +| Test.java:4752:16:4752:31 | (...)... : Object | Test.java:4753:37:4753:38 | in : Object | provenance | | +| Test.java:4752:24:4752:31 | source(...) : Object | Test.java:4752:16:4752:31 | (...)... : Object | provenance | | +| Test.java:4753:10:4753:39 | find(...) : Object | Test.java:4754:9:4754:11 | out | provenance | | +| Test.java:4753:37:4753:38 | in : Object | Test.java:4753:10:4753:39 | find(...) : Object | provenance | MaD:229 | +| Test.java:4759:18:4759:44 | (...)... : List [] : Object | Test.java:4760:25:4760:26 | in : List [] : Object | provenance | | +| Test.java:4759:28:4759:44 | of(...) : List [] : Object | Test.java:4759:18:4759:44 | (...)... : List [] : Object | provenance | | +| Test.java:4759:36:4759:43 | source(...) : Object | Test.java:4759:28:4759:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4760:10:4760:39 | find(...) : Object | Test.java:4761:9:4761:11 | out | provenance | | +| Test.java:4760:25:4760:26 | in : List [] : Object | Test.java:4760:10:4760:39 | find(...) : Object | provenance | MaD:228 | +| Test.java:4766:18:4766:44 | (...)... : List [] : Object | Test.java:4767:24:4767:25 | in : List [] : Object | provenance | | +| Test.java:4766:28:4766:44 | of(...) : List [] : Object | Test.java:4766:18:4766:44 | (...)... : List [] : Object | provenance | | +| Test.java:4766:36:4766:43 | source(...) : Object | Test.java:4766:28:4766:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4767:10:4767:29 | get(...) : Object | Test.java:4768:9:4768:11 | out | provenance | | +| Test.java:4767:24:4767:25 | in : List [] : Object | Test.java:4767:10:4767:29 | get(...) : Object | provenance | MaD:230 | +| Test.java:4773:16:4773:31 | (...)... : Object | Test.java:4774:33:4774:34 | in : Object | provenance | | +| Test.java:4773:24:4773:31 | source(...) : Object | Test.java:4773:16:4773:31 | (...)... : Object | provenance | | +| Test.java:4774:10:4774:35 | get(...) : Object | Test.java:4775:9:4775:11 | out | provenance | | +| Test.java:4774:33:4774:34 | in : Object | Test.java:4774:10:4774:35 | get(...) : Object | provenance | MaD:232 | +| Test.java:4780:18:4780:44 | (...)... : List [] : Object | Test.java:4781:24:4781:25 | in : List [] : Object | provenance | | +| Test.java:4780:28:4780:44 | of(...) : List [] : Object | Test.java:4780:18:4780:44 | (...)... : List [] : Object | provenance | | +| Test.java:4780:36:4780:43 | source(...) : Object | Test.java:4780:28:4780:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4781:10:4781:35 | get(...) : Object | Test.java:4782:9:4782:11 | out | provenance | | +| Test.java:4781:24:4781:25 | in : List [] : Object | Test.java:4781:10:4781:35 | get(...) : Object | provenance | MaD:231 | +| Test.java:4787:18:4787:44 | (...)... : List [] : Object | Test.java:4788:28:4788:29 | in : List [] : Object | provenance | | +| Test.java:4787:28:4787:44 | of(...) : List [] : Object | Test.java:4787:18:4787:44 | (...)... : List [] : Object | provenance | | +| Test.java:4787:36:4787:43 | source(...) : Object | Test.java:4787:28:4787:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4788:10:4788:30 | getLast(...) : Object | Test.java:4789:9:4789:11 | out | provenance | | +| Test.java:4788:28:4788:29 | in : List [] : Object | Test.java:4788:10:4788:30 | getLast(...) : Object | provenance | MaD:233 | +| Test.java:4794:16:4794:31 | (...)... : Object | Test.java:4795:34:4795:35 | in : Object | provenance | | +| Test.java:4794:24:4794:31 | source(...) : Object | Test.java:4794:16:4794:31 | (...)... : Object | provenance | | +| Test.java:4795:10:4795:36 | getLast(...) : Object | Test.java:4796:9:4796:11 | out | provenance | | +| Test.java:4795:34:4795:35 | in : Object | Test.java:4795:10:4795:36 | getLast(...) : Object | provenance | MaD:235 | +| Test.java:4801:18:4801:44 | (...)... : List [] : Object | Test.java:4802:28:4802:29 | in : List [] : Object | provenance | | +| Test.java:4801:28:4801:44 | of(...) : List [] : Object | Test.java:4801:18:4801:44 | (...)... : List [] : Object | provenance | | +| Test.java:4801:36:4801:43 | source(...) : Object | Test.java:4801:28:4801:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4802:10:4802:36 | getLast(...) : Object | Test.java:4803:9:4803:11 | out | provenance | | +| Test.java:4802:28:4802:29 | in : List [] : Object | Test.java:4802:10:4802:36 | getLast(...) : Object | provenance | MaD:234 | +| Test.java:4808:18:4808:44 | (...)... : List [] : Object | Test.java:4809:35:4809:36 | in : List [] : Object | provenance | | +| Test.java:4808:28:4808:44 | of(...) : List [] : Object | Test.java:4808:18:4808:44 | (...)... : List [] : Object | provenance | | +| Test.java:4808:36:4808:43 | source(...) : Object | Test.java:4808:28:4808:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4809:10:4809:37 | getOnlyElement(...) : Object | Test.java:4810:9:4810:11 | out | provenance | | +| Test.java:4809:35:4809:36 | in : List [] : Object | Test.java:4809:10:4809:37 | getOnlyElement(...) : Object | provenance | MaD:236 | +| Test.java:4815:16:4815:31 | (...)... : Object | Test.java:4816:41:4816:42 | in : Object | provenance | | +| Test.java:4815:24:4815:31 | source(...) : Object | Test.java:4815:16:4815:31 | (...)... : Object | provenance | | +| Test.java:4816:10:4816:43 | getOnlyElement(...) : Object | Test.java:4817:9:4817:11 | out | provenance | | +| Test.java:4816:41:4816:42 | in : Object | Test.java:4816:10:4816:43 | getOnlyElement(...) : Object | provenance | MaD:238 | +| Test.java:4822:18:4822:44 | (...)... : List [] : Object | Test.java:4823:35:4823:36 | in : List [] : Object | provenance | | +| Test.java:4822:28:4822:44 | of(...) : List [] : Object | Test.java:4822:18:4822:44 | (...)... : List [] : Object | provenance | | +| Test.java:4822:36:4822:43 | source(...) : Object | Test.java:4822:28:4822:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4823:10:4823:43 | getOnlyElement(...) : Object | Test.java:4824:9:4824:11 | out | provenance | | +| Test.java:4823:35:4823:36 | in : List [] : Object | Test.java:4823:10:4823:43 | getOnlyElement(...) : Object | provenance | MaD:237 | +| Test.java:4829:18:4829:44 | (...)... : List [] : Object | Test.java:4830:26:4830:27 | in : List [] : Object | provenance | | +| Test.java:4829:28:4829:44 | of(...) : List [] : Object | Test.java:4829:18:4829:44 | (...)... : List [] : Object | provenance | | +| Test.java:4829:36:4829:43 | source(...) : Object | Test.java:4829:28:4829:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4830:10:4830:31 | limit(...) : Iterable [] : Object | Test.java:4831:20:4831:22 | out : Iterable [] : Object | provenance | | +| Test.java:4830:26:4830:27 | in : List [] : Object | Test.java:4830:10:4830:31 | limit(...) : Iterable [] : Object | provenance | MaD:239 | +| Test.java:4831:20:4831:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4831:20:4831:22 | out : Iterable [] : Object | Test.java:4831:9:4831:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4836:18:4836:53 | (...)... : List [, ] : Object | Test.java:4837:32:4837:33 | in : List [, ] : Object | provenance | | +| Test.java:4836:28:4836:53 | of(...) : List [, ] : Object | Test.java:4836:18:4836:53 | (...)... : List [, ] : Object | provenance | | +| Test.java:4836:36:4836:52 | of(...) : List [] : Object | Test.java:4836:28:4836:53 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:4836:44:4836:51 | source(...) : Object | Test.java:4836:36:4836:52 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4837:10:4837:40 | mergeSorted(...) : Iterable [] : Object | Test.java:4838:20:4838:22 | out : Iterable [] : Object | provenance | | +| Test.java:4837:32:4837:33 | in : List [, ] : Object | Test.java:4837:10:4837:40 | mergeSorted(...) : Iterable [] : Object | provenance | MaD:240 | +| Test.java:4838:20:4838:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4838:20:4838:22 | out : Iterable [] : Object | Test.java:4838:9:4838:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4843:18:4843:44 | (...)... : List [] : Object | Test.java:4844:36:4844:37 | in : List [] : Object | provenance | | +| Test.java:4843:28:4843:44 | of(...) : List [] : Object | Test.java:4843:18:4843:44 | (...)... : List [] : Object | provenance | | +| Test.java:4843:36:4843:43 | source(...) : Object | Test.java:4843:28:4843:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4844:10:4844:41 | paddedPartition(...) : Iterable [, ] : Object | Test.java:4845:31:4845:33 | out : Iterable [, ] : Object | provenance | | +| Test.java:4844:36:4844:37 | in : List [] : Object | Test.java:4844:10:4844:41 | paddedPartition(...) : Iterable [, ] : Object | provenance | MaD:241 | +| Test.java:4845:20:4845:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:4845:20:4845:34 | getElement(...) : List [] : Object | Test.java:4845:9:4845:35 | getElement(...) | provenance | MaD:555 | +| Test.java:4845:31:4845:33 | out : Iterable [, ] : Object | Test.java:4845:20:4845:34 | getElement(...) : List [] : Object | provenance | MaD:555 | +| Test.java:4850:18:4850:44 | (...)... : List [] : Object | Test.java:4851:30:4851:31 | in : List [] : Object | provenance | | +| Test.java:4850:28:4850:44 | of(...) : List [] : Object | Test.java:4850:18:4850:44 | (...)... : List [] : Object | provenance | | +| Test.java:4850:36:4850:43 | source(...) : Object | Test.java:4850:28:4850:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4851:10:4851:35 | partition(...) : Iterable [, ] : Object | Test.java:4852:31:4852:33 | out : Iterable [, ] : Object | provenance | | +| Test.java:4851:30:4851:31 | in : List [] : Object | Test.java:4851:10:4851:35 | partition(...) : Iterable [, ] : Object | provenance | MaD:242 | +| Test.java:4852:20:4852:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:4852:20:4852:34 | getElement(...) : List [] : Object | Test.java:4852:9:4852:35 | getElement(...) | provenance | MaD:555 | +| Test.java:4852:31:4852:33 | out : Iterable [, ] : Object | Test.java:4852:20:4852:34 | getElement(...) : List [] : Object | provenance | MaD:555 | +| Test.java:4857:18:4857:44 | (...)... : List [] : Object | Test.java:4858:25:4858:26 | in : List [] : Object | provenance | | +| Test.java:4857:28:4857:44 | of(...) : List [] : Object | Test.java:4857:18:4857:44 | (...)... : List [] : Object | provenance | | +| Test.java:4857:36:4857:43 | source(...) : Object | Test.java:4857:28:4857:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4858:10:4858:30 | skip(...) : Iterable [] : Object | Test.java:4859:20:4859:22 | out : Iterable [] : Object | provenance | | +| Test.java:4858:25:4858:26 | in : List [] : Object | Test.java:4858:10:4858:30 | skip(...) : Iterable [] : Object | provenance | MaD:243 | +| Test.java:4859:20:4859:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4859:20:4859:22 | out : Iterable [] : Object | Test.java:4859:9:4859:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4864:18:4864:44 | (...)... : List [] : Object | Test.java:4865:28:4865:29 | in : List [] : Object | provenance | | +| Test.java:4864:28:4864:44 | of(...) : List [] : Object | Test.java:4864:18:4864:44 | (...)... : List [] : Object | provenance | | +| Test.java:4864:36:4864:43 | source(...) : Object | Test.java:4864:28:4864:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4865:10:4865:43 | toArray(...) : Object[] [[]] : Object | Test.java:4866:25:4866:27 | out : Object[] [[]] : Object | provenance | | +| Test.java:4865:28:4865:29 | in : List [] : Object | Test.java:4865:10:4865:43 | toArray(...) : Object[] [[]] : Object | provenance | MaD:244 | +| Test.java:4866:25:4866:27 | out : Object[] [[]] : Object | Test.java:107:24:107:32 | array : Object[] [[]] : Object | provenance | | +| Test.java:4866:25:4866:27 | out : Object[] [[]] : Object | Test.java:4866:9:4866:28 | getArrayElement(...) | provenance | | +| Test.java:4878:18:4878:44 | (...)... : List [] : Object | Test.java:4879:28:4879:29 | in : List [] : Object | provenance | | +| Test.java:4878:28:4878:44 | of(...) : List [] : Object | Test.java:4878:18:4878:44 | (...)... : List [] : Object | provenance | | +| Test.java:4878:36:4878:43 | source(...) : Object | Test.java:4878:28:4878:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4879:10:4879:36 | tryFind(...) : Optional [] : Object | Test.java:4880:20:4880:22 | out : Optional [] : Object | provenance | | +| Test.java:4879:28:4879:29 | in : List [] : Object | Test.java:4879:10:4879:36 | tryFind(...) : Optional [] : Object | provenance | MaD:245 | +| Test.java:4880:20:4880:22 | out : Optional [] : Object | Test.java:112:19:112:31 | o : Optional [] : Object | provenance | | +| Test.java:4880:20:4880:22 | out : Optional [] : Object | Test.java:4880:9:4880:23 | getElement(...) | provenance | MaD:1 | +| Test.java:4885:29:4885:75 | (...)... : ImmutableList [] : Object | Test.java:4886:41:4886:42 | in : ImmutableList [] : Object | provenance | | +| Test.java:4885:50:4885:75 | of(...) : ImmutableList [] : Object | Test.java:4885:29:4885:75 | (...)... : ImmutableList [] : Object | provenance | | +| Test.java:4885:67:4885:74 | source(...) : Object | Test.java:4885:50:4885:75 | of(...) : ImmutableList [] : Object | provenance | MaD:55 | +| Test.java:4886:10:4886:43 | unmodifiableIterable(...) : Iterable [] : Object | Test.java:4887:20:4887:22 | out : Iterable [] : Object | provenance | | +| Test.java:4886:41:4886:42 | in : ImmutableList [] : Object | Test.java:4886:10:4886:43 | unmodifiableIterable(...) : Iterable [] : Object | provenance | MaD:246 | +| Test.java:4887:20:4887:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4887:20:4887:22 | out : Iterable [] : Object | Test.java:4887:9:4887:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4892:18:4892:44 | (...)... : List [] : Object | Test.java:4893:41:4893:42 | in : List [] : Object | provenance | | +| Test.java:4892:28:4892:44 | of(...) : List [] : Object | Test.java:4892:18:4892:44 | (...)... : List [] : Object | provenance | | +| Test.java:4892:36:4892:43 | source(...) : Object | Test.java:4892:28:4892:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4893:10:4893:43 | unmodifiableIterable(...) : Iterable [] : Object | Test.java:4894:20:4894:22 | out : Iterable [] : Object | provenance | | +| Test.java:4893:41:4893:42 | in : List [] : Object | Test.java:4893:10:4893:43 | unmodifiableIterable(...) : Iterable [] : Object | provenance | MaD:247 | +| Test.java:4894:20:4894:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | provenance | | +| Test.java:4894:20:4894:22 | out : Iterable [] : Object | Test.java:4894:9:4894:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4899:18:4899:55 | (...)... : Iterator [] : Object | Test.java:4900:26:4900:27 | in : Iterator [] : Object | provenance | | +| Test.java:4899:28:4899:44 | of(...) : List [] : Object | Test.java:4899:28:4899:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4899:28:4899:55 | iterator(...) : Iterator [] : Object | Test.java:4899:18:4899:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:4899:36:4899:43 | source(...) : Object | Test.java:4899:28:4899:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4900:21:4900:23 | out [post update] : Collection [] : Object | Test.java:4901:20:4901:22 | out : Collection [] : Object | provenance | | +| Test.java:4900:26:4900:27 | in : Iterator [] : Object | Test.java:4900:21:4900:23 | out [post update] : Collection [] : Object | provenance | MaD:248 | +| Test.java:4901:20:4901:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:4901:20:4901:22 | out : Collection [] : Object | Test.java:4901:9:4901:23 | getElement(...) | provenance | MaD:555 | +| Test.java:4906:18:4906:55 | (...)... : Iterator [] : Object | Test.java:4907:34:4907:35 | in : Iterator [] : Object | provenance | | +| Test.java:4906:28:4906:44 | of(...) : List [] : Object | Test.java:4906:28:4906:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4906:28:4906:55 | iterator(...) : Iterator [] : Object | Test.java:4906:18:4906:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:4906:36:4906:43 | source(...) : Object | Test.java:4906:28:4906:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4907:10:4907:36 | asEnumeration(...) : Enumeration [] : Object | Test.java:4908:20:4908:22 | out : Enumeration [] : Object | provenance | | +| Test.java:4907:34:4907:35 | in : Iterator [] : Object | Test.java:4907:10:4907:36 | asEnumeration(...) : Enumeration [] : Object | provenance | MaD:249 | +| Test.java:4908:20:4908:22 | out : Enumeration [] : Object | Test.java:108:19:108:35 | it : Enumeration [] : Object | provenance | | +| Test.java:4908:20:4908:22 | out : Enumeration [] : Object | Test.java:4908:9:4908:23 | getElement(...) | provenance | MaD:556 | +| Test.java:4913:18:4913:75 | (...)... : Iterator [, ] : Object | Test.java:4914:27:4914:28 | in : Iterator [, ] : Object | provenance | | +| Test.java:4913:28:4913:64 | of(...) : List [, ] : Object | Test.java:4913:28:4913:75 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | +| Test.java:4913:28:4913:75 | iterator(...) : Iterator [, ] : Object | Test.java:4913:18:4913:75 | (...)... : Iterator [, ] : Object | provenance | | +| Test.java:4913:36:4913:52 | of(...) : List [] : Object | Test.java:4913:36:4913:63 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4913:36:4913:63 | iterator(...) : Iterator [] : Object | Test.java:4913:28:4913:64 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:4913:44:4913:51 | source(...) : Object | Test.java:4913:36:4913:52 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4914:10:4914:29 | concat(...) : Iterator [] : Object | Test.java:4915:20:4915:22 | out : Iterator [] : Object | provenance | | +| Test.java:4914:27:4914:28 | in : Iterator [, ] : Object | Test.java:4914:10:4914:29 | concat(...) : Iterator [] : Object | provenance | MaD:250 | +| Test.java:4915:20:4915:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | provenance | | +| Test.java:4915:20:4915:22 | out : Iterator [] : Object | Test.java:4915:9:4915:23 | getElement(...) | provenance | MaD:557 | +| Test.java:4920:18:4920:55 | (...)... : Iterator [] : Object | Test.java:4921:33:4921:34 | in : Iterator [] : Object | provenance | | +| Test.java:4920:28:4920:44 | of(...) : List [] : Object | Test.java:4920:28:4920:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4920:28:4920:55 | iterator(...) : Iterator [] : Object | Test.java:4920:18:4920:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:4920:36:4920:43 | source(...) : Object | Test.java:4920:28:4920:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4921:10:4921:35 | concat(...) : Iterator [] : Object | Test.java:4922:20:4922:22 | out : Iterator [] : Object | provenance | | +| Test.java:4921:33:4921:34 | in : Iterator [] : Object | Test.java:4921:10:4921:35 | concat(...) : Iterator [] : Object | provenance | MaD:251 | +| Test.java:4922:20:4922:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | provenance | | +| Test.java:4922:20:4922:22 | out : Iterator [] : Object | Test.java:4922:9:4922:23 | getElement(...) | provenance | MaD:557 | +| Test.java:4927:18:4927:55 | (...)... : Iterator [] : Object | Test.java:4928:27:4928:28 | in : Iterator [] : Object | provenance | | +| Test.java:4927:28:4927:44 | of(...) : List [] : Object | Test.java:4927:28:4927:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4927:28:4927:55 | iterator(...) : Iterator [] : Object | Test.java:4927:18:4927:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:4927:36:4927:43 | source(...) : Object | Test.java:4927:28:4927:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4928:10:4928:35 | concat(...) : Iterator [] : Object | Test.java:4929:20:4929:22 | out : Iterator [] : Object | provenance | | +| Test.java:4928:27:4928:28 | in : Iterator [] : Object | Test.java:4928:10:4928:35 | concat(...) : Iterator [] : Object | provenance | MaD:251 | +| Test.java:4929:20:4929:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | provenance | | +| Test.java:4929:20:4929:22 | out : Iterator [] : Object | Test.java:4929:9:4929:23 | getElement(...) | provenance | MaD:557 | +| Test.java:4934:18:4934:55 | (...)... : Iterator [] : Object | Test.java:4935:39:4935:40 | in : Iterator [] : Object | provenance | | +| Test.java:4934:28:4934:44 | of(...) : List [] : Object | Test.java:4934:28:4934:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4934:28:4934:55 | iterator(...) : Iterator [] : Object | Test.java:4934:18:4934:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:4934:36:4934:43 | source(...) : Object | Test.java:4934:28:4934:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4935:10:4935:41 | concat(...) : Iterator [] : Object | Test.java:4936:20:4936:22 | out : Iterator [] : Object | provenance | | +| Test.java:4935:39:4935:40 | in : Iterator [] : Object | Test.java:4935:10:4935:41 | concat(...) : Iterator [] : Object | provenance | MaD:252 | +| Test.java:4936:20:4936:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | provenance | | +| Test.java:4936:20:4936:22 | out : Iterator [] : Object | Test.java:4936:9:4936:23 | getElement(...) | provenance | MaD:557 | +| Test.java:4941:18:4941:55 | (...)... : Iterator [] : Object | Test.java:4942:33:4942:34 | in : Iterator [] : Object | provenance | | +| Test.java:4941:28:4941:44 | of(...) : List [] : Object | Test.java:4941:28:4941:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4941:28:4941:55 | iterator(...) : Iterator [] : Object | Test.java:4941:18:4941:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:4941:36:4941:43 | source(...) : Object | Test.java:4941:28:4941:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4942:10:4942:41 | concat(...) : Iterator [] : Object | Test.java:4943:20:4943:22 | out : Iterator [] : Object | provenance | | +| Test.java:4942:33:4942:34 | in : Iterator [] : Object | Test.java:4942:10:4942:41 | concat(...) : Iterator [] : Object | provenance | MaD:252 | +| Test.java:4943:20:4943:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | provenance | | +| Test.java:4943:20:4943:22 | out : Iterator [] : Object | Test.java:4943:9:4943:23 | getElement(...) | provenance | MaD:557 | +| Test.java:4948:18:4948:55 | (...)... : Iterator [] : Object | Test.java:4949:27:4949:28 | in : Iterator [] : Object | provenance | | +| Test.java:4948:28:4948:44 | of(...) : List [] : Object | Test.java:4948:28:4948:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4948:28:4948:55 | iterator(...) : Iterator [] : Object | Test.java:4948:18:4948:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:4948:36:4948:43 | source(...) : Object | Test.java:4948:28:4948:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4949:10:4949:41 | concat(...) : Iterator [] : Object | Test.java:4950:20:4950:22 | out : Iterator [] : Object | provenance | | +| Test.java:4949:27:4949:28 | in : Iterator [] : Object | Test.java:4949:10:4949:41 | concat(...) : Iterator [] : Object | provenance | MaD:252 | +| Test.java:4950:20:4950:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | provenance | | +| Test.java:4950:20:4950:22 | out : Iterator [] : Object | Test.java:4950:9:4950:23 | getElement(...) | provenance | MaD:557 | +| Test.java:4955:18:4955:55 | (...)... : Iterator [] : Object | Test.java:4956:45:4956:46 | in : Iterator [] : Object | provenance | | +| Test.java:4955:28:4955:44 | of(...) : List [] : Object | Test.java:4955:28:4955:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4955:28:4955:55 | iterator(...) : Iterator [] : Object | Test.java:4955:18:4955:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:4955:36:4955:43 | source(...) : Object | Test.java:4955:28:4955:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4956:10:4956:47 | concat(...) : Iterator [] : Object | Test.java:4957:20:4957:22 | out : Iterator [] : Object | provenance | | +| Test.java:4956:45:4956:46 | in : Iterator [] : Object | Test.java:4956:10:4956:47 | concat(...) : Iterator [] : Object | provenance | MaD:253 | +| Test.java:4957:20:4957:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | provenance | | +| Test.java:4957:20:4957:22 | out : Iterator [] : Object | Test.java:4957:9:4957:23 | getElement(...) | provenance | MaD:557 | +| Test.java:4962:18:4962:55 | (...)... : Iterator [] : Object | Test.java:4963:39:4963:40 | in : Iterator [] : Object | provenance | | +| Test.java:4962:28:4962:44 | of(...) : List [] : Object | Test.java:4962:28:4962:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4962:28:4962:55 | iterator(...) : Iterator [] : Object | Test.java:4962:18:4962:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:4962:36:4962:43 | source(...) : Object | Test.java:4962:28:4962:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4963:10:4963:47 | concat(...) : Iterator [] : Object | Test.java:4964:20:4964:22 | out : Iterator [] : Object | provenance | | +| Test.java:4963:39:4963:40 | in : Iterator [] : Object | Test.java:4963:10:4963:47 | concat(...) : Iterator [] : Object | provenance | MaD:253 | +| Test.java:4964:20:4964:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | provenance | | +| Test.java:4964:20:4964:22 | out : Iterator [] : Object | Test.java:4964:9:4964:23 | getElement(...) | provenance | MaD:557 | +| Test.java:4969:18:4969:55 | (...)... : Iterator [] : Object | Test.java:4970:33:4970:34 | in : Iterator [] : Object | provenance | | +| Test.java:4969:28:4969:44 | of(...) : List [] : Object | Test.java:4969:28:4969:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4969:28:4969:55 | iterator(...) : Iterator [] : Object | Test.java:4969:18:4969:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:4969:36:4969:43 | source(...) : Object | Test.java:4969:28:4969:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4970:10:4970:47 | concat(...) : Iterator [] : Object | Test.java:4971:20:4971:22 | out : Iterator [] : Object | provenance | | +| Test.java:4970:33:4970:34 | in : Iterator [] : Object | Test.java:4970:10:4970:47 | concat(...) : Iterator [] : Object | provenance | MaD:253 | +| Test.java:4971:20:4971:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | provenance | | +| Test.java:4971:20:4971:22 | out : Iterator [] : Object | Test.java:4971:9:4971:23 | getElement(...) | provenance | MaD:557 | +| Test.java:4976:18:4976:55 | (...)... : Iterator [] : Object | Test.java:4977:27:4977:28 | in : Iterator [] : Object | provenance | | +| Test.java:4976:28:4976:44 | of(...) : List [] : Object | Test.java:4976:28:4976:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4976:28:4976:55 | iterator(...) : Iterator [] : Object | Test.java:4976:18:4976:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:4976:36:4976:43 | source(...) : Object | Test.java:4976:28:4976:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4977:10:4977:47 | concat(...) : Iterator [] : Object | Test.java:4978:20:4978:22 | out : Iterator [] : Object | provenance | | +| Test.java:4977:27:4977:28 | in : Iterator [] : Object | Test.java:4977:10:4977:47 | concat(...) : Iterator [] : Object | provenance | MaD:253 | +| Test.java:4978:20:4978:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | provenance | | +| Test.java:4978:20:4978:22 | out : Iterator [] : Object | Test.java:4978:9:4978:23 | getElement(...) | provenance | MaD:557 | +| Test.java:4983:20:4983:85 | (...)... : Iterator[] [[], ] : Object | Test.java:4984:27:4984:28 | in : Iterator[] [[], ] : Object | provenance | | +| Test.java:4983:32:4983:85 | {...} : Iterator[] [[], ] : Object | Test.java:4983:20:4983:85 | (...)... : Iterator[] [[], ] : Object | provenance | | +| Test.java:4983:47:4983:84 | (...)... : Iterator [] : Object | Test.java:4983:32:4983:85 | {...} : Iterator[] [[], ] : Object | provenance | | +| Test.java:4983:57:4983:73 | of(...) : List [] : Object | Test.java:4983:57:4983:84 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4983:57:4983:84 | iterator(...) : Iterator [] : Object | Test.java:4983:47:4983:84 | (...)... : Iterator [] : Object | provenance | | +| Test.java:4983:65:4983:72 | source(...) : Object | Test.java:4983:57:4983:73 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4984:10:4984:29 | concat(...) : Iterator [] : Object | Test.java:4985:20:4985:22 | out : Iterator [] : Object | provenance | | +| Test.java:4984:27:4984:28 | in : Iterator[] [[], ] : Object | Test.java:4984:10:4984:29 | concat(...) : Iterator [] : Object | provenance | MaD:254 | +| Test.java:4985:20:4985:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | provenance | | +| Test.java:4985:20:4985:22 | out : Iterator [] : Object | Test.java:4985:9:4985:23 | getElement(...) | provenance | MaD:557 | +| Test.java:4990:18:4990:55 | (...)... : Iterator [] : Object | Test.java:4991:38:4991:39 | in : Iterator [] : Object | provenance | | +| Test.java:4990:28:4990:44 | of(...) : List [] : Object | Test.java:4990:28:4990:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:4990:28:4990:55 | iterator(...) : Iterator [] : Object | Test.java:4990:18:4990:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:4990:36:4990:43 | source(...) : Object | Test.java:4990:28:4990:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4991:10:4991:40 | consumingIterator(...) : Iterator [] : Object | Test.java:4992:20:4992:22 | out : Iterator [] : Object | provenance | | +| Test.java:4991:38:4991:39 | in : Iterator [] : Object | Test.java:4991:10:4991:40 | consumingIterator(...) : Iterator [] : Object | provenance | MaD:255 | +| Test.java:4992:20:4992:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | provenance | | +| Test.java:4992:20:4992:22 | out : Iterator [] : Object | Test.java:4992:9:4992:23 | getElement(...) | provenance | MaD:557 | +| Test.java:4997:18:4997:44 | (...)... : List [] : Object | Test.java:4998:26:4998:27 | in : List [] : Object | provenance | | +| Test.java:4997:28:4997:44 | of(...) : List [] : Object | Test.java:4997:18:4997:44 | (...)... : List [] : Object | provenance | | +| Test.java:4997:36:4997:43 | source(...) : Object | Test.java:4997:28:4997:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:4998:10:4998:28 | cycle(...) : Iterator [] : Object | Test.java:4999:20:4999:22 | out : Iterator [] : Object | provenance | | +| Test.java:4998:26:4998:27 | in : List [] : Object | Test.java:4998:10:4998:28 | cycle(...) : Iterator [] : Object | provenance | MaD:256 | +| Test.java:4999:20:4999:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | provenance | | +| Test.java:4999:20:4999:22 | out : Iterator [] : Object | Test.java:4999:9:4999:23 | getElement(...) | provenance | MaD:557 | +| Test.java:5004:18:5004:49 | (...)... : Object[] [[]] : Object | Test.java:5005:26:5005:27 | in : Object[] [[]] : Object | provenance | | +| Test.java:5004:28:5004:49 | {...} : Object[] [[]] : Object | Test.java:5004:18:5004:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:5004:41:5004:48 | source(...) : Object | Test.java:5004:28:5004:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:5005:10:5005:28 | cycle(...) : Iterator [] : Object | Test.java:5006:20:5006:22 | out : Iterator [] : Object | provenance | | +| Test.java:5005:26:5005:27 | in : Object[] [[]] : Object | Test.java:5005:10:5005:28 | cycle(...) : Iterator [] : Object | provenance | MaD:257 | +| Test.java:5006:20:5006:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | provenance | | +| Test.java:5006:20:5006:22 | out : Iterator [] : Object | Test.java:5006:9:5006:23 | getElement(...) | provenance | MaD:557 | +| Test.java:5011:18:5011:55 | (...)... : Iterator [] : Object | Test.java:5012:27:5012:28 | in : Iterator [] : Object | provenance | | +| Test.java:5011:28:5011:44 | of(...) : List [] : Object | Test.java:5011:28:5011:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5011:28:5011:55 | iterator(...) : Iterator [] : Object | Test.java:5011:18:5011:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5011:36:5011:43 | source(...) : Object | Test.java:5011:28:5011:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5012:10:5012:42 | filter(...) : UnmodifiableIterator [] : Object | Test.java:5013:20:5013:22 | out : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5012:27:5012:28 | in : Iterator [] : Object | Test.java:5012:10:5012:42 | filter(...) : UnmodifiableIterator [] : Object | provenance | MaD:258 | +| Test.java:5013:20:5013:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5013:20:5013:22 | out : UnmodifiableIterator [] : Object | Test.java:5013:9:5013:23 | getElement(...) | provenance | MaD:557 | +| Test.java:5018:18:5018:55 | (...)... : Iterator [] : Object | Test.java:5019:27:5019:28 | in : Iterator [] : Object | provenance | | +| Test.java:5018:28:5018:44 | of(...) : List [] : Object | Test.java:5018:28:5018:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5018:28:5018:55 | iterator(...) : Iterator [] : Object | Test.java:5018:18:5018:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5018:36:5018:43 | source(...) : Object | Test.java:5018:28:5018:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5019:10:5019:46 | filter(...) : UnmodifiableIterator [] : Object | Test.java:5020:20:5020:22 | out : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5019:27:5019:28 | in : Iterator [] : Object | Test.java:5019:10:5019:46 | filter(...) : UnmodifiableIterator [] : Object | provenance | MaD:259 | +| Test.java:5020:20:5020:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5020:20:5020:22 | out : UnmodifiableIterator [] : Object | Test.java:5020:9:5020:23 | getElement(...) | provenance | MaD:557 | +| Test.java:5025:18:5025:55 | (...)... : Iterator [] : Object | Test.java:5026:25:5026:26 | in : Iterator [] : Object | provenance | | +| Test.java:5025:28:5025:44 | of(...) : List [] : Object | Test.java:5025:28:5025:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5025:28:5025:55 | iterator(...) : Iterator [] : Object | Test.java:5025:18:5025:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5025:36:5025:43 | source(...) : Object | Test.java:5025:28:5025:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5026:10:5026:33 | find(...) : Object | Test.java:5027:9:5027:11 | out | provenance | | +| Test.java:5026:25:5026:26 | in : Iterator [] : Object | Test.java:5026:10:5026:33 | find(...) : Object | provenance | MaD:260 | +| Test.java:5032:16:5032:31 | (...)... : Object | Test.java:5033:37:5033:38 | in : Object | provenance | | +| Test.java:5032:24:5032:31 | source(...) : Object | Test.java:5032:16:5032:31 | (...)... : Object | provenance | | +| Test.java:5033:10:5033:39 | find(...) : Object | Test.java:5034:9:5034:11 | out | provenance | | +| Test.java:5033:37:5033:38 | in : Object | Test.java:5033:10:5033:39 | find(...) : Object | provenance | MaD:262 | +| Test.java:5039:18:5039:55 | (...)... : Iterator [] : Object | Test.java:5040:25:5040:26 | in : Iterator [] : Object | provenance | | +| Test.java:5039:28:5039:44 | of(...) : List [] : Object | Test.java:5039:28:5039:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5039:28:5039:55 | iterator(...) : Iterator [] : Object | Test.java:5039:18:5039:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5039:36:5039:43 | source(...) : Object | Test.java:5039:28:5039:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5040:10:5040:39 | find(...) : Object | Test.java:5041:9:5041:11 | out | provenance | | +| Test.java:5040:25:5040:26 | in : Iterator [] : Object | Test.java:5040:10:5040:39 | find(...) : Object | provenance | MaD:261 | +| Test.java:5046:18:5046:49 | (...)... : Object[] [[]] : Object | Test.java:5047:29:5047:30 | in : Object[] [[]] : Object | provenance | | +| Test.java:5046:28:5046:49 | {...} : Object[] [[]] : Object | Test.java:5046:18:5046:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:5046:41:5046:48 | source(...) : Object | Test.java:5046:28:5046:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:5047:10:5047:31 | forArray(...) : UnmodifiableIterator [] : Object | Test.java:5048:20:5048:22 | out : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5047:29:5047:30 | in : Object[] [[]] : Object | Test.java:5047:10:5047:31 | forArray(...) : UnmodifiableIterator [] : Object | provenance | MaD:263 | +| Test.java:5048:20:5048:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5048:20:5048:22 | out : UnmodifiableIterator [] : Object | Test.java:5048:9:5048:23 | getElement(...) | provenance | MaD:557 | +| Test.java:5053:21:5053:64 | (...)... : Enumeration [] : Object | Test.java:5054:35:5054:36 | in : Enumeration [] : Object | provenance | | +| Test.java:5053:34:5053:64 | newWithElementDefault(...) : Object [] : Object | Test.java:5053:21:5053:64 | (...)... : Enumeration [] : Object | provenance | | +| Test.java:5053:56:5053:63 | source(...) : Object | Test.java:5053:34:5053:64 | newWithElementDefault(...) : Object [] : Object | provenance | MaD:568 | +| Test.java:5054:10:5054:37 | forEnumeration(...) : UnmodifiableIterator [] : Object | Test.java:5055:20:5055:22 | out : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5054:35:5054:36 | in : Enumeration [] : Object | Test.java:5054:10:5054:37 | forEnumeration(...) : UnmodifiableIterator [] : Object | provenance | MaD:264 | +| Test.java:5055:20:5055:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5055:20:5055:22 | out : UnmodifiableIterator [] : Object | Test.java:5055:9:5055:23 | getElement(...) | provenance | MaD:557 | +| Test.java:5060:18:5060:55 | (...)... : Iterator [] : Object | Test.java:5061:24:5061:25 | in : Iterator [] : Object | provenance | | +| Test.java:5060:28:5060:44 | of(...) : List [] : Object | Test.java:5060:28:5060:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5060:28:5060:55 | iterator(...) : Iterator [] : Object | Test.java:5060:18:5060:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5060:36:5060:43 | source(...) : Object | Test.java:5060:28:5060:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5061:10:5061:29 | get(...) : Object | Test.java:5062:9:5062:11 | out | provenance | | +| Test.java:5061:24:5061:25 | in : Iterator [] : Object | Test.java:5061:10:5061:29 | get(...) : Object | provenance | MaD:265 | +| Test.java:5067:16:5067:31 | (...)... : Object | Test.java:5068:33:5068:34 | in : Object | provenance | | +| Test.java:5067:24:5067:31 | source(...) : Object | Test.java:5067:16:5067:31 | (...)... : Object | provenance | | +| Test.java:5068:10:5068:35 | get(...) : Object | Test.java:5069:9:5069:11 | out | provenance | | +| Test.java:5068:33:5068:34 | in : Object | Test.java:5068:10:5068:35 | get(...) : Object | provenance | MaD:267 | +| Test.java:5074:18:5074:55 | (...)... : Iterator [] : Object | Test.java:5075:24:5075:25 | in : Iterator [] : Object | provenance | | +| Test.java:5074:28:5074:44 | of(...) : List [] : Object | Test.java:5074:28:5074:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5074:28:5074:55 | iterator(...) : Iterator [] : Object | Test.java:5074:18:5074:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5074:36:5074:43 | source(...) : Object | Test.java:5074:28:5074:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5075:10:5075:35 | get(...) : Object | Test.java:5076:9:5076:11 | out | provenance | | +| Test.java:5075:24:5075:25 | in : Iterator [] : Object | Test.java:5075:10:5075:35 | get(...) : Object | provenance | MaD:266 | +| Test.java:5081:18:5081:55 | (...)... : Iterator [] : Object | Test.java:5082:28:5082:29 | in : Iterator [] : Object | provenance | | +| Test.java:5081:28:5081:44 | of(...) : List [] : Object | Test.java:5081:28:5081:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5081:28:5081:55 | iterator(...) : Iterator [] : Object | Test.java:5081:18:5081:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5081:36:5081:43 | source(...) : Object | Test.java:5081:28:5081:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5082:10:5082:30 | getLast(...) : Object | Test.java:5083:9:5083:11 | out | provenance | | +| Test.java:5082:28:5082:29 | in : Iterator [] : Object | Test.java:5082:10:5082:30 | getLast(...) : Object | provenance | MaD:268 | +| Test.java:5088:16:5088:31 | (...)... : Object | Test.java:5089:34:5089:35 | in : Object | provenance | | +| Test.java:5088:24:5088:31 | source(...) : Object | Test.java:5088:16:5088:31 | (...)... : Object | provenance | | +| Test.java:5089:10:5089:36 | getLast(...) : Object | Test.java:5090:9:5090:11 | out | provenance | | +| Test.java:5089:34:5089:35 | in : Object | Test.java:5089:10:5089:36 | getLast(...) : Object | provenance | MaD:270 | +| Test.java:5095:18:5095:55 | (...)... : Iterator [] : Object | Test.java:5096:28:5096:29 | in : Iterator [] : Object | provenance | | +| Test.java:5095:28:5095:44 | of(...) : List [] : Object | Test.java:5095:28:5095:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5095:28:5095:55 | iterator(...) : Iterator [] : Object | Test.java:5095:18:5095:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5095:36:5095:43 | source(...) : Object | Test.java:5095:28:5095:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5096:10:5096:36 | getLast(...) : Object | Test.java:5097:9:5097:11 | out | provenance | | +| Test.java:5096:28:5096:29 | in : Iterator [] : Object | Test.java:5096:10:5096:36 | getLast(...) : Object | provenance | MaD:269 | +| Test.java:5102:16:5102:31 | (...)... : Object | Test.java:5103:34:5103:35 | in : Object | provenance | | +| Test.java:5102:24:5102:31 | source(...) : Object | Test.java:5102:16:5102:31 | (...)... : Object | provenance | | +| Test.java:5103:10:5103:36 | getNext(...) : Object | Test.java:5104:9:5104:11 | out | provenance | | +| Test.java:5103:34:5103:35 | in : Object | Test.java:5103:10:5103:36 | getNext(...) : Object | provenance | MaD:272 | +| Test.java:5109:18:5109:55 | (...)... : Iterator [] : Object | Test.java:5110:28:5110:29 | in : Iterator [] : Object | provenance | | +| Test.java:5109:28:5109:44 | of(...) : List [] : Object | Test.java:5109:28:5109:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5109:28:5109:55 | iterator(...) : Iterator [] : Object | Test.java:5109:18:5109:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5109:36:5109:43 | source(...) : Object | Test.java:5109:28:5109:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5110:10:5110:36 | getNext(...) : Object | Test.java:5111:9:5111:11 | out | provenance | | +| Test.java:5110:28:5110:29 | in : Iterator [] : Object | Test.java:5110:10:5110:36 | getNext(...) : Object | provenance | MaD:271 | +| Test.java:5116:18:5116:55 | (...)... : Iterator [] : Object | Test.java:5117:35:5117:36 | in : Iterator [] : Object | provenance | | +| Test.java:5116:28:5116:44 | of(...) : List [] : Object | Test.java:5116:28:5116:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5116:28:5116:55 | iterator(...) : Iterator [] : Object | Test.java:5116:18:5116:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5116:36:5116:43 | source(...) : Object | Test.java:5116:28:5116:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5117:10:5117:37 | getOnlyElement(...) : Object | Test.java:5118:9:5118:11 | out | provenance | | +| Test.java:5117:35:5117:36 | in : Iterator [] : Object | Test.java:5117:10:5117:37 | getOnlyElement(...) : Object | provenance | MaD:273 | +| Test.java:5123:16:5123:31 | (...)... : Object | Test.java:5124:41:5124:42 | in : Object | provenance | | +| Test.java:5123:24:5123:31 | source(...) : Object | Test.java:5123:16:5123:31 | (...)... : Object | provenance | | +| Test.java:5124:10:5124:43 | getOnlyElement(...) : Object | Test.java:5125:9:5125:11 | out | provenance | | +| Test.java:5124:41:5124:42 | in : Object | Test.java:5124:10:5124:43 | getOnlyElement(...) : Object | provenance | MaD:275 | +| Test.java:5130:18:5130:55 | (...)... : Iterator [] : Object | Test.java:5131:35:5131:36 | in : Iterator [] : Object | provenance | | +| Test.java:5130:28:5130:44 | of(...) : List [] : Object | Test.java:5130:28:5130:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5130:28:5130:55 | iterator(...) : Iterator [] : Object | Test.java:5130:18:5130:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5130:36:5130:43 | source(...) : Object | Test.java:5130:28:5130:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5131:10:5131:43 | getOnlyElement(...) : Object | Test.java:5132:9:5132:11 | out | provenance | | +| Test.java:5131:35:5131:36 | in : Iterator [] : Object | Test.java:5131:10:5131:43 | getOnlyElement(...) : Object | provenance | MaD:274 | +| Test.java:5137:18:5137:55 | (...)... : Iterator [] : Object | Test.java:5138:26:5138:27 | in : Iterator [] : Object | provenance | | +| Test.java:5137:28:5137:44 | of(...) : List [] : Object | Test.java:5137:28:5137:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5137:28:5137:55 | iterator(...) : Iterator [] : Object | Test.java:5137:18:5137:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5137:36:5137:43 | source(...) : Object | Test.java:5137:28:5137:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5138:10:5138:31 | limit(...) : Iterator [] : Object | Test.java:5139:20:5139:22 | out : Iterator [] : Object | provenance | | +| Test.java:5138:26:5138:27 | in : Iterator [] : Object | Test.java:5138:10:5138:31 | limit(...) : Iterator [] : Object | provenance | MaD:276 | +| Test.java:5139:20:5139:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | provenance | | +| Test.java:5139:20:5139:22 | out : Iterator [] : Object | Test.java:5139:9:5139:23 | getElement(...) | provenance | MaD:557 | +| Test.java:5144:18:5144:64 | (...)... : List [, ] : Object | Test.java:5145:32:5145:33 | in : List [, ] : Object | provenance | | +| Test.java:5144:28:5144:64 | of(...) : List [, ] : Object | Test.java:5144:18:5144:64 | (...)... : List [, ] : Object | provenance | | +| Test.java:5144:36:5144:52 | of(...) : List [] : Object | Test.java:5144:36:5144:63 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5144:36:5144:63 | iterator(...) : Iterator [] : Object | Test.java:5144:28:5144:64 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:5144:44:5144:51 | source(...) : Object | Test.java:5144:36:5144:52 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5145:10:5145:40 | mergeSorted(...) : UnmodifiableIterator [] : Object | Test.java:5146:20:5146:22 | out : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5145:32:5145:33 | in : List [, ] : Object | Test.java:5145:10:5145:40 | mergeSorted(...) : UnmodifiableIterator [] : Object | provenance | MaD:277 | +| Test.java:5146:20:5146:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5146:20:5146:22 | out : UnmodifiableIterator [] : Object | Test.java:5146:9:5146:23 | getElement(...) | provenance | MaD:557 | +| Test.java:5151:18:5151:55 | (...)... : Iterator [] : Object | Test.java:5152:36:5152:37 | in : Iterator [] : Object | provenance | | +| Test.java:5151:28:5151:44 | of(...) : List [] : Object | Test.java:5151:28:5151:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5151:28:5151:55 | iterator(...) : Iterator [] : Object | Test.java:5151:18:5151:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5151:36:5151:43 | source(...) : Object | Test.java:5151:28:5151:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5152:10:5152:41 | paddedPartition(...) : UnmodifiableIterator [, ] : Object | Test.java:5153:31:5153:33 | out : UnmodifiableIterator [, ] : Object | provenance | | +| Test.java:5152:36:5152:37 | in : Iterator [] : Object | Test.java:5152:10:5152:41 | paddedPartition(...) : UnmodifiableIterator [, ] : Object | provenance | MaD:278 | +| Test.java:5153:20:5153:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:5153:20:5153:34 | getElement(...) : List [] : Object | Test.java:5153:9:5153:35 | getElement(...) | provenance | MaD:555 | +| Test.java:5153:31:5153:33 | out : UnmodifiableIterator [, ] : Object | Test.java:5153:20:5153:34 | getElement(...) : List [] : Object | provenance | MaD:557 | +| Test.java:5158:18:5158:55 | (...)... : Iterator [] : Object | Test.java:5159:30:5159:31 | in : Iterator [] : Object | provenance | | +| Test.java:5158:28:5158:44 | of(...) : List [] : Object | Test.java:5158:28:5158:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5158:28:5158:55 | iterator(...) : Iterator [] : Object | Test.java:5158:18:5158:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5158:36:5158:43 | source(...) : Object | Test.java:5158:28:5158:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5159:10:5159:35 | partition(...) : UnmodifiableIterator [, ] : Object | Test.java:5160:31:5160:33 | out : UnmodifiableIterator [, ] : Object | provenance | | +| Test.java:5159:30:5159:31 | in : Iterator [] : Object | Test.java:5159:10:5159:35 | partition(...) : UnmodifiableIterator [, ] : Object | provenance | MaD:279 | +| Test.java:5160:20:5160:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:5160:20:5160:34 | getElement(...) : List [] : Object | Test.java:5160:9:5160:35 | getElement(...) | provenance | MaD:555 | +| Test.java:5160:31:5160:33 | out : UnmodifiableIterator [, ] : Object | Test.java:5160:20:5160:34 | getElement(...) : List [] : Object | provenance | MaD:557 | +| Test.java:5165:18:5165:55 | (...)... : Iterator [] : Object | Test.java:5166:36:5166:37 | in : Iterator [] : Object | provenance | | +| Test.java:5165:28:5165:44 | of(...) : List [] : Object | Test.java:5165:28:5165:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5165:28:5165:55 | iterator(...) : Iterator [] : Object | Test.java:5165:18:5165:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5165:36:5165:43 | source(...) : Object | Test.java:5165:28:5165:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5166:10:5166:38 | peekingIterator(...) : PeekingIterator [] : Object | Test.java:5167:20:5167:22 | out : PeekingIterator [] : Object | provenance | | +| Test.java:5166:36:5166:37 | in : Iterator [] : Object | Test.java:5166:10:5166:38 | peekingIterator(...) : PeekingIterator [] : Object | provenance | MaD:280 | +| Test.java:5167:20:5167:22 | out : PeekingIterator [] : Object | Test.java:111:19:111:32 | it : PeekingIterator [] : Object | provenance | | +| Test.java:5167:20:5167:22 | out : PeekingIterator [] : Object | Test.java:5167:9:5167:23 | getElement(...) | provenance | MaD:557 | +| Test.java:5172:25:5172:96 | (...)... : PeekingIterator [] : Object | Test.java:5173:36:5173:37 | in : PeekingIterator [] : Object | provenance | | +| Test.java:5172:42:5172:96 | peekingIterator(...) : PeekingIterator [] : Object | Test.java:5172:25:5172:96 | (...)... : PeekingIterator [] : Object | provenance | | +| Test.java:5172:68:5172:84 | of(...) : List [] : Object | Test.java:5172:68:5172:95 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5172:68:5172:95 | iterator(...) : Iterator [] : Object | Test.java:5172:42:5172:96 | peekingIterator(...) : PeekingIterator [] : Object | provenance | MaD:280 | +| Test.java:5172:76:5172:83 | source(...) : Object | Test.java:5172:68:5172:84 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5173:10:5173:38 | peekingIterator(...) : PeekingIterator [] : Object | Test.java:5174:20:5174:22 | out : PeekingIterator [] : Object | provenance | | +| Test.java:5173:36:5173:37 | in : PeekingIterator [] : Object | Test.java:5173:10:5173:38 | peekingIterator(...) : PeekingIterator [] : Object | provenance | MaD:281 | +| Test.java:5174:20:5174:22 | out : PeekingIterator [] : Object | Test.java:111:19:111:32 | it : PeekingIterator [] : Object | provenance | | +| Test.java:5174:20:5174:22 | out : PeekingIterator [] : Object | Test.java:5174:9:5174:23 | getElement(...) | provenance | MaD:557 | +| Test.java:5179:16:5179:31 | (...)... : Object | Test.java:5180:38:5180:39 | in : Object | provenance | | +| Test.java:5179:24:5179:31 | source(...) : Object | Test.java:5179:16:5179:31 | (...)... : Object | provenance | | +| Test.java:5180:10:5180:40 | singletonIterator(...) : UnmodifiableIterator [] : Object | Test.java:5181:20:5181:22 | out : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5180:38:5180:39 | in : Object | Test.java:5180:10:5180:40 | singletonIterator(...) : UnmodifiableIterator [] : Object | provenance | MaD:282 | +| Test.java:5181:20:5181:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5181:20:5181:22 | out : UnmodifiableIterator [] : Object | Test.java:5181:9:5181:23 | getElement(...) | provenance | MaD:557 | +| Test.java:5186:18:5186:55 | (...)... : Iterator [] : Object | Test.java:5187:28:5187:29 | in : Iterator [] : Object | provenance | | +| Test.java:5186:28:5186:44 | of(...) : List [] : Object | Test.java:5186:28:5186:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5186:28:5186:55 | iterator(...) : Iterator [] : Object | Test.java:5186:18:5186:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5186:36:5186:43 | source(...) : Object | Test.java:5186:28:5186:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5187:10:5187:36 | toArray(...) : Object[] [[]] : Object | Test.java:5188:25:5188:27 | out : Object[] [[]] : Object | provenance | | +| Test.java:5187:28:5187:29 | in : Iterator [] : Object | Test.java:5187:10:5187:36 | toArray(...) : Object[] [[]] : Object | provenance | MaD:283 | +| Test.java:5188:25:5188:27 | out : Object[] [[]] : Object | Test.java:107:24:107:32 | array : Object[] [[]] : Object | provenance | | +| Test.java:5188:25:5188:27 | out : Object[] [[]] : Object | Test.java:5188:9:5188:28 | getArrayElement(...) | provenance | | +| Test.java:5193:18:5193:55 | (...)... : Iterator [] : Object | Test.java:5194:28:5194:29 | in : Iterator [] : Object | provenance | | +| Test.java:5193:28:5193:44 | of(...) : List [] : Object | Test.java:5193:28:5193:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5193:28:5193:55 | iterator(...) : Iterator [] : Object | Test.java:5193:18:5193:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5193:36:5193:43 | source(...) : Object | Test.java:5193:28:5193:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5194:10:5194:36 | tryFind(...) : Optional [] : Object | Test.java:5195:20:5195:22 | out : Optional [] : Object | provenance | | +| Test.java:5194:28:5194:29 | in : Iterator [] : Object | Test.java:5194:10:5194:36 | tryFind(...) : Optional [] : Object | provenance | MaD:284 | +| Test.java:5195:20:5195:22 | out : Optional [] : Object | Test.java:112:19:112:31 | o : Optional [] : Object | provenance | | +| Test.java:5195:20:5195:22 | out : Optional [] : Object | Test.java:5195:9:5195:23 | getElement(...) | provenance | MaD:1 | +| Test.java:5200:18:5200:55 | (...)... : Iterator [] : Object | Test.java:5201:41:5201:42 | in : Iterator [] : Object | provenance | | +| Test.java:5200:28:5200:44 | of(...) : List [] : Object | Test.java:5200:28:5200:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5200:28:5200:55 | iterator(...) : Iterator [] : Object | Test.java:5200:18:5200:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5200:36:5200:43 | source(...) : Object | Test.java:5200:28:5200:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5201:10:5201:43 | unmodifiableIterator(...) : UnmodifiableIterator [] : Object | Test.java:5202:20:5202:22 | out : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5201:41:5201:42 | in : Iterator [] : Object | Test.java:5201:10:5201:43 | unmodifiableIterator(...) : UnmodifiableIterator [] : Object | provenance | MaD:285 | +| Test.java:5202:20:5202:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5202:20:5202:22 | out : UnmodifiableIterator [] : Object | Test.java:5202:9:5202:23 | getElement(...) | provenance | MaD:557 | +| Test.java:5207:30:5207:111 | (...)... : UnmodifiableIterator [] : Object | Test.java:5208:41:5208:42 | in : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5207:52:5207:111 | unmodifiableIterator(...) : UnmodifiableIterator [] : Object | Test.java:5207:30:5207:111 | (...)... : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5207:83:5207:99 | of(...) : List [] : Object | Test.java:5207:83:5207:110 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5207:83:5207:110 | iterator(...) : Iterator [] : Object | Test.java:5207:52:5207:111 | unmodifiableIterator(...) : UnmodifiableIterator [] : Object | provenance | MaD:285 | +| Test.java:5207:91:5207:98 | source(...) : Object | Test.java:5207:83:5207:99 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5208:10:5208:43 | unmodifiableIterator(...) : UnmodifiableIterator [] : Object | Test.java:5209:20:5209:22 | out : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5208:41:5208:42 | in : UnmodifiableIterator [] : Object | Test.java:5208:10:5208:43 | unmodifiableIterator(...) : UnmodifiableIterator [] : Object | provenance | MaD:286 | +| Test.java:5209:20:5209:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | provenance | | +| Test.java:5209:20:5209:22 | out : UnmodifiableIterator [] : Object | Test.java:5209:9:5209:23 | getElement(...) | provenance | MaD:557 | +| Test.java:5214:18:5214:63 | (...)... : ImmutableMultimap [] : Object | Test.java:5215:36:5215:37 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:5214:28:5214:63 | of(...) : ImmutableMultimap [] : Object | Test.java:5214:18:5214:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:5214:49:5214:56 | source(...) : Object | Test.java:5214:28:5214:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:5215:10:5215:38 | create(...) : LinkedHashMultimap [] : Object | Test.java:5216:19:5216:21 | out : LinkedHashMultimap [] : Object | provenance | | +| Test.java:5215:36:5215:37 | in : ImmutableMultimap [] : Object | Test.java:5215:10:5215:38 | create(...) : LinkedHashMultimap [] : Object | provenance | MaD:287 | +| Test.java:5216:19:5216:21 | out : LinkedHashMultimap [] : Object | Test.java:100:18:100:34 | map : LinkedHashMultimap [] : Object | provenance | | +| Test.java:5216:19:5216:21 | out : LinkedHashMultimap [] : Object | Test.java:5216:9:5216:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:5221:18:5221:63 | (...)... : ImmutableMultimap [] : Object | Test.java:5222:36:5222:37 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:5221:28:5221:63 | of(...) : ImmutableMultimap [] : Object | Test.java:5221:18:5221:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:5221:55:5221:62 | source(...) : Object | Test.java:5221:28:5221:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:5222:10:5222:38 | create(...) : LinkedHashMultimap [] : Object | Test.java:5223:21:5223:23 | out : LinkedHashMultimap [] : Object | provenance | | +| Test.java:5222:36:5222:37 | in : ImmutableMultimap [] : Object | Test.java:5222:10:5222:38 | create(...) : LinkedHashMultimap [] : Object | provenance | MaD:288 | +| Test.java:5223:21:5223:23 | out : LinkedHashMultimap [] : Object | Test.java:119:20:119:36 | map : LinkedHashMultimap [] : Object | provenance | | +| Test.java:5223:21:5223:23 | out : LinkedHashMultimap [] : Object | Test.java:5223:9:5223:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:5228:18:5228:44 | (...)... : List [] : Object | Test.java:5229:36:5229:37 | in : List [] : Object | provenance | | +| Test.java:5228:28:5228:44 | of(...) : List [] : Object | Test.java:5228:18:5228:44 | (...)... : List [] : Object | provenance | | +| Test.java:5228:36:5228:43 | source(...) : Object | Test.java:5228:28:5228:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5229:10:5229:38 | create(...) : LinkedHashMultiset [] : Object | Test.java:5230:20:5230:22 | out : LinkedHashMultiset [] : Object | provenance | | +| Test.java:5229:36:5229:37 | in : List [] : Object | Test.java:5229:10:5229:38 | create(...) : LinkedHashMultiset [] : Object | provenance | MaD:289 | +| Test.java:5230:20:5230:22 | out : LinkedHashMultiset [] : Object | Test.java:110:19:110:32 | it : LinkedHashMultiset [] : Object | provenance | | +| Test.java:5230:20:5230:22 | out : LinkedHashMultiset [] : Object | Test.java:5230:9:5230:23 | getElement(...) | provenance | MaD:555 | +| Test.java:5235:18:5235:63 | (...)... : ImmutableMultimap [] : Object | Test.java:5236:36:5236:37 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:5235:28:5235:63 | of(...) : ImmutableMultimap [] : Object | Test.java:5235:18:5235:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:5235:49:5235:56 | source(...) : Object | Test.java:5235:28:5235:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:5236:10:5236:38 | create(...) : LinkedListMultimap [] : Object | Test.java:5237:19:5237:21 | out : LinkedListMultimap [] : Object | provenance | | +| Test.java:5236:36:5236:37 | in : ImmutableMultimap [] : Object | Test.java:5236:10:5236:38 | create(...) : LinkedListMultimap [] : Object | provenance | MaD:290 | +| Test.java:5237:19:5237:21 | out : LinkedListMultimap [] : Object | Test.java:100:18:100:34 | map : LinkedListMultimap [] : Object | provenance | | +| Test.java:5237:19:5237:21 | out : LinkedListMultimap [] : Object | Test.java:5237:9:5237:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:5242:18:5242:63 | (...)... : ImmutableMultimap [] : Object | Test.java:5243:36:5243:37 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:5242:28:5242:63 | of(...) : ImmutableMultimap [] : Object | Test.java:5242:18:5242:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:5242:55:5242:62 | source(...) : Object | Test.java:5242:28:5242:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:5243:10:5243:38 | create(...) : LinkedListMultimap [] : Object | Test.java:5244:21:5244:23 | out : LinkedListMultimap [] : Object | provenance | | +| Test.java:5243:36:5243:37 | in : ImmutableMultimap [] : Object | Test.java:5243:10:5243:38 | create(...) : LinkedListMultimap [] : Object | provenance | MaD:291 | +| Test.java:5244:21:5244:23 | out : LinkedListMultimap [] : Object | Test.java:119:20:119:36 | map : LinkedListMultimap [] : Object | provenance | | +| Test.java:5244:21:5244:23 | out : LinkedListMultimap [] : Object | Test.java:5244:9:5244:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:5249:16:5249:31 | (...)... : Object | Test.java:5250:29:5250:30 | in : Object | provenance | | +| Test.java:5249:24:5249:31 | source(...) : Object | Test.java:5249:16:5249:31 | (...)... : Object | provenance | | +| Test.java:5250:10:5250:37 | asList(...) : List [] : Object | Test.java:5251:20:5251:22 | out : List [] : Object | provenance | | +| Test.java:5250:29:5250:30 | in : Object | Test.java:5250:10:5250:37 | asList(...) : List [] : Object | provenance | MaD:292 | +| Test.java:5251:20:5251:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:5251:20:5251:22 | out : List [] : Object | Test.java:5251:9:5251:23 | getElement(...) | provenance | MaD:555 | +| Test.java:5256:16:5256:31 | (...)... : Object | Test.java:5257:23:5257:24 | in : Object | provenance | | +| Test.java:5256:24:5256:31 | source(...) : Object | Test.java:5256:16:5256:31 | (...)... : Object | provenance | | +| Test.java:5257:10:5257:37 | asList(...) : List [] : Object | Test.java:5258:20:5258:22 | out : List [] : Object | provenance | | +| Test.java:5257:23:5257:24 | in : Object | Test.java:5257:10:5257:37 | asList(...) : List [] : Object | provenance | MaD:292 | +| Test.java:5258:20:5258:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:5258:20:5258:22 | out : List [] : Object | Test.java:5258:9:5258:23 | getElement(...) | provenance | MaD:555 | +| Test.java:5263:18:5263:49 | (...)... : Object[] [[]] : Object | Test.java:5264:35:5264:36 | in : Object[] [[]] : Object | provenance | | +| Test.java:5263:28:5263:49 | {...} : Object[] [[]] : Object | Test.java:5263:18:5263:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:5263:41:5263:48 | source(...) : Object | Test.java:5263:28:5263:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:5264:10:5264:37 | asList(...) : List [] : Object | Test.java:5265:20:5265:22 | out : List [] : Object | provenance | | +| Test.java:5264:35:5264:36 | in : Object[] [[]] : Object | Test.java:5264:10:5264:37 | asList(...) : List [] : Object | provenance | MaD:293 | +| Test.java:5265:20:5265:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:5265:20:5265:22 | out : List [] : Object | Test.java:5265:9:5265:23 | getElement(...) | provenance | MaD:555 | +| Test.java:5270:16:5270:31 | (...)... : Object | Test.java:5271:23:5271:24 | in : Object | provenance | | +| Test.java:5270:24:5270:31 | source(...) : Object | Test.java:5270:16:5270:31 | (...)... : Object | provenance | | +| Test.java:5271:10:5271:31 | asList(...) : List [] : Object | Test.java:5272:20:5272:22 | out : List [] : Object | provenance | | +| Test.java:5271:23:5271:24 | in : Object | Test.java:5271:10:5271:31 | asList(...) : List [] : Object | provenance | MaD:294 | +| Test.java:5272:20:5272:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:5272:20:5272:22 | out : List [] : Object | Test.java:5272:9:5272:23 | getElement(...) | provenance | MaD:555 | +| Test.java:5277:18:5277:49 | (...)... : Object[] [[]] : Object | Test.java:5278:29:5278:30 | in : Object[] [[]] : Object | provenance | | +| Test.java:5277:28:5277:49 | {...} : Object[] [[]] : Object | Test.java:5277:18:5277:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:5277:41:5277:48 | source(...) : Object | Test.java:5277:28:5277:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:5278:10:5278:31 | asList(...) : List [] : Object | Test.java:5279:20:5279:22 | out : List [] : Object | provenance | | +| Test.java:5278:29:5278:30 | in : Object[] [[]] : Object | Test.java:5278:10:5278:31 | asList(...) : List [] : Object | provenance | MaD:295 | +| Test.java:5279:20:5279:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:5279:20:5279:22 | out : List [] : Object | Test.java:5279:9:5279:23 | getElement(...) | provenance | MaD:555 | +| Test.java:5284:14:5284:45 | (...)... : List [, ] : Object | Test.java:5285:33:5285:34 | in : List [, ] : Object | provenance | | +| Test.java:5284:20:5284:45 | of(...) : List [, ] : Object | Test.java:5284:14:5284:45 | (...)... : List [, ] : Object | provenance | | +| Test.java:5284:28:5284:44 | of(...) : List [] : Object | Test.java:5284:20:5284:45 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:5284:36:5284:43 | source(...) : Object | Test.java:5284:28:5284:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5285:10:5285:35 | cartesianProduct(...) : List [, ] : Object | Test.java:5286:31:5286:33 | out : List [, ] : Object | provenance | | +| Test.java:5285:33:5285:34 | in : List [, ] : Object | Test.java:5285:10:5285:35 | cartesianProduct(...) : List [, ] : Object | provenance | MaD:296 | +| Test.java:5286:20:5286:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:5286:20:5286:34 | getElement(...) : List [] : Object | Test.java:5286:9:5286:35 | getElement(...) | provenance | MaD:555 | +| Test.java:5286:31:5286:33 | out : List [, ] : Object | Test.java:5286:20:5286:34 | getElement(...) : List [] : Object | provenance | MaD:555 | +| Test.java:5291:16:5291:58 | (...)... : List[] [[], ] : Object | Test.java:5292:33:5292:34 | in : List[] [[], ] : Object | provenance | | +| Test.java:5291:24:5291:58 | {...} : List[] [[], ] : Object | Test.java:5291:16:5291:58 | (...)... : List[] [[], ] : Object | provenance | | +| Test.java:5291:35:5291:57 | (...)... : List [] : Object | Test.java:5291:24:5291:58 | {...} : List[] [[], ] : Object | provenance | | +| Test.java:5291:41:5291:57 | of(...) : List [] : Object | Test.java:5291:35:5291:57 | (...)... : List [] : Object | provenance | | +| Test.java:5291:49:5291:56 | source(...) : Object | Test.java:5291:41:5291:57 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5292:10:5292:35 | cartesianProduct(...) : List [, ] : Object | Test.java:5293:31:5293:33 | out : List [, ] : Object | provenance | | +| Test.java:5292:33:5292:34 | in : List[] [[], ] : Object | Test.java:5292:10:5292:35 | cartesianProduct(...) : List [, ] : Object | provenance | MaD:297 | +| Test.java:5293:20:5293:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:5293:20:5293:34 | getElement(...) : List [] : Object | Test.java:5293:9:5293:35 | getElement(...) | provenance | MaD:555 | +| Test.java:5293:31:5293:33 | out : List [, ] : Object | Test.java:5293:20:5293:34 | getElement(...) : List [] : Object | provenance | MaD:555 | +| Test.java:5298:22:5298:43 | (...)... : CharSequence | Test.java:5299:29:5299:30 | in : CharSequence | provenance | | +| Test.java:5298:36:5298:43 | source(...) : Object | Test.java:5298:22:5298:43 | (...)... : CharSequence | provenance | | +| Test.java:5299:10:5299:31 | charactersOf(...) : List [] : Object | Test.java:5300:20:5300:22 | out : List [] : Object | provenance | | +| Test.java:5299:29:5299:30 | in : CharSequence | Test.java:5299:10:5299:31 | charactersOf(...) : List [] : Object | provenance | MaD:298 | +| Test.java:5300:20:5300:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:5300:20:5300:22 | out : List [] : Object | Test.java:5300:9:5300:23 | getElement(...) | provenance | MaD:555 | +| Test.java:5305:16:5305:31 | (...)... : String | Test.java:5306:29:5306:30 | in : String | provenance | | +| Test.java:5305:24:5305:31 | source(...) : Object | Test.java:5305:16:5305:31 | (...)... : String | provenance | | +| Test.java:5306:10:5306:31 | charactersOf(...) : ImmutableList [] : Object | Test.java:5307:20:5307:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:5306:29:5306:30 | in : String | Test.java:5306:10:5306:31 | charactersOf(...) : ImmutableList [] : Object | provenance | MaD:299 | +| Test.java:5307:20:5307:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:5307:20:5307:22 | out : ImmutableList [] : Object | Test.java:5307:9:5307:23 | getElement(...) | provenance | MaD:555 | +| Test.java:5312:18:5312:44 | (...)... : List [] : Object | Test.java:5313:29:5313:30 | in : List [] : Object | provenance | | +| Test.java:5312:28:5312:44 | of(...) : List [] : Object | Test.java:5312:18:5312:44 | (...)... : List [] : Object | provenance | | +| Test.java:5312:36:5312:43 | source(...) : Object | Test.java:5312:28:5312:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5313:10:5313:31 | newArrayList(...) : ArrayList [] : Object | Test.java:5314:20:5314:22 | out : ArrayList [] : Object | provenance | | +| Test.java:5313:29:5313:30 | in : List [] : Object | Test.java:5313:10:5313:31 | newArrayList(...) : ArrayList [] : Object | provenance | MaD:300 | +| Test.java:5314:20:5314:22 | out : ArrayList [] : Object | Test.java:110:19:110:32 | it : ArrayList [] : Object | provenance | | +| Test.java:5314:20:5314:22 | out : ArrayList [] : Object | Test.java:5314:9:5314:23 | getElement(...) | provenance | MaD:555 | +| Test.java:5319:18:5319:55 | (...)... : Iterator [] : Object | Test.java:5320:29:5320:30 | in : Iterator [] : Object | provenance | | +| Test.java:5319:28:5319:44 | of(...) : List [] : Object | Test.java:5319:28:5319:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5319:28:5319:55 | iterator(...) : Iterator [] : Object | Test.java:5319:18:5319:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5319:36:5319:43 | source(...) : Object | Test.java:5319:28:5319:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5320:10:5320:31 | newArrayList(...) : ArrayList [] : Object | Test.java:5321:20:5321:22 | out : ArrayList [] : Object | provenance | | +| Test.java:5320:29:5320:30 | in : Iterator [] : Object | Test.java:5320:10:5320:31 | newArrayList(...) : ArrayList [] : Object | provenance | MaD:301 | +| Test.java:5321:20:5321:22 | out : ArrayList [] : Object | Test.java:110:19:110:32 | it : ArrayList [] : Object | provenance | | +| Test.java:5321:20:5321:22 | out : ArrayList [] : Object | Test.java:5321:9:5321:23 | getElement(...) | provenance | MaD:555 | +| Test.java:5326:18:5326:49 | (...)... : Object[] [[]] : Object | Test.java:5327:29:5327:30 | in : Object[] [[]] : Object | provenance | | +| Test.java:5326:28:5326:49 | {...} : Object[] [[]] : Object | Test.java:5326:18:5326:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:5326:41:5326:48 | source(...) : Object | Test.java:5326:28:5326:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:5327:10:5327:31 | newArrayList(...) : ArrayList [] : Object | Test.java:5328:20:5328:22 | out : ArrayList [] : Object | provenance | | +| Test.java:5327:29:5327:30 | in : Object[] [[]] : Object | Test.java:5327:10:5327:31 | newArrayList(...) : ArrayList [] : Object | provenance | MaD:302 | +| Test.java:5328:20:5328:22 | out : ArrayList [] : Object | Test.java:110:19:110:32 | it : ArrayList [] : Object | provenance | | +| Test.java:5328:20:5328:22 | out : ArrayList [] : Object | Test.java:5328:9:5328:23 | getElement(...) | provenance | MaD:555 | +| Test.java:5333:18:5333:44 | (...)... : List [] : Object | Test.java:5334:40:5334:41 | in : List [] : Object | provenance | | +| Test.java:5333:28:5333:44 | of(...) : List [] : Object | Test.java:5333:18:5333:44 | (...)... : List [] : Object | provenance | | +| Test.java:5333:36:5333:43 | source(...) : Object | Test.java:5333:28:5333:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5334:10:5334:42 | newCopyOnWriteArrayList(...) : CopyOnWriteArrayList [] : Object | Test.java:5335:20:5335:22 | out : CopyOnWriteArrayList [] : Object | provenance | | +| Test.java:5334:40:5334:41 | in : List [] : Object | Test.java:5334:10:5334:42 | newCopyOnWriteArrayList(...) : CopyOnWriteArrayList [] : Object | provenance | MaD:303 | +| Test.java:5335:20:5335:22 | out : CopyOnWriteArrayList [] : Object | Test.java:110:19:110:32 | it : CopyOnWriteArrayList [] : Object | provenance | | +| Test.java:5335:20:5335:22 | out : CopyOnWriteArrayList [] : Object | Test.java:5335:9:5335:23 | getElement(...) | provenance | MaD:555 | +| Test.java:5340:18:5340:44 | (...)... : List [] : Object | Test.java:5341:30:5341:31 | in : List [] : Object | provenance | | +| Test.java:5340:28:5340:44 | of(...) : List [] : Object | Test.java:5340:18:5340:44 | (...)... : List [] : Object | provenance | | +| Test.java:5340:36:5340:43 | source(...) : Object | Test.java:5340:28:5340:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5341:10:5341:32 | newLinkedList(...) : LinkedList [] : Object | Test.java:5342:20:5342:22 | out : LinkedList [] : Object | provenance | | +| Test.java:5341:30:5341:31 | in : List [] : Object | Test.java:5341:10:5341:32 | newLinkedList(...) : LinkedList [] : Object | provenance | MaD:304 | +| Test.java:5342:20:5342:22 | out : LinkedList [] : Object | Test.java:110:19:110:32 | it : LinkedList [] : Object | provenance | | +| Test.java:5342:20:5342:22 | out : LinkedList [] : Object | Test.java:5342:9:5342:23 | getElement(...) | provenance | MaD:555 | +| Test.java:5347:14:5347:36 | (...)... : List [] : Object | Test.java:5348:26:5348:27 | in : List [] : Object | provenance | | +| Test.java:5347:20:5347:36 | of(...) : List [] : Object | Test.java:5347:14:5347:36 | (...)... : List [] : Object | provenance | | +| Test.java:5347:28:5347:35 | source(...) : Object | Test.java:5347:20:5347:36 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5348:10:5348:31 | partition(...) : List [, ] : Object | Test.java:5349:31:5349:33 | out : List [, ] : Object | provenance | | +| Test.java:5348:26:5348:27 | in : List [] : Object | Test.java:5348:10:5348:31 | partition(...) : List [, ] : Object | provenance | MaD:305 | +| Test.java:5349:20:5349:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:5349:20:5349:34 | getElement(...) : List [] : Object | Test.java:5349:9:5349:35 | getElement(...) | provenance | MaD:555 | +| Test.java:5349:31:5349:33 | out : List [, ] : Object | Test.java:5349:20:5349:34 | getElement(...) : List [] : Object | provenance | MaD:555 | +| Test.java:5354:14:5354:36 | (...)... : List [] : Object | Test.java:5355:24:5355:25 | in : List [] : Object | provenance | | +| Test.java:5354:20:5354:36 | of(...) : List [] : Object | Test.java:5354:14:5354:36 | (...)... : List [] : Object | provenance | | +| Test.java:5354:28:5354:35 | source(...) : Object | Test.java:5354:20:5354:36 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5355:10:5355:26 | reverse(...) : List [] : Object | Test.java:5356:20:5356:22 | out : List [] : Object | provenance | | +| Test.java:5355:24:5355:25 | in : List [] : Object | Test.java:5355:10:5355:26 | reverse(...) : List [] : Object | provenance | MaD:306 | +| Test.java:5356:20:5356:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:5356:20:5356:22 | out : List [] : Object | Test.java:5356:9:5356:23 | getElement(...) | provenance | MaD:555 | +| Test.java:5361:39:5361:106 | (...)... : ValueDifference [com.google.common.collect.MapDifference.left] : Object | Test.java:5362:10:5362:11 | in : ValueDifference [com.google.common.collect.MapDifference.left] : Object | provenance | | +| Test.java:5361:70:5361:106 | newMapValueDifference(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | Test.java:5361:39:5361:106 | (...)... : ValueDifference [com.google.common.collect.MapDifference.left] : Object | provenance | | +| Test.java:5361:92:5361:99 | source(...) : Object | Test.java:114:58:114:60 | l : Object | provenance | | +| Test.java:5361:92:5361:99 | source(...) : Object | Test.java:5361:70:5361:106 | newMapValueDifference(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | provenance | MaD:564 | +| Test.java:5362:10:5362:11 | in : ValueDifference [com.google.common.collect.MapDifference.left] : Object | Test.java:5362:10:5362:23 | leftValue(...) : Object | provenance | MaD:319 | +| Test.java:5362:10:5362:23 | leftValue(...) : Object | Test.java:5363:9:5363:11 | out | provenance | | +| Test.java:5368:39:5368:106 | (...)... : ValueDifference [com.google.common.collect.MapDifference.right] : Object | Test.java:5369:10:5369:11 | in : ValueDifference [com.google.common.collect.MapDifference.right] : Object | provenance | | +| Test.java:5368:70:5368:106 | newMapValueDifference(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | Test.java:5368:39:5368:106 | (...)... : ValueDifference [com.google.common.collect.MapDifference.right] : Object | provenance | | +| Test.java:5368:98:5368:105 | source(...) : Object | Test.java:114:63:114:65 | r : Object | provenance | | +| Test.java:5368:98:5368:105 | source(...) : Object | Test.java:5368:70:5368:106 | newMapValueDifference(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | provenance | MaD:564 | +| Test.java:5369:10:5369:11 | in : ValueDifference [com.google.common.collect.MapDifference.right] : Object | Test.java:5369:10:5369:24 | rightValue(...) : Object | provenance | MaD:320 | +| Test.java:5369:10:5369:24 | rightValue(...) : Object | Test.java:5370:9:5370:11 | out | provenance | | +| Test.java:5375:29:5375:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | Test.java:5376:10:5376:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | provenance | | +| Test.java:5375:50:5375:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | Test.java:5375:29:5375:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | provenance | | +| Test.java:5375:66:5375:114 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5375:50:5375:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | provenance | MaD:332 | +| Test.java:5375:88:5375:107 | (...)... : Comparable | Test.java:5375:66:5375:114 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5375:100:5375:107 | source(...) : Object | Test.java:5375:88:5375:107 | (...)... : Comparable | provenance | | +| Test.java:5376:10:5376:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | Test.java:5376:10:5376:30 | entriesDiffering(...) : SortedMap [] : Comparable | provenance | MaD:307 | +| Test.java:5376:10:5376:30 | entriesDiffering(...) : SortedMap [] : Comparable | Test.java:5377:19:5377:21 | out : SortedMap [] : Comparable | provenance | | +| Test.java:5377:19:5377:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | provenance | | +| Test.java:5377:19:5377:21 | out : SortedMap [] : Comparable | Test.java:5377:9:5377:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5382:23:5382:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5383:10:5383:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5382:38:5382:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5382:23:5382:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5382:54:5382:75 | of(...) : Map [] : Object | Test.java:5382:38:5382:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | MaD:324 | +| Test.java:5382:61:5382:68 | source(...) : Object | Test.java:5382:54:5382:75 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:5383:10:5383:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5383:10:5383:30 | entriesDiffering(...) : Map [] : Object | provenance | MaD:307 | +| Test.java:5383:10:5383:30 | entriesDiffering(...) : Map [] : Object | Test.java:5384:19:5384:21 | out : Map [] : Object | provenance | | +| Test.java:5384:19:5384:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5384:19:5384:21 | out : Map [] : Object | Test.java:5384:9:5384:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5389:29:5389:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | Test.java:5390:10:5390:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | provenance | | +| Test.java:5389:50:5389:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | Test.java:5389:29:5389:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | provenance | | +| Test.java:5389:72:5389:120 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5389:50:5389:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | provenance | MaD:334 | +| Test.java:5389:94:5389:113 | (...)... : Comparable | Test.java:5389:72:5389:120 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5389:106:5389:113 | source(...) : Object | Test.java:5389:94:5389:113 | (...)... : Comparable | provenance | | +| Test.java:5390:10:5390:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | Test.java:5390:10:5390:30 | entriesDiffering(...) : SortedMap [] : Comparable | provenance | MaD:309 | +| Test.java:5390:10:5390:30 | entriesDiffering(...) : SortedMap [] : Comparable | Test.java:5391:19:5391:21 | out : SortedMap [] : Comparable | provenance | | +| Test.java:5391:19:5391:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | provenance | | +| Test.java:5391:19:5391:21 | out : SortedMap [] : Comparable | Test.java:5391:9:5391:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5396:23:5396:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5397:10:5397:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5396:38:5396:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5396:23:5396:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5396:60:5396:81 | of(...) : Map [] : Object | Test.java:5396:38:5396:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | MaD:334 | +| Test.java:5396:67:5396:74 | source(...) : Object | Test.java:5396:60:5396:81 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:5397:10:5397:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5397:10:5397:30 | entriesDiffering(...) : Map [] : Object | provenance | MaD:309 | +| Test.java:5397:10:5397:30 | entriesDiffering(...) : Map [] : Object | Test.java:5398:19:5398:21 | out : Map [] : Object | provenance | | +| Test.java:5398:19:5398:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5398:19:5398:21 | out : Map [] : Object | Test.java:5398:9:5398:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5403:29:5403:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5404:10:5404:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5403:50:5403:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5403:29:5403:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5403:66:5403:114 | of(...) : ImmutableSortedMap [] : Object | Test.java:5403:50:5403:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | MaD:333 | +| Test.java:5403:106:5403:113 | source(...) : Object | Test.java:5403:66:5403:114 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:166 | +| Test.java:5404:10:5404:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5404:10:5404:30 | entriesDiffering(...) : SortedMap [, com.google.common.collect.MapDifference.left] : Object | provenance | MaD:308 | +| Test.java:5404:10:5404:30 | entriesDiffering(...) : SortedMap [, com.google.common.collect.MapDifference.left] : Object | Test.java:5405:21:5405:23 | out : SortedMap [, com.google.common.collect.MapDifference.left] : Object | provenance | | +| Test.java:5405:9:5405:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | Test.java:5405:9:5405:36 | leftValue(...) | provenance | MaD:319 | +| Test.java:5405:21:5405:23 | out : SortedMap [, com.google.common.collect.MapDifference.left] : Object | Test.java:5405:9:5405:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | provenance | MaD:561 | +| Test.java:5410:23:5410:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5411:10:5411:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5410:38:5410:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5410:23:5410:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5410:54:5410:75 | of(...) : Map [] : Object | Test.java:5410:38:5410:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | MaD:325 | +| Test.java:5410:67:5410:74 | source(...) : Object | Test.java:5410:54:5410:75 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:5411:10:5411:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5411:10:5411:30 | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.left] : Object | provenance | MaD:308 | +| Test.java:5411:10:5411:30 | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.left] : Object | Test.java:5412:21:5412:23 | out : Map [, com.google.common.collect.MapDifference.left] : Object | provenance | | +| Test.java:5412:9:5412:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | Test.java:5412:9:5412:36 | leftValue(...) | provenance | MaD:319 | +| Test.java:5412:21:5412:23 | out : Map [, com.google.common.collect.MapDifference.left] : Object | Test.java:5412:9:5412:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | provenance | MaD:561 | +| Test.java:5417:29:5417:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5418:10:5418:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5417:50:5417:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5417:29:5417:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5417:72:5417:120 | of(...) : ImmutableSortedMap [] : Object | Test.java:5417:50:5417:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | MaD:335 | +| Test.java:5417:112:5417:119 | source(...) : Object | Test.java:5417:72:5417:120 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:166 | +| Test.java:5418:10:5418:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5418:10:5418:30 | entriesDiffering(...) : SortedMap [, com.google.common.collect.MapDifference.right] : Object | provenance | MaD:310 | +| Test.java:5418:10:5418:30 | entriesDiffering(...) : SortedMap [, com.google.common.collect.MapDifference.right] : Object | Test.java:5419:21:5419:23 | out : SortedMap [, com.google.common.collect.MapDifference.right] : Object | provenance | | +| Test.java:5419:9:5419:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | Test.java:5419:9:5419:37 | rightValue(...) | provenance | MaD:320 | +| Test.java:5419:21:5419:23 | out : SortedMap [, com.google.common.collect.MapDifference.right] : Object | Test.java:5419:9:5419:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | provenance | MaD:561 | +| Test.java:5424:23:5424:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5425:10:5425:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5424:38:5424:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5424:23:5424:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5424:60:5424:81 | of(...) : Map [] : Object | Test.java:5424:38:5424:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | MaD:335 | +| Test.java:5424:73:5424:80 | source(...) : Object | Test.java:5424:60:5424:81 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:5425:10:5425:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5425:10:5425:30 | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.right] : Object | provenance | MaD:310 | +| Test.java:5425:10:5425:30 | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.right] : Object | Test.java:5426:21:5426:23 | out : Map [, com.google.common.collect.MapDifference.right] : Object | provenance | | +| Test.java:5426:9:5426:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | Test.java:5426:9:5426:37 | rightValue(...) | provenance | MaD:320 | +| Test.java:5426:21:5426:23 | out : Map [, com.google.common.collect.MapDifference.right] : Object | Test.java:5426:9:5426:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | provenance | MaD:561 | +| Test.java:5431:29:5431:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | Test.java:5432:10:5432:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | provenance | | +| Test.java:5431:50:5431:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | Test.java:5431:29:5431:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | provenance | | +| Test.java:5431:66:5431:114 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5431:50:5431:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | provenance | MaD:332 | +| Test.java:5431:88:5431:107 | (...)... : Comparable | Test.java:5431:66:5431:114 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5431:100:5431:107 | source(...) : Object | Test.java:5431:88:5431:107 | (...)... : Comparable | provenance | | +| Test.java:5432:10:5432:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | Test.java:5432:10:5432:29 | entriesInCommon(...) : SortedMap [] : Comparable | provenance | MaD:311 | +| Test.java:5432:10:5432:29 | entriesInCommon(...) : SortedMap [] : Comparable | Test.java:5433:19:5433:21 | out : SortedMap [] : Comparable | provenance | | +| Test.java:5433:19:5433:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | provenance | | +| Test.java:5433:19:5433:21 | out : SortedMap [] : Comparable | Test.java:5433:9:5433:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5438:23:5438:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5439:10:5439:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5438:38:5438:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5438:23:5438:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5438:54:5438:75 | of(...) : Map [] : Object | Test.java:5438:38:5438:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | MaD:324 | +| Test.java:5438:61:5438:68 | source(...) : Object | Test.java:5438:54:5438:75 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:5439:10:5439:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5439:10:5439:29 | entriesInCommon(...) : Map [] : Object | provenance | MaD:311 | +| Test.java:5439:10:5439:29 | entriesInCommon(...) : Map [] : Object | Test.java:5440:19:5440:21 | out : Map [] : Object | provenance | | +| Test.java:5440:19:5440:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5440:19:5440:21 | out : Map [] : Object | Test.java:5440:9:5440:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5445:29:5445:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | Test.java:5446:10:5446:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | provenance | | +| Test.java:5445:50:5445:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | Test.java:5445:29:5445:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | provenance | | +| Test.java:5445:72:5445:120 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5445:50:5445:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | provenance | MaD:334 | +| Test.java:5445:94:5445:113 | (...)... : Comparable | Test.java:5445:72:5445:120 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5445:106:5445:113 | source(...) : Object | Test.java:5445:94:5445:113 | (...)... : Comparable | provenance | | +| Test.java:5446:10:5446:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | Test.java:5446:10:5446:29 | entriesInCommon(...) : SortedMap [] : Comparable | provenance | MaD:313 | +| Test.java:5446:10:5446:29 | entriesInCommon(...) : SortedMap [] : Comparable | Test.java:5447:19:5447:21 | out : SortedMap [] : Comparable | provenance | | +| Test.java:5447:19:5447:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | provenance | | +| Test.java:5447:19:5447:21 | out : SortedMap [] : Comparable | Test.java:5447:9:5447:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5452:23:5452:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5453:10:5453:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5452:38:5452:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5452:23:5452:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5452:60:5452:81 | of(...) : Map [] : Object | Test.java:5452:38:5452:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | MaD:334 | +| Test.java:5452:67:5452:74 | source(...) : Object | Test.java:5452:60:5452:81 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:5453:10:5453:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5453:10:5453:29 | entriesInCommon(...) : Map [] : Object | provenance | MaD:313 | +| Test.java:5453:10:5453:29 | entriesInCommon(...) : Map [] : Object | Test.java:5454:19:5454:21 | out : Map [] : Object | provenance | | +| Test.java:5454:19:5454:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5454:19:5454:21 | out : Map [] : Object | Test.java:5454:9:5454:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5459:29:5459:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5460:10:5460:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5459:50:5459:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5459:29:5459:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5459:66:5459:114 | of(...) : ImmutableSortedMap [] : Object | Test.java:5459:50:5459:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | MaD:333 | +| Test.java:5459:106:5459:113 | source(...) : Object | Test.java:5459:66:5459:114 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:166 | +| Test.java:5460:10:5460:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5460:10:5460:29 | entriesInCommon(...) : SortedMap [] : Object | provenance | MaD:312 | +| Test.java:5460:10:5460:29 | entriesInCommon(...) : SortedMap [] : Object | Test.java:5461:21:5461:23 | out : SortedMap [] : Object | provenance | | +| Test.java:5461:21:5461:23 | out : SortedMap [] : Object | Test.java:118:20:118:31 | map : SortedMap [] : Object | provenance | | +| Test.java:5461:21:5461:23 | out : SortedMap [] : Object | Test.java:5461:9:5461:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5466:23:5466:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5467:10:5467:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5466:38:5466:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5466:23:5466:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5466:54:5466:75 | of(...) : Map [] : Object | Test.java:5466:38:5466:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | MaD:325 | +| Test.java:5466:67:5466:74 | source(...) : Object | Test.java:5466:54:5466:75 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:5467:10:5467:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5467:10:5467:29 | entriesInCommon(...) : Map [] : Object | provenance | MaD:312 | +| Test.java:5467:10:5467:29 | entriesInCommon(...) : Map [] : Object | Test.java:5468:21:5468:23 | out : Map [] : Object | provenance | | +| Test.java:5468:21:5468:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:5468:21:5468:23 | out : Map [] : Object | Test.java:5468:9:5468:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5473:29:5473:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5474:10:5474:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5473:50:5473:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5473:29:5473:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5473:72:5473:120 | of(...) : ImmutableSortedMap [] : Object | Test.java:5473:50:5473:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | MaD:335 | +| Test.java:5473:112:5473:119 | source(...) : Object | Test.java:5473:72:5473:120 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:166 | +| Test.java:5474:10:5474:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5474:10:5474:29 | entriesInCommon(...) : SortedMap [] : Object | provenance | MaD:314 | +| Test.java:5474:10:5474:29 | entriesInCommon(...) : SortedMap [] : Object | Test.java:5475:21:5475:23 | out : SortedMap [] : Object | provenance | | +| Test.java:5475:21:5475:23 | out : SortedMap [] : Object | Test.java:118:20:118:31 | map : SortedMap [] : Object | provenance | | +| Test.java:5475:21:5475:23 | out : SortedMap [] : Object | Test.java:5475:9:5475:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5480:23:5480:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5481:10:5481:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5480:38:5480:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5480:23:5480:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5480:60:5480:81 | of(...) : Map [] : Object | Test.java:5480:38:5480:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | MaD:335 | +| Test.java:5480:73:5480:80 | source(...) : Object | Test.java:5480:60:5480:81 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:5481:10:5481:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5481:10:5481:29 | entriesInCommon(...) : Map [] : Object | provenance | MaD:314 | +| Test.java:5481:10:5481:29 | entriesInCommon(...) : Map [] : Object | Test.java:5482:21:5482:23 | out : Map [] : Object | provenance | | +| Test.java:5482:21:5482:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:5482:21:5482:23 | out : Map [] : Object | Test.java:5482:9:5482:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5487:29:5487:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | Test.java:5488:10:5488:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | provenance | | +| Test.java:5487:50:5487:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | Test.java:5487:29:5487:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | provenance | | +| Test.java:5487:66:5487:114 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5487:50:5487:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | provenance | MaD:332 | +| Test.java:5487:88:5487:107 | (...)... : Comparable | Test.java:5487:66:5487:114 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5487:100:5487:107 | source(...) : Object | Test.java:5487:88:5487:107 | (...)... : Comparable | provenance | | +| Test.java:5488:10:5488:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | Test.java:5488:10:5488:31 | entriesOnlyOnLeft(...) : SortedMap [] : Comparable | provenance | MaD:315 | +| Test.java:5488:10:5488:31 | entriesOnlyOnLeft(...) : SortedMap [] : Comparable | Test.java:5489:19:5489:21 | out : SortedMap [] : Comparable | provenance | | +| Test.java:5489:19:5489:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | provenance | | +| Test.java:5489:19:5489:21 | out : SortedMap [] : Comparable | Test.java:5489:9:5489:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5494:23:5494:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5495:10:5495:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5494:38:5494:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5494:23:5494:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5494:54:5494:75 | of(...) : Map [] : Object | Test.java:5494:38:5494:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | MaD:324 | +| Test.java:5494:61:5494:68 | source(...) : Object | Test.java:5494:54:5494:75 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:5495:10:5495:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5495:10:5495:31 | entriesOnlyOnLeft(...) : Map [] : Object | provenance | MaD:315 | +| Test.java:5495:10:5495:31 | entriesOnlyOnLeft(...) : Map [] : Object | Test.java:5496:19:5496:21 | out : Map [] : Object | provenance | | +| Test.java:5496:19:5496:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5496:19:5496:21 | out : Map [] : Object | Test.java:5496:9:5496:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5501:29:5501:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5502:10:5502:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5501:50:5501:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5501:29:5501:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5501:66:5501:114 | of(...) : ImmutableSortedMap [] : Object | Test.java:5501:50:5501:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | MaD:333 | +| Test.java:5501:106:5501:113 | source(...) : Object | Test.java:5501:66:5501:114 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:166 | +| Test.java:5502:10:5502:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5502:10:5502:31 | entriesOnlyOnLeft(...) : SortedMap [] : Object | provenance | MaD:316 | +| Test.java:5502:10:5502:31 | entriesOnlyOnLeft(...) : SortedMap [] : Object | Test.java:5503:21:5503:23 | out : SortedMap [] : Object | provenance | | +| Test.java:5503:21:5503:23 | out : SortedMap [] : Object | Test.java:118:20:118:31 | map : SortedMap [] : Object | provenance | | +| Test.java:5503:21:5503:23 | out : SortedMap [] : Object | Test.java:5503:9:5503:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5508:23:5508:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5509:10:5509:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5508:38:5508:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5508:23:5508:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5508:54:5508:75 | of(...) : Map [] : Object | Test.java:5508:38:5508:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | MaD:325 | +| Test.java:5508:67:5508:74 | source(...) : Object | Test.java:5508:54:5508:75 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:5509:10:5509:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5509:10:5509:31 | entriesOnlyOnLeft(...) : Map [] : Object | provenance | MaD:316 | +| Test.java:5509:10:5509:31 | entriesOnlyOnLeft(...) : Map [] : Object | Test.java:5510:21:5510:23 | out : Map [] : Object | provenance | | +| Test.java:5510:21:5510:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:5510:21:5510:23 | out : Map [] : Object | Test.java:5510:9:5510:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5515:29:5515:120 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | Test.java:5516:10:5516:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | provenance | | +| Test.java:5515:50:5515:120 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | Test.java:5515:29:5515:120 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | provenance | | +| Test.java:5515:72:5515:119 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5515:50:5515:120 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | provenance | MaD:334 | +| Test.java:5515:94:5515:113 | (...)... : Comparable | Test.java:5515:72:5515:119 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5515:106:5515:113 | source(...) : Object | Test.java:5515:94:5515:113 | (...)... : Comparable | provenance | | +| Test.java:5516:10:5516:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | Test.java:5516:10:5516:32 | entriesOnlyOnRight(...) : SortedMap [] : Comparable | provenance | MaD:317 | +| Test.java:5516:10:5516:32 | entriesOnlyOnRight(...) : SortedMap [] : Comparable | Test.java:5517:19:5517:21 | out : SortedMap [] : Comparable | provenance | | +| Test.java:5517:19:5517:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | provenance | | +| Test.java:5517:19:5517:21 | out : SortedMap [] : Comparable | Test.java:5517:9:5517:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5522:23:5522:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5523:10:5523:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5522:38:5522:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5522:23:5522:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5522:60:5522:81 | of(...) : Map [] : Object | Test.java:5522:38:5522:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | MaD:334 | +| Test.java:5522:67:5522:74 | source(...) : Object | Test.java:5522:60:5522:81 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:5523:10:5523:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5523:10:5523:32 | entriesOnlyOnRight(...) : Map [] : Object | provenance | MaD:317 | +| Test.java:5523:10:5523:32 | entriesOnlyOnRight(...) : Map [] : Object | Test.java:5524:19:5524:21 | out : Map [] : Object | provenance | | +| Test.java:5524:19:5524:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5524:19:5524:21 | out : Map [] : Object | Test.java:5524:9:5524:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5529:29:5529:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5530:10:5530:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5529:50:5529:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5529:29:5529:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5529:72:5529:120 | of(...) : ImmutableSortedMap [] : Object | Test.java:5529:50:5529:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | MaD:335 | +| Test.java:5529:112:5529:119 | source(...) : Object | Test.java:5529:72:5529:120 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:166 | +| Test.java:5530:10:5530:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5530:10:5530:32 | entriesOnlyOnRight(...) : SortedMap [] : Object | provenance | MaD:318 | +| Test.java:5530:10:5530:32 | entriesOnlyOnRight(...) : SortedMap [] : Object | Test.java:5531:21:5531:23 | out : SortedMap [] : Object | provenance | | +| Test.java:5531:21:5531:23 | out : SortedMap [] : Object | Test.java:118:20:118:31 | map : SortedMap [] : Object | provenance | | +| Test.java:5531:21:5531:23 | out : SortedMap [] : Object | Test.java:5531:9:5531:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5536:23:5536:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5537:10:5537:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5536:38:5536:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5536:23:5536:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5536:60:5536:81 | of(...) : Map [] : Object | Test.java:5536:38:5536:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | MaD:335 | +| Test.java:5536:73:5536:80 | source(...) : Object | Test.java:5536:60:5536:81 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:5537:10:5537:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5537:10:5537:32 | entriesOnlyOnRight(...) : Map [] : Object | provenance | MaD:318 | +| Test.java:5537:10:5537:32 | entriesOnlyOnRight(...) : Map [] : Object | Test.java:5538:21:5538:23 | out : Map [] : Object | provenance | | +| Test.java:5538:21:5538:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:5538:21:5538:23 | out : Map [] : Object | Test.java:5538:9:5538:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5543:22:5543:78 | (...)... : ImmutableSortedSet [] : Comparable | Test.java:5544:21:5544:22 | in : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:5543:36:5543:78 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:5543:22:5543:78 | (...)... : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:5543:58:5543:77 | (...)... : Comparable | Test.java:5543:36:5543:78 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:5543:70:5543:77 | source(...) : Object | Test.java:5543:58:5543:77 | (...)... : Comparable | provenance | | +| Test.java:5544:10:5544:39 | asMap(...) : NavigableMap [] : Comparable | Test.java:5545:19:5545:21 | out : NavigableMap [] : Comparable | provenance | | +| Test.java:5544:21:5544:22 | in : ImmutableSortedSet [] : Comparable | Test.java:5544:10:5544:39 | asMap(...) : NavigableMap [] : Comparable | provenance | MaD:321 | +| Test.java:5545:19:5545:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | provenance | | +| Test.java:5545:19:5545:21 | out : NavigableMap [] : Comparable | Test.java:5545:9:5545:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5550:13:5550:33 | (...)... : Set [] : Object | Test.java:5551:21:5551:22 | in : Set [] : Object | provenance | | +| Test.java:5550:18:5550:33 | of(...) : Set [] : Object | Test.java:5550:13:5550:33 | (...)... : Set [] : Object | provenance | | +| Test.java:5550:25:5550:32 | source(...) : Object | Test.java:5550:18:5550:33 | of(...) : Set [] : Object | provenance | MaD:567 | +| Test.java:5551:10:5551:39 | asMap(...) : Map [] : Object | Test.java:5552:19:5552:21 | out : Map [] : Object | provenance | | +| Test.java:5551:21:5551:22 | in : Set [] : Object | Test.java:5551:10:5551:39 | asMap(...) : Map [] : Object | provenance | MaD:322 | +| Test.java:5552:19:5552:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5552:19:5552:21 | out : Map [] : Object | Test.java:5552:9:5552:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5557:19:5557:72 | (...)... : ImmutableSortedSet [] : Comparable | Test.java:5558:21:5558:22 | in : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:5557:30:5557:72 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:5557:19:5557:72 | (...)... : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:5557:52:5557:71 | (...)... : Comparable | Test.java:5557:30:5557:72 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:5557:64:5557:71 | source(...) : Object | Test.java:5557:52:5557:71 | (...)... : Comparable | provenance | | +| Test.java:5558:10:5558:39 | asMap(...) : SortedMap [] : Comparable | Test.java:5559:19:5559:21 | out : SortedMap [] : Comparable | provenance | | +| Test.java:5558:21:5558:22 | in : ImmutableSortedSet [] : Comparable | Test.java:5558:10:5558:39 | asMap(...) : SortedMap [] : Comparable | provenance | MaD:323 | +| Test.java:5559:19:5559:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | provenance | | +| Test.java:5559:19:5559:21 | out : SortedMap [] : Comparable | Test.java:5559:9:5559:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5564:13:5564:39 | (...)... : Map [] : Object | Test.java:5565:26:5565:27 | in : Map [] : Object | provenance | | +| Test.java:5564:18:5564:39 | of(...) : Map [] : Object | Test.java:5564:13:5564:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5564:25:5564:32 | source(...) : Object | Test.java:5564:18:5564:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:5565:10:5565:39 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5566:19:5566:21 | out : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5565:26:5565:27 | in : Map [] : Object | Test.java:5565:10:5565:39 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | MaD:324 | +| Test.java:5566:19:5566:21 | out : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5566:19:5566:41 | entriesOnlyOnLeft(...) : Map [] : Object | provenance | MaD:315 | +| Test.java:5566:19:5566:41 | entriesOnlyOnLeft(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5566:19:5566:41 | entriesOnlyOnLeft(...) : Map [] : Object | Test.java:5566:9:5566:42 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5571:13:5571:39 | (...)... : Map [] : Object | Test.java:5572:37:5572:38 | in : Map [] : Object | provenance | | +| Test.java:5571:18:5571:39 | of(...) : Map [] : Object | Test.java:5571:13:5571:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5571:25:5571:32 | source(...) : Object | Test.java:5571:18:5571:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:5572:10:5572:39 | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5573:19:5573:21 | out : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5572:37:5572:38 | in : Map [] : Object | Test.java:5572:10:5572:39 | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | MaD:326 | +| Test.java:5573:19:5573:21 | out : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5573:19:5573:42 | entriesOnlyOnRight(...) : Map [] : Object | provenance | MaD:317 | +| Test.java:5573:19:5573:42 | entriesOnlyOnRight(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5573:19:5573:42 | entriesOnlyOnRight(...) : Map [] : Object | Test.java:5573:9:5573:43 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5578:13:5578:39 | (...)... : Map [] : Object | Test.java:5579:26:5579:27 | in : Map [] : Object | provenance | | +| Test.java:5578:18:5578:39 | of(...) : Map [] : Object | Test.java:5578:13:5578:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5578:31:5578:38 | source(...) : Object | Test.java:5578:18:5578:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:5579:10:5579:39 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5580:21:5580:23 | out : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5579:26:5579:27 | in : Map [] : Object | Test.java:5579:10:5579:39 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | MaD:325 | +| Test.java:5580:21:5580:23 | out : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5580:21:5580:43 | entriesOnlyOnLeft(...) : Map [] : Object | provenance | MaD:316 | +| Test.java:5580:21:5580:43 | entriesOnlyOnLeft(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:5580:21:5580:43 | entriesOnlyOnLeft(...) : Map [] : Object | Test.java:5580:9:5580:44 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5585:13:5585:39 | (...)... : Map [] : Object | Test.java:5586:37:5586:38 | in : Map [] : Object | provenance | | +| Test.java:5585:18:5585:39 | of(...) : Map [] : Object | Test.java:5585:13:5585:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5585:31:5585:38 | source(...) : Object | Test.java:5585:18:5585:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:5586:10:5586:39 | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5587:21:5587:23 | out : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5586:37:5586:38 | in : Map [] : Object | Test.java:5586:10:5586:39 | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | MaD:327 | +| Test.java:5587:21:5587:23 | out : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5587:21:5587:44 | entriesOnlyOnRight(...) : Map [] : Object | provenance | MaD:318 | +| Test.java:5587:21:5587:44 | entriesOnlyOnRight(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:5587:21:5587:44 | entriesOnlyOnRight(...) : Map [] : Object | Test.java:5587:9:5587:45 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5592:13:5592:39 | (...)... : Map [] : Object | Test.java:5593:26:5593:27 | in : Map [] : Object | provenance | | +| Test.java:5592:18:5592:39 | of(...) : Map [] : Object | Test.java:5592:13:5592:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5592:25:5592:32 | source(...) : Object | Test.java:5592:18:5592:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:5593:10:5593:40 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5594:19:5594:21 | out : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5593:26:5593:27 | in : Map [] : Object | Test.java:5593:10:5593:40 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | MaD:328 | +| Test.java:5594:19:5594:21 | out : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5594:19:5594:41 | entriesOnlyOnLeft(...) : Map [] : Object | provenance | MaD:315 | +| Test.java:5594:19:5594:41 | entriesOnlyOnLeft(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5594:19:5594:41 | entriesOnlyOnLeft(...) : Map [] : Object | Test.java:5594:9:5594:42 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5599:13:5599:39 | (...)... : Map [] : Object | Test.java:5600:32:5600:33 | in : Map [] : Object | provenance | | +| Test.java:5599:18:5599:39 | of(...) : Map [] : Object | Test.java:5599:13:5599:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5599:25:5599:32 | source(...) : Object | Test.java:5599:18:5599:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:5600:10:5600:40 | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5601:19:5601:21 | out : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5600:32:5600:33 | in : Map [] : Object | Test.java:5600:10:5600:40 | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | MaD:330 | +| Test.java:5601:19:5601:21 | out : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5601:19:5601:42 | entriesOnlyOnRight(...) : Map [] : Object | provenance | MaD:317 | +| Test.java:5601:19:5601:42 | entriesOnlyOnRight(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5601:19:5601:42 | entriesOnlyOnRight(...) : Map [] : Object | Test.java:5601:9:5601:43 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5606:13:5606:39 | (...)... : Map [] : Object | Test.java:5607:26:5607:27 | in : Map [] : Object | provenance | | +| Test.java:5606:18:5606:39 | of(...) : Map [] : Object | Test.java:5606:13:5606:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5606:31:5606:38 | source(...) : Object | Test.java:5606:18:5606:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:5607:10:5607:40 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5608:21:5608:23 | out : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5607:26:5607:27 | in : Map [] : Object | Test.java:5607:10:5607:40 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | MaD:329 | +| Test.java:5608:21:5608:23 | out : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5608:21:5608:43 | entriesOnlyOnLeft(...) : Map [] : Object | provenance | MaD:316 | +| Test.java:5608:21:5608:43 | entriesOnlyOnLeft(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:5608:21:5608:43 | entriesOnlyOnLeft(...) : Map [] : Object | Test.java:5608:9:5608:44 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5613:13:5613:39 | (...)... : Map [] : Object | Test.java:5614:32:5614:33 | in : Map [] : Object | provenance | | +| Test.java:5613:18:5613:39 | of(...) : Map [] : Object | Test.java:5613:13:5613:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5613:31:5613:38 | source(...) : Object | Test.java:5613:18:5613:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:5614:10:5614:40 | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5615:21:5615:23 | out : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5614:32:5614:33 | in : Map [] : Object | Test.java:5614:10:5614:40 | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | MaD:331 | +| Test.java:5615:21:5615:23 | out : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5615:21:5615:44 | entriesOnlyOnRight(...) : Map [] : Object | provenance | MaD:318 | +| Test.java:5615:21:5615:44 | entriesOnlyOnRight(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:5615:21:5615:44 | entriesOnlyOnRight(...) : Map [] : Object | Test.java:5615:9:5615:45 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5620:19:5620:78 | (...)... : ImmutableSortedMap [] : Comparable | Test.java:5621:26:5621:27 | in : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5620:30:5620:78 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5620:19:5620:78 | (...)... : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5620:52:5620:71 | (...)... : Comparable | Test.java:5620:30:5620:78 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5620:64:5620:71 | source(...) : Object | Test.java:5620:52:5620:71 | (...)... : Comparable | provenance | | +| Test.java:5621:10:5621:39 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | Test.java:5622:19:5622:21 | out : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | provenance | | +| Test.java:5621:26:5621:27 | in : ImmutableSortedMap [] : Comparable | Test.java:5621:10:5621:39 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | provenance | MaD:332 | +| Test.java:5622:19:5622:21 | out : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | Test.java:5622:19:5622:41 | entriesOnlyOnLeft(...) : SortedMap [] : Comparable | provenance | MaD:315 | +| Test.java:5622:19:5622:41 | entriesOnlyOnLeft(...) : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | provenance | | +| Test.java:5622:19:5622:41 | entriesOnlyOnLeft(...) : SortedMap [] : Comparable | Test.java:5622:9:5622:42 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5627:13:5627:39 | (...)... : Map [] : Object | Test.java:5628:43:5628:44 | in : Map [] : Object | provenance | | +| Test.java:5627:18:5627:39 | of(...) : Map [] : Object | Test.java:5627:13:5627:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5627:25:5627:32 | source(...) : Object | Test.java:5627:18:5627:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:5628:10:5628:45 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5629:19:5629:21 | out : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5628:43:5628:44 | in : Map [] : Object | Test.java:5628:10:5628:45 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | MaD:334 | +| Test.java:5629:19:5629:21 | out : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5629:19:5629:42 | entriesOnlyOnRight(...) : SortedMap [] : Object | provenance | MaD:317 | +| Test.java:5629:19:5629:42 | entriesOnlyOnRight(...) : SortedMap [] : Object | Test.java:99:18:99:29 | map : SortedMap [] : Object | provenance | | +| Test.java:5629:19:5629:42 | entriesOnlyOnRight(...) : SortedMap [] : Object | Test.java:5629:9:5629:43 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5634:19:5634:78 | (...)... : ImmutableSortedMap [] : Object | Test.java:5635:26:5635:27 | in : ImmutableSortedMap [] : Object | provenance | | +| Test.java:5634:30:5634:78 | of(...) : ImmutableSortedMap [] : Object | Test.java:5634:19:5634:78 | (...)... : ImmutableSortedMap [] : Object | provenance | | +| Test.java:5634:70:5634:77 | source(...) : Object | Test.java:5634:30:5634:78 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:166 | +| Test.java:5635:10:5635:39 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5636:21:5636:23 | out : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | +| Test.java:5635:26:5635:27 | in : ImmutableSortedMap [] : Object | Test.java:5635:10:5635:39 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | MaD:333 | +| Test.java:5636:21:5636:23 | out : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5636:21:5636:43 | entriesOnlyOnLeft(...) : SortedMap [] : Object | provenance | MaD:316 | +| Test.java:5636:21:5636:43 | entriesOnlyOnLeft(...) : SortedMap [] : Object | Test.java:118:20:118:31 | map : SortedMap [] : Object | provenance | | +| Test.java:5636:21:5636:43 | entriesOnlyOnLeft(...) : SortedMap [] : Object | Test.java:5636:9:5636:44 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5641:13:5641:39 | (...)... : Map [] : Object | Test.java:5642:43:5642:44 | in : Map [] : Object | provenance | | +| Test.java:5641:18:5641:39 | of(...) : Map [] : Object | Test.java:5641:13:5641:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5641:31:5641:38 | source(...) : Object | Test.java:5641:18:5641:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:5642:10:5642:45 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5643:21:5643:23 | out : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | +| Test.java:5642:43:5642:44 | in : Map [] : Object | Test.java:5642:10:5642:45 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | MaD:335 | +| Test.java:5643:21:5643:23 | out : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5643:21:5643:44 | entriesOnlyOnRight(...) : SortedMap [] : Object | provenance | MaD:318 | +| Test.java:5643:21:5643:44 | entriesOnlyOnRight(...) : SortedMap [] : Object | Test.java:118:20:118:31 | map : SortedMap [] : Object | provenance | | +| Test.java:5643:21:5643:44 | entriesOnlyOnRight(...) : SortedMap [] : Object | Test.java:5643:9:5643:45 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5648:19:5648:78 | (...)... : ImmutableSortedMap [] : Comparable | Test.java:5649:29:5649:30 | in : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5648:30:5648:78 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5648:19:5648:78 | (...)... : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5648:52:5648:71 | (...)... : Comparable | Test.java:5648:30:5648:78 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5648:64:5648:71 | source(...) : Object | Test.java:5648:52:5648:71 | (...)... : Comparable | provenance | | +| Test.java:5649:10:5649:48 | filterEntries(...) : SortedMap [] : Comparable | Test.java:5650:19:5650:21 | out : SortedMap [] : Comparable | provenance | | +| Test.java:5649:29:5649:30 | in : ImmutableSortedMap [] : Comparable | Test.java:5649:10:5649:48 | filterEntries(...) : SortedMap [] : Comparable | provenance | MaD:336 | +| Test.java:5650:19:5650:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | provenance | | +| Test.java:5650:19:5650:21 | out : SortedMap [] : Comparable | Test.java:5650:9:5650:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5655:22:5655:84 | (...)... : ImmutableSortedMap [] : Comparable | Test.java:5656:29:5656:30 | in : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5655:36:5655:84 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5655:22:5655:84 | (...)... : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5655:58:5655:77 | (...)... : Comparable | Test.java:5655:36:5655:84 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5655:70:5655:77 | source(...) : Object | Test.java:5655:58:5655:77 | (...)... : Comparable | provenance | | +| Test.java:5656:10:5656:48 | filterEntries(...) : NavigableMap [] : Comparable | Test.java:5657:19:5657:21 | out : NavigableMap [] : Comparable | provenance | | +| Test.java:5656:29:5656:30 | in : ImmutableSortedMap [] : Comparable | Test.java:5656:10:5656:48 | filterEntries(...) : NavigableMap [] : Comparable | provenance | MaD:336 | +| Test.java:5657:19:5657:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | provenance | | +| Test.java:5657:19:5657:21 | out : NavigableMap [] : Comparable | Test.java:5657:9:5657:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5662:13:5662:39 | (...)... : Map [] : Object | Test.java:5663:29:5663:30 | in : Map [] : Object | provenance | | +| Test.java:5662:18:5662:39 | of(...) : Map [] : Object | Test.java:5662:13:5662:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5662:25:5662:32 | source(...) : Object | Test.java:5662:18:5662:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:5663:10:5663:48 | filterEntries(...) : Map [] : Object | Test.java:5664:19:5664:21 | out : Map [] : Object | provenance | | +| Test.java:5663:29:5663:30 | in : Map [] : Object | Test.java:5663:10:5663:48 | filterEntries(...) : Map [] : Object | provenance | MaD:336 | +| Test.java:5664:19:5664:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5664:19:5664:21 | out : Map [] : Object | Test.java:5664:9:5664:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5669:15:5669:54 | (...)... : ImmutableBiMap [] : Object | Test.java:5670:29:5670:30 | in : ImmutableBiMap [] : Object | provenance | | +| Test.java:5669:22:5669:54 | of(...) : ImmutableBiMap [] : Object | Test.java:5669:15:5669:54 | (...)... : ImmutableBiMap [] : Object | provenance | | +| Test.java:5669:40:5669:47 | source(...) : Object | Test.java:5669:22:5669:54 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:29 | +| Test.java:5670:10:5670:48 | filterEntries(...) : BiMap [] : Object | Test.java:5671:19:5671:21 | out : BiMap [] : Object | provenance | | +| Test.java:5670:29:5670:30 | in : ImmutableBiMap [] : Object | Test.java:5670:10:5670:48 | filterEntries(...) : BiMap [] : Object | provenance | MaD:336 | +| Test.java:5671:19:5671:21 | out : BiMap [] : Object | Test.java:99:18:99:29 | map : BiMap [] : Object | provenance | | +| Test.java:5671:19:5671:21 | out : BiMap [] : Object | Test.java:5671:9:5671:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5676:19:5676:78 | (...)... : ImmutableSortedMap [] : Comparable | Test.java:5677:26:5677:27 | in : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5676:30:5676:78 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5676:19:5676:78 | (...)... : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5676:52:5676:71 | (...)... : Comparable | Test.java:5676:30:5676:78 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5676:64:5676:71 | source(...) : Object | Test.java:5676:52:5676:71 | (...)... : Comparable | provenance | | +| Test.java:5677:10:5677:45 | filterKeys(...) : SortedMap [] : Comparable | Test.java:5678:19:5678:21 | out : SortedMap [] : Comparable | provenance | | +| Test.java:5677:26:5677:27 | in : ImmutableSortedMap [] : Comparable | Test.java:5677:10:5677:45 | filterKeys(...) : SortedMap [] : Comparable | provenance | MaD:337 | +| Test.java:5678:19:5678:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | provenance | | +| Test.java:5678:19:5678:21 | out : SortedMap [] : Comparable | Test.java:5678:9:5678:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5683:22:5683:84 | (...)... : ImmutableSortedMap [] : Comparable | Test.java:5684:26:5684:27 | in : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5683:36:5683:84 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5683:22:5683:84 | (...)... : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5683:58:5683:77 | (...)... : Comparable | Test.java:5683:36:5683:84 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5683:70:5683:77 | source(...) : Object | Test.java:5683:58:5683:77 | (...)... : Comparable | provenance | | +| Test.java:5684:10:5684:45 | filterKeys(...) : NavigableMap [] : Comparable | Test.java:5685:19:5685:21 | out : NavigableMap [] : Comparable | provenance | | +| Test.java:5684:26:5684:27 | in : ImmutableSortedMap [] : Comparable | Test.java:5684:10:5684:45 | filterKeys(...) : NavigableMap [] : Comparable | provenance | MaD:337 | +| Test.java:5685:19:5685:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | provenance | | +| Test.java:5685:19:5685:21 | out : NavigableMap [] : Comparable | Test.java:5685:9:5685:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5690:13:5690:39 | (...)... : Map [] : Object | Test.java:5691:26:5691:27 | in : Map [] : Object | provenance | | +| Test.java:5690:18:5690:39 | of(...) : Map [] : Object | Test.java:5690:13:5690:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5690:25:5690:32 | source(...) : Object | Test.java:5690:18:5690:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:5691:10:5691:45 | filterKeys(...) : Map [] : Object | Test.java:5692:19:5692:21 | out : Map [] : Object | provenance | | +| Test.java:5691:26:5691:27 | in : Map [] : Object | Test.java:5691:10:5691:45 | filterKeys(...) : Map [] : Object | provenance | MaD:337 | +| Test.java:5692:19:5692:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5692:19:5692:21 | out : Map [] : Object | Test.java:5692:9:5692:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5697:15:5697:54 | (...)... : ImmutableBiMap [] : Object | Test.java:5698:26:5698:27 | in : ImmutableBiMap [] : Object | provenance | | +| Test.java:5697:22:5697:54 | of(...) : ImmutableBiMap [] : Object | Test.java:5697:15:5697:54 | (...)... : ImmutableBiMap [] : Object | provenance | | +| Test.java:5697:40:5697:47 | source(...) : Object | Test.java:5697:22:5697:54 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:29 | +| Test.java:5698:10:5698:45 | filterKeys(...) : BiMap [] : Object | Test.java:5699:19:5699:21 | out : BiMap [] : Object | provenance | | +| Test.java:5698:26:5698:27 | in : ImmutableBiMap [] : Object | Test.java:5698:10:5698:45 | filterKeys(...) : BiMap [] : Object | provenance | MaD:337 | +| Test.java:5699:19:5699:21 | out : BiMap [] : Object | Test.java:99:18:99:29 | map : BiMap [] : Object | provenance | | +| Test.java:5699:19:5699:21 | out : BiMap [] : Object | Test.java:5699:9:5699:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5704:19:5704:78 | (...)... : ImmutableSortedMap [] : Comparable | Test.java:5705:28:5705:29 | in : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5704:30:5704:78 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5704:19:5704:78 | (...)... : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5704:52:5704:71 | (...)... : Comparable | Test.java:5704:30:5704:78 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5704:64:5704:71 | source(...) : Object | Test.java:5704:52:5704:71 | (...)... : Comparable | provenance | | +| Test.java:5705:10:5705:47 | filterValues(...) : SortedMap [] : Comparable | Test.java:5706:19:5706:21 | out : SortedMap [] : Comparable | provenance | | +| Test.java:5705:28:5705:29 | in : ImmutableSortedMap [] : Comparable | Test.java:5705:10:5705:47 | filterValues(...) : SortedMap [] : Comparable | provenance | MaD:338 | +| Test.java:5706:19:5706:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | provenance | | +| Test.java:5706:19:5706:21 | out : SortedMap [] : Comparable | Test.java:5706:9:5706:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5711:22:5711:84 | (...)... : ImmutableSortedMap [] : Comparable | Test.java:5712:28:5712:29 | in : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5711:36:5711:84 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5711:22:5711:84 | (...)... : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5711:58:5711:77 | (...)... : Comparable | Test.java:5711:36:5711:84 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5711:70:5711:77 | source(...) : Object | Test.java:5711:58:5711:77 | (...)... : Comparable | provenance | | +| Test.java:5712:10:5712:47 | filterValues(...) : NavigableMap [] : Comparable | Test.java:5713:19:5713:21 | out : NavigableMap [] : Comparable | provenance | | +| Test.java:5712:28:5712:29 | in : ImmutableSortedMap [] : Comparable | Test.java:5712:10:5712:47 | filterValues(...) : NavigableMap [] : Comparable | provenance | MaD:338 | +| Test.java:5713:19:5713:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | provenance | | +| Test.java:5713:19:5713:21 | out : NavigableMap [] : Comparable | Test.java:5713:9:5713:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5718:13:5718:39 | (...)... : Map [] : Object | Test.java:5719:28:5719:29 | in : Map [] : Object | provenance | | +| Test.java:5718:18:5718:39 | of(...) : Map [] : Object | Test.java:5718:13:5718:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5718:25:5718:32 | source(...) : Object | Test.java:5718:18:5718:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:5719:10:5719:47 | filterValues(...) : Map [] : Object | Test.java:5720:19:5720:21 | out : Map [] : Object | provenance | | +| Test.java:5719:28:5719:29 | in : Map [] : Object | Test.java:5719:10:5719:47 | filterValues(...) : Map [] : Object | provenance | MaD:338 | +| Test.java:5720:19:5720:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5720:19:5720:21 | out : Map [] : Object | Test.java:5720:9:5720:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5725:15:5725:54 | (...)... : ImmutableBiMap [] : Object | Test.java:5726:28:5726:29 | in : ImmutableBiMap [] : Object | provenance | | +| Test.java:5725:22:5725:54 | of(...) : ImmutableBiMap [] : Object | Test.java:5725:15:5725:54 | (...)... : ImmutableBiMap [] : Object | provenance | | +| Test.java:5725:40:5725:47 | source(...) : Object | Test.java:5725:22:5725:54 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:29 | +| Test.java:5726:10:5726:47 | filterValues(...) : BiMap [] : Object | Test.java:5727:19:5727:21 | out : BiMap [] : Object | provenance | | +| Test.java:5726:28:5726:29 | in : ImmutableBiMap [] : Object | Test.java:5726:10:5726:47 | filterValues(...) : BiMap [] : Object | provenance | MaD:338 | +| Test.java:5727:19:5727:21 | out : BiMap [] : Object | Test.java:99:18:99:29 | map : BiMap [] : Object | provenance | | +| Test.java:5727:19:5727:21 | out : BiMap [] : Object | Test.java:5727:9:5727:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5732:20:5732:61 | (...)... : Properties [] : Object | Test.java:5733:30:5733:31 | in : Properties [] : Object | provenance | | +| Test.java:5732:32:5732:61 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5732:20:5732:61 | (...)... : Properties [] : Object | provenance | | +| Test.java:5732:53:5732:60 | source(...) : Object | Test.java:5732:32:5732:61 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:569 | +| Test.java:5733:10:5733:32 | fromProperties(...) : ImmutableMap [] : Object | Test.java:5734:19:5734:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:5733:30:5733:31 | in : Properties [] : Object | Test.java:5733:10:5733:32 | fromProperties(...) : ImmutableMap [] : Object | provenance | MaD:339 | +| Test.java:5734:19:5734:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:5734:19:5734:21 | out : ImmutableMap [] : Object | Test.java:5734:9:5734:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5739:20:5739:63 | (...)... : Properties [] : Object | Test.java:5740:30:5740:31 | in : Properties [] : Object | provenance | | +| Test.java:5739:32:5739:63 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5739:20:5739:63 | (...)... : Properties [] : Object | provenance | | +| Test.java:5739:55:5739:62 | source(...) : Object | Test.java:5739:32:5739:63 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:570 | +| Test.java:5740:10:5740:32 | fromProperties(...) : ImmutableMap [] : Object | Test.java:5741:21:5741:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:5740:30:5740:31 | in : Properties [] : Object | Test.java:5740:10:5740:32 | fromProperties(...) : ImmutableMap [] : Object | provenance | MaD:340 | +| Test.java:5741:21:5741:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:5741:21:5741:23 | out : ImmutableMap [] : Object | Test.java:5741:9:5741:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5746:16:5746:31 | (...)... : Object | Test.java:5747:30:5747:31 | in : Object | provenance | | +| Test.java:5746:24:5746:31 | source(...) : Object | Test.java:5746:16:5746:31 | (...)... : Object | provenance | | +| Test.java:5747:10:5747:38 | immutableEntry(...) : Entry [] : Object | Test.java:5748:9:5748:11 | out : Entry [] : Object | provenance | | +| Test.java:5747:30:5747:31 | in : Object | Test.java:5747:10:5747:38 | immutableEntry(...) : Entry [] : Object | provenance | MaD:341 | +| Test.java:5748:9:5748:11 | out : Entry [] : Object | Test.java:5748:9:5748:20 | getKey(...) | provenance | MaD:565 | +| Test.java:5753:16:5753:31 | (...)... : Object | Test.java:5754:36:5754:37 | in : Object | provenance | | +| Test.java:5753:24:5753:31 | source(...) : Object | Test.java:5753:16:5753:31 | (...)... : Object | provenance | | +| Test.java:5754:10:5754:38 | immutableEntry(...) : Entry [] : Object | Test.java:5755:9:5755:11 | out : Entry [] : Object | provenance | | +| Test.java:5754:36:5754:37 | in : Object | Test.java:5754:10:5754:38 | immutableEntry(...) : Entry [] : Object | provenance | MaD:342 | +| Test.java:5755:9:5755:11 | out : Entry [] : Object | Test.java:5755:9:5755:22 | getValue(...) | provenance | MaD:566 | +| Test.java:5760:13:5760:39 | (...)... : Map [] : Object | Test.java:5761:32:5761:33 | in : Map [] : Object | provenance | | +| Test.java:5760:18:5760:39 | of(...) : Map [] : Object | Test.java:5760:13:5760:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5760:31:5760:38 | source(...) : Object | Test.java:5760:18:5760:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:5761:10:5761:34 | immutableEnumMap(...) : ImmutableMap [] : Object | Test.java:5762:21:5762:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:5761:32:5761:33 | in : Map [] : Object | Test.java:5761:10:5761:34 | immutableEnumMap(...) : ImmutableMap [] : Object | provenance | MaD:343 | +| Test.java:5762:21:5762:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:5762:21:5762:23 | out : ImmutableMap [] : Object | Test.java:5762:9:5762:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5767:13:5767:39 | (...)... : Map [] : Object | Test.java:5768:26:5768:27 | in : Map [] : Object | provenance | | +| Test.java:5767:18:5767:39 | of(...) : Map [] : Object | Test.java:5767:13:5767:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5767:31:5767:38 | source(...) : Object | Test.java:5767:18:5767:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:5768:10:5768:28 | newEnumMap(...) : EnumMap [] : Object | Test.java:5769:21:5769:23 | out : EnumMap [] : Object | provenance | | +| Test.java:5768:26:5768:27 | in : Map [] : Object | Test.java:5768:10:5768:28 | newEnumMap(...) : EnumMap [] : Object | provenance | MaD:344 | +| Test.java:5769:21:5769:23 | out : EnumMap [] : Object | Test.java:118:20:118:31 | map : EnumMap [] : Object | provenance | | +| Test.java:5769:21:5769:23 | out : EnumMap [] : Object | Test.java:5769:9:5769:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5774:13:5774:39 | (...)... : Map [] : Object | Test.java:5775:26:5775:27 | in : Map [] : Object | provenance | | +| Test.java:5774:18:5774:39 | of(...) : Map [] : Object | Test.java:5774:13:5774:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5774:25:5774:32 | source(...) : Object | Test.java:5774:18:5774:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:5775:10:5775:28 | newHashMap(...) : HashMap [] : Object | Test.java:5776:19:5776:21 | out : HashMap [] : Object | provenance | | +| Test.java:5775:26:5775:27 | in : Map [] : Object | Test.java:5775:10:5775:28 | newHashMap(...) : HashMap [] : Object | provenance | MaD:345 | +| Test.java:5776:19:5776:21 | out : HashMap [] : Object | Test.java:99:18:99:29 | map : HashMap [] : Object | provenance | | +| Test.java:5776:19:5776:21 | out : HashMap [] : Object | Test.java:5776:9:5776:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5781:13:5781:39 | (...)... : Map [] : Object | Test.java:5782:26:5782:27 | in : Map [] : Object | provenance | | +| Test.java:5781:18:5781:39 | of(...) : Map [] : Object | Test.java:5781:13:5781:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5781:31:5781:38 | source(...) : Object | Test.java:5781:18:5781:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:5782:10:5782:28 | newHashMap(...) : HashMap [] : Object | Test.java:5783:21:5783:23 | out : HashMap [] : Object | provenance | | +| Test.java:5782:26:5782:27 | in : Map [] : Object | Test.java:5782:10:5782:28 | newHashMap(...) : HashMap [] : Object | provenance | MaD:346 | +| Test.java:5783:21:5783:23 | out : HashMap [] : Object | Test.java:118:20:118:31 | map : HashMap [] : Object | provenance | | +| Test.java:5783:21:5783:23 | out : HashMap [] : Object | Test.java:5783:9:5783:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5788:13:5788:39 | (...)... : Map [] : Object | Test.java:5789:32:5789:33 | in : Map [] : Object | provenance | | +| Test.java:5788:18:5788:39 | of(...) : Map [] : Object | Test.java:5788:13:5788:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5788:25:5788:32 | source(...) : Object | Test.java:5788:18:5788:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:5789:10:5789:34 | newLinkedHashMap(...) : LinkedHashMap [] : Object | Test.java:5790:19:5790:21 | out : LinkedHashMap [] : Object | provenance | | +| Test.java:5789:32:5789:33 | in : Map [] : Object | Test.java:5789:10:5789:34 | newLinkedHashMap(...) : LinkedHashMap [] : Object | provenance | MaD:347 | +| Test.java:5790:19:5790:21 | out : LinkedHashMap [] : Object | Test.java:99:18:99:29 | map : LinkedHashMap [] : Object | provenance | | +| Test.java:5790:19:5790:21 | out : LinkedHashMap [] : Object | Test.java:5790:9:5790:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5795:13:5795:39 | (...)... : Map [] : Object | Test.java:5796:32:5796:33 | in : Map [] : Object | provenance | | +| Test.java:5795:18:5795:39 | of(...) : Map [] : Object | Test.java:5795:13:5795:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5795:31:5795:38 | source(...) : Object | Test.java:5795:18:5795:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:5796:10:5796:34 | newLinkedHashMap(...) : LinkedHashMap [] : Object | Test.java:5797:21:5797:23 | out : LinkedHashMap [] : Object | provenance | | +| Test.java:5796:32:5796:33 | in : Map [] : Object | Test.java:5796:10:5796:34 | newLinkedHashMap(...) : LinkedHashMap [] : Object | provenance | MaD:348 | +| Test.java:5797:21:5797:23 | out : LinkedHashMap [] : Object | Test.java:118:20:118:31 | map : LinkedHashMap [] : Object | provenance | | +| Test.java:5797:21:5797:23 | out : LinkedHashMap [] : Object | Test.java:5797:9:5797:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5802:19:5802:78 | (...)... : ImmutableSortedMap [] : Comparable | Test.java:5803:26:5803:27 | in : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5802:30:5802:78 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5802:19:5802:78 | (...)... : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5802:52:5802:71 | (...)... : Comparable | Test.java:5802:30:5802:78 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5802:64:5802:71 | source(...) : Object | Test.java:5802:52:5802:71 | (...)... : Comparable | provenance | | +| Test.java:5803:10:5803:28 | newTreeMap(...) : TreeMap [] : Comparable | Test.java:5804:19:5804:21 | out : TreeMap [] : Comparable | provenance | | +| Test.java:5803:26:5803:27 | in : ImmutableSortedMap [] : Comparable | Test.java:5803:10:5803:28 | newTreeMap(...) : TreeMap [] : Comparable | provenance | MaD:349 | +| Test.java:5804:19:5804:21 | out : TreeMap [] : Comparable | Test.java:99:18:99:29 | map : TreeMap [] : Comparable | provenance | | +| Test.java:5804:19:5804:21 | out : TreeMap [] : Comparable | Test.java:5804:9:5804:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5809:19:5809:78 | (...)... : ImmutableSortedMap [] : Object | Test.java:5810:26:5810:27 | in : ImmutableSortedMap [] : Object | provenance | | +| Test.java:5809:30:5809:78 | of(...) : ImmutableSortedMap [] : Object | Test.java:5809:19:5809:78 | (...)... : ImmutableSortedMap [] : Object | provenance | | +| Test.java:5809:70:5809:77 | source(...) : Object | Test.java:5809:30:5809:78 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:166 | +| Test.java:5810:10:5810:28 | newTreeMap(...) : TreeMap [] : Object | Test.java:5811:21:5811:23 | out : TreeMap [] : Object | provenance | | +| Test.java:5810:26:5810:27 | in : ImmutableSortedMap [] : Object | Test.java:5810:10:5810:28 | newTreeMap(...) : TreeMap [] : Object | provenance | MaD:350 | +| Test.java:5811:21:5811:23 | out : TreeMap [] : Object | Test.java:118:20:118:31 | map : TreeMap [] : Object | provenance | | +| Test.java:5811:21:5811:23 | out : TreeMap [] : Object | Test.java:5811:9:5811:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5816:22:5816:84 | (...)... : ImmutableSortedMap [] : Comparable | Test.java:5817:22:5817:23 | in : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5816:36:5816:84 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5816:22:5816:84 | (...)... : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5816:58:5816:77 | (...)... : Comparable | Test.java:5816:36:5816:84 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5816:70:5816:77 | source(...) : Object | Test.java:5816:58:5816:77 | (...)... : Comparable | provenance | | +| Test.java:5817:10:5817:30 | subMap(...) : NavigableMap [] : Comparable | Test.java:5818:19:5818:21 | out : NavigableMap [] : Comparable | provenance | | +| Test.java:5817:22:5817:23 | in : ImmutableSortedMap [] : Comparable | Test.java:5817:10:5817:30 | subMap(...) : NavigableMap [] : Comparable | provenance | MaD:351 | +| Test.java:5818:19:5818:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | provenance | | +| Test.java:5818:19:5818:21 | out : NavigableMap [] : Comparable | Test.java:5818:9:5818:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5823:22:5823:84 | (...)... : ImmutableSortedMap [] : Object | Test.java:5824:22:5824:23 | in : ImmutableSortedMap [] : Object | provenance | | +| Test.java:5823:36:5823:84 | of(...) : ImmutableSortedMap [] : Object | Test.java:5823:22:5823:84 | (...)... : ImmutableSortedMap [] : Object | provenance | | +| Test.java:5823:76:5823:83 | source(...) : Object | Test.java:5823:36:5823:84 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:166 | +| Test.java:5824:10:5824:30 | subMap(...) : NavigableMap [] : Object | Test.java:5825:21:5825:23 | out : NavigableMap [] : Object | provenance | | +| Test.java:5824:22:5824:23 | in : ImmutableSortedMap [] : Object | Test.java:5824:10:5824:30 | subMap(...) : NavigableMap [] : Object | provenance | MaD:352 | +| Test.java:5825:21:5825:23 | out : NavigableMap [] : Object | Test.java:118:20:118:31 | map : NavigableMap [] : Object | provenance | | +| Test.java:5825:21:5825:23 | out : NavigableMap [] : Object | Test.java:5825:9:5825:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5830:15:5830:54 | (...)... : ImmutableBiMap [] : Object | Test.java:5831:33:5831:34 | in : ImmutableBiMap [] : Object | provenance | | +| Test.java:5830:22:5830:54 | of(...) : ImmutableBiMap [] : Object | Test.java:5830:15:5830:54 | (...)... : ImmutableBiMap [] : Object | provenance | | +| Test.java:5830:40:5830:47 | source(...) : Object | Test.java:5830:22:5830:54 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:29 | +| Test.java:5831:10:5831:35 | synchronizedBiMap(...) : BiMap [] : Object | Test.java:5832:19:5832:21 | out : BiMap [] : Object | provenance | | +| Test.java:5831:33:5831:34 | in : ImmutableBiMap [] : Object | Test.java:5831:10:5831:35 | synchronizedBiMap(...) : BiMap [] : Object | provenance | MaD:353 | +| Test.java:5832:19:5832:21 | out : BiMap [] : Object | Test.java:99:18:99:29 | map : BiMap [] : Object | provenance | | +| Test.java:5832:19:5832:21 | out : BiMap [] : Object | Test.java:5832:9:5832:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5837:15:5837:54 | (...)... : ImmutableBiMap [] : Object | Test.java:5838:33:5838:34 | in : ImmutableBiMap [] : Object | provenance | | +| Test.java:5837:22:5837:54 | of(...) : ImmutableBiMap [] : Object | Test.java:5837:15:5837:54 | (...)... : ImmutableBiMap [] : Object | provenance | | +| Test.java:5837:46:5837:53 | source(...) : Object | Test.java:5837:22:5837:54 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:30 | +| Test.java:5838:10:5838:35 | synchronizedBiMap(...) : BiMap [] : Object | Test.java:5839:21:5839:23 | out : BiMap [] : Object | provenance | | +| Test.java:5838:33:5838:34 | in : ImmutableBiMap [] : Object | Test.java:5838:10:5838:35 | synchronizedBiMap(...) : BiMap [] : Object | provenance | MaD:354 | +| Test.java:5839:21:5839:23 | out : BiMap [] : Object | Test.java:118:20:118:31 | map : BiMap [] : Object | provenance | | +| Test.java:5839:21:5839:23 | out : BiMap [] : Object | Test.java:5839:9:5839:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5844:22:5844:84 | (...)... : ImmutableSortedMap [] : Comparable | Test.java:5845:40:5845:41 | in : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5844:36:5844:84 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5844:22:5844:84 | (...)... : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5844:58:5844:77 | (...)... : Comparable | Test.java:5844:36:5844:84 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5844:70:5844:77 | source(...) : Object | Test.java:5844:58:5844:77 | (...)... : Comparable | provenance | | +| Test.java:5845:10:5845:42 | synchronizedNavigableMap(...) : NavigableMap [] : Comparable | Test.java:5846:19:5846:21 | out : NavigableMap [] : Comparable | provenance | | +| Test.java:5845:40:5845:41 | in : ImmutableSortedMap [] : Comparable | Test.java:5845:10:5845:42 | synchronizedNavigableMap(...) : NavigableMap [] : Comparable | provenance | MaD:355 | +| Test.java:5846:19:5846:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | provenance | | +| Test.java:5846:19:5846:21 | out : NavigableMap [] : Comparable | Test.java:5846:9:5846:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5851:22:5851:84 | (...)... : ImmutableSortedMap [] : Object | Test.java:5852:40:5852:41 | in : ImmutableSortedMap [] : Object | provenance | | +| Test.java:5851:36:5851:84 | of(...) : ImmutableSortedMap [] : Object | Test.java:5851:22:5851:84 | (...)... : ImmutableSortedMap [] : Object | provenance | | +| Test.java:5851:76:5851:83 | source(...) : Object | Test.java:5851:36:5851:84 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:166 | +| Test.java:5852:10:5852:42 | synchronizedNavigableMap(...) : NavigableMap [] : Object | Test.java:5853:21:5853:23 | out : NavigableMap [] : Object | provenance | | +| Test.java:5852:40:5852:41 | in : ImmutableSortedMap [] : Object | Test.java:5852:10:5852:42 | synchronizedNavigableMap(...) : NavigableMap [] : Object | provenance | MaD:356 | +| Test.java:5853:21:5853:23 | out : NavigableMap [] : Object | Test.java:118:20:118:31 | map : NavigableMap [] : Object | provenance | | +| Test.java:5853:21:5853:23 | out : NavigableMap [] : Object | Test.java:5853:9:5853:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5858:18:5858:44 | (...)... : List [] : Object | Test.java:5859:21:5859:22 | in : List [] : Object | provenance | | +| Test.java:5858:28:5858:44 | of(...) : List [] : Object | Test.java:5858:18:5858:44 | (...)... : List [] : Object | provenance | | +| Test.java:5858:36:5858:43 | source(...) : Object | Test.java:5858:28:5858:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5859:10:5859:39 | toMap(...) : ImmutableMap [] : Object | Test.java:5860:19:5860:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:5859:21:5859:22 | in : List [] : Object | Test.java:5859:10:5859:39 | toMap(...) : ImmutableMap [] : Object | provenance | MaD:357 | +| Test.java:5860:19:5860:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:5860:19:5860:21 | out : ImmutableMap [] : Object | Test.java:5860:9:5860:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5865:18:5865:55 | (...)... : Iterator [] : Object | Test.java:5866:21:5866:22 | in : Iterator [] : Object | provenance | | +| Test.java:5865:28:5865:44 | of(...) : List [] : Object | Test.java:5865:28:5865:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5865:28:5865:55 | iterator(...) : Iterator [] : Object | Test.java:5865:18:5865:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5865:36:5865:43 | source(...) : Object | Test.java:5865:28:5865:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5866:10:5866:39 | toMap(...) : ImmutableMap [] : Object | Test.java:5867:19:5867:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:5866:21:5866:22 | in : Iterator [] : Object | Test.java:5866:10:5866:39 | toMap(...) : ImmutableMap [] : Object | provenance | MaD:358 | +| Test.java:5867:19:5867:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:5867:19:5867:21 | out : ImmutableMap [] : Object | Test.java:5867:9:5867:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5872:13:5872:39 | (...)... : Map [] : Object | Test.java:5873:31:5873:32 | in : Map [] : Object | provenance | | +| Test.java:5872:18:5872:39 | of(...) : Map [] : Object | Test.java:5872:13:5872:39 | (...)... : Map [] : Object | provenance | | +| Test.java:5872:25:5872:32 | source(...) : Object | Test.java:5872:18:5872:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:5873:10:5873:49 | transformValues(...) : Map [] : Object | Test.java:5874:19:5874:21 | out : Map [] : Object | provenance | | +| Test.java:5873:31:5873:32 | in : Map [] : Object | Test.java:5873:10:5873:49 | transformValues(...) : Map [] : Object | provenance | MaD:359 | +| Test.java:5874:19:5874:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5874:19:5874:21 | out : Map [] : Object | Test.java:5874:9:5874:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5879:22:5879:84 | (...)... : ImmutableSortedMap [] : Comparable | Test.java:5880:31:5880:32 | in : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5879:36:5879:84 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5879:22:5879:84 | (...)... : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5879:58:5879:77 | (...)... : Comparable | Test.java:5879:36:5879:84 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5879:70:5879:77 | source(...) : Object | Test.java:5879:58:5879:77 | (...)... : Comparable | provenance | | +| Test.java:5880:10:5880:49 | transformValues(...) : NavigableMap [] : Comparable | Test.java:5881:19:5881:21 | out : NavigableMap [] : Comparable | provenance | | +| Test.java:5880:31:5880:32 | in : ImmutableSortedMap [] : Comparable | Test.java:5880:10:5880:49 | transformValues(...) : NavigableMap [] : Comparable | provenance | MaD:360 | +| Test.java:5881:19:5881:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | provenance | | +| Test.java:5881:19:5881:21 | out : NavigableMap [] : Comparable | Test.java:5881:9:5881:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5886:19:5886:78 | (...)... : ImmutableSortedMap [] : Comparable | Test.java:5887:31:5887:32 | in : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5886:30:5886:78 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5886:19:5886:78 | (...)... : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5886:52:5886:71 | (...)... : Comparable | Test.java:5886:30:5886:78 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5886:64:5886:71 | source(...) : Object | Test.java:5886:52:5886:71 | (...)... : Comparable | provenance | | +| Test.java:5887:10:5887:49 | transformValues(...) : SortedMap [] : Comparable | Test.java:5888:19:5888:21 | out : SortedMap [] : Comparable | provenance | | +| Test.java:5887:31:5887:32 | in : ImmutableSortedMap [] : Comparable | Test.java:5887:10:5887:49 | transformValues(...) : SortedMap [] : Comparable | provenance | MaD:361 | +| Test.java:5888:19:5888:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | provenance | | +| Test.java:5888:19:5888:21 | out : SortedMap [] : Comparable | Test.java:5888:9:5888:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5893:18:5893:44 | (...)... : List [] : Object | Test.java:5894:27:5894:28 | in : List [] : Object | provenance | | +| Test.java:5893:28:5893:44 | of(...) : List [] : Object | Test.java:5893:18:5893:44 | (...)... : List [] : Object | provenance | | +| Test.java:5893:36:5893:43 | source(...) : Object | Test.java:5893:28:5893:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5894:10:5894:45 | uniqueIndex(...) : ImmutableMap [] : Object | Test.java:5895:21:5895:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:5894:27:5894:28 | in : List [] : Object | Test.java:5894:10:5894:45 | uniqueIndex(...) : ImmutableMap [] : Object | provenance | MaD:362 | +| Test.java:5895:21:5895:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:5895:21:5895:23 | out : ImmutableMap [] : Object | Test.java:5895:9:5895:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5900:18:5900:55 | (...)... : Iterator [] : Object | Test.java:5901:27:5901:28 | in : Iterator [] : Object | provenance | | +| Test.java:5900:28:5900:44 | of(...) : List [] : Object | Test.java:5900:28:5900:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:5900:28:5900:55 | iterator(...) : Iterator [] : Object | Test.java:5900:18:5900:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:5900:36:5900:43 | source(...) : Object | Test.java:5900:28:5900:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:5901:10:5901:45 | uniqueIndex(...) : ImmutableMap [] : Object | Test.java:5902:21:5902:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:5901:27:5901:28 | in : Iterator [] : Object | Test.java:5901:10:5901:45 | uniqueIndex(...) : ImmutableMap [] : Object | provenance | MaD:363 | +| Test.java:5902:21:5902:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:5902:21:5902:23 | out : ImmutableMap [] : Object | Test.java:5902:9:5902:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5907:15:5907:54 | (...)... : ImmutableBiMap [] : Object | Test.java:5908:33:5908:34 | in : ImmutableBiMap [] : Object | provenance | | +| Test.java:5907:22:5907:54 | of(...) : ImmutableBiMap [] : Object | Test.java:5907:15:5907:54 | (...)... : ImmutableBiMap [] : Object | provenance | | +| Test.java:5907:40:5907:47 | source(...) : Object | Test.java:5907:22:5907:54 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:29 | +| Test.java:5908:10:5908:35 | unmodifiableBiMap(...) : BiMap [] : Object | Test.java:5909:19:5909:21 | out : BiMap [] : Object | provenance | | +| Test.java:5908:33:5908:34 | in : ImmutableBiMap [] : Object | Test.java:5908:10:5908:35 | unmodifiableBiMap(...) : BiMap [] : Object | provenance | MaD:364 | +| Test.java:5909:19:5909:21 | out : BiMap [] : Object | Test.java:99:18:99:29 | map : BiMap [] : Object | provenance | | +| Test.java:5909:19:5909:21 | out : BiMap [] : Object | Test.java:5909:9:5909:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5914:15:5914:54 | (...)... : ImmutableBiMap [] : Object | Test.java:5915:33:5915:34 | in : ImmutableBiMap [] : Object | provenance | | +| Test.java:5914:22:5914:54 | of(...) : ImmutableBiMap [] : Object | Test.java:5914:15:5914:54 | (...)... : ImmutableBiMap [] : Object | provenance | | +| Test.java:5914:46:5914:53 | source(...) : Object | Test.java:5914:22:5914:54 | of(...) : ImmutableBiMap [] : Object | provenance | MaD:30 | +| Test.java:5915:10:5915:35 | unmodifiableBiMap(...) : BiMap [] : Object | Test.java:5916:21:5916:23 | out : BiMap [] : Object | provenance | | +| Test.java:5915:33:5915:34 | in : ImmutableBiMap [] : Object | Test.java:5915:10:5915:35 | unmodifiableBiMap(...) : BiMap [] : Object | provenance | MaD:365 | +| Test.java:5916:21:5916:23 | out : BiMap [] : Object | Test.java:118:20:118:31 | map : BiMap [] : Object | provenance | | +| Test.java:5916:21:5916:23 | out : BiMap [] : Object | Test.java:5916:9:5916:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5921:22:5921:84 | (...)... : ImmutableSortedMap [] : Comparable | Test.java:5922:40:5922:41 | in : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5921:36:5921:84 | of(...) : ImmutableSortedMap [] : Comparable | Test.java:5921:22:5921:84 | (...)... : ImmutableSortedMap [] : Comparable | provenance | | +| Test.java:5921:58:5921:77 | (...)... : Comparable | Test.java:5921:36:5921:84 | of(...) : ImmutableSortedMap [] : Comparable | provenance | MaD:165 | +| Test.java:5921:70:5921:77 | source(...) : Object | Test.java:5921:58:5921:77 | (...)... : Comparable | provenance | | +| Test.java:5922:10:5922:42 | unmodifiableNavigableMap(...) : NavigableMap [] : Comparable | Test.java:5923:19:5923:21 | out : NavigableMap [] : Comparable | provenance | | +| Test.java:5922:40:5922:41 | in : ImmutableSortedMap [] : Comparable | Test.java:5922:10:5922:42 | unmodifiableNavigableMap(...) : NavigableMap [] : Comparable | provenance | MaD:366 | +| Test.java:5923:19:5923:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | provenance | | +| Test.java:5923:19:5923:21 | out : NavigableMap [] : Comparable | Test.java:5923:9:5923:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5928:22:5928:84 | (...)... : ImmutableSortedMap [] : Object | Test.java:5929:40:5929:41 | in : ImmutableSortedMap [] : Object | provenance | | +| Test.java:5928:36:5928:84 | of(...) : ImmutableSortedMap [] : Object | Test.java:5928:22:5928:84 | (...)... : ImmutableSortedMap [] : Object | provenance | | +| Test.java:5928:76:5928:83 | source(...) : Object | Test.java:5928:36:5928:84 | of(...) : ImmutableSortedMap [] : Object | provenance | MaD:166 | +| Test.java:5929:10:5929:42 | unmodifiableNavigableMap(...) : NavigableMap [] : Object | Test.java:5930:21:5930:23 | out : NavigableMap [] : Object | provenance | | +| Test.java:5929:40:5929:41 | in : ImmutableSortedMap [] : Object | Test.java:5929:10:5929:42 | unmodifiableNavigableMap(...) : NavigableMap [] : Object | provenance | MaD:367 | +| Test.java:5930:21:5930:23 | out : NavigableMap [] : Object | Test.java:118:20:118:31 | map : NavigableMap [] : Object | provenance | | +| Test.java:5930:21:5930:23 | out : NavigableMap [] : Object | Test.java:5930:9:5930:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:5935:22:5935:104 | (...)... : TreeMultimap [] : Comparable | Test.java:5936:10:5936:11 | in : TreeMultimap [] : Comparable | provenance | | +| Test.java:5935:36:5935:104 | create(...) : TreeMultimap [] : Comparable | Test.java:5935:22:5935:104 | (...)... : TreeMultimap [] : Comparable | provenance | | +| Test.java:5935:56:5935:103 | of(...) : ImmutableMultimap [] : Comparable | Test.java:5935:36:5935:104 | create(...) : TreeMultimap [] : Comparable | provenance | MaD:552 | +| Test.java:5935:77:5935:96 | (...)... : Comparable | Test.java:5935:56:5935:103 | of(...) : ImmutableMultimap [] : Comparable | provenance | MaD:103 | +| Test.java:5935:89:5935:96 | source(...) : Object | Test.java:5935:77:5935:96 | (...)... : Comparable | provenance | | +| Test.java:5936:10:5936:11 | in : TreeMultimap [] : Comparable | Test.java:5936:10:5936:19 | asMap(...) : NavigableMap [] : Comparable | provenance | MaD:368 | +| Test.java:5936:10:5936:19 | asMap(...) : NavigableMap [] : Comparable | Test.java:5937:19:5937:21 | out : NavigableMap [] : Comparable | provenance | | +| Test.java:5937:19:5937:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | provenance | | +| Test.java:5937:19:5937:21 | out : NavigableMap [] : Comparable | Test.java:5937:9:5937:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5942:27:5942:114 | (...)... : TreeMultimap [] : Comparable | Test.java:5943:10:5943:11 | in : TreeMultimap [] : Comparable | provenance | | +| Test.java:5942:46:5942:114 | create(...) : TreeMultimap [] : Comparable | Test.java:5942:27:5942:114 | (...)... : TreeMultimap [] : Comparable | provenance | | +| Test.java:5942:66:5942:113 | of(...) : ImmutableMultimap [] : Comparable | Test.java:5942:46:5942:114 | create(...) : TreeMultimap [] : Comparable | provenance | MaD:552 | +| Test.java:5942:87:5942:106 | (...)... : Comparable | Test.java:5942:66:5942:113 | of(...) : ImmutableMultimap [] : Comparable | provenance | MaD:103 | +| Test.java:5942:99:5942:106 | source(...) : Object | Test.java:5942:87:5942:106 | (...)... : Comparable | provenance | | +| Test.java:5943:10:5943:11 | in : TreeMultimap [] : Comparable | Test.java:5943:10:5943:19 | asMap(...) : Map [] : Comparable | provenance | MaD:368 | +| Test.java:5943:10:5943:19 | asMap(...) : Map [] : Comparable | Test.java:5944:19:5944:21 | out : Map [] : Comparable | provenance | | +| Test.java:5944:19:5944:21 | out : Map [] : Comparable | Test.java:99:18:99:29 | map : Map [] : Comparable | provenance | | +| Test.java:5944:19:5944:21 | out : Map [] : Comparable | Test.java:5944:9:5944:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5949:21:5949:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:5950:10:5950:11 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:5949:34:5949:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:5949:21:5949:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:5949:58:5949:65 | source(...) : Object | Test.java:5949:34:5949:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:145 | +| Test.java:5950:10:5950:11 | in : ImmutableSetMultimap [] : Object | Test.java:5950:10:5950:19 | asMap(...) : Map [] : Object | provenance | MaD:368 | +| Test.java:5950:10:5950:19 | asMap(...) : Map [] : Object | Test.java:5951:19:5951:21 | out : Map [] : Object | provenance | | +| Test.java:5951:19:5951:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5951:19:5951:21 | out : Map [] : Object | Test.java:5951:9:5951:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5956:18:5956:63 | (...)... : ImmutableMultimap [] : Object | Test.java:5957:10:5957:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:5956:28:5956:63 | of(...) : ImmutableMultimap [] : Object | Test.java:5956:18:5956:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:5956:49:5956:56 | source(...) : Object | Test.java:5956:28:5956:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:5957:10:5957:11 | in : ImmutableMultimap [] : Object | Test.java:5957:10:5957:19 | asMap(...) : Map [] : Object | provenance | MaD:368 | +| Test.java:5957:10:5957:19 | asMap(...) : Map [] : Object | Test.java:5958:19:5958:21 | out : Map [] : Object | provenance | | +| Test.java:5958:19:5958:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5958:19:5958:21 | out : Map [] : Object | Test.java:5958:9:5958:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5963:22:5963:75 | (...)... : ImmutableListMultimap [] : Object | Test.java:5964:10:5964:11 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:5963:36:5963:75 | of(...) : ImmutableListMultimap [] : Object | Test.java:5963:22:5963:75 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:5963:61:5963:68 | source(...) : Object | Test.java:5963:36:5963:75 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:60 | +| Test.java:5964:10:5964:11 | in : ImmutableListMultimap [] : Object | Test.java:5964:10:5964:19 | asMap(...) : Map [] : Object | provenance | MaD:368 | +| Test.java:5964:10:5964:19 | asMap(...) : Map [] : Object | Test.java:5965:19:5965:21 | out : Map [] : Object | provenance | | +| Test.java:5965:19:5965:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:5965:19:5965:21 | out : Map [] : Object | Test.java:5965:9:5965:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5970:27:5970:81 | (...)... : ImmutableMultimap [] : Object | Test.java:5971:10:5971:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:5970:46:5970:81 | of(...) : ImmutableMultimap [] : Object | Test.java:5970:27:5970:81 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:5970:67:5970:74 | source(...) : Object | Test.java:5970:46:5970:81 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:5971:10:5971:11 | in : ImmutableMultimap [] : Object | Test.java:5971:10:5971:19 | asMap(...) : ImmutableMap [] : Object | provenance | MaD:368 | +| Test.java:5971:10:5971:19 | asMap(...) : ImmutableMap [] : Object | Test.java:5972:19:5972:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:5972:19:5972:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:5972:19:5972:21 | out : ImmutableMap [] : Object | Test.java:5972:9:5972:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:5977:22:5977:104 | (...)... : TreeMultimap [] : Comparable | Test.java:5978:10:5978:11 | in : TreeMultimap [] : Comparable | provenance | | +| Test.java:5977:36:5977:104 | create(...) : TreeMultimap [] : Comparable | Test.java:5977:22:5977:104 | (...)... : TreeMultimap [] : Comparable | provenance | | +| Test.java:5977:56:5977:103 | of(...) : ImmutableMultimap [] : Comparable | Test.java:5977:36:5977:104 | create(...) : TreeMultimap [] : Comparable | provenance | MaD:553 | +| Test.java:5977:83:5977:102 | (...)... : Comparable | Test.java:5977:56:5977:103 | of(...) : ImmutableMultimap [] : Comparable | provenance | MaD:104 | +| Test.java:5977:95:5977:102 | source(...) : Object | Test.java:5977:83:5977:102 | (...)... : Comparable | provenance | | +| Test.java:5978:10:5978:11 | in : TreeMultimap [] : Comparable | Test.java:5978:10:5978:19 | asMap(...) : NavigableMap [, ] : Comparable | provenance | MaD:369 | +| Test.java:5978:10:5978:19 | asMap(...) : NavigableMap [, ] : Comparable | Test.java:5979:32:5979:34 | out : NavigableMap [, ] : Comparable | provenance | | +| Test.java:5979:20:5979:35 | getMapValue(...) : Collection [] : Comparable | Test.java:110:19:110:32 | it : Collection [] : Comparable | provenance | | +| Test.java:5979:20:5979:35 | getMapValue(...) : Collection [] : Comparable | Test.java:5979:9:5979:36 | getElement(...) | provenance | MaD:555 | +| Test.java:5979:32:5979:34 | out : NavigableMap [, ] : Comparable | Test.java:5979:20:5979:35 | getMapValue(...) : Collection [] : Comparable | provenance | MaD:561 | +| Test.java:5984:27:5984:114 | (...)... : TreeMultimap [] : Comparable | Test.java:5985:10:5985:11 | in : TreeMultimap [] : Comparable | provenance | | +| Test.java:5984:46:5984:114 | create(...) : TreeMultimap [] : Comparable | Test.java:5984:27:5984:114 | (...)... : TreeMultimap [] : Comparable | provenance | | +| Test.java:5984:66:5984:113 | of(...) : ImmutableMultimap [] : Comparable | Test.java:5984:46:5984:114 | create(...) : TreeMultimap [] : Comparable | provenance | MaD:553 | +| Test.java:5984:93:5984:112 | (...)... : Comparable | Test.java:5984:66:5984:113 | of(...) : ImmutableMultimap [] : Comparable | provenance | MaD:104 | +| Test.java:5984:105:5984:112 | source(...) : Object | Test.java:5984:93:5984:112 | (...)... : Comparable | provenance | | +| Test.java:5985:10:5985:11 | in : TreeMultimap [] : Comparable | Test.java:5985:10:5985:19 | asMap(...) : Map [, ] : Comparable | provenance | MaD:369 | +| Test.java:5985:10:5985:19 | asMap(...) : Map [, ] : Comparable | Test.java:5986:32:5986:34 | out : Map [, ] : Comparable | provenance | | +| Test.java:5986:20:5986:35 | getMapValue(...) : Collection [] : Comparable | Test.java:110:19:110:32 | it : Collection [] : Comparable | provenance | | +| Test.java:5986:20:5986:35 | getMapValue(...) : Collection [] : Comparable | Test.java:5986:9:5986:36 | getElement(...) | provenance | MaD:555 | +| Test.java:5986:32:5986:34 | out : Map [, ] : Comparable | Test.java:5986:20:5986:35 | getMapValue(...) : Collection [] : Comparable | provenance | MaD:561 | +| Test.java:5991:21:5991:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:5992:10:5992:11 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:5991:34:5991:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:5991:21:5991:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:5991:64:5991:71 | source(...) : Object | Test.java:5991:34:5991:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:5992:10:5992:11 | in : ImmutableSetMultimap [] : Object | Test.java:5992:10:5992:19 | asMap(...) : Map [, ] : Object | provenance | MaD:369 | +| Test.java:5992:10:5992:19 | asMap(...) : Map [, ] : Object | Test.java:5993:32:5993:34 | out : Map [, ] : Object | provenance | | +| Test.java:5993:20:5993:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:5993:20:5993:35 | getMapValue(...) : Collection [] : Object | Test.java:5993:9:5993:36 | getElement(...) | provenance | MaD:555 | +| Test.java:5993:32:5993:34 | out : Map [, ] : Object | Test.java:5993:20:5993:35 | getMapValue(...) : Collection [] : Object | provenance | MaD:561 | +| Test.java:5998:18:5998:63 | (...)... : ImmutableMultimap [] : Object | Test.java:5999:10:5999:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:5998:28:5998:63 | of(...) : ImmutableMultimap [] : Object | Test.java:5998:18:5998:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:5998:55:5998:62 | source(...) : Object | Test.java:5998:28:5998:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:5999:10:5999:11 | in : ImmutableMultimap [] : Object | Test.java:5999:10:5999:19 | asMap(...) : Map [, ] : Object | provenance | MaD:369 | +| Test.java:5999:10:5999:19 | asMap(...) : Map [, ] : Object | Test.java:6000:32:6000:34 | out : Map [, ] : Object | provenance | | +| Test.java:6000:20:6000:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:6000:20:6000:35 | getMapValue(...) : Collection [] : Object | Test.java:6000:9:6000:36 | getElement(...) | provenance | MaD:555 | +| Test.java:6000:32:6000:34 | out : Map [, ] : Object | Test.java:6000:20:6000:35 | getMapValue(...) : Collection [] : Object | provenance | MaD:561 | +| Test.java:6005:22:6005:75 | (...)... : ImmutableListMultimap [] : Object | Test.java:6006:10:6006:11 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6005:36:6005:75 | of(...) : ImmutableListMultimap [] : Object | Test.java:6005:22:6005:75 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6005:67:6005:74 | source(...) : Object | Test.java:6005:36:6005:75 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:61 | +| Test.java:6006:10:6006:11 | in : ImmutableListMultimap [] : Object | Test.java:6006:10:6006:19 | asMap(...) : Map [, ] : Object | provenance | MaD:369 | +| Test.java:6006:10:6006:19 | asMap(...) : Map [, ] : Object | Test.java:6007:32:6007:34 | out : Map [, ] : Object | provenance | | +| Test.java:6007:20:6007:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:6007:20:6007:35 | getMapValue(...) : Collection [] : Object | Test.java:6007:9:6007:36 | getElement(...) | provenance | MaD:555 | +| Test.java:6007:32:6007:34 | out : Map [, ] : Object | Test.java:6007:20:6007:35 | getMapValue(...) : Collection [] : Object | provenance | MaD:561 | +| Test.java:6012:27:6012:81 | (...)... : ImmutableMultimap [] : Object | Test.java:6013:10:6013:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6012:46:6012:81 | of(...) : ImmutableMultimap [] : Object | Test.java:6012:27:6012:81 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6012:73:6012:80 | source(...) : Object | Test.java:6012:46:6012:81 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6013:10:6013:11 | in : ImmutableMultimap [] : Object | Test.java:6013:10:6013:19 | asMap(...) : ImmutableMap [, ] : Object | provenance | MaD:369 | +| Test.java:6013:10:6013:19 | asMap(...) : ImmutableMap [, ] : Object | Test.java:6014:32:6014:34 | out : ImmutableMap [, ] : Object | provenance | | +| Test.java:6014:20:6014:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:6014:20:6014:35 | getMapValue(...) : Collection [] : Object | Test.java:6014:9:6014:36 | getElement(...) | provenance | MaD:555 | +| Test.java:6014:32:6014:34 | out : ImmutableMap [, ] : Object | Test.java:6014:20:6014:35 | getMapValue(...) : Collection [] : Object | provenance | MaD:561 | +| Test.java:6019:21:6019:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6020:10:6020:11 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6019:34:6019:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6019:21:6019:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6019:58:6019:65 | source(...) : Object | Test.java:6019:34:6019:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:145 | +| Test.java:6020:10:6020:11 | in : ImmutableSetMultimap [] : Object | Test.java:6020:10:6020:21 | entries(...) : Set [, ] : Object | provenance | MaD:370 | +| Test.java:6020:10:6020:21 | entries(...) : Set [, ] : Object | Test.java:6021:20:6021:22 | out : Set [, ] : Object | provenance | | +| Test.java:6021:9:6021:23 | getElement(...) : Entry [] : Object | Test.java:6021:9:6021:32 | getKey(...) | provenance | MaD:565 | +| Test.java:6021:20:6021:22 | out : Set [, ] : Object | Test.java:6021:9:6021:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | +| Test.java:6026:28:6026:110 | (...)... : LinkedHashMultimap [] : Object | Test.java:6027:10:6027:11 | in : LinkedHashMultimap [] : Object | provenance | | +| Test.java:6026:48:6026:110 | create(...) : LinkedHashMultimap [] : Object | Test.java:6026:28:6026:110 | (...)... : LinkedHashMultimap [] : Object | provenance | | +| Test.java:6026:74:6026:109 | of(...) : ImmutableMultimap [] : Object | Test.java:6026:48:6026:110 | create(...) : LinkedHashMultimap [] : Object | provenance | MaD:287 | +| Test.java:6026:95:6026:102 | source(...) : Object | Test.java:6026:74:6026:109 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6027:10:6027:11 | in : LinkedHashMultimap [] : Object | Test.java:6027:10:6027:21 | entries(...) : Set [, ] : Object | provenance | MaD:370 | +| Test.java:6027:10:6027:21 | entries(...) : Set [, ] : Object | Test.java:6028:20:6028:22 | out : Set [, ] : Object | provenance | | +| Test.java:6028:9:6028:23 | getElement(...) : Entry [] : Object | Test.java:6028:9:6028:32 | getKey(...) | provenance | MaD:565 | +| Test.java:6028:20:6028:22 | out : Set [, ] : Object | Test.java:6028:9:6028:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | +| Test.java:6033:28:6033:110 | (...)... : LinkedListMultimap [] : Object | Test.java:6034:10:6034:11 | in : LinkedListMultimap [] : Object | provenance | | +| Test.java:6033:48:6033:110 | create(...) : LinkedListMultimap [] : Object | Test.java:6033:28:6033:110 | (...)... : LinkedListMultimap [] : Object | provenance | | +| Test.java:6033:74:6033:109 | of(...) : ImmutableMultimap [] : Object | Test.java:6033:48:6033:110 | create(...) : LinkedListMultimap [] : Object | provenance | MaD:290 | +| Test.java:6033:95:6033:102 | source(...) : Object | Test.java:6033:74:6033:109 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6034:10:6034:11 | in : LinkedListMultimap [] : Object | Test.java:6034:10:6034:21 | entries(...) : List [, ] : Object | provenance | MaD:370 | +| Test.java:6034:10:6034:21 | entries(...) : List [, ] : Object | Test.java:6035:20:6035:22 | out : List [, ] : Object | provenance | | +| Test.java:6035:9:6035:23 | getElement(...) : Entry [] : Object | Test.java:6035:9:6035:32 | getKey(...) | provenance | MaD:565 | +| Test.java:6035:20:6035:22 | out : List [, ] : Object | Test.java:6035:9:6035:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | +| Test.java:6040:30:6040:90 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6041:10:6041:11 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6040:52:6040:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6040:30:6040:90 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6040:76:6040:83 | source(...) : Object | Test.java:6040:52:6040:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:145 | +| Test.java:6041:10:6041:11 | in : ImmutableSetMultimap [] : Object | Test.java:6041:10:6041:21 | entries(...) : ImmutableSet [, ] : Object | provenance | MaD:370 | +| Test.java:6041:10:6041:21 | entries(...) : ImmutableSet [, ] : Object | Test.java:6042:20:6042:22 | out : ImmutableSet [, ] : Object | provenance | | +| Test.java:6042:9:6042:23 | getElement(...) : Entry [] : Object | Test.java:6042:9:6042:32 | getKey(...) | provenance | MaD:565 | +| Test.java:6042:20:6042:22 | out : ImmutableSet [, ] : Object | Test.java:6042:9:6042:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | +| Test.java:6047:27:6047:81 | (...)... : ImmutableMultimap [] : Object | Test.java:6048:10:6048:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6047:46:6047:81 | of(...) : ImmutableMultimap [] : Object | Test.java:6047:27:6047:81 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6047:67:6047:74 | source(...) : Object | Test.java:6047:46:6047:81 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6048:10:6048:11 | in : ImmutableMultimap [] : Object | Test.java:6048:10:6048:21 | entries(...) : ImmutableCollection [, ] : Object | provenance | MaD:370 | +| Test.java:6048:10:6048:21 | entries(...) : ImmutableCollection [, ] : Object | Test.java:6049:20:6049:22 | out : ImmutableCollection [, ] : Object | provenance | | +| Test.java:6049:9:6049:23 | getElement(...) : Entry [] : Object | Test.java:6049:9:6049:32 | getKey(...) | provenance | MaD:565 | +| Test.java:6049:20:6049:22 | out : ImmutableCollection [, ] : Object | Test.java:6049:9:6049:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | +| Test.java:6054:18:6054:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6055:10:6055:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6054:28:6054:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6054:18:6054:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6054:49:6054:56 | source(...) : Object | Test.java:6054:28:6054:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6055:10:6055:11 | in : ImmutableMultimap [] : Object | Test.java:6055:10:6055:21 | entries(...) : Collection [, ] : Object | provenance | MaD:370 | +| Test.java:6055:10:6055:21 | entries(...) : Collection [, ] : Object | Test.java:6056:20:6056:22 | out : Collection [, ] : Object | provenance | | +| Test.java:6056:9:6056:23 | getElement(...) : Entry [] : Object | Test.java:6056:9:6056:32 | getKey(...) | provenance | MaD:565 | +| Test.java:6056:20:6056:22 | out : Collection [, ] : Object | Test.java:6056:9:6056:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | +| Test.java:6061:21:6061:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6062:10:6062:11 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6061:34:6061:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6061:21:6061:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6061:64:6061:71 | source(...) : Object | Test.java:6061:34:6061:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:6062:10:6062:11 | in : ImmutableSetMultimap [] : Object | Test.java:6062:10:6062:21 | entries(...) : Set [, ] : Object | provenance | MaD:371 | +| Test.java:6062:10:6062:21 | entries(...) : Set [, ] : Object | Test.java:6063:20:6063:22 | out : Set [, ] : Object | provenance | | +| Test.java:6063:9:6063:23 | getElement(...) : Entry [] : Object | Test.java:6063:9:6063:34 | getValue(...) | provenance | MaD:566 | +| Test.java:6063:20:6063:22 | out : Set [, ] : Object | Test.java:6063:9:6063:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | +| Test.java:6068:28:6068:110 | (...)... : LinkedHashMultimap [] : Object | Test.java:6069:10:6069:11 | in : LinkedHashMultimap [] : Object | provenance | | +| Test.java:6068:48:6068:110 | create(...) : LinkedHashMultimap [] : Object | Test.java:6068:28:6068:110 | (...)... : LinkedHashMultimap [] : Object | provenance | | +| Test.java:6068:74:6068:109 | of(...) : ImmutableMultimap [] : Object | Test.java:6068:48:6068:110 | create(...) : LinkedHashMultimap [] : Object | provenance | MaD:288 | +| Test.java:6068:101:6068:108 | source(...) : Object | Test.java:6068:74:6068:109 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6069:10:6069:11 | in : LinkedHashMultimap [] : Object | Test.java:6069:10:6069:21 | entries(...) : Set [, ] : Object | provenance | MaD:371 | +| Test.java:6069:10:6069:21 | entries(...) : Set [, ] : Object | Test.java:6070:20:6070:22 | out : Set [, ] : Object | provenance | | +| Test.java:6070:9:6070:23 | getElement(...) : Entry [] : Object | Test.java:6070:9:6070:34 | getValue(...) | provenance | MaD:566 | +| Test.java:6070:20:6070:22 | out : Set [, ] : Object | Test.java:6070:9:6070:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | +| Test.java:6075:28:6075:110 | (...)... : LinkedListMultimap [] : Object | Test.java:6076:10:6076:11 | in : LinkedListMultimap [] : Object | provenance | | +| Test.java:6075:48:6075:110 | create(...) : LinkedListMultimap [] : Object | Test.java:6075:28:6075:110 | (...)... : LinkedListMultimap [] : Object | provenance | | +| Test.java:6075:74:6075:109 | of(...) : ImmutableMultimap [] : Object | Test.java:6075:48:6075:110 | create(...) : LinkedListMultimap [] : Object | provenance | MaD:291 | +| Test.java:6075:101:6075:108 | source(...) : Object | Test.java:6075:74:6075:109 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6076:10:6076:11 | in : LinkedListMultimap [] : Object | Test.java:6076:10:6076:21 | entries(...) : List [, ] : Object | provenance | MaD:371 | +| Test.java:6076:10:6076:21 | entries(...) : List [, ] : Object | Test.java:6077:20:6077:22 | out : List [, ] : Object | provenance | | +| Test.java:6077:9:6077:23 | getElement(...) : Entry [] : Object | Test.java:6077:9:6077:34 | getValue(...) | provenance | MaD:566 | +| Test.java:6077:20:6077:22 | out : List [, ] : Object | Test.java:6077:9:6077:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | +| Test.java:6082:30:6082:90 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6083:10:6083:11 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6082:52:6082:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6082:30:6082:90 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6082:82:6082:89 | source(...) : Object | Test.java:6082:52:6082:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:6083:10:6083:11 | in : ImmutableSetMultimap [] : Object | Test.java:6083:10:6083:21 | entries(...) : ImmutableSet [, ] : Object | provenance | MaD:371 | +| Test.java:6083:10:6083:21 | entries(...) : ImmutableSet [, ] : Object | Test.java:6084:20:6084:22 | out : ImmutableSet [, ] : Object | provenance | | +| Test.java:6084:9:6084:23 | getElement(...) : Entry [] : Object | Test.java:6084:9:6084:34 | getValue(...) | provenance | MaD:566 | +| Test.java:6084:20:6084:22 | out : ImmutableSet [, ] : Object | Test.java:6084:9:6084:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | +| Test.java:6089:27:6089:81 | (...)... : ImmutableMultimap [] : Object | Test.java:6090:10:6090:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6089:46:6089:81 | of(...) : ImmutableMultimap [] : Object | Test.java:6089:27:6089:81 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6089:73:6089:80 | source(...) : Object | Test.java:6089:46:6089:81 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6090:10:6090:11 | in : ImmutableMultimap [] : Object | Test.java:6090:10:6090:21 | entries(...) : ImmutableCollection [, ] : Object | provenance | MaD:371 | +| Test.java:6090:10:6090:21 | entries(...) : ImmutableCollection [, ] : Object | Test.java:6091:20:6091:22 | out : ImmutableCollection [, ] : Object | provenance | | +| Test.java:6091:9:6091:23 | getElement(...) : Entry [] : Object | Test.java:6091:9:6091:34 | getValue(...) | provenance | MaD:566 | +| Test.java:6091:20:6091:22 | out : ImmutableCollection [, ] : Object | Test.java:6091:9:6091:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | +| Test.java:6096:18:6096:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6097:10:6097:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6096:28:6096:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6096:18:6096:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6096:55:6096:62 | source(...) : Object | Test.java:6096:28:6096:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6097:10:6097:11 | in : ImmutableMultimap [] : Object | Test.java:6097:10:6097:21 | entries(...) : Collection [, ] : Object | provenance | MaD:371 | +| Test.java:6097:10:6097:21 | entries(...) : Collection [, ] : Object | Test.java:6098:20:6098:22 | out : Collection [, ] : Object | provenance | | +| Test.java:6098:9:6098:23 | getElement(...) : Entry [] : Object | Test.java:6098:9:6098:34 | getValue(...) | provenance | MaD:566 | +| Test.java:6098:20:6098:22 | out : Collection [, ] : Object | Test.java:6098:9:6098:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | +| Test.java:6103:27:6103:114 | (...)... : TreeMultimap [] : Comparable | Test.java:6104:10:6104:11 | in : TreeMultimap [] : Comparable | provenance | | +| Test.java:6103:46:6103:114 | create(...) : TreeMultimap [] : Comparable | Test.java:6103:27:6103:114 | (...)... : TreeMultimap [] : Comparable | provenance | | +| Test.java:6103:66:6103:113 | of(...) : ImmutableMultimap [] : Comparable | Test.java:6103:46:6103:114 | create(...) : TreeMultimap [] : Comparable | provenance | MaD:553 | +| Test.java:6103:93:6103:112 | (...)... : Comparable | Test.java:6103:66:6103:113 | of(...) : ImmutableMultimap [] : Comparable | provenance | MaD:104 | +| Test.java:6103:105:6103:112 | source(...) : Object | Test.java:6103:93:6103:112 | (...)... : Comparable | provenance | | +| Test.java:6104:10:6104:11 | in : TreeMultimap [] : Comparable | Test.java:6104:10:6104:21 | get(...) : SortedSet [] : Comparable | provenance | MaD:372 | +| Test.java:6104:10:6104:21 | get(...) : SortedSet [] : Comparable | Test.java:6105:20:6105:22 | out : SortedSet [] : Comparable | provenance | | +| Test.java:6105:20:6105:22 | out : SortedSet [] : Comparable | Test.java:110:19:110:32 | it : SortedSet [] : Comparable | provenance | | +| Test.java:6105:20:6105:22 | out : SortedSet [] : Comparable | Test.java:6105:9:6105:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6110:21:6110:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6111:10:6111:11 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6110:34:6110:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6110:21:6110:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6110:64:6110:71 | source(...) : Object | Test.java:6110:34:6110:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:6111:10:6111:11 | in : ImmutableSetMultimap [] : Object | Test.java:6111:10:6111:21 | get(...) : Set [] : Object | provenance | MaD:372 | +| Test.java:6111:10:6111:21 | get(...) : Set [] : Object | Test.java:6112:20:6112:22 | out : Set [] : Object | provenance | | +| Test.java:6112:20:6112:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | provenance | | +| Test.java:6112:20:6112:22 | out : Set [] : Object | Test.java:6112:9:6112:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6117:22:6117:104 | (...)... : TreeMultimap [] : Comparable | Test.java:6118:10:6118:11 | in : TreeMultimap [] : Comparable | provenance | | +| Test.java:6117:36:6117:104 | create(...) : TreeMultimap [] : Comparable | Test.java:6117:22:6117:104 | (...)... : TreeMultimap [] : Comparable | provenance | | +| Test.java:6117:56:6117:103 | of(...) : ImmutableMultimap [] : Comparable | Test.java:6117:36:6117:104 | create(...) : TreeMultimap [] : Comparable | provenance | MaD:553 | +| Test.java:6117:83:6117:102 | (...)... : Comparable | Test.java:6117:56:6117:103 | of(...) : ImmutableMultimap [] : Comparable | provenance | MaD:104 | +| Test.java:6117:95:6117:102 | source(...) : Object | Test.java:6117:83:6117:102 | (...)... : Comparable | provenance | | +| Test.java:6118:10:6118:11 | in : TreeMultimap [] : Comparable | Test.java:6118:10:6118:21 | get(...) : NavigableSet [] : Comparable | provenance | MaD:372 | +| Test.java:6118:10:6118:21 | get(...) : NavigableSet [] : Comparable | Test.java:6119:20:6119:22 | out : NavigableSet [] : Comparable | provenance | | +| Test.java:6119:20:6119:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | provenance | | +| Test.java:6119:20:6119:22 | out : NavigableSet [] : Comparable | Test.java:6119:9:6119:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6124:22:6124:75 | (...)... : ImmutableListMultimap [] : Object | Test.java:6125:10:6125:11 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6124:36:6124:75 | of(...) : ImmutableListMultimap [] : Object | Test.java:6124:22:6124:75 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6124:67:6124:74 | source(...) : Object | Test.java:6124:36:6124:75 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:61 | +| Test.java:6125:10:6125:11 | in : ImmutableListMultimap [] : Object | Test.java:6125:10:6125:21 | get(...) : List [] : Object | provenance | MaD:372 | +| Test.java:6125:10:6125:21 | get(...) : List [] : Object | Test.java:6126:20:6126:22 | out : List [] : Object | provenance | | +| Test.java:6126:20:6126:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:6126:20:6126:22 | out : List [] : Object | Test.java:6126:9:6126:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6131:28:6131:110 | (...)... : LinkedListMultimap [] : Object | Test.java:6132:10:6132:11 | in : LinkedListMultimap [] : Object | provenance | | +| Test.java:6131:48:6131:110 | create(...) : LinkedListMultimap [] : Object | Test.java:6131:28:6131:110 | (...)... : LinkedListMultimap [] : Object | provenance | | +| Test.java:6131:74:6131:109 | of(...) : ImmutableMultimap [] : Object | Test.java:6131:48:6131:110 | create(...) : LinkedListMultimap [] : Object | provenance | MaD:291 | +| Test.java:6131:101:6131:108 | source(...) : Object | Test.java:6131:74:6131:109 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6132:10:6132:11 | in : LinkedListMultimap [] : Object | Test.java:6132:10:6132:21 | get(...) : List [] : Object | provenance | MaD:372 | +| Test.java:6132:10:6132:21 | get(...) : List [] : Object | Test.java:6133:20:6133:22 | out : List [] : Object | provenance | | +| Test.java:6133:20:6133:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:6133:20:6133:22 | out : List [] : Object | Test.java:6133:9:6133:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6138:30:6138:90 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6139:10:6139:11 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6138:52:6138:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6138:30:6138:90 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6138:82:6138:89 | source(...) : Object | Test.java:6138:52:6138:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:6139:10:6139:11 | in : ImmutableSetMultimap [] : Object | Test.java:6139:10:6139:21 | get(...) : ImmutableSet [] : Object | provenance | MaD:372 | +| Test.java:6139:10:6139:21 | get(...) : ImmutableSet [] : Object | Test.java:6140:20:6140:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:6140:20:6140:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:6140:20:6140:22 | out : ImmutableSet [] : Object | Test.java:6140:9:6140:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6145:31:6145:93 | (...)... : ImmutableListMultimap [] : Object | Test.java:6146:10:6146:11 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6145:54:6145:93 | of(...) : ImmutableListMultimap [] : Object | Test.java:6145:31:6145:93 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6145:85:6145:92 | source(...) : Object | Test.java:6145:54:6145:93 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:61 | +| Test.java:6146:10:6146:11 | in : ImmutableListMultimap [] : Object | Test.java:6146:10:6146:21 | get(...) : ImmutableList [] : Object | provenance | MaD:372 | +| Test.java:6146:10:6146:21 | get(...) : ImmutableList [] : Object | Test.java:6147:20:6147:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:6147:20:6147:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:6147:20:6147:22 | out : ImmutableList [] : Object | Test.java:6147:9:6147:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6152:27:6152:81 | (...)... : ImmutableMultimap [] : Object | Test.java:6153:10:6153:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6152:46:6152:81 | of(...) : ImmutableMultimap [] : Object | Test.java:6152:27:6152:81 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6152:73:6152:80 | source(...) : Object | Test.java:6152:46:6152:81 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6153:10:6153:11 | in : ImmutableMultimap [] : Object | Test.java:6153:10:6153:21 | get(...) : ImmutableCollection [] : Object | provenance | MaD:372 | +| Test.java:6153:10:6153:21 | get(...) : ImmutableCollection [] : Object | Test.java:6154:20:6154:22 | out : ImmutableCollection [] : Object | provenance | | +| Test.java:6154:20:6154:22 | out : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | provenance | | +| Test.java:6154:20:6154:22 | out : ImmutableCollection [] : Object | Test.java:6154:9:6154:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6159:18:6159:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6160:10:6160:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6159:28:6159:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6159:18:6159:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6159:55:6159:62 | source(...) : Object | Test.java:6159:28:6159:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6160:10:6160:11 | in : ImmutableMultimap [] : Object | Test.java:6160:10:6160:21 | get(...) : Collection [] : Object | provenance | MaD:372 | +| Test.java:6160:10:6160:21 | get(...) : Collection [] : Object | Test.java:6161:20:6161:22 | out : Collection [] : Object | provenance | | +| Test.java:6161:20:6161:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:6161:20:6161:22 | out : Collection [] : Object | Test.java:6161:9:6161:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6166:18:6166:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6167:10:6167:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6166:28:6166:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6166:18:6166:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6166:49:6166:56 | source(...) : Object | Test.java:6166:28:6166:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6167:10:6167:11 | in : ImmutableMultimap [] : Object | Test.java:6167:10:6167:20 | keySet(...) : Set [] : Object | provenance | MaD:373 | +| Test.java:6167:10:6167:20 | keySet(...) : Set [] : Object | Test.java:6168:20:6168:22 | out : Set [] : Object | provenance | | +| Test.java:6168:20:6168:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | provenance | | +| Test.java:6168:20:6168:22 | out : Set [] : Object | Test.java:6168:9:6168:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6173:28:6173:110 | (...)... : LinkedHashMultimap [] : Object | Test.java:6174:10:6174:11 | in : LinkedHashMultimap [] : Object | provenance | | +| Test.java:6173:48:6173:110 | create(...) : LinkedHashMultimap [] : Object | Test.java:6173:28:6173:110 | (...)... : LinkedHashMultimap [] : Object | provenance | | +| Test.java:6173:74:6173:109 | of(...) : ImmutableMultimap [] : Object | Test.java:6173:48:6173:110 | create(...) : LinkedHashMultimap [] : Object | provenance | MaD:287 | +| Test.java:6173:95:6173:102 | source(...) : Object | Test.java:6173:74:6173:109 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6174:10:6174:11 | in : LinkedHashMultimap [] : Object | Test.java:6174:10:6174:20 | keySet(...) : Set [] : Object | provenance | MaD:373 | +| Test.java:6174:10:6174:20 | keySet(...) : Set [] : Object | Test.java:6175:20:6175:22 | out : Set [] : Object | provenance | | +| Test.java:6175:20:6175:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | provenance | | +| Test.java:6175:20:6175:22 | out : Set [] : Object | Test.java:6175:9:6175:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6180:22:6180:104 | (...)... : TreeMultimap [] : Comparable | Test.java:6181:10:6181:11 | in : TreeMultimap [] : Comparable | provenance | | +| Test.java:6180:36:6180:104 | create(...) : TreeMultimap [] : Comparable | Test.java:6180:22:6180:104 | (...)... : TreeMultimap [] : Comparable | provenance | | +| Test.java:6180:56:6180:103 | of(...) : ImmutableMultimap [] : Comparable | Test.java:6180:36:6180:104 | create(...) : TreeMultimap [] : Comparable | provenance | MaD:552 | +| Test.java:6180:77:6180:96 | (...)... : Comparable | Test.java:6180:56:6180:103 | of(...) : ImmutableMultimap [] : Comparable | provenance | MaD:103 | +| Test.java:6180:89:6180:96 | source(...) : Object | Test.java:6180:77:6180:96 | (...)... : Comparable | provenance | | +| Test.java:6181:10:6181:11 | in : TreeMultimap [] : Comparable | Test.java:6181:10:6181:20 | keySet(...) : NavigableSet [] : Comparable | provenance | MaD:373 | +| Test.java:6181:10:6181:20 | keySet(...) : NavigableSet [] : Comparable | Test.java:6182:20:6182:22 | out : NavigableSet [] : Comparable | provenance | | +| Test.java:6182:20:6182:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | provenance | | +| Test.java:6182:20:6182:22 | out : NavigableSet [] : Comparable | Test.java:6182:9:6182:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6187:27:6187:81 | (...)... : ImmutableMultimap [] : Object | Test.java:6188:10:6188:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6187:46:6187:81 | of(...) : ImmutableMultimap [] : Object | Test.java:6187:27:6187:81 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6187:67:6187:74 | source(...) : Object | Test.java:6187:46:6187:81 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6188:10:6188:11 | in : ImmutableMultimap [] : Object | Test.java:6188:10:6188:20 | keySet(...) : ImmutableSet [] : Object | provenance | MaD:373 | +| Test.java:6188:10:6188:20 | keySet(...) : ImmutableSet [] : Object | Test.java:6189:20:6189:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:6189:20:6189:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:6189:20:6189:22 | out : ImmutableSet [] : Object | Test.java:6189:9:6189:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6194:18:6194:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6195:10:6195:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6194:28:6194:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6194:18:6194:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6194:49:6194:56 | source(...) : Object | Test.java:6194:28:6194:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6195:10:6195:11 | in : ImmutableMultimap [] : Object | Test.java:6195:10:6195:18 | keys(...) : Multiset [] : Object | provenance | MaD:374 | +| Test.java:6195:10:6195:18 | keys(...) : Multiset [] : Object | Test.java:6196:20:6196:22 | out : Multiset [] : Object | provenance | | +| Test.java:6196:20:6196:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | provenance | | +| Test.java:6196:20:6196:22 | out : Multiset [] : Object | Test.java:6196:9:6196:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6201:27:6201:81 | (...)... : ImmutableMultimap [] : Object | Test.java:6202:10:6202:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6201:46:6201:81 | of(...) : ImmutableMultimap [] : Object | Test.java:6201:27:6201:81 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6201:67:6201:74 | source(...) : Object | Test.java:6201:46:6201:81 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6202:10:6202:11 | in : ImmutableMultimap [] : Object | Test.java:6202:10:6202:18 | keys(...) : ImmutableMultiset [] : Object | provenance | MaD:374 | +| Test.java:6202:10:6202:18 | keys(...) : ImmutableMultiset [] : Object | Test.java:6203:20:6203:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:6203:20:6203:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:6203:20:6203:22 | out : ImmutableMultiset [] : Object | Test.java:6203:9:6203:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6208:16:6208:31 | (...)... : Object | Test.java:6209:12:6209:13 | in : Object | provenance | | +| Test.java:6208:24:6208:31 | source(...) : Object | Test.java:6208:16:6208:31 | (...)... : Object | provenance | | +| Test.java:6209:4:6209:6 | out [post update] : Multimap [] : Object | Test.java:6210:19:6210:21 | out : Multimap [] : Object | provenance | | +| Test.java:6209:12:6209:13 | in : Object | Test.java:6209:4:6209:6 | out [post update] : Multimap [] : Object | provenance | MaD:375 | +| Test.java:6210:19:6210:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | provenance | | +| Test.java:6210:19:6210:21 | out : Multimap [] : Object | Test.java:6210:9:6210:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6215:16:6215:31 | (...)... : Object | Test.java:6216:12:6216:13 | in : Object | provenance | | +| Test.java:6215:24:6215:31 | source(...) : Object | Test.java:6215:16:6215:31 | (...)... : Object | provenance | | +| Test.java:6216:4:6216:6 | out [post update] : LinkedListMultimap [] : Object | Test.java:6217:19:6217:21 | out : LinkedListMultimap [] : Object | provenance | | +| Test.java:6216:12:6216:13 | in : Object | Test.java:6216:4:6216:6 | out [post update] : LinkedListMultimap [] : Object | provenance | MaD:375 | +| Test.java:6217:19:6217:21 | out : LinkedListMultimap [] : Object | Test.java:100:18:100:34 | map : LinkedListMultimap [] : Object | provenance | | +| Test.java:6217:19:6217:21 | out : LinkedListMultimap [] : Object | Test.java:6217:9:6217:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6222:16:6222:31 | (...)... : Object | Test.java:6223:12:6223:13 | in : Object | provenance | | +| Test.java:6222:24:6222:31 | source(...) : Object | Test.java:6222:16:6222:31 | (...)... : Object | provenance | | +| Test.java:6223:4:6223:6 | out [post update] : ImmutableMultimap [] : Object | Test.java:6224:19:6224:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:6223:12:6223:13 | in : Object | Test.java:6223:4:6223:6 | out [post update] : ImmutableMultimap [] : Object | provenance | MaD:375 | +| Test.java:6224:19:6224:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:6224:19:6224:21 | out : ImmutableMultimap [] : Object | Test.java:6224:9:6224:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6229:16:6229:31 | (...)... : Object | Test.java:6230:18:6230:19 | in : Object | provenance | | +| Test.java:6229:24:6229:31 | source(...) : Object | Test.java:6229:16:6229:31 | (...)... : Object | provenance | | +| Test.java:6230:4:6230:6 | out [post update] : Multimap [] : Object | Test.java:6231:21:6231:23 | out : Multimap [] : Object | provenance | | +| Test.java:6230:18:6230:19 | in : Object | Test.java:6230:4:6230:6 | out [post update] : Multimap [] : Object | provenance | MaD:376 | +| Test.java:6231:21:6231:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | provenance | | +| Test.java:6231:21:6231:23 | out : Multimap [] : Object | Test.java:6231:9:6231:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6236:16:6236:31 | (...)... : Object | Test.java:6237:18:6237:19 | in : Object | provenance | | +| Test.java:6236:24:6236:31 | source(...) : Object | Test.java:6236:16:6236:31 | (...)... : Object | provenance | | +| Test.java:6237:4:6237:6 | out [post update] : LinkedListMultimap [] : Object | Test.java:6238:21:6238:23 | out : LinkedListMultimap [] : Object | provenance | | +| Test.java:6237:18:6237:19 | in : Object | Test.java:6237:4:6237:6 | out [post update] : LinkedListMultimap [] : Object | provenance | MaD:376 | +| Test.java:6238:21:6238:23 | out : LinkedListMultimap [] : Object | Test.java:119:20:119:36 | map : LinkedListMultimap [] : Object | provenance | | +| Test.java:6238:21:6238:23 | out : LinkedListMultimap [] : Object | Test.java:6238:9:6238:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6243:16:6243:31 | (...)... : Object | Test.java:6244:18:6244:19 | in : Object | provenance | | +| Test.java:6243:24:6243:31 | source(...) : Object | Test.java:6243:16:6243:31 | (...)... : Object | provenance | | +| Test.java:6244:4:6244:6 | out [post update] : ImmutableMultimap [] : Object | Test.java:6245:21:6245:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:6244:18:6244:19 | in : Object | Test.java:6244:4:6244:6 | out [post update] : ImmutableMultimap [] : Object | provenance | MaD:376 | +| Test.java:6245:21:6245:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:6245:21:6245:23 | out : ImmutableMultimap [] : Object | Test.java:6245:9:6245:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6250:18:6250:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6251:15:6251:16 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6250:28:6250:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6250:18:6250:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6250:49:6250:56 | source(...) : Object | Test.java:6250:28:6250:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6251:4:6251:6 | out [post update] : Multimap [] : Object | Test.java:6252:19:6252:21 | out : Multimap [] : Object | provenance | | +| Test.java:6251:15:6251:16 | in : ImmutableMultimap [] : Object | Test.java:6251:4:6251:6 | out [post update] : Multimap [] : Object | provenance | MaD:377 | +| Test.java:6252:19:6252:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | provenance | | +| Test.java:6252:19:6252:21 | out : Multimap [] : Object | Test.java:6252:9:6252:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6257:18:6257:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6258:15:6258:16 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6257:28:6257:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6257:18:6257:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6257:49:6257:56 | source(...) : Object | Test.java:6257:28:6257:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6258:4:6258:6 | out [post update] : ImmutableMultimap [] : Object | Test.java:6259:19:6259:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:6258:15:6258:16 | in : ImmutableMultimap [] : Object | Test.java:6258:4:6258:6 | out [post update] : ImmutableMultimap [] : Object | provenance | MaD:377 | +| Test.java:6259:19:6259:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:6259:19:6259:21 | out : ImmutableMultimap [] : Object | Test.java:6259:9:6259:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6264:18:6264:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6265:15:6265:16 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6264:28:6264:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6264:18:6264:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6264:55:6264:62 | source(...) : Object | Test.java:6264:28:6264:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6265:4:6265:6 | out [post update] : Multimap [] : Object | Test.java:6266:21:6266:23 | out : Multimap [] : Object | provenance | | +| Test.java:6265:15:6265:16 | in : ImmutableMultimap [] : Object | Test.java:6265:4:6265:6 | out [post update] : Multimap [] : Object | provenance | MaD:378 | +| Test.java:6266:21:6266:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | provenance | | +| Test.java:6266:21:6266:23 | out : Multimap [] : Object | Test.java:6266:9:6266:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6271:18:6271:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6272:15:6272:16 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6271:28:6271:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6271:18:6271:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6271:55:6271:62 | source(...) : Object | Test.java:6271:28:6271:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6272:4:6272:6 | out [post update] : ImmutableMultimap [] : Object | Test.java:6273:21:6273:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:6272:15:6272:16 | in : ImmutableMultimap [] : Object | Test.java:6272:4:6272:6 | out [post update] : ImmutableMultimap [] : Object | provenance | MaD:378 | +| Test.java:6273:21:6273:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:6273:21:6273:23 | out : ImmutableMultimap [] : Object | Test.java:6273:9:6273:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6278:16:6278:31 | (...)... : Object | Test.java:6279:15:6279:16 | in : Object | provenance | | +| Test.java:6278:24:6278:31 | source(...) : Object | Test.java:6278:16:6278:31 | (...)... : Object | provenance | | +| Test.java:6279:4:6279:6 | out [post update] : Multimap [] : Object | Test.java:6280:19:6280:21 | out : Multimap [] : Object | provenance | | +| Test.java:6279:15:6279:16 | in : Object | Test.java:6279:4:6279:6 | out [post update] : Multimap [] : Object | provenance | MaD:379 | +| Test.java:6280:19:6280:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | provenance | | +| Test.java:6280:19:6280:21 | out : Multimap [] : Object | Test.java:6280:9:6280:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6285:16:6285:31 | (...)... : Object | Test.java:6286:15:6286:16 | in : Object | provenance | | +| Test.java:6285:24:6285:31 | source(...) : Object | Test.java:6285:16:6285:31 | (...)... : Object | provenance | | +| Test.java:6286:4:6286:6 | out [post update] : ImmutableMultimap [] : Object | Test.java:6287:19:6287:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:6286:15:6286:16 | in : Object | Test.java:6286:4:6286:6 | out [post update] : ImmutableMultimap [] : Object | provenance | MaD:379 | +| Test.java:6287:19:6287:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:6287:19:6287:21 | out : ImmutableMultimap [] : Object | Test.java:6287:9:6287:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6292:18:6292:44 | (...)... : List [] : Object | Test.java:6293:21:6293:22 | in : List [] : Object | provenance | | +| Test.java:6292:28:6292:44 | of(...) : List [] : Object | Test.java:6292:18:6292:44 | (...)... : List [] : Object | provenance | | +| Test.java:6292:36:6292:43 | source(...) : Object | Test.java:6292:28:6292:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:6293:4:6293:6 | out [post update] : Multimap [] : Object | Test.java:6294:21:6294:23 | out : Multimap [] : Object | provenance | | +| Test.java:6293:21:6293:22 | in : List [] : Object | Test.java:6293:4:6293:6 | out [post update] : Multimap [] : Object | provenance | MaD:380 | +| Test.java:6294:21:6294:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | provenance | | +| Test.java:6294:21:6294:23 | out : Multimap [] : Object | Test.java:6294:9:6294:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6299:18:6299:44 | (...)... : List [] : Object | Test.java:6300:21:6300:22 | in : List [] : Object | provenance | | +| Test.java:6299:28:6299:44 | of(...) : List [] : Object | Test.java:6299:18:6299:44 | (...)... : List [] : Object | provenance | | +| Test.java:6299:36:6299:43 | source(...) : Object | Test.java:6299:28:6299:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:6300:4:6300:6 | out [post update] : ImmutableMultimap [] : Object | Test.java:6301:21:6301:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:6300:21:6300:22 | in : List [] : Object | Test.java:6300:4:6300:6 | out [post update] : ImmutableMultimap [] : Object | provenance | MaD:380 | +| Test.java:6301:21:6301:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:6301:21:6301:23 | out : ImmutableMultimap [] : Object | Test.java:6301:9:6301:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6306:27:6306:114 | (...)... : TreeMultimap [] : Comparable | Test.java:6307:10:6307:11 | in : TreeMultimap [] : Comparable | provenance | | +| Test.java:6306:46:6306:114 | create(...) : TreeMultimap [] : Comparable | Test.java:6306:27:6306:114 | (...)... : TreeMultimap [] : Comparable | provenance | | +| Test.java:6306:66:6306:113 | of(...) : ImmutableMultimap [] : Comparable | Test.java:6306:46:6306:114 | create(...) : TreeMultimap [] : Comparable | provenance | MaD:553 | +| Test.java:6306:93:6306:112 | (...)... : Comparable | Test.java:6306:66:6306:113 | of(...) : ImmutableMultimap [] : Comparable | provenance | MaD:104 | +| Test.java:6306:105:6306:112 | source(...) : Object | Test.java:6306:93:6306:112 | (...)... : Comparable | provenance | | +| Test.java:6307:10:6307:11 | in : TreeMultimap [] : Comparable | Test.java:6307:10:6307:27 | removeAll(...) : SortedSet [] : Comparable | provenance | MaD:381 | +| Test.java:6307:10:6307:27 | removeAll(...) : SortedSet [] : Comparable | Test.java:6308:20:6308:22 | out : SortedSet [] : Comparable | provenance | | +| Test.java:6308:20:6308:22 | out : SortedSet [] : Comparable | Test.java:110:19:110:32 | it : SortedSet [] : Comparable | provenance | | +| Test.java:6308:20:6308:22 | out : SortedSet [] : Comparable | Test.java:6308:9:6308:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6313:21:6313:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6314:10:6314:11 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6313:34:6313:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6313:21:6313:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6313:64:6313:71 | source(...) : Object | Test.java:6313:34:6313:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:6314:10:6314:11 | in : ImmutableSetMultimap [] : Object | Test.java:6314:10:6314:27 | removeAll(...) : Set [] : Object | provenance | MaD:381 | +| Test.java:6314:10:6314:27 | removeAll(...) : Set [] : Object | Test.java:6315:20:6315:22 | out : Set [] : Object | provenance | | +| Test.java:6315:20:6315:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | provenance | | +| Test.java:6315:20:6315:22 | out : Set [] : Object | Test.java:6315:9:6315:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6320:22:6320:75 | (...)... : ImmutableListMultimap [] : Object | Test.java:6321:10:6321:11 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6320:36:6320:75 | of(...) : ImmutableListMultimap [] : Object | Test.java:6320:22:6320:75 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6320:67:6320:74 | source(...) : Object | Test.java:6320:36:6320:75 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:61 | +| Test.java:6321:10:6321:11 | in : ImmutableListMultimap [] : Object | Test.java:6321:10:6321:27 | removeAll(...) : List [] : Object | provenance | MaD:381 | +| Test.java:6321:10:6321:27 | removeAll(...) : List [] : Object | Test.java:6322:20:6322:22 | out : List [] : Object | provenance | | +| Test.java:6322:20:6322:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:6322:20:6322:22 | out : List [] : Object | Test.java:6322:9:6322:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6327:28:6327:110 | (...)... : LinkedListMultimap [] : Object | Test.java:6328:10:6328:11 | in : LinkedListMultimap [] : Object | provenance | | +| Test.java:6327:48:6327:110 | create(...) : LinkedListMultimap [] : Object | Test.java:6327:28:6327:110 | (...)... : LinkedListMultimap [] : Object | provenance | | +| Test.java:6327:74:6327:109 | of(...) : ImmutableMultimap [] : Object | Test.java:6327:48:6327:110 | create(...) : LinkedListMultimap [] : Object | provenance | MaD:291 | +| Test.java:6327:101:6327:108 | source(...) : Object | Test.java:6327:74:6327:109 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6328:10:6328:11 | in : LinkedListMultimap [] : Object | Test.java:6328:10:6328:27 | removeAll(...) : List [] : Object | provenance | MaD:381 | +| Test.java:6328:10:6328:27 | removeAll(...) : List [] : Object | Test.java:6329:20:6329:22 | out : List [] : Object | provenance | | +| Test.java:6329:20:6329:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:6329:20:6329:22 | out : List [] : Object | Test.java:6329:9:6329:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6334:30:6334:90 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6335:10:6335:11 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6334:52:6334:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6334:30:6334:90 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6334:82:6334:89 | source(...) : Object | Test.java:6334:52:6334:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:6335:10:6335:11 | in : ImmutableSetMultimap [] : Object | Test.java:6335:10:6335:27 | removeAll(...) : ImmutableSet [] : Object | provenance | MaD:381 | +| Test.java:6335:10:6335:27 | removeAll(...) : ImmutableSet [] : Object | Test.java:6336:20:6336:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:6336:20:6336:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:6336:20:6336:22 | out : ImmutableSet [] : Object | Test.java:6336:9:6336:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6341:31:6341:93 | (...)... : ImmutableListMultimap [] : Object | Test.java:6342:10:6342:11 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6341:54:6341:93 | of(...) : ImmutableListMultimap [] : Object | Test.java:6341:31:6341:93 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6341:85:6341:92 | source(...) : Object | Test.java:6341:54:6341:93 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:61 | +| Test.java:6342:10:6342:11 | in : ImmutableListMultimap [] : Object | Test.java:6342:10:6342:27 | removeAll(...) : ImmutableList [] : Object | provenance | MaD:381 | +| Test.java:6342:10:6342:27 | removeAll(...) : ImmutableList [] : Object | Test.java:6343:20:6343:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:6343:20:6343:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:6343:20:6343:22 | out : ImmutableList [] : Object | Test.java:6343:9:6343:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6348:27:6348:81 | (...)... : ImmutableMultimap [] : Object | Test.java:6349:10:6349:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6348:46:6348:81 | of(...) : ImmutableMultimap [] : Object | Test.java:6348:27:6348:81 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6348:73:6348:80 | source(...) : Object | Test.java:6348:46:6348:81 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6349:10:6349:11 | in : ImmutableMultimap [] : Object | Test.java:6349:10:6349:27 | removeAll(...) : ImmutableCollection [] : Object | provenance | MaD:381 | +| Test.java:6349:10:6349:27 | removeAll(...) : ImmutableCollection [] : Object | Test.java:6350:20:6350:22 | out : ImmutableCollection [] : Object | provenance | | +| Test.java:6350:20:6350:22 | out : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | provenance | | +| Test.java:6350:20:6350:22 | out : ImmutableCollection [] : Object | Test.java:6350:9:6350:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6355:18:6355:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6356:10:6356:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6355:28:6355:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6355:18:6355:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6355:55:6355:62 | source(...) : Object | Test.java:6355:28:6355:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6356:10:6356:11 | in : ImmutableMultimap [] : Object | Test.java:6356:10:6356:27 | removeAll(...) : Collection [] : Object | provenance | MaD:381 | +| Test.java:6356:10:6356:27 | removeAll(...) : Collection [] : Object | Test.java:6357:20:6357:22 | out : Collection [] : Object | provenance | | +| Test.java:6357:20:6357:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:6357:20:6357:22 | out : Collection [] : Object | Test.java:6357:9:6357:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6362:16:6362:31 | (...)... : Object | Test.java:6363:22:6363:23 | in : Object | provenance | | +| Test.java:6362:24:6362:31 | source(...) : Object | Test.java:6362:16:6362:31 | (...)... : Object | provenance | | +| Test.java:6363:4:6363:6 | out [post update] : SortedSetMultimap [] : Object | Test.java:6364:19:6364:21 | out : SortedSetMultimap [] : Object | provenance | | +| Test.java:6363:22:6363:23 | in : Object | Test.java:6363:4:6363:6 | out [post update] : SortedSetMultimap [] : Object | provenance | MaD:383 | +| Test.java:6364:19:6364:21 | out : SortedSetMultimap [] : Object | Test.java:100:18:100:34 | map : SortedSetMultimap [] : Object | provenance | | +| Test.java:6364:19:6364:21 | out : SortedSetMultimap [] : Object | Test.java:6364:9:6364:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6369:16:6369:31 | (...)... : Object | Test.java:6370:22:6370:23 | in : Object | provenance | | +| Test.java:6369:24:6369:31 | source(...) : Object | Test.java:6369:16:6369:31 | (...)... : Object | provenance | | +| Test.java:6370:4:6370:6 | out [post update] : SetMultimap [] : Object | Test.java:6371:19:6371:21 | out : SetMultimap [] : Object | provenance | | +| Test.java:6370:22:6370:23 | in : Object | Test.java:6370:4:6370:6 | out [post update] : SetMultimap [] : Object | provenance | MaD:383 | +| Test.java:6371:19:6371:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | provenance | | +| Test.java:6371:19:6371:21 | out : SetMultimap [] : Object | Test.java:6371:9:6371:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6376:16:6376:31 | (...)... : Object | Test.java:6377:22:6377:23 | in : Object | provenance | | +| Test.java:6376:24:6376:31 | source(...) : Object | Test.java:6376:16:6376:31 | (...)... : Object | provenance | | +| Test.java:6377:4:6377:6 | out [post update] : Multimap [] : Object | Test.java:6378:19:6378:21 | out : Multimap [] : Object | provenance | | +| Test.java:6377:22:6377:23 | in : Object | Test.java:6377:4:6377:6 | out [post update] : Multimap [] : Object | provenance | MaD:383 | +| Test.java:6378:19:6378:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | provenance | | +| Test.java:6378:19:6378:21 | out : Multimap [] : Object | Test.java:6378:9:6378:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6383:16:6383:31 | (...)... : Object | Test.java:6384:22:6384:23 | in : Object | provenance | | +| Test.java:6383:24:6383:31 | source(...) : Object | Test.java:6383:16:6383:31 | (...)... : Object | provenance | | +| Test.java:6384:4:6384:6 | out [post update] : ListMultimap [] : Object | Test.java:6385:19:6385:21 | out : ListMultimap [] : Object | provenance | | +| Test.java:6384:22:6384:23 | in : Object | Test.java:6384:4:6384:6 | out [post update] : ListMultimap [] : Object | provenance | MaD:383 | +| Test.java:6385:19:6385:21 | out : ListMultimap [] : Object | Test.java:100:18:100:34 | map : ListMultimap [] : Object | provenance | | +| Test.java:6385:19:6385:21 | out : ListMultimap [] : Object | Test.java:6385:9:6385:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6390:16:6390:31 | (...)... : Object | Test.java:6391:22:6391:23 | in : Object | provenance | | +| Test.java:6390:24:6390:31 | source(...) : Object | Test.java:6390:16:6390:31 | (...)... : Object | provenance | | +| Test.java:6391:4:6391:6 | out [post update] : LinkedListMultimap [] : Object | Test.java:6392:19:6392:21 | out : LinkedListMultimap [] : Object | provenance | | +| Test.java:6391:22:6391:23 | in : Object | Test.java:6391:4:6391:6 | out [post update] : LinkedListMultimap [] : Object | provenance | MaD:383 | +| Test.java:6392:19:6392:21 | out : LinkedListMultimap [] : Object | Test.java:100:18:100:34 | map : LinkedListMultimap [] : Object | provenance | | +| Test.java:6392:19:6392:21 | out : LinkedListMultimap [] : Object | Test.java:6392:9:6392:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6397:16:6397:31 | (...)... : Object | Test.java:6398:22:6398:23 | in : Object | provenance | | +| Test.java:6397:24:6397:31 | source(...) : Object | Test.java:6397:16:6397:31 | (...)... : Object | provenance | | +| Test.java:6398:4:6398:6 | out [post update] : LinkedHashMultimap [] : Object | Test.java:6399:19:6399:21 | out : LinkedHashMultimap [] : Object | provenance | | +| Test.java:6398:22:6398:23 | in : Object | Test.java:6398:4:6398:6 | out [post update] : LinkedHashMultimap [] : Object | provenance | MaD:383 | +| Test.java:6399:19:6399:21 | out : LinkedHashMultimap [] : Object | Test.java:100:18:100:34 | map : LinkedHashMultimap [] : Object | provenance | | +| Test.java:6399:19:6399:21 | out : LinkedHashMultimap [] : Object | Test.java:6399:9:6399:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6404:16:6404:31 | (...)... : Object | Test.java:6405:22:6405:23 | in : Object | provenance | | +| Test.java:6404:24:6404:31 | source(...) : Object | Test.java:6404:16:6404:31 | (...)... : Object | provenance | | +| Test.java:6405:4:6405:6 | out [post update] : ImmutableSetMultimap [] : Object | Test.java:6406:19:6406:21 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6405:22:6405:23 | in : Object | Test.java:6405:4:6405:6 | out [post update] : ImmutableSetMultimap [] : Object | provenance | MaD:383 | +| Test.java:6406:19:6406:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6406:19:6406:21 | out : ImmutableSetMultimap [] : Object | Test.java:6406:9:6406:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6411:16:6411:31 | (...)... : Object | Test.java:6412:22:6412:23 | in : Object | provenance | | +| Test.java:6411:24:6411:31 | source(...) : Object | Test.java:6411:16:6411:31 | (...)... : Object | provenance | | +| Test.java:6412:4:6412:6 | out [post update] : ImmutableMultimap [] : Object | Test.java:6413:19:6413:21 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:6412:22:6412:23 | in : Object | Test.java:6412:4:6412:6 | out [post update] : ImmutableMultimap [] : Object | provenance | MaD:383 | +| Test.java:6413:19:6413:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:6413:19:6413:21 | out : ImmutableMultimap [] : Object | Test.java:6413:9:6413:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6418:16:6418:31 | (...)... : Object | Test.java:6419:22:6419:23 | in : Object | provenance | | +| Test.java:6418:24:6418:31 | source(...) : Object | Test.java:6418:16:6418:31 | (...)... : Object | provenance | | +| Test.java:6419:4:6419:6 | out [post update] : ImmutableListMultimap [] : Object | Test.java:6420:19:6420:21 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6419:22:6419:23 | in : Object | Test.java:6419:4:6419:6 | out [post update] : ImmutableListMultimap [] : Object | provenance | MaD:383 | +| Test.java:6420:19:6420:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6420:19:6420:21 | out : ImmutableListMultimap [] : Object | Test.java:6420:9:6420:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6425:18:6425:44 | (...)... : List [] : Object | Test.java:6426:28:6426:29 | in : List [] : Object | provenance | | +| Test.java:6425:28:6425:44 | of(...) : List [] : Object | Test.java:6425:18:6425:44 | (...)... : List [] : Object | provenance | | +| Test.java:6425:36:6425:43 | source(...) : Object | Test.java:6425:28:6425:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:6426:4:6426:6 | out [post update] : SortedSetMultimap [] : Object | Test.java:6427:21:6427:23 | out : SortedSetMultimap [] : Object | provenance | | +| Test.java:6426:28:6426:29 | in : List [] : Object | Test.java:6426:4:6426:6 | out [post update] : SortedSetMultimap [] : Object | provenance | MaD:384 | +| Test.java:6427:21:6427:23 | out : SortedSetMultimap [] : Object | Test.java:119:20:119:36 | map : SortedSetMultimap [] : Object | provenance | | +| Test.java:6427:21:6427:23 | out : SortedSetMultimap [] : Object | Test.java:6427:9:6427:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6432:18:6432:44 | (...)... : List [] : Object | Test.java:6433:28:6433:29 | in : List [] : Object | provenance | | +| Test.java:6432:28:6432:44 | of(...) : List [] : Object | Test.java:6432:18:6432:44 | (...)... : List [] : Object | provenance | | +| Test.java:6432:36:6432:43 | source(...) : Object | Test.java:6432:28:6432:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:6433:4:6433:6 | out [post update] : SetMultimap [] : Object | Test.java:6434:21:6434:23 | out : SetMultimap [] : Object | provenance | | +| Test.java:6433:28:6433:29 | in : List [] : Object | Test.java:6433:4:6433:6 | out [post update] : SetMultimap [] : Object | provenance | MaD:384 | +| Test.java:6434:21:6434:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | provenance | | +| Test.java:6434:21:6434:23 | out : SetMultimap [] : Object | Test.java:6434:9:6434:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6439:18:6439:44 | (...)... : List [] : Object | Test.java:6440:28:6440:29 | in : List [] : Object | provenance | | +| Test.java:6439:28:6439:44 | of(...) : List [] : Object | Test.java:6439:18:6439:44 | (...)... : List [] : Object | provenance | | +| Test.java:6439:36:6439:43 | source(...) : Object | Test.java:6439:28:6439:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:6440:4:6440:6 | out [post update] : Multimap [] : Object | Test.java:6441:21:6441:23 | out : Multimap [] : Object | provenance | | +| Test.java:6440:28:6440:29 | in : List [] : Object | Test.java:6440:4:6440:6 | out [post update] : Multimap [] : Object | provenance | MaD:384 | +| Test.java:6441:21:6441:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | provenance | | +| Test.java:6441:21:6441:23 | out : Multimap [] : Object | Test.java:6441:9:6441:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6446:18:6446:44 | (...)... : List [] : Object | Test.java:6447:28:6447:29 | in : List [] : Object | provenance | | +| Test.java:6446:28:6446:44 | of(...) : List [] : Object | Test.java:6446:18:6446:44 | (...)... : List [] : Object | provenance | | +| Test.java:6446:36:6446:43 | source(...) : Object | Test.java:6446:28:6446:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:6447:4:6447:6 | out [post update] : ListMultimap [] : Object | Test.java:6448:21:6448:23 | out : ListMultimap [] : Object | provenance | | +| Test.java:6447:28:6447:29 | in : List [] : Object | Test.java:6447:4:6447:6 | out [post update] : ListMultimap [] : Object | provenance | MaD:384 | +| Test.java:6448:21:6448:23 | out : ListMultimap [] : Object | Test.java:119:20:119:36 | map : ListMultimap [] : Object | provenance | | +| Test.java:6448:21:6448:23 | out : ListMultimap [] : Object | Test.java:6448:9:6448:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6453:18:6453:44 | (...)... : List [] : Object | Test.java:6454:28:6454:29 | in : List [] : Object | provenance | | +| Test.java:6453:28:6453:44 | of(...) : List [] : Object | Test.java:6453:18:6453:44 | (...)... : List [] : Object | provenance | | +| Test.java:6453:36:6453:43 | source(...) : Object | Test.java:6453:28:6453:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:6454:4:6454:6 | out [post update] : LinkedListMultimap [] : Object | Test.java:6455:21:6455:23 | out : LinkedListMultimap [] : Object | provenance | | +| Test.java:6454:28:6454:29 | in : List [] : Object | Test.java:6454:4:6454:6 | out [post update] : LinkedListMultimap [] : Object | provenance | MaD:384 | +| Test.java:6455:21:6455:23 | out : LinkedListMultimap [] : Object | Test.java:119:20:119:36 | map : LinkedListMultimap [] : Object | provenance | | +| Test.java:6455:21:6455:23 | out : LinkedListMultimap [] : Object | Test.java:6455:9:6455:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6460:18:6460:44 | (...)... : List [] : Object | Test.java:6461:28:6461:29 | in : List [] : Object | provenance | | +| Test.java:6460:28:6460:44 | of(...) : List [] : Object | Test.java:6460:18:6460:44 | (...)... : List [] : Object | provenance | | +| Test.java:6460:36:6460:43 | source(...) : Object | Test.java:6460:28:6460:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:6461:4:6461:6 | out [post update] : LinkedHashMultimap [] : Object | Test.java:6462:21:6462:23 | out : LinkedHashMultimap [] : Object | provenance | | +| Test.java:6461:28:6461:29 | in : List [] : Object | Test.java:6461:4:6461:6 | out [post update] : LinkedHashMultimap [] : Object | provenance | MaD:384 | +| Test.java:6462:21:6462:23 | out : LinkedHashMultimap [] : Object | Test.java:119:20:119:36 | map : LinkedHashMultimap [] : Object | provenance | | +| Test.java:6462:21:6462:23 | out : LinkedHashMultimap [] : Object | Test.java:6462:9:6462:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6467:18:6467:44 | (...)... : List [] : Object | Test.java:6468:28:6468:29 | in : List [] : Object | provenance | | +| Test.java:6467:28:6467:44 | of(...) : List [] : Object | Test.java:6467:18:6467:44 | (...)... : List [] : Object | provenance | | +| Test.java:6467:36:6467:43 | source(...) : Object | Test.java:6467:28:6467:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:6468:4:6468:6 | out [post update] : ImmutableSetMultimap [] : Object | Test.java:6469:21:6469:23 | out : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6468:28:6468:29 | in : List [] : Object | Test.java:6468:4:6468:6 | out [post update] : ImmutableSetMultimap [] : Object | provenance | MaD:384 | +| Test.java:6469:21:6469:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6469:21:6469:23 | out : ImmutableSetMultimap [] : Object | Test.java:6469:9:6469:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6474:18:6474:44 | (...)... : List [] : Object | Test.java:6475:28:6475:29 | in : List [] : Object | provenance | | +| Test.java:6474:28:6474:44 | of(...) : List [] : Object | Test.java:6474:18:6474:44 | (...)... : List [] : Object | provenance | | +| Test.java:6474:36:6474:43 | source(...) : Object | Test.java:6474:28:6474:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:6475:4:6475:6 | out [post update] : ImmutableMultimap [] : Object | Test.java:6476:21:6476:23 | out : ImmutableMultimap [] : Object | provenance | | +| Test.java:6475:28:6475:29 | in : List [] : Object | Test.java:6475:4:6475:6 | out [post update] : ImmutableMultimap [] : Object | provenance | MaD:384 | +| Test.java:6476:21:6476:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | provenance | | +| Test.java:6476:21:6476:23 | out : ImmutableMultimap [] : Object | Test.java:6476:9:6476:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6481:18:6481:44 | (...)... : List [] : Object | Test.java:6482:28:6482:29 | in : List [] : Object | provenance | | +| Test.java:6481:28:6481:44 | of(...) : List [] : Object | Test.java:6481:18:6481:44 | (...)... : List [] : Object | provenance | | +| Test.java:6481:36:6481:43 | source(...) : Object | Test.java:6481:28:6481:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:6482:4:6482:6 | out [post update] : ImmutableListMultimap [] : Object | Test.java:6483:21:6483:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6482:28:6482:29 | in : List [] : Object | Test.java:6482:4:6482:6 | out [post update] : ImmutableListMultimap [] : Object | provenance | MaD:384 | +| Test.java:6483:21:6483:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6483:21:6483:23 | out : ImmutableListMultimap [] : Object | Test.java:6483:9:6483:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6488:27:6488:114 | (...)... : TreeMultimap [] : Comparable | Test.java:6489:10:6489:11 | in : TreeMultimap [] : Comparable | provenance | | +| Test.java:6488:46:6488:114 | create(...) : TreeMultimap [] : Comparable | Test.java:6488:27:6488:114 | (...)... : TreeMultimap [] : Comparable | provenance | | +| Test.java:6488:66:6488:113 | of(...) : ImmutableMultimap [] : Comparable | Test.java:6488:46:6488:114 | create(...) : TreeMultimap [] : Comparable | provenance | MaD:553 | +| Test.java:6488:93:6488:112 | (...)... : Comparable | Test.java:6488:66:6488:113 | of(...) : ImmutableMultimap [] : Comparable | provenance | MaD:104 | +| Test.java:6488:105:6488:112 | source(...) : Object | Test.java:6488:93:6488:112 | (...)... : Comparable | provenance | | +| Test.java:6489:10:6489:11 | in : TreeMultimap [] : Comparable | Test.java:6489:10:6489:37 | replaceValues(...) : SortedSet [] : Comparable | provenance | MaD:382 | +| Test.java:6489:10:6489:37 | replaceValues(...) : SortedSet [] : Comparable | Test.java:6490:20:6490:22 | out : SortedSet [] : Comparable | provenance | | +| Test.java:6490:20:6490:22 | out : SortedSet [] : Comparable | Test.java:110:19:110:32 | it : SortedSet [] : Comparable | provenance | | +| Test.java:6490:20:6490:22 | out : SortedSet [] : Comparable | Test.java:6490:9:6490:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6495:21:6495:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6496:10:6496:11 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6495:34:6495:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6495:21:6495:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6495:64:6495:71 | source(...) : Object | Test.java:6495:34:6495:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:6496:10:6496:11 | in : ImmutableSetMultimap [] : Object | Test.java:6496:10:6496:37 | replaceValues(...) : Set [] : Object | provenance | MaD:382 | +| Test.java:6496:10:6496:37 | replaceValues(...) : Set [] : Object | Test.java:6497:20:6497:22 | out : Set [] : Object | provenance | | +| Test.java:6497:20:6497:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | provenance | | +| Test.java:6497:20:6497:22 | out : Set [] : Object | Test.java:6497:9:6497:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6502:28:6502:110 | (...)... : LinkedHashMultimap [] : Object | Test.java:6503:10:6503:11 | in : LinkedHashMultimap [] : Object | provenance | | +| Test.java:6502:48:6502:110 | create(...) : LinkedHashMultimap [] : Object | Test.java:6502:28:6502:110 | (...)... : LinkedHashMultimap [] : Object | provenance | | +| Test.java:6502:74:6502:109 | of(...) : ImmutableMultimap [] : Object | Test.java:6502:48:6502:110 | create(...) : LinkedHashMultimap [] : Object | provenance | MaD:288 | +| Test.java:6502:101:6502:108 | source(...) : Object | Test.java:6502:74:6502:109 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6503:10:6503:11 | in : LinkedHashMultimap [] : Object | Test.java:6503:10:6503:37 | replaceValues(...) : Set [] : Object | provenance | MaD:382 | +| Test.java:6503:10:6503:37 | replaceValues(...) : Set [] : Object | Test.java:6504:20:6504:22 | out : Set [] : Object | provenance | | +| Test.java:6504:20:6504:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | provenance | | +| Test.java:6504:20:6504:22 | out : Set [] : Object | Test.java:6504:9:6504:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6509:22:6509:75 | (...)... : ImmutableListMultimap [] : Object | Test.java:6510:10:6510:11 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6509:36:6509:75 | of(...) : ImmutableListMultimap [] : Object | Test.java:6509:22:6509:75 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6509:67:6509:74 | source(...) : Object | Test.java:6509:36:6509:75 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:61 | +| Test.java:6510:10:6510:11 | in : ImmutableListMultimap [] : Object | Test.java:6510:10:6510:37 | replaceValues(...) : List [] : Object | provenance | MaD:382 | +| Test.java:6510:10:6510:37 | replaceValues(...) : List [] : Object | Test.java:6511:20:6511:22 | out : List [] : Object | provenance | | +| Test.java:6511:20:6511:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:6511:20:6511:22 | out : List [] : Object | Test.java:6511:9:6511:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6516:28:6516:110 | (...)... : LinkedListMultimap [] : Object | Test.java:6517:10:6517:11 | in : LinkedListMultimap [] : Object | provenance | | +| Test.java:6516:48:6516:110 | create(...) : LinkedListMultimap [] : Object | Test.java:6516:28:6516:110 | (...)... : LinkedListMultimap [] : Object | provenance | | +| Test.java:6516:74:6516:109 | of(...) : ImmutableMultimap [] : Object | Test.java:6516:48:6516:110 | create(...) : LinkedListMultimap [] : Object | provenance | MaD:291 | +| Test.java:6516:101:6516:108 | source(...) : Object | Test.java:6516:74:6516:109 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6517:10:6517:11 | in : LinkedListMultimap [] : Object | Test.java:6517:10:6517:37 | replaceValues(...) : List [] : Object | provenance | MaD:382 | +| Test.java:6517:10:6517:37 | replaceValues(...) : List [] : Object | Test.java:6518:20:6518:22 | out : List [] : Object | provenance | | +| Test.java:6518:20:6518:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:6518:20:6518:22 | out : List [] : Object | Test.java:6518:9:6518:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6523:30:6523:90 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6524:10:6524:11 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6523:52:6523:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6523:30:6523:90 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6523:82:6523:89 | source(...) : Object | Test.java:6523:52:6523:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:6524:10:6524:11 | in : ImmutableSetMultimap [] : Object | Test.java:6524:10:6524:37 | replaceValues(...) : ImmutableSet [] : Object | provenance | MaD:382 | +| Test.java:6524:10:6524:37 | replaceValues(...) : ImmutableSet [] : Object | Test.java:6525:20:6525:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:6525:20:6525:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:6525:20:6525:22 | out : ImmutableSet [] : Object | Test.java:6525:9:6525:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6530:31:6530:93 | (...)... : ImmutableListMultimap [] : Object | Test.java:6531:10:6531:11 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6530:54:6530:93 | of(...) : ImmutableListMultimap [] : Object | Test.java:6530:31:6530:93 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6530:85:6530:92 | source(...) : Object | Test.java:6530:54:6530:93 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:61 | +| Test.java:6531:10:6531:11 | in : ImmutableListMultimap [] : Object | Test.java:6531:10:6531:37 | replaceValues(...) : ImmutableList [] : Object | provenance | MaD:382 | +| Test.java:6531:10:6531:37 | replaceValues(...) : ImmutableList [] : Object | Test.java:6532:20:6532:22 | out : ImmutableList [] : Object | provenance | | +| Test.java:6532:20:6532:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | provenance | | +| Test.java:6532:20:6532:22 | out : ImmutableList [] : Object | Test.java:6532:9:6532:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6537:27:6537:81 | (...)... : ImmutableMultimap [] : Object | Test.java:6538:10:6538:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6537:46:6537:81 | of(...) : ImmutableMultimap [] : Object | Test.java:6537:27:6537:81 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6537:73:6537:80 | source(...) : Object | Test.java:6537:46:6537:81 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6538:10:6538:11 | in : ImmutableMultimap [] : Object | Test.java:6538:10:6538:37 | replaceValues(...) : ImmutableCollection [] : Object | provenance | MaD:382 | +| Test.java:6538:10:6538:37 | replaceValues(...) : ImmutableCollection [] : Object | Test.java:6539:20:6539:22 | out : ImmutableCollection [] : Object | provenance | | +| Test.java:6539:20:6539:22 | out : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | provenance | | +| Test.java:6539:20:6539:22 | out : ImmutableCollection [] : Object | Test.java:6539:9:6539:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6544:18:6544:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6545:10:6545:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6544:28:6544:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6544:18:6544:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6544:55:6544:62 | source(...) : Object | Test.java:6544:28:6544:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6545:10:6545:11 | in : ImmutableMultimap [] : Object | Test.java:6545:10:6545:37 | replaceValues(...) : Collection [] : Object | provenance | MaD:382 | +| Test.java:6545:10:6545:37 | replaceValues(...) : Collection [] : Object | Test.java:6546:20:6546:22 | out : Collection [] : Object | provenance | | +| Test.java:6546:20:6546:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:6546:20:6546:22 | out : Collection [] : Object | Test.java:6546:9:6546:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6551:28:6551:110 | (...)... : LinkedListMultimap [] : Object | Test.java:6552:10:6552:11 | in : LinkedListMultimap [] : Object | provenance | | +| Test.java:6551:48:6551:110 | create(...) : LinkedListMultimap [] : Object | Test.java:6551:28:6551:110 | (...)... : LinkedListMultimap [] : Object | provenance | | +| Test.java:6551:74:6551:109 | of(...) : ImmutableMultimap [] : Object | Test.java:6551:48:6551:110 | create(...) : LinkedListMultimap [] : Object | provenance | MaD:291 | +| Test.java:6551:101:6551:108 | source(...) : Object | Test.java:6551:74:6551:109 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6552:10:6552:11 | in : LinkedListMultimap [] : Object | Test.java:6552:10:6552:20 | values(...) : List [] : Object | provenance | MaD:385 | +| Test.java:6552:10:6552:20 | values(...) : List [] : Object | Test.java:6553:20:6553:22 | out : List [] : Object | provenance | | +| Test.java:6553:20:6553:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:6553:20:6553:22 | out : List [] : Object | Test.java:6553:9:6553:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6558:27:6558:81 | (...)... : ImmutableMultimap [] : Object | Test.java:6559:10:6559:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6558:46:6558:81 | of(...) : ImmutableMultimap [] : Object | Test.java:6558:27:6558:81 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6558:73:6558:80 | source(...) : Object | Test.java:6558:46:6558:81 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6559:10:6559:11 | in : ImmutableMultimap [] : Object | Test.java:6559:10:6559:20 | values(...) : ImmutableCollection [] : Object | provenance | MaD:385 | +| Test.java:6559:10:6559:20 | values(...) : ImmutableCollection [] : Object | Test.java:6560:20:6560:22 | out : ImmutableCollection [] : Object | provenance | | +| Test.java:6560:20:6560:22 | out : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | provenance | | +| Test.java:6560:20:6560:22 | out : ImmutableCollection [] : Object | Test.java:6560:9:6560:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6565:18:6565:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6566:10:6566:11 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6565:28:6565:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6565:18:6565:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6565:55:6565:62 | source(...) : Object | Test.java:6565:28:6565:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6566:10:6566:11 | in : ImmutableMultimap [] : Object | Test.java:6566:10:6566:20 | values(...) : Collection [] : Object | provenance | MaD:385 | +| Test.java:6566:10:6566:20 | values(...) : Collection [] : Object | Test.java:6567:20:6567:22 | out : Collection [] : Object | provenance | | +| Test.java:6567:20:6567:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:6567:20:6567:22 | out : Collection [] : Object | Test.java:6567:9:6567:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6572:28:6572:110 | (...)... : LinkedHashMultimap [] : Object | Test.java:6573:10:6573:11 | in : LinkedHashMultimap [] : Object | provenance | | +| Test.java:6572:48:6572:110 | create(...) : LinkedHashMultimap [] : Object | Test.java:6572:28:6572:110 | (...)... : LinkedHashMultimap [] : Object | provenance | | +| Test.java:6572:74:6572:109 | of(...) : ImmutableMultimap [] : Object | Test.java:6572:48:6572:110 | create(...) : LinkedHashMultimap [] : Object | provenance | MaD:288 | +| Test.java:6572:101:6572:108 | source(...) : Object | Test.java:6572:74:6572:109 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6573:10:6573:11 | in : LinkedHashMultimap [] : Object | Test.java:6573:10:6573:20 | values(...) : Collection [] : Object | provenance | MaD:385 | +| Test.java:6573:10:6573:20 | values(...) : Collection [] : Object | Test.java:6574:20:6574:22 | out : Collection [] : Object | provenance | | +| Test.java:6574:20:6574:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:6574:20:6574:22 | out : Collection [] : Object | Test.java:6574:9:6574:23 | getElement(...) | provenance | MaD:555 | +| Test.java:6579:22:6579:75 | (...)... : ImmutableListMultimap [] : Object | Test.java:6580:26:6580:27 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6579:36:6579:75 | of(...) : ImmutableListMultimap [] : Object | Test.java:6579:22:6579:75 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6579:61:6579:68 | source(...) : Object | Test.java:6579:36:6579:75 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:60 | +| Test.java:6580:10:6580:28 | asMap(...) : Map [] : Object | Test.java:6581:19:6581:21 | out : Map [] : Object | provenance | | +| Test.java:6580:26:6580:27 | in : ImmutableListMultimap [] : Object | Test.java:6580:10:6580:28 | asMap(...) : Map [] : Object | provenance | MaD:386 | +| Test.java:6581:19:6581:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:6581:19:6581:21 | out : Map [] : Object | Test.java:6581:9:6581:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:6586:22:6586:75 | (...)... : ImmutableListMultimap [] : Object | Test.java:6587:26:6587:27 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6586:36:6586:75 | of(...) : ImmutableListMultimap [] : Object | Test.java:6586:22:6586:75 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6586:67:6586:74 | source(...) : Object | Test.java:6586:36:6586:75 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:61 | +| Test.java:6587:10:6587:28 | asMap(...) : Map [, ] : Object | Test.java:6588:32:6588:34 | out : Map [, ] : Object | provenance | | +| Test.java:6587:26:6587:27 | in : ImmutableListMultimap [] : Object | Test.java:6587:10:6587:28 | asMap(...) : Map [, ] : Object | provenance | MaD:387 | +| Test.java:6588:20:6588:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:6588:20:6588:35 | getMapValue(...) : Collection [] : Object | Test.java:6588:9:6588:36 | getElement(...) | provenance | MaD:555 | +| Test.java:6588:32:6588:34 | out : Map [, ] : Object | Test.java:6588:20:6588:35 | getMapValue(...) : Collection [] : Object | provenance | MaD:561 | +| Test.java:6593:18:6593:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6594:26:6594:27 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6593:28:6593:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6593:18:6593:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6593:49:6593:56 | source(...) : Object | Test.java:6593:28:6593:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6594:10:6594:28 | asMap(...) : Map [] : Object | Test.java:6595:19:6595:21 | out : Map [] : Object | provenance | | +| Test.java:6594:26:6594:27 | in : ImmutableMultimap [] : Object | Test.java:6594:10:6594:28 | asMap(...) : Map [] : Object | provenance | MaD:388 | +| Test.java:6595:19:6595:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:6595:19:6595:21 | out : Map [] : Object | Test.java:6595:9:6595:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:6600:18:6600:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6601:26:6601:27 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6600:28:6600:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6600:18:6600:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6600:55:6600:62 | source(...) : Object | Test.java:6600:28:6600:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6601:10:6601:28 | asMap(...) : Map [, ] : Object | Test.java:6602:32:6602:34 | out : Map [, ] : Object | provenance | | +| Test.java:6601:26:6601:27 | in : ImmutableMultimap [] : Object | Test.java:6601:10:6601:28 | asMap(...) : Map [, ] : Object | provenance | MaD:389 | +| Test.java:6602:20:6602:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:6602:20:6602:35 | getMapValue(...) : Collection [] : Object | Test.java:6602:9:6602:36 | getElement(...) | provenance | MaD:555 | +| Test.java:6602:32:6602:34 | out : Map [, ] : Object | Test.java:6602:20:6602:35 | getMapValue(...) : Collection [] : Object | provenance | MaD:561 | +| Test.java:6607:21:6607:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6608:26:6608:27 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6607:34:6607:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6607:21:6607:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6607:58:6607:65 | source(...) : Object | Test.java:6607:34:6607:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:145 | +| Test.java:6608:10:6608:28 | asMap(...) : Map [] : Object | Test.java:6609:19:6609:21 | out : Map [] : Object | provenance | | +| Test.java:6608:26:6608:27 | in : ImmutableSetMultimap [] : Object | Test.java:6608:10:6608:28 | asMap(...) : Map [] : Object | provenance | MaD:390 | +| Test.java:6609:19:6609:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:6609:19:6609:21 | out : Map [] : Object | Test.java:6609:9:6609:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:6614:21:6614:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6615:26:6615:27 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6614:34:6614:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6614:21:6614:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6614:64:6614:71 | source(...) : Object | Test.java:6614:34:6614:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:6615:10:6615:28 | asMap(...) : Map [, ] : Object | Test.java:6616:32:6616:34 | out : Map [, ] : Object | provenance | | +| Test.java:6615:26:6615:27 | in : ImmutableSetMultimap [] : Object | Test.java:6615:10:6615:28 | asMap(...) : Map [, ] : Object | provenance | MaD:391 | +| Test.java:6616:20:6616:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:6616:20:6616:35 | getMapValue(...) : Collection [] : Object | Test.java:6616:9:6616:36 | getElement(...) | provenance | MaD:555 | +| Test.java:6616:32:6616:34 | out : Map [, ] : Object | Test.java:6616:20:6616:35 | getMapValue(...) : Collection [] : Object | provenance | MaD:561 | +| Test.java:6621:27:6621:114 | (...)... : TreeMultimap [] : Comparable | Test.java:6622:26:6622:27 | in : TreeMultimap [] : Comparable | provenance | | +| Test.java:6621:46:6621:114 | create(...) : TreeMultimap [] : Comparable | Test.java:6621:27:6621:114 | (...)... : TreeMultimap [] : Comparable | provenance | | +| Test.java:6621:66:6621:113 | of(...) : ImmutableMultimap [] : Comparable | Test.java:6621:46:6621:114 | create(...) : TreeMultimap [] : Comparable | provenance | MaD:552 | +| Test.java:6621:87:6621:106 | (...)... : Comparable | Test.java:6621:66:6621:113 | of(...) : ImmutableMultimap [] : Comparable | provenance | MaD:103 | +| Test.java:6621:99:6621:106 | source(...) : Object | Test.java:6621:87:6621:106 | (...)... : Comparable | provenance | | +| Test.java:6622:10:6622:28 | asMap(...) : Map [] : Comparable | Test.java:6623:19:6623:21 | out : Map [] : Comparable | provenance | | +| Test.java:6622:26:6622:27 | in : TreeMultimap [] : Comparable | Test.java:6622:10:6622:28 | asMap(...) : Map [] : Comparable | provenance | MaD:392 | +| Test.java:6623:19:6623:21 | out : Map [] : Comparable | Test.java:99:18:99:29 | map : Map [] : Comparable | provenance | | +| Test.java:6623:19:6623:21 | out : Map [] : Comparable | Test.java:6623:9:6623:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:6628:27:6628:114 | (...)... : TreeMultimap [] : Comparable | Test.java:6629:26:6629:27 | in : TreeMultimap [] : Comparable | provenance | | +| Test.java:6628:46:6628:114 | create(...) : TreeMultimap [] : Comparable | Test.java:6628:27:6628:114 | (...)... : TreeMultimap [] : Comparable | provenance | | +| Test.java:6628:66:6628:113 | of(...) : ImmutableMultimap [] : Comparable | Test.java:6628:46:6628:114 | create(...) : TreeMultimap [] : Comparable | provenance | MaD:553 | +| Test.java:6628:93:6628:112 | (...)... : Comparable | Test.java:6628:66:6628:113 | of(...) : ImmutableMultimap [] : Comparable | provenance | MaD:104 | +| Test.java:6628:105:6628:112 | source(...) : Object | Test.java:6628:93:6628:112 | (...)... : Comparable | provenance | | +| Test.java:6629:10:6629:28 | asMap(...) : Map [, ] : Comparable | Test.java:6630:32:6630:34 | out : Map [, ] : Comparable | provenance | | +| Test.java:6629:26:6629:27 | in : TreeMultimap [] : Comparable | Test.java:6629:10:6629:28 | asMap(...) : Map [, ] : Comparable | provenance | MaD:393 | +| Test.java:6630:20:6630:35 | getMapValue(...) : Collection [] : Comparable | Test.java:110:19:110:32 | it : Collection [] : Comparable | provenance | | +| Test.java:6630:20:6630:35 | getMapValue(...) : Collection [] : Comparable | Test.java:6630:9:6630:36 | getElement(...) | provenance | MaD:555 | +| Test.java:6630:32:6630:34 | out : Map [, ] : Comparable | Test.java:6630:20:6630:35 | getMapValue(...) : Collection [] : Comparable | provenance | MaD:561 | +| Test.java:6635:18:6635:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6636:34:6636:35 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6635:28:6635:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6635:18:6635:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6635:49:6635:56 | source(...) : Object | Test.java:6635:28:6635:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6636:10:6636:53 | filterEntries(...) : Multimap [] : Object | Test.java:6637:19:6637:21 | out : Multimap [] : Object | provenance | | +| Test.java:6636:34:6636:35 | in : ImmutableMultimap [] : Object | Test.java:6636:10:6636:53 | filterEntries(...) : Multimap [] : Object | provenance | MaD:394 | +| Test.java:6637:19:6637:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | provenance | | +| Test.java:6637:19:6637:21 | out : Multimap [] : Object | Test.java:6637:9:6637:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6642:18:6642:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6643:34:6643:35 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6642:28:6642:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6642:18:6642:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6642:55:6642:62 | source(...) : Object | Test.java:6642:28:6642:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6643:10:6643:53 | filterEntries(...) : Multimap [] : Object | Test.java:6644:21:6644:23 | out : Multimap [] : Object | provenance | | +| Test.java:6643:34:6643:35 | in : ImmutableMultimap [] : Object | Test.java:6643:10:6643:53 | filterEntries(...) : Multimap [] : Object | provenance | MaD:395 | +| Test.java:6644:21:6644:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | provenance | | +| Test.java:6644:21:6644:23 | out : Multimap [] : Object | Test.java:6644:9:6644:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6649:21:6649:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6650:34:6650:35 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6649:34:6649:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6649:21:6649:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6649:58:6649:65 | source(...) : Object | Test.java:6649:34:6649:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:145 | +| Test.java:6650:10:6650:53 | filterEntries(...) : SetMultimap [] : Object | Test.java:6651:19:6651:21 | out : SetMultimap [] : Object | provenance | | +| Test.java:6650:34:6650:35 | in : ImmutableSetMultimap [] : Object | Test.java:6650:10:6650:53 | filterEntries(...) : SetMultimap [] : Object | provenance | MaD:396 | +| Test.java:6651:19:6651:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | provenance | | +| Test.java:6651:19:6651:21 | out : SetMultimap [] : Object | Test.java:6651:9:6651:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6656:21:6656:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6657:34:6657:35 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6656:34:6656:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6656:21:6656:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6656:64:6656:71 | source(...) : Object | Test.java:6656:34:6656:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:6657:10:6657:53 | filterEntries(...) : SetMultimap [] : Object | Test.java:6658:21:6658:23 | out : SetMultimap [] : Object | provenance | | +| Test.java:6657:34:6657:35 | in : ImmutableSetMultimap [] : Object | Test.java:6657:10:6657:53 | filterEntries(...) : SetMultimap [] : Object | provenance | MaD:397 | +| Test.java:6658:21:6658:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | provenance | | +| Test.java:6658:21:6658:23 | out : SetMultimap [] : Object | Test.java:6658:9:6658:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6663:18:6663:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6664:31:6664:32 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6663:28:6663:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6663:18:6663:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6663:49:6663:56 | source(...) : Object | Test.java:6663:28:6663:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6664:10:6664:50 | filterKeys(...) : Multimap [] : Object | Test.java:6665:19:6665:21 | out : Multimap [] : Object | provenance | | +| Test.java:6664:31:6664:32 | in : ImmutableMultimap [] : Object | Test.java:6664:10:6664:50 | filterKeys(...) : Multimap [] : Object | provenance | MaD:398 | +| Test.java:6665:19:6665:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | provenance | | +| Test.java:6665:19:6665:21 | out : Multimap [] : Object | Test.java:6665:9:6665:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6670:18:6670:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6671:31:6671:32 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6670:28:6670:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6670:18:6670:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6670:55:6670:62 | source(...) : Object | Test.java:6670:28:6670:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6671:10:6671:50 | filterKeys(...) : Multimap [] : Object | Test.java:6672:21:6672:23 | out : Multimap [] : Object | provenance | | +| Test.java:6671:31:6671:32 | in : ImmutableMultimap [] : Object | Test.java:6671:10:6671:50 | filterKeys(...) : Multimap [] : Object | provenance | MaD:399 | +| Test.java:6672:21:6672:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | provenance | | +| Test.java:6672:21:6672:23 | out : Multimap [] : Object | Test.java:6672:9:6672:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6677:21:6677:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6678:31:6678:32 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6677:34:6677:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6677:21:6677:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6677:58:6677:65 | source(...) : Object | Test.java:6677:34:6677:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:145 | +| Test.java:6678:10:6678:50 | filterKeys(...) : SetMultimap [] : Object | Test.java:6679:19:6679:21 | out : SetMultimap [] : Object | provenance | | +| Test.java:6678:31:6678:32 | in : ImmutableSetMultimap [] : Object | Test.java:6678:10:6678:50 | filterKeys(...) : SetMultimap [] : Object | provenance | MaD:400 | +| Test.java:6679:19:6679:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | provenance | | +| Test.java:6679:19:6679:21 | out : SetMultimap [] : Object | Test.java:6679:9:6679:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6684:21:6684:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6685:31:6685:32 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6684:34:6684:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6684:21:6684:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6684:64:6684:71 | source(...) : Object | Test.java:6684:34:6684:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:6685:10:6685:50 | filterKeys(...) : SetMultimap [] : Object | Test.java:6686:21:6686:23 | out : SetMultimap [] : Object | provenance | | +| Test.java:6685:31:6685:32 | in : ImmutableSetMultimap [] : Object | Test.java:6685:10:6685:50 | filterKeys(...) : SetMultimap [] : Object | provenance | MaD:401 | +| Test.java:6686:21:6686:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | provenance | | +| Test.java:6686:21:6686:23 | out : SetMultimap [] : Object | Test.java:6686:9:6686:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6691:18:6691:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6692:33:6692:34 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6691:28:6691:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6691:18:6691:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6691:49:6691:56 | source(...) : Object | Test.java:6691:28:6691:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6692:10:6692:52 | filterValues(...) : Multimap [] : Object | Test.java:6693:19:6693:21 | out : Multimap [] : Object | provenance | | +| Test.java:6692:33:6692:34 | in : ImmutableMultimap [] : Object | Test.java:6692:10:6692:52 | filterValues(...) : Multimap [] : Object | provenance | MaD:402 | +| Test.java:6693:19:6693:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | provenance | | +| Test.java:6693:19:6693:21 | out : Multimap [] : Object | Test.java:6693:9:6693:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6698:18:6698:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6699:33:6699:34 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6698:28:6698:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6698:18:6698:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6698:55:6698:62 | source(...) : Object | Test.java:6698:28:6698:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6699:10:6699:52 | filterValues(...) : Multimap [] : Object | Test.java:6700:21:6700:23 | out : Multimap [] : Object | provenance | | +| Test.java:6699:33:6699:34 | in : ImmutableMultimap [] : Object | Test.java:6699:10:6699:52 | filterValues(...) : Multimap [] : Object | provenance | MaD:403 | +| Test.java:6700:21:6700:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | provenance | | +| Test.java:6700:21:6700:23 | out : Multimap [] : Object | Test.java:6700:9:6700:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6705:21:6705:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6706:33:6706:34 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6705:34:6705:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6705:21:6705:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6705:58:6705:65 | source(...) : Object | Test.java:6705:34:6705:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:145 | +| Test.java:6706:10:6706:52 | filterValues(...) : SetMultimap [] : Object | Test.java:6707:19:6707:21 | out : SetMultimap [] : Object | provenance | | +| Test.java:6706:33:6706:34 | in : ImmutableSetMultimap [] : Object | Test.java:6706:10:6706:52 | filterValues(...) : SetMultimap [] : Object | provenance | MaD:404 | +| Test.java:6707:19:6707:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | provenance | | +| Test.java:6707:19:6707:21 | out : SetMultimap [] : Object | Test.java:6707:9:6707:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6712:21:6712:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6713:33:6713:34 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6712:34:6712:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6712:21:6712:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6712:64:6712:71 | source(...) : Object | Test.java:6712:34:6712:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:6713:10:6713:52 | filterValues(...) : SetMultimap [] : Object | Test.java:6714:21:6714:23 | out : SetMultimap [] : Object | provenance | | +| Test.java:6713:33:6713:34 | in : ImmutableSetMultimap [] : Object | Test.java:6713:10:6713:52 | filterValues(...) : SetMultimap [] : Object | provenance | MaD:405 | +| Test.java:6714:21:6714:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | provenance | | +| Test.java:6714:21:6714:23 | out : SetMultimap [] : Object | Test.java:6714:9:6714:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6719:13:6719:39 | (...)... : Map [] : Object | Test.java:6720:27:6720:28 | in : Map [] : Object | provenance | | +| Test.java:6719:18:6719:39 | of(...) : Map [] : Object | Test.java:6719:13:6719:39 | (...)... : Map [] : Object | provenance | | +| Test.java:6719:25:6719:32 | source(...) : Object | Test.java:6719:18:6719:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:6720:10:6720:29 | forMap(...) : SetMultimap [] : Object | Test.java:6721:19:6721:21 | out : SetMultimap [] : Object | provenance | | +| Test.java:6720:27:6720:28 | in : Map [] : Object | Test.java:6720:10:6720:29 | forMap(...) : SetMultimap [] : Object | provenance | MaD:406 | +| Test.java:6721:19:6721:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | provenance | | +| Test.java:6721:19:6721:21 | out : SetMultimap [] : Object | Test.java:6721:9:6721:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6726:13:6726:39 | (...)... : Map [] : Object | Test.java:6727:27:6727:28 | in : Map [] : Object | provenance | | +| Test.java:6726:18:6726:39 | of(...) : Map [] : Object | Test.java:6726:13:6726:39 | (...)... : Map [] : Object | provenance | | +| Test.java:6726:31:6726:38 | source(...) : Object | Test.java:6726:18:6726:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:6727:10:6727:29 | forMap(...) : SetMultimap [] : Object | Test.java:6728:21:6728:23 | out : SetMultimap [] : Object | provenance | | +| Test.java:6727:27:6727:28 | in : Map [] : Object | Test.java:6727:10:6727:29 | forMap(...) : SetMultimap [] : Object | provenance | MaD:407 | +| Test.java:6728:21:6728:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | provenance | | +| Test.java:6728:21:6728:23 | out : SetMultimap [] : Object | Test.java:6728:9:6728:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6733:18:6733:44 | (...)... : List [] : Object | Test.java:6734:26:6734:27 | in : List [] : Object | provenance | | +| Test.java:6733:28:6733:44 | of(...) : List [] : Object | Test.java:6733:18:6733:44 | (...)... : List [] : Object | provenance | | +| Test.java:6733:36:6733:43 | source(...) : Object | Test.java:6733:28:6733:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:6734:10:6734:44 | index(...) : ImmutableListMultimap [] : Object | Test.java:6735:21:6735:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6734:26:6734:27 | in : List [] : Object | Test.java:6734:10:6734:44 | index(...) : ImmutableListMultimap [] : Object | provenance | MaD:408 | +| Test.java:6735:21:6735:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6735:21:6735:23 | out : ImmutableListMultimap [] : Object | Test.java:6735:9:6735:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6740:18:6740:55 | (...)... : Iterator [] : Object | Test.java:6741:26:6741:27 | in : Iterator [] : Object | provenance | | +| Test.java:6740:28:6740:44 | of(...) : List [] : Object | Test.java:6740:28:6740:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:6740:28:6740:55 | iterator(...) : Iterator [] : Object | Test.java:6740:18:6740:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:6740:36:6740:43 | source(...) : Object | Test.java:6740:28:6740:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:6741:10:6741:44 | index(...) : ImmutableListMultimap [] : Object | Test.java:6742:21:6742:23 | out : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6741:26:6741:27 | in : Iterator [] : Object | Test.java:6741:10:6741:44 | index(...) : ImmutableListMultimap [] : Object | provenance | MaD:409 | +| Test.java:6742:21:6742:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6742:21:6742:23 | out : ImmutableListMultimap [] : Object | Test.java:6742:9:6742:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6747:18:6747:35 | (...)... : Multimap | Test.java:6748:37:6748:38 | in : Multimap | provenance | | +| Test.java:6747:28:6747:35 | source(...) : Object | Test.java:6747:18:6747:35 | (...)... : Multimap | provenance | | +| Test.java:6748:10:6748:39 | invertFrom(...) : Multimap | Test.java:6749:9:6749:11 | out | provenance | | +| Test.java:6748:37:6748:38 | in : Multimap | Test.java:6748:10:6748:39 | invertFrom(...) : Multimap | provenance | MaD:412 | +| Test.java:6754:18:6754:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6755:25:6755:26 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6754:28:6754:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6754:18:6754:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6754:49:6754:56 | source(...) : Object | Test.java:6754:28:6754:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6755:25:6755:26 | in : ImmutableMultimap [] : Object | Test.java:6755:29:6755:31 | out [post update] : Multimap [] : Object | provenance | MaD:410 | +| Test.java:6755:29:6755:31 | out [post update] : Multimap [] : Object | Test.java:6756:21:6756:23 | out : Multimap [] : Object | provenance | | +| Test.java:6756:21:6756:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | provenance | | +| Test.java:6756:21:6756:23 | out : Multimap [] : Object | Test.java:6756:9:6756:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6761:18:6761:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6762:25:6762:26 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6761:28:6761:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6761:18:6761:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6761:55:6761:62 | source(...) : Object | Test.java:6761:28:6761:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6762:25:6762:26 | in : ImmutableMultimap [] : Object | Test.java:6762:29:6762:31 | out [post update] : Multimap [] : Object | provenance | MaD:411 | +| Test.java:6762:29:6762:31 | out [post update] : Multimap [] : Object | Test.java:6763:19:6763:21 | out : Multimap [] : Object | provenance | | +| Test.java:6763:19:6763:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | provenance | | +| Test.java:6763:19:6763:21 | out : Multimap [] : Object | Test.java:6763:9:6763:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6768:13:6768:62 | (...)... : Map [, ] : Object | Test.java:6769:36:6769:37 | in : Map [, ] : Object | provenance | | +| Test.java:6768:18:6768:62 | of(...) : Map [, ] : Object | Test.java:6768:13:6768:62 | (...)... : Map [, ] : Object | provenance | | +| Test.java:6768:31:6768:61 | newWithElementDefault(...) : Object [] : Object | Test.java:6768:18:6768:62 | of(...) : Map [, ] : Object | provenance | MaD:564 | +| Test.java:6768:53:6768:60 | source(...) : Object | Test.java:6768:31:6768:61 | newWithElementDefault(...) : Object [] : Object | provenance | MaD:568 | +| Test.java:6769:10:6769:44 | newListMultimap(...) : ListMultimap [] : Object | Test.java:6770:21:6770:23 | out : ListMultimap [] : Object | provenance | | +| Test.java:6769:36:6769:37 | in : Map [, ] : Object | Test.java:6769:10:6769:44 | newListMultimap(...) : ListMultimap [] : Object | provenance | MaD:414 | +| Test.java:6770:21:6770:23 | out : ListMultimap [] : Object | Test.java:119:20:119:36 | map : ListMultimap [] : Object | provenance | | +| Test.java:6770:21:6770:23 | out : ListMultimap [] : Object | Test.java:6770:9:6770:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6775:13:6775:39 | (...)... : Map [] : Object | Test.java:6776:36:6776:37 | in : Map [] : Object | provenance | | +| Test.java:6775:18:6775:39 | of(...) : Map [] : Object | Test.java:6775:13:6775:39 | (...)... : Map [] : Object | provenance | | +| Test.java:6775:25:6775:32 | source(...) : Object | Test.java:6775:18:6775:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:6776:10:6776:44 | newListMultimap(...) : ListMultimap [] : Object | Test.java:6777:19:6777:21 | out : ListMultimap [] : Object | provenance | | +| Test.java:6776:36:6776:37 | in : Map [] : Object | Test.java:6776:10:6776:44 | newListMultimap(...) : ListMultimap [] : Object | provenance | MaD:413 | +| Test.java:6777:19:6777:21 | out : ListMultimap [] : Object | Test.java:100:18:100:34 | map : ListMultimap [] : Object | provenance | | +| Test.java:6777:19:6777:21 | out : ListMultimap [] : Object | Test.java:6777:9:6777:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6782:13:6782:62 | (...)... : Map [, ] : Object | Test.java:6783:32:6783:33 | in : Map [, ] : Object | provenance | | +| Test.java:6782:18:6782:62 | of(...) : Map [, ] : Object | Test.java:6782:13:6782:62 | (...)... : Map [, ] : Object | provenance | | +| Test.java:6782:31:6782:61 | newWithElementDefault(...) : Object [] : Object | Test.java:6782:18:6782:62 | of(...) : Map [, ] : Object | provenance | MaD:564 | +| Test.java:6782:53:6782:60 | source(...) : Object | Test.java:6782:31:6782:61 | newWithElementDefault(...) : Object [] : Object | provenance | MaD:568 | +| Test.java:6783:10:6783:40 | newMultimap(...) : Multimap [] : Object | Test.java:6784:21:6784:23 | out : Multimap [] : Object | provenance | | +| Test.java:6783:32:6783:33 | in : Map [, ] : Object | Test.java:6783:10:6783:40 | newMultimap(...) : Multimap [] : Object | provenance | MaD:416 | +| Test.java:6784:21:6784:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | provenance | | +| Test.java:6784:21:6784:23 | out : Multimap [] : Object | Test.java:6784:9:6784:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6789:13:6789:39 | (...)... : Map [] : Object | Test.java:6790:32:6790:33 | in : Map [] : Object | provenance | | +| Test.java:6789:18:6789:39 | of(...) : Map [] : Object | Test.java:6789:13:6789:39 | (...)... : Map [] : Object | provenance | | +| Test.java:6789:25:6789:32 | source(...) : Object | Test.java:6789:18:6789:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:6790:10:6790:40 | newMultimap(...) : Multimap [] : Object | Test.java:6791:19:6791:21 | out : Multimap [] : Object | provenance | | +| Test.java:6790:32:6790:33 | in : Map [] : Object | Test.java:6790:10:6790:40 | newMultimap(...) : Multimap [] : Object | provenance | MaD:415 | +| Test.java:6791:19:6791:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | provenance | | +| Test.java:6791:19:6791:21 | out : Multimap [] : Object | Test.java:6791:9:6791:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6796:13:6796:62 | (...)... : Map [, ] : Object | Test.java:6797:35:6797:36 | in : Map [, ] : Object | provenance | | +| Test.java:6796:18:6796:62 | of(...) : Map [, ] : Object | Test.java:6796:13:6796:62 | (...)... : Map [, ] : Object | provenance | | +| Test.java:6796:31:6796:61 | newWithElementDefault(...) : Object [] : Object | Test.java:6796:18:6796:62 | of(...) : Map [, ] : Object | provenance | MaD:564 | +| Test.java:6796:53:6796:60 | source(...) : Object | Test.java:6796:31:6796:61 | newWithElementDefault(...) : Object [] : Object | provenance | MaD:568 | +| Test.java:6797:10:6797:43 | newSetMultimap(...) : SetMultimap [] : Object | Test.java:6798:21:6798:23 | out : SetMultimap [] : Object | provenance | | +| Test.java:6797:35:6797:36 | in : Map [, ] : Object | Test.java:6797:10:6797:43 | newSetMultimap(...) : SetMultimap [] : Object | provenance | MaD:418 | +| Test.java:6798:21:6798:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | provenance | | +| Test.java:6798:21:6798:23 | out : SetMultimap [] : Object | Test.java:6798:9:6798:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6803:13:6803:39 | (...)... : Map [] : Object | Test.java:6804:35:6804:36 | in : Map [] : Object | provenance | | +| Test.java:6803:18:6803:39 | of(...) : Map [] : Object | Test.java:6803:13:6803:39 | (...)... : Map [] : Object | provenance | | +| Test.java:6803:25:6803:32 | source(...) : Object | Test.java:6803:18:6803:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:6804:10:6804:43 | newSetMultimap(...) : SetMultimap [] : Object | Test.java:6805:19:6805:21 | out : SetMultimap [] : Object | provenance | | +| Test.java:6804:35:6804:36 | in : Map [] : Object | Test.java:6804:10:6804:43 | newSetMultimap(...) : SetMultimap [] : Object | provenance | MaD:417 | +| Test.java:6805:19:6805:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | provenance | | +| Test.java:6805:19:6805:21 | out : SetMultimap [] : Object | Test.java:6805:9:6805:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6810:13:6810:62 | (...)... : Map [, ] : Object | Test.java:6811:41:6811:42 | in : Map [, ] : Object | provenance | | +| Test.java:6810:18:6810:62 | of(...) : Map [, ] : Object | Test.java:6810:13:6810:62 | (...)... : Map [, ] : Object | provenance | | +| Test.java:6810:31:6810:61 | newWithElementDefault(...) : Object [] : Object | Test.java:6810:18:6810:62 | of(...) : Map [, ] : Object | provenance | MaD:564 | +| Test.java:6810:53:6810:60 | source(...) : Object | Test.java:6810:31:6810:61 | newWithElementDefault(...) : Object [] : Object | provenance | MaD:568 | +| Test.java:6811:10:6811:49 | newSortedSetMultimap(...) : SortedSetMultimap [] : Object | Test.java:6812:21:6812:23 | out : SortedSetMultimap [] : Object | provenance | | +| Test.java:6811:41:6811:42 | in : Map [, ] : Object | Test.java:6811:10:6811:49 | newSortedSetMultimap(...) : SortedSetMultimap [] : Object | provenance | MaD:420 | +| Test.java:6812:21:6812:23 | out : SortedSetMultimap [] : Object | Test.java:119:20:119:36 | map : SortedSetMultimap [] : Object | provenance | | +| Test.java:6812:21:6812:23 | out : SortedSetMultimap [] : Object | Test.java:6812:9:6812:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6817:13:6817:39 | (...)... : Map [] : Object | Test.java:6818:41:6818:42 | in : Map [] : Object | provenance | | +| Test.java:6817:18:6817:39 | of(...) : Map [] : Object | Test.java:6817:13:6817:39 | (...)... : Map [] : Object | provenance | | +| Test.java:6817:25:6817:32 | source(...) : Object | Test.java:6817:18:6817:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:6818:10:6818:49 | newSortedSetMultimap(...) : SortedSetMultimap [] : Object | Test.java:6819:19:6819:21 | out : SortedSetMultimap [] : Object | provenance | | +| Test.java:6818:41:6818:42 | in : Map [] : Object | Test.java:6818:10:6818:49 | newSortedSetMultimap(...) : SortedSetMultimap [] : Object | provenance | MaD:419 | +| Test.java:6819:19:6819:21 | out : SortedSetMultimap [] : Object | Test.java:100:18:100:34 | map : SortedSetMultimap [] : Object | provenance | | +| Test.java:6819:19:6819:21 | out : SortedSetMultimap [] : Object | Test.java:6819:9:6819:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6824:22:6824:75 | (...)... : ImmutableListMultimap [] : Object | Test.java:6825:45:6825:46 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6824:36:6824:75 | of(...) : ImmutableListMultimap [] : Object | Test.java:6824:22:6824:75 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6824:61:6824:68 | source(...) : Object | Test.java:6824:36:6824:75 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:60 | +| Test.java:6825:10:6825:47 | synchronizedListMultimap(...) : ListMultimap [] : Object | Test.java:6826:19:6826:21 | out : ListMultimap [] : Object | provenance | | +| Test.java:6825:45:6825:46 | in : ImmutableListMultimap [] : Object | Test.java:6825:10:6825:47 | synchronizedListMultimap(...) : ListMultimap [] : Object | provenance | MaD:421 | +| Test.java:6826:19:6826:21 | out : ListMultimap [] : Object | Test.java:100:18:100:34 | map : ListMultimap [] : Object | provenance | | +| Test.java:6826:19:6826:21 | out : ListMultimap [] : Object | Test.java:6826:9:6826:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6831:22:6831:75 | (...)... : ImmutableListMultimap [] : Object | Test.java:6832:45:6832:46 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6831:36:6831:75 | of(...) : ImmutableListMultimap [] : Object | Test.java:6831:22:6831:75 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6831:67:6831:74 | source(...) : Object | Test.java:6831:36:6831:75 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:61 | +| Test.java:6832:10:6832:47 | synchronizedListMultimap(...) : ListMultimap [] : Object | Test.java:6833:21:6833:23 | out : ListMultimap [] : Object | provenance | | +| Test.java:6832:45:6832:46 | in : ImmutableListMultimap [] : Object | Test.java:6832:10:6832:47 | synchronizedListMultimap(...) : ListMultimap [] : Object | provenance | MaD:422 | +| Test.java:6833:21:6833:23 | out : ListMultimap [] : Object | Test.java:119:20:119:36 | map : ListMultimap [] : Object | provenance | | +| Test.java:6833:21:6833:23 | out : ListMultimap [] : Object | Test.java:6833:9:6833:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6838:18:6838:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6839:41:6839:42 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6838:28:6838:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6838:18:6838:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6838:49:6838:56 | source(...) : Object | Test.java:6838:28:6838:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6839:10:6839:43 | synchronizedMultimap(...) : Multimap [] : Object | Test.java:6840:19:6840:21 | out : Multimap [] : Object | provenance | | +| Test.java:6839:41:6839:42 | in : ImmutableMultimap [] : Object | Test.java:6839:10:6839:43 | synchronizedMultimap(...) : Multimap [] : Object | provenance | MaD:423 | +| Test.java:6840:19:6840:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | provenance | | +| Test.java:6840:19:6840:21 | out : Multimap [] : Object | Test.java:6840:9:6840:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6845:18:6845:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6846:41:6846:42 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6845:28:6845:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6845:18:6845:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6845:55:6845:62 | source(...) : Object | Test.java:6845:28:6845:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6846:10:6846:43 | synchronizedMultimap(...) : Multimap [] : Object | Test.java:6847:21:6847:23 | out : Multimap [] : Object | provenance | | +| Test.java:6846:41:6846:42 | in : ImmutableMultimap [] : Object | Test.java:6846:10:6846:43 | synchronizedMultimap(...) : Multimap [] : Object | provenance | MaD:424 | +| Test.java:6847:21:6847:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | provenance | | +| Test.java:6847:21:6847:23 | out : Multimap [] : Object | Test.java:6847:9:6847:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6852:21:6852:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6853:44:6853:45 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6852:34:6852:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6852:21:6852:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6852:58:6852:65 | source(...) : Object | Test.java:6852:34:6852:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:145 | +| Test.java:6853:10:6853:46 | synchronizedSetMultimap(...) : SetMultimap [] : Object | Test.java:6854:19:6854:21 | out : SetMultimap [] : Object | provenance | | +| Test.java:6853:44:6853:45 | in : ImmutableSetMultimap [] : Object | Test.java:6853:10:6853:46 | synchronizedSetMultimap(...) : SetMultimap [] : Object | provenance | MaD:425 | +| Test.java:6854:19:6854:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | provenance | | +| Test.java:6854:19:6854:21 | out : SetMultimap [] : Object | Test.java:6854:9:6854:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6859:21:6859:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6860:44:6860:45 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6859:34:6859:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6859:21:6859:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6859:64:6859:71 | source(...) : Object | Test.java:6859:34:6859:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:6860:10:6860:46 | synchronizedSetMultimap(...) : SetMultimap [] : Object | Test.java:6861:21:6861:23 | out : SetMultimap [] : Object | provenance | | +| Test.java:6860:44:6860:45 | in : ImmutableSetMultimap [] : Object | Test.java:6860:10:6860:46 | synchronizedSetMultimap(...) : SetMultimap [] : Object | provenance | MaD:426 | +| Test.java:6861:21:6861:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | provenance | | +| Test.java:6861:21:6861:23 | out : SetMultimap [] : Object | Test.java:6861:9:6861:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6866:27:6866:114 | (...)... : TreeMultimap [] : Comparable | Test.java:6867:50:6867:51 | in : TreeMultimap [] : Comparable | provenance | | +| Test.java:6866:46:6866:114 | create(...) : TreeMultimap [] : Comparable | Test.java:6866:27:6866:114 | (...)... : TreeMultimap [] : Comparable | provenance | | +| Test.java:6866:66:6866:113 | of(...) : ImmutableMultimap [] : Comparable | Test.java:6866:46:6866:114 | create(...) : TreeMultimap [] : Comparable | provenance | MaD:552 | +| Test.java:6866:87:6866:106 | (...)... : Comparable | Test.java:6866:66:6866:113 | of(...) : ImmutableMultimap [] : Comparable | provenance | MaD:103 | +| Test.java:6866:99:6866:106 | source(...) : Object | Test.java:6866:87:6866:106 | (...)... : Comparable | provenance | | +| Test.java:6867:10:6867:52 | synchronizedSortedSetMultimap(...) : SortedSetMultimap [] : Comparable | Test.java:6868:19:6868:21 | out : SortedSetMultimap [] : Comparable | provenance | | +| Test.java:6867:50:6867:51 | in : TreeMultimap [] : Comparable | Test.java:6867:10:6867:52 | synchronizedSortedSetMultimap(...) : SortedSetMultimap [] : Comparable | provenance | MaD:427 | +| Test.java:6868:19:6868:21 | out : SortedSetMultimap [] : Comparable | Test.java:100:18:100:34 | map : SortedSetMultimap [] : Comparable | provenance | | +| Test.java:6868:19:6868:21 | out : SortedSetMultimap [] : Comparable | Test.java:6868:9:6868:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6873:27:6873:114 | (...)... : TreeMultimap [] : Comparable | Test.java:6874:50:6874:51 | in : TreeMultimap [] : Comparable | provenance | | +| Test.java:6873:46:6873:114 | create(...) : TreeMultimap [] : Comparable | Test.java:6873:27:6873:114 | (...)... : TreeMultimap [] : Comparable | provenance | | +| Test.java:6873:66:6873:113 | of(...) : ImmutableMultimap [] : Comparable | Test.java:6873:46:6873:114 | create(...) : TreeMultimap [] : Comparable | provenance | MaD:553 | +| Test.java:6873:93:6873:112 | (...)... : Comparable | Test.java:6873:66:6873:113 | of(...) : ImmutableMultimap [] : Comparable | provenance | MaD:104 | +| Test.java:6873:105:6873:112 | source(...) : Object | Test.java:6873:93:6873:112 | (...)... : Comparable | provenance | | +| Test.java:6874:10:6874:52 | synchronizedSortedSetMultimap(...) : SortedSetMultimap [] : Comparable | Test.java:6875:21:6875:23 | out : SortedSetMultimap [] : Comparable | provenance | | +| Test.java:6874:50:6874:51 | in : TreeMultimap [] : Comparable | Test.java:6874:10:6874:52 | synchronizedSortedSetMultimap(...) : SortedSetMultimap [] : Comparable | provenance | MaD:428 | +| Test.java:6875:21:6875:23 | out : SortedSetMultimap [] : Comparable | Test.java:119:20:119:36 | map : SortedSetMultimap [] : Comparable | provenance | | +| Test.java:6875:21:6875:23 | out : SortedSetMultimap [] : Comparable | Test.java:6875:9:6875:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6880:22:6880:75 | (...)... : ImmutableListMultimap [] : Object | Test.java:6881:36:6881:37 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6880:36:6880:75 | of(...) : ImmutableListMultimap [] : Object | Test.java:6880:22:6880:75 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6880:61:6880:68 | source(...) : Object | Test.java:6880:36:6880:75 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:60 | +| Test.java:6881:10:6881:54 | transformValues(...) : ListMultimap [] : Object | Test.java:6882:19:6882:21 | out : ListMultimap [] : Object | provenance | | +| Test.java:6881:36:6881:37 | in : ImmutableListMultimap [] : Object | Test.java:6881:10:6881:54 | transformValues(...) : ListMultimap [] : Object | provenance | MaD:429 | +| Test.java:6882:19:6882:21 | out : ListMultimap [] : Object | Test.java:100:18:100:34 | map : ListMultimap [] : Object | provenance | | +| Test.java:6882:19:6882:21 | out : ListMultimap [] : Object | Test.java:6882:9:6882:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6887:18:6887:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6888:36:6888:37 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6887:28:6887:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6887:18:6887:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6887:49:6887:56 | source(...) : Object | Test.java:6887:28:6887:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6888:10:6888:54 | transformValues(...) : Multimap [] : Object | Test.java:6889:19:6889:21 | out : Multimap [] : Object | provenance | | +| Test.java:6888:36:6888:37 | in : ImmutableMultimap [] : Object | Test.java:6888:10:6888:54 | transformValues(...) : Multimap [] : Object | provenance | MaD:430 | +| Test.java:6889:19:6889:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | provenance | | +| Test.java:6889:19:6889:21 | out : Multimap [] : Object | Test.java:6889:9:6889:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6894:31:6894:93 | (...)... : ImmutableListMultimap [] : Object | Test.java:6895:45:6895:46 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6894:54:6894:93 | of(...) : ImmutableListMultimap [] : Object | Test.java:6894:31:6894:93 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6894:79:6894:86 | source(...) : Object | Test.java:6894:54:6894:93 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:60 | +| Test.java:6895:10:6895:47 | unmodifiableListMultimap(...) : ListMultimap [] : Object | Test.java:6896:19:6896:21 | out : ListMultimap [] : Object | provenance | | +| Test.java:6895:45:6895:46 | in : ImmutableListMultimap [] : Object | Test.java:6895:10:6895:47 | unmodifiableListMultimap(...) : ListMultimap [] : Object | provenance | MaD:431 | +| Test.java:6896:19:6896:21 | out : ListMultimap [] : Object | Test.java:100:18:100:34 | map : ListMultimap [] : Object | provenance | | +| Test.java:6896:19:6896:21 | out : ListMultimap [] : Object | Test.java:6896:9:6896:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6901:31:6901:93 | (...)... : ImmutableListMultimap [] : Object | Test.java:6902:45:6902:46 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6901:54:6901:93 | of(...) : ImmutableListMultimap [] : Object | Test.java:6901:31:6901:93 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6901:85:6901:92 | source(...) : Object | Test.java:6901:54:6901:93 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:61 | +| Test.java:6902:10:6902:47 | unmodifiableListMultimap(...) : ListMultimap [] : Object | Test.java:6903:21:6903:23 | out : ListMultimap [] : Object | provenance | | +| Test.java:6902:45:6902:46 | in : ImmutableListMultimap [] : Object | Test.java:6902:10:6902:47 | unmodifiableListMultimap(...) : ListMultimap [] : Object | provenance | MaD:432 | +| Test.java:6903:21:6903:23 | out : ListMultimap [] : Object | Test.java:119:20:119:36 | map : ListMultimap [] : Object | provenance | | +| Test.java:6903:21:6903:23 | out : ListMultimap [] : Object | Test.java:6903:9:6903:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6908:22:6908:75 | (...)... : ImmutableListMultimap [] : Object | Test.java:6909:45:6909:46 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6908:36:6908:75 | of(...) : ImmutableListMultimap [] : Object | Test.java:6908:22:6908:75 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6908:61:6908:68 | source(...) : Object | Test.java:6908:36:6908:75 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:60 | +| Test.java:6909:10:6909:47 | unmodifiableListMultimap(...) : ListMultimap [] : Object | Test.java:6910:19:6910:21 | out : ListMultimap [] : Object | provenance | | +| Test.java:6909:45:6909:46 | in : ImmutableListMultimap [] : Object | Test.java:6909:10:6909:47 | unmodifiableListMultimap(...) : ListMultimap [] : Object | provenance | MaD:433 | +| Test.java:6910:19:6910:21 | out : ListMultimap [] : Object | Test.java:100:18:100:34 | map : ListMultimap [] : Object | provenance | | +| Test.java:6910:19:6910:21 | out : ListMultimap [] : Object | Test.java:6910:9:6910:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6915:22:6915:75 | (...)... : ImmutableListMultimap [] : Object | Test.java:6916:45:6916:46 | in : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6915:36:6915:75 | of(...) : ImmutableListMultimap [] : Object | Test.java:6915:22:6915:75 | (...)... : ImmutableListMultimap [] : Object | provenance | | +| Test.java:6915:67:6915:74 | source(...) : Object | Test.java:6915:36:6915:75 | of(...) : ImmutableListMultimap [] : Object | provenance | MaD:61 | +| Test.java:6916:10:6916:47 | unmodifiableListMultimap(...) : ListMultimap [] : Object | Test.java:6917:21:6917:23 | out : ListMultimap [] : Object | provenance | | +| Test.java:6916:45:6916:46 | in : ImmutableListMultimap [] : Object | Test.java:6916:10:6916:47 | unmodifiableListMultimap(...) : ListMultimap [] : Object | provenance | MaD:434 | +| Test.java:6917:21:6917:23 | out : ListMultimap [] : Object | Test.java:119:20:119:36 | map : ListMultimap [] : Object | provenance | | +| Test.java:6917:21:6917:23 | out : ListMultimap [] : Object | Test.java:6917:9:6917:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6922:27:6922:81 | (...)... : ImmutableMultimap [] : Object | Test.java:6923:41:6923:42 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6922:46:6922:81 | of(...) : ImmutableMultimap [] : Object | Test.java:6922:27:6922:81 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6922:67:6922:74 | source(...) : Object | Test.java:6922:46:6922:81 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6923:10:6923:43 | unmodifiableMultimap(...) : Multimap [] : Object | Test.java:6924:19:6924:21 | out : Multimap [] : Object | provenance | | +| Test.java:6923:41:6923:42 | in : ImmutableMultimap [] : Object | Test.java:6923:10:6923:43 | unmodifiableMultimap(...) : Multimap [] : Object | provenance | MaD:435 | +| Test.java:6924:19:6924:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | provenance | | +| Test.java:6924:19:6924:21 | out : Multimap [] : Object | Test.java:6924:9:6924:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6929:27:6929:81 | (...)... : ImmutableMultimap [] : Object | Test.java:6930:41:6930:42 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6929:46:6929:81 | of(...) : ImmutableMultimap [] : Object | Test.java:6929:27:6929:81 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6929:73:6929:80 | source(...) : Object | Test.java:6929:46:6929:81 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6930:10:6930:43 | unmodifiableMultimap(...) : Multimap [] : Object | Test.java:6931:21:6931:23 | out : Multimap [] : Object | provenance | | +| Test.java:6930:41:6930:42 | in : ImmutableMultimap [] : Object | Test.java:6930:10:6930:43 | unmodifiableMultimap(...) : Multimap [] : Object | provenance | MaD:436 | +| Test.java:6931:21:6931:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | provenance | | +| Test.java:6931:21:6931:23 | out : Multimap [] : Object | Test.java:6931:9:6931:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6936:18:6936:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6937:41:6937:42 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6936:28:6936:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6936:18:6936:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6936:49:6936:56 | source(...) : Object | Test.java:6936:28:6936:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:6937:10:6937:43 | unmodifiableMultimap(...) : Multimap [] : Object | Test.java:6938:19:6938:21 | out : Multimap [] : Object | provenance | | +| Test.java:6937:41:6937:42 | in : ImmutableMultimap [] : Object | Test.java:6937:10:6937:43 | unmodifiableMultimap(...) : Multimap [] : Object | provenance | MaD:437 | +| Test.java:6938:19:6938:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | provenance | | +| Test.java:6938:19:6938:21 | out : Multimap [] : Object | Test.java:6938:9:6938:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6943:18:6943:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6944:41:6944:42 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:6943:28:6943:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6943:18:6943:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:6943:55:6943:62 | source(...) : Object | Test.java:6943:28:6943:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:6944:10:6944:43 | unmodifiableMultimap(...) : Multimap [] : Object | Test.java:6945:21:6945:23 | out : Multimap [] : Object | provenance | | +| Test.java:6944:41:6944:42 | in : ImmutableMultimap [] : Object | Test.java:6944:10:6944:43 | unmodifiableMultimap(...) : Multimap [] : Object | provenance | MaD:438 | +| Test.java:6945:21:6945:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | provenance | | +| Test.java:6945:21:6945:23 | out : Multimap [] : Object | Test.java:6945:9:6945:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6950:30:6950:90 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6951:44:6951:45 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6950:52:6950:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6950:30:6950:90 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6950:76:6950:83 | source(...) : Object | Test.java:6950:52:6950:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:145 | +| Test.java:6951:10:6951:46 | unmodifiableSetMultimap(...) : SetMultimap [] : Object | Test.java:6952:19:6952:21 | out : SetMultimap [] : Object | provenance | | +| Test.java:6951:44:6951:45 | in : ImmutableSetMultimap [] : Object | Test.java:6951:10:6951:46 | unmodifiableSetMultimap(...) : SetMultimap [] : Object | provenance | MaD:439 | +| Test.java:6952:19:6952:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | provenance | | +| Test.java:6952:19:6952:21 | out : SetMultimap [] : Object | Test.java:6952:9:6952:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6957:30:6957:90 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6958:44:6958:45 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6957:52:6957:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6957:30:6957:90 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6957:82:6957:89 | source(...) : Object | Test.java:6957:52:6957:90 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:6958:10:6958:46 | unmodifiableSetMultimap(...) : SetMultimap [] : Object | Test.java:6959:21:6959:23 | out : SetMultimap [] : Object | provenance | | +| Test.java:6958:44:6958:45 | in : ImmutableSetMultimap [] : Object | Test.java:6958:10:6958:46 | unmodifiableSetMultimap(...) : SetMultimap [] : Object | provenance | MaD:440 | +| Test.java:6959:21:6959:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | provenance | | +| Test.java:6959:21:6959:23 | out : SetMultimap [] : Object | Test.java:6959:9:6959:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6964:21:6964:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6965:44:6965:45 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6964:34:6964:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6964:21:6964:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6964:58:6964:65 | source(...) : Object | Test.java:6964:34:6964:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:145 | +| Test.java:6965:10:6965:46 | unmodifiableSetMultimap(...) : SetMultimap [] : Object | Test.java:6966:19:6966:21 | out : SetMultimap [] : Object | provenance | | +| Test.java:6965:44:6965:45 | in : ImmutableSetMultimap [] : Object | Test.java:6965:10:6965:46 | unmodifiableSetMultimap(...) : SetMultimap [] : Object | provenance | MaD:441 | +| Test.java:6966:19:6966:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | provenance | | +| Test.java:6966:19:6966:21 | out : SetMultimap [] : Object | Test.java:6966:9:6966:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6971:21:6971:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6972:44:6972:45 | in : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6971:34:6971:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6971:21:6971:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | +| Test.java:6971:64:6971:71 | source(...) : Object | Test.java:6971:34:6971:72 | of(...) : ImmutableSetMultimap [] : Object | provenance | MaD:146 | +| Test.java:6972:10:6972:46 | unmodifiableSetMultimap(...) : SetMultimap [] : Object | Test.java:6973:21:6973:23 | out : SetMultimap [] : Object | provenance | | +| Test.java:6972:44:6972:45 | in : ImmutableSetMultimap [] : Object | Test.java:6972:10:6972:46 | unmodifiableSetMultimap(...) : SetMultimap [] : Object | provenance | MaD:442 | +| Test.java:6973:21:6973:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | provenance | | +| Test.java:6973:21:6973:23 | out : SetMultimap [] : Object | Test.java:6973:9:6973:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6978:27:6978:114 | (...)... : TreeMultimap [] : Comparable | Test.java:6979:50:6979:51 | in : TreeMultimap [] : Comparable | provenance | | +| Test.java:6978:46:6978:114 | create(...) : TreeMultimap [] : Comparable | Test.java:6978:27:6978:114 | (...)... : TreeMultimap [] : Comparable | provenance | | +| Test.java:6978:66:6978:113 | of(...) : ImmutableMultimap [] : Comparable | Test.java:6978:46:6978:114 | create(...) : TreeMultimap [] : Comparable | provenance | MaD:552 | +| Test.java:6978:87:6978:106 | (...)... : Comparable | Test.java:6978:66:6978:113 | of(...) : ImmutableMultimap [] : Comparable | provenance | MaD:103 | +| Test.java:6978:99:6978:106 | source(...) : Object | Test.java:6978:87:6978:106 | (...)... : Comparable | provenance | | +| Test.java:6979:10:6979:52 | unmodifiableSortedSetMultimap(...) : SortedSetMultimap [] : Comparable | Test.java:6980:19:6980:21 | out : SortedSetMultimap [] : Comparable | provenance | | +| Test.java:6979:50:6979:51 | in : TreeMultimap [] : Comparable | Test.java:6979:10:6979:52 | unmodifiableSortedSetMultimap(...) : SortedSetMultimap [] : Comparable | provenance | MaD:443 | +| Test.java:6980:19:6980:21 | out : SortedSetMultimap [] : Comparable | Test.java:100:18:100:34 | map : SortedSetMultimap [] : Comparable | provenance | | +| Test.java:6980:19:6980:21 | out : SortedSetMultimap [] : Comparable | Test.java:6980:9:6980:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:6985:27:6985:114 | (...)... : TreeMultimap [] : Comparable | Test.java:6986:50:6986:51 | in : TreeMultimap [] : Comparable | provenance | | +| Test.java:6985:46:6985:114 | create(...) : TreeMultimap [] : Comparable | Test.java:6985:27:6985:114 | (...)... : TreeMultimap [] : Comparable | provenance | | +| Test.java:6985:66:6985:113 | of(...) : ImmutableMultimap [] : Comparable | Test.java:6985:46:6985:114 | create(...) : TreeMultimap [] : Comparable | provenance | MaD:553 | +| Test.java:6985:93:6985:112 | (...)... : Comparable | Test.java:6985:66:6985:113 | of(...) : ImmutableMultimap [] : Comparable | provenance | MaD:104 | +| Test.java:6985:105:6985:112 | source(...) : Object | Test.java:6985:93:6985:112 | (...)... : Comparable | provenance | | +| Test.java:6986:10:6986:52 | unmodifiableSortedSetMultimap(...) : SortedSetMultimap [] : Comparable | Test.java:6987:21:6987:23 | out : SortedSetMultimap [] : Comparable | provenance | | +| Test.java:6986:50:6986:51 | in : TreeMultimap [] : Comparable | Test.java:6986:10:6986:52 | unmodifiableSortedSetMultimap(...) : SortedSetMultimap [] : Comparable | provenance | MaD:444 | +| Test.java:6987:21:6987:23 | out : SortedSetMultimap [] : Comparable | Test.java:119:20:119:36 | map : SortedSetMultimap [] : Comparable | provenance | | +| Test.java:6987:21:6987:23 | out : SortedSetMultimap [] : Comparable | Test.java:6987:9:6987:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:6992:24:6992:68 | (...)... : Entry [] : Object | Test.java:6993:10:6993:11 | in : Entry [] : Object | provenance | | +| Test.java:6992:40:6992:68 | newEntryWithElement(...) : Entry [] : Object | Test.java:6992:24:6992:68 | (...)... : Entry [] : Object | provenance | | +| Test.java:6992:60:6992:67 | source(...) : Object | Test.java:106:44:106:47 | el : Object | provenance | | +| Test.java:6992:60:6992:67 | source(...) : Object | Test.java:6992:40:6992:68 | newEntryWithElement(...) : Entry [] : Object | provenance | MaD:134 | +| Test.java:6993:10:6993:11 | in : Entry [] : Object | Test.java:6993:10:6993:24 | getElement(...) : Object | provenance | MaD:450 | +| Test.java:6993:10:6993:24 | getElement(...) : Object | Test.java:6994:9:6994:11 | out | provenance | | +| Test.java:6999:16:6999:31 | (...)... : Object | Test.java:7000:12:7000:13 | in : Object | provenance | | +| Test.java:6999:24:6999:31 | source(...) : Object | Test.java:6999:16:6999:31 | (...)... : Object | provenance | | +| Test.java:7000:4:7000:6 | out [post update] : TreeMultiset [] : Object | Test.java:7001:20:7001:22 | out : TreeMultiset [] : Object | provenance | | +| Test.java:7000:12:7000:13 | in : Object | Test.java:7000:4:7000:6 | out [post update] : TreeMultiset [] : Object | provenance | MaD:445 | +| Test.java:7001:20:7001:22 | out : TreeMultiset [] : Object | Test.java:110:19:110:32 | it : TreeMultiset [] : Object | provenance | | +| Test.java:7001:20:7001:22 | out : TreeMultiset [] : Object | Test.java:7001:9:7001:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7006:16:7006:31 | (...)... : Object | Test.java:7007:12:7007:13 | in : Object | provenance | | +| Test.java:7006:24:7006:31 | source(...) : Object | Test.java:7006:16:7006:31 | (...)... : Object | provenance | | +| Test.java:7007:4:7007:6 | out [post update] : Multiset [] : Object | Test.java:7008:20:7008:22 | out : Multiset [] : Object | provenance | | +| Test.java:7007:12:7007:13 | in : Object | Test.java:7007:4:7007:6 | out [post update] : Multiset [] : Object | provenance | MaD:445 | +| Test.java:7008:20:7008:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | provenance | | +| Test.java:7008:20:7008:22 | out : Multiset [] : Object | Test.java:7008:9:7008:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7013:16:7013:31 | (...)... : Object | Test.java:7014:12:7014:13 | in : Object | provenance | | +| Test.java:7013:24:7013:31 | source(...) : Object | Test.java:7013:16:7013:31 | (...)... : Object | provenance | | +| Test.java:7014:4:7014:6 | out [post update] : ImmutableMultiset [] : Object | Test.java:7015:20:7015:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:7014:12:7014:13 | in : Object | Test.java:7014:4:7014:6 | out [post update] : ImmutableMultiset [] : Object | provenance | MaD:445 | +| Test.java:7015:20:7015:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:7015:20:7015:22 | out : ImmutableMultiset [] : Object | Test.java:7015:9:7015:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7020:16:7020:31 | (...)... : Object | Test.java:7021:12:7021:13 | in : Object | provenance | | +| Test.java:7020:24:7020:31 | source(...) : Object | Test.java:7020:16:7020:31 | (...)... : Object | provenance | | +| Test.java:7021:4:7021:6 | out [post update] : ConcurrentHashMultiset [] : Object | Test.java:7022:20:7022:22 | out : ConcurrentHashMultiset [] : Object | provenance | | +| Test.java:7021:12:7021:13 | in : Object | Test.java:7021:4:7021:6 | out [post update] : ConcurrentHashMultiset [] : Object | provenance | MaD:445 | +| Test.java:7022:20:7022:22 | out : ConcurrentHashMultiset [] : Object | Test.java:110:19:110:32 | it : ConcurrentHashMultiset [] : Object | provenance | | +| Test.java:7022:20:7022:22 | out : ConcurrentHashMultiset [] : Object | Test.java:7022:9:7022:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7027:18:7027:57 | (...)... : ImmutableMultiset [] : Object | Test.java:7028:10:7028:11 | in : ImmutableMultiset [] : Object | provenance | | +| Test.java:7027:28:7027:57 | of(...) : ImmutableMultiset [] : Object | Test.java:7027:18:7027:57 | (...)... : ImmutableMultiset [] : Object | provenance | | +| Test.java:7027:49:7027:56 | source(...) : Object | Test.java:7027:28:7027:57 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:7028:10:7028:11 | in : ImmutableMultiset [] : Object | Test.java:7028:10:7028:24 | elementSet(...) : Set [] : Object | provenance | MaD:446 | +| Test.java:7028:10:7028:24 | elementSet(...) : Set [] : Object | Test.java:7029:20:7029:22 | out : Set [] : Object | provenance | | +| Test.java:7029:20:7029:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | provenance | | +| Test.java:7029:20:7029:22 | out : Set [] : Object | Test.java:7029:9:7029:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7034:24:7034:87 | (...)... : ImmutableSortedMultiset [] : Comparable | Test.java:7035:10:7035:11 | in : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:7034:40:7034:87 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:7034:24:7034:87 | (...)... : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:7034:67:7034:86 | (...)... : Comparable | Test.java:7034:40:7034:87 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:7034:79:7034:86 | source(...) : Object | Test.java:7034:67:7034:86 | (...)... : Comparable | provenance | | +| Test.java:7035:10:7035:11 | in : ImmutableSortedMultiset [] : Comparable | Test.java:7035:10:7035:24 | elementSet(...) : NavigableSet [] : Comparable | provenance | MaD:446 | +| Test.java:7035:10:7035:24 | elementSet(...) : NavigableSet [] : Comparable | Test.java:7036:20:7036:22 | out : NavigableSet [] : Comparable | provenance | | +| Test.java:7036:20:7036:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | provenance | | +| Test.java:7036:20:7036:22 | out : NavigableSet [] : Comparable | Test.java:7036:9:7036:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7041:33:7041:105 | (...)... : ImmutableSortedMultiset [] : Comparable | Test.java:7042:10:7042:11 | in : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:7041:58:7041:105 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:7041:33:7041:105 | (...)... : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:7041:85:7041:104 | (...)... : Comparable | Test.java:7041:58:7041:105 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:7041:97:7041:104 | source(...) : Object | Test.java:7041:85:7041:104 | (...)... : Comparable | provenance | | +| Test.java:7042:10:7042:11 | in : ImmutableSortedMultiset [] : Comparable | Test.java:7042:10:7042:24 | elementSet(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:446 | +| Test.java:7042:10:7042:24 | elementSet(...) : ImmutableSortedSet [] : Comparable | Test.java:7043:20:7043:22 | out : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:7043:20:7043:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:7043:20:7043:22 | out : ImmutableSortedSet [] : Comparable | Test.java:7043:9:7043:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7048:27:7048:75 | (...)... : ImmutableMultiset [] : Object | Test.java:7049:10:7049:11 | in : ImmutableMultiset [] : Object | provenance | | +| Test.java:7048:46:7048:75 | of(...) : ImmutableMultiset [] : Object | Test.java:7048:27:7048:75 | (...)... : ImmutableMultiset [] : Object | provenance | | +| Test.java:7048:67:7048:74 | source(...) : Object | Test.java:7048:46:7048:75 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:7049:10:7049:11 | in : ImmutableMultiset [] : Object | Test.java:7049:10:7049:24 | elementSet(...) : ImmutableSet [] : Object | provenance | MaD:446 | +| Test.java:7049:10:7049:24 | elementSet(...) : ImmutableSet [] : Object | Test.java:7050:20:7050:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:7050:20:7050:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:7050:20:7050:22 | out : ImmutableSet [] : Object | Test.java:7050:9:7050:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7055:24:7055:87 | (...)... : ImmutableSortedMultiset [] : Comparable | Test.java:7056:10:7056:11 | in : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:7055:40:7055:87 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:7055:24:7055:87 | (...)... : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:7055:67:7055:86 | (...)... : Comparable | Test.java:7055:40:7055:87 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:7055:79:7055:86 | source(...) : Object | Test.java:7055:67:7055:86 | (...)... : Comparable | provenance | | +| Test.java:7056:10:7056:11 | in : ImmutableSortedMultiset [] : Comparable | Test.java:7056:10:7056:22 | entrySet(...) : Set [, ] : Comparable | provenance | MaD:447 | +| Test.java:7056:10:7056:22 | entrySet(...) : Set [, ] : Comparable | Test.java:7057:20:7057:22 | out : Set [, ] : Comparable | provenance | | +| Test.java:7057:9:7057:23 | getElement(...) : Entry [] : Comparable | Test.java:7057:9:7057:36 | getElement(...) | provenance | MaD:450 | +| Test.java:7057:20:7057:22 | out : Set [, ] : Comparable | Test.java:7057:9:7057:23 | getElement(...) : Entry [] : Comparable | provenance | MaD:555 | +| Test.java:7062:18:7062:57 | (...)... : ImmutableMultiset [] : Object | Test.java:7063:10:7063:11 | in : ImmutableMultiset [] : Object | provenance | | +| Test.java:7062:28:7062:57 | of(...) : ImmutableMultiset [] : Object | Test.java:7062:18:7062:57 | (...)... : ImmutableMultiset [] : Object | provenance | | +| Test.java:7062:49:7062:56 | source(...) : Object | Test.java:7062:28:7062:57 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:7063:10:7063:11 | in : ImmutableMultiset [] : Object | Test.java:7063:10:7063:22 | entrySet(...) : Set [, ] : Object | provenance | MaD:447 | +| Test.java:7063:10:7063:22 | entrySet(...) : Set [, ] : Object | Test.java:7064:20:7064:22 | out : Set [, ] : Object | provenance | | +| Test.java:7064:9:7064:23 | getElement(...) : Entry [] : Object | Test.java:7064:9:7064:36 | getElement(...) | provenance | MaD:450 | +| Test.java:7064:20:7064:22 | out : Set [, ] : Object | Test.java:7064:9:7064:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | +| Test.java:7069:27:7069:75 | (...)... : ImmutableMultiset [] : Object | Test.java:7070:10:7070:11 | in : ImmutableMultiset [] : Object | provenance | | +| Test.java:7069:46:7069:75 | of(...) : ImmutableMultiset [] : Object | Test.java:7069:27:7069:75 | (...)... : ImmutableMultiset [] : Object | provenance | | +| Test.java:7069:67:7069:74 | source(...) : Object | Test.java:7069:46:7069:75 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:7070:10:7070:11 | in : ImmutableMultiset [] : Object | Test.java:7070:10:7070:22 | entrySet(...) : ImmutableSet [, ] : Object | provenance | MaD:447 | +| Test.java:7070:10:7070:22 | entrySet(...) : ImmutableSet [, ] : Object | Test.java:7071:20:7071:22 | out : ImmutableSet [, ] : Object | provenance | | +| Test.java:7071:9:7071:23 | getElement(...) : Entry [] : Object | Test.java:7071:9:7071:36 | getElement(...) | provenance | MaD:450 | +| Test.java:7071:20:7071:22 | out : ImmutableSet [, ] : Object | Test.java:7071:9:7071:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | +| Test.java:7076:16:7076:31 | (...)... : Object | Test.java:7077:17:7077:18 | in : Object | provenance | | +| Test.java:7076:24:7076:31 | source(...) : Object | Test.java:7076:16:7076:31 | (...)... : Object | provenance | | +| Test.java:7077:4:7077:6 | out [post update] : TreeMultiset [] : Object | Test.java:7078:20:7078:22 | out : TreeMultiset [] : Object | provenance | | +| Test.java:7077:17:7077:18 | in : Object | Test.java:7077:4:7077:6 | out [post update] : TreeMultiset [] : Object | provenance | MaD:448 | +| Test.java:7078:20:7078:22 | out : TreeMultiset [] : Object | Test.java:110:19:110:32 | it : TreeMultiset [] : Object | provenance | | +| Test.java:7078:20:7078:22 | out : TreeMultiset [] : Object | Test.java:7078:9:7078:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7083:16:7083:31 | (...)... : Object | Test.java:7084:17:7084:18 | in : Object | provenance | | +| Test.java:7083:24:7083:31 | source(...) : Object | Test.java:7083:16:7083:31 | (...)... : Object | provenance | | +| Test.java:7084:4:7084:6 | out [post update] : Multiset [] : Object | Test.java:7085:20:7085:22 | out : Multiset [] : Object | provenance | | +| Test.java:7084:17:7084:18 | in : Object | Test.java:7084:4:7084:6 | out [post update] : Multiset [] : Object | provenance | MaD:448 | +| Test.java:7085:20:7085:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | provenance | | +| Test.java:7085:20:7085:22 | out : Multiset [] : Object | Test.java:7085:9:7085:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7090:16:7090:31 | (...)... : Object | Test.java:7091:17:7091:18 | in : Object | provenance | | +| Test.java:7090:24:7090:31 | source(...) : Object | Test.java:7090:16:7090:31 | (...)... : Object | provenance | | +| Test.java:7091:4:7091:6 | out [post update] : ImmutableMultiset [] : Object | Test.java:7092:20:7092:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:7091:17:7091:18 | in : Object | Test.java:7091:4:7091:6 | out [post update] : ImmutableMultiset [] : Object | provenance | MaD:448 | +| Test.java:7092:20:7092:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:7092:20:7092:22 | out : ImmutableMultiset [] : Object | Test.java:7092:9:7092:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7097:16:7097:31 | (...)... : Object | Test.java:7098:17:7098:18 | in : Object | provenance | | +| Test.java:7097:24:7097:31 | source(...) : Object | Test.java:7097:16:7097:31 | (...)... : Object | provenance | | +| Test.java:7098:4:7098:6 | out [post update] : ConcurrentHashMultiset [] : Object | Test.java:7099:20:7099:22 | out : ConcurrentHashMultiset [] : Object | provenance | | +| Test.java:7098:17:7098:18 | in : Object | Test.java:7098:4:7098:6 | out [post update] : ConcurrentHashMultiset [] : Object | provenance | MaD:448 | +| Test.java:7099:20:7099:22 | out : ConcurrentHashMultiset [] : Object | Test.java:110:19:110:32 | it : ConcurrentHashMultiset [] : Object | provenance | | +| Test.java:7099:20:7099:22 | out : ConcurrentHashMultiset [] : Object | Test.java:7099:9:7099:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7104:16:7104:31 | (...)... : Object | Test.java:7105:17:7105:18 | in : Object | provenance | | +| Test.java:7104:24:7104:31 | source(...) : Object | Test.java:7104:16:7104:31 | (...)... : Object | provenance | | +| Test.java:7105:4:7105:6 | out [post update] : TreeMultiset [] : Object | Test.java:7106:20:7106:22 | out : TreeMultiset [] : Object | provenance | | +| Test.java:7105:17:7105:18 | in : Object | Test.java:7105:4:7105:6 | out [post update] : TreeMultiset [] : Object | provenance | MaD:449 | +| Test.java:7106:20:7106:22 | out : TreeMultiset [] : Object | Test.java:110:19:110:32 | it : TreeMultiset [] : Object | provenance | | +| Test.java:7106:20:7106:22 | out : TreeMultiset [] : Object | Test.java:7106:9:7106:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7111:16:7111:31 | (...)... : Object | Test.java:7112:17:7112:18 | in : Object | provenance | | +| Test.java:7111:24:7111:31 | source(...) : Object | Test.java:7111:16:7111:31 | (...)... : Object | provenance | | +| Test.java:7112:4:7112:6 | out [post update] : Multiset [] : Object | Test.java:7113:20:7113:22 | out : Multiset [] : Object | provenance | | +| Test.java:7112:17:7112:18 | in : Object | Test.java:7112:4:7112:6 | out [post update] : Multiset [] : Object | provenance | MaD:449 | +| Test.java:7113:20:7113:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | provenance | | +| Test.java:7113:20:7113:22 | out : Multiset [] : Object | Test.java:7113:9:7113:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7118:16:7118:31 | (...)... : Object | Test.java:7119:17:7119:18 | in : Object | provenance | | +| Test.java:7118:24:7118:31 | source(...) : Object | Test.java:7118:16:7118:31 | (...)... : Object | provenance | | +| Test.java:7119:4:7119:6 | out [post update] : ImmutableMultiset [] : Object | Test.java:7120:20:7120:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:7119:17:7119:18 | in : Object | Test.java:7119:4:7119:6 | out [post update] : ImmutableMultiset [] : Object | provenance | MaD:449 | +| Test.java:7120:20:7120:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:7120:20:7120:22 | out : ImmutableMultiset [] : Object | Test.java:7120:9:7120:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7125:16:7125:31 | (...)... : Object | Test.java:7126:17:7126:18 | in : Object | provenance | | +| Test.java:7125:24:7125:31 | source(...) : Object | Test.java:7125:16:7125:31 | (...)... : Object | provenance | | +| Test.java:7126:4:7126:6 | out [post update] : ConcurrentHashMultiset [] : Object | Test.java:7127:20:7127:22 | out : ConcurrentHashMultiset [] : Object | provenance | | +| Test.java:7126:17:7126:18 | in : Object | Test.java:7126:4:7126:6 | out [post update] : ConcurrentHashMultiset [] : Object | provenance | MaD:449 | +| Test.java:7127:20:7127:22 | out : ConcurrentHashMultiset [] : Object | Test.java:110:19:110:32 | it : ConcurrentHashMultiset [] : Object | provenance | | +| Test.java:7127:20:7127:22 | out : ConcurrentHashMultiset [] : Object | Test.java:7127:9:7127:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7132:18:7132:57 | (...)... : ImmutableMultiset [] : Object | Test.java:7133:42:7133:43 | in : ImmutableMultiset [] : Object | provenance | | +| Test.java:7132:28:7132:57 | of(...) : ImmutableMultiset [] : Object | Test.java:7132:18:7132:57 | (...)... : ImmutableMultiset [] : Object | provenance | | +| Test.java:7132:49:7132:56 | source(...) : Object | Test.java:7132:28:7132:57 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:7133:10:7133:44 | copyHighestCountFirst(...) : ImmutableMultiset [] : Object | Test.java:7134:20:7134:22 | out : ImmutableMultiset [] : Object | provenance | | +| Test.java:7133:42:7133:43 | in : ImmutableMultiset [] : Object | Test.java:7133:10:7133:44 | copyHighestCountFirst(...) : ImmutableMultiset [] : Object | provenance | MaD:451 | +| Test.java:7134:20:7134:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:7134:20:7134:22 | out : ImmutableMultiset [] : Object | Test.java:7134:9:7134:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7139:18:7139:57 | (...)... : ImmutableMultiset [] : Object | Test.java:7140:31:7140:32 | in : ImmutableMultiset [] : Object | provenance | | +| Test.java:7139:28:7139:57 | of(...) : ImmutableMultiset [] : Object | Test.java:7139:18:7139:57 | (...)... : ImmutableMultiset [] : Object | provenance | | +| Test.java:7139:49:7139:56 | source(...) : Object | Test.java:7139:28:7139:57 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:7140:10:7140:39 | difference(...) : Multiset [] : Object | Test.java:7141:20:7141:22 | out : Multiset [] : Object | provenance | | +| Test.java:7140:31:7140:32 | in : ImmutableMultiset [] : Object | Test.java:7140:10:7140:39 | difference(...) : Multiset [] : Object | provenance | MaD:452 | +| Test.java:7141:20:7141:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | provenance | | +| Test.java:7141:20:7141:22 | out : Multiset [] : Object | Test.java:7141:9:7141:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7146:18:7146:57 | (...)... : ImmutableMultiset [] : Object | Test.java:7147:27:7147:28 | in : ImmutableMultiset [] : Object | provenance | | +| Test.java:7146:28:7146:57 | of(...) : ImmutableMultiset [] : Object | Test.java:7146:18:7146:57 | (...)... : ImmutableMultiset [] : Object | provenance | | +| Test.java:7146:49:7146:56 | source(...) : Object | Test.java:7146:28:7146:57 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:7147:10:7147:35 | filter(...) : Multiset [] : Object | Test.java:7148:20:7148:22 | out : Multiset [] : Object | provenance | | +| Test.java:7147:27:7147:28 | in : ImmutableMultiset [] : Object | Test.java:7147:10:7147:35 | filter(...) : Multiset [] : Object | provenance | MaD:453 | +| Test.java:7148:20:7148:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | provenance | | +| Test.java:7148:20:7148:22 | out : Multiset [] : Object | Test.java:7148:9:7148:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7153:16:7153:31 | (...)... : Object | Test.java:7154:35:7154:36 | in : Object | provenance | | +| Test.java:7153:24:7153:31 | source(...) : Object | Test.java:7153:16:7153:31 | (...)... : Object | provenance | | +| Test.java:7154:10:7154:40 | immutableEntry(...) : Entry [] : Object | Test.java:7155:9:7155:11 | out : Entry [] : Object | provenance | | +| Test.java:7154:35:7154:36 | in : Object | Test.java:7154:10:7154:40 | immutableEntry(...) : Entry [] : Object | provenance | MaD:454 | +| Test.java:7155:9:7155:11 | out : Entry [] : Object | Test.java:7155:9:7155:24 | getElement(...) | provenance | MaD:450 | +| Test.java:7160:18:7160:57 | (...)... : ImmutableMultiset [] : Object | Test.java:7161:39:7161:40 | in : ImmutableMultiset [] : Object | provenance | | +| Test.java:7160:28:7160:57 | of(...) : ImmutableMultiset [] : Object | Test.java:7160:18:7160:57 | (...)... : ImmutableMultiset [] : Object | provenance | | +| Test.java:7160:49:7160:56 | source(...) : Object | Test.java:7160:28:7160:57 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:7161:10:7161:41 | intersection(...) : Multiset [] : Object | Test.java:7162:20:7162:22 | out : Multiset [] : Object | provenance | | +| Test.java:7161:39:7161:40 | in : ImmutableMultiset [] : Object | Test.java:7161:10:7161:41 | intersection(...) : Multiset [] : Object | provenance | MaD:455 | +| Test.java:7162:20:7162:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | provenance | | +| Test.java:7162:20:7162:22 | out : Multiset [] : Object | Test.java:7162:9:7162:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7167:18:7167:57 | (...)... : ImmutableMultiset [] : Object | Test.java:7168:33:7168:34 | in : ImmutableMultiset [] : Object | provenance | | +| Test.java:7167:28:7167:57 | of(...) : ImmutableMultiset [] : Object | Test.java:7167:18:7167:57 | (...)... : ImmutableMultiset [] : Object | provenance | | +| Test.java:7167:49:7167:56 | source(...) : Object | Test.java:7167:28:7167:57 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:7168:10:7168:41 | intersection(...) : Multiset [] : Object | Test.java:7169:20:7169:22 | out : Multiset [] : Object | provenance | | +| Test.java:7168:33:7168:34 | in : ImmutableMultiset [] : Object | Test.java:7168:10:7168:41 | intersection(...) : Multiset [] : Object | provenance | MaD:455 | +| Test.java:7169:20:7169:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | provenance | | +| Test.java:7169:20:7169:22 | out : Multiset [] : Object | Test.java:7169:9:7169:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7174:18:7174:57 | (...)... : ImmutableMultiset [] : Object | Test.java:7175:30:7175:31 | in : ImmutableMultiset [] : Object | provenance | | +| Test.java:7174:28:7174:57 | of(...) : ImmutableMultiset [] : Object | Test.java:7174:18:7174:57 | (...)... : ImmutableMultiset [] : Object | provenance | | +| Test.java:7174:49:7174:56 | source(...) : Object | Test.java:7174:28:7174:57 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:7175:10:7175:32 | sum(...) : Multiset [] : Object | Test.java:7176:20:7176:22 | out : Multiset [] : Object | provenance | | +| Test.java:7175:30:7175:31 | in : ImmutableMultiset [] : Object | Test.java:7175:10:7175:32 | sum(...) : Multiset [] : Object | provenance | MaD:456 | +| Test.java:7176:20:7176:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | provenance | | +| Test.java:7176:20:7176:22 | out : Multiset [] : Object | Test.java:7176:9:7176:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7181:18:7181:57 | (...)... : ImmutableMultiset [] : Object | Test.java:7182:24:7182:25 | in : ImmutableMultiset [] : Object | provenance | | +| Test.java:7181:28:7181:57 | of(...) : ImmutableMultiset [] : Object | Test.java:7181:18:7181:57 | (...)... : ImmutableMultiset [] : Object | provenance | | +| Test.java:7181:49:7181:56 | source(...) : Object | Test.java:7181:28:7181:57 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:7182:10:7182:32 | sum(...) : Multiset [] : Object | Test.java:7183:20:7183:22 | out : Multiset [] : Object | provenance | | +| Test.java:7182:24:7182:25 | in : ImmutableMultiset [] : Object | Test.java:7182:10:7182:32 | sum(...) : Multiset [] : Object | provenance | MaD:456 | +| Test.java:7183:20:7183:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | provenance | | +| Test.java:7183:20:7183:22 | out : Multiset [] : Object | Test.java:7183:9:7183:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7188:18:7188:57 | (...)... : ImmutableMultiset [] : Object | Test.java:7189:32:7189:33 | in : ImmutableMultiset [] : Object | provenance | | +| Test.java:7188:28:7188:57 | of(...) : ImmutableMultiset [] : Object | Test.java:7188:18:7188:57 | (...)... : ImmutableMultiset [] : Object | provenance | | +| Test.java:7188:49:7188:56 | source(...) : Object | Test.java:7188:28:7188:57 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:7189:10:7189:34 | union(...) : Multiset [] : Object | Test.java:7190:20:7190:22 | out : Multiset [] : Object | provenance | | +| Test.java:7189:32:7189:33 | in : ImmutableMultiset [] : Object | Test.java:7189:10:7189:34 | union(...) : Multiset [] : Object | provenance | MaD:457 | +| Test.java:7190:20:7190:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | provenance | | +| Test.java:7190:20:7190:22 | out : Multiset [] : Object | Test.java:7190:9:7190:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7195:18:7195:57 | (...)... : ImmutableMultiset [] : Object | Test.java:7196:26:7196:27 | in : ImmutableMultiset [] : Object | provenance | | +| Test.java:7195:28:7195:57 | of(...) : ImmutableMultiset [] : Object | Test.java:7195:18:7195:57 | (...)... : ImmutableMultiset [] : Object | provenance | | +| Test.java:7195:49:7195:56 | source(...) : Object | Test.java:7195:28:7195:57 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:7196:10:7196:34 | union(...) : Multiset [] : Object | Test.java:7197:20:7197:22 | out : Multiset [] : Object | provenance | | +| Test.java:7196:26:7196:27 | in : ImmutableMultiset [] : Object | Test.java:7196:10:7196:34 | union(...) : Multiset [] : Object | provenance | MaD:457 | +| Test.java:7197:20:7197:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | provenance | | +| Test.java:7197:20:7197:22 | out : Multiset [] : Object | Test.java:7197:9:7197:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7202:27:7202:75 | (...)... : ImmutableMultiset [] : Object | Test.java:7203:41:7203:42 | in : ImmutableMultiset [] : Object | provenance | | +| Test.java:7202:46:7202:75 | of(...) : ImmutableMultiset [] : Object | Test.java:7202:27:7202:75 | (...)... : ImmutableMultiset [] : Object | provenance | | +| Test.java:7202:67:7202:74 | source(...) : Object | Test.java:7202:46:7202:75 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:7203:10:7203:43 | unmodifiableMultiset(...) : Multiset [] : Object | Test.java:7204:20:7204:22 | out : Multiset [] : Object | provenance | | +| Test.java:7203:41:7203:42 | in : ImmutableMultiset [] : Object | Test.java:7203:10:7203:43 | unmodifiableMultiset(...) : Multiset [] : Object | provenance | MaD:458 | +| Test.java:7204:20:7204:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | provenance | | +| Test.java:7204:20:7204:22 | out : Multiset [] : Object | Test.java:7204:9:7204:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7209:18:7209:57 | (...)... : ImmutableMultiset [] : Object | Test.java:7210:41:7210:42 | in : ImmutableMultiset [] : Object | provenance | | +| Test.java:7209:28:7209:57 | of(...) : ImmutableMultiset [] : Object | Test.java:7209:18:7209:57 | (...)... : ImmutableMultiset [] : Object | provenance | | +| Test.java:7209:49:7209:56 | source(...) : Object | Test.java:7209:28:7209:57 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | +| Test.java:7210:10:7210:43 | unmodifiableMultiset(...) : Multiset [] : Object | Test.java:7211:20:7211:22 | out : Multiset [] : Object | provenance | | +| Test.java:7210:41:7210:42 | in : ImmutableMultiset [] : Object | Test.java:7210:10:7210:43 | unmodifiableMultiset(...) : Multiset [] : Object | provenance | MaD:459 | +| Test.java:7211:20:7211:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | provenance | | +| Test.java:7211:20:7211:22 | out : Multiset [] : Object | Test.java:7211:9:7211:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7216:24:7216:87 | (...)... : ImmutableSortedMultiset [] : Comparable | Test.java:7217:47:7217:48 | in : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:7216:40:7216:87 | of(...) : ImmutableSortedMultiset [] : Comparable | Test.java:7216:24:7216:87 | (...)... : ImmutableSortedMultiset [] : Comparable | provenance | | +| Test.java:7216:67:7216:86 | (...)... : Comparable | Test.java:7216:40:7216:87 | of(...) : ImmutableSortedMultiset [] : Comparable | provenance | MaD:181 | +| Test.java:7216:79:7216:86 | source(...) : Object | Test.java:7216:67:7216:86 | (...)... : Comparable | provenance | | +| Test.java:7217:10:7217:49 | unmodifiableSortedMultiset(...) : SortedMultiset [] : Comparable | Test.java:7218:20:7218:22 | out : SortedMultiset [] : Comparable | provenance | | +| Test.java:7217:47:7217:48 | in : ImmutableSortedMultiset [] : Comparable | Test.java:7217:10:7217:49 | unmodifiableSortedMultiset(...) : SortedMultiset [] : Comparable | provenance | MaD:460 | +| Test.java:7218:20:7218:22 | out : SortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : SortedMultiset [] : Comparable | provenance | | +| Test.java:7218:20:7218:22 | out : SortedMultiset [] : Comparable | Test.java:7218:9:7218:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7223:13:7223:39 | (...)... : Map [] : Object | Test.java:7224:43:7224:44 | in : Map [] : Object | provenance | | +| Test.java:7223:18:7223:39 | of(...) : Map [] : Object | Test.java:7223:13:7223:39 | (...)... : Map [] : Object | provenance | | +| Test.java:7223:25:7223:32 | source(...) : Object | Test.java:7223:18:7223:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:7224:10:7224:45 | create(...) : MutableClassToInstanceMap [] : Object | Test.java:7225:19:7225:21 | out : MutableClassToInstanceMap [] : Object | provenance | | +| Test.java:7224:43:7224:44 | in : Map [] : Object | Test.java:7224:10:7224:45 | create(...) : MutableClassToInstanceMap [] : Object | provenance | MaD:461 | +| Test.java:7225:19:7225:21 | out : MutableClassToInstanceMap [] : Object | Test.java:99:18:99:29 | map : MutableClassToInstanceMap [] : Object | provenance | | +| Test.java:7225:19:7225:21 | out : MutableClassToInstanceMap [] : Object | Test.java:7225:9:7225:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:7230:13:7230:39 | (...)... : Map [] : Object | Test.java:7231:43:7231:44 | in : Map [] : Object | provenance | | +| Test.java:7230:18:7230:39 | of(...) : Map [] : Object | Test.java:7230:13:7230:39 | (...)... : Map [] : Object | provenance | | +| Test.java:7230:31:7230:38 | source(...) : Object | Test.java:7230:18:7230:39 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:7231:10:7231:45 | create(...) : MutableClassToInstanceMap [] : Object | Test.java:7232:21:7232:23 | out : MutableClassToInstanceMap [] : Object | provenance | | +| Test.java:7231:43:7231:44 | in : Map [] : Object | Test.java:7231:10:7231:45 | create(...) : MutableClassToInstanceMap [] : Object | provenance | MaD:462 | +| Test.java:7232:21:7232:23 | out : MutableClassToInstanceMap [] : Object | Test.java:118:20:118:31 | map : MutableClassToInstanceMap [] : Object | provenance | | +| Test.java:7232:21:7232:23 | out : MutableClassToInstanceMap [] : Object | Test.java:7232:9:7232:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:7237:16:7237:31 | (...)... : Object | Test.java:7238:30:7238:31 | in : Object | provenance | | +| Test.java:7237:24:7237:31 | source(...) : Object | Test.java:7237:16:7237:31 | (...)... : Object | provenance | | +| Test.java:7238:10:7238:48 | concat(...) : Object[] [[]] : Object | Test.java:7239:25:7239:27 | out : Object[] [[]] : Object | provenance | | +| Test.java:7238:30:7238:31 | in : Object | Test.java:7238:10:7238:48 | concat(...) : Object[] [[]] : Object | provenance | MaD:463 | +| Test.java:7239:25:7239:27 | out : Object[] [[]] : Object | Test.java:107:24:107:32 | array : Object[] [[]] : Object | provenance | | +| Test.java:7239:25:7239:27 | out : Object[] [[]] : Object | Test.java:7239:9:7239:28 | getArrayElement(...) | provenance | | +| Test.java:7244:18:7244:49 | (...)... : Object[] [[]] : Object | Test.java:7245:44:7245:45 | in : Object[] [[]] : Object | provenance | | +| Test.java:7244:28:7244:49 | {...} : Object[] [[]] : Object | Test.java:7244:18:7244:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:7244:41:7244:48 | source(...) : Object | Test.java:7244:28:7244:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:7245:10:7245:46 | concat(...) : Object[] [[]] : Object | Test.java:7246:25:7246:27 | out : Object[] [[]] : Object | provenance | | +| Test.java:7245:44:7245:45 | in : Object[] [[]] : Object | Test.java:7245:10:7245:46 | concat(...) : Object[] [[]] : Object | provenance | MaD:464 | +| Test.java:7246:25:7246:27 | out : Object[] [[]] : Object | Test.java:107:24:107:32 | array : Object[] [[]] : Object | provenance | | +| Test.java:7246:25:7246:27 | out : Object[] [[]] : Object | Test.java:7246:9:7246:28 | getArrayElement(...) | provenance | | +| Test.java:7251:16:7251:31 | (...)... : Object | Test.java:7252:46:7252:47 | in : Object | provenance | | +| Test.java:7251:24:7251:31 | source(...) : Object | Test.java:7251:16:7251:31 | (...)... : Object | provenance | | +| Test.java:7252:10:7252:48 | concat(...) : Object[] [[]] : Object | Test.java:7253:25:7253:27 | out : Object[] [[]] : Object | provenance | | +| Test.java:7252:46:7252:47 | in : Object | Test.java:7252:10:7252:48 | concat(...) : Object[] [[]] : Object | provenance | MaD:466 | +| Test.java:7253:25:7253:27 | out : Object[] [[]] : Object | Test.java:107:24:107:32 | array : Object[] [[]] : Object | provenance | | +| Test.java:7253:25:7253:27 | out : Object[] [[]] : Object | Test.java:7253:9:7253:28 | getArrayElement(...) | provenance | | +| Test.java:7258:18:7258:49 | (...)... : Object[] [[]] : Object | Test.java:7259:30:7259:31 | in : Object[] [[]] : Object | provenance | | +| Test.java:7258:28:7258:49 | {...} : Object[] [[]] : Object | Test.java:7258:18:7258:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:7258:41:7258:48 | source(...) : Object | Test.java:7258:28:7258:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:7259:10:7259:46 | concat(...) : Object[] [[]] : Object | Test.java:7260:25:7260:27 | out : Object[] [[]] : Object | provenance | | +| Test.java:7259:30:7259:31 | in : Object[] [[]] : Object | Test.java:7259:10:7259:46 | concat(...) : Object[] [[]] : Object | provenance | MaD:465 | +| Test.java:7260:25:7260:27 | out : Object[] [[]] : Object | Test.java:107:24:107:32 | array : Object[] [[]] : Object | provenance | | +| Test.java:7260:25:7260:27 | out : Object[] [[]] : Object | Test.java:7260:9:7260:28 | getArrayElement(...) | provenance | | +| Test.java:7265:18:7265:49 | (...)... : Object[] [[]] : Object | Test.java:7266:36:7266:37 | in : Object[] [[]] : Object | provenance | | +| Test.java:7265:28:7265:49 | {...} : Object[] [[]] : Object | Test.java:7265:18:7265:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:7265:41:7265:48 | source(...) : Object | Test.java:7265:28:7265:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:7266:10:7266:44 | concat(...) : Object[] [[]] : Object | Test.java:7267:25:7267:27 | out : Object[] [[]] : Object | provenance | | +| Test.java:7266:36:7266:37 | in : Object[] [[]] : Object | Test.java:7266:10:7266:44 | concat(...) : Object[] [[]] : Object | provenance | MaD:467 | +| Test.java:7267:25:7267:27 | out : Object[] [[]] : Object | Test.java:107:24:107:32 | array : Object[] [[]] : Object | provenance | | +| Test.java:7267:25:7267:27 | out : Object[] [[]] : Object | Test.java:7267:9:7267:28 | getArrayElement(...) | provenance | | +| Test.java:7272:18:7272:49 | (...)... : Object[] [[]] : Object | Test.java:7273:30:7273:31 | in : Object[] [[]] : Object | provenance | | +| Test.java:7272:28:7272:49 | {...} : Object[] [[]] : Object | Test.java:7272:18:7272:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:7272:41:7272:48 | source(...) : Object | Test.java:7272:28:7272:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:7273:10:7273:44 | concat(...) : Object[] [[]] : Object | Test.java:7274:25:7274:27 | out : Object[] [[]] : Object | provenance | | +| Test.java:7273:30:7273:31 | in : Object[] [[]] : Object | Test.java:7273:10:7273:44 | concat(...) : Object[] [[]] : Object | provenance | MaD:467 | +| Test.java:7274:25:7274:27 | out : Object[] [[]] : Object | Test.java:107:24:107:32 | array : Object[] [[]] : Object | provenance | | +| Test.java:7274:25:7274:27 | out : Object[] [[]] : Object | Test.java:7274:9:7274:28 | getArrayElement(...) | provenance | | +| Test.java:7279:23:7279:68 | (...)... : BlockingQueue [] : Object | Test.java:7280:17:7280:18 | in : BlockingQueue [] : Object | provenance | | +| Test.java:7279:38:7279:68 | newWithElementDefault(...) : Object [] : Object | Test.java:7279:23:7279:68 | (...)... : BlockingQueue [] : Object | provenance | | +| Test.java:7279:60:7279:67 | source(...) : Object | Test.java:7279:38:7279:68 | newWithElementDefault(...) : Object [] : Object | provenance | MaD:568 | +| Test.java:7280:17:7280:18 | in : BlockingQueue [] : Object | Test.java:7280:21:7280:23 | out [post update] : Collection [] : Object | provenance | MaD:468 | +| Test.java:7280:21:7280:23 | out [post update] : Collection [] : Object | Test.java:7281:20:7281:22 | out : Collection [] : Object | provenance | | +| Test.java:7281:20:7281:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:7281:20:7281:22 | out : Collection [] : Object | Test.java:7281:9:7281:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7286:23:7286:68 | (...)... : BlockingQueue [] : Object | Test.java:7287:17:7287:18 | in : BlockingQueue [] : Object | provenance | | +| Test.java:7286:38:7286:68 | newWithElementDefault(...) : Object [] : Object | Test.java:7286:23:7286:68 | (...)... : BlockingQueue [] : Object | provenance | | +| Test.java:7286:60:7286:67 | source(...) : Object | Test.java:7286:38:7286:68 | newWithElementDefault(...) : Object [] : Object | provenance | MaD:568 | +| Test.java:7287:17:7287:18 | in : BlockingQueue [] : Object | Test.java:7287:21:7287:23 | out [post update] : Collection [] : Object | provenance | MaD:469 | +| Test.java:7287:21:7287:23 | out [post update] : Collection [] : Object | Test.java:7288:20:7288:22 | out : Collection [] : Object | provenance | | +| Test.java:7288:20:7288:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:7288:20:7288:22 | out : Collection [] : Object | Test.java:7288:9:7288:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7293:18:7293:44 | (...)... : List [] : Object | Test.java:7294:31:7294:32 | in : List [] : Object | provenance | | +| Test.java:7293:28:7293:44 | of(...) : List [] : Object | Test.java:7293:18:7293:44 | (...)... : List [] : Object | provenance | | +| Test.java:7293:36:7293:43 | source(...) : Object | Test.java:7293:28:7293:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:7294:10:7294:33 | newArrayDeque(...) : ArrayDeque [] : Object | Test.java:7295:20:7295:22 | out : ArrayDeque [] : Object | provenance | | +| Test.java:7294:31:7294:32 | in : List [] : Object | Test.java:7294:10:7294:33 | newArrayDeque(...) : ArrayDeque [] : Object | provenance | MaD:470 | +| Test.java:7295:20:7295:22 | out : ArrayDeque [] : Object | Test.java:110:19:110:32 | it : ArrayDeque [] : Object | provenance | | +| Test.java:7295:20:7295:22 | out : ArrayDeque [] : Object | Test.java:7295:9:7295:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7300:18:7300:44 | (...)... : List [] : Object | Test.java:7301:42:7301:43 | in : List [] : Object | provenance | | +| Test.java:7300:28:7300:44 | of(...) : List [] : Object | Test.java:7300:18:7300:44 | (...)... : List [] : Object | provenance | | +| Test.java:7300:36:7300:43 | source(...) : Object | Test.java:7300:28:7300:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:7301:10:7301:44 | newConcurrentLinkedQueue(...) : ConcurrentLinkedQueue [] : Object | Test.java:7302:20:7302:22 | out : ConcurrentLinkedQueue [] : Object | provenance | | +| Test.java:7301:42:7301:43 | in : List [] : Object | Test.java:7301:10:7301:44 | newConcurrentLinkedQueue(...) : ConcurrentLinkedQueue [] : Object | provenance | MaD:471 | +| Test.java:7302:20:7302:22 | out : ConcurrentLinkedQueue [] : Object | Test.java:110:19:110:32 | it : ConcurrentLinkedQueue [] : Object | provenance | | +| Test.java:7302:20:7302:22 | out : ConcurrentLinkedQueue [] : Object | Test.java:7302:9:7302:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7307:18:7307:44 | (...)... : List [] : Object | Test.java:7308:40:7308:41 | in : List [] : Object | provenance | | +| Test.java:7307:28:7307:44 | of(...) : List [] : Object | Test.java:7307:18:7307:44 | (...)... : List [] : Object | provenance | | +| Test.java:7307:36:7307:43 | source(...) : Object | Test.java:7307:28:7307:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:7308:10:7308:42 | newLinkedBlockingDeque(...) : LinkedBlockingDeque [] : Object | Test.java:7309:20:7309:22 | out : LinkedBlockingDeque [] : Object | provenance | | +| Test.java:7308:40:7308:41 | in : List [] : Object | Test.java:7308:10:7308:42 | newLinkedBlockingDeque(...) : LinkedBlockingDeque [] : Object | provenance | MaD:472 | +| Test.java:7309:20:7309:22 | out : LinkedBlockingDeque [] : Object | Test.java:110:19:110:32 | it : LinkedBlockingDeque [] : Object | provenance | | +| Test.java:7309:20:7309:22 | out : LinkedBlockingDeque [] : Object | Test.java:7309:9:7309:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7314:18:7314:44 | (...)... : List [] : Object | Test.java:7315:40:7315:41 | in : List [] : Object | provenance | | +| Test.java:7314:28:7314:44 | of(...) : List [] : Object | Test.java:7314:18:7314:44 | (...)... : List [] : Object | provenance | | +| Test.java:7314:36:7314:43 | source(...) : Object | Test.java:7314:28:7314:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:7315:10:7315:42 | newLinkedBlockingQueue(...) : LinkedBlockingQueue [] : Object | Test.java:7316:20:7316:22 | out : LinkedBlockingQueue [] : Object | provenance | | +| Test.java:7315:40:7315:41 | in : List [] : Object | Test.java:7315:10:7315:42 | newLinkedBlockingQueue(...) : LinkedBlockingQueue [] : Object | provenance | MaD:473 | +| Test.java:7316:20:7316:22 | out : LinkedBlockingQueue [] : Object | Test.java:110:19:110:32 | it : LinkedBlockingQueue [] : Object | provenance | | +| Test.java:7316:20:7316:22 | out : LinkedBlockingQueue [] : Object | Test.java:7316:9:7316:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7321:18:7321:44 | (...)... : List [] : Object | Test.java:7322:42:7322:43 | in : List [] : Object | provenance | | +| Test.java:7321:28:7321:44 | of(...) : List [] : Object | Test.java:7321:18:7321:44 | (...)... : List [] : Object | provenance | | +| Test.java:7321:36:7321:43 | source(...) : Object | Test.java:7321:28:7321:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:7322:10:7322:44 | newPriorityBlockingQueue(...) : PriorityBlockingQueue [] : Object | Test.java:7323:20:7323:22 | out : PriorityBlockingQueue [] : Object | provenance | | +| Test.java:7322:42:7322:43 | in : List [] : Object | Test.java:7322:10:7322:44 | newPriorityBlockingQueue(...) : PriorityBlockingQueue [] : Object | provenance | MaD:474 | +| Test.java:7323:20:7323:22 | out : PriorityBlockingQueue [] : Object | Test.java:110:19:110:32 | it : PriorityBlockingQueue [] : Object | provenance | | +| Test.java:7323:20:7323:22 | out : PriorityBlockingQueue [] : Object | Test.java:7323:9:7323:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7328:18:7328:44 | (...)... : List [] : Object | Test.java:7329:34:7329:35 | in : List [] : Object | provenance | | +| Test.java:7328:28:7328:44 | of(...) : List [] : Object | Test.java:7328:18:7328:44 | (...)... : List [] : Object | provenance | | +| Test.java:7328:36:7328:43 | source(...) : Object | Test.java:7328:28:7328:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:7329:10:7329:36 | newPriorityQueue(...) : PriorityQueue [] : Object | Test.java:7330:20:7330:22 | out : PriorityQueue [] : Object | provenance | | +| Test.java:7329:34:7329:35 | in : List [] : Object | Test.java:7329:10:7329:36 | newPriorityQueue(...) : PriorityQueue [] : Object | provenance | MaD:475 | +| Test.java:7330:20:7330:22 | out : PriorityQueue [] : Object | Test.java:110:19:110:32 | it : PriorityQueue [] : Object | provenance | | +| Test.java:7330:20:7330:22 | out : PriorityQueue [] : Object | Test.java:7330:9:7330:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7335:15:7335:52 | (...)... : Deque [] : Object | Test.java:7336:35:7336:36 | in : Deque [] : Object | provenance | | +| Test.java:7335:22:7335:52 | newWithElementDefault(...) : Object [] : Object | Test.java:7335:15:7335:52 | (...)... : Deque [] : Object | provenance | | +| Test.java:7335:44:7335:51 | source(...) : Object | Test.java:7335:22:7335:52 | newWithElementDefault(...) : Object [] : Object | provenance | MaD:568 | +| Test.java:7336:10:7336:37 | synchronizedDeque(...) : Deque [] : Object | Test.java:7337:20:7337:22 | out : Deque [] : Object | provenance | | +| Test.java:7336:35:7336:36 | in : Deque [] : Object | Test.java:7336:10:7336:37 | synchronizedDeque(...) : Deque [] : Object | provenance | MaD:476 | +| Test.java:7337:20:7337:22 | out : Deque [] : Object | Test.java:110:19:110:32 | it : Deque [] : Object | provenance | | +| Test.java:7337:20:7337:22 | out : Deque [] : Object | Test.java:7337:9:7337:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7342:15:7342:52 | (...)... : Queue [] : Object | Test.java:7343:35:7343:36 | in : Queue [] : Object | provenance | | +| Test.java:7342:22:7342:52 | newWithElementDefault(...) : Object [] : Object | Test.java:7342:15:7342:52 | (...)... : Queue [] : Object | provenance | | +| Test.java:7342:44:7342:51 | source(...) : Object | Test.java:7342:22:7342:52 | newWithElementDefault(...) : Object [] : Object | provenance | MaD:568 | +| Test.java:7343:10:7343:37 | synchronizedQueue(...) : Queue [] : Object | Test.java:7344:20:7344:22 | out : Queue [] : Object | provenance | | +| Test.java:7343:35:7343:36 | in : Queue [] : Object | Test.java:7343:10:7343:37 | synchronizedQueue(...) : Queue [] : Object | provenance | MaD:477 | +| Test.java:7344:20:7344:22 | out : Queue [] : Object | Test.java:110:19:110:32 | it : Queue [] : Object | provenance | | +| Test.java:7344:20:7344:22 | out : Queue [] : Object | Test.java:7344:9:7344:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7349:22:7349:69 | (...)... : SetView [] : Object | Test.java:7350:4:7350:5 | in : SetView [] : Object | provenance | | +| Test.java:7349:36:7349:69 | union(...) : SetView [] : Object | Test.java:7349:22:7349:69 | (...)... : SetView [] : Object | provenance | | +| Test.java:7349:47:7349:62 | of(...) : Set [] : Object | Test.java:7349:36:7349:69 | union(...) : SetView [] : Object | provenance | MaD:498 | +| Test.java:7349:54:7349:61 | source(...) : Object | Test.java:7349:47:7349:62 | of(...) : Set [] : Object | provenance | MaD:567 | +| Test.java:7350:4:7350:5 | in : SetView [] : Object | Test.java:7350:16:7350:18 | out [post update] : Set [] : Object | provenance | MaD:500 | +| Test.java:7350:16:7350:18 | out [post update] : Set [] : Object | Test.java:7351:20:7351:22 | out : Set [] : Object | provenance | | +| Test.java:7351:20:7351:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | provenance | | +| Test.java:7351:20:7351:22 | out : Set [] : Object | Test.java:7351:9:7351:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7356:22:7356:69 | (...)... : SetView [] : Object | Test.java:7357:10:7357:11 | in : SetView [] : Object | provenance | | +| Test.java:7356:36:7356:69 | union(...) : SetView [] : Object | Test.java:7356:22:7356:69 | (...)... : SetView [] : Object | provenance | | +| Test.java:7356:47:7356:62 | of(...) : Set [] : Object | Test.java:7356:36:7356:69 | union(...) : SetView [] : Object | provenance | MaD:498 | +| Test.java:7356:54:7356:61 | source(...) : Object | Test.java:7356:47:7356:62 | of(...) : Set [] : Object | provenance | MaD:567 | +| Test.java:7357:10:7357:11 | in : SetView [] : Object | Test.java:7357:10:7357:27 | immutableCopy(...) : ImmutableSet [] : Object | provenance | MaD:501 | +| Test.java:7357:10:7357:27 | immutableCopy(...) : ImmutableSet [] : Object | Test.java:7358:20:7358:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:7358:20:7358:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:7358:20:7358:22 | out : ImmutableSet [] : Object | Test.java:7358:9:7358:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7363:14:7363:44 | (...)... : List [, ] : Object | Test.java:7364:32:7364:33 | in : List [, ] : Object | provenance | | +| Test.java:7363:20:7363:44 | of(...) : List [, ] : Object | Test.java:7363:14:7363:44 | (...)... : List [, ] : Object | provenance | | +| Test.java:7363:28:7363:43 | of(...) : Set [] : Object | Test.java:7363:20:7363:44 | of(...) : List [, ] : Object | provenance | MaD:558 | +| Test.java:7363:35:7363:42 | source(...) : Object | Test.java:7363:28:7363:43 | of(...) : Set [] : Object | provenance | MaD:567 | +| Test.java:7364:10:7364:34 | cartesianProduct(...) : Set [, ] : Object | Test.java:7365:31:7365:33 | out : Set [, ] : Object | provenance | | +| Test.java:7364:32:7364:33 | in : List [, ] : Object | Test.java:7364:10:7364:34 | cartesianProduct(...) : Set [, ] : Object | provenance | MaD:478 | +| Test.java:7365:20:7365:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:7365:20:7365:34 | getElement(...) : List [] : Object | Test.java:7365:9:7365:35 | getElement(...) | provenance | MaD:555 | +| Test.java:7365:31:7365:33 | out : Set [, ] : Object | Test.java:7365:20:7365:34 | getElement(...) : List [] : Object | provenance | MaD:555 | +| Test.java:7370:15:7370:48 | (...)... : Set[] [[], ] : Object | Test.java:7371:32:7371:33 | in : Set[] [[], ] : Object | provenance | | +| Test.java:7370:22:7370:48 | {...} : Set[] [[], ] : Object | Test.java:7370:15:7370:48 | (...)... : Set[] [[], ] : Object | provenance | | +| Test.java:7370:32:7370:47 | of(...) : Set [] : Object | Test.java:7370:22:7370:48 | {...} : Set[] [[], ] : Object | provenance | | +| Test.java:7370:39:7370:46 | source(...) : Object | Test.java:7370:32:7370:47 | of(...) : Set [] : Object | provenance | MaD:567 | +| Test.java:7371:10:7371:34 | cartesianProduct(...) : Set [, ] : Object | Test.java:7372:31:7372:33 | out : Set [, ] : Object | provenance | | +| Test.java:7371:32:7371:33 | in : Set[] [[], ] : Object | Test.java:7371:10:7371:34 | cartesianProduct(...) : Set [, ] : Object | provenance | MaD:479 | +| Test.java:7372:20:7372:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | +| Test.java:7372:20:7372:34 | getElement(...) : List [] : Object | Test.java:7372:9:7372:35 | getElement(...) | provenance | MaD:555 | +| Test.java:7372:31:7372:33 | out : Set [, ] : Object | Test.java:7372:20:7372:34 | getElement(...) : List [] : Object | provenance | MaD:555 | +| Test.java:7377:13:7377:33 | (...)... : Set [] : Object | Test.java:7378:28:7378:29 | in : Set [] : Object | provenance | | +| Test.java:7377:18:7377:33 | of(...) : Set [] : Object | Test.java:7377:13:7377:33 | (...)... : Set [] : Object | provenance | | +| Test.java:7377:25:7377:32 | source(...) : Object | Test.java:7377:18:7377:33 | of(...) : Set [] : Object | provenance | MaD:567 | +| Test.java:7378:10:7378:33 | combinations(...) : Set [, ] : Object | Test.java:7379:31:7379:33 | out : Set [, ] : Object | provenance | | +| Test.java:7378:28:7378:29 | in : Set [] : Object | Test.java:7378:10:7378:33 | combinations(...) : Set [, ] : Object | provenance | MaD:480 | +| Test.java:7379:20:7379:34 | getElement(...) : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | provenance | | +| Test.java:7379:20:7379:34 | getElement(...) : Set [] : Object | Test.java:7379:9:7379:35 | getElement(...) | provenance | MaD:555 | +| Test.java:7379:31:7379:33 | out : Set [, ] : Object | Test.java:7379:20:7379:34 | getElement(...) : Set [] : Object | provenance | MaD:555 | +| Test.java:7384:13:7384:33 | (...)... : Set [] : Object | Test.java:7385:26:7385:27 | in : Set [] : Object | provenance | | +| Test.java:7384:18:7384:33 | of(...) : Set [] : Object | Test.java:7384:13:7384:33 | (...)... : Set [] : Object | provenance | | +| Test.java:7384:25:7384:32 | source(...) : Object | Test.java:7384:18:7384:33 | of(...) : Set [] : Object | provenance | MaD:567 | +| Test.java:7385:10:7385:34 | difference(...) : SetView [] : Object | Test.java:7386:20:7386:22 | out : SetView [] : Object | provenance | | +| Test.java:7385:26:7385:27 | in : Set [] : Object | Test.java:7385:10:7385:34 | difference(...) : SetView [] : Object | provenance | MaD:481 | +| Test.java:7386:20:7386:22 | out : SetView [] : Object | Test.java:110:19:110:32 | it : SetView [] : Object | provenance | | +| Test.java:7386:20:7386:22 | out : SetView [] : Object | Test.java:7386:9:7386:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7391:22:7391:78 | (...)... : ImmutableSortedSet [] : Comparable | Test.java:7392:22:7392:23 | in : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:7391:36:7391:78 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:7391:22:7391:78 | (...)... : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:7391:58:7391:77 | (...)... : Comparable | Test.java:7391:36:7391:78 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:7391:70:7391:77 | source(...) : Object | Test.java:7391:58:7391:77 | (...)... : Comparable | provenance | | +| Test.java:7392:10:7392:41 | filter(...) : NavigableSet [] : Comparable | Test.java:7393:20:7393:22 | out : NavigableSet [] : Comparable | provenance | | +| Test.java:7392:22:7392:23 | in : ImmutableSortedSet [] : Comparable | Test.java:7392:10:7392:41 | filter(...) : NavigableSet [] : Comparable | provenance | MaD:482 | +| Test.java:7393:20:7393:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | provenance | | +| Test.java:7393:20:7393:22 | out : NavigableSet [] : Comparable | Test.java:7393:9:7393:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7398:13:7398:33 | (...)... : Set [] : Object | Test.java:7399:22:7399:23 | in : Set [] : Object | provenance | | +| Test.java:7398:18:7398:33 | of(...) : Set [] : Object | Test.java:7398:13:7398:33 | (...)... : Set [] : Object | provenance | | +| Test.java:7398:25:7398:32 | source(...) : Object | Test.java:7398:18:7398:33 | of(...) : Set [] : Object | provenance | MaD:567 | +| Test.java:7399:10:7399:41 | filter(...) : Set [] : Object | Test.java:7400:20:7400:22 | out : Set [] : Object | provenance | | +| Test.java:7399:22:7399:23 | in : Set [] : Object | Test.java:7399:10:7399:41 | filter(...) : Set [] : Object | provenance | MaD:483 | +| Test.java:7400:20:7400:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | provenance | | +| Test.java:7400:20:7400:22 | out : Set [] : Object | Test.java:7400:9:7400:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7405:19:7405:72 | (...)... : ImmutableSortedSet [] : Comparable | Test.java:7406:22:7406:23 | in : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:7405:30:7405:72 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:7405:19:7405:72 | (...)... : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:7405:52:7405:71 | (...)... : Comparable | Test.java:7405:30:7405:72 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:7405:64:7405:71 | source(...) : Object | Test.java:7405:52:7405:71 | (...)... : Comparable | provenance | | +| Test.java:7406:10:7406:41 | filter(...) : SortedSet [] : Comparable | Test.java:7407:20:7407:22 | out : SortedSet [] : Comparable | provenance | | +| Test.java:7406:22:7406:23 | in : ImmutableSortedSet [] : Comparable | Test.java:7406:10:7406:41 | filter(...) : SortedSet [] : Comparable | provenance | MaD:484 | +| Test.java:7407:20:7407:22 | out : SortedSet [] : Comparable | Test.java:110:19:110:32 | it : SortedSet [] : Comparable | provenance | | +| Test.java:7407:20:7407:22 | out : SortedSet [] : Comparable | Test.java:7407:9:7407:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7412:13:7412:33 | (...)... : Set [] : Object | Test.java:7413:34:7413:35 | in : Set [] : Object | provenance | | +| Test.java:7412:18:7412:33 | of(...) : Set [] : Object | Test.java:7412:13:7412:33 | (...)... : Set [] : Object | provenance | | +| Test.java:7412:25:7412:32 | source(...) : Object | Test.java:7412:18:7412:33 | of(...) : Set [] : Object | provenance | MaD:567 | +| Test.java:7413:10:7413:36 | intersection(...) : SetView [] : Object | Test.java:7414:20:7414:22 | out : SetView [] : Object | provenance | | +| Test.java:7413:34:7413:35 | in : Set [] : Object | Test.java:7413:10:7413:36 | intersection(...) : SetView [] : Object | provenance | MaD:485 | +| Test.java:7414:20:7414:22 | out : SetView [] : Object | Test.java:110:19:110:32 | it : SetView [] : Object | provenance | | +| Test.java:7414:20:7414:22 | out : SetView [] : Object | Test.java:7414:9:7414:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7419:13:7419:33 | (...)... : Set [] : Object | Test.java:7420:28:7420:29 | in : Set [] : Object | provenance | | +| Test.java:7419:18:7419:33 | of(...) : Set [] : Object | Test.java:7419:13:7419:33 | (...)... : Set [] : Object | provenance | | +| Test.java:7419:25:7419:32 | source(...) : Object | Test.java:7419:18:7419:33 | of(...) : Set [] : Object | provenance | MaD:567 | +| Test.java:7420:10:7420:36 | intersection(...) : SetView [] : Object | Test.java:7421:20:7421:22 | out : SetView [] : Object | provenance | | +| Test.java:7420:28:7420:29 | in : Set [] : Object | Test.java:7420:10:7420:36 | intersection(...) : SetView [] : Object | provenance | MaD:485 | +| Test.java:7421:20:7421:22 | out : SetView [] : Object | Test.java:110:19:110:32 | it : SetView [] : Object | provenance | | +| Test.java:7421:20:7421:22 | out : SetView [] : Object | Test.java:7421:9:7421:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7426:18:7426:44 | (...)... : List [] : Object | Test.java:7427:36:7427:37 | in : List [] : Object | provenance | | +| Test.java:7426:28:7426:44 | of(...) : List [] : Object | Test.java:7426:18:7426:44 | (...)... : List [] : Object | provenance | | +| Test.java:7426:36:7426:43 | source(...) : Object | Test.java:7426:28:7426:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:7427:10:7427:38 | newConcurrentHashSet(...) : Set [] : Object | Test.java:7428:20:7428:22 | out : Set [] : Object | provenance | | +| Test.java:7427:36:7427:37 | in : List [] : Object | Test.java:7427:10:7427:38 | newConcurrentHashSet(...) : Set [] : Object | provenance | MaD:486 | +| Test.java:7428:20:7428:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | provenance | | +| Test.java:7428:20:7428:22 | out : Set [] : Object | Test.java:7428:9:7428:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7433:18:7433:44 | (...)... : List [] : Object | Test.java:7434:38:7434:39 | in : List [] : Object | provenance | | +| Test.java:7433:28:7433:44 | of(...) : List [] : Object | Test.java:7433:18:7433:44 | (...)... : List [] : Object | provenance | | +| Test.java:7433:36:7433:43 | source(...) : Object | Test.java:7433:28:7433:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:7434:10:7434:40 | newCopyOnWriteArraySet(...) : CopyOnWriteArraySet [] : Object | Test.java:7435:20:7435:22 | out : CopyOnWriteArraySet [] : Object | provenance | | +| Test.java:7434:38:7434:39 | in : List [] : Object | Test.java:7434:10:7434:40 | newCopyOnWriteArraySet(...) : CopyOnWriteArraySet [] : Object | provenance | MaD:487 | +| Test.java:7435:20:7435:22 | out : CopyOnWriteArraySet [] : Object | Test.java:110:19:110:32 | it : CopyOnWriteArraySet [] : Object | provenance | | +| Test.java:7435:20:7435:22 | out : CopyOnWriteArraySet [] : Object | Test.java:7435:9:7435:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7440:18:7440:44 | (...)... : List [] : Object | Test.java:7441:26:7441:27 | in : List [] : Object | provenance | | +| Test.java:7440:28:7440:44 | of(...) : List [] : Object | Test.java:7440:18:7440:44 | (...)... : List [] : Object | provenance | | +| Test.java:7440:36:7440:43 | source(...) : Object | Test.java:7440:28:7440:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:7441:10:7441:28 | newHashSet(...) : HashSet [] : Object | Test.java:7442:20:7442:22 | out : HashSet [] : Object | provenance | | +| Test.java:7441:26:7441:27 | in : List [] : Object | Test.java:7441:10:7441:28 | newHashSet(...) : HashSet [] : Object | provenance | MaD:488 | +| Test.java:7442:20:7442:22 | out : HashSet [] : Object | Test.java:110:19:110:32 | it : HashSet [] : Object | provenance | | +| Test.java:7442:20:7442:22 | out : HashSet [] : Object | Test.java:7442:9:7442:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7447:18:7447:55 | (...)... : Iterator [] : Object | Test.java:7448:26:7448:27 | in : Iterator [] : Object | provenance | | +| Test.java:7447:28:7447:44 | of(...) : List [] : Object | Test.java:7447:28:7447:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:7447:28:7447:55 | iterator(...) : Iterator [] : Object | Test.java:7447:18:7447:55 | (...)... : Iterator [] : Object | provenance | | +| Test.java:7447:36:7447:43 | source(...) : Object | Test.java:7447:28:7447:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:7448:10:7448:28 | newHashSet(...) : HashSet [] : Object | Test.java:7449:20:7449:22 | out : HashSet [] : Object | provenance | | +| Test.java:7448:26:7448:27 | in : Iterator [] : Object | Test.java:7448:10:7448:28 | newHashSet(...) : HashSet [] : Object | provenance | MaD:489 | +| Test.java:7449:20:7449:22 | out : HashSet [] : Object | Test.java:110:19:110:32 | it : HashSet [] : Object | provenance | | +| Test.java:7449:20:7449:22 | out : HashSet [] : Object | Test.java:7449:9:7449:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7454:18:7454:49 | (...)... : Object[] [[]] : Object | Test.java:7455:26:7455:27 | in : Object[] [[]] : Object | provenance | | +| Test.java:7454:28:7454:49 | {...} : Object[] [[]] : Object | Test.java:7454:18:7454:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:7454:41:7454:48 | source(...) : Object | Test.java:7454:28:7454:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:7455:10:7455:28 | newHashSet(...) : HashSet [] : Object | Test.java:7456:20:7456:22 | out : HashSet [] : Object | provenance | | +| Test.java:7455:26:7455:27 | in : Object[] [[]] : Object | Test.java:7455:10:7455:28 | newHashSet(...) : HashSet [] : Object | provenance | MaD:490 | +| Test.java:7456:20:7456:22 | out : HashSet [] : Object | Test.java:110:19:110:32 | it : HashSet [] : Object | provenance | | +| Test.java:7456:20:7456:22 | out : HashSet [] : Object | Test.java:7456:9:7456:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7461:18:7461:44 | (...)... : List [] : Object | Test.java:7462:32:7462:33 | in : List [] : Object | provenance | | +| Test.java:7461:28:7461:44 | of(...) : List [] : Object | Test.java:7461:18:7461:44 | (...)... : List [] : Object | provenance | | +| Test.java:7461:36:7461:43 | source(...) : Object | Test.java:7461:28:7461:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:7462:10:7462:34 | newLinkedHashSet(...) : LinkedHashSet [] : Object | Test.java:7463:20:7463:22 | out : LinkedHashSet [] : Object | provenance | | +| Test.java:7462:32:7462:33 | in : List [] : Object | Test.java:7462:10:7462:34 | newLinkedHashSet(...) : LinkedHashSet [] : Object | provenance | MaD:491 | +| Test.java:7463:20:7463:22 | out : LinkedHashSet [] : Object | Test.java:110:19:110:32 | it : LinkedHashSet [] : Object | provenance | | +| Test.java:7463:20:7463:22 | out : LinkedHashSet [] : Object | Test.java:7463:9:7463:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7468:13:7468:39 | (...)... : Map [] : Object | Test.java:7469:29:7469:30 | in : Map [] : Object | provenance | | +| Test.java:7468:18:7468:39 | of(...) : Map [] : Object | Test.java:7468:13:7468:39 | (...)... : Map [] : Object | provenance | | +| Test.java:7468:25:7468:32 | source(...) : Object | Test.java:7468:18:7468:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:7469:10:7469:31 | newSetFromMap(...) : Set [] : Object | Test.java:7470:20:7470:22 | out : Set [] : Object | provenance | | +| Test.java:7469:29:7469:30 | in : Map [] : Object | Test.java:7469:10:7469:31 | newSetFromMap(...) : Set [] : Object | provenance | MaD:492 | +| Test.java:7470:20:7470:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | provenance | | +| Test.java:7470:20:7470:22 | out : Set [] : Object | Test.java:7470:9:7470:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7475:18:7475:44 | (...)... : List [] : Object | Test.java:7476:26:7476:27 | in : List [] : Object | provenance | | +| Test.java:7475:28:7475:44 | of(...) : List [] : Object | Test.java:7475:18:7475:44 | (...)... : List [] : Object | provenance | | +| Test.java:7475:36:7475:43 | source(...) : Object | Test.java:7475:28:7475:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:7476:10:7476:28 | newTreeSet(...) : TreeSet [] : Object | Test.java:7477:20:7477:22 | out : TreeSet [] : Object | provenance | | +| Test.java:7476:26:7476:27 | in : List [] : Object | Test.java:7476:10:7476:28 | newTreeSet(...) : TreeSet [] : Object | provenance | MaD:493 | +| Test.java:7477:20:7477:22 | out : TreeSet [] : Object | Test.java:110:19:110:32 | it : TreeSet [] : Object | provenance | | +| Test.java:7477:20:7477:22 | out : TreeSet [] : Object | Test.java:7477:9:7477:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7482:13:7482:33 | (...)... : Set [] : Object | Test.java:7483:24:7483:25 | in : Set [] : Object | provenance | | +| Test.java:7482:18:7482:33 | of(...) : Set [] : Object | Test.java:7482:13:7482:33 | (...)... : Set [] : Object | provenance | | +| Test.java:7482:25:7482:32 | source(...) : Object | Test.java:7482:18:7482:33 | of(...) : Set [] : Object | provenance | MaD:567 | +| Test.java:7483:10:7483:26 | powerSet(...) : Set [, ] : Object | Test.java:7484:31:7484:33 | out : Set [, ] : Object | provenance | | +| Test.java:7483:24:7483:25 | in : Set [] : Object | Test.java:7483:10:7483:26 | powerSet(...) : Set [, ] : Object | provenance | MaD:494 | +| Test.java:7484:20:7484:34 | getElement(...) : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | provenance | | +| Test.java:7484:20:7484:34 | getElement(...) : Set [] : Object | Test.java:7484:9:7484:35 | getElement(...) | provenance | MaD:555 | +| Test.java:7484:31:7484:33 | out : Set [, ] : Object | Test.java:7484:20:7484:34 | getElement(...) : Set [] : Object | provenance | MaD:555 | +| Test.java:7489:22:7489:78 | (...)... : ImmutableSortedSet [] : Comparable | Test.java:7490:22:7490:23 | in : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:7489:36:7489:78 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:7489:22:7489:78 | (...)... : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:7489:58:7489:77 | (...)... : Comparable | Test.java:7489:36:7489:78 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:7489:70:7489:77 | source(...) : Object | Test.java:7489:58:7489:77 | (...)... : Comparable | provenance | | +| Test.java:7490:10:7490:30 | subSet(...) : NavigableSet [] : Comparable | Test.java:7491:20:7491:22 | out : NavigableSet [] : Comparable | provenance | | +| Test.java:7490:22:7490:23 | in : ImmutableSortedSet [] : Comparable | Test.java:7490:10:7490:30 | subSet(...) : NavigableSet [] : Comparable | provenance | MaD:495 | +| Test.java:7491:20:7491:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | provenance | | +| Test.java:7491:20:7491:22 | out : NavigableSet [] : Comparable | Test.java:7491:9:7491:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7496:13:7496:33 | (...)... : Set [] : Object | Test.java:7497:41:7497:42 | in : Set [] : Object | provenance | | +| Test.java:7496:18:7496:33 | of(...) : Set [] : Object | Test.java:7496:13:7496:33 | (...)... : Set [] : Object | provenance | | +| Test.java:7496:25:7496:32 | source(...) : Object | Test.java:7496:18:7496:33 | of(...) : Set [] : Object | provenance | MaD:567 | +| Test.java:7497:10:7497:43 | symmetricDifference(...) : SetView [] : Object | Test.java:7498:20:7498:22 | out : SetView [] : Object | provenance | | +| Test.java:7497:41:7497:42 | in : Set [] : Object | Test.java:7497:10:7497:43 | symmetricDifference(...) : SetView [] : Object | provenance | MaD:496 | +| Test.java:7498:20:7498:22 | out : SetView [] : Object | Test.java:110:19:110:32 | it : SetView [] : Object | provenance | | +| Test.java:7498:20:7498:22 | out : SetView [] : Object | Test.java:7498:9:7498:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7503:13:7503:33 | (...)... : Set [] : Object | Test.java:7504:35:7504:36 | in : Set [] : Object | provenance | | +| Test.java:7503:18:7503:33 | of(...) : Set [] : Object | Test.java:7503:13:7503:33 | (...)... : Set [] : Object | provenance | | +| Test.java:7503:25:7503:32 | source(...) : Object | Test.java:7503:18:7503:33 | of(...) : Set [] : Object | provenance | MaD:567 | +| Test.java:7504:10:7504:43 | symmetricDifference(...) : SetView [] : Object | Test.java:7505:20:7505:22 | out : SetView [] : Object | provenance | | +| Test.java:7504:35:7504:36 | in : Set [] : Object | Test.java:7504:10:7504:43 | symmetricDifference(...) : SetView [] : Object | provenance | MaD:496 | +| Test.java:7505:20:7505:22 | out : SetView [] : Object | Test.java:110:19:110:32 | it : SetView [] : Object | provenance | | +| Test.java:7505:20:7505:22 | out : SetView [] : Object | Test.java:7505:9:7505:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7510:22:7510:78 | (...)... : ImmutableSortedSet [] : Comparable | Test.java:7511:40:7511:41 | in : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:7510:36:7510:78 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:7510:22:7510:78 | (...)... : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:7510:58:7510:77 | (...)... : Comparable | Test.java:7510:36:7510:78 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:7510:70:7510:77 | source(...) : Object | Test.java:7510:58:7510:77 | (...)... : Comparable | provenance | | +| Test.java:7511:10:7511:42 | synchronizedNavigableSet(...) : NavigableSet [] : Comparable | Test.java:7512:20:7512:22 | out : NavigableSet [] : Comparable | provenance | | +| Test.java:7511:40:7511:41 | in : ImmutableSortedSet [] : Comparable | Test.java:7511:10:7511:42 | synchronizedNavigableSet(...) : NavigableSet [] : Comparable | provenance | MaD:497 | +| Test.java:7512:20:7512:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | provenance | | +| Test.java:7512:20:7512:22 | out : NavigableSet [] : Comparable | Test.java:7512:9:7512:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7517:13:7517:33 | (...)... : Set [] : Object | Test.java:7518:27:7518:28 | in : Set [] : Object | provenance | | +| Test.java:7517:18:7517:33 | of(...) : Set [] : Object | Test.java:7517:13:7517:33 | (...)... : Set [] : Object | provenance | | +| Test.java:7517:25:7517:32 | source(...) : Object | Test.java:7517:18:7517:33 | of(...) : Set [] : Object | provenance | MaD:567 | +| Test.java:7518:10:7518:29 | union(...) : SetView [] : Object | Test.java:7519:20:7519:22 | out : SetView [] : Object | provenance | | +| Test.java:7518:27:7518:28 | in : Set [] : Object | Test.java:7518:10:7518:29 | union(...) : SetView [] : Object | provenance | MaD:498 | +| Test.java:7519:20:7519:22 | out : SetView [] : Object | Test.java:110:19:110:32 | it : SetView [] : Object | provenance | | +| Test.java:7519:20:7519:22 | out : SetView [] : Object | Test.java:7519:9:7519:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7524:13:7524:33 | (...)... : Set [] : Object | Test.java:7525:21:7525:22 | in : Set [] : Object | provenance | | +| Test.java:7524:18:7524:33 | of(...) : Set [] : Object | Test.java:7524:13:7524:33 | (...)... : Set [] : Object | provenance | | +| Test.java:7524:25:7524:32 | source(...) : Object | Test.java:7524:18:7524:33 | of(...) : Set [] : Object | provenance | MaD:567 | +| Test.java:7525:10:7525:29 | union(...) : SetView [] : Object | Test.java:7526:20:7526:22 | out : SetView [] : Object | provenance | | +| Test.java:7525:21:7525:22 | in : Set [] : Object | Test.java:7525:10:7525:29 | union(...) : SetView [] : Object | provenance | MaD:498 | +| Test.java:7526:20:7526:22 | out : SetView [] : Object | Test.java:110:19:110:32 | it : SetView [] : Object | provenance | | +| Test.java:7526:20:7526:22 | out : SetView [] : Object | Test.java:7526:9:7526:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7531:22:7531:78 | (...)... : ImmutableSortedSet [] : Comparable | Test.java:7532:40:7532:41 | in : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:7531:36:7531:78 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:7531:22:7531:78 | (...)... : ImmutableSortedSet [] : Comparable | provenance | | +| Test.java:7531:58:7531:77 | (...)... : Comparable | Test.java:7531:36:7531:78 | of(...) : ImmutableSortedSet [] : Comparable | provenance | MaD:191 | +| Test.java:7531:70:7531:77 | source(...) : Object | Test.java:7531:58:7531:77 | (...)... : Comparable | provenance | | +| Test.java:7532:10:7532:42 | unmodifiableNavigableSet(...) : NavigableSet [] : Comparable | Test.java:7533:20:7533:22 | out : NavigableSet [] : Comparable | provenance | | +| Test.java:7532:40:7532:41 | in : ImmutableSortedSet [] : Comparable | Test.java:7532:10:7532:42 | unmodifiableNavigableSet(...) : NavigableSet [] : Comparable | provenance | MaD:499 | +| Test.java:7533:20:7533:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | provenance | | +| Test.java:7533:20:7533:22 | out : NavigableSet [] : Comparable | Test.java:7533:9:7533:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7538:20:7538:65 | (...)... : Cell [com.google.common.collect.Table.columnKey] : Object | Test.java:7539:10:7539:11 | in : Cell [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7538:32:7538:65 | newTableCell(...) : Cell [com.google.common.collect.Table.columnKey] : Object | Test.java:7538:20:7538:65 | (...)... : Cell [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7538:51:7538:58 | source(...) : Object | Test.java:102:48:102:55 | column : Object | provenance | | +| Test.java:7538:51:7538:58 | source(...) : Object | Test.java:7538:32:7538:65 | newTableCell(...) : Cell [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:7539:10:7539:11 | in : Cell [com.google.common.collect.Table.columnKey] : Object | Test.java:7539:10:7539:26 | getColumnKey(...) : Object | provenance | MaD:526 | +| Test.java:7539:10:7539:26 | getColumnKey(...) : Object | Test.java:7540:9:7540:11 | out | provenance | | +| Test.java:7545:20:7545:65 | (...)... : Cell [com.google.common.collect.Table.rowKey] : Object | Test.java:7546:10:7546:11 | in : Cell [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7545:32:7545:65 | newTableCell(...) : Cell [com.google.common.collect.Table.rowKey] : Object | Test.java:7545:20:7545:65 | (...)... : Cell [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7545:45:7545:52 | source(...) : Object | Test.java:102:41:102:45 | row : Object | provenance | | +| Test.java:7545:45:7545:52 | source(...) : Object | Test.java:7545:32:7545:65 | newTableCell(...) : Cell [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:7546:10:7546:11 | in : Cell [com.google.common.collect.Table.rowKey] : Object | Test.java:7546:10:7546:23 | getRowKey(...) : Object | provenance | MaD:527 | +| Test.java:7546:10:7546:23 | getRowKey(...) : Object | Test.java:7547:9:7547:11 | out | provenance | | +| Test.java:7552:20:7552:65 | (...)... : Cell [] : Object | Test.java:7553:10:7553:11 | in : Cell [] : Object | provenance | | +| Test.java:7552:32:7552:65 | newTableCell(...) : Cell [] : Object | Test.java:7552:20:7552:65 | (...)... : Cell [] : Object | provenance | | +| Test.java:7552:57:7552:64 | source(...) : Object | Test.java:102:58:102:64 | value : Object | provenance | | +| Test.java:7552:57:7552:64 | source(...) : Object | Test.java:7552:32:7552:65 | newTableCell(...) : Cell [] : Object | provenance | MaD:198 | +| Test.java:7553:10:7553:11 | in : Cell [] : Object | Test.java:7553:10:7553:22 | getValue(...) : Object | provenance | MaD:528 | +| Test.java:7553:10:7553:22 | getValue(...) : Object | Test.java:7554:9:7554:11 | out | provenance | | +| Test.java:7559:15:7559:51 | (...)... : TreeBasedTable [] : Object | Test.java:7560:10:7560:11 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:7559:22:7559:51 | newTable(...) : TreeBasedTable [] : Object | Test.java:7559:15:7559:51 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:7559:43:7559:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:7559:43:7559:50 | source(...) : Object | Test.java:7559:22:7559:51 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:7560:10:7560:11 | in : TreeBasedTable [] : Object | Test.java:7560:10:7560:21 | cellSet(...) : Set [, ] : Object | provenance | MaD:502 | +| Test.java:7560:10:7560:21 | cellSet(...) : Set [, ] : Object | Test.java:7561:20:7561:22 | out : Set [, ] : Object | provenance | | +| Test.java:7561:9:7561:23 | getElement(...) : Cell [] : Object | Test.java:7561:9:7561:34 | getValue(...) | provenance | MaD:528 | +| Test.java:7561:20:7561:22 | out : Set [, ] : Object | Test.java:7561:9:7561:23 | getElement(...) : Cell [] : Object | provenance | MaD:555 | +| Test.java:7566:20:7566:89 | (...)... : ArrayTable [] : Object | Test.java:7567:10:7567:11 | in : ArrayTable [] : Object | provenance | | +| Test.java:7566:32:7566:89 | create(...) : ArrayTable [] : Object | Test.java:7566:20:7566:89 | (...)... : ArrayTable [] : Object | provenance | | +| Test.java:7566:50:7566:88 | of(...) : ImmutableTable [] : Object | Test.java:7566:32:7566:89 | create(...) : ArrayTable [] : Object | provenance | MaD:6 | +| Test.java:7566:80:7566:87 | source(...) : Object | Test.java:7566:50:7566:88 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:7567:10:7567:11 | in : ArrayTable [] : Object | Test.java:7567:10:7567:21 | cellSet(...) : Set [, ] : Object | provenance | MaD:502 | +| Test.java:7567:10:7567:21 | cellSet(...) : Set [, ] : Object | Test.java:7568:20:7568:22 | out : Set [, ] : Object | provenance | | +| Test.java:7568:9:7568:23 | getElement(...) : Cell [] : Object | Test.java:7568:9:7568:34 | getValue(...) | provenance | MaD:528 | +| Test.java:7568:20:7568:22 | out : Set [, ] : Object | Test.java:7568:9:7568:23 | getElement(...) : Cell [] : Object | provenance | MaD:555 | +| Test.java:7573:24:7573:78 | (...)... : ImmutableTable [] : Object | Test.java:7574:10:7574:11 | in : ImmutableTable [] : Object | provenance | | +| Test.java:7573:40:7573:78 | of(...) : ImmutableTable [] : Object | Test.java:7573:24:7573:78 | (...)... : ImmutableTable [] : Object | provenance | | +| Test.java:7573:70:7573:77 | source(...) : Object | Test.java:7573:40:7573:78 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:7574:10:7574:11 | in : ImmutableTable [] : Object | Test.java:7574:10:7574:21 | cellSet(...) : ImmutableSet [, ] : Object | provenance | MaD:502 | +| Test.java:7574:10:7574:21 | cellSet(...) : ImmutableSet [, ] : Object | Test.java:7575:20:7575:22 | out : ImmutableSet [, ] : Object | provenance | | +| Test.java:7575:9:7575:23 | getElement(...) : Cell [] : Object | Test.java:7575:9:7575:34 | getValue(...) | provenance | MaD:528 | +| Test.java:7575:20:7575:22 | out : ImmutableSet [, ] : Object | Test.java:7575:9:7575:23 | getElement(...) : Cell [] : Object | provenance | MaD:555 | +| Test.java:7580:15:7580:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7581:10:7581:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7580:22:7580:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7580:15:7580:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7580:37:7580:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | provenance | | +| Test.java:7580:37:7580:44 | source(...) : Object | Test.java:7580:22:7580:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:7581:10:7581:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7581:10:7581:21 | cellSet(...) : Set [, com.google.common.collect.Table.columnKey] : Object | provenance | MaD:503 | +| Test.java:7581:10:7581:21 | cellSet(...) : Set [, com.google.common.collect.Table.columnKey] : Object | Test.java:7582:20:7582:22 | out : Set [, com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7582:9:7582:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | Test.java:7582:9:7582:38 | getColumnKey(...) | provenance | MaD:526 | +| Test.java:7582:20:7582:22 | out : Set [, com.google.common.collect.Table.columnKey] : Object | Test.java:7582:9:7582:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:555 | +| Test.java:7587:20:7587:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7588:10:7588:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7587:32:7587:89 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7587:20:7587:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7587:50:7587:88 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7587:32:7587:89 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:7 | +| Test.java:7587:74:7587:81 | source(...) : Object | Test.java:7587:50:7587:88 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:7588:10:7588:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7588:10:7588:21 | cellSet(...) : Set [, com.google.common.collect.Table.columnKey] : Object | provenance | MaD:503 | +| Test.java:7588:10:7588:21 | cellSet(...) : Set [, com.google.common.collect.Table.columnKey] : Object | Test.java:7589:20:7589:22 | out : Set [, com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7589:9:7589:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | Test.java:7589:9:7589:38 | getColumnKey(...) | provenance | MaD:526 | +| Test.java:7589:20:7589:22 | out : Set [, com.google.common.collect.Table.columnKey] : Object | Test.java:7589:9:7589:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:555 | +| Test.java:7594:24:7594:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7595:10:7595:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7594:40:7594:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7594:24:7594:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7594:64:7594:71 | source(...) : Object | Test.java:7594:40:7594:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:7595:10:7595:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7595:10:7595:21 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | provenance | MaD:503 | +| Test.java:7595:10:7595:21 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | Test.java:7596:20:7596:22 | out : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7596:9:7596:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | Test.java:7596:9:7596:38 | getColumnKey(...) | provenance | MaD:526 | +| Test.java:7596:20:7596:22 | out : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | Test.java:7596:9:7596:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:555 | +| Test.java:7601:15:7601:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7602:10:7602:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7601:22:7601:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7601:15:7601:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7601:31:7601:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | provenance | | +| Test.java:7601:31:7601:38 | source(...) : Object | Test.java:7601:22:7601:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:7602:10:7602:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7602:10:7602:21 | cellSet(...) : Set [, com.google.common.collect.Table.rowKey] : Object | provenance | MaD:504 | +| Test.java:7602:10:7602:21 | cellSet(...) : Set [, com.google.common.collect.Table.rowKey] : Object | Test.java:7603:20:7603:22 | out : Set [, com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7603:9:7603:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | Test.java:7603:9:7603:35 | getRowKey(...) | provenance | MaD:527 | +| Test.java:7603:20:7603:22 | out : Set [, com.google.common.collect.Table.rowKey] : Object | Test.java:7603:9:7603:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:555 | +| Test.java:7608:20:7608:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7609:10:7609:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7608:32:7608:89 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7608:20:7608:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7608:50:7608:88 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7608:32:7608:89 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:8 | +| Test.java:7608:68:7608:75 | source(...) : Object | Test.java:7608:50:7608:88 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:7609:10:7609:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7609:10:7609:21 | cellSet(...) : Set [, com.google.common.collect.Table.rowKey] : Object | provenance | MaD:504 | +| Test.java:7609:10:7609:21 | cellSet(...) : Set [, com.google.common.collect.Table.rowKey] : Object | Test.java:7610:20:7610:22 | out : Set [, com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7610:9:7610:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | Test.java:7610:9:7610:35 | getRowKey(...) | provenance | MaD:527 | +| Test.java:7610:20:7610:22 | out : Set [, com.google.common.collect.Table.rowKey] : Object | Test.java:7610:9:7610:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:555 | +| Test.java:7615:24:7615:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7616:10:7616:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7615:40:7615:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7615:24:7615:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7615:58:7615:65 | source(...) : Object | Test.java:7615:40:7615:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:7616:10:7616:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7616:10:7616:21 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | provenance | MaD:504 | +| Test.java:7616:10:7616:21 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | Test.java:7617:20:7617:22 | out : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7617:9:7617:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | Test.java:7617:9:7617:35 | getRowKey(...) | provenance | MaD:527 | +| Test.java:7617:20:7617:22 | out : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | Test.java:7617:9:7617:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:555 | +| Test.java:7622:15:7622:51 | (...)... : TreeBasedTable [] : Object | Test.java:7623:10:7623:11 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:7622:22:7622:51 | newTable(...) : TreeBasedTable [] : Object | Test.java:7622:15:7622:51 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:7622:43:7622:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:7622:43:7622:50 | source(...) : Object | Test.java:7622:22:7622:51 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:7623:10:7623:11 | in : TreeBasedTable [] : Object | Test.java:7623:10:7623:24 | column(...) : Map [] : Object | provenance | MaD:505 | +| Test.java:7623:10:7623:24 | column(...) : Map [] : Object | Test.java:7624:21:7624:23 | out : Map [] : Object | provenance | | +| Test.java:7624:21:7624:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:7624:21:7624:23 | out : Map [] : Object | Test.java:7624:9:7624:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:7629:20:7629:89 | (...)... : ArrayTable [] : Object | Test.java:7630:10:7630:11 | in : ArrayTable [] : Object | provenance | | +| Test.java:7629:32:7629:89 | create(...) : ArrayTable [] : Object | Test.java:7629:20:7629:89 | (...)... : ArrayTable [] : Object | provenance | | +| Test.java:7629:50:7629:88 | of(...) : ImmutableTable [] : Object | Test.java:7629:32:7629:89 | create(...) : ArrayTable [] : Object | provenance | MaD:6 | +| Test.java:7629:80:7629:87 | source(...) : Object | Test.java:7629:50:7629:88 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:7630:10:7630:11 | in : ArrayTable [] : Object | Test.java:7630:10:7630:24 | column(...) : Map [] : Object | provenance | MaD:505 | +| Test.java:7630:10:7630:24 | column(...) : Map [] : Object | Test.java:7631:21:7631:23 | out : Map [] : Object | provenance | | +| Test.java:7631:21:7631:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:7631:21:7631:23 | out : Map [] : Object | Test.java:7631:9:7631:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:7636:24:7636:78 | (...)... : ImmutableTable [] : Object | Test.java:7637:10:7637:11 | in : ImmutableTable [] : Object | provenance | | +| Test.java:7636:40:7636:78 | of(...) : ImmutableTable [] : Object | Test.java:7636:24:7636:78 | (...)... : ImmutableTable [] : Object | provenance | | +| Test.java:7636:70:7636:77 | source(...) : Object | Test.java:7636:40:7636:78 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:7637:10:7637:11 | in : ImmutableTable [] : Object | Test.java:7637:10:7637:24 | column(...) : ImmutableMap [] : Object | provenance | MaD:505 | +| Test.java:7637:10:7637:24 | column(...) : ImmutableMap [] : Object | Test.java:7638:21:7638:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:7638:21:7638:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:7638:21:7638:23 | out : ImmutableMap [] : Object | Test.java:7638:9:7638:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:7643:15:7643:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7644:10:7644:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7643:22:7643:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7643:15:7643:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7643:31:7643:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | provenance | | +| Test.java:7643:31:7643:38 | source(...) : Object | Test.java:7643:22:7643:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:7644:10:7644:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7644:10:7644:24 | column(...) : Map [] : Object | provenance | MaD:506 | +| Test.java:7644:10:7644:24 | column(...) : Map [] : Object | Test.java:7645:19:7645:21 | out : Map [] : Object | provenance | | +| Test.java:7645:19:7645:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:7645:19:7645:21 | out : Map [] : Object | Test.java:7645:9:7645:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:7650:20:7650:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7651:10:7651:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7650:32:7650:89 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7650:20:7650:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7650:50:7650:88 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7650:32:7650:89 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:8 | +| Test.java:7650:68:7650:75 | source(...) : Object | Test.java:7650:50:7650:88 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:7651:10:7651:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7651:10:7651:24 | column(...) : Map [] : Object | provenance | MaD:506 | +| Test.java:7651:10:7651:24 | column(...) : Map [] : Object | Test.java:7652:19:7652:21 | out : Map [] : Object | provenance | | +| Test.java:7652:19:7652:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:7652:19:7652:21 | out : Map [] : Object | Test.java:7652:9:7652:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:7657:24:7657:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7658:10:7658:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7657:40:7657:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7657:24:7657:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7657:58:7657:65 | source(...) : Object | Test.java:7657:40:7657:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:7658:10:7658:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7658:10:7658:24 | column(...) : ImmutableMap [] : Object | provenance | MaD:506 | +| Test.java:7658:10:7658:24 | column(...) : ImmutableMap [] : Object | Test.java:7659:19:7659:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:7659:19:7659:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:7659:19:7659:21 | out : ImmutableMap [] : Object | Test.java:7659:9:7659:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:7664:15:7664:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7665:10:7665:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7664:22:7664:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7664:15:7664:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7664:37:7664:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | provenance | | +| Test.java:7664:37:7664:44 | source(...) : Object | Test.java:7664:22:7664:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:7665:10:7665:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7665:10:7665:26 | columnKeySet(...) : Set [] : Object | provenance | MaD:507 | +| Test.java:7665:10:7665:26 | columnKeySet(...) : Set [] : Object | Test.java:7666:20:7666:22 | out : Set [] : Object | provenance | | +| Test.java:7666:20:7666:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | provenance | | +| Test.java:7666:20:7666:22 | out : Set [] : Object | Test.java:7666:9:7666:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7671:24:7671:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7672:10:7672:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7671:40:7671:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7671:24:7671:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7671:64:7671:71 | source(...) : Object | Test.java:7671:40:7671:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:7672:10:7672:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7672:10:7672:26 | columnKeySet(...) : ImmutableSet [] : Object | provenance | MaD:507 | +| Test.java:7672:10:7672:26 | columnKeySet(...) : ImmutableSet [] : Object | Test.java:7673:20:7673:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:7673:20:7673:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:7673:20:7673:22 | out : ImmutableSet [] : Object | Test.java:7673:9:7673:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7678:20:7678:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7679:10:7679:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7678:32:7678:89 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7678:20:7678:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7678:50:7678:88 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7678:32:7678:89 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:7 | +| Test.java:7678:74:7678:81 | source(...) : Object | Test.java:7678:50:7678:88 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:7679:10:7679:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7679:10:7679:26 | columnKeySet(...) : ImmutableSet [] : Object | provenance | MaD:507 | +| Test.java:7679:10:7679:26 | columnKeySet(...) : ImmutableSet [] : Object | Test.java:7680:20:7680:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:7680:20:7680:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:7680:20:7680:22 | out : ImmutableSet [] : Object | Test.java:7680:9:7680:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7685:15:7685:51 | (...)... : TreeBasedTable [] : Object | Test.java:7686:10:7686:11 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:7685:22:7685:51 | newTable(...) : TreeBasedTable [] : Object | Test.java:7685:15:7685:51 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:7685:43:7685:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:7685:43:7685:50 | source(...) : Object | Test.java:7685:22:7685:51 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:7686:10:7686:11 | in : TreeBasedTable [] : Object | Test.java:7686:10:7686:23 | columnMap(...) : Map [, ] : Object | provenance | MaD:508 | +| Test.java:7686:10:7686:23 | columnMap(...) : Map [, ] : Object | Test.java:7687:33:7687:35 | out : Map [, ] : Object | provenance | | +| Test.java:7687:21:7687:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:7687:21:7687:36 | getMapValue(...) : Map [] : Object | Test.java:7687:9:7687:37 | getMapValue(...) | provenance | MaD:561 | +| Test.java:7687:33:7687:35 | out : Map [, ] : Object | Test.java:7687:21:7687:36 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | +| Test.java:7692:20:7692:89 | (...)... : ArrayTable [] : Object | Test.java:7693:10:7693:11 | in : ArrayTable [] : Object | provenance | | +| Test.java:7692:32:7692:89 | create(...) : ArrayTable [] : Object | Test.java:7692:20:7692:89 | (...)... : ArrayTable [] : Object | provenance | | +| Test.java:7692:50:7692:88 | of(...) : ImmutableTable [] : Object | Test.java:7692:32:7692:89 | create(...) : ArrayTable [] : Object | provenance | MaD:6 | +| Test.java:7692:80:7692:87 | source(...) : Object | Test.java:7692:50:7692:88 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:7693:10:7693:11 | in : ArrayTable [] : Object | Test.java:7693:10:7693:23 | columnMap(...) : Map [, ] : Object | provenance | MaD:508 | +| Test.java:7693:10:7693:23 | columnMap(...) : Map [, ] : Object | Test.java:7694:33:7694:35 | out : Map [, ] : Object | provenance | | +| Test.java:7694:21:7694:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:7694:21:7694:36 | getMapValue(...) : Map [] : Object | Test.java:7694:9:7694:37 | getMapValue(...) | provenance | MaD:561 | +| Test.java:7694:33:7694:35 | out : Map [, ] : Object | Test.java:7694:21:7694:36 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | +| Test.java:7699:24:7699:78 | (...)... : ImmutableTable [] : Object | Test.java:7700:10:7700:11 | in : ImmutableTable [] : Object | provenance | | +| Test.java:7699:40:7699:78 | of(...) : ImmutableTable [] : Object | Test.java:7699:24:7699:78 | (...)... : ImmutableTable [] : Object | provenance | | +| Test.java:7699:70:7699:77 | source(...) : Object | Test.java:7699:40:7699:78 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:7700:10:7700:11 | in : ImmutableTable [] : Object | Test.java:7700:10:7700:23 | columnMap(...) : ImmutableMap [, ] : Object | provenance | MaD:508 | +| Test.java:7700:10:7700:23 | columnMap(...) : ImmutableMap [, ] : Object | Test.java:7701:33:7701:35 | out : ImmutableMap [, ] : Object | provenance | | +| Test.java:7701:21:7701:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:7701:21:7701:36 | getMapValue(...) : Map [] : Object | Test.java:7701:9:7701:37 | getMapValue(...) | provenance | MaD:561 | +| Test.java:7701:33:7701:35 | out : ImmutableMap [, ] : Object | Test.java:7701:21:7701:36 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | +| Test.java:7706:15:7706:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7707:10:7707:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7706:22:7706:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7706:15:7706:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7706:37:7706:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | provenance | | +| Test.java:7706:37:7706:44 | source(...) : Object | Test.java:7706:22:7706:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:7707:10:7707:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7707:10:7707:23 | columnMap(...) : Map [] : Object | provenance | MaD:509 | +| Test.java:7707:10:7707:23 | columnMap(...) : Map [] : Object | Test.java:7708:19:7708:21 | out : Map [] : Object | provenance | | +| Test.java:7708:19:7708:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:7708:19:7708:21 | out : Map [] : Object | Test.java:7708:9:7708:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:7713:20:7713:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7714:10:7714:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7713:32:7713:89 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7713:20:7713:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7713:50:7713:88 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7713:32:7713:89 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:7 | +| Test.java:7713:74:7713:81 | source(...) : Object | Test.java:7713:50:7713:88 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:7714:10:7714:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7714:10:7714:23 | columnMap(...) : Map [] : Object | provenance | MaD:509 | +| Test.java:7714:10:7714:23 | columnMap(...) : Map [] : Object | Test.java:7715:19:7715:21 | out : Map [] : Object | provenance | | +| Test.java:7715:19:7715:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:7715:19:7715:21 | out : Map [] : Object | Test.java:7715:9:7715:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:7720:24:7720:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7721:10:7721:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7720:40:7720:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7720:24:7720:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7720:64:7720:71 | source(...) : Object | Test.java:7720:40:7720:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:7721:10:7721:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7721:10:7721:23 | columnMap(...) : ImmutableMap [] : Object | provenance | MaD:509 | +| Test.java:7721:10:7721:23 | columnMap(...) : ImmutableMap [] : Object | Test.java:7722:19:7722:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:7722:19:7722:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:7722:19:7722:21 | out : ImmutableMap [] : Object | Test.java:7722:9:7722:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:7727:15:7727:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7728:10:7728:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7727:22:7727:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7727:15:7727:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7727:31:7727:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | provenance | | +| Test.java:7727:31:7727:38 | source(...) : Object | Test.java:7727:22:7727:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:7728:10:7728:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7728:10:7728:23 | columnMap(...) : Map [, ] : Object | provenance | MaD:510 | +| Test.java:7728:10:7728:23 | columnMap(...) : Map [, ] : Object | Test.java:7729:31:7729:33 | out : Map [, ] : Object | provenance | | +| Test.java:7729:19:7729:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:7729:19:7729:34 | getMapValue(...) : Map [] : Object | Test.java:7729:9:7729:35 | getMapKey(...) | provenance | MaD:562 | +| Test.java:7729:31:7729:33 | out : Map [, ] : Object | Test.java:7729:19:7729:34 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | +| Test.java:7734:20:7734:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7735:10:7735:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7734:32:7734:89 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7734:20:7734:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7734:50:7734:88 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7734:32:7734:89 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:8 | +| Test.java:7734:68:7734:75 | source(...) : Object | Test.java:7734:50:7734:88 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:7735:10:7735:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7735:10:7735:23 | columnMap(...) : Map [, ] : Object | provenance | MaD:510 | +| Test.java:7735:10:7735:23 | columnMap(...) : Map [, ] : Object | Test.java:7736:31:7736:33 | out : Map [, ] : Object | provenance | | +| Test.java:7736:19:7736:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:7736:19:7736:34 | getMapValue(...) : Map [] : Object | Test.java:7736:9:7736:35 | getMapKey(...) | provenance | MaD:562 | +| Test.java:7736:31:7736:33 | out : Map [, ] : Object | Test.java:7736:19:7736:34 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | +| Test.java:7741:24:7741:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7742:10:7742:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7741:40:7741:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7741:24:7741:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7741:58:7741:65 | source(...) : Object | Test.java:7741:40:7741:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:7742:10:7742:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7742:10:7742:23 | columnMap(...) : ImmutableMap [, ] : Object | provenance | MaD:510 | +| Test.java:7742:10:7742:23 | columnMap(...) : ImmutableMap [, ] : Object | Test.java:7743:31:7743:33 | out : ImmutableMap [, ] : Object | provenance | | +| Test.java:7743:19:7743:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:7743:19:7743:34 | getMapValue(...) : Map [] : Object | Test.java:7743:9:7743:35 | getMapKey(...) | provenance | MaD:562 | +| Test.java:7743:31:7743:33 | out : ImmutableMap [, ] : Object | Test.java:7743:19:7743:34 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | +| Test.java:7748:15:7748:51 | (...)... : TreeBasedTable [] : Object | Test.java:7749:10:7749:11 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:7748:22:7748:51 | newTable(...) : TreeBasedTable [] : Object | Test.java:7748:15:7748:51 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:7748:43:7748:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:7748:43:7748:50 | source(...) : Object | Test.java:7748:22:7748:51 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:7749:10:7749:11 | in : TreeBasedTable [] : Object | Test.java:7749:10:7749:27 | get(...) : Object | provenance | MaD:511 | +| Test.java:7749:10:7749:27 | get(...) : Object | Test.java:7750:9:7750:11 | out | provenance | | +| Test.java:7755:24:7755:101 | (...)... : HashBasedTable [] : Object | Test.java:7756:10:7756:11 | in : HashBasedTable [] : Object | provenance | | +| Test.java:7755:40:7755:101 | create(...) : HashBasedTable [] : Object | Test.java:7755:24:7755:101 | (...)... : HashBasedTable [] : Object | provenance | | +| Test.java:7755:62:7755:100 | of(...) : ImmutableTable [] : Object | Test.java:7755:40:7755:101 | create(...) : HashBasedTable [] : Object | provenance | MaD:21 | +| Test.java:7755:92:7755:99 | source(...) : Object | Test.java:7755:62:7755:100 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:7756:10:7756:11 | in : HashBasedTable [] : Object | Test.java:7756:10:7756:27 | get(...) : Object | provenance | MaD:511 | +| Test.java:7756:10:7756:27 | get(...) : Object | Test.java:7757:9:7757:11 | out | provenance | | +| Test.java:7762:20:7762:89 | (...)... : ArrayTable [] : Object | Test.java:7763:10:7763:11 | in : ArrayTable [] : Object | provenance | | +| Test.java:7762:32:7762:89 | create(...) : ArrayTable [] : Object | Test.java:7762:20:7762:89 | (...)... : ArrayTable [] : Object | provenance | | +| Test.java:7762:50:7762:88 | of(...) : ImmutableTable [] : Object | Test.java:7762:32:7762:89 | create(...) : ArrayTable [] : Object | provenance | MaD:6 | +| Test.java:7762:80:7762:87 | source(...) : Object | Test.java:7762:50:7762:88 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:7763:10:7763:11 | in : ArrayTable [] : Object | Test.java:7763:10:7763:27 | get(...) : Object | provenance | MaD:511 | +| Test.java:7763:10:7763:27 | get(...) : Object | Test.java:7764:9:7764:11 | out | provenance | | +| Test.java:7769:16:7769:31 | (...)... : Object | Test.java:7770:12:7770:13 | in : Object | provenance | | +| Test.java:7769:24:7769:31 | source(...) : Object | Test.java:7769:16:7769:31 | (...)... : Object | provenance | | +| Test.java:7770:4:7770:6 | out [post update] : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:7771:25:7771:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7770:12:7770:13 | in : Object | Test.java:7770:4:7770:6 | out [post update] : Table [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:7771:25:7771:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : Table [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7771:25:7771:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:7771:9:7771:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:7776:16:7776:31 | (...)... : Object | Test.java:7777:12:7777:13 | in : Object | provenance | | +| Test.java:7776:24:7776:31 | source(...) : Object | Test.java:7776:16:7776:31 | (...)... : Object | provenance | | +| Test.java:7777:4:7777:6 | out [post update] : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7778:25:7778:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7777:12:7777:13 | in : Object | Test.java:7777:4:7777:6 | out [post update] : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:7778:25:7778:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7778:25:7778:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7778:9:7778:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:7783:16:7783:31 | (...)... : Object | Test.java:7784:12:7784:13 | in : Object | provenance | | +| Test.java:7783:24:7783:31 | source(...) : Object | Test.java:7783:16:7783:31 | (...)... : Object | provenance | | +| Test.java:7784:4:7784:6 | out [post update] : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7785:25:7785:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7784:12:7784:13 | in : Object | Test.java:7784:4:7784:6 | out [post update] : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:7785:25:7785:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7785:25:7785:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7785:9:7785:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:7790:16:7790:31 | (...)... : Object | Test.java:7791:18:7791:19 | in : Object | provenance | | +| Test.java:7790:24:7790:31 | source(...) : Object | Test.java:7790:16:7790:31 | (...)... : Object | provenance | | +| Test.java:7791:4:7791:6 | out [post update] : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:7792:28:7792:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7791:18:7791:19 | in : Object | Test.java:7791:4:7791:6 | out [post update] : Table [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:7792:28:7792:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : Table [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7792:28:7792:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:7792:9:7792:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:7797:16:7797:31 | (...)... : Object | Test.java:7798:18:7798:19 | in : Object | provenance | | +| Test.java:7797:24:7797:31 | source(...) : Object | Test.java:7797:16:7797:31 | (...)... : Object | provenance | | +| Test.java:7798:4:7798:6 | out [post update] : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7799:28:7799:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7798:18:7798:19 | in : Object | Test.java:7798:4:7798:6 | out [post update] : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:7799:28:7799:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7799:28:7799:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7799:9:7799:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:7804:16:7804:31 | (...)... : Object | Test.java:7805:18:7805:19 | in : Object | provenance | | +| Test.java:7804:24:7804:31 | source(...) : Object | Test.java:7804:16:7804:31 | (...)... : Object | provenance | | +| Test.java:7805:4:7805:6 | out [post update] : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7806:28:7806:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7805:18:7805:19 | in : Object | Test.java:7805:4:7805:6 | out [post update] : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:7806:28:7806:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7806:28:7806:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7806:9:7806:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:7811:16:7811:31 | (...)... : Object | Test.java:7812:24:7812:25 | in : Object | provenance | | +| Test.java:7811:24:7811:31 | source(...) : Object | Test.java:7811:16:7811:31 | (...)... : Object | provenance | | +| Test.java:7812:4:7812:6 | out [post update] : Table [] : Object | Test.java:7813:21:7813:23 | out : Table [] : Object | provenance | | +| Test.java:7812:24:7812:25 | in : Object | Test.java:7812:4:7812:6 | out [post update] : Table [] : Object | provenance | MaD:514 | +| Test.java:7813:21:7813:23 | out : Table [] : Object | Test.java:120:20:120:33 | t : Table [] : Object | provenance | | +| Test.java:7813:21:7813:23 | out : Table [] : Object | Test.java:7813:9:7813:24 | getMapValue(...) | provenance | MaD:525 | +| Test.java:7818:16:7818:31 | (...)... : Object | Test.java:7819:24:7819:25 | in : Object | provenance | | +| Test.java:7818:24:7818:31 | source(...) : Object | Test.java:7818:16:7818:31 | (...)... : Object | provenance | | +| Test.java:7819:4:7819:6 | out [post update] : ImmutableTable [] : Object | Test.java:7820:21:7820:23 | out : ImmutableTable [] : Object | provenance | | +| Test.java:7819:24:7819:25 | in : Object | Test.java:7819:4:7819:6 | out [post update] : ImmutableTable [] : Object | provenance | MaD:514 | +| Test.java:7820:21:7820:23 | out : ImmutableTable [] : Object | Test.java:120:20:120:33 | t : ImmutableTable [] : Object | provenance | | +| Test.java:7820:21:7820:23 | out : ImmutableTable [] : Object | Test.java:7820:9:7820:24 | getMapValue(...) | provenance | MaD:525 | +| Test.java:7825:16:7825:31 | (...)... : Object | Test.java:7826:24:7826:25 | in : Object | provenance | | +| Test.java:7825:24:7825:31 | source(...) : Object | Test.java:7825:16:7825:31 | (...)... : Object | provenance | | +| Test.java:7826:4:7826:6 | out [post update] : ArrayTable [] : Object | Test.java:7827:21:7827:23 | out : ArrayTable [] : Object | provenance | | +| Test.java:7826:24:7826:25 | in : Object | Test.java:7826:4:7826:6 | out [post update] : ArrayTable [] : Object | provenance | MaD:514 | +| Test.java:7827:21:7827:23 | out : ArrayTable [] : Object | Test.java:120:20:120:33 | t : ArrayTable [] : Object | provenance | | +| Test.java:7827:21:7827:23 | out : ArrayTable [] : Object | Test.java:7827:9:7827:24 | getMapValue(...) | provenance | MaD:525 | +| Test.java:7832:15:7832:51 | (...)... : TreeBasedTable [] : Object | Test.java:7833:15:7833:16 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:7832:22:7832:51 | newTable(...) : TreeBasedTable [] : Object | Test.java:7832:15:7832:51 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:7832:43:7832:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:7832:43:7832:50 | source(...) : Object | Test.java:7832:22:7832:51 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:7833:4:7833:6 | out [post update] : Table [] : Object | Test.java:7834:21:7834:23 | out : Table [] : Object | provenance | | +| Test.java:7833:15:7833:16 | in : TreeBasedTable [] : Object | Test.java:7833:4:7833:6 | out [post update] : Table [] : Object | provenance | MaD:515 | +| Test.java:7834:21:7834:23 | out : Table [] : Object | Test.java:120:20:120:33 | t : Table [] : Object | provenance | | +| Test.java:7834:21:7834:23 | out : Table [] : Object | Test.java:7834:9:7834:24 | getMapValue(...) | provenance | MaD:525 | +| Test.java:7839:15:7839:60 | (...)... : ImmutableTable [] : Object | Test.java:7840:15:7840:16 | in : ImmutableTable [] : Object | provenance | | +| Test.java:7839:22:7839:60 | of(...) : ImmutableTable [] : Object | Test.java:7839:15:7839:60 | (...)... : ImmutableTable [] : Object | provenance | | +| Test.java:7839:52:7839:59 | source(...) : Object | Test.java:7839:22:7839:60 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:7840:4:7840:6 | out [post update] : ImmutableTable [] : Object | Test.java:7841:21:7841:23 | out : ImmutableTable [] : Object | provenance | | +| Test.java:7840:15:7840:16 | in : ImmutableTable [] : Object | Test.java:7840:4:7840:6 | out [post update] : ImmutableTable [] : Object | provenance | MaD:515 | +| Test.java:7841:21:7841:23 | out : ImmutableTable [] : Object | Test.java:120:20:120:33 | t : ImmutableTable [] : Object | provenance | | +| Test.java:7841:21:7841:23 | out : ImmutableTable [] : Object | Test.java:7841:9:7841:24 | getMapValue(...) | provenance | MaD:525 | +| Test.java:7846:15:7846:79 | (...)... : ArrayTable [] : Object | Test.java:7847:15:7847:16 | in : ArrayTable [] : Object | provenance | | +| Test.java:7846:22:7846:79 | create(...) : ArrayTable [] : Object | Test.java:7846:15:7846:79 | (...)... : ArrayTable [] : Object | provenance | | +| Test.java:7846:40:7846:78 | of(...) : ImmutableTable [] : Object | Test.java:7846:22:7846:79 | create(...) : ArrayTable [] : Object | provenance | MaD:6 | +| Test.java:7846:70:7846:77 | source(...) : Object | Test.java:7846:40:7846:78 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:7847:4:7847:6 | out [post update] : ArrayTable [] : Object | Test.java:7848:21:7848:23 | out : ArrayTable [] : Object | provenance | | +| Test.java:7847:15:7847:16 | in : ArrayTable [] : Object | Test.java:7847:4:7847:6 | out [post update] : ArrayTable [] : Object | provenance | MaD:515 | +| Test.java:7848:21:7848:23 | out : ArrayTable [] : Object | Test.java:120:20:120:33 | t : ArrayTable [] : Object | provenance | | +| Test.java:7848:21:7848:23 | out : ArrayTable [] : Object | Test.java:7848:9:7848:24 | getMapValue(...) | provenance | MaD:525 | +| Test.java:7853:15:7853:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7854:15:7854:16 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7853:22:7853:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7853:15:7853:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7853:37:7853:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | provenance | | +| Test.java:7853:37:7853:44 | source(...) : Object | Test.java:7853:22:7853:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:7854:4:7854:6 | out [post update] : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:7855:28:7855:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7854:15:7854:16 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7854:4:7854:6 | out [post update] : Table [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:516 | +| Test.java:7855:28:7855:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : Table [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7855:28:7855:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:7855:9:7855:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:7860:15:7860:60 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7861:15:7861:16 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7860:22:7860:60 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7860:15:7860:60 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7860:46:7860:53 | source(...) : Object | Test.java:7860:22:7860:60 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:7861:4:7861:6 | out [post update] : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7862:28:7862:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7861:15:7861:16 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7861:4:7861:6 | out [post update] : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:516 | +| Test.java:7862:28:7862:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7862:28:7862:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7862:9:7862:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:7867:15:7867:79 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7868:15:7868:16 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7867:22:7867:79 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7867:15:7867:79 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7867:40:7867:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7867:22:7867:79 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:7 | +| Test.java:7867:64:7867:71 | source(...) : Object | Test.java:7867:40:7867:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:7868:4:7868:6 | out [post update] : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7869:28:7869:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7868:15:7868:16 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7868:4:7868:6 | out [post update] : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:516 | +| Test.java:7869:28:7869:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7869:28:7869:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7869:9:7869:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:7874:15:7874:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7875:15:7875:16 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7874:22:7874:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7874:15:7874:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7874:31:7874:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | provenance | | +| Test.java:7874:31:7874:38 | source(...) : Object | Test.java:7874:22:7874:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:7875:4:7875:6 | out [post update] : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:7876:25:7876:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7875:15:7875:16 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7875:4:7875:6 | out [post update] : Table [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:517 | +| Test.java:7876:25:7876:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : Table [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7876:25:7876:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:7876:9:7876:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:7881:15:7881:60 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7882:15:7882:16 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7881:22:7881:60 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7881:15:7881:60 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7881:40:7881:47 | source(...) : Object | Test.java:7881:22:7881:60 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:7882:4:7882:6 | out [post update] : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7883:25:7883:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7882:15:7882:16 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7882:4:7882:6 | out [post update] : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:517 | +| Test.java:7883:25:7883:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7883:25:7883:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7883:9:7883:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:7888:15:7888:79 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7889:15:7889:16 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7888:22:7888:79 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7888:15:7888:79 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7888:40:7888:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7888:22:7888:79 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:8 | +| Test.java:7888:58:7888:65 | source(...) : Object | Test.java:7888:40:7888:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:7889:4:7889:6 | out [post update] : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7890:25:7890:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7889:15:7889:16 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7889:4:7889:6 | out [post update] : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:517 | +| Test.java:7890:25:7890:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7890:25:7890:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7890:9:7890:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:7895:15:7895:51 | (...)... : TreeBasedTable [] : Object | Test.java:7896:10:7896:11 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:7895:22:7895:51 | newTable(...) : TreeBasedTable [] : Object | Test.java:7895:15:7895:51 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:7895:43:7895:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:7895:43:7895:50 | source(...) : Object | Test.java:7895:22:7895:51 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:7896:10:7896:11 | in : TreeBasedTable [] : Object | Test.java:7896:10:7896:30 | remove(...) : Object | provenance | MaD:518 | +| Test.java:7896:10:7896:30 | remove(...) : Object | Test.java:7897:9:7897:11 | out | provenance | | +| Test.java:7902:24:7902:78 | (...)... : ImmutableTable [] : Object | Test.java:7903:10:7903:11 | in : ImmutableTable [] : Object | provenance | | +| Test.java:7902:40:7902:78 | of(...) : ImmutableTable [] : Object | Test.java:7902:24:7902:78 | (...)... : ImmutableTable [] : Object | provenance | | +| Test.java:7902:70:7902:77 | source(...) : Object | Test.java:7902:40:7902:78 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:7903:10:7903:11 | in : ImmutableTable [] : Object | Test.java:7903:10:7903:30 | remove(...) : Object | provenance | MaD:518 | +| Test.java:7903:10:7903:30 | remove(...) : Object | Test.java:7904:9:7904:11 | out | provenance | | +| Test.java:7909:24:7909:101 | (...)... : HashBasedTable [] : Object | Test.java:7910:10:7910:11 | in : HashBasedTable [] : Object | provenance | | +| Test.java:7909:40:7909:101 | create(...) : HashBasedTable [] : Object | Test.java:7909:24:7909:101 | (...)... : HashBasedTable [] : Object | provenance | | +| Test.java:7909:62:7909:100 | of(...) : ImmutableTable [] : Object | Test.java:7909:40:7909:101 | create(...) : HashBasedTable [] : Object | provenance | MaD:21 | +| Test.java:7909:92:7909:99 | source(...) : Object | Test.java:7909:62:7909:100 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:7910:10:7910:11 | in : HashBasedTable [] : Object | Test.java:7910:10:7910:30 | remove(...) : Object | provenance | MaD:518 | +| Test.java:7910:10:7910:30 | remove(...) : Object | Test.java:7911:9:7911:11 | out | provenance | | +| Test.java:7916:20:7916:89 | (...)... : ArrayTable [] : Object | Test.java:7917:10:7917:11 | in : ArrayTable [] : Object | provenance | | +| Test.java:7916:32:7916:89 | create(...) : ArrayTable [] : Object | Test.java:7916:20:7916:89 | (...)... : ArrayTable [] : Object | provenance | | +| Test.java:7916:50:7916:88 | of(...) : ImmutableTable [] : Object | Test.java:7916:32:7916:89 | create(...) : ArrayTable [] : Object | provenance | MaD:6 | +| Test.java:7916:80:7916:87 | source(...) : Object | Test.java:7916:50:7916:88 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:7917:10:7917:11 | in : ArrayTable [] : Object | Test.java:7917:10:7917:30 | remove(...) : Object | provenance | MaD:518 | +| Test.java:7917:10:7917:30 | remove(...) : Object | Test.java:7918:9:7918:11 | out | provenance | | +| Test.java:7923:24:7923:69 | (...)... : TreeBasedTable [] : Object | Test.java:7924:10:7924:11 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:7923:40:7923:69 | newTable(...) : TreeBasedTable [] : Object | Test.java:7923:24:7923:69 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:7923:61:7923:68 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:7923:61:7923:68 | source(...) : Object | Test.java:7923:40:7923:69 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:7924:10:7924:11 | in : TreeBasedTable [] : Object | Test.java:7924:10:7924:21 | row(...) : SortedMap [] : Object | provenance | MaD:519 | +| Test.java:7924:10:7924:21 | row(...) : SortedMap [] : Object | Test.java:7925:21:7925:23 | out : SortedMap [] : Object | provenance | | +| Test.java:7925:21:7925:23 | out : SortedMap [] : Object | Test.java:118:20:118:31 | map : SortedMap [] : Object | provenance | | +| Test.java:7925:21:7925:23 | out : SortedMap [] : Object | Test.java:7925:9:7925:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:7930:15:7930:51 | (...)... : TreeBasedTable [] : Object | Test.java:7931:10:7931:11 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:7930:22:7930:51 | newTable(...) : TreeBasedTable [] : Object | Test.java:7930:15:7930:51 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:7930:43:7930:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:7930:43:7930:50 | source(...) : Object | Test.java:7930:22:7930:51 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:7931:10:7931:11 | in : TreeBasedTable [] : Object | Test.java:7931:10:7931:21 | row(...) : Map [] : Object | provenance | MaD:519 | +| Test.java:7931:10:7931:21 | row(...) : Map [] : Object | Test.java:7932:21:7932:23 | out : Map [] : Object | provenance | | +| Test.java:7932:21:7932:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:7932:21:7932:23 | out : Map [] : Object | Test.java:7932:9:7932:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:7937:20:7937:89 | (...)... : ArrayTable [] : Object | Test.java:7938:10:7938:11 | in : ArrayTable [] : Object | provenance | | +| Test.java:7937:32:7937:89 | create(...) : ArrayTable [] : Object | Test.java:7937:20:7937:89 | (...)... : ArrayTable [] : Object | provenance | | +| Test.java:7937:50:7937:88 | of(...) : ImmutableTable [] : Object | Test.java:7937:32:7937:89 | create(...) : ArrayTable [] : Object | provenance | MaD:6 | +| Test.java:7937:80:7937:87 | source(...) : Object | Test.java:7937:50:7937:88 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:7938:10:7938:11 | in : ArrayTable [] : Object | Test.java:7938:10:7938:21 | row(...) : Map [] : Object | provenance | MaD:519 | +| Test.java:7938:10:7938:21 | row(...) : Map [] : Object | Test.java:7939:21:7939:23 | out : Map [] : Object | provenance | | +| Test.java:7939:21:7939:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:7939:21:7939:23 | out : Map [] : Object | Test.java:7939:9:7939:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:7944:24:7944:78 | (...)... : ImmutableTable [] : Object | Test.java:7945:10:7945:11 | in : ImmutableTable [] : Object | provenance | | +| Test.java:7944:40:7944:78 | of(...) : ImmutableTable [] : Object | Test.java:7944:24:7944:78 | (...)... : ImmutableTable [] : Object | provenance | | +| Test.java:7944:70:7944:77 | source(...) : Object | Test.java:7944:40:7944:78 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:7945:10:7945:11 | in : ImmutableTable [] : Object | Test.java:7945:10:7945:21 | row(...) : ImmutableMap [] : Object | provenance | MaD:519 | +| Test.java:7945:10:7945:21 | row(...) : ImmutableMap [] : Object | Test.java:7946:21:7946:23 | out : ImmutableMap [] : Object | provenance | | +| Test.java:7946:21:7946:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | provenance | | +| Test.java:7946:21:7946:23 | out : ImmutableMap [] : Object | Test.java:7946:9:7946:24 | getMapValue(...) | provenance | MaD:561 | +| Test.java:7951:24:7951:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7952:10:7952:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7951:40:7951:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7951:24:7951:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7951:55:7951:62 | source(...) : Object | Test.java:103:48:103:55 | column : Object | provenance | | +| Test.java:7951:55:7951:62 | source(...) : Object | Test.java:7951:40:7951:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:7952:10:7952:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7952:10:7952:21 | row(...) : SortedMap [] : Object | provenance | MaD:520 | +| Test.java:7952:10:7952:21 | row(...) : SortedMap [] : Object | Test.java:7953:19:7953:21 | out : SortedMap [] : Object | provenance | | +| Test.java:7953:19:7953:21 | out : SortedMap [] : Object | Test.java:99:18:99:29 | map : SortedMap [] : Object | provenance | | +| Test.java:7953:19:7953:21 | out : SortedMap [] : Object | Test.java:7953:9:7953:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:7958:15:7958:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7959:10:7959:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7958:22:7958:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7958:15:7958:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7958:37:7958:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | provenance | | +| Test.java:7958:37:7958:44 | source(...) : Object | Test.java:7958:22:7958:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:7959:10:7959:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7959:10:7959:21 | row(...) : Map [] : Object | provenance | MaD:520 | +| Test.java:7959:10:7959:21 | row(...) : Map [] : Object | Test.java:7960:19:7960:21 | out : Map [] : Object | provenance | | +| Test.java:7960:19:7960:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:7960:19:7960:21 | out : Map [] : Object | Test.java:7960:9:7960:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:7965:20:7965:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7966:10:7966:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7965:32:7965:89 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7965:20:7965:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7965:50:7965:88 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7965:32:7965:89 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:7 | +| Test.java:7965:74:7965:81 | source(...) : Object | Test.java:7965:50:7965:88 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:7966:10:7966:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7966:10:7966:21 | row(...) : Map [] : Object | provenance | MaD:520 | +| Test.java:7966:10:7966:21 | row(...) : Map [] : Object | Test.java:7967:19:7967:21 | out : Map [] : Object | provenance | | +| Test.java:7967:19:7967:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:7967:19:7967:21 | out : Map [] : Object | Test.java:7967:9:7967:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:7972:24:7972:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7973:10:7973:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7972:40:7972:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7972:24:7972:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:7972:64:7972:71 | source(...) : Object | Test.java:7972:40:7972:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:7973:10:7973:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7973:10:7973:21 | row(...) : ImmutableMap [] : Object | provenance | MaD:520 | +| Test.java:7973:10:7973:21 | row(...) : ImmutableMap [] : Object | Test.java:7974:19:7974:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:7974:19:7974:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:7974:19:7974:21 | out : ImmutableMap [] : Object | Test.java:7974:9:7974:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:7979:24:7979:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7980:10:7980:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7979:40:7979:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7979:24:7979:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7979:49:7979:56 | source(...) : Object | Test.java:103:41:103:45 | row : Object | provenance | | +| Test.java:7979:49:7979:56 | source(...) : Object | Test.java:7979:40:7979:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:7980:10:7980:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7980:10:7980:23 | rowKeySet(...) : SortedSet [] : Object | provenance | MaD:521 | +| Test.java:7980:10:7980:23 | rowKeySet(...) : SortedSet [] : Object | Test.java:7981:20:7981:22 | out : SortedSet [] : Object | provenance | | +| Test.java:7981:20:7981:22 | out : SortedSet [] : Object | Test.java:110:19:110:32 | it : SortedSet [] : Object | provenance | | +| Test.java:7981:20:7981:22 | out : SortedSet [] : Object | Test.java:7981:9:7981:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7986:24:7986:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7987:10:7987:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7986:40:7986:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7986:24:7986:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7986:49:7986:56 | source(...) : Object | Test.java:103:41:103:45 | row : Object | provenance | | +| Test.java:7986:49:7986:56 | source(...) : Object | Test.java:7986:40:7986:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:7987:10:7987:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7987:10:7987:23 | rowKeySet(...) : SortedSet [] : Object | provenance | MaD:521 | +| Test.java:7987:10:7987:23 | rowKeySet(...) : SortedSet [] : Object | Test.java:7988:20:7988:22 | out : SortedSet [] : Object | provenance | | +| Test.java:7988:20:7988:22 | out : SortedSet [] : Object | Test.java:110:19:110:32 | it : SortedSet [] : Object | provenance | | +| Test.java:7988:20:7988:22 | out : SortedSet [] : Object | Test.java:7988:9:7988:23 | getElement(...) | provenance | MaD:555 | +| Test.java:7993:15:7993:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7994:10:7994:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7993:22:7993:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7993:15:7993:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:7993:31:7993:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | provenance | | +| Test.java:7993:31:7993:38 | source(...) : Object | Test.java:7993:22:7993:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:7994:10:7994:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7994:10:7994:23 | rowKeySet(...) : Set [] : Object | provenance | MaD:521 | +| Test.java:7994:10:7994:23 | rowKeySet(...) : Set [] : Object | Test.java:7995:20:7995:22 | out : Set [] : Object | provenance | | +| Test.java:7995:20:7995:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | provenance | | +| Test.java:7995:20:7995:22 | out : Set [] : Object | Test.java:7995:9:7995:23 | getElement(...) | provenance | MaD:555 | +| Test.java:8000:24:8000:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8001:10:8001:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8000:40:8000:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8000:24:8000:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8000:58:8000:65 | source(...) : Object | Test.java:8000:40:8000:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:8001:10:8001:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8001:10:8001:23 | rowKeySet(...) : ImmutableSet [] : Object | provenance | MaD:521 | +| Test.java:8001:10:8001:23 | rowKeySet(...) : ImmutableSet [] : Object | Test.java:8002:20:8002:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:8002:20:8002:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:8002:20:8002:22 | out : ImmutableSet [] : Object | Test.java:8002:9:8002:23 | getElement(...) | provenance | MaD:555 | +| Test.java:8007:20:8007:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8008:10:8008:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8007:32:8007:89 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8007:20:8007:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8007:50:8007:88 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8007:32:8007:89 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:8 | +| Test.java:8007:68:8007:75 | source(...) : Object | Test.java:8007:50:8007:88 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:8008:10:8008:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8008:10:8008:23 | rowKeySet(...) : ImmutableSet [] : Object | provenance | MaD:521 | +| Test.java:8008:10:8008:23 | rowKeySet(...) : ImmutableSet [] : Object | Test.java:8009:20:8009:22 | out : ImmutableSet [] : Object | provenance | | +| Test.java:8009:20:8009:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | provenance | | +| Test.java:8009:20:8009:22 | out : ImmutableSet [] : Object | Test.java:8009:9:8009:23 | getElement(...) | provenance | MaD:555 | +| Test.java:8014:24:8014:69 | (...)... : TreeBasedTable [] : Object | Test.java:8015:10:8015:11 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:8014:40:8014:69 | newTable(...) : TreeBasedTable [] : Object | Test.java:8014:24:8014:69 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:8014:61:8014:68 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:8014:61:8014:68 | source(...) : Object | Test.java:8014:40:8014:69 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:8015:10:8015:11 | in : TreeBasedTable [] : Object | Test.java:8015:10:8015:20 | rowMap(...) : SortedMap [, ] : Object | provenance | MaD:522 | +| Test.java:8015:10:8015:20 | rowMap(...) : SortedMap [, ] : Object | Test.java:8016:33:8016:35 | out : SortedMap [, ] : Object | provenance | | +| Test.java:8016:21:8016:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:8016:21:8016:36 | getMapValue(...) : Map [] : Object | Test.java:8016:9:8016:37 | getMapValue(...) | provenance | MaD:561 | +| Test.java:8016:33:8016:35 | out : SortedMap [, ] : Object | Test.java:8016:21:8016:36 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | +| Test.java:8021:24:8021:69 | (...)... : TreeBasedTable [] : Object | Test.java:8022:10:8022:11 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:8021:40:8021:69 | newTable(...) : TreeBasedTable [] : Object | Test.java:8021:24:8021:69 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:8021:61:8021:68 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:8021:61:8021:68 | source(...) : Object | Test.java:8021:40:8021:69 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:8022:10:8022:11 | in : TreeBasedTable [] : Object | Test.java:8022:10:8022:20 | rowMap(...) : SortedMap [, ] : Object | provenance | MaD:522 | +| Test.java:8022:10:8022:20 | rowMap(...) : SortedMap [, ] : Object | Test.java:8023:33:8023:35 | out : SortedMap [, ] : Object | provenance | | +| Test.java:8023:21:8023:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:8023:21:8023:36 | getMapValue(...) : Map [] : Object | Test.java:8023:9:8023:37 | getMapValue(...) | provenance | MaD:561 | +| Test.java:8023:33:8023:35 | out : SortedMap [, ] : Object | Test.java:8023:21:8023:36 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | +| Test.java:8028:15:8028:51 | (...)... : TreeBasedTable [] : Object | Test.java:8029:10:8029:11 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:8028:22:8028:51 | newTable(...) : TreeBasedTable [] : Object | Test.java:8028:15:8028:51 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:8028:43:8028:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:8028:43:8028:50 | source(...) : Object | Test.java:8028:22:8028:51 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:8029:10:8029:11 | in : TreeBasedTable [] : Object | Test.java:8029:10:8029:20 | rowMap(...) : Map [, ] : Object | provenance | MaD:522 | +| Test.java:8029:10:8029:20 | rowMap(...) : Map [, ] : Object | Test.java:8030:33:8030:35 | out : Map [, ] : Object | provenance | | +| Test.java:8030:21:8030:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:8030:21:8030:36 | getMapValue(...) : Map [] : Object | Test.java:8030:9:8030:37 | getMapValue(...) | provenance | MaD:561 | +| Test.java:8030:33:8030:35 | out : Map [, ] : Object | Test.java:8030:21:8030:36 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | +| Test.java:8035:20:8035:89 | (...)... : ArrayTable [] : Object | Test.java:8036:10:8036:11 | in : ArrayTable [] : Object | provenance | | +| Test.java:8035:32:8035:89 | create(...) : ArrayTable [] : Object | Test.java:8035:20:8035:89 | (...)... : ArrayTable [] : Object | provenance | | +| Test.java:8035:50:8035:88 | of(...) : ImmutableTable [] : Object | Test.java:8035:32:8035:89 | create(...) : ArrayTable [] : Object | provenance | MaD:6 | +| Test.java:8035:80:8035:87 | source(...) : Object | Test.java:8035:50:8035:88 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:8036:10:8036:11 | in : ArrayTable [] : Object | Test.java:8036:10:8036:20 | rowMap(...) : Map [, ] : Object | provenance | MaD:522 | +| Test.java:8036:10:8036:20 | rowMap(...) : Map [, ] : Object | Test.java:8037:33:8037:35 | out : Map [, ] : Object | provenance | | +| Test.java:8037:21:8037:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:8037:21:8037:36 | getMapValue(...) : Map [] : Object | Test.java:8037:9:8037:37 | getMapValue(...) | provenance | MaD:561 | +| Test.java:8037:33:8037:35 | out : Map [, ] : Object | Test.java:8037:21:8037:36 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | +| Test.java:8042:24:8042:78 | (...)... : ImmutableTable [] : Object | Test.java:8043:10:8043:11 | in : ImmutableTable [] : Object | provenance | | +| Test.java:8042:40:8042:78 | of(...) : ImmutableTable [] : Object | Test.java:8042:24:8042:78 | (...)... : ImmutableTable [] : Object | provenance | | +| Test.java:8042:70:8042:77 | source(...) : Object | Test.java:8042:40:8042:78 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:8043:10:8043:11 | in : ImmutableTable [] : Object | Test.java:8043:10:8043:20 | rowMap(...) : ImmutableMap [, ] : Object | provenance | MaD:522 | +| Test.java:8043:10:8043:20 | rowMap(...) : ImmutableMap [, ] : Object | Test.java:8044:33:8044:35 | out : ImmutableMap [, ] : Object | provenance | | +| Test.java:8044:21:8044:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | +| Test.java:8044:21:8044:36 | getMapValue(...) : Map [] : Object | Test.java:8044:9:8044:37 | getMapValue(...) | provenance | MaD:561 | +| Test.java:8044:33:8044:35 | out : ImmutableMap [, ] : Object | Test.java:8044:21:8044:36 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | +| Test.java:8049:24:8049:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8050:10:8050:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8049:40:8049:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8049:24:8049:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8049:55:8049:62 | source(...) : Object | Test.java:103:48:103:55 | column : Object | provenance | | +| Test.java:8049:55:8049:62 | source(...) : Object | Test.java:8049:40:8049:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:8050:10:8050:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8050:10:8050:20 | rowMap(...) : SortedMap [, ] : Object | provenance | MaD:523 | +| Test.java:8050:10:8050:20 | rowMap(...) : SortedMap [, ] : Object | Test.java:8051:31:8051:33 | out : SortedMap [, ] : Object | provenance | | +| Test.java:8051:19:8051:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:8051:19:8051:34 | getMapValue(...) : Map [] : Object | Test.java:8051:9:8051:35 | getMapKey(...) | provenance | MaD:562 | +| Test.java:8051:31:8051:33 | out : SortedMap [, ] : Object | Test.java:8051:19:8051:34 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | +| Test.java:8056:24:8056:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8057:10:8057:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8056:40:8056:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8056:24:8056:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8056:55:8056:62 | source(...) : Object | Test.java:103:48:103:55 | column : Object | provenance | | +| Test.java:8056:55:8056:62 | source(...) : Object | Test.java:8056:40:8056:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:8057:10:8057:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8057:10:8057:20 | rowMap(...) : SortedMap [, ] : Object | provenance | MaD:523 | +| Test.java:8057:10:8057:20 | rowMap(...) : SortedMap [, ] : Object | Test.java:8058:31:8058:33 | out : SortedMap [, ] : Object | provenance | | +| Test.java:8058:19:8058:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:8058:19:8058:34 | getMapValue(...) : Map [] : Object | Test.java:8058:9:8058:35 | getMapKey(...) | provenance | MaD:562 | +| Test.java:8058:31:8058:33 | out : SortedMap [, ] : Object | Test.java:8058:19:8058:34 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | +| Test.java:8063:15:8063:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8064:10:8064:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8063:22:8063:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8063:15:8063:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8063:37:8063:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | provenance | | +| Test.java:8063:37:8063:44 | source(...) : Object | Test.java:8063:22:8063:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:8064:10:8064:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8064:10:8064:20 | rowMap(...) : Map [, ] : Object | provenance | MaD:523 | +| Test.java:8064:10:8064:20 | rowMap(...) : Map [, ] : Object | Test.java:8065:31:8065:33 | out : Map [, ] : Object | provenance | | +| Test.java:8065:19:8065:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:8065:19:8065:34 | getMapValue(...) : Map [] : Object | Test.java:8065:9:8065:35 | getMapKey(...) | provenance | MaD:562 | +| Test.java:8065:31:8065:33 | out : Map [, ] : Object | Test.java:8065:19:8065:34 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | +| Test.java:8070:20:8070:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8071:10:8071:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8070:32:8070:89 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8070:20:8070:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8070:50:8070:88 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8070:32:8070:89 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:7 | +| Test.java:8070:74:8070:81 | source(...) : Object | Test.java:8070:50:8070:88 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:8071:10:8071:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8071:10:8071:20 | rowMap(...) : Map [, ] : Object | provenance | MaD:523 | +| Test.java:8071:10:8071:20 | rowMap(...) : Map [, ] : Object | Test.java:8072:31:8072:33 | out : Map [, ] : Object | provenance | | +| Test.java:8072:19:8072:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:8072:19:8072:34 | getMapValue(...) : Map [] : Object | Test.java:8072:9:8072:35 | getMapKey(...) | provenance | MaD:562 | +| Test.java:8072:31:8072:33 | out : Map [, ] : Object | Test.java:8072:19:8072:34 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | +| Test.java:8077:24:8077:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8078:10:8078:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8077:40:8077:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8077:24:8077:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8077:64:8077:71 | source(...) : Object | Test.java:8077:40:8077:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | +| Test.java:8078:10:8078:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8078:10:8078:20 | rowMap(...) : ImmutableMap [, ] : Object | provenance | MaD:523 | +| Test.java:8078:10:8078:20 | rowMap(...) : ImmutableMap [, ] : Object | Test.java:8079:31:8079:33 | out : ImmutableMap [, ] : Object | provenance | | +| Test.java:8079:19:8079:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:8079:19:8079:34 | getMapValue(...) : Map [] : Object | Test.java:8079:9:8079:35 | getMapKey(...) | provenance | MaD:562 | +| Test.java:8079:31:8079:33 | out : ImmutableMap [, ] : Object | Test.java:8079:19:8079:34 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | +| Test.java:8084:24:8084:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8085:10:8085:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8084:40:8084:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8084:24:8084:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8084:49:8084:56 | source(...) : Object | Test.java:103:41:103:45 | row : Object | provenance | | +| Test.java:8084:49:8084:56 | source(...) : Object | Test.java:8084:40:8084:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:8085:10:8085:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8085:10:8085:20 | rowMap(...) : SortedMap [] : Object | provenance | MaD:524 | +| Test.java:8085:10:8085:20 | rowMap(...) : SortedMap [] : Object | Test.java:8086:19:8086:21 | out : SortedMap [] : Object | provenance | | +| Test.java:8086:19:8086:21 | out : SortedMap [] : Object | Test.java:99:18:99:29 | map : SortedMap [] : Object | provenance | | +| Test.java:8086:19:8086:21 | out : SortedMap [] : Object | Test.java:8086:9:8086:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:8091:24:8091:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8092:10:8092:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8091:40:8091:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8091:24:8091:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8091:49:8091:56 | source(...) : Object | Test.java:103:41:103:45 | row : Object | provenance | | +| Test.java:8091:49:8091:56 | source(...) : Object | Test.java:8091:40:8091:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:8092:10:8092:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8092:10:8092:20 | rowMap(...) : SortedMap [] : Object | provenance | MaD:524 | +| Test.java:8092:10:8092:20 | rowMap(...) : SortedMap [] : Object | Test.java:8093:19:8093:21 | out : SortedMap [] : Object | provenance | | +| Test.java:8093:19:8093:21 | out : SortedMap [] : Object | Test.java:99:18:99:29 | map : SortedMap [] : Object | provenance | | +| Test.java:8093:19:8093:21 | out : SortedMap [] : Object | Test.java:8093:9:8093:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:8098:15:8098:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8099:10:8099:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8098:22:8098:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8098:15:8098:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8098:31:8098:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | provenance | | +| Test.java:8098:31:8098:38 | source(...) : Object | Test.java:8098:22:8098:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:8099:10:8099:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8099:10:8099:20 | rowMap(...) : Map [] : Object | provenance | MaD:524 | +| Test.java:8099:10:8099:20 | rowMap(...) : Map [] : Object | Test.java:8100:19:8100:21 | out : Map [] : Object | provenance | | +| Test.java:8100:19:8100:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:8100:19:8100:21 | out : Map [] : Object | Test.java:8100:9:8100:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:8105:20:8105:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8106:10:8106:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8105:32:8105:89 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8105:20:8105:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8105:50:8105:88 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8105:32:8105:89 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:8 | +| Test.java:8105:68:8105:75 | source(...) : Object | Test.java:8105:50:8105:88 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:8106:10:8106:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8106:10:8106:20 | rowMap(...) : Map [] : Object | provenance | MaD:524 | +| Test.java:8106:10:8106:20 | rowMap(...) : Map [] : Object | Test.java:8107:19:8107:21 | out : Map [] : Object | provenance | | +| Test.java:8107:19:8107:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | +| Test.java:8107:19:8107:21 | out : Map [] : Object | Test.java:8107:9:8107:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:8112:24:8112:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8113:10:8113:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8112:40:8112:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8112:24:8112:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8112:58:8112:65 | source(...) : Object | Test.java:8112:40:8112:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | +| Test.java:8113:10:8113:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8113:10:8113:20 | rowMap(...) : ImmutableMap [] : Object | provenance | MaD:524 | +| Test.java:8113:10:8113:20 | rowMap(...) : ImmutableMap [] : Object | Test.java:8114:19:8114:21 | out : ImmutableMap [] : Object | provenance | | +| Test.java:8114:19:8114:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | provenance | | +| Test.java:8114:19:8114:21 | out : ImmutableMap [] : Object | Test.java:8114:9:8114:22 | getMapKey(...) | provenance | MaD:562 | +| Test.java:8119:24:8119:78 | (...)... : ImmutableTable [] : Object | Test.java:8120:10:8120:11 | in : ImmutableTable [] : Object | provenance | | +| Test.java:8119:40:8119:78 | of(...) : ImmutableTable [] : Object | Test.java:8119:24:8119:78 | (...)... : ImmutableTable [] : Object | provenance | | +| Test.java:8119:70:8119:77 | source(...) : Object | Test.java:8119:40:8119:78 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:8120:10:8120:11 | in : ImmutableTable [] : Object | Test.java:8120:10:8120:20 | values(...) : ImmutableCollection [] : Object | provenance | MaD:525 | +| Test.java:8120:10:8120:20 | values(...) : ImmutableCollection [] : Object | Test.java:8121:20:8121:22 | out : ImmutableCollection [] : Object | provenance | | +| Test.java:8121:20:8121:22 | out : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | provenance | | +| Test.java:8121:20:8121:22 | out : ImmutableCollection [] : Object | Test.java:8121:9:8121:23 | getElement(...) | provenance | MaD:555 | +| Test.java:8126:15:8126:51 | (...)... : TreeBasedTable [] : Object | Test.java:8127:10:8127:11 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:8126:22:8126:51 | newTable(...) : TreeBasedTable [] : Object | Test.java:8126:15:8126:51 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:8126:43:8126:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:8126:43:8126:50 | source(...) : Object | Test.java:8126:22:8126:51 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:8127:10:8127:11 | in : TreeBasedTable [] : Object | Test.java:8127:10:8127:20 | values(...) : Collection [] : Object | provenance | MaD:525 | +| Test.java:8127:10:8127:20 | values(...) : Collection [] : Object | Test.java:8128:20:8128:22 | out : Collection [] : Object | provenance | | +| Test.java:8128:20:8128:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:8128:20:8128:22 | out : Collection [] : Object | Test.java:8128:9:8128:23 | getElement(...) | provenance | MaD:555 | +| Test.java:8133:20:8133:89 | (...)... : ArrayTable [] : Object | Test.java:8134:10:8134:11 | in : ArrayTable [] : Object | provenance | | +| Test.java:8133:32:8133:89 | create(...) : ArrayTable [] : Object | Test.java:8133:20:8133:89 | (...)... : ArrayTable [] : Object | provenance | | +| Test.java:8133:50:8133:88 | of(...) : ImmutableTable [] : Object | Test.java:8133:32:8133:89 | create(...) : ArrayTable [] : Object | provenance | MaD:6 | +| Test.java:8133:80:8133:87 | source(...) : Object | Test.java:8133:50:8133:88 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | +| Test.java:8134:10:8134:11 | in : ArrayTable [] : Object | Test.java:8134:10:8134:20 | values(...) : Collection [] : Object | provenance | MaD:525 | +| Test.java:8134:10:8134:20 | values(...) : Collection [] : Object | Test.java:8135:20:8135:22 | out : Collection [] : Object | provenance | | +| Test.java:8135:20:8135:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | +| Test.java:8135:20:8135:22 | out : Collection [] : Object | Test.java:8135:9:8135:23 | getElement(...) | provenance | MaD:555 | +| Test.java:8140:16:8140:31 | (...)... : Object | Test.java:8141:31:8141:32 | in : Object | provenance | | +| Test.java:8140:24:8140:31 | source(...) : Object | Test.java:8140:16:8140:31 | (...)... : Object | provenance | | +| Test.java:8141:10:8141:45 | immutableCell(...) : Cell [com.google.common.collect.Table.rowKey] : Object | Test.java:8142:9:8142:11 | out : Cell [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8141:31:8141:32 | in : Object | Test.java:8141:10:8141:45 | immutableCell(...) : Cell [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:529 | +| Test.java:8142:9:8142:11 | out : Cell [com.google.common.collect.Table.rowKey] : Object | Test.java:8142:9:8142:23 | getRowKey(...) | provenance | MaD:527 | +| Test.java:8147:16:8147:31 | (...)... : Object | Test.java:8148:37:8148:38 | in : Object | provenance | | +| Test.java:8147:24:8147:31 | source(...) : Object | Test.java:8147:16:8147:31 | (...)... : Object | provenance | | +| Test.java:8148:10:8148:45 | immutableCell(...) : Cell [com.google.common.collect.Table.columnKey] : Object | Test.java:8149:9:8149:11 | out : Cell [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8148:37:8148:38 | in : Object | Test.java:8148:10:8148:45 | immutableCell(...) : Cell [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:530 | +| Test.java:8149:9:8149:11 | out : Cell [com.google.common.collect.Table.columnKey] : Object | Test.java:8149:9:8149:26 | getColumnKey(...) | provenance | MaD:526 | +| Test.java:8154:16:8154:31 | (...)... : Object | Test.java:8155:43:8155:44 | in : Object | provenance | | +| Test.java:8154:24:8154:31 | source(...) : Object | Test.java:8154:16:8154:31 | (...)... : Object | provenance | | +| Test.java:8155:10:8155:45 | immutableCell(...) : Cell [] : Object | Test.java:8156:9:8156:11 | out : Cell [] : Object | provenance | | +| Test.java:8155:43:8155:44 | in : Object | Test.java:8155:10:8155:45 | immutableCell(...) : Cell [] : Object | provenance | MaD:531 | +| Test.java:8156:9:8156:11 | out : Cell [] : Object | Test.java:8156:9:8156:22 | getValue(...) | provenance | MaD:528 | +| Test.java:8161:13:8161:39 | (...)... : Map [] : Object | Test.java:8162:32:8162:33 | in : Map [] : Object | provenance | | +| Test.java:8161:18:8161:39 | of(...) : Map [] : Object | Test.java:8161:13:8161:39 | (...)... : Map [] : Object | provenance | | +| Test.java:8161:25:8161:32 | source(...) : Object | Test.java:8161:18:8161:39 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:8162:10:8162:40 | newCustomTable(...) : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:8163:25:8163:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8162:32:8162:33 | in : Map [] : Object | Test.java:8162:10:8162:40 | newCustomTable(...) : Table [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:532 | +| Test.java:8163:25:8163:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : Table [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8163:25:8163:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:8163:9:8163:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:8168:13:8168:53 | (...)... : Map [, ] : Object | Test.java:8169:32:8169:33 | in : Map [, ] : Object | provenance | | +| Test.java:8168:18:8168:53 | of(...) : Map [, ] : Object | Test.java:8168:13:8168:53 | (...)... : Map [, ] : Object | provenance | | +| Test.java:8168:31:8168:52 | of(...) : Map [] : Object | Test.java:8168:18:8168:53 | of(...) : Map [, ] : Object | provenance | MaD:564 | +| Test.java:8168:38:8168:45 | source(...) : Object | Test.java:8168:31:8168:52 | of(...) : Map [] : Object | provenance | MaD:563 | +| Test.java:8169:10:8169:40 | newCustomTable(...) : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:8170:28:8170:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8169:32:8169:33 | in : Map [, ] : Object | Test.java:8169:10:8169:40 | newCustomTable(...) : Table [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:533 | +| Test.java:8170:28:8170:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : Table [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8170:28:8170:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:8170:9:8170:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:8175:13:8175:53 | (...)... : Map [, ] : Object | Test.java:8176:32:8176:33 | in : Map [, ] : Object | provenance | | +| Test.java:8175:18:8175:53 | of(...) : Map [, ] : Object | Test.java:8175:13:8175:53 | (...)... : Map [, ] : Object | provenance | | +| Test.java:8175:31:8175:52 | of(...) : Map [] : Object | Test.java:8175:18:8175:53 | of(...) : Map [, ] : Object | provenance | MaD:564 | +| Test.java:8175:44:8175:51 | source(...) : Object | Test.java:8175:31:8175:52 | of(...) : Map [] : Object | provenance | MaD:564 | +| Test.java:8176:10:8176:40 | newCustomTable(...) : Table [] : Object | Test.java:8177:21:8177:23 | out : Table [] : Object | provenance | | +| Test.java:8176:32:8176:33 | in : Map [, ] : Object | Test.java:8176:10:8176:40 | newCustomTable(...) : Table [] : Object | provenance | MaD:534 | +| Test.java:8177:21:8177:23 | out : Table [] : Object | Test.java:120:20:120:33 | t : Table [] : Object | provenance | | +| Test.java:8177:21:8177:23 | out : Table [] : Object | Test.java:8177:9:8177:24 | getMapValue(...) | provenance | MaD:525 | +| Test.java:8182:15:8182:51 | (...)... : TreeBasedTable [] : Object | Test.java:8183:35:8183:36 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:8182:22:8182:51 | newTable(...) : TreeBasedTable [] : Object | Test.java:8182:15:8182:51 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:8182:43:8182:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:8182:43:8182:50 | source(...) : Object | Test.java:8182:22:8182:51 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:8183:10:8183:37 | synchronizedTable(...) : Table [] : Object | Test.java:8184:21:8184:23 | out : Table [] : Object | provenance | | +| Test.java:8183:35:8183:36 | in : TreeBasedTable [] : Object | Test.java:8183:10:8183:37 | synchronizedTable(...) : Table [] : Object | provenance | MaD:535 | +| Test.java:8184:21:8184:23 | out : Table [] : Object | Test.java:120:20:120:33 | t : Table [] : Object | provenance | | +| Test.java:8184:21:8184:23 | out : Table [] : Object | Test.java:8184:9:8184:24 | getMapValue(...) | provenance | MaD:525 | +| Test.java:8189:15:8189:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8190:35:8190:36 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8189:22:8189:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8189:15:8189:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8189:37:8189:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | provenance | | +| Test.java:8189:37:8189:44 | source(...) : Object | Test.java:8189:22:8189:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:8190:10:8190:37 | synchronizedTable(...) : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:8191:28:8191:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8190:35:8190:36 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8190:10:8190:37 | synchronizedTable(...) : Table [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:536 | +| Test.java:8191:28:8191:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : Table [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8191:28:8191:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:8191:9:8191:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:8196:15:8196:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8197:35:8197:36 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8196:22:8196:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8196:15:8196:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8196:31:8196:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | provenance | | +| Test.java:8196:31:8196:38 | source(...) : Object | Test.java:8196:22:8196:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:8197:10:8197:37 | synchronizedTable(...) : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:8198:25:8198:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8197:35:8197:36 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8197:10:8197:37 | synchronizedTable(...) : Table [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:537 | +| Test.java:8198:25:8198:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : Table [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8198:25:8198:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:8198:9:8198:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:8203:15:8203:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8204:33:8204:34 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8203:22:8203:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8203:15:8203:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8203:37:8203:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | provenance | | +| Test.java:8203:37:8203:44 | source(...) : Object | Test.java:8203:22:8203:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:8204:10:8204:41 | transformValues(...) : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:8205:28:8205:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8204:33:8204:34 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8204:10:8204:41 | transformValues(...) : Table [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:538 | +| Test.java:8205:28:8205:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : Table [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8205:28:8205:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:8205:9:8205:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:8210:15:8210:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8211:33:8211:34 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8210:22:8210:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8210:15:8210:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8210:31:8210:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | provenance | | +| Test.java:8210:31:8210:38 | source(...) : Object | Test.java:8210:22:8210:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:8211:10:8211:41 | transformValues(...) : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:8212:25:8212:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8211:33:8211:34 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8211:10:8211:41 | transformValues(...) : Table [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:539 | +| Test.java:8212:25:8212:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : Table [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8212:25:8212:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:8212:9:8212:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:8217:15:8217:51 | (...)... : TreeBasedTable [] : Object | Test.java:8218:27:8218:28 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:8217:22:8217:51 | newTable(...) : TreeBasedTable [] : Object | Test.java:8217:15:8217:51 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:8217:43:8217:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:8217:43:8217:50 | source(...) : Object | Test.java:8217:22:8217:51 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:8218:10:8218:29 | transpose(...) : Table [] : Object | Test.java:8219:21:8219:23 | out : Table [] : Object | provenance | | +| Test.java:8218:27:8218:28 | in : TreeBasedTable [] : Object | Test.java:8218:10:8218:29 | transpose(...) : Table [] : Object | provenance | MaD:540 | +| Test.java:8219:21:8219:23 | out : Table [] : Object | Test.java:120:20:120:33 | t : Table [] : Object | provenance | | +| Test.java:8219:21:8219:23 | out : Table [] : Object | Test.java:8219:9:8219:24 | getMapValue(...) | provenance | MaD:525 | +| Test.java:8224:15:8224:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8225:27:8225:28 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8224:22:8224:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8224:15:8224:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8224:37:8224:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | provenance | | +| Test.java:8224:37:8224:44 | source(...) : Object | Test.java:8224:22:8224:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:8225:10:8225:29 | transpose(...) : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:8226:25:8226:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8225:27:8225:28 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8225:10:8225:29 | transpose(...) : Table [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:541 | +| Test.java:8226:25:8226:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : Table [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8226:25:8226:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:8226:9:8226:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:8231:15:8231:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8232:27:8232:28 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8231:22:8231:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8231:15:8231:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8231:31:8231:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | provenance | | +| Test.java:8231:31:8231:38 | source(...) : Object | Test.java:8231:22:8231:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:8232:10:8232:29 | transpose(...) : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:8233:28:8233:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8232:27:8232:28 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8232:10:8232:29 | transpose(...) : Table [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:542 | +| Test.java:8233:28:8233:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : Table [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8233:28:8233:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:8233:9:8233:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:8238:24:8238:69 | (...)... : TreeBasedTable [] : Object | Test.java:8239:44:8239:45 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:8238:40:8238:69 | newTable(...) : TreeBasedTable [] : Object | Test.java:8238:24:8238:69 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:8238:61:8238:68 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:8238:61:8238:68 | source(...) : Object | Test.java:8238:40:8238:69 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:8239:10:8239:46 | unmodifiableRowSortedTable(...) : RowSortedTable [] : Object | Test.java:8240:21:8240:23 | out : RowSortedTable [] : Object | provenance | | +| Test.java:8239:44:8239:45 | in : TreeBasedTable [] : Object | Test.java:8239:10:8239:46 | unmodifiableRowSortedTable(...) : RowSortedTable [] : Object | provenance | MaD:543 | +| Test.java:8240:21:8240:23 | out : RowSortedTable [] : Object | Test.java:120:20:120:33 | t : RowSortedTable [] : Object | provenance | | +| Test.java:8240:21:8240:23 | out : RowSortedTable [] : Object | Test.java:8240:9:8240:24 | getMapValue(...) | provenance | MaD:525 | +| Test.java:8245:24:8245:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8246:44:8246:45 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8245:40:8245:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8245:24:8245:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8245:55:8245:62 | source(...) : Object | Test.java:103:48:103:55 | column : Object | provenance | | +| Test.java:8245:55:8245:62 | source(...) : Object | Test.java:8245:40:8245:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:8246:10:8246:46 | unmodifiableRowSortedTable(...) : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8247:28:8247:30 | out : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8246:44:8246:45 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8246:10:8246:46 | unmodifiableRowSortedTable(...) : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:544 | +| Test.java:8247:28:8247:30 | out : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8247:28:8247:30 | out : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8247:9:8247:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:8252:24:8252:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8253:44:8253:45 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8252:40:8252:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8252:24:8252:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8252:49:8252:56 | source(...) : Object | Test.java:103:41:103:45 | row : Object | provenance | | +| Test.java:8252:49:8252:56 | source(...) : Object | Test.java:8252:40:8252:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:8253:10:8253:46 | unmodifiableRowSortedTable(...) : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8254:25:8254:27 | out : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8253:44:8253:45 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8253:10:8253:46 | unmodifiableRowSortedTable(...) : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:545 | +| Test.java:8254:25:8254:27 | out : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8254:25:8254:27 | out : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8254:9:8254:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:8259:15:8259:51 | (...)... : TreeBasedTable [] : Object | Test.java:8260:35:8260:36 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:8259:22:8259:51 | newTable(...) : TreeBasedTable [] : Object | Test.java:8259:15:8259:51 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:8259:43:8259:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:8259:43:8259:50 | source(...) : Object | Test.java:8259:22:8259:51 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:8260:10:8260:37 | unmodifiableTable(...) : Table [] : Object | Test.java:8261:21:8261:23 | out : Table [] : Object | provenance | | +| Test.java:8260:35:8260:36 | in : TreeBasedTable [] : Object | Test.java:8260:10:8260:37 | unmodifiableTable(...) : Table [] : Object | provenance | MaD:546 | +| Test.java:8261:21:8261:23 | out : Table [] : Object | Test.java:120:20:120:33 | t : Table [] : Object | provenance | | +| Test.java:8261:21:8261:23 | out : Table [] : Object | Test.java:8261:9:8261:24 | getMapValue(...) | provenance | MaD:525 | +| Test.java:8266:15:8266:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8267:35:8267:36 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8266:22:8266:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8266:15:8266:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8266:37:8266:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | provenance | | +| Test.java:8266:37:8266:44 | source(...) : Object | Test.java:8266:22:8266:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:8267:10:8267:37 | unmodifiableTable(...) : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:8268:28:8268:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8267:35:8267:36 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8267:10:8267:37 | unmodifiableTable(...) : Table [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:547 | +| Test.java:8268:28:8268:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : Table [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8268:28:8268:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:8268:9:8268:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:8273:15:8273:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8274:35:8274:36 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8273:22:8273:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8273:15:8273:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8273:31:8273:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | provenance | | +| Test.java:8273:31:8273:38 | source(...) : Object | Test.java:8273:22:8273:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:8274:10:8274:37 | unmodifiableTable(...) : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:8275:25:8275:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8274:35:8274:36 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8274:10:8274:37 | unmodifiableTable(...) : Table [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:548 | +| Test.java:8275:25:8275:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : Table [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8275:25:8275:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:8275:9:8275:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:8280:24:8280:69 | (...)... : TreeBasedTable [] : Object | Test.java:8281:32:8281:33 | in : TreeBasedTable [] : Object | provenance | | +| Test.java:8280:40:8280:69 | newTable(...) : TreeBasedTable [] : Object | Test.java:8280:24:8280:69 | (...)... : TreeBasedTable [] : Object | provenance | | +| Test.java:8280:61:8280:68 | source(...) : Object | Test.java:103:58:103:64 | value : Object | provenance | | +| Test.java:8280:61:8280:68 | source(...) : Object | Test.java:8280:40:8280:69 | newTable(...) : TreeBasedTable [] : Object | provenance | MaD:514 | +| Test.java:8281:10:8281:34 | create(...) : TreeBasedTable [] : Object | Test.java:8282:21:8282:23 | out : TreeBasedTable [] : Object | provenance | | +| Test.java:8281:32:8281:33 | in : TreeBasedTable [] : Object | Test.java:8281:10:8281:34 | create(...) : TreeBasedTable [] : Object | provenance | MaD:549 | +| Test.java:8282:21:8282:23 | out : TreeBasedTable [] : Object | Test.java:120:20:120:33 | t : TreeBasedTable [] : Object | provenance | | +| Test.java:8282:21:8282:23 | out : TreeBasedTable [] : Object | Test.java:8282:9:8282:24 | getMapValue(...) | provenance | MaD:525 | +| Test.java:8287:24:8287:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8288:32:8288:33 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8287:40:8287:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8287:24:8287:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8287:55:8287:62 | source(...) : Object | Test.java:103:48:103:55 | column : Object | provenance | | +| Test.java:8287:55:8287:62 | source(...) : Object | Test.java:8287:40:8287:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:513 | +| Test.java:8288:10:8288:34 | create(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8289:28:8289:30 | out : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8288:32:8288:33 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8288:10:8288:34 | create(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:550 | +| Test.java:8289:28:8289:30 | out : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:8289:28:8289:30 | out : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8289:9:8289:31 | getTable_columnKey(...) | provenance | MaD:507 | +| Test.java:8294:24:8294:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8295:32:8295:33 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8294:40:8294:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8294:24:8294:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8294:49:8294:56 | source(...) : Object | Test.java:103:41:103:45 | row : Object | provenance | | +| Test.java:8294:49:8294:56 | source(...) : Object | Test.java:8294:40:8294:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:512 | +| Test.java:8295:10:8295:34 | create(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8296:25:8296:27 | out : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8295:32:8295:33 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8295:10:8295:34 | create(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:551 | +| Test.java:8296:25:8296:27 | out : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | +| Test.java:8296:25:8296:27 | out : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8296:9:8296:28 | getTable_rowKey(...) | provenance | MaD:521 | +| Test.java:8301:18:8301:63 | (...)... : ImmutableMultimap [] : Object | Test.java:8302:30:8302:31 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:8301:28:8301:63 | of(...) : ImmutableMultimap [] : Object | Test.java:8301:18:8301:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:8301:49:8301:56 | source(...) : Object | Test.java:8301:28:8301:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:103 | +| Test.java:8302:10:8302:32 | create(...) : TreeMultimap [] : Object | Test.java:8303:19:8303:21 | out : TreeMultimap [] : Object | provenance | | +| Test.java:8302:30:8302:31 | in : ImmutableMultimap [] : Object | Test.java:8302:10:8302:32 | create(...) : TreeMultimap [] : Object | provenance | MaD:552 | +| Test.java:8303:19:8303:21 | out : TreeMultimap [] : Object | Test.java:100:18:100:34 | map : TreeMultimap [] : Object | provenance | | +| Test.java:8303:19:8303:21 | out : TreeMultimap [] : Object | Test.java:8303:9:8303:22 | getMapKey(...) | provenance | MaD:373 | +| Test.java:8308:18:8308:63 | (...)... : ImmutableMultimap [] : Object | Test.java:8309:30:8309:31 | in : ImmutableMultimap [] : Object | provenance | | +| Test.java:8308:28:8308:63 | of(...) : ImmutableMultimap [] : Object | Test.java:8308:18:8308:63 | (...)... : ImmutableMultimap [] : Object | provenance | | +| Test.java:8308:55:8308:62 | source(...) : Object | Test.java:8308:28:8308:63 | of(...) : ImmutableMultimap [] : Object | provenance | MaD:104 | +| Test.java:8309:10:8309:32 | create(...) : TreeMultimap [] : Object | Test.java:8310:21:8310:23 | out : TreeMultimap [] : Object | provenance | | +| Test.java:8309:30:8309:31 | in : ImmutableMultimap [] : Object | Test.java:8309:10:8309:32 | create(...) : TreeMultimap [] : Object | provenance | MaD:553 | +| Test.java:8310:21:8310:23 | out : TreeMultimap [] : Object | Test.java:119:20:119:36 | map : TreeMultimap [] : Object | provenance | | +| Test.java:8310:21:8310:23 | out : TreeMultimap [] : Object | Test.java:8310:9:8310:24 | getMapValue(...) | provenance | MaD:385 | +| Test.java:8315:18:8315:44 | (...)... : List [] : Object | Test.java:8316:30:8316:31 | in : List [] : Object | provenance | | +| Test.java:8315:28:8315:44 | of(...) : List [] : Object | Test.java:8315:18:8315:44 | (...)... : List [] : Object | provenance | | +| Test.java:8315:36:8315:43 | source(...) : Object | Test.java:8315:28:8315:44 | of(...) : List [] : Object | provenance | MaD:558 | +| Test.java:8316:10:8316:32 | create(...) : TreeMultiset [] : Object | Test.java:8317:20:8317:22 | out : TreeMultiset [] : Object | provenance | | +| Test.java:8316:30:8316:31 | in : List [] : Object | Test.java:8316:10:8316:32 | create(...) : TreeMultiset [] : Object | provenance | MaD:554 | +| Test.java:8317:20:8317:22 | out : TreeMultiset [] : Object | Test.java:110:19:110:32 | it : TreeMultiset [] : Object | provenance | | +| Test.java:8317:20:8317:22 | out : TreeMultiset [] : Object | Test.java:8317:9:8317:23 | getElement(...) | provenance | MaD:555 | +nodes +| Test.java:95:27:95:57 | b : Builder [com.google.common.collect.Table.columnKey] : Object | semmle.label | b : Builder [com.google.common.collect.Table.columnKey] : Object | +| Test.java:95:69:95:97 | getTable_columnKey(...) : Object | semmle.label | getTable_columnKey(...) : Object | +| Test.java:95:88:95:88 | b : Builder [com.google.common.collect.Table.columnKey] : Object | semmle.label | b : Builder [com.google.common.collect.Table.columnKey] : Object | +| Test.java:95:88:95:96 | build(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | build(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:96:27:96:40 | t : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | t : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:96:27:96:40 | t : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | t : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:96:27:96:40 | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:96:27:96:40 | t : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | t : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:96:27:96:40 | t : Table [com.google.common.collect.Table.columnKey] : Object | semmle.label | t : Table [com.google.common.collect.Table.columnKey] : Object | +| Test.java:96:27:96:40 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:96:52:96:52 | t : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | t : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:96:52:96:52 | t : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | t : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:96:52:96:52 | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:96:52:96:52 | t : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | t : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:96:52:96:52 | t : Table [com.google.common.collect.Table.columnKey] : Object | semmle.label | t : Table [com.google.common.collect.Table.columnKey] : Object | +| Test.java:96:52:96:52 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | semmle.label | columnKeySet(...) : Set [] : Object | +| Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | semmle.label | columnKeySet(...) : Set [] : Object | +| Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | semmle.label | columnKeySet(...) : Set [] : Object | +| Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | semmle.label | columnKeySet(...) : Set [] : Object | +| Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | semmle.label | columnKeySet(...) : Set [] : Object | +| Test.java:96:52:96:67 | columnKeySet(...) : Set [] : Object | semmle.label | columnKeySet(...) : Set [] : Object | +| Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:96:52:96:78 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:96:52:96:85 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:96:52:96:85 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:96:52:96:85 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:96:52:96:85 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:96:52:96:85 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:96:52:96:85 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:97:18:97:44 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:97:18:97:44 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:97:18:97:44 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:97:56:97:75 | getMapKey(...) : Object | semmle.label | getMapKey(...) : Object | +| Test.java:97:56:97:75 | getMapKey(...) : Object | semmle.label | getMapKey(...) : Object | +| Test.java:97:56:97:75 | getMapKey(...) : Object | semmle.label | getMapKey(...) : Object | +| Test.java:97:66:97:66 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:97:66:97:66 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:97:66:97:66 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:97:66:97:74 | build(...) : ImmutableMap [] : Object | semmle.label | build(...) : ImmutableMap [] : Object | +| Test.java:97:66:97:74 | build(...) : ImmutableMap [] : Object | semmle.label | build(...) : ImmutableMap [] : Object | +| Test.java:97:66:97:74 | build(...) : ImmutableMap [] : Object | semmle.label | build(...) : ImmutableMap [] : Object | +| Test.java:98:18:98:49 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:98:18:98:49 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:98:18:98:49 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:98:61:98:80 | getMapKey(...) : Object | semmle.label | getMapKey(...) : Object | +| Test.java:98:61:98:80 | getMapKey(...) : Object | semmle.label | getMapKey(...) : Object | +| Test.java:98:61:98:80 | getMapKey(...) : Object | semmle.label | getMapKey(...) : Object | +| Test.java:98:71:98:71 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:98:71:98:71 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:98:71:98:71 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | semmle.label | build(...) : ImmutableMultimap [] : Object | +| Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | semmle.label | build(...) : ImmutableMultimap [] : Object | +| Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | semmle.label | build(...) : ImmutableMultimap [] : Object | +| Test.java:99:18:99:29 | map : BiMap [] : Object | semmle.label | map : BiMap [] : Object | +| Test.java:99:18:99:29 | map : HashBiMap [] : Object | semmle.label | map : HashBiMap [] : Object | +| Test.java:99:18:99:29 | map : HashMap [] : Object | semmle.label | map : HashMap [] : Object | +| Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | semmle.label | map : ImmutableBiMap [] : Object | +| Test.java:99:18:99:29 | map : ImmutableClassToInstanceMap [] : Class | semmle.label | map : ImmutableClassToInstanceMap [] : Class | +| Test.java:99:18:99:29 | map : ImmutableClassToInstanceMap [] : Object | semmle.label | map : ImmutableClassToInstanceMap [] : Object | +| Test.java:99:18:99:29 | map : ImmutableMap [] : Object | semmle.label | map : ImmutableMap [] : Object | +| Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | semmle.label | map : ImmutableSortedMap [] : Comparable | +| Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Object | semmle.label | map : ImmutableSortedMap [] : Object | +| Test.java:99:18:99:29 | map : LinkedHashMap [] : Object | semmle.label | map : LinkedHashMap [] : Object | +| Test.java:99:18:99:29 | map : Map [] : Comparable | semmle.label | map : Map [] : Comparable | +| Test.java:99:18:99:29 | map : Map [] : Object | semmle.label | map : Map [] : Object | +| Test.java:99:18:99:29 | map : MutableClassToInstanceMap [] : Object | semmle.label | map : MutableClassToInstanceMap [] : Object | +| Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | semmle.label | map : NavigableMap [] : Comparable | +| Test.java:99:18:99:29 | map : SortedMap [] : Comparable | semmle.label | map : SortedMap [] : Comparable | +| Test.java:99:18:99:29 | map : SortedMap [] : Object | semmle.label | map : SortedMap [] : Object | +| Test.java:99:18:99:29 | map : TreeMap [] : Comparable | semmle.label | map : TreeMap [] : Comparable | +| Test.java:99:41:99:43 | map : BiMap [] : Object | semmle.label | map : BiMap [] : Object | +| Test.java:99:41:99:43 | map : HashBiMap [] : Object | semmle.label | map : HashBiMap [] : Object | +| Test.java:99:41:99:43 | map : HashMap [] : Object | semmle.label | map : HashMap [] : Object | +| Test.java:99:41:99:43 | map : ImmutableBiMap [] : Object | semmle.label | map : ImmutableBiMap [] : Object | +| Test.java:99:41:99:43 | map : ImmutableClassToInstanceMap [] : Class | semmle.label | map : ImmutableClassToInstanceMap [] : Class | +| Test.java:99:41:99:43 | map : ImmutableClassToInstanceMap [] : Object | semmle.label | map : ImmutableClassToInstanceMap [] : Object | +| Test.java:99:41:99:43 | map : ImmutableMap [] : Object | semmle.label | map : ImmutableMap [] : Object | +| Test.java:99:41:99:43 | map : ImmutableSortedMap [] : Comparable | semmle.label | map : ImmutableSortedMap [] : Comparable | +| Test.java:99:41:99:43 | map : ImmutableSortedMap [] : Object | semmle.label | map : ImmutableSortedMap [] : Object | +| Test.java:99:41:99:43 | map : LinkedHashMap [] : Object | semmle.label | map : LinkedHashMap [] : Object | +| Test.java:99:41:99:43 | map : Map [] : Comparable | semmle.label | map : Map [] : Comparable | +| Test.java:99:41:99:43 | map : Map [] : Object | semmle.label | map : Map [] : Object | +| Test.java:99:41:99:43 | map : MutableClassToInstanceMap [] : Object | semmle.label | map : MutableClassToInstanceMap [] : Object | +| Test.java:99:41:99:43 | map : NavigableMap [] : Comparable | semmle.label | map : NavigableMap [] : Comparable | +| Test.java:99:41:99:43 | map : SortedMap [] : Comparable | semmle.label | map : SortedMap [] : Comparable | +| Test.java:99:41:99:43 | map : SortedMap [] : Object | semmle.label | map : SortedMap [] : Object | +| Test.java:99:41:99:43 | map : TreeMap [] : Comparable | semmle.label | map : TreeMap [] : Comparable | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Class | semmle.label | keySet(...) : Set [] : Class | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Comparable | semmle.label | keySet(...) : Set [] : Comparable | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Comparable | semmle.label | keySet(...) : Set [] : Comparable | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Comparable | semmle.label | keySet(...) : Set [] : Comparable | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Comparable | semmle.label | keySet(...) : Set [] : Comparable | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Comparable | semmle.label | keySet(...) : Set [] : Comparable | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:99:41:99:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Class | semmle.label | iterator(...) : Iterator [] : Class | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Comparable | semmle.label | iterator(...) : Iterator [] : Comparable | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Comparable | semmle.label | iterator(...) : Iterator [] : Comparable | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Comparable | semmle.label | iterator(...) : Iterator [] : Comparable | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Comparable | semmle.label | iterator(...) : Iterator [] : Comparable | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Comparable | semmle.label | iterator(...) : Iterator [] : Comparable | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:99:41:99:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:99:41:99:70 | next(...) : Class | semmle.label | next(...) : Class | +| Test.java:99:41:99:70 | next(...) : Comparable | semmle.label | next(...) : Comparable | +| Test.java:99:41:99:70 | next(...) : Comparable | semmle.label | next(...) : Comparable | +| Test.java:99:41:99:70 | next(...) : Comparable | semmle.label | next(...) : Comparable | +| Test.java:99:41:99:70 | next(...) : Comparable | semmle.label | next(...) : Comparable | +| Test.java:99:41:99:70 | next(...) : Comparable | semmle.label | next(...) : Comparable | +| Test.java:99:41:99:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:99:41:99:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:99:41:99:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:99:41:99:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:99:41:99:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:99:41:99:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:99:41:99:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:99:41:99:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:99:41:99:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:99:41:99:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:99:41:99:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:100:18:100:34 | map : ArrayListMultimap [] : Object | semmle.label | map : ArrayListMultimap [] : Object | +| Test.java:100:18:100:34 | map : HashMultimap [] : Object | semmle.label | map : HashMultimap [] : Object | +| Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | semmle.label | map : ImmutableListMultimap [] : Object | +| Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | semmle.label | map : ImmutableMultimap [] : Object | +| Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | semmle.label | map : ImmutableSetMultimap [] : Object | +| Test.java:100:18:100:34 | map : LinkedHashMultimap [] : Object | semmle.label | map : LinkedHashMultimap [] : Object | +| Test.java:100:18:100:34 | map : LinkedListMultimap [] : Object | semmle.label | map : LinkedListMultimap [] : Object | +| Test.java:100:18:100:34 | map : ListMultimap [] : Object | semmle.label | map : ListMultimap [] : Object | +| Test.java:100:18:100:34 | map : Multimap [] : Object | semmle.label | map : Multimap [] : Object | +| Test.java:100:18:100:34 | map : SetMultimap [] : Object | semmle.label | map : SetMultimap [] : Object | +| Test.java:100:18:100:34 | map : SortedSetMultimap [] : Comparable | semmle.label | map : SortedSetMultimap [] : Comparable | +| Test.java:100:18:100:34 | map : SortedSetMultimap [] : Object | semmle.label | map : SortedSetMultimap [] : Object | +| Test.java:100:18:100:34 | map : TreeMultimap [] : Object | semmle.label | map : TreeMultimap [] : Object | +| Test.java:100:46:100:48 | map : ArrayListMultimap [] : Object | semmle.label | map : ArrayListMultimap [] : Object | +| Test.java:100:46:100:48 | map : HashMultimap [] : Object | semmle.label | map : HashMultimap [] : Object | +| Test.java:100:46:100:48 | map : ImmutableListMultimap [] : Object | semmle.label | map : ImmutableListMultimap [] : Object | +| Test.java:100:46:100:48 | map : ImmutableMultimap [] : Object | semmle.label | map : ImmutableMultimap [] : Object | +| Test.java:100:46:100:48 | map : ImmutableSetMultimap [] : Object | semmle.label | map : ImmutableSetMultimap [] : Object | +| Test.java:100:46:100:48 | map : LinkedHashMultimap [] : Object | semmle.label | map : LinkedHashMultimap [] : Object | +| Test.java:100:46:100:48 | map : LinkedListMultimap [] : Object | semmle.label | map : LinkedListMultimap [] : Object | +| Test.java:100:46:100:48 | map : ListMultimap [] : Object | semmle.label | map : ListMultimap [] : Object | +| Test.java:100:46:100:48 | map : Multimap [] : Object | semmle.label | map : Multimap [] : Object | +| Test.java:100:46:100:48 | map : SetMultimap [] : Object | semmle.label | map : SetMultimap [] : Object | +| Test.java:100:46:100:48 | map : SortedSetMultimap [] : Comparable | semmle.label | map : SortedSetMultimap [] : Comparable | +| Test.java:100:46:100:48 | map : SortedSetMultimap [] : Object | semmle.label | map : SortedSetMultimap [] : Object | +| Test.java:100:46:100:48 | map : TreeMultimap [] : Object | semmle.label | map : TreeMultimap [] : Object | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Comparable | semmle.label | keySet(...) : Set [] : Comparable | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:100:46:100:57 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Comparable | semmle.label | iterator(...) : Iterator [] : Comparable | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:100:46:100:68 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:100:46:100:75 | next(...) : Comparable | semmle.label | next(...) : Comparable | +| Test.java:100:46:100:75 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:100:46:100:75 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:100:46:100:75 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:100:46:100:75 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:100:46:100:75 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:100:46:100:75 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:100:46:100:75 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:100:46:100:75 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:100:46:100:75 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:100:46:100:75 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:100:46:100:75 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:100:46:100:75 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:101:40:101:44 | key : Object | semmle.label | key : Object | +| Test.java:101:56:101:72 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:101:56:101:83 | entrySet(...) : Set [, ] : Object | semmle.label | entrySet(...) : Set [, ] : Object | +| Test.java:101:56:101:94 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:101:56:101:101 | next(...) : Entry [] : Object | semmle.label | next(...) : Entry [] : Object | +| Test.java:101:63:101:65 | key : Object | semmle.label | key : Object | +| Test.java:102:41:102:45 | row : Object | semmle.label | row : Object | +| Test.java:102:48:102:55 | column : Object | semmle.label | column : Object | +| Test.java:102:58:102:64 | value : Object | semmle.label | value : Object | +| Test.java:102:76:102:134 | getElement(...) : Cell [] : Object | semmle.label | getElement(...) : Cell [] : Object | +| Test.java:102:76:102:134 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | semmle.label | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | +| Test.java:102:76:102:134 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | semmle.label | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | +| Test.java:102:87:102:123 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:102:87:102:123 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:102:87:102:123 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, ] : Object | semmle.label | cellSet(...) : ImmutableSet [, ] : Object | +| Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | semmle.label | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | +| Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | semmle.label | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | +| Test.java:102:105:102:107 | row : Object | semmle.label | row : Object | +| Test.java:102:110:102:115 | column : Object | semmle.label | column : Object | +| Test.java:102:118:102:122 | value : Object | semmle.label | value : Object | +| Test.java:103:41:103:45 | row : Object | semmle.label | row : Object | +| Test.java:103:48:103:55 | column : Object | semmle.label | column : Object | +| Test.java:103:58:103:64 | value : Object | semmle.label | value : Object | +| Test.java:103:123:103:123 | t [post update] : TreeBasedTable [] : Object | semmle.label | t [post update] : TreeBasedTable [] : Object | +| Test.java:103:123:103:123 | t [post update] : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | t [post update] : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:103:123:103:123 | t [post update] : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | t [post update] : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:103:129:103:131 | row : Object | semmle.label | row : Object | +| Test.java:103:134:103:139 | column : Object | semmle.label | column : Object | +| Test.java:103:142:103:146 | value : Object | semmle.label | value : Object | +| Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | semmle.label | t : TreeBasedTable [] : Object | +| Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:104:24:104:54 | b : Builder [com.google.common.collect.Table.rowKey] : Object | semmle.label | b : Builder [com.google.common.collect.Table.rowKey] : Object | +| Test.java:104:66:104:91 | getTable_rowKey(...) : Object | semmle.label | getTable_rowKey(...) : Object | +| Test.java:104:82:104:82 | b : Builder [com.google.common.collect.Table.rowKey] : Object | semmle.label | b : Builder [com.google.common.collect.Table.rowKey] : Object | +| Test.java:104:82:104:90 | build(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | build(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:105:24:105:37 | t : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | t : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:105:24:105:37 | t : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | t : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:105:24:105:37 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:105:24:105:37 | t : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | t : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:105:24:105:37 | t : Table [com.google.common.collect.Table.rowKey] : Object | semmle.label | t : Table [com.google.common.collect.Table.rowKey] : Object | +| Test.java:105:24:105:37 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:105:49:105:49 | t : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | t : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:105:49:105:49 | t : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | t : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:105:49:105:49 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:105:49:105:49 | t : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | t : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:105:49:105:49 | t : Table [com.google.common.collect.Table.rowKey] : Object | semmle.label | t : Table [com.google.common.collect.Table.rowKey] : Object | +| Test.java:105:49:105:49 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | semmle.label | rowKeySet(...) : Set [] : Object | +| Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | semmle.label | rowKeySet(...) : Set [] : Object | +| Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | semmle.label | rowKeySet(...) : Set [] : Object | +| Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | semmle.label | rowKeySet(...) : Set [] : Object | +| Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | semmle.label | rowKeySet(...) : Set [] : Object | +| Test.java:105:49:105:61 | rowKeySet(...) : Set [] : Object | semmle.label | rowKeySet(...) : Set [] : Object | +| Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:105:49:105:72 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:105:49:105:79 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:105:49:105:79 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:105:49:105:79 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:105:49:105:79 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:105:49:105:79 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:105:49:105:79 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:106:44:106:47 | el : Object | semmle.label | el : Object | +| Test.java:106:59:106:105 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:106:70:106:93 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:106:70:106:104 | entrySet(...) : ImmutableSet [, ] : Object | semmle.label | entrySet(...) : ImmutableSet [, ] : Object | +| Test.java:106:91:106:92 | el : Object | semmle.label | el : Object | +| Test.java:107:24:107:32 | array : Object[] [[]] : Object | semmle.label | array : Object[] [[]] : Object | +| Test.java:107:44:107:48 | array : Object[] [[]] : Object | semmle.label | array : Object[] [[]] : Object | +| Test.java:107:44:107:51 | ...[...] : Object | semmle.label | ...[...] : Object | +| Test.java:108:19:108:35 | it : Enumeration [] : Object | semmle.label | it : Enumeration [] : Object | +| Test.java:108:47:108:48 | it : Enumeration [] : Object | semmle.label | it : Enumeration [] : Object | +| Test.java:108:47:108:62 | nextElement(...) : Object | semmle.label | nextElement(...) : Object | +| Test.java:109:19:109:50 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:109:19:109:50 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:109:19:109:50 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:109:19:109:50 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:109:19:109:50 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:109:19:109:50 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:109:62:109:82 | getElement(...) : Object | semmle.label | getElement(...) : Object | +| Test.java:109:62:109:82 | getElement(...) : Object | semmle.label | getElement(...) : Object | +| Test.java:109:62:109:82 | getElement(...) : Object | semmle.label | getElement(...) : Object | +| Test.java:109:62:109:82 | getElement(...) : Object | semmle.label | getElement(...) : Object | +| Test.java:109:62:109:82 | getElement(...) : Object | semmle.label | getElement(...) : Object | +| Test.java:109:62:109:82 | getElement(...) : Object | semmle.label | getElement(...) : Object | +| Test.java:109:73:109:73 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:109:73:109:73 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:109:73:109:73 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:109:73:109:73 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:109:73:109:73 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:109:73:109:73 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | semmle.label | build(...) : ImmutableCollection [] : Object | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | semmle.label | build(...) : ImmutableCollection [] : Object | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | semmle.label | build(...) : ImmutableCollection [] : Object | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | semmle.label | build(...) : ImmutableCollection [] : Object | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | semmle.label | build(...) : ImmutableCollection [] : Object | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | semmle.label | build(...) : ImmutableCollection [] : Object | +| Test.java:110:19:110:32 | it : ArrayDeque [] : Object | semmle.label | it : ArrayDeque [] : Object | +| Test.java:110:19:110:32 | it : ArrayList [] : Object | semmle.label | it : ArrayList [] : Object | +| Test.java:110:19:110:32 | it : Collection [] : Comparable | semmle.label | it : Collection [] : Comparable | +| Test.java:110:19:110:32 | it : Collection [] : Object | semmle.label | it : Collection [] : Object | +| Test.java:110:19:110:32 | it : ConcurrentHashMultiset [] : Object | semmle.label | it : ConcurrentHashMultiset [] : Object | +| Test.java:110:19:110:32 | it : ConcurrentLinkedQueue [] : Object | semmle.label | it : ConcurrentLinkedQueue [] : Object | +| Test.java:110:19:110:32 | it : CopyOnWriteArrayList [] : Object | semmle.label | it : CopyOnWriteArrayList [] : Object | +| Test.java:110:19:110:32 | it : CopyOnWriteArraySet [] : Object | semmle.label | it : CopyOnWriteArraySet [] : Object | +| Test.java:110:19:110:32 | it : Deque [] : Object | semmle.label | it : Deque [] : Object | +| Test.java:110:19:110:32 | it : HashMultiset [] : Object | semmle.label | it : HashMultiset [] : Object | +| Test.java:110:19:110:32 | it : HashSet [] : Object | semmle.label | it : HashSet [] : Object | +| Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | semmle.label | it : ImmutableCollection [] : Object | +| Test.java:110:19:110:32 | it : ImmutableList [] : Object | semmle.label | it : ImmutableList [] : Object | +| Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | semmle.label | it : ImmutableMultiset [] : Object | +| Test.java:110:19:110:32 | it : ImmutableSet [] : Object | semmle.label | it : ImmutableSet [] : Object | +| Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | semmle.label | it : ImmutableSortedMultiset [] : Comparable | +| Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Object | semmle.label | it : ImmutableSortedMultiset [] : Object | +| Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | semmle.label | it : ImmutableSortedSet [] : Comparable | +| Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | semmle.label | it : ImmutableSortedSet [] : Object | +| Test.java:110:19:110:32 | it : Iterable [] : Object | semmle.label | it : Iterable [] : Object | +| Test.java:110:19:110:32 | it : LinkedBlockingDeque [] : Object | semmle.label | it : LinkedBlockingDeque [] : Object | +| Test.java:110:19:110:32 | it : LinkedBlockingQueue [] : Object | semmle.label | it : LinkedBlockingQueue [] : Object | +| Test.java:110:19:110:32 | it : LinkedHashMultiset [] : Object | semmle.label | it : LinkedHashMultiset [] : Object | +| Test.java:110:19:110:32 | it : LinkedHashSet [] : Object | semmle.label | it : LinkedHashSet [] : Object | +| Test.java:110:19:110:32 | it : LinkedList [] : Object | semmle.label | it : LinkedList [] : Object | +| Test.java:110:19:110:32 | it : List [] : Object | semmle.label | it : List [] : Object | +| Test.java:110:19:110:32 | it : Multiset [] : Object | semmle.label | it : Multiset [] : Object | +| Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | semmle.label | it : NavigableSet [] : Comparable | +| Test.java:110:19:110:32 | it : PriorityBlockingQueue [] : Object | semmle.label | it : PriorityBlockingQueue [] : Object | +| Test.java:110:19:110:32 | it : PriorityQueue [] : Object | semmle.label | it : PriorityQueue [] : Object | +| Test.java:110:19:110:32 | it : Queue [] : Object | semmle.label | it : Queue [] : Object | +| Test.java:110:19:110:32 | it : Set [] : Object | semmle.label | it : Set [] : Object | +| Test.java:110:19:110:32 | it : SetView [] : Object | semmle.label | it : SetView [] : Object | +| Test.java:110:19:110:32 | it : SortedMultiset [] : Comparable | semmle.label | it : SortedMultiset [] : Comparable | +| Test.java:110:19:110:32 | it : SortedSet [] : Comparable | semmle.label | it : SortedSet [] : Comparable | +| Test.java:110:19:110:32 | it : SortedSet [] : Object | semmle.label | it : SortedSet [] : Object | +| Test.java:110:19:110:32 | it : TreeMultiset [] : Object | semmle.label | it : TreeMultiset [] : Object | +| Test.java:110:19:110:32 | it : TreeSet [] : Object | semmle.label | it : TreeSet [] : Object | +| Test.java:110:44:110:45 | it : ArrayDeque [] : Object | semmle.label | it : ArrayDeque [] : Object | +| Test.java:110:44:110:45 | it : ArrayList [] : Object | semmle.label | it : ArrayList [] : Object | +| Test.java:110:44:110:45 | it : Collection [] : Comparable | semmle.label | it : Collection [] : Comparable | +| Test.java:110:44:110:45 | it : Collection [] : Object | semmle.label | it : Collection [] : Object | +| Test.java:110:44:110:45 | it : ConcurrentHashMultiset [] : Object | semmle.label | it : ConcurrentHashMultiset [] : Object | +| Test.java:110:44:110:45 | it : ConcurrentLinkedQueue [] : Object | semmle.label | it : ConcurrentLinkedQueue [] : Object | +| Test.java:110:44:110:45 | it : CopyOnWriteArrayList [] : Object | semmle.label | it : CopyOnWriteArrayList [] : Object | +| Test.java:110:44:110:45 | it : CopyOnWriteArraySet [] : Object | semmle.label | it : CopyOnWriteArraySet [] : Object | +| Test.java:110:44:110:45 | it : Deque [] : Object | semmle.label | it : Deque [] : Object | +| Test.java:110:44:110:45 | it : HashMultiset [] : Object | semmle.label | it : HashMultiset [] : Object | +| Test.java:110:44:110:45 | it : HashSet [] : Object | semmle.label | it : HashSet [] : Object | +| Test.java:110:44:110:45 | it : ImmutableCollection [] : Object | semmle.label | it : ImmutableCollection [] : Object | +| Test.java:110:44:110:45 | it : ImmutableList [] : Object | semmle.label | it : ImmutableList [] : Object | +| Test.java:110:44:110:45 | it : ImmutableMultiset [] : Object | semmle.label | it : ImmutableMultiset [] : Object | +| Test.java:110:44:110:45 | it : ImmutableSet [] : Object | semmle.label | it : ImmutableSet [] : Object | +| Test.java:110:44:110:45 | it : ImmutableSortedMultiset [] : Comparable | semmle.label | it : ImmutableSortedMultiset [] : Comparable | +| Test.java:110:44:110:45 | it : ImmutableSortedMultiset [] : Object | semmle.label | it : ImmutableSortedMultiset [] : Object | +| Test.java:110:44:110:45 | it : ImmutableSortedSet [] : Comparable | semmle.label | it : ImmutableSortedSet [] : Comparable | +| Test.java:110:44:110:45 | it : ImmutableSortedSet [] : Object | semmle.label | it : ImmutableSortedSet [] : Object | +| Test.java:110:44:110:45 | it : Iterable [] : Object | semmle.label | it : Iterable [] : Object | +| Test.java:110:44:110:45 | it : LinkedBlockingDeque [] : Object | semmle.label | it : LinkedBlockingDeque [] : Object | +| Test.java:110:44:110:45 | it : LinkedBlockingQueue [] : Object | semmle.label | it : LinkedBlockingQueue [] : Object | +| Test.java:110:44:110:45 | it : LinkedHashMultiset [] : Object | semmle.label | it : LinkedHashMultiset [] : Object | +| Test.java:110:44:110:45 | it : LinkedHashSet [] : Object | semmle.label | it : LinkedHashSet [] : Object | +| Test.java:110:44:110:45 | it : LinkedList [] : Object | semmle.label | it : LinkedList [] : Object | +| Test.java:110:44:110:45 | it : List [] : Object | semmle.label | it : List [] : Object | +| Test.java:110:44:110:45 | it : Multiset [] : Object | semmle.label | it : Multiset [] : Object | +| Test.java:110:44:110:45 | it : NavigableSet [] : Comparable | semmle.label | it : NavigableSet [] : Comparable | +| Test.java:110:44:110:45 | it : PriorityBlockingQueue [] : Object | semmle.label | it : PriorityBlockingQueue [] : Object | +| Test.java:110:44:110:45 | it : PriorityQueue [] : Object | semmle.label | it : PriorityQueue [] : Object | +| Test.java:110:44:110:45 | it : Queue [] : Object | semmle.label | it : Queue [] : Object | +| Test.java:110:44:110:45 | it : Set [] : Object | semmle.label | it : Set [] : Object | +| Test.java:110:44:110:45 | it : SetView [] : Object | semmle.label | it : SetView [] : Object | +| Test.java:110:44:110:45 | it : SortedMultiset [] : Comparable | semmle.label | it : SortedMultiset [] : Comparable | +| Test.java:110:44:110:45 | it : SortedSet [] : Comparable | semmle.label | it : SortedSet [] : Comparable | +| Test.java:110:44:110:45 | it : SortedSet [] : Object | semmle.label | it : SortedSet [] : Object | +| Test.java:110:44:110:45 | it : TreeMultiset [] : Object | semmle.label | it : TreeMultiset [] : Object | +| Test.java:110:44:110:45 | it : TreeSet [] : Object | semmle.label | it : TreeSet [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | semmle.label | iterator(...) : Iterator [] : Comparable | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | semmle.label | iterator(...) : Iterator [] : Comparable | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | semmle.label | iterator(...) : Iterator [] : Comparable | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | semmle.label | iterator(...) : Iterator [] : Comparable | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | semmle.label | iterator(...) : Iterator [] : Comparable | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | semmle.label | iterator(...) : Iterator [] : Comparable | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:110:44:110:63 | next(...) : Comparable | semmle.label | next(...) : Comparable | +| Test.java:110:44:110:63 | next(...) : Comparable | semmle.label | next(...) : Comparable | +| Test.java:110:44:110:63 | next(...) : Comparable | semmle.label | next(...) : Comparable | +| Test.java:110:44:110:63 | next(...) : Comparable | semmle.label | next(...) : Comparable | +| Test.java:110:44:110:63 | next(...) : Comparable | semmle.label | next(...) : Comparable | +| Test.java:110:44:110:63 | next(...) : Comparable | semmle.label | next(...) : Comparable | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:111:19:111:32 | it : Iterator [] : Object | semmle.label | it : Iterator [] : Object | +| Test.java:111:19:111:32 | it : PeekingIterator [] : Object | semmle.label | it : PeekingIterator [] : Object | +| Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | semmle.label | it : UnmodifiableIterator [] : Object | +| Test.java:111:44:111:45 | it : Iterator [] : Object | semmle.label | it : Iterator [] : Object | +| Test.java:111:44:111:45 | it : PeekingIterator [] : Object | semmle.label | it : PeekingIterator [] : Object | +| Test.java:111:44:111:45 | it : UnmodifiableIterator [] : Object | semmle.label | it : UnmodifiableIterator [] : Object | +| Test.java:111:44:111:52 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:111:44:111:52 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:111:44:111:52 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:112:19:112:31 | o : Optional [] : Object | semmle.label | o : Optional [] : Object | +| Test.java:112:43:112:43 | o : Optional [] : Object | semmle.label | o : Optional [] : Object | +| Test.java:112:43:112:49 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:113:42:113:48 | value : Object | semmle.label | value : Object | +| Test.java:113:60:113:78 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:113:60:113:89 | entrySet(...) : Set [, ] : Object | semmle.label | entrySet(...) : Set [, ] : Object | +| Test.java:113:60:113:100 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:113:60:113:107 | next(...) : Entry [] : Object | semmle.label | next(...) : Entry [] : Object | +| Test.java:113:73:113:77 | value : Object | semmle.label | value : Object | +| Test.java:114:58:114:60 | l : Object | semmle.label | l : Object | +| Test.java:114:63:114:65 | r : Object | semmle.label | r : Object | +| Test.java:114:77:114:125 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:114:77:114:125 | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:114:77:114:144 | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.left] : Object | semmle.label | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.left] : Object | +| Test.java:114:77:114:144 | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.right] : Object | semmle.label | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.right] : Object | +| Test.java:114:77:114:154 | get(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | semmle.label | get(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | +| Test.java:114:77:114:154 | get(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | semmle.label | get(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | +| Test.java:114:93:114:107 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:114:106:114:106 | l : Object | semmle.label | l : Object | +| Test.java:114:110:114:124 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:114:123:114:123 | r : Object | semmle.label | r : Object | +| Test.java:115:20:115:46 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:115:20:115:46 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:115:20:115:46 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:115:58:115:79 | getMapValue(...) : Object | semmle.label | getMapValue(...) : Object | +| Test.java:115:58:115:79 | getMapValue(...) : Object | semmle.label | getMapValue(...) : Object | +| Test.java:115:58:115:79 | getMapValue(...) : Object | semmle.label | getMapValue(...) : Object | +| Test.java:115:70:115:70 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:115:70:115:70 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:115:70:115:70 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:115:70:115:78 | build(...) : ImmutableMap [] : Object | semmle.label | build(...) : ImmutableMap [] : Object | +| Test.java:115:70:115:78 | build(...) : ImmutableMap [] : Object | semmle.label | build(...) : ImmutableMap [] : Object | +| Test.java:115:70:115:78 | build(...) : ImmutableMap [] : Object | semmle.label | build(...) : ImmutableMap [] : Object | +| Test.java:116:20:116:51 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:116:20:116:51 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:116:20:116:51 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:116:63:116:84 | getMapValue(...) : Object | semmle.label | getMapValue(...) : Object | +| Test.java:116:63:116:84 | getMapValue(...) : Object | semmle.label | getMapValue(...) : Object | +| Test.java:116:63:116:84 | getMapValue(...) : Object | semmle.label | getMapValue(...) : Object | +| Test.java:116:75:116:75 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:116:75:116:75 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:116:75:116:75 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:116:75:116:83 | build(...) : ImmutableMultimap [] : Object | semmle.label | build(...) : ImmutableMultimap [] : Object | +| Test.java:116:75:116:83 | build(...) : ImmutableMultimap [] : Object | semmle.label | build(...) : ImmutableMultimap [] : Object | +| Test.java:116:75:116:83 | build(...) : ImmutableMultimap [] : Object | semmle.label | build(...) : ImmutableMultimap [] : Object | +| Test.java:117:20:117:50 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:117:62:117:83 | getMapValue(...) : Object | semmle.label | getMapValue(...) : Object | +| Test.java:117:74:117:74 | b : Builder [] : Object | semmle.label | b : Builder [] : Object | +| Test.java:117:74:117:82 | build(...) : ImmutableTable [] : Object | semmle.label | build(...) : ImmutableTable [] : Object | +| Test.java:118:20:118:31 | map : BiMap [] : Object | semmle.label | map : BiMap [] : Object | +| Test.java:118:20:118:31 | map : ClassToInstanceMap [] : Object | semmle.label | map : ClassToInstanceMap [] : Object | +| Test.java:118:20:118:31 | map : EnumMap [] : Object | semmle.label | map : EnumMap [] : Object | +| Test.java:118:20:118:31 | map : HashBiMap [] : Object | semmle.label | map : HashBiMap [] : Object | +| Test.java:118:20:118:31 | map : HashMap [] : Object | semmle.label | map : HashMap [] : Object | +| Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | semmle.label | map : ImmutableBiMap [] : Object | +| Test.java:118:20:118:31 | map : ImmutableClassToInstanceMap [] : Object | semmle.label | map : ImmutableClassToInstanceMap [] : Object | +| Test.java:118:20:118:31 | map : ImmutableMap [] : Object | semmle.label | map : ImmutableMap [] : Object | +| Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | semmle.label | map : ImmutableSortedMap [] : Object | +| Test.java:118:20:118:31 | map : LinkedHashMap [] : Object | semmle.label | map : LinkedHashMap [] : Object | +| Test.java:118:20:118:31 | map : Map [] : Object | semmle.label | map : Map [] : Object | +| Test.java:118:20:118:31 | map : MutableClassToInstanceMap [] : Object | semmle.label | map : MutableClassToInstanceMap [] : Object | +| Test.java:118:20:118:31 | map : NavigableMap [] : Object | semmle.label | map : NavigableMap [] : Object | +| Test.java:118:20:118:31 | map : SortedMap [] : Object | semmle.label | map : SortedMap [] : Object | +| Test.java:118:20:118:31 | map : TreeMap [] : Object | semmle.label | map : TreeMap [] : Object | +| Test.java:118:43:118:45 | map : BiMap [] : Object | semmle.label | map : BiMap [] : Object | +| Test.java:118:43:118:45 | map : ClassToInstanceMap [] : Object | semmle.label | map : ClassToInstanceMap [] : Object | +| Test.java:118:43:118:45 | map : EnumMap [] : Object | semmle.label | map : EnumMap [] : Object | +| Test.java:118:43:118:45 | map : HashBiMap [] : Object | semmle.label | map : HashBiMap [] : Object | +| Test.java:118:43:118:45 | map : HashMap [] : Object | semmle.label | map : HashMap [] : Object | +| Test.java:118:43:118:45 | map : ImmutableBiMap [] : Object | semmle.label | map : ImmutableBiMap [] : Object | +| Test.java:118:43:118:45 | map : ImmutableClassToInstanceMap [] : Object | semmle.label | map : ImmutableClassToInstanceMap [] : Object | +| Test.java:118:43:118:45 | map : ImmutableMap [] : Object | semmle.label | map : ImmutableMap [] : Object | +| Test.java:118:43:118:45 | map : ImmutableSortedMap [] : Object | semmle.label | map : ImmutableSortedMap [] : Object | +| Test.java:118:43:118:45 | map : LinkedHashMap [] : Object | semmle.label | map : LinkedHashMap [] : Object | +| Test.java:118:43:118:45 | map : Map [] : Object | semmle.label | map : Map [] : Object | +| Test.java:118:43:118:45 | map : MutableClassToInstanceMap [] : Object | semmle.label | map : MutableClassToInstanceMap [] : Object | +| Test.java:118:43:118:45 | map : NavigableMap [] : Object | semmle.label | map : NavigableMap [] : Object | +| Test.java:118:43:118:45 | map : SortedMap [] : Object | semmle.label | map : SortedMap [] : Object | +| Test.java:118:43:118:45 | map : TreeMap [] : Object | semmle.label | map : TreeMap [] : Object | +| Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:119:20:119:36 | map : ArrayListMultimap [] : Object | semmle.label | map : ArrayListMultimap [] : Object | +| Test.java:119:20:119:36 | map : HashMultimap [] : Object | semmle.label | map : HashMultimap [] : Object | +| Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | semmle.label | map : ImmutableListMultimap [] : Object | +| Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | semmle.label | map : ImmutableMultimap [] : Object | +| Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | semmle.label | map : ImmutableSetMultimap [] : Object | +| Test.java:119:20:119:36 | map : LinkedHashMultimap [] : Object | semmle.label | map : LinkedHashMultimap [] : Object | +| Test.java:119:20:119:36 | map : LinkedListMultimap [] : Object | semmle.label | map : LinkedListMultimap [] : Object | +| Test.java:119:20:119:36 | map : ListMultimap [] : Object | semmle.label | map : ListMultimap [] : Object | +| Test.java:119:20:119:36 | map : Multimap [] : Object | semmle.label | map : Multimap [] : Object | +| Test.java:119:20:119:36 | map : SetMultimap [] : Object | semmle.label | map : SetMultimap [] : Object | +| Test.java:119:20:119:36 | map : SortedSetMultimap [] : Comparable | semmle.label | map : SortedSetMultimap [] : Comparable | +| Test.java:119:20:119:36 | map : SortedSetMultimap [] : Object | semmle.label | map : SortedSetMultimap [] : Object | +| Test.java:119:20:119:36 | map : TreeMultimap [] : Object | semmle.label | map : TreeMultimap [] : Object | +| Test.java:119:48:119:50 | map : ArrayListMultimap [] : Object | semmle.label | map : ArrayListMultimap [] : Object | +| Test.java:119:48:119:50 | map : HashMultimap [] : Object | semmle.label | map : HashMultimap [] : Object | +| Test.java:119:48:119:50 | map : ImmutableListMultimap [] : Object | semmle.label | map : ImmutableListMultimap [] : Object | +| Test.java:119:48:119:50 | map : ImmutableMultimap [] : Object | semmle.label | map : ImmutableMultimap [] : Object | +| Test.java:119:48:119:50 | map : ImmutableSetMultimap [] : Object | semmle.label | map : ImmutableSetMultimap [] : Object | +| Test.java:119:48:119:50 | map : LinkedHashMultimap [] : Object | semmle.label | map : LinkedHashMultimap [] : Object | +| Test.java:119:48:119:50 | map : LinkedListMultimap [] : Object | semmle.label | map : LinkedListMultimap [] : Object | +| Test.java:119:48:119:50 | map : ListMultimap [] : Object | semmle.label | map : ListMultimap [] : Object | +| Test.java:119:48:119:50 | map : Multimap [] : Object | semmle.label | map : Multimap [] : Object | +| Test.java:119:48:119:50 | map : SetMultimap [] : Object | semmle.label | map : SetMultimap [] : Object | +| Test.java:119:48:119:50 | map : SortedSetMultimap [] : Comparable | semmle.label | map : SortedSetMultimap [] : Comparable | +| Test.java:119:48:119:50 | map : SortedSetMultimap [] : Object | semmle.label | map : SortedSetMultimap [] : Object | +| Test.java:119:48:119:50 | map : TreeMultimap [] : Object | semmle.label | map : TreeMultimap [] : Object | +| Test.java:119:48:119:59 | values(...) : Collection [] : Comparable | semmle.label | values(...) : Collection [] : Comparable | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:119:48:119:59 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Comparable | semmle.label | iterator(...) : Iterator [] : Comparable | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:119:48:119:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:119:48:119:77 | next(...) : Comparable | semmle.label | next(...) : Comparable | +| Test.java:119:48:119:77 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:119:48:119:77 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:119:48:119:77 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:119:48:119:77 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:119:48:119:77 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:119:48:119:77 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:119:48:119:77 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:119:48:119:77 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:119:48:119:77 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:119:48:119:77 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:119:48:119:77 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:119:48:119:77 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:120:20:120:33 | t : ArrayTable [] : Object | semmle.label | t : ArrayTable [] : Object | +| Test.java:120:20:120:33 | t : HashBasedTable [] : Object | semmle.label | t : HashBasedTable [] : Object | +| Test.java:120:20:120:33 | t : ImmutableTable [] : Object | semmle.label | t : ImmutableTable [] : Object | +| Test.java:120:20:120:33 | t : RowSortedTable [] : Object | semmle.label | t : RowSortedTable [] : Object | +| Test.java:120:20:120:33 | t : Table [] : Object | semmle.label | t : Table [] : Object | +| Test.java:120:20:120:33 | t : TreeBasedTable [] : Object | semmle.label | t : TreeBasedTable [] : Object | +| Test.java:120:45:120:45 | t : ArrayTable [] : Object | semmle.label | t : ArrayTable [] : Object | +| Test.java:120:45:120:45 | t : HashBasedTable [] : Object | semmle.label | t : HashBasedTable [] : Object | +| Test.java:120:45:120:45 | t : ImmutableTable [] : Object | semmle.label | t : ImmutableTable [] : Object | +| Test.java:120:45:120:45 | t : RowSortedTable [] : Object | semmle.label | t : RowSortedTable [] : Object | +| Test.java:120:45:120:45 | t : Table [] : Object | semmle.label | t : Table [] : Object | +| Test.java:120:45:120:45 | t : TreeBasedTable [] : Object | semmle.label | t : TreeBasedTable [] : Object | +| Test.java:120:45:120:54 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:120:45:120:54 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:120:45:120:54 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:120:45:120:54 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:120:45:120:54 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:120:45:120:54 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:120:45:120:65 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:120:45:120:72 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:120:45:120:72 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:120:45:120:72 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:120:45:120:72 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:120:45:120:72 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:120:45:120:72 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:132:18:132:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:132:28:132:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:132:49:132:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:133:10:133:37 | create(...) : ArrayListMultimap [] : Object | semmle.label | create(...) : ArrayListMultimap [] : Object | +| Test.java:133:35:133:36 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:134:9:134:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:134:19:134:21 | out : ArrayListMultimap [] : Object | semmle.label | out : ArrayListMultimap [] : Object | +| Test.java:139:18:139:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:139:28:139:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:139:55:139:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:140:10:140:37 | create(...) : ArrayListMultimap [] : Object | semmle.label | create(...) : ArrayListMultimap [] : Object | +| Test.java:140:35:140:36 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:141:9:141:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:141:21:141:23 | out : ArrayListMultimap [] : Object | semmle.label | out : ArrayListMultimap [] : Object | +| Test.java:146:18:146:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:146:28:146:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:146:36:146:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:147:10:147:36 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:147:28:147:29 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:148:9:148:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:148:25:148:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:153:18:153:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:153:28:153:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:153:36:153:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:154:10:154:36 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:154:34:154:35 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:155:9:155:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:155:28:155:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:160:15:160:79 | (...)... : ArrayTable [] : Object | semmle.label | (...)... : ArrayTable [] : Object | +| Test.java:160:22:160:79 | create(...) : ArrayTable [] : Object | semmle.label | create(...) : ArrayTable [] : Object | +| Test.java:160:40:160:78 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:160:70:160:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:161:10:161:30 | create(...) : ArrayTable [] : Object | semmle.label | create(...) : ArrayTable [] : Object | +| Test.java:161:28:161:29 | in : ArrayTable [] : Object | semmle.label | in : ArrayTable [] : Object | +| Test.java:162:9:162:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:162:21:162:23 | out : ArrayTable [] : Object | semmle.label | out : ArrayTable [] : Object | +| Test.java:167:15:167:79 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:167:22:167:79 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:167:40:167:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:167:64:167:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:168:10:168:30 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:168:28:168:29 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:169:9:169:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:169:28:169:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:174:15:174:79 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:174:22:174:79 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:174:40:174:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:174:58:174:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:175:10:175:30 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:175:28:175:29 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:176:9:176:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:176:25:176:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:181:16:181:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:181:24:181:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:182:4:182:6 | out [post update] : ImmutableBiMap [] : Object | semmle.label | out [post update] : ImmutableBiMap [] : Object | +| Test.java:182:17:182:18 | in : Object | semmle.label | in : Object | +| Test.java:183:9:183:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:183:19:183:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:188:16:188:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:188:24:188:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:189:4:189:6 | out [post update] : HashBiMap [] : Object | semmle.label | out [post update] : HashBiMap [] : Object | +| Test.java:189:17:189:18 | in : Object | semmle.label | in : Object | +| Test.java:190:9:190:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:190:19:190:21 | out : HashBiMap [] : Object | semmle.label | out : HashBiMap [] : Object | +| Test.java:195:16:195:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:195:24:195:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:196:4:196:6 | out [post update] : BiMap [] : Object | semmle.label | out [post update] : BiMap [] : Object | +| Test.java:196:17:196:18 | in : Object | semmle.label | in : Object | +| Test.java:197:9:197:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:197:19:197:21 | out : BiMap [] : Object | semmle.label | out : BiMap [] : Object | +| Test.java:202:16:202:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:202:24:202:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:203:4:203:6 | out [post update] : ImmutableBiMap [] : Object | semmle.label | out [post update] : ImmutableBiMap [] : Object | +| Test.java:203:23:203:24 | in : Object | semmle.label | in : Object | +| Test.java:204:9:204:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:204:21:204:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:209:16:209:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:209:24:209:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:210:4:210:6 | out [post update] : HashBiMap [] : Object | semmle.label | out [post update] : HashBiMap [] : Object | +| Test.java:210:23:210:24 | in : Object | semmle.label | in : Object | +| Test.java:211:9:211:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:211:21:211:23 | out : HashBiMap [] : Object | semmle.label | out : HashBiMap [] : Object | +| Test.java:216:16:216:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:216:24:216:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:217:4:217:6 | out [post update] : BiMap [] : Object | semmle.label | out [post update] : BiMap [] : Object | +| Test.java:217:23:217:24 | in : Object | semmle.label | in : Object | +| Test.java:218:9:218:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:218:21:218:23 | out : BiMap [] : Object | semmle.label | out : BiMap [] : Object | +| Test.java:223:24:223:72 | (...)... : ImmutableBiMap [] : Object | semmle.label | (...)... : ImmutableBiMap [] : Object | +| Test.java:223:40:223:72 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:223:58:223:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:224:10:224:11 | in : ImmutableBiMap [] : Object | semmle.label | in : ImmutableBiMap [] : Object | +| Test.java:224:10:224:21 | inverse(...) : ImmutableBiMap [] : Object | semmle.label | inverse(...) : ImmutableBiMap [] : Object | +| Test.java:225:9:225:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:225:21:225:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:230:19:230:69 | (...)... : HashBiMap [] : Object | semmle.label | (...)... : HashBiMap [] : Object | +| Test.java:230:30:230:69 | create(...) : HashBiMap [] : Object | semmle.label | create(...) : HashBiMap [] : Object | +| Test.java:230:47:230:68 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:230:54:230:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:231:10:231:11 | in : HashBiMap [] : Object | semmle.label | in : HashBiMap [] : Object | +| Test.java:231:10:231:21 | inverse(...) : BiMap [] : Object | semmle.label | inverse(...) : BiMap [] : Object | +| Test.java:232:9:232:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:232:21:232:23 | out : BiMap [] : Object | semmle.label | out : BiMap [] : Object | +| Test.java:237:15:237:54 | (...)... : ImmutableBiMap [] : Object | semmle.label | (...)... : ImmutableBiMap [] : Object | +| Test.java:237:22:237:54 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:237:40:237:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:238:10:238:11 | in : ImmutableBiMap [] : Object | semmle.label | in : ImmutableBiMap [] : Object | +| Test.java:238:10:238:21 | inverse(...) : BiMap [] : Object | semmle.label | inverse(...) : BiMap [] : Object | +| Test.java:239:9:239:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:239:21:239:23 | out : BiMap [] : Object | semmle.label | out : BiMap [] : Object | +| Test.java:244:24:244:72 | (...)... : ImmutableBiMap [] : Object | semmle.label | (...)... : ImmutableBiMap [] : Object | +| Test.java:244:40:244:72 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:244:64:244:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:245:10:245:11 | in : ImmutableBiMap [] : Object | semmle.label | in : ImmutableBiMap [] : Object | +| Test.java:245:10:245:21 | inverse(...) : ImmutableBiMap [] : Object | semmle.label | inverse(...) : ImmutableBiMap [] : Object | +| Test.java:246:9:246:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:246:19:246:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:251:19:251:69 | (...)... : HashBiMap [] : Object | semmle.label | (...)... : HashBiMap [] : Object | +| Test.java:251:30:251:69 | create(...) : HashBiMap [] : Object | semmle.label | create(...) : HashBiMap [] : Object | +| Test.java:251:47:251:68 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:251:60:251:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:252:10:252:11 | in : HashBiMap [] : Object | semmle.label | in : HashBiMap [] : Object | +| Test.java:252:10:252:21 | inverse(...) : BiMap [] : Object | semmle.label | inverse(...) : BiMap [] : Object | +| Test.java:253:9:253:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:253:19:253:21 | out : BiMap [] : Object | semmle.label | out : BiMap [] : Object | +| Test.java:258:15:258:54 | (...)... : ImmutableBiMap [] : Object | semmle.label | (...)... : ImmutableBiMap [] : Object | +| Test.java:258:22:258:54 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:258:46:258:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:259:10:259:11 | in : ImmutableBiMap [] : Object | semmle.label | in : ImmutableBiMap [] : Object | +| Test.java:259:10:259:21 | inverse(...) : BiMap [] : Object | semmle.label | inverse(...) : BiMap [] : Object | +| Test.java:260:9:260:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:260:19:260:21 | out : BiMap [] : Object | semmle.label | out : BiMap [] : Object | +| Test.java:265:35:265:117 | (...)... : MutableClassToInstanceMap [] : Object | semmle.label | (...)... : MutableClassToInstanceMap [] : Object | +| Test.java:265:62:265:117 | create(...) : MutableClassToInstanceMap [] : Object | semmle.label | create(...) : MutableClassToInstanceMap [] : Object | +| Test.java:265:95:265:116 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:265:108:265:115 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:266:10:266:11 | in : MutableClassToInstanceMap [] : Object | semmle.label | in : MutableClassToInstanceMap [] : Object | +| Test.java:266:10:266:29 | getInstance(...) : Object | semmle.label | getInstance(...) : Object | +| Test.java:267:9:267:11 | out | semmle.label | out | +| Test.java:272:37:272:111 | (...)... : ImmutableClassToInstanceMap [] : Object | semmle.label | (...)... : ImmutableClassToInstanceMap [] : Object | +| Test.java:272:66:272:111 | of(...) : ImmutableClassToInstanceMap [] : Object | semmle.label | of(...) : ImmutableClassToInstanceMap [] : Object | +| Test.java:272:103:272:110 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:273:10:273:11 | in : ImmutableClassToInstanceMap [] : Object | semmle.label | in : ImmutableClassToInstanceMap [] : Object | +| Test.java:273:10:273:29 | getInstance(...) : Object | semmle.label | getInstance(...) : Object | +| Test.java:274:9:274:11 | out | semmle.label | out | +| Test.java:279:28:279:93 | (...)... : ImmutableClassToInstanceMap [] : Object | semmle.label | (...)... : ImmutableClassToInstanceMap [] : Object | +| Test.java:279:48:279:93 | of(...) : ImmutableClassToInstanceMap [] : Object | semmle.label | of(...) : ImmutableClassToInstanceMap [] : Object | +| Test.java:279:85:279:92 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:280:10:280:11 | in : ImmutableClassToInstanceMap [] : Object | semmle.label | in : ImmutableClassToInstanceMap [] : Object | +| Test.java:280:10:280:29 | getInstance(...) : Object | semmle.label | getInstance(...) : Object | +| Test.java:281:9:281:11 | out | semmle.label | out | +| Test.java:286:16:286:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:286:24:286:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:287:4:287:6 | out [post update] : MutableClassToInstanceMap [] : Object | semmle.label | out [post update] : MutableClassToInstanceMap [] : Object | +| Test.java:287:26:287:27 | in : Object | semmle.label | in : Object | +| Test.java:288:9:288:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:288:21:288:23 | out : MutableClassToInstanceMap [] : Object | semmle.label | out : MutableClassToInstanceMap [] : Object | +| Test.java:293:16:293:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:293:24:293:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:294:4:294:6 | out [post update] : ImmutableClassToInstanceMap [] : Object | semmle.label | out [post update] : ImmutableClassToInstanceMap [] : Object | +| Test.java:294:26:294:27 | in : Object | semmle.label | in : Object | +| Test.java:295:9:295:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:295:21:295:23 | out : ImmutableClassToInstanceMap [] : Object | semmle.label | out : ImmutableClassToInstanceMap [] : Object | +| Test.java:300:16:300:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:300:24:300:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:301:4:301:6 | out [post update] : ClassToInstanceMap [] : Object | semmle.label | out [post update] : ClassToInstanceMap [] : Object | +| Test.java:301:26:301:27 | in : Object | semmle.label | in : Object | +| Test.java:302:9:302:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:302:21:302:23 | out : ClassToInstanceMap [] : Object | semmle.label | out : ClassToInstanceMap [] : Object | +| Test.java:307:35:307:117 | (...)... : MutableClassToInstanceMap [] : Object | semmle.label | (...)... : MutableClassToInstanceMap [] : Object | +| Test.java:307:62:307:117 | create(...) : MutableClassToInstanceMap [] : Object | semmle.label | create(...) : MutableClassToInstanceMap [] : Object | +| Test.java:307:95:307:116 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:307:108:307:115 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:308:10:308:11 | in : MutableClassToInstanceMap [] : Object | semmle.label | in : MutableClassToInstanceMap [] : Object | +| Test.java:308:10:308:35 | putInstance(...) : Object | semmle.label | putInstance(...) : Object | +| Test.java:309:9:309:11 | out | semmle.label | out | +| Test.java:314:37:314:111 | (...)... : ImmutableClassToInstanceMap [] : Object | semmle.label | (...)... : ImmutableClassToInstanceMap [] : Object | +| Test.java:314:66:314:111 | of(...) : ImmutableClassToInstanceMap [] : Object | semmle.label | of(...) : ImmutableClassToInstanceMap [] : Object | +| Test.java:314:103:314:110 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:315:10:315:11 | in : ImmutableClassToInstanceMap [] : Object | semmle.label | in : ImmutableClassToInstanceMap [] : Object | +| Test.java:315:10:315:35 | putInstance(...) : Object | semmle.label | putInstance(...) : Object | +| Test.java:316:9:316:11 | out | semmle.label | out | +| Test.java:321:28:321:93 | (...)... : ImmutableClassToInstanceMap [] : Object | semmle.label | (...)... : ImmutableClassToInstanceMap [] : Object | +| Test.java:321:48:321:93 | of(...) : ImmutableClassToInstanceMap [] : Object | semmle.label | of(...) : ImmutableClassToInstanceMap [] : Object | +| Test.java:321:85:321:92 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:322:10:322:11 | in : ImmutableClassToInstanceMap [] : Object | semmle.label | in : ImmutableClassToInstanceMap [] : Object | +| Test.java:322:10:322:35 | putInstance(...) : Object | semmle.label | putInstance(...) : Object | +| Test.java:323:9:323:11 | out | semmle.label | out | +| Test.java:328:20:328:48 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:328:32:328:48 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:328:40:328:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:329:10:329:38 | filter(...) : Collection [] : Object | semmle.label | filter(...) : Collection [] : Object | +| Test.java:329:30:329:31 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:330:9:330:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:330:20:330:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:335:18:335:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:335:28:335:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:335:36:335:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:336:10:336:45 | orderedPermutations(...) : Collection [, ] : Object | semmle.label | orderedPermutations(...) : Collection [, ] : Object | +| Test.java:336:43:336:44 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:337:9:337:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:337:20:337:34 | getElement(...) : List [] : Object | semmle.label | getElement(...) : List [] : Object | +| Test.java:337:31:337:33 | out : Collection [, ] : Object | semmle.label | out : Collection [, ] : Object | +| Test.java:342:18:342:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:342:28:342:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:342:36:342:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:343:10:343:51 | orderedPermutations(...) : Collection [, ] : Object | semmle.label | orderedPermutations(...) : Collection [, ] : Object | +| Test.java:343:43:343:44 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:344:9:344:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:344:20:344:34 | getElement(...) : List [] : Object | semmle.label | getElement(...) : List [] : Object | +| Test.java:344:31:344:33 | out : Collection [, ] : Object | semmle.label | out : Collection [, ] : Object | +| Test.java:349:20:349:48 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:349:32:349:48 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:349:40:349:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:350:10:350:38 | permutations(...) : Collection [, ] : Object | semmle.label | permutations(...) : Collection [, ] : Object | +| Test.java:350:36:350:37 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:351:9:351:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:351:20:351:34 | getElement(...) : List [] : Object | semmle.label | getElement(...) : List [] : Object | +| Test.java:351:31:351:33 | out : Collection [, ] : Object | semmle.label | out : Collection [, ] : Object | +| Test.java:356:18:356:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:356:28:356:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:356:36:356:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:357:10:357:42 | create(...) : ConcurrentHashMultiset [] : Object | semmle.label | create(...) : ConcurrentHashMultiset [] : Object | +| Test.java:357:40:357:41 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:358:9:358:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:358:20:358:22 | out : ConcurrentHashMultiset [] : Object | semmle.label | out : ConcurrentHashMultiset [] : Object | +| Test.java:363:15:363:51 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:363:22:363:51 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:363:43:363:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:364:10:364:34 | create(...) : HashBasedTable [] : Object | semmle.label | create(...) : HashBasedTable [] : Object | +| Test.java:364:32:364:33 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:365:9:365:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:365:21:365:23 | out : HashBasedTable [] : Object | semmle.label | out : HashBasedTable [] : Object | +| Test.java:370:15:370:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:370:22:370:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:370:37:370:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:371:10:371:34 | create(...) : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | create(...) : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:371:32:371:33 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:372:9:372:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:372:28:372:30 | out : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:377:15:377:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:377:22:377:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:377:31:377:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:378:10:378:34 | create(...) : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | create(...) : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:378:32:378:33 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:379:9:379:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:379:25:379:27 | out : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:384:13:384:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:384:18:384:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:384:25:384:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:385:10:385:29 | create(...) : HashBiMap [] : Object | semmle.label | create(...) : HashBiMap [] : Object | +| Test.java:385:27:385:28 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:386:9:386:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:386:19:386:21 | out : HashBiMap [] : Object | semmle.label | out : HashBiMap [] : Object | +| Test.java:391:13:391:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:391:18:391:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:391:31:391:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:392:10:392:29 | create(...) : HashBiMap [] : Object | semmle.label | create(...) : HashBiMap [] : Object | +| Test.java:392:27:392:28 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:393:9:393:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:393:21:393:23 | out : HashBiMap [] : Object | semmle.label | out : HashBiMap [] : Object | +| Test.java:398:18:398:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:398:28:398:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:398:49:398:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:399:10:399:32 | create(...) : HashMultimap [] : Object | semmle.label | create(...) : HashMultimap [] : Object | +| Test.java:399:30:399:31 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:400:9:400:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:400:19:400:21 | out : HashMultimap [] : Object | semmle.label | out : HashMultimap [] : Object | +| Test.java:405:18:405:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:405:28:405:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:405:55:405:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:406:10:406:32 | create(...) : HashMultimap [] : Object | semmle.label | create(...) : HashMultimap [] : Object | +| Test.java:406:30:406:31 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:407:9:407:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:407:21:407:23 | out : HashMultimap [] : Object | semmle.label | out : HashMultimap [] : Object | +| Test.java:412:18:412:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:412:28:412:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:412:36:412:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:413:10:413:32 | create(...) : HashMultiset [] : Object | semmle.label | create(...) : HashMultiset [] : Object | +| Test.java:413:30:413:31 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:414:9:414:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:414:20:414:22 | out : HashMultiset [] : Object | semmle.label | out : HashMultiset [] : Object | +| Test.java:419:16:419:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:419:24:419:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:420:10:420:84 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:420:28:420:29 | in : Object | semmle.label | in : Object | +| Test.java:421:9:421:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:421:19:421:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:426:16:426:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:426:24:426:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:427:10:427:72 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:427:28:427:29 | in : Object | semmle.label | in : Object | +| Test.java:428:9:428:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:428:19:428:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:433:16:433:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:433:24:433:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:434:10:434:60 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:434:28:434:29 | in : Object | semmle.label | in : Object | +| Test.java:435:9:435:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:435:19:435:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:440:16:440:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:440:24:440:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:441:10:441:48 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:441:28:441:29 | in : Object | semmle.label | in : Object | +| Test.java:442:9:442:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:442:19:442:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:447:16:447:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:447:24:447:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:448:10:448:36 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:448:28:448:29 | in : Object | semmle.label | in : Object | +| Test.java:449:9:449:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:449:19:449:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:454:16:454:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:454:24:454:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:455:10:455:84 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:455:34:455:35 | in : Object | semmle.label | in : Object | +| Test.java:456:9:456:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:456:21:456:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:461:16:461:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:461:24:461:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:462:10:462:72 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:462:34:462:35 | in : Object | semmle.label | in : Object | +| Test.java:463:9:463:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:463:21:463:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:468:16:468:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:468:24:468:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:469:10:469:60 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:469:34:469:35 | in : Object | semmle.label | in : Object | +| Test.java:470:9:470:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:470:21:470:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:475:16:475:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:475:24:475:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:476:10:476:48 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:476:34:476:35 | in : Object | semmle.label | in : Object | +| Test.java:477:9:477:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:477:21:477:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:482:16:482:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:482:24:482:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:483:10:483:36 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:483:34:483:35 | in : Object | semmle.label | in : Object | +| Test.java:484:9:484:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:484:21:484:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:489:16:489:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:489:24:489:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:490:10:490:84 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:490:40:490:41 | in : Object | semmle.label | in : Object | +| Test.java:491:9:491:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:491:19:491:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:496:16:496:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:496:24:496:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:497:10:497:72 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:497:40:497:41 | in : Object | semmle.label | in : Object | +| Test.java:498:9:498:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:498:19:498:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:503:16:503:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:503:24:503:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:504:10:504:60 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:504:40:504:41 | in : Object | semmle.label | in : Object | +| Test.java:505:9:505:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:505:19:505:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:510:16:510:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:510:24:510:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:511:10:511:48 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:511:40:511:41 | in : Object | semmle.label | in : Object | +| Test.java:512:9:512:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:512:19:512:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:517:16:517:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:517:24:517:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:518:10:518:84 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:518:46:518:47 | in : Object | semmle.label | in : Object | +| Test.java:519:9:519:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:519:21:519:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:524:16:524:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:524:24:524:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:525:10:525:72 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:525:46:525:47 | in : Object | semmle.label | in : Object | +| Test.java:526:9:526:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:526:21:526:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:531:16:531:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:531:24:531:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:532:10:532:60 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:532:46:532:47 | in : Object | semmle.label | in : Object | +| Test.java:533:9:533:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:533:21:533:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:538:16:538:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:538:24:538:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:539:10:539:48 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:539:46:539:47 | in : Object | semmle.label | in : Object | +| Test.java:540:9:540:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:540:21:540:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:545:16:545:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:545:24:545:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:546:10:546:84 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:546:52:546:53 | in : Object | semmle.label | in : Object | +| Test.java:547:9:547:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:547:19:547:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:552:16:552:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:552:24:552:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:553:10:553:72 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:553:52:553:53 | in : Object | semmle.label | in : Object | +| Test.java:554:9:554:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:554:19:554:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:559:16:559:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:559:24:559:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:560:10:560:60 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:560:52:560:53 | in : Object | semmle.label | in : Object | +| Test.java:561:9:561:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:561:19:561:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:566:16:566:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:566:24:566:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:567:10:567:84 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:567:58:567:59 | in : Object | semmle.label | in : Object | +| Test.java:568:9:568:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:568:21:568:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:573:16:573:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:573:24:573:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:574:10:574:72 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:574:58:574:59 | in : Object | semmle.label | in : Object | +| Test.java:575:9:575:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:575:21:575:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:580:16:580:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:580:24:580:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:581:10:581:60 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:581:58:581:59 | in : Object | semmle.label | in : Object | +| Test.java:582:9:582:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:582:21:582:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:587:16:587:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:587:24:587:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:588:10:588:84 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:588:64:588:65 | in : Object | semmle.label | in : Object | +| Test.java:589:9:589:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:589:19:589:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:594:16:594:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:594:24:594:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:595:10:595:72 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:595:64:595:65 | in : Object | semmle.label | in : Object | +| Test.java:596:9:596:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:596:19:596:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:601:16:601:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:601:24:601:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:602:10:602:84 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:602:70:602:71 | in : Object | semmle.label | in : Object | +| Test.java:603:9:603:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:603:21:603:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:608:16:608:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:608:24:608:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:609:10:609:72 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:609:70:609:71 | in : Object | semmle.label | in : Object | +| Test.java:610:9:610:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:610:21:610:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:615:16:615:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:615:24:615:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:616:10:616:84 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:616:76:616:77 | in : Object | semmle.label | in : Object | +| Test.java:617:9:617:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:617:19:617:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:622:16:622:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:622:24:622:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:623:10:623:84 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:623:82:623:83 | in : Object | semmle.label | in : Object | +| Test.java:624:9:624:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:624:21:624:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:629:13:629:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:629:18:629:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:629:25:629:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:630:10:630:47 | copyOf(...) : ImmutableClassToInstanceMap [] : Object | semmle.label | copyOf(...) : ImmutableClassToInstanceMap [] : Object | +| Test.java:630:45:630:46 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:631:9:631:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:631:19:631:21 | out : ImmutableClassToInstanceMap [] : Object | semmle.label | out : ImmutableClassToInstanceMap [] : Object | +| Test.java:636:13:636:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:636:18:636:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:636:31:636:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:637:10:637:47 | copyOf(...) : ImmutableClassToInstanceMap [] : Object | semmle.label | copyOf(...) : ImmutableClassToInstanceMap [] : Object | +| Test.java:637:45:637:46 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:638:9:638:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:638:21:638:23 | out : ImmutableClassToInstanceMap [] : Object | semmle.label | out : ImmutableClassToInstanceMap [] : Object | +| Test.java:643:15:643:29 | (...)... : Class | semmle.label | (...)... : Class | +| Test.java:643:22:643:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:644:10:644:49 | of(...) : ImmutableClassToInstanceMap [] : Class | semmle.label | of(...) : ImmutableClassToInstanceMap [] : Class | +| Test.java:644:41:644:42 | in : Class | semmle.label | in : Class | +| Test.java:645:9:645:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:645:19:645:21 | out : ImmutableClassToInstanceMap [] : Class | semmle.label | out : ImmutableClassToInstanceMap [] : Class | +| Test.java:650:16:650:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:650:24:650:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:651:10:651:49 | of(...) : ImmutableClassToInstanceMap [] : Object | semmle.label | of(...) : ImmutableClassToInstanceMap [] : Object | +| Test.java:651:47:651:48 | in : Object | semmle.label | in : Object | +| Test.java:652:9:652:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:652:21:652:23 | out : ImmutableClassToInstanceMap [] : Object | semmle.label | out : ImmutableClassToInstanceMap [] : Object | +| Test.java:657:16:657:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:657:24:657:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:658:4:658:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:658:12:658:13 | in : Object | semmle.label | in : Object | +| Test.java:659:9:659:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:659:20:659:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:664:16:664:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:664:24:664:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:665:4:665:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:665:12:665:13 | in : Object | semmle.label | in : Object | +| Test.java:666:9:666:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:666:20:666:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:671:16:671:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:671:24:671:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:672:4:672:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:672:12:672:13 | in : Object | semmle.label | in : Object | +| Test.java:673:9:673:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:673:20:673:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:678:16:678:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:678:24:678:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:679:4:679:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:679:12:679:13 | in : Object | semmle.label | in : Object | +| Test.java:680:9:680:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:680:20:680:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:685:16:685:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:685:24:685:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:686:4:686:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:686:12:686:13 | in : Object | semmle.label | in : Object | +| Test.java:687:9:687:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:687:20:687:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:692:16:692:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:692:24:692:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:693:4:693:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:693:12:693:13 | in : Object | semmle.label | in : Object | +| Test.java:694:9:694:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:694:20:694:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:699:18:699:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:699:28:699:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:699:41:699:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:700:4:700:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:700:12:700:13 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:701:9:701:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:701:20:701:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:706:18:706:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:706:28:706:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:706:41:706:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:707:4:707:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:707:12:707:13 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:708:9:708:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:708:20:708:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:713:18:713:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:713:28:713:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:713:41:713:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:714:4:714:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:714:12:714:13 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:715:9:715:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:715:20:715:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:720:18:720:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:720:28:720:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:720:41:720:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:721:4:721:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:721:12:721:13 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:722:9:722:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:722:20:722:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:727:18:727:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:727:28:727:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:727:41:727:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:728:4:728:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:728:12:728:13 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:729:9:729:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:729:20:729:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:734:18:734:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:734:28:734:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:734:41:734:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:735:4:735:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:735:12:735:13 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:736:9:736:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:736:20:736:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:741:36:741:71 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:741:64:741:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:742:10:742:11 | in : Builder | semmle.label | in : Builder | +| Test.java:742:10:742:31 | add(...) : Builder | semmle.label | add(...) : Builder | +| Test.java:743:9:743:11 | out | semmle.label | out | +| Test.java:748:36:748:71 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:748:64:748:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:749:10:749:11 | in : Builder | semmle.label | in : Builder | +| Test.java:749:10:749:29 | add(...) : Builder | semmle.label | add(...) : Builder | +| Test.java:750:9:750:11 | out | semmle.label | out | +| Test.java:755:41:755:81 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:755:74:755:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:756:10:756:11 | in : Builder | semmle.label | in : Builder | +| Test.java:756:10:756:31 | add(...) : Builder | semmle.label | add(...) : Builder | +| Test.java:757:9:757:11 | out | semmle.label | out | +| Test.java:762:41:762:81 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:762:74:762:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:763:10:763:11 | in : Builder | semmle.label | in : Builder | +| Test.java:763:10:763:29 | add(...) : Builder | semmle.label | add(...) : Builder | +| Test.java:764:9:764:11 | out | semmle.label | out | +| Test.java:769:30:769:59 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:769:52:769:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:770:10:770:11 | in : Builder | semmle.label | in : Builder | +| Test.java:770:10:770:31 | add(...) : Builder | semmle.label | add(...) : Builder | +| Test.java:771:9:771:11 | out | semmle.label | out | +| Test.java:776:30:776:59 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:776:52:776:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:777:10:777:11 | in : Builder | semmle.label | in : Builder | +| Test.java:777:10:777:29 | add(...) : Builder | semmle.label | add(...) : Builder | +| Test.java:778:9:778:11 | out | semmle.label | out | +| Test.java:783:35:783:69 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:783:62:783:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:784:10:784:11 | in : Builder | semmle.label | in : Builder | +| Test.java:784:10:784:31 | add(...) : Builder | semmle.label | add(...) : Builder | +| Test.java:785:9:785:11 | out | semmle.label | out | +| Test.java:790:35:790:69 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:790:62:790:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:791:10:791:11 | in : Builder | semmle.label | in : Builder | +| Test.java:791:10:791:29 | add(...) : Builder | semmle.label | add(...) : Builder | +| Test.java:792:9:792:11 | out | semmle.label | out | +| Test.java:797:31:797:61 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:797:54:797:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:798:10:798:11 | in : Builder | semmle.label | in : Builder | +| Test.java:798:10:798:31 | add(...) : Builder | semmle.label | add(...) : Builder | +| Test.java:799:9:799:11 | out | semmle.label | out | +| Test.java:804:31:804:61 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:804:54:804:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:805:10:805:11 | in : Builder | semmle.label | in : Builder | +| Test.java:805:10:805:29 | add(...) : Builder | semmle.label | add(...) : Builder | +| Test.java:806:9:806:11 | out | semmle.label | out | +| Test.java:811:37:811:73 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:811:66:811:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:812:10:812:11 | in : Builder | semmle.label | in : Builder | +| Test.java:812:10:812:31 | add(...) : Builder | semmle.label | add(...) : Builder | +| Test.java:813:9:813:11 | out | semmle.label | out | +| Test.java:818:37:818:73 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:818:66:818:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:819:10:819:11 | in : Builder | semmle.label | in : Builder | +| Test.java:819:10:819:29 | add(...) : Builder | semmle.label | add(...) : Builder | +| Test.java:820:9:820:11 | out | semmle.label | out | +| Test.java:825:18:825:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:825:28:825:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:825:36:825:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:826:4:826:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:826:15:826:16 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:827:9:827:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:827:20:827:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:832:18:832:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:832:28:832:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:832:36:832:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:833:4:833:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:833:15:833:16 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:834:9:834:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:834:20:834:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:839:18:839:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:839:28:839:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:839:36:839:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:840:4:840:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:840:15:840:16 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:841:9:841:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:841:20:841:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:846:18:846:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:846:28:846:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:846:36:846:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:847:4:847:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:847:15:847:16 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:848:9:848:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:848:20:848:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:853:18:853:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:853:28:853:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:853:36:853:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:854:4:854:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:854:15:854:16 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:855:9:855:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:855:20:855:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:860:18:860:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:860:28:860:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:860:36:860:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:861:4:861:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:861:15:861:16 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:862:9:862:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:862:20:862:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:867:18:867:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:867:28:867:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:867:28:867:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:867:36:867:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:868:4:868:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:868:15:868:16 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:869:9:869:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:869:20:869:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:874:18:874:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:874:28:874:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:874:28:874:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:874:36:874:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:875:4:875:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:875:15:875:16 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:876:9:876:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:876:20:876:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:881:18:881:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:881:28:881:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:881:28:881:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:881:36:881:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:882:4:882:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:882:15:882:16 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:883:9:883:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:883:20:883:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:888:18:888:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:888:28:888:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:888:28:888:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:888:36:888:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:889:4:889:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:889:15:889:16 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:890:9:890:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:890:20:890:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:895:18:895:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:895:28:895:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:895:28:895:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:895:36:895:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:896:4:896:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:896:15:896:16 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:897:9:897:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:897:20:897:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:902:18:902:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:902:28:902:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:902:28:902:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:902:36:902:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:903:4:903:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:903:15:903:16 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:904:9:904:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:904:20:904:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:909:36:909:71 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:909:64:909:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:910:10:910:11 | in : Builder | semmle.label | in : Builder | +| Test.java:910:10:910:34 | addAll(...) : Builder | semmle.label | addAll(...) : Builder | +| Test.java:911:9:911:11 | out | semmle.label | out | +| Test.java:916:36:916:71 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:916:64:916:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:917:10:917:11 | in : Builder | semmle.label | in : Builder | +| Test.java:917:10:917:34 | addAll(...) : Builder | semmle.label | addAll(...) : Builder | +| Test.java:918:9:918:11 | out | semmle.label | out | +| Test.java:923:41:923:81 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:923:74:923:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:924:10:924:11 | in : Builder | semmle.label | in : Builder | +| Test.java:924:10:924:34 | addAll(...) : Builder | semmle.label | addAll(...) : Builder | +| Test.java:925:9:925:11 | out | semmle.label | out | +| Test.java:930:41:930:81 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:930:74:930:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:931:10:931:11 | in : Builder | semmle.label | in : Builder | +| Test.java:931:10:931:34 | addAll(...) : Builder | semmle.label | addAll(...) : Builder | +| Test.java:932:9:932:11 | out | semmle.label | out | +| Test.java:937:30:937:59 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:937:52:937:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:938:10:938:11 | in : Builder | semmle.label | in : Builder | +| Test.java:938:10:938:34 | addAll(...) : Builder | semmle.label | addAll(...) : Builder | +| Test.java:939:9:939:11 | out | semmle.label | out | +| Test.java:944:30:944:59 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:944:52:944:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:945:10:945:11 | in : Builder | semmle.label | in : Builder | +| Test.java:945:10:945:34 | addAll(...) : Builder | semmle.label | addAll(...) : Builder | +| Test.java:946:9:946:11 | out | semmle.label | out | +| Test.java:951:35:951:69 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:951:62:951:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:952:10:952:11 | in : Builder | semmle.label | in : Builder | +| Test.java:952:10:952:34 | addAll(...) : Builder | semmle.label | addAll(...) : Builder | +| Test.java:953:9:953:11 | out | semmle.label | out | +| Test.java:958:35:958:69 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:958:62:958:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:959:10:959:11 | in : Builder | semmle.label | in : Builder | +| Test.java:959:10:959:34 | addAll(...) : Builder | semmle.label | addAll(...) : Builder | +| Test.java:960:9:960:11 | out | semmle.label | out | +| Test.java:965:31:965:61 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:965:54:965:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:966:10:966:11 | in : Builder | semmle.label | in : Builder | +| Test.java:966:10:966:34 | addAll(...) : Builder | semmle.label | addAll(...) : Builder | +| Test.java:967:9:967:11 | out | semmle.label | out | +| Test.java:972:31:972:61 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:972:54:972:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:973:10:973:11 | in : Builder | semmle.label | in : Builder | +| Test.java:973:10:973:34 | addAll(...) : Builder | semmle.label | addAll(...) : Builder | +| Test.java:974:9:974:11 | out | semmle.label | out | +| Test.java:979:37:979:73 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:979:66:979:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:980:10:980:11 | in : Builder | semmle.label | in : Builder | +| Test.java:980:10:980:34 | addAll(...) : Builder | semmle.label | addAll(...) : Builder | +| Test.java:981:9:981:11 | out | semmle.label | out | +| Test.java:986:37:986:73 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:986:66:986:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:987:10:987:11 | in : Builder | semmle.label | in : Builder | +| Test.java:987:10:987:34 | addAll(...) : Builder | semmle.label | addAll(...) : Builder | +| Test.java:988:9:988:11 | out | semmle.label | out | +| Test.java:993:36:993:105 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:993:64:993:105 | add(...) : Builder [] : Object | semmle.label | add(...) : Builder [] : Object | +| Test.java:993:97:993:104 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:994:10:994:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:994:10:994:19 | build(...) : ImmutableSortedSet [] : Object | semmle.label | build(...) : ImmutableSortedSet [] : Object | +| Test.java:995:9:995:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:995:20:995:22 | out : ImmutableSortedSet [] : Object | semmle.label | out : ImmutableSortedSet [] : Object | +| Test.java:1000:41:1000:120 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:1000:74:1000:120 | add(...) : Builder [] : Object | semmle.label | add(...) : Builder [] : Object | +| Test.java:1000:112:1000:119 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1001:10:1001:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:1001:10:1001:19 | build(...) : ImmutableSortedMultiset [] : Object | semmle.label | build(...) : ImmutableSortedMultiset [] : Object | +| Test.java:1002:9:1002:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1002:20:1002:22 | out : ImmutableSortedMultiset [] : Object | semmle.label | out : ImmutableSortedMultiset [] : Object | +| Test.java:1007:30:1007:87 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:1007:52:1007:87 | add(...) : Builder [] : Object | semmle.label | add(...) : Builder [] : Object | +| Test.java:1007:79:1007:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1008:10:1008:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:1008:10:1008:19 | build(...) : ImmutableSet [] : Object | semmle.label | build(...) : ImmutableSet [] : Object | +| Test.java:1009:9:1009:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1009:20:1009:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:1014:35:1014:102 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:1014:62:1014:102 | add(...) : Builder [] : Object | semmle.label | add(...) : Builder [] : Object | +| Test.java:1014:94:1014:101 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1015:10:1015:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:1015:10:1015:19 | build(...) : ImmutableMultiset [] : Object | semmle.label | build(...) : ImmutableMultiset [] : Object | +| Test.java:1016:9:1016:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1016:20:1016:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:1021:31:1021:90 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:1021:54:1021:90 | add(...) : Builder [] : Object | semmle.label | add(...) : Builder [] : Object | +| Test.java:1021:82:1021:89 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1022:10:1022:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:1022:10:1022:19 | build(...) : ImmutableList [] : Object | semmle.label | build(...) : ImmutableList [] : Object | +| Test.java:1023:9:1023:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1023:20:1023:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1028:37:1028:102 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:1028:66:1028:102 | add(...) : Builder [] : Object | semmle.label | add(...) : Builder [] : Object | +| Test.java:1028:94:1028:101 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1029:10:1029:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:1029:10:1029:19 | build(...) : ImmutableCollection [] : Object | semmle.label | build(...) : ImmutableCollection [] : Object | +| Test.java:1030:9:1030:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1030:20:1030:22 | out : ImmutableCollection [] : Object | semmle.label | out : ImmutableCollection [] : Object | +| Test.java:1035:22:1035:60 | (...)... : ImmutableSet [] : Object | semmle.label | (...)... : ImmutableSet [] : Object | +| Test.java:1035:36:1035:60 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:1035:52:1035:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1036:10:1036:11 | in : ImmutableSet [] : Object | semmle.label | in : ImmutableSet [] : Object | +| Test.java:1036:10:1036:20 | asList(...) : ImmutableList [] : Object | semmle.label | asList(...) : ImmutableList [] : Object | +| Test.java:1037:9:1037:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1037:20:1037:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1042:27:1042:75 | (...)... : ImmutableMultiset [] : Object | semmle.label | (...)... : ImmutableMultiset [] : Object | +| Test.java:1042:46:1042:75 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:1042:67:1042:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1043:10:1043:11 | in : ImmutableMultiset [] : Object | semmle.label | in : ImmutableMultiset [] : Object | +| Test.java:1043:10:1043:20 | asList(...) : ImmutableList [] : Object | semmle.label | asList(...) : ImmutableList [] : Object | +| Test.java:1044:9:1044:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1044:20:1044:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1049:23:1049:63 | (...)... : ImmutableList [] : Object | semmle.label | (...)... : ImmutableList [] : Object | +| Test.java:1049:38:1049:63 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1049:55:1049:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1050:10:1050:11 | in : ImmutableList [] : Object | semmle.label | in : ImmutableList [] : Object | +| Test.java:1050:10:1050:20 | asList(...) : ImmutableList [] : Object | semmle.label | asList(...) : ImmutableList [] : Object | +| Test.java:1051:9:1051:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1051:20:1051:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1056:29:1056:75 | (...)... : ImmutableList [] : Object | semmle.label | (...)... : ImmutableList [] : Object | +| Test.java:1056:50:1056:75 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1056:67:1056:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1057:10:1057:11 | in : ImmutableList [] : Object | semmle.label | in : ImmutableList [] : Object | +| Test.java:1057:10:1057:20 | asList(...) : ImmutableList [] : Object | semmle.label | asList(...) : ImmutableList [] : Object | +| Test.java:1058:9:1058:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1058:20:1058:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1063:20:1063:48 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:1063:32:1063:48 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:1063:40:1063:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1064:10:1064:33 | copyOf(...) : ImmutableList [] : Object | semmle.label | copyOf(...) : ImmutableList [] : Object | +| Test.java:1064:31:1064:32 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:1065:9:1065:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1065:20:1065:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1070:18:1070:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:1070:28:1070:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:1070:36:1070:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1071:10:1071:33 | copyOf(...) : ImmutableList [] : Object | semmle.label | copyOf(...) : ImmutableList [] : Object | +| Test.java:1071:31:1071:32 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:1072:9:1072:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1072:20:1072:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1077:18:1077:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:1077:28:1077:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:1077:28:1077:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:1077:36:1077:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1078:10:1078:33 | copyOf(...) : ImmutableList [] : Object | semmle.label | copyOf(...) : ImmutableList [] : Object | +| Test.java:1078:31:1078:32 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:1079:9:1079:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1079:20:1079:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1084:18:1084:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:1084:28:1084:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:1084:41:1084:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1085:10:1085:33 | copyOf(...) : ImmutableList [] : Object | semmle.label | copyOf(...) : ImmutableList [] : Object | +| Test.java:1085:31:1085:32 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:1086:9:1086:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1086:20:1086:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1091:16:1091:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1091:24:1091:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1092:10:1092:89 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1092:87:1092:88 | in : Object | semmle.label | in : Object | +| Test.java:1093:9:1093:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1093:20:1093:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1098:16:1098:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1098:24:1098:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1099:10:1099:89 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1099:81:1099:82 | in : Object | semmle.label | in : Object | +| Test.java:1100:9:1100:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1100:20:1100:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1105:16:1105:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1105:24:1105:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1106:10:1106:83 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1106:81:1106:82 | in : Object | semmle.label | in : Object | +| Test.java:1107:9:1107:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1107:20:1107:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1112:16:1112:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1112:24:1112:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1113:10:1113:89 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1113:75:1113:76 | in : Object | semmle.label | in : Object | +| Test.java:1114:9:1114:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1114:20:1114:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1119:16:1119:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1119:24:1119:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1120:10:1120:83 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1120:75:1120:76 | in : Object | semmle.label | in : Object | +| Test.java:1121:9:1121:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1121:20:1121:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1126:16:1126:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1126:24:1126:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1127:10:1127:77 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1127:75:1127:76 | in : Object | semmle.label | in : Object | +| Test.java:1128:9:1128:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1128:20:1128:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1133:16:1133:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1133:24:1133:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1134:10:1134:89 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1134:69:1134:70 | in : Object | semmle.label | in : Object | +| Test.java:1135:9:1135:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1135:20:1135:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1140:16:1140:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1140:24:1140:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1141:10:1141:83 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1141:69:1141:70 | in : Object | semmle.label | in : Object | +| Test.java:1142:9:1142:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1142:20:1142:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1147:16:1147:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1147:24:1147:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1148:10:1148:77 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1148:69:1148:70 | in : Object | semmle.label | in : Object | +| Test.java:1149:9:1149:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1149:20:1149:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1154:16:1154:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1154:24:1154:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1155:10:1155:71 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1155:69:1155:70 | in : Object | semmle.label | in : Object | +| Test.java:1156:9:1156:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1156:20:1156:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1161:16:1161:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1161:24:1161:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1162:10:1162:89 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1162:63:1162:64 | in : Object | semmle.label | in : Object | +| Test.java:1163:9:1163:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1163:20:1163:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1168:16:1168:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1168:24:1168:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1169:10:1169:83 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1169:63:1169:64 | in : Object | semmle.label | in : Object | +| Test.java:1170:9:1170:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1170:20:1170:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1175:16:1175:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1175:24:1175:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1176:10:1176:77 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1176:63:1176:64 | in : Object | semmle.label | in : Object | +| Test.java:1177:9:1177:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1177:20:1177:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1182:16:1182:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1182:24:1182:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1183:10:1183:71 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1183:63:1183:64 | in : Object | semmle.label | in : Object | +| Test.java:1184:9:1184:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1184:20:1184:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1189:16:1189:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1189:24:1189:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1190:10:1190:65 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1190:63:1190:64 | in : Object | semmle.label | in : Object | +| Test.java:1191:9:1191:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1191:20:1191:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1196:16:1196:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1196:24:1196:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1197:10:1197:89 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1197:57:1197:58 | in : Object | semmle.label | in : Object | +| Test.java:1198:9:1198:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1198:20:1198:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1203:16:1203:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1203:24:1203:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1204:10:1204:83 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1204:57:1204:58 | in : Object | semmle.label | in : Object | +| Test.java:1205:9:1205:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1205:20:1205:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1210:16:1210:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1210:24:1210:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1211:10:1211:77 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1211:57:1211:58 | in : Object | semmle.label | in : Object | +| Test.java:1212:9:1212:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1212:20:1212:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1217:16:1217:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1217:24:1217:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1218:10:1218:71 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1218:57:1218:58 | in : Object | semmle.label | in : Object | +| Test.java:1219:9:1219:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1219:20:1219:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1224:16:1224:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1224:24:1224:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1225:10:1225:65 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1225:57:1225:58 | in : Object | semmle.label | in : Object | +| Test.java:1226:9:1226:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1226:20:1226:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1231:16:1231:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1231:24:1231:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1232:10:1232:59 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1232:57:1232:58 | in : Object | semmle.label | in : Object | +| Test.java:1233:9:1233:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1233:20:1233:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1238:16:1238:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1238:24:1238:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1239:10:1239:89 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1239:51:1239:52 | in : Object | semmle.label | in : Object | +| Test.java:1240:9:1240:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1240:20:1240:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1245:16:1245:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1245:24:1245:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1246:10:1246:83 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1246:51:1246:52 | in : Object | semmle.label | in : Object | +| Test.java:1247:9:1247:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1247:20:1247:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1252:16:1252:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1252:24:1252:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1253:10:1253:77 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1253:51:1253:52 | in : Object | semmle.label | in : Object | +| Test.java:1254:9:1254:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1254:20:1254:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1259:16:1259:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1259:24:1259:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1260:10:1260:71 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1260:51:1260:52 | in : Object | semmle.label | in : Object | +| Test.java:1261:9:1261:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1261:20:1261:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1266:16:1266:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1266:24:1266:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1267:10:1267:65 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1267:51:1267:52 | in : Object | semmle.label | in : Object | +| Test.java:1268:9:1268:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1268:20:1268:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1273:16:1273:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1273:24:1273:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1274:10:1274:59 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1274:51:1274:52 | in : Object | semmle.label | in : Object | +| Test.java:1275:9:1275:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1275:20:1275:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1280:16:1280:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1280:24:1280:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1281:10:1281:53 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1281:51:1281:52 | in : Object | semmle.label | in : Object | +| Test.java:1282:9:1282:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1282:20:1282:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1287:16:1287:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1287:24:1287:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1288:10:1288:89 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1288:45:1288:46 | in : Object | semmle.label | in : Object | +| Test.java:1289:9:1289:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1289:20:1289:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1294:16:1294:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1294:24:1294:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1295:10:1295:83 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1295:45:1295:46 | in : Object | semmle.label | in : Object | +| Test.java:1296:9:1296:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1296:20:1296:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1301:16:1301:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1301:24:1301:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1302:10:1302:77 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1302:45:1302:46 | in : Object | semmle.label | in : Object | +| Test.java:1303:9:1303:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1303:20:1303:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1308:16:1308:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1308:24:1308:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1309:10:1309:71 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1309:45:1309:46 | in : Object | semmle.label | in : Object | +| Test.java:1310:9:1310:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1310:20:1310:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1315:16:1315:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1315:24:1315:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1316:10:1316:65 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1316:45:1316:46 | in : Object | semmle.label | in : Object | +| Test.java:1317:9:1317:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1317:20:1317:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1322:16:1322:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1322:24:1322:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1323:10:1323:59 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1323:45:1323:46 | in : Object | semmle.label | in : Object | +| Test.java:1324:9:1324:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1324:20:1324:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1329:16:1329:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1329:24:1329:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1330:10:1330:53 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1330:45:1330:46 | in : Object | semmle.label | in : Object | +| Test.java:1331:9:1331:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1331:20:1331:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1336:16:1336:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1336:24:1336:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1337:10:1337:47 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1337:45:1337:46 | in : Object | semmle.label | in : Object | +| Test.java:1338:9:1338:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1338:20:1338:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1343:16:1343:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1343:24:1343:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1344:10:1344:89 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1344:39:1344:40 | in : Object | semmle.label | in : Object | +| Test.java:1345:9:1345:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1345:20:1345:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1350:16:1350:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1350:24:1350:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1351:10:1351:83 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1351:39:1351:40 | in : Object | semmle.label | in : Object | +| Test.java:1352:9:1352:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1352:20:1352:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1357:16:1357:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1357:24:1357:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1358:10:1358:77 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1358:39:1358:40 | in : Object | semmle.label | in : Object | +| Test.java:1359:9:1359:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1359:20:1359:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1364:16:1364:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1364:24:1364:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1365:10:1365:71 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1365:39:1365:40 | in : Object | semmle.label | in : Object | +| Test.java:1366:9:1366:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1366:20:1366:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1371:16:1371:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1371:24:1371:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1372:10:1372:65 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1372:39:1372:40 | in : Object | semmle.label | in : Object | +| Test.java:1373:9:1373:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1373:20:1373:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1378:16:1378:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1378:24:1378:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1379:10:1379:59 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1379:39:1379:40 | in : Object | semmle.label | in : Object | +| Test.java:1380:9:1380:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1380:20:1380:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1385:16:1385:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1385:24:1385:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1386:10:1386:53 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1386:39:1386:40 | in : Object | semmle.label | in : Object | +| Test.java:1387:9:1387:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1387:20:1387:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1392:16:1392:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1392:24:1392:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1393:10:1393:47 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1393:39:1393:40 | in : Object | semmle.label | in : Object | +| Test.java:1394:9:1394:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1394:20:1394:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1399:16:1399:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1399:24:1399:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1400:10:1400:41 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1400:39:1400:40 | in : Object | semmle.label | in : Object | +| Test.java:1401:9:1401:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1401:20:1401:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1406:16:1406:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1406:24:1406:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1407:10:1407:89 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1407:33:1407:34 | in : Object | semmle.label | in : Object | +| Test.java:1408:9:1408:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1408:20:1408:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1413:16:1413:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1413:24:1413:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1414:10:1414:83 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1414:33:1414:34 | in : Object | semmle.label | in : Object | +| Test.java:1415:9:1415:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1415:20:1415:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1420:16:1420:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1420:24:1420:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1421:10:1421:77 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1421:33:1421:34 | in : Object | semmle.label | in : Object | +| Test.java:1422:9:1422:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1422:20:1422:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1427:16:1427:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1427:24:1427:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1428:10:1428:71 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1428:33:1428:34 | in : Object | semmle.label | in : Object | +| Test.java:1429:9:1429:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1429:20:1429:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1434:16:1434:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1434:24:1434:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1435:10:1435:65 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1435:33:1435:34 | in : Object | semmle.label | in : Object | +| Test.java:1436:9:1436:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1436:20:1436:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1441:16:1441:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1441:24:1441:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1442:10:1442:59 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1442:33:1442:34 | in : Object | semmle.label | in : Object | +| Test.java:1443:9:1443:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1443:20:1443:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1448:16:1448:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1448:24:1448:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1449:10:1449:53 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1449:33:1449:34 | in : Object | semmle.label | in : Object | +| Test.java:1450:9:1450:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1450:20:1450:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1455:16:1455:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1455:24:1455:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1456:10:1456:47 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1456:33:1456:34 | in : Object | semmle.label | in : Object | +| Test.java:1457:9:1457:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1457:20:1457:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1462:16:1462:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1462:24:1462:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1463:10:1463:41 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1463:33:1463:34 | in : Object | semmle.label | in : Object | +| Test.java:1464:9:1464:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1464:20:1464:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1469:16:1469:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1469:24:1469:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1470:10:1470:35 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1470:33:1470:34 | in : Object | semmle.label | in : Object | +| Test.java:1471:9:1471:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1471:20:1471:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1476:16:1476:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1476:24:1476:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1477:10:1477:89 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1477:27:1477:28 | in : Object | semmle.label | in : Object | +| Test.java:1478:9:1478:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1478:20:1478:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1483:16:1483:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1483:24:1483:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1484:10:1484:83 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1484:27:1484:28 | in : Object | semmle.label | in : Object | +| Test.java:1485:9:1485:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1485:20:1485:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1490:16:1490:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1490:24:1490:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1491:10:1491:77 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1491:27:1491:28 | in : Object | semmle.label | in : Object | +| Test.java:1492:9:1492:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1492:20:1492:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1497:16:1497:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1497:24:1497:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1498:10:1498:71 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1498:27:1498:28 | in : Object | semmle.label | in : Object | +| Test.java:1499:9:1499:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1499:20:1499:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1504:16:1504:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1504:24:1504:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1505:10:1505:65 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1505:27:1505:28 | in : Object | semmle.label | in : Object | +| Test.java:1506:9:1506:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1506:20:1506:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1511:16:1511:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1511:24:1511:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1512:10:1512:59 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1512:27:1512:28 | in : Object | semmle.label | in : Object | +| Test.java:1513:9:1513:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1513:20:1513:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1518:16:1518:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1518:24:1518:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1519:10:1519:53 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1519:27:1519:28 | in : Object | semmle.label | in : Object | +| Test.java:1520:9:1520:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1520:20:1520:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1525:16:1525:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1525:24:1525:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1526:10:1526:47 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1526:27:1526:28 | in : Object | semmle.label | in : Object | +| Test.java:1527:9:1527:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1527:20:1527:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1532:16:1532:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1532:24:1532:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1533:10:1533:41 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1533:27:1533:28 | in : Object | semmle.label | in : Object | +| Test.java:1534:9:1534:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1534:20:1534:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1539:16:1539:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1539:24:1539:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1540:10:1540:35 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1540:27:1540:28 | in : Object | semmle.label | in : Object | +| Test.java:1541:9:1541:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1541:20:1541:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1546:16:1546:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1546:24:1546:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1547:10:1547:199 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1547:27:1547:28 | in : Object | semmle.label | in : Object | +| Test.java:1548:9:1548:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1548:20:1548:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1553:16:1553:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1553:24:1553:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1554:10:1554:29 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1554:27:1554:28 | in : Object | semmle.label | in : Object | +| Test.java:1555:9:1555:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1555:20:1555:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1560:16:1560:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1560:24:1560:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1561:10:1561:199 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1561:41:1561:42 | in : Object | semmle.label | in : Object | +| Test.java:1562:9:1562:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1562:20:1562:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1567:16:1567:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1567:24:1567:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1568:10:1568:199 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1568:55:1568:56 | in : Object | semmle.label | in : Object | +| Test.java:1569:9:1569:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1569:20:1569:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1574:16:1574:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1574:24:1574:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1575:10:1575:199 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1575:69:1575:70 | in : Object | semmle.label | in : Object | +| Test.java:1576:9:1576:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1576:20:1576:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1581:16:1581:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1581:24:1581:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1582:10:1582:199 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1582:83:1582:84 | in : Object | semmle.label | in : Object | +| Test.java:1583:9:1583:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1583:20:1583:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1588:16:1588:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1588:24:1588:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1589:10:1589:199 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1589:97:1589:98 | in : Object | semmle.label | in : Object | +| Test.java:1590:9:1590:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1590:20:1590:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1595:16:1595:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1595:24:1595:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1596:10:1596:199 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1596:111:1596:112 | in : Object | semmle.label | in : Object | +| Test.java:1597:9:1597:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1597:20:1597:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1602:16:1602:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1602:24:1602:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1603:10:1603:199 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1603:125:1603:126 | in : Object | semmle.label | in : Object | +| Test.java:1604:9:1604:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1604:20:1604:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1609:16:1609:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1609:24:1609:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1610:10:1610:199 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1610:139:1610:140 | in : Object | semmle.label | in : Object | +| Test.java:1611:9:1611:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1611:20:1611:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1616:16:1616:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1616:24:1616:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1617:10:1617:199 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1617:153:1617:154 | in : Object | semmle.label | in : Object | +| Test.java:1618:9:1618:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1618:20:1618:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1623:16:1623:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1623:24:1623:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1624:10:1624:199 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1624:167:1624:168 | in : Object | semmle.label | in : Object | +| Test.java:1625:9:1625:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1625:20:1625:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1630:16:1630:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1630:24:1630:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1631:10:1631:199 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1631:181:1631:182 | in : Object | semmle.label | in : Object | +| Test.java:1632:9:1632:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1632:20:1632:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1637:18:1637:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:1637:28:1637:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:1637:41:1637:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1638:10:1638:197 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1638:195:1638:196 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:1639:9:1639:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1639:20:1639:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1644:23:1644:63 | (...)... : ImmutableList [] : Object | semmle.label | (...)... : ImmutableList [] : Object | +| Test.java:1644:38:1644:63 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:1644:55:1644:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1645:10:1645:11 | in : ImmutableList [] : Object | semmle.label | in : ImmutableList [] : Object | +| Test.java:1645:10:1645:21 | reverse(...) : ImmutableList [] : Object | semmle.label | reverse(...) : ImmutableList [] : Object | +| Test.java:1646:9:1646:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1646:20:1646:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1651:18:1651:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:1651:28:1651:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:1651:36:1651:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1652:10:1652:45 | sortedCopyOf(...) : ImmutableList [] : Object | semmle.label | sortedCopyOf(...) : ImmutableList [] : Object | +| Test.java:1652:43:1652:44 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:1653:9:1653:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1653:20:1653:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1658:18:1658:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:1658:28:1658:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:1658:36:1658:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1659:10:1659:39 | sortedCopyOf(...) : ImmutableList [] : Object | semmle.label | sortedCopyOf(...) : ImmutableList [] : Object | +| Test.java:1659:37:1659:38 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:1660:9:1660:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1660:20:1660:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:1665:16:1665:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1665:24:1665:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1666:10:1666:91 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1666:35:1666:36 | in : Object | semmle.label | in : Object | +| Test.java:1667:9:1667:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1667:19:1667:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1672:16:1672:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1672:24:1672:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1673:10:1673:79 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1673:35:1673:36 | in : Object | semmle.label | in : Object | +| Test.java:1674:9:1674:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1674:19:1674:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1679:16:1679:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1679:24:1679:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1680:10:1680:67 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1680:35:1680:36 | in : Object | semmle.label | in : Object | +| Test.java:1681:9:1681:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1681:19:1681:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1686:16:1686:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1686:24:1686:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1687:10:1687:55 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1687:35:1687:36 | in : Object | semmle.label | in : Object | +| Test.java:1688:9:1688:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1688:19:1688:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1693:16:1693:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1693:24:1693:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1694:10:1694:43 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1694:35:1694:36 | in : Object | semmle.label | in : Object | +| Test.java:1695:9:1695:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1695:19:1695:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1700:16:1700:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1700:24:1700:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1701:10:1701:91 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1701:41:1701:42 | in : Object | semmle.label | in : Object | +| Test.java:1702:9:1702:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1702:21:1702:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1707:16:1707:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1707:24:1707:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1708:10:1708:79 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1708:41:1708:42 | in : Object | semmle.label | in : Object | +| Test.java:1709:9:1709:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1709:21:1709:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1714:16:1714:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1714:24:1714:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1715:10:1715:67 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1715:41:1715:42 | in : Object | semmle.label | in : Object | +| Test.java:1716:9:1716:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1716:21:1716:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1721:16:1721:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1721:24:1721:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1722:10:1722:55 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1722:41:1722:42 | in : Object | semmle.label | in : Object | +| Test.java:1723:9:1723:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1723:21:1723:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1728:16:1728:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1728:24:1728:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1729:10:1729:43 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1729:41:1729:42 | in : Object | semmle.label | in : Object | +| Test.java:1730:9:1730:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1730:21:1730:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1735:16:1735:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1735:24:1735:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1736:10:1736:91 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1736:47:1736:48 | in : Object | semmle.label | in : Object | +| Test.java:1737:9:1737:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1737:19:1737:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1742:16:1742:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1742:24:1742:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1743:10:1743:79 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1743:47:1743:48 | in : Object | semmle.label | in : Object | +| Test.java:1744:9:1744:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1744:19:1744:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1749:16:1749:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1749:24:1749:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1750:10:1750:67 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1750:47:1750:48 | in : Object | semmle.label | in : Object | +| Test.java:1751:9:1751:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1751:19:1751:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1756:16:1756:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1756:24:1756:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1757:10:1757:55 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1757:47:1757:48 | in : Object | semmle.label | in : Object | +| Test.java:1758:9:1758:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1758:19:1758:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1763:16:1763:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1763:24:1763:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1764:10:1764:91 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1764:53:1764:54 | in : Object | semmle.label | in : Object | +| Test.java:1765:9:1765:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1765:21:1765:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1770:16:1770:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1770:24:1770:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1771:10:1771:79 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1771:53:1771:54 | in : Object | semmle.label | in : Object | +| Test.java:1772:9:1772:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1772:21:1772:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1777:16:1777:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1777:24:1777:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1778:10:1778:67 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1778:53:1778:54 | in : Object | semmle.label | in : Object | +| Test.java:1779:9:1779:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1779:21:1779:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1784:16:1784:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1784:24:1784:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1785:10:1785:55 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1785:53:1785:54 | in : Object | semmle.label | in : Object | +| Test.java:1786:9:1786:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1786:21:1786:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1791:16:1791:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1791:24:1791:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1792:10:1792:91 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1792:59:1792:60 | in : Object | semmle.label | in : Object | +| Test.java:1793:9:1793:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1793:19:1793:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1798:16:1798:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1798:24:1798:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1799:10:1799:79 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1799:59:1799:60 | in : Object | semmle.label | in : Object | +| Test.java:1800:9:1800:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1800:19:1800:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1805:16:1805:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1805:24:1805:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1806:10:1806:67 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1806:59:1806:60 | in : Object | semmle.label | in : Object | +| Test.java:1807:9:1807:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1807:19:1807:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1812:16:1812:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1812:24:1812:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1813:10:1813:91 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1813:65:1813:66 | in : Object | semmle.label | in : Object | +| Test.java:1814:9:1814:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1814:21:1814:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1819:16:1819:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1819:24:1819:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1820:10:1820:79 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1820:65:1820:66 | in : Object | semmle.label | in : Object | +| Test.java:1821:9:1821:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1821:21:1821:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1826:16:1826:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1826:24:1826:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1827:10:1827:67 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1827:65:1827:66 | in : Object | semmle.label | in : Object | +| Test.java:1828:9:1828:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1828:21:1828:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1833:16:1833:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1833:24:1833:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1834:10:1834:91 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1834:71:1834:72 | in : Object | semmle.label | in : Object | +| Test.java:1835:9:1835:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1835:19:1835:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1840:16:1840:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1840:24:1840:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1841:10:1841:79 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1841:71:1841:72 | in : Object | semmle.label | in : Object | +| Test.java:1842:9:1842:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1842:19:1842:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1847:16:1847:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1847:24:1847:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1848:10:1848:91 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1848:77:1848:78 | in : Object | semmle.label | in : Object | +| Test.java:1849:9:1849:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1849:21:1849:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1854:16:1854:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1854:24:1854:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1855:10:1855:79 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1855:77:1855:78 | in : Object | semmle.label | in : Object | +| Test.java:1856:9:1856:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1856:21:1856:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1861:16:1861:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1861:24:1861:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1862:10:1862:91 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1862:83:1862:84 | in : Object | semmle.label | in : Object | +| Test.java:1863:9:1863:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1863:19:1863:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1868:16:1868:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1868:24:1868:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1869:10:1869:91 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:1869:89:1869:90 | in : Object | semmle.label | in : Object | +| Test.java:1870:9:1870:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1870:21:1870:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:1875:36:1875:111 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:1875:64:1875:111 | put(...) : Builder [] : Object | semmle.label | put(...) : Builder [] : Object | +| Test.java:1875:97:1875:104 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1876:10:1876:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:1876:10:1876:19 | build(...) : ImmutableSortedMap [] : Object | semmle.label | build(...) : ImmutableSortedMap [] : Object | +| Test.java:1877:9:1877:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1877:19:1877:21 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:1882:30:1882:93 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:1882:52:1882:93 | put(...) : Builder [] : Object | semmle.label | put(...) : Builder [] : Object | +| Test.java:1882:79:1882:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1883:10:1883:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:1883:10:1883:19 | build(...) : ImmutableMap [] : Object | semmle.label | build(...) : ImmutableMap [] : Object | +| Test.java:1884:9:1884:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1884:19:1884:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:1889:32:1889:99 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:1889:56:1889:99 | put(...) : Builder [] : Object | semmle.label | put(...) : Builder [] : Object | +| Test.java:1889:85:1889:92 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1890:10:1890:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:1890:10:1890:19 | build(...) : ImmutableBiMap [] : Object | semmle.label | build(...) : ImmutableBiMap [] : Object | +| Test.java:1891:9:1891:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1891:19:1891:21 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:1896:36:1896:111 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:1896:64:1896:111 | put(...) : Builder [] : Object | semmle.label | put(...) : Builder [] : Object | +| Test.java:1896:103:1896:110 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1897:10:1897:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:1897:10:1897:19 | build(...) : ImmutableSortedMap [] : Object | semmle.label | build(...) : ImmutableSortedMap [] : Object | +| Test.java:1898:9:1898:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1898:21:1898:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:1903:30:1903:93 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:1903:52:1903:93 | put(...) : Builder [] : Object | semmle.label | put(...) : Builder [] : Object | +| Test.java:1903:85:1903:92 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1904:10:1904:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:1904:10:1904:19 | build(...) : ImmutableMap [] : Object | semmle.label | build(...) : ImmutableMap [] : Object | +| Test.java:1905:9:1905:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1905:21:1905:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:1910:32:1910:99 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:1910:56:1910:99 | put(...) : Builder [] : Object | semmle.label | put(...) : Builder [] : Object | +| Test.java:1910:91:1910:98 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1911:10:1911:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:1911:10:1911:19 | build(...) : ImmutableBiMap [] : Object | semmle.label | build(...) : ImmutableBiMap [] : Object | +| Test.java:1912:9:1912:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1912:21:1912:23 | out : ImmutableBiMap [] : Object | semmle.label | out : ImmutableBiMap [] : Object | +| Test.java:1917:36:1917:71 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1917:64:1917:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1918:10:1918:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1918:10:1918:37 | orderEntriesByValue(...) : Builder | semmle.label | orderEntriesByValue(...) : Builder | +| Test.java:1919:9:1919:11 | out | semmle.label | out | +| Test.java:1924:30:1924:59 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1924:52:1924:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1925:10:1925:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1925:10:1925:37 | orderEntriesByValue(...) : Builder | semmle.label | orderEntriesByValue(...) : Builder | +| Test.java:1926:9:1926:11 | out | semmle.label | out | +| Test.java:1931:32:1931:63 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1931:56:1931:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1932:10:1932:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1932:10:1932:37 | orderEntriesByValue(...) : Builder | semmle.label | orderEntriesByValue(...) : Builder | +| Test.java:1933:9:1933:11 | out | semmle.label | out | +| Test.java:1938:19:1938:57 | (...)... : Entry [] : Object | semmle.label | (...)... : Entry [] : Object | +| Test.java:1938:30:1938:57 | newEntryWithMapKey(...) : Entry [] : Object | semmle.label | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:1938:49:1938:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1939:4:1939:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:1939:12:1939:13 | in : Entry [] : Object | semmle.label | in : Entry [] : Object | +| Test.java:1940:9:1940:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1940:19:1940:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:1945:19:1945:57 | (...)... : Entry [] : Object | semmle.label | (...)... : Entry [] : Object | +| Test.java:1945:30:1945:57 | newEntryWithMapKey(...) : Entry [] : Object | semmle.label | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:1945:49:1945:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1946:4:1946:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:1946:12:1946:13 | in : Entry [] : Object | semmle.label | in : Entry [] : Object | +| Test.java:1947:9:1947:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1947:19:1947:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:1952:19:1952:57 | (...)... : Entry [] : Object | semmle.label | (...)... : Entry [] : Object | +| Test.java:1952:30:1952:57 | newEntryWithMapKey(...) : Entry [] : Object | semmle.label | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:1952:49:1952:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1953:4:1953:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:1953:12:1953:13 | in : Entry [] : Object | semmle.label | in : Entry [] : Object | +| Test.java:1954:9:1954:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1954:19:1954:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:1959:19:1959:59 | (...)... : Entry [] : Object | semmle.label | (...)... : Entry [] : Object | +| Test.java:1959:30:1959:59 | newEntryWithMapValue(...) : Entry [] : Object | semmle.label | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:1959:51:1959:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1960:4:1960:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:1960:12:1960:13 | in : Entry [] : Object | semmle.label | in : Entry [] : Object | +| Test.java:1961:9:1961:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1961:21:1961:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:1966:19:1966:59 | (...)... : Entry [] : Object | semmle.label | (...)... : Entry [] : Object | +| Test.java:1966:30:1966:59 | newEntryWithMapValue(...) : Entry [] : Object | semmle.label | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:1966:51:1966:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1967:4:1967:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:1967:12:1967:13 | in : Entry [] : Object | semmle.label | in : Entry [] : Object | +| Test.java:1968:9:1968:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1968:21:1968:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:1973:19:1973:59 | (...)... : Entry [] : Object | semmle.label | (...)... : Entry [] : Object | +| Test.java:1973:30:1973:59 | newEntryWithMapValue(...) : Entry [] : Object | semmle.label | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:1973:51:1973:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1974:4:1974:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:1974:12:1974:13 | in : Entry [] : Object | semmle.label | in : Entry [] : Object | +| Test.java:1975:9:1975:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1975:21:1975:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:1980:16:1980:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1980:24:1980:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1981:4:1981:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:1981:12:1981:13 | in : Object | semmle.label | in : Object | +| Test.java:1982:9:1982:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1982:19:1982:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:1987:16:1987:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1987:24:1987:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1988:4:1988:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:1988:12:1988:13 | in : Object | semmle.label | in : Object | +| Test.java:1989:9:1989:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1989:19:1989:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:1994:16:1994:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1994:24:1994:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1995:4:1995:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:1995:12:1995:13 | in : Object | semmle.label | in : Object | +| Test.java:1996:9:1996:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1996:19:1996:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2001:16:2001:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2001:24:2001:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2002:4:2002:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2002:18:2002:19 | in : Object | semmle.label | in : Object | +| Test.java:2003:9:2003:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2003:21:2003:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2008:16:2008:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2008:24:2008:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2009:4:2009:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2009:18:2009:19 | in : Object | semmle.label | in : Object | +| Test.java:2010:9:2010:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2010:21:2010:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2015:16:2015:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2015:24:2015:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2016:4:2016:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2016:18:2016:19 | in : Object | semmle.label | in : Object | +| Test.java:2017:9:2017:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2017:21:2017:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2022:36:2022:71 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2022:64:2022:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2023:10:2023:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2023:10:2023:27 | put(...) : Builder | semmle.label | put(...) : Builder | +| Test.java:2024:9:2024:11 | out | semmle.label | out | +| Test.java:2029:36:2029:71 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2029:64:2029:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2030:10:2030:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2030:10:2030:21 | put(...) : Builder | semmle.label | put(...) : Builder | +| Test.java:2031:9:2031:11 | out | semmle.label | out | +| Test.java:2036:30:2036:59 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2036:52:2036:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2037:10:2037:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2037:10:2037:27 | put(...) : Builder | semmle.label | put(...) : Builder | +| Test.java:2038:9:2038:11 | out | semmle.label | out | +| Test.java:2043:30:2043:59 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2043:52:2043:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2044:10:2044:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2044:10:2044:21 | put(...) : Builder | semmle.label | put(...) : Builder | +| Test.java:2045:9:2045:11 | out | semmle.label | out | +| Test.java:2050:32:2050:63 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2050:56:2050:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2051:10:2051:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2051:10:2051:27 | put(...) : Builder | semmle.label | put(...) : Builder | +| Test.java:2052:9:2052:11 | out | semmle.label | out | +| Test.java:2057:32:2057:63 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2057:56:2057:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2058:10:2058:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2058:10:2058:21 | put(...) : Builder | semmle.label | put(...) : Builder | +| Test.java:2059:9:2059:11 | out | semmle.label | out | +| Test.java:2064:18:2064:64 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:2064:28:2064:64 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:2064:36:2064:63 | newEntryWithMapKey(...) : Entry [] : Object | semmle.label | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2064:55:2064:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2065:4:2065:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2065:15:2065:16 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:2066:9:2066:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2066:19:2066:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2071:18:2071:64 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:2071:28:2071:64 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:2071:36:2071:63 | newEntryWithMapKey(...) : Entry [] : Object | semmle.label | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2071:55:2071:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2072:4:2072:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2072:15:2072:16 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:2073:9:2073:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2073:19:2073:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2078:18:2078:64 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:2078:28:2078:64 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:2078:36:2078:63 | newEntryWithMapKey(...) : Entry [] : Object | semmle.label | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2078:55:2078:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2079:4:2079:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2079:15:2079:16 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:2080:9:2080:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2080:19:2080:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2085:18:2085:66 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:2085:28:2085:66 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:2085:36:2085:65 | newEntryWithMapValue(...) : Entry [] : Object | semmle.label | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2085:57:2085:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2086:4:2086:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2086:15:2086:16 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:2087:9:2087:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2087:21:2087:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2092:18:2092:66 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:2092:28:2092:66 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:2092:36:2092:65 | newEntryWithMapValue(...) : Entry [] : Object | semmle.label | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2092:57:2092:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2093:4:2093:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2093:15:2093:16 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:2094:9:2094:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2094:21:2094:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2099:18:2099:66 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:2099:28:2099:66 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:2099:36:2099:65 | newEntryWithMapValue(...) : Entry [] : Object | semmle.label | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2099:57:2099:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2100:4:2100:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2100:15:2100:16 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:2101:9:2101:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2101:21:2101:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2106:13:2106:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:2106:18:2106:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:2106:25:2106:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2107:4:2107:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2107:15:2107:16 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:2108:9:2108:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2108:19:2108:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2113:13:2113:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:2113:18:2113:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:2113:25:2113:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2114:4:2114:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2114:15:2114:16 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:2115:9:2115:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2115:19:2115:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2120:13:2120:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:2120:18:2120:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:2120:25:2120:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2121:4:2121:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2121:15:2121:16 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:2122:9:2122:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2122:19:2122:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2127:13:2127:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:2127:18:2127:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:2127:31:2127:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2128:4:2128:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2128:15:2128:16 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:2129:9:2129:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2129:21:2129:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2134:13:2134:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:2134:18:2134:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:2134:31:2134:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2135:4:2135:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2135:15:2135:16 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:2136:9:2136:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2136:21:2136:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2141:13:2141:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:2141:18:2141:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:2141:31:2141:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2142:4:2142:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2142:15:2142:16 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:2143:9:2143:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2143:21:2143:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2148:36:2148:71 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2148:64:2148:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2149:10:2149:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2149:10:2149:29 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2150:9:2150:11 | out | semmle.label | out | +| Test.java:2155:36:2155:71 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2155:64:2155:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2156:10:2156:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2156:10:2156:34 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2157:9:2157:11 | out | semmle.label | out | +| Test.java:2162:30:2162:59 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2162:52:2162:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2163:10:2163:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2163:10:2163:29 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2164:9:2164:11 | out | semmle.label | out | +| Test.java:2169:30:2169:59 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2169:52:2169:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2170:10:2170:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2170:10:2170:34 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2171:9:2171:11 | out | semmle.label | out | +| Test.java:2176:32:2176:63 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2176:56:2176:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2177:10:2177:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2177:10:2177:29 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2178:9:2178:11 | out | semmle.label | out | +| Test.java:2183:32:2183:63 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2183:56:2183:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2184:10:2184:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2184:10:2184:34 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2185:9:2185:11 | out | semmle.label | out | +| Test.java:2190:18:2190:64 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:2190:28:2190:64 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:2190:36:2190:63 | newEntryWithMapKey(...) : Entry [] : Object | semmle.label | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2190:55:2190:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2191:10:2191:32 | copyOf(...) : ImmutableMap [] : Object | semmle.label | copyOf(...) : ImmutableMap [] : Object | +| Test.java:2191:30:2191:31 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:2192:9:2192:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2192:19:2192:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2197:18:2197:66 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:2197:28:2197:66 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:2197:36:2197:65 | newEntryWithMapValue(...) : Entry [] : Object | semmle.label | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2197:57:2197:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2198:10:2198:32 | copyOf(...) : ImmutableMap [] : Object | semmle.label | copyOf(...) : ImmutableMap [] : Object | +| Test.java:2198:30:2198:31 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:2199:9:2199:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2199:21:2199:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2204:13:2204:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:2204:18:2204:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:2204:25:2204:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2205:10:2205:32 | copyOf(...) : ImmutableMap [] : Object | semmle.label | copyOf(...) : ImmutableMap [] : Object | +| Test.java:2205:30:2205:31 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:2206:9:2206:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2206:19:2206:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2211:13:2211:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:2211:18:2211:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:2211:31:2211:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2212:10:2212:32 | copyOf(...) : ImmutableMap [] : Object | semmle.label | copyOf(...) : ImmutableMap [] : Object | +| Test.java:2212:30:2212:31 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:2213:9:2213:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2213:21:2213:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2218:16:2218:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2218:24:2218:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2219:10:2219:82 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2219:26:2219:27 | in : Object | semmle.label | in : Object | +| Test.java:2220:9:2220:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2220:19:2220:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2225:16:2225:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2225:24:2225:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2226:10:2226:70 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2226:26:2226:27 | in : Object | semmle.label | in : Object | +| Test.java:2227:9:2227:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2227:19:2227:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2232:16:2232:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2232:24:2232:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2233:10:2233:58 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2233:26:2233:27 | in : Object | semmle.label | in : Object | +| Test.java:2234:9:2234:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2234:19:2234:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2239:16:2239:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2239:24:2239:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2240:10:2240:46 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2240:26:2240:27 | in : Object | semmle.label | in : Object | +| Test.java:2241:9:2241:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2241:19:2241:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2246:16:2246:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2246:24:2246:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2247:10:2247:34 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2247:26:2247:27 | in : Object | semmle.label | in : Object | +| Test.java:2248:9:2248:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2248:19:2248:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2253:16:2253:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2253:24:2253:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2254:10:2254:82 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2254:32:2254:33 | in : Object | semmle.label | in : Object | +| Test.java:2255:9:2255:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2255:21:2255:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2260:16:2260:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2260:24:2260:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2261:10:2261:70 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2261:32:2261:33 | in : Object | semmle.label | in : Object | +| Test.java:2262:9:2262:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2262:21:2262:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2267:16:2267:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2267:24:2267:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2268:10:2268:58 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2268:32:2268:33 | in : Object | semmle.label | in : Object | +| Test.java:2269:9:2269:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2269:21:2269:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2274:16:2274:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2274:24:2274:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2275:10:2275:46 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2275:32:2275:33 | in : Object | semmle.label | in : Object | +| Test.java:2276:9:2276:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2276:21:2276:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2281:16:2281:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2281:24:2281:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2282:10:2282:34 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2282:32:2282:33 | in : Object | semmle.label | in : Object | +| Test.java:2283:9:2283:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2283:21:2283:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2288:16:2288:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2288:24:2288:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2289:10:2289:82 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2289:38:2289:39 | in : Object | semmle.label | in : Object | +| Test.java:2290:9:2290:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2290:19:2290:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2295:16:2295:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2295:24:2295:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2296:10:2296:70 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2296:38:2296:39 | in : Object | semmle.label | in : Object | +| Test.java:2297:9:2297:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2297:19:2297:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2302:16:2302:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2302:24:2302:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2303:10:2303:58 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2303:38:2303:39 | in : Object | semmle.label | in : Object | +| Test.java:2304:9:2304:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2304:19:2304:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2309:16:2309:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2309:24:2309:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2310:10:2310:46 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2310:38:2310:39 | in : Object | semmle.label | in : Object | +| Test.java:2311:9:2311:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2311:19:2311:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2316:16:2316:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2316:24:2316:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2317:10:2317:82 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2317:44:2317:45 | in : Object | semmle.label | in : Object | +| Test.java:2318:9:2318:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2318:21:2318:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2323:16:2323:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2323:24:2323:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2324:10:2324:70 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2324:44:2324:45 | in : Object | semmle.label | in : Object | +| Test.java:2325:9:2325:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2325:21:2325:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2330:16:2330:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2330:24:2330:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2331:10:2331:58 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2331:44:2331:45 | in : Object | semmle.label | in : Object | +| Test.java:2332:9:2332:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2332:21:2332:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2337:16:2337:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2337:24:2337:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2338:10:2338:46 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2338:44:2338:45 | in : Object | semmle.label | in : Object | +| Test.java:2339:9:2339:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2339:21:2339:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2344:16:2344:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2344:24:2344:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2345:10:2345:82 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2345:50:2345:51 | in : Object | semmle.label | in : Object | +| Test.java:2346:9:2346:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2346:19:2346:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2351:16:2351:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2351:24:2351:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2352:10:2352:70 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2352:50:2352:51 | in : Object | semmle.label | in : Object | +| Test.java:2353:9:2353:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2353:19:2353:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2358:16:2358:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2358:24:2358:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2359:10:2359:58 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2359:50:2359:51 | in : Object | semmle.label | in : Object | +| Test.java:2360:9:2360:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2360:19:2360:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2365:16:2365:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2365:24:2365:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2366:10:2366:82 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2366:56:2366:57 | in : Object | semmle.label | in : Object | +| Test.java:2367:9:2367:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2367:21:2367:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2372:16:2372:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2372:24:2372:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2373:10:2373:70 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2373:56:2373:57 | in : Object | semmle.label | in : Object | +| Test.java:2374:9:2374:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2374:21:2374:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2379:16:2379:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2379:24:2379:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2380:10:2380:58 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2380:56:2380:57 | in : Object | semmle.label | in : Object | +| Test.java:2381:9:2381:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2381:21:2381:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2386:16:2386:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2386:24:2386:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2387:10:2387:82 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2387:62:2387:63 | in : Object | semmle.label | in : Object | +| Test.java:2388:9:2388:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2388:19:2388:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2393:16:2393:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2393:24:2393:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2394:10:2394:70 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2394:62:2394:63 | in : Object | semmle.label | in : Object | +| Test.java:2395:9:2395:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2395:19:2395:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2400:16:2400:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2400:24:2400:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2401:10:2401:82 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2401:68:2401:69 | in : Object | semmle.label | in : Object | +| Test.java:2402:9:2402:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2402:21:2402:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2407:16:2407:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2407:24:2407:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2408:10:2408:70 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2408:68:2408:69 | in : Object | semmle.label | in : Object | +| Test.java:2409:9:2409:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2409:21:2409:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2414:16:2414:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2414:24:2414:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2415:10:2415:82 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2415:74:2415:75 | in : Object | semmle.label | in : Object | +| Test.java:2416:9:2416:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2416:19:2416:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2421:16:2421:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2421:24:2421:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2422:10:2422:82 | of(...) : ImmutableMap [] : Object | semmle.label | of(...) : ImmutableMap [] : Object | +| Test.java:2422:80:2422:81 | in : Object | semmle.label | in : Object | +| Test.java:2423:9:2423:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2423:21:2423:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:2428:38:2428:117 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:2428:68:2428:117 | put(...) : Builder [] : Object | semmle.label | put(...) : Builder [] : Object | +| Test.java:2428:103:2428:110 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2429:10:2429:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:2429:10:2429:19 | build(...) : ImmutableSetMultimap [] : Object | semmle.label | build(...) : ImmutableSetMultimap [] : Object | +| Test.java:2430:9:2430:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2430:19:2430:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:2435:35:2435:108 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:2435:62:2435:108 | put(...) : Builder [] : Object | semmle.label | put(...) : Builder [] : Object | +| Test.java:2435:94:2435:101 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2436:10:2436:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:2436:10:2436:19 | build(...) : ImmutableMultimap [] : Object | semmle.label | build(...) : ImmutableMultimap [] : Object | +| Test.java:2437:9:2437:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2437:19:2437:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:2442:39:2442:120 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:2442:70:2442:120 | put(...) : Builder [] : Object | semmle.label | put(...) : Builder [] : Object | +| Test.java:2442:106:2442:113 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2443:10:2443:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:2443:10:2443:19 | build(...) : ImmutableListMultimap [] : Object | semmle.label | build(...) : ImmutableListMultimap [] : Object | +| Test.java:2444:9:2444:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2444:19:2444:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:2449:38:2449:117 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:2449:68:2449:117 | put(...) : Builder [] : Object | semmle.label | put(...) : Builder [] : Object | +| Test.java:2449:109:2449:116 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2450:10:2450:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:2450:10:2450:19 | build(...) : ImmutableSetMultimap [] : Object | semmle.label | build(...) : ImmutableSetMultimap [] : Object | +| Test.java:2451:9:2451:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2451:21:2451:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:2456:35:2456:108 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:2456:62:2456:108 | put(...) : Builder [] : Object | semmle.label | put(...) : Builder [] : Object | +| Test.java:2456:100:2456:107 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2457:10:2457:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:2457:10:2457:19 | build(...) : ImmutableMultimap [] : Object | semmle.label | build(...) : ImmutableMultimap [] : Object | +| Test.java:2458:9:2458:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2458:21:2458:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:2463:39:2463:120 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:2463:70:2463:120 | put(...) : Builder [] : Object | semmle.label | put(...) : Builder [] : Object | +| Test.java:2463:112:2463:119 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2464:10:2464:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:2464:10:2464:19 | build(...) : ImmutableListMultimap [] : Object | semmle.label | build(...) : ImmutableListMultimap [] : Object | +| Test.java:2465:9:2465:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2465:21:2465:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:2470:38:2470:75 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2470:68:2470:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2471:10:2471:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2471:10:2471:29 | orderKeysBy(...) : Builder | semmle.label | orderKeysBy(...) : Builder | +| Test.java:2472:9:2472:11 | out | semmle.label | out | +| Test.java:2477:35:2477:69 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2477:62:2477:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2478:10:2478:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2478:10:2478:29 | orderKeysBy(...) : Builder | semmle.label | orderKeysBy(...) : Builder | +| Test.java:2479:9:2479:11 | out | semmle.label | out | +| Test.java:2484:39:2484:77 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2484:70:2484:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2485:10:2485:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2485:10:2485:29 | orderKeysBy(...) : Builder | semmle.label | orderKeysBy(...) : Builder | +| Test.java:2486:9:2486:11 | out | semmle.label | out | +| Test.java:2491:38:2491:75 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2491:68:2491:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2492:10:2492:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2492:10:2492:31 | orderValuesBy(...) : Builder | semmle.label | orderValuesBy(...) : Builder | +| Test.java:2493:9:2493:11 | out | semmle.label | out | +| Test.java:2498:35:2498:69 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2498:62:2498:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2499:10:2499:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2499:10:2499:31 | orderValuesBy(...) : Builder | semmle.label | orderValuesBy(...) : Builder | +| Test.java:2500:9:2500:11 | out | semmle.label | out | +| Test.java:2505:39:2505:77 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2505:70:2505:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2506:10:2506:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2506:10:2506:31 | orderValuesBy(...) : Builder | semmle.label | orderValuesBy(...) : Builder | +| Test.java:2507:9:2507:11 | out | semmle.label | out | +| Test.java:2512:19:2512:57 | (...)... : Entry [] : Object | semmle.label | (...)... : Entry [] : Object | +| Test.java:2512:30:2512:57 | newEntryWithMapKey(...) : Entry [] : Object | semmle.label | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2512:49:2512:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2513:4:2513:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2513:12:2513:13 | in : Entry [] : Object | semmle.label | in : Entry [] : Object | +| Test.java:2514:9:2514:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2514:19:2514:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2519:19:2519:57 | (...)... : Entry [] : Object | semmle.label | (...)... : Entry [] : Object | +| Test.java:2519:30:2519:57 | newEntryWithMapKey(...) : Entry [] : Object | semmle.label | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2519:49:2519:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2520:4:2520:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2520:12:2520:13 | in : Entry [] : Object | semmle.label | in : Entry [] : Object | +| Test.java:2521:9:2521:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2521:19:2521:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2526:19:2526:57 | (...)... : Entry [] : Object | semmle.label | (...)... : Entry [] : Object | +| Test.java:2526:30:2526:57 | newEntryWithMapKey(...) : Entry [] : Object | semmle.label | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2526:49:2526:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2527:4:2527:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2527:12:2527:13 | in : Entry [] : Object | semmle.label | in : Entry [] : Object | +| Test.java:2528:9:2528:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2528:19:2528:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2533:19:2533:59 | (...)... : Entry [] : Object | semmle.label | (...)... : Entry [] : Object | +| Test.java:2533:30:2533:59 | newEntryWithMapValue(...) : Entry [] : Object | semmle.label | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2533:51:2533:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2534:4:2534:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2534:12:2534:13 | in : Entry [] : Object | semmle.label | in : Entry [] : Object | +| Test.java:2535:9:2535:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2535:21:2535:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2540:19:2540:59 | (...)... : Entry [] : Object | semmle.label | (...)... : Entry [] : Object | +| Test.java:2540:30:2540:59 | newEntryWithMapValue(...) : Entry [] : Object | semmle.label | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2540:51:2540:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2541:4:2541:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2541:12:2541:13 | in : Entry [] : Object | semmle.label | in : Entry [] : Object | +| Test.java:2542:9:2542:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2542:21:2542:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2547:19:2547:59 | (...)... : Entry [] : Object | semmle.label | (...)... : Entry [] : Object | +| Test.java:2547:30:2547:59 | newEntryWithMapValue(...) : Entry [] : Object | semmle.label | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2547:51:2547:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2548:4:2548:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2548:12:2548:13 | in : Entry [] : Object | semmle.label | in : Entry [] : Object | +| Test.java:2549:9:2549:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2549:21:2549:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2554:16:2554:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2554:24:2554:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2555:4:2555:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2555:12:2555:13 | in : Object | semmle.label | in : Object | +| Test.java:2556:9:2556:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2556:19:2556:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2561:16:2561:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2561:24:2561:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2562:4:2562:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2562:12:2562:13 | in : Object | semmle.label | in : Object | +| Test.java:2563:9:2563:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2563:19:2563:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2568:16:2568:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2568:24:2568:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2569:4:2569:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2569:12:2569:13 | in : Object | semmle.label | in : Object | +| Test.java:2570:9:2570:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2570:19:2570:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2575:16:2575:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2575:24:2575:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2576:4:2576:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2576:18:2576:19 | in : Object | semmle.label | in : Object | +| Test.java:2577:9:2577:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2577:21:2577:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2582:16:2582:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2582:24:2582:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2583:4:2583:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2583:18:2583:19 | in : Object | semmle.label | in : Object | +| Test.java:2584:9:2584:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2584:21:2584:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2589:16:2589:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2589:24:2589:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2590:4:2590:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2590:18:2590:19 | in : Object | semmle.label | in : Object | +| Test.java:2591:9:2591:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2591:21:2591:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2596:38:2596:75 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2596:68:2596:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2597:10:2597:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2597:10:2597:27 | put(...) : Builder | semmle.label | put(...) : Builder | +| Test.java:2598:9:2598:11 | out | semmle.label | out | +| Test.java:2603:38:2603:75 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2603:68:2603:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2604:10:2604:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2604:10:2604:21 | put(...) : Builder | semmle.label | put(...) : Builder | +| Test.java:2605:9:2605:11 | out | semmle.label | out | +| Test.java:2610:35:2610:69 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2610:62:2610:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2611:10:2611:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2611:10:2611:27 | put(...) : Builder | semmle.label | put(...) : Builder | +| Test.java:2612:9:2612:11 | out | semmle.label | out | +| Test.java:2617:35:2617:69 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2617:62:2617:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2618:10:2618:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2618:10:2618:21 | put(...) : Builder | semmle.label | put(...) : Builder | +| Test.java:2619:9:2619:11 | out | semmle.label | out | +| Test.java:2624:39:2624:77 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2624:70:2624:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2625:10:2625:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2625:10:2625:27 | put(...) : Builder | semmle.label | put(...) : Builder | +| Test.java:2626:9:2626:11 | out | semmle.label | out | +| Test.java:2631:39:2631:77 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2631:70:2631:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2632:10:2632:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2632:10:2632:21 | put(...) : Builder | semmle.label | put(...) : Builder | +| Test.java:2633:9:2633:11 | out | semmle.label | out | +| Test.java:2638:18:2638:64 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:2638:28:2638:64 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:2638:36:2638:63 | newEntryWithMapKey(...) : Entry [] : Object | semmle.label | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2638:55:2638:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2639:4:2639:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2639:15:2639:16 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:2640:9:2640:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2640:19:2640:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2645:18:2645:64 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:2645:28:2645:64 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:2645:36:2645:63 | newEntryWithMapKey(...) : Entry [] : Object | semmle.label | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2645:55:2645:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2646:4:2646:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2646:15:2646:16 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:2647:9:2647:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2647:19:2647:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2652:18:2652:64 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:2652:28:2652:64 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:2652:36:2652:63 | newEntryWithMapKey(...) : Entry [] : Object | semmle.label | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2652:55:2652:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2653:4:2653:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2653:15:2653:16 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:2654:9:2654:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2654:19:2654:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2659:18:2659:66 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:2659:28:2659:66 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:2659:36:2659:65 | newEntryWithMapValue(...) : Entry [] : Object | semmle.label | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2659:57:2659:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2660:4:2660:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2660:15:2660:16 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:2661:9:2661:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2661:21:2661:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2666:18:2666:66 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:2666:28:2666:66 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:2666:36:2666:65 | newEntryWithMapValue(...) : Entry [] : Object | semmle.label | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2666:57:2666:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2667:4:2667:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2667:15:2667:16 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:2668:9:2668:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2668:21:2668:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2673:18:2673:66 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:2673:28:2673:66 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:2673:36:2673:65 | newEntryWithMapValue(...) : Entry [] : Object | semmle.label | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2673:57:2673:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2674:4:2674:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2674:15:2674:16 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:2675:9:2675:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2675:21:2675:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2680:18:2680:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:2680:28:2680:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:2680:49:2680:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2681:4:2681:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2681:15:2681:16 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:2682:9:2682:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2682:19:2682:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2687:18:2687:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:2687:28:2687:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:2687:49:2687:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2688:4:2688:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2688:15:2688:16 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:2689:9:2689:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2689:19:2689:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2694:18:2694:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:2694:28:2694:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:2694:49:2694:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2695:4:2695:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2695:15:2695:16 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:2696:9:2696:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2696:19:2696:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2701:18:2701:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:2701:28:2701:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:2701:55:2701:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2702:4:2702:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2702:15:2702:16 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:2703:9:2703:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2703:21:2703:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2708:18:2708:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:2708:28:2708:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:2708:55:2708:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2709:4:2709:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2709:15:2709:16 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:2710:9:2710:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2710:21:2710:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2715:18:2715:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:2715:28:2715:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:2715:55:2715:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2716:4:2716:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2716:15:2716:16 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:2717:9:2717:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2717:21:2717:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2722:16:2722:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2722:24:2722:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2723:4:2723:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2723:15:2723:16 | in : Object | semmle.label | in : Object | +| Test.java:2724:9:2724:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2724:19:2724:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2729:16:2729:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2729:24:2729:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2730:4:2730:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2730:15:2730:16 | in : Object | semmle.label | in : Object | +| Test.java:2731:9:2731:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2731:19:2731:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2736:16:2736:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2736:24:2736:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2737:4:2737:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2737:15:2737:16 | in : Object | semmle.label | in : Object | +| Test.java:2738:9:2738:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2738:19:2738:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2743:18:2743:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:2743:28:2743:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:2743:36:2743:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2744:4:2744:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2744:29:2744:30 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:2745:9:2745:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2745:21:2745:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2750:18:2750:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:2750:28:2750:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:2750:36:2750:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2751:4:2751:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2751:29:2751:30 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:2752:9:2752:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2752:21:2752:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2757:18:2757:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:2757:28:2757:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:2757:36:2757:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2758:4:2758:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2758:29:2758:30 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:2759:9:2759:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2759:21:2759:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2764:16:2764:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2764:24:2764:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2765:4:2765:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2765:15:2765:16 | in : Object | semmle.label | in : Object | +| Test.java:2766:9:2766:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2766:19:2766:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2771:16:2771:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2771:24:2771:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2772:4:2772:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2772:15:2772:16 | in : Object | semmle.label | in : Object | +| Test.java:2773:9:2773:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2773:19:2773:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2778:16:2778:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2778:24:2778:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2779:4:2779:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2779:15:2779:16 | in : Object | semmle.label | in : Object | +| Test.java:2780:9:2780:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2780:19:2780:21 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2785:18:2785:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:2785:28:2785:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:2785:41:2785:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2786:4:2786:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2786:29:2786:30 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:2787:9:2787:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2787:21:2787:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2792:18:2792:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:2792:28:2792:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:2792:41:2792:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2793:4:2793:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2793:29:2793:30 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:2794:9:2794:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2794:21:2794:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2799:18:2799:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:2799:28:2799:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:2799:41:2799:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2800:4:2800:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:2800:29:2800:30 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:2801:9:2801:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2801:21:2801:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:2806:38:2806:75 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2806:68:2806:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2807:10:2807:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2807:10:2807:48 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2808:9:2808:11 | out | semmle.label | out | +| Test.java:2813:38:2813:75 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2813:68:2813:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2814:10:2814:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2814:10:2814:48 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2815:9:2815:11 | out | semmle.label | out | +| Test.java:2820:38:2820:75 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2820:68:2820:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2821:10:2821:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2821:10:2821:34 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2822:9:2822:11 | out | semmle.label | out | +| Test.java:2827:38:2827:75 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2827:68:2827:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2828:10:2828:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2828:10:2828:34 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2829:9:2829:11 | out | semmle.label | out | +| Test.java:2834:35:2834:69 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2834:62:2834:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2835:10:2835:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2835:10:2835:48 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2836:9:2836:11 | out | semmle.label | out | +| Test.java:2841:35:2841:69 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2841:62:2841:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2842:10:2842:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2842:10:2842:48 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2843:9:2843:11 | out | semmle.label | out | +| Test.java:2848:35:2848:69 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2848:62:2848:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2849:10:2849:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2849:10:2849:34 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2850:9:2850:11 | out | semmle.label | out | +| Test.java:2855:35:2855:69 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2855:62:2855:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2856:10:2856:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2856:10:2856:34 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2857:9:2857:11 | out | semmle.label | out | +| Test.java:2862:39:2862:77 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2862:70:2862:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2863:10:2863:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2863:10:2863:48 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2864:9:2864:11 | out | semmle.label | out | +| Test.java:2869:39:2869:77 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2869:70:2869:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2870:10:2870:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2870:10:2870:48 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2871:9:2871:11 | out | semmle.label | out | +| Test.java:2876:39:2876:77 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2876:70:2876:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2877:10:2877:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2877:10:2877:34 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2878:9:2878:11 | out | semmle.label | out | +| Test.java:2883:39:2883:77 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:2883:70:2883:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2884:10:2884:11 | in : Builder | semmle.label | in : Builder | +| Test.java:2884:10:2884:34 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:2885:9:2885:11 | out | semmle.label | out | +| Test.java:2890:18:2890:64 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:2890:28:2890:64 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:2890:36:2890:63 | newEntryWithMapKey(...) : Entry [] : Object | semmle.label | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2890:55:2890:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2891:10:2891:37 | copyOf(...) : ImmutableMultimap [] : Object | semmle.label | copyOf(...) : ImmutableMultimap [] : Object | +| Test.java:2891:35:2891:36 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:2892:9:2892:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2892:19:2892:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:2897:18:2897:66 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:2897:28:2897:66 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:2897:36:2897:65 | newEntryWithMapValue(...) : Entry [] : Object | semmle.label | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2897:57:2897:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2898:10:2898:37 | copyOf(...) : ImmutableMultimap [] : Object | semmle.label | copyOf(...) : ImmutableMultimap [] : Object | +| Test.java:2898:35:2898:36 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:2899:9:2899:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2899:21:2899:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:2904:18:2904:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:2904:28:2904:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:2904:49:2904:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2905:10:2905:37 | copyOf(...) : ImmutableMultimap [] : Object | semmle.label | copyOf(...) : ImmutableMultimap [] : Object | +| Test.java:2905:35:2905:36 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:2906:9:2906:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2906:19:2906:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:2911:18:2911:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:2911:28:2911:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:2911:55:2911:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2912:10:2912:37 | copyOf(...) : ImmutableMultimap [] : Object | semmle.label | copyOf(...) : ImmutableMultimap [] : Object | +| Test.java:2912:35:2912:36 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:2913:9:2913:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2913:21:2913:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:2918:30:2918:90 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:2918:52:2918:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:2918:76:2918:83 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2919:10:2919:11 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:2919:10:2919:21 | inverse(...) : ImmutableSetMultimap [] : Object | semmle.label | inverse(...) : ImmutableSetMultimap [] : Object | +| Test.java:2920:9:2920:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2920:21:2920:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:2925:27:2925:81 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:2925:46:2925:81 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:2925:67:2925:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2926:10:2926:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:2926:10:2926:21 | inverse(...) : ImmutableMultimap [] : Object | semmle.label | inverse(...) : ImmutableMultimap [] : Object | +| Test.java:2927:9:2927:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2927:21:2927:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:2932:31:2932:93 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:2932:54:2932:93 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:2932:79:2932:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2933:10:2933:11 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:2933:10:2933:21 | inverse(...) : ImmutableListMultimap [] : Object | semmle.label | inverse(...) : ImmutableListMultimap [] : Object | +| Test.java:2934:9:2934:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2934:21:2934:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:2939:30:2939:90 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:2939:52:2939:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:2939:82:2939:89 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2940:10:2940:11 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:2940:10:2940:21 | inverse(...) : ImmutableSetMultimap [] : Object | semmle.label | inverse(...) : ImmutableSetMultimap [] : Object | +| Test.java:2941:9:2941:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2941:19:2941:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:2946:27:2946:81 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:2946:46:2946:81 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:2946:73:2946:80 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2947:10:2947:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:2947:10:2947:21 | inverse(...) : ImmutableMultimap [] : Object | semmle.label | inverse(...) : ImmutableMultimap [] : Object | +| Test.java:2948:9:2948:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2948:19:2948:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:2953:31:2953:93 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:2953:54:2953:93 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:2953:85:2953:92 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2954:10:2954:11 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:2954:10:2954:21 | inverse(...) : ImmutableListMultimap [] : Object | semmle.label | inverse(...) : ImmutableListMultimap [] : Object | +| Test.java:2955:9:2955:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2955:19:2955:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:2960:16:2960:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2960:24:2960:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2961:10:2961:87 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:2961:31:2961:32 | in : Object | semmle.label | in : Object | +| Test.java:2962:9:2962:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2962:19:2962:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:2967:16:2967:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2967:24:2967:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2968:10:2968:75 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:2968:31:2968:32 | in : Object | semmle.label | in : Object | +| Test.java:2969:9:2969:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2969:19:2969:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:2974:16:2974:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2974:24:2974:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2975:10:2975:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:2975:31:2975:32 | in : Object | semmle.label | in : Object | +| Test.java:2976:9:2976:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2976:19:2976:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:2981:16:2981:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2981:24:2981:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2982:10:2982:51 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:2982:31:2982:32 | in : Object | semmle.label | in : Object | +| Test.java:2983:9:2983:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2983:19:2983:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:2988:16:2988:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2988:24:2988:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2989:10:2989:39 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:2989:31:2989:32 | in : Object | semmle.label | in : Object | +| Test.java:2990:9:2990:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2990:19:2990:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:2995:16:2995:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2995:24:2995:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2996:10:2996:87 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:2996:37:2996:38 | in : Object | semmle.label | in : Object | +| Test.java:2997:9:2997:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2997:21:2997:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3002:16:3002:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3002:24:3002:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3003:10:3003:75 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3003:37:3003:38 | in : Object | semmle.label | in : Object | +| Test.java:3004:9:3004:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3004:21:3004:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3009:16:3009:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3009:24:3009:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3010:10:3010:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3010:37:3010:38 | in : Object | semmle.label | in : Object | +| Test.java:3011:9:3011:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3011:21:3011:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3016:16:3016:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3016:24:3016:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3017:10:3017:51 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3017:37:3017:38 | in : Object | semmle.label | in : Object | +| Test.java:3018:9:3018:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3018:21:3018:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3023:16:3023:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3023:24:3023:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3024:10:3024:39 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3024:37:3024:38 | in : Object | semmle.label | in : Object | +| Test.java:3025:9:3025:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3025:21:3025:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3030:16:3030:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3030:24:3030:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3031:10:3031:87 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3031:43:3031:44 | in : Object | semmle.label | in : Object | +| Test.java:3032:9:3032:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3032:19:3032:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3037:16:3037:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3037:24:3037:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3038:10:3038:75 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3038:43:3038:44 | in : Object | semmle.label | in : Object | +| Test.java:3039:9:3039:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3039:19:3039:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3044:16:3044:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3044:24:3044:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3045:10:3045:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3045:43:3045:44 | in : Object | semmle.label | in : Object | +| Test.java:3046:9:3046:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3046:19:3046:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3051:16:3051:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3051:24:3051:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3052:10:3052:51 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3052:43:3052:44 | in : Object | semmle.label | in : Object | +| Test.java:3053:9:3053:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3053:19:3053:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3058:16:3058:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3058:24:3058:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3059:10:3059:87 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3059:49:3059:50 | in : Object | semmle.label | in : Object | +| Test.java:3060:9:3060:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3060:21:3060:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3065:16:3065:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3065:24:3065:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3066:10:3066:75 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3066:49:3066:50 | in : Object | semmle.label | in : Object | +| Test.java:3067:9:3067:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3067:21:3067:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3072:16:3072:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3072:24:3072:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3073:10:3073:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3073:49:3073:50 | in : Object | semmle.label | in : Object | +| Test.java:3074:9:3074:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3074:21:3074:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3079:16:3079:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3079:24:3079:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3080:10:3080:51 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3080:49:3080:50 | in : Object | semmle.label | in : Object | +| Test.java:3081:9:3081:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3081:21:3081:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3086:16:3086:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3086:24:3086:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3087:10:3087:87 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3087:55:3087:56 | in : Object | semmle.label | in : Object | +| Test.java:3088:9:3088:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3088:19:3088:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3093:16:3093:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3093:24:3093:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3094:10:3094:75 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3094:55:3094:56 | in : Object | semmle.label | in : Object | +| Test.java:3095:9:3095:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3095:19:3095:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3100:16:3100:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3100:24:3100:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3101:10:3101:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3101:55:3101:56 | in : Object | semmle.label | in : Object | +| Test.java:3102:9:3102:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3102:19:3102:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3107:16:3107:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3107:24:3107:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3108:10:3108:87 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3108:61:3108:62 | in : Object | semmle.label | in : Object | +| Test.java:3109:9:3109:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3109:21:3109:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3114:16:3114:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3114:24:3114:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3115:10:3115:75 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3115:61:3115:62 | in : Object | semmle.label | in : Object | +| Test.java:3116:9:3116:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3116:21:3116:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3121:16:3121:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3121:24:3121:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3122:10:3122:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3122:61:3122:62 | in : Object | semmle.label | in : Object | +| Test.java:3123:9:3123:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3123:21:3123:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3128:16:3128:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3128:24:3128:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3129:10:3129:87 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3129:67:3129:68 | in : Object | semmle.label | in : Object | +| Test.java:3130:9:3130:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3130:19:3130:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3135:16:3135:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3135:24:3135:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3136:10:3136:75 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3136:67:3136:68 | in : Object | semmle.label | in : Object | +| Test.java:3137:9:3137:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3137:19:3137:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3142:16:3142:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3142:24:3142:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3143:10:3143:87 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3143:73:3143:74 | in : Object | semmle.label | in : Object | +| Test.java:3144:9:3144:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3144:21:3144:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3149:16:3149:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3149:24:3149:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3150:10:3150:75 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3150:73:3150:74 | in : Object | semmle.label | in : Object | +| Test.java:3151:9:3151:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3151:21:3151:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3156:16:3156:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3156:24:3156:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3157:10:3157:87 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3157:79:3157:80 | in : Object | semmle.label | in : Object | +| Test.java:3158:9:3158:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3158:19:3158:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3163:16:3163:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3163:24:3163:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3164:10:3164:87 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:3164:85:3164:86 | in : Object | semmle.label | in : Object | +| Test.java:3165:9:3165:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3165:21:3165:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:3170:41:3170:81 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:3170:74:3170:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3171:10:3171:11 | in : Builder | semmle.label | in : Builder | +| Test.java:3171:10:3171:30 | addCopies(...) : Builder | semmle.label | addCopies(...) : Builder | +| Test.java:3172:9:3172:11 | out | semmle.label | out | +| Test.java:3177:35:3177:69 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:3177:62:3177:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3178:10:3178:11 | in : Builder | semmle.label | in : Builder | +| Test.java:3178:10:3178:30 | addCopies(...) : Builder | semmle.label | addCopies(...) : Builder | +| Test.java:3179:9:3179:11 | out | semmle.label | out | +| Test.java:3184:16:3184:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3184:24:3184:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3185:4:3185:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:3185:18:3185:19 | in : Object | semmle.label | in : Object | +| Test.java:3186:9:3186:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3186:20:3186:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:3191:16:3191:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3191:24:3191:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3192:4:3192:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:3192:18:3192:19 | in : Object | semmle.label | in : Object | +| Test.java:3193:9:3193:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3193:20:3193:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:3198:16:3198:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3198:24:3198:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3199:4:3199:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:3199:17:3199:18 | in : Object | semmle.label | in : Object | +| Test.java:3200:9:3200:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3200:20:3200:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:3205:16:3205:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3205:24:3205:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3206:4:3206:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:3206:17:3206:18 | in : Object | semmle.label | in : Object | +| Test.java:3207:9:3207:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3207:20:3207:22 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:3212:18:3212:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:3212:28:3212:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:3212:36:3212:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3213:10:3213:37 | copyOf(...) : ImmutableMultiset [] : Object | semmle.label | copyOf(...) : ImmutableMultiset [] : Object | +| Test.java:3213:35:3213:36 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:3214:9:3214:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3214:20:3214:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3219:18:3219:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:3219:28:3219:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:3219:28:3219:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:3219:36:3219:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3220:10:3220:37 | copyOf(...) : ImmutableMultiset [] : Object | semmle.label | copyOf(...) : ImmutableMultiset [] : Object | +| Test.java:3220:35:3220:36 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:3221:9:3221:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3221:20:3221:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3226:18:3226:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:3226:28:3226:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:3226:41:3226:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3227:10:3227:37 | copyOf(...) : ImmutableMultiset [] : Object | semmle.label | copyOf(...) : ImmutableMultiset [] : Object | +| Test.java:3227:35:3227:36 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:3228:9:3228:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3228:20:3228:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3233:16:3233:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3233:24:3233:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3234:10:3234:57 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3234:55:3234:56 | in : Object | semmle.label | in : Object | +| Test.java:3235:9:3235:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3235:20:3235:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3240:16:3240:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3240:24:3240:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3241:10:3241:57 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3241:49:3241:50 | in : Object | semmle.label | in : Object | +| Test.java:3242:9:3242:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3242:20:3242:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3247:16:3247:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3247:24:3247:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3248:10:3248:51 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3248:49:3248:50 | in : Object | semmle.label | in : Object | +| Test.java:3249:9:3249:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3249:20:3249:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3254:16:3254:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3254:24:3254:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3255:10:3255:57 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3255:43:3255:44 | in : Object | semmle.label | in : Object | +| Test.java:3256:9:3256:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3256:20:3256:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3261:16:3261:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3261:24:3261:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3262:10:3262:51 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3262:43:3262:44 | in : Object | semmle.label | in : Object | +| Test.java:3263:9:3263:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3263:20:3263:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3268:16:3268:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3268:24:3268:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3269:10:3269:45 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3269:43:3269:44 | in : Object | semmle.label | in : Object | +| Test.java:3270:9:3270:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3270:20:3270:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3275:16:3275:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3275:24:3275:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3276:10:3276:57 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3276:37:3276:38 | in : Object | semmle.label | in : Object | +| Test.java:3277:9:3277:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3277:20:3277:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3282:16:3282:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3282:24:3282:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3283:10:3283:51 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3283:37:3283:38 | in : Object | semmle.label | in : Object | +| Test.java:3284:9:3284:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3284:20:3284:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3289:16:3289:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3289:24:3289:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3290:10:3290:45 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3290:37:3290:38 | in : Object | semmle.label | in : Object | +| Test.java:3291:9:3291:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3291:20:3291:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3296:16:3296:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3296:24:3296:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3297:10:3297:39 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3297:37:3297:38 | in : Object | semmle.label | in : Object | +| Test.java:3298:9:3298:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3298:20:3298:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3303:16:3303:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3303:24:3303:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3304:10:3304:57 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3304:31:3304:32 | in : Object | semmle.label | in : Object | +| Test.java:3305:9:3305:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3305:20:3305:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3310:16:3310:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3310:24:3310:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3311:10:3311:51 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3311:31:3311:32 | in : Object | semmle.label | in : Object | +| Test.java:3312:9:3312:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3312:20:3312:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3317:16:3317:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3317:24:3317:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3318:10:3318:45 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3318:31:3318:32 | in : Object | semmle.label | in : Object | +| Test.java:3319:9:3319:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3319:20:3319:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3324:16:3324:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3324:24:3324:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3325:10:3325:39 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3325:31:3325:32 | in : Object | semmle.label | in : Object | +| Test.java:3326:9:3326:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3326:20:3326:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3331:16:3331:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3331:24:3331:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3332:10:3332:119 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3332:31:3332:32 | in : Object | semmle.label | in : Object | +| Test.java:3333:9:3333:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3333:20:3333:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3338:16:3338:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3338:24:3338:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3339:10:3339:33 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3339:31:3339:32 | in : Object | semmle.label | in : Object | +| Test.java:3340:9:3340:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3340:20:3340:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3345:16:3345:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3345:24:3345:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3346:10:3346:119 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3346:45:3346:46 | in : Object | semmle.label | in : Object | +| Test.java:3347:9:3347:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3347:20:3347:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3352:16:3352:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3352:24:3352:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3353:10:3353:119 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3353:59:3353:60 | in : Object | semmle.label | in : Object | +| Test.java:3354:9:3354:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3354:20:3354:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3359:16:3359:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3359:24:3359:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3360:10:3360:119 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3360:73:3360:74 | in : Object | semmle.label | in : Object | +| Test.java:3361:9:3361:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3361:20:3361:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3366:16:3366:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3366:24:3366:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3367:10:3367:119 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3367:87:3367:88 | in : Object | semmle.label | in : Object | +| Test.java:3368:9:3368:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3368:20:3368:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3373:16:3373:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3373:24:3373:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3374:10:3374:119 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3374:101:3374:102 | in : Object | semmle.label | in : Object | +| Test.java:3375:9:3375:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3375:20:3375:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3380:18:3380:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:3380:28:3380:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:3380:41:3380:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3381:10:3381:117 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:3381:115:3381:116 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:3382:9:3382:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3382:20:3382:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:3387:20:3387:48 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:3387:32:3387:48 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:3387:40:3387:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3388:10:3388:32 | copyOf(...) : ImmutableSet [] : Object | semmle.label | copyOf(...) : ImmutableSet [] : Object | +| Test.java:3388:30:3388:31 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:3389:9:3389:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3389:20:3389:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3394:18:3394:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:3394:28:3394:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:3394:36:3394:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3395:10:3395:32 | copyOf(...) : ImmutableSet [] : Object | semmle.label | copyOf(...) : ImmutableSet [] : Object | +| Test.java:3395:30:3395:31 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:3396:9:3396:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3396:20:3396:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3401:18:3401:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:3401:28:3401:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:3401:28:3401:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:3401:36:3401:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3402:10:3402:32 | copyOf(...) : ImmutableSet [] : Object | semmle.label | copyOf(...) : ImmutableSet [] : Object | +| Test.java:3402:30:3402:31 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:3403:9:3403:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3403:20:3403:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3408:18:3408:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:3408:28:3408:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:3408:41:3408:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3409:10:3409:32 | copyOf(...) : ImmutableSet [] : Object | semmle.label | copyOf(...) : ImmutableSet [] : Object | +| Test.java:3409:30:3409:31 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:3410:9:3410:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3410:20:3410:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3415:16:3415:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3415:24:3415:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3416:10:3416:52 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3416:50:3416:51 | in : Object | semmle.label | in : Object | +| Test.java:3417:9:3417:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3417:20:3417:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3422:16:3422:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3422:24:3422:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3423:10:3423:52 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3423:44:3423:45 | in : Object | semmle.label | in : Object | +| Test.java:3424:9:3424:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3424:20:3424:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3429:16:3429:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3429:24:3429:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3430:10:3430:46 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3430:44:3430:45 | in : Object | semmle.label | in : Object | +| Test.java:3431:9:3431:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3431:20:3431:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3436:16:3436:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3436:24:3436:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3437:10:3437:52 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3437:38:3437:39 | in : Object | semmle.label | in : Object | +| Test.java:3438:9:3438:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3438:20:3438:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3443:16:3443:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3443:24:3443:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3444:10:3444:46 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3444:38:3444:39 | in : Object | semmle.label | in : Object | +| Test.java:3445:9:3445:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3445:20:3445:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3450:16:3450:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3450:24:3450:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3451:10:3451:40 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3451:38:3451:39 | in : Object | semmle.label | in : Object | +| Test.java:3452:9:3452:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3452:20:3452:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3457:16:3457:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3457:24:3457:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3458:10:3458:52 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3458:32:3458:33 | in : Object | semmle.label | in : Object | +| Test.java:3459:9:3459:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3459:20:3459:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3464:16:3464:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3464:24:3464:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3465:10:3465:46 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3465:32:3465:33 | in : Object | semmle.label | in : Object | +| Test.java:3466:9:3466:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3466:20:3466:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3471:16:3471:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3471:24:3471:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3472:10:3472:40 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3472:32:3472:33 | in : Object | semmle.label | in : Object | +| Test.java:3473:9:3473:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3473:20:3473:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3478:16:3478:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3478:24:3478:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3479:10:3479:34 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3479:32:3479:33 | in : Object | semmle.label | in : Object | +| Test.java:3480:9:3480:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3480:20:3480:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3485:16:3485:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3485:24:3485:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3486:10:3486:52 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3486:26:3486:27 | in : Object | semmle.label | in : Object | +| Test.java:3487:9:3487:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3487:20:3487:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3492:16:3492:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3492:24:3492:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3493:10:3493:46 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3493:26:3493:27 | in : Object | semmle.label | in : Object | +| Test.java:3494:9:3494:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3494:20:3494:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3499:16:3499:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3499:24:3499:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3500:10:3500:40 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3500:26:3500:27 | in : Object | semmle.label | in : Object | +| Test.java:3501:9:3501:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3501:20:3501:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3506:16:3506:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3506:24:3506:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3507:10:3507:34 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3507:26:3507:27 | in : Object | semmle.label | in : Object | +| Test.java:3508:9:3508:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3508:20:3508:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3513:16:3513:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3513:24:3513:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3514:10:3514:114 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3514:26:3514:27 | in : Object | semmle.label | in : Object | +| Test.java:3515:9:3515:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3515:20:3515:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3520:16:3520:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3520:24:3520:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3521:10:3521:28 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3521:26:3521:27 | in : Object | semmle.label | in : Object | +| Test.java:3522:9:3522:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3522:20:3522:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3527:16:3527:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3527:24:3527:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3528:10:3528:114 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3528:40:3528:41 | in : Object | semmle.label | in : Object | +| Test.java:3529:9:3529:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3529:20:3529:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3534:16:3534:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3534:24:3534:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3535:10:3535:114 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3535:54:3535:55 | in : Object | semmle.label | in : Object | +| Test.java:3536:9:3536:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3536:20:3536:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3541:16:3541:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3541:24:3541:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3542:10:3542:114 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3542:68:3542:69 | in : Object | semmle.label | in : Object | +| Test.java:3543:9:3543:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3543:20:3543:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3548:16:3548:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3548:24:3548:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3549:10:3549:114 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3549:82:3549:83 | in : Object | semmle.label | in : Object | +| Test.java:3550:9:3550:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3550:20:3550:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3555:16:3555:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3555:24:3555:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3556:10:3556:114 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3556:96:3556:97 | in : Object | semmle.label | in : Object | +| Test.java:3557:9:3557:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3557:20:3557:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3562:18:3562:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:3562:28:3562:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:3562:41:3562:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3563:10:3563:112 | of(...) : ImmutableSet [] : Object | semmle.label | of(...) : ImmutableSet [] : Object | +| Test.java:3563:110:3563:111 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:3564:9:3564:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:3564:20:3564:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:3569:16:3569:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3569:24:3569:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3570:10:3570:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3570:34:3570:35 | in : Object | semmle.label | in : Object | +| Test.java:3571:9:3571:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3571:19:3571:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3576:16:3576:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3576:24:3576:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3577:10:3577:78 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3577:34:3577:35 | in : Object | semmle.label | in : Object | +| Test.java:3578:9:3578:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3578:19:3578:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3583:16:3583:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3583:24:3583:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3584:10:3584:66 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3584:34:3584:35 | in : Object | semmle.label | in : Object | +| Test.java:3585:9:3585:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3585:19:3585:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3590:16:3590:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3590:24:3590:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3591:10:3591:54 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3591:34:3591:35 | in : Object | semmle.label | in : Object | +| Test.java:3592:9:3592:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3592:19:3592:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3597:16:3597:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3597:24:3597:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3598:10:3598:42 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3598:34:3598:35 | in : Object | semmle.label | in : Object | +| Test.java:3599:9:3599:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3599:19:3599:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3604:16:3604:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3604:24:3604:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3605:10:3605:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3605:40:3605:41 | in : Object | semmle.label | in : Object | +| Test.java:3606:9:3606:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3606:21:3606:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3611:16:3611:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3611:24:3611:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3612:10:3612:78 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3612:40:3612:41 | in : Object | semmle.label | in : Object | +| Test.java:3613:9:3613:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3613:21:3613:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3618:16:3618:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3618:24:3618:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3619:10:3619:66 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3619:40:3619:41 | in : Object | semmle.label | in : Object | +| Test.java:3620:9:3620:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3620:21:3620:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3625:16:3625:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3625:24:3625:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3626:10:3626:54 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3626:40:3626:41 | in : Object | semmle.label | in : Object | +| Test.java:3627:9:3627:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3627:21:3627:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3632:16:3632:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3632:24:3632:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3633:10:3633:42 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3633:40:3633:41 | in : Object | semmle.label | in : Object | +| Test.java:3634:9:3634:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3634:21:3634:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3639:16:3639:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3639:24:3639:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3640:10:3640:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3640:46:3640:47 | in : Object | semmle.label | in : Object | +| Test.java:3641:9:3641:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3641:19:3641:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3646:16:3646:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3646:24:3646:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3647:10:3647:78 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3647:46:3647:47 | in : Object | semmle.label | in : Object | +| Test.java:3648:9:3648:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3648:19:3648:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3653:16:3653:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3653:24:3653:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3654:10:3654:66 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3654:46:3654:47 | in : Object | semmle.label | in : Object | +| Test.java:3655:9:3655:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3655:19:3655:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3660:16:3660:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3660:24:3660:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3661:10:3661:54 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3661:46:3661:47 | in : Object | semmle.label | in : Object | +| Test.java:3662:9:3662:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3662:19:3662:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3667:16:3667:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3667:24:3667:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3668:10:3668:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3668:52:3668:53 | in : Object | semmle.label | in : Object | +| Test.java:3669:9:3669:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3669:21:3669:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3674:16:3674:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3674:24:3674:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3675:10:3675:78 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3675:52:3675:53 | in : Object | semmle.label | in : Object | +| Test.java:3676:9:3676:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3676:21:3676:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3681:16:3681:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3681:24:3681:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3682:10:3682:66 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3682:52:3682:53 | in : Object | semmle.label | in : Object | +| Test.java:3683:9:3683:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3683:21:3683:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3688:16:3688:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3688:24:3688:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3689:10:3689:54 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3689:52:3689:53 | in : Object | semmle.label | in : Object | +| Test.java:3690:9:3690:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3690:21:3690:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3695:16:3695:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3695:24:3695:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3696:10:3696:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3696:58:3696:59 | in : Object | semmle.label | in : Object | +| Test.java:3697:9:3697:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3697:19:3697:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3702:16:3702:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3702:24:3702:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3703:10:3703:78 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3703:58:3703:59 | in : Object | semmle.label | in : Object | +| Test.java:3704:9:3704:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3704:19:3704:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3709:16:3709:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3709:24:3709:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3710:10:3710:66 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3710:58:3710:59 | in : Object | semmle.label | in : Object | +| Test.java:3711:9:3711:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3711:19:3711:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3716:16:3716:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3716:24:3716:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3717:10:3717:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3717:64:3717:65 | in : Object | semmle.label | in : Object | +| Test.java:3718:9:3718:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3718:21:3718:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3723:16:3723:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3723:24:3723:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3724:10:3724:78 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3724:64:3724:65 | in : Object | semmle.label | in : Object | +| Test.java:3725:9:3725:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3725:21:3725:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3730:16:3730:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3730:24:3730:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3731:10:3731:66 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3731:64:3731:65 | in : Object | semmle.label | in : Object | +| Test.java:3732:9:3732:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3732:21:3732:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3737:16:3737:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3737:24:3737:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3738:10:3738:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3738:70:3738:71 | in : Object | semmle.label | in : Object | +| Test.java:3739:9:3739:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3739:19:3739:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3744:16:3744:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3744:24:3744:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3745:10:3745:78 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3745:70:3745:71 | in : Object | semmle.label | in : Object | +| Test.java:3746:9:3746:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3746:19:3746:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3751:16:3751:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3751:24:3751:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3752:10:3752:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3752:76:3752:77 | in : Object | semmle.label | in : Object | +| Test.java:3753:9:3753:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3753:21:3753:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3758:16:3758:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3758:24:3758:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3759:10:3759:78 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3759:76:3759:77 | in : Object | semmle.label | in : Object | +| Test.java:3760:9:3760:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3760:21:3760:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3765:16:3765:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3765:24:3765:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3766:10:3766:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3766:82:3766:83 | in : Object | semmle.label | in : Object | +| Test.java:3767:9:3767:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3767:19:3767:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3772:16:3772:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3772:24:3772:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3773:10:3773:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:3773:88:3773:89 | in : Object | semmle.label | in : Object | +| Test.java:3774:9:3774:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3774:21:3774:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:3779:18:3779:64 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:3779:28:3779:64 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:3779:36:3779:63 | newEntryWithMapKey(...) : Entry [] : Object | semmle.label | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:3779:55:3779:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3780:10:3780:38 | copyOf(...) : ImmutableSortedMap [] : Object | semmle.label | copyOf(...) : ImmutableSortedMap [] : Object | +| Test.java:3780:36:3780:37 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:3781:9:3781:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3781:19:3781:21 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3786:18:3786:66 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:3786:28:3786:66 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:3786:36:3786:65 | newEntryWithMapValue(...) : Entry [] : Object | semmle.label | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:3786:57:3786:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3787:10:3787:38 | copyOf(...) : ImmutableSortedMap [] : Object | semmle.label | copyOf(...) : ImmutableSortedMap [] : Object | +| Test.java:3787:36:3787:37 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:3788:9:3788:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3788:21:3788:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3793:18:3793:64 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:3793:28:3793:64 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:3793:36:3793:63 | newEntryWithMapKey(...) : Entry [] : Object | semmle.label | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:3793:55:3793:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3794:10:3794:56 | copyOf(...) : ImmutableSortedMap [] : Object | semmle.label | copyOf(...) : ImmutableSortedMap [] : Object | +| Test.java:3794:36:3794:37 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:3795:9:3795:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3795:19:3795:21 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3800:18:3800:66 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:3800:28:3800:66 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:3800:36:3800:65 | newEntryWithMapValue(...) : Entry [] : Object | semmle.label | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:3800:57:3800:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3801:10:3801:56 | copyOf(...) : ImmutableSortedMap [] : Object | semmle.label | copyOf(...) : ImmutableSortedMap [] : Object | +| Test.java:3801:36:3801:37 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:3802:9:3802:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3802:21:3802:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3807:13:3807:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:3807:18:3807:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:3807:25:3807:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3808:10:3808:38 | copyOf(...) : ImmutableSortedMap [] : Object | semmle.label | copyOf(...) : ImmutableSortedMap [] : Object | +| Test.java:3808:36:3808:37 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:3809:9:3809:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3809:19:3809:21 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3814:13:3814:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:3814:18:3814:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:3814:31:3814:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3815:10:3815:38 | copyOf(...) : ImmutableSortedMap [] : Object | semmle.label | copyOf(...) : ImmutableSortedMap [] : Object | +| Test.java:3815:36:3815:37 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:3816:9:3816:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3816:21:3816:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3821:13:3821:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:3821:18:3821:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:3821:25:3821:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3822:10:3822:56 | copyOf(...) : ImmutableSortedMap [] : Object | semmle.label | copyOf(...) : ImmutableSortedMap [] : Object | +| Test.java:3822:36:3822:37 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:3823:9:3823:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3823:19:3823:21 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3828:13:3828:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:3828:18:3828:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:3828:31:3828:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3829:10:3829:56 | copyOf(...) : ImmutableSortedMap [] : Object | semmle.label | copyOf(...) : ImmutableSortedMap [] : Object | +| Test.java:3829:36:3829:37 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:3830:9:3830:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3830:21:3830:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3835:19:3835:78 | (...)... : ImmutableSortedMap [] : Comparable | semmle.label | (...)... : ImmutableSortedMap [] : Comparable | +| Test.java:3835:30:3835:78 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:3835:52:3835:71 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:3835:64:3835:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3836:10:3836:44 | copyOfSorted(...) : ImmutableSortedMap [] : Comparable | semmle.label | copyOfSorted(...) : ImmutableSortedMap [] : Comparable | +| Test.java:3836:42:3836:43 | in : ImmutableSortedMap [] : Comparable | semmle.label | in : ImmutableSortedMap [] : Comparable | +| Test.java:3837:9:3837:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3837:19:3837:21 | out : ImmutableSortedMap [] : Comparable | semmle.label | out : ImmutableSortedMap [] : Comparable | +| Test.java:3842:19:3842:78 | (...)... : ImmutableSortedMap [] : Object | semmle.label | (...)... : ImmutableSortedMap [] : Object | +| Test.java:3842:30:3842:78 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:3842:70:3842:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3843:10:3843:44 | copyOfSorted(...) : ImmutableSortedMap [] : Object | semmle.label | copyOfSorted(...) : ImmutableSortedMap [] : Object | +| Test.java:3843:42:3843:43 | in : ImmutableSortedMap [] : Object | semmle.label | in : ImmutableSortedMap [] : Object | +| Test.java:3844:9:3844:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3844:21:3844:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3849:20:3849:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:3849:32:3849:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3850:10:3850:88 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:3850:32:3850:33 | in : Comparable | semmle.label | in : Comparable | +| Test.java:3851:9:3851:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3851:19:3851:21 | out : ImmutableSortedMap [] : Comparable | semmle.label | out : ImmutableSortedMap [] : Comparable | +| Test.java:3856:20:3856:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:3856:32:3856:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3857:10:3857:76 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:3857:32:3857:33 | in : Comparable | semmle.label | in : Comparable | +| Test.java:3858:9:3858:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3858:19:3858:21 | out : ImmutableSortedMap [] : Comparable | semmle.label | out : ImmutableSortedMap [] : Comparable | +| Test.java:3863:20:3863:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:3863:32:3863:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3864:10:3864:64 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:3864:32:3864:33 | in : Comparable | semmle.label | in : Comparable | +| Test.java:3865:9:3865:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3865:19:3865:21 | out : ImmutableSortedMap [] : Comparable | semmle.label | out : ImmutableSortedMap [] : Comparable | +| Test.java:3870:20:3870:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:3870:32:3870:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3871:10:3871:52 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:3871:32:3871:33 | in : Comparable | semmle.label | in : Comparable | +| Test.java:3872:9:3872:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3872:19:3872:21 | out : ImmutableSortedMap [] : Comparable | semmle.label | out : ImmutableSortedMap [] : Comparable | +| Test.java:3877:20:3877:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:3877:32:3877:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3878:10:3878:40 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:3878:32:3878:33 | in : Comparable | semmle.label | in : Comparable | +| Test.java:3879:9:3879:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3879:19:3879:21 | out : ImmutableSortedMap [] : Comparable | semmle.label | out : ImmutableSortedMap [] : Comparable | +| Test.java:3884:16:3884:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3884:24:3884:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3885:10:3885:88 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:3885:38:3885:39 | in : Object | semmle.label | in : Object | +| Test.java:3886:9:3886:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3886:21:3886:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3891:16:3891:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3891:24:3891:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3892:10:3892:76 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:3892:38:3892:39 | in : Object | semmle.label | in : Object | +| Test.java:3893:9:3893:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3893:21:3893:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3898:16:3898:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3898:24:3898:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3899:10:3899:64 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:3899:38:3899:39 | in : Object | semmle.label | in : Object | +| Test.java:3900:9:3900:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3900:21:3900:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3905:16:3905:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3905:24:3905:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3906:10:3906:52 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:3906:38:3906:39 | in : Object | semmle.label | in : Object | +| Test.java:3907:9:3907:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3907:21:3907:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3912:16:3912:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3912:24:3912:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3913:10:3913:40 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:3913:38:3913:39 | in : Object | semmle.label | in : Object | +| Test.java:3914:9:3914:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3914:21:3914:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3919:20:3919:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:3919:32:3919:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3920:10:3920:88 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:3920:44:3920:45 | in : Comparable | semmle.label | in : Comparable | +| Test.java:3921:9:3921:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3921:19:3921:21 | out : ImmutableSortedMap [] : Comparable | semmle.label | out : ImmutableSortedMap [] : Comparable | +| Test.java:3926:20:3926:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:3926:32:3926:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3927:10:3927:76 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:3927:44:3927:45 | in : Comparable | semmle.label | in : Comparable | +| Test.java:3928:9:3928:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3928:19:3928:21 | out : ImmutableSortedMap [] : Comparable | semmle.label | out : ImmutableSortedMap [] : Comparable | +| Test.java:3933:20:3933:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:3933:32:3933:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3934:10:3934:64 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:3934:44:3934:45 | in : Comparable | semmle.label | in : Comparable | +| Test.java:3935:9:3935:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3935:19:3935:21 | out : ImmutableSortedMap [] : Comparable | semmle.label | out : ImmutableSortedMap [] : Comparable | +| Test.java:3940:20:3940:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:3940:32:3940:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3941:10:3941:52 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:3941:44:3941:45 | in : Comparable | semmle.label | in : Comparable | +| Test.java:3942:9:3942:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3942:19:3942:21 | out : ImmutableSortedMap [] : Comparable | semmle.label | out : ImmutableSortedMap [] : Comparable | +| Test.java:3947:16:3947:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3947:24:3947:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3948:10:3948:88 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:3948:50:3948:51 | in : Object | semmle.label | in : Object | +| Test.java:3949:9:3949:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3949:21:3949:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3954:16:3954:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3954:24:3954:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3955:10:3955:76 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:3955:50:3955:51 | in : Object | semmle.label | in : Object | +| Test.java:3956:9:3956:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3956:21:3956:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3961:16:3961:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3961:24:3961:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3962:10:3962:64 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:3962:50:3962:51 | in : Object | semmle.label | in : Object | +| Test.java:3963:9:3963:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3963:21:3963:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3968:16:3968:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3968:24:3968:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3969:10:3969:52 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:3969:50:3969:51 | in : Object | semmle.label | in : Object | +| Test.java:3970:9:3970:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3970:21:3970:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:3975:20:3975:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:3975:32:3975:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3976:10:3976:88 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:3976:56:3976:57 | in : Comparable | semmle.label | in : Comparable | +| Test.java:3977:9:3977:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3977:19:3977:21 | out : ImmutableSortedMap [] : Comparable | semmle.label | out : ImmutableSortedMap [] : Comparable | +| Test.java:3982:20:3982:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:3982:32:3982:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3983:10:3983:76 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:3983:56:3983:57 | in : Comparable | semmle.label | in : Comparable | +| Test.java:3984:9:3984:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3984:19:3984:21 | out : ImmutableSortedMap [] : Comparable | semmle.label | out : ImmutableSortedMap [] : Comparable | +| Test.java:3989:20:3989:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:3989:32:3989:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3990:10:3990:64 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:3990:56:3990:57 | in : Comparable | semmle.label | in : Comparable | +| Test.java:3991:9:3991:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:3991:19:3991:21 | out : ImmutableSortedMap [] : Comparable | semmle.label | out : ImmutableSortedMap [] : Comparable | +| Test.java:3996:16:3996:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:3996:24:3996:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3997:10:3997:88 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:3997:62:3997:63 | in : Object | semmle.label | in : Object | +| Test.java:3998:9:3998:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:3998:21:3998:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:4003:16:4003:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:4003:24:4003:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4004:10:4004:76 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:4004:62:4004:63 | in : Object | semmle.label | in : Object | +| Test.java:4005:9:4005:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4005:21:4005:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:4010:16:4010:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:4010:24:4010:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4011:10:4011:64 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:4011:62:4011:63 | in : Object | semmle.label | in : Object | +| Test.java:4012:9:4012:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4012:21:4012:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:4017:20:4017:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4017:32:4017:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4018:10:4018:88 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:4018:68:4018:69 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4019:9:4019:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:4019:19:4019:21 | out : ImmutableSortedMap [] : Comparable | semmle.label | out : ImmutableSortedMap [] : Comparable | +| Test.java:4024:20:4024:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4024:32:4024:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4025:10:4025:76 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:4025:68:4025:69 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4026:9:4026:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:4026:19:4026:21 | out : ImmutableSortedMap [] : Comparable | semmle.label | out : ImmutableSortedMap [] : Comparable | +| Test.java:4031:16:4031:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:4031:24:4031:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4032:10:4032:88 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:4032:74:4032:75 | in : Object | semmle.label | in : Object | +| Test.java:4033:9:4033:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4033:21:4033:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:4038:16:4038:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:4038:24:4038:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4039:10:4039:76 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:4039:74:4039:75 | in : Object | semmle.label | in : Object | +| Test.java:4040:9:4040:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4040:21:4040:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:4045:20:4045:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4045:32:4045:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4046:10:4046:88 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:4046:80:4046:81 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4047:9:4047:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:4047:19:4047:21 | out : ImmutableSortedMap [] : Comparable | semmle.label | out : ImmutableSortedMap [] : Comparable | +| Test.java:4052:16:4052:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:4052:24:4052:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4053:10:4053:88 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:4053:86:4053:87 | in : Object | semmle.label | in : Object | +| Test.java:4054:9:4054:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4054:21:4054:23 | out : ImmutableSortedMap [] : Object | semmle.label | out : ImmutableSortedMap [] : Object | +| Test.java:4059:22:4059:73 | (...)... : Comparable[] [[]] : Comparable | semmle.label | (...)... : Comparable[] [[]] : Comparable | +| Test.java:4059:36:4059:73 | {...} : Comparable[] [[]] : Comparable | semmle.label | {...} : Comparable[] [[]] : Comparable | +| Test.java:4059:53:4059:72 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4059:65:4059:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4060:10:4060:43 | copyOf(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | copyOf(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4060:41:4060:42 | in : Comparable[] [[]] : Comparable | semmle.label | in : Comparable[] [[]] : Comparable | +| Test.java:4061:9:4061:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4061:20:4061:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4066:18:4066:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4066:28:4066:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4066:36:4066:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4067:10:4067:61 | copyOf(...) : ImmutableSortedMultiset [] : Object | semmle.label | copyOf(...) : ImmutableSortedMultiset [] : Object | +| Test.java:4067:59:4067:60 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4068:9:4068:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4068:20:4068:22 | out : ImmutableSortedMultiset [] : Object | semmle.label | out : ImmutableSortedMultiset [] : Object | +| Test.java:4073:18:4073:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:4073:28:4073:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4073:28:4073:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4073:36:4073:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4074:10:4074:61 | copyOf(...) : ImmutableSortedMultiset [] : Object | semmle.label | copyOf(...) : ImmutableSortedMultiset [] : Object | +| Test.java:4074:59:4074:60 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:4075:9:4075:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4075:20:4075:22 | out : ImmutableSortedMultiset [] : Object | semmle.label | out : ImmutableSortedMultiset [] : Object | +| Test.java:4080:18:4080:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4080:28:4080:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4080:36:4080:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4081:10:4081:43 | copyOf(...) : ImmutableSortedMultiset [] : Object | semmle.label | copyOf(...) : ImmutableSortedMultiset [] : Object | +| Test.java:4081:41:4081:42 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4082:9:4082:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4082:20:4082:22 | out : ImmutableSortedMultiset [] : Object | semmle.label | out : ImmutableSortedMultiset [] : Object | +| Test.java:4087:18:4087:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:4087:28:4087:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4087:28:4087:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4087:36:4087:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4088:10:4088:43 | copyOf(...) : ImmutableSortedMultiset [] : Object | semmle.label | copyOf(...) : ImmutableSortedMultiset [] : Object | +| Test.java:4088:41:4088:42 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:4089:9:4089:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4089:20:4089:22 | out : ImmutableSortedMultiset [] : Object | semmle.label | out : ImmutableSortedMultiset [] : Object | +| Test.java:4094:24:4094:87 | (...)... : ImmutableSortedMultiset [] : Comparable | semmle.label | (...)... : ImmutableSortedMultiset [] : Comparable | +| Test.java:4094:40:4094:87 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4094:67:4094:86 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4094:79:4094:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4095:10:4095:49 | copyOfSorted(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | copyOfSorted(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4095:47:4095:48 | in : ImmutableSortedMultiset [] : Comparable | semmle.label | in : ImmutableSortedMultiset [] : Comparable | +| Test.java:4096:9:4096:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4096:20:4096:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4101:20:4101:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4101:32:4101:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4102:10:4102:63 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4102:61:4102:62 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4103:9:4103:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4103:20:4103:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4108:20:4108:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4108:32:4108:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4109:10:4109:63 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4109:55:4109:56 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4110:9:4110:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4110:20:4110:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4115:20:4115:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4115:32:4115:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4116:10:4116:57 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4116:55:4116:56 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4117:9:4117:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4117:20:4117:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4122:20:4122:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4122:32:4122:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4123:10:4123:63 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4123:49:4123:50 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4124:9:4124:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4124:20:4124:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4129:20:4129:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4129:32:4129:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4130:10:4130:57 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4130:49:4130:50 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4131:9:4131:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4131:20:4131:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4136:20:4136:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4136:32:4136:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4137:10:4137:51 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4137:49:4137:50 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4138:9:4138:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4138:20:4138:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4143:20:4143:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4143:32:4143:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4144:10:4144:63 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4144:43:4144:44 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4145:9:4145:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4145:20:4145:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4150:20:4150:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4150:32:4150:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4151:10:4151:57 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4151:43:4151:44 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4152:9:4152:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4152:20:4152:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4157:20:4157:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4157:32:4157:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4158:10:4158:51 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4158:43:4158:44 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4159:9:4159:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4159:20:4159:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4164:20:4164:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4164:32:4164:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4165:10:4165:45 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4165:43:4165:44 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4166:9:4166:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4166:20:4166:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4171:20:4171:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4171:32:4171:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4172:10:4172:63 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4172:37:4172:38 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4173:9:4173:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4173:20:4173:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4178:20:4178:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4178:32:4178:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4179:10:4179:57 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4179:37:4179:38 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4180:9:4180:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4180:20:4180:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4185:20:4185:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4185:32:4185:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4186:10:4186:51 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4186:37:4186:38 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4187:9:4187:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4187:20:4187:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4192:20:4192:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4192:32:4192:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4193:10:4193:45 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4193:37:4193:38 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4194:9:4194:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4194:20:4194:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4199:20:4199:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4199:32:4199:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4200:10:4200:149 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4200:37:4200:38 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4201:9:4201:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4201:20:4201:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4206:20:4206:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4206:32:4206:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4207:10:4207:39 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4207:37:4207:38 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4208:9:4208:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4208:20:4208:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4213:20:4213:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4213:32:4213:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4214:10:4214:149 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4214:55:4214:56 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4215:9:4215:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4215:20:4215:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4220:20:4220:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4220:32:4220:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4221:10:4221:149 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4221:73:4221:74 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4222:9:4222:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4222:20:4222:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4227:20:4227:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4227:32:4227:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4228:10:4228:149 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4228:91:4228:92 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4229:9:4229:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4229:20:4229:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4234:20:4234:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4234:32:4234:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4235:10:4235:149 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4235:109:4235:110 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4236:9:4236:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4236:20:4236:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4241:20:4241:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4241:32:4241:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4242:10:4242:149 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4242:127:4242:128 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4243:9:4243:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4243:20:4243:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4248:22:4248:73 | (...)... : Comparable[] [[]] : Comparable | semmle.label | (...)... : Comparable[] [[]] : Comparable | +| Test.java:4248:36:4248:73 | {...} : Comparable[] [[]] : Comparable | semmle.label | {...} : Comparable[] [[]] : Comparable | +| Test.java:4248:53:4248:72 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4248:65:4248:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4249:10:4249:147 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:4249:145:4249:146 | in : Comparable[] [[]] : Comparable | semmle.label | in : Comparable[] [[]] : Comparable | +| Test.java:4250:9:4250:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4250:20:4250:22 | out : ImmutableSortedMultiset [] : Comparable | semmle.label | out : ImmutableSortedMultiset [] : Comparable | +| Test.java:4255:20:4255:48 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4255:32:4255:48 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4255:40:4255:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4256:10:4256:38 | copyOf(...) : ImmutableSortedSet [] : Object | semmle.label | copyOf(...) : ImmutableSortedSet [] : Object | +| Test.java:4256:36:4256:37 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4257:9:4257:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4257:20:4257:22 | out : ImmutableSortedSet [] : Object | semmle.label | out : ImmutableSortedSet [] : Object | +| Test.java:4262:22:4262:73 | (...)... : Comparable[] [[]] : Comparable | semmle.label | (...)... : Comparable[] [[]] : Comparable | +| Test.java:4262:36:4262:73 | {...} : Comparable[] [[]] : Comparable | semmle.label | {...} : Comparable[] [[]] : Comparable | +| Test.java:4262:53:4262:72 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4262:65:4262:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4263:10:4263:38 | copyOf(...) : ImmutableSortedSet [] : Comparable | semmle.label | copyOf(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4263:36:4263:37 | in : Comparable[] [[]] : Comparable | semmle.label | in : Comparable[] [[]] : Comparable | +| Test.java:4264:9:4264:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4264:20:4264:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4269:20:4269:48 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4269:32:4269:48 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4269:40:4269:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4270:10:4270:56 | copyOf(...) : ImmutableSortedSet [] : Object | semmle.label | copyOf(...) : ImmutableSortedSet [] : Object | +| Test.java:4270:54:4270:55 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4271:9:4271:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4271:20:4271:22 | out : ImmutableSortedSet [] : Object | semmle.label | out : ImmutableSortedSet [] : Object | +| Test.java:4276:18:4276:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4276:28:4276:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4276:36:4276:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4277:10:4277:56 | copyOf(...) : ImmutableSortedSet [] : Object | semmle.label | copyOf(...) : ImmutableSortedSet [] : Object | +| Test.java:4277:54:4277:55 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4278:9:4278:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4278:20:4278:22 | out : ImmutableSortedSet [] : Object | semmle.label | out : ImmutableSortedSet [] : Object | +| Test.java:4283:18:4283:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:4283:28:4283:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4283:28:4283:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4283:36:4283:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4284:10:4284:56 | copyOf(...) : ImmutableSortedSet [] : Object | semmle.label | copyOf(...) : ImmutableSortedSet [] : Object | +| Test.java:4284:54:4284:55 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:4285:9:4285:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4285:20:4285:22 | out : ImmutableSortedSet [] : Object | semmle.label | out : ImmutableSortedSet [] : Object | +| Test.java:4290:18:4290:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4290:28:4290:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4290:36:4290:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4291:10:4291:38 | copyOf(...) : ImmutableSortedSet [] : Object | semmle.label | copyOf(...) : ImmutableSortedSet [] : Object | +| Test.java:4291:36:4291:37 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4292:9:4292:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4292:20:4292:22 | out : ImmutableSortedSet [] : Object | semmle.label | out : ImmutableSortedSet [] : Object | +| Test.java:4297:18:4297:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:4297:28:4297:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4297:28:4297:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4297:36:4297:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4298:10:4298:38 | copyOf(...) : ImmutableSortedSet [] : Object | semmle.label | copyOf(...) : ImmutableSortedSet [] : Object | +| Test.java:4298:36:4298:37 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:4299:9:4299:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4299:20:4299:22 | out : ImmutableSortedSet [] : Object | semmle.label | out : ImmutableSortedSet [] : Object | +| Test.java:4304:19:4304:72 | (...)... : ImmutableSortedSet [] : Comparable | semmle.label | (...)... : ImmutableSortedSet [] : Comparable | +| Test.java:4304:30:4304:72 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4304:52:4304:71 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4304:64:4304:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4305:10:4305:44 | copyOfSorted(...) : ImmutableSortedSet [] : Comparable | semmle.label | copyOfSorted(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4305:42:4305:43 | in : ImmutableSortedSet [] : Comparable | semmle.label | in : ImmutableSortedSet [] : Comparable | +| Test.java:4306:9:4306:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4306:20:4306:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4311:20:4311:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4311:32:4311:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4312:10:4312:58 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4312:56:4312:57 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4313:9:4313:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4313:20:4313:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4318:20:4318:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4318:32:4318:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4319:10:4319:58 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4319:50:4319:51 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4320:9:4320:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4320:20:4320:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4325:20:4325:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4325:32:4325:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4326:10:4326:52 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4326:50:4326:51 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4327:9:4327:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4327:20:4327:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4332:20:4332:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4332:32:4332:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4333:10:4333:58 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4333:44:4333:45 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4334:9:4334:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4334:20:4334:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4339:20:4339:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4339:32:4339:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4340:10:4340:52 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4340:44:4340:45 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4341:9:4341:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4341:20:4341:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4346:20:4346:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4346:32:4346:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4347:10:4347:46 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4347:44:4347:45 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4348:9:4348:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4348:20:4348:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4353:20:4353:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4353:32:4353:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4354:10:4354:58 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4354:38:4354:39 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4355:9:4355:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4355:20:4355:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4360:20:4360:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4360:32:4360:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4361:10:4361:52 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4361:38:4361:39 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4362:9:4362:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4362:20:4362:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4367:20:4367:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4367:32:4367:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4368:10:4368:46 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4368:38:4368:39 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4369:9:4369:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4369:20:4369:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4374:20:4374:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4374:32:4374:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4375:10:4375:40 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4375:38:4375:39 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4376:9:4376:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4376:20:4376:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4381:20:4381:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4381:32:4381:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4382:10:4382:58 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4382:32:4382:33 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4383:9:4383:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4383:20:4383:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4388:20:4388:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4388:32:4388:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4389:10:4389:52 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4389:32:4389:33 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4390:9:4390:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4390:20:4390:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4395:20:4395:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4395:32:4395:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4396:10:4396:46 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4396:32:4396:33 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4397:9:4397:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4397:20:4397:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4402:20:4402:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4402:32:4402:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4403:10:4403:40 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4403:32:4403:33 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4404:9:4404:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4404:20:4404:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4409:20:4409:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4409:32:4409:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4410:10:4410:144 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4410:32:4410:33 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4411:9:4411:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4411:20:4411:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4416:20:4416:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4416:32:4416:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4417:10:4417:34 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4417:32:4417:33 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4418:9:4418:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4418:20:4418:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4423:20:4423:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4423:32:4423:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4424:10:4424:144 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4424:50:4424:51 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4425:9:4425:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4425:20:4425:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4430:20:4430:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4430:32:4430:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4431:10:4431:144 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4431:68:4431:69 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4432:9:4432:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4432:20:4432:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4437:20:4437:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4437:32:4437:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4438:10:4438:144 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4438:86:4438:87 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4439:9:4439:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4439:20:4439:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4444:20:4444:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4444:32:4444:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4445:10:4445:144 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4445:104:4445:105 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4446:9:4446:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4446:20:4446:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4451:20:4451:39 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4451:32:4451:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4452:10:4452:144 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4452:122:4452:123 | in : Comparable | semmle.label | in : Comparable | +| Test.java:4453:9:4453:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4453:20:4453:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4458:22:4458:73 | (...)... : Comparable[] [[]] : Comparable | semmle.label | (...)... : Comparable[] [[]] : Comparable | +| Test.java:4458:36:4458:73 | {...} : Comparable[] [[]] : Comparable | semmle.label | {...} : Comparable[] [[]] : Comparable | +| Test.java:4458:53:4458:72 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:4458:65:4458:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4459:10:4459:142 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:4459:140:4459:141 | in : Comparable[] [[]] : Comparable | semmle.label | in : Comparable[] [[]] : Comparable | +| Test.java:4460:9:4460:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4460:20:4460:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:4465:32:4465:105 | (...)... : Builder [] : Object | semmle.label | (...)... : Builder [] : Object | +| Test.java:4465:56:4465:105 | put(...) : Builder [] : Object | semmle.label | put(...) : Builder [] : Object | +| Test.java:4465:97:4465:104 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4466:10:4466:11 | in : Builder [] : Object | semmle.label | in : Builder [] : Object | +| Test.java:4466:10:4466:19 | build(...) : ImmutableTable [] : Object | semmle.label | build(...) : ImmutableTable [] : Object | +| Test.java:4467:9:4467:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4467:21:4467:23 | out : ImmutableTable [] : Object | semmle.label | out : ImmutableTable [] : Object | +| Test.java:4472:32:4472:105 | (...)... : Builder [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : Builder [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4472:56:4472:105 | put(...) : Builder [com.google.common.collect.Table.columnKey] : Object | semmle.label | put(...) : Builder [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4472:91:4472:98 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4473:10:4473:11 | in : Builder [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : Builder [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4473:10:4473:19 | build(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | build(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4474:9:4474:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:4474:28:4474:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4479:32:4479:105 | (...)... : Builder [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : Builder [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4479:56:4479:105 | put(...) : Builder [com.google.common.collect.Table.rowKey] : Object | semmle.label | put(...) : Builder [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4479:85:4479:92 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4480:10:4480:11 | in : Builder [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : Builder [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4480:10:4480:19 | build(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | build(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4481:9:4481:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:4481:25:4481:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4486:32:4486:63 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:4486:56:4486:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4487:10:4487:11 | in : Builder | semmle.label | in : Builder | +| Test.java:4487:10:4487:32 | orderColumnsBy(...) : Builder | semmle.label | orderColumnsBy(...) : Builder | +| Test.java:4488:9:4488:11 | out | semmle.label | out | +| Test.java:4493:32:4493:63 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:4493:56:4493:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4494:10:4494:11 | in : Builder | semmle.label | in : Builder | +| Test.java:4494:10:4494:29 | orderRowsBy(...) : Builder | semmle.label | orderRowsBy(...) : Builder | +| Test.java:4495:9:4495:11 | out | semmle.label | out | +| Test.java:4500:32:4500:63 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:4500:56:4500:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4501:10:4501:11 | in : Builder | semmle.label | in : Builder | +| Test.java:4501:10:4501:21 | put(...) : Builder | semmle.label | put(...) : Builder | +| Test.java:4502:9:4502:11 | out | semmle.label | out | +| Test.java:4507:20:4507:65 | (...)... : Cell [] : Object | semmle.label | (...)... : Cell [] : Object | +| Test.java:4507:32:4507:65 | newTableCell(...) : Cell [] : Object | semmle.label | newTableCell(...) : Cell [] : Object | +| Test.java:4507:57:4507:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4508:4:4508:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:4508:12:4508:13 | in : Cell [] : Object | semmle.label | in : Cell [] : Object | +| Test.java:4509:9:4509:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4509:21:4509:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:4514:20:4514:65 | (...)... : Cell [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : Cell [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4514:32:4514:65 | newTableCell(...) : Cell [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTableCell(...) : Cell [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4514:51:4514:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4515:4:4515:6 | out [post update] : Builder [com.google.common.collect.Table.columnKey] : Object | semmle.label | out [post update] : Builder [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4515:12:4515:13 | in : Cell [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : Cell [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4516:9:4516:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:4516:28:4516:30 | out : Builder [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : Builder [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4521:20:4521:65 | (...)... : Cell [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : Cell [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4521:32:4521:65 | newTableCell(...) : Cell [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTableCell(...) : Cell [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4521:45:4521:52 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4522:4:4522:6 | out [post update] : Builder [com.google.common.collect.Table.rowKey] : Object | semmle.label | out [post update] : Builder [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4522:12:4522:13 | in : Cell [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : Cell [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4523:9:4523:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:4523:25:4523:27 | out : Builder [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : Builder [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4528:32:4528:63 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:4528:56:4528:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4529:10:4529:11 | in : Builder | semmle.label | in : Builder | +| Test.java:4529:10:4529:33 | put(...) : Builder | semmle.label | put(...) : Builder | +| Test.java:4530:9:4530:11 | out | semmle.label | out | +| Test.java:4535:16:4535:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:4535:24:4535:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4536:4:4536:6 | out [post update] : Builder [com.google.common.collect.Table.rowKey] : Object | semmle.label | out [post update] : Builder [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4536:12:4536:13 | in : Object | semmle.label | in : Object | +| Test.java:4537:9:4537:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:4537:25:4537:27 | out : Builder [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : Builder [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4542:16:4542:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:4542:24:4542:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4543:4:4543:6 | out [post update] : Builder [com.google.common.collect.Table.columnKey] : Object | semmle.label | out [post update] : Builder [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4543:18:4543:19 | in : Object | semmle.label | in : Object | +| Test.java:4544:9:4544:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:4544:28:4544:30 | out : Builder [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : Builder [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4549:16:4549:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:4549:24:4549:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4550:4:4550:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:4550:24:4550:25 | in : Object | semmle.label | in : Object | +| Test.java:4551:9:4551:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4551:21:4551:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:4556:32:4556:63 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:4556:56:4556:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4557:10:4557:11 | in : Builder | semmle.label | in : Builder | +| Test.java:4557:10:4557:24 | putAll(...) : Builder | semmle.label | putAll(...) : Builder | +| Test.java:4558:9:4558:11 | out | semmle.label | out | +| Test.java:4563:15:4563:60 | (...)... : ImmutableTable [] : Object | semmle.label | (...)... : ImmutableTable [] : Object | +| Test.java:4563:22:4563:60 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:4563:52:4563:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4564:4:4564:6 | out [post update] : Builder [] : Object | semmle.label | out [post update] : Builder [] : Object | +| Test.java:4564:15:4564:16 | in : ImmutableTable [] : Object | semmle.label | in : ImmutableTable [] : Object | +| Test.java:4565:9:4565:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4565:21:4565:23 | out : Builder [] : Object | semmle.label | out : Builder [] : Object | +| Test.java:4570:15:4570:60 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4570:22:4570:60 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4570:46:4570:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4571:4:4571:6 | out [post update] : Builder [com.google.common.collect.Table.columnKey] : Object | semmle.label | out [post update] : Builder [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4571:15:4571:16 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4572:9:4572:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:4572:28:4572:30 | out : Builder [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : Builder [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4577:15:4577:60 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4577:22:4577:60 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4577:40:4577:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4578:4:4578:6 | out [post update] : Builder [com.google.common.collect.Table.rowKey] : Object | semmle.label | out [post update] : Builder [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4578:15:4578:16 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4579:9:4579:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:4579:25:4579:27 | out : Builder [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : Builder [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4584:15:4584:60 | (...)... : ImmutableTable [] : Object | semmle.label | (...)... : ImmutableTable [] : Object | +| Test.java:4584:22:4584:60 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:4584:52:4584:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4585:10:4585:34 | copyOf(...) : ImmutableTable [] : Object | semmle.label | copyOf(...) : ImmutableTable [] : Object | +| Test.java:4585:32:4585:33 | in : ImmutableTable [] : Object | semmle.label | in : ImmutableTable [] : Object | +| Test.java:4586:9:4586:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4586:21:4586:23 | out : ImmutableTable [] : Object | semmle.label | out : ImmutableTable [] : Object | +| Test.java:4591:15:4591:60 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4591:22:4591:60 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4591:46:4591:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4592:10:4592:34 | copyOf(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | copyOf(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4592:32:4592:33 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4593:9:4593:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:4593:28:4593:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4598:15:4598:60 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4598:22:4598:60 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4598:40:4598:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4599:10:4599:34 | copyOf(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | copyOf(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4599:32:4599:33 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4600:9:4600:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:4600:25:4600:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4605:16:4605:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:4605:24:4605:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4606:10:4606:42 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4606:28:4606:29 | in : Object | semmle.label | in : Object | +| Test.java:4607:9:4607:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:4607:25:4607:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4612:16:4612:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:4612:24:4612:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4613:10:4613:42 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4613:34:4613:35 | in : Object | semmle.label | in : Object | +| Test.java:4614:9:4614:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:4614:28:4614:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4619:16:4619:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:4619:24:4619:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4620:10:4620:42 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:4620:40:4620:41 | in : Object | semmle.label | in : Object | +| Test.java:4621:9:4621:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:4621:21:4621:23 | out : ImmutableTable [] : Object | semmle.label | out : ImmutableTable [] : Object | +| Test.java:4626:18:4626:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4626:28:4626:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4626:36:4626:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4627:21:4627:23 | out [post update] : Collection [] : Object | semmle.label | out [post update] : Collection [] : Object | +| Test.java:4627:26:4627:27 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4628:9:4628:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4628:20:4628:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:4633:18:4633:53 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:4633:28:4633:53 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:4633:36:4633:52 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4633:44:4633:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4634:10:4634:29 | concat(...) : Iterable [] : Object | semmle.label | concat(...) : Iterable [] : Object | +| Test.java:4634:27:4634:28 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:4635:9:4635:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4635:20:4635:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4640:18:4640:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4640:28:4640:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4640:36:4640:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4641:10:4641:35 | concat(...) : Iterable [] : Object | semmle.label | concat(...) : Iterable [] : Object | +| Test.java:4641:33:4641:34 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4642:9:4642:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4642:20:4642:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4647:18:4647:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4647:28:4647:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4647:36:4647:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4648:10:4648:35 | concat(...) : Iterable [] : Object | semmle.label | concat(...) : Iterable [] : Object | +| Test.java:4648:27:4648:28 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4649:9:4649:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4649:20:4649:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4654:18:4654:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4654:28:4654:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4654:36:4654:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4655:10:4655:41 | concat(...) : Iterable [] : Object | semmle.label | concat(...) : Iterable [] : Object | +| Test.java:4655:39:4655:40 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4656:9:4656:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4656:20:4656:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4661:18:4661:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4661:28:4661:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4661:36:4661:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4662:10:4662:41 | concat(...) : Iterable [] : Object | semmle.label | concat(...) : Iterable [] : Object | +| Test.java:4662:33:4662:34 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4663:9:4663:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4663:20:4663:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4668:18:4668:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4668:28:4668:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4668:36:4668:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4669:10:4669:41 | concat(...) : Iterable [] : Object | semmle.label | concat(...) : Iterable [] : Object | +| Test.java:4669:27:4669:28 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4670:9:4670:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4670:20:4670:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4675:18:4675:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4675:28:4675:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4675:36:4675:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4676:10:4676:47 | concat(...) : Iterable [] : Object | semmle.label | concat(...) : Iterable [] : Object | +| Test.java:4676:45:4676:46 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4677:9:4677:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4677:20:4677:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4682:18:4682:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4682:28:4682:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4682:36:4682:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4683:10:4683:47 | concat(...) : Iterable [] : Object | semmle.label | concat(...) : Iterable [] : Object | +| Test.java:4683:39:4683:40 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4684:9:4684:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4684:20:4684:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4689:18:4689:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4689:28:4689:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4689:36:4689:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4690:10:4690:47 | concat(...) : Iterable [] : Object | semmle.label | concat(...) : Iterable [] : Object | +| Test.java:4690:33:4690:34 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4691:9:4691:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4691:20:4691:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4696:18:4696:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4696:28:4696:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4696:36:4696:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4697:10:4697:47 | concat(...) : Iterable [] : Object | semmle.label | concat(...) : Iterable [] : Object | +| Test.java:4697:27:4697:28 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4698:9:4698:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4698:20:4698:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4703:20:4703:74 | (...)... : Iterable[] [[], ] : Object | semmle.label | (...)... : Iterable[] [[], ] : Object | +| Test.java:4703:32:4703:74 | {...} : Iterable[] [[], ] : Object | semmle.label | {...} : Iterable[] [[], ] : Object | +| Test.java:4703:47:4703:73 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4703:57:4703:73 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4703:65:4703:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4704:10:4704:29 | concat(...) : Iterable [] : Object | semmle.label | concat(...) : Iterable [] : Object | +| Test.java:4704:27:4704:28 | in : Iterable[] [[], ] : Object | semmle.label | in : Iterable[] [[], ] : Object | +| Test.java:4705:9:4705:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4705:20:4705:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4710:18:4710:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4710:28:4710:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4710:36:4710:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4711:10:4711:40 | consumingIterable(...) : Iterable [] : Object | semmle.label | consumingIterable(...) : Iterable [] : Object | +| Test.java:4711:38:4711:39 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4712:9:4712:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4712:20:4712:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4717:18:4717:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4717:28:4717:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4717:36:4717:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4718:10:4718:28 | cycle(...) : Iterable [] : Object | semmle.label | cycle(...) : Iterable [] : Object | +| Test.java:4718:26:4718:27 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4719:9:4719:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4719:20:4719:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4724:18:4724:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:4724:28:4724:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:4724:41:4724:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4725:10:4725:28 | cycle(...) : Iterable [] : Object | semmle.label | cycle(...) : Iterable [] : Object | +| Test.java:4725:26:4725:27 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:4726:9:4726:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4726:20:4726:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4731:18:4731:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4731:28:4731:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4731:36:4731:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4732:10:4732:42 | filter(...) : Iterable [] : Object | semmle.label | filter(...) : Iterable [] : Object | +| Test.java:4732:27:4732:28 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4733:9:4733:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4733:20:4733:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4738:18:4738:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4738:28:4738:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4738:36:4738:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4739:10:4739:46 | filter(...) : Iterable [] : Object | semmle.label | filter(...) : Iterable [] : Object | +| Test.java:4739:27:4739:28 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4740:9:4740:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4740:20:4740:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4745:18:4745:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4745:28:4745:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4745:36:4745:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4746:10:4746:33 | find(...) : Object | semmle.label | find(...) : Object | +| Test.java:4746:25:4746:26 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4747:9:4747:11 | out | semmle.label | out | +| Test.java:4752:16:4752:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:4752:24:4752:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4753:10:4753:39 | find(...) : Object | semmle.label | find(...) : Object | +| Test.java:4753:37:4753:38 | in : Object | semmle.label | in : Object | +| Test.java:4754:9:4754:11 | out | semmle.label | out | +| Test.java:4759:18:4759:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4759:28:4759:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4759:36:4759:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4760:10:4760:39 | find(...) : Object | semmle.label | find(...) : Object | +| Test.java:4760:25:4760:26 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4761:9:4761:11 | out | semmle.label | out | +| Test.java:4766:18:4766:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4766:28:4766:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4766:36:4766:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4767:10:4767:29 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:4767:24:4767:25 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4768:9:4768:11 | out | semmle.label | out | +| Test.java:4773:16:4773:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:4773:24:4773:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4774:10:4774:35 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:4774:33:4774:34 | in : Object | semmle.label | in : Object | +| Test.java:4775:9:4775:11 | out | semmle.label | out | +| Test.java:4780:18:4780:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4780:28:4780:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4780:36:4780:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4781:10:4781:35 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:4781:24:4781:25 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4782:9:4782:11 | out | semmle.label | out | +| Test.java:4787:18:4787:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4787:28:4787:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4787:36:4787:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4788:10:4788:30 | getLast(...) : Object | semmle.label | getLast(...) : Object | +| Test.java:4788:28:4788:29 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4789:9:4789:11 | out | semmle.label | out | +| Test.java:4794:16:4794:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:4794:24:4794:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4795:10:4795:36 | getLast(...) : Object | semmle.label | getLast(...) : Object | +| Test.java:4795:34:4795:35 | in : Object | semmle.label | in : Object | +| Test.java:4796:9:4796:11 | out | semmle.label | out | +| Test.java:4801:18:4801:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4801:28:4801:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4801:36:4801:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4802:10:4802:36 | getLast(...) : Object | semmle.label | getLast(...) : Object | +| Test.java:4802:28:4802:29 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4803:9:4803:11 | out | semmle.label | out | +| Test.java:4808:18:4808:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4808:28:4808:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4808:36:4808:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4809:10:4809:37 | getOnlyElement(...) : Object | semmle.label | getOnlyElement(...) : Object | +| Test.java:4809:35:4809:36 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4810:9:4810:11 | out | semmle.label | out | +| Test.java:4815:16:4815:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:4815:24:4815:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4816:10:4816:43 | getOnlyElement(...) : Object | semmle.label | getOnlyElement(...) : Object | +| Test.java:4816:41:4816:42 | in : Object | semmle.label | in : Object | +| Test.java:4817:9:4817:11 | out | semmle.label | out | +| Test.java:4822:18:4822:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4822:28:4822:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4822:36:4822:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4823:10:4823:43 | getOnlyElement(...) : Object | semmle.label | getOnlyElement(...) : Object | +| Test.java:4823:35:4823:36 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4824:9:4824:11 | out | semmle.label | out | +| Test.java:4829:18:4829:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4829:28:4829:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4829:36:4829:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4830:10:4830:31 | limit(...) : Iterable [] : Object | semmle.label | limit(...) : Iterable [] : Object | +| Test.java:4830:26:4830:27 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4831:9:4831:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4831:20:4831:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4836:18:4836:53 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:4836:28:4836:53 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:4836:36:4836:52 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4836:44:4836:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4837:10:4837:40 | mergeSorted(...) : Iterable [] : Object | semmle.label | mergeSorted(...) : Iterable [] : Object | +| Test.java:4837:32:4837:33 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:4838:9:4838:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4838:20:4838:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4843:18:4843:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4843:28:4843:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4843:36:4843:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4844:10:4844:41 | paddedPartition(...) : Iterable [, ] : Object | semmle.label | paddedPartition(...) : Iterable [, ] : Object | +| Test.java:4844:36:4844:37 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4845:9:4845:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4845:20:4845:34 | getElement(...) : List [] : Object | semmle.label | getElement(...) : List [] : Object | +| Test.java:4845:31:4845:33 | out : Iterable [, ] : Object | semmle.label | out : Iterable [, ] : Object | +| Test.java:4850:18:4850:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4850:28:4850:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4850:36:4850:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4851:10:4851:35 | partition(...) : Iterable [, ] : Object | semmle.label | partition(...) : Iterable [, ] : Object | +| Test.java:4851:30:4851:31 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4852:9:4852:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4852:20:4852:34 | getElement(...) : List [] : Object | semmle.label | getElement(...) : List [] : Object | +| Test.java:4852:31:4852:33 | out : Iterable [, ] : Object | semmle.label | out : Iterable [, ] : Object | +| Test.java:4857:18:4857:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4857:28:4857:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4857:36:4857:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4858:10:4858:30 | skip(...) : Iterable [] : Object | semmle.label | skip(...) : Iterable [] : Object | +| Test.java:4858:25:4858:26 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4859:9:4859:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4859:20:4859:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4864:18:4864:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4864:28:4864:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4864:36:4864:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4865:10:4865:43 | toArray(...) : Object[] [[]] : Object | semmle.label | toArray(...) : Object[] [[]] : Object | +| Test.java:4865:28:4865:29 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4866:9:4866:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:4866:25:4866:27 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| Test.java:4878:18:4878:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4878:28:4878:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4878:36:4878:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4879:10:4879:36 | tryFind(...) : Optional [] : Object | semmle.label | tryFind(...) : Optional [] : Object | +| Test.java:4879:28:4879:29 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4880:9:4880:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4880:20:4880:22 | out : Optional [] : Object | semmle.label | out : Optional [] : Object | +| Test.java:4885:29:4885:75 | (...)... : ImmutableList [] : Object | semmle.label | (...)... : ImmutableList [] : Object | +| Test.java:4885:50:4885:75 | of(...) : ImmutableList [] : Object | semmle.label | of(...) : ImmutableList [] : Object | +| Test.java:4885:67:4885:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4886:10:4886:43 | unmodifiableIterable(...) : Iterable [] : Object | semmle.label | unmodifiableIterable(...) : Iterable [] : Object | +| Test.java:4886:41:4886:42 | in : ImmutableList [] : Object | semmle.label | in : ImmutableList [] : Object | +| Test.java:4887:9:4887:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4887:20:4887:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4892:18:4892:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4892:28:4892:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4892:36:4892:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4893:10:4893:43 | unmodifiableIterable(...) : Iterable [] : Object | semmle.label | unmodifiableIterable(...) : Iterable [] : Object | +| Test.java:4893:41:4893:42 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4894:9:4894:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4894:20:4894:22 | out : Iterable [] : Object | semmle.label | out : Iterable [] : Object | +| Test.java:4899:18:4899:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:4899:28:4899:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4899:28:4899:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4899:36:4899:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4900:21:4900:23 | out [post update] : Collection [] : Object | semmle.label | out [post update] : Collection [] : Object | +| Test.java:4900:26:4900:27 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:4901:9:4901:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4901:20:4901:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:4906:18:4906:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:4906:28:4906:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4906:28:4906:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4906:36:4906:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4907:10:4907:36 | asEnumeration(...) : Enumeration [] : Object | semmle.label | asEnumeration(...) : Enumeration [] : Object | +| Test.java:4907:34:4907:35 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:4908:9:4908:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4908:20:4908:22 | out : Enumeration [] : Object | semmle.label | out : Enumeration [] : Object | +| Test.java:4913:18:4913:75 | (...)... : Iterator [, ] : Object | semmle.label | (...)... : Iterator [, ] : Object | +| Test.java:4913:28:4913:64 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:4913:28:4913:75 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:4913:36:4913:52 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4913:36:4913:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4913:44:4913:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4914:10:4914:29 | concat(...) : Iterator [] : Object | semmle.label | concat(...) : Iterator [] : Object | +| Test.java:4914:27:4914:28 | in : Iterator [, ] : Object | semmle.label | in : Iterator [, ] : Object | +| Test.java:4915:9:4915:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4915:20:4915:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:4920:18:4920:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:4920:28:4920:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4920:28:4920:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4920:36:4920:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4921:10:4921:35 | concat(...) : Iterator [] : Object | semmle.label | concat(...) : Iterator [] : Object | +| Test.java:4921:33:4921:34 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:4922:9:4922:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4922:20:4922:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:4927:18:4927:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:4927:28:4927:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4927:28:4927:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4927:36:4927:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4928:10:4928:35 | concat(...) : Iterator [] : Object | semmle.label | concat(...) : Iterator [] : Object | +| Test.java:4928:27:4928:28 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:4929:9:4929:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4929:20:4929:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:4934:18:4934:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:4934:28:4934:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4934:28:4934:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4934:36:4934:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4935:10:4935:41 | concat(...) : Iterator [] : Object | semmle.label | concat(...) : Iterator [] : Object | +| Test.java:4935:39:4935:40 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:4936:9:4936:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4936:20:4936:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:4941:18:4941:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:4941:28:4941:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4941:28:4941:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4941:36:4941:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4942:10:4942:41 | concat(...) : Iterator [] : Object | semmle.label | concat(...) : Iterator [] : Object | +| Test.java:4942:33:4942:34 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:4943:9:4943:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4943:20:4943:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:4948:18:4948:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:4948:28:4948:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4948:28:4948:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4948:36:4948:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4949:10:4949:41 | concat(...) : Iterator [] : Object | semmle.label | concat(...) : Iterator [] : Object | +| Test.java:4949:27:4949:28 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:4950:9:4950:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4950:20:4950:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:4955:18:4955:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:4955:28:4955:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4955:28:4955:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4955:36:4955:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4956:10:4956:47 | concat(...) : Iterator [] : Object | semmle.label | concat(...) : Iterator [] : Object | +| Test.java:4956:45:4956:46 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:4957:9:4957:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4957:20:4957:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:4962:18:4962:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:4962:28:4962:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4962:28:4962:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4962:36:4962:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4963:10:4963:47 | concat(...) : Iterator [] : Object | semmle.label | concat(...) : Iterator [] : Object | +| Test.java:4963:39:4963:40 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:4964:9:4964:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4964:20:4964:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:4969:18:4969:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:4969:28:4969:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4969:28:4969:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4969:36:4969:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4970:10:4970:47 | concat(...) : Iterator [] : Object | semmle.label | concat(...) : Iterator [] : Object | +| Test.java:4970:33:4970:34 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:4971:9:4971:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4971:20:4971:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:4976:18:4976:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:4976:28:4976:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4976:28:4976:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4976:36:4976:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4977:10:4977:47 | concat(...) : Iterator [] : Object | semmle.label | concat(...) : Iterator [] : Object | +| Test.java:4977:27:4977:28 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:4978:9:4978:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4978:20:4978:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:4983:20:4983:85 | (...)... : Iterator[] [[], ] : Object | semmle.label | (...)... : Iterator[] [[], ] : Object | +| Test.java:4983:32:4983:85 | {...} : Iterator[] [[], ] : Object | semmle.label | {...} : Iterator[] [[], ] : Object | +| Test.java:4983:47:4983:84 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:4983:57:4983:73 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4983:57:4983:84 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4983:65:4983:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4984:10:4984:29 | concat(...) : Iterator [] : Object | semmle.label | concat(...) : Iterator [] : Object | +| Test.java:4984:27:4984:28 | in : Iterator[] [[], ] : Object | semmle.label | in : Iterator[] [[], ] : Object | +| Test.java:4985:9:4985:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4985:20:4985:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:4990:18:4990:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:4990:28:4990:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4990:28:4990:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:4990:36:4990:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4991:10:4991:40 | consumingIterator(...) : Iterator [] : Object | semmle.label | consumingIterator(...) : Iterator [] : Object | +| Test.java:4991:38:4991:39 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:4992:9:4992:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4992:20:4992:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:4997:18:4997:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4997:28:4997:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4997:36:4997:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4998:10:4998:28 | cycle(...) : Iterator [] : Object | semmle.label | cycle(...) : Iterator [] : Object | +| Test.java:4998:26:4998:27 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4999:9:4999:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4999:20:4999:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:5004:18:5004:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:5004:28:5004:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:5004:41:5004:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5005:10:5005:28 | cycle(...) : Iterator [] : Object | semmle.label | cycle(...) : Iterator [] : Object | +| Test.java:5005:26:5005:27 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:5006:9:5006:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5006:20:5006:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:5011:18:5011:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5011:28:5011:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5011:28:5011:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5011:36:5011:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5012:10:5012:42 | filter(...) : UnmodifiableIterator [] : Object | semmle.label | filter(...) : UnmodifiableIterator [] : Object | +| Test.java:5012:27:5012:28 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5013:9:5013:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5013:20:5013:22 | out : UnmodifiableIterator [] : Object | semmle.label | out : UnmodifiableIterator [] : Object | +| Test.java:5018:18:5018:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5018:28:5018:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5018:28:5018:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5018:36:5018:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5019:10:5019:46 | filter(...) : UnmodifiableIterator [] : Object | semmle.label | filter(...) : UnmodifiableIterator [] : Object | +| Test.java:5019:27:5019:28 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5020:9:5020:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5020:20:5020:22 | out : UnmodifiableIterator [] : Object | semmle.label | out : UnmodifiableIterator [] : Object | +| Test.java:5025:18:5025:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5025:28:5025:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5025:28:5025:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5025:36:5025:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5026:10:5026:33 | find(...) : Object | semmle.label | find(...) : Object | +| Test.java:5026:25:5026:26 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5027:9:5027:11 | out | semmle.label | out | +| Test.java:5032:16:5032:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:5032:24:5032:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5033:10:5033:39 | find(...) : Object | semmle.label | find(...) : Object | +| Test.java:5033:37:5033:38 | in : Object | semmle.label | in : Object | +| Test.java:5034:9:5034:11 | out | semmle.label | out | +| Test.java:5039:18:5039:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5039:28:5039:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5039:28:5039:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5039:36:5039:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5040:10:5040:39 | find(...) : Object | semmle.label | find(...) : Object | +| Test.java:5040:25:5040:26 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5041:9:5041:11 | out | semmle.label | out | +| Test.java:5046:18:5046:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:5046:28:5046:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:5046:41:5046:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5047:10:5047:31 | forArray(...) : UnmodifiableIterator [] : Object | semmle.label | forArray(...) : UnmodifiableIterator [] : Object | +| Test.java:5047:29:5047:30 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:5048:9:5048:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5048:20:5048:22 | out : UnmodifiableIterator [] : Object | semmle.label | out : UnmodifiableIterator [] : Object | +| Test.java:5053:21:5053:64 | (...)... : Enumeration [] : Object | semmle.label | (...)... : Enumeration [] : Object | +| Test.java:5053:34:5053:64 | newWithElementDefault(...) : Object [] : Object | semmle.label | newWithElementDefault(...) : Object [] : Object | +| Test.java:5053:56:5053:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5054:10:5054:37 | forEnumeration(...) : UnmodifiableIterator [] : Object | semmle.label | forEnumeration(...) : UnmodifiableIterator [] : Object | +| Test.java:5054:35:5054:36 | in : Enumeration [] : Object | semmle.label | in : Enumeration [] : Object | +| Test.java:5055:9:5055:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5055:20:5055:22 | out : UnmodifiableIterator [] : Object | semmle.label | out : UnmodifiableIterator [] : Object | +| Test.java:5060:18:5060:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5060:28:5060:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5060:28:5060:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5060:36:5060:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5061:10:5061:29 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:5061:24:5061:25 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5062:9:5062:11 | out | semmle.label | out | +| Test.java:5067:16:5067:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:5067:24:5067:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5068:10:5068:35 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:5068:33:5068:34 | in : Object | semmle.label | in : Object | +| Test.java:5069:9:5069:11 | out | semmle.label | out | +| Test.java:5074:18:5074:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5074:28:5074:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5074:28:5074:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5074:36:5074:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5075:10:5075:35 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:5075:24:5075:25 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5076:9:5076:11 | out | semmle.label | out | +| Test.java:5081:18:5081:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5081:28:5081:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5081:28:5081:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5081:36:5081:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5082:10:5082:30 | getLast(...) : Object | semmle.label | getLast(...) : Object | +| Test.java:5082:28:5082:29 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5083:9:5083:11 | out | semmle.label | out | +| Test.java:5088:16:5088:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:5088:24:5088:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5089:10:5089:36 | getLast(...) : Object | semmle.label | getLast(...) : Object | +| Test.java:5089:34:5089:35 | in : Object | semmle.label | in : Object | +| Test.java:5090:9:5090:11 | out | semmle.label | out | +| Test.java:5095:18:5095:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5095:28:5095:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5095:28:5095:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5095:36:5095:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5096:10:5096:36 | getLast(...) : Object | semmle.label | getLast(...) : Object | +| Test.java:5096:28:5096:29 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5097:9:5097:11 | out | semmle.label | out | +| Test.java:5102:16:5102:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:5102:24:5102:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5103:10:5103:36 | getNext(...) : Object | semmle.label | getNext(...) : Object | +| Test.java:5103:34:5103:35 | in : Object | semmle.label | in : Object | +| Test.java:5104:9:5104:11 | out | semmle.label | out | +| Test.java:5109:18:5109:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5109:28:5109:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5109:28:5109:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5109:36:5109:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5110:10:5110:36 | getNext(...) : Object | semmle.label | getNext(...) : Object | +| Test.java:5110:28:5110:29 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5111:9:5111:11 | out | semmle.label | out | +| Test.java:5116:18:5116:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5116:28:5116:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5116:28:5116:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5116:36:5116:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5117:10:5117:37 | getOnlyElement(...) : Object | semmle.label | getOnlyElement(...) : Object | +| Test.java:5117:35:5117:36 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5118:9:5118:11 | out | semmle.label | out | +| Test.java:5123:16:5123:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:5123:24:5123:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5124:10:5124:43 | getOnlyElement(...) : Object | semmle.label | getOnlyElement(...) : Object | +| Test.java:5124:41:5124:42 | in : Object | semmle.label | in : Object | +| Test.java:5125:9:5125:11 | out | semmle.label | out | +| Test.java:5130:18:5130:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5130:28:5130:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5130:28:5130:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5130:36:5130:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5131:10:5131:43 | getOnlyElement(...) : Object | semmle.label | getOnlyElement(...) : Object | +| Test.java:5131:35:5131:36 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5132:9:5132:11 | out | semmle.label | out | +| Test.java:5137:18:5137:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5137:28:5137:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5137:28:5137:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5137:36:5137:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5138:10:5138:31 | limit(...) : Iterator [] : Object | semmle.label | limit(...) : Iterator [] : Object | +| Test.java:5138:26:5138:27 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5139:9:5139:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5139:20:5139:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:5144:18:5144:64 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:5144:28:5144:64 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:5144:36:5144:52 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5144:36:5144:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5144:44:5144:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5145:10:5145:40 | mergeSorted(...) : UnmodifiableIterator [] : Object | semmle.label | mergeSorted(...) : UnmodifiableIterator [] : Object | +| Test.java:5145:32:5145:33 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:5146:9:5146:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5146:20:5146:22 | out : UnmodifiableIterator [] : Object | semmle.label | out : UnmodifiableIterator [] : Object | +| Test.java:5151:18:5151:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5151:28:5151:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5151:28:5151:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5151:36:5151:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5152:10:5152:41 | paddedPartition(...) : UnmodifiableIterator [, ] : Object | semmle.label | paddedPartition(...) : UnmodifiableIterator [, ] : Object | +| Test.java:5152:36:5152:37 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5153:9:5153:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5153:20:5153:34 | getElement(...) : List [] : Object | semmle.label | getElement(...) : List [] : Object | +| Test.java:5153:31:5153:33 | out : UnmodifiableIterator [, ] : Object | semmle.label | out : UnmodifiableIterator [, ] : Object | +| Test.java:5158:18:5158:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5158:28:5158:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5158:28:5158:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5158:36:5158:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5159:10:5159:35 | partition(...) : UnmodifiableIterator [, ] : Object | semmle.label | partition(...) : UnmodifiableIterator [, ] : Object | +| Test.java:5159:30:5159:31 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5160:9:5160:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5160:20:5160:34 | getElement(...) : List [] : Object | semmle.label | getElement(...) : List [] : Object | +| Test.java:5160:31:5160:33 | out : UnmodifiableIterator [, ] : Object | semmle.label | out : UnmodifiableIterator [, ] : Object | +| Test.java:5165:18:5165:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5165:28:5165:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5165:28:5165:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5165:36:5165:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5166:10:5166:38 | peekingIterator(...) : PeekingIterator [] : Object | semmle.label | peekingIterator(...) : PeekingIterator [] : Object | +| Test.java:5166:36:5166:37 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5167:9:5167:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5167:20:5167:22 | out : PeekingIterator [] : Object | semmle.label | out : PeekingIterator [] : Object | +| Test.java:5172:25:5172:96 | (...)... : PeekingIterator [] : Object | semmle.label | (...)... : PeekingIterator [] : Object | +| Test.java:5172:42:5172:96 | peekingIterator(...) : PeekingIterator [] : Object | semmle.label | peekingIterator(...) : PeekingIterator [] : Object | +| Test.java:5172:68:5172:84 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5172:68:5172:95 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5172:76:5172:83 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5173:10:5173:38 | peekingIterator(...) : PeekingIterator [] : Object | semmle.label | peekingIterator(...) : PeekingIterator [] : Object | +| Test.java:5173:36:5173:37 | in : PeekingIterator [] : Object | semmle.label | in : PeekingIterator [] : Object | +| Test.java:5174:9:5174:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5174:20:5174:22 | out : PeekingIterator [] : Object | semmle.label | out : PeekingIterator [] : Object | +| Test.java:5179:16:5179:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:5179:24:5179:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5180:10:5180:40 | singletonIterator(...) : UnmodifiableIterator [] : Object | semmle.label | singletonIterator(...) : UnmodifiableIterator [] : Object | +| Test.java:5180:38:5180:39 | in : Object | semmle.label | in : Object | +| Test.java:5181:9:5181:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5181:20:5181:22 | out : UnmodifiableIterator [] : Object | semmle.label | out : UnmodifiableIterator [] : Object | +| Test.java:5186:18:5186:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5186:28:5186:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5186:28:5186:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5186:36:5186:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5187:10:5187:36 | toArray(...) : Object[] [[]] : Object | semmle.label | toArray(...) : Object[] [[]] : Object | +| Test.java:5187:28:5187:29 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5188:9:5188:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:5188:25:5188:27 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| Test.java:5193:18:5193:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5193:28:5193:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5193:28:5193:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5193:36:5193:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5194:10:5194:36 | tryFind(...) : Optional [] : Object | semmle.label | tryFind(...) : Optional [] : Object | +| Test.java:5194:28:5194:29 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5195:9:5195:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5195:20:5195:22 | out : Optional [] : Object | semmle.label | out : Optional [] : Object | +| Test.java:5200:18:5200:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5200:28:5200:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5200:28:5200:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5200:36:5200:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5201:10:5201:43 | unmodifiableIterator(...) : UnmodifiableIterator [] : Object | semmle.label | unmodifiableIterator(...) : UnmodifiableIterator [] : Object | +| Test.java:5201:41:5201:42 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5202:9:5202:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5202:20:5202:22 | out : UnmodifiableIterator [] : Object | semmle.label | out : UnmodifiableIterator [] : Object | +| Test.java:5207:30:5207:111 | (...)... : UnmodifiableIterator [] : Object | semmle.label | (...)... : UnmodifiableIterator [] : Object | +| Test.java:5207:52:5207:111 | unmodifiableIterator(...) : UnmodifiableIterator [] : Object | semmle.label | unmodifiableIterator(...) : UnmodifiableIterator [] : Object | +| Test.java:5207:83:5207:99 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5207:83:5207:110 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5207:91:5207:98 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5208:10:5208:43 | unmodifiableIterator(...) : UnmodifiableIterator [] : Object | semmle.label | unmodifiableIterator(...) : UnmodifiableIterator [] : Object | +| Test.java:5208:41:5208:42 | in : UnmodifiableIterator [] : Object | semmle.label | in : UnmodifiableIterator [] : Object | +| Test.java:5209:9:5209:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5209:20:5209:22 | out : UnmodifiableIterator [] : Object | semmle.label | out : UnmodifiableIterator [] : Object | +| Test.java:5214:18:5214:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:5214:28:5214:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:5214:49:5214:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5215:10:5215:38 | create(...) : LinkedHashMultimap [] : Object | semmle.label | create(...) : LinkedHashMultimap [] : Object | +| Test.java:5215:36:5215:37 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:5216:9:5216:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5216:19:5216:21 | out : LinkedHashMultimap [] : Object | semmle.label | out : LinkedHashMultimap [] : Object | +| Test.java:5221:18:5221:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:5221:28:5221:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:5221:55:5221:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5222:10:5222:38 | create(...) : LinkedHashMultimap [] : Object | semmle.label | create(...) : LinkedHashMultimap [] : Object | +| Test.java:5222:36:5222:37 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:5223:9:5223:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5223:21:5223:23 | out : LinkedHashMultimap [] : Object | semmle.label | out : LinkedHashMultimap [] : Object | +| Test.java:5228:18:5228:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:5228:28:5228:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5228:36:5228:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5229:10:5229:38 | create(...) : LinkedHashMultiset [] : Object | semmle.label | create(...) : LinkedHashMultiset [] : Object | +| Test.java:5229:36:5229:37 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:5230:9:5230:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5230:20:5230:22 | out : LinkedHashMultiset [] : Object | semmle.label | out : LinkedHashMultiset [] : Object | +| Test.java:5235:18:5235:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:5235:28:5235:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:5235:49:5235:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5236:10:5236:38 | create(...) : LinkedListMultimap [] : Object | semmle.label | create(...) : LinkedListMultimap [] : Object | +| Test.java:5236:36:5236:37 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:5237:9:5237:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5237:19:5237:21 | out : LinkedListMultimap [] : Object | semmle.label | out : LinkedListMultimap [] : Object | +| Test.java:5242:18:5242:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:5242:28:5242:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:5242:55:5242:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5243:10:5243:38 | create(...) : LinkedListMultimap [] : Object | semmle.label | create(...) : LinkedListMultimap [] : Object | +| Test.java:5243:36:5243:37 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:5244:9:5244:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5244:21:5244:23 | out : LinkedListMultimap [] : Object | semmle.label | out : LinkedListMultimap [] : Object | +| Test.java:5249:16:5249:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:5249:24:5249:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5250:10:5250:37 | asList(...) : List [] : Object | semmle.label | asList(...) : List [] : Object | +| Test.java:5250:29:5250:30 | in : Object | semmle.label | in : Object | +| Test.java:5251:9:5251:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5251:20:5251:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:5256:16:5256:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:5256:24:5256:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5257:10:5257:37 | asList(...) : List [] : Object | semmle.label | asList(...) : List [] : Object | +| Test.java:5257:23:5257:24 | in : Object | semmle.label | in : Object | +| Test.java:5258:9:5258:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5258:20:5258:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:5263:18:5263:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:5263:28:5263:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:5263:41:5263:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5264:10:5264:37 | asList(...) : List [] : Object | semmle.label | asList(...) : List [] : Object | +| Test.java:5264:35:5264:36 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:5265:9:5265:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5265:20:5265:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:5270:16:5270:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:5270:24:5270:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5271:10:5271:31 | asList(...) : List [] : Object | semmle.label | asList(...) : List [] : Object | +| Test.java:5271:23:5271:24 | in : Object | semmle.label | in : Object | +| Test.java:5272:9:5272:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5272:20:5272:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:5277:18:5277:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:5277:28:5277:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:5277:41:5277:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5278:10:5278:31 | asList(...) : List [] : Object | semmle.label | asList(...) : List [] : Object | +| Test.java:5278:29:5278:30 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:5279:9:5279:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5279:20:5279:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:5284:14:5284:45 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:5284:20:5284:45 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:5284:28:5284:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5284:36:5284:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5285:10:5285:35 | cartesianProduct(...) : List [, ] : Object | semmle.label | cartesianProduct(...) : List [, ] : Object | +| Test.java:5285:33:5285:34 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:5286:9:5286:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5286:20:5286:34 | getElement(...) : List [] : Object | semmle.label | getElement(...) : List [] : Object | +| Test.java:5286:31:5286:33 | out : List [, ] : Object | semmle.label | out : List [, ] : Object | +| Test.java:5291:16:5291:58 | (...)... : List[] [[], ] : Object | semmle.label | (...)... : List[] [[], ] : Object | +| Test.java:5291:24:5291:58 | {...} : List[] [[], ] : Object | semmle.label | {...} : List[] [[], ] : Object | +| Test.java:5291:35:5291:57 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:5291:41:5291:57 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5291:49:5291:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5292:10:5292:35 | cartesianProduct(...) : List [, ] : Object | semmle.label | cartesianProduct(...) : List [, ] : Object | +| Test.java:5292:33:5292:34 | in : List[] [[], ] : Object | semmle.label | in : List[] [[], ] : Object | +| Test.java:5293:9:5293:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5293:20:5293:34 | getElement(...) : List [] : Object | semmle.label | getElement(...) : List [] : Object | +| Test.java:5293:31:5293:33 | out : List [, ] : Object | semmle.label | out : List [, ] : Object | +| Test.java:5298:22:5298:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:5298:36:5298:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5299:10:5299:31 | charactersOf(...) : List [] : Object | semmle.label | charactersOf(...) : List [] : Object | +| Test.java:5299:29:5299:30 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:5300:9:5300:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5300:20:5300:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:5305:16:5305:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5305:24:5305:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5306:10:5306:31 | charactersOf(...) : ImmutableList [] : Object | semmle.label | charactersOf(...) : ImmutableList [] : Object | +| Test.java:5306:29:5306:30 | in : String | semmle.label | in : String | +| Test.java:5307:9:5307:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5307:20:5307:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:5312:18:5312:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:5312:28:5312:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5312:36:5312:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5313:10:5313:31 | newArrayList(...) : ArrayList [] : Object | semmle.label | newArrayList(...) : ArrayList [] : Object | +| Test.java:5313:29:5313:30 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:5314:9:5314:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5314:20:5314:22 | out : ArrayList [] : Object | semmle.label | out : ArrayList [] : Object | +| Test.java:5319:18:5319:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5319:28:5319:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5319:28:5319:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5319:36:5319:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5320:10:5320:31 | newArrayList(...) : ArrayList [] : Object | semmle.label | newArrayList(...) : ArrayList [] : Object | +| Test.java:5320:29:5320:30 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5321:9:5321:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5321:20:5321:22 | out : ArrayList [] : Object | semmle.label | out : ArrayList [] : Object | +| Test.java:5326:18:5326:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:5326:28:5326:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:5326:41:5326:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5327:10:5327:31 | newArrayList(...) : ArrayList [] : Object | semmle.label | newArrayList(...) : ArrayList [] : Object | +| Test.java:5327:29:5327:30 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:5328:9:5328:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5328:20:5328:22 | out : ArrayList [] : Object | semmle.label | out : ArrayList [] : Object | +| Test.java:5333:18:5333:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:5333:28:5333:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5333:36:5333:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5334:10:5334:42 | newCopyOnWriteArrayList(...) : CopyOnWriteArrayList [] : Object | semmle.label | newCopyOnWriteArrayList(...) : CopyOnWriteArrayList [] : Object | +| Test.java:5334:40:5334:41 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:5335:9:5335:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5335:20:5335:22 | out : CopyOnWriteArrayList [] : Object | semmle.label | out : CopyOnWriteArrayList [] : Object | +| Test.java:5340:18:5340:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:5340:28:5340:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5340:36:5340:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5341:10:5341:32 | newLinkedList(...) : LinkedList [] : Object | semmle.label | newLinkedList(...) : LinkedList [] : Object | +| Test.java:5341:30:5341:31 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:5342:9:5342:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5342:20:5342:22 | out : LinkedList [] : Object | semmle.label | out : LinkedList [] : Object | +| Test.java:5347:14:5347:36 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:5347:20:5347:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5347:28:5347:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5348:10:5348:31 | partition(...) : List [, ] : Object | semmle.label | partition(...) : List [, ] : Object | +| Test.java:5348:26:5348:27 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:5349:9:5349:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5349:20:5349:34 | getElement(...) : List [] : Object | semmle.label | getElement(...) : List [] : Object | +| Test.java:5349:31:5349:33 | out : List [, ] : Object | semmle.label | out : List [, ] : Object | +| Test.java:5354:14:5354:36 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:5354:20:5354:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5354:28:5354:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5355:10:5355:26 | reverse(...) : List [] : Object | semmle.label | reverse(...) : List [] : Object | +| Test.java:5355:24:5355:25 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:5356:9:5356:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5356:20:5356:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:5361:39:5361:106 | (...)... : ValueDifference [com.google.common.collect.MapDifference.left] : Object | semmle.label | (...)... : ValueDifference [com.google.common.collect.MapDifference.left] : Object | +| Test.java:5361:70:5361:106 | newMapValueDifference(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | semmle.label | newMapValueDifference(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | +| Test.java:5361:92:5361:99 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5362:10:5362:11 | in : ValueDifference [com.google.common.collect.MapDifference.left] : Object | semmle.label | in : ValueDifference [com.google.common.collect.MapDifference.left] : Object | +| Test.java:5362:10:5362:23 | leftValue(...) : Object | semmle.label | leftValue(...) : Object | +| Test.java:5363:9:5363:11 | out | semmle.label | out | +| Test.java:5368:39:5368:106 | (...)... : ValueDifference [com.google.common.collect.MapDifference.right] : Object | semmle.label | (...)... : ValueDifference [com.google.common.collect.MapDifference.right] : Object | +| Test.java:5368:70:5368:106 | newMapValueDifference(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | semmle.label | newMapValueDifference(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | +| Test.java:5368:98:5368:105 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5369:10:5369:11 | in : ValueDifference [com.google.common.collect.MapDifference.right] : Object | semmle.label | in : ValueDifference [com.google.common.collect.MapDifference.right] : Object | +| Test.java:5369:10:5369:24 | rightValue(...) : Object | semmle.label | rightValue(...) : Object | +| Test.java:5370:9:5370:11 | out | semmle.label | out | +| Test.java:5375:29:5375:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | +| Test.java:5375:50:5375:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | +| Test.java:5375:66:5375:114 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5375:88:5375:107 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5375:100:5375:107 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5376:10:5376:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | +| Test.java:5376:10:5376:30 | entriesDiffering(...) : SortedMap [] : Comparable | semmle.label | entriesDiffering(...) : SortedMap [] : Comparable | +| Test.java:5377:9:5377:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5377:19:5377:21 | out : SortedMap [] : Comparable | semmle.label | out : SortedMap [] : Comparable | +| Test.java:5382:23:5382:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5382:38:5382:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5382:54:5382:75 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5382:61:5382:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5383:10:5383:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5383:10:5383:30 | entriesDiffering(...) : Map [] : Object | semmle.label | entriesDiffering(...) : Map [] : Object | +| Test.java:5384:9:5384:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5384:19:5384:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5389:29:5389:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | +| Test.java:5389:50:5389:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | +| Test.java:5389:72:5389:120 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5389:94:5389:113 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5389:106:5389:113 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5390:10:5390:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | +| Test.java:5390:10:5390:30 | entriesDiffering(...) : SortedMap [] : Comparable | semmle.label | entriesDiffering(...) : SortedMap [] : Comparable | +| Test.java:5391:9:5391:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5391:19:5391:21 | out : SortedMap [] : Comparable | semmle.label | out : SortedMap [] : Comparable | +| Test.java:5396:23:5396:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5396:38:5396:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5396:60:5396:81 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5396:67:5396:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5397:10:5397:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5397:10:5397:30 | entriesDiffering(...) : Map [] : Object | semmle.label | entriesDiffering(...) : Map [] : Object | +| Test.java:5398:9:5398:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5398:19:5398:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5403:29:5403:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5403:50:5403:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5403:66:5403:114 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:5403:106:5403:113 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5404:10:5404:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5404:10:5404:30 | entriesDiffering(...) : SortedMap [, com.google.common.collect.MapDifference.left] : Object | semmle.label | entriesDiffering(...) : SortedMap [, com.google.common.collect.MapDifference.left] : Object | +| Test.java:5405:9:5405:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | semmle.label | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | +| Test.java:5405:9:5405:36 | leftValue(...) | semmle.label | leftValue(...) | +| Test.java:5405:21:5405:23 | out : SortedMap [, com.google.common.collect.MapDifference.left] : Object | semmle.label | out : SortedMap [, com.google.common.collect.MapDifference.left] : Object | +| Test.java:5410:23:5410:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5410:38:5410:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5410:54:5410:75 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5410:67:5410:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5411:10:5411:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5411:10:5411:30 | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.left] : Object | semmle.label | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.left] : Object | +| Test.java:5412:9:5412:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | semmle.label | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | +| Test.java:5412:9:5412:36 | leftValue(...) | semmle.label | leftValue(...) | +| Test.java:5412:21:5412:23 | out : Map [, com.google.common.collect.MapDifference.left] : Object | semmle.label | out : Map [, com.google.common.collect.MapDifference.left] : Object | +| Test.java:5417:29:5417:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5417:50:5417:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5417:72:5417:120 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:5417:112:5417:119 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5418:10:5418:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5418:10:5418:30 | entriesDiffering(...) : SortedMap [, com.google.common.collect.MapDifference.right] : Object | semmle.label | entriesDiffering(...) : SortedMap [, com.google.common.collect.MapDifference.right] : Object | +| Test.java:5419:9:5419:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | semmle.label | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | +| Test.java:5419:9:5419:37 | rightValue(...) | semmle.label | rightValue(...) | +| Test.java:5419:21:5419:23 | out : SortedMap [, com.google.common.collect.MapDifference.right] : Object | semmle.label | out : SortedMap [, com.google.common.collect.MapDifference.right] : Object | +| Test.java:5424:23:5424:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5424:38:5424:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5424:60:5424:81 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5424:73:5424:80 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5425:10:5425:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5425:10:5425:30 | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.right] : Object | semmle.label | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.right] : Object | +| Test.java:5426:9:5426:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | semmle.label | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | +| Test.java:5426:9:5426:37 | rightValue(...) | semmle.label | rightValue(...) | +| Test.java:5426:21:5426:23 | out : Map [, com.google.common.collect.MapDifference.right] : Object | semmle.label | out : Map [, com.google.common.collect.MapDifference.right] : Object | +| Test.java:5431:29:5431:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | +| Test.java:5431:50:5431:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | +| Test.java:5431:66:5431:114 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5431:88:5431:107 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5431:100:5431:107 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5432:10:5432:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | +| Test.java:5432:10:5432:29 | entriesInCommon(...) : SortedMap [] : Comparable | semmle.label | entriesInCommon(...) : SortedMap [] : Comparable | +| Test.java:5433:9:5433:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5433:19:5433:21 | out : SortedMap [] : Comparable | semmle.label | out : SortedMap [] : Comparable | +| Test.java:5438:23:5438:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5438:38:5438:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5438:54:5438:75 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5438:61:5438:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5439:10:5439:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5439:10:5439:29 | entriesInCommon(...) : Map [] : Object | semmle.label | entriesInCommon(...) : Map [] : Object | +| Test.java:5440:9:5440:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5440:19:5440:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5445:29:5445:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | +| Test.java:5445:50:5445:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | +| Test.java:5445:72:5445:120 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5445:94:5445:113 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5445:106:5445:113 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5446:10:5446:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | +| Test.java:5446:10:5446:29 | entriesInCommon(...) : SortedMap [] : Comparable | semmle.label | entriesInCommon(...) : SortedMap [] : Comparable | +| Test.java:5447:9:5447:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5447:19:5447:21 | out : SortedMap [] : Comparable | semmle.label | out : SortedMap [] : Comparable | +| Test.java:5452:23:5452:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5452:38:5452:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5452:60:5452:81 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5452:67:5452:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5453:10:5453:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5453:10:5453:29 | entriesInCommon(...) : Map [] : Object | semmle.label | entriesInCommon(...) : Map [] : Object | +| Test.java:5454:9:5454:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5454:19:5454:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5459:29:5459:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5459:50:5459:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5459:66:5459:114 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:5459:106:5459:113 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5460:10:5460:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5460:10:5460:29 | entriesInCommon(...) : SortedMap [] : Object | semmle.label | entriesInCommon(...) : SortedMap [] : Object | +| Test.java:5461:9:5461:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5461:21:5461:23 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| Test.java:5466:23:5466:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5466:38:5466:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5466:54:5466:75 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5466:67:5466:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5467:10:5467:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5467:10:5467:29 | entriesInCommon(...) : Map [] : Object | semmle.label | entriesInCommon(...) : Map [] : Object | +| Test.java:5468:9:5468:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5468:21:5468:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5473:29:5473:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5473:50:5473:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5473:72:5473:120 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:5473:112:5473:119 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5474:10:5474:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5474:10:5474:29 | entriesInCommon(...) : SortedMap [] : Object | semmle.label | entriesInCommon(...) : SortedMap [] : Object | +| Test.java:5475:9:5475:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5475:21:5475:23 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| Test.java:5480:23:5480:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5480:38:5480:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5480:60:5480:81 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5480:73:5480:80 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5481:10:5481:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5481:10:5481:29 | entriesInCommon(...) : Map [] : Object | semmle.label | entriesInCommon(...) : Map [] : Object | +| Test.java:5482:9:5482:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5482:21:5482:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5487:29:5487:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | +| Test.java:5487:50:5487:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | +| Test.java:5487:66:5487:114 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5487:88:5487:107 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5487:100:5487:107 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5488:10:5488:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | +| Test.java:5488:10:5488:31 | entriesOnlyOnLeft(...) : SortedMap [] : Comparable | semmle.label | entriesOnlyOnLeft(...) : SortedMap [] : Comparable | +| Test.java:5489:9:5489:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5489:19:5489:21 | out : SortedMap [] : Comparable | semmle.label | out : SortedMap [] : Comparable | +| Test.java:5494:23:5494:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5494:38:5494:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5494:54:5494:75 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5494:61:5494:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5495:10:5495:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5495:10:5495:31 | entriesOnlyOnLeft(...) : Map [] : Object | semmle.label | entriesOnlyOnLeft(...) : Map [] : Object | +| Test.java:5496:9:5496:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5496:19:5496:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5501:29:5501:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5501:50:5501:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5501:66:5501:114 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:5501:106:5501:113 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5502:10:5502:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5502:10:5502:31 | entriesOnlyOnLeft(...) : SortedMap [] : Object | semmle.label | entriesOnlyOnLeft(...) : SortedMap [] : Object | +| Test.java:5503:9:5503:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5503:21:5503:23 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| Test.java:5508:23:5508:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5508:38:5508:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5508:54:5508:75 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5508:67:5508:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5509:10:5509:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5509:10:5509:31 | entriesOnlyOnLeft(...) : Map [] : Object | semmle.label | entriesOnlyOnLeft(...) : Map [] : Object | +| Test.java:5510:9:5510:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5510:21:5510:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5515:29:5515:120 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | +| Test.java:5515:50:5515:120 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | +| Test.java:5515:72:5515:119 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5515:94:5515:113 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5515:106:5515:113 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5516:10:5516:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Comparable | +| Test.java:5516:10:5516:32 | entriesOnlyOnRight(...) : SortedMap [] : Comparable | semmle.label | entriesOnlyOnRight(...) : SortedMap [] : Comparable | +| Test.java:5517:9:5517:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5517:19:5517:21 | out : SortedMap [] : Comparable | semmle.label | out : SortedMap [] : Comparable | +| Test.java:5522:23:5522:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5522:38:5522:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5522:60:5522:81 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5522:67:5522:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5523:10:5523:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5523:10:5523:32 | entriesOnlyOnRight(...) : Map [] : Object | semmle.label | entriesOnlyOnRight(...) : Map [] : Object | +| Test.java:5524:9:5524:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5524:19:5524:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5529:29:5529:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5529:50:5529:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5529:72:5529:120 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:5529:112:5529:119 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5530:10:5530:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5530:10:5530:32 | entriesOnlyOnRight(...) : SortedMap [] : Object | semmle.label | entriesOnlyOnRight(...) : SortedMap [] : Object | +| Test.java:5531:9:5531:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5531:21:5531:23 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| Test.java:5536:23:5536:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5536:38:5536:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5536:60:5536:81 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5536:73:5536:80 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5537:10:5537:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5537:10:5537:32 | entriesOnlyOnRight(...) : Map [] : Object | semmle.label | entriesOnlyOnRight(...) : Map [] : Object | +| Test.java:5538:9:5538:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5538:21:5538:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5543:22:5543:78 | (...)... : ImmutableSortedSet [] : Comparable | semmle.label | (...)... : ImmutableSortedSet [] : Comparable | +| Test.java:5543:36:5543:78 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:5543:58:5543:77 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5543:70:5543:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5544:10:5544:39 | asMap(...) : NavigableMap [] : Comparable | semmle.label | asMap(...) : NavigableMap [] : Comparable | +| Test.java:5544:21:5544:22 | in : ImmutableSortedSet [] : Comparable | semmle.label | in : ImmutableSortedSet [] : Comparable | +| Test.java:5545:9:5545:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5545:19:5545:21 | out : NavigableMap [] : Comparable | semmle.label | out : NavigableMap [] : Comparable | +| Test.java:5550:13:5550:33 | (...)... : Set [] : Object | semmle.label | (...)... : Set [] : Object | +| Test.java:5550:18:5550:33 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| Test.java:5550:25:5550:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5551:10:5551:39 | asMap(...) : Map [] : Object | semmle.label | asMap(...) : Map [] : Object | +| Test.java:5551:21:5551:22 | in : Set [] : Object | semmle.label | in : Set [] : Object | +| Test.java:5552:9:5552:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5552:19:5552:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5557:19:5557:72 | (...)... : ImmutableSortedSet [] : Comparable | semmle.label | (...)... : ImmutableSortedSet [] : Comparable | +| Test.java:5557:30:5557:72 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:5557:52:5557:71 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5557:64:5557:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5558:10:5558:39 | asMap(...) : SortedMap [] : Comparable | semmle.label | asMap(...) : SortedMap [] : Comparable | +| Test.java:5558:21:5558:22 | in : ImmutableSortedSet [] : Comparable | semmle.label | in : ImmutableSortedSet [] : Comparable | +| Test.java:5559:9:5559:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5559:19:5559:21 | out : SortedMap [] : Comparable | semmle.label | out : SortedMap [] : Comparable | +| Test.java:5564:13:5564:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5564:18:5564:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5564:25:5564:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5565:10:5565:39 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5565:26:5565:27 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5566:9:5566:42 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5566:19:5566:21 | out : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | out : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5566:19:5566:41 | entriesOnlyOnLeft(...) : Map [] : Object | semmle.label | entriesOnlyOnLeft(...) : Map [] : Object | +| Test.java:5571:13:5571:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5571:18:5571:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5571:25:5571:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5572:10:5572:39 | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5572:37:5572:38 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5573:9:5573:43 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5573:19:5573:21 | out : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | out : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5573:19:5573:42 | entriesOnlyOnRight(...) : Map [] : Object | semmle.label | entriesOnlyOnRight(...) : Map [] : Object | +| Test.java:5578:13:5578:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5578:18:5578:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5578:31:5578:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5579:10:5579:39 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5579:26:5579:27 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5580:9:5580:44 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5580:21:5580:23 | out : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | out : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5580:21:5580:43 | entriesOnlyOnLeft(...) : Map [] : Object | semmle.label | entriesOnlyOnLeft(...) : Map [] : Object | +| Test.java:5585:13:5585:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5585:18:5585:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5585:31:5585:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5586:10:5586:39 | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5586:37:5586:38 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5587:9:5587:45 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5587:21:5587:23 | out : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | out : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5587:21:5587:44 | entriesOnlyOnRight(...) : Map [] : Object | semmle.label | entriesOnlyOnRight(...) : Map [] : Object | +| Test.java:5592:13:5592:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5592:18:5592:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5592:25:5592:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5593:10:5593:40 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5593:26:5593:27 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5594:9:5594:42 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5594:19:5594:21 | out : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | out : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5594:19:5594:41 | entriesOnlyOnLeft(...) : Map [] : Object | semmle.label | entriesOnlyOnLeft(...) : Map [] : Object | +| Test.java:5599:13:5599:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5599:18:5599:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5599:25:5599:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5600:10:5600:40 | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5600:32:5600:33 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5601:9:5601:43 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5601:19:5601:21 | out : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | out : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5601:19:5601:42 | entriesOnlyOnRight(...) : Map [] : Object | semmle.label | entriesOnlyOnRight(...) : Map [] : Object | +| Test.java:5606:13:5606:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5606:18:5606:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5606:31:5606:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5607:10:5607:40 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5607:26:5607:27 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5608:9:5608:44 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5608:21:5608:23 | out : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | out : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5608:21:5608:43 | entriesOnlyOnLeft(...) : Map [] : Object | semmle.label | entriesOnlyOnLeft(...) : Map [] : Object | +| Test.java:5613:13:5613:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5613:18:5613:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5613:31:5613:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5614:10:5614:40 | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | difference(...) : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5614:32:5614:33 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5615:9:5615:45 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5615:21:5615:23 | out : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | out : MapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5615:21:5615:44 | entriesOnlyOnRight(...) : Map [] : Object | semmle.label | entriesOnlyOnRight(...) : Map [] : Object | +| Test.java:5620:19:5620:78 | (...)... : ImmutableSortedMap [] : Comparable | semmle.label | (...)... : ImmutableSortedMap [] : Comparable | +| Test.java:5620:30:5620:78 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5620:52:5620:71 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5620:64:5620:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5621:10:5621:39 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | +| Test.java:5621:26:5621:27 | in : ImmutableSortedMap [] : Comparable | semmle.label | in : ImmutableSortedMap [] : Comparable | +| Test.java:5622:9:5622:42 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5622:19:5622:21 | out : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | semmle.label | out : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | +| Test.java:5622:19:5622:41 | entriesOnlyOnLeft(...) : SortedMap [] : Comparable | semmle.label | entriesOnlyOnLeft(...) : SortedMap [] : Comparable | +| Test.java:5627:13:5627:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5627:18:5627:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5627:25:5627:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5628:10:5628:45 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5628:43:5628:44 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5629:9:5629:43 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5629:19:5629:21 | out : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | out : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5629:19:5629:42 | entriesOnlyOnRight(...) : SortedMap [] : Object | semmle.label | entriesOnlyOnRight(...) : SortedMap [] : Object | +| Test.java:5634:19:5634:78 | (...)... : ImmutableSortedMap [] : Object | semmle.label | (...)... : ImmutableSortedMap [] : Object | +| Test.java:5634:30:5634:78 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:5634:70:5634:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5635:10:5635:39 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5635:26:5635:27 | in : ImmutableSortedMap [] : Object | semmle.label | in : ImmutableSortedMap [] : Object | +| Test.java:5636:9:5636:44 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5636:21:5636:23 | out : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | semmle.label | out : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | +| Test.java:5636:21:5636:43 | entriesOnlyOnLeft(...) : SortedMap [] : Object | semmle.label | entriesOnlyOnLeft(...) : SortedMap [] : Object | +| Test.java:5641:13:5641:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5641:18:5641:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5641:31:5641:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5642:10:5642:45 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5642:43:5642:44 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5643:9:5643:45 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5643:21:5643:23 | out : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | semmle.label | out : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | +| Test.java:5643:21:5643:44 | entriesOnlyOnRight(...) : SortedMap [] : Object | semmle.label | entriesOnlyOnRight(...) : SortedMap [] : Object | +| Test.java:5648:19:5648:78 | (...)... : ImmutableSortedMap [] : Comparable | semmle.label | (...)... : ImmutableSortedMap [] : Comparable | +| Test.java:5648:30:5648:78 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5648:52:5648:71 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5648:64:5648:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5649:10:5649:48 | filterEntries(...) : SortedMap [] : Comparable | semmle.label | filterEntries(...) : SortedMap [] : Comparable | +| Test.java:5649:29:5649:30 | in : ImmutableSortedMap [] : Comparable | semmle.label | in : ImmutableSortedMap [] : Comparable | +| Test.java:5650:9:5650:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5650:19:5650:21 | out : SortedMap [] : Comparable | semmle.label | out : SortedMap [] : Comparable | +| Test.java:5655:22:5655:84 | (...)... : ImmutableSortedMap [] : Comparable | semmle.label | (...)... : ImmutableSortedMap [] : Comparable | +| Test.java:5655:36:5655:84 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5655:58:5655:77 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5655:70:5655:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5656:10:5656:48 | filterEntries(...) : NavigableMap [] : Comparable | semmle.label | filterEntries(...) : NavigableMap [] : Comparable | +| Test.java:5656:29:5656:30 | in : ImmutableSortedMap [] : Comparable | semmle.label | in : ImmutableSortedMap [] : Comparable | +| Test.java:5657:9:5657:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5657:19:5657:21 | out : NavigableMap [] : Comparable | semmle.label | out : NavigableMap [] : Comparable | +| Test.java:5662:13:5662:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5662:18:5662:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5662:25:5662:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5663:10:5663:48 | filterEntries(...) : Map [] : Object | semmle.label | filterEntries(...) : Map [] : Object | +| Test.java:5663:29:5663:30 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5664:9:5664:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5664:19:5664:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5669:15:5669:54 | (...)... : ImmutableBiMap [] : Object | semmle.label | (...)... : ImmutableBiMap [] : Object | +| Test.java:5669:22:5669:54 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:5669:40:5669:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5670:10:5670:48 | filterEntries(...) : BiMap [] : Object | semmle.label | filterEntries(...) : BiMap [] : Object | +| Test.java:5670:29:5670:30 | in : ImmutableBiMap [] : Object | semmle.label | in : ImmutableBiMap [] : Object | +| Test.java:5671:9:5671:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5671:19:5671:21 | out : BiMap [] : Object | semmle.label | out : BiMap [] : Object | +| Test.java:5676:19:5676:78 | (...)... : ImmutableSortedMap [] : Comparable | semmle.label | (...)... : ImmutableSortedMap [] : Comparable | +| Test.java:5676:30:5676:78 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5676:52:5676:71 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5676:64:5676:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5677:10:5677:45 | filterKeys(...) : SortedMap [] : Comparable | semmle.label | filterKeys(...) : SortedMap [] : Comparable | +| Test.java:5677:26:5677:27 | in : ImmutableSortedMap [] : Comparable | semmle.label | in : ImmutableSortedMap [] : Comparable | +| Test.java:5678:9:5678:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5678:19:5678:21 | out : SortedMap [] : Comparable | semmle.label | out : SortedMap [] : Comparable | +| Test.java:5683:22:5683:84 | (...)... : ImmutableSortedMap [] : Comparable | semmle.label | (...)... : ImmutableSortedMap [] : Comparable | +| Test.java:5683:36:5683:84 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5683:58:5683:77 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5683:70:5683:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5684:10:5684:45 | filterKeys(...) : NavigableMap [] : Comparable | semmle.label | filterKeys(...) : NavigableMap [] : Comparable | +| Test.java:5684:26:5684:27 | in : ImmutableSortedMap [] : Comparable | semmle.label | in : ImmutableSortedMap [] : Comparable | +| Test.java:5685:9:5685:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5685:19:5685:21 | out : NavigableMap [] : Comparable | semmle.label | out : NavigableMap [] : Comparable | +| Test.java:5690:13:5690:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5690:18:5690:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5690:25:5690:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5691:10:5691:45 | filterKeys(...) : Map [] : Object | semmle.label | filterKeys(...) : Map [] : Object | +| Test.java:5691:26:5691:27 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5692:9:5692:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5692:19:5692:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5697:15:5697:54 | (...)... : ImmutableBiMap [] : Object | semmle.label | (...)... : ImmutableBiMap [] : Object | +| Test.java:5697:22:5697:54 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:5697:40:5697:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5698:10:5698:45 | filterKeys(...) : BiMap [] : Object | semmle.label | filterKeys(...) : BiMap [] : Object | +| Test.java:5698:26:5698:27 | in : ImmutableBiMap [] : Object | semmle.label | in : ImmutableBiMap [] : Object | +| Test.java:5699:9:5699:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5699:19:5699:21 | out : BiMap [] : Object | semmle.label | out : BiMap [] : Object | +| Test.java:5704:19:5704:78 | (...)... : ImmutableSortedMap [] : Comparable | semmle.label | (...)... : ImmutableSortedMap [] : Comparable | +| Test.java:5704:30:5704:78 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5704:52:5704:71 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5704:64:5704:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5705:10:5705:47 | filterValues(...) : SortedMap [] : Comparable | semmle.label | filterValues(...) : SortedMap [] : Comparable | +| Test.java:5705:28:5705:29 | in : ImmutableSortedMap [] : Comparable | semmle.label | in : ImmutableSortedMap [] : Comparable | +| Test.java:5706:9:5706:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5706:19:5706:21 | out : SortedMap [] : Comparable | semmle.label | out : SortedMap [] : Comparable | +| Test.java:5711:22:5711:84 | (...)... : ImmutableSortedMap [] : Comparable | semmle.label | (...)... : ImmutableSortedMap [] : Comparable | +| Test.java:5711:36:5711:84 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5711:58:5711:77 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5711:70:5711:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5712:10:5712:47 | filterValues(...) : NavigableMap [] : Comparable | semmle.label | filterValues(...) : NavigableMap [] : Comparable | +| Test.java:5712:28:5712:29 | in : ImmutableSortedMap [] : Comparable | semmle.label | in : ImmutableSortedMap [] : Comparable | +| Test.java:5713:9:5713:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5713:19:5713:21 | out : NavigableMap [] : Comparable | semmle.label | out : NavigableMap [] : Comparable | +| Test.java:5718:13:5718:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5718:18:5718:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5718:25:5718:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5719:10:5719:47 | filterValues(...) : Map [] : Object | semmle.label | filterValues(...) : Map [] : Object | +| Test.java:5719:28:5719:29 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5720:9:5720:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5720:19:5720:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5725:15:5725:54 | (...)... : ImmutableBiMap [] : Object | semmle.label | (...)... : ImmutableBiMap [] : Object | +| Test.java:5725:22:5725:54 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:5725:40:5725:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5726:10:5726:47 | filterValues(...) : BiMap [] : Object | semmle.label | filterValues(...) : BiMap [] : Object | +| Test.java:5726:28:5726:29 | in : ImmutableBiMap [] : Object | semmle.label | in : ImmutableBiMap [] : Object | +| Test.java:5727:9:5727:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5727:19:5727:21 | out : BiMap [] : Object | semmle.label | out : BiMap [] : Object | +| Test.java:5732:20:5732:61 | (...)... : Properties [] : Object | semmle.label | (...)... : Properties [] : Object | +| Test.java:5732:32:5732:61 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5732:53:5732:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5733:10:5733:32 | fromProperties(...) : ImmutableMap [] : Object | semmle.label | fromProperties(...) : ImmutableMap [] : Object | +| Test.java:5733:30:5733:31 | in : Properties [] : Object | semmle.label | in : Properties [] : Object | +| Test.java:5734:9:5734:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5734:19:5734:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:5739:20:5739:63 | (...)... : Properties [] : Object | semmle.label | (...)... : Properties [] : Object | +| Test.java:5739:32:5739:63 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5739:55:5739:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5740:10:5740:32 | fromProperties(...) : ImmutableMap [] : Object | semmle.label | fromProperties(...) : ImmutableMap [] : Object | +| Test.java:5740:30:5740:31 | in : Properties [] : Object | semmle.label | in : Properties [] : Object | +| Test.java:5741:9:5741:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5741:21:5741:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:5746:16:5746:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:5746:24:5746:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5747:10:5747:38 | immutableEntry(...) : Entry [] : Object | semmle.label | immutableEntry(...) : Entry [] : Object | +| Test.java:5747:30:5747:31 | in : Object | semmle.label | in : Object | +| Test.java:5748:9:5748:11 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| Test.java:5748:9:5748:20 | getKey(...) | semmle.label | getKey(...) | +| Test.java:5753:16:5753:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:5753:24:5753:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5754:10:5754:38 | immutableEntry(...) : Entry [] : Object | semmle.label | immutableEntry(...) : Entry [] : Object | +| Test.java:5754:36:5754:37 | in : Object | semmle.label | in : Object | +| Test.java:5755:9:5755:11 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| Test.java:5755:9:5755:22 | getValue(...) | semmle.label | getValue(...) | +| Test.java:5760:13:5760:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5760:18:5760:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5760:31:5760:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5761:10:5761:34 | immutableEnumMap(...) : ImmutableMap [] : Object | semmle.label | immutableEnumMap(...) : ImmutableMap [] : Object | +| Test.java:5761:32:5761:33 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5762:9:5762:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5762:21:5762:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:5767:13:5767:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5767:18:5767:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5767:31:5767:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5768:10:5768:28 | newEnumMap(...) : EnumMap [] : Object | semmle.label | newEnumMap(...) : EnumMap [] : Object | +| Test.java:5768:26:5768:27 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5769:9:5769:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5769:21:5769:23 | out : EnumMap [] : Object | semmle.label | out : EnumMap [] : Object | +| Test.java:5774:13:5774:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5774:18:5774:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5774:25:5774:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5775:10:5775:28 | newHashMap(...) : HashMap [] : Object | semmle.label | newHashMap(...) : HashMap [] : Object | +| Test.java:5775:26:5775:27 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5776:9:5776:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5776:19:5776:21 | out : HashMap [] : Object | semmle.label | out : HashMap [] : Object | +| Test.java:5781:13:5781:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5781:18:5781:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5781:31:5781:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5782:10:5782:28 | newHashMap(...) : HashMap [] : Object | semmle.label | newHashMap(...) : HashMap [] : Object | +| Test.java:5782:26:5782:27 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5783:9:5783:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5783:21:5783:23 | out : HashMap [] : Object | semmle.label | out : HashMap [] : Object | +| Test.java:5788:13:5788:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5788:18:5788:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5788:25:5788:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5789:10:5789:34 | newLinkedHashMap(...) : LinkedHashMap [] : Object | semmle.label | newLinkedHashMap(...) : LinkedHashMap [] : Object | +| Test.java:5789:32:5789:33 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5790:9:5790:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5790:19:5790:21 | out : LinkedHashMap [] : Object | semmle.label | out : LinkedHashMap [] : Object | +| Test.java:5795:13:5795:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5795:18:5795:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5795:31:5795:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5796:10:5796:34 | newLinkedHashMap(...) : LinkedHashMap [] : Object | semmle.label | newLinkedHashMap(...) : LinkedHashMap [] : Object | +| Test.java:5796:32:5796:33 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5797:9:5797:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5797:21:5797:23 | out : LinkedHashMap [] : Object | semmle.label | out : LinkedHashMap [] : Object | +| Test.java:5802:19:5802:78 | (...)... : ImmutableSortedMap [] : Comparable | semmle.label | (...)... : ImmutableSortedMap [] : Comparable | +| Test.java:5802:30:5802:78 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5802:52:5802:71 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5802:64:5802:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5803:10:5803:28 | newTreeMap(...) : TreeMap [] : Comparable | semmle.label | newTreeMap(...) : TreeMap [] : Comparable | +| Test.java:5803:26:5803:27 | in : ImmutableSortedMap [] : Comparable | semmle.label | in : ImmutableSortedMap [] : Comparable | +| Test.java:5804:9:5804:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5804:19:5804:21 | out : TreeMap [] : Comparable | semmle.label | out : TreeMap [] : Comparable | +| Test.java:5809:19:5809:78 | (...)... : ImmutableSortedMap [] : Object | semmle.label | (...)... : ImmutableSortedMap [] : Object | +| Test.java:5809:30:5809:78 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:5809:70:5809:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5810:10:5810:28 | newTreeMap(...) : TreeMap [] : Object | semmle.label | newTreeMap(...) : TreeMap [] : Object | +| Test.java:5810:26:5810:27 | in : ImmutableSortedMap [] : Object | semmle.label | in : ImmutableSortedMap [] : Object | +| Test.java:5811:9:5811:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5811:21:5811:23 | out : TreeMap [] : Object | semmle.label | out : TreeMap [] : Object | +| Test.java:5816:22:5816:84 | (...)... : ImmutableSortedMap [] : Comparable | semmle.label | (...)... : ImmutableSortedMap [] : Comparable | +| Test.java:5816:36:5816:84 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5816:58:5816:77 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5816:70:5816:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5817:10:5817:30 | subMap(...) : NavigableMap [] : Comparable | semmle.label | subMap(...) : NavigableMap [] : Comparable | +| Test.java:5817:22:5817:23 | in : ImmutableSortedMap [] : Comparable | semmle.label | in : ImmutableSortedMap [] : Comparable | +| Test.java:5818:9:5818:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5818:19:5818:21 | out : NavigableMap [] : Comparable | semmle.label | out : NavigableMap [] : Comparable | +| Test.java:5823:22:5823:84 | (...)... : ImmutableSortedMap [] : Object | semmle.label | (...)... : ImmutableSortedMap [] : Object | +| Test.java:5823:36:5823:84 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:5823:76:5823:83 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5824:10:5824:30 | subMap(...) : NavigableMap [] : Object | semmle.label | subMap(...) : NavigableMap [] : Object | +| Test.java:5824:22:5824:23 | in : ImmutableSortedMap [] : Object | semmle.label | in : ImmutableSortedMap [] : Object | +| Test.java:5825:9:5825:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5825:21:5825:23 | out : NavigableMap [] : Object | semmle.label | out : NavigableMap [] : Object | +| Test.java:5830:15:5830:54 | (...)... : ImmutableBiMap [] : Object | semmle.label | (...)... : ImmutableBiMap [] : Object | +| Test.java:5830:22:5830:54 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:5830:40:5830:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5831:10:5831:35 | synchronizedBiMap(...) : BiMap [] : Object | semmle.label | synchronizedBiMap(...) : BiMap [] : Object | +| Test.java:5831:33:5831:34 | in : ImmutableBiMap [] : Object | semmle.label | in : ImmutableBiMap [] : Object | +| Test.java:5832:9:5832:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5832:19:5832:21 | out : BiMap [] : Object | semmle.label | out : BiMap [] : Object | +| Test.java:5837:15:5837:54 | (...)... : ImmutableBiMap [] : Object | semmle.label | (...)... : ImmutableBiMap [] : Object | +| Test.java:5837:22:5837:54 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:5837:46:5837:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5838:10:5838:35 | synchronizedBiMap(...) : BiMap [] : Object | semmle.label | synchronizedBiMap(...) : BiMap [] : Object | +| Test.java:5838:33:5838:34 | in : ImmutableBiMap [] : Object | semmle.label | in : ImmutableBiMap [] : Object | +| Test.java:5839:9:5839:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5839:21:5839:23 | out : BiMap [] : Object | semmle.label | out : BiMap [] : Object | +| Test.java:5844:22:5844:84 | (...)... : ImmutableSortedMap [] : Comparable | semmle.label | (...)... : ImmutableSortedMap [] : Comparable | +| Test.java:5844:36:5844:84 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5844:58:5844:77 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5844:70:5844:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5845:10:5845:42 | synchronizedNavigableMap(...) : NavigableMap [] : Comparable | semmle.label | synchronizedNavigableMap(...) : NavigableMap [] : Comparable | +| Test.java:5845:40:5845:41 | in : ImmutableSortedMap [] : Comparable | semmle.label | in : ImmutableSortedMap [] : Comparable | +| Test.java:5846:9:5846:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5846:19:5846:21 | out : NavigableMap [] : Comparable | semmle.label | out : NavigableMap [] : Comparable | +| Test.java:5851:22:5851:84 | (...)... : ImmutableSortedMap [] : Object | semmle.label | (...)... : ImmutableSortedMap [] : Object | +| Test.java:5851:36:5851:84 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:5851:76:5851:83 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5852:10:5852:42 | synchronizedNavigableMap(...) : NavigableMap [] : Object | semmle.label | synchronizedNavigableMap(...) : NavigableMap [] : Object | +| Test.java:5852:40:5852:41 | in : ImmutableSortedMap [] : Object | semmle.label | in : ImmutableSortedMap [] : Object | +| Test.java:5853:9:5853:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5853:21:5853:23 | out : NavigableMap [] : Object | semmle.label | out : NavigableMap [] : Object | +| Test.java:5858:18:5858:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:5858:28:5858:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5858:36:5858:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5859:10:5859:39 | toMap(...) : ImmutableMap [] : Object | semmle.label | toMap(...) : ImmutableMap [] : Object | +| Test.java:5859:21:5859:22 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:5860:9:5860:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5860:19:5860:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:5865:18:5865:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5865:28:5865:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5865:28:5865:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5865:36:5865:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5866:10:5866:39 | toMap(...) : ImmutableMap [] : Object | semmle.label | toMap(...) : ImmutableMap [] : Object | +| Test.java:5866:21:5866:22 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5867:9:5867:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5867:19:5867:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:5872:13:5872:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:5872:18:5872:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:5872:25:5872:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5873:10:5873:49 | transformValues(...) : Map [] : Object | semmle.label | transformValues(...) : Map [] : Object | +| Test.java:5873:31:5873:32 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:5874:9:5874:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5874:19:5874:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5879:22:5879:84 | (...)... : ImmutableSortedMap [] : Comparable | semmle.label | (...)... : ImmutableSortedMap [] : Comparable | +| Test.java:5879:36:5879:84 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5879:58:5879:77 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5879:70:5879:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5880:10:5880:49 | transformValues(...) : NavigableMap [] : Comparable | semmle.label | transformValues(...) : NavigableMap [] : Comparable | +| Test.java:5880:31:5880:32 | in : ImmutableSortedMap [] : Comparable | semmle.label | in : ImmutableSortedMap [] : Comparable | +| Test.java:5881:9:5881:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5881:19:5881:21 | out : NavigableMap [] : Comparable | semmle.label | out : NavigableMap [] : Comparable | +| Test.java:5886:19:5886:78 | (...)... : ImmutableSortedMap [] : Comparable | semmle.label | (...)... : ImmutableSortedMap [] : Comparable | +| Test.java:5886:30:5886:78 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5886:52:5886:71 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5886:64:5886:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5887:10:5887:49 | transformValues(...) : SortedMap [] : Comparable | semmle.label | transformValues(...) : SortedMap [] : Comparable | +| Test.java:5887:31:5887:32 | in : ImmutableSortedMap [] : Comparable | semmle.label | in : ImmutableSortedMap [] : Comparable | +| Test.java:5888:9:5888:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5888:19:5888:21 | out : SortedMap [] : Comparable | semmle.label | out : SortedMap [] : Comparable | +| Test.java:5893:18:5893:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:5893:28:5893:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5893:36:5893:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5894:10:5894:45 | uniqueIndex(...) : ImmutableMap [] : Object | semmle.label | uniqueIndex(...) : ImmutableMap [] : Object | +| Test.java:5894:27:5894:28 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:5895:9:5895:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5895:21:5895:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:5900:18:5900:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:5900:28:5900:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5900:28:5900:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:5900:36:5900:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5901:10:5901:45 | uniqueIndex(...) : ImmutableMap [] : Object | semmle.label | uniqueIndex(...) : ImmutableMap [] : Object | +| Test.java:5901:27:5901:28 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:5902:9:5902:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5902:21:5902:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:5907:15:5907:54 | (...)... : ImmutableBiMap [] : Object | semmle.label | (...)... : ImmutableBiMap [] : Object | +| Test.java:5907:22:5907:54 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:5907:40:5907:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5908:10:5908:35 | unmodifiableBiMap(...) : BiMap [] : Object | semmle.label | unmodifiableBiMap(...) : BiMap [] : Object | +| Test.java:5908:33:5908:34 | in : ImmutableBiMap [] : Object | semmle.label | in : ImmutableBiMap [] : Object | +| Test.java:5909:9:5909:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5909:19:5909:21 | out : BiMap [] : Object | semmle.label | out : BiMap [] : Object | +| Test.java:5914:15:5914:54 | (...)... : ImmutableBiMap [] : Object | semmle.label | (...)... : ImmutableBiMap [] : Object | +| Test.java:5914:22:5914:54 | of(...) : ImmutableBiMap [] : Object | semmle.label | of(...) : ImmutableBiMap [] : Object | +| Test.java:5914:46:5914:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5915:10:5915:35 | unmodifiableBiMap(...) : BiMap [] : Object | semmle.label | unmodifiableBiMap(...) : BiMap [] : Object | +| Test.java:5915:33:5915:34 | in : ImmutableBiMap [] : Object | semmle.label | in : ImmutableBiMap [] : Object | +| Test.java:5916:9:5916:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5916:21:5916:23 | out : BiMap [] : Object | semmle.label | out : BiMap [] : Object | +| Test.java:5921:22:5921:84 | (...)... : ImmutableSortedMap [] : Comparable | semmle.label | (...)... : ImmutableSortedMap [] : Comparable | +| Test.java:5921:36:5921:84 | of(...) : ImmutableSortedMap [] : Comparable | semmle.label | of(...) : ImmutableSortedMap [] : Comparable | +| Test.java:5921:58:5921:77 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5921:70:5921:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5922:10:5922:42 | unmodifiableNavigableMap(...) : NavigableMap [] : Comparable | semmle.label | unmodifiableNavigableMap(...) : NavigableMap [] : Comparable | +| Test.java:5922:40:5922:41 | in : ImmutableSortedMap [] : Comparable | semmle.label | in : ImmutableSortedMap [] : Comparable | +| Test.java:5923:9:5923:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5923:19:5923:21 | out : NavigableMap [] : Comparable | semmle.label | out : NavigableMap [] : Comparable | +| Test.java:5928:22:5928:84 | (...)... : ImmutableSortedMap [] : Object | semmle.label | (...)... : ImmutableSortedMap [] : Object | +| Test.java:5928:36:5928:84 | of(...) : ImmutableSortedMap [] : Object | semmle.label | of(...) : ImmutableSortedMap [] : Object | +| Test.java:5928:76:5928:83 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5929:10:5929:42 | unmodifiableNavigableMap(...) : NavigableMap [] : Object | semmle.label | unmodifiableNavigableMap(...) : NavigableMap [] : Object | +| Test.java:5929:40:5929:41 | in : ImmutableSortedMap [] : Object | semmle.label | in : ImmutableSortedMap [] : Object | +| Test.java:5930:9:5930:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:5930:21:5930:23 | out : NavigableMap [] : Object | semmle.label | out : NavigableMap [] : Object | +| Test.java:5935:22:5935:104 | (...)... : TreeMultimap [] : Comparable | semmle.label | (...)... : TreeMultimap [] : Comparable | +| Test.java:5935:36:5935:104 | create(...) : TreeMultimap [] : Comparable | semmle.label | create(...) : TreeMultimap [] : Comparable | +| Test.java:5935:56:5935:103 | of(...) : ImmutableMultimap [] : Comparable | semmle.label | of(...) : ImmutableMultimap [] : Comparable | +| Test.java:5935:77:5935:96 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5935:89:5935:96 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5936:10:5936:11 | in : TreeMultimap [] : Comparable | semmle.label | in : TreeMultimap [] : Comparable | +| Test.java:5936:10:5936:19 | asMap(...) : NavigableMap [] : Comparable | semmle.label | asMap(...) : NavigableMap [] : Comparable | +| Test.java:5937:9:5937:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5937:19:5937:21 | out : NavigableMap [] : Comparable | semmle.label | out : NavigableMap [] : Comparable | +| Test.java:5942:27:5942:114 | (...)... : TreeMultimap [] : Comparable | semmle.label | (...)... : TreeMultimap [] : Comparable | +| Test.java:5942:46:5942:114 | create(...) : TreeMultimap [] : Comparable | semmle.label | create(...) : TreeMultimap [] : Comparable | +| Test.java:5942:66:5942:113 | of(...) : ImmutableMultimap [] : Comparable | semmle.label | of(...) : ImmutableMultimap [] : Comparable | +| Test.java:5942:87:5942:106 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5942:99:5942:106 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5943:10:5943:11 | in : TreeMultimap [] : Comparable | semmle.label | in : TreeMultimap [] : Comparable | +| Test.java:5943:10:5943:19 | asMap(...) : Map [] : Comparable | semmle.label | asMap(...) : Map [] : Comparable | +| Test.java:5944:9:5944:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5944:19:5944:21 | out : Map [] : Comparable | semmle.label | out : Map [] : Comparable | +| Test.java:5949:21:5949:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:5949:34:5949:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:5949:58:5949:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5950:10:5950:11 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:5950:10:5950:19 | asMap(...) : Map [] : Object | semmle.label | asMap(...) : Map [] : Object | +| Test.java:5951:9:5951:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5951:19:5951:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5956:18:5956:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:5956:28:5956:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:5956:49:5956:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5957:10:5957:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:5957:10:5957:19 | asMap(...) : Map [] : Object | semmle.label | asMap(...) : Map [] : Object | +| Test.java:5958:9:5958:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5958:19:5958:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5963:22:5963:75 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:5963:36:5963:75 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:5963:61:5963:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5964:10:5964:11 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:5964:10:5964:19 | asMap(...) : Map [] : Object | semmle.label | asMap(...) : Map [] : Object | +| Test.java:5965:9:5965:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5965:19:5965:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:5970:27:5970:81 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:5970:46:5970:81 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:5970:67:5970:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5971:10:5971:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:5971:10:5971:19 | asMap(...) : ImmutableMap [] : Object | semmle.label | asMap(...) : ImmutableMap [] : Object | +| Test.java:5972:9:5972:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:5972:19:5972:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:5977:22:5977:104 | (...)... : TreeMultimap [] : Comparable | semmle.label | (...)... : TreeMultimap [] : Comparable | +| Test.java:5977:36:5977:104 | create(...) : TreeMultimap [] : Comparable | semmle.label | create(...) : TreeMultimap [] : Comparable | +| Test.java:5977:56:5977:103 | of(...) : ImmutableMultimap [] : Comparable | semmle.label | of(...) : ImmutableMultimap [] : Comparable | +| Test.java:5977:83:5977:102 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5977:95:5977:102 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5978:10:5978:11 | in : TreeMultimap [] : Comparable | semmle.label | in : TreeMultimap [] : Comparable | +| Test.java:5978:10:5978:19 | asMap(...) : NavigableMap [, ] : Comparable | semmle.label | asMap(...) : NavigableMap [, ] : Comparable | +| Test.java:5979:9:5979:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5979:20:5979:35 | getMapValue(...) : Collection [] : Comparable | semmle.label | getMapValue(...) : Collection [] : Comparable | +| Test.java:5979:32:5979:34 | out : NavigableMap [, ] : Comparable | semmle.label | out : NavigableMap [, ] : Comparable | +| Test.java:5984:27:5984:114 | (...)... : TreeMultimap [] : Comparable | semmle.label | (...)... : TreeMultimap [] : Comparable | +| Test.java:5984:46:5984:114 | create(...) : TreeMultimap [] : Comparable | semmle.label | create(...) : TreeMultimap [] : Comparable | +| Test.java:5984:66:5984:113 | of(...) : ImmutableMultimap [] : Comparable | semmle.label | of(...) : ImmutableMultimap [] : Comparable | +| Test.java:5984:93:5984:112 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:5984:105:5984:112 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5985:10:5985:11 | in : TreeMultimap [] : Comparable | semmle.label | in : TreeMultimap [] : Comparable | +| Test.java:5985:10:5985:19 | asMap(...) : Map [, ] : Comparable | semmle.label | asMap(...) : Map [, ] : Comparable | +| Test.java:5986:9:5986:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5986:20:5986:35 | getMapValue(...) : Collection [] : Comparable | semmle.label | getMapValue(...) : Collection [] : Comparable | +| Test.java:5986:32:5986:34 | out : Map [, ] : Comparable | semmle.label | out : Map [, ] : Comparable | +| Test.java:5991:21:5991:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:5991:34:5991:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:5991:64:5991:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5992:10:5992:11 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:5992:10:5992:19 | asMap(...) : Map [, ] : Object | semmle.label | asMap(...) : Map [, ] : Object | +| Test.java:5993:9:5993:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5993:20:5993:35 | getMapValue(...) : Collection [] : Object | semmle.label | getMapValue(...) : Collection [] : Object | +| Test.java:5993:32:5993:34 | out : Map [, ] : Object | semmle.label | out : Map [, ] : Object | +| Test.java:5998:18:5998:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:5998:28:5998:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:5998:55:5998:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5999:10:5999:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:5999:10:5999:19 | asMap(...) : Map [, ] : Object | semmle.label | asMap(...) : Map [, ] : Object | +| Test.java:6000:9:6000:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6000:20:6000:35 | getMapValue(...) : Collection [] : Object | semmle.label | getMapValue(...) : Collection [] : Object | +| Test.java:6000:32:6000:34 | out : Map [, ] : Object | semmle.label | out : Map [, ] : Object | +| Test.java:6005:22:6005:75 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:6005:36:6005:75 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:6005:67:6005:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6006:10:6006:11 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:6006:10:6006:19 | asMap(...) : Map [, ] : Object | semmle.label | asMap(...) : Map [, ] : Object | +| Test.java:6007:9:6007:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6007:20:6007:35 | getMapValue(...) : Collection [] : Object | semmle.label | getMapValue(...) : Collection [] : Object | +| Test.java:6007:32:6007:34 | out : Map [, ] : Object | semmle.label | out : Map [, ] : Object | +| Test.java:6012:27:6012:81 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6012:46:6012:81 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6012:73:6012:80 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6013:10:6013:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6013:10:6013:19 | asMap(...) : ImmutableMap [, ] : Object | semmle.label | asMap(...) : ImmutableMap [, ] : Object | +| Test.java:6014:9:6014:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6014:20:6014:35 | getMapValue(...) : Collection [] : Object | semmle.label | getMapValue(...) : Collection [] : Object | +| Test.java:6014:32:6014:34 | out : ImmutableMap [, ] : Object | semmle.label | out : ImmutableMap [, ] : Object | +| Test.java:6019:21:6019:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6019:34:6019:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6019:58:6019:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6020:10:6020:11 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6020:10:6020:21 | entries(...) : Set [, ] : Object | semmle.label | entries(...) : Set [, ] : Object | +| Test.java:6021:9:6021:23 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:6021:9:6021:32 | getKey(...) | semmle.label | getKey(...) | +| Test.java:6021:20:6021:22 | out : Set [, ] : Object | semmle.label | out : Set [, ] : Object | +| Test.java:6026:28:6026:110 | (...)... : LinkedHashMultimap [] : Object | semmle.label | (...)... : LinkedHashMultimap [] : Object | +| Test.java:6026:48:6026:110 | create(...) : LinkedHashMultimap [] : Object | semmle.label | create(...) : LinkedHashMultimap [] : Object | +| Test.java:6026:74:6026:109 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6026:95:6026:102 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6027:10:6027:11 | in : LinkedHashMultimap [] : Object | semmle.label | in : LinkedHashMultimap [] : Object | +| Test.java:6027:10:6027:21 | entries(...) : Set [, ] : Object | semmle.label | entries(...) : Set [, ] : Object | +| Test.java:6028:9:6028:23 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:6028:9:6028:32 | getKey(...) | semmle.label | getKey(...) | +| Test.java:6028:20:6028:22 | out : Set [, ] : Object | semmle.label | out : Set [, ] : Object | +| Test.java:6033:28:6033:110 | (...)... : LinkedListMultimap [] : Object | semmle.label | (...)... : LinkedListMultimap [] : Object | +| Test.java:6033:48:6033:110 | create(...) : LinkedListMultimap [] : Object | semmle.label | create(...) : LinkedListMultimap [] : Object | +| Test.java:6033:74:6033:109 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6033:95:6033:102 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6034:10:6034:11 | in : LinkedListMultimap [] : Object | semmle.label | in : LinkedListMultimap [] : Object | +| Test.java:6034:10:6034:21 | entries(...) : List [, ] : Object | semmle.label | entries(...) : List [, ] : Object | +| Test.java:6035:9:6035:23 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:6035:9:6035:32 | getKey(...) | semmle.label | getKey(...) | +| Test.java:6035:20:6035:22 | out : List [, ] : Object | semmle.label | out : List [, ] : Object | +| Test.java:6040:30:6040:90 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6040:52:6040:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6040:76:6040:83 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6041:10:6041:11 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6041:10:6041:21 | entries(...) : ImmutableSet [, ] : Object | semmle.label | entries(...) : ImmutableSet [, ] : Object | +| Test.java:6042:9:6042:23 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:6042:9:6042:32 | getKey(...) | semmle.label | getKey(...) | +| Test.java:6042:20:6042:22 | out : ImmutableSet [, ] : Object | semmle.label | out : ImmutableSet [, ] : Object | +| Test.java:6047:27:6047:81 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6047:46:6047:81 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6047:67:6047:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6048:10:6048:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6048:10:6048:21 | entries(...) : ImmutableCollection [, ] : Object | semmle.label | entries(...) : ImmutableCollection [, ] : Object | +| Test.java:6049:9:6049:23 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:6049:9:6049:32 | getKey(...) | semmle.label | getKey(...) | +| Test.java:6049:20:6049:22 | out : ImmutableCollection [, ] : Object | semmle.label | out : ImmutableCollection [, ] : Object | +| Test.java:6054:18:6054:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6054:28:6054:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6054:49:6054:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6055:10:6055:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6055:10:6055:21 | entries(...) : Collection [, ] : Object | semmle.label | entries(...) : Collection [, ] : Object | +| Test.java:6056:9:6056:23 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:6056:9:6056:32 | getKey(...) | semmle.label | getKey(...) | +| Test.java:6056:20:6056:22 | out : Collection [, ] : Object | semmle.label | out : Collection [, ] : Object | +| Test.java:6061:21:6061:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6061:34:6061:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6061:64:6061:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6062:10:6062:11 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6062:10:6062:21 | entries(...) : Set [, ] : Object | semmle.label | entries(...) : Set [, ] : Object | +| Test.java:6063:9:6063:23 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:6063:9:6063:34 | getValue(...) | semmle.label | getValue(...) | +| Test.java:6063:20:6063:22 | out : Set [, ] : Object | semmle.label | out : Set [, ] : Object | +| Test.java:6068:28:6068:110 | (...)... : LinkedHashMultimap [] : Object | semmle.label | (...)... : LinkedHashMultimap [] : Object | +| Test.java:6068:48:6068:110 | create(...) : LinkedHashMultimap [] : Object | semmle.label | create(...) : LinkedHashMultimap [] : Object | +| Test.java:6068:74:6068:109 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6068:101:6068:108 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6069:10:6069:11 | in : LinkedHashMultimap [] : Object | semmle.label | in : LinkedHashMultimap [] : Object | +| Test.java:6069:10:6069:21 | entries(...) : Set [, ] : Object | semmle.label | entries(...) : Set [, ] : Object | +| Test.java:6070:9:6070:23 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:6070:9:6070:34 | getValue(...) | semmle.label | getValue(...) | +| Test.java:6070:20:6070:22 | out : Set [, ] : Object | semmle.label | out : Set [, ] : Object | +| Test.java:6075:28:6075:110 | (...)... : LinkedListMultimap [] : Object | semmle.label | (...)... : LinkedListMultimap [] : Object | +| Test.java:6075:48:6075:110 | create(...) : LinkedListMultimap [] : Object | semmle.label | create(...) : LinkedListMultimap [] : Object | +| Test.java:6075:74:6075:109 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6075:101:6075:108 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6076:10:6076:11 | in : LinkedListMultimap [] : Object | semmle.label | in : LinkedListMultimap [] : Object | +| Test.java:6076:10:6076:21 | entries(...) : List [, ] : Object | semmle.label | entries(...) : List [, ] : Object | +| Test.java:6077:9:6077:23 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:6077:9:6077:34 | getValue(...) | semmle.label | getValue(...) | +| Test.java:6077:20:6077:22 | out : List [, ] : Object | semmle.label | out : List [, ] : Object | +| Test.java:6082:30:6082:90 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6082:52:6082:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6082:82:6082:89 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6083:10:6083:11 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6083:10:6083:21 | entries(...) : ImmutableSet [, ] : Object | semmle.label | entries(...) : ImmutableSet [, ] : Object | +| Test.java:6084:9:6084:23 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:6084:9:6084:34 | getValue(...) | semmle.label | getValue(...) | +| Test.java:6084:20:6084:22 | out : ImmutableSet [, ] : Object | semmle.label | out : ImmutableSet [, ] : Object | +| Test.java:6089:27:6089:81 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6089:46:6089:81 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6089:73:6089:80 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6090:10:6090:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6090:10:6090:21 | entries(...) : ImmutableCollection [, ] : Object | semmle.label | entries(...) : ImmutableCollection [, ] : Object | +| Test.java:6091:9:6091:23 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:6091:9:6091:34 | getValue(...) | semmle.label | getValue(...) | +| Test.java:6091:20:6091:22 | out : ImmutableCollection [, ] : Object | semmle.label | out : ImmutableCollection [, ] : Object | +| Test.java:6096:18:6096:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6096:28:6096:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6096:55:6096:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6097:10:6097:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6097:10:6097:21 | entries(...) : Collection [, ] : Object | semmle.label | entries(...) : Collection [, ] : Object | +| Test.java:6098:9:6098:23 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:6098:9:6098:34 | getValue(...) | semmle.label | getValue(...) | +| Test.java:6098:20:6098:22 | out : Collection [, ] : Object | semmle.label | out : Collection [, ] : Object | +| Test.java:6103:27:6103:114 | (...)... : TreeMultimap [] : Comparable | semmle.label | (...)... : TreeMultimap [] : Comparable | +| Test.java:6103:46:6103:114 | create(...) : TreeMultimap [] : Comparable | semmle.label | create(...) : TreeMultimap [] : Comparable | +| Test.java:6103:66:6103:113 | of(...) : ImmutableMultimap [] : Comparable | semmle.label | of(...) : ImmutableMultimap [] : Comparable | +| Test.java:6103:93:6103:112 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:6103:105:6103:112 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6104:10:6104:11 | in : TreeMultimap [] : Comparable | semmle.label | in : TreeMultimap [] : Comparable | +| Test.java:6104:10:6104:21 | get(...) : SortedSet [] : Comparable | semmle.label | get(...) : SortedSet [] : Comparable | +| Test.java:6105:9:6105:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6105:20:6105:22 | out : SortedSet [] : Comparable | semmle.label | out : SortedSet [] : Comparable | +| Test.java:6110:21:6110:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6110:34:6110:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6110:64:6110:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6111:10:6111:11 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6111:10:6111:21 | get(...) : Set [] : Object | semmle.label | get(...) : Set [] : Object | +| Test.java:6112:9:6112:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6112:20:6112:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:6117:22:6117:104 | (...)... : TreeMultimap [] : Comparable | semmle.label | (...)... : TreeMultimap [] : Comparable | +| Test.java:6117:36:6117:104 | create(...) : TreeMultimap [] : Comparable | semmle.label | create(...) : TreeMultimap [] : Comparable | +| Test.java:6117:56:6117:103 | of(...) : ImmutableMultimap [] : Comparable | semmle.label | of(...) : ImmutableMultimap [] : Comparable | +| Test.java:6117:83:6117:102 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:6117:95:6117:102 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6118:10:6118:11 | in : TreeMultimap [] : Comparable | semmle.label | in : TreeMultimap [] : Comparable | +| Test.java:6118:10:6118:21 | get(...) : NavigableSet [] : Comparable | semmle.label | get(...) : NavigableSet [] : Comparable | +| Test.java:6119:9:6119:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6119:20:6119:22 | out : NavigableSet [] : Comparable | semmle.label | out : NavigableSet [] : Comparable | +| Test.java:6124:22:6124:75 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:6124:36:6124:75 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:6124:67:6124:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6125:10:6125:11 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:6125:10:6125:21 | get(...) : List [] : Object | semmle.label | get(...) : List [] : Object | +| Test.java:6126:9:6126:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6126:20:6126:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:6131:28:6131:110 | (...)... : LinkedListMultimap [] : Object | semmle.label | (...)... : LinkedListMultimap [] : Object | +| Test.java:6131:48:6131:110 | create(...) : LinkedListMultimap [] : Object | semmle.label | create(...) : LinkedListMultimap [] : Object | +| Test.java:6131:74:6131:109 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6131:101:6131:108 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6132:10:6132:11 | in : LinkedListMultimap [] : Object | semmle.label | in : LinkedListMultimap [] : Object | +| Test.java:6132:10:6132:21 | get(...) : List [] : Object | semmle.label | get(...) : List [] : Object | +| Test.java:6133:9:6133:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6133:20:6133:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:6138:30:6138:90 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6138:52:6138:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6138:82:6138:89 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6139:10:6139:11 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6139:10:6139:21 | get(...) : ImmutableSet [] : Object | semmle.label | get(...) : ImmutableSet [] : Object | +| Test.java:6140:9:6140:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6140:20:6140:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:6145:31:6145:93 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:6145:54:6145:93 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:6145:85:6145:92 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6146:10:6146:11 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:6146:10:6146:21 | get(...) : ImmutableList [] : Object | semmle.label | get(...) : ImmutableList [] : Object | +| Test.java:6147:9:6147:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6147:20:6147:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:6152:27:6152:81 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6152:46:6152:81 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6152:73:6152:80 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6153:10:6153:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6153:10:6153:21 | get(...) : ImmutableCollection [] : Object | semmle.label | get(...) : ImmutableCollection [] : Object | +| Test.java:6154:9:6154:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6154:20:6154:22 | out : ImmutableCollection [] : Object | semmle.label | out : ImmutableCollection [] : Object | +| Test.java:6159:18:6159:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6159:28:6159:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6159:55:6159:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6160:10:6160:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6160:10:6160:21 | get(...) : Collection [] : Object | semmle.label | get(...) : Collection [] : Object | +| Test.java:6161:9:6161:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6161:20:6161:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:6166:18:6166:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6166:28:6166:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6166:49:6166:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6167:10:6167:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6167:10:6167:20 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:6168:9:6168:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6168:20:6168:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:6173:28:6173:110 | (...)... : LinkedHashMultimap [] : Object | semmle.label | (...)... : LinkedHashMultimap [] : Object | +| Test.java:6173:48:6173:110 | create(...) : LinkedHashMultimap [] : Object | semmle.label | create(...) : LinkedHashMultimap [] : Object | +| Test.java:6173:74:6173:109 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6173:95:6173:102 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6174:10:6174:11 | in : LinkedHashMultimap [] : Object | semmle.label | in : LinkedHashMultimap [] : Object | +| Test.java:6174:10:6174:20 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:6175:9:6175:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6175:20:6175:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:6180:22:6180:104 | (...)... : TreeMultimap [] : Comparable | semmle.label | (...)... : TreeMultimap [] : Comparable | +| Test.java:6180:36:6180:104 | create(...) : TreeMultimap [] : Comparable | semmle.label | create(...) : TreeMultimap [] : Comparable | +| Test.java:6180:56:6180:103 | of(...) : ImmutableMultimap [] : Comparable | semmle.label | of(...) : ImmutableMultimap [] : Comparable | +| Test.java:6180:77:6180:96 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:6180:89:6180:96 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6181:10:6181:11 | in : TreeMultimap [] : Comparable | semmle.label | in : TreeMultimap [] : Comparable | +| Test.java:6181:10:6181:20 | keySet(...) : NavigableSet [] : Comparable | semmle.label | keySet(...) : NavigableSet [] : Comparable | +| Test.java:6182:9:6182:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6182:20:6182:22 | out : NavigableSet [] : Comparable | semmle.label | out : NavigableSet [] : Comparable | +| Test.java:6187:27:6187:81 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6187:46:6187:81 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6187:67:6187:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6188:10:6188:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6188:10:6188:20 | keySet(...) : ImmutableSet [] : Object | semmle.label | keySet(...) : ImmutableSet [] : Object | +| Test.java:6189:9:6189:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6189:20:6189:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:6194:18:6194:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6194:28:6194:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6194:49:6194:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6195:10:6195:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6195:10:6195:18 | keys(...) : Multiset [] : Object | semmle.label | keys(...) : Multiset [] : Object | +| Test.java:6196:9:6196:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6196:20:6196:22 | out : Multiset [] : Object | semmle.label | out : Multiset [] : Object | +| Test.java:6201:27:6201:81 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6201:46:6201:81 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6201:67:6201:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6202:10:6202:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6202:10:6202:18 | keys(...) : ImmutableMultiset [] : Object | semmle.label | keys(...) : ImmutableMultiset [] : Object | +| Test.java:6203:9:6203:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6203:20:6203:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:6208:16:6208:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6208:24:6208:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6209:4:6209:6 | out [post update] : Multimap [] : Object | semmle.label | out [post update] : Multimap [] : Object | +| Test.java:6209:12:6209:13 | in : Object | semmle.label | in : Object | +| Test.java:6210:9:6210:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6210:19:6210:21 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6215:16:6215:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6215:24:6215:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6216:4:6216:6 | out [post update] : LinkedListMultimap [] : Object | semmle.label | out [post update] : LinkedListMultimap [] : Object | +| Test.java:6216:12:6216:13 | in : Object | semmle.label | in : Object | +| Test.java:6217:9:6217:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6217:19:6217:21 | out : LinkedListMultimap [] : Object | semmle.label | out : LinkedListMultimap [] : Object | +| Test.java:6222:16:6222:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6222:24:6222:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6223:4:6223:6 | out [post update] : ImmutableMultimap [] : Object | semmle.label | out [post update] : ImmutableMultimap [] : Object | +| Test.java:6223:12:6223:13 | in : Object | semmle.label | in : Object | +| Test.java:6224:9:6224:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6224:19:6224:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:6229:16:6229:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6229:24:6229:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6230:4:6230:6 | out [post update] : Multimap [] : Object | semmle.label | out [post update] : Multimap [] : Object | +| Test.java:6230:18:6230:19 | in : Object | semmle.label | in : Object | +| Test.java:6231:9:6231:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6231:21:6231:23 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6236:16:6236:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6236:24:6236:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6237:4:6237:6 | out [post update] : LinkedListMultimap [] : Object | semmle.label | out [post update] : LinkedListMultimap [] : Object | +| Test.java:6237:18:6237:19 | in : Object | semmle.label | in : Object | +| Test.java:6238:9:6238:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6238:21:6238:23 | out : LinkedListMultimap [] : Object | semmle.label | out : LinkedListMultimap [] : Object | +| Test.java:6243:16:6243:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6243:24:6243:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6244:4:6244:6 | out [post update] : ImmutableMultimap [] : Object | semmle.label | out [post update] : ImmutableMultimap [] : Object | +| Test.java:6244:18:6244:19 | in : Object | semmle.label | in : Object | +| Test.java:6245:9:6245:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6245:21:6245:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:6250:18:6250:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6250:28:6250:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6250:49:6250:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6251:4:6251:6 | out [post update] : Multimap [] : Object | semmle.label | out [post update] : Multimap [] : Object | +| Test.java:6251:15:6251:16 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6252:9:6252:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6252:19:6252:21 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6257:18:6257:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6257:28:6257:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6257:49:6257:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6258:4:6258:6 | out [post update] : ImmutableMultimap [] : Object | semmle.label | out [post update] : ImmutableMultimap [] : Object | +| Test.java:6258:15:6258:16 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6259:9:6259:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6259:19:6259:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:6264:18:6264:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6264:28:6264:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6264:55:6264:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6265:4:6265:6 | out [post update] : Multimap [] : Object | semmle.label | out [post update] : Multimap [] : Object | +| Test.java:6265:15:6265:16 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6266:9:6266:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6266:21:6266:23 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6271:18:6271:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6271:28:6271:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6271:55:6271:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6272:4:6272:6 | out [post update] : ImmutableMultimap [] : Object | semmle.label | out [post update] : ImmutableMultimap [] : Object | +| Test.java:6272:15:6272:16 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6273:9:6273:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6273:21:6273:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:6278:16:6278:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6278:24:6278:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6279:4:6279:6 | out [post update] : Multimap [] : Object | semmle.label | out [post update] : Multimap [] : Object | +| Test.java:6279:15:6279:16 | in : Object | semmle.label | in : Object | +| Test.java:6280:9:6280:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6280:19:6280:21 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6285:16:6285:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6285:24:6285:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6286:4:6286:6 | out [post update] : ImmutableMultimap [] : Object | semmle.label | out [post update] : ImmutableMultimap [] : Object | +| Test.java:6286:15:6286:16 | in : Object | semmle.label | in : Object | +| Test.java:6287:9:6287:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6287:19:6287:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:6292:18:6292:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:6292:28:6292:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:6292:36:6292:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6293:4:6293:6 | out [post update] : Multimap [] : Object | semmle.label | out [post update] : Multimap [] : Object | +| Test.java:6293:21:6293:22 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:6294:9:6294:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6294:21:6294:23 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6299:18:6299:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:6299:28:6299:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:6299:36:6299:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6300:4:6300:6 | out [post update] : ImmutableMultimap [] : Object | semmle.label | out [post update] : ImmutableMultimap [] : Object | +| Test.java:6300:21:6300:22 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:6301:9:6301:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6301:21:6301:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:6306:27:6306:114 | (...)... : TreeMultimap [] : Comparable | semmle.label | (...)... : TreeMultimap [] : Comparable | +| Test.java:6306:46:6306:114 | create(...) : TreeMultimap [] : Comparable | semmle.label | create(...) : TreeMultimap [] : Comparable | +| Test.java:6306:66:6306:113 | of(...) : ImmutableMultimap [] : Comparable | semmle.label | of(...) : ImmutableMultimap [] : Comparable | +| Test.java:6306:93:6306:112 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:6306:105:6306:112 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6307:10:6307:11 | in : TreeMultimap [] : Comparable | semmle.label | in : TreeMultimap [] : Comparable | +| Test.java:6307:10:6307:27 | removeAll(...) : SortedSet [] : Comparable | semmle.label | removeAll(...) : SortedSet [] : Comparable | +| Test.java:6308:9:6308:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6308:20:6308:22 | out : SortedSet [] : Comparable | semmle.label | out : SortedSet [] : Comparable | +| Test.java:6313:21:6313:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6313:34:6313:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6313:64:6313:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6314:10:6314:11 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6314:10:6314:27 | removeAll(...) : Set [] : Object | semmle.label | removeAll(...) : Set [] : Object | +| Test.java:6315:9:6315:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6315:20:6315:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:6320:22:6320:75 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:6320:36:6320:75 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:6320:67:6320:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6321:10:6321:11 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:6321:10:6321:27 | removeAll(...) : List [] : Object | semmle.label | removeAll(...) : List [] : Object | +| Test.java:6322:9:6322:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6322:20:6322:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:6327:28:6327:110 | (...)... : LinkedListMultimap [] : Object | semmle.label | (...)... : LinkedListMultimap [] : Object | +| Test.java:6327:48:6327:110 | create(...) : LinkedListMultimap [] : Object | semmle.label | create(...) : LinkedListMultimap [] : Object | +| Test.java:6327:74:6327:109 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6327:101:6327:108 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6328:10:6328:11 | in : LinkedListMultimap [] : Object | semmle.label | in : LinkedListMultimap [] : Object | +| Test.java:6328:10:6328:27 | removeAll(...) : List [] : Object | semmle.label | removeAll(...) : List [] : Object | +| Test.java:6329:9:6329:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6329:20:6329:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:6334:30:6334:90 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6334:52:6334:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6334:82:6334:89 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6335:10:6335:11 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6335:10:6335:27 | removeAll(...) : ImmutableSet [] : Object | semmle.label | removeAll(...) : ImmutableSet [] : Object | +| Test.java:6336:9:6336:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6336:20:6336:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:6341:31:6341:93 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:6341:54:6341:93 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:6341:85:6341:92 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6342:10:6342:11 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:6342:10:6342:27 | removeAll(...) : ImmutableList [] : Object | semmle.label | removeAll(...) : ImmutableList [] : Object | +| Test.java:6343:9:6343:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6343:20:6343:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:6348:27:6348:81 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6348:46:6348:81 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6348:73:6348:80 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6349:10:6349:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6349:10:6349:27 | removeAll(...) : ImmutableCollection [] : Object | semmle.label | removeAll(...) : ImmutableCollection [] : Object | +| Test.java:6350:9:6350:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6350:20:6350:22 | out : ImmutableCollection [] : Object | semmle.label | out : ImmutableCollection [] : Object | +| Test.java:6355:18:6355:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6355:28:6355:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6355:55:6355:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6356:10:6356:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6356:10:6356:27 | removeAll(...) : Collection [] : Object | semmle.label | removeAll(...) : Collection [] : Object | +| Test.java:6357:9:6357:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6357:20:6357:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:6362:16:6362:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6362:24:6362:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6363:4:6363:6 | out [post update] : SortedSetMultimap [] : Object | semmle.label | out [post update] : SortedSetMultimap [] : Object | +| Test.java:6363:22:6363:23 | in : Object | semmle.label | in : Object | +| Test.java:6364:9:6364:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6364:19:6364:21 | out : SortedSetMultimap [] : Object | semmle.label | out : SortedSetMultimap [] : Object | +| Test.java:6369:16:6369:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6369:24:6369:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6370:4:6370:6 | out [post update] : SetMultimap [] : Object | semmle.label | out [post update] : SetMultimap [] : Object | +| Test.java:6370:22:6370:23 | in : Object | semmle.label | in : Object | +| Test.java:6371:9:6371:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6371:19:6371:21 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6376:16:6376:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6376:24:6376:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6377:4:6377:6 | out [post update] : Multimap [] : Object | semmle.label | out [post update] : Multimap [] : Object | +| Test.java:6377:22:6377:23 | in : Object | semmle.label | in : Object | +| Test.java:6378:9:6378:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6378:19:6378:21 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6383:16:6383:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6383:24:6383:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6384:4:6384:6 | out [post update] : ListMultimap [] : Object | semmle.label | out [post update] : ListMultimap [] : Object | +| Test.java:6384:22:6384:23 | in : Object | semmle.label | in : Object | +| Test.java:6385:9:6385:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6385:19:6385:21 | out : ListMultimap [] : Object | semmle.label | out : ListMultimap [] : Object | +| Test.java:6390:16:6390:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6390:24:6390:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6391:4:6391:6 | out [post update] : LinkedListMultimap [] : Object | semmle.label | out [post update] : LinkedListMultimap [] : Object | +| Test.java:6391:22:6391:23 | in : Object | semmle.label | in : Object | +| Test.java:6392:9:6392:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6392:19:6392:21 | out : LinkedListMultimap [] : Object | semmle.label | out : LinkedListMultimap [] : Object | +| Test.java:6397:16:6397:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6397:24:6397:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6398:4:6398:6 | out [post update] : LinkedHashMultimap [] : Object | semmle.label | out [post update] : LinkedHashMultimap [] : Object | +| Test.java:6398:22:6398:23 | in : Object | semmle.label | in : Object | +| Test.java:6399:9:6399:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6399:19:6399:21 | out : LinkedHashMultimap [] : Object | semmle.label | out : LinkedHashMultimap [] : Object | +| Test.java:6404:16:6404:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6404:24:6404:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6405:4:6405:6 | out [post update] : ImmutableSetMultimap [] : Object | semmle.label | out [post update] : ImmutableSetMultimap [] : Object | +| Test.java:6405:22:6405:23 | in : Object | semmle.label | in : Object | +| Test.java:6406:9:6406:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6406:19:6406:21 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:6411:16:6411:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6411:24:6411:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6412:4:6412:6 | out [post update] : ImmutableMultimap [] : Object | semmle.label | out [post update] : ImmutableMultimap [] : Object | +| Test.java:6412:22:6412:23 | in : Object | semmle.label | in : Object | +| Test.java:6413:9:6413:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6413:19:6413:21 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:6418:16:6418:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6418:24:6418:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6419:4:6419:6 | out [post update] : ImmutableListMultimap [] : Object | semmle.label | out [post update] : ImmutableListMultimap [] : Object | +| Test.java:6419:22:6419:23 | in : Object | semmle.label | in : Object | +| Test.java:6420:9:6420:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6420:19:6420:21 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:6425:18:6425:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:6425:28:6425:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:6425:36:6425:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6426:4:6426:6 | out [post update] : SortedSetMultimap [] : Object | semmle.label | out [post update] : SortedSetMultimap [] : Object | +| Test.java:6426:28:6426:29 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:6427:9:6427:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6427:21:6427:23 | out : SortedSetMultimap [] : Object | semmle.label | out : SortedSetMultimap [] : Object | +| Test.java:6432:18:6432:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:6432:28:6432:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:6432:36:6432:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6433:4:6433:6 | out [post update] : SetMultimap [] : Object | semmle.label | out [post update] : SetMultimap [] : Object | +| Test.java:6433:28:6433:29 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:6434:9:6434:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6434:21:6434:23 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6439:18:6439:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:6439:28:6439:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:6439:36:6439:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6440:4:6440:6 | out [post update] : Multimap [] : Object | semmle.label | out [post update] : Multimap [] : Object | +| Test.java:6440:28:6440:29 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:6441:9:6441:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6441:21:6441:23 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6446:18:6446:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:6446:28:6446:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:6446:36:6446:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6447:4:6447:6 | out [post update] : ListMultimap [] : Object | semmle.label | out [post update] : ListMultimap [] : Object | +| Test.java:6447:28:6447:29 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:6448:9:6448:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6448:21:6448:23 | out : ListMultimap [] : Object | semmle.label | out : ListMultimap [] : Object | +| Test.java:6453:18:6453:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:6453:28:6453:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:6453:36:6453:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6454:4:6454:6 | out [post update] : LinkedListMultimap [] : Object | semmle.label | out [post update] : LinkedListMultimap [] : Object | +| Test.java:6454:28:6454:29 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:6455:9:6455:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6455:21:6455:23 | out : LinkedListMultimap [] : Object | semmle.label | out : LinkedListMultimap [] : Object | +| Test.java:6460:18:6460:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:6460:28:6460:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:6460:36:6460:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6461:4:6461:6 | out [post update] : LinkedHashMultimap [] : Object | semmle.label | out [post update] : LinkedHashMultimap [] : Object | +| Test.java:6461:28:6461:29 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:6462:9:6462:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6462:21:6462:23 | out : LinkedHashMultimap [] : Object | semmle.label | out : LinkedHashMultimap [] : Object | +| Test.java:6467:18:6467:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:6467:28:6467:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:6467:36:6467:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6468:4:6468:6 | out [post update] : ImmutableSetMultimap [] : Object | semmle.label | out [post update] : ImmutableSetMultimap [] : Object | +| Test.java:6468:28:6468:29 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:6469:9:6469:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6469:21:6469:23 | out : ImmutableSetMultimap [] : Object | semmle.label | out : ImmutableSetMultimap [] : Object | +| Test.java:6474:18:6474:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:6474:28:6474:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:6474:36:6474:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6475:4:6475:6 | out [post update] : ImmutableMultimap [] : Object | semmle.label | out [post update] : ImmutableMultimap [] : Object | +| Test.java:6475:28:6475:29 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:6476:9:6476:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6476:21:6476:23 | out : ImmutableMultimap [] : Object | semmle.label | out : ImmutableMultimap [] : Object | +| Test.java:6481:18:6481:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:6481:28:6481:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:6481:36:6481:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6482:4:6482:6 | out [post update] : ImmutableListMultimap [] : Object | semmle.label | out [post update] : ImmutableListMultimap [] : Object | +| Test.java:6482:28:6482:29 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:6483:9:6483:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6483:21:6483:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:6488:27:6488:114 | (...)... : TreeMultimap [] : Comparable | semmle.label | (...)... : TreeMultimap [] : Comparable | +| Test.java:6488:46:6488:114 | create(...) : TreeMultimap [] : Comparable | semmle.label | create(...) : TreeMultimap [] : Comparable | +| Test.java:6488:66:6488:113 | of(...) : ImmutableMultimap [] : Comparable | semmle.label | of(...) : ImmutableMultimap [] : Comparable | +| Test.java:6488:93:6488:112 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:6488:105:6488:112 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6489:10:6489:11 | in : TreeMultimap [] : Comparable | semmle.label | in : TreeMultimap [] : Comparable | +| Test.java:6489:10:6489:37 | replaceValues(...) : SortedSet [] : Comparable | semmle.label | replaceValues(...) : SortedSet [] : Comparable | +| Test.java:6490:9:6490:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6490:20:6490:22 | out : SortedSet [] : Comparable | semmle.label | out : SortedSet [] : Comparable | +| Test.java:6495:21:6495:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6495:34:6495:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6495:64:6495:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6496:10:6496:11 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6496:10:6496:37 | replaceValues(...) : Set [] : Object | semmle.label | replaceValues(...) : Set [] : Object | +| Test.java:6497:9:6497:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6497:20:6497:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:6502:28:6502:110 | (...)... : LinkedHashMultimap [] : Object | semmle.label | (...)... : LinkedHashMultimap [] : Object | +| Test.java:6502:48:6502:110 | create(...) : LinkedHashMultimap [] : Object | semmle.label | create(...) : LinkedHashMultimap [] : Object | +| Test.java:6502:74:6502:109 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6502:101:6502:108 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6503:10:6503:11 | in : LinkedHashMultimap [] : Object | semmle.label | in : LinkedHashMultimap [] : Object | +| Test.java:6503:10:6503:37 | replaceValues(...) : Set [] : Object | semmle.label | replaceValues(...) : Set [] : Object | +| Test.java:6504:9:6504:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6504:20:6504:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:6509:22:6509:75 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:6509:36:6509:75 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:6509:67:6509:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6510:10:6510:11 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:6510:10:6510:37 | replaceValues(...) : List [] : Object | semmle.label | replaceValues(...) : List [] : Object | +| Test.java:6511:9:6511:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6511:20:6511:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:6516:28:6516:110 | (...)... : LinkedListMultimap [] : Object | semmle.label | (...)... : LinkedListMultimap [] : Object | +| Test.java:6516:48:6516:110 | create(...) : LinkedListMultimap [] : Object | semmle.label | create(...) : LinkedListMultimap [] : Object | +| Test.java:6516:74:6516:109 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6516:101:6516:108 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6517:10:6517:11 | in : LinkedListMultimap [] : Object | semmle.label | in : LinkedListMultimap [] : Object | +| Test.java:6517:10:6517:37 | replaceValues(...) : List [] : Object | semmle.label | replaceValues(...) : List [] : Object | +| Test.java:6518:9:6518:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6518:20:6518:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:6523:30:6523:90 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6523:52:6523:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6523:82:6523:89 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6524:10:6524:11 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6524:10:6524:37 | replaceValues(...) : ImmutableSet [] : Object | semmle.label | replaceValues(...) : ImmutableSet [] : Object | +| Test.java:6525:9:6525:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6525:20:6525:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:6530:31:6530:93 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:6530:54:6530:93 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:6530:85:6530:92 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6531:10:6531:11 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:6531:10:6531:37 | replaceValues(...) : ImmutableList [] : Object | semmle.label | replaceValues(...) : ImmutableList [] : Object | +| Test.java:6532:9:6532:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6532:20:6532:22 | out : ImmutableList [] : Object | semmle.label | out : ImmutableList [] : Object | +| Test.java:6537:27:6537:81 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6537:46:6537:81 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6537:73:6537:80 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6538:10:6538:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6538:10:6538:37 | replaceValues(...) : ImmutableCollection [] : Object | semmle.label | replaceValues(...) : ImmutableCollection [] : Object | +| Test.java:6539:9:6539:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6539:20:6539:22 | out : ImmutableCollection [] : Object | semmle.label | out : ImmutableCollection [] : Object | +| Test.java:6544:18:6544:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6544:28:6544:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6544:55:6544:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6545:10:6545:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6545:10:6545:37 | replaceValues(...) : Collection [] : Object | semmle.label | replaceValues(...) : Collection [] : Object | +| Test.java:6546:9:6546:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6546:20:6546:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:6551:28:6551:110 | (...)... : LinkedListMultimap [] : Object | semmle.label | (...)... : LinkedListMultimap [] : Object | +| Test.java:6551:48:6551:110 | create(...) : LinkedListMultimap [] : Object | semmle.label | create(...) : LinkedListMultimap [] : Object | +| Test.java:6551:74:6551:109 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6551:101:6551:108 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6552:10:6552:11 | in : LinkedListMultimap [] : Object | semmle.label | in : LinkedListMultimap [] : Object | +| Test.java:6552:10:6552:20 | values(...) : List [] : Object | semmle.label | values(...) : List [] : Object | +| Test.java:6553:9:6553:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6553:20:6553:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:6558:27:6558:81 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6558:46:6558:81 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6558:73:6558:80 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6559:10:6559:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6559:10:6559:20 | values(...) : ImmutableCollection [] : Object | semmle.label | values(...) : ImmutableCollection [] : Object | +| Test.java:6560:9:6560:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6560:20:6560:22 | out : ImmutableCollection [] : Object | semmle.label | out : ImmutableCollection [] : Object | +| Test.java:6565:18:6565:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6565:28:6565:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6565:55:6565:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6566:10:6566:11 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6566:10:6566:20 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:6567:9:6567:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6567:20:6567:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:6572:28:6572:110 | (...)... : LinkedHashMultimap [] : Object | semmle.label | (...)... : LinkedHashMultimap [] : Object | +| Test.java:6572:48:6572:110 | create(...) : LinkedHashMultimap [] : Object | semmle.label | create(...) : LinkedHashMultimap [] : Object | +| Test.java:6572:74:6572:109 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6572:101:6572:108 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6573:10:6573:11 | in : LinkedHashMultimap [] : Object | semmle.label | in : LinkedHashMultimap [] : Object | +| Test.java:6573:10:6573:20 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:6574:9:6574:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6574:20:6574:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:6579:22:6579:75 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:6579:36:6579:75 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:6579:61:6579:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6580:10:6580:28 | asMap(...) : Map [] : Object | semmle.label | asMap(...) : Map [] : Object | +| Test.java:6580:26:6580:27 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:6581:9:6581:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6581:19:6581:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:6586:22:6586:75 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:6586:36:6586:75 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:6586:67:6586:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6587:10:6587:28 | asMap(...) : Map [, ] : Object | semmle.label | asMap(...) : Map [, ] : Object | +| Test.java:6587:26:6587:27 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:6588:9:6588:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6588:20:6588:35 | getMapValue(...) : Collection [] : Object | semmle.label | getMapValue(...) : Collection [] : Object | +| Test.java:6588:32:6588:34 | out : Map [, ] : Object | semmle.label | out : Map [, ] : Object | +| Test.java:6593:18:6593:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6593:28:6593:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6593:49:6593:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6594:10:6594:28 | asMap(...) : Map [] : Object | semmle.label | asMap(...) : Map [] : Object | +| Test.java:6594:26:6594:27 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6595:9:6595:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6595:19:6595:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:6600:18:6600:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6600:28:6600:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6600:55:6600:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6601:10:6601:28 | asMap(...) : Map [, ] : Object | semmle.label | asMap(...) : Map [, ] : Object | +| Test.java:6601:26:6601:27 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6602:9:6602:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6602:20:6602:35 | getMapValue(...) : Collection [] : Object | semmle.label | getMapValue(...) : Collection [] : Object | +| Test.java:6602:32:6602:34 | out : Map [, ] : Object | semmle.label | out : Map [, ] : Object | +| Test.java:6607:21:6607:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6607:34:6607:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6607:58:6607:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6608:10:6608:28 | asMap(...) : Map [] : Object | semmle.label | asMap(...) : Map [] : Object | +| Test.java:6608:26:6608:27 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6609:9:6609:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6609:19:6609:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:6614:21:6614:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6614:34:6614:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6614:64:6614:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6615:10:6615:28 | asMap(...) : Map [, ] : Object | semmle.label | asMap(...) : Map [, ] : Object | +| Test.java:6615:26:6615:27 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6616:9:6616:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6616:20:6616:35 | getMapValue(...) : Collection [] : Object | semmle.label | getMapValue(...) : Collection [] : Object | +| Test.java:6616:32:6616:34 | out : Map [, ] : Object | semmle.label | out : Map [, ] : Object | +| Test.java:6621:27:6621:114 | (...)... : TreeMultimap [] : Comparable | semmle.label | (...)... : TreeMultimap [] : Comparable | +| Test.java:6621:46:6621:114 | create(...) : TreeMultimap [] : Comparable | semmle.label | create(...) : TreeMultimap [] : Comparable | +| Test.java:6621:66:6621:113 | of(...) : ImmutableMultimap [] : Comparable | semmle.label | of(...) : ImmutableMultimap [] : Comparable | +| Test.java:6621:87:6621:106 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:6621:99:6621:106 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6622:10:6622:28 | asMap(...) : Map [] : Comparable | semmle.label | asMap(...) : Map [] : Comparable | +| Test.java:6622:26:6622:27 | in : TreeMultimap [] : Comparable | semmle.label | in : TreeMultimap [] : Comparable | +| Test.java:6623:9:6623:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6623:19:6623:21 | out : Map [] : Comparable | semmle.label | out : Map [] : Comparable | +| Test.java:6628:27:6628:114 | (...)... : TreeMultimap [] : Comparable | semmle.label | (...)... : TreeMultimap [] : Comparable | +| Test.java:6628:46:6628:114 | create(...) : TreeMultimap [] : Comparable | semmle.label | create(...) : TreeMultimap [] : Comparable | +| Test.java:6628:66:6628:113 | of(...) : ImmutableMultimap [] : Comparable | semmle.label | of(...) : ImmutableMultimap [] : Comparable | +| Test.java:6628:93:6628:112 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:6628:105:6628:112 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6629:10:6629:28 | asMap(...) : Map [, ] : Comparable | semmle.label | asMap(...) : Map [, ] : Comparable | +| Test.java:6629:26:6629:27 | in : TreeMultimap [] : Comparable | semmle.label | in : TreeMultimap [] : Comparable | +| Test.java:6630:9:6630:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6630:20:6630:35 | getMapValue(...) : Collection [] : Comparable | semmle.label | getMapValue(...) : Collection [] : Comparable | +| Test.java:6630:32:6630:34 | out : Map [, ] : Comparable | semmle.label | out : Map [, ] : Comparable | +| Test.java:6635:18:6635:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6635:28:6635:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6635:49:6635:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6636:10:6636:53 | filterEntries(...) : Multimap [] : Object | semmle.label | filterEntries(...) : Multimap [] : Object | +| Test.java:6636:34:6636:35 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6637:9:6637:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6637:19:6637:21 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6642:18:6642:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6642:28:6642:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6642:55:6642:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6643:10:6643:53 | filterEntries(...) : Multimap [] : Object | semmle.label | filterEntries(...) : Multimap [] : Object | +| Test.java:6643:34:6643:35 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6644:9:6644:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6644:21:6644:23 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6649:21:6649:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6649:34:6649:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6649:58:6649:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6650:10:6650:53 | filterEntries(...) : SetMultimap [] : Object | semmle.label | filterEntries(...) : SetMultimap [] : Object | +| Test.java:6650:34:6650:35 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6651:9:6651:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6651:19:6651:21 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6656:21:6656:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6656:34:6656:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6656:64:6656:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6657:10:6657:53 | filterEntries(...) : SetMultimap [] : Object | semmle.label | filterEntries(...) : SetMultimap [] : Object | +| Test.java:6657:34:6657:35 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6658:9:6658:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6658:21:6658:23 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6663:18:6663:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6663:28:6663:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6663:49:6663:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6664:10:6664:50 | filterKeys(...) : Multimap [] : Object | semmle.label | filterKeys(...) : Multimap [] : Object | +| Test.java:6664:31:6664:32 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6665:9:6665:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6665:19:6665:21 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6670:18:6670:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6670:28:6670:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6670:55:6670:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6671:10:6671:50 | filterKeys(...) : Multimap [] : Object | semmle.label | filterKeys(...) : Multimap [] : Object | +| Test.java:6671:31:6671:32 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6672:9:6672:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6672:21:6672:23 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6677:21:6677:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6677:34:6677:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6677:58:6677:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6678:10:6678:50 | filterKeys(...) : SetMultimap [] : Object | semmle.label | filterKeys(...) : SetMultimap [] : Object | +| Test.java:6678:31:6678:32 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6679:9:6679:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6679:19:6679:21 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6684:21:6684:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6684:34:6684:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6684:64:6684:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6685:10:6685:50 | filterKeys(...) : SetMultimap [] : Object | semmle.label | filterKeys(...) : SetMultimap [] : Object | +| Test.java:6685:31:6685:32 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6686:9:6686:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6686:21:6686:23 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6691:18:6691:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6691:28:6691:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6691:49:6691:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6692:10:6692:52 | filterValues(...) : Multimap [] : Object | semmle.label | filterValues(...) : Multimap [] : Object | +| Test.java:6692:33:6692:34 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6693:9:6693:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6693:19:6693:21 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6698:18:6698:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6698:28:6698:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6698:55:6698:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6699:10:6699:52 | filterValues(...) : Multimap [] : Object | semmle.label | filterValues(...) : Multimap [] : Object | +| Test.java:6699:33:6699:34 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6700:9:6700:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6700:21:6700:23 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6705:21:6705:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6705:34:6705:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6705:58:6705:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6706:10:6706:52 | filterValues(...) : SetMultimap [] : Object | semmle.label | filterValues(...) : SetMultimap [] : Object | +| Test.java:6706:33:6706:34 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6707:9:6707:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6707:19:6707:21 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6712:21:6712:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6712:34:6712:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6712:64:6712:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6713:10:6713:52 | filterValues(...) : SetMultimap [] : Object | semmle.label | filterValues(...) : SetMultimap [] : Object | +| Test.java:6713:33:6713:34 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6714:9:6714:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6714:21:6714:23 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6719:13:6719:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:6719:18:6719:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:6719:25:6719:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6720:10:6720:29 | forMap(...) : SetMultimap [] : Object | semmle.label | forMap(...) : SetMultimap [] : Object | +| Test.java:6720:27:6720:28 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:6721:9:6721:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6721:19:6721:21 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6726:13:6726:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:6726:18:6726:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:6726:31:6726:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6727:10:6727:29 | forMap(...) : SetMultimap [] : Object | semmle.label | forMap(...) : SetMultimap [] : Object | +| Test.java:6727:27:6727:28 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:6728:9:6728:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6728:21:6728:23 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6733:18:6733:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:6733:28:6733:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:6733:36:6733:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6734:10:6734:44 | index(...) : ImmutableListMultimap [] : Object | semmle.label | index(...) : ImmutableListMultimap [] : Object | +| Test.java:6734:26:6734:27 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:6735:9:6735:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6735:21:6735:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:6740:18:6740:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:6740:28:6740:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:6740:28:6740:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:6740:36:6740:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6741:10:6741:44 | index(...) : ImmutableListMultimap [] : Object | semmle.label | index(...) : ImmutableListMultimap [] : Object | +| Test.java:6741:26:6741:27 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:6742:9:6742:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6742:21:6742:23 | out : ImmutableListMultimap [] : Object | semmle.label | out : ImmutableListMultimap [] : Object | +| Test.java:6747:18:6747:35 | (...)... : Multimap | semmle.label | (...)... : Multimap | +| Test.java:6747:28:6747:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6748:10:6748:39 | invertFrom(...) : Multimap | semmle.label | invertFrom(...) : Multimap | +| Test.java:6748:37:6748:38 | in : Multimap | semmle.label | in : Multimap | +| Test.java:6749:9:6749:11 | out | semmle.label | out | +| Test.java:6754:18:6754:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6754:28:6754:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6754:49:6754:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6755:25:6755:26 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6755:29:6755:31 | out [post update] : Multimap [] : Object | semmle.label | out [post update] : Multimap [] : Object | +| Test.java:6756:9:6756:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6756:21:6756:23 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6761:18:6761:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6761:28:6761:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6761:55:6761:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6762:25:6762:26 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6762:29:6762:31 | out [post update] : Multimap [] : Object | semmle.label | out [post update] : Multimap [] : Object | +| Test.java:6763:9:6763:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6763:19:6763:21 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6768:13:6768:62 | (...)... : Map [, ] : Object | semmle.label | (...)... : Map [, ] : Object | +| Test.java:6768:18:6768:62 | of(...) : Map [, ] : Object | semmle.label | of(...) : Map [, ] : Object | +| Test.java:6768:31:6768:61 | newWithElementDefault(...) : Object [] : Object | semmle.label | newWithElementDefault(...) : Object [] : Object | +| Test.java:6768:53:6768:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6769:10:6769:44 | newListMultimap(...) : ListMultimap [] : Object | semmle.label | newListMultimap(...) : ListMultimap [] : Object | +| Test.java:6769:36:6769:37 | in : Map [, ] : Object | semmle.label | in : Map [, ] : Object | +| Test.java:6770:9:6770:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6770:21:6770:23 | out : ListMultimap [] : Object | semmle.label | out : ListMultimap [] : Object | +| Test.java:6775:13:6775:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:6775:18:6775:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:6775:25:6775:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6776:10:6776:44 | newListMultimap(...) : ListMultimap [] : Object | semmle.label | newListMultimap(...) : ListMultimap [] : Object | +| Test.java:6776:36:6776:37 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:6777:9:6777:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6777:19:6777:21 | out : ListMultimap [] : Object | semmle.label | out : ListMultimap [] : Object | +| Test.java:6782:13:6782:62 | (...)... : Map [, ] : Object | semmle.label | (...)... : Map [, ] : Object | +| Test.java:6782:18:6782:62 | of(...) : Map [, ] : Object | semmle.label | of(...) : Map [, ] : Object | +| Test.java:6782:31:6782:61 | newWithElementDefault(...) : Object [] : Object | semmle.label | newWithElementDefault(...) : Object [] : Object | +| Test.java:6782:53:6782:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6783:10:6783:40 | newMultimap(...) : Multimap [] : Object | semmle.label | newMultimap(...) : Multimap [] : Object | +| Test.java:6783:32:6783:33 | in : Map [, ] : Object | semmle.label | in : Map [, ] : Object | +| Test.java:6784:9:6784:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6784:21:6784:23 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6789:13:6789:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:6789:18:6789:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:6789:25:6789:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6790:10:6790:40 | newMultimap(...) : Multimap [] : Object | semmle.label | newMultimap(...) : Multimap [] : Object | +| Test.java:6790:32:6790:33 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:6791:9:6791:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6791:19:6791:21 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6796:13:6796:62 | (...)... : Map [, ] : Object | semmle.label | (...)... : Map [, ] : Object | +| Test.java:6796:18:6796:62 | of(...) : Map [, ] : Object | semmle.label | of(...) : Map [, ] : Object | +| Test.java:6796:31:6796:61 | newWithElementDefault(...) : Object [] : Object | semmle.label | newWithElementDefault(...) : Object [] : Object | +| Test.java:6796:53:6796:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6797:10:6797:43 | newSetMultimap(...) : SetMultimap [] : Object | semmle.label | newSetMultimap(...) : SetMultimap [] : Object | +| Test.java:6797:35:6797:36 | in : Map [, ] : Object | semmle.label | in : Map [, ] : Object | +| Test.java:6798:9:6798:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6798:21:6798:23 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6803:13:6803:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:6803:18:6803:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:6803:25:6803:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6804:10:6804:43 | newSetMultimap(...) : SetMultimap [] : Object | semmle.label | newSetMultimap(...) : SetMultimap [] : Object | +| Test.java:6804:35:6804:36 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:6805:9:6805:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6805:19:6805:21 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6810:13:6810:62 | (...)... : Map [, ] : Object | semmle.label | (...)... : Map [, ] : Object | +| Test.java:6810:18:6810:62 | of(...) : Map [, ] : Object | semmle.label | of(...) : Map [, ] : Object | +| Test.java:6810:31:6810:61 | newWithElementDefault(...) : Object [] : Object | semmle.label | newWithElementDefault(...) : Object [] : Object | +| Test.java:6810:53:6810:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6811:10:6811:49 | newSortedSetMultimap(...) : SortedSetMultimap [] : Object | semmle.label | newSortedSetMultimap(...) : SortedSetMultimap [] : Object | +| Test.java:6811:41:6811:42 | in : Map [, ] : Object | semmle.label | in : Map [, ] : Object | +| Test.java:6812:9:6812:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6812:21:6812:23 | out : SortedSetMultimap [] : Object | semmle.label | out : SortedSetMultimap [] : Object | +| Test.java:6817:13:6817:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:6817:18:6817:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:6817:25:6817:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6818:10:6818:49 | newSortedSetMultimap(...) : SortedSetMultimap [] : Object | semmle.label | newSortedSetMultimap(...) : SortedSetMultimap [] : Object | +| Test.java:6818:41:6818:42 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:6819:9:6819:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6819:19:6819:21 | out : SortedSetMultimap [] : Object | semmle.label | out : SortedSetMultimap [] : Object | +| Test.java:6824:22:6824:75 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:6824:36:6824:75 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:6824:61:6824:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6825:10:6825:47 | synchronizedListMultimap(...) : ListMultimap [] : Object | semmle.label | synchronizedListMultimap(...) : ListMultimap [] : Object | +| Test.java:6825:45:6825:46 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:6826:9:6826:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6826:19:6826:21 | out : ListMultimap [] : Object | semmle.label | out : ListMultimap [] : Object | +| Test.java:6831:22:6831:75 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:6831:36:6831:75 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:6831:67:6831:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6832:10:6832:47 | synchronizedListMultimap(...) : ListMultimap [] : Object | semmle.label | synchronizedListMultimap(...) : ListMultimap [] : Object | +| Test.java:6832:45:6832:46 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:6833:9:6833:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6833:21:6833:23 | out : ListMultimap [] : Object | semmle.label | out : ListMultimap [] : Object | +| Test.java:6838:18:6838:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6838:28:6838:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6838:49:6838:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6839:10:6839:43 | synchronizedMultimap(...) : Multimap [] : Object | semmle.label | synchronizedMultimap(...) : Multimap [] : Object | +| Test.java:6839:41:6839:42 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6840:9:6840:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6840:19:6840:21 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6845:18:6845:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6845:28:6845:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6845:55:6845:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6846:10:6846:43 | synchronizedMultimap(...) : Multimap [] : Object | semmle.label | synchronizedMultimap(...) : Multimap [] : Object | +| Test.java:6846:41:6846:42 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6847:9:6847:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6847:21:6847:23 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6852:21:6852:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6852:34:6852:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6852:58:6852:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6853:10:6853:46 | synchronizedSetMultimap(...) : SetMultimap [] : Object | semmle.label | synchronizedSetMultimap(...) : SetMultimap [] : Object | +| Test.java:6853:44:6853:45 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6854:9:6854:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6854:19:6854:21 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6859:21:6859:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6859:34:6859:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6859:64:6859:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6860:10:6860:46 | synchronizedSetMultimap(...) : SetMultimap [] : Object | semmle.label | synchronizedSetMultimap(...) : SetMultimap [] : Object | +| Test.java:6860:44:6860:45 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6861:9:6861:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6861:21:6861:23 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6866:27:6866:114 | (...)... : TreeMultimap [] : Comparable | semmle.label | (...)... : TreeMultimap [] : Comparable | +| Test.java:6866:46:6866:114 | create(...) : TreeMultimap [] : Comparable | semmle.label | create(...) : TreeMultimap [] : Comparable | +| Test.java:6866:66:6866:113 | of(...) : ImmutableMultimap [] : Comparable | semmle.label | of(...) : ImmutableMultimap [] : Comparable | +| Test.java:6866:87:6866:106 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:6866:99:6866:106 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6867:10:6867:52 | synchronizedSortedSetMultimap(...) : SortedSetMultimap [] : Comparable | semmle.label | synchronizedSortedSetMultimap(...) : SortedSetMultimap [] : Comparable | +| Test.java:6867:50:6867:51 | in : TreeMultimap [] : Comparable | semmle.label | in : TreeMultimap [] : Comparable | +| Test.java:6868:9:6868:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6868:19:6868:21 | out : SortedSetMultimap [] : Comparable | semmle.label | out : SortedSetMultimap [] : Comparable | +| Test.java:6873:27:6873:114 | (...)... : TreeMultimap [] : Comparable | semmle.label | (...)... : TreeMultimap [] : Comparable | +| Test.java:6873:46:6873:114 | create(...) : TreeMultimap [] : Comparable | semmle.label | create(...) : TreeMultimap [] : Comparable | +| Test.java:6873:66:6873:113 | of(...) : ImmutableMultimap [] : Comparable | semmle.label | of(...) : ImmutableMultimap [] : Comparable | +| Test.java:6873:93:6873:112 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:6873:105:6873:112 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6874:10:6874:52 | synchronizedSortedSetMultimap(...) : SortedSetMultimap [] : Comparable | semmle.label | synchronizedSortedSetMultimap(...) : SortedSetMultimap [] : Comparable | +| Test.java:6874:50:6874:51 | in : TreeMultimap [] : Comparable | semmle.label | in : TreeMultimap [] : Comparable | +| Test.java:6875:9:6875:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6875:21:6875:23 | out : SortedSetMultimap [] : Comparable | semmle.label | out : SortedSetMultimap [] : Comparable | +| Test.java:6880:22:6880:75 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:6880:36:6880:75 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:6880:61:6880:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6881:10:6881:54 | transformValues(...) : ListMultimap [] : Object | semmle.label | transformValues(...) : ListMultimap [] : Object | +| Test.java:6881:36:6881:37 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:6882:9:6882:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6882:19:6882:21 | out : ListMultimap [] : Object | semmle.label | out : ListMultimap [] : Object | +| Test.java:6887:18:6887:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6887:28:6887:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6887:49:6887:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6888:10:6888:54 | transformValues(...) : Multimap [] : Object | semmle.label | transformValues(...) : Multimap [] : Object | +| Test.java:6888:36:6888:37 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6889:9:6889:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6889:19:6889:21 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6894:31:6894:93 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:6894:54:6894:93 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:6894:79:6894:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6895:10:6895:47 | unmodifiableListMultimap(...) : ListMultimap [] : Object | semmle.label | unmodifiableListMultimap(...) : ListMultimap [] : Object | +| Test.java:6895:45:6895:46 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:6896:9:6896:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6896:19:6896:21 | out : ListMultimap [] : Object | semmle.label | out : ListMultimap [] : Object | +| Test.java:6901:31:6901:93 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:6901:54:6901:93 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:6901:85:6901:92 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6902:10:6902:47 | unmodifiableListMultimap(...) : ListMultimap [] : Object | semmle.label | unmodifiableListMultimap(...) : ListMultimap [] : Object | +| Test.java:6902:45:6902:46 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:6903:9:6903:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6903:21:6903:23 | out : ListMultimap [] : Object | semmle.label | out : ListMultimap [] : Object | +| Test.java:6908:22:6908:75 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:6908:36:6908:75 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:6908:61:6908:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6909:10:6909:47 | unmodifiableListMultimap(...) : ListMultimap [] : Object | semmle.label | unmodifiableListMultimap(...) : ListMultimap [] : Object | +| Test.java:6909:45:6909:46 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:6910:9:6910:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6910:19:6910:21 | out : ListMultimap [] : Object | semmle.label | out : ListMultimap [] : Object | +| Test.java:6915:22:6915:75 | (...)... : ImmutableListMultimap [] : Object | semmle.label | (...)... : ImmutableListMultimap [] : Object | +| Test.java:6915:36:6915:75 | of(...) : ImmutableListMultimap [] : Object | semmle.label | of(...) : ImmutableListMultimap [] : Object | +| Test.java:6915:67:6915:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6916:10:6916:47 | unmodifiableListMultimap(...) : ListMultimap [] : Object | semmle.label | unmodifiableListMultimap(...) : ListMultimap [] : Object | +| Test.java:6916:45:6916:46 | in : ImmutableListMultimap [] : Object | semmle.label | in : ImmutableListMultimap [] : Object | +| Test.java:6917:9:6917:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6917:21:6917:23 | out : ListMultimap [] : Object | semmle.label | out : ListMultimap [] : Object | +| Test.java:6922:27:6922:81 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6922:46:6922:81 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6922:67:6922:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6923:10:6923:43 | unmodifiableMultimap(...) : Multimap [] : Object | semmle.label | unmodifiableMultimap(...) : Multimap [] : Object | +| Test.java:6923:41:6923:42 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6924:9:6924:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6924:19:6924:21 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6929:27:6929:81 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6929:46:6929:81 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6929:73:6929:80 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6930:10:6930:43 | unmodifiableMultimap(...) : Multimap [] : Object | semmle.label | unmodifiableMultimap(...) : Multimap [] : Object | +| Test.java:6930:41:6930:42 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6931:9:6931:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6931:21:6931:23 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6936:18:6936:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6936:28:6936:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6936:49:6936:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6937:10:6937:43 | unmodifiableMultimap(...) : Multimap [] : Object | semmle.label | unmodifiableMultimap(...) : Multimap [] : Object | +| Test.java:6937:41:6937:42 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6938:9:6938:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6938:19:6938:21 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6943:18:6943:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:6943:28:6943:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:6943:55:6943:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6944:10:6944:43 | unmodifiableMultimap(...) : Multimap [] : Object | semmle.label | unmodifiableMultimap(...) : Multimap [] : Object | +| Test.java:6944:41:6944:42 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:6945:9:6945:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6945:21:6945:23 | out : Multimap [] : Object | semmle.label | out : Multimap [] : Object | +| Test.java:6950:30:6950:90 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6950:52:6950:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6950:76:6950:83 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6951:10:6951:46 | unmodifiableSetMultimap(...) : SetMultimap [] : Object | semmle.label | unmodifiableSetMultimap(...) : SetMultimap [] : Object | +| Test.java:6951:44:6951:45 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6952:9:6952:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6952:19:6952:21 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6957:30:6957:90 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6957:52:6957:90 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6957:82:6957:89 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6958:10:6958:46 | unmodifiableSetMultimap(...) : SetMultimap [] : Object | semmle.label | unmodifiableSetMultimap(...) : SetMultimap [] : Object | +| Test.java:6958:44:6958:45 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6959:9:6959:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6959:21:6959:23 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6964:21:6964:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6964:34:6964:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6964:58:6964:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6965:10:6965:46 | unmodifiableSetMultimap(...) : SetMultimap [] : Object | semmle.label | unmodifiableSetMultimap(...) : SetMultimap [] : Object | +| Test.java:6965:44:6965:45 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6966:9:6966:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6966:19:6966:21 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6971:21:6971:72 | (...)... : ImmutableSetMultimap [] : Object | semmle.label | (...)... : ImmutableSetMultimap [] : Object | +| Test.java:6971:34:6971:72 | of(...) : ImmutableSetMultimap [] : Object | semmle.label | of(...) : ImmutableSetMultimap [] : Object | +| Test.java:6971:64:6971:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6972:10:6972:46 | unmodifiableSetMultimap(...) : SetMultimap [] : Object | semmle.label | unmodifiableSetMultimap(...) : SetMultimap [] : Object | +| Test.java:6972:44:6972:45 | in : ImmutableSetMultimap [] : Object | semmle.label | in : ImmutableSetMultimap [] : Object | +| Test.java:6973:9:6973:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6973:21:6973:23 | out : SetMultimap [] : Object | semmle.label | out : SetMultimap [] : Object | +| Test.java:6978:27:6978:114 | (...)... : TreeMultimap [] : Comparable | semmle.label | (...)... : TreeMultimap [] : Comparable | +| Test.java:6978:46:6978:114 | create(...) : TreeMultimap [] : Comparable | semmle.label | create(...) : TreeMultimap [] : Comparable | +| Test.java:6978:66:6978:113 | of(...) : ImmutableMultimap [] : Comparable | semmle.label | of(...) : ImmutableMultimap [] : Comparable | +| Test.java:6978:87:6978:106 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:6978:99:6978:106 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6979:10:6979:52 | unmodifiableSortedSetMultimap(...) : SortedSetMultimap [] : Comparable | semmle.label | unmodifiableSortedSetMultimap(...) : SortedSetMultimap [] : Comparable | +| Test.java:6979:50:6979:51 | in : TreeMultimap [] : Comparable | semmle.label | in : TreeMultimap [] : Comparable | +| Test.java:6980:9:6980:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:6980:19:6980:21 | out : SortedSetMultimap [] : Comparable | semmle.label | out : SortedSetMultimap [] : Comparable | +| Test.java:6985:27:6985:114 | (...)... : TreeMultimap [] : Comparable | semmle.label | (...)... : TreeMultimap [] : Comparable | +| Test.java:6985:46:6985:114 | create(...) : TreeMultimap [] : Comparable | semmle.label | create(...) : TreeMultimap [] : Comparable | +| Test.java:6985:66:6985:113 | of(...) : ImmutableMultimap [] : Comparable | semmle.label | of(...) : ImmutableMultimap [] : Comparable | +| Test.java:6985:93:6985:112 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:6985:105:6985:112 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6986:10:6986:52 | unmodifiableSortedSetMultimap(...) : SortedSetMultimap [] : Comparable | semmle.label | unmodifiableSortedSetMultimap(...) : SortedSetMultimap [] : Comparable | +| Test.java:6986:50:6986:51 | in : TreeMultimap [] : Comparable | semmle.label | in : TreeMultimap [] : Comparable | +| Test.java:6987:9:6987:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:6987:21:6987:23 | out : SortedSetMultimap [] : Comparable | semmle.label | out : SortedSetMultimap [] : Comparable | +| Test.java:6992:24:6992:68 | (...)... : Entry [] : Object | semmle.label | (...)... : Entry [] : Object | +| Test.java:6992:40:6992:68 | newEntryWithElement(...) : Entry [] : Object | semmle.label | newEntryWithElement(...) : Entry [] : Object | +| Test.java:6992:60:6992:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6993:10:6993:11 | in : Entry [] : Object | semmle.label | in : Entry [] : Object | +| Test.java:6993:10:6993:24 | getElement(...) : Object | semmle.label | getElement(...) : Object | +| Test.java:6994:9:6994:11 | out | semmle.label | out | +| Test.java:6999:16:6999:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6999:24:6999:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7000:4:7000:6 | out [post update] : TreeMultiset [] : Object | semmle.label | out [post update] : TreeMultiset [] : Object | +| Test.java:7000:12:7000:13 | in : Object | semmle.label | in : Object | +| Test.java:7001:9:7001:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7001:20:7001:22 | out : TreeMultiset [] : Object | semmle.label | out : TreeMultiset [] : Object | +| Test.java:7006:16:7006:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7006:24:7006:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7007:4:7007:6 | out [post update] : Multiset [] : Object | semmle.label | out [post update] : Multiset [] : Object | +| Test.java:7007:12:7007:13 | in : Object | semmle.label | in : Object | +| Test.java:7008:9:7008:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7008:20:7008:22 | out : Multiset [] : Object | semmle.label | out : Multiset [] : Object | +| Test.java:7013:16:7013:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7013:24:7013:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7014:4:7014:6 | out [post update] : ImmutableMultiset [] : Object | semmle.label | out [post update] : ImmutableMultiset [] : Object | +| Test.java:7014:12:7014:13 | in : Object | semmle.label | in : Object | +| Test.java:7015:9:7015:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7015:20:7015:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:7020:16:7020:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7020:24:7020:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7021:4:7021:6 | out [post update] : ConcurrentHashMultiset [] : Object | semmle.label | out [post update] : ConcurrentHashMultiset [] : Object | +| Test.java:7021:12:7021:13 | in : Object | semmle.label | in : Object | +| Test.java:7022:9:7022:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7022:20:7022:22 | out : ConcurrentHashMultiset [] : Object | semmle.label | out : ConcurrentHashMultiset [] : Object | +| Test.java:7027:18:7027:57 | (...)... : ImmutableMultiset [] : Object | semmle.label | (...)... : ImmutableMultiset [] : Object | +| Test.java:7027:28:7027:57 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:7027:49:7027:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7028:10:7028:11 | in : ImmutableMultiset [] : Object | semmle.label | in : ImmutableMultiset [] : Object | +| Test.java:7028:10:7028:24 | elementSet(...) : Set [] : Object | semmle.label | elementSet(...) : Set [] : Object | +| Test.java:7029:9:7029:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7029:20:7029:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:7034:24:7034:87 | (...)... : ImmutableSortedMultiset [] : Comparable | semmle.label | (...)... : ImmutableSortedMultiset [] : Comparable | +| Test.java:7034:40:7034:87 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:7034:67:7034:86 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:7034:79:7034:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7035:10:7035:11 | in : ImmutableSortedMultiset [] : Comparable | semmle.label | in : ImmutableSortedMultiset [] : Comparable | +| Test.java:7035:10:7035:24 | elementSet(...) : NavigableSet [] : Comparable | semmle.label | elementSet(...) : NavigableSet [] : Comparable | +| Test.java:7036:9:7036:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7036:20:7036:22 | out : NavigableSet [] : Comparable | semmle.label | out : NavigableSet [] : Comparable | +| Test.java:7041:33:7041:105 | (...)... : ImmutableSortedMultiset [] : Comparable | semmle.label | (...)... : ImmutableSortedMultiset [] : Comparable | +| Test.java:7041:58:7041:105 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:7041:85:7041:104 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:7041:97:7041:104 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7042:10:7042:11 | in : ImmutableSortedMultiset [] : Comparable | semmle.label | in : ImmutableSortedMultiset [] : Comparable | +| Test.java:7042:10:7042:24 | elementSet(...) : ImmutableSortedSet [] : Comparable | semmle.label | elementSet(...) : ImmutableSortedSet [] : Comparable | +| Test.java:7043:9:7043:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7043:20:7043:22 | out : ImmutableSortedSet [] : Comparable | semmle.label | out : ImmutableSortedSet [] : Comparable | +| Test.java:7048:27:7048:75 | (...)... : ImmutableMultiset [] : Object | semmle.label | (...)... : ImmutableMultiset [] : Object | +| Test.java:7048:46:7048:75 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:7048:67:7048:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7049:10:7049:11 | in : ImmutableMultiset [] : Object | semmle.label | in : ImmutableMultiset [] : Object | +| Test.java:7049:10:7049:24 | elementSet(...) : ImmutableSet [] : Object | semmle.label | elementSet(...) : ImmutableSet [] : Object | +| Test.java:7050:9:7050:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7050:20:7050:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:7055:24:7055:87 | (...)... : ImmutableSortedMultiset [] : Comparable | semmle.label | (...)... : ImmutableSortedMultiset [] : Comparable | +| Test.java:7055:40:7055:87 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:7055:67:7055:86 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:7055:79:7055:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7056:10:7056:11 | in : ImmutableSortedMultiset [] : Comparable | semmle.label | in : ImmutableSortedMultiset [] : Comparable | +| Test.java:7056:10:7056:22 | entrySet(...) : Set [, ] : Comparable | semmle.label | entrySet(...) : Set [, ] : Comparable | +| Test.java:7057:9:7057:23 | getElement(...) : Entry [] : Comparable | semmle.label | getElement(...) : Entry [] : Comparable | +| Test.java:7057:9:7057:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7057:20:7057:22 | out : Set [, ] : Comparable | semmle.label | out : Set [, ] : Comparable | +| Test.java:7062:18:7062:57 | (...)... : ImmutableMultiset [] : Object | semmle.label | (...)... : ImmutableMultiset [] : Object | +| Test.java:7062:28:7062:57 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:7062:49:7062:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7063:10:7063:11 | in : ImmutableMultiset [] : Object | semmle.label | in : ImmutableMultiset [] : Object | +| Test.java:7063:10:7063:22 | entrySet(...) : Set [, ] : Object | semmle.label | entrySet(...) : Set [, ] : Object | +| Test.java:7064:9:7064:23 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:7064:9:7064:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7064:20:7064:22 | out : Set [, ] : Object | semmle.label | out : Set [, ] : Object | +| Test.java:7069:27:7069:75 | (...)... : ImmutableMultiset [] : Object | semmle.label | (...)... : ImmutableMultiset [] : Object | +| Test.java:7069:46:7069:75 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:7069:67:7069:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7070:10:7070:11 | in : ImmutableMultiset [] : Object | semmle.label | in : ImmutableMultiset [] : Object | +| Test.java:7070:10:7070:22 | entrySet(...) : ImmutableSet [, ] : Object | semmle.label | entrySet(...) : ImmutableSet [, ] : Object | +| Test.java:7071:9:7071:23 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:7071:9:7071:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7071:20:7071:22 | out : ImmutableSet [, ] : Object | semmle.label | out : ImmutableSet [, ] : Object | +| Test.java:7076:16:7076:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7076:24:7076:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7077:4:7077:6 | out [post update] : TreeMultiset [] : Object | semmle.label | out [post update] : TreeMultiset [] : Object | +| Test.java:7077:17:7077:18 | in : Object | semmle.label | in : Object | +| Test.java:7078:9:7078:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7078:20:7078:22 | out : TreeMultiset [] : Object | semmle.label | out : TreeMultiset [] : Object | +| Test.java:7083:16:7083:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7083:24:7083:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7084:4:7084:6 | out [post update] : Multiset [] : Object | semmle.label | out [post update] : Multiset [] : Object | +| Test.java:7084:17:7084:18 | in : Object | semmle.label | in : Object | +| Test.java:7085:9:7085:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7085:20:7085:22 | out : Multiset [] : Object | semmle.label | out : Multiset [] : Object | +| Test.java:7090:16:7090:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7090:24:7090:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7091:4:7091:6 | out [post update] : ImmutableMultiset [] : Object | semmle.label | out [post update] : ImmutableMultiset [] : Object | +| Test.java:7091:17:7091:18 | in : Object | semmle.label | in : Object | +| Test.java:7092:9:7092:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7092:20:7092:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:7097:16:7097:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7097:24:7097:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7098:4:7098:6 | out [post update] : ConcurrentHashMultiset [] : Object | semmle.label | out [post update] : ConcurrentHashMultiset [] : Object | +| Test.java:7098:17:7098:18 | in : Object | semmle.label | in : Object | +| Test.java:7099:9:7099:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7099:20:7099:22 | out : ConcurrentHashMultiset [] : Object | semmle.label | out : ConcurrentHashMultiset [] : Object | +| Test.java:7104:16:7104:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7104:24:7104:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7105:4:7105:6 | out [post update] : TreeMultiset [] : Object | semmle.label | out [post update] : TreeMultiset [] : Object | +| Test.java:7105:17:7105:18 | in : Object | semmle.label | in : Object | +| Test.java:7106:9:7106:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7106:20:7106:22 | out : TreeMultiset [] : Object | semmle.label | out : TreeMultiset [] : Object | +| Test.java:7111:16:7111:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7111:24:7111:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7112:4:7112:6 | out [post update] : Multiset [] : Object | semmle.label | out [post update] : Multiset [] : Object | +| Test.java:7112:17:7112:18 | in : Object | semmle.label | in : Object | +| Test.java:7113:9:7113:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7113:20:7113:22 | out : Multiset [] : Object | semmle.label | out : Multiset [] : Object | +| Test.java:7118:16:7118:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7118:24:7118:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7119:4:7119:6 | out [post update] : ImmutableMultiset [] : Object | semmle.label | out [post update] : ImmutableMultiset [] : Object | +| Test.java:7119:17:7119:18 | in : Object | semmle.label | in : Object | +| Test.java:7120:9:7120:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7120:20:7120:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:7125:16:7125:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7125:24:7125:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7126:4:7126:6 | out [post update] : ConcurrentHashMultiset [] : Object | semmle.label | out [post update] : ConcurrentHashMultiset [] : Object | +| Test.java:7126:17:7126:18 | in : Object | semmle.label | in : Object | +| Test.java:7127:9:7127:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7127:20:7127:22 | out : ConcurrentHashMultiset [] : Object | semmle.label | out : ConcurrentHashMultiset [] : Object | +| Test.java:7132:18:7132:57 | (...)... : ImmutableMultiset [] : Object | semmle.label | (...)... : ImmutableMultiset [] : Object | +| Test.java:7132:28:7132:57 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:7132:49:7132:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7133:10:7133:44 | copyHighestCountFirst(...) : ImmutableMultiset [] : Object | semmle.label | copyHighestCountFirst(...) : ImmutableMultiset [] : Object | +| Test.java:7133:42:7133:43 | in : ImmutableMultiset [] : Object | semmle.label | in : ImmutableMultiset [] : Object | +| Test.java:7134:9:7134:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7134:20:7134:22 | out : ImmutableMultiset [] : Object | semmle.label | out : ImmutableMultiset [] : Object | +| Test.java:7139:18:7139:57 | (...)... : ImmutableMultiset [] : Object | semmle.label | (...)... : ImmutableMultiset [] : Object | +| Test.java:7139:28:7139:57 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:7139:49:7139:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7140:10:7140:39 | difference(...) : Multiset [] : Object | semmle.label | difference(...) : Multiset [] : Object | +| Test.java:7140:31:7140:32 | in : ImmutableMultiset [] : Object | semmle.label | in : ImmutableMultiset [] : Object | +| Test.java:7141:9:7141:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7141:20:7141:22 | out : Multiset [] : Object | semmle.label | out : Multiset [] : Object | +| Test.java:7146:18:7146:57 | (...)... : ImmutableMultiset [] : Object | semmle.label | (...)... : ImmutableMultiset [] : Object | +| Test.java:7146:28:7146:57 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:7146:49:7146:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7147:10:7147:35 | filter(...) : Multiset [] : Object | semmle.label | filter(...) : Multiset [] : Object | +| Test.java:7147:27:7147:28 | in : ImmutableMultiset [] : Object | semmle.label | in : ImmutableMultiset [] : Object | +| Test.java:7148:9:7148:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7148:20:7148:22 | out : Multiset [] : Object | semmle.label | out : Multiset [] : Object | +| Test.java:7153:16:7153:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7153:24:7153:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7154:10:7154:40 | immutableEntry(...) : Entry [] : Object | semmle.label | immutableEntry(...) : Entry [] : Object | +| Test.java:7154:35:7154:36 | in : Object | semmle.label | in : Object | +| Test.java:7155:9:7155:11 | out : Entry [] : Object | semmle.label | out : Entry [] : Object | +| Test.java:7155:9:7155:24 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7160:18:7160:57 | (...)... : ImmutableMultiset [] : Object | semmle.label | (...)... : ImmutableMultiset [] : Object | +| Test.java:7160:28:7160:57 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:7160:49:7160:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7161:10:7161:41 | intersection(...) : Multiset [] : Object | semmle.label | intersection(...) : Multiset [] : Object | +| Test.java:7161:39:7161:40 | in : ImmutableMultiset [] : Object | semmle.label | in : ImmutableMultiset [] : Object | +| Test.java:7162:9:7162:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7162:20:7162:22 | out : Multiset [] : Object | semmle.label | out : Multiset [] : Object | +| Test.java:7167:18:7167:57 | (...)... : ImmutableMultiset [] : Object | semmle.label | (...)... : ImmutableMultiset [] : Object | +| Test.java:7167:28:7167:57 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:7167:49:7167:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7168:10:7168:41 | intersection(...) : Multiset [] : Object | semmle.label | intersection(...) : Multiset [] : Object | +| Test.java:7168:33:7168:34 | in : ImmutableMultiset [] : Object | semmle.label | in : ImmutableMultiset [] : Object | +| Test.java:7169:9:7169:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7169:20:7169:22 | out : Multiset [] : Object | semmle.label | out : Multiset [] : Object | +| Test.java:7174:18:7174:57 | (...)... : ImmutableMultiset [] : Object | semmle.label | (...)... : ImmutableMultiset [] : Object | +| Test.java:7174:28:7174:57 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:7174:49:7174:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7175:10:7175:32 | sum(...) : Multiset [] : Object | semmle.label | sum(...) : Multiset [] : Object | +| Test.java:7175:30:7175:31 | in : ImmutableMultiset [] : Object | semmle.label | in : ImmutableMultiset [] : Object | +| Test.java:7176:9:7176:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7176:20:7176:22 | out : Multiset [] : Object | semmle.label | out : Multiset [] : Object | +| Test.java:7181:18:7181:57 | (...)... : ImmutableMultiset [] : Object | semmle.label | (...)... : ImmutableMultiset [] : Object | +| Test.java:7181:28:7181:57 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:7181:49:7181:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7182:10:7182:32 | sum(...) : Multiset [] : Object | semmle.label | sum(...) : Multiset [] : Object | +| Test.java:7182:24:7182:25 | in : ImmutableMultiset [] : Object | semmle.label | in : ImmutableMultiset [] : Object | +| Test.java:7183:9:7183:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7183:20:7183:22 | out : Multiset [] : Object | semmle.label | out : Multiset [] : Object | +| Test.java:7188:18:7188:57 | (...)... : ImmutableMultiset [] : Object | semmle.label | (...)... : ImmutableMultiset [] : Object | +| Test.java:7188:28:7188:57 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:7188:49:7188:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7189:10:7189:34 | union(...) : Multiset [] : Object | semmle.label | union(...) : Multiset [] : Object | +| Test.java:7189:32:7189:33 | in : ImmutableMultiset [] : Object | semmle.label | in : ImmutableMultiset [] : Object | +| Test.java:7190:9:7190:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7190:20:7190:22 | out : Multiset [] : Object | semmle.label | out : Multiset [] : Object | +| Test.java:7195:18:7195:57 | (...)... : ImmutableMultiset [] : Object | semmle.label | (...)... : ImmutableMultiset [] : Object | +| Test.java:7195:28:7195:57 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:7195:49:7195:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7196:10:7196:34 | union(...) : Multiset [] : Object | semmle.label | union(...) : Multiset [] : Object | +| Test.java:7196:26:7196:27 | in : ImmutableMultiset [] : Object | semmle.label | in : ImmutableMultiset [] : Object | +| Test.java:7197:9:7197:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7197:20:7197:22 | out : Multiset [] : Object | semmle.label | out : Multiset [] : Object | +| Test.java:7202:27:7202:75 | (...)... : ImmutableMultiset [] : Object | semmle.label | (...)... : ImmutableMultiset [] : Object | +| Test.java:7202:46:7202:75 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:7202:67:7202:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7203:10:7203:43 | unmodifiableMultiset(...) : Multiset [] : Object | semmle.label | unmodifiableMultiset(...) : Multiset [] : Object | +| Test.java:7203:41:7203:42 | in : ImmutableMultiset [] : Object | semmle.label | in : ImmutableMultiset [] : Object | +| Test.java:7204:9:7204:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7204:20:7204:22 | out : Multiset [] : Object | semmle.label | out : Multiset [] : Object | +| Test.java:7209:18:7209:57 | (...)... : ImmutableMultiset [] : Object | semmle.label | (...)... : ImmutableMultiset [] : Object | +| Test.java:7209:28:7209:57 | of(...) : ImmutableMultiset [] : Object | semmle.label | of(...) : ImmutableMultiset [] : Object | +| Test.java:7209:49:7209:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7210:10:7210:43 | unmodifiableMultiset(...) : Multiset [] : Object | semmle.label | unmodifiableMultiset(...) : Multiset [] : Object | +| Test.java:7210:41:7210:42 | in : ImmutableMultiset [] : Object | semmle.label | in : ImmutableMultiset [] : Object | +| Test.java:7211:9:7211:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7211:20:7211:22 | out : Multiset [] : Object | semmle.label | out : Multiset [] : Object | +| Test.java:7216:24:7216:87 | (...)... : ImmutableSortedMultiset [] : Comparable | semmle.label | (...)... : ImmutableSortedMultiset [] : Comparable | +| Test.java:7216:40:7216:87 | of(...) : ImmutableSortedMultiset [] : Comparable | semmle.label | of(...) : ImmutableSortedMultiset [] : Comparable | +| Test.java:7216:67:7216:86 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:7216:79:7216:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7217:10:7217:49 | unmodifiableSortedMultiset(...) : SortedMultiset [] : Comparable | semmle.label | unmodifiableSortedMultiset(...) : SortedMultiset [] : Comparable | +| Test.java:7217:47:7217:48 | in : ImmutableSortedMultiset [] : Comparable | semmle.label | in : ImmutableSortedMultiset [] : Comparable | +| Test.java:7218:9:7218:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7218:20:7218:22 | out : SortedMultiset [] : Comparable | semmle.label | out : SortedMultiset [] : Comparable | +| Test.java:7223:13:7223:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:7223:18:7223:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:7223:25:7223:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7224:10:7224:45 | create(...) : MutableClassToInstanceMap [] : Object | semmle.label | create(...) : MutableClassToInstanceMap [] : Object | +| Test.java:7224:43:7224:44 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:7225:9:7225:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:7225:19:7225:21 | out : MutableClassToInstanceMap [] : Object | semmle.label | out : MutableClassToInstanceMap [] : Object | +| Test.java:7230:13:7230:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:7230:18:7230:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:7230:31:7230:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7231:10:7231:45 | create(...) : MutableClassToInstanceMap [] : Object | semmle.label | create(...) : MutableClassToInstanceMap [] : Object | +| Test.java:7231:43:7231:44 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:7232:9:7232:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7232:21:7232:23 | out : MutableClassToInstanceMap [] : Object | semmle.label | out : MutableClassToInstanceMap [] : Object | +| Test.java:7237:16:7237:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7237:24:7237:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7238:10:7238:48 | concat(...) : Object[] [[]] : Object | semmle.label | concat(...) : Object[] [[]] : Object | +| Test.java:7238:30:7238:31 | in : Object | semmle.label | in : Object | +| Test.java:7239:9:7239:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:7239:25:7239:27 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| Test.java:7244:18:7244:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:7244:28:7244:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:7244:41:7244:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7245:10:7245:46 | concat(...) : Object[] [[]] : Object | semmle.label | concat(...) : Object[] [[]] : Object | +| Test.java:7245:44:7245:45 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:7246:9:7246:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:7246:25:7246:27 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| Test.java:7251:16:7251:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7251:24:7251:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7252:10:7252:48 | concat(...) : Object[] [[]] : Object | semmle.label | concat(...) : Object[] [[]] : Object | +| Test.java:7252:46:7252:47 | in : Object | semmle.label | in : Object | +| Test.java:7253:9:7253:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:7253:25:7253:27 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| Test.java:7258:18:7258:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:7258:28:7258:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:7258:41:7258:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7259:10:7259:46 | concat(...) : Object[] [[]] : Object | semmle.label | concat(...) : Object[] [[]] : Object | +| Test.java:7259:30:7259:31 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:7260:9:7260:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:7260:25:7260:27 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| Test.java:7265:18:7265:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:7265:28:7265:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:7265:41:7265:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7266:10:7266:44 | concat(...) : Object[] [[]] : Object | semmle.label | concat(...) : Object[] [[]] : Object | +| Test.java:7266:36:7266:37 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:7267:9:7267:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:7267:25:7267:27 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| Test.java:7272:18:7272:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:7272:28:7272:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:7272:41:7272:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7273:10:7273:44 | concat(...) : Object[] [[]] : Object | semmle.label | concat(...) : Object[] [[]] : Object | +| Test.java:7273:30:7273:31 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:7274:9:7274:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:7274:25:7274:27 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| Test.java:7279:23:7279:68 | (...)... : BlockingQueue [] : Object | semmle.label | (...)... : BlockingQueue [] : Object | +| Test.java:7279:38:7279:68 | newWithElementDefault(...) : Object [] : Object | semmle.label | newWithElementDefault(...) : Object [] : Object | +| Test.java:7279:60:7279:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7280:17:7280:18 | in : BlockingQueue [] : Object | semmle.label | in : BlockingQueue [] : Object | +| Test.java:7280:21:7280:23 | out [post update] : Collection [] : Object | semmle.label | out [post update] : Collection [] : Object | +| Test.java:7281:9:7281:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7281:20:7281:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:7286:23:7286:68 | (...)... : BlockingQueue [] : Object | semmle.label | (...)... : BlockingQueue [] : Object | +| Test.java:7286:38:7286:68 | newWithElementDefault(...) : Object [] : Object | semmle.label | newWithElementDefault(...) : Object [] : Object | +| Test.java:7286:60:7286:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7287:17:7287:18 | in : BlockingQueue [] : Object | semmle.label | in : BlockingQueue [] : Object | +| Test.java:7287:21:7287:23 | out [post update] : Collection [] : Object | semmle.label | out [post update] : Collection [] : Object | +| Test.java:7288:9:7288:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7288:20:7288:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:7293:18:7293:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:7293:28:7293:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:7293:36:7293:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7294:10:7294:33 | newArrayDeque(...) : ArrayDeque [] : Object | semmle.label | newArrayDeque(...) : ArrayDeque [] : Object | +| Test.java:7294:31:7294:32 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:7295:9:7295:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7295:20:7295:22 | out : ArrayDeque [] : Object | semmle.label | out : ArrayDeque [] : Object | +| Test.java:7300:18:7300:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:7300:28:7300:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:7300:36:7300:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7301:10:7301:44 | newConcurrentLinkedQueue(...) : ConcurrentLinkedQueue [] : Object | semmle.label | newConcurrentLinkedQueue(...) : ConcurrentLinkedQueue [] : Object | +| Test.java:7301:42:7301:43 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:7302:9:7302:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7302:20:7302:22 | out : ConcurrentLinkedQueue [] : Object | semmle.label | out : ConcurrentLinkedQueue [] : Object | +| Test.java:7307:18:7307:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:7307:28:7307:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:7307:36:7307:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7308:10:7308:42 | newLinkedBlockingDeque(...) : LinkedBlockingDeque [] : Object | semmle.label | newLinkedBlockingDeque(...) : LinkedBlockingDeque [] : Object | +| Test.java:7308:40:7308:41 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:7309:9:7309:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7309:20:7309:22 | out : LinkedBlockingDeque [] : Object | semmle.label | out : LinkedBlockingDeque [] : Object | +| Test.java:7314:18:7314:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:7314:28:7314:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:7314:36:7314:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7315:10:7315:42 | newLinkedBlockingQueue(...) : LinkedBlockingQueue [] : Object | semmle.label | newLinkedBlockingQueue(...) : LinkedBlockingQueue [] : Object | +| Test.java:7315:40:7315:41 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:7316:9:7316:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7316:20:7316:22 | out : LinkedBlockingQueue [] : Object | semmle.label | out : LinkedBlockingQueue [] : Object | +| Test.java:7321:18:7321:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:7321:28:7321:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:7321:36:7321:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7322:10:7322:44 | newPriorityBlockingQueue(...) : PriorityBlockingQueue [] : Object | semmle.label | newPriorityBlockingQueue(...) : PriorityBlockingQueue [] : Object | +| Test.java:7322:42:7322:43 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:7323:9:7323:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7323:20:7323:22 | out : PriorityBlockingQueue [] : Object | semmle.label | out : PriorityBlockingQueue [] : Object | +| Test.java:7328:18:7328:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:7328:28:7328:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:7328:36:7328:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7329:10:7329:36 | newPriorityQueue(...) : PriorityQueue [] : Object | semmle.label | newPriorityQueue(...) : PriorityQueue [] : Object | +| Test.java:7329:34:7329:35 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:7330:9:7330:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7330:20:7330:22 | out : PriorityQueue [] : Object | semmle.label | out : PriorityQueue [] : Object | +| Test.java:7335:15:7335:52 | (...)... : Deque [] : Object | semmle.label | (...)... : Deque [] : Object | +| Test.java:7335:22:7335:52 | newWithElementDefault(...) : Object [] : Object | semmle.label | newWithElementDefault(...) : Object [] : Object | +| Test.java:7335:44:7335:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7336:10:7336:37 | synchronizedDeque(...) : Deque [] : Object | semmle.label | synchronizedDeque(...) : Deque [] : Object | +| Test.java:7336:35:7336:36 | in : Deque [] : Object | semmle.label | in : Deque [] : Object | +| Test.java:7337:9:7337:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7337:20:7337:22 | out : Deque [] : Object | semmle.label | out : Deque [] : Object | +| Test.java:7342:15:7342:52 | (...)... : Queue [] : Object | semmle.label | (...)... : Queue [] : Object | +| Test.java:7342:22:7342:52 | newWithElementDefault(...) : Object [] : Object | semmle.label | newWithElementDefault(...) : Object [] : Object | +| Test.java:7342:44:7342:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7343:10:7343:37 | synchronizedQueue(...) : Queue [] : Object | semmle.label | synchronizedQueue(...) : Queue [] : Object | +| Test.java:7343:35:7343:36 | in : Queue [] : Object | semmle.label | in : Queue [] : Object | +| Test.java:7344:9:7344:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7344:20:7344:22 | out : Queue [] : Object | semmle.label | out : Queue [] : Object | +| Test.java:7349:22:7349:69 | (...)... : SetView [] : Object | semmle.label | (...)... : SetView [] : Object | +| Test.java:7349:36:7349:69 | union(...) : SetView [] : Object | semmle.label | union(...) : SetView [] : Object | +| Test.java:7349:47:7349:62 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| Test.java:7349:54:7349:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7350:4:7350:5 | in : SetView [] : Object | semmle.label | in : SetView [] : Object | +| Test.java:7350:16:7350:18 | out [post update] : Set [] : Object | semmle.label | out [post update] : Set [] : Object | +| Test.java:7351:9:7351:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7351:20:7351:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:7356:22:7356:69 | (...)... : SetView [] : Object | semmle.label | (...)... : SetView [] : Object | +| Test.java:7356:36:7356:69 | union(...) : SetView [] : Object | semmle.label | union(...) : SetView [] : Object | +| Test.java:7356:47:7356:62 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| Test.java:7356:54:7356:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7357:10:7357:11 | in : SetView [] : Object | semmle.label | in : SetView [] : Object | +| Test.java:7357:10:7357:27 | immutableCopy(...) : ImmutableSet [] : Object | semmle.label | immutableCopy(...) : ImmutableSet [] : Object | +| Test.java:7358:9:7358:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7358:20:7358:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:7363:14:7363:44 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:7363:20:7363:44 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:7363:28:7363:43 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| Test.java:7363:35:7363:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7364:10:7364:34 | cartesianProduct(...) : Set [, ] : Object | semmle.label | cartesianProduct(...) : Set [, ] : Object | +| Test.java:7364:32:7364:33 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:7365:9:7365:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7365:20:7365:34 | getElement(...) : List [] : Object | semmle.label | getElement(...) : List [] : Object | +| Test.java:7365:31:7365:33 | out : Set [, ] : Object | semmle.label | out : Set [, ] : Object | +| Test.java:7370:15:7370:48 | (...)... : Set[] [[], ] : Object | semmle.label | (...)... : Set[] [[], ] : Object | +| Test.java:7370:22:7370:48 | {...} : Set[] [[], ] : Object | semmle.label | {...} : Set[] [[], ] : Object | +| Test.java:7370:32:7370:47 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| Test.java:7370:39:7370:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7371:10:7371:34 | cartesianProduct(...) : Set [, ] : Object | semmle.label | cartesianProduct(...) : Set [, ] : Object | +| Test.java:7371:32:7371:33 | in : Set[] [[], ] : Object | semmle.label | in : Set[] [[], ] : Object | +| Test.java:7372:9:7372:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7372:20:7372:34 | getElement(...) : List [] : Object | semmle.label | getElement(...) : List [] : Object | +| Test.java:7372:31:7372:33 | out : Set [, ] : Object | semmle.label | out : Set [, ] : Object | +| Test.java:7377:13:7377:33 | (...)... : Set [] : Object | semmle.label | (...)... : Set [] : Object | +| Test.java:7377:18:7377:33 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| Test.java:7377:25:7377:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7378:10:7378:33 | combinations(...) : Set [, ] : Object | semmle.label | combinations(...) : Set [, ] : Object | +| Test.java:7378:28:7378:29 | in : Set [] : Object | semmle.label | in : Set [] : Object | +| Test.java:7379:9:7379:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7379:20:7379:34 | getElement(...) : Set [] : Object | semmle.label | getElement(...) : Set [] : Object | +| Test.java:7379:31:7379:33 | out : Set [, ] : Object | semmle.label | out : Set [, ] : Object | +| Test.java:7384:13:7384:33 | (...)... : Set [] : Object | semmle.label | (...)... : Set [] : Object | +| Test.java:7384:18:7384:33 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| Test.java:7384:25:7384:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7385:10:7385:34 | difference(...) : SetView [] : Object | semmle.label | difference(...) : SetView [] : Object | +| Test.java:7385:26:7385:27 | in : Set [] : Object | semmle.label | in : Set [] : Object | +| Test.java:7386:9:7386:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7386:20:7386:22 | out : SetView [] : Object | semmle.label | out : SetView [] : Object | +| Test.java:7391:22:7391:78 | (...)... : ImmutableSortedSet [] : Comparable | semmle.label | (...)... : ImmutableSortedSet [] : Comparable | +| Test.java:7391:36:7391:78 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:7391:58:7391:77 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:7391:70:7391:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7392:10:7392:41 | filter(...) : NavigableSet [] : Comparable | semmle.label | filter(...) : NavigableSet [] : Comparable | +| Test.java:7392:22:7392:23 | in : ImmutableSortedSet [] : Comparable | semmle.label | in : ImmutableSortedSet [] : Comparable | +| Test.java:7393:9:7393:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7393:20:7393:22 | out : NavigableSet [] : Comparable | semmle.label | out : NavigableSet [] : Comparable | +| Test.java:7398:13:7398:33 | (...)... : Set [] : Object | semmle.label | (...)... : Set [] : Object | +| Test.java:7398:18:7398:33 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| Test.java:7398:25:7398:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7399:10:7399:41 | filter(...) : Set [] : Object | semmle.label | filter(...) : Set [] : Object | +| Test.java:7399:22:7399:23 | in : Set [] : Object | semmle.label | in : Set [] : Object | +| Test.java:7400:9:7400:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7400:20:7400:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:7405:19:7405:72 | (...)... : ImmutableSortedSet [] : Comparable | semmle.label | (...)... : ImmutableSortedSet [] : Comparable | +| Test.java:7405:30:7405:72 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:7405:52:7405:71 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:7405:64:7405:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7406:10:7406:41 | filter(...) : SortedSet [] : Comparable | semmle.label | filter(...) : SortedSet [] : Comparable | +| Test.java:7406:22:7406:23 | in : ImmutableSortedSet [] : Comparable | semmle.label | in : ImmutableSortedSet [] : Comparable | +| Test.java:7407:9:7407:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7407:20:7407:22 | out : SortedSet [] : Comparable | semmle.label | out : SortedSet [] : Comparable | +| Test.java:7412:13:7412:33 | (...)... : Set [] : Object | semmle.label | (...)... : Set [] : Object | +| Test.java:7412:18:7412:33 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| Test.java:7412:25:7412:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7413:10:7413:36 | intersection(...) : SetView [] : Object | semmle.label | intersection(...) : SetView [] : Object | +| Test.java:7413:34:7413:35 | in : Set [] : Object | semmle.label | in : Set [] : Object | +| Test.java:7414:9:7414:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7414:20:7414:22 | out : SetView [] : Object | semmle.label | out : SetView [] : Object | +| Test.java:7419:13:7419:33 | (...)... : Set [] : Object | semmle.label | (...)... : Set [] : Object | +| Test.java:7419:18:7419:33 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| Test.java:7419:25:7419:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7420:10:7420:36 | intersection(...) : SetView [] : Object | semmle.label | intersection(...) : SetView [] : Object | +| Test.java:7420:28:7420:29 | in : Set [] : Object | semmle.label | in : Set [] : Object | +| Test.java:7421:9:7421:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7421:20:7421:22 | out : SetView [] : Object | semmle.label | out : SetView [] : Object | +| Test.java:7426:18:7426:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:7426:28:7426:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:7426:36:7426:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7427:10:7427:38 | newConcurrentHashSet(...) : Set [] : Object | semmle.label | newConcurrentHashSet(...) : Set [] : Object | +| Test.java:7427:36:7427:37 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:7428:9:7428:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7428:20:7428:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:7433:18:7433:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:7433:28:7433:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:7433:36:7433:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7434:10:7434:40 | newCopyOnWriteArraySet(...) : CopyOnWriteArraySet [] : Object | semmle.label | newCopyOnWriteArraySet(...) : CopyOnWriteArraySet [] : Object | +| Test.java:7434:38:7434:39 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:7435:9:7435:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7435:20:7435:22 | out : CopyOnWriteArraySet [] : Object | semmle.label | out : CopyOnWriteArraySet [] : Object | +| Test.java:7440:18:7440:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:7440:28:7440:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:7440:36:7440:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7441:10:7441:28 | newHashSet(...) : HashSet [] : Object | semmle.label | newHashSet(...) : HashSet [] : Object | +| Test.java:7441:26:7441:27 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:7442:9:7442:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7442:20:7442:22 | out : HashSet [] : Object | semmle.label | out : HashSet [] : Object | +| Test.java:7447:18:7447:55 | (...)... : Iterator [] : Object | semmle.label | (...)... : Iterator [] : Object | +| Test.java:7447:28:7447:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:7447:28:7447:55 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:7447:36:7447:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7448:10:7448:28 | newHashSet(...) : HashSet [] : Object | semmle.label | newHashSet(...) : HashSet [] : Object | +| Test.java:7448:26:7448:27 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:7449:9:7449:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7449:20:7449:22 | out : HashSet [] : Object | semmle.label | out : HashSet [] : Object | +| Test.java:7454:18:7454:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:7454:28:7454:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:7454:41:7454:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7455:10:7455:28 | newHashSet(...) : HashSet [] : Object | semmle.label | newHashSet(...) : HashSet [] : Object | +| Test.java:7455:26:7455:27 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:7456:9:7456:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7456:20:7456:22 | out : HashSet [] : Object | semmle.label | out : HashSet [] : Object | +| Test.java:7461:18:7461:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:7461:28:7461:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:7461:36:7461:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7462:10:7462:34 | newLinkedHashSet(...) : LinkedHashSet [] : Object | semmle.label | newLinkedHashSet(...) : LinkedHashSet [] : Object | +| Test.java:7462:32:7462:33 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:7463:9:7463:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7463:20:7463:22 | out : LinkedHashSet [] : Object | semmle.label | out : LinkedHashSet [] : Object | +| Test.java:7468:13:7468:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:7468:18:7468:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:7468:25:7468:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7469:10:7469:31 | newSetFromMap(...) : Set [] : Object | semmle.label | newSetFromMap(...) : Set [] : Object | +| Test.java:7469:29:7469:30 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:7470:9:7470:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7470:20:7470:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:7475:18:7475:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:7475:28:7475:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:7475:36:7475:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7476:10:7476:28 | newTreeSet(...) : TreeSet [] : Object | semmle.label | newTreeSet(...) : TreeSet [] : Object | +| Test.java:7476:26:7476:27 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:7477:9:7477:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7477:20:7477:22 | out : TreeSet [] : Object | semmle.label | out : TreeSet [] : Object | +| Test.java:7482:13:7482:33 | (...)... : Set [] : Object | semmle.label | (...)... : Set [] : Object | +| Test.java:7482:18:7482:33 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| Test.java:7482:25:7482:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7483:10:7483:26 | powerSet(...) : Set [, ] : Object | semmle.label | powerSet(...) : Set [, ] : Object | +| Test.java:7483:24:7483:25 | in : Set [] : Object | semmle.label | in : Set [] : Object | +| Test.java:7484:9:7484:35 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7484:20:7484:34 | getElement(...) : Set [] : Object | semmle.label | getElement(...) : Set [] : Object | +| Test.java:7484:31:7484:33 | out : Set [, ] : Object | semmle.label | out : Set [, ] : Object | +| Test.java:7489:22:7489:78 | (...)... : ImmutableSortedSet [] : Comparable | semmle.label | (...)... : ImmutableSortedSet [] : Comparable | +| Test.java:7489:36:7489:78 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:7489:58:7489:77 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:7489:70:7489:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7490:10:7490:30 | subSet(...) : NavigableSet [] : Comparable | semmle.label | subSet(...) : NavigableSet [] : Comparable | +| Test.java:7490:22:7490:23 | in : ImmutableSortedSet [] : Comparable | semmle.label | in : ImmutableSortedSet [] : Comparable | +| Test.java:7491:9:7491:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7491:20:7491:22 | out : NavigableSet [] : Comparable | semmle.label | out : NavigableSet [] : Comparable | +| Test.java:7496:13:7496:33 | (...)... : Set [] : Object | semmle.label | (...)... : Set [] : Object | +| Test.java:7496:18:7496:33 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| Test.java:7496:25:7496:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7497:10:7497:43 | symmetricDifference(...) : SetView [] : Object | semmle.label | symmetricDifference(...) : SetView [] : Object | +| Test.java:7497:41:7497:42 | in : Set [] : Object | semmle.label | in : Set [] : Object | +| Test.java:7498:9:7498:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7498:20:7498:22 | out : SetView [] : Object | semmle.label | out : SetView [] : Object | +| Test.java:7503:13:7503:33 | (...)... : Set [] : Object | semmle.label | (...)... : Set [] : Object | +| Test.java:7503:18:7503:33 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| Test.java:7503:25:7503:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7504:10:7504:43 | symmetricDifference(...) : SetView [] : Object | semmle.label | symmetricDifference(...) : SetView [] : Object | +| Test.java:7504:35:7504:36 | in : Set [] : Object | semmle.label | in : Set [] : Object | +| Test.java:7505:9:7505:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7505:20:7505:22 | out : SetView [] : Object | semmle.label | out : SetView [] : Object | +| Test.java:7510:22:7510:78 | (...)... : ImmutableSortedSet [] : Comparable | semmle.label | (...)... : ImmutableSortedSet [] : Comparable | +| Test.java:7510:36:7510:78 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:7510:58:7510:77 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:7510:70:7510:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7511:10:7511:42 | synchronizedNavigableSet(...) : NavigableSet [] : Comparable | semmle.label | synchronizedNavigableSet(...) : NavigableSet [] : Comparable | +| Test.java:7511:40:7511:41 | in : ImmutableSortedSet [] : Comparable | semmle.label | in : ImmutableSortedSet [] : Comparable | +| Test.java:7512:9:7512:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7512:20:7512:22 | out : NavigableSet [] : Comparable | semmle.label | out : NavigableSet [] : Comparable | +| Test.java:7517:13:7517:33 | (...)... : Set [] : Object | semmle.label | (...)... : Set [] : Object | +| Test.java:7517:18:7517:33 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| Test.java:7517:25:7517:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7518:10:7518:29 | union(...) : SetView [] : Object | semmle.label | union(...) : SetView [] : Object | +| Test.java:7518:27:7518:28 | in : Set [] : Object | semmle.label | in : Set [] : Object | +| Test.java:7519:9:7519:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7519:20:7519:22 | out : SetView [] : Object | semmle.label | out : SetView [] : Object | +| Test.java:7524:13:7524:33 | (...)... : Set [] : Object | semmle.label | (...)... : Set [] : Object | +| Test.java:7524:18:7524:33 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| Test.java:7524:25:7524:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7525:10:7525:29 | union(...) : SetView [] : Object | semmle.label | union(...) : SetView [] : Object | +| Test.java:7525:21:7525:22 | in : Set [] : Object | semmle.label | in : Set [] : Object | +| Test.java:7526:9:7526:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7526:20:7526:22 | out : SetView [] : Object | semmle.label | out : SetView [] : Object | +| Test.java:7531:22:7531:78 | (...)... : ImmutableSortedSet [] : Comparable | semmle.label | (...)... : ImmutableSortedSet [] : Comparable | +| Test.java:7531:36:7531:78 | of(...) : ImmutableSortedSet [] : Comparable | semmle.label | of(...) : ImmutableSortedSet [] : Comparable | +| Test.java:7531:58:7531:77 | (...)... : Comparable | semmle.label | (...)... : Comparable | +| Test.java:7531:70:7531:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7532:10:7532:42 | unmodifiableNavigableSet(...) : NavigableSet [] : Comparable | semmle.label | unmodifiableNavigableSet(...) : NavigableSet [] : Comparable | +| Test.java:7532:40:7532:41 | in : ImmutableSortedSet [] : Comparable | semmle.label | in : ImmutableSortedSet [] : Comparable | +| Test.java:7533:9:7533:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7533:20:7533:22 | out : NavigableSet [] : Comparable | semmle.label | out : NavigableSet [] : Comparable | +| Test.java:7538:20:7538:65 | (...)... : Cell [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : Cell [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7538:32:7538:65 | newTableCell(...) : Cell [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTableCell(...) : Cell [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7538:51:7538:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7539:10:7539:11 | in : Cell [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : Cell [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7539:10:7539:26 | getColumnKey(...) : Object | semmle.label | getColumnKey(...) : Object | +| Test.java:7540:9:7540:11 | out | semmle.label | out | +| Test.java:7545:20:7545:65 | (...)... : Cell [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : Cell [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7545:32:7545:65 | newTableCell(...) : Cell [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTableCell(...) : Cell [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7545:45:7545:52 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7546:10:7546:11 | in : Cell [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : Cell [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7546:10:7546:23 | getRowKey(...) : Object | semmle.label | getRowKey(...) : Object | +| Test.java:7547:9:7547:11 | out | semmle.label | out | +| Test.java:7552:20:7552:65 | (...)... : Cell [] : Object | semmle.label | (...)... : Cell [] : Object | +| Test.java:7552:32:7552:65 | newTableCell(...) : Cell [] : Object | semmle.label | newTableCell(...) : Cell [] : Object | +| Test.java:7552:57:7552:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7553:10:7553:11 | in : Cell [] : Object | semmle.label | in : Cell [] : Object | +| Test.java:7553:10:7553:22 | getValue(...) : Object | semmle.label | getValue(...) : Object | +| Test.java:7554:9:7554:11 | out | semmle.label | out | +| Test.java:7559:15:7559:51 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:7559:22:7559:51 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:7559:43:7559:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7560:10:7560:11 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:7560:10:7560:21 | cellSet(...) : Set [, ] : Object | semmle.label | cellSet(...) : Set [, ] : Object | +| Test.java:7561:9:7561:23 | getElement(...) : Cell [] : Object | semmle.label | getElement(...) : Cell [] : Object | +| Test.java:7561:9:7561:34 | getValue(...) | semmle.label | getValue(...) | +| Test.java:7561:20:7561:22 | out : Set [, ] : Object | semmle.label | out : Set [, ] : Object | +| Test.java:7566:20:7566:89 | (...)... : ArrayTable [] : Object | semmle.label | (...)... : ArrayTable [] : Object | +| Test.java:7566:32:7566:89 | create(...) : ArrayTable [] : Object | semmle.label | create(...) : ArrayTable [] : Object | +| Test.java:7566:50:7566:88 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:7566:80:7566:87 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7567:10:7567:11 | in : ArrayTable [] : Object | semmle.label | in : ArrayTable [] : Object | +| Test.java:7567:10:7567:21 | cellSet(...) : Set [, ] : Object | semmle.label | cellSet(...) : Set [, ] : Object | +| Test.java:7568:9:7568:23 | getElement(...) : Cell [] : Object | semmle.label | getElement(...) : Cell [] : Object | +| Test.java:7568:9:7568:34 | getValue(...) | semmle.label | getValue(...) | +| Test.java:7568:20:7568:22 | out : Set [, ] : Object | semmle.label | out : Set [, ] : Object | +| Test.java:7573:24:7573:78 | (...)... : ImmutableTable [] : Object | semmle.label | (...)... : ImmutableTable [] : Object | +| Test.java:7573:40:7573:78 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:7573:70:7573:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7574:10:7574:11 | in : ImmutableTable [] : Object | semmle.label | in : ImmutableTable [] : Object | +| Test.java:7574:10:7574:21 | cellSet(...) : ImmutableSet [, ] : Object | semmle.label | cellSet(...) : ImmutableSet [, ] : Object | +| Test.java:7575:9:7575:23 | getElement(...) : Cell [] : Object | semmle.label | getElement(...) : Cell [] : Object | +| Test.java:7575:9:7575:34 | getValue(...) | semmle.label | getValue(...) | +| Test.java:7575:20:7575:22 | out : ImmutableSet [, ] : Object | semmle.label | out : ImmutableSet [, ] : Object | +| Test.java:7580:15:7580:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7580:22:7580:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7580:37:7580:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7581:10:7581:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7581:10:7581:21 | cellSet(...) : Set [, com.google.common.collect.Table.columnKey] : Object | semmle.label | cellSet(...) : Set [, com.google.common.collect.Table.columnKey] : Object | +| Test.java:7582:9:7582:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | semmle.label | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7582:9:7582:38 | getColumnKey(...) | semmle.label | getColumnKey(...) | +| Test.java:7582:20:7582:22 | out : Set [, com.google.common.collect.Table.columnKey] : Object | semmle.label | out : Set [, com.google.common.collect.Table.columnKey] : Object | +| Test.java:7587:20:7587:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7587:32:7587:89 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7587:50:7587:88 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7587:74:7587:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7588:10:7588:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7588:10:7588:21 | cellSet(...) : Set [, com.google.common.collect.Table.columnKey] : Object | semmle.label | cellSet(...) : Set [, com.google.common.collect.Table.columnKey] : Object | +| Test.java:7589:9:7589:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | semmle.label | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7589:9:7589:38 | getColumnKey(...) | semmle.label | getColumnKey(...) | +| Test.java:7589:20:7589:22 | out : Set [, com.google.common.collect.Table.columnKey] : Object | semmle.label | out : Set [, com.google.common.collect.Table.columnKey] : Object | +| Test.java:7594:24:7594:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7594:40:7594:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7594:64:7594:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7595:10:7595:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7595:10:7595:21 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | semmle.label | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | +| Test.java:7596:9:7596:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | semmle.label | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7596:9:7596:38 | getColumnKey(...) | semmle.label | getColumnKey(...) | +| Test.java:7596:20:7596:22 | out : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | semmle.label | out : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | +| Test.java:7601:15:7601:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7601:22:7601:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7601:31:7601:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7602:10:7602:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7602:10:7602:21 | cellSet(...) : Set [, com.google.common.collect.Table.rowKey] : Object | semmle.label | cellSet(...) : Set [, com.google.common.collect.Table.rowKey] : Object | +| Test.java:7603:9:7603:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | semmle.label | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7603:9:7603:35 | getRowKey(...) | semmle.label | getRowKey(...) | +| Test.java:7603:20:7603:22 | out : Set [, com.google.common.collect.Table.rowKey] : Object | semmle.label | out : Set [, com.google.common.collect.Table.rowKey] : Object | +| Test.java:7608:20:7608:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7608:32:7608:89 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7608:50:7608:88 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7608:68:7608:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7609:10:7609:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7609:10:7609:21 | cellSet(...) : Set [, com.google.common.collect.Table.rowKey] : Object | semmle.label | cellSet(...) : Set [, com.google.common.collect.Table.rowKey] : Object | +| Test.java:7610:9:7610:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | semmle.label | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7610:9:7610:35 | getRowKey(...) | semmle.label | getRowKey(...) | +| Test.java:7610:20:7610:22 | out : Set [, com.google.common.collect.Table.rowKey] : Object | semmle.label | out : Set [, com.google.common.collect.Table.rowKey] : Object | +| Test.java:7615:24:7615:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7615:40:7615:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7615:58:7615:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7616:10:7616:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7616:10:7616:21 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | semmle.label | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | +| Test.java:7617:9:7617:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | semmle.label | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7617:9:7617:35 | getRowKey(...) | semmle.label | getRowKey(...) | +| Test.java:7617:20:7617:22 | out : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | semmle.label | out : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | +| Test.java:7622:15:7622:51 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:7622:22:7622:51 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:7622:43:7622:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7623:10:7623:11 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:7623:10:7623:24 | column(...) : Map [] : Object | semmle.label | column(...) : Map [] : Object | +| Test.java:7624:9:7624:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7624:21:7624:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:7629:20:7629:89 | (...)... : ArrayTable [] : Object | semmle.label | (...)... : ArrayTable [] : Object | +| Test.java:7629:32:7629:89 | create(...) : ArrayTable [] : Object | semmle.label | create(...) : ArrayTable [] : Object | +| Test.java:7629:50:7629:88 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:7629:80:7629:87 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7630:10:7630:11 | in : ArrayTable [] : Object | semmle.label | in : ArrayTable [] : Object | +| Test.java:7630:10:7630:24 | column(...) : Map [] : Object | semmle.label | column(...) : Map [] : Object | +| Test.java:7631:9:7631:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7631:21:7631:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:7636:24:7636:78 | (...)... : ImmutableTable [] : Object | semmle.label | (...)... : ImmutableTable [] : Object | +| Test.java:7636:40:7636:78 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:7636:70:7636:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7637:10:7637:11 | in : ImmutableTable [] : Object | semmle.label | in : ImmutableTable [] : Object | +| Test.java:7637:10:7637:24 | column(...) : ImmutableMap [] : Object | semmle.label | column(...) : ImmutableMap [] : Object | +| Test.java:7638:9:7638:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7638:21:7638:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:7643:15:7643:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7643:22:7643:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7643:31:7643:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7644:10:7644:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7644:10:7644:24 | column(...) : Map [] : Object | semmle.label | column(...) : Map [] : Object | +| Test.java:7645:9:7645:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:7645:19:7645:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:7650:20:7650:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7650:32:7650:89 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7650:50:7650:88 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7650:68:7650:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7651:10:7651:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7651:10:7651:24 | column(...) : Map [] : Object | semmle.label | column(...) : Map [] : Object | +| Test.java:7652:9:7652:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:7652:19:7652:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:7657:24:7657:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7657:40:7657:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7657:58:7657:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7658:10:7658:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7658:10:7658:24 | column(...) : ImmutableMap [] : Object | semmle.label | column(...) : ImmutableMap [] : Object | +| Test.java:7659:9:7659:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:7659:19:7659:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:7664:15:7664:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7664:22:7664:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7664:37:7664:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7665:10:7665:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7665:10:7665:26 | columnKeySet(...) : Set [] : Object | semmle.label | columnKeySet(...) : Set [] : Object | +| Test.java:7666:9:7666:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7666:20:7666:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:7671:24:7671:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7671:40:7671:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7671:64:7671:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7672:10:7672:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7672:10:7672:26 | columnKeySet(...) : ImmutableSet [] : Object | semmle.label | columnKeySet(...) : ImmutableSet [] : Object | +| Test.java:7673:9:7673:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7673:20:7673:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:7678:20:7678:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7678:32:7678:89 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7678:50:7678:88 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7678:74:7678:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7679:10:7679:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7679:10:7679:26 | columnKeySet(...) : ImmutableSet [] : Object | semmle.label | columnKeySet(...) : ImmutableSet [] : Object | +| Test.java:7680:9:7680:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7680:20:7680:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:7685:15:7685:51 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:7685:22:7685:51 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:7685:43:7685:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7686:10:7686:11 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:7686:10:7686:23 | columnMap(...) : Map [, ] : Object | semmle.label | columnMap(...) : Map [, ] : Object | +| Test.java:7687:9:7687:37 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7687:21:7687:36 | getMapValue(...) : Map [] : Object | semmle.label | getMapValue(...) : Map [] : Object | +| Test.java:7687:33:7687:35 | out : Map [, ] : Object | semmle.label | out : Map [, ] : Object | +| Test.java:7692:20:7692:89 | (...)... : ArrayTable [] : Object | semmle.label | (...)... : ArrayTable [] : Object | +| Test.java:7692:32:7692:89 | create(...) : ArrayTable [] : Object | semmle.label | create(...) : ArrayTable [] : Object | +| Test.java:7692:50:7692:88 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:7692:80:7692:87 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7693:10:7693:11 | in : ArrayTable [] : Object | semmle.label | in : ArrayTable [] : Object | +| Test.java:7693:10:7693:23 | columnMap(...) : Map [, ] : Object | semmle.label | columnMap(...) : Map [, ] : Object | +| Test.java:7694:9:7694:37 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7694:21:7694:36 | getMapValue(...) : Map [] : Object | semmle.label | getMapValue(...) : Map [] : Object | +| Test.java:7694:33:7694:35 | out : Map [, ] : Object | semmle.label | out : Map [, ] : Object | +| Test.java:7699:24:7699:78 | (...)... : ImmutableTable [] : Object | semmle.label | (...)... : ImmutableTable [] : Object | +| Test.java:7699:40:7699:78 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:7699:70:7699:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7700:10:7700:11 | in : ImmutableTable [] : Object | semmle.label | in : ImmutableTable [] : Object | +| Test.java:7700:10:7700:23 | columnMap(...) : ImmutableMap [, ] : Object | semmle.label | columnMap(...) : ImmutableMap [, ] : Object | +| Test.java:7701:9:7701:37 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7701:21:7701:36 | getMapValue(...) : Map [] : Object | semmle.label | getMapValue(...) : Map [] : Object | +| Test.java:7701:33:7701:35 | out : ImmutableMap [, ] : Object | semmle.label | out : ImmutableMap [, ] : Object | +| Test.java:7706:15:7706:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7706:22:7706:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7706:37:7706:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7707:10:7707:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7707:10:7707:23 | columnMap(...) : Map [] : Object | semmle.label | columnMap(...) : Map [] : Object | +| Test.java:7708:9:7708:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:7708:19:7708:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:7713:20:7713:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7713:32:7713:89 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7713:50:7713:88 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7713:74:7713:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7714:10:7714:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7714:10:7714:23 | columnMap(...) : Map [] : Object | semmle.label | columnMap(...) : Map [] : Object | +| Test.java:7715:9:7715:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:7715:19:7715:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:7720:24:7720:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7720:40:7720:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7720:64:7720:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7721:10:7721:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7721:10:7721:23 | columnMap(...) : ImmutableMap [] : Object | semmle.label | columnMap(...) : ImmutableMap [] : Object | +| Test.java:7722:9:7722:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:7722:19:7722:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:7727:15:7727:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7727:22:7727:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7727:31:7727:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7728:10:7728:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7728:10:7728:23 | columnMap(...) : Map [, ] : Object | semmle.label | columnMap(...) : Map [, ] : Object | +| Test.java:7729:9:7729:35 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:7729:19:7729:34 | getMapValue(...) : Map [] : Object | semmle.label | getMapValue(...) : Map [] : Object | +| Test.java:7729:31:7729:33 | out : Map [, ] : Object | semmle.label | out : Map [, ] : Object | +| Test.java:7734:20:7734:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7734:32:7734:89 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7734:50:7734:88 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7734:68:7734:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7735:10:7735:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7735:10:7735:23 | columnMap(...) : Map [, ] : Object | semmle.label | columnMap(...) : Map [, ] : Object | +| Test.java:7736:9:7736:35 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:7736:19:7736:34 | getMapValue(...) : Map [] : Object | semmle.label | getMapValue(...) : Map [] : Object | +| Test.java:7736:31:7736:33 | out : Map [, ] : Object | semmle.label | out : Map [, ] : Object | +| Test.java:7741:24:7741:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7741:40:7741:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7741:58:7741:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7742:10:7742:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7742:10:7742:23 | columnMap(...) : ImmutableMap [, ] : Object | semmle.label | columnMap(...) : ImmutableMap [, ] : Object | +| Test.java:7743:9:7743:35 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:7743:19:7743:34 | getMapValue(...) : Map [] : Object | semmle.label | getMapValue(...) : Map [] : Object | +| Test.java:7743:31:7743:33 | out : ImmutableMap [, ] : Object | semmle.label | out : ImmutableMap [, ] : Object | +| Test.java:7748:15:7748:51 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:7748:22:7748:51 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:7748:43:7748:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7749:10:7749:11 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:7749:10:7749:27 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:7750:9:7750:11 | out | semmle.label | out | +| Test.java:7755:24:7755:101 | (...)... : HashBasedTable [] : Object | semmle.label | (...)... : HashBasedTable [] : Object | +| Test.java:7755:40:7755:101 | create(...) : HashBasedTable [] : Object | semmle.label | create(...) : HashBasedTable [] : Object | +| Test.java:7755:62:7755:100 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:7755:92:7755:99 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7756:10:7756:11 | in : HashBasedTable [] : Object | semmle.label | in : HashBasedTable [] : Object | +| Test.java:7756:10:7756:27 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:7757:9:7757:11 | out | semmle.label | out | +| Test.java:7762:20:7762:89 | (...)... : ArrayTable [] : Object | semmle.label | (...)... : ArrayTable [] : Object | +| Test.java:7762:32:7762:89 | create(...) : ArrayTable [] : Object | semmle.label | create(...) : ArrayTable [] : Object | +| Test.java:7762:50:7762:88 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:7762:80:7762:87 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7763:10:7763:11 | in : ArrayTable [] : Object | semmle.label | in : ArrayTable [] : Object | +| Test.java:7763:10:7763:27 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:7764:9:7764:11 | out | semmle.label | out | +| Test.java:7769:16:7769:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7769:24:7769:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7770:4:7770:6 | out [post update] : Table [com.google.common.collect.Table.rowKey] : Object | semmle.label | out [post update] : Table [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7770:12:7770:13 | in : Object | semmle.label | in : Object | +| Test.java:7771:9:7771:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:7771:25:7771:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : Table [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7776:16:7776:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7776:24:7776:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7777:4:7777:6 | out [post update] : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | out [post update] : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7777:12:7777:13 | in : Object | semmle.label | in : Object | +| Test.java:7778:9:7778:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:7778:25:7778:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7783:16:7783:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7783:24:7783:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7784:4:7784:6 | out [post update] : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | out [post update] : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7784:12:7784:13 | in : Object | semmle.label | in : Object | +| Test.java:7785:9:7785:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:7785:25:7785:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7790:16:7790:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7790:24:7790:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7791:4:7791:6 | out [post update] : Table [com.google.common.collect.Table.columnKey] : Object | semmle.label | out [post update] : Table [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7791:18:7791:19 | in : Object | semmle.label | in : Object | +| Test.java:7792:9:7792:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:7792:28:7792:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : Table [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7797:16:7797:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7797:24:7797:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7798:4:7798:6 | out [post update] : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | out [post update] : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7798:18:7798:19 | in : Object | semmle.label | in : Object | +| Test.java:7799:9:7799:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:7799:28:7799:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7804:16:7804:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7804:24:7804:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7805:4:7805:6 | out [post update] : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | out [post update] : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7805:18:7805:19 | in : Object | semmle.label | in : Object | +| Test.java:7806:9:7806:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:7806:28:7806:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7811:16:7811:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7811:24:7811:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7812:4:7812:6 | out [post update] : Table [] : Object | semmle.label | out [post update] : Table [] : Object | +| Test.java:7812:24:7812:25 | in : Object | semmle.label | in : Object | +| Test.java:7813:9:7813:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7813:21:7813:23 | out : Table [] : Object | semmle.label | out : Table [] : Object | +| Test.java:7818:16:7818:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7818:24:7818:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7819:4:7819:6 | out [post update] : ImmutableTable [] : Object | semmle.label | out [post update] : ImmutableTable [] : Object | +| Test.java:7819:24:7819:25 | in : Object | semmle.label | in : Object | +| Test.java:7820:9:7820:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7820:21:7820:23 | out : ImmutableTable [] : Object | semmle.label | out : ImmutableTable [] : Object | +| Test.java:7825:16:7825:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:7825:24:7825:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7826:4:7826:6 | out [post update] : ArrayTable [] : Object | semmle.label | out [post update] : ArrayTable [] : Object | +| Test.java:7826:24:7826:25 | in : Object | semmle.label | in : Object | +| Test.java:7827:9:7827:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7827:21:7827:23 | out : ArrayTable [] : Object | semmle.label | out : ArrayTable [] : Object | +| Test.java:7832:15:7832:51 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:7832:22:7832:51 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:7832:43:7832:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7833:4:7833:6 | out [post update] : Table [] : Object | semmle.label | out [post update] : Table [] : Object | +| Test.java:7833:15:7833:16 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:7834:9:7834:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7834:21:7834:23 | out : Table [] : Object | semmle.label | out : Table [] : Object | +| Test.java:7839:15:7839:60 | (...)... : ImmutableTable [] : Object | semmle.label | (...)... : ImmutableTable [] : Object | +| Test.java:7839:22:7839:60 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:7839:52:7839:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7840:4:7840:6 | out [post update] : ImmutableTable [] : Object | semmle.label | out [post update] : ImmutableTable [] : Object | +| Test.java:7840:15:7840:16 | in : ImmutableTable [] : Object | semmle.label | in : ImmutableTable [] : Object | +| Test.java:7841:9:7841:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7841:21:7841:23 | out : ImmutableTable [] : Object | semmle.label | out : ImmutableTable [] : Object | +| Test.java:7846:15:7846:79 | (...)... : ArrayTable [] : Object | semmle.label | (...)... : ArrayTable [] : Object | +| Test.java:7846:22:7846:79 | create(...) : ArrayTable [] : Object | semmle.label | create(...) : ArrayTable [] : Object | +| Test.java:7846:40:7846:78 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:7846:70:7846:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7847:4:7847:6 | out [post update] : ArrayTable [] : Object | semmle.label | out [post update] : ArrayTable [] : Object | +| Test.java:7847:15:7847:16 | in : ArrayTable [] : Object | semmle.label | in : ArrayTable [] : Object | +| Test.java:7848:9:7848:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7848:21:7848:23 | out : ArrayTable [] : Object | semmle.label | out : ArrayTable [] : Object | +| Test.java:7853:15:7853:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7853:22:7853:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7853:37:7853:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7854:4:7854:6 | out [post update] : Table [com.google.common.collect.Table.columnKey] : Object | semmle.label | out [post update] : Table [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7854:15:7854:16 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7855:9:7855:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:7855:28:7855:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : Table [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7860:15:7860:60 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7860:22:7860:60 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7860:46:7860:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7861:4:7861:6 | out [post update] : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | out [post update] : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7861:15:7861:16 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7862:9:7862:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:7862:28:7862:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7867:15:7867:79 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7867:22:7867:79 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7867:40:7867:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7867:64:7867:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7868:4:7868:6 | out [post update] : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | out [post update] : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7868:15:7868:16 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7869:9:7869:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:7869:28:7869:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7874:15:7874:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7874:22:7874:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7874:31:7874:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7875:4:7875:6 | out [post update] : Table [com.google.common.collect.Table.rowKey] : Object | semmle.label | out [post update] : Table [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7875:15:7875:16 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7876:9:7876:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:7876:25:7876:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : Table [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7881:15:7881:60 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7881:22:7881:60 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7881:40:7881:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7882:4:7882:6 | out [post update] : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | out [post update] : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7882:15:7882:16 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7883:9:7883:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:7883:25:7883:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7888:15:7888:79 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7888:22:7888:79 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7888:40:7888:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7888:58:7888:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7889:4:7889:6 | out [post update] : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | out [post update] : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7889:15:7889:16 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7890:9:7890:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:7890:25:7890:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7895:15:7895:51 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:7895:22:7895:51 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:7895:43:7895:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7896:10:7896:11 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:7896:10:7896:30 | remove(...) : Object | semmle.label | remove(...) : Object | +| Test.java:7897:9:7897:11 | out | semmle.label | out | +| Test.java:7902:24:7902:78 | (...)... : ImmutableTable [] : Object | semmle.label | (...)... : ImmutableTable [] : Object | +| Test.java:7902:40:7902:78 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:7902:70:7902:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7903:10:7903:11 | in : ImmutableTable [] : Object | semmle.label | in : ImmutableTable [] : Object | +| Test.java:7903:10:7903:30 | remove(...) : Object | semmle.label | remove(...) : Object | +| Test.java:7904:9:7904:11 | out | semmle.label | out | +| Test.java:7909:24:7909:101 | (...)... : HashBasedTable [] : Object | semmle.label | (...)... : HashBasedTable [] : Object | +| Test.java:7909:40:7909:101 | create(...) : HashBasedTable [] : Object | semmle.label | create(...) : HashBasedTable [] : Object | +| Test.java:7909:62:7909:100 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:7909:92:7909:99 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7910:10:7910:11 | in : HashBasedTable [] : Object | semmle.label | in : HashBasedTable [] : Object | +| Test.java:7910:10:7910:30 | remove(...) : Object | semmle.label | remove(...) : Object | +| Test.java:7911:9:7911:11 | out | semmle.label | out | +| Test.java:7916:20:7916:89 | (...)... : ArrayTable [] : Object | semmle.label | (...)... : ArrayTable [] : Object | +| Test.java:7916:32:7916:89 | create(...) : ArrayTable [] : Object | semmle.label | create(...) : ArrayTable [] : Object | +| Test.java:7916:50:7916:88 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:7916:80:7916:87 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7917:10:7917:11 | in : ArrayTable [] : Object | semmle.label | in : ArrayTable [] : Object | +| Test.java:7917:10:7917:30 | remove(...) : Object | semmle.label | remove(...) : Object | +| Test.java:7918:9:7918:11 | out | semmle.label | out | +| Test.java:7923:24:7923:69 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:7923:40:7923:69 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:7923:61:7923:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7924:10:7924:11 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:7924:10:7924:21 | row(...) : SortedMap [] : Object | semmle.label | row(...) : SortedMap [] : Object | +| Test.java:7925:9:7925:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7925:21:7925:23 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| Test.java:7930:15:7930:51 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:7930:22:7930:51 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:7930:43:7930:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7931:10:7931:11 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:7931:10:7931:21 | row(...) : Map [] : Object | semmle.label | row(...) : Map [] : Object | +| Test.java:7932:9:7932:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7932:21:7932:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:7937:20:7937:89 | (...)... : ArrayTable [] : Object | semmle.label | (...)... : ArrayTable [] : Object | +| Test.java:7937:32:7937:89 | create(...) : ArrayTable [] : Object | semmle.label | create(...) : ArrayTable [] : Object | +| Test.java:7937:50:7937:88 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:7937:80:7937:87 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7938:10:7938:11 | in : ArrayTable [] : Object | semmle.label | in : ArrayTable [] : Object | +| Test.java:7938:10:7938:21 | row(...) : Map [] : Object | semmle.label | row(...) : Map [] : Object | +| Test.java:7939:9:7939:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7939:21:7939:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:7944:24:7944:78 | (...)... : ImmutableTable [] : Object | semmle.label | (...)... : ImmutableTable [] : Object | +| Test.java:7944:40:7944:78 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:7944:70:7944:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7945:10:7945:11 | in : ImmutableTable [] : Object | semmle.label | in : ImmutableTable [] : Object | +| Test.java:7945:10:7945:21 | row(...) : ImmutableMap [] : Object | semmle.label | row(...) : ImmutableMap [] : Object | +| Test.java:7946:9:7946:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:7946:21:7946:23 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:7951:24:7951:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7951:40:7951:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7951:55:7951:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7952:10:7952:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7952:10:7952:21 | row(...) : SortedMap [] : Object | semmle.label | row(...) : SortedMap [] : Object | +| Test.java:7953:9:7953:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:7953:19:7953:21 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| Test.java:7958:15:7958:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7958:22:7958:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7958:37:7958:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7959:10:7959:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7959:10:7959:21 | row(...) : Map [] : Object | semmle.label | row(...) : Map [] : Object | +| Test.java:7960:9:7960:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:7960:19:7960:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:7965:20:7965:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7965:32:7965:89 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7965:50:7965:88 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7965:74:7965:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7966:10:7966:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7966:10:7966:21 | row(...) : Map [] : Object | semmle.label | row(...) : Map [] : Object | +| Test.java:7967:9:7967:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:7967:19:7967:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:7972:24:7972:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7972:40:7972:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7972:64:7972:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7973:10:7973:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7973:10:7973:21 | row(...) : ImmutableMap [] : Object | semmle.label | row(...) : ImmutableMap [] : Object | +| Test.java:7974:9:7974:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:7974:19:7974:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:7979:24:7979:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7979:40:7979:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7979:49:7979:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7980:10:7980:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7980:10:7980:23 | rowKeySet(...) : SortedSet [] : Object | semmle.label | rowKeySet(...) : SortedSet [] : Object | +| Test.java:7981:9:7981:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7981:20:7981:22 | out : SortedSet [] : Object | semmle.label | out : SortedSet [] : Object | +| Test.java:7986:24:7986:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7986:40:7986:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7986:49:7986:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7987:10:7987:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7987:10:7987:23 | rowKeySet(...) : SortedSet [] : Object | semmle.label | rowKeySet(...) : SortedSet [] : Object | +| Test.java:7988:9:7988:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7988:20:7988:22 | out : SortedSet [] : Object | semmle.label | out : SortedSet [] : Object | +| Test.java:7993:15:7993:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7993:22:7993:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7993:31:7993:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7994:10:7994:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7994:10:7994:23 | rowKeySet(...) : Set [] : Object | semmle.label | rowKeySet(...) : Set [] : Object | +| Test.java:7995:9:7995:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:7995:20:7995:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:8000:24:8000:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8000:40:8000:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8000:58:8000:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8001:10:8001:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8001:10:8001:23 | rowKeySet(...) : ImmutableSet [] : Object | semmle.label | rowKeySet(...) : ImmutableSet [] : Object | +| Test.java:8002:9:8002:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:8002:20:8002:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:8007:20:8007:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8007:32:8007:89 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8007:50:8007:88 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8007:68:8007:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8008:10:8008:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8008:10:8008:23 | rowKeySet(...) : ImmutableSet [] : Object | semmle.label | rowKeySet(...) : ImmutableSet [] : Object | +| Test.java:8009:9:8009:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:8009:20:8009:22 | out : ImmutableSet [] : Object | semmle.label | out : ImmutableSet [] : Object | +| Test.java:8014:24:8014:69 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:8014:40:8014:69 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8014:61:8014:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8015:10:8015:11 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:8015:10:8015:20 | rowMap(...) : SortedMap [, ] : Object | semmle.label | rowMap(...) : SortedMap [, ] : Object | +| Test.java:8016:9:8016:37 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:8016:21:8016:36 | getMapValue(...) : Map [] : Object | semmle.label | getMapValue(...) : Map [] : Object | +| Test.java:8016:33:8016:35 | out : SortedMap [, ] : Object | semmle.label | out : SortedMap [, ] : Object | +| Test.java:8021:24:8021:69 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:8021:40:8021:69 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8021:61:8021:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8022:10:8022:11 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:8022:10:8022:20 | rowMap(...) : SortedMap [, ] : Object | semmle.label | rowMap(...) : SortedMap [, ] : Object | +| Test.java:8023:9:8023:37 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:8023:21:8023:36 | getMapValue(...) : Map [] : Object | semmle.label | getMapValue(...) : Map [] : Object | +| Test.java:8023:33:8023:35 | out : SortedMap [, ] : Object | semmle.label | out : SortedMap [, ] : Object | +| Test.java:8028:15:8028:51 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:8028:22:8028:51 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8028:43:8028:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8029:10:8029:11 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:8029:10:8029:20 | rowMap(...) : Map [, ] : Object | semmle.label | rowMap(...) : Map [, ] : Object | +| Test.java:8030:9:8030:37 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:8030:21:8030:36 | getMapValue(...) : Map [] : Object | semmle.label | getMapValue(...) : Map [] : Object | +| Test.java:8030:33:8030:35 | out : Map [, ] : Object | semmle.label | out : Map [, ] : Object | +| Test.java:8035:20:8035:89 | (...)... : ArrayTable [] : Object | semmle.label | (...)... : ArrayTable [] : Object | +| Test.java:8035:32:8035:89 | create(...) : ArrayTable [] : Object | semmle.label | create(...) : ArrayTable [] : Object | +| Test.java:8035:50:8035:88 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:8035:80:8035:87 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8036:10:8036:11 | in : ArrayTable [] : Object | semmle.label | in : ArrayTable [] : Object | +| Test.java:8036:10:8036:20 | rowMap(...) : Map [, ] : Object | semmle.label | rowMap(...) : Map [, ] : Object | +| Test.java:8037:9:8037:37 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:8037:21:8037:36 | getMapValue(...) : Map [] : Object | semmle.label | getMapValue(...) : Map [] : Object | +| Test.java:8037:33:8037:35 | out : Map [, ] : Object | semmle.label | out : Map [, ] : Object | +| Test.java:8042:24:8042:78 | (...)... : ImmutableTable [] : Object | semmle.label | (...)... : ImmutableTable [] : Object | +| Test.java:8042:40:8042:78 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:8042:70:8042:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8043:10:8043:11 | in : ImmutableTable [] : Object | semmle.label | in : ImmutableTable [] : Object | +| Test.java:8043:10:8043:20 | rowMap(...) : ImmutableMap [, ] : Object | semmle.label | rowMap(...) : ImmutableMap [, ] : Object | +| Test.java:8044:9:8044:37 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:8044:21:8044:36 | getMapValue(...) : Map [] : Object | semmle.label | getMapValue(...) : Map [] : Object | +| Test.java:8044:33:8044:35 | out : ImmutableMap [, ] : Object | semmle.label | out : ImmutableMap [, ] : Object | +| Test.java:8049:24:8049:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8049:40:8049:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8049:55:8049:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8050:10:8050:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8050:10:8050:20 | rowMap(...) : SortedMap [, ] : Object | semmle.label | rowMap(...) : SortedMap [, ] : Object | +| Test.java:8051:9:8051:35 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:8051:19:8051:34 | getMapValue(...) : Map [] : Object | semmle.label | getMapValue(...) : Map [] : Object | +| Test.java:8051:31:8051:33 | out : SortedMap [, ] : Object | semmle.label | out : SortedMap [, ] : Object | +| Test.java:8056:24:8056:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8056:40:8056:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8056:55:8056:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8057:10:8057:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8057:10:8057:20 | rowMap(...) : SortedMap [, ] : Object | semmle.label | rowMap(...) : SortedMap [, ] : Object | +| Test.java:8058:9:8058:35 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:8058:19:8058:34 | getMapValue(...) : Map [] : Object | semmle.label | getMapValue(...) : Map [] : Object | +| Test.java:8058:31:8058:33 | out : SortedMap [, ] : Object | semmle.label | out : SortedMap [, ] : Object | +| Test.java:8063:15:8063:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8063:22:8063:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8063:37:8063:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8064:10:8064:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8064:10:8064:20 | rowMap(...) : Map [, ] : Object | semmle.label | rowMap(...) : Map [, ] : Object | +| Test.java:8065:9:8065:35 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:8065:19:8065:34 | getMapValue(...) : Map [] : Object | semmle.label | getMapValue(...) : Map [] : Object | +| Test.java:8065:31:8065:33 | out : Map [, ] : Object | semmle.label | out : Map [, ] : Object | +| Test.java:8070:20:8070:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8070:32:8070:89 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8070:50:8070:88 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8070:74:8070:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8071:10:8071:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8071:10:8071:20 | rowMap(...) : Map [, ] : Object | semmle.label | rowMap(...) : Map [, ] : Object | +| Test.java:8072:9:8072:35 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:8072:19:8072:34 | getMapValue(...) : Map [] : Object | semmle.label | getMapValue(...) : Map [] : Object | +| Test.java:8072:31:8072:33 | out : Map [, ] : Object | semmle.label | out : Map [, ] : Object | +| Test.java:8077:24:8077:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8077:40:8077:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8077:64:8077:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8078:10:8078:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8078:10:8078:20 | rowMap(...) : ImmutableMap [, ] : Object | semmle.label | rowMap(...) : ImmutableMap [, ] : Object | +| Test.java:8079:9:8079:35 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:8079:19:8079:34 | getMapValue(...) : Map [] : Object | semmle.label | getMapValue(...) : Map [] : Object | +| Test.java:8079:31:8079:33 | out : ImmutableMap [, ] : Object | semmle.label | out : ImmutableMap [, ] : Object | +| Test.java:8084:24:8084:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8084:40:8084:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8084:49:8084:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8085:10:8085:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8085:10:8085:20 | rowMap(...) : SortedMap [] : Object | semmle.label | rowMap(...) : SortedMap [] : Object | +| Test.java:8086:9:8086:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:8086:19:8086:21 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| Test.java:8091:24:8091:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8091:40:8091:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8091:49:8091:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8092:10:8092:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8092:10:8092:20 | rowMap(...) : SortedMap [] : Object | semmle.label | rowMap(...) : SortedMap [] : Object | +| Test.java:8093:9:8093:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:8093:19:8093:21 | out : SortedMap [] : Object | semmle.label | out : SortedMap [] : Object | +| Test.java:8098:15:8098:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8098:22:8098:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8098:31:8098:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8099:10:8099:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8099:10:8099:20 | rowMap(...) : Map [] : Object | semmle.label | rowMap(...) : Map [] : Object | +| Test.java:8100:9:8100:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:8100:19:8100:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:8105:20:8105:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8105:32:8105:89 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8105:50:8105:88 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8105:68:8105:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8106:10:8106:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8106:10:8106:20 | rowMap(...) : Map [] : Object | semmle.label | rowMap(...) : Map [] : Object | +| Test.java:8107:9:8107:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:8107:19:8107:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:8112:24:8112:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8112:40:8112:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8112:58:8112:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8113:10:8113:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8113:10:8113:20 | rowMap(...) : ImmutableMap [] : Object | semmle.label | rowMap(...) : ImmutableMap [] : Object | +| Test.java:8114:9:8114:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:8114:19:8114:21 | out : ImmutableMap [] : Object | semmle.label | out : ImmutableMap [] : Object | +| Test.java:8119:24:8119:78 | (...)... : ImmutableTable [] : Object | semmle.label | (...)... : ImmutableTable [] : Object | +| Test.java:8119:40:8119:78 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:8119:70:8119:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8120:10:8120:11 | in : ImmutableTable [] : Object | semmle.label | in : ImmutableTable [] : Object | +| Test.java:8120:10:8120:20 | values(...) : ImmutableCollection [] : Object | semmle.label | values(...) : ImmutableCollection [] : Object | +| Test.java:8121:9:8121:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:8121:20:8121:22 | out : ImmutableCollection [] : Object | semmle.label | out : ImmutableCollection [] : Object | +| Test.java:8126:15:8126:51 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:8126:22:8126:51 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8126:43:8126:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8127:10:8127:11 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:8127:10:8127:20 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:8128:9:8128:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:8128:20:8128:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:8133:20:8133:89 | (...)... : ArrayTable [] : Object | semmle.label | (...)... : ArrayTable [] : Object | +| Test.java:8133:32:8133:89 | create(...) : ArrayTable [] : Object | semmle.label | create(...) : ArrayTable [] : Object | +| Test.java:8133:50:8133:88 | of(...) : ImmutableTable [] : Object | semmle.label | of(...) : ImmutableTable [] : Object | +| Test.java:8133:80:8133:87 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8134:10:8134:11 | in : ArrayTable [] : Object | semmle.label | in : ArrayTable [] : Object | +| Test.java:8134:10:8134:20 | values(...) : Collection [] : Object | semmle.label | values(...) : Collection [] : Object | +| Test.java:8135:9:8135:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:8135:20:8135:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:8140:16:8140:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:8140:24:8140:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8141:10:8141:45 | immutableCell(...) : Cell [com.google.common.collect.Table.rowKey] : Object | semmle.label | immutableCell(...) : Cell [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8141:31:8141:32 | in : Object | semmle.label | in : Object | +| Test.java:8142:9:8142:11 | out : Cell [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : Cell [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8142:9:8142:23 | getRowKey(...) | semmle.label | getRowKey(...) | +| Test.java:8147:16:8147:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:8147:24:8147:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8148:10:8148:45 | immutableCell(...) : Cell [com.google.common.collect.Table.columnKey] : Object | semmle.label | immutableCell(...) : Cell [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8148:37:8148:38 | in : Object | semmle.label | in : Object | +| Test.java:8149:9:8149:11 | out : Cell [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : Cell [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8149:9:8149:26 | getColumnKey(...) | semmle.label | getColumnKey(...) | +| Test.java:8154:16:8154:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:8154:24:8154:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8155:10:8155:45 | immutableCell(...) : Cell [] : Object | semmle.label | immutableCell(...) : Cell [] : Object | +| Test.java:8155:43:8155:44 | in : Object | semmle.label | in : Object | +| Test.java:8156:9:8156:11 | out : Cell [] : Object | semmle.label | out : Cell [] : Object | +| Test.java:8156:9:8156:22 | getValue(...) | semmle.label | getValue(...) | +| Test.java:8161:13:8161:39 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:8161:18:8161:39 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:8161:25:8161:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8162:10:8162:40 | newCustomTable(...) : Table [com.google.common.collect.Table.rowKey] : Object | semmle.label | newCustomTable(...) : Table [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8162:32:8162:33 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:8163:9:8163:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:8163:25:8163:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : Table [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8168:13:8168:53 | (...)... : Map [, ] : Object | semmle.label | (...)... : Map [, ] : Object | +| Test.java:8168:18:8168:53 | of(...) : Map [, ] : Object | semmle.label | of(...) : Map [, ] : Object | +| Test.java:8168:31:8168:52 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:8168:38:8168:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8169:10:8169:40 | newCustomTable(...) : Table [com.google.common.collect.Table.columnKey] : Object | semmle.label | newCustomTable(...) : Table [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8169:32:8169:33 | in : Map [, ] : Object | semmle.label | in : Map [, ] : Object | +| Test.java:8170:9:8170:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:8170:28:8170:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : Table [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8175:13:8175:53 | (...)... : Map [, ] : Object | semmle.label | (...)... : Map [, ] : Object | +| Test.java:8175:18:8175:53 | of(...) : Map [, ] : Object | semmle.label | of(...) : Map [, ] : Object | +| Test.java:8175:31:8175:52 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:8175:44:8175:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8176:10:8176:40 | newCustomTable(...) : Table [] : Object | semmle.label | newCustomTable(...) : Table [] : Object | +| Test.java:8176:32:8176:33 | in : Map [, ] : Object | semmle.label | in : Map [, ] : Object | +| Test.java:8177:9:8177:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:8177:21:8177:23 | out : Table [] : Object | semmle.label | out : Table [] : Object | +| Test.java:8182:15:8182:51 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:8182:22:8182:51 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8182:43:8182:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8183:10:8183:37 | synchronizedTable(...) : Table [] : Object | semmle.label | synchronizedTable(...) : Table [] : Object | +| Test.java:8183:35:8183:36 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:8184:9:8184:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:8184:21:8184:23 | out : Table [] : Object | semmle.label | out : Table [] : Object | +| Test.java:8189:15:8189:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8189:22:8189:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8189:37:8189:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8190:10:8190:37 | synchronizedTable(...) : Table [com.google.common.collect.Table.columnKey] : Object | semmle.label | synchronizedTable(...) : Table [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8190:35:8190:36 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8191:9:8191:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:8191:28:8191:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : Table [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8196:15:8196:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8196:22:8196:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8196:31:8196:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8197:10:8197:37 | synchronizedTable(...) : Table [com.google.common.collect.Table.rowKey] : Object | semmle.label | synchronizedTable(...) : Table [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8197:35:8197:36 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8198:9:8198:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:8198:25:8198:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : Table [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8203:15:8203:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8203:22:8203:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8203:37:8203:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8204:10:8204:41 | transformValues(...) : Table [com.google.common.collect.Table.columnKey] : Object | semmle.label | transformValues(...) : Table [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8204:33:8204:34 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8205:9:8205:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:8205:28:8205:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : Table [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8210:15:8210:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8210:22:8210:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8210:31:8210:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8211:10:8211:41 | transformValues(...) : Table [com.google.common.collect.Table.rowKey] : Object | semmle.label | transformValues(...) : Table [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8211:33:8211:34 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8212:9:8212:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:8212:25:8212:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : Table [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8217:15:8217:51 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:8217:22:8217:51 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8217:43:8217:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8218:10:8218:29 | transpose(...) : Table [] : Object | semmle.label | transpose(...) : Table [] : Object | +| Test.java:8218:27:8218:28 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:8219:9:8219:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:8219:21:8219:23 | out : Table [] : Object | semmle.label | out : Table [] : Object | +| Test.java:8224:15:8224:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8224:22:8224:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8224:37:8224:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8225:10:8225:29 | transpose(...) : Table [com.google.common.collect.Table.rowKey] : Object | semmle.label | transpose(...) : Table [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8225:27:8225:28 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8226:9:8226:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:8226:25:8226:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : Table [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8231:15:8231:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8231:22:8231:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8231:31:8231:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8232:10:8232:29 | transpose(...) : Table [com.google.common.collect.Table.columnKey] : Object | semmle.label | transpose(...) : Table [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8232:27:8232:28 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8233:9:8233:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:8233:28:8233:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : Table [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8238:24:8238:69 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:8238:40:8238:69 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8238:61:8238:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8239:10:8239:46 | unmodifiableRowSortedTable(...) : RowSortedTable [] : Object | semmle.label | unmodifiableRowSortedTable(...) : RowSortedTable [] : Object | +| Test.java:8239:44:8239:45 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:8240:9:8240:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:8240:21:8240:23 | out : RowSortedTable [] : Object | semmle.label | out : RowSortedTable [] : Object | +| Test.java:8245:24:8245:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8245:40:8245:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8245:55:8245:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8246:10:8246:46 | unmodifiableRowSortedTable(...) : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | unmodifiableRowSortedTable(...) : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8246:44:8246:45 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8247:9:8247:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:8247:28:8247:30 | out : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8252:24:8252:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8252:40:8252:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8252:49:8252:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8253:10:8253:46 | unmodifiableRowSortedTable(...) : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | unmodifiableRowSortedTable(...) : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8253:44:8253:45 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8254:9:8254:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:8254:25:8254:27 | out : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8259:15:8259:51 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:8259:22:8259:51 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8259:43:8259:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8260:10:8260:37 | unmodifiableTable(...) : Table [] : Object | semmle.label | unmodifiableTable(...) : Table [] : Object | +| Test.java:8260:35:8260:36 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:8261:9:8261:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:8261:21:8261:23 | out : Table [] : Object | semmle.label | out : Table [] : Object | +| Test.java:8266:15:8266:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8266:22:8266:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8266:37:8266:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8267:10:8267:37 | unmodifiableTable(...) : Table [com.google.common.collect.Table.columnKey] : Object | semmle.label | unmodifiableTable(...) : Table [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8267:35:8267:36 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8268:9:8268:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:8268:28:8268:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : Table [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8273:15:8273:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8273:22:8273:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8273:31:8273:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8274:10:8274:37 | unmodifiableTable(...) : Table [com.google.common.collect.Table.rowKey] : Object | semmle.label | unmodifiableTable(...) : Table [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8274:35:8274:36 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8275:9:8275:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:8275:25:8275:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : Table [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8280:24:8280:69 | (...)... : TreeBasedTable [] : Object | semmle.label | (...)... : TreeBasedTable [] : Object | +| Test.java:8280:40:8280:69 | newTable(...) : TreeBasedTable [] : Object | semmle.label | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8280:61:8280:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8281:10:8281:34 | create(...) : TreeBasedTable [] : Object | semmle.label | create(...) : TreeBasedTable [] : Object | +| Test.java:8281:32:8281:33 | in : TreeBasedTable [] : Object | semmle.label | in : TreeBasedTable [] : Object | +| Test.java:8282:9:8282:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:8282:21:8282:23 | out : TreeBasedTable [] : Object | semmle.label | out : TreeBasedTable [] : Object | +| Test.java:8287:24:8287:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8287:40:8287:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8287:55:8287:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8288:10:8288:34 | create(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | create(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8288:32:8288:33 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8289:9:8289:31 | getTable_columnKey(...) | semmle.label | getTable_columnKey(...) | +| Test.java:8289:28:8289:30 | out : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | semmle.label | out : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8294:24:8294:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8294:40:8294:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8294:49:8294:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8295:10:8295:34 | create(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | create(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8295:32:8295:33 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8296:9:8296:28 | getTable_rowKey(...) | semmle.label | getTable_rowKey(...) | +| Test.java:8296:25:8296:27 | out : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | semmle.label | out : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8301:18:8301:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:8301:28:8301:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:8301:49:8301:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8302:10:8302:32 | create(...) : TreeMultimap [] : Object | semmle.label | create(...) : TreeMultimap [] : Object | +| Test.java:8302:30:8302:31 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:8303:9:8303:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:8303:19:8303:21 | out : TreeMultimap [] : Object | semmle.label | out : TreeMultimap [] : Object | +| Test.java:8308:18:8308:63 | (...)... : ImmutableMultimap [] : Object | semmle.label | (...)... : ImmutableMultimap [] : Object | +| Test.java:8308:28:8308:63 | of(...) : ImmutableMultimap [] : Object | semmle.label | of(...) : ImmutableMultimap [] : Object | +| Test.java:8308:55:8308:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8309:10:8309:32 | create(...) : TreeMultimap [] : Object | semmle.label | create(...) : TreeMultimap [] : Object | +| Test.java:8309:30:8309:31 | in : ImmutableMultimap [] : Object | semmle.label | in : ImmutableMultimap [] : Object | +| Test.java:8310:9:8310:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:8310:21:8310:23 | out : TreeMultimap [] : Object | semmle.label | out : TreeMultimap [] : Object | +| Test.java:8315:18:8315:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:8315:28:8315:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:8315:36:8315:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:8316:10:8316:32 | create(...) : TreeMultiset [] : Object | semmle.label | create(...) : TreeMultiset [] : Object | +| Test.java:8316:30:8316:31 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:8317:9:8317:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:8317:20:8317:22 | out : TreeMultiset [] : Object | semmle.label | out : TreeMultiset [] : Object | +subpaths +| Test.java:95:88:95:96 | build(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:95:69:95:97 | getTable_columnKey(...) : Object | +| Test.java:97:66:97:74 | build(...) : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | +| Test.java:97:66:97:74 | build(...) : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | +| Test.java:97:66:97:74 | build(...) : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | +| Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | +| Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | +| Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | +| Test.java:104:82:104:90 | build(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:104:66:104:91 | getTable_rowKey(...) : Object | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:109:62:109:82 | getElement(...) : Object | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:109:62:109:82 | getElement(...) : Object | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:109:62:109:82 | getElement(...) : Object | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:109:62:109:82 | getElement(...) : Object | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:109:62:109:82 | getElement(...) : Object | +| Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:109:62:109:82 | getElement(...) : Object | +| Test.java:115:70:115:78 | build(...) : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | +| Test.java:115:70:115:78 | build(...) : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | +| Test.java:115:70:115:78 | build(...) : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | +| Test.java:116:75:116:83 | build(...) : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | +| Test.java:116:75:116:83 | build(...) : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | +| Test.java:116:75:116:83 | build(...) : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | +| Test.java:117:74:117:82 | build(...) : ImmutableTable [] : Object | Test.java:120:20:120:33 | t : ImmutableTable [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:117:62:117:83 | getMapValue(...) : Object | +| Test.java:134:19:134:21 | out : ArrayListMultimap [] : Object | Test.java:100:18:100:34 | map : ArrayListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:134:9:134:22 | getMapKey(...) | +| Test.java:141:21:141:23 | out : ArrayListMultimap [] : Object | Test.java:119:20:119:36 | map : ArrayListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:141:9:141:24 | getMapValue(...) | +| Test.java:148:25:148:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:148:9:148:28 | getTable_rowKey(...) | +| Test.java:155:28:155:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:155:9:155:31 | getTable_columnKey(...) | +| Test.java:162:21:162:23 | out : ArrayTable [] : Object | Test.java:120:20:120:33 | t : ArrayTable [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:162:9:162:24 | getMapValue(...) | +| Test.java:169:28:169:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:169:9:169:31 | getTable_columnKey(...) | +| Test.java:176:25:176:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:176:9:176:28 | getTable_rowKey(...) | +| Test.java:183:19:183:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:183:9:183:22 | getMapKey(...) | +| Test.java:190:19:190:21 | out : HashBiMap [] : Object | Test.java:99:18:99:29 | map : HashBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:190:9:190:22 | getMapKey(...) | +| Test.java:197:19:197:21 | out : BiMap [] : Object | Test.java:99:18:99:29 | map : BiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:197:9:197:22 | getMapKey(...) | +| Test.java:204:21:204:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:204:9:204:24 | getMapValue(...) | +| Test.java:211:21:211:23 | out : HashBiMap [] : Object | Test.java:118:20:118:31 | map : HashBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:211:9:211:24 | getMapValue(...) | +| Test.java:218:21:218:23 | out : BiMap [] : Object | Test.java:118:20:118:31 | map : BiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:218:9:218:24 | getMapValue(...) | +| Test.java:225:21:225:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:225:9:225:24 | getMapValue(...) | +| Test.java:232:21:232:23 | out : BiMap [] : Object | Test.java:118:20:118:31 | map : BiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:232:9:232:24 | getMapValue(...) | +| Test.java:239:21:239:23 | out : BiMap [] : Object | Test.java:118:20:118:31 | map : BiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:239:9:239:24 | getMapValue(...) | +| Test.java:246:19:246:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:246:9:246:22 | getMapKey(...) | +| Test.java:253:19:253:21 | out : BiMap [] : Object | Test.java:99:18:99:29 | map : BiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:253:9:253:22 | getMapKey(...) | +| Test.java:260:19:260:21 | out : BiMap [] : Object | Test.java:99:18:99:29 | map : BiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:260:9:260:22 | getMapKey(...) | +| Test.java:288:21:288:23 | out : MutableClassToInstanceMap [] : Object | Test.java:118:20:118:31 | map : MutableClassToInstanceMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:288:9:288:24 | getMapValue(...) | +| Test.java:295:21:295:23 | out : ImmutableClassToInstanceMap [] : Object | Test.java:118:20:118:31 | map : ImmutableClassToInstanceMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:295:9:295:24 | getMapValue(...) | +| Test.java:302:21:302:23 | out : ClassToInstanceMap [] : Object | Test.java:118:20:118:31 | map : ClassToInstanceMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:302:9:302:24 | getMapValue(...) | +| Test.java:330:20:330:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:330:9:330:23 | getElement(...) | +| Test.java:337:20:337:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:337:9:337:35 | getElement(...) | +| Test.java:344:20:344:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:344:9:344:35 | getElement(...) | +| Test.java:351:20:351:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:351:9:351:35 | getElement(...) | +| Test.java:358:20:358:22 | out : ConcurrentHashMultiset [] : Object | Test.java:110:19:110:32 | it : ConcurrentHashMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:358:9:358:23 | getElement(...) | +| Test.java:363:43:363:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:363:22:363:51 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:365:21:365:23 | out : HashBasedTable [] : Object | Test.java:120:20:120:33 | t : HashBasedTable [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:365:9:365:24 | getMapValue(...) | +| Test.java:370:37:370:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:370:22:370:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:372:28:372:30 | out : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : HashBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:372:9:372:31 | getTable_columnKey(...) | +| Test.java:377:31:377:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:377:22:377:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:379:25:379:27 | out : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : HashBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:379:9:379:28 | getTable_rowKey(...) | +| Test.java:386:19:386:21 | out : HashBiMap [] : Object | Test.java:99:18:99:29 | map : HashBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:386:9:386:22 | getMapKey(...) | +| Test.java:393:21:393:23 | out : HashBiMap [] : Object | Test.java:118:20:118:31 | map : HashBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:393:9:393:24 | getMapValue(...) | +| Test.java:400:19:400:21 | out : HashMultimap [] : Object | Test.java:100:18:100:34 | map : HashMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:400:9:400:22 | getMapKey(...) | +| Test.java:407:21:407:23 | out : HashMultimap [] : Object | Test.java:119:20:119:36 | map : HashMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:407:9:407:24 | getMapValue(...) | +| Test.java:414:20:414:22 | out : HashMultiset [] : Object | Test.java:110:19:110:32 | it : HashMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:414:9:414:23 | getElement(...) | +| Test.java:421:19:421:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:421:9:421:22 | getMapKey(...) | +| Test.java:428:19:428:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:428:9:428:22 | getMapKey(...) | +| Test.java:435:19:435:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:435:9:435:22 | getMapKey(...) | +| Test.java:442:19:442:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:442:9:442:22 | getMapKey(...) | +| Test.java:449:19:449:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:449:9:449:22 | getMapKey(...) | +| Test.java:456:21:456:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:456:9:456:24 | getMapValue(...) | +| Test.java:463:21:463:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:463:9:463:24 | getMapValue(...) | +| Test.java:470:21:470:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:470:9:470:24 | getMapValue(...) | +| Test.java:477:21:477:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:477:9:477:24 | getMapValue(...) | +| Test.java:484:21:484:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:484:9:484:24 | getMapValue(...) | +| Test.java:491:19:491:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:491:9:491:22 | getMapKey(...) | +| Test.java:498:19:498:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:498:9:498:22 | getMapKey(...) | +| Test.java:505:19:505:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:505:9:505:22 | getMapKey(...) | +| Test.java:512:19:512:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:512:9:512:22 | getMapKey(...) | +| Test.java:519:21:519:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:519:9:519:24 | getMapValue(...) | +| Test.java:526:21:526:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:526:9:526:24 | getMapValue(...) | +| Test.java:533:21:533:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:533:9:533:24 | getMapValue(...) | +| Test.java:540:21:540:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:540:9:540:24 | getMapValue(...) | +| Test.java:547:19:547:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:547:9:547:22 | getMapKey(...) | +| Test.java:554:19:554:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:554:9:554:22 | getMapKey(...) | +| Test.java:561:19:561:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:561:9:561:22 | getMapKey(...) | +| Test.java:568:21:568:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:568:9:568:24 | getMapValue(...) | +| Test.java:575:21:575:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:575:9:575:24 | getMapValue(...) | +| Test.java:582:21:582:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:582:9:582:24 | getMapValue(...) | +| Test.java:589:19:589:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:589:9:589:22 | getMapKey(...) | +| Test.java:596:19:596:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:596:9:596:22 | getMapKey(...) | +| Test.java:603:21:603:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:603:9:603:24 | getMapValue(...) | +| Test.java:610:21:610:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:610:9:610:24 | getMapValue(...) | +| Test.java:617:19:617:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:617:9:617:22 | getMapKey(...) | +| Test.java:624:21:624:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:624:9:624:24 | getMapValue(...) | +| Test.java:631:19:631:21 | out : ImmutableClassToInstanceMap [] : Object | Test.java:99:18:99:29 | map : ImmutableClassToInstanceMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:631:9:631:22 | getMapKey(...) | +| Test.java:638:21:638:23 | out : ImmutableClassToInstanceMap [] : Object | Test.java:118:20:118:31 | map : ImmutableClassToInstanceMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:638:9:638:24 | getMapValue(...) | +| Test.java:645:19:645:21 | out : ImmutableClassToInstanceMap [] : Class | Test.java:99:18:99:29 | map : ImmutableClassToInstanceMap [] : Class | Test.java:99:41:99:70 | next(...) : Class | Test.java:645:9:645:22 | getMapKey(...) | +| Test.java:652:21:652:23 | out : ImmutableClassToInstanceMap [] : Object | Test.java:118:20:118:31 | map : ImmutableClassToInstanceMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:652:9:652:24 | getMapValue(...) | +| Test.java:659:20:659:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:659:9:659:23 | getElement(...) | +| Test.java:666:20:666:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:666:9:666:23 | getElement(...) | +| Test.java:673:20:673:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:673:9:673:23 | getElement(...) | +| Test.java:680:20:680:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:680:9:680:23 | getElement(...) | +| Test.java:687:20:687:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:687:9:687:23 | getElement(...) | +| Test.java:694:20:694:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:694:9:694:23 | getElement(...) | +| Test.java:701:20:701:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:701:9:701:23 | getElement(...) | +| Test.java:708:20:708:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:708:9:708:23 | getElement(...) | +| Test.java:715:20:715:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:715:9:715:23 | getElement(...) | +| Test.java:722:20:722:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:722:9:722:23 | getElement(...) | +| Test.java:729:20:729:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:729:9:729:23 | getElement(...) | +| Test.java:736:20:736:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:736:9:736:23 | getElement(...) | +| Test.java:827:20:827:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:827:9:827:23 | getElement(...) | +| Test.java:834:20:834:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:834:9:834:23 | getElement(...) | +| Test.java:841:20:841:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:841:9:841:23 | getElement(...) | +| Test.java:848:20:848:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:848:9:848:23 | getElement(...) | +| Test.java:855:20:855:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:855:9:855:23 | getElement(...) | +| Test.java:862:20:862:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:862:9:862:23 | getElement(...) | +| Test.java:869:20:869:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:869:9:869:23 | getElement(...) | +| Test.java:876:20:876:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:876:9:876:23 | getElement(...) | +| Test.java:883:20:883:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:883:9:883:23 | getElement(...) | +| Test.java:890:20:890:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:890:9:890:23 | getElement(...) | +| Test.java:897:20:897:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:897:9:897:23 | getElement(...) | +| Test.java:904:20:904:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:904:9:904:23 | getElement(...) | +| Test.java:995:20:995:22 | out : ImmutableSortedSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:995:9:995:23 | getElement(...) | +| Test.java:1002:20:1002:22 | out : ImmutableSortedMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1002:9:1002:23 | getElement(...) | +| Test.java:1009:20:1009:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1009:9:1009:23 | getElement(...) | +| Test.java:1016:20:1016:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1016:9:1016:23 | getElement(...) | +| Test.java:1023:20:1023:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1023:9:1023:23 | getElement(...) | +| Test.java:1030:20:1030:22 | out : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1030:9:1030:23 | getElement(...) | +| Test.java:1037:20:1037:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1037:9:1037:23 | getElement(...) | +| Test.java:1044:20:1044:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1044:9:1044:23 | getElement(...) | +| Test.java:1051:20:1051:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1051:9:1051:23 | getElement(...) | +| Test.java:1058:20:1058:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1058:9:1058:23 | getElement(...) | +| Test.java:1065:20:1065:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1065:9:1065:23 | getElement(...) | +| Test.java:1072:20:1072:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1072:9:1072:23 | getElement(...) | +| Test.java:1079:20:1079:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1079:9:1079:23 | getElement(...) | +| Test.java:1086:20:1086:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1086:9:1086:23 | getElement(...) | +| Test.java:1093:20:1093:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1093:9:1093:23 | getElement(...) | +| Test.java:1100:20:1100:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1100:9:1100:23 | getElement(...) | +| Test.java:1107:20:1107:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1107:9:1107:23 | getElement(...) | +| Test.java:1114:20:1114:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1114:9:1114:23 | getElement(...) | +| Test.java:1121:20:1121:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1121:9:1121:23 | getElement(...) | +| Test.java:1128:20:1128:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1128:9:1128:23 | getElement(...) | +| Test.java:1135:20:1135:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1135:9:1135:23 | getElement(...) | +| Test.java:1142:20:1142:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1142:9:1142:23 | getElement(...) | +| Test.java:1149:20:1149:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1149:9:1149:23 | getElement(...) | +| Test.java:1156:20:1156:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1156:9:1156:23 | getElement(...) | +| Test.java:1163:20:1163:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1163:9:1163:23 | getElement(...) | +| Test.java:1170:20:1170:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1170:9:1170:23 | getElement(...) | +| Test.java:1177:20:1177:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1177:9:1177:23 | getElement(...) | +| Test.java:1184:20:1184:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1184:9:1184:23 | getElement(...) | +| Test.java:1191:20:1191:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1191:9:1191:23 | getElement(...) | +| Test.java:1198:20:1198:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1198:9:1198:23 | getElement(...) | +| Test.java:1205:20:1205:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1205:9:1205:23 | getElement(...) | +| Test.java:1212:20:1212:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1212:9:1212:23 | getElement(...) | +| Test.java:1219:20:1219:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1219:9:1219:23 | getElement(...) | +| Test.java:1226:20:1226:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1226:9:1226:23 | getElement(...) | +| Test.java:1233:20:1233:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1233:9:1233:23 | getElement(...) | +| Test.java:1240:20:1240:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1240:9:1240:23 | getElement(...) | +| Test.java:1247:20:1247:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1247:9:1247:23 | getElement(...) | +| Test.java:1254:20:1254:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1254:9:1254:23 | getElement(...) | +| Test.java:1261:20:1261:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1261:9:1261:23 | getElement(...) | +| Test.java:1268:20:1268:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1268:9:1268:23 | getElement(...) | +| Test.java:1275:20:1275:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1275:9:1275:23 | getElement(...) | +| Test.java:1282:20:1282:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1282:9:1282:23 | getElement(...) | +| Test.java:1289:20:1289:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1289:9:1289:23 | getElement(...) | +| Test.java:1296:20:1296:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1296:9:1296:23 | getElement(...) | +| Test.java:1303:20:1303:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1303:9:1303:23 | getElement(...) | +| Test.java:1310:20:1310:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1310:9:1310:23 | getElement(...) | +| Test.java:1317:20:1317:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1317:9:1317:23 | getElement(...) | +| Test.java:1324:20:1324:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1324:9:1324:23 | getElement(...) | +| Test.java:1331:20:1331:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1331:9:1331:23 | getElement(...) | +| Test.java:1338:20:1338:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1338:9:1338:23 | getElement(...) | +| Test.java:1345:20:1345:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1345:9:1345:23 | getElement(...) | +| Test.java:1352:20:1352:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1352:9:1352:23 | getElement(...) | +| Test.java:1359:20:1359:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1359:9:1359:23 | getElement(...) | +| Test.java:1366:20:1366:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1366:9:1366:23 | getElement(...) | +| Test.java:1373:20:1373:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1373:9:1373:23 | getElement(...) | +| Test.java:1380:20:1380:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1380:9:1380:23 | getElement(...) | +| Test.java:1387:20:1387:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1387:9:1387:23 | getElement(...) | +| Test.java:1394:20:1394:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1394:9:1394:23 | getElement(...) | +| Test.java:1401:20:1401:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1401:9:1401:23 | getElement(...) | +| Test.java:1408:20:1408:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1408:9:1408:23 | getElement(...) | +| Test.java:1415:20:1415:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1415:9:1415:23 | getElement(...) | +| Test.java:1422:20:1422:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1422:9:1422:23 | getElement(...) | +| Test.java:1429:20:1429:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1429:9:1429:23 | getElement(...) | +| Test.java:1436:20:1436:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1436:9:1436:23 | getElement(...) | +| Test.java:1443:20:1443:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1443:9:1443:23 | getElement(...) | +| Test.java:1450:20:1450:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1450:9:1450:23 | getElement(...) | +| Test.java:1457:20:1457:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1457:9:1457:23 | getElement(...) | +| Test.java:1464:20:1464:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1464:9:1464:23 | getElement(...) | +| Test.java:1471:20:1471:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1471:9:1471:23 | getElement(...) | +| Test.java:1478:20:1478:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1478:9:1478:23 | getElement(...) | +| Test.java:1485:20:1485:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1485:9:1485:23 | getElement(...) | +| Test.java:1492:20:1492:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1492:9:1492:23 | getElement(...) | +| Test.java:1499:20:1499:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1499:9:1499:23 | getElement(...) | +| Test.java:1506:20:1506:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1506:9:1506:23 | getElement(...) | +| Test.java:1513:20:1513:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1513:9:1513:23 | getElement(...) | +| Test.java:1520:20:1520:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1520:9:1520:23 | getElement(...) | +| Test.java:1527:20:1527:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1527:9:1527:23 | getElement(...) | +| Test.java:1534:20:1534:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1534:9:1534:23 | getElement(...) | +| Test.java:1541:20:1541:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1541:9:1541:23 | getElement(...) | +| Test.java:1548:20:1548:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1548:9:1548:23 | getElement(...) | +| Test.java:1555:20:1555:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1555:9:1555:23 | getElement(...) | +| Test.java:1562:20:1562:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1562:9:1562:23 | getElement(...) | +| Test.java:1569:20:1569:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1569:9:1569:23 | getElement(...) | +| Test.java:1576:20:1576:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1576:9:1576:23 | getElement(...) | +| Test.java:1583:20:1583:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1583:9:1583:23 | getElement(...) | +| Test.java:1590:20:1590:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1590:9:1590:23 | getElement(...) | +| Test.java:1597:20:1597:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1597:9:1597:23 | getElement(...) | +| Test.java:1604:20:1604:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1604:9:1604:23 | getElement(...) | +| Test.java:1611:20:1611:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1611:9:1611:23 | getElement(...) | +| Test.java:1618:20:1618:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1618:9:1618:23 | getElement(...) | +| Test.java:1625:20:1625:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1625:9:1625:23 | getElement(...) | +| Test.java:1632:20:1632:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1632:9:1632:23 | getElement(...) | +| Test.java:1639:20:1639:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1639:9:1639:23 | getElement(...) | +| Test.java:1646:20:1646:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1646:9:1646:23 | getElement(...) | +| Test.java:1653:20:1653:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1653:9:1653:23 | getElement(...) | +| Test.java:1660:20:1660:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:1660:9:1660:23 | getElement(...) | +| Test.java:1667:19:1667:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:1667:9:1667:22 | getMapKey(...) | +| Test.java:1674:19:1674:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:1674:9:1674:22 | getMapKey(...) | +| Test.java:1681:19:1681:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:1681:9:1681:22 | getMapKey(...) | +| Test.java:1688:19:1688:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:1688:9:1688:22 | getMapKey(...) | +| Test.java:1695:19:1695:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:1695:9:1695:22 | getMapKey(...) | +| Test.java:1702:21:1702:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:1702:9:1702:24 | getMapValue(...) | +| Test.java:1709:21:1709:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:1709:9:1709:24 | getMapValue(...) | +| Test.java:1716:21:1716:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:1716:9:1716:24 | getMapValue(...) | +| Test.java:1723:21:1723:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:1723:9:1723:24 | getMapValue(...) | +| Test.java:1730:21:1730:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:1730:9:1730:24 | getMapValue(...) | +| Test.java:1737:19:1737:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:1737:9:1737:22 | getMapKey(...) | +| Test.java:1744:19:1744:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:1744:9:1744:22 | getMapKey(...) | +| Test.java:1751:19:1751:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:1751:9:1751:22 | getMapKey(...) | +| Test.java:1758:19:1758:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:1758:9:1758:22 | getMapKey(...) | +| Test.java:1765:21:1765:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:1765:9:1765:24 | getMapValue(...) | +| Test.java:1772:21:1772:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:1772:9:1772:24 | getMapValue(...) | +| Test.java:1779:21:1779:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:1779:9:1779:24 | getMapValue(...) | +| Test.java:1786:21:1786:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:1786:9:1786:24 | getMapValue(...) | +| Test.java:1793:19:1793:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:1793:9:1793:22 | getMapKey(...) | +| Test.java:1800:19:1800:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:1800:9:1800:22 | getMapKey(...) | +| Test.java:1807:19:1807:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:1807:9:1807:22 | getMapKey(...) | +| Test.java:1814:21:1814:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:1814:9:1814:24 | getMapValue(...) | +| Test.java:1821:21:1821:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:1821:9:1821:24 | getMapValue(...) | +| Test.java:1828:21:1828:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:1828:9:1828:24 | getMapValue(...) | +| Test.java:1835:19:1835:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:1835:9:1835:22 | getMapKey(...) | +| Test.java:1842:19:1842:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:1842:9:1842:22 | getMapKey(...) | +| Test.java:1849:21:1849:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:1849:9:1849:24 | getMapValue(...) | +| Test.java:1856:21:1856:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:1856:9:1856:24 | getMapValue(...) | +| Test.java:1863:19:1863:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:1863:9:1863:22 | getMapKey(...) | +| Test.java:1870:21:1870:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:1870:9:1870:24 | getMapValue(...) | +| Test.java:1877:19:1877:21 | out : ImmutableSortedMap [] : Object | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:1877:9:1877:22 | getMapKey(...) | +| Test.java:1884:19:1884:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:1884:9:1884:22 | getMapKey(...) | +| Test.java:1891:19:1891:21 | out : ImmutableBiMap [] : Object | Test.java:99:18:99:29 | map : ImmutableBiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:1891:9:1891:22 | getMapKey(...) | +| Test.java:1898:21:1898:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:1898:9:1898:24 | getMapValue(...) | +| Test.java:1905:21:1905:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:1905:9:1905:24 | getMapValue(...) | +| Test.java:1912:21:1912:23 | out : ImmutableBiMap [] : Object | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:1912:9:1912:24 | getMapValue(...) | +| Test.java:1938:49:1938:56 | source(...) : Object | Test.java:101:40:101:44 | key : Object | Test.java:101:56:101:101 | next(...) : Entry [] : Object | Test.java:1938:30:1938:57 | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:1940:19:1940:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | Test.java:1940:9:1940:22 | getMapKey(...) | +| Test.java:1945:49:1945:56 | source(...) : Object | Test.java:101:40:101:44 | key : Object | Test.java:101:56:101:101 | next(...) : Entry [] : Object | Test.java:1945:30:1945:57 | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:1947:19:1947:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | Test.java:1947:9:1947:22 | getMapKey(...) | +| Test.java:1952:49:1952:56 | source(...) : Object | Test.java:101:40:101:44 | key : Object | Test.java:101:56:101:101 | next(...) : Entry [] : Object | Test.java:1952:30:1952:57 | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:1954:19:1954:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | Test.java:1954:9:1954:22 | getMapKey(...) | +| Test.java:1959:51:1959:58 | source(...) : Object | Test.java:113:42:113:48 | value : Object | Test.java:113:60:113:107 | next(...) : Entry [] : Object | Test.java:1959:30:1959:59 | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:1961:21:1961:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | Test.java:1961:9:1961:24 | getMapValue(...) | +| Test.java:1966:51:1966:58 | source(...) : Object | Test.java:113:42:113:48 | value : Object | Test.java:113:60:113:107 | next(...) : Entry [] : Object | Test.java:1966:30:1966:59 | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:1968:21:1968:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | Test.java:1968:9:1968:24 | getMapValue(...) | +| Test.java:1973:51:1973:58 | source(...) : Object | Test.java:113:42:113:48 | value : Object | Test.java:113:60:113:107 | next(...) : Entry [] : Object | Test.java:1973:30:1973:59 | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:1975:21:1975:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | Test.java:1975:9:1975:24 | getMapValue(...) | +| Test.java:1982:19:1982:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | Test.java:1982:9:1982:22 | getMapKey(...) | +| Test.java:1989:19:1989:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | Test.java:1989:9:1989:22 | getMapKey(...) | +| Test.java:1996:19:1996:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | Test.java:1996:9:1996:22 | getMapKey(...) | +| Test.java:2003:21:2003:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | Test.java:2003:9:2003:24 | getMapValue(...) | +| Test.java:2010:21:2010:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | Test.java:2010:9:2010:24 | getMapValue(...) | +| Test.java:2017:21:2017:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | Test.java:2017:9:2017:24 | getMapValue(...) | +| Test.java:2064:55:2064:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | Test.java:101:56:101:101 | next(...) : Entry [] : Object | Test.java:2064:36:2064:63 | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2066:19:2066:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | Test.java:2066:9:2066:22 | getMapKey(...) | +| Test.java:2071:55:2071:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | Test.java:101:56:101:101 | next(...) : Entry [] : Object | Test.java:2071:36:2071:63 | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2073:19:2073:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | Test.java:2073:9:2073:22 | getMapKey(...) | +| Test.java:2078:55:2078:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | Test.java:101:56:101:101 | next(...) : Entry [] : Object | Test.java:2078:36:2078:63 | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2080:19:2080:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | Test.java:2080:9:2080:22 | getMapKey(...) | +| Test.java:2085:57:2085:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | Test.java:113:60:113:107 | next(...) : Entry [] : Object | Test.java:2085:36:2085:65 | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2087:21:2087:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | Test.java:2087:9:2087:24 | getMapValue(...) | +| Test.java:2092:57:2092:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | Test.java:113:60:113:107 | next(...) : Entry [] : Object | Test.java:2092:36:2092:65 | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2094:21:2094:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | Test.java:2094:9:2094:24 | getMapValue(...) | +| Test.java:2099:57:2099:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | Test.java:113:60:113:107 | next(...) : Entry [] : Object | Test.java:2099:36:2099:65 | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2101:21:2101:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | Test.java:2101:9:2101:24 | getMapValue(...) | +| Test.java:2108:19:2108:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | Test.java:2108:9:2108:22 | getMapKey(...) | +| Test.java:2115:19:2115:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | Test.java:2115:9:2115:22 | getMapKey(...) | +| Test.java:2122:19:2122:21 | out : Builder [] : Object | Test.java:97:18:97:44 | b : Builder [] : Object | Test.java:97:56:97:75 | getMapKey(...) : Object | Test.java:2122:9:2122:22 | getMapKey(...) | +| Test.java:2129:21:2129:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | Test.java:2129:9:2129:24 | getMapValue(...) | +| Test.java:2136:21:2136:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | Test.java:2136:9:2136:24 | getMapValue(...) | +| Test.java:2143:21:2143:23 | out : Builder [] : Object | Test.java:115:20:115:46 | b : Builder [] : Object | Test.java:115:58:115:79 | getMapValue(...) : Object | Test.java:2143:9:2143:24 | getMapValue(...) | +| Test.java:2190:55:2190:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | Test.java:101:56:101:101 | next(...) : Entry [] : Object | Test.java:2190:36:2190:63 | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2192:19:2192:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:2192:9:2192:22 | getMapKey(...) | +| Test.java:2197:57:2197:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | Test.java:113:60:113:107 | next(...) : Entry [] : Object | Test.java:2197:36:2197:65 | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2199:21:2199:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:2199:9:2199:24 | getMapValue(...) | +| Test.java:2206:19:2206:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:2206:9:2206:22 | getMapKey(...) | +| Test.java:2213:21:2213:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:2213:9:2213:24 | getMapValue(...) | +| Test.java:2220:19:2220:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:2220:9:2220:22 | getMapKey(...) | +| Test.java:2227:19:2227:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:2227:9:2227:22 | getMapKey(...) | +| Test.java:2234:19:2234:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:2234:9:2234:22 | getMapKey(...) | +| Test.java:2241:19:2241:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:2241:9:2241:22 | getMapKey(...) | +| Test.java:2248:19:2248:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:2248:9:2248:22 | getMapKey(...) | +| Test.java:2255:21:2255:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:2255:9:2255:24 | getMapValue(...) | +| Test.java:2262:21:2262:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:2262:9:2262:24 | getMapValue(...) | +| Test.java:2269:21:2269:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:2269:9:2269:24 | getMapValue(...) | +| Test.java:2276:21:2276:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:2276:9:2276:24 | getMapValue(...) | +| Test.java:2283:21:2283:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:2283:9:2283:24 | getMapValue(...) | +| Test.java:2290:19:2290:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:2290:9:2290:22 | getMapKey(...) | +| Test.java:2297:19:2297:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:2297:9:2297:22 | getMapKey(...) | +| Test.java:2304:19:2304:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:2304:9:2304:22 | getMapKey(...) | +| Test.java:2311:19:2311:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:2311:9:2311:22 | getMapKey(...) | +| Test.java:2318:21:2318:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:2318:9:2318:24 | getMapValue(...) | +| Test.java:2325:21:2325:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:2325:9:2325:24 | getMapValue(...) | +| Test.java:2332:21:2332:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:2332:9:2332:24 | getMapValue(...) | +| Test.java:2339:21:2339:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:2339:9:2339:24 | getMapValue(...) | +| Test.java:2346:19:2346:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:2346:9:2346:22 | getMapKey(...) | +| Test.java:2353:19:2353:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:2353:9:2353:22 | getMapKey(...) | +| Test.java:2360:19:2360:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:2360:9:2360:22 | getMapKey(...) | +| Test.java:2367:21:2367:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:2367:9:2367:24 | getMapValue(...) | +| Test.java:2374:21:2374:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:2374:9:2374:24 | getMapValue(...) | +| Test.java:2381:21:2381:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:2381:9:2381:24 | getMapValue(...) | +| Test.java:2388:19:2388:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:2388:9:2388:22 | getMapKey(...) | +| Test.java:2395:19:2395:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:2395:9:2395:22 | getMapKey(...) | +| Test.java:2402:21:2402:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:2402:9:2402:24 | getMapValue(...) | +| Test.java:2409:21:2409:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:2409:9:2409:24 | getMapValue(...) | +| Test.java:2416:19:2416:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:2416:9:2416:22 | getMapKey(...) | +| Test.java:2423:21:2423:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:2423:9:2423:24 | getMapValue(...) | +| Test.java:2430:19:2430:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:2430:9:2430:22 | getMapKey(...) | +| Test.java:2437:19:2437:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:2437:9:2437:22 | getMapKey(...) | +| Test.java:2444:19:2444:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:2444:9:2444:22 | getMapKey(...) | +| Test.java:2451:21:2451:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:2451:9:2451:24 | getMapValue(...) | +| Test.java:2458:21:2458:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:2458:9:2458:24 | getMapValue(...) | +| Test.java:2465:21:2465:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:2465:9:2465:24 | getMapValue(...) | +| Test.java:2512:49:2512:56 | source(...) : Object | Test.java:101:40:101:44 | key : Object | Test.java:101:56:101:101 | next(...) : Entry [] : Object | Test.java:2512:30:2512:57 | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2514:19:2514:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2514:9:2514:22 | getMapKey(...) | +| Test.java:2519:49:2519:56 | source(...) : Object | Test.java:101:40:101:44 | key : Object | Test.java:101:56:101:101 | next(...) : Entry [] : Object | Test.java:2519:30:2519:57 | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2521:19:2521:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2521:9:2521:22 | getMapKey(...) | +| Test.java:2526:49:2526:56 | source(...) : Object | Test.java:101:40:101:44 | key : Object | Test.java:101:56:101:101 | next(...) : Entry [] : Object | Test.java:2526:30:2526:57 | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2528:19:2528:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2528:9:2528:22 | getMapKey(...) | +| Test.java:2533:51:2533:58 | source(...) : Object | Test.java:113:42:113:48 | value : Object | Test.java:113:60:113:107 | next(...) : Entry [] : Object | Test.java:2533:30:2533:59 | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2535:21:2535:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2535:9:2535:24 | getMapValue(...) | +| Test.java:2540:51:2540:58 | source(...) : Object | Test.java:113:42:113:48 | value : Object | Test.java:113:60:113:107 | next(...) : Entry [] : Object | Test.java:2540:30:2540:59 | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2542:21:2542:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2542:9:2542:24 | getMapValue(...) | +| Test.java:2547:51:2547:58 | source(...) : Object | Test.java:113:42:113:48 | value : Object | Test.java:113:60:113:107 | next(...) : Entry [] : Object | Test.java:2547:30:2547:59 | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2549:21:2549:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2549:9:2549:24 | getMapValue(...) | +| Test.java:2556:19:2556:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2556:9:2556:22 | getMapKey(...) | +| Test.java:2563:19:2563:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2563:9:2563:22 | getMapKey(...) | +| Test.java:2570:19:2570:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2570:9:2570:22 | getMapKey(...) | +| Test.java:2577:21:2577:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2577:9:2577:24 | getMapValue(...) | +| Test.java:2584:21:2584:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2584:9:2584:24 | getMapValue(...) | +| Test.java:2591:21:2591:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2591:9:2591:24 | getMapValue(...) | +| Test.java:2638:55:2638:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | Test.java:101:56:101:101 | next(...) : Entry [] : Object | Test.java:2638:36:2638:63 | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2640:19:2640:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2640:9:2640:22 | getMapKey(...) | +| Test.java:2645:55:2645:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | Test.java:101:56:101:101 | next(...) : Entry [] : Object | Test.java:2645:36:2645:63 | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2647:19:2647:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2647:9:2647:22 | getMapKey(...) | +| Test.java:2652:55:2652:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | Test.java:101:56:101:101 | next(...) : Entry [] : Object | Test.java:2652:36:2652:63 | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2654:19:2654:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2654:9:2654:22 | getMapKey(...) | +| Test.java:2659:57:2659:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | Test.java:113:60:113:107 | next(...) : Entry [] : Object | Test.java:2659:36:2659:65 | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2661:21:2661:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2661:9:2661:24 | getMapValue(...) | +| Test.java:2666:57:2666:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | Test.java:113:60:113:107 | next(...) : Entry [] : Object | Test.java:2666:36:2666:65 | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2668:21:2668:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2668:9:2668:24 | getMapValue(...) | +| Test.java:2673:57:2673:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | Test.java:113:60:113:107 | next(...) : Entry [] : Object | Test.java:2673:36:2673:65 | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2675:21:2675:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2675:9:2675:24 | getMapValue(...) | +| Test.java:2682:19:2682:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2682:9:2682:22 | getMapKey(...) | +| Test.java:2689:19:2689:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2689:9:2689:22 | getMapKey(...) | +| Test.java:2696:19:2696:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2696:9:2696:22 | getMapKey(...) | +| Test.java:2703:21:2703:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2703:9:2703:24 | getMapValue(...) | +| Test.java:2710:21:2710:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2710:9:2710:24 | getMapValue(...) | +| Test.java:2717:21:2717:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2717:9:2717:24 | getMapValue(...) | +| Test.java:2724:19:2724:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2724:9:2724:22 | getMapKey(...) | +| Test.java:2731:19:2731:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2731:9:2731:22 | getMapKey(...) | +| Test.java:2738:19:2738:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2738:9:2738:22 | getMapKey(...) | +| Test.java:2745:21:2745:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2745:9:2745:24 | getMapValue(...) | +| Test.java:2752:21:2752:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2752:9:2752:24 | getMapValue(...) | +| Test.java:2759:21:2759:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2759:9:2759:24 | getMapValue(...) | +| Test.java:2766:19:2766:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2766:9:2766:22 | getMapKey(...) | +| Test.java:2773:19:2773:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2773:9:2773:22 | getMapKey(...) | +| Test.java:2780:19:2780:21 | out : Builder [] : Object | Test.java:98:18:98:49 | b : Builder [] : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | Test.java:2780:9:2780:22 | getMapKey(...) | +| Test.java:2787:21:2787:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2787:9:2787:24 | getMapValue(...) | +| Test.java:2794:21:2794:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2794:9:2794:24 | getMapValue(...) | +| Test.java:2801:21:2801:23 | out : Builder [] : Object | Test.java:116:20:116:51 | b : Builder [] : Object | Test.java:116:63:116:84 | getMapValue(...) : Object | Test.java:2801:9:2801:24 | getMapValue(...) | +| Test.java:2890:55:2890:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | Test.java:101:56:101:101 | next(...) : Entry [] : Object | Test.java:2890:36:2890:63 | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:2892:19:2892:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:2892:9:2892:22 | getMapKey(...) | +| Test.java:2897:57:2897:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | Test.java:113:60:113:107 | next(...) : Entry [] : Object | Test.java:2897:36:2897:65 | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:2899:21:2899:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:2899:9:2899:24 | getMapValue(...) | +| Test.java:2906:19:2906:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:2906:9:2906:22 | getMapKey(...) | +| Test.java:2913:21:2913:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:2913:9:2913:24 | getMapValue(...) | +| Test.java:2920:21:2920:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:2920:9:2920:24 | getMapValue(...) | +| Test.java:2927:21:2927:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:2927:9:2927:24 | getMapValue(...) | +| Test.java:2934:21:2934:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:2934:9:2934:24 | getMapValue(...) | +| Test.java:2941:19:2941:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:2941:9:2941:22 | getMapKey(...) | +| Test.java:2948:19:2948:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:2948:9:2948:22 | getMapKey(...) | +| Test.java:2955:19:2955:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:2955:9:2955:22 | getMapKey(...) | +| Test.java:2962:19:2962:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:2962:9:2962:22 | getMapKey(...) | +| Test.java:2969:19:2969:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:2969:9:2969:22 | getMapKey(...) | +| Test.java:2976:19:2976:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:2976:9:2976:22 | getMapKey(...) | +| Test.java:2983:19:2983:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:2983:9:2983:22 | getMapKey(...) | +| Test.java:2990:19:2990:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:2990:9:2990:22 | getMapKey(...) | +| Test.java:2997:21:2997:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:2997:9:2997:24 | getMapValue(...) | +| Test.java:3004:21:3004:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3004:9:3004:24 | getMapValue(...) | +| Test.java:3011:21:3011:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3011:9:3011:24 | getMapValue(...) | +| Test.java:3018:21:3018:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3018:9:3018:24 | getMapValue(...) | +| Test.java:3025:21:3025:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3025:9:3025:24 | getMapValue(...) | +| Test.java:3032:19:3032:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3032:9:3032:22 | getMapKey(...) | +| Test.java:3039:19:3039:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3039:9:3039:22 | getMapKey(...) | +| Test.java:3046:19:3046:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3046:9:3046:22 | getMapKey(...) | +| Test.java:3053:19:3053:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3053:9:3053:22 | getMapKey(...) | +| Test.java:3060:21:3060:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3060:9:3060:24 | getMapValue(...) | +| Test.java:3067:21:3067:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3067:9:3067:24 | getMapValue(...) | +| Test.java:3074:21:3074:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3074:9:3074:24 | getMapValue(...) | +| Test.java:3081:21:3081:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3081:9:3081:24 | getMapValue(...) | +| Test.java:3088:19:3088:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3088:9:3088:22 | getMapKey(...) | +| Test.java:3095:19:3095:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3095:9:3095:22 | getMapKey(...) | +| Test.java:3102:19:3102:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3102:9:3102:22 | getMapKey(...) | +| Test.java:3109:21:3109:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3109:9:3109:24 | getMapValue(...) | +| Test.java:3116:21:3116:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3116:9:3116:24 | getMapValue(...) | +| Test.java:3123:21:3123:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3123:9:3123:24 | getMapValue(...) | +| Test.java:3130:19:3130:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3130:9:3130:22 | getMapKey(...) | +| Test.java:3137:19:3137:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3137:9:3137:22 | getMapKey(...) | +| Test.java:3144:21:3144:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3144:9:3144:24 | getMapValue(...) | +| Test.java:3151:21:3151:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3151:9:3151:24 | getMapValue(...) | +| Test.java:3158:19:3158:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3158:9:3158:22 | getMapKey(...) | +| Test.java:3165:21:3165:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3165:9:3165:24 | getMapValue(...) | +| Test.java:3186:20:3186:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:3186:9:3186:23 | getElement(...) | +| Test.java:3193:20:3193:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:3193:9:3193:23 | getElement(...) | +| Test.java:3200:20:3200:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:3200:9:3200:23 | getElement(...) | +| Test.java:3207:20:3207:22 | out : Builder [] : Object | Test.java:109:19:109:50 | b : Builder [] : Object | Test.java:109:62:109:82 | getElement(...) : Object | Test.java:3207:9:3207:23 | getElement(...) | +| Test.java:3214:20:3214:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3214:9:3214:23 | getElement(...) | +| Test.java:3221:20:3221:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3221:9:3221:23 | getElement(...) | +| Test.java:3228:20:3228:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3228:9:3228:23 | getElement(...) | +| Test.java:3235:20:3235:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3235:9:3235:23 | getElement(...) | +| Test.java:3242:20:3242:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3242:9:3242:23 | getElement(...) | +| Test.java:3249:20:3249:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3249:9:3249:23 | getElement(...) | +| Test.java:3256:20:3256:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3256:9:3256:23 | getElement(...) | +| Test.java:3263:20:3263:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3263:9:3263:23 | getElement(...) | +| Test.java:3270:20:3270:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3270:9:3270:23 | getElement(...) | +| Test.java:3277:20:3277:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3277:9:3277:23 | getElement(...) | +| Test.java:3284:20:3284:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3284:9:3284:23 | getElement(...) | +| Test.java:3291:20:3291:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3291:9:3291:23 | getElement(...) | +| Test.java:3298:20:3298:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3298:9:3298:23 | getElement(...) | +| Test.java:3305:20:3305:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3305:9:3305:23 | getElement(...) | +| Test.java:3312:20:3312:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3312:9:3312:23 | getElement(...) | +| Test.java:3319:20:3319:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3319:9:3319:23 | getElement(...) | +| Test.java:3326:20:3326:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3326:9:3326:23 | getElement(...) | +| Test.java:3333:20:3333:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3333:9:3333:23 | getElement(...) | +| Test.java:3340:20:3340:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3340:9:3340:23 | getElement(...) | +| Test.java:3347:20:3347:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3347:9:3347:23 | getElement(...) | +| Test.java:3354:20:3354:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3354:9:3354:23 | getElement(...) | +| Test.java:3361:20:3361:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3361:9:3361:23 | getElement(...) | +| Test.java:3368:20:3368:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3368:9:3368:23 | getElement(...) | +| Test.java:3375:20:3375:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3375:9:3375:23 | getElement(...) | +| Test.java:3382:20:3382:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3382:9:3382:23 | getElement(...) | +| Test.java:3389:20:3389:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3389:9:3389:23 | getElement(...) | +| Test.java:3396:20:3396:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3396:9:3396:23 | getElement(...) | +| Test.java:3403:20:3403:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3403:9:3403:23 | getElement(...) | +| Test.java:3410:20:3410:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3410:9:3410:23 | getElement(...) | +| Test.java:3417:20:3417:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3417:9:3417:23 | getElement(...) | +| Test.java:3424:20:3424:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3424:9:3424:23 | getElement(...) | +| Test.java:3431:20:3431:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3431:9:3431:23 | getElement(...) | +| Test.java:3438:20:3438:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3438:9:3438:23 | getElement(...) | +| Test.java:3445:20:3445:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3445:9:3445:23 | getElement(...) | +| Test.java:3452:20:3452:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3452:9:3452:23 | getElement(...) | +| Test.java:3459:20:3459:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3459:9:3459:23 | getElement(...) | +| Test.java:3466:20:3466:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3466:9:3466:23 | getElement(...) | +| Test.java:3473:20:3473:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3473:9:3473:23 | getElement(...) | +| Test.java:3480:20:3480:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3480:9:3480:23 | getElement(...) | +| Test.java:3487:20:3487:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3487:9:3487:23 | getElement(...) | +| Test.java:3494:20:3494:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3494:9:3494:23 | getElement(...) | +| Test.java:3501:20:3501:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3501:9:3501:23 | getElement(...) | +| Test.java:3508:20:3508:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3508:9:3508:23 | getElement(...) | +| Test.java:3515:20:3515:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3515:9:3515:23 | getElement(...) | +| Test.java:3522:20:3522:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3522:9:3522:23 | getElement(...) | +| Test.java:3529:20:3529:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3529:9:3529:23 | getElement(...) | +| Test.java:3536:20:3536:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3536:9:3536:23 | getElement(...) | +| Test.java:3543:20:3543:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3543:9:3543:23 | getElement(...) | +| Test.java:3550:20:3550:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3550:9:3550:23 | getElement(...) | +| Test.java:3557:20:3557:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3557:9:3557:23 | getElement(...) | +| Test.java:3564:20:3564:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:3564:9:3564:23 | getElement(...) | +| Test.java:3571:19:3571:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3571:9:3571:22 | getMapKey(...) | +| Test.java:3578:19:3578:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3578:9:3578:22 | getMapKey(...) | +| Test.java:3585:19:3585:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3585:9:3585:22 | getMapKey(...) | +| Test.java:3592:19:3592:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3592:9:3592:22 | getMapKey(...) | +| Test.java:3599:19:3599:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3599:9:3599:22 | getMapKey(...) | +| Test.java:3606:21:3606:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3606:9:3606:24 | getMapValue(...) | +| Test.java:3613:21:3613:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3613:9:3613:24 | getMapValue(...) | +| Test.java:3620:21:3620:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3620:9:3620:24 | getMapValue(...) | +| Test.java:3627:21:3627:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3627:9:3627:24 | getMapValue(...) | +| Test.java:3634:21:3634:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3634:9:3634:24 | getMapValue(...) | +| Test.java:3641:19:3641:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3641:9:3641:22 | getMapKey(...) | +| Test.java:3648:19:3648:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3648:9:3648:22 | getMapKey(...) | +| Test.java:3655:19:3655:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3655:9:3655:22 | getMapKey(...) | +| Test.java:3662:19:3662:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3662:9:3662:22 | getMapKey(...) | +| Test.java:3669:21:3669:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3669:9:3669:24 | getMapValue(...) | +| Test.java:3676:21:3676:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3676:9:3676:24 | getMapValue(...) | +| Test.java:3683:21:3683:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3683:9:3683:24 | getMapValue(...) | +| Test.java:3690:21:3690:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3690:9:3690:24 | getMapValue(...) | +| Test.java:3697:19:3697:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3697:9:3697:22 | getMapKey(...) | +| Test.java:3704:19:3704:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3704:9:3704:22 | getMapKey(...) | +| Test.java:3711:19:3711:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3711:9:3711:22 | getMapKey(...) | +| Test.java:3718:21:3718:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3718:9:3718:24 | getMapValue(...) | +| Test.java:3725:21:3725:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3725:9:3725:24 | getMapValue(...) | +| Test.java:3732:21:3732:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3732:9:3732:24 | getMapValue(...) | +| Test.java:3739:19:3739:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3739:9:3739:22 | getMapKey(...) | +| Test.java:3746:19:3746:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3746:9:3746:22 | getMapKey(...) | +| Test.java:3753:21:3753:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3753:9:3753:24 | getMapValue(...) | +| Test.java:3760:21:3760:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3760:9:3760:24 | getMapValue(...) | +| Test.java:3767:19:3767:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:3767:9:3767:22 | getMapKey(...) | +| Test.java:3774:21:3774:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:3774:9:3774:24 | getMapValue(...) | +| Test.java:3779:55:3779:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | Test.java:101:56:101:101 | next(...) : Entry [] : Object | Test.java:3779:36:3779:63 | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:3781:19:3781:21 | out : ImmutableSortedMap [] : Object | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:3781:9:3781:22 | getMapKey(...) | +| Test.java:3786:57:3786:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | Test.java:113:60:113:107 | next(...) : Entry [] : Object | Test.java:3786:36:3786:65 | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:3788:21:3788:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:3788:9:3788:24 | getMapValue(...) | +| Test.java:3793:55:3793:62 | source(...) : Object | Test.java:101:40:101:44 | key : Object | Test.java:101:56:101:101 | next(...) : Entry [] : Object | Test.java:3793:36:3793:63 | newEntryWithMapKey(...) : Entry [] : Object | +| Test.java:3795:19:3795:21 | out : ImmutableSortedMap [] : Object | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:3795:9:3795:22 | getMapKey(...) | +| Test.java:3800:57:3800:64 | source(...) : Object | Test.java:113:42:113:48 | value : Object | Test.java:113:60:113:107 | next(...) : Entry [] : Object | Test.java:3800:36:3800:65 | newEntryWithMapValue(...) : Entry [] : Object | +| Test.java:3802:21:3802:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:3802:9:3802:24 | getMapValue(...) | +| Test.java:3809:19:3809:21 | out : ImmutableSortedMap [] : Object | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:3809:9:3809:22 | getMapKey(...) | +| Test.java:3816:21:3816:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:3816:9:3816:24 | getMapValue(...) | +| Test.java:3823:19:3823:21 | out : ImmutableSortedMap [] : Object | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:3823:9:3823:22 | getMapKey(...) | +| Test.java:3830:21:3830:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:3830:9:3830:24 | getMapValue(...) | +| Test.java:3837:19:3837:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:3837:9:3837:22 | getMapKey(...) | +| Test.java:3844:21:3844:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:3844:9:3844:24 | getMapValue(...) | +| Test.java:3851:19:3851:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:3851:9:3851:22 | getMapKey(...) | +| Test.java:3858:19:3858:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:3858:9:3858:22 | getMapKey(...) | +| Test.java:3865:19:3865:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:3865:9:3865:22 | getMapKey(...) | +| Test.java:3872:19:3872:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:3872:9:3872:22 | getMapKey(...) | +| Test.java:3879:19:3879:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:3879:9:3879:22 | getMapKey(...) | +| Test.java:3886:21:3886:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:3886:9:3886:24 | getMapValue(...) | +| Test.java:3893:21:3893:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:3893:9:3893:24 | getMapValue(...) | +| Test.java:3900:21:3900:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:3900:9:3900:24 | getMapValue(...) | +| Test.java:3907:21:3907:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:3907:9:3907:24 | getMapValue(...) | +| Test.java:3914:21:3914:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:3914:9:3914:24 | getMapValue(...) | +| Test.java:3921:19:3921:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:3921:9:3921:22 | getMapKey(...) | +| Test.java:3928:19:3928:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:3928:9:3928:22 | getMapKey(...) | +| Test.java:3935:19:3935:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:3935:9:3935:22 | getMapKey(...) | +| Test.java:3942:19:3942:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:3942:9:3942:22 | getMapKey(...) | +| Test.java:3949:21:3949:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:3949:9:3949:24 | getMapValue(...) | +| Test.java:3956:21:3956:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:3956:9:3956:24 | getMapValue(...) | +| Test.java:3963:21:3963:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:3963:9:3963:24 | getMapValue(...) | +| Test.java:3970:21:3970:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:3970:9:3970:24 | getMapValue(...) | +| Test.java:3977:19:3977:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:3977:9:3977:22 | getMapKey(...) | +| Test.java:3984:19:3984:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:3984:9:3984:22 | getMapKey(...) | +| Test.java:3991:19:3991:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:3991:9:3991:22 | getMapKey(...) | +| Test.java:3998:21:3998:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:3998:9:3998:24 | getMapValue(...) | +| Test.java:4005:21:4005:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:4005:9:4005:24 | getMapValue(...) | +| Test.java:4012:21:4012:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:4012:9:4012:24 | getMapValue(...) | +| Test.java:4019:19:4019:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:4019:9:4019:22 | getMapKey(...) | +| Test.java:4026:19:4026:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:4026:9:4026:22 | getMapKey(...) | +| Test.java:4033:21:4033:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:4033:9:4033:24 | getMapValue(...) | +| Test.java:4040:21:4040:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:4040:9:4040:24 | getMapValue(...) | +| Test.java:4047:19:4047:21 | out : ImmutableSortedMap [] : Comparable | Test.java:99:18:99:29 | map : ImmutableSortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:4047:9:4047:22 | getMapKey(...) | +| Test.java:4054:21:4054:23 | out : ImmutableSortedMap [] : Object | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:4054:9:4054:24 | getMapValue(...) | +| Test.java:4061:20:4061:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4061:9:4061:23 | getElement(...) | +| Test.java:4068:20:4068:22 | out : ImmutableSortedMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4068:9:4068:23 | getElement(...) | +| Test.java:4075:20:4075:22 | out : ImmutableSortedMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4075:9:4075:23 | getElement(...) | +| Test.java:4082:20:4082:22 | out : ImmutableSortedMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4082:9:4082:23 | getElement(...) | +| Test.java:4089:20:4089:22 | out : ImmutableSortedMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4089:9:4089:23 | getElement(...) | +| Test.java:4096:20:4096:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4096:9:4096:23 | getElement(...) | +| Test.java:4103:20:4103:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4103:9:4103:23 | getElement(...) | +| Test.java:4110:20:4110:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4110:9:4110:23 | getElement(...) | +| Test.java:4117:20:4117:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4117:9:4117:23 | getElement(...) | +| Test.java:4124:20:4124:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4124:9:4124:23 | getElement(...) | +| Test.java:4131:20:4131:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4131:9:4131:23 | getElement(...) | +| Test.java:4138:20:4138:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4138:9:4138:23 | getElement(...) | +| Test.java:4145:20:4145:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4145:9:4145:23 | getElement(...) | +| Test.java:4152:20:4152:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4152:9:4152:23 | getElement(...) | +| Test.java:4159:20:4159:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4159:9:4159:23 | getElement(...) | +| Test.java:4166:20:4166:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4166:9:4166:23 | getElement(...) | +| Test.java:4173:20:4173:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4173:9:4173:23 | getElement(...) | +| Test.java:4180:20:4180:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4180:9:4180:23 | getElement(...) | +| Test.java:4187:20:4187:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4187:9:4187:23 | getElement(...) | +| Test.java:4194:20:4194:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4194:9:4194:23 | getElement(...) | +| Test.java:4201:20:4201:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4201:9:4201:23 | getElement(...) | +| Test.java:4208:20:4208:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4208:9:4208:23 | getElement(...) | +| Test.java:4215:20:4215:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4215:9:4215:23 | getElement(...) | +| Test.java:4222:20:4222:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4222:9:4222:23 | getElement(...) | +| Test.java:4229:20:4229:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4229:9:4229:23 | getElement(...) | +| Test.java:4236:20:4236:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4236:9:4236:23 | getElement(...) | +| Test.java:4243:20:4243:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4243:9:4243:23 | getElement(...) | +| Test.java:4250:20:4250:22 | out : ImmutableSortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4250:9:4250:23 | getElement(...) | +| Test.java:4257:20:4257:22 | out : ImmutableSortedSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4257:9:4257:23 | getElement(...) | +| Test.java:4264:20:4264:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4264:9:4264:23 | getElement(...) | +| Test.java:4271:20:4271:22 | out : ImmutableSortedSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4271:9:4271:23 | getElement(...) | +| Test.java:4278:20:4278:22 | out : ImmutableSortedSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4278:9:4278:23 | getElement(...) | +| Test.java:4285:20:4285:22 | out : ImmutableSortedSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4285:9:4285:23 | getElement(...) | +| Test.java:4292:20:4292:22 | out : ImmutableSortedSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4292:9:4292:23 | getElement(...) | +| Test.java:4299:20:4299:22 | out : ImmutableSortedSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4299:9:4299:23 | getElement(...) | +| Test.java:4306:20:4306:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4306:9:4306:23 | getElement(...) | +| Test.java:4313:20:4313:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4313:9:4313:23 | getElement(...) | +| Test.java:4320:20:4320:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4320:9:4320:23 | getElement(...) | +| Test.java:4327:20:4327:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4327:9:4327:23 | getElement(...) | +| Test.java:4334:20:4334:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4334:9:4334:23 | getElement(...) | +| Test.java:4341:20:4341:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4341:9:4341:23 | getElement(...) | +| Test.java:4348:20:4348:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4348:9:4348:23 | getElement(...) | +| Test.java:4355:20:4355:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4355:9:4355:23 | getElement(...) | +| Test.java:4362:20:4362:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4362:9:4362:23 | getElement(...) | +| Test.java:4369:20:4369:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4369:9:4369:23 | getElement(...) | +| Test.java:4376:20:4376:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4376:9:4376:23 | getElement(...) | +| Test.java:4383:20:4383:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4383:9:4383:23 | getElement(...) | +| Test.java:4390:20:4390:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4390:9:4390:23 | getElement(...) | +| Test.java:4397:20:4397:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4397:9:4397:23 | getElement(...) | +| Test.java:4404:20:4404:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4404:9:4404:23 | getElement(...) | +| Test.java:4411:20:4411:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4411:9:4411:23 | getElement(...) | +| Test.java:4418:20:4418:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4418:9:4418:23 | getElement(...) | +| Test.java:4425:20:4425:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4425:9:4425:23 | getElement(...) | +| Test.java:4432:20:4432:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4432:9:4432:23 | getElement(...) | +| Test.java:4439:20:4439:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4439:9:4439:23 | getElement(...) | +| Test.java:4446:20:4446:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4446:9:4446:23 | getElement(...) | +| Test.java:4453:20:4453:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4453:9:4453:23 | getElement(...) | +| Test.java:4460:20:4460:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:4460:9:4460:23 | getElement(...) | +| Test.java:4467:21:4467:23 | out : ImmutableTable [] : Object | Test.java:120:20:120:33 | t : ImmutableTable [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:4467:9:4467:24 | getMapValue(...) | +| Test.java:4474:28:4474:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:4474:9:4474:31 | getTable_columnKey(...) | +| Test.java:4481:25:4481:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:4481:9:4481:28 | getTable_rowKey(...) | +| Test.java:4507:57:4507:64 | source(...) : Object | Test.java:102:58:102:64 | value : Object | Test.java:102:76:102:134 | getElement(...) : Cell [] : Object | Test.java:4507:32:4507:65 | newTableCell(...) : Cell [] : Object | +| Test.java:4509:21:4509:23 | out : Builder [] : Object | Test.java:117:20:117:50 | b : Builder [] : Object | Test.java:117:62:117:83 | getMapValue(...) : Object | Test.java:4509:9:4509:24 | getMapValue(...) | +| Test.java:4514:51:4514:58 | source(...) : Object | Test.java:102:48:102:55 | column : Object | Test.java:102:76:102:134 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | Test.java:4514:32:4514:65 | newTableCell(...) : Cell [com.google.common.collect.Table.columnKey] : Object | +| Test.java:4516:28:4516:30 | out : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:95:27:95:57 | b : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:95:69:95:97 | getTable_columnKey(...) : Object | Test.java:4516:9:4516:31 | getTable_columnKey(...) | +| Test.java:4521:45:4521:52 | source(...) : Object | Test.java:102:41:102:45 | row : Object | Test.java:102:76:102:134 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | Test.java:4521:32:4521:65 | newTableCell(...) : Cell [com.google.common.collect.Table.rowKey] : Object | +| Test.java:4523:25:4523:27 | out : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:104:24:104:54 | b : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:104:66:104:91 | getTable_rowKey(...) : Object | Test.java:4523:9:4523:28 | getTable_rowKey(...) | +| Test.java:4537:25:4537:27 | out : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:104:24:104:54 | b : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:104:66:104:91 | getTable_rowKey(...) : Object | Test.java:4537:9:4537:28 | getTable_rowKey(...) | +| Test.java:4544:28:4544:30 | out : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:95:27:95:57 | b : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:95:69:95:97 | getTable_columnKey(...) : Object | Test.java:4544:9:4544:31 | getTable_columnKey(...) | +| Test.java:4551:21:4551:23 | out : Builder [] : Object | Test.java:117:20:117:50 | b : Builder [] : Object | Test.java:117:62:117:83 | getMapValue(...) : Object | Test.java:4551:9:4551:24 | getMapValue(...) | +| Test.java:4565:21:4565:23 | out : Builder [] : Object | Test.java:117:20:117:50 | b : Builder [] : Object | Test.java:117:62:117:83 | getMapValue(...) : Object | Test.java:4565:9:4565:24 | getMapValue(...) | +| Test.java:4572:28:4572:30 | out : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:95:27:95:57 | b : Builder [com.google.common.collect.Table.columnKey] : Object | Test.java:95:69:95:97 | getTable_columnKey(...) : Object | Test.java:4572:9:4572:31 | getTable_columnKey(...) | +| Test.java:4579:25:4579:27 | out : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:104:24:104:54 | b : Builder [com.google.common.collect.Table.rowKey] : Object | Test.java:104:66:104:91 | getTable_rowKey(...) : Object | Test.java:4579:9:4579:28 | getTable_rowKey(...) | +| Test.java:4586:21:4586:23 | out : ImmutableTable [] : Object | Test.java:120:20:120:33 | t : ImmutableTable [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:4586:9:4586:24 | getMapValue(...) | +| Test.java:4593:28:4593:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:4593:9:4593:31 | getTable_columnKey(...) | +| Test.java:4600:25:4600:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:4600:9:4600:28 | getTable_rowKey(...) | +| Test.java:4607:25:4607:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:4607:9:4607:28 | getTable_rowKey(...) | +| Test.java:4614:28:4614:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:4614:9:4614:31 | getTable_columnKey(...) | +| Test.java:4621:21:4621:23 | out : ImmutableTable [] : Object | Test.java:120:20:120:33 | t : ImmutableTable [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:4621:9:4621:24 | getMapValue(...) | +| Test.java:4628:20:4628:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4628:9:4628:23 | getElement(...) | +| Test.java:4635:20:4635:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4635:9:4635:23 | getElement(...) | +| Test.java:4642:20:4642:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4642:9:4642:23 | getElement(...) | +| Test.java:4649:20:4649:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4649:9:4649:23 | getElement(...) | +| Test.java:4656:20:4656:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4656:9:4656:23 | getElement(...) | +| Test.java:4663:20:4663:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4663:9:4663:23 | getElement(...) | +| Test.java:4670:20:4670:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4670:9:4670:23 | getElement(...) | +| Test.java:4677:20:4677:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4677:9:4677:23 | getElement(...) | +| Test.java:4684:20:4684:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4684:9:4684:23 | getElement(...) | +| Test.java:4691:20:4691:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4691:9:4691:23 | getElement(...) | +| Test.java:4698:20:4698:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4698:9:4698:23 | getElement(...) | +| Test.java:4705:20:4705:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4705:9:4705:23 | getElement(...) | +| Test.java:4712:20:4712:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4712:9:4712:23 | getElement(...) | +| Test.java:4719:20:4719:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4719:9:4719:23 | getElement(...) | +| Test.java:4726:20:4726:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4726:9:4726:23 | getElement(...) | +| Test.java:4733:20:4733:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4733:9:4733:23 | getElement(...) | +| Test.java:4740:20:4740:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4740:9:4740:23 | getElement(...) | +| Test.java:4831:20:4831:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4831:9:4831:23 | getElement(...) | +| Test.java:4838:20:4838:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4838:9:4838:23 | getElement(...) | +| Test.java:4845:20:4845:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4845:9:4845:35 | getElement(...) | +| Test.java:4852:20:4852:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4852:9:4852:35 | getElement(...) | +| Test.java:4859:20:4859:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4859:9:4859:23 | getElement(...) | +| Test.java:4866:25:4866:27 | out : Object[] [[]] : Object | Test.java:107:24:107:32 | array : Object[] [[]] : Object | Test.java:107:44:107:51 | ...[...] : Object | Test.java:4866:9:4866:28 | getArrayElement(...) | +| Test.java:4880:20:4880:22 | out : Optional [] : Object | Test.java:112:19:112:31 | o : Optional [] : Object | Test.java:112:43:112:49 | get(...) : Object | Test.java:4880:9:4880:23 | getElement(...) | +| Test.java:4887:20:4887:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4887:9:4887:23 | getElement(...) | +| Test.java:4894:20:4894:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4894:9:4894:23 | getElement(...) | +| Test.java:4901:20:4901:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4901:9:4901:23 | getElement(...) | +| Test.java:4908:20:4908:22 | out : Enumeration [] : Object | Test.java:108:19:108:35 | it : Enumeration [] : Object | Test.java:108:47:108:62 | nextElement(...) : Object | Test.java:4908:9:4908:23 | getElement(...) | +| Test.java:4915:20:4915:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:4915:9:4915:23 | getElement(...) | +| Test.java:4922:20:4922:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:4922:9:4922:23 | getElement(...) | +| Test.java:4929:20:4929:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:4929:9:4929:23 | getElement(...) | +| Test.java:4936:20:4936:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:4936:9:4936:23 | getElement(...) | +| Test.java:4943:20:4943:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:4943:9:4943:23 | getElement(...) | +| Test.java:4950:20:4950:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:4950:9:4950:23 | getElement(...) | +| Test.java:4957:20:4957:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:4957:9:4957:23 | getElement(...) | +| Test.java:4964:20:4964:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:4964:9:4964:23 | getElement(...) | +| Test.java:4971:20:4971:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:4971:9:4971:23 | getElement(...) | +| Test.java:4978:20:4978:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:4978:9:4978:23 | getElement(...) | +| Test.java:4985:20:4985:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:4985:9:4985:23 | getElement(...) | +| Test.java:4992:20:4992:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:4992:9:4992:23 | getElement(...) | +| Test.java:4999:20:4999:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:4999:9:4999:23 | getElement(...) | +| Test.java:5006:20:5006:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:5006:9:5006:23 | getElement(...) | +| Test.java:5013:20:5013:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:5013:9:5013:23 | getElement(...) | +| Test.java:5020:20:5020:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:5020:9:5020:23 | getElement(...) | +| Test.java:5048:20:5048:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:5048:9:5048:23 | getElement(...) | +| Test.java:5055:20:5055:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:5055:9:5055:23 | getElement(...) | +| Test.java:5139:20:5139:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:5139:9:5139:23 | getElement(...) | +| Test.java:5146:20:5146:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:5146:9:5146:23 | getElement(...) | +| Test.java:5153:20:5153:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5153:9:5153:35 | getElement(...) | +| Test.java:5160:20:5160:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5160:9:5160:35 | getElement(...) | +| Test.java:5167:20:5167:22 | out : PeekingIterator [] : Object | Test.java:111:19:111:32 | it : PeekingIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:5167:9:5167:23 | getElement(...) | +| Test.java:5174:20:5174:22 | out : PeekingIterator [] : Object | Test.java:111:19:111:32 | it : PeekingIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:5174:9:5174:23 | getElement(...) | +| Test.java:5181:20:5181:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:5181:9:5181:23 | getElement(...) | +| Test.java:5188:25:5188:27 | out : Object[] [[]] : Object | Test.java:107:24:107:32 | array : Object[] [[]] : Object | Test.java:107:44:107:51 | ...[...] : Object | Test.java:5188:9:5188:28 | getArrayElement(...) | +| Test.java:5195:20:5195:22 | out : Optional [] : Object | Test.java:112:19:112:31 | o : Optional [] : Object | Test.java:112:43:112:49 | get(...) : Object | Test.java:5195:9:5195:23 | getElement(...) | +| Test.java:5202:20:5202:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:5202:9:5202:23 | getElement(...) | +| Test.java:5209:20:5209:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:5209:9:5209:23 | getElement(...) | +| Test.java:5216:19:5216:21 | out : LinkedHashMultimap [] : Object | Test.java:100:18:100:34 | map : LinkedHashMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:5216:9:5216:22 | getMapKey(...) | +| Test.java:5223:21:5223:23 | out : LinkedHashMultimap [] : Object | Test.java:119:20:119:36 | map : LinkedHashMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:5223:9:5223:24 | getMapValue(...) | +| Test.java:5230:20:5230:22 | out : LinkedHashMultiset [] : Object | Test.java:110:19:110:32 | it : LinkedHashMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5230:9:5230:23 | getElement(...) | +| Test.java:5237:19:5237:21 | out : LinkedListMultimap [] : Object | Test.java:100:18:100:34 | map : LinkedListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:5237:9:5237:22 | getMapKey(...) | +| Test.java:5244:21:5244:23 | out : LinkedListMultimap [] : Object | Test.java:119:20:119:36 | map : LinkedListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:5244:9:5244:24 | getMapValue(...) | +| Test.java:5251:20:5251:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5251:9:5251:23 | getElement(...) | +| Test.java:5258:20:5258:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5258:9:5258:23 | getElement(...) | +| Test.java:5265:20:5265:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5265:9:5265:23 | getElement(...) | +| Test.java:5272:20:5272:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5272:9:5272:23 | getElement(...) | +| Test.java:5279:20:5279:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5279:9:5279:23 | getElement(...) | +| Test.java:5286:20:5286:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5286:9:5286:35 | getElement(...) | +| Test.java:5293:20:5293:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5293:9:5293:35 | getElement(...) | +| Test.java:5300:20:5300:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5300:9:5300:23 | getElement(...) | +| Test.java:5307:20:5307:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5307:9:5307:23 | getElement(...) | +| Test.java:5314:20:5314:22 | out : ArrayList [] : Object | Test.java:110:19:110:32 | it : ArrayList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5314:9:5314:23 | getElement(...) | +| Test.java:5321:20:5321:22 | out : ArrayList [] : Object | Test.java:110:19:110:32 | it : ArrayList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5321:9:5321:23 | getElement(...) | +| Test.java:5328:20:5328:22 | out : ArrayList [] : Object | Test.java:110:19:110:32 | it : ArrayList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5328:9:5328:23 | getElement(...) | +| Test.java:5335:20:5335:22 | out : CopyOnWriteArrayList [] : Object | Test.java:110:19:110:32 | it : CopyOnWriteArrayList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5335:9:5335:23 | getElement(...) | +| Test.java:5342:20:5342:22 | out : LinkedList [] : Object | Test.java:110:19:110:32 | it : LinkedList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5342:9:5342:23 | getElement(...) | +| Test.java:5349:20:5349:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5349:9:5349:35 | getElement(...) | +| Test.java:5356:20:5356:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5356:9:5356:23 | getElement(...) | +| Test.java:5361:92:5361:99 | source(...) : Object | Test.java:114:58:114:60 | l : Object | Test.java:114:77:114:154 | get(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | Test.java:5361:70:5361:106 | newMapValueDifference(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | +| Test.java:5368:98:5368:105 | source(...) : Object | Test.java:114:63:114:65 | r : Object | Test.java:114:77:114:154 | get(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | Test.java:5368:70:5368:106 | newMapValueDifference(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | +| Test.java:5377:19:5377:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5377:9:5377:22 | getMapKey(...) | +| Test.java:5384:19:5384:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5384:9:5384:22 | getMapKey(...) | +| Test.java:5391:19:5391:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5391:9:5391:22 | getMapKey(...) | +| Test.java:5398:19:5398:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5398:9:5398:22 | getMapKey(...) | +| Test.java:5433:19:5433:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5433:9:5433:22 | getMapKey(...) | +| Test.java:5440:19:5440:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5440:9:5440:22 | getMapKey(...) | +| Test.java:5447:19:5447:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5447:9:5447:22 | getMapKey(...) | +| Test.java:5454:19:5454:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5454:9:5454:22 | getMapKey(...) | +| Test.java:5461:21:5461:23 | out : SortedMap [] : Object | Test.java:118:20:118:31 | map : SortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5461:9:5461:24 | getMapValue(...) | +| Test.java:5468:21:5468:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5468:9:5468:24 | getMapValue(...) | +| Test.java:5475:21:5475:23 | out : SortedMap [] : Object | Test.java:118:20:118:31 | map : SortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5475:9:5475:24 | getMapValue(...) | +| Test.java:5482:21:5482:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5482:9:5482:24 | getMapValue(...) | +| Test.java:5489:19:5489:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5489:9:5489:22 | getMapKey(...) | +| Test.java:5496:19:5496:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5496:9:5496:22 | getMapKey(...) | +| Test.java:5503:21:5503:23 | out : SortedMap [] : Object | Test.java:118:20:118:31 | map : SortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5503:9:5503:24 | getMapValue(...) | +| Test.java:5510:21:5510:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5510:9:5510:24 | getMapValue(...) | +| Test.java:5517:19:5517:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5517:9:5517:22 | getMapKey(...) | +| Test.java:5524:19:5524:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5524:9:5524:22 | getMapKey(...) | +| Test.java:5531:21:5531:23 | out : SortedMap [] : Object | Test.java:118:20:118:31 | map : SortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5531:9:5531:24 | getMapValue(...) | +| Test.java:5538:21:5538:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5538:9:5538:24 | getMapValue(...) | +| Test.java:5545:19:5545:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5545:9:5545:22 | getMapKey(...) | +| Test.java:5552:19:5552:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5552:9:5552:22 | getMapKey(...) | +| Test.java:5559:19:5559:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5559:9:5559:22 | getMapKey(...) | +| Test.java:5566:19:5566:41 | entriesOnlyOnLeft(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5566:9:5566:42 | getMapKey(...) | +| Test.java:5573:19:5573:42 | entriesOnlyOnRight(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5573:9:5573:43 | getMapKey(...) | +| Test.java:5580:21:5580:43 | entriesOnlyOnLeft(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5580:9:5580:44 | getMapValue(...) | +| Test.java:5587:21:5587:44 | entriesOnlyOnRight(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5587:9:5587:45 | getMapValue(...) | +| Test.java:5594:19:5594:41 | entriesOnlyOnLeft(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5594:9:5594:42 | getMapKey(...) | +| Test.java:5601:19:5601:42 | entriesOnlyOnRight(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5601:9:5601:43 | getMapKey(...) | +| Test.java:5608:21:5608:43 | entriesOnlyOnLeft(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5608:9:5608:44 | getMapValue(...) | +| Test.java:5615:21:5615:44 | entriesOnlyOnRight(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5615:9:5615:45 | getMapValue(...) | +| Test.java:5622:19:5622:41 | entriesOnlyOnLeft(...) : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5622:9:5622:42 | getMapKey(...) | +| Test.java:5629:19:5629:42 | entriesOnlyOnRight(...) : SortedMap [] : Object | Test.java:99:18:99:29 | map : SortedMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5629:9:5629:43 | getMapKey(...) | +| Test.java:5636:21:5636:43 | entriesOnlyOnLeft(...) : SortedMap [] : Object | Test.java:118:20:118:31 | map : SortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5636:9:5636:44 | getMapValue(...) | +| Test.java:5643:21:5643:44 | entriesOnlyOnRight(...) : SortedMap [] : Object | Test.java:118:20:118:31 | map : SortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5643:9:5643:45 | getMapValue(...) | +| Test.java:5650:19:5650:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5650:9:5650:22 | getMapKey(...) | +| Test.java:5657:19:5657:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5657:9:5657:22 | getMapKey(...) | +| Test.java:5664:19:5664:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5664:9:5664:22 | getMapKey(...) | +| Test.java:5671:19:5671:21 | out : BiMap [] : Object | Test.java:99:18:99:29 | map : BiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5671:9:5671:22 | getMapKey(...) | +| Test.java:5678:19:5678:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5678:9:5678:22 | getMapKey(...) | +| Test.java:5685:19:5685:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5685:9:5685:22 | getMapKey(...) | +| Test.java:5692:19:5692:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5692:9:5692:22 | getMapKey(...) | +| Test.java:5699:19:5699:21 | out : BiMap [] : Object | Test.java:99:18:99:29 | map : BiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5699:9:5699:22 | getMapKey(...) | +| Test.java:5706:19:5706:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5706:9:5706:22 | getMapKey(...) | +| Test.java:5713:19:5713:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5713:9:5713:22 | getMapKey(...) | +| Test.java:5720:19:5720:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5720:9:5720:22 | getMapKey(...) | +| Test.java:5727:19:5727:21 | out : BiMap [] : Object | Test.java:99:18:99:29 | map : BiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5727:9:5727:22 | getMapKey(...) | +| Test.java:5734:19:5734:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5734:9:5734:22 | getMapKey(...) | +| Test.java:5741:21:5741:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5741:9:5741:24 | getMapValue(...) | +| Test.java:5762:21:5762:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5762:9:5762:24 | getMapValue(...) | +| Test.java:5769:21:5769:23 | out : EnumMap [] : Object | Test.java:118:20:118:31 | map : EnumMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5769:9:5769:24 | getMapValue(...) | +| Test.java:5776:19:5776:21 | out : HashMap [] : Object | Test.java:99:18:99:29 | map : HashMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5776:9:5776:22 | getMapKey(...) | +| Test.java:5783:21:5783:23 | out : HashMap [] : Object | Test.java:118:20:118:31 | map : HashMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5783:9:5783:24 | getMapValue(...) | +| Test.java:5790:19:5790:21 | out : LinkedHashMap [] : Object | Test.java:99:18:99:29 | map : LinkedHashMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5790:9:5790:22 | getMapKey(...) | +| Test.java:5797:21:5797:23 | out : LinkedHashMap [] : Object | Test.java:118:20:118:31 | map : LinkedHashMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5797:9:5797:24 | getMapValue(...) | +| Test.java:5804:19:5804:21 | out : TreeMap [] : Comparable | Test.java:99:18:99:29 | map : TreeMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5804:9:5804:22 | getMapKey(...) | +| Test.java:5811:21:5811:23 | out : TreeMap [] : Object | Test.java:118:20:118:31 | map : TreeMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5811:9:5811:24 | getMapValue(...) | +| Test.java:5818:19:5818:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5818:9:5818:22 | getMapKey(...) | +| Test.java:5825:21:5825:23 | out : NavigableMap [] : Object | Test.java:118:20:118:31 | map : NavigableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5825:9:5825:24 | getMapValue(...) | +| Test.java:5832:19:5832:21 | out : BiMap [] : Object | Test.java:99:18:99:29 | map : BiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5832:9:5832:22 | getMapKey(...) | +| Test.java:5839:21:5839:23 | out : BiMap [] : Object | Test.java:118:20:118:31 | map : BiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5839:9:5839:24 | getMapValue(...) | +| Test.java:5846:19:5846:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5846:9:5846:22 | getMapKey(...) | +| Test.java:5853:21:5853:23 | out : NavigableMap [] : Object | Test.java:118:20:118:31 | map : NavigableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5853:9:5853:24 | getMapValue(...) | +| Test.java:5860:19:5860:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5860:9:5860:22 | getMapKey(...) | +| Test.java:5867:19:5867:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5867:9:5867:22 | getMapKey(...) | +| Test.java:5874:19:5874:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5874:9:5874:22 | getMapKey(...) | +| Test.java:5881:19:5881:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5881:9:5881:22 | getMapKey(...) | +| Test.java:5888:19:5888:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5888:9:5888:22 | getMapKey(...) | +| Test.java:5895:21:5895:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5895:9:5895:24 | getMapValue(...) | +| Test.java:5902:21:5902:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5902:9:5902:24 | getMapValue(...) | +| Test.java:5909:19:5909:21 | out : BiMap [] : Object | Test.java:99:18:99:29 | map : BiMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5909:9:5909:22 | getMapKey(...) | +| Test.java:5916:21:5916:23 | out : BiMap [] : Object | Test.java:118:20:118:31 | map : BiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5916:9:5916:24 | getMapValue(...) | +| Test.java:5923:19:5923:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5923:9:5923:22 | getMapKey(...) | +| Test.java:5930:21:5930:23 | out : NavigableMap [] : Object | Test.java:118:20:118:31 | map : NavigableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:5930:9:5930:24 | getMapValue(...) | +| Test.java:5937:19:5937:21 | out : NavigableMap [] : Comparable | Test.java:99:18:99:29 | map : NavigableMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5937:9:5937:22 | getMapKey(...) | +| Test.java:5944:19:5944:21 | out : Map [] : Comparable | Test.java:99:18:99:29 | map : Map [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5944:9:5944:22 | getMapKey(...) | +| Test.java:5951:19:5951:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5951:9:5951:22 | getMapKey(...) | +| Test.java:5958:19:5958:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5958:9:5958:22 | getMapKey(...) | +| Test.java:5965:19:5965:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5965:9:5965:22 | getMapKey(...) | +| Test.java:5972:19:5972:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5972:9:5972:22 | getMapKey(...) | +| Test.java:5979:20:5979:35 | getMapValue(...) : Collection [] : Comparable | Test.java:110:19:110:32 | it : Collection [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:5979:9:5979:36 | getElement(...) | +| Test.java:5986:20:5986:35 | getMapValue(...) : Collection [] : Comparable | Test.java:110:19:110:32 | it : Collection [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:5986:9:5986:36 | getElement(...) | +| Test.java:5993:20:5993:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5993:9:5993:36 | getElement(...) | +| Test.java:6000:20:6000:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6000:9:6000:36 | getElement(...) | +| Test.java:6007:20:6007:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6007:9:6007:36 | getElement(...) | +| Test.java:6014:20:6014:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6014:9:6014:36 | getElement(...) | +| Test.java:6105:20:6105:22 | out : SortedSet [] : Comparable | Test.java:110:19:110:32 | it : SortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:6105:9:6105:23 | getElement(...) | +| Test.java:6112:20:6112:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6112:9:6112:23 | getElement(...) | +| Test.java:6119:20:6119:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:6119:9:6119:23 | getElement(...) | +| Test.java:6126:20:6126:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6126:9:6126:23 | getElement(...) | +| Test.java:6133:20:6133:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6133:9:6133:23 | getElement(...) | +| Test.java:6140:20:6140:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6140:9:6140:23 | getElement(...) | +| Test.java:6147:20:6147:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6147:9:6147:23 | getElement(...) | +| Test.java:6154:20:6154:22 | out : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6154:9:6154:23 | getElement(...) | +| Test.java:6161:20:6161:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6161:9:6161:23 | getElement(...) | +| Test.java:6168:20:6168:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6168:9:6168:23 | getElement(...) | +| Test.java:6175:20:6175:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6175:9:6175:23 | getElement(...) | +| Test.java:6182:20:6182:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:6182:9:6182:23 | getElement(...) | +| Test.java:6189:20:6189:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6189:9:6189:23 | getElement(...) | +| Test.java:6196:20:6196:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6196:9:6196:23 | getElement(...) | +| Test.java:6203:20:6203:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6203:9:6203:23 | getElement(...) | +| Test.java:6210:19:6210:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6210:9:6210:22 | getMapKey(...) | +| Test.java:6217:19:6217:21 | out : LinkedListMultimap [] : Object | Test.java:100:18:100:34 | map : LinkedListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6217:9:6217:22 | getMapKey(...) | +| Test.java:6224:19:6224:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6224:9:6224:22 | getMapKey(...) | +| Test.java:6231:21:6231:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6231:9:6231:24 | getMapValue(...) | +| Test.java:6238:21:6238:23 | out : LinkedListMultimap [] : Object | Test.java:119:20:119:36 | map : LinkedListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6238:9:6238:24 | getMapValue(...) | +| Test.java:6245:21:6245:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6245:9:6245:24 | getMapValue(...) | +| Test.java:6252:19:6252:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6252:9:6252:22 | getMapKey(...) | +| Test.java:6259:19:6259:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6259:9:6259:22 | getMapKey(...) | +| Test.java:6266:21:6266:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6266:9:6266:24 | getMapValue(...) | +| Test.java:6273:21:6273:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6273:9:6273:24 | getMapValue(...) | +| Test.java:6280:19:6280:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6280:9:6280:22 | getMapKey(...) | +| Test.java:6287:19:6287:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6287:9:6287:22 | getMapKey(...) | +| Test.java:6294:21:6294:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6294:9:6294:24 | getMapValue(...) | +| Test.java:6301:21:6301:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6301:9:6301:24 | getMapValue(...) | +| Test.java:6308:20:6308:22 | out : SortedSet [] : Comparable | Test.java:110:19:110:32 | it : SortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:6308:9:6308:23 | getElement(...) | +| Test.java:6315:20:6315:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6315:9:6315:23 | getElement(...) | +| Test.java:6322:20:6322:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6322:9:6322:23 | getElement(...) | +| Test.java:6329:20:6329:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6329:9:6329:23 | getElement(...) | +| Test.java:6336:20:6336:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6336:9:6336:23 | getElement(...) | +| Test.java:6343:20:6343:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6343:9:6343:23 | getElement(...) | +| Test.java:6350:20:6350:22 | out : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6350:9:6350:23 | getElement(...) | +| Test.java:6357:20:6357:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6357:9:6357:23 | getElement(...) | +| Test.java:6364:19:6364:21 | out : SortedSetMultimap [] : Object | Test.java:100:18:100:34 | map : SortedSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6364:9:6364:22 | getMapKey(...) | +| Test.java:6371:19:6371:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6371:9:6371:22 | getMapKey(...) | +| Test.java:6378:19:6378:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6378:9:6378:22 | getMapKey(...) | +| Test.java:6385:19:6385:21 | out : ListMultimap [] : Object | Test.java:100:18:100:34 | map : ListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6385:9:6385:22 | getMapKey(...) | +| Test.java:6392:19:6392:21 | out : LinkedListMultimap [] : Object | Test.java:100:18:100:34 | map : LinkedListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6392:9:6392:22 | getMapKey(...) | +| Test.java:6399:19:6399:21 | out : LinkedHashMultimap [] : Object | Test.java:100:18:100:34 | map : LinkedHashMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6399:9:6399:22 | getMapKey(...) | +| Test.java:6406:19:6406:21 | out : ImmutableSetMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6406:9:6406:22 | getMapKey(...) | +| Test.java:6413:19:6413:21 | out : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6413:9:6413:22 | getMapKey(...) | +| Test.java:6420:19:6420:21 | out : ImmutableListMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6420:9:6420:22 | getMapKey(...) | +| Test.java:6427:21:6427:23 | out : SortedSetMultimap [] : Object | Test.java:119:20:119:36 | map : SortedSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6427:9:6427:24 | getMapValue(...) | +| Test.java:6434:21:6434:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6434:9:6434:24 | getMapValue(...) | +| Test.java:6441:21:6441:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6441:9:6441:24 | getMapValue(...) | +| Test.java:6448:21:6448:23 | out : ListMultimap [] : Object | Test.java:119:20:119:36 | map : ListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6448:9:6448:24 | getMapValue(...) | +| Test.java:6455:21:6455:23 | out : LinkedListMultimap [] : Object | Test.java:119:20:119:36 | map : LinkedListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6455:9:6455:24 | getMapValue(...) | +| Test.java:6462:21:6462:23 | out : LinkedHashMultimap [] : Object | Test.java:119:20:119:36 | map : LinkedHashMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6462:9:6462:24 | getMapValue(...) | +| Test.java:6469:21:6469:23 | out : ImmutableSetMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6469:9:6469:24 | getMapValue(...) | +| Test.java:6476:21:6476:23 | out : ImmutableMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6476:9:6476:24 | getMapValue(...) | +| Test.java:6483:21:6483:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6483:9:6483:24 | getMapValue(...) | +| Test.java:6490:20:6490:22 | out : SortedSet [] : Comparable | Test.java:110:19:110:32 | it : SortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:6490:9:6490:23 | getElement(...) | +| Test.java:6497:20:6497:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6497:9:6497:23 | getElement(...) | +| Test.java:6504:20:6504:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6504:9:6504:23 | getElement(...) | +| Test.java:6511:20:6511:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6511:9:6511:23 | getElement(...) | +| Test.java:6518:20:6518:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6518:9:6518:23 | getElement(...) | +| Test.java:6525:20:6525:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6525:9:6525:23 | getElement(...) | +| Test.java:6532:20:6532:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6532:9:6532:23 | getElement(...) | +| Test.java:6539:20:6539:22 | out : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6539:9:6539:23 | getElement(...) | +| Test.java:6546:20:6546:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6546:9:6546:23 | getElement(...) | +| Test.java:6553:20:6553:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6553:9:6553:23 | getElement(...) | +| Test.java:6560:20:6560:22 | out : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6560:9:6560:23 | getElement(...) | +| Test.java:6567:20:6567:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6567:9:6567:23 | getElement(...) | +| Test.java:6574:20:6574:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6574:9:6574:23 | getElement(...) | +| Test.java:6581:19:6581:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:6581:9:6581:22 | getMapKey(...) | +| Test.java:6588:20:6588:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6588:9:6588:36 | getElement(...) | +| Test.java:6595:19:6595:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:6595:9:6595:22 | getMapKey(...) | +| Test.java:6602:20:6602:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6602:9:6602:36 | getElement(...) | +| Test.java:6609:19:6609:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:6609:9:6609:22 | getMapKey(...) | +| Test.java:6616:20:6616:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6616:9:6616:36 | getElement(...) | +| Test.java:6623:19:6623:21 | out : Map [] : Comparable | Test.java:99:18:99:29 | map : Map [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:6623:9:6623:22 | getMapKey(...) | +| Test.java:6630:20:6630:35 | getMapValue(...) : Collection [] : Comparable | Test.java:110:19:110:32 | it : Collection [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:6630:9:6630:36 | getElement(...) | +| Test.java:6637:19:6637:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6637:9:6637:22 | getMapKey(...) | +| Test.java:6644:21:6644:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6644:9:6644:24 | getMapValue(...) | +| Test.java:6651:19:6651:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6651:9:6651:22 | getMapKey(...) | +| Test.java:6658:21:6658:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6658:9:6658:24 | getMapValue(...) | +| Test.java:6665:19:6665:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6665:9:6665:22 | getMapKey(...) | +| Test.java:6672:21:6672:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6672:9:6672:24 | getMapValue(...) | +| Test.java:6679:19:6679:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6679:9:6679:22 | getMapKey(...) | +| Test.java:6686:21:6686:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6686:9:6686:24 | getMapValue(...) | +| Test.java:6693:19:6693:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6693:9:6693:22 | getMapKey(...) | +| Test.java:6700:21:6700:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6700:9:6700:24 | getMapValue(...) | +| Test.java:6707:19:6707:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6707:9:6707:22 | getMapKey(...) | +| Test.java:6714:21:6714:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6714:9:6714:24 | getMapValue(...) | +| Test.java:6721:19:6721:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6721:9:6721:22 | getMapKey(...) | +| Test.java:6728:21:6728:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6728:9:6728:24 | getMapValue(...) | +| Test.java:6735:21:6735:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6735:9:6735:24 | getMapValue(...) | +| Test.java:6742:21:6742:23 | out : ImmutableListMultimap [] : Object | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6742:9:6742:24 | getMapValue(...) | +| Test.java:6756:21:6756:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6756:9:6756:24 | getMapValue(...) | +| Test.java:6763:19:6763:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6763:9:6763:22 | getMapKey(...) | +| Test.java:6770:21:6770:23 | out : ListMultimap [] : Object | Test.java:119:20:119:36 | map : ListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6770:9:6770:24 | getMapValue(...) | +| Test.java:6777:19:6777:21 | out : ListMultimap [] : Object | Test.java:100:18:100:34 | map : ListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6777:9:6777:22 | getMapKey(...) | +| Test.java:6784:21:6784:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6784:9:6784:24 | getMapValue(...) | +| Test.java:6791:19:6791:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6791:9:6791:22 | getMapKey(...) | +| Test.java:6798:21:6798:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6798:9:6798:24 | getMapValue(...) | +| Test.java:6805:19:6805:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6805:9:6805:22 | getMapKey(...) | +| Test.java:6812:21:6812:23 | out : SortedSetMultimap [] : Object | Test.java:119:20:119:36 | map : SortedSetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6812:9:6812:24 | getMapValue(...) | +| Test.java:6819:19:6819:21 | out : SortedSetMultimap [] : Object | Test.java:100:18:100:34 | map : SortedSetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6819:9:6819:22 | getMapKey(...) | +| Test.java:6826:19:6826:21 | out : ListMultimap [] : Object | Test.java:100:18:100:34 | map : ListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6826:9:6826:22 | getMapKey(...) | +| Test.java:6833:21:6833:23 | out : ListMultimap [] : Object | Test.java:119:20:119:36 | map : ListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6833:9:6833:24 | getMapValue(...) | +| Test.java:6840:19:6840:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6840:9:6840:22 | getMapKey(...) | +| Test.java:6847:21:6847:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6847:9:6847:24 | getMapValue(...) | +| Test.java:6854:19:6854:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6854:9:6854:22 | getMapKey(...) | +| Test.java:6861:21:6861:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6861:9:6861:24 | getMapValue(...) | +| Test.java:6868:19:6868:21 | out : SortedSetMultimap [] : Comparable | Test.java:100:18:100:34 | map : SortedSetMultimap [] : Comparable | Test.java:100:46:100:75 | next(...) : Comparable | Test.java:6868:9:6868:22 | getMapKey(...) | +| Test.java:6875:21:6875:23 | out : SortedSetMultimap [] : Comparable | Test.java:119:20:119:36 | map : SortedSetMultimap [] : Comparable | Test.java:119:48:119:77 | next(...) : Comparable | Test.java:6875:9:6875:24 | getMapValue(...) | +| Test.java:6882:19:6882:21 | out : ListMultimap [] : Object | Test.java:100:18:100:34 | map : ListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6882:9:6882:22 | getMapKey(...) | +| Test.java:6889:19:6889:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6889:9:6889:22 | getMapKey(...) | +| Test.java:6896:19:6896:21 | out : ListMultimap [] : Object | Test.java:100:18:100:34 | map : ListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6896:9:6896:22 | getMapKey(...) | +| Test.java:6903:21:6903:23 | out : ListMultimap [] : Object | Test.java:119:20:119:36 | map : ListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6903:9:6903:24 | getMapValue(...) | +| Test.java:6910:19:6910:21 | out : ListMultimap [] : Object | Test.java:100:18:100:34 | map : ListMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6910:9:6910:22 | getMapKey(...) | +| Test.java:6917:21:6917:23 | out : ListMultimap [] : Object | Test.java:119:20:119:36 | map : ListMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6917:9:6917:24 | getMapValue(...) | +| Test.java:6924:19:6924:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6924:9:6924:22 | getMapKey(...) | +| Test.java:6931:21:6931:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6931:9:6931:24 | getMapValue(...) | +| Test.java:6938:19:6938:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6938:9:6938:22 | getMapKey(...) | +| Test.java:6945:21:6945:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6945:9:6945:24 | getMapValue(...) | +| Test.java:6952:19:6952:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6952:9:6952:22 | getMapKey(...) | +| Test.java:6959:21:6959:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6959:9:6959:24 | getMapValue(...) | +| Test.java:6966:19:6966:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6966:9:6966:22 | getMapKey(...) | +| Test.java:6973:21:6973:23 | out : SetMultimap [] : Object | Test.java:119:20:119:36 | map : SetMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6973:9:6973:24 | getMapValue(...) | +| Test.java:6980:19:6980:21 | out : SortedSetMultimap [] : Comparable | Test.java:100:18:100:34 | map : SortedSetMultimap [] : Comparable | Test.java:100:46:100:75 | next(...) : Comparable | Test.java:6980:9:6980:22 | getMapKey(...) | +| Test.java:6987:21:6987:23 | out : SortedSetMultimap [] : Comparable | Test.java:119:20:119:36 | map : SortedSetMultimap [] : Comparable | Test.java:119:48:119:77 | next(...) : Comparable | Test.java:6987:9:6987:24 | getMapValue(...) | +| Test.java:6992:60:6992:67 | source(...) : Object | Test.java:106:44:106:47 | el : Object | Test.java:106:59:106:105 | getElement(...) : Entry [] : Object | Test.java:6992:40:6992:68 | newEntryWithElement(...) : Entry [] : Object | +| Test.java:7001:20:7001:22 | out : TreeMultiset [] : Object | Test.java:110:19:110:32 | it : TreeMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7001:9:7001:23 | getElement(...) | +| Test.java:7008:20:7008:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7008:9:7008:23 | getElement(...) | +| Test.java:7015:20:7015:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7015:9:7015:23 | getElement(...) | +| Test.java:7022:20:7022:22 | out : ConcurrentHashMultiset [] : Object | Test.java:110:19:110:32 | it : ConcurrentHashMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7022:9:7022:23 | getElement(...) | +| Test.java:7029:20:7029:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7029:9:7029:23 | getElement(...) | +| Test.java:7036:20:7036:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:7036:9:7036:23 | getElement(...) | +| Test.java:7043:20:7043:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:7043:9:7043:23 | getElement(...) | +| Test.java:7050:20:7050:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7050:9:7050:23 | getElement(...) | +| Test.java:7078:20:7078:22 | out : TreeMultiset [] : Object | Test.java:110:19:110:32 | it : TreeMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7078:9:7078:23 | getElement(...) | +| Test.java:7085:20:7085:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7085:9:7085:23 | getElement(...) | +| Test.java:7092:20:7092:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7092:9:7092:23 | getElement(...) | +| Test.java:7099:20:7099:22 | out : ConcurrentHashMultiset [] : Object | Test.java:110:19:110:32 | it : ConcurrentHashMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7099:9:7099:23 | getElement(...) | +| Test.java:7106:20:7106:22 | out : TreeMultiset [] : Object | Test.java:110:19:110:32 | it : TreeMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7106:9:7106:23 | getElement(...) | +| Test.java:7113:20:7113:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7113:9:7113:23 | getElement(...) | +| Test.java:7120:20:7120:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7120:9:7120:23 | getElement(...) | +| Test.java:7127:20:7127:22 | out : ConcurrentHashMultiset [] : Object | Test.java:110:19:110:32 | it : ConcurrentHashMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7127:9:7127:23 | getElement(...) | +| Test.java:7134:20:7134:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7134:9:7134:23 | getElement(...) | +| Test.java:7141:20:7141:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7141:9:7141:23 | getElement(...) | +| Test.java:7148:20:7148:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7148:9:7148:23 | getElement(...) | +| Test.java:7162:20:7162:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7162:9:7162:23 | getElement(...) | +| Test.java:7169:20:7169:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7169:9:7169:23 | getElement(...) | +| Test.java:7176:20:7176:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7176:9:7176:23 | getElement(...) | +| Test.java:7183:20:7183:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7183:9:7183:23 | getElement(...) | +| Test.java:7190:20:7190:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7190:9:7190:23 | getElement(...) | +| Test.java:7197:20:7197:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7197:9:7197:23 | getElement(...) | +| Test.java:7204:20:7204:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7204:9:7204:23 | getElement(...) | +| Test.java:7211:20:7211:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7211:9:7211:23 | getElement(...) | +| Test.java:7218:20:7218:22 | out : SortedMultiset [] : Comparable | Test.java:110:19:110:32 | it : SortedMultiset [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:7218:9:7218:23 | getElement(...) | +| Test.java:7225:19:7225:21 | out : MutableClassToInstanceMap [] : Object | Test.java:99:18:99:29 | map : MutableClassToInstanceMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7225:9:7225:22 | getMapKey(...) | +| Test.java:7232:21:7232:23 | out : MutableClassToInstanceMap [] : Object | Test.java:118:20:118:31 | map : MutableClassToInstanceMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:7232:9:7232:24 | getMapValue(...) | +| Test.java:7239:25:7239:27 | out : Object[] [[]] : Object | Test.java:107:24:107:32 | array : Object[] [[]] : Object | Test.java:107:44:107:51 | ...[...] : Object | Test.java:7239:9:7239:28 | getArrayElement(...) | +| Test.java:7246:25:7246:27 | out : Object[] [[]] : Object | Test.java:107:24:107:32 | array : Object[] [[]] : Object | Test.java:107:44:107:51 | ...[...] : Object | Test.java:7246:9:7246:28 | getArrayElement(...) | +| Test.java:7253:25:7253:27 | out : Object[] [[]] : Object | Test.java:107:24:107:32 | array : Object[] [[]] : Object | Test.java:107:44:107:51 | ...[...] : Object | Test.java:7253:9:7253:28 | getArrayElement(...) | +| Test.java:7260:25:7260:27 | out : Object[] [[]] : Object | Test.java:107:24:107:32 | array : Object[] [[]] : Object | Test.java:107:44:107:51 | ...[...] : Object | Test.java:7260:9:7260:28 | getArrayElement(...) | +| Test.java:7267:25:7267:27 | out : Object[] [[]] : Object | Test.java:107:24:107:32 | array : Object[] [[]] : Object | Test.java:107:44:107:51 | ...[...] : Object | Test.java:7267:9:7267:28 | getArrayElement(...) | +| Test.java:7274:25:7274:27 | out : Object[] [[]] : Object | Test.java:107:24:107:32 | array : Object[] [[]] : Object | Test.java:107:44:107:51 | ...[...] : Object | Test.java:7274:9:7274:28 | getArrayElement(...) | +| Test.java:7281:20:7281:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7281:9:7281:23 | getElement(...) | +| Test.java:7288:20:7288:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7288:9:7288:23 | getElement(...) | +| Test.java:7295:20:7295:22 | out : ArrayDeque [] : Object | Test.java:110:19:110:32 | it : ArrayDeque [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7295:9:7295:23 | getElement(...) | +| Test.java:7302:20:7302:22 | out : ConcurrentLinkedQueue [] : Object | Test.java:110:19:110:32 | it : ConcurrentLinkedQueue [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7302:9:7302:23 | getElement(...) | +| Test.java:7309:20:7309:22 | out : LinkedBlockingDeque [] : Object | Test.java:110:19:110:32 | it : LinkedBlockingDeque [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7309:9:7309:23 | getElement(...) | +| Test.java:7316:20:7316:22 | out : LinkedBlockingQueue [] : Object | Test.java:110:19:110:32 | it : LinkedBlockingQueue [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7316:9:7316:23 | getElement(...) | +| Test.java:7323:20:7323:22 | out : PriorityBlockingQueue [] : Object | Test.java:110:19:110:32 | it : PriorityBlockingQueue [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7323:9:7323:23 | getElement(...) | +| Test.java:7330:20:7330:22 | out : PriorityQueue [] : Object | Test.java:110:19:110:32 | it : PriorityQueue [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7330:9:7330:23 | getElement(...) | +| Test.java:7337:20:7337:22 | out : Deque [] : Object | Test.java:110:19:110:32 | it : Deque [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7337:9:7337:23 | getElement(...) | +| Test.java:7344:20:7344:22 | out : Queue [] : Object | Test.java:110:19:110:32 | it : Queue [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7344:9:7344:23 | getElement(...) | +| Test.java:7351:20:7351:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7351:9:7351:23 | getElement(...) | +| Test.java:7358:20:7358:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7358:9:7358:23 | getElement(...) | +| Test.java:7365:20:7365:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7365:9:7365:35 | getElement(...) | +| Test.java:7372:20:7372:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7372:9:7372:35 | getElement(...) | +| Test.java:7379:20:7379:34 | getElement(...) : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7379:9:7379:35 | getElement(...) | +| Test.java:7386:20:7386:22 | out : SetView [] : Object | Test.java:110:19:110:32 | it : SetView [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7386:9:7386:23 | getElement(...) | +| Test.java:7393:20:7393:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:7393:9:7393:23 | getElement(...) | +| Test.java:7400:20:7400:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7400:9:7400:23 | getElement(...) | +| Test.java:7407:20:7407:22 | out : SortedSet [] : Comparable | Test.java:110:19:110:32 | it : SortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:7407:9:7407:23 | getElement(...) | +| Test.java:7414:20:7414:22 | out : SetView [] : Object | Test.java:110:19:110:32 | it : SetView [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7414:9:7414:23 | getElement(...) | +| Test.java:7421:20:7421:22 | out : SetView [] : Object | Test.java:110:19:110:32 | it : SetView [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7421:9:7421:23 | getElement(...) | +| Test.java:7428:20:7428:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7428:9:7428:23 | getElement(...) | +| Test.java:7435:20:7435:22 | out : CopyOnWriteArraySet [] : Object | Test.java:110:19:110:32 | it : CopyOnWriteArraySet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7435:9:7435:23 | getElement(...) | +| Test.java:7442:20:7442:22 | out : HashSet [] : Object | Test.java:110:19:110:32 | it : HashSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7442:9:7442:23 | getElement(...) | +| Test.java:7449:20:7449:22 | out : HashSet [] : Object | Test.java:110:19:110:32 | it : HashSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7449:9:7449:23 | getElement(...) | +| Test.java:7456:20:7456:22 | out : HashSet [] : Object | Test.java:110:19:110:32 | it : HashSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7456:9:7456:23 | getElement(...) | +| Test.java:7463:20:7463:22 | out : LinkedHashSet [] : Object | Test.java:110:19:110:32 | it : LinkedHashSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7463:9:7463:23 | getElement(...) | +| Test.java:7470:20:7470:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7470:9:7470:23 | getElement(...) | +| Test.java:7477:20:7477:22 | out : TreeSet [] : Object | Test.java:110:19:110:32 | it : TreeSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7477:9:7477:23 | getElement(...) | +| Test.java:7484:20:7484:34 | getElement(...) : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7484:9:7484:35 | getElement(...) | +| Test.java:7491:20:7491:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:7491:9:7491:23 | getElement(...) | +| Test.java:7498:20:7498:22 | out : SetView [] : Object | Test.java:110:19:110:32 | it : SetView [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7498:9:7498:23 | getElement(...) | +| Test.java:7505:20:7505:22 | out : SetView [] : Object | Test.java:110:19:110:32 | it : SetView [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7505:9:7505:23 | getElement(...) | +| Test.java:7512:20:7512:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:7512:9:7512:23 | getElement(...) | +| Test.java:7519:20:7519:22 | out : SetView [] : Object | Test.java:110:19:110:32 | it : SetView [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7519:9:7519:23 | getElement(...) | +| Test.java:7526:20:7526:22 | out : SetView [] : Object | Test.java:110:19:110:32 | it : SetView [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7526:9:7526:23 | getElement(...) | +| Test.java:7533:20:7533:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:7533:9:7533:23 | getElement(...) | +| Test.java:7538:51:7538:58 | source(...) : Object | Test.java:102:48:102:55 | column : Object | Test.java:102:76:102:134 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | Test.java:7538:32:7538:65 | newTableCell(...) : Cell [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7545:45:7545:52 | source(...) : Object | Test.java:102:41:102:45 | row : Object | Test.java:102:76:102:134 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | Test.java:7545:32:7545:65 | newTableCell(...) : Cell [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7552:57:7552:64 | source(...) : Object | Test.java:102:58:102:64 | value : Object | Test.java:102:76:102:134 | getElement(...) : Cell [] : Object | Test.java:7552:32:7552:65 | newTableCell(...) : Cell [] : Object | +| Test.java:7559:43:7559:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:7559:22:7559:51 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:7580:37:7580:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7580:22:7580:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7601:31:7601:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7601:22:7601:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7622:43:7622:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:7622:22:7622:51 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:7624:21:7624:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:7624:9:7624:24 | getMapValue(...) | +| Test.java:7631:21:7631:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:7631:9:7631:24 | getMapValue(...) | +| Test.java:7638:21:7638:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:7638:9:7638:24 | getMapValue(...) | +| Test.java:7643:31:7643:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7643:22:7643:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7645:19:7645:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7645:9:7645:22 | getMapKey(...) | +| Test.java:7652:19:7652:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7652:9:7652:22 | getMapKey(...) | +| Test.java:7659:19:7659:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7659:9:7659:22 | getMapKey(...) | +| Test.java:7664:37:7664:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7664:22:7664:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7666:20:7666:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7666:9:7666:23 | getElement(...) | +| Test.java:7673:20:7673:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7673:9:7673:23 | getElement(...) | +| Test.java:7680:20:7680:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7680:9:7680:23 | getElement(...) | +| Test.java:7685:43:7685:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:7685:22:7685:51 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:7687:21:7687:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:7687:9:7687:37 | getMapValue(...) | +| Test.java:7694:21:7694:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:7694:9:7694:37 | getMapValue(...) | +| Test.java:7701:21:7701:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:7701:9:7701:37 | getMapValue(...) | +| Test.java:7706:37:7706:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7706:22:7706:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7708:19:7708:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7708:9:7708:22 | getMapKey(...) | +| Test.java:7715:19:7715:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7715:9:7715:22 | getMapKey(...) | +| Test.java:7722:19:7722:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7722:9:7722:22 | getMapKey(...) | +| Test.java:7727:31:7727:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7727:22:7727:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7729:19:7729:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7729:9:7729:35 | getMapKey(...) | +| Test.java:7736:19:7736:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7736:9:7736:35 | getMapKey(...) | +| Test.java:7743:19:7743:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7743:9:7743:35 | getMapKey(...) | +| Test.java:7748:43:7748:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:7748:22:7748:51 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:7771:25:7771:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:7771:9:7771:28 | getTable_rowKey(...) | +| Test.java:7778:25:7778:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:7778:9:7778:28 | getTable_rowKey(...) | +| Test.java:7785:25:7785:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:7785:9:7785:28 | getTable_rowKey(...) | +| Test.java:7792:28:7792:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:7792:9:7792:31 | getTable_columnKey(...) | +| Test.java:7799:28:7799:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:7799:9:7799:31 | getTable_columnKey(...) | +| Test.java:7806:28:7806:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:7806:9:7806:31 | getTable_columnKey(...) | +| Test.java:7813:21:7813:23 | out : Table [] : Object | Test.java:120:20:120:33 | t : Table [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:7813:9:7813:24 | getMapValue(...) | +| Test.java:7820:21:7820:23 | out : ImmutableTable [] : Object | Test.java:120:20:120:33 | t : ImmutableTable [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:7820:9:7820:24 | getMapValue(...) | +| Test.java:7827:21:7827:23 | out : ArrayTable [] : Object | Test.java:120:20:120:33 | t : ArrayTable [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:7827:9:7827:24 | getMapValue(...) | +| Test.java:7832:43:7832:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:7832:22:7832:51 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:7834:21:7834:23 | out : Table [] : Object | Test.java:120:20:120:33 | t : Table [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:7834:9:7834:24 | getMapValue(...) | +| Test.java:7841:21:7841:23 | out : ImmutableTable [] : Object | Test.java:120:20:120:33 | t : ImmutableTable [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:7841:9:7841:24 | getMapValue(...) | +| Test.java:7848:21:7848:23 | out : ArrayTable [] : Object | Test.java:120:20:120:33 | t : ArrayTable [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:7848:9:7848:24 | getMapValue(...) | +| Test.java:7853:37:7853:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7853:22:7853:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7855:28:7855:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:7855:9:7855:31 | getTable_columnKey(...) | +| Test.java:7862:28:7862:30 | out : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:7862:9:7862:31 | getTable_columnKey(...) | +| Test.java:7869:28:7869:30 | out : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:7869:9:7869:31 | getTable_columnKey(...) | +| Test.java:7874:31:7874:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7874:22:7874:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7876:25:7876:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:7876:9:7876:28 | getTable_rowKey(...) | +| Test.java:7883:25:7883:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:7883:9:7883:28 | getTable_rowKey(...) | +| Test.java:7890:25:7890:27 | out : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:7890:9:7890:28 | getTable_rowKey(...) | +| Test.java:7895:43:7895:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:7895:22:7895:51 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:7923:61:7923:68 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:7923:40:7923:69 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:7925:21:7925:23 | out : SortedMap [] : Object | Test.java:118:20:118:31 | map : SortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:7925:9:7925:24 | getMapValue(...) | +| Test.java:7930:43:7930:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:7930:22:7930:51 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:7932:21:7932:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:7932:9:7932:24 | getMapValue(...) | +| Test.java:7939:21:7939:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:7939:9:7939:24 | getMapValue(...) | +| Test.java:7946:21:7946:23 | out : ImmutableMap [] : Object | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:7946:9:7946:24 | getMapValue(...) | +| Test.java:7951:55:7951:62 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7951:40:7951:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7953:19:7953:21 | out : SortedMap [] : Object | Test.java:99:18:99:29 | map : SortedMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7953:9:7953:22 | getMapKey(...) | +| Test.java:7958:37:7958:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7958:22:7958:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7960:19:7960:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7960:9:7960:22 | getMapKey(...) | +| Test.java:7967:19:7967:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7967:9:7967:22 | getMapKey(...) | +| Test.java:7974:19:7974:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7974:9:7974:22 | getMapKey(...) | +| Test.java:7979:49:7979:56 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7979:40:7979:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7981:20:7981:22 | out : SortedSet [] : Object | Test.java:110:19:110:32 | it : SortedSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7981:9:7981:23 | getElement(...) | +| Test.java:7986:49:7986:56 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7986:40:7986:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7988:20:7988:22 | out : SortedSet [] : Object | Test.java:110:19:110:32 | it : SortedSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7988:9:7988:23 | getElement(...) | +| Test.java:7993:31:7993:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7993:22:7993:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7995:20:7995:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7995:9:7995:23 | getElement(...) | +| Test.java:8002:20:8002:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:8002:9:8002:23 | getElement(...) | +| Test.java:8009:20:8009:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:8009:9:8009:23 | getElement(...) | +| Test.java:8014:61:8014:68 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:8014:40:8014:69 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8016:21:8016:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:8016:9:8016:37 | getMapValue(...) | +| Test.java:8021:61:8021:68 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:8021:40:8021:69 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8023:21:8023:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:8023:9:8023:37 | getMapValue(...) | +| Test.java:8028:43:8028:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:8028:22:8028:51 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8030:21:8030:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:8030:9:8030:37 | getMapValue(...) | +| Test.java:8037:21:8037:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:8037:9:8037:37 | getMapValue(...) | +| Test.java:8044:21:8044:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:8044:9:8044:37 | getMapValue(...) | +| Test.java:8049:55:8049:62 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8049:40:8049:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8051:19:8051:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:8051:9:8051:35 | getMapKey(...) | +| Test.java:8056:55:8056:62 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8056:40:8056:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8058:19:8058:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:8058:9:8058:35 | getMapKey(...) | +| Test.java:8063:37:8063:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8063:22:8063:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8065:19:8065:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:8065:9:8065:35 | getMapKey(...) | +| Test.java:8072:19:8072:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:8072:9:8072:35 | getMapKey(...) | +| Test.java:8079:19:8079:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:8079:9:8079:35 | getMapKey(...) | +| Test.java:8084:49:8084:56 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8084:40:8084:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8086:19:8086:21 | out : SortedMap [] : Object | Test.java:99:18:99:29 | map : SortedMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:8086:9:8086:22 | getMapKey(...) | +| Test.java:8091:49:8091:56 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8091:40:8091:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8093:19:8093:21 | out : SortedMap [] : Object | Test.java:99:18:99:29 | map : SortedMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:8093:9:8093:22 | getMapKey(...) | +| Test.java:8098:31:8098:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8098:22:8098:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8100:19:8100:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:8100:9:8100:22 | getMapKey(...) | +| Test.java:8107:19:8107:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:8107:9:8107:22 | getMapKey(...) | +| Test.java:8114:19:8114:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:8114:9:8114:22 | getMapKey(...) | +| Test.java:8121:20:8121:22 | out : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:8121:9:8121:23 | getElement(...) | +| Test.java:8126:43:8126:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:8126:22:8126:51 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8128:20:8128:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:8128:9:8128:23 | getElement(...) | +| Test.java:8135:20:8135:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:8135:9:8135:23 | getElement(...) | +| Test.java:8163:25:8163:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:8163:9:8163:28 | getTable_rowKey(...) | +| Test.java:8170:28:8170:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:8170:9:8170:31 | getTable_columnKey(...) | +| Test.java:8177:21:8177:23 | out : Table [] : Object | Test.java:120:20:120:33 | t : Table [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:8177:9:8177:24 | getMapValue(...) | +| Test.java:8182:43:8182:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:8182:22:8182:51 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8184:21:8184:23 | out : Table [] : Object | Test.java:120:20:120:33 | t : Table [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:8184:9:8184:24 | getMapValue(...) | +| Test.java:8189:37:8189:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8189:22:8189:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8191:28:8191:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:8191:9:8191:31 | getTable_columnKey(...) | +| Test.java:8196:31:8196:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8196:22:8196:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8198:25:8198:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:8198:9:8198:28 | getTable_rowKey(...) | +| Test.java:8203:37:8203:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8203:22:8203:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8205:28:8205:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:8205:9:8205:31 | getTable_columnKey(...) | +| Test.java:8210:31:8210:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8210:22:8210:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8212:25:8212:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:8212:9:8212:28 | getTable_rowKey(...) | +| Test.java:8217:43:8217:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:8217:22:8217:51 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8219:21:8219:23 | out : Table [] : Object | Test.java:120:20:120:33 | t : Table [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:8219:9:8219:24 | getMapValue(...) | +| Test.java:8224:37:8224:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8224:22:8224:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8226:25:8226:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:8226:9:8226:28 | getTable_rowKey(...) | +| Test.java:8231:31:8231:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8231:22:8231:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8233:28:8233:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:8233:9:8233:31 | getTable_columnKey(...) | +| Test.java:8238:61:8238:68 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:8238:40:8238:69 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8240:21:8240:23 | out : RowSortedTable [] : Object | Test.java:120:20:120:33 | t : RowSortedTable [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:8240:9:8240:24 | getMapValue(...) | +| Test.java:8245:55:8245:62 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8245:40:8245:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8247:28:8247:30 | out : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : RowSortedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:8247:9:8247:31 | getTable_columnKey(...) | +| Test.java:8252:49:8252:56 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8252:40:8252:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8254:25:8254:27 | out : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : RowSortedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:8254:9:8254:28 | getTable_rowKey(...) | +| Test.java:8259:43:8259:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:8259:22:8259:51 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8261:21:8261:23 | out : Table [] : Object | Test.java:120:20:120:33 | t : Table [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:8261:9:8261:24 | getMapValue(...) | +| Test.java:8266:37:8266:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8266:22:8266:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8268:28:8268:30 | out : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : Table [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:8268:9:8268:31 | getTable_columnKey(...) | +| Test.java:8273:31:8273:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8273:22:8273:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8275:25:8275:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:8275:9:8275:28 | getTable_rowKey(...) | +| Test.java:8280:61:8280:68 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:8280:40:8280:69 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:8282:21:8282:23 | out : TreeBasedTable [] : Object | Test.java:120:20:120:33 | t : TreeBasedTable [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:8282:9:8282:24 | getMapValue(...) | +| Test.java:8287:55:8287:62 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8287:40:8287:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:8289:28:8289:30 | out : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:27:96:40 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:96:52:96:85 | next(...) : Object | Test.java:8289:9:8289:31 | getTable_columnKey(...) | +| Test.java:8294:49:8294:56 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8294:40:8294:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:8296:25:8296:27 | out : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:8296:9:8296:28 | getTable_rowKey(...) | +| Test.java:8303:19:8303:21 | out : TreeMultimap [] : Object | Test.java:100:18:100:34 | map : TreeMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:8303:9:8303:22 | getMapKey(...) | +| Test.java:8310:21:8310:23 | out : TreeMultimap [] : Object | Test.java:119:20:119:36 | map : TreeMultimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:8310:9:8310:24 | getMapValue(...) | +| Test.java:8317:20:8317:22 | out : TreeMultiset [] : Object | Test.java:110:19:110:32 | it : TreeMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:8317:9:8317:23 | getElement(...) | +testFailures diff --git a/java/ql/test/library-tests/frameworks/hudson/test.expected b/java/ql/test/library-tests/frameworks/hudson/test.expected index e69de29bb2d..af486409dc3 100644 --- a/java/ql/test/library-tests/frameworks/hudson/test.expected +++ b/java/ql/test/library-tests/frameworks/hudson/test.expected @@ -0,0 +1,15 @@ +models +| 1 | Summary: hudson.remoting; URLDeserializationHelper; true; wrapIfRequired; (URL); ; Argument[0]; ReturnValue; taint; ai-manual | +edges +| Test.java:21:13:21:26 | (...)... : URL | Test.java:22:50:22:51 | in : URL | provenance | | +| Test.java:21:19:21:26 | source(...) : Object | Test.java:21:13:21:26 | (...)... : URL | provenance | | +| Test.java:22:10:22:52 | wrapIfRequired(...) : URL | Test.java:23:9:23:11 | out | provenance | | +| Test.java:22:50:22:51 | in : URL | Test.java:22:10:22:52 | wrapIfRequired(...) : URL | provenance | MaD:1 | +nodes +| Test.java:21:13:21:26 | (...)... : URL | semmle.label | (...)... : URL | +| Test.java:21:19:21:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:22:10:22:52 | wrapIfRequired(...) : URL | semmle.label | wrapIfRequired(...) : URL | +| Test.java:22:50:22:51 | in : URL | semmle.label | in : URL | +| Test.java:23:9:23:11 | out | semmle.label | out | +subpaths +testFailures diff --git a/java/ql/test/library-tests/frameworks/jackson/test.expected b/java/ql/test/library-tests/frameworks/jackson/test.expected index e69de29bb2d..d832af31cd4 100644 --- a/java/ql/test/library-tests/frameworks/jackson/test.expected +++ b/java/ql/test/library-tests/frameworks/jackson/test.expected @@ -0,0 +1,340 @@ +models +| 1 | Summary: com.fasterxml.jackson.core; JsonFactory; false; createParser; ; ; Argument[0]; ReturnValue; taint; manual | +| 2 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; convertValue; ; ; Argument[0]; ReturnValue; taint; manual | +| 3 | Summary: com.fasterxml.jackson.databind; ObjectMapper; false; createParser; ; ; Argument[0]; ReturnValue; taint; manual | +| 4 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0]; ReturnValue; taint; manual | +| 5 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0].MapValue; ReturnValue; taint; manual | +| 6 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0].MapValue.Element; ReturnValue; taint; manual | +| 7 | Summary: com.fasterxml.jackson.databind; ObjectReader; false; createParser; ; ; Argument[0]; ReturnValue; taint; manual | +| 8 | Summary: java.util; Map; false; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual | +edges +| Test.java:20:25:20:38 | element : Object | Test.java:21:23:21:29 | element : Object | provenance | | +| Test.java:21:23:21:29 | element : Object | Test.java:21:10:21:30 | of(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:35:16:35:32 | (...)... : char[] | Test.java:37:32:37:33 | in : char[] | provenance | | +| Test.java:35:25:35:32 | source(...) : Object | Test.java:35:16:35:32 | (...)... : char[] | provenance | | +| Test.java:37:10:37:40 | createParser(...) : JsonParser | Test.java:38:9:38:11 | out | provenance | | +| Test.java:37:32:37:33 | in : char[] | Test.java:37:10:37:40 | createParser(...) : JsonParser | provenance | MaD:1 | +| Test.java:43:16:43:32 | (...)... : char[] | Test.java:45:32:45:33 | in : char[] | provenance | | +| Test.java:43:25:43:32 | source(...) : Object | Test.java:43:16:43:32 | (...)... : char[] | provenance | | +| Test.java:45:10:45:34 | createParser(...) : JsonParser | Test.java:46:9:46:11 | out | provenance | | +| Test.java:45:32:45:33 | in : char[] | Test.java:45:10:45:34 | createParser(...) : JsonParser | provenance | MaD:1 | +| Test.java:51:16:51:32 | (...)... : byte[] | Test.java:53:32:53:33 | in : byte[] | provenance | | +| Test.java:51:25:51:32 | source(...) : Object | Test.java:51:16:51:32 | (...)... : byte[] | provenance | | +| Test.java:53:10:53:40 | createParser(...) : JsonParser | Test.java:54:9:54:11 | out | provenance | | +| Test.java:53:32:53:33 | in : byte[] | Test.java:53:10:53:40 | createParser(...) : JsonParser | provenance | MaD:1 | +| Test.java:59:16:59:32 | (...)... : byte[] | Test.java:61:32:61:33 | in : byte[] | provenance | | +| Test.java:59:25:59:32 | source(...) : Object | Test.java:59:16:59:32 | (...)... : byte[] | provenance | | +| Test.java:61:10:61:34 | createParser(...) : JsonParser | Test.java:62:9:62:11 | out | provenance | | +| Test.java:61:32:61:33 | in : byte[] | Test.java:61:10:61:34 | createParser(...) : JsonParser | provenance | MaD:1 | +| Test.java:67:13:67:26 | (...)... : URL | Test.java:69:32:69:33 | in : URL | provenance | | +| Test.java:67:19:67:26 | source(...) : Object | Test.java:67:13:67:26 | (...)... : URL | provenance | | +| Test.java:69:10:69:34 | createParser(...) : JsonParser | Test.java:70:9:70:11 | out | provenance | | +| Test.java:69:32:69:33 | in : URL | Test.java:69:10:69:34 | createParser(...) : JsonParser | provenance | MaD:1 | +| Test.java:75:16:75:32 | (...)... : String | Test.java:77:32:77:33 | in : String | provenance | | +| Test.java:75:25:75:32 | source(...) : Object | Test.java:75:16:75:32 | (...)... : String | provenance | | +| Test.java:77:10:77:34 | createParser(...) : JsonParser | Test.java:78:9:78:11 | out | provenance | | +| Test.java:77:32:77:33 | in : String | Test.java:77:10:77:34 | createParser(...) : JsonParser | provenance | MaD:1 | +| Test.java:83:16:83:32 | (...)... : Reader | Test.java:85:32:85:33 | in : Reader | provenance | | +| Test.java:83:25:83:32 | source(...) : Object | Test.java:83:16:83:32 | (...)... : Reader | provenance | | +| Test.java:85:10:85:34 | createParser(...) : JsonParser | Test.java:86:9:86:11 | out | provenance | | +| Test.java:85:32:85:33 | in : Reader | Test.java:85:10:85:34 | createParser(...) : JsonParser | provenance | MaD:1 | +| Test.java:91:21:91:42 | (...)... : InputStream | Test.java:93:32:93:33 | in : InputStream | provenance | | +| Test.java:91:35:91:42 | source(...) : Object | Test.java:91:21:91:42 | (...)... : InputStream | provenance | | +| Test.java:93:10:93:34 | createParser(...) : JsonParser | Test.java:94:9:94:11 | out | provenance | | +| Test.java:93:32:93:33 | in : InputStream | Test.java:93:10:93:34 | createParser(...) : JsonParser | provenance | MaD:1 | +| Test.java:99:14:99:28 | (...)... : File | Test.java:101:32:101:33 | in : File | provenance | | +| Test.java:99:21:99:28 | source(...) : Object | Test.java:99:14:99:28 | (...)... : File | provenance | | +| Test.java:101:10:101:34 | createParser(...) : JsonParser | Test.java:102:9:102:11 | out | provenance | | +| Test.java:101:32:101:33 | in : File | Test.java:101:10:101:34 | createParser(...) : JsonParser | provenance | MaD:1 | +| Test.java:107:19:107:38 | (...)... : DataInput | Test.java:109:32:109:33 | in : DataInput | provenance | | +| Test.java:107:31:107:38 | source(...) : Object | Test.java:107:19:107:38 | (...)... : DataInput | provenance | | +| Test.java:109:10:109:34 | createParser(...) : JsonParser | Test.java:110:9:110:11 | out | provenance | | +| Test.java:109:32:109:33 | in : DataInput | Test.java:109:10:109:34 | createParser(...) : JsonParser | provenance | MaD:1 | +| Test.java:115:16:115:32 | (...)... : char[] | Test.java:117:32:117:33 | in : char[] | provenance | | +| Test.java:115:25:115:32 | source(...) : Object | Test.java:115:16:115:32 | (...)... : char[] | provenance | | +| Test.java:117:10:117:40 | createParser(...) : JsonParser | Test.java:118:9:118:11 | out | provenance | | +| Test.java:117:32:117:33 | in : char[] | Test.java:117:10:117:40 | createParser(...) : JsonParser | provenance | MaD:3 | +| Test.java:123:16:123:32 | (...)... : char[] | Test.java:125:32:125:33 | in : char[] | provenance | | +| Test.java:123:25:123:32 | source(...) : Object | Test.java:123:16:123:32 | (...)... : char[] | provenance | | +| Test.java:125:10:125:34 | createParser(...) : JsonParser | Test.java:126:9:126:11 | out | provenance | | +| Test.java:125:32:125:33 | in : char[] | Test.java:125:10:125:34 | createParser(...) : JsonParser | provenance | MaD:3 | +| Test.java:131:16:131:32 | (...)... : byte[] | Test.java:133:32:133:33 | in : byte[] | provenance | | +| Test.java:131:25:131:32 | source(...) : Object | Test.java:131:16:131:32 | (...)... : byte[] | provenance | | +| Test.java:133:10:133:40 | createParser(...) : JsonParser | Test.java:134:9:134:11 | out | provenance | | +| Test.java:133:32:133:33 | in : byte[] | Test.java:133:10:133:40 | createParser(...) : JsonParser | provenance | MaD:3 | +| Test.java:139:16:139:32 | (...)... : byte[] | Test.java:141:32:141:33 | in : byte[] | provenance | | +| Test.java:139:25:139:32 | source(...) : Object | Test.java:139:16:139:32 | (...)... : byte[] | provenance | | +| Test.java:141:10:141:34 | createParser(...) : JsonParser | Test.java:142:9:142:11 | out | provenance | | +| Test.java:141:32:141:33 | in : byte[] | Test.java:141:10:141:34 | createParser(...) : JsonParser | provenance | MaD:3 | +| Test.java:147:13:147:26 | (...)... : URL | Test.java:149:32:149:33 | in : URL | provenance | | +| Test.java:147:19:147:26 | source(...) : Object | Test.java:147:13:147:26 | (...)... : URL | provenance | | +| Test.java:149:10:149:34 | createParser(...) : JsonParser | Test.java:150:9:150:11 | out | provenance | | +| Test.java:149:32:149:33 | in : URL | Test.java:149:10:149:34 | createParser(...) : JsonParser | provenance | MaD:3 | +| Test.java:155:16:155:32 | (...)... : String | Test.java:157:32:157:33 | in : String | provenance | | +| Test.java:155:25:155:32 | source(...) : Object | Test.java:155:16:155:32 | (...)... : String | provenance | | +| Test.java:157:10:157:34 | createParser(...) : JsonParser | Test.java:158:9:158:11 | out | provenance | | +| Test.java:157:32:157:33 | in : String | Test.java:157:10:157:34 | createParser(...) : JsonParser | provenance | MaD:3 | +| Test.java:163:16:163:32 | (...)... : Reader | Test.java:165:32:165:33 | in : Reader | provenance | | +| Test.java:163:25:163:32 | source(...) : Object | Test.java:163:16:163:32 | (...)... : Reader | provenance | | +| Test.java:165:10:165:34 | createParser(...) : JsonParser | Test.java:166:9:166:11 | out | provenance | | +| Test.java:165:32:165:33 | in : Reader | Test.java:165:10:165:34 | createParser(...) : JsonParser | provenance | MaD:3 | +| Test.java:171:21:171:42 | (...)... : InputStream | Test.java:173:32:173:33 | in : InputStream | provenance | | +| Test.java:171:35:171:42 | source(...) : Object | Test.java:171:21:171:42 | (...)... : InputStream | provenance | | +| Test.java:173:10:173:34 | createParser(...) : JsonParser | Test.java:174:9:174:11 | out | provenance | | +| Test.java:173:32:173:33 | in : InputStream | Test.java:173:10:173:34 | createParser(...) : JsonParser | provenance | MaD:3 | +| Test.java:179:14:179:28 | (...)... : File | Test.java:181:32:181:33 | in : File | provenance | | +| Test.java:179:21:179:28 | source(...) : Object | Test.java:179:14:179:28 | (...)... : File | provenance | | +| Test.java:181:10:181:34 | createParser(...) : JsonParser | Test.java:182:9:182:11 | out | provenance | | +| Test.java:181:32:181:33 | in : File | Test.java:181:10:181:34 | createParser(...) : JsonParser | provenance | MaD:3 | +| Test.java:187:19:187:38 | (...)... : DataInput | Test.java:189:32:189:33 | in : DataInput | provenance | | +| Test.java:187:31:187:38 | source(...) : Object | Test.java:187:19:187:38 | (...)... : DataInput | provenance | | +| Test.java:189:10:189:34 | createParser(...) : JsonParser | Test.java:190:9:190:11 | out | provenance | | +| Test.java:189:32:189:33 | in : DataInput | Test.java:189:10:189:34 | createParser(...) : JsonParser | provenance | MaD:3 | +| Test.java:195:16:195:32 | (...)... : Object | Test.java:197:32:197:33 | in : Object | provenance | | +| Test.java:195:25:195:32 | source(...) : Object | Test.java:195:16:195:32 | (...)... : Object | provenance | | +| Test.java:197:10:197:56 | convertValue(...) : Object | Test.java:198:9:198:11 | out | provenance | | +| Test.java:197:32:197:33 | in : Object | Test.java:197:10:197:56 | convertValue(...) : Object | provenance | MaD:2 | +| Test.java:203:16:203:32 | (...)... : Object | Test.java:205:32:205:33 | in : Object | provenance | | +| Test.java:203:25:203:32 | source(...) : Object | Test.java:203:16:203:32 | (...)... : Object | provenance | | +| Test.java:205:10:205:51 | convertValue(...) : Object | Test.java:206:9:206:11 | out | provenance | | +| Test.java:205:32:205:33 | in : Object | Test.java:205:10:205:51 | convertValue(...) : Object | provenance | MaD:2 | +| Test.java:211:16:211:32 | (...)... : Object | Test.java:213:32:213:33 | in : Object | provenance | | +| Test.java:211:25:211:32 | source(...) : Object | Test.java:211:16:211:32 | (...)... : Object | provenance | | +| Test.java:213:10:213:48 | convertValue(...) : Object | Test.java:214:9:214:11 | out | provenance | | +| Test.java:213:32:213:33 | in : Object | Test.java:213:10:213:48 | convertValue(...) : Object | provenance | MaD:2 | +| Test.java:219:16:219:32 | (...)... : Object | Test.java:221:31:221:32 | in : Object | provenance | | +| Test.java:219:25:219:32 | source(...) : Object | Test.java:219:16:219:32 | (...)... : Object | provenance | | +| Test.java:221:10:221:33 | valueToTree(...) : JsonNode | Test.java:222:9:222:11 | out | provenance | | +| Test.java:221:31:221:32 | in : Object | Test.java:221:10:221:33 | valueToTree(...) : JsonNode | provenance | MaD:4 | +| Test.java:221:31:221:32 | in : Object | Test.java:221:10:221:33 | valueToTree(...) : JsonNode | provenance | MaD:5 | +| Test.java:221:31:221:32 | in : Object | Test.java:221:10:221:33 | valueToTree(...) : JsonNode | provenance | MaD:6 | +| Test.java:228:16:228:49 | (...)... : Map [] : Object | Test.java:230:31:230:32 | in : Map [] : Object | provenance | | +| Test.java:228:25:228:49 | newWithMapValue(...) : Map [] : Object | Test.java:228:16:228:49 | (...)... : Map [] : Object | provenance | | +| Test.java:228:41:228:48 | source(...) : Object | Test.java:20:25:20:38 | element : Object | provenance | | +| Test.java:228:41:228:48 | source(...) : Object | Test.java:228:25:228:49 | newWithMapValue(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:230:10:230:33 | valueToTree(...) : JsonNode | Test.java:231:9:231:11 | out | provenance | | +| Test.java:230:31:230:32 | in : Map [] : Object | Test.java:230:10:230:33 | valueToTree(...) : JsonNode | provenance | MaD:5 | +| Test.java:230:31:230:32 | in : Map [] : Object | Test.java:230:10:230:33 | valueToTree(...) : JsonNode | provenance | MaD:6 | +| Test.java:236:16:236:32 | (...)... : char[] | Test.java:238:32:238:33 | in : char[] | provenance | | +| Test.java:236:25:236:32 | source(...) : Object | Test.java:236:16:236:32 | (...)... : char[] | provenance | | +| Test.java:238:10:238:40 | createParser(...) : JsonParser | Test.java:239:9:239:11 | out | provenance | | +| Test.java:238:32:238:33 | in : char[] | Test.java:238:10:238:40 | createParser(...) : JsonParser | provenance | MaD:7 | +| Test.java:244:16:244:32 | (...)... : char[] | Test.java:246:32:246:33 | in : char[] | provenance | | +| Test.java:244:25:244:32 | source(...) : Object | Test.java:244:16:244:32 | (...)... : char[] | provenance | | +| Test.java:246:10:246:34 | createParser(...) : JsonParser | Test.java:247:9:247:11 | out | provenance | | +| Test.java:246:32:246:33 | in : char[] | Test.java:246:10:246:34 | createParser(...) : JsonParser | provenance | MaD:7 | +| Test.java:252:16:252:32 | (...)... : byte[] | Test.java:254:32:254:33 | in : byte[] | provenance | | +| Test.java:252:25:252:32 | source(...) : Object | Test.java:252:16:252:32 | (...)... : byte[] | provenance | | +| Test.java:254:10:254:40 | createParser(...) : JsonParser | Test.java:255:9:255:11 | out | provenance | | +| Test.java:254:32:254:33 | in : byte[] | Test.java:254:10:254:40 | createParser(...) : JsonParser | provenance | MaD:7 | +| Test.java:260:16:260:32 | (...)... : byte[] | Test.java:262:32:262:33 | in : byte[] | provenance | | +| Test.java:260:25:260:32 | source(...) : Object | Test.java:260:16:260:32 | (...)... : byte[] | provenance | | +| Test.java:262:10:262:34 | createParser(...) : JsonParser | Test.java:263:9:263:11 | out | provenance | | +| Test.java:262:32:262:33 | in : byte[] | Test.java:262:10:262:34 | createParser(...) : JsonParser | provenance | MaD:7 | +| Test.java:268:13:268:26 | (...)... : URL | Test.java:270:32:270:33 | in : URL | provenance | | +| Test.java:268:19:268:26 | source(...) : Object | Test.java:268:13:268:26 | (...)... : URL | provenance | | +| Test.java:270:10:270:34 | createParser(...) : JsonParser | Test.java:271:9:271:11 | out | provenance | | +| Test.java:270:32:270:33 | in : URL | Test.java:270:10:270:34 | createParser(...) : JsonParser | provenance | MaD:7 | +| Test.java:276:16:276:32 | (...)... : String | Test.java:278:32:278:33 | in : String | provenance | | +| Test.java:276:25:276:32 | source(...) : Object | Test.java:276:16:276:32 | (...)... : String | provenance | | +| Test.java:278:10:278:34 | createParser(...) : JsonParser | Test.java:279:9:279:11 | out | provenance | | +| Test.java:278:32:278:33 | in : String | Test.java:278:10:278:34 | createParser(...) : JsonParser | provenance | MaD:7 | +| Test.java:284:16:284:32 | (...)... : Reader | Test.java:286:32:286:33 | in : Reader | provenance | | +| Test.java:284:25:284:32 | source(...) : Object | Test.java:284:16:284:32 | (...)... : Reader | provenance | | +| Test.java:286:10:286:34 | createParser(...) : JsonParser | Test.java:287:9:287:11 | out | provenance | | +| Test.java:286:32:286:33 | in : Reader | Test.java:286:10:286:34 | createParser(...) : JsonParser | provenance | MaD:7 | +| Test.java:292:21:292:42 | (...)... : InputStream | Test.java:294:32:294:33 | in : InputStream | provenance | | +| Test.java:292:35:292:42 | source(...) : Object | Test.java:292:21:292:42 | (...)... : InputStream | provenance | | +| Test.java:294:10:294:34 | createParser(...) : JsonParser | Test.java:295:9:295:11 | out | provenance | | +| Test.java:294:32:294:33 | in : InputStream | Test.java:294:10:294:34 | createParser(...) : JsonParser | provenance | MaD:7 | +| Test.java:300:14:300:28 | (...)... : File | Test.java:302:32:302:33 | in : File | provenance | | +| Test.java:300:21:300:28 | source(...) : Object | Test.java:300:14:300:28 | (...)... : File | provenance | | +| Test.java:302:10:302:34 | createParser(...) : JsonParser | Test.java:303:9:303:11 | out | provenance | | +| Test.java:302:32:302:33 | in : File | Test.java:302:10:302:34 | createParser(...) : JsonParser | provenance | MaD:7 | +| Test.java:308:19:308:38 | (...)... : DataInput | Test.java:310:32:310:33 | in : DataInput | provenance | | +| Test.java:308:31:308:38 | source(...) : Object | Test.java:308:19:308:38 | (...)... : DataInput | provenance | | +| Test.java:310:10:310:34 | createParser(...) : JsonParser | Test.java:311:9:311:11 | out | provenance | | +| Test.java:310:32:310:33 | in : DataInput | Test.java:310:10:310:34 | createParser(...) : JsonParser | provenance | MaD:7 | +nodes +| Test.java:20:25:20:38 | element : Object | semmle.label | element : Object | +| Test.java:21:10:21:30 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:21:23:21:29 | element : Object | semmle.label | element : Object | +| Test.java:35:16:35:32 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:35:25:35:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:37:10:37:40 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:37:32:37:33 | in : char[] | semmle.label | in : char[] | +| Test.java:38:9:38:11 | out | semmle.label | out | +| Test.java:43:16:43:32 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:43:25:43:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:45:10:45:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:45:32:45:33 | in : char[] | semmle.label | in : char[] | +| Test.java:46:9:46:11 | out | semmle.label | out | +| Test.java:51:16:51:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:51:25:51:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:53:10:53:40 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:53:32:53:33 | in : byte[] | semmle.label | in : byte[] | +| Test.java:54:9:54:11 | out | semmle.label | out | +| Test.java:59:16:59:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:59:25:59:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:61:10:61:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:61:32:61:33 | in : byte[] | semmle.label | in : byte[] | +| Test.java:62:9:62:11 | out | semmle.label | out | +| Test.java:67:13:67:26 | (...)... : URL | semmle.label | (...)... : URL | +| Test.java:67:19:67:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:69:10:69:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:69:32:69:33 | in : URL | semmle.label | in : URL | +| Test.java:70:9:70:11 | out | semmle.label | out | +| Test.java:75:16:75:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:75:25:75:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:77:10:77:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:77:32:77:33 | in : String | semmle.label | in : String | +| Test.java:78:9:78:11 | out | semmle.label | out | +| Test.java:83:16:83:32 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:83:25:83:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:85:10:85:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:85:32:85:33 | in : Reader | semmle.label | in : Reader | +| Test.java:86:9:86:11 | out | semmle.label | out | +| Test.java:91:21:91:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:91:35:91:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:93:10:93:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:93:32:93:33 | in : InputStream | semmle.label | in : InputStream | +| Test.java:94:9:94:11 | out | semmle.label | out | +| Test.java:99:14:99:28 | (...)... : File | semmle.label | (...)... : File | +| Test.java:99:21:99:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:101:10:101:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:101:32:101:33 | in : File | semmle.label | in : File | +| Test.java:102:9:102:11 | out | semmle.label | out | +| Test.java:107:19:107:38 | (...)... : DataInput | semmle.label | (...)... : DataInput | +| Test.java:107:31:107:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:109:10:109:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:109:32:109:33 | in : DataInput | semmle.label | in : DataInput | +| Test.java:110:9:110:11 | out | semmle.label | out | +| Test.java:115:16:115:32 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:115:25:115:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:117:10:117:40 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:117:32:117:33 | in : char[] | semmle.label | in : char[] | +| Test.java:118:9:118:11 | out | semmle.label | out | +| Test.java:123:16:123:32 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:123:25:123:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:125:10:125:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:125:32:125:33 | in : char[] | semmle.label | in : char[] | +| Test.java:126:9:126:11 | out | semmle.label | out | +| Test.java:131:16:131:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:131:25:131:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:133:10:133:40 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:133:32:133:33 | in : byte[] | semmle.label | in : byte[] | +| Test.java:134:9:134:11 | out | semmle.label | out | +| Test.java:139:16:139:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:139:25:139:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:141:10:141:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:141:32:141:33 | in : byte[] | semmle.label | in : byte[] | +| Test.java:142:9:142:11 | out | semmle.label | out | +| Test.java:147:13:147:26 | (...)... : URL | semmle.label | (...)... : URL | +| Test.java:147:19:147:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:149:10:149:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:149:32:149:33 | in : URL | semmle.label | in : URL | +| Test.java:150:9:150:11 | out | semmle.label | out | +| Test.java:155:16:155:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:155:25:155:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:157:10:157:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:157:32:157:33 | in : String | semmle.label | in : String | +| Test.java:158:9:158:11 | out | semmle.label | out | +| Test.java:163:16:163:32 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:163:25:163:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:165:10:165:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:165:32:165:33 | in : Reader | semmle.label | in : Reader | +| Test.java:166:9:166:11 | out | semmle.label | out | +| Test.java:171:21:171:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:171:35:171:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:173:10:173:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:173:32:173:33 | in : InputStream | semmle.label | in : InputStream | +| Test.java:174:9:174:11 | out | semmle.label | out | +| Test.java:179:14:179:28 | (...)... : File | semmle.label | (...)... : File | +| Test.java:179:21:179:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:181:10:181:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:181:32:181:33 | in : File | semmle.label | in : File | +| Test.java:182:9:182:11 | out | semmle.label | out | +| Test.java:187:19:187:38 | (...)... : DataInput | semmle.label | (...)... : DataInput | +| Test.java:187:31:187:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:189:10:189:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:189:32:189:33 | in : DataInput | semmle.label | in : DataInput | +| Test.java:190:9:190:11 | out | semmle.label | out | +| Test.java:195:16:195:32 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:195:25:195:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:197:10:197:56 | convertValue(...) : Object | semmle.label | convertValue(...) : Object | +| Test.java:197:32:197:33 | in : Object | semmle.label | in : Object | +| Test.java:198:9:198:11 | out | semmle.label | out | +| Test.java:203:16:203:32 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:203:25:203:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:205:10:205:51 | convertValue(...) : Object | semmle.label | convertValue(...) : Object | +| Test.java:205:32:205:33 | in : Object | semmle.label | in : Object | +| Test.java:206:9:206:11 | out | semmle.label | out | +| Test.java:211:16:211:32 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:211:25:211:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:213:10:213:48 | convertValue(...) : Object | semmle.label | convertValue(...) : Object | +| Test.java:213:32:213:33 | in : Object | semmle.label | in : Object | +| Test.java:214:9:214:11 | out | semmle.label | out | +| Test.java:219:16:219:32 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:219:25:219:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:221:10:221:33 | valueToTree(...) : JsonNode | semmle.label | valueToTree(...) : JsonNode | +| Test.java:221:31:221:32 | in : Object | semmle.label | in : Object | +| Test.java:222:9:222:11 | out | semmle.label | out | +| Test.java:228:16:228:49 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:228:25:228:49 | newWithMapValue(...) : Map [] : Object | semmle.label | newWithMapValue(...) : Map [] : Object | +| Test.java:228:41:228:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:230:10:230:33 | valueToTree(...) : JsonNode | semmle.label | valueToTree(...) : JsonNode | +| Test.java:230:31:230:32 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:231:9:231:11 | out | semmle.label | out | +| Test.java:236:16:236:32 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:236:25:236:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:238:10:238:40 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:238:32:238:33 | in : char[] | semmle.label | in : char[] | +| Test.java:239:9:239:11 | out | semmle.label | out | +| Test.java:244:16:244:32 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:244:25:244:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:246:10:246:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:246:32:246:33 | in : char[] | semmle.label | in : char[] | +| Test.java:247:9:247:11 | out | semmle.label | out | +| Test.java:252:16:252:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:252:25:252:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:254:10:254:40 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:254:32:254:33 | in : byte[] | semmle.label | in : byte[] | +| Test.java:255:9:255:11 | out | semmle.label | out | +| Test.java:260:16:260:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:260:25:260:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:262:10:262:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:262:32:262:33 | in : byte[] | semmle.label | in : byte[] | +| Test.java:263:9:263:11 | out | semmle.label | out | +| Test.java:268:13:268:26 | (...)... : URL | semmle.label | (...)... : URL | +| Test.java:268:19:268:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:270:10:270:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:270:32:270:33 | in : URL | semmle.label | in : URL | +| Test.java:271:9:271:11 | out | semmle.label | out | +| Test.java:276:16:276:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:276:25:276:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:278:10:278:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:278:32:278:33 | in : String | semmle.label | in : String | +| Test.java:279:9:279:11 | out | semmle.label | out | +| Test.java:284:16:284:32 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:284:25:284:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:286:10:286:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:286:32:286:33 | in : Reader | semmle.label | in : Reader | +| Test.java:287:9:287:11 | out | semmle.label | out | +| Test.java:292:21:292:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:292:35:292:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:294:10:294:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:294:32:294:33 | in : InputStream | semmle.label | in : InputStream | +| Test.java:295:9:295:11 | out | semmle.label | out | +| Test.java:300:14:300:28 | (...)... : File | semmle.label | (...)... : File | +| Test.java:300:21:300:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:302:10:302:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:302:32:302:33 | in : File | semmle.label | in : File | +| Test.java:303:9:303:11 | out | semmle.label | out | +| Test.java:308:19:308:38 | (...)... : DataInput | semmle.label | (...)... : DataInput | +| Test.java:308:31:308:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:310:10:310:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:310:32:310:33 | in : DataInput | semmle.label | in : DataInput | +| Test.java:311:9:311:11 | out | semmle.label | out | +subpaths +| Test.java:228:41:228:48 | source(...) : Object | Test.java:20:25:20:38 | element : Object | Test.java:21:10:21:30 | of(...) : Map [] : Object | Test.java:228:25:228:49 | newWithMapValue(...) : Map [] : Object | +testFailures diff --git a/java/ql/test/library-tests/frameworks/javax-json/test.expected b/java/ql/test/library-tests/frameworks/javax-json/test.expected index e69de29bb2d..80f9222b32d 100644 --- a/java/ql/test/library-tests/frameworks/javax-json/test.expected +++ b/java/ql/test/library-tests/frameworks/javax-json/test.expected @@ -0,0 +1,4585 @@ +models +| 1 | Summary: jakarta.json; Json; false; createArrayBuilder; (Collection); ; Argument[0].Element; ReturnValue; taint; manual | +| 2 | Summary: jakarta.json; Json; false; createArrayBuilder; (JsonArray); ; Argument[0]; ReturnValue; taint; manual | +| 3 | Summary: jakarta.json; Json; false; createDiff; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 4 | Summary: jakarta.json; Json; false; createMergeDiff; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 5 | Summary: jakarta.json; Json; false; createMergePatch; ; ; Argument[0]; ReturnValue; taint; manual | +| 6 | Summary: jakarta.json; Json; false; createObjectBuilder; (JsonObject); ; Argument[0]; ReturnValue; taint; manual | +| 7 | Summary: jakarta.json; Json; false; createObjectBuilder; (Map); ; Argument[0].MapKey; ReturnValue; taint; manual | +| 8 | Summary: jakarta.json; Json; false; createObjectBuilder; (Map); ; Argument[0].MapValue; ReturnValue; taint; manual | +| 9 | Summary: jakarta.json; Json; false; createPatch; ; ; Argument[0]; ReturnValue; taint; manual | +| 10 | Summary: jakarta.json; Json; false; createPatchBuilder; ; ; Argument[0]; ReturnValue; taint; manual | +| 11 | Summary: jakarta.json; Json; false; createPointer; ; ; Argument[0]; ReturnValue; taint; manual | +| 12 | Summary: jakarta.json; Json; false; createReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 13 | Summary: jakarta.json; Json; false; createValue; ; ; Argument[0]; ReturnValue; taint; manual | +| 14 | Summary: jakarta.json; Json; false; createWriter; ; ; Argument[0]; ReturnValue; taint; manual | +| 15 | Summary: jakarta.json; Json; false; decodePointer; ; ; Argument[0]; ReturnValue; taint; manual | +| 16 | Summary: jakarta.json; Json; false; encodePointer; ; ; Argument[0]; ReturnValue; taint; manual | +| 17 | Summary: jakarta.json; JsonArray; false; getBoolean; ; ; Argument[this]; ReturnValue; taint; manual | +| 18 | Summary: jakarta.json; JsonArray; false; getBoolean; ; ; Argument[1]; ReturnValue; value; manual | +| 19 | Summary: jakarta.json; JsonArray; false; getInt; ; ; Argument[this]; ReturnValue; taint; manual | +| 20 | Summary: jakarta.json; JsonArray; false; getInt; ; ; Argument[1]; ReturnValue; value; manual | +| 21 | Summary: jakarta.json; JsonArray; false; getJsonArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 22 | Summary: jakarta.json; JsonArray; false; getJsonNumber; ; ; Argument[this]; ReturnValue; taint; manual | +| 23 | Summary: jakarta.json; JsonArray; false; getJsonObject; ; ; Argument[this]; ReturnValue; taint; manual | +| 24 | Summary: jakarta.json; JsonArray; false; getJsonString; ; ; Argument[this]; ReturnValue; taint; manual | +| 25 | Summary: jakarta.json; JsonArray; false; getString; ; ; Argument[this]; ReturnValue; taint; manual | +| 26 | Summary: jakarta.json; JsonArray; false; getString; ; ; Argument[1]; ReturnValue; value; manual | +| 27 | Summary: jakarta.json; JsonArray; false; getValuesAs; ; ; Argument[this]; ReturnValue; taint; manual | +| 28 | Summary: jakarta.json; JsonArrayBuilder; false; add; ; ; Argument[this]; ReturnValue; value; manual | +| 29 | Summary: jakarta.json; JsonArrayBuilder; false; add; (BigDecimal); ; Argument[0]; Argument[this]; taint; manual | +| 30 | Summary: jakarta.json; JsonArrayBuilder; false; add; (BigInteger); ; Argument[0]; Argument[this]; taint; manual | +| 31 | Summary: jakarta.json; JsonArrayBuilder; false; add; (JsonArrayBuilder); ; Argument[0]; Argument[this]; taint; manual | +| 32 | Summary: jakarta.json; JsonArrayBuilder; false; add; (JsonObjectBuilder); ; Argument[0]; Argument[this]; taint; manual | +| 33 | Summary: jakarta.json; JsonArrayBuilder; false; add; (JsonValue); ; Argument[0]; Argument[this]; taint; manual | +| 34 | Summary: jakarta.json; JsonArrayBuilder; false; add; (String); ; Argument[0]; Argument[this]; taint; manual | +| 35 | Summary: jakarta.json; JsonArrayBuilder; false; add; (boolean); ; Argument[0]; Argument[this]; taint; manual | +| 36 | Summary: jakarta.json; JsonArrayBuilder; false; add; (double); ; Argument[0]; Argument[this]; taint; manual | +| 37 | Summary: jakarta.json; JsonArrayBuilder; false; add; (int); ; Argument[0]; Argument[this]; taint; manual | +| 38 | Summary: jakarta.json; JsonArrayBuilder; false; add; (int,BigDecimal); ; Argument[1]; Argument[this]; taint; manual | +| 39 | Summary: jakarta.json; JsonArrayBuilder; false; add; (int,BigInteger); ; Argument[1]; Argument[this]; taint; manual | +| 40 | Summary: jakarta.json; JsonArrayBuilder; false; add; (int,JsonArrayBuilder); ; Argument[1]; Argument[this]; taint; manual | +| 41 | Summary: jakarta.json; JsonArrayBuilder; false; add; (int,JsonObjectBuilder); ; Argument[1]; Argument[this]; taint; manual | +| 42 | Summary: jakarta.json; JsonArrayBuilder; false; add; (int,JsonValue); ; Argument[1]; Argument[this]; taint; manual | +| 43 | Summary: jakarta.json; JsonArrayBuilder; false; add; (int,String); ; Argument[1]; Argument[this]; taint; manual | +| 44 | Summary: jakarta.json; JsonArrayBuilder; false; add; (int,boolean); ; Argument[1]; Argument[this]; taint; manual | +| 45 | Summary: jakarta.json; JsonArrayBuilder; false; add; (int,double); ; Argument[1]; Argument[this]; taint; manual | +| 46 | Summary: jakarta.json; JsonArrayBuilder; false; add; (int,int); ; Argument[1]; Argument[this]; taint; manual | +| 47 | Summary: jakarta.json; JsonArrayBuilder; false; add; (int,long); ; Argument[1]; Argument[this]; taint; manual | +| 48 | Summary: jakarta.json; JsonArrayBuilder; false; add; (long); ; Argument[0]; Argument[this]; taint; manual | +| 49 | Summary: jakarta.json; JsonArrayBuilder; false; addAll; ; ; Argument[this]; ReturnValue; value; manual | +| 50 | Summary: jakarta.json; JsonArrayBuilder; false; addAll; ; ; Argument[0]; Argument[this]; taint; manual | +| 51 | Summary: jakarta.json; JsonArrayBuilder; false; addNull; ; ; Argument[this]; ReturnValue; value; manual | +| 52 | Summary: jakarta.json; JsonArrayBuilder; false; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 53 | Summary: jakarta.json; JsonArrayBuilder; false; remove; ; ; Argument[this]; ReturnValue; value; manual | +| 54 | Summary: jakarta.json; JsonArrayBuilder; false; set; ; ; Argument[this]; ReturnValue; value; manual | +| 55 | Summary: jakarta.json; JsonArrayBuilder; false; set; ; ; Argument[1]; Argument[this]; taint; manual | +| 56 | Summary: jakarta.json; JsonArrayBuilder; false; setNull; ; ; Argument[this]; ReturnValue; value; manual | +| 57 | Summary: jakarta.json; JsonMergePatch; false; apply; ; ; Argument[this]; ReturnValue; taint; manual | +| 58 | Summary: jakarta.json; JsonMergePatch; false; apply; ; ; Argument[0]; ReturnValue; taint; manual | +| 59 | Summary: jakarta.json; JsonMergePatch; false; toJsonValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 60 | Summary: jakarta.json; JsonNumber; false; bigDecimalValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 61 | Summary: jakarta.json; JsonNumber; false; bigIntegerValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 62 | Summary: jakarta.json; JsonNumber; false; bigIntegerValueExact; ; ; Argument[this]; ReturnValue; taint; manual | +| 63 | Summary: jakarta.json; JsonNumber; false; doubleValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 64 | Summary: jakarta.json; JsonNumber; false; intValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 65 | Summary: jakarta.json; JsonNumber; false; intValueExact; ; ; Argument[this]; ReturnValue; taint; manual | +| 66 | Summary: jakarta.json; JsonNumber; false; longValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 67 | Summary: jakarta.json; JsonNumber; false; longValueExact; ; ; Argument[this]; ReturnValue; taint; manual | +| 68 | Summary: jakarta.json; JsonNumber; false; numberValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 69 | Summary: jakarta.json; JsonObject; false; getBoolean; ; ; Argument[this]; ReturnValue; taint; manual | +| 70 | Summary: jakarta.json; JsonObject; false; getBoolean; ; ; Argument[1]; ReturnValue; value; manual | +| 71 | Summary: jakarta.json; JsonObject; false; getInt; ; ; Argument[this]; ReturnValue; taint; manual | +| 72 | Summary: jakarta.json; JsonObject; false; getInt; ; ; Argument[1]; ReturnValue; value; manual | +| 73 | Summary: jakarta.json; JsonObject; false; getJsonArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 74 | Summary: jakarta.json; JsonObject; false; getJsonNumber; ; ; Argument[this]; ReturnValue; taint; manual | +| 75 | Summary: jakarta.json; JsonObject; false; getJsonObject; ; ; Argument[this]; ReturnValue; taint; manual | +| 76 | Summary: jakarta.json; JsonObject; false; getJsonString; ; ; Argument[this]; ReturnValue; taint; manual | +| 77 | Summary: jakarta.json; JsonObject; false; getString; ; ; Argument[this]; ReturnValue; taint; manual | +| 78 | Summary: jakarta.json; JsonObject; false; getString; ; ; Argument[1]; ReturnValue; value; manual | +| 79 | Summary: jakarta.json; JsonObjectBuilder; false; add; ; ; Argument[this]; ReturnValue; value; manual | +| 80 | Summary: jakarta.json; JsonObjectBuilder; false; add; ; ; Argument[1]; Argument[this]; taint; manual | +| 81 | Summary: jakarta.json; JsonObjectBuilder; false; addAll; ; ; Argument[this]; ReturnValue; value; manual | +| 82 | Summary: jakarta.json; JsonObjectBuilder; false; addAll; ; ; Argument[0]; ReturnValue; value; manual | +| 83 | Summary: jakarta.json; JsonObjectBuilder; false; addNull; ; ; Argument[this]; ReturnValue; value; manual | +| 84 | Summary: jakarta.json; JsonObjectBuilder; false; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 85 | Summary: jakarta.json; JsonObjectBuilder; false; remove; ; ; Argument[this]; ReturnValue; value; manual | +| 86 | Summary: jakarta.json; JsonPatch; false; apply; ; ; Argument[this]; ReturnValue; taint; manual | +| 87 | Summary: jakarta.json; JsonPatch; false; apply; ; ; Argument[0]; ReturnValue; taint; manual | +| 88 | Summary: jakarta.json; JsonPatch; false; toJsonArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 89 | Summary: jakarta.json; JsonPatchBuilder; false; add; ; ; Argument[this]; ReturnValue; value; manual | +| 90 | Summary: jakarta.json; JsonPatchBuilder; false; add; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 91 | Summary: jakarta.json; JsonPatchBuilder; false; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 92 | Summary: jakarta.json; JsonPatchBuilder; false; copy; ; ; Argument[this]; ReturnValue; value; manual | +| 93 | Summary: jakarta.json; JsonPatchBuilder; false; copy; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 94 | Summary: jakarta.json; JsonPatchBuilder; false; move; ; ; Argument[this]; ReturnValue; value; manual | +| 95 | Summary: jakarta.json; JsonPatchBuilder; false; move; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 96 | Summary: jakarta.json; JsonPatchBuilder; false; remove; ; ; Argument[this]; ReturnValue; value; manual | +| 97 | Summary: jakarta.json; JsonPatchBuilder; false; remove; ; ; Argument[0]; ReturnValue; taint; manual | +| 98 | Summary: jakarta.json; JsonPatchBuilder; false; replace; ; ; Argument[this]; ReturnValue; value; manual | +| 99 | Summary: jakarta.json; JsonPatchBuilder; false; replace; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 100 | Summary: jakarta.json; JsonPatchBuilder; false; test; ; ; Argument[this]; ReturnValue; value; manual | +| 101 | Summary: jakarta.json; JsonPatchBuilder; false; test; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 102 | Summary: jakarta.json; JsonPointer; false; add; ; ; Argument[this]; ReturnValue; taint; manual | +| 103 | Summary: jakarta.json; JsonPointer; false; add; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 104 | Summary: jakarta.json; JsonPointer; false; getValue; ; ; Argument[0]; ReturnValue; taint; manual | +| 105 | Summary: jakarta.json; JsonPointer; false; remove; ; ; Argument[0]; ReturnValue; taint; manual | +| 106 | Summary: jakarta.json; JsonPointer; false; replace; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 107 | Summary: jakarta.json; JsonPointer; false; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 108 | Summary: jakarta.json; JsonReader; false; read; ; ; Argument[this]; ReturnValue; taint; manual | +| 109 | Summary: jakarta.json; JsonReader; false; readArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 110 | Summary: jakarta.json; JsonReader; false; readObject; ; ; Argument[this]; ReturnValue; taint; manual | +| 111 | Summary: jakarta.json; JsonReader; false; readValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 112 | Summary: jakarta.json; JsonReaderFactory; false; createReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 113 | Summary: jakarta.json; JsonString; false; getChars; ; ; Argument[this]; ReturnValue; taint; manual | +| 114 | Summary: jakarta.json; JsonString; false; getString; ; ; Argument[this]; ReturnValue; taint; manual | +| 115 | Summary: jakarta.json; JsonStructure; true; getValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 116 | Summary: jakarta.json; JsonValue; true; asJsonArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 117 | Summary: jakarta.json; JsonValue; true; asJsonObject; ; ; Argument[this]; ReturnValue; taint; manual | +| 118 | Summary: jakarta.json; JsonValue; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 119 | Summary: jakarta.json; JsonWriter; false; write; ; ; Argument[0]; Argument[this]; taint; manual | +| 120 | Summary: jakarta.json; JsonWriter; false; writeArray; ; ; Argument[0]; Argument[this]; taint; manual | +| 121 | Summary: jakarta.json; JsonWriter; false; writeObject; ; ; Argument[0]; Argument[this]; taint; manual | +| 122 | Summary: jakarta.json; JsonWriterFactory; false; createWriter; ; ; Argument[this]; Argument[0]; taint; manual | +| 123 | Summary: jakarta.json.stream; JsonParserFactory; false; createParser; ; ; Argument[0]; ReturnValue; taint; manual | +| 124 | Summary: java.util; List; false; of; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 125 | Summary: java.util; Map; false; of; ; ; Argument[0]; ReturnValue.MapKey; value; manual | +| 126 | Summary: java.util; Map; false; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual | +| 127 | Summary: javax.json; Json; false; createArrayBuilder; (Collection); ; Argument[0].Element; ReturnValue; taint; manual | +| 128 | Summary: javax.json; Json; false; createArrayBuilder; (JsonArray); ; Argument[0]; ReturnValue; taint; manual | +| 129 | Summary: javax.json; Json; false; createDiff; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 130 | Summary: javax.json; Json; false; createMergeDiff; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 131 | Summary: javax.json; Json; false; createMergePatch; ; ; Argument[0]; ReturnValue; taint; manual | +| 132 | Summary: javax.json; Json; false; createObjectBuilder; (JsonObject); ; Argument[0]; ReturnValue; taint; manual | +| 133 | Summary: javax.json; Json; false; createObjectBuilder; (Map); ; Argument[0].MapKey; ReturnValue; taint; manual | +| 134 | Summary: javax.json; Json; false; createObjectBuilder; (Map); ; Argument[0].MapValue; ReturnValue; taint; manual | +| 135 | Summary: javax.json; Json; false; createPatch; ; ; Argument[0]; ReturnValue; taint; manual | +| 136 | Summary: javax.json; Json; false; createPatchBuilder; ; ; Argument[0]; ReturnValue; taint; manual | +| 137 | Summary: javax.json; Json; false; createPointer; ; ; Argument[0]; ReturnValue; taint; manual | +| 138 | Summary: javax.json; Json; false; createReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 139 | Summary: javax.json; Json; false; createValue; ; ; Argument[0]; ReturnValue; taint; manual | +| 140 | Summary: javax.json; Json; false; createWriter; ; ; Argument[0]; ReturnValue; taint; manual | +| 141 | Summary: javax.json; Json; false; decodePointer; ; ; Argument[0]; ReturnValue; taint; manual | +| 142 | Summary: javax.json; Json; false; encodePointer; ; ; Argument[0]; ReturnValue; taint; manual | +| 143 | Summary: javax.json; JsonArray; false; getBoolean; ; ; Argument[this]; ReturnValue; taint; manual | +| 144 | Summary: javax.json; JsonArray; false; getBoolean; ; ; Argument[1]; ReturnValue; value; manual | +| 145 | Summary: javax.json; JsonArray; false; getInt; ; ; Argument[this]; ReturnValue; taint; manual | +| 146 | Summary: javax.json; JsonArray; false; getInt; ; ; Argument[1]; ReturnValue; value; manual | +| 147 | Summary: javax.json; JsonArray; false; getJsonArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 148 | Summary: javax.json; JsonArray; false; getJsonNumber; ; ; Argument[this]; ReturnValue; taint; manual | +| 149 | Summary: javax.json; JsonArray; false; getJsonObject; ; ; Argument[this]; ReturnValue; taint; manual | +| 150 | Summary: javax.json; JsonArray; false; getJsonString; ; ; Argument[this]; ReturnValue; taint; manual | +| 151 | Summary: javax.json; JsonArray; false; getString; ; ; Argument[this]; ReturnValue; taint; manual | +| 152 | Summary: javax.json; JsonArray; false; getString; ; ; Argument[1]; ReturnValue; value; manual | +| 153 | Summary: javax.json; JsonArray; false; getValuesAs; ; ; Argument[this]; ReturnValue; taint; manual | +| 154 | Summary: javax.json; JsonArrayBuilder; false; add; ; ; Argument[this]; ReturnValue; value; manual | +| 155 | Summary: javax.json; JsonArrayBuilder; false; add; (BigDecimal); ; Argument[0]; Argument[this]; taint; manual | +| 156 | Summary: javax.json; JsonArrayBuilder; false; add; (BigInteger); ; Argument[0]; Argument[this]; taint; manual | +| 157 | Summary: javax.json; JsonArrayBuilder; false; add; (JsonArrayBuilder); ; Argument[0]; Argument[this]; taint; manual | +| 158 | Summary: javax.json; JsonArrayBuilder; false; add; (JsonObjectBuilder); ; Argument[0]; Argument[this]; taint; manual | +| 159 | Summary: javax.json; JsonArrayBuilder; false; add; (JsonValue); ; Argument[0]; Argument[this]; taint; manual | +| 160 | Summary: javax.json; JsonArrayBuilder; false; add; (String); ; Argument[0]; Argument[this]; taint; manual | +| 161 | Summary: javax.json; JsonArrayBuilder; false; add; (boolean); ; Argument[0]; Argument[this]; taint; manual | +| 162 | Summary: javax.json; JsonArrayBuilder; false; add; (double); ; Argument[0]; Argument[this]; taint; manual | +| 163 | Summary: javax.json; JsonArrayBuilder; false; add; (int); ; Argument[0]; Argument[this]; taint; manual | +| 164 | Summary: javax.json; JsonArrayBuilder; false; add; (int,BigDecimal); ; Argument[1]; Argument[this]; taint; manual | +| 165 | Summary: javax.json; JsonArrayBuilder; false; add; (int,BigInteger); ; Argument[1]; Argument[this]; taint; manual | +| 166 | Summary: javax.json; JsonArrayBuilder; false; add; (int,JsonArrayBuilder); ; Argument[1]; Argument[this]; taint; manual | +| 167 | Summary: javax.json; JsonArrayBuilder; false; add; (int,JsonObjectBuilder); ; Argument[1]; Argument[this]; taint; manual | +| 168 | Summary: javax.json; JsonArrayBuilder; false; add; (int,JsonValue); ; Argument[1]; Argument[this]; taint; manual | +| 169 | Summary: javax.json; JsonArrayBuilder; false; add; (int,String); ; Argument[1]; Argument[this]; taint; manual | +| 170 | Summary: javax.json; JsonArrayBuilder; false; add; (int,boolean); ; Argument[1]; Argument[this]; taint; manual | +| 171 | Summary: javax.json; JsonArrayBuilder; false; add; (int,double); ; Argument[1]; Argument[this]; taint; manual | +| 172 | Summary: javax.json; JsonArrayBuilder; false; add; (int,int); ; Argument[1]; Argument[this]; taint; manual | +| 173 | Summary: javax.json; JsonArrayBuilder; false; add; (int,long); ; Argument[1]; Argument[this]; taint; manual | +| 174 | Summary: javax.json; JsonArrayBuilder; false; add; (long); ; Argument[0]; Argument[this]; taint; manual | +| 175 | Summary: javax.json; JsonArrayBuilder; false; addAll; ; ; Argument[this]; ReturnValue; value; manual | +| 176 | Summary: javax.json; JsonArrayBuilder; false; addAll; ; ; Argument[0]; Argument[this]; taint; manual | +| 177 | Summary: javax.json; JsonArrayBuilder; false; addNull; ; ; Argument[this]; ReturnValue; value; manual | +| 178 | Summary: javax.json; JsonArrayBuilder; false; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 179 | Summary: javax.json; JsonArrayBuilder; false; remove; ; ; Argument[this]; ReturnValue; value; manual | +| 180 | Summary: javax.json; JsonArrayBuilder; false; set; ; ; Argument[this]; ReturnValue; value; manual | +| 181 | Summary: javax.json; JsonArrayBuilder; false; set; ; ; Argument[1]; Argument[this]; taint; manual | +| 182 | Summary: javax.json; JsonArrayBuilder; false; setNull; ; ; Argument[this]; ReturnValue; value; manual | +| 183 | Summary: javax.json; JsonMergePatch; false; apply; ; ; Argument[this]; ReturnValue; taint; manual | +| 184 | Summary: javax.json; JsonMergePatch; false; apply; ; ; Argument[0]; ReturnValue; taint; manual | +| 185 | Summary: javax.json; JsonMergePatch; false; toJsonValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 186 | Summary: javax.json; JsonNumber; false; bigDecimalValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 187 | Summary: javax.json; JsonNumber; false; bigIntegerValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 188 | Summary: javax.json; JsonNumber; false; bigIntegerValueExact; ; ; Argument[this]; ReturnValue; taint; manual | +| 189 | Summary: javax.json; JsonNumber; false; doubleValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 190 | Summary: javax.json; JsonNumber; false; intValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 191 | Summary: javax.json; JsonNumber; false; intValueExact; ; ; Argument[this]; ReturnValue; taint; manual | +| 192 | Summary: javax.json; JsonNumber; false; longValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 193 | Summary: javax.json; JsonNumber; false; longValueExact; ; ; Argument[this]; ReturnValue; taint; manual | +| 194 | Summary: javax.json; JsonNumber; false; numberValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 195 | Summary: javax.json; JsonObject; false; getBoolean; ; ; Argument[this]; ReturnValue; taint; manual | +| 196 | Summary: javax.json; JsonObject; false; getBoolean; ; ; Argument[1]; ReturnValue; value; manual | +| 197 | Summary: javax.json; JsonObject; false; getInt; ; ; Argument[this]; ReturnValue; taint; manual | +| 198 | Summary: javax.json; JsonObject; false; getInt; ; ; Argument[1]; ReturnValue; value; manual | +| 199 | Summary: javax.json; JsonObject; false; getJsonArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 200 | Summary: javax.json; JsonObject; false; getJsonNumber; ; ; Argument[this]; ReturnValue; taint; manual | +| 201 | Summary: javax.json; JsonObject; false; getJsonObject; ; ; Argument[this]; ReturnValue; taint; manual | +| 202 | Summary: javax.json; JsonObject; false; getJsonString; ; ; Argument[this]; ReturnValue; taint; manual | +| 203 | Summary: javax.json; JsonObject; false; getString; ; ; Argument[this]; ReturnValue; taint; manual | +| 204 | Summary: javax.json; JsonObject; false; getString; ; ; Argument[1]; ReturnValue; value; manual | +| 205 | Summary: javax.json; JsonObjectBuilder; false; add; ; ; Argument[this]; ReturnValue; value; manual | +| 206 | Summary: javax.json; JsonObjectBuilder; false; add; ; ; Argument[1]; Argument[this]; taint; manual | +| 207 | Summary: javax.json; JsonObjectBuilder; false; addAll; ; ; Argument[this]; ReturnValue; value; manual | +| 208 | Summary: javax.json; JsonObjectBuilder; false; addAll; ; ; Argument[0]; ReturnValue; value; manual | +| 209 | Summary: javax.json; JsonObjectBuilder; false; addNull; ; ; Argument[this]; ReturnValue; value; manual | +| 210 | Summary: javax.json; JsonObjectBuilder; false; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 211 | Summary: javax.json; JsonObjectBuilder; false; remove; ; ; Argument[this]; ReturnValue; value; manual | +| 212 | Summary: javax.json; JsonPatch; false; apply; ; ; Argument[this]; ReturnValue; taint; manual | +| 213 | Summary: javax.json; JsonPatch; false; apply; ; ; Argument[0]; ReturnValue; taint; manual | +| 214 | Summary: javax.json; JsonPatch; false; toJsonArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 215 | Summary: javax.json; JsonPatchBuilder; false; add; ; ; Argument[this]; ReturnValue; value; manual | +| 216 | Summary: javax.json; JsonPatchBuilder; false; add; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 217 | Summary: javax.json; JsonPatchBuilder; false; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 218 | Summary: javax.json; JsonPatchBuilder; false; copy; ; ; Argument[this]; ReturnValue; value; manual | +| 219 | Summary: javax.json; JsonPatchBuilder; false; copy; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 220 | Summary: javax.json; JsonPatchBuilder; false; move; ; ; Argument[this]; ReturnValue; value; manual | +| 221 | Summary: javax.json; JsonPatchBuilder; false; move; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 222 | Summary: javax.json; JsonPatchBuilder; false; remove; ; ; Argument[this]; ReturnValue; value; manual | +| 223 | Summary: javax.json; JsonPatchBuilder; false; remove; ; ; Argument[0]; ReturnValue; taint; manual | +| 224 | Summary: javax.json; JsonPatchBuilder; false; replace; ; ; Argument[this]; ReturnValue; value; manual | +| 225 | Summary: javax.json; JsonPatchBuilder; false; replace; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 226 | Summary: javax.json; JsonPatchBuilder; false; test; ; ; Argument[this]; ReturnValue; value; manual | +| 227 | Summary: javax.json; JsonPatchBuilder; false; test; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 228 | Summary: javax.json; JsonPointer; false; add; ; ; Argument[this]; ReturnValue; taint; manual | +| 229 | Summary: javax.json; JsonPointer; false; add; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 230 | Summary: javax.json; JsonPointer; false; getValue; ; ; Argument[0]; ReturnValue; taint; manual | +| 231 | Summary: javax.json; JsonPointer; false; remove; ; ; Argument[0]; ReturnValue; taint; manual | +| 232 | Summary: javax.json; JsonPointer; false; replace; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 233 | Summary: javax.json; JsonReader; false; read; ; ; Argument[this]; ReturnValue; taint; manual | +| 234 | Summary: javax.json; JsonReader; false; readArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 235 | Summary: javax.json; JsonReader; false; readObject; ; ; Argument[this]; ReturnValue; taint; manual | +| 236 | Summary: javax.json; JsonReader; false; readValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 237 | Summary: javax.json; JsonReaderFactory; false; createReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 238 | Summary: javax.json; JsonString; false; getChars; ; ; Argument[this]; ReturnValue; taint; manual | +| 239 | Summary: javax.json; JsonString; false; getString; ; ; Argument[this]; ReturnValue; taint; manual | +| 240 | Summary: javax.json; JsonStructure; true; getValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 241 | Summary: javax.json; JsonValue; true; asJsonArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 242 | Summary: javax.json; JsonValue; true; asJsonObject; ; ; Argument[this]; ReturnValue; taint; manual | +| 243 | Summary: javax.json; JsonValue; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 244 | Summary: javax.json; JsonWriter; false; write; ; ; Argument[0]; Argument[this]; taint; manual | +| 245 | Summary: javax.json; JsonWriter; false; writeArray; ; ; Argument[0]; Argument[this]; taint; manual | +| 246 | Summary: javax.json; JsonWriter; false; writeObject; ; ; Argument[0]; Argument[this]; taint; manual | +| 247 | Summary: javax.json; JsonWriterFactory; false; createWriter; ; ; Argument[this]; Argument[0]; taint; manual | +| 248 | Summary: javax.json.stream; JsonParserFactory; false; createParser; ; ; Argument[0]; ReturnValue; taint; manual | +edges +| Test.java:17:28:17:41 | element : Object | Test.java:17:61:17:67 | element : Object | provenance | | +| Test.java:17:61:17:67 | element : Object | Test.java:17:53:17:68 | of(...) : List [] : Object | provenance | MaD:124 | +| Test.java:18:20:18:33 | element : Object | Test.java:18:52:18:58 | element : Object | provenance | | +| Test.java:18:52:18:58 | element : Object | Test.java:18:45:18:65 | of(...) : Map [] : Object | provenance | MaD:125 | +| Test.java:19:22:19:35 | element : Object | Test.java:19:60:19:66 | element : Object | provenance | | +| Test.java:19:60:19:66 | element : Object | Test.java:19:47:19:67 | of(...) : Map [] : Object | provenance | MaD:126 | +| Test.java:28:33:28:65 | (...)... : JsonObject | Test.java:30:32:30:33 | in : JsonObject | provenance | | +| Test.java:28:58:28:65 | source(...) : Object | Test.java:28:33:28:65 | (...)... : JsonObject | provenance | | +| Test.java:30:10:30:34 | createParser(...) : JsonParser | Test.java:31:9:31:11 | out | provenance | | +| Test.java:30:32:30:33 | in : JsonObject | Test.java:30:10:30:34 | createParser(...) : JsonParser | provenance | MaD:123 | +| Test.java:36:32:36:63 | (...)... : JsonArray | Test.java:38:32:38:33 | in : JsonArray | provenance | | +| Test.java:36:56:36:63 | source(...) : Object | Test.java:36:32:36:63 | (...)... : JsonArray | provenance | | +| Test.java:38:10:38:34 | createParser(...) : JsonParser | Test.java:39:9:39:11 | out | provenance | | +| Test.java:38:32:38:33 | in : JsonArray | Test.java:38:10:38:34 | createParser(...) : JsonParser | provenance | MaD:123 | +| Test.java:44:16:44:31 | (...)... : Reader | Test.java:46:32:46:33 | in : Reader | provenance | | +| Test.java:44:24:44:31 | source(...) : Object | Test.java:44:16:44:31 | (...)... : Reader | provenance | | +| Test.java:46:10:46:34 | createParser(...) : JsonParser | Test.java:47:9:47:11 | out | provenance | | +| Test.java:46:32:46:33 | in : Reader | Test.java:46:10:46:34 | createParser(...) : JsonParser | provenance | MaD:123 | +| Test.java:52:21:52:41 | (...)... : InputStream | Test.java:54:32:54:33 | in : InputStream | provenance | | +| Test.java:52:34:52:41 | source(...) : Object | Test.java:52:21:52:41 | (...)... : InputStream | provenance | | +| Test.java:54:10:54:40 | createParser(...) : JsonParser | Test.java:55:9:55:11 | out | provenance | | +| Test.java:54:32:54:33 | in : InputStream | Test.java:54:10:54:40 | createParser(...) : JsonParser | provenance | MaD:123 | +| Test.java:60:21:60:41 | (...)... : InputStream | Test.java:62:32:62:33 | in : InputStream | provenance | | +| Test.java:60:34:60:41 | source(...) : Object | Test.java:60:21:60:41 | (...)... : InputStream | provenance | | +| Test.java:62:10:62:34 | createParser(...) : JsonParser | Test.java:63:9:63:11 | out | provenance | | +| Test.java:62:32:62:33 | in : InputStream | Test.java:62:10:62:34 | createParser(...) : JsonParser | provenance | MaD:123 | +| Test.java:68:20:68:55 | (...)... : List [] : Object | Test.java:69:47:69:48 | in : List [] : Object | provenance | | +| Test.java:68:32:68:55 | newWithElement(...) : List [] : Object | Test.java:68:20:68:55 | (...)... : List [] : Object | provenance | | +| Test.java:68:47:68:54 | source(...) : Object | Test.java:17:28:17:41 | element : Object | provenance | | +| Test.java:68:47:68:54 | source(...) : Object | Test.java:68:32:68:55 | newWithElement(...) : List [] : Object | provenance | MaD:124 | +| Test.java:69:10:69:49 | createArrayBuilder(...) : JsonArrayBuilder | Test.java:70:9:70:11 | out | provenance | | +| Test.java:69:47:69:48 | in : List [] : Object | Test.java:69:10:69:49 | createArrayBuilder(...) : JsonArrayBuilder | provenance | MaD:1 | +| Test.java:75:32:75:63 | (...)... : JsonArray | Test.java:76:47:76:48 | in : JsonArray | provenance | | +| Test.java:75:56:75:63 | source(...) : Object | Test.java:75:32:75:63 | (...)... : JsonArray | provenance | | +| Test.java:76:10:76:49 | createArrayBuilder(...) : JsonArrayBuilder | Test.java:77:9:77:11 | out | provenance | | +| Test.java:76:47:76:48 | in : JsonArray | Test.java:76:10:76:49 | createArrayBuilder(...) : JsonArrayBuilder | provenance | MaD:2 | +| Test.java:82:36:82:71 | (...)... : JsonStructure | Test.java:83:45:83:46 | in : JsonStructure | provenance | | +| Test.java:82:64:82:71 | source(...) : Object | Test.java:82:36:82:71 | (...)... : JsonStructure | provenance | | +| Test.java:83:10:83:47 | createDiff(...) : JsonPatch | Test.java:84:9:84:11 | out | provenance | | +| Test.java:83:45:83:46 | in : JsonStructure | Test.java:83:10:83:47 | createDiff(...) : JsonPatch | provenance | MaD:3 | +| Test.java:89:36:89:71 | (...)... : JsonStructure | Test.java:90:39:90:40 | in : JsonStructure | provenance | | +| Test.java:89:64:89:71 | source(...) : Object | Test.java:89:36:89:71 | (...)... : JsonStructure | provenance | | +| Test.java:90:10:90:47 | createDiff(...) : JsonPatch | Test.java:91:9:91:11 | out | provenance | | +| Test.java:90:39:90:40 | in : JsonStructure | Test.java:90:10:90:47 | createDiff(...) : JsonPatch | provenance | MaD:3 | +| Test.java:96:32:96:63 | (...)... : JsonValue | Test.java:97:50:97:51 | in : JsonValue | provenance | | +| Test.java:96:56:96:63 | source(...) : Object | Test.java:96:32:96:63 | (...)... : JsonValue | provenance | | +| Test.java:97:10:97:52 | createMergeDiff(...) : JsonMergePatch | Test.java:98:9:98:11 | out | provenance | | +| Test.java:97:50:97:51 | in : JsonValue | Test.java:97:10:97:52 | createMergeDiff(...) : JsonMergePatch | provenance | MaD:4 | +| Test.java:103:32:103:63 | (...)... : JsonValue | Test.java:104:44:104:45 | in : JsonValue | provenance | | +| Test.java:103:56:103:63 | source(...) : Object | Test.java:103:32:103:63 | (...)... : JsonValue | provenance | | +| Test.java:104:10:104:52 | createMergeDiff(...) : JsonMergePatch | Test.java:105:9:105:11 | out | provenance | | +| Test.java:104:44:104:45 | in : JsonValue | Test.java:104:10:104:52 | createMergeDiff(...) : JsonMergePatch | provenance | MaD:4 | +| Test.java:110:32:110:63 | (...)... : JsonValue | Test.java:111:45:111:46 | in : JsonValue | provenance | | +| Test.java:110:56:110:63 | source(...) : Object | Test.java:110:32:110:63 | (...)... : JsonValue | provenance | | +| Test.java:111:10:111:47 | createMergePatch(...) : JsonMergePatch | Test.java:112:9:112:11 | out | provenance | | +| Test.java:111:45:111:46 | in : JsonValue | Test.java:111:10:111:47 | createMergePatch(...) : JsonMergePatch | provenance | MaD:5 | +| Test.java:117:33:117:65 | (...)... : JsonObject | Test.java:118:48:118:49 | in : JsonObject | provenance | | +| Test.java:117:58:117:65 | source(...) : Object | Test.java:117:33:117:65 | (...)... : JsonObject | provenance | | +| Test.java:118:10:118:50 | createObjectBuilder(...) : JsonObjectBuilder | Test.java:119:9:119:11 | out | provenance | | +| Test.java:118:48:118:49 | in : JsonObject | Test.java:118:10:118:50 | createObjectBuilder(...) : JsonObjectBuilder | provenance | MaD:6 | +| Test.java:124:13:124:40 | (...)... : Map [] : Object | Test.java:125:48:125:49 | in : Map [] : Object | provenance | | +| Test.java:124:18:124:40 | newWithMapKey(...) : Map [] : Object | Test.java:124:13:124:40 | (...)... : Map [] : Object | provenance | | +| Test.java:124:32:124:39 | source(...) : Object | Test.java:18:20:18:33 | element : Object | provenance | | +| Test.java:124:32:124:39 | source(...) : Object | Test.java:124:18:124:40 | newWithMapKey(...) : Map [] : Object | provenance | MaD:125 | +| Test.java:125:10:125:50 | createObjectBuilder(...) : JsonObjectBuilder | Test.java:126:9:126:11 | out | provenance | | +| Test.java:125:48:125:49 | in : Map [] : Object | Test.java:125:10:125:50 | createObjectBuilder(...) : JsonObjectBuilder | provenance | MaD:7 | +| Test.java:131:13:131:42 | (...)... : Map [] : Object | Test.java:132:48:132:49 | in : Map [] : Object | provenance | | +| Test.java:131:18:131:42 | newWithMapValue(...) : Map [] : Object | Test.java:131:13:131:42 | (...)... : Map [] : Object | provenance | | +| Test.java:131:34:131:41 | source(...) : Object | Test.java:19:22:19:35 | element : Object | provenance | | +| Test.java:131:34:131:41 | source(...) : Object | Test.java:131:18:131:42 | newWithMapValue(...) : Map [] : Object | provenance | MaD:126 | +| Test.java:132:10:132:50 | createObjectBuilder(...) : JsonObjectBuilder | Test.java:133:9:133:11 | out | provenance | | +| Test.java:132:48:132:49 | in : Map [] : Object | Test.java:132:10:132:50 | createObjectBuilder(...) : JsonObjectBuilder | provenance | MaD:8 | +| Test.java:138:32:138:63 | (...)... : JsonArray | Test.java:139:40:139:41 | in : JsonArray | provenance | | +| Test.java:138:56:138:63 | source(...) : Object | Test.java:138:32:138:63 | (...)... : JsonArray | provenance | | +| Test.java:139:10:139:42 | createPatch(...) : JsonPatch | Test.java:140:9:140:11 | out | provenance | | +| Test.java:139:40:139:41 | in : JsonArray | Test.java:139:10:139:42 | createPatch(...) : JsonPatch | provenance | MaD:9 | +| Test.java:145:32:145:63 | (...)... : JsonArray | Test.java:146:47:146:48 | in : JsonArray | provenance | | +| Test.java:145:56:145:63 | source(...) : Object | Test.java:145:32:145:63 | (...)... : JsonArray | provenance | | +| Test.java:146:10:146:49 | createPatchBuilder(...) : JsonPatchBuilder | Test.java:147:9:147:11 | out | provenance | | +| Test.java:146:47:146:48 | in : JsonArray | Test.java:146:10:146:49 | createPatchBuilder(...) : JsonPatchBuilder | provenance | MaD:10 | +| Test.java:152:16:152:31 | (...)... : String | Test.java:153:42:153:43 | in : String | provenance | | +| Test.java:152:24:152:31 | source(...) : Object | Test.java:152:16:152:31 | (...)... : String | provenance | | +| Test.java:153:10:153:44 | createPointer(...) : JsonPointer | Test.java:154:9:154:11 | out | provenance | | +| Test.java:153:42:153:43 | in : String | Test.java:153:10:153:44 | createPointer(...) : JsonPointer | provenance | MaD:11 | +| Test.java:159:16:159:31 | (...)... : Reader | Test.java:160:41:160:42 | in : Reader | provenance | | +| Test.java:159:24:159:31 | source(...) : Object | Test.java:159:16:159:31 | (...)... : Reader | provenance | | +| Test.java:160:10:160:43 | createReader(...) : JsonReader | Test.java:161:9:161:11 | out | provenance | | +| Test.java:160:41:160:42 | in : Reader | Test.java:160:10:160:43 | createReader(...) : JsonReader | provenance | MaD:12 | +| Test.java:166:21:166:41 | (...)... : InputStream | Test.java:167:41:167:42 | in : InputStream | provenance | | +| Test.java:166:34:166:41 | source(...) : Object | Test.java:166:21:166:41 | (...)... : InputStream | provenance | | +| Test.java:167:10:167:43 | createReader(...) : JsonReader | Test.java:168:9:168:11 | out | provenance | | +| Test.java:167:41:167:42 | in : InputStream | Test.java:167:10:167:43 | createReader(...) : JsonReader | provenance | MaD:12 | +| Test.java:173:16:173:31 | (...)... : String | Test.java:174:40:174:41 | in : String | provenance | | +| Test.java:173:24:173:31 | source(...) : Object | Test.java:173:16:173:31 | (...)... : String | provenance | | +| Test.java:174:10:174:42 | createValue(...) : JsonString | Test.java:175:9:175:11 | out | provenance | | +| Test.java:174:40:174:41 | in : String | Test.java:174:10:174:42 | createValue(...) : JsonString | provenance | MaD:13 | +| Test.java:180:14:180:27 | (...)... : Number | Test.java:181:40:181:41 | in : Number | provenance | | +| Test.java:180:20:180:27 | source(...) : Object | Test.java:180:14:180:27 | (...)... : Number | provenance | | +| Test.java:181:10:181:42 | createValue(...) : JsonNumber | Test.java:182:9:182:11 | out | provenance | | +| Test.java:181:40:181:41 | in : Number | Test.java:181:10:181:42 | createValue(...) : JsonNumber | provenance | MaD:13 | +| Test.java:187:13:187:25 | (...)... : Number | Test.java:188:40:188:41 | in : Number | provenance | | +| Test.java:187:18:187:25 | source(...) : Object | Test.java:187:13:187:25 | (...)... : Number | provenance | | +| Test.java:188:10:188:42 | createValue(...) : JsonNumber | Test.java:189:9:189:11 | out | provenance | | +| Test.java:188:40:188:41 | in : Number | Test.java:188:10:188:42 | createValue(...) : JsonNumber | provenance | MaD:13 | +| Test.java:194:16:194:31 | (...)... : Number | Test.java:195:40:195:41 | in : Number | provenance | | +| Test.java:194:24:194:31 | source(...) : Object | Test.java:194:16:194:31 | (...)... : Number | provenance | | +| Test.java:195:10:195:42 | createValue(...) : JsonNumber | Test.java:196:9:196:11 | out | provenance | | +| Test.java:195:40:195:41 | in : Number | Test.java:195:10:195:42 | createValue(...) : JsonNumber | provenance | MaD:13 | +| Test.java:201:20:201:39 | (...)... : BigInteger | Test.java:202:40:202:41 | in : BigInteger | provenance | | +| Test.java:201:32:201:39 | source(...) : Object | Test.java:201:20:201:39 | (...)... : BigInteger | provenance | | +| Test.java:202:10:202:42 | createValue(...) : JsonNumber | Test.java:203:9:203:11 | out | provenance | | +| Test.java:202:40:202:41 | in : BigInteger | Test.java:202:10:202:42 | createValue(...) : JsonNumber | provenance | MaD:13 | +| Test.java:208:20:208:39 | (...)... : BigDecimal | Test.java:209:40:209:41 | in : BigDecimal | provenance | | +| Test.java:208:32:208:39 | source(...) : Object | Test.java:208:20:208:39 | (...)... : BigDecimal | provenance | | +| Test.java:209:10:209:42 | createValue(...) : JsonNumber | Test.java:210:9:210:11 | out | provenance | | +| Test.java:209:40:209:41 | in : BigDecimal | Test.java:209:10:209:42 | createValue(...) : JsonNumber | provenance | MaD:13 | +| Test.java:215:16:215:31 | (...)... : Writer | Test.java:216:41:216:42 | in : Writer | provenance | | +| Test.java:215:24:215:31 | source(...) : Object | Test.java:215:16:215:31 | (...)... : Writer | provenance | | +| Test.java:216:10:216:43 | createWriter(...) : JsonWriter | Test.java:217:9:217:11 | out | provenance | | +| Test.java:216:41:216:42 | in : Writer | Test.java:216:10:216:43 | createWriter(...) : JsonWriter | provenance | MaD:14 | +| Test.java:222:22:222:43 | (...)... : OutputStream | Test.java:223:41:223:42 | in : OutputStream | provenance | | +| Test.java:222:36:222:43 | source(...) : Object | Test.java:222:22:222:43 | (...)... : OutputStream | provenance | | +| Test.java:223:10:223:43 | createWriter(...) : JsonWriter | Test.java:224:9:224:11 | out | provenance | | +| Test.java:223:41:223:42 | in : OutputStream | Test.java:223:10:223:43 | createWriter(...) : JsonWriter | provenance | MaD:14 | +| Test.java:229:16:229:31 | (...)... : String | Test.java:230:42:230:43 | in : String | provenance | | +| Test.java:229:24:229:31 | source(...) : Object | Test.java:229:16:229:31 | (...)... : String | provenance | | +| Test.java:230:10:230:44 | decodePointer(...) : String | Test.java:231:9:231:11 | out | provenance | | +| Test.java:230:42:230:43 | in : String | Test.java:230:10:230:44 | decodePointer(...) : String | provenance | MaD:15 | +| Test.java:236:16:236:31 | (...)... : String | Test.java:237:42:237:43 | in : String | provenance | | +| Test.java:236:24:236:31 | source(...) : Object | Test.java:236:16:236:31 | (...)... : String | provenance | | +| Test.java:237:10:237:44 | encodePointer(...) : String | Test.java:238:9:238:11 | out | provenance | | +| Test.java:237:42:237:43 | in : String | Test.java:237:10:237:44 | encodePointer(...) : String | provenance | MaD:16 | +| Test.java:243:32:243:63 | (...)... : JsonArray | Test.java:244:10:244:11 | in : JsonArray | provenance | | +| Test.java:243:56:243:63 | source(...) : Object | Test.java:243:32:243:63 | (...)... : JsonArray | provenance | | +| Test.java:244:10:244:11 | in : JsonArray | Test.java:244:10:244:32 | getBoolean(...) : Boolean | provenance | MaD:17 | +| Test.java:244:10:244:32 | getBoolean(...) : Boolean | Test.java:245:9:245:11 | out | provenance | | +| Test.java:250:32:250:63 | (...)... : JsonArray | Test.java:251:10:251:11 | in : JsonArray | provenance | | +| Test.java:250:56:250:63 | source(...) : Object | Test.java:250:32:250:63 | (...)... : JsonArray | provenance | | +| Test.java:251:10:251:11 | in : JsonArray | Test.java:251:10:251:25 | getBoolean(...) : Boolean | provenance | MaD:17 | +| Test.java:251:10:251:25 | getBoolean(...) : Boolean | Test.java:252:9:252:11 | out | provenance | | +| Test.java:257:17:257:33 | (...)... : Boolean | Test.java:259:33:259:34 | in : Boolean | provenance | | +| Test.java:257:26:257:33 | source(...) : Object | Test.java:257:17:257:33 | (...)... : Boolean | provenance | | +| Test.java:259:10:259:35 | getBoolean(...) : Boolean | Test.java:260:9:260:11 | out | provenance | | +| Test.java:259:33:259:34 | in : Boolean | Test.java:259:10:259:35 | getBoolean(...) : Boolean | provenance | MaD:18 | +| Test.java:265:32:265:63 | (...)... : JsonArray | Test.java:266:10:266:11 | in : JsonArray | provenance | | +| Test.java:265:56:265:63 | source(...) : Object | Test.java:265:32:265:63 | (...)... : JsonArray | provenance | | +| Test.java:266:10:266:11 | in : JsonArray | Test.java:266:10:266:24 | getInt(...) : Number | provenance | MaD:19 | +| Test.java:266:10:266:24 | getInt(...) : Number | Test.java:267:9:267:11 | out | provenance | | +| Test.java:272:32:272:63 | (...)... : JsonArray | Test.java:273:10:273:11 | in : JsonArray | provenance | | +| Test.java:272:56:272:63 | source(...) : Object | Test.java:272:32:272:63 | (...)... : JsonArray | provenance | | +| Test.java:273:10:273:11 | in : JsonArray | Test.java:273:10:273:21 | getInt(...) : Number | provenance | MaD:19 | +| Test.java:273:10:273:21 | getInt(...) : Number | Test.java:274:9:274:11 | out | provenance | | +| Test.java:279:13:279:25 | (...)... : Number | Test.java:281:29:281:30 | in : Number | provenance | | +| Test.java:279:18:279:25 | source(...) : Object | Test.java:279:13:279:25 | (...)... : Number | provenance | | +| Test.java:281:10:281:31 | getInt(...) : Number | Test.java:282:9:282:11 | out | provenance | | +| Test.java:281:29:281:30 | in : Number | Test.java:281:10:281:31 | getInt(...) : Number | provenance | MaD:20 | +| Test.java:287:32:287:63 | (...)... : JsonArray | Test.java:288:10:288:11 | in : JsonArray | provenance | | +| Test.java:287:56:287:63 | source(...) : Object | Test.java:287:32:287:63 | (...)... : JsonArray | provenance | | +| Test.java:288:10:288:11 | in : JsonArray | Test.java:288:10:288:27 | getJsonArray(...) : JsonArray | provenance | MaD:21 | +| Test.java:288:10:288:27 | getJsonArray(...) : JsonArray | Test.java:289:9:289:11 | out | provenance | | +| Test.java:294:32:294:63 | (...)... : JsonArray | Test.java:295:10:295:11 | in : JsonArray | provenance | | +| Test.java:294:56:294:63 | source(...) : Object | Test.java:294:32:294:63 | (...)... : JsonArray | provenance | | +| Test.java:295:10:295:11 | in : JsonArray | Test.java:295:10:295:28 | getJsonNumber(...) : JsonNumber | provenance | MaD:22 | +| Test.java:295:10:295:28 | getJsonNumber(...) : JsonNumber | Test.java:296:9:296:11 | out | provenance | | +| Test.java:301:32:301:63 | (...)... : JsonArray | Test.java:302:10:302:11 | in : JsonArray | provenance | | +| Test.java:301:56:301:63 | source(...) : Object | Test.java:301:32:301:63 | (...)... : JsonArray | provenance | | +| Test.java:302:10:302:11 | in : JsonArray | Test.java:302:10:302:28 | getJsonObject(...) : JsonObject | provenance | MaD:23 | +| Test.java:302:10:302:28 | getJsonObject(...) : JsonObject | Test.java:303:9:303:11 | out | provenance | | +| Test.java:308:32:308:63 | (...)... : JsonArray | Test.java:309:10:309:11 | in : JsonArray | provenance | | +| Test.java:308:56:308:63 | source(...) : Object | Test.java:308:32:308:63 | (...)... : JsonArray | provenance | | +| Test.java:309:10:309:11 | in : JsonArray | Test.java:309:10:309:28 | getJsonString(...) : JsonString | provenance | MaD:24 | +| Test.java:309:10:309:28 | getJsonString(...) : JsonString | Test.java:310:9:310:11 | out | provenance | | +| Test.java:315:32:315:63 | (...)... : JsonArray | Test.java:316:10:316:11 | in : JsonArray | provenance | | +| Test.java:315:56:315:63 | source(...) : Object | Test.java:315:32:315:63 | (...)... : JsonArray | provenance | | +| Test.java:316:10:316:11 | in : JsonArray | Test.java:316:10:316:30 | getString(...) : String | provenance | MaD:25 | +| Test.java:316:10:316:30 | getString(...) : String | Test.java:317:9:317:11 | out | provenance | | +| Test.java:322:32:322:63 | (...)... : JsonArray | Test.java:323:10:323:11 | in : JsonArray | provenance | | +| Test.java:322:56:322:63 | source(...) : Object | Test.java:322:32:322:63 | (...)... : JsonArray | provenance | | +| Test.java:323:10:323:11 | in : JsonArray | Test.java:323:10:323:24 | getString(...) : String | provenance | MaD:25 | +| Test.java:323:10:323:24 | getString(...) : String | Test.java:324:9:324:11 | out | provenance | | +| Test.java:329:16:329:31 | (...)... : String | Test.java:331:32:331:33 | in : String | provenance | | +| Test.java:329:24:329:31 | source(...) : Object | Test.java:329:16:329:31 | (...)... : String | provenance | | +| Test.java:331:10:331:34 | getString(...) : String | Test.java:332:9:332:11 | out | provenance | | +| Test.java:331:32:331:33 | in : String | Test.java:331:10:331:34 | getString(...) : String | provenance | MaD:26 | +| Test.java:337:32:337:63 | (...)... : JsonArray | Test.java:338:10:338:11 | in : JsonArray | provenance | | +| Test.java:337:56:337:63 | source(...) : Object | Test.java:337:32:337:63 | (...)... : JsonArray | provenance | | +| Test.java:338:10:338:11 | in : JsonArray | Test.java:338:10:338:39 | getValuesAs(...) : List | provenance | MaD:27 | +| Test.java:338:10:338:39 | getValuesAs(...) : List | Test.java:339:9:339:11 | out | provenance | | +| Test.java:344:32:344:63 | (...)... : JsonArray | Test.java:345:10:345:11 | in : JsonArray | provenance | | +| Test.java:344:56:344:63 | source(...) : Object | Test.java:344:32:344:63 | (...)... : JsonArray | provenance | | +| Test.java:345:10:345:11 | in : JsonArray | Test.java:345:10:345:36 | getValuesAs(...) : List | provenance | MaD:27 | +| Test.java:345:10:345:36 | getValuesAs(...) : List | Test.java:346:9:346:11 | out | provenance | | +| Test.java:351:20:351:39 | (...)... : BigDecimal | Test.java:352:12:352:13 | in : BigDecimal | provenance | | +| Test.java:351:32:351:39 | source(...) : Object | Test.java:351:20:351:39 | (...)... : BigDecimal | provenance | | +| Test.java:352:4:352:6 | out [post update] : JsonArrayBuilder | Test.java:353:9:353:11 | out | provenance | | +| Test.java:352:12:352:13 | in : BigDecimal | Test.java:352:4:352:6 | out [post update] : JsonArrayBuilder | provenance | MaD:29 | +| Test.java:358:20:358:39 | (...)... : BigInteger | Test.java:359:12:359:13 | in : BigInteger | provenance | | +| Test.java:358:32:358:39 | source(...) : Object | Test.java:358:20:358:39 | (...)... : BigInteger | provenance | | +| Test.java:359:4:359:6 | out [post update] : JsonArrayBuilder | Test.java:360:9:360:11 | out | provenance | | +| Test.java:359:12:359:13 | in : BigInteger | Test.java:359:4:359:6 | out [post update] : JsonArrayBuilder | provenance | MaD:30 | +| Test.java:365:39:365:77 | (...)... : JsonArrayBuilder | Test.java:366:12:366:13 | in : JsonArrayBuilder | provenance | | +| Test.java:365:70:365:77 | source(...) : Object | Test.java:365:39:365:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:366:4:366:6 | out [post update] : JsonArrayBuilder | Test.java:367:9:367:11 | out | provenance | | +| Test.java:366:12:366:13 | in : JsonArrayBuilder | Test.java:366:4:366:6 | out [post update] : JsonArrayBuilder | provenance | MaD:31 | +| Test.java:372:40:372:79 | (...)... : JsonObjectBuilder | Test.java:373:12:373:13 | in : JsonObjectBuilder | provenance | | +| Test.java:372:72:372:79 | source(...) : Object | Test.java:372:40:372:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:373:4:373:6 | out [post update] : JsonArrayBuilder | Test.java:374:9:374:11 | out | provenance | | +| Test.java:373:12:373:13 | in : JsonObjectBuilder | Test.java:373:4:373:6 | out [post update] : JsonArrayBuilder | provenance | MaD:32 | +| Test.java:379:32:379:63 | (...)... : JsonValue | Test.java:380:12:380:13 | in : JsonValue | provenance | | +| Test.java:379:56:379:63 | source(...) : Object | Test.java:379:32:379:63 | (...)... : JsonValue | provenance | | +| Test.java:380:4:380:6 | out [post update] : JsonArrayBuilder | Test.java:381:9:381:11 | out | provenance | | +| Test.java:380:12:380:13 | in : JsonValue | Test.java:380:4:380:6 | out [post update] : JsonArrayBuilder | provenance | MaD:33 | +| Test.java:386:16:386:31 | (...)... : String | Test.java:387:12:387:13 | in : String | provenance | | +| Test.java:386:24:386:31 | source(...) : Object | Test.java:386:16:386:31 | (...)... : String | provenance | | +| Test.java:387:4:387:6 | out [post update] : JsonArrayBuilder | Test.java:388:9:388:11 | out | provenance | | +| Test.java:387:12:387:13 | in : String | Test.java:387:4:387:6 | out [post update] : JsonArrayBuilder | provenance | MaD:34 | +| Test.java:393:17:393:33 | (...)... : Boolean | Test.java:394:12:394:13 | in : Boolean | provenance | | +| Test.java:393:26:393:33 | source(...) : Object | Test.java:393:17:393:33 | (...)... : Boolean | provenance | | +| Test.java:394:4:394:6 | out [post update] : JsonArrayBuilder | Test.java:395:9:395:11 | out | provenance | | +| Test.java:394:12:394:13 | in : Boolean | Test.java:394:4:394:6 | out [post update] : JsonArrayBuilder | provenance | MaD:35 | +| Test.java:400:16:400:31 | (...)... : Number | Test.java:401:12:401:13 | in : Number | provenance | | +| Test.java:400:24:400:31 | source(...) : Object | Test.java:400:16:400:31 | (...)... : Number | provenance | | +| Test.java:401:4:401:6 | out [post update] : JsonArrayBuilder | Test.java:402:9:402:11 | out | provenance | | +| Test.java:401:12:401:13 | in : Number | Test.java:401:4:401:6 | out [post update] : JsonArrayBuilder | provenance | MaD:36 | +| Test.java:407:13:407:25 | (...)... : Number | Test.java:408:12:408:13 | in : Number | provenance | | +| Test.java:407:18:407:25 | source(...) : Object | Test.java:407:13:407:25 | (...)... : Number | provenance | | +| Test.java:408:4:408:6 | out [post update] : JsonArrayBuilder | Test.java:409:9:409:11 | out | provenance | | +| Test.java:408:12:408:13 | in : Number | Test.java:408:4:408:6 | out [post update] : JsonArrayBuilder | provenance | MaD:37 | +| Test.java:414:20:414:39 | (...)... : BigDecimal | Test.java:415:15:415:16 | in : BigDecimal | provenance | | +| Test.java:414:32:414:39 | source(...) : Object | Test.java:414:20:414:39 | (...)... : BigDecimal | provenance | | +| Test.java:415:4:415:6 | out [post update] : JsonArrayBuilder | Test.java:416:9:416:11 | out | provenance | | +| Test.java:415:15:415:16 | in : BigDecimal | Test.java:415:4:415:6 | out [post update] : JsonArrayBuilder | provenance | MaD:38 | +| Test.java:421:20:421:39 | (...)... : BigInteger | Test.java:422:15:422:16 | in : BigInteger | provenance | | +| Test.java:421:32:421:39 | source(...) : Object | Test.java:421:20:421:39 | (...)... : BigInteger | provenance | | +| Test.java:422:4:422:6 | out [post update] : JsonArrayBuilder | Test.java:423:9:423:11 | out | provenance | | +| Test.java:422:15:422:16 | in : BigInteger | Test.java:422:4:422:6 | out [post update] : JsonArrayBuilder | provenance | MaD:39 | +| Test.java:428:39:428:77 | (...)... : JsonArrayBuilder | Test.java:429:15:429:16 | in : JsonArrayBuilder | provenance | | +| Test.java:428:70:428:77 | source(...) : Object | Test.java:428:39:428:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:429:4:429:6 | out [post update] : JsonArrayBuilder | Test.java:430:9:430:11 | out | provenance | | +| Test.java:429:15:429:16 | in : JsonArrayBuilder | Test.java:429:4:429:6 | out [post update] : JsonArrayBuilder | provenance | MaD:40 | +| Test.java:435:40:435:79 | (...)... : JsonObjectBuilder | Test.java:436:15:436:16 | in : JsonObjectBuilder | provenance | | +| Test.java:435:72:435:79 | source(...) : Object | Test.java:435:40:435:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:436:4:436:6 | out [post update] : JsonArrayBuilder | Test.java:437:9:437:11 | out | provenance | | +| Test.java:436:15:436:16 | in : JsonObjectBuilder | Test.java:436:4:436:6 | out [post update] : JsonArrayBuilder | provenance | MaD:41 | +| Test.java:442:32:442:63 | (...)... : JsonValue | Test.java:443:15:443:16 | in : JsonValue | provenance | | +| Test.java:442:56:442:63 | source(...) : Object | Test.java:442:32:442:63 | (...)... : JsonValue | provenance | | +| Test.java:443:4:443:6 | out [post update] : JsonArrayBuilder | Test.java:444:9:444:11 | out | provenance | | +| Test.java:443:15:443:16 | in : JsonValue | Test.java:443:4:443:6 | out [post update] : JsonArrayBuilder | provenance | MaD:42 | +| Test.java:449:16:449:31 | (...)... : String | Test.java:450:15:450:16 | in : String | provenance | | +| Test.java:449:24:449:31 | source(...) : Object | Test.java:449:16:449:31 | (...)... : String | provenance | | +| Test.java:450:4:450:6 | out [post update] : JsonArrayBuilder | Test.java:451:9:451:11 | out | provenance | | +| Test.java:450:15:450:16 | in : String | Test.java:450:4:450:6 | out [post update] : JsonArrayBuilder | provenance | MaD:43 | +| Test.java:456:17:456:33 | (...)... : Boolean | Test.java:457:15:457:16 | in : Boolean | provenance | | +| Test.java:456:26:456:33 | source(...) : Object | Test.java:456:17:456:33 | (...)... : Boolean | provenance | | +| Test.java:457:4:457:6 | out [post update] : JsonArrayBuilder | Test.java:458:9:458:11 | out | provenance | | +| Test.java:457:15:457:16 | in : Boolean | Test.java:457:4:457:6 | out [post update] : JsonArrayBuilder | provenance | MaD:44 | +| Test.java:463:16:463:31 | (...)... : Number | Test.java:464:15:464:16 | in : Number | provenance | | +| Test.java:463:24:463:31 | source(...) : Object | Test.java:463:16:463:31 | (...)... : Number | provenance | | +| Test.java:464:4:464:6 | out [post update] : JsonArrayBuilder | Test.java:465:9:465:11 | out | provenance | | +| Test.java:464:15:464:16 | in : Number | Test.java:464:4:464:6 | out [post update] : JsonArrayBuilder | provenance | MaD:45 | +| Test.java:470:13:470:25 | (...)... : Number | Test.java:471:15:471:16 | in : Number | provenance | | +| Test.java:470:18:470:25 | source(...) : Object | Test.java:470:13:470:25 | (...)... : Number | provenance | | +| Test.java:471:4:471:6 | out [post update] : JsonArrayBuilder | Test.java:472:9:472:11 | out | provenance | | +| Test.java:471:15:471:16 | in : Number | Test.java:471:4:471:6 | out [post update] : JsonArrayBuilder | provenance | MaD:46 | +| Test.java:477:14:477:27 | (...)... : Number | Test.java:478:15:478:16 | in : Number | provenance | | +| Test.java:477:20:477:27 | source(...) : Object | Test.java:477:14:477:27 | (...)... : Number | provenance | | +| Test.java:478:4:478:6 | out [post update] : JsonArrayBuilder | Test.java:479:9:479:11 | out | provenance | | +| Test.java:478:15:478:16 | in : Number | Test.java:478:4:478:6 | out [post update] : JsonArrayBuilder | provenance | MaD:47 | +| Test.java:484:14:484:27 | (...)... : Number | Test.java:485:12:485:13 | in : Number | provenance | | +| Test.java:484:20:484:27 | source(...) : Object | Test.java:484:14:484:27 | (...)... : Number | provenance | | +| Test.java:485:4:485:6 | out [post update] : JsonArrayBuilder | Test.java:486:9:486:11 | out | provenance | | +| Test.java:485:12:485:13 | in : Number | Test.java:485:4:485:6 | out [post update] : JsonArrayBuilder | provenance | MaD:48 | +| Test.java:491:39:491:77 | (...)... : JsonArrayBuilder | Test.java:492:10:492:11 | in : JsonArrayBuilder | provenance | | +| Test.java:491:70:491:77 | source(...) : Object | Test.java:491:39:491:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:492:10:492:11 | in : JsonArrayBuilder | Test.java:492:10:492:22 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:492:10:492:22 | add(...) : JsonArrayBuilder | Test.java:493:9:493:11 | out | provenance | | +| Test.java:498:39:498:77 | (...)... : JsonArrayBuilder | Test.java:499:10:499:11 | in : JsonArrayBuilder | provenance | | +| Test.java:498:70:498:77 | source(...) : Object | Test.java:498:39:498:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:499:10:499:11 | in : JsonArrayBuilder | Test.java:499:10:499:19 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:499:10:499:19 | add(...) : JsonArrayBuilder | Test.java:500:9:500:11 | out | provenance | | +| Test.java:505:39:505:77 | (...)... : JsonArrayBuilder | Test.java:506:10:506:11 | in : JsonArrayBuilder | provenance | | +| Test.java:505:70:505:77 | source(...) : Object | Test.java:505:39:505:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:506:10:506:11 | in : JsonArrayBuilder | Test.java:506:10:506:20 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:506:10:506:20 | add(...) : JsonArrayBuilder | Test.java:507:9:507:11 | out | provenance | | +| Test.java:512:39:512:77 | (...)... : JsonArrayBuilder | Test.java:513:10:513:11 | in : JsonArrayBuilder | provenance | | +| Test.java:512:70:512:77 | source(...) : Object | Test.java:512:39:512:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:513:10:513:11 | in : JsonArrayBuilder | Test.java:513:10:513:25 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:513:10:513:25 | add(...) : JsonArrayBuilder | Test.java:514:9:514:11 | out | provenance | | +| Test.java:519:39:519:77 | (...)... : JsonArrayBuilder | Test.java:520:10:520:11 | in : JsonArrayBuilder | provenance | | +| Test.java:519:70:519:77 | source(...) : Object | Test.java:519:39:519:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:520:10:520:11 | in : JsonArrayBuilder | Test.java:520:10:520:22 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:520:10:520:22 | add(...) : JsonArrayBuilder | Test.java:521:9:521:11 | out | provenance | | +| Test.java:526:39:526:77 | (...)... : JsonArrayBuilder | Test.java:527:10:527:11 | in : JsonArrayBuilder | provenance | | +| Test.java:526:70:526:77 | source(...) : Object | Test.java:526:39:526:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:527:10:527:11 | in : JsonArrayBuilder | Test.java:527:10:527:23 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:527:10:527:23 | add(...) : JsonArrayBuilder | Test.java:528:9:528:11 | out | provenance | | +| Test.java:533:39:533:77 | (...)... : JsonArrayBuilder | Test.java:534:10:534:11 | in : JsonArrayBuilder | provenance | | +| Test.java:533:70:533:77 | source(...) : Object | Test.java:533:39:533:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:534:10:534:11 | in : JsonArrayBuilder | Test.java:534:10:534:21 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:534:10:534:21 | add(...) : JsonArrayBuilder | Test.java:535:9:535:11 | out | provenance | | +| Test.java:540:39:540:77 | (...)... : JsonArrayBuilder | Test.java:541:10:541:11 | in : JsonArrayBuilder | provenance | | +| Test.java:540:70:540:77 | source(...) : Object | Test.java:540:39:540:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:541:10:541:11 | in : JsonArrayBuilder | Test.java:541:10:541:48 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:541:10:541:48 | add(...) : JsonArrayBuilder | Test.java:542:9:542:11 | out | provenance | | +| Test.java:547:39:547:77 | (...)... : JsonArrayBuilder | Test.java:548:10:548:11 | in : JsonArrayBuilder | provenance | | +| Test.java:547:70:547:77 | source(...) : Object | Test.java:547:39:547:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:548:10:548:11 | in : JsonArrayBuilder | Test.java:548:10:548:56 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:548:10:548:56 | add(...) : JsonArrayBuilder | Test.java:549:9:549:11 | out | provenance | | +| Test.java:554:39:554:77 | (...)... : JsonArrayBuilder | Test.java:555:10:555:11 | in : JsonArrayBuilder | provenance | | +| Test.java:554:70:554:77 | source(...) : Object | Test.java:554:39:554:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:555:10:555:11 | in : JsonArrayBuilder | Test.java:555:10:555:55 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:555:10:555:55 | add(...) : JsonArrayBuilder | Test.java:556:9:556:11 | out | provenance | | +| Test.java:561:39:561:77 | (...)... : JsonArrayBuilder | Test.java:562:10:562:11 | in : JsonArrayBuilder | provenance | | +| Test.java:561:70:561:77 | source(...) : Object | Test.java:561:39:561:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:562:10:562:11 | in : JsonArrayBuilder | Test.java:562:10:562:32 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:562:10:562:32 | add(...) : JsonArrayBuilder | Test.java:563:9:563:11 | out | provenance | | +| Test.java:568:39:568:77 | (...)... : JsonArrayBuilder | Test.java:569:10:569:11 | in : JsonArrayBuilder | provenance | | +| Test.java:568:70:568:77 | source(...) : Object | Test.java:568:39:568:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:569:10:569:11 | in : JsonArrayBuilder | Test.java:569:10:569:36 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:569:10:569:36 | add(...) : JsonArrayBuilder | Test.java:570:9:570:11 | out | provenance | | +| Test.java:575:39:575:77 | (...)... : JsonArrayBuilder | Test.java:576:10:576:11 | in : JsonArrayBuilder | provenance | | +| Test.java:575:70:575:77 | source(...) : Object | Test.java:575:39:575:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:576:10:576:11 | in : JsonArrayBuilder | Test.java:576:10:576:36 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:576:10:576:36 | add(...) : JsonArrayBuilder | Test.java:577:9:577:11 | out | provenance | | +| Test.java:582:39:582:77 | (...)... : JsonArrayBuilder | Test.java:583:10:583:11 | in : JsonArrayBuilder | provenance | | +| Test.java:582:70:582:77 | source(...) : Object | Test.java:582:39:582:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:583:10:583:11 | in : JsonArrayBuilder | Test.java:583:10:583:18 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:583:10:583:18 | add(...) : JsonArrayBuilder | Test.java:584:9:584:11 | out | provenance | | +| Test.java:589:39:589:77 | (...)... : JsonArrayBuilder | Test.java:590:10:590:11 | in : JsonArrayBuilder | provenance | | +| Test.java:589:70:589:77 | source(...) : Object | Test.java:589:39:589:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:590:10:590:11 | in : JsonArrayBuilder | Test.java:590:10:590:45 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:590:10:590:45 | add(...) : JsonArrayBuilder | Test.java:591:9:591:11 | out | provenance | | +| Test.java:596:39:596:77 | (...)... : JsonArrayBuilder | Test.java:597:10:597:11 | in : JsonArrayBuilder | provenance | | +| Test.java:596:70:596:77 | source(...) : Object | Test.java:596:39:596:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:597:10:597:11 | in : JsonArrayBuilder | Test.java:597:10:597:53 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:597:10:597:53 | add(...) : JsonArrayBuilder | Test.java:598:9:598:11 | out | provenance | | +| Test.java:603:39:603:77 | (...)... : JsonArrayBuilder | Test.java:604:10:604:11 | in : JsonArrayBuilder | provenance | | +| Test.java:603:70:603:77 | source(...) : Object | Test.java:603:39:603:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:604:10:604:11 | in : JsonArrayBuilder | Test.java:604:10:604:52 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:604:10:604:52 | add(...) : JsonArrayBuilder | Test.java:605:9:605:11 | out | provenance | | +| Test.java:610:39:610:77 | (...)... : JsonArrayBuilder | Test.java:611:10:611:11 | in : JsonArrayBuilder | provenance | | +| Test.java:610:70:610:77 | source(...) : Object | Test.java:610:39:610:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:611:10:611:11 | in : JsonArrayBuilder | Test.java:611:10:611:29 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:611:10:611:29 | add(...) : JsonArrayBuilder | Test.java:612:9:612:11 | out | provenance | | +| Test.java:617:39:617:77 | (...)... : JsonArrayBuilder | Test.java:618:10:618:11 | in : JsonArrayBuilder | provenance | | +| Test.java:617:70:617:77 | source(...) : Object | Test.java:617:39:617:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:618:10:618:11 | in : JsonArrayBuilder | Test.java:618:10:618:33 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:618:10:618:33 | add(...) : JsonArrayBuilder | Test.java:619:9:619:11 | out | provenance | | +| Test.java:624:39:624:77 | (...)... : JsonArrayBuilder | Test.java:625:10:625:11 | in : JsonArrayBuilder | provenance | | +| Test.java:624:70:624:77 | source(...) : Object | Test.java:624:39:624:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:625:10:625:11 | in : JsonArrayBuilder | Test.java:625:10:625:33 | add(...) : JsonArrayBuilder | provenance | MaD:28 | +| Test.java:625:10:625:33 | add(...) : JsonArrayBuilder | Test.java:626:9:626:11 | out | provenance | | +| Test.java:631:39:631:77 | (...)... : JsonArrayBuilder | Test.java:632:10:632:11 | in : JsonArrayBuilder | provenance | | +| Test.java:631:70:631:77 | source(...) : Object | Test.java:631:39:631:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:632:10:632:11 | in : JsonArrayBuilder | Test.java:632:10:632:24 | addAll(...) : JsonArrayBuilder | provenance | MaD:49 | +| Test.java:632:10:632:24 | addAll(...) : JsonArrayBuilder | Test.java:633:9:633:11 | out | provenance | | +| Test.java:638:39:638:77 | (...)... : JsonArrayBuilder | Test.java:639:15:639:16 | in : JsonArrayBuilder | provenance | | +| Test.java:638:70:638:77 | source(...) : Object | Test.java:638:39:638:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:639:4:639:6 | out [post update] : JsonArrayBuilder | Test.java:640:9:640:11 | out | provenance | | +| Test.java:639:15:639:16 | in : JsonArrayBuilder | Test.java:639:4:639:6 | out [post update] : JsonArrayBuilder | provenance | MaD:50 | +| Test.java:645:39:645:77 | (...)... : JsonArrayBuilder | Test.java:646:10:646:11 | in : JsonArrayBuilder | provenance | | +| Test.java:645:70:645:77 | source(...) : Object | Test.java:645:39:645:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:646:10:646:11 | in : JsonArrayBuilder | Test.java:646:10:646:22 | addNull(...) : JsonArrayBuilder | provenance | MaD:51 | +| Test.java:646:10:646:22 | addNull(...) : JsonArrayBuilder | Test.java:647:9:647:11 | out | provenance | | +| Test.java:652:39:652:77 | (...)... : JsonArrayBuilder | Test.java:653:10:653:11 | in : JsonArrayBuilder | provenance | | +| Test.java:652:70:652:77 | source(...) : Object | Test.java:652:39:652:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:653:10:653:11 | in : JsonArrayBuilder | Test.java:653:10:653:21 | addNull(...) : JsonArrayBuilder | provenance | MaD:51 | +| Test.java:653:10:653:21 | addNull(...) : JsonArrayBuilder | Test.java:654:9:654:11 | out | provenance | | +| Test.java:659:39:659:77 | (...)... : JsonArrayBuilder | Test.java:660:10:660:11 | in : JsonArrayBuilder | provenance | | +| Test.java:659:70:659:77 | source(...) : Object | Test.java:659:39:659:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:660:10:660:11 | in : JsonArrayBuilder | Test.java:660:10:660:19 | build(...) : JsonArray | provenance | MaD:52 | +| Test.java:660:10:660:19 | build(...) : JsonArray | Test.java:661:9:661:11 | out | provenance | | +| Test.java:666:39:666:77 | (...)... : JsonArrayBuilder | Test.java:667:10:667:11 | in : JsonArrayBuilder | provenance | | +| Test.java:666:70:666:77 | source(...) : Object | Test.java:666:39:666:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:667:10:667:11 | in : JsonArrayBuilder | Test.java:667:10:667:21 | remove(...) : JsonArrayBuilder | provenance | MaD:53 | +| Test.java:667:10:667:21 | remove(...) : JsonArrayBuilder | Test.java:668:9:668:11 | out | provenance | | +| Test.java:673:39:673:77 | (...)... : JsonArrayBuilder | Test.java:674:10:674:11 | in : JsonArrayBuilder | provenance | | +| Test.java:673:70:673:77 | source(...) : Object | Test.java:673:39:673:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:674:10:674:11 | in : JsonArrayBuilder | Test.java:674:10:674:25 | set(...) : JsonArrayBuilder | provenance | MaD:54 | +| Test.java:674:10:674:25 | set(...) : JsonArrayBuilder | Test.java:675:9:675:11 | out | provenance | | +| Test.java:680:39:680:77 | (...)... : JsonArrayBuilder | Test.java:681:10:681:11 | in : JsonArrayBuilder | provenance | | +| Test.java:680:70:680:77 | source(...) : Object | Test.java:680:39:680:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:681:10:681:11 | in : JsonArrayBuilder | Test.java:681:10:681:22 | set(...) : JsonArrayBuilder | provenance | MaD:54 | +| Test.java:681:10:681:22 | set(...) : JsonArrayBuilder | Test.java:682:9:682:11 | out | provenance | | +| Test.java:687:39:687:77 | (...)... : JsonArrayBuilder | Test.java:688:10:688:11 | in : JsonArrayBuilder | provenance | | +| Test.java:687:70:687:77 | source(...) : Object | Test.java:687:39:687:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:688:10:688:11 | in : JsonArrayBuilder | Test.java:688:10:688:23 | set(...) : JsonArrayBuilder | provenance | MaD:54 | +| Test.java:688:10:688:23 | set(...) : JsonArrayBuilder | Test.java:689:9:689:11 | out | provenance | | +| Test.java:694:39:694:77 | (...)... : JsonArrayBuilder | Test.java:695:10:695:11 | in : JsonArrayBuilder | provenance | | +| Test.java:694:70:694:77 | source(...) : Object | Test.java:694:39:694:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:695:10:695:11 | in : JsonArrayBuilder | Test.java:695:10:695:21 | set(...) : JsonArrayBuilder | provenance | MaD:54 | +| Test.java:695:10:695:21 | set(...) : JsonArrayBuilder | Test.java:696:9:696:11 | out | provenance | | +| Test.java:701:39:701:77 | (...)... : JsonArrayBuilder | Test.java:702:10:702:11 | in : JsonArrayBuilder | provenance | | +| Test.java:701:70:701:77 | source(...) : Object | Test.java:701:39:701:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:702:10:702:11 | in : JsonArrayBuilder | Test.java:702:10:702:48 | set(...) : JsonArrayBuilder | provenance | MaD:54 | +| Test.java:702:10:702:48 | set(...) : JsonArrayBuilder | Test.java:703:9:703:11 | out | provenance | | +| Test.java:708:39:708:77 | (...)... : JsonArrayBuilder | Test.java:709:10:709:11 | in : JsonArrayBuilder | provenance | | +| Test.java:708:70:708:77 | source(...) : Object | Test.java:708:39:708:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:709:10:709:11 | in : JsonArrayBuilder | Test.java:709:10:709:56 | set(...) : JsonArrayBuilder | provenance | MaD:54 | +| Test.java:709:10:709:56 | set(...) : JsonArrayBuilder | Test.java:710:9:710:11 | out | provenance | | +| Test.java:715:39:715:77 | (...)... : JsonArrayBuilder | Test.java:716:10:716:11 | in : JsonArrayBuilder | provenance | | +| Test.java:715:70:715:77 | source(...) : Object | Test.java:715:39:715:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:716:10:716:11 | in : JsonArrayBuilder | Test.java:716:10:716:55 | set(...) : JsonArrayBuilder | provenance | MaD:54 | +| Test.java:716:10:716:55 | set(...) : JsonArrayBuilder | Test.java:717:9:717:11 | out | provenance | | +| Test.java:722:39:722:77 | (...)... : JsonArrayBuilder | Test.java:723:10:723:11 | in : JsonArrayBuilder | provenance | | +| Test.java:722:70:722:77 | source(...) : Object | Test.java:722:39:722:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:723:10:723:11 | in : JsonArrayBuilder | Test.java:723:10:723:32 | set(...) : JsonArrayBuilder | provenance | MaD:54 | +| Test.java:723:10:723:32 | set(...) : JsonArrayBuilder | Test.java:724:9:724:11 | out | provenance | | +| Test.java:729:39:729:77 | (...)... : JsonArrayBuilder | Test.java:730:10:730:11 | in : JsonArrayBuilder | provenance | | +| Test.java:729:70:729:77 | source(...) : Object | Test.java:729:39:729:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:730:10:730:11 | in : JsonArrayBuilder | Test.java:730:10:730:36 | set(...) : JsonArrayBuilder | provenance | MaD:54 | +| Test.java:730:10:730:36 | set(...) : JsonArrayBuilder | Test.java:731:9:731:11 | out | provenance | | +| Test.java:736:39:736:77 | (...)... : JsonArrayBuilder | Test.java:737:10:737:11 | in : JsonArrayBuilder | provenance | | +| Test.java:736:70:736:77 | source(...) : Object | Test.java:736:39:736:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:737:10:737:11 | in : JsonArrayBuilder | Test.java:737:10:737:36 | set(...) : JsonArrayBuilder | provenance | MaD:54 | +| Test.java:737:10:737:36 | set(...) : JsonArrayBuilder | Test.java:738:9:738:11 | out | provenance | | +| Test.java:743:14:743:27 | (...)... : Number | Test.java:744:15:744:16 | in : Number | provenance | | +| Test.java:743:20:743:27 | source(...) : Object | Test.java:743:14:743:27 | (...)... : Number | provenance | | +| Test.java:744:4:744:6 | out [post update] : JsonArrayBuilder | Test.java:745:9:745:11 | out | provenance | | +| Test.java:744:15:744:16 | in : Number | Test.java:744:4:744:6 | out [post update] : JsonArrayBuilder | provenance | MaD:55 | +| Test.java:750:32:750:63 | (...)... : JsonValue | Test.java:751:15:751:16 | in : JsonValue | provenance | | +| Test.java:750:56:750:63 | source(...) : Object | Test.java:750:32:750:63 | (...)... : JsonValue | provenance | | +| Test.java:751:4:751:6 | out [post update] : JsonArrayBuilder | Test.java:752:9:752:11 | out | provenance | | +| Test.java:751:15:751:16 | in : JsonValue | Test.java:751:4:751:6 | out [post update] : JsonArrayBuilder | provenance | MaD:55 | +| Test.java:757:40:757:79 | (...)... : JsonObjectBuilder | Test.java:758:15:758:16 | in : JsonObjectBuilder | provenance | | +| Test.java:757:72:757:79 | source(...) : Object | Test.java:757:40:757:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:758:4:758:6 | out [post update] : JsonArrayBuilder | Test.java:759:9:759:11 | out | provenance | | +| Test.java:758:15:758:16 | in : JsonObjectBuilder | Test.java:758:4:758:6 | out [post update] : JsonArrayBuilder | provenance | MaD:55 | +| Test.java:764:39:764:77 | (...)... : JsonArrayBuilder | Test.java:765:15:765:16 | in : JsonArrayBuilder | provenance | | +| Test.java:764:70:764:77 | source(...) : Object | Test.java:764:39:764:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:765:4:765:6 | out [post update] : JsonArrayBuilder | Test.java:766:9:766:11 | out | provenance | | +| Test.java:765:15:765:16 | in : JsonArrayBuilder | Test.java:765:4:765:6 | out [post update] : JsonArrayBuilder | provenance | MaD:55 | +| Test.java:771:13:771:25 | (...)... : Number | Test.java:772:15:772:16 | in : Number | provenance | | +| Test.java:771:18:771:25 | source(...) : Object | Test.java:771:13:771:25 | (...)... : Number | provenance | | +| Test.java:772:4:772:6 | out [post update] : JsonArrayBuilder | Test.java:773:9:773:11 | out | provenance | | +| Test.java:772:15:772:16 | in : Number | Test.java:772:4:772:6 | out [post update] : JsonArrayBuilder | provenance | MaD:55 | +| Test.java:778:16:778:31 | (...)... : Number | Test.java:779:15:779:16 | in : Number | provenance | | +| Test.java:778:24:778:31 | source(...) : Object | Test.java:778:16:778:31 | (...)... : Number | provenance | | +| Test.java:779:4:779:6 | out [post update] : JsonArrayBuilder | Test.java:780:9:780:11 | out | provenance | | +| Test.java:779:15:779:16 | in : Number | Test.java:779:4:779:6 | out [post update] : JsonArrayBuilder | provenance | MaD:55 | +| Test.java:785:17:785:33 | (...)... : Boolean | Test.java:786:15:786:16 | in : Boolean | provenance | | +| Test.java:785:26:785:33 | source(...) : Object | Test.java:785:17:785:33 | (...)... : Boolean | provenance | | +| Test.java:786:4:786:6 | out [post update] : JsonArrayBuilder | Test.java:787:9:787:11 | out | provenance | | +| Test.java:786:15:786:16 | in : Boolean | Test.java:786:4:786:6 | out [post update] : JsonArrayBuilder | provenance | MaD:55 | +| Test.java:792:16:792:31 | (...)... : String | Test.java:793:15:793:16 | in : String | provenance | | +| Test.java:792:24:792:31 | source(...) : Object | Test.java:792:16:792:31 | (...)... : String | provenance | | +| Test.java:793:4:793:6 | out [post update] : JsonArrayBuilder | Test.java:794:9:794:11 | out | provenance | | +| Test.java:793:15:793:16 | in : String | Test.java:793:4:793:6 | out [post update] : JsonArrayBuilder | provenance | MaD:55 | +| Test.java:799:20:799:39 | (...)... : BigInteger | Test.java:800:15:800:16 | in : BigInteger | provenance | | +| Test.java:799:32:799:39 | source(...) : Object | Test.java:799:20:799:39 | (...)... : BigInteger | provenance | | +| Test.java:800:4:800:6 | out [post update] : JsonArrayBuilder | Test.java:801:9:801:11 | out | provenance | | +| Test.java:800:15:800:16 | in : BigInteger | Test.java:800:4:800:6 | out [post update] : JsonArrayBuilder | provenance | MaD:55 | +| Test.java:806:20:806:39 | (...)... : BigDecimal | Test.java:807:15:807:16 | in : BigDecimal | provenance | | +| Test.java:806:32:806:39 | source(...) : Object | Test.java:806:20:806:39 | (...)... : BigDecimal | provenance | | +| Test.java:807:4:807:6 | out [post update] : JsonArrayBuilder | Test.java:808:9:808:11 | out | provenance | | +| Test.java:807:15:807:16 | in : BigDecimal | Test.java:807:4:807:6 | out [post update] : JsonArrayBuilder | provenance | MaD:55 | +| Test.java:813:39:813:77 | (...)... : JsonArrayBuilder | Test.java:814:10:814:11 | in : JsonArrayBuilder | provenance | | +| Test.java:813:70:813:77 | source(...) : Object | Test.java:813:39:813:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:814:10:814:11 | in : JsonArrayBuilder | Test.java:814:10:814:22 | setNull(...) : JsonArrayBuilder | provenance | MaD:56 | +| Test.java:814:10:814:22 | setNull(...) : JsonArrayBuilder | Test.java:815:9:815:11 | out | provenance | | +| Test.java:820:37:820:73 | (...)... : JsonMergePatch | Test.java:821:10:821:11 | in : JsonMergePatch | provenance | | +| Test.java:820:66:820:73 | source(...) : Object | Test.java:820:37:820:73 | (...)... : JsonMergePatch | provenance | | +| Test.java:821:10:821:11 | in : JsonMergePatch | Test.java:821:10:821:23 | apply(...) : JsonValue | provenance | MaD:57 | +| Test.java:821:10:821:23 | apply(...) : JsonValue | Test.java:822:9:822:11 | out | provenance | | +| Test.java:827:32:827:63 | (...)... : JsonValue | Test.java:829:25:829:26 | in : JsonValue | provenance | | +| Test.java:827:56:827:63 | source(...) : Object | Test.java:827:32:827:63 | (...)... : JsonValue | provenance | | +| Test.java:829:10:829:27 | apply(...) : JsonValue | Test.java:830:9:830:11 | out | provenance | | +| Test.java:829:25:829:26 | in : JsonValue | Test.java:829:10:829:27 | apply(...) : JsonValue | provenance | MaD:58 | +| Test.java:835:37:835:73 | (...)... : JsonMergePatch | Test.java:836:10:836:11 | in : JsonMergePatch | provenance | | +| Test.java:835:66:835:73 | source(...) : Object | Test.java:835:37:835:73 | (...)... : JsonMergePatch | provenance | | +| Test.java:836:10:836:11 | in : JsonMergePatch | Test.java:836:10:836:25 | toJsonValue(...) : JsonValue | provenance | MaD:59 | +| Test.java:836:10:836:25 | toJsonValue(...) : JsonValue | Test.java:837:9:837:11 | out | provenance | | +| Test.java:842:33:842:65 | (...)... : JsonNumber | Test.java:843:10:843:11 | in : JsonNumber | provenance | | +| Test.java:842:58:842:65 | source(...) : Object | Test.java:842:33:842:65 | (...)... : JsonNumber | provenance | | +| Test.java:843:10:843:11 | in : JsonNumber | Test.java:843:10:843:29 | bigDecimalValue(...) : BigDecimal | provenance | MaD:60 | +| Test.java:843:10:843:29 | bigDecimalValue(...) : BigDecimal | Test.java:844:9:844:11 | out | provenance | | +| Test.java:849:33:849:65 | (...)... : JsonNumber | Test.java:850:10:850:11 | in : JsonNumber | provenance | | +| Test.java:849:58:849:65 | source(...) : Object | Test.java:849:33:849:65 | (...)... : JsonNumber | provenance | | +| Test.java:850:10:850:11 | in : JsonNumber | Test.java:850:10:850:29 | bigIntegerValue(...) : BigInteger | provenance | MaD:61 | +| Test.java:850:10:850:29 | bigIntegerValue(...) : BigInteger | Test.java:851:9:851:11 | out | provenance | | +| Test.java:856:33:856:65 | (...)... : JsonNumber | Test.java:857:10:857:11 | in : JsonNumber | provenance | | +| Test.java:856:58:856:65 | source(...) : Object | Test.java:856:33:856:65 | (...)... : JsonNumber | provenance | | +| Test.java:857:10:857:11 | in : JsonNumber | Test.java:857:10:857:34 | bigIntegerValueExact(...) : BigInteger | provenance | MaD:62 | +| Test.java:857:10:857:34 | bigIntegerValueExact(...) : BigInteger | Test.java:858:9:858:11 | out | provenance | | +| Test.java:863:33:863:65 | (...)... : JsonNumber | Test.java:864:10:864:11 | in : JsonNumber | provenance | | +| Test.java:863:58:863:65 | source(...) : Object | Test.java:863:33:863:65 | (...)... : JsonNumber | provenance | | +| Test.java:864:10:864:11 | in : JsonNumber | Test.java:864:10:864:25 | doubleValue(...) : Number | provenance | MaD:63 | +| Test.java:864:10:864:25 | doubleValue(...) : Number | Test.java:865:9:865:11 | out | provenance | | +| Test.java:870:33:870:65 | (...)... : JsonNumber | Test.java:871:10:871:11 | in : JsonNumber | provenance | | +| Test.java:870:58:870:65 | source(...) : Object | Test.java:870:33:870:65 | (...)... : JsonNumber | provenance | | +| Test.java:871:10:871:11 | in : JsonNumber | Test.java:871:10:871:22 | intValue(...) : Number | provenance | MaD:64 | +| Test.java:871:10:871:22 | intValue(...) : Number | Test.java:872:9:872:11 | out | provenance | | +| Test.java:877:33:877:65 | (...)... : JsonNumber | Test.java:878:10:878:11 | in : JsonNumber | provenance | | +| Test.java:877:58:877:65 | source(...) : Object | Test.java:877:33:877:65 | (...)... : JsonNumber | provenance | | +| Test.java:878:10:878:11 | in : JsonNumber | Test.java:878:10:878:27 | intValueExact(...) : Number | provenance | MaD:65 | +| Test.java:878:10:878:27 | intValueExact(...) : Number | Test.java:879:9:879:11 | out | provenance | | +| Test.java:884:33:884:65 | (...)... : JsonNumber | Test.java:885:10:885:11 | in : JsonNumber | provenance | | +| Test.java:884:58:884:65 | source(...) : Object | Test.java:884:33:884:65 | (...)... : JsonNumber | provenance | | +| Test.java:885:10:885:11 | in : JsonNumber | Test.java:885:10:885:23 | longValue(...) : Number | provenance | MaD:66 | +| Test.java:885:10:885:23 | longValue(...) : Number | Test.java:886:9:886:11 | out | provenance | | +| Test.java:891:33:891:65 | (...)... : JsonNumber | Test.java:892:10:892:11 | in : JsonNumber | provenance | | +| Test.java:891:58:891:65 | source(...) : Object | Test.java:891:33:891:65 | (...)... : JsonNumber | provenance | | +| Test.java:892:10:892:11 | in : JsonNumber | Test.java:892:10:892:28 | longValueExact(...) : Number | provenance | MaD:67 | +| Test.java:892:10:892:28 | longValueExact(...) : Number | Test.java:893:9:893:11 | out | provenance | | +| Test.java:898:33:898:65 | (...)... : JsonNumber | Test.java:899:10:899:11 | in : JsonNumber | provenance | | +| Test.java:898:58:898:65 | source(...) : Object | Test.java:898:33:898:65 | (...)... : JsonNumber | provenance | | +| Test.java:899:10:899:11 | in : JsonNumber | Test.java:899:10:899:25 | numberValue(...) : Number | provenance | MaD:68 | +| Test.java:899:10:899:25 | numberValue(...) : Number | Test.java:900:9:900:11 | out | provenance | | +| Test.java:905:33:905:65 | (...)... : JsonObject | Test.java:906:10:906:11 | in : JsonObject | provenance | | +| Test.java:905:58:905:65 | source(...) : Object | Test.java:905:33:905:65 | (...)... : JsonObject | provenance | | +| Test.java:906:10:906:11 | in : JsonObject | Test.java:906:10:906:35 | getBoolean(...) : Boolean | provenance | MaD:69 | +| Test.java:906:10:906:35 | getBoolean(...) : Boolean | Test.java:907:9:907:11 | out | provenance | | +| Test.java:912:33:912:65 | (...)... : JsonObject | Test.java:913:10:913:11 | in : JsonObject | provenance | | +| Test.java:912:58:912:65 | source(...) : Object | Test.java:912:33:912:65 | (...)... : JsonObject | provenance | | +| Test.java:913:10:913:11 | in : JsonObject | Test.java:913:10:913:28 | getBoolean(...) : Boolean | provenance | MaD:69 | +| Test.java:913:10:913:28 | getBoolean(...) : Boolean | Test.java:914:9:914:11 | out | provenance | | +| Test.java:919:17:919:33 | (...)... : Boolean | Test.java:921:36:921:37 | in : Boolean | provenance | | +| Test.java:919:26:919:33 | source(...) : Object | Test.java:919:17:919:33 | (...)... : Boolean | provenance | | +| Test.java:921:10:921:38 | getBoolean(...) : Boolean | Test.java:922:9:922:11 | out | provenance | | +| Test.java:921:36:921:37 | in : Boolean | Test.java:921:10:921:38 | getBoolean(...) : Boolean | provenance | MaD:70 | +| Test.java:927:33:927:65 | (...)... : JsonObject | Test.java:928:10:928:11 | in : JsonObject | provenance | | +| Test.java:927:58:927:65 | source(...) : Object | Test.java:927:33:927:65 | (...)... : JsonObject | provenance | | +| Test.java:928:10:928:11 | in : JsonObject | Test.java:928:10:928:27 | getInt(...) : Number | provenance | MaD:71 | +| Test.java:928:10:928:27 | getInt(...) : Number | Test.java:929:9:929:11 | out | provenance | | +| Test.java:934:33:934:65 | (...)... : JsonObject | Test.java:935:10:935:11 | in : JsonObject | provenance | | +| Test.java:934:58:934:65 | source(...) : Object | Test.java:934:33:934:65 | (...)... : JsonObject | provenance | | +| Test.java:935:10:935:11 | in : JsonObject | Test.java:935:10:935:24 | getInt(...) : Number | provenance | MaD:71 | +| Test.java:935:10:935:24 | getInt(...) : Number | Test.java:936:9:936:11 | out | provenance | | +| Test.java:941:13:941:25 | (...)... : Number | Test.java:943:32:943:33 | in : Number | provenance | | +| Test.java:941:18:941:25 | source(...) : Object | Test.java:941:13:941:25 | (...)... : Number | provenance | | +| Test.java:943:10:943:34 | getInt(...) : Number | Test.java:944:9:944:11 | out | provenance | | +| Test.java:943:32:943:33 | in : Number | Test.java:943:10:943:34 | getInt(...) : Number | provenance | MaD:72 | +| Test.java:949:33:949:65 | (...)... : JsonObject | Test.java:950:10:950:11 | in : JsonObject | provenance | | +| Test.java:949:58:949:65 | source(...) : Object | Test.java:949:33:949:65 | (...)... : JsonObject | provenance | | +| Test.java:950:10:950:11 | in : JsonObject | Test.java:950:10:950:30 | getJsonArray(...) : JsonArray | provenance | MaD:73 | +| Test.java:950:10:950:30 | getJsonArray(...) : JsonArray | Test.java:951:9:951:11 | out | provenance | | +| Test.java:956:33:956:65 | (...)... : JsonObject | Test.java:957:10:957:11 | in : JsonObject | provenance | | +| Test.java:956:58:956:65 | source(...) : Object | Test.java:956:33:956:65 | (...)... : JsonObject | provenance | | +| Test.java:957:10:957:11 | in : JsonObject | Test.java:957:10:957:31 | getJsonNumber(...) : JsonNumber | provenance | MaD:74 | +| Test.java:957:10:957:31 | getJsonNumber(...) : JsonNumber | Test.java:958:9:958:11 | out | provenance | | +| Test.java:963:33:963:65 | (...)... : JsonObject | Test.java:964:10:964:11 | in : JsonObject | provenance | | +| Test.java:963:58:963:65 | source(...) : Object | Test.java:963:33:963:65 | (...)... : JsonObject | provenance | | +| Test.java:964:10:964:11 | in : JsonObject | Test.java:964:10:964:31 | getJsonObject(...) : JsonObject | provenance | MaD:75 | +| Test.java:964:10:964:31 | getJsonObject(...) : JsonObject | Test.java:965:9:965:11 | out | provenance | | +| Test.java:970:33:970:65 | (...)... : JsonObject | Test.java:971:10:971:11 | in : JsonObject | provenance | | +| Test.java:970:58:970:65 | source(...) : Object | Test.java:970:33:970:65 | (...)... : JsonObject | provenance | | +| Test.java:971:10:971:11 | in : JsonObject | Test.java:971:10:971:31 | getJsonString(...) : JsonString | provenance | MaD:76 | +| Test.java:971:10:971:31 | getJsonString(...) : JsonString | Test.java:972:9:972:11 | out | provenance | | +| Test.java:977:33:977:65 | (...)... : JsonObject | Test.java:978:10:978:11 | in : JsonObject | provenance | | +| Test.java:977:58:977:65 | source(...) : Object | Test.java:977:33:977:65 | (...)... : JsonObject | provenance | | +| Test.java:978:10:978:11 | in : JsonObject | Test.java:978:10:978:33 | getString(...) : String | provenance | MaD:77 | +| Test.java:978:10:978:33 | getString(...) : String | Test.java:979:9:979:11 | out | provenance | | +| Test.java:984:33:984:65 | (...)... : JsonObject | Test.java:985:10:985:11 | in : JsonObject | provenance | | +| Test.java:984:58:984:65 | source(...) : Object | Test.java:984:33:984:65 | (...)... : JsonObject | provenance | | +| Test.java:985:10:985:11 | in : JsonObject | Test.java:985:10:985:27 | getString(...) : String | provenance | MaD:77 | +| Test.java:985:10:985:27 | getString(...) : String | Test.java:986:9:986:11 | out | provenance | | +| Test.java:991:16:991:31 | (...)... : String | Test.java:993:35:993:36 | in : String | provenance | | +| Test.java:991:24:991:31 | source(...) : Object | Test.java:991:16:991:31 | (...)... : String | provenance | | +| Test.java:993:10:993:37 | getString(...) : String | Test.java:994:9:994:11 | out | provenance | | +| Test.java:993:35:993:36 | in : String | Test.java:993:10:993:37 | getString(...) : String | provenance | MaD:78 | +| Test.java:999:40:999:79 | (...)... : JsonObjectBuilder | Test.java:1000:10:1000:11 | in : JsonObjectBuilder | provenance | | +| Test.java:999:72:999:79 | source(...) : Object | Test.java:999:40:999:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:1000:10:1000:11 | in : JsonObjectBuilder | Test.java:1000:10:1000:36 | add(...) : JsonObjectBuilder | provenance | MaD:79 | +| Test.java:1000:10:1000:36 | add(...) : JsonObjectBuilder | Test.java:1001:9:1001:11 | out | provenance | | +| Test.java:1006:40:1006:79 | (...)... : JsonObjectBuilder | Test.java:1007:10:1007:11 | in : JsonObjectBuilder | provenance | | +| Test.java:1006:72:1006:79 | source(...) : Object | Test.java:1006:40:1006:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:1007:10:1007:11 | in : JsonObjectBuilder | Test.java:1007:10:1007:33 | add(...) : JsonObjectBuilder | provenance | MaD:79 | +| Test.java:1007:10:1007:33 | add(...) : JsonObjectBuilder | Test.java:1008:9:1008:11 | out | provenance | | +| Test.java:1013:40:1013:79 | (...)... : JsonObjectBuilder | Test.java:1014:10:1014:11 | in : JsonObjectBuilder | provenance | | +| Test.java:1013:72:1013:79 | source(...) : Object | Test.java:1013:40:1013:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:1014:10:1014:11 | in : JsonObjectBuilder | Test.java:1014:10:1014:34 | add(...) : JsonObjectBuilder | provenance | MaD:79 | +| Test.java:1014:10:1014:34 | add(...) : JsonObjectBuilder | Test.java:1015:9:1015:11 | out | provenance | | +| Test.java:1020:40:1020:79 | (...)... : JsonObjectBuilder | Test.java:1021:10:1021:11 | in : JsonObjectBuilder | provenance | | +| Test.java:1020:72:1020:79 | source(...) : Object | Test.java:1020:40:1020:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:1021:10:1021:11 | in : JsonObjectBuilder | Test.java:1021:10:1021:32 | add(...) : JsonObjectBuilder | provenance | MaD:79 | +| Test.java:1021:10:1021:32 | add(...) : JsonObjectBuilder | Test.java:1022:9:1022:11 | out | provenance | | +| Test.java:1027:40:1027:79 | (...)... : JsonObjectBuilder | Test.java:1028:10:1028:11 | in : JsonObjectBuilder | provenance | | +| Test.java:1027:72:1027:79 | source(...) : Object | Test.java:1027:40:1027:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:1028:10:1028:11 | in : JsonObjectBuilder | Test.java:1028:10:1028:59 | add(...) : JsonObjectBuilder | provenance | MaD:79 | +| Test.java:1028:10:1028:59 | add(...) : JsonObjectBuilder | Test.java:1029:9:1029:11 | out | provenance | | +| Test.java:1034:40:1034:79 | (...)... : JsonObjectBuilder | Test.java:1035:10:1035:11 | in : JsonObjectBuilder | provenance | | +| Test.java:1034:72:1034:79 | source(...) : Object | Test.java:1034:40:1034:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:1035:10:1035:11 | in : JsonObjectBuilder | Test.java:1035:10:1035:67 | add(...) : JsonObjectBuilder | provenance | MaD:79 | +| Test.java:1035:10:1035:67 | add(...) : JsonObjectBuilder | Test.java:1036:9:1036:11 | out | provenance | | +| Test.java:1041:40:1041:79 | (...)... : JsonObjectBuilder | Test.java:1042:10:1042:11 | in : JsonObjectBuilder | provenance | | +| Test.java:1041:72:1041:79 | source(...) : Object | Test.java:1041:40:1041:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:1042:10:1042:11 | in : JsonObjectBuilder | Test.java:1042:10:1042:66 | add(...) : JsonObjectBuilder | provenance | MaD:79 | +| Test.java:1042:10:1042:66 | add(...) : JsonObjectBuilder | Test.java:1043:9:1043:11 | out | provenance | | +| Test.java:1048:40:1048:79 | (...)... : JsonObjectBuilder | Test.java:1049:10:1049:11 | in : JsonObjectBuilder | provenance | | +| Test.java:1048:72:1048:79 | source(...) : Object | Test.java:1048:40:1048:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:1049:10:1049:11 | in : JsonObjectBuilder | Test.java:1049:10:1049:43 | add(...) : JsonObjectBuilder | provenance | MaD:79 | +| Test.java:1049:10:1049:43 | add(...) : JsonObjectBuilder | Test.java:1050:9:1050:11 | out | provenance | | +| Test.java:1055:40:1055:79 | (...)... : JsonObjectBuilder | Test.java:1056:10:1056:11 | in : JsonObjectBuilder | provenance | | +| Test.java:1055:72:1055:79 | source(...) : Object | Test.java:1055:40:1055:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:1056:10:1056:11 | in : JsonObjectBuilder | Test.java:1056:10:1056:47 | add(...) : JsonObjectBuilder | provenance | MaD:79 | +| Test.java:1056:10:1056:47 | add(...) : JsonObjectBuilder | Test.java:1057:9:1057:11 | out | provenance | | +| Test.java:1062:40:1062:79 | (...)... : JsonObjectBuilder | Test.java:1063:10:1063:11 | in : JsonObjectBuilder | provenance | | +| Test.java:1062:72:1062:79 | source(...) : Object | Test.java:1062:40:1062:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:1063:10:1063:11 | in : JsonObjectBuilder | Test.java:1063:10:1063:47 | add(...) : JsonObjectBuilder | provenance | MaD:79 | +| Test.java:1063:10:1063:47 | add(...) : JsonObjectBuilder | Test.java:1064:9:1064:11 | out | provenance | | +| Test.java:1069:14:1069:27 | (...)... : Number | Test.java:1070:26:1070:27 | in : Number | provenance | | +| Test.java:1069:20:1069:27 | source(...) : Object | Test.java:1069:14:1069:27 | (...)... : Number | provenance | | +| Test.java:1070:4:1070:6 | out [post update] : JsonObjectBuilder | Test.java:1071:9:1071:11 | out | provenance | | +| Test.java:1070:26:1070:27 | in : Number | Test.java:1070:4:1070:6 | out [post update] : JsonObjectBuilder | provenance | MaD:80 | +| Test.java:1076:32:1076:63 | (...)... : JsonValue | Test.java:1077:26:1077:27 | in : JsonValue | provenance | | +| Test.java:1076:56:1076:63 | source(...) : Object | Test.java:1076:32:1076:63 | (...)... : JsonValue | provenance | | +| Test.java:1077:4:1077:6 | out [post update] : JsonObjectBuilder | Test.java:1078:9:1078:11 | out | provenance | | +| Test.java:1077:26:1077:27 | in : JsonValue | Test.java:1077:4:1077:6 | out [post update] : JsonObjectBuilder | provenance | MaD:80 | +| Test.java:1083:40:1083:79 | (...)... : JsonObjectBuilder | Test.java:1084:26:1084:27 | in : JsonObjectBuilder | provenance | | +| Test.java:1083:72:1083:79 | source(...) : Object | Test.java:1083:40:1083:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:1084:4:1084:6 | out [post update] : JsonObjectBuilder | Test.java:1085:9:1085:11 | out | provenance | | +| Test.java:1084:26:1084:27 | in : JsonObjectBuilder | Test.java:1084:4:1084:6 | out [post update] : JsonObjectBuilder | provenance | MaD:80 | +| Test.java:1090:39:1090:77 | (...)... : JsonArrayBuilder | Test.java:1091:26:1091:27 | in : JsonArrayBuilder | provenance | | +| Test.java:1090:70:1090:77 | source(...) : Object | Test.java:1090:39:1090:77 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:1091:4:1091:6 | out [post update] : JsonObjectBuilder | Test.java:1092:9:1092:11 | out | provenance | | +| Test.java:1091:26:1091:27 | in : JsonArrayBuilder | Test.java:1091:4:1091:6 | out [post update] : JsonObjectBuilder | provenance | MaD:80 | +| Test.java:1097:13:1097:25 | (...)... : Number | Test.java:1098:26:1098:27 | in : Number | provenance | | +| Test.java:1097:18:1097:25 | source(...) : Object | Test.java:1097:13:1097:25 | (...)... : Number | provenance | | +| Test.java:1098:4:1098:6 | out [post update] : JsonObjectBuilder | Test.java:1099:9:1099:11 | out | provenance | | +| Test.java:1098:26:1098:27 | in : Number | Test.java:1098:4:1098:6 | out [post update] : JsonObjectBuilder | provenance | MaD:80 | +| Test.java:1104:16:1104:31 | (...)... : Number | Test.java:1105:26:1105:27 | in : Number | provenance | | +| Test.java:1104:24:1104:31 | source(...) : Object | Test.java:1104:16:1104:31 | (...)... : Number | provenance | | +| Test.java:1105:4:1105:6 | out [post update] : JsonObjectBuilder | Test.java:1106:9:1106:11 | out | provenance | | +| Test.java:1105:26:1105:27 | in : Number | Test.java:1105:4:1105:6 | out [post update] : JsonObjectBuilder | provenance | MaD:80 | +| Test.java:1111:17:1111:33 | (...)... : Boolean | Test.java:1112:26:1112:27 | in : Boolean | provenance | | +| Test.java:1111:26:1111:33 | source(...) : Object | Test.java:1111:17:1111:33 | (...)... : Boolean | provenance | | +| Test.java:1112:4:1112:6 | out [post update] : JsonObjectBuilder | Test.java:1113:9:1113:11 | out | provenance | | +| Test.java:1112:26:1112:27 | in : Boolean | Test.java:1112:4:1112:6 | out [post update] : JsonObjectBuilder | provenance | MaD:80 | +| Test.java:1118:16:1118:31 | (...)... : String | Test.java:1119:26:1119:27 | in : String | provenance | | +| Test.java:1118:24:1118:31 | source(...) : Object | Test.java:1118:16:1118:31 | (...)... : String | provenance | | +| Test.java:1119:4:1119:6 | out [post update] : JsonObjectBuilder | Test.java:1120:9:1120:11 | out | provenance | | +| Test.java:1119:26:1119:27 | in : String | Test.java:1119:4:1119:6 | out [post update] : JsonObjectBuilder | provenance | MaD:80 | +| Test.java:1125:20:1125:39 | (...)... : BigInteger | Test.java:1126:26:1126:27 | in : BigInteger | provenance | | +| Test.java:1125:32:1125:39 | source(...) : Object | Test.java:1125:20:1125:39 | (...)... : BigInteger | provenance | | +| Test.java:1126:4:1126:6 | out [post update] : JsonObjectBuilder | Test.java:1127:9:1127:11 | out | provenance | | +| Test.java:1126:26:1126:27 | in : BigInteger | Test.java:1126:4:1126:6 | out [post update] : JsonObjectBuilder | provenance | MaD:80 | +| Test.java:1132:20:1132:39 | (...)... : BigDecimal | Test.java:1133:26:1133:27 | in : BigDecimal | provenance | | +| Test.java:1132:32:1132:39 | source(...) : Object | Test.java:1132:20:1132:39 | (...)... : BigDecimal | provenance | | +| Test.java:1133:4:1133:6 | out [post update] : JsonObjectBuilder | Test.java:1134:9:1134:11 | out | provenance | | +| Test.java:1133:26:1133:27 | in : BigDecimal | Test.java:1133:4:1133:6 | out [post update] : JsonObjectBuilder | provenance | MaD:80 | +| Test.java:1139:40:1139:79 | (...)... : JsonObjectBuilder | Test.java:1140:10:1140:11 | in : JsonObjectBuilder | provenance | | +| Test.java:1139:72:1139:79 | source(...) : Object | Test.java:1139:40:1139:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:1140:10:1140:11 | in : JsonObjectBuilder | Test.java:1140:10:1140:24 | addAll(...) : JsonObjectBuilder | provenance | MaD:81 | +| Test.java:1140:10:1140:24 | addAll(...) : JsonObjectBuilder | Test.java:1141:9:1141:11 | out | provenance | | +| Test.java:1146:40:1146:79 | (...)... : JsonObjectBuilder | Test.java:1148:26:1148:27 | in : JsonObjectBuilder | provenance | | +| Test.java:1146:72:1146:79 | source(...) : Object | Test.java:1146:40:1146:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:1148:10:1148:28 | addAll(...) : JsonObjectBuilder | Test.java:1149:9:1149:11 | out | provenance | | +| Test.java:1148:26:1148:27 | in : JsonObjectBuilder | Test.java:1148:10:1148:28 | addAll(...) : JsonObjectBuilder | provenance | MaD:82 | +| Test.java:1154:40:1154:79 | (...)... : JsonObjectBuilder | Test.java:1155:10:1155:11 | in : JsonObjectBuilder | provenance | | +| Test.java:1154:72:1154:79 | source(...) : Object | Test.java:1154:40:1154:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:1155:10:1155:11 | in : JsonObjectBuilder | Test.java:1155:10:1155:25 | addNull(...) : JsonObjectBuilder | provenance | MaD:83 | +| Test.java:1155:10:1155:25 | addNull(...) : JsonObjectBuilder | Test.java:1156:9:1156:11 | out | provenance | | +| Test.java:1161:40:1161:79 | (...)... : JsonObjectBuilder | Test.java:1162:10:1162:11 | in : JsonObjectBuilder | provenance | | +| Test.java:1161:72:1161:79 | source(...) : Object | Test.java:1161:40:1161:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:1162:10:1162:11 | in : JsonObjectBuilder | Test.java:1162:10:1162:19 | build(...) : JsonObject | provenance | MaD:84 | +| Test.java:1162:10:1162:19 | build(...) : JsonObject | Test.java:1163:9:1163:11 | out | provenance | | +| Test.java:1168:40:1168:79 | (...)... : JsonObjectBuilder | Test.java:1169:10:1169:11 | in : JsonObjectBuilder | provenance | | +| Test.java:1168:72:1168:79 | source(...) : Object | Test.java:1168:40:1168:79 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:1169:10:1169:11 | in : JsonObjectBuilder | Test.java:1169:10:1169:24 | remove(...) : JsonObjectBuilder | provenance | MaD:85 | +| Test.java:1169:10:1169:24 | remove(...) : JsonObjectBuilder | Test.java:1170:9:1170:11 | out | provenance | | +| Test.java:1175:32:1175:63 | (...)... : JsonPatch | Test.java:1176:10:1176:11 | in : JsonPatch | provenance | | +| Test.java:1175:56:1175:63 | source(...) : Object | Test.java:1175:32:1175:63 | (...)... : JsonPatch | provenance | | +| Test.java:1176:10:1176:11 | in : JsonPatch | Test.java:1176:10:1176:23 | apply(...) : JsonStructure | provenance | MaD:86 | +| Test.java:1176:10:1176:23 | apply(...) : JsonStructure | Test.java:1177:9:1177:11 | out | provenance | | +| Test.java:1182:36:1182:71 | (...)... : JsonStructure | Test.java:1184:25:1184:26 | in : JsonStructure | provenance | | +| Test.java:1182:64:1182:71 | source(...) : Object | Test.java:1182:36:1182:71 | (...)... : JsonStructure | provenance | | +| Test.java:1184:10:1184:27 | apply(...) : JsonStructure | Test.java:1185:9:1185:11 | out | provenance | | +| Test.java:1184:25:1184:26 | in : JsonStructure | Test.java:1184:10:1184:27 | apply(...) : JsonStructure | provenance | MaD:87 | +| Test.java:1190:32:1190:63 | (...)... : JsonPatch | Test.java:1191:10:1191:11 | in : JsonPatch | provenance | | +| Test.java:1190:56:1190:63 | source(...) : Object | Test.java:1190:32:1190:63 | (...)... : JsonPatch | provenance | | +| Test.java:1191:10:1191:11 | in : JsonPatch | Test.java:1191:10:1191:25 | toJsonArray(...) : JsonArray | provenance | MaD:88 | +| Test.java:1191:10:1191:25 | toJsonArray(...) : JsonArray | Test.java:1192:9:1192:11 | out | provenance | | +| Test.java:1197:39:1197:77 | (...)... : JsonPatchBuilder | Test.java:1198:10:1198:11 | in : JsonPatchBuilder | provenance | | +| Test.java:1197:70:1197:77 | source(...) : Object | Test.java:1197:39:1197:77 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:1198:10:1198:11 | in : JsonPatchBuilder | Test.java:1198:10:1198:36 | add(...) : JsonPatchBuilder | provenance | MaD:89 | +| Test.java:1198:10:1198:36 | add(...) : JsonPatchBuilder | Test.java:1199:9:1199:11 | out | provenance | | +| Test.java:1204:39:1204:77 | (...)... : JsonPatchBuilder | Test.java:1205:10:1205:11 | in : JsonPatchBuilder | provenance | | +| Test.java:1204:70:1204:77 | source(...) : Object | Test.java:1204:39:1204:77 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:1205:10:1205:11 | in : JsonPatchBuilder | Test.java:1205:10:1205:32 | add(...) : JsonPatchBuilder | provenance | MaD:89 | +| Test.java:1205:10:1205:32 | add(...) : JsonPatchBuilder | Test.java:1206:9:1206:11 | out | provenance | | +| Test.java:1211:39:1211:77 | (...)... : JsonPatchBuilder | Test.java:1212:10:1212:11 | in : JsonPatchBuilder | provenance | | +| Test.java:1211:70:1211:77 | source(...) : Object | Test.java:1211:39:1211:77 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:1212:10:1212:11 | in : JsonPatchBuilder | Test.java:1212:10:1212:59 | add(...) : JsonPatchBuilder | provenance | MaD:89 | +| Test.java:1212:10:1212:59 | add(...) : JsonPatchBuilder | Test.java:1213:9:1213:11 | out | provenance | | +| Test.java:1218:39:1218:77 | (...)... : JsonPatchBuilder | Test.java:1219:10:1219:11 | in : JsonPatchBuilder | provenance | | +| Test.java:1218:70:1218:77 | source(...) : Object | Test.java:1218:39:1218:77 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:1219:10:1219:11 | in : JsonPatchBuilder | Test.java:1219:10:1219:43 | add(...) : JsonPatchBuilder | provenance | MaD:89 | +| Test.java:1219:10:1219:43 | add(...) : JsonPatchBuilder | Test.java:1220:9:1220:11 | out | provenance | | +| Test.java:1225:32:1225:63 | (...)... : JsonValue | Test.java:1227:37:1227:38 | in : JsonValue | provenance | | +| Test.java:1225:56:1225:63 | source(...) : Object | Test.java:1225:32:1225:63 | (...)... : JsonValue | provenance | | +| Test.java:1227:10:1227:39 | add(...) : JsonPatchBuilder | Test.java:1228:9:1228:11 | out | provenance | | +| Test.java:1227:37:1227:38 | in : JsonValue | Test.java:1227:10:1227:39 | add(...) : JsonPatchBuilder | provenance | MaD:90 | +| Test.java:1233:13:1233:25 | (...)... : Number | Test.java:1235:37:1235:38 | in : Number | provenance | | +| Test.java:1233:18:1233:25 | source(...) : Object | Test.java:1233:13:1233:25 | (...)... : Number | provenance | | +| Test.java:1235:10:1235:39 | add(...) : JsonPatchBuilder | Test.java:1236:9:1236:11 | out | provenance | | +| Test.java:1235:37:1235:38 | in : Number | Test.java:1235:10:1235:39 | add(...) : JsonPatchBuilder | provenance | MaD:90 | +| Test.java:1241:17:1241:33 | (...)... : Boolean | Test.java:1243:37:1243:38 | in : Boolean | provenance | | +| Test.java:1241:26:1241:33 | source(...) : Object | Test.java:1241:17:1241:33 | (...)... : Boolean | provenance | | +| Test.java:1243:10:1243:39 | add(...) : JsonPatchBuilder | Test.java:1244:9:1244:11 | out | provenance | | +| Test.java:1243:37:1243:38 | in : Boolean | Test.java:1243:10:1243:39 | add(...) : JsonPatchBuilder | provenance | MaD:90 | +| Test.java:1249:16:1249:31 | (...)... : String | Test.java:1251:23:1251:24 | in : String | provenance | | +| Test.java:1249:24:1249:31 | source(...) : Object | Test.java:1249:16:1249:31 | (...)... : String | provenance | | +| Test.java:1251:10:1251:32 | add(...) : JsonPatchBuilder | Test.java:1252:9:1252:11 | out | provenance | | +| Test.java:1251:23:1251:24 | in : String | Test.java:1251:10:1251:32 | add(...) : JsonPatchBuilder | provenance | MaD:90 | +| Test.java:1257:16:1257:31 | (...)... : String | Test.java:1259:23:1259:24 | in : String | provenance | | +| Test.java:1257:24:1257:31 | source(...) : Object | Test.java:1257:16:1257:31 | (...)... : String | provenance | | +| Test.java:1259:10:1259:28 | add(...) : JsonPatchBuilder | Test.java:1260:9:1260:11 | out | provenance | | +| Test.java:1259:23:1259:24 | in : String | Test.java:1259:10:1259:28 | add(...) : JsonPatchBuilder | provenance | MaD:90 | +| Test.java:1265:16:1265:31 | (...)... : String | Test.java:1267:23:1267:24 | in : String | provenance | | +| Test.java:1265:24:1265:31 | source(...) : Object | Test.java:1265:16:1265:31 | (...)... : String | provenance | | +| Test.java:1267:10:1267:55 | add(...) : JsonPatchBuilder | Test.java:1268:9:1268:11 | out | provenance | | +| Test.java:1267:23:1267:24 | in : String | Test.java:1267:10:1267:55 | add(...) : JsonPatchBuilder | provenance | MaD:90 | +| Test.java:1273:16:1273:31 | (...)... : String | Test.java:1275:23:1275:24 | in : String | provenance | | +| Test.java:1273:24:1273:31 | source(...) : Object | Test.java:1273:16:1273:31 | (...)... : String | provenance | | +| Test.java:1275:10:1275:39 | add(...) : JsonPatchBuilder | Test.java:1276:9:1276:11 | out | provenance | | +| Test.java:1275:23:1275:24 | in : String | Test.java:1275:10:1275:39 | add(...) : JsonPatchBuilder | provenance | MaD:90 | +| Test.java:1281:16:1281:31 | (...)... : String | Test.java:1283:37:1283:38 | in : String | provenance | | +| Test.java:1281:24:1281:31 | source(...) : Object | Test.java:1281:16:1281:31 | (...)... : String | provenance | | +| Test.java:1283:10:1283:39 | add(...) : JsonPatchBuilder | Test.java:1284:9:1284:11 | out | provenance | | +| Test.java:1283:37:1283:38 | in : String | Test.java:1283:10:1283:39 | add(...) : JsonPatchBuilder | provenance | MaD:90 | +| Test.java:1289:39:1289:77 | (...)... : JsonPatchBuilder | Test.java:1290:10:1290:11 | in : JsonPatchBuilder | provenance | | +| Test.java:1289:70:1289:77 | source(...) : Object | Test.java:1289:39:1289:77 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:1290:10:1290:11 | in : JsonPatchBuilder | Test.java:1290:10:1290:19 | build(...) : JsonPatch | provenance | MaD:91 | +| Test.java:1290:10:1290:19 | build(...) : JsonPatch | Test.java:1291:9:1291:11 | out | provenance | | +| Test.java:1296:39:1296:77 | (...)... : JsonPatchBuilder | Test.java:1297:10:1297:11 | in : JsonPatchBuilder | provenance | | +| Test.java:1296:70:1296:77 | source(...) : Object | Test.java:1296:39:1296:77 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:1297:10:1297:11 | in : JsonPatchBuilder | Test.java:1297:10:1297:28 | copy(...) : JsonPatchBuilder | provenance | MaD:92 | +| Test.java:1297:10:1297:28 | copy(...) : JsonPatchBuilder | Test.java:1298:9:1298:11 | out | provenance | | +| Test.java:1303:16:1303:31 | (...)... : String | Test.java:1305:30:1305:31 | in : String | provenance | | +| Test.java:1303:24:1303:31 | source(...) : Object | Test.java:1303:16:1303:31 | (...)... : String | provenance | | +| Test.java:1305:10:1305:32 | copy(...) : JsonPatchBuilder | Test.java:1306:9:1306:11 | out | provenance | | +| Test.java:1305:30:1305:31 | in : String | Test.java:1305:10:1305:32 | copy(...) : JsonPatchBuilder | provenance | MaD:93 | +| Test.java:1311:16:1311:31 | (...)... : String | Test.java:1313:24:1313:25 | in : String | provenance | | +| Test.java:1311:24:1311:31 | source(...) : Object | Test.java:1311:16:1311:31 | (...)... : String | provenance | | +| Test.java:1313:10:1313:32 | copy(...) : JsonPatchBuilder | Test.java:1314:9:1314:11 | out | provenance | | +| Test.java:1313:24:1313:25 | in : String | Test.java:1313:10:1313:32 | copy(...) : JsonPatchBuilder | provenance | MaD:93 | +| Test.java:1319:39:1319:77 | (...)... : JsonPatchBuilder | Test.java:1320:10:1320:11 | in : JsonPatchBuilder | provenance | | +| Test.java:1319:70:1319:77 | source(...) : Object | Test.java:1319:39:1319:77 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:1320:10:1320:11 | in : JsonPatchBuilder | Test.java:1320:10:1320:28 | move(...) : JsonPatchBuilder | provenance | MaD:94 | +| Test.java:1320:10:1320:28 | move(...) : JsonPatchBuilder | Test.java:1321:9:1321:11 | out | provenance | | +| Test.java:1326:16:1326:31 | (...)... : String | Test.java:1328:30:1328:31 | in : String | provenance | | +| Test.java:1326:24:1326:31 | source(...) : Object | Test.java:1326:16:1326:31 | (...)... : String | provenance | | +| Test.java:1328:10:1328:32 | move(...) : JsonPatchBuilder | Test.java:1329:9:1329:11 | out | provenance | | +| Test.java:1328:30:1328:31 | in : String | Test.java:1328:10:1328:32 | move(...) : JsonPatchBuilder | provenance | MaD:95 | +| Test.java:1334:16:1334:31 | (...)... : String | Test.java:1336:24:1336:25 | in : String | provenance | | +| Test.java:1334:24:1334:31 | source(...) : Object | Test.java:1334:16:1334:31 | (...)... : String | provenance | | +| Test.java:1336:10:1336:32 | move(...) : JsonPatchBuilder | Test.java:1337:9:1337:11 | out | provenance | | +| Test.java:1336:24:1336:25 | in : String | Test.java:1336:10:1336:32 | move(...) : JsonPatchBuilder | provenance | MaD:95 | +| Test.java:1342:39:1342:77 | (...)... : JsonPatchBuilder | Test.java:1343:10:1343:11 | in : JsonPatchBuilder | provenance | | +| Test.java:1342:70:1342:77 | source(...) : Object | Test.java:1342:39:1342:77 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:1343:10:1343:11 | in : JsonPatchBuilder | Test.java:1343:10:1343:24 | remove(...) : JsonPatchBuilder | provenance | MaD:96 | +| Test.java:1343:10:1343:24 | remove(...) : JsonPatchBuilder | Test.java:1344:9:1344:11 | out | provenance | | +| Test.java:1349:16:1349:31 | (...)... : String | Test.java:1351:26:1351:27 | in : String | provenance | | +| Test.java:1349:24:1349:31 | source(...) : Object | Test.java:1349:16:1349:31 | (...)... : String | provenance | | +| Test.java:1351:10:1351:28 | remove(...) : JsonPatchBuilder | Test.java:1352:9:1352:11 | out | provenance | | +| Test.java:1351:26:1351:27 | in : String | Test.java:1351:10:1351:28 | remove(...) : JsonPatchBuilder | provenance | MaD:97 | +| Test.java:1357:39:1357:77 | (...)... : JsonPatchBuilder | Test.java:1358:10:1358:11 | in : JsonPatchBuilder | provenance | | +| Test.java:1357:70:1357:77 | source(...) : Object | Test.java:1357:39:1357:77 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:1358:10:1358:11 | in : JsonPatchBuilder | Test.java:1358:10:1358:40 | replace(...) : JsonPatchBuilder | provenance | MaD:98 | +| Test.java:1358:10:1358:40 | replace(...) : JsonPatchBuilder | Test.java:1359:9:1359:11 | out | provenance | | +| Test.java:1364:39:1364:77 | (...)... : JsonPatchBuilder | Test.java:1365:10:1365:11 | in : JsonPatchBuilder | provenance | | +| Test.java:1364:70:1364:77 | source(...) : Object | Test.java:1364:39:1364:77 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:1365:10:1365:11 | in : JsonPatchBuilder | Test.java:1365:10:1365:36 | replace(...) : JsonPatchBuilder | provenance | MaD:98 | +| Test.java:1365:10:1365:36 | replace(...) : JsonPatchBuilder | Test.java:1366:9:1366:11 | out | provenance | | +| Test.java:1371:39:1371:77 | (...)... : JsonPatchBuilder | Test.java:1372:10:1372:11 | in : JsonPatchBuilder | provenance | | +| Test.java:1371:70:1371:77 | source(...) : Object | Test.java:1371:39:1371:77 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:1372:10:1372:11 | in : JsonPatchBuilder | Test.java:1372:10:1372:63 | replace(...) : JsonPatchBuilder | provenance | MaD:98 | +| Test.java:1372:10:1372:63 | replace(...) : JsonPatchBuilder | Test.java:1373:9:1373:11 | out | provenance | | +| Test.java:1378:39:1378:77 | (...)... : JsonPatchBuilder | Test.java:1379:10:1379:11 | in : JsonPatchBuilder | provenance | | +| Test.java:1378:70:1378:77 | source(...) : Object | Test.java:1378:39:1378:77 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:1379:10:1379:11 | in : JsonPatchBuilder | Test.java:1379:10:1379:47 | replace(...) : JsonPatchBuilder | provenance | MaD:98 | +| Test.java:1379:10:1379:47 | replace(...) : JsonPatchBuilder | Test.java:1380:9:1380:11 | out | provenance | | +| Test.java:1385:32:1385:63 | (...)... : JsonValue | Test.java:1387:41:1387:42 | in : JsonValue | provenance | | +| Test.java:1385:56:1385:63 | source(...) : Object | Test.java:1385:32:1385:63 | (...)... : JsonValue | provenance | | +| Test.java:1387:10:1387:43 | replace(...) : JsonPatchBuilder | Test.java:1388:9:1388:11 | out | provenance | | +| Test.java:1387:41:1387:42 | in : JsonValue | Test.java:1387:10:1387:43 | replace(...) : JsonPatchBuilder | provenance | MaD:99 | +| Test.java:1393:13:1393:25 | (...)... : Number | Test.java:1395:41:1395:42 | in : Number | provenance | | +| Test.java:1393:18:1393:25 | source(...) : Object | Test.java:1393:13:1393:25 | (...)... : Number | provenance | | +| Test.java:1395:10:1395:43 | replace(...) : JsonPatchBuilder | Test.java:1396:9:1396:11 | out | provenance | | +| Test.java:1395:41:1395:42 | in : Number | Test.java:1395:10:1395:43 | replace(...) : JsonPatchBuilder | provenance | MaD:99 | +| Test.java:1401:17:1401:33 | (...)... : Boolean | Test.java:1403:41:1403:42 | in : Boolean | provenance | | +| Test.java:1401:26:1401:33 | source(...) : Object | Test.java:1401:17:1401:33 | (...)... : Boolean | provenance | | +| Test.java:1403:10:1403:43 | replace(...) : JsonPatchBuilder | Test.java:1404:9:1404:11 | out | provenance | | +| Test.java:1403:41:1403:42 | in : Boolean | Test.java:1403:10:1403:43 | replace(...) : JsonPatchBuilder | provenance | MaD:99 | +| Test.java:1409:16:1409:31 | (...)... : String | Test.java:1411:27:1411:28 | in : String | provenance | | +| Test.java:1409:24:1409:31 | source(...) : Object | Test.java:1409:16:1409:31 | (...)... : String | provenance | | +| Test.java:1411:10:1411:36 | replace(...) : JsonPatchBuilder | Test.java:1412:9:1412:11 | out | provenance | | +| Test.java:1411:27:1411:28 | in : String | Test.java:1411:10:1411:36 | replace(...) : JsonPatchBuilder | provenance | MaD:99 | +| Test.java:1417:16:1417:31 | (...)... : String | Test.java:1419:27:1419:28 | in : String | provenance | | +| Test.java:1417:24:1417:31 | source(...) : Object | Test.java:1417:16:1417:31 | (...)... : String | provenance | | +| Test.java:1419:10:1419:32 | replace(...) : JsonPatchBuilder | Test.java:1420:9:1420:11 | out | provenance | | +| Test.java:1419:27:1419:28 | in : String | Test.java:1419:10:1419:32 | replace(...) : JsonPatchBuilder | provenance | MaD:99 | +| Test.java:1425:16:1425:31 | (...)... : String | Test.java:1427:27:1427:28 | in : String | provenance | | +| Test.java:1425:24:1425:31 | source(...) : Object | Test.java:1425:16:1425:31 | (...)... : String | provenance | | +| Test.java:1427:10:1427:59 | replace(...) : JsonPatchBuilder | Test.java:1428:9:1428:11 | out | provenance | | +| Test.java:1427:27:1427:28 | in : String | Test.java:1427:10:1427:59 | replace(...) : JsonPatchBuilder | provenance | MaD:99 | +| Test.java:1433:16:1433:31 | (...)... : String | Test.java:1435:27:1435:28 | in : String | provenance | | +| Test.java:1433:24:1433:31 | source(...) : Object | Test.java:1433:16:1433:31 | (...)... : String | provenance | | +| Test.java:1435:10:1435:43 | replace(...) : JsonPatchBuilder | Test.java:1436:9:1436:11 | out | provenance | | +| Test.java:1435:27:1435:28 | in : String | Test.java:1435:10:1435:43 | replace(...) : JsonPatchBuilder | provenance | MaD:99 | +| Test.java:1441:16:1441:31 | (...)... : String | Test.java:1443:41:1443:42 | in : String | provenance | | +| Test.java:1441:24:1441:31 | source(...) : Object | Test.java:1441:16:1441:31 | (...)... : String | provenance | | +| Test.java:1443:10:1443:43 | replace(...) : JsonPatchBuilder | Test.java:1444:9:1444:11 | out | provenance | | +| Test.java:1443:41:1443:42 | in : String | Test.java:1443:10:1443:43 | replace(...) : JsonPatchBuilder | provenance | MaD:99 | +| Test.java:1449:39:1449:77 | (...)... : JsonPatchBuilder | Test.java:1450:10:1450:11 | in : JsonPatchBuilder | provenance | | +| Test.java:1449:70:1449:77 | source(...) : Object | Test.java:1449:39:1449:77 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:1450:10:1450:11 | in : JsonPatchBuilder | Test.java:1450:10:1450:37 | test(...) : JsonPatchBuilder | provenance | MaD:100 | +| Test.java:1450:10:1450:37 | test(...) : JsonPatchBuilder | Test.java:1451:9:1451:11 | out | provenance | | +| Test.java:1456:39:1456:77 | (...)... : JsonPatchBuilder | Test.java:1457:10:1457:11 | in : JsonPatchBuilder | provenance | | +| Test.java:1456:70:1456:77 | source(...) : Object | Test.java:1456:39:1456:77 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:1457:10:1457:11 | in : JsonPatchBuilder | Test.java:1457:10:1457:33 | test(...) : JsonPatchBuilder | provenance | MaD:100 | +| Test.java:1457:10:1457:33 | test(...) : JsonPatchBuilder | Test.java:1458:9:1458:11 | out | provenance | | +| Test.java:1463:39:1463:77 | (...)... : JsonPatchBuilder | Test.java:1464:10:1464:11 | in : JsonPatchBuilder | provenance | | +| Test.java:1463:70:1463:77 | source(...) : Object | Test.java:1463:39:1463:77 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:1464:10:1464:11 | in : JsonPatchBuilder | Test.java:1464:10:1464:60 | test(...) : JsonPatchBuilder | provenance | MaD:100 | +| Test.java:1464:10:1464:60 | test(...) : JsonPatchBuilder | Test.java:1465:9:1465:11 | out | provenance | | +| Test.java:1470:39:1470:77 | (...)... : JsonPatchBuilder | Test.java:1471:10:1471:11 | in : JsonPatchBuilder | provenance | | +| Test.java:1470:70:1470:77 | source(...) : Object | Test.java:1470:39:1470:77 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:1471:10:1471:11 | in : JsonPatchBuilder | Test.java:1471:10:1471:44 | test(...) : JsonPatchBuilder | provenance | MaD:100 | +| Test.java:1471:10:1471:44 | test(...) : JsonPatchBuilder | Test.java:1472:9:1472:11 | out | provenance | | +| Test.java:1477:32:1477:63 | (...)... : JsonValue | Test.java:1479:38:1479:39 | in : JsonValue | provenance | | +| Test.java:1477:56:1477:63 | source(...) : Object | Test.java:1477:32:1477:63 | (...)... : JsonValue | provenance | | +| Test.java:1479:10:1479:40 | test(...) : JsonPatchBuilder | Test.java:1480:9:1480:11 | out | provenance | | +| Test.java:1479:38:1479:39 | in : JsonValue | Test.java:1479:10:1479:40 | test(...) : JsonPatchBuilder | provenance | MaD:101 | +| Test.java:1485:13:1485:25 | (...)... : Number | Test.java:1487:38:1487:39 | in : Number | provenance | | +| Test.java:1485:18:1485:25 | source(...) : Object | Test.java:1485:13:1485:25 | (...)... : Number | provenance | | +| Test.java:1487:10:1487:40 | test(...) : JsonPatchBuilder | Test.java:1488:9:1488:11 | out | provenance | | +| Test.java:1487:38:1487:39 | in : Number | Test.java:1487:10:1487:40 | test(...) : JsonPatchBuilder | provenance | MaD:101 | +| Test.java:1493:17:1493:33 | (...)... : Boolean | Test.java:1495:38:1495:39 | in : Boolean | provenance | | +| Test.java:1493:26:1493:33 | source(...) : Object | Test.java:1493:17:1493:33 | (...)... : Boolean | provenance | | +| Test.java:1495:10:1495:40 | test(...) : JsonPatchBuilder | Test.java:1496:9:1496:11 | out | provenance | | +| Test.java:1495:38:1495:39 | in : Boolean | Test.java:1495:10:1495:40 | test(...) : JsonPatchBuilder | provenance | MaD:101 | +| Test.java:1501:16:1501:31 | (...)... : String | Test.java:1503:24:1503:25 | in : String | provenance | | +| Test.java:1501:24:1501:31 | source(...) : Object | Test.java:1501:16:1501:31 | (...)... : String | provenance | | +| Test.java:1503:10:1503:33 | test(...) : JsonPatchBuilder | Test.java:1504:9:1504:11 | out | provenance | | +| Test.java:1503:24:1503:25 | in : String | Test.java:1503:10:1503:33 | test(...) : JsonPatchBuilder | provenance | MaD:101 | +| Test.java:1509:16:1509:31 | (...)... : String | Test.java:1511:24:1511:25 | in : String | provenance | | +| Test.java:1509:24:1509:31 | source(...) : Object | Test.java:1509:16:1509:31 | (...)... : String | provenance | | +| Test.java:1511:10:1511:29 | test(...) : JsonPatchBuilder | Test.java:1512:9:1512:11 | out | provenance | | +| Test.java:1511:24:1511:25 | in : String | Test.java:1511:10:1511:29 | test(...) : JsonPatchBuilder | provenance | MaD:101 | +| Test.java:1517:16:1517:31 | (...)... : String | Test.java:1519:24:1519:25 | in : String | provenance | | +| Test.java:1517:24:1517:31 | source(...) : Object | Test.java:1517:16:1517:31 | (...)... : String | provenance | | +| Test.java:1519:10:1519:56 | test(...) : JsonPatchBuilder | Test.java:1520:9:1520:11 | out | provenance | | +| Test.java:1519:24:1519:25 | in : String | Test.java:1519:10:1519:56 | test(...) : JsonPatchBuilder | provenance | MaD:101 | +| Test.java:1525:16:1525:31 | (...)... : String | Test.java:1527:24:1527:25 | in : String | provenance | | +| Test.java:1525:24:1525:31 | source(...) : Object | Test.java:1525:16:1525:31 | (...)... : String | provenance | | +| Test.java:1527:10:1527:40 | test(...) : JsonPatchBuilder | Test.java:1528:9:1528:11 | out | provenance | | +| Test.java:1527:24:1527:25 | in : String | Test.java:1527:10:1527:40 | test(...) : JsonPatchBuilder | provenance | MaD:101 | +| Test.java:1533:16:1533:31 | (...)... : String | Test.java:1535:38:1535:39 | in : String | provenance | | +| Test.java:1533:24:1533:31 | source(...) : Object | Test.java:1533:16:1533:31 | (...)... : String | provenance | | +| Test.java:1535:10:1535:40 | test(...) : JsonPatchBuilder | Test.java:1536:9:1536:11 | out | provenance | | +| Test.java:1535:38:1535:39 | in : String | Test.java:1535:10:1535:40 | test(...) : JsonPatchBuilder | provenance | MaD:101 | +| Test.java:1541:34:1541:67 | (...)... : JsonPointer | Test.java:1542:10:1542:11 | in : JsonPointer | provenance | | +| Test.java:1541:60:1541:67 | source(...) : Object | Test.java:1541:34:1541:67 | (...)... : JsonPointer | provenance | | +| Test.java:1542:10:1542:11 | in : JsonPointer | Test.java:1542:10:1542:27 | add(...) : JsonStructure | provenance | MaD:102 | +| Test.java:1542:10:1542:27 | add(...) : JsonStructure | Test.java:1543:9:1543:11 | out | provenance | | +| Test.java:1548:32:1548:63 | (...)... : JsonValue | Test.java:1550:29:1550:30 | in : JsonValue | provenance | | +| Test.java:1548:56:1548:63 | source(...) : Object | Test.java:1548:32:1548:63 | (...)... : JsonValue | provenance | | +| Test.java:1550:10:1550:31 | add(...) : JsonStructure | Test.java:1551:9:1551:11 | out | provenance | | +| Test.java:1550:29:1550:30 | in : JsonValue | Test.java:1550:10:1550:31 | add(...) : JsonStructure | provenance | MaD:103 | +| Test.java:1556:36:1556:71 | (...)... : JsonStructure | Test.java:1558:23:1558:24 | in : JsonStructure | provenance | | +| Test.java:1556:64:1556:71 | source(...) : Object | Test.java:1556:36:1556:71 | (...)... : JsonStructure | provenance | | +| Test.java:1558:10:1558:31 | add(...) : JsonStructure | Test.java:1559:9:1559:11 | out | provenance | | +| Test.java:1558:23:1558:24 | in : JsonStructure | Test.java:1558:10:1558:31 | add(...) : JsonStructure | provenance | MaD:103 | +| Test.java:1564:36:1564:71 | (...)... : JsonStructure | Test.java:1566:28:1566:29 | in : JsonStructure | provenance | | +| Test.java:1564:64:1564:71 | source(...) : Object | Test.java:1564:36:1564:71 | (...)... : JsonStructure | provenance | | +| Test.java:1566:10:1566:30 | getValue(...) : JsonValue | Test.java:1567:9:1567:11 | out | provenance | | +| Test.java:1566:28:1566:29 | in : JsonStructure | Test.java:1566:10:1566:30 | getValue(...) : JsonValue | provenance | MaD:104 | +| Test.java:1572:36:1572:71 | (...)... : JsonStructure | Test.java:1574:26:1574:27 | in : JsonStructure | provenance | | +| Test.java:1572:64:1572:71 | source(...) : Object | Test.java:1572:36:1572:71 | (...)... : JsonStructure | provenance | | +| Test.java:1574:10:1574:28 | remove(...) : JsonStructure | Test.java:1575:9:1575:11 | out | provenance | | +| Test.java:1574:26:1574:27 | in : JsonStructure | Test.java:1574:10:1574:28 | remove(...) : JsonStructure | provenance | MaD:105 | +| Test.java:1580:32:1580:63 | (...)... : JsonValue | Test.java:1582:33:1582:34 | in : JsonValue | provenance | | +| Test.java:1580:56:1580:63 | source(...) : Object | Test.java:1580:32:1580:63 | (...)... : JsonValue | provenance | | +| Test.java:1582:10:1582:35 | replace(...) : JsonStructure | Test.java:1583:9:1583:11 | out | provenance | | +| Test.java:1582:33:1582:34 | in : JsonValue | Test.java:1582:10:1582:35 | replace(...) : JsonStructure | provenance | MaD:106 | +| Test.java:1588:36:1588:71 | (...)... : JsonStructure | Test.java:1590:27:1590:28 | in : JsonStructure | provenance | | +| Test.java:1588:64:1588:71 | source(...) : Object | Test.java:1588:36:1588:71 | (...)... : JsonStructure | provenance | | +| Test.java:1590:10:1590:35 | replace(...) : JsonStructure | Test.java:1591:9:1591:11 | out | provenance | | +| Test.java:1590:27:1590:28 | in : JsonStructure | Test.java:1590:10:1590:35 | replace(...) : JsonStructure | provenance | MaD:106 | +| Test.java:1596:34:1596:67 | (...)... : JsonPointer | Test.java:1597:10:1597:11 | in : JsonPointer | provenance | | +| Test.java:1596:60:1596:67 | source(...) : Object | Test.java:1596:34:1596:67 | (...)... : JsonPointer | provenance | | +| Test.java:1597:10:1597:11 | in : JsonPointer | Test.java:1597:10:1597:22 | toString(...) : String | provenance | MaD:107 | +| Test.java:1597:10:1597:22 | toString(...) : String | Test.java:1598:9:1598:11 | out | provenance | | +| Test.java:1603:33:1603:65 | (...)... : JsonReader | Test.java:1604:10:1604:11 | in : JsonReader | provenance | | +| Test.java:1603:58:1603:65 | source(...) : Object | Test.java:1603:33:1603:65 | (...)... : JsonReader | provenance | | +| Test.java:1604:10:1604:11 | in : JsonReader | Test.java:1604:10:1604:18 | read(...) : JsonStructure | provenance | MaD:108 | +| Test.java:1604:10:1604:18 | read(...) : JsonStructure | Test.java:1605:9:1605:11 | out | provenance | | +| Test.java:1610:33:1610:65 | (...)... : JsonReader | Test.java:1611:10:1611:11 | in : JsonReader | provenance | | +| Test.java:1610:58:1610:65 | source(...) : Object | Test.java:1610:33:1610:65 | (...)... : JsonReader | provenance | | +| Test.java:1611:10:1611:11 | in : JsonReader | Test.java:1611:10:1611:23 | readArray(...) : JsonArray | provenance | MaD:109 | +| Test.java:1611:10:1611:23 | readArray(...) : JsonArray | Test.java:1612:9:1612:11 | out | provenance | | +| Test.java:1617:33:1617:65 | (...)... : JsonReader | Test.java:1618:10:1618:11 | in : JsonReader | provenance | | +| Test.java:1617:58:1617:65 | source(...) : Object | Test.java:1617:33:1617:65 | (...)... : JsonReader | provenance | | +| Test.java:1618:10:1618:11 | in : JsonReader | Test.java:1618:10:1618:24 | readObject(...) : JsonObject | provenance | MaD:110 | +| Test.java:1618:10:1618:24 | readObject(...) : JsonObject | Test.java:1619:9:1619:11 | out | provenance | | +| Test.java:1624:33:1624:65 | (...)... : JsonReader | Test.java:1625:10:1625:11 | in : JsonReader | provenance | | +| Test.java:1624:58:1624:65 | source(...) : Object | Test.java:1624:33:1624:65 | (...)... : JsonReader | provenance | | +| Test.java:1625:10:1625:11 | in : JsonReader | Test.java:1625:10:1625:23 | readValue(...) : JsonValue | provenance | MaD:111 | +| Test.java:1625:10:1625:23 | readValue(...) : JsonValue | Test.java:1626:9:1626:11 | out | provenance | | +| Test.java:1631:16:1631:31 | (...)... : Reader | Test.java:1633:32:1633:33 | in : Reader | provenance | | +| Test.java:1631:24:1631:31 | source(...) : Object | Test.java:1631:16:1631:31 | (...)... : Reader | provenance | | +| Test.java:1633:10:1633:34 | createReader(...) : JsonReader | Test.java:1634:9:1634:11 | out | provenance | | +| Test.java:1633:32:1633:33 | in : Reader | Test.java:1633:10:1633:34 | createReader(...) : JsonReader | provenance | MaD:112 | +| Test.java:1639:21:1639:41 | (...)... : InputStream | Test.java:1641:32:1641:33 | in : InputStream | provenance | | +| Test.java:1639:34:1639:41 | source(...) : Object | Test.java:1639:21:1639:41 | (...)... : InputStream | provenance | | +| Test.java:1641:10:1641:40 | createReader(...) : JsonReader | Test.java:1642:9:1642:11 | out | provenance | | +| Test.java:1641:32:1641:33 | in : InputStream | Test.java:1641:10:1641:40 | createReader(...) : JsonReader | provenance | MaD:112 | +| Test.java:1647:21:1647:41 | (...)... : InputStream | Test.java:1649:32:1649:33 | in : InputStream | provenance | | +| Test.java:1647:34:1647:41 | source(...) : Object | Test.java:1647:21:1647:41 | (...)... : InputStream | provenance | | +| Test.java:1649:10:1649:34 | createReader(...) : JsonReader | Test.java:1650:9:1650:11 | out | provenance | | +| Test.java:1649:32:1649:33 | in : InputStream | Test.java:1649:10:1649:34 | createReader(...) : JsonReader | provenance | MaD:112 | +| Test.java:1655:33:1655:65 | (...)... : JsonString | Test.java:1656:10:1656:11 | in : JsonString | provenance | | +| Test.java:1655:58:1655:65 | source(...) : Object | Test.java:1655:33:1655:65 | (...)... : JsonString | provenance | | +| Test.java:1656:10:1656:11 | in : JsonString | Test.java:1656:10:1656:22 | getChars(...) : CharSequence | provenance | MaD:113 | +| Test.java:1656:10:1656:22 | getChars(...) : CharSequence | Test.java:1657:9:1657:11 | out | provenance | | +| Test.java:1662:33:1662:65 | (...)... : JsonString | Test.java:1663:10:1663:11 | in : JsonString | provenance | | +| Test.java:1662:58:1662:65 | source(...) : Object | Test.java:1662:33:1662:65 | (...)... : JsonString | provenance | | +| Test.java:1663:10:1663:11 | in : JsonString | Test.java:1663:10:1663:23 | getString(...) : String | provenance | MaD:114 | +| Test.java:1663:10:1663:23 | getString(...) : String | Test.java:1664:9:1664:11 | out | provenance | | +| Test.java:1669:36:1669:71 | (...)... : JsonStructure | Test.java:1670:10:1670:11 | in : JsonStructure | provenance | | +| Test.java:1669:64:1669:71 | source(...) : Object | Test.java:1669:36:1669:71 | (...)... : JsonStructure | provenance | | +| Test.java:1670:10:1670:11 | in : JsonStructure | Test.java:1670:10:1670:26 | getValue(...) : JsonValue | provenance | MaD:115 | +| Test.java:1670:10:1670:26 | getValue(...) : JsonValue | Test.java:1671:9:1671:11 | out | provenance | | +| Test.java:1676:32:1676:63 | (...)... : JsonValue | Test.java:1677:10:1677:11 | in : JsonValue | provenance | | +| Test.java:1676:56:1676:63 | source(...) : Object | Test.java:1676:32:1676:63 | (...)... : JsonValue | provenance | | +| Test.java:1677:10:1677:11 | in : JsonValue | Test.java:1677:10:1677:25 | asJsonArray(...) : JsonArray | provenance | MaD:116 | +| Test.java:1677:10:1677:25 | asJsonArray(...) : JsonArray | Test.java:1678:9:1678:11 | out | provenance | | +| Test.java:1683:32:1683:63 | (...)... : JsonValue | Test.java:1684:10:1684:11 | in : JsonValue | provenance | | +| Test.java:1683:56:1683:63 | source(...) : Object | Test.java:1683:32:1683:63 | (...)... : JsonValue | provenance | | +| Test.java:1684:10:1684:11 | in : JsonValue | Test.java:1684:10:1684:26 | asJsonObject(...) : JsonObject | provenance | MaD:117 | +| Test.java:1684:10:1684:26 | asJsonObject(...) : JsonObject | Test.java:1685:9:1685:11 | out | provenance | | +| Test.java:1690:32:1690:63 | (...)... : JsonValue | Test.java:1691:10:1691:11 | in : JsonValue | provenance | | +| Test.java:1690:56:1690:63 | source(...) : Object | Test.java:1690:32:1690:63 | (...)... : JsonValue | provenance | | +| Test.java:1691:10:1691:11 | in : JsonValue | Test.java:1691:10:1691:22 | toString(...) : String | provenance | MaD:118 | +| Test.java:1691:10:1691:22 | toString(...) : String | Test.java:1692:9:1692:11 | out | provenance | | +| Test.java:1697:33:1697:65 | (...)... : JsonNumber | Test.java:1698:10:1698:11 | in : JsonNumber | provenance | | +| Test.java:1697:58:1697:65 | source(...) : Object | Test.java:1697:33:1697:65 | (...)... : JsonNumber | provenance | | +| Test.java:1698:10:1698:11 | in : JsonNumber | Test.java:1698:10:1698:22 | toString(...) : String | provenance | MaD:118 | +| Test.java:1698:10:1698:22 | toString(...) : String | Test.java:1699:9:1699:11 | out | provenance | | +| Test.java:1704:32:1704:63 | (...)... : JsonValue | Test.java:1705:14:1705:15 | in : JsonValue | provenance | | +| Test.java:1704:56:1704:63 | source(...) : Object | Test.java:1704:32:1704:63 | (...)... : JsonValue | provenance | | +| Test.java:1705:4:1705:6 | out [post update] : JsonWriter | Test.java:1706:9:1706:11 | out | provenance | | +| Test.java:1705:14:1705:15 | in : JsonValue | Test.java:1705:4:1705:6 | out [post update] : JsonWriter | provenance | MaD:119 | +| Test.java:1711:36:1711:71 | (...)... : JsonStructure | Test.java:1712:14:1712:15 | in : JsonStructure | provenance | | +| Test.java:1711:64:1711:71 | source(...) : Object | Test.java:1711:36:1711:71 | (...)... : JsonStructure | provenance | | +| Test.java:1712:4:1712:6 | out [post update] : JsonWriter | Test.java:1713:9:1713:11 | out | provenance | | +| Test.java:1712:14:1712:15 | in : JsonStructure | Test.java:1712:4:1712:6 | out [post update] : JsonWriter | provenance | MaD:119 | +| Test.java:1718:32:1718:63 | (...)... : JsonArray | Test.java:1719:19:1719:20 | in : JsonArray | provenance | | +| Test.java:1718:56:1718:63 | source(...) : Object | Test.java:1718:32:1718:63 | (...)... : JsonArray | provenance | | +| Test.java:1719:4:1719:6 | out [post update] : JsonWriter | Test.java:1720:9:1720:11 | out | provenance | | +| Test.java:1719:19:1719:20 | in : JsonArray | Test.java:1719:4:1719:6 | out [post update] : JsonWriter | provenance | MaD:120 | +| Test.java:1725:33:1725:65 | (...)... : JsonObject | Test.java:1726:20:1726:21 | in : JsonObject | provenance | | +| Test.java:1725:58:1725:65 | source(...) : Object | Test.java:1725:33:1725:65 | (...)... : JsonObject | provenance | | +| Test.java:1726:4:1726:6 | out [post update] : JsonWriter | Test.java:1727:9:1727:11 | out | provenance | | +| Test.java:1726:20:1726:21 | in : JsonObject | Test.java:1726:4:1726:6 | out [post update] : JsonWriter | provenance | MaD:121 | +| Test.java:1732:40:1732:79 | (...)... : JsonWriterFactory | Test.java:1733:4:1733:5 | in : JsonWriterFactory | provenance | | +| Test.java:1732:72:1732:79 | source(...) : Object | Test.java:1732:40:1732:79 | (...)... : JsonWriterFactory | provenance | | +| Test.java:1733:4:1733:5 | in : JsonWriterFactory | Test.java:1733:20:1733:22 | out [post update] : Writer | provenance | MaD:122 | +| Test.java:1733:20:1733:22 | out [post update] : Writer | Test.java:1734:9:1734:11 | out | provenance | | +| Test.java:1739:40:1739:79 | (...)... : JsonWriterFactory | Test.java:1740:4:1740:5 | in : JsonWriterFactory | provenance | | +| Test.java:1739:72:1739:79 | source(...) : Object | Test.java:1739:40:1739:79 | (...)... : JsonWriterFactory | provenance | | +| Test.java:1740:4:1740:5 | in : JsonWriterFactory | Test.java:1740:20:1740:22 | out [post update] : OutputStream | provenance | MaD:122 | +| Test.java:1740:20:1740:22 | out [post update] : OutputStream | Test.java:1741:9:1741:11 | out | provenance | | +| Test.java:1746:40:1746:79 | (...)... : JsonWriterFactory | Test.java:1747:4:1747:5 | in : JsonWriterFactory | provenance | | +| Test.java:1746:72:1746:79 | source(...) : Object | Test.java:1746:40:1746:79 | (...)... : JsonWriterFactory | provenance | | +| Test.java:1747:4:1747:5 | in : JsonWriterFactory | Test.java:1747:20:1747:22 | out [post update] : OutputStream | provenance | MaD:122 | +| Test.java:1747:20:1747:22 | out [post update] : OutputStream | Test.java:1748:9:1748:11 | out | provenance | | +| Test.java:1753:31:1753:61 | (...)... : JsonObject | Test.java:1755:32:1755:33 | in : JsonObject | provenance | | +| Test.java:1753:54:1753:61 | source(...) : Object | Test.java:1753:31:1753:61 | (...)... : JsonObject | provenance | | +| Test.java:1755:10:1755:34 | createParser(...) : JsonParser | Test.java:1756:9:1756:11 | out | provenance | | +| Test.java:1755:32:1755:33 | in : JsonObject | Test.java:1755:10:1755:34 | createParser(...) : JsonParser | provenance | MaD:248 | +| Test.java:1761:30:1761:59 | (...)... : JsonArray | Test.java:1763:32:1763:33 | in : JsonArray | provenance | | +| Test.java:1761:52:1761:59 | source(...) : Object | Test.java:1761:30:1761:59 | (...)... : JsonArray | provenance | | +| Test.java:1763:10:1763:34 | createParser(...) : JsonParser | Test.java:1764:9:1764:11 | out | provenance | | +| Test.java:1763:32:1763:33 | in : JsonArray | Test.java:1763:10:1763:34 | createParser(...) : JsonParser | provenance | MaD:248 | +| Test.java:1769:16:1769:31 | (...)... : Reader | Test.java:1771:32:1771:33 | in : Reader | provenance | | +| Test.java:1769:24:1769:31 | source(...) : Object | Test.java:1769:16:1769:31 | (...)... : Reader | provenance | | +| Test.java:1771:10:1771:34 | createParser(...) : JsonParser | Test.java:1772:9:1772:11 | out | provenance | | +| Test.java:1771:32:1771:33 | in : Reader | Test.java:1771:10:1771:34 | createParser(...) : JsonParser | provenance | MaD:248 | +| Test.java:1777:21:1777:41 | (...)... : InputStream | Test.java:1779:32:1779:33 | in : InputStream | provenance | | +| Test.java:1777:34:1777:41 | source(...) : Object | Test.java:1777:21:1777:41 | (...)... : InputStream | provenance | | +| Test.java:1779:10:1779:40 | createParser(...) : JsonParser | Test.java:1780:9:1780:11 | out | provenance | | +| Test.java:1779:32:1779:33 | in : InputStream | Test.java:1779:10:1779:40 | createParser(...) : JsonParser | provenance | MaD:248 | +| Test.java:1785:21:1785:41 | (...)... : InputStream | Test.java:1787:32:1787:33 | in : InputStream | provenance | | +| Test.java:1785:34:1785:41 | source(...) : Object | Test.java:1785:21:1785:41 | (...)... : InputStream | provenance | | +| Test.java:1787:10:1787:34 | createParser(...) : JsonParser | Test.java:1788:9:1788:11 | out | provenance | | +| Test.java:1787:32:1787:33 | in : InputStream | Test.java:1787:10:1787:34 | createParser(...) : JsonParser | provenance | MaD:248 | +| Test.java:1793:20:1793:55 | (...)... : List [] : Object | Test.java:1794:45:1794:46 | in : List [] : Object | provenance | | +| Test.java:1793:32:1793:55 | newWithElement(...) : List [] : Object | Test.java:1793:20:1793:55 | (...)... : List [] : Object | provenance | | +| Test.java:1793:47:1793:54 | source(...) : Object | Test.java:17:28:17:41 | element : Object | provenance | | +| Test.java:1793:47:1793:54 | source(...) : Object | Test.java:1793:32:1793:55 | newWithElement(...) : List [] : Object | provenance | MaD:124 | +| Test.java:1794:10:1794:47 | createArrayBuilder(...) : JsonArrayBuilder | Test.java:1795:9:1795:11 | out | provenance | | +| Test.java:1794:45:1794:46 | in : List [] : Object | Test.java:1794:10:1794:47 | createArrayBuilder(...) : JsonArrayBuilder | provenance | MaD:127 | +| Test.java:1800:30:1800:59 | (...)... : JsonArray | Test.java:1801:45:1801:46 | in : JsonArray | provenance | | +| Test.java:1800:52:1800:59 | source(...) : Object | Test.java:1800:30:1800:59 | (...)... : JsonArray | provenance | | +| Test.java:1801:10:1801:47 | createArrayBuilder(...) : JsonArrayBuilder | Test.java:1802:9:1802:11 | out | provenance | | +| Test.java:1801:45:1801:46 | in : JsonArray | Test.java:1801:10:1801:47 | createArrayBuilder(...) : JsonArrayBuilder | provenance | MaD:128 | +| Test.java:1807:34:1807:67 | (...)... : JsonStructure | Test.java:1808:43:1808:44 | in : JsonStructure | provenance | | +| Test.java:1807:60:1807:67 | source(...) : Object | Test.java:1807:34:1807:67 | (...)... : JsonStructure | provenance | | +| Test.java:1808:10:1808:45 | createDiff(...) : JsonPatch | Test.java:1809:9:1809:11 | out | provenance | | +| Test.java:1808:43:1808:44 | in : JsonStructure | Test.java:1808:10:1808:45 | createDiff(...) : JsonPatch | provenance | MaD:129 | +| Test.java:1814:34:1814:67 | (...)... : JsonStructure | Test.java:1815:37:1815:38 | in : JsonStructure | provenance | | +| Test.java:1814:60:1814:67 | source(...) : Object | Test.java:1814:34:1814:67 | (...)... : JsonStructure | provenance | | +| Test.java:1815:10:1815:45 | createDiff(...) : JsonPatch | Test.java:1816:9:1816:11 | out | provenance | | +| Test.java:1815:37:1815:38 | in : JsonStructure | Test.java:1815:10:1815:45 | createDiff(...) : JsonPatch | provenance | MaD:129 | +| Test.java:1821:30:1821:59 | (...)... : JsonValue | Test.java:1822:48:1822:49 | in : JsonValue | provenance | | +| Test.java:1821:52:1821:59 | source(...) : Object | Test.java:1821:30:1821:59 | (...)... : JsonValue | provenance | | +| Test.java:1822:10:1822:50 | createMergeDiff(...) : JsonMergePatch | Test.java:1823:9:1823:11 | out | provenance | | +| Test.java:1822:48:1822:49 | in : JsonValue | Test.java:1822:10:1822:50 | createMergeDiff(...) : JsonMergePatch | provenance | MaD:130 | +| Test.java:1828:30:1828:59 | (...)... : JsonValue | Test.java:1829:42:1829:43 | in : JsonValue | provenance | | +| Test.java:1828:52:1828:59 | source(...) : Object | Test.java:1828:30:1828:59 | (...)... : JsonValue | provenance | | +| Test.java:1829:10:1829:50 | createMergeDiff(...) : JsonMergePatch | Test.java:1830:9:1830:11 | out | provenance | | +| Test.java:1829:42:1829:43 | in : JsonValue | Test.java:1829:10:1829:50 | createMergeDiff(...) : JsonMergePatch | provenance | MaD:130 | +| Test.java:1835:30:1835:59 | (...)... : JsonValue | Test.java:1836:43:1836:44 | in : JsonValue | provenance | | +| Test.java:1835:52:1835:59 | source(...) : Object | Test.java:1835:30:1835:59 | (...)... : JsonValue | provenance | | +| Test.java:1836:10:1836:45 | createMergePatch(...) : JsonMergePatch | Test.java:1837:9:1837:11 | out | provenance | | +| Test.java:1836:43:1836:44 | in : JsonValue | Test.java:1836:10:1836:45 | createMergePatch(...) : JsonMergePatch | provenance | MaD:131 | +| Test.java:1842:31:1842:61 | (...)... : JsonObject | Test.java:1843:46:1843:47 | in : JsonObject | provenance | | +| Test.java:1842:54:1842:61 | source(...) : Object | Test.java:1842:31:1842:61 | (...)... : JsonObject | provenance | | +| Test.java:1843:10:1843:48 | createObjectBuilder(...) : JsonObjectBuilder | Test.java:1844:9:1844:11 | out | provenance | | +| Test.java:1843:46:1843:47 | in : JsonObject | Test.java:1843:10:1843:48 | createObjectBuilder(...) : JsonObjectBuilder | provenance | MaD:132 | +| Test.java:1849:13:1849:40 | (...)... : Map [] : Object | Test.java:1850:46:1850:47 | in : Map [] : Object | provenance | | +| Test.java:1849:18:1849:40 | newWithMapKey(...) : Map [] : Object | Test.java:1849:13:1849:40 | (...)... : Map [] : Object | provenance | | +| Test.java:1849:32:1849:39 | source(...) : Object | Test.java:18:20:18:33 | element : Object | provenance | | +| Test.java:1849:32:1849:39 | source(...) : Object | Test.java:1849:18:1849:40 | newWithMapKey(...) : Map [] : Object | provenance | MaD:125 | +| Test.java:1850:10:1850:48 | createObjectBuilder(...) : JsonObjectBuilder | Test.java:1851:9:1851:11 | out | provenance | | +| Test.java:1850:46:1850:47 | in : Map [] : Object | Test.java:1850:10:1850:48 | createObjectBuilder(...) : JsonObjectBuilder | provenance | MaD:133 | +| Test.java:1856:13:1856:42 | (...)... : Map [] : Object | Test.java:1857:46:1857:47 | in : Map [] : Object | provenance | | +| Test.java:1856:18:1856:42 | newWithMapValue(...) : Map [] : Object | Test.java:1856:13:1856:42 | (...)... : Map [] : Object | provenance | | +| Test.java:1856:34:1856:41 | source(...) : Object | Test.java:19:22:19:35 | element : Object | provenance | | +| Test.java:1856:34:1856:41 | source(...) : Object | Test.java:1856:18:1856:42 | newWithMapValue(...) : Map [] : Object | provenance | MaD:126 | +| Test.java:1857:10:1857:48 | createObjectBuilder(...) : JsonObjectBuilder | Test.java:1858:9:1858:11 | out | provenance | | +| Test.java:1857:46:1857:47 | in : Map [] : Object | Test.java:1857:10:1857:48 | createObjectBuilder(...) : JsonObjectBuilder | provenance | MaD:134 | +| Test.java:1863:30:1863:59 | (...)... : JsonArray | Test.java:1864:38:1864:39 | in : JsonArray | provenance | | +| Test.java:1863:52:1863:59 | source(...) : Object | Test.java:1863:30:1863:59 | (...)... : JsonArray | provenance | | +| Test.java:1864:10:1864:40 | createPatch(...) : JsonPatch | Test.java:1865:9:1865:11 | out | provenance | | +| Test.java:1864:38:1864:39 | in : JsonArray | Test.java:1864:10:1864:40 | createPatch(...) : JsonPatch | provenance | MaD:135 | +| Test.java:1870:30:1870:59 | (...)... : JsonArray | Test.java:1871:45:1871:46 | in : JsonArray | provenance | | +| Test.java:1870:52:1870:59 | source(...) : Object | Test.java:1870:30:1870:59 | (...)... : JsonArray | provenance | | +| Test.java:1871:10:1871:47 | createPatchBuilder(...) : JsonPatchBuilder | Test.java:1872:9:1872:11 | out | provenance | | +| Test.java:1871:45:1871:46 | in : JsonArray | Test.java:1871:10:1871:47 | createPatchBuilder(...) : JsonPatchBuilder | provenance | MaD:136 | +| Test.java:1877:16:1877:31 | (...)... : String | Test.java:1878:40:1878:41 | in : String | provenance | | +| Test.java:1877:24:1877:31 | source(...) : Object | Test.java:1877:16:1877:31 | (...)... : String | provenance | | +| Test.java:1878:10:1878:42 | createPointer(...) : JsonPointer | Test.java:1879:9:1879:11 | out | provenance | | +| Test.java:1878:40:1878:41 | in : String | Test.java:1878:10:1878:42 | createPointer(...) : JsonPointer | provenance | MaD:137 | +| Test.java:1884:16:1884:31 | (...)... : Reader | Test.java:1885:39:1885:40 | in : Reader | provenance | | +| Test.java:1884:24:1884:31 | source(...) : Object | Test.java:1884:16:1884:31 | (...)... : Reader | provenance | | +| Test.java:1885:10:1885:41 | createReader(...) : JsonReader | Test.java:1886:9:1886:11 | out | provenance | | +| Test.java:1885:39:1885:40 | in : Reader | Test.java:1885:10:1885:41 | createReader(...) : JsonReader | provenance | MaD:138 | +| Test.java:1891:21:1891:41 | (...)... : InputStream | Test.java:1892:39:1892:40 | in : InputStream | provenance | | +| Test.java:1891:34:1891:41 | source(...) : Object | Test.java:1891:21:1891:41 | (...)... : InputStream | provenance | | +| Test.java:1892:10:1892:41 | createReader(...) : JsonReader | Test.java:1893:9:1893:11 | out | provenance | | +| Test.java:1892:39:1892:40 | in : InputStream | Test.java:1892:10:1892:41 | createReader(...) : JsonReader | provenance | MaD:138 | +| Test.java:1898:16:1898:31 | (...)... : String | Test.java:1899:38:1899:39 | in : String | provenance | | +| Test.java:1898:24:1898:31 | source(...) : Object | Test.java:1898:16:1898:31 | (...)... : String | provenance | | +| Test.java:1899:10:1899:40 | createValue(...) : JsonString | Test.java:1900:9:1900:11 | out | provenance | | +| Test.java:1899:38:1899:39 | in : String | Test.java:1899:10:1899:40 | createValue(...) : JsonString | provenance | MaD:139 | +| Test.java:1905:14:1905:27 | (...)... : Number | Test.java:1906:38:1906:39 | in : Number | provenance | | +| Test.java:1905:20:1905:27 | source(...) : Object | Test.java:1905:14:1905:27 | (...)... : Number | provenance | | +| Test.java:1906:10:1906:40 | createValue(...) : JsonNumber | Test.java:1907:9:1907:11 | out | provenance | | +| Test.java:1906:38:1906:39 | in : Number | Test.java:1906:10:1906:40 | createValue(...) : JsonNumber | provenance | MaD:139 | +| Test.java:1912:13:1912:25 | (...)... : Number | Test.java:1913:38:1913:39 | in : Number | provenance | | +| Test.java:1912:18:1912:25 | source(...) : Object | Test.java:1912:13:1912:25 | (...)... : Number | provenance | | +| Test.java:1913:10:1913:40 | createValue(...) : JsonNumber | Test.java:1914:9:1914:11 | out | provenance | | +| Test.java:1913:38:1913:39 | in : Number | Test.java:1913:10:1913:40 | createValue(...) : JsonNumber | provenance | MaD:139 | +| Test.java:1919:16:1919:31 | (...)... : Number | Test.java:1920:38:1920:39 | in : Number | provenance | | +| Test.java:1919:24:1919:31 | source(...) : Object | Test.java:1919:16:1919:31 | (...)... : Number | provenance | | +| Test.java:1920:10:1920:40 | createValue(...) : JsonNumber | Test.java:1921:9:1921:11 | out | provenance | | +| Test.java:1920:38:1920:39 | in : Number | Test.java:1920:10:1920:40 | createValue(...) : JsonNumber | provenance | MaD:139 | +| Test.java:1926:20:1926:39 | (...)... : BigInteger | Test.java:1927:38:1927:39 | in : BigInteger | provenance | | +| Test.java:1926:32:1926:39 | source(...) : Object | Test.java:1926:20:1926:39 | (...)... : BigInteger | provenance | | +| Test.java:1927:10:1927:40 | createValue(...) : JsonNumber | Test.java:1928:9:1928:11 | out | provenance | | +| Test.java:1927:38:1927:39 | in : BigInteger | Test.java:1927:10:1927:40 | createValue(...) : JsonNumber | provenance | MaD:139 | +| Test.java:1933:20:1933:39 | (...)... : BigDecimal | Test.java:1934:38:1934:39 | in : BigDecimal | provenance | | +| Test.java:1933:32:1933:39 | source(...) : Object | Test.java:1933:20:1933:39 | (...)... : BigDecimal | provenance | | +| Test.java:1934:10:1934:40 | createValue(...) : JsonNumber | Test.java:1935:9:1935:11 | out | provenance | | +| Test.java:1934:38:1934:39 | in : BigDecimal | Test.java:1934:10:1934:40 | createValue(...) : JsonNumber | provenance | MaD:139 | +| Test.java:1940:16:1940:31 | (...)... : Writer | Test.java:1941:39:1941:40 | in : Writer | provenance | | +| Test.java:1940:24:1940:31 | source(...) : Object | Test.java:1940:16:1940:31 | (...)... : Writer | provenance | | +| Test.java:1941:10:1941:41 | createWriter(...) : JsonWriter | Test.java:1942:9:1942:11 | out | provenance | | +| Test.java:1941:39:1941:40 | in : Writer | Test.java:1941:10:1941:41 | createWriter(...) : JsonWriter | provenance | MaD:140 | +| Test.java:1947:22:1947:43 | (...)... : OutputStream | Test.java:1948:39:1948:40 | in : OutputStream | provenance | | +| Test.java:1947:36:1947:43 | source(...) : Object | Test.java:1947:22:1947:43 | (...)... : OutputStream | provenance | | +| Test.java:1948:10:1948:41 | createWriter(...) : JsonWriter | Test.java:1949:9:1949:11 | out | provenance | | +| Test.java:1948:39:1948:40 | in : OutputStream | Test.java:1948:10:1948:41 | createWriter(...) : JsonWriter | provenance | MaD:140 | +| Test.java:1954:16:1954:31 | (...)... : String | Test.java:1955:40:1955:41 | in : String | provenance | | +| Test.java:1954:24:1954:31 | source(...) : Object | Test.java:1954:16:1954:31 | (...)... : String | provenance | | +| Test.java:1955:10:1955:42 | decodePointer(...) : String | Test.java:1956:9:1956:11 | out | provenance | | +| Test.java:1955:40:1955:41 | in : String | Test.java:1955:10:1955:42 | decodePointer(...) : String | provenance | MaD:141 | +| Test.java:1961:16:1961:31 | (...)... : String | Test.java:1962:40:1962:41 | in : String | provenance | | +| Test.java:1961:24:1961:31 | source(...) : Object | Test.java:1961:16:1961:31 | (...)... : String | provenance | | +| Test.java:1962:10:1962:42 | encodePointer(...) : String | Test.java:1963:9:1963:11 | out | provenance | | +| Test.java:1962:40:1962:41 | in : String | Test.java:1962:10:1962:42 | encodePointer(...) : String | provenance | MaD:142 | +| Test.java:1968:30:1968:59 | (...)... : JsonArray | Test.java:1969:10:1969:11 | in : JsonArray | provenance | | +| Test.java:1968:52:1968:59 | source(...) : Object | Test.java:1968:30:1968:59 | (...)... : JsonArray | provenance | | +| Test.java:1969:10:1969:11 | in : JsonArray | Test.java:1969:10:1969:32 | getBoolean(...) : Boolean | provenance | MaD:143 | +| Test.java:1969:10:1969:32 | getBoolean(...) : Boolean | Test.java:1970:9:1970:11 | out | provenance | | +| Test.java:1975:30:1975:59 | (...)... : JsonArray | Test.java:1976:10:1976:11 | in : JsonArray | provenance | | +| Test.java:1975:52:1975:59 | source(...) : Object | Test.java:1975:30:1975:59 | (...)... : JsonArray | provenance | | +| Test.java:1976:10:1976:11 | in : JsonArray | Test.java:1976:10:1976:25 | getBoolean(...) : Boolean | provenance | MaD:143 | +| Test.java:1976:10:1976:25 | getBoolean(...) : Boolean | Test.java:1977:9:1977:11 | out | provenance | | +| Test.java:1982:17:1982:33 | (...)... : Boolean | Test.java:1984:33:1984:34 | in : Boolean | provenance | | +| Test.java:1982:26:1982:33 | source(...) : Object | Test.java:1982:17:1982:33 | (...)... : Boolean | provenance | | +| Test.java:1984:10:1984:35 | getBoolean(...) : Boolean | Test.java:1985:9:1985:11 | out | provenance | | +| Test.java:1984:33:1984:34 | in : Boolean | Test.java:1984:10:1984:35 | getBoolean(...) : Boolean | provenance | MaD:144 | +| Test.java:1990:30:1990:59 | (...)... : JsonArray | Test.java:1991:10:1991:11 | in : JsonArray | provenance | | +| Test.java:1990:52:1990:59 | source(...) : Object | Test.java:1990:30:1990:59 | (...)... : JsonArray | provenance | | +| Test.java:1991:10:1991:11 | in : JsonArray | Test.java:1991:10:1991:24 | getInt(...) : Number | provenance | MaD:145 | +| Test.java:1991:10:1991:24 | getInt(...) : Number | Test.java:1992:9:1992:11 | out | provenance | | +| Test.java:1997:30:1997:59 | (...)... : JsonArray | Test.java:1998:10:1998:11 | in : JsonArray | provenance | | +| Test.java:1997:52:1997:59 | source(...) : Object | Test.java:1997:30:1997:59 | (...)... : JsonArray | provenance | | +| Test.java:1998:10:1998:11 | in : JsonArray | Test.java:1998:10:1998:21 | getInt(...) : Number | provenance | MaD:145 | +| Test.java:1998:10:1998:21 | getInt(...) : Number | Test.java:1999:9:1999:11 | out | provenance | | +| Test.java:2004:13:2004:25 | (...)... : Number | Test.java:2006:29:2006:30 | in : Number | provenance | | +| Test.java:2004:18:2004:25 | source(...) : Object | Test.java:2004:13:2004:25 | (...)... : Number | provenance | | +| Test.java:2006:10:2006:31 | getInt(...) : Number | Test.java:2007:9:2007:11 | out | provenance | | +| Test.java:2006:29:2006:30 | in : Number | Test.java:2006:10:2006:31 | getInt(...) : Number | provenance | MaD:146 | +| Test.java:2012:30:2012:59 | (...)... : JsonArray | Test.java:2013:10:2013:11 | in : JsonArray | provenance | | +| Test.java:2012:52:2012:59 | source(...) : Object | Test.java:2012:30:2012:59 | (...)... : JsonArray | provenance | | +| Test.java:2013:10:2013:11 | in : JsonArray | Test.java:2013:10:2013:27 | getJsonArray(...) : JsonArray | provenance | MaD:147 | +| Test.java:2013:10:2013:27 | getJsonArray(...) : JsonArray | Test.java:2014:9:2014:11 | out | provenance | | +| Test.java:2019:30:2019:59 | (...)... : JsonArray | Test.java:2020:10:2020:11 | in : JsonArray | provenance | | +| Test.java:2019:52:2019:59 | source(...) : Object | Test.java:2019:30:2019:59 | (...)... : JsonArray | provenance | | +| Test.java:2020:10:2020:11 | in : JsonArray | Test.java:2020:10:2020:28 | getJsonNumber(...) : JsonNumber | provenance | MaD:148 | +| Test.java:2020:10:2020:28 | getJsonNumber(...) : JsonNumber | Test.java:2021:9:2021:11 | out | provenance | | +| Test.java:2026:30:2026:59 | (...)... : JsonArray | Test.java:2027:10:2027:11 | in : JsonArray | provenance | | +| Test.java:2026:52:2026:59 | source(...) : Object | Test.java:2026:30:2026:59 | (...)... : JsonArray | provenance | | +| Test.java:2027:10:2027:11 | in : JsonArray | Test.java:2027:10:2027:28 | getJsonObject(...) : JsonObject | provenance | MaD:149 | +| Test.java:2027:10:2027:28 | getJsonObject(...) : JsonObject | Test.java:2028:9:2028:11 | out | provenance | | +| Test.java:2033:30:2033:59 | (...)... : JsonArray | Test.java:2034:10:2034:11 | in : JsonArray | provenance | | +| Test.java:2033:52:2033:59 | source(...) : Object | Test.java:2033:30:2033:59 | (...)... : JsonArray | provenance | | +| Test.java:2034:10:2034:11 | in : JsonArray | Test.java:2034:10:2034:28 | getJsonString(...) : JsonString | provenance | MaD:150 | +| Test.java:2034:10:2034:28 | getJsonString(...) : JsonString | Test.java:2035:9:2035:11 | out | provenance | | +| Test.java:2040:30:2040:59 | (...)... : JsonArray | Test.java:2041:10:2041:11 | in : JsonArray | provenance | | +| Test.java:2040:52:2040:59 | source(...) : Object | Test.java:2040:30:2040:59 | (...)... : JsonArray | provenance | | +| Test.java:2041:10:2041:11 | in : JsonArray | Test.java:2041:10:2041:30 | getString(...) : String | provenance | MaD:151 | +| Test.java:2041:10:2041:30 | getString(...) : String | Test.java:2042:9:2042:11 | out | provenance | | +| Test.java:2047:30:2047:59 | (...)... : JsonArray | Test.java:2048:10:2048:11 | in : JsonArray | provenance | | +| Test.java:2047:52:2047:59 | source(...) : Object | Test.java:2047:30:2047:59 | (...)... : JsonArray | provenance | | +| Test.java:2048:10:2048:11 | in : JsonArray | Test.java:2048:10:2048:24 | getString(...) : String | provenance | MaD:151 | +| Test.java:2048:10:2048:24 | getString(...) : String | Test.java:2049:9:2049:11 | out | provenance | | +| Test.java:2054:16:2054:31 | (...)... : String | Test.java:2056:32:2056:33 | in : String | provenance | | +| Test.java:2054:24:2054:31 | source(...) : Object | Test.java:2054:16:2054:31 | (...)... : String | provenance | | +| Test.java:2056:10:2056:34 | getString(...) : String | Test.java:2057:9:2057:11 | out | provenance | | +| Test.java:2056:32:2056:33 | in : String | Test.java:2056:10:2056:34 | getString(...) : String | provenance | MaD:152 | +| Test.java:2062:30:2062:59 | (...)... : JsonArray | Test.java:2063:10:2063:11 | in : JsonArray | provenance | | +| Test.java:2062:52:2062:59 | source(...) : Object | Test.java:2062:30:2062:59 | (...)... : JsonArray | provenance | | +| Test.java:2063:10:2063:11 | in : JsonArray | Test.java:2063:10:2063:39 | getValuesAs(...) : List | provenance | MaD:153 | +| Test.java:2063:10:2063:39 | getValuesAs(...) : List | Test.java:2064:9:2064:11 | out | provenance | | +| Test.java:2069:30:2069:59 | (...)... : JsonArray | Test.java:2070:10:2070:11 | in : JsonArray | provenance | | +| Test.java:2069:52:2069:59 | source(...) : Object | Test.java:2069:30:2069:59 | (...)... : JsonArray | provenance | | +| Test.java:2070:10:2070:11 | in : JsonArray | Test.java:2070:10:2070:36 | getValuesAs(...) : List | provenance | MaD:153 | +| Test.java:2070:10:2070:36 | getValuesAs(...) : List | Test.java:2071:9:2071:11 | out | provenance | | +| Test.java:2076:20:2076:39 | (...)... : BigDecimal | Test.java:2077:12:2077:13 | in : BigDecimal | provenance | | +| Test.java:2076:32:2076:39 | source(...) : Object | Test.java:2076:20:2076:39 | (...)... : BigDecimal | provenance | | +| Test.java:2077:4:2077:6 | out [post update] : JsonArrayBuilder | Test.java:2078:9:2078:11 | out | provenance | | +| Test.java:2077:12:2077:13 | in : BigDecimal | Test.java:2077:4:2077:6 | out [post update] : JsonArrayBuilder | provenance | MaD:155 | +| Test.java:2083:20:2083:39 | (...)... : BigInteger | Test.java:2084:12:2084:13 | in : BigInteger | provenance | | +| Test.java:2083:32:2083:39 | source(...) : Object | Test.java:2083:20:2083:39 | (...)... : BigInteger | provenance | | +| Test.java:2084:4:2084:6 | out [post update] : JsonArrayBuilder | Test.java:2085:9:2085:11 | out | provenance | | +| Test.java:2084:12:2084:13 | in : BigInteger | Test.java:2084:4:2084:6 | out [post update] : JsonArrayBuilder | provenance | MaD:156 | +| Test.java:2090:37:2090:73 | (...)... : JsonArrayBuilder | Test.java:2091:12:2091:13 | in : JsonArrayBuilder | provenance | | +| Test.java:2090:66:2090:73 | source(...) : Object | Test.java:2090:37:2090:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2091:4:2091:6 | out [post update] : JsonArrayBuilder | Test.java:2092:9:2092:11 | out | provenance | | +| Test.java:2091:12:2091:13 | in : JsonArrayBuilder | Test.java:2091:4:2091:6 | out [post update] : JsonArrayBuilder | provenance | MaD:157 | +| Test.java:2097:38:2097:75 | (...)... : JsonObjectBuilder | Test.java:2098:12:2098:13 | in : JsonObjectBuilder | provenance | | +| Test.java:2097:68:2097:75 | source(...) : Object | Test.java:2097:38:2097:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2098:4:2098:6 | out [post update] : JsonArrayBuilder | Test.java:2099:9:2099:11 | out | provenance | | +| Test.java:2098:12:2098:13 | in : JsonObjectBuilder | Test.java:2098:4:2098:6 | out [post update] : JsonArrayBuilder | provenance | MaD:158 | +| Test.java:2104:30:2104:59 | (...)... : JsonValue | Test.java:2105:12:2105:13 | in : JsonValue | provenance | | +| Test.java:2104:52:2104:59 | source(...) : Object | Test.java:2104:30:2104:59 | (...)... : JsonValue | provenance | | +| Test.java:2105:4:2105:6 | out [post update] : JsonArrayBuilder | Test.java:2106:9:2106:11 | out | provenance | | +| Test.java:2105:12:2105:13 | in : JsonValue | Test.java:2105:4:2105:6 | out [post update] : JsonArrayBuilder | provenance | MaD:159 | +| Test.java:2111:16:2111:31 | (...)... : String | Test.java:2112:12:2112:13 | in : String | provenance | | +| Test.java:2111:24:2111:31 | source(...) : Object | Test.java:2111:16:2111:31 | (...)... : String | provenance | | +| Test.java:2112:4:2112:6 | out [post update] : JsonArrayBuilder | Test.java:2113:9:2113:11 | out | provenance | | +| Test.java:2112:12:2112:13 | in : String | Test.java:2112:4:2112:6 | out [post update] : JsonArrayBuilder | provenance | MaD:160 | +| Test.java:2118:17:2118:33 | (...)... : Boolean | Test.java:2119:12:2119:13 | in : Boolean | provenance | | +| Test.java:2118:26:2118:33 | source(...) : Object | Test.java:2118:17:2118:33 | (...)... : Boolean | provenance | | +| Test.java:2119:4:2119:6 | out [post update] : JsonArrayBuilder | Test.java:2120:9:2120:11 | out | provenance | | +| Test.java:2119:12:2119:13 | in : Boolean | Test.java:2119:4:2119:6 | out [post update] : JsonArrayBuilder | provenance | MaD:161 | +| Test.java:2125:16:2125:31 | (...)... : Number | Test.java:2126:12:2126:13 | in : Number | provenance | | +| Test.java:2125:24:2125:31 | source(...) : Object | Test.java:2125:16:2125:31 | (...)... : Number | provenance | | +| Test.java:2126:4:2126:6 | out [post update] : JsonArrayBuilder | Test.java:2127:9:2127:11 | out | provenance | | +| Test.java:2126:12:2126:13 | in : Number | Test.java:2126:4:2126:6 | out [post update] : JsonArrayBuilder | provenance | MaD:162 | +| Test.java:2132:13:2132:25 | (...)... : Number | Test.java:2133:12:2133:13 | in : Number | provenance | | +| Test.java:2132:18:2132:25 | source(...) : Object | Test.java:2132:13:2132:25 | (...)... : Number | provenance | | +| Test.java:2133:4:2133:6 | out [post update] : JsonArrayBuilder | Test.java:2134:9:2134:11 | out | provenance | | +| Test.java:2133:12:2133:13 | in : Number | Test.java:2133:4:2133:6 | out [post update] : JsonArrayBuilder | provenance | MaD:163 | +| Test.java:2139:20:2139:39 | (...)... : BigDecimal | Test.java:2140:15:2140:16 | in : BigDecimal | provenance | | +| Test.java:2139:32:2139:39 | source(...) : Object | Test.java:2139:20:2139:39 | (...)... : BigDecimal | provenance | | +| Test.java:2140:4:2140:6 | out [post update] : JsonArrayBuilder | Test.java:2141:9:2141:11 | out | provenance | | +| Test.java:2140:15:2140:16 | in : BigDecimal | Test.java:2140:4:2140:6 | out [post update] : JsonArrayBuilder | provenance | MaD:164 | +| Test.java:2146:20:2146:39 | (...)... : BigInteger | Test.java:2147:15:2147:16 | in : BigInteger | provenance | | +| Test.java:2146:32:2146:39 | source(...) : Object | Test.java:2146:20:2146:39 | (...)... : BigInteger | provenance | | +| Test.java:2147:4:2147:6 | out [post update] : JsonArrayBuilder | Test.java:2148:9:2148:11 | out | provenance | | +| Test.java:2147:15:2147:16 | in : BigInteger | Test.java:2147:4:2147:6 | out [post update] : JsonArrayBuilder | provenance | MaD:165 | +| Test.java:2153:37:2153:73 | (...)... : JsonArrayBuilder | Test.java:2154:15:2154:16 | in : JsonArrayBuilder | provenance | | +| Test.java:2153:66:2153:73 | source(...) : Object | Test.java:2153:37:2153:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2154:4:2154:6 | out [post update] : JsonArrayBuilder | Test.java:2155:9:2155:11 | out | provenance | | +| Test.java:2154:15:2154:16 | in : JsonArrayBuilder | Test.java:2154:4:2154:6 | out [post update] : JsonArrayBuilder | provenance | MaD:166 | +| Test.java:2160:38:2160:75 | (...)... : JsonObjectBuilder | Test.java:2161:15:2161:16 | in : JsonObjectBuilder | provenance | | +| Test.java:2160:68:2160:75 | source(...) : Object | Test.java:2160:38:2160:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2161:4:2161:6 | out [post update] : JsonArrayBuilder | Test.java:2162:9:2162:11 | out | provenance | | +| Test.java:2161:15:2161:16 | in : JsonObjectBuilder | Test.java:2161:4:2161:6 | out [post update] : JsonArrayBuilder | provenance | MaD:167 | +| Test.java:2167:30:2167:59 | (...)... : JsonValue | Test.java:2168:15:2168:16 | in : JsonValue | provenance | | +| Test.java:2167:52:2167:59 | source(...) : Object | Test.java:2167:30:2167:59 | (...)... : JsonValue | provenance | | +| Test.java:2168:4:2168:6 | out [post update] : JsonArrayBuilder | Test.java:2169:9:2169:11 | out | provenance | | +| Test.java:2168:15:2168:16 | in : JsonValue | Test.java:2168:4:2168:6 | out [post update] : JsonArrayBuilder | provenance | MaD:168 | +| Test.java:2174:16:2174:31 | (...)... : String | Test.java:2175:15:2175:16 | in : String | provenance | | +| Test.java:2174:24:2174:31 | source(...) : Object | Test.java:2174:16:2174:31 | (...)... : String | provenance | | +| Test.java:2175:4:2175:6 | out [post update] : JsonArrayBuilder | Test.java:2176:9:2176:11 | out | provenance | | +| Test.java:2175:15:2175:16 | in : String | Test.java:2175:4:2175:6 | out [post update] : JsonArrayBuilder | provenance | MaD:169 | +| Test.java:2181:17:2181:33 | (...)... : Boolean | Test.java:2182:15:2182:16 | in : Boolean | provenance | | +| Test.java:2181:26:2181:33 | source(...) : Object | Test.java:2181:17:2181:33 | (...)... : Boolean | provenance | | +| Test.java:2182:4:2182:6 | out [post update] : JsonArrayBuilder | Test.java:2183:9:2183:11 | out | provenance | | +| Test.java:2182:15:2182:16 | in : Boolean | Test.java:2182:4:2182:6 | out [post update] : JsonArrayBuilder | provenance | MaD:170 | +| Test.java:2188:16:2188:31 | (...)... : Number | Test.java:2189:15:2189:16 | in : Number | provenance | | +| Test.java:2188:24:2188:31 | source(...) : Object | Test.java:2188:16:2188:31 | (...)... : Number | provenance | | +| Test.java:2189:4:2189:6 | out [post update] : JsonArrayBuilder | Test.java:2190:9:2190:11 | out | provenance | | +| Test.java:2189:15:2189:16 | in : Number | Test.java:2189:4:2189:6 | out [post update] : JsonArrayBuilder | provenance | MaD:171 | +| Test.java:2195:13:2195:25 | (...)... : Number | Test.java:2196:15:2196:16 | in : Number | provenance | | +| Test.java:2195:18:2195:25 | source(...) : Object | Test.java:2195:13:2195:25 | (...)... : Number | provenance | | +| Test.java:2196:4:2196:6 | out [post update] : JsonArrayBuilder | Test.java:2197:9:2197:11 | out | provenance | | +| Test.java:2196:15:2196:16 | in : Number | Test.java:2196:4:2196:6 | out [post update] : JsonArrayBuilder | provenance | MaD:172 | +| Test.java:2202:14:2202:27 | (...)... : Number | Test.java:2203:15:2203:16 | in : Number | provenance | | +| Test.java:2202:20:2202:27 | source(...) : Object | Test.java:2202:14:2202:27 | (...)... : Number | provenance | | +| Test.java:2203:4:2203:6 | out [post update] : JsonArrayBuilder | Test.java:2204:9:2204:11 | out | provenance | | +| Test.java:2203:15:2203:16 | in : Number | Test.java:2203:4:2203:6 | out [post update] : JsonArrayBuilder | provenance | MaD:173 | +| Test.java:2209:14:2209:27 | (...)... : Number | Test.java:2210:12:2210:13 | in : Number | provenance | | +| Test.java:2209:20:2209:27 | source(...) : Object | Test.java:2209:14:2209:27 | (...)... : Number | provenance | | +| Test.java:2210:4:2210:6 | out [post update] : JsonArrayBuilder | Test.java:2211:9:2211:11 | out | provenance | | +| Test.java:2210:12:2210:13 | in : Number | Test.java:2210:4:2210:6 | out [post update] : JsonArrayBuilder | provenance | MaD:174 | +| Test.java:2216:37:2216:73 | (...)... : JsonArrayBuilder | Test.java:2217:10:2217:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2216:66:2216:73 | source(...) : Object | Test.java:2216:37:2216:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2217:10:2217:11 | in : JsonArrayBuilder | Test.java:2217:10:2217:22 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2217:10:2217:22 | add(...) : JsonArrayBuilder | Test.java:2218:9:2218:11 | out | provenance | | +| Test.java:2223:37:2223:73 | (...)... : JsonArrayBuilder | Test.java:2224:10:2224:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2223:66:2223:73 | source(...) : Object | Test.java:2223:37:2223:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2224:10:2224:11 | in : JsonArrayBuilder | Test.java:2224:10:2224:19 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2224:10:2224:19 | add(...) : JsonArrayBuilder | Test.java:2225:9:2225:11 | out | provenance | | +| Test.java:2230:37:2230:73 | (...)... : JsonArrayBuilder | Test.java:2231:10:2231:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2230:66:2230:73 | source(...) : Object | Test.java:2230:37:2230:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2231:10:2231:11 | in : JsonArrayBuilder | Test.java:2231:10:2231:20 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2231:10:2231:20 | add(...) : JsonArrayBuilder | Test.java:2232:9:2232:11 | out | provenance | | +| Test.java:2237:37:2237:73 | (...)... : JsonArrayBuilder | Test.java:2238:10:2238:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2237:66:2237:73 | source(...) : Object | Test.java:2237:37:2237:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2238:10:2238:11 | in : JsonArrayBuilder | Test.java:2238:10:2238:25 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2238:10:2238:25 | add(...) : JsonArrayBuilder | Test.java:2239:9:2239:11 | out | provenance | | +| Test.java:2244:37:2244:73 | (...)... : JsonArrayBuilder | Test.java:2245:10:2245:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2244:66:2244:73 | source(...) : Object | Test.java:2244:37:2244:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2245:10:2245:11 | in : JsonArrayBuilder | Test.java:2245:10:2245:22 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2245:10:2245:22 | add(...) : JsonArrayBuilder | Test.java:2246:9:2246:11 | out | provenance | | +| Test.java:2251:37:2251:73 | (...)... : JsonArrayBuilder | Test.java:2252:10:2252:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2251:66:2251:73 | source(...) : Object | Test.java:2251:37:2251:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2252:10:2252:11 | in : JsonArrayBuilder | Test.java:2252:10:2252:23 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2252:10:2252:23 | add(...) : JsonArrayBuilder | Test.java:2253:9:2253:11 | out | provenance | | +| Test.java:2258:37:2258:73 | (...)... : JsonArrayBuilder | Test.java:2259:10:2259:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2258:66:2258:73 | source(...) : Object | Test.java:2258:37:2258:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2259:10:2259:11 | in : JsonArrayBuilder | Test.java:2259:10:2259:21 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2259:10:2259:21 | add(...) : JsonArrayBuilder | Test.java:2260:9:2260:11 | out | provenance | | +| Test.java:2265:37:2265:73 | (...)... : JsonArrayBuilder | Test.java:2266:10:2266:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2265:66:2265:73 | source(...) : Object | Test.java:2265:37:2265:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2266:10:2266:11 | in : JsonArrayBuilder | Test.java:2266:10:2266:46 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2266:10:2266:46 | add(...) : JsonArrayBuilder | Test.java:2267:9:2267:11 | out | provenance | | +| Test.java:2272:37:2272:73 | (...)... : JsonArrayBuilder | Test.java:2273:10:2273:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2272:66:2272:73 | source(...) : Object | Test.java:2272:37:2272:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2273:10:2273:11 | in : JsonArrayBuilder | Test.java:2273:10:2273:54 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2273:10:2273:54 | add(...) : JsonArrayBuilder | Test.java:2274:9:2274:11 | out | provenance | | +| Test.java:2279:37:2279:73 | (...)... : JsonArrayBuilder | Test.java:2280:10:2280:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2279:66:2279:73 | source(...) : Object | Test.java:2279:37:2279:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2280:10:2280:11 | in : JsonArrayBuilder | Test.java:2280:10:2280:53 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2280:10:2280:53 | add(...) : JsonArrayBuilder | Test.java:2281:9:2281:11 | out | provenance | | +| Test.java:2286:37:2286:73 | (...)... : JsonArrayBuilder | Test.java:2287:10:2287:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2286:66:2286:73 | source(...) : Object | Test.java:2286:37:2286:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2287:10:2287:11 | in : JsonArrayBuilder | Test.java:2287:10:2287:32 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2287:10:2287:32 | add(...) : JsonArrayBuilder | Test.java:2288:9:2288:11 | out | provenance | | +| Test.java:2293:37:2293:73 | (...)... : JsonArrayBuilder | Test.java:2294:10:2294:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2293:66:2293:73 | source(...) : Object | Test.java:2293:37:2293:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2294:10:2294:11 | in : JsonArrayBuilder | Test.java:2294:10:2294:36 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2294:10:2294:36 | add(...) : JsonArrayBuilder | Test.java:2295:9:2295:11 | out | provenance | | +| Test.java:2300:37:2300:73 | (...)... : JsonArrayBuilder | Test.java:2301:10:2301:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2300:66:2300:73 | source(...) : Object | Test.java:2300:37:2300:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2301:10:2301:11 | in : JsonArrayBuilder | Test.java:2301:10:2301:36 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2301:10:2301:36 | add(...) : JsonArrayBuilder | Test.java:2302:9:2302:11 | out | provenance | | +| Test.java:2307:37:2307:73 | (...)... : JsonArrayBuilder | Test.java:2308:10:2308:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2307:66:2307:73 | source(...) : Object | Test.java:2307:37:2307:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2308:10:2308:11 | in : JsonArrayBuilder | Test.java:2308:10:2308:18 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2308:10:2308:18 | add(...) : JsonArrayBuilder | Test.java:2309:9:2309:11 | out | provenance | | +| Test.java:2314:37:2314:73 | (...)... : JsonArrayBuilder | Test.java:2315:10:2315:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2314:66:2314:73 | source(...) : Object | Test.java:2314:37:2314:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2315:10:2315:11 | in : JsonArrayBuilder | Test.java:2315:10:2315:43 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2315:10:2315:43 | add(...) : JsonArrayBuilder | Test.java:2316:9:2316:11 | out | provenance | | +| Test.java:2321:37:2321:73 | (...)... : JsonArrayBuilder | Test.java:2322:10:2322:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2321:66:2321:73 | source(...) : Object | Test.java:2321:37:2321:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2322:10:2322:11 | in : JsonArrayBuilder | Test.java:2322:10:2322:51 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2322:10:2322:51 | add(...) : JsonArrayBuilder | Test.java:2323:9:2323:11 | out | provenance | | +| Test.java:2328:37:2328:73 | (...)... : JsonArrayBuilder | Test.java:2329:10:2329:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2328:66:2328:73 | source(...) : Object | Test.java:2328:37:2328:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2329:10:2329:11 | in : JsonArrayBuilder | Test.java:2329:10:2329:50 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2329:10:2329:50 | add(...) : JsonArrayBuilder | Test.java:2330:9:2330:11 | out | provenance | | +| Test.java:2335:37:2335:73 | (...)... : JsonArrayBuilder | Test.java:2336:10:2336:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2335:66:2335:73 | source(...) : Object | Test.java:2335:37:2335:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2336:10:2336:11 | in : JsonArrayBuilder | Test.java:2336:10:2336:29 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2336:10:2336:29 | add(...) : JsonArrayBuilder | Test.java:2337:9:2337:11 | out | provenance | | +| Test.java:2342:37:2342:73 | (...)... : JsonArrayBuilder | Test.java:2343:10:2343:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2342:66:2342:73 | source(...) : Object | Test.java:2342:37:2342:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2343:10:2343:11 | in : JsonArrayBuilder | Test.java:2343:10:2343:33 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2343:10:2343:33 | add(...) : JsonArrayBuilder | Test.java:2344:9:2344:11 | out | provenance | | +| Test.java:2349:37:2349:73 | (...)... : JsonArrayBuilder | Test.java:2350:10:2350:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2349:66:2349:73 | source(...) : Object | Test.java:2349:37:2349:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2350:10:2350:11 | in : JsonArrayBuilder | Test.java:2350:10:2350:33 | add(...) : JsonArrayBuilder | provenance | MaD:154 | +| Test.java:2350:10:2350:33 | add(...) : JsonArrayBuilder | Test.java:2351:9:2351:11 | out | provenance | | +| Test.java:2356:37:2356:73 | (...)... : JsonArrayBuilder | Test.java:2357:10:2357:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2356:66:2356:73 | source(...) : Object | Test.java:2356:37:2356:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2357:10:2357:11 | in : JsonArrayBuilder | Test.java:2357:10:2357:24 | addAll(...) : JsonArrayBuilder | provenance | MaD:175 | +| Test.java:2357:10:2357:24 | addAll(...) : JsonArrayBuilder | Test.java:2358:9:2358:11 | out | provenance | | +| Test.java:2363:37:2363:73 | (...)... : JsonArrayBuilder | Test.java:2364:15:2364:16 | in : JsonArrayBuilder | provenance | | +| Test.java:2363:66:2363:73 | source(...) : Object | Test.java:2363:37:2363:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2364:4:2364:6 | out [post update] : JsonArrayBuilder | Test.java:2365:9:2365:11 | out | provenance | | +| Test.java:2364:15:2364:16 | in : JsonArrayBuilder | Test.java:2364:4:2364:6 | out [post update] : JsonArrayBuilder | provenance | MaD:176 | +| Test.java:2370:37:2370:73 | (...)... : JsonArrayBuilder | Test.java:2371:10:2371:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2370:66:2370:73 | source(...) : Object | Test.java:2370:37:2370:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2371:10:2371:11 | in : JsonArrayBuilder | Test.java:2371:10:2371:22 | addNull(...) : JsonArrayBuilder | provenance | MaD:177 | +| Test.java:2371:10:2371:22 | addNull(...) : JsonArrayBuilder | Test.java:2372:9:2372:11 | out | provenance | | +| Test.java:2377:37:2377:73 | (...)... : JsonArrayBuilder | Test.java:2378:10:2378:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2377:66:2377:73 | source(...) : Object | Test.java:2377:37:2377:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2378:10:2378:11 | in : JsonArrayBuilder | Test.java:2378:10:2378:21 | addNull(...) : JsonArrayBuilder | provenance | MaD:177 | +| Test.java:2378:10:2378:21 | addNull(...) : JsonArrayBuilder | Test.java:2379:9:2379:11 | out | provenance | | +| Test.java:2384:37:2384:73 | (...)... : JsonArrayBuilder | Test.java:2385:10:2385:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2384:66:2384:73 | source(...) : Object | Test.java:2384:37:2384:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2385:10:2385:11 | in : JsonArrayBuilder | Test.java:2385:10:2385:19 | build(...) : JsonArray | provenance | MaD:178 | +| Test.java:2385:10:2385:19 | build(...) : JsonArray | Test.java:2386:9:2386:11 | out | provenance | | +| Test.java:2391:37:2391:73 | (...)... : JsonArrayBuilder | Test.java:2392:10:2392:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2391:66:2391:73 | source(...) : Object | Test.java:2391:37:2391:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2392:10:2392:11 | in : JsonArrayBuilder | Test.java:2392:10:2392:21 | remove(...) : JsonArrayBuilder | provenance | MaD:179 | +| Test.java:2392:10:2392:21 | remove(...) : JsonArrayBuilder | Test.java:2393:9:2393:11 | out | provenance | | +| Test.java:2398:37:2398:73 | (...)... : JsonArrayBuilder | Test.java:2399:10:2399:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2398:66:2398:73 | source(...) : Object | Test.java:2398:37:2398:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2399:10:2399:11 | in : JsonArrayBuilder | Test.java:2399:10:2399:25 | set(...) : JsonArrayBuilder | provenance | MaD:180 | +| Test.java:2399:10:2399:25 | set(...) : JsonArrayBuilder | Test.java:2400:9:2400:11 | out | provenance | | +| Test.java:2405:37:2405:73 | (...)... : JsonArrayBuilder | Test.java:2406:10:2406:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2405:66:2405:73 | source(...) : Object | Test.java:2405:37:2405:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2406:10:2406:11 | in : JsonArrayBuilder | Test.java:2406:10:2406:22 | set(...) : JsonArrayBuilder | provenance | MaD:180 | +| Test.java:2406:10:2406:22 | set(...) : JsonArrayBuilder | Test.java:2407:9:2407:11 | out | provenance | | +| Test.java:2412:37:2412:73 | (...)... : JsonArrayBuilder | Test.java:2413:10:2413:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2412:66:2412:73 | source(...) : Object | Test.java:2412:37:2412:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2413:10:2413:11 | in : JsonArrayBuilder | Test.java:2413:10:2413:23 | set(...) : JsonArrayBuilder | provenance | MaD:180 | +| Test.java:2413:10:2413:23 | set(...) : JsonArrayBuilder | Test.java:2414:9:2414:11 | out | provenance | | +| Test.java:2419:37:2419:73 | (...)... : JsonArrayBuilder | Test.java:2420:10:2420:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2419:66:2419:73 | source(...) : Object | Test.java:2419:37:2419:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2420:10:2420:11 | in : JsonArrayBuilder | Test.java:2420:10:2420:21 | set(...) : JsonArrayBuilder | provenance | MaD:180 | +| Test.java:2420:10:2420:21 | set(...) : JsonArrayBuilder | Test.java:2421:9:2421:11 | out | provenance | | +| Test.java:2426:37:2426:73 | (...)... : JsonArrayBuilder | Test.java:2427:10:2427:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2426:66:2426:73 | source(...) : Object | Test.java:2426:37:2426:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2427:10:2427:11 | in : JsonArrayBuilder | Test.java:2427:10:2427:46 | set(...) : JsonArrayBuilder | provenance | MaD:180 | +| Test.java:2427:10:2427:46 | set(...) : JsonArrayBuilder | Test.java:2428:9:2428:11 | out | provenance | | +| Test.java:2433:37:2433:73 | (...)... : JsonArrayBuilder | Test.java:2434:10:2434:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2433:66:2433:73 | source(...) : Object | Test.java:2433:37:2433:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2434:10:2434:11 | in : JsonArrayBuilder | Test.java:2434:10:2434:54 | set(...) : JsonArrayBuilder | provenance | MaD:180 | +| Test.java:2434:10:2434:54 | set(...) : JsonArrayBuilder | Test.java:2435:9:2435:11 | out | provenance | | +| Test.java:2440:37:2440:73 | (...)... : JsonArrayBuilder | Test.java:2441:10:2441:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2440:66:2440:73 | source(...) : Object | Test.java:2440:37:2440:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2441:10:2441:11 | in : JsonArrayBuilder | Test.java:2441:10:2441:53 | set(...) : JsonArrayBuilder | provenance | MaD:180 | +| Test.java:2441:10:2441:53 | set(...) : JsonArrayBuilder | Test.java:2442:9:2442:11 | out | provenance | | +| Test.java:2447:37:2447:73 | (...)... : JsonArrayBuilder | Test.java:2448:10:2448:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2447:66:2447:73 | source(...) : Object | Test.java:2447:37:2447:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2448:10:2448:11 | in : JsonArrayBuilder | Test.java:2448:10:2448:32 | set(...) : JsonArrayBuilder | provenance | MaD:180 | +| Test.java:2448:10:2448:32 | set(...) : JsonArrayBuilder | Test.java:2449:9:2449:11 | out | provenance | | +| Test.java:2454:37:2454:73 | (...)... : JsonArrayBuilder | Test.java:2455:10:2455:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2454:66:2454:73 | source(...) : Object | Test.java:2454:37:2454:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2455:10:2455:11 | in : JsonArrayBuilder | Test.java:2455:10:2455:36 | set(...) : JsonArrayBuilder | provenance | MaD:180 | +| Test.java:2455:10:2455:36 | set(...) : JsonArrayBuilder | Test.java:2456:9:2456:11 | out | provenance | | +| Test.java:2461:37:2461:73 | (...)... : JsonArrayBuilder | Test.java:2462:10:2462:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2461:66:2461:73 | source(...) : Object | Test.java:2461:37:2461:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2462:10:2462:11 | in : JsonArrayBuilder | Test.java:2462:10:2462:36 | set(...) : JsonArrayBuilder | provenance | MaD:180 | +| Test.java:2462:10:2462:36 | set(...) : JsonArrayBuilder | Test.java:2463:9:2463:11 | out | provenance | | +| Test.java:2468:14:2468:27 | (...)... : Number | Test.java:2469:15:2469:16 | in : Number | provenance | | +| Test.java:2468:20:2468:27 | source(...) : Object | Test.java:2468:14:2468:27 | (...)... : Number | provenance | | +| Test.java:2469:4:2469:6 | out [post update] : JsonArrayBuilder | Test.java:2470:9:2470:11 | out | provenance | | +| Test.java:2469:15:2469:16 | in : Number | Test.java:2469:4:2469:6 | out [post update] : JsonArrayBuilder | provenance | MaD:181 | +| Test.java:2475:30:2475:59 | (...)... : JsonValue | Test.java:2476:15:2476:16 | in : JsonValue | provenance | | +| Test.java:2475:52:2475:59 | source(...) : Object | Test.java:2475:30:2475:59 | (...)... : JsonValue | provenance | | +| Test.java:2476:4:2476:6 | out [post update] : JsonArrayBuilder | Test.java:2477:9:2477:11 | out | provenance | | +| Test.java:2476:15:2476:16 | in : JsonValue | Test.java:2476:4:2476:6 | out [post update] : JsonArrayBuilder | provenance | MaD:181 | +| Test.java:2482:38:2482:75 | (...)... : JsonObjectBuilder | Test.java:2483:15:2483:16 | in : JsonObjectBuilder | provenance | | +| Test.java:2482:68:2482:75 | source(...) : Object | Test.java:2482:38:2482:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2483:4:2483:6 | out [post update] : JsonArrayBuilder | Test.java:2484:9:2484:11 | out | provenance | | +| Test.java:2483:15:2483:16 | in : JsonObjectBuilder | Test.java:2483:4:2483:6 | out [post update] : JsonArrayBuilder | provenance | MaD:181 | +| Test.java:2489:37:2489:73 | (...)... : JsonArrayBuilder | Test.java:2490:15:2490:16 | in : JsonArrayBuilder | provenance | | +| Test.java:2489:66:2489:73 | source(...) : Object | Test.java:2489:37:2489:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2490:4:2490:6 | out [post update] : JsonArrayBuilder | Test.java:2491:9:2491:11 | out | provenance | | +| Test.java:2490:15:2490:16 | in : JsonArrayBuilder | Test.java:2490:4:2490:6 | out [post update] : JsonArrayBuilder | provenance | MaD:181 | +| Test.java:2496:13:2496:25 | (...)... : Number | Test.java:2497:15:2497:16 | in : Number | provenance | | +| Test.java:2496:18:2496:25 | source(...) : Object | Test.java:2496:13:2496:25 | (...)... : Number | provenance | | +| Test.java:2497:4:2497:6 | out [post update] : JsonArrayBuilder | Test.java:2498:9:2498:11 | out | provenance | | +| Test.java:2497:15:2497:16 | in : Number | Test.java:2497:4:2497:6 | out [post update] : JsonArrayBuilder | provenance | MaD:181 | +| Test.java:2503:16:2503:31 | (...)... : Number | Test.java:2504:15:2504:16 | in : Number | provenance | | +| Test.java:2503:24:2503:31 | source(...) : Object | Test.java:2503:16:2503:31 | (...)... : Number | provenance | | +| Test.java:2504:4:2504:6 | out [post update] : JsonArrayBuilder | Test.java:2505:9:2505:11 | out | provenance | | +| Test.java:2504:15:2504:16 | in : Number | Test.java:2504:4:2504:6 | out [post update] : JsonArrayBuilder | provenance | MaD:181 | +| Test.java:2510:17:2510:33 | (...)... : Boolean | Test.java:2511:15:2511:16 | in : Boolean | provenance | | +| Test.java:2510:26:2510:33 | source(...) : Object | Test.java:2510:17:2510:33 | (...)... : Boolean | provenance | | +| Test.java:2511:4:2511:6 | out [post update] : JsonArrayBuilder | Test.java:2512:9:2512:11 | out | provenance | | +| Test.java:2511:15:2511:16 | in : Boolean | Test.java:2511:4:2511:6 | out [post update] : JsonArrayBuilder | provenance | MaD:181 | +| Test.java:2517:16:2517:31 | (...)... : String | Test.java:2518:15:2518:16 | in : String | provenance | | +| Test.java:2517:24:2517:31 | source(...) : Object | Test.java:2517:16:2517:31 | (...)... : String | provenance | | +| Test.java:2518:4:2518:6 | out [post update] : JsonArrayBuilder | Test.java:2519:9:2519:11 | out | provenance | | +| Test.java:2518:15:2518:16 | in : String | Test.java:2518:4:2518:6 | out [post update] : JsonArrayBuilder | provenance | MaD:181 | +| Test.java:2524:20:2524:39 | (...)... : BigInteger | Test.java:2525:15:2525:16 | in : BigInteger | provenance | | +| Test.java:2524:32:2524:39 | source(...) : Object | Test.java:2524:20:2524:39 | (...)... : BigInteger | provenance | | +| Test.java:2525:4:2525:6 | out [post update] : JsonArrayBuilder | Test.java:2526:9:2526:11 | out | provenance | | +| Test.java:2525:15:2525:16 | in : BigInteger | Test.java:2525:4:2525:6 | out [post update] : JsonArrayBuilder | provenance | MaD:181 | +| Test.java:2531:20:2531:39 | (...)... : BigDecimal | Test.java:2532:15:2532:16 | in : BigDecimal | provenance | | +| Test.java:2531:32:2531:39 | source(...) : Object | Test.java:2531:20:2531:39 | (...)... : BigDecimal | provenance | | +| Test.java:2532:4:2532:6 | out [post update] : JsonArrayBuilder | Test.java:2533:9:2533:11 | out | provenance | | +| Test.java:2532:15:2532:16 | in : BigDecimal | Test.java:2532:4:2532:6 | out [post update] : JsonArrayBuilder | provenance | MaD:181 | +| Test.java:2538:37:2538:73 | (...)... : JsonArrayBuilder | Test.java:2539:10:2539:11 | in : JsonArrayBuilder | provenance | | +| Test.java:2538:66:2538:73 | source(...) : Object | Test.java:2538:37:2538:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2539:10:2539:11 | in : JsonArrayBuilder | Test.java:2539:10:2539:22 | setNull(...) : JsonArrayBuilder | provenance | MaD:182 | +| Test.java:2539:10:2539:22 | setNull(...) : JsonArrayBuilder | Test.java:2540:9:2540:11 | out | provenance | | +| Test.java:2545:35:2545:69 | (...)... : JsonMergePatch | Test.java:2546:10:2546:11 | in : JsonMergePatch | provenance | | +| Test.java:2545:62:2545:69 | source(...) : Object | Test.java:2545:35:2545:69 | (...)... : JsonMergePatch | provenance | | +| Test.java:2546:10:2546:11 | in : JsonMergePatch | Test.java:2546:10:2546:23 | apply(...) : JsonValue | provenance | MaD:183 | +| Test.java:2546:10:2546:23 | apply(...) : JsonValue | Test.java:2547:9:2547:11 | out | provenance | | +| Test.java:2552:30:2552:59 | (...)... : JsonValue | Test.java:2554:25:2554:26 | in : JsonValue | provenance | | +| Test.java:2552:52:2552:59 | source(...) : Object | Test.java:2552:30:2552:59 | (...)... : JsonValue | provenance | | +| Test.java:2554:10:2554:27 | apply(...) : JsonValue | Test.java:2555:9:2555:11 | out | provenance | | +| Test.java:2554:25:2554:26 | in : JsonValue | Test.java:2554:10:2554:27 | apply(...) : JsonValue | provenance | MaD:184 | +| Test.java:2560:35:2560:69 | (...)... : JsonMergePatch | Test.java:2561:10:2561:11 | in : JsonMergePatch | provenance | | +| Test.java:2560:62:2560:69 | source(...) : Object | Test.java:2560:35:2560:69 | (...)... : JsonMergePatch | provenance | | +| Test.java:2561:10:2561:11 | in : JsonMergePatch | Test.java:2561:10:2561:25 | toJsonValue(...) : JsonValue | provenance | MaD:185 | +| Test.java:2561:10:2561:25 | toJsonValue(...) : JsonValue | Test.java:2562:9:2562:11 | out | provenance | | +| Test.java:2567:31:2567:61 | (...)... : JsonNumber | Test.java:2568:10:2568:11 | in : JsonNumber | provenance | | +| Test.java:2567:54:2567:61 | source(...) : Object | Test.java:2567:31:2567:61 | (...)... : JsonNumber | provenance | | +| Test.java:2568:10:2568:11 | in : JsonNumber | Test.java:2568:10:2568:29 | bigDecimalValue(...) : BigDecimal | provenance | MaD:186 | +| Test.java:2568:10:2568:29 | bigDecimalValue(...) : BigDecimal | Test.java:2569:9:2569:11 | out | provenance | | +| Test.java:2574:31:2574:61 | (...)... : JsonNumber | Test.java:2575:10:2575:11 | in : JsonNumber | provenance | | +| Test.java:2574:54:2574:61 | source(...) : Object | Test.java:2574:31:2574:61 | (...)... : JsonNumber | provenance | | +| Test.java:2575:10:2575:11 | in : JsonNumber | Test.java:2575:10:2575:29 | bigIntegerValue(...) : BigInteger | provenance | MaD:187 | +| Test.java:2575:10:2575:29 | bigIntegerValue(...) : BigInteger | Test.java:2576:9:2576:11 | out | provenance | | +| Test.java:2581:31:2581:61 | (...)... : JsonNumber | Test.java:2582:10:2582:11 | in : JsonNumber | provenance | | +| Test.java:2581:54:2581:61 | source(...) : Object | Test.java:2581:31:2581:61 | (...)... : JsonNumber | provenance | | +| Test.java:2582:10:2582:11 | in : JsonNumber | Test.java:2582:10:2582:34 | bigIntegerValueExact(...) : BigInteger | provenance | MaD:188 | +| Test.java:2582:10:2582:34 | bigIntegerValueExact(...) : BigInteger | Test.java:2583:9:2583:11 | out | provenance | | +| Test.java:2588:31:2588:61 | (...)... : JsonNumber | Test.java:2589:10:2589:11 | in : JsonNumber | provenance | | +| Test.java:2588:54:2588:61 | source(...) : Object | Test.java:2588:31:2588:61 | (...)... : JsonNumber | provenance | | +| Test.java:2589:10:2589:11 | in : JsonNumber | Test.java:2589:10:2589:25 | doubleValue(...) : Number | provenance | MaD:189 | +| Test.java:2589:10:2589:25 | doubleValue(...) : Number | Test.java:2590:9:2590:11 | out | provenance | | +| Test.java:2595:31:2595:61 | (...)... : JsonNumber | Test.java:2596:10:2596:11 | in : JsonNumber | provenance | | +| Test.java:2595:54:2595:61 | source(...) : Object | Test.java:2595:31:2595:61 | (...)... : JsonNumber | provenance | | +| Test.java:2596:10:2596:11 | in : JsonNumber | Test.java:2596:10:2596:22 | intValue(...) : Number | provenance | MaD:190 | +| Test.java:2596:10:2596:22 | intValue(...) : Number | Test.java:2597:9:2597:11 | out | provenance | | +| Test.java:2602:31:2602:61 | (...)... : JsonNumber | Test.java:2603:10:2603:11 | in : JsonNumber | provenance | | +| Test.java:2602:54:2602:61 | source(...) : Object | Test.java:2602:31:2602:61 | (...)... : JsonNumber | provenance | | +| Test.java:2603:10:2603:11 | in : JsonNumber | Test.java:2603:10:2603:27 | intValueExact(...) : Number | provenance | MaD:191 | +| Test.java:2603:10:2603:27 | intValueExact(...) : Number | Test.java:2604:9:2604:11 | out | provenance | | +| Test.java:2609:31:2609:61 | (...)... : JsonNumber | Test.java:2610:10:2610:11 | in : JsonNumber | provenance | | +| Test.java:2609:54:2609:61 | source(...) : Object | Test.java:2609:31:2609:61 | (...)... : JsonNumber | provenance | | +| Test.java:2610:10:2610:11 | in : JsonNumber | Test.java:2610:10:2610:23 | longValue(...) : Number | provenance | MaD:192 | +| Test.java:2610:10:2610:23 | longValue(...) : Number | Test.java:2611:9:2611:11 | out | provenance | | +| Test.java:2616:31:2616:61 | (...)... : JsonNumber | Test.java:2617:10:2617:11 | in : JsonNumber | provenance | | +| Test.java:2616:54:2616:61 | source(...) : Object | Test.java:2616:31:2616:61 | (...)... : JsonNumber | provenance | | +| Test.java:2617:10:2617:11 | in : JsonNumber | Test.java:2617:10:2617:28 | longValueExact(...) : Number | provenance | MaD:193 | +| Test.java:2617:10:2617:28 | longValueExact(...) : Number | Test.java:2618:9:2618:11 | out | provenance | | +| Test.java:2623:31:2623:61 | (...)... : JsonNumber | Test.java:2624:10:2624:11 | in : JsonNumber | provenance | | +| Test.java:2623:54:2623:61 | source(...) : Object | Test.java:2623:31:2623:61 | (...)... : JsonNumber | provenance | | +| Test.java:2624:10:2624:11 | in : JsonNumber | Test.java:2624:10:2624:25 | numberValue(...) : Number | provenance | MaD:194 | +| Test.java:2624:10:2624:25 | numberValue(...) : Number | Test.java:2625:9:2625:11 | out | provenance | | +| Test.java:2630:31:2630:61 | (...)... : JsonObject | Test.java:2631:10:2631:11 | in : JsonObject | provenance | | +| Test.java:2630:54:2630:61 | source(...) : Object | Test.java:2630:31:2630:61 | (...)... : JsonObject | provenance | | +| Test.java:2631:10:2631:11 | in : JsonObject | Test.java:2631:10:2631:35 | getBoolean(...) : Boolean | provenance | MaD:195 | +| Test.java:2631:10:2631:35 | getBoolean(...) : Boolean | Test.java:2632:9:2632:11 | out | provenance | | +| Test.java:2637:31:2637:61 | (...)... : JsonObject | Test.java:2638:10:2638:11 | in : JsonObject | provenance | | +| Test.java:2637:54:2637:61 | source(...) : Object | Test.java:2637:31:2637:61 | (...)... : JsonObject | provenance | | +| Test.java:2638:10:2638:11 | in : JsonObject | Test.java:2638:10:2638:28 | getBoolean(...) : Boolean | provenance | MaD:195 | +| Test.java:2638:10:2638:28 | getBoolean(...) : Boolean | Test.java:2639:9:2639:11 | out | provenance | | +| Test.java:2644:17:2644:33 | (...)... : Boolean | Test.java:2646:36:2646:37 | in : Boolean | provenance | | +| Test.java:2644:26:2644:33 | source(...) : Object | Test.java:2644:17:2644:33 | (...)... : Boolean | provenance | | +| Test.java:2646:10:2646:38 | getBoolean(...) : Boolean | Test.java:2647:9:2647:11 | out | provenance | | +| Test.java:2646:36:2646:37 | in : Boolean | Test.java:2646:10:2646:38 | getBoolean(...) : Boolean | provenance | MaD:196 | +| Test.java:2652:31:2652:61 | (...)... : JsonObject | Test.java:2653:10:2653:11 | in : JsonObject | provenance | | +| Test.java:2652:54:2652:61 | source(...) : Object | Test.java:2652:31:2652:61 | (...)... : JsonObject | provenance | | +| Test.java:2653:10:2653:11 | in : JsonObject | Test.java:2653:10:2653:27 | getInt(...) : Number | provenance | MaD:197 | +| Test.java:2653:10:2653:27 | getInt(...) : Number | Test.java:2654:9:2654:11 | out | provenance | | +| Test.java:2659:31:2659:61 | (...)... : JsonObject | Test.java:2660:10:2660:11 | in : JsonObject | provenance | | +| Test.java:2659:54:2659:61 | source(...) : Object | Test.java:2659:31:2659:61 | (...)... : JsonObject | provenance | | +| Test.java:2660:10:2660:11 | in : JsonObject | Test.java:2660:10:2660:24 | getInt(...) : Number | provenance | MaD:197 | +| Test.java:2660:10:2660:24 | getInt(...) : Number | Test.java:2661:9:2661:11 | out | provenance | | +| Test.java:2666:13:2666:25 | (...)... : Number | Test.java:2668:32:2668:33 | in : Number | provenance | | +| Test.java:2666:18:2666:25 | source(...) : Object | Test.java:2666:13:2666:25 | (...)... : Number | provenance | | +| Test.java:2668:10:2668:34 | getInt(...) : Number | Test.java:2669:9:2669:11 | out | provenance | | +| Test.java:2668:32:2668:33 | in : Number | Test.java:2668:10:2668:34 | getInt(...) : Number | provenance | MaD:198 | +| Test.java:2674:31:2674:61 | (...)... : JsonObject | Test.java:2675:10:2675:11 | in : JsonObject | provenance | | +| Test.java:2674:54:2674:61 | source(...) : Object | Test.java:2674:31:2674:61 | (...)... : JsonObject | provenance | | +| Test.java:2675:10:2675:11 | in : JsonObject | Test.java:2675:10:2675:30 | getJsonArray(...) : JsonArray | provenance | MaD:199 | +| Test.java:2675:10:2675:30 | getJsonArray(...) : JsonArray | Test.java:2676:9:2676:11 | out | provenance | | +| Test.java:2681:31:2681:61 | (...)... : JsonObject | Test.java:2682:10:2682:11 | in : JsonObject | provenance | | +| Test.java:2681:54:2681:61 | source(...) : Object | Test.java:2681:31:2681:61 | (...)... : JsonObject | provenance | | +| Test.java:2682:10:2682:11 | in : JsonObject | Test.java:2682:10:2682:31 | getJsonNumber(...) : JsonNumber | provenance | MaD:200 | +| Test.java:2682:10:2682:31 | getJsonNumber(...) : JsonNumber | Test.java:2683:9:2683:11 | out | provenance | | +| Test.java:2688:31:2688:61 | (...)... : JsonObject | Test.java:2689:10:2689:11 | in : JsonObject | provenance | | +| Test.java:2688:54:2688:61 | source(...) : Object | Test.java:2688:31:2688:61 | (...)... : JsonObject | provenance | | +| Test.java:2689:10:2689:11 | in : JsonObject | Test.java:2689:10:2689:31 | getJsonObject(...) : JsonObject | provenance | MaD:201 | +| Test.java:2689:10:2689:31 | getJsonObject(...) : JsonObject | Test.java:2690:9:2690:11 | out | provenance | | +| Test.java:2695:31:2695:61 | (...)... : JsonObject | Test.java:2696:10:2696:11 | in : JsonObject | provenance | | +| Test.java:2695:54:2695:61 | source(...) : Object | Test.java:2695:31:2695:61 | (...)... : JsonObject | provenance | | +| Test.java:2696:10:2696:11 | in : JsonObject | Test.java:2696:10:2696:31 | getJsonString(...) : JsonString | provenance | MaD:202 | +| Test.java:2696:10:2696:31 | getJsonString(...) : JsonString | Test.java:2697:9:2697:11 | out | provenance | | +| Test.java:2702:31:2702:61 | (...)... : JsonObject | Test.java:2703:10:2703:11 | in : JsonObject | provenance | | +| Test.java:2702:54:2702:61 | source(...) : Object | Test.java:2702:31:2702:61 | (...)... : JsonObject | provenance | | +| Test.java:2703:10:2703:11 | in : JsonObject | Test.java:2703:10:2703:33 | getString(...) : String | provenance | MaD:203 | +| Test.java:2703:10:2703:33 | getString(...) : String | Test.java:2704:9:2704:11 | out | provenance | | +| Test.java:2709:31:2709:61 | (...)... : JsonObject | Test.java:2710:10:2710:11 | in : JsonObject | provenance | | +| Test.java:2709:54:2709:61 | source(...) : Object | Test.java:2709:31:2709:61 | (...)... : JsonObject | provenance | | +| Test.java:2710:10:2710:11 | in : JsonObject | Test.java:2710:10:2710:27 | getString(...) : String | provenance | MaD:203 | +| Test.java:2710:10:2710:27 | getString(...) : String | Test.java:2711:9:2711:11 | out | provenance | | +| Test.java:2716:16:2716:31 | (...)... : String | Test.java:2718:35:2718:36 | in : String | provenance | | +| Test.java:2716:24:2716:31 | source(...) : Object | Test.java:2716:16:2716:31 | (...)... : String | provenance | | +| Test.java:2718:10:2718:37 | getString(...) : String | Test.java:2719:9:2719:11 | out | provenance | | +| Test.java:2718:35:2718:36 | in : String | Test.java:2718:10:2718:37 | getString(...) : String | provenance | MaD:204 | +| Test.java:2724:38:2724:75 | (...)... : JsonObjectBuilder | Test.java:2725:10:2725:11 | in : JsonObjectBuilder | provenance | | +| Test.java:2724:68:2724:75 | source(...) : Object | Test.java:2724:38:2724:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2725:10:2725:11 | in : JsonObjectBuilder | Test.java:2725:10:2725:36 | add(...) : JsonObjectBuilder | provenance | MaD:205 | +| Test.java:2725:10:2725:36 | add(...) : JsonObjectBuilder | Test.java:2726:9:2726:11 | out | provenance | | +| Test.java:2731:38:2731:75 | (...)... : JsonObjectBuilder | Test.java:2732:10:2732:11 | in : JsonObjectBuilder | provenance | | +| Test.java:2731:68:2731:75 | source(...) : Object | Test.java:2731:38:2731:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2732:10:2732:11 | in : JsonObjectBuilder | Test.java:2732:10:2732:33 | add(...) : JsonObjectBuilder | provenance | MaD:205 | +| Test.java:2732:10:2732:33 | add(...) : JsonObjectBuilder | Test.java:2733:9:2733:11 | out | provenance | | +| Test.java:2738:38:2738:75 | (...)... : JsonObjectBuilder | Test.java:2739:10:2739:11 | in : JsonObjectBuilder | provenance | | +| Test.java:2738:68:2738:75 | source(...) : Object | Test.java:2738:38:2738:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2739:10:2739:11 | in : JsonObjectBuilder | Test.java:2739:10:2739:34 | add(...) : JsonObjectBuilder | provenance | MaD:205 | +| Test.java:2739:10:2739:34 | add(...) : JsonObjectBuilder | Test.java:2740:9:2740:11 | out | provenance | | +| Test.java:2745:38:2745:75 | (...)... : JsonObjectBuilder | Test.java:2746:10:2746:11 | in : JsonObjectBuilder | provenance | | +| Test.java:2745:68:2745:75 | source(...) : Object | Test.java:2745:38:2745:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2746:10:2746:11 | in : JsonObjectBuilder | Test.java:2746:10:2746:32 | add(...) : JsonObjectBuilder | provenance | MaD:205 | +| Test.java:2746:10:2746:32 | add(...) : JsonObjectBuilder | Test.java:2747:9:2747:11 | out | provenance | | +| Test.java:2752:38:2752:75 | (...)... : JsonObjectBuilder | Test.java:2753:10:2753:11 | in : JsonObjectBuilder | provenance | | +| Test.java:2752:68:2752:75 | source(...) : Object | Test.java:2752:38:2752:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2753:10:2753:11 | in : JsonObjectBuilder | Test.java:2753:10:2753:57 | add(...) : JsonObjectBuilder | provenance | MaD:205 | +| Test.java:2753:10:2753:57 | add(...) : JsonObjectBuilder | Test.java:2754:9:2754:11 | out | provenance | | +| Test.java:2759:38:2759:75 | (...)... : JsonObjectBuilder | Test.java:2760:10:2760:11 | in : JsonObjectBuilder | provenance | | +| Test.java:2759:68:2759:75 | source(...) : Object | Test.java:2759:38:2759:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2760:10:2760:11 | in : JsonObjectBuilder | Test.java:2760:10:2760:65 | add(...) : JsonObjectBuilder | provenance | MaD:205 | +| Test.java:2760:10:2760:65 | add(...) : JsonObjectBuilder | Test.java:2761:9:2761:11 | out | provenance | | +| Test.java:2766:38:2766:75 | (...)... : JsonObjectBuilder | Test.java:2767:10:2767:11 | in : JsonObjectBuilder | provenance | | +| Test.java:2766:68:2766:75 | source(...) : Object | Test.java:2766:38:2766:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2767:10:2767:11 | in : JsonObjectBuilder | Test.java:2767:10:2767:64 | add(...) : JsonObjectBuilder | provenance | MaD:205 | +| Test.java:2767:10:2767:64 | add(...) : JsonObjectBuilder | Test.java:2768:9:2768:11 | out | provenance | | +| Test.java:2773:38:2773:75 | (...)... : JsonObjectBuilder | Test.java:2774:10:2774:11 | in : JsonObjectBuilder | provenance | | +| Test.java:2773:68:2773:75 | source(...) : Object | Test.java:2773:38:2773:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2774:10:2774:11 | in : JsonObjectBuilder | Test.java:2774:10:2774:43 | add(...) : JsonObjectBuilder | provenance | MaD:205 | +| Test.java:2774:10:2774:43 | add(...) : JsonObjectBuilder | Test.java:2775:9:2775:11 | out | provenance | | +| Test.java:2780:38:2780:75 | (...)... : JsonObjectBuilder | Test.java:2781:10:2781:11 | in : JsonObjectBuilder | provenance | | +| Test.java:2780:68:2780:75 | source(...) : Object | Test.java:2780:38:2780:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2781:10:2781:11 | in : JsonObjectBuilder | Test.java:2781:10:2781:47 | add(...) : JsonObjectBuilder | provenance | MaD:205 | +| Test.java:2781:10:2781:47 | add(...) : JsonObjectBuilder | Test.java:2782:9:2782:11 | out | provenance | | +| Test.java:2787:38:2787:75 | (...)... : JsonObjectBuilder | Test.java:2788:10:2788:11 | in : JsonObjectBuilder | provenance | | +| Test.java:2787:68:2787:75 | source(...) : Object | Test.java:2787:38:2787:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2788:10:2788:11 | in : JsonObjectBuilder | Test.java:2788:10:2788:47 | add(...) : JsonObjectBuilder | provenance | MaD:205 | +| Test.java:2788:10:2788:47 | add(...) : JsonObjectBuilder | Test.java:2789:9:2789:11 | out | provenance | | +| Test.java:2794:14:2794:27 | (...)... : Number | Test.java:2795:26:2795:27 | in : Number | provenance | | +| Test.java:2794:20:2794:27 | source(...) : Object | Test.java:2794:14:2794:27 | (...)... : Number | provenance | | +| Test.java:2795:4:2795:6 | out [post update] : JsonObjectBuilder | Test.java:2796:9:2796:11 | out | provenance | | +| Test.java:2795:26:2795:27 | in : Number | Test.java:2795:4:2795:6 | out [post update] : JsonObjectBuilder | provenance | MaD:206 | +| Test.java:2801:30:2801:59 | (...)... : JsonValue | Test.java:2802:26:2802:27 | in : JsonValue | provenance | | +| Test.java:2801:52:2801:59 | source(...) : Object | Test.java:2801:30:2801:59 | (...)... : JsonValue | provenance | | +| Test.java:2802:4:2802:6 | out [post update] : JsonObjectBuilder | Test.java:2803:9:2803:11 | out | provenance | | +| Test.java:2802:26:2802:27 | in : JsonValue | Test.java:2802:4:2802:6 | out [post update] : JsonObjectBuilder | provenance | MaD:206 | +| Test.java:2808:38:2808:75 | (...)... : JsonObjectBuilder | Test.java:2809:26:2809:27 | in : JsonObjectBuilder | provenance | | +| Test.java:2808:68:2808:75 | source(...) : Object | Test.java:2808:38:2808:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2809:4:2809:6 | out [post update] : JsonObjectBuilder | Test.java:2810:9:2810:11 | out | provenance | | +| Test.java:2809:26:2809:27 | in : JsonObjectBuilder | Test.java:2809:4:2809:6 | out [post update] : JsonObjectBuilder | provenance | MaD:206 | +| Test.java:2815:37:2815:73 | (...)... : JsonArrayBuilder | Test.java:2816:26:2816:27 | in : JsonArrayBuilder | provenance | | +| Test.java:2815:66:2815:73 | source(...) : Object | Test.java:2815:37:2815:73 | (...)... : JsonArrayBuilder | provenance | | +| Test.java:2816:4:2816:6 | out [post update] : JsonObjectBuilder | Test.java:2817:9:2817:11 | out | provenance | | +| Test.java:2816:26:2816:27 | in : JsonArrayBuilder | Test.java:2816:4:2816:6 | out [post update] : JsonObjectBuilder | provenance | MaD:206 | +| Test.java:2822:13:2822:25 | (...)... : Number | Test.java:2823:26:2823:27 | in : Number | provenance | | +| Test.java:2822:18:2822:25 | source(...) : Object | Test.java:2822:13:2822:25 | (...)... : Number | provenance | | +| Test.java:2823:4:2823:6 | out [post update] : JsonObjectBuilder | Test.java:2824:9:2824:11 | out | provenance | | +| Test.java:2823:26:2823:27 | in : Number | Test.java:2823:4:2823:6 | out [post update] : JsonObjectBuilder | provenance | MaD:206 | +| Test.java:2829:16:2829:31 | (...)... : Number | Test.java:2830:26:2830:27 | in : Number | provenance | | +| Test.java:2829:24:2829:31 | source(...) : Object | Test.java:2829:16:2829:31 | (...)... : Number | provenance | | +| Test.java:2830:4:2830:6 | out [post update] : JsonObjectBuilder | Test.java:2831:9:2831:11 | out | provenance | | +| Test.java:2830:26:2830:27 | in : Number | Test.java:2830:4:2830:6 | out [post update] : JsonObjectBuilder | provenance | MaD:206 | +| Test.java:2836:17:2836:33 | (...)... : Boolean | Test.java:2837:26:2837:27 | in : Boolean | provenance | | +| Test.java:2836:26:2836:33 | source(...) : Object | Test.java:2836:17:2836:33 | (...)... : Boolean | provenance | | +| Test.java:2837:4:2837:6 | out [post update] : JsonObjectBuilder | Test.java:2838:9:2838:11 | out | provenance | | +| Test.java:2837:26:2837:27 | in : Boolean | Test.java:2837:4:2837:6 | out [post update] : JsonObjectBuilder | provenance | MaD:206 | +| Test.java:2843:16:2843:31 | (...)... : String | Test.java:2844:26:2844:27 | in : String | provenance | | +| Test.java:2843:24:2843:31 | source(...) : Object | Test.java:2843:16:2843:31 | (...)... : String | provenance | | +| Test.java:2844:4:2844:6 | out [post update] : JsonObjectBuilder | Test.java:2845:9:2845:11 | out | provenance | | +| Test.java:2844:26:2844:27 | in : String | Test.java:2844:4:2844:6 | out [post update] : JsonObjectBuilder | provenance | MaD:206 | +| Test.java:2850:20:2850:39 | (...)... : BigInteger | Test.java:2851:26:2851:27 | in : BigInteger | provenance | | +| Test.java:2850:32:2850:39 | source(...) : Object | Test.java:2850:20:2850:39 | (...)... : BigInteger | provenance | | +| Test.java:2851:4:2851:6 | out [post update] : JsonObjectBuilder | Test.java:2852:9:2852:11 | out | provenance | | +| Test.java:2851:26:2851:27 | in : BigInteger | Test.java:2851:4:2851:6 | out [post update] : JsonObjectBuilder | provenance | MaD:206 | +| Test.java:2857:20:2857:39 | (...)... : BigDecimal | Test.java:2858:26:2858:27 | in : BigDecimal | provenance | | +| Test.java:2857:32:2857:39 | source(...) : Object | Test.java:2857:20:2857:39 | (...)... : BigDecimal | provenance | | +| Test.java:2858:4:2858:6 | out [post update] : JsonObjectBuilder | Test.java:2859:9:2859:11 | out | provenance | | +| Test.java:2858:26:2858:27 | in : BigDecimal | Test.java:2858:4:2858:6 | out [post update] : JsonObjectBuilder | provenance | MaD:206 | +| Test.java:2864:38:2864:75 | (...)... : JsonObjectBuilder | Test.java:2865:10:2865:11 | in : JsonObjectBuilder | provenance | | +| Test.java:2864:68:2864:75 | source(...) : Object | Test.java:2864:38:2864:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2865:10:2865:11 | in : JsonObjectBuilder | Test.java:2865:10:2865:24 | addAll(...) : JsonObjectBuilder | provenance | MaD:207 | +| Test.java:2865:10:2865:24 | addAll(...) : JsonObjectBuilder | Test.java:2866:9:2866:11 | out | provenance | | +| Test.java:2871:38:2871:75 | (...)... : JsonObjectBuilder | Test.java:2873:26:2873:27 | in : JsonObjectBuilder | provenance | | +| Test.java:2871:68:2871:75 | source(...) : Object | Test.java:2871:38:2871:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2873:10:2873:28 | addAll(...) : JsonObjectBuilder | Test.java:2874:9:2874:11 | out | provenance | | +| Test.java:2873:26:2873:27 | in : JsonObjectBuilder | Test.java:2873:10:2873:28 | addAll(...) : JsonObjectBuilder | provenance | MaD:208 | +| Test.java:2879:38:2879:75 | (...)... : JsonObjectBuilder | Test.java:2880:10:2880:11 | in : JsonObjectBuilder | provenance | | +| Test.java:2879:68:2879:75 | source(...) : Object | Test.java:2879:38:2879:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2880:10:2880:11 | in : JsonObjectBuilder | Test.java:2880:10:2880:25 | addNull(...) : JsonObjectBuilder | provenance | MaD:209 | +| Test.java:2880:10:2880:25 | addNull(...) : JsonObjectBuilder | Test.java:2881:9:2881:11 | out | provenance | | +| Test.java:2886:38:2886:75 | (...)... : JsonObjectBuilder | Test.java:2887:10:2887:11 | in : JsonObjectBuilder | provenance | | +| Test.java:2886:68:2886:75 | source(...) : Object | Test.java:2886:38:2886:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2887:10:2887:11 | in : JsonObjectBuilder | Test.java:2887:10:2887:19 | build(...) : JsonObject | provenance | MaD:210 | +| Test.java:2887:10:2887:19 | build(...) : JsonObject | Test.java:2888:9:2888:11 | out | provenance | | +| Test.java:2893:38:2893:75 | (...)... : JsonObjectBuilder | Test.java:2894:10:2894:11 | in : JsonObjectBuilder | provenance | | +| Test.java:2893:68:2893:75 | source(...) : Object | Test.java:2893:38:2893:75 | (...)... : JsonObjectBuilder | provenance | | +| Test.java:2894:10:2894:11 | in : JsonObjectBuilder | Test.java:2894:10:2894:24 | remove(...) : JsonObjectBuilder | provenance | MaD:211 | +| Test.java:2894:10:2894:24 | remove(...) : JsonObjectBuilder | Test.java:2895:9:2895:11 | out | provenance | | +| Test.java:2900:30:2900:59 | (...)... : JsonPatch | Test.java:2901:10:2901:11 | in : JsonPatch | provenance | | +| Test.java:2900:52:2900:59 | source(...) : Object | Test.java:2900:30:2900:59 | (...)... : JsonPatch | provenance | | +| Test.java:2901:10:2901:11 | in : JsonPatch | Test.java:2901:10:2901:23 | apply(...) : JsonStructure | provenance | MaD:212 | +| Test.java:2901:10:2901:23 | apply(...) : JsonStructure | Test.java:2902:9:2902:11 | out | provenance | | +| Test.java:2907:34:2907:67 | (...)... : JsonStructure | Test.java:2909:25:2909:26 | in : JsonStructure | provenance | | +| Test.java:2907:60:2907:67 | source(...) : Object | Test.java:2907:34:2907:67 | (...)... : JsonStructure | provenance | | +| Test.java:2909:10:2909:27 | apply(...) : JsonStructure | Test.java:2910:9:2910:11 | out | provenance | | +| Test.java:2909:25:2909:26 | in : JsonStructure | Test.java:2909:10:2909:27 | apply(...) : JsonStructure | provenance | MaD:213 | +| Test.java:2915:30:2915:59 | (...)... : JsonPatch | Test.java:2916:10:2916:11 | in : JsonPatch | provenance | | +| Test.java:2915:52:2915:59 | source(...) : Object | Test.java:2915:30:2915:59 | (...)... : JsonPatch | provenance | | +| Test.java:2916:10:2916:11 | in : JsonPatch | Test.java:2916:10:2916:25 | toJsonArray(...) : JsonArray | provenance | MaD:214 | +| Test.java:2916:10:2916:25 | toJsonArray(...) : JsonArray | Test.java:2917:9:2917:11 | out | provenance | | +| Test.java:2922:37:2922:73 | (...)... : JsonPatchBuilder | Test.java:2923:10:2923:11 | in : JsonPatchBuilder | provenance | | +| Test.java:2922:66:2922:73 | source(...) : Object | Test.java:2922:37:2922:73 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:2923:10:2923:11 | in : JsonPatchBuilder | Test.java:2923:10:2923:36 | add(...) : JsonPatchBuilder | provenance | MaD:215 | +| Test.java:2923:10:2923:36 | add(...) : JsonPatchBuilder | Test.java:2924:9:2924:11 | out | provenance | | +| Test.java:2929:37:2929:73 | (...)... : JsonPatchBuilder | Test.java:2930:10:2930:11 | in : JsonPatchBuilder | provenance | | +| Test.java:2929:66:2929:73 | source(...) : Object | Test.java:2929:37:2929:73 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:2930:10:2930:11 | in : JsonPatchBuilder | Test.java:2930:10:2930:32 | add(...) : JsonPatchBuilder | provenance | MaD:215 | +| Test.java:2930:10:2930:32 | add(...) : JsonPatchBuilder | Test.java:2931:9:2931:11 | out | provenance | | +| Test.java:2936:37:2936:73 | (...)... : JsonPatchBuilder | Test.java:2937:10:2937:11 | in : JsonPatchBuilder | provenance | | +| Test.java:2936:66:2936:73 | source(...) : Object | Test.java:2936:37:2936:73 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:2937:10:2937:11 | in : JsonPatchBuilder | Test.java:2937:10:2937:57 | add(...) : JsonPatchBuilder | provenance | MaD:215 | +| Test.java:2937:10:2937:57 | add(...) : JsonPatchBuilder | Test.java:2938:9:2938:11 | out | provenance | | +| Test.java:2943:37:2943:73 | (...)... : JsonPatchBuilder | Test.java:2944:10:2944:11 | in : JsonPatchBuilder | provenance | | +| Test.java:2943:66:2943:73 | source(...) : Object | Test.java:2943:37:2943:73 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:2944:10:2944:11 | in : JsonPatchBuilder | Test.java:2944:10:2944:43 | add(...) : JsonPatchBuilder | provenance | MaD:215 | +| Test.java:2944:10:2944:43 | add(...) : JsonPatchBuilder | Test.java:2945:9:2945:11 | out | provenance | | +| Test.java:2950:30:2950:59 | (...)... : JsonValue | Test.java:2952:37:2952:38 | in : JsonValue | provenance | | +| Test.java:2950:52:2950:59 | source(...) : Object | Test.java:2950:30:2950:59 | (...)... : JsonValue | provenance | | +| Test.java:2952:10:2952:39 | add(...) : JsonPatchBuilder | Test.java:2953:9:2953:11 | out | provenance | | +| Test.java:2952:37:2952:38 | in : JsonValue | Test.java:2952:10:2952:39 | add(...) : JsonPatchBuilder | provenance | MaD:216 | +| Test.java:2958:13:2958:25 | (...)... : Number | Test.java:2960:37:2960:38 | in : Number | provenance | | +| Test.java:2958:18:2958:25 | source(...) : Object | Test.java:2958:13:2958:25 | (...)... : Number | provenance | | +| Test.java:2960:10:2960:39 | add(...) : JsonPatchBuilder | Test.java:2961:9:2961:11 | out | provenance | | +| Test.java:2960:37:2960:38 | in : Number | Test.java:2960:10:2960:39 | add(...) : JsonPatchBuilder | provenance | MaD:216 | +| Test.java:2966:17:2966:33 | (...)... : Boolean | Test.java:2968:37:2968:38 | in : Boolean | provenance | | +| Test.java:2966:26:2966:33 | source(...) : Object | Test.java:2966:17:2966:33 | (...)... : Boolean | provenance | | +| Test.java:2968:10:2968:39 | add(...) : JsonPatchBuilder | Test.java:2969:9:2969:11 | out | provenance | | +| Test.java:2968:37:2968:38 | in : Boolean | Test.java:2968:10:2968:39 | add(...) : JsonPatchBuilder | provenance | MaD:216 | +| Test.java:2974:16:2974:31 | (...)... : String | Test.java:2976:23:2976:24 | in : String | provenance | | +| Test.java:2974:24:2974:31 | source(...) : Object | Test.java:2974:16:2974:31 | (...)... : String | provenance | | +| Test.java:2976:10:2976:32 | add(...) : JsonPatchBuilder | Test.java:2977:9:2977:11 | out | provenance | | +| Test.java:2976:23:2976:24 | in : String | Test.java:2976:10:2976:32 | add(...) : JsonPatchBuilder | provenance | MaD:216 | +| Test.java:2982:16:2982:31 | (...)... : String | Test.java:2984:23:2984:24 | in : String | provenance | | +| Test.java:2982:24:2982:31 | source(...) : Object | Test.java:2982:16:2982:31 | (...)... : String | provenance | | +| Test.java:2984:10:2984:28 | add(...) : JsonPatchBuilder | Test.java:2985:9:2985:11 | out | provenance | | +| Test.java:2984:23:2984:24 | in : String | Test.java:2984:10:2984:28 | add(...) : JsonPatchBuilder | provenance | MaD:216 | +| Test.java:2990:16:2990:31 | (...)... : String | Test.java:2992:23:2992:24 | in : String | provenance | | +| Test.java:2990:24:2990:31 | source(...) : Object | Test.java:2990:16:2990:31 | (...)... : String | provenance | | +| Test.java:2992:10:2992:53 | add(...) : JsonPatchBuilder | Test.java:2993:9:2993:11 | out | provenance | | +| Test.java:2992:23:2992:24 | in : String | Test.java:2992:10:2992:53 | add(...) : JsonPatchBuilder | provenance | MaD:216 | +| Test.java:2998:16:2998:31 | (...)... : String | Test.java:3000:23:3000:24 | in : String | provenance | | +| Test.java:2998:24:2998:31 | source(...) : Object | Test.java:2998:16:2998:31 | (...)... : String | provenance | | +| Test.java:3000:10:3000:39 | add(...) : JsonPatchBuilder | Test.java:3001:9:3001:11 | out | provenance | | +| Test.java:3000:23:3000:24 | in : String | Test.java:3000:10:3000:39 | add(...) : JsonPatchBuilder | provenance | MaD:216 | +| Test.java:3006:16:3006:31 | (...)... : String | Test.java:3008:37:3008:38 | in : String | provenance | | +| Test.java:3006:24:3006:31 | source(...) : Object | Test.java:3006:16:3006:31 | (...)... : String | provenance | | +| Test.java:3008:10:3008:39 | add(...) : JsonPatchBuilder | Test.java:3009:9:3009:11 | out | provenance | | +| Test.java:3008:37:3008:38 | in : String | Test.java:3008:10:3008:39 | add(...) : JsonPatchBuilder | provenance | MaD:216 | +| Test.java:3014:37:3014:73 | (...)... : JsonPatchBuilder | Test.java:3015:10:3015:11 | in : JsonPatchBuilder | provenance | | +| Test.java:3014:66:3014:73 | source(...) : Object | Test.java:3014:37:3014:73 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:3015:10:3015:11 | in : JsonPatchBuilder | Test.java:3015:10:3015:19 | build(...) : JsonPatch | provenance | MaD:217 | +| Test.java:3015:10:3015:19 | build(...) : JsonPatch | Test.java:3016:9:3016:11 | out | provenance | | +| Test.java:3021:37:3021:73 | (...)... : JsonPatchBuilder | Test.java:3022:10:3022:11 | in : JsonPatchBuilder | provenance | | +| Test.java:3021:66:3021:73 | source(...) : Object | Test.java:3021:37:3021:73 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:3022:10:3022:11 | in : JsonPatchBuilder | Test.java:3022:10:3022:28 | copy(...) : JsonPatchBuilder | provenance | MaD:218 | +| Test.java:3022:10:3022:28 | copy(...) : JsonPatchBuilder | Test.java:3023:9:3023:11 | out | provenance | | +| Test.java:3028:16:3028:31 | (...)... : String | Test.java:3030:30:3030:31 | in : String | provenance | | +| Test.java:3028:24:3028:31 | source(...) : Object | Test.java:3028:16:3028:31 | (...)... : String | provenance | | +| Test.java:3030:10:3030:32 | copy(...) : JsonPatchBuilder | Test.java:3031:9:3031:11 | out | provenance | | +| Test.java:3030:30:3030:31 | in : String | Test.java:3030:10:3030:32 | copy(...) : JsonPatchBuilder | provenance | MaD:219 | +| Test.java:3036:16:3036:31 | (...)... : String | Test.java:3038:24:3038:25 | in : String | provenance | | +| Test.java:3036:24:3036:31 | source(...) : Object | Test.java:3036:16:3036:31 | (...)... : String | provenance | | +| Test.java:3038:10:3038:32 | copy(...) : JsonPatchBuilder | Test.java:3039:9:3039:11 | out | provenance | | +| Test.java:3038:24:3038:25 | in : String | Test.java:3038:10:3038:32 | copy(...) : JsonPatchBuilder | provenance | MaD:219 | +| Test.java:3044:37:3044:73 | (...)... : JsonPatchBuilder | Test.java:3045:10:3045:11 | in : JsonPatchBuilder | provenance | | +| Test.java:3044:66:3044:73 | source(...) : Object | Test.java:3044:37:3044:73 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:3045:10:3045:11 | in : JsonPatchBuilder | Test.java:3045:10:3045:28 | move(...) : JsonPatchBuilder | provenance | MaD:220 | +| Test.java:3045:10:3045:28 | move(...) : JsonPatchBuilder | Test.java:3046:9:3046:11 | out | provenance | | +| Test.java:3051:16:3051:31 | (...)... : String | Test.java:3053:30:3053:31 | in : String | provenance | | +| Test.java:3051:24:3051:31 | source(...) : Object | Test.java:3051:16:3051:31 | (...)... : String | provenance | | +| Test.java:3053:10:3053:32 | move(...) : JsonPatchBuilder | Test.java:3054:9:3054:11 | out | provenance | | +| Test.java:3053:30:3053:31 | in : String | Test.java:3053:10:3053:32 | move(...) : JsonPatchBuilder | provenance | MaD:221 | +| Test.java:3059:16:3059:31 | (...)... : String | Test.java:3061:24:3061:25 | in : String | provenance | | +| Test.java:3059:24:3059:31 | source(...) : Object | Test.java:3059:16:3059:31 | (...)... : String | provenance | | +| Test.java:3061:10:3061:32 | move(...) : JsonPatchBuilder | Test.java:3062:9:3062:11 | out | provenance | | +| Test.java:3061:24:3061:25 | in : String | Test.java:3061:10:3061:32 | move(...) : JsonPatchBuilder | provenance | MaD:221 | +| Test.java:3067:37:3067:73 | (...)... : JsonPatchBuilder | Test.java:3068:10:3068:11 | in : JsonPatchBuilder | provenance | | +| Test.java:3067:66:3067:73 | source(...) : Object | Test.java:3067:37:3067:73 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:3068:10:3068:11 | in : JsonPatchBuilder | Test.java:3068:10:3068:24 | remove(...) : JsonPatchBuilder | provenance | MaD:222 | +| Test.java:3068:10:3068:24 | remove(...) : JsonPatchBuilder | Test.java:3069:9:3069:11 | out | provenance | | +| Test.java:3074:16:3074:31 | (...)... : String | Test.java:3076:26:3076:27 | in : String | provenance | | +| Test.java:3074:24:3074:31 | source(...) : Object | Test.java:3074:16:3074:31 | (...)... : String | provenance | | +| Test.java:3076:10:3076:28 | remove(...) : JsonPatchBuilder | Test.java:3077:9:3077:11 | out | provenance | | +| Test.java:3076:26:3076:27 | in : String | Test.java:3076:10:3076:28 | remove(...) : JsonPatchBuilder | provenance | MaD:223 | +| Test.java:3082:37:3082:73 | (...)... : JsonPatchBuilder | Test.java:3083:10:3083:11 | in : JsonPatchBuilder | provenance | | +| Test.java:3082:66:3082:73 | source(...) : Object | Test.java:3082:37:3082:73 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:3083:10:3083:11 | in : JsonPatchBuilder | Test.java:3083:10:3083:40 | replace(...) : JsonPatchBuilder | provenance | MaD:224 | +| Test.java:3083:10:3083:40 | replace(...) : JsonPatchBuilder | Test.java:3084:9:3084:11 | out | provenance | | +| Test.java:3089:37:3089:73 | (...)... : JsonPatchBuilder | Test.java:3090:10:3090:11 | in : JsonPatchBuilder | provenance | | +| Test.java:3089:66:3089:73 | source(...) : Object | Test.java:3089:37:3089:73 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:3090:10:3090:11 | in : JsonPatchBuilder | Test.java:3090:10:3090:36 | replace(...) : JsonPatchBuilder | provenance | MaD:224 | +| Test.java:3090:10:3090:36 | replace(...) : JsonPatchBuilder | Test.java:3091:9:3091:11 | out | provenance | | +| Test.java:3096:37:3096:73 | (...)... : JsonPatchBuilder | Test.java:3097:10:3097:11 | in : JsonPatchBuilder | provenance | | +| Test.java:3096:66:3096:73 | source(...) : Object | Test.java:3096:37:3096:73 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:3097:10:3097:11 | in : JsonPatchBuilder | Test.java:3097:10:3097:61 | replace(...) : JsonPatchBuilder | provenance | MaD:224 | +| Test.java:3097:10:3097:61 | replace(...) : JsonPatchBuilder | Test.java:3098:9:3098:11 | out | provenance | | +| Test.java:3103:37:3103:73 | (...)... : JsonPatchBuilder | Test.java:3104:10:3104:11 | in : JsonPatchBuilder | provenance | | +| Test.java:3103:66:3103:73 | source(...) : Object | Test.java:3103:37:3103:73 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:3104:10:3104:11 | in : JsonPatchBuilder | Test.java:3104:10:3104:47 | replace(...) : JsonPatchBuilder | provenance | MaD:224 | +| Test.java:3104:10:3104:47 | replace(...) : JsonPatchBuilder | Test.java:3105:9:3105:11 | out | provenance | | +| Test.java:3110:30:3110:59 | (...)... : JsonValue | Test.java:3112:41:3112:42 | in : JsonValue | provenance | | +| Test.java:3110:52:3110:59 | source(...) : Object | Test.java:3110:30:3110:59 | (...)... : JsonValue | provenance | | +| Test.java:3112:10:3112:43 | replace(...) : JsonPatchBuilder | Test.java:3113:9:3113:11 | out | provenance | | +| Test.java:3112:41:3112:42 | in : JsonValue | Test.java:3112:10:3112:43 | replace(...) : JsonPatchBuilder | provenance | MaD:225 | +| Test.java:3118:13:3118:25 | (...)... : Number | Test.java:3120:41:3120:42 | in : Number | provenance | | +| Test.java:3118:18:3118:25 | source(...) : Object | Test.java:3118:13:3118:25 | (...)... : Number | provenance | | +| Test.java:3120:10:3120:43 | replace(...) : JsonPatchBuilder | Test.java:3121:9:3121:11 | out | provenance | | +| Test.java:3120:41:3120:42 | in : Number | Test.java:3120:10:3120:43 | replace(...) : JsonPatchBuilder | provenance | MaD:225 | +| Test.java:3126:17:3126:33 | (...)... : Boolean | Test.java:3128:41:3128:42 | in : Boolean | provenance | | +| Test.java:3126:26:3126:33 | source(...) : Object | Test.java:3126:17:3126:33 | (...)... : Boolean | provenance | | +| Test.java:3128:10:3128:43 | replace(...) : JsonPatchBuilder | Test.java:3129:9:3129:11 | out | provenance | | +| Test.java:3128:41:3128:42 | in : Boolean | Test.java:3128:10:3128:43 | replace(...) : JsonPatchBuilder | provenance | MaD:225 | +| Test.java:3134:16:3134:31 | (...)... : String | Test.java:3136:27:3136:28 | in : String | provenance | | +| Test.java:3134:24:3134:31 | source(...) : Object | Test.java:3134:16:3134:31 | (...)... : String | provenance | | +| Test.java:3136:10:3136:36 | replace(...) : JsonPatchBuilder | Test.java:3137:9:3137:11 | out | provenance | | +| Test.java:3136:27:3136:28 | in : String | Test.java:3136:10:3136:36 | replace(...) : JsonPatchBuilder | provenance | MaD:225 | +| Test.java:3142:16:3142:31 | (...)... : String | Test.java:3144:27:3144:28 | in : String | provenance | | +| Test.java:3142:24:3142:31 | source(...) : Object | Test.java:3142:16:3142:31 | (...)... : String | provenance | | +| Test.java:3144:10:3144:32 | replace(...) : JsonPatchBuilder | Test.java:3145:9:3145:11 | out | provenance | | +| Test.java:3144:27:3144:28 | in : String | Test.java:3144:10:3144:32 | replace(...) : JsonPatchBuilder | provenance | MaD:225 | +| Test.java:3150:16:3150:31 | (...)... : String | Test.java:3152:27:3152:28 | in : String | provenance | | +| Test.java:3150:24:3150:31 | source(...) : Object | Test.java:3150:16:3150:31 | (...)... : String | provenance | | +| Test.java:3152:10:3152:57 | replace(...) : JsonPatchBuilder | Test.java:3153:9:3153:11 | out | provenance | | +| Test.java:3152:27:3152:28 | in : String | Test.java:3152:10:3152:57 | replace(...) : JsonPatchBuilder | provenance | MaD:225 | +| Test.java:3158:16:3158:31 | (...)... : String | Test.java:3160:27:3160:28 | in : String | provenance | | +| Test.java:3158:24:3158:31 | source(...) : Object | Test.java:3158:16:3158:31 | (...)... : String | provenance | | +| Test.java:3160:10:3160:43 | replace(...) : JsonPatchBuilder | Test.java:3161:9:3161:11 | out | provenance | | +| Test.java:3160:27:3160:28 | in : String | Test.java:3160:10:3160:43 | replace(...) : JsonPatchBuilder | provenance | MaD:225 | +| Test.java:3166:16:3166:31 | (...)... : String | Test.java:3168:41:3168:42 | in : String | provenance | | +| Test.java:3166:24:3166:31 | source(...) : Object | Test.java:3166:16:3166:31 | (...)... : String | provenance | | +| Test.java:3168:10:3168:43 | replace(...) : JsonPatchBuilder | Test.java:3169:9:3169:11 | out | provenance | | +| Test.java:3168:41:3168:42 | in : String | Test.java:3168:10:3168:43 | replace(...) : JsonPatchBuilder | provenance | MaD:225 | +| Test.java:3174:37:3174:73 | (...)... : JsonPatchBuilder | Test.java:3175:10:3175:11 | in : JsonPatchBuilder | provenance | | +| Test.java:3174:66:3174:73 | source(...) : Object | Test.java:3174:37:3174:73 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:3175:10:3175:11 | in : JsonPatchBuilder | Test.java:3175:10:3175:37 | test(...) : JsonPatchBuilder | provenance | MaD:226 | +| Test.java:3175:10:3175:37 | test(...) : JsonPatchBuilder | Test.java:3176:9:3176:11 | out | provenance | | +| Test.java:3181:37:3181:73 | (...)... : JsonPatchBuilder | Test.java:3182:10:3182:11 | in : JsonPatchBuilder | provenance | | +| Test.java:3181:66:3181:73 | source(...) : Object | Test.java:3181:37:3181:73 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:3182:10:3182:11 | in : JsonPatchBuilder | Test.java:3182:10:3182:33 | test(...) : JsonPatchBuilder | provenance | MaD:226 | +| Test.java:3182:10:3182:33 | test(...) : JsonPatchBuilder | Test.java:3183:9:3183:11 | out | provenance | | +| Test.java:3188:37:3188:73 | (...)... : JsonPatchBuilder | Test.java:3189:10:3189:11 | in : JsonPatchBuilder | provenance | | +| Test.java:3188:66:3188:73 | source(...) : Object | Test.java:3188:37:3188:73 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:3189:10:3189:11 | in : JsonPatchBuilder | Test.java:3189:10:3189:58 | test(...) : JsonPatchBuilder | provenance | MaD:226 | +| Test.java:3189:10:3189:58 | test(...) : JsonPatchBuilder | Test.java:3190:9:3190:11 | out | provenance | | +| Test.java:3195:37:3195:73 | (...)... : JsonPatchBuilder | Test.java:3196:10:3196:11 | in : JsonPatchBuilder | provenance | | +| Test.java:3195:66:3195:73 | source(...) : Object | Test.java:3195:37:3195:73 | (...)... : JsonPatchBuilder | provenance | | +| Test.java:3196:10:3196:11 | in : JsonPatchBuilder | Test.java:3196:10:3196:44 | test(...) : JsonPatchBuilder | provenance | MaD:226 | +| Test.java:3196:10:3196:44 | test(...) : JsonPatchBuilder | Test.java:3197:9:3197:11 | out | provenance | | +| Test.java:3202:30:3202:59 | (...)... : JsonValue | Test.java:3204:38:3204:39 | in : JsonValue | provenance | | +| Test.java:3202:52:3202:59 | source(...) : Object | Test.java:3202:30:3202:59 | (...)... : JsonValue | provenance | | +| Test.java:3204:10:3204:40 | test(...) : JsonPatchBuilder | Test.java:3205:9:3205:11 | out | provenance | | +| Test.java:3204:38:3204:39 | in : JsonValue | Test.java:3204:10:3204:40 | test(...) : JsonPatchBuilder | provenance | MaD:227 | +| Test.java:3210:13:3210:25 | (...)... : Number | Test.java:3212:38:3212:39 | in : Number | provenance | | +| Test.java:3210:18:3210:25 | source(...) : Object | Test.java:3210:13:3210:25 | (...)... : Number | provenance | | +| Test.java:3212:10:3212:40 | test(...) : JsonPatchBuilder | Test.java:3213:9:3213:11 | out | provenance | | +| Test.java:3212:38:3212:39 | in : Number | Test.java:3212:10:3212:40 | test(...) : JsonPatchBuilder | provenance | MaD:227 | +| Test.java:3218:17:3218:33 | (...)... : Boolean | Test.java:3220:38:3220:39 | in : Boolean | provenance | | +| Test.java:3218:26:3218:33 | source(...) : Object | Test.java:3218:17:3218:33 | (...)... : Boolean | provenance | | +| Test.java:3220:10:3220:40 | test(...) : JsonPatchBuilder | Test.java:3221:9:3221:11 | out | provenance | | +| Test.java:3220:38:3220:39 | in : Boolean | Test.java:3220:10:3220:40 | test(...) : JsonPatchBuilder | provenance | MaD:227 | +| Test.java:3226:16:3226:31 | (...)... : String | Test.java:3228:24:3228:25 | in : String | provenance | | +| Test.java:3226:24:3226:31 | source(...) : Object | Test.java:3226:16:3226:31 | (...)... : String | provenance | | +| Test.java:3228:10:3228:33 | test(...) : JsonPatchBuilder | Test.java:3229:9:3229:11 | out | provenance | | +| Test.java:3228:24:3228:25 | in : String | Test.java:3228:10:3228:33 | test(...) : JsonPatchBuilder | provenance | MaD:227 | +| Test.java:3234:16:3234:31 | (...)... : String | Test.java:3236:24:3236:25 | in : String | provenance | | +| Test.java:3234:24:3234:31 | source(...) : Object | Test.java:3234:16:3234:31 | (...)... : String | provenance | | +| Test.java:3236:10:3236:29 | test(...) : JsonPatchBuilder | Test.java:3237:9:3237:11 | out | provenance | | +| Test.java:3236:24:3236:25 | in : String | Test.java:3236:10:3236:29 | test(...) : JsonPatchBuilder | provenance | MaD:227 | +| Test.java:3242:16:3242:31 | (...)... : String | Test.java:3244:24:3244:25 | in : String | provenance | | +| Test.java:3242:24:3242:31 | source(...) : Object | Test.java:3242:16:3242:31 | (...)... : String | provenance | | +| Test.java:3244:10:3244:54 | test(...) : JsonPatchBuilder | Test.java:3245:9:3245:11 | out | provenance | | +| Test.java:3244:24:3244:25 | in : String | Test.java:3244:10:3244:54 | test(...) : JsonPatchBuilder | provenance | MaD:227 | +| Test.java:3250:16:3250:31 | (...)... : String | Test.java:3252:24:3252:25 | in : String | provenance | | +| Test.java:3250:24:3250:31 | source(...) : Object | Test.java:3250:16:3250:31 | (...)... : String | provenance | | +| Test.java:3252:10:3252:40 | test(...) : JsonPatchBuilder | Test.java:3253:9:3253:11 | out | provenance | | +| Test.java:3252:24:3252:25 | in : String | Test.java:3252:10:3252:40 | test(...) : JsonPatchBuilder | provenance | MaD:227 | +| Test.java:3258:16:3258:31 | (...)... : String | Test.java:3260:38:3260:39 | in : String | provenance | | +| Test.java:3258:24:3258:31 | source(...) : Object | Test.java:3258:16:3258:31 | (...)... : String | provenance | | +| Test.java:3260:10:3260:40 | test(...) : JsonPatchBuilder | Test.java:3261:9:3261:11 | out | provenance | | +| Test.java:3260:38:3260:39 | in : String | Test.java:3260:10:3260:40 | test(...) : JsonPatchBuilder | provenance | MaD:227 | +| Test.java:3266:32:3266:63 | (...)... : JsonPointer | Test.java:3267:10:3267:11 | in : JsonPointer | provenance | | +| Test.java:3266:56:3266:63 | source(...) : Object | Test.java:3266:32:3266:63 | (...)... : JsonPointer | provenance | | +| Test.java:3267:10:3267:11 | in : JsonPointer | Test.java:3267:10:3267:27 | add(...) : JsonStructure | provenance | MaD:228 | +| Test.java:3267:10:3267:27 | add(...) : JsonStructure | Test.java:3268:9:3268:11 | out | provenance | | +| Test.java:3273:30:3273:59 | (...)... : JsonValue | Test.java:3275:29:3275:30 | in : JsonValue | provenance | | +| Test.java:3273:52:3273:59 | source(...) : Object | Test.java:3273:30:3273:59 | (...)... : JsonValue | provenance | | +| Test.java:3275:10:3275:31 | add(...) : JsonStructure | Test.java:3276:9:3276:11 | out | provenance | | +| Test.java:3275:29:3275:30 | in : JsonValue | Test.java:3275:10:3275:31 | add(...) : JsonStructure | provenance | MaD:229 | +| Test.java:3281:34:3281:67 | (...)... : JsonStructure | Test.java:3283:23:3283:24 | in : JsonStructure | provenance | | +| Test.java:3281:60:3281:67 | source(...) : Object | Test.java:3281:34:3281:67 | (...)... : JsonStructure | provenance | | +| Test.java:3283:10:3283:31 | add(...) : JsonStructure | Test.java:3284:9:3284:11 | out | provenance | | +| Test.java:3283:23:3283:24 | in : JsonStructure | Test.java:3283:10:3283:31 | add(...) : JsonStructure | provenance | MaD:229 | +| Test.java:3289:34:3289:67 | (...)... : JsonStructure | Test.java:3291:28:3291:29 | in : JsonStructure | provenance | | +| Test.java:3289:60:3289:67 | source(...) : Object | Test.java:3289:34:3289:67 | (...)... : JsonStructure | provenance | | +| Test.java:3291:10:3291:30 | getValue(...) : JsonValue | Test.java:3292:9:3292:11 | out | provenance | | +| Test.java:3291:28:3291:29 | in : JsonStructure | Test.java:3291:10:3291:30 | getValue(...) : JsonValue | provenance | MaD:230 | +| Test.java:3297:34:3297:67 | (...)... : JsonStructure | Test.java:3299:26:3299:27 | in : JsonStructure | provenance | | +| Test.java:3297:60:3297:67 | source(...) : Object | Test.java:3297:34:3297:67 | (...)... : JsonStructure | provenance | | +| Test.java:3299:10:3299:28 | remove(...) : JsonStructure | Test.java:3300:9:3300:11 | out | provenance | | +| Test.java:3299:26:3299:27 | in : JsonStructure | Test.java:3299:10:3299:28 | remove(...) : JsonStructure | provenance | MaD:231 | +| Test.java:3305:30:3305:59 | (...)... : JsonValue | Test.java:3307:33:3307:34 | in : JsonValue | provenance | | +| Test.java:3305:52:3305:59 | source(...) : Object | Test.java:3305:30:3305:59 | (...)... : JsonValue | provenance | | +| Test.java:3307:10:3307:35 | replace(...) : JsonStructure | Test.java:3308:9:3308:11 | out | provenance | | +| Test.java:3307:33:3307:34 | in : JsonValue | Test.java:3307:10:3307:35 | replace(...) : JsonStructure | provenance | MaD:232 | +| Test.java:3313:34:3313:67 | (...)... : JsonStructure | Test.java:3315:27:3315:28 | in : JsonStructure | provenance | | +| Test.java:3313:60:3313:67 | source(...) : Object | Test.java:3313:34:3313:67 | (...)... : JsonStructure | provenance | | +| Test.java:3315:10:3315:35 | replace(...) : JsonStructure | Test.java:3316:9:3316:11 | out | provenance | | +| Test.java:3315:27:3315:28 | in : JsonStructure | Test.java:3315:10:3315:35 | replace(...) : JsonStructure | provenance | MaD:232 | +| Test.java:3321:31:3321:61 | (...)... : JsonReader | Test.java:3322:10:3322:11 | in : JsonReader | provenance | | +| Test.java:3321:54:3321:61 | source(...) : Object | Test.java:3321:31:3321:61 | (...)... : JsonReader | provenance | | +| Test.java:3322:10:3322:11 | in : JsonReader | Test.java:3322:10:3322:18 | read(...) : JsonStructure | provenance | MaD:233 | +| Test.java:3322:10:3322:18 | read(...) : JsonStructure | Test.java:3323:9:3323:11 | out | provenance | | +| Test.java:3328:31:3328:61 | (...)... : JsonReader | Test.java:3329:10:3329:11 | in : JsonReader | provenance | | +| Test.java:3328:54:3328:61 | source(...) : Object | Test.java:3328:31:3328:61 | (...)... : JsonReader | provenance | | +| Test.java:3329:10:3329:11 | in : JsonReader | Test.java:3329:10:3329:23 | readArray(...) : JsonArray | provenance | MaD:234 | +| Test.java:3329:10:3329:23 | readArray(...) : JsonArray | Test.java:3330:9:3330:11 | out | provenance | | +| Test.java:3335:31:3335:61 | (...)... : JsonReader | Test.java:3336:10:3336:11 | in : JsonReader | provenance | | +| Test.java:3335:54:3335:61 | source(...) : Object | Test.java:3335:31:3335:61 | (...)... : JsonReader | provenance | | +| Test.java:3336:10:3336:11 | in : JsonReader | Test.java:3336:10:3336:24 | readObject(...) : JsonObject | provenance | MaD:235 | +| Test.java:3336:10:3336:24 | readObject(...) : JsonObject | Test.java:3337:9:3337:11 | out | provenance | | +| Test.java:3342:31:3342:61 | (...)... : JsonReader | Test.java:3343:10:3343:11 | in : JsonReader | provenance | | +| Test.java:3342:54:3342:61 | source(...) : Object | Test.java:3342:31:3342:61 | (...)... : JsonReader | provenance | | +| Test.java:3343:10:3343:11 | in : JsonReader | Test.java:3343:10:3343:23 | readValue(...) : JsonValue | provenance | MaD:236 | +| Test.java:3343:10:3343:23 | readValue(...) : JsonValue | Test.java:3344:9:3344:11 | out | provenance | | +| Test.java:3349:16:3349:31 | (...)... : Reader | Test.java:3351:32:3351:33 | in : Reader | provenance | | +| Test.java:3349:24:3349:31 | source(...) : Object | Test.java:3349:16:3349:31 | (...)... : Reader | provenance | | +| Test.java:3351:10:3351:34 | createReader(...) : JsonReader | Test.java:3352:9:3352:11 | out | provenance | | +| Test.java:3351:32:3351:33 | in : Reader | Test.java:3351:10:3351:34 | createReader(...) : JsonReader | provenance | MaD:237 | +| Test.java:3357:21:3357:41 | (...)... : InputStream | Test.java:3359:32:3359:33 | in : InputStream | provenance | | +| Test.java:3357:34:3357:41 | source(...) : Object | Test.java:3357:21:3357:41 | (...)... : InputStream | provenance | | +| Test.java:3359:10:3359:40 | createReader(...) : JsonReader | Test.java:3360:9:3360:11 | out | provenance | | +| Test.java:3359:32:3359:33 | in : InputStream | Test.java:3359:10:3359:40 | createReader(...) : JsonReader | provenance | MaD:237 | +| Test.java:3365:21:3365:41 | (...)... : InputStream | Test.java:3367:32:3367:33 | in : InputStream | provenance | | +| Test.java:3365:34:3365:41 | source(...) : Object | Test.java:3365:21:3365:41 | (...)... : InputStream | provenance | | +| Test.java:3367:10:3367:34 | createReader(...) : JsonReader | Test.java:3368:9:3368:11 | out | provenance | | +| Test.java:3367:32:3367:33 | in : InputStream | Test.java:3367:10:3367:34 | createReader(...) : JsonReader | provenance | MaD:237 | +| Test.java:3373:31:3373:61 | (...)... : JsonString | Test.java:3374:10:3374:11 | in : JsonString | provenance | | +| Test.java:3373:54:3373:61 | source(...) : Object | Test.java:3373:31:3373:61 | (...)... : JsonString | provenance | | +| Test.java:3374:10:3374:11 | in : JsonString | Test.java:3374:10:3374:22 | getChars(...) : CharSequence | provenance | MaD:238 | +| Test.java:3374:10:3374:22 | getChars(...) : CharSequence | Test.java:3375:9:3375:11 | out | provenance | | +| Test.java:3380:31:3380:61 | (...)... : JsonString | Test.java:3381:10:3381:11 | in : JsonString | provenance | | +| Test.java:3380:54:3380:61 | source(...) : Object | Test.java:3380:31:3380:61 | (...)... : JsonString | provenance | | +| Test.java:3381:10:3381:11 | in : JsonString | Test.java:3381:10:3381:23 | getString(...) : String | provenance | MaD:239 | +| Test.java:3381:10:3381:23 | getString(...) : String | Test.java:3382:9:3382:11 | out | provenance | | +| Test.java:3387:34:3387:67 | (...)... : JsonStructure | Test.java:3388:10:3388:11 | in : JsonStructure | provenance | | +| Test.java:3387:60:3387:67 | source(...) : Object | Test.java:3387:34:3387:67 | (...)... : JsonStructure | provenance | | +| Test.java:3388:10:3388:11 | in : JsonStructure | Test.java:3388:10:3388:26 | getValue(...) : JsonValue | provenance | MaD:240 | +| Test.java:3388:10:3388:26 | getValue(...) : JsonValue | Test.java:3389:9:3389:11 | out | provenance | | +| Test.java:3394:30:3394:59 | (...)... : JsonValue | Test.java:3395:10:3395:11 | in : JsonValue | provenance | | +| Test.java:3394:52:3394:59 | source(...) : Object | Test.java:3394:30:3394:59 | (...)... : JsonValue | provenance | | +| Test.java:3395:10:3395:11 | in : JsonValue | Test.java:3395:10:3395:25 | asJsonArray(...) : JsonArray | provenance | MaD:241 | +| Test.java:3395:10:3395:25 | asJsonArray(...) : JsonArray | Test.java:3396:9:3396:11 | out | provenance | | +| Test.java:3401:30:3401:59 | (...)... : JsonValue | Test.java:3402:10:3402:11 | in : JsonValue | provenance | | +| Test.java:3401:52:3401:59 | source(...) : Object | Test.java:3401:30:3401:59 | (...)... : JsonValue | provenance | | +| Test.java:3402:10:3402:11 | in : JsonValue | Test.java:3402:10:3402:26 | asJsonObject(...) : JsonObject | provenance | MaD:242 | +| Test.java:3402:10:3402:26 | asJsonObject(...) : JsonObject | Test.java:3403:9:3403:11 | out | provenance | | +| Test.java:3408:30:3408:59 | (...)... : JsonValue | Test.java:3409:10:3409:11 | in : JsonValue | provenance | | +| Test.java:3408:52:3408:59 | source(...) : Object | Test.java:3408:30:3408:59 | (...)... : JsonValue | provenance | | +| Test.java:3409:10:3409:11 | in : JsonValue | Test.java:3409:10:3409:22 | toString(...) : String | provenance | MaD:243 | +| Test.java:3409:10:3409:22 | toString(...) : String | Test.java:3410:9:3410:11 | out | provenance | | +| Test.java:3415:31:3415:61 | (...)... : JsonNumber | Test.java:3416:10:3416:11 | in : JsonNumber | provenance | | +| Test.java:3415:54:3415:61 | source(...) : Object | Test.java:3415:31:3415:61 | (...)... : JsonNumber | provenance | | +| Test.java:3416:10:3416:11 | in : JsonNumber | Test.java:3416:10:3416:22 | toString(...) : String | provenance | MaD:243 | +| Test.java:3416:10:3416:22 | toString(...) : String | Test.java:3417:9:3417:11 | out | provenance | | +| Test.java:3422:30:3422:59 | (...)... : JsonValue | Test.java:3423:14:3423:15 | in : JsonValue | provenance | | +| Test.java:3422:52:3422:59 | source(...) : Object | Test.java:3422:30:3422:59 | (...)... : JsonValue | provenance | | +| Test.java:3423:4:3423:6 | out [post update] : JsonWriter | Test.java:3424:9:3424:11 | out | provenance | | +| Test.java:3423:14:3423:15 | in : JsonValue | Test.java:3423:4:3423:6 | out [post update] : JsonWriter | provenance | MaD:244 | +| Test.java:3429:34:3429:67 | (...)... : JsonStructure | Test.java:3430:14:3430:15 | in : JsonStructure | provenance | | +| Test.java:3429:60:3429:67 | source(...) : Object | Test.java:3429:34:3429:67 | (...)... : JsonStructure | provenance | | +| Test.java:3430:4:3430:6 | out [post update] : JsonWriter | Test.java:3431:9:3431:11 | out | provenance | | +| Test.java:3430:14:3430:15 | in : JsonStructure | Test.java:3430:4:3430:6 | out [post update] : JsonWriter | provenance | MaD:244 | +| Test.java:3436:30:3436:59 | (...)... : JsonArray | Test.java:3437:19:3437:20 | in : JsonArray | provenance | | +| Test.java:3436:52:3436:59 | source(...) : Object | Test.java:3436:30:3436:59 | (...)... : JsonArray | provenance | | +| Test.java:3437:4:3437:6 | out [post update] : JsonWriter | Test.java:3438:9:3438:11 | out | provenance | | +| Test.java:3437:19:3437:20 | in : JsonArray | Test.java:3437:4:3437:6 | out [post update] : JsonWriter | provenance | MaD:245 | +| Test.java:3443:31:3443:61 | (...)... : JsonObject | Test.java:3444:20:3444:21 | in : JsonObject | provenance | | +| Test.java:3443:54:3443:61 | source(...) : Object | Test.java:3443:31:3443:61 | (...)... : JsonObject | provenance | | +| Test.java:3444:4:3444:6 | out [post update] : JsonWriter | Test.java:3445:9:3445:11 | out | provenance | | +| Test.java:3444:20:3444:21 | in : JsonObject | Test.java:3444:4:3444:6 | out [post update] : JsonWriter | provenance | MaD:246 | +| Test.java:3450:38:3450:75 | (...)... : JsonWriterFactory | Test.java:3451:4:3451:5 | in : JsonWriterFactory | provenance | | +| Test.java:3450:68:3450:75 | source(...) : Object | Test.java:3450:38:3450:75 | (...)... : JsonWriterFactory | provenance | | +| Test.java:3451:4:3451:5 | in : JsonWriterFactory | Test.java:3451:20:3451:22 | out [post update] : Writer | provenance | MaD:247 | +| Test.java:3451:20:3451:22 | out [post update] : Writer | Test.java:3452:9:3452:11 | out | provenance | | +| Test.java:3457:38:3457:75 | (...)... : JsonWriterFactory | Test.java:3458:4:3458:5 | in : JsonWriterFactory | provenance | | +| Test.java:3457:68:3457:75 | source(...) : Object | Test.java:3457:38:3457:75 | (...)... : JsonWriterFactory | provenance | | +| Test.java:3458:4:3458:5 | in : JsonWriterFactory | Test.java:3458:20:3458:22 | out [post update] : OutputStream | provenance | MaD:247 | +| Test.java:3458:20:3458:22 | out [post update] : OutputStream | Test.java:3459:9:3459:11 | out | provenance | | +| Test.java:3464:38:3464:75 | (...)... : JsonWriterFactory | Test.java:3465:4:3465:5 | in : JsonWriterFactory | provenance | | +| Test.java:3464:68:3464:75 | source(...) : Object | Test.java:3464:38:3464:75 | (...)... : JsonWriterFactory | provenance | | +| Test.java:3465:4:3465:5 | in : JsonWriterFactory | Test.java:3465:20:3465:22 | out [post update] : OutputStream | provenance | MaD:247 | +| Test.java:3465:20:3465:22 | out [post update] : OutputStream | Test.java:3466:9:3466:11 | out | provenance | | +nodes +| Test.java:17:28:17:41 | element : Object | semmle.label | element : Object | +| Test.java:17:53:17:68 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:17:61:17:67 | element : Object | semmle.label | element : Object | +| Test.java:18:20:18:33 | element : Object | semmle.label | element : Object | +| Test.java:18:45:18:65 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:18:52:18:58 | element : Object | semmle.label | element : Object | +| Test.java:19:22:19:35 | element : Object | semmle.label | element : Object | +| Test.java:19:47:19:67 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:19:60:19:66 | element : Object | semmle.label | element : Object | +| Test.java:28:33:28:65 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:28:58:28:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:30:10:30:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:30:32:30:33 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:31:9:31:11 | out | semmle.label | out | +| Test.java:36:32:36:63 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:36:56:36:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:38:10:38:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:38:32:38:33 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:39:9:39:11 | out | semmle.label | out | +| Test.java:44:16:44:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:44:24:44:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:46:10:46:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:46:32:46:33 | in : Reader | semmle.label | in : Reader | +| Test.java:47:9:47:11 | out | semmle.label | out | +| Test.java:52:21:52:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:52:34:52:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:54:10:54:40 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:54:32:54:33 | in : InputStream | semmle.label | in : InputStream | +| Test.java:55:9:55:11 | out | semmle.label | out | +| Test.java:60:21:60:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:60:34:60:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:62:10:62:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:62:32:62:33 | in : InputStream | semmle.label | in : InputStream | +| Test.java:63:9:63:11 | out | semmle.label | out | +| Test.java:68:20:68:55 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:68:32:68:55 | newWithElement(...) : List [] : Object | semmle.label | newWithElement(...) : List [] : Object | +| Test.java:68:47:68:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:69:10:69:49 | createArrayBuilder(...) : JsonArrayBuilder | semmle.label | createArrayBuilder(...) : JsonArrayBuilder | +| Test.java:69:47:69:48 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:70:9:70:11 | out | semmle.label | out | +| Test.java:75:32:75:63 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:75:56:75:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:76:10:76:49 | createArrayBuilder(...) : JsonArrayBuilder | semmle.label | createArrayBuilder(...) : JsonArrayBuilder | +| Test.java:76:47:76:48 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:77:9:77:11 | out | semmle.label | out | +| Test.java:82:36:82:71 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:82:64:82:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:83:10:83:47 | createDiff(...) : JsonPatch | semmle.label | createDiff(...) : JsonPatch | +| Test.java:83:45:83:46 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:84:9:84:11 | out | semmle.label | out | +| Test.java:89:36:89:71 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:89:64:89:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:90:10:90:47 | createDiff(...) : JsonPatch | semmle.label | createDiff(...) : JsonPatch | +| Test.java:90:39:90:40 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:91:9:91:11 | out | semmle.label | out | +| Test.java:96:32:96:63 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:96:56:96:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:97:10:97:52 | createMergeDiff(...) : JsonMergePatch | semmle.label | createMergeDiff(...) : JsonMergePatch | +| Test.java:97:50:97:51 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:98:9:98:11 | out | semmle.label | out | +| Test.java:103:32:103:63 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:103:56:103:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:104:10:104:52 | createMergeDiff(...) : JsonMergePatch | semmle.label | createMergeDiff(...) : JsonMergePatch | +| Test.java:104:44:104:45 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:105:9:105:11 | out | semmle.label | out | +| Test.java:110:32:110:63 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:110:56:110:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:111:10:111:47 | createMergePatch(...) : JsonMergePatch | semmle.label | createMergePatch(...) : JsonMergePatch | +| Test.java:111:45:111:46 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:112:9:112:11 | out | semmle.label | out | +| Test.java:117:33:117:65 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:117:58:117:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:118:10:118:50 | createObjectBuilder(...) : JsonObjectBuilder | semmle.label | createObjectBuilder(...) : JsonObjectBuilder | +| Test.java:118:48:118:49 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:119:9:119:11 | out | semmle.label | out | +| Test.java:124:13:124:40 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:124:18:124:40 | newWithMapKey(...) : Map [] : Object | semmle.label | newWithMapKey(...) : Map [] : Object | +| Test.java:124:32:124:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:125:10:125:50 | createObjectBuilder(...) : JsonObjectBuilder | semmle.label | createObjectBuilder(...) : JsonObjectBuilder | +| Test.java:125:48:125:49 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:126:9:126:11 | out | semmle.label | out | +| Test.java:131:13:131:42 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:131:18:131:42 | newWithMapValue(...) : Map [] : Object | semmle.label | newWithMapValue(...) : Map [] : Object | +| Test.java:131:34:131:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:132:10:132:50 | createObjectBuilder(...) : JsonObjectBuilder | semmle.label | createObjectBuilder(...) : JsonObjectBuilder | +| Test.java:132:48:132:49 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:133:9:133:11 | out | semmle.label | out | +| Test.java:138:32:138:63 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:138:56:138:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:139:10:139:42 | createPatch(...) : JsonPatch | semmle.label | createPatch(...) : JsonPatch | +| Test.java:139:40:139:41 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:140:9:140:11 | out | semmle.label | out | +| Test.java:145:32:145:63 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:145:56:145:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:146:10:146:49 | createPatchBuilder(...) : JsonPatchBuilder | semmle.label | createPatchBuilder(...) : JsonPatchBuilder | +| Test.java:146:47:146:48 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:147:9:147:11 | out | semmle.label | out | +| Test.java:152:16:152:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:152:24:152:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:153:10:153:44 | createPointer(...) : JsonPointer | semmle.label | createPointer(...) : JsonPointer | +| Test.java:153:42:153:43 | in : String | semmle.label | in : String | +| Test.java:154:9:154:11 | out | semmle.label | out | +| Test.java:159:16:159:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:159:24:159:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:160:10:160:43 | createReader(...) : JsonReader | semmle.label | createReader(...) : JsonReader | +| Test.java:160:41:160:42 | in : Reader | semmle.label | in : Reader | +| Test.java:161:9:161:11 | out | semmle.label | out | +| Test.java:166:21:166:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:166:34:166:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:167:10:167:43 | createReader(...) : JsonReader | semmle.label | createReader(...) : JsonReader | +| Test.java:167:41:167:42 | in : InputStream | semmle.label | in : InputStream | +| Test.java:168:9:168:11 | out | semmle.label | out | +| Test.java:173:16:173:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:173:24:173:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:174:10:174:42 | createValue(...) : JsonString | semmle.label | createValue(...) : JsonString | +| Test.java:174:40:174:41 | in : String | semmle.label | in : String | +| Test.java:175:9:175:11 | out | semmle.label | out | +| Test.java:180:14:180:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:180:20:180:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:181:10:181:42 | createValue(...) : JsonNumber | semmle.label | createValue(...) : JsonNumber | +| Test.java:181:40:181:41 | in : Number | semmle.label | in : Number | +| Test.java:182:9:182:11 | out | semmle.label | out | +| Test.java:187:13:187:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:187:18:187:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:188:10:188:42 | createValue(...) : JsonNumber | semmle.label | createValue(...) : JsonNumber | +| Test.java:188:40:188:41 | in : Number | semmle.label | in : Number | +| Test.java:189:9:189:11 | out | semmle.label | out | +| Test.java:194:16:194:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:194:24:194:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:195:10:195:42 | createValue(...) : JsonNumber | semmle.label | createValue(...) : JsonNumber | +| Test.java:195:40:195:41 | in : Number | semmle.label | in : Number | +| Test.java:196:9:196:11 | out | semmle.label | out | +| Test.java:201:20:201:39 | (...)... : BigInteger | semmle.label | (...)... : BigInteger | +| Test.java:201:32:201:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:202:10:202:42 | createValue(...) : JsonNumber | semmle.label | createValue(...) : JsonNumber | +| Test.java:202:40:202:41 | in : BigInteger | semmle.label | in : BigInteger | +| Test.java:203:9:203:11 | out | semmle.label | out | +| Test.java:208:20:208:39 | (...)... : BigDecimal | semmle.label | (...)... : BigDecimal | +| Test.java:208:32:208:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:209:10:209:42 | createValue(...) : JsonNumber | semmle.label | createValue(...) : JsonNumber | +| Test.java:209:40:209:41 | in : BigDecimal | semmle.label | in : BigDecimal | +| Test.java:210:9:210:11 | out | semmle.label | out | +| Test.java:215:16:215:31 | (...)... : Writer | semmle.label | (...)... : Writer | +| Test.java:215:24:215:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:216:10:216:43 | createWriter(...) : JsonWriter | semmle.label | createWriter(...) : JsonWriter | +| Test.java:216:41:216:42 | in : Writer | semmle.label | in : Writer | +| Test.java:217:9:217:11 | out | semmle.label | out | +| Test.java:222:22:222:43 | (...)... : OutputStream | semmle.label | (...)... : OutputStream | +| Test.java:222:36:222:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:223:10:223:43 | createWriter(...) : JsonWriter | semmle.label | createWriter(...) : JsonWriter | +| Test.java:223:41:223:42 | in : OutputStream | semmle.label | in : OutputStream | +| Test.java:224:9:224:11 | out | semmle.label | out | +| Test.java:229:16:229:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:229:24:229:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:230:10:230:44 | decodePointer(...) : String | semmle.label | decodePointer(...) : String | +| Test.java:230:42:230:43 | in : String | semmle.label | in : String | +| Test.java:231:9:231:11 | out | semmle.label | out | +| Test.java:236:16:236:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:236:24:236:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:237:10:237:44 | encodePointer(...) : String | semmle.label | encodePointer(...) : String | +| Test.java:237:42:237:43 | in : String | semmle.label | in : String | +| Test.java:238:9:238:11 | out | semmle.label | out | +| Test.java:243:32:243:63 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:243:56:243:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:244:10:244:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:244:10:244:32 | getBoolean(...) : Boolean | semmle.label | getBoolean(...) : Boolean | +| Test.java:245:9:245:11 | out | semmle.label | out | +| Test.java:250:32:250:63 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:250:56:250:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:251:10:251:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:251:10:251:25 | getBoolean(...) : Boolean | semmle.label | getBoolean(...) : Boolean | +| Test.java:252:9:252:11 | out | semmle.label | out | +| Test.java:257:17:257:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:257:26:257:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:259:10:259:35 | getBoolean(...) : Boolean | semmle.label | getBoolean(...) : Boolean | +| Test.java:259:33:259:34 | in : Boolean | semmle.label | in : Boolean | +| Test.java:260:9:260:11 | out | semmle.label | out | +| Test.java:265:32:265:63 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:265:56:265:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:266:10:266:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:266:10:266:24 | getInt(...) : Number | semmle.label | getInt(...) : Number | +| Test.java:267:9:267:11 | out | semmle.label | out | +| Test.java:272:32:272:63 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:272:56:272:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:273:10:273:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:273:10:273:21 | getInt(...) : Number | semmle.label | getInt(...) : Number | +| Test.java:274:9:274:11 | out | semmle.label | out | +| Test.java:279:13:279:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:279:18:279:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:281:10:281:31 | getInt(...) : Number | semmle.label | getInt(...) : Number | +| Test.java:281:29:281:30 | in : Number | semmle.label | in : Number | +| Test.java:282:9:282:11 | out | semmle.label | out | +| Test.java:287:32:287:63 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:287:56:287:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:288:10:288:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:288:10:288:27 | getJsonArray(...) : JsonArray | semmle.label | getJsonArray(...) : JsonArray | +| Test.java:289:9:289:11 | out | semmle.label | out | +| Test.java:294:32:294:63 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:294:56:294:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:295:10:295:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:295:10:295:28 | getJsonNumber(...) : JsonNumber | semmle.label | getJsonNumber(...) : JsonNumber | +| Test.java:296:9:296:11 | out | semmle.label | out | +| Test.java:301:32:301:63 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:301:56:301:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:302:10:302:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:302:10:302:28 | getJsonObject(...) : JsonObject | semmle.label | getJsonObject(...) : JsonObject | +| Test.java:303:9:303:11 | out | semmle.label | out | +| Test.java:308:32:308:63 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:308:56:308:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:309:10:309:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:309:10:309:28 | getJsonString(...) : JsonString | semmle.label | getJsonString(...) : JsonString | +| Test.java:310:9:310:11 | out | semmle.label | out | +| Test.java:315:32:315:63 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:315:56:315:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:316:10:316:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:316:10:316:30 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:317:9:317:11 | out | semmle.label | out | +| Test.java:322:32:322:63 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:322:56:322:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:323:10:323:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:323:10:323:24 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:324:9:324:11 | out | semmle.label | out | +| Test.java:329:16:329:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:329:24:329:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:331:10:331:34 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:331:32:331:33 | in : String | semmle.label | in : String | +| Test.java:332:9:332:11 | out | semmle.label | out | +| Test.java:337:32:337:63 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:337:56:337:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:338:10:338:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:338:10:338:39 | getValuesAs(...) : List | semmle.label | getValuesAs(...) : List | +| Test.java:339:9:339:11 | out | semmle.label | out | +| Test.java:344:32:344:63 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:344:56:344:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:345:10:345:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:345:10:345:36 | getValuesAs(...) : List | semmle.label | getValuesAs(...) : List | +| Test.java:346:9:346:11 | out | semmle.label | out | +| Test.java:351:20:351:39 | (...)... : BigDecimal | semmle.label | (...)... : BigDecimal | +| Test.java:351:32:351:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:352:4:352:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:352:12:352:13 | in : BigDecimal | semmle.label | in : BigDecimal | +| Test.java:353:9:353:11 | out | semmle.label | out | +| Test.java:358:20:358:39 | (...)... : BigInteger | semmle.label | (...)... : BigInteger | +| Test.java:358:32:358:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:359:4:359:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:359:12:359:13 | in : BigInteger | semmle.label | in : BigInteger | +| Test.java:360:9:360:11 | out | semmle.label | out | +| Test.java:365:39:365:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:365:70:365:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:366:4:366:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:366:12:366:13 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:367:9:367:11 | out | semmle.label | out | +| Test.java:372:40:372:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:372:72:372:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:373:4:373:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:373:12:373:13 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:374:9:374:11 | out | semmle.label | out | +| Test.java:379:32:379:63 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:379:56:379:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:380:4:380:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:380:12:380:13 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:381:9:381:11 | out | semmle.label | out | +| Test.java:386:16:386:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:386:24:386:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:387:4:387:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:387:12:387:13 | in : String | semmle.label | in : String | +| Test.java:388:9:388:11 | out | semmle.label | out | +| Test.java:393:17:393:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:393:26:393:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:394:4:394:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:394:12:394:13 | in : Boolean | semmle.label | in : Boolean | +| Test.java:395:9:395:11 | out | semmle.label | out | +| Test.java:400:16:400:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:400:24:400:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:401:4:401:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:401:12:401:13 | in : Number | semmle.label | in : Number | +| Test.java:402:9:402:11 | out | semmle.label | out | +| Test.java:407:13:407:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:407:18:407:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:408:4:408:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:408:12:408:13 | in : Number | semmle.label | in : Number | +| Test.java:409:9:409:11 | out | semmle.label | out | +| Test.java:414:20:414:39 | (...)... : BigDecimal | semmle.label | (...)... : BigDecimal | +| Test.java:414:32:414:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:415:4:415:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:415:15:415:16 | in : BigDecimal | semmle.label | in : BigDecimal | +| Test.java:416:9:416:11 | out | semmle.label | out | +| Test.java:421:20:421:39 | (...)... : BigInteger | semmle.label | (...)... : BigInteger | +| Test.java:421:32:421:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:422:4:422:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:422:15:422:16 | in : BigInteger | semmle.label | in : BigInteger | +| Test.java:423:9:423:11 | out | semmle.label | out | +| Test.java:428:39:428:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:428:70:428:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:429:4:429:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:429:15:429:16 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:430:9:430:11 | out | semmle.label | out | +| Test.java:435:40:435:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:435:72:435:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:436:4:436:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:436:15:436:16 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:437:9:437:11 | out | semmle.label | out | +| Test.java:442:32:442:63 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:442:56:442:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:443:4:443:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:443:15:443:16 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:444:9:444:11 | out | semmle.label | out | +| Test.java:449:16:449:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:449:24:449:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:450:4:450:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:450:15:450:16 | in : String | semmle.label | in : String | +| Test.java:451:9:451:11 | out | semmle.label | out | +| Test.java:456:17:456:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:456:26:456:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:457:4:457:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:457:15:457:16 | in : Boolean | semmle.label | in : Boolean | +| Test.java:458:9:458:11 | out | semmle.label | out | +| Test.java:463:16:463:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:463:24:463:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:464:4:464:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:464:15:464:16 | in : Number | semmle.label | in : Number | +| Test.java:465:9:465:11 | out | semmle.label | out | +| Test.java:470:13:470:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:470:18:470:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:471:4:471:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:471:15:471:16 | in : Number | semmle.label | in : Number | +| Test.java:472:9:472:11 | out | semmle.label | out | +| Test.java:477:14:477:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:477:20:477:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:478:4:478:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:478:15:478:16 | in : Number | semmle.label | in : Number | +| Test.java:479:9:479:11 | out | semmle.label | out | +| Test.java:484:14:484:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:484:20:484:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:485:4:485:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:485:12:485:13 | in : Number | semmle.label | in : Number | +| Test.java:486:9:486:11 | out | semmle.label | out | +| Test.java:491:39:491:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:491:70:491:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:492:10:492:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:492:10:492:22 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:493:9:493:11 | out | semmle.label | out | +| Test.java:498:39:498:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:498:70:498:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:499:10:499:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:499:10:499:19 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:500:9:500:11 | out | semmle.label | out | +| Test.java:505:39:505:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:505:70:505:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:506:10:506:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:506:10:506:20 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:507:9:507:11 | out | semmle.label | out | +| Test.java:512:39:512:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:512:70:512:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:513:10:513:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:513:10:513:25 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:514:9:514:11 | out | semmle.label | out | +| Test.java:519:39:519:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:519:70:519:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:520:10:520:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:520:10:520:22 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:521:9:521:11 | out | semmle.label | out | +| Test.java:526:39:526:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:526:70:526:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:527:10:527:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:527:10:527:23 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:528:9:528:11 | out | semmle.label | out | +| Test.java:533:39:533:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:533:70:533:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:534:10:534:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:534:10:534:21 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:535:9:535:11 | out | semmle.label | out | +| Test.java:540:39:540:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:540:70:540:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:541:10:541:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:541:10:541:48 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:542:9:542:11 | out | semmle.label | out | +| Test.java:547:39:547:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:547:70:547:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:548:10:548:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:548:10:548:56 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:549:9:549:11 | out | semmle.label | out | +| Test.java:554:39:554:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:554:70:554:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:555:10:555:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:555:10:555:55 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:556:9:556:11 | out | semmle.label | out | +| Test.java:561:39:561:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:561:70:561:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:562:10:562:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:562:10:562:32 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:563:9:563:11 | out | semmle.label | out | +| Test.java:568:39:568:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:568:70:568:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:569:10:569:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:569:10:569:36 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:570:9:570:11 | out | semmle.label | out | +| Test.java:575:39:575:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:575:70:575:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:576:10:576:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:576:10:576:36 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:577:9:577:11 | out | semmle.label | out | +| Test.java:582:39:582:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:582:70:582:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:583:10:583:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:583:10:583:18 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:584:9:584:11 | out | semmle.label | out | +| Test.java:589:39:589:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:589:70:589:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:590:10:590:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:590:10:590:45 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:591:9:591:11 | out | semmle.label | out | +| Test.java:596:39:596:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:596:70:596:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:597:10:597:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:597:10:597:53 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:598:9:598:11 | out | semmle.label | out | +| Test.java:603:39:603:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:603:70:603:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:604:10:604:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:604:10:604:52 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:605:9:605:11 | out | semmle.label | out | +| Test.java:610:39:610:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:610:70:610:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:611:10:611:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:611:10:611:29 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:612:9:612:11 | out | semmle.label | out | +| Test.java:617:39:617:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:617:70:617:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:618:10:618:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:618:10:618:33 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:619:9:619:11 | out | semmle.label | out | +| Test.java:624:39:624:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:624:70:624:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:625:10:625:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:625:10:625:33 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:626:9:626:11 | out | semmle.label | out | +| Test.java:631:39:631:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:631:70:631:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:632:10:632:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:632:10:632:24 | addAll(...) : JsonArrayBuilder | semmle.label | addAll(...) : JsonArrayBuilder | +| Test.java:633:9:633:11 | out | semmle.label | out | +| Test.java:638:39:638:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:638:70:638:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:639:4:639:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:639:15:639:16 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:640:9:640:11 | out | semmle.label | out | +| Test.java:645:39:645:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:645:70:645:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:646:10:646:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:646:10:646:22 | addNull(...) : JsonArrayBuilder | semmle.label | addNull(...) : JsonArrayBuilder | +| Test.java:647:9:647:11 | out | semmle.label | out | +| Test.java:652:39:652:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:652:70:652:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:653:10:653:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:653:10:653:21 | addNull(...) : JsonArrayBuilder | semmle.label | addNull(...) : JsonArrayBuilder | +| Test.java:654:9:654:11 | out | semmle.label | out | +| Test.java:659:39:659:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:659:70:659:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:660:10:660:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:660:10:660:19 | build(...) : JsonArray | semmle.label | build(...) : JsonArray | +| Test.java:661:9:661:11 | out | semmle.label | out | +| Test.java:666:39:666:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:666:70:666:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:667:10:667:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:667:10:667:21 | remove(...) : JsonArrayBuilder | semmle.label | remove(...) : JsonArrayBuilder | +| Test.java:668:9:668:11 | out | semmle.label | out | +| Test.java:673:39:673:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:673:70:673:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:674:10:674:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:674:10:674:25 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:675:9:675:11 | out | semmle.label | out | +| Test.java:680:39:680:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:680:70:680:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:681:10:681:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:681:10:681:22 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:682:9:682:11 | out | semmle.label | out | +| Test.java:687:39:687:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:687:70:687:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:688:10:688:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:688:10:688:23 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:689:9:689:11 | out | semmle.label | out | +| Test.java:694:39:694:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:694:70:694:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:695:10:695:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:695:10:695:21 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:696:9:696:11 | out | semmle.label | out | +| Test.java:701:39:701:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:701:70:701:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:702:10:702:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:702:10:702:48 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:703:9:703:11 | out | semmle.label | out | +| Test.java:708:39:708:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:708:70:708:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:709:10:709:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:709:10:709:56 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:710:9:710:11 | out | semmle.label | out | +| Test.java:715:39:715:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:715:70:715:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:716:10:716:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:716:10:716:55 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:717:9:717:11 | out | semmle.label | out | +| Test.java:722:39:722:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:722:70:722:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:723:10:723:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:723:10:723:32 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:724:9:724:11 | out | semmle.label | out | +| Test.java:729:39:729:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:729:70:729:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:730:10:730:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:730:10:730:36 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:731:9:731:11 | out | semmle.label | out | +| Test.java:736:39:736:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:736:70:736:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:737:10:737:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:737:10:737:36 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:738:9:738:11 | out | semmle.label | out | +| Test.java:743:14:743:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:743:20:743:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:744:4:744:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:744:15:744:16 | in : Number | semmle.label | in : Number | +| Test.java:745:9:745:11 | out | semmle.label | out | +| Test.java:750:32:750:63 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:750:56:750:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:751:4:751:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:751:15:751:16 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:752:9:752:11 | out | semmle.label | out | +| Test.java:757:40:757:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:757:72:757:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:758:4:758:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:758:15:758:16 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:759:9:759:11 | out | semmle.label | out | +| Test.java:764:39:764:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:764:70:764:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:765:4:765:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:765:15:765:16 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:766:9:766:11 | out | semmle.label | out | +| Test.java:771:13:771:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:771:18:771:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:772:4:772:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:772:15:772:16 | in : Number | semmle.label | in : Number | +| Test.java:773:9:773:11 | out | semmle.label | out | +| Test.java:778:16:778:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:778:24:778:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:779:4:779:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:779:15:779:16 | in : Number | semmle.label | in : Number | +| Test.java:780:9:780:11 | out | semmle.label | out | +| Test.java:785:17:785:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:785:26:785:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:786:4:786:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:786:15:786:16 | in : Boolean | semmle.label | in : Boolean | +| Test.java:787:9:787:11 | out | semmle.label | out | +| Test.java:792:16:792:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:792:24:792:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:793:4:793:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:793:15:793:16 | in : String | semmle.label | in : String | +| Test.java:794:9:794:11 | out | semmle.label | out | +| Test.java:799:20:799:39 | (...)... : BigInteger | semmle.label | (...)... : BigInteger | +| Test.java:799:32:799:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:800:4:800:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:800:15:800:16 | in : BigInteger | semmle.label | in : BigInteger | +| Test.java:801:9:801:11 | out | semmle.label | out | +| Test.java:806:20:806:39 | (...)... : BigDecimal | semmle.label | (...)... : BigDecimal | +| Test.java:806:32:806:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:807:4:807:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:807:15:807:16 | in : BigDecimal | semmle.label | in : BigDecimal | +| Test.java:808:9:808:11 | out | semmle.label | out | +| Test.java:813:39:813:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:813:70:813:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:814:10:814:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:814:10:814:22 | setNull(...) : JsonArrayBuilder | semmle.label | setNull(...) : JsonArrayBuilder | +| Test.java:815:9:815:11 | out | semmle.label | out | +| Test.java:820:37:820:73 | (...)... : JsonMergePatch | semmle.label | (...)... : JsonMergePatch | +| Test.java:820:66:820:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:821:10:821:11 | in : JsonMergePatch | semmle.label | in : JsonMergePatch | +| Test.java:821:10:821:23 | apply(...) : JsonValue | semmle.label | apply(...) : JsonValue | +| Test.java:822:9:822:11 | out | semmle.label | out | +| Test.java:827:32:827:63 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:827:56:827:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:829:10:829:27 | apply(...) : JsonValue | semmle.label | apply(...) : JsonValue | +| Test.java:829:25:829:26 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:830:9:830:11 | out | semmle.label | out | +| Test.java:835:37:835:73 | (...)... : JsonMergePatch | semmle.label | (...)... : JsonMergePatch | +| Test.java:835:66:835:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:836:10:836:11 | in : JsonMergePatch | semmle.label | in : JsonMergePatch | +| Test.java:836:10:836:25 | toJsonValue(...) : JsonValue | semmle.label | toJsonValue(...) : JsonValue | +| Test.java:837:9:837:11 | out | semmle.label | out | +| Test.java:842:33:842:65 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:842:58:842:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:843:10:843:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:843:10:843:29 | bigDecimalValue(...) : BigDecimal | semmle.label | bigDecimalValue(...) : BigDecimal | +| Test.java:844:9:844:11 | out | semmle.label | out | +| Test.java:849:33:849:65 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:849:58:849:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:850:10:850:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:850:10:850:29 | bigIntegerValue(...) : BigInteger | semmle.label | bigIntegerValue(...) : BigInteger | +| Test.java:851:9:851:11 | out | semmle.label | out | +| Test.java:856:33:856:65 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:856:58:856:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:857:10:857:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:857:10:857:34 | bigIntegerValueExact(...) : BigInteger | semmle.label | bigIntegerValueExact(...) : BigInteger | +| Test.java:858:9:858:11 | out | semmle.label | out | +| Test.java:863:33:863:65 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:863:58:863:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:864:10:864:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:864:10:864:25 | doubleValue(...) : Number | semmle.label | doubleValue(...) : Number | +| Test.java:865:9:865:11 | out | semmle.label | out | +| Test.java:870:33:870:65 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:870:58:870:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:871:10:871:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:871:10:871:22 | intValue(...) : Number | semmle.label | intValue(...) : Number | +| Test.java:872:9:872:11 | out | semmle.label | out | +| Test.java:877:33:877:65 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:877:58:877:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:878:10:878:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:878:10:878:27 | intValueExact(...) : Number | semmle.label | intValueExact(...) : Number | +| Test.java:879:9:879:11 | out | semmle.label | out | +| Test.java:884:33:884:65 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:884:58:884:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:885:10:885:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:885:10:885:23 | longValue(...) : Number | semmle.label | longValue(...) : Number | +| Test.java:886:9:886:11 | out | semmle.label | out | +| Test.java:891:33:891:65 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:891:58:891:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:892:10:892:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:892:10:892:28 | longValueExact(...) : Number | semmle.label | longValueExact(...) : Number | +| Test.java:893:9:893:11 | out | semmle.label | out | +| Test.java:898:33:898:65 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:898:58:898:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:899:10:899:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:899:10:899:25 | numberValue(...) : Number | semmle.label | numberValue(...) : Number | +| Test.java:900:9:900:11 | out | semmle.label | out | +| Test.java:905:33:905:65 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:905:58:905:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:906:10:906:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:906:10:906:35 | getBoolean(...) : Boolean | semmle.label | getBoolean(...) : Boolean | +| Test.java:907:9:907:11 | out | semmle.label | out | +| Test.java:912:33:912:65 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:912:58:912:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:913:10:913:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:913:10:913:28 | getBoolean(...) : Boolean | semmle.label | getBoolean(...) : Boolean | +| Test.java:914:9:914:11 | out | semmle.label | out | +| Test.java:919:17:919:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:919:26:919:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:921:10:921:38 | getBoolean(...) : Boolean | semmle.label | getBoolean(...) : Boolean | +| Test.java:921:36:921:37 | in : Boolean | semmle.label | in : Boolean | +| Test.java:922:9:922:11 | out | semmle.label | out | +| Test.java:927:33:927:65 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:927:58:927:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:928:10:928:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:928:10:928:27 | getInt(...) : Number | semmle.label | getInt(...) : Number | +| Test.java:929:9:929:11 | out | semmle.label | out | +| Test.java:934:33:934:65 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:934:58:934:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:935:10:935:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:935:10:935:24 | getInt(...) : Number | semmle.label | getInt(...) : Number | +| Test.java:936:9:936:11 | out | semmle.label | out | +| Test.java:941:13:941:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:941:18:941:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:943:10:943:34 | getInt(...) : Number | semmle.label | getInt(...) : Number | +| Test.java:943:32:943:33 | in : Number | semmle.label | in : Number | +| Test.java:944:9:944:11 | out | semmle.label | out | +| Test.java:949:33:949:65 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:949:58:949:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:950:10:950:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:950:10:950:30 | getJsonArray(...) : JsonArray | semmle.label | getJsonArray(...) : JsonArray | +| Test.java:951:9:951:11 | out | semmle.label | out | +| Test.java:956:33:956:65 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:956:58:956:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:957:10:957:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:957:10:957:31 | getJsonNumber(...) : JsonNumber | semmle.label | getJsonNumber(...) : JsonNumber | +| Test.java:958:9:958:11 | out | semmle.label | out | +| Test.java:963:33:963:65 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:963:58:963:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:964:10:964:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:964:10:964:31 | getJsonObject(...) : JsonObject | semmle.label | getJsonObject(...) : JsonObject | +| Test.java:965:9:965:11 | out | semmle.label | out | +| Test.java:970:33:970:65 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:970:58:970:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:971:10:971:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:971:10:971:31 | getJsonString(...) : JsonString | semmle.label | getJsonString(...) : JsonString | +| Test.java:972:9:972:11 | out | semmle.label | out | +| Test.java:977:33:977:65 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:977:58:977:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:978:10:978:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:978:10:978:33 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:979:9:979:11 | out | semmle.label | out | +| Test.java:984:33:984:65 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:984:58:984:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:985:10:985:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:985:10:985:27 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:986:9:986:11 | out | semmle.label | out | +| Test.java:991:16:991:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:991:24:991:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:993:10:993:37 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:993:35:993:36 | in : String | semmle.label | in : String | +| Test.java:994:9:994:11 | out | semmle.label | out | +| Test.java:999:40:999:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:999:72:999:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1000:10:1000:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:1000:10:1000:36 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:1001:9:1001:11 | out | semmle.label | out | +| Test.java:1006:40:1006:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:1006:72:1006:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1007:10:1007:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:1007:10:1007:33 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:1008:9:1008:11 | out | semmle.label | out | +| Test.java:1013:40:1013:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:1013:72:1013:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1014:10:1014:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:1014:10:1014:34 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:1015:9:1015:11 | out | semmle.label | out | +| Test.java:1020:40:1020:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:1020:72:1020:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1021:10:1021:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:1021:10:1021:32 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:1022:9:1022:11 | out | semmle.label | out | +| Test.java:1027:40:1027:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:1027:72:1027:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1028:10:1028:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:1028:10:1028:59 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:1029:9:1029:11 | out | semmle.label | out | +| Test.java:1034:40:1034:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:1034:72:1034:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1035:10:1035:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:1035:10:1035:67 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:1036:9:1036:11 | out | semmle.label | out | +| Test.java:1041:40:1041:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:1041:72:1041:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1042:10:1042:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:1042:10:1042:66 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:1043:9:1043:11 | out | semmle.label | out | +| Test.java:1048:40:1048:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:1048:72:1048:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1049:10:1049:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:1049:10:1049:43 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:1050:9:1050:11 | out | semmle.label | out | +| Test.java:1055:40:1055:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:1055:72:1055:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1056:10:1056:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:1056:10:1056:47 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:1057:9:1057:11 | out | semmle.label | out | +| Test.java:1062:40:1062:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:1062:72:1062:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1063:10:1063:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:1063:10:1063:47 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:1064:9:1064:11 | out | semmle.label | out | +| Test.java:1069:14:1069:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1069:20:1069:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1070:4:1070:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:1070:26:1070:27 | in : Number | semmle.label | in : Number | +| Test.java:1071:9:1071:11 | out | semmle.label | out | +| Test.java:1076:32:1076:63 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:1076:56:1076:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1077:4:1077:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:1077:26:1077:27 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:1078:9:1078:11 | out | semmle.label | out | +| Test.java:1083:40:1083:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:1083:72:1083:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1084:4:1084:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:1084:26:1084:27 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:1085:9:1085:11 | out | semmle.label | out | +| Test.java:1090:39:1090:77 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:1090:70:1090:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1091:4:1091:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:1091:26:1091:27 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:1092:9:1092:11 | out | semmle.label | out | +| Test.java:1097:13:1097:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1097:18:1097:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1098:4:1098:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:1098:26:1098:27 | in : Number | semmle.label | in : Number | +| Test.java:1099:9:1099:11 | out | semmle.label | out | +| Test.java:1104:16:1104:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1104:24:1104:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1105:4:1105:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:1105:26:1105:27 | in : Number | semmle.label | in : Number | +| Test.java:1106:9:1106:11 | out | semmle.label | out | +| Test.java:1111:17:1111:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:1111:26:1111:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1112:4:1112:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:1112:26:1112:27 | in : Boolean | semmle.label | in : Boolean | +| Test.java:1113:9:1113:11 | out | semmle.label | out | +| Test.java:1118:16:1118:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1118:24:1118:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1119:4:1119:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:1119:26:1119:27 | in : String | semmle.label | in : String | +| Test.java:1120:9:1120:11 | out | semmle.label | out | +| Test.java:1125:20:1125:39 | (...)... : BigInteger | semmle.label | (...)... : BigInteger | +| Test.java:1125:32:1125:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1126:4:1126:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:1126:26:1126:27 | in : BigInteger | semmle.label | in : BigInteger | +| Test.java:1127:9:1127:11 | out | semmle.label | out | +| Test.java:1132:20:1132:39 | (...)... : BigDecimal | semmle.label | (...)... : BigDecimal | +| Test.java:1132:32:1132:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1133:4:1133:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:1133:26:1133:27 | in : BigDecimal | semmle.label | in : BigDecimal | +| Test.java:1134:9:1134:11 | out | semmle.label | out | +| Test.java:1139:40:1139:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:1139:72:1139:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1140:10:1140:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:1140:10:1140:24 | addAll(...) : JsonObjectBuilder | semmle.label | addAll(...) : JsonObjectBuilder | +| Test.java:1141:9:1141:11 | out | semmle.label | out | +| Test.java:1146:40:1146:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:1146:72:1146:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1148:10:1148:28 | addAll(...) : JsonObjectBuilder | semmle.label | addAll(...) : JsonObjectBuilder | +| Test.java:1148:26:1148:27 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:1149:9:1149:11 | out | semmle.label | out | +| Test.java:1154:40:1154:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:1154:72:1154:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1155:10:1155:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:1155:10:1155:25 | addNull(...) : JsonObjectBuilder | semmle.label | addNull(...) : JsonObjectBuilder | +| Test.java:1156:9:1156:11 | out | semmle.label | out | +| Test.java:1161:40:1161:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:1161:72:1161:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1162:10:1162:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:1162:10:1162:19 | build(...) : JsonObject | semmle.label | build(...) : JsonObject | +| Test.java:1163:9:1163:11 | out | semmle.label | out | +| Test.java:1168:40:1168:79 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:1168:72:1168:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1169:10:1169:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:1169:10:1169:24 | remove(...) : JsonObjectBuilder | semmle.label | remove(...) : JsonObjectBuilder | +| Test.java:1170:9:1170:11 | out | semmle.label | out | +| Test.java:1175:32:1175:63 | (...)... : JsonPatch | semmle.label | (...)... : JsonPatch | +| Test.java:1175:56:1175:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1176:10:1176:11 | in : JsonPatch | semmle.label | in : JsonPatch | +| Test.java:1176:10:1176:23 | apply(...) : JsonStructure | semmle.label | apply(...) : JsonStructure | +| Test.java:1177:9:1177:11 | out | semmle.label | out | +| Test.java:1182:36:1182:71 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:1182:64:1182:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1184:10:1184:27 | apply(...) : JsonStructure | semmle.label | apply(...) : JsonStructure | +| Test.java:1184:25:1184:26 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:1185:9:1185:11 | out | semmle.label | out | +| Test.java:1190:32:1190:63 | (...)... : JsonPatch | semmle.label | (...)... : JsonPatch | +| Test.java:1190:56:1190:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1191:10:1191:11 | in : JsonPatch | semmle.label | in : JsonPatch | +| Test.java:1191:10:1191:25 | toJsonArray(...) : JsonArray | semmle.label | toJsonArray(...) : JsonArray | +| Test.java:1192:9:1192:11 | out | semmle.label | out | +| Test.java:1197:39:1197:77 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:1197:70:1197:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1198:10:1198:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:1198:10:1198:36 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:1199:9:1199:11 | out | semmle.label | out | +| Test.java:1204:39:1204:77 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:1204:70:1204:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1205:10:1205:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:1205:10:1205:32 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:1206:9:1206:11 | out | semmle.label | out | +| Test.java:1211:39:1211:77 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:1211:70:1211:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1212:10:1212:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:1212:10:1212:59 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:1213:9:1213:11 | out | semmle.label | out | +| Test.java:1218:39:1218:77 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:1218:70:1218:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1219:10:1219:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:1219:10:1219:43 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:1220:9:1220:11 | out | semmle.label | out | +| Test.java:1225:32:1225:63 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:1225:56:1225:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1227:10:1227:39 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:1227:37:1227:38 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:1228:9:1228:11 | out | semmle.label | out | +| Test.java:1233:13:1233:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1233:18:1233:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1235:10:1235:39 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:1235:37:1235:38 | in : Number | semmle.label | in : Number | +| Test.java:1236:9:1236:11 | out | semmle.label | out | +| Test.java:1241:17:1241:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:1241:26:1241:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1243:10:1243:39 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:1243:37:1243:38 | in : Boolean | semmle.label | in : Boolean | +| Test.java:1244:9:1244:11 | out | semmle.label | out | +| Test.java:1249:16:1249:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1249:24:1249:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1251:10:1251:32 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:1251:23:1251:24 | in : String | semmle.label | in : String | +| Test.java:1252:9:1252:11 | out | semmle.label | out | +| Test.java:1257:16:1257:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1257:24:1257:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1259:10:1259:28 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:1259:23:1259:24 | in : String | semmle.label | in : String | +| Test.java:1260:9:1260:11 | out | semmle.label | out | +| Test.java:1265:16:1265:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1265:24:1265:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1267:10:1267:55 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:1267:23:1267:24 | in : String | semmle.label | in : String | +| Test.java:1268:9:1268:11 | out | semmle.label | out | +| Test.java:1273:16:1273:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1273:24:1273:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1275:10:1275:39 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:1275:23:1275:24 | in : String | semmle.label | in : String | +| Test.java:1276:9:1276:11 | out | semmle.label | out | +| Test.java:1281:16:1281:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1281:24:1281:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1283:10:1283:39 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:1283:37:1283:38 | in : String | semmle.label | in : String | +| Test.java:1284:9:1284:11 | out | semmle.label | out | +| Test.java:1289:39:1289:77 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:1289:70:1289:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1290:10:1290:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:1290:10:1290:19 | build(...) : JsonPatch | semmle.label | build(...) : JsonPatch | +| Test.java:1291:9:1291:11 | out | semmle.label | out | +| Test.java:1296:39:1296:77 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:1296:70:1296:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1297:10:1297:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:1297:10:1297:28 | copy(...) : JsonPatchBuilder | semmle.label | copy(...) : JsonPatchBuilder | +| Test.java:1298:9:1298:11 | out | semmle.label | out | +| Test.java:1303:16:1303:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1303:24:1303:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1305:10:1305:32 | copy(...) : JsonPatchBuilder | semmle.label | copy(...) : JsonPatchBuilder | +| Test.java:1305:30:1305:31 | in : String | semmle.label | in : String | +| Test.java:1306:9:1306:11 | out | semmle.label | out | +| Test.java:1311:16:1311:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1311:24:1311:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1313:10:1313:32 | copy(...) : JsonPatchBuilder | semmle.label | copy(...) : JsonPatchBuilder | +| Test.java:1313:24:1313:25 | in : String | semmle.label | in : String | +| Test.java:1314:9:1314:11 | out | semmle.label | out | +| Test.java:1319:39:1319:77 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:1319:70:1319:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1320:10:1320:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:1320:10:1320:28 | move(...) : JsonPatchBuilder | semmle.label | move(...) : JsonPatchBuilder | +| Test.java:1321:9:1321:11 | out | semmle.label | out | +| Test.java:1326:16:1326:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1326:24:1326:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1328:10:1328:32 | move(...) : JsonPatchBuilder | semmle.label | move(...) : JsonPatchBuilder | +| Test.java:1328:30:1328:31 | in : String | semmle.label | in : String | +| Test.java:1329:9:1329:11 | out | semmle.label | out | +| Test.java:1334:16:1334:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1334:24:1334:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1336:10:1336:32 | move(...) : JsonPatchBuilder | semmle.label | move(...) : JsonPatchBuilder | +| Test.java:1336:24:1336:25 | in : String | semmle.label | in : String | +| Test.java:1337:9:1337:11 | out | semmle.label | out | +| Test.java:1342:39:1342:77 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:1342:70:1342:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1343:10:1343:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:1343:10:1343:24 | remove(...) : JsonPatchBuilder | semmle.label | remove(...) : JsonPatchBuilder | +| Test.java:1344:9:1344:11 | out | semmle.label | out | +| Test.java:1349:16:1349:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1349:24:1349:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1351:10:1351:28 | remove(...) : JsonPatchBuilder | semmle.label | remove(...) : JsonPatchBuilder | +| Test.java:1351:26:1351:27 | in : String | semmle.label | in : String | +| Test.java:1352:9:1352:11 | out | semmle.label | out | +| Test.java:1357:39:1357:77 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:1357:70:1357:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1358:10:1358:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:1358:10:1358:40 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:1359:9:1359:11 | out | semmle.label | out | +| Test.java:1364:39:1364:77 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:1364:70:1364:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1365:10:1365:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:1365:10:1365:36 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:1366:9:1366:11 | out | semmle.label | out | +| Test.java:1371:39:1371:77 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:1371:70:1371:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1372:10:1372:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:1372:10:1372:63 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:1373:9:1373:11 | out | semmle.label | out | +| Test.java:1378:39:1378:77 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:1378:70:1378:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1379:10:1379:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:1379:10:1379:47 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:1380:9:1380:11 | out | semmle.label | out | +| Test.java:1385:32:1385:63 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:1385:56:1385:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1387:10:1387:43 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:1387:41:1387:42 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:1388:9:1388:11 | out | semmle.label | out | +| Test.java:1393:13:1393:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1393:18:1393:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1395:10:1395:43 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:1395:41:1395:42 | in : Number | semmle.label | in : Number | +| Test.java:1396:9:1396:11 | out | semmle.label | out | +| Test.java:1401:17:1401:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:1401:26:1401:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1403:10:1403:43 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:1403:41:1403:42 | in : Boolean | semmle.label | in : Boolean | +| Test.java:1404:9:1404:11 | out | semmle.label | out | +| Test.java:1409:16:1409:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1409:24:1409:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1411:10:1411:36 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:1411:27:1411:28 | in : String | semmle.label | in : String | +| Test.java:1412:9:1412:11 | out | semmle.label | out | +| Test.java:1417:16:1417:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1417:24:1417:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1419:10:1419:32 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:1419:27:1419:28 | in : String | semmle.label | in : String | +| Test.java:1420:9:1420:11 | out | semmle.label | out | +| Test.java:1425:16:1425:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1425:24:1425:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1427:10:1427:59 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:1427:27:1427:28 | in : String | semmle.label | in : String | +| Test.java:1428:9:1428:11 | out | semmle.label | out | +| Test.java:1433:16:1433:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1433:24:1433:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1435:10:1435:43 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:1435:27:1435:28 | in : String | semmle.label | in : String | +| Test.java:1436:9:1436:11 | out | semmle.label | out | +| Test.java:1441:16:1441:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1441:24:1441:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1443:10:1443:43 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:1443:41:1443:42 | in : String | semmle.label | in : String | +| Test.java:1444:9:1444:11 | out | semmle.label | out | +| Test.java:1449:39:1449:77 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:1449:70:1449:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1450:10:1450:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:1450:10:1450:37 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:1451:9:1451:11 | out | semmle.label | out | +| Test.java:1456:39:1456:77 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:1456:70:1456:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1457:10:1457:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:1457:10:1457:33 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:1458:9:1458:11 | out | semmle.label | out | +| Test.java:1463:39:1463:77 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:1463:70:1463:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1464:10:1464:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:1464:10:1464:60 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:1465:9:1465:11 | out | semmle.label | out | +| Test.java:1470:39:1470:77 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:1470:70:1470:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1471:10:1471:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:1471:10:1471:44 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:1472:9:1472:11 | out | semmle.label | out | +| Test.java:1477:32:1477:63 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:1477:56:1477:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1479:10:1479:40 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:1479:38:1479:39 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:1480:9:1480:11 | out | semmle.label | out | +| Test.java:1485:13:1485:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1485:18:1485:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1487:10:1487:40 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:1487:38:1487:39 | in : Number | semmle.label | in : Number | +| Test.java:1488:9:1488:11 | out | semmle.label | out | +| Test.java:1493:17:1493:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:1493:26:1493:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1495:10:1495:40 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:1495:38:1495:39 | in : Boolean | semmle.label | in : Boolean | +| Test.java:1496:9:1496:11 | out | semmle.label | out | +| Test.java:1501:16:1501:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1501:24:1501:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1503:10:1503:33 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:1503:24:1503:25 | in : String | semmle.label | in : String | +| Test.java:1504:9:1504:11 | out | semmle.label | out | +| Test.java:1509:16:1509:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1509:24:1509:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1511:10:1511:29 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:1511:24:1511:25 | in : String | semmle.label | in : String | +| Test.java:1512:9:1512:11 | out | semmle.label | out | +| Test.java:1517:16:1517:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1517:24:1517:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1519:10:1519:56 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:1519:24:1519:25 | in : String | semmle.label | in : String | +| Test.java:1520:9:1520:11 | out | semmle.label | out | +| Test.java:1525:16:1525:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1525:24:1525:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1527:10:1527:40 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:1527:24:1527:25 | in : String | semmle.label | in : String | +| Test.java:1528:9:1528:11 | out | semmle.label | out | +| Test.java:1533:16:1533:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1533:24:1533:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1535:10:1535:40 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:1535:38:1535:39 | in : String | semmle.label | in : String | +| Test.java:1536:9:1536:11 | out | semmle.label | out | +| Test.java:1541:34:1541:67 | (...)... : JsonPointer | semmle.label | (...)... : JsonPointer | +| Test.java:1541:60:1541:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1542:10:1542:11 | in : JsonPointer | semmle.label | in : JsonPointer | +| Test.java:1542:10:1542:27 | add(...) : JsonStructure | semmle.label | add(...) : JsonStructure | +| Test.java:1543:9:1543:11 | out | semmle.label | out | +| Test.java:1548:32:1548:63 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:1548:56:1548:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1550:10:1550:31 | add(...) : JsonStructure | semmle.label | add(...) : JsonStructure | +| Test.java:1550:29:1550:30 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:1551:9:1551:11 | out | semmle.label | out | +| Test.java:1556:36:1556:71 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:1556:64:1556:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1558:10:1558:31 | add(...) : JsonStructure | semmle.label | add(...) : JsonStructure | +| Test.java:1558:23:1558:24 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:1559:9:1559:11 | out | semmle.label | out | +| Test.java:1564:36:1564:71 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:1564:64:1564:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1566:10:1566:30 | getValue(...) : JsonValue | semmle.label | getValue(...) : JsonValue | +| Test.java:1566:28:1566:29 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:1567:9:1567:11 | out | semmle.label | out | +| Test.java:1572:36:1572:71 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:1572:64:1572:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1574:10:1574:28 | remove(...) : JsonStructure | semmle.label | remove(...) : JsonStructure | +| Test.java:1574:26:1574:27 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:1575:9:1575:11 | out | semmle.label | out | +| Test.java:1580:32:1580:63 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:1580:56:1580:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1582:10:1582:35 | replace(...) : JsonStructure | semmle.label | replace(...) : JsonStructure | +| Test.java:1582:33:1582:34 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:1583:9:1583:11 | out | semmle.label | out | +| Test.java:1588:36:1588:71 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:1588:64:1588:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1590:10:1590:35 | replace(...) : JsonStructure | semmle.label | replace(...) : JsonStructure | +| Test.java:1590:27:1590:28 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:1591:9:1591:11 | out | semmle.label | out | +| Test.java:1596:34:1596:67 | (...)... : JsonPointer | semmle.label | (...)... : JsonPointer | +| Test.java:1596:60:1596:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1597:10:1597:11 | in : JsonPointer | semmle.label | in : JsonPointer | +| Test.java:1597:10:1597:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:1598:9:1598:11 | out | semmle.label | out | +| Test.java:1603:33:1603:65 | (...)... : JsonReader | semmle.label | (...)... : JsonReader | +| Test.java:1603:58:1603:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1604:10:1604:11 | in : JsonReader | semmle.label | in : JsonReader | +| Test.java:1604:10:1604:18 | read(...) : JsonStructure | semmle.label | read(...) : JsonStructure | +| Test.java:1605:9:1605:11 | out | semmle.label | out | +| Test.java:1610:33:1610:65 | (...)... : JsonReader | semmle.label | (...)... : JsonReader | +| Test.java:1610:58:1610:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1611:10:1611:11 | in : JsonReader | semmle.label | in : JsonReader | +| Test.java:1611:10:1611:23 | readArray(...) : JsonArray | semmle.label | readArray(...) : JsonArray | +| Test.java:1612:9:1612:11 | out | semmle.label | out | +| Test.java:1617:33:1617:65 | (...)... : JsonReader | semmle.label | (...)... : JsonReader | +| Test.java:1617:58:1617:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1618:10:1618:11 | in : JsonReader | semmle.label | in : JsonReader | +| Test.java:1618:10:1618:24 | readObject(...) : JsonObject | semmle.label | readObject(...) : JsonObject | +| Test.java:1619:9:1619:11 | out | semmle.label | out | +| Test.java:1624:33:1624:65 | (...)... : JsonReader | semmle.label | (...)... : JsonReader | +| Test.java:1624:58:1624:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1625:10:1625:11 | in : JsonReader | semmle.label | in : JsonReader | +| Test.java:1625:10:1625:23 | readValue(...) : JsonValue | semmle.label | readValue(...) : JsonValue | +| Test.java:1626:9:1626:11 | out | semmle.label | out | +| Test.java:1631:16:1631:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:1631:24:1631:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1633:10:1633:34 | createReader(...) : JsonReader | semmle.label | createReader(...) : JsonReader | +| Test.java:1633:32:1633:33 | in : Reader | semmle.label | in : Reader | +| Test.java:1634:9:1634:11 | out | semmle.label | out | +| Test.java:1639:21:1639:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:1639:34:1639:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1641:10:1641:40 | createReader(...) : JsonReader | semmle.label | createReader(...) : JsonReader | +| Test.java:1641:32:1641:33 | in : InputStream | semmle.label | in : InputStream | +| Test.java:1642:9:1642:11 | out | semmle.label | out | +| Test.java:1647:21:1647:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:1647:34:1647:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1649:10:1649:34 | createReader(...) : JsonReader | semmle.label | createReader(...) : JsonReader | +| Test.java:1649:32:1649:33 | in : InputStream | semmle.label | in : InputStream | +| Test.java:1650:9:1650:11 | out | semmle.label | out | +| Test.java:1655:33:1655:65 | (...)... : JsonString | semmle.label | (...)... : JsonString | +| Test.java:1655:58:1655:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1656:10:1656:11 | in : JsonString | semmle.label | in : JsonString | +| Test.java:1656:10:1656:22 | getChars(...) : CharSequence | semmle.label | getChars(...) : CharSequence | +| Test.java:1657:9:1657:11 | out | semmle.label | out | +| Test.java:1662:33:1662:65 | (...)... : JsonString | semmle.label | (...)... : JsonString | +| Test.java:1662:58:1662:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1663:10:1663:11 | in : JsonString | semmle.label | in : JsonString | +| Test.java:1663:10:1663:23 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:1664:9:1664:11 | out | semmle.label | out | +| Test.java:1669:36:1669:71 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:1669:64:1669:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1670:10:1670:11 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:1670:10:1670:26 | getValue(...) : JsonValue | semmle.label | getValue(...) : JsonValue | +| Test.java:1671:9:1671:11 | out | semmle.label | out | +| Test.java:1676:32:1676:63 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:1676:56:1676:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1677:10:1677:11 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:1677:10:1677:25 | asJsonArray(...) : JsonArray | semmle.label | asJsonArray(...) : JsonArray | +| Test.java:1678:9:1678:11 | out | semmle.label | out | +| Test.java:1683:32:1683:63 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:1683:56:1683:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1684:10:1684:11 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:1684:10:1684:26 | asJsonObject(...) : JsonObject | semmle.label | asJsonObject(...) : JsonObject | +| Test.java:1685:9:1685:11 | out | semmle.label | out | +| Test.java:1690:32:1690:63 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:1690:56:1690:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1691:10:1691:11 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:1691:10:1691:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:1692:9:1692:11 | out | semmle.label | out | +| Test.java:1697:33:1697:65 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:1697:58:1697:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1698:10:1698:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:1698:10:1698:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:1699:9:1699:11 | out | semmle.label | out | +| Test.java:1704:32:1704:63 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:1704:56:1704:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1705:4:1705:6 | out [post update] : JsonWriter | semmle.label | out [post update] : JsonWriter | +| Test.java:1705:14:1705:15 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:1706:9:1706:11 | out | semmle.label | out | +| Test.java:1711:36:1711:71 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:1711:64:1711:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1712:4:1712:6 | out [post update] : JsonWriter | semmle.label | out [post update] : JsonWriter | +| Test.java:1712:14:1712:15 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:1713:9:1713:11 | out | semmle.label | out | +| Test.java:1718:32:1718:63 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:1718:56:1718:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1719:4:1719:6 | out [post update] : JsonWriter | semmle.label | out [post update] : JsonWriter | +| Test.java:1719:19:1719:20 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:1720:9:1720:11 | out | semmle.label | out | +| Test.java:1725:33:1725:65 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:1725:58:1725:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1726:4:1726:6 | out [post update] : JsonWriter | semmle.label | out [post update] : JsonWriter | +| Test.java:1726:20:1726:21 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:1727:9:1727:11 | out | semmle.label | out | +| Test.java:1732:40:1732:79 | (...)... : JsonWriterFactory | semmle.label | (...)... : JsonWriterFactory | +| Test.java:1732:72:1732:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1733:4:1733:5 | in : JsonWriterFactory | semmle.label | in : JsonWriterFactory | +| Test.java:1733:20:1733:22 | out [post update] : Writer | semmle.label | out [post update] : Writer | +| Test.java:1734:9:1734:11 | out | semmle.label | out | +| Test.java:1739:40:1739:79 | (...)... : JsonWriterFactory | semmle.label | (...)... : JsonWriterFactory | +| Test.java:1739:72:1739:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1740:4:1740:5 | in : JsonWriterFactory | semmle.label | in : JsonWriterFactory | +| Test.java:1740:20:1740:22 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:1741:9:1741:11 | out | semmle.label | out | +| Test.java:1746:40:1746:79 | (...)... : JsonWriterFactory | semmle.label | (...)... : JsonWriterFactory | +| Test.java:1746:72:1746:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1747:4:1747:5 | in : JsonWriterFactory | semmle.label | in : JsonWriterFactory | +| Test.java:1747:20:1747:22 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:1748:9:1748:11 | out | semmle.label | out | +| Test.java:1753:31:1753:61 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:1753:54:1753:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1755:10:1755:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:1755:32:1755:33 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:1756:9:1756:11 | out | semmle.label | out | +| Test.java:1761:30:1761:59 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:1761:52:1761:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1763:10:1763:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:1763:32:1763:33 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:1764:9:1764:11 | out | semmle.label | out | +| Test.java:1769:16:1769:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:1769:24:1769:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1771:10:1771:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:1771:32:1771:33 | in : Reader | semmle.label | in : Reader | +| Test.java:1772:9:1772:11 | out | semmle.label | out | +| Test.java:1777:21:1777:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:1777:34:1777:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1779:10:1779:40 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:1779:32:1779:33 | in : InputStream | semmle.label | in : InputStream | +| Test.java:1780:9:1780:11 | out | semmle.label | out | +| Test.java:1785:21:1785:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:1785:34:1785:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1787:10:1787:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser | +| Test.java:1787:32:1787:33 | in : InputStream | semmle.label | in : InputStream | +| Test.java:1788:9:1788:11 | out | semmle.label | out | +| Test.java:1793:20:1793:55 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:1793:32:1793:55 | newWithElement(...) : List [] : Object | semmle.label | newWithElement(...) : List [] : Object | +| Test.java:1793:47:1793:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1794:10:1794:47 | createArrayBuilder(...) : JsonArrayBuilder | semmle.label | createArrayBuilder(...) : JsonArrayBuilder | +| Test.java:1794:45:1794:46 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:1795:9:1795:11 | out | semmle.label | out | +| Test.java:1800:30:1800:59 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:1800:52:1800:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1801:10:1801:47 | createArrayBuilder(...) : JsonArrayBuilder | semmle.label | createArrayBuilder(...) : JsonArrayBuilder | +| Test.java:1801:45:1801:46 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:1802:9:1802:11 | out | semmle.label | out | +| Test.java:1807:34:1807:67 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:1807:60:1807:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1808:10:1808:45 | createDiff(...) : JsonPatch | semmle.label | createDiff(...) : JsonPatch | +| Test.java:1808:43:1808:44 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:1809:9:1809:11 | out | semmle.label | out | +| Test.java:1814:34:1814:67 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:1814:60:1814:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1815:10:1815:45 | createDiff(...) : JsonPatch | semmle.label | createDiff(...) : JsonPatch | +| Test.java:1815:37:1815:38 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:1816:9:1816:11 | out | semmle.label | out | +| Test.java:1821:30:1821:59 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:1821:52:1821:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1822:10:1822:50 | createMergeDiff(...) : JsonMergePatch | semmle.label | createMergeDiff(...) : JsonMergePatch | +| Test.java:1822:48:1822:49 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:1823:9:1823:11 | out | semmle.label | out | +| Test.java:1828:30:1828:59 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:1828:52:1828:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1829:10:1829:50 | createMergeDiff(...) : JsonMergePatch | semmle.label | createMergeDiff(...) : JsonMergePatch | +| Test.java:1829:42:1829:43 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:1830:9:1830:11 | out | semmle.label | out | +| Test.java:1835:30:1835:59 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:1835:52:1835:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1836:10:1836:45 | createMergePatch(...) : JsonMergePatch | semmle.label | createMergePatch(...) : JsonMergePatch | +| Test.java:1836:43:1836:44 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:1837:9:1837:11 | out | semmle.label | out | +| Test.java:1842:31:1842:61 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:1842:54:1842:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1843:10:1843:48 | createObjectBuilder(...) : JsonObjectBuilder | semmle.label | createObjectBuilder(...) : JsonObjectBuilder | +| Test.java:1843:46:1843:47 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:1844:9:1844:11 | out | semmle.label | out | +| Test.java:1849:13:1849:40 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:1849:18:1849:40 | newWithMapKey(...) : Map [] : Object | semmle.label | newWithMapKey(...) : Map [] : Object | +| Test.java:1849:32:1849:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1850:10:1850:48 | createObjectBuilder(...) : JsonObjectBuilder | semmle.label | createObjectBuilder(...) : JsonObjectBuilder | +| Test.java:1850:46:1850:47 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:1851:9:1851:11 | out | semmle.label | out | +| Test.java:1856:13:1856:42 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:1856:18:1856:42 | newWithMapValue(...) : Map [] : Object | semmle.label | newWithMapValue(...) : Map [] : Object | +| Test.java:1856:34:1856:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1857:10:1857:48 | createObjectBuilder(...) : JsonObjectBuilder | semmle.label | createObjectBuilder(...) : JsonObjectBuilder | +| Test.java:1857:46:1857:47 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:1858:9:1858:11 | out | semmle.label | out | +| Test.java:1863:30:1863:59 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:1863:52:1863:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1864:10:1864:40 | createPatch(...) : JsonPatch | semmle.label | createPatch(...) : JsonPatch | +| Test.java:1864:38:1864:39 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:1865:9:1865:11 | out | semmle.label | out | +| Test.java:1870:30:1870:59 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:1870:52:1870:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1871:10:1871:47 | createPatchBuilder(...) : JsonPatchBuilder | semmle.label | createPatchBuilder(...) : JsonPatchBuilder | +| Test.java:1871:45:1871:46 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:1872:9:1872:11 | out | semmle.label | out | +| Test.java:1877:16:1877:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1877:24:1877:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1878:10:1878:42 | createPointer(...) : JsonPointer | semmle.label | createPointer(...) : JsonPointer | +| Test.java:1878:40:1878:41 | in : String | semmle.label | in : String | +| Test.java:1879:9:1879:11 | out | semmle.label | out | +| Test.java:1884:16:1884:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:1884:24:1884:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1885:10:1885:41 | createReader(...) : JsonReader | semmle.label | createReader(...) : JsonReader | +| Test.java:1885:39:1885:40 | in : Reader | semmle.label | in : Reader | +| Test.java:1886:9:1886:11 | out | semmle.label | out | +| Test.java:1891:21:1891:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:1891:34:1891:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1892:10:1892:41 | createReader(...) : JsonReader | semmle.label | createReader(...) : JsonReader | +| Test.java:1892:39:1892:40 | in : InputStream | semmle.label | in : InputStream | +| Test.java:1893:9:1893:11 | out | semmle.label | out | +| Test.java:1898:16:1898:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1898:24:1898:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1899:10:1899:40 | createValue(...) : JsonString | semmle.label | createValue(...) : JsonString | +| Test.java:1899:38:1899:39 | in : String | semmle.label | in : String | +| Test.java:1900:9:1900:11 | out | semmle.label | out | +| Test.java:1905:14:1905:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1905:20:1905:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1906:10:1906:40 | createValue(...) : JsonNumber | semmle.label | createValue(...) : JsonNumber | +| Test.java:1906:38:1906:39 | in : Number | semmle.label | in : Number | +| Test.java:1907:9:1907:11 | out | semmle.label | out | +| Test.java:1912:13:1912:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1912:18:1912:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1913:10:1913:40 | createValue(...) : JsonNumber | semmle.label | createValue(...) : JsonNumber | +| Test.java:1913:38:1913:39 | in : Number | semmle.label | in : Number | +| Test.java:1914:9:1914:11 | out | semmle.label | out | +| Test.java:1919:16:1919:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1919:24:1919:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1920:10:1920:40 | createValue(...) : JsonNumber | semmle.label | createValue(...) : JsonNumber | +| Test.java:1920:38:1920:39 | in : Number | semmle.label | in : Number | +| Test.java:1921:9:1921:11 | out | semmle.label | out | +| Test.java:1926:20:1926:39 | (...)... : BigInteger | semmle.label | (...)... : BigInteger | +| Test.java:1926:32:1926:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1927:10:1927:40 | createValue(...) : JsonNumber | semmle.label | createValue(...) : JsonNumber | +| Test.java:1927:38:1927:39 | in : BigInteger | semmle.label | in : BigInteger | +| Test.java:1928:9:1928:11 | out | semmle.label | out | +| Test.java:1933:20:1933:39 | (...)... : BigDecimal | semmle.label | (...)... : BigDecimal | +| Test.java:1933:32:1933:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1934:10:1934:40 | createValue(...) : JsonNumber | semmle.label | createValue(...) : JsonNumber | +| Test.java:1934:38:1934:39 | in : BigDecimal | semmle.label | in : BigDecimal | +| Test.java:1935:9:1935:11 | out | semmle.label | out | +| Test.java:1940:16:1940:31 | (...)... : Writer | semmle.label | (...)... : Writer | +| Test.java:1940:24:1940:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1941:10:1941:41 | createWriter(...) : JsonWriter | semmle.label | createWriter(...) : JsonWriter | +| Test.java:1941:39:1941:40 | in : Writer | semmle.label | in : Writer | +| Test.java:1942:9:1942:11 | out | semmle.label | out | +| Test.java:1947:22:1947:43 | (...)... : OutputStream | semmle.label | (...)... : OutputStream | +| Test.java:1947:36:1947:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1948:10:1948:41 | createWriter(...) : JsonWriter | semmle.label | createWriter(...) : JsonWriter | +| Test.java:1948:39:1948:40 | in : OutputStream | semmle.label | in : OutputStream | +| Test.java:1949:9:1949:11 | out | semmle.label | out | +| Test.java:1954:16:1954:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1954:24:1954:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1955:10:1955:42 | decodePointer(...) : String | semmle.label | decodePointer(...) : String | +| Test.java:1955:40:1955:41 | in : String | semmle.label | in : String | +| Test.java:1956:9:1956:11 | out | semmle.label | out | +| Test.java:1961:16:1961:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1961:24:1961:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1962:10:1962:42 | encodePointer(...) : String | semmle.label | encodePointer(...) : String | +| Test.java:1962:40:1962:41 | in : String | semmle.label | in : String | +| Test.java:1963:9:1963:11 | out | semmle.label | out | +| Test.java:1968:30:1968:59 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:1968:52:1968:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1969:10:1969:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:1969:10:1969:32 | getBoolean(...) : Boolean | semmle.label | getBoolean(...) : Boolean | +| Test.java:1970:9:1970:11 | out | semmle.label | out | +| Test.java:1975:30:1975:59 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:1975:52:1975:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1976:10:1976:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:1976:10:1976:25 | getBoolean(...) : Boolean | semmle.label | getBoolean(...) : Boolean | +| Test.java:1977:9:1977:11 | out | semmle.label | out | +| Test.java:1982:17:1982:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:1982:26:1982:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1984:10:1984:35 | getBoolean(...) : Boolean | semmle.label | getBoolean(...) : Boolean | +| Test.java:1984:33:1984:34 | in : Boolean | semmle.label | in : Boolean | +| Test.java:1985:9:1985:11 | out | semmle.label | out | +| Test.java:1990:30:1990:59 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:1990:52:1990:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1991:10:1991:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:1991:10:1991:24 | getInt(...) : Number | semmle.label | getInt(...) : Number | +| Test.java:1992:9:1992:11 | out | semmle.label | out | +| Test.java:1997:30:1997:59 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:1997:52:1997:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1998:10:1998:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:1998:10:1998:21 | getInt(...) : Number | semmle.label | getInt(...) : Number | +| Test.java:1999:9:1999:11 | out | semmle.label | out | +| Test.java:2004:13:2004:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2004:18:2004:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2006:10:2006:31 | getInt(...) : Number | semmle.label | getInt(...) : Number | +| Test.java:2006:29:2006:30 | in : Number | semmle.label | in : Number | +| Test.java:2007:9:2007:11 | out | semmle.label | out | +| Test.java:2012:30:2012:59 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:2012:52:2012:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2013:10:2013:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:2013:10:2013:27 | getJsonArray(...) : JsonArray | semmle.label | getJsonArray(...) : JsonArray | +| Test.java:2014:9:2014:11 | out | semmle.label | out | +| Test.java:2019:30:2019:59 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:2019:52:2019:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2020:10:2020:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:2020:10:2020:28 | getJsonNumber(...) : JsonNumber | semmle.label | getJsonNumber(...) : JsonNumber | +| Test.java:2021:9:2021:11 | out | semmle.label | out | +| Test.java:2026:30:2026:59 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:2026:52:2026:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2027:10:2027:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:2027:10:2027:28 | getJsonObject(...) : JsonObject | semmle.label | getJsonObject(...) : JsonObject | +| Test.java:2028:9:2028:11 | out | semmle.label | out | +| Test.java:2033:30:2033:59 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:2033:52:2033:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2034:10:2034:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:2034:10:2034:28 | getJsonString(...) : JsonString | semmle.label | getJsonString(...) : JsonString | +| Test.java:2035:9:2035:11 | out | semmle.label | out | +| Test.java:2040:30:2040:59 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:2040:52:2040:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2041:10:2041:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:2041:10:2041:30 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:2042:9:2042:11 | out | semmle.label | out | +| Test.java:2047:30:2047:59 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:2047:52:2047:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2048:10:2048:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:2048:10:2048:24 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:2049:9:2049:11 | out | semmle.label | out | +| Test.java:2054:16:2054:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2054:24:2054:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2056:10:2056:34 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:2056:32:2056:33 | in : String | semmle.label | in : String | +| Test.java:2057:9:2057:11 | out | semmle.label | out | +| Test.java:2062:30:2062:59 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:2062:52:2062:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2063:10:2063:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:2063:10:2063:39 | getValuesAs(...) : List | semmle.label | getValuesAs(...) : List | +| Test.java:2064:9:2064:11 | out | semmle.label | out | +| Test.java:2069:30:2069:59 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:2069:52:2069:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2070:10:2070:11 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:2070:10:2070:36 | getValuesAs(...) : List | semmle.label | getValuesAs(...) : List | +| Test.java:2071:9:2071:11 | out | semmle.label | out | +| Test.java:2076:20:2076:39 | (...)... : BigDecimal | semmle.label | (...)... : BigDecimal | +| Test.java:2076:32:2076:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2077:4:2077:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2077:12:2077:13 | in : BigDecimal | semmle.label | in : BigDecimal | +| Test.java:2078:9:2078:11 | out | semmle.label | out | +| Test.java:2083:20:2083:39 | (...)... : BigInteger | semmle.label | (...)... : BigInteger | +| Test.java:2083:32:2083:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2084:4:2084:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2084:12:2084:13 | in : BigInteger | semmle.label | in : BigInteger | +| Test.java:2085:9:2085:11 | out | semmle.label | out | +| Test.java:2090:37:2090:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2090:66:2090:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2091:4:2091:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2091:12:2091:13 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2092:9:2092:11 | out | semmle.label | out | +| Test.java:2097:38:2097:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2097:68:2097:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2098:4:2098:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2098:12:2098:13 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2099:9:2099:11 | out | semmle.label | out | +| Test.java:2104:30:2104:59 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:2104:52:2104:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2105:4:2105:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2105:12:2105:13 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:2106:9:2106:11 | out | semmle.label | out | +| Test.java:2111:16:2111:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2111:24:2111:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2112:4:2112:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2112:12:2112:13 | in : String | semmle.label | in : String | +| Test.java:2113:9:2113:11 | out | semmle.label | out | +| Test.java:2118:17:2118:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:2118:26:2118:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2119:4:2119:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2119:12:2119:13 | in : Boolean | semmle.label | in : Boolean | +| Test.java:2120:9:2120:11 | out | semmle.label | out | +| Test.java:2125:16:2125:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2125:24:2125:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2126:4:2126:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2126:12:2126:13 | in : Number | semmle.label | in : Number | +| Test.java:2127:9:2127:11 | out | semmle.label | out | +| Test.java:2132:13:2132:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2132:18:2132:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2133:4:2133:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2133:12:2133:13 | in : Number | semmle.label | in : Number | +| Test.java:2134:9:2134:11 | out | semmle.label | out | +| Test.java:2139:20:2139:39 | (...)... : BigDecimal | semmle.label | (...)... : BigDecimal | +| Test.java:2139:32:2139:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2140:4:2140:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2140:15:2140:16 | in : BigDecimal | semmle.label | in : BigDecimal | +| Test.java:2141:9:2141:11 | out | semmle.label | out | +| Test.java:2146:20:2146:39 | (...)... : BigInteger | semmle.label | (...)... : BigInteger | +| Test.java:2146:32:2146:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2147:4:2147:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2147:15:2147:16 | in : BigInteger | semmle.label | in : BigInteger | +| Test.java:2148:9:2148:11 | out | semmle.label | out | +| Test.java:2153:37:2153:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2153:66:2153:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2154:4:2154:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2154:15:2154:16 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2155:9:2155:11 | out | semmle.label | out | +| Test.java:2160:38:2160:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2160:68:2160:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2161:4:2161:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2161:15:2161:16 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2162:9:2162:11 | out | semmle.label | out | +| Test.java:2167:30:2167:59 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:2167:52:2167:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2168:4:2168:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2168:15:2168:16 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:2169:9:2169:11 | out | semmle.label | out | +| Test.java:2174:16:2174:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2174:24:2174:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2175:4:2175:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2175:15:2175:16 | in : String | semmle.label | in : String | +| Test.java:2176:9:2176:11 | out | semmle.label | out | +| Test.java:2181:17:2181:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:2181:26:2181:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2182:4:2182:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2182:15:2182:16 | in : Boolean | semmle.label | in : Boolean | +| Test.java:2183:9:2183:11 | out | semmle.label | out | +| Test.java:2188:16:2188:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2188:24:2188:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2189:4:2189:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2189:15:2189:16 | in : Number | semmle.label | in : Number | +| Test.java:2190:9:2190:11 | out | semmle.label | out | +| Test.java:2195:13:2195:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2195:18:2195:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2196:4:2196:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2196:15:2196:16 | in : Number | semmle.label | in : Number | +| Test.java:2197:9:2197:11 | out | semmle.label | out | +| Test.java:2202:14:2202:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2202:20:2202:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2203:4:2203:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2203:15:2203:16 | in : Number | semmle.label | in : Number | +| Test.java:2204:9:2204:11 | out | semmle.label | out | +| Test.java:2209:14:2209:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2209:20:2209:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2210:4:2210:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2210:12:2210:13 | in : Number | semmle.label | in : Number | +| Test.java:2211:9:2211:11 | out | semmle.label | out | +| Test.java:2216:37:2216:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2216:66:2216:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2217:10:2217:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2217:10:2217:22 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2218:9:2218:11 | out | semmle.label | out | +| Test.java:2223:37:2223:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2223:66:2223:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2224:10:2224:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2224:10:2224:19 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2225:9:2225:11 | out | semmle.label | out | +| Test.java:2230:37:2230:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2230:66:2230:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2231:10:2231:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2231:10:2231:20 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2232:9:2232:11 | out | semmle.label | out | +| Test.java:2237:37:2237:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2237:66:2237:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2238:10:2238:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2238:10:2238:25 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2239:9:2239:11 | out | semmle.label | out | +| Test.java:2244:37:2244:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2244:66:2244:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2245:10:2245:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2245:10:2245:22 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2246:9:2246:11 | out | semmle.label | out | +| Test.java:2251:37:2251:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2251:66:2251:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2252:10:2252:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2252:10:2252:23 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2253:9:2253:11 | out | semmle.label | out | +| Test.java:2258:37:2258:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2258:66:2258:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2259:10:2259:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2259:10:2259:21 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2260:9:2260:11 | out | semmle.label | out | +| Test.java:2265:37:2265:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2265:66:2265:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2266:10:2266:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2266:10:2266:46 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2267:9:2267:11 | out | semmle.label | out | +| Test.java:2272:37:2272:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2272:66:2272:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2273:10:2273:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2273:10:2273:54 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2274:9:2274:11 | out | semmle.label | out | +| Test.java:2279:37:2279:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2279:66:2279:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2280:10:2280:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2280:10:2280:53 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2281:9:2281:11 | out | semmle.label | out | +| Test.java:2286:37:2286:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2286:66:2286:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2287:10:2287:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2287:10:2287:32 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2288:9:2288:11 | out | semmle.label | out | +| Test.java:2293:37:2293:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2293:66:2293:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2294:10:2294:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2294:10:2294:36 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2295:9:2295:11 | out | semmle.label | out | +| Test.java:2300:37:2300:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2300:66:2300:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2301:10:2301:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2301:10:2301:36 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2302:9:2302:11 | out | semmle.label | out | +| Test.java:2307:37:2307:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2307:66:2307:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2308:10:2308:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2308:10:2308:18 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2309:9:2309:11 | out | semmle.label | out | +| Test.java:2314:37:2314:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2314:66:2314:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2315:10:2315:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2315:10:2315:43 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2316:9:2316:11 | out | semmle.label | out | +| Test.java:2321:37:2321:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2321:66:2321:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2322:10:2322:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2322:10:2322:51 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2323:9:2323:11 | out | semmle.label | out | +| Test.java:2328:37:2328:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2328:66:2328:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2329:10:2329:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2329:10:2329:50 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2330:9:2330:11 | out | semmle.label | out | +| Test.java:2335:37:2335:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2335:66:2335:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2336:10:2336:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2336:10:2336:29 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2337:9:2337:11 | out | semmle.label | out | +| Test.java:2342:37:2342:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2342:66:2342:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2343:10:2343:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2343:10:2343:33 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2344:9:2344:11 | out | semmle.label | out | +| Test.java:2349:37:2349:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2349:66:2349:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2350:10:2350:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2350:10:2350:33 | add(...) : JsonArrayBuilder | semmle.label | add(...) : JsonArrayBuilder | +| Test.java:2351:9:2351:11 | out | semmle.label | out | +| Test.java:2356:37:2356:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2356:66:2356:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2357:10:2357:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2357:10:2357:24 | addAll(...) : JsonArrayBuilder | semmle.label | addAll(...) : JsonArrayBuilder | +| Test.java:2358:9:2358:11 | out | semmle.label | out | +| Test.java:2363:37:2363:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2363:66:2363:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2364:4:2364:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2364:15:2364:16 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2365:9:2365:11 | out | semmle.label | out | +| Test.java:2370:37:2370:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2370:66:2370:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2371:10:2371:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2371:10:2371:22 | addNull(...) : JsonArrayBuilder | semmle.label | addNull(...) : JsonArrayBuilder | +| Test.java:2372:9:2372:11 | out | semmle.label | out | +| Test.java:2377:37:2377:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2377:66:2377:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2378:10:2378:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2378:10:2378:21 | addNull(...) : JsonArrayBuilder | semmle.label | addNull(...) : JsonArrayBuilder | +| Test.java:2379:9:2379:11 | out | semmle.label | out | +| Test.java:2384:37:2384:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2384:66:2384:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2385:10:2385:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2385:10:2385:19 | build(...) : JsonArray | semmle.label | build(...) : JsonArray | +| Test.java:2386:9:2386:11 | out | semmle.label | out | +| Test.java:2391:37:2391:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2391:66:2391:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2392:10:2392:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2392:10:2392:21 | remove(...) : JsonArrayBuilder | semmle.label | remove(...) : JsonArrayBuilder | +| Test.java:2393:9:2393:11 | out | semmle.label | out | +| Test.java:2398:37:2398:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2398:66:2398:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2399:10:2399:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2399:10:2399:25 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:2400:9:2400:11 | out | semmle.label | out | +| Test.java:2405:37:2405:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2405:66:2405:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2406:10:2406:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2406:10:2406:22 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:2407:9:2407:11 | out | semmle.label | out | +| Test.java:2412:37:2412:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2412:66:2412:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2413:10:2413:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2413:10:2413:23 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:2414:9:2414:11 | out | semmle.label | out | +| Test.java:2419:37:2419:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2419:66:2419:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2420:10:2420:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2420:10:2420:21 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:2421:9:2421:11 | out | semmle.label | out | +| Test.java:2426:37:2426:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2426:66:2426:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2427:10:2427:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2427:10:2427:46 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:2428:9:2428:11 | out | semmle.label | out | +| Test.java:2433:37:2433:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2433:66:2433:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2434:10:2434:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2434:10:2434:54 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:2435:9:2435:11 | out | semmle.label | out | +| Test.java:2440:37:2440:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2440:66:2440:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2441:10:2441:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2441:10:2441:53 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:2442:9:2442:11 | out | semmle.label | out | +| Test.java:2447:37:2447:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2447:66:2447:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2448:10:2448:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2448:10:2448:32 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:2449:9:2449:11 | out | semmle.label | out | +| Test.java:2454:37:2454:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2454:66:2454:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2455:10:2455:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2455:10:2455:36 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:2456:9:2456:11 | out | semmle.label | out | +| Test.java:2461:37:2461:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2461:66:2461:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2462:10:2462:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2462:10:2462:36 | set(...) : JsonArrayBuilder | semmle.label | set(...) : JsonArrayBuilder | +| Test.java:2463:9:2463:11 | out | semmle.label | out | +| Test.java:2468:14:2468:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2468:20:2468:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2469:4:2469:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2469:15:2469:16 | in : Number | semmle.label | in : Number | +| Test.java:2470:9:2470:11 | out | semmle.label | out | +| Test.java:2475:30:2475:59 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:2475:52:2475:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2476:4:2476:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2476:15:2476:16 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:2477:9:2477:11 | out | semmle.label | out | +| Test.java:2482:38:2482:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2482:68:2482:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2483:4:2483:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2483:15:2483:16 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2484:9:2484:11 | out | semmle.label | out | +| Test.java:2489:37:2489:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2489:66:2489:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2490:4:2490:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2490:15:2490:16 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2491:9:2491:11 | out | semmle.label | out | +| Test.java:2496:13:2496:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2496:18:2496:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2497:4:2497:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2497:15:2497:16 | in : Number | semmle.label | in : Number | +| Test.java:2498:9:2498:11 | out | semmle.label | out | +| Test.java:2503:16:2503:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2503:24:2503:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2504:4:2504:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2504:15:2504:16 | in : Number | semmle.label | in : Number | +| Test.java:2505:9:2505:11 | out | semmle.label | out | +| Test.java:2510:17:2510:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:2510:26:2510:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2511:4:2511:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2511:15:2511:16 | in : Boolean | semmle.label | in : Boolean | +| Test.java:2512:9:2512:11 | out | semmle.label | out | +| Test.java:2517:16:2517:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2517:24:2517:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2518:4:2518:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2518:15:2518:16 | in : String | semmle.label | in : String | +| Test.java:2519:9:2519:11 | out | semmle.label | out | +| Test.java:2524:20:2524:39 | (...)... : BigInteger | semmle.label | (...)... : BigInteger | +| Test.java:2524:32:2524:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2525:4:2525:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2525:15:2525:16 | in : BigInteger | semmle.label | in : BigInteger | +| Test.java:2526:9:2526:11 | out | semmle.label | out | +| Test.java:2531:20:2531:39 | (...)... : BigDecimal | semmle.label | (...)... : BigDecimal | +| Test.java:2531:32:2531:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2532:4:2532:6 | out [post update] : JsonArrayBuilder | semmle.label | out [post update] : JsonArrayBuilder | +| Test.java:2532:15:2532:16 | in : BigDecimal | semmle.label | in : BigDecimal | +| Test.java:2533:9:2533:11 | out | semmle.label | out | +| Test.java:2538:37:2538:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2538:66:2538:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2539:10:2539:11 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2539:10:2539:22 | setNull(...) : JsonArrayBuilder | semmle.label | setNull(...) : JsonArrayBuilder | +| Test.java:2540:9:2540:11 | out | semmle.label | out | +| Test.java:2545:35:2545:69 | (...)... : JsonMergePatch | semmle.label | (...)... : JsonMergePatch | +| Test.java:2545:62:2545:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2546:10:2546:11 | in : JsonMergePatch | semmle.label | in : JsonMergePatch | +| Test.java:2546:10:2546:23 | apply(...) : JsonValue | semmle.label | apply(...) : JsonValue | +| Test.java:2547:9:2547:11 | out | semmle.label | out | +| Test.java:2552:30:2552:59 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:2552:52:2552:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2554:10:2554:27 | apply(...) : JsonValue | semmle.label | apply(...) : JsonValue | +| Test.java:2554:25:2554:26 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:2555:9:2555:11 | out | semmle.label | out | +| Test.java:2560:35:2560:69 | (...)... : JsonMergePatch | semmle.label | (...)... : JsonMergePatch | +| Test.java:2560:62:2560:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2561:10:2561:11 | in : JsonMergePatch | semmle.label | in : JsonMergePatch | +| Test.java:2561:10:2561:25 | toJsonValue(...) : JsonValue | semmle.label | toJsonValue(...) : JsonValue | +| Test.java:2562:9:2562:11 | out | semmle.label | out | +| Test.java:2567:31:2567:61 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:2567:54:2567:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2568:10:2568:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:2568:10:2568:29 | bigDecimalValue(...) : BigDecimal | semmle.label | bigDecimalValue(...) : BigDecimal | +| Test.java:2569:9:2569:11 | out | semmle.label | out | +| Test.java:2574:31:2574:61 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:2574:54:2574:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2575:10:2575:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:2575:10:2575:29 | bigIntegerValue(...) : BigInteger | semmle.label | bigIntegerValue(...) : BigInteger | +| Test.java:2576:9:2576:11 | out | semmle.label | out | +| Test.java:2581:31:2581:61 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:2581:54:2581:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2582:10:2582:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:2582:10:2582:34 | bigIntegerValueExact(...) : BigInteger | semmle.label | bigIntegerValueExact(...) : BigInteger | +| Test.java:2583:9:2583:11 | out | semmle.label | out | +| Test.java:2588:31:2588:61 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:2588:54:2588:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2589:10:2589:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:2589:10:2589:25 | doubleValue(...) : Number | semmle.label | doubleValue(...) : Number | +| Test.java:2590:9:2590:11 | out | semmle.label | out | +| Test.java:2595:31:2595:61 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:2595:54:2595:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2596:10:2596:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:2596:10:2596:22 | intValue(...) : Number | semmle.label | intValue(...) : Number | +| Test.java:2597:9:2597:11 | out | semmle.label | out | +| Test.java:2602:31:2602:61 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:2602:54:2602:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2603:10:2603:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:2603:10:2603:27 | intValueExact(...) : Number | semmle.label | intValueExact(...) : Number | +| Test.java:2604:9:2604:11 | out | semmle.label | out | +| Test.java:2609:31:2609:61 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:2609:54:2609:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2610:10:2610:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:2610:10:2610:23 | longValue(...) : Number | semmle.label | longValue(...) : Number | +| Test.java:2611:9:2611:11 | out | semmle.label | out | +| Test.java:2616:31:2616:61 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:2616:54:2616:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2617:10:2617:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:2617:10:2617:28 | longValueExact(...) : Number | semmle.label | longValueExact(...) : Number | +| Test.java:2618:9:2618:11 | out | semmle.label | out | +| Test.java:2623:31:2623:61 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:2623:54:2623:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2624:10:2624:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:2624:10:2624:25 | numberValue(...) : Number | semmle.label | numberValue(...) : Number | +| Test.java:2625:9:2625:11 | out | semmle.label | out | +| Test.java:2630:31:2630:61 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:2630:54:2630:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2631:10:2631:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:2631:10:2631:35 | getBoolean(...) : Boolean | semmle.label | getBoolean(...) : Boolean | +| Test.java:2632:9:2632:11 | out | semmle.label | out | +| Test.java:2637:31:2637:61 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:2637:54:2637:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2638:10:2638:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:2638:10:2638:28 | getBoolean(...) : Boolean | semmle.label | getBoolean(...) : Boolean | +| Test.java:2639:9:2639:11 | out | semmle.label | out | +| Test.java:2644:17:2644:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:2644:26:2644:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2646:10:2646:38 | getBoolean(...) : Boolean | semmle.label | getBoolean(...) : Boolean | +| Test.java:2646:36:2646:37 | in : Boolean | semmle.label | in : Boolean | +| Test.java:2647:9:2647:11 | out | semmle.label | out | +| Test.java:2652:31:2652:61 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:2652:54:2652:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2653:10:2653:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:2653:10:2653:27 | getInt(...) : Number | semmle.label | getInt(...) : Number | +| Test.java:2654:9:2654:11 | out | semmle.label | out | +| Test.java:2659:31:2659:61 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:2659:54:2659:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2660:10:2660:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:2660:10:2660:24 | getInt(...) : Number | semmle.label | getInt(...) : Number | +| Test.java:2661:9:2661:11 | out | semmle.label | out | +| Test.java:2666:13:2666:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2666:18:2666:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2668:10:2668:34 | getInt(...) : Number | semmle.label | getInt(...) : Number | +| Test.java:2668:32:2668:33 | in : Number | semmle.label | in : Number | +| Test.java:2669:9:2669:11 | out | semmle.label | out | +| Test.java:2674:31:2674:61 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:2674:54:2674:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2675:10:2675:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:2675:10:2675:30 | getJsonArray(...) : JsonArray | semmle.label | getJsonArray(...) : JsonArray | +| Test.java:2676:9:2676:11 | out | semmle.label | out | +| Test.java:2681:31:2681:61 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:2681:54:2681:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2682:10:2682:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:2682:10:2682:31 | getJsonNumber(...) : JsonNumber | semmle.label | getJsonNumber(...) : JsonNumber | +| Test.java:2683:9:2683:11 | out | semmle.label | out | +| Test.java:2688:31:2688:61 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:2688:54:2688:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2689:10:2689:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:2689:10:2689:31 | getJsonObject(...) : JsonObject | semmle.label | getJsonObject(...) : JsonObject | +| Test.java:2690:9:2690:11 | out | semmle.label | out | +| Test.java:2695:31:2695:61 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:2695:54:2695:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2696:10:2696:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:2696:10:2696:31 | getJsonString(...) : JsonString | semmle.label | getJsonString(...) : JsonString | +| Test.java:2697:9:2697:11 | out | semmle.label | out | +| Test.java:2702:31:2702:61 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:2702:54:2702:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2703:10:2703:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:2703:10:2703:33 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:2704:9:2704:11 | out | semmle.label | out | +| Test.java:2709:31:2709:61 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:2709:54:2709:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2710:10:2710:11 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:2710:10:2710:27 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:2711:9:2711:11 | out | semmle.label | out | +| Test.java:2716:16:2716:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2716:24:2716:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2718:10:2718:37 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:2718:35:2718:36 | in : String | semmle.label | in : String | +| Test.java:2719:9:2719:11 | out | semmle.label | out | +| Test.java:2724:38:2724:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2724:68:2724:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2725:10:2725:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2725:10:2725:36 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:2726:9:2726:11 | out | semmle.label | out | +| Test.java:2731:38:2731:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2731:68:2731:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2732:10:2732:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2732:10:2732:33 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:2733:9:2733:11 | out | semmle.label | out | +| Test.java:2738:38:2738:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2738:68:2738:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2739:10:2739:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2739:10:2739:34 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:2740:9:2740:11 | out | semmle.label | out | +| Test.java:2745:38:2745:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2745:68:2745:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2746:10:2746:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2746:10:2746:32 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:2747:9:2747:11 | out | semmle.label | out | +| Test.java:2752:38:2752:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2752:68:2752:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2753:10:2753:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2753:10:2753:57 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:2754:9:2754:11 | out | semmle.label | out | +| Test.java:2759:38:2759:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2759:68:2759:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2760:10:2760:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2760:10:2760:65 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:2761:9:2761:11 | out | semmle.label | out | +| Test.java:2766:38:2766:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2766:68:2766:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2767:10:2767:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2767:10:2767:64 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:2768:9:2768:11 | out | semmle.label | out | +| Test.java:2773:38:2773:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2773:68:2773:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2774:10:2774:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2774:10:2774:43 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:2775:9:2775:11 | out | semmle.label | out | +| Test.java:2780:38:2780:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2780:68:2780:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2781:10:2781:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2781:10:2781:47 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:2782:9:2782:11 | out | semmle.label | out | +| Test.java:2787:38:2787:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2787:68:2787:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2788:10:2788:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2788:10:2788:47 | add(...) : JsonObjectBuilder | semmle.label | add(...) : JsonObjectBuilder | +| Test.java:2789:9:2789:11 | out | semmle.label | out | +| Test.java:2794:14:2794:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2794:20:2794:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2795:4:2795:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:2795:26:2795:27 | in : Number | semmle.label | in : Number | +| Test.java:2796:9:2796:11 | out | semmle.label | out | +| Test.java:2801:30:2801:59 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:2801:52:2801:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2802:4:2802:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:2802:26:2802:27 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:2803:9:2803:11 | out | semmle.label | out | +| Test.java:2808:38:2808:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2808:68:2808:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2809:4:2809:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:2809:26:2809:27 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2810:9:2810:11 | out | semmle.label | out | +| Test.java:2815:37:2815:73 | (...)... : JsonArrayBuilder | semmle.label | (...)... : JsonArrayBuilder | +| Test.java:2815:66:2815:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2816:4:2816:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:2816:26:2816:27 | in : JsonArrayBuilder | semmle.label | in : JsonArrayBuilder | +| Test.java:2817:9:2817:11 | out | semmle.label | out | +| Test.java:2822:13:2822:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2822:18:2822:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2823:4:2823:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:2823:26:2823:27 | in : Number | semmle.label | in : Number | +| Test.java:2824:9:2824:11 | out | semmle.label | out | +| Test.java:2829:16:2829:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2829:24:2829:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2830:4:2830:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:2830:26:2830:27 | in : Number | semmle.label | in : Number | +| Test.java:2831:9:2831:11 | out | semmle.label | out | +| Test.java:2836:17:2836:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:2836:26:2836:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2837:4:2837:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:2837:26:2837:27 | in : Boolean | semmle.label | in : Boolean | +| Test.java:2838:9:2838:11 | out | semmle.label | out | +| Test.java:2843:16:2843:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2843:24:2843:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2844:4:2844:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:2844:26:2844:27 | in : String | semmle.label | in : String | +| Test.java:2845:9:2845:11 | out | semmle.label | out | +| Test.java:2850:20:2850:39 | (...)... : BigInteger | semmle.label | (...)... : BigInteger | +| Test.java:2850:32:2850:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2851:4:2851:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:2851:26:2851:27 | in : BigInteger | semmle.label | in : BigInteger | +| Test.java:2852:9:2852:11 | out | semmle.label | out | +| Test.java:2857:20:2857:39 | (...)... : BigDecimal | semmle.label | (...)... : BigDecimal | +| Test.java:2857:32:2857:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2858:4:2858:6 | out [post update] : JsonObjectBuilder | semmle.label | out [post update] : JsonObjectBuilder | +| Test.java:2858:26:2858:27 | in : BigDecimal | semmle.label | in : BigDecimal | +| Test.java:2859:9:2859:11 | out | semmle.label | out | +| Test.java:2864:38:2864:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2864:68:2864:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2865:10:2865:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2865:10:2865:24 | addAll(...) : JsonObjectBuilder | semmle.label | addAll(...) : JsonObjectBuilder | +| Test.java:2866:9:2866:11 | out | semmle.label | out | +| Test.java:2871:38:2871:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2871:68:2871:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2873:10:2873:28 | addAll(...) : JsonObjectBuilder | semmle.label | addAll(...) : JsonObjectBuilder | +| Test.java:2873:26:2873:27 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2874:9:2874:11 | out | semmle.label | out | +| Test.java:2879:38:2879:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2879:68:2879:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2880:10:2880:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2880:10:2880:25 | addNull(...) : JsonObjectBuilder | semmle.label | addNull(...) : JsonObjectBuilder | +| Test.java:2881:9:2881:11 | out | semmle.label | out | +| Test.java:2886:38:2886:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2886:68:2886:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2887:10:2887:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2887:10:2887:19 | build(...) : JsonObject | semmle.label | build(...) : JsonObject | +| Test.java:2888:9:2888:11 | out | semmle.label | out | +| Test.java:2893:38:2893:75 | (...)... : JsonObjectBuilder | semmle.label | (...)... : JsonObjectBuilder | +| Test.java:2893:68:2893:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2894:10:2894:11 | in : JsonObjectBuilder | semmle.label | in : JsonObjectBuilder | +| Test.java:2894:10:2894:24 | remove(...) : JsonObjectBuilder | semmle.label | remove(...) : JsonObjectBuilder | +| Test.java:2895:9:2895:11 | out | semmle.label | out | +| Test.java:2900:30:2900:59 | (...)... : JsonPatch | semmle.label | (...)... : JsonPatch | +| Test.java:2900:52:2900:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2901:10:2901:11 | in : JsonPatch | semmle.label | in : JsonPatch | +| Test.java:2901:10:2901:23 | apply(...) : JsonStructure | semmle.label | apply(...) : JsonStructure | +| Test.java:2902:9:2902:11 | out | semmle.label | out | +| Test.java:2907:34:2907:67 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:2907:60:2907:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2909:10:2909:27 | apply(...) : JsonStructure | semmle.label | apply(...) : JsonStructure | +| Test.java:2909:25:2909:26 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:2910:9:2910:11 | out | semmle.label | out | +| Test.java:2915:30:2915:59 | (...)... : JsonPatch | semmle.label | (...)... : JsonPatch | +| Test.java:2915:52:2915:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2916:10:2916:11 | in : JsonPatch | semmle.label | in : JsonPatch | +| Test.java:2916:10:2916:25 | toJsonArray(...) : JsonArray | semmle.label | toJsonArray(...) : JsonArray | +| Test.java:2917:9:2917:11 | out | semmle.label | out | +| Test.java:2922:37:2922:73 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:2922:66:2922:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2923:10:2923:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:2923:10:2923:36 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:2924:9:2924:11 | out | semmle.label | out | +| Test.java:2929:37:2929:73 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:2929:66:2929:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2930:10:2930:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:2930:10:2930:32 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:2931:9:2931:11 | out | semmle.label | out | +| Test.java:2936:37:2936:73 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:2936:66:2936:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2937:10:2937:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:2937:10:2937:57 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:2938:9:2938:11 | out | semmle.label | out | +| Test.java:2943:37:2943:73 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:2943:66:2943:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2944:10:2944:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:2944:10:2944:43 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:2945:9:2945:11 | out | semmle.label | out | +| Test.java:2950:30:2950:59 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:2950:52:2950:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2952:10:2952:39 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:2952:37:2952:38 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:2953:9:2953:11 | out | semmle.label | out | +| Test.java:2958:13:2958:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2958:18:2958:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2960:10:2960:39 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:2960:37:2960:38 | in : Number | semmle.label | in : Number | +| Test.java:2961:9:2961:11 | out | semmle.label | out | +| Test.java:2966:17:2966:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:2966:26:2966:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2968:10:2968:39 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:2968:37:2968:38 | in : Boolean | semmle.label | in : Boolean | +| Test.java:2969:9:2969:11 | out | semmle.label | out | +| Test.java:2974:16:2974:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2974:24:2974:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2976:10:2976:32 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:2976:23:2976:24 | in : String | semmle.label | in : String | +| Test.java:2977:9:2977:11 | out | semmle.label | out | +| Test.java:2982:16:2982:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2982:24:2982:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2984:10:2984:28 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:2984:23:2984:24 | in : String | semmle.label | in : String | +| Test.java:2985:9:2985:11 | out | semmle.label | out | +| Test.java:2990:16:2990:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2990:24:2990:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2992:10:2992:53 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:2992:23:2992:24 | in : String | semmle.label | in : String | +| Test.java:2993:9:2993:11 | out | semmle.label | out | +| Test.java:2998:16:2998:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2998:24:2998:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3000:10:3000:39 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:3000:23:3000:24 | in : String | semmle.label | in : String | +| Test.java:3001:9:3001:11 | out | semmle.label | out | +| Test.java:3006:16:3006:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3006:24:3006:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3008:10:3008:39 | add(...) : JsonPatchBuilder | semmle.label | add(...) : JsonPatchBuilder | +| Test.java:3008:37:3008:38 | in : String | semmle.label | in : String | +| Test.java:3009:9:3009:11 | out | semmle.label | out | +| Test.java:3014:37:3014:73 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:3014:66:3014:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3015:10:3015:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:3015:10:3015:19 | build(...) : JsonPatch | semmle.label | build(...) : JsonPatch | +| Test.java:3016:9:3016:11 | out | semmle.label | out | +| Test.java:3021:37:3021:73 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:3021:66:3021:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3022:10:3022:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:3022:10:3022:28 | copy(...) : JsonPatchBuilder | semmle.label | copy(...) : JsonPatchBuilder | +| Test.java:3023:9:3023:11 | out | semmle.label | out | +| Test.java:3028:16:3028:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3028:24:3028:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3030:10:3030:32 | copy(...) : JsonPatchBuilder | semmle.label | copy(...) : JsonPatchBuilder | +| Test.java:3030:30:3030:31 | in : String | semmle.label | in : String | +| Test.java:3031:9:3031:11 | out | semmle.label | out | +| Test.java:3036:16:3036:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3036:24:3036:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3038:10:3038:32 | copy(...) : JsonPatchBuilder | semmle.label | copy(...) : JsonPatchBuilder | +| Test.java:3038:24:3038:25 | in : String | semmle.label | in : String | +| Test.java:3039:9:3039:11 | out | semmle.label | out | +| Test.java:3044:37:3044:73 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:3044:66:3044:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3045:10:3045:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:3045:10:3045:28 | move(...) : JsonPatchBuilder | semmle.label | move(...) : JsonPatchBuilder | +| Test.java:3046:9:3046:11 | out | semmle.label | out | +| Test.java:3051:16:3051:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3051:24:3051:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3053:10:3053:32 | move(...) : JsonPatchBuilder | semmle.label | move(...) : JsonPatchBuilder | +| Test.java:3053:30:3053:31 | in : String | semmle.label | in : String | +| Test.java:3054:9:3054:11 | out | semmle.label | out | +| Test.java:3059:16:3059:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3059:24:3059:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3061:10:3061:32 | move(...) : JsonPatchBuilder | semmle.label | move(...) : JsonPatchBuilder | +| Test.java:3061:24:3061:25 | in : String | semmle.label | in : String | +| Test.java:3062:9:3062:11 | out | semmle.label | out | +| Test.java:3067:37:3067:73 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:3067:66:3067:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3068:10:3068:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:3068:10:3068:24 | remove(...) : JsonPatchBuilder | semmle.label | remove(...) : JsonPatchBuilder | +| Test.java:3069:9:3069:11 | out | semmle.label | out | +| Test.java:3074:16:3074:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3074:24:3074:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3076:10:3076:28 | remove(...) : JsonPatchBuilder | semmle.label | remove(...) : JsonPatchBuilder | +| Test.java:3076:26:3076:27 | in : String | semmle.label | in : String | +| Test.java:3077:9:3077:11 | out | semmle.label | out | +| Test.java:3082:37:3082:73 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:3082:66:3082:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3083:10:3083:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:3083:10:3083:40 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:3084:9:3084:11 | out | semmle.label | out | +| Test.java:3089:37:3089:73 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:3089:66:3089:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3090:10:3090:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:3090:10:3090:36 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:3091:9:3091:11 | out | semmle.label | out | +| Test.java:3096:37:3096:73 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:3096:66:3096:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3097:10:3097:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:3097:10:3097:61 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:3098:9:3098:11 | out | semmle.label | out | +| Test.java:3103:37:3103:73 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:3103:66:3103:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3104:10:3104:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:3104:10:3104:47 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:3105:9:3105:11 | out | semmle.label | out | +| Test.java:3110:30:3110:59 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:3110:52:3110:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3112:10:3112:43 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:3112:41:3112:42 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:3113:9:3113:11 | out | semmle.label | out | +| Test.java:3118:13:3118:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:3118:18:3118:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3120:10:3120:43 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:3120:41:3120:42 | in : Number | semmle.label | in : Number | +| Test.java:3121:9:3121:11 | out | semmle.label | out | +| Test.java:3126:17:3126:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:3126:26:3126:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3128:10:3128:43 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:3128:41:3128:42 | in : Boolean | semmle.label | in : Boolean | +| Test.java:3129:9:3129:11 | out | semmle.label | out | +| Test.java:3134:16:3134:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3134:24:3134:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3136:10:3136:36 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:3136:27:3136:28 | in : String | semmle.label | in : String | +| Test.java:3137:9:3137:11 | out | semmle.label | out | +| Test.java:3142:16:3142:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3142:24:3142:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3144:10:3144:32 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:3144:27:3144:28 | in : String | semmle.label | in : String | +| Test.java:3145:9:3145:11 | out | semmle.label | out | +| Test.java:3150:16:3150:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3150:24:3150:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3152:10:3152:57 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:3152:27:3152:28 | in : String | semmle.label | in : String | +| Test.java:3153:9:3153:11 | out | semmle.label | out | +| Test.java:3158:16:3158:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3158:24:3158:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3160:10:3160:43 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:3160:27:3160:28 | in : String | semmle.label | in : String | +| Test.java:3161:9:3161:11 | out | semmle.label | out | +| Test.java:3166:16:3166:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3166:24:3166:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3168:10:3168:43 | replace(...) : JsonPatchBuilder | semmle.label | replace(...) : JsonPatchBuilder | +| Test.java:3168:41:3168:42 | in : String | semmle.label | in : String | +| Test.java:3169:9:3169:11 | out | semmle.label | out | +| Test.java:3174:37:3174:73 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:3174:66:3174:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3175:10:3175:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:3175:10:3175:37 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:3176:9:3176:11 | out | semmle.label | out | +| Test.java:3181:37:3181:73 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:3181:66:3181:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3182:10:3182:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:3182:10:3182:33 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:3183:9:3183:11 | out | semmle.label | out | +| Test.java:3188:37:3188:73 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:3188:66:3188:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3189:10:3189:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:3189:10:3189:58 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:3190:9:3190:11 | out | semmle.label | out | +| Test.java:3195:37:3195:73 | (...)... : JsonPatchBuilder | semmle.label | (...)... : JsonPatchBuilder | +| Test.java:3195:66:3195:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3196:10:3196:11 | in : JsonPatchBuilder | semmle.label | in : JsonPatchBuilder | +| Test.java:3196:10:3196:44 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:3197:9:3197:11 | out | semmle.label | out | +| Test.java:3202:30:3202:59 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:3202:52:3202:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3204:10:3204:40 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:3204:38:3204:39 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:3205:9:3205:11 | out | semmle.label | out | +| Test.java:3210:13:3210:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:3210:18:3210:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3212:10:3212:40 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:3212:38:3212:39 | in : Number | semmle.label | in : Number | +| Test.java:3213:9:3213:11 | out | semmle.label | out | +| Test.java:3218:17:3218:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:3218:26:3218:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3220:10:3220:40 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:3220:38:3220:39 | in : Boolean | semmle.label | in : Boolean | +| Test.java:3221:9:3221:11 | out | semmle.label | out | +| Test.java:3226:16:3226:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3226:24:3226:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3228:10:3228:33 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:3228:24:3228:25 | in : String | semmle.label | in : String | +| Test.java:3229:9:3229:11 | out | semmle.label | out | +| Test.java:3234:16:3234:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3234:24:3234:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3236:10:3236:29 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:3236:24:3236:25 | in : String | semmle.label | in : String | +| Test.java:3237:9:3237:11 | out | semmle.label | out | +| Test.java:3242:16:3242:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3242:24:3242:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3244:10:3244:54 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:3244:24:3244:25 | in : String | semmle.label | in : String | +| Test.java:3245:9:3245:11 | out | semmle.label | out | +| Test.java:3250:16:3250:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3250:24:3250:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3252:10:3252:40 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:3252:24:3252:25 | in : String | semmle.label | in : String | +| Test.java:3253:9:3253:11 | out | semmle.label | out | +| Test.java:3258:16:3258:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:3258:24:3258:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3260:10:3260:40 | test(...) : JsonPatchBuilder | semmle.label | test(...) : JsonPatchBuilder | +| Test.java:3260:38:3260:39 | in : String | semmle.label | in : String | +| Test.java:3261:9:3261:11 | out | semmle.label | out | +| Test.java:3266:32:3266:63 | (...)... : JsonPointer | semmle.label | (...)... : JsonPointer | +| Test.java:3266:56:3266:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3267:10:3267:11 | in : JsonPointer | semmle.label | in : JsonPointer | +| Test.java:3267:10:3267:27 | add(...) : JsonStructure | semmle.label | add(...) : JsonStructure | +| Test.java:3268:9:3268:11 | out | semmle.label | out | +| Test.java:3273:30:3273:59 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:3273:52:3273:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3275:10:3275:31 | add(...) : JsonStructure | semmle.label | add(...) : JsonStructure | +| Test.java:3275:29:3275:30 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:3276:9:3276:11 | out | semmle.label | out | +| Test.java:3281:34:3281:67 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:3281:60:3281:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3283:10:3283:31 | add(...) : JsonStructure | semmle.label | add(...) : JsonStructure | +| Test.java:3283:23:3283:24 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:3284:9:3284:11 | out | semmle.label | out | +| Test.java:3289:34:3289:67 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:3289:60:3289:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3291:10:3291:30 | getValue(...) : JsonValue | semmle.label | getValue(...) : JsonValue | +| Test.java:3291:28:3291:29 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:3292:9:3292:11 | out | semmle.label | out | +| Test.java:3297:34:3297:67 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:3297:60:3297:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3299:10:3299:28 | remove(...) : JsonStructure | semmle.label | remove(...) : JsonStructure | +| Test.java:3299:26:3299:27 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:3300:9:3300:11 | out | semmle.label | out | +| Test.java:3305:30:3305:59 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:3305:52:3305:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3307:10:3307:35 | replace(...) : JsonStructure | semmle.label | replace(...) : JsonStructure | +| Test.java:3307:33:3307:34 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:3308:9:3308:11 | out | semmle.label | out | +| Test.java:3313:34:3313:67 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:3313:60:3313:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3315:10:3315:35 | replace(...) : JsonStructure | semmle.label | replace(...) : JsonStructure | +| Test.java:3315:27:3315:28 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:3316:9:3316:11 | out | semmle.label | out | +| Test.java:3321:31:3321:61 | (...)... : JsonReader | semmle.label | (...)... : JsonReader | +| Test.java:3321:54:3321:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3322:10:3322:11 | in : JsonReader | semmle.label | in : JsonReader | +| Test.java:3322:10:3322:18 | read(...) : JsonStructure | semmle.label | read(...) : JsonStructure | +| Test.java:3323:9:3323:11 | out | semmle.label | out | +| Test.java:3328:31:3328:61 | (...)... : JsonReader | semmle.label | (...)... : JsonReader | +| Test.java:3328:54:3328:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3329:10:3329:11 | in : JsonReader | semmle.label | in : JsonReader | +| Test.java:3329:10:3329:23 | readArray(...) : JsonArray | semmle.label | readArray(...) : JsonArray | +| Test.java:3330:9:3330:11 | out | semmle.label | out | +| Test.java:3335:31:3335:61 | (...)... : JsonReader | semmle.label | (...)... : JsonReader | +| Test.java:3335:54:3335:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3336:10:3336:11 | in : JsonReader | semmle.label | in : JsonReader | +| Test.java:3336:10:3336:24 | readObject(...) : JsonObject | semmle.label | readObject(...) : JsonObject | +| Test.java:3337:9:3337:11 | out | semmle.label | out | +| Test.java:3342:31:3342:61 | (...)... : JsonReader | semmle.label | (...)... : JsonReader | +| Test.java:3342:54:3342:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3343:10:3343:11 | in : JsonReader | semmle.label | in : JsonReader | +| Test.java:3343:10:3343:23 | readValue(...) : JsonValue | semmle.label | readValue(...) : JsonValue | +| Test.java:3344:9:3344:11 | out | semmle.label | out | +| Test.java:3349:16:3349:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:3349:24:3349:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3351:10:3351:34 | createReader(...) : JsonReader | semmle.label | createReader(...) : JsonReader | +| Test.java:3351:32:3351:33 | in : Reader | semmle.label | in : Reader | +| Test.java:3352:9:3352:11 | out | semmle.label | out | +| Test.java:3357:21:3357:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:3357:34:3357:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3359:10:3359:40 | createReader(...) : JsonReader | semmle.label | createReader(...) : JsonReader | +| Test.java:3359:32:3359:33 | in : InputStream | semmle.label | in : InputStream | +| Test.java:3360:9:3360:11 | out | semmle.label | out | +| Test.java:3365:21:3365:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:3365:34:3365:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3367:10:3367:34 | createReader(...) : JsonReader | semmle.label | createReader(...) : JsonReader | +| Test.java:3367:32:3367:33 | in : InputStream | semmle.label | in : InputStream | +| Test.java:3368:9:3368:11 | out | semmle.label | out | +| Test.java:3373:31:3373:61 | (...)... : JsonString | semmle.label | (...)... : JsonString | +| Test.java:3373:54:3373:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3374:10:3374:11 | in : JsonString | semmle.label | in : JsonString | +| Test.java:3374:10:3374:22 | getChars(...) : CharSequence | semmle.label | getChars(...) : CharSequence | +| Test.java:3375:9:3375:11 | out | semmle.label | out | +| Test.java:3380:31:3380:61 | (...)... : JsonString | semmle.label | (...)... : JsonString | +| Test.java:3380:54:3380:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3381:10:3381:11 | in : JsonString | semmle.label | in : JsonString | +| Test.java:3381:10:3381:23 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:3382:9:3382:11 | out | semmle.label | out | +| Test.java:3387:34:3387:67 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:3387:60:3387:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3388:10:3388:11 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:3388:10:3388:26 | getValue(...) : JsonValue | semmle.label | getValue(...) : JsonValue | +| Test.java:3389:9:3389:11 | out | semmle.label | out | +| Test.java:3394:30:3394:59 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:3394:52:3394:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3395:10:3395:11 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:3395:10:3395:25 | asJsonArray(...) : JsonArray | semmle.label | asJsonArray(...) : JsonArray | +| Test.java:3396:9:3396:11 | out | semmle.label | out | +| Test.java:3401:30:3401:59 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:3401:52:3401:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3402:10:3402:11 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:3402:10:3402:26 | asJsonObject(...) : JsonObject | semmle.label | asJsonObject(...) : JsonObject | +| Test.java:3403:9:3403:11 | out | semmle.label | out | +| Test.java:3408:30:3408:59 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:3408:52:3408:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3409:10:3409:11 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:3409:10:3409:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:3410:9:3410:11 | out | semmle.label | out | +| Test.java:3415:31:3415:61 | (...)... : JsonNumber | semmle.label | (...)... : JsonNumber | +| Test.java:3415:54:3415:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3416:10:3416:11 | in : JsonNumber | semmle.label | in : JsonNumber | +| Test.java:3416:10:3416:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:3417:9:3417:11 | out | semmle.label | out | +| Test.java:3422:30:3422:59 | (...)... : JsonValue | semmle.label | (...)... : JsonValue | +| Test.java:3422:52:3422:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3423:4:3423:6 | out [post update] : JsonWriter | semmle.label | out [post update] : JsonWriter | +| Test.java:3423:14:3423:15 | in : JsonValue | semmle.label | in : JsonValue | +| Test.java:3424:9:3424:11 | out | semmle.label | out | +| Test.java:3429:34:3429:67 | (...)... : JsonStructure | semmle.label | (...)... : JsonStructure | +| Test.java:3429:60:3429:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3430:4:3430:6 | out [post update] : JsonWriter | semmle.label | out [post update] : JsonWriter | +| Test.java:3430:14:3430:15 | in : JsonStructure | semmle.label | in : JsonStructure | +| Test.java:3431:9:3431:11 | out | semmle.label | out | +| Test.java:3436:30:3436:59 | (...)... : JsonArray | semmle.label | (...)... : JsonArray | +| Test.java:3436:52:3436:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3437:4:3437:6 | out [post update] : JsonWriter | semmle.label | out [post update] : JsonWriter | +| Test.java:3437:19:3437:20 | in : JsonArray | semmle.label | in : JsonArray | +| Test.java:3438:9:3438:11 | out | semmle.label | out | +| Test.java:3443:31:3443:61 | (...)... : JsonObject | semmle.label | (...)... : JsonObject | +| Test.java:3443:54:3443:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3444:4:3444:6 | out [post update] : JsonWriter | semmle.label | out [post update] : JsonWriter | +| Test.java:3444:20:3444:21 | in : JsonObject | semmle.label | in : JsonObject | +| Test.java:3445:9:3445:11 | out | semmle.label | out | +| Test.java:3450:38:3450:75 | (...)... : JsonWriterFactory | semmle.label | (...)... : JsonWriterFactory | +| Test.java:3450:68:3450:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3451:4:3451:5 | in : JsonWriterFactory | semmle.label | in : JsonWriterFactory | +| Test.java:3451:20:3451:22 | out [post update] : Writer | semmle.label | out [post update] : Writer | +| Test.java:3452:9:3452:11 | out | semmle.label | out | +| Test.java:3457:38:3457:75 | (...)... : JsonWriterFactory | semmle.label | (...)... : JsonWriterFactory | +| Test.java:3457:68:3457:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3458:4:3458:5 | in : JsonWriterFactory | semmle.label | in : JsonWriterFactory | +| Test.java:3458:20:3458:22 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:3459:9:3459:11 | out | semmle.label | out | +| Test.java:3464:38:3464:75 | (...)... : JsonWriterFactory | semmle.label | (...)... : JsonWriterFactory | +| Test.java:3464:68:3464:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3465:4:3465:5 | in : JsonWriterFactory | semmle.label | in : JsonWriterFactory | +| Test.java:3465:20:3465:22 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:3466:9:3466:11 | out | semmle.label | out | +subpaths +| Test.java:68:47:68:54 | source(...) : Object | Test.java:17:28:17:41 | element : Object | Test.java:17:53:17:68 | of(...) : List [] : Object | Test.java:68:32:68:55 | newWithElement(...) : List [] : Object | +| Test.java:124:32:124:39 | source(...) : Object | Test.java:18:20:18:33 | element : Object | Test.java:18:45:18:65 | of(...) : Map [] : Object | Test.java:124:18:124:40 | newWithMapKey(...) : Map [] : Object | +| Test.java:131:34:131:41 | source(...) : Object | Test.java:19:22:19:35 | element : Object | Test.java:19:47:19:67 | of(...) : Map [] : Object | Test.java:131:18:131:42 | newWithMapValue(...) : Map [] : Object | +| Test.java:1793:47:1793:54 | source(...) : Object | Test.java:17:28:17:41 | element : Object | Test.java:17:53:17:68 | of(...) : List [] : Object | Test.java:1793:32:1793:55 | newWithElement(...) : List [] : Object | +| Test.java:1849:32:1849:39 | source(...) : Object | Test.java:18:20:18:33 | element : Object | Test.java:18:45:18:65 | of(...) : Map [] : Object | Test.java:1849:18:1849:40 | newWithMapKey(...) : Map [] : Object | +| Test.java:1856:34:1856:41 | source(...) : Object | Test.java:19:22:19:35 | element : Object | Test.java:19:47:19:67 | of(...) : Map [] : Object | Test.java:1856:18:1856:42 | newWithMapValue(...) : Map [] : Object | +testFailures diff --git a/java/ql/test/library-tests/frameworks/jdk/java.io/test.expected b/java/ql/test/library-tests/frameworks/jdk/java.io/test.expected index e69de29bb2d..60f215203c4 100644 --- a/java/ql/test/library-tests/frameworks/jdk/java.io/test.expected +++ b/java/ql/test/library-tests/frameworks/jdk/java.io/test.expected @@ -0,0 +1,1012 @@ +models +| 1 | Summary: java.io; BufferedInputStream; false; BufferedInputStream; ; ; Argument[0]; Argument[this]; taint; manual | +| 2 | Summary: java.io; BufferedReader; false; BufferedReader; ; ; Argument[0]; Argument[this]; taint; manual | +| 3 | Summary: java.io; BufferedReader; true; readLine; ; ; Argument[this]; ReturnValue; taint; manual | +| 4 | Summary: java.io; ByteArrayInputStream; false; ByteArrayInputStream; ; ; Argument[0]; Argument[this]; taint; manual | +| 5 | Summary: java.io; ByteArrayOutputStream; false; toByteArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 6 | Summary: java.io; ByteArrayOutputStream; false; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 7 | Summary: java.io; ByteArrayOutputStream; false; writeTo; ; ; Argument[this]; Argument[0]; taint; manual | +| 8 | Summary: java.io; CharArrayReader; false; CharArrayReader; ; ; Argument[0]; Argument[this]; taint; manual | +| 9 | Summary: java.io; CharArrayWriter; true; toCharArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 10 | Summary: java.io; DataInput; true; readFully; ; ; Argument[this]; Argument[0]; taint; manual | +| 11 | Summary: java.io; DataInput; true; readLine; (); ; Argument[this]; ReturnValue; taint; manual | +| 12 | Summary: java.io; DataInput; true; readUTF; (); ; Argument[this]; ReturnValue; taint; manual | +| 13 | Summary: java.io; DataInputStream; false; DataInputStream; ; ; Argument[0]; Argument[this]; taint; manual | +| 14 | Summary: java.io; File; false; File; ; ; Argument[0]; Argument[this]; taint; manual | +| 15 | Summary: java.io; File; false; File; ; ; Argument[1]; Argument[this]; taint; manual | +| 16 | Summary: java.io; File; true; getAbsoluteFile; ; ; Argument[this]; ReturnValue; taint; manual | +| 17 | Summary: java.io; File; true; getAbsolutePath; ; ; Argument[this]; ReturnValue; taint; manual | +| 18 | Summary: java.io; File; true; getCanonicalFile; ; ; Argument[this]; ReturnValue; taint; manual | +| 19 | Summary: java.io; File; true; getCanonicalPath; ; ; Argument[this]; ReturnValue; taint; manual | +| 20 | Summary: java.io; File; true; getName; (); ; Argument[this]; ReturnValue; taint; manual | +| 21 | Summary: java.io; File; true; toPath; ; ; Argument[this]; ReturnValue; taint; manual | +| 22 | Summary: java.io; File; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 23 | Summary: java.io; File; true; toURI; ; ; Argument[this]; ReturnValue; taint; manual | +| 24 | Summary: java.io; FilterOutputStream; true; FilterOutputStream; (OutputStream); ; Argument[0]; Argument[this]; taint; manual | +| 25 | Summary: java.io; InputStream; true; read; (byte[]); ; Argument[this]; Argument[0]; taint; manual | +| 26 | Summary: java.io; InputStream; true; read; (byte[],int,int); ; Argument[this]; Argument[0]; taint; manual | +| 27 | Summary: java.io; InputStream; true; readAllBytes; ; ; Argument[this]; ReturnValue; taint; manual | +| 28 | Summary: java.io; InputStream; true; readNBytes; (byte[],int,int); ; Argument[this]; Argument[0]; taint; manual | +| 29 | Summary: java.io; InputStream; true; readNBytes; (int); ; Argument[this]; ReturnValue; taint; manual | +| 30 | Summary: java.io; InputStream; true; transferTo; (OutputStream); ; Argument[this]; Argument[0]; taint; manual | +| 31 | Summary: java.io; InputStreamReader; false; InputStreamReader; ; ; Argument[0]; Argument[this]; taint; manual | +| 32 | Summary: java.io; IOException; false; IOException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual | +| 33 | Summary: java.io; ObjectInput; true; read; ; ; Argument[this]; Argument[0]; taint; manual | +| 34 | Summary: java.io; ObjectInputStream; false; ObjectInputStream; ; ; Argument[0]; Argument[this]; taint; manual | +| 35 | Summary: java.io; OutputStream; true; write; (byte[]); ; Argument[0]; Argument[this]; taint; manual | +| 36 | Summary: java.io; OutputStream; true; write; (byte[],int,int); ; Argument[0]; Argument[this]; taint; manual | +| 37 | Summary: java.io; OutputStream; true; write; (int); ; Argument[0]; Argument[this]; taint; manual | +| 38 | Summary: java.io; Reader; true; read; ; ; Argument[this]; Argument[0]; taint; manual | +| 39 | Summary: java.io; StringReader; false; StringReader; ; ; Argument[0]; Argument[this]; taint; manual | +| 40 | Summary: java.io; Writer; true; write; ; ; Argument[0]; Argument[this]; taint; manual | +| 41 | Summary: generatedtest; Test; false; getThrowable_messageDefault; (Object); ; Argument[0].SyntheticField[java.lang.Throwable.message]; ReturnValue; value; manual | +edges +| Test.java:50:21:50:42 | (...)... : InputStream | Test.java:51:34:51:35 | in : InputStream | provenance | | +| Test.java:50:21:50:42 | (...)... : InputStream | Test.java:52:9:52:11 | out | provenance | inputStreamWrapper | +| Test.java:50:35:50:42 | source(...) : Object | Test.java:50:21:50:42 | (...)... : InputStream | provenance | | +| Test.java:51:10:51:36 | new BufferedInputStream(...) : BufferedInputStream | Test.java:52:9:52:11 | out | provenance | | +| Test.java:51:34:51:35 | in : InputStream | Test.java:51:10:51:36 | new BufferedInputStream(...) : BufferedInputStream | provenance | MaD:1 | +| Test.java:57:21:57:42 | (...)... : InputStream | Test.java:58:34:58:35 | in : InputStream | provenance | | +| Test.java:57:21:57:42 | (...)... : InputStream | Test.java:59:9:59:11 | out | provenance | inputStreamWrapper | +| Test.java:57:35:57:42 | source(...) : Object | Test.java:57:21:57:42 | (...)... : InputStream | provenance | | +| Test.java:58:10:58:39 | new BufferedInputStream(...) : BufferedInputStream | Test.java:59:9:59:11 | out | provenance | | +| Test.java:58:34:58:35 | in : InputStream | Test.java:58:10:58:39 | new BufferedInputStream(...) : BufferedInputStream | provenance | MaD:1 | +| Test.java:64:16:64:32 | (...)... : Reader | Test.java:65:29:65:30 | in : Reader | provenance | | +| Test.java:64:25:64:32 | source(...) : Object | Test.java:64:16:64:32 | (...)... : Reader | provenance | | +| Test.java:65:10:65:31 | new BufferedReader(...) : BufferedReader | Test.java:66:9:66:11 | out | provenance | | +| Test.java:65:29:65:30 | in : Reader | Test.java:65:10:65:31 | new BufferedReader(...) : BufferedReader | provenance | MaD:2 | +| Test.java:71:16:71:32 | (...)... : Reader | Test.java:72:29:72:30 | in : Reader | provenance | | +| Test.java:71:25:71:32 | source(...) : Object | Test.java:71:16:71:32 | (...)... : Reader | provenance | | +| Test.java:72:10:72:34 | new BufferedReader(...) : BufferedReader | Test.java:73:9:73:11 | out | provenance | | +| Test.java:72:29:72:30 | in : Reader | Test.java:72:10:72:34 | new BufferedReader(...) : BufferedReader | provenance | MaD:2 | +| Test.java:78:24:78:48 | (...)... : BufferedReader | Test.java:79:10:79:11 | in : BufferedReader | provenance | | +| Test.java:78:41:78:48 | source(...) : Object | Test.java:78:24:78:48 | (...)... : BufferedReader | provenance | | +| Test.java:79:10:79:11 | in : BufferedReader | Test.java:79:10:79:22 | readLine(...) : String | provenance | MaD:3 | +| Test.java:79:10:79:22 | readLine(...) : String | Test.java:80:9:80:11 | out | provenance | | +| Test.java:85:16:85:32 | (...)... : byte[] | Test.java:86:35:86:36 | in : byte[] | provenance | | +| Test.java:85:16:85:32 | (...)... : byte[] | Test.java:87:9:87:11 | out | provenance | inputStreamWrapper | +| Test.java:85:25:85:32 | source(...) : Object | Test.java:85:16:85:32 | (...)... : byte[] | provenance | | +| Test.java:86:10:86:37 | new ByteArrayInputStream(...) : ByteArrayInputStream | Test.java:87:9:87:11 | out | provenance | | +| Test.java:86:35:86:36 | in : byte[] | Test.java:86:10:86:37 | new ByteArrayInputStream(...) : ByteArrayInputStream | provenance | MaD:4 | +| Test.java:92:16:92:32 | (...)... : byte[] | Test.java:93:35:93:36 | in : byte[] | provenance | | +| Test.java:92:16:92:32 | (...)... : byte[] | Test.java:94:9:94:11 | out | provenance | inputStreamWrapper | +| Test.java:92:25:92:32 | source(...) : Object | Test.java:92:16:92:32 | (...)... : byte[] | provenance | | +| Test.java:93:10:93:43 | new ByteArrayInputStream(...) : ByteArrayInputStream | Test.java:94:9:94:11 | out | provenance | | +| Test.java:93:35:93:36 | in : byte[] | Test.java:93:10:93:43 | new ByteArrayInputStream(...) : ByteArrayInputStream | provenance | MaD:4 | +| Test.java:99:31:99:62 | (...)... : ByteArrayOutputStream | Test.java:100:10:100:11 | in : ByteArrayOutputStream | provenance | | +| Test.java:99:55:99:62 | source(...) : Object | Test.java:99:31:99:62 | (...)... : ByteArrayOutputStream | provenance | | +| Test.java:100:10:100:11 | in : ByteArrayOutputStream | Test.java:100:10:100:25 | toByteArray(...) : byte[] | provenance | MaD:5 | +| Test.java:100:10:100:25 | toByteArray(...) : byte[] | Test.java:101:9:101:11 | out | provenance | | +| Test.java:106:31:106:62 | (...)... : ByteArrayOutputStream | Test.java:107:10:107:11 | in : ByteArrayOutputStream | provenance | | +| Test.java:106:55:106:62 | source(...) : Object | Test.java:106:31:106:62 | (...)... : ByteArrayOutputStream | provenance | | +| Test.java:107:10:107:11 | in : ByteArrayOutputStream | Test.java:107:10:107:36 | toString(...) : String | provenance | MaD:6 | +| Test.java:107:10:107:36 | toString(...) : String | Test.java:108:9:108:11 | out | provenance | | +| Test.java:113:31:113:62 | (...)... : ByteArrayOutputStream | Test.java:114:10:114:11 | in : ByteArrayOutputStream | provenance | | +| Test.java:113:55:113:62 | source(...) : Object | Test.java:113:31:113:62 | (...)... : ByteArrayOutputStream | provenance | | +| Test.java:114:10:114:11 | in : ByteArrayOutputStream | Test.java:114:10:114:35 | toString(...) : String | provenance | MaD:6 | +| Test.java:114:10:114:35 | toString(...) : String | Test.java:115:9:115:11 | out | provenance | | +| Test.java:120:31:120:62 | (...)... : ByteArrayOutputStream | Test.java:121:10:121:11 | in : ByteArrayOutputStream | provenance | | +| Test.java:120:55:120:62 | source(...) : Object | Test.java:120:31:120:62 | (...)... : ByteArrayOutputStream | provenance | | +| Test.java:121:10:121:11 | in : ByteArrayOutputStream | Test.java:121:10:121:22 | toString(...) : String | provenance | MaD:6 | +| Test.java:121:10:121:22 | toString(...) : String | Test.java:122:9:122:11 | out | provenance | | +| Test.java:127:31:127:62 | (...)... : ByteArrayOutputStream | Test.java:128:10:128:11 | in : ByteArrayOutputStream | provenance | | +| Test.java:127:55:127:62 | source(...) : Object | Test.java:127:31:127:62 | (...)... : ByteArrayOutputStream | provenance | | +| Test.java:128:10:128:11 | in : ByteArrayOutputStream | Test.java:128:10:128:23 | toString(...) : String | provenance | MaD:6 | +| Test.java:128:10:128:23 | toString(...) : String | Test.java:129:9:129:11 | out | provenance | | +| Test.java:134:31:134:62 | (...)... : ByteArrayOutputStream | Test.java:135:4:135:5 | in : ByteArrayOutputStream | provenance | | +| Test.java:134:55:134:62 | source(...) : Object | Test.java:134:31:134:62 | (...)... : ByteArrayOutputStream | provenance | | +| Test.java:135:4:135:5 | in : ByteArrayOutputStream | Test.java:135:15:135:17 | out [post update] : OutputStream | provenance | MaD:7 | +| Test.java:135:15:135:17 | out [post update] : OutputStream | Test.java:136:9:136:11 | out | provenance | | +| Test.java:141:16:141:32 | (...)... : char[] | Test.java:142:30:142:31 | in : char[] | provenance | | +| Test.java:141:25:141:32 | source(...) : Object | Test.java:141:16:141:32 | (...)... : char[] | provenance | | +| Test.java:142:10:142:32 | new CharArrayReader(...) : CharArrayReader | Test.java:143:9:143:11 | out | provenance | | +| Test.java:142:30:142:31 | in : char[] | Test.java:142:10:142:32 | new CharArrayReader(...) : CharArrayReader | provenance | MaD:8 | +| Test.java:148:16:148:32 | (...)... : char[] | Test.java:149:30:149:31 | in : char[] | provenance | | +| Test.java:148:25:148:32 | source(...) : Object | Test.java:148:16:148:32 | (...)... : char[] | provenance | | +| Test.java:149:10:149:38 | new CharArrayReader(...) : CharArrayReader | Test.java:150:9:150:11 | out | provenance | | +| Test.java:149:30:149:31 | in : char[] | Test.java:149:10:149:38 | new CharArrayReader(...) : CharArrayReader | provenance | MaD:8 | +| Test.java:155:25:155:50 | (...)... : CharArrayWriter | Test.java:156:10:156:11 | in : CharArrayWriter | provenance | | +| Test.java:155:43:155:50 | source(...) : Object | Test.java:155:25:155:50 | (...)... : CharArrayWriter | provenance | | +| Test.java:156:10:156:11 | in : CharArrayWriter | Test.java:156:10:156:25 | toCharArray(...) : char[] | provenance | MaD:9 | +| Test.java:156:10:156:25 | toCharArray(...) : char[] | Test.java:157:9:157:11 | out | provenance | | +| Test.java:162:19:162:38 | (...)... : DataInput | Test.java:163:4:163:5 | in : DataInput | provenance | | +| Test.java:162:31:162:38 | source(...) : Object | Test.java:162:19:162:38 | (...)... : DataInput | provenance | | +| Test.java:163:4:163:5 | in : DataInput | Test.java:163:17:163:19 | out [post update] : byte[] | provenance | MaD:10 | +| Test.java:163:17:163:19 | out [post update] : byte[] | Test.java:164:9:164:11 | out | provenance | | +| Test.java:169:19:169:38 | (...)... : DataInput | Test.java:170:4:170:5 | in : DataInput | provenance | | +| Test.java:169:31:169:38 | source(...) : Object | Test.java:169:19:169:38 | (...)... : DataInput | provenance | | +| Test.java:170:4:170:5 | in : DataInput | Test.java:170:17:170:19 | out [post update] : byte[] | provenance | MaD:10 | +| Test.java:170:17:170:19 | out [post update] : byte[] | Test.java:171:9:171:11 | out | provenance | | +| Test.java:176:25:176:50 | (...)... : DataInputStream | Test.java:177:4:177:5 | in : DataInputStream | provenance | | +| Test.java:176:43:176:50 | source(...) : Object | Test.java:176:25:176:50 | (...)... : DataInputStream | provenance | | +| Test.java:177:4:177:5 | in : DataInputStream | Test.java:177:17:177:19 | out [post update] : byte[] | provenance | MaD:10 | +| Test.java:177:17:177:19 | out [post update] : byte[] | Test.java:178:9:178:11 | out | provenance | | +| Test.java:183:25:183:50 | (...)... : DataInputStream | Test.java:184:4:184:5 | in : DataInputStream | provenance | | +| Test.java:183:43:183:50 | source(...) : Object | Test.java:183:25:183:50 | (...)... : DataInputStream | provenance | | +| Test.java:184:4:184:5 | in : DataInputStream | Test.java:184:17:184:19 | out [post update] : byte[] | provenance | MaD:10 | +| Test.java:184:17:184:19 | out [post update] : byte[] | Test.java:185:9:185:11 | out | provenance | | +| Test.java:190:27:190:54 | (...)... : ObjectInputStream | Test.java:191:4:191:5 | in : ObjectInputStream | provenance | | +| Test.java:190:47:190:54 | source(...) : Object | Test.java:190:27:190:54 | (...)... : ObjectInputStream | provenance | | +| Test.java:191:4:191:5 | in : ObjectInputStream | Test.java:191:17:191:19 | out [post update] : byte[] | provenance | MaD:10 | +| Test.java:191:17:191:19 | out [post update] : byte[] | Test.java:192:9:192:11 | out | provenance | | +| Test.java:197:27:197:54 | (...)... : ObjectInputStream | Test.java:198:4:198:5 | in : ObjectInputStream | provenance | | +| Test.java:197:47:197:54 | source(...) : Object | Test.java:197:27:197:54 | (...)... : ObjectInputStream | provenance | | +| Test.java:198:4:198:5 | in : ObjectInputStream | Test.java:198:17:198:19 | out [post update] : byte[] | provenance | MaD:10 | +| Test.java:198:17:198:19 | out [post update] : byte[] | Test.java:199:9:199:11 | out | provenance | | +| Test.java:204:19:204:38 | (...)... : DataInput | Test.java:205:10:205:11 | in : DataInput | provenance | | +| Test.java:204:31:204:38 | source(...) : Object | Test.java:204:19:204:38 | (...)... : DataInput | provenance | | +| Test.java:205:10:205:11 | in : DataInput | Test.java:205:10:205:22 | readLine(...) : String | provenance | MaD:11 | +| Test.java:205:10:205:22 | readLine(...) : String | Test.java:206:9:206:11 | out | provenance | | +| Test.java:211:25:211:50 | (...)... : DataInputStream | Test.java:212:10:212:11 | in : DataInputStream | provenance | | +| Test.java:211:43:211:50 | source(...) : Object | Test.java:211:25:211:50 | (...)... : DataInputStream | provenance | | +| Test.java:212:10:212:11 | in : DataInputStream | Test.java:212:10:212:22 | readLine(...) : String | provenance | MaD:11 | +| Test.java:212:10:212:22 | readLine(...) : String | Test.java:213:9:213:11 | out | provenance | | +| Test.java:218:27:218:54 | (...)... : ObjectInputStream | Test.java:219:10:219:11 | in : ObjectInputStream | provenance | | +| Test.java:218:27:218:54 | (...)... : ObjectInputStream | Test.java:220:9:220:11 | out | provenance | TypeObjectInputStream.read% | +| Test.java:218:47:218:54 | source(...) : Object | Test.java:218:27:218:54 | (...)... : ObjectInputStream | provenance | | +| Test.java:219:10:219:11 | in : ObjectInputStream | Test.java:219:10:219:22 | readLine(...) : String | provenance | MaD:11 | +| Test.java:219:10:219:22 | readLine(...) : String | Test.java:220:9:220:11 | out | provenance | | +| Test.java:225:19:225:38 | (...)... : DataInput | Test.java:226:10:226:11 | in : DataInput | provenance | | +| Test.java:225:31:225:38 | source(...) : Object | Test.java:225:19:225:38 | (...)... : DataInput | provenance | | +| Test.java:226:10:226:11 | in : DataInput | Test.java:226:10:226:21 | readUTF(...) : String | provenance | MaD:12 | +| Test.java:226:10:226:21 | readUTF(...) : String | Test.java:227:9:227:11 | out | provenance | | +| Test.java:232:25:232:50 | (...)... : DataInputStream | Test.java:233:10:233:11 | in : DataInputStream | provenance | | +| Test.java:232:43:232:50 | source(...) : Object | Test.java:232:25:232:50 | (...)... : DataInputStream | provenance | | +| Test.java:233:10:233:11 | in : DataInputStream | Test.java:233:10:233:21 | readUTF(...) : String | provenance | MaD:12 | +| Test.java:233:10:233:21 | readUTF(...) : String | Test.java:234:9:234:11 | out | provenance | | +| Test.java:239:27:239:54 | (...)... : ObjectInputStream | Test.java:240:10:240:11 | in : ObjectInputStream | provenance | | +| Test.java:239:27:239:54 | (...)... : ObjectInputStream | Test.java:241:9:241:11 | out | provenance | TypeObjectInputStream.read% | +| Test.java:239:47:239:54 | source(...) : Object | Test.java:239:27:239:54 | (...)... : ObjectInputStream | provenance | | +| Test.java:240:10:240:11 | in : ObjectInputStream | Test.java:240:10:240:21 | readUTF(...) : String | provenance | MaD:12 | +| Test.java:240:10:240:21 | readUTF(...) : String | Test.java:241:9:241:11 | out | provenance | | +| Test.java:246:21:246:42 | (...)... : InputStream | Test.java:247:30:247:31 | in : InputStream | provenance | | +| Test.java:246:21:246:42 | (...)... : InputStream | Test.java:248:9:248:11 | out | provenance | inputStreamWrapper | +| Test.java:246:35:246:42 | source(...) : Object | Test.java:246:21:246:42 | (...)... : InputStream | provenance | | +| Test.java:247:10:247:32 | new DataInputStream(...) : DataInputStream | Test.java:248:9:248:11 | out | provenance | | +| Test.java:247:30:247:31 | in : InputStream | Test.java:247:10:247:32 | new DataInputStream(...) : DataInputStream | provenance | MaD:13 | +| Test.java:253:14:253:28 | (...)... : File | Test.java:254:19:254:20 | in : File | provenance | | +| Test.java:253:21:253:28 | source(...) : Object | Test.java:253:14:253:28 | (...)... : File | provenance | | +| Test.java:254:10:254:36 | new File(...) : File | Test.java:255:9:255:11 | out | provenance | | +| Test.java:254:19:254:20 | in : File | Test.java:254:10:254:36 | new File(...) : File | provenance | MaD:14 | +| Test.java:260:16:260:32 | (...)... : String | Test.java:261:19:261:20 | in : String | provenance | | +| Test.java:260:25:260:32 | source(...) : Object | Test.java:260:16:260:32 | (...)... : String | provenance | | +| Test.java:261:10:261:21 | new File(...) : File | Test.java:262:9:262:11 | out | provenance | | +| Test.java:261:19:261:20 | in : String | Test.java:261:10:261:21 | new File(...) : File | provenance | MaD:14 | +| Test.java:267:16:267:32 | (...)... : String | Test.java:268:19:268:20 | in : String | provenance | | +| Test.java:267:25:267:32 | source(...) : Object | Test.java:267:16:267:32 | (...)... : String | provenance | | +| Test.java:268:10:268:36 | new File(...) : File | Test.java:269:9:269:11 | out | provenance | | +| Test.java:268:19:268:20 | in : String | Test.java:268:10:268:36 | new File(...) : File | provenance | MaD:14 | +| Test.java:274:13:274:26 | (...)... : URI | Test.java:275:19:275:20 | in : URI | provenance | | +| Test.java:274:19:274:26 | source(...) : Object | Test.java:274:13:274:26 | (...)... : URI | provenance | | +| Test.java:275:10:275:21 | new File(...) : File | Test.java:276:9:276:11 | out | provenance | | +| Test.java:275:19:275:20 | in : URI | Test.java:275:10:275:21 | new File(...) : File | provenance | MaD:14 | +| Test.java:281:16:281:32 | (...)... : String | Test.java:282:32:282:33 | in : String | provenance | | +| Test.java:281:25:281:32 | source(...) : Object | Test.java:281:16:281:32 | (...)... : String | provenance | | +| Test.java:282:10:282:34 | new File(...) : File | Test.java:283:9:283:11 | out | provenance | | +| Test.java:282:32:282:33 | in : String | Test.java:282:10:282:34 | new File(...) : File | provenance | MaD:15 | +| Test.java:288:16:288:32 | (...)... : String | Test.java:289:34:289:35 | in : String | provenance | | +| Test.java:288:25:288:32 | source(...) : Object | Test.java:288:16:288:32 | (...)... : String | provenance | | +| Test.java:289:10:289:36 | new File(...) : File | Test.java:290:9:290:11 | out | provenance | | +| Test.java:289:34:289:35 | in : String | Test.java:289:10:289:36 | new File(...) : File | provenance | MaD:15 | +| Test.java:295:14:295:28 | (...)... : File | Test.java:296:10:296:11 | in : File | provenance | | +| Test.java:295:21:295:28 | source(...) : Object | Test.java:295:14:295:28 | (...)... : File | provenance | | +| Test.java:296:10:296:11 | in : File | Test.java:296:10:296:29 | getAbsoluteFile(...) : File | provenance | MaD:16 | +| Test.java:296:10:296:29 | getAbsoluteFile(...) : File | Test.java:297:9:297:11 | out | provenance | | +| Test.java:302:14:302:28 | (...)... : File | Test.java:303:10:303:11 | in : File | provenance | | +| Test.java:302:21:302:28 | source(...) : Object | Test.java:302:14:302:28 | (...)... : File | provenance | | +| Test.java:303:10:303:11 | in : File | Test.java:303:10:303:29 | getAbsolutePath(...) : String | provenance | MaD:17 | +| Test.java:303:10:303:29 | getAbsolutePath(...) : String | Test.java:304:9:304:11 | out | provenance | | +| Test.java:309:14:309:28 | (...)... : File | Test.java:310:10:310:11 | in : File | provenance | | +| Test.java:309:21:309:28 | source(...) : Object | Test.java:309:14:309:28 | (...)... : File | provenance | | +| Test.java:310:10:310:11 | in : File | Test.java:310:10:310:30 | getCanonicalFile(...) : File | provenance | MaD:18 | +| Test.java:310:10:310:30 | getCanonicalFile(...) : File | Test.java:311:9:311:11 | out | provenance | | +| Test.java:316:14:316:28 | (...)... : File | Test.java:317:10:317:11 | in : File | provenance | | +| Test.java:316:21:316:28 | source(...) : Object | Test.java:316:14:316:28 | (...)... : File | provenance | | +| Test.java:317:10:317:11 | in : File | Test.java:317:10:317:30 | getCanonicalPath(...) : String | provenance | MaD:19 | +| Test.java:317:10:317:30 | getCanonicalPath(...) : String | Test.java:318:9:318:11 | out | provenance | | +| Test.java:323:14:323:28 | (...)... : File | Test.java:324:10:324:11 | in : File | provenance | | +| Test.java:323:21:323:28 | source(...) : Object | Test.java:323:14:323:28 | (...)... : File | provenance | | +| Test.java:324:10:324:11 | in : File | Test.java:324:10:324:21 | getName(...) : String | provenance | MaD:20 | +| Test.java:324:10:324:21 | getName(...) : String | Test.java:325:9:325:11 | out | provenance | | +| Test.java:330:14:330:28 | (...)... : File | Test.java:331:10:331:11 | in : File | provenance | | +| Test.java:330:21:330:28 | source(...) : Object | Test.java:330:14:330:28 | (...)... : File | provenance | | +| Test.java:331:10:331:11 | in : File | Test.java:331:10:331:20 | toPath(...) : Path | provenance | MaD:21 | +| Test.java:331:10:331:20 | toPath(...) : Path | Test.java:332:9:332:11 | out | provenance | | +| Test.java:337:14:337:28 | (...)... : File | Test.java:338:10:338:11 | in : File | provenance | | +| Test.java:337:21:337:28 | source(...) : Object | Test.java:337:14:337:28 | (...)... : File | provenance | | +| Test.java:338:10:338:11 | in : File | Test.java:338:10:338:22 | toString(...) : String | provenance | MaD:22 | +| Test.java:338:10:338:22 | toString(...) : String | Test.java:339:9:339:11 | out | provenance | | +| Test.java:344:14:344:28 | (...)... : File | Test.java:345:10:345:11 | in : File | provenance | | +| Test.java:344:21:344:28 | source(...) : Object | Test.java:344:14:344:28 | (...)... : File | provenance | | +| Test.java:345:10:345:11 | in : File | Test.java:345:10:345:19 | toURI(...) : URI | provenance | MaD:23 | +| Test.java:345:10:345:19 | toURI(...) : URI | Test.java:346:9:346:11 | out | provenance | | +| Test.java:351:22:351:44 | (...)... : OutputStream | Test.java:352:33:352:34 | in : OutputStream | provenance | | +| Test.java:351:37:351:44 | source(...) : Object | Test.java:351:22:351:44 | (...)... : OutputStream | provenance | | +| Test.java:352:10:352:35 | new FilterOutputStream(...) : FilterOutputStream | Test.java:353:9:353:11 | out | provenance | | +| Test.java:352:33:352:34 | in : OutputStream | Test.java:352:10:352:35 | new FilterOutputStream(...) : FilterOutputStream | provenance | MaD:24 | +| Test.java:358:16:358:32 | (...)... : String | Test.java:359:26:359:27 | in : String | provenance | | +| Test.java:358:25:358:32 | source(...) : Object | Test.java:358:16:358:32 | (...)... : String | provenance | | +| Test.java:359:10:359:28 | new IOException(...) : IOException [java.lang.Throwable.message] : String | Test.java:360:37:360:39 | out : IOException [java.lang.Throwable.message] : String | provenance | | +| Test.java:359:26:359:27 | in : String | Test.java:359:10:359:28 | new IOException(...) : IOException [java.lang.Throwable.message] : String | provenance | MaD:32 | +| Test.java:360:37:360:39 | out : IOException [java.lang.Throwable.message] : String | Test.java:360:9:360:40 | getThrowable_messageDefault(...) | provenance | MaD:41 | +| Test.java:365:25:365:50 | (...)... : DataInputStream | Test.java:366:4:366:5 | in : DataInputStream | provenance | | +| Test.java:365:43:365:50 | source(...) : Object | Test.java:365:25:365:50 | (...)... : DataInputStream | provenance | | +| Test.java:366:4:366:5 | in : DataInputStream | Test.java:366:12:366:14 | out [post update] : byte[] | provenance | MaD:25 | +| Test.java:366:12:366:14 | out [post update] : byte[] | Test.java:367:9:367:11 | out | provenance | | +| Test.java:372:27:372:54 | (...)... : FilterInputStream | Test.java:373:4:373:5 | in : FilterInputStream | provenance | | +| Test.java:372:47:372:54 | source(...) : Object | Test.java:372:27:372:54 | (...)... : FilterInputStream | provenance | | +| Test.java:373:4:373:5 | in : FilterInputStream | Test.java:373:12:373:14 | out [post update] : byte[] | provenance | MaD:25 | +| Test.java:373:12:373:14 | out [post update] : byte[] | Test.java:374:9:374:11 | out | provenance | | +| Test.java:379:21:379:42 | (...)... : InputStream | Test.java:380:4:380:5 | in : InputStream | provenance | | +| Test.java:379:35:379:42 | source(...) : Object | Test.java:379:21:379:42 | (...)... : InputStream | provenance | | +| Test.java:380:4:380:5 | in : InputStream | Test.java:380:12:380:14 | out [post update] : byte[] | provenance | MaD:25 | +| Test.java:380:12:380:14 | out [post update] : byte[] | Test.java:381:9:381:11 | out | provenance | | +| Test.java:386:29:386:58 | (...)... : BufferedInputStream | Test.java:387:4:387:5 | in : BufferedInputStream | provenance | | +| Test.java:386:51:386:58 | source(...) : Object | Test.java:386:29:386:58 | (...)... : BufferedInputStream | provenance | | +| Test.java:387:4:387:5 | in : BufferedInputStream | Test.java:387:12:387:14 | out [post update] : byte[] | provenance | MaD:26 | +| Test.java:387:12:387:14 | out [post update] : byte[] | Test.java:388:9:388:11 | out | provenance | | +| Test.java:393:30:393:60 | (...)... : ByteArrayInputStream | Test.java:394:4:394:5 | in : ByteArrayInputStream | provenance | | +| Test.java:393:53:393:60 | source(...) : Object | Test.java:393:30:393:60 | (...)... : ByteArrayInputStream | provenance | | +| Test.java:394:4:394:5 | in : ByteArrayInputStream | Test.java:394:12:394:14 | out [post update] : byte[] | provenance | MaD:26 | +| Test.java:394:12:394:14 | out [post update] : byte[] | Test.java:395:9:395:11 | out | provenance | | +| Test.java:400:25:400:50 | (...)... : DataInputStream | Test.java:401:4:401:5 | in : DataInputStream | provenance | | +| Test.java:400:43:400:50 | source(...) : Object | Test.java:400:25:400:50 | (...)... : DataInputStream | provenance | | +| Test.java:401:4:401:5 | in : DataInputStream | Test.java:401:12:401:14 | out [post update] : byte[] | provenance | MaD:26 | +| Test.java:401:12:401:14 | out [post update] : byte[] | Test.java:402:9:402:11 | out | provenance | | +| Test.java:407:27:407:54 | (...)... : FilterInputStream | Test.java:408:4:408:5 | in : FilterInputStream | provenance | | +| Test.java:407:47:407:54 | source(...) : Object | Test.java:407:27:407:54 | (...)... : FilterInputStream | provenance | | +| Test.java:408:4:408:5 | in : FilterInputStream | Test.java:408:12:408:14 | out [post update] : byte[] | provenance | MaD:26 | +| Test.java:408:12:408:14 | out [post update] : byte[] | Test.java:409:9:409:11 | out | provenance | | +| Test.java:414:21:414:42 | (...)... : InputStream | Test.java:415:4:415:5 | in : InputStream | provenance | | +| Test.java:414:35:414:42 | source(...) : Object | Test.java:414:21:414:42 | (...)... : InputStream | provenance | | +| Test.java:415:4:415:5 | in : InputStream | Test.java:415:12:415:14 | out [post update] : byte[] | provenance | MaD:26 | +| Test.java:415:12:415:14 | out [post update] : byte[] | Test.java:416:9:416:11 | out | provenance | | +| Test.java:421:27:421:54 | (...)... : ObjectInputStream | Test.java:422:4:422:5 | in : ObjectInputStream | provenance | | +| Test.java:421:47:421:54 | source(...) : Object | Test.java:421:27:421:54 | (...)... : ObjectInputStream | provenance | | +| Test.java:422:4:422:5 | in : ObjectInputStream | Test.java:422:12:422:14 | out [post update] : byte[] | provenance | MaD:26 | +| Test.java:422:4:422:5 | in : ObjectInputStream | Test.java:422:12:422:14 | out [post update] : byte[] | provenance | MaD:33 | +| Test.java:422:12:422:14 | out [post update] : byte[] | Test.java:423:9:423:11 | out | provenance | | +| Test.java:428:30:428:60 | (...)... : ByteArrayInputStream | Test.java:429:10:429:11 | in : ByteArrayInputStream | provenance | | +| Test.java:428:53:428:60 | source(...) : Object | Test.java:428:30:428:60 | (...)... : ByteArrayInputStream | provenance | | +| Test.java:429:10:429:11 | in : ByteArrayInputStream | Test.java:429:10:429:26 | readAllBytes(...) : byte[] | provenance | MaD:27 | +| Test.java:429:10:429:26 | readAllBytes(...) : byte[] | Test.java:430:9:430:11 | out | provenance | | +| Test.java:435:21:435:42 | (...)... : InputStream | Test.java:436:10:436:11 | in : InputStream | provenance | | +| Test.java:435:35:435:42 | source(...) : Object | Test.java:435:21:435:42 | (...)... : InputStream | provenance | | +| Test.java:436:10:436:11 | in : InputStream | Test.java:436:10:436:26 | readAllBytes(...) : byte[] | provenance | MaD:27 | +| Test.java:436:10:436:26 | readAllBytes(...) : byte[] | Test.java:437:9:437:11 | out | provenance | | +| Test.java:442:30:442:60 | (...)... : ByteArrayInputStream | Test.java:443:4:443:5 | in : ByteArrayInputStream | provenance | | +| Test.java:442:53:442:60 | source(...) : Object | Test.java:442:30:442:60 | (...)... : ByteArrayInputStream | provenance | | +| Test.java:443:4:443:5 | in : ByteArrayInputStream | Test.java:443:18:443:20 | out [post update] : byte[] | provenance | MaD:28 | +| Test.java:443:18:443:20 | out [post update] : byte[] | Test.java:444:9:444:11 | out | provenance | | +| Test.java:449:21:449:42 | (...)... : InputStream | Test.java:450:4:450:5 | in : InputStream | provenance | | +| Test.java:449:35:449:42 | source(...) : Object | Test.java:449:21:449:42 | (...)... : InputStream | provenance | | +| Test.java:450:4:450:5 | in : InputStream | Test.java:450:18:450:20 | out [post update] : byte[] | provenance | MaD:28 | +| Test.java:450:18:450:20 | out [post update] : byte[] | Test.java:451:9:451:11 | out | provenance | | +| Test.java:456:21:456:42 | (...)... : InputStream | Test.java:457:10:457:11 | in : InputStream | provenance | | +| Test.java:456:35:456:42 | source(...) : Object | Test.java:456:21:456:42 | (...)... : InputStream | provenance | | +| Test.java:457:10:457:11 | in : InputStream | Test.java:457:10:457:25 | readNBytes(...) : byte[] | provenance | MaD:29 | +| Test.java:457:10:457:25 | readNBytes(...) : byte[] | Test.java:458:9:458:11 | out | provenance | | +| Test.java:463:30:463:60 | (...)... : ByteArrayInputStream | Test.java:464:4:464:5 | in : ByteArrayInputStream | provenance | | +| Test.java:463:53:463:60 | source(...) : Object | Test.java:463:30:463:60 | (...)... : ByteArrayInputStream | provenance | | +| Test.java:464:4:464:5 | in : ByteArrayInputStream | Test.java:464:18:464:20 | out [post update] : OutputStream | provenance | MaD:30 | +| Test.java:464:18:464:20 | out [post update] : OutputStream | Test.java:465:9:465:11 | out | provenance | | +| Test.java:470:21:470:42 | (...)... : InputStream | Test.java:471:4:471:5 | in : InputStream | provenance | | +| Test.java:470:35:470:42 | source(...) : Object | Test.java:470:21:470:42 | (...)... : InputStream | provenance | | +| Test.java:471:4:471:5 | in : InputStream | Test.java:471:18:471:20 | out [post update] : OutputStream | provenance | MaD:30 | +| Test.java:471:18:471:20 | out [post update] : OutputStream | Test.java:472:9:472:11 | out | provenance | | +| Test.java:477:21:477:42 | (...)... : InputStream | Test.java:478:32:478:33 | in : InputStream | provenance | | +| Test.java:477:35:477:42 | source(...) : Object | Test.java:477:21:477:42 | (...)... : InputStream | provenance | | +| Test.java:478:10:478:34 | new InputStreamReader(...) : InputStreamReader | Test.java:479:9:479:11 | out | provenance | | +| Test.java:478:32:478:33 | in : InputStream | Test.java:478:10:478:34 | new InputStreamReader(...) : InputStreamReader | provenance | MaD:31 | +| Test.java:484:21:484:42 | (...)... : InputStream | Test.java:485:32:485:33 | in : InputStream | provenance | | +| Test.java:484:35:484:42 | source(...) : Object | Test.java:484:21:484:42 | (...)... : InputStream | provenance | | +| Test.java:485:10:485:50 | new InputStreamReader(...) : InputStreamReader | Test.java:486:9:486:11 | out | provenance | | +| Test.java:485:32:485:33 | in : InputStream | Test.java:485:10:485:50 | new InputStreamReader(...) : InputStreamReader | provenance | MaD:31 | +| Test.java:491:21:491:42 | (...)... : InputStream | Test.java:492:32:492:33 | in : InputStream | provenance | | +| Test.java:491:35:491:42 | source(...) : Object | Test.java:491:21:491:42 | (...)... : InputStream | provenance | | +| Test.java:492:10:492:57 | new InputStreamReader(...) : InputStreamReader | Test.java:493:9:493:11 | out | provenance | | +| Test.java:492:32:492:33 | in : InputStream | Test.java:492:10:492:57 | new InputStreamReader(...) : InputStreamReader | provenance | MaD:31 | +| Test.java:498:21:498:42 | (...)... : InputStream | Test.java:499:32:499:33 | in : InputStream | provenance | | +| Test.java:498:35:498:42 | source(...) : Object | Test.java:498:21:498:42 | (...)... : InputStream | provenance | | +| Test.java:499:10:499:49 | new InputStreamReader(...) : InputStreamReader | Test.java:500:9:500:11 | out | provenance | | +| Test.java:499:32:499:33 | in : InputStream | Test.java:499:10:499:49 | new InputStreamReader(...) : InputStreamReader | provenance | MaD:31 | +| Test.java:505:21:505:42 | (...)... : ObjectInput | Test.java:506:4:506:5 | in : ObjectInput | provenance | | +| Test.java:505:35:505:42 | source(...) : Object | Test.java:505:21:505:42 | (...)... : ObjectInput | provenance | | +| Test.java:506:4:506:5 | in : ObjectInput | Test.java:506:12:506:14 | out [post update] : byte[] | provenance | MaD:33 | +| Test.java:506:12:506:14 | out [post update] : byte[] | Test.java:507:9:507:11 | out | provenance | | +| Test.java:512:21:512:42 | (...)... : ObjectInput | Test.java:513:4:513:5 | in : ObjectInput | provenance | | +| Test.java:512:35:512:42 | source(...) : Object | Test.java:512:21:512:42 | (...)... : ObjectInput | provenance | | +| Test.java:513:4:513:5 | in : ObjectInput | Test.java:513:12:513:14 | out [post update] : byte[] | provenance | MaD:33 | +| Test.java:513:12:513:14 | out [post update] : byte[] | Test.java:514:9:514:11 | out | provenance | | +| Test.java:519:27:519:54 | (...)... : ObjectInputStream | Test.java:520:4:520:5 | in : ObjectInputStream | provenance | | +| Test.java:519:47:519:54 | source(...) : Object | Test.java:519:27:519:54 | (...)... : ObjectInputStream | provenance | | +| Test.java:520:4:520:5 | in : ObjectInputStream | Test.java:520:12:520:14 | out [post update] : byte[] | provenance | MaD:26 | +| Test.java:520:4:520:5 | in : ObjectInputStream | Test.java:520:12:520:14 | out [post update] : byte[] | provenance | MaD:33 | +| Test.java:520:12:520:14 | out [post update] : byte[] | Test.java:521:9:521:11 | out | provenance | | +| Test.java:526:21:526:42 | (...)... : InputStream | Test.java:527:32:527:33 | in : InputStream | provenance | | +| Test.java:526:21:526:42 | (...)... : InputStream | Test.java:528:9:528:11 | out | provenance | inputStreamWrapper | +| Test.java:526:35:526:42 | source(...) : Object | Test.java:526:21:526:42 | (...)... : InputStream | provenance | | +| Test.java:527:10:527:34 | new ObjectInputStream(...) : ObjectInputStream | Test.java:528:9:528:11 | out | provenance | | +| Test.java:527:32:527:33 | in : InputStream | Test.java:527:10:527:34 | new ObjectInputStream(...) : ObjectInputStream | provenance | MaD:34 | +| Test.java:533:16:533:32 | (...)... : byte[] | Test.java:534:14:534:15 | in : byte[] | provenance | | +| Test.java:533:25:533:32 | source(...) : Object | Test.java:533:16:533:32 | (...)... : byte[] | provenance | | +| Test.java:534:4:534:6 | out [post update] : FilterOutputStream | Test.java:535:9:535:11 | out | provenance | | +| Test.java:534:14:534:15 | in : byte[] | Test.java:534:4:534:6 | out [post update] : FilterOutputStream | provenance | MaD:35 | +| Test.java:540:16:540:32 | (...)... : byte[] | Test.java:541:14:541:15 | in : byte[] | provenance | | +| Test.java:540:25:540:32 | source(...) : Object | Test.java:540:16:540:32 | (...)... : byte[] | provenance | | +| Test.java:541:4:541:6 | out [post update] : ObjectOutputStream | Test.java:542:9:542:11 | out | provenance | | +| Test.java:541:14:541:15 | in : byte[] | Test.java:541:4:541:6 | out [post update] : ObjectOutputStream | provenance | MaD:35 | +| Test.java:547:16:547:32 | (...)... : byte[] | Test.java:548:14:548:15 | in : byte[] | provenance | | +| Test.java:547:25:547:32 | source(...) : Object | Test.java:547:16:547:32 | (...)... : byte[] | provenance | | +| Test.java:548:4:548:6 | out [post update] : OutputStream | Test.java:549:9:549:11 | out | provenance | | +| Test.java:548:14:548:15 | in : byte[] | Test.java:548:4:548:6 | out [post update] : OutputStream | provenance | MaD:35 | +| Test.java:554:16:554:32 | (...)... : byte[] | Test.java:555:14:555:15 | in : byte[] | provenance | | +| Test.java:554:25:554:32 | source(...) : Object | Test.java:554:16:554:32 | (...)... : byte[] | provenance | | +| Test.java:555:4:555:6 | out [post update] : PrintStream | Test.java:556:9:556:11 | out | provenance | | +| Test.java:555:14:555:15 | in : byte[] | Test.java:555:4:555:6 | out [post update] : PrintStream | provenance | MaD:35 | +| Test.java:561:16:561:32 | (...)... : byte[] | Test.java:562:14:562:15 | in : byte[] | provenance | | +| Test.java:561:25:561:32 | source(...) : Object | Test.java:561:16:561:32 | (...)... : byte[] | provenance | | +| Test.java:562:4:562:6 | out [post update] : ByteArrayOutputStream | Test.java:563:9:563:11 | out | provenance | | +| Test.java:562:14:562:15 | in : byte[] | Test.java:562:4:562:6 | out [post update] : ByteArrayOutputStream | provenance | MaD:36 | +| Test.java:568:16:568:32 | (...)... : byte[] | Test.java:569:14:569:15 | in : byte[] | provenance | | +| Test.java:568:25:568:32 | source(...) : Object | Test.java:568:16:568:32 | (...)... : byte[] | provenance | | +| Test.java:569:4:569:6 | out [post update] : FilterOutputStream | Test.java:570:9:570:11 | out | provenance | | +| Test.java:569:14:569:15 | in : byte[] | Test.java:569:4:569:6 | out [post update] : FilterOutputStream | provenance | MaD:36 | +| Test.java:575:16:575:32 | (...)... : byte[] | Test.java:576:14:576:15 | in : byte[] | provenance | | +| Test.java:575:25:575:32 | source(...) : Object | Test.java:575:16:575:32 | (...)... : byte[] | provenance | | +| Test.java:576:4:576:6 | out [post update] : ObjectOutputStream | Test.java:577:9:577:11 | out | provenance | | +| Test.java:576:14:576:15 | in : byte[] | Test.java:576:4:576:6 | out [post update] : ObjectOutputStream | provenance | MaD:36 | +| Test.java:582:16:582:32 | (...)... : byte[] | Test.java:583:14:583:15 | in : byte[] | provenance | | +| Test.java:582:25:582:32 | source(...) : Object | Test.java:582:16:582:32 | (...)... : byte[] | provenance | | +| Test.java:583:4:583:6 | out [post update] : OutputStream | Test.java:584:9:584:11 | out | provenance | | +| Test.java:583:14:583:15 | in : byte[] | Test.java:583:4:583:6 | out [post update] : OutputStream | provenance | MaD:36 | +| Test.java:589:16:589:32 | (...)... : byte[] | Test.java:590:14:590:15 | in : byte[] | provenance | | +| Test.java:589:25:589:32 | source(...) : Object | Test.java:589:16:589:32 | (...)... : byte[] | provenance | | +| Test.java:590:4:590:6 | out [post update] : PrintStream | Test.java:591:9:591:11 | out | provenance | | +| Test.java:590:14:590:15 | in : byte[] | Test.java:590:4:590:6 | out [post update] : PrintStream | provenance | MaD:36 | +| Test.java:596:13:596:26 | (...)... : Number | Test.java:597:14:597:15 | in : Number | provenance | | +| Test.java:596:19:596:26 | source(...) : Object | Test.java:596:13:596:26 | (...)... : Number | provenance | | +| Test.java:597:4:597:6 | out [post update] : ByteArrayOutputStream | Test.java:598:9:598:11 | out | provenance | | +| Test.java:597:14:597:15 | in : Number | Test.java:597:4:597:6 | out [post update] : ByteArrayOutputStream | provenance | MaD:37 | +| Test.java:603:13:603:26 | (...)... : Number | Test.java:604:14:604:15 | in : Number | provenance | | +| Test.java:603:19:603:26 | source(...) : Object | Test.java:603:13:603:26 | (...)... : Number | provenance | | +| Test.java:604:4:604:6 | out [post update] : FilterOutputStream | Test.java:605:9:605:11 | out | provenance | | +| Test.java:604:14:604:15 | in : Number | Test.java:604:4:604:6 | out [post update] : FilterOutputStream | provenance | MaD:37 | +| Test.java:610:13:610:26 | (...)... : Number | Test.java:611:14:611:15 | in : Number | provenance | | +| Test.java:610:19:610:26 | source(...) : Object | Test.java:610:13:610:26 | (...)... : Number | provenance | | +| Test.java:611:4:611:6 | out [post update] : ObjectOutputStream | Test.java:612:9:612:11 | out | provenance | | +| Test.java:611:14:611:15 | in : Number | Test.java:611:4:611:6 | out [post update] : ObjectOutputStream | provenance | MaD:37 | +| Test.java:617:13:617:26 | (...)... : Number | Test.java:618:14:618:15 | in : Number | provenance | | +| Test.java:617:19:617:26 | source(...) : Object | Test.java:617:13:617:26 | (...)... : Number | provenance | | +| Test.java:618:4:618:6 | out [post update] : OutputStream | Test.java:619:9:619:11 | out | provenance | | +| Test.java:618:14:618:15 | in : Number | Test.java:618:4:618:6 | out [post update] : OutputStream | provenance | MaD:37 | +| Test.java:624:13:624:26 | (...)... : Number | Test.java:625:14:625:15 | in : Number | provenance | | +| Test.java:624:19:624:26 | source(...) : Object | Test.java:624:13:624:26 | (...)... : Number | provenance | | +| Test.java:625:4:625:6 | out [post update] : PrintStream | Test.java:626:9:626:11 | out | provenance | | +| Test.java:625:14:625:15 | in : Number | Test.java:625:4:625:6 | out [post update] : PrintStream | provenance | MaD:37 | +| Test.java:631:25:631:50 | (...)... : CharArrayReader | Test.java:632:4:632:5 | in : CharArrayReader | provenance | | +| Test.java:631:43:631:50 | source(...) : Object | Test.java:631:25:631:50 | (...)... : CharArrayReader | provenance | | +| Test.java:632:4:632:5 | in : CharArrayReader | Test.java:632:12:632:14 | out [post update] : CharBuffer | provenance | MaD:38 | +| Test.java:632:12:632:14 | out [post update] : CharBuffer | Test.java:633:9:633:11 | out | provenance | | +| Test.java:638:27:638:54 | (...)... : InputStreamReader | Test.java:639:4:639:5 | in : InputStreamReader | provenance | | +| Test.java:638:47:638:54 | source(...) : Object | Test.java:638:27:638:54 | (...)... : InputStreamReader | provenance | | +| Test.java:639:4:639:5 | in : InputStreamReader | Test.java:639:12:639:14 | out [post update] : CharBuffer | provenance | MaD:38 | +| Test.java:639:12:639:14 | out [post update] : CharBuffer | Test.java:640:9:640:11 | out | provenance | | +| Test.java:645:16:645:32 | (...)... : Reader | Test.java:646:4:646:5 | in : Reader | provenance | | +| Test.java:645:25:645:32 | source(...) : Object | Test.java:645:16:645:32 | (...)... : Reader | provenance | | +| Test.java:646:4:646:5 | in : Reader | Test.java:646:12:646:14 | out [post update] : CharBuffer | provenance | MaD:38 | +| Test.java:646:12:646:14 | out [post update] : CharBuffer | Test.java:647:9:647:11 | out | provenance | | +| Test.java:652:24:652:48 | (...)... : BufferedReader | Test.java:653:4:653:5 | in : BufferedReader | provenance | | +| Test.java:652:41:652:48 | source(...) : Object | Test.java:652:24:652:48 | (...)... : BufferedReader | provenance | | +| Test.java:653:4:653:5 | in : BufferedReader | Test.java:653:12:653:14 | out [post update] : char[] | provenance | MaD:38 | +| Test.java:653:12:653:14 | out [post update] : char[] | Test.java:654:9:654:11 | out | provenance | | +| Test.java:659:25:659:50 | (...)... : CharArrayReader | Test.java:660:4:660:5 | in : CharArrayReader | provenance | | +| Test.java:659:43:659:50 | source(...) : Object | Test.java:659:25:659:50 | (...)... : CharArrayReader | provenance | | +| Test.java:660:4:660:5 | in : CharArrayReader | Test.java:660:12:660:14 | out [post update] : char[] | provenance | MaD:38 | +| Test.java:660:12:660:14 | out [post update] : char[] | Test.java:661:9:661:11 | out | provenance | | +| Test.java:666:27:666:54 | (...)... : InputStreamReader | Test.java:667:4:667:5 | in : InputStreamReader | provenance | | +| Test.java:666:47:666:54 | source(...) : Object | Test.java:666:27:666:54 | (...)... : InputStreamReader | provenance | | +| Test.java:667:4:667:5 | in : InputStreamReader | Test.java:667:12:667:14 | out [post update] : char[] | provenance | MaD:38 | +| Test.java:667:12:667:14 | out [post update] : char[] | Test.java:668:9:668:11 | out | provenance | | +| Test.java:673:16:673:32 | (...)... : Reader | Test.java:674:4:674:5 | in : Reader | provenance | | +| Test.java:673:25:673:32 | source(...) : Object | Test.java:673:16:673:32 | (...)... : Reader | provenance | | +| Test.java:674:4:674:5 | in : Reader | Test.java:674:12:674:14 | out [post update] : char[] | provenance | MaD:38 | +| Test.java:674:12:674:14 | out [post update] : char[] | Test.java:675:9:675:11 | out | provenance | | +| Test.java:680:16:680:32 | (...)... : Reader | Test.java:681:4:681:5 | in : Reader | provenance | | +| Test.java:680:25:680:32 | source(...) : Object | Test.java:680:16:680:32 | (...)... : Reader | provenance | | +| Test.java:681:4:681:5 | in : Reader | Test.java:681:12:681:14 | out [post update] : char[] | provenance | MaD:38 | +| Test.java:681:12:681:14 | out [post update] : char[] | Test.java:682:9:682:11 | out | provenance | | +| Test.java:687:22:687:44 | (...)... : StringReader | Test.java:688:4:688:5 | in : StringReader | provenance | | +| Test.java:687:37:687:44 | source(...) : Object | Test.java:687:22:687:44 | (...)... : StringReader | provenance | | +| Test.java:688:4:688:5 | in : StringReader | Test.java:688:12:688:14 | out [post update] : char[] | provenance | MaD:38 | +| Test.java:688:12:688:14 | out [post update] : char[] | Test.java:689:9:689:11 | out | provenance | | +| Test.java:694:16:694:32 | (...)... : String | Test.java:695:27:695:28 | in : String | provenance | | +| Test.java:694:25:694:32 | source(...) : Object | Test.java:694:16:694:32 | (...)... : String | provenance | | +| Test.java:695:10:695:29 | new StringReader(...) : StringReader | Test.java:696:9:696:11 | out | provenance | | +| Test.java:695:27:695:28 | in : String | Test.java:695:10:695:29 | new StringReader(...) : StringReader | provenance | MaD:39 | +| Test.java:701:16:701:32 | (...)... : String | Test.java:702:14:702:15 | in : String | provenance | | +| Test.java:701:25:701:32 | source(...) : Object | Test.java:701:16:701:32 | (...)... : String | provenance | | +| Test.java:702:4:702:6 | out [post update] : CharArrayWriter | Test.java:703:9:703:11 | out | provenance | | +| Test.java:702:14:702:15 | in : String | Test.java:702:4:702:6 | out [post update] : CharArrayWriter | provenance | MaD:40 | +| Test.java:708:16:708:32 | (...)... : char[] | Test.java:709:14:709:15 | in : char[] | provenance | | +| Test.java:708:25:708:32 | source(...) : Object | Test.java:708:16:708:32 | (...)... : char[] | provenance | | +| Test.java:709:4:709:6 | out [post update] : CharArrayWriter | Test.java:710:9:710:11 | out | provenance | | +| Test.java:709:14:709:15 | in : char[] | Test.java:709:4:709:6 | out [post update] : CharArrayWriter | provenance | MaD:40 | +| Test.java:715:13:715:26 | (...)... : Number | Test.java:716:14:716:15 | in : Number | provenance | | +| Test.java:715:19:715:26 | source(...) : Object | Test.java:715:13:715:26 | (...)... : Number | provenance | | +| Test.java:716:4:716:6 | out [post update] : CharArrayWriter | Test.java:717:9:717:11 | out | provenance | | +| Test.java:716:14:716:15 | in : Number | Test.java:716:4:716:6 | out [post update] : CharArrayWriter | provenance | MaD:40 | +| Test.java:722:16:722:32 | (...)... : String | Test.java:723:14:723:15 | in : String | provenance | | +| Test.java:722:25:722:32 | source(...) : Object | Test.java:722:16:722:32 | (...)... : String | provenance | | +| Test.java:723:4:723:6 | out [post update] : PrintWriter | Test.java:724:9:724:11 | out | provenance | | +| Test.java:723:14:723:15 | in : String | Test.java:723:4:723:6 | out [post update] : PrintWriter | provenance | MaD:40 | +| Test.java:729:16:729:32 | (...)... : String | Test.java:730:14:730:15 | in : String | provenance | | +| Test.java:729:25:729:32 | source(...) : Object | Test.java:729:16:729:32 | (...)... : String | provenance | | +| Test.java:730:4:730:6 | out [post update] : PrintWriter | Test.java:731:9:731:11 | out | provenance | | +| Test.java:730:14:730:15 | in : String | Test.java:730:4:730:6 | out [post update] : PrintWriter | provenance | MaD:40 | +| Test.java:736:16:736:32 | (...)... : char[] | Test.java:737:14:737:15 | in : char[] | provenance | | +| Test.java:736:25:736:32 | source(...) : Object | Test.java:736:16:736:32 | (...)... : char[] | provenance | | +| Test.java:737:4:737:6 | out [post update] : PrintWriter | Test.java:738:9:738:11 | out | provenance | | +| Test.java:737:14:737:15 | in : char[] | Test.java:737:4:737:6 | out [post update] : PrintWriter | provenance | MaD:40 | +| Test.java:743:16:743:32 | (...)... : char[] | Test.java:744:14:744:15 | in : char[] | provenance | | +| Test.java:743:25:743:32 | source(...) : Object | Test.java:743:16:743:32 | (...)... : char[] | provenance | | +| Test.java:744:4:744:6 | out [post update] : PrintWriter | Test.java:745:9:745:11 | out | provenance | | +| Test.java:744:14:744:15 | in : char[] | Test.java:744:4:744:6 | out [post update] : PrintWriter | provenance | MaD:40 | +| Test.java:750:13:750:26 | (...)... : Number | Test.java:751:14:751:15 | in : Number | provenance | | +| Test.java:750:19:750:26 | source(...) : Object | Test.java:750:13:750:26 | (...)... : Number | provenance | | +| Test.java:751:4:751:6 | out [post update] : PrintWriter | Test.java:752:9:752:11 | out | provenance | | +| Test.java:751:14:751:15 | in : Number | Test.java:751:4:751:6 | out [post update] : PrintWriter | provenance | MaD:40 | +| Test.java:757:16:757:32 | (...)... : String | Test.java:758:14:758:15 | in : String | provenance | | +| Test.java:757:25:757:32 | source(...) : Object | Test.java:757:16:757:32 | (...)... : String | provenance | | +| Test.java:758:4:758:6 | out [post update] : Writer | Test.java:759:9:759:11 | out | provenance | | +| Test.java:758:14:758:15 | in : String | Test.java:758:4:758:6 | out [post update] : Writer | provenance | MaD:40 | +| Test.java:764:16:764:32 | (...)... : String | Test.java:765:14:765:15 | in : String | provenance | | +| Test.java:764:25:764:32 | source(...) : Object | Test.java:764:16:764:32 | (...)... : String | provenance | | +| Test.java:765:4:765:6 | out [post update] : Writer | Test.java:766:9:766:11 | out | provenance | | +| Test.java:765:14:765:15 | in : String | Test.java:765:4:765:6 | out [post update] : Writer | provenance | MaD:40 | +| Test.java:771:16:771:32 | (...)... : char[] | Test.java:772:14:772:15 | in : char[] | provenance | | +| Test.java:771:25:771:32 | source(...) : Object | Test.java:771:16:771:32 | (...)... : char[] | provenance | | +| Test.java:772:4:772:6 | out [post update] : Writer | Test.java:773:9:773:11 | out | provenance | | +| Test.java:772:14:772:15 | in : char[] | Test.java:772:4:772:6 | out [post update] : Writer | provenance | MaD:40 | +| Test.java:778:16:778:32 | (...)... : char[] | Test.java:779:14:779:15 | in : char[] | provenance | | +| Test.java:778:25:778:32 | source(...) : Object | Test.java:778:16:778:32 | (...)... : char[] | provenance | | +| Test.java:779:4:779:6 | out [post update] : Writer | Test.java:780:9:780:11 | out | provenance | | +| Test.java:779:14:779:15 | in : char[] | Test.java:779:4:779:6 | out [post update] : Writer | provenance | MaD:40 | +| Test.java:785:13:785:26 | (...)... : Number | Test.java:786:14:786:15 | in : Number | provenance | | +| Test.java:785:19:785:26 | source(...) : Object | Test.java:785:13:785:26 | (...)... : Number | provenance | | +| Test.java:786:4:786:6 | out [post update] : Writer | Test.java:787:9:787:11 | out | provenance | | +| Test.java:786:14:786:15 | in : Number | Test.java:786:4:786:6 | out [post update] : Writer | provenance | MaD:40 | +nodes +| Test.java:50:21:50:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:50:35:50:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:51:10:51:36 | new BufferedInputStream(...) : BufferedInputStream | semmle.label | new BufferedInputStream(...) : BufferedInputStream | +| Test.java:51:34:51:35 | in : InputStream | semmle.label | in : InputStream | +| Test.java:52:9:52:11 | out | semmle.label | out | +| Test.java:57:21:57:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:57:35:57:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:58:10:58:39 | new BufferedInputStream(...) : BufferedInputStream | semmle.label | new BufferedInputStream(...) : BufferedInputStream | +| Test.java:58:34:58:35 | in : InputStream | semmle.label | in : InputStream | +| Test.java:59:9:59:11 | out | semmle.label | out | +| Test.java:64:16:64:32 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:64:25:64:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:65:10:65:31 | new BufferedReader(...) : BufferedReader | semmle.label | new BufferedReader(...) : BufferedReader | +| Test.java:65:29:65:30 | in : Reader | semmle.label | in : Reader | +| Test.java:66:9:66:11 | out | semmle.label | out | +| Test.java:71:16:71:32 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:71:25:71:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:72:10:72:34 | new BufferedReader(...) : BufferedReader | semmle.label | new BufferedReader(...) : BufferedReader | +| Test.java:72:29:72:30 | in : Reader | semmle.label | in : Reader | +| Test.java:73:9:73:11 | out | semmle.label | out | +| Test.java:78:24:78:48 | (...)... : BufferedReader | semmle.label | (...)... : BufferedReader | +| Test.java:78:41:78:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:79:10:79:11 | in : BufferedReader | semmle.label | in : BufferedReader | +| Test.java:79:10:79:22 | readLine(...) : String | semmle.label | readLine(...) : String | +| Test.java:80:9:80:11 | out | semmle.label | out | +| Test.java:85:16:85:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:85:25:85:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:86:10:86:37 | new ByteArrayInputStream(...) : ByteArrayInputStream | semmle.label | new ByteArrayInputStream(...) : ByteArrayInputStream | +| Test.java:86:35:86:36 | in : byte[] | semmle.label | in : byte[] | +| Test.java:87:9:87:11 | out | semmle.label | out | +| Test.java:92:16:92:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:92:25:92:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:93:10:93:43 | new ByteArrayInputStream(...) : ByteArrayInputStream | semmle.label | new ByteArrayInputStream(...) : ByteArrayInputStream | +| Test.java:93:35:93:36 | in : byte[] | semmle.label | in : byte[] | +| Test.java:94:9:94:11 | out | semmle.label | out | +| Test.java:99:31:99:62 | (...)... : ByteArrayOutputStream | semmle.label | (...)... : ByteArrayOutputStream | +| Test.java:99:55:99:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:100:10:100:11 | in : ByteArrayOutputStream | semmle.label | in : ByteArrayOutputStream | +| Test.java:100:10:100:25 | toByteArray(...) : byte[] | semmle.label | toByteArray(...) : byte[] | +| Test.java:101:9:101:11 | out | semmle.label | out | +| Test.java:106:31:106:62 | (...)... : ByteArrayOutputStream | semmle.label | (...)... : ByteArrayOutputStream | +| Test.java:106:55:106:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:107:10:107:11 | in : ByteArrayOutputStream | semmle.label | in : ByteArrayOutputStream | +| Test.java:107:10:107:36 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:108:9:108:11 | out | semmle.label | out | +| Test.java:113:31:113:62 | (...)... : ByteArrayOutputStream | semmle.label | (...)... : ByteArrayOutputStream | +| Test.java:113:55:113:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:114:10:114:11 | in : ByteArrayOutputStream | semmle.label | in : ByteArrayOutputStream | +| Test.java:114:10:114:35 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:115:9:115:11 | out | semmle.label | out | +| Test.java:120:31:120:62 | (...)... : ByteArrayOutputStream | semmle.label | (...)... : ByteArrayOutputStream | +| Test.java:120:55:120:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:121:10:121:11 | in : ByteArrayOutputStream | semmle.label | in : ByteArrayOutputStream | +| Test.java:121:10:121:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:122:9:122:11 | out | semmle.label | out | +| Test.java:127:31:127:62 | (...)... : ByteArrayOutputStream | semmle.label | (...)... : ByteArrayOutputStream | +| Test.java:127:55:127:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:128:10:128:11 | in : ByteArrayOutputStream | semmle.label | in : ByteArrayOutputStream | +| Test.java:128:10:128:23 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:129:9:129:11 | out | semmle.label | out | +| Test.java:134:31:134:62 | (...)... : ByteArrayOutputStream | semmle.label | (...)... : ByteArrayOutputStream | +| Test.java:134:55:134:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:135:4:135:5 | in : ByteArrayOutputStream | semmle.label | in : ByteArrayOutputStream | +| Test.java:135:15:135:17 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:136:9:136:11 | out | semmle.label | out | +| Test.java:141:16:141:32 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:141:25:141:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:142:10:142:32 | new CharArrayReader(...) : CharArrayReader | semmle.label | new CharArrayReader(...) : CharArrayReader | +| Test.java:142:30:142:31 | in : char[] | semmle.label | in : char[] | +| Test.java:143:9:143:11 | out | semmle.label | out | +| Test.java:148:16:148:32 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:148:25:148:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:149:10:149:38 | new CharArrayReader(...) : CharArrayReader | semmle.label | new CharArrayReader(...) : CharArrayReader | +| Test.java:149:30:149:31 | in : char[] | semmle.label | in : char[] | +| Test.java:150:9:150:11 | out | semmle.label | out | +| Test.java:155:25:155:50 | (...)... : CharArrayWriter | semmle.label | (...)... : CharArrayWriter | +| Test.java:155:43:155:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:156:10:156:11 | in : CharArrayWriter | semmle.label | in : CharArrayWriter | +| Test.java:156:10:156:25 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| Test.java:157:9:157:11 | out | semmle.label | out | +| Test.java:162:19:162:38 | (...)... : DataInput | semmle.label | (...)... : DataInput | +| Test.java:162:31:162:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:163:4:163:5 | in : DataInput | semmle.label | in : DataInput | +| Test.java:163:17:163:19 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:164:9:164:11 | out | semmle.label | out | +| Test.java:169:19:169:38 | (...)... : DataInput | semmle.label | (...)... : DataInput | +| Test.java:169:31:169:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:170:4:170:5 | in : DataInput | semmle.label | in : DataInput | +| Test.java:170:17:170:19 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:171:9:171:11 | out | semmle.label | out | +| Test.java:176:25:176:50 | (...)... : DataInputStream | semmle.label | (...)... : DataInputStream | +| Test.java:176:43:176:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:177:4:177:5 | in : DataInputStream | semmle.label | in : DataInputStream | +| Test.java:177:17:177:19 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:178:9:178:11 | out | semmle.label | out | +| Test.java:183:25:183:50 | (...)... : DataInputStream | semmle.label | (...)... : DataInputStream | +| Test.java:183:43:183:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:184:4:184:5 | in : DataInputStream | semmle.label | in : DataInputStream | +| Test.java:184:17:184:19 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:185:9:185:11 | out | semmle.label | out | +| Test.java:190:27:190:54 | (...)... : ObjectInputStream | semmle.label | (...)... : ObjectInputStream | +| Test.java:190:47:190:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:191:4:191:5 | in : ObjectInputStream | semmle.label | in : ObjectInputStream | +| Test.java:191:17:191:19 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:192:9:192:11 | out | semmle.label | out | +| Test.java:197:27:197:54 | (...)... : ObjectInputStream | semmle.label | (...)... : ObjectInputStream | +| Test.java:197:47:197:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:198:4:198:5 | in : ObjectInputStream | semmle.label | in : ObjectInputStream | +| Test.java:198:17:198:19 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:199:9:199:11 | out | semmle.label | out | +| Test.java:204:19:204:38 | (...)... : DataInput | semmle.label | (...)... : DataInput | +| Test.java:204:31:204:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:205:10:205:11 | in : DataInput | semmle.label | in : DataInput | +| Test.java:205:10:205:22 | readLine(...) : String | semmle.label | readLine(...) : String | +| Test.java:206:9:206:11 | out | semmle.label | out | +| Test.java:211:25:211:50 | (...)... : DataInputStream | semmle.label | (...)... : DataInputStream | +| Test.java:211:43:211:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:212:10:212:11 | in : DataInputStream | semmle.label | in : DataInputStream | +| Test.java:212:10:212:22 | readLine(...) : String | semmle.label | readLine(...) : String | +| Test.java:213:9:213:11 | out | semmle.label | out | +| Test.java:218:27:218:54 | (...)... : ObjectInputStream | semmle.label | (...)... : ObjectInputStream | +| Test.java:218:47:218:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:219:10:219:11 | in : ObjectInputStream | semmle.label | in : ObjectInputStream | +| Test.java:219:10:219:22 | readLine(...) : String | semmle.label | readLine(...) : String | +| Test.java:220:9:220:11 | out | semmle.label | out | +| Test.java:225:19:225:38 | (...)... : DataInput | semmle.label | (...)... : DataInput | +| Test.java:225:31:225:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:226:10:226:11 | in : DataInput | semmle.label | in : DataInput | +| Test.java:226:10:226:21 | readUTF(...) : String | semmle.label | readUTF(...) : String | +| Test.java:227:9:227:11 | out | semmle.label | out | +| Test.java:232:25:232:50 | (...)... : DataInputStream | semmle.label | (...)... : DataInputStream | +| Test.java:232:43:232:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:233:10:233:11 | in : DataInputStream | semmle.label | in : DataInputStream | +| Test.java:233:10:233:21 | readUTF(...) : String | semmle.label | readUTF(...) : String | +| Test.java:234:9:234:11 | out | semmle.label | out | +| Test.java:239:27:239:54 | (...)... : ObjectInputStream | semmle.label | (...)... : ObjectInputStream | +| Test.java:239:47:239:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:240:10:240:11 | in : ObjectInputStream | semmle.label | in : ObjectInputStream | +| Test.java:240:10:240:21 | readUTF(...) : String | semmle.label | readUTF(...) : String | +| Test.java:241:9:241:11 | out | semmle.label | out | +| Test.java:246:21:246:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:246:35:246:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:247:10:247:32 | new DataInputStream(...) : DataInputStream | semmle.label | new DataInputStream(...) : DataInputStream | +| Test.java:247:30:247:31 | in : InputStream | semmle.label | in : InputStream | +| Test.java:248:9:248:11 | out | semmle.label | out | +| Test.java:253:14:253:28 | (...)... : File | semmle.label | (...)... : File | +| Test.java:253:21:253:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:254:10:254:36 | new File(...) : File | semmle.label | new File(...) : File | +| Test.java:254:19:254:20 | in : File | semmle.label | in : File | +| Test.java:255:9:255:11 | out | semmle.label | out | +| Test.java:260:16:260:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:260:25:260:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:261:10:261:21 | new File(...) : File | semmle.label | new File(...) : File | +| Test.java:261:19:261:20 | in : String | semmle.label | in : String | +| Test.java:262:9:262:11 | out | semmle.label | out | +| Test.java:267:16:267:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:267:25:267:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:268:10:268:36 | new File(...) : File | semmle.label | new File(...) : File | +| Test.java:268:19:268:20 | in : String | semmle.label | in : String | +| Test.java:269:9:269:11 | out | semmle.label | out | +| Test.java:274:13:274:26 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:274:19:274:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:275:10:275:21 | new File(...) : File | semmle.label | new File(...) : File | +| Test.java:275:19:275:20 | in : URI | semmle.label | in : URI | +| Test.java:276:9:276:11 | out | semmle.label | out | +| Test.java:281:16:281:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:281:25:281:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:282:10:282:34 | new File(...) : File | semmle.label | new File(...) : File | +| Test.java:282:32:282:33 | in : String | semmle.label | in : String | +| Test.java:283:9:283:11 | out | semmle.label | out | +| Test.java:288:16:288:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:288:25:288:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:289:10:289:36 | new File(...) : File | semmle.label | new File(...) : File | +| Test.java:289:34:289:35 | in : String | semmle.label | in : String | +| Test.java:290:9:290:11 | out | semmle.label | out | +| Test.java:295:14:295:28 | (...)... : File | semmle.label | (...)... : File | +| Test.java:295:21:295:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:296:10:296:11 | in : File | semmle.label | in : File | +| Test.java:296:10:296:29 | getAbsoluteFile(...) : File | semmle.label | getAbsoluteFile(...) : File | +| Test.java:297:9:297:11 | out | semmle.label | out | +| Test.java:302:14:302:28 | (...)... : File | semmle.label | (...)... : File | +| Test.java:302:21:302:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:303:10:303:11 | in : File | semmle.label | in : File | +| Test.java:303:10:303:29 | getAbsolutePath(...) : String | semmle.label | getAbsolutePath(...) : String | +| Test.java:304:9:304:11 | out | semmle.label | out | +| Test.java:309:14:309:28 | (...)... : File | semmle.label | (...)... : File | +| Test.java:309:21:309:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:310:10:310:11 | in : File | semmle.label | in : File | +| Test.java:310:10:310:30 | getCanonicalFile(...) : File | semmle.label | getCanonicalFile(...) : File | +| Test.java:311:9:311:11 | out | semmle.label | out | +| Test.java:316:14:316:28 | (...)... : File | semmle.label | (...)... : File | +| Test.java:316:21:316:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:317:10:317:11 | in : File | semmle.label | in : File | +| Test.java:317:10:317:30 | getCanonicalPath(...) : String | semmle.label | getCanonicalPath(...) : String | +| Test.java:318:9:318:11 | out | semmle.label | out | +| Test.java:323:14:323:28 | (...)... : File | semmle.label | (...)... : File | +| Test.java:323:21:323:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:324:10:324:11 | in : File | semmle.label | in : File | +| Test.java:324:10:324:21 | getName(...) : String | semmle.label | getName(...) : String | +| Test.java:325:9:325:11 | out | semmle.label | out | +| Test.java:330:14:330:28 | (...)... : File | semmle.label | (...)... : File | +| Test.java:330:21:330:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:331:10:331:11 | in : File | semmle.label | in : File | +| Test.java:331:10:331:20 | toPath(...) : Path | semmle.label | toPath(...) : Path | +| Test.java:332:9:332:11 | out | semmle.label | out | +| Test.java:337:14:337:28 | (...)... : File | semmle.label | (...)... : File | +| Test.java:337:21:337:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:338:10:338:11 | in : File | semmle.label | in : File | +| Test.java:338:10:338:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:339:9:339:11 | out | semmle.label | out | +| Test.java:344:14:344:28 | (...)... : File | semmle.label | (...)... : File | +| Test.java:344:21:344:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:345:10:345:11 | in : File | semmle.label | in : File | +| Test.java:345:10:345:19 | toURI(...) : URI | semmle.label | toURI(...) : URI | +| Test.java:346:9:346:11 | out | semmle.label | out | +| Test.java:351:22:351:44 | (...)... : OutputStream | semmle.label | (...)... : OutputStream | +| Test.java:351:37:351:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:352:10:352:35 | new FilterOutputStream(...) : FilterOutputStream | semmle.label | new FilterOutputStream(...) : FilterOutputStream | +| Test.java:352:33:352:34 | in : OutputStream | semmle.label | in : OutputStream | +| Test.java:353:9:353:11 | out | semmle.label | out | +| Test.java:358:16:358:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:358:25:358:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:359:10:359:28 | new IOException(...) : IOException [java.lang.Throwable.message] : String | semmle.label | new IOException(...) : IOException [java.lang.Throwable.message] : String | +| Test.java:359:26:359:27 | in : String | semmle.label | in : String | +| Test.java:360:9:360:40 | getThrowable_messageDefault(...) | semmle.label | getThrowable_messageDefault(...) | +| Test.java:360:37:360:39 | out : IOException [java.lang.Throwable.message] : String | semmle.label | out : IOException [java.lang.Throwable.message] : String | +| Test.java:365:25:365:50 | (...)... : DataInputStream | semmle.label | (...)... : DataInputStream | +| Test.java:365:43:365:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:366:4:366:5 | in : DataInputStream | semmle.label | in : DataInputStream | +| Test.java:366:12:366:14 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:367:9:367:11 | out | semmle.label | out | +| Test.java:372:27:372:54 | (...)... : FilterInputStream | semmle.label | (...)... : FilterInputStream | +| Test.java:372:47:372:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:373:4:373:5 | in : FilterInputStream | semmle.label | in : FilterInputStream | +| Test.java:373:12:373:14 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:374:9:374:11 | out | semmle.label | out | +| Test.java:379:21:379:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:379:35:379:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:380:4:380:5 | in : InputStream | semmle.label | in : InputStream | +| Test.java:380:12:380:14 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:381:9:381:11 | out | semmle.label | out | +| Test.java:386:29:386:58 | (...)... : BufferedInputStream | semmle.label | (...)... : BufferedInputStream | +| Test.java:386:51:386:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:387:4:387:5 | in : BufferedInputStream | semmle.label | in : BufferedInputStream | +| Test.java:387:12:387:14 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:388:9:388:11 | out | semmle.label | out | +| Test.java:393:30:393:60 | (...)... : ByteArrayInputStream | semmle.label | (...)... : ByteArrayInputStream | +| Test.java:393:53:393:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:394:4:394:5 | in : ByteArrayInputStream | semmle.label | in : ByteArrayInputStream | +| Test.java:394:12:394:14 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:395:9:395:11 | out | semmle.label | out | +| Test.java:400:25:400:50 | (...)... : DataInputStream | semmle.label | (...)... : DataInputStream | +| Test.java:400:43:400:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:401:4:401:5 | in : DataInputStream | semmle.label | in : DataInputStream | +| Test.java:401:12:401:14 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:402:9:402:11 | out | semmle.label | out | +| Test.java:407:27:407:54 | (...)... : FilterInputStream | semmle.label | (...)... : FilterInputStream | +| Test.java:407:47:407:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:408:4:408:5 | in : FilterInputStream | semmle.label | in : FilterInputStream | +| Test.java:408:12:408:14 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:409:9:409:11 | out | semmle.label | out | +| Test.java:414:21:414:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:414:35:414:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:415:4:415:5 | in : InputStream | semmle.label | in : InputStream | +| Test.java:415:12:415:14 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:416:9:416:11 | out | semmle.label | out | +| Test.java:421:27:421:54 | (...)... : ObjectInputStream | semmle.label | (...)... : ObjectInputStream | +| Test.java:421:47:421:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:422:4:422:5 | in : ObjectInputStream | semmle.label | in : ObjectInputStream | +| Test.java:422:12:422:14 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:423:9:423:11 | out | semmle.label | out | +| Test.java:428:30:428:60 | (...)... : ByteArrayInputStream | semmle.label | (...)... : ByteArrayInputStream | +| Test.java:428:53:428:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:429:10:429:11 | in : ByteArrayInputStream | semmle.label | in : ByteArrayInputStream | +| Test.java:429:10:429:26 | readAllBytes(...) : byte[] | semmle.label | readAllBytes(...) : byte[] | +| Test.java:430:9:430:11 | out | semmle.label | out | +| Test.java:435:21:435:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:435:35:435:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:436:10:436:11 | in : InputStream | semmle.label | in : InputStream | +| Test.java:436:10:436:26 | readAllBytes(...) : byte[] | semmle.label | readAllBytes(...) : byte[] | +| Test.java:437:9:437:11 | out | semmle.label | out | +| Test.java:442:30:442:60 | (...)... : ByteArrayInputStream | semmle.label | (...)... : ByteArrayInputStream | +| Test.java:442:53:442:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:443:4:443:5 | in : ByteArrayInputStream | semmle.label | in : ByteArrayInputStream | +| Test.java:443:18:443:20 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:444:9:444:11 | out | semmle.label | out | +| Test.java:449:21:449:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:449:35:449:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:450:4:450:5 | in : InputStream | semmle.label | in : InputStream | +| Test.java:450:18:450:20 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:451:9:451:11 | out | semmle.label | out | +| Test.java:456:21:456:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:456:35:456:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:457:10:457:11 | in : InputStream | semmle.label | in : InputStream | +| Test.java:457:10:457:25 | readNBytes(...) : byte[] | semmle.label | readNBytes(...) : byte[] | +| Test.java:458:9:458:11 | out | semmle.label | out | +| Test.java:463:30:463:60 | (...)... : ByteArrayInputStream | semmle.label | (...)... : ByteArrayInputStream | +| Test.java:463:53:463:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:464:4:464:5 | in : ByteArrayInputStream | semmle.label | in : ByteArrayInputStream | +| Test.java:464:18:464:20 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:465:9:465:11 | out | semmle.label | out | +| Test.java:470:21:470:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:470:35:470:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:471:4:471:5 | in : InputStream | semmle.label | in : InputStream | +| Test.java:471:18:471:20 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:472:9:472:11 | out | semmle.label | out | +| Test.java:477:21:477:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:477:35:477:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:478:10:478:34 | new InputStreamReader(...) : InputStreamReader | semmle.label | new InputStreamReader(...) : InputStreamReader | +| Test.java:478:32:478:33 | in : InputStream | semmle.label | in : InputStream | +| Test.java:479:9:479:11 | out | semmle.label | out | +| Test.java:484:21:484:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:484:35:484:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:485:10:485:50 | new InputStreamReader(...) : InputStreamReader | semmle.label | new InputStreamReader(...) : InputStreamReader | +| Test.java:485:32:485:33 | in : InputStream | semmle.label | in : InputStream | +| Test.java:486:9:486:11 | out | semmle.label | out | +| Test.java:491:21:491:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:491:35:491:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:492:10:492:57 | new InputStreamReader(...) : InputStreamReader | semmle.label | new InputStreamReader(...) : InputStreamReader | +| Test.java:492:32:492:33 | in : InputStream | semmle.label | in : InputStream | +| Test.java:493:9:493:11 | out | semmle.label | out | +| Test.java:498:21:498:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:498:35:498:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:499:10:499:49 | new InputStreamReader(...) : InputStreamReader | semmle.label | new InputStreamReader(...) : InputStreamReader | +| Test.java:499:32:499:33 | in : InputStream | semmle.label | in : InputStream | +| Test.java:500:9:500:11 | out | semmle.label | out | +| Test.java:505:21:505:42 | (...)... : ObjectInput | semmle.label | (...)... : ObjectInput | +| Test.java:505:35:505:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:506:4:506:5 | in : ObjectInput | semmle.label | in : ObjectInput | +| Test.java:506:12:506:14 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:507:9:507:11 | out | semmle.label | out | +| Test.java:512:21:512:42 | (...)... : ObjectInput | semmle.label | (...)... : ObjectInput | +| Test.java:512:35:512:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:513:4:513:5 | in : ObjectInput | semmle.label | in : ObjectInput | +| Test.java:513:12:513:14 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:514:9:514:11 | out | semmle.label | out | +| Test.java:519:27:519:54 | (...)... : ObjectInputStream | semmle.label | (...)... : ObjectInputStream | +| Test.java:519:47:519:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:520:4:520:5 | in : ObjectInputStream | semmle.label | in : ObjectInputStream | +| Test.java:520:12:520:14 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:521:9:521:11 | out | semmle.label | out | +| Test.java:526:21:526:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:526:35:526:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:527:10:527:34 | new ObjectInputStream(...) : ObjectInputStream | semmle.label | new ObjectInputStream(...) : ObjectInputStream | +| Test.java:527:32:527:33 | in : InputStream | semmle.label | in : InputStream | +| Test.java:528:9:528:11 | out | semmle.label | out | +| Test.java:533:16:533:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:533:25:533:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:534:4:534:6 | out [post update] : FilterOutputStream | semmle.label | out [post update] : FilterOutputStream | +| Test.java:534:14:534:15 | in : byte[] | semmle.label | in : byte[] | +| Test.java:535:9:535:11 | out | semmle.label | out | +| Test.java:540:16:540:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:540:25:540:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:541:4:541:6 | out [post update] : ObjectOutputStream | semmle.label | out [post update] : ObjectOutputStream | +| Test.java:541:14:541:15 | in : byte[] | semmle.label | in : byte[] | +| Test.java:542:9:542:11 | out | semmle.label | out | +| Test.java:547:16:547:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:547:25:547:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:548:4:548:6 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:548:14:548:15 | in : byte[] | semmle.label | in : byte[] | +| Test.java:549:9:549:11 | out | semmle.label | out | +| Test.java:554:16:554:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:554:25:554:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:555:4:555:6 | out [post update] : PrintStream | semmle.label | out [post update] : PrintStream | +| Test.java:555:14:555:15 | in : byte[] | semmle.label | in : byte[] | +| Test.java:556:9:556:11 | out | semmle.label | out | +| Test.java:561:16:561:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:561:25:561:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:562:4:562:6 | out [post update] : ByteArrayOutputStream | semmle.label | out [post update] : ByteArrayOutputStream | +| Test.java:562:14:562:15 | in : byte[] | semmle.label | in : byte[] | +| Test.java:563:9:563:11 | out | semmle.label | out | +| Test.java:568:16:568:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:568:25:568:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:569:4:569:6 | out [post update] : FilterOutputStream | semmle.label | out [post update] : FilterOutputStream | +| Test.java:569:14:569:15 | in : byte[] | semmle.label | in : byte[] | +| Test.java:570:9:570:11 | out | semmle.label | out | +| Test.java:575:16:575:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:575:25:575:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:576:4:576:6 | out [post update] : ObjectOutputStream | semmle.label | out [post update] : ObjectOutputStream | +| Test.java:576:14:576:15 | in : byte[] | semmle.label | in : byte[] | +| Test.java:577:9:577:11 | out | semmle.label | out | +| Test.java:582:16:582:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:582:25:582:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:583:4:583:6 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:583:14:583:15 | in : byte[] | semmle.label | in : byte[] | +| Test.java:584:9:584:11 | out | semmle.label | out | +| Test.java:589:16:589:32 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:589:25:589:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:590:4:590:6 | out [post update] : PrintStream | semmle.label | out [post update] : PrintStream | +| Test.java:590:14:590:15 | in : byte[] | semmle.label | in : byte[] | +| Test.java:591:9:591:11 | out | semmle.label | out | +| Test.java:596:13:596:26 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:596:19:596:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:597:4:597:6 | out [post update] : ByteArrayOutputStream | semmle.label | out [post update] : ByteArrayOutputStream | +| Test.java:597:14:597:15 | in : Number | semmle.label | in : Number | +| Test.java:598:9:598:11 | out | semmle.label | out | +| Test.java:603:13:603:26 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:603:19:603:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:604:4:604:6 | out [post update] : FilterOutputStream | semmle.label | out [post update] : FilterOutputStream | +| Test.java:604:14:604:15 | in : Number | semmle.label | in : Number | +| Test.java:605:9:605:11 | out | semmle.label | out | +| Test.java:610:13:610:26 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:610:19:610:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:611:4:611:6 | out [post update] : ObjectOutputStream | semmle.label | out [post update] : ObjectOutputStream | +| Test.java:611:14:611:15 | in : Number | semmle.label | in : Number | +| Test.java:612:9:612:11 | out | semmle.label | out | +| Test.java:617:13:617:26 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:617:19:617:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:618:4:618:6 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:618:14:618:15 | in : Number | semmle.label | in : Number | +| Test.java:619:9:619:11 | out | semmle.label | out | +| Test.java:624:13:624:26 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:624:19:624:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:625:4:625:6 | out [post update] : PrintStream | semmle.label | out [post update] : PrintStream | +| Test.java:625:14:625:15 | in : Number | semmle.label | in : Number | +| Test.java:626:9:626:11 | out | semmle.label | out | +| Test.java:631:25:631:50 | (...)... : CharArrayReader | semmle.label | (...)... : CharArrayReader | +| Test.java:631:43:631:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:632:4:632:5 | in : CharArrayReader | semmle.label | in : CharArrayReader | +| Test.java:632:12:632:14 | out [post update] : CharBuffer | semmle.label | out [post update] : CharBuffer | +| Test.java:633:9:633:11 | out | semmle.label | out | +| Test.java:638:27:638:54 | (...)... : InputStreamReader | semmle.label | (...)... : InputStreamReader | +| Test.java:638:47:638:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:639:4:639:5 | in : InputStreamReader | semmle.label | in : InputStreamReader | +| Test.java:639:12:639:14 | out [post update] : CharBuffer | semmle.label | out [post update] : CharBuffer | +| Test.java:640:9:640:11 | out | semmle.label | out | +| Test.java:645:16:645:32 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:645:25:645:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:646:4:646:5 | in : Reader | semmle.label | in : Reader | +| Test.java:646:12:646:14 | out [post update] : CharBuffer | semmle.label | out [post update] : CharBuffer | +| Test.java:647:9:647:11 | out | semmle.label | out | +| Test.java:652:24:652:48 | (...)... : BufferedReader | semmle.label | (...)... : BufferedReader | +| Test.java:652:41:652:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:653:4:653:5 | in : BufferedReader | semmle.label | in : BufferedReader | +| Test.java:653:12:653:14 | out [post update] : char[] | semmle.label | out [post update] : char[] | +| Test.java:654:9:654:11 | out | semmle.label | out | +| Test.java:659:25:659:50 | (...)... : CharArrayReader | semmle.label | (...)... : CharArrayReader | +| Test.java:659:43:659:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:660:4:660:5 | in : CharArrayReader | semmle.label | in : CharArrayReader | +| Test.java:660:12:660:14 | out [post update] : char[] | semmle.label | out [post update] : char[] | +| Test.java:661:9:661:11 | out | semmle.label | out | +| Test.java:666:27:666:54 | (...)... : InputStreamReader | semmle.label | (...)... : InputStreamReader | +| Test.java:666:47:666:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:667:4:667:5 | in : InputStreamReader | semmle.label | in : InputStreamReader | +| Test.java:667:12:667:14 | out [post update] : char[] | semmle.label | out [post update] : char[] | +| Test.java:668:9:668:11 | out | semmle.label | out | +| Test.java:673:16:673:32 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:673:25:673:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:674:4:674:5 | in : Reader | semmle.label | in : Reader | +| Test.java:674:12:674:14 | out [post update] : char[] | semmle.label | out [post update] : char[] | +| Test.java:675:9:675:11 | out | semmle.label | out | +| Test.java:680:16:680:32 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:680:25:680:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:681:4:681:5 | in : Reader | semmle.label | in : Reader | +| Test.java:681:12:681:14 | out [post update] : char[] | semmle.label | out [post update] : char[] | +| Test.java:682:9:682:11 | out | semmle.label | out | +| Test.java:687:22:687:44 | (...)... : StringReader | semmle.label | (...)... : StringReader | +| Test.java:687:37:687:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:688:4:688:5 | in : StringReader | semmle.label | in : StringReader | +| Test.java:688:12:688:14 | out [post update] : char[] | semmle.label | out [post update] : char[] | +| Test.java:689:9:689:11 | out | semmle.label | out | +| Test.java:694:16:694:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:694:25:694:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:695:10:695:29 | new StringReader(...) : StringReader | semmle.label | new StringReader(...) : StringReader | +| Test.java:695:27:695:28 | in : String | semmle.label | in : String | +| Test.java:696:9:696:11 | out | semmle.label | out | +| Test.java:701:16:701:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:701:25:701:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:702:4:702:6 | out [post update] : CharArrayWriter | semmle.label | out [post update] : CharArrayWriter | +| Test.java:702:14:702:15 | in : String | semmle.label | in : String | +| Test.java:703:9:703:11 | out | semmle.label | out | +| Test.java:708:16:708:32 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:708:25:708:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:709:4:709:6 | out [post update] : CharArrayWriter | semmle.label | out [post update] : CharArrayWriter | +| Test.java:709:14:709:15 | in : char[] | semmle.label | in : char[] | +| Test.java:710:9:710:11 | out | semmle.label | out | +| Test.java:715:13:715:26 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:715:19:715:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:716:4:716:6 | out [post update] : CharArrayWriter | semmle.label | out [post update] : CharArrayWriter | +| Test.java:716:14:716:15 | in : Number | semmle.label | in : Number | +| Test.java:717:9:717:11 | out | semmle.label | out | +| Test.java:722:16:722:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:722:25:722:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:723:4:723:6 | out [post update] : PrintWriter | semmle.label | out [post update] : PrintWriter | +| Test.java:723:14:723:15 | in : String | semmle.label | in : String | +| Test.java:724:9:724:11 | out | semmle.label | out | +| Test.java:729:16:729:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:729:25:729:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:730:4:730:6 | out [post update] : PrintWriter | semmle.label | out [post update] : PrintWriter | +| Test.java:730:14:730:15 | in : String | semmle.label | in : String | +| Test.java:731:9:731:11 | out | semmle.label | out | +| Test.java:736:16:736:32 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:736:25:736:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:737:4:737:6 | out [post update] : PrintWriter | semmle.label | out [post update] : PrintWriter | +| Test.java:737:14:737:15 | in : char[] | semmle.label | in : char[] | +| Test.java:738:9:738:11 | out | semmle.label | out | +| Test.java:743:16:743:32 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:743:25:743:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:744:4:744:6 | out [post update] : PrintWriter | semmle.label | out [post update] : PrintWriter | +| Test.java:744:14:744:15 | in : char[] | semmle.label | in : char[] | +| Test.java:745:9:745:11 | out | semmle.label | out | +| Test.java:750:13:750:26 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:750:19:750:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:751:4:751:6 | out [post update] : PrintWriter | semmle.label | out [post update] : PrintWriter | +| Test.java:751:14:751:15 | in : Number | semmle.label | in : Number | +| Test.java:752:9:752:11 | out | semmle.label | out | +| Test.java:757:16:757:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:757:25:757:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:758:4:758:6 | out [post update] : Writer | semmle.label | out [post update] : Writer | +| Test.java:758:14:758:15 | in : String | semmle.label | in : String | +| Test.java:759:9:759:11 | out | semmle.label | out | +| Test.java:764:16:764:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:764:25:764:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:765:4:765:6 | out [post update] : Writer | semmle.label | out [post update] : Writer | +| Test.java:765:14:765:15 | in : String | semmle.label | in : String | +| Test.java:766:9:766:11 | out | semmle.label | out | +| Test.java:771:16:771:32 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:771:25:771:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:772:4:772:6 | out [post update] : Writer | semmle.label | out [post update] : Writer | +| Test.java:772:14:772:15 | in : char[] | semmle.label | in : char[] | +| Test.java:773:9:773:11 | out | semmle.label | out | +| Test.java:778:16:778:32 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:778:25:778:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:779:4:779:6 | out [post update] : Writer | semmle.label | out [post update] : Writer | +| Test.java:779:14:779:15 | in : char[] | semmle.label | in : char[] | +| Test.java:780:9:780:11 | out | semmle.label | out | +| Test.java:785:13:785:26 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:785:19:785:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:786:4:786:6 | out [post update] : Writer | semmle.label | out [post update] : Writer | +| Test.java:786:14:786:15 | in : Number | semmle.label | in : Number | +| Test.java:787:9:787:11 | out | semmle.label | out | +subpaths +testFailures diff --git a/java/ql/test/library-tests/frameworks/jdk/java.net/test.expected b/java/ql/test/library-tests/frameworks/jdk/java.net/test.expected index e69de29bb2d..1e386a76c8f 100644 --- a/java/ql/test/library-tests/frameworks/jdk/java.net/test.expected +++ b/java/ql/test/library-tests/frameworks/jdk/java.net/test.expected @@ -0,0 +1,206 @@ +models +| 1 | Summary: java.net; InetAddress; true; getByName; (String); ; Argument[0]; ReturnValue; taint; ai-manual | +| 2 | Summary: java.net; InetSocketAddress; true; createUnresolved; (String,int); ; Argument[0]; ReturnValue; taint; ai-manual | +| 3 | Summary: java.net; InetSocketAddress; true; InetSocketAddress; (String,int); ; Argument[0]; Argument[this]; taint; ai-manual | +| 4 | Summary: java.net; URI; false; URI; (String); ; Argument[0]; Argument[this]; taint; manual | +| 5 | Summary: java.net; URI; false; create; ; ; Argument[0]; ReturnValue; taint; manual | +| 6 | Summary: java.net; URI; false; resolve; (String); ; Argument[0]; ReturnValue; taint; ai-manual | +| 7 | Summary: java.net; URI; false; resolve; (URI); ; Argument[0]; ReturnValue; taint; ai-manual | +| 8 | Summary: java.net; URI; false; toASCIIString; ; ; Argument[this]; ReturnValue; taint; manual | +| 9 | Summary: java.net; URI; false; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 10 | Summary: java.net; URI; false; toURL; ; ; Argument[this]; ReturnValue; taint; manual | +| 11 | Summary: java.net; URL; false; getPath; (); ; Argument[this].SyntheticField[java.net.URL.path]; ReturnValue; taint; ai-manual | +| 12 | Summary: java.net; URL; false; URL; (String); ; Argument[0]; Argument[this]; taint; manual | +| 13 | Summary: java.net; URL; false; URL; (URL,String); ; Argument[0]; Argument[this]; taint; ai-manual | +| 14 | Summary: java.net; URL; false; URL; (URL,String); ; Argument[1]; Argument[this]; taint; ai-manual | +| 15 | Summary: java.net; URL; false; toExternalForm; ; ; Argument[this]; ReturnValue; taint; manual | +| 16 | Summary: java.net; URL; false; toURI; ; ; Argument[this]; ReturnValue; taint; manual | +| 17 | Summary: java.net; URLDecoder; false; decode; ; ; Argument[0]; ReturnValue; taint; manual | +edges +| Test.java:24:16:24:32 | (...)... : String | Test.java:25:32:25:33 | in : String | provenance | | +| Test.java:24:25:24:32 | source(...) : Object | Test.java:24:16:24:32 | (...)... : String | provenance | | +| Test.java:25:10:25:34 | getByName(...) : InetAddress | Test.java:26:9:26:11 | out | provenance | | +| Test.java:25:32:25:33 | in : String | Test.java:25:10:25:34 | getByName(...) : InetAddress | provenance | MaD:1 | +| Test.java:31:16:31:32 | (...)... : String | Test.java:32:32:32:33 | in : String | provenance | | +| Test.java:31:25:31:32 | source(...) : Object | Test.java:31:16:31:32 | (...)... : String | provenance | | +| Test.java:32:10:32:37 | new InetSocketAddress(...) : InetSocketAddress | Test.java:33:9:33:11 | out | provenance | | +| Test.java:32:32:32:33 | in : String | Test.java:32:10:32:37 | new InetSocketAddress(...) : InetSocketAddress | provenance | MaD:3 | +| Test.java:38:16:38:32 | (...)... : String | Test.java:39:45:39:46 | in : String | provenance | | +| Test.java:38:25:38:32 | source(...) : Object | Test.java:38:16:38:32 | (...)... : String | provenance | | +| Test.java:39:10:39:50 | createUnresolved(...) : InetSocketAddress | Test.java:40:9:40:11 | out | provenance | | +| Test.java:39:45:39:46 | in : String | Test.java:39:10:39:50 | createUnresolved(...) : InetSocketAddress | provenance | MaD:2 | +| Test.java:45:16:45:32 | (...)... : String | Test.java:46:18:46:19 | in : String | provenance | | +| Test.java:45:25:45:32 | source(...) : Object | Test.java:45:16:45:32 | (...)... : String | provenance | | +| Test.java:46:10:46:20 | new URI(...) : URI | Test.java:47:9:47:11 | out | provenance | | +| Test.java:46:18:46:19 | in : String | Test.java:46:10:46:20 | new URI(...) : URI | provenance | MaD:4 | +| Test.java:52:16:52:32 | (...)... : String | Test.java:53:21:53:22 | in : String | provenance | | +| Test.java:52:25:52:32 | source(...) : Object | Test.java:52:16:52:32 | (...)... : String | provenance | | +| Test.java:53:10:53:23 | create(...) : URI | Test.java:54:9:54:11 | out | provenance | | +| Test.java:53:21:53:22 | in : String | Test.java:53:10:53:23 | create(...) : URI | provenance | MaD:5 | +| Test.java:59:16:59:32 | (...)... : String | Test.java:61:27:61:28 | in : String | provenance | | +| Test.java:59:25:59:32 | source(...) : Object | Test.java:59:16:59:32 | (...)... : String | provenance | | +| Test.java:61:10:61:29 | resolve(...) : URI | Test.java:62:9:62:11 | out | provenance | | +| Test.java:61:27:61:28 | in : String | Test.java:61:10:61:29 | resolve(...) : URI | provenance | MaD:6 | +| Test.java:67:13:67:26 | (...)... : URI | Test.java:69:27:69:28 | in : URI | provenance | | +| Test.java:67:19:67:26 | source(...) : Object | Test.java:67:13:67:26 | (...)... : URI | provenance | | +| Test.java:69:10:69:29 | resolve(...) : URI | Test.java:70:9:70:11 | out | provenance | | +| Test.java:69:27:69:28 | in : URI | Test.java:69:10:69:29 | resolve(...) : URI | provenance | MaD:7 | +| Test.java:75:13:75:26 | (...)... : URI | Test.java:76:10:76:11 | in : URI | provenance | | +| Test.java:75:19:75:26 | source(...) : Object | Test.java:75:13:75:26 | (...)... : URI | provenance | | +| Test.java:76:10:76:11 | in : URI | Test.java:76:10:76:27 | toASCIIString(...) : String | provenance | MaD:8 | +| Test.java:76:10:76:27 | toASCIIString(...) : String | Test.java:77:9:77:11 | out | provenance | | +| Test.java:82:13:82:26 | (...)... : URI | Test.java:83:10:83:11 | in : URI | provenance | | +| Test.java:82:19:82:26 | source(...) : Object | Test.java:82:13:82:26 | (...)... : URI | provenance | | +| Test.java:83:10:83:11 | in : URI | Test.java:83:10:83:22 | toString(...) : String | provenance | MaD:9 | +| Test.java:83:10:83:22 | toString(...) : String | Test.java:84:9:84:11 | out | provenance | | +| Test.java:89:13:89:26 | (...)... : URI | Test.java:90:10:90:11 | in : URI | provenance | | +| Test.java:89:19:89:26 | source(...) : Object | Test.java:89:13:89:26 | (...)... : URI | provenance | | +| Test.java:90:10:90:11 | in : URI | Test.java:90:10:90:19 | toURL(...) : URL | provenance | MaD:10 | +| Test.java:90:10:90:19 | toURL(...) : URL | Test.java:91:9:91:11 | out | provenance | | +| Test.java:97:13:97:26 | (...)... : URI | Test.java:98:10:98:11 | in : URI | provenance | | +| Test.java:97:19:97:26 | source(...) : Object | Test.java:97:13:97:26 | (...)... : URI | provenance | | +| Test.java:98:10:98:11 | in : URI | Test.java:98:10:98:19 | toURL(...) : URL | provenance | MaD:10 | +| Test.java:98:10:98:19 | toURL(...) : URL | Test.java:99:9:99:11 | out : URL | provenance | | +| Test.java:99:9:99:11 | out : URL | Test.java:99:9:99:21 | getPath(...) | provenance | MaD:11 | +| Test.java:104:16:104:32 | (...)... : String | Test.java:105:18:105:19 | in : String | provenance | | +| Test.java:104:25:104:32 | source(...) : Object | Test.java:104:16:104:32 | (...)... : String | provenance | | +| Test.java:105:10:105:20 | new URL(...) : URL | Test.java:106:9:106:11 | out | provenance | | +| Test.java:105:18:105:19 | in : String | Test.java:105:10:105:20 | new URL(...) : URL | provenance | MaD:12 | +| Test.java:112:16:112:32 | (...)... : String | Test.java:113:18:113:19 | in : String | provenance | | +| Test.java:112:25:112:32 | source(...) : Object | Test.java:112:16:112:32 | (...)... : String | provenance | | +| Test.java:113:10:113:20 | new URL(...) : URL | Test.java:114:9:114:11 | out : URL | provenance | | +| Test.java:113:18:113:19 | in : String | Test.java:113:10:113:20 | new URL(...) : URL | provenance | MaD:12 | +| Test.java:114:9:114:11 | out : URL | Test.java:114:9:114:21 | getPath(...) | provenance | MaD:11 | +| Test.java:119:13:119:26 | (...)... : URL | Test.java:120:18:120:19 | in : URL | provenance | | +| Test.java:119:19:119:26 | source(...) : Object | Test.java:119:13:119:26 | (...)... : URL | provenance | | +| Test.java:120:10:120:26 | new URL(...) : URL | Test.java:121:9:121:11 | out | provenance | | +| Test.java:120:18:120:19 | in : URL | Test.java:120:10:120:26 | new URL(...) : URL | provenance | MaD:13 | +| Test.java:126:16:126:32 | (...)... : String | Test.java:127:24:127:25 | in : String | provenance | | +| Test.java:126:25:126:32 | source(...) : Object | Test.java:126:16:126:32 | (...)... : String | provenance | | +| Test.java:127:10:127:26 | new URL(...) : URL | Test.java:128:9:128:11 | out | provenance | | +| Test.java:127:24:127:25 | in : String | Test.java:127:10:127:26 | new URL(...) : URL | provenance | MaD:14 | +| Test.java:133:13:133:26 | (...)... : URL | Test.java:134:10:134:11 | in : URL | provenance | | +| Test.java:133:19:133:26 | source(...) : Object | Test.java:133:13:133:26 | (...)... : URL | provenance | | +| Test.java:134:10:134:11 | in : URL | Test.java:134:10:134:28 | toExternalForm(...) : String | provenance | MaD:15 | +| Test.java:134:10:134:28 | toExternalForm(...) : String | Test.java:135:9:135:11 | out | provenance | | +| Test.java:140:13:140:26 | (...)... : URL | Test.java:141:10:141:11 | in : URL | provenance | | +| Test.java:140:19:140:26 | source(...) : Object | Test.java:140:13:140:26 | (...)... : URL | provenance | | +| Test.java:141:10:141:11 | in : URL | Test.java:141:10:141:19 | toURI(...) : URI | provenance | MaD:16 | +| Test.java:141:10:141:19 | toURI(...) : URI | Test.java:142:9:142:11 | out | provenance | | +| Test.java:147:16:147:32 | (...)... : String | Test.java:148:28:148:29 | in : String | provenance | | +| Test.java:147:25:147:32 | source(...) : Object | Test.java:147:16:147:32 | (...)... : String | provenance | | +| Test.java:148:10:148:30 | decode(...) : String | Test.java:149:9:149:11 | out | provenance | | +| Test.java:148:28:148:29 | in : String | Test.java:148:10:148:30 | decode(...) : String | provenance | MaD:17 | +| Test.java:154:16:154:32 | (...)... : String | Test.java:155:28:155:29 | in : String | provenance | | +| Test.java:154:25:154:32 | source(...) : Object | Test.java:154:16:154:32 | (...)... : String | provenance | | +| Test.java:155:10:155:46 | decode(...) : String | Test.java:156:9:156:11 | out | provenance | | +| Test.java:155:28:155:29 | in : String | Test.java:155:10:155:46 | decode(...) : String | provenance | MaD:17 | +| Test.java:161:16:161:32 | (...)... : String | Test.java:162:28:162:29 | in : String | provenance | | +| Test.java:161:25:161:32 | source(...) : Object | Test.java:161:16:161:32 | (...)... : String | provenance | | +| Test.java:162:10:162:45 | decode(...) : String | Test.java:163:9:163:11 | out | provenance | | +| Test.java:162:28:162:29 | in : String | Test.java:162:10:162:45 | decode(...) : String | provenance | MaD:17 | +nodes +| Test.java:24:16:24:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:24:25:24:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:25:10:25:34 | getByName(...) : InetAddress | semmle.label | getByName(...) : InetAddress | +| Test.java:25:32:25:33 | in : String | semmle.label | in : String | +| Test.java:26:9:26:11 | out | semmle.label | out | +| Test.java:31:16:31:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:31:25:31:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:32:10:32:37 | new InetSocketAddress(...) : InetSocketAddress | semmle.label | new InetSocketAddress(...) : InetSocketAddress | +| Test.java:32:32:32:33 | in : String | semmle.label | in : String | +| Test.java:33:9:33:11 | out | semmle.label | out | +| Test.java:38:16:38:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:38:25:38:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:39:10:39:50 | createUnresolved(...) : InetSocketAddress | semmle.label | createUnresolved(...) : InetSocketAddress | +| Test.java:39:45:39:46 | in : String | semmle.label | in : String | +| Test.java:40:9:40:11 | out | semmle.label | out | +| Test.java:45:16:45:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:45:25:45:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:46:10:46:20 | new URI(...) : URI | semmle.label | new URI(...) : URI | +| Test.java:46:18:46:19 | in : String | semmle.label | in : String | +| Test.java:47:9:47:11 | out | semmle.label | out | +| Test.java:52:16:52:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:52:25:52:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:53:10:53:23 | create(...) : URI | semmle.label | create(...) : URI | +| Test.java:53:21:53:22 | in : String | semmle.label | in : String | +| Test.java:54:9:54:11 | out | semmle.label | out | +| Test.java:59:16:59:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:59:25:59:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:61:10:61:29 | resolve(...) : URI | semmle.label | resolve(...) : URI | +| Test.java:61:27:61:28 | in : String | semmle.label | in : String | +| Test.java:62:9:62:11 | out | semmle.label | out | +| Test.java:67:13:67:26 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:67:19:67:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:69:10:69:29 | resolve(...) : URI | semmle.label | resolve(...) : URI | +| Test.java:69:27:69:28 | in : URI | semmle.label | in : URI | +| Test.java:70:9:70:11 | out | semmle.label | out | +| Test.java:75:13:75:26 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:75:19:75:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:76:10:76:11 | in : URI | semmle.label | in : URI | +| Test.java:76:10:76:27 | toASCIIString(...) : String | semmle.label | toASCIIString(...) : String | +| Test.java:77:9:77:11 | out | semmle.label | out | +| Test.java:82:13:82:26 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:82:19:82:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:83:10:83:11 | in : URI | semmle.label | in : URI | +| Test.java:83:10:83:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:84:9:84:11 | out | semmle.label | out | +| Test.java:89:13:89:26 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:89:19:89:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:90:10:90:11 | in : URI | semmle.label | in : URI | +| Test.java:90:10:90:19 | toURL(...) : URL | semmle.label | toURL(...) : URL | +| Test.java:91:9:91:11 | out | semmle.label | out | +| Test.java:97:13:97:26 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:97:19:97:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:98:10:98:11 | in : URI | semmle.label | in : URI | +| Test.java:98:10:98:19 | toURL(...) : URL | semmle.label | toURL(...) : URL | +| Test.java:99:9:99:11 | out : URL | semmle.label | out : URL | +| Test.java:99:9:99:21 | getPath(...) | semmle.label | getPath(...) | +| Test.java:104:16:104:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:104:25:104:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:105:10:105:20 | new URL(...) : URL | semmle.label | new URL(...) : URL | +| Test.java:105:18:105:19 | in : String | semmle.label | in : String | +| Test.java:106:9:106:11 | out | semmle.label | out | +| Test.java:112:16:112:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:112:25:112:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:113:10:113:20 | new URL(...) : URL | semmle.label | new URL(...) : URL | +| Test.java:113:18:113:19 | in : String | semmle.label | in : String | +| Test.java:114:9:114:11 | out : URL | semmle.label | out : URL | +| Test.java:114:9:114:21 | getPath(...) | semmle.label | getPath(...) | +| Test.java:119:13:119:26 | (...)... : URL | semmle.label | (...)... : URL | +| Test.java:119:19:119:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:120:10:120:26 | new URL(...) : URL | semmle.label | new URL(...) : URL | +| Test.java:120:18:120:19 | in : URL | semmle.label | in : URL | +| Test.java:121:9:121:11 | out | semmle.label | out | +| Test.java:126:16:126:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:126:25:126:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:127:10:127:26 | new URL(...) : URL | semmle.label | new URL(...) : URL | +| Test.java:127:24:127:25 | in : String | semmle.label | in : String | +| Test.java:128:9:128:11 | out | semmle.label | out | +| Test.java:133:13:133:26 | (...)... : URL | semmle.label | (...)... : URL | +| Test.java:133:19:133:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:134:10:134:11 | in : URL | semmle.label | in : URL | +| Test.java:134:10:134:28 | toExternalForm(...) : String | semmle.label | toExternalForm(...) : String | +| Test.java:135:9:135:11 | out | semmle.label | out | +| Test.java:140:13:140:26 | (...)... : URL | semmle.label | (...)... : URL | +| Test.java:140:19:140:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:141:10:141:11 | in : URL | semmle.label | in : URL | +| Test.java:141:10:141:19 | toURI(...) : URI | semmle.label | toURI(...) : URI | +| Test.java:142:9:142:11 | out | semmle.label | out | +| Test.java:147:16:147:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:147:25:147:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:148:10:148:30 | decode(...) : String | semmle.label | decode(...) : String | +| Test.java:148:28:148:29 | in : String | semmle.label | in : String | +| Test.java:149:9:149:11 | out | semmle.label | out | +| Test.java:154:16:154:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:154:25:154:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:155:10:155:46 | decode(...) : String | semmle.label | decode(...) : String | +| Test.java:155:28:155:29 | in : String | semmle.label | in : String | +| Test.java:156:9:156:11 | out | semmle.label | out | +| Test.java:161:16:161:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:161:25:161:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:162:10:162:45 | decode(...) : String | semmle.label | decode(...) : String | +| Test.java:162:28:162:29 | in : String | semmle.label | in : String | +| Test.java:163:9:163:11 | out | semmle.label | out | +subpaths +testFailures diff --git a/java/ql/test/library-tests/frameworks/jdk/java.nio.file/test.expected b/java/ql/test/library-tests/frameworks/jdk/java.nio.file/test.expected index e69de29bb2d..16cd0040eb2 100644 --- a/java/ql/test/library-tests/frameworks/jdk/java.nio.file/test.expected +++ b/java/ql/test/library-tests/frameworks/jdk/java.nio.file/test.expected @@ -0,0 +1,146 @@ +models +| 1 | Summary: java.nio.file; FileSystem; true; getPath; (String,String[]); ; Argument[0]; ReturnValue; taint; manual | +| 2 | Summary: java.nio.file; Path; true; getParent; ; ; Argument[this]; ReturnValue; taint; manual | +| 3 | Summary: java.nio.file; Path; true; normalize; ; ; Argument[this]; ReturnValue; taint; manual | +| 4 | Summary: java.nio.file; Path; true; resolve; ; ; Argument[0]; ReturnValue; taint; manual | +| 5 | Summary: java.nio.file; Path; true; resolve; ; ; Argument[this]; ReturnValue; taint; manual | +| 6 | Summary: java.nio.file; Path; true; toAbsolutePath; ; ; Argument[this]; ReturnValue; taint; manual | +| 7 | Summary: java.nio.file; Path; false; toFile; ; ; Argument[this]; ReturnValue; taint; manual | +| 8 | Summary: java.nio.file; Path; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 9 | Summary: java.nio.file; Path; true; toUri; ; ; Argument[this]; ReturnValue; taint; manual | +| 10 | Summary: java.nio.file; Paths; true; get; ; ; Argument[0]; ReturnValue; taint; manual | +| 11 | Summary: java.nio.file; Paths; true; get; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +edges +| Test.java:23:16:23:32 | (...)... : String | Test.java:25:27:25:28 | in : String | provenance | | +| Test.java:23:25:23:32 | source(...) : Object | Test.java:23:16:23:32 | (...)... : String | provenance | | +| Test.java:25:10:25:46 | getPath(...) : Path | Test.java:26:9:26:11 | out | provenance | | +| Test.java:25:27:25:28 | in : String | Test.java:25:10:25:46 | getPath(...) : Path | provenance | MaD:1 | +| Test.java:31:14:31:28 | (...)... : Path | Test.java:32:10:32:11 | in : Path | provenance | | +| Test.java:31:21:31:28 | source(...) : Object | Test.java:31:14:31:28 | (...)... : Path | provenance | | +| Test.java:32:10:32:11 | in : Path | Test.java:32:10:32:20 | toFile(...) : File | provenance | MaD:7 | +| Test.java:32:10:32:20 | toFile(...) : File | Test.java:33:9:33:11 | out | provenance | | +| Test.java:38:14:38:28 | (...)... : Path | Test.java:39:10:39:11 | in : Path | provenance | | +| Test.java:38:21:38:28 | source(...) : Object | Test.java:38:14:38:28 | (...)... : Path | provenance | | +| Test.java:39:10:39:11 | in : Path | Test.java:39:10:39:23 | getParent(...) : Path | provenance | MaD:2 | +| Test.java:39:10:39:23 | getParent(...) : Path | Test.java:40:9:40:11 | out | provenance | | +| Test.java:45:14:45:28 | (...)... : Path | Test.java:46:10:46:11 | in : Path | provenance | | +| Test.java:45:21:45:28 | source(...) : Object | Test.java:45:14:45:28 | (...)... : Path | provenance | | +| Test.java:46:10:46:11 | in : Path | Test.java:46:10:46:23 | normalize(...) : Path | provenance | MaD:3 | +| Test.java:46:10:46:23 | normalize(...) : Path | Test.java:47:9:47:11 | out | provenance | | +| Test.java:52:14:52:28 | (...)... : Path | Test.java:54:27:54:28 | in : Path | provenance | | +| Test.java:52:21:52:28 | source(...) : Object | Test.java:52:14:52:28 | (...)... : Path | provenance | | +| Test.java:54:10:54:29 | resolve(...) : Path | Test.java:55:9:55:11 | out | provenance | | +| Test.java:54:27:54:28 | in : Path | Test.java:54:10:54:29 | resolve(...) : Path | provenance | MaD:4 | +| Test.java:60:14:60:28 | (...)... : Path | Test.java:61:10:61:11 | in : Path | provenance | | +| Test.java:60:21:60:28 | source(...) : Object | Test.java:60:14:60:28 | (...)... : Path | provenance | | +| Test.java:61:10:61:11 | in : Path | Test.java:61:10:61:32 | resolve(...) : Path | provenance | MaD:5 | +| Test.java:61:10:61:32 | resolve(...) : Path | Test.java:62:9:62:11 | out | provenance | | +| Test.java:67:14:67:28 | (...)... : Path | Test.java:68:10:68:11 | in : Path | provenance | | +| Test.java:67:21:67:28 | source(...) : Object | Test.java:67:14:67:28 | (...)... : Path | provenance | | +| Test.java:68:10:68:11 | in : Path | Test.java:68:10:68:34 | resolve(...) : Path | provenance | MaD:5 | +| Test.java:68:10:68:34 | resolve(...) : Path | Test.java:69:9:69:11 | out | provenance | | +| Test.java:74:16:74:32 | (...)... : String | Test.java:76:27:76:28 | in : String | provenance | | +| Test.java:74:25:74:32 | source(...) : Object | Test.java:74:16:74:32 | (...)... : String | provenance | | +| Test.java:76:10:76:29 | resolve(...) : Path | Test.java:77:9:77:11 | out | provenance | | +| Test.java:76:27:76:28 | in : String | Test.java:76:10:76:29 | resolve(...) : Path | provenance | MaD:4 | +| Test.java:82:14:82:28 | (...)... : Path | Test.java:83:10:83:11 | in : Path | provenance | | +| Test.java:82:21:82:28 | source(...) : Object | Test.java:82:14:82:28 | (...)... : Path | provenance | | +| Test.java:83:10:83:11 | in : Path | Test.java:83:10:83:28 | toAbsolutePath(...) : Path | provenance | MaD:6 | +| Test.java:83:10:83:28 | toAbsolutePath(...) : Path | Test.java:84:9:84:11 | out | provenance | | +| Test.java:89:14:89:28 | (...)... : Path | Test.java:90:10:90:11 | in : Path | provenance | | +| Test.java:89:21:89:28 | source(...) : Object | Test.java:89:14:89:28 | (...)... : Path | provenance | | +| Test.java:90:10:90:11 | in : Path | Test.java:90:10:90:22 | toString(...) : String | provenance | MaD:8 | +| Test.java:90:10:90:22 | toString(...) : String | Test.java:91:9:91:11 | out | provenance | | +| Test.java:96:14:96:28 | (...)... : Path | Test.java:97:10:97:11 | in : Path | provenance | | +| Test.java:96:21:96:28 | source(...) : Object | Test.java:96:14:96:28 | (...)... : Path | provenance | | +| Test.java:97:10:97:11 | in : Path | Test.java:97:10:97:19 | toUri(...) : URI | provenance | MaD:9 | +| Test.java:97:10:97:19 | toUri(...) : URI | Test.java:98:9:98:11 | out | provenance | | +| Test.java:103:16:103:32 | (...)... : String | Test.java:104:20:104:21 | in : String | provenance | | +| Test.java:103:25:103:32 | source(...) : Object | Test.java:103:16:103:32 | (...)... : String | provenance | | +| Test.java:104:10:104:39 | get(...) : Path | Test.java:105:9:105:11 | out | provenance | | +| Test.java:104:20:104:21 | in : String | Test.java:104:10:104:39 | get(...) : Path | provenance | MaD:10 | +| Test.java:110:13:110:26 | (...)... : URI | Test.java:111:20:111:21 | in : URI | provenance | | +| Test.java:110:19:110:26 | source(...) : Object | Test.java:110:13:110:26 | (...)... : URI | provenance | | +| Test.java:111:10:111:22 | get(...) : Path | Test.java:112:9:112:11 | out | provenance | | +| Test.java:111:20:111:21 | in : URI | Test.java:111:10:111:22 | get(...) : Path | provenance | MaD:10 | +| Test.java:117:18:117:60 | (...)... : String[] [[]] : String | Test.java:118:35:118:36 | in : String[] [[]] : String | provenance | | +| Test.java:117:29:117:60 | {...} : String[] [[]] : String | Test.java:117:18:117:60 | (...)... : String[] [[]] : String | provenance | | +| Test.java:117:43:117:59 | (...)... : String | Test.java:117:29:117:60 | {...} : String[] [[]] : String | provenance | | +| Test.java:117:52:117:59 | source(...) : Object | Test.java:117:43:117:59 | (...)... : String | provenance | | +| Test.java:118:10:118:37 | get(...) : Path | Test.java:119:9:119:11 | out | provenance | | +| Test.java:118:35:118:36 | in : String[] [[]] : String | Test.java:118:10:118:37 | get(...) : Path | provenance | MaD:11 | +nodes +| Test.java:23:16:23:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:23:25:23:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:25:10:25:46 | getPath(...) : Path | semmle.label | getPath(...) : Path | +| Test.java:25:27:25:28 | in : String | semmle.label | in : String | +| Test.java:26:9:26:11 | out | semmle.label | out | +| Test.java:31:14:31:28 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:31:21:31:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:32:10:32:11 | in : Path | semmle.label | in : Path | +| Test.java:32:10:32:20 | toFile(...) : File | semmle.label | toFile(...) : File | +| Test.java:33:9:33:11 | out | semmle.label | out | +| Test.java:38:14:38:28 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:38:21:38:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:39:10:39:11 | in : Path | semmle.label | in : Path | +| Test.java:39:10:39:23 | getParent(...) : Path | semmle.label | getParent(...) : Path | +| Test.java:40:9:40:11 | out | semmle.label | out | +| Test.java:45:14:45:28 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:45:21:45:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:46:10:46:11 | in : Path | semmle.label | in : Path | +| Test.java:46:10:46:23 | normalize(...) : Path | semmle.label | normalize(...) : Path | +| Test.java:47:9:47:11 | out | semmle.label | out | +| Test.java:52:14:52:28 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:52:21:52:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:54:10:54:29 | resolve(...) : Path | semmle.label | resolve(...) : Path | +| Test.java:54:27:54:28 | in : Path | semmle.label | in : Path | +| Test.java:55:9:55:11 | out | semmle.label | out | +| Test.java:60:14:60:28 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:60:21:60:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:61:10:61:11 | in : Path | semmle.label | in : Path | +| Test.java:61:10:61:32 | resolve(...) : Path | semmle.label | resolve(...) : Path | +| Test.java:62:9:62:11 | out | semmle.label | out | +| Test.java:67:14:67:28 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:67:21:67:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:68:10:68:11 | in : Path | semmle.label | in : Path | +| Test.java:68:10:68:34 | resolve(...) : Path | semmle.label | resolve(...) : Path | +| Test.java:69:9:69:11 | out | semmle.label | out | +| Test.java:74:16:74:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:74:25:74:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:76:10:76:29 | resolve(...) : Path | semmle.label | resolve(...) : Path | +| Test.java:76:27:76:28 | in : String | semmle.label | in : String | +| Test.java:77:9:77:11 | out | semmle.label | out | +| Test.java:82:14:82:28 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:82:21:82:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:83:10:83:11 | in : Path | semmle.label | in : Path | +| Test.java:83:10:83:28 | toAbsolutePath(...) : Path | semmle.label | toAbsolutePath(...) : Path | +| Test.java:84:9:84:11 | out | semmle.label | out | +| Test.java:89:14:89:28 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:89:21:89:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:90:10:90:11 | in : Path | semmle.label | in : Path | +| Test.java:90:10:90:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:91:9:91:11 | out | semmle.label | out | +| Test.java:96:14:96:28 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:96:21:96:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:97:10:97:11 | in : Path | semmle.label | in : Path | +| Test.java:97:10:97:19 | toUri(...) : URI | semmle.label | toUri(...) : URI | +| Test.java:98:9:98:11 | out | semmle.label | out | +| Test.java:103:16:103:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:103:25:103:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:104:10:104:39 | get(...) : Path | semmle.label | get(...) : Path | +| Test.java:104:20:104:21 | in : String | semmle.label | in : String | +| Test.java:105:9:105:11 | out | semmle.label | out | +| Test.java:110:13:110:26 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:110:19:110:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:111:10:111:22 | get(...) : Path | semmle.label | get(...) : Path | +| Test.java:111:20:111:21 | in : URI | semmle.label | in : URI | +| Test.java:112:9:112:11 | out | semmle.label | out | +| Test.java:117:18:117:60 | (...)... : String[] [[]] : String | semmle.label | (...)... : String[] [[]] : String | +| Test.java:117:29:117:60 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:117:43:117:59 | (...)... : String | semmle.label | (...)... : String | +| Test.java:117:52:117:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:118:10:118:37 | get(...) : Path | semmle.label | get(...) : Path | +| Test.java:118:35:118:36 | in : String[] [[]] : String | semmle.label | in : String[] [[]] : String | +| Test.java:119:9:119:11 | out | semmle.label | out | +subpaths +testFailures diff --git a/java/ql/test/library-tests/frameworks/json-java/test.expected b/java/ql/test/library-tests/frameworks/json-java/test.expected index e69de29bb2d..c1e052f26e2 100644 --- a/java/ql/test/library-tests/frameworks/json-java/test.expected +++ b/java/ql/test/library-tests/frameworks/json-java/test.expected @@ -0,0 +1,3394 @@ +models +| 1 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 2 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 3 | Summary: java.util; List; false; of; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 4 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 5 | Summary: java.util; Map; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 6 | Summary: java.util; Map; false; of; ; ; Argument[0]; ReturnValue.MapKey; value; manual | +| 7 | Summary: java.util; Map; false; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual | +| 8 | Summary: org.json; CDL; false; rowToJSONArray; ; ; Argument[0]; ReturnValue; taint; manual | +| 9 | Summary: org.json; CDL; false; rowToJSONObject; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 10 | Summary: org.json; CDL; false; rowToString; ; ; Argument[0]; ReturnValue; taint; manual | +| 11 | Summary: org.json; CDL; false; toJSONArray; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 12 | Summary: org.json; CDL; false; toString; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 13 | Summary: org.json; Cookie; false; escape; ; ; Argument[0]; ReturnValue; taint; manual | +| 14 | Summary: org.json; Cookie; false; toJSONObject; ; ; Argument[0]; ReturnValue; taint; manual | +| 15 | Summary: org.json; Cookie; false; toString; ; ; Argument[0]; ReturnValue; taint; manual | +| 16 | Summary: org.json; Cookie; false; unescape; ; ; Argument[0]; ReturnValue; taint; manual | +| 17 | Summary: org.json; CookieList; false; toJSONObject; ; ; Argument[0]; ReturnValue; taint; manual | +| 18 | Summary: org.json; CookieList; false; toString; ; ; Argument[0]; ReturnValue; taint; manual | +| 19 | Summary: org.json; HTTP; false; toJSONObject; ; ; Argument[0]; ReturnValue; taint; manual | +| 20 | Summary: org.json; HTTP; false; toString; ; ; Argument[0]; ReturnValue; taint; manual | +| 21 | Summary: org.json; HTTPTokener; false; HTTPTokener; ; ; Argument[0]; Argument[this]; taint; manual | +| 22 | Summary: org.json; HTTPTokener; false; nextToken; ; ; Argument[this]; ReturnValue; taint; manual | +| 23 | Summary: org.json; JSONArray; false; JSONArray; (Collection); ; Argument[0].Element; Argument[this]; taint; manual | +| 24 | Summary: org.json; JSONArray; false; JSONArray; (Iterable); ; Argument[0].Element; Argument[this]; taint; manual | +| 25 | Summary: org.json; JSONArray; false; JSONArray; (JSONArray); ; Argument[0]; Argument[this]; taint; manual | +| 26 | Summary: org.json; JSONArray; false; JSONArray; (JSONTokener); ; Argument[0]; Argument[this]; taint; manual | +| 27 | Summary: org.json; JSONArray; false; JSONArray; (Object); ; Argument[0].ArrayElement; Argument[this]; taint; manual | +| 28 | Summary: org.json; JSONArray; false; JSONArray; (String); ; Argument[0]; Argument[this]; taint; manual | +| 29 | Summary: org.json; JSONArray; false; get; ; ; Argument[this]; ReturnValue; taint; manual | +| 30 | Summary: org.json; JSONArray; false; getBigDecimal; ; ; Argument[this]; ReturnValue; taint; manual | +| 31 | Summary: org.json; JSONArray; false; getBigInteger; ; ; Argument[this]; ReturnValue; taint; manual | +| 32 | Summary: org.json; JSONArray; false; getBoolean; ; ; Argument[this]; ReturnValue; taint; manual | +| 33 | Summary: org.json; JSONArray; false; getDouble; ; ; Argument[this]; ReturnValue; taint; manual | +| 34 | Summary: org.json; JSONArray; false; getEnum; ; ; Argument[this]; ReturnValue; taint; manual | +| 35 | Summary: org.json; JSONArray; false; getFloat; ; ; Argument[this]; ReturnValue; taint; manual | +| 36 | Summary: org.json; JSONArray; false; getInt; ; ; Argument[this]; ReturnValue; taint; manual | +| 37 | Summary: org.json; JSONArray; false; getJSONArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 38 | Summary: org.json; JSONArray; false; getJSONObject; ; ; Argument[this]; ReturnValue; taint; manual | +| 39 | Summary: org.json; JSONArray; false; getLong; ; ; Argument[this]; ReturnValue; taint; manual | +| 40 | Summary: org.json; JSONArray; false; getNumber; ; ; Argument[this]; ReturnValue; taint; manual | +| 41 | Summary: org.json; JSONArray; false; getString; ; ; Argument[this]; ReturnValue; taint; manual | +| 42 | Summary: org.json; JSONArray; false; iterator; ; ; Argument[this]; ReturnValue.Element; taint; manual | +| 43 | Summary: org.json; JSONArray; false; join; ; ; Argument[this]; ReturnValue; taint; manual | +| 44 | Summary: org.json; JSONArray; false; join; ; ; Argument[0]; ReturnValue; taint; manual | +| 45 | Summary: org.json; JSONArray; false; opt; ; ; Argument[this]; ReturnValue; taint; manual | +| 46 | Summary: org.json; JSONArray; false; optBigDecimal; ; ; Argument[this]; ReturnValue; taint; manual | +| 47 | Summary: org.json; JSONArray; false; optBigDecimal; ; ; Argument[1]; ReturnValue; value; manual | +| 48 | Summary: org.json; JSONArray; false; optBigInteger; ; ; Argument[this]; ReturnValue; taint; manual | +| 49 | Summary: org.json; JSONArray; false; optBigInteger; ; ; Argument[1]; ReturnValue; value; manual | +| 50 | Summary: org.json; JSONArray; false; optBoolean; ; ; Argument[this]; ReturnValue; taint; manual | +| 51 | Summary: org.json; JSONArray; false; optBoolean; ; ; Argument[1]; ReturnValue; value; manual | +| 52 | Summary: org.json; JSONArray; false; optDouble; ; ; Argument[this]; ReturnValue; taint; manual | +| 53 | Summary: org.json; JSONArray; false; optDouble; ; ; Argument[1]; ReturnValue; value; manual | +| 54 | Summary: org.json; JSONArray; false; optEnum; ; ; Argument[this]; ReturnValue; taint; manual | +| 55 | Summary: org.json; JSONArray; false; optEnum; ; ; Argument[2]; ReturnValue; value; manual | +| 56 | Summary: org.json; JSONArray; false; optFloat; ; ; Argument[this]; ReturnValue; taint; manual | +| 57 | Summary: org.json; JSONArray; false; optFloat; ; ; Argument[1]; ReturnValue; value; manual | +| 58 | Summary: org.json; JSONArray; false; optInt; ; ; Argument[this]; ReturnValue; taint; manual | +| 59 | Summary: org.json; JSONArray; false; optInt; ; ; Argument[1]; ReturnValue; value; manual | +| 60 | Summary: org.json; JSONArray; false; optJSONArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 61 | Summary: org.json; JSONArray; false; optJSONObject; ; ; Argument[this]; ReturnValue; taint; manual | +| 62 | Summary: org.json; JSONArray; false; optLong; ; ; Argument[this]; ReturnValue; taint; manual | +| 63 | Summary: org.json; JSONArray; false; optLong; ; ; Argument[1]; ReturnValue; value; manual | +| 64 | Summary: org.json; JSONArray; false; optNumber; ; ; Argument[this]; ReturnValue; taint; manual | +| 65 | Summary: org.json; JSONArray; false; optNumber; ; ; Argument[1]; ReturnValue; value; manual | +| 66 | Summary: org.json; JSONArray; false; optQuery; ; ; Argument[this]; ReturnValue; taint; manual | +| 67 | Summary: org.json; JSONArray; false; optString; ; ; Argument[this]; ReturnValue; taint; manual | +| 68 | Summary: org.json; JSONArray; false; optString; ; ; Argument[1]; ReturnValue; value; manual | +| 69 | Summary: org.json; JSONArray; false; put; ; ; Argument[this]; ReturnValue; value; manual | +| 70 | Summary: org.json; JSONArray; false; put; (Collection); ; Argument[0].Element; Argument[this]; taint; manual | +| 71 | Summary: org.json; JSONArray; false; put; (Map); ; Argument[0].MapKey; Argument[this]; taint; manual | +| 72 | Summary: org.json; JSONArray; false; put; (Map); ; Argument[0].MapValue; Argument[this]; taint; manual | +| 73 | Summary: org.json; JSONArray; false; put; (Object); ; Argument[0]; Argument[this]; taint; manual | +| 74 | Summary: org.json; JSONArray; false; put; (boolean); ; Argument[0]; Argument[this]; taint; manual | +| 75 | Summary: org.json; JSONArray; false; put; (double); ; Argument[0]; Argument[this]; taint; manual | +| 76 | Summary: org.json; JSONArray; false; put; (float); ; Argument[0]; Argument[this]; taint; manual | +| 77 | Summary: org.json; JSONArray; false; put; (int); ; Argument[0]; Argument[this]; taint; manual | +| 78 | Summary: org.json; JSONArray; false; put; (int,Collection); ; Argument[1].Element; Argument[this]; taint; manual | +| 79 | Summary: org.json; JSONArray; false; put; (int,Map); ; Argument[1].MapKey; Argument[this]; taint; manual | +| 80 | Summary: org.json; JSONArray; false; put; (int,Map); ; Argument[1].MapValue; Argument[this]; taint; manual | +| 81 | Summary: org.json; JSONArray; false; put; (int,Object); ; Argument[1]; Argument[this]; taint; manual | +| 82 | Summary: org.json; JSONArray; false; put; (int,boolean); ; Argument[1]; Argument[this]; taint; manual | +| 83 | Summary: org.json; JSONArray; false; put; (int,double); ; Argument[1]; Argument[this]; taint; manual | +| 84 | Summary: org.json; JSONArray; false; put; (int,float); ; Argument[1]; Argument[this]; taint; manual | +| 85 | Summary: org.json; JSONArray; false; put; (int,int); ; Argument[1]; Argument[this]; taint; manual | +| 86 | Summary: org.json; JSONArray; false; put; (int,long); ; Argument[1]; Argument[this]; taint; manual | +| 87 | Summary: org.json; JSONArray; false; put; (long); ; Argument[0]; Argument[this]; taint; manual | +| 88 | Summary: org.json; JSONArray; false; putAll; ; ; Argument[this]; ReturnValue; value; manual | +| 89 | Summary: org.json; JSONArray; false; putAll; (Collection); ; Argument[0].Element; Argument[this]; taint; manual | +| 90 | Summary: org.json; JSONArray; false; putAll; (Iterable); ; Argument[0].Element; Argument[this]; taint; manual | +| 91 | Summary: org.json; JSONArray; false; putAll; (JSONArray); ; Argument[0]; Argument[this]; taint; manual | +| 92 | Summary: org.json; JSONArray; false; putAll; (Object); ; Argument[0]; Argument[this]; taint; manual | +| 93 | Summary: org.json; JSONArray; false; query; ; ; Argument[this]; ReturnValue; taint; manual | +| 94 | Summary: org.json; JSONArray; false; remove; ; ; Argument[this]; ReturnValue; taint; manual | +| 95 | Summary: org.json; JSONArray; false; toJSONObject; ; ; Argument[this]; ReturnValue; taint; manual | +| 96 | Summary: org.json; JSONArray; false; toJSONObject; ; ; Argument[0]; ReturnValue; taint; manual | +| 97 | Summary: org.json; JSONArray; false; toString; ; ; Argument[0]; ReturnValue; taint; manual | +| 98 | Summary: org.json; JSONArray; false; write; ; ; Argument[this]; Argument[0]; taint; manual | +| 99 | Summary: org.json; JSONArray; false; write; ; ; Argument[0]; ReturnValue; value; manual | +| 100 | Summary: org.json; JSONML; false; toJSONArray; ; ; Argument[0]; ReturnValue; taint; manual | +| 101 | Summary: org.json; JSONML; false; toJSONObject; ; ; Argument[0]; ReturnValue; taint; manual | +| 102 | Summary: org.json; JSONML; false; toString; ; ; Argument[0]; ReturnValue; taint; manual | +| 103 | Summary: org.json; JSONObject; false; JSONObject; (JSONObject,String[]); ; Argument[0]; Argument[this]; taint; manual | +| 104 | Summary: org.json; JSONObject; false; JSONObject; (JSONObject,String[]); ; Argument[1].ArrayElement; Argument[this]; taint; manual | +| 105 | Summary: org.json; JSONObject; false; JSONObject; (JSONTokener); ; Argument[0]; Argument[this]; taint; manual | +| 106 | Summary: org.json; JSONObject; false; JSONObject; (Map); ; Argument[0].MapKey; Argument[this]; taint; manual | +| 107 | Summary: org.json; JSONObject; false; JSONObject; (Map); ; Argument[0].MapValue; Argument[this]; taint; manual | +| 108 | Summary: org.json; JSONObject; false; JSONObject; (Object); ; Argument[0]; Argument[this]; taint; manual | +| 109 | Summary: org.json; JSONObject; false; JSONObject; (Object,String[]); ; Argument[0]; Argument[this]; taint; manual | +| 110 | Summary: org.json; JSONObject; false; JSONObject; (Object,String[]); ; Argument[1].ArrayElement; Argument[this]; taint; manual | +| 111 | Summary: org.json; JSONObject; false; JSONObject; (String); ; Argument[0]; Argument[this]; taint; manual | +| 112 | Summary: org.json; JSONObject; false; JSONObject; (String,Locale); ; Argument[0]; Argument[this]; taint; manual | +| 113 | Summary: org.json; JSONObject; false; accumulate; ; ; Argument[this]; ReturnValue; value; manual | +| 114 | Summary: org.json; JSONObject; false; accumulate; ; ; Argument[0..1]; Argument[this]; taint; manual | +| 115 | Summary: org.json; JSONObject; false; append; ; ; Argument[this]; ReturnValue; value; manual | +| 116 | Summary: org.json; JSONObject; false; append; ; ; Argument[0..1]; Argument[this]; taint; manual | +| 117 | Summary: org.json; JSONObject; false; doubleToString; ; ; Argument[0]; ReturnValue; taint; manual | +| 118 | Summary: org.json; JSONObject; false; get; ; ; Argument[this]; ReturnValue; taint; manual | +| 119 | Summary: org.json; JSONObject; false; getBigDecimal; ; ; Argument[this]; ReturnValue; taint; manual | +| 120 | Summary: org.json; JSONObject; false; getBigInteger; ; ; Argument[this]; ReturnValue; taint; manual | +| 121 | Summary: org.json; JSONObject; false; getBoolean; ; ; Argument[this]; ReturnValue; taint; manual | +| 122 | Summary: org.json; JSONObject; false; getDouble; ; ; Argument[this]; ReturnValue; taint; manual | +| 123 | Summary: org.json; JSONObject; false; getEnum; ; ; Argument[this]; ReturnValue; taint; manual | +| 124 | Summary: org.json; JSONObject; false; getFloat; ; ; Argument[this]; ReturnValue; taint; manual | +| 125 | Summary: org.json; JSONObject; false; getInt; ; ; Argument[this]; ReturnValue; taint; manual | +| 126 | Summary: org.json; JSONObject; false; getJSONArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 127 | Summary: org.json; JSONObject; false; getJSONObject; ; ; Argument[this]; ReturnValue; taint; manual | +| 128 | Summary: org.json; JSONObject; false; getLong; ; ; Argument[this]; ReturnValue; taint; manual | +| 129 | Summary: org.json; JSONObject; false; getNames; ; ; Argument[0]; ReturnValue.ArrayElement; taint; manual | +| 130 | Summary: org.json; JSONObject; false; getNumber; ; ; Argument[this]; ReturnValue; taint; manual | +| 131 | Summary: org.json; JSONObject; false; getString; ; ; Argument[this]; ReturnValue; taint; manual | +| 132 | Summary: org.json; JSONObject; false; increment; ; ; Argument[this]; ReturnValue; value; manual | +| 133 | Summary: org.json; JSONObject; false; increment; ; ; Argument[0]; Argument[this]; taint; manual | +| 134 | Summary: org.json; JSONObject; false; keySet; ; ; Argument[this]; ReturnValue.Element; taint; manual | +| 135 | Summary: org.json; JSONObject; false; keys; ; ; Argument[this]; ReturnValue.Element; taint; manual | +| 136 | Summary: org.json; JSONObject; false; names; ; ; Argument[this]; ReturnValue; taint; manual | +| 137 | Summary: org.json; JSONObject; false; numberToString; ; ; Argument[0]; ReturnValue; taint; manual | +| 138 | Summary: org.json; JSONObject; false; opt; ; ; Argument[this]; ReturnValue; taint; manual | +| 139 | Summary: org.json; JSONObject; false; optBigDecimal; ; ; Argument[this]; ReturnValue; taint; manual | +| 140 | Summary: org.json; JSONObject; false; optBigDecimal; ; ; Argument[1]; ReturnValue; value; manual | +| 141 | Summary: org.json; JSONObject; false; optBigInteger; ; ; Argument[this]; ReturnValue; taint; manual | +| 142 | Summary: org.json; JSONObject; false; optBigInteger; ; ; Argument[1]; ReturnValue; value; manual | +| 143 | Summary: org.json; JSONObject; false; optBoolean; ; ; Argument[this]; ReturnValue; taint; manual | +| 144 | Summary: org.json; JSONObject; false; optBoolean; ; ; Argument[1]; ReturnValue; value; manual | +| 145 | Summary: org.json; JSONObject; false; optDouble; ; ; Argument[this]; ReturnValue; taint; manual | +| 146 | Summary: org.json; JSONObject; false; optDouble; ; ; Argument[1]; ReturnValue; value; manual | +| 147 | Summary: org.json; JSONObject; false; optEnum; ; ; Argument[this]; ReturnValue; taint; manual | +| 148 | Summary: org.json; JSONObject; false; optEnum; ; ; Argument[2]; ReturnValue; value; manual | +| 149 | Summary: org.json; JSONObject; false; optFloat; ; ; Argument[this]; ReturnValue; taint; manual | +| 150 | Summary: org.json; JSONObject; false; optFloat; ; ; Argument[1]; ReturnValue; value; manual | +| 151 | Summary: org.json; JSONObject; false; optInt; ; ; Argument[this]; ReturnValue; taint; manual | +| 152 | Summary: org.json; JSONObject; false; optInt; ; ; Argument[1]; ReturnValue; value; manual | +| 153 | Summary: org.json; JSONObject; false; optJSONArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 154 | Summary: org.json; JSONObject; false; optJSONObject; ; ; Argument[this]; ReturnValue; taint; manual | +| 155 | Summary: org.json; JSONObject; false; optLong; ; ; Argument[this]; ReturnValue; taint; manual | +| 156 | Summary: org.json; JSONObject; false; optLong; ; ; Argument[1]; ReturnValue; value; manual | +| 157 | Summary: org.json; JSONObject; false; optNumber; ; ; Argument[this]; ReturnValue; taint; manual | +| 158 | Summary: org.json; JSONObject; false; optNumber; ; ; Argument[1]; ReturnValue; value; manual | +| 159 | Summary: org.json; JSONObject; false; optQuery; ; ; Argument[this]; ReturnValue; taint; manual | +| 160 | Summary: org.json; JSONObject; false; optString; ; ; Argument[this]; ReturnValue; taint; manual | +| 161 | Summary: org.json; JSONObject; false; optString; ; ; Argument[1]; ReturnValue; value; manual | +| 162 | Summary: org.json; JSONObject; false; put; ; ; Argument[this]; ReturnValue; value; manual | +| 163 | Summary: org.json; JSONObject; false; put; (String,Collection); ; Argument[0]; Argument[this]; taint; manual | +| 164 | Summary: org.json; JSONObject; false; put; (String,Collection); ; Argument[1].Element; Argument[this]; taint; manual | +| 165 | Summary: org.json; JSONObject; false; put; (String,Map); ; Argument[0]; Argument[this]; taint; manual | +| 166 | Summary: org.json; JSONObject; false; put; (String,Map); ; Argument[1].MapKey; Argument[this]; taint; manual | +| 167 | Summary: org.json; JSONObject; false; put; (String,Map); ; Argument[1].MapValue; Argument[this]; taint; manual | +| 168 | Summary: org.json; JSONObject; false; put; (String,Object); ; Argument[0]; Argument[this]; taint; manual | +| 169 | Summary: org.json; JSONObject; false; put; (String,Object); ; Argument[1]; Argument[this]; taint; manual | +| 170 | Summary: org.json; JSONObject; false; put; (String,boolean); ; Argument[0]; Argument[this]; taint; manual | +| 171 | Summary: org.json; JSONObject; false; put; (String,boolean); ; Argument[1]; Argument[this]; taint; manual | +| 172 | Summary: org.json; JSONObject; false; put; (String,double); ; Argument[0]; Argument[this]; taint; manual | +| 173 | Summary: org.json; JSONObject; false; put; (String,double); ; Argument[1]; Argument[this]; taint; manual | +| 174 | Summary: org.json; JSONObject; false; put; (String,float); ; Argument[0]; Argument[this]; taint; manual | +| 175 | Summary: org.json; JSONObject; false; put; (String,float); ; Argument[1]; Argument[this]; taint; manual | +| 176 | Summary: org.json; JSONObject; false; put; (String,int); ; Argument[0]; Argument[this]; taint; manual | +| 177 | Summary: org.json; JSONObject; false; put; (String,int); ; Argument[1]; Argument[this]; taint; manual | +| 178 | Summary: org.json; JSONObject; false; put; (String,long); ; Argument[0]; Argument[this]; taint; manual | +| 179 | Summary: org.json; JSONObject; false; put; (String,long); ; Argument[1]; Argument[this]; taint; manual | +| 180 | Summary: org.json; JSONObject; false; putOnce; ; ; Argument[this]; ReturnValue; value; manual | +| 181 | Summary: org.json; JSONObject; false; putOnce; ; ; Argument[0..1]; Argument[this]; taint; manual | +| 182 | Summary: org.json; JSONObject; false; putOpt; ; ; Argument[this]; ReturnValue; value; manual | +| 183 | Summary: org.json; JSONObject; false; putOpt; ; ; Argument[0..1]; Argument[this]; taint; manual | +| 184 | Summary: org.json; JSONObject; false; query; ; ; Argument[this]; ReturnValue; taint; manual | +| 185 | Summary: org.json; JSONObject; false; quote; (String); ; Argument[0]; ReturnValue; taint; manual | +| 186 | Summary: org.json; JSONObject; false; quote; (String,Writer); ; Argument[0]; Argument[1]; taint; manual | +| 187 | Summary: org.json; JSONObject; false; quote; (String,Writer); ; Argument[1]; ReturnValue; value; manual | +| 188 | Summary: org.json; JSONObject; false; remove; ; ; Argument[this]; ReturnValue; taint; manual | +| 189 | Summary: org.json; JSONObject; false; stringToValue; ; ; Argument[0]; ReturnValue; taint; manual | +| 190 | Summary: org.json; JSONObject; false; toJSONArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 191 | Summary: org.json; JSONObject; false; toMap; ; ; Argument[this]; ReturnValue.MapKey; taint; manual | +| 192 | Summary: org.json; JSONObject; false; toMap; ; ; Argument[this]; ReturnValue.MapValue; taint; manual | +| 193 | Summary: org.json; JSONObject; false; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 194 | Summary: org.json; JSONObject; false; valueToString; ; ; Argument[0]; ReturnValue; taint; manual | +| 195 | Summary: org.json; JSONObject; false; wrap; ; ; Argument[0]; ReturnValue; taint; manual | +| 196 | Summary: org.json; JSONObject; false; write; ; ; Argument[this]; Argument[0]; taint; manual | +| 197 | Summary: org.json; JSONObject; false; write; ; ; Argument[0]; ReturnValue; value; manual | +| 198 | Summary: org.json; JSONPointer; false; JSONPointer; (List); ; Argument[0].Element; Argument[this]; taint; manual | +| 199 | Summary: org.json; JSONPointer; false; JSONPointer; (String); ; Argument[0]; Argument[this]; taint; manual | +| 200 | Summary: org.json; JSONPointer; false; queryFrom; ; ; Argument[0]; ReturnValue; taint; manual | +| 201 | Summary: org.json; JSONPointer; false; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 202 | Summary: org.json; JSONPointer; false; toURIFragment; ; ; Argument[this]; ReturnValue; taint; manual | +| 203 | Summary: org.json; JSONPointer$Builder; false; append; ; ; Argument[this]; ReturnValue; value; manual | +| 204 | Summary: org.json; JSONPointer$Builder; false; append; ; ; Argument[0]; Argument[this]; taint; manual | +| 205 | Summary: org.json; JSONPointer$Builder; false; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 206 | Summary: org.json; JSONString; true; toJSONString; ; ; Argument[this]; ReturnValue; taint; manual | +| 207 | Summary: org.json; JSONStringer; false; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 208 | Summary: org.json; JSONTokener; true; JSONTokener; ; ; Argument[0]; Argument[this]; taint; manual | +| 209 | Summary: org.json; JSONTokener; true; next; ; ; Argument[this]; ReturnValue; taint; manual | +| 210 | Summary: org.json; JSONTokener; true; nextClean; ; ; Argument[this]; ReturnValue; taint; manual | +| 211 | Summary: org.json; JSONTokener; true; nextString; ; ; Argument[this]; ReturnValue; taint; manual | +| 212 | Summary: org.json; JSONTokener; true; nextTo; ; ; Argument[this]; ReturnValue; taint; manual | +| 213 | Summary: org.json; JSONTokener; true; nextValue; ; ; Argument[this]; ReturnValue; taint; manual | +| 214 | Summary: org.json; JSONTokener; true; syntaxError; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 215 | Summary: org.json; JSONTokener; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 216 | Summary: org.json; JSONWriter; true; array; ; ; Argument[this]; ReturnValue; value; manual | +| 217 | Summary: org.json; JSONWriter; true; endArray; ; ; Argument[this]; ReturnValue; value; manual | +| 218 | Summary: org.json; JSONWriter; true; endObject; ; ; Argument[this]; ReturnValue; value; manual | +| 219 | Summary: org.json; JSONWriter; true; key; ; ; Argument[this]; ReturnValue; value; manual | +| 220 | Summary: org.json; JSONWriter; true; key; ; ; Argument[0]; Argument[this]; taint; manual | +| 221 | Summary: org.json; JSONWriter; true; object; ; ; Argument[this]; ReturnValue; value; manual | +| 222 | Summary: org.json; JSONWriter; true; value; ; ; Argument[this]; ReturnValue; value; manual | +| 223 | Summary: org.json; JSONWriter; true; value; ; ; Argument[0]; Argument[this]; taint; manual | +| 224 | Summary: org.json; JSONWriter; true; valueToString; ; ; Argument[0]; ReturnValue; taint; manual | +| 225 | Summary: org.json; Property; false; toJSONObject; ; ; Argument[0].MapKey; ReturnValue; taint; manual | +| 226 | Summary: org.json; Property; false; toJSONObject; ; ; Argument[0].MapValue; ReturnValue; taint; manual | +| 227 | Summary: org.json; Property; false; toProperties; ; ; Argument[0]; ReturnValue.MapKey; taint; manual | +| 228 | Summary: org.json; Property; false; toProperties; ; ; Argument[0]; ReturnValue.MapValue; taint; manual | +| 229 | Summary: org.json; XML; false; escape; ; ; Argument[0]; ReturnValue; taint; manual | +| 230 | Summary: org.json; XML; false; stringToValue; ; ; Argument[0]; ReturnValue; taint; manual | +| 231 | Summary: org.json; XML; false; toJSONObject; ; ; Argument[0]; ReturnValue; taint; manual | +| 232 | Summary: org.json; XML; false; toString; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 233 | Summary: org.json; XML; false; unescape; ; ; Argument[0]; ReturnValue; taint; manual | +| 234 | Summary: org.json; XMLTokener; false; XMLTokener; ; ; Argument[0]; Argument[this]; taint; manual | +| 235 | Summary: org.json; XMLTokener; false; nextCDATA; ; ; Argument[this]; ReturnValue; taint; manual | +| 236 | Summary: org.json; XMLTokener; false; nextContent; ; ; Argument[this]; ReturnValue; taint; manual | +| 237 | Summary: org.json; XMLTokener; false; nextEntity; ; ; Argument[this]; ReturnValue; taint; manual | +| 238 | Summary: org.json; XMLTokener; false; nextMeta; ; ; Argument[this]; ReturnValue; taint; manual | +| 239 | Summary: org.json; XMLTokener; false; nextToken; ; ; Argument[this]; ReturnValue; taint; manual | +| 240 | Summary: org.json; XMLXsiTypeConverter; true; convert; ; ; Argument[0]; ReturnValue; taint; manual | +edges +| Test.java:38:25:38:42 | container : String[] [[]] : Object | Test.java:38:54:38:62 | container : String[] [[]] : Object | provenance | | +| Test.java:38:54:38:62 | container : String[] [[]] : Object | Test.java:38:54:38:65 | ...[...] : Object | provenance | | +| Test.java:39:20:39:39 | container : Set [] : Object | Test.java:39:51:39:59 | container : Set [] : Object | provenance | | +| Test.java:39:51:39:59 | container : Set [] : Object | Test.java:39:51:39:70 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:39:51:39:70 | iterator(...) : Iterator [] : Object | Test.java:39:51:39:77 | next(...) : Object | provenance | MaD:2 | +| Test.java:40:20:40:30 | it : Iterator [] : Object | Test.java:40:42:40:43 | it : Iterator [] : Object | provenance | | +| Test.java:40:42:40:43 | it : Iterator [] : Object | Test.java:40:42:40:50 | next(...) : Object | provenance | MaD:2 | +| Test.java:41:19:41:31 | container : Map [] : Object | Test.java:41:43:41:51 | container : Map [] : Object | provenance | | +| Test.java:41:19:41:31 | container : Properties [] : Object | Test.java:41:43:41:51 | container : Properties [] : Object | provenance | | +| Test.java:41:43:41:51 | container : Map [] : Object | Test.java:41:43:41:60 | keySet(...) : Set [] : Object | provenance | MaD:5 | +| Test.java:41:43:41:51 | container : Properties [] : Object | Test.java:41:43:41:60 | keySet(...) : Set [] : Object | provenance | MaD:5 | +| Test.java:41:43:41:60 | keySet(...) : Set [] : Object | Test.java:41:43:41:71 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:41:43:41:60 | keySet(...) : Set [] : Object | Test.java:41:43:41:71 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:41:43:41:71 | iterator(...) : Iterator [] : Object | Test.java:41:43:41:78 | next(...) : Object | provenance | MaD:2 | +| Test.java:41:43:41:71 | iterator(...) : Iterator [] : Object | Test.java:41:43:41:78 | next(...) : Object | provenance | MaD:2 | +| Test.java:42:21:42:33 | container : Map [] : Object | Test.java:42:45:42:53 | container : Map [] : Object | provenance | | +| Test.java:42:21:42:33 | container : Properties [] : Object | Test.java:42:45:42:53 | container : Properties [] : Object | provenance | | +| Test.java:42:45:42:53 | container : Map [] : Object | Test.java:42:45:42:63 | get(...) : Object | provenance | MaD:4 | +| Test.java:42:45:42:53 | container : Properties [] : Object | Test.java:42:45:42:63 | get(...) : Object | provenance | MaD:4 | +| Test.java:43:31:43:44 | element : Object | Test.java:43:71:43:77 | element : Object | provenance | | +| Test.java:43:56:43:79 | {...} : Object[] [[]] : Object | Test.java:43:56:43:79 | new Object[] : Object[] [[]] : Object | provenance | | +| Test.java:43:71:43:77 | element : Object | Test.java:43:56:43:79 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:44:22:44:35 | element : Object | Test.java:44:55:44:61 | element : Object | provenance | | +| Test.java:44:55:44:61 | element : Object | Test.java:44:47:44:62 | of(...) : List [] : Object | provenance | MaD:3 | +| Test.java:45:20:45:33 | element : Object | Test.java:45:52:45:58 | element : Object | provenance | | +| Test.java:45:52:45:58 | element : Object | Test.java:45:45:45:65 | of(...) : Map [] : Object | provenance | MaD:6 | +| Test.java:46:22:46:35 | element : Object | Test.java:46:60:46:66 | element : Object | provenance | | +| Test.java:46:60:46:66 | element : Object | Test.java:46:47:46:67 | of(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:55:21:55:41 | (...)... : JSONTokener | Test.java:56:29:56:30 | in : JSONTokener | provenance | | +| Test.java:55:34:55:41 | source(...) : Object | Test.java:55:21:55:41 | (...)... : JSONTokener | provenance | | +| Test.java:56:10:56:31 | rowToJSONArray(...) : JSONArray | Test.java:57:9:57:11 | out | provenance | | +| Test.java:56:29:56:30 | in : JSONTokener | Test.java:56:10:56:31 | rowToJSONArray(...) : JSONArray | provenance | MaD:8 | +| Test.java:62:21:62:41 | (...)... : JSONTokener | Test.java:63:36:63:37 | in : JSONTokener | provenance | | +| Test.java:62:34:62:41 | source(...) : Object | Test.java:62:21:62:41 | (...)... : JSONTokener | provenance | | +| Test.java:63:10:63:38 | rowToJSONObject(...) : JSONObject | Test.java:64:9:64:11 | out | provenance | | +| Test.java:63:36:63:37 | in : JSONTokener | Test.java:63:10:63:38 | rowToJSONObject(...) : JSONObject | provenance | MaD:9 | +| Test.java:69:19:69:37 | (...)... : JSONArray | Test.java:70:30:70:31 | in : JSONArray | provenance | | +| Test.java:69:30:69:37 | source(...) : Object | Test.java:69:19:69:37 | (...)... : JSONArray | provenance | | +| Test.java:70:10:70:38 | rowToJSONObject(...) : JSONObject | Test.java:71:9:71:11 | out | provenance | | +| Test.java:70:30:70:31 | in : JSONArray | Test.java:70:10:70:38 | rowToJSONObject(...) : JSONObject | provenance | MaD:9 | +| Test.java:76:19:76:37 | (...)... : JSONArray | Test.java:77:26:77:27 | in : JSONArray | provenance | | +| Test.java:76:30:76:37 | source(...) : Object | Test.java:76:19:76:37 | (...)... : JSONArray | provenance | | +| Test.java:77:10:77:28 | rowToString(...) : String | Test.java:78:9:78:11 | out | provenance | | +| Test.java:77:26:77:27 | in : JSONArray | Test.java:77:10:77:28 | rowToString(...) : String | provenance | MaD:10 | +| Test.java:83:16:83:31 | (...)... : String | Test.java:84:26:84:27 | in : String | provenance | | +| Test.java:83:24:83:31 | source(...) : Object | Test.java:83:16:83:31 | (...)... : String | provenance | | +| Test.java:84:10:84:28 | toJSONArray(...) : JSONArray | Test.java:85:9:85:11 | out | provenance | | +| Test.java:84:26:84:27 | in : String | Test.java:84:10:84:28 | toJSONArray(...) : JSONArray | provenance | MaD:11 | +| Test.java:90:16:90:31 | (...)... : String | Test.java:91:43:91:44 | in : String | provenance | | +| Test.java:90:24:90:31 | source(...) : Object | Test.java:90:16:90:31 | (...)... : String | provenance | | +| Test.java:91:10:91:45 | toJSONArray(...) : JSONArray | Test.java:92:9:92:11 | out | provenance | | +| Test.java:91:43:91:44 | in : String | Test.java:91:10:91:45 | toJSONArray(...) : JSONArray | provenance | MaD:11 | +| Test.java:97:21:97:41 | (...)... : JSONTokener | Test.java:98:26:98:27 | in : JSONTokener | provenance | | +| Test.java:97:34:97:41 | source(...) : Object | Test.java:97:21:97:41 | (...)... : JSONTokener | provenance | | +| Test.java:98:10:98:28 | toJSONArray(...) : JSONArray | Test.java:99:9:99:11 | out | provenance | | +| Test.java:98:26:98:27 | in : JSONTokener | Test.java:98:10:98:28 | toJSONArray(...) : JSONArray | provenance | MaD:11 | +| Test.java:104:21:104:41 | (...)... : JSONTokener | Test.java:105:43:105:44 | in : JSONTokener | provenance | | +| Test.java:104:34:104:41 | source(...) : Object | Test.java:104:21:104:41 | (...)... : JSONTokener | provenance | | +| Test.java:105:10:105:45 | toJSONArray(...) : JSONArray | Test.java:106:9:106:11 | out | provenance | | +| Test.java:105:43:105:44 | in : JSONTokener | Test.java:105:10:105:45 | toJSONArray(...) : JSONArray | provenance | MaD:11 | +| Test.java:111:19:111:37 | (...)... : JSONArray | Test.java:112:26:112:27 | in : JSONArray | provenance | | +| Test.java:111:30:111:37 | source(...) : Object | Test.java:111:19:111:37 | (...)... : JSONArray | provenance | | +| Test.java:112:10:112:42 | toJSONArray(...) : JSONArray | Test.java:113:9:113:11 | out | provenance | | +| Test.java:112:26:112:27 | in : JSONArray | Test.java:112:10:112:42 | toJSONArray(...) : JSONArray | provenance | MaD:11 | +| Test.java:118:19:118:37 | (...)... : JSONArray | Test.java:119:26:119:27 | in : JSONArray | provenance | | +| Test.java:118:30:118:37 | source(...) : Object | Test.java:118:19:118:37 | (...)... : JSONArray | provenance | | +| Test.java:119:10:119:47 | toJSONArray(...) : JSONArray | Test.java:120:9:120:11 | out | provenance | | +| Test.java:119:26:119:27 | in : JSONArray | Test.java:119:10:119:47 | toJSONArray(...) : JSONArray | provenance | MaD:11 | +| Test.java:125:19:125:37 | (...)... : JSONArray | Test.java:126:29:126:30 | in : JSONArray | provenance | | +| Test.java:125:30:125:37 | source(...) : Object | Test.java:125:19:125:37 | (...)... : JSONArray | provenance | | +| Test.java:126:10:126:31 | toString(...) : String | Test.java:127:9:127:11 | out | provenance | | +| Test.java:126:29:126:30 | in : JSONArray | Test.java:126:10:126:31 | toString(...) : String | provenance | MaD:12 | +| Test.java:132:19:132:37 | (...)... : JSONArray | Test.java:133:23:133:24 | in : JSONArray | provenance | | +| Test.java:132:30:132:37 | source(...) : Object | Test.java:132:19:132:37 | (...)... : JSONArray | provenance | | +| Test.java:133:10:133:31 | toString(...) : String | Test.java:134:9:134:11 | out | provenance | | +| Test.java:133:23:133:24 | in : JSONArray | Test.java:133:10:133:31 | toString(...) : String | provenance | MaD:12 | +| Test.java:139:19:139:37 | (...)... : JSONArray | Test.java:140:23:140:24 | in : JSONArray | provenance | | +| Test.java:139:30:139:37 | source(...) : Object | Test.java:139:19:139:37 | (...)... : JSONArray | provenance | | +| Test.java:140:10:140:25 | toString(...) : String | Test.java:141:9:141:11 | out | provenance | | +| Test.java:140:23:140:24 | in : JSONArray | Test.java:140:10:140:25 | toString(...) : String | provenance | MaD:12 | +| Test.java:146:16:146:31 | (...)... : String | Test.java:147:24:147:25 | in : String | provenance | | +| Test.java:146:24:146:31 | source(...) : Object | Test.java:146:16:146:31 | (...)... : String | provenance | | +| Test.java:147:10:147:26 | escape(...) : String | Test.java:148:9:148:11 | out | provenance | | +| Test.java:147:24:147:25 | in : String | Test.java:147:10:147:26 | escape(...) : String | provenance | MaD:13 | +| Test.java:153:16:153:31 | (...)... : String | Test.java:154:30:154:31 | in : String | provenance | | +| Test.java:153:24:153:31 | source(...) : Object | Test.java:153:16:153:31 | (...)... : String | provenance | | +| Test.java:154:10:154:32 | toJSONObject(...) : JSONObject | Test.java:155:9:155:11 | out | provenance | | +| Test.java:154:30:154:31 | in : String | Test.java:154:10:154:32 | toJSONObject(...) : JSONObject | provenance | MaD:14 | +| Test.java:160:20:160:39 | (...)... : JSONObject | Test.java:161:26:161:27 | in : JSONObject | provenance | | +| Test.java:160:32:160:39 | source(...) : Object | Test.java:160:20:160:39 | (...)... : JSONObject | provenance | | +| Test.java:161:10:161:28 | toString(...) : String | Test.java:162:9:162:11 | out | provenance | | +| Test.java:161:26:161:27 | in : JSONObject | Test.java:161:10:161:28 | toString(...) : String | provenance | MaD:15 | +| Test.java:167:16:167:31 | (...)... : String | Test.java:168:26:168:27 | in : String | provenance | | +| Test.java:167:24:167:31 | source(...) : Object | Test.java:167:16:167:31 | (...)... : String | provenance | | +| Test.java:168:10:168:28 | unescape(...) : String | Test.java:169:9:169:11 | out | provenance | | +| Test.java:168:26:168:27 | in : String | Test.java:168:10:168:28 | unescape(...) : String | provenance | MaD:16 | +| Test.java:174:16:174:31 | (...)... : String | Test.java:175:34:175:35 | in : String | provenance | | +| Test.java:174:24:174:31 | source(...) : Object | Test.java:174:16:174:31 | (...)... : String | provenance | | +| Test.java:175:10:175:36 | toJSONObject(...) : JSONObject | Test.java:176:9:176:11 | out | provenance | | +| Test.java:175:34:175:35 | in : String | Test.java:175:10:175:36 | toJSONObject(...) : JSONObject | provenance | MaD:17 | +| Test.java:181:20:181:39 | (...)... : JSONObject | Test.java:182:30:182:31 | in : JSONObject | provenance | | +| Test.java:181:32:181:39 | source(...) : Object | Test.java:181:20:181:39 | (...)... : JSONObject | provenance | | +| Test.java:182:10:182:32 | toString(...) : String | Test.java:183:9:183:11 | out | provenance | | +| Test.java:182:30:182:31 | in : JSONObject | Test.java:182:10:182:32 | toString(...) : String | provenance | MaD:18 | +| Test.java:188:16:188:31 | (...)... : String | Test.java:189:28:189:29 | in : String | provenance | | +| Test.java:188:24:188:31 | source(...) : Object | Test.java:188:16:188:31 | (...)... : String | provenance | | +| Test.java:189:10:189:30 | toJSONObject(...) : JSONObject | Test.java:190:9:190:11 | out | provenance | | +| Test.java:189:28:189:29 | in : String | Test.java:189:10:189:30 | toJSONObject(...) : JSONObject | provenance | MaD:19 | +| Test.java:195:20:195:39 | (...)... : JSONObject | Test.java:196:24:196:25 | in : JSONObject | provenance | | +| Test.java:195:32:195:39 | source(...) : Object | Test.java:195:20:195:39 | (...)... : JSONObject | provenance | | +| Test.java:196:10:196:26 | toString(...) : String | Test.java:197:9:197:11 | out | provenance | | +| Test.java:196:24:196:25 | in : JSONObject | Test.java:196:10:196:26 | toString(...) : String | provenance | MaD:20 | +| Test.java:202:16:202:31 | (...)... : String | Test.java:203:26:203:27 | in : String | provenance | | +| Test.java:202:24:202:31 | source(...) : Object | Test.java:202:16:202:31 | (...)... : String | provenance | | +| Test.java:203:10:203:28 | new HTTPTokener(...) : HTTPTokener | Test.java:204:9:204:11 | out | provenance | | +| Test.java:203:26:203:27 | in : String | Test.java:203:10:203:28 | new HTTPTokener(...) : HTTPTokener | provenance | MaD:21 | +| Test.java:209:21:209:41 | (...)... : HTTPTokener | Test.java:210:10:210:11 | in : HTTPTokener | provenance | | +| Test.java:209:34:209:41 | source(...) : Object | Test.java:209:21:209:41 | (...)... : HTTPTokener | provenance | | +| Test.java:210:10:210:11 | in : HTTPTokener | Test.java:210:10:210:23 | nextToken(...) : String | provenance | MaD:22 | +| Test.java:210:10:210:23 | nextToken(...) : String | Test.java:211:9:211:11 | out | provenance | | +| Test.java:216:20:216:55 | (...)... : List [] : Object | Test.java:217:24:217:25 | in : List [] : Object | provenance | | +| Test.java:216:32:216:55 | newWithElement(...) : List [] : Object | Test.java:216:20:216:55 | (...)... : List [] : Object | provenance | | +| Test.java:216:47:216:54 | source(...) : Object | Test.java:44:22:44:35 | element : Object | provenance | | +| Test.java:216:47:216:54 | source(...) : Object | Test.java:216:32:216:55 | newWithElement(...) : List [] : Object | provenance | MaD:3 | +| Test.java:217:10:217:26 | new JSONArray(...) : JSONArray | Test.java:218:9:218:11 | out | provenance | | +| Test.java:217:24:217:25 | in : List [] : Object | Test.java:217:10:217:26 | new JSONArray(...) : JSONArray | provenance | MaD:23 | +| Test.java:223:18:223:51 | (...)... : List [] : Object | Test.java:224:24:224:25 | in : List [] : Object | provenance | | +| Test.java:223:28:223:51 | newWithElement(...) : List [] : Object | Test.java:223:18:223:51 | (...)... : List [] : Object | provenance | | +| Test.java:223:43:223:50 | source(...) : Object | Test.java:44:22:44:35 | element : Object | provenance | | +| Test.java:223:43:223:50 | source(...) : Object | Test.java:223:28:223:51 | newWithElement(...) : List [] : Object | provenance | MaD:3 | +| Test.java:224:10:224:26 | new JSONArray(...) : JSONArray | Test.java:225:9:225:11 | out | provenance | | +| Test.java:224:24:224:25 | in : List [] : Object | Test.java:224:10:224:26 | new JSONArray(...) : JSONArray | provenance | MaD:24 | +| Test.java:230:19:230:37 | (...)... : JSONArray | Test.java:231:24:231:25 | in : JSONArray | provenance | | +| Test.java:230:30:230:37 | source(...) : Object | Test.java:230:19:230:37 | (...)... : JSONArray | provenance | | +| Test.java:231:10:231:26 | new JSONArray(...) : JSONArray | Test.java:232:9:232:11 | out | provenance | | +| Test.java:231:24:231:25 | in : JSONArray | Test.java:231:10:231:26 | new JSONArray(...) : JSONArray | provenance | MaD:25 | +| Test.java:237:21:237:41 | (...)... : JSONTokener | Test.java:238:24:238:25 | in : JSONTokener | provenance | | +| Test.java:237:34:237:41 | source(...) : Object | Test.java:237:21:237:41 | (...)... : JSONTokener | provenance | | +| Test.java:238:10:238:26 | new JSONArray(...) : JSONArray | Test.java:239:9:239:11 | out | provenance | | +| Test.java:238:24:238:25 | in : JSONTokener | Test.java:238:10:238:26 | new JSONArray(...) : JSONArray | provenance | MaD:26 | +| Test.java:244:16:244:52 | (...)... : Object[] [[]] : Object | Test.java:245:24:245:25 | in : Object[] [[]] : Object | provenance | | +| Test.java:244:24:244:52 | newWithArrayElement(...) : Object[] [[]] : Object | Test.java:244:16:244:52 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:244:44:244:51 | source(...) : Object | Test.java:43:31:43:44 | element : Object | provenance | | +| Test.java:244:44:244:51 | source(...) : Object | Test.java:244:24:244:52 | newWithArrayElement(...) : Object[] [[]] : Object | provenance | | +| Test.java:245:10:245:26 | new JSONArray(...) : JSONArray | Test.java:246:9:246:11 | out | provenance | | +| Test.java:245:24:245:25 | in : Object[] [[]] : Object | Test.java:245:10:245:26 | new JSONArray(...) : JSONArray | provenance | MaD:27 | +| Test.java:251:16:251:31 | (...)... : String | Test.java:252:24:252:25 | in : String | provenance | | +| Test.java:251:24:251:31 | source(...) : Object | Test.java:251:16:251:31 | (...)... : String | provenance | | +| Test.java:252:10:252:26 | new JSONArray(...) : JSONArray | Test.java:253:9:253:11 | out | provenance | | +| Test.java:252:24:252:25 | in : String | Test.java:252:10:252:26 | new JSONArray(...) : JSONArray | provenance | MaD:28 | +| Test.java:258:19:258:37 | (...)... : JSONArray | Test.java:259:10:259:11 | in : JSONArray | provenance | | +| Test.java:258:30:258:37 | source(...) : Object | Test.java:258:19:258:37 | (...)... : JSONArray | provenance | | +| Test.java:259:10:259:11 | in : JSONArray | Test.java:259:10:259:18 | get(...) : Object | provenance | MaD:29 | +| Test.java:259:10:259:18 | get(...) : Object | Test.java:260:9:260:11 | out | provenance | | +| Test.java:265:19:265:37 | (...)... : JSONArray | Test.java:266:10:266:11 | in : JSONArray | provenance | | +| Test.java:265:30:265:37 | source(...) : Object | Test.java:265:19:265:37 | (...)... : JSONArray | provenance | | +| Test.java:266:10:266:11 | in : JSONArray | Test.java:266:10:266:28 | getBigDecimal(...) : BigDecimal | provenance | MaD:30 | +| Test.java:266:10:266:28 | getBigDecimal(...) : BigDecimal | Test.java:267:9:267:11 | out | provenance | | +| Test.java:272:19:272:37 | (...)... : JSONArray | Test.java:273:10:273:11 | in : JSONArray | provenance | | +| Test.java:272:30:272:37 | source(...) : Object | Test.java:272:19:272:37 | (...)... : JSONArray | provenance | | +| Test.java:273:10:273:11 | in : JSONArray | Test.java:273:10:273:28 | getBigInteger(...) : BigInteger | provenance | MaD:31 | +| Test.java:273:10:273:28 | getBigInteger(...) : BigInteger | Test.java:274:9:274:11 | out | provenance | | +| Test.java:279:19:279:37 | (...)... : JSONArray | Test.java:280:10:280:11 | in : JSONArray | provenance | | +| Test.java:279:30:279:37 | source(...) : Object | Test.java:279:19:279:37 | (...)... : JSONArray | provenance | | +| Test.java:280:10:280:11 | in : JSONArray | Test.java:280:10:280:25 | getBoolean(...) : Boolean | provenance | MaD:32 | +| Test.java:280:10:280:25 | getBoolean(...) : Boolean | Test.java:281:9:281:11 | out | provenance | | +| Test.java:286:19:286:37 | (...)... : JSONArray | Test.java:287:10:287:11 | in : JSONArray | provenance | | +| Test.java:286:30:286:37 | source(...) : Object | Test.java:286:19:286:37 | (...)... : JSONArray | provenance | | +| Test.java:287:10:287:11 | in : JSONArray | Test.java:287:10:287:24 | getDouble(...) : Number | provenance | MaD:33 | +| Test.java:287:10:287:24 | getDouble(...) : Number | Test.java:288:9:288:11 | out | provenance | | +| Test.java:293:19:293:37 | (...)... : JSONArray | Test.java:294:10:294:11 | in : JSONArray | provenance | | +| Test.java:293:30:293:37 | source(...) : Object | Test.java:293:19:293:37 | (...)... : JSONArray | provenance | | +| Test.java:294:10:294:11 | in : JSONArray | Test.java:294:10:294:28 | getEnum(...) : Enum | provenance | MaD:34 | +| Test.java:294:10:294:28 | getEnum(...) : Enum | Test.java:295:9:295:11 | out | provenance | | +| Test.java:300:19:300:37 | (...)... : JSONArray | Test.java:301:10:301:11 | in : JSONArray | provenance | | +| Test.java:300:30:300:37 | source(...) : Object | Test.java:300:19:300:37 | (...)... : JSONArray | provenance | | +| Test.java:301:10:301:11 | in : JSONArray | Test.java:301:10:301:23 | getFloat(...) : Number | provenance | MaD:35 | +| Test.java:301:10:301:23 | getFloat(...) : Number | Test.java:302:9:302:11 | out | provenance | | +| Test.java:307:19:307:37 | (...)... : JSONArray | Test.java:308:10:308:11 | in : JSONArray | provenance | | +| Test.java:307:30:307:37 | source(...) : Object | Test.java:307:19:307:37 | (...)... : JSONArray | provenance | | +| Test.java:308:10:308:11 | in : JSONArray | Test.java:308:10:308:21 | getInt(...) : Number | provenance | MaD:36 | +| Test.java:308:10:308:21 | getInt(...) : Number | Test.java:309:9:309:11 | out | provenance | | +| Test.java:314:19:314:37 | (...)... : JSONArray | Test.java:315:10:315:11 | in : JSONArray | provenance | | +| Test.java:314:30:314:37 | source(...) : Object | Test.java:314:19:314:37 | (...)... : JSONArray | provenance | | +| Test.java:315:10:315:11 | in : JSONArray | Test.java:315:10:315:27 | getJSONArray(...) : JSONArray | provenance | MaD:37 | +| Test.java:315:10:315:27 | getJSONArray(...) : JSONArray | Test.java:316:9:316:11 | out | provenance | | +| Test.java:321:19:321:37 | (...)... : JSONArray | Test.java:322:10:322:11 | in : JSONArray | provenance | | +| Test.java:321:30:321:37 | source(...) : Object | Test.java:321:19:321:37 | (...)... : JSONArray | provenance | | +| Test.java:322:10:322:11 | in : JSONArray | Test.java:322:10:322:28 | getJSONObject(...) : JSONObject | provenance | MaD:38 | +| Test.java:322:10:322:28 | getJSONObject(...) : JSONObject | Test.java:323:9:323:11 | out | provenance | | +| Test.java:328:19:328:37 | (...)... : JSONArray | Test.java:329:10:329:11 | in : JSONArray | provenance | | +| Test.java:328:30:328:37 | source(...) : Object | Test.java:328:19:328:37 | (...)... : JSONArray | provenance | | +| Test.java:329:10:329:11 | in : JSONArray | Test.java:329:10:329:22 | getLong(...) : Number | provenance | MaD:39 | +| Test.java:329:10:329:22 | getLong(...) : Number | Test.java:330:9:330:11 | out | provenance | | +| Test.java:335:19:335:37 | (...)... : JSONArray | Test.java:336:10:336:11 | in : JSONArray | provenance | | +| Test.java:335:30:335:37 | source(...) : Object | Test.java:335:19:335:37 | (...)... : JSONArray | provenance | | +| Test.java:336:10:336:11 | in : JSONArray | Test.java:336:10:336:24 | getNumber(...) : Number | provenance | MaD:40 | +| Test.java:336:10:336:24 | getNumber(...) : Number | Test.java:337:9:337:11 | out | provenance | | +| Test.java:342:19:342:37 | (...)... : JSONArray | Test.java:343:10:343:11 | in : JSONArray | provenance | | +| Test.java:342:30:342:37 | source(...) : Object | Test.java:342:19:342:37 | (...)... : JSONArray | provenance | | +| Test.java:343:10:343:11 | in : JSONArray | Test.java:343:10:343:24 | getString(...) : String | provenance | MaD:41 | +| Test.java:343:10:343:24 | getString(...) : String | Test.java:344:9:344:11 | out | provenance | | +| Test.java:349:19:349:37 | (...)... : JSONArray | Test.java:350:10:350:11 | in : JSONArray | provenance | | +| Test.java:349:30:349:37 | source(...) : Object | Test.java:349:19:349:37 | (...)... : JSONArray | provenance | | +| Test.java:350:10:350:11 | in : JSONArray | Test.java:350:10:350:22 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:350:10:350:11 | in : JSONArray | Test.java:350:10:350:22 | iterator(...) : Iterator [] : Object | provenance | MaD:42 | +| Test.java:350:10:350:22 | iterator(...) : Iterator [] : Object | Test.java:351:20:351:22 | out : Iterator [] : Object | provenance | | +| Test.java:351:20:351:22 | out : Iterator [] : Object | Test.java:40:20:40:30 | it : Iterator [] : Object | provenance | | +| Test.java:351:20:351:22 | out : Iterator [] : Object | Test.java:351:9:351:23 | getElement(...) | provenance | MaD:2 | +| Test.java:356:19:356:37 | (...)... : JSONArray | Test.java:357:10:357:11 | in : JSONArray | provenance | | +| Test.java:356:30:356:37 | source(...) : Object | Test.java:356:19:356:37 | (...)... : JSONArray | provenance | | +| Test.java:357:10:357:11 | in : JSONArray | Test.java:357:10:357:22 | join(...) : String | provenance | MaD:43 | +| Test.java:357:10:357:22 | join(...) : String | Test.java:358:9:358:11 | out | provenance | | +| Test.java:363:16:363:31 | (...)... : String | Test.java:365:24:365:25 | in : String | provenance | | +| Test.java:363:24:363:31 | source(...) : Object | Test.java:363:16:363:31 | (...)... : String | provenance | | +| Test.java:365:10:365:26 | join(...) : String | Test.java:366:9:366:11 | out | provenance | | +| Test.java:365:24:365:25 | in : String | Test.java:365:10:365:26 | join(...) : String | provenance | MaD:44 | +| Test.java:371:19:371:37 | (...)... : JSONArray | Test.java:372:10:372:11 | in : JSONArray | provenance | | +| Test.java:371:30:371:37 | source(...) : Object | Test.java:371:19:371:37 | (...)... : JSONArray | provenance | | +| Test.java:372:10:372:11 | in : JSONArray | Test.java:372:10:372:18 | opt(...) : Object | provenance | MaD:45 | +| Test.java:372:10:372:18 | opt(...) : Object | Test.java:373:9:373:11 | out | provenance | | +| Test.java:378:19:378:37 | (...)... : JSONArray | Test.java:379:10:379:11 | in : JSONArray | provenance | | +| Test.java:378:30:378:37 | source(...) : Object | Test.java:378:19:378:37 | (...)... : JSONArray | provenance | | +| Test.java:379:10:379:11 | in : JSONArray | Test.java:379:10:379:34 | optBigDecimal(...) : BigDecimal | provenance | MaD:46 | +| Test.java:379:10:379:34 | optBigDecimal(...) : BigDecimal | Test.java:380:9:380:11 | out | provenance | | +| Test.java:385:20:385:39 | (...)... : BigDecimal | Test.java:387:36:387:37 | in : BigDecimal | provenance | | +| Test.java:385:32:385:39 | source(...) : Object | Test.java:385:20:385:39 | (...)... : BigDecimal | provenance | | +| Test.java:387:10:387:38 | optBigDecimal(...) : BigDecimal | Test.java:388:9:388:11 | out | provenance | | +| Test.java:387:36:387:37 | in : BigDecimal | Test.java:387:10:387:38 | optBigDecimal(...) : BigDecimal | provenance | MaD:47 | +| Test.java:393:19:393:37 | (...)... : JSONArray | Test.java:394:10:394:11 | in : JSONArray | provenance | | +| Test.java:393:30:393:37 | source(...) : Object | Test.java:393:19:393:37 | (...)... : JSONArray | provenance | | +| Test.java:394:10:394:11 | in : JSONArray | Test.java:394:10:394:34 | optBigInteger(...) : BigInteger | provenance | MaD:48 | +| Test.java:394:10:394:34 | optBigInteger(...) : BigInteger | Test.java:395:9:395:11 | out | provenance | | +| Test.java:400:20:400:39 | (...)... : BigInteger | Test.java:402:36:402:37 | in : BigInteger | provenance | | +| Test.java:400:32:400:39 | source(...) : Object | Test.java:400:20:400:39 | (...)... : BigInteger | provenance | | +| Test.java:402:10:402:38 | optBigInteger(...) : BigInteger | Test.java:403:9:403:11 | out | provenance | | +| Test.java:402:36:402:37 | in : BigInteger | Test.java:402:10:402:38 | optBigInteger(...) : BigInteger | provenance | MaD:49 | +| Test.java:408:19:408:37 | (...)... : JSONArray | Test.java:409:10:409:11 | in : JSONArray | provenance | | +| Test.java:408:30:408:37 | source(...) : Object | Test.java:408:19:408:37 | (...)... : JSONArray | provenance | | +| Test.java:409:10:409:11 | in : JSONArray | Test.java:409:10:409:32 | optBoolean(...) : Boolean | provenance | MaD:50 | +| Test.java:409:10:409:32 | optBoolean(...) : Boolean | Test.java:410:9:410:11 | out | provenance | | +| Test.java:415:19:415:37 | (...)... : JSONArray | Test.java:416:10:416:11 | in : JSONArray | provenance | | +| Test.java:415:30:415:37 | source(...) : Object | Test.java:415:19:415:37 | (...)... : JSONArray | provenance | | +| Test.java:416:10:416:11 | in : JSONArray | Test.java:416:10:416:25 | optBoolean(...) : Boolean | provenance | MaD:50 | +| Test.java:416:10:416:25 | optBoolean(...) : Boolean | Test.java:417:9:417:11 | out | provenance | | +| Test.java:422:17:422:33 | (...)... : Boolean | Test.java:424:33:424:34 | in : Boolean | provenance | | +| Test.java:422:26:422:33 | source(...) : Object | Test.java:422:17:422:33 | (...)... : Boolean | provenance | | +| Test.java:424:10:424:35 | optBoolean(...) : Boolean | Test.java:425:9:425:11 | out | provenance | | +| Test.java:424:33:424:34 | in : Boolean | Test.java:424:10:424:35 | optBoolean(...) : Boolean | provenance | MaD:51 | +| Test.java:430:19:430:37 | (...)... : JSONArray | Test.java:431:10:431:11 | in : JSONArray | provenance | | +| Test.java:430:30:430:37 | source(...) : Object | Test.java:430:19:430:37 | (...)... : JSONArray | provenance | | +| Test.java:431:10:431:11 | in : JSONArray | Test.java:431:10:431:29 | optDouble(...) : Number | provenance | MaD:52 | +| Test.java:431:10:431:29 | optDouble(...) : Number | Test.java:432:9:432:11 | out | provenance | | +| Test.java:437:19:437:37 | (...)... : JSONArray | Test.java:438:10:438:11 | in : JSONArray | provenance | | +| Test.java:437:30:437:37 | source(...) : Object | Test.java:437:19:437:37 | (...)... : JSONArray | provenance | | +| Test.java:438:10:438:11 | in : JSONArray | Test.java:438:10:438:24 | optDouble(...) : Number | provenance | MaD:52 | +| Test.java:438:10:438:24 | optDouble(...) : Number | Test.java:439:9:439:11 | out | provenance | | +| Test.java:444:16:444:31 | (...)... : Number | Test.java:446:32:446:33 | in : Number | provenance | | +| Test.java:444:24:444:31 | source(...) : Object | Test.java:444:16:444:31 | (...)... : Number | provenance | | +| Test.java:446:10:446:34 | optDouble(...) : Number | Test.java:447:9:447:11 | out | provenance | | +| Test.java:446:32:446:33 | in : Number | Test.java:446:10:446:34 | optDouble(...) : Number | provenance | MaD:53 | +| Test.java:452:19:452:37 | (...)... : JSONArray | Test.java:453:10:453:11 | in : JSONArray | provenance | | +| Test.java:452:30:452:37 | source(...) : Object | Test.java:452:19:452:37 | (...)... : JSONArray | provenance | | +| Test.java:453:10:453:11 | in : JSONArray | Test.java:453:10:453:34 | optEnum(...) : Enum | provenance | MaD:54 | +| Test.java:453:10:453:34 | optEnum(...) : Enum | Test.java:454:9:454:11 | out | provenance | | +| Test.java:459:19:459:37 | (...)... : JSONArray | Test.java:460:10:460:11 | in : JSONArray | provenance | | +| Test.java:459:30:459:37 | source(...) : Object | Test.java:459:19:459:37 | (...)... : JSONArray | provenance | | +| Test.java:460:10:460:11 | in : JSONArray | Test.java:460:10:460:28 | optEnum(...) : Enum | provenance | MaD:54 | +| Test.java:460:10:460:28 | optEnum(...) : Enum | Test.java:461:9:461:11 | out | provenance | | +| Test.java:466:14:466:27 | (...)... : Enum | Test.java:468:36:468:37 | in : Enum | provenance | | +| Test.java:466:20:466:27 | source(...) : Object | Test.java:466:14:466:27 | (...)... : Enum | provenance | | +| Test.java:468:10:468:38 | optEnum(...) : Enum | Test.java:469:9:469:11 | out | provenance | | +| Test.java:468:36:468:37 | in : Enum | Test.java:468:10:468:38 | optEnum(...) : Enum | provenance | MaD:55 | +| Test.java:474:19:474:37 | (...)... : JSONArray | Test.java:475:10:475:11 | in : JSONArray | provenance | | +| Test.java:474:30:474:37 | source(...) : Object | Test.java:474:19:474:37 | (...)... : JSONArray | provenance | | +| Test.java:475:10:475:11 | in : JSONArray | Test.java:475:10:475:29 | optFloat(...) : Number | provenance | MaD:56 | +| Test.java:475:10:475:29 | optFloat(...) : Number | Test.java:476:9:476:11 | out | provenance | | +| Test.java:481:19:481:37 | (...)... : JSONArray | Test.java:482:10:482:11 | in : JSONArray | provenance | | +| Test.java:481:30:481:37 | source(...) : Object | Test.java:481:19:481:37 | (...)... : JSONArray | provenance | | +| Test.java:482:10:482:11 | in : JSONArray | Test.java:482:10:482:23 | optFloat(...) : Number | provenance | MaD:56 | +| Test.java:482:10:482:23 | optFloat(...) : Number | Test.java:483:9:483:11 | out | provenance | | +| Test.java:488:15:488:29 | (...)... : Number | Test.java:490:31:490:32 | in : Number | provenance | | +| Test.java:488:22:488:29 | source(...) : Object | Test.java:488:15:488:29 | (...)... : Number | provenance | | +| Test.java:490:10:490:33 | optFloat(...) : Number | Test.java:491:9:491:11 | out | provenance | | +| Test.java:490:31:490:32 | in : Number | Test.java:490:10:490:33 | optFloat(...) : Number | provenance | MaD:57 | +| Test.java:496:19:496:37 | (...)... : JSONArray | Test.java:497:10:497:11 | in : JSONArray | provenance | | +| Test.java:496:30:496:37 | source(...) : Object | Test.java:496:19:496:37 | (...)... : JSONArray | provenance | | +| Test.java:497:10:497:11 | in : JSONArray | Test.java:497:10:497:24 | optInt(...) : Number | provenance | MaD:58 | +| Test.java:497:10:497:24 | optInt(...) : Number | Test.java:498:9:498:11 | out | provenance | | +| Test.java:503:19:503:37 | (...)... : JSONArray | Test.java:504:10:504:11 | in : JSONArray | provenance | | +| Test.java:503:30:503:37 | source(...) : Object | Test.java:503:19:503:37 | (...)... : JSONArray | provenance | | +| Test.java:504:10:504:11 | in : JSONArray | Test.java:504:10:504:21 | optInt(...) : Number | provenance | MaD:58 | +| Test.java:504:10:504:21 | optInt(...) : Number | Test.java:505:9:505:11 | out | provenance | | +| Test.java:510:13:510:25 | (...)... : Number | Test.java:512:29:512:30 | in : Number | provenance | | +| Test.java:510:18:510:25 | source(...) : Object | Test.java:510:13:510:25 | (...)... : Number | provenance | | +| Test.java:512:10:512:31 | optInt(...) : Number | Test.java:513:9:513:11 | out | provenance | | +| Test.java:512:29:512:30 | in : Number | Test.java:512:10:512:31 | optInt(...) : Number | provenance | MaD:59 | +| Test.java:518:19:518:37 | (...)... : JSONArray | Test.java:519:10:519:11 | in : JSONArray | provenance | | +| Test.java:518:30:518:37 | source(...) : Object | Test.java:518:19:518:37 | (...)... : JSONArray | provenance | | +| Test.java:519:10:519:11 | in : JSONArray | Test.java:519:10:519:27 | optJSONArray(...) : JSONArray | provenance | MaD:60 | +| Test.java:519:10:519:27 | optJSONArray(...) : JSONArray | Test.java:520:9:520:11 | out | provenance | | +| Test.java:525:19:525:37 | (...)... : JSONArray | Test.java:526:10:526:11 | in : JSONArray | provenance | | +| Test.java:525:30:525:37 | source(...) : Object | Test.java:525:19:525:37 | (...)... : JSONArray | provenance | | +| Test.java:526:10:526:11 | in : JSONArray | Test.java:526:10:526:28 | optJSONObject(...) : JSONObject | provenance | MaD:61 | +| Test.java:526:10:526:28 | optJSONObject(...) : JSONObject | Test.java:527:9:527:11 | out | provenance | | +| Test.java:532:19:532:37 | (...)... : JSONArray | Test.java:533:10:533:11 | in : JSONArray | provenance | | +| Test.java:532:30:532:37 | source(...) : Object | Test.java:532:19:532:37 | (...)... : JSONArray | provenance | | +| Test.java:533:10:533:11 | in : JSONArray | Test.java:533:10:533:26 | optLong(...) : Number | provenance | MaD:62 | +| Test.java:533:10:533:26 | optLong(...) : Number | Test.java:534:9:534:11 | out | provenance | | +| Test.java:539:19:539:37 | (...)... : JSONArray | Test.java:540:10:540:11 | in : JSONArray | provenance | | +| Test.java:539:30:539:37 | source(...) : Object | Test.java:539:19:539:37 | (...)... : JSONArray | provenance | | +| Test.java:540:10:540:11 | in : JSONArray | Test.java:540:10:540:22 | optLong(...) : Number | provenance | MaD:62 | +| Test.java:540:10:540:22 | optLong(...) : Number | Test.java:541:9:541:11 | out | provenance | | +| Test.java:546:14:546:27 | (...)... : Number | Test.java:548:30:548:31 | in : Number | provenance | | +| Test.java:546:20:546:27 | source(...) : Object | Test.java:546:14:546:27 | (...)... : Number | provenance | | +| Test.java:548:10:548:32 | optLong(...) : Number | Test.java:549:9:549:11 | out | provenance | | +| Test.java:548:30:548:31 | in : Number | Test.java:548:10:548:32 | optLong(...) : Number | provenance | MaD:63 | +| Test.java:554:19:554:37 | (...)... : JSONArray | Test.java:555:10:555:11 | in : JSONArray | provenance | | +| Test.java:554:30:554:37 | source(...) : Object | Test.java:554:19:554:37 | (...)... : JSONArray | provenance | | +| Test.java:555:10:555:11 | in : JSONArray | Test.java:555:10:555:30 | optNumber(...) : Number | provenance | MaD:64 | +| Test.java:555:10:555:30 | optNumber(...) : Number | Test.java:556:9:556:11 | out | provenance | | +| Test.java:561:19:561:37 | (...)... : JSONArray | Test.java:562:10:562:11 | in : JSONArray | provenance | | +| Test.java:561:30:561:37 | source(...) : Object | Test.java:561:19:561:37 | (...)... : JSONArray | provenance | | +| Test.java:562:10:562:11 | in : JSONArray | Test.java:562:10:562:24 | optNumber(...) : Number | provenance | MaD:64 | +| Test.java:562:10:562:24 | optNumber(...) : Number | Test.java:563:9:563:11 | out | provenance | | +| Test.java:568:16:568:31 | (...)... : Number | Test.java:570:32:570:33 | in : Number | provenance | | +| Test.java:568:24:568:31 | source(...) : Object | Test.java:568:16:568:31 | (...)... : Number | provenance | | +| Test.java:570:10:570:34 | optNumber(...) : Number | Test.java:571:9:571:11 | out | provenance | | +| Test.java:570:32:570:33 | in : Number | Test.java:570:10:570:34 | optNumber(...) : Number | provenance | MaD:65 | +| Test.java:576:19:576:37 | (...)... : JSONArray | Test.java:577:10:577:11 | in : JSONArray | provenance | | +| Test.java:576:30:576:37 | source(...) : Object | Test.java:576:19:576:37 | (...)... : JSONArray | provenance | | +| Test.java:577:10:577:11 | in : JSONArray | Test.java:577:10:577:34 | optQuery(...) : Object | provenance | MaD:66 | +| Test.java:577:10:577:34 | optQuery(...) : Object | Test.java:578:9:578:11 | out | provenance | | +| Test.java:583:19:583:37 | (...)... : JSONArray | Test.java:584:10:584:11 | in : JSONArray | provenance | | +| Test.java:583:30:583:37 | source(...) : Object | Test.java:583:19:583:37 | (...)... : JSONArray | provenance | | +| Test.java:584:10:584:11 | in : JSONArray | Test.java:584:10:584:39 | optQuery(...) : Object | provenance | MaD:66 | +| Test.java:584:10:584:39 | optQuery(...) : Object | Test.java:585:9:585:11 | out | provenance | | +| Test.java:590:19:590:37 | (...)... : JSONArray | Test.java:591:10:591:11 | in : JSONArray | provenance | | +| Test.java:590:30:590:37 | source(...) : Object | Test.java:590:19:590:37 | (...)... : JSONArray | provenance | | +| Test.java:591:10:591:11 | in : JSONArray | Test.java:591:10:591:30 | optString(...) : String | provenance | MaD:67 | +| Test.java:591:10:591:30 | optString(...) : String | Test.java:592:9:592:11 | out | provenance | | +| Test.java:597:19:597:37 | (...)... : JSONArray | Test.java:598:10:598:11 | in : JSONArray | provenance | | +| Test.java:597:30:597:37 | source(...) : Object | Test.java:597:19:597:37 | (...)... : JSONArray | provenance | | +| Test.java:598:10:598:11 | in : JSONArray | Test.java:598:10:598:24 | optString(...) : String | provenance | MaD:67 | +| Test.java:598:10:598:24 | optString(...) : String | Test.java:599:9:599:11 | out | provenance | | +| Test.java:604:16:604:31 | (...)... : String | Test.java:606:32:606:33 | in : String | provenance | | +| Test.java:604:24:604:31 | source(...) : Object | Test.java:604:16:604:31 | (...)... : String | provenance | | +| Test.java:606:10:606:34 | optString(...) : String | Test.java:607:9:607:11 | out | provenance | | +| Test.java:606:32:606:33 | in : String | Test.java:606:10:606:34 | optString(...) : String | provenance | MaD:68 | +| Test.java:612:20:612:55 | (...)... : List [] : Object | Test.java:613:12:613:13 | in : List [] : Object | provenance | | +| Test.java:612:32:612:55 | newWithElement(...) : List [] : Object | Test.java:612:20:612:55 | (...)... : List [] : Object | provenance | | +| Test.java:612:47:612:54 | source(...) : Object | Test.java:44:22:44:35 | element : Object | provenance | | +| Test.java:612:47:612:54 | source(...) : Object | Test.java:612:32:612:55 | newWithElement(...) : List [] : Object | provenance | MaD:3 | +| Test.java:613:4:613:6 | out [post update] : JSONArray | Test.java:614:9:614:11 | out | provenance | | +| Test.java:613:12:613:13 | in : List [] : Object | Test.java:613:4:613:6 | out [post update] : JSONArray | provenance | MaD:70 | +| Test.java:619:13:619:40 | (...)... : Map [] : Object | Test.java:620:12:620:13 | in : Map [] : Object | provenance | | +| Test.java:619:18:619:40 | newWithMapKey(...) : Map [] : Object | Test.java:619:13:619:40 | (...)... : Map [] : Object | provenance | | +| Test.java:619:32:619:39 | source(...) : Object | Test.java:45:20:45:33 | element : Object | provenance | | +| Test.java:619:32:619:39 | source(...) : Object | Test.java:619:18:619:40 | newWithMapKey(...) : Map [] : Object | provenance | MaD:6 | +| Test.java:620:4:620:6 | out [post update] : JSONArray | Test.java:621:9:621:11 | out | provenance | | +| Test.java:620:12:620:13 | in : Map [] : Object | Test.java:620:4:620:6 | out [post update] : JSONArray | provenance | MaD:71 | +| Test.java:626:13:626:42 | (...)... : Map [] : Object | Test.java:627:12:627:13 | in : Map [] : Object | provenance | | +| Test.java:626:18:626:42 | newWithMapValue(...) : Map [] : Object | Test.java:626:13:626:42 | (...)... : Map [] : Object | provenance | | +| Test.java:626:34:626:41 | source(...) : Object | Test.java:46:22:46:35 | element : Object | provenance | | +| Test.java:626:34:626:41 | source(...) : Object | Test.java:626:18:626:42 | newWithMapValue(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:627:4:627:6 | out [post update] : JSONArray | Test.java:628:9:628:11 | out | provenance | | +| Test.java:627:12:627:13 | in : Map [] : Object | Test.java:627:4:627:6 | out [post update] : JSONArray | provenance | MaD:72 | +| Test.java:633:16:633:31 | (...)... : Object | Test.java:634:12:634:13 | in : Object | provenance | | +| Test.java:633:24:633:31 | source(...) : Object | Test.java:633:16:633:31 | (...)... : Object | provenance | | +| Test.java:634:4:634:6 | out [post update] : JSONArray | Test.java:635:9:635:11 | out | provenance | | +| Test.java:634:12:634:13 | in : Object | Test.java:634:4:634:6 | out [post update] : JSONArray | provenance | MaD:73 | +| Test.java:640:17:640:33 | (...)... : Boolean | Test.java:641:12:641:13 | in : Boolean | provenance | | +| Test.java:640:26:640:33 | source(...) : Object | Test.java:640:17:640:33 | (...)... : Boolean | provenance | | +| Test.java:641:4:641:6 | out [post update] : JSONArray | Test.java:642:9:642:11 | out | provenance | | +| Test.java:641:12:641:13 | in : Boolean | Test.java:641:4:641:6 | out [post update] : JSONArray | provenance | MaD:74 | +| Test.java:647:16:647:31 | (...)... : Number | Test.java:648:12:648:13 | in : Number | provenance | | +| Test.java:647:24:647:31 | source(...) : Object | Test.java:647:16:647:31 | (...)... : Number | provenance | | +| Test.java:648:4:648:6 | out [post update] : JSONArray | Test.java:649:9:649:11 | out | provenance | | +| Test.java:648:12:648:13 | in : Number | Test.java:648:4:648:6 | out [post update] : JSONArray | provenance | MaD:75 | +| Test.java:654:15:654:29 | (...)... : Number | Test.java:655:12:655:13 | in : Number | provenance | | +| Test.java:654:22:654:29 | source(...) : Object | Test.java:654:15:654:29 | (...)... : Number | provenance | | +| Test.java:655:4:655:6 | out [post update] : JSONArray | Test.java:656:9:656:11 | out | provenance | | +| Test.java:655:12:655:13 | in : Number | Test.java:655:4:655:6 | out [post update] : JSONArray | provenance | MaD:76 | +| Test.java:661:13:661:25 | (...)... : Number | Test.java:662:12:662:13 | in : Number | provenance | | +| Test.java:661:18:661:25 | source(...) : Object | Test.java:661:13:661:25 | (...)... : Number | provenance | | +| Test.java:662:4:662:6 | out [post update] : JSONArray | Test.java:663:9:663:11 | out | provenance | | +| Test.java:662:12:662:13 | in : Number | Test.java:662:4:662:6 | out [post update] : JSONArray | provenance | MaD:77 | +| Test.java:668:20:668:55 | (...)... : List [] : Object | Test.java:669:15:669:16 | in : List [] : Object | provenance | | +| Test.java:668:32:668:55 | newWithElement(...) : List [] : Object | Test.java:668:20:668:55 | (...)... : List [] : Object | provenance | | +| Test.java:668:47:668:54 | source(...) : Object | Test.java:44:22:44:35 | element : Object | provenance | | +| Test.java:668:47:668:54 | source(...) : Object | Test.java:668:32:668:55 | newWithElement(...) : List [] : Object | provenance | MaD:3 | +| Test.java:669:4:669:6 | out [post update] : JSONArray | Test.java:670:9:670:11 | out | provenance | | +| Test.java:669:15:669:16 | in : List [] : Object | Test.java:669:4:669:6 | out [post update] : JSONArray | provenance | MaD:78 | +| Test.java:675:13:675:40 | (...)... : Map [] : Object | Test.java:676:15:676:16 | in : Map [] : Object | provenance | | +| Test.java:675:18:675:40 | newWithMapKey(...) : Map [] : Object | Test.java:675:13:675:40 | (...)... : Map [] : Object | provenance | | +| Test.java:675:32:675:39 | source(...) : Object | Test.java:45:20:45:33 | element : Object | provenance | | +| Test.java:675:32:675:39 | source(...) : Object | Test.java:675:18:675:40 | newWithMapKey(...) : Map [] : Object | provenance | MaD:6 | +| Test.java:676:4:676:6 | out [post update] : JSONArray | Test.java:677:9:677:11 | out | provenance | | +| Test.java:676:15:676:16 | in : Map [] : Object | Test.java:676:4:676:6 | out [post update] : JSONArray | provenance | MaD:79 | +| Test.java:682:13:682:42 | (...)... : Map [] : Object | Test.java:683:15:683:16 | in : Map [] : Object | provenance | | +| Test.java:682:18:682:42 | newWithMapValue(...) : Map [] : Object | Test.java:682:13:682:42 | (...)... : Map [] : Object | provenance | | +| Test.java:682:34:682:41 | source(...) : Object | Test.java:46:22:46:35 | element : Object | provenance | | +| Test.java:682:34:682:41 | source(...) : Object | Test.java:682:18:682:42 | newWithMapValue(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:683:4:683:6 | out [post update] : JSONArray | Test.java:684:9:684:11 | out | provenance | | +| Test.java:683:15:683:16 | in : Map [] : Object | Test.java:683:4:683:6 | out [post update] : JSONArray | provenance | MaD:80 | +| Test.java:689:16:689:31 | (...)... : Object | Test.java:690:15:690:16 | in : Object | provenance | | +| Test.java:689:24:689:31 | source(...) : Object | Test.java:689:16:689:31 | (...)... : Object | provenance | | +| Test.java:690:4:690:6 | out [post update] : JSONArray | Test.java:691:9:691:11 | out | provenance | | +| Test.java:690:15:690:16 | in : Object | Test.java:690:4:690:6 | out [post update] : JSONArray | provenance | MaD:81 | +| Test.java:696:17:696:33 | (...)... : Boolean | Test.java:697:15:697:16 | in : Boolean | provenance | | +| Test.java:696:26:696:33 | source(...) : Object | Test.java:696:17:696:33 | (...)... : Boolean | provenance | | +| Test.java:697:4:697:6 | out [post update] : JSONArray | Test.java:698:9:698:11 | out | provenance | | +| Test.java:697:15:697:16 | in : Boolean | Test.java:697:4:697:6 | out [post update] : JSONArray | provenance | MaD:82 | +| Test.java:703:16:703:31 | (...)... : Number | Test.java:704:15:704:16 | in : Number | provenance | | +| Test.java:703:24:703:31 | source(...) : Object | Test.java:703:16:703:31 | (...)... : Number | provenance | | +| Test.java:704:4:704:6 | out [post update] : JSONArray | Test.java:705:9:705:11 | out | provenance | | +| Test.java:704:15:704:16 | in : Number | Test.java:704:4:704:6 | out [post update] : JSONArray | provenance | MaD:83 | +| Test.java:710:15:710:29 | (...)... : Number | Test.java:711:15:711:16 | in : Number | provenance | | +| Test.java:710:22:710:29 | source(...) : Object | Test.java:710:15:710:29 | (...)... : Number | provenance | | +| Test.java:711:4:711:6 | out [post update] : JSONArray | Test.java:712:9:712:11 | out | provenance | | +| Test.java:711:15:711:16 | in : Number | Test.java:711:4:711:6 | out [post update] : JSONArray | provenance | MaD:84 | +| Test.java:717:13:717:25 | (...)... : Number | Test.java:718:15:718:16 | in : Number | provenance | | +| Test.java:717:18:717:25 | source(...) : Object | Test.java:717:13:717:25 | (...)... : Number | provenance | | +| Test.java:718:4:718:6 | out [post update] : JSONArray | Test.java:719:9:719:11 | out | provenance | | +| Test.java:718:15:718:16 | in : Number | Test.java:718:4:718:6 | out [post update] : JSONArray | provenance | MaD:85 | +| Test.java:724:14:724:27 | (...)... : Number | Test.java:725:15:725:16 | in : Number | provenance | | +| Test.java:724:20:724:27 | source(...) : Object | Test.java:724:14:724:27 | (...)... : Number | provenance | | +| Test.java:725:4:725:6 | out [post update] : JSONArray | Test.java:726:9:726:11 | out | provenance | | +| Test.java:725:15:725:16 | in : Number | Test.java:725:4:725:6 | out [post update] : JSONArray | provenance | MaD:86 | +| Test.java:731:14:731:27 | (...)... : Number | Test.java:732:12:732:13 | in : Number | provenance | | +| Test.java:731:20:731:27 | source(...) : Object | Test.java:731:14:731:27 | (...)... : Number | provenance | | +| Test.java:732:4:732:6 | out [post update] : JSONArray | Test.java:733:9:733:11 | out | provenance | | +| Test.java:732:12:732:13 | in : Number | Test.java:732:4:732:6 | out [post update] : JSONArray | provenance | MaD:87 | +| Test.java:738:19:738:37 | (...)... : JSONArray | Test.java:739:10:739:11 | in : JSONArray | provenance | | +| Test.java:738:30:738:37 | source(...) : Object | Test.java:738:19:738:37 | (...)... : JSONArray | provenance | | +| Test.java:739:10:739:11 | in : JSONArray | Test.java:739:10:739:22 | put(...) : JSONArray | provenance | MaD:69 | +| Test.java:739:10:739:22 | put(...) : JSONArray | Test.java:740:9:740:11 | out | provenance | | +| Test.java:745:19:745:37 | (...)... : JSONArray | Test.java:746:10:746:11 | in : JSONArray | provenance | | +| Test.java:745:30:745:37 | source(...) : Object | Test.java:745:19:745:37 | (...)... : JSONArray | provenance | | +| Test.java:746:10:746:11 | in : JSONArray | Test.java:746:10:746:19 | put(...) : JSONArray | provenance | MaD:69 | +| Test.java:746:10:746:19 | put(...) : JSONArray | Test.java:747:9:747:11 | out | provenance | | +| Test.java:752:19:752:37 | (...)... : JSONArray | Test.java:753:10:753:11 | in : JSONArray | provenance | | +| Test.java:752:30:752:37 | source(...) : Object | Test.java:752:19:752:37 | (...)... : JSONArray | provenance | | +| Test.java:753:10:753:11 | in : JSONArray | Test.java:753:10:753:21 | put(...) : JSONArray | provenance | MaD:69 | +| Test.java:753:10:753:21 | put(...) : JSONArray | Test.java:754:9:754:11 | out | provenance | | +| Test.java:759:19:759:37 | (...)... : JSONArray | Test.java:760:10:760:11 | in : JSONArray | provenance | | +| Test.java:759:30:759:37 | source(...) : Object | Test.java:759:19:759:37 | (...)... : JSONArray | provenance | | +| Test.java:760:10:760:11 | in : JSONArray | Test.java:760:10:760:20 | put(...) : JSONArray | provenance | MaD:69 | +| Test.java:760:10:760:20 | put(...) : JSONArray | Test.java:761:9:761:11 | out | provenance | | +| Test.java:766:19:766:37 | (...)... : JSONArray | Test.java:767:10:767:11 | in : JSONArray | provenance | | +| Test.java:766:30:766:37 | source(...) : Object | Test.java:766:19:766:37 | (...)... : JSONArray | provenance | | +| Test.java:767:10:767:11 | in : JSONArray | Test.java:767:10:767:25 | put(...) : JSONArray | provenance | MaD:69 | +| Test.java:767:10:767:25 | put(...) : JSONArray | Test.java:768:9:768:11 | out | provenance | | +| Test.java:773:19:773:37 | (...)... : JSONArray | Test.java:774:10:774:11 | in : JSONArray | provenance | | +| Test.java:773:30:773:37 | source(...) : Object | Test.java:773:19:773:37 | (...)... : JSONArray | provenance | | +| Test.java:774:10:774:11 | in : JSONArray | Test.java:774:10:774:22 | put(...) : JSONArray | provenance | MaD:69 | +| Test.java:774:10:774:22 | put(...) : JSONArray | Test.java:775:9:775:11 | out | provenance | | +| Test.java:780:19:780:37 | (...)... : JSONArray | Test.java:781:10:781:11 | in : JSONArray | provenance | | +| Test.java:780:30:780:37 | source(...) : Object | Test.java:780:19:780:37 | (...)... : JSONArray | provenance | | +| Test.java:781:10:781:11 | in : JSONArray | Test.java:781:10:781:24 | put(...) : JSONArray | provenance | MaD:69 | +| Test.java:781:10:781:24 | put(...) : JSONArray | Test.java:782:9:782:11 | out | provenance | | +| Test.java:787:19:787:37 | (...)... : JSONArray | Test.java:788:10:788:11 | in : JSONArray | provenance | | +| Test.java:787:30:787:37 | source(...) : Object | Test.java:787:19:787:37 | (...)... : JSONArray | provenance | | +| Test.java:788:10:788:11 | in : JSONArray | Test.java:788:10:788:23 | put(...) : JSONArray | provenance | MaD:69 | +| Test.java:788:10:788:23 | put(...) : JSONArray | Test.java:789:9:789:11 | out | provenance | | +| Test.java:794:19:794:37 | (...)... : JSONArray | Test.java:795:10:795:11 | in : JSONArray | provenance | | +| Test.java:794:30:794:37 | source(...) : Object | Test.java:794:19:794:37 | (...)... : JSONArray | provenance | | +| Test.java:795:10:795:11 | in : JSONArray | Test.java:795:10:795:21 | put(...) : JSONArray | provenance | MaD:69 | +| Test.java:795:10:795:21 | put(...) : JSONArray | Test.java:796:9:796:11 | out | provenance | | +| Test.java:801:19:801:37 | (...)... : JSONArray | Test.java:802:10:802:11 | in : JSONArray | provenance | | +| Test.java:801:30:801:37 | source(...) : Object | Test.java:801:19:801:37 | (...)... : JSONArray | provenance | | +| Test.java:802:10:802:11 | in : JSONArray | Test.java:802:10:802:32 | put(...) : JSONArray | provenance | MaD:69 | +| Test.java:802:10:802:32 | put(...) : JSONArray | Test.java:803:9:803:11 | out | provenance | | +| Test.java:808:19:808:37 | (...)... : JSONArray | Test.java:809:10:809:11 | in : JSONArray | provenance | | +| Test.java:808:30:808:37 | source(...) : Object | Test.java:808:19:808:37 | (...)... : JSONArray | provenance | | +| Test.java:809:10:809:11 | in : JSONArray | Test.java:809:10:809:29 | put(...) : JSONArray | provenance | MaD:69 | +| Test.java:809:10:809:29 | put(...) : JSONArray | Test.java:810:9:810:11 | out | provenance | | +| Test.java:815:19:815:37 | (...)... : JSONArray | Test.java:816:10:816:11 | in : JSONArray | provenance | | +| Test.java:815:30:815:37 | source(...) : Object | Test.java:815:19:815:37 | (...)... : JSONArray | provenance | | +| Test.java:816:10:816:11 | in : JSONArray | Test.java:816:10:816:36 | put(...) : JSONArray | provenance | MaD:69 | +| Test.java:816:10:816:36 | put(...) : JSONArray | Test.java:817:9:817:11 | out | provenance | | +| Test.java:822:19:822:37 | (...)... : JSONArray | Test.java:823:10:823:11 | in : JSONArray | provenance | | +| Test.java:822:30:822:37 | source(...) : Object | Test.java:822:19:822:37 | (...)... : JSONArray | provenance | | +| Test.java:823:10:823:11 | in : JSONArray | Test.java:823:10:823:18 | put(...) : JSONArray | provenance | MaD:69 | +| Test.java:823:10:823:18 | put(...) : JSONArray | Test.java:824:9:824:11 | out | provenance | | +| Test.java:829:19:829:37 | (...)... : JSONArray | Test.java:830:10:830:11 | in : JSONArray | provenance | | +| Test.java:829:30:829:37 | source(...) : Object | Test.java:829:19:829:37 | (...)... : JSONArray | provenance | | +| Test.java:830:10:830:11 | in : JSONArray | Test.java:830:10:830:29 | put(...) : JSONArray | provenance | MaD:69 | +| Test.java:830:10:830:29 | put(...) : JSONArray | Test.java:831:9:831:11 | out | provenance | | +| Test.java:836:19:836:37 | (...)... : JSONArray | Test.java:837:10:837:11 | in : JSONArray | provenance | | +| Test.java:836:30:836:37 | source(...) : Object | Test.java:836:19:836:37 | (...)... : JSONArray | provenance | | +| Test.java:837:10:837:11 | in : JSONArray | Test.java:837:10:837:26 | put(...) : JSONArray | provenance | MaD:69 | +| Test.java:837:10:837:26 | put(...) : JSONArray | Test.java:838:9:838:11 | out | provenance | | +| Test.java:843:19:843:37 | (...)... : JSONArray | Test.java:844:10:844:11 | in : JSONArray | provenance | | +| Test.java:843:30:843:37 | source(...) : Object | Test.java:843:19:843:37 | (...)... : JSONArray | provenance | | +| Test.java:844:10:844:11 | in : JSONArray | Test.java:844:10:844:33 | put(...) : JSONArray | provenance | MaD:69 | +| Test.java:844:10:844:33 | put(...) : JSONArray | Test.java:845:9:845:11 | out | provenance | | +| Test.java:850:20:850:55 | (...)... : List [] : Object | Test.java:851:15:851:16 | in : List [] : Object | provenance | | +| Test.java:850:32:850:55 | newWithElement(...) : List [] : Object | Test.java:850:20:850:55 | (...)... : List [] : Object | provenance | | +| Test.java:850:47:850:54 | source(...) : Object | Test.java:44:22:44:35 | element : Object | provenance | | +| Test.java:850:47:850:54 | source(...) : Object | Test.java:850:32:850:55 | newWithElement(...) : List [] : Object | provenance | MaD:3 | +| Test.java:851:4:851:6 | out [post update] : JSONArray | Test.java:852:9:852:11 | out | provenance | | +| Test.java:851:15:851:16 | in : List [] : Object | Test.java:851:4:851:6 | out [post update] : JSONArray | provenance | MaD:89 | +| Test.java:857:18:857:51 | (...)... : List [] : Object | Test.java:858:15:858:16 | in : List [] : Object | provenance | | +| Test.java:857:28:857:51 | newWithElement(...) : List [] : Object | Test.java:857:18:857:51 | (...)... : List [] : Object | provenance | | +| Test.java:857:43:857:50 | source(...) : Object | Test.java:44:22:44:35 | element : Object | provenance | | +| Test.java:857:43:857:50 | source(...) : Object | Test.java:857:28:857:51 | newWithElement(...) : List [] : Object | provenance | MaD:3 | +| Test.java:858:4:858:6 | out [post update] : JSONArray | Test.java:859:9:859:11 | out | provenance | | +| Test.java:858:15:858:16 | in : List [] : Object | Test.java:858:4:858:6 | out [post update] : JSONArray | provenance | MaD:90 | +| Test.java:864:19:864:37 | (...)... : JSONArray | Test.java:865:15:865:16 | in : JSONArray | provenance | | +| Test.java:864:30:864:37 | source(...) : Object | Test.java:864:19:864:37 | (...)... : JSONArray | provenance | | +| Test.java:865:4:865:6 | out [post update] : JSONArray | Test.java:866:9:866:11 | out | provenance | | +| Test.java:865:15:865:16 | in : JSONArray | Test.java:865:4:865:6 | out [post update] : JSONArray | provenance | MaD:91 | +| Test.java:871:16:871:31 | (...)... : Object | Test.java:872:15:872:16 | in : Object | provenance | | +| Test.java:871:24:871:31 | source(...) : Object | Test.java:871:16:871:31 | (...)... : Object | provenance | | +| Test.java:872:4:872:6 | out [post update] : JSONArray | Test.java:873:9:873:11 | out | provenance | | +| Test.java:872:15:872:16 | in : Object | Test.java:872:4:872:6 | out [post update] : JSONArray | provenance | MaD:92 | +| Test.java:878:19:878:37 | (...)... : JSONArray | Test.java:879:10:879:11 | in : JSONArray | provenance | | +| Test.java:878:30:878:37 | source(...) : Object | Test.java:878:19:878:37 | (...)... : JSONArray | provenance | | +| Test.java:879:10:879:11 | in : JSONArray | Test.java:879:10:879:32 | putAll(...) : JSONArray | provenance | MaD:88 | +| Test.java:879:10:879:32 | putAll(...) : JSONArray | Test.java:880:9:880:11 | out | provenance | | +| Test.java:885:19:885:37 | (...)... : JSONArray | Test.java:886:10:886:11 | in : JSONArray | provenance | | +| Test.java:885:30:885:37 | source(...) : Object | Test.java:885:19:885:37 | (...)... : JSONArray | provenance | | +| Test.java:886:10:886:11 | in : JSONArray | Test.java:886:10:886:35 | putAll(...) : JSONArray | provenance | MaD:88 | +| Test.java:886:10:886:35 | putAll(...) : JSONArray | Test.java:887:9:887:11 | out | provenance | | +| Test.java:892:19:892:37 | (...)... : JSONArray | Test.java:893:10:893:11 | in : JSONArray | provenance | | +| Test.java:892:30:892:37 | source(...) : Object | Test.java:892:19:892:37 | (...)... : JSONArray | provenance | | +| Test.java:893:10:893:11 | in : JSONArray | Test.java:893:10:893:34 | putAll(...) : JSONArray | provenance | MaD:88 | +| Test.java:893:10:893:34 | putAll(...) : JSONArray | Test.java:894:9:894:11 | out | provenance | | +| Test.java:899:19:899:37 | (...)... : JSONArray | Test.java:900:10:900:11 | in : JSONArray | provenance | | +| Test.java:899:30:899:37 | source(...) : Object | Test.java:899:19:899:37 | (...)... : JSONArray | provenance | | +| Test.java:900:10:900:11 | in : JSONArray | Test.java:900:10:900:36 | putAll(...) : JSONArray | provenance | MaD:88 | +| Test.java:900:10:900:36 | putAll(...) : JSONArray | Test.java:901:9:901:11 | out | provenance | | +| Test.java:906:19:906:37 | (...)... : JSONArray | Test.java:907:10:907:11 | in : JSONArray | provenance | | +| Test.java:906:30:906:37 | source(...) : Object | Test.java:906:19:906:37 | (...)... : JSONArray | provenance | | +| Test.java:907:10:907:11 | in : JSONArray | Test.java:907:10:907:31 | query(...) : Object | provenance | MaD:93 | +| Test.java:907:10:907:31 | query(...) : Object | Test.java:908:9:908:11 | out | provenance | | +| Test.java:913:19:913:37 | (...)... : JSONArray | Test.java:914:10:914:11 | in : JSONArray | provenance | | +| Test.java:913:30:913:37 | source(...) : Object | Test.java:913:19:913:37 | (...)... : JSONArray | provenance | | +| Test.java:914:10:914:11 | in : JSONArray | Test.java:914:10:914:36 | query(...) : Object | provenance | MaD:93 | +| Test.java:914:10:914:36 | query(...) : Object | Test.java:915:9:915:11 | out | provenance | | +| Test.java:920:19:920:37 | (...)... : JSONArray | Test.java:921:10:921:11 | in : JSONArray | provenance | | +| Test.java:920:30:920:37 | source(...) : Object | Test.java:920:19:920:37 | (...)... : JSONArray | provenance | | +| Test.java:921:10:921:11 | in : JSONArray | Test.java:921:10:921:21 | remove(...) : Object | provenance | MaD:94 | +| Test.java:921:10:921:21 | remove(...) : Object | Test.java:922:9:922:11 | out | provenance | | +| Test.java:927:19:927:37 | (...)... : JSONArray | Test.java:928:10:928:11 | in : JSONArray | provenance | | +| Test.java:927:30:927:37 | source(...) : Object | Test.java:927:19:927:37 | (...)... : JSONArray | provenance | | +| Test.java:928:10:928:11 | in : JSONArray | Test.java:928:10:928:30 | toJSONObject(...) : JSONObject | provenance | MaD:95 | +| Test.java:928:10:928:30 | toJSONObject(...) : JSONObject | Test.java:929:9:929:11 | out | provenance | | +| Test.java:934:19:934:37 | (...)... : JSONArray | Test.java:936:32:936:33 | in : JSONArray | provenance | | +| Test.java:934:30:934:37 | source(...) : Object | Test.java:934:19:934:37 | (...)... : JSONArray | provenance | | +| Test.java:936:10:936:34 | toJSONObject(...) : JSONObject | Test.java:937:9:937:11 | out | provenance | | +| Test.java:936:32:936:33 | in : JSONArray | Test.java:936:10:936:34 | toJSONObject(...) : JSONObject | provenance | MaD:96 | +| Test.java:942:13:942:25 | (...)... : Number | Test.java:944:28:944:29 | in : Number | provenance | | +| Test.java:942:18:942:25 | source(...) : Object | Test.java:942:13:942:25 | (...)... : Number | provenance | | +| Test.java:944:10:944:30 | toString(...) : String | Test.java:945:9:945:11 | out | provenance | | +| Test.java:944:28:944:29 | in : Number | Test.java:944:10:944:30 | toString(...) : String | provenance | MaD:97 | +| Test.java:950:19:950:37 | (...)... : JSONArray | Test.java:951:4:951:5 | in : JSONArray | provenance | | +| Test.java:950:30:950:37 | source(...) : Object | Test.java:950:19:950:37 | (...)... : JSONArray | provenance | | +| Test.java:951:4:951:5 | in : JSONArray | Test.java:951:13:951:15 | out [post update] : Writer | provenance | MaD:98 | +| Test.java:951:13:951:15 | out [post update] : Writer | Test.java:952:9:952:11 | out | provenance | | +| Test.java:957:19:957:37 | (...)... : JSONArray | Test.java:958:4:958:5 | in : JSONArray | provenance | | +| Test.java:957:30:957:37 | source(...) : Object | Test.java:957:19:957:37 | (...)... : JSONArray | provenance | | +| Test.java:958:4:958:5 | in : JSONArray | Test.java:958:13:958:15 | out [post update] : Writer | provenance | MaD:98 | +| Test.java:958:13:958:15 | out [post update] : Writer | Test.java:959:9:959:11 | out | provenance | | +| Test.java:964:16:964:31 | (...)... : Writer | Test.java:966:25:966:26 | in : Writer | provenance | | +| Test.java:964:24:964:31 | source(...) : Object | Test.java:964:16:964:31 | (...)... : Writer | provenance | | +| Test.java:966:10:966:33 | write(...) : Writer | Test.java:967:9:967:11 | out | provenance | | +| Test.java:966:25:966:26 | in : Writer | Test.java:966:10:966:33 | write(...) : Writer | provenance | MaD:99 | +| Test.java:972:16:972:31 | (...)... : Writer | Test.java:974:25:974:26 | in : Writer | provenance | | +| Test.java:972:24:972:31 | source(...) : Object | Test.java:972:16:972:31 | (...)... : Writer | provenance | | +| Test.java:974:10:974:27 | write(...) : Writer | Test.java:975:9:975:11 | out | provenance | | +| Test.java:974:25:974:26 | in : Writer | Test.java:974:10:974:27 | write(...) : Writer | provenance | MaD:99 | +| Test.java:980:20:980:39 | (...)... : XMLTokener | Test.java:981:29:981:30 | in : XMLTokener | provenance | | +| Test.java:980:32:980:39 | source(...) : Object | Test.java:980:20:980:39 | (...)... : XMLTokener | provenance | | +| Test.java:981:10:981:38 | toJSONArray(...) : JSONArray | Test.java:982:9:982:11 | out | provenance | | +| Test.java:981:29:981:30 | in : XMLTokener | Test.java:981:10:981:38 | toJSONArray(...) : JSONArray | provenance | MaD:100 | +| Test.java:987:20:987:39 | (...)... : XMLTokener | Test.java:988:29:988:30 | in : XMLTokener | provenance | | +| Test.java:987:32:987:39 | source(...) : Object | Test.java:987:20:987:39 | (...)... : XMLTokener | provenance | | +| Test.java:988:10:988:31 | toJSONArray(...) : JSONArray | Test.java:989:9:989:11 | out | provenance | | +| Test.java:988:29:988:30 | in : XMLTokener | Test.java:988:10:988:31 | toJSONArray(...) : JSONArray | provenance | MaD:100 | +| Test.java:994:16:994:31 | (...)... : String | Test.java:995:29:995:30 | in : String | provenance | | +| Test.java:994:24:994:31 | source(...) : Object | Test.java:994:16:994:31 | (...)... : String | provenance | | +| Test.java:995:10:995:38 | toJSONArray(...) : JSONArray | Test.java:996:9:996:11 | out | provenance | | +| Test.java:995:29:995:30 | in : String | Test.java:995:10:995:38 | toJSONArray(...) : JSONArray | provenance | MaD:100 | +| Test.java:1001:16:1001:31 | (...)... : String | Test.java:1002:29:1002:30 | in : String | provenance | | +| Test.java:1001:24:1001:31 | source(...) : Object | Test.java:1001:16:1001:31 | (...)... : String | provenance | | +| Test.java:1002:10:1002:31 | toJSONArray(...) : JSONArray | Test.java:1003:9:1003:11 | out | provenance | | +| Test.java:1002:29:1002:30 | in : String | Test.java:1002:10:1002:31 | toJSONArray(...) : JSONArray | provenance | MaD:100 | +| Test.java:1008:20:1008:39 | (...)... : XMLTokener | Test.java:1009:30:1009:31 | in : XMLTokener | provenance | | +| Test.java:1008:32:1008:39 | source(...) : Object | Test.java:1008:20:1008:39 | (...)... : XMLTokener | provenance | | +| Test.java:1009:10:1009:39 | toJSONObject(...) : JSONObject | Test.java:1010:9:1010:11 | out | provenance | | +| Test.java:1009:30:1009:31 | in : XMLTokener | Test.java:1009:10:1009:39 | toJSONObject(...) : JSONObject | provenance | MaD:101 | +| Test.java:1015:20:1015:39 | (...)... : XMLTokener | Test.java:1016:30:1016:31 | in : XMLTokener | provenance | | +| Test.java:1015:32:1015:39 | source(...) : Object | Test.java:1015:20:1015:39 | (...)... : XMLTokener | provenance | | +| Test.java:1016:10:1016:32 | toJSONObject(...) : JSONObject | Test.java:1017:9:1017:11 | out | provenance | | +| Test.java:1016:30:1016:31 | in : XMLTokener | Test.java:1016:10:1016:32 | toJSONObject(...) : JSONObject | provenance | MaD:101 | +| Test.java:1022:16:1022:31 | (...)... : String | Test.java:1023:30:1023:31 | in : String | provenance | | +| Test.java:1022:24:1022:31 | source(...) : Object | Test.java:1022:16:1022:31 | (...)... : String | provenance | | +| Test.java:1023:10:1023:39 | toJSONObject(...) : JSONObject | Test.java:1024:9:1024:11 | out | provenance | | +| Test.java:1023:30:1023:31 | in : String | Test.java:1023:10:1023:39 | toJSONObject(...) : JSONObject | provenance | MaD:101 | +| Test.java:1029:16:1029:31 | (...)... : String | Test.java:1030:30:1030:31 | in : String | provenance | | +| Test.java:1029:24:1029:31 | source(...) : Object | Test.java:1029:16:1029:31 | (...)... : String | provenance | | +| Test.java:1030:10:1030:32 | toJSONObject(...) : JSONObject | Test.java:1031:9:1031:11 | out | provenance | | +| Test.java:1030:30:1030:31 | in : String | Test.java:1030:10:1030:32 | toJSONObject(...) : JSONObject | provenance | MaD:101 | +| Test.java:1036:20:1036:39 | (...)... : JSONObject | Test.java:1037:26:1037:27 | in : JSONObject | provenance | | +| Test.java:1036:32:1036:39 | source(...) : Object | Test.java:1036:20:1036:39 | (...)... : JSONObject | provenance | | +| Test.java:1037:10:1037:28 | toString(...) : String | Test.java:1038:9:1038:11 | out | provenance | | +| Test.java:1037:26:1037:27 | in : JSONObject | Test.java:1037:10:1037:28 | toString(...) : String | provenance | MaD:102 | +| Test.java:1043:19:1043:37 | (...)... : JSONArray | Test.java:1044:26:1044:27 | in : JSONArray | provenance | | +| Test.java:1043:30:1043:37 | source(...) : Object | Test.java:1043:19:1043:37 | (...)... : JSONArray | provenance | | +| Test.java:1044:10:1044:28 | toString(...) : String | Test.java:1045:9:1045:11 | out | provenance | | +| Test.java:1044:26:1044:27 | in : JSONArray | Test.java:1044:10:1044:28 | toString(...) : String | provenance | MaD:102 | +| Test.java:1050:20:1050:39 | (...)... : JSONObject | Test.java:1051:25:1051:26 | in : JSONObject | provenance | | +| Test.java:1050:32:1050:39 | source(...) : Object | Test.java:1050:20:1050:39 | (...)... : JSONObject | provenance | | +| Test.java:1051:10:1051:43 | new JSONObject(...) : JSONObject | Test.java:1052:9:1052:11 | out | provenance | | +| Test.java:1051:25:1051:26 | in : JSONObject | Test.java:1051:10:1051:43 | new JSONObject(...) : JSONObject | provenance | MaD:103 | +| Test.java:1057:18:1057:56 | (...)... : String[] [[]] : Object | Test.java:1058:43:1058:44 | in : String[] [[]] : Object | provenance | | +| Test.java:1057:28:1057:56 | newWithArrayElement(...) : Object[] [[]] : Object | Test.java:1057:18:1057:56 | (...)... : String[] [[]] : Object | provenance | | +| Test.java:1057:48:1057:55 | source(...) : Object | Test.java:43:31:43:44 | element : Object | provenance | | +| Test.java:1057:48:1057:55 | source(...) : Object | Test.java:1057:28:1057:56 | newWithArrayElement(...) : Object[] [[]] : Object | provenance | | +| Test.java:1058:10:1058:45 | new JSONObject(...) : JSONObject | Test.java:1059:9:1059:11 | out | provenance | | +| Test.java:1058:43:1058:44 | in : String[] [[]] : Object | Test.java:1058:10:1058:45 | new JSONObject(...) : JSONObject | provenance | MaD:104 | +| Test.java:1064:21:1064:41 | (...)... : JSONTokener | Test.java:1065:25:1065:26 | in : JSONTokener | provenance | | +| Test.java:1064:34:1064:41 | source(...) : Object | Test.java:1064:21:1064:41 | (...)... : JSONTokener | provenance | | +| Test.java:1065:10:1065:27 | new JSONObject(...) : JSONObject | Test.java:1066:9:1066:11 | out | provenance | | +| Test.java:1065:25:1065:26 | in : JSONTokener | Test.java:1065:10:1065:27 | new JSONObject(...) : JSONObject | provenance | MaD:105 | +| Test.java:1071:13:1071:40 | (...)... : Map [] : Object | Test.java:1072:25:1072:26 | in : Map [] : Object | provenance | | +| Test.java:1071:18:1071:40 | newWithMapKey(...) : Map [] : Object | Test.java:1071:13:1071:40 | (...)... : Map [] : Object | provenance | | +| Test.java:1071:32:1071:39 | source(...) : Object | Test.java:45:20:45:33 | element : Object | provenance | | +| Test.java:1071:32:1071:39 | source(...) : Object | Test.java:1071:18:1071:40 | newWithMapKey(...) : Map [] : Object | provenance | MaD:6 | +| Test.java:1072:10:1072:27 | new JSONObject(...) : JSONObject | Test.java:1073:9:1073:11 | out | provenance | | +| Test.java:1072:25:1072:26 | in : Map [] : Object | Test.java:1072:10:1072:27 | new JSONObject(...) : JSONObject | provenance | MaD:106 | +| Test.java:1078:13:1078:42 | (...)... : Map [] : Object | Test.java:1079:25:1079:26 | in : Map [] : Object | provenance | | +| Test.java:1078:18:1078:42 | newWithMapValue(...) : Map [] : Object | Test.java:1078:13:1078:42 | (...)... : Map [] : Object | provenance | | +| Test.java:1078:34:1078:41 | source(...) : Object | Test.java:46:22:46:35 | element : Object | provenance | | +| Test.java:1078:34:1078:41 | source(...) : Object | Test.java:1078:18:1078:42 | newWithMapValue(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:1079:10:1079:27 | new JSONObject(...) : JSONObject | Test.java:1080:9:1080:11 | out | provenance | | +| Test.java:1079:25:1079:26 | in : Map [] : Object | Test.java:1079:10:1079:27 | new JSONObject(...) : JSONObject | provenance | MaD:107 | +| Test.java:1085:16:1085:31 | (...)... : Object | Test.java:1086:25:1086:26 | in : Object | provenance | | +| Test.java:1085:24:1085:31 | source(...) : Object | Test.java:1085:16:1085:31 | (...)... : Object | provenance | | +| Test.java:1086:10:1086:27 | new JSONObject(...) : JSONObject | Test.java:1087:9:1087:11 | out | provenance | | +| Test.java:1086:25:1086:26 | in : Object | Test.java:1086:10:1086:27 | new JSONObject(...) : JSONObject | provenance | MaD:108 | +| Test.java:1092:16:1092:31 | (...)... : Object | Test.java:1093:25:1093:26 | in : Object | provenance | | +| Test.java:1092:24:1092:31 | source(...) : Object | Test.java:1092:16:1092:31 | (...)... : Object | provenance | | +| Test.java:1093:10:1093:43 | new JSONObject(...) : JSONObject | Test.java:1094:9:1094:11 | out | provenance | | +| Test.java:1093:25:1093:26 | in : Object | Test.java:1093:10:1093:43 | new JSONObject(...) : JSONObject | provenance | MaD:109 | +| Test.java:1099:18:1099:56 | (...)... : String[] [[]] : Object | Test.java:1100:39:1100:40 | in : String[] [[]] : Object | provenance | | +| Test.java:1099:28:1099:56 | newWithArrayElement(...) : Object[] [[]] : Object | Test.java:1099:18:1099:56 | (...)... : String[] [[]] : Object | provenance | | +| Test.java:1099:48:1099:55 | source(...) : Object | Test.java:43:31:43:44 | element : Object | provenance | | +| Test.java:1099:48:1099:55 | source(...) : Object | Test.java:1099:28:1099:56 | newWithArrayElement(...) : Object[] [[]] : Object | provenance | | +| Test.java:1100:10:1100:41 | new JSONObject(...) : JSONObject | Test.java:1101:9:1101:11 | out | provenance | | +| Test.java:1100:39:1100:40 | in : String[] [[]] : Object | Test.java:1100:10:1100:41 | new JSONObject(...) : JSONObject | provenance | MaD:110 | +| Test.java:1106:16:1106:31 | (...)... : String | Test.java:1107:25:1107:26 | in : String | provenance | | +| Test.java:1106:24:1106:31 | source(...) : Object | Test.java:1106:16:1106:31 | (...)... : String | provenance | | +| Test.java:1107:10:1107:27 | new JSONObject(...) : JSONObject | Test.java:1108:9:1108:11 | out | provenance | | +| Test.java:1107:25:1107:26 | in : String | Test.java:1107:10:1107:27 | new JSONObject(...) : JSONObject | provenance | MaD:111 | +| Test.java:1113:16:1113:31 | (...)... : String | Test.java:1114:25:1114:26 | in : String | provenance | | +| Test.java:1113:24:1113:31 | source(...) : Object | Test.java:1113:16:1113:31 | (...)... : String | provenance | | +| Test.java:1114:10:1114:41 | new JSONObject(...) : JSONObject | Test.java:1115:9:1115:11 | out | provenance | | +| Test.java:1114:25:1114:26 | in : String | Test.java:1114:10:1114:41 | new JSONObject(...) : JSONObject | provenance | MaD:112 | +| Test.java:1120:20:1120:39 | (...)... : JSONObject | Test.java:1121:10:1121:11 | in : JSONObject | provenance | | +| Test.java:1120:32:1120:39 | source(...) : Object | Test.java:1120:20:1120:39 | (...)... : JSONObject | provenance | | +| Test.java:1121:10:1121:11 | in : JSONObject | Test.java:1121:10:1121:34 | accumulate(...) : JSONObject | provenance | MaD:113 | +| Test.java:1121:10:1121:34 | accumulate(...) : JSONObject | Test.java:1122:9:1122:11 | out | provenance | | +| Test.java:1127:16:1127:31 | (...)... : String | Test.java:1128:19:1128:20 | in : String | provenance | | +| Test.java:1127:24:1127:31 | source(...) : Object | Test.java:1127:16:1127:31 | (...)... : String | provenance | | +| Test.java:1128:4:1128:6 | out [post update] : JSONObject | Test.java:1129:9:1129:11 | out | provenance | | +| Test.java:1128:19:1128:20 | in : String | Test.java:1128:4:1128:6 | out [post update] : JSONObject | provenance | MaD:114 | +| Test.java:1134:16:1134:31 | (...)... : Object | Test.java:1135:25:1135:26 | in : Object | provenance | | +| Test.java:1134:24:1134:31 | source(...) : Object | Test.java:1134:16:1134:31 | (...)... : Object | provenance | | +| Test.java:1135:4:1135:6 | out [post update] : JSONObject | Test.java:1136:9:1136:11 | out | provenance | | +| Test.java:1135:25:1135:26 | in : Object | Test.java:1135:4:1135:6 | out [post update] : JSONObject | provenance | MaD:114 | +| Test.java:1141:20:1141:39 | (...)... : JSONObject | Test.java:1142:10:1142:11 | in : JSONObject | provenance | | +| Test.java:1141:32:1141:39 | source(...) : Object | Test.java:1141:20:1141:39 | (...)... : JSONObject | provenance | | +| Test.java:1142:10:1142:11 | in : JSONObject | Test.java:1142:10:1142:30 | append(...) : JSONObject | provenance | MaD:115 | +| Test.java:1142:10:1142:30 | append(...) : JSONObject | Test.java:1143:9:1143:11 | out | provenance | | +| Test.java:1148:16:1148:31 | (...)... : String | Test.java:1149:15:1149:16 | in : String | provenance | | +| Test.java:1148:24:1148:31 | source(...) : Object | Test.java:1148:16:1148:31 | (...)... : String | provenance | | +| Test.java:1149:4:1149:6 | out [post update] : JSONObject | Test.java:1150:9:1150:11 | out | provenance | | +| Test.java:1149:15:1149:16 | in : String | Test.java:1149:4:1149:6 | out [post update] : JSONObject | provenance | MaD:116 | +| Test.java:1155:16:1155:31 | (...)... : Object | Test.java:1156:21:1156:22 | in : Object | provenance | | +| Test.java:1155:24:1155:31 | source(...) : Object | Test.java:1155:16:1155:31 | (...)... : Object | provenance | | +| Test.java:1156:4:1156:6 | out [post update] : JSONObject | Test.java:1157:9:1157:11 | out | provenance | | +| Test.java:1156:21:1156:22 | in : Object | Test.java:1156:4:1156:6 | out [post update] : JSONObject | provenance | MaD:116 | +| Test.java:1162:16:1162:31 | (...)... : Number | Test.java:1163:36:1163:37 | in : Number | provenance | | +| Test.java:1162:24:1162:31 | source(...) : Object | Test.java:1162:16:1162:31 | (...)... : Number | provenance | | +| Test.java:1163:10:1163:38 | doubleToString(...) : String | Test.java:1164:9:1164:11 | out | provenance | | +| Test.java:1163:36:1163:37 | in : Number | Test.java:1163:10:1163:38 | doubleToString(...) : String | provenance | MaD:117 | +| Test.java:1169:20:1169:39 | (...)... : JSONObject | Test.java:1170:10:1170:11 | in : JSONObject | provenance | | +| Test.java:1169:32:1169:39 | source(...) : Object | Test.java:1169:20:1169:39 | (...)... : JSONObject | provenance | | +| Test.java:1170:10:1170:11 | in : JSONObject | Test.java:1170:10:1170:21 | get(...) : Object | provenance | MaD:118 | +| Test.java:1170:10:1170:21 | get(...) : Object | Test.java:1171:9:1171:11 | out | provenance | | +| Test.java:1176:20:1176:39 | (...)... : JSONObject | Test.java:1177:10:1177:11 | in : JSONObject | provenance | | +| Test.java:1176:32:1176:39 | source(...) : Object | Test.java:1176:20:1176:39 | (...)... : JSONObject | provenance | | +| Test.java:1177:10:1177:11 | in : JSONObject | Test.java:1177:10:1177:31 | getBigDecimal(...) : BigDecimal | provenance | MaD:119 | +| Test.java:1177:10:1177:31 | getBigDecimal(...) : BigDecimal | Test.java:1178:9:1178:11 | out | provenance | | +| Test.java:1183:20:1183:39 | (...)... : JSONObject | Test.java:1184:10:1184:11 | in : JSONObject | provenance | | +| Test.java:1183:32:1183:39 | source(...) : Object | Test.java:1183:20:1183:39 | (...)... : JSONObject | provenance | | +| Test.java:1184:10:1184:11 | in : JSONObject | Test.java:1184:10:1184:31 | getBigInteger(...) : BigInteger | provenance | MaD:120 | +| Test.java:1184:10:1184:31 | getBigInteger(...) : BigInteger | Test.java:1185:9:1185:11 | out | provenance | | +| Test.java:1190:20:1190:39 | (...)... : JSONObject | Test.java:1191:10:1191:11 | in : JSONObject | provenance | | +| Test.java:1190:32:1190:39 | source(...) : Object | Test.java:1190:20:1190:39 | (...)... : JSONObject | provenance | | +| Test.java:1191:10:1191:11 | in : JSONObject | Test.java:1191:10:1191:28 | getBoolean(...) : Boolean | provenance | MaD:121 | +| Test.java:1191:10:1191:28 | getBoolean(...) : Boolean | Test.java:1192:9:1192:11 | out | provenance | | +| Test.java:1197:20:1197:39 | (...)... : JSONObject | Test.java:1198:10:1198:11 | in : JSONObject | provenance | | +| Test.java:1197:32:1197:39 | source(...) : Object | Test.java:1197:20:1197:39 | (...)... : JSONObject | provenance | | +| Test.java:1198:10:1198:11 | in : JSONObject | Test.java:1198:10:1198:27 | getDouble(...) : Number | provenance | MaD:122 | +| Test.java:1198:10:1198:27 | getDouble(...) : Number | Test.java:1199:9:1199:11 | out | provenance | | +| Test.java:1204:20:1204:39 | (...)... : JSONObject | Test.java:1205:10:1205:11 | in : JSONObject | provenance | | +| Test.java:1204:32:1204:39 | source(...) : Object | Test.java:1204:20:1204:39 | (...)... : JSONObject | provenance | | +| Test.java:1205:10:1205:11 | in : JSONObject | Test.java:1205:10:1205:31 | getEnum(...) : Enum | provenance | MaD:123 | +| Test.java:1205:10:1205:31 | getEnum(...) : Enum | Test.java:1206:9:1206:11 | out | provenance | | +| Test.java:1211:20:1211:39 | (...)... : JSONObject | Test.java:1212:10:1212:11 | in : JSONObject | provenance | | +| Test.java:1211:32:1211:39 | source(...) : Object | Test.java:1211:20:1211:39 | (...)... : JSONObject | provenance | | +| Test.java:1212:10:1212:11 | in : JSONObject | Test.java:1212:10:1212:26 | getFloat(...) : Number | provenance | MaD:124 | +| Test.java:1212:10:1212:26 | getFloat(...) : Number | Test.java:1213:9:1213:11 | out | provenance | | +| Test.java:1218:20:1218:39 | (...)... : JSONObject | Test.java:1219:10:1219:11 | in : JSONObject | provenance | | +| Test.java:1218:32:1218:39 | source(...) : Object | Test.java:1218:20:1218:39 | (...)... : JSONObject | provenance | | +| Test.java:1219:10:1219:11 | in : JSONObject | Test.java:1219:10:1219:24 | getInt(...) : Number | provenance | MaD:125 | +| Test.java:1219:10:1219:24 | getInt(...) : Number | Test.java:1220:9:1220:11 | out | provenance | | +| Test.java:1225:20:1225:39 | (...)... : JSONObject | Test.java:1226:10:1226:11 | in : JSONObject | provenance | | +| Test.java:1225:32:1225:39 | source(...) : Object | Test.java:1225:20:1225:39 | (...)... : JSONObject | provenance | | +| Test.java:1226:10:1226:11 | in : JSONObject | Test.java:1226:10:1226:30 | getJSONArray(...) : JSONArray | provenance | MaD:126 | +| Test.java:1226:10:1226:30 | getJSONArray(...) : JSONArray | Test.java:1227:9:1227:11 | out | provenance | | +| Test.java:1232:20:1232:39 | (...)... : JSONObject | Test.java:1233:10:1233:11 | in : JSONObject | provenance | | +| Test.java:1232:32:1232:39 | source(...) : Object | Test.java:1232:20:1232:39 | (...)... : JSONObject | provenance | | +| Test.java:1233:10:1233:11 | in : JSONObject | Test.java:1233:10:1233:31 | getJSONObject(...) : JSONObject | provenance | MaD:127 | +| Test.java:1233:10:1233:31 | getJSONObject(...) : JSONObject | Test.java:1234:9:1234:11 | out | provenance | | +| Test.java:1239:20:1239:39 | (...)... : JSONObject | Test.java:1240:10:1240:11 | in : JSONObject | provenance | | +| Test.java:1239:32:1239:39 | source(...) : Object | Test.java:1239:20:1239:39 | (...)... : JSONObject | provenance | | +| Test.java:1240:10:1240:11 | in : JSONObject | Test.java:1240:10:1240:25 | getLong(...) : Number | provenance | MaD:128 | +| Test.java:1240:10:1240:25 | getLong(...) : Number | Test.java:1241:9:1241:11 | out | provenance | | +| Test.java:1246:16:1246:31 | (...)... : Object | Test.java:1247:30:1247:31 | in : Object | provenance | | +| Test.java:1246:24:1246:31 | source(...) : Object | Test.java:1246:16:1246:31 | (...)... : Object | provenance | | +| Test.java:1247:10:1247:32 | getNames(...) : String[] [[]] : Object | Test.java:1248:25:1248:27 | out : String[] [[]] : Object | provenance | | +| Test.java:1247:30:1247:31 | in : Object | Test.java:1247:10:1247:32 | getNames(...) : String[] [[]] : Object | provenance | MaD:129 | +| Test.java:1248:25:1248:27 | out : String[] [[]] : Object | Test.java:38:25:38:42 | container : String[] [[]] : Object | provenance | | +| Test.java:1248:25:1248:27 | out : String[] [[]] : Object | Test.java:1248:9:1248:28 | getArrayElement(...) | provenance | | +| Test.java:1253:20:1253:39 | (...)... : JSONObject | Test.java:1254:30:1254:31 | in : JSONObject | provenance | | +| Test.java:1253:32:1253:39 | source(...) : Object | Test.java:1253:20:1253:39 | (...)... : JSONObject | provenance | | +| Test.java:1254:10:1254:32 | getNames(...) : String[] [[]] : Object | Test.java:1255:25:1255:27 | out : String[] [[]] : Object | provenance | | +| Test.java:1254:30:1254:31 | in : JSONObject | Test.java:1254:10:1254:32 | getNames(...) : String[] [[]] : Object | provenance | MaD:129 | +| Test.java:1255:25:1255:27 | out : String[] [[]] : Object | Test.java:38:25:38:42 | container : String[] [[]] : Object | provenance | | +| Test.java:1255:25:1255:27 | out : String[] [[]] : Object | Test.java:1255:9:1255:28 | getArrayElement(...) | provenance | | +| Test.java:1260:20:1260:39 | (...)... : JSONObject | Test.java:1261:10:1261:11 | in : JSONObject | provenance | | +| Test.java:1260:32:1260:39 | source(...) : Object | Test.java:1260:20:1260:39 | (...)... : JSONObject | provenance | | +| Test.java:1261:10:1261:11 | in : JSONObject | Test.java:1261:10:1261:27 | getNumber(...) : Number | provenance | MaD:130 | +| Test.java:1261:10:1261:27 | getNumber(...) : Number | Test.java:1262:9:1262:11 | out | provenance | | +| Test.java:1267:20:1267:39 | (...)... : JSONObject | Test.java:1268:10:1268:11 | in : JSONObject | provenance | | +| Test.java:1267:32:1267:39 | source(...) : Object | Test.java:1267:20:1267:39 | (...)... : JSONObject | provenance | | +| Test.java:1268:10:1268:11 | in : JSONObject | Test.java:1268:10:1268:27 | getString(...) : String | provenance | MaD:131 | +| Test.java:1268:10:1268:27 | getString(...) : String | Test.java:1269:9:1269:11 | out | provenance | | +| Test.java:1274:20:1274:39 | (...)... : JSONObject | Test.java:1275:10:1275:11 | in : JSONObject | provenance | | +| Test.java:1274:32:1274:39 | source(...) : Object | Test.java:1274:20:1274:39 | (...)... : JSONObject | provenance | | +| Test.java:1275:10:1275:11 | in : JSONObject | Test.java:1275:10:1275:27 | increment(...) : JSONObject | provenance | MaD:132 | +| Test.java:1275:10:1275:27 | increment(...) : JSONObject | Test.java:1276:9:1276:11 | out | provenance | | +| Test.java:1281:16:1281:31 | (...)... : String | Test.java:1282:18:1282:19 | in : String | provenance | | +| Test.java:1281:24:1281:31 | source(...) : Object | Test.java:1281:16:1281:31 | (...)... : String | provenance | | +| Test.java:1282:4:1282:6 | out [post update] : JSONObject | Test.java:1283:9:1283:11 | out | provenance | | +| Test.java:1282:18:1282:19 | in : String | Test.java:1282:4:1282:6 | out [post update] : JSONObject | provenance | MaD:133 | +| Test.java:1288:20:1288:39 | (...)... : JSONObject | Test.java:1289:10:1289:11 | in : JSONObject | provenance | | +| Test.java:1288:32:1288:39 | source(...) : Object | Test.java:1288:20:1288:39 | (...)... : JSONObject | provenance | | +| Test.java:1289:10:1289:11 | in : JSONObject | Test.java:1289:10:1289:20 | keySet(...) : Set [] : Object | provenance | MaD:134 | +| Test.java:1289:10:1289:20 | keySet(...) : Set [] : Object | Test.java:1290:20:1290:22 | out : Set [] : Object | provenance | | +| Test.java:1290:20:1290:22 | out : Set [] : Object | Test.java:39:20:39:39 | container : Set [] : Object | provenance | | +| Test.java:1290:20:1290:22 | out : Set [] : Object | Test.java:1290:9:1290:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1295:20:1295:39 | (...)... : JSONObject | Test.java:1296:10:1296:11 | in : JSONObject | provenance | | +| Test.java:1295:32:1295:39 | source(...) : Object | Test.java:1295:20:1295:39 | (...)... : JSONObject | provenance | | +| Test.java:1296:10:1296:11 | in : JSONObject | Test.java:1296:10:1296:18 | keys(...) : Iterator [] : Object | provenance | MaD:135 | +| Test.java:1296:10:1296:18 | keys(...) : Iterator [] : Object | Test.java:1297:20:1297:22 | out : Iterator [] : Object | provenance | | +| Test.java:1297:20:1297:22 | out : Iterator [] : Object | Test.java:40:20:40:30 | it : Iterator [] : Object | provenance | | +| Test.java:1297:20:1297:22 | out : Iterator [] : Object | Test.java:1297:9:1297:23 | getElement(...) | provenance | MaD:2 | +| Test.java:1302:20:1302:39 | (...)... : JSONObject | Test.java:1303:10:1303:11 | in : JSONObject | provenance | | +| Test.java:1302:32:1302:39 | source(...) : Object | Test.java:1302:20:1302:39 | (...)... : JSONObject | provenance | | +| Test.java:1303:10:1303:11 | in : JSONObject | Test.java:1303:10:1303:19 | names(...) : JSONArray | provenance | MaD:136 | +| Test.java:1303:10:1303:19 | names(...) : JSONArray | Test.java:1304:9:1304:11 | out | provenance | | +| Test.java:1309:16:1309:31 | (...)... : Number | Test.java:1310:36:1310:37 | in : Number | provenance | | +| Test.java:1309:24:1309:31 | source(...) : Object | Test.java:1309:16:1309:31 | (...)... : Number | provenance | | +| Test.java:1310:10:1310:38 | numberToString(...) : String | Test.java:1311:9:1311:11 | out | provenance | | +| Test.java:1310:36:1310:37 | in : Number | Test.java:1310:10:1310:38 | numberToString(...) : String | provenance | MaD:137 | +| Test.java:1316:20:1316:39 | (...)... : JSONObject | Test.java:1317:10:1317:11 | in : JSONObject | provenance | | +| Test.java:1316:32:1316:39 | source(...) : Object | Test.java:1316:20:1316:39 | (...)... : JSONObject | provenance | | +| Test.java:1317:10:1317:11 | in : JSONObject | Test.java:1317:10:1317:21 | opt(...) : Object | provenance | MaD:138 | +| Test.java:1317:10:1317:21 | opt(...) : Object | Test.java:1318:9:1318:11 | out | provenance | | +| Test.java:1323:20:1323:39 | (...)... : JSONObject | Test.java:1324:10:1324:11 | in : JSONObject | provenance | | +| Test.java:1323:32:1323:39 | source(...) : Object | Test.java:1323:20:1323:39 | (...)... : JSONObject | provenance | | +| Test.java:1324:10:1324:11 | in : JSONObject | Test.java:1324:10:1324:37 | optBigDecimal(...) : BigDecimal | provenance | MaD:139 | +| Test.java:1324:10:1324:37 | optBigDecimal(...) : BigDecimal | Test.java:1325:9:1325:11 | out | provenance | | +| Test.java:1330:20:1330:39 | (...)... : BigDecimal | Test.java:1332:39:1332:40 | in : BigDecimal | provenance | | +| Test.java:1330:32:1330:39 | source(...) : Object | Test.java:1330:20:1330:39 | (...)... : BigDecimal | provenance | | +| Test.java:1332:10:1332:41 | optBigDecimal(...) : BigDecimal | Test.java:1333:9:1333:11 | out | provenance | | +| Test.java:1332:39:1332:40 | in : BigDecimal | Test.java:1332:10:1332:41 | optBigDecimal(...) : BigDecimal | provenance | MaD:140 | +| Test.java:1338:20:1338:39 | (...)... : JSONObject | Test.java:1339:10:1339:11 | in : JSONObject | provenance | | +| Test.java:1338:32:1338:39 | source(...) : Object | Test.java:1338:20:1338:39 | (...)... : JSONObject | provenance | | +| Test.java:1339:10:1339:11 | in : JSONObject | Test.java:1339:10:1339:37 | optBigInteger(...) : BigInteger | provenance | MaD:141 | +| Test.java:1339:10:1339:37 | optBigInteger(...) : BigInteger | Test.java:1340:9:1340:11 | out | provenance | | +| Test.java:1345:20:1345:39 | (...)... : BigInteger | Test.java:1347:39:1347:40 | in : BigInteger | provenance | | +| Test.java:1345:32:1345:39 | source(...) : Object | Test.java:1345:20:1345:39 | (...)... : BigInteger | provenance | | +| Test.java:1347:10:1347:41 | optBigInteger(...) : BigInteger | Test.java:1348:9:1348:11 | out | provenance | | +| Test.java:1347:39:1347:40 | in : BigInteger | Test.java:1347:10:1347:41 | optBigInteger(...) : BigInteger | provenance | MaD:142 | +| Test.java:1353:20:1353:39 | (...)... : JSONObject | Test.java:1354:10:1354:11 | in : JSONObject | provenance | | +| Test.java:1353:32:1353:39 | source(...) : Object | Test.java:1353:20:1353:39 | (...)... : JSONObject | provenance | | +| Test.java:1354:10:1354:11 | in : JSONObject | Test.java:1354:10:1354:35 | optBoolean(...) : Boolean | provenance | MaD:143 | +| Test.java:1354:10:1354:35 | optBoolean(...) : Boolean | Test.java:1355:9:1355:11 | out | provenance | | +| Test.java:1360:20:1360:39 | (...)... : JSONObject | Test.java:1361:10:1361:11 | in : JSONObject | provenance | | +| Test.java:1360:32:1360:39 | source(...) : Object | Test.java:1360:20:1360:39 | (...)... : JSONObject | provenance | | +| Test.java:1361:10:1361:11 | in : JSONObject | Test.java:1361:10:1361:28 | optBoolean(...) : Boolean | provenance | MaD:143 | +| Test.java:1361:10:1361:28 | optBoolean(...) : Boolean | Test.java:1362:9:1362:11 | out | provenance | | +| Test.java:1367:17:1367:33 | (...)... : Boolean | Test.java:1369:36:1369:37 | in : Boolean | provenance | | +| Test.java:1367:26:1367:33 | source(...) : Object | Test.java:1367:17:1367:33 | (...)... : Boolean | provenance | | +| Test.java:1369:10:1369:38 | optBoolean(...) : Boolean | Test.java:1370:9:1370:11 | out | provenance | | +| Test.java:1369:36:1369:37 | in : Boolean | Test.java:1369:10:1369:38 | optBoolean(...) : Boolean | provenance | MaD:144 | +| Test.java:1375:20:1375:39 | (...)... : JSONObject | Test.java:1376:10:1376:11 | in : JSONObject | provenance | | +| Test.java:1375:32:1375:39 | source(...) : Object | Test.java:1375:20:1375:39 | (...)... : JSONObject | provenance | | +| Test.java:1376:10:1376:11 | in : JSONObject | Test.java:1376:10:1376:32 | optDouble(...) : Number | provenance | MaD:145 | +| Test.java:1376:10:1376:32 | optDouble(...) : Number | Test.java:1377:9:1377:11 | out | provenance | | +| Test.java:1382:20:1382:39 | (...)... : JSONObject | Test.java:1383:10:1383:11 | in : JSONObject | provenance | | +| Test.java:1382:32:1382:39 | source(...) : Object | Test.java:1382:20:1382:39 | (...)... : JSONObject | provenance | | +| Test.java:1383:10:1383:11 | in : JSONObject | Test.java:1383:10:1383:27 | optDouble(...) : Number | provenance | MaD:145 | +| Test.java:1383:10:1383:27 | optDouble(...) : Number | Test.java:1384:9:1384:11 | out | provenance | | +| Test.java:1389:16:1389:31 | (...)... : Number | Test.java:1391:35:1391:36 | in : Number | provenance | | +| Test.java:1389:24:1389:31 | source(...) : Object | Test.java:1389:16:1389:31 | (...)... : Number | provenance | | +| Test.java:1391:10:1391:37 | optDouble(...) : Number | Test.java:1392:9:1392:11 | out | provenance | | +| Test.java:1391:35:1391:36 | in : Number | Test.java:1391:10:1391:37 | optDouble(...) : Number | provenance | MaD:146 | +| Test.java:1397:20:1397:39 | (...)... : JSONObject | Test.java:1398:10:1398:11 | in : JSONObject | provenance | | +| Test.java:1397:32:1397:39 | source(...) : Object | Test.java:1397:20:1397:39 | (...)... : JSONObject | provenance | | +| Test.java:1398:10:1398:11 | in : JSONObject | Test.java:1398:10:1398:37 | optEnum(...) : Enum | provenance | MaD:147 | +| Test.java:1398:10:1398:37 | optEnum(...) : Enum | Test.java:1399:9:1399:11 | out | provenance | | +| Test.java:1404:20:1404:39 | (...)... : JSONObject | Test.java:1405:10:1405:11 | in : JSONObject | provenance | | +| Test.java:1404:32:1404:39 | source(...) : Object | Test.java:1404:20:1404:39 | (...)... : JSONObject | provenance | | +| Test.java:1405:10:1405:11 | in : JSONObject | Test.java:1405:10:1405:31 | optEnum(...) : Enum | provenance | MaD:147 | +| Test.java:1405:10:1405:31 | optEnum(...) : Enum | Test.java:1406:9:1406:11 | out | provenance | | +| Test.java:1411:14:1411:27 | (...)... : Enum | Test.java:1413:39:1413:40 | in : Enum | provenance | | +| Test.java:1411:20:1411:27 | source(...) : Object | Test.java:1411:14:1411:27 | (...)... : Enum | provenance | | +| Test.java:1413:10:1413:41 | optEnum(...) : Enum | Test.java:1414:9:1414:11 | out | provenance | | +| Test.java:1413:39:1413:40 | in : Enum | Test.java:1413:10:1413:41 | optEnum(...) : Enum | provenance | MaD:148 | +| Test.java:1419:20:1419:39 | (...)... : JSONObject | Test.java:1420:10:1420:11 | in : JSONObject | provenance | | +| Test.java:1419:32:1419:39 | source(...) : Object | Test.java:1419:20:1419:39 | (...)... : JSONObject | provenance | | +| Test.java:1420:10:1420:11 | in : JSONObject | Test.java:1420:10:1420:32 | optFloat(...) : Number | provenance | MaD:149 | +| Test.java:1420:10:1420:32 | optFloat(...) : Number | Test.java:1421:9:1421:11 | out | provenance | | +| Test.java:1426:20:1426:39 | (...)... : JSONObject | Test.java:1427:10:1427:11 | in : JSONObject | provenance | | +| Test.java:1426:32:1426:39 | source(...) : Object | Test.java:1426:20:1426:39 | (...)... : JSONObject | provenance | | +| Test.java:1427:10:1427:11 | in : JSONObject | Test.java:1427:10:1427:26 | optFloat(...) : Number | provenance | MaD:149 | +| Test.java:1427:10:1427:26 | optFloat(...) : Number | Test.java:1428:9:1428:11 | out | provenance | | +| Test.java:1433:15:1433:29 | (...)... : Number | Test.java:1435:34:1435:35 | in : Number | provenance | | +| Test.java:1433:22:1433:29 | source(...) : Object | Test.java:1433:15:1433:29 | (...)... : Number | provenance | | +| Test.java:1435:10:1435:36 | optFloat(...) : Number | Test.java:1436:9:1436:11 | out | provenance | | +| Test.java:1435:34:1435:35 | in : Number | Test.java:1435:10:1435:36 | optFloat(...) : Number | provenance | MaD:150 | +| Test.java:1441:20:1441:39 | (...)... : JSONObject | Test.java:1442:10:1442:11 | in : JSONObject | provenance | | +| Test.java:1441:32:1441:39 | source(...) : Object | Test.java:1441:20:1441:39 | (...)... : JSONObject | provenance | | +| Test.java:1442:10:1442:11 | in : JSONObject | Test.java:1442:10:1442:27 | optInt(...) : Number | provenance | MaD:151 | +| Test.java:1442:10:1442:27 | optInt(...) : Number | Test.java:1443:9:1443:11 | out | provenance | | +| Test.java:1448:20:1448:39 | (...)... : JSONObject | Test.java:1449:10:1449:11 | in : JSONObject | provenance | | +| Test.java:1448:32:1448:39 | source(...) : Object | Test.java:1448:20:1448:39 | (...)... : JSONObject | provenance | | +| Test.java:1449:10:1449:11 | in : JSONObject | Test.java:1449:10:1449:24 | optInt(...) : Number | provenance | MaD:151 | +| Test.java:1449:10:1449:24 | optInt(...) : Number | Test.java:1450:9:1450:11 | out | provenance | | +| Test.java:1455:13:1455:25 | (...)... : Number | Test.java:1457:32:1457:33 | in : Number | provenance | | +| Test.java:1455:18:1455:25 | source(...) : Object | Test.java:1455:13:1455:25 | (...)... : Number | provenance | | +| Test.java:1457:10:1457:34 | optInt(...) : Number | Test.java:1458:9:1458:11 | out | provenance | | +| Test.java:1457:32:1457:33 | in : Number | Test.java:1457:10:1457:34 | optInt(...) : Number | provenance | MaD:152 | +| Test.java:1463:20:1463:39 | (...)... : JSONObject | Test.java:1464:10:1464:11 | in : JSONObject | provenance | | +| Test.java:1463:32:1463:39 | source(...) : Object | Test.java:1463:20:1463:39 | (...)... : JSONObject | provenance | | +| Test.java:1464:10:1464:11 | in : JSONObject | Test.java:1464:10:1464:30 | optJSONArray(...) : JSONArray | provenance | MaD:153 | +| Test.java:1464:10:1464:30 | optJSONArray(...) : JSONArray | Test.java:1465:9:1465:11 | out | provenance | | +| Test.java:1470:20:1470:39 | (...)... : JSONObject | Test.java:1471:10:1471:11 | in : JSONObject | provenance | | +| Test.java:1470:32:1470:39 | source(...) : Object | Test.java:1470:20:1470:39 | (...)... : JSONObject | provenance | | +| Test.java:1471:10:1471:11 | in : JSONObject | Test.java:1471:10:1471:31 | optJSONObject(...) : JSONObject | provenance | MaD:154 | +| Test.java:1471:10:1471:31 | optJSONObject(...) : JSONObject | Test.java:1472:9:1472:11 | out | provenance | | +| Test.java:1477:20:1477:39 | (...)... : JSONObject | Test.java:1478:10:1478:11 | in : JSONObject | provenance | | +| Test.java:1477:32:1477:39 | source(...) : Object | Test.java:1477:20:1477:39 | (...)... : JSONObject | provenance | | +| Test.java:1478:10:1478:11 | in : JSONObject | Test.java:1478:10:1478:29 | optLong(...) : Number | provenance | MaD:155 | +| Test.java:1478:10:1478:29 | optLong(...) : Number | Test.java:1479:9:1479:11 | out | provenance | | +| Test.java:1484:20:1484:39 | (...)... : JSONObject | Test.java:1485:10:1485:11 | in : JSONObject | provenance | | +| Test.java:1484:32:1484:39 | source(...) : Object | Test.java:1484:20:1484:39 | (...)... : JSONObject | provenance | | +| Test.java:1485:10:1485:11 | in : JSONObject | Test.java:1485:10:1485:25 | optLong(...) : Number | provenance | MaD:155 | +| Test.java:1485:10:1485:25 | optLong(...) : Number | Test.java:1486:9:1486:11 | out | provenance | | +| Test.java:1491:14:1491:27 | (...)... : Number | Test.java:1493:33:1493:34 | in : Number | provenance | | +| Test.java:1491:20:1491:27 | source(...) : Object | Test.java:1491:14:1491:27 | (...)... : Number | provenance | | +| Test.java:1493:10:1493:35 | optLong(...) : Number | Test.java:1494:9:1494:11 | out | provenance | | +| Test.java:1493:33:1493:34 | in : Number | Test.java:1493:10:1493:35 | optLong(...) : Number | provenance | MaD:156 | +| Test.java:1499:20:1499:39 | (...)... : JSONObject | Test.java:1500:10:1500:11 | in : JSONObject | provenance | | +| Test.java:1499:32:1499:39 | source(...) : Object | Test.java:1499:20:1499:39 | (...)... : JSONObject | provenance | | +| Test.java:1500:10:1500:11 | in : JSONObject | Test.java:1500:10:1500:33 | optNumber(...) : Number | provenance | MaD:157 | +| Test.java:1500:10:1500:33 | optNumber(...) : Number | Test.java:1501:9:1501:11 | out | provenance | | +| Test.java:1506:20:1506:39 | (...)... : JSONObject | Test.java:1507:10:1507:11 | in : JSONObject | provenance | | +| Test.java:1506:32:1506:39 | source(...) : Object | Test.java:1506:20:1506:39 | (...)... : JSONObject | provenance | | +| Test.java:1507:10:1507:11 | in : JSONObject | Test.java:1507:10:1507:27 | optNumber(...) : Number | provenance | MaD:157 | +| Test.java:1507:10:1507:27 | optNumber(...) : Number | Test.java:1508:9:1508:11 | out | provenance | | +| Test.java:1513:16:1513:31 | (...)... : Number | Test.java:1515:35:1515:36 | in : Number | provenance | | +| Test.java:1513:24:1513:31 | source(...) : Object | Test.java:1513:16:1513:31 | (...)... : Number | provenance | | +| Test.java:1515:10:1515:37 | optNumber(...) : Number | Test.java:1516:9:1516:11 | out | provenance | | +| Test.java:1515:35:1515:36 | in : Number | Test.java:1515:10:1515:37 | optNumber(...) : Number | provenance | MaD:158 | +| Test.java:1521:20:1521:39 | (...)... : JSONObject | Test.java:1522:10:1522:11 | in : JSONObject | provenance | | +| Test.java:1521:32:1521:39 | source(...) : Object | Test.java:1521:20:1521:39 | (...)... : JSONObject | provenance | | +| Test.java:1522:10:1522:11 | in : JSONObject | Test.java:1522:10:1522:34 | optQuery(...) : Object | provenance | MaD:159 | +| Test.java:1522:10:1522:34 | optQuery(...) : Object | Test.java:1523:9:1523:11 | out | provenance | | +| Test.java:1528:20:1528:39 | (...)... : JSONObject | Test.java:1529:10:1529:11 | in : JSONObject | provenance | | +| Test.java:1528:32:1528:39 | source(...) : Object | Test.java:1528:20:1528:39 | (...)... : JSONObject | provenance | | +| Test.java:1529:10:1529:11 | in : JSONObject | Test.java:1529:10:1529:39 | optQuery(...) : Object | provenance | MaD:159 | +| Test.java:1529:10:1529:39 | optQuery(...) : Object | Test.java:1530:9:1530:11 | out | provenance | | +| Test.java:1535:20:1535:39 | (...)... : JSONObject | Test.java:1536:10:1536:11 | in : JSONObject | provenance | | +| Test.java:1535:32:1535:39 | source(...) : Object | Test.java:1535:20:1535:39 | (...)... : JSONObject | provenance | | +| Test.java:1536:10:1536:11 | in : JSONObject | Test.java:1536:10:1536:33 | optString(...) : String | provenance | MaD:160 | +| Test.java:1536:10:1536:33 | optString(...) : String | Test.java:1537:9:1537:11 | out | provenance | | +| Test.java:1542:20:1542:39 | (...)... : JSONObject | Test.java:1543:10:1543:11 | in : JSONObject | provenance | | +| Test.java:1542:32:1542:39 | source(...) : Object | Test.java:1542:20:1542:39 | (...)... : JSONObject | provenance | | +| Test.java:1543:10:1543:11 | in : JSONObject | Test.java:1543:10:1543:27 | optString(...) : String | provenance | MaD:160 | +| Test.java:1543:10:1543:27 | optString(...) : String | Test.java:1544:9:1544:11 | out | provenance | | +| Test.java:1549:16:1549:31 | (...)... : String | Test.java:1551:35:1551:36 | in : String | provenance | | +| Test.java:1549:24:1549:31 | source(...) : Object | Test.java:1549:16:1549:31 | (...)... : String | provenance | | +| Test.java:1551:10:1551:37 | optString(...) : String | Test.java:1552:9:1552:11 | out | provenance | | +| Test.java:1551:35:1551:36 | in : String | Test.java:1551:10:1551:37 | optString(...) : String | provenance | MaD:161 | +| Test.java:1557:16:1557:31 | (...)... : String | Test.java:1558:12:1558:13 | in : String | provenance | | +| Test.java:1557:24:1557:31 | source(...) : Object | Test.java:1557:16:1557:31 | (...)... : String | provenance | | +| Test.java:1558:4:1558:6 | out [post update] : JSONObject | Test.java:1559:9:1559:11 | out | provenance | | +| Test.java:1558:12:1558:13 | in : String | Test.java:1558:4:1558:6 | out [post update] : JSONObject | provenance | MaD:163 | +| Test.java:1564:20:1564:55 | (...)... : List [] : Object | Test.java:1565:26:1565:27 | in : List [] : Object | provenance | | +| Test.java:1564:32:1564:55 | newWithElement(...) : List [] : Object | Test.java:1564:20:1564:55 | (...)... : List [] : Object | provenance | | +| Test.java:1564:47:1564:54 | source(...) : Object | Test.java:44:22:44:35 | element : Object | provenance | | +| Test.java:1564:47:1564:54 | source(...) : Object | Test.java:1564:32:1564:55 | newWithElement(...) : List [] : Object | provenance | MaD:3 | +| Test.java:1565:4:1565:6 | out [post update] : JSONObject | Test.java:1566:9:1566:11 | out | provenance | | +| Test.java:1565:26:1565:27 | in : List [] : Object | Test.java:1565:4:1565:6 | out [post update] : JSONObject | provenance | MaD:164 | +| Test.java:1571:16:1571:31 | (...)... : String | Test.java:1572:12:1572:13 | in : String | provenance | | +| Test.java:1571:24:1571:31 | source(...) : Object | Test.java:1571:16:1571:31 | (...)... : String | provenance | | +| Test.java:1572:4:1572:6 | out [post update] : JSONObject | Test.java:1573:9:1573:11 | out | provenance | | +| Test.java:1572:12:1572:13 | in : String | Test.java:1572:4:1572:6 | out [post update] : JSONObject | provenance | MaD:165 | +| Test.java:1578:13:1578:40 | (...)... : Map [] : Object | Test.java:1579:26:1579:27 | in : Map [] : Object | provenance | | +| Test.java:1578:18:1578:40 | newWithMapKey(...) : Map [] : Object | Test.java:1578:13:1578:40 | (...)... : Map [] : Object | provenance | | +| Test.java:1578:32:1578:39 | source(...) : Object | Test.java:45:20:45:33 | element : Object | provenance | | +| Test.java:1578:32:1578:39 | source(...) : Object | Test.java:1578:18:1578:40 | newWithMapKey(...) : Map [] : Object | provenance | MaD:6 | +| Test.java:1579:4:1579:6 | out [post update] : JSONObject | Test.java:1580:9:1580:11 | out | provenance | | +| Test.java:1579:26:1579:27 | in : Map [] : Object | Test.java:1579:4:1579:6 | out [post update] : JSONObject | provenance | MaD:166 | +| Test.java:1585:13:1585:42 | (...)... : Map [] : Object | Test.java:1586:26:1586:27 | in : Map [] : Object | provenance | | +| Test.java:1585:18:1585:42 | newWithMapValue(...) : Map [] : Object | Test.java:1585:13:1585:42 | (...)... : Map [] : Object | provenance | | +| Test.java:1585:34:1585:41 | source(...) : Object | Test.java:46:22:46:35 | element : Object | provenance | | +| Test.java:1585:34:1585:41 | source(...) : Object | Test.java:1585:18:1585:42 | newWithMapValue(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:1586:4:1586:6 | out [post update] : JSONObject | Test.java:1587:9:1587:11 | out | provenance | | +| Test.java:1586:26:1586:27 | in : Map [] : Object | Test.java:1586:4:1586:6 | out [post update] : JSONObject | provenance | MaD:167 | +| Test.java:1592:16:1592:31 | (...)... : String | Test.java:1593:12:1593:13 | in : String | provenance | | +| Test.java:1592:24:1592:31 | source(...) : Object | Test.java:1592:16:1592:31 | (...)... : String | provenance | | +| Test.java:1593:4:1593:6 | out [post update] : JSONObject | Test.java:1594:9:1594:11 | out | provenance | | +| Test.java:1593:12:1593:13 | in : String | Test.java:1593:4:1593:6 | out [post update] : JSONObject | provenance | MaD:168 | +| Test.java:1599:16:1599:31 | (...)... : Object | Test.java:1600:26:1600:27 | in : Object | provenance | | +| Test.java:1599:24:1599:31 | source(...) : Object | Test.java:1599:16:1599:31 | (...)... : Object | provenance | | +| Test.java:1600:4:1600:6 | out [post update] : JSONObject | Test.java:1601:9:1601:11 | out | provenance | | +| Test.java:1600:26:1600:27 | in : Object | Test.java:1600:4:1600:6 | out [post update] : JSONObject | provenance | MaD:169 | +| Test.java:1606:16:1606:31 | (...)... : String | Test.java:1607:12:1607:13 | in : String | provenance | | +| Test.java:1606:24:1606:31 | source(...) : Object | Test.java:1606:16:1606:31 | (...)... : String | provenance | | +| Test.java:1607:4:1607:6 | out [post update] : JSONObject | Test.java:1608:9:1608:11 | out | provenance | | +| Test.java:1607:12:1607:13 | in : String | Test.java:1607:4:1607:6 | out [post update] : JSONObject | provenance | MaD:170 | +| Test.java:1613:17:1613:33 | (...)... : Boolean | Test.java:1614:26:1614:27 | in : Boolean | provenance | | +| Test.java:1613:26:1613:33 | source(...) : Object | Test.java:1613:17:1613:33 | (...)... : Boolean | provenance | | +| Test.java:1614:4:1614:6 | out [post update] : JSONObject | Test.java:1615:9:1615:11 | out | provenance | | +| Test.java:1614:26:1614:27 | in : Boolean | Test.java:1614:4:1614:6 | out [post update] : JSONObject | provenance | MaD:171 | +| Test.java:1620:16:1620:31 | (...)... : String | Test.java:1621:12:1621:13 | in : String | provenance | | +| Test.java:1620:24:1620:31 | source(...) : Object | Test.java:1620:16:1620:31 | (...)... : String | provenance | | +| Test.java:1621:4:1621:6 | out [post update] : JSONObject | Test.java:1622:9:1622:11 | out | provenance | | +| Test.java:1621:12:1621:13 | in : String | Test.java:1621:4:1621:6 | out [post update] : JSONObject | provenance | MaD:172 | +| Test.java:1627:16:1627:31 | (...)... : Number | Test.java:1628:26:1628:27 | in : Number | provenance | | +| Test.java:1627:24:1627:31 | source(...) : Object | Test.java:1627:16:1627:31 | (...)... : Number | provenance | | +| Test.java:1628:4:1628:6 | out [post update] : JSONObject | Test.java:1629:9:1629:11 | out | provenance | | +| Test.java:1628:26:1628:27 | in : Number | Test.java:1628:4:1628:6 | out [post update] : JSONObject | provenance | MaD:173 | +| Test.java:1634:16:1634:31 | (...)... : String | Test.java:1635:12:1635:13 | in : String | provenance | | +| Test.java:1634:24:1634:31 | source(...) : Object | Test.java:1634:16:1634:31 | (...)... : String | provenance | | +| Test.java:1635:4:1635:6 | out [post update] : JSONObject | Test.java:1636:9:1636:11 | out | provenance | | +| Test.java:1635:12:1635:13 | in : String | Test.java:1635:4:1635:6 | out [post update] : JSONObject | provenance | MaD:174 | +| Test.java:1641:15:1641:29 | (...)... : Number | Test.java:1642:26:1642:27 | in : Number | provenance | | +| Test.java:1641:22:1641:29 | source(...) : Object | Test.java:1641:15:1641:29 | (...)... : Number | provenance | | +| Test.java:1642:4:1642:6 | out [post update] : JSONObject | Test.java:1643:9:1643:11 | out | provenance | | +| Test.java:1642:26:1642:27 | in : Number | Test.java:1642:4:1642:6 | out [post update] : JSONObject | provenance | MaD:175 | +| Test.java:1648:16:1648:31 | (...)... : String | Test.java:1649:12:1649:13 | in : String | provenance | | +| Test.java:1648:24:1648:31 | source(...) : Object | Test.java:1648:16:1648:31 | (...)... : String | provenance | | +| Test.java:1649:4:1649:6 | out [post update] : JSONObject | Test.java:1650:9:1650:11 | out | provenance | | +| Test.java:1649:12:1649:13 | in : String | Test.java:1649:4:1649:6 | out [post update] : JSONObject | provenance | MaD:176 | +| Test.java:1655:13:1655:25 | (...)... : Number | Test.java:1656:26:1656:27 | in : Number | provenance | | +| Test.java:1655:18:1655:25 | source(...) : Object | Test.java:1655:13:1655:25 | (...)... : Number | provenance | | +| Test.java:1656:4:1656:6 | out [post update] : JSONObject | Test.java:1657:9:1657:11 | out | provenance | | +| Test.java:1656:26:1656:27 | in : Number | Test.java:1656:4:1656:6 | out [post update] : JSONObject | provenance | MaD:177 | +| Test.java:1662:16:1662:31 | (...)... : String | Test.java:1663:12:1663:13 | in : String | provenance | | +| Test.java:1662:24:1662:31 | source(...) : Object | Test.java:1662:16:1662:31 | (...)... : String | provenance | | +| Test.java:1663:4:1663:6 | out [post update] : JSONObject | Test.java:1664:9:1664:11 | out | provenance | | +| Test.java:1663:12:1663:13 | in : String | Test.java:1663:4:1663:6 | out [post update] : JSONObject | provenance | MaD:178 | +| Test.java:1669:14:1669:27 | (...)... : Number | Test.java:1670:26:1670:27 | in : Number | provenance | | +| Test.java:1669:20:1669:27 | source(...) : Object | Test.java:1669:14:1669:27 | (...)... : Number | provenance | | +| Test.java:1670:4:1670:6 | out [post update] : JSONObject | Test.java:1671:9:1671:11 | out | provenance | | +| Test.java:1670:26:1670:27 | in : Number | Test.java:1670:4:1670:6 | out [post update] : JSONObject | provenance | MaD:179 | +| Test.java:1676:20:1676:39 | (...)... : JSONObject | Test.java:1677:10:1677:11 | in : JSONObject | provenance | | +| Test.java:1676:32:1676:39 | source(...) : Object | Test.java:1676:20:1676:39 | (...)... : JSONObject | provenance | | +| Test.java:1677:10:1677:11 | in : JSONObject | Test.java:1677:10:1677:36 | put(...) : JSONObject | provenance | MaD:162 | +| Test.java:1677:10:1677:36 | put(...) : JSONObject | Test.java:1678:9:1678:11 | out | provenance | | +| Test.java:1683:20:1683:39 | (...)... : JSONObject | Test.java:1684:10:1684:11 | in : JSONObject | provenance | | +| Test.java:1683:32:1683:39 | source(...) : Object | Test.java:1683:20:1683:39 | (...)... : JSONObject | provenance | | +| Test.java:1684:10:1684:11 | in : JSONObject | Test.java:1684:10:1684:33 | put(...) : JSONObject | provenance | MaD:162 | +| Test.java:1684:10:1684:33 | put(...) : JSONObject | Test.java:1685:9:1685:11 | out | provenance | | +| Test.java:1690:20:1690:39 | (...)... : JSONObject | Test.java:1691:10:1691:11 | in : JSONObject | provenance | | +| Test.java:1690:32:1690:39 | source(...) : Object | Test.java:1690:20:1690:39 | (...)... : JSONObject | provenance | | +| Test.java:1691:10:1691:11 | in : JSONObject | Test.java:1691:10:1691:35 | put(...) : JSONObject | provenance | MaD:162 | +| Test.java:1691:10:1691:35 | put(...) : JSONObject | Test.java:1692:9:1692:11 | out | provenance | | +| Test.java:1697:20:1697:39 | (...)... : JSONObject | Test.java:1698:10:1698:11 | in : JSONObject | provenance | | +| Test.java:1697:32:1697:39 | source(...) : Object | Test.java:1697:20:1697:39 | (...)... : JSONObject | provenance | | +| Test.java:1698:10:1698:11 | in : JSONObject | Test.java:1698:10:1698:34 | put(...) : JSONObject | provenance | MaD:162 | +| Test.java:1698:10:1698:34 | put(...) : JSONObject | Test.java:1699:9:1699:11 | out | provenance | | +| Test.java:1704:20:1704:39 | (...)... : JSONObject | Test.java:1705:10:1705:11 | in : JSONObject | provenance | | +| Test.java:1704:32:1704:39 | source(...) : Object | Test.java:1704:20:1704:39 | (...)... : JSONObject | provenance | | +| Test.java:1705:10:1705:11 | in : JSONObject | Test.java:1705:10:1705:32 | put(...) : JSONObject | provenance | MaD:162 | +| Test.java:1705:10:1705:32 | put(...) : JSONObject | Test.java:1706:9:1706:11 | out | provenance | | +| Test.java:1711:20:1711:39 | (...)... : JSONObject | Test.java:1712:10:1712:11 | in : JSONObject | provenance | | +| Test.java:1711:32:1711:39 | source(...) : Object | Test.java:1711:20:1711:39 | (...)... : JSONObject | provenance | | +| Test.java:1712:10:1712:11 | in : JSONObject | Test.java:1712:10:1712:43 | put(...) : JSONObject | provenance | MaD:162 | +| Test.java:1712:10:1712:43 | put(...) : JSONObject | Test.java:1713:9:1713:11 | out | provenance | | +| Test.java:1718:20:1718:39 | (...)... : JSONObject | Test.java:1719:10:1719:11 | in : JSONObject | provenance | | +| Test.java:1718:32:1718:39 | source(...) : Object | Test.java:1718:20:1718:39 | (...)... : JSONObject | provenance | | +| Test.java:1719:10:1719:11 | in : JSONObject | Test.java:1719:10:1719:40 | put(...) : JSONObject | provenance | MaD:162 | +| Test.java:1719:10:1719:40 | put(...) : JSONObject | Test.java:1720:9:1720:11 | out | provenance | | +| Test.java:1725:20:1725:39 | (...)... : JSONObject | Test.java:1726:10:1726:11 | in : JSONObject | provenance | | +| Test.java:1725:32:1725:39 | source(...) : Object | Test.java:1725:20:1725:39 | (...)... : JSONObject | provenance | | +| Test.java:1726:10:1726:11 | in : JSONObject | Test.java:1726:10:1726:47 | put(...) : JSONObject | provenance | MaD:162 | +| Test.java:1726:10:1726:47 | put(...) : JSONObject | Test.java:1727:9:1727:11 | out | provenance | | +| Test.java:1732:20:1732:39 | (...)... : JSONObject | Test.java:1733:10:1733:11 | in : JSONObject | provenance | | +| Test.java:1732:32:1732:39 | source(...) : Object | Test.java:1732:20:1732:39 | (...)... : JSONObject | provenance | | +| Test.java:1733:10:1733:11 | in : JSONObject | Test.java:1733:10:1733:31 | putOnce(...) : JSONObject | provenance | MaD:180 | +| Test.java:1733:10:1733:31 | putOnce(...) : JSONObject | Test.java:1734:9:1734:11 | out | provenance | | +| Test.java:1739:16:1739:31 | (...)... : String | Test.java:1740:16:1740:17 | in : String | provenance | | +| Test.java:1739:24:1739:31 | source(...) : Object | Test.java:1739:16:1739:31 | (...)... : String | provenance | | +| Test.java:1740:4:1740:6 | out [post update] : JSONObject | Test.java:1741:9:1741:11 | out | provenance | | +| Test.java:1740:16:1740:17 | in : String | Test.java:1740:4:1740:6 | out [post update] : JSONObject | provenance | MaD:181 | +| Test.java:1746:16:1746:31 | (...)... : Object | Test.java:1747:22:1747:23 | in : Object | provenance | | +| Test.java:1746:24:1746:31 | source(...) : Object | Test.java:1746:16:1746:31 | (...)... : Object | provenance | | +| Test.java:1747:4:1747:6 | out [post update] : JSONObject | Test.java:1748:9:1748:11 | out | provenance | | +| Test.java:1747:22:1747:23 | in : Object | Test.java:1747:4:1747:6 | out [post update] : JSONObject | provenance | MaD:181 | +| Test.java:1753:20:1753:39 | (...)... : JSONObject | Test.java:1754:10:1754:11 | in : JSONObject | provenance | | +| Test.java:1753:32:1753:39 | source(...) : Object | Test.java:1753:20:1753:39 | (...)... : JSONObject | provenance | | +| Test.java:1754:10:1754:11 | in : JSONObject | Test.java:1754:10:1754:30 | putOpt(...) : JSONObject | provenance | MaD:182 | +| Test.java:1754:10:1754:30 | putOpt(...) : JSONObject | Test.java:1755:9:1755:11 | out | provenance | | +| Test.java:1760:16:1760:31 | (...)... : String | Test.java:1761:15:1761:16 | in : String | provenance | | +| Test.java:1760:24:1760:31 | source(...) : Object | Test.java:1760:16:1760:31 | (...)... : String | provenance | | +| Test.java:1761:4:1761:6 | out [post update] : JSONObject | Test.java:1762:9:1762:11 | out | provenance | | +| Test.java:1761:15:1761:16 | in : String | Test.java:1761:4:1761:6 | out [post update] : JSONObject | provenance | MaD:183 | +| Test.java:1767:16:1767:31 | (...)... : Object | Test.java:1768:21:1768:22 | in : Object | provenance | | +| Test.java:1767:24:1767:31 | source(...) : Object | Test.java:1767:16:1767:31 | (...)... : Object | provenance | | +| Test.java:1768:4:1768:6 | out [post update] : JSONObject | Test.java:1769:9:1769:11 | out | provenance | | +| Test.java:1768:21:1768:22 | in : Object | Test.java:1768:4:1768:6 | out [post update] : JSONObject | provenance | MaD:183 | +| Test.java:1774:20:1774:39 | (...)... : JSONObject | Test.java:1775:10:1775:11 | in : JSONObject | provenance | | +| Test.java:1774:32:1774:39 | source(...) : Object | Test.java:1774:20:1774:39 | (...)... : JSONObject | provenance | | +| Test.java:1775:10:1775:11 | in : JSONObject | Test.java:1775:10:1775:31 | query(...) : Object | provenance | MaD:184 | +| Test.java:1775:10:1775:31 | query(...) : Object | Test.java:1776:9:1776:11 | out | provenance | | +| Test.java:1781:20:1781:39 | (...)... : JSONObject | Test.java:1782:10:1782:11 | in : JSONObject | provenance | | +| Test.java:1781:32:1781:39 | source(...) : Object | Test.java:1781:20:1781:39 | (...)... : JSONObject | provenance | | +| Test.java:1782:10:1782:11 | in : JSONObject | Test.java:1782:10:1782:36 | query(...) : Object | provenance | MaD:184 | +| Test.java:1782:10:1782:36 | query(...) : Object | Test.java:1783:9:1783:11 | out | provenance | | +| Test.java:1788:16:1788:31 | (...)... : String | Test.java:1789:27:1789:28 | in : String | provenance | | +| Test.java:1788:24:1788:31 | source(...) : Object | Test.java:1788:16:1788:31 | (...)... : String | provenance | | +| Test.java:1789:10:1789:29 | quote(...) : String | Test.java:1790:9:1790:11 | out | provenance | | +| Test.java:1789:27:1789:28 | in : String | Test.java:1789:10:1789:29 | quote(...) : String | provenance | MaD:185 | +| Test.java:1795:16:1795:31 | (...)... : String | Test.java:1796:21:1796:22 | in : String | provenance | | +| Test.java:1795:24:1795:31 | source(...) : Object | Test.java:1795:16:1795:31 | (...)... : String | provenance | | +| Test.java:1796:21:1796:22 | in : String | Test.java:1796:25:1796:27 | out [post update] : Writer | provenance | MaD:186 | +| Test.java:1796:25:1796:27 | out [post update] : Writer | Test.java:1797:9:1797:11 | out | provenance | | +| Test.java:1802:16:1802:31 | (...)... : Writer | Test.java:1803:33:1803:34 | in : Writer | provenance | | +| Test.java:1802:24:1802:31 | source(...) : Object | Test.java:1802:16:1802:31 | (...)... : Writer | provenance | | +| Test.java:1803:10:1803:35 | quote(...) : Writer | Test.java:1804:9:1804:11 | out | provenance | | +| Test.java:1803:33:1803:34 | in : Writer | Test.java:1803:10:1803:35 | quote(...) : Writer | provenance | MaD:187 | +| Test.java:1809:20:1809:39 | (...)... : JSONObject | Test.java:1810:10:1810:11 | in : JSONObject | provenance | | +| Test.java:1809:32:1809:39 | source(...) : Object | Test.java:1809:20:1809:39 | (...)... : JSONObject | provenance | | +| Test.java:1810:10:1810:11 | in : JSONObject | Test.java:1810:10:1810:24 | remove(...) : Object | provenance | MaD:188 | +| Test.java:1810:10:1810:24 | remove(...) : Object | Test.java:1811:9:1811:11 | out | provenance | | +| Test.java:1816:16:1816:31 | (...)... : String | Test.java:1817:35:1817:36 | in : String | provenance | | +| Test.java:1816:24:1816:31 | source(...) : Object | Test.java:1816:16:1816:31 | (...)... : String | provenance | | +| Test.java:1817:10:1817:37 | stringToValue(...) : Object | Test.java:1818:9:1818:11 | out | provenance | | +| Test.java:1817:35:1817:36 | in : String | Test.java:1817:10:1817:37 | stringToValue(...) : Object | provenance | MaD:189 | +| Test.java:1823:20:1823:39 | (...)... : JSONObject | Test.java:1824:10:1824:11 | in : JSONObject | provenance | | +| Test.java:1823:32:1823:39 | source(...) : Object | Test.java:1823:20:1823:39 | (...)... : JSONObject | provenance | | +| Test.java:1824:10:1824:11 | in : JSONObject | Test.java:1824:10:1824:29 | toJSONArray(...) : JSONArray | provenance | MaD:190 | +| Test.java:1824:10:1824:29 | toJSONArray(...) : JSONArray | Test.java:1825:9:1825:11 | out | provenance | | +| Test.java:1830:20:1830:39 | (...)... : JSONObject | Test.java:1831:10:1831:11 | in : JSONObject | provenance | | +| Test.java:1830:32:1830:39 | source(...) : Object | Test.java:1830:20:1830:39 | (...)... : JSONObject | provenance | | +| Test.java:1831:10:1831:11 | in : JSONObject | Test.java:1831:10:1831:19 | toMap(...) : Map [] : Object | provenance | MaD:191 | +| Test.java:1831:10:1831:19 | toMap(...) : Map [] : Object | Test.java:1832:19:1832:21 | out : Map [] : Object | provenance | | +| Test.java:1832:19:1832:21 | out : Map [] : Object | Test.java:41:19:41:31 | container : Map [] : Object | provenance | | +| Test.java:1832:19:1832:21 | out : Map [] : Object | Test.java:1832:9:1832:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:1837:20:1837:39 | (...)... : JSONObject | Test.java:1838:10:1838:11 | in : JSONObject | provenance | | +| Test.java:1837:32:1837:39 | source(...) : Object | Test.java:1837:20:1837:39 | (...)... : JSONObject | provenance | | +| Test.java:1838:10:1838:11 | in : JSONObject | Test.java:1838:10:1838:19 | toMap(...) : Map [] : Object | provenance | MaD:192 | +| Test.java:1838:10:1838:19 | toMap(...) : Map [] : Object | Test.java:1839:21:1839:23 | out : Map [] : Object | provenance | | +| Test.java:1839:21:1839:23 | out : Map [] : Object | Test.java:42:21:42:33 | container : Map [] : Object | provenance | | +| Test.java:1839:21:1839:23 | out : Map [] : Object | Test.java:1839:9:1839:24 | getMapValue(...) | provenance | MaD:4 | +| Test.java:1844:20:1844:39 | (...)... : JSONObject | Test.java:1845:10:1845:11 | in : JSONObject | provenance | | +| Test.java:1844:32:1844:39 | source(...) : Object | Test.java:1844:20:1844:39 | (...)... : JSONObject | provenance | | +| Test.java:1845:10:1845:11 | in : JSONObject | Test.java:1845:10:1845:23 | toString(...) : String | provenance | MaD:193 | +| Test.java:1845:10:1845:23 | toString(...) : String | Test.java:1846:9:1846:11 | out | provenance | | +| Test.java:1851:20:1851:39 | (...)... : JSONObject | Test.java:1852:10:1852:11 | in : JSONObject | provenance | | +| Test.java:1851:32:1851:39 | source(...) : Object | Test.java:1851:20:1851:39 | (...)... : JSONObject | provenance | | +| Test.java:1852:10:1852:11 | in : JSONObject | Test.java:1852:10:1852:22 | toString(...) : String | provenance | MaD:193 | +| Test.java:1852:10:1852:22 | toString(...) : String | Test.java:1853:9:1853:11 | out | provenance | | +| Test.java:1858:16:1858:31 | (...)... : Object | Test.java:1859:35:1859:36 | in : Object | provenance | | +| Test.java:1858:24:1858:31 | source(...) : Object | Test.java:1858:16:1858:31 | (...)... : Object | provenance | | +| Test.java:1859:10:1859:37 | valueToString(...) : String | Test.java:1860:9:1860:11 | out | provenance | | +| Test.java:1859:35:1859:36 | in : Object | Test.java:1859:10:1859:37 | valueToString(...) : String | provenance | MaD:194 | +| Test.java:1865:16:1865:31 | (...)... : Object | Test.java:1866:26:1866:27 | in : Object | provenance | | +| Test.java:1865:24:1865:31 | source(...) : Object | Test.java:1865:16:1865:31 | (...)... : Object | provenance | | +| Test.java:1866:10:1866:28 | wrap(...) : Object | Test.java:1867:9:1867:11 | out | provenance | | +| Test.java:1866:26:1866:27 | in : Object | Test.java:1866:10:1866:28 | wrap(...) : Object | provenance | MaD:195 | +| Test.java:1872:20:1872:39 | (...)... : JSONObject | Test.java:1873:4:1873:5 | in : JSONObject | provenance | | +| Test.java:1872:32:1872:39 | source(...) : Object | Test.java:1872:20:1872:39 | (...)... : JSONObject | provenance | | +| Test.java:1873:4:1873:5 | in : JSONObject | Test.java:1873:13:1873:15 | out [post update] : Writer | provenance | MaD:196 | +| Test.java:1873:13:1873:15 | out [post update] : Writer | Test.java:1874:9:1874:11 | out | provenance | | +| Test.java:1879:20:1879:39 | (...)... : JSONObject | Test.java:1880:4:1880:5 | in : JSONObject | provenance | | +| Test.java:1879:32:1879:39 | source(...) : Object | Test.java:1879:20:1879:39 | (...)... : JSONObject | provenance | | +| Test.java:1880:4:1880:5 | in : JSONObject | Test.java:1880:13:1880:15 | out [post update] : Writer | provenance | MaD:196 | +| Test.java:1880:13:1880:15 | out [post update] : Writer | Test.java:1881:9:1881:11 | out | provenance | | +| Test.java:1886:16:1886:31 | (...)... : Writer | Test.java:1888:25:1888:26 | in : Writer | provenance | | +| Test.java:1886:24:1886:31 | source(...) : Object | Test.java:1886:16:1886:31 | (...)... : Writer | provenance | | +| Test.java:1888:10:1888:33 | write(...) : Writer | Test.java:1889:9:1889:11 | out | provenance | | +| Test.java:1888:25:1888:26 | in : Writer | Test.java:1888:10:1888:33 | write(...) : Writer | provenance | MaD:197 | +| Test.java:1894:16:1894:31 | (...)... : Writer | Test.java:1896:25:1896:26 | in : Writer | provenance | | +| Test.java:1894:24:1894:31 | source(...) : Object | Test.java:1894:16:1894:31 | (...)... : Writer | provenance | | +| Test.java:1896:10:1896:27 | write(...) : Writer | Test.java:1897:9:1897:11 | out | provenance | | +| Test.java:1896:25:1896:26 | in : Writer | Test.java:1896:10:1896:27 | write(...) : Writer | provenance | MaD:197 | +| Test.java:1902:29:1902:57 | (...)... : Builder | Test.java:1903:10:1903:11 | in : Builder | provenance | | +| Test.java:1902:50:1902:57 | source(...) : Object | Test.java:1902:29:1902:57 | (...)... : Builder | provenance | | +| Test.java:1903:10:1903:11 | in : Builder | Test.java:1903:10:1903:21 | append(...) : Builder | provenance | MaD:203 | +| Test.java:1903:10:1903:21 | append(...) : Builder | Test.java:1904:9:1904:11 | out | provenance | | +| Test.java:1909:29:1909:57 | (...)... : Builder | Test.java:1910:10:1910:11 | in : Builder | provenance | | +| Test.java:1909:50:1909:57 | source(...) : Object | Test.java:1909:29:1909:57 | (...)... : Builder | provenance | | +| Test.java:1910:10:1910:11 | in : Builder | Test.java:1910:10:1910:32 | append(...) : Builder | provenance | MaD:203 | +| Test.java:1910:10:1910:32 | append(...) : Builder | Test.java:1911:9:1911:11 | out | provenance | | +| Test.java:1916:13:1916:25 | (...)... : Number | Test.java:1917:15:1917:16 | in : Number | provenance | | +| Test.java:1916:18:1916:25 | source(...) : Object | Test.java:1916:13:1916:25 | (...)... : Number | provenance | | +| Test.java:1917:4:1917:6 | out [post update] : Builder | Test.java:1918:9:1918:11 | out | provenance | | +| Test.java:1917:15:1917:16 | in : Number | Test.java:1917:4:1917:6 | out [post update] : Builder | provenance | MaD:204 | +| Test.java:1923:16:1923:31 | (...)... : String | Test.java:1924:15:1924:16 | in : String | provenance | | +| Test.java:1923:24:1923:31 | source(...) : Object | Test.java:1923:16:1923:31 | (...)... : String | provenance | | +| Test.java:1924:4:1924:6 | out [post update] : Builder | Test.java:1925:9:1925:11 | out | provenance | | +| Test.java:1924:15:1924:16 | in : String | Test.java:1924:4:1924:6 | out [post update] : Builder | provenance | MaD:204 | +| Test.java:1930:29:1930:57 | (...)... : Builder | Test.java:1931:10:1931:11 | in : Builder | provenance | | +| Test.java:1930:50:1930:57 | source(...) : Object | Test.java:1930:29:1930:57 | (...)... : Builder | provenance | | +| Test.java:1931:10:1931:11 | in : Builder | Test.java:1931:10:1931:19 | build(...) : JSONPointer | provenance | MaD:205 | +| Test.java:1931:10:1931:19 | build(...) : JSONPointer | Test.java:1932:9:1932:11 | out | provenance | | +| Test.java:1937:14:1937:43 | (...)... : List [] : Object | Test.java:1938:26:1938:27 | in : List [] : Object | provenance | | +| Test.java:1937:20:1937:43 | newWithElement(...) : List [] : Object | Test.java:1937:14:1937:43 | (...)... : List [] : Object | provenance | | +| Test.java:1937:35:1937:42 | source(...) : Object | Test.java:44:22:44:35 | element : Object | provenance | | +| Test.java:1937:35:1937:42 | source(...) : Object | Test.java:1937:20:1937:43 | newWithElement(...) : List [] : Object | provenance | MaD:3 | +| Test.java:1938:10:1938:28 | new JSONPointer(...) : JSONPointer | Test.java:1939:9:1939:11 | out | provenance | | +| Test.java:1938:26:1938:27 | in : List [] : Object | Test.java:1938:10:1938:28 | new JSONPointer(...) : JSONPointer | provenance | MaD:198 | +| Test.java:1944:16:1944:31 | (...)... : String | Test.java:1945:26:1945:27 | in : String | provenance | | +| Test.java:1944:24:1944:31 | source(...) : Object | Test.java:1944:16:1944:31 | (...)... : String | provenance | | +| Test.java:1945:10:1945:28 | new JSONPointer(...) : JSONPointer | Test.java:1946:9:1946:11 | out | provenance | | +| Test.java:1945:26:1945:27 | in : String | Test.java:1945:10:1945:28 | new JSONPointer(...) : JSONPointer | provenance | MaD:199 | +| Test.java:1951:16:1951:31 | (...)... : Object | Test.java:1953:29:1953:30 | in : Object | provenance | | +| Test.java:1951:24:1951:31 | source(...) : Object | Test.java:1951:16:1951:31 | (...)... : Object | provenance | | +| Test.java:1953:10:1953:31 | queryFrom(...) : Object | Test.java:1954:9:1954:11 | out | provenance | | +| Test.java:1953:29:1953:30 | in : Object | Test.java:1953:10:1953:31 | queryFrom(...) : Object | provenance | MaD:200 | +| Test.java:1959:21:1959:41 | (...)... : JSONPointer | Test.java:1960:10:1960:11 | in : JSONPointer | provenance | | +| Test.java:1959:34:1959:41 | source(...) : Object | Test.java:1959:21:1959:41 | (...)... : JSONPointer | provenance | | +| Test.java:1960:10:1960:11 | in : JSONPointer | Test.java:1960:10:1960:22 | toString(...) : String | provenance | MaD:201 | +| Test.java:1960:10:1960:22 | toString(...) : String | Test.java:1961:9:1961:11 | out | provenance | | +| Test.java:1966:21:1966:41 | (...)... : JSONPointer | Test.java:1967:10:1967:11 | in : JSONPointer | provenance | | +| Test.java:1966:34:1966:41 | source(...) : Object | Test.java:1966:21:1966:41 | (...)... : JSONPointer | provenance | | +| Test.java:1967:10:1967:11 | in : JSONPointer | Test.java:1967:10:1967:27 | toURIFragment(...) : String | provenance | MaD:202 | +| Test.java:1967:10:1967:27 | toURIFragment(...) : String | Test.java:1968:9:1968:11 | out | provenance | | +| Test.java:1973:20:1973:39 | (...)... : JSONString | Test.java:1974:10:1974:11 | in : JSONString | provenance | | +| Test.java:1973:32:1973:39 | source(...) : Object | Test.java:1973:20:1973:39 | (...)... : JSONString | provenance | | +| Test.java:1974:10:1974:11 | in : JSONString | Test.java:1974:10:1974:26 | toJSONString(...) : String | provenance | MaD:206 | +| Test.java:1974:10:1974:26 | toJSONString(...) : String | Test.java:1975:9:1975:11 | out | provenance | | +| Test.java:1980:22:1980:43 | (...)... : JSONStringer | Test.java:1981:10:1981:11 | in : JSONStringer | provenance | | +| Test.java:1980:36:1980:43 | source(...) : Object | Test.java:1980:22:1980:43 | (...)... : JSONStringer | provenance | | +| Test.java:1981:10:1981:11 | in : JSONStringer | Test.java:1981:10:1981:22 | toString(...) : String | provenance | MaD:207 | +| Test.java:1981:10:1981:22 | toString(...) : String | Test.java:1982:9:1982:11 | out | provenance | | +| Test.java:1987:16:1987:31 | (...)... : String | Test.java:1988:26:1988:27 | in : String | provenance | | +| Test.java:1987:24:1987:31 | source(...) : Object | Test.java:1987:16:1987:31 | (...)... : String | provenance | | +| Test.java:1988:10:1988:28 | new JSONTokener(...) : JSONTokener | Test.java:1989:9:1989:11 | out | provenance | | +| Test.java:1988:26:1988:27 | in : String | Test.java:1988:10:1988:28 | new JSONTokener(...) : JSONTokener | provenance | MaD:208 | +| Test.java:1994:16:1994:31 | (...)... : Reader | Test.java:1995:26:1995:27 | in : Reader | provenance | | +| Test.java:1994:24:1994:31 | source(...) : Object | Test.java:1994:16:1994:31 | (...)... : Reader | provenance | | +| Test.java:1995:10:1995:28 | new JSONTokener(...) : JSONTokener | Test.java:1996:9:1996:11 | out | provenance | | +| Test.java:1995:26:1995:27 | in : Reader | Test.java:1995:10:1995:28 | new JSONTokener(...) : JSONTokener | provenance | MaD:208 | +| Test.java:2001:21:2001:41 | (...)... : InputStream | Test.java:2002:26:2002:27 | in : InputStream | provenance | | +| Test.java:2001:34:2001:41 | source(...) : Object | Test.java:2001:21:2001:41 | (...)... : InputStream | provenance | | +| Test.java:2002:10:2002:28 | new JSONTokener(...) : JSONTokener | Test.java:2003:9:2003:11 | out | provenance | | +| Test.java:2002:26:2002:27 | in : InputStream | Test.java:2002:10:2002:28 | new JSONTokener(...) : JSONTokener | provenance | MaD:208 | +| Test.java:2008:21:2008:41 | (...)... : JSONTokener | Test.java:2009:10:2009:11 | in : JSONTokener | provenance | | +| Test.java:2008:34:2008:41 | source(...) : Object | Test.java:2008:21:2008:41 | (...)... : JSONTokener | provenance | | +| Test.java:2009:10:2009:11 | in : JSONTokener | Test.java:2009:10:2009:18 | next(...) : Number | provenance | MaD:209 | +| Test.java:2009:10:2009:18 | next(...) : Number | Test.java:2010:9:2010:11 | out | provenance | | +| Test.java:2015:21:2015:41 | (...)... : JSONTokener | Test.java:2016:10:2016:11 | in : JSONTokener | provenance | | +| Test.java:2015:34:2015:41 | source(...) : Object | Test.java:2015:21:2015:41 | (...)... : JSONTokener | provenance | | +| Test.java:2016:10:2016:11 | in : JSONTokener | Test.java:2016:10:2016:21 | next(...) : Number | provenance | MaD:209 | +| Test.java:2016:10:2016:21 | next(...) : Number | Test.java:2017:9:2017:11 | out | provenance | | +| Test.java:2022:21:2022:41 | (...)... : JSONTokener | Test.java:2023:10:2023:11 | in : JSONTokener | provenance | | +| Test.java:2022:34:2022:41 | source(...) : Object | Test.java:2022:21:2022:41 | (...)... : JSONTokener | provenance | | +| Test.java:2023:10:2023:11 | in : JSONTokener | Test.java:2023:10:2023:19 | next(...) : String | provenance | MaD:209 | +| Test.java:2023:10:2023:19 | next(...) : String | Test.java:2024:9:2024:11 | out | provenance | | +| Test.java:2029:21:2029:41 | (...)... : JSONTokener | Test.java:2030:10:2030:11 | in : JSONTokener | provenance | | +| Test.java:2029:34:2029:41 | source(...) : Object | Test.java:2029:21:2029:41 | (...)... : JSONTokener | provenance | | +| Test.java:2030:10:2030:11 | in : JSONTokener | Test.java:2030:10:2030:23 | nextClean(...) : Number | provenance | MaD:210 | +| Test.java:2030:10:2030:23 | nextClean(...) : Number | Test.java:2031:9:2031:11 | out | provenance | | +| Test.java:2036:21:2036:41 | (...)... : JSONTokener | Test.java:2037:10:2037:11 | in : JSONTokener | provenance | | +| Test.java:2036:34:2036:41 | source(...) : Object | Test.java:2036:21:2036:41 | (...)... : JSONTokener | provenance | | +| Test.java:2037:10:2037:11 | in : JSONTokener | Test.java:2037:10:2037:27 | nextString(...) : String | provenance | MaD:211 | +| Test.java:2037:10:2037:27 | nextString(...) : String | Test.java:2038:9:2038:11 | out | provenance | | +| Test.java:2043:21:2043:41 | (...)... : JSONTokener | Test.java:2044:10:2044:11 | in : JSONTokener | provenance | | +| Test.java:2043:34:2043:41 | source(...) : Object | Test.java:2043:21:2043:41 | (...)... : JSONTokener | provenance | | +| Test.java:2044:10:2044:11 | in : JSONTokener | Test.java:2044:10:2044:32 | nextTo(...) : String | provenance | MaD:212 | +| Test.java:2044:10:2044:32 | nextTo(...) : String | Test.java:2045:9:2045:11 | out | provenance | | +| Test.java:2050:21:2050:41 | (...)... : JSONTokener | Test.java:2051:10:2051:11 | in : JSONTokener | provenance | | +| Test.java:2050:34:2050:41 | source(...) : Object | Test.java:2050:21:2050:41 | (...)... : JSONTokener | provenance | | +| Test.java:2051:10:2051:11 | in : JSONTokener | Test.java:2051:10:2051:23 | nextTo(...) : String | provenance | MaD:212 | +| Test.java:2051:10:2051:23 | nextTo(...) : String | Test.java:2052:9:2052:11 | out | provenance | | +| Test.java:2057:21:2057:41 | (...)... : JSONTokener | Test.java:2058:10:2058:11 | in : JSONTokener | provenance | | +| Test.java:2057:34:2057:41 | source(...) : Object | Test.java:2057:21:2057:41 | (...)... : JSONTokener | provenance | | +| Test.java:2058:10:2058:11 | in : JSONTokener | Test.java:2058:10:2058:23 | nextValue(...) : Object | provenance | MaD:213 | +| Test.java:2058:10:2058:23 | nextValue(...) : Object | Test.java:2059:9:2059:11 | out | provenance | | +| Test.java:2064:19:2064:37 | (...)... : Throwable | Test.java:2066:37:2066:38 | in : Throwable | provenance | | +| Test.java:2064:30:2064:37 | source(...) : Object | Test.java:2064:19:2064:37 | (...)... : Throwable | provenance | | +| Test.java:2066:10:2066:39 | syntaxError(...) : JSONException | Test.java:2067:9:2067:11 | out | provenance | | +| Test.java:2066:37:2066:38 | in : Throwable | Test.java:2066:10:2066:39 | syntaxError(...) : JSONException | provenance | MaD:214 | +| Test.java:2072:16:2072:31 | (...)... : String | Test.java:2074:31:2074:32 | in : String | provenance | | +| Test.java:2072:24:2072:31 | source(...) : Object | Test.java:2072:16:2072:31 | (...)... : String | provenance | | +| Test.java:2074:10:2074:39 | syntaxError(...) : JSONException | Test.java:2075:9:2075:11 | out | provenance | | +| Test.java:2074:31:2074:32 | in : String | Test.java:2074:10:2074:39 | syntaxError(...) : JSONException | provenance | MaD:214 | +| Test.java:2080:16:2080:31 | (...)... : String | Test.java:2082:31:2082:32 | in : String | provenance | | +| Test.java:2080:24:2080:31 | source(...) : Object | Test.java:2080:16:2080:31 | (...)... : String | provenance | | +| Test.java:2082:10:2082:33 | syntaxError(...) : JSONException | Test.java:2083:9:2083:11 | out | provenance | | +| Test.java:2082:31:2082:32 | in : String | Test.java:2082:10:2082:33 | syntaxError(...) : JSONException | provenance | MaD:214 | +| Test.java:2088:21:2088:41 | (...)... : JSONTokener | Test.java:2089:10:2089:11 | in : JSONTokener | provenance | | +| Test.java:2088:34:2088:41 | source(...) : Object | Test.java:2088:21:2088:41 | (...)... : JSONTokener | provenance | | +| Test.java:2089:10:2089:11 | in : JSONTokener | Test.java:2089:10:2089:22 | toString(...) : String | provenance | MaD:215 | +| Test.java:2089:10:2089:22 | toString(...) : String | Test.java:2090:9:2090:11 | out | provenance | | +| Test.java:2095:20:2095:39 | (...)... : JSONWriter | Test.java:2096:10:2096:11 | in : JSONWriter | provenance | | +| Test.java:2095:32:2095:39 | source(...) : Object | Test.java:2095:20:2095:39 | (...)... : JSONWriter | provenance | | +| Test.java:2096:10:2096:11 | in : JSONWriter | Test.java:2096:10:2096:19 | array(...) : JSONWriter | provenance | MaD:216 | +| Test.java:2096:10:2096:19 | array(...) : JSONWriter | Test.java:2097:9:2097:11 | out | provenance | | +| Test.java:2102:20:2102:39 | (...)... : JSONWriter | Test.java:2103:10:2103:11 | in : JSONWriter | provenance | | +| Test.java:2102:32:2102:39 | source(...) : Object | Test.java:2102:20:2102:39 | (...)... : JSONWriter | provenance | | +| Test.java:2103:10:2103:11 | in : JSONWriter | Test.java:2103:10:2103:22 | endArray(...) : JSONWriter | provenance | MaD:217 | +| Test.java:2103:10:2103:22 | endArray(...) : JSONWriter | Test.java:2104:9:2104:11 | out | provenance | | +| Test.java:2109:20:2109:39 | (...)... : JSONWriter | Test.java:2110:10:2110:11 | in : JSONWriter | provenance | | +| Test.java:2109:32:2109:39 | source(...) : Object | Test.java:2109:20:2109:39 | (...)... : JSONWriter | provenance | | +| Test.java:2110:10:2110:11 | in : JSONWriter | Test.java:2110:10:2110:23 | endObject(...) : JSONWriter | provenance | MaD:218 | +| Test.java:2110:10:2110:23 | endObject(...) : JSONWriter | Test.java:2111:9:2111:11 | out | provenance | | +| Test.java:2116:20:2116:39 | (...)... : JSONWriter | Test.java:2117:10:2117:11 | in : JSONWriter | provenance | | +| Test.java:2116:32:2116:39 | source(...) : Object | Test.java:2116:20:2116:39 | (...)... : JSONWriter | provenance | | +| Test.java:2117:10:2117:11 | in : JSONWriter | Test.java:2117:10:2117:21 | key(...) : JSONWriter | provenance | MaD:219 | +| Test.java:2117:10:2117:21 | key(...) : JSONWriter | Test.java:2118:9:2118:11 | out | provenance | | +| Test.java:2123:16:2123:31 | (...)... : String | Test.java:2124:12:2124:13 | in : String | provenance | | +| Test.java:2123:24:2123:31 | source(...) : Object | Test.java:2123:16:2123:31 | (...)... : String | provenance | | +| Test.java:2124:4:2124:6 | out [post update] : JSONWriter | Test.java:2125:9:2125:11 | out | provenance | | +| Test.java:2124:12:2124:13 | in : String | Test.java:2124:4:2124:6 | out [post update] : JSONWriter | provenance | MaD:220 | +| Test.java:2130:20:2130:39 | (...)... : JSONWriter | Test.java:2131:10:2131:11 | in : JSONWriter | provenance | | +| Test.java:2130:32:2130:39 | source(...) : Object | Test.java:2130:20:2130:39 | (...)... : JSONWriter | provenance | | +| Test.java:2131:10:2131:11 | in : JSONWriter | Test.java:2131:10:2131:20 | object(...) : JSONWriter | provenance | MaD:221 | +| Test.java:2131:10:2131:20 | object(...) : JSONWriter | Test.java:2132:9:2132:11 | out | provenance | | +| Test.java:2137:20:2137:39 | (...)... : JSONWriter | Test.java:2138:10:2138:11 | in : JSONWriter | provenance | | +| Test.java:2137:32:2137:39 | source(...) : Object | Test.java:2137:20:2137:39 | (...)... : JSONWriter | provenance | | +| Test.java:2138:10:2138:11 | in : JSONWriter | Test.java:2138:10:2138:24 | value(...) : JSONWriter | provenance | MaD:222 | +| Test.java:2138:10:2138:24 | value(...) : JSONWriter | Test.java:2139:9:2139:11 | out | provenance | | +| Test.java:2144:20:2144:39 | (...)... : JSONWriter | Test.java:2145:10:2145:11 | in : JSONWriter | provenance | | +| Test.java:2144:32:2144:39 | source(...) : Object | Test.java:2144:20:2144:39 | (...)... : JSONWriter | provenance | | +| Test.java:2145:10:2145:11 | in : JSONWriter | Test.java:2145:10:2145:21 | value(...) : JSONWriter | provenance | MaD:222 | +| Test.java:2145:10:2145:21 | value(...) : JSONWriter | Test.java:2146:9:2146:11 | out | provenance | | +| Test.java:2151:20:2151:39 | (...)... : JSONWriter | Test.java:2152:10:2152:11 | in : JSONWriter | provenance | | +| Test.java:2151:32:2151:39 | source(...) : Object | Test.java:2151:20:2151:39 | (...)... : JSONWriter | provenance | | +| Test.java:2152:10:2152:11 | in : JSONWriter | Test.java:2152:10:2152:22 | value(...) : JSONWriter | provenance | MaD:222 | +| Test.java:2152:10:2152:22 | value(...) : JSONWriter | Test.java:2153:9:2153:11 | out | provenance | | +| Test.java:2158:20:2158:39 | (...)... : JSONWriter | Test.java:2159:10:2159:11 | in : JSONWriter | provenance | | +| Test.java:2158:32:2158:39 | source(...) : Object | Test.java:2158:20:2158:39 | (...)... : JSONWriter | provenance | | +| Test.java:2159:10:2159:11 | in : JSONWriter | Test.java:2159:10:2159:31 | value(...) : JSONWriter | provenance | MaD:222 | +| Test.java:2159:10:2159:31 | value(...) : JSONWriter | Test.java:2160:9:2160:11 | out | provenance | | +| Test.java:2165:14:2165:27 | (...)... : Number | Test.java:2166:14:2166:15 | in : Number | provenance | | +| Test.java:2165:20:2165:27 | source(...) : Object | Test.java:2165:14:2165:27 | (...)... : Number | provenance | | +| Test.java:2166:4:2166:6 | out [post update] : JSONWriter | Test.java:2167:9:2167:11 | out | provenance | | +| Test.java:2166:14:2166:15 | in : Number | Test.java:2166:4:2166:6 | out [post update] : JSONWriter | provenance | MaD:223 | +| Test.java:2172:16:2172:31 | (...)... : Number | Test.java:2173:14:2173:15 | in : Number | provenance | | +| Test.java:2172:24:2172:31 | source(...) : Object | Test.java:2172:16:2172:31 | (...)... : Number | provenance | | +| Test.java:2173:4:2173:6 | out [post update] : JSONWriter | Test.java:2174:9:2174:11 | out | provenance | | +| Test.java:2173:14:2173:15 | in : Number | Test.java:2173:4:2173:6 | out [post update] : JSONWriter | provenance | MaD:223 | +| Test.java:2179:17:2179:33 | (...)... : Boolean | Test.java:2180:14:2180:15 | in : Boolean | provenance | | +| Test.java:2179:26:2179:33 | source(...) : Object | Test.java:2179:17:2179:33 | (...)... : Boolean | provenance | | +| Test.java:2180:4:2180:6 | out [post update] : JSONWriter | Test.java:2181:9:2181:11 | out | provenance | | +| Test.java:2180:14:2180:15 | in : Boolean | Test.java:2180:4:2180:6 | out [post update] : JSONWriter | provenance | MaD:223 | +| Test.java:2186:16:2186:31 | (...)... : Object | Test.java:2187:14:2187:15 | in : Object | provenance | | +| Test.java:2186:24:2186:31 | source(...) : Object | Test.java:2186:16:2186:31 | (...)... : Object | provenance | | +| Test.java:2187:4:2187:6 | out [post update] : JSONWriter | Test.java:2188:9:2188:11 | out | provenance | | +| Test.java:2187:14:2187:15 | in : Object | Test.java:2187:4:2187:6 | out [post update] : JSONWriter | provenance | MaD:223 | +| Test.java:2193:16:2193:31 | (...)... : Object | Test.java:2194:35:2194:36 | in : Object | provenance | | +| Test.java:2193:24:2193:31 | source(...) : Object | Test.java:2193:16:2193:31 | (...)... : Object | provenance | | +| Test.java:2194:10:2194:37 | valueToString(...) : String | Test.java:2195:9:2195:11 | out | provenance | | +| Test.java:2194:35:2194:36 | in : Object | Test.java:2194:10:2194:37 | valueToString(...) : String | provenance | MaD:224 | +| Test.java:2200:20:2200:54 | (...)... : Properties [] : Object | Test.java:2201:32:2201:33 | in : Properties [] : Object | provenance | | +| Test.java:2200:32:2200:54 | newWithMapKey(...) : Map [] : Object | Test.java:2200:20:2200:54 | (...)... : Properties [] : Object | provenance | | +| Test.java:2200:46:2200:53 | source(...) : Object | Test.java:45:20:45:33 | element : Object | provenance | | +| Test.java:2200:46:2200:53 | source(...) : Object | Test.java:2200:32:2200:54 | newWithMapKey(...) : Map [] : Object | provenance | MaD:6 | +| Test.java:2201:10:2201:34 | toJSONObject(...) : JSONObject | Test.java:2202:9:2202:11 | out | provenance | | +| Test.java:2201:32:2201:33 | in : Properties [] : Object | Test.java:2201:10:2201:34 | toJSONObject(...) : JSONObject | provenance | MaD:225 | +| Test.java:2207:20:2207:56 | (...)... : Properties [] : Object | Test.java:2208:32:2208:33 | in : Properties [] : Object | provenance | | +| Test.java:2207:32:2207:56 | newWithMapValue(...) : Map [] : Object | Test.java:2207:20:2207:56 | (...)... : Properties [] : Object | provenance | | +| Test.java:2207:48:2207:55 | source(...) : Object | Test.java:46:22:46:35 | element : Object | provenance | | +| Test.java:2207:48:2207:55 | source(...) : Object | Test.java:2207:32:2207:56 | newWithMapValue(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:2208:10:2208:34 | toJSONObject(...) : JSONObject | Test.java:2209:9:2209:11 | out | provenance | | +| Test.java:2208:32:2208:33 | in : Properties [] : Object | Test.java:2208:10:2208:34 | toJSONObject(...) : JSONObject | provenance | MaD:226 | +| Test.java:2214:20:2214:39 | (...)... : JSONObject | Test.java:2215:32:2215:33 | in : JSONObject | provenance | | +| Test.java:2214:32:2214:39 | source(...) : Object | Test.java:2214:20:2214:39 | (...)... : JSONObject | provenance | | +| Test.java:2215:10:2215:34 | toProperties(...) : Properties [] : Object | Test.java:2216:19:2216:21 | out : Properties [] : Object | provenance | | +| Test.java:2215:32:2215:33 | in : JSONObject | Test.java:2215:10:2215:34 | toProperties(...) : Properties [] : Object | provenance | MaD:227 | +| Test.java:2216:19:2216:21 | out : Properties [] : Object | Test.java:41:19:41:31 | container : Properties [] : Object | provenance | | +| Test.java:2216:19:2216:21 | out : Properties [] : Object | Test.java:2216:9:2216:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:2221:20:2221:39 | (...)... : JSONObject | Test.java:2222:32:2222:33 | in : JSONObject | provenance | | +| Test.java:2221:32:2221:39 | source(...) : Object | Test.java:2221:20:2221:39 | (...)... : JSONObject | provenance | | +| Test.java:2222:10:2222:34 | toProperties(...) : Properties [] : Object | Test.java:2223:21:2223:23 | out : Properties [] : Object | provenance | | +| Test.java:2222:32:2222:33 | in : JSONObject | Test.java:2222:10:2222:34 | toProperties(...) : Properties [] : Object | provenance | MaD:228 | +| Test.java:2223:21:2223:23 | out : Properties [] : Object | Test.java:42:21:42:33 | container : Properties [] : Object | provenance | | +| Test.java:2223:21:2223:23 | out : Properties [] : Object | Test.java:2223:9:2223:24 | getMapValue(...) | provenance | MaD:4 | +| Test.java:2228:16:2228:31 | (...)... : String | Test.java:2229:21:2229:22 | in : String | provenance | | +| Test.java:2228:24:2228:31 | source(...) : Object | Test.java:2228:16:2228:31 | (...)... : String | provenance | | +| Test.java:2229:10:2229:23 | escape(...) : String | Test.java:2230:9:2230:11 | out | provenance | | +| Test.java:2229:21:2229:22 | in : String | Test.java:2229:10:2229:23 | escape(...) : String | provenance | MaD:229 | +| Test.java:2235:16:2235:31 | (...)... : String | Test.java:2236:28:2236:29 | in : String | provenance | | +| Test.java:2235:24:2235:31 | source(...) : Object | Test.java:2235:16:2235:31 | (...)... : String | provenance | | +| Test.java:2236:10:2236:36 | stringToValue(...) : Object | Test.java:2237:9:2237:11 | out | provenance | | +| Test.java:2236:28:2236:29 | in : String | Test.java:2236:10:2236:36 | stringToValue(...) : Object | provenance | MaD:230 | +| Test.java:2242:16:2242:31 | (...)... : String | Test.java:2243:28:2243:29 | in : String | provenance | | +| Test.java:2242:24:2242:31 | source(...) : Object | Test.java:2242:16:2242:31 | (...)... : String | provenance | | +| Test.java:2243:10:2243:30 | stringToValue(...) : Object | Test.java:2244:9:2244:11 | out | provenance | | +| Test.java:2243:28:2243:29 | in : String | Test.java:2243:10:2243:30 | stringToValue(...) : Object | provenance | MaD:230 | +| Test.java:2249:16:2249:31 | (...)... : String | Test.java:2250:27:2250:28 | in : String | provenance | | +| Test.java:2249:24:2249:31 | source(...) : Object | Test.java:2249:16:2249:31 | (...)... : String | provenance | | +| Test.java:2250:10:2250:36 | toJSONObject(...) : JSONObject | Test.java:2251:9:2251:11 | out | provenance | | +| Test.java:2250:27:2250:28 | in : String | Test.java:2250:10:2250:36 | toJSONObject(...) : JSONObject | provenance | MaD:231 | +| Test.java:2256:16:2256:31 | (...)... : String | Test.java:2257:27:2257:28 | in : String | provenance | | +| Test.java:2256:24:2256:31 | source(...) : Object | Test.java:2256:16:2256:31 | (...)... : String | provenance | | +| Test.java:2257:10:2257:59 | toJSONObject(...) : JSONObject | Test.java:2258:9:2258:11 | out | provenance | | +| Test.java:2257:27:2257:28 | in : String | Test.java:2257:10:2257:59 | toJSONObject(...) : JSONObject | provenance | MaD:231 | +| Test.java:2263:16:2263:31 | (...)... : String | Test.java:2264:27:2264:28 | in : String | provenance | | +| Test.java:2263:24:2263:31 | source(...) : Object | Test.java:2263:16:2263:31 | (...)... : String | provenance | | +| Test.java:2264:10:2264:29 | toJSONObject(...) : JSONObject | Test.java:2265:9:2265:11 | out | provenance | | +| Test.java:2264:27:2264:28 | in : String | Test.java:2264:10:2264:29 | toJSONObject(...) : JSONObject | provenance | MaD:231 | +| Test.java:2270:16:2270:31 | (...)... : Reader | Test.java:2271:27:2271:28 | in : Reader | provenance | | +| Test.java:2270:24:2270:31 | source(...) : Object | Test.java:2270:16:2270:31 | (...)... : Reader | provenance | | +| Test.java:2271:10:2271:36 | toJSONObject(...) : JSONObject | Test.java:2272:9:2272:11 | out | provenance | | +| Test.java:2271:27:2271:28 | in : Reader | Test.java:2271:10:2271:36 | toJSONObject(...) : JSONObject | provenance | MaD:231 | +| Test.java:2277:16:2277:31 | (...)... : Reader | Test.java:2278:27:2278:28 | in : Reader | provenance | | +| Test.java:2277:24:2277:31 | source(...) : Object | Test.java:2277:16:2277:31 | (...)... : Reader | provenance | | +| Test.java:2278:10:2278:59 | toJSONObject(...) : JSONObject | Test.java:2279:9:2279:11 | out | provenance | | +| Test.java:2278:27:2278:28 | in : Reader | Test.java:2278:10:2278:59 | toJSONObject(...) : JSONObject | provenance | MaD:231 | +| Test.java:2284:16:2284:31 | (...)... : Reader | Test.java:2285:27:2285:28 | in : Reader | provenance | | +| Test.java:2284:24:2284:31 | source(...) : Object | Test.java:2284:16:2284:31 | (...)... : Reader | provenance | | +| Test.java:2285:10:2285:29 | toJSONObject(...) : JSONObject | Test.java:2286:9:2286:11 | out | provenance | | +| Test.java:2285:27:2285:28 | in : Reader | Test.java:2285:10:2285:29 | toJSONObject(...) : JSONObject | provenance | MaD:231 | +| Test.java:2291:16:2291:31 | (...)... : String | Test.java:2292:29:2292:30 | in : String | provenance | | +| Test.java:2291:24:2291:31 | source(...) : Object | Test.java:2291:16:2291:31 | (...)... : String | provenance | | +| Test.java:2292:10:2292:37 | toString(...) : String | Test.java:2293:9:2293:11 | out | provenance | | +| Test.java:2292:29:2292:30 | in : String | Test.java:2292:10:2292:37 | toString(...) : String | provenance | MaD:232 | +| Test.java:2298:16:2298:31 | (...)... : String | Test.java:2299:29:2299:30 | in : String | provenance | | +| Test.java:2298:24:2298:31 | source(...) : Object | Test.java:2298:16:2298:31 | (...)... : String | provenance | | +| Test.java:2299:10:2299:31 | toString(...) : String | Test.java:2300:9:2300:11 | out | provenance | | +| Test.java:2299:29:2299:30 | in : String | Test.java:2299:10:2299:31 | toString(...) : String | provenance | MaD:232 | +| Test.java:2305:16:2305:31 | (...)... : Object | Test.java:2306:23:2306:24 | in : Object | provenance | | +| Test.java:2305:24:2305:31 | source(...) : Object | Test.java:2305:16:2305:31 | (...)... : Object | provenance | | +| Test.java:2306:10:2306:37 | toString(...) : String | Test.java:2307:9:2307:11 | out | provenance | | +| Test.java:2306:23:2306:24 | in : Object | Test.java:2306:10:2306:37 | toString(...) : String | provenance | MaD:232 | +| Test.java:2312:16:2312:31 | (...)... : Object | Test.java:2313:23:2313:24 | in : Object | provenance | | +| Test.java:2312:24:2312:31 | source(...) : Object | Test.java:2312:16:2312:31 | (...)... : Object | provenance | | +| Test.java:2313:10:2313:31 | toString(...) : String | Test.java:2314:9:2314:11 | out | provenance | | +| Test.java:2313:23:2313:24 | in : Object | Test.java:2313:10:2313:31 | toString(...) : String | provenance | MaD:232 | +| Test.java:2319:16:2319:31 | (...)... : Object | Test.java:2320:23:2320:24 | in : Object | provenance | | +| Test.java:2319:24:2319:31 | source(...) : Object | Test.java:2319:16:2319:31 | (...)... : Object | provenance | | +| Test.java:2320:10:2320:25 | toString(...) : String | Test.java:2321:9:2321:11 | out | provenance | | +| Test.java:2320:23:2320:24 | in : Object | Test.java:2320:10:2320:25 | toString(...) : String | provenance | MaD:232 | +| Test.java:2326:16:2326:31 | (...)... : String | Test.java:2327:23:2327:24 | in : String | provenance | | +| Test.java:2326:24:2326:31 | source(...) : Object | Test.java:2326:16:2326:31 | (...)... : String | provenance | | +| Test.java:2327:10:2327:25 | unescape(...) : String | Test.java:2328:9:2328:11 | out | provenance | | +| Test.java:2327:23:2327:24 | in : String | Test.java:2327:10:2327:25 | unescape(...) : String | provenance | MaD:233 | +| Test.java:2333:16:2333:31 | (...)... : String | Test.java:2334:25:2334:26 | in : String | provenance | | +| Test.java:2333:24:2333:31 | source(...) : Object | Test.java:2333:16:2333:31 | (...)... : String | provenance | | +| Test.java:2334:10:2334:27 | new XMLTokener(...) : XMLTokener | Test.java:2335:9:2335:11 | out | provenance | | +| Test.java:2334:25:2334:26 | in : String | Test.java:2334:10:2334:27 | new XMLTokener(...) : XMLTokener | provenance | MaD:234 | +| Test.java:2340:16:2340:31 | (...)... : Reader | Test.java:2341:25:2341:26 | in : Reader | provenance | | +| Test.java:2340:24:2340:31 | source(...) : Object | Test.java:2340:16:2340:31 | (...)... : Reader | provenance | | +| Test.java:2341:10:2341:27 | new XMLTokener(...) : XMLTokener | Test.java:2342:9:2342:11 | out | provenance | | +| Test.java:2341:25:2341:26 | in : Reader | Test.java:2341:10:2341:27 | new XMLTokener(...) : XMLTokener | provenance | MaD:234 | +| Test.java:2347:20:2347:39 | (...)... : XMLTokener | Test.java:2348:10:2348:11 | in : XMLTokener | provenance | | +| Test.java:2347:32:2347:39 | source(...) : Object | Test.java:2347:20:2347:39 | (...)... : XMLTokener | provenance | | +| Test.java:2348:10:2348:11 | in : XMLTokener | Test.java:2348:10:2348:23 | nextCDATA(...) : String | provenance | MaD:235 | +| Test.java:2348:10:2348:23 | nextCDATA(...) : String | Test.java:2349:9:2349:11 | out | provenance | | +| Test.java:2354:20:2354:39 | (...)... : XMLTokener | Test.java:2355:10:2355:11 | in : XMLTokener | provenance | | +| Test.java:2354:32:2354:39 | source(...) : Object | Test.java:2354:20:2354:39 | (...)... : XMLTokener | provenance | | +| Test.java:2355:10:2355:11 | in : XMLTokener | Test.java:2355:10:2355:25 | nextContent(...) : Object | provenance | MaD:236 | +| Test.java:2355:10:2355:25 | nextContent(...) : Object | Test.java:2356:9:2356:11 | out | provenance | | +| Test.java:2361:20:2361:39 | (...)... : XMLTokener | Test.java:2362:10:2362:11 | in : XMLTokener | provenance | | +| Test.java:2361:32:2361:39 | source(...) : Object | Test.java:2361:20:2361:39 | (...)... : XMLTokener | provenance | | +| Test.java:2362:10:2362:11 | in : XMLTokener | Test.java:2362:10:2362:27 | nextEntity(...) : Object | provenance | MaD:237 | +| Test.java:2362:10:2362:27 | nextEntity(...) : Object | Test.java:2363:9:2363:11 | out | provenance | | +| Test.java:2368:20:2368:39 | (...)... : XMLTokener | Test.java:2369:10:2369:11 | in : XMLTokener | provenance | | +| Test.java:2368:32:2368:39 | source(...) : Object | Test.java:2368:20:2368:39 | (...)... : XMLTokener | provenance | | +| Test.java:2369:10:2369:11 | in : XMLTokener | Test.java:2369:10:2369:22 | nextMeta(...) : Object | provenance | MaD:238 | +| Test.java:2369:10:2369:22 | nextMeta(...) : Object | Test.java:2370:9:2370:11 | out | provenance | | +| Test.java:2375:20:2375:39 | (...)... : XMLTokener | Test.java:2376:10:2376:11 | in : XMLTokener | provenance | | +| Test.java:2375:32:2375:39 | source(...) : Object | Test.java:2375:20:2375:39 | (...)... : XMLTokener | provenance | | +| Test.java:2376:10:2376:11 | in : XMLTokener | Test.java:2376:10:2376:23 | nextToken(...) : Object | provenance | MaD:239 | +| Test.java:2376:10:2376:23 | nextToken(...) : Object | Test.java:2377:9:2377:11 | out | provenance | | +| Test.java:2382:16:2382:31 | (...)... : String | Test.java:2384:27:2384:28 | in : String | provenance | | +| Test.java:2382:24:2382:31 | source(...) : Object | Test.java:2382:16:2382:31 | (...)... : String | provenance | | +| Test.java:2384:10:2384:29 | convert(...) : Object | Test.java:2385:9:2385:11 | out | provenance | | +| Test.java:2384:27:2384:28 | in : String | Test.java:2384:10:2384:29 | convert(...) : Object | provenance | MaD:240 | +nodes +| Test.java:38:25:38:42 | container : String[] [[]] : Object | semmle.label | container : String[] [[]] : Object | +| Test.java:38:54:38:62 | container : String[] [[]] : Object | semmle.label | container : String[] [[]] : Object | +| Test.java:38:54:38:65 | ...[...] : Object | semmle.label | ...[...] : Object | +| Test.java:39:20:39:39 | container : Set [] : Object | semmle.label | container : Set [] : Object | +| Test.java:39:51:39:59 | container : Set [] : Object | semmle.label | container : Set [] : Object | +| Test.java:39:51:39:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:39:51:39:77 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:40:20:40:30 | it : Iterator [] : Object | semmle.label | it : Iterator [] : Object | +| Test.java:40:42:40:43 | it : Iterator [] : Object | semmle.label | it : Iterator [] : Object | +| Test.java:40:42:40:50 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:41:19:41:31 | container : Map [] : Object | semmle.label | container : Map [] : Object | +| Test.java:41:19:41:31 | container : Properties [] : Object | semmle.label | container : Properties [] : Object | +| Test.java:41:43:41:51 | container : Map [] : Object | semmle.label | container : Map [] : Object | +| Test.java:41:43:41:51 | container : Properties [] : Object | semmle.label | container : Properties [] : Object | +| Test.java:41:43:41:60 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:41:43:41:60 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:41:43:41:71 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:41:43:41:71 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:41:43:41:78 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:41:43:41:78 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:42:21:42:33 | container : Map [] : Object | semmle.label | container : Map [] : Object | +| Test.java:42:21:42:33 | container : Properties [] : Object | semmle.label | container : Properties [] : Object | +| Test.java:42:45:42:53 | container : Map [] : Object | semmle.label | container : Map [] : Object | +| Test.java:42:45:42:53 | container : Properties [] : Object | semmle.label | container : Properties [] : Object | +| Test.java:42:45:42:63 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:42:45:42:63 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:43:31:43:44 | element : Object | semmle.label | element : Object | +| Test.java:43:56:43:79 | new Object[] : Object[] [[]] : Object | semmle.label | new Object[] : Object[] [[]] : Object | +| Test.java:43:56:43:79 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:43:71:43:77 | element : Object | semmle.label | element : Object | +| Test.java:44:22:44:35 | element : Object | semmle.label | element : Object | +| Test.java:44:47:44:62 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:44:55:44:61 | element : Object | semmle.label | element : Object | +| Test.java:45:20:45:33 | element : Object | semmle.label | element : Object | +| Test.java:45:45:45:65 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:45:52:45:58 | element : Object | semmle.label | element : Object | +| Test.java:46:22:46:35 | element : Object | semmle.label | element : Object | +| Test.java:46:47:46:67 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:46:60:46:66 | element : Object | semmle.label | element : Object | +| Test.java:55:21:55:41 | (...)... : JSONTokener | semmle.label | (...)... : JSONTokener | +| Test.java:55:34:55:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:56:10:56:31 | rowToJSONArray(...) : JSONArray | semmle.label | rowToJSONArray(...) : JSONArray | +| Test.java:56:29:56:30 | in : JSONTokener | semmle.label | in : JSONTokener | +| Test.java:57:9:57:11 | out | semmle.label | out | +| Test.java:62:21:62:41 | (...)... : JSONTokener | semmle.label | (...)... : JSONTokener | +| Test.java:62:34:62:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:63:10:63:38 | rowToJSONObject(...) : JSONObject | semmle.label | rowToJSONObject(...) : JSONObject | +| Test.java:63:36:63:37 | in : JSONTokener | semmle.label | in : JSONTokener | +| Test.java:64:9:64:11 | out | semmle.label | out | +| Test.java:69:19:69:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:69:30:69:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:70:10:70:38 | rowToJSONObject(...) : JSONObject | semmle.label | rowToJSONObject(...) : JSONObject | +| Test.java:70:30:70:31 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:71:9:71:11 | out | semmle.label | out | +| Test.java:76:19:76:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:76:30:76:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:77:10:77:28 | rowToString(...) : String | semmle.label | rowToString(...) : String | +| Test.java:77:26:77:27 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:78:9:78:11 | out | semmle.label | out | +| Test.java:83:16:83:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:83:24:83:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:84:10:84:28 | toJSONArray(...) : JSONArray | semmle.label | toJSONArray(...) : JSONArray | +| Test.java:84:26:84:27 | in : String | semmle.label | in : String | +| Test.java:85:9:85:11 | out | semmle.label | out | +| Test.java:90:16:90:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:90:24:90:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:91:10:91:45 | toJSONArray(...) : JSONArray | semmle.label | toJSONArray(...) : JSONArray | +| Test.java:91:43:91:44 | in : String | semmle.label | in : String | +| Test.java:92:9:92:11 | out | semmle.label | out | +| Test.java:97:21:97:41 | (...)... : JSONTokener | semmle.label | (...)... : JSONTokener | +| Test.java:97:34:97:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:98:10:98:28 | toJSONArray(...) : JSONArray | semmle.label | toJSONArray(...) : JSONArray | +| Test.java:98:26:98:27 | in : JSONTokener | semmle.label | in : JSONTokener | +| Test.java:99:9:99:11 | out | semmle.label | out | +| Test.java:104:21:104:41 | (...)... : JSONTokener | semmle.label | (...)... : JSONTokener | +| Test.java:104:34:104:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:105:10:105:45 | toJSONArray(...) : JSONArray | semmle.label | toJSONArray(...) : JSONArray | +| Test.java:105:43:105:44 | in : JSONTokener | semmle.label | in : JSONTokener | +| Test.java:106:9:106:11 | out | semmle.label | out | +| Test.java:111:19:111:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:111:30:111:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:112:10:112:42 | toJSONArray(...) : JSONArray | semmle.label | toJSONArray(...) : JSONArray | +| Test.java:112:26:112:27 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:113:9:113:11 | out | semmle.label | out | +| Test.java:118:19:118:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:118:30:118:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:119:10:119:47 | toJSONArray(...) : JSONArray | semmle.label | toJSONArray(...) : JSONArray | +| Test.java:119:26:119:27 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:120:9:120:11 | out | semmle.label | out | +| Test.java:125:19:125:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:125:30:125:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:126:10:126:31 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:126:29:126:30 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:127:9:127:11 | out | semmle.label | out | +| Test.java:132:19:132:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:132:30:132:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:133:10:133:31 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:133:23:133:24 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:134:9:134:11 | out | semmle.label | out | +| Test.java:139:19:139:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:139:30:139:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:140:10:140:25 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:140:23:140:24 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:141:9:141:11 | out | semmle.label | out | +| Test.java:146:16:146:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:146:24:146:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:147:10:147:26 | escape(...) : String | semmle.label | escape(...) : String | +| Test.java:147:24:147:25 | in : String | semmle.label | in : String | +| Test.java:148:9:148:11 | out | semmle.label | out | +| Test.java:153:16:153:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:153:24:153:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:154:10:154:32 | toJSONObject(...) : JSONObject | semmle.label | toJSONObject(...) : JSONObject | +| Test.java:154:30:154:31 | in : String | semmle.label | in : String | +| Test.java:155:9:155:11 | out | semmle.label | out | +| Test.java:160:20:160:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:160:32:160:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:161:10:161:28 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:161:26:161:27 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:162:9:162:11 | out | semmle.label | out | +| Test.java:167:16:167:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:167:24:167:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:168:10:168:28 | unescape(...) : String | semmle.label | unescape(...) : String | +| Test.java:168:26:168:27 | in : String | semmle.label | in : String | +| Test.java:169:9:169:11 | out | semmle.label | out | +| Test.java:174:16:174:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:174:24:174:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:175:10:175:36 | toJSONObject(...) : JSONObject | semmle.label | toJSONObject(...) : JSONObject | +| Test.java:175:34:175:35 | in : String | semmle.label | in : String | +| Test.java:176:9:176:11 | out | semmle.label | out | +| Test.java:181:20:181:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:181:32:181:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:182:10:182:32 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:182:30:182:31 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:183:9:183:11 | out | semmle.label | out | +| Test.java:188:16:188:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:188:24:188:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:189:10:189:30 | toJSONObject(...) : JSONObject | semmle.label | toJSONObject(...) : JSONObject | +| Test.java:189:28:189:29 | in : String | semmle.label | in : String | +| Test.java:190:9:190:11 | out | semmle.label | out | +| Test.java:195:20:195:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:195:32:195:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:196:10:196:26 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:196:24:196:25 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:197:9:197:11 | out | semmle.label | out | +| Test.java:202:16:202:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:202:24:202:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:203:10:203:28 | new HTTPTokener(...) : HTTPTokener | semmle.label | new HTTPTokener(...) : HTTPTokener | +| Test.java:203:26:203:27 | in : String | semmle.label | in : String | +| Test.java:204:9:204:11 | out | semmle.label | out | +| Test.java:209:21:209:41 | (...)... : HTTPTokener | semmle.label | (...)... : HTTPTokener | +| Test.java:209:34:209:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:210:10:210:11 | in : HTTPTokener | semmle.label | in : HTTPTokener | +| Test.java:210:10:210:23 | nextToken(...) : String | semmle.label | nextToken(...) : String | +| Test.java:211:9:211:11 | out | semmle.label | out | +| Test.java:216:20:216:55 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:216:32:216:55 | newWithElement(...) : List [] : Object | semmle.label | newWithElement(...) : List [] : Object | +| Test.java:216:47:216:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:217:10:217:26 | new JSONArray(...) : JSONArray | semmle.label | new JSONArray(...) : JSONArray | +| Test.java:217:24:217:25 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:218:9:218:11 | out | semmle.label | out | +| Test.java:223:18:223:51 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:223:28:223:51 | newWithElement(...) : List [] : Object | semmle.label | newWithElement(...) : List [] : Object | +| Test.java:223:43:223:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:224:10:224:26 | new JSONArray(...) : JSONArray | semmle.label | new JSONArray(...) : JSONArray | +| Test.java:224:24:224:25 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:225:9:225:11 | out | semmle.label | out | +| Test.java:230:19:230:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:230:30:230:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:231:10:231:26 | new JSONArray(...) : JSONArray | semmle.label | new JSONArray(...) : JSONArray | +| Test.java:231:24:231:25 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:232:9:232:11 | out | semmle.label | out | +| Test.java:237:21:237:41 | (...)... : JSONTokener | semmle.label | (...)... : JSONTokener | +| Test.java:237:34:237:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:238:10:238:26 | new JSONArray(...) : JSONArray | semmle.label | new JSONArray(...) : JSONArray | +| Test.java:238:24:238:25 | in : JSONTokener | semmle.label | in : JSONTokener | +| Test.java:239:9:239:11 | out | semmle.label | out | +| Test.java:244:16:244:52 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:244:24:244:52 | newWithArrayElement(...) : Object[] [[]] : Object | semmle.label | newWithArrayElement(...) : Object[] [[]] : Object | +| Test.java:244:44:244:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:245:10:245:26 | new JSONArray(...) : JSONArray | semmle.label | new JSONArray(...) : JSONArray | +| Test.java:245:24:245:25 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:246:9:246:11 | out | semmle.label | out | +| Test.java:251:16:251:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:251:24:251:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:252:10:252:26 | new JSONArray(...) : JSONArray | semmle.label | new JSONArray(...) : JSONArray | +| Test.java:252:24:252:25 | in : String | semmle.label | in : String | +| Test.java:253:9:253:11 | out | semmle.label | out | +| Test.java:258:19:258:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:258:30:258:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:259:10:259:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:259:10:259:18 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:260:9:260:11 | out | semmle.label | out | +| Test.java:265:19:265:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:265:30:265:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:266:10:266:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:266:10:266:28 | getBigDecimal(...) : BigDecimal | semmle.label | getBigDecimal(...) : BigDecimal | +| Test.java:267:9:267:11 | out | semmle.label | out | +| Test.java:272:19:272:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:272:30:272:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:273:10:273:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:273:10:273:28 | getBigInteger(...) : BigInteger | semmle.label | getBigInteger(...) : BigInteger | +| Test.java:274:9:274:11 | out | semmle.label | out | +| Test.java:279:19:279:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:279:30:279:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:280:10:280:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:280:10:280:25 | getBoolean(...) : Boolean | semmle.label | getBoolean(...) : Boolean | +| Test.java:281:9:281:11 | out | semmle.label | out | +| Test.java:286:19:286:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:286:30:286:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:287:10:287:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:287:10:287:24 | getDouble(...) : Number | semmle.label | getDouble(...) : Number | +| Test.java:288:9:288:11 | out | semmle.label | out | +| Test.java:293:19:293:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:293:30:293:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:294:10:294:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:294:10:294:28 | getEnum(...) : Enum | semmle.label | getEnum(...) : Enum | +| Test.java:295:9:295:11 | out | semmle.label | out | +| Test.java:300:19:300:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:300:30:300:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:301:10:301:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:301:10:301:23 | getFloat(...) : Number | semmle.label | getFloat(...) : Number | +| Test.java:302:9:302:11 | out | semmle.label | out | +| Test.java:307:19:307:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:307:30:307:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:308:10:308:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:308:10:308:21 | getInt(...) : Number | semmle.label | getInt(...) : Number | +| Test.java:309:9:309:11 | out | semmle.label | out | +| Test.java:314:19:314:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:314:30:314:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:315:10:315:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:315:10:315:27 | getJSONArray(...) : JSONArray | semmle.label | getJSONArray(...) : JSONArray | +| Test.java:316:9:316:11 | out | semmle.label | out | +| Test.java:321:19:321:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:321:30:321:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:322:10:322:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:322:10:322:28 | getJSONObject(...) : JSONObject | semmle.label | getJSONObject(...) : JSONObject | +| Test.java:323:9:323:11 | out | semmle.label | out | +| Test.java:328:19:328:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:328:30:328:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:329:10:329:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:329:10:329:22 | getLong(...) : Number | semmle.label | getLong(...) : Number | +| Test.java:330:9:330:11 | out | semmle.label | out | +| Test.java:335:19:335:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:335:30:335:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:336:10:336:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:336:10:336:24 | getNumber(...) : Number | semmle.label | getNumber(...) : Number | +| Test.java:337:9:337:11 | out | semmle.label | out | +| Test.java:342:19:342:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:342:30:342:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:343:10:343:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:343:10:343:24 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:344:9:344:11 | out | semmle.label | out | +| Test.java:349:19:349:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:349:30:349:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:350:10:350:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:350:10:350:22 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:351:9:351:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:351:20:351:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:356:19:356:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:356:30:356:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:357:10:357:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:357:10:357:22 | join(...) : String | semmle.label | join(...) : String | +| Test.java:358:9:358:11 | out | semmle.label | out | +| Test.java:363:16:363:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:363:24:363:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:365:10:365:26 | join(...) : String | semmle.label | join(...) : String | +| Test.java:365:24:365:25 | in : String | semmle.label | in : String | +| Test.java:366:9:366:11 | out | semmle.label | out | +| Test.java:371:19:371:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:371:30:371:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:372:10:372:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:372:10:372:18 | opt(...) : Object | semmle.label | opt(...) : Object | +| Test.java:373:9:373:11 | out | semmle.label | out | +| Test.java:378:19:378:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:378:30:378:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:379:10:379:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:379:10:379:34 | optBigDecimal(...) : BigDecimal | semmle.label | optBigDecimal(...) : BigDecimal | +| Test.java:380:9:380:11 | out | semmle.label | out | +| Test.java:385:20:385:39 | (...)... : BigDecimal | semmle.label | (...)... : BigDecimal | +| Test.java:385:32:385:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:387:10:387:38 | optBigDecimal(...) : BigDecimal | semmle.label | optBigDecimal(...) : BigDecimal | +| Test.java:387:36:387:37 | in : BigDecimal | semmle.label | in : BigDecimal | +| Test.java:388:9:388:11 | out | semmle.label | out | +| Test.java:393:19:393:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:393:30:393:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:394:10:394:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:394:10:394:34 | optBigInteger(...) : BigInteger | semmle.label | optBigInteger(...) : BigInteger | +| Test.java:395:9:395:11 | out | semmle.label | out | +| Test.java:400:20:400:39 | (...)... : BigInteger | semmle.label | (...)... : BigInteger | +| Test.java:400:32:400:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:402:10:402:38 | optBigInteger(...) : BigInteger | semmle.label | optBigInteger(...) : BigInteger | +| Test.java:402:36:402:37 | in : BigInteger | semmle.label | in : BigInteger | +| Test.java:403:9:403:11 | out | semmle.label | out | +| Test.java:408:19:408:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:408:30:408:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:409:10:409:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:409:10:409:32 | optBoolean(...) : Boolean | semmle.label | optBoolean(...) : Boolean | +| Test.java:410:9:410:11 | out | semmle.label | out | +| Test.java:415:19:415:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:415:30:415:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:416:10:416:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:416:10:416:25 | optBoolean(...) : Boolean | semmle.label | optBoolean(...) : Boolean | +| Test.java:417:9:417:11 | out | semmle.label | out | +| Test.java:422:17:422:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:422:26:422:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:424:10:424:35 | optBoolean(...) : Boolean | semmle.label | optBoolean(...) : Boolean | +| Test.java:424:33:424:34 | in : Boolean | semmle.label | in : Boolean | +| Test.java:425:9:425:11 | out | semmle.label | out | +| Test.java:430:19:430:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:430:30:430:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:431:10:431:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:431:10:431:29 | optDouble(...) : Number | semmle.label | optDouble(...) : Number | +| Test.java:432:9:432:11 | out | semmle.label | out | +| Test.java:437:19:437:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:437:30:437:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:438:10:438:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:438:10:438:24 | optDouble(...) : Number | semmle.label | optDouble(...) : Number | +| Test.java:439:9:439:11 | out | semmle.label | out | +| Test.java:444:16:444:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:444:24:444:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:446:10:446:34 | optDouble(...) : Number | semmle.label | optDouble(...) : Number | +| Test.java:446:32:446:33 | in : Number | semmle.label | in : Number | +| Test.java:447:9:447:11 | out | semmle.label | out | +| Test.java:452:19:452:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:452:30:452:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:453:10:453:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:453:10:453:34 | optEnum(...) : Enum | semmle.label | optEnum(...) : Enum | +| Test.java:454:9:454:11 | out | semmle.label | out | +| Test.java:459:19:459:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:459:30:459:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:460:10:460:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:460:10:460:28 | optEnum(...) : Enum | semmle.label | optEnum(...) : Enum | +| Test.java:461:9:461:11 | out | semmle.label | out | +| Test.java:466:14:466:27 | (...)... : Enum | semmle.label | (...)... : Enum | +| Test.java:466:20:466:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:468:10:468:38 | optEnum(...) : Enum | semmle.label | optEnum(...) : Enum | +| Test.java:468:36:468:37 | in : Enum | semmle.label | in : Enum | +| Test.java:469:9:469:11 | out | semmle.label | out | +| Test.java:474:19:474:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:474:30:474:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:475:10:475:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:475:10:475:29 | optFloat(...) : Number | semmle.label | optFloat(...) : Number | +| Test.java:476:9:476:11 | out | semmle.label | out | +| Test.java:481:19:481:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:481:30:481:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:482:10:482:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:482:10:482:23 | optFloat(...) : Number | semmle.label | optFloat(...) : Number | +| Test.java:483:9:483:11 | out | semmle.label | out | +| Test.java:488:15:488:29 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:488:22:488:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:490:10:490:33 | optFloat(...) : Number | semmle.label | optFloat(...) : Number | +| Test.java:490:31:490:32 | in : Number | semmle.label | in : Number | +| Test.java:491:9:491:11 | out | semmle.label | out | +| Test.java:496:19:496:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:496:30:496:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:497:10:497:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:497:10:497:24 | optInt(...) : Number | semmle.label | optInt(...) : Number | +| Test.java:498:9:498:11 | out | semmle.label | out | +| Test.java:503:19:503:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:503:30:503:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:504:10:504:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:504:10:504:21 | optInt(...) : Number | semmle.label | optInt(...) : Number | +| Test.java:505:9:505:11 | out | semmle.label | out | +| Test.java:510:13:510:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:510:18:510:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:512:10:512:31 | optInt(...) : Number | semmle.label | optInt(...) : Number | +| Test.java:512:29:512:30 | in : Number | semmle.label | in : Number | +| Test.java:513:9:513:11 | out | semmle.label | out | +| Test.java:518:19:518:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:518:30:518:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:519:10:519:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:519:10:519:27 | optJSONArray(...) : JSONArray | semmle.label | optJSONArray(...) : JSONArray | +| Test.java:520:9:520:11 | out | semmle.label | out | +| Test.java:525:19:525:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:525:30:525:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:526:10:526:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:526:10:526:28 | optJSONObject(...) : JSONObject | semmle.label | optJSONObject(...) : JSONObject | +| Test.java:527:9:527:11 | out | semmle.label | out | +| Test.java:532:19:532:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:532:30:532:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:533:10:533:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:533:10:533:26 | optLong(...) : Number | semmle.label | optLong(...) : Number | +| Test.java:534:9:534:11 | out | semmle.label | out | +| Test.java:539:19:539:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:539:30:539:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:540:10:540:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:540:10:540:22 | optLong(...) : Number | semmle.label | optLong(...) : Number | +| Test.java:541:9:541:11 | out | semmle.label | out | +| Test.java:546:14:546:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:546:20:546:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:548:10:548:32 | optLong(...) : Number | semmle.label | optLong(...) : Number | +| Test.java:548:30:548:31 | in : Number | semmle.label | in : Number | +| Test.java:549:9:549:11 | out | semmle.label | out | +| Test.java:554:19:554:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:554:30:554:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:555:10:555:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:555:10:555:30 | optNumber(...) : Number | semmle.label | optNumber(...) : Number | +| Test.java:556:9:556:11 | out | semmle.label | out | +| Test.java:561:19:561:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:561:30:561:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:562:10:562:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:562:10:562:24 | optNumber(...) : Number | semmle.label | optNumber(...) : Number | +| Test.java:563:9:563:11 | out | semmle.label | out | +| Test.java:568:16:568:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:568:24:568:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:570:10:570:34 | optNumber(...) : Number | semmle.label | optNumber(...) : Number | +| Test.java:570:32:570:33 | in : Number | semmle.label | in : Number | +| Test.java:571:9:571:11 | out | semmle.label | out | +| Test.java:576:19:576:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:576:30:576:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:577:10:577:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:577:10:577:34 | optQuery(...) : Object | semmle.label | optQuery(...) : Object | +| Test.java:578:9:578:11 | out | semmle.label | out | +| Test.java:583:19:583:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:583:30:583:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:584:10:584:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:584:10:584:39 | optQuery(...) : Object | semmle.label | optQuery(...) : Object | +| Test.java:585:9:585:11 | out | semmle.label | out | +| Test.java:590:19:590:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:590:30:590:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:591:10:591:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:591:10:591:30 | optString(...) : String | semmle.label | optString(...) : String | +| Test.java:592:9:592:11 | out | semmle.label | out | +| Test.java:597:19:597:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:597:30:597:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:598:10:598:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:598:10:598:24 | optString(...) : String | semmle.label | optString(...) : String | +| Test.java:599:9:599:11 | out | semmle.label | out | +| Test.java:604:16:604:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:604:24:604:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:606:10:606:34 | optString(...) : String | semmle.label | optString(...) : String | +| Test.java:606:32:606:33 | in : String | semmle.label | in : String | +| Test.java:607:9:607:11 | out | semmle.label | out | +| Test.java:612:20:612:55 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:612:32:612:55 | newWithElement(...) : List [] : Object | semmle.label | newWithElement(...) : List [] : Object | +| Test.java:612:47:612:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:613:4:613:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:613:12:613:13 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:614:9:614:11 | out | semmle.label | out | +| Test.java:619:13:619:40 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:619:18:619:40 | newWithMapKey(...) : Map [] : Object | semmle.label | newWithMapKey(...) : Map [] : Object | +| Test.java:619:32:619:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:620:4:620:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:620:12:620:13 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:621:9:621:11 | out | semmle.label | out | +| Test.java:626:13:626:42 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:626:18:626:42 | newWithMapValue(...) : Map [] : Object | semmle.label | newWithMapValue(...) : Map [] : Object | +| Test.java:626:34:626:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:627:4:627:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:627:12:627:13 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:628:9:628:11 | out | semmle.label | out | +| Test.java:633:16:633:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:633:24:633:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:634:4:634:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:634:12:634:13 | in : Object | semmle.label | in : Object | +| Test.java:635:9:635:11 | out | semmle.label | out | +| Test.java:640:17:640:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:640:26:640:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:641:4:641:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:641:12:641:13 | in : Boolean | semmle.label | in : Boolean | +| Test.java:642:9:642:11 | out | semmle.label | out | +| Test.java:647:16:647:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:647:24:647:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:648:4:648:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:648:12:648:13 | in : Number | semmle.label | in : Number | +| Test.java:649:9:649:11 | out | semmle.label | out | +| Test.java:654:15:654:29 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:654:22:654:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:655:4:655:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:655:12:655:13 | in : Number | semmle.label | in : Number | +| Test.java:656:9:656:11 | out | semmle.label | out | +| Test.java:661:13:661:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:661:18:661:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:662:4:662:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:662:12:662:13 | in : Number | semmle.label | in : Number | +| Test.java:663:9:663:11 | out | semmle.label | out | +| Test.java:668:20:668:55 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:668:32:668:55 | newWithElement(...) : List [] : Object | semmle.label | newWithElement(...) : List [] : Object | +| Test.java:668:47:668:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:669:4:669:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:669:15:669:16 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:670:9:670:11 | out | semmle.label | out | +| Test.java:675:13:675:40 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:675:18:675:40 | newWithMapKey(...) : Map [] : Object | semmle.label | newWithMapKey(...) : Map [] : Object | +| Test.java:675:32:675:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:676:4:676:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:676:15:676:16 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:677:9:677:11 | out | semmle.label | out | +| Test.java:682:13:682:42 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:682:18:682:42 | newWithMapValue(...) : Map [] : Object | semmle.label | newWithMapValue(...) : Map [] : Object | +| Test.java:682:34:682:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:683:4:683:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:683:15:683:16 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:684:9:684:11 | out | semmle.label | out | +| Test.java:689:16:689:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:689:24:689:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:690:4:690:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:690:15:690:16 | in : Object | semmle.label | in : Object | +| Test.java:691:9:691:11 | out | semmle.label | out | +| Test.java:696:17:696:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:696:26:696:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:697:4:697:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:697:15:697:16 | in : Boolean | semmle.label | in : Boolean | +| Test.java:698:9:698:11 | out | semmle.label | out | +| Test.java:703:16:703:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:703:24:703:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:704:4:704:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:704:15:704:16 | in : Number | semmle.label | in : Number | +| Test.java:705:9:705:11 | out | semmle.label | out | +| Test.java:710:15:710:29 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:710:22:710:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:711:4:711:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:711:15:711:16 | in : Number | semmle.label | in : Number | +| Test.java:712:9:712:11 | out | semmle.label | out | +| Test.java:717:13:717:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:717:18:717:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:718:4:718:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:718:15:718:16 | in : Number | semmle.label | in : Number | +| Test.java:719:9:719:11 | out | semmle.label | out | +| Test.java:724:14:724:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:724:20:724:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:725:4:725:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:725:15:725:16 | in : Number | semmle.label | in : Number | +| Test.java:726:9:726:11 | out | semmle.label | out | +| Test.java:731:14:731:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:731:20:731:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:732:4:732:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:732:12:732:13 | in : Number | semmle.label | in : Number | +| Test.java:733:9:733:11 | out | semmle.label | out | +| Test.java:738:19:738:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:738:30:738:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:739:10:739:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:739:10:739:22 | put(...) : JSONArray | semmle.label | put(...) : JSONArray | +| Test.java:740:9:740:11 | out | semmle.label | out | +| Test.java:745:19:745:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:745:30:745:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:746:10:746:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:746:10:746:19 | put(...) : JSONArray | semmle.label | put(...) : JSONArray | +| Test.java:747:9:747:11 | out | semmle.label | out | +| Test.java:752:19:752:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:752:30:752:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:753:10:753:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:753:10:753:21 | put(...) : JSONArray | semmle.label | put(...) : JSONArray | +| Test.java:754:9:754:11 | out | semmle.label | out | +| Test.java:759:19:759:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:759:30:759:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:760:10:760:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:760:10:760:20 | put(...) : JSONArray | semmle.label | put(...) : JSONArray | +| Test.java:761:9:761:11 | out | semmle.label | out | +| Test.java:766:19:766:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:766:30:766:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:767:10:767:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:767:10:767:25 | put(...) : JSONArray | semmle.label | put(...) : JSONArray | +| Test.java:768:9:768:11 | out | semmle.label | out | +| Test.java:773:19:773:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:773:30:773:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:774:10:774:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:774:10:774:22 | put(...) : JSONArray | semmle.label | put(...) : JSONArray | +| Test.java:775:9:775:11 | out | semmle.label | out | +| Test.java:780:19:780:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:780:30:780:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:781:10:781:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:781:10:781:24 | put(...) : JSONArray | semmle.label | put(...) : JSONArray | +| Test.java:782:9:782:11 | out | semmle.label | out | +| Test.java:787:19:787:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:787:30:787:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:788:10:788:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:788:10:788:23 | put(...) : JSONArray | semmle.label | put(...) : JSONArray | +| Test.java:789:9:789:11 | out | semmle.label | out | +| Test.java:794:19:794:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:794:30:794:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:795:10:795:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:795:10:795:21 | put(...) : JSONArray | semmle.label | put(...) : JSONArray | +| Test.java:796:9:796:11 | out | semmle.label | out | +| Test.java:801:19:801:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:801:30:801:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:802:10:802:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:802:10:802:32 | put(...) : JSONArray | semmle.label | put(...) : JSONArray | +| Test.java:803:9:803:11 | out | semmle.label | out | +| Test.java:808:19:808:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:808:30:808:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:809:10:809:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:809:10:809:29 | put(...) : JSONArray | semmle.label | put(...) : JSONArray | +| Test.java:810:9:810:11 | out | semmle.label | out | +| Test.java:815:19:815:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:815:30:815:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:816:10:816:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:816:10:816:36 | put(...) : JSONArray | semmle.label | put(...) : JSONArray | +| Test.java:817:9:817:11 | out | semmle.label | out | +| Test.java:822:19:822:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:822:30:822:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:823:10:823:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:823:10:823:18 | put(...) : JSONArray | semmle.label | put(...) : JSONArray | +| Test.java:824:9:824:11 | out | semmle.label | out | +| Test.java:829:19:829:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:829:30:829:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:830:10:830:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:830:10:830:29 | put(...) : JSONArray | semmle.label | put(...) : JSONArray | +| Test.java:831:9:831:11 | out | semmle.label | out | +| Test.java:836:19:836:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:836:30:836:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:837:10:837:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:837:10:837:26 | put(...) : JSONArray | semmle.label | put(...) : JSONArray | +| Test.java:838:9:838:11 | out | semmle.label | out | +| Test.java:843:19:843:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:843:30:843:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:844:10:844:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:844:10:844:33 | put(...) : JSONArray | semmle.label | put(...) : JSONArray | +| Test.java:845:9:845:11 | out | semmle.label | out | +| Test.java:850:20:850:55 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:850:32:850:55 | newWithElement(...) : List [] : Object | semmle.label | newWithElement(...) : List [] : Object | +| Test.java:850:47:850:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:851:4:851:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:851:15:851:16 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:852:9:852:11 | out | semmle.label | out | +| Test.java:857:18:857:51 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:857:28:857:51 | newWithElement(...) : List [] : Object | semmle.label | newWithElement(...) : List [] : Object | +| Test.java:857:43:857:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:858:4:858:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:858:15:858:16 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:859:9:859:11 | out | semmle.label | out | +| Test.java:864:19:864:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:864:30:864:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:865:4:865:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:865:15:865:16 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:866:9:866:11 | out | semmle.label | out | +| Test.java:871:16:871:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:871:24:871:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:872:4:872:6 | out [post update] : JSONArray | semmle.label | out [post update] : JSONArray | +| Test.java:872:15:872:16 | in : Object | semmle.label | in : Object | +| Test.java:873:9:873:11 | out | semmle.label | out | +| Test.java:878:19:878:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:878:30:878:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:879:10:879:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:879:10:879:32 | putAll(...) : JSONArray | semmle.label | putAll(...) : JSONArray | +| Test.java:880:9:880:11 | out | semmle.label | out | +| Test.java:885:19:885:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:885:30:885:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:886:10:886:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:886:10:886:35 | putAll(...) : JSONArray | semmle.label | putAll(...) : JSONArray | +| Test.java:887:9:887:11 | out | semmle.label | out | +| Test.java:892:19:892:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:892:30:892:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:893:10:893:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:893:10:893:34 | putAll(...) : JSONArray | semmle.label | putAll(...) : JSONArray | +| Test.java:894:9:894:11 | out | semmle.label | out | +| Test.java:899:19:899:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:899:30:899:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:900:10:900:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:900:10:900:36 | putAll(...) : JSONArray | semmle.label | putAll(...) : JSONArray | +| Test.java:901:9:901:11 | out | semmle.label | out | +| Test.java:906:19:906:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:906:30:906:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:907:10:907:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:907:10:907:31 | query(...) : Object | semmle.label | query(...) : Object | +| Test.java:908:9:908:11 | out | semmle.label | out | +| Test.java:913:19:913:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:913:30:913:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:914:10:914:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:914:10:914:36 | query(...) : Object | semmle.label | query(...) : Object | +| Test.java:915:9:915:11 | out | semmle.label | out | +| Test.java:920:19:920:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:920:30:920:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:921:10:921:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:921:10:921:21 | remove(...) : Object | semmle.label | remove(...) : Object | +| Test.java:922:9:922:11 | out | semmle.label | out | +| Test.java:927:19:927:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:927:30:927:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:928:10:928:11 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:928:10:928:30 | toJSONObject(...) : JSONObject | semmle.label | toJSONObject(...) : JSONObject | +| Test.java:929:9:929:11 | out | semmle.label | out | +| Test.java:934:19:934:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:934:30:934:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:936:10:936:34 | toJSONObject(...) : JSONObject | semmle.label | toJSONObject(...) : JSONObject | +| Test.java:936:32:936:33 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:937:9:937:11 | out | semmle.label | out | +| Test.java:942:13:942:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:942:18:942:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:944:10:944:30 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:944:28:944:29 | in : Number | semmle.label | in : Number | +| Test.java:945:9:945:11 | out | semmle.label | out | +| Test.java:950:19:950:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:950:30:950:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:951:4:951:5 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:951:13:951:15 | out [post update] : Writer | semmle.label | out [post update] : Writer | +| Test.java:952:9:952:11 | out | semmle.label | out | +| Test.java:957:19:957:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:957:30:957:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:958:4:958:5 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:958:13:958:15 | out [post update] : Writer | semmle.label | out [post update] : Writer | +| Test.java:959:9:959:11 | out | semmle.label | out | +| Test.java:964:16:964:31 | (...)... : Writer | semmle.label | (...)... : Writer | +| Test.java:964:24:964:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:966:10:966:33 | write(...) : Writer | semmle.label | write(...) : Writer | +| Test.java:966:25:966:26 | in : Writer | semmle.label | in : Writer | +| Test.java:967:9:967:11 | out | semmle.label | out | +| Test.java:972:16:972:31 | (...)... : Writer | semmle.label | (...)... : Writer | +| Test.java:972:24:972:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:974:10:974:27 | write(...) : Writer | semmle.label | write(...) : Writer | +| Test.java:974:25:974:26 | in : Writer | semmle.label | in : Writer | +| Test.java:975:9:975:11 | out | semmle.label | out | +| Test.java:980:20:980:39 | (...)... : XMLTokener | semmle.label | (...)... : XMLTokener | +| Test.java:980:32:980:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:981:10:981:38 | toJSONArray(...) : JSONArray | semmle.label | toJSONArray(...) : JSONArray | +| Test.java:981:29:981:30 | in : XMLTokener | semmle.label | in : XMLTokener | +| Test.java:982:9:982:11 | out | semmle.label | out | +| Test.java:987:20:987:39 | (...)... : XMLTokener | semmle.label | (...)... : XMLTokener | +| Test.java:987:32:987:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:988:10:988:31 | toJSONArray(...) : JSONArray | semmle.label | toJSONArray(...) : JSONArray | +| Test.java:988:29:988:30 | in : XMLTokener | semmle.label | in : XMLTokener | +| Test.java:989:9:989:11 | out | semmle.label | out | +| Test.java:994:16:994:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:994:24:994:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:995:10:995:38 | toJSONArray(...) : JSONArray | semmle.label | toJSONArray(...) : JSONArray | +| Test.java:995:29:995:30 | in : String | semmle.label | in : String | +| Test.java:996:9:996:11 | out | semmle.label | out | +| Test.java:1001:16:1001:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1001:24:1001:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1002:10:1002:31 | toJSONArray(...) : JSONArray | semmle.label | toJSONArray(...) : JSONArray | +| Test.java:1002:29:1002:30 | in : String | semmle.label | in : String | +| Test.java:1003:9:1003:11 | out | semmle.label | out | +| Test.java:1008:20:1008:39 | (...)... : XMLTokener | semmle.label | (...)... : XMLTokener | +| Test.java:1008:32:1008:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1009:10:1009:39 | toJSONObject(...) : JSONObject | semmle.label | toJSONObject(...) : JSONObject | +| Test.java:1009:30:1009:31 | in : XMLTokener | semmle.label | in : XMLTokener | +| Test.java:1010:9:1010:11 | out | semmle.label | out | +| Test.java:1015:20:1015:39 | (...)... : XMLTokener | semmle.label | (...)... : XMLTokener | +| Test.java:1015:32:1015:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1016:10:1016:32 | toJSONObject(...) : JSONObject | semmle.label | toJSONObject(...) : JSONObject | +| Test.java:1016:30:1016:31 | in : XMLTokener | semmle.label | in : XMLTokener | +| Test.java:1017:9:1017:11 | out | semmle.label | out | +| Test.java:1022:16:1022:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1022:24:1022:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1023:10:1023:39 | toJSONObject(...) : JSONObject | semmle.label | toJSONObject(...) : JSONObject | +| Test.java:1023:30:1023:31 | in : String | semmle.label | in : String | +| Test.java:1024:9:1024:11 | out | semmle.label | out | +| Test.java:1029:16:1029:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1029:24:1029:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1030:10:1030:32 | toJSONObject(...) : JSONObject | semmle.label | toJSONObject(...) : JSONObject | +| Test.java:1030:30:1030:31 | in : String | semmle.label | in : String | +| Test.java:1031:9:1031:11 | out | semmle.label | out | +| Test.java:1036:20:1036:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1036:32:1036:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1037:10:1037:28 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:1037:26:1037:27 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1038:9:1038:11 | out | semmle.label | out | +| Test.java:1043:19:1043:37 | (...)... : JSONArray | semmle.label | (...)... : JSONArray | +| Test.java:1043:30:1043:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1044:10:1044:28 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:1044:26:1044:27 | in : JSONArray | semmle.label | in : JSONArray | +| Test.java:1045:9:1045:11 | out | semmle.label | out | +| Test.java:1050:20:1050:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1050:32:1050:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1051:10:1051:43 | new JSONObject(...) : JSONObject | semmle.label | new JSONObject(...) : JSONObject | +| Test.java:1051:25:1051:26 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1052:9:1052:11 | out | semmle.label | out | +| Test.java:1057:18:1057:56 | (...)... : String[] [[]] : Object | semmle.label | (...)... : String[] [[]] : Object | +| Test.java:1057:28:1057:56 | newWithArrayElement(...) : Object[] [[]] : Object | semmle.label | newWithArrayElement(...) : Object[] [[]] : Object | +| Test.java:1057:48:1057:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1058:10:1058:45 | new JSONObject(...) : JSONObject | semmle.label | new JSONObject(...) : JSONObject | +| Test.java:1058:43:1058:44 | in : String[] [[]] : Object | semmle.label | in : String[] [[]] : Object | +| Test.java:1059:9:1059:11 | out | semmle.label | out | +| Test.java:1064:21:1064:41 | (...)... : JSONTokener | semmle.label | (...)... : JSONTokener | +| Test.java:1064:34:1064:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1065:10:1065:27 | new JSONObject(...) : JSONObject | semmle.label | new JSONObject(...) : JSONObject | +| Test.java:1065:25:1065:26 | in : JSONTokener | semmle.label | in : JSONTokener | +| Test.java:1066:9:1066:11 | out | semmle.label | out | +| Test.java:1071:13:1071:40 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:1071:18:1071:40 | newWithMapKey(...) : Map [] : Object | semmle.label | newWithMapKey(...) : Map [] : Object | +| Test.java:1071:32:1071:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1072:10:1072:27 | new JSONObject(...) : JSONObject | semmle.label | new JSONObject(...) : JSONObject | +| Test.java:1072:25:1072:26 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:1073:9:1073:11 | out | semmle.label | out | +| Test.java:1078:13:1078:42 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:1078:18:1078:42 | newWithMapValue(...) : Map [] : Object | semmle.label | newWithMapValue(...) : Map [] : Object | +| Test.java:1078:34:1078:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1079:10:1079:27 | new JSONObject(...) : JSONObject | semmle.label | new JSONObject(...) : JSONObject | +| Test.java:1079:25:1079:26 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:1080:9:1080:11 | out | semmle.label | out | +| Test.java:1085:16:1085:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1085:24:1085:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1086:10:1086:27 | new JSONObject(...) : JSONObject | semmle.label | new JSONObject(...) : JSONObject | +| Test.java:1086:25:1086:26 | in : Object | semmle.label | in : Object | +| Test.java:1087:9:1087:11 | out | semmle.label | out | +| Test.java:1092:16:1092:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1092:24:1092:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1093:10:1093:43 | new JSONObject(...) : JSONObject | semmle.label | new JSONObject(...) : JSONObject | +| Test.java:1093:25:1093:26 | in : Object | semmle.label | in : Object | +| Test.java:1094:9:1094:11 | out | semmle.label | out | +| Test.java:1099:18:1099:56 | (...)... : String[] [[]] : Object | semmle.label | (...)... : String[] [[]] : Object | +| Test.java:1099:28:1099:56 | newWithArrayElement(...) : Object[] [[]] : Object | semmle.label | newWithArrayElement(...) : Object[] [[]] : Object | +| Test.java:1099:48:1099:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1100:10:1100:41 | new JSONObject(...) : JSONObject | semmle.label | new JSONObject(...) : JSONObject | +| Test.java:1100:39:1100:40 | in : String[] [[]] : Object | semmle.label | in : String[] [[]] : Object | +| Test.java:1101:9:1101:11 | out | semmle.label | out | +| Test.java:1106:16:1106:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1106:24:1106:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1107:10:1107:27 | new JSONObject(...) : JSONObject | semmle.label | new JSONObject(...) : JSONObject | +| Test.java:1107:25:1107:26 | in : String | semmle.label | in : String | +| Test.java:1108:9:1108:11 | out | semmle.label | out | +| Test.java:1113:16:1113:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1113:24:1113:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1114:10:1114:41 | new JSONObject(...) : JSONObject | semmle.label | new JSONObject(...) : JSONObject | +| Test.java:1114:25:1114:26 | in : String | semmle.label | in : String | +| Test.java:1115:9:1115:11 | out | semmle.label | out | +| Test.java:1120:20:1120:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1120:32:1120:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1121:10:1121:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1121:10:1121:34 | accumulate(...) : JSONObject | semmle.label | accumulate(...) : JSONObject | +| Test.java:1122:9:1122:11 | out | semmle.label | out | +| Test.java:1127:16:1127:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1127:24:1127:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1128:4:1128:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1128:19:1128:20 | in : String | semmle.label | in : String | +| Test.java:1129:9:1129:11 | out | semmle.label | out | +| Test.java:1134:16:1134:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1134:24:1134:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1135:4:1135:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1135:25:1135:26 | in : Object | semmle.label | in : Object | +| Test.java:1136:9:1136:11 | out | semmle.label | out | +| Test.java:1141:20:1141:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1141:32:1141:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1142:10:1142:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1142:10:1142:30 | append(...) : JSONObject | semmle.label | append(...) : JSONObject | +| Test.java:1143:9:1143:11 | out | semmle.label | out | +| Test.java:1148:16:1148:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1148:24:1148:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1149:4:1149:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1149:15:1149:16 | in : String | semmle.label | in : String | +| Test.java:1150:9:1150:11 | out | semmle.label | out | +| Test.java:1155:16:1155:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1155:24:1155:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1156:4:1156:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1156:21:1156:22 | in : Object | semmle.label | in : Object | +| Test.java:1157:9:1157:11 | out | semmle.label | out | +| Test.java:1162:16:1162:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1162:24:1162:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1163:10:1163:38 | doubleToString(...) : String | semmle.label | doubleToString(...) : String | +| Test.java:1163:36:1163:37 | in : Number | semmle.label | in : Number | +| Test.java:1164:9:1164:11 | out | semmle.label | out | +| Test.java:1169:20:1169:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1169:32:1169:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1170:10:1170:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1170:10:1170:21 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:1171:9:1171:11 | out | semmle.label | out | +| Test.java:1176:20:1176:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1176:32:1176:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1177:10:1177:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1177:10:1177:31 | getBigDecimal(...) : BigDecimal | semmle.label | getBigDecimal(...) : BigDecimal | +| Test.java:1178:9:1178:11 | out | semmle.label | out | +| Test.java:1183:20:1183:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1183:32:1183:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1184:10:1184:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1184:10:1184:31 | getBigInteger(...) : BigInteger | semmle.label | getBigInteger(...) : BigInteger | +| Test.java:1185:9:1185:11 | out | semmle.label | out | +| Test.java:1190:20:1190:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1190:32:1190:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1191:10:1191:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1191:10:1191:28 | getBoolean(...) : Boolean | semmle.label | getBoolean(...) : Boolean | +| Test.java:1192:9:1192:11 | out | semmle.label | out | +| Test.java:1197:20:1197:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1197:32:1197:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1198:10:1198:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1198:10:1198:27 | getDouble(...) : Number | semmle.label | getDouble(...) : Number | +| Test.java:1199:9:1199:11 | out | semmle.label | out | +| Test.java:1204:20:1204:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1204:32:1204:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1205:10:1205:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1205:10:1205:31 | getEnum(...) : Enum | semmle.label | getEnum(...) : Enum | +| Test.java:1206:9:1206:11 | out | semmle.label | out | +| Test.java:1211:20:1211:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1211:32:1211:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1212:10:1212:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1212:10:1212:26 | getFloat(...) : Number | semmle.label | getFloat(...) : Number | +| Test.java:1213:9:1213:11 | out | semmle.label | out | +| Test.java:1218:20:1218:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1218:32:1218:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1219:10:1219:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1219:10:1219:24 | getInt(...) : Number | semmle.label | getInt(...) : Number | +| Test.java:1220:9:1220:11 | out | semmle.label | out | +| Test.java:1225:20:1225:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1225:32:1225:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1226:10:1226:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1226:10:1226:30 | getJSONArray(...) : JSONArray | semmle.label | getJSONArray(...) : JSONArray | +| Test.java:1227:9:1227:11 | out | semmle.label | out | +| Test.java:1232:20:1232:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1232:32:1232:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1233:10:1233:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1233:10:1233:31 | getJSONObject(...) : JSONObject | semmle.label | getJSONObject(...) : JSONObject | +| Test.java:1234:9:1234:11 | out | semmle.label | out | +| Test.java:1239:20:1239:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1239:32:1239:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1240:10:1240:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1240:10:1240:25 | getLong(...) : Number | semmle.label | getLong(...) : Number | +| Test.java:1241:9:1241:11 | out | semmle.label | out | +| Test.java:1246:16:1246:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1246:24:1246:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1247:10:1247:32 | getNames(...) : String[] [[]] : Object | semmle.label | getNames(...) : String[] [[]] : Object | +| Test.java:1247:30:1247:31 | in : Object | semmle.label | in : Object | +| Test.java:1248:9:1248:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1248:25:1248:27 | out : String[] [[]] : Object | semmle.label | out : String[] [[]] : Object | +| Test.java:1253:20:1253:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1253:32:1253:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1254:10:1254:32 | getNames(...) : String[] [[]] : Object | semmle.label | getNames(...) : String[] [[]] : Object | +| Test.java:1254:30:1254:31 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1255:9:1255:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1255:25:1255:27 | out : String[] [[]] : Object | semmle.label | out : String[] [[]] : Object | +| Test.java:1260:20:1260:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1260:32:1260:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1261:10:1261:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1261:10:1261:27 | getNumber(...) : Number | semmle.label | getNumber(...) : Number | +| Test.java:1262:9:1262:11 | out | semmle.label | out | +| Test.java:1267:20:1267:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1267:32:1267:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1268:10:1268:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1268:10:1268:27 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:1269:9:1269:11 | out | semmle.label | out | +| Test.java:1274:20:1274:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1274:32:1274:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1275:10:1275:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1275:10:1275:27 | increment(...) : JSONObject | semmle.label | increment(...) : JSONObject | +| Test.java:1276:9:1276:11 | out | semmle.label | out | +| Test.java:1281:16:1281:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1281:24:1281:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1282:4:1282:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1282:18:1282:19 | in : String | semmle.label | in : String | +| Test.java:1283:9:1283:11 | out | semmle.label | out | +| Test.java:1288:20:1288:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1288:32:1288:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1289:10:1289:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1289:10:1289:20 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:1290:9:1290:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1290:20:1290:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:1295:20:1295:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1295:32:1295:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1296:10:1296:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1296:10:1296:18 | keys(...) : Iterator [] : Object | semmle.label | keys(...) : Iterator [] : Object | +| Test.java:1297:9:1297:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1297:20:1297:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:1302:20:1302:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1302:32:1302:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1303:10:1303:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1303:10:1303:19 | names(...) : JSONArray | semmle.label | names(...) : JSONArray | +| Test.java:1304:9:1304:11 | out | semmle.label | out | +| Test.java:1309:16:1309:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1309:24:1309:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1310:10:1310:38 | numberToString(...) : String | semmle.label | numberToString(...) : String | +| Test.java:1310:36:1310:37 | in : Number | semmle.label | in : Number | +| Test.java:1311:9:1311:11 | out | semmle.label | out | +| Test.java:1316:20:1316:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1316:32:1316:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1317:10:1317:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1317:10:1317:21 | opt(...) : Object | semmle.label | opt(...) : Object | +| Test.java:1318:9:1318:11 | out | semmle.label | out | +| Test.java:1323:20:1323:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1323:32:1323:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1324:10:1324:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1324:10:1324:37 | optBigDecimal(...) : BigDecimal | semmle.label | optBigDecimal(...) : BigDecimal | +| Test.java:1325:9:1325:11 | out | semmle.label | out | +| Test.java:1330:20:1330:39 | (...)... : BigDecimal | semmle.label | (...)... : BigDecimal | +| Test.java:1330:32:1330:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1332:10:1332:41 | optBigDecimal(...) : BigDecimal | semmle.label | optBigDecimal(...) : BigDecimal | +| Test.java:1332:39:1332:40 | in : BigDecimal | semmle.label | in : BigDecimal | +| Test.java:1333:9:1333:11 | out | semmle.label | out | +| Test.java:1338:20:1338:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1338:32:1338:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1339:10:1339:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1339:10:1339:37 | optBigInteger(...) : BigInteger | semmle.label | optBigInteger(...) : BigInteger | +| Test.java:1340:9:1340:11 | out | semmle.label | out | +| Test.java:1345:20:1345:39 | (...)... : BigInteger | semmle.label | (...)... : BigInteger | +| Test.java:1345:32:1345:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1347:10:1347:41 | optBigInteger(...) : BigInteger | semmle.label | optBigInteger(...) : BigInteger | +| Test.java:1347:39:1347:40 | in : BigInteger | semmle.label | in : BigInteger | +| Test.java:1348:9:1348:11 | out | semmle.label | out | +| Test.java:1353:20:1353:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1353:32:1353:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1354:10:1354:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1354:10:1354:35 | optBoolean(...) : Boolean | semmle.label | optBoolean(...) : Boolean | +| Test.java:1355:9:1355:11 | out | semmle.label | out | +| Test.java:1360:20:1360:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1360:32:1360:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1361:10:1361:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1361:10:1361:28 | optBoolean(...) : Boolean | semmle.label | optBoolean(...) : Boolean | +| Test.java:1362:9:1362:11 | out | semmle.label | out | +| Test.java:1367:17:1367:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:1367:26:1367:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1369:10:1369:38 | optBoolean(...) : Boolean | semmle.label | optBoolean(...) : Boolean | +| Test.java:1369:36:1369:37 | in : Boolean | semmle.label | in : Boolean | +| Test.java:1370:9:1370:11 | out | semmle.label | out | +| Test.java:1375:20:1375:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1375:32:1375:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1376:10:1376:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1376:10:1376:32 | optDouble(...) : Number | semmle.label | optDouble(...) : Number | +| Test.java:1377:9:1377:11 | out | semmle.label | out | +| Test.java:1382:20:1382:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1382:32:1382:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1383:10:1383:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1383:10:1383:27 | optDouble(...) : Number | semmle.label | optDouble(...) : Number | +| Test.java:1384:9:1384:11 | out | semmle.label | out | +| Test.java:1389:16:1389:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1389:24:1389:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1391:10:1391:37 | optDouble(...) : Number | semmle.label | optDouble(...) : Number | +| Test.java:1391:35:1391:36 | in : Number | semmle.label | in : Number | +| Test.java:1392:9:1392:11 | out | semmle.label | out | +| Test.java:1397:20:1397:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1397:32:1397:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1398:10:1398:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1398:10:1398:37 | optEnum(...) : Enum | semmle.label | optEnum(...) : Enum | +| Test.java:1399:9:1399:11 | out | semmle.label | out | +| Test.java:1404:20:1404:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1404:32:1404:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1405:10:1405:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1405:10:1405:31 | optEnum(...) : Enum | semmle.label | optEnum(...) : Enum | +| Test.java:1406:9:1406:11 | out | semmle.label | out | +| Test.java:1411:14:1411:27 | (...)... : Enum | semmle.label | (...)... : Enum | +| Test.java:1411:20:1411:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1413:10:1413:41 | optEnum(...) : Enum | semmle.label | optEnum(...) : Enum | +| Test.java:1413:39:1413:40 | in : Enum | semmle.label | in : Enum | +| Test.java:1414:9:1414:11 | out | semmle.label | out | +| Test.java:1419:20:1419:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1419:32:1419:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1420:10:1420:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1420:10:1420:32 | optFloat(...) : Number | semmle.label | optFloat(...) : Number | +| Test.java:1421:9:1421:11 | out | semmle.label | out | +| Test.java:1426:20:1426:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1426:32:1426:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1427:10:1427:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1427:10:1427:26 | optFloat(...) : Number | semmle.label | optFloat(...) : Number | +| Test.java:1428:9:1428:11 | out | semmle.label | out | +| Test.java:1433:15:1433:29 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1433:22:1433:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1435:10:1435:36 | optFloat(...) : Number | semmle.label | optFloat(...) : Number | +| Test.java:1435:34:1435:35 | in : Number | semmle.label | in : Number | +| Test.java:1436:9:1436:11 | out | semmle.label | out | +| Test.java:1441:20:1441:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1441:32:1441:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1442:10:1442:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1442:10:1442:27 | optInt(...) : Number | semmle.label | optInt(...) : Number | +| Test.java:1443:9:1443:11 | out | semmle.label | out | +| Test.java:1448:20:1448:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1448:32:1448:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1449:10:1449:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1449:10:1449:24 | optInt(...) : Number | semmle.label | optInt(...) : Number | +| Test.java:1450:9:1450:11 | out | semmle.label | out | +| Test.java:1455:13:1455:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1455:18:1455:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1457:10:1457:34 | optInt(...) : Number | semmle.label | optInt(...) : Number | +| Test.java:1457:32:1457:33 | in : Number | semmle.label | in : Number | +| Test.java:1458:9:1458:11 | out | semmle.label | out | +| Test.java:1463:20:1463:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1463:32:1463:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1464:10:1464:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1464:10:1464:30 | optJSONArray(...) : JSONArray | semmle.label | optJSONArray(...) : JSONArray | +| Test.java:1465:9:1465:11 | out | semmle.label | out | +| Test.java:1470:20:1470:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1470:32:1470:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1471:10:1471:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1471:10:1471:31 | optJSONObject(...) : JSONObject | semmle.label | optJSONObject(...) : JSONObject | +| Test.java:1472:9:1472:11 | out | semmle.label | out | +| Test.java:1477:20:1477:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1477:32:1477:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1478:10:1478:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1478:10:1478:29 | optLong(...) : Number | semmle.label | optLong(...) : Number | +| Test.java:1479:9:1479:11 | out | semmle.label | out | +| Test.java:1484:20:1484:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1484:32:1484:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1485:10:1485:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1485:10:1485:25 | optLong(...) : Number | semmle.label | optLong(...) : Number | +| Test.java:1486:9:1486:11 | out | semmle.label | out | +| Test.java:1491:14:1491:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1491:20:1491:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1493:10:1493:35 | optLong(...) : Number | semmle.label | optLong(...) : Number | +| Test.java:1493:33:1493:34 | in : Number | semmle.label | in : Number | +| Test.java:1494:9:1494:11 | out | semmle.label | out | +| Test.java:1499:20:1499:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1499:32:1499:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1500:10:1500:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1500:10:1500:33 | optNumber(...) : Number | semmle.label | optNumber(...) : Number | +| Test.java:1501:9:1501:11 | out | semmle.label | out | +| Test.java:1506:20:1506:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1506:32:1506:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1507:10:1507:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1507:10:1507:27 | optNumber(...) : Number | semmle.label | optNumber(...) : Number | +| Test.java:1508:9:1508:11 | out | semmle.label | out | +| Test.java:1513:16:1513:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1513:24:1513:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1515:10:1515:37 | optNumber(...) : Number | semmle.label | optNumber(...) : Number | +| Test.java:1515:35:1515:36 | in : Number | semmle.label | in : Number | +| Test.java:1516:9:1516:11 | out | semmle.label | out | +| Test.java:1521:20:1521:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1521:32:1521:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1522:10:1522:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1522:10:1522:34 | optQuery(...) : Object | semmle.label | optQuery(...) : Object | +| Test.java:1523:9:1523:11 | out | semmle.label | out | +| Test.java:1528:20:1528:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1528:32:1528:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1529:10:1529:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1529:10:1529:39 | optQuery(...) : Object | semmle.label | optQuery(...) : Object | +| Test.java:1530:9:1530:11 | out | semmle.label | out | +| Test.java:1535:20:1535:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1535:32:1535:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1536:10:1536:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1536:10:1536:33 | optString(...) : String | semmle.label | optString(...) : String | +| Test.java:1537:9:1537:11 | out | semmle.label | out | +| Test.java:1542:20:1542:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1542:32:1542:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1543:10:1543:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1543:10:1543:27 | optString(...) : String | semmle.label | optString(...) : String | +| Test.java:1544:9:1544:11 | out | semmle.label | out | +| Test.java:1549:16:1549:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1549:24:1549:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1551:10:1551:37 | optString(...) : String | semmle.label | optString(...) : String | +| Test.java:1551:35:1551:36 | in : String | semmle.label | in : String | +| Test.java:1552:9:1552:11 | out | semmle.label | out | +| Test.java:1557:16:1557:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1557:24:1557:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1558:4:1558:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1558:12:1558:13 | in : String | semmle.label | in : String | +| Test.java:1559:9:1559:11 | out | semmle.label | out | +| Test.java:1564:20:1564:55 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:1564:32:1564:55 | newWithElement(...) : List [] : Object | semmle.label | newWithElement(...) : List [] : Object | +| Test.java:1564:47:1564:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1565:4:1565:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1565:26:1565:27 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:1566:9:1566:11 | out | semmle.label | out | +| Test.java:1571:16:1571:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1571:24:1571:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1572:4:1572:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1572:12:1572:13 | in : String | semmle.label | in : String | +| Test.java:1573:9:1573:11 | out | semmle.label | out | +| Test.java:1578:13:1578:40 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:1578:18:1578:40 | newWithMapKey(...) : Map [] : Object | semmle.label | newWithMapKey(...) : Map [] : Object | +| Test.java:1578:32:1578:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1579:4:1579:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1579:26:1579:27 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:1580:9:1580:11 | out | semmle.label | out | +| Test.java:1585:13:1585:42 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:1585:18:1585:42 | newWithMapValue(...) : Map [] : Object | semmle.label | newWithMapValue(...) : Map [] : Object | +| Test.java:1585:34:1585:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1586:4:1586:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1586:26:1586:27 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:1587:9:1587:11 | out | semmle.label | out | +| Test.java:1592:16:1592:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1592:24:1592:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1593:4:1593:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1593:12:1593:13 | in : String | semmle.label | in : String | +| Test.java:1594:9:1594:11 | out | semmle.label | out | +| Test.java:1599:16:1599:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1599:24:1599:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1600:4:1600:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1600:26:1600:27 | in : Object | semmle.label | in : Object | +| Test.java:1601:9:1601:11 | out | semmle.label | out | +| Test.java:1606:16:1606:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1606:24:1606:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1607:4:1607:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1607:12:1607:13 | in : String | semmle.label | in : String | +| Test.java:1608:9:1608:11 | out | semmle.label | out | +| Test.java:1613:17:1613:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:1613:26:1613:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1614:4:1614:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1614:26:1614:27 | in : Boolean | semmle.label | in : Boolean | +| Test.java:1615:9:1615:11 | out | semmle.label | out | +| Test.java:1620:16:1620:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1620:24:1620:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1621:4:1621:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1621:12:1621:13 | in : String | semmle.label | in : String | +| Test.java:1622:9:1622:11 | out | semmle.label | out | +| Test.java:1627:16:1627:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1627:24:1627:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1628:4:1628:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1628:26:1628:27 | in : Number | semmle.label | in : Number | +| Test.java:1629:9:1629:11 | out | semmle.label | out | +| Test.java:1634:16:1634:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1634:24:1634:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1635:4:1635:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1635:12:1635:13 | in : String | semmle.label | in : String | +| Test.java:1636:9:1636:11 | out | semmle.label | out | +| Test.java:1641:15:1641:29 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1641:22:1641:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1642:4:1642:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1642:26:1642:27 | in : Number | semmle.label | in : Number | +| Test.java:1643:9:1643:11 | out | semmle.label | out | +| Test.java:1648:16:1648:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1648:24:1648:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1649:4:1649:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1649:12:1649:13 | in : String | semmle.label | in : String | +| Test.java:1650:9:1650:11 | out | semmle.label | out | +| Test.java:1655:13:1655:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1655:18:1655:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1656:4:1656:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1656:26:1656:27 | in : Number | semmle.label | in : Number | +| Test.java:1657:9:1657:11 | out | semmle.label | out | +| Test.java:1662:16:1662:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1662:24:1662:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1663:4:1663:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1663:12:1663:13 | in : String | semmle.label | in : String | +| Test.java:1664:9:1664:11 | out | semmle.label | out | +| Test.java:1669:14:1669:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1669:20:1669:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1670:4:1670:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1670:26:1670:27 | in : Number | semmle.label | in : Number | +| Test.java:1671:9:1671:11 | out | semmle.label | out | +| Test.java:1676:20:1676:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1676:32:1676:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1677:10:1677:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1677:10:1677:36 | put(...) : JSONObject | semmle.label | put(...) : JSONObject | +| Test.java:1678:9:1678:11 | out | semmle.label | out | +| Test.java:1683:20:1683:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1683:32:1683:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1684:10:1684:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1684:10:1684:33 | put(...) : JSONObject | semmle.label | put(...) : JSONObject | +| Test.java:1685:9:1685:11 | out | semmle.label | out | +| Test.java:1690:20:1690:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1690:32:1690:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1691:10:1691:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1691:10:1691:35 | put(...) : JSONObject | semmle.label | put(...) : JSONObject | +| Test.java:1692:9:1692:11 | out | semmle.label | out | +| Test.java:1697:20:1697:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1697:32:1697:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1698:10:1698:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1698:10:1698:34 | put(...) : JSONObject | semmle.label | put(...) : JSONObject | +| Test.java:1699:9:1699:11 | out | semmle.label | out | +| Test.java:1704:20:1704:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1704:32:1704:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1705:10:1705:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1705:10:1705:32 | put(...) : JSONObject | semmle.label | put(...) : JSONObject | +| Test.java:1706:9:1706:11 | out | semmle.label | out | +| Test.java:1711:20:1711:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1711:32:1711:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1712:10:1712:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1712:10:1712:43 | put(...) : JSONObject | semmle.label | put(...) : JSONObject | +| Test.java:1713:9:1713:11 | out | semmle.label | out | +| Test.java:1718:20:1718:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1718:32:1718:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1719:10:1719:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1719:10:1719:40 | put(...) : JSONObject | semmle.label | put(...) : JSONObject | +| Test.java:1720:9:1720:11 | out | semmle.label | out | +| Test.java:1725:20:1725:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1725:32:1725:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1726:10:1726:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1726:10:1726:47 | put(...) : JSONObject | semmle.label | put(...) : JSONObject | +| Test.java:1727:9:1727:11 | out | semmle.label | out | +| Test.java:1732:20:1732:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1732:32:1732:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1733:10:1733:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1733:10:1733:31 | putOnce(...) : JSONObject | semmle.label | putOnce(...) : JSONObject | +| Test.java:1734:9:1734:11 | out | semmle.label | out | +| Test.java:1739:16:1739:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1739:24:1739:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1740:4:1740:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1740:16:1740:17 | in : String | semmle.label | in : String | +| Test.java:1741:9:1741:11 | out | semmle.label | out | +| Test.java:1746:16:1746:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1746:24:1746:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1747:4:1747:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1747:22:1747:23 | in : Object | semmle.label | in : Object | +| Test.java:1748:9:1748:11 | out | semmle.label | out | +| Test.java:1753:20:1753:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1753:32:1753:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1754:10:1754:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1754:10:1754:30 | putOpt(...) : JSONObject | semmle.label | putOpt(...) : JSONObject | +| Test.java:1755:9:1755:11 | out | semmle.label | out | +| Test.java:1760:16:1760:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1760:24:1760:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1761:4:1761:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1761:15:1761:16 | in : String | semmle.label | in : String | +| Test.java:1762:9:1762:11 | out | semmle.label | out | +| Test.java:1767:16:1767:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1767:24:1767:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1768:4:1768:6 | out [post update] : JSONObject | semmle.label | out [post update] : JSONObject | +| Test.java:1768:21:1768:22 | in : Object | semmle.label | in : Object | +| Test.java:1769:9:1769:11 | out | semmle.label | out | +| Test.java:1774:20:1774:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1774:32:1774:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1775:10:1775:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1775:10:1775:31 | query(...) : Object | semmle.label | query(...) : Object | +| Test.java:1776:9:1776:11 | out | semmle.label | out | +| Test.java:1781:20:1781:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1781:32:1781:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1782:10:1782:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1782:10:1782:36 | query(...) : Object | semmle.label | query(...) : Object | +| Test.java:1783:9:1783:11 | out | semmle.label | out | +| Test.java:1788:16:1788:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1788:24:1788:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1789:10:1789:29 | quote(...) : String | semmle.label | quote(...) : String | +| Test.java:1789:27:1789:28 | in : String | semmle.label | in : String | +| Test.java:1790:9:1790:11 | out | semmle.label | out | +| Test.java:1795:16:1795:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1795:24:1795:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1796:21:1796:22 | in : String | semmle.label | in : String | +| Test.java:1796:25:1796:27 | out [post update] : Writer | semmle.label | out [post update] : Writer | +| Test.java:1797:9:1797:11 | out | semmle.label | out | +| Test.java:1802:16:1802:31 | (...)... : Writer | semmle.label | (...)... : Writer | +| Test.java:1802:24:1802:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1803:10:1803:35 | quote(...) : Writer | semmle.label | quote(...) : Writer | +| Test.java:1803:33:1803:34 | in : Writer | semmle.label | in : Writer | +| Test.java:1804:9:1804:11 | out | semmle.label | out | +| Test.java:1809:20:1809:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1809:32:1809:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1810:10:1810:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1810:10:1810:24 | remove(...) : Object | semmle.label | remove(...) : Object | +| Test.java:1811:9:1811:11 | out | semmle.label | out | +| Test.java:1816:16:1816:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1816:24:1816:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1817:10:1817:37 | stringToValue(...) : Object | semmle.label | stringToValue(...) : Object | +| Test.java:1817:35:1817:36 | in : String | semmle.label | in : String | +| Test.java:1818:9:1818:11 | out | semmle.label | out | +| Test.java:1823:20:1823:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1823:32:1823:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1824:10:1824:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1824:10:1824:29 | toJSONArray(...) : JSONArray | semmle.label | toJSONArray(...) : JSONArray | +| Test.java:1825:9:1825:11 | out | semmle.label | out | +| Test.java:1830:20:1830:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1830:32:1830:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1831:10:1831:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1831:10:1831:19 | toMap(...) : Map [] : Object | semmle.label | toMap(...) : Map [] : Object | +| Test.java:1832:9:1832:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1832:19:1832:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:1837:20:1837:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1837:32:1837:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1838:10:1838:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1838:10:1838:19 | toMap(...) : Map [] : Object | semmle.label | toMap(...) : Map [] : Object | +| Test.java:1839:9:1839:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1839:21:1839:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:1844:20:1844:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1844:32:1844:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1845:10:1845:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1845:10:1845:23 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:1846:9:1846:11 | out | semmle.label | out | +| Test.java:1851:20:1851:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1851:32:1851:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1852:10:1852:11 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1852:10:1852:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:1853:9:1853:11 | out | semmle.label | out | +| Test.java:1858:16:1858:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1858:24:1858:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1859:10:1859:37 | valueToString(...) : String | semmle.label | valueToString(...) : String | +| Test.java:1859:35:1859:36 | in : Object | semmle.label | in : Object | +| Test.java:1860:9:1860:11 | out | semmle.label | out | +| Test.java:1865:16:1865:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1865:24:1865:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1866:10:1866:28 | wrap(...) : Object | semmle.label | wrap(...) : Object | +| Test.java:1866:26:1866:27 | in : Object | semmle.label | in : Object | +| Test.java:1867:9:1867:11 | out | semmle.label | out | +| Test.java:1872:20:1872:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1872:32:1872:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1873:4:1873:5 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1873:13:1873:15 | out [post update] : Writer | semmle.label | out [post update] : Writer | +| Test.java:1874:9:1874:11 | out | semmle.label | out | +| Test.java:1879:20:1879:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:1879:32:1879:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1880:4:1880:5 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:1880:13:1880:15 | out [post update] : Writer | semmle.label | out [post update] : Writer | +| Test.java:1881:9:1881:11 | out | semmle.label | out | +| Test.java:1886:16:1886:31 | (...)... : Writer | semmle.label | (...)... : Writer | +| Test.java:1886:24:1886:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1888:10:1888:33 | write(...) : Writer | semmle.label | write(...) : Writer | +| Test.java:1888:25:1888:26 | in : Writer | semmle.label | in : Writer | +| Test.java:1889:9:1889:11 | out | semmle.label | out | +| Test.java:1894:16:1894:31 | (...)... : Writer | semmle.label | (...)... : Writer | +| Test.java:1894:24:1894:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1896:10:1896:27 | write(...) : Writer | semmle.label | write(...) : Writer | +| Test.java:1896:25:1896:26 | in : Writer | semmle.label | in : Writer | +| Test.java:1897:9:1897:11 | out | semmle.label | out | +| Test.java:1902:29:1902:57 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1902:50:1902:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1903:10:1903:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1903:10:1903:21 | append(...) : Builder | semmle.label | append(...) : Builder | +| Test.java:1904:9:1904:11 | out | semmle.label | out | +| Test.java:1909:29:1909:57 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1909:50:1909:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1910:10:1910:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1910:10:1910:32 | append(...) : Builder | semmle.label | append(...) : Builder | +| Test.java:1911:9:1911:11 | out | semmle.label | out | +| Test.java:1916:13:1916:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:1916:18:1916:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1917:4:1917:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:1917:15:1917:16 | in : Number | semmle.label | in : Number | +| Test.java:1918:9:1918:11 | out | semmle.label | out | +| Test.java:1923:16:1923:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1923:24:1923:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1924:4:1924:6 | out [post update] : Builder | semmle.label | out [post update] : Builder | +| Test.java:1924:15:1924:16 | in : String | semmle.label | in : String | +| Test.java:1925:9:1925:11 | out | semmle.label | out | +| Test.java:1930:29:1930:57 | (...)... : Builder | semmle.label | (...)... : Builder | +| Test.java:1930:50:1930:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1931:10:1931:11 | in : Builder | semmle.label | in : Builder | +| Test.java:1931:10:1931:19 | build(...) : JSONPointer | semmle.label | build(...) : JSONPointer | +| Test.java:1932:9:1932:11 | out | semmle.label | out | +| Test.java:1937:14:1937:43 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:1937:20:1937:43 | newWithElement(...) : List [] : Object | semmle.label | newWithElement(...) : List [] : Object | +| Test.java:1937:35:1937:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1938:10:1938:28 | new JSONPointer(...) : JSONPointer | semmle.label | new JSONPointer(...) : JSONPointer | +| Test.java:1938:26:1938:27 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:1939:9:1939:11 | out | semmle.label | out | +| Test.java:1944:16:1944:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1944:24:1944:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1945:10:1945:28 | new JSONPointer(...) : JSONPointer | semmle.label | new JSONPointer(...) : JSONPointer | +| Test.java:1945:26:1945:27 | in : String | semmle.label | in : String | +| Test.java:1946:9:1946:11 | out | semmle.label | out | +| Test.java:1951:16:1951:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:1951:24:1951:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1953:10:1953:31 | queryFrom(...) : Object | semmle.label | queryFrom(...) : Object | +| Test.java:1953:29:1953:30 | in : Object | semmle.label | in : Object | +| Test.java:1954:9:1954:11 | out | semmle.label | out | +| Test.java:1959:21:1959:41 | (...)... : JSONPointer | semmle.label | (...)... : JSONPointer | +| Test.java:1959:34:1959:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1960:10:1960:11 | in : JSONPointer | semmle.label | in : JSONPointer | +| Test.java:1960:10:1960:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:1961:9:1961:11 | out | semmle.label | out | +| Test.java:1966:21:1966:41 | (...)... : JSONPointer | semmle.label | (...)... : JSONPointer | +| Test.java:1966:34:1966:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1967:10:1967:11 | in : JSONPointer | semmle.label | in : JSONPointer | +| Test.java:1967:10:1967:27 | toURIFragment(...) : String | semmle.label | toURIFragment(...) : String | +| Test.java:1968:9:1968:11 | out | semmle.label | out | +| Test.java:1973:20:1973:39 | (...)... : JSONString | semmle.label | (...)... : JSONString | +| Test.java:1973:32:1973:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1974:10:1974:11 | in : JSONString | semmle.label | in : JSONString | +| Test.java:1974:10:1974:26 | toJSONString(...) : String | semmle.label | toJSONString(...) : String | +| Test.java:1975:9:1975:11 | out | semmle.label | out | +| Test.java:1980:22:1980:43 | (...)... : JSONStringer | semmle.label | (...)... : JSONStringer | +| Test.java:1980:36:1980:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1981:10:1981:11 | in : JSONStringer | semmle.label | in : JSONStringer | +| Test.java:1981:10:1981:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:1982:9:1982:11 | out | semmle.label | out | +| Test.java:1987:16:1987:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1987:24:1987:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1988:10:1988:28 | new JSONTokener(...) : JSONTokener | semmle.label | new JSONTokener(...) : JSONTokener | +| Test.java:1988:26:1988:27 | in : String | semmle.label | in : String | +| Test.java:1989:9:1989:11 | out | semmle.label | out | +| Test.java:1994:16:1994:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:1994:24:1994:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1995:10:1995:28 | new JSONTokener(...) : JSONTokener | semmle.label | new JSONTokener(...) : JSONTokener | +| Test.java:1995:26:1995:27 | in : Reader | semmle.label | in : Reader | +| Test.java:1996:9:1996:11 | out | semmle.label | out | +| Test.java:2001:21:2001:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:2001:34:2001:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2002:10:2002:28 | new JSONTokener(...) : JSONTokener | semmle.label | new JSONTokener(...) : JSONTokener | +| Test.java:2002:26:2002:27 | in : InputStream | semmle.label | in : InputStream | +| Test.java:2003:9:2003:11 | out | semmle.label | out | +| Test.java:2008:21:2008:41 | (...)... : JSONTokener | semmle.label | (...)... : JSONTokener | +| Test.java:2008:34:2008:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2009:10:2009:11 | in : JSONTokener | semmle.label | in : JSONTokener | +| Test.java:2009:10:2009:18 | next(...) : Number | semmle.label | next(...) : Number | +| Test.java:2010:9:2010:11 | out | semmle.label | out | +| Test.java:2015:21:2015:41 | (...)... : JSONTokener | semmle.label | (...)... : JSONTokener | +| Test.java:2015:34:2015:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2016:10:2016:11 | in : JSONTokener | semmle.label | in : JSONTokener | +| Test.java:2016:10:2016:21 | next(...) : Number | semmle.label | next(...) : Number | +| Test.java:2017:9:2017:11 | out | semmle.label | out | +| Test.java:2022:21:2022:41 | (...)... : JSONTokener | semmle.label | (...)... : JSONTokener | +| Test.java:2022:34:2022:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2023:10:2023:11 | in : JSONTokener | semmle.label | in : JSONTokener | +| Test.java:2023:10:2023:19 | next(...) : String | semmle.label | next(...) : String | +| Test.java:2024:9:2024:11 | out | semmle.label | out | +| Test.java:2029:21:2029:41 | (...)... : JSONTokener | semmle.label | (...)... : JSONTokener | +| Test.java:2029:34:2029:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2030:10:2030:11 | in : JSONTokener | semmle.label | in : JSONTokener | +| Test.java:2030:10:2030:23 | nextClean(...) : Number | semmle.label | nextClean(...) : Number | +| Test.java:2031:9:2031:11 | out | semmle.label | out | +| Test.java:2036:21:2036:41 | (...)... : JSONTokener | semmle.label | (...)... : JSONTokener | +| Test.java:2036:34:2036:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2037:10:2037:11 | in : JSONTokener | semmle.label | in : JSONTokener | +| Test.java:2037:10:2037:27 | nextString(...) : String | semmle.label | nextString(...) : String | +| Test.java:2038:9:2038:11 | out | semmle.label | out | +| Test.java:2043:21:2043:41 | (...)... : JSONTokener | semmle.label | (...)... : JSONTokener | +| Test.java:2043:34:2043:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2044:10:2044:11 | in : JSONTokener | semmle.label | in : JSONTokener | +| Test.java:2044:10:2044:32 | nextTo(...) : String | semmle.label | nextTo(...) : String | +| Test.java:2045:9:2045:11 | out | semmle.label | out | +| Test.java:2050:21:2050:41 | (...)... : JSONTokener | semmle.label | (...)... : JSONTokener | +| Test.java:2050:34:2050:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2051:10:2051:11 | in : JSONTokener | semmle.label | in : JSONTokener | +| Test.java:2051:10:2051:23 | nextTo(...) : String | semmle.label | nextTo(...) : String | +| Test.java:2052:9:2052:11 | out | semmle.label | out | +| Test.java:2057:21:2057:41 | (...)... : JSONTokener | semmle.label | (...)... : JSONTokener | +| Test.java:2057:34:2057:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2058:10:2058:11 | in : JSONTokener | semmle.label | in : JSONTokener | +| Test.java:2058:10:2058:23 | nextValue(...) : Object | semmle.label | nextValue(...) : Object | +| Test.java:2059:9:2059:11 | out | semmle.label | out | +| Test.java:2064:19:2064:37 | (...)... : Throwable | semmle.label | (...)... : Throwable | +| Test.java:2064:30:2064:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2066:10:2066:39 | syntaxError(...) : JSONException | semmle.label | syntaxError(...) : JSONException | +| Test.java:2066:37:2066:38 | in : Throwable | semmle.label | in : Throwable | +| Test.java:2067:9:2067:11 | out | semmle.label | out | +| Test.java:2072:16:2072:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2072:24:2072:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2074:10:2074:39 | syntaxError(...) : JSONException | semmle.label | syntaxError(...) : JSONException | +| Test.java:2074:31:2074:32 | in : String | semmle.label | in : String | +| Test.java:2075:9:2075:11 | out | semmle.label | out | +| Test.java:2080:16:2080:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2080:24:2080:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2082:10:2082:33 | syntaxError(...) : JSONException | semmle.label | syntaxError(...) : JSONException | +| Test.java:2082:31:2082:32 | in : String | semmle.label | in : String | +| Test.java:2083:9:2083:11 | out | semmle.label | out | +| Test.java:2088:21:2088:41 | (...)... : JSONTokener | semmle.label | (...)... : JSONTokener | +| Test.java:2088:34:2088:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2089:10:2089:11 | in : JSONTokener | semmle.label | in : JSONTokener | +| Test.java:2089:10:2089:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2090:9:2090:11 | out | semmle.label | out | +| Test.java:2095:20:2095:39 | (...)... : JSONWriter | semmle.label | (...)... : JSONWriter | +| Test.java:2095:32:2095:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2096:10:2096:11 | in : JSONWriter | semmle.label | in : JSONWriter | +| Test.java:2096:10:2096:19 | array(...) : JSONWriter | semmle.label | array(...) : JSONWriter | +| Test.java:2097:9:2097:11 | out | semmle.label | out | +| Test.java:2102:20:2102:39 | (...)... : JSONWriter | semmle.label | (...)... : JSONWriter | +| Test.java:2102:32:2102:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2103:10:2103:11 | in : JSONWriter | semmle.label | in : JSONWriter | +| Test.java:2103:10:2103:22 | endArray(...) : JSONWriter | semmle.label | endArray(...) : JSONWriter | +| Test.java:2104:9:2104:11 | out | semmle.label | out | +| Test.java:2109:20:2109:39 | (...)... : JSONWriter | semmle.label | (...)... : JSONWriter | +| Test.java:2109:32:2109:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2110:10:2110:11 | in : JSONWriter | semmle.label | in : JSONWriter | +| Test.java:2110:10:2110:23 | endObject(...) : JSONWriter | semmle.label | endObject(...) : JSONWriter | +| Test.java:2111:9:2111:11 | out | semmle.label | out | +| Test.java:2116:20:2116:39 | (...)... : JSONWriter | semmle.label | (...)... : JSONWriter | +| Test.java:2116:32:2116:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2117:10:2117:11 | in : JSONWriter | semmle.label | in : JSONWriter | +| Test.java:2117:10:2117:21 | key(...) : JSONWriter | semmle.label | key(...) : JSONWriter | +| Test.java:2118:9:2118:11 | out | semmle.label | out | +| Test.java:2123:16:2123:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2123:24:2123:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2124:4:2124:6 | out [post update] : JSONWriter | semmle.label | out [post update] : JSONWriter | +| Test.java:2124:12:2124:13 | in : String | semmle.label | in : String | +| Test.java:2125:9:2125:11 | out | semmle.label | out | +| Test.java:2130:20:2130:39 | (...)... : JSONWriter | semmle.label | (...)... : JSONWriter | +| Test.java:2130:32:2130:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2131:10:2131:11 | in : JSONWriter | semmle.label | in : JSONWriter | +| Test.java:2131:10:2131:20 | object(...) : JSONWriter | semmle.label | object(...) : JSONWriter | +| Test.java:2132:9:2132:11 | out | semmle.label | out | +| Test.java:2137:20:2137:39 | (...)... : JSONWriter | semmle.label | (...)... : JSONWriter | +| Test.java:2137:32:2137:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2138:10:2138:11 | in : JSONWriter | semmle.label | in : JSONWriter | +| Test.java:2138:10:2138:24 | value(...) : JSONWriter | semmle.label | value(...) : JSONWriter | +| Test.java:2139:9:2139:11 | out | semmle.label | out | +| Test.java:2144:20:2144:39 | (...)... : JSONWriter | semmle.label | (...)... : JSONWriter | +| Test.java:2144:32:2144:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2145:10:2145:11 | in : JSONWriter | semmle.label | in : JSONWriter | +| Test.java:2145:10:2145:21 | value(...) : JSONWriter | semmle.label | value(...) : JSONWriter | +| Test.java:2146:9:2146:11 | out | semmle.label | out | +| Test.java:2151:20:2151:39 | (...)... : JSONWriter | semmle.label | (...)... : JSONWriter | +| Test.java:2151:32:2151:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2152:10:2152:11 | in : JSONWriter | semmle.label | in : JSONWriter | +| Test.java:2152:10:2152:22 | value(...) : JSONWriter | semmle.label | value(...) : JSONWriter | +| Test.java:2153:9:2153:11 | out | semmle.label | out | +| Test.java:2158:20:2158:39 | (...)... : JSONWriter | semmle.label | (...)... : JSONWriter | +| Test.java:2158:32:2158:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2159:10:2159:11 | in : JSONWriter | semmle.label | in : JSONWriter | +| Test.java:2159:10:2159:31 | value(...) : JSONWriter | semmle.label | value(...) : JSONWriter | +| Test.java:2160:9:2160:11 | out | semmle.label | out | +| Test.java:2165:14:2165:27 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2165:20:2165:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2166:4:2166:6 | out [post update] : JSONWriter | semmle.label | out [post update] : JSONWriter | +| Test.java:2166:14:2166:15 | in : Number | semmle.label | in : Number | +| Test.java:2167:9:2167:11 | out | semmle.label | out | +| Test.java:2172:16:2172:31 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2172:24:2172:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2173:4:2173:6 | out [post update] : JSONWriter | semmle.label | out [post update] : JSONWriter | +| Test.java:2173:14:2173:15 | in : Number | semmle.label | in : Number | +| Test.java:2174:9:2174:11 | out | semmle.label | out | +| Test.java:2179:17:2179:33 | (...)... : Boolean | semmle.label | (...)... : Boolean | +| Test.java:2179:26:2179:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2180:4:2180:6 | out [post update] : JSONWriter | semmle.label | out [post update] : JSONWriter | +| Test.java:2180:14:2180:15 | in : Boolean | semmle.label | in : Boolean | +| Test.java:2181:9:2181:11 | out | semmle.label | out | +| Test.java:2186:16:2186:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2186:24:2186:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2187:4:2187:6 | out [post update] : JSONWriter | semmle.label | out [post update] : JSONWriter | +| Test.java:2187:14:2187:15 | in : Object | semmle.label | in : Object | +| Test.java:2188:9:2188:11 | out | semmle.label | out | +| Test.java:2193:16:2193:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2193:24:2193:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2194:10:2194:37 | valueToString(...) : String | semmle.label | valueToString(...) : String | +| Test.java:2194:35:2194:36 | in : Object | semmle.label | in : Object | +| Test.java:2195:9:2195:11 | out | semmle.label | out | +| Test.java:2200:20:2200:54 | (...)... : Properties [] : Object | semmle.label | (...)... : Properties [] : Object | +| Test.java:2200:32:2200:54 | newWithMapKey(...) : Map [] : Object | semmle.label | newWithMapKey(...) : Map [] : Object | +| Test.java:2200:46:2200:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2201:10:2201:34 | toJSONObject(...) : JSONObject | semmle.label | toJSONObject(...) : JSONObject | +| Test.java:2201:32:2201:33 | in : Properties [] : Object | semmle.label | in : Properties [] : Object | +| Test.java:2202:9:2202:11 | out | semmle.label | out | +| Test.java:2207:20:2207:56 | (...)... : Properties [] : Object | semmle.label | (...)... : Properties [] : Object | +| Test.java:2207:32:2207:56 | newWithMapValue(...) : Map [] : Object | semmle.label | newWithMapValue(...) : Map [] : Object | +| Test.java:2207:48:2207:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2208:10:2208:34 | toJSONObject(...) : JSONObject | semmle.label | toJSONObject(...) : JSONObject | +| Test.java:2208:32:2208:33 | in : Properties [] : Object | semmle.label | in : Properties [] : Object | +| Test.java:2209:9:2209:11 | out | semmle.label | out | +| Test.java:2214:20:2214:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:2214:32:2214:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2215:10:2215:34 | toProperties(...) : Properties [] : Object | semmle.label | toProperties(...) : Properties [] : Object | +| Test.java:2215:32:2215:33 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:2216:9:2216:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2216:19:2216:21 | out : Properties [] : Object | semmle.label | out : Properties [] : Object | +| Test.java:2221:20:2221:39 | (...)... : JSONObject | semmle.label | (...)... : JSONObject | +| Test.java:2221:32:2221:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2222:10:2222:34 | toProperties(...) : Properties [] : Object | semmle.label | toProperties(...) : Properties [] : Object | +| Test.java:2222:32:2222:33 | in : JSONObject | semmle.label | in : JSONObject | +| Test.java:2223:9:2223:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2223:21:2223:23 | out : Properties [] : Object | semmle.label | out : Properties [] : Object | +| Test.java:2228:16:2228:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2228:24:2228:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2229:10:2229:23 | escape(...) : String | semmle.label | escape(...) : String | +| Test.java:2229:21:2229:22 | in : String | semmle.label | in : String | +| Test.java:2230:9:2230:11 | out | semmle.label | out | +| Test.java:2235:16:2235:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2235:24:2235:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2236:10:2236:36 | stringToValue(...) : Object | semmle.label | stringToValue(...) : Object | +| Test.java:2236:28:2236:29 | in : String | semmle.label | in : String | +| Test.java:2237:9:2237:11 | out | semmle.label | out | +| Test.java:2242:16:2242:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2242:24:2242:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2243:10:2243:30 | stringToValue(...) : Object | semmle.label | stringToValue(...) : Object | +| Test.java:2243:28:2243:29 | in : String | semmle.label | in : String | +| Test.java:2244:9:2244:11 | out | semmle.label | out | +| Test.java:2249:16:2249:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2249:24:2249:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2250:10:2250:36 | toJSONObject(...) : JSONObject | semmle.label | toJSONObject(...) : JSONObject | +| Test.java:2250:27:2250:28 | in : String | semmle.label | in : String | +| Test.java:2251:9:2251:11 | out | semmle.label | out | +| Test.java:2256:16:2256:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2256:24:2256:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2257:10:2257:59 | toJSONObject(...) : JSONObject | semmle.label | toJSONObject(...) : JSONObject | +| Test.java:2257:27:2257:28 | in : String | semmle.label | in : String | +| Test.java:2258:9:2258:11 | out | semmle.label | out | +| Test.java:2263:16:2263:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2263:24:2263:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2264:10:2264:29 | toJSONObject(...) : JSONObject | semmle.label | toJSONObject(...) : JSONObject | +| Test.java:2264:27:2264:28 | in : String | semmle.label | in : String | +| Test.java:2265:9:2265:11 | out | semmle.label | out | +| Test.java:2270:16:2270:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:2270:24:2270:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2271:10:2271:36 | toJSONObject(...) : JSONObject | semmle.label | toJSONObject(...) : JSONObject | +| Test.java:2271:27:2271:28 | in : Reader | semmle.label | in : Reader | +| Test.java:2272:9:2272:11 | out | semmle.label | out | +| Test.java:2277:16:2277:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:2277:24:2277:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2278:10:2278:59 | toJSONObject(...) : JSONObject | semmle.label | toJSONObject(...) : JSONObject | +| Test.java:2278:27:2278:28 | in : Reader | semmle.label | in : Reader | +| Test.java:2279:9:2279:11 | out | semmle.label | out | +| Test.java:2284:16:2284:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:2284:24:2284:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2285:10:2285:29 | toJSONObject(...) : JSONObject | semmle.label | toJSONObject(...) : JSONObject | +| Test.java:2285:27:2285:28 | in : Reader | semmle.label | in : Reader | +| Test.java:2286:9:2286:11 | out | semmle.label | out | +| Test.java:2291:16:2291:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2291:24:2291:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2292:10:2292:37 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2292:29:2292:30 | in : String | semmle.label | in : String | +| Test.java:2293:9:2293:11 | out | semmle.label | out | +| Test.java:2298:16:2298:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2298:24:2298:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2299:10:2299:31 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2299:29:2299:30 | in : String | semmle.label | in : String | +| Test.java:2300:9:2300:11 | out | semmle.label | out | +| Test.java:2305:16:2305:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2305:24:2305:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2306:10:2306:37 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2306:23:2306:24 | in : Object | semmle.label | in : Object | +| Test.java:2307:9:2307:11 | out | semmle.label | out | +| Test.java:2312:16:2312:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2312:24:2312:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2313:10:2313:31 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2313:23:2313:24 | in : Object | semmle.label | in : Object | +| Test.java:2314:9:2314:11 | out | semmle.label | out | +| Test.java:2319:16:2319:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2319:24:2319:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2320:10:2320:25 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2320:23:2320:24 | in : Object | semmle.label | in : Object | +| Test.java:2321:9:2321:11 | out | semmle.label | out | +| Test.java:2326:16:2326:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2326:24:2326:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2327:10:2327:25 | unescape(...) : String | semmle.label | unescape(...) : String | +| Test.java:2327:23:2327:24 | in : String | semmle.label | in : String | +| Test.java:2328:9:2328:11 | out | semmle.label | out | +| Test.java:2333:16:2333:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2333:24:2333:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2334:10:2334:27 | new XMLTokener(...) : XMLTokener | semmle.label | new XMLTokener(...) : XMLTokener | +| Test.java:2334:25:2334:26 | in : String | semmle.label | in : String | +| Test.java:2335:9:2335:11 | out | semmle.label | out | +| Test.java:2340:16:2340:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:2340:24:2340:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2341:10:2341:27 | new XMLTokener(...) : XMLTokener | semmle.label | new XMLTokener(...) : XMLTokener | +| Test.java:2341:25:2341:26 | in : Reader | semmle.label | in : Reader | +| Test.java:2342:9:2342:11 | out | semmle.label | out | +| Test.java:2347:20:2347:39 | (...)... : XMLTokener | semmle.label | (...)... : XMLTokener | +| Test.java:2347:32:2347:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2348:10:2348:11 | in : XMLTokener | semmle.label | in : XMLTokener | +| Test.java:2348:10:2348:23 | nextCDATA(...) : String | semmle.label | nextCDATA(...) : String | +| Test.java:2349:9:2349:11 | out | semmle.label | out | +| Test.java:2354:20:2354:39 | (...)... : XMLTokener | semmle.label | (...)... : XMLTokener | +| Test.java:2354:32:2354:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2355:10:2355:11 | in : XMLTokener | semmle.label | in : XMLTokener | +| Test.java:2355:10:2355:25 | nextContent(...) : Object | semmle.label | nextContent(...) : Object | +| Test.java:2356:9:2356:11 | out | semmle.label | out | +| Test.java:2361:20:2361:39 | (...)... : XMLTokener | semmle.label | (...)... : XMLTokener | +| Test.java:2361:32:2361:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2362:10:2362:11 | in : XMLTokener | semmle.label | in : XMLTokener | +| Test.java:2362:10:2362:27 | nextEntity(...) : Object | semmle.label | nextEntity(...) : Object | +| Test.java:2363:9:2363:11 | out | semmle.label | out | +| Test.java:2368:20:2368:39 | (...)... : XMLTokener | semmle.label | (...)... : XMLTokener | +| Test.java:2368:32:2368:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2369:10:2369:11 | in : XMLTokener | semmle.label | in : XMLTokener | +| Test.java:2369:10:2369:22 | nextMeta(...) : Object | semmle.label | nextMeta(...) : Object | +| Test.java:2370:9:2370:11 | out | semmle.label | out | +| Test.java:2375:20:2375:39 | (...)... : XMLTokener | semmle.label | (...)... : XMLTokener | +| Test.java:2375:32:2375:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2376:10:2376:11 | in : XMLTokener | semmle.label | in : XMLTokener | +| Test.java:2376:10:2376:23 | nextToken(...) : Object | semmle.label | nextToken(...) : Object | +| Test.java:2377:9:2377:11 | out | semmle.label | out | +| Test.java:2382:16:2382:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2382:24:2382:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2384:10:2384:29 | convert(...) : Object | semmle.label | convert(...) : Object | +| Test.java:2384:27:2384:28 | in : String | semmle.label | in : String | +| Test.java:2385:9:2385:11 | out | semmle.label | out | +subpaths +| Test.java:216:47:216:54 | source(...) : Object | Test.java:44:22:44:35 | element : Object | Test.java:44:47:44:62 | of(...) : List [] : Object | Test.java:216:32:216:55 | newWithElement(...) : List [] : Object | +| Test.java:223:43:223:50 | source(...) : Object | Test.java:44:22:44:35 | element : Object | Test.java:44:47:44:62 | of(...) : List [] : Object | Test.java:223:28:223:51 | newWithElement(...) : List [] : Object | +| Test.java:244:44:244:51 | source(...) : Object | Test.java:43:31:43:44 | element : Object | Test.java:43:56:43:79 | new Object[] : Object[] [[]] : Object | Test.java:244:24:244:52 | newWithArrayElement(...) : Object[] [[]] : Object | +| Test.java:351:20:351:22 | out : Iterator [] : Object | Test.java:40:20:40:30 | it : Iterator [] : Object | Test.java:40:42:40:50 | next(...) : Object | Test.java:351:9:351:23 | getElement(...) | +| Test.java:612:47:612:54 | source(...) : Object | Test.java:44:22:44:35 | element : Object | Test.java:44:47:44:62 | of(...) : List [] : Object | Test.java:612:32:612:55 | newWithElement(...) : List [] : Object | +| Test.java:619:32:619:39 | source(...) : Object | Test.java:45:20:45:33 | element : Object | Test.java:45:45:45:65 | of(...) : Map [] : Object | Test.java:619:18:619:40 | newWithMapKey(...) : Map [] : Object | +| Test.java:626:34:626:41 | source(...) : Object | Test.java:46:22:46:35 | element : Object | Test.java:46:47:46:67 | of(...) : Map [] : Object | Test.java:626:18:626:42 | newWithMapValue(...) : Map [] : Object | +| Test.java:668:47:668:54 | source(...) : Object | Test.java:44:22:44:35 | element : Object | Test.java:44:47:44:62 | of(...) : List [] : Object | Test.java:668:32:668:55 | newWithElement(...) : List [] : Object | +| Test.java:675:32:675:39 | source(...) : Object | Test.java:45:20:45:33 | element : Object | Test.java:45:45:45:65 | of(...) : Map [] : Object | Test.java:675:18:675:40 | newWithMapKey(...) : Map [] : Object | +| Test.java:682:34:682:41 | source(...) : Object | Test.java:46:22:46:35 | element : Object | Test.java:46:47:46:67 | of(...) : Map [] : Object | Test.java:682:18:682:42 | newWithMapValue(...) : Map [] : Object | +| Test.java:850:47:850:54 | source(...) : Object | Test.java:44:22:44:35 | element : Object | Test.java:44:47:44:62 | of(...) : List [] : Object | Test.java:850:32:850:55 | newWithElement(...) : List [] : Object | +| Test.java:857:43:857:50 | source(...) : Object | Test.java:44:22:44:35 | element : Object | Test.java:44:47:44:62 | of(...) : List [] : Object | Test.java:857:28:857:51 | newWithElement(...) : List [] : Object | +| Test.java:1057:48:1057:55 | source(...) : Object | Test.java:43:31:43:44 | element : Object | Test.java:43:56:43:79 | new Object[] : Object[] [[]] : Object | Test.java:1057:28:1057:56 | newWithArrayElement(...) : Object[] [[]] : Object | +| Test.java:1071:32:1071:39 | source(...) : Object | Test.java:45:20:45:33 | element : Object | Test.java:45:45:45:65 | of(...) : Map [] : Object | Test.java:1071:18:1071:40 | newWithMapKey(...) : Map [] : Object | +| Test.java:1078:34:1078:41 | source(...) : Object | Test.java:46:22:46:35 | element : Object | Test.java:46:47:46:67 | of(...) : Map [] : Object | Test.java:1078:18:1078:42 | newWithMapValue(...) : Map [] : Object | +| Test.java:1099:48:1099:55 | source(...) : Object | Test.java:43:31:43:44 | element : Object | Test.java:43:56:43:79 | new Object[] : Object[] [[]] : Object | Test.java:1099:28:1099:56 | newWithArrayElement(...) : Object[] [[]] : Object | +| Test.java:1248:25:1248:27 | out : String[] [[]] : Object | Test.java:38:25:38:42 | container : String[] [[]] : Object | Test.java:38:54:38:65 | ...[...] : Object | Test.java:1248:9:1248:28 | getArrayElement(...) | +| Test.java:1255:25:1255:27 | out : String[] [[]] : Object | Test.java:38:25:38:42 | container : String[] [[]] : Object | Test.java:38:54:38:65 | ...[...] : Object | Test.java:1255:9:1255:28 | getArrayElement(...) | +| Test.java:1290:20:1290:22 | out : Set [] : Object | Test.java:39:20:39:39 | container : Set [] : Object | Test.java:39:51:39:77 | next(...) : Object | Test.java:1290:9:1290:23 | getElement(...) | +| Test.java:1297:20:1297:22 | out : Iterator [] : Object | Test.java:40:20:40:30 | it : Iterator [] : Object | Test.java:40:42:40:50 | next(...) : Object | Test.java:1297:9:1297:23 | getElement(...) | +| Test.java:1564:47:1564:54 | source(...) : Object | Test.java:44:22:44:35 | element : Object | Test.java:44:47:44:62 | of(...) : List [] : Object | Test.java:1564:32:1564:55 | newWithElement(...) : List [] : Object | +| Test.java:1578:32:1578:39 | source(...) : Object | Test.java:45:20:45:33 | element : Object | Test.java:45:45:45:65 | of(...) : Map [] : Object | Test.java:1578:18:1578:40 | newWithMapKey(...) : Map [] : Object | +| Test.java:1585:34:1585:41 | source(...) : Object | Test.java:46:22:46:35 | element : Object | Test.java:46:47:46:67 | of(...) : Map [] : Object | Test.java:1585:18:1585:42 | newWithMapValue(...) : Map [] : Object | +| Test.java:1832:19:1832:21 | out : Map [] : Object | Test.java:41:19:41:31 | container : Map [] : Object | Test.java:41:43:41:78 | next(...) : Object | Test.java:1832:9:1832:22 | getMapKey(...) | +| Test.java:1839:21:1839:23 | out : Map [] : Object | Test.java:42:21:42:33 | container : Map [] : Object | Test.java:42:45:42:63 | get(...) : Object | Test.java:1839:9:1839:24 | getMapValue(...) | +| Test.java:1937:35:1937:42 | source(...) : Object | Test.java:44:22:44:35 | element : Object | Test.java:44:47:44:62 | of(...) : List [] : Object | Test.java:1937:20:1937:43 | newWithElement(...) : List [] : Object | +| Test.java:2200:46:2200:53 | source(...) : Object | Test.java:45:20:45:33 | element : Object | Test.java:45:45:45:65 | of(...) : Map [] : Object | Test.java:2200:32:2200:54 | newWithMapKey(...) : Map [] : Object | +| Test.java:2207:48:2207:55 | source(...) : Object | Test.java:46:22:46:35 | element : Object | Test.java:46:47:46:67 | of(...) : Map [] : Object | Test.java:2207:32:2207:56 | newWithMapValue(...) : Map [] : Object | +| Test.java:2216:19:2216:21 | out : Properties [] : Object | Test.java:41:19:41:31 | container : Properties [] : Object | Test.java:41:43:41:78 | next(...) : Object | Test.java:2216:9:2216:22 | getMapKey(...) | +| Test.java:2223:21:2223:23 | out : Properties [] : Object | Test.java:42:21:42:33 | container : Properties [] : Object | Test.java:42:45:42:63 | get(...) : Object | Test.java:2223:9:2223:24 | getMapValue(...) | +testFailures diff --git a/java/ql/test/library-tests/frameworks/netty/generated/test.expected b/java/ql/test/library-tests/frameworks/netty/generated/test.expected index e69de29bb2d..f3c373ae9c5 100644 --- a/java/ql/test/library-tests/frameworks/netty/generated/test.expected +++ b/java/ql/test/library-tests/frameworks/netty/generated/test.expected @@ -0,0 +1,11482 @@ +models +| 1 | Summary: io.netty.buffer; ByteBufConvertible; true; asByteBuf; (); ; Argument[this]; ReturnValue; taint; manual | +| 2 | Summary: io.netty.buffer; ByteBuf; true; array; (); ; Argument[this]; ReturnValue; taint; manual | +| 3 | Summary: io.netty.buffer; ByteBuf; true; asReadOnly; (); ; Argument[this]; ReturnValue; taint; manual | +| 4 | Summary: io.netty.buffer; ByteBuf; true; capacity; (int); ; Argument[this]; ReturnValue; value; manual | +| 5 | Summary: io.netty.buffer; ByteBuf; true; copy; ; ; Argument[this]; ReturnValue; taint; manual | +| 6 | Summary: io.netty.buffer; ByteBuf; true; discardReadBytes; (); ; Argument[this]; ReturnValue; value; manual | +| 7 | Summary: io.netty.buffer; ByteBuf; true; discardSomeReadBytes; (); ; Argument[this]; ReturnValue; value; manual | +| 8 | Summary: io.netty.buffer; ByteBuf; true; duplicate; (); ; Argument[this]; ReturnValue; taint; manual | +| 9 | Summary: io.netty.buffer; ByteBuf; true; ensureWritable; (int); ; Argument[this]; ReturnValue; value; manual | +| 10 | Summary: io.netty.buffer; ByteBuf; true; getBytes; (int,byte[]); ; Argument[this]; ReturnValue; value; manual | +| 11 | Summary: io.netty.buffer; ByteBuf; true; getBytes; (int,byte[],int,int); ; Argument[this]; ReturnValue; value; manual | +| 12 | Summary: io.netty.buffer; ByteBuf; true; getBytes; (int,ByteBuf); ; Argument[this]; ReturnValue; value; manual | +| 13 | Summary: io.netty.buffer; ByteBuf; true; getBytes; (int,ByteBuffer); ; Argument[this]; ReturnValue; value; manual | +| 14 | Summary: io.netty.buffer; ByteBuf; true; getBytes; (int,ByteBuf,int); ; Argument[this]; ReturnValue; value; manual | +| 15 | Summary: io.netty.buffer; ByteBuf; true; getBytes; (int,ByteBuf,int,int); ; Argument[this]; ReturnValue; value; manual | +| 16 | Summary: io.netty.buffer; ByteBuf; true; getBytes; (int,OutputStream,int); ; Argument[this]; ReturnValue; value; manual | +| 17 | Summary: io.netty.buffer; ByteBuf; true; markReaderIndex; (); ; Argument[this]; ReturnValue; value; manual | +| 18 | Summary: io.netty.buffer; ByteBuf; true; markWriterIndex; (); ; Argument[this]; ReturnValue; value; manual | +| 19 | Summary: io.netty.buffer; ByteBuf; true; nioBuffer; ; ; Argument[this]; ReturnValue; taint; manual | +| 20 | Summary: io.netty.buffer; ByteBuf; true; nioBuffers; ; ; Argument[this]; ReturnValue; taint; manual | +| 21 | Summary: io.netty.buffer; ByteBuf; true; order; (ByteOrder); ; Argument[this]; ReturnValue; taint; manual | +| 22 | Summary: io.netty.buffer; ByteBuf; true; readBytes; (byte[]); ; Argument[this]; ReturnValue; value; manual | +| 23 | Summary: io.netty.buffer; ByteBuf; true; readBytes; (byte[],int,int); ; Argument[this]; ReturnValue; value; manual | +| 24 | Summary: io.netty.buffer; ByteBuf; true; readBytes; (ByteBuf); ; Argument[this]; ReturnValue; value; manual | +| 25 | Summary: io.netty.buffer; ByteBuf; true; readBytes; (ByteBuffer); ; Argument[this]; ReturnValue; value; manual | +| 26 | Summary: io.netty.buffer; ByteBuf; true; readBytes; (ByteBuf,int); ; Argument[this]; ReturnValue; value; manual | +| 27 | Summary: io.netty.buffer; ByteBuf; true; readBytes; (ByteBuf,int,int); ; Argument[this]; ReturnValue; value; manual | +| 28 | Summary: io.netty.buffer; ByteBuf; true; readBytes; (OutputStream,int); ; Argument[this]; ReturnValue; value; manual | +| 29 | Summary: io.netty.buffer; ByteBuf; true; readerIndex; (int); ; Argument[this]; ReturnValue; value; manual | +| 30 | Summary: io.netty.buffer; ByteBuf; true; resetReaderIndex; (); ; Argument[this]; ReturnValue; value; manual | +| 31 | Summary: io.netty.buffer; ByteBuf; true; resetWriterIndex; (); ; Argument[this]; ReturnValue; value; manual | +| 32 | Summary: io.netty.buffer; ByteBuf; true; retainedDuplicate; (); ; Argument[this]; ReturnValue; taint; manual | +| 33 | Summary: io.netty.buffer; ByteBuf; true; retainedSlice; ; ; Argument[this]; ReturnValue; taint; manual | +| 34 | Summary: io.netty.buffer; ByteBuf; true; setBoolean; ; ; Argument[this]; ReturnValue; value; manual | +| 35 | Summary: io.netty.buffer; ByteBuf; true; setByte; ; ; Argument[this]; ReturnValue; value; manual | +| 36 | Summary: io.netty.buffer; ByteBuf; true; setBytes; (int,byte[]); ; Argument[this]; ReturnValue; value; manual | +| 37 | Summary: io.netty.buffer; ByteBuf; true; setBytes; (int,byte[],int,int); ; Argument[this]; ReturnValue; value; manual | +| 38 | Summary: io.netty.buffer; ByteBuf; true; setBytes; (int,ByteBuf); ; Argument[this]; ReturnValue; value; manual | +| 39 | Summary: io.netty.buffer; ByteBuf; true; setBytes; (int,ByteBuffer); ; Argument[this]; ReturnValue; value; manual | +| 40 | Summary: io.netty.buffer; ByteBuf; true; setBytes; (int,ByteBuf,int); ; Argument[this]; ReturnValue; value; manual | +| 41 | Summary: io.netty.buffer; ByteBuf; true; setBytes; (int,ByteBuf,int,int); ; Argument[this]; ReturnValue; value; manual | +| 42 | Summary: io.netty.buffer; ByteBuf; true; setChar; ; ; Argument[this]; ReturnValue; value; manual | +| 43 | Summary: io.netty.buffer; ByteBuf; true; setDouble; ; ; Argument[this]; ReturnValue; value; manual | +| 44 | Summary: io.netty.buffer; ByteBuf; true; setDoubleLE; ; ; Argument[this]; ReturnValue; value; manual | +| 45 | Summary: io.netty.buffer; ByteBuf; true; setFloat; ; ; Argument[this]; ReturnValue; value; manual | +| 46 | Summary: io.netty.buffer; ByteBuf; true; setFloatLE; ; ; Argument[this]; ReturnValue; value; manual | +| 47 | Summary: io.netty.buffer; ByteBuf; true; setIndex; ; ; Argument[this]; ReturnValue; value; manual | +| 48 | Summary: io.netty.buffer; ByteBuf; true; setInt; ; ; Argument[this]; ReturnValue; value; manual | +| 49 | Summary: io.netty.buffer; ByteBuf; true; setIntLE; ; ; Argument[this]; ReturnValue; value; manual | +| 50 | Summary: io.netty.buffer; ByteBuf; true; setLong; ; ; Argument[this]; ReturnValue; value; manual | +| 51 | Summary: io.netty.buffer; ByteBuf; true; setLongLE; ; ; Argument[this]; ReturnValue; value; manual | +| 52 | Summary: io.netty.buffer; ByteBuf; true; setMedium; ; ; Argument[this]; ReturnValue; value; manual | +| 53 | Summary: io.netty.buffer; ByteBuf; true; setMediumLE; ; ; Argument[this]; ReturnValue; value; manual | +| 54 | Summary: io.netty.buffer; ByteBuf; true; setShort; ; ; Argument[this]; ReturnValue; value; manual | +| 55 | Summary: io.netty.buffer; ByteBuf; true; setShortLE; ; ; Argument[this]; ReturnValue; value; manual | +| 56 | Summary: io.netty.buffer; ByteBuf; true; setZero; ; ; Argument[this]; ReturnValue; value; manual | +| 57 | Summary: io.netty.buffer; ByteBuf; true; skipBytes; (int); ; Argument[this]; ReturnValue; value; manual | +| 58 | Summary: io.netty.buffer; ByteBuf; true; slice; ; ; Argument[this]; ReturnValue; taint; manual | +| 59 | Summary: io.netty.buffer; ByteBuf; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 60 | Summary: io.netty.buffer; ByteBuf; true; unwrap; (); ; Argument[this]; ReturnValue; taint; manual | +| 61 | Summary: io.netty.buffer; ByteBuf; true; writeBoolean; ; ; Argument[this]; ReturnValue; value; manual | +| 62 | Summary: io.netty.buffer; ByteBuf; true; writeByte; ; ; Argument[this]; ReturnValue; value; manual | +| 63 | Summary: io.netty.buffer; ByteBuf; true; writeBytes; (byte[]); ; Argument[this]; ReturnValue; value; manual | +| 64 | Summary: io.netty.buffer; ByteBuf; true; writeBytes; (byte[],int,int); ; Argument[this]; ReturnValue; value; manual | +| 65 | Summary: io.netty.buffer; ByteBuf; true; writeBytes; (ByteBuf); ; Argument[this]; ReturnValue; value; manual | +| 66 | Summary: io.netty.buffer; ByteBuf; true; writeBytes; (ByteBuffer); ; Argument[this]; ReturnValue; value; manual | +| 67 | Summary: io.netty.buffer; ByteBuf; true; writeBytes; (ByteBuf,int); ; Argument[this]; ReturnValue; value; manual | +| 68 | Summary: io.netty.buffer; ByteBuf; true; writeBytes; (ByteBuf,int,int); ; Argument[this]; ReturnValue; value; manual | +| 69 | Summary: io.netty.buffer; ByteBuf; true; writeChar; ; ; Argument[this]; ReturnValue; value; manual | +| 70 | Summary: io.netty.buffer; ByteBuf; true; writeDouble; ; ; Argument[this]; ReturnValue; value; manual | +| 71 | Summary: io.netty.buffer; ByteBuf; true; writeDoubleLE; ; ; Argument[this]; ReturnValue; value; manual | +| 72 | Summary: io.netty.buffer; ByteBuf; true; writeFloat; ; ; Argument[this]; ReturnValue; value; manual | +| 73 | Summary: io.netty.buffer; ByteBuf; true; writeFloatLE; ; ; Argument[this]; ReturnValue; value; manual | +| 74 | Summary: io.netty.buffer; ByteBuf; true; writeInt; ; ; Argument[this]; ReturnValue; value; manual | +| 75 | Summary: io.netty.buffer; ByteBuf; true; writeIntLE; ; ; Argument[this]; ReturnValue; value; manual | +| 76 | Summary: io.netty.buffer; ByteBuf; true; writeLong; ; ; Argument[this]; ReturnValue; value; manual | +| 77 | Summary: io.netty.buffer; ByteBuf; true; writeLongLE; ; ; Argument[this]; ReturnValue; value; manual | +| 78 | Summary: io.netty.buffer; ByteBuf; true; writeMedium; ; ; Argument[this]; ReturnValue; value; manual | +| 79 | Summary: io.netty.buffer; ByteBuf; true; writeMediumLE; ; ; Argument[this]; ReturnValue; value; manual | +| 80 | Summary: io.netty.buffer; ByteBuf; true; writeShort; ; ; Argument[this]; ReturnValue; value; manual | +| 81 | Summary: io.netty.buffer; ByteBuf; true; writeShortLE; ; ; Argument[this]; ReturnValue; value; manual | +| 82 | Summary: io.netty.buffer; ByteBuf; true; writeZero; ; ; Argument[this]; ReturnValue; value; manual | +| 83 | Summary: io.netty.buffer; ByteBuf; true; writerIndex; (int); ; Argument[this]; ReturnValue; value; manual | +| 84 | Summary: io.netty.buffer; ByteBufHolder; true; copy; (); ; Argument[this]; ReturnValue; taint; manual | +| 85 | Summary: io.netty.buffer; ByteBufHolder; true; content; (); ; Argument[this]; ReturnValue; taint; manual | +| 86 | Summary: io.netty.buffer; ByteBufHolder; true; duplicate; (); ; Argument[this]; ReturnValue; taint; manual | +| 87 | Summary: io.netty.buffer; ByteBufHolder; true; retainedDuplicate; (); ; Argument[this]; ReturnValue; taint; manual | +| 88 | Summary: io.netty.buffer; ByteBufHolder; true; replace; (ByteBuf); ; Argument[0]; ReturnValue; taint; manual | +| 89 | Summary: io.netty.buffer; ByteBuf; true; getBytes; (int,byte[]); ; Argument[this]; Argument[1]; taint; manual | +| 90 | Summary: io.netty.buffer; ByteBuf; true; getBytes; (int,byte[],int,int); ; Argument[this]; Argument[1]; taint; manual | +| 91 | Summary: io.netty.buffer; ByteBuf; true; getBytes; (int,ByteBuf); ; Argument[this]; Argument[1]; taint; manual | +| 92 | Summary: io.netty.buffer; ByteBuf; true; getBytes; (int,ByteBuffer); ; Argument[this]; Argument[1]; taint; manual | +| 93 | Summary: io.netty.buffer; ByteBuf; true; getBytes; (int,ByteBuf,int); ; Argument[this]; Argument[1]; taint; manual | +| 94 | Summary: io.netty.buffer; ByteBuf; true; getBytes; (int,ByteBuf,int,int); ; Argument[this]; Argument[1]; taint; manual | +| 95 | Summary: io.netty.buffer; ByteBuf; true; getBytes; (int,FileChannel,long,int); ; Argument[this]; Argument[1]; taint; manual | +| 96 | Summary: io.netty.buffer; ByteBuf; true; getBytes; (int,GatheringByteChannel,int); ; Argument[this]; Argument[1]; taint; manual | +| 97 | Summary: io.netty.buffer; ByteBuf; true; getBytes; (int,OutputStream,int); ; Argument[this]; Argument[1]; taint; manual | +| 98 | Summary: io.netty.buffer; ByteBuf; true; getChar; ; ; Argument[this]; ReturnValue; taint; manual | +| 99 | Summary: io.netty.buffer; ByteBuf; true; getCharSequence; ; ; Argument[this]; ReturnValue; taint; manual | +| 100 | Summary: io.netty.buffer; ByteBuf; true; readBytes; (byte[]); ; Argument[this]; Argument[0]; taint; manual | +| 101 | Summary: io.netty.buffer; ByteBuf; true; readBytes; (byte[],int,int); ; Argument[this]; Argument[0]; taint; manual | +| 102 | Summary: io.netty.buffer; ByteBuf; true; readBytes; (ByteBuf); ; Argument[this]; Argument[0]; taint; manual | +| 103 | Summary: io.netty.buffer; ByteBuf; true; readBytes; (ByteBuffer); ; Argument[this]; Argument[0]; taint; manual | +| 104 | Summary: io.netty.buffer; ByteBuf; true; readBytes; (ByteBuf,int); ; Argument[this]; Argument[0]; taint; manual | +| 105 | Summary: io.netty.buffer; ByteBuf; true; readBytes; (ByteBuf,int,int); ; Argument[this]; Argument[0]; taint; manual | +| 106 | Summary: io.netty.buffer; ByteBuf; true; readBytes; (FileChannel,long,int); ; Argument[this]; Argument[0]; taint; manual | +| 107 | Summary: io.netty.buffer; ByteBuf; true; readBytes; (GatheringByteChannel,int); ; Argument[this]; Argument[0]; taint; manual | +| 108 | Summary: io.netty.buffer; ByteBuf; true; readBytes; (OutputStream,int); ; Argument[this]; Argument[0]; taint; manual | +| 109 | Summary: io.netty.buffer; ByteBuf; true; readBytes; (int); ; Argument[this]; ReturnValue; taint; manual | +| 110 | Summary: io.netty.buffer; ByteBuf; true; readChar; ; ; Argument[this]; ReturnValue; taint; manual | +| 111 | Summary: io.netty.buffer; ByteBuf; true; readCharSequence; ; ; Argument[this]; ReturnValue; taint; manual | +| 112 | Summary: io.netty.buffer; ByteBuf; true; readSlice; (int); ; Argument[this]; ReturnValue; taint; manual | +| 113 | Summary: io.netty.buffer; ByteBuf; true; readRetainedSlice; (int); ; Argument[this]; ReturnValue; taint; manual | +| 114 | Summary: io.netty.buffer; ByteBuf; true; setBytes; (int,byte[]); ; Argument[1]; Argument[this]; taint; manual | +| 115 | Summary: io.netty.buffer; ByteBuf; true; setBytes; (int,byte[],int,int); ; Argument[1]; Argument[this]; taint; manual | +| 116 | Summary: io.netty.buffer; ByteBuf; true; setBytes; (int,ByteBuf); ; Argument[1]; Argument[this]; taint; manual | +| 117 | Summary: io.netty.buffer; ByteBuf; true; setBytes; (int,ByteBuffer); ; Argument[1]; Argument[this]; taint; manual | +| 118 | Summary: io.netty.buffer; ByteBuf; true; setBytes; (int,ByteBuf,int); ; Argument[1]; Argument[this]; taint; manual | +| 119 | Summary: io.netty.buffer; ByteBuf; true; setBytes; (int,ByteBuf,int,int); ; Argument[1]; Argument[this]; taint; manual | +| 120 | Summary: io.netty.buffer; ByteBuf; true; setBytes; (int,FileChannel,long,int); ; Argument[1]; Argument[this]; taint; manual | +| 121 | Summary: io.netty.buffer; ByteBuf; true; setBytes; (int,ScatteringByteChannel,int); ; Argument[1]; Argument[this]; taint; manual | +| 122 | Summary: io.netty.buffer; ByteBuf; true; setBytes; (int,InputStream,int); ; Argument[1]; Argument[this]; taint; manual | +| 123 | Summary: io.netty.buffer; ByteBuf; true; setChar; ; ; Argument[1]; Argument[this]; taint; manual | +| 124 | Summary: io.netty.buffer; ByteBuf; true; setCharSequence; ; ; Argument[1]; Argument[this]; taint; manual | +| 125 | Summary: io.netty.buffer; ByteBuf; true; writeByte; ; ; Argument[0]; Argument[this]; taint; manual | +| 126 | Summary: io.netty.buffer; ByteBuf; true; writeBytes; (byte[]); ; Argument[0]; Argument[this]; taint; manual | +| 127 | Summary: io.netty.buffer; ByteBuf; true; writeBytes; (byte[],int,int); ; Argument[0]; Argument[this]; taint; manual | +| 128 | Summary: io.netty.buffer; ByteBuf; true; writeBytes; (ByteBuf); ; Argument[0]; Argument[this]; taint; manual | +| 129 | Summary: io.netty.buffer; ByteBuf; true; writeBytes; (ByteBuffer); ; Argument[0]; Argument[this]; taint; manual | +| 130 | Summary: io.netty.buffer; ByteBuf; true; writeBytes; (ByteBuf,int); ; Argument[0]; Argument[this]; taint; manual | +| 131 | Summary: io.netty.buffer; ByteBuf; true; writeBytes; (ByteBuf,int,int); ; Argument[0]; Argument[this]; taint; manual | +| 132 | Summary: io.netty.buffer; ByteBuf; true; writeBytes; (FileChannel,long,int); ; Argument[0]; Argument[this]; taint; manual | +| 133 | Summary: io.netty.buffer; ByteBuf; true; writeBytes; (ScatteringByteChannel,int); ; Argument[0]; Argument[this]; taint; manual | +| 134 | Summary: io.netty.buffer; ByteBuf; true; writeBytes; (InputStream,int); ; Argument[0]; Argument[this]; taint; manual | +| 135 | Summary: io.netty.buffer; ByteBuf; true; writeChar; ; ; Argument[0]; Argument[this]; taint; manual | +| 136 | Summary: io.netty.buffer; ByteBuf; true; writeCharSequence; ; ; Argument[0]; Argument[this]; taint; manual | +| 137 | Summary: io.netty.buffer; CompositeByteBuf; false; CompositeByteBuf; (ByteBufAllocator,boolean,int,ByteBuf[]); ; Argument[3].ArrayElement; Argument[this]; taint; manual | +| 138 | Summary: io.netty.buffer; CompositeByteBuf; false; CompositeByteBuf; (ByteBufAllocator,boolean,int,Iterable); ; Argument[3].Element; Argument[this]; taint; manual | +| 139 | Summary: io.netty.buffer; CompositeByteBuf; true; addComponent; (ByteBuf); ; Argument[0]; Argument[this]; taint; manual | +| 140 | Summary: io.netty.buffer; CompositeByteBuf; true; addComponent; (int,ByteBuf); ; Argument[1]; Argument[this]; taint; manual | +| 141 | Summary: io.netty.buffer; CompositeByteBuf; true; addComponent; (boolean,ByteBuf); ; Argument[1]; Argument[this]; taint; manual | +| 142 | Summary: io.netty.buffer; CompositeByteBuf; true; addComponent; (boolean,int,ByteBuf); ; Argument[2]; Argument[this]; taint; manual | +| 143 | Summary: io.netty.buffer; CompositeByteBuf; true; addComponents; (ByteBuf[]); ; Argument[0].ArrayElement; Argument[this]; taint; manual | +| 144 | Summary: io.netty.buffer; CompositeByteBuf; true; addComponents; (int,ByteBuf[]); ; Argument[1].ArrayElement; Argument[this]; taint; manual | +| 145 | Summary: io.netty.buffer; CompositeByteBuf; true; addComponents; (boolean,ByteBuf[]); ; Argument[1].ArrayElement; Argument[this]; taint; manual | +| 146 | Summary: io.netty.buffer; CompositeByteBuf; true; addComponents; (Iterable); ; Argument[0].Element; Argument[this]; taint; manual | +| 147 | Summary: io.netty.buffer; CompositeByteBuf; true; addComponents; (int,Iterable); ; Argument[1].Element; Argument[this]; taint; manual | +| 148 | Summary: io.netty.buffer; CompositeByteBuf; true; addComponents; (boolean,Iterable); ; Argument[1].Element; Argument[this]; taint; manual | +| 149 | Summary: io.netty.buffer; CompositeByteBuf; true; addFlattenedComponents; (boolean,ByteBuf); ; Argument[1]; Argument[this]; taint; manual | +| 150 | Summary: io.netty.buffer; CompositeByteBuf; true; addComponent; ; ; Argument[this]; ReturnValue; value; manual | +| 151 | Summary: io.netty.buffer; CompositeByteBuf; true; addComponents; ; ; Argument[this]; ReturnValue; value; manual | +| 152 | Summary: io.netty.buffer; CompositeByteBuf; true; addFlattenedComponents; ; ; Argument[this]; ReturnValue; value; manual | +| 153 | Summary: io.netty.buffer; CompositeByteBuf; true; component; (int); ; Argument[this]; ReturnValue; taint; manual | +| 154 | Summary: io.netty.buffer; CompositeByteBuf; true; componentAtOffset; (int); ; Argument[this]; ReturnValue; taint; manual | +| 155 | Summary: io.netty.buffer; CompositeByteBuf; true; consolidate; (); ; Argument[this]; ReturnValue; taint; manual | +| 156 | Summary: io.netty.buffer; CompositeByteBuf; true; consolidate; (int,int); ; Argument[this]; ReturnValue; taint; manual | +| 157 | Summary: io.netty.buffer; CompositeByteBuf; true; decompose; (int,int); ; Argument[this]; ReturnValue.Element; taint; manual | +| 158 | Summary: io.netty.buffer; Unpooled; false; copiedBuffer; (byte[]); ; Argument[0]; ReturnValue; taint; manual | +| 159 | Summary: io.netty.buffer; Unpooled; false; copiedBuffer; (byte[][]); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 160 | Summary: io.netty.buffer; Unpooled; false; copiedBuffer; (byte[],int,int); ; Argument[0]; ReturnValue; taint; manual | +| 161 | Summary: io.netty.buffer; Unpooled; false; copiedBuffer; (ByteBuf); ; Argument[0]; ReturnValue; taint; manual | +| 162 | Summary: io.netty.buffer; Unpooled; false; copiedBuffer; (ByteBuf[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 163 | Summary: io.netty.buffer; Unpooled; false; copiedBuffer; (ByteBuffer); ; Argument[0]; ReturnValue; taint; manual | +| 164 | Summary: io.netty.buffer; Unpooled; false; copiedBuffer; (ByteBuffer[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 165 | Summary: io.netty.buffer; Unpooled; false; copiedBuffer; (char[],Charset); ; Argument[0]; ReturnValue; taint; manual | +| 166 | Summary: io.netty.buffer; Unpooled; false; copiedBuffer; (char[],int,int,Charset); ; Argument[0]; ReturnValue; taint; manual | +| 167 | Summary: io.netty.buffer; Unpooled; false; copiedBuffer; (CharSequence,Charset); ; Argument[0]; ReturnValue; taint; manual | +| 168 | Summary: io.netty.buffer; Unpooled; false; copiedBuffer; (CharSequence,int,int,Charset); ; Argument[0]; ReturnValue; taint; manual | +| 169 | Summary: io.netty.buffer; Unpooled; false; unmodifiableBuffer; (ByteBuf); ; Argument[0]; ReturnValue; taint; manual | +| 170 | Summary: io.netty.buffer; Unpooled; false; unmodifiableBuffer; (ByteBuf[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 171 | Summary: io.netty.buffer; Unpooled; false; unreleasableBuffer; (ByteBuf); ; Argument[0]; ReturnValue; taint; manual | +| 172 | Summary: io.netty.buffer; Unpooled; false; wrappedBuffer; (byte[]); ; Argument[0]; ReturnValue; taint; manual | +| 173 | Summary: io.netty.buffer; Unpooled; false; wrappedBuffer; (byte[][]); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 174 | Summary: io.netty.buffer; Unpooled; false; wrappedBuffer; (byte[],int,int); ; Argument[0]; ReturnValue; taint; manual | +| 175 | Summary: io.netty.buffer; Unpooled; false; wrappedBuffer; (ByteBuf); ; Argument[0]; ReturnValue; taint; manual | +| 176 | Summary: io.netty.buffer; Unpooled; false; wrappedBuffer; (ByteBuf[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 177 | Summary: io.netty.buffer; Unpooled; false; wrappedBuffer; (ByteBuffer); ; Argument[0]; ReturnValue; taint; manual | +| 178 | Summary: io.netty.buffer; Unpooled; false; wrappedBuffer; (ByteBuffer[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 179 | Summary: io.netty.buffer; Unpooled; false; wrappedBuffer; (int,byte[][]); ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 180 | Summary: io.netty.buffer; Unpooled; false; wrappedBuffer; (int,ByteBuf[]); ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 181 | Summary: io.netty.buffer; Unpooled; false; wrappedBuffer; (int,ByteBuffer[]); ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 182 | Summary: io.netty.buffer; Unpooled; false; wrappedUnmodifiableBuffer; (ByteBuf[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 183 | Summary: io.netty.buffer; ByteBufUtil; false; copy; (AsciiString,ByteBuf); ; Argument[0]; Argument[1]; taint; manual | +| 184 | Summary: io.netty.buffer; ByteBufUtil; false; copy; (AsciiString,int,ByteBuf,int); ; Argument[0]; Argument[2]; taint; manual | +| 185 | Summary: io.netty.buffer; ByteBufUtil; false; copy; (AsciiString,int,ByteBuf,int,int); ; Argument[0]; Argument[2]; taint; manual | +| 186 | Summary: io.netty.buffer; ByteBufUtil; false; decodeHexDump; (CharSequence); ; Argument[0]; ReturnValue; taint; manual | +| 187 | Summary: io.netty.buffer; ByteBufUtil; false; decodeHexDump; (CharSequence,int,int); ; Argument[0]; ReturnValue; taint; manual | +| 188 | Summary: io.netty.buffer; ByteBufUtil; false; encodeString; (ByteBufAllocator,CharBuffer,Charset); ; Argument[1]; ReturnValue; taint; manual | +| 189 | Summary: io.netty.buffer; ByteBufUtil; false; encodeString; (ByteBufAllocator,CharBuffer,Charset,int); ; Argument[1]; ReturnValue; taint; manual | +| 190 | Summary: io.netty.buffer; ByteBufUtil; false; ensureAccessible; (ByteBuf); ; Argument[0]; ReturnValue; value; manual | +| 191 | Summary: io.netty.buffer; ByteBufUtil; false; getBytes; (ByteBuf); ; Argument[0]; ReturnValue; taint; manual | +| 192 | Summary: io.netty.buffer; ByteBufUtil; false; getBytes; (ByteBuf,int,int); ; Argument[0]; ReturnValue; taint; manual | +| 193 | Summary: io.netty.buffer; ByteBufUtil; false; getBytes; (ByteBuf,int,int,boolean); ; Argument[0]; ReturnValue; taint; manual | +| 194 | Summary: io.netty.buffer; ByteBufUtil; false; readBytes; (ByteBufAllocator,ByteBuf,int); ; Argument[1]; ReturnValue; taint; manual | +| 195 | Summary: io.netty.buffer; ByteBufUtil; false; reserveAndWriteUtf8; (ByteBuf,CharSequence,int); ; Argument[1]; Argument[0]; taint; manual | +| 196 | Summary: io.netty.buffer; ByteBufUtil; false; reserveAndWriteUtf8; (ByteBuf,CharSequence,int,int,int); ; Argument[1]; Argument[0]; taint; manual | +| 197 | Summary: io.netty.buffer; ByteBufUtil; false; setShortBE; (ByteBuf,int,int); ; Argument[0]; ReturnValue; value; manual | +| 198 | Summary: io.netty.buffer; ByteBufUtil; false; writeAscii; (ByteBuf,CharSequence); ; Argument[1]; Argument[0]; taint; manual | +| 199 | Summary: io.netty.buffer; ByteBufUtil; false; writeAscii; (ByteBufAllocator,CharSequence); ; Argument[1]; ReturnValue; taint; manual | +| 200 | Summary: io.netty.buffer; ByteBufUtil; false; writeShortBE; (ByteBuf,int); ; Argument[0]; ReturnValue; value; manual | +| 201 | Summary: io.netty.buffer; ByteBufUtil; false; writeMediumBE; (ByteBuf,int); ; Argument[0]; ReturnValue; value; manual | +| 202 | Summary: io.netty.buffer; ByteBufUtil; false; writeUtf8; (ByteBuf,CharSequence); ; Argument[1]; Argument[0]; taint; manual | +| 203 | Summary: io.netty.buffer; ByteBufUtil; false; writeUtf8; (ByteBuf,CharSequence,int,int); ; Argument[1]; Argument[0]; taint; manual | +| 204 | Summary: io.netty.buffer; ByteBufUtil; false; writeUtf8; (ByteBufAllocator,CharSequence); ; Argument[1]; ReturnValue; taint; manual | +| 205 | Summary: io.netty.buffer; ByteBufInputStream; true; ByteBufInputStream; ; ; Argument[0]; Argument[this]; taint; manual | +| 206 | Summary: io.netty.buffer; ByteBufOutputStream; true; ByteBufOutputStream; ; ; Argument[0]; Argument[this]; taint; manual | +| 207 | Summary: io.netty.buffer; ByteBufOutputStream; true; buffer; (); ; Argument[this]; ReturnValue; taint; manual | +| 208 | Summary: io.netty.handler.codec.base64; Base64; true; decode; ; ; Argument[0]; ReturnValue; taint; manual | +| 209 | Summary: io.netty.handler.codec.base64; Base64; true; encode; ; ; Argument[0]; ReturnValue; taint; manual | +| 210 | Summary: io.netty.handler.codec.http.cookie; Cookie; true; domain; (); ; Argument[this]; ReturnValue; taint; manual | +| 211 | Summary: io.netty.handler.codec.http.cookie; Cookie; true; name; (); ; Argument[this]; ReturnValue; taint; manual | +| 212 | Summary: io.netty.handler.codec.http.cookie; Cookie; true; path; (); ; Argument[this]; ReturnValue; taint; manual | +| 213 | Summary: io.netty.handler.codec.http.cookie; Cookie; true; value; (); ; Argument[this]; ReturnValue; taint; manual | +| 214 | Summary: io.netty.handler.codec.http.cookie; Cookie; true; setDomain; (String); ; Argument[0]; Argument[this]; taint; manual | +| 215 | Summary: io.netty.handler.codec.http.cookie; Cookie; true; setPath; (String); ; Argument[0]; Argument[this]; taint; manual | +| 216 | Summary: io.netty.handler.codec.http.cookie; Cookie; true; setValue; (String); ; Argument[0]; Argument[this]; taint; manual | +| 217 | Summary: io.netty.handler.codec.http.cookie; ServerCookieDecoder; true; decode; (String); ; Argument[0]; ReturnValue.Element; taint; manual | +| 218 | Summary: io.netty.handler.codec.http.cookie; ServerCookieDecoder; true; decodeAll; (String); ; Argument[0]; ReturnValue.Element; taint; manual | +| 219 | Summary: io.netty.handler.codec.http.cookie; ServerCookieEncoder; true; encode; (Cookie); ; Argument[0]; ReturnValue; taint; manual | +| 220 | Summary: io.netty.handler.codec.http.cookie; ServerCookieEncoder; true; encode; (Cookie[]); ; Argument[0].ArrayElement; ReturnValue.Element; taint; manual | +| 221 | Summary: io.netty.handler.codec.http.cookie; ServerCookieEncoder; true; encode; (Collection); ; Argument[0].Element; ReturnValue.Element; taint; manual | +| 222 | Summary: io.netty.handler.codec.http.cookie; ServerCookieEncoder; true; encode; (Iterable); ; Argument[0].Element; ReturnValue.Element; taint; manual | +| 223 | Summary: io.netty.handler.codec.http.cookie; ServerCookieEncoder; true; encode; (String,String); ; Argument[1..2]; ReturnValue; taint; manual | +| 224 | Summary: io.netty.handler.codec.http; HttpHeaders; true; add; ; ; Argument[this]; ReturnValue; value; manual | +| 225 | Summary: io.netty.handler.codec.http; HttpHeaders; true; add; (CharSequence,Iterable); ; Argument[0]; Argument[this].Element.MapKey; taint; manual | +| 226 | Summary: io.netty.handler.codec.http; HttpHeaders; true; add; (CharSequence,Iterable); ; Argument[1].Element; Argument[this].Element.MapValue; taint; manual | +| 227 | Summary: io.netty.handler.codec.http; HttpHeaders; true; add; (CharSequence,Object); ; Argument[0]; Argument[this].Element.MapKey; taint; manual | +| 228 | Summary: io.netty.handler.codec.http; HttpHeaders; true; add; (CharSequence,Object); ; Argument[1]; Argument[this].Element.MapValue; taint; manual | +| 229 | Summary: io.netty.handler.codec.http; HttpHeaders; true; add; (String,Iterable); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 230 | Summary: io.netty.handler.codec.http; HttpHeaders; true; add; (String,Iterable); ; Argument[1].Element; Argument[this].Element.MapValue; taint; manual | +| 231 | Summary: io.netty.handler.codec.http; HttpHeaders; true; add; (String,Object); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 232 | Summary: io.netty.handler.codec.http; HttpHeaders; true; add; (String,Object); ; Argument[1]; Argument[this].Element.MapValue; taint; manual | +| 233 | Summary: io.netty.handler.codec.http; HttpHeaders; true; add; (HttpHeaders); ; Argument[0].Element.MapKey; Argument[this].Element.MapKey; value; manual | +| 234 | Summary: io.netty.handler.codec.http; HttpHeaders; true; add; (HttpHeaders); ; Argument[0].Element.MapValue; Argument[this].Element.MapValue; taint; manual | +| 235 | Summary: io.netty.handler.codec.http; HttpHeaders; true; addInt; (CharSequence,int); ; Argument[this]; ReturnValue; value; manual | +| 236 | Summary: io.netty.handler.codec.http; HttpHeaders; true; addInt; (CharSequence,int); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 237 | Summary: io.netty.handler.codec.http; HttpHeaders; true; addShort; (CharSequence,short); ; Argument[this]; ReturnValue; value; manual | +| 238 | Summary: io.netty.handler.codec.http; HttpHeaders; true; addShort; (CharSequence,short); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 239 | Summary: io.netty.handler.codec.http; HttpHeaders; true; copy; (); ; Argument[this].Element.MapKey; ReturnValue.Element.MapKey; value; manual | +| 240 | Summary: io.netty.handler.codec.http; HttpHeaders; true; copy; (); ; Argument[this].Element.MapValue; ReturnValue.Element.MapValue; value; manual | +| 241 | Summary: io.netty.handler.codec.http; HttpHeaders; true; entries; (); ; Argument[this].Element.MapKey; ReturnValue.Element.MapKey; value; manual | +| 242 | Summary: io.netty.handler.codec.http; HttpHeaders; true; entries; (); ; Argument[this].Element.MapValue; ReturnValue.Element.MapValue; value; manual | +| 243 | Summary: io.netty.handler.codec.http; HttpHeaders; true; get; ; ; Argument[this].Element.MapValue; ReturnValue; value; manual | +| 244 | Summary: io.netty.handler.codec.http; HttpHeaders; true; get; ; ; Argument[1]; ReturnValue; value; manual | +| 245 | Summary: io.netty.handler.codec.http; HttpHeaders; true; getAll; ; ; Argument[this].Element.MapValue; ReturnValue.Element; value; manual | +| 246 | Summary: io.netty.handler.codec.http; HttpHeaders; true; getAllAsString; ; ; Argument[this].Element.MapValue; ReturnValue.Element; value; manual | +| 247 | Summary: io.netty.handler.codec.http; HttpHeaders; true; getAsString; ; ; Argument[this].Element.MapValue; ReturnValue; value; manual | +| 248 | Summary: io.netty.handler.codec.http; HttpHeaders; true; getHeader; ; ; Argument[0]; ReturnValue; taint; manual | +| 249 | Summary: io.netty.handler.codec.http; HttpHeaders; true; getHeader; ; ; Argument[2]; ReturnValue; value; manual | +| 250 | Summary: io.netty.handler.codec.http; HttpHeaders; true; getHost; ; ; Argument[0]; ReturnValue; taint; manual | +| 251 | Summary: io.netty.handler.codec.http; HttpHeaders; true; getHost; ; ; Argument[1]; ReturnValue; value; manual | +| 252 | Summary: io.netty.handler.codec.http; HttpHeaders; true; iteratorAsString; (); ; Argument[this].Element.MapKey; ReturnValue.Element.MapKey; value; manual | +| 253 | Summary: io.netty.handler.codec.http; HttpHeaders; true; iteratorAsString; (); ; Argument[this].Element.MapValue; ReturnValue.Element.MapValue; value; manual | +| 254 | Summary: io.netty.handler.codec.http; HttpHeaders; true; iteratorCharSequence; (); ; Argument[this].Element.MapKey; ReturnValue.Element.MapKey; taint; manual | +| 255 | Summary: io.netty.handler.codec.http; HttpHeaders; true; iteratorCharSequence; (); ; Argument[this].Element.MapValue; ReturnValue.Element.MapValue; taint; manual | +| 256 | Summary: io.netty.handler.codec.http; HttpHeaders; true; names; (); ; Argument[this].Element.MapKey; ReturnValue.Element; value; manual | +| 257 | Summary: io.netty.handler.codec.http; HttpHeaders; true; newEntity; ; ; Argument[0]; ReturnValue; taint; manual | +| 258 | Summary: io.netty.handler.codec.http; HttpHeaders; true; remove; ; ; Argument[this]; ReturnValue; value; manual | +| 259 | Summary: io.netty.handler.codec.http; HttpHeaders; true; set; ; ; Argument[this]; ReturnValue; value; manual | +| 260 | Summary: io.netty.handler.codec.http; HttpHeaders; true; set; (CharSequence,Iterable); ; Argument[0]; Argument[this].Element.MapKey; taint; manual | +| 261 | Summary: io.netty.handler.codec.http; HttpHeaders; true; set; (CharSequence,Iterable); ; Argument[1].Element; Argument[this].Element.MapValue; taint; manual | +| 262 | Summary: io.netty.handler.codec.http; HttpHeaders; true; set; (CharSequence,Object); ; Argument[0]; Argument[this].Element.MapKey; taint; manual | +| 263 | Summary: io.netty.handler.codec.http; HttpHeaders; true; set; (CharSequence,Object); ; Argument[1]; Argument[this].Element.MapValue; taint; manual | +| 264 | Summary: io.netty.handler.codec.http; HttpHeaders; true; set; (String,Iterable); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 265 | Summary: io.netty.handler.codec.http; HttpHeaders; true; set; (String,Iterable); ; Argument[1].Element; Argument[this].Element.MapValue; taint; manual | +| 266 | Summary: io.netty.handler.codec.http; HttpHeaders; true; set; (String,Object); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 267 | Summary: io.netty.handler.codec.http; HttpHeaders; true; set; (String,Object); ; Argument[1]; Argument[this].Element.MapValue; taint; manual | +| 268 | Summary: io.netty.handler.codec.http; HttpHeaders; true; set; (HttpHeaders); ; Argument[0].Element.MapKey; Argument[this].Element.MapKey; value; manual | +| 269 | Summary: io.netty.handler.codec.http; HttpHeaders; true; set; (HttpHeaders); ; Argument[0].Element.MapValue; Argument[this].Element.MapValue; taint; manual | +| 270 | Summary: io.netty.handler.codec.http; HttpHeaders; true; setAll; (HttpHeaders); ; Argument[this]; ReturnValue; value; manual | +| 271 | Summary: io.netty.handler.codec.http; HttpHeaders; true; setAll; (HttpHeaders); ; Argument[0].Element.MapKey; Argument[this].Element.MapKey; value; manual | +| 272 | Summary: io.netty.handler.codec.http; HttpHeaders; true; setAll; (HttpHeaders); ; Argument[0].Element.MapValue; Argument[this].Element.MapValue; taint; manual | +| 273 | Summary: io.netty.handler.codec.http; HttpHeaders; true; setInt; (CharSequence,int); ; Argument[this]; ReturnValue; value; manual | +| 274 | Summary: io.netty.handler.codec.http; HttpHeaders; true; setInt; (CharSequence,int); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 275 | Summary: io.netty.handler.codec.http; HttpHeaders; true; setShort; (CharSequence,short); ; Argument[this]; ReturnValue; value; manual | +| 276 | Summary: io.netty.handler.codec.http; HttpHeaders; true; setShort; (CharSequence,short); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 277 | Summary: io.netty.handler.codec.http; HttpHeaders; true; valueStringIterator; (CharSequence); ; Argument[this].Element.MapValue; ReturnValue.Element; value; manual | +| 278 | Summary: io.netty.handler.codec.http; HttpHeaders; true; valueCharSequenceIterator; (CharSequence); ; Argument[this].Element.MapValue; ReturnValue.Element; taint; manual | +| 279 | Summary: io.netty.handler.codec.http; HttpHeaders; true; toString; ; ; Argument[this].Element.MapKey; ReturnValue; taint; manual | +| 280 | Summary: io.netty.handler.codec.http; HttpHeaders; true; toString; ; ; Argument[this].Element.MapValue; ReturnValue; taint; manual | +| 281 | Summary: io.netty.handler.codec.http; HttpMessage; true; headers; ; ; Argument[this]; ReturnValue; taint; manual | +| 282 | Summary: io.netty.handler.codec.http; LastHttpContent; true; trailingHeaders; ; ; Argument[this]; ReturnValue; taint; manual | +| 283 | Summary: io.netty.handler.codec.http; HttpRequest; true; getUri; ; ; Argument[this]; ReturnValue; taint; manual | +| 284 | Summary: io.netty.handler.codec.http; HttpRequest; true; uri; ; ; Argument[this]; ReturnValue; taint; manual | +| 285 | Summary: io.netty.handler.codec.http; QueryStringDecoder; true; QueryStringDecoder; ; ; Argument[0]; Argument[this]; taint; manual | +| 286 | Summary: io.netty.handler.codec.http; QueryStringDecoder; true; decodeComponent; ; ; Argument[0]; ReturnValue; taint; manual | +| 287 | Summary: io.netty.handler.codec.http; QueryStringDecoder; true; parameters; ; ; Argument[this]; ReturnValue; taint; manual | +| 288 | Summary: io.netty.handler.codec.http; QueryStringDecoder; true; path; ; ; Argument[this]; ReturnValue; taint; manual | +| 289 | Summary: io.netty.handler.codec.http; QueryStringDecoder; true; rawPath; ; ; Argument[this]; ReturnValue; taint; manual | +| 290 | Summary: io.netty.handler.codec.http; QueryStringDecoder; true; rawQuery; ; ; Argument[this]; ReturnValue; taint; manual | +| 291 | Summary: io.netty.handler.codec.http; QueryStringDecoder; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 292 | Summary: io.netty.handler.codec.http; QueryStringDecoder; true; uri; ; ; Argument[this]; ReturnValue; taint; manual | +| 293 | Summary: io.netty.handler.codec.http.multipart; InterfaceHttpPostRequestDecoder; true; currentPartialHttpData; (); ; Argument[this]; ReturnValue; taint; manual | +| 294 | Summary: io.netty.handler.codec.http.multipart; InterfaceHttpPostRequestDecoder; true; getBodyHttpData; (String); ; Argument[this]; ReturnValue; taint; manual | +| 295 | Summary: io.netty.handler.codec.http.multipart; InterfaceHttpPostRequestDecoder; true; getBodyHttpDatas; (); ; Argument[this]; ReturnValue; taint; manual | +| 296 | Summary: io.netty.handler.codec.http.multipart; InterfaceHttpPostRequestDecoder; true; getBodyHttpDatas; (String); ; Argument[this]; ReturnValue; taint; manual | +| 297 | Summary: io.netty.handler.codec.http.multipart; InterfaceHttpPostRequestDecoder; true; next; (); ; Argument[this]; ReturnValue; taint; manual | +| 298 | Summary: io.netty.handler.codec.http.multipart; InterfaceHttpPostRequestDecoder; true; offer; (HttpContent); ; Argument[0]; Argument[this]; taint; manual | +| 299 | Summary: io.netty.handler.codec.http.multipart; InterfaceHttpPostRequestDecoder; true; offer; (HttpContent); ; Argument[this]; ReturnValue; value; manual | +| 300 | Summary: io.netty.handler.codec.http.multipart; HttpPostRequestDecoder; true; HttpPostRequestDecoder; (HttpRequest); ; Argument[0]; Argument[this]; taint; manual | +| 301 | Summary: io.netty.handler.codec.http.multipart; HttpPostRequestDecoder; true; HttpPostRequestDecoder; (HttpDataFactory,HttpRequest); ; Argument[1]; Argument[this]; taint; manual | +| 302 | Summary: io.netty.handler.codec.http.multipart; HttpPostRequestDecoder; true; HttpPostRequestDecoder; (HttpDataFactory,HttpRequest,Charset); ; Argument[1]; Argument[this]; taint; manual | +| 303 | Summary: io.netty.handler.codec.http.multipart; HttpPostStandardRequestDecoder; true; HttpPostStandardRequestDecoder; (HttpRequest); ; Argument[0]; Argument[this]; taint; manual | +| 304 | Summary: io.netty.handler.codec.http.multipart; HttpPostStandardRequestDecoder; true; HttpPostStandardRequestDecoder; (HttpDataFactory,HttpRequest); ; Argument[1]; Argument[this]; taint; manual | +| 305 | Summary: io.netty.handler.codec.http.multipart; HttpPostStandardRequestDecoder; true; HttpPostStandardRequestDecoder; (HttpDataFactory,HttpRequest,Charset); ; Argument[1]; Argument[this]; taint; manual | +| 306 | Summary: io.netty.handler.codec.http.multipart; HttpPostMultipartRequestDecoder; true; HttpPostMultipartRequestDecoder; (HttpRequest); ; Argument[0]; Argument[this]; taint; manual | +| 307 | Summary: io.netty.handler.codec.http.multipart; HttpPostMultipartRequestDecoder; true; HttpPostMultipartRequestDecoder; (HttpDataFactory,HttpRequest); ; Argument[1]; Argument[this]; taint; manual | +| 308 | Summary: io.netty.handler.codec.http.multipart; HttpPostMultipartRequestDecoder; true; HttpPostMultipartRequestDecoder; (HttpDataFactory,HttpRequest,Charset); ; Argument[1]; Argument[this]; taint; manual | +| 309 | Summary: io.netty.handler.codec.http.multipart; InterfaceHttpData; true; getName; (); ; Argument[this]; ReturnValue; taint; manual | +| 310 | Summary: io.netty.handler.codec.http.multipart; HttpData; true; addContent; (ByteBuf,boolean); ; Argument[0]; Argument[this]; taint; manual | +| 311 | Summary: io.netty.handler.codec.http.multipart; HttpData; true; get; (); ; Argument[this]; ReturnValue; taint; manual | +| 312 | Summary: io.netty.handler.codec.http.multipart; HttpData; true; getByteBuf; (); ; Argument[this]; ReturnValue; taint; manual | +| 313 | Summary: io.netty.handler.codec.http.multipart; HttpData; true; getChunk; (int); ; Argument[this]; ReturnValue; taint; manual | +| 314 | Summary: io.netty.handler.codec.http.multipart; HttpData; true; getString; (); ; Argument[this]; ReturnValue; taint; manual | +| 315 | Summary: io.netty.handler.codec.http.multipart; HttpData; true; getString; (Charset); ; Argument[this]; ReturnValue; taint; manual | +| 316 | Summary: io.netty.handler.codec.http.multipart; Attribute; true; getValue; (); ; Argument[this]; ReturnValue; taint; manual | +| 317 | Summary: io.netty.handler.codec.http.multipart; Attribute; true; setValue; (String); ; Argument[0]; Argument[this]; taint; manual | +| 318 | Summary: io.netty.handler.codec.http.multipart; FileUpload; true; getContentTransferEncoding; (); ; Argument[this]; ReturnValue; taint; manual | +| 319 | Summary: io.netty.handler.codec.http.multipart; FileUpload; true; getContentType; (); ; Argument[this]; ReturnValue; taint; manual | +| 320 | Summary: io.netty.handler.codec.http.multipart; FileUpload; true; getFilename; (); ; Argument[this]; ReturnValue; taint; manual | +| 321 | Summary: io.netty.handler.codec.http.multipart; FileUpload; true; setContentTransferEncoding; (String); ; Argument[0]; Argument[this]; taint; manual | +| 322 | Summary: io.netty.handler.codec.http.multipart; FileUpload; true; setContentType; (String); ; Argument[0]; Argument[this]; taint; manual | +| 323 | Summary: io.netty.handler.codec.http.multipart; FileUpload; true; setFilename; (String); ; Argument[0]; Argument[this]; taint; manual | +| 324 | Summary: io.netty.handler.codec.http.multipart; HttpData; true; setContent; (ByteBuf); ; Argument[0]; Argument[this]; taint; manual | +| 325 | Summary: io.netty.handler.codec.http.multipart; HttpData; true; setContent; (InputStream); ; Argument[0]; Argument[this]; taint; manual | +| 326 | Summary: io.netty.handler.codec.http.websocketx; CloseWebSocketFrame; true; CloseWebSocketFrame; (boolean,int,ByteBuf); ; Argument[2]; Argument[this]; taint; manual | +| 327 | Summary: io.netty.handler.codec.http.websocketx; CloseWebSocketFrame; true; CloseWebSocketFrame; (boolean,int,int,String); ; Argument[3]; Argument[this]; taint; manual | +| 328 | Summary: io.netty.handler.codec.http.websocketx; CloseWebSocketFrame; true; CloseWebSocketFrame; (int,String); ; Argument[1]; Argument[this]; taint; manual | +| 329 | Summary: io.netty.handler.codec.http.websocketx; CloseWebSocketFrame; true; CloseWebSocketFrame; (WebSocketCloseStatus,String); ; Argument[1]; Argument[this]; taint; manual | +| 330 | Summary: io.netty.handler.codec.http.websocketx; CloseWebSocketFrame; true; reasonText; (); ; Argument[this]; ReturnValue; taint; manual | +| 331 | Summary: io.netty.handler.codec.http.websocketx; BinaryWebSocketFrame; true; BinaryWebSocketFrame; (boolean,int,ByteBuf); ; Argument[2]; Argument[this]; taint; manual | +| 332 | Summary: io.netty.handler.codec.http.websocketx; BinaryWebSocketFrame; true; BinaryWebSocketFrame; (ByteBuf); ; Argument[0]; Argument[this]; taint; manual | +| 333 | Summary: io.netty.handler.codec.http.websocketx; ContinuationWebSocketFrame; true; ContinuationWebSocketFrame; (boolean,int,ByteBuf); ; Argument[2]; Argument[this]; taint; manual | +| 334 | Summary: io.netty.handler.codec.http.websocketx; ContinuationWebSocketFrame; true; ContinuationWebSocketFrame; (boolean,int,String); ; Argument[2]; Argument[this]; taint; manual | +| 335 | Summary: io.netty.handler.codec.http.websocketx; ContinuationWebSocketFrame; true; ContinuationWebSocketFrame; (ByteBuf); ; Argument[0]; Argument[this]; taint; manual | +| 336 | Summary: io.netty.handler.codec.http.websocketx; ContinuationWebSocketFrame; true; text; (); ; Argument[this]; ReturnValue; taint; manual | +| 337 | Summary: io.netty.handler.codec.http.websocketx; PingWebSocketFrame; true; PingWebSocketFrame; (boolean,int,ByteBuf); ; Argument[2]; Argument[this]; taint; manual | +| 338 | Summary: io.netty.handler.codec.http.websocketx; PingWebSocketFrame; true; PingWebSocketFrame; (ByteBuf); ; Argument[0]; Argument[this]; taint; manual | +| 339 | Summary: io.netty.handler.codec.http.websocketx; PongWebSocketFrame; true; PongWebSocketFrame; (boolean,int,ByteBuf); ; Argument[2]; Argument[this]; taint; manual | +| 340 | Summary: io.netty.handler.codec.http.websocketx; PongWebSocketFrame; true; PongWebSocketFrame; (ByteBuf); ; Argument[0]; Argument[this]; taint; manual | +| 341 | Summary: io.netty.handler.codec.http.websocketx; TextWebSocketFrame; true; TextWebSocketFrame; (boolean,int,ByteBuf); ; Argument[2]; Argument[this]; taint; manual | +| 342 | Summary: io.netty.handler.codec.http.websocketx; TextWebSocketFrame; true; TextWebSocketFrame; (boolean,int,String); ; Argument[2]; Argument[this]; taint; manual | +| 343 | Summary: io.netty.handler.codec.http.websocketx; TextWebSocketFrame; true; TextWebSocketFrame; (String); ; Argument[0]; Argument[this]; taint; manual | +| 344 | Summary: io.netty.handler.codec.http.websocketx; TextWebSocketFrame; true; TextWebSocketFrame; (ByteBuf); ; Argument[0]; Argument[this]; taint; manual | +| 345 | Summary: io.netty.handler.codec.http.websocketx; TextWebSocketFrame; true; text; (); ; Argument[this]; ReturnValue; taint; manual | +| 346 | Summary: io.netty.handler.codec.http2; Http2Headers; true; authority; (); ; Argument[this].Element.MapValue; ReturnValue; value; manual | +| 347 | Summary: io.netty.handler.codec.http2; Http2Headers; true; authority; (CharSequence); ; Argument[0]; Argument[this].Element.MapValue; value; manual | +| 348 | Summary: io.netty.handler.codec.http2; Http2Headers; true; authority; (CharSequence); ; Argument[this]; ReturnValue; value; manual | +| 349 | Summary: io.netty.handler.codec.http2; Http2Headers; true; method; (); ; Argument[this].Element.MapValue; ReturnValue; value; manual | +| 350 | Summary: io.netty.handler.codec.http2; Http2Headers; true; method; (CharSequence); ; Argument[0]; Argument[this].Element.MapValue; value; manual | +| 351 | Summary: io.netty.handler.codec.http2; Http2Headers; true; method; (CharSequence); ; Argument[this]; ReturnValue; value; manual | +| 352 | Summary: io.netty.handler.codec.http2; Http2Headers; true; path; (); ; Argument[this].Element.MapValue; ReturnValue; value; manual | +| 353 | Summary: io.netty.handler.codec.http2; Http2Headers; true; path; (CharSequence); ; Argument[0]; Argument[this].Element.MapValue; value; manual | +| 354 | Summary: io.netty.handler.codec.http2; Http2Headers; true; path; (CharSequence); ; Argument[this]; ReturnValue; value; manual | +| 355 | Summary: io.netty.handler.codec.http2; Http2Headers; true; scheme; (); ; Argument[this].Element.MapValue; ReturnValue; value; manual | +| 356 | Summary: io.netty.handler.codec.http2; Http2Headers; true; scheme; (CharSequence); ; Argument[0]; Argument[this].Element.MapValue; value; manual | +| 357 | Summary: io.netty.handler.codec.http2; Http2Headers; true; scheme; (CharSequence); ; Argument[this]; ReturnValue; value; manual | +| 358 | Summary: io.netty.handler.codec.http2; Http2Headers; true; status; (); ; Argument[this].Element.MapValue; ReturnValue; value; manual | +| 359 | Summary: io.netty.handler.codec.http2; Http2Headers; true; status; (CharSequence); ; Argument[0]; Argument[this].Element.MapValue; value; manual | +| 360 | Summary: io.netty.handler.codec.http2; Http2Headers; true; status; (CharSequence); ; Argument[this]; ReturnValue; value; manual | +| 361 | Summary: io.netty.handler.codec.http2; Http2Headers; true; valueIterator; (CharSequence); ; Argument[this].Element.MapValue; ReturnValue.Element; value; manual | +| 362 | Summary: io.netty.handler.codec.http2; Http2HeadersFrame; true; headers; (); ; Argument[this]; ReturnValue; taint; manual | +| 363 | Summary: io.netty.handler.codec.http2; Http2PushPromiseFrame; true; http2Headers; (); ; Argument[this]; ReturnValue; taint; manual | +| 364 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; addHttp2ToHttpHeaders; (int,Http2Headers,FullHttpMessage,boolean); ; Argument[1].Element.MapKey; Argument[2]; taint; manual | +| 365 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; addHttp2ToHttpHeaders; (int,Http2Headers,FullHttpMessage,boolean); ; Argument[1].Element.MapValue; Argument[2]; taint; manual | +| 366 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; addHttp2ToHttpHeaders; (int,Http2Headers,HttpHeaders,HttpVersion,boolean,boolean); ; Argument[1].Element.MapKey; Argument[2].Element.MapKey; taint; manual | +| 367 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; addHttp2ToHttpHeaders; (int,Http2Headers,HttpHeaders,HttpVersion,boolean,boolean); ; Argument[1].Element.MapValue; Argument[2].Element.MapValue; taint; manual | +| 368 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; toFullHttpRequest; ; ; Argument[1].Element.MapKey; ReturnValue; taint; manual | +| 369 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; toFullHttpRequest; ; ; Argument[1].Element.MapValue; ReturnValue; taint; manual | +| 370 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; toFullHttpRequest; (int,Http2Headers,ByteBuf,boolean); ; Argument[2]; ReturnValue; taint; manual | +| 371 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; toFullHttpResponse; ; ; Argument[1].Element.MapKey; ReturnValue; taint; manual | +| 372 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; toFullHttpResponse; ; ; Argument[1].Element.MapValue; ReturnValue; taint; manual | +| 373 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; toFullHttpResponse; (int,Http2Headers,ByteBuf,boolean); ; Argument[2]; ReturnValue; taint; manual | +| 374 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; toHttp2Headers; (HttpHeaders,boolean); ; Argument[0].Element.MapKey; ReturnValue.Element.MapKey; taint; manual | +| 375 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; toHttp2Headers; (HttpHeaders,boolean); ; Argument[0].Element.MapValue; ReturnValue.Element.MapValue; taint; manual | +| 376 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; toHttp2Headers; (HttpHeaders,Http2Headers); ; Argument[0].Element.MapKey; Argument[1].Element.MapKey; taint; manual | +| 377 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; toHttp2Headers; (HttpHeaders,Http2Headers); ; Argument[0].Element.MapValue; Argument[1].Element.MapValue; taint; manual | +| 378 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; toHttpRequest; ; ; Argument[1].Element.MapKey; ReturnValue; taint; manual | +| 379 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; toHttpRequest; ; ; Argument[1].Element.MapValue; ReturnValue; taint; manual | +| 380 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; toHttpResponse; ; ; Argument[1].Element.MapKey; ReturnValue; taint; manual | +| 381 | Summary: io.netty.handler.codec.http2; HttpConversionUtil; false; toHttpResponse; ; ; Argument[1].Element.MapValue; ReturnValue; taint; manual | +| 382 | Summary: io.netty.handler.codec; ByteToMessageDecoder$Cumulator; true; cumulate; (ByteBufAllocator,ByteBuf,ByteBuf); ; Argument[1..2]; ReturnValue; taint; manual | +| 383 | Summary: io.netty.handler.codec; HeadersUtils; false; getAsString; (Headers,Object); ; Argument[0].Element.MapValue; ReturnValue; taint; manual | +| 384 | Summary: io.netty.handler.codec; HeadersUtils; false; getAllAsString; (Headers,Object); ; Argument[0].Element.MapValue; ReturnValue; taint; manual | +| 385 | Summary: io.netty.handler.codec; HeadersUtils; false; namesAsString; (Headers); ; Argument[0].Element.MapKey; ReturnValue.Element; value; manual | +| 386 | Summary: io.netty.handler.codec; HeadersUtils; false; iteratorAsString; (Iterable); ; Argument[0].Element.MapKey; ReturnValue; taint; manual | +| 387 | Summary: io.netty.handler.codec; HeadersUtils; false; iteratorAsString; (Iterable); ; Argument[0].Element.MapValue; ReturnValue; taint; manual | +| 388 | Summary: io.netty.handler.codec; HeadersUtils; false; toString; (Class,Iterator,int); ; Argument[1].Element.MapKey; ReturnValue; taint; manual | +| 389 | Summary: io.netty.handler.codec; HeadersUtils; false; toString; (Class,Iterator,int); ; Argument[1].Element.MapValue; ReturnValue; taint; manual | +| 390 | Summary: io.netty.handler.codec; Headers; true; get; (Object); ; Argument[this].Element.MapValue; ReturnValue; taint; manual | +| 391 | Summary: io.netty.handler.codec; Headers; true; get; (Object,Object); ; Argument[this].Element.MapValue; ReturnValue; taint; manual | +| 392 | Summary: io.netty.handler.codec; Headers; true; get; (Object,Object); ; Argument[1]; ReturnValue; value; manual | +| 393 | Summary: io.netty.handler.codec; Headers; true; getAll; (Object); ; Argument[this].Element.MapValue; ReturnValue.Element; taint; manual | +| 394 | Summary: io.netty.handler.codec; Headers; true; getAllAndRemove; (Object); ; Argument[this].Element.MapValue; ReturnValue.Element; taint; manual | +| 395 | Summary: io.netty.handler.codec; Headers; true; getAndRemove; (Object); ; Argument[this].Element.MapValue; ReturnValue; taint; manual | +| 396 | Summary: io.netty.handler.codec; Headers; true; getAndRemove; (Object); ; Argument[this].Element.MapValue; ReturnValue; taint; manual | +| 397 | Summary: io.netty.handler.codec; Headers; true; getAndRemove; (Object,Object); ; Argument[1]; ReturnValue; value; manual | +| 398 | Summary: io.netty.handler.codec; Headers; true; names; (); ; Argument[this].Element.MapKey; ReturnValue.Element; taint; manual | +| 399 | Summary: io.netty.handler.codec; Headers; true; add; ; ; Argument[this]; ReturnValue; value; manual | +| 400 | Summary: io.netty.handler.codec; Headers; true; add; (Headers); ; Argument[0].Element.MapKey; Argument[this].Element.MapKey; value; manual | +| 401 | Summary: io.netty.handler.codec; Headers; true; add; (Headers); ; Argument[0].Element.MapValue; Argument[this].Element.MapValue; value; manual | +| 402 | Summary: io.netty.handler.codec; Headers; true; add; (Object,Iterable); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 403 | Summary: io.netty.handler.codec; Headers; true; add; (Object,Iterable); ; Argument[1].Element; Argument[this].Element.MapValue; value; manual | +| 404 | Summary: io.netty.handler.codec; Headers; true; add; (Object,Object[]); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 405 | Summary: io.netty.handler.codec; Headers; true; add; (Object,Object[]); ; Argument[1].ArrayElement; Argument[this].Element.MapValue; value; manual | +| 406 | Summary: io.netty.handler.codec; Headers; true; add; (Object,Object); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 407 | Summary: io.netty.handler.codec; Headers; true; add; (Object,Object); ; Argument[1]; Argument[this].Element.MapValue; value; manual | +| 408 | Summary: io.netty.handler.codec; Headers; true; addObject; (Object,Iterable); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 409 | Summary: io.netty.handler.codec; Headers; true; addObject; (Object,Iterable); ; Argument[1].Element; Argument[this].Element.MapValue; taint; manual | +| 410 | Summary: io.netty.handler.codec; Headers; true; addObject; (Object,Object[]); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 411 | Summary: io.netty.handler.codec; Headers; true; addObject; (Object,Object[]); ; Argument[1].ArrayElement; Argument[this].Element.MapValue; taint; manual | +| 412 | Summary: io.netty.handler.codec; Headers; true; addObject; (Object,Object); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 413 | Summary: io.netty.handler.codec; Headers; true; addObject; (Object,Object); ; Argument[1]; Argument[this].Element.MapValue; taint; manual | +| 414 | Summary: io.netty.handler.codec; Headers; true; addBoolean; ; ; Argument[this]; ReturnValue; value; manual | +| 415 | Summary: io.netty.handler.codec; Headers; true; addBoolean; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 416 | Summary: io.netty.handler.codec; Headers; true; addByte; ; ; Argument[this]; ReturnValue; value; manual | +| 417 | Summary: io.netty.handler.codec; Headers; true; addByte; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 418 | Summary: io.netty.handler.codec; Headers; true; addChar; ; ; Argument[this]; ReturnValue; value; manual | +| 419 | Summary: io.netty.handler.codec; Headers; true; addChar; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 420 | Summary: io.netty.handler.codec; Headers; true; addDouble; ; ; Argument[this]; ReturnValue; value; manual | +| 421 | Summary: io.netty.handler.codec; Headers; true; addDouble; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 422 | Summary: io.netty.handler.codec; Headers; true; addFloat; ; ; Argument[this]; ReturnValue; value; manual | +| 423 | Summary: io.netty.handler.codec; Headers; true; addFloat; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 424 | Summary: io.netty.handler.codec; Headers; true; addInt; ; ; Argument[this]; ReturnValue; value; manual | +| 425 | Summary: io.netty.handler.codec; Headers; true; addInt; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 426 | Summary: io.netty.handler.codec; Headers; true; addLong; ; ; Argument[this]; ReturnValue; value; manual | +| 427 | Summary: io.netty.handler.codec; Headers; true; addLong; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 428 | Summary: io.netty.handler.codec; Headers; true; addShort; ; ; Argument[this]; ReturnValue; value; manual | +| 429 | Summary: io.netty.handler.codec; Headers; true; addShort; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 430 | Summary: io.netty.handler.codec; Headers; true; addTimeMillis; ; ; Argument[this]; ReturnValue; value; manual | +| 431 | Summary: io.netty.handler.codec; Headers; true; addTimeMillis; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 432 | Summary: io.netty.handler.codec; Headers; true; set; ; ; Argument[this]; ReturnValue; value; manual | +| 433 | Summary: io.netty.handler.codec; Headers; true; set; (Headers); ; Argument[0].Element.MapKey; Argument[this].Element.MapKey; value; manual | +| 434 | Summary: io.netty.handler.codec; Headers; true; set; (Headers); ; Argument[0].Element.MapValue; Argument[this].Element.MapValue; value; manual | +| 435 | Summary: io.netty.handler.codec; Headers; true; set; (Object,Iterable); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 436 | Summary: io.netty.handler.codec; Headers; true; set; (Object,Iterable); ; Argument[1].Element; Argument[this].Element.MapValue; value; manual | +| 437 | Summary: io.netty.handler.codec; Headers; true; set; (Object,Object[]); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 438 | Summary: io.netty.handler.codec; Headers; true; set; (Object,Object[]); ; Argument[1].ArrayElement; Argument[this].Element.MapValue; value; manual | +| 439 | Summary: io.netty.handler.codec; Headers; true; set; (Object,Object); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 440 | Summary: io.netty.handler.codec; Headers; true; set; (Object,Object); ; Argument[1]; Argument[this].Element.MapValue; value; manual | +| 441 | Summary: io.netty.handler.codec; Headers; true; setAll; (Headers); ; Argument[0].Element.MapKey; Argument[this].Element.MapKey; value; manual | +| 442 | Summary: io.netty.handler.codec; Headers; true; setAll; (Headers); ; Argument[0].Element.MapValue; Argument[this].Element.MapValue; value; manual | +| 443 | Summary: io.netty.handler.codec; Headers; true; setObject; (Object,Iterable); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 444 | Summary: io.netty.handler.codec; Headers; true; setObject; (Object,Iterable); ; Argument[1].Element; Argument[this].Element.MapValue; taint; manual | +| 445 | Summary: io.netty.handler.codec; Headers; true; setObject; (Object,Object[]); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 446 | Summary: io.netty.handler.codec; Headers; true; setObject; (Object,Object[]); ; Argument[1].ArrayElement; Argument[this].Element.MapValue; taint; manual | +| 447 | Summary: io.netty.handler.codec; Headers; true; setObject; (Object,Object); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 448 | Summary: io.netty.handler.codec; Headers; true; setObject; (Object,Object); ; Argument[1]; Argument[this].Element.MapValue; taint; manual | +| 449 | Summary: io.netty.handler.codec; Headers; true; setBoolean; ; ; Argument[this]; ReturnValue; value; manual | +| 450 | Summary: io.netty.handler.codec; Headers; true; setBoolean; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 451 | Summary: io.netty.handler.codec; Headers; true; setByte; ; ; Argument[this]; ReturnValue; value; manual | +| 452 | Summary: io.netty.handler.codec; Headers; true; setByte; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 453 | Summary: io.netty.handler.codec; Headers; true; setChar; ; ; Argument[this]; ReturnValue; value; manual | +| 454 | Summary: io.netty.handler.codec; Headers; true; setChar; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 455 | Summary: io.netty.handler.codec; Headers; true; setDouble; ; ; Argument[this]; ReturnValue; value; manual | +| 456 | Summary: io.netty.handler.codec; Headers; true; setDouble; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 457 | Summary: io.netty.handler.codec; Headers; true; setFloat; ; ; Argument[this]; ReturnValue; value; manual | +| 458 | Summary: io.netty.handler.codec; Headers; true; setFloat; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 459 | Summary: io.netty.handler.codec; Headers; true; setInt; ; ; Argument[this]; ReturnValue; value; manual | +| 460 | Summary: io.netty.handler.codec; Headers; true; setInt; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 461 | Summary: io.netty.handler.codec; Headers; true; setLong; ; ; Argument[this]; ReturnValue; value; manual | +| 462 | Summary: io.netty.handler.codec; Headers; true; setLong; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 463 | Summary: io.netty.handler.codec; Headers; true; setShort; ; ; Argument[this]; ReturnValue; value; manual | +| 464 | Summary: io.netty.handler.codec; Headers; true; setShort; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 465 | Summary: io.netty.handler.codec; Headers; true; setTimeMillis; ; ; Argument[this]; ReturnValue; value; manual | +| 466 | Summary: io.netty.handler.codec; Headers; true; setTimeMillis; ; ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 467 | Summary: io.netty.resolver; SimpleNameResolver; false; resolve; (String); ; Argument[0]; ReturnValue; taint; ai-manual | +| 468 | Summary: io.netty.util; ReferenceCounted; true; retain; ; ; Argument[this]; ReturnValue; value; manual | +| 469 | Summary: io.netty.util; ReferenceCounted; true; touch; ; ; Argument[this]; ReturnValue; value; manual | +| 470 | Summary: io.netty.util; AsciiString; false; AsciiString; ; ; Argument[0]; Argument[this]; taint; manual | +| 471 | Summary: io.netty.util; AsciiString; false; array; (); ; Argument[this]; ReturnValue; taint; manual | +| 472 | Summary: io.netty.util; AsciiString; false; cached; (String); ; Argument[0]; ReturnValue; taint; manual | +| 473 | Summary: io.netty.util; AsciiString; false; concat; (CharSequence); ; Argument[this]; ReturnValue; taint; manual | +| 474 | Summary: io.netty.util; AsciiString; false; concat; (CharSequence); ; Argument[0]; ReturnValue; taint; manual | +| 475 | Summary: io.netty.util; AsciiString; false; copy; (int,byte[],int,int); ; Argument[this]; Argument[1]; taint; manual | +| 476 | Summary: io.netty.util; AsciiString; false; copy; (int,char[],int,int); ; Argument[this]; Argument[1]; taint; manual | +| 477 | Summary: io.netty.util; AsciiString; false; of; (CharSequence); ; Argument[0]; ReturnValue; taint; manual | +| 478 | Summary: io.netty.util; AsciiString; false; replace; (char,char); ; Argument[this]; ReturnValue; taint; manual | +| 479 | Summary: io.netty.util; AsciiString; false; split; (char); ; Argument[this]; ReturnValue; taint; manual | +| 480 | Summary: io.netty.util; AsciiString; false; split; (String,int); ; Argument[this]; ReturnValue; taint; manual | +| 481 | Summary: io.netty.util; AsciiString; false; split; (char); ; Argument[this]; ReturnValue; taint; manual | +| 482 | Summary: io.netty.util; AsciiString; false; subSequence; ; ; Argument[this]; ReturnValue; taint; manual | +| 483 | Summary: io.netty.util; AsciiString; false; toByteArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 484 | Summary: io.netty.util; AsciiString; false; toCharArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 485 | Summary: io.netty.util; AsciiString; false; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 486 | Summary: io.netty.util; AsciiString; false; toLowerCase; (); ; Argument[this]; ReturnValue; taint; manual | +| 487 | Summary: io.netty.util; AsciiString; false; toUpperCase; (); ; Argument[this]; ReturnValue; taint; manual | +| 488 | Summary: io.netty.util; AsciiString; false; trim; (); ; Argument[this]; ReturnValue; taint; manual | +| 489 | Summary: io.netty.util; AsciiString; false; trim; (CharSequence); ; Argument[0]; ReturnValue; taint; manual | +| 490 | Summary: java.lang; CharSequence; true; subSequence; ; ; Argument[this]; ReturnValue; taint; manual | +| 491 | Summary: java.lang; CharSequence; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 492 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 493 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 494 | Summary: java.util; List; false; of; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 495 | Summary: generatedtest; Test; false; newWithMapValueDefault; (Object); ; Argument[0]; ReturnValue.MapValue; value; manual | +| 496 | Summary: generatedtest; Test; false; newWithMapKeyDefault; (Object); ; Argument[0]; ReturnValue.MapKey; value; manual | +| 497 | Summary: generatedtest; Test; false; newWithElementDefault; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 498 | Summary: generatedtest; Test; false; getMapValueDefault; (Object); ; Argument[0].MapValue; ReturnValue; value; manual | +| 499 | Summary: generatedtest; Test; false; getMapKeyDefault; (Object); ; Argument[0].MapKey; ReturnValue; value; manual | +edges +| Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:45 | it : Headers [, ] : Object | provenance | | +| Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:45 | it : Headers [, ] : Object | provenance | | +| Test.java:79:19:79:32 | it : List [, ] : Object | Test.java:79:44:79:45 | it : List [, ] : Object | provenance | | +| Test.java:79:19:79:32 | it : List [, ] : Object | Test.java:79:44:79:45 | it : List [, ] : Object | provenance | | +| Test.java:79:19:79:32 | it : List [] : Object | Test.java:79:44:79:45 | it : List [] : Object | provenance | | +| Test.java:79:19:79:32 | it : Set [] : Object | Test.java:79:44:79:45 | it : Set [] : Object | provenance | | +| Test.java:79:44:79:45 | it : Headers [, ] : Object | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:492 | +| Test.java:79:44:79:45 | it : Headers [, ] : Object | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:492 | +| Test.java:79:44:79:45 | it : List [, ] : Object | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:492 | +| Test.java:79:44:79:45 | it : List [, ] : Object | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:492 | +| Test.java:79:44:79:45 | it : List [] : Object | Test.java:79:44:79:56 | iterator(...) : Iterator [] : Object | provenance | MaD:492 | +| Test.java:79:44:79:45 | it : Set [] : Object | Test.java:79:44:79:56 | iterator(...) : Iterator [] : Object | provenance | MaD:492 | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | provenance | MaD:493 | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | provenance | MaD:493 | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | provenance | MaD:493 | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | provenance | MaD:493 | +| Test.java:79:44:79:56 | iterator(...) : Iterator [] : Object | Test.java:79:44:79:63 | next(...) : Object | provenance | MaD:493 | +| Test.java:79:44:79:56 | iterator(...) : Iterator [] : Object | Test.java:79:44:79:63 | next(...) : Object | provenance | MaD:493 | +| Test.java:80:19:80:32 | it : Iterator [, ] : Object | Test.java:80:44:80:45 | it : Iterator [, ] : Object | provenance | | +| Test.java:80:19:80:32 | it : Iterator [, ] : Object | Test.java:80:44:80:45 | it : Iterator [, ] : Object | provenance | | +| Test.java:80:19:80:32 | it : Iterator [] : Object | Test.java:80:44:80:45 | it : Iterator [] : Object | provenance | | +| Test.java:80:44:80:45 | it : Iterator [, ] : Object | Test.java:80:44:80:52 | next(...) : Object [] : Object | provenance | MaD:493 | +| Test.java:80:44:80:45 | it : Iterator [, ] : Object | Test.java:80:44:80:52 | next(...) : Object [] : Object | provenance | MaD:493 | +| Test.java:80:44:80:45 | it : Iterator [] : Object | Test.java:80:44:80:52 | next(...) : Object | provenance | MaD:493 | +| Test.java:95:17:95:33 | (...)... : ByteBuf | Test.java:96:10:96:11 | in : ByteBuf | provenance | | +| Test.java:95:26:95:33 | source(...) : Object | Test.java:95:17:95:33 | (...)... : ByteBuf | provenance | | +| Test.java:96:10:96:11 | in : ByteBuf | Test.java:96:10:96:19 | array(...) : byte[] | provenance | MaD:2 | +| Test.java:96:10:96:19 | array(...) : byte[] | Test.java:97:9:97:11 | out | provenance | | +| Test.java:102:26:102:51 | (...)... : CompositeByteBuf | Test.java:103:10:103:11 | in : CompositeByteBuf | provenance | | +| Test.java:102:44:102:51 | source(...) : Object | Test.java:102:26:102:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:103:10:103:11 | in : CompositeByteBuf | Test.java:103:10:103:19 | array(...) : byte[] | provenance | MaD:2 | +| Test.java:103:10:103:19 | array(...) : byte[] | Test.java:104:9:104:11 | out | provenance | | +| Test.java:109:24:109:47 | (...)... : SwappedByteBuf | Test.java:110:10:110:11 | in : SwappedByteBuf | provenance | | +| Test.java:109:40:109:47 | source(...) : Object | Test.java:109:24:109:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:110:10:110:11 | in : SwappedByteBuf | Test.java:110:10:110:19 | array(...) : byte[] | provenance | MaD:2 | +| Test.java:110:10:110:19 | array(...) : byte[] | Test.java:111:9:111:11 | out | provenance | | +| Test.java:116:25:116:49 | (...)... : AbstractByteBuf | Test.java:117:10:117:11 | in : AbstractByteBuf | provenance | | +| Test.java:116:42:116:49 | source(...) : Object | Test.java:116:25:116:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:117:10:117:11 | in : AbstractByteBuf | Test.java:117:10:117:24 | asReadOnly(...) : ByteBuf | provenance | MaD:3 | +| Test.java:117:10:117:24 | asReadOnly(...) : ByteBuf | Test.java:118:9:118:11 | out | provenance | | +| Test.java:123:17:123:33 | (...)... : ByteBuf | Test.java:124:10:124:11 | in : ByteBuf | provenance | | +| Test.java:123:26:123:33 | source(...) : Object | Test.java:123:17:123:33 | (...)... : ByteBuf | provenance | | +| Test.java:124:10:124:11 | in : ByteBuf | Test.java:124:10:124:24 | asReadOnly(...) : ByteBuf | provenance | MaD:3 | +| Test.java:124:10:124:24 | asReadOnly(...) : ByteBuf | Test.java:125:9:125:11 | out | provenance | | +| Test.java:130:24:130:47 | (...)... : SwappedByteBuf | Test.java:131:10:131:11 | in : SwappedByteBuf | provenance | | +| Test.java:130:40:130:47 | source(...) : Object | Test.java:130:24:130:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:131:10:131:11 | in : SwappedByteBuf | Test.java:131:10:131:24 | asReadOnly(...) : ByteBuf | provenance | MaD:3 | +| Test.java:131:10:131:24 | asReadOnly(...) : ByteBuf | Test.java:132:9:132:11 | out | provenance | | +| Test.java:137:17:137:33 | (...)... : ByteBuf | Test.java:138:10:138:11 | in : ByteBuf | provenance | | +| Test.java:137:26:137:33 | source(...) : Object | Test.java:137:17:137:33 | (...)... : ByteBuf | provenance | | +| Test.java:138:10:138:11 | in : ByteBuf | Test.java:138:10:138:23 | capacity(...) : ByteBuf | provenance | MaD:4 | +| Test.java:138:10:138:23 | capacity(...) : ByteBuf | Test.java:139:9:139:11 | out | provenance | | +| Test.java:144:24:144:47 | (...)... : SwappedByteBuf | Test.java:145:10:145:11 | in : SwappedByteBuf | provenance | | +| Test.java:144:40:144:47 | source(...) : Object | Test.java:144:24:144:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:145:10:145:11 | in : SwappedByteBuf | Test.java:145:10:145:23 | capacity(...) : SwappedByteBuf | provenance | MaD:4 | +| Test.java:145:10:145:23 | capacity(...) : SwappedByteBuf | Test.java:146:9:146:11 | out | provenance | | +| Test.java:151:26:151:51 | (...)... : CompositeByteBuf | Test.java:152:10:152:11 | in : CompositeByteBuf | provenance | | +| Test.java:151:44:151:51 | source(...) : Object | Test.java:151:26:151:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:152:10:152:11 | in : CompositeByteBuf | Test.java:152:10:152:23 | capacity(...) : CompositeByteBuf | provenance | MaD:4 | +| Test.java:152:10:152:23 | capacity(...) : CompositeByteBuf | Test.java:153:9:153:11 | out | provenance | | +| Test.java:158:25:158:49 | (...)... : AbstractByteBuf | Test.java:159:10:159:11 | in : AbstractByteBuf | provenance | | +| Test.java:158:42:158:49 | source(...) : Object | Test.java:158:25:158:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:159:10:159:11 | in : AbstractByteBuf | Test.java:159:10:159:18 | copy(...) : ByteBuf | provenance | MaD:5 | +| Test.java:159:10:159:18 | copy(...) : ByteBuf | Test.java:160:9:160:11 | out | provenance | | +| Test.java:165:17:165:33 | (...)... : ByteBuf | Test.java:166:10:166:11 | in : ByteBuf | provenance | | +| Test.java:165:26:165:33 | source(...) : Object | Test.java:165:17:165:33 | (...)... : ByteBuf | provenance | | +| Test.java:166:10:166:11 | in : ByteBuf | Test.java:166:10:166:18 | copy(...) : ByteBuf | provenance | MaD:5 | +| Test.java:166:10:166:18 | copy(...) : ByteBuf | Test.java:167:9:167:11 | out | provenance | | +| Test.java:172:17:172:33 | (...)... : ByteBuf | Test.java:173:10:173:11 | in : ByteBuf | provenance | | +| Test.java:172:26:172:33 | source(...) : Object | Test.java:172:17:172:33 | (...)... : ByteBuf | provenance | | +| Test.java:173:10:173:11 | in : ByteBuf | Test.java:173:10:173:22 | copy(...) : ByteBuf | provenance | MaD:5 | +| Test.java:173:10:173:22 | copy(...) : ByteBuf | Test.java:174:9:174:11 | out | provenance | | +| Test.java:179:26:179:51 | (...)... : CompositeByteBuf | Test.java:180:10:180:11 | in : CompositeByteBuf | provenance | | +| Test.java:179:44:179:51 | source(...) : Object | Test.java:179:26:179:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:180:10:180:11 | in : CompositeByteBuf | Test.java:180:10:180:22 | copy(...) : ByteBuf | provenance | MaD:5 | +| Test.java:180:10:180:22 | copy(...) : ByteBuf | Test.java:181:9:181:11 | out | provenance | | +| Test.java:186:24:186:47 | (...)... : SwappedByteBuf | Test.java:187:10:187:11 | in : SwappedByteBuf | provenance | | +| Test.java:186:40:186:47 | source(...) : Object | Test.java:186:24:186:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:187:10:187:11 | in : SwappedByteBuf | Test.java:187:10:187:18 | copy(...) : ByteBuf | provenance | MaD:5 | +| Test.java:187:10:187:18 | copy(...) : ByteBuf | Test.java:188:9:188:11 | out | provenance | | +| Test.java:193:24:193:47 | (...)... : SwappedByteBuf | Test.java:194:10:194:11 | in : SwappedByteBuf | provenance | | +| Test.java:193:40:193:47 | source(...) : Object | Test.java:193:24:193:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:194:10:194:11 | in : SwappedByteBuf | Test.java:194:10:194:22 | copy(...) : ByteBuf | provenance | MaD:5 | +| Test.java:194:10:194:22 | copy(...) : ByteBuf | Test.java:195:9:195:11 | out | provenance | | +| Test.java:200:25:200:49 | (...)... : AbstractByteBuf | Test.java:201:10:201:11 | in : AbstractByteBuf | provenance | | +| Test.java:200:42:200:49 | source(...) : Object | Test.java:200:25:200:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:201:10:201:11 | in : AbstractByteBuf | Test.java:201:10:201:30 | discardReadBytes(...) : AbstractByteBuf | provenance | MaD:6 | +| Test.java:201:10:201:30 | discardReadBytes(...) : AbstractByteBuf | Test.java:202:9:202:11 | out | provenance | | +| Test.java:207:17:207:33 | (...)... : ByteBuf | Test.java:208:10:208:11 | in : ByteBuf | provenance | | +| Test.java:207:26:207:33 | source(...) : Object | Test.java:207:17:207:33 | (...)... : ByteBuf | provenance | | +| Test.java:208:10:208:11 | in : ByteBuf | Test.java:208:10:208:30 | discardReadBytes(...) : ByteBuf | provenance | MaD:6 | +| Test.java:208:10:208:30 | discardReadBytes(...) : ByteBuf | Test.java:209:9:209:11 | out | provenance | | +| Test.java:214:24:214:47 | (...)... : SwappedByteBuf | Test.java:215:10:215:11 | in : SwappedByteBuf | provenance | | +| Test.java:214:40:214:47 | source(...) : Object | Test.java:214:24:214:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:215:10:215:11 | in : SwappedByteBuf | Test.java:215:10:215:30 | discardReadBytes(...) : SwappedByteBuf | provenance | MaD:6 | +| Test.java:215:10:215:30 | discardReadBytes(...) : SwappedByteBuf | Test.java:216:9:216:11 | out | provenance | | +| Test.java:221:26:221:51 | (...)... : CompositeByteBuf | Test.java:222:10:222:11 | in : CompositeByteBuf | provenance | | +| Test.java:221:44:221:51 | source(...) : Object | Test.java:221:26:221:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:222:10:222:11 | in : CompositeByteBuf | Test.java:222:10:222:30 | discardReadBytes(...) : CompositeByteBuf | provenance | MaD:6 | +| Test.java:222:10:222:30 | discardReadBytes(...) : CompositeByteBuf | Test.java:223:9:223:11 | out | provenance | | +| Test.java:228:25:228:49 | (...)... : AbstractByteBuf | Test.java:229:10:229:11 | in : AbstractByteBuf | provenance | | +| Test.java:228:42:228:49 | source(...) : Object | Test.java:228:25:228:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:229:10:229:11 | in : AbstractByteBuf | Test.java:229:10:229:34 | discardSomeReadBytes(...) : AbstractByteBuf | provenance | MaD:7 | +| Test.java:229:10:229:34 | discardSomeReadBytes(...) : AbstractByteBuf | Test.java:230:9:230:11 | out | provenance | | +| Test.java:235:17:235:33 | (...)... : ByteBuf | Test.java:236:10:236:11 | in : ByteBuf | provenance | | +| Test.java:235:26:235:33 | source(...) : Object | Test.java:235:17:235:33 | (...)... : ByteBuf | provenance | | +| Test.java:236:10:236:11 | in : ByteBuf | Test.java:236:10:236:34 | discardSomeReadBytes(...) : ByteBuf | provenance | MaD:7 | +| Test.java:236:10:236:34 | discardSomeReadBytes(...) : ByteBuf | Test.java:237:9:237:11 | out | provenance | | +| Test.java:242:24:242:47 | (...)... : SwappedByteBuf | Test.java:243:10:243:11 | in : SwappedByteBuf | provenance | | +| Test.java:242:40:242:47 | source(...) : Object | Test.java:242:24:242:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:243:10:243:11 | in : SwappedByteBuf | Test.java:243:10:243:34 | discardSomeReadBytes(...) : SwappedByteBuf | provenance | MaD:7 | +| Test.java:243:10:243:34 | discardSomeReadBytes(...) : SwappedByteBuf | Test.java:244:9:244:11 | out | provenance | | +| Test.java:249:26:249:51 | (...)... : CompositeByteBuf | Test.java:250:10:250:11 | in : CompositeByteBuf | provenance | | +| Test.java:249:44:249:51 | source(...) : Object | Test.java:249:26:249:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:250:10:250:11 | in : CompositeByteBuf | Test.java:250:10:250:34 | discardSomeReadBytes(...) : CompositeByteBuf | provenance | MaD:7 | +| Test.java:250:10:250:34 | discardSomeReadBytes(...) : CompositeByteBuf | Test.java:251:9:251:11 | out | provenance | | +| Test.java:256:25:256:49 | (...)... : AbstractByteBuf | Test.java:257:10:257:11 | in : AbstractByteBuf | provenance | | +| Test.java:256:42:256:49 | source(...) : Object | Test.java:256:25:256:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:257:10:257:11 | in : AbstractByteBuf | Test.java:257:10:257:23 | duplicate(...) : ByteBuf | provenance | MaD:8 | +| Test.java:257:10:257:23 | duplicate(...) : ByteBuf | Test.java:258:9:258:11 | out | provenance | | +| Test.java:263:17:263:33 | (...)... : ByteBuf | Test.java:264:10:264:11 | in : ByteBuf | provenance | | +| Test.java:263:26:263:33 | source(...) : Object | Test.java:263:17:263:33 | (...)... : ByteBuf | provenance | | +| Test.java:264:10:264:11 | in : ByteBuf | Test.java:264:10:264:23 | duplicate(...) : ByteBuf | provenance | MaD:8 | +| Test.java:264:10:264:23 | duplicate(...) : ByteBuf | Test.java:265:9:265:11 | out | provenance | | +| Test.java:270:24:270:47 | (...)... : SwappedByteBuf | Test.java:271:10:271:11 | in : SwappedByteBuf | provenance | | +| Test.java:270:40:270:47 | source(...) : Object | Test.java:270:24:270:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:271:10:271:11 | in : SwappedByteBuf | Test.java:271:10:271:23 | duplicate(...) : ByteBuf | provenance | MaD:8 | +| Test.java:271:10:271:23 | duplicate(...) : ByteBuf | Test.java:272:9:272:11 | out | provenance | | +| Test.java:277:25:277:49 | (...)... : AbstractByteBuf | Test.java:278:10:278:11 | in : AbstractByteBuf | provenance | | +| Test.java:277:42:277:49 | source(...) : Object | Test.java:277:25:277:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:278:10:278:11 | in : AbstractByteBuf | Test.java:278:10:278:29 | ensureWritable(...) : AbstractByteBuf | provenance | MaD:9 | +| Test.java:278:10:278:29 | ensureWritable(...) : AbstractByteBuf | Test.java:279:9:279:11 | out | provenance | | +| Test.java:284:17:284:33 | (...)... : ByteBuf | Test.java:285:10:285:11 | in : ByteBuf | provenance | | +| Test.java:284:26:284:33 | source(...) : Object | Test.java:284:17:284:33 | (...)... : ByteBuf | provenance | | +| Test.java:285:10:285:11 | in : ByteBuf | Test.java:285:10:285:29 | ensureWritable(...) : ByteBuf | provenance | MaD:9 | +| Test.java:285:10:285:29 | ensureWritable(...) : ByteBuf | Test.java:286:9:286:11 | out | provenance | | +| Test.java:291:24:291:47 | (...)... : SwappedByteBuf | Test.java:292:10:292:11 | in : SwappedByteBuf | provenance | | +| Test.java:291:40:291:47 | source(...) : Object | Test.java:291:24:291:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:292:10:292:11 | in : SwappedByteBuf | Test.java:292:10:292:29 | ensureWritable(...) : SwappedByteBuf | provenance | MaD:9 | +| Test.java:292:10:292:29 | ensureWritable(...) : SwappedByteBuf | Test.java:293:9:293:11 | out | provenance | | +| Test.java:298:26:298:51 | (...)... : CompositeByteBuf | Test.java:299:10:299:11 | in : CompositeByteBuf | provenance | | +| Test.java:298:44:298:51 | source(...) : Object | Test.java:298:26:298:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:299:10:299:11 | in : CompositeByteBuf | Test.java:299:10:299:29 | ensureWritable(...) : CompositeByteBuf | provenance | MaD:9 | +| Test.java:299:10:299:29 | ensureWritable(...) : CompositeByteBuf | Test.java:300:9:300:11 | out | provenance | | +| Test.java:305:25:305:49 | (...)... : AbstractByteBuf | Test.java:306:4:306:5 | in : AbstractByteBuf | provenance | | +| Test.java:305:42:305:49 | source(...) : Object | Test.java:305:25:305:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:306:4:306:5 | in : AbstractByteBuf | Test.java:306:19:306:21 | out [post update] : ByteBuf | provenance | MaD:91 | +| Test.java:306:19:306:21 | out [post update] : ByteBuf | Test.java:307:9:307:11 | out | provenance | | +| Test.java:312:17:312:33 | (...)... : ByteBuf | Test.java:313:4:313:5 | in : ByteBuf | provenance | | +| Test.java:312:26:312:33 | source(...) : Object | Test.java:312:17:312:33 | (...)... : ByteBuf | provenance | | +| Test.java:313:4:313:5 | in : ByteBuf | Test.java:313:19:313:21 | out [post update] : ByteBuf | provenance | MaD:91 | +| Test.java:313:19:313:21 | out [post update] : ByteBuf | Test.java:314:9:314:11 | out | provenance | | +| Test.java:319:26:319:51 | (...)... : CompositeByteBuf | Test.java:320:4:320:5 | in : CompositeByteBuf | provenance | | +| Test.java:319:44:319:51 | source(...) : Object | Test.java:319:26:319:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:320:4:320:5 | in : CompositeByteBuf | Test.java:320:19:320:21 | out [post update] : ByteBuf | provenance | MaD:91 | +| Test.java:320:19:320:21 | out [post update] : ByteBuf | Test.java:321:9:321:11 | out | provenance | | +| Test.java:326:24:326:47 | (...)... : SwappedByteBuf | Test.java:327:4:327:5 | in : SwappedByteBuf | provenance | | +| Test.java:326:40:326:47 | source(...) : Object | Test.java:326:24:326:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:327:4:327:5 | in : SwappedByteBuf | Test.java:327:19:327:21 | out [post update] : ByteBuf | provenance | MaD:91 | +| Test.java:327:19:327:21 | out [post update] : ByteBuf | Test.java:328:9:328:11 | out | provenance | | +| Test.java:333:25:333:49 | (...)... : AbstractByteBuf | Test.java:334:10:334:11 | in : AbstractByteBuf | provenance | | +| Test.java:333:42:333:49 | source(...) : Object | Test.java:333:25:333:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:334:10:334:11 | in : AbstractByteBuf | Test.java:334:10:334:38 | getBytes(...) : AbstractByteBuf | provenance | MaD:12 | +| Test.java:334:10:334:38 | getBytes(...) : AbstractByteBuf | Test.java:335:9:335:11 | out | provenance | | +| Test.java:340:17:340:33 | (...)... : ByteBuf | Test.java:341:10:341:11 | in : ByteBuf | provenance | | +| Test.java:340:26:340:33 | source(...) : Object | Test.java:340:17:340:33 | (...)... : ByteBuf | provenance | | +| Test.java:341:10:341:11 | in : ByteBuf | Test.java:341:10:341:38 | getBytes(...) : ByteBuf | provenance | MaD:12 | +| Test.java:341:10:341:38 | getBytes(...) : ByteBuf | Test.java:342:9:342:11 | out | provenance | | +| Test.java:347:24:347:47 | (...)... : SwappedByteBuf | Test.java:348:10:348:11 | in : SwappedByteBuf | provenance | | +| Test.java:347:40:347:47 | source(...) : Object | Test.java:347:24:347:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:348:10:348:11 | in : SwappedByteBuf | Test.java:348:10:348:38 | getBytes(...) : SwappedByteBuf | provenance | MaD:12 | +| Test.java:348:10:348:38 | getBytes(...) : SwappedByteBuf | Test.java:349:9:349:11 | out | provenance | | +| Test.java:354:26:354:51 | (...)... : CompositeByteBuf | Test.java:355:10:355:11 | in : CompositeByteBuf | provenance | | +| Test.java:354:44:354:51 | source(...) : Object | Test.java:354:26:354:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:355:10:355:11 | in : CompositeByteBuf | Test.java:355:10:355:38 | getBytes(...) : CompositeByteBuf | provenance | MaD:12 | +| Test.java:355:10:355:38 | getBytes(...) : CompositeByteBuf | Test.java:356:9:356:11 | out | provenance | | +| Test.java:361:25:361:49 | (...)... : AbstractByteBuf | Test.java:362:4:362:5 | in : AbstractByteBuf | provenance | | +| Test.java:361:42:361:49 | source(...) : Object | Test.java:361:25:361:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:362:4:362:5 | in : AbstractByteBuf | Test.java:362:19:362:21 | out [post update] : ByteBuf | provenance | MaD:93 | +| Test.java:362:19:362:21 | out [post update] : ByteBuf | Test.java:363:9:363:11 | out | provenance | | +| Test.java:368:17:368:33 | (...)... : ByteBuf | Test.java:369:4:369:5 | in : ByteBuf | provenance | | +| Test.java:368:26:368:33 | source(...) : Object | Test.java:368:17:368:33 | (...)... : ByteBuf | provenance | | +| Test.java:369:4:369:5 | in : ByteBuf | Test.java:369:19:369:21 | out [post update] : ByteBuf | provenance | MaD:93 | +| Test.java:369:19:369:21 | out [post update] : ByteBuf | Test.java:370:9:370:11 | out | provenance | | +| Test.java:375:26:375:51 | (...)... : CompositeByteBuf | Test.java:376:4:376:5 | in : CompositeByteBuf | provenance | | +| Test.java:375:44:375:51 | source(...) : Object | Test.java:375:26:375:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:376:4:376:5 | in : CompositeByteBuf | Test.java:376:19:376:21 | out [post update] : ByteBuf | provenance | MaD:93 | +| Test.java:376:19:376:21 | out [post update] : ByteBuf | Test.java:377:9:377:11 | out | provenance | | +| Test.java:382:24:382:47 | (...)... : SwappedByteBuf | Test.java:383:4:383:5 | in : SwappedByteBuf | provenance | | +| Test.java:382:40:382:47 | source(...) : Object | Test.java:382:24:382:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:383:4:383:5 | in : SwappedByteBuf | Test.java:383:19:383:21 | out [post update] : ByteBuf | provenance | MaD:93 | +| Test.java:383:19:383:21 | out [post update] : ByteBuf | Test.java:384:9:384:11 | out | provenance | | +| Test.java:389:25:389:49 | (...)... : AbstractByteBuf | Test.java:390:10:390:11 | in : AbstractByteBuf | provenance | | +| Test.java:389:42:389:49 | source(...) : Object | Test.java:389:25:389:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:390:10:390:11 | in : AbstractByteBuf | Test.java:390:10:390:41 | getBytes(...) : AbstractByteBuf | provenance | MaD:14 | +| Test.java:390:10:390:41 | getBytes(...) : AbstractByteBuf | Test.java:391:9:391:11 | out | provenance | | +| Test.java:396:17:396:33 | (...)... : ByteBuf | Test.java:397:10:397:11 | in : ByteBuf | provenance | | +| Test.java:396:26:396:33 | source(...) : Object | Test.java:396:17:396:33 | (...)... : ByteBuf | provenance | | +| Test.java:397:10:397:11 | in : ByteBuf | Test.java:397:10:397:41 | getBytes(...) : ByteBuf | provenance | MaD:14 | +| Test.java:397:10:397:41 | getBytes(...) : ByteBuf | Test.java:398:9:398:11 | out | provenance | | +| Test.java:403:24:403:47 | (...)... : SwappedByteBuf | Test.java:404:10:404:11 | in : SwappedByteBuf | provenance | | +| Test.java:403:40:403:47 | source(...) : Object | Test.java:403:24:403:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:404:10:404:11 | in : SwappedByteBuf | Test.java:404:10:404:41 | getBytes(...) : SwappedByteBuf | provenance | MaD:14 | +| Test.java:404:10:404:41 | getBytes(...) : SwappedByteBuf | Test.java:405:9:405:11 | out | provenance | | +| Test.java:410:26:410:51 | (...)... : CompositeByteBuf | Test.java:411:10:411:11 | in : CompositeByteBuf | provenance | | +| Test.java:410:44:410:51 | source(...) : Object | Test.java:410:26:410:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:411:10:411:11 | in : CompositeByteBuf | Test.java:411:10:411:41 | getBytes(...) : CompositeByteBuf | provenance | MaD:14 | +| Test.java:411:10:411:41 | getBytes(...) : CompositeByteBuf | Test.java:412:9:412:11 | out | provenance | | +| Test.java:417:17:417:33 | (...)... : ByteBuf | Test.java:418:4:418:5 | in : ByteBuf | provenance | | +| Test.java:417:26:417:33 | source(...) : Object | Test.java:417:17:417:33 | (...)... : ByteBuf | provenance | | +| Test.java:418:4:418:5 | in : ByteBuf | Test.java:418:19:418:21 | out [post update] : ByteBuf | provenance | MaD:94 | +| Test.java:418:19:418:21 | out [post update] : ByteBuf | Test.java:419:9:419:11 | out | provenance | | +| Test.java:424:26:424:51 | (...)... : CompositeByteBuf | Test.java:425:4:425:5 | in : CompositeByteBuf | provenance | | +| Test.java:424:44:424:51 | source(...) : Object | Test.java:424:26:424:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:425:4:425:5 | in : CompositeByteBuf | Test.java:425:19:425:21 | out [post update] : ByteBuf | provenance | MaD:94 | +| Test.java:425:19:425:21 | out [post update] : ByteBuf | Test.java:426:9:426:11 | out | provenance | | +| Test.java:431:24:431:47 | (...)... : SwappedByteBuf | Test.java:432:4:432:5 | in : SwappedByteBuf | provenance | | +| Test.java:431:40:431:47 | source(...) : Object | Test.java:431:24:431:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:432:4:432:5 | in : SwappedByteBuf | Test.java:432:19:432:21 | out [post update] : ByteBuf | provenance | MaD:94 | +| Test.java:432:19:432:21 | out [post update] : ByteBuf | Test.java:433:9:433:11 | out | provenance | | +| Test.java:438:17:438:33 | (...)... : ByteBuf | Test.java:439:10:439:11 | in : ByteBuf | provenance | | +| Test.java:438:26:438:33 | source(...) : Object | Test.java:438:17:438:33 | (...)... : ByteBuf | provenance | | +| Test.java:439:10:439:11 | in : ByteBuf | Test.java:439:10:439:44 | getBytes(...) : ByteBuf | provenance | MaD:15 | +| Test.java:439:10:439:44 | getBytes(...) : ByteBuf | Test.java:440:9:440:11 | out | provenance | | +| Test.java:445:24:445:47 | (...)... : SwappedByteBuf | Test.java:446:10:446:11 | in : SwappedByteBuf | provenance | | +| Test.java:445:40:445:47 | source(...) : Object | Test.java:445:24:445:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:446:10:446:11 | in : SwappedByteBuf | Test.java:446:10:446:44 | getBytes(...) : SwappedByteBuf | provenance | MaD:15 | +| Test.java:446:10:446:44 | getBytes(...) : SwappedByteBuf | Test.java:447:9:447:11 | out | provenance | | +| Test.java:452:26:452:51 | (...)... : CompositeByteBuf | Test.java:453:10:453:11 | in : CompositeByteBuf | provenance | | +| Test.java:452:44:452:51 | source(...) : Object | Test.java:452:26:452:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:453:10:453:11 | in : CompositeByteBuf | Test.java:453:10:453:44 | getBytes(...) : CompositeByteBuf | provenance | MaD:15 | +| Test.java:453:10:453:44 | getBytes(...) : CompositeByteBuf | Test.java:454:9:454:11 | out | provenance | | +| Test.java:459:17:459:33 | (...)... : ByteBuf | Test.java:460:4:460:5 | in : ByteBuf | provenance | | +| Test.java:459:26:459:33 | source(...) : Object | Test.java:459:17:459:33 | (...)... : ByteBuf | provenance | | +| Test.java:460:4:460:5 | in : ByteBuf | Test.java:460:19:460:21 | out [post update] : ByteBuffer | provenance | MaD:92 | +| Test.java:460:19:460:21 | out [post update] : ByteBuffer | Test.java:461:9:461:11 | out | provenance | | +| Test.java:466:26:466:51 | (...)... : CompositeByteBuf | Test.java:467:4:467:5 | in : CompositeByteBuf | provenance | | +| Test.java:466:44:466:51 | source(...) : Object | Test.java:466:26:466:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:467:4:467:5 | in : CompositeByteBuf | Test.java:467:19:467:21 | out [post update] : ByteBuffer | provenance | MaD:92 | +| Test.java:467:19:467:21 | out [post update] : ByteBuffer | Test.java:468:9:468:11 | out | provenance | | +| Test.java:473:24:473:47 | (...)... : SwappedByteBuf | Test.java:474:4:474:5 | in : SwappedByteBuf | provenance | | +| Test.java:473:40:473:47 | source(...) : Object | Test.java:473:24:473:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:474:4:474:5 | in : SwappedByteBuf | Test.java:474:19:474:21 | out [post update] : ByteBuffer | provenance | MaD:92 | +| Test.java:474:19:474:21 | out [post update] : ByteBuffer | Test.java:475:9:475:11 | out | provenance | | +| Test.java:480:17:480:33 | (...)... : ByteBuf | Test.java:481:10:481:11 | in : ByteBuf | provenance | | +| Test.java:480:26:480:33 | source(...) : Object | Test.java:480:17:480:33 | (...)... : ByteBuf | provenance | | +| Test.java:481:10:481:11 | in : ByteBuf | Test.java:481:10:481:41 | getBytes(...) : ByteBuf | provenance | MaD:13 | +| Test.java:481:10:481:41 | getBytes(...) : ByteBuf | Test.java:482:9:482:11 | out | provenance | | +| Test.java:487:24:487:47 | (...)... : SwappedByteBuf | Test.java:488:10:488:11 | in : SwappedByteBuf | provenance | | +| Test.java:487:40:487:47 | source(...) : Object | Test.java:487:24:487:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:488:10:488:11 | in : SwappedByteBuf | Test.java:488:10:488:41 | getBytes(...) : SwappedByteBuf | provenance | MaD:13 | +| Test.java:488:10:488:41 | getBytes(...) : SwappedByteBuf | Test.java:489:9:489:11 | out | provenance | | +| Test.java:494:26:494:51 | (...)... : CompositeByteBuf | Test.java:495:10:495:11 | in : CompositeByteBuf | provenance | | +| Test.java:494:44:494:51 | source(...) : Object | Test.java:494:26:494:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:495:10:495:11 | in : CompositeByteBuf | Test.java:495:10:495:41 | getBytes(...) : CompositeByteBuf | provenance | MaD:13 | +| Test.java:495:10:495:41 | getBytes(...) : CompositeByteBuf | Test.java:496:9:496:11 | out | provenance | | +| Test.java:501:17:501:33 | (...)... : ByteBuf | Test.java:502:4:502:5 | in : ByteBuf | provenance | | +| Test.java:501:26:501:33 | source(...) : Object | Test.java:501:17:501:33 | (...)... : ByteBuf | provenance | | +| Test.java:502:4:502:5 | in : ByteBuf | Test.java:502:19:502:21 | out [post update] : FileChannel | provenance | MaD:95 | +| Test.java:502:19:502:21 | out [post update] : FileChannel | Test.java:503:9:503:11 | out | provenance | | +| Test.java:508:26:508:51 | (...)... : CompositeByteBuf | Test.java:509:4:509:5 | in : CompositeByteBuf | provenance | | +| Test.java:508:44:508:51 | source(...) : Object | Test.java:508:26:508:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:509:4:509:5 | in : CompositeByteBuf | Test.java:509:19:509:21 | out [post update] : FileChannel | provenance | MaD:95 | +| Test.java:509:19:509:21 | out [post update] : FileChannel | Test.java:510:9:510:11 | out | provenance | | +| Test.java:515:24:515:47 | (...)... : SwappedByteBuf | Test.java:516:4:516:5 | in : SwappedByteBuf | provenance | | +| Test.java:515:40:515:47 | source(...) : Object | Test.java:515:24:515:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:516:4:516:5 | in : SwappedByteBuf | Test.java:516:19:516:21 | out [post update] : FileChannel | provenance | MaD:95 | +| Test.java:516:19:516:21 | out [post update] : FileChannel | Test.java:517:9:517:11 | out | provenance | | +| Test.java:522:17:522:33 | (...)... : ByteBuf | Test.java:523:4:523:5 | in : ByteBuf | provenance | | +| Test.java:522:26:522:33 | source(...) : Object | Test.java:522:17:522:33 | (...)... : ByteBuf | provenance | | +| Test.java:523:4:523:5 | in : ByteBuf | Test.java:523:19:523:21 | out [post update] : GatheringByteChannel | provenance | MaD:96 | +| Test.java:523:19:523:21 | out [post update] : GatheringByteChannel | Test.java:524:9:524:11 | out | provenance | | +| Test.java:529:26:529:51 | (...)... : CompositeByteBuf | Test.java:530:4:530:5 | in : CompositeByteBuf | provenance | | +| Test.java:529:44:529:51 | source(...) : Object | Test.java:529:26:529:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:530:4:530:5 | in : CompositeByteBuf | Test.java:530:19:530:21 | out [post update] : GatheringByteChannel | provenance | MaD:96 | +| Test.java:530:19:530:21 | out [post update] : GatheringByteChannel | Test.java:531:9:531:11 | out | provenance | | +| Test.java:536:24:536:47 | (...)... : SwappedByteBuf | Test.java:537:4:537:5 | in : SwappedByteBuf | provenance | | +| Test.java:536:40:536:47 | source(...) : Object | Test.java:536:24:536:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:537:4:537:5 | in : SwappedByteBuf | Test.java:537:19:537:21 | out [post update] : GatheringByteChannel | provenance | MaD:96 | +| Test.java:537:19:537:21 | out [post update] : GatheringByteChannel | Test.java:538:9:538:11 | out | provenance | | +| Test.java:543:17:543:33 | (...)... : ByteBuf | Test.java:544:4:544:5 | in : ByteBuf | provenance | | +| Test.java:543:26:543:33 | source(...) : Object | Test.java:543:17:543:33 | (...)... : ByteBuf | provenance | | +| Test.java:544:4:544:5 | in : ByteBuf | Test.java:544:19:544:21 | out [post update] : OutputStream | provenance | MaD:97 | +| Test.java:544:19:544:21 | out [post update] : OutputStream | Test.java:545:9:545:11 | out | provenance | | +| Test.java:550:26:550:51 | (...)... : CompositeByteBuf | Test.java:551:4:551:5 | in : CompositeByteBuf | provenance | | +| Test.java:550:44:550:51 | source(...) : Object | Test.java:550:26:550:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:551:4:551:5 | in : CompositeByteBuf | Test.java:551:19:551:21 | out [post update] : OutputStream | provenance | MaD:97 | +| Test.java:551:19:551:21 | out [post update] : OutputStream | Test.java:552:9:552:11 | out | provenance | | +| Test.java:557:24:557:47 | (...)... : SwappedByteBuf | Test.java:558:4:558:5 | in : SwappedByteBuf | provenance | | +| Test.java:557:40:557:47 | source(...) : Object | Test.java:557:24:557:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:558:4:558:5 | in : SwappedByteBuf | Test.java:558:19:558:21 | out [post update] : OutputStream | provenance | MaD:97 | +| Test.java:558:19:558:21 | out [post update] : OutputStream | Test.java:559:9:559:11 | out | provenance | | +| Test.java:564:17:564:33 | (...)... : ByteBuf | Test.java:565:10:565:11 | in : ByteBuf | provenance | | +| Test.java:564:26:564:33 | source(...) : Object | Test.java:564:17:564:33 | (...)... : ByteBuf | provenance | | +| Test.java:565:10:565:11 | in : ByteBuf | Test.java:565:10:565:46 | getBytes(...) : ByteBuf | provenance | MaD:16 | +| Test.java:565:10:565:46 | getBytes(...) : ByteBuf | Test.java:566:9:566:11 | out | provenance | | +| Test.java:571:24:571:47 | (...)... : SwappedByteBuf | Test.java:572:10:572:11 | in : SwappedByteBuf | provenance | | +| Test.java:571:40:571:47 | source(...) : Object | Test.java:571:24:571:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:572:10:572:11 | in : SwappedByteBuf | Test.java:572:10:572:46 | getBytes(...) : SwappedByteBuf | provenance | MaD:16 | +| Test.java:572:10:572:46 | getBytes(...) : SwappedByteBuf | Test.java:573:9:573:11 | out | provenance | | +| Test.java:578:26:578:51 | (...)... : CompositeByteBuf | Test.java:579:10:579:11 | in : CompositeByteBuf | provenance | | +| Test.java:578:44:578:51 | source(...) : Object | Test.java:578:26:578:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:579:10:579:11 | in : CompositeByteBuf | Test.java:579:10:579:46 | getBytes(...) : CompositeByteBuf | provenance | MaD:16 | +| Test.java:579:10:579:46 | getBytes(...) : CompositeByteBuf | Test.java:580:9:580:11 | out | provenance | | +| Test.java:585:25:585:49 | (...)... : AbstractByteBuf | Test.java:586:4:586:5 | in : AbstractByteBuf | provenance | | +| Test.java:585:42:585:49 | source(...) : Object | Test.java:585:25:585:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:586:4:586:5 | in : AbstractByteBuf | Test.java:586:19:586:21 | out [post update] : byte[] | provenance | MaD:89 | +| Test.java:586:19:586:21 | out [post update] : byte[] | Test.java:587:9:587:11 | out | provenance | | +| Test.java:592:17:592:33 | (...)... : ByteBuf | Test.java:593:4:593:5 | in : ByteBuf | provenance | | +| Test.java:592:26:592:33 | source(...) : Object | Test.java:592:17:592:33 | (...)... : ByteBuf | provenance | | +| Test.java:593:4:593:5 | in : ByteBuf | Test.java:593:19:593:21 | out [post update] : byte[] | provenance | MaD:89 | +| Test.java:593:19:593:21 | out [post update] : byte[] | Test.java:594:9:594:11 | out | provenance | | +| Test.java:599:26:599:51 | (...)... : CompositeByteBuf | Test.java:600:4:600:5 | in : CompositeByteBuf | provenance | | +| Test.java:599:44:599:51 | source(...) : Object | Test.java:599:26:599:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:600:4:600:5 | in : CompositeByteBuf | Test.java:600:19:600:21 | out [post update] : byte[] | provenance | MaD:89 | +| Test.java:600:19:600:21 | out [post update] : byte[] | Test.java:601:9:601:11 | out | provenance | | +| Test.java:606:24:606:47 | (...)... : SwappedByteBuf | Test.java:607:4:607:5 | in : SwappedByteBuf | provenance | | +| Test.java:606:40:606:47 | source(...) : Object | Test.java:606:24:606:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:607:4:607:5 | in : SwappedByteBuf | Test.java:607:19:607:21 | out [post update] : byte[] | provenance | MaD:89 | +| Test.java:607:19:607:21 | out [post update] : byte[] | Test.java:608:9:608:11 | out | provenance | | +| Test.java:613:25:613:49 | (...)... : AbstractByteBuf | Test.java:614:10:614:11 | in : AbstractByteBuf | provenance | | +| Test.java:613:42:613:49 | source(...) : Object | Test.java:613:25:613:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:614:10:614:11 | in : AbstractByteBuf | Test.java:614:10:614:37 | getBytes(...) : AbstractByteBuf | provenance | MaD:10 | +| Test.java:614:10:614:37 | getBytes(...) : AbstractByteBuf | Test.java:615:9:615:11 | out | provenance | | +| Test.java:620:17:620:33 | (...)... : ByteBuf | Test.java:621:10:621:11 | in : ByteBuf | provenance | | +| Test.java:620:26:620:33 | source(...) : Object | Test.java:620:17:620:33 | (...)... : ByteBuf | provenance | | +| Test.java:621:10:621:11 | in : ByteBuf | Test.java:621:10:621:37 | getBytes(...) : ByteBuf | provenance | MaD:10 | +| Test.java:621:10:621:37 | getBytes(...) : ByteBuf | Test.java:622:9:622:11 | out | provenance | | +| Test.java:627:24:627:47 | (...)... : SwappedByteBuf | Test.java:628:10:628:11 | in : SwappedByteBuf | provenance | | +| Test.java:627:40:627:47 | source(...) : Object | Test.java:627:24:627:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:628:10:628:11 | in : SwappedByteBuf | Test.java:628:10:628:37 | getBytes(...) : SwappedByteBuf | provenance | MaD:10 | +| Test.java:628:10:628:37 | getBytes(...) : SwappedByteBuf | Test.java:629:9:629:11 | out | provenance | | +| Test.java:634:26:634:51 | (...)... : CompositeByteBuf | Test.java:635:10:635:11 | in : CompositeByteBuf | provenance | | +| Test.java:634:44:634:51 | source(...) : Object | Test.java:634:26:634:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:635:10:635:11 | in : CompositeByteBuf | Test.java:635:10:635:37 | getBytes(...) : CompositeByteBuf | provenance | MaD:10 | +| Test.java:635:10:635:37 | getBytes(...) : CompositeByteBuf | Test.java:636:9:636:11 | out | provenance | | +| Test.java:641:17:641:33 | (...)... : ByteBuf | Test.java:642:4:642:5 | in : ByteBuf | provenance | | +| Test.java:641:26:641:33 | source(...) : Object | Test.java:641:17:641:33 | (...)... : ByteBuf | provenance | | +| Test.java:642:4:642:5 | in : ByteBuf | Test.java:642:19:642:21 | out [post update] : byte[] | provenance | MaD:90 | +| Test.java:642:19:642:21 | out [post update] : byte[] | Test.java:643:9:643:11 | out | provenance | | +| Test.java:648:26:648:51 | (...)... : CompositeByteBuf | Test.java:649:4:649:5 | in : CompositeByteBuf | provenance | | +| Test.java:648:44:648:51 | source(...) : Object | Test.java:648:26:648:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:649:4:649:5 | in : CompositeByteBuf | Test.java:649:19:649:21 | out [post update] : byte[] | provenance | MaD:90 | +| Test.java:649:19:649:21 | out [post update] : byte[] | Test.java:650:9:650:11 | out | provenance | | +| Test.java:655:24:655:47 | (...)... : SwappedByteBuf | Test.java:656:4:656:5 | in : SwappedByteBuf | provenance | | +| Test.java:655:40:655:47 | source(...) : Object | Test.java:655:24:655:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:656:4:656:5 | in : SwappedByteBuf | Test.java:656:19:656:21 | out [post update] : byte[] | provenance | MaD:90 | +| Test.java:656:19:656:21 | out [post update] : byte[] | Test.java:657:9:657:11 | out | provenance | | +| Test.java:662:17:662:33 | (...)... : ByteBuf | Test.java:663:10:663:11 | in : ByteBuf | provenance | | +| Test.java:662:26:662:33 | source(...) : Object | Test.java:662:17:662:33 | (...)... : ByteBuf | provenance | | +| Test.java:663:10:663:11 | in : ByteBuf | Test.java:663:10:663:43 | getBytes(...) : ByteBuf | provenance | MaD:11 | +| Test.java:663:10:663:43 | getBytes(...) : ByteBuf | Test.java:664:9:664:11 | out | provenance | | +| Test.java:669:24:669:47 | (...)... : SwappedByteBuf | Test.java:670:10:670:11 | in : SwappedByteBuf | provenance | | +| Test.java:669:40:669:47 | source(...) : Object | Test.java:669:24:669:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:670:10:670:11 | in : SwappedByteBuf | Test.java:670:10:670:43 | getBytes(...) : SwappedByteBuf | provenance | MaD:11 | +| Test.java:670:10:670:43 | getBytes(...) : SwappedByteBuf | Test.java:671:9:671:11 | out | provenance | | +| Test.java:676:26:676:51 | (...)... : CompositeByteBuf | Test.java:677:10:677:11 | in : CompositeByteBuf | provenance | | +| Test.java:676:44:676:51 | source(...) : Object | Test.java:676:26:676:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:677:10:677:11 | in : CompositeByteBuf | Test.java:677:10:677:43 | getBytes(...) : CompositeByteBuf | provenance | MaD:11 | +| Test.java:677:10:677:43 | getBytes(...) : CompositeByteBuf | Test.java:678:9:678:11 | out | provenance | | +| Test.java:683:25:683:49 | (...)... : AbstractByteBuf | Test.java:684:10:684:11 | in : AbstractByteBuf | provenance | | +| Test.java:683:42:683:49 | source(...) : Object | Test.java:683:25:683:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:684:10:684:11 | in : AbstractByteBuf | Test.java:684:10:684:22 | getChar(...) : Number | provenance | MaD:98 | +| Test.java:684:10:684:22 | getChar(...) : Number | Test.java:685:9:685:11 | out | provenance | | +| Test.java:690:17:690:33 | (...)... : ByteBuf | Test.java:691:10:691:11 | in : ByteBuf | provenance | | +| Test.java:690:26:690:33 | source(...) : Object | Test.java:690:17:690:33 | (...)... : ByteBuf | provenance | | +| Test.java:691:10:691:11 | in : ByteBuf | Test.java:691:10:691:22 | getChar(...) : Number | provenance | MaD:98 | +| Test.java:691:10:691:22 | getChar(...) : Number | Test.java:692:9:692:11 | out | provenance | | +| Test.java:697:24:697:47 | (...)... : SwappedByteBuf | Test.java:698:10:698:11 | in : SwappedByteBuf | provenance | | +| Test.java:697:40:697:47 | source(...) : Object | Test.java:697:24:697:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:698:10:698:11 | in : SwappedByteBuf | Test.java:698:10:698:22 | getChar(...) : Number | provenance | MaD:98 | +| Test.java:698:10:698:22 | getChar(...) : Number | Test.java:699:9:699:11 | out | provenance | | +| Test.java:704:25:704:49 | (...)... : AbstractByteBuf | Test.java:705:10:705:11 | in : AbstractByteBuf | provenance | | +| Test.java:704:42:704:49 | source(...) : Object | Test.java:704:25:704:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:705:10:705:11 | in : AbstractByteBuf | Test.java:705:10:705:39 | getCharSequence(...) : CharSequence | provenance | MaD:99 | +| Test.java:705:10:705:39 | getCharSequence(...) : CharSequence | Test.java:706:9:706:11 | out | provenance | | +| Test.java:711:17:711:33 | (...)... : ByteBuf | Test.java:712:10:712:11 | in : ByteBuf | provenance | | +| Test.java:711:26:711:33 | source(...) : Object | Test.java:711:17:711:33 | (...)... : ByteBuf | provenance | | +| Test.java:712:10:712:11 | in : ByteBuf | Test.java:712:10:712:39 | getCharSequence(...) : CharSequence | provenance | MaD:99 | +| Test.java:712:10:712:39 | getCharSequence(...) : CharSequence | Test.java:713:9:713:11 | out | provenance | | +| Test.java:718:24:718:47 | (...)... : SwappedByteBuf | Test.java:719:10:719:11 | in : SwappedByteBuf | provenance | | +| Test.java:718:40:718:47 | source(...) : Object | Test.java:718:24:718:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:719:10:719:11 | in : SwappedByteBuf | Test.java:719:10:719:39 | getCharSequence(...) : CharSequence | provenance | MaD:99 | +| Test.java:719:10:719:39 | getCharSequence(...) : CharSequence | Test.java:720:9:720:11 | out | provenance | | +| Test.java:725:25:725:49 | (...)... : AbstractByteBuf | Test.java:726:10:726:11 | in : AbstractByteBuf | provenance | | +| Test.java:725:42:725:49 | source(...) : Object | Test.java:725:25:725:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:726:10:726:11 | in : AbstractByteBuf | Test.java:726:10:726:29 | markReaderIndex(...) : AbstractByteBuf | provenance | MaD:17 | +| Test.java:726:10:726:29 | markReaderIndex(...) : AbstractByteBuf | Test.java:727:9:727:11 | out | provenance | | +| Test.java:732:17:732:33 | (...)... : ByteBuf | Test.java:733:10:733:11 | in : ByteBuf | provenance | | +| Test.java:732:26:732:33 | source(...) : Object | Test.java:732:17:732:33 | (...)... : ByteBuf | provenance | | +| Test.java:733:10:733:11 | in : ByteBuf | Test.java:733:10:733:29 | markReaderIndex(...) : ByteBuf | provenance | MaD:17 | +| Test.java:733:10:733:29 | markReaderIndex(...) : ByteBuf | Test.java:734:9:734:11 | out | provenance | | +| Test.java:739:24:739:47 | (...)... : SwappedByteBuf | Test.java:740:10:740:11 | in : SwappedByteBuf | provenance | | +| Test.java:739:40:739:47 | source(...) : Object | Test.java:739:24:739:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:740:10:740:11 | in : SwappedByteBuf | Test.java:740:10:740:29 | markReaderIndex(...) : SwappedByteBuf | provenance | MaD:17 | +| Test.java:740:10:740:29 | markReaderIndex(...) : SwappedByteBuf | Test.java:741:9:741:11 | out | provenance | | +| Test.java:746:26:746:51 | (...)... : CompositeByteBuf | Test.java:747:10:747:11 | in : CompositeByteBuf | provenance | | +| Test.java:746:44:746:51 | source(...) : Object | Test.java:746:26:746:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:747:10:747:11 | in : CompositeByteBuf | Test.java:747:10:747:29 | markReaderIndex(...) : CompositeByteBuf | provenance | MaD:17 | +| Test.java:747:10:747:29 | markReaderIndex(...) : CompositeByteBuf | Test.java:748:9:748:11 | out | provenance | | +| Test.java:753:25:753:49 | (...)... : AbstractByteBuf | Test.java:754:10:754:11 | in : AbstractByteBuf | provenance | | +| Test.java:753:42:753:49 | source(...) : Object | Test.java:753:25:753:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:754:10:754:11 | in : AbstractByteBuf | Test.java:754:10:754:29 | markWriterIndex(...) : AbstractByteBuf | provenance | MaD:18 | +| Test.java:754:10:754:29 | markWriterIndex(...) : AbstractByteBuf | Test.java:755:9:755:11 | out | provenance | | +| Test.java:760:17:760:33 | (...)... : ByteBuf | Test.java:761:10:761:11 | in : ByteBuf | provenance | | +| Test.java:760:26:760:33 | source(...) : Object | Test.java:760:17:760:33 | (...)... : ByteBuf | provenance | | +| Test.java:761:10:761:11 | in : ByteBuf | Test.java:761:10:761:29 | markWriterIndex(...) : ByteBuf | provenance | MaD:18 | +| Test.java:761:10:761:29 | markWriterIndex(...) : ByteBuf | Test.java:762:9:762:11 | out | provenance | | +| Test.java:767:24:767:47 | (...)... : SwappedByteBuf | Test.java:768:10:768:11 | in : SwappedByteBuf | provenance | | +| Test.java:767:40:767:47 | source(...) : Object | Test.java:767:24:767:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:768:10:768:11 | in : SwappedByteBuf | Test.java:768:10:768:29 | markWriterIndex(...) : SwappedByteBuf | provenance | MaD:18 | +| Test.java:768:10:768:29 | markWriterIndex(...) : SwappedByteBuf | Test.java:769:9:769:11 | out | provenance | | +| Test.java:774:26:774:51 | (...)... : CompositeByteBuf | Test.java:775:10:775:11 | in : CompositeByteBuf | provenance | | +| Test.java:774:44:774:51 | source(...) : Object | Test.java:774:26:774:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:775:10:775:11 | in : CompositeByteBuf | Test.java:775:10:775:29 | markWriterIndex(...) : CompositeByteBuf | provenance | MaD:18 | +| Test.java:775:10:775:29 | markWriterIndex(...) : CompositeByteBuf | Test.java:776:9:776:11 | out | provenance | | +| Test.java:781:25:781:49 | (...)... : AbstractByteBuf | Test.java:782:10:782:11 | in : AbstractByteBuf | provenance | | +| Test.java:781:42:781:49 | source(...) : Object | Test.java:781:25:781:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:782:10:782:11 | in : AbstractByteBuf | Test.java:782:10:782:23 | nioBuffer(...) : ByteBuffer | provenance | MaD:19 | +| Test.java:782:10:782:23 | nioBuffer(...) : ByteBuffer | Test.java:783:9:783:11 | out | provenance | | +| Test.java:788:17:788:33 | (...)... : ByteBuf | Test.java:789:10:789:11 | in : ByteBuf | provenance | | +| Test.java:788:26:788:33 | source(...) : Object | Test.java:788:17:788:33 | (...)... : ByteBuf | provenance | | +| Test.java:789:10:789:11 | in : ByteBuf | Test.java:789:10:789:23 | nioBuffer(...) : ByteBuffer | provenance | MaD:19 | +| Test.java:789:10:789:23 | nioBuffer(...) : ByteBuffer | Test.java:790:9:790:11 | out | provenance | | +| Test.java:795:17:795:33 | (...)... : ByteBuf | Test.java:796:10:796:11 | in : ByteBuf | provenance | | +| Test.java:795:26:795:33 | source(...) : Object | Test.java:795:17:795:33 | (...)... : ByteBuf | provenance | | +| Test.java:796:10:796:11 | in : ByteBuf | Test.java:796:10:796:27 | nioBuffer(...) : ByteBuffer | provenance | MaD:19 | +| Test.java:796:10:796:27 | nioBuffer(...) : ByteBuffer | Test.java:797:9:797:11 | out | provenance | | +| Test.java:802:26:802:51 | (...)... : CompositeByteBuf | Test.java:803:10:803:11 | in : CompositeByteBuf | provenance | | +| Test.java:802:44:802:51 | source(...) : Object | Test.java:802:26:802:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:803:10:803:11 | in : CompositeByteBuf | Test.java:803:10:803:27 | nioBuffer(...) : ByteBuffer | provenance | MaD:19 | +| Test.java:803:10:803:27 | nioBuffer(...) : ByteBuffer | Test.java:804:9:804:11 | out | provenance | | +| Test.java:809:24:809:47 | (...)... : SwappedByteBuf | Test.java:810:10:810:11 | in : SwappedByteBuf | provenance | | +| Test.java:809:40:809:47 | source(...) : Object | Test.java:809:24:809:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:810:10:810:11 | in : SwappedByteBuf | Test.java:810:10:810:23 | nioBuffer(...) : ByteBuffer | provenance | MaD:19 | +| Test.java:810:10:810:23 | nioBuffer(...) : ByteBuffer | Test.java:811:9:811:11 | out | provenance | | +| Test.java:816:24:816:47 | (...)... : SwappedByteBuf | Test.java:817:10:817:11 | in : SwappedByteBuf | provenance | | +| Test.java:816:40:816:47 | source(...) : Object | Test.java:816:24:816:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:817:10:817:11 | in : SwappedByteBuf | Test.java:817:10:817:27 | nioBuffer(...) : ByteBuffer | provenance | MaD:19 | +| Test.java:817:10:817:27 | nioBuffer(...) : ByteBuffer | Test.java:818:9:818:11 | out | provenance | | +| Test.java:823:25:823:49 | (...)... : AbstractByteBuf | Test.java:824:10:824:11 | in : AbstractByteBuf | provenance | | +| Test.java:823:42:823:49 | source(...) : Object | Test.java:823:25:823:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:824:10:824:11 | in : AbstractByteBuf | Test.java:824:10:824:24 | nioBuffers(...) : ByteBuffer[] | provenance | MaD:20 | +| Test.java:824:10:824:24 | nioBuffers(...) : ByteBuffer[] | Test.java:825:9:825:11 | out | provenance | | +| Test.java:830:17:830:33 | (...)... : ByteBuf | Test.java:831:10:831:11 | in : ByteBuf | provenance | | +| Test.java:830:26:830:33 | source(...) : Object | Test.java:830:17:830:33 | (...)... : ByteBuf | provenance | | +| Test.java:831:10:831:11 | in : ByteBuf | Test.java:831:10:831:24 | nioBuffers(...) : ByteBuffer[] | provenance | MaD:20 | +| Test.java:831:10:831:24 | nioBuffers(...) : ByteBuffer[] | Test.java:832:9:832:11 | out | provenance | | +| Test.java:837:17:837:33 | (...)... : ByteBuf | Test.java:838:10:838:11 | in : ByteBuf | provenance | | +| Test.java:837:26:837:33 | source(...) : Object | Test.java:837:17:837:33 | (...)... : ByteBuf | provenance | | +| Test.java:838:10:838:11 | in : ByteBuf | Test.java:838:10:838:28 | nioBuffers(...) : ByteBuffer[] | provenance | MaD:20 | +| Test.java:838:10:838:28 | nioBuffers(...) : ByteBuffer[] | Test.java:839:9:839:11 | out | provenance | | +| Test.java:844:26:844:51 | (...)... : CompositeByteBuf | Test.java:845:10:845:11 | in : CompositeByteBuf | provenance | | +| Test.java:844:44:844:51 | source(...) : Object | Test.java:844:26:844:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:845:10:845:11 | in : CompositeByteBuf | Test.java:845:10:845:24 | nioBuffers(...) : ByteBuffer[] | provenance | MaD:20 | +| Test.java:845:10:845:24 | nioBuffers(...) : ByteBuffer[] | Test.java:846:9:846:11 | out | provenance | | +| Test.java:851:26:851:51 | (...)... : CompositeByteBuf | Test.java:852:10:852:11 | in : CompositeByteBuf | provenance | | +| Test.java:851:44:851:51 | source(...) : Object | Test.java:851:26:851:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:852:10:852:11 | in : CompositeByteBuf | Test.java:852:10:852:28 | nioBuffers(...) : ByteBuffer[] | provenance | MaD:20 | +| Test.java:852:10:852:28 | nioBuffers(...) : ByteBuffer[] | Test.java:853:9:853:11 | out | provenance | | +| Test.java:858:24:858:47 | (...)... : SwappedByteBuf | Test.java:859:10:859:11 | in : SwappedByteBuf | provenance | | +| Test.java:858:40:858:47 | source(...) : Object | Test.java:858:24:858:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:859:10:859:11 | in : SwappedByteBuf | Test.java:859:10:859:24 | nioBuffers(...) : ByteBuffer[] | provenance | MaD:20 | +| Test.java:859:10:859:24 | nioBuffers(...) : ByteBuffer[] | Test.java:860:9:860:11 | out | provenance | | +| Test.java:865:24:865:47 | (...)... : SwappedByteBuf | Test.java:866:10:866:11 | in : SwappedByteBuf | provenance | | +| Test.java:865:40:865:47 | source(...) : Object | Test.java:865:24:865:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:866:10:866:11 | in : SwappedByteBuf | Test.java:866:10:866:28 | nioBuffers(...) : ByteBuffer[] | provenance | MaD:20 | +| Test.java:866:10:866:28 | nioBuffers(...) : ByteBuffer[] | Test.java:867:9:867:11 | out | provenance | | +| Test.java:872:25:872:49 | (...)... : AbstractByteBuf | Test.java:873:10:873:11 | in : AbstractByteBuf | provenance | | +| Test.java:872:42:872:49 | source(...) : Object | Test.java:872:25:872:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:873:10:873:11 | in : AbstractByteBuf | Test.java:873:10:873:23 | order(...) : ByteBuf | provenance | MaD:21 | +| Test.java:873:10:873:23 | order(...) : ByteBuf | Test.java:874:9:874:11 | out | provenance | | +| Test.java:879:17:879:33 | (...)... : ByteBuf | Test.java:880:10:880:11 | in : ByteBuf | provenance | | +| Test.java:879:26:879:33 | source(...) : Object | Test.java:879:17:879:33 | (...)... : ByteBuf | provenance | | +| Test.java:880:10:880:11 | in : ByteBuf | Test.java:880:10:880:23 | order(...) : ByteBuf | provenance | MaD:21 | +| Test.java:880:10:880:23 | order(...) : ByteBuf | Test.java:881:9:881:11 | out | provenance | | +| Test.java:886:24:886:47 | (...)... : SwappedByteBuf | Test.java:887:10:887:11 | in : SwappedByteBuf | provenance | | +| Test.java:886:40:886:47 | source(...) : Object | Test.java:886:24:886:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:887:10:887:11 | in : SwappedByteBuf | Test.java:887:10:887:23 | order(...) : ByteBuf | provenance | MaD:21 | +| Test.java:887:10:887:23 | order(...) : ByteBuf | Test.java:888:9:888:11 | out | provenance | | +| Test.java:893:25:893:49 | (...)... : AbstractByteBuf | Test.java:894:4:894:5 | in : AbstractByteBuf | provenance | | +| Test.java:893:42:893:49 | source(...) : Object | Test.java:893:25:893:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:894:4:894:5 | in : AbstractByteBuf | Test.java:894:17:894:19 | out [post update] : ByteBuf | provenance | MaD:102 | +| Test.java:894:17:894:19 | out [post update] : ByteBuf | Test.java:895:9:895:11 | out | provenance | | +| Test.java:900:17:900:33 | (...)... : ByteBuf | Test.java:901:4:901:5 | in : ByteBuf | provenance | | +| Test.java:900:26:900:33 | source(...) : Object | Test.java:900:17:900:33 | (...)... : ByteBuf | provenance | | +| Test.java:901:4:901:5 | in : ByteBuf | Test.java:901:17:901:19 | out [post update] : ByteBuf | provenance | MaD:102 | +| Test.java:901:17:901:19 | out [post update] : ByteBuf | Test.java:902:9:902:11 | out | provenance | | +| Test.java:907:26:907:51 | (...)... : CompositeByteBuf | Test.java:908:4:908:5 | in : CompositeByteBuf | provenance | | +| Test.java:907:44:907:51 | source(...) : Object | Test.java:907:26:907:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:908:4:908:5 | in : CompositeByteBuf | Test.java:908:17:908:19 | out [post update] : ByteBuf | provenance | MaD:102 | +| Test.java:908:17:908:19 | out [post update] : ByteBuf | Test.java:909:9:909:11 | out | provenance | | +| Test.java:914:24:914:47 | (...)... : SwappedByteBuf | Test.java:915:4:915:5 | in : SwappedByteBuf | provenance | | +| Test.java:914:40:914:47 | source(...) : Object | Test.java:914:24:914:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:915:4:915:5 | in : SwappedByteBuf | Test.java:915:17:915:19 | out [post update] : ByteBuf | provenance | MaD:102 | +| Test.java:915:17:915:19 | out [post update] : ByteBuf | Test.java:916:9:916:11 | out | provenance | | +| Test.java:921:25:921:49 | (...)... : AbstractByteBuf | Test.java:922:10:922:11 | in : AbstractByteBuf | provenance | | +| Test.java:921:42:921:49 | source(...) : Object | Test.java:921:25:921:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:922:10:922:11 | in : AbstractByteBuf | Test.java:922:10:922:36 | readBytes(...) : AbstractByteBuf | provenance | MaD:24 | +| Test.java:922:10:922:36 | readBytes(...) : AbstractByteBuf | Test.java:923:9:923:11 | out | provenance | | +| Test.java:928:17:928:33 | (...)... : ByteBuf | Test.java:929:10:929:11 | in : ByteBuf | provenance | | +| Test.java:928:26:928:33 | source(...) : Object | Test.java:928:17:928:33 | (...)... : ByteBuf | provenance | | +| Test.java:929:10:929:11 | in : ByteBuf | Test.java:929:10:929:36 | readBytes(...) : ByteBuf | provenance | MaD:24 | +| Test.java:929:10:929:36 | readBytes(...) : ByteBuf | Test.java:930:9:930:11 | out | provenance | | +| Test.java:935:24:935:47 | (...)... : SwappedByteBuf | Test.java:936:10:936:11 | in : SwappedByteBuf | provenance | | +| Test.java:935:40:935:47 | source(...) : Object | Test.java:935:24:935:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:936:10:936:11 | in : SwappedByteBuf | Test.java:936:10:936:36 | readBytes(...) : SwappedByteBuf | provenance | MaD:24 | +| Test.java:936:10:936:36 | readBytes(...) : SwappedByteBuf | Test.java:937:9:937:11 | out | provenance | | +| Test.java:942:26:942:51 | (...)... : CompositeByteBuf | Test.java:943:10:943:11 | in : CompositeByteBuf | provenance | | +| Test.java:942:44:942:51 | source(...) : Object | Test.java:942:26:942:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:943:10:943:11 | in : CompositeByteBuf | Test.java:943:10:943:36 | readBytes(...) : CompositeByteBuf | provenance | MaD:24 | +| Test.java:943:10:943:36 | readBytes(...) : CompositeByteBuf | Test.java:944:9:944:11 | out | provenance | | +| Test.java:949:25:949:49 | (...)... : AbstractByteBuf | Test.java:950:4:950:5 | in : AbstractByteBuf | provenance | | +| Test.java:949:42:949:49 | source(...) : Object | Test.java:949:25:949:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:950:4:950:5 | in : AbstractByteBuf | Test.java:950:17:950:19 | out [post update] : ByteBuf | provenance | MaD:104 | +| Test.java:950:17:950:19 | out [post update] : ByteBuf | Test.java:951:9:951:11 | out | provenance | | +| Test.java:956:17:956:33 | (...)... : ByteBuf | Test.java:957:4:957:5 | in : ByteBuf | provenance | | +| Test.java:956:26:956:33 | source(...) : Object | Test.java:956:17:956:33 | (...)... : ByteBuf | provenance | | +| Test.java:957:4:957:5 | in : ByteBuf | Test.java:957:17:957:19 | out [post update] : ByteBuf | provenance | MaD:104 | +| Test.java:957:17:957:19 | out [post update] : ByteBuf | Test.java:958:9:958:11 | out | provenance | | +| Test.java:963:26:963:51 | (...)... : CompositeByteBuf | Test.java:964:4:964:5 | in : CompositeByteBuf | provenance | | +| Test.java:963:44:963:51 | source(...) : Object | Test.java:963:26:963:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:964:4:964:5 | in : CompositeByteBuf | Test.java:964:17:964:19 | out [post update] : ByteBuf | provenance | MaD:104 | +| Test.java:964:17:964:19 | out [post update] : ByteBuf | Test.java:965:9:965:11 | out | provenance | | +| Test.java:970:24:970:47 | (...)... : SwappedByteBuf | Test.java:971:4:971:5 | in : SwappedByteBuf | provenance | | +| Test.java:970:40:970:47 | source(...) : Object | Test.java:970:24:970:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:971:4:971:5 | in : SwappedByteBuf | Test.java:971:17:971:19 | out [post update] : ByteBuf | provenance | MaD:104 | +| Test.java:971:17:971:19 | out [post update] : ByteBuf | Test.java:972:9:972:11 | out | provenance | | +| Test.java:977:25:977:49 | (...)... : AbstractByteBuf | Test.java:978:10:978:11 | in : AbstractByteBuf | provenance | | +| Test.java:977:42:977:49 | source(...) : Object | Test.java:977:25:977:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:978:10:978:11 | in : AbstractByteBuf | Test.java:978:10:978:39 | readBytes(...) : AbstractByteBuf | provenance | MaD:26 | +| Test.java:978:10:978:39 | readBytes(...) : AbstractByteBuf | Test.java:979:9:979:11 | out | provenance | | +| Test.java:984:17:984:33 | (...)... : ByteBuf | Test.java:985:10:985:11 | in : ByteBuf | provenance | | +| Test.java:984:26:984:33 | source(...) : Object | Test.java:984:17:984:33 | (...)... : ByteBuf | provenance | | +| Test.java:985:10:985:11 | in : ByteBuf | Test.java:985:10:985:39 | readBytes(...) : ByteBuf | provenance | MaD:26 | +| Test.java:985:10:985:39 | readBytes(...) : ByteBuf | Test.java:986:9:986:11 | out | provenance | | +| Test.java:991:24:991:47 | (...)... : SwappedByteBuf | Test.java:992:10:992:11 | in : SwappedByteBuf | provenance | | +| Test.java:991:40:991:47 | source(...) : Object | Test.java:991:24:991:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:992:10:992:11 | in : SwappedByteBuf | Test.java:992:10:992:39 | readBytes(...) : SwappedByteBuf | provenance | MaD:26 | +| Test.java:992:10:992:39 | readBytes(...) : SwappedByteBuf | Test.java:993:9:993:11 | out | provenance | | +| Test.java:998:26:998:51 | (...)... : CompositeByteBuf | Test.java:999:10:999:11 | in : CompositeByteBuf | provenance | | +| Test.java:998:44:998:51 | source(...) : Object | Test.java:998:26:998:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:999:10:999:11 | in : CompositeByteBuf | Test.java:999:10:999:39 | readBytes(...) : CompositeByteBuf | provenance | MaD:26 | +| Test.java:999:10:999:39 | readBytes(...) : CompositeByteBuf | Test.java:1000:9:1000:11 | out | provenance | | +| Test.java:1005:25:1005:49 | (...)... : AbstractByteBuf | Test.java:1006:4:1006:5 | in : AbstractByteBuf | provenance | | +| Test.java:1005:42:1005:49 | source(...) : Object | Test.java:1005:25:1005:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1006:4:1006:5 | in : AbstractByteBuf | Test.java:1006:17:1006:19 | out [post update] : ByteBuf | provenance | MaD:105 | +| Test.java:1006:17:1006:19 | out [post update] : ByteBuf | Test.java:1007:9:1007:11 | out | provenance | | +| Test.java:1012:17:1012:33 | (...)... : ByteBuf | Test.java:1013:4:1013:5 | in : ByteBuf | provenance | | +| Test.java:1012:26:1012:33 | source(...) : Object | Test.java:1012:17:1012:33 | (...)... : ByteBuf | provenance | | +| Test.java:1013:4:1013:5 | in : ByteBuf | Test.java:1013:17:1013:19 | out [post update] : ByteBuf | provenance | MaD:105 | +| Test.java:1013:17:1013:19 | out [post update] : ByteBuf | Test.java:1014:9:1014:11 | out | provenance | | +| Test.java:1019:26:1019:51 | (...)... : CompositeByteBuf | Test.java:1020:4:1020:5 | in : CompositeByteBuf | provenance | | +| Test.java:1019:44:1019:51 | source(...) : Object | Test.java:1019:26:1019:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1020:4:1020:5 | in : CompositeByteBuf | Test.java:1020:17:1020:19 | out [post update] : ByteBuf | provenance | MaD:105 | +| Test.java:1020:17:1020:19 | out [post update] : ByteBuf | Test.java:1021:9:1021:11 | out | provenance | | +| Test.java:1026:24:1026:47 | (...)... : SwappedByteBuf | Test.java:1027:4:1027:5 | in : SwappedByteBuf | provenance | | +| Test.java:1026:40:1026:47 | source(...) : Object | Test.java:1026:24:1026:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1027:4:1027:5 | in : SwappedByteBuf | Test.java:1027:17:1027:19 | out [post update] : ByteBuf | provenance | MaD:105 | +| Test.java:1027:17:1027:19 | out [post update] : ByteBuf | Test.java:1028:9:1028:11 | out | provenance | | +| Test.java:1033:25:1033:49 | (...)... : AbstractByteBuf | Test.java:1034:10:1034:11 | in : AbstractByteBuf | provenance | | +| Test.java:1033:42:1033:49 | source(...) : Object | Test.java:1033:25:1033:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1034:10:1034:11 | in : AbstractByteBuf | Test.java:1034:10:1034:42 | readBytes(...) : AbstractByteBuf | provenance | MaD:27 | +| Test.java:1034:10:1034:42 | readBytes(...) : AbstractByteBuf | Test.java:1035:9:1035:11 | out | provenance | | +| Test.java:1040:17:1040:33 | (...)... : ByteBuf | Test.java:1041:10:1041:11 | in : ByteBuf | provenance | | +| Test.java:1040:26:1040:33 | source(...) : Object | Test.java:1040:17:1040:33 | (...)... : ByteBuf | provenance | | +| Test.java:1041:10:1041:11 | in : ByteBuf | Test.java:1041:10:1041:42 | readBytes(...) : ByteBuf | provenance | MaD:27 | +| Test.java:1041:10:1041:42 | readBytes(...) : ByteBuf | Test.java:1042:9:1042:11 | out | provenance | | +| Test.java:1047:24:1047:47 | (...)... : SwappedByteBuf | Test.java:1048:10:1048:11 | in : SwappedByteBuf | provenance | | +| Test.java:1047:40:1047:47 | source(...) : Object | Test.java:1047:24:1047:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1048:10:1048:11 | in : SwappedByteBuf | Test.java:1048:10:1048:42 | readBytes(...) : SwappedByteBuf | provenance | MaD:27 | +| Test.java:1048:10:1048:42 | readBytes(...) : SwappedByteBuf | Test.java:1049:9:1049:11 | out | provenance | | +| Test.java:1054:26:1054:51 | (...)... : CompositeByteBuf | Test.java:1055:10:1055:11 | in : CompositeByteBuf | provenance | | +| Test.java:1054:44:1054:51 | source(...) : Object | Test.java:1054:26:1054:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1055:10:1055:11 | in : CompositeByteBuf | Test.java:1055:10:1055:42 | readBytes(...) : CompositeByteBuf | provenance | MaD:27 | +| Test.java:1055:10:1055:42 | readBytes(...) : CompositeByteBuf | Test.java:1056:9:1056:11 | out | provenance | | +| Test.java:1061:25:1061:49 | (...)... : AbstractByteBuf | Test.java:1062:4:1062:5 | in : AbstractByteBuf | provenance | | +| Test.java:1061:42:1061:49 | source(...) : Object | Test.java:1061:25:1061:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1062:4:1062:5 | in : AbstractByteBuf | Test.java:1062:17:1062:19 | out [post update] : ByteBuffer | provenance | MaD:103 | +| Test.java:1062:17:1062:19 | out [post update] : ByteBuffer | Test.java:1063:9:1063:11 | out | provenance | | +| Test.java:1068:17:1068:33 | (...)... : ByteBuf | Test.java:1069:4:1069:5 | in : ByteBuf | provenance | | +| Test.java:1068:26:1068:33 | source(...) : Object | Test.java:1068:17:1068:33 | (...)... : ByteBuf | provenance | | +| Test.java:1069:4:1069:5 | in : ByteBuf | Test.java:1069:17:1069:19 | out [post update] : ByteBuffer | provenance | MaD:103 | +| Test.java:1069:17:1069:19 | out [post update] : ByteBuffer | Test.java:1070:9:1070:11 | out | provenance | | +| Test.java:1075:26:1075:51 | (...)... : CompositeByteBuf | Test.java:1076:4:1076:5 | in : CompositeByteBuf | provenance | | +| Test.java:1075:44:1075:51 | source(...) : Object | Test.java:1075:26:1075:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1076:4:1076:5 | in : CompositeByteBuf | Test.java:1076:17:1076:19 | out [post update] : ByteBuffer | provenance | MaD:103 | +| Test.java:1076:17:1076:19 | out [post update] : ByteBuffer | Test.java:1077:9:1077:11 | out | provenance | | +| Test.java:1082:24:1082:47 | (...)... : SwappedByteBuf | Test.java:1083:4:1083:5 | in : SwappedByteBuf | provenance | | +| Test.java:1082:40:1082:47 | source(...) : Object | Test.java:1082:24:1082:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1083:4:1083:5 | in : SwappedByteBuf | Test.java:1083:17:1083:19 | out [post update] : ByteBuffer | provenance | MaD:103 | +| Test.java:1083:17:1083:19 | out [post update] : ByteBuffer | Test.java:1084:9:1084:11 | out | provenance | | +| Test.java:1089:25:1089:49 | (...)... : AbstractByteBuf | Test.java:1090:10:1090:11 | in : AbstractByteBuf | provenance | | +| Test.java:1089:42:1089:49 | source(...) : Object | Test.java:1089:25:1089:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1090:10:1090:11 | in : AbstractByteBuf | Test.java:1090:10:1090:39 | readBytes(...) : AbstractByteBuf | provenance | MaD:25 | +| Test.java:1090:10:1090:39 | readBytes(...) : AbstractByteBuf | Test.java:1091:9:1091:11 | out | provenance | | +| Test.java:1096:17:1096:33 | (...)... : ByteBuf | Test.java:1097:10:1097:11 | in : ByteBuf | provenance | | +| Test.java:1096:26:1096:33 | source(...) : Object | Test.java:1096:17:1096:33 | (...)... : ByteBuf | provenance | | +| Test.java:1097:10:1097:11 | in : ByteBuf | Test.java:1097:10:1097:39 | readBytes(...) : ByteBuf | provenance | MaD:25 | +| Test.java:1097:10:1097:39 | readBytes(...) : ByteBuf | Test.java:1098:9:1098:11 | out | provenance | | +| Test.java:1103:24:1103:47 | (...)... : SwappedByteBuf | Test.java:1104:10:1104:11 | in : SwappedByteBuf | provenance | | +| Test.java:1103:40:1103:47 | source(...) : Object | Test.java:1103:24:1103:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1104:10:1104:11 | in : SwappedByteBuf | Test.java:1104:10:1104:39 | readBytes(...) : SwappedByteBuf | provenance | MaD:25 | +| Test.java:1104:10:1104:39 | readBytes(...) : SwappedByteBuf | Test.java:1105:9:1105:11 | out | provenance | | +| Test.java:1110:26:1110:51 | (...)... : CompositeByteBuf | Test.java:1111:10:1111:11 | in : CompositeByteBuf | provenance | | +| Test.java:1110:44:1110:51 | source(...) : Object | Test.java:1110:26:1110:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1111:10:1111:11 | in : CompositeByteBuf | Test.java:1111:10:1111:39 | readBytes(...) : CompositeByteBuf | provenance | MaD:25 | +| Test.java:1111:10:1111:39 | readBytes(...) : CompositeByteBuf | Test.java:1112:9:1112:11 | out | provenance | | +| Test.java:1117:25:1117:49 | (...)... : AbstractByteBuf | Test.java:1118:4:1118:5 | in : AbstractByteBuf | provenance | | +| Test.java:1117:42:1117:49 | source(...) : Object | Test.java:1117:25:1117:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1118:4:1118:5 | in : AbstractByteBuf | Test.java:1118:17:1118:19 | out [post update] : FileChannel | provenance | MaD:106 | +| Test.java:1118:17:1118:19 | out [post update] : FileChannel | Test.java:1119:9:1119:11 | out | provenance | | +| Test.java:1124:17:1124:33 | (...)... : ByteBuf | Test.java:1125:4:1125:5 | in : ByteBuf | provenance | | +| Test.java:1124:26:1124:33 | source(...) : Object | Test.java:1124:17:1124:33 | (...)... : ByteBuf | provenance | | +| Test.java:1125:4:1125:5 | in : ByteBuf | Test.java:1125:17:1125:19 | out [post update] : FileChannel | provenance | MaD:106 | +| Test.java:1125:17:1125:19 | out [post update] : FileChannel | Test.java:1126:9:1126:11 | out | provenance | | +| Test.java:1131:24:1131:47 | (...)... : SwappedByteBuf | Test.java:1132:4:1132:5 | in : SwappedByteBuf | provenance | | +| Test.java:1131:40:1131:47 | source(...) : Object | Test.java:1131:24:1131:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1132:4:1132:5 | in : SwappedByteBuf | Test.java:1132:17:1132:19 | out [post update] : FileChannel | provenance | MaD:106 | +| Test.java:1132:17:1132:19 | out [post update] : FileChannel | Test.java:1133:9:1133:11 | out | provenance | | +| Test.java:1138:25:1138:49 | (...)... : AbstractByteBuf | Test.java:1139:4:1139:5 | in : AbstractByteBuf | provenance | | +| Test.java:1138:42:1138:49 | source(...) : Object | Test.java:1138:25:1138:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1139:4:1139:5 | in : AbstractByteBuf | Test.java:1139:17:1139:19 | out [post update] : GatheringByteChannel | provenance | MaD:107 | +| Test.java:1139:17:1139:19 | out [post update] : GatheringByteChannel | Test.java:1140:9:1140:11 | out | provenance | | +| Test.java:1145:17:1145:33 | (...)... : ByteBuf | Test.java:1146:4:1146:5 | in : ByteBuf | provenance | | +| Test.java:1145:26:1145:33 | source(...) : Object | Test.java:1145:17:1145:33 | (...)... : ByteBuf | provenance | | +| Test.java:1146:4:1146:5 | in : ByteBuf | Test.java:1146:17:1146:19 | out [post update] : GatheringByteChannel | provenance | MaD:107 | +| Test.java:1146:17:1146:19 | out [post update] : GatheringByteChannel | Test.java:1147:9:1147:11 | out | provenance | | +| Test.java:1152:24:1152:47 | (...)... : SwappedByteBuf | Test.java:1153:4:1153:5 | in : SwappedByteBuf | provenance | | +| Test.java:1152:40:1152:47 | source(...) : Object | Test.java:1152:24:1152:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1153:4:1153:5 | in : SwappedByteBuf | Test.java:1153:17:1153:19 | out [post update] : GatheringByteChannel | provenance | MaD:107 | +| Test.java:1153:17:1153:19 | out [post update] : GatheringByteChannel | Test.java:1154:9:1154:11 | out | provenance | | +| Test.java:1159:25:1159:49 | (...)... : AbstractByteBuf | Test.java:1160:4:1160:5 | in : AbstractByteBuf | provenance | | +| Test.java:1159:42:1159:49 | source(...) : Object | Test.java:1159:25:1159:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1160:4:1160:5 | in : AbstractByteBuf | Test.java:1160:17:1160:19 | out [post update] : OutputStream | provenance | MaD:108 | +| Test.java:1160:17:1160:19 | out [post update] : OutputStream | Test.java:1161:9:1161:11 | out | provenance | | +| Test.java:1166:17:1166:33 | (...)... : ByteBuf | Test.java:1167:4:1167:5 | in : ByteBuf | provenance | | +| Test.java:1166:26:1166:33 | source(...) : Object | Test.java:1166:17:1166:33 | (...)... : ByteBuf | provenance | | +| Test.java:1167:4:1167:5 | in : ByteBuf | Test.java:1167:17:1167:19 | out [post update] : OutputStream | provenance | MaD:108 | +| Test.java:1167:17:1167:19 | out [post update] : OutputStream | Test.java:1168:9:1168:11 | out | provenance | | +| Test.java:1173:26:1173:51 | (...)... : CompositeByteBuf | Test.java:1174:4:1174:5 | in : CompositeByteBuf | provenance | | +| Test.java:1173:44:1173:51 | source(...) : Object | Test.java:1173:26:1173:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1174:4:1174:5 | in : CompositeByteBuf | Test.java:1174:17:1174:19 | out [post update] : OutputStream | provenance | MaD:108 | +| Test.java:1174:17:1174:19 | out [post update] : OutputStream | Test.java:1175:9:1175:11 | out | provenance | | +| Test.java:1180:24:1180:47 | (...)... : SwappedByteBuf | Test.java:1181:4:1181:5 | in : SwappedByteBuf | provenance | | +| Test.java:1180:40:1180:47 | source(...) : Object | Test.java:1180:24:1180:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1181:4:1181:5 | in : SwappedByteBuf | Test.java:1181:17:1181:19 | out [post update] : OutputStream | provenance | MaD:108 | +| Test.java:1181:17:1181:19 | out [post update] : OutputStream | Test.java:1182:9:1182:11 | out | provenance | | +| Test.java:1187:25:1187:49 | (...)... : AbstractByteBuf | Test.java:1188:10:1188:11 | in : AbstractByteBuf | provenance | | +| Test.java:1187:42:1187:49 | source(...) : Object | Test.java:1187:25:1187:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1188:10:1188:11 | in : AbstractByteBuf | Test.java:1188:10:1188:44 | readBytes(...) : AbstractByteBuf | provenance | MaD:28 | +| Test.java:1188:10:1188:44 | readBytes(...) : AbstractByteBuf | Test.java:1189:9:1189:11 | out | provenance | | +| Test.java:1194:17:1194:33 | (...)... : ByteBuf | Test.java:1195:10:1195:11 | in : ByteBuf | provenance | | +| Test.java:1194:26:1194:33 | source(...) : Object | Test.java:1194:17:1194:33 | (...)... : ByteBuf | provenance | | +| Test.java:1195:10:1195:11 | in : ByteBuf | Test.java:1195:10:1195:44 | readBytes(...) : ByteBuf | provenance | MaD:28 | +| Test.java:1195:10:1195:44 | readBytes(...) : ByteBuf | Test.java:1196:9:1196:11 | out | provenance | | +| Test.java:1201:24:1201:47 | (...)... : SwappedByteBuf | Test.java:1202:10:1202:11 | in : SwappedByteBuf | provenance | | +| Test.java:1201:40:1201:47 | source(...) : Object | Test.java:1201:24:1201:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1202:10:1202:11 | in : SwappedByteBuf | Test.java:1202:10:1202:44 | readBytes(...) : SwappedByteBuf | provenance | MaD:28 | +| Test.java:1202:10:1202:44 | readBytes(...) : SwappedByteBuf | Test.java:1203:9:1203:11 | out | provenance | | +| Test.java:1208:26:1208:51 | (...)... : CompositeByteBuf | Test.java:1209:10:1209:11 | in : CompositeByteBuf | provenance | | +| Test.java:1208:44:1208:51 | source(...) : Object | Test.java:1208:26:1208:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1209:10:1209:11 | in : CompositeByteBuf | Test.java:1209:10:1209:44 | readBytes(...) : CompositeByteBuf | provenance | MaD:28 | +| Test.java:1209:10:1209:44 | readBytes(...) : CompositeByteBuf | Test.java:1210:9:1210:11 | out | provenance | | +| Test.java:1215:25:1215:49 | (...)... : AbstractByteBuf | Test.java:1216:4:1216:5 | in : AbstractByteBuf | provenance | | +| Test.java:1215:42:1215:49 | source(...) : Object | Test.java:1215:25:1215:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1216:4:1216:5 | in : AbstractByteBuf | Test.java:1216:17:1216:19 | out [post update] : byte[] | provenance | MaD:100 | +| Test.java:1216:17:1216:19 | out [post update] : byte[] | Test.java:1217:9:1217:11 | out | provenance | | +| Test.java:1222:17:1222:33 | (...)... : ByteBuf | Test.java:1223:4:1223:5 | in : ByteBuf | provenance | | +| Test.java:1222:26:1222:33 | source(...) : Object | Test.java:1222:17:1222:33 | (...)... : ByteBuf | provenance | | +| Test.java:1223:4:1223:5 | in : ByteBuf | Test.java:1223:17:1223:19 | out [post update] : byte[] | provenance | MaD:100 | +| Test.java:1223:17:1223:19 | out [post update] : byte[] | Test.java:1224:9:1224:11 | out | provenance | | +| Test.java:1229:26:1229:51 | (...)... : CompositeByteBuf | Test.java:1230:4:1230:5 | in : CompositeByteBuf | provenance | | +| Test.java:1229:44:1229:51 | source(...) : Object | Test.java:1229:26:1229:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1230:4:1230:5 | in : CompositeByteBuf | Test.java:1230:17:1230:19 | out [post update] : byte[] | provenance | MaD:100 | +| Test.java:1230:17:1230:19 | out [post update] : byte[] | Test.java:1231:9:1231:11 | out | provenance | | +| Test.java:1236:24:1236:47 | (...)... : SwappedByteBuf | Test.java:1237:4:1237:5 | in : SwappedByteBuf | provenance | | +| Test.java:1236:40:1236:47 | source(...) : Object | Test.java:1236:24:1236:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1237:4:1237:5 | in : SwappedByteBuf | Test.java:1237:17:1237:19 | out [post update] : byte[] | provenance | MaD:100 | +| Test.java:1237:17:1237:19 | out [post update] : byte[] | Test.java:1238:9:1238:11 | out | provenance | | +| Test.java:1243:25:1243:49 | (...)... : AbstractByteBuf | Test.java:1244:10:1244:11 | in : AbstractByteBuf | provenance | | +| Test.java:1243:42:1243:49 | source(...) : Object | Test.java:1243:25:1243:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1244:10:1244:11 | in : AbstractByteBuf | Test.java:1244:10:1244:35 | readBytes(...) : AbstractByteBuf | provenance | MaD:22 | +| Test.java:1244:10:1244:35 | readBytes(...) : AbstractByteBuf | Test.java:1245:9:1245:11 | out | provenance | | +| Test.java:1250:17:1250:33 | (...)... : ByteBuf | Test.java:1251:10:1251:11 | in : ByteBuf | provenance | | +| Test.java:1250:26:1250:33 | source(...) : Object | Test.java:1250:17:1250:33 | (...)... : ByteBuf | provenance | | +| Test.java:1251:10:1251:11 | in : ByteBuf | Test.java:1251:10:1251:35 | readBytes(...) : ByteBuf | provenance | MaD:22 | +| Test.java:1251:10:1251:35 | readBytes(...) : ByteBuf | Test.java:1252:9:1252:11 | out | provenance | | +| Test.java:1257:24:1257:47 | (...)... : SwappedByteBuf | Test.java:1258:10:1258:11 | in : SwappedByteBuf | provenance | | +| Test.java:1257:40:1257:47 | source(...) : Object | Test.java:1257:24:1257:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1258:10:1258:11 | in : SwappedByteBuf | Test.java:1258:10:1258:35 | readBytes(...) : SwappedByteBuf | provenance | MaD:22 | +| Test.java:1258:10:1258:35 | readBytes(...) : SwappedByteBuf | Test.java:1259:9:1259:11 | out | provenance | | +| Test.java:1264:26:1264:51 | (...)... : CompositeByteBuf | Test.java:1265:10:1265:11 | in : CompositeByteBuf | provenance | | +| Test.java:1264:44:1264:51 | source(...) : Object | Test.java:1264:26:1264:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1265:10:1265:11 | in : CompositeByteBuf | Test.java:1265:10:1265:35 | readBytes(...) : CompositeByteBuf | provenance | MaD:22 | +| Test.java:1265:10:1265:35 | readBytes(...) : CompositeByteBuf | Test.java:1266:9:1266:11 | out | provenance | | +| Test.java:1271:25:1271:49 | (...)... : AbstractByteBuf | Test.java:1272:4:1272:5 | in : AbstractByteBuf | provenance | | +| Test.java:1271:42:1271:49 | source(...) : Object | Test.java:1271:25:1271:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1272:4:1272:5 | in : AbstractByteBuf | Test.java:1272:17:1272:19 | out [post update] : byte[] | provenance | MaD:101 | +| Test.java:1272:17:1272:19 | out [post update] : byte[] | Test.java:1273:9:1273:11 | out | provenance | | +| Test.java:1278:17:1278:33 | (...)... : ByteBuf | Test.java:1279:4:1279:5 | in : ByteBuf | provenance | | +| Test.java:1278:26:1278:33 | source(...) : Object | Test.java:1278:17:1278:33 | (...)... : ByteBuf | provenance | | +| Test.java:1279:4:1279:5 | in : ByteBuf | Test.java:1279:17:1279:19 | out [post update] : byte[] | provenance | MaD:101 | +| Test.java:1279:17:1279:19 | out [post update] : byte[] | Test.java:1280:9:1280:11 | out | provenance | | +| Test.java:1285:26:1285:51 | (...)... : CompositeByteBuf | Test.java:1286:4:1286:5 | in : CompositeByteBuf | provenance | | +| Test.java:1285:44:1285:51 | source(...) : Object | Test.java:1285:26:1285:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1286:4:1286:5 | in : CompositeByteBuf | Test.java:1286:17:1286:19 | out [post update] : byte[] | provenance | MaD:101 | +| Test.java:1286:17:1286:19 | out [post update] : byte[] | Test.java:1287:9:1287:11 | out | provenance | | +| Test.java:1292:24:1292:47 | (...)... : SwappedByteBuf | Test.java:1293:4:1293:5 | in : SwappedByteBuf | provenance | | +| Test.java:1292:40:1292:47 | source(...) : Object | Test.java:1292:24:1292:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1293:4:1293:5 | in : SwappedByteBuf | Test.java:1293:17:1293:19 | out [post update] : byte[] | provenance | MaD:101 | +| Test.java:1293:17:1293:19 | out [post update] : byte[] | Test.java:1294:9:1294:11 | out | provenance | | +| Test.java:1299:25:1299:49 | (...)... : AbstractByteBuf | Test.java:1300:10:1300:11 | in : AbstractByteBuf | provenance | | +| Test.java:1299:42:1299:49 | source(...) : Object | Test.java:1299:25:1299:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1300:10:1300:11 | in : AbstractByteBuf | Test.java:1300:10:1300:41 | readBytes(...) : AbstractByteBuf | provenance | MaD:23 | +| Test.java:1300:10:1300:41 | readBytes(...) : AbstractByteBuf | Test.java:1301:9:1301:11 | out | provenance | | +| Test.java:1306:17:1306:33 | (...)... : ByteBuf | Test.java:1307:10:1307:11 | in : ByteBuf | provenance | | +| Test.java:1306:26:1306:33 | source(...) : Object | Test.java:1306:17:1306:33 | (...)... : ByteBuf | provenance | | +| Test.java:1307:10:1307:11 | in : ByteBuf | Test.java:1307:10:1307:41 | readBytes(...) : ByteBuf | provenance | MaD:23 | +| Test.java:1307:10:1307:41 | readBytes(...) : ByteBuf | Test.java:1308:9:1308:11 | out | provenance | | +| Test.java:1313:24:1313:47 | (...)... : SwappedByteBuf | Test.java:1314:10:1314:11 | in : SwappedByteBuf | provenance | | +| Test.java:1313:40:1313:47 | source(...) : Object | Test.java:1313:24:1313:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1314:10:1314:11 | in : SwappedByteBuf | Test.java:1314:10:1314:41 | readBytes(...) : SwappedByteBuf | provenance | MaD:23 | +| Test.java:1314:10:1314:41 | readBytes(...) : SwappedByteBuf | Test.java:1315:9:1315:11 | out | provenance | | +| Test.java:1320:26:1320:51 | (...)... : CompositeByteBuf | Test.java:1321:10:1321:11 | in : CompositeByteBuf | provenance | | +| Test.java:1320:44:1320:51 | source(...) : Object | Test.java:1320:26:1320:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1321:10:1321:11 | in : CompositeByteBuf | Test.java:1321:10:1321:41 | readBytes(...) : CompositeByteBuf | provenance | MaD:23 | +| Test.java:1321:10:1321:41 | readBytes(...) : CompositeByteBuf | Test.java:1322:9:1322:11 | out | provenance | | +| Test.java:1327:25:1327:49 | (...)... : AbstractByteBuf | Test.java:1328:10:1328:11 | in : AbstractByteBuf | provenance | | +| Test.java:1327:42:1327:49 | source(...) : Object | Test.java:1327:25:1327:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1328:10:1328:11 | in : AbstractByteBuf | Test.java:1328:10:1328:24 | readBytes(...) : ByteBuf | provenance | MaD:109 | +| Test.java:1328:10:1328:24 | readBytes(...) : ByteBuf | Test.java:1329:9:1329:11 | out | provenance | | +| Test.java:1334:17:1334:33 | (...)... : ByteBuf | Test.java:1335:10:1335:11 | in : ByteBuf | provenance | | +| Test.java:1334:26:1334:33 | source(...) : Object | Test.java:1334:17:1334:33 | (...)... : ByteBuf | provenance | | +| Test.java:1335:10:1335:11 | in : ByteBuf | Test.java:1335:10:1335:24 | readBytes(...) : ByteBuf | provenance | MaD:109 | +| Test.java:1335:10:1335:24 | readBytes(...) : ByteBuf | Test.java:1336:9:1336:11 | out | provenance | | +| Test.java:1341:24:1341:47 | (...)... : SwappedByteBuf | Test.java:1342:10:1342:11 | in : SwappedByteBuf | provenance | | +| Test.java:1341:40:1341:47 | source(...) : Object | Test.java:1341:24:1341:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1342:10:1342:11 | in : SwappedByteBuf | Test.java:1342:10:1342:24 | readBytes(...) : ByteBuf | provenance | MaD:109 | +| Test.java:1342:10:1342:24 | readBytes(...) : ByteBuf | Test.java:1343:9:1343:11 | out | provenance | | +| Test.java:1348:25:1348:49 | (...)... : AbstractByteBuf | Test.java:1349:10:1349:11 | in : AbstractByteBuf | provenance | | +| Test.java:1348:42:1348:49 | source(...) : Object | Test.java:1348:25:1348:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1349:10:1349:11 | in : AbstractByteBuf | Test.java:1349:10:1349:22 | readChar(...) : Number | provenance | MaD:110 | +| Test.java:1349:10:1349:22 | readChar(...) : Number | Test.java:1350:9:1350:11 | out | provenance | | +| Test.java:1355:17:1355:33 | (...)... : ByteBuf | Test.java:1356:10:1356:11 | in : ByteBuf | provenance | | +| Test.java:1355:26:1355:33 | source(...) : Object | Test.java:1355:17:1355:33 | (...)... : ByteBuf | provenance | | +| Test.java:1356:10:1356:11 | in : ByteBuf | Test.java:1356:10:1356:22 | readChar(...) : Number | provenance | MaD:110 | +| Test.java:1356:10:1356:22 | readChar(...) : Number | Test.java:1357:9:1357:11 | out | provenance | | +| Test.java:1362:24:1362:47 | (...)... : SwappedByteBuf | Test.java:1363:10:1363:11 | in : SwappedByteBuf | provenance | | +| Test.java:1362:40:1362:47 | source(...) : Object | Test.java:1362:24:1362:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1363:10:1363:11 | in : SwappedByteBuf | Test.java:1363:10:1363:22 | readChar(...) : Number | provenance | MaD:110 | +| Test.java:1363:10:1363:22 | readChar(...) : Number | Test.java:1364:9:1364:11 | out | provenance | | +| Test.java:1369:25:1369:49 | (...)... : AbstractByteBuf | Test.java:1370:10:1370:11 | in : AbstractByteBuf | provenance | | +| Test.java:1369:42:1369:49 | source(...) : Object | Test.java:1369:25:1369:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1370:10:1370:11 | in : AbstractByteBuf | Test.java:1370:10:1370:37 | readCharSequence(...) : CharSequence | provenance | MaD:111 | +| Test.java:1370:10:1370:37 | readCharSequence(...) : CharSequence | Test.java:1371:9:1371:11 | out | provenance | | +| Test.java:1376:17:1376:33 | (...)... : ByteBuf | Test.java:1377:10:1377:11 | in : ByteBuf | provenance | | +| Test.java:1376:26:1376:33 | source(...) : Object | Test.java:1376:17:1376:33 | (...)... : ByteBuf | provenance | | +| Test.java:1377:10:1377:11 | in : ByteBuf | Test.java:1377:10:1377:37 | readCharSequence(...) : CharSequence | provenance | MaD:111 | +| Test.java:1377:10:1377:37 | readCharSequence(...) : CharSequence | Test.java:1378:9:1378:11 | out | provenance | | +| Test.java:1383:24:1383:47 | (...)... : SwappedByteBuf | Test.java:1384:10:1384:11 | in : SwappedByteBuf | provenance | | +| Test.java:1383:40:1383:47 | source(...) : Object | Test.java:1383:24:1383:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1384:10:1384:11 | in : SwappedByteBuf | Test.java:1384:10:1384:37 | readCharSequence(...) : CharSequence | provenance | MaD:111 | +| Test.java:1384:10:1384:37 | readCharSequence(...) : CharSequence | Test.java:1385:9:1385:11 | out | provenance | | +| Test.java:1390:25:1390:49 | (...)... : AbstractByteBuf | Test.java:1391:10:1391:11 | in : AbstractByteBuf | provenance | | +| Test.java:1390:42:1390:49 | source(...) : Object | Test.java:1390:25:1390:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1391:10:1391:11 | in : AbstractByteBuf | Test.java:1391:10:1391:32 | readRetainedSlice(...) : ByteBuf | provenance | MaD:113 | +| Test.java:1391:10:1391:32 | readRetainedSlice(...) : ByteBuf | Test.java:1392:9:1392:11 | out | provenance | | +| Test.java:1397:17:1397:33 | (...)... : ByteBuf | Test.java:1398:10:1398:11 | in : ByteBuf | provenance | | +| Test.java:1397:26:1397:33 | source(...) : Object | Test.java:1397:17:1397:33 | (...)... : ByteBuf | provenance | | +| Test.java:1398:10:1398:11 | in : ByteBuf | Test.java:1398:10:1398:32 | readRetainedSlice(...) : ByteBuf | provenance | MaD:113 | +| Test.java:1398:10:1398:32 | readRetainedSlice(...) : ByteBuf | Test.java:1399:9:1399:11 | out | provenance | | +| Test.java:1404:24:1404:47 | (...)... : SwappedByteBuf | Test.java:1405:10:1405:11 | in : SwappedByteBuf | provenance | | +| Test.java:1404:40:1404:47 | source(...) : Object | Test.java:1404:24:1404:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1405:10:1405:11 | in : SwappedByteBuf | Test.java:1405:10:1405:32 | readRetainedSlice(...) : ByteBuf | provenance | MaD:113 | +| Test.java:1405:10:1405:32 | readRetainedSlice(...) : ByteBuf | Test.java:1406:9:1406:11 | out | provenance | | +| Test.java:1411:25:1411:49 | (...)... : AbstractByteBuf | Test.java:1412:10:1412:11 | in : AbstractByteBuf | provenance | | +| Test.java:1411:42:1411:49 | source(...) : Object | Test.java:1411:25:1411:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1412:10:1412:11 | in : AbstractByteBuf | Test.java:1412:10:1412:24 | readSlice(...) : ByteBuf | provenance | MaD:112 | +| Test.java:1412:10:1412:24 | readSlice(...) : ByteBuf | Test.java:1413:9:1413:11 | out | provenance | | +| Test.java:1418:17:1418:33 | (...)... : ByteBuf | Test.java:1419:10:1419:11 | in : ByteBuf | provenance | | +| Test.java:1418:26:1418:33 | source(...) : Object | Test.java:1418:17:1418:33 | (...)... : ByteBuf | provenance | | +| Test.java:1419:10:1419:11 | in : ByteBuf | Test.java:1419:10:1419:24 | readSlice(...) : ByteBuf | provenance | MaD:112 | +| Test.java:1419:10:1419:24 | readSlice(...) : ByteBuf | Test.java:1420:9:1420:11 | out | provenance | | +| Test.java:1425:24:1425:47 | (...)... : SwappedByteBuf | Test.java:1426:10:1426:11 | in : SwappedByteBuf | provenance | | +| Test.java:1425:40:1425:47 | source(...) : Object | Test.java:1425:24:1425:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1426:10:1426:11 | in : SwappedByteBuf | Test.java:1426:10:1426:24 | readSlice(...) : ByteBuf | provenance | MaD:112 | +| Test.java:1426:10:1426:24 | readSlice(...) : ByteBuf | Test.java:1427:9:1427:11 | out | provenance | | +| Test.java:1432:25:1432:49 | (...)... : AbstractByteBuf | Test.java:1433:10:1433:11 | in : AbstractByteBuf | provenance | | +| Test.java:1432:42:1432:49 | source(...) : Object | Test.java:1432:25:1432:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1433:10:1433:11 | in : AbstractByteBuf | Test.java:1433:10:1433:26 | readerIndex(...) : AbstractByteBuf | provenance | MaD:29 | +| Test.java:1433:10:1433:26 | readerIndex(...) : AbstractByteBuf | Test.java:1434:9:1434:11 | out | provenance | | +| Test.java:1439:17:1439:33 | (...)... : ByteBuf | Test.java:1440:10:1440:11 | in : ByteBuf | provenance | | +| Test.java:1439:26:1439:33 | source(...) : Object | Test.java:1439:17:1439:33 | (...)... : ByteBuf | provenance | | +| Test.java:1440:10:1440:11 | in : ByteBuf | Test.java:1440:10:1440:26 | readerIndex(...) : ByteBuf | provenance | MaD:29 | +| Test.java:1440:10:1440:26 | readerIndex(...) : ByteBuf | Test.java:1441:9:1441:11 | out | provenance | | +| Test.java:1446:24:1446:47 | (...)... : SwappedByteBuf | Test.java:1447:10:1447:11 | in : SwappedByteBuf | provenance | | +| Test.java:1446:40:1446:47 | source(...) : Object | Test.java:1446:24:1446:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1447:10:1447:11 | in : SwappedByteBuf | Test.java:1447:10:1447:26 | readerIndex(...) : SwappedByteBuf | provenance | MaD:29 | +| Test.java:1447:10:1447:26 | readerIndex(...) : SwappedByteBuf | Test.java:1448:9:1448:11 | out | provenance | | +| Test.java:1453:26:1453:51 | (...)... : CompositeByteBuf | Test.java:1454:10:1454:11 | in : CompositeByteBuf | provenance | | +| Test.java:1453:44:1453:51 | source(...) : Object | Test.java:1453:26:1453:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1454:10:1454:11 | in : CompositeByteBuf | Test.java:1454:10:1454:26 | readerIndex(...) : CompositeByteBuf | provenance | MaD:29 | +| Test.java:1454:10:1454:26 | readerIndex(...) : CompositeByteBuf | Test.java:1455:9:1455:11 | out | provenance | | +| Test.java:1460:25:1460:49 | (...)... : AbstractByteBuf | Test.java:1461:10:1461:11 | in : AbstractByteBuf | provenance | | +| Test.java:1460:42:1460:49 | source(...) : Object | Test.java:1460:25:1460:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1461:10:1461:11 | in : AbstractByteBuf | Test.java:1461:10:1461:30 | resetReaderIndex(...) : AbstractByteBuf | provenance | MaD:30 | +| Test.java:1461:10:1461:30 | resetReaderIndex(...) : AbstractByteBuf | Test.java:1462:9:1462:11 | out | provenance | | +| Test.java:1467:17:1467:33 | (...)... : ByteBuf | Test.java:1468:10:1468:11 | in : ByteBuf | provenance | | +| Test.java:1467:26:1467:33 | source(...) : Object | Test.java:1467:17:1467:33 | (...)... : ByteBuf | provenance | | +| Test.java:1468:10:1468:11 | in : ByteBuf | Test.java:1468:10:1468:30 | resetReaderIndex(...) : ByteBuf | provenance | MaD:30 | +| Test.java:1468:10:1468:30 | resetReaderIndex(...) : ByteBuf | Test.java:1469:9:1469:11 | out | provenance | | +| Test.java:1474:24:1474:47 | (...)... : SwappedByteBuf | Test.java:1475:10:1475:11 | in : SwappedByteBuf | provenance | | +| Test.java:1474:40:1474:47 | source(...) : Object | Test.java:1474:24:1474:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1475:10:1475:11 | in : SwappedByteBuf | Test.java:1475:10:1475:30 | resetReaderIndex(...) : SwappedByteBuf | provenance | MaD:30 | +| Test.java:1475:10:1475:30 | resetReaderIndex(...) : SwappedByteBuf | Test.java:1476:9:1476:11 | out | provenance | | +| Test.java:1481:26:1481:51 | (...)... : CompositeByteBuf | Test.java:1482:10:1482:11 | in : CompositeByteBuf | provenance | | +| Test.java:1481:44:1481:51 | source(...) : Object | Test.java:1481:26:1481:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1482:10:1482:11 | in : CompositeByteBuf | Test.java:1482:10:1482:30 | resetReaderIndex(...) : CompositeByteBuf | provenance | MaD:30 | +| Test.java:1482:10:1482:30 | resetReaderIndex(...) : CompositeByteBuf | Test.java:1483:9:1483:11 | out | provenance | | +| Test.java:1488:25:1488:49 | (...)... : AbstractByteBuf | Test.java:1489:10:1489:11 | in : AbstractByteBuf | provenance | | +| Test.java:1488:42:1488:49 | source(...) : Object | Test.java:1488:25:1488:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1489:10:1489:11 | in : AbstractByteBuf | Test.java:1489:10:1489:30 | resetWriterIndex(...) : AbstractByteBuf | provenance | MaD:31 | +| Test.java:1489:10:1489:30 | resetWriterIndex(...) : AbstractByteBuf | Test.java:1490:9:1490:11 | out | provenance | | +| Test.java:1495:17:1495:33 | (...)... : ByteBuf | Test.java:1496:10:1496:11 | in : ByteBuf | provenance | | +| Test.java:1495:26:1495:33 | source(...) : Object | Test.java:1495:17:1495:33 | (...)... : ByteBuf | provenance | | +| Test.java:1496:10:1496:11 | in : ByteBuf | Test.java:1496:10:1496:30 | resetWriterIndex(...) : ByteBuf | provenance | MaD:31 | +| Test.java:1496:10:1496:30 | resetWriterIndex(...) : ByteBuf | Test.java:1497:9:1497:11 | out | provenance | | +| Test.java:1502:24:1502:47 | (...)... : SwappedByteBuf | Test.java:1503:10:1503:11 | in : SwappedByteBuf | provenance | | +| Test.java:1502:40:1502:47 | source(...) : Object | Test.java:1502:24:1502:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1503:10:1503:11 | in : SwappedByteBuf | Test.java:1503:10:1503:30 | resetWriterIndex(...) : SwappedByteBuf | provenance | MaD:31 | +| Test.java:1503:10:1503:30 | resetWriterIndex(...) : SwappedByteBuf | Test.java:1504:9:1504:11 | out | provenance | | +| Test.java:1509:26:1509:51 | (...)... : CompositeByteBuf | Test.java:1510:10:1510:11 | in : CompositeByteBuf | provenance | | +| Test.java:1509:44:1509:51 | source(...) : Object | Test.java:1509:26:1509:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1510:10:1510:11 | in : CompositeByteBuf | Test.java:1510:10:1510:30 | resetWriterIndex(...) : CompositeByteBuf | provenance | MaD:31 | +| Test.java:1510:10:1510:30 | resetWriterIndex(...) : CompositeByteBuf | Test.java:1511:9:1511:11 | out | provenance | | +| Test.java:1516:25:1516:49 | (...)... : AbstractByteBuf | Test.java:1517:10:1517:11 | in : AbstractByteBuf | provenance | | +| Test.java:1516:42:1516:49 | source(...) : Object | Test.java:1516:25:1516:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1517:10:1517:11 | in : AbstractByteBuf | Test.java:1517:10:1517:31 | retainedDuplicate(...) : ByteBuf | provenance | MaD:32 | +| Test.java:1517:10:1517:31 | retainedDuplicate(...) : ByteBuf | Test.java:1518:9:1518:11 | out | provenance | | +| Test.java:1523:17:1523:33 | (...)... : ByteBuf | Test.java:1524:10:1524:11 | in : ByteBuf | provenance | | +| Test.java:1523:26:1523:33 | source(...) : Object | Test.java:1523:17:1523:33 | (...)... : ByteBuf | provenance | | +| Test.java:1524:10:1524:11 | in : ByteBuf | Test.java:1524:10:1524:31 | retainedDuplicate(...) : ByteBuf | provenance | MaD:32 | +| Test.java:1524:10:1524:31 | retainedDuplicate(...) : ByteBuf | Test.java:1525:9:1525:11 | out | provenance | | +| Test.java:1530:24:1530:47 | (...)... : SwappedByteBuf | Test.java:1531:10:1531:11 | in : SwappedByteBuf | provenance | | +| Test.java:1530:40:1530:47 | source(...) : Object | Test.java:1530:24:1530:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1531:10:1531:11 | in : SwappedByteBuf | Test.java:1531:10:1531:31 | retainedDuplicate(...) : ByteBuf | provenance | MaD:32 | +| Test.java:1531:10:1531:31 | retainedDuplicate(...) : ByteBuf | Test.java:1532:9:1532:11 | out | provenance | | +| Test.java:1537:25:1537:49 | (...)... : AbstractByteBuf | Test.java:1538:10:1538:11 | in : AbstractByteBuf | provenance | | +| Test.java:1537:42:1537:49 | source(...) : Object | Test.java:1537:25:1537:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1538:10:1538:11 | in : AbstractByteBuf | Test.java:1538:10:1538:27 | retainedSlice(...) : ByteBuf | provenance | MaD:33 | +| Test.java:1538:10:1538:27 | retainedSlice(...) : ByteBuf | Test.java:1539:9:1539:11 | out | provenance | | +| Test.java:1544:25:1544:49 | (...)... : AbstractByteBuf | Test.java:1545:10:1545:11 | in : AbstractByteBuf | provenance | | +| Test.java:1544:42:1544:49 | source(...) : Object | Test.java:1544:25:1544:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1545:10:1545:11 | in : AbstractByteBuf | Test.java:1545:10:1545:31 | retainedSlice(...) : ByteBuf | provenance | MaD:33 | +| Test.java:1545:10:1545:31 | retainedSlice(...) : ByteBuf | Test.java:1546:9:1546:11 | out | provenance | | +| Test.java:1551:17:1551:33 | (...)... : ByteBuf | Test.java:1552:10:1552:11 | in : ByteBuf | provenance | | +| Test.java:1551:26:1551:33 | source(...) : Object | Test.java:1551:17:1551:33 | (...)... : ByteBuf | provenance | | +| Test.java:1552:10:1552:11 | in : ByteBuf | Test.java:1552:10:1552:27 | retainedSlice(...) : ByteBuf | provenance | MaD:33 | +| Test.java:1552:10:1552:27 | retainedSlice(...) : ByteBuf | Test.java:1553:9:1553:11 | out | provenance | | +| Test.java:1558:17:1558:33 | (...)... : ByteBuf | Test.java:1559:10:1559:11 | in : ByteBuf | provenance | | +| Test.java:1558:26:1558:33 | source(...) : Object | Test.java:1558:17:1558:33 | (...)... : ByteBuf | provenance | | +| Test.java:1559:10:1559:11 | in : ByteBuf | Test.java:1559:10:1559:31 | retainedSlice(...) : ByteBuf | provenance | MaD:33 | +| Test.java:1559:10:1559:31 | retainedSlice(...) : ByteBuf | Test.java:1560:9:1560:11 | out | provenance | | +| Test.java:1565:24:1565:47 | (...)... : SwappedByteBuf | Test.java:1566:10:1566:11 | in : SwappedByteBuf | provenance | | +| Test.java:1565:40:1565:47 | source(...) : Object | Test.java:1565:24:1565:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1566:10:1566:11 | in : SwappedByteBuf | Test.java:1566:10:1566:27 | retainedSlice(...) : ByteBuf | provenance | MaD:33 | +| Test.java:1566:10:1566:27 | retainedSlice(...) : ByteBuf | Test.java:1567:9:1567:11 | out | provenance | | +| Test.java:1572:24:1572:47 | (...)... : SwappedByteBuf | Test.java:1573:10:1573:11 | in : SwappedByteBuf | provenance | | +| Test.java:1572:40:1572:47 | source(...) : Object | Test.java:1572:24:1572:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1573:10:1573:11 | in : SwappedByteBuf | Test.java:1573:10:1573:31 | retainedSlice(...) : ByteBuf | provenance | MaD:33 | +| Test.java:1573:10:1573:31 | retainedSlice(...) : ByteBuf | Test.java:1574:9:1574:11 | out | provenance | | +| Test.java:1579:25:1579:49 | (...)... : AbstractByteBuf | Test.java:1580:10:1580:11 | in : AbstractByteBuf | provenance | | +| Test.java:1579:42:1579:49 | source(...) : Object | Test.java:1579:25:1579:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1580:10:1580:11 | in : AbstractByteBuf | Test.java:1580:10:1580:32 | setBoolean(...) : AbstractByteBuf | provenance | MaD:34 | +| Test.java:1580:10:1580:32 | setBoolean(...) : AbstractByteBuf | Test.java:1581:9:1581:11 | out | provenance | | +| Test.java:1586:17:1586:33 | (...)... : ByteBuf | Test.java:1587:10:1587:11 | in : ByteBuf | provenance | | +| Test.java:1586:26:1586:33 | source(...) : Object | Test.java:1586:17:1586:33 | (...)... : ByteBuf | provenance | | +| Test.java:1587:10:1587:11 | in : ByteBuf | Test.java:1587:10:1587:32 | setBoolean(...) : ByteBuf | provenance | MaD:34 | +| Test.java:1587:10:1587:32 | setBoolean(...) : ByteBuf | Test.java:1588:9:1588:11 | out | provenance | | +| Test.java:1593:24:1593:47 | (...)... : SwappedByteBuf | Test.java:1594:10:1594:11 | in : SwappedByteBuf | provenance | | +| Test.java:1593:40:1593:47 | source(...) : Object | Test.java:1593:24:1593:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1594:10:1594:11 | in : SwappedByteBuf | Test.java:1594:10:1594:32 | setBoolean(...) : SwappedByteBuf | provenance | MaD:34 | +| Test.java:1594:10:1594:32 | setBoolean(...) : SwappedByteBuf | Test.java:1595:9:1595:11 | out | provenance | | +| Test.java:1600:26:1600:51 | (...)... : CompositeByteBuf | Test.java:1601:10:1601:11 | in : CompositeByteBuf | provenance | | +| Test.java:1600:44:1600:51 | source(...) : Object | Test.java:1600:26:1600:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1601:10:1601:11 | in : CompositeByteBuf | Test.java:1601:10:1601:32 | setBoolean(...) : CompositeByteBuf | provenance | MaD:34 | +| Test.java:1601:10:1601:32 | setBoolean(...) : CompositeByteBuf | Test.java:1602:9:1602:11 | out | provenance | | +| Test.java:1607:25:1607:49 | (...)... : AbstractByteBuf | Test.java:1608:10:1608:11 | in : AbstractByteBuf | provenance | | +| Test.java:1607:42:1607:49 | source(...) : Object | Test.java:1607:25:1607:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1608:10:1608:11 | in : AbstractByteBuf | Test.java:1608:10:1608:25 | setByte(...) : AbstractByteBuf | provenance | MaD:35 | +| Test.java:1608:10:1608:25 | setByte(...) : AbstractByteBuf | Test.java:1609:9:1609:11 | out | provenance | | +| Test.java:1614:17:1614:33 | (...)... : ByteBuf | Test.java:1615:10:1615:11 | in : ByteBuf | provenance | | +| Test.java:1614:26:1614:33 | source(...) : Object | Test.java:1614:17:1614:33 | (...)... : ByteBuf | provenance | | +| Test.java:1615:10:1615:11 | in : ByteBuf | Test.java:1615:10:1615:25 | setByte(...) : ByteBuf | provenance | MaD:35 | +| Test.java:1615:10:1615:25 | setByte(...) : ByteBuf | Test.java:1616:9:1616:11 | out | provenance | | +| Test.java:1621:24:1621:47 | (...)... : SwappedByteBuf | Test.java:1622:10:1622:11 | in : SwappedByteBuf | provenance | | +| Test.java:1621:40:1621:47 | source(...) : Object | Test.java:1621:24:1621:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1622:10:1622:11 | in : SwappedByteBuf | Test.java:1622:10:1622:25 | setByte(...) : SwappedByteBuf | provenance | MaD:35 | +| Test.java:1622:10:1622:25 | setByte(...) : SwappedByteBuf | Test.java:1623:9:1623:11 | out | provenance | | +| Test.java:1628:26:1628:51 | (...)... : CompositeByteBuf | Test.java:1629:10:1629:11 | in : CompositeByteBuf | provenance | | +| Test.java:1628:44:1628:51 | source(...) : Object | Test.java:1628:26:1628:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1629:10:1629:11 | in : CompositeByteBuf | Test.java:1629:10:1629:25 | setByte(...) : CompositeByteBuf | provenance | MaD:35 | +| Test.java:1629:10:1629:25 | setByte(...) : CompositeByteBuf | Test.java:1630:9:1630:11 | out | provenance | | +| Test.java:1635:25:1635:49 | (...)... : AbstractByteBuf | Test.java:1636:10:1636:11 | in : AbstractByteBuf | provenance | | +| Test.java:1635:42:1635:49 | source(...) : Object | Test.java:1635:25:1635:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1636:10:1636:11 | in : AbstractByteBuf | Test.java:1636:10:1636:38 | setBytes(...) : AbstractByteBuf | provenance | MaD:38 | +| Test.java:1636:10:1636:38 | setBytes(...) : AbstractByteBuf | Test.java:1637:9:1637:11 | out | provenance | | +| Test.java:1642:17:1642:33 | (...)... : ByteBuf | Test.java:1643:10:1643:11 | in : ByteBuf | provenance | | +| Test.java:1642:26:1642:33 | source(...) : Object | Test.java:1642:17:1642:33 | (...)... : ByteBuf | provenance | | +| Test.java:1643:10:1643:11 | in : ByteBuf | Test.java:1643:10:1643:38 | setBytes(...) : ByteBuf | provenance | MaD:38 | +| Test.java:1643:10:1643:38 | setBytes(...) : ByteBuf | Test.java:1644:9:1644:11 | out | provenance | | +| Test.java:1649:24:1649:47 | (...)... : SwappedByteBuf | Test.java:1650:10:1650:11 | in : SwappedByteBuf | provenance | | +| Test.java:1649:40:1649:47 | source(...) : Object | Test.java:1649:24:1649:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1650:10:1650:11 | in : SwappedByteBuf | Test.java:1650:10:1650:38 | setBytes(...) : SwappedByteBuf | provenance | MaD:38 | +| Test.java:1650:10:1650:38 | setBytes(...) : SwappedByteBuf | Test.java:1651:9:1651:11 | out | provenance | | +| Test.java:1656:26:1656:51 | (...)... : CompositeByteBuf | Test.java:1657:10:1657:11 | in : CompositeByteBuf | provenance | | +| Test.java:1656:44:1656:51 | source(...) : Object | Test.java:1656:26:1656:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1657:10:1657:11 | in : CompositeByteBuf | Test.java:1657:10:1657:38 | setBytes(...) : CompositeByteBuf | provenance | MaD:38 | +| Test.java:1657:10:1657:38 | setBytes(...) : CompositeByteBuf | Test.java:1658:9:1658:11 | out | provenance | | +| Test.java:1663:17:1663:33 | (...)... : ByteBuf | Test.java:1664:20:1664:21 | in : ByteBuf | provenance | | +| Test.java:1663:26:1663:33 | source(...) : Object | Test.java:1663:17:1663:33 | (...)... : ByteBuf | provenance | | +| Test.java:1664:4:1664:6 | out [post update] : AbstractByteBuf | Test.java:1665:9:1665:11 | out | provenance | | +| Test.java:1664:20:1664:21 | in : ByteBuf | Test.java:1664:4:1664:6 | out [post update] : AbstractByteBuf | provenance | MaD:116 | +| Test.java:1670:17:1670:33 | (...)... : ByteBuf | Test.java:1671:20:1671:21 | in : ByteBuf | provenance | | +| Test.java:1670:26:1670:33 | source(...) : Object | Test.java:1670:17:1670:33 | (...)... : ByteBuf | provenance | | +| Test.java:1671:4:1671:6 | out [post update] : ByteBuf | Test.java:1672:9:1672:11 | out | provenance | | +| Test.java:1671:20:1671:21 | in : ByteBuf | Test.java:1671:4:1671:6 | out [post update] : ByteBuf | provenance | MaD:116 | +| Test.java:1677:17:1677:33 | (...)... : ByteBuf | Test.java:1678:20:1678:21 | in : ByteBuf | provenance | | +| Test.java:1677:26:1677:33 | source(...) : Object | Test.java:1677:17:1677:33 | (...)... : ByteBuf | provenance | | +| Test.java:1678:4:1678:6 | out [post update] : CompositeByteBuf | Test.java:1679:9:1679:11 | out | provenance | | +| Test.java:1678:20:1678:21 | in : ByteBuf | Test.java:1678:4:1678:6 | out [post update] : CompositeByteBuf | provenance | MaD:116 | +| Test.java:1684:17:1684:33 | (...)... : ByteBuf | Test.java:1685:20:1685:21 | in : ByteBuf | provenance | | +| Test.java:1684:26:1684:33 | source(...) : Object | Test.java:1684:17:1684:33 | (...)... : ByteBuf | provenance | | +| Test.java:1685:4:1685:6 | out [post update] : SwappedByteBuf | Test.java:1686:9:1686:11 | out | provenance | | +| Test.java:1685:20:1685:21 | in : ByteBuf | Test.java:1685:4:1685:6 | out [post update] : SwappedByteBuf | provenance | MaD:116 | +| Test.java:1691:25:1691:49 | (...)... : AbstractByteBuf | Test.java:1692:10:1692:11 | in : AbstractByteBuf | provenance | | +| Test.java:1691:42:1691:49 | source(...) : Object | Test.java:1691:25:1691:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1692:10:1692:11 | in : AbstractByteBuf | Test.java:1692:10:1692:41 | setBytes(...) : AbstractByteBuf | provenance | MaD:40 | +| Test.java:1692:10:1692:41 | setBytes(...) : AbstractByteBuf | Test.java:1693:9:1693:11 | out | provenance | | +| Test.java:1698:17:1698:33 | (...)... : ByteBuf | Test.java:1699:10:1699:11 | in : ByteBuf | provenance | | +| Test.java:1698:26:1698:33 | source(...) : Object | Test.java:1698:17:1698:33 | (...)... : ByteBuf | provenance | | +| Test.java:1699:10:1699:11 | in : ByteBuf | Test.java:1699:10:1699:41 | setBytes(...) : ByteBuf | provenance | MaD:40 | +| Test.java:1699:10:1699:41 | setBytes(...) : ByteBuf | Test.java:1700:9:1700:11 | out | provenance | | +| Test.java:1705:24:1705:47 | (...)... : SwappedByteBuf | Test.java:1706:10:1706:11 | in : SwappedByteBuf | provenance | | +| Test.java:1705:40:1705:47 | source(...) : Object | Test.java:1705:24:1705:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1706:10:1706:11 | in : SwappedByteBuf | Test.java:1706:10:1706:41 | setBytes(...) : SwappedByteBuf | provenance | MaD:40 | +| Test.java:1706:10:1706:41 | setBytes(...) : SwappedByteBuf | Test.java:1707:9:1707:11 | out | provenance | | +| Test.java:1712:26:1712:51 | (...)... : CompositeByteBuf | Test.java:1713:10:1713:11 | in : CompositeByteBuf | provenance | | +| Test.java:1712:44:1712:51 | source(...) : Object | Test.java:1712:26:1712:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1713:10:1713:11 | in : CompositeByteBuf | Test.java:1713:10:1713:41 | setBytes(...) : CompositeByteBuf | provenance | MaD:40 | +| Test.java:1713:10:1713:41 | setBytes(...) : CompositeByteBuf | Test.java:1714:9:1714:11 | out | provenance | | +| Test.java:1719:17:1719:33 | (...)... : ByteBuf | Test.java:1720:20:1720:21 | in : ByteBuf | provenance | | +| Test.java:1719:26:1719:33 | source(...) : Object | Test.java:1719:17:1719:33 | (...)... : ByteBuf | provenance | | +| Test.java:1720:4:1720:6 | out [post update] : AbstractByteBuf | Test.java:1721:9:1721:11 | out | provenance | | +| Test.java:1720:20:1720:21 | in : ByteBuf | Test.java:1720:4:1720:6 | out [post update] : AbstractByteBuf | provenance | MaD:118 | +| Test.java:1726:17:1726:33 | (...)... : ByteBuf | Test.java:1727:20:1727:21 | in : ByteBuf | provenance | | +| Test.java:1726:26:1726:33 | source(...) : Object | Test.java:1726:17:1726:33 | (...)... : ByteBuf | provenance | | +| Test.java:1727:4:1727:6 | out [post update] : ByteBuf | Test.java:1728:9:1728:11 | out | provenance | | +| Test.java:1727:20:1727:21 | in : ByteBuf | Test.java:1727:4:1727:6 | out [post update] : ByteBuf | provenance | MaD:118 | +| Test.java:1733:17:1733:33 | (...)... : ByteBuf | Test.java:1734:20:1734:21 | in : ByteBuf | provenance | | +| Test.java:1733:26:1733:33 | source(...) : Object | Test.java:1733:17:1733:33 | (...)... : ByteBuf | provenance | | +| Test.java:1734:4:1734:6 | out [post update] : CompositeByteBuf | Test.java:1735:9:1735:11 | out | provenance | | +| Test.java:1734:20:1734:21 | in : ByteBuf | Test.java:1734:4:1734:6 | out [post update] : CompositeByteBuf | provenance | MaD:118 | +| Test.java:1740:17:1740:33 | (...)... : ByteBuf | Test.java:1741:20:1741:21 | in : ByteBuf | provenance | | +| Test.java:1740:26:1740:33 | source(...) : Object | Test.java:1740:17:1740:33 | (...)... : ByteBuf | provenance | | +| Test.java:1741:4:1741:6 | out [post update] : SwappedByteBuf | Test.java:1742:9:1742:11 | out | provenance | | +| Test.java:1741:20:1741:21 | in : ByteBuf | Test.java:1741:4:1741:6 | out [post update] : SwappedByteBuf | provenance | MaD:118 | +| Test.java:1747:17:1747:33 | (...)... : ByteBuf | Test.java:1748:10:1748:11 | in : ByteBuf | provenance | | +| Test.java:1747:26:1747:33 | source(...) : Object | Test.java:1747:17:1747:33 | (...)... : ByteBuf | provenance | | +| Test.java:1748:10:1748:11 | in : ByteBuf | Test.java:1748:10:1748:44 | setBytes(...) : ByteBuf | provenance | MaD:41 | +| Test.java:1748:10:1748:44 | setBytes(...) : ByteBuf | Test.java:1749:9:1749:11 | out | provenance | | +| Test.java:1754:24:1754:47 | (...)... : SwappedByteBuf | Test.java:1755:10:1755:11 | in : SwappedByteBuf | provenance | | +| Test.java:1754:40:1754:47 | source(...) : Object | Test.java:1754:24:1754:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1755:10:1755:11 | in : SwappedByteBuf | Test.java:1755:10:1755:44 | setBytes(...) : SwappedByteBuf | provenance | MaD:41 | +| Test.java:1755:10:1755:44 | setBytes(...) : SwappedByteBuf | Test.java:1756:9:1756:11 | out | provenance | | +| Test.java:1761:26:1761:51 | (...)... : CompositeByteBuf | Test.java:1762:10:1762:11 | in : CompositeByteBuf | provenance | | +| Test.java:1761:44:1761:51 | source(...) : Object | Test.java:1761:26:1761:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1762:10:1762:11 | in : CompositeByteBuf | Test.java:1762:10:1762:44 | setBytes(...) : CompositeByteBuf | provenance | MaD:41 | +| Test.java:1762:10:1762:44 | setBytes(...) : CompositeByteBuf | Test.java:1763:9:1763:11 | out | provenance | | +| Test.java:1768:17:1768:33 | (...)... : ByteBuf | Test.java:1769:20:1769:21 | in : ByteBuf | provenance | | +| Test.java:1768:26:1768:33 | source(...) : Object | Test.java:1768:17:1768:33 | (...)... : ByteBuf | provenance | | +| Test.java:1769:4:1769:6 | out [post update] : ByteBuf | Test.java:1770:9:1770:11 | out | provenance | | +| Test.java:1769:20:1769:21 | in : ByteBuf | Test.java:1769:4:1769:6 | out [post update] : ByteBuf | provenance | MaD:119 | +| Test.java:1775:17:1775:33 | (...)... : ByteBuf | Test.java:1776:20:1776:21 | in : ByteBuf | provenance | | +| Test.java:1775:26:1775:33 | source(...) : Object | Test.java:1775:17:1775:33 | (...)... : ByteBuf | provenance | | +| Test.java:1776:4:1776:6 | out [post update] : CompositeByteBuf | Test.java:1777:9:1777:11 | out | provenance | | +| Test.java:1776:20:1776:21 | in : ByteBuf | Test.java:1776:4:1776:6 | out [post update] : CompositeByteBuf | provenance | MaD:119 | +| Test.java:1782:17:1782:33 | (...)... : ByteBuf | Test.java:1783:20:1783:21 | in : ByteBuf | provenance | | +| Test.java:1782:26:1782:33 | source(...) : Object | Test.java:1782:17:1782:33 | (...)... : ByteBuf | provenance | | +| Test.java:1783:4:1783:6 | out [post update] : SwappedByteBuf | Test.java:1784:9:1784:11 | out | provenance | | +| Test.java:1783:20:1783:21 | in : ByteBuf | Test.java:1783:4:1783:6 | out [post update] : SwappedByteBuf | provenance | MaD:119 | +| Test.java:1789:17:1789:33 | (...)... : ByteBuf | Test.java:1790:10:1790:11 | in : ByteBuf | provenance | | +| Test.java:1789:26:1789:33 | source(...) : Object | Test.java:1789:17:1789:33 | (...)... : ByteBuf | provenance | | +| Test.java:1790:10:1790:11 | in : ByteBuf | Test.java:1790:10:1790:41 | setBytes(...) : ByteBuf | provenance | MaD:39 | +| Test.java:1790:10:1790:41 | setBytes(...) : ByteBuf | Test.java:1791:9:1791:11 | out | provenance | | +| Test.java:1796:24:1796:47 | (...)... : SwappedByteBuf | Test.java:1797:10:1797:11 | in : SwappedByteBuf | provenance | | +| Test.java:1796:40:1796:47 | source(...) : Object | Test.java:1796:24:1796:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1797:10:1797:11 | in : SwappedByteBuf | Test.java:1797:10:1797:41 | setBytes(...) : SwappedByteBuf | provenance | MaD:39 | +| Test.java:1797:10:1797:41 | setBytes(...) : SwappedByteBuf | Test.java:1798:9:1798:11 | out | provenance | | +| Test.java:1803:26:1803:51 | (...)... : CompositeByteBuf | Test.java:1804:10:1804:11 | in : CompositeByteBuf | provenance | | +| Test.java:1803:44:1803:51 | source(...) : Object | Test.java:1803:26:1803:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1804:10:1804:11 | in : CompositeByteBuf | Test.java:1804:10:1804:41 | setBytes(...) : CompositeByteBuf | provenance | MaD:39 | +| Test.java:1804:10:1804:41 | setBytes(...) : CompositeByteBuf | Test.java:1805:9:1805:11 | out | provenance | | +| Test.java:1810:20:1810:39 | (...)... : ByteBuffer | Test.java:1811:20:1811:21 | in : ByteBuffer | provenance | | +| Test.java:1810:32:1810:39 | source(...) : Object | Test.java:1810:20:1810:39 | (...)... : ByteBuffer | provenance | | +| Test.java:1811:4:1811:6 | out [post update] : ByteBuf | Test.java:1812:9:1812:11 | out | provenance | | +| Test.java:1811:20:1811:21 | in : ByteBuffer | Test.java:1811:4:1811:6 | out [post update] : ByteBuf | provenance | MaD:117 | +| Test.java:1817:20:1817:39 | (...)... : ByteBuffer | Test.java:1818:20:1818:21 | in : ByteBuffer | provenance | | +| Test.java:1817:32:1817:39 | source(...) : Object | Test.java:1817:20:1817:39 | (...)... : ByteBuffer | provenance | | +| Test.java:1818:4:1818:6 | out [post update] : CompositeByteBuf | Test.java:1819:9:1819:11 | out | provenance | | +| Test.java:1818:20:1818:21 | in : ByteBuffer | Test.java:1818:4:1818:6 | out [post update] : CompositeByteBuf | provenance | MaD:117 | +| Test.java:1824:20:1824:39 | (...)... : ByteBuffer | Test.java:1825:20:1825:21 | in : ByteBuffer | provenance | | +| Test.java:1824:32:1824:39 | source(...) : Object | Test.java:1824:20:1824:39 | (...)... : ByteBuffer | provenance | | +| Test.java:1825:4:1825:6 | out [post update] : SwappedByteBuf | Test.java:1826:9:1826:11 | out | provenance | | +| Test.java:1825:20:1825:21 | in : ByteBuffer | Test.java:1825:4:1825:6 | out [post update] : SwappedByteBuf | provenance | MaD:117 | +| Test.java:1831:21:1831:41 | (...)... : FileChannel | Test.java:1832:20:1832:21 | in : FileChannel | provenance | | +| Test.java:1831:34:1831:41 | source(...) : Object | Test.java:1831:21:1831:41 | (...)... : FileChannel | provenance | | +| Test.java:1832:4:1832:6 | out [post update] : ByteBuf | Test.java:1833:9:1833:11 | out | provenance | | +| Test.java:1832:20:1832:21 | in : FileChannel | Test.java:1832:4:1832:6 | out [post update] : ByteBuf | provenance | MaD:120 | +| Test.java:1838:21:1838:41 | (...)... : FileChannel | Test.java:1839:20:1839:21 | in : FileChannel | provenance | | +| Test.java:1838:34:1838:41 | source(...) : Object | Test.java:1838:21:1838:41 | (...)... : FileChannel | provenance | | +| Test.java:1839:4:1839:6 | out [post update] : CompositeByteBuf | Test.java:1840:9:1840:11 | out | provenance | | +| Test.java:1839:20:1839:21 | in : FileChannel | Test.java:1839:4:1839:6 | out [post update] : CompositeByteBuf | provenance | MaD:120 | +| Test.java:1845:21:1845:41 | (...)... : FileChannel | Test.java:1846:20:1846:21 | in : FileChannel | provenance | | +| Test.java:1845:34:1845:41 | source(...) : Object | Test.java:1845:21:1845:41 | (...)... : FileChannel | provenance | | +| Test.java:1846:4:1846:6 | out [post update] : SwappedByteBuf | Test.java:1847:9:1847:11 | out | provenance | | +| Test.java:1846:20:1846:21 | in : FileChannel | Test.java:1846:4:1846:6 | out [post update] : SwappedByteBuf | provenance | MaD:120 | +| Test.java:1852:21:1852:41 | (...)... : InputStream | Test.java:1853:20:1853:21 | in : InputStream | provenance | | +| Test.java:1852:34:1852:41 | source(...) : Object | Test.java:1852:21:1852:41 | (...)... : InputStream | provenance | | +| Test.java:1853:4:1853:6 | out [post update] : ByteBuf | Test.java:1854:9:1854:11 | out | provenance | | +| Test.java:1853:20:1853:21 | in : InputStream | Test.java:1853:4:1853:6 | out [post update] : ByteBuf | provenance | MaD:122 | +| Test.java:1859:21:1859:41 | (...)... : InputStream | Test.java:1860:20:1860:21 | in : InputStream | provenance | | +| Test.java:1859:34:1859:41 | source(...) : Object | Test.java:1859:21:1859:41 | (...)... : InputStream | provenance | | +| Test.java:1860:4:1860:6 | out [post update] : CompositeByteBuf | Test.java:1861:9:1861:11 | out | provenance | | +| Test.java:1860:20:1860:21 | in : InputStream | Test.java:1860:4:1860:6 | out [post update] : CompositeByteBuf | provenance | MaD:122 | +| Test.java:1866:21:1866:41 | (...)... : InputStream | Test.java:1867:20:1867:21 | in : InputStream | provenance | | +| Test.java:1866:34:1866:41 | source(...) : Object | Test.java:1866:21:1866:41 | (...)... : InputStream | provenance | | +| Test.java:1867:4:1867:6 | out [post update] : SwappedByteBuf | Test.java:1868:9:1868:11 | out | provenance | | +| Test.java:1867:20:1867:21 | in : InputStream | Test.java:1867:4:1867:6 | out [post update] : SwappedByteBuf | provenance | MaD:122 | +| Test.java:1873:31:1873:61 | (...)... : ScatteringByteChannel | Test.java:1874:20:1874:21 | in : ScatteringByteChannel | provenance | | +| Test.java:1873:54:1873:61 | source(...) : Object | Test.java:1873:31:1873:61 | (...)... : ScatteringByteChannel | provenance | | +| Test.java:1874:4:1874:6 | out [post update] : ByteBuf | Test.java:1875:9:1875:11 | out | provenance | | +| Test.java:1874:20:1874:21 | in : ScatteringByteChannel | Test.java:1874:4:1874:6 | out [post update] : ByteBuf | provenance | MaD:121 | +| Test.java:1880:31:1880:61 | (...)... : ScatteringByteChannel | Test.java:1881:20:1881:21 | in : ScatteringByteChannel | provenance | | +| Test.java:1880:54:1880:61 | source(...) : Object | Test.java:1880:31:1880:61 | (...)... : ScatteringByteChannel | provenance | | +| Test.java:1881:4:1881:6 | out [post update] : CompositeByteBuf | Test.java:1882:9:1882:11 | out | provenance | | +| Test.java:1881:20:1881:21 | in : ScatteringByteChannel | Test.java:1881:4:1881:6 | out [post update] : CompositeByteBuf | provenance | MaD:121 | +| Test.java:1887:31:1887:61 | (...)... : ScatteringByteChannel | Test.java:1888:20:1888:21 | in : ScatteringByteChannel | provenance | | +| Test.java:1887:54:1887:61 | source(...) : Object | Test.java:1887:31:1887:61 | (...)... : ScatteringByteChannel | provenance | | +| Test.java:1888:4:1888:6 | out [post update] : SwappedByteBuf | Test.java:1889:9:1889:11 | out | provenance | | +| Test.java:1888:20:1888:21 | in : ScatteringByteChannel | Test.java:1888:4:1888:6 | out [post update] : SwappedByteBuf | provenance | MaD:121 | +| Test.java:1894:25:1894:49 | (...)... : AbstractByteBuf | Test.java:1895:10:1895:11 | in : AbstractByteBuf | provenance | | +| Test.java:1894:42:1894:49 | source(...) : Object | Test.java:1894:25:1894:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1895:10:1895:11 | in : AbstractByteBuf | Test.java:1895:10:1895:37 | setBytes(...) : AbstractByteBuf | provenance | MaD:36 | +| Test.java:1895:10:1895:37 | setBytes(...) : AbstractByteBuf | Test.java:1896:9:1896:11 | out | provenance | | +| Test.java:1901:17:1901:33 | (...)... : ByteBuf | Test.java:1902:10:1902:11 | in : ByteBuf | provenance | | +| Test.java:1901:26:1901:33 | source(...) : Object | Test.java:1901:17:1901:33 | (...)... : ByteBuf | provenance | | +| Test.java:1902:10:1902:11 | in : ByteBuf | Test.java:1902:10:1902:37 | setBytes(...) : ByteBuf | provenance | MaD:36 | +| Test.java:1902:10:1902:37 | setBytes(...) : ByteBuf | Test.java:1903:9:1903:11 | out | provenance | | +| Test.java:1908:24:1908:47 | (...)... : SwappedByteBuf | Test.java:1909:10:1909:11 | in : SwappedByteBuf | provenance | | +| Test.java:1908:40:1908:47 | source(...) : Object | Test.java:1908:24:1908:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1909:10:1909:11 | in : SwappedByteBuf | Test.java:1909:10:1909:37 | setBytes(...) : SwappedByteBuf | provenance | MaD:36 | +| Test.java:1909:10:1909:37 | setBytes(...) : SwappedByteBuf | Test.java:1910:9:1910:11 | out | provenance | | +| Test.java:1915:26:1915:51 | (...)... : CompositeByteBuf | Test.java:1916:10:1916:11 | in : CompositeByteBuf | provenance | | +| Test.java:1915:44:1915:51 | source(...) : Object | Test.java:1915:26:1915:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1916:10:1916:11 | in : CompositeByteBuf | Test.java:1916:10:1916:37 | setBytes(...) : CompositeByteBuf | provenance | MaD:36 | +| Test.java:1916:10:1916:37 | setBytes(...) : CompositeByteBuf | Test.java:1917:9:1917:11 | out | provenance | | +| Test.java:1922:16:1922:31 | (...)... : byte[] | Test.java:1923:20:1923:21 | in : byte[] | provenance | | +| Test.java:1922:24:1922:31 | source(...) : Object | Test.java:1922:16:1922:31 | (...)... : byte[] | provenance | | +| Test.java:1923:4:1923:6 | out [post update] : AbstractByteBuf | Test.java:1924:9:1924:11 | out | provenance | | +| Test.java:1923:20:1923:21 | in : byte[] | Test.java:1923:4:1923:6 | out [post update] : AbstractByteBuf | provenance | MaD:114 | +| Test.java:1929:16:1929:31 | (...)... : byte[] | Test.java:1930:20:1930:21 | in : byte[] | provenance | | +| Test.java:1929:24:1929:31 | source(...) : Object | Test.java:1929:16:1929:31 | (...)... : byte[] | provenance | | +| Test.java:1930:4:1930:6 | out [post update] : ByteBuf | Test.java:1931:9:1931:11 | out | provenance | | +| Test.java:1930:20:1930:21 | in : byte[] | Test.java:1930:4:1930:6 | out [post update] : ByteBuf | provenance | MaD:114 | +| Test.java:1936:16:1936:31 | (...)... : byte[] | Test.java:1937:20:1937:21 | in : byte[] | provenance | | +| Test.java:1936:24:1936:31 | source(...) : Object | Test.java:1936:16:1936:31 | (...)... : byte[] | provenance | | +| Test.java:1937:4:1937:6 | out [post update] : CompositeByteBuf | Test.java:1938:9:1938:11 | out | provenance | | +| Test.java:1937:20:1937:21 | in : byte[] | Test.java:1937:4:1937:6 | out [post update] : CompositeByteBuf | provenance | MaD:114 | +| Test.java:1943:16:1943:31 | (...)... : byte[] | Test.java:1944:20:1944:21 | in : byte[] | provenance | | +| Test.java:1943:24:1943:31 | source(...) : Object | Test.java:1943:16:1943:31 | (...)... : byte[] | provenance | | +| Test.java:1944:4:1944:6 | out [post update] : SwappedByteBuf | Test.java:1945:9:1945:11 | out | provenance | | +| Test.java:1944:20:1944:21 | in : byte[] | Test.java:1944:4:1944:6 | out [post update] : SwappedByteBuf | provenance | MaD:114 | +| Test.java:1950:17:1950:33 | (...)... : ByteBuf | Test.java:1951:10:1951:11 | in : ByteBuf | provenance | | +| Test.java:1950:26:1950:33 | source(...) : Object | Test.java:1950:17:1950:33 | (...)... : ByteBuf | provenance | | +| Test.java:1951:10:1951:11 | in : ByteBuf | Test.java:1951:10:1951:43 | setBytes(...) : ByteBuf | provenance | MaD:37 | +| Test.java:1951:10:1951:43 | setBytes(...) : ByteBuf | Test.java:1952:9:1952:11 | out | provenance | | +| Test.java:1957:24:1957:47 | (...)... : SwappedByteBuf | Test.java:1958:10:1958:11 | in : SwappedByteBuf | provenance | | +| Test.java:1957:40:1957:47 | source(...) : Object | Test.java:1957:24:1957:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:1958:10:1958:11 | in : SwappedByteBuf | Test.java:1958:10:1958:43 | setBytes(...) : SwappedByteBuf | provenance | MaD:37 | +| Test.java:1958:10:1958:43 | setBytes(...) : SwappedByteBuf | Test.java:1959:9:1959:11 | out | provenance | | +| Test.java:1964:26:1964:51 | (...)... : CompositeByteBuf | Test.java:1965:10:1965:11 | in : CompositeByteBuf | provenance | | +| Test.java:1964:44:1964:51 | source(...) : Object | Test.java:1964:26:1964:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:1965:10:1965:11 | in : CompositeByteBuf | Test.java:1965:10:1965:43 | setBytes(...) : CompositeByteBuf | provenance | MaD:37 | +| Test.java:1965:10:1965:43 | setBytes(...) : CompositeByteBuf | Test.java:1966:9:1966:11 | out | provenance | | +| Test.java:1971:16:1971:31 | (...)... : byte[] | Test.java:1972:20:1972:21 | in : byte[] | provenance | | +| Test.java:1971:24:1971:31 | source(...) : Object | Test.java:1971:16:1971:31 | (...)... : byte[] | provenance | | +| Test.java:1972:4:1972:6 | out [post update] : ByteBuf | Test.java:1973:9:1973:11 | out | provenance | | +| Test.java:1972:20:1972:21 | in : byte[] | Test.java:1972:4:1972:6 | out [post update] : ByteBuf | provenance | MaD:115 | +| Test.java:1978:16:1978:31 | (...)... : byte[] | Test.java:1979:20:1979:21 | in : byte[] | provenance | | +| Test.java:1978:24:1978:31 | source(...) : Object | Test.java:1978:16:1978:31 | (...)... : byte[] | provenance | | +| Test.java:1979:4:1979:6 | out [post update] : CompositeByteBuf | Test.java:1980:9:1980:11 | out | provenance | | +| Test.java:1979:20:1979:21 | in : byte[] | Test.java:1979:4:1979:6 | out [post update] : CompositeByteBuf | provenance | MaD:115 | +| Test.java:1985:16:1985:31 | (...)... : byte[] | Test.java:1986:20:1986:21 | in : byte[] | provenance | | +| Test.java:1985:24:1985:31 | source(...) : Object | Test.java:1985:16:1985:31 | (...)... : byte[] | provenance | | +| Test.java:1986:4:1986:6 | out [post update] : SwappedByteBuf | Test.java:1987:9:1987:11 | out | provenance | | +| Test.java:1986:20:1986:21 | in : byte[] | Test.java:1986:4:1986:6 | out [post update] : SwappedByteBuf | provenance | MaD:115 | +| Test.java:1992:25:1992:49 | (...)... : AbstractByteBuf | Test.java:1993:10:1993:11 | in : AbstractByteBuf | provenance | | +| Test.java:1992:42:1992:49 | source(...) : Object | Test.java:1992:25:1992:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:1993:10:1993:11 | in : AbstractByteBuf | Test.java:1993:10:1993:25 | setChar(...) : AbstractByteBuf | provenance | MaD:42 | +| Test.java:1993:10:1993:25 | setChar(...) : AbstractByteBuf | Test.java:1994:9:1994:11 | out | provenance | | +| Test.java:1999:17:1999:33 | (...)... : ByteBuf | Test.java:2000:10:2000:11 | in : ByteBuf | provenance | | +| Test.java:1999:26:1999:33 | source(...) : Object | Test.java:1999:17:1999:33 | (...)... : ByteBuf | provenance | | +| Test.java:2000:10:2000:11 | in : ByteBuf | Test.java:2000:10:2000:25 | setChar(...) : ByteBuf | provenance | MaD:42 | +| Test.java:2000:10:2000:25 | setChar(...) : ByteBuf | Test.java:2001:9:2001:11 | out | provenance | | +| Test.java:2006:24:2006:47 | (...)... : SwappedByteBuf | Test.java:2007:10:2007:11 | in : SwappedByteBuf | provenance | | +| Test.java:2006:40:2006:47 | source(...) : Object | Test.java:2006:24:2006:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2007:10:2007:11 | in : SwappedByteBuf | Test.java:2007:10:2007:25 | setChar(...) : SwappedByteBuf | provenance | MaD:42 | +| Test.java:2007:10:2007:25 | setChar(...) : SwappedByteBuf | Test.java:2008:9:2008:11 | out | provenance | | +| Test.java:2013:26:2013:51 | (...)... : CompositeByteBuf | Test.java:2014:10:2014:11 | in : CompositeByteBuf | provenance | | +| Test.java:2013:44:2013:51 | source(...) : Object | Test.java:2013:26:2013:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2014:10:2014:11 | in : CompositeByteBuf | Test.java:2014:10:2014:25 | setChar(...) : CompositeByteBuf | provenance | MaD:42 | +| Test.java:2014:10:2014:25 | setChar(...) : CompositeByteBuf | Test.java:2015:9:2015:11 | out | provenance | | +| Test.java:2020:13:2020:25 | (...)... : Number | Test.java:2021:19:2021:20 | in : Number | provenance | | +| Test.java:2020:18:2020:25 | source(...) : Object | Test.java:2020:13:2020:25 | (...)... : Number | provenance | | +| Test.java:2021:4:2021:6 | out [post update] : AbstractByteBuf | Test.java:2022:9:2022:11 | out | provenance | | +| Test.java:2021:19:2021:20 | in : Number | Test.java:2021:4:2021:6 | out [post update] : AbstractByteBuf | provenance | MaD:123 | +| Test.java:2027:13:2027:25 | (...)... : Number | Test.java:2028:19:2028:20 | in : Number | provenance | | +| Test.java:2027:18:2027:25 | source(...) : Object | Test.java:2027:13:2027:25 | (...)... : Number | provenance | | +| Test.java:2028:4:2028:6 | out [post update] : ByteBuf | Test.java:2029:9:2029:11 | out | provenance | | +| Test.java:2028:19:2028:20 | in : Number | Test.java:2028:4:2028:6 | out [post update] : ByteBuf | provenance | MaD:123 | +| Test.java:2034:13:2034:25 | (...)... : Number | Test.java:2035:19:2035:20 | in : Number | provenance | | +| Test.java:2034:18:2034:25 | source(...) : Object | Test.java:2034:13:2034:25 | (...)... : Number | provenance | | +| Test.java:2035:4:2035:6 | out [post update] : CompositeByteBuf | Test.java:2036:9:2036:11 | out | provenance | | +| Test.java:2035:19:2035:20 | in : Number | Test.java:2035:4:2035:6 | out [post update] : CompositeByteBuf | provenance | MaD:123 | +| Test.java:2041:13:2041:25 | (...)... : Number | Test.java:2042:19:2042:20 | in : Number | provenance | | +| Test.java:2041:18:2041:25 | source(...) : Object | Test.java:2041:13:2041:25 | (...)... : Number | provenance | | +| Test.java:2042:4:2042:6 | out [post update] : SwappedByteBuf | Test.java:2043:9:2043:11 | out | provenance | | +| Test.java:2042:19:2042:20 | in : Number | Test.java:2042:4:2042:6 | out [post update] : SwappedByteBuf | provenance | MaD:123 | +| Test.java:2048:22:2048:43 | (...)... : CharSequence | Test.java:2049:27:2049:28 | in : CharSequence | provenance | | +| Test.java:2048:36:2048:43 | source(...) : Object | Test.java:2048:22:2048:43 | (...)... : CharSequence | provenance | | +| Test.java:2049:4:2049:6 | out [post update] : AbstractByteBuf | Test.java:2050:9:2050:11 | out | provenance | | +| Test.java:2049:27:2049:28 | in : CharSequence | Test.java:2049:4:2049:6 | out [post update] : AbstractByteBuf | provenance | MaD:124 | +| Test.java:2055:22:2055:43 | (...)... : CharSequence | Test.java:2056:27:2056:28 | in : CharSequence | provenance | | +| Test.java:2055:36:2055:43 | source(...) : Object | Test.java:2055:22:2055:43 | (...)... : CharSequence | provenance | | +| Test.java:2056:4:2056:6 | out [post update] : ByteBuf | Test.java:2057:9:2057:11 | out | provenance | | +| Test.java:2056:27:2056:28 | in : CharSequence | Test.java:2056:4:2056:6 | out [post update] : ByteBuf | provenance | MaD:124 | +| Test.java:2062:22:2062:43 | (...)... : CharSequence | Test.java:2063:27:2063:28 | in : CharSequence | provenance | | +| Test.java:2062:36:2062:43 | source(...) : Object | Test.java:2062:22:2062:43 | (...)... : CharSequence | provenance | | +| Test.java:2063:4:2063:6 | out [post update] : SwappedByteBuf | Test.java:2064:9:2064:11 | out | provenance | | +| Test.java:2063:27:2063:28 | in : CharSequence | Test.java:2063:4:2063:6 | out [post update] : SwappedByteBuf | provenance | MaD:124 | +| Test.java:2069:25:2069:49 | (...)... : AbstractByteBuf | Test.java:2070:10:2070:11 | in : AbstractByteBuf | provenance | | +| Test.java:2069:42:2069:49 | source(...) : Object | Test.java:2069:25:2069:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2070:10:2070:11 | in : AbstractByteBuf | Test.java:2070:10:2070:29 | setDouble(...) : AbstractByteBuf | provenance | MaD:43 | +| Test.java:2070:10:2070:29 | setDouble(...) : AbstractByteBuf | Test.java:2071:9:2071:11 | out | provenance | | +| Test.java:2076:17:2076:33 | (...)... : ByteBuf | Test.java:2077:10:2077:11 | in : ByteBuf | provenance | | +| Test.java:2076:26:2076:33 | source(...) : Object | Test.java:2076:17:2076:33 | (...)... : ByteBuf | provenance | | +| Test.java:2077:10:2077:11 | in : ByteBuf | Test.java:2077:10:2077:29 | setDouble(...) : ByteBuf | provenance | MaD:43 | +| Test.java:2077:10:2077:29 | setDouble(...) : ByteBuf | Test.java:2078:9:2078:11 | out | provenance | | +| Test.java:2083:24:2083:47 | (...)... : SwappedByteBuf | Test.java:2084:10:2084:11 | in : SwappedByteBuf | provenance | | +| Test.java:2083:40:2083:47 | source(...) : Object | Test.java:2083:24:2083:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2084:10:2084:11 | in : SwappedByteBuf | Test.java:2084:10:2084:29 | setDouble(...) : SwappedByteBuf | provenance | MaD:43 | +| Test.java:2084:10:2084:29 | setDouble(...) : SwappedByteBuf | Test.java:2085:9:2085:11 | out | provenance | | +| Test.java:2090:26:2090:51 | (...)... : CompositeByteBuf | Test.java:2091:10:2091:11 | in : CompositeByteBuf | provenance | | +| Test.java:2090:44:2090:51 | source(...) : Object | Test.java:2090:26:2090:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2091:10:2091:11 | in : CompositeByteBuf | Test.java:2091:10:2091:29 | setDouble(...) : CompositeByteBuf | provenance | MaD:43 | +| Test.java:2091:10:2091:29 | setDouble(...) : CompositeByteBuf | Test.java:2092:9:2092:11 | out | provenance | | +| Test.java:2097:17:2097:33 | (...)... : ByteBuf | Test.java:2098:10:2098:11 | in : ByteBuf | provenance | | +| Test.java:2097:26:2097:33 | source(...) : Object | Test.java:2097:17:2097:33 | (...)... : ByteBuf | provenance | | +| Test.java:2098:10:2098:11 | in : ByteBuf | Test.java:2098:10:2098:31 | setDoubleLE(...) : ByteBuf | provenance | MaD:44 | +| Test.java:2098:10:2098:31 | setDoubleLE(...) : ByteBuf | Test.java:2099:9:2099:11 | out | provenance | | +| Test.java:2104:25:2104:49 | (...)... : AbstractByteBuf | Test.java:2105:10:2105:11 | in : AbstractByteBuf | provenance | | +| Test.java:2104:42:2104:49 | source(...) : Object | Test.java:2104:25:2104:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2105:10:2105:11 | in : AbstractByteBuf | Test.java:2105:10:2105:29 | setFloat(...) : AbstractByteBuf | provenance | MaD:45 | +| Test.java:2105:10:2105:29 | setFloat(...) : AbstractByteBuf | Test.java:2106:9:2106:11 | out | provenance | | +| Test.java:2111:17:2111:33 | (...)... : ByteBuf | Test.java:2112:10:2112:11 | in : ByteBuf | provenance | | +| Test.java:2111:26:2111:33 | source(...) : Object | Test.java:2111:17:2111:33 | (...)... : ByteBuf | provenance | | +| Test.java:2112:10:2112:11 | in : ByteBuf | Test.java:2112:10:2112:29 | setFloat(...) : ByteBuf | provenance | MaD:45 | +| Test.java:2112:10:2112:29 | setFloat(...) : ByteBuf | Test.java:2113:9:2113:11 | out | provenance | | +| Test.java:2118:24:2118:47 | (...)... : SwappedByteBuf | Test.java:2119:10:2119:11 | in : SwappedByteBuf | provenance | | +| Test.java:2118:40:2118:47 | source(...) : Object | Test.java:2118:24:2118:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2119:10:2119:11 | in : SwappedByteBuf | Test.java:2119:10:2119:29 | setFloat(...) : SwappedByteBuf | provenance | MaD:45 | +| Test.java:2119:10:2119:29 | setFloat(...) : SwappedByteBuf | Test.java:2120:9:2120:11 | out | provenance | | +| Test.java:2125:26:2125:51 | (...)... : CompositeByteBuf | Test.java:2126:10:2126:11 | in : CompositeByteBuf | provenance | | +| Test.java:2125:44:2125:51 | source(...) : Object | Test.java:2125:26:2125:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2126:10:2126:11 | in : CompositeByteBuf | Test.java:2126:10:2126:29 | setFloat(...) : CompositeByteBuf | provenance | MaD:45 | +| Test.java:2126:10:2126:29 | setFloat(...) : CompositeByteBuf | Test.java:2127:9:2127:11 | out | provenance | | +| Test.java:2132:17:2132:33 | (...)... : ByteBuf | Test.java:2133:10:2133:11 | in : ByteBuf | provenance | | +| Test.java:2132:26:2132:33 | source(...) : Object | Test.java:2132:17:2132:33 | (...)... : ByteBuf | provenance | | +| Test.java:2133:10:2133:11 | in : ByteBuf | Test.java:2133:10:2133:31 | setFloatLE(...) : ByteBuf | provenance | MaD:46 | +| Test.java:2133:10:2133:31 | setFloatLE(...) : ByteBuf | Test.java:2134:9:2134:11 | out | provenance | | +| Test.java:2139:25:2139:49 | (...)... : AbstractByteBuf | Test.java:2140:10:2140:11 | in : AbstractByteBuf | provenance | | +| Test.java:2139:42:2139:49 | source(...) : Object | Test.java:2139:25:2139:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2140:10:2140:11 | in : AbstractByteBuf | Test.java:2140:10:2140:26 | setIndex(...) : AbstractByteBuf | provenance | MaD:47 | +| Test.java:2140:10:2140:26 | setIndex(...) : AbstractByteBuf | Test.java:2141:9:2141:11 | out | provenance | | +| Test.java:2146:17:2146:33 | (...)... : ByteBuf | Test.java:2147:10:2147:11 | in : ByteBuf | provenance | | +| Test.java:2146:26:2146:33 | source(...) : Object | Test.java:2146:17:2146:33 | (...)... : ByteBuf | provenance | | +| Test.java:2147:10:2147:11 | in : ByteBuf | Test.java:2147:10:2147:26 | setIndex(...) : ByteBuf | provenance | MaD:47 | +| Test.java:2147:10:2147:26 | setIndex(...) : ByteBuf | Test.java:2148:9:2148:11 | out | provenance | | +| Test.java:2153:24:2153:47 | (...)... : SwappedByteBuf | Test.java:2154:10:2154:11 | in : SwappedByteBuf | provenance | | +| Test.java:2153:40:2153:47 | source(...) : Object | Test.java:2153:24:2153:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2154:10:2154:11 | in : SwappedByteBuf | Test.java:2154:10:2154:26 | setIndex(...) : SwappedByteBuf | provenance | MaD:47 | +| Test.java:2154:10:2154:26 | setIndex(...) : SwappedByteBuf | Test.java:2155:9:2155:11 | out | provenance | | +| Test.java:2160:26:2160:51 | (...)... : CompositeByteBuf | Test.java:2161:10:2161:11 | in : CompositeByteBuf | provenance | | +| Test.java:2160:44:2160:51 | source(...) : Object | Test.java:2160:26:2160:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2161:10:2161:11 | in : CompositeByteBuf | Test.java:2161:10:2161:26 | setIndex(...) : CompositeByteBuf | provenance | MaD:47 | +| Test.java:2161:10:2161:26 | setIndex(...) : CompositeByteBuf | Test.java:2162:9:2162:11 | out | provenance | | +| Test.java:2167:25:2167:49 | (...)... : AbstractByteBuf | Test.java:2168:10:2168:11 | in : AbstractByteBuf | provenance | | +| Test.java:2167:42:2167:49 | source(...) : Object | Test.java:2167:25:2167:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2168:10:2168:11 | in : AbstractByteBuf | Test.java:2168:10:2168:24 | setInt(...) : AbstractByteBuf | provenance | MaD:48 | +| Test.java:2168:10:2168:24 | setInt(...) : AbstractByteBuf | Test.java:2169:9:2169:11 | out | provenance | | +| Test.java:2174:17:2174:33 | (...)... : ByteBuf | Test.java:2175:10:2175:11 | in : ByteBuf | provenance | | +| Test.java:2174:26:2174:33 | source(...) : Object | Test.java:2174:17:2174:33 | (...)... : ByteBuf | provenance | | +| Test.java:2175:10:2175:11 | in : ByteBuf | Test.java:2175:10:2175:24 | setInt(...) : ByteBuf | provenance | MaD:48 | +| Test.java:2175:10:2175:24 | setInt(...) : ByteBuf | Test.java:2176:9:2176:11 | out | provenance | | +| Test.java:2181:24:2181:47 | (...)... : SwappedByteBuf | Test.java:2182:10:2182:11 | in : SwappedByteBuf | provenance | | +| Test.java:2181:40:2181:47 | source(...) : Object | Test.java:2181:24:2181:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2182:10:2182:11 | in : SwappedByteBuf | Test.java:2182:10:2182:24 | setInt(...) : SwappedByteBuf | provenance | MaD:48 | +| Test.java:2182:10:2182:24 | setInt(...) : SwappedByteBuf | Test.java:2183:9:2183:11 | out | provenance | | +| Test.java:2188:26:2188:51 | (...)... : CompositeByteBuf | Test.java:2189:10:2189:11 | in : CompositeByteBuf | provenance | | +| Test.java:2188:44:2188:51 | source(...) : Object | Test.java:2188:26:2188:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2189:10:2189:11 | in : CompositeByteBuf | Test.java:2189:10:2189:24 | setInt(...) : CompositeByteBuf | provenance | MaD:48 | +| Test.java:2189:10:2189:24 | setInt(...) : CompositeByteBuf | Test.java:2190:9:2190:11 | out | provenance | | +| Test.java:2195:25:2195:49 | (...)... : AbstractByteBuf | Test.java:2196:10:2196:11 | in : AbstractByteBuf | provenance | | +| Test.java:2195:42:2195:49 | source(...) : Object | Test.java:2195:25:2195:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2196:10:2196:11 | in : AbstractByteBuf | Test.java:2196:10:2196:26 | setIntLE(...) : AbstractByteBuf | provenance | MaD:49 | +| Test.java:2196:10:2196:26 | setIntLE(...) : AbstractByteBuf | Test.java:2197:9:2197:11 | out | provenance | | +| Test.java:2202:17:2202:33 | (...)... : ByteBuf | Test.java:2203:10:2203:11 | in : ByteBuf | provenance | | +| Test.java:2202:26:2202:33 | source(...) : Object | Test.java:2202:17:2202:33 | (...)... : ByteBuf | provenance | | +| Test.java:2203:10:2203:11 | in : ByteBuf | Test.java:2203:10:2203:26 | setIntLE(...) : ByteBuf | provenance | MaD:49 | +| Test.java:2203:10:2203:26 | setIntLE(...) : ByteBuf | Test.java:2204:9:2204:11 | out | provenance | | +| Test.java:2209:24:2209:47 | (...)... : SwappedByteBuf | Test.java:2210:10:2210:11 | in : SwappedByteBuf | provenance | | +| Test.java:2209:40:2209:47 | source(...) : Object | Test.java:2209:24:2209:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2210:10:2210:11 | in : SwappedByteBuf | Test.java:2210:10:2210:26 | setIntLE(...) : SwappedByteBuf | provenance | MaD:49 | +| Test.java:2210:10:2210:26 | setIntLE(...) : SwappedByteBuf | Test.java:2211:9:2211:11 | out | provenance | | +| Test.java:2216:25:2216:49 | (...)... : AbstractByteBuf | Test.java:2217:10:2217:11 | in : AbstractByteBuf | provenance | | +| Test.java:2216:42:2216:49 | source(...) : Object | Test.java:2216:25:2216:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2217:10:2217:11 | in : AbstractByteBuf | Test.java:2217:10:2217:26 | setLong(...) : AbstractByteBuf | provenance | MaD:50 | +| Test.java:2217:10:2217:26 | setLong(...) : AbstractByteBuf | Test.java:2218:9:2218:11 | out | provenance | | +| Test.java:2223:17:2223:33 | (...)... : ByteBuf | Test.java:2224:10:2224:11 | in : ByteBuf | provenance | | +| Test.java:2223:26:2223:33 | source(...) : Object | Test.java:2223:17:2223:33 | (...)... : ByteBuf | provenance | | +| Test.java:2224:10:2224:11 | in : ByteBuf | Test.java:2224:10:2224:26 | setLong(...) : ByteBuf | provenance | MaD:50 | +| Test.java:2224:10:2224:26 | setLong(...) : ByteBuf | Test.java:2225:9:2225:11 | out | provenance | | +| Test.java:2230:24:2230:47 | (...)... : SwappedByteBuf | Test.java:2231:10:2231:11 | in : SwappedByteBuf | provenance | | +| Test.java:2230:40:2230:47 | source(...) : Object | Test.java:2230:24:2230:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2231:10:2231:11 | in : SwappedByteBuf | Test.java:2231:10:2231:26 | setLong(...) : SwappedByteBuf | provenance | MaD:50 | +| Test.java:2231:10:2231:26 | setLong(...) : SwappedByteBuf | Test.java:2232:9:2232:11 | out | provenance | | +| Test.java:2237:26:2237:51 | (...)... : CompositeByteBuf | Test.java:2238:10:2238:11 | in : CompositeByteBuf | provenance | | +| Test.java:2237:44:2237:51 | source(...) : Object | Test.java:2237:26:2237:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2238:10:2238:11 | in : CompositeByteBuf | Test.java:2238:10:2238:26 | setLong(...) : CompositeByteBuf | provenance | MaD:50 | +| Test.java:2238:10:2238:26 | setLong(...) : CompositeByteBuf | Test.java:2239:9:2239:11 | out | provenance | | +| Test.java:2244:25:2244:49 | (...)... : AbstractByteBuf | Test.java:2245:10:2245:11 | in : AbstractByteBuf | provenance | | +| Test.java:2244:42:2244:49 | source(...) : Object | Test.java:2244:25:2244:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2245:10:2245:11 | in : AbstractByteBuf | Test.java:2245:10:2245:28 | setLongLE(...) : AbstractByteBuf | provenance | MaD:51 | +| Test.java:2245:10:2245:28 | setLongLE(...) : AbstractByteBuf | Test.java:2246:9:2246:11 | out | provenance | | +| Test.java:2251:17:2251:33 | (...)... : ByteBuf | Test.java:2252:10:2252:11 | in : ByteBuf | provenance | | +| Test.java:2251:26:2251:33 | source(...) : Object | Test.java:2251:17:2251:33 | (...)... : ByteBuf | provenance | | +| Test.java:2252:10:2252:11 | in : ByteBuf | Test.java:2252:10:2252:28 | setLongLE(...) : ByteBuf | provenance | MaD:51 | +| Test.java:2252:10:2252:28 | setLongLE(...) : ByteBuf | Test.java:2253:9:2253:11 | out | provenance | | +| Test.java:2258:24:2258:47 | (...)... : SwappedByteBuf | Test.java:2259:10:2259:11 | in : SwappedByteBuf | provenance | | +| Test.java:2258:40:2258:47 | source(...) : Object | Test.java:2258:24:2258:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2259:10:2259:11 | in : SwappedByteBuf | Test.java:2259:10:2259:28 | setLongLE(...) : SwappedByteBuf | provenance | MaD:51 | +| Test.java:2259:10:2259:28 | setLongLE(...) : SwappedByteBuf | Test.java:2260:9:2260:11 | out | provenance | | +| Test.java:2265:25:2265:49 | (...)... : AbstractByteBuf | Test.java:2266:10:2266:11 | in : AbstractByteBuf | provenance | | +| Test.java:2265:42:2265:49 | source(...) : Object | Test.java:2265:25:2265:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2266:10:2266:11 | in : AbstractByteBuf | Test.java:2266:10:2266:27 | setMedium(...) : AbstractByteBuf | provenance | MaD:52 | +| Test.java:2266:10:2266:27 | setMedium(...) : AbstractByteBuf | Test.java:2267:9:2267:11 | out | provenance | | +| Test.java:2272:17:2272:33 | (...)... : ByteBuf | Test.java:2273:10:2273:11 | in : ByteBuf | provenance | | +| Test.java:2272:26:2272:33 | source(...) : Object | Test.java:2272:17:2272:33 | (...)... : ByteBuf | provenance | | +| Test.java:2273:10:2273:11 | in : ByteBuf | Test.java:2273:10:2273:27 | setMedium(...) : ByteBuf | provenance | MaD:52 | +| Test.java:2273:10:2273:27 | setMedium(...) : ByteBuf | Test.java:2274:9:2274:11 | out | provenance | | +| Test.java:2279:24:2279:47 | (...)... : SwappedByteBuf | Test.java:2280:10:2280:11 | in : SwappedByteBuf | provenance | | +| Test.java:2279:40:2279:47 | source(...) : Object | Test.java:2279:24:2279:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2280:10:2280:11 | in : SwappedByteBuf | Test.java:2280:10:2280:27 | setMedium(...) : SwappedByteBuf | provenance | MaD:52 | +| Test.java:2280:10:2280:27 | setMedium(...) : SwappedByteBuf | Test.java:2281:9:2281:11 | out | provenance | | +| Test.java:2286:26:2286:51 | (...)... : CompositeByteBuf | Test.java:2287:10:2287:11 | in : CompositeByteBuf | provenance | | +| Test.java:2286:44:2286:51 | source(...) : Object | Test.java:2286:26:2286:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2287:10:2287:11 | in : CompositeByteBuf | Test.java:2287:10:2287:27 | setMedium(...) : CompositeByteBuf | provenance | MaD:52 | +| Test.java:2287:10:2287:27 | setMedium(...) : CompositeByteBuf | Test.java:2288:9:2288:11 | out | provenance | | +| Test.java:2293:25:2293:49 | (...)... : AbstractByteBuf | Test.java:2294:10:2294:11 | in : AbstractByteBuf | provenance | | +| Test.java:2293:42:2293:49 | source(...) : Object | Test.java:2293:25:2293:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2294:10:2294:11 | in : AbstractByteBuf | Test.java:2294:10:2294:29 | setMediumLE(...) : AbstractByteBuf | provenance | MaD:53 | +| Test.java:2294:10:2294:29 | setMediumLE(...) : AbstractByteBuf | Test.java:2295:9:2295:11 | out | provenance | | +| Test.java:2300:17:2300:33 | (...)... : ByteBuf | Test.java:2301:10:2301:11 | in : ByteBuf | provenance | | +| Test.java:2300:26:2300:33 | source(...) : Object | Test.java:2300:17:2300:33 | (...)... : ByteBuf | provenance | | +| Test.java:2301:10:2301:11 | in : ByteBuf | Test.java:2301:10:2301:29 | setMediumLE(...) : ByteBuf | provenance | MaD:53 | +| Test.java:2301:10:2301:29 | setMediumLE(...) : ByteBuf | Test.java:2302:9:2302:11 | out | provenance | | +| Test.java:2307:24:2307:47 | (...)... : SwappedByteBuf | Test.java:2308:10:2308:11 | in : SwappedByteBuf | provenance | | +| Test.java:2307:40:2307:47 | source(...) : Object | Test.java:2307:24:2307:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2308:10:2308:11 | in : SwappedByteBuf | Test.java:2308:10:2308:29 | setMediumLE(...) : SwappedByteBuf | provenance | MaD:53 | +| Test.java:2308:10:2308:29 | setMediumLE(...) : SwappedByteBuf | Test.java:2309:9:2309:11 | out | provenance | | +| Test.java:2314:25:2314:49 | (...)... : AbstractByteBuf | Test.java:2315:10:2315:11 | in : AbstractByteBuf | provenance | | +| Test.java:2314:42:2314:49 | source(...) : Object | Test.java:2314:25:2314:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2315:10:2315:11 | in : AbstractByteBuf | Test.java:2315:10:2315:26 | setShort(...) : AbstractByteBuf | provenance | MaD:54 | +| Test.java:2315:10:2315:26 | setShort(...) : AbstractByteBuf | Test.java:2316:9:2316:11 | out | provenance | | +| Test.java:2321:17:2321:33 | (...)... : ByteBuf | Test.java:2322:10:2322:11 | in : ByteBuf | provenance | | +| Test.java:2321:26:2321:33 | source(...) : Object | Test.java:2321:17:2321:33 | (...)... : ByteBuf | provenance | | +| Test.java:2322:10:2322:11 | in : ByteBuf | Test.java:2322:10:2322:26 | setShort(...) : ByteBuf | provenance | MaD:54 | +| Test.java:2322:10:2322:26 | setShort(...) : ByteBuf | Test.java:2323:9:2323:11 | out | provenance | | +| Test.java:2328:24:2328:47 | (...)... : SwappedByteBuf | Test.java:2329:10:2329:11 | in : SwappedByteBuf | provenance | | +| Test.java:2328:40:2328:47 | source(...) : Object | Test.java:2328:24:2328:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2329:10:2329:11 | in : SwappedByteBuf | Test.java:2329:10:2329:26 | setShort(...) : SwappedByteBuf | provenance | MaD:54 | +| Test.java:2329:10:2329:26 | setShort(...) : SwappedByteBuf | Test.java:2330:9:2330:11 | out | provenance | | +| Test.java:2335:26:2335:51 | (...)... : CompositeByteBuf | Test.java:2336:10:2336:11 | in : CompositeByteBuf | provenance | | +| Test.java:2335:44:2335:51 | source(...) : Object | Test.java:2335:26:2335:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2336:10:2336:11 | in : CompositeByteBuf | Test.java:2336:10:2336:26 | setShort(...) : CompositeByteBuf | provenance | MaD:54 | +| Test.java:2336:10:2336:26 | setShort(...) : CompositeByteBuf | Test.java:2337:9:2337:11 | out | provenance | | +| Test.java:2342:25:2342:49 | (...)... : AbstractByteBuf | Test.java:2343:10:2343:11 | in : AbstractByteBuf | provenance | | +| Test.java:2342:42:2342:49 | source(...) : Object | Test.java:2342:25:2342:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2343:10:2343:11 | in : AbstractByteBuf | Test.java:2343:10:2343:28 | setShortLE(...) : AbstractByteBuf | provenance | MaD:55 | +| Test.java:2343:10:2343:28 | setShortLE(...) : AbstractByteBuf | Test.java:2344:9:2344:11 | out | provenance | | +| Test.java:2349:17:2349:33 | (...)... : ByteBuf | Test.java:2350:10:2350:11 | in : ByteBuf | provenance | | +| Test.java:2349:26:2349:33 | source(...) : Object | Test.java:2349:17:2349:33 | (...)... : ByteBuf | provenance | | +| Test.java:2350:10:2350:11 | in : ByteBuf | Test.java:2350:10:2350:28 | setShortLE(...) : ByteBuf | provenance | MaD:55 | +| Test.java:2350:10:2350:28 | setShortLE(...) : ByteBuf | Test.java:2351:9:2351:11 | out | provenance | | +| Test.java:2356:24:2356:47 | (...)... : SwappedByteBuf | Test.java:2357:10:2357:11 | in : SwappedByteBuf | provenance | | +| Test.java:2356:40:2356:47 | source(...) : Object | Test.java:2356:24:2356:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2357:10:2357:11 | in : SwappedByteBuf | Test.java:2357:10:2357:28 | setShortLE(...) : SwappedByteBuf | provenance | MaD:55 | +| Test.java:2357:10:2357:28 | setShortLE(...) : SwappedByteBuf | Test.java:2358:9:2358:11 | out | provenance | | +| Test.java:2363:25:2363:49 | (...)... : AbstractByteBuf | Test.java:2364:10:2364:11 | in : AbstractByteBuf | provenance | | +| Test.java:2363:42:2363:49 | source(...) : Object | Test.java:2363:25:2363:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2364:10:2364:11 | in : AbstractByteBuf | Test.java:2364:10:2364:25 | setZero(...) : AbstractByteBuf | provenance | MaD:56 | +| Test.java:2364:10:2364:25 | setZero(...) : AbstractByteBuf | Test.java:2365:9:2365:11 | out | provenance | | +| Test.java:2370:17:2370:33 | (...)... : ByteBuf | Test.java:2371:10:2371:11 | in : ByteBuf | provenance | | +| Test.java:2370:26:2370:33 | source(...) : Object | Test.java:2370:17:2370:33 | (...)... : ByteBuf | provenance | | +| Test.java:2371:10:2371:11 | in : ByteBuf | Test.java:2371:10:2371:25 | setZero(...) : ByteBuf | provenance | MaD:56 | +| Test.java:2371:10:2371:25 | setZero(...) : ByteBuf | Test.java:2372:9:2372:11 | out | provenance | | +| Test.java:2377:24:2377:47 | (...)... : SwappedByteBuf | Test.java:2378:10:2378:11 | in : SwappedByteBuf | provenance | | +| Test.java:2377:40:2377:47 | source(...) : Object | Test.java:2377:24:2377:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2378:10:2378:11 | in : SwappedByteBuf | Test.java:2378:10:2378:25 | setZero(...) : SwappedByteBuf | provenance | MaD:56 | +| Test.java:2378:10:2378:25 | setZero(...) : SwappedByteBuf | Test.java:2379:9:2379:11 | out | provenance | | +| Test.java:2384:26:2384:51 | (...)... : CompositeByteBuf | Test.java:2385:10:2385:11 | in : CompositeByteBuf | provenance | | +| Test.java:2384:44:2384:51 | source(...) : Object | Test.java:2384:26:2384:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2385:10:2385:11 | in : CompositeByteBuf | Test.java:2385:10:2385:25 | setZero(...) : CompositeByteBuf | provenance | MaD:56 | +| Test.java:2385:10:2385:25 | setZero(...) : CompositeByteBuf | Test.java:2386:9:2386:11 | out | provenance | | +| Test.java:2391:25:2391:49 | (...)... : AbstractByteBuf | Test.java:2392:10:2392:11 | in : AbstractByteBuf | provenance | | +| Test.java:2391:42:2391:49 | source(...) : Object | Test.java:2391:25:2391:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2392:10:2392:11 | in : AbstractByteBuf | Test.java:2392:10:2392:24 | skipBytes(...) : AbstractByteBuf | provenance | MaD:57 | +| Test.java:2392:10:2392:24 | skipBytes(...) : AbstractByteBuf | Test.java:2393:9:2393:11 | out | provenance | | +| Test.java:2398:17:2398:33 | (...)... : ByteBuf | Test.java:2399:10:2399:11 | in : ByteBuf | provenance | | +| Test.java:2398:26:2398:33 | source(...) : Object | Test.java:2398:17:2398:33 | (...)... : ByteBuf | provenance | | +| Test.java:2399:10:2399:11 | in : ByteBuf | Test.java:2399:10:2399:24 | skipBytes(...) : ByteBuf | provenance | MaD:57 | +| Test.java:2399:10:2399:24 | skipBytes(...) : ByteBuf | Test.java:2400:9:2400:11 | out | provenance | | +| Test.java:2405:24:2405:47 | (...)... : SwappedByteBuf | Test.java:2406:10:2406:11 | in : SwappedByteBuf | provenance | | +| Test.java:2405:40:2405:47 | source(...) : Object | Test.java:2405:24:2405:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2406:10:2406:11 | in : SwappedByteBuf | Test.java:2406:10:2406:24 | skipBytes(...) : SwappedByteBuf | provenance | MaD:57 | +| Test.java:2406:10:2406:24 | skipBytes(...) : SwappedByteBuf | Test.java:2407:9:2407:11 | out | provenance | | +| Test.java:2412:26:2412:51 | (...)... : CompositeByteBuf | Test.java:2413:10:2413:11 | in : CompositeByteBuf | provenance | | +| Test.java:2412:44:2412:51 | source(...) : Object | Test.java:2412:26:2412:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2413:10:2413:11 | in : CompositeByteBuf | Test.java:2413:10:2413:24 | skipBytes(...) : CompositeByteBuf | provenance | MaD:57 | +| Test.java:2413:10:2413:24 | skipBytes(...) : CompositeByteBuf | Test.java:2414:9:2414:11 | out | provenance | | +| Test.java:2419:25:2419:49 | (...)... : AbstractByteBuf | Test.java:2420:10:2420:11 | in : AbstractByteBuf | provenance | | +| Test.java:2419:42:2419:49 | source(...) : Object | Test.java:2419:25:2419:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2420:10:2420:11 | in : AbstractByteBuf | Test.java:2420:10:2420:19 | slice(...) : ByteBuf | provenance | MaD:58 | +| Test.java:2420:10:2420:19 | slice(...) : ByteBuf | Test.java:2421:9:2421:11 | out | provenance | | +| Test.java:2426:25:2426:49 | (...)... : AbstractByteBuf | Test.java:2427:10:2427:11 | in : AbstractByteBuf | provenance | | +| Test.java:2426:42:2426:49 | source(...) : Object | Test.java:2426:25:2426:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2427:10:2427:11 | in : AbstractByteBuf | Test.java:2427:10:2427:23 | slice(...) : ByteBuf | provenance | MaD:58 | +| Test.java:2427:10:2427:23 | slice(...) : ByteBuf | Test.java:2428:9:2428:11 | out | provenance | | +| Test.java:2433:17:2433:33 | (...)... : ByteBuf | Test.java:2434:10:2434:11 | in : ByteBuf | provenance | | +| Test.java:2433:26:2433:33 | source(...) : Object | Test.java:2433:17:2433:33 | (...)... : ByteBuf | provenance | | +| Test.java:2434:10:2434:11 | in : ByteBuf | Test.java:2434:10:2434:19 | slice(...) : ByteBuf | provenance | MaD:58 | +| Test.java:2434:10:2434:19 | slice(...) : ByteBuf | Test.java:2435:9:2435:11 | out | provenance | | +| Test.java:2440:17:2440:33 | (...)... : ByteBuf | Test.java:2441:10:2441:11 | in : ByteBuf | provenance | | +| Test.java:2440:26:2440:33 | source(...) : Object | Test.java:2440:17:2440:33 | (...)... : ByteBuf | provenance | | +| Test.java:2441:10:2441:11 | in : ByteBuf | Test.java:2441:10:2441:23 | slice(...) : ByteBuf | provenance | MaD:58 | +| Test.java:2441:10:2441:23 | slice(...) : ByteBuf | Test.java:2442:9:2442:11 | out | provenance | | +| Test.java:2447:24:2447:47 | (...)... : SwappedByteBuf | Test.java:2448:10:2448:11 | in : SwappedByteBuf | provenance | | +| Test.java:2447:40:2447:47 | source(...) : Object | Test.java:2447:24:2447:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2448:10:2448:11 | in : SwappedByteBuf | Test.java:2448:10:2448:19 | slice(...) : ByteBuf | provenance | MaD:58 | +| Test.java:2448:10:2448:19 | slice(...) : ByteBuf | Test.java:2449:9:2449:11 | out | provenance | | +| Test.java:2454:24:2454:47 | (...)... : SwappedByteBuf | Test.java:2455:10:2455:11 | in : SwappedByteBuf | provenance | | +| Test.java:2454:40:2454:47 | source(...) : Object | Test.java:2454:24:2454:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2455:10:2455:11 | in : SwappedByteBuf | Test.java:2455:10:2455:23 | slice(...) : ByteBuf | provenance | MaD:58 | +| Test.java:2455:10:2455:23 | slice(...) : ByteBuf | Test.java:2456:9:2456:11 | out | provenance | | +| Test.java:2461:25:2461:49 | (...)... : AbstractByteBuf | Test.java:2462:10:2462:11 | in : AbstractByteBuf | provenance | | +| Test.java:2461:42:2461:49 | source(...) : Object | Test.java:2461:25:2461:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2462:10:2462:11 | in : AbstractByteBuf | Test.java:2462:10:2462:22 | toString(...) : String | provenance | MaD:59 | +| Test.java:2462:10:2462:22 | toString(...) : String | Test.java:2463:9:2463:11 | out | provenance | | +| Test.java:2468:25:2468:49 | (...)... : AbstractByteBuf | Test.java:2469:10:2469:11 | in : AbstractByteBuf | provenance | | +| Test.java:2468:42:2468:49 | source(...) : Object | Test.java:2468:25:2468:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2469:10:2469:11 | in : AbstractByteBuf | Test.java:2469:10:2469:32 | toString(...) : String | provenance | MaD:59 | +| Test.java:2469:10:2469:32 | toString(...) : String | Test.java:2470:9:2470:11 | out | provenance | | +| Test.java:2475:25:2475:49 | (...)... : AbstractByteBuf | Test.java:2476:10:2476:11 | in : AbstractByteBuf | provenance | | +| Test.java:2475:42:2475:49 | source(...) : Object | Test.java:2475:25:2475:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2476:10:2476:11 | in : AbstractByteBuf | Test.java:2476:10:2476:26 | toString(...) : String | provenance | MaD:59 | +| Test.java:2476:10:2476:26 | toString(...) : String | Test.java:2477:9:2477:11 | out | provenance | | +| Test.java:2482:17:2482:33 | (...)... : ByteBuf | Test.java:2483:10:2483:11 | in : ByteBuf | provenance | | +| Test.java:2482:26:2482:33 | source(...) : Object | Test.java:2482:17:2482:33 | (...)... : ByteBuf | provenance | | +| Test.java:2483:10:2483:11 | in : ByteBuf | Test.java:2483:10:2483:22 | toString(...) : String | provenance | MaD:59 | +| Test.java:2483:10:2483:22 | toString(...) : String | Test.java:2484:9:2484:11 | out | provenance | | +| Test.java:2489:17:2489:33 | (...)... : ByteBuf | Test.java:2490:10:2490:11 | in : ByteBuf | provenance | | +| Test.java:2489:26:2489:33 | source(...) : Object | Test.java:2489:17:2489:33 | (...)... : ByteBuf | provenance | | +| Test.java:2490:10:2490:11 | in : ByteBuf | Test.java:2490:10:2490:32 | toString(...) : String | provenance | MaD:59 | +| Test.java:2490:10:2490:32 | toString(...) : String | Test.java:2491:9:2491:11 | out | provenance | | +| Test.java:2496:17:2496:33 | (...)... : ByteBuf | Test.java:2497:10:2497:11 | in : ByteBuf | provenance | | +| Test.java:2496:26:2496:33 | source(...) : Object | Test.java:2496:17:2496:33 | (...)... : ByteBuf | provenance | | +| Test.java:2497:10:2497:11 | in : ByteBuf | Test.java:2497:10:2497:26 | toString(...) : String | provenance | MaD:59 | +| Test.java:2497:10:2497:26 | toString(...) : String | Test.java:2498:9:2498:11 | out | provenance | | +| Test.java:2503:26:2503:51 | (...)... : CompositeByteBuf | Test.java:2504:10:2504:11 | in : CompositeByteBuf | provenance | | +| Test.java:2503:44:2503:51 | source(...) : Object | Test.java:2503:26:2503:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2504:10:2504:11 | in : CompositeByteBuf | Test.java:2504:10:2504:22 | toString(...) : String | provenance | MaD:59 | +| Test.java:2504:10:2504:22 | toString(...) : String | Test.java:2505:9:2505:11 | out | provenance | | +| Test.java:2510:24:2510:47 | (...)... : SwappedByteBuf | Test.java:2511:10:2511:11 | in : SwappedByteBuf | provenance | | +| Test.java:2510:40:2510:47 | source(...) : Object | Test.java:2510:24:2510:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2511:10:2511:11 | in : SwappedByteBuf | Test.java:2511:10:2511:22 | toString(...) : String | provenance | MaD:59 | +| Test.java:2511:10:2511:22 | toString(...) : String | Test.java:2512:9:2512:11 | out | provenance | | +| Test.java:2517:24:2517:47 | (...)... : SwappedByteBuf | Test.java:2518:10:2518:11 | in : SwappedByteBuf | provenance | | +| Test.java:2517:40:2517:47 | source(...) : Object | Test.java:2517:24:2517:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2518:10:2518:11 | in : SwappedByteBuf | Test.java:2518:10:2518:32 | toString(...) : String | provenance | MaD:59 | +| Test.java:2518:10:2518:32 | toString(...) : String | Test.java:2519:9:2519:11 | out | provenance | | +| Test.java:2524:24:2524:47 | (...)... : SwappedByteBuf | Test.java:2525:10:2525:11 | in : SwappedByteBuf | provenance | | +| Test.java:2524:40:2524:47 | source(...) : Object | Test.java:2524:24:2524:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2525:10:2525:11 | in : SwappedByteBuf | Test.java:2525:10:2525:26 | toString(...) : String | provenance | MaD:59 | +| Test.java:2525:10:2525:26 | toString(...) : String | Test.java:2526:9:2526:11 | out | provenance | | +| Test.java:2531:17:2531:33 | (...)... : ByteBuf | Test.java:2532:10:2532:11 | in : ByteBuf | provenance | | +| Test.java:2531:26:2531:33 | source(...) : Object | Test.java:2531:17:2531:33 | (...)... : ByteBuf | provenance | | +| Test.java:2532:10:2532:11 | in : ByteBuf | Test.java:2532:10:2532:20 | unwrap(...) : ByteBuf | provenance | MaD:60 | +| Test.java:2532:10:2532:20 | unwrap(...) : ByteBuf | Test.java:2533:9:2533:11 | out | provenance | | +| Test.java:2538:26:2538:51 | (...)... : CompositeByteBuf | Test.java:2539:10:2539:11 | in : CompositeByteBuf | provenance | | +| Test.java:2538:44:2538:51 | source(...) : Object | Test.java:2538:26:2538:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2539:10:2539:11 | in : CompositeByteBuf | Test.java:2539:10:2539:20 | unwrap(...) : ByteBuf | provenance | MaD:60 | +| Test.java:2539:10:2539:20 | unwrap(...) : ByteBuf | Test.java:2540:9:2540:11 | out | provenance | | +| Test.java:2545:24:2545:47 | (...)... : SwappedByteBuf | Test.java:2546:10:2546:11 | in : SwappedByteBuf | provenance | | +| Test.java:2545:40:2545:47 | source(...) : Object | Test.java:2545:24:2545:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2546:10:2546:11 | in : SwappedByteBuf | Test.java:2546:10:2546:20 | unwrap(...) : ByteBuf | provenance | MaD:60 | +| Test.java:2546:10:2546:20 | unwrap(...) : ByteBuf | Test.java:2547:9:2547:11 | out | provenance | | +| Test.java:2552:25:2552:49 | (...)... : AbstractByteBuf | Test.java:2553:10:2553:11 | in : AbstractByteBuf | provenance | | +| Test.java:2552:42:2552:49 | source(...) : Object | Test.java:2552:25:2552:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2553:10:2553:11 | in : AbstractByteBuf | Test.java:2553:10:2553:31 | writeBoolean(...) : AbstractByteBuf | provenance | MaD:61 | +| Test.java:2553:10:2553:31 | writeBoolean(...) : AbstractByteBuf | Test.java:2554:9:2554:11 | out | provenance | | +| Test.java:2559:17:2559:33 | (...)... : ByteBuf | Test.java:2560:10:2560:11 | in : ByteBuf | provenance | | +| Test.java:2559:26:2559:33 | source(...) : Object | Test.java:2559:17:2559:33 | (...)... : ByteBuf | provenance | | +| Test.java:2560:10:2560:11 | in : ByteBuf | Test.java:2560:10:2560:31 | writeBoolean(...) : ByteBuf | provenance | MaD:61 | +| Test.java:2560:10:2560:31 | writeBoolean(...) : ByteBuf | Test.java:2561:9:2561:11 | out | provenance | | +| Test.java:2566:24:2566:47 | (...)... : SwappedByteBuf | Test.java:2567:10:2567:11 | in : SwappedByteBuf | provenance | | +| Test.java:2566:40:2566:47 | source(...) : Object | Test.java:2566:24:2566:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2567:10:2567:11 | in : SwappedByteBuf | Test.java:2567:10:2567:31 | writeBoolean(...) : SwappedByteBuf | provenance | MaD:61 | +| Test.java:2567:10:2567:31 | writeBoolean(...) : SwappedByteBuf | Test.java:2568:9:2568:11 | out | provenance | | +| Test.java:2573:26:2573:51 | (...)... : CompositeByteBuf | Test.java:2574:10:2574:11 | in : CompositeByteBuf | provenance | | +| Test.java:2573:44:2573:51 | source(...) : Object | Test.java:2573:26:2573:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2574:10:2574:11 | in : CompositeByteBuf | Test.java:2574:10:2574:31 | writeBoolean(...) : CompositeByteBuf | provenance | MaD:61 | +| Test.java:2574:10:2574:31 | writeBoolean(...) : CompositeByteBuf | Test.java:2575:9:2575:11 | out | provenance | | +| Test.java:2580:25:2580:49 | (...)... : AbstractByteBuf | Test.java:2581:10:2581:11 | in : AbstractByteBuf | provenance | | +| Test.java:2580:42:2580:49 | source(...) : Object | Test.java:2580:25:2580:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2581:10:2581:11 | in : AbstractByteBuf | Test.java:2581:10:2581:24 | writeByte(...) : AbstractByteBuf | provenance | MaD:62 | +| Test.java:2581:10:2581:24 | writeByte(...) : AbstractByteBuf | Test.java:2582:9:2582:11 | out | provenance | | +| Test.java:2587:17:2587:33 | (...)... : ByteBuf | Test.java:2588:10:2588:11 | in : ByteBuf | provenance | | +| Test.java:2587:26:2587:33 | source(...) : Object | Test.java:2587:17:2587:33 | (...)... : ByteBuf | provenance | | +| Test.java:2588:10:2588:11 | in : ByteBuf | Test.java:2588:10:2588:24 | writeByte(...) : ByteBuf | provenance | MaD:62 | +| Test.java:2588:10:2588:24 | writeByte(...) : ByteBuf | Test.java:2589:9:2589:11 | out | provenance | | +| Test.java:2594:24:2594:47 | (...)... : SwappedByteBuf | Test.java:2595:10:2595:11 | in : SwappedByteBuf | provenance | | +| Test.java:2594:40:2594:47 | source(...) : Object | Test.java:2594:24:2594:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2595:10:2595:11 | in : SwappedByteBuf | Test.java:2595:10:2595:24 | writeByte(...) : SwappedByteBuf | provenance | MaD:62 | +| Test.java:2595:10:2595:24 | writeByte(...) : SwappedByteBuf | Test.java:2596:9:2596:11 | out | provenance | | +| Test.java:2601:26:2601:51 | (...)... : CompositeByteBuf | Test.java:2602:10:2602:11 | in : CompositeByteBuf | provenance | | +| Test.java:2601:44:2601:51 | source(...) : Object | Test.java:2601:26:2601:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2602:10:2602:11 | in : CompositeByteBuf | Test.java:2602:10:2602:24 | writeByte(...) : CompositeByteBuf | provenance | MaD:62 | +| Test.java:2602:10:2602:24 | writeByte(...) : CompositeByteBuf | Test.java:2603:9:2603:11 | out | provenance | | +| Test.java:2608:13:2608:25 | (...)... : Number | Test.java:2609:18:2609:19 | in : Number | provenance | | +| Test.java:2608:18:2608:25 | source(...) : Object | Test.java:2608:13:2608:25 | (...)... : Number | provenance | | +| Test.java:2609:4:2609:6 | out [post update] : AbstractByteBuf | Test.java:2610:9:2610:11 | out | provenance | | +| Test.java:2609:18:2609:19 | in : Number | Test.java:2609:4:2609:6 | out [post update] : AbstractByteBuf | provenance | MaD:125 | +| Test.java:2615:13:2615:25 | (...)... : Number | Test.java:2616:18:2616:19 | in : Number | provenance | | +| Test.java:2615:18:2615:25 | source(...) : Object | Test.java:2615:13:2615:25 | (...)... : Number | provenance | | +| Test.java:2616:4:2616:6 | out [post update] : ByteBuf | Test.java:2617:9:2617:11 | out | provenance | | +| Test.java:2616:18:2616:19 | in : Number | Test.java:2616:4:2616:6 | out [post update] : ByteBuf | provenance | MaD:125 | +| Test.java:2622:13:2622:25 | (...)... : Number | Test.java:2623:18:2623:19 | in : Number | provenance | | +| Test.java:2622:18:2622:25 | source(...) : Object | Test.java:2622:13:2622:25 | (...)... : Number | provenance | | +| Test.java:2623:4:2623:6 | out [post update] : CompositeByteBuf | Test.java:2624:9:2624:11 | out | provenance | | +| Test.java:2623:18:2623:19 | in : Number | Test.java:2623:4:2623:6 | out [post update] : CompositeByteBuf | provenance | MaD:125 | +| Test.java:2629:13:2629:25 | (...)... : Number | Test.java:2630:18:2630:19 | in : Number | provenance | | +| Test.java:2629:18:2629:25 | source(...) : Object | Test.java:2629:13:2629:25 | (...)... : Number | provenance | | +| Test.java:2630:4:2630:6 | out [post update] : SwappedByteBuf | Test.java:2631:9:2631:11 | out | provenance | | +| Test.java:2630:18:2630:19 | in : Number | Test.java:2630:4:2630:6 | out [post update] : SwappedByteBuf | provenance | MaD:125 | +| Test.java:2636:25:2636:49 | (...)... : AbstractByteBuf | Test.java:2637:10:2637:11 | in : AbstractByteBuf | provenance | | +| Test.java:2636:42:2636:49 | source(...) : Object | Test.java:2636:25:2636:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2637:10:2637:11 | in : AbstractByteBuf | Test.java:2637:10:2637:37 | writeBytes(...) : AbstractByteBuf | provenance | MaD:65 | +| Test.java:2637:10:2637:37 | writeBytes(...) : AbstractByteBuf | Test.java:2638:9:2638:11 | out | provenance | | +| Test.java:2643:17:2643:33 | (...)... : ByteBuf | Test.java:2644:10:2644:11 | in : ByteBuf | provenance | | +| Test.java:2643:26:2643:33 | source(...) : Object | Test.java:2643:17:2643:33 | (...)... : ByteBuf | provenance | | +| Test.java:2644:10:2644:11 | in : ByteBuf | Test.java:2644:10:2644:37 | writeBytes(...) : ByteBuf | provenance | MaD:65 | +| Test.java:2644:10:2644:37 | writeBytes(...) : ByteBuf | Test.java:2645:9:2645:11 | out | provenance | | +| Test.java:2650:24:2650:47 | (...)... : SwappedByteBuf | Test.java:2651:10:2651:11 | in : SwappedByteBuf | provenance | | +| Test.java:2650:40:2650:47 | source(...) : Object | Test.java:2650:24:2650:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2651:10:2651:11 | in : SwappedByteBuf | Test.java:2651:10:2651:37 | writeBytes(...) : SwappedByteBuf | provenance | MaD:65 | +| Test.java:2651:10:2651:37 | writeBytes(...) : SwappedByteBuf | Test.java:2652:9:2652:11 | out | provenance | | +| Test.java:2657:26:2657:51 | (...)... : CompositeByteBuf | Test.java:2658:10:2658:11 | in : CompositeByteBuf | provenance | | +| Test.java:2657:44:2657:51 | source(...) : Object | Test.java:2657:26:2657:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2658:10:2658:11 | in : CompositeByteBuf | Test.java:2658:10:2658:37 | writeBytes(...) : CompositeByteBuf | provenance | MaD:65 | +| Test.java:2658:10:2658:37 | writeBytes(...) : CompositeByteBuf | Test.java:2659:9:2659:11 | out | provenance | | +| Test.java:2664:17:2664:33 | (...)... : ByteBuf | Test.java:2665:19:2665:20 | in : ByteBuf | provenance | | +| Test.java:2664:26:2664:33 | source(...) : Object | Test.java:2664:17:2664:33 | (...)... : ByteBuf | provenance | | +| Test.java:2665:4:2665:6 | out [post update] : AbstractByteBuf | Test.java:2666:9:2666:11 | out | provenance | | +| Test.java:2665:19:2665:20 | in : ByteBuf | Test.java:2665:4:2665:6 | out [post update] : AbstractByteBuf | provenance | MaD:128 | +| Test.java:2671:17:2671:33 | (...)... : ByteBuf | Test.java:2672:19:2672:20 | in : ByteBuf | provenance | | +| Test.java:2671:26:2671:33 | source(...) : Object | Test.java:2671:17:2671:33 | (...)... : ByteBuf | provenance | | +| Test.java:2672:4:2672:6 | out [post update] : ByteBuf | Test.java:2673:9:2673:11 | out | provenance | | +| Test.java:2672:19:2672:20 | in : ByteBuf | Test.java:2672:4:2672:6 | out [post update] : ByteBuf | provenance | MaD:128 | +| Test.java:2678:17:2678:33 | (...)... : ByteBuf | Test.java:2679:19:2679:20 | in : ByteBuf | provenance | | +| Test.java:2678:26:2678:33 | source(...) : Object | Test.java:2678:17:2678:33 | (...)... : ByteBuf | provenance | | +| Test.java:2679:4:2679:6 | out [post update] : CompositeByteBuf | Test.java:2680:9:2680:11 | out | provenance | | +| Test.java:2679:19:2679:20 | in : ByteBuf | Test.java:2679:4:2679:6 | out [post update] : CompositeByteBuf | provenance | MaD:128 | +| Test.java:2685:17:2685:33 | (...)... : ByteBuf | Test.java:2686:19:2686:20 | in : ByteBuf | provenance | | +| Test.java:2685:26:2685:33 | source(...) : Object | Test.java:2685:17:2685:33 | (...)... : ByteBuf | provenance | | +| Test.java:2686:4:2686:6 | out [post update] : SwappedByteBuf | Test.java:2687:9:2687:11 | out | provenance | | +| Test.java:2686:19:2686:20 | in : ByteBuf | Test.java:2686:4:2686:6 | out [post update] : SwappedByteBuf | provenance | MaD:128 | +| Test.java:2692:25:2692:49 | (...)... : AbstractByteBuf | Test.java:2693:10:2693:11 | in : AbstractByteBuf | provenance | | +| Test.java:2692:42:2692:49 | source(...) : Object | Test.java:2692:25:2692:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2693:10:2693:11 | in : AbstractByteBuf | Test.java:2693:10:2693:40 | writeBytes(...) : AbstractByteBuf | provenance | MaD:67 | +| Test.java:2693:10:2693:40 | writeBytes(...) : AbstractByteBuf | Test.java:2694:9:2694:11 | out | provenance | | +| Test.java:2699:17:2699:33 | (...)... : ByteBuf | Test.java:2700:10:2700:11 | in : ByteBuf | provenance | | +| Test.java:2699:26:2699:33 | source(...) : Object | Test.java:2699:17:2699:33 | (...)... : ByteBuf | provenance | | +| Test.java:2700:10:2700:11 | in : ByteBuf | Test.java:2700:10:2700:40 | writeBytes(...) : ByteBuf | provenance | MaD:67 | +| Test.java:2700:10:2700:40 | writeBytes(...) : ByteBuf | Test.java:2701:9:2701:11 | out | provenance | | +| Test.java:2706:24:2706:47 | (...)... : SwappedByteBuf | Test.java:2707:10:2707:11 | in : SwappedByteBuf | provenance | | +| Test.java:2706:40:2706:47 | source(...) : Object | Test.java:2706:24:2706:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2707:10:2707:11 | in : SwappedByteBuf | Test.java:2707:10:2707:40 | writeBytes(...) : SwappedByteBuf | provenance | MaD:67 | +| Test.java:2707:10:2707:40 | writeBytes(...) : SwappedByteBuf | Test.java:2708:9:2708:11 | out | provenance | | +| Test.java:2713:26:2713:51 | (...)... : CompositeByteBuf | Test.java:2714:10:2714:11 | in : CompositeByteBuf | provenance | | +| Test.java:2713:44:2713:51 | source(...) : Object | Test.java:2713:26:2713:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2714:10:2714:11 | in : CompositeByteBuf | Test.java:2714:10:2714:40 | writeBytes(...) : CompositeByteBuf | provenance | MaD:67 | +| Test.java:2714:10:2714:40 | writeBytes(...) : CompositeByteBuf | Test.java:2715:9:2715:11 | out | provenance | | +| Test.java:2720:17:2720:33 | (...)... : ByteBuf | Test.java:2721:19:2721:20 | in : ByteBuf | provenance | | +| Test.java:2720:26:2720:33 | source(...) : Object | Test.java:2720:17:2720:33 | (...)... : ByteBuf | provenance | | +| Test.java:2721:4:2721:6 | out [post update] : AbstractByteBuf | Test.java:2722:9:2722:11 | out | provenance | | +| Test.java:2721:19:2721:20 | in : ByteBuf | Test.java:2721:4:2721:6 | out [post update] : AbstractByteBuf | provenance | MaD:130 | +| Test.java:2727:17:2727:33 | (...)... : ByteBuf | Test.java:2728:19:2728:20 | in : ByteBuf | provenance | | +| Test.java:2727:26:2727:33 | source(...) : Object | Test.java:2727:17:2727:33 | (...)... : ByteBuf | provenance | | +| Test.java:2728:4:2728:6 | out [post update] : ByteBuf | Test.java:2729:9:2729:11 | out | provenance | | +| Test.java:2728:19:2728:20 | in : ByteBuf | Test.java:2728:4:2728:6 | out [post update] : ByteBuf | provenance | MaD:130 | +| Test.java:2734:17:2734:33 | (...)... : ByteBuf | Test.java:2735:19:2735:20 | in : ByteBuf | provenance | | +| Test.java:2734:26:2734:33 | source(...) : Object | Test.java:2734:17:2734:33 | (...)... : ByteBuf | provenance | | +| Test.java:2735:4:2735:6 | out [post update] : CompositeByteBuf | Test.java:2736:9:2736:11 | out | provenance | | +| Test.java:2735:19:2735:20 | in : ByteBuf | Test.java:2735:4:2735:6 | out [post update] : CompositeByteBuf | provenance | MaD:130 | +| Test.java:2741:17:2741:33 | (...)... : ByteBuf | Test.java:2742:19:2742:20 | in : ByteBuf | provenance | | +| Test.java:2741:26:2741:33 | source(...) : Object | Test.java:2741:17:2741:33 | (...)... : ByteBuf | provenance | | +| Test.java:2742:4:2742:6 | out [post update] : SwappedByteBuf | Test.java:2743:9:2743:11 | out | provenance | | +| Test.java:2742:19:2742:20 | in : ByteBuf | Test.java:2742:4:2742:6 | out [post update] : SwappedByteBuf | provenance | MaD:130 | +| Test.java:2748:25:2748:49 | (...)... : AbstractByteBuf | Test.java:2749:10:2749:11 | in : AbstractByteBuf | provenance | | +| Test.java:2748:42:2748:49 | source(...) : Object | Test.java:2748:25:2748:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2749:10:2749:11 | in : AbstractByteBuf | Test.java:2749:10:2749:43 | writeBytes(...) : AbstractByteBuf | provenance | MaD:68 | +| Test.java:2749:10:2749:43 | writeBytes(...) : AbstractByteBuf | Test.java:2750:9:2750:11 | out | provenance | | +| Test.java:2755:17:2755:33 | (...)... : ByteBuf | Test.java:2756:10:2756:11 | in : ByteBuf | provenance | | +| Test.java:2755:26:2755:33 | source(...) : Object | Test.java:2755:17:2755:33 | (...)... : ByteBuf | provenance | | +| Test.java:2756:10:2756:11 | in : ByteBuf | Test.java:2756:10:2756:43 | writeBytes(...) : ByteBuf | provenance | MaD:68 | +| Test.java:2756:10:2756:43 | writeBytes(...) : ByteBuf | Test.java:2757:9:2757:11 | out | provenance | | +| Test.java:2762:24:2762:47 | (...)... : SwappedByteBuf | Test.java:2763:10:2763:11 | in : SwappedByteBuf | provenance | | +| Test.java:2762:40:2762:47 | source(...) : Object | Test.java:2762:24:2762:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2763:10:2763:11 | in : SwappedByteBuf | Test.java:2763:10:2763:43 | writeBytes(...) : SwappedByteBuf | provenance | MaD:68 | +| Test.java:2763:10:2763:43 | writeBytes(...) : SwappedByteBuf | Test.java:2764:9:2764:11 | out | provenance | | +| Test.java:2769:26:2769:51 | (...)... : CompositeByteBuf | Test.java:2770:10:2770:11 | in : CompositeByteBuf | provenance | | +| Test.java:2769:44:2769:51 | source(...) : Object | Test.java:2769:26:2769:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2770:10:2770:11 | in : CompositeByteBuf | Test.java:2770:10:2770:43 | writeBytes(...) : CompositeByteBuf | provenance | MaD:68 | +| Test.java:2770:10:2770:43 | writeBytes(...) : CompositeByteBuf | Test.java:2771:9:2771:11 | out | provenance | | +| Test.java:2776:17:2776:33 | (...)... : ByteBuf | Test.java:2777:19:2777:20 | in : ByteBuf | provenance | | +| Test.java:2776:26:2776:33 | source(...) : Object | Test.java:2776:17:2776:33 | (...)... : ByteBuf | provenance | | +| Test.java:2777:4:2777:6 | out [post update] : AbstractByteBuf | Test.java:2778:9:2778:11 | out | provenance | | +| Test.java:2777:19:2777:20 | in : ByteBuf | Test.java:2777:4:2777:6 | out [post update] : AbstractByteBuf | provenance | MaD:131 | +| Test.java:2783:17:2783:33 | (...)... : ByteBuf | Test.java:2784:19:2784:20 | in : ByteBuf | provenance | | +| Test.java:2783:26:2783:33 | source(...) : Object | Test.java:2783:17:2783:33 | (...)... : ByteBuf | provenance | | +| Test.java:2784:4:2784:6 | out [post update] : ByteBuf | Test.java:2785:9:2785:11 | out | provenance | | +| Test.java:2784:19:2784:20 | in : ByteBuf | Test.java:2784:4:2784:6 | out [post update] : ByteBuf | provenance | MaD:131 | +| Test.java:2790:17:2790:33 | (...)... : ByteBuf | Test.java:2791:19:2791:20 | in : ByteBuf | provenance | | +| Test.java:2790:26:2790:33 | source(...) : Object | Test.java:2790:17:2790:33 | (...)... : ByteBuf | provenance | | +| Test.java:2791:4:2791:6 | out [post update] : CompositeByteBuf | Test.java:2792:9:2792:11 | out | provenance | | +| Test.java:2791:19:2791:20 | in : ByteBuf | Test.java:2791:4:2791:6 | out [post update] : CompositeByteBuf | provenance | MaD:131 | +| Test.java:2797:17:2797:33 | (...)... : ByteBuf | Test.java:2798:19:2798:20 | in : ByteBuf | provenance | | +| Test.java:2797:26:2797:33 | source(...) : Object | Test.java:2797:17:2797:33 | (...)... : ByteBuf | provenance | | +| Test.java:2798:4:2798:6 | out [post update] : SwappedByteBuf | Test.java:2799:9:2799:11 | out | provenance | | +| Test.java:2798:19:2798:20 | in : ByteBuf | Test.java:2798:4:2798:6 | out [post update] : SwappedByteBuf | provenance | MaD:131 | +| Test.java:2804:25:2804:49 | (...)... : AbstractByteBuf | Test.java:2805:10:2805:11 | in : AbstractByteBuf | provenance | | +| Test.java:2804:42:2804:49 | source(...) : Object | Test.java:2804:25:2804:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2805:10:2805:11 | in : AbstractByteBuf | Test.java:2805:10:2805:40 | writeBytes(...) : AbstractByteBuf | provenance | MaD:66 | +| Test.java:2805:10:2805:40 | writeBytes(...) : AbstractByteBuf | Test.java:2806:9:2806:11 | out | provenance | | +| Test.java:2811:17:2811:33 | (...)... : ByteBuf | Test.java:2812:10:2812:11 | in : ByteBuf | provenance | | +| Test.java:2811:26:2811:33 | source(...) : Object | Test.java:2811:17:2811:33 | (...)... : ByteBuf | provenance | | +| Test.java:2812:10:2812:11 | in : ByteBuf | Test.java:2812:10:2812:40 | writeBytes(...) : ByteBuf | provenance | MaD:66 | +| Test.java:2812:10:2812:40 | writeBytes(...) : ByteBuf | Test.java:2813:9:2813:11 | out | provenance | | +| Test.java:2818:24:2818:47 | (...)... : SwappedByteBuf | Test.java:2819:10:2819:11 | in : SwappedByteBuf | provenance | | +| Test.java:2818:40:2818:47 | source(...) : Object | Test.java:2818:24:2818:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2819:10:2819:11 | in : SwappedByteBuf | Test.java:2819:10:2819:40 | writeBytes(...) : SwappedByteBuf | provenance | MaD:66 | +| Test.java:2819:10:2819:40 | writeBytes(...) : SwappedByteBuf | Test.java:2820:9:2820:11 | out | provenance | | +| Test.java:2825:26:2825:51 | (...)... : CompositeByteBuf | Test.java:2826:10:2826:11 | in : CompositeByteBuf | provenance | | +| Test.java:2825:44:2825:51 | source(...) : Object | Test.java:2825:26:2825:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2826:10:2826:11 | in : CompositeByteBuf | Test.java:2826:10:2826:40 | writeBytes(...) : CompositeByteBuf | provenance | MaD:66 | +| Test.java:2826:10:2826:40 | writeBytes(...) : CompositeByteBuf | Test.java:2827:9:2827:11 | out | provenance | | +| Test.java:2832:20:2832:39 | (...)... : ByteBuffer | Test.java:2833:19:2833:20 | in : ByteBuffer | provenance | | +| Test.java:2832:32:2832:39 | source(...) : Object | Test.java:2832:20:2832:39 | (...)... : ByteBuffer | provenance | | +| Test.java:2833:4:2833:6 | out [post update] : AbstractByteBuf | Test.java:2834:9:2834:11 | out | provenance | | +| Test.java:2833:19:2833:20 | in : ByteBuffer | Test.java:2833:4:2833:6 | out [post update] : AbstractByteBuf | provenance | MaD:129 | +| Test.java:2839:20:2839:39 | (...)... : ByteBuffer | Test.java:2840:19:2840:20 | in : ByteBuffer | provenance | | +| Test.java:2839:32:2839:39 | source(...) : Object | Test.java:2839:20:2839:39 | (...)... : ByteBuffer | provenance | | +| Test.java:2840:4:2840:6 | out [post update] : ByteBuf | Test.java:2841:9:2841:11 | out | provenance | | +| Test.java:2840:19:2840:20 | in : ByteBuffer | Test.java:2840:4:2840:6 | out [post update] : ByteBuf | provenance | MaD:129 | +| Test.java:2846:20:2846:39 | (...)... : ByteBuffer | Test.java:2847:19:2847:20 | in : ByteBuffer | provenance | | +| Test.java:2846:32:2846:39 | source(...) : Object | Test.java:2846:20:2846:39 | (...)... : ByteBuffer | provenance | | +| Test.java:2847:4:2847:6 | out [post update] : CompositeByteBuf | Test.java:2848:9:2848:11 | out | provenance | | +| Test.java:2847:19:2847:20 | in : ByteBuffer | Test.java:2847:4:2847:6 | out [post update] : CompositeByteBuf | provenance | MaD:129 | +| Test.java:2853:20:2853:39 | (...)... : ByteBuffer | Test.java:2854:19:2854:20 | in : ByteBuffer | provenance | | +| Test.java:2853:32:2853:39 | source(...) : Object | Test.java:2853:20:2853:39 | (...)... : ByteBuffer | provenance | | +| Test.java:2854:4:2854:6 | out [post update] : SwappedByteBuf | Test.java:2855:9:2855:11 | out | provenance | | +| Test.java:2854:19:2854:20 | in : ByteBuffer | Test.java:2854:4:2854:6 | out [post update] : SwappedByteBuf | provenance | MaD:129 | +| Test.java:2860:21:2860:41 | (...)... : FileChannel | Test.java:2861:19:2861:20 | in : FileChannel | provenance | | +| Test.java:2860:34:2860:41 | source(...) : Object | Test.java:2860:21:2860:41 | (...)... : FileChannel | provenance | | +| Test.java:2861:4:2861:6 | out [post update] : AbstractByteBuf | Test.java:2862:9:2862:11 | out | provenance | | +| Test.java:2861:19:2861:20 | in : FileChannel | Test.java:2861:4:2861:6 | out [post update] : AbstractByteBuf | provenance | MaD:132 | +| Test.java:2867:21:2867:41 | (...)... : FileChannel | Test.java:2868:19:2868:20 | in : FileChannel | provenance | | +| Test.java:2867:34:2867:41 | source(...) : Object | Test.java:2867:21:2867:41 | (...)... : FileChannel | provenance | | +| Test.java:2868:4:2868:6 | out [post update] : ByteBuf | Test.java:2869:9:2869:11 | out | provenance | | +| Test.java:2868:19:2868:20 | in : FileChannel | Test.java:2868:4:2868:6 | out [post update] : ByteBuf | provenance | MaD:132 | +| Test.java:2874:21:2874:41 | (...)... : FileChannel | Test.java:2875:19:2875:20 | in : FileChannel | provenance | | +| Test.java:2874:34:2874:41 | source(...) : Object | Test.java:2874:21:2874:41 | (...)... : FileChannel | provenance | | +| Test.java:2875:4:2875:6 | out [post update] : SwappedByteBuf | Test.java:2876:9:2876:11 | out | provenance | | +| Test.java:2875:19:2875:20 | in : FileChannel | Test.java:2875:4:2875:6 | out [post update] : SwappedByteBuf | provenance | MaD:132 | +| Test.java:2881:21:2881:41 | (...)... : InputStream | Test.java:2882:19:2882:20 | in : InputStream | provenance | | +| Test.java:2881:34:2881:41 | source(...) : Object | Test.java:2881:21:2881:41 | (...)... : InputStream | provenance | | +| Test.java:2882:4:2882:6 | out [post update] : AbstractByteBuf | Test.java:2883:9:2883:11 | out | provenance | | +| Test.java:2882:19:2882:20 | in : InputStream | Test.java:2882:4:2882:6 | out [post update] : AbstractByteBuf | provenance | MaD:134 | +| Test.java:2888:21:2888:41 | (...)... : InputStream | Test.java:2889:19:2889:20 | in : InputStream | provenance | | +| Test.java:2888:34:2888:41 | source(...) : Object | Test.java:2888:21:2888:41 | (...)... : InputStream | provenance | | +| Test.java:2889:4:2889:6 | out [post update] : ByteBuf | Test.java:2890:9:2890:11 | out | provenance | | +| Test.java:2889:19:2889:20 | in : InputStream | Test.java:2889:4:2889:6 | out [post update] : ByteBuf | provenance | MaD:134 | +| Test.java:2895:21:2895:41 | (...)... : InputStream | Test.java:2896:19:2896:20 | in : InputStream | provenance | | +| Test.java:2895:34:2895:41 | source(...) : Object | Test.java:2895:21:2895:41 | (...)... : InputStream | provenance | | +| Test.java:2896:4:2896:6 | out [post update] : SwappedByteBuf | Test.java:2897:9:2897:11 | out | provenance | | +| Test.java:2896:19:2896:20 | in : InputStream | Test.java:2896:4:2896:6 | out [post update] : SwappedByteBuf | provenance | MaD:134 | +| Test.java:2902:31:2902:61 | (...)... : ScatteringByteChannel | Test.java:2903:19:2903:20 | in : ScatteringByteChannel | provenance | | +| Test.java:2902:54:2902:61 | source(...) : Object | Test.java:2902:31:2902:61 | (...)... : ScatteringByteChannel | provenance | | +| Test.java:2903:4:2903:6 | out [post update] : AbstractByteBuf | Test.java:2904:9:2904:11 | out | provenance | | +| Test.java:2903:19:2903:20 | in : ScatteringByteChannel | Test.java:2903:4:2903:6 | out [post update] : AbstractByteBuf | provenance | MaD:133 | +| Test.java:2909:31:2909:61 | (...)... : ScatteringByteChannel | Test.java:2910:19:2910:20 | in : ScatteringByteChannel | provenance | | +| Test.java:2909:54:2909:61 | source(...) : Object | Test.java:2909:31:2909:61 | (...)... : ScatteringByteChannel | provenance | | +| Test.java:2910:4:2910:6 | out [post update] : ByteBuf | Test.java:2911:9:2911:11 | out | provenance | | +| Test.java:2910:19:2910:20 | in : ScatteringByteChannel | Test.java:2910:4:2910:6 | out [post update] : ByteBuf | provenance | MaD:133 | +| Test.java:2916:31:2916:61 | (...)... : ScatteringByteChannel | Test.java:2917:19:2917:20 | in : ScatteringByteChannel | provenance | | +| Test.java:2916:54:2916:61 | source(...) : Object | Test.java:2916:31:2916:61 | (...)... : ScatteringByteChannel | provenance | | +| Test.java:2917:4:2917:6 | out [post update] : SwappedByteBuf | Test.java:2918:9:2918:11 | out | provenance | | +| Test.java:2917:19:2917:20 | in : ScatteringByteChannel | Test.java:2917:4:2917:6 | out [post update] : SwappedByteBuf | provenance | MaD:133 | +| Test.java:2923:25:2923:49 | (...)... : AbstractByteBuf | Test.java:2924:10:2924:11 | in : AbstractByteBuf | provenance | | +| Test.java:2923:42:2923:49 | source(...) : Object | Test.java:2923:25:2923:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2924:10:2924:11 | in : AbstractByteBuf | Test.java:2924:10:2924:36 | writeBytes(...) : AbstractByteBuf | provenance | MaD:63 | +| Test.java:2924:10:2924:36 | writeBytes(...) : AbstractByteBuf | Test.java:2925:9:2925:11 | out | provenance | | +| Test.java:2930:17:2930:33 | (...)... : ByteBuf | Test.java:2931:10:2931:11 | in : ByteBuf | provenance | | +| Test.java:2930:26:2930:33 | source(...) : Object | Test.java:2930:17:2930:33 | (...)... : ByteBuf | provenance | | +| Test.java:2931:10:2931:11 | in : ByteBuf | Test.java:2931:10:2931:36 | writeBytes(...) : ByteBuf | provenance | MaD:63 | +| Test.java:2931:10:2931:36 | writeBytes(...) : ByteBuf | Test.java:2932:9:2932:11 | out | provenance | | +| Test.java:2937:24:2937:47 | (...)... : SwappedByteBuf | Test.java:2938:10:2938:11 | in : SwappedByteBuf | provenance | | +| Test.java:2937:40:2937:47 | source(...) : Object | Test.java:2937:24:2937:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2938:10:2938:11 | in : SwappedByteBuf | Test.java:2938:10:2938:36 | writeBytes(...) : SwappedByteBuf | provenance | MaD:63 | +| Test.java:2938:10:2938:36 | writeBytes(...) : SwappedByteBuf | Test.java:2939:9:2939:11 | out | provenance | | +| Test.java:2944:26:2944:51 | (...)... : CompositeByteBuf | Test.java:2945:10:2945:11 | in : CompositeByteBuf | provenance | | +| Test.java:2944:44:2944:51 | source(...) : Object | Test.java:2944:26:2944:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:2945:10:2945:11 | in : CompositeByteBuf | Test.java:2945:10:2945:36 | writeBytes(...) : CompositeByteBuf | provenance | MaD:63 | +| Test.java:2945:10:2945:36 | writeBytes(...) : CompositeByteBuf | Test.java:2946:9:2946:11 | out | provenance | | +| Test.java:2951:16:2951:31 | (...)... : byte[] | Test.java:2952:19:2952:20 | in : byte[] | provenance | | +| Test.java:2951:24:2951:31 | source(...) : Object | Test.java:2951:16:2951:31 | (...)... : byte[] | provenance | | +| Test.java:2952:4:2952:6 | out [post update] : AbstractByteBuf | Test.java:2953:9:2953:11 | out | provenance | | +| Test.java:2952:19:2952:20 | in : byte[] | Test.java:2952:4:2952:6 | out [post update] : AbstractByteBuf | provenance | MaD:126 | +| Test.java:2958:16:2958:31 | (...)... : byte[] | Test.java:2959:19:2959:20 | in : byte[] | provenance | | +| Test.java:2958:24:2958:31 | source(...) : Object | Test.java:2958:16:2958:31 | (...)... : byte[] | provenance | | +| Test.java:2959:4:2959:6 | out [post update] : ByteBuf | Test.java:2960:9:2960:11 | out | provenance | | +| Test.java:2959:19:2959:20 | in : byte[] | Test.java:2959:4:2959:6 | out [post update] : ByteBuf | provenance | MaD:126 | +| Test.java:2965:16:2965:31 | (...)... : byte[] | Test.java:2966:19:2966:20 | in : byte[] | provenance | | +| Test.java:2965:24:2965:31 | source(...) : Object | Test.java:2965:16:2965:31 | (...)... : byte[] | provenance | | +| Test.java:2966:4:2966:6 | out [post update] : CompositeByteBuf | Test.java:2967:9:2967:11 | out | provenance | | +| Test.java:2966:19:2966:20 | in : byte[] | Test.java:2966:4:2966:6 | out [post update] : CompositeByteBuf | provenance | MaD:126 | +| Test.java:2972:16:2972:31 | (...)... : byte[] | Test.java:2973:19:2973:20 | in : byte[] | provenance | | +| Test.java:2972:24:2972:31 | source(...) : Object | Test.java:2972:16:2972:31 | (...)... : byte[] | provenance | | +| Test.java:2973:4:2973:6 | out [post update] : SwappedByteBuf | Test.java:2974:9:2974:11 | out | provenance | | +| Test.java:2973:19:2973:20 | in : byte[] | Test.java:2973:4:2973:6 | out [post update] : SwappedByteBuf | provenance | MaD:126 | +| Test.java:2979:25:2979:49 | (...)... : AbstractByteBuf | Test.java:2980:10:2980:11 | in : AbstractByteBuf | provenance | | +| Test.java:2979:42:2979:49 | source(...) : Object | Test.java:2979:25:2979:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:2980:10:2980:11 | in : AbstractByteBuf | Test.java:2980:10:2980:42 | writeBytes(...) : AbstractByteBuf | provenance | MaD:64 | +| Test.java:2980:10:2980:42 | writeBytes(...) : AbstractByteBuf | Test.java:2981:9:2981:11 | out | provenance | | +| Test.java:2986:17:2986:33 | (...)... : ByteBuf | Test.java:2987:10:2987:11 | in : ByteBuf | provenance | | +| Test.java:2986:26:2986:33 | source(...) : Object | Test.java:2986:17:2986:33 | (...)... : ByteBuf | provenance | | +| Test.java:2987:10:2987:11 | in : ByteBuf | Test.java:2987:10:2987:42 | writeBytes(...) : ByteBuf | provenance | MaD:64 | +| Test.java:2987:10:2987:42 | writeBytes(...) : ByteBuf | Test.java:2988:9:2988:11 | out | provenance | | +| Test.java:2993:24:2993:47 | (...)... : SwappedByteBuf | Test.java:2994:10:2994:11 | in : SwappedByteBuf | provenance | | +| Test.java:2993:40:2993:47 | source(...) : Object | Test.java:2993:24:2993:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:2994:10:2994:11 | in : SwappedByteBuf | Test.java:2994:10:2994:42 | writeBytes(...) : SwappedByteBuf | provenance | MaD:64 | +| Test.java:2994:10:2994:42 | writeBytes(...) : SwappedByteBuf | Test.java:2995:9:2995:11 | out | provenance | | +| Test.java:3000:26:3000:51 | (...)... : CompositeByteBuf | Test.java:3001:10:3001:11 | in : CompositeByteBuf | provenance | | +| Test.java:3000:44:3000:51 | source(...) : Object | Test.java:3000:26:3000:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:3001:10:3001:11 | in : CompositeByteBuf | Test.java:3001:10:3001:42 | writeBytes(...) : CompositeByteBuf | provenance | MaD:64 | +| Test.java:3001:10:3001:42 | writeBytes(...) : CompositeByteBuf | Test.java:3002:9:3002:11 | out | provenance | | +| Test.java:3007:16:3007:31 | (...)... : byte[] | Test.java:3008:19:3008:20 | in : byte[] | provenance | | +| Test.java:3007:24:3007:31 | source(...) : Object | Test.java:3007:16:3007:31 | (...)... : byte[] | provenance | | +| Test.java:3008:4:3008:6 | out [post update] : AbstractByteBuf | Test.java:3009:9:3009:11 | out | provenance | | +| Test.java:3008:19:3008:20 | in : byte[] | Test.java:3008:4:3008:6 | out [post update] : AbstractByteBuf | provenance | MaD:127 | +| Test.java:3014:16:3014:31 | (...)... : byte[] | Test.java:3015:19:3015:20 | in : byte[] | provenance | | +| Test.java:3014:24:3014:31 | source(...) : Object | Test.java:3014:16:3014:31 | (...)... : byte[] | provenance | | +| Test.java:3015:4:3015:6 | out [post update] : ByteBuf | Test.java:3016:9:3016:11 | out | provenance | | +| Test.java:3015:19:3015:20 | in : byte[] | Test.java:3015:4:3015:6 | out [post update] : ByteBuf | provenance | MaD:127 | +| Test.java:3021:16:3021:31 | (...)... : byte[] | Test.java:3022:19:3022:20 | in : byte[] | provenance | | +| Test.java:3021:24:3021:31 | source(...) : Object | Test.java:3021:16:3021:31 | (...)... : byte[] | provenance | | +| Test.java:3022:4:3022:6 | out [post update] : CompositeByteBuf | Test.java:3023:9:3023:11 | out | provenance | | +| Test.java:3022:19:3022:20 | in : byte[] | Test.java:3022:4:3022:6 | out [post update] : CompositeByteBuf | provenance | MaD:127 | +| Test.java:3028:16:3028:31 | (...)... : byte[] | Test.java:3029:19:3029:20 | in : byte[] | provenance | | +| Test.java:3028:24:3028:31 | source(...) : Object | Test.java:3028:16:3028:31 | (...)... : byte[] | provenance | | +| Test.java:3029:4:3029:6 | out [post update] : SwappedByteBuf | Test.java:3030:9:3030:11 | out | provenance | | +| Test.java:3029:19:3029:20 | in : byte[] | Test.java:3029:4:3029:6 | out [post update] : SwappedByteBuf | provenance | MaD:127 | +| Test.java:3035:25:3035:49 | (...)... : AbstractByteBuf | Test.java:3036:10:3036:11 | in : AbstractByteBuf | provenance | | +| Test.java:3035:42:3035:49 | source(...) : Object | Test.java:3035:25:3035:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:3036:10:3036:11 | in : AbstractByteBuf | Test.java:3036:10:3036:24 | writeChar(...) : AbstractByteBuf | provenance | MaD:69 | +| Test.java:3036:10:3036:24 | writeChar(...) : AbstractByteBuf | Test.java:3037:9:3037:11 | out | provenance | | +| Test.java:3042:17:3042:33 | (...)... : ByteBuf | Test.java:3043:10:3043:11 | in : ByteBuf | provenance | | +| Test.java:3042:26:3042:33 | source(...) : Object | Test.java:3042:17:3042:33 | (...)... : ByteBuf | provenance | | +| Test.java:3043:10:3043:11 | in : ByteBuf | Test.java:3043:10:3043:24 | writeChar(...) : ByteBuf | provenance | MaD:69 | +| Test.java:3043:10:3043:24 | writeChar(...) : ByteBuf | Test.java:3044:9:3044:11 | out | provenance | | +| Test.java:3049:24:3049:47 | (...)... : SwappedByteBuf | Test.java:3050:10:3050:11 | in : SwappedByteBuf | provenance | | +| Test.java:3049:40:3049:47 | source(...) : Object | Test.java:3049:24:3049:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:3050:10:3050:11 | in : SwappedByteBuf | Test.java:3050:10:3050:24 | writeChar(...) : SwappedByteBuf | provenance | MaD:69 | +| Test.java:3050:10:3050:24 | writeChar(...) : SwappedByteBuf | Test.java:3051:9:3051:11 | out | provenance | | +| Test.java:3056:26:3056:51 | (...)... : CompositeByteBuf | Test.java:3057:10:3057:11 | in : CompositeByteBuf | provenance | | +| Test.java:3056:44:3056:51 | source(...) : Object | Test.java:3056:26:3056:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:3057:10:3057:11 | in : CompositeByteBuf | Test.java:3057:10:3057:24 | writeChar(...) : CompositeByteBuf | provenance | MaD:69 | +| Test.java:3057:10:3057:24 | writeChar(...) : CompositeByteBuf | Test.java:3058:9:3058:11 | out | provenance | | +| Test.java:3063:13:3063:25 | (...)... : Number | Test.java:3064:18:3064:19 | in : Number | provenance | | +| Test.java:3063:18:3063:25 | source(...) : Object | Test.java:3063:13:3063:25 | (...)... : Number | provenance | | +| Test.java:3064:4:3064:6 | out [post update] : AbstractByteBuf | Test.java:3065:9:3065:11 | out | provenance | | +| Test.java:3064:18:3064:19 | in : Number | Test.java:3064:4:3064:6 | out [post update] : AbstractByteBuf | provenance | MaD:135 | +| Test.java:3070:13:3070:25 | (...)... : Number | Test.java:3071:18:3071:19 | in : Number | provenance | | +| Test.java:3070:18:3070:25 | source(...) : Object | Test.java:3070:13:3070:25 | (...)... : Number | provenance | | +| Test.java:3071:4:3071:6 | out [post update] : ByteBuf | Test.java:3072:9:3072:11 | out | provenance | | +| Test.java:3071:18:3071:19 | in : Number | Test.java:3071:4:3071:6 | out [post update] : ByteBuf | provenance | MaD:135 | +| Test.java:3077:13:3077:25 | (...)... : Number | Test.java:3078:18:3078:19 | in : Number | provenance | | +| Test.java:3077:18:3077:25 | source(...) : Object | Test.java:3077:13:3077:25 | (...)... : Number | provenance | | +| Test.java:3078:4:3078:6 | out [post update] : CompositeByteBuf | Test.java:3079:9:3079:11 | out | provenance | | +| Test.java:3078:18:3078:19 | in : Number | Test.java:3078:4:3078:6 | out [post update] : CompositeByteBuf | provenance | MaD:135 | +| Test.java:3084:13:3084:25 | (...)... : Number | Test.java:3085:18:3085:19 | in : Number | provenance | | +| Test.java:3084:18:3084:25 | source(...) : Object | Test.java:3084:13:3084:25 | (...)... : Number | provenance | | +| Test.java:3085:4:3085:6 | out [post update] : SwappedByteBuf | Test.java:3086:9:3086:11 | out | provenance | | +| Test.java:3085:18:3085:19 | in : Number | Test.java:3085:4:3085:6 | out [post update] : SwappedByteBuf | provenance | MaD:135 | +| Test.java:3091:22:3091:43 | (...)... : CharSequence | Test.java:3092:26:3092:27 | in : CharSequence | provenance | | +| Test.java:3091:36:3091:43 | source(...) : Object | Test.java:3091:22:3091:43 | (...)... : CharSequence | provenance | | +| Test.java:3092:4:3092:6 | out [post update] : AbstractByteBuf | Test.java:3093:9:3093:11 | out | provenance | | +| Test.java:3092:26:3092:27 | in : CharSequence | Test.java:3092:4:3092:6 | out [post update] : AbstractByteBuf | provenance | MaD:136 | +| Test.java:3098:22:3098:43 | (...)... : CharSequence | Test.java:3099:26:3099:27 | in : CharSequence | provenance | | +| Test.java:3098:36:3098:43 | source(...) : Object | Test.java:3098:22:3098:43 | (...)... : CharSequence | provenance | | +| Test.java:3099:4:3099:6 | out [post update] : ByteBuf | Test.java:3100:9:3100:11 | out | provenance | | +| Test.java:3099:26:3099:27 | in : CharSequence | Test.java:3099:4:3099:6 | out [post update] : ByteBuf | provenance | MaD:136 | +| Test.java:3105:22:3105:43 | (...)... : CharSequence | Test.java:3106:26:3106:27 | in : CharSequence | provenance | | +| Test.java:3105:36:3105:43 | source(...) : Object | Test.java:3105:22:3105:43 | (...)... : CharSequence | provenance | | +| Test.java:3106:4:3106:6 | out [post update] : SwappedByteBuf | Test.java:3107:9:3107:11 | out | provenance | | +| Test.java:3106:26:3106:27 | in : CharSequence | Test.java:3106:4:3106:6 | out [post update] : SwappedByteBuf | provenance | MaD:136 | +| Test.java:3112:25:3112:49 | (...)... : AbstractByteBuf | Test.java:3113:10:3113:11 | in : AbstractByteBuf | provenance | | +| Test.java:3112:42:3112:49 | source(...) : Object | Test.java:3112:25:3112:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:3113:10:3113:11 | in : AbstractByteBuf | Test.java:3113:10:3113:28 | writeDouble(...) : AbstractByteBuf | provenance | MaD:70 | +| Test.java:3113:10:3113:28 | writeDouble(...) : AbstractByteBuf | Test.java:3114:9:3114:11 | out | provenance | | +| Test.java:3119:17:3119:33 | (...)... : ByteBuf | Test.java:3120:10:3120:11 | in : ByteBuf | provenance | | +| Test.java:3119:26:3119:33 | source(...) : Object | Test.java:3119:17:3119:33 | (...)... : ByteBuf | provenance | | +| Test.java:3120:10:3120:11 | in : ByteBuf | Test.java:3120:10:3120:28 | writeDouble(...) : ByteBuf | provenance | MaD:70 | +| Test.java:3120:10:3120:28 | writeDouble(...) : ByteBuf | Test.java:3121:9:3121:11 | out | provenance | | +| Test.java:3126:24:3126:47 | (...)... : SwappedByteBuf | Test.java:3127:10:3127:11 | in : SwappedByteBuf | provenance | | +| Test.java:3126:40:3126:47 | source(...) : Object | Test.java:3126:24:3126:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:3127:10:3127:11 | in : SwappedByteBuf | Test.java:3127:10:3127:28 | writeDouble(...) : SwappedByteBuf | provenance | MaD:70 | +| Test.java:3127:10:3127:28 | writeDouble(...) : SwappedByteBuf | Test.java:3128:9:3128:11 | out | provenance | | +| Test.java:3133:26:3133:51 | (...)... : CompositeByteBuf | Test.java:3134:10:3134:11 | in : CompositeByteBuf | provenance | | +| Test.java:3133:44:3133:51 | source(...) : Object | Test.java:3133:26:3133:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:3134:10:3134:11 | in : CompositeByteBuf | Test.java:3134:10:3134:28 | writeDouble(...) : CompositeByteBuf | provenance | MaD:70 | +| Test.java:3134:10:3134:28 | writeDouble(...) : CompositeByteBuf | Test.java:3135:9:3135:11 | out | provenance | | +| Test.java:3140:17:3140:33 | (...)... : ByteBuf | Test.java:3141:10:3141:11 | in : ByteBuf | provenance | | +| Test.java:3140:26:3140:33 | source(...) : Object | Test.java:3140:17:3140:33 | (...)... : ByteBuf | provenance | | +| Test.java:3141:10:3141:11 | in : ByteBuf | Test.java:3141:10:3141:30 | writeDoubleLE(...) : ByteBuf | provenance | MaD:71 | +| Test.java:3141:10:3141:30 | writeDoubleLE(...) : ByteBuf | Test.java:3142:9:3142:11 | out | provenance | | +| Test.java:3147:25:3147:49 | (...)... : AbstractByteBuf | Test.java:3148:10:3148:11 | in : AbstractByteBuf | provenance | | +| Test.java:3147:42:3147:49 | source(...) : Object | Test.java:3147:25:3147:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:3148:10:3148:11 | in : AbstractByteBuf | Test.java:3148:10:3148:28 | writeFloat(...) : AbstractByteBuf | provenance | MaD:72 | +| Test.java:3148:10:3148:28 | writeFloat(...) : AbstractByteBuf | Test.java:3149:9:3149:11 | out | provenance | | +| Test.java:3154:17:3154:33 | (...)... : ByteBuf | Test.java:3155:10:3155:11 | in : ByteBuf | provenance | | +| Test.java:3154:26:3154:33 | source(...) : Object | Test.java:3154:17:3154:33 | (...)... : ByteBuf | provenance | | +| Test.java:3155:10:3155:11 | in : ByteBuf | Test.java:3155:10:3155:28 | writeFloat(...) : ByteBuf | provenance | MaD:72 | +| Test.java:3155:10:3155:28 | writeFloat(...) : ByteBuf | Test.java:3156:9:3156:11 | out | provenance | | +| Test.java:3161:24:3161:47 | (...)... : SwappedByteBuf | Test.java:3162:10:3162:11 | in : SwappedByteBuf | provenance | | +| Test.java:3161:40:3161:47 | source(...) : Object | Test.java:3161:24:3161:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:3162:10:3162:11 | in : SwappedByteBuf | Test.java:3162:10:3162:28 | writeFloat(...) : SwappedByteBuf | provenance | MaD:72 | +| Test.java:3162:10:3162:28 | writeFloat(...) : SwappedByteBuf | Test.java:3163:9:3163:11 | out | provenance | | +| Test.java:3168:26:3168:51 | (...)... : CompositeByteBuf | Test.java:3169:10:3169:11 | in : CompositeByteBuf | provenance | | +| Test.java:3168:44:3168:51 | source(...) : Object | Test.java:3168:26:3168:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:3169:10:3169:11 | in : CompositeByteBuf | Test.java:3169:10:3169:28 | writeFloat(...) : CompositeByteBuf | provenance | MaD:72 | +| Test.java:3169:10:3169:28 | writeFloat(...) : CompositeByteBuf | Test.java:3170:9:3170:11 | out | provenance | | +| Test.java:3175:17:3175:33 | (...)... : ByteBuf | Test.java:3176:10:3176:11 | in : ByteBuf | provenance | | +| Test.java:3175:26:3175:33 | source(...) : Object | Test.java:3175:17:3175:33 | (...)... : ByteBuf | provenance | | +| Test.java:3176:10:3176:11 | in : ByteBuf | Test.java:3176:10:3176:30 | writeFloatLE(...) : ByteBuf | provenance | MaD:73 | +| Test.java:3176:10:3176:30 | writeFloatLE(...) : ByteBuf | Test.java:3177:9:3177:11 | out | provenance | | +| Test.java:3182:25:3182:49 | (...)... : AbstractByteBuf | Test.java:3183:10:3183:11 | in : AbstractByteBuf | provenance | | +| Test.java:3182:42:3182:49 | source(...) : Object | Test.java:3182:25:3182:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:3183:10:3183:11 | in : AbstractByteBuf | Test.java:3183:10:3183:23 | writeInt(...) : AbstractByteBuf | provenance | MaD:74 | +| Test.java:3183:10:3183:23 | writeInt(...) : AbstractByteBuf | Test.java:3184:9:3184:11 | out | provenance | | +| Test.java:3189:17:3189:33 | (...)... : ByteBuf | Test.java:3190:10:3190:11 | in : ByteBuf | provenance | | +| Test.java:3189:26:3189:33 | source(...) : Object | Test.java:3189:17:3189:33 | (...)... : ByteBuf | provenance | | +| Test.java:3190:10:3190:11 | in : ByteBuf | Test.java:3190:10:3190:23 | writeInt(...) : ByteBuf | provenance | MaD:74 | +| Test.java:3190:10:3190:23 | writeInt(...) : ByteBuf | Test.java:3191:9:3191:11 | out | provenance | | +| Test.java:3196:24:3196:47 | (...)... : SwappedByteBuf | Test.java:3197:10:3197:11 | in : SwappedByteBuf | provenance | | +| Test.java:3196:40:3196:47 | source(...) : Object | Test.java:3196:24:3196:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:3197:10:3197:11 | in : SwappedByteBuf | Test.java:3197:10:3197:23 | writeInt(...) : SwappedByteBuf | provenance | MaD:74 | +| Test.java:3197:10:3197:23 | writeInt(...) : SwappedByteBuf | Test.java:3198:9:3198:11 | out | provenance | | +| Test.java:3203:26:3203:51 | (...)... : CompositeByteBuf | Test.java:3204:10:3204:11 | in : CompositeByteBuf | provenance | | +| Test.java:3203:44:3203:51 | source(...) : Object | Test.java:3203:26:3203:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:3204:10:3204:11 | in : CompositeByteBuf | Test.java:3204:10:3204:23 | writeInt(...) : CompositeByteBuf | provenance | MaD:74 | +| Test.java:3204:10:3204:23 | writeInt(...) : CompositeByteBuf | Test.java:3205:9:3205:11 | out | provenance | | +| Test.java:3210:25:3210:49 | (...)... : AbstractByteBuf | Test.java:3211:10:3211:11 | in : AbstractByteBuf | provenance | | +| Test.java:3210:42:3210:49 | source(...) : Object | Test.java:3210:25:3210:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:3211:10:3211:11 | in : AbstractByteBuf | Test.java:3211:10:3211:25 | writeIntLE(...) : AbstractByteBuf | provenance | MaD:75 | +| Test.java:3211:10:3211:25 | writeIntLE(...) : AbstractByteBuf | Test.java:3212:9:3212:11 | out | provenance | | +| Test.java:3217:17:3217:33 | (...)... : ByteBuf | Test.java:3218:10:3218:11 | in : ByteBuf | provenance | | +| Test.java:3217:26:3217:33 | source(...) : Object | Test.java:3217:17:3217:33 | (...)... : ByteBuf | provenance | | +| Test.java:3218:10:3218:11 | in : ByteBuf | Test.java:3218:10:3218:25 | writeIntLE(...) : ByteBuf | provenance | MaD:75 | +| Test.java:3218:10:3218:25 | writeIntLE(...) : ByteBuf | Test.java:3219:9:3219:11 | out | provenance | | +| Test.java:3224:24:3224:47 | (...)... : SwappedByteBuf | Test.java:3225:10:3225:11 | in : SwappedByteBuf | provenance | | +| Test.java:3224:40:3224:47 | source(...) : Object | Test.java:3224:24:3224:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:3225:10:3225:11 | in : SwappedByteBuf | Test.java:3225:10:3225:25 | writeIntLE(...) : SwappedByteBuf | provenance | MaD:75 | +| Test.java:3225:10:3225:25 | writeIntLE(...) : SwappedByteBuf | Test.java:3226:9:3226:11 | out | provenance | | +| Test.java:3231:25:3231:49 | (...)... : AbstractByteBuf | Test.java:3232:10:3232:11 | in : AbstractByteBuf | provenance | | +| Test.java:3231:42:3231:49 | source(...) : Object | Test.java:3231:25:3231:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:3232:10:3232:11 | in : AbstractByteBuf | Test.java:3232:10:3232:25 | writeLong(...) : AbstractByteBuf | provenance | MaD:76 | +| Test.java:3232:10:3232:25 | writeLong(...) : AbstractByteBuf | Test.java:3233:9:3233:11 | out | provenance | | +| Test.java:3238:17:3238:33 | (...)... : ByteBuf | Test.java:3239:10:3239:11 | in : ByteBuf | provenance | | +| Test.java:3238:26:3238:33 | source(...) : Object | Test.java:3238:17:3238:33 | (...)... : ByteBuf | provenance | | +| Test.java:3239:10:3239:11 | in : ByteBuf | Test.java:3239:10:3239:25 | writeLong(...) : ByteBuf | provenance | MaD:76 | +| Test.java:3239:10:3239:25 | writeLong(...) : ByteBuf | Test.java:3240:9:3240:11 | out | provenance | | +| Test.java:3245:24:3245:47 | (...)... : SwappedByteBuf | Test.java:3246:10:3246:11 | in : SwappedByteBuf | provenance | | +| Test.java:3245:40:3245:47 | source(...) : Object | Test.java:3245:24:3245:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:3246:10:3246:11 | in : SwappedByteBuf | Test.java:3246:10:3246:25 | writeLong(...) : SwappedByteBuf | provenance | MaD:76 | +| Test.java:3246:10:3246:25 | writeLong(...) : SwappedByteBuf | Test.java:3247:9:3247:11 | out | provenance | | +| Test.java:3252:26:3252:51 | (...)... : CompositeByteBuf | Test.java:3253:10:3253:11 | in : CompositeByteBuf | provenance | | +| Test.java:3252:44:3252:51 | source(...) : Object | Test.java:3252:26:3252:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:3253:10:3253:11 | in : CompositeByteBuf | Test.java:3253:10:3253:25 | writeLong(...) : CompositeByteBuf | provenance | MaD:76 | +| Test.java:3253:10:3253:25 | writeLong(...) : CompositeByteBuf | Test.java:3254:9:3254:11 | out | provenance | | +| Test.java:3259:25:3259:49 | (...)... : AbstractByteBuf | Test.java:3260:10:3260:11 | in : AbstractByteBuf | provenance | | +| Test.java:3259:42:3259:49 | source(...) : Object | Test.java:3259:25:3259:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:3260:10:3260:11 | in : AbstractByteBuf | Test.java:3260:10:3260:27 | writeLongLE(...) : AbstractByteBuf | provenance | MaD:77 | +| Test.java:3260:10:3260:27 | writeLongLE(...) : AbstractByteBuf | Test.java:3261:9:3261:11 | out | provenance | | +| Test.java:3266:17:3266:33 | (...)... : ByteBuf | Test.java:3267:10:3267:11 | in : ByteBuf | provenance | | +| Test.java:3266:26:3266:33 | source(...) : Object | Test.java:3266:17:3266:33 | (...)... : ByteBuf | provenance | | +| Test.java:3267:10:3267:11 | in : ByteBuf | Test.java:3267:10:3267:27 | writeLongLE(...) : ByteBuf | provenance | MaD:77 | +| Test.java:3267:10:3267:27 | writeLongLE(...) : ByteBuf | Test.java:3268:9:3268:11 | out | provenance | | +| Test.java:3273:24:3273:47 | (...)... : SwappedByteBuf | Test.java:3274:10:3274:11 | in : SwappedByteBuf | provenance | | +| Test.java:3273:40:3273:47 | source(...) : Object | Test.java:3273:24:3273:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:3274:10:3274:11 | in : SwappedByteBuf | Test.java:3274:10:3274:27 | writeLongLE(...) : SwappedByteBuf | provenance | MaD:77 | +| Test.java:3274:10:3274:27 | writeLongLE(...) : SwappedByteBuf | Test.java:3275:9:3275:11 | out | provenance | | +| Test.java:3280:25:3280:49 | (...)... : AbstractByteBuf | Test.java:3281:10:3281:11 | in : AbstractByteBuf | provenance | | +| Test.java:3280:42:3280:49 | source(...) : Object | Test.java:3280:25:3280:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:3281:10:3281:11 | in : AbstractByteBuf | Test.java:3281:10:3281:26 | writeMedium(...) : AbstractByteBuf | provenance | MaD:78 | +| Test.java:3281:10:3281:26 | writeMedium(...) : AbstractByteBuf | Test.java:3282:9:3282:11 | out | provenance | | +| Test.java:3287:17:3287:33 | (...)... : ByteBuf | Test.java:3288:10:3288:11 | in : ByteBuf | provenance | | +| Test.java:3287:26:3287:33 | source(...) : Object | Test.java:3287:17:3287:33 | (...)... : ByteBuf | provenance | | +| Test.java:3288:10:3288:11 | in : ByteBuf | Test.java:3288:10:3288:26 | writeMedium(...) : ByteBuf | provenance | MaD:78 | +| Test.java:3288:10:3288:26 | writeMedium(...) : ByteBuf | Test.java:3289:9:3289:11 | out | provenance | | +| Test.java:3294:24:3294:47 | (...)... : SwappedByteBuf | Test.java:3295:10:3295:11 | in : SwappedByteBuf | provenance | | +| Test.java:3294:40:3294:47 | source(...) : Object | Test.java:3294:24:3294:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:3295:10:3295:11 | in : SwappedByteBuf | Test.java:3295:10:3295:26 | writeMedium(...) : SwappedByteBuf | provenance | MaD:78 | +| Test.java:3295:10:3295:26 | writeMedium(...) : SwappedByteBuf | Test.java:3296:9:3296:11 | out | provenance | | +| Test.java:3301:26:3301:51 | (...)... : CompositeByteBuf | Test.java:3302:10:3302:11 | in : CompositeByteBuf | provenance | | +| Test.java:3301:44:3301:51 | source(...) : Object | Test.java:3301:26:3301:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:3302:10:3302:11 | in : CompositeByteBuf | Test.java:3302:10:3302:26 | writeMedium(...) : CompositeByteBuf | provenance | MaD:78 | +| Test.java:3302:10:3302:26 | writeMedium(...) : CompositeByteBuf | Test.java:3303:9:3303:11 | out | provenance | | +| Test.java:3308:25:3308:49 | (...)... : AbstractByteBuf | Test.java:3309:10:3309:11 | in : AbstractByteBuf | provenance | | +| Test.java:3308:42:3308:49 | source(...) : Object | Test.java:3308:25:3308:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:3309:10:3309:11 | in : AbstractByteBuf | Test.java:3309:10:3309:28 | writeMediumLE(...) : AbstractByteBuf | provenance | MaD:79 | +| Test.java:3309:10:3309:28 | writeMediumLE(...) : AbstractByteBuf | Test.java:3310:9:3310:11 | out | provenance | | +| Test.java:3315:17:3315:33 | (...)... : ByteBuf | Test.java:3316:10:3316:11 | in : ByteBuf | provenance | | +| Test.java:3315:26:3315:33 | source(...) : Object | Test.java:3315:17:3315:33 | (...)... : ByteBuf | provenance | | +| Test.java:3316:10:3316:11 | in : ByteBuf | Test.java:3316:10:3316:28 | writeMediumLE(...) : ByteBuf | provenance | MaD:79 | +| Test.java:3316:10:3316:28 | writeMediumLE(...) : ByteBuf | Test.java:3317:9:3317:11 | out | provenance | | +| Test.java:3322:24:3322:47 | (...)... : SwappedByteBuf | Test.java:3323:10:3323:11 | in : SwappedByteBuf | provenance | | +| Test.java:3322:40:3322:47 | source(...) : Object | Test.java:3322:24:3322:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:3323:10:3323:11 | in : SwappedByteBuf | Test.java:3323:10:3323:28 | writeMediumLE(...) : SwappedByteBuf | provenance | MaD:79 | +| Test.java:3323:10:3323:28 | writeMediumLE(...) : SwappedByteBuf | Test.java:3324:9:3324:11 | out | provenance | | +| Test.java:3329:25:3329:49 | (...)... : AbstractByteBuf | Test.java:3330:10:3330:11 | in : AbstractByteBuf | provenance | | +| Test.java:3329:42:3329:49 | source(...) : Object | Test.java:3329:25:3329:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:3330:10:3330:11 | in : AbstractByteBuf | Test.java:3330:10:3330:25 | writeShort(...) : AbstractByteBuf | provenance | MaD:80 | +| Test.java:3330:10:3330:25 | writeShort(...) : AbstractByteBuf | Test.java:3331:9:3331:11 | out | provenance | | +| Test.java:3336:17:3336:33 | (...)... : ByteBuf | Test.java:3337:10:3337:11 | in : ByteBuf | provenance | | +| Test.java:3336:26:3336:33 | source(...) : Object | Test.java:3336:17:3336:33 | (...)... : ByteBuf | provenance | | +| Test.java:3337:10:3337:11 | in : ByteBuf | Test.java:3337:10:3337:25 | writeShort(...) : ByteBuf | provenance | MaD:80 | +| Test.java:3337:10:3337:25 | writeShort(...) : ByteBuf | Test.java:3338:9:3338:11 | out | provenance | | +| Test.java:3343:24:3343:47 | (...)... : SwappedByteBuf | Test.java:3344:10:3344:11 | in : SwappedByteBuf | provenance | | +| Test.java:3343:40:3343:47 | source(...) : Object | Test.java:3343:24:3343:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:3344:10:3344:11 | in : SwappedByteBuf | Test.java:3344:10:3344:25 | writeShort(...) : SwappedByteBuf | provenance | MaD:80 | +| Test.java:3344:10:3344:25 | writeShort(...) : SwappedByteBuf | Test.java:3345:9:3345:11 | out | provenance | | +| Test.java:3350:26:3350:51 | (...)... : CompositeByteBuf | Test.java:3351:10:3351:11 | in : CompositeByteBuf | provenance | | +| Test.java:3350:44:3350:51 | source(...) : Object | Test.java:3350:26:3350:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:3351:10:3351:11 | in : CompositeByteBuf | Test.java:3351:10:3351:25 | writeShort(...) : CompositeByteBuf | provenance | MaD:80 | +| Test.java:3351:10:3351:25 | writeShort(...) : CompositeByteBuf | Test.java:3352:9:3352:11 | out | provenance | | +| Test.java:3357:25:3357:49 | (...)... : AbstractByteBuf | Test.java:3358:10:3358:11 | in : AbstractByteBuf | provenance | | +| Test.java:3357:42:3357:49 | source(...) : Object | Test.java:3357:25:3357:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:3358:10:3358:11 | in : AbstractByteBuf | Test.java:3358:10:3358:27 | writeShortLE(...) : AbstractByteBuf | provenance | MaD:81 | +| Test.java:3358:10:3358:27 | writeShortLE(...) : AbstractByteBuf | Test.java:3359:9:3359:11 | out | provenance | | +| Test.java:3364:17:3364:33 | (...)... : ByteBuf | Test.java:3365:10:3365:11 | in : ByteBuf | provenance | | +| Test.java:3364:26:3364:33 | source(...) : Object | Test.java:3364:17:3364:33 | (...)... : ByteBuf | provenance | | +| Test.java:3365:10:3365:11 | in : ByteBuf | Test.java:3365:10:3365:27 | writeShortLE(...) : ByteBuf | provenance | MaD:81 | +| Test.java:3365:10:3365:27 | writeShortLE(...) : ByteBuf | Test.java:3366:9:3366:11 | out | provenance | | +| Test.java:3371:24:3371:47 | (...)... : SwappedByteBuf | Test.java:3372:10:3372:11 | in : SwappedByteBuf | provenance | | +| Test.java:3371:40:3371:47 | source(...) : Object | Test.java:3371:24:3371:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:3372:10:3372:11 | in : SwappedByteBuf | Test.java:3372:10:3372:27 | writeShortLE(...) : SwappedByteBuf | provenance | MaD:81 | +| Test.java:3372:10:3372:27 | writeShortLE(...) : SwappedByteBuf | Test.java:3373:9:3373:11 | out | provenance | | +| Test.java:3378:25:3378:49 | (...)... : AbstractByteBuf | Test.java:3379:10:3379:11 | in : AbstractByteBuf | provenance | | +| Test.java:3378:42:3378:49 | source(...) : Object | Test.java:3378:25:3378:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:3379:10:3379:11 | in : AbstractByteBuf | Test.java:3379:10:3379:24 | writeZero(...) : AbstractByteBuf | provenance | MaD:82 | +| Test.java:3379:10:3379:24 | writeZero(...) : AbstractByteBuf | Test.java:3380:9:3380:11 | out | provenance | | +| Test.java:3385:17:3385:33 | (...)... : ByteBuf | Test.java:3386:10:3386:11 | in : ByteBuf | provenance | | +| Test.java:3385:26:3385:33 | source(...) : Object | Test.java:3385:17:3385:33 | (...)... : ByteBuf | provenance | | +| Test.java:3386:10:3386:11 | in : ByteBuf | Test.java:3386:10:3386:24 | writeZero(...) : ByteBuf | provenance | MaD:82 | +| Test.java:3386:10:3386:24 | writeZero(...) : ByteBuf | Test.java:3387:9:3387:11 | out | provenance | | +| Test.java:3392:24:3392:47 | (...)... : SwappedByteBuf | Test.java:3393:10:3393:11 | in : SwappedByteBuf | provenance | | +| Test.java:3392:40:3392:47 | source(...) : Object | Test.java:3392:24:3392:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:3393:10:3393:11 | in : SwappedByteBuf | Test.java:3393:10:3393:24 | writeZero(...) : SwappedByteBuf | provenance | MaD:82 | +| Test.java:3393:10:3393:24 | writeZero(...) : SwappedByteBuf | Test.java:3394:9:3394:11 | out | provenance | | +| Test.java:3399:26:3399:51 | (...)... : CompositeByteBuf | Test.java:3400:10:3400:11 | in : CompositeByteBuf | provenance | | +| Test.java:3399:44:3399:51 | source(...) : Object | Test.java:3399:26:3399:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:3400:10:3400:11 | in : CompositeByteBuf | Test.java:3400:10:3400:24 | writeZero(...) : CompositeByteBuf | provenance | MaD:82 | +| Test.java:3400:10:3400:24 | writeZero(...) : CompositeByteBuf | Test.java:3401:9:3401:11 | out | provenance | | +| Test.java:3406:25:3406:49 | (...)... : AbstractByteBuf | Test.java:3407:10:3407:11 | in : AbstractByteBuf | provenance | | +| Test.java:3406:42:3406:49 | source(...) : Object | Test.java:3406:25:3406:49 | (...)... : AbstractByteBuf | provenance | | +| Test.java:3407:10:3407:11 | in : AbstractByteBuf | Test.java:3407:10:3407:26 | writerIndex(...) : AbstractByteBuf | provenance | MaD:83 | +| Test.java:3407:10:3407:26 | writerIndex(...) : AbstractByteBuf | Test.java:3408:9:3408:11 | out | provenance | | +| Test.java:3413:17:3413:33 | (...)... : ByteBuf | Test.java:3414:10:3414:11 | in : ByteBuf | provenance | | +| Test.java:3413:26:3413:33 | source(...) : Object | Test.java:3413:17:3413:33 | (...)... : ByteBuf | provenance | | +| Test.java:3414:10:3414:11 | in : ByteBuf | Test.java:3414:10:3414:26 | writerIndex(...) : ByteBuf | provenance | MaD:83 | +| Test.java:3414:10:3414:26 | writerIndex(...) : ByteBuf | Test.java:3415:9:3415:11 | out | provenance | | +| Test.java:3420:24:3420:47 | (...)... : SwappedByteBuf | Test.java:3421:10:3421:11 | in : SwappedByteBuf | provenance | | +| Test.java:3420:40:3420:47 | source(...) : Object | Test.java:3420:24:3420:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:3421:10:3421:11 | in : SwappedByteBuf | Test.java:3421:10:3421:26 | writerIndex(...) : SwappedByteBuf | provenance | MaD:83 | +| Test.java:3421:10:3421:26 | writerIndex(...) : SwappedByteBuf | Test.java:3422:9:3422:11 | out | provenance | | +| Test.java:3427:26:3427:51 | (...)... : CompositeByteBuf | Test.java:3428:10:3428:11 | in : CompositeByteBuf | provenance | | +| Test.java:3427:44:3427:51 | source(...) : Object | Test.java:3427:26:3427:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:3428:10:3428:11 | in : CompositeByteBuf | Test.java:3428:10:3428:26 | writerIndex(...) : CompositeByteBuf | provenance | MaD:83 | +| Test.java:3428:10:3428:26 | writerIndex(...) : CompositeByteBuf | Test.java:3429:9:3429:11 | out | provenance | | +| Test.java:3434:17:3434:33 | (...)... : ByteBuf | Test.java:3435:10:3435:11 | in : ByteBuf | provenance | | +| Test.java:3434:26:3434:33 | source(...) : Object | Test.java:3434:17:3434:33 | (...)... : ByteBuf | provenance | | +| Test.java:3435:10:3435:11 | in : ByteBuf | Test.java:3435:10:3435:23 | asByteBuf(...) : ByteBuf | provenance | MaD:1 | +| Test.java:3435:10:3435:23 | asByteBuf(...) : ByteBuf | Test.java:3436:9:3436:11 | out | provenance | | +| Test.java:3441:28:3441:55 | (...)... : ByteBufConvertible | Test.java:3442:10:3442:11 | in : ByteBufConvertible | provenance | | +| Test.java:3441:48:3441:55 | source(...) : Object | Test.java:3441:28:3441:55 | (...)... : ByteBufConvertible | provenance | | +| Test.java:3442:10:3442:11 | in : ByteBufConvertible | Test.java:3442:10:3442:23 | asByteBuf(...) : ByteBuf | provenance | MaD:1 | +| Test.java:3442:10:3442:23 | asByteBuf(...) : ByteBuf | Test.java:3443:9:3443:11 | out | provenance | | +| Test.java:3448:23:3448:45 | (...)... : ByteBufHolder | Test.java:3449:10:3449:11 | in : ByteBufHolder | provenance | | +| Test.java:3448:38:3448:45 | source(...) : Object | Test.java:3448:23:3448:45 | (...)... : ByteBufHolder | provenance | | +| Test.java:3449:10:3449:11 | in : ByteBufHolder | Test.java:3449:10:3449:21 | content(...) : ByteBuf | provenance | MaD:85 | +| Test.java:3449:10:3449:21 | content(...) : ByteBuf | Test.java:3450:9:3450:11 | out | provenance | | +| Test.java:3455:30:3455:59 | (...)... : DefaultByteBufHolder | Test.java:3456:10:3456:11 | in : DefaultByteBufHolder | provenance | | +| Test.java:3455:52:3455:59 | source(...) : Object | Test.java:3455:30:3455:59 | (...)... : DefaultByteBufHolder | provenance | | +| Test.java:3456:10:3456:11 | in : DefaultByteBufHolder | Test.java:3456:10:3456:21 | content(...) : ByteBuf | provenance | MaD:85 | +| Test.java:3456:10:3456:21 | content(...) : ByteBuf | Test.java:3457:9:3457:11 | out | provenance | | +| Test.java:3462:19:3462:37 | (...)... : Attribute | Test.java:3463:10:3463:11 | in : Attribute | provenance | | +| Test.java:3462:30:3462:37 | source(...) : Object | Test.java:3462:19:3462:37 | (...)... : Attribute | provenance | | +| Test.java:3463:10:3463:11 | in : Attribute | Test.java:3463:10:3463:18 | copy(...) : Attribute | provenance | MaD:84 | +| Test.java:3463:10:3463:18 | copy(...) : Attribute | Test.java:3464:9:3464:11 | out | provenance | | +| Test.java:3469:30:3469:59 | (...)... : BinaryWebSocketFrame | Test.java:3470:10:3470:11 | in : BinaryWebSocketFrame | provenance | | +| Test.java:3469:52:3469:59 | source(...) : Object | Test.java:3469:30:3469:59 | (...)... : BinaryWebSocketFrame | provenance | | +| Test.java:3470:10:3470:11 | in : BinaryWebSocketFrame | Test.java:3470:10:3470:18 | copy(...) : BinaryWebSocketFrame | provenance | MaD:84 | +| Test.java:3470:10:3470:18 | copy(...) : BinaryWebSocketFrame | Test.java:3471:9:3471:11 | out | provenance | | +| Test.java:3476:23:3476:45 | (...)... : ByteBufHolder | Test.java:3477:10:3477:11 | in : ByteBufHolder | provenance | | +| Test.java:3476:38:3476:45 | source(...) : Object | Test.java:3476:23:3476:45 | (...)... : ByteBufHolder | provenance | | +| Test.java:3477:10:3477:11 | in : ByteBufHolder | Test.java:3477:10:3477:18 | copy(...) : ByteBufHolder | provenance | MaD:84 | +| Test.java:3477:10:3477:18 | copy(...) : ByteBufHolder | Test.java:3478:9:3478:11 | out | provenance | | +| Test.java:3483:30:3483:59 | (...)... : DefaultByteBufHolder | Test.java:3484:10:3484:11 | in : DefaultByteBufHolder | provenance | | +| Test.java:3483:52:3483:59 | source(...) : Object | Test.java:3483:30:3483:59 | (...)... : DefaultByteBufHolder | provenance | | +| Test.java:3484:10:3484:11 | in : DefaultByteBufHolder | Test.java:3484:10:3484:18 | copy(...) : ByteBufHolder | provenance | MaD:84 | +| Test.java:3484:10:3484:18 | copy(...) : ByteBufHolder | Test.java:3485:9:3485:11 | out | provenance | | +| Test.java:3490:29:3490:57 | (...)... : CloseWebSocketFrame | Test.java:3491:10:3491:11 | in : CloseWebSocketFrame | provenance | | +| Test.java:3490:50:3490:57 | source(...) : Object | Test.java:3490:29:3490:57 | (...)... : CloseWebSocketFrame | provenance | | +| Test.java:3491:10:3491:11 | in : CloseWebSocketFrame | Test.java:3491:10:3491:18 | copy(...) : CloseWebSocketFrame | provenance | MaD:84 | +| Test.java:3491:10:3491:18 | copy(...) : CloseWebSocketFrame | Test.java:3492:9:3492:11 | out | provenance | | +| Test.java:3497:36:3497:71 | (...)... : ContinuationWebSocketFrame | Test.java:3498:10:3498:11 | in : ContinuationWebSocketFrame | provenance | | +| Test.java:3497:64:3497:71 | source(...) : Object | Test.java:3497:36:3497:71 | (...)... : ContinuationWebSocketFrame | provenance | | +| Test.java:3498:10:3498:11 | in : ContinuationWebSocketFrame | Test.java:3498:10:3498:18 | copy(...) : ContinuationWebSocketFrame | provenance | MaD:84 | +| Test.java:3498:10:3498:18 | copy(...) : ContinuationWebSocketFrame | Test.java:3499:9:3499:11 | out | provenance | | +| Test.java:3504:20:3504:39 | (...)... : FileUpload | Test.java:3505:10:3505:11 | in : FileUpload | provenance | | +| Test.java:3504:32:3504:39 | source(...) : Object | Test.java:3504:20:3504:39 | (...)... : FileUpload | provenance | | +| Test.java:3505:10:3505:11 | in : FileUpload | Test.java:3505:10:3505:18 | copy(...) : FileUpload | provenance | MaD:84 | +| Test.java:3505:10:3505:18 | copy(...) : FileUpload | Test.java:3506:9:3506:11 | out | provenance | | +| Test.java:3511:25:3511:49 | (...)... : FullHttpMessage | Test.java:3512:10:3512:11 | in : FullHttpMessage | provenance | | +| Test.java:3511:42:3511:49 | source(...) : Object | Test.java:3511:25:3511:49 | (...)... : FullHttpMessage | provenance | | +| Test.java:3512:10:3512:11 | in : FullHttpMessage | Test.java:3512:10:3512:18 | copy(...) : FullHttpMessage | provenance | MaD:84 | +| Test.java:3512:10:3512:18 | copy(...) : FullHttpMessage | Test.java:3513:9:3513:11 | out | provenance | | +| Test.java:3518:25:3518:49 | (...)... : FullHttpRequest | Test.java:3519:10:3519:11 | in : FullHttpRequest | provenance | | +| Test.java:3518:42:3518:49 | source(...) : Object | Test.java:3518:25:3518:49 | (...)... : FullHttpRequest | provenance | | +| Test.java:3519:10:3519:11 | in : FullHttpRequest | Test.java:3519:10:3519:18 | copy(...) : FullHttpRequest | provenance | MaD:84 | +| Test.java:3519:10:3519:18 | copy(...) : FullHttpRequest | Test.java:3520:9:3520:11 | out | provenance | | +| Test.java:3525:26:3525:51 | (...)... : FullHttpResponse | Test.java:3526:10:3526:11 | in : FullHttpResponse | provenance | | +| Test.java:3525:44:3525:51 | source(...) : Object | Test.java:3525:26:3525:51 | (...)... : FullHttpResponse | provenance | | +| Test.java:3526:10:3526:11 | in : FullHttpResponse | Test.java:3526:10:3526:18 | copy(...) : FullHttpResponse | provenance | MaD:84 | +| Test.java:3526:10:3526:18 | copy(...) : FullHttpResponse | Test.java:3527:9:3527:11 | out | provenance | | +| Test.java:3532:21:3532:41 | (...)... : HttpContent | Test.java:3533:10:3533:11 | in : HttpContent | provenance | | +| Test.java:3532:34:3532:41 | source(...) : Object | Test.java:3532:21:3532:41 | (...)... : HttpContent | provenance | | +| Test.java:3533:10:3533:11 | in : HttpContent | Test.java:3533:10:3533:18 | copy(...) : HttpContent | provenance | MaD:84 | +| Test.java:3533:10:3533:18 | copy(...) : HttpContent | Test.java:3534:9:3534:11 | out | provenance | | +| Test.java:3539:18:3539:35 | (...)... : HttpData | Test.java:3540:10:3540:11 | in : HttpData | provenance | | +| Test.java:3539:28:3539:35 | source(...) : Object | Test.java:3539:18:3539:35 | (...)... : HttpData | provenance | | +| Test.java:3540:10:3540:11 | in : HttpData | Test.java:3540:10:3540:18 | copy(...) : HttpData | provenance | MaD:84 | +| Test.java:3540:10:3540:18 | copy(...) : HttpData | Test.java:3541:9:3541:11 | out | provenance | | +| Test.java:3546:25:3546:49 | (...)... : LastHttpContent | Test.java:3547:10:3547:11 | in : LastHttpContent | provenance | | +| Test.java:3546:42:3546:49 | source(...) : Object | Test.java:3546:25:3546:49 | (...)... : LastHttpContent | provenance | | +| Test.java:3547:10:3547:11 | in : LastHttpContent | Test.java:3547:10:3547:18 | copy(...) : LastHttpContent | provenance | MaD:84 | +| Test.java:3547:10:3547:18 | copy(...) : LastHttpContent | Test.java:3548:9:3548:11 | out | provenance | | +| Test.java:3553:28:3553:55 | (...)... : PingWebSocketFrame | Test.java:3554:10:3554:11 | in : PingWebSocketFrame | provenance | | +| Test.java:3553:48:3553:55 | source(...) : Object | Test.java:3553:28:3553:55 | (...)... : PingWebSocketFrame | provenance | | +| Test.java:3554:10:3554:11 | in : PingWebSocketFrame | Test.java:3554:10:3554:18 | copy(...) : PingWebSocketFrame | provenance | MaD:84 | +| Test.java:3554:10:3554:18 | copy(...) : PingWebSocketFrame | Test.java:3555:9:3555:11 | out | provenance | | +| Test.java:3560:28:3560:55 | (...)... : PongWebSocketFrame | Test.java:3561:10:3561:11 | in : PongWebSocketFrame | provenance | | +| Test.java:3560:48:3560:55 | source(...) : Object | Test.java:3560:28:3560:55 | (...)... : PongWebSocketFrame | provenance | | +| Test.java:3561:10:3561:11 | in : PongWebSocketFrame | Test.java:3561:10:3561:18 | copy(...) : PongWebSocketFrame | provenance | MaD:84 | +| Test.java:3561:10:3561:18 | copy(...) : PongWebSocketFrame | Test.java:3562:9:3562:11 | out | provenance | | +| Test.java:3567:28:3567:55 | (...)... : TextWebSocketFrame | Test.java:3568:10:3568:11 | in : TextWebSocketFrame | provenance | | +| Test.java:3567:48:3567:55 | source(...) : Object | Test.java:3567:28:3567:55 | (...)... : TextWebSocketFrame | provenance | | +| Test.java:3568:10:3568:11 | in : TextWebSocketFrame | Test.java:3568:10:3568:18 | copy(...) : TextWebSocketFrame | provenance | MaD:84 | +| Test.java:3568:10:3568:18 | copy(...) : TextWebSocketFrame | Test.java:3569:9:3569:11 | out | provenance | | +| Test.java:3574:24:3574:47 | (...)... : WebSocketFrame | Test.java:3575:10:3575:11 | in : WebSocketFrame | provenance | | +| Test.java:3574:40:3574:47 | source(...) : Object | Test.java:3574:24:3574:47 | (...)... : WebSocketFrame | provenance | | +| Test.java:3575:10:3575:11 | in : WebSocketFrame | Test.java:3575:10:3575:18 | copy(...) : WebSocketFrame | provenance | MaD:84 | +| Test.java:3575:10:3575:18 | copy(...) : WebSocketFrame | Test.java:3576:9:3576:11 | out | provenance | | +| Test.java:3581:19:3581:37 | (...)... : Attribute | Test.java:3582:10:3582:11 | in : Attribute | provenance | | +| Test.java:3581:30:3581:37 | source(...) : Object | Test.java:3581:19:3581:37 | (...)... : Attribute | provenance | | +| Test.java:3582:10:3582:11 | in : Attribute | Test.java:3582:10:3582:23 | duplicate(...) : Attribute | provenance | MaD:86 | +| Test.java:3582:10:3582:23 | duplicate(...) : Attribute | Test.java:3583:9:3583:11 | out | provenance | | +| Test.java:3588:30:3588:59 | (...)... : BinaryWebSocketFrame | Test.java:3589:10:3589:11 | in : BinaryWebSocketFrame | provenance | | +| Test.java:3588:52:3588:59 | source(...) : Object | Test.java:3588:30:3588:59 | (...)... : BinaryWebSocketFrame | provenance | | +| Test.java:3589:10:3589:11 | in : BinaryWebSocketFrame | Test.java:3589:10:3589:23 | duplicate(...) : BinaryWebSocketFrame | provenance | MaD:86 | +| Test.java:3589:10:3589:23 | duplicate(...) : BinaryWebSocketFrame | Test.java:3590:9:3590:11 | out | provenance | | +| Test.java:3595:23:3595:45 | (...)... : ByteBufHolder | Test.java:3596:10:3596:11 | in : ByteBufHolder | provenance | | +| Test.java:3595:38:3595:45 | source(...) : Object | Test.java:3595:23:3595:45 | (...)... : ByteBufHolder | provenance | | +| Test.java:3596:10:3596:11 | in : ByteBufHolder | Test.java:3596:10:3596:23 | duplicate(...) : ByteBufHolder | provenance | MaD:86 | +| Test.java:3596:10:3596:23 | duplicate(...) : ByteBufHolder | Test.java:3597:9:3597:11 | out | provenance | | +| Test.java:3602:30:3602:59 | (...)... : DefaultByteBufHolder | Test.java:3603:10:3603:11 | in : DefaultByteBufHolder | provenance | | +| Test.java:3602:52:3602:59 | source(...) : Object | Test.java:3602:30:3602:59 | (...)... : DefaultByteBufHolder | provenance | | +| Test.java:3603:10:3603:11 | in : DefaultByteBufHolder | Test.java:3603:10:3603:23 | duplicate(...) : ByteBufHolder | provenance | MaD:86 | +| Test.java:3603:10:3603:23 | duplicate(...) : ByteBufHolder | Test.java:3604:9:3604:11 | out | provenance | | +| Test.java:3609:29:3609:57 | (...)... : CloseWebSocketFrame | Test.java:3610:10:3610:11 | in : CloseWebSocketFrame | provenance | | +| Test.java:3609:50:3609:57 | source(...) : Object | Test.java:3609:29:3609:57 | (...)... : CloseWebSocketFrame | provenance | | +| Test.java:3610:10:3610:11 | in : CloseWebSocketFrame | Test.java:3610:10:3610:23 | duplicate(...) : CloseWebSocketFrame | provenance | MaD:86 | +| Test.java:3610:10:3610:23 | duplicate(...) : CloseWebSocketFrame | Test.java:3611:9:3611:11 | out | provenance | | +| Test.java:3616:36:3616:71 | (...)... : ContinuationWebSocketFrame | Test.java:3617:10:3617:11 | in : ContinuationWebSocketFrame | provenance | | +| Test.java:3616:64:3616:71 | source(...) : Object | Test.java:3616:36:3616:71 | (...)... : ContinuationWebSocketFrame | provenance | | +| Test.java:3617:10:3617:11 | in : ContinuationWebSocketFrame | Test.java:3617:10:3617:23 | duplicate(...) : ContinuationWebSocketFrame | provenance | MaD:86 | +| Test.java:3617:10:3617:23 | duplicate(...) : ContinuationWebSocketFrame | Test.java:3618:9:3618:11 | out | provenance | | +| Test.java:3623:20:3623:39 | (...)... : FileUpload | Test.java:3624:10:3624:11 | in : FileUpload | provenance | | +| Test.java:3623:32:3623:39 | source(...) : Object | Test.java:3623:20:3623:39 | (...)... : FileUpload | provenance | | +| Test.java:3624:10:3624:11 | in : FileUpload | Test.java:3624:10:3624:23 | duplicate(...) : FileUpload | provenance | MaD:86 | +| Test.java:3624:10:3624:23 | duplicate(...) : FileUpload | Test.java:3625:9:3625:11 | out | provenance | | +| Test.java:3630:25:3630:49 | (...)... : FullHttpMessage | Test.java:3631:10:3631:11 | in : FullHttpMessage | provenance | | +| Test.java:3630:42:3630:49 | source(...) : Object | Test.java:3630:25:3630:49 | (...)... : FullHttpMessage | provenance | | +| Test.java:3631:10:3631:11 | in : FullHttpMessage | Test.java:3631:10:3631:23 | duplicate(...) : FullHttpMessage | provenance | MaD:86 | +| Test.java:3631:10:3631:23 | duplicate(...) : FullHttpMessage | Test.java:3632:9:3632:11 | out | provenance | | +| Test.java:3637:25:3637:49 | (...)... : FullHttpRequest | Test.java:3638:10:3638:11 | in : FullHttpRequest | provenance | | +| Test.java:3637:42:3637:49 | source(...) : Object | Test.java:3637:25:3637:49 | (...)... : FullHttpRequest | provenance | | +| Test.java:3638:10:3638:11 | in : FullHttpRequest | Test.java:3638:10:3638:23 | duplicate(...) : FullHttpRequest | provenance | MaD:86 | +| Test.java:3638:10:3638:23 | duplicate(...) : FullHttpRequest | Test.java:3639:9:3639:11 | out | provenance | | +| Test.java:3644:26:3644:51 | (...)... : FullHttpResponse | Test.java:3645:10:3645:11 | in : FullHttpResponse | provenance | | +| Test.java:3644:44:3644:51 | source(...) : Object | Test.java:3644:26:3644:51 | (...)... : FullHttpResponse | provenance | | +| Test.java:3645:10:3645:11 | in : FullHttpResponse | Test.java:3645:10:3645:23 | duplicate(...) : FullHttpResponse | provenance | MaD:86 | +| Test.java:3645:10:3645:23 | duplicate(...) : FullHttpResponse | Test.java:3646:9:3646:11 | out | provenance | | +| Test.java:3651:21:3651:41 | (...)... : HttpContent | Test.java:3652:10:3652:11 | in : HttpContent | provenance | | +| Test.java:3651:34:3651:41 | source(...) : Object | Test.java:3651:21:3651:41 | (...)... : HttpContent | provenance | | +| Test.java:3652:10:3652:11 | in : HttpContent | Test.java:3652:10:3652:23 | duplicate(...) : HttpContent | provenance | MaD:86 | +| Test.java:3652:10:3652:23 | duplicate(...) : HttpContent | Test.java:3653:9:3653:11 | out | provenance | | +| Test.java:3658:18:3658:35 | (...)... : HttpData | Test.java:3659:10:3659:11 | in : HttpData | provenance | | +| Test.java:3658:28:3658:35 | source(...) : Object | Test.java:3658:18:3658:35 | (...)... : HttpData | provenance | | +| Test.java:3659:10:3659:11 | in : HttpData | Test.java:3659:10:3659:23 | duplicate(...) : HttpData | provenance | MaD:86 | +| Test.java:3659:10:3659:23 | duplicate(...) : HttpData | Test.java:3660:9:3660:11 | out | provenance | | +| Test.java:3665:25:3665:49 | (...)... : LastHttpContent | Test.java:3666:10:3666:11 | in : LastHttpContent | provenance | | +| Test.java:3665:42:3665:49 | source(...) : Object | Test.java:3665:25:3665:49 | (...)... : LastHttpContent | provenance | | +| Test.java:3666:10:3666:11 | in : LastHttpContent | Test.java:3666:10:3666:23 | duplicate(...) : LastHttpContent | provenance | MaD:86 | +| Test.java:3666:10:3666:23 | duplicate(...) : LastHttpContent | Test.java:3667:9:3667:11 | out | provenance | | +| Test.java:3672:28:3672:55 | (...)... : PingWebSocketFrame | Test.java:3673:10:3673:11 | in : PingWebSocketFrame | provenance | | +| Test.java:3672:48:3672:55 | source(...) : Object | Test.java:3672:28:3672:55 | (...)... : PingWebSocketFrame | provenance | | +| Test.java:3673:10:3673:11 | in : PingWebSocketFrame | Test.java:3673:10:3673:23 | duplicate(...) : PingWebSocketFrame | provenance | MaD:86 | +| Test.java:3673:10:3673:23 | duplicate(...) : PingWebSocketFrame | Test.java:3674:9:3674:11 | out | provenance | | +| Test.java:3679:28:3679:55 | (...)... : PongWebSocketFrame | Test.java:3680:10:3680:11 | in : PongWebSocketFrame | provenance | | +| Test.java:3679:48:3679:55 | source(...) : Object | Test.java:3679:28:3679:55 | (...)... : PongWebSocketFrame | provenance | | +| Test.java:3680:10:3680:11 | in : PongWebSocketFrame | Test.java:3680:10:3680:23 | duplicate(...) : PongWebSocketFrame | provenance | MaD:86 | +| Test.java:3680:10:3680:23 | duplicate(...) : PongWebSocketFrame | Test.java:3681:9:3681:11 | out | provenance | | +| Test.java:3686:28:3686:55 | (...)... : TextWebSocketFrame | Test.java:3687:10:3687:11 | in : TextWebSocketFrame | provenance | | +| Test.java:3686:48:3686:55 | source(...) : Object | Test.java:3686:28:3686:55 | (...)... : TextWebSocketFrame | provenance | | +| Test.java:3687:10:3687:11 | in : TextWebSocketFrame | Test.java:3687:10:3687:23 | duplicate(...) : TextWebSocketFrame | provenance | MaD:86 | +| Test.java:3687:10:3687:23 | duplicate(...) : TextWebSocketFrame | Test.java:3688:9:3688:11 | out | provenance | | +| Test.java:3693:24:3693:47 | (...)... : WebSocketFrame | Test.java:3694:10:3694:11 | in : WebSocketFrame | provenance | | +| Test.java:3693:40:3693:47 | source(...) : Object | Test.java:3693:24:3693:47 | (...)... : WebSocketFrame | provenance | | +| Test.java:3694:10:3694:11 | in : WebSocketFrame | Test.java:3694:10:3694:23 | duplicate(...) : WebSocketFrame | provenance | MaD:86 | +| Test.java:3694:10:3694:23 | duplicate(...) : WebSocketFrame | Test.java:3695:9:3695:11 | out | provenance | | +| Test.java:3700:17:3700:33 | (...)... : ByteBuf | Test.java:3702:27:3702:28 | in : ByteBuf | provenance | | +| Test.java:3700:26:3700:33 | source(...) : Object | Test.java:3700:17:3700:33 | (...)... : ByteBuf | provenance | | +| Test.java:3702:10:3702:29 | replace(...) : Attribute | Test.java:3703:9:3703:11 | out | provenance | | +| Test.java:3702:27:3702:28 | in : ByteBuf | Test.java:3702:10:3702:29 | replace(...) : Attribute | provenance | MaD:88 | +| Test.java:3708:17:3708:33 | (...)... : ByteBuf | Test.java:3710:27:3710:28 | in : ByteBuf | provenance | | +| Test.java:3708:26:3708:33 | source(...) : Object | Test.java:3708:17:3708:33 | (...)... : ByteBuf | provenance | | +| Test.java:3710:10:3710:29 | replace(...) : BinaryWebSocketFrame | Test.java:3711:9:3711:11 | out | provenance | | +| Test.java:3710:27:3710:28 | in : ByteBuf | Test.java:3710:10:3710:29 | replace(...) : BinaryWebSocketFrame | provenance | MaD:88 | +| Test.java:3716:17:3716:33 | (...)... : ByteBuf | Test.java:3718:27:3718:28 | in : ByteBuf | provenance | | +| Test.java:3716:26:3716:33 | source(...) : Object | Test.java:3716:17:3716:33 | (...)... : ByteBuf | provenance | | +| Test.java:3718:10:3718:29 | replace(...) : ByteBufHolder | Test.java:3719:9:3719:11 | out | provenance | | +| Test.java:3718:27:3718:28 | in : ByteBuf | Test.java:3718:10:3718:29 | replace(...) : ByteBufHolder | provenance | MaD:88 | +| Test.java:3724:17:3724:33 | (...)... : ByteBuf | Test.java:3726:27:3726:28 | in : ByteBuf | provenance | | +| Test.java:3724:26:3724:33 | source(...) : Object | Test.java:3724:17:3724:33 | (...)... : ByteBuf | provenance | | +| Test.java:3726:10:3726:29 | replace(...) : ByteBufHolder | Test.java:3727:9:3727:11 | out | provenance | | +| Test.java:3726:27:3726:28 | in : ByteBuf | Test.java:3726:10:3726:29 | replace(...) : ByteBufHolder | provenance | MaD:88 | +| Test.java:3732:17:3732:33 | (...)... : ByteBuf | Test.java:3734:27:3734:28 | in : ByteBuf | provenance | | +| Test.java:3732:26:3732:33 | source(...) : Object | Test.java:3732:17:3732:33 | (...)... : ByteBuf | provenance | | +| Test.java:3734:10:3734:29 | replace(...) : CloseWebSocketFrame | Test.java:3735:9:3735:11 | out | provenance | | +| Test.java:3734:27:3734:28 | in : ByteBuf | Test.java:3734:10:3734:29 | replace(...) : CloseWebSocketFrame | provenance | MaD:88 | +| Test.java:3740:17:3740:33 | (...)... : ByteBuf | Test.java:3742:27:3742:28 | in : ByteBuf | provenance | | +| Test.java:3740:26:3740:33 | source(...) : Object | Test.java:3740:17:3740:33 | (...)... : ByteBuf | provenance | | +| Test.java:3742:10:3742:29 | replace(...) : ContinuationWebSocketFrame | Test.java:3743:9:3743:11 | out | provenance | | +| Test.java:3742:27:3742:28 | in : ByteBuf | Test.java:3742:10:3742:29 | replace(...) : ContinuationWebSocketFrame | provenance | MaD:88 | +| Test.java:3748:17:3748:33 | (...)... : ByteBuf | Test.java:3750:27:3750:28 | in : ByteBuf | provenance | | +| Test.java:3748:26:3748:33 | source(...) : Object | Test.java:3748:17:3748:33 | (...)... : ByteBuf | provenance | | +| Test.java:3750:10:3750:29 | replace(...) : FileUpload | Test.java:3751:9:3751:11 | out | provenance | | +| Test.java:3750:27:3750:28 | in : ByteBuf | Test.java:3750:10:3750:29 | replace(...) : FileUpload | provenance | MaD:88 | +| Test.java:3756:17:3756:33 | (...)... : ByteBuf | Test.java:3758:27:3758:28 | in : ByteBuf | provenance | | +| Test.java:3756:26:3756:33 | source(...) : Object | Test.java:3756:17:3756:33 | (...)... : ByteBuf | provenance | | +| Test.java:3758:10:3758:29 | replace(...) : FullHttpMessage | Test.java:3759:9:3759:11 | out | provenance | | +| Test.java:3758:27:3758:28 | in : ByteBuf | Test.java:3758:10:3758:29 | replace(...) : FullHttpMessage | provenance | MaD:88 | +| Test.java:3764:17:3764:33 | (...)... : ByteBuf | Test.java:3766:27:3766:28 | in : ByteBuf | provenance | | +| Test.java:3764:26:3764:33 | source(...) : Object | Test.java:3764:17:3764:33 | (...)... : ByteBuf | provenance | | +| Test.java:3766:10:3766:29 | replace(...) : FullHttpRequest | Test.java:3767:9:3767:11 | out | provenance | | +| Test.java:3766:27:3766:28 | in : ByteBuf | Test.java:3766:10:3766:29 | replace(...) : FullHttpRequest | provenance | MaD:88 | +| Test.java:3772:17:3772:33 | (...)... : ByteBuf | Test.java:3774:27:3774:28 | in : ByteBuf | provenance | | +| Test.java:3772:26:3772:33 | source(...) : Object | Test.java:3772:17:3772:33 | (...)... : ByteBuf | provenance | | +| Test.java:3774:10:3774:29 | replace(...) : FullHttpResponse | Test.java:3775:9:3775:11 | out | provenance | | +| Test.java:3774:27:3774:28 | in : ByteBuf | Test.java:3774:10:3774:29 | replace(...) : FullHttpResponse | provenance | MaD:88 | +| Test.java:3780:17:3780:33 | (...)... : ByteBuf | Test.java:3782:27:3782:28 | in : ByteBuf | provenance | | +| Test.java:3780:26:3780:33 | source(...) : Object | Test.java:3780:17:3780:33 | (...)... : ByteBuf | provenance | | +| Test.java:3782:10:3782:29 | replace(...) : HttpContent | Test.java:3783:9:3783:11 | out | provenance | | +| Test.java:3782:27:3782:28 | in : ByteBuf | Test.java:3782:10:3782:29 | replace(...) : HttpContent | provenance | MaD:88 | +| Test.java:3788:17:3788:33 | (...)... : ByteBuf | Test.java:3790:27:3790:28 | in : ByteBuf | provenance | | +| Test.java:3788:26:3788:33 | source(...) : Object | Test.java:3788:17:3788:33 | (...)... : ByteBuf | provenance | | +| Test.java:3790:10:3790:29 | replace(...) : HttpData | Test.java:3791:9:3791:11 | out | provenance | | +| Test.java:3790:27:3790:28 | in : ByteBuf | Test.java:3790:10:3790:29 | replace(...) : HttpData | provenance | MaD:88 | +| Test.java:3796:17:3796:33 | (...)... : ByteBuf | Test.java:3798:27:3798:28 | in : ByteBuf | provenance | | +| Test.java:3796:26:3796:33 | source(...) : Object | Test.java:3796:17:3796:33 | (...)... : ByteBuf | provenance | | +| Test.java:3798:10:3798:29 | replace(...) : LastHttpContent | Test.java:3799:9:3799:11 | out | provenance | | +| Test.java:3798:27:3798:28 | in : ByteBuf | Test.java:3798:10:3798:29 | replace(...) : LastHttpContent | provenance | MaD:88 | +| Test.java:3804:17:3804:33 | (...)... : ByteBuf | Test.java:3806:27:3806:28 | in : ByteBuf | provenance | | +| Test.java:3804:26:3804:33 | source(...) : Object | Test.java:3804:17:3804:33 | (...)... : ByteBuf | provenance | | +| Test.java:3806:10:3806:29 | replace(...) : PingWebSocketFrame | Test.java:3807:9:3807:11 | out | provenance | | +| Test.java:3806:27:3806:28 | in : ByteBuf | Test.java:3806:10:3806:29 | replace(...) : PingWebSocketFrame | provenance | MaD:88 | +| Test.java:3812:17:3812:33 | (...)... : ByteBuf | Test.java:3814:27:3814:28 | in : ByteBuf | provenance | | +| Test.java:3812:26:3812:33 | source(...) : Object | Test.java:3812:17:3812:33 | (...)... : ByteBuf | provenance | | +| Test.java:3814:10:3814:29 | replace(...) : PongWebSocketFrame | Test.java:3815:9:3815:11 | out | provenance | | +| Test.java:3814:27:3814:28 | in : ByteBuf | Test.java:3814:10:3814:29 | replace(...) : PongWebSocketFrame | provenance | MaD:88 | +| Test.java:3820:17:3820:33 | (...)... : ByteBuf | Test.java:3822:27:3822:28 | in : ByteBuf | provenance | | +| Test.java:3820:26:3820:33 | source(...) : Object | Test.java:3820:17:3820:33 | (...)... : ByteBuf | provenance | | +| Test.java:3822:10:3822:29 | replace(...) : TextWebSocketFrame | Test.java:3823:9:3823:11 | out | provenance | | +| Test.java:3822:27:3822:28 | in : ByteBuf | Test.java:3822:10:3822:29 | replace(...) : TextWebSocketFrame | provenance | MaD:88 | +| Test.java:3828:17:3828:33 | (...)... : ByteBuf | Test.java:3830:27:3830:28 | in : ByteBuf | provenance | | +| Test.java:3828:26:3828:33 | source(...) : Object | Test.java:3828:17:3828:33 | (...)... : ByteBuf | provenance | | +| Test.java:3830:10:3830:29 | replace(...) : WebSocketFrame | Test.java:3831:9:3831:11 | out | provenance | | +| Test.java:3830:27:3830:28 | in : ByteBuf | Test.java:3830:10:3830:29 | replace(...) : WebSocketFrame | provenance | MaD:88 | +| Test.java:3836:19:3836:37 | (...)... : Attribute | Test.java:3837:10:3837:11 | in : Attribute | provenance | | +| Test.java:3836:30:3836:37 | source(...) : Object | Test.java:3836:19:3836:37 | (...)... : Attribute | provenance | | +| Test.java:3837:10:3837:11 | in : Attribute | Test.java:3837:10:3837:31 | retainedDuplicate(...) : Attribute | provenance | MaD:87 | +| Test.java:3837:10:3837:31 | retainedDuplicate(...) : Attribute | Test.java:3838:9:3838:11 | out | provenance | | +| Test.java:3843:30:3843:59 | (...)... : BinaryWebSocketFrame | Test.java:3844:10:3844:11 | in : BinaryWebSocketFrame | provenance | | +| Test.java:3843:52:3843:59 | source(...) : Object | Test.java:3843:30:3843:59 | (...)... : BinaryWebSocketFrame | provenance | | +| Test.java:3844:10:3844:11 | in : BinaryWebSocketFrame | Test.java:3844:10:3844:31 | retainedDuplicate(...) : BinaryWebSocketFrame | provenance | MaD:87 | +| Test.java:3844:10:3844:31 | retainedDuplicate(...) : BinaryWebSocketFrame | Test.java:3845:9:3845:11 | out | provenance | | +| Test.java:3850:23:3850:45 | (...)... : ByteBufHolder | Test.java:3851:10:3851:11 | in : ByteBufHolder | provenance | | +| Test.java:3850:38:3850:45 | source(...) : Object | Test.java:3850:23:3850:45 | (...)... : ByteBufHolder | provenance | | +| Test.java:3851:10:3851:11 | in : ByteBufHolder | Test.java:3851:10:3851:31 | retainedDuplicate(...) : ByteBufHolder | provenance | MaD:87 | +| Test.java:3851:10:3851:31 | retainedDuplicate(...) : ByteBufHolder | Test.java:3852:9:3852:11 | out | provenance | | +| Test.java:3857:30:3857:59 | (...)... : DefaultByteBufHolder | Test.java:3858:10:3858:11 | in : DefaultByteBufHolder | provenance | | +| Test.java:3857:52:3857:59 | source(...) : Object | Test.java:3857:30:3857:59 | (...)... : DefaultByteBufHolder | provenance | | +| Test.java:3858:10:3858:11 | in : DefaultByteBufHolder | Test.java:3858:10:3858:31 | retainedDuplicate(...) : ByteBufHolder | provenance | MaD:87 | +| Test.java:3858:10:3858:31 | retainedDuplicate(...) : ByteBufHolder | Test.java:3859:9:3859:11 | out | provenance | | +| Test.java:3864:29:3864:57 | (...)... : CloseWebSocketFrame | Test.java:3865:10:3865:11 | in : CloseWebSocketFrame | provenance | | +| Test.java:3864:50:3864:57 | source(...) : Object | Test.java:3864:29:3864:57 | (...)... : CloseWebSocketFrame | provenance | | +| Test.java:3865:10:3865:11 | in : CloseWebSocketFrame | Test.java:3865:10:3865:31 | retainedDuplicate(...) : CloseWebSocketFrame | provenance | MaD:87 | +| Test.java:3865:10:3865:31 | retainedDuplicate(...) : CloseWebSocketFrame | Test.java:3866:9:3866:11 | out | provenance | | +| Test.java:3871:36:3871:71 | (...)... : ContinuationWebSocketFrame | Test.java:3872:10:3872:11 | in : ContinuationWebSocketFrame | provenance | | +| Test.java:3871:64:3871:71 | source(...) : Object | Test.java:3871:36:3871:71 | (...)... : ContinuationWebSocketFrame | provenance | | +| Test.java:3872:10:3872:11 | in : ContinuationWebSocketFrame | Test.java:3872:10:3872:31 | retainedDuplicate(...) : ContinuationWebSocketFrame | provenance | MaD:87 | +| Test.java:3872:10:3872:31 | retainedDuplicate(...) : ContinuationWebSocketFrame | Test.java:3873:9:3873:11 | out | provenance | | +| Test.java:3878:20:3878:39 | (...)... : FileUpload | Test.java:3879:10:3879:11 | in : FileUpload | provenance | | +| Test.java:3878:32:3878:39 | source(...) : Object | Test.java:3878:20:3878:39 | (...)... : FileUpload | provenance | | +| Test.java:3879:10:3879:11 | in : FileUpload | Test.java:3879:10:3879:31 | retainedDuplicate(...) : FileUpload | provenance | MaD:87 | +| Test.java:3879:10:3879:31 | retainedDuplicate(...) : FileUpload | Test.java:3880:9:3880:11 | out | provenance | | +| Test.java:3885:25:3885:49 | (...)... : FullHttpMessage | Test.java:3886:10:3886:11 | in : FullHttpMessage | provenance | | +| Test.java:3885:42:3885:49 | source(...) : Object | Test.java:3885:25:3885:49 | (...)... : FullHttpMessage | provenance | | +| Test.java:3886:10:3886:11 | in : FullHttpMessage | Test.java:3886:10:3886:31 | retainedDuplicate(...) : FullHttpMessage | provenance | MaD:87 | +| Test.java:3886:10:3886:31 | retainedDuplicate(...) : FullHttpMessage | Test.java:3887:9:3887:11 | out | provenance | | +| Test.java:3892:25:3892:49 | (...)... : FullHttpRequest | Test.java:3893:10:3893:11 | in : FullHttpRequest | provenance | | +| Test.java:3892:42:3892:49 | source(...) : Object | Test.java:3892:25:3892:49 | (...)... : FullHttpRequest | provenance | | +| Test.java:3893:10:3893:11 | in : FullHttpRequest | Test.java:3893:10:3893:31 | retainedDuplicate(...) : FullHttpRequest | provenance | MaD:87 | +| Test.java:3893:10:3893:31 | retainedDuplicate(...) : FullHttpRequest | Test.java:3894:9:3894:11 | out | provenance | | +| Test.java:3899:26:3899:51 | (...)... : FullHttpResponse | Test.java:3900:10:3900:11 | in : FullHttpResponse | provenance | | +| Test.java:3899:44:3899:51 | source(...) : Object | Test.java:3899:26:3899:51 | (...)... : FullHttpResponse | provenance | | +| Test.java:3900:10:3900:11 | in : FullHttpResponse | Test.java:3900:10:3900:31 | retainedDuplicate(...) : FullHttpResponse | provenance | MaD:87 | +| Test.java:3900:10:3900:31 | retainedDuplicate(...) : FullHttpResponse | Test.java:3901:9:3901:11 | out | provenance | | +| Test.java:3906:21:3906:41 | (...)... : HttpContent | Test.java:3907:10:3907:11 | in : HttpContent | provenance | | +| Test.java:3906:34:3906:41 | source(...) : Object | Test.java:3906:21:3906:41 | (...)... : HttpContent | provenance | | +| Test.java:3907:10:3907:11 | in : HttpContent | Test.java:3907:10:3907:31 | retainedDuplicate(...) : HttpContent | provenance | MaD:87 | +| Test.java:3907:10:3907:31 | retainedDuplicate(...) : HttpContent | Test.java:3908:9:3908:11 | out | provenance | | +| Test.java:3913:18:3913:35 | (...)... : HttpData | Test.java:3914:10:3914:11 | in : HttpData | provenance | | +| Test.java:3913:28:3913:35 | source(...) : Object | Test.java:3913:18:3913:35 | (...)... : HttpData | provenance | | +| Test.java:3914:10:3914:11 | in : HttpData | Test.java:3914:10:3914:31 | retainedDuplicate(...) : HttpData | provenance | MaD:87 | +| Test.java:3914:10:3914:31 | retainedDuplicate(...) : HttpData | Test.java:3915:9:3915:11 | out | provenance | | +| Test.java:3920:25:3920:49 | (...)... : LastHttpContent | Test.java:3921:10:3921:11 | in : LastHttpContent | provenance | | +| Test.java:3920:42:3920:49 | source(...) : Object | Test.java:3920:25:3920:49 | (...)... : LastHttpContent | provenance | | +| Test.java:3921:10:3921:11 | in : LastHttpContent | Test.java:3921:10:3921:31 | retainedDuplicate(...) : LastHttpContent | provenance | MaD:87 | +| Test.java:3921:10:3921:31 | retainedDuplicate(...) : LastHttpContent | Test.java:3922:9:3922:11 | out | provenance | | +| Test.java:3927:28:3927:55 | (...)... : PingWebSocketFrame | Test.java:3928:10:3928:11 | in : PingWebSocketFrame | provenance | | +| Test.java:3927:48:3927:55 | source(...) : Object | Test.java:3927:28:3927:55 | (...)... : PingWebSocketFrame | provenance | | +| Test.java:3928:10:3928:11 | in : PingWebSocketFrame | Test.java:3928:10:3928:31 | retainedDuplicate(...) : PingWebSocketFrame | provenance | MaD:87 | +| Test.java:3928:10:3928:31 | retainedDuplicate(...) : PingWebSocketFrame | Test.java:3929:9:3929:11 | out | provenance | | +| Test.java:3934:28:3934:55 | (...)... : PongWebSocketFrame | Test.java:3935:10:3935:11 | in : PongWebSocketFrame | provenance | | +| Test.java:3934:48:3934:55 | source(...) : Object | Test.java:3934:28:3934:55 | (...)... : PongWebSocketFrame | provenance | | +| Test.java:3935:10:3935:11 | in : PongWebSocketFrame | Test.java:3935:10:3935:31 | retainedDuplicate(...) : PongWebSocketFrame | provenance | MaD:87 | +| Test.java:3935:10:3935:31 | retainedDuplicate(...) : PongWebSocketFrame | Test.java:3936:9:3936:11 | out | provenance | | +| Test.java:3941:28:3941:55 | (...)... : TextWebSocketFrame | Test.java:3942:10:3942:11 | in : TextWebSocketFrame | provenance | | +| Test.java:3941:48:3941:55 | source(...) : Object | Test.java:3941:28:3941:55 | (...)... : TextWebSocketFrame | provenance | | +| Test.java:3942:10:3942:11 | in : TextWebSocketFrame | Test.java:3942:10:3942:31 | retainedDuplicate(...) : TextWebSocketFrame | provenance | MaD:87 | +| Test.java:3942:10:3942:31 | retainedDuplicate(...) : TextWebSocketFrame | Test.java:3943:9:3943:11 | out | provenance | | +| Test.java:3948:24:3948:47 | (...)... : WebSocketFrame | Test.java:3949:10:3949:11 | in : WebSocketFrame | provenance | | +| Test.java:3948:40:3948:47 | source(...) : Object | Test.java:3948:24:3948:47 | (...)... : WebSocketFrame | provenance | | +| Test.java:3949:10:3949:11 | in : WebSocketFrame | Test.java:3949:10:3949:31 | retainedDuplicate(...) : WebSocketFrame | provenance | MaD:87 | +| Test.java:3949:10:3949:31 | retainedDuplicate(...) : WebSocketFrame | Test.java:3950:9:3950:11 | out | provenance | | +| Test.java:3955:17:3955:33 | (...)... : ByteBuf | Test.java:3956:33:3956:34 | in : ByteBuf | provenance | | +| Test.java:3955:26:3955:33 | source(...) : Object | Test.java:3955:17:3955:33 | (...)... : ByteBuf | provenance | | +| Test.java:3956:10:3956:35 | new ByteBufInputStream(...) : ByteBufInputStream | Test.java:3957:9:3957:11 | out | provenance | | +| Test.java:3956:33:3956:34 | in : ByteBuf | Test.java:3956:10:3956:35 | new ByteBufInputStream(...) : ByteBufInputStream | provenance | MaD:205 | +| Test.java:3962:17:3962:33 | (...)... : ByteBuf | Test.java:3963:33:3963:34 | in : ByteBuf | provenance | | +| Test.java:3962:26:3962:33 | source(...) : Object | Test.java:3962:17:3962:33 | (...)... : ByteBuf | provenance | | +| Test.java:3963:10:3963:38 | new ByteBufInputStream(...) : ByteBufInputStream | Test.java:3964:9:3964:11 | out | provenance | | +| Test.java:3963:33:3963:34 | in : ByteBuf | Test.java:3963:10:3963:38 | new ByteBufInputStream(...) : ByteBufInputStream | provenance | MaD:205 | +| Test.java:3969:17:3969:33 | (...)... : ByteBuf | Test.java:3970:33:3970:34 | in : ByteBuf | provenance | | +| Test.java:3969:26:3969:33 | source(...) : Object | Test.java:3969:17:3969:33 | (...)... : ByteBuf | provenance | | +| Test.java:3970:10:3970:45 | new ByteBufInputStream(...) : ByteBufInputStream | Test.java:3971:9:3971:11 | out | provenance | | +| Test.java:3970:33:3970:34 | in : ByteBuf | Test.java:3970:10:3970:45 | new ByteBufInputStream(...) : ByteBufInputStream | provenance | MaD:205 | +| Test.java:3976:17:3976:33 | (...)... : ByteBuf | Test.java:3977:33:3977:34 | in : ByteBuf | provenance | | +| Test.java:3976:26:3976:33 | source(...) : Object | Test.java:3976:17:3976:33 | (...)... : ByteBuf | provenance | | +| Test.java:3977:10:3977:42 | new ByteBufInputStream(...) : ByteBufInputStream | Test.java:3978:9:3978:11 | out | provenance | | +| Test.java:3977:33:3977:34 | in : ByteBuf | Test.java:3977:10:3977:42 | new ByteBufInputStream(...) : ByteBufInputStream | provenance | MaD:205 | +| Test.java:3983:17:3983:33 | (...)... : ByteBuf | Test.java:3984:34:3984:35 | in : ByteBuf | provenance | | +| Test.java:3983:26:3983:33 | source(...) : Object | Test.java:3983:17:3983:33 | (...)... : ByteBuf | provenance | | +| Test.java:3984:10:3984:36 | new ByteBufOutputStream(...) : ByteBufOutputStream | Test.java:3985:9:3985:11 | out | provenance | | +| Test.java:3984:34:3984:35 | in : ByteBuf | Test.java:3984:10:3984:36 | new ByteBufOutputStream(...) : ByteBufOutputStream | provenance | MaD:206 | +| Test.java:3990:29:3990:57 | (...)... : ByteBufOutputStream | Test.java:3991:10:3991:11 | in : ByteBufOutputStream | provenance | | +| Test.java:3990:50:3990:57 | source(...) : Object | Test.java:3990:29:3990:57 | (...)... : ByteBufOutputStream | provenance | | +| Test.java:3991:10:3991:11 | in : ByteBufOutputStream | Test.java:3991:10:3991:20 | buffer(...) : ByteBuf | provenance | MaD:207 | +| Test.java:3991:10:3991:20 | buffer(...) : ByteBuf | Test.java:3992:9:3992:11 | out | provenance | | +| Test.java:3997:21:3997:41 | (...)... : AsciiString | Test.java:3998:21:3998:22 | in : AsciiString | provenance | | +| Test.java:3997:34:3997:41 | source(...) : Object | Test.java:3997:21:3997:41 | (...)... : AsciiString | provenance | | +| Test.java:3998:21:3998:22 | in : AsciiString | Test.java:3998:25:3998:27 | out [post update] : ByteBuf | provenance | MaD:183 | +| Test.java:3998:25:3998:27 | out [post update] : ByteBuf | Test.java:3999:9:3999:11 | out | provenance | | +| Test.java:4004:21:4004:41 | (...)... : AsciiString | Test.java:4005:21:4005:22 | in : AsciiString | provenance | | +| Test.java:4004:34:4004:41 | source(...) : Object | Test.java:4004:21:4004:41 | (...)... : AsciiString | provenance | | +| Test.java:4005:21:4005:22 | in : AsciiString | Test.java:4005:28:4005:30 | out [post update] : ByteBuf | provenance | MaD:184 | +| Test.java:4005:28:4005:30 | out [post update] : ByteBuf | Test.java:4006:9:4006:11 | out | provenance | | +| Test.java:4011:21:4011:41 | (...)... : AsciiString | Test.java:4012:21:4012:22 | in : AsciiString | provenance | | +| Test.java:4011:34:4011:41 | source(...) : Object | Test.java:4011:21:4011:41 | (...)... : AsciiString | provenance | | +| Test.java:4012:21:4012:22 | in : AsciiString | Test.java:4012:28:4012:30 | out [post update] : ByteBuf | provenance | MaD:185 | +| Test.java:4012:28:4012:30 | out [post update] : ByteBuf | Test.java:4013:9:4013:11 | out | provenance | | +| Test.java:4018:22:4018:43 | (...)... : CharSequence | Test.java:4019:36:4019:37 | in : CharSequence | provenance | | +| Test.java:4018:36:4018:43 | source(...) : Object | Test.java:4018:22:4018:43 | (...)... : CharSequence | provenance | | +| Test.java:4019:10:4019:38 | decodeHexDump(...) : byte[] | Test.java:4020:9:4020:11 | out | provenance | | +| Test.java:4019:36:4019:37 | in : CharSequence | Test.java:4019:10:4019:38 | decodeHexDump(...) : byte[] | provenance | MaD:186 | +| Test.java:4025:22:4025:43 | (...)... : CharSequence | Test.java:4026:36:4026:37 | in : CharSequence | provenance | | +| Test.java:4025:36:4025:43 | source(...) : Object | Test.java:4025:22:4025:43 | (...)... : CharSequence | provenance | | +| Test.java:4026:10:4026:44 | decodeHexDump(...) : byte[] | Test.java:4027:9:4027:11 | out | provenance | | +| Test.java:4026:36:4026:37 | in : CharSequence | Test.java:4026:10:4026:44 | decodeHexDump(...) : byte[] | provenance | MaD:187 | +| Test.java:4032:20:4032:39 | (...)... : CharBuffer | Test.java:4033:41:4033:42 | in : CharBuffer | provenance | | +| Test.java:4032:32:4032:39 | source(...) : Object | Test.java:4032:20:4032:39 | (...)... : CharBuffer | provenance | | +| Test.java:4033:10:4033:49 | encodeString(...) : ByteBuf | Test.java:4034:9:4034:11 | out | provenance | | +| Test.java:4033:41:4033:42 | in : CharBuffer | Test.java:4033:10:4033:49 | encodeString(...) : ByteBuf | provenance | MaD:188 | +| Test.java:4039:20:4039:39 | (...)... : CharBuffer | Test.java:4040:41:4040:42 | in : CharBuffer | provenance | | +| Test.java:4039:32:4039:39 | source(...) : Object | Test.java:4039:20:4039:39 | (...)... : CharBuffer | provenance | | +| Test.java:4040:10:4040:52 | encodeString(...) : ByteBuf | Test.java:4041:9:4041:11 | out | provenance | | +| Test.java:4040:41:4040:42 | in : CharBuffer | Test.java:4040:10:4040:52 | encodeString(...) : ByteBuf | provenance | MaD:189 | +| Test.java:4046:17:4046:33 | (...)... : ByteBuf | Test.java:4047:39:4047:40 | in : ByteBuf | provenance | | +| Test.java:4046:26:4046:33 | source(...) : Object | Test.java:4046:17:4046:33 | (...)... : ByteBuf | provenance | | +| Test.java:4047:10:4047:41 | ensureAccessible(...) : ByteBuf | Test.java:4048:9:4048:11 | out | provenance | | +| Test.java:4047:39:4047:40 | in : ByteBuf | Test.java:4047:10:4047:41 | ensureAccessible(...) : ByteBuf | provenance | MaD:190 | +| Test.java:4053:17:4053:33 | (...)... : ByteBuf | Test.java:4054:31:4054:32 | in : ByteBuf | provenance | | +| Test.java:4053:26:4053:33 | source(...) : Object | Test.java:4053:17:4053:33 | (...)... : ByteBuf | provenance | | +| Test.java:4054:10:4054:33 | getBytes(...) : byte[] | Test.java:4055:9:4055:11 | out | provenance | | +| Test.java:4054:31:4054:32 | in : ByteBuf | Test.java:4054:10:4054:33 | getBytes(...) : byte[] | provenance | MaD:191 | +| Test.java:4060:17:4060:33 | (...)... : ByteBuf | Test.java:4061:31:4061:32 | in : ByteBuf | provenance | | +| Test.java:4060:26:4060:33 | source(...) : Object | Test.java:4060:17:4060:33 | (...)... : ByteBuf | provenance | | +| Test.java:4061:10:4061:39 | getBytes(...) : byte[] | Test.java:4062:9:4062:11 | out | provenance | | +| Test.java:4061:31:4061:32 | in : ByteBuf | Test.java:4061:10:4061:39 | getBytes(...) : byte[] | provenance | MaD:192 | +| Test.java:4067:17:4067:33 | (...)... : ByteBuf | Test.java:4068:31:4068:32 | in : ByteBuf | provenance | | +| Test.java:4067:26:4067:33 | source(...) : Object | Test.java:4067:17:4067:33 | (...)... : ByteBuf | provenance | | +| Test.java:4068:10:4068:46 | getBytes(...) : byte[] | Test.java:4069:9:4069:11 | out | provenance | | +| Test.java:4068:31:4068:32 | in : ByteBuf | Test.java:4068:10:4068:46 | getBytes(...) : byte[] | provenance | MaD:193 | +| Test.java:4074:17:4074:33 | (...)... : ByteBuf | Test.java:4075:38:4075:39 | in : ByteBuf | provenance | | +| Test.java:4074:26:4074:33 | source(...) : Object | Test.java:4074:17:4074:33 | (...)... : ByteBuf | provenance | | +| Test.java:4075:10:4075:43 | readBytes(...) : ByteBuf | Test.java:4076:9:4076:11 | out | provenance | | +| Test.java:4075:38:4075:39 | in : ByteBuf | Test.java:4075:10:4075:43 | readBytes(...) : ByteBuf | provenance | MaD:194 | +| Test.java:4081:22:4081:43 | (...)... : CharSequence | Test.java:4082:41:4082:42 | in : CharSequence | provenance | | +| Test.java:4081:36:4081:43 | source(...) : Object | Test.java:4081:22:4081:43 | (...)... : CharSequence | provenance | | +| Test.java:4082:36:4082:38 | out [post update] : ByteBuf | Test.java:4083:9:4083:11 | out | provenance | | +| Test.java:4082:41:4082:42 | in : CharSequence | Test.java:4082:36:4082:38 | out [post update] : ByteBuf | provenance | MaD:195 | +| Test.java:4088:22:4088:43 | (...)... : CharSequence | Test.java:4089:41:4089:42 | in : CharSequence | provenance | | +| Test.java:4088:36:4088:43 | source(...) : Object | Test.java:4088:22:4088:43 | (...)... : CharSequence | provenance | | +| Test.java:4089:36:4089:38 | out [post update] : ByteBuf | Test.java:4090:9:4090:11 | out | provenance | | +| Test.java:4089:41:4089:42 | in : CharSequence | Test.java:4089:36:4089:38 | out [post update] : ByteBuf | provenance | MaD:196 | +| Test.java:4095:17:4095:33 | (...)... : ByteBuf | Test.java:4096:33:4096:34 | in : ByteBuf | provenance | | +| Test.java:4095:26:4095:33 | source(...) : Object | Test.java:4095:17:4095:33 | (...)... : ByteBuf | provenance | | +| Test.java:4096:10:4096:41 | setShortBE(...) : ByteBuf | Test.java:4097:9:4097:11 | out | provenance | | +| Test.java:4096:33:4096:34 | in : ByteBuf | Test.java:4096:10:4096:41 | setShortBE(...) : ByteBuf | provenance | MaD:197 | +| Test.java:4102:22:4102:43 | (...)... : CharSequence | Test.java:4103:32:4103:33 | in : CharSequence | provenance | | +| Test.java:4102:36:4102:43 | source(...) : Object | Test.java:4102:22:4102:43 | (...)... : CharSequence | provenance | | +| Test.java:4103:27:4103:29 | out [post update] : ByteBuf | Test.java:4104:9:4104:11 | out | provenance | | +| Test.java:4103:32:4103:33 | in : CharSequence | Test.java:4103:27:4103:29 | out [post update] : ByteBuf | provenance | MaD:198 | +| Test.java:4109:22:4109:43 | (...)... : CharSequence | Test.java:4110:57:4110:58 | in : CharSequence | provenance | | +| Test.java:4109:36:4109:43 | source(...) : Object | Test.java:4109:22:4109:43 | (...)... : CharSequence | provenance | | +| Test.java:4110:10:4110:59 | writeAscii(...) : ByteBuf | Test.java:4111:9:4111:11 | out | provenance | | +| Test.java:4110:57:4110:58 | in : CharSequence | Test.java:4110:10:4110:59 | writeAscii(...) : ByteBuf | provenance | MaD:199 | +| Test.java:4116:17:4116:33 | (...)... : ByteBuf | Test.java:4117:36:4117:37 | in : ByteBuf | provenance | | +| Test.java:4116:26:4116:33 | source(...) : Object | Test.java:4116:17:4116:33 | (...)... : ByteBuf | provenance | | +| Test.java:4117:10:4117:41 | writeMediumBE(...) : ByteBuf | Test.java:4118:9:4118:11 | out | provenance | | +| Test.java:4117:36:4117:37 | in : ByteBuf | Test.java:4117:10:4117:41 | writeMediumBE(...) : ByteBuf | provenance | MaD:201 | +| Test.java:4123:17:4123:33 | (...)... : ByteBuf | Test.java:4124:35:4124:36 | in : ByteBuf | provenance | | +| Test.java:4123:26:4123:33 | source(...) : Object | Test.java:4123:17:4123:33 | (...)... : ByteBuf | provenance | | +| Test.java:4124:10:4124:40 | writeShortBE(...) : ByteBuf | Test.java:4125:9:4125:11 | out | provenance | | +| Test.java:4124:35:4124:36 | in : ByteBuf | Test.java:4124:10:4124:40 | writeShortBE(...) : ByteBuf | provenance | MaD:200 | +| Test.java:4130:22:4130:43 | (...)... : CharSequence | Test.java:4131:31:4131:32 | in : CharSequence | provenance | | +| Test.java:4130:36:4130:43 | source(...) : Object | Test.java:4130:22:4130:43 | (...)... : CharSequence | provenance | | +| Test.java:4131:26:4131:28 | out [post update] : ByteBuf | Test.java:4132:9:4132:11 | out | provenance | | +| Test.java:4131:31:4131:32 | in : CharSequence | Test.java:4131:26:4131:28 | out [post update] : ByteBuf | provenance | MaD:202 | +| Test.java:4137:22:4137:43 | (...)... : CharSequence | Test.java:4138:31:4138:32 | in : CharSequence | provenance | | +| Test.java:4137:36:4137:43 | source(...) : Object | Test.java:4137:22:4137:43 | (...)... : CharSequence | provenance | | +| Test.java:4138:26:4138:28 | out [post update] : ByteBuf | Test.java:4139:9:4139:11 | out | provenance | | +| Test.java:4138:31:4138:32 | in : CharSequence | Test.java:4138:26:4138:28 | out [post update] : ByteBuf | provenance | MaD:203 | +| Test.java:4144:22:4144:43 | (...)... : CharSequence | Test.java:4145:56:4145:57 | in : CharSequence | provenance | | +| Test.java:4144:36:4144:43 | source(...) : Object | Test.java:4144:22:4144:43 | (...)... : CharSequence | provenance | | +| Test.java:4145:10:4145:58 | writeUtf8(...) : ByteBuf | Test.java:4146:9:4146:11 | out | provenance | | +| Test.java:4145:56:4145:57 | in : CharSequence | Test.java:4145:10:4145:58 | writeUtf8(...) : ByteBuf | provenance | MaD:204 | +| Test.java:4151:19:4151:61 | (...)... : ByteBuf[] [[]] : ByteBuf | Test.java:4152:65:4152:66 | in : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4151:30:4151:61 | {...} : ByteBuf[] [[]] : ByteBuf | Test.java:4151:19:4151:61 | (...)... : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4151:44:4151:60 | (...)... : ByteBuf | Test.java:4151:30:4151:61 | {...} : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4151:53:4151:60 | source(...) : Object | Test.java:4151:44:4151:60 | (...)... : ByteBuf | provenance | | +| Test.java:4152:10:4152:67 | new CompositeByteBuf(...) : CompositeByteBuf | Test.java:4153:9:4153:11 | out | provenance | | +| Test.java:4152:65:4152:66 | in : ByteBuf[] [[]] : ByteBuf | Test.java:4152:10:4152:67 | new CompositeByteBuf(...) : CompositeByteBuf | provenance | MaD:137 | +| Test.java:4158:18:4158:44 | (...)... : List [] : Object | Test.java:4159:65:4159:66 | in : List [] : Object | provenance | | +| Test.java:4158:28:4158:44 | of(...) : List [] : Object | Test.java:4158:18:4158:44 | (...)... : List [] : Object | provenance | | +| Test.java:4158:36:4158:43 | source(...) : Object | Test.java:4158:28:4158:44 | of(...) : List [] : Object | provenance | MaD:494 | +| Test.java:4159:10:4159:67 | new CompositeByteBuf(...) : CompositeByteBuf | Test.java:4160:9:4160:11 | out | provenance | | +| Test.java:4159:65:4159:66 | in : List [] : Object | Test.java:4159:10:4159:67 | new CompositeByteBuf(...) : CompositeByteBuf | provenance | MaD:138 | +| Test.java:4165:17:4165:33 | (...)... : ByteBuf | Test.java:4166:21:4166:22 | in : ByteBuf | provenance | | +| Test.java:4165:26:4165:33 | source(...) : Object | Test.java:4165:17:4165:33 | (...)... : ByteBuf | provenance | | +| Test.java:4166:4:4166:6 | out [post update] : CompositeByteBuf | Test.java:4167:9:4167:11 | out | provenance | | +| Test.java:4166:21:4166:22 | in : ByteBuf | Test.java:4166:4:4166:6 | out [post update] : CompositeByteBuf | provenance | MaD:139 | +| Test.java:4172:17:4172:33 | (...)... : ByteBuf | Test.java:4173:28:4173:29 | in : ByteBuf | provenance | | +| Test.java:4172:26:4172:33 | source(...) : Object | Test.java:4172:17:4172:33 | (...)... : ByteBuf | provenance | | +| Test.java:4173:4:4173:6 | out [post update] : CompositeByteBuf | Test.java:4174:9:4174:11 | out | provenance | | +| Test.java:4173:28:4173:29 | in : ByteBuf | Test.java:4173:4:4173:6 | out [post update] : CompositeByteBuf | provenance | MaD:141 | +| Test.java:4179:17:4179:33 | (...)... : ByteBuf | Test.java:4180:31:4180:32 | in : ByteBuf | provenance | | +| Test.java:4179:26:4179:33 | source(...) : Object | Test.java:4179:17:4179:33 | (...)... : ByteBuf | provenance | | +| Test.java:4180:4:4180:6 | out [post update] : CompositeByteBuf | Test.java:4181:9:4181:11 | out | provenance | | +| Test.java:4180:31:4180:32 | in : ByteBuf | Test.java:4180:4:4180:6 | out [post update] : CompositeByteBuf | provenance | MaD:142 | +| Test.java:4186:17:4186:33 | (...)... : ByteBuf | Test.java:4187:24:4187:25 | in : ByteBuf | provenance | | +| Test.java:4186:26:4186:33 | source(...) : Object | Test.java:4186:17:4186:33 | (...)... : ByteBuf | provenance | | +| Test.java:4187:4:4187:6 | out [post update] : CompositeByteBuf | Test.java:4188:9:4188:11 | out | provenance | | +| Test.java:4187:24:4187:25 | in : ByteBuf | Test.java:4187:4:4187:6 | out [post update] : CompositeByteBuf | provenance | MaD:140 | +| Test.java:4193:26:4193:51 | (...)... : CompositeByteBuf | Test.java:4194:10:4194:11 | in : CompositeByteBuf | provenance | | +| Test.java:4193:44:4193:51 | source(...) : Object | Test.java:4193:26:4193:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:4194:10:4194:11 | in : CompositeByteBuf | Test.java:4194:10:4194:42 | addComponent(...) : CompositeByteBuf | provenance | MaD:150 | +| Test.java:4194:10:4194:42 | addComponent(...) : CompositeByteBuf | Test.java:4195:9:4195:11 | out | provenance | | +| Test.java:4200:26:4200:51 | (...)... : CompositeByteBuf | Test.java:4201:10:4201:11 | in : CompositeByteBuf | provenance | | +| Test.java:4200:44:4200:51 | source(...) : Object | Test.java:4200:26:4200:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:4201:10:4201:11 | in : CompositeByteBuf | Test.java:4201:10:4201:46 | addComponent(...) : CompositeByteBuf | provenance | MaD:150 | +| Test.java:4201:10:4201:46 | addComponent(...) : CompositeByteBuf | Test.java:4202:9:4202:11 | out | provenance | | +| Test.java:4207:26:4207:51 | (...)... : CompositeByteBuf | Test.java:4208:10:4208:11 | in : CompositeByteBuf | provenance | | +| Test.java:4207:44:4207:51 | source(...) : Object | Test.java:4207:26:4207:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:4208:10:4208:11 | in : CompositeByteBuf | Test.java:4208:10:4208:40 | addComponent(...) : CompositeByteBuf | provenance | MaD:150 | +| Test.java:4208:10:4208:40 | addComponent(...) : CompositeByteBuf | Test.java:4209:9:4209:11 | out | provenance | | +| Test.java:4214:26:4214:51 | (...)... : CompositeByteBuf | Test.java:4215:10:4215:11 | in : CompositeByteBuf | provenance | | +| Test.java:4214:44:4214:51 | source(...) : Object | Test.java:4214:26:4214:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:4215:10:4215:11 | in : CompositeByteBuf | Test.java:4215:10:4215:30 | addComponent(...) : CompositeByteBuf | provenance | MaD:150 | +| Test.java:4215:10:4215:30 | addComponent(...) : CompositeByteBuf | Test.java:4216:9:4216:11 | out | provenance | | +| Test.java:4221:19:4221:61 | (...)... : ByteBuf[] [[]] : ByteBuf | Test.java:4222:22:4222:23 | in : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4221:30:4221:61 | {...} : ByteBuf[] [[]] : ByteBuf | Test.java:4221:19:4221:61 | (...)... : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4221:44:4221:60 | (...)... : ByteBuf | Test.java:4221:30:4221:61 | {...} : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4221:53:4221:60 | source(...) : Object | Test.java:4221:44:4221:60 | (...)... : ByteBuf | provenance | | +| Test.java:4222:4:4222:6 | out [post update] : CompositeByteBuf | Test.java:4223:9:4223:11 | out | provenance | | +| Test.java:4222:22:4222:23 | in : ByteBuf[] [[]] : ByteBuf | Test.java:4222:4:4222:6 | out [post update] : CompositeByteBuf | provenance | MaD:143 | +| Test.java:4228:18:4228:44 | (...)... : List [] : Object | Test.java:4229:22:4229:23 | in : List [] : Object | provenance | | +| Test.java:4228:28:4228:44 | of(...) : List [] : Object | Test.java:4228:18:4228:44 | (...)... : List [] : Object | provenance | | +| Test.java:4228:36:4228:43 | source(...) : Object | Test.java:4228:28:4228:44 | of(...) : List [] : Object | provenance | MaD:494 | +| Test.java:4229:4:4229:6 | out [post update] : CompositeByteBuf | Test.java:4230:9:4230:11 | out | provenance | | +| Test.java:4229:22:4229:23 | in : List [] : Object | Test.java:4229:4:4229:6 | out [post update] : CompositeByteBuf | provenance | MaD:146 | +| Test.java:4235:19:4235:61 | (...)... : ByteBuf[] [[]] : ByteBuf | Test.java:4236:29:4236:30 | in : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4235:30:4235:61 | {...} : ByteBuf[] [[]] : ByteBuf | Test.java:4235:19:4235:61 | (...)... : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4235:44:4235:60 | (...)... : ByteBuf | Test.java:4235:30:4235:61 | {...} : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4235:53:4235:60 | source(...) : Object | Test.java:4235:44:4235:60 | (...)... : ByteBuf | provenance | | +| Test.java:4236:4:4236:6 | out [post update] : CompositeByteBuf | Test.java:4237:9:4237:11 | out | provenance | | +| Test.java:4236:29:4236:30 | in : ByteBuf[] [[]] : ByteBuf | Test.java:4236:4:4236:6 | out [post update] : CompositeByteBuf | provenance | MaD:145 | +| Test.java:4242:18:4242:44 | (...)... : List [] : Object | Test.java:4243:29:4243:30 | in : List [] : Object | provenance | | +| Test.java:4242:28:4242:44 | of(...) : List [] : Object | Test.java:4242:18:4242:44 | (...)... : List [] : Object | provenance | | +| Test.java:4242:36:4242:43 | source(...) : Object | Test.java:4242:28:4242:44 | of(...) : List [] : Object | provenance | MaD:494 | +| Test.java:4243:4:4243:6 | out [post update] : CompositeByteBuf | Test.java:4244:9:4244:11 | out | provenance | | +| Test.java:4243:29:4243:30 | in : List [] : Object | Test.java:4243:4:4243:6 | out [post update] : CompositeByteBuf | provenance | MaD:148 | +| Test.java:4249:19:4249:61 | (...)... : ByteBuf[] [[]] : ByteBuf | Test.java:4250:25:4250:26 | in : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4249:30:4249:61 | {...} : ByteBuf[] [[]] : ByteBuf | Test.java:4249:19:4249:61 | (...)... : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4249:44:4249:60 | (...)... : ByteBuf | Test.java:4249:30:4249:61 | {...} : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4249:53:4249:60 | source(...) : Object | Test.java:4249:44:4249:60 | (...)... : ByteBuf | provenance | | +| Test.java:4250:4:4250:6 | out [post update] : CompositeByteBuf | Test.java:4251:9:4251:11 | out | provenance | | +| Test.java:4250:25:4250:26 | in : ByteBuf[] [[]] : ByteBuf | Test.java:4250:4:4250:6 | out [post update] : CompositeByteBuf | provenance | MaD:144 | +| Test.java:4256:18:4256:44 | (...)... : List [] : Object | Test.java:4257:25:4257:26 | in : List [] : Object | provenance | | +| Test.java:4256:28:4256:44 | of(...) : List [] : Object | Test.java:4256:18:4256:44 | (...)... : List [] : Object | provenance | | +| Test.java:4256:36:4256:43 | source(...) : Object | Test.java:4256:28:4256:44 | of(...) : List [] : Object | provenance | MaD:494 | +| Test.java:4257:4:4257:6 | out [post update] : CompositeByteBuf | Test.java:4258:9:4258:11 | out | provenance | | +| Test.java:4257:25:4257:26 | in : List [] : Object | Test.java:4257:4:4257:6 | out [post update] : CompositeByteBuf | provenance | MaD:147 | +| Test.java:4263:26:4263:51 | (...)... : CompositeByteBuf | Test.java:4264:10:4264:11 | in : CompositeByteBuf | provenance | | +| Test.java:4263:44:4263:51 | source(...) : Object | Test.java:4263:26:4263:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:4264:10:4264:11 | in : CompositeByteBuf | Test.java:4264:10:4264:42 | addComponents(...) : CompositeByteBuf | provenance | MaD:151 | +| Test.java:4264:10:4264:42 | addComponents(...) : CompositeByteBuf | Test.java:4265:9:4265:11 | out | provenance | | +| Test.java:4270:26:4270:51 | (...)... : CompositeByteBuf | Test.java:4271:10:4271:11 | in : CompositeByteBuf | provenance | | +| Test.java:4270:44:4270:51 | source(...) : Object | Test.java:4270:26:4270:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:4271:10:4271:11 | in : CompositeByteBuf | Test.java:4271:10:4271:41 | addComponents(...) : CompositeByteBuf | provenance | MaD:151 | +| Test.java:4271:10:4271:41 | addComponents(...) : CompositeByteBuf | Test.java:4272:9:4272:11 | out | provenance | | +| Test.java:4277:26:4277:51 | (...)... : CompositeByteBuf | Test.java:4278:10:4278:11 | in : CompositeByteBuf | provenance | | +| Test.java:4277:44:4277:51 | source(...) : Object | Test.java:4277:26:4277:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:4278:10:4278:11 | in : CompositeByteBuf | Test.java:4278:10:4278:45 | addComponents(...) : CompositeByteBuf | provenance | MaD:151 | +| Test.java:4278:10:4278:45 | addComponents(...) : CompositeByteBuf | Test.java:4279:9:4279:11 | out | provenance | | +| Test.java:4284:26:4284:51 | (...)... : CompositeByteBuf | Test.java:4285:10:4285:11 | in : CompositeByteBuf | provenance | | +| Test.java:4284:44:4284:51 | source(...) : Object | Test.java:4284:26:4284:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:4285:10:4285:11 | in : CompositeByteBuf | Test.java:4285:10:4285:44 | addComponents(...) : CompositeByteBuf | provenance | MaD:151 | +| Test.java:4285:10:4285:44 | addComponents(...) : CompositeByteBuf | Test.java:4286:9:4286:11 | out | provenance | | +| Test.java:4291:26:4291:51 | (...)... : CompositeByteBuf | Test.java:4292:10:4292:11 | in : CompositeByteBuf | provenance | | +| Test.java:4291:44:4291:51 | source(...) : Object | Test.java:4291:26:4291:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:4292:10:4292:11 | in : CompositeByteBuf | Test.java:4292:10:4292:49 | addComponents(...) : CompositeByteBuf | provenance | MaD:151 | +| Test.java:4292:10:4292:49 | addComponents(...) : CompositeByteBuf | Test.java:4293:9:4293:11 | out | provenance | | +| Test.java:4298:26:4298:51 | (...)... : CompositeByteBuf | Test.java:4299:10:4299:11 | in : CompositeByteBuf | provenance | | +| Test.java:4298:44:4298:51 | source(...) : Object | Test.java:4298:26:4298:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:4299:10:4299:11 | in : CompositeByteBuf | Test.java:4299:10:4299:48 | addComponents(...) : CompositeByteBuf | provenance | MaD:151 | +| Test.java:4299:10:4299:48 | addComponents(...) : CompositeByteBuf | Test.java:4300:9:4300:11 | out | provenance | | +| Test.java:4305:17:4305:33 | (...)... : ByteBuf | Test.java:4306:38:4306:39 | in : ByteBuf | provenance | | +| Test.java:4305:26:4305:33 | source(...) : Object | Test.java:4305:17:4305:33 | (...)... : ByteBuf | provenance | | +| Test.java:4306:4:4306:6 | out [post update] : CompositeByteBuf | Test.java:4307:9:4307:11 | out | provenance | | +| Test.java:4306:38:4306:39 | in : ByteBuf | Test.java:4306:4:4306:6 | out [post update] : CompositeByteBuf | provenance | MaD:149 | +| Test.java:4312:26:4312:51 | (...)... : CompositeByteBuf | Test.java:4313:10:4313:11 | in : CompositeByteBuf | provenance | | +| Test.java:4312:44:4312:51 | source(...) : Object | Test.java:4312:26:4312:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:4313:10:4313:11 | in : CompositeByteBuf | Test.java:4313:10:4313:47 | addFlattenedComponents(...) : CompositeByteBuf | provenance | MaD:152 | +| Test.java:4313:10:4313:47 | addFlattenedComponents(...) : CompositeByteBuf | Test.java:4314:9:4314:11 | out | provenance | | +| Test.java:4319:26:4319:51 | (...)... : CompositeByteBuf | Test.java:4320:10:4320:11 | in : CompositeByteBuf | provenance | | +| Test.java:4319:44:4319:51 | source(...) : Object | Test.java:4319:26:4319:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:4320:10:4320:11 | in : CompositeByteBuf | Test.java:4320:10:4320:24 | component(...) : ByteBuf | provenance | MaD:153 | +| Test.java:4320:10:4320:24 | component(...) : ByteBuf | Test.java:4321:9:4321:11 | out | provenance | | +| Test.java:4326:26:4326:51 | (...)... : CompositeByteBuf | Test.java:4327:10:4327:11 | in : CompositeByteBuf | provenance | | +| Test.java:4326:44:4326:51 | source(...) : Object | Test.java:4326:26:4326:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:4327:10:4327:11 | in : CompositeByteBuf | Test.java:4327:10:4327:32 | componentAtOffset(...) : ByteBuf | provenance | MaD:154 | +| Test.java:4327:10:4327:32 | componentAtOffset(...) : ByteBuf | Test.java:4328:9:4328:11 | out | provenance | | +| Test.java:4333:26:4333:51 | (...)... : CompositeByteBuf | Test.java:4334:10:4334:11 | in : CompositeByteBuf | provenance | | +| Test.java:4333:44:4333:51 | source(...) : Object | Test.java:4333:26:4333:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:4334:10:4334:11 | in : CompositeByteBuf | Test.java:4334:10:4334:25 | consolidate(...) : CompositeByteBuf | provenance | MaD:155 | +| Test.java:4334:10:4334:25 | consolidate(...) : CompositeByteBuf | Test.java:4335:9:4335:11 | out | provenance | | +| Test.java:4340:26:4340:51 | (...)... : CompositeByteBuf | Test.java:4341:10:4341:11 | in : CompositeByteBuf | provenance | | +| Test.java:4340:44:4340:51 | source(...) : Object | Test.java:4340:26:4340:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:4341:10:4341:11 | in : CompositeByteBuf | Test.java:4341:10:4341:29 | consolidate(...) : CompositeByteBuf | provenance | MaD:156 | +| Test.java:4341:10:4341:29 | consolidate(...) : CompositeByteBuf | Test.java:4342:9:4342:11 | out | provenance | | +| Test.java:4347:26:4347:51 | (...)... : CompositeByteBuf | Test.java:4348:10:4348:11 | in : CompositeByteBuf | provenance | | +| Test.java:4347:44:4347:51 | source(...) : Object | Test.java:4347:26:4347:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:4348:10:4348:11 | in : CompositeByteBuf | Test.java:4348:10:4348:27 | decompose(...) : List [] : Object | provenance | MaD:157 | +| Test.java:4348:10:4348:27 | decompose(...) : List [] : Object | Test.java:4349:20:4349:22 | out : List [] : Object | provenance | | +| Test.java:4349:20:4349:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | provenance | | +| Test.java:4349:20:4349:22 | out : List [] : Object | Test.java:4349:9:4349:23 | getElement(...) | provenance | MaD:492 | +| Test.java:4354:17:4354:33 | (...)... : ByteBuf | Test.java:4355:32:4355:33 | in : ByteBuf | provenance | | +| Test.java:4354:26:4354:33 | source(...) : Object | Test.java:4354:17:4354:33 | (...)... : ByteBuf | provenance | | +| Test.java:4355:10:4355:34 | copiedBuffer(...) : ByteBuf | Test.java:4356:9:4356:11 | out | provenance | | +| Test.java:4355:32:4355:33 | in : ByteBuf | Test.java:4355:10:4355:34 | copiedBuffer(...) : ByteBuf | provenance | MaD:161 | +| Test.java:4361:19:4361:61 | (...)... : ByteBuf[] [[]] : ByteBuf | Test.java:4362:32:4362:33 | in : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4361:30:4361:61 | {...} : ByteBuf[] [[]] : ByteBuf | Test.java:4361:19:4361:61 | (...)... : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4361:44:4361:60 | (...)... : ByteBuf | Test.java:4361:30:4361:61 | {...} : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4361:53:4361:60 | source(...) : Object | Test.java:4361:44:4361:60 | (...)... : ByteBuf | provenance | | +| Test.java:4362:10:4362:34 | copiedBuffer(...) : ByteBuf | Test.java:4363:9:4363:11 | out | provenance | | +| Test.java:4362:32:4362:33 | in : ByteBuf[] [[]] : ByteBuf | Test.java:4362:10:4362:34 | copiedBuffer(...) : ByteBuf | provenance | MaD:162 | +| Test.java:4368:20:4368:39 | (...)... : ByteBuffer | Test.java:4369:32:4369:33 | in : ByteBuffer | provenance | | +| Test.java:4368:32:4368:39 | source(...) : Object | Test.java:4368:20:4368:39 | (...)... : ByteBuffer | provenance | | +| Test.java:4369:10:4369:34 | copiedBuffer(...) : ByteBuf | Test.java:4370:9:4370:11 | out | provenance | | +| Test.java:4369:32:4369:33 | in : ByteBuffer | Test.java:4369:10:4369:34 | copiedBuffer(...) : ByteBuf | provenance | MaD:163 | +| Test.java:4375:22:4375:73 | (...)... : ByteBuffer[] [[]] : ByteBuffer | Test.java:4376:32:4376:33 | in : ByteBuffer[] [[]] : ByteBuffer | provenance | | +| Test.java:4375:36:4375:73 | {...} : ByteBuffer[] [[]] : ByteBuffer | Test.java:4375:22:4375:73 | (...)... : ByteBuffer[] [[]] : ByteBuffer | provenance | | +| Test.java:4375:53:4375:72 | (...)... : ByteBuffer | Test.java:4375:36:4375:73 | {...} : ByteBuffer[] [[]] : ByteBuffer | provenance | | +| Test.java:4375:65:4375:72 | source(...) : Object | Test.java:4375:53:4375:72 | (...)... : ByteBuffer | provenance | | +| Test.java:4376:10:4376:34 | copiedBuffer(...) : ByteBuf | Test.java:4377:9:4377:11 | out | provenance | | +| Test.java:4376:32:4376:33 | in : ByteBuffer[] [[]] : ByteBuffer | Test.java:4376:10:4376:34 | copiedBuffer(...) : ByteBuf | provenance | MaD:164 | +| Test.java:4382:22:4382:43 | (...)... : CharSequence | Test.java:4383:32:4383:33 | in : CharSequence | provenance | | +| Test.java:4382:36:4382:43 | source(...) : Object | Test.java:4382:22:4382:43 | (...)... : CharSequence | provenance | | +| Test.java:4383:10:4383:49 | copiedBuffer(...) : ByteBuf | Test.java:4384:9:4384:11 | out | provenance | | +| Test.java:4383:32:4383:33 | in : CharSequence | Test.java:4383:10:4383:49 | copiedBuffer(...) : ByteBuf | provenance | MaD:167 | +| Test.java:4389:22:4389:43 | (...)... : CharSequence | Test.java:4390:32:4390:33 | in : CharSequence | provenance | | +| Test.java:4389:36:4389:43 | source(...) : Object | Test.java:4389:22:4389:43 | (...)... : CharSequence | provenance | | +| Test.java:4390:10:4390:55 | copiedBuffer(...) : ByteBuf | Test.java:4391:9:4391:11 | out | provenance | | +| Test.java:4390:32:4390:33 | in : CharSequence | Test.java:4390:10:4390:55 | copiedBuffer(...) : ByteBuf | provenance | MaD:168 | +| Test.java:4396:16:4396:31 | (...)... : byte[] | Test.java:4397:32:4397:33 | in : byte[] | provenance | | +| Test.java:4396:24:4396:31 | source(...) : Object | Test.java:4396:16:4396:31 | (...)... : byte[] | provenance | | +| Test.java:4397:10:4397:34 | copiedBuffer(...) : ByteBuf | Test.java:4398:9:4398:11 | out | provenance | | +| Test.java:4397:32:4397:33 | in : byte[] | Test.java:4397:10:4397:34 | copiedBuffer(...) : ByteBuf | provenance | MaD:158 | +| Test.java:4403:16:4403:31 | (...)... : byte[] | Test.java:4404:32:4404:33 | in : byte[] | provenance | | +| Test.java:4403:24:4403:31 | source(...) : Object | Test.java:4403:16:4403:31 | (...)... : byte[] | provenance | | +| Test.java:4404:10:4404:40 | copiedBuffer(...) : ByteBuf | Test.java:4405:9:4405:11 | out | provenance | | +| Test.java:4404:32:4404:33 | in : byte[] | Test.java:4404:10:4404:40 | copiedBuffer(...) : ByteBuf | provenance | MaD:160 | +| Test.java:4410:18:4410:57 | (...)... : byte[][] [[]] : byte[] | Test.java:4411:32:4411:33 | in : byte[][] [[]] : byte[] | provenance | | +| Test.java:4410:28:4410:57 | {...} : byte[][] [[]] : byte[] | Test.java:4410:18:4410:57 | (...)... : byte[][] [[]] : byte[] | provenance | | +| Test.java:4410:41:4410:56 | (...)... : byte[] | Test.java:4410:28:4410:57 | {...} : byte[][] [[]] : byte[] | provenance | | +| Test.java:4410:49:4410:56 | source(...) : Object | Test.java:4410:41:4410:56 | (...)... : byte[] | provenance | | +| Test.java:4411:10:4411:34 | copiedBuffer(...) : ByteBuf | Test.java:4412:9:4412:11 | out | provenance | | +| Test.java:4411:32:4411:33 | in : byte[][] [[]] : byte[] | Test.java:4411:10:4411:34 | copiedBuffer(...) : ByteBuf | provenance | MaD:159 | +| Test.java:4417:16:4417:31 | (...)... : char[] | Test.java:4418:32:4418:33 | in : char[] | provenance | | +| Test.java:4417:24:4417:31 | source(...) : Object | Test.java:4417:16:4417:31 | (...)... : char[] | provenance | | +| Test.java:4418:10:4418:49 | copiedBuffer(...) : ByteBuf | Test.java:4419:9:4419:11 | out | provenance | | +| Test.java:4418:32:4418:33 | in : char[] | Test.java:4418:10:4418:49 | copiedBuffer(...) : ByteBuf | provenance | MaD:165 | +| Test.java:4424:16:4424:31 | (...)... : char[] | Test.java:4425:32:4425:33 | in : char[] | provenance | | +| Test.java:4424:24:4424:31 | source(...) : Object | Test.java:4424:16:4424:31 | (...)... : char[] | provenance | | +| Test.java:4425:10:4425:55 | copiedBuffer(...) : ByteBuf | Test.java:4426:9:4426:11 | out | provenance | | +| Test.java:4425:32:4425:33 | in : char[] | Test.java:4425:10:4425:55 | copiedBuffer(...) : ByteBuf | provenance | MaD:166 | +| Test.java:4431:17:4431:33 | (...)... : ByteBuf | Test.java:4432:38:4432:39 | in : ByteBuf | provenance | | +| Test.java:4431:26:4431:33 | source(...) : Object | Test.java:4431:17:4431:33 | (...)... : ByteBuf | provenance | | +| Test.java:4432:10:4432:40 | unmodifiableBuffer(...) : ByteBuf | Test.java:4433:9:4433:11 | out | provenance | | +| Test.java:4432:38:4432:39 | in : ByteBuf | Test.java:4432:10:4432:40 | unmodifiableBuffer(...) : ByteBuf | provenance | MaD:169 | +| Test.java:4438:19:4438:61 | (...)... : ByteBuf[] [[]] : ByteBuf | Test.java:4439:38:4439:39 | in : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4438:30:4438:61 | {...} : ByteBuf[] [[]] : ByteBuf | Test.java:4438:19:4438:61 | (...)... : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4438:44:4438:60 | (...)... : ByteBuf | Test.java:4438:30:4438:61 | {...} : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4438:53:4438:60 | source(...) : Object | Test.java:4438:44:4438:60 | (...)... : ByteBuf | provenance | | +| Test.java:4439:10:4439:40 | unmodifiableBuffer(...) : ByteBuf | Test.java:4440:9:4440:11 | out | provenance | | +| Test.java:4439:38:4439:39 | in : ByteBuf[] [[]] : ByteBuf | Test.java:4439:10:4439:40 | unmodifiableBuffer(...) : ByteBuf | provenance | MaD:170 | +| Test.java:4445:17:4445:33 | (...)... : ByteBuf | Test.java:4446:38:4446:39 | in : ByteBuf | provenance | | +| Test.java:4445:26:4445:33 | source(...) : Object | Test.java:4445:17:4445:33 | (...)... : ByteBuf | provenance | | +| Test.java:4446:10:4446:40 | unreleasableBuffer(...) : ByteBuf | Test.java:4447:9:4447:11 | out | provenance | | +| Test.java:4446:38:4446:39 | in : ByteBuf | Test.java:4446:10:4446:40 | unreleasableBuffer(...) : ByteBuf | provenance | MaD:171 | +| Test.java:4452:17:4452:33 | (...)... : ByteBuf | Test.java:4453:33:4453:34 | in : ByteBuf | provenance | | +| Test.java:4452:26:4452:33 | source(...) : Object | Test.java:4452:17:4452:33 | (...)... : ByteBuf | provenance | | +| Test.java:4453:10:4453:35 | wrappedBuffer(...) : ByteBuf | Test.java:4454:9:4454:11 | out | provenance | | +| Test.java:4453:33:4453:34 | in : ByteBuf | Test.java:4453:10:4453:35 | wrappedBuffer(...) : ByteBuf | provenance | MaD:175 | +| Test.java:4459:19:4459:61 | (...)... : ByteBuf[] [[]] : ByteBuf | Test.java:4460:33:4460:34 | in : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4459:30:4459:61 | {...} : ByteBuf[] [[]] : ByteBuf | Test.java:4459:19:4459:61 | (...)... : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4459:44:4459:60 | (...)... : ByteBuf | Test.java:4459:30:4459:61 | {...} : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4459:53:4459:60 | source(...) : Object | Test.java:4459:44:4459:60 | (...)... : ByteBuf | provenance | | +| Test.java:4460:10:4460:35 | wrappedBuffer(...) : ByteBuf | Test.java:4461:9:4461:11 | out | provenance | | +| Test.java:4460:33:4460:34 | in : ByteBuf[] [[]] : ByteBuf | Test.java:4460:10:4460:35 | wrappedBuffer(...) : ByteBuf | provenance | MaD:176 | +| Test.java:4466:20:4466:39 | (...)... : ByteBuffer | Test.java:4467:33:4467:34 | in : ByteBuffer | provenance | | +| Test.java:4466:32:4466:39 | source(...) : Object | Test.java:4466:20:4466:39 | (...)... : ByteBuffer | provenance | | +| Test.java:4467:10:4467:35 | wrappedBuffer(...) : ByteBuf | Test.java:4468:9:4468:11 | out | provenance | | +| Test.java:4467:33:4467:34 | in : ByteBuffer | Test.java:4467:10:4467:35 | wrappedBuffer(...) : ByteBuf | provenance | MaD:177 | +| Test.java:4473:22:4473:73 | (...)... : ByteBuffer[] [[]] : ByteBuffer | Test.java:4474:33:4474:34 | in : ByteBuffer[] [[]] : ByteBuffer | provenance | | +| Test.java:4473:36:4473:73 | {...} : ByteBuffer[] [[]] : ByteBuffer | Test.java:4473:22:4473:73 | (...)... : ByteBuffer[] [[]] : ByteBuffer | provenance | | +| Test.java:4473:53:4473:72 | (...)... : ByteBuffer | Test.java:4473:36:4473:73 | {...} : ByteBuffer[] [[]] : ByteBuffer | provenance | | +| Test.java:4473:65:4473:72 | source(...) : Object | Test.java:4473:53:4473:72 | (...)... : ByteBuffer | provenance | | +| Test.java:4474:10:4474:35 | wrappedBuffer(...) : ByteBuf | Test.java:4475:9:4475:11 | out | provenance | | +| Test.java:4474:33:4474:34 | in : ByteBuffer[] [[]] : ByteBuffer | Test.java:4474:10:4474:35 | wrappedBuffer(...) : ByteBuf | provenance | MaD:178 | +| Test.java:4480:16:4480:31 | (...)... : byte[] | Test.java:4481:33:4481:34 | in : byte[] | provenance | | +| Test.java:4480:24:4480:31 | source(...) : Object | Test.java:4480:16:4480:31 | (...)... : byte[] | provenance | | +| Test.java:4481:10:4481:35 | wrappedBuffer(...) : ByteBuf | Test.java:4482:9:4482:11 | out | provenance | | +| Test.java:4481:33:4481:34 | in : byte[] | Test.java:4481:10:4481:35 | wrappedBuffer(...) : ByteBuf | provenance | MaD:172 | +| Test.java:4487:16:4487:31 | (...)... : byte[] | Test.java:4488:33:4488:34 | in : byte[] | provenance | | +| Test.java:4487:24:4487:31 | source(...) : Object | Test.java:4487:16:4487:31 | (...)... : byte[] | provenance | | +| Test.java:4488:10:4488:41 | wrappedBuffer(...) : ByteBuf | Test.java:4489:9:4489:11 | out | provenance | | +| Test.java:4488:33:4488:34 | in : byte[] | Test.java:4488:10:4488:41 | wrappedBuffer(...) : ByteBuf | provenance | MaD:174 | +| Test.java:4494:18:4494:57 | (...)... : byte[][] [[]] : byte[] | Test.java:4495:33:4495:34 | in : byte[][] [[]] : byte[] | provenance | | +| Test.java:4494:28:4494:57 | {...} : byte[][] [[]] : byte[] | Test.java:4494:18:4494:57 | (...)... : byte[][] [[]] : byte[] | provenance | | +| Test.java:4494:41:4494:56 | (...)... : byte[] | Test.java:4494:28:4494:57 | {...} : byte[][] [[]] : byte[] | provenance | | +| Test.java:4494:49:4494:56 | source(...) : Object | Test.java:4494:41:4494:56 | (...)... : byte[] | provenance | | +| Test.java:4495:10:4495:35 | wrappedBuffer(...) : ByteBuf | Test.java:4496:9:4496:11 | out | provenance | | +| Test.java:4495:33:4495:34 | in : byte[][] [[]] : byte[] | Test.java:4495:10:4495:35 | wrappedBuffer(...) : ByteBuf | provenance | MaD:173 | +| Test.java:4501:19:4501:61 | (...)... : ByteBuf[] [[]] : ByteBuf | Test.java:4502:36:4502:37 | in : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4501:30:4501:61 | {...} : ByteBuf[] [[]] : ByteBuf | Test.java:4501:19:4501:61 | (...)... : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4501:44:4501:60 | (...)... : ByteBuf | Test.java:4501:30:4501:61 | {...} : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4501:53:4501:60 | source(...) : Object | Test.java:4501:44:4501:60 | (...)... : ByteBuf | provenance | | +| Test.java:4502:10:4502:38 | wrappedBuffer(...) : ByteBuf | Test.java:4503:9:4503:11 | out | provenance | | +| Test.java:4502:36:4502:37 | in : ByteBuf[] [[]] : ByteBuf | Test.java:4502:10:4502:38 | wrappedBuffer(...) : ByteBuf | provenance | MaD:180 | +| Test.java:4508:22:4508:73 | (...)... : ByteBuffer[] [[]] : ByteBuffer | Test.java:4509:36:4509:37 | in : ByteBuffer[] [[]] : ByteBuffer | provenance | | +| Test.java:4508:36:4508:73 | {...} : ByteBuffer[] [[]] : ByteBuffer | Test.java:4508:22:4508:73 | (...)... : ByteBuffer[] [[]] : ByteBuffer | provenance | | +| Test.java:4508:53:4508:72 | (...)... : ByteBuffer | Test.java:4508:36:4508:73 | {...} : ByteBuffer[] [[]] : ByteBuffer | provenance | | +| Test.java:4508:65:4508:72 | source(...) : Object | Test.java:4508:53:4508:72 | (...)... : ByteBuffer | provenance | | +| Test.java:4509:10:4509:38 | wrappedBuffer(...) : ByteBuf | Test.java:4510:9:4510:11 | out | provenance | | +| Test.java:4509:36:4509:37 | in : ByteBuffer[] [[]] : ByteBuffer | Test.java:4509:10:4509:38 | wrappedBuffer(...) : ByteBuf | provenance | MaD:181 | +| Test.java:4515:18:4515:57 | (...)... : byte[][] [[]] : byte[] | Test.java:4516:36:4516:37 | in : byte[][] [[]] : byte[] | provenance | | +| Test.java:4515:28:4515:57 | {...} : byte[][] [[]] : byte[] | Test.java:4515:18:4515:57 | (...)... : byte[][] [[]] : byte[] | provenance | | +| Test.java:4515:41:4515:56 | (...)... : byte[] | Test.java:4515:28:4515:57 | {...} : byte[][] [[]] : byte[] | provenance | | +| Test.java:4515:49:4515:56 | source(...) : Object | Test.java:4515:41:4515:56 | (...)... : byte[] | provenance | | +| Test.java:4516:10:4516:38 | wrappedBuffer(...) : ByteBuf | Test.java:4517:9:4517:11 | out | provenance | | +| Test.java:4516:36:4516:37 | in : byte[][] [[]] : byte[] | Test.java:4516:10:4516:38 | wrappedBuffer(...) : ByteBuf | provenance | MaD:179 | +| Test.java:4522:19:4522:61 | (...)... : ByteBuf[] [[]] : ByteBuf | Test.java:4523:45:4523:46 | in : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4522:30:4522:61 | {...} : ByteBuf[] [[]] : ByteBuf | Test.java:4522:19:4522:61 | (...)... : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4522:44:4522:60 | (...)... : ByteBuf | Test.java:4522:30:4522:61 | {...} : ByteBuf[] [[]] : ByteBuf | provenance | | +| Test.java:4522:53:4522:60 | source(...) : Object | Test.java:4522:44:4522:60 | (...)... : ByteBuf | provenance | | +| Test.java:4523:10:4523:47 | wrappedUnmodifiableBuffer(...) : ByteBuf | Test.java:4524:9:4524:11 | out | provenance | | +| Test.java:4523:45:4523:46 | in : ByteBuf[] [[]] : ByteBuf | Test.java:4523:10:4523:47 | wrappedUnmodifiableBuffer(...) : ByteBuf | provenance | MaD:182 | +| Test.java:4529:17:4529:33 | (...)... : ByteBuf | Test.java:4530:24:4530:25 | in : ByteBuf | provenance | | +| Test.java:4529:26:4529:33 | source(...) : Object | Test.java:4529:17:4529:33 | (...)... : ByteBuf | provenance | | +| Test.java:4530:10:4530:26 | decode(...) : ByteBuf | Test.java:4531:9:4531:11 | out | provenance | | +| Test.java:4530:24:4530:25 | in : ByteBuf | Test.java:4530:10:4530:26 | decode(...) : ByteBuf | provenance | MaD:208 | +| Test.java:4536:17:4536:33 | (...)... : ByteBuf | Test.java:4537:24:4537:25 | in : ByteBuf | provenance | | +| Test.java:4536:26:4536:33 | source(...) : Object | Test.java:4536:17:4536:33 | (...)... : ByteBuf | provenance | | +| Test.java:4537:10:4537:32 | decode(...) : ByteBuf | Test.java:4538:9:4538:11 | out | provenance | | +| Test.java:4537:24:4537:25 | in : ByteBuf | Test.java:4537:10:4537:32 | decode(...) : ByteBuf | provenance | MaD:208 | +| Test.java:4543:17:4543:33 | (...)... : ByteBuf | Test.java:4544:24:4544:25 | in : ByteBuf | provenance | | +| Test.java:4543:26:4543:33 | source(...) : Object | Test.java:4543:17:4543:33 | (...)... : ByteBuf | provenance | | +| Test.java:4544:10:4544:38 | decode(...) : ByteBuf | Test.java:4545:9:4545:11 | out | provenance | | +| Test.java:4544:24:4544:25 | in : ByteBuf | Test.java:4544:10:4544:38 | decode(...) : ByteBuf | provenance | MaD:208 | +| Test.java:4550:17:4550:33 | (...)... : ByteBuf | Test.java:4551:24:4551:25 | in : ByteBuf | provenance | | +| Test.java:4550:26:4550:33 | source(...) : Object | Test.java:4550:17:4550:33 | (...)... : ByteBuf | provenance | | +| Test.java:4551:10:4551:44 | decode(...) : ByteBuf | Test.java:4552:9:4552:11 | out | provenance | | +| Test.java:4551:24:4551:25 | in : ByteBuf | Test.java:4551:10:4551:44 | decode(...) : ByteBuf | provenance | MaD:208 | +| Test.java:4557:17:4557:33 | (...)... : ByteBuf | Test.java:4558:24:4558:25 | in : ByteBuf | provenance | | +| Test.java:4557:26:4557:33 | source(...) : Object | Test.java:4557:17:4557:33 | (...)... : ByteBuf | provenance | | +| Test.java:4558:10:4558:32 | decode(...) : ByteBuf | Test.java:4559:9:4559:11 | out | provenance | | +| Test.java:4558:24:4558:25 | in : ByteBuf | Test.java:4558:10:4558:32 | decode(...) : ByteBuf | provenance | MaD:208 | +| Test.java:4564:17:4564:33 | (...)... : ByteBuf | Test.java:4565:24:4565:25 | in : ByteBuf | provenance | | +| Test.java:4564:26:4564:33 | source(...) : Object | Test.java:4564:17:4564:33 | (...)... : ByteBuf | provenance | | +| Test.java:4565:10:4565:26 | encode(...) : ByteBuf | Test.java:4566:9:4566:11 | out | provenance | | +| Test.java:4565:24:4565:25 | in : ByteBuf | Test.java:4565:10:4565:26 | encode(...) : ByteBuf | provenance | MaD:209 | +| Test.java:4571:17:4571:33 | (...)... : ByteBuf | Test.java:4572:24:4572:25 | in : ByteBuf | provenance | | +| Test.java:4571:26:4571:33 | source(...) : Object | Test.java:4571:17:4571:33 | (...)... : ByteBuf | provenance | | +| Test.java:4572:10:4572:47 | encode(...) : ByteBuf | Test.java:4573:9:4573:11 | out | provenance | | +| Test.java:4572:24:4572:25 | in : ByteBuf | Test.java:4572:10:4572:47 | encode(...) : ByteBuf | provenance | MaD:209 | +| Test.java:4578:17:4578:33 | (...)... : ByteBuf | Test.java:4579:24:4579:25 | in : ByteBuf | provenance | | +| Test.java:4578:26:4578:33 | source(...) : Object | Test.java:4578:17:4578:33 | (...)... : ByteBuf | provenance | | +| Test.java:4579:10:4579:32 | encode(...) : ByteBuf | Test.java:4580:9:4580:11 | out | provenance | | +| Test.java:4579:24:4579:25 | in : ByteBuf | Test.java:4579:10:4579:32 | encode(...) : ByteBuf | provenance | MaD:209 | +| Test.java:4585:17:4585:33 | (...)... : ByteBuf | Test.java:4586:24:4586:25 | in : ByteBuf | provenance | | +| Test.java:4585:26:4585:33 | source(...) : Object | Test.java:4585:17:4585:33 | (...)... : ByteBuf | provenance | | +| Test.java:4586:10:4586:53 | encode(...) : ByteBuf | Test.java:4587:9:4587:11 | out | provenance | | +| Test.java:4586:24:4586:25 | in : ByteBuf | Test.java:4586:10:4586:53 | encode(...) : ByteBuf | provenance | MaD:209 | +| Test.java:4592:17:4592:33 | (...)... : ByteBuf | Test.java:4593:24:4593:25 | in : ByteBuf | provenance | | +| Test.java:4592:26:4592:33 | source(...) : Object | Test.java:4592:17:4592:33 | (...)... : ByteBuf | provenance | | +| Test.java:4593:10:4593:39 | encode(...) : ByteBuf | Test.java:4594:9:4594:11 | out | provenance | | +| Test.java:4593:24:4593:25 | in : ByteBuf | Test.java:4593:10:4593:39 | encode(...) : ByteBuf | provenance | MaD:209 | +| Test.java:4599:17:4599:33 | (...)... : ByteBuf | Test.java:4600:24:4600:25 | in : ByteBuf | provenance | | +| Test.java:4599:26:4599:33 | source(...) : Object | Test.java:4599:17:4599:33 | (...)... : ByteBuf | provenance | | +| Test.java:4600:10:4600:45 | encode(...) : ByteBuf | Test.java:4601:9:4601:11 | out | provenance | | +| Test.java:4600:24:4600:25 | in : ByteBuf | Test.java:4600:10:4600:45 | encode(...) : ByteBuf | provenance | MaD:209 | +| Test.java:4606:17:4606:33 | (...)... : ByteBuf | Test.java:4607:24:4607:25 | in : ByteBuf | provenance | | +| Test.java:4606:26:4606:33 | source(...) : Object | Test.java:4606:17:4606:33 | (...)... : ByteBuf | provenance | | +| Test.java:4607:10:4607:51 | encode(...) : ByteBuf | Test.java:4608:9:4608:11 | out | provenance | | +| Test.java:4607:24:4607:25 | in : ByteBuf | Test.java:4607:10:4607:51 | encode(...) : ByteBuf | provenance | MaD:209 | +| Test.java:4613:17:4613:33 | (...)... : ByteBuf | Test.java:4614:24:4614:25 | in : ByteBuf | provenance | | +| Test.java:4613:26:4613:33 | source(...) : Object | Test.java:4613:17:4613:33 | (...)... : ByteBuf | provenance | | +| Test.java:4614:10:4614:33 | encode(...) : ByteBuf | Test.java:4615:9:4615:11 | out | provenance | | +| Test.java:4614:24:4614:25 | in : ByteBuf | Test.java:4614:10:4614:33 | encode(...) : ByteBuf | provenance | MaD:209 | +| Test.java:4620:17:4620:33 | (...)... : ByteBuf | Test.java:4621:24:4621:25 | in : ByteBuf | provenance | | +| Test.java:4620:26:4620:33 | source(...) : Object | Test.java:4620:17:4620:33 | (...)... : ByteBuf | provenance | | +| Test.java:4621:10:4621:54 | encode(...) : ByteBuf | Test.java:4622:9:4622:11 | out | provenance | | +| Test.java:4621:24:4621:25 | in : ByteBuf | Test.java:4621:10:4621:54 | encode(...) : ByteBuf | provenance | MaD:209 | +| Test.java:4627:16:4627:31 | (...)... : Cookie | Test.java:4628:10:4628:11 | in : Cookie | provenance | | +| Test.java:4627:24:4627:31 | source(...) : Object | Test.java:4627:16:4627:31 | (...)... : Cookie | provenance | | +| Test.java:4628:10:4628:11 | in : Cookie | Test.java:4628:10:4628:20 | domain(...) : String | provenance | MaD:210 | +| Test.java:4628:10:4628:20 | domain(...) : String | Test.java:4629:9:4629:11 | out | provenance | | +| Test.java:4634:23:4634:45 | (...)... : DefaultCookie | Test.java:4635:10:4635:11 | in : DefaultCookie | provenance | | +| Test.java:4634:38:4634:45 | source(...) : Object | Test.java:4634:23:4634:45 | (...)... : DefaultCookie | provenance | | +| Test.java:4635:10:4635:11 | in : DefaultCookie | Test.java:4635:10:4635:20 | domain(...) : String | provenance | MaD:210 | +| Test.java:4635:10:4635:20 | domain(...) : String | Test.java:4636:9:4636:11 | out | provenance | | +| Test.java:4641:16:4641:31 | (...)... : Cookie | Test.java:4642:10:4642:11 | in : Cookie | provenance | | +| Test.java:4641:24:4641:31 | source(...) : Object | Test.java:4641:16:4641:31 | (...)... : Cookie | provenance | | +| Test.java:4642:10:4642:11 | in : Cookie | Test.java:4642:10:4642:18 | name(...) : String | provenance | MaD:211 | +| Test.java:4642:10:4642:18 | name(...) : String | Test.java:4643:9:4643:11 | out | provenance | | +| Test.java:4648:23:4648:45 | (...)... : DefaultCookie | Test.java:4649:10:4649:11 | in : DefaultCookie | provenance | | +| Test.java:4648:38:4648:45 | source(...) : Object | Test.java:4648:23:4648:45 | (...)... : DefaultCookie | provenance | | +| Test.java:4649:10:4649:11 | in : DefaultCookie | Test.java:4649:10:4649:18 | name(...) : String | provenance | MaD:211 | +| Test.java:4649:10:4649:18 | name(...) : String | Test.java:4650:9:4650:11 | out | provenance | | +| Test.java:4655:16:4655:31 | (...)... : Cookie | Test.java:4656:10:4656:11 | in : Cookie | provenance | | +| Test.java:4655:24:4655:31 | source(...) : Object | Test.java:4655:16:4655:31 | (...)... : Cookie | provenance | | +| Test.java:4656:10:4656:11 | in : Cookie | Test.java:4656:10:4656:18 | path(...) : String | provenance | MaD:212 | +| Test.java:4656:10:4656:18 | path(...) : String | Test.java:4657:9:4657:11 | out | provenance | | +| Test.java:4662:23:4662:45 | (...)... : DefaultCookie | Test.java:4663:10:4663:11 | in : DefaultCookie | provenance | | +| Test.java:4662:38:4662:45 | source(...) : Object | Test.java:4662:23:4662:45 | (...)... : DefaultCookie | provenance | | +| Test.java:4663:10:4663:11 | in : DefaultCookie | Test.java:4663:10:4663:18 | path(...) : String | provenance | MaD:212 | +| Test.java:4663:10:4663:18 | path(...) : String | Test.java:4664:9:4664:11 | out | provenance | | +| Test.java:4669:16:4669:31 | (...)... : String | Test.java:4670:18:4670:19 | in : String | provenance | | +| Test.java:4669:24:4669:31 | source(...) : Object | Test.java:4669:16:4669:31 | (...)... : String | provenance | | +| Test.java:4670:4:4670:6 | out [post update] : Cookie | Test.java:4671:9:4671:11 | out | provenance | | +| Test.java:4670:18:4670:19 | in : String | Test.java:4670:4:4670:6 | out [post update] : Cookie | provenance | MaD:214 | +| Test.java:4676:16:4676:31 | (...)... : String | Test.java:4677:18:4677:19 | in : String | provenance | | +| Test.java:4676:24:4676:31 | source(...) : Object | Test.java:4676:16:4676:31 | (...)... : String | provenance | | +| Test.java:4677:4:4677:6 | out [post update] : DefaultCookie | Test.java:4678:9:4678:11 | out | provenance | | +| Test.java:4677:18:4677:19 | in : String | Test.java:4677:4:4677:6 | out [post update] : DefaultCookie | provenance | MaD:214 | +| Test.java:4683:16:4683:31 | (...)... : String | Test.java:4684:16:4684:17 | in : String | provenance | | +| Test.java:4683:24:4683:31 | source(...) : Object | Test.java:4683:16:4683:31 | (...)... : String | provenance | | +| Test.java:4684:4:4684:6 | out [post update] : Cookie | Test.java:4685:9:4685:11 | out | provenance | | +| Test.java:4684:16:4684:17 | in : String | Test.java:4684:4:4684:6 | out [post update] : Cookie | provenance | MaD:215 | +| Test.java:4690:16:4690:31 | (...)... : String | Test.java:4691:16:4691:17 | in : String | provenance | | +| Test.java:4690:24:4690:31 | source(...) : Object | Test.java:4690:16:4690:31 | (...)... : String | provenance | | +| Test.java:4691:4:4691:6 | out [post update] : DefaultCookie | Test.java:4692:9:4692:11 | out | provenance | | +| Test.java:4691:16:4691:17 | in : String | Test.java:4691:4:4691:6 | out [post update] : DefaultCookie | provenance | MaD:215 | +| Test.java:4697:16:4697:31 | (...)... : String | Test.java:4698:17:4698:18 | in : String | provenance | | +| Test.java:4697:24:4697:31 | source(...) : Object | Test.java:4697:16:4697:31 | (...)... : String | provenance | | +| Test.java:4698:4:4698:6 | out [post update] : Cookie | Test.java:4699:9:4699:11 | out | provenance | | +| Test.java:4698:17:4698:18 | in : String | Test.java:4698:4:4698:6 | out [post update] : Cookie | provenance | MaD:216 | +| Test.java:4704:16:4704:31 | (...)... : String | Test.java:4705:17:4705:18 | in : String | provenance | | +| Test.java:4704:24:4704:31 | source(...) : Object | Test.java:4704:16:4704:31 | (...)... : String | provenance | | +| Test.java:4705:4:4705:6 | out [post update] : DefaultCookie | Test.java:4706:9:4706:11 | out | provenance | | +| Test.java:4705:17:4705:18 | in : String | Test.java:4705:4:4705:6 | out [post update] : DefaultCookie | provenance | MaD:216 | +| Test.java:4711:16:4711:31 | (...)... : Cookie | Test.java:4712:10:4712:11 | in : Cookie | provenance | | +| Test.java:4711:24:4711:31 | source(...) : Object | Test.java:4711:16:4711:31 | (...)... : Cookie | provenance | | +| Test.java:4712:10:4712:11 | in : Cookie | Test.java:4712:10:4712:19 | value(...) : String | provenance | MaD:213 | +| Test.java:4712:10:4712:19 | value(...) : String | Test.java:4713:9:4713:11 | out | provenance | | +| Test.java:4718:23:4718:45 | (...)... : DefaultCookie | Test.java:4719:10:4719:11 | in : DefaultCookie | provenance | | +| Test.java:4718:38:4718:45 | source(...) : Object | Test.java:4718:23:4718:45 | (...)... : DefaultCookie | provenance | | +| Test.java:4719:10:4719:11 | in : DefaultCookie | Test.java:4719:10:4719:19 | value(...) : String | provenance | MaD:213 | +| Test.java:4719:10:4719:19 | value(...) : String | Test.java:4720:9:4720:11 | out | provenance | | +| Test.java:4725:16:4725:31 | (...)... : String | Test.java:4727:26:4727:27 | in : String | provenance | | +| Test.java:4725:24:4725:31 | source(...) : Object | Test.java:4725:16:4725:31 | (...)... : String | provenance | | +| Test.java:4727:10:4727:28 | decode(...) : Set [] : Object | Test.java:4728:20:4728:22 | out : Set [] : Object | provenance | | +| Test.java:4727:26:4727:27 | in : String | Test.java:4727:10:4727:28 | decode(...) : Set [] : Object | provenance | MaD:217 | +| Test.java:4728:20:4728:22 | out : Set [] : Object | Test.java:79:19:79:32 | it : Set [] : Object | provenance | | +| Test.java:4728:20:4728:22 | out : Set [] : Object | Test.java:4728:9:4728:23 | getElement(...) | provenance | MaD:492 | +| Test.java:4733:16:4733:31 | (...)... : String | Test.java:4735:29:4735:30 | in : String | provenance | | +| Test.java:4733:24:4733:31 | source(...) : Object | Test.java:4733:16:4733:31 | (...)... : String | provenance | | +| Test.java:4735:10:4735:31 | decodeAll(...) : List [] : Object | Test.java:4736:20:4736:22 | out : List [] : Object | provenance | | +| Test.java:4735:29:4735:30 | in : String | Test.java:4735:10:4735:31 | decodeAll(...) : List [] : Object | provenance | MaD:218 | +| Test.java:4736:20:4736:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | provenance | | +| Test.java:4736:20:4736:22 | out : List [] : Object | Test.java:4736:9:4736:23 | getElement(...) | provenance | MaD:492 | +| Test.java:4741:20:4741:48 | (...)... : List [] : Object | Test.java:4743:26:4743:27 | in : List [] : Object | provenance | | +| Test.java:4741:32:4741:48 | of(...) : List [] : Object | Test.java:4741:20:4741:48 | (...)... : List [] : Object | provenance | | +| Test.java:4741:40:4741:47 | source(...) : Object | Test.java:4741:32:4741:48 | of(...) : List [] : Object | provenance | MaD:494 | +| Test.java:4743:10:4743:28 | encode(...) : List [] : Object | Test.java:4744:20:4744:22 | out : List [] : Object | provenance | | +| Test.java:4743:26:4743:27 | in : List [] : Object | Test.java:4743:10:4743:28 | encode(...) : List [] : Object | provenance | MaD:221 | +| Test.java:4744:20:4744:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | provenance | | +| Test.java:4744:20:4744:22 | out : List [] : Object | Test.java:4744:9:4744:23 | getElement(...) | provenance | MaD:492 | +| Test.java:4749:16:4749:31 | (...)... : Cookie | Test.java:4751:26:4751:27 | in : Cookie | provenance | | +| Test.java:4749:24:4749:31 | source(...) : Object | Test.java:4749:16:4749:31 | (...)... : Cookie | provenance | | +| Test.java:4751:10:4751:28 | encode(...) : String | Test.java:4752:9:4752:11 | out | provenance | | +| Test.java:4751:26:4751:27 | in : Cookie | Test.java:4751:10:4751:28 | encode(...) : String | provenance | MaD:219 | +| Test.java:4757:18:4757:57 | (...)... : Cookie[] [[]] : Cookie | Test.java:4759:26:4759:27 | in : Cookie[] [[]] : Cookie | provenance | | +| Test.java:4757:28:4757:57 | {...} : Cookie[] [[]] : Cookie | Test.java:4757:18:4757:57 | (...)... : Cookie[] [[]] : Cookie | provenance | | +| Test.java:4757:41:4757:56 | (...)... : Cookie | Test.java:4757:28:4757:57 | {...} : Cookie[] [[]] : Cookie | provenance | | +| Test.java:4757:49:4757:56 | source(...) : Object | Test.java:4757:41:4757:56 | (...)... : Cookie | provenance | | +| Test.java:4759:10:4759:28 | encode(...) : List [] : Object | Test.java:4760:20:4760:22 | out : List [] : Object | provenance | | +| Test.java:4759:26:4759:27 | in : Cookie[] [[]] : Cookie | Test.java:4759:10:4759:28 | encode(...) : List [] : Object | provenance | MaD:220 | +| Test.java:4760:20:4760:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | provenance | | +| Test.java:4760:20:4760:22 | out : List [] : Object | Test.java:4760:9:4760:23 | getElement(...) | provenance | MaD:492 | +| Test.java:4765:18:4765:44 | (...)... : List [] : Object | Test.java:4767:26:4767:27 | in : List [] : Object | provenance | | +| Test.java:4765:28:4765:44 | of(...) : List [] : Object | Test.java:4765:18:4765:44 | (...)... : List [] : Object | provenance | | +| Test.java:4765:36:4765:43 | source(...) : Object | Test.java:4765:28:4765:44 | of(...) : List [] : Object | provenance | MaD:494 | +| Test.java:4767:10:4767:28 | encode(...) : List [] : Object | Test.java:4768:20:4768:22 | out : List [] : Object | provenance | | +| Test.java:4767:26:4767:27 | in : List [] : Object | Test.java:4767:10:4767:28 | encode(...) : List [] : Object | provenance | MaD:222 | +| Test.java:4768:20:4768:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | provenance | | +| Test.java:4768:20:4768:22 | out : List [] : Object | Test.java:4768:9:4768:23 | getElement(...) | provenance | MaD:492 | +| Test.java:4773:16:4773:31 | (...)... : String | Test.java:4775:32:4775:33 | in : String | provenance | | +| Test.java:4773:24:4773:31 | source(...) : Object | Test.java:4773:16:4773:31 | (...)... : String | provenance | | +| Test.java:4775:10:4775:34 | encode(...) : String | Test.java:4776:9:4776:11 | out | provenance | | +| Test.java:4775:32:4775:33 | in : String | Test.java:4775:10:4775:34 | encode(...) : String | provenance | MaD:223 | +| Test.java:4781:19:4781:37 | (...)... : Attribute | Test.java:4782:10:4782:11 | in : Attribute | provenance | | +| Test.java:4781:30:4781:37 | source(...) : Object | Test.java:4781:19:4781:37 | (...)... : Attribute | provenance | | +| Test.java:4782:10:4782:11 | in : Attribute | Test.java:4782:10:4782:22 | getValue(...) : String | provenance | MaD:316 | +| Test.java:4782:10:4782:22 | getValue(...) : String | Test.java:4783:9:4783:11 | out | provenance | | +| Test.java:4788:16:4788:31 | (...)... : String | Test.java:4789:17:4789:18 | in : String | provenance | | +| Test.java:4788:24:4788:31 | source(...) : Object | Test.java:4788:16:4788:31 | (...)... : String | provenance | | +| Test.java:4789:4:4789:6 | out [post update] : Attribute | Test.java:4790:9:4790:11 | out | provenance | | +| Test.java:4789:17:4789:18 | in : String | Test.java:4789:4:4789:6 | out [post update] : Attribute | provenance | MaD:317 | +| Test.java:4795:20:4795:39 | (...)... : FileUpload | Test.java:4796:10:4796:11 | in : FileUpload | provenance | | +| Test.java:4795:32:4795:39 | source(...) : Object | Test.java:4795:20:4795:39 | (...)... : FileUpload | provenance | | +| Test.java:4796:10:4796:11 | in : FileUpload | Test.java:4796:10:4796:40 | getContentTransferEncoding(...) : String | provenance | MaD:318 | +| Test.java:4796:10:4796:40 | getContentTransferEncoding(...) : String | Test.java:4797:9:4797:11 | out | provenance | | +| Test.java:4802:20:4802:39 | (...)... : FileUpload | Test.java:4803:10:4803:11 | in : FileUpload | provenance | | +| Test.java:4802:32:4802:39 | source(...) : Object | Test.java:4802:20:4802:39 | (...)... : FileUpload | provenance | | +| Test.java:4803:10:4803:11 | in : FileUpload | Test.java:4803:10:4803:28 | getContentType(...) : String | provenance | MaD:319 | +| Test.java:4803:10:4803:28 | getContentType(...) : String | Test.java:4804:9:4804:11 | out | provenance | | +| Test.java:4809:20:4809:39 | (...)... : FileUpload | Test.java:4810:10:4810:11 | in : FileUpload | provenance | | +| Test.java:4809:32:4809:39 | source(...) : Object | Test.java:4809:20:4809:39 | (...)... : FileUpload | provenance | | +| Test.java:4810:10:4810:11 | in : FileUpload | Test.java:4810:10:4810:25 | getFilename(...) : String | provenance | MaD:320 | +| Test.java:4810:10:4810:25 | getFilename(...) : String | Test.java:4811:9:4811:11 | out | provenance | | +| Test.java:4816:16:4816:31 | (...)... : String | Test.java:4817:35:4817:36 | in : String | provenance | | +| Test.java:4816:24:4816:31 | source(...) : Object | Test.java:4816:16:4816:31 | (...)... : String | provenance | | +| Test.java:4817:4:4817:6 | out [post update] : FileUpload | Test.java:4818:9:4818:11 | out | provenance | | +| Test.java:4817:35:4817:36 | in : String | Test.java:4817:4:4817:6 | out [post update] : FileUpload | provenance | MaD:321 | +| Test.java:4823:16:4823:31 | (...)... : String | Test.java:4824:23:4824:24 | in : String | provenance | | +| Test.java:4823:24:4823:31 | source(...) : Object | Test.java:4823:16:4823:31 | (...)... : String | provenance | | +| Test.java:4824:4:4824:6 | out [post update] : FileUpload | Test.java:4825:9:4825:11 | out | provenance | | +| Test.java:4824:23:4824:24 | in : String | Test.java:4824:4:4824:6 | out [post update] : FileUpload | provenance | MaD:322 | +| Test.java:4830:16:4830:31 | (...)... : String | Test.java:4831:20:4831:21 | in : String | provenance | | +| Test.java:4830:24:4830:31 | source(...) : Object | Test.java:4830:16:4830:31 | (...)... : String | provenance | | +| Test.java:4831:4:4831:6 | out [post update] : FileUpload | Test.java:4832:9:4832:11 | out | provenance | | +| Test.java:4831:20:4831:21 | in : String | Test.java:4831:4:4831:6 | out [post update] : FileUpload | provenance | MaD:323 | +| Test.java:4837:17:4837:33 | (...)... : ByteBuf | Test.java:4838:19:4838:20 | in : ByteBuf | provenance | | +| Test.java:4837:26:4837:33 | source(...) : Object | Test.java:4837:17:4837:33 | (...)... : ByteBuf | provenance | | +| Test.java:4838:4:4838:6 | out [post update] : HttpData | Test.java:4839:9:4839:11 | out | provenance | | +| Test.java:4838:19:4838:20 | in : ByteBuf | Test.java:4838:4:4838:6 | out [post update] : HttpData | provenance | MaD:310 | +| Test.java:4844:18:4844:35 | (...)... : HttpData | Test.java:4845:10:4845:11 | in : HttpData | provenance | | +| Test.java:4844:28:4844:35 | source(...) : Object | Test.java:4844:18:4844:35 | (...)... : HttpData | provenance | | +| Test.java:4845:10:4845:11 | in : HttpData | Test.java:4845:10:4845:17 | get(...) : byte[] | provenance | MaD:311 | +| Test.java:4845:10:4845:17 | get(...) : byte[] | Test.java:4846:9:4846:11 | out | provenance | | +| Test.java:4851:18:4851:35 | (...)... : HttpData | Test.java:4852:10:4852:11 | in : HttpData | provenance | | +| Test.java:4851:28:4851:35 | source(...) : Object | Test.java:4851:18:4851:35 | (...)... : HttpData | provenance | | +| Test.java:4852:10:4852:11 | in : HttpData | Test.java:4852:10:4852:24 | getByteBuf(...) : ByteBuf | provenance | MaD:312 | +| Test.java:4852:10:4852:24 | getByteBuf(...) : ByteBuf | Test.java:4853:9:4853:11 | out | provenance | | +| Test.java:4858:18:4858:35 | (...)... : HttpData | Test.java:4859:10:4859:11 | in : HttpData | provenance | | +| Test.java:4858:28:4858:35 | source(...) : Object | Test.java:4858:18:4858:35 | (...)... : HttpData | provenance | | +| Test.java:4859:10:4859:11 | in : HttpData | Test.java:4859:10:4859:23 | getChunk(...) : ByteBuf | provenance | MaD:313 | +| Test.java:4859:10:4859:23 | getChunk(...) : ByteBuf | Test.java:4860:9:4860:11 | out | provenance | | +| Test.java:4865:18:4865:35 | (...)... : HttpData | Test.java:4866:10:4866:11 | in : HttpData | provenance | | +| Test.java:4865:28:4865:35 | source(...) : Object | Test.java:4865:18:4865:35 | (...)... : HttpData | provenance | | +| Test.java:4866:10:4866:11 | in : HttpData | Test.java:4866:10:4866:23 | getString(...) : String | provenance | MaD:314 | +| Test.java:4866:10:4866:23 | getString(...) : String | Test.java:4867:9:4867:11 | out | provenance | | +| Test.java:4872:18:4872:35 | (...)... : HttpData | Test.java:4873:10:4873:11 | in : HttpData | provenance | | +| Test.java:4872:28:4872:35 | source(...) : Object | Test.java:4872:18:4872:35 | (...)... : HttpData | provenance | | +| Test.java:4873:10:4873:11 | in : HttpData | Test.java:4873:10:4873:27 | getString(...) : String | provenance | MaD:315 | +| Test.java:4873:10:4873:27 | getString(...) : String | Test.java:4874:9:4874:11 | out | provenance | | +| Test.java:4879:17:4879:33 | (...)... : ByteBuf | Test.java:4880:19:4880:20 | in : ByteBuf | provenance | | +| Test.java:4879:26:4879:33 | source(...) : Object | Test.java:4879:17:4879:33 | (...)... : ByteBuf | provenance | | +| Test.java:4880:4:4880:6 | out [post update] : HttpData | Test.java:4881:9:4881:11 | out | provenance | | +| Test.java:4880:19:4880:20 | in : ByteBuf | Test.java:4880:4:4880:6 | out [post update] : HttpData | provenance | MaD:324 | +| Test.java:4886:21:4886:41 | (...)... : InputStream | Test.java:4887:19:4887:20 | in : InputStream | provenance | | +| Test.java:4886:34:4886:41 | source(...) : Object | Test.java:4886:21:4886:41 | (...)... : InputStream | provenance | | +| Test.java:4887:4:4887:6 | out [post update] : HttpData | Test.java:4888:9:4888:11 | out | provenance | | +| Test.java:4887:19:4887:20 | in : InputStream | Test.java:4887:4:4887:6 | out [post update] : HttpData | provenance | MaD:325 | +| Test.java:4893:21:4893:41 | (...)... : HttpRequest | Test.java:4894:52:4894:53 | in : HttpRequest | provenance | | +| Test.java:4893:34:4893:41 | source(...) : Object | Test.java:4893:21:4893:41 | (...)... : HttpRequest | provenance | | +| Test.java:4894:10:4894:54 | new HttpPostMultipartRequestDecoder(...) : HttpPostMultipartRequestDecoder | Test.java:4895:9:4895:11 | out | provenance | | +| Test.java:4894:52:4894:53 | in : HttpRequest | Test.java:4894:10:4894:54 | new HttpPostMultipartRequestDecoder(...) : HttpPostMultipartRequestDecoder | provenance | MaD:307 | +| Test.java:4900:21:4900:41 | (...)... : HttpRequest | Test.java:4901:52:4901:53 | in : HttpRequest | provenance | | +| Test.java:4900:34:4900:41 | source(...) : Object | Test.java:4900:21:4900:41 | (...)... : HttpRequest | provenance | | +| Test.java:4901:10:4901:60 | new HttpPostMultipartRequestDecoder(...) : HttpPostMultipartRequestDecoder | Test.java:4902:9:4902:11 | out | provenance | | +| Test.java:4901:52:4901:53 | in : HttpRequest | Test.java:4901:10:4901:60 | new HttpPostMultipartRequestDecoder(...) : HttpPostMultipartRequestDecoder | provenance | MaD:308 | +| Test.java:4907:21:4907:41 | (...)... : HttpRequest | Test.java:4908:46:4908:47 | in : HttpRequest | provenance | | +| Test.java:4907:34:4907:41 | source(...) : Object | Test.java:4907:21:4907:41 | (...)... : HttpRequest | provenance | | +| Test.java:4908:10:4908:48 | new HttpPostMultipartRequestDecoder(...) : HttpPostMultipartRequestDecoder | Test.java:4909:9:4909:11 | out | provenance | | +| Test.java:4908:46:4908:47 | in : HttpRequest | Test.java:4908:10:4908:48 | new HttpPostMultipartRequestDecoder(...) : HttpPostMultipartRequestDecoder | provenance | MaD:306 | +| Test.java:4914:21:4914:41 | (...)... : HttpRequest | Test.java:4915:43:4915:44 | in : HttpRequest | provenance | | +| Test.java:4914:34:4914:41 | source(...) : Object | Test.java:4914:21:4914:41 | (...)... : HttpRequest | provenance | | +| Test.java:4915:10:4915:45 | new HttpPostRequestDecoder(...) : HttpPostRequestDecoder | Test.java:4916:9:4916:11 | out | provenance | | +| Test.java:4915:43:4915:44 | in : HttpRequest | Test.java:4915:10:4915:45 | new HttpPostRequestDecoder(...) : HttpPostRequestDecoder | provenance | MaD:301 | +| Test.java:4921:21:4921:41 | (...)... : HttpRequest | Test.java:4922:43:4922:44 | in : HttpRequest | provenance | | +| Test.java:4921:34:4921:41 | source(...) : Object | Test.java:4921:21:4921:41 | (...)... : HttpRequest | provenance | | +| Test.java:4922:10:4922:51 | new HttpPostRequestDecoder(...) : HttpPostRequestDecoder | Test.java:4923:9:4923:11 | out | provenance | | +| Test.java:4922:43:4922:44 | in : HttpRequest | Test.java:4922:10:4922:51 | new HttpPostRequestDecoder(...) : HttpPostRequestDecoder | provenance | MaD:302 | +| Test.java:4928:21:4928:41 | (...)... : HttpRequest | Test.java:4929:37:4929:38 | in : HttpRequest | provenance | | +| Test.java:4928:34:4928:41 | source(...) : Object | Test.java:4928:21:4928:41 | (...)... : HttpRequest | provenance | | +| Test.java:4929:10:4929:39 | new HttpPostRequestDecoder(...) : HttpPostRequestDecoder | Test.java:4930:9:4930:11 | out | provenance | | +| Test.java:4929:37:4929:38 | in : HttpRequest | Test.java:4929:10:4929:39 | new HttpPostRequestDecoder(...) : HttpPostRequestDecoder | provenance | MaD:300 | +| Test.java:4935:21:4935:41 | (...)... : HttpRequest | Test.java:4936:51:4936:52 | in : HttpRequest | provenance | | +| Test.java:4935:34:4935:41 | source(...) : Object | Test.java:4935:21:4935:41 | (...)... : HttpRequest | provenance | | +| Test.java:4936:10:4936:53 | new HttpPostStandardRequestDecoder(...) : HttpPostStandardRequestDecoder | Test.java:4937:9:4937:11 | out | provenance | | +| Test.java:4936:51:4936:52 | in : HttpRequest | Test.java:4936:10:4936:53 | new HttpPostStandardRequestDecoder(...) : HttpPostStandardRequestDecoder | provenance | MaD:304 | +| Test.java:4942:21:4942:41 | (...)... : HttpRequest | Test.java:4943:51:4943:52 | in : HttpRequest | provenance | | +| Test.java:4942:34:4942:41 | source(...) : Object | Test.java:4942:21:4942:41 | (...)... : HttpRequest | provenance | | +| Test.java:4943:10:4943:59 | new HttpPostStandardRequestDecoder(...) : HttpPostStandardRequestDecoder | Test.java:4944:9:4944:11 | out | provenance | | +| Test.java:4943:51:4943:52 | in : HttpRequest | Test.java:4943:10:4943:59 | new HttpPostStandardRequestDecoder(...) : HttpPostStandardRequestDecoder | provenance | MaD:305 | +| Test.java:4949:21:4949:41 | (...)... : HttpRequest | Test.java:4950:45:4950:46 | in : HttpRequest | provenance | | +| Test.java:4949:34:4949:41 | source(...) : Object | Test.java:4949:21:4949:41 | (...)... : HttpRequest | provenance | | +| Test.java:4950:10:4950:47 | new HttpPostStandardRequestDecoder(...) : HttpPostStandardRequestDecoder | Test.java:4951:9:4951:11 | out | provenance | | +| Test.java:4950:45:4950:46 | in : HttpRequest | Test.java:4950:10:4950:47 | new HttpPostStandardRequestDecoder(...) : HttpPostStandardRequestDecoder | provenance | MaD:303 | +| Test.java:4956:27:4956:53 | (...)... : InterfaceHttpData | Test.java:4957:10:4957:11 | in : InterfaceHttpData | provenance | | +| Test.java:4956:46:4956:53 | source(...) : Object | Test.java:4956:27:4956:53 | (...)... : InterfaceHttpData | provenance | | +| Test.java:4957:10:4957:11 | in : InterfaceHttpData | Test.java:4957:10:4957:21 | getName(...) : String | provenance | MaD:309 | +| Test.java:4957:10:4957:21 | getName(...) : String | Test.java:4958:9:4958:11 | out | provenance | | +| Test.java:4963:41:4963:81 | (...)... : HttpPostMultipartRequestDecoder | Test.java:4964:10:4964:11 | in : HttpPostMultipartRequestDecoder | provenance | | +| Test.java:4963:74:4963:81 | source(...) : Object | Test.java:4963:41:4963:81 | (...)... : HttpPostMultipartRequestDecoder | provenance | | +| Test.java:4964:10:4964:11 | in : HttpPostMultipartRequestDecoder | Test.java:4964:10:4964:36 | currentPartialHttpData(...) : InterfaceHttpData | provenance | MaD:293 | +| Test.java:4964:10:4964:36 | currentPartialHttpData(...) : InterfaceHttpData | Test.java:4965:9:4965:11 | out | provenance | | +| Test.java:4970:32:4970:63 | (...)... : HttpPostRequestDecoder | Test.java:4971:10:4971:11 | in : HttpPostRequestDecoder | provenance | | +| Test.java:4970:56:4970:63 | source(...) : Object | Test.java:4970:32:4970:63 | (...)... : HttpPostRequestDecoder | provenance | | +| Test.java:4971:10:4971:11 | in : HttpPostRequestDecoder | Test.java:4971:10:4971:36 | currentPartialHttpData(...) : InterfaceHttpData | provenance | MaD:293 | +| Test.java:4971:10:4971:36 | currentPartialHttpData(...) : InterfaceHttpData | Test.java:4972:9:4972:11 | out | provenance | | +| Test.java:4977:40:4977:79 | (...)... : HttpPostStandardRequestDecoder | Test.java:4978:10:4978:11 | in : HttpPostStandardRequestDecoder | provenance | | +| Test.java:4977:72:4977:79 | source(...) : Object | Test.java:4977:40:4977:79 | (...)... : HttpPostStandardRequestDecoder | provenance | | +| Test.java:4978:10:4978:11 | in : HttpPostStandardRequestDecoder | Test.java:4978:10:4978:36 | currentPartialHttpData(...) : InterfaceHttpData | provenance | MaD:293 | +| Test.java:4978:10:4978:36 | currentPartialHttpData(...) : InterfaceHttpData | Test.java:4979:9:4979:11 | out | provenance | | +| Test.java:4984:41:4984:81 | (...)... : InterfaceHttpPostRequestDecoder | Test.java:4985:10:4985:11 | in : InterfaceHttpPostRequestDecoder | provenance | | +| Test.java:4984:74:4984:81 | source(...) : Object | Test.java:4984:41:4984:81 | (...)... : InterfaceHttpPostRequestDecoder | provenance | | +| Test.java:4985:10:4985:11 | in : InterfaceHttpPostRequestDecoder | Test.java:4985:10:4985:36 | currentPartialHttpData(...) : InterfaceHttpData | provenance | MaD:293 | +| Test.java:4985:10:4985:36 | currentPartialHttpData(...) : InterfaceHttpData | Test.java:4986:9:4986:11 | out | provenance | | +| Test.java:4991:41:4991:81 | (...)... : HttpPostMultipartRequestDecoder | Test.java:4992:10:4992:11 | in : HttpPostMultipartRequestDecoder | provenance | | +| Test.java:4991:74:4991:81 | source(...) : Object | Test.java:4991:41:4991:81 | (...)... : HttpPostMultipartRequestDecoder | provenance | | +| Test.java:4992:10:4992:11 | in : HttpPostMultipartRequestDecoder | Test.java:4992:10:4992:33 | getBodyHttpData(...) : InterfaceHttpData | provenance | MaD:294 | +| Test.java:4992:10:4992:33 | getBodyHttpData(...) : InterfaceHttpData | Test.java:4993:9:4993:11 | out | provenance | | +| Test.java:4998:32:4998:63 | (...)... : HttpPostRequestDecoder | Test.java:4999:10:4999:11 | in : HttpPostRequestDecoder | provenance | | +| Test.java:4998:56:4998:63 | source(...) : Object | Test.java:4998:32:4998:63 | (...)... : HttpPostRequestDecoder | provenance | | +| Test.java:4999:10:4999:11 | in : HttpPostRequestDecoder | Test.java:4999:10:4999:33 | getBodyHttpData(...) : InterfaceHttpData | provenance | MaD:294 | +| Test.java:4999:10:4999:33 | getBodyHttpData(...) : InterfaceHttpData | Test.java:5000:9:5000:11 | out | provenance | | +| Test.java:5005:40:5005:79 | (...)... : HttpPostStandardRequestDecoder | Test.java:5006:10:5006:11 | in : HttpPostStandardRequestDecoder | provenance | | +| Test.java:5005:72:5005:79 | source(...) : Object | Test.java:5005:40:5005:79 | (...)... : HttpPostStandardRequestDecoder | provenance | | +| Test.java:5006:10:5006:11 | in : HttpPostStandardRequestDecoder | Test.java:5006:10:5006:33 | getBodyHttpData(...) : InterfaceHttpData | provenance | MaD:294 | +| Test.java:5006:10:5006:33 | getBodyHttpData(...) : InterfaceHttpData | Test.java:5007:9:5007:11 | out | provenance | | +| Test.java:5012:41:5012:81 | (...)... : InterfaceHttpPostRequestDecoder | Test.java:5013:10:5013:11 | in : InterfaceHttpPostRequestDecoder | provenance | | +| Test.java:5012:74:5012:81 | source(...) : Object | Test.java:5012:41:5012:81 | (...)... : InterfaceHttpPostRequestDecoder | provenance | | +| Test.java:5013:10:5013:11 | in : InterfaceHttpPostRequestDecoder | Test.java:5013:10:5013:33 | getBodyHttpData(...) : InterfaceHttpData | provenance | MaD:294 | +| Test.java:5013:10:5013:33 | getBodyHttpData(...) : InterfaceHttpData | Test.java:5014:9:5014:11 | out | provenance | | +| Test.java:5019:41:5019:81 | (...)... : HttpPostMultipartRequestDecoder | Test.java:5020:10:5020:11 | in : HttpPostMultipartRequestDecoder | provenance | | +| Test.java:5019:74:5019:81 | source(...) : Object | Test.java:5019:41:5019:81 | (...)... : HttpPostMultipartRequestDecoder | provenance | | +| Test.java:5020:10:5020:11 | in : HttpPostMultipartRequestDecoder | Test.java:5020:10:5020:30 | getBodyHttpDatas(...) : List | provenance | MaD:295 | +| Test.java:5020:10:5020:30 | getBodyHttpDatas(...) : List | Test.java:5021:9:5021:11 | out | provenance | | +| Test.java:5026:32:5026:63 | (...)... : HttpPostRequestDecoder | Test.java:5027:10:5027:11 | in : HttpPostRequestDecoder | provenance | | +| Test.java:5026:56:5026:63 | source(...) : Object | Test.java:5026:32:5026:63 | (...)... : HttpPostRequestDecoder | provenance | | +| Test.java:5027:10:5027:11 | in : HttpPostRequestDecoder | Test.java:5027:10:5027:30 | getBodyHttpDatas(...) : List | provenance | MaD:295 | +| Test.java:5027:10:5027:30 | getBodyHttpDatas(...) : List | Test.java:5028:9:5028:11 | out | provenance | | +| Test.java:5033:40:5033:79 | (...)... : HttpPostStandardRequestDecoder | Test.java:5034:10:5034:11 | in : HttpPostStandardRequestDecoder | provenance | | +| Test.java:5033:72:5033:79 | source(...) : Object | Test.java:5033:40:5033:79 | (...)... : HttpPostStandardRequestDecoder | provenance | | +| Test.java:5034:10:5034:11 | in : HttpPostStandardRequestDecoder | Test.java:5034:10:5034:30 | getBodyHttpDatas(...) : List | provenance | MaD:295 | +| Test.java:5034:10:5034:30 | getBodyHttpDatas(...) : List | Test.java:5035:9:5035:11 | out | provenance | | +| Test.java:5040:41:5040:81 | (...)... : InterfaceHttpPostRequestDecoder | Test.java:5041:10:5041:11 | in : InterfaceHttpPostRequestDecoder | provenance | | +| Test.java:5040:74:5040:81 | source(...) : Object | Test.java:5040:41:5040:81 | (...)... : InterfaceHttpPostRequestDecoder | provenance | | +| Test.java:5041:10:5041:11 | in : InterfaceHttpPostRequestDecoder | Test.java:5041:10:5041:30 | getBodyHttpDatas(...) : List | provenance | MaD:295 | +| Test.java:5041:10:5041:30 | getBodyHttpDatas(...) : List | Test.java:5042:9:5042:11 | out | provenance | | +| Test.java:5047:41:5047:81 | (...)... : HttpPostMultipartRequestDecoder | Test.java:5048:10:5048:11 | in : HttpPostMultipartRequestDecoder | provenance | | +| Test.java:5047:74:5047:81 | source(...) : Object | Test.java:5047:41:5047:81 | (...)... : HttpPostMultipartRequestDecoder | provenance | | +| Test.java:5048:10:5048:11 | in : HttpPostMultipartRequestDecoder | Test.java:5048:10:5048:34 | getBodyHttpDatas(...) : List | provenance | MaD:296 | +| Test.java:5048:10:5048:34 | getBodyHttpDatas(...) : List | Test.java:5049:9:5049:11 | out | provenance | | +| Test.java:5054:32:5054:63 | (...)... : HttpPostRequestDecoder | Test.java:5055:10:5055:11 | in : HttpPostRequestDecoder | provenance | | +| Test.java:5054:56:5054:63 | source(...) : Object | Test.java:5054:32:5054:63 | (...)... : HttpPostRequestDecoder | provenance | | +| Test.java:5055:10:5055:11 | in : HttpPostRequestDecoder | Test.java:5055:10:5055:34 | getBodyHttpDatas(...) : List | provenance | MaD:296 | +| Test.java:5055:10:5055:34 | getBodyHttpDatas(...) : List | Test.java:5056:9:5056:11 | out | provenance | | +| Test.java:5061:40:5061:79 | (...)... : HttpPostStandardRequestDecoder | Test.java:5062:10:5062:11 | in : HttpPostStandardRequestDecoder | provenance | | +| Test.java:5061:72:5061:79 | source(...) : Object | Test.java:5061:40:5061:79 | (...)... : HttpPostStandardRequestDecoder | provenance | | +| Test.java:5062:10:5062:11 | in : HttpPostStandardRequestDecoder | Test.java:5062:10:5062:34 | getBodyHttpDatas(...) : List | provenance | MaD:296 | +| Test.java:5062:10:5062:34 | getBodyHttpDatas(...) : List | Test.java:5063:9:5063:11 | out | provenance | | +| Test.java:5068:41:5068:81 | (...)... : InterfaceHttpPostRequestDecoder | Test.java:5069:10:5069:11 | in : InterfaceHttpPostRequestDecoder | provenance | | +| Test.java:5068:74:5068:81 | source(...) : Object | Test.java:5068:41:5068:81 | (...)... : InterfaceHttpPostRequestDecoder | provenance | | +| Test.java:5069:10:5069:11 | in : InterfaceHttpPostRequestDecoder | Test.java:5069:10:5069:34 | getBodyHttpDatas(...) : List | provenance | MaD:296 | +| Test.java:5069:10:5069:34 | getBodyHttpDatas(...) : List | Test.java:5070:9:5070:11 | out | provenance | | +| Test.java:5075:41:5075:81 | (...)... : HttpPostMultipartRequestDecoder | Test.java:5076:10:5076:11 | in : HttpPostMultipartRequestDecoder | provenance | | +| Test.java:5075:74:5075:81 | source(...) : Object | Test.java:5075:41:5075:81 | (...)... : HttpPostMultipartRequestDecoder | provenance | | +| Test.java:5076:10:5076:11 | in : HttpPostMultipartRequestDecoder | Test.java:5076:10:5076:18 | next(...) : InterfaceHttpData | provenance | MaD:297 | +| Test.java:5076:10:5076:18 | next(...) : InterfaceHttpData | Test.java:5077:9:5077:11 | out | provenance | | +| Test.java:5082:32:5082:63 | (...)... : HttpPostRequestDecoder | Test.java:5083:10:5083:11 | in : HttpPostRequestDecoder | provenance | | +| Test.java:5082:56:5082:63 | source(...) : Object | Test.java:5082:32:5082:63 | (...)... : HttpPostRequestDecoder | provenance | | +| Test.java:5083:10:5083:11 | in : HttpPostRequestDecoder | Test.java:5083:10:5083:18 | next(...) : InterfaceHttpData | provenance | MaD:297 | +| Test.java:5083:10:5083:18 | next(...) : InterfaceHttpData | Test.java:5084:9:5084:11 | out | provenance | | +| Test.java:5089:40:5089:79 | (...)... : HttpPostStandardRequestDecoder | Test.java:5090:10:5090:11 | in : HttpPostStandardRequestDecoder | provenance | | +| Test.java:5089:72:5089:79 | source(...) : Object | Test.java:5089:40:5089:79 | (...)... : HttpPostStandardRequestDecoder | provenance | | +| Test.java:5090:10:5090:11 | in : HttpPostStandardRequestDecoder | Test.java:5090:10:5090:18 | next(...) : InterfaceHttpData | provenance | MaD:297 | +| Test.java:5090:10:5090:18 | next(...) : InterfaceHttpData | Test.java:5091:9:5091:11 | out | provenance | | +| Test.java:5096:41:5096:81 | (...)... : InterfaceHttpPostRequestDecoder | Test.java:5097:10:5097:11 | in : InterfaceHttpPostRequestDecoder | provenance | | +| Test.java:5096:74:5096:81 | source(...) : Object | Test.java:5096:41:5096:81 | (...)... : InterfaceHttpPostRequestDecoder | provenance | | +| Test.java:5097:10:5097:11 | in : InterfaceHttpPostRequestDecoder | Test.java:5097:10:5097:18 | next(...) : InterfaceHttpData | provenance | MaD:297 | +| Test.java:5097:10:5097:18 | next(...) : InterfaceHttpData | Test.java:5098:9:5098:11 | out | provenance | | +| Test.java:5103:41:5103:81 | (...)... : HttpPostMultipartRequestDecoder | Test.java:5104:10:5104:11 | in : HttpPostMultipartRequestDecoder | provenance | | +| Test.java:5103:74:5103:81 | source(...) : Object | Test.java:5103:41:5103:81 | (...)... : HttpPostMultipartRequestDecoder | provenance | | +| Test.java:5104:10:5104:11 | in : HttpPostMultipartRequestDecoder | Test.java:5104:10:5104:23 | offer(...) : HttpPostMultipartRequestDecoder | provenance | MaD:299 | +| Test.java:5104:10:5104:23 | offer(...) : HttpPostMultipartRequestDecoder | Test.java:5105:9:5105:11 | out | provenance | | +| Test.java:5110:40:5110:79 | (...)... : HttpPostStandardRequestDecoder | Test.java:5111:10:5111:11 | in : HttpPostStandardRequestDecoder | provenance | | +| Test.java:5110:72:5110:79 | source(...) : Object | Test.java:5110:40:5110:79 | (...)... : HttpPostStandardRequestDecoder | provenance | | +| Test.java:5111:10:5111:11 | in : HttpPostStandardRequestDecoder | Test.java:5111:10:5111:23 | offer(...) : HttpPostStandardRequestDecoder | provenance | MaD:299 | +| Test.java:5111:10:5111:23 | offer(...) : HttpPostStandardRequestDecoder | Test.java:5112:9:5112:11 | out | provenance | | +| Test.java:5117:32:5117:63 | (...)... : HttpPostRequestDecoder | Test.java:5118:10:5118:11 | in : HttpPostRequestDecoder | provenance | | +| Test.java:5117:56:5117:63 | source(...) : Object | Test.java:5117:32:5117:63 | (...)... : HttpPostRequestDecoder | provenance | | +| Test.java:5118:10:5118:11 | in : HttpPostRequestDecoder | Test.java:5118:10:5118:23 | offer(...) : HttpPostRequestDecoder | provenance | MaD:299 | +| Test.java:5118:10:5118:23 | offer(...) : HttpPostRequestDecoder | Test.java:5119:9:5119:11 | out | provenance | | +| Test.java:5124:41:5124:81 | (...)... : InterfaceHttpPostRequestDecoder | Test.java:5125:10:5125:11 | in : InterfaceHttpPostRequestDecoder | provenance | | +| Test.java:5124:74:5124:81 | source(...) : Object | Test.java:5124:41:5124:81 | (...)... : InterfaceHttpPostRequestDecoder | provenance | | +| Test.java:5125:10:5125:11 | in : InterfaceHttpPostRequestDecoder | Test.java:5125:10:5125:23 | offer(...) : InterfaceHttpPostRequestDecoder | provenance | MaD:299 | +| Test.java:5125:10:5125:23 | offer(...) : InterfaceHttpPostRequestDecoder | Test.java:5126:9:5126:11 | out | provenance | | +| Test.java:5131:21:5131:41 | (...)... : HttpContent | Test.java:5132:14:5132:15 | in : HttpContent | provenance | | +| Test.java:5131:34:5131:41 | source(...) : Object | Test.java:5131:21:5131:41 | (...)... : HttpContent | provenance | | +| Test.java:5132:4:5132:6 | out [post update] : HttpPostMultipartRequestDecoder | Test.java:5133:9:5133:11 | out | provenance | | +| Test.java:5132:14:5132:15 | in : HttpContent | Test.java:5132:4:5132:6 | out [post update] : HttpPostMultipartRequestDecoder | provenance | MaD:298 | +| Test.java:5138:21:5138:41 | (...)... : HttpContent | Test.java:5139:14:5139:15 | in : HttpContent | provenance | | +| Test.java:5138:34:5138:41 | source(...) : Object | Test.java:5138:21:5138:41 | (...)... : HttpContent | provenance | | +| Test.java:5139:4:5139:6 | out [post update] : HttpPostRequestDecoder | Test.java:5140:9:5140:11 | out | provenance | | +| Test.java:5139:14:5139:15 | in : HttpContent | Test.java:5139:4:5139:6 | out [post update] : HttpPostRequestDecoder | provenance | MaD:298 | +| Test.java:5145:21:5145:41 | (...)... : HttpContent | Test.java:5146:14:5146:15 | in : HttpContent | provenance | | +| Test.java:5145:34:5145:41 | source(...) : Object | Test.java:5145:21:5145:41 | (...)... : HttpContent | provenance | | +| Test.java:5146:4:5146:6 | out [post update] : HttpPostStandardRequestDecoder | Test.java:5147:9:5147:11 | out | provenance | | +| Test.java:5146:14:5146:15 | in : HttpContent | Test.java:5146:4:5146:6 | out [post update] : HttpPostStandardRequestDecoder | provenance | MaD:298 | +| Test.java:5152:21:5152:41 | (...)... : HttpContent | Test.java:5153:14:5153:15 | in : HttpContent | provenance | | +| Test.java:5152:34:5152:41 | source(...) : Object | Test.java:5152:21:5152:41 | (...)... : HttpContent | provenance | | +| Test.java:5153:4:5153:6 | out [post update] : InterfaceHttpPostRequestDecoder | Test.java:5154:9:5154:11 | out | provenance | | +| Test.java:5153:14:5153:15 | in : HttpContent | Test.java:5153:4:5153:6 | out [post update] : InterfaceHttpPostRequestDecoder | provenance | MaD:298 | +| Test.java:5159:17:5159:33 | (...)... : ByteBuf | Test.java:5160:35:5160:36 | in : ByteBuf | provenance | | +| Test.java:5159:26:5159:33 | source(...) : Object | Test.java:5159:17:5159:33 | (...)... : ByteBuf | provenance | | +| Test.java:5160:10:5160:37 | new BinaryWebSocketFrame(...) : BinaryWebSocketFrame | Test.java:5161:9:5161:11 | out | provenance | | +| Test.java:5160:35:5160:36 | in : ByteBuf | Test.java:5160:10:5160:37 | new BinaryWebSocketFrame(...) : BinaryWebSocketFrame | provenance | MaD:332 | +| Test.java:5166:17:5166:33 | (...)... : ByteBuf | Test.java:5167:45:5167:46 | in : ByteBuf | provenance | | +| Test.java:5166:26:5166:33 | source(...) : Object | Test.java:5166:17:5166:33 | (...)... : ByteBuf | provenance | | +| Test.java:5167:10:5167:47 | new BinaryWebSocketFrame(...) : BinaryWebSocketFrame | Test.java:5168:9:5168:11 | out | provenance | | +| Test.java:5167:45:5167:46 | in : ByteBuf | Test.java:5167:10:5167:47 | new BinaryWebSocketFrame(...) : BinaryWebSocketFrame | provenance | MaD:331 | +| Test.java:5173:16:5173:31 | (...)... : String | Test.java:5174:62:5174:63 | in : String | provenance | | +| Test.java:5173:24:5173:31 | source(...) : Object | Test.java:5173:16:5173:31 | (...)... : String | provenance | | +| Test.java:5174:10:5174:64 | new CloseWebSocketFrame(...) : CloseWebSocketFrame | Test.java:5175:9:5175:11 | out | provenance | | +| Test.java:5174:62:5174:63 | in : String | Test.java:5174:10:5174:64 | new CloseWebSocketFrame(...) : CloseWebSocketFrame | provenance | MaD:329 | +| Test.java:5180:17:5180:33 | (...)... : ByteBuf | Test.java:5181:44:5181:45 | in : ByteBuf | provenance | | +| Test.java:5180:26:5180:33 | source(...) : Object | Test.java:5180:17:5180:33 | (...)... : ByteBuf | provenance | | +| Test.java:5181:10:5181:46 | new CloseWebSocketFrame(...) : CloseWebSocketFrame | Test.java:5182:9:5182:11 | out | provenance | | +| Test.java:5181:44:5181:45 | in : ByteBuf | Test.java:5181:10:5181:46 | new CloseWebSocketFrame(...) : CloseWebSocketFrame | provenance | MaD:326 | +| Test.java:5187:16:5187:31 | (...)... : String | Test.java:5188:47:5188:48 | in : String | provenance | | +| Test.java:5187:24:5187:31 | source(...) : Object | Test.java:5187:16:5187:31 | (...)... : String | provenance | | +| Test.java:5188:10:5188:49 | new CloseWebSocketFrame(...) : CloseWebSocketFrame | Test.java:5189:9:5189:11 | out | provenance | | +| Test.java:5188:47:5188:48 | in : String | Test.java:5188:10:5188:49 | new CloseWebSocketFrame(...) : CloseWebSocketFrame | provenance | MaD:327 | +| Test.java:5194:16:5194:31 | (...)... : String | Test.java:5195:37:5195:38 | in : String | provenance | | +| Test.java:5194:24:5194:31 | source(...) : Object | Test.java:5194:16:5194:31 | (...)... : String | provenance | | +| Test.java:5195:10:5195:39 | new CloseWebSocketFrame(...) : CloseWebSocketFrame | Test.java:5196:9:5196:11 | out | provenance | | +| Test.java:5195:37:5195:38 | in : String | Test.java:5195:10:5195:39 | new CloseWebSocketFrame(...) : CloseWebSocketFrame | provenance | MaD:328 | +| Test.java:5201:29:5201:57 | (...)... : CloseWebSocketFrame | Test.java:5202:10:5202:11 | in : CloseWebSocketFrame | provenance | | +| Test.java:5201:50:5201:57 | source(...) : Object | Test.java:5201:29:5201:57 | (...)... : CloseWebSocketFrame | provenance | | +| Test.java:5202:10:5202:11 | in : CloseWebSocketFrame | Test.java:5202:10:5202:24 | reasonText(...) : String | provenance | MaD:330 | +| Test.java:5202:10:5202:24 | reasonText(...) : String | Test.java:5203:9:5203:11 | out | provenance | | +| Test.java:5208:17:5208:33 | (...)... : ByteBuf | Test.java:5209:41:5209:42 | in : ByteBuf | provenance | | +| Test.java:5208:26:5208:33 | source(...) : Object | Test.java:5208:17:5208:33 | (...)... : ByteBuf | provenance | | +| Test.java:5209:10:5209:43 | new ContinuationWebSocketFrame(...) : ContinuationWebSocketFrame | Test.java:5210:9:5210:11 | out | provenance | | +| Test.java:5209:41:5209:42 | in : ByteBuf | Test.java:5209:10:5209:43 | new ContinuationWebSocketFrame(...) : ContinuationWebSocketFrame | provenance | MaD:335 | +| Test.java:5215:17:5215:33 | (...)... : ByteBuf | Test.java:5216:51:5216:52 | in : ByteBuf | provenance | | +| Test.java:5215:26:5215:33 | source(...) : Object | Test.java:5215:17:5215:33 | (...)... : ByteBuf | provenance | | +| Test.java:5216:10:5216:53 | new ContinuationWebSocketFrame(...) : ContinuationWebSocketFrame | Test.java:5217:9:5217:11 | out | provenance | | +| Test.java:5216:51:5216:52 | in : ByteBuf | Test.java:5216:10:5216:53 | new ContinuationWebSocketFrame(...) : ContinuationWebSocketFrame | provenance | MaD:333 | +| Test.java:5222:16:5222:31 | (...)... : String | Test.java:5223:51:5223:52 | in : String | provenance | | +| Test.java:5222:24:5222:31 | source(...) : Object | Test.java:5222:16:5222:31 | (...)... : String | provenance | | +| Test.java:5223:10:5223:53 | new ContinuationWebSocketFrame(...) : ContinuationWebSocketFrame | Test.java:5224:9:5224:11 | out | provenance | | +| Test.java:5223:51:5223:52 | in : String | Test.java:5223:10:5223:53 | new ContinuationWebSocketFrame(...) : ContinuationWebSocketFrame | provenance | MaD:334 | +| Test.java:5229:36:5229:71 | (...)... : ContinuationWebSocketFrame | Test.java:5230:10:5230:11 | in : ContinuationWebSocketFrame | provenance | | +| Test.java:5229:64:5229:71 | source(...) : Object | Test.java:5229:36:5229:71 | (...)... : ContinuationWebSocketFrame | provenance | | +| Test.java:5230:10:5230:11 | in : ContinuationWebSocketFrame | Test.java:5230:10:5230:18 | text(...) : String | provenance | MaD:336 | +| Test.java:5230:10:5230:18 | text(...) : String | Test.java:5231:9:5231:11 | out | provenance | | +| Test.java:5236:17:5236:33 | (...)... : ByteBuf | Test.java:5237:33:5237:34 | in : ByteBuf | provenance | | +| Test.java:5236:26:5236:33 | source(...) : Object | Test.java:5236:17:5236:33 | (...)... : ByteBuf | provenance | | +| Test.java:5237:10:5237:35 | new PingWebSocketFrame(...) : PingWebSocketFrame | Test.java:5238:9:5238:11 | out | provenance | | +| Test.java:5237:33:5237:34 | in : ByteBuf | Test.java:5237:10:5237:35 | new PingWebSocketFrame(...) : PingWebSocketFrame | provenance | MaD:338 | +| Test.java:5243:17:5243:33 | (...)... : ByteBuf | Test.java:5244:43:5244:44 | in : ByteBuf | provenance | | +| Test.java:5243:26:5243:33 | source(...) : Object | Test.java:5243:17:5243:33 | (...)... : ByteBuf | provenance | | +| Test.java:5244:10:5244:45 | new PingWebSocketFrame(...) : PingWebSocketFrame | Test.java:5245:9:5245:11 | out | provenance | | +| Test.java:5244:43:5244:44 | in : ByteBuf | Test.java:5244:10:5244:45 | new PingWebSocketFrame(...) : PingWebSocketFrame | provenance | MaD:337 | +| Test.java:5250:17:5250:33 | (...)... : ByteBuf | Test.java:5251:33:5251:34 | in : ByteBuf | provenance | | +| Test.java:5250:26:5250:33 | source(...) : Object | Test.java:5250:17:5250:33 | (...)... : ByteBuf | provenance | | +| Test.java:5251:10:5251:35 | new PongWebSocketFrame(...) : PongWebSocketFrame | Test.java:5252:9:5252:11 | out | provenance | | +| Test.java:5251:33:5251:34 | in : ByteBuf | Test.java:5251:10:5251:35 | new PongWebSocketFrame(...) : PongWebSocketFrame | provenance | MaD:340 | +| Test.java:5257:17:5257:33 | (...)... : ByteBuf | Test.java:5258:43:5258:44 | in : ByteBuf | provenance | | +| Test.java:5257:26:5257:33 | source(...) : Object | Test.java:5257:17:5257:33 | (...)... : ByteBuf | provenance | | +| Test.java:5258:10:5258:45 | new PongWebSocketFrame(...) : PongWebSocketFrame | Test.java:5259:9:5259:11 | out | provenance | | +| Test.java:5258:43:5258:44 | in : ByteBuf | Test.java:5258:10:5258:45 | new PongWebSocketFrame(...) : PongWebSocketFrame | provenance | MaD:339 | +| Test.java:5264:17:5264:33 | (...)... : ByteBuf | Test.java:5265:33:5265:34 | in : ByteBuf | provenance | | +| Test.java:5264:26:5264:33 | source(...) : Object | Test.java:5264:17:5264:33 | (...)... : ByteBuf | provenance | | +| Test.java:5265:10:5265:35 | new TextWebSocketFrame(...) : TextWebSocketFrame | Test.java:5266:9:5266:11 | out | provenance | | +| Test.java:5265:33:5265:34 | in : ByteBuf | Test.java:5265:10:5265:35 | new TextWebSocketFrame(...) : TextWebSocketFrame | provenance | MaD:344 | +| Test.java:5271:16:5271:31 | (...)... : String | Test.java:5272:33:5272:34 | in : String | provenance | | +| Test.java:5271:24:5271:31 | source(...) : Object | Test.java:5271:16:5271:31 | (...)... : String | provenance | | +| Test.java:5272:10:5272:35 | new TextWebSocketFrame(...) : TextWebSocketFrame | Test.java:5273:9:5273:11 | out | provenance | | +| Test.java:5272:33:5272:34 | in : String | Test.java:5272:10:5272:35 | new TextWebSocketFrame(...) : TextWebSocketFrame | provenance | MaD:343 | +| Test.java:5278:17:5278:33 | (...)... : ByteBuf | Test.java:5279:43:5279:44 | in : ByteBuf | provenance | | +| Test.java:5278:26:5278:33 | source(...) : Object | Test.java:5278:17:5278:33 | (...)... : ByteBuf | provenance | | +| Test.java:5279:10:5279:45 | new TextWebSocketFrame(...) : TextWebSocketFrame | Test.java:5280:9:5280:11 | out | provenance | | +| Test.java:5279:43:5279:44 | in : ByteBuf | Test.java:5279:10:5279:45 | new TextWebSocketFrame(...) : TextWebSocketFrame | provenance | MaD:341 | +| Test.java:5285:16:5285:31 | (...)... : String | Test.java:5286:43:5286:44 | in : String | provenance | | +| Test.java:5285:24:5285:31 | source(...) : Object | Test.java:5285:16:5285:31 | (...)... : String | provenance | | +| Test.java:5286:10:5286:45 | new TextWebSocketFrame(...) : TextWebSocketFrame | Test.java:5287:9:5287:11 | out | provenance | | +| Test.java:5286:43:5286:44 | in : String | Test.java:5286:10:5286:45 | new TextWebSocketFrame(...) : TextWebSocketFrame | provenance | MaD:342 | +| Test.java:5292:28:5292:55 | (...)... : TextWebSocketFrame | Test.java:5293:10:5293:11 | in : TextWebSocketFrame | provenance | | +| Test.java:5292:48:5292:55 | source(...) : Object | Test.java:5292:28:5292:55 | (...)... : TextWebSocketFrame | provenance | | +| Test.java:5293:10:5293:11 | in : TextWebSocketFrame | Test.java:5293:10:5293:18 | text(...) : String | provenance | MaD:345 | +| Test.java:5293:10:5293:18 | text(...) : String | Test.java:5294:9:5294:11 | out | provenance | | +| Test.java:5299:22:5299:90 | (...)... : Http2Headers [, ] : Object | Test.java:5300:10:5300:11 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5299:36:5299:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5299:22:5299:90 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5299:58:5299:89 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5299:36:5299:90 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5299:81:5299:88 | source(...) : Object | Test.java:5299:58:5299:89 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5300:10:5300:11 | in : Http2Headers [, ] : Object | Test.java:5300:10:5300:23 | authority(...) : CharSequence | provenance | MaD:346 | +| Test.java:5300:10:5300:23 | authority(...) : CharSequence | Test.java:5301:9:5301:11 | out | provenance | | +| Test.java:5306:22:5306:43 | (...)... : Http2Headers | Test.java:5307:10:5307:11 | in : Http2Headers | provenance | | +| Test.java:5306:36:5306:43 | source(...) : Object | Test.java:5306:22:5306:43 | (...)... : Http2Headers | provenance | | +| Test.java:5307:10:5307:11 | in : Http2Headers | Test.java:5307:10:5307:27 | authority(...) : Http2Headers | provenance | MaD:348 | +| Test.java:5307:10:5307:27 | authority(...) : Http2Headers | Test.java:5308:9:5308:11 | out | provenance | | +| Test.java:5313:22:5313:43 | (...)... : CharSequence | Test.java:5314:18:5314:19 | in : CharSequence | provenance | | +| Test.java:5313:36:5313:43 | source(...) : Object | Test.java:5313:22:5313:43 | (...)... : CharSequence | provenance | | +| Test.java:5314:4:5314:6 | out [post update] : Http2Headers [, ] : CharSequence | Test.java:5315:39:5315:41 | out : Http2Headers [, ] : CharSequence | provenance | | +| Test.java:5314:18:5314:19 | in : CharSequence | Test.java:5314:4:5314:6 | out [post update] : Http2Headers [, ] : CharSequence | provenance | MaD:347 | +| Test.java:5315:28:5315:42 | getElement(...) : Entry [] : CharSequence | Test.java:5315:9:5315:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5315:39:5315:41 | out : Http2Headers [, ] : CharSequence | Test.java:5315:28:5315:42 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | +| Test.java:5320:22:5320:90 | (...)... : Http2Headers [, ] : Object | Test.java:5321:10:5321:11 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5320:36:5320:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5320:22:5320:90 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5320:58:5320:89 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5320:36:5320:90 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5320:81:5320:88 | source(...) : Object | Test.java:5320:58:5320:89 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5321:10:5321:11 | in : Http2Headers [, ] : Object | Test.java:5321:10:5321:20 | method(...) : CharSequence | provenance | MaD:349 | +| Test.java:5321:10:5321:20 | method(...) : CharSequence | Test.java:5322:9:5322:11 | out | provenance | | +| Test.java:5327:22:5327:43 | (...)... : Http2Headers | Test.java:5328:10:5328:11 | in : Http2Headers | provenance | | +| Test.java:5327:36:5327:43 | source(...) : Object | Test.java:5327:22:5327:43 | (...)... : Http2Headers | provenance | | +| Test.java:5328:10:5328:11 | in : Http2Headers | Test.java:5328:10:5328:24 | method(...) : Http2Headers | provenance | MaD:351 | +| Test.java:5328:10:5328:24 | method(...) : Http2Headers | Test.java:5329:9:5329:11 | out | provenance | | +| Test.java:5334:22:5334:43 | (...)... : CharSequence | Test.java:5335:15:5335:16 | in : CharSequence | provenance | | +| Test.java:5334:36:5334:43 | source(...) : Object | Test.java:5334:22:5334:43 | (...)... : CharSequence | provenance | | +| Test.java:5335:4:5335:6 | out [post update] : Http2Headers [, ] : CharSequence | Test.java:5336:39:5336:41 | out : Http2Headers [, ] : CharSequence | provenance | | +| Test.java:5335:15:5335:16 | in : CharSequence | Test.java:5335:4:5335:6 | out [post update] : Http2Headers [, ] : CharSequence | provenance | MaD:350 | +| Test.java:5336:28:5336:42 | getElement(...) : Entry [] : CharSequence | Test.java:5336:9:5336:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5336:39:5336:41 | out : Http2Headers [, ] : CharSequence | Test.java:5336:28:5336:42 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | +| Test.java:5341:22:5341:90 | (...)... : Http2Headers [, ] : Object | Test.java:5342:10:5342:11 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5341:36:5341:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5341:22:5341:90 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5341:58:5341:89 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5341:36:5341:90 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5341:81:5341:88 | source(...) : Object | Test.java:5341:58:5341:89 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5342:10:5342:11 | in : Http2Headers [, ] : Object | Test.java:5342:10:5342:18 | path(...) : CharSequence | provenance | MaD:352 | +| Test.java:5342:10:5342:18 | path(...) : CharSequence | Test.java:5343:9:5343:11 | out | provenance | | +| Test.java:5348:22:5348:43 | (...)... : Http2Headers | Test.java:5349:10:5349:11 | in : Http2Headers | provenance | | +| Test.java:5348:36:5348:43 | source(...) : Object | Test.java:5348:22:5348:43 | (...)... : Http2Headers | provenance | | +| Test.java:5349:10:5349:11 | in : Http2Headers | Test.java:5349:10:5349:22 | path(...) : Http2Headers | provenance | MaD:354 | +| Test.java:5349:10:5349:22 | path(...) : Http2Headers | Test.java:5350:9:5350:11 | out | provenance | | +| Test.java:5355:22:5355:43 | (...)... : CharSequence | Test.java:5356:13:5356:14 | in : CharSequence | provenance | | +| Test.java:5355:36:5355:43 | source(...) : Object | Test.java:5355:22:5355:43 | (...)... : CharSequence | provenance | | +| Test.java:5356:4:5356:6 | out [post update] : Http2Headers [, ] : CharSequence | Test.java:5357:39:5357:41 | out : Http2Headers [, ] : CharSequence | provenance | | +| Test.java:5356:13:5356:14 | in : CharSequence | Test.java:5356:4:5356:6 | out [post update] : Http2Headers [, ] : CharSequence | provenance | MaD:353 | +| Test.java:5357:28:5357:42 | getElement(...) : Entry [] : CharSequence | Test.java:5357:9:5357:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5357:39:5357:41 | out : Http2Headers [, ] : CharSequence | Test.java:5357:28:5357:42 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | +| Test.java:5362:22:5362:90 | (...)... : Http2Headers [, ] : Object | Test.java:5363:10:5363:11 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5362:36:5362:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5362:22:5362:90 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5362:58:5362:89 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5362:36:5362:90 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5362:81:5362:88 | source(...) : Object | Test.java:5362:58:5362:89 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5363:10:5363:11 | in : Http2Headers [, ] : Object | Test.java:5363:10:5363:20 | scheme(...) : CharSequence | provenance | MaD:355 | +| Test.java:5363:10:5363:20 | scheme(...) : CharSequence | Test.java:5364:9:5364:11 | out | provenance | | +| Test.java:5369:22:5369:43 | (...)... : Http2Headers | Test.java:5370:10:5370:11 | in : Http2Headers | provenance | | +| Test.java:5369:36:5369:43 | source(...) : Object | Test.java:5369:22:5369:43 | (...)... : Http2Headers | provenance | | +| Test.java:5370:10:5370:11 | in : Http2Headers | Test.java:5370:10:5370:24 | scheme(...) : Http2Headers | provenance | MaD:357 | +| Test.java:5370:10:5370:24 | scheme(...) : Http2Headers | Test.java:5371:9:5371:11 | out | provenance | | +| Test.java:5376:22:5376:43 | (...)... : CharSequence | Test.java:5377:15:5377:16 | in : CharSequence | provenance | | +| Test.java:5376:36:5376:43 | source(...) : Object | Test.java:5376:22:5376:43 | (...)... : CharSequence | provenance | | +| Test.java:5377:4:5377:6 | out [post update] : Http2Headers [, ] : CharSequence | Test.java:5378:39:5378:41 | out : Http2Headers [, ] : CharSequence | provenance | | +| Test.java:5377:15:5377:16 | in : CharSequence | Test.java:5377:4:5377:6 | out [post update] : Http2Headers [, ] : CharSequence | provenance | MaD:356 | +| Test.java:5378:28:5378:42 | getElement(...) : Entry [] : CharSequence | Test.java:5378:9:5378:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5378:39:5378:41 | out : Http2Headers [, ] : CharSequence | Test.java:5378:28:5378:42 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | +| Test.java:5383:22:5383:90 | (...)... : Http2Headers [, ] : Object | Test.java:5384:10:5384:11 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5383:36:5383:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5383:22:5383:90 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5383:58:5383:89 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5383:36:5383:90 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5383:81:5383:88 | source(...) : Object | Test.java:5383:58:5383:89 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5384:10:5384:11 | in : Http2Headers [, ] : Object | Test.java:5384:10:5384:20 | status(...) : CharSequence | provenance | MaD:358 | +| Test.java:5384:10:5384:20 | status(...) : CharSequence | Test.java:5385:9:5385:11 | out | provenance | | +| Test.java:5390:22:5390:43 | (...)... : Http2Headers | Test.java:5391:10:5391:11 | in : Http2Headers | provenance | | +| Test.java:5390:36:5390:43 | source(...) : Object | Test.java:5390:22:5390:43 | (...)... : Http2Headers | provenance | | +| Test.java:5391:10:5391:11 | in : Http2Headers | Test.java:5391:10:5391:24 | status(...) : Http2Headers | provenance | MaD:360 | +| Test.java:5391:10:5391:24 | status(...) : Http2Headers | Test.java:5392:9:5392:11 | out | provenance | | +| Test.java:5397:22:5397:43 | (...)... : CharSequence | Test.java:5398:15:5398:16 | in : CharSequence | provenance | | +| Test.java:5397:36:5397:43 | source(...) : Object | Test.java:5397:22:5397:43 | (...)... : CharSequence | provenance | | +| Test.java:5398:4:5398:6 | out [post update] : Http2Headers [, ] : CharSequence | Test.java:5399:39:5399:41 | out : Http2Headers [, ] : CharSequence | provenance | | +| Test.java:5398:15:5398:16 | in : CharSequence | Test.java:5398:4:5398:6 | out [post update] : Http2Headers [, ] : CharSequence | provenance | MaD:359 | +| Test.java:5399:28:5399:42 | getElement(...) : Entry [] : CharSequence | Test.java:5399:9:5399:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5399:39:5399:41 | out : Http2Headers [, ] : CharSequence | Test.java:5399:28:5399:42 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | +| Test.java:5404:22:5404:90 | (...)... : Http2Headers [, ] : Object | Test.java:5405:10:5405:11 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5404:36:5404:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5404:22:5404:90 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5404:58:5404:89 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5404:36:5404:90 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5404:81:5404:88 | source(...) : Object | Test.java:5404:58:5404:89 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5405:10:5405:11 | in : Http2Headers [, ] : Object | Test.java:5405:10:5405:31 | valueIterator(...) : Iterator [] : Object | provenance | MaD:361 | +| Test.java:5405:10:5405:31 | valueIterator(...) : Iterator [] : Object | Test.java:5406:20:5406:22 | out : Iterator [] : Object | provenance | | +| Test.java:5406:20:5406:22 | out : Iterator [] : Object | Test.java:80:19:80:32 | it : Iterator [] : Object | provenance | | +| Test.java:5406:20:5406:22 | out : Iterator [] : Object | Test.java:5406:9:5406:23 | getElement(...) | provenance | MaD:493 | +| Test.java:5411:27:5411:53 | (...)... : Http2HeadersFrame | Test.java:5412:10:5412:11 | in : Http2HeadersFrame | provenance | | +| Test.java:5411:46:5411:53 | source(...) : Object | Test.java:5411:27:5411:53 | (...)... : Http2HeadersFrame | provenance | | +| Test.java:5412:10:5412:11 | in : Http2HeadersFrame | Test.java:5412:10:5412:21 | headers(...) : Http2Headers | provenance | MaD:362 | +| Test.java:5412:10:5412:21 | headers(...) : Http2Headers | Test.java:5413:9:5413:11 | out | provenance | | +| Test.java:5418:31:5418:61 | (...)... : Http2PushPromiseFrame | Test.java:5419:10:5419:11 | in : Http2PushPromiseFrame | provenance | | +| Test.java:5418:54:5418:61 | source(...) : Object | Test.java:5418:31:5418:61 | (...)... : Http2PushPromiseFrame | provenance | | +| Test.java:5419:10:5419:11 | in : Http2PushPromiseFrame | Test.java:5419:10:5419:26 | http2Headers(...) : Http2Headers | provenance | MaD:363 | +| Test.java:5419:10:5419:26 | http2Headers(...) : Http2Headers | Test.java:5420:9:5420:11 | out | provenance | | +| Test.java:5425:22:5425:88 | (...)... : Http2Headers [, ] : Object | Test.java:5426:48:5426:49 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5425:36:5425:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5425:22:5425:88 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5425:58:5425:87 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5425:36:5425:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5425:79:5425:86 | source(...) : Object | Test.java:5425:58:5425:87 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:5426:48:5426:49 | in : Http2Headers [, ] : Object | Test.java:5426:52:5426:54 | out [post update] : FullHttpMessage | provenance | MaD:364 | +| Test.java:5426:52:5426:54 | out [post update] : FullHttpMessage | Test.java:5427:9:5427:11 | out | provenance | | +| Test.java:5432:22:5432:90 | (...)... : Http2Headers [, ] : Object | Test.java:5433:48:5433:49 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5432:36:5432:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5432:22:5432:90 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5432:58:5432:89 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5432:36:5432:90 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5432:81:5432:88 | source(...) : Object | Test.java:5432:58:5432:89 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5433:48:5433:49 | in : Http2Headers [, ] : Object | Test.java:5433:52:5433:54 | out [post update] : FullHttpMessage | provenance | MaD:365 | +| Test.java:5433:52:5433:54 | out [post update] : FullHttpMessage | Test.java:5434:9:5434:11 | out | provenance | | +| Test.java:5439:22:5439:88 | (...)... : Http2Headers [, ] : Object | Test.java:5440:48:5440:49 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5439:36:5439:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5439:22:5439:88 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5439:58:5439:87 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5439:36:5439:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5439:79:5439:86 | source(...) : Object | Test.java:5439:58:5439:87 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:5440:48:5440:49 | in : Http2Headers [, ] : Object | Test.java:5440:52:5440:54 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:366 | +| Test.java:5440:52:5440:54 | out [post update] : HttpHeaders [, ] : Object | Test.java:5441:37:5441:39 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5441:26:5441:40 | getElement(...) : Entry [] : Object | Test.java:5441:9:5441:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5441:37:5441:39 | out : HttpHeaders [, ] : Object | Test.java:5441:26:5441:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5446:22:5446:90 | (...)... : Http2Headers [, ] : Object | Test.java:5447:48:5447:49 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5446:36:5446:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5446:22:5446:90 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5446:58:5446:89 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5446:36:5446:90 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5446:81:5446:88 | source(...) : Object | Test.java:5446:58:5446:89 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5447:48:5447:49 | in : Http2Headers [, ] : Object | Test.java:5447:52:5447:54 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:367 | +| Test.java:5447:52:5447:54 | out [post update] : HttpHeaders [, ] : Object | Test.java:5448:39:5448:41 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5448:28:5448:42 | getElement(...) : Entry [] : Object | Test.java:5448:9:5448:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5448:39:5448:41 | out : HttpHeaders [, ] : Object | Test.java:5448:28:5448:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5453:17:5453:33 | (...)... : ByteBuf | Test.java:5454:70:5454:71 | in : ByteBuf | provenance | | +| Test.java:5453:26:5453:33 | source(...) : Object | Test.java:5453:17:5453:33 | (...)... : ByteBuf | provenance | | +| Test.java:5454:10:5454:79 | toFullHttpRequest(...) : FullHttpRequest | Test.java:5455:9:5455:11 | out | provenance | | +| Test.java:5454:70:5454:71 | in : ByteBuf | Test.java:5454:10:5454:79 | toFullHttpRequest(...) : FullHttpRequest | provenance | MaD:370 | +| Test.java:5460:22:5460:88 | (...)... : Http2Headers [, ] : Object | Test.java:5461:50:5461:51 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5460:36:5460:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5460:22:5460:88 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5460:58:5460:87 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5460:36:5460:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5460:79:5460:86 | source(...) : Object | Test.java:5460:58:5460:87 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:5461:10:5461:74 | toFullHttpRequest(...) : FullHttpRequest | Test.java:5462:9:5462:11 | out | provenance | | +| Test.java:5461:50:5461:51 | in : Http2Headers [, ] : Object | Test.java:5461:10:5461:74 | toFullHttpRequest(...) : FullHttpRequest | provenance | MaD:368 | +| Test.java:5467:22:5467:88 | (...)... : Http2Headers [, ] : Object | Test.java:5468:50:5468:51 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5467:36:5467:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5467:22:5467:88 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5467:58:5467:87 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5467:36:5467:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5467:79:5467:86 | source(...) : Object | Test.java:5467:58:5467:87 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:5468:10:5468:83 | toFullHttpRequest(...) : FullHttpRequest | Test.java:5469:9:5469:11 | out | provenance | | +| Test.java:5468:50:5468:51 | in : Http2Headers [, ] : Object | Test.java:5468:10:5468:83 | toFullHttpRequest(...) : FullHttpRequest | provenance | MaD:368 | +| Test.java:5474:22:5474:90 | (...)... : Http2Headers [, ] : Object | Test.java:5475:50:5475:51 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5474:36:5474:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5474:22:5474:90 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5474:58:5474:89 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5474:36:5474:90 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5474:81:5474:88 | source(...) : Object | Test.java:5474:58:5474:89 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5475:10:5475:74 | toFullHttpRequest(...) : FullHttpRequest | Test.java:5476:9:5476:11 | out | provenance | | +| Test.java:5475:50:5475:51 | in : Http2Headers [, ] : Object | Test.java:5475:10:5475:74 | toFullHttpRequest(...) : FullHttpRequest | provenance | MaD:369 | +| Test.java:5481:22:5481:90 | (...)... : Http2Headers [, ] : Object | Test.java:5482:50:5482:51 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5481:36:5481:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5481:22:5481:90 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5481:58:5481:89 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5481:36:5481:90 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5481:81:5481:88 | source(...) : Object | Test.java:5481:58:5481:89 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5482:10:5482:83 | toFullHttpRequest(...) : FullHttpRequest | Test.java:5483:9:5483:11 | out | provenance | | +| Test.java:5482:50:5482:51 | in : Http2Headers [, ] : Object | Test.java:5482:10:5482:83 | toFullHttpRequest(...) : FullHttpRequest | provenance | MaD:369 | +| Test.java:5488:17:5488:33 | (...)... : ByteBuf | Test.java:5489:71:5489:72 | in : ByteBuf | provenance | | +| Test.java:5488:26:5488:33 | source(...) : Object | Test.java:5488:17:5488:33 | (...)... : ByteBuf | provenance | | +| Test.java:5489:10:5489:80 | toFullHttpResponse(...) : FullHttpResponse | Test.java:5490:9:5490:11 | out | provenance | | +| Test.java:5489:71:5489:72 | in : ByteBuf | Test.java:5489:10:5489:80 | toFullHttpResponse(...) : FullHttpResponse | provenance | MaD:373 | +| Test.java:5495:22:5495:88 | (...)... : Http2Headers [, ] : Object | Test.java:5496:51:5496:52 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5495:36:5495:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5495:22:5495:88 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5495:58:5495:87 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5495:36:5495:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5495:79:5495:86 | source(...) : Object | Test.java:5495:58:5495:87 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:5496:10:5496:75 | toFullHttpResponse(...) : FullHttpResponse | Test.java:5497:9:5497:11 | out | provenance | | +| Test.java:5496:51:5496:52 | in : Http2Headers [, ] : Object | Test.java:5496:10:5496:75 | toFullHttpResponse(...) : FullHttpResponse | provenance | MaD:371 | +| Test.java:5502:22:5502:88 | (...)... : Http2Headers [, ] : Object | Test.java:5503:51:5503:52 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5502:36:5502:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5502:22:5502:88 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5502:58:5502:87 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5502:36:5502:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5502:79:5502:86 | source(...) : Object | Test.java:5502:58:5502:87 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:5503:10:5503:84 | toFullHttpResponse(...) : FullHttpResponse | Test.java:5504:9:5504:11 | out | provenance | | +| Test.java:5503:51:5503:52 | in : Http2Headers [, ] : Object | Test.java:5503:10:5503:84 | toFullHttpResponse(...) : FullHttpResponse | provenance | MaD:371 | +| Test.java:5509:22:5509:90 | (...)... : Http2Headers [, ] : Object | Test.java:5510:51:5510:52 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5509:36:5509:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5509:22:5509:90 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5509:58:5509:89 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5509:36:5509:90 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5509:81:5509:88 | source(...) : Object | Test.java:5509:58:5509:89 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5510:10:5510:75 | toFullHttpResponse(...) : FullHttpResponse | Test.java:5511:9:5511:11 | out | provenance | | +| Test.java:5510:51:5510:52 | in : Http2Headers [, ] : Object | Test.java:5510:10:5510:75 | toFullHttpResponse(...) : FullHttpResponse | provenance | MaD:372 | +| Test.java:5516:22:5516:90 | (...)... : Http2Headers [, ] : Object | Test.java:5517:51:5517:52 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5516:36:5516:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5516:22:5516:90 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5516:58:5516:89 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5516:36:5516:90 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5516:81:5516:88 | source(...) : Object | Test.java:5516:58:5516:89 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5517:10:5517:84 | toFullHttpResponse(...) : FullHttpResponse | Test.java:5518:9:5518:11 | out | provenance | | +| Test.java:5517:51:5517:52 | in : Http2Headers [, ] : Object | Test.java:5517:10:5517:84 | toFullHttpResponse(...) : FullHttpResponse | provenance | MaD:372 | +| Test.java:5523:21:5523:86 | (...)... : HttpHeaders [, ] : Object | Test.java:5524:38:5524:39 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5523:34:5523:86 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5523:21:5523:86 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5523:56:5523:85 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5523:34:5523:86 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5523:77:5523:84 | source(...) : Object | Test.java:5523:56:5523:85 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:5524:38:5524:39 | in : HttpHeaders [, ] : Object | Test.java:5524:42:5524:44 | out [post update] : Http2Headers [, ] : Object | provenance | MaD:376 | +| Test.java:5524:42:5524:44 | out [post update] : Http2Headers [, ] : Object | Test.java:5525:37:5525:39 | out : Http2Headers [, ] : Object | provenance | | +| Test.java:5525:26:5525:40 | getElement(...) : Entry [] : Object | Test.java:5525:9:5525:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5525:37:5525:39 | out : Http2Headers [, ] : Object | Test.java:5525:26:5525:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5530:21:5530:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5531:38:5531:39 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5530:34:5530:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5530:21:5530:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5530:56:5530:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5530:34:5530:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5530:79:5530:86 | source(...) : Object | Test.java:5530:56:5530:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5531:38:5531:39 | in : HttpHeaders [, ] : Object | Test.java:5531:42:5531:44 | out [post update] : Http2Headers [, ] : Object | provenance | MaD:377 | +| Test.java:5531:42:5531:44 | out [post update] : Http2Headers [, ] : Object | Test.java:5532:39:5532:41 | out : Http2Headers [, ] : Object | provenance | | +| Test.java:5532:28:5532:42 | getElement(...) : Entry [] : Object | Test.java:5532:9:5532:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5532:39:5532:41 | out : Http2Headers [, ] : Object | Test.java:5532:28:5532:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5537:21:5537:86 | (...)... : HttpHeaders [, ] : Object | Test.java:5538:44:5538:45 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5537:34:5537:86 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5537:21:5537:86 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5537:56:5537:85 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5537:34:5537:86 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5537:77:5537:84 | source(...) : Object | Test.java:5537:56:5537:85 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:5538:10:5538:53 | toHttp2Headers(...) : Http2Headers [, ] : Object | Test.java:5539:37:5539:39 | out : Http2Headers [, ] : Object | provenance | | +| Test.java:5538:44:5538:45 | in : HttpHeaders [, ] : Object | Test.java:5538:10:5538:53 | toHttp2Headers(...) : Http2Headers [, ] : Object | provenance | MaD:374 | +| Test.java:5539:26:5539:40 | getElement(...) : Entry [] : Object | Test.java:5539:9:5539:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5539:37:5539:39 | out : Http2Headers [, ] : Object | Test.java:5539:26:5539:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5544:21:5544:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5545:44:5545:45 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5544:34:5544:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5544:21:5544:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5544:56:5544:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5544:34:5544:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5544:79:5544:86 | source(...) : Object | Test.java:5544:56:5544:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5545:10:5545:53 | toHttp2Headers(...) : Http2Headers [, ] : Object | Test.java:5546:39:5546:41 | out : Http2Headers [, ] : Object | provenance | | +| Test.java:5545:44:5545:45 | in : HttpHeaders [, ] : Object | Test.java:5545:10:5545:53 | toHttp2Headers(...) : Http2Headers [, ] : Object | provenance | MaD:375 | +| Test.java:5546:28:5546:42 | getElement(...) : Entry [] : Object | Test.java:5546:9:5546:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5546:39:5546:41 | out : Http2Headers [, ] : Object | Test.java:5546:28:5546:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5551:22:5551:88 | (...)... : Http2Headers [, ] : Object | Test.java:5552:46:5552:47 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5551:36:5551:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5551:22:5551:88 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5551:58:5551:87 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5551:36:5551:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5551:79:5551:86 | source(...) : Object | Test.java:5551:58:5551:87 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:5552:10:5552:55 | toHttpRequest(...) : HttpRequest | Test.java:5553:9:5553:11 | out | provenance | | +| Test.java:5552:46:5552:47 | in : Http2Headers [, ] : Object | Test.java:5552:10:5552:55 | toHttpRequest(...) : HttpRequest | provenance | MaD:378 | +| Test.java:5558:22:5558:90 | (...)... : Http2Headers [, ] : Object | Test.java:5559:46:5559:47 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5558:36:5558:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5558:22:5558:90 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5558:58:5558:89 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5558:36:5558:90 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5558:81:5558:88 | source(...) : Object | Test.java:5558:58:5558:89 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5559:10:5559:55 | toHttpRequest(...) : HttpRequest | Test.java:5560:9:5560:11 | out | provenance | | +| Test.java:5559:46:5559:47 | in : Http2Headers [, ] : Object | Test.java:5559:10:5559:55 | toHttpRequest(...) : HttpRequest | provenance | MaD:379 | +| Test.java:5565:22:5565:88 | (...)... : Http2Headers [, ] : Object | Test.java:5566:47:5566:48 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5565:36:5565:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5565:22:5565:88 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5565:58:5565:87 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5565:36:5565:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5565:79:5565:86 | source(...) : Object | Test.java:5565:58:5565:87 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:5566:10:5566:56 | toHttpResponse(...) : HttpResponse | Test.java:5567:9:5567:11 | out | provenance | | +| Test.java:5566:47:5566:48 | in : Http2Headers [, ] : Object | Test.java:5566:10:5566:56 | toHttpResponse(...) : HttpResponse | provenance | MaD:380 | +| Test.java:5572:22:5572:90 | (...)... : Http2Headers [, ] : Object | Test.java:5573:47:5573:48 | in : Http2Headers [, ] : Object | provenance | | +| Test.java:5572:36:5572:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5572:22:5572:90 | (...)... : Http2Headers [, ] : Object | provenance | | +| Test.java:5572:58:5572:89 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5572:36:5572:90 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5572:81:5572:88 | source(...) : Object | Test.java:5572:58:5572:89 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5573:10:5573:56 | toHttpResponse(...) : HttpResponse | Test.java:5574:9:5574:11 | out | provenance | | +| Test.java:5573:47:5573:48 | in : Http2Headers [, ] : Object | Test.java:5573:10:5573:56 | toHttpResponse(...) : HttpResponse | provenance | MaD:381 | +| Test.java:5579:22:5579:43 | (...)... : CharSequence | Test.java:5580:12:5580:13 | in : CharSequence | provenance | | +| Test.java:5579:36:5579:43 | source(...) : Object | Test.java:5579:22:5579:43 | (...)... : CharSequence | provenance | | +| Test.java:5580:4:5580:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5581:37:5581:39 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5580:12:5580:13 | in : CharSequence | Test.java:5580:4:5580:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:225 | +| Test.java:5581:26:5581:40 | getElement(...) : Entry [] : Object | Test.java:5581:9:5581:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5581:37:5581:39 | out : HttpHeaders [, ] : Object | Test.java:5581:26:5581:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5586:18:5586:44 | (...)... : List [] : Object | Test.java:5587:32:5587:33 | in : List [] : Object | provenance | | +| Test.java:5586:28:5586:44 | of(...) : List [] : Object | Test.java:5586:18:5586:44 | (...)... : List [] : Object | provenance | | +| Test.java:5586:36:5586:43 | source(...) : Object | Test.java:5586:28:5586:44 | of(...) : List [] : Object | provenance | MaD:494 | +| Test.java:5587:4:5587:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5588:39:5588:41 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5587:32:5587:33 | in : List [] : Object | Test.java:5587:4:5587:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:226 | +| Test.java:5588:28:5588:42 | getElement(...) : Entry [] : Object | Test.java:5588:9:5588:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5588:39:5588:41 | out : HttpHeaders [, ] : Object | Test.java:5588:28:5588:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5593:22:5593:43 | (...)... : CharSequence | Test.java:5594:12:5594:13 | in : CharSequence | provenance | | +| Test.java:5593:36:5593:43 | source(...) : Object | Test.java:5593:22:5593:43 | (...)... : CharSequence | provenance | | +| Test.java:5594:4:5594:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5595:37:5595:39 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5594:12:5594:13 | in : CharSequence | Test.java:5594:4:5594:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:227 | +| Test.java:5595:26:5595:40 | getElement(...) : Entry [] : Object | Test.java:5595:9:5595:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5595:37:5595:39 | out : HttpHeaders [, ] : Object | Test.java:5595:26:5595:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5600:16:5600:31 | (...)... : Object | Test.java:5601:32:5601:33 | in : Object | provenance | | +| Test.java:5600:24:5600:31 | source(...) : Object | Test.java:5600:16:5600:31 | (...)... : Object | provenance | | +| Test.java:5601:4:5601:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5602:39:5602:41 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5601:32:5601:33 | in : Object | Test.java:5601:4:5601:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:228 | +| Test.java:5602:28:5602:42 | getElement(...) : Entry [] : Object | Test.java:5602:9:5602:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5602:39:5602:41 | out : HttpHeaders [, ] : Object | Test.java:5602:28:5602:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5607:21:5607:86 | (...)... : HttpHeaders [, ] : Object | Test.java:5608:12:5608:13 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5607:34:5607:86 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5607:21:5607:86 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5607:56:5607:85 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5607:34:5607:86 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5607:77:5607:84 | source(...) : Object | Test.java:5607:56:5607:85 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:5608:4:5608:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5609:37:5609:39 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5608:12:5608:13 | in : HttpHeaders [, ] : Object | Test.java:5608:4:5608:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:233 | +| Test.java:5609:26:5609:40 | getElement(...) : Entry [] : Object | Test.java:5609:9:5609:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5609:37:5609:39 | out : HttpHeaders [, ] : Object | Test.java:5609:26:5609:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5614:21:5614:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5615:12:5615:13 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5614:34:5614:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5614:21:5614:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5614:56:5614:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5614:34:5614:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5614:79:5614:86 | source(...) : Object | Test.java:5614:56:5614:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5615:4:5615:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5616:39:5616:41 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5615:12:5615:13 | in : HttpHeaders [, ] : Object | Test.java:5615:4:5615:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:234 | +| Test.java:5616:28:5616:42 | getElement(...) : Entry [] : Object | Test.java:5616:9:5616:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5616:39:5616:41 | out : HttpHeaders [, ] : Object | Test.java:5616:28:5616:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5621:16:5621:31 | (...)... : String | Test.java:5622:12:5622:13 | in : String | provenance | | +| Test.java:5621:24:5621:31 | source(...) : Object | Test.java:5621:16:5621:31 | (...)... : String | provenance | | +| Test.java:5622:4:5622:6 | out [post update] : HttpHeaders [, ] : String | Test.java:5623:37:5623:39 | out : HttpHeaders [, ] : String | provenance | | +| Test.java:5622:12:5622:13 | in : String | Test.java:5622:4:5622:6 | out [post update] : HttpHeaders [, ] : String | provenance | MaD:229 | +| Test.java:5623:26:5623:40 | getElement(...) : Entry [] : String | Test.java:5623:9:5623:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5623:37:5623:39 | out : HttpHeaders [, ] : String | Test.java:5623:26:5623:40 | getElement(...) : Entry [] : String | provenance | MaD:492 | +| Test.java:5628:18:5628:44 | (...)... : List [] : Object | Test.java:5629:26:5629:27 | in : List [] : Object | provenance | | +| Test.java:5628:28:5628:44 | of(...) : List [] : Object | Test.java:5628:18:5628:44 | (...)... : List [] : Object | provenance | | +| Test.java:5628:36:5628:43 | source(...) : Object | Test.java:5628:28:5628:44 | of(...) : List [] : Object | provenance | MaD:494 | +| Test.java:5629:4:5629:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5630:39:5630:41 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5629:26:5629:27 | in : List [] : Object | Test.java:5629:4:5629:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:230 | +| Test.java:5630:28:5630:42 | getElement(...) : Entry [] : Object | Test.java:5630:9:5630:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5630:39:5630:41 | out : HttpHeaders [, ] : Object | Test.java:5630:28:5630:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5635:16:5635:31 | (...)... : String | Test.java:5636:12:5636:13 | in : String | provenance | | +| Test.java:5635:24:5635:31 | source(...) : Object | Test.java:5635:16:5635:31 | (...)... : String | provenance | | +| Test.java:5636:4:5636:6 | out [post update] : HttpHeaders [, ] : String | Test.java:5637:37:5637:39 | out : HttpHeaders [, ] : String | provenance | | +| Test.java:5636:12:5636:13 | in : String | Test.java:5636:4:5636:6 | out [post update] : HttpHeaders [, ] : String | provenance | MaD:231 | +| Test.java:5637:26:5637:40 | getElement(...) : Entry [] : String | Test.java:5637:9:5637:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5637:37:5637:39 | out : HttpHeaders [, ] : String | Test.java:5637:26:5637:40 | getElement(...) : Entry [] : String | provenance | MaD:492 | +| Test.java:5642:16:5642:31 | (...)... : Object | Test.java:5643:26:5643:27 | in : Object | provenance | | +| Test.java:5642:24:5642:31 | source(...) : Object | Test.java:5642:16:5642:31 | (...)... : Object | provenance | | +| Test.java:5643:4:5643:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5644:39:5644:41 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5643:26:5643:27 | in : Object | Test.java:5643:4:5643:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:232 | +| Test.java:5644:28:5644:42 | getElement(...) : Entry [] : Object | Test.java:5644:9:5644:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5644:39:5644:41 | out : HttpHeaders [, ] : Object | Test.java:5644:28:5644:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5649:21:5649:41 | (...)... : HttpHeaders | Test.java:5650:10:5650:11 | in : HttpHeaders | provenance | | +| Test.java:5649:34:5649:41 | source(...) : Object | Test.java:5649:21:5649:41 | (...)... : HttpHeaders | provenance | | +| Test.java:5650:10:5650:11 | in : HttpHeaders | Test.java:5650:10:5650:51 | add(...) : HttpHeaders | provenance | MaD:224 | +| Test.java:5650:10:5650:51 | add(...) : HttpHeaders | Test.java:5651:9:5651:11 | out | provenance | | +| Test.java:5656:21:5656:41 | (...)... : HttpHeaders | Test.java:5657:10:5657:11 | in : HttpHeaders | provenance | | +| Test.java:5656:34:5656:41 | source(...) : Object | Test.java:5656:21:5656:41 | (...)... : HttpHeaders | provenance | | +| Test.java:5657:10:5657:11 | in : HttpHeaders | Test.java:5657:10:5657:49 | add(...) : HttpHeaders | provenance | MaD:224 | +| Test.java:5657:10:5657:49 | add(...) : HttpHeaders | Test.java:5658:9:5658:11 | out | provenance | | +| Test.java:5663:21:5663:41 | (...)... : HttpHeaders | Test.java:5664:10:5664:11 | in : HttpHeaders | provenance | | +| Test.java:5663:34:5663:41 | source(...) : Object | Test.java:5663:21:5663:41 | (...)... : HttpHeaders | provenance | | +| Test.java:5664:10:5664:11 | in : HttpHeaders | Test.java:5664:10:5664:45 | add(...) : HttpHeaders | provenance | MaD:224 | +| Test.java:5664:10:5664:45 | add(...) : HttpHeaders | Test.java:5665:9:5665:11 | out | provenance | | +| Test.java:5670:21:5670:41 | (...)... : HttpHeaders | Test.java:5671:10:5671:11 | in : HttpHeaders | provenance | | +| Test.java:5670:34:5670:41 | source(...) : Object | Test.java:5670:21:5670:41 | (...)... : HttpHeaders | provenance | | +| Test.java:5671:10:5671:11 | in : HttpHeaders | Test.java:5671:10:5671:43 | add(...) : HttpHeaders | provenance | MaD:224 | +| Test.java:5671:10:5671:43 | add(...) : HttpHeaders | Test.java:5672:9:5672:11 | out | provenance | | +| Test.java:5677:21:5677:41 | (...)... : HttpHeaders | Test.java:5678:10:5678:11 | in : HttpHeaders | provenance | | +| Test.java:5677:34:5677:41 | source(...) : Object | Test.java:5677:21:5677:41 | (...)... : HttpHeaders | provenance | | +| Test.java:5678:10:5678:11 | in : HttpHeaders | Test.java:5678:10:5678:21 | add(...) : HttpHeaders | provenance | MaD:224 | +| Test.java:5678:10:5678:21 | add(...) : HttpHeaders | Test.java:5679:9:5679:11 | out | provenance | | +| Test.java:5684:21:5684:41 | (...)... : HttpHeaders | Test.java:5685:10:5685:11 | in : HttpHeaders | provenance | | +| Test.java:5684:34:5684:41 | source(...) : Object | Test.java:5684:21:5684:41 | (...)... : HttpHeaders | provenance | | +| Test.java:5685:10:5685:11 | in : HttpHeaders | Test.java:5685:10:5685:27 | addInt(...) : HttpHeaders | provenance | MaD:235 | +| Test.java:5685:10:5685:27 | addInt(...) : HttpHeaders | Test.java:5686:9:5686:11 | out | provenance | | +| Test.java:5691:22:5691:43 | (...)... : CharSequence | Test.java:5692:15:5692:16 | in : CharSequence | provenance | | +| Test.java:5691:36:5691:43 | source(...) : Object | Test.java:5691:22:5691:43 | (...)... : CharSequence | provenance | | +| Test.java:5692:4:5692:6 | out [post update] : HttpHeaders [, ] : CharSequence | Test.java:5693:37:5693:39 | out : HttpHeaders [, ] : CharSequence | provenance | | +| Test.java:5692:15:5692:16 | in : CharSequence | Test.java:5692:4:5692:6 | out [post update] : HttpHeaders [, ] : CharSequence | provenance | MaD:236 | +| Test.java:5693:26:5693:40 | getElement(...) : Entry [] : CharSequence | Test.java:5693:9:5693:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5693:37:5693:39 | out : HttpHeaders [, ] : CharSequence | Test.java:5693:26:5693:40 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | +| Test.java:5698:21:5698:41 | (...)... : HttpHeaders | Test.java:5699:10:5699:11 | in : HttpHeaders | provenance | | +| Test.java:5698:34:5698:41 | source(...) : Object | Test.java:5698:21:5698:41 | (...)... : HttpHeaders | provenance | | +| Test.java:5699:10:5699:11 | in : HttpHeaders | Test.java:5699:10:5699:36 | addShort(...) : HttpHeaders | provenance | MaD:237 | +| Test.java:5699:10:5699:36 | addShort(...) : HttpHeaders | Test.java:5700:9:5700:11 | out | provenance | | +| Test.java:5705:22:5705:43 | (...)... : CharSequence | Test.java:5706:17:5706:18 | in : CharSequence | provenance | | +| Test.java:5705:36:5705:43 | source(...) : Object | Test.java:5705:22:5705:43 | (...)... : CharSequence | provenance | | +| Test.java:5706:4:5706:6 | out [post update] : HttpHeaders [, ] : CharSequence | Test.java:5707:37:5707:39 | out : HttpHeaders [, ] : CharSequence | provenance | | +| Test.java:5706:17:5706:18 | in : CharSequence | Test.java:5706:4:5706:6 | out [post update] : HttpHeaders [, ] : CharSequence | provenance | MaD:238 | +| Test.java:5707:26:5707:40 | getElement(...) : Entry [] : CharSequence | Test.java:5707:9:5707:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5707:37:5707:39 | out : HttpHeaders [, ] : CharSequence | Test.java:5707:26:5707:40 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | +| Test.java:5712:21:5712:86 | (...)... : HttpHeaders [, ] : Object | Test.java:5713:10:5713:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5712:34:5712:86 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5712:21:5712:86 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5712:56:5712:85 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5712:34:5712:86 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5712:77:5712:84 | source(...) : Object | Test.java:5712:56:5712:85 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:5713:10:5713:11 | in : HttpHeaders [, ] : Object | Test.java:5713:10:5713:18 | copy(...) : HttpHeaders [, ] : Object | provenance | MaD:239 | +| Test.java:5713:10:5713:18 | copy(...) : HttpHeaders [, ] : Object | Test.java:5714:37:5714:39 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5714:26:5714:40 | getElement(...) : Entry [] : Object | Test.java:5714:9:5714:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5714:37:5714:39 | out : HttpHeaders [, ] : Object | Test.java:5714:26:5714:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5719:21:5719:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5720:10:5720:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5719:34:5719:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5719:21:5719:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5719:56:5719:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5719:34:5719:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5719:79:5719:86 | source(...) : Object | Test.java:5719:56:5719:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5720:10:5720:11 | in : HttpHeaders [, ] : Object | Test.java:5720:10:5720:18 | copy(...) : HttpHeaders [, ] : Object | provenance | MaD:240 | +| Test.java:5720:10:5720:18 | copy(...) : HttpHeaders [, ] : Object | Test.java:5721:39:5721:41 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5721:28:5721:42 | getElement(...) : Entry [] : Object | Test.java:5721:9:5721:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5721:39:5721:41 | out : HttpHeaders [, ] : Object | Test.java:5721:28:5721:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5726:21:5726:86 | (...)... : HttpHeaders [, ] : Object | Test.java:5727:10:5727:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5726:34:5726:86 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5726:21:5726:86 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5726:56:5726:85 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5726:34:5726:86 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5726:77:5726:84 | source(...) : Object | Test.java:5726:56:5726:85 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:5727:10:5727:11 | in : HttpHeaders [, ] : Object | Test.java:5727:10:5727:21 | entries(...) : List [, ] : Object | provenance | MaD:241 | +| Test.java:5727:10:5727:21 | entries(...) : List [, ] : Object | Test.java:5728:37:5728:39 | out : List [, ] : Object | provenance | | +| Test.java:5728:26:5728:40 | getElement(...) : Object [] : Object | Test.java:5728:9:5728:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5728:37:5728:39 | out : List [, ] : Object | Test.java:79:19:79:32 | it : List [, ] : Object | provenance | | +| Test.java:5728:37:5728:39 | out : List [, ] : Object | Test.java:5728:26:5728:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:5733:21:5733:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5734:10:5734:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5733:34:5733:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5733:21:5733:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5733:56:5733:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5733:34:5733:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5733:79:5733:86 | source(...) : Object | Test.java:5733:56:5733:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5734:10:5734:11 | in : HttpHeaders [, ] : Object | Test.java:5734:10:5734:21 | entries(...) : List [, ] : Object | provenance | MaD:242 | +| Test.java:5734:10:5734:21 | entries(...) : List [, ] : Object | Test.java:5735:39:5735:41 | out : List [, ] : Object | provenance | | +| Test.java:5735:28:5735:42 | getElement(...) : Object [] : Object | Test.java:5735:9:5735:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5735:39:5735:41 | out : List [, ] : Object | Test.java:79:19:79:32 | it : List [, ] : Object | provenance | | +| Test.java:5735:39:5735:41 | out : List [, ] : Object | Test.java:5735:28:5735:42 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:5740:21:5740:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5741:10:5741:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5740:34:5740:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5740:21:5740:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5740:56:5740:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5740:34:5740:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5740:79:5740:86 | source(...) : Object | Test.java:5740:56:5740:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5741:10:5741:11 | in : HttpHeaders [, ] : Object | Test.java:5741:10:5741:35 | get(...) : String | provenance | MaD:243 | +| Test.java:5741:10:5741:35 | get(...) : String | Test.java:5742:9:5742:11 | out | provenance | | +| Test.java:5747:21:5747:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5748:10:5748:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5747:34:5747:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5747:21:5747:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5747:56:5747:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5747:34:5747:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5747:79:5747:86 | source(...) : Object | Test.java:5747:56:5747:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5748:10:5748:11 | in : HttpHeaders [, ] : Object | Test.java:5748:10:5748:29 | get(...) : String | provenance | MaD:243 | +| Test.java:5748:10:5748:29 | get(...) : String | Test.java:5749:9:5749:11 | out | provenance | | +| Test.java:5754:21:5754:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5755:10:5755:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5754:34:5754:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5754:21:5754:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5754:56:5754:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5754:34:5754:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5754:79:5754:86 | source(...) : Object | Test.java:5754:56:5754:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5755:10:5755:11 | in : HttpHeaders [, ] : Object | Test.java:5755:10:5755:27 | get(...) : String | provenance | MaD:243 | +| Test.java:5755:10:5755:27 | get(...) : String | Test.java:5756:9:5756:11 | out | provenance | | +| Test.java:5761:16:5761:31 | (...)... : String | Test.java:5763:29:5763:30 | in : String | provenance | | +| Test.java:5761:24:5761:31 | source(...) : Object | Test.java:5761:16:5761:31 | (...)... : String | provenance | | +| Test.java:5763:10:5763:31 | get(...) : String | Test.java:5764:9:5764:11 | out | provenance | | +| Test.java:5763:29:5763:30 | in : String | Test.java:5763:10:5763:31 | get(...) : String | provenance | MaD:244 | +| Test.java:5769:21:5769:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5770:10:5770:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5769:34:5769:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5769:21:5769:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5769:56:5769:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5769:34:5769:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5769:79:5769:86 | source(...) : Object | Test.java:5769:56:5769:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5770:10:5770:11 | in : HttpHeaders [, ] : Object | Test.java:5770:10:5770:38 | getAll(...) : List [] : Object | provenance | MaD:245 | +| Test.java:5770:10:5770:38 | getAll(...) : List [] : Object | Test.java:5771:20:5771:22 | out : List [] : Object | provenance | | +| Test.java:5771:20:5771:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | provenance | | +| Test.java:5771:20:5771:22 | out : List [] : Object | Test.java:5771:9:5771:23 | getElement(...) | provenance | MaD:492 | +| Test.java:5776:21:5776:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5777:10:5777:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5776:34:5776:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5776:21:5776:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5776:56:5776:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5776:34:5776:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5776:79:5776:86 | source(...) : Object | Test.java:5776:56:5776:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5777:10:5777:11 | in : HttpHeaders [, ] : Object | Test.java:5777:10:5777:32 | getAll(...) : List [] : Object | provenance | MaD:245 | +| Test.java:5777:10:5777:32 | getAll(...) : List [] : Object | Test.java:5778:20:5778:22 | out : List [] : Object | provenance | | +| Test.java:5778:20:5778:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | provenance | | +| Test.java:5778:20:5778:22 | out : List [] : Object | Test.java:5778:9:5778:23 | getElement(...) | provenance | MaD:492 | +| Test.java:5783:21:5783:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5784:10:5784:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5783:34:5783:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5783:21:5783:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5783:56:5783:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5783:34:5783:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5783:79:5783:86 | source(...) : Object | Test.java:5783:56:5783:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5784:10:5784:11 | in : HttpHeaders [, ] : Object | Test.java:5784:10:5784:32 | getAllAsString(...) : List [] : Object | provenance | MaD:246 | +| Test.java:5784:10:5784:32 | getAllAsString(...) : List [] : Object | Test.java:5785:20:5785:22 | out : List [] : Object | provenance | | +| Test.java:5785:20:5785:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | provenance | | +| Test.java:5785:20:5785:22 | out : List [] : Object | Test.java:5785:9:5785:23 | getElement(...) | provenance | MaD:492 | +| Test.java:5790:21:5790:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5791:10:5791:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5790:34:5790:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5790:21:5790:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5790:56:5790:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5790:34:5790:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5790:79:5790:86 | source(...) : Object | Test.java:5790:56:5790:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5791:10:5791:11 | in : HttpHeaders [, ] : Object | Test.java:5791:10:5791:29 | getAsString(...) : String | provenance | MaD:247 | +| Test.java:5791:10:5791:29 | getAsString(...) : String | Test.java:5792:9:5792:11 | out | provenance | | +| Test.java:5797:21:5797:41 | (...)... : HttpMessage | Test.java:5798:32:5798:33 | in : HttpMessage | provenance | | +| Test.java:5797:34:5797:41 | source(...) : Object | Test.java:5797:21:5797:41 | (...)... : HttpMessage | provenance | | +| Test.java:5798:10:5798:54 | getHeader(...) : String | Test.java:5799:9:5799:11 | out | provenance | | +| Test.java:5798:32:5798:33 | in : HttpMessage | Test.java:5798:10:5798:54 | getHeader(...) : String | provenance | MaD:248 | +| Test.java:5804:21:5804:41 | (...)... : HttpMessage | Test.java:5805:32:5805:33 | in : HttpMessage | provenance | | +| Test.java:5804:34:5804:41 | source(...) : Object | Test.java:5804:21:5804:41 | (...)... : HttpMessage | provenance | | +| Test.java:5805:10:5805:68 | getHeader(...) : String | Test.java:5806:9:5806:11 | out | provenance | | +| Test.java:5805:32:5805:33 | in : HttpMessage | Test.java:5805:10:5805:68 | getHeader(...) : String | provenance | MaD:248 | +| Test.java:5811:21:5811:41 | (...)... : HttpMessage | Test.java:5812:32:5812:33 | in : HttpMessage | provenance | | +| Test.java:5811:34:5811:41 | source(...) : Object | Test.java:5811:21:5811:41 | (...)... : HttpMessage | provenance | | +| Test.java:5812:10:5812:48 | getHeader(...) : String | Test.java:5813:9:5813:11 | out | provenance | | +| Test.java:5812:32:5812:33 | in : HttpMessage | Test.java:5812:10:5812:48 | getHeader(...) : String | provenance | MaD:248 | +| Test.java:5818:21:5818:41 | (...)... : HttpMessage | Test.java:5819:32:5819:33 | in : HttpMessage | provenance | | +| Test.java:5818:34:5818:41 | source(...) : Object | Test.java:5818:21:5818:41 | (...)... : HttpMessage | provenance | | +| Test.java:5819:10:5819:62 | getHeader(...) : String | Test.java:5820:9:5820:11 | out | provenance | | +| Test.java:5819:32:5819:33 | in : HttpMessage | Test.java:5819:10:5819:62 | getHeader(...) : String | provenance | MaD:248 | +| Test.java:5825:16:5825:31 | (...)... : String | Test.java:5826:71:5826:72 | in : String | provenance | | +| Test.java:5825:24:5825:31 | source(...) : Object | Test.java:5825:16:5825:31 | (...)... : String | provenance | | +| Test.java:5826:10:5826:73 | getHeader(...) : String | Test.java:5827:9:5827:11 | out | provenance | | +| Test.java:5826:71:5826:72 | in : String | Test.java:5826:10:5826:73 | getHeader(...) : String | provenance | MaD:249 | +| Test.java:5832:16:5832:31 | (...)... : String | Test.java:5833:65:5833:66 | in : String | provenance | | +| Test.java:5832:24:5832:31 | source(...) : Object | Test.java:5832:16:5832:31 | (...)... : String | provenance | | +| Test.java:5833:10:5833:67 | getHeader(...) : String | Test.java:5834:9:5834:11 | out | provenance | | +| Test.java:5833:65:5833:66 | in : String | Test.java:5833:10:5833:67 | getHeader(...) : String | provenance | MaD:249 | +| Test.java:5839:21:5839:41 | (...)... : HttpMessage | Test.java:5840:30:5840:31 | in : HttpMessage | provenance | | +| Test.java:5839:34:5839:41 | source(...) : Object | Test.java:5839:21:5839:41 | (...)... : HttpMessage | provenance | | +| Test.java:5840:10:5840:32 | getHost(...) : String | Test.java:5841:9:5841:11 | out | provenance | | +| Test.java:5840:30:5840:31 | in : HttpMessage | Test.java:5840:10:5840:32 | getHost(...) : String | provenance | MaD:250 | +| Test.java:5846:21:5846:41 | (...)... : HttpMessage | Test.java:5847:30:5847:31 | in : HttpMessage | provenance | | +| Test.java:5846:34:5846:41 | source(...) : Object | Test.java:5846:21:5846:41 | (...)... : HttpMessage | provenance | | +| Test.java:5847:10:5847:38 | getHost(...) : String | Test.java:5848:9:5848:11 | out | provenance | | +| Test.java:5847:30:5847:31 | in : HttpMessage | Test.java:5847:10:5847:38 | getHost(...) : String | provenance | MaD:250 | +| Test.java:5853:16:5853:31 | (...)... : String | Test.java:5854:36:5854:37 | in : String | provenance | | +| Test.java:5853:24:5853:31 | source(...) : Object | Test.java:5853:16:5853:31 | (...)... : String | provenance | | +| Test.java:5854:10:5854:38 | getHost(...) : String | Test.java:5855:9:5855:11 | out | provenance | | +| Test.java:5854:36:5854:37 | in : String | Test.java:5854:10:5854:38 | getHost(...) : String | provenance | MaD:251 | +| Test.java:5860:21:5860:86 | (...)... : HttpHeaders [, ] : Object | Test.java:5861:10:5861:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5860:34:5860:86 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5860:21:5860:86 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5860:56:5860:85 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5860:34:5860:86 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5860:77:5860:84 | source(...) : Object | Test.java:5860:56:5860:85 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:5861:10:5861:11 | in : HttpHeaders [, ] : Object | Test.java:5861:10:5861:30 | iteratorAsString(...) : Iterator [, ] : Object | provenance | MaD:252 | +| Test.java:5861:10:5861:30 | iteratorAsString(...) : Iterator [, ] : Object | Test.java:5862:37:5862:39 | out : Iterator [, ] : Object | provenance | | +| Test.java:5862:26:5862:40 | getElement(...) : Object [] : Object | Test.java:5862:9:5862:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5862:37:5862:39 | out : Iterator [, ] : Object | Test.java:80:19:80:32 | it : Iterator [, ] : Object | provenance | | +| Test.java:5862:37:5862:39 | out : Iterator [, ] : Object | Test.java:5862:26:5862:40 | getElement(...) : Object [] : Object | provenance | MaD:493 | +| Test.java:5867:21:5867:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5868:10:5868:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5867:34:5867:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5867:21:5867:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5867:56:5867:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5867:34:5867:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5867:79:5867:86 | source(...) : Object | Test.java:5867:56:5867:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5868:10:5868:11 | in : HttpHeaders [, ] : Object | Test.java:5868:10:5868:30 | iteratorAsString(...) : Iterator [, ] : Object | provenance | MaD:253 | +| Test.java:5868:10:5868:30 | iteratorAsString(...) : Iterator [, ] : Object | Test.java:5869:39:5869:41 | out : Iterator [, ] : Object | provenance | | +| Test.java:5869:28:5869:42 | getElement(...) : Object [] : Object | Test.java:5869:9:5869:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5869:39:5869:41 | out : Iterator [, ] : Object | Test.java:80:19:80:32 | it : Iterator [, ] : Object | provenance | | +| Test.java:5869:39:5869:41 | out : Iterator [, ] : Object | Test.java:5869:28:5869:42 | getElement(...) : Object [] : Object | provenance | MaD:493 | +| Test.java:5874:21:5874:86 | (...)... : HttpHeaders [, ] : Object | Test.java:5875:10:5875:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5874:34:5874:86 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5874:21:5874:86 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5874:56:5874:85 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5874:34:5874:86 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5874:77:5874:84 | source(...) : Object | Test.java:5874:56:5874:85 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:5875:10:5875:11 | in : HttpHeaders [, ] : Object | Test.java:5875:10:5875:34 | iteratorCharSequence(...) : Iterator [, ] : Object | provenance | MaD:254 | +| Test.java:5875:10:5875:34 | iteratorCharSequence(...) : Iterator [, ] : Object | Test.java:5876:37:5876:39 | out : Iterator [, ] : Object | provenance | | +| Test.java:5876:26:5876:40 | getElement(...) : Object [] : Object | Test.java:5876:9:5876:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5876:37:5876:39 | out : Iterator [, ] : Object | Test.java:80:19:80:32 | it : Iterator [, ] : Object | provenance | | +| Test.java:5876:37:5876:39 | out : Iterator [, ] : Object | Test.java:5876:26:5876:40 | getElement(...) : Object [] : Object | provenance | MaD:493 | +| Test.java:5881:21:5881:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5882:10:5882:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5881:34:5881:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5881:21:5881:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5881:56:5881:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5881:34:5881:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5881:79:5881:86 | source(...) : Object | Test.java:5881:56:5881:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5882:10:5882:11 | in : HttpHeaders [, ] : Object | Test.java:5882:10:5882:34 | iteratorCharSequence(...) : Iterator [, ] : Object | provenance | MaD:255 | +| Test.java:5882:10:5882:34 | iteratorCharSequence(...) : Iterator [, ] : Object | Test.java:5883:39:5883:41 | out : Iterator [, ] : Object | provenance | | +| Test.java:5883:28:5883:42 | getElement(...) : Object [] : Object | Test.java:5883:9:5883:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5883:39:5883:41 | out : Iterator [, ] : Object | Test.java:80:19:80:32 | it : Iterator [, ] : Object | provenance | | +| Test.java:5883:39:5883:41 | out : Iterator [, ] : Object | Test.java:5883:28:5883:42 | getElement(...) : Object [] : Object | provenance | MaD:493 | +| Test.java:5888:21:5888:86 | (...)... : HttpHeaders [, ] : Object | Test.java:5889:10:5889:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5888:34:5888:86 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5888:21:5888:86 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5888:56:5888:85 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5888:34:5888:86 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5888:77:5888:84 | source(...) : Object | Test.java:5888:56:5888:85 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:5889:10:5889:11 | in : HttpHeaders [, ] : Object | Test.java:5889:10:5889:19 | names(...) : Set [] : Object | provenance | MaD:256 | +| Test.java:5889:10:5889:19 | names(...) : Set [] : Object | Test.java:5890:20:5890:22 | out : Set [] : Object | provenance | | +| Test.java:5890:20:5890:22 | out : Set [] : Object | Test.java:79:19:79:32 | it : Set [] : Object | provenance | | +| Test.java:5890:20:5890:22 | out : Set [] : Object | Test.java:5890:9:5890:23 | getElement(...) | provenance | MaD:492 | +| Test.java:5895:16:5895:31 | (...)... : String | Test.java:5896:32:5896:33 | in : String | provenance | | +| Test.java:5895:24:5895:31 | source(...) : Object | Test.java:5895:16:5895:31 | (...)... : String | provenance | | +| Test.java:5896:10:5896:34 | newEntity(...) : CharSequence | Test.java:5897:9:5897:11 | out | provenance | | +| Test.java:5896:32:5896:33 | in : String | Test.java:5896:10:5896:34 | newEntity(...) : CharSequence | provenance | MaD:257 | +| Test.java:5902:21:5902:41 | (...)... : HttpHeaders | Test.java:5903:10:5903:11 | in : HttpHeaders | provenance | | +| Test.java:5902:34:5902:41 | source(...) : Object | Test.java:5902:21:5902:41 | (...)... : HttpHeaders | provenance | | +| Test.java:5903:10:5903:11 | in : HttpHeaders | Test.java:5903:10:5903:38 | remove(...) : HttpHeaders | provenance | MaD:258 | +| Test.java:5903:10:5903:38 | remove(...) : HttpHeaders | Test.java:5904:9:5904:11 | out | provenance | | +| Test.java:5909:21:5909:41 | (...)... : HttpHeaders | Test.java:5910:10:5910:11 | in : HttpHeaders | provenance | | +| Test.java:5909:34:5909:41 | source(...) : Object | Test.java:5909:21:5909:41 | (...)... : HttpHeaders | provenance | | +| Test.java:5910:10:5910:11 | in : HttpHeaders | Test.java:5910:10:5910:32 | remove(...) : HttpHeaders | provenance | MaD:258 | +| Test.java:5910:10:5910:32 | remove(...) : HttpHeaders | Test.java:5911:9:5911:11 | out | provenance | | +| Test.java:5916:22:5916:43 | (...)... : CharSequence | Test.java:5917:12:5917:13 | in : CharSequence | provenance | | +| Test.java:5916:36:5916:43 | source(...) : Object | Test.java:5916:22:5916:43 | (...)... : CharSequence | provenance | | +| Test.java:5917:4:5917:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5918:37:5918:39 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5917:12:5917:13 | in : CharSequence | Test.java:5917:4:5917:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:260 | +| Test.java:5918:26:5918:40 | getElement(...) : Entry [] : Object | Test.java:5918:9:5918:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5918:37:5918:39 | out : HttpHeaders [, ] : Object | Test.java:5918:26:5918:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5923:18:5923:44 | (...)... : List [] : Object | Test.java:5924:32:5924:33 | in : List [] : Object | provenance | | +| Test.java:5923:28:5923:44 | of(...) : List [] : Object | Test.java:5923:18:5923:44 | (...)... : List [] : Object | provenance | | +| Test.java:5923:36:5923:43 | source(...) : Object | Test.java:5923:28:5923:44 | of(...) : List [] : Object | provenance | MaD:494 | +| Test.java:5924:4:5924:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5925:39:5925:41 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5924:32:5924:33 | in : List [] : Object | Test.java:5924:4:5924:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:261 | +| Test.java:5925:28:5925:42 | getElement(...) : Entry [] : Object | Test.java:5925:9:5925:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5925:39:5925:41 | out : HttpHeaders [, ] : Object | Test.java:5925:28:5925:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5930:22:5930:43 | (...)... : CharSequence | Test.java:5931:12:5931:13 | in : CharSequence | provenance | | +| Test.java:5930:36:5930:43 | source(...) : Object | Test.java:5930:22:5930:43 | (...)... : CharSequence | provenance | | +| Test.java:5931:4:5931:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5932:37:5932:39 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5931:12:5931:13 | in : CharSequence | Test.java:5931:4:5931:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:262 | +| Test.java:5932:26:5932:40 | getElement(...) : Entry [] : Object | Test.java:5932:9:5932:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5932:37:5932:39 | out : HttpHeaders [, ] : Object | Test.java:5932:26:5932:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5937:16:5937:31 | (...)... : Object | Test.java:5938:32:5938:33 | in : Object | provenance | | +| Test.java:5937:24:5937:31 | source(...) : Object | Test.java:5937:16:5937:31 | (...)... : Object | provenance | | +| Test.java:5938:4:5938:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5939:39:5939:41 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5938:32:5938:33 | in : Object | Test.java:5938:4:5938:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:263 | +| Test.java:5939:28:5939:42 | getElement(...) : Entry [] : Object | Test.java:5939:9:5939:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5939:39:5939:41 | out : HttpHeaders [, ] : Object | Test.java:5939:28:5939:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5944:21:5944:86 | (...)... : HttpHeaders [, ] : Object | Test.java:5945:12:5945:13 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5944:34:5944:86 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5944:21:5944:86 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5944:56:5944:85 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:5944:34:5944:86 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5944:77:5944:84 | source(...) : Object | Test.java:5944:56:5944:85 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:5945:4:5945:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5946:37:5946:39 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5945:12:5945:13 | in : HttpHeaders [, ] : Object | Test.java:5945:4:5945:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:268 | +| Test.java:5946:26:5946:40 | getElement(...) : Entry [] : Object | Test.java:5946:9:5946:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5946:37:5946:39 | out : HttpHeaders [, ] : Object | Test.java:5946:26:5946:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5951:21:5951:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5952:12:5952:13 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:5951:34:5951:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5951:21:5951:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:5951:56:5951:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:5951:34:5951:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:5951:79:5951:86 | source(...) : Object | Test.java:5951:56:5951:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:5952:4:5952:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5953:39:5953:41 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5952:12:5952:13 | in : HttpHeaders [, ] : Object | Test.java:5952:4:5952:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:269 | +| Test.java:5953:28:5953:42 | getElement(...) : Entry [] : Object | Test.java:5953:9:5953:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5953:39:5953:41 | out : HttpHeaders [, ] : Object | Test.java:5953:28:5953:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5958:16:5958:31 | (...)... : String | Test.java:5959:12:5959:13 | in : String | provenance | | +| Test.java:5958:24:5958:31 | source(...) : Object | Test.java:5958:16:5958:31 | (...)... : String | provenance | | +| Test.java:5959:4:5959:6 | out [post update] : HttpHeaders [, ] : String | Test.java:5960:37:5960:39 | out : HttpHeaders [, ] : String | provenance | | +| Test.java:5959:12:5959:13 | in : String | Test.java:5959:4:5959:6 | out [post update] : HttpHeaders [, ] : String | provenance | MaD:264 | +| Test.java:5960:26:5960:40 | getElement(...) : Entry [] : String | Test.java:5960:9:5960:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5960:37:5960:39 | out : HttpHeaders [, ] : String | Test.java:5960:26:5960:40 | getElement(...) : Entry [] : String | provenance | MaD:492 | +| Test.java:5965:18:5965:44 | (...)... : List [] : Object | Test.java:5966:26:5966:27 | in : List [] : Object | provenance | | +| Test.java:5965:28:5965:44 | of(...) : List [] : Object | Test.java:5965:18:5965:44 | (...)... : List [] : Object | provenance | | +| Test.java:5965:36:5965:43 | source(...) : Object | Test.java:5965:28:5965:44 | of(...) : List [] : Object | provenance | MaD:494 | +| Test.java:5966:4:5966:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5967:39:5967:41 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5966:26:5966:27 | in : List [] : Object | Test.java:5966:4:5966:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:265 | +| Test.java:5967:28:5967:42 | getElement(...) : Entry [] : Object | Test.java:5967:9:5967:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5967:39:5967:41 | out : HttpHeaders [, ] : Object | Test.java:5967:28:5967:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5972:16:5972:31 | (...)... : String | Test.java:5973:12:5973:13 | in : String | provenance | | +| Test.java:5972:24:5972:31 | source(...) : Object | Test.java:5972:16:5972:31 | (...)... : String | provenance | | +| Test.java:5973:4:5973:6 | out [post update] : HttpHeaders [, ] : String | Test.java:5974:37:5974:39 | out : HttpHeaders [, ] : String | provenance | | +| Test.java:5973:12:5973:13 | in : String | Test.java:5973:4:5973:6 | out [post update] : HttpHeaders [, ] : String | provenance | MaD:266 | +| Test.java:5974:26:5974:40 | getElement(...) : Entry [] : String | Test.java:5974:9:5974:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5974:37:5974:39 | out : HttpHeaders [, ] : String | Test.java:5974:26:5974:40 | getElement(...) : Entry [] : String | provenance | MaD:492 | +| Test.java:5979:16:5979:31 | (...)... : Object | Test.java:5980:26:5980:27 | in : Object | provenance | | +| Test.java:5979:24:5979:31 | source(...) : Object | Test.java:5979:16:5979:31 | (...)... : Object | provenance | | +| Test.java:5980:4:5980:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5981:39:5981:41 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:5980:26:5980:27 | in : Object | Test.java:5980:4:5980:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:267 | +| Test.java:5981:28:5981:42 | getElement(...) : Entry [] : Object | Test.java:5981:9:5981:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5981:39:5981:41 | out : HttpHeaders [, ] : Object | Test.java:5981:28:5981:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:5986:21:5986:41 | (...)... : HttpHeaders | Test.java:5987:10:5987:11 | in : HttpHeaders | provenance | | +| Test.java:5986:34:5986:41 | source(...) : Object | Test.java:5986:21:5986:41 | (...)... : HttpHeaders | provenance | | +| Test.java:5987:10:5987:11 | in : HttpHeaders | Test.java:5987:10:5987:51 | set(...) : HttpHeaders | provenance | MaD:259 | +| Test.java:5987:10:5987:51 | set(...) : HttpHeaders | Test.java:5988:9:5988:11 | out | provenance | | +| Test.java:5993:21:5993:41 | (...)... : HttpHeaders | Test.java:5994:10:5994:11 | in : HttpHeaders | provenance | | +| Test.java:5993:34:5993:41 | source(...) : Object | Test.java:5993:21:5993:41 | (...)... : HttpHeaders | provenance | | +| Test.java:5994:10:5994:11 | in : HttpHeaders | Test.java:5994:10:5994:49 | set(...) : HttpHeaders | provenance | MaD:259 | +| Test.java:5994:10:5994:49 | set(...) : HttpHeaders | Test.java:5995:9:5995:11 | out | provenance | | +| Test.java:6000:21:6000:41 | (...)... : HttpHeaders | Test.java:6001:10:6001:11 | in : HttpHeaders | provenance | | +| Test.java:6000:34:6000:41 | source(...) : Object | Test.java:6000:21:6000:41 | (...)... : HttpHeaders | provenance | | +| Test.java:6001:10:6001:11 | in : HttpHeaders | Test.java:6001:10:6001:45 | set(...) : HttpHeaders | provenance | MaD:259 | +| Test.java:6001:10:6001:45 | set(...) : HttpHeaders | Test.java:6002:9:6002:11 | out | provenance | | +| Test.java:6007:21:6007:41 | (...)... : HttpHeaders | Test.java:6008:10:6008:11 | in : HttpHeaders | provenance | | +| Test.java:6007:34:6007:41 | source(...) : Object | Test.java:6007:21:6007:41 | (...)... : HttpHeaders | provenance | | +| Test.java:6008:10:6008:11 | in : HttpHeaders | Test.java:6008:10:6008:43 | set(...) : HttpHeaders | provenance | MaD:259 | +| Test.java:6008:10:6008:43 | set(...) : HttpHeaders | Test.java:6009:9:6009:11 | out | provenance | | +| Test.java:6014:21:6014:41 | (...)... : HttpHeaders | Test.java:6015:10:6015:11 | in : HttpHeaders | provenance | | +| Test.java:6014:34:6014:41 | source(...) : Object | Test.java:6014:21:6014:41 | (...)... : HttpHeaders | provenance | | +| Test.java:6015:10:6015:11 | in : HttpHeaders | Test.java:6015:10:6015:21 | set(...) : HttpHeaders | provenance | MaD:259 | +| Test.java:6015:10:6015:21 | set(...) : HttpHeaders | Test.java:6016:9:6016:11 | out | provenance | | +| Test.java:6021:21:6021:41 | (...)... : HttpHeaders | Test.java:6022:10:6022:11 | in : HttpHeaders | provenance | | +| Test.java:6021:34:6021:41 | source(...) : Object | Test.java:6021:21:6021:41 | (...)... : HttpHeaders | provenance | | +| Test.java:6022:10:6022:11 | in : HttpHeaders | Test.java:6022:10:6022:24 | setAll(...) : HttpHeaders | provenance | MaD:270 | +| Test.java:6022:10:6022:24 | setAll(...) : HttpHeaders | Test.java:6023:9:6023:11 | out | provenance | | +| Test.java:6028:21:6028:86 | (...)... : HttpHeaders [, ] : Object | Test.java:6029:15:6029:16 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:6028:34:6028:86 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6028:21:6028:86 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:6028:56:6028:85 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:6028:34:6028:86 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6028:77:6028:84 | source(...) : Object | Test.java:6028:56:6028:85 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:6029:4:6029:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:6030:37:6030:39 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:6029:15:6029:16 | in : HttpHeaders [, ] : Object | Test.java:6029:4:6029:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:271 | +| Test.java:6030:26:6030:40 | getElement(...) : Entry [] : Object | Test.java:6030:9:6030:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6030:37:6030:39 | out : HttpHeaders [, ] : Object | Test.java:6030:26:6030:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:6035:21:6035:88 | (...)... : HttpHeaders [, ] : Object | Test.java:6036:15:6036:16 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:6035:34:6035:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6035:21:6035:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:6035:56:6035:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:6035:34:6035:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6035:79:6035:86 | source(...) : Object | Test.java:6035:56:6035:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:6036:4:6036:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:6037:39:6037:41 | out : HttpHeaders [, ] : Object | provenance | | +| Test.java:6036:15:6036:16 | in : HttpHeaders [, ] : Object | Test.java:6036:4:6036:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:272 | +| Test.java:6037:28:6037:42 | getElement(...) : Entry [] : Object | Test.java:6037:9:6037:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:6037:39:6037:41 | out : HttpHeaders [, ] : Object | Test.java:6037:28:6037:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | +| Test.java:6042:21:6042:41 | (...)... : HttpHeaders | Test.java:6043:10:6043:11 | in : HttpHeaders | provenance | | +| Test.java:6042:34:6042:41 | source(...) : Object | Test.java:6042:21:6042:41 | (...)... : HttpHeaders | provenance | | +| Test.java:6043:10:6043:11 | in : HttpHeaders | Test.java:6043:10:6043:27 | setInt(...) : HttpHeaders | provenance | MaD:273 | +| Test.java:6043:10:6043:27 | setInt(...) : HttpHeaders | Test.java:6044:9:6044:11 | out | provenance | | +| Test.java:6049:22:6049:43 | (...)... : CharSequence | Test.java:6050:15:6050:16 | in : CharSequence | provenance | | +| Test.java:6049:36:6049:43 | source(...) : Object | Test.java:6049:22:6049:43 | (...)... : CharSequence | provenance | | +| Test.java:6050:4:6050:6 | out [post update] : HttpHeaders [, ] : CharSequence | Test.java:6051:37:6051:39 | out : HttpHeaders [, ] : CharSequence | provenance | | +| Test.java:6050:15:6050:16 | in : CharSequence | Test.java:6050:4:6050:6 | out [post update] : HttpHeaders [, ] : CharSequence | provenance | MaD:274 | +| Test.java:6051:26:6051:40 | getElement(...) : Entry [] : CharSequence | Test.java:6051:9:6051:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6051:37:6051:39 | out : HttpHeaders [, ] : CharSequence | Test.java:6051:26:6051:40 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | +| Test.java:6056:21:6056:41 | (...)... : HttpHeaders | Test.java:6057:10:6057:11 | in : HttpHeaders | provenance | | +| Test.java:6056:34:6056:41 | source(...) : Object | Test.java:6056:21:6056:41 | (...)... : HttpHeaders | provenance | | +| Test.java:6057:10:6057:11 | in : HttpHeaders | Test.java:6057:10:6057:36 | setShort(...) : HttpHeaders | provenance | MaD:275 | +| Test.java:6057:10:6057:36 | setShort(...) : HttpHeaders | Test.java:6058:9:6058:11 | out | provenance | | +| Test.java:6063:22:6063:43 | (...)... : CharSequence | Test.java:6064:17:6064:18 | in : CharSequence | provenance | | +| Test.java:6063:36:6063:43 | source(...) : Object | Test.java:6063:22:6063:43 | (...)... : CharSequence | provenance | | +| Test.java:6064:4:6064:6 | out [post update] : HttpHeaders [, ] : CharSequence | Test.java:6065:37:6065:39 | out : HttpHeaders [, ] : CharSequence | provenance | | +| Test.java:6064:17:6064:18 | in : CharSequence | Test.java:6064:4:6064:6 | out [post update] : HttpHeaders [, ] : CharSequence | provenance | MaD:276 | +| Test.java:6065:26:6065:40 | getElement(...) : Entry [] : CharSequence | Test.java:6065:9:6065:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6065:37:6065:39 | out : HttpHeaders [, ] : CharSequence | Test.java:6065:26:6065:40 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | +| Test.java:6070:21:6070:86 | (...)... : HttpHeaders [, ] : Object | Test.java:6071:10:6071:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:6070:34:6070:86 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6070:21:6070:86 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:6070:56:6070:85 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:6070:34:6070:86 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6070:77:6070:84 | source(...) : Object | Test.java:6070:56:6070:85 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:6071:10:6071:11 | in : HttpHeaders [, ] : Object | Test.java:6071:10:6071:22 | toString(...) : String | provenance | MaD:279 | +| Test.java:6071:10:6071:22 | toString(...) : String | Test.java:6072:9:6072:11 | out | provenance | | +| Test.java:6077:21:6077:88 | (...)... : HttpHeaders [, ] : Object | Test.java:6078:10:6078:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:6077:34:6077:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6077:21:6077:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:6077:56:6077:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:6077:34:6077:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6077:79:6077:86 | source(...) : Object | Test.java:6077:56:6077:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:6078:10:6078:11 | in : HttpHeaders [, ] : Object | Test.java:6078:10:6078:22 | toString(...) : String | provenance | MaD:280 | +| Test.java:6078:10:6078:22 | toString(...) : String | Test.java:6079:9:6079:11 | out | provenance | | +| Test.java:6084:21:6084:88 | (...)... : HttpHeaders [, ] : Object | Test.java:6085:10:6085:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:6084:34:6084:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6084:21:6084:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:6084:56:6084:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:6084:34:6084:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6084:79:6084:86 | source(...) : Object | Test.java:6084:56:6084:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:6085:10:6085:11 | in : HttpHeaders [, ] : Object | Test.java:6085:10:6085:43 | valueCharSequenceIterator(...) : Iterator [] : Object | provenance | MaD:278 | +| Test.java:6085:10:6085:43 | valueCharSequenceIterator(...) : Iterator [] : Object | Test.java:6086:20:6086:22 | out : Iterator [] : Object | provenance | | +| Test.java:6086:20:6086:22 | out : Iterator [] : Object | Test.java:80:19:80:32 | it : Iterator [] : Object | provenance | | +| Test.java:6086:20:6086:22 | out : Iterator [] : Object | Test.java:6086:9:6086:23 | getElement(...) | provenance | MaD:493 | +| Test.java:6091:21:6091:88 | (...)... : HttpHeaders [, ] : Object | Test.java:6092:10:6092:11 | in : HttpHeaders [, ] : Object | provenance | | +| Test.java:6091:34:6091:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6091:21:6091:88 | (...)... : HttpHeaders [, ] : Object | provenance | | +| Test.java:6091:56:6091:87 | newWithMapValueDefault(...) : Object [] : Object | Test.java:6091:34:6091:88 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6091:79:6091:86 | source(...) : Object | Test.java:6091:56:6091:87 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:6092:10:6092:11 | in : HttpHeaders [, ] : Object | Test.java:6092:10:6092:37 | valueStringIterator(...) : Iterator [] : Object | provenance | MaD:277 | +| Test.java:6092:10:6092:37 | valueStringIterator(...) : Iterator [] : Object | Test.java:6093:20:6093:22 | out : Iterator [] : Object | provenance | | +| Test.java:6093:20:6093:22 | out : Iterator [] : Object | Test.java:80:19:80:32 | it : Iterator [] : Object | provenance | | +| Test.java:6093:20:6093:22 | out : Iterator [] : Object | Test.java:6093:9:6093:23 | getElement(...) | provenance | MaD:493 | +| Test.java:6098:21:6098:41 | (...)... : HttpMessage | Test.java:6099:10:6099:11 | in : HttpMessage | provenance | | +| Test.java:6098:34:6098:41 | source(...) : Object | Test.java:6098:21:6098:41 | (...)... : HttpMessage | provenance | | +| Test.java:6099:10:6099:11 | in : HttpMessage | Test.java:6099:10:6099:21 | headers(...) : HttpHeaders | provenance | MaD:281 | +| Test.java:6099:10:6099:21 | headers(...) : HttpHeaders | Test.java:6100:9:6100:11 | out | provenance | | +| Test.java:6105:21:6105:41 | (...)... : HttpRequest | Test.java:6106:10:6106:11 | in : HttpRequest | provenance | | +| Test.java:6105:34:6105:41 | source(...) : Object | Test.java:6105:21:6105:41 | (...)... : HttpRequest | provenance | | +| Test.java:6106:10:6106:11 | in : HttpRequest | Test.java:6106:10:6106:20 | getUri(...) : String | provenance | MaD:283 | +| Test.java:6106:10:6106:20 | getUri(...) : String | Test.java:6107:9:6107:11 | out | provenance | | +| Test.java:6112:21:6112:41 | (...)... : HttpRequest | Test.java:6113:10:6113:11 | in : HttpRequest | provenance | | +| Test.java:6112:34:6112:41 | source(...) : Object | Test.java:6112:21:6112:41 | (...)... : HttpRequest | provenance | | +| Test.java:6113:10:6113:11 | in : HttpRequest | Test.java:6113:10:6113:17 | uri(...) : String | provenance | MaD:284 | +| Test.java:6113:10:6113:17 | uri(...) : String | Test.java:6114:9:6114:11 | out | provenance | | +| Test.java:6119:25:6119:49 | (...)... : LastHttpContent | Test.java:6120:10:6120:11 | in : LastHttpContent | provenance | | +| Test.java:6119:42:6119:49 | source(...) : Object | Test.java:6119:25:6119:49 | (...)... : LastHttpContent | provenance | | +| Test.java:6120:10:6120:11 | in : LastHttpContent | Test.java:6120:10:6120:29 | trailingHeaders(...) : HttpHeaders | provenance | MaD:282 | +| Test.java:6120:10:6120:29 | trailingHeaders(...) : HttpHeaders | Test.java:6121:9:6121:11 | out | provenance | | +| Test.java:6126:16:6126:31 | (...)... : String | Test.java:6127:33:6127:34 | in : String | provenance | | +| Test.java:6126:24:6126:31 | source(...) : Object | Test.java:6126:16:6126:31 | (...)... : String | provenance | | +| Test.java:6127:10:6127:35 | new QueryStringDecoder(...) : QueryStringDecoder | Test.java:6128:9:6128:11 | out | provenance | | +| Test.java:6127:33:6127:34 | in : String | Test.java:6127:10:6127:35 | new QueryStringDecoder(...) : QueryStringDecoder | provenance | MaD:285 | +| Test.java:6133:16:6133:31 | (...)... : String | Test.java:6134:33:6134:34 | in : String | provenance | | +| Test.java:6133:24:6133:31 | source(...) : Object | Test.java:6133:16:6133:31 | (...)... : String | provenance | | +| Test.java:6134:10:6134:50 | new QueryStringDecoder(...) : QueryStringDecoder | Test.java:6135:9:6135:11 | out | provenance | | +| Test.java:6134:33:6134:34 | in : String | Test.java:6134:10:6134:50 | new QueryStringDecoder(...) : QueryStringDecoder | provenance | MaD:285 | +| Test.java:6140:16:6140:31 | (...)... : String | Test.java:6141:33:6141:34 | in : String | provenance | | +| Test.java:6140:24:6140:31 | source(...) : Object | Test.java:6140:16:6140:31 | (...)... : String | provenance | | +| Test.java:6141:10:6141:57 | new QueryStringDecoder(...) : QueryStringDecoder | Test.java:6142:9:6142:11 | out | provenance | | +| Test.java:6141:33:6141:34 | in : String | Test.java:6141:10:6141:57 | new QueryStringDecoder(...) : QueryStringDecoder | provenance | MaD:285 | +| Test.java:6147:16:6147:31 | (...)... : String | Test.java:6148:33:6148:34 | in : String | provenance | | +| Test.java:6147:24:6147:31 | source(...) : Object | Test.java:6147:16:6147:31 | (...)... : String | provenance | | +| Test.java:6148:10:6148:60 | new QueryStringDecoder(...) : QueryStringDecoder | Test.java:6149:9:6149:11 | out | provenance | | +| Test.java:6148:33:6148:34 | in : String | Test.java:6148:10:6148:60 | new QueryStringDecoder(...) : QueryStringDecoder | provenance | MaD:285 | +| Test.java:6154:16:6154:31 | (...)... : String | Test.java:6155:33:6155:34 | in : String | provenance | | +| Test.java:6154:24:6154:31 | source(...) : Object | Test.java:6154:16:6154:31 | (...)... : String | provenance | | +| Test.java:6155:10:6155:42 | new QueryStringDecoder(...) : QueryStringDecoder | Test.java:6156:9:6156:11 | out | provenance | | +| Test.java:6155:33:6155:34 | in : String | Test.java:6155:10:6155:42 | new QueryStringDecoder(...) : QueryStringDecoder | provenance | MaD:285 | +| Test.java:6161:16:6161:31 | (...)... : String | Test.java:6162:33:6162:34 | in : String | provenance | | +| Test.java:6161:24:6161:31 | source(...) : Object | Test.java:6161:16:6161:31 | (...)... : String | provenance | | +| Test.java:6162:10:6162:58 | new QueryStringDecoder(...) : QueryStringDecoder | Test.java:6163:9:6163:11 | out | provenance | | +| Test.java:6162:33:6162:34 | in : String | Test.java:6162:10:6162:58 | new QueryStringDecoder(...) : QueryStringDecoder | provenance | MaD:285 | +| Test.java:6168:13:6168:25 | (...)... : URI | Test.java:6169:33:6169:34 | in : URI | provenance | | +| Test.java:6168:18:6168:25 | source(...) : Object | Test.java:6168:13:6168:25 | (...)... : URI | provenance | | +| Test.java:6169:10:6169:35 | new QueryStringDecoder(...) : QueryStringDecoder | Test.java:6170:9:6170:11 | out | provenance | | +| Test.java:6169:33:6169:34 | in : URI | Test.java:6169:10:6169:35 | new QueryStringDecoder(...) : QueryStringDecoder | provenance | MaD:285 | +| Test.java:6175:13:6175:25 | (...)... : URI | Test.java:6176:33:6176:34 | in : URI | provenance | | +| Test.java:6175:18:6175:25 | source(...) : Object | Test.java:6175:13:6175:25 | (...)... : URI | provenance | | +| Test.java:6176:10:6176:50 | new QueryStringDecoder(...) : QueryStringDecoder | Test.java:6177:9:6177:11 | out | provenance | | +| Test.java:6176:33:6176:34 | in : URI | Test.java:6176:10:6176:50 | new QueryStringDecoder(...) : QueryStringDecoder | provenance | MaD:285 | +| Test.java:6182:13:6182:25 | (...)... : URI | Test.java:6183:33:6183:34 | in : URI | provenance | | +| Test.java:6182:18:6182:25 | source(...) : Object | Test.java:6182:13:6182:25 | (...)... : URI | provenance | | +| Test.java:6183:10:6183:53 | new QueryStringDecoder(...) : QueryStringDecoder | Test.java:6184:9:6184:11 | out | provenance | | +| Test.java:6183:33:6183:34 | in : URI | Test.java:6183:10:6183:53 | new QueryStringDecoder(...) : QueryStringDecoder | provenance | MaD:285 | +| Test.java:6189:13:6189:25 | (...)... : URI | Test.java:6190:33:6190:34 | in : URI | provenance | | +| Test.java:6189:18:6189:25 | source(...) : Object | Test.java:6189:13:6189:25 | (...)... : URI | provenance | | +| Test.java:6190:10:6190:60 | new QueryStringDecoder(...) : QueryStringDecoder | Test.java:6191:9:6191:11 | out | provenance | | +| Test.java:6190:33:6190:34 | in : URI | Test.java:6190:10:6190:60 | new QueryStringDecoder(...) : QueryStringDecoder | provenance | MaD:285 | +| Test.java:6196:16:6196:31 | (...)... : String | Test.java:6197:45:6197:46 | in : String | provenance | | +| Test.java:6196:24:6196:31 | source(...) : Object | Test.java:6196:16:6196:31 | (...)... : String | provenance | | +| Test.java:6197:10:6197:47 | decodeComponent(...) : String | Test.java:6198:9:6198:11 | out | provenance | | +| Test.java:6197:45:6197:46 | in : String | Test.java:6197:10:6197:47 | decodeComponent(...) : String | provenance | MaD:286 | +| Test.java:6203:16:6203:31 | (...)... : String | Test.java:6204:45:6204:46 | in : String | provenance | | +| Test.java:6203:24:6203:31 | source(...) : Object | Test.java:6203:16:6203:31 | (...)... : String | provenance | | +| Test.java:6204:10:6204:53 | decodeComponent(...) : String | Test.java:6205:9:6205:11 | out | provenance | | +| Test.java:6204:45:6204:46 | in : String | Test.java:6204:10:6204:53 | decodeComponent(...) : String | provenance | MaD:286 | +| Test.java:6210:28:6210:55 | (...)... : QueryStringDecoder | Test.java:6211:10:6211:11 | in : QueryStringDecoder | provenance | | +| Test.java:6210:48:6210:55 | source(...) : Object | Test.java:6210:28:6210:55 | (...)... : QueryStringDecoder | provenance | | +| Test.java:6211:10:6211:11 | in : QueryStringDecoder | Test.java:6211:10:6211:24 | parameters(...) : Map | provenance | MaD:287 | +| Test.java:6211:10:6211:24 | parameters(...) : Map | Test.java:6212:9:6212:11 | out | provenance | | +| Test.java:6217:28:6217:55 | (...)... : QueryStringDecoder | Test.java:6218:10:6218:11 | in : QueryStringDecoder | provenance | | +| Test.java:6217:48:6217:55 | source(...) : Object | Test.java:6217:28:6217:55 | (...)... : QueryStringDecoder | provenance | | +| Test.java:6218:10:6218:11 | in : QueryStringDecoder | Test.java:6218:10:6218:18 | path(...) : String | provenance | MaD:288 | +| Test.java:6218:10:6218:18 | path(...) : String | Test.java:6219:9:6219:11 | out | provenance | | +| Test.java:6224:28:6224:55 | (...)... : QueryStringDecoder | Test.java:6225:10:6225:11 | in : QueryStringDecoder | provenance | | +| Test.java:6224:48:6224:55 | source(...) : Object | Test.java:6224:28:6224:55 | (...)... : QueryStringDecoder | provenance | | +| Test.java:6225:10:6225:11 | in : QueryStringDecoder | Test.java:6225:10:6225:21 | rawPath(...) : String | provenance | MaD:289 | +| Test.java:6225:10:6225:21 | rawPath(...) : String | Test.java:6226:9:6226:11 | out | provenance | | +| Test.java:6231:28:6231:55 | (...)... : QueryStringDecoder | Test.java:6232:10:6232:11 | in : QueryStringDecoder | provenance | | +| Test.java:6231:48:6231:55 | source(...) : Object | Test.java:6231:28:6231:55 | (...)... : QueryStringDecoder | provenance | | +| Test.java:6232:10:6232:11 | in : QueryStringDecoder | Test.java:6232:10:6232:22 | rawQuery(...) : String | provenance | MaD:290 | +| Test.java:6232:10:6232:22 | rawQuery(...) : String | Test.java:6233:9:6233:11 | out | provenance | | +| Test.java:6238:28:6238:55 | (...)... : QueryStringDecoder | Test.java:6239:10:6239:11 | in : QueryStringDecoder | provenance | | +| Test.java:6238:48:6238:55 | source(...) : Object | Test.java:6238:28:6238:55 | (...)... : QueryStringDecoder | provenance | | +| Test.java:6239:10:6239:11 | in : QueryStringDecoder | Test.java:6239:10:6239:22 | toString(...) : String | provenance | MaD:291 | +| Test.java:6239:10:6239:22 | toString(...) : String | Test.java:6240:9:6240:11 | out | provenance | | +| Test.java:6245:28:6245:55 | (...)... : QueryStringDecoder | Test.java:6246:10:6246:11 | in : QueryStringDecoder | provenance | | +| Test.java:6245:48:6245:55 | source(...) : Object | Test.java:6245:28:6245:55 | (...)... : QueryStringDecoder | provenance | | +| Test.java:6246:10:6246:11 | in : QueryStringDecoder | Test.java:6246:10:6246:17 | uri(...) : String | provenance | MaD:292 | +| Test.java:6246:10:6246:17 | uri(...) : String | Test.java:6247:9:6247:11 | out | provenance | | +| Test.java:6252:17:6252:33 | (...)... : ByteBuf | Test.java:6254:34:6254:35 | in : ByteBuf | provenance | | +| Test.java:6252:26:6252:33 | source(...) : Object | Test.java:6252:17:6252:33 | (...)... : ByteBuf | provenance | | +| Test.java:6254:10:6254:42 | cumulate(...) : ByteBuf | Test.java:6255:9:6255:11 | out | provenance | | +| Test.java:6254:34:6254:35 | in : ByteBuf | Test.java:6254:10:6254:42 | cumulate(...) : ByteBuf | provenance | MaD:382 | +| Test.java:6260:17:6260:33 | (...)... : ByteBuf | Test.java:6262:40:6262:41 | in : ByteBuf | provenance | | +| Test.java:6260:26:6260:33 | source(...) : Object | Test.java:6260:17:6260:33 | (...)... : ByteBuf | provenance | | +| Test.java:6262:10:6262:42 | cumulate(...) : ByteBuf | Test.java:6263:9:6263:11 | out | provenance | | +| Test.java:6262:40:6262:41 | in : ByteBuf | Test.java:6262:10:6262:42 | cumulate(...) : ByteBuf | provenance | MaD:382 | +| Test.java:6268:17:6268:78 | (...)... : Headers [, ] : Object | Test.java:6269:12:6269:13 | in : Headers [, ] : Object | provenance | | +| Test.java:6268:26:6268:78 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6268:17:6268:78 | (...)... : Headers [, ] : Object | provenance | | +| Test.java:6268:48:6268:77 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:6268:26:6268:78 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6268:69:6268:76 | source(...) : Object | Test.java:6268:48:6268:77 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:6269:4:6269:6 | out [post update] : Headers [, ] : Object | Test.java:6270:37:6270:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6269:12:6269:13 | in : Headers [, ] : Object | Test.java:6269:4:6269:6 | out [post update] : Headers [, ] : Object | provenance | MaD:400 | +| Test.java:6270:26:6270:40 | getElement(...) : Object [] : Object | Test.java:6270:9:6270:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6270:37:6270:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6270:37:6270:39 | out : Headers [, ] : Object | Test.java:6270:26:6270:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6275:17:6275:80 | (...)... : Headers [, ] : Object | Test.java:6276:12:6276:13 | in : Headers [, ] : Object | provenance | | +| Test.java:6275:26:6275:80 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6275:17:6275:80 | (...)... : Headers [, ] : Object | provenance | | +| Test.java:6275:48:6275:79 | newWithMapValueDefault(...) : Object [] : Object | Test.java:6275:26:6275:80 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6275:71:6275:78 | source(...) : Object | Test.java:6275:48:6275:79 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:6276:4:6276:6 | out [post update] : Headers [, ] : Object | Test.java:6277:39:6277:41 | out : Headers [, ] : Object | provenance | | +| Test.java:6276:12:6276:13 | in : Headers [, ] : Object | Test.java:6276:4:6276:6 | out [post update] : Headers [, ] : Object | provenance | MaD:401 | +| Test.java:6277:28:6277:42 | getElement(...) : Object [] : Object | Test.java:6277:9:6277:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:6277:39:6277:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6277:39:6277:41 | out : Headers [, ] : Object | Test.java:6277:28:6277:42 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6282:16:6282:31 | (...)... : Object | Test.java:6283:12:6283:13 | in : Object | provenance | | +| Test.java:6282:24:6282:31 | source(...) : Object | Test.java:6282:16:6282:31 | (...)... : Object | provenance | | +| Test.java:6283:4:6283:6 | out [post update] : Headers [, ] : Object | Test.java:6284:37:6284:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6283:12:6283:13 | in : Object | Test.java:6283:4:6283:6 | out [post update] : Headers [, ] : Object | provenance | MaD:402 | +| Test.java:6284:26:6284:40 | getElement(...) : Object [] : Object | Test.java:6284:9:6284:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6284:37:6284:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6284:37:6284:39 | out : Headers [, ] : Object | Test.java:6284:26:6284:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6289:18:6289:44 | (...)... : List [] : Object | Test.java:6290:26:6290:27 | in : List [] : Object | provenance | | +| Test.java:6289:28:6289:44 | of(...) : List [] : Object | Test.java:6289:18:6289:44 | (...)... : List [] : Object | provenance | | +| Test.java:6289:36:6289:43 | source(...) : Object | Test.java:6289:28:6289:44 | of(...) : List [] : Object | provenance | MaD:494 | +| Test.java:6290:4:6290:6 | out [post update] : Headers [, ] : Object | Test.java:6291:39:6291:41 | out : Headers [, ] : Object | provenance | | +| Test.java:6290:26:6290:27 | in : List [] : Object | Test.java:6290:4:6290:6 | out [post update] : Headers [, ] : Object | provenance | MaD:403 | +| Test.java:6291:28:6291:42 | getElement(...) : Object [] : Object | Test.java:6291:9:6291:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:6291:39:6291:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6291:39:6291:41 | out : Headers [, ] : Object | Test.java:6291:28:6291:42 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6296:16:6296:31 | (...)... : Object | Test.java:6297:12:6297:13 | in : Object | provenance | | +| Test.java:6296:24:6296:31 | source(...) : Object | Test.java:6296:16:6296:31 | (...)... : Object | provenance | | +| Test.java:6297:4:6297:6 | out [post update] : Headers [, ] : Object | Test.java:6298:37:6298:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6297:12:6297:13 | in : Object | Test.java:6297:4:6297:6 | out [post update] : Headers [, ] : Object | provenance | MaD:406 | +| Test.java:6298:26:6298:40 | getElement(...) : Object [] : Object | Test.java:6298:9:6298:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6298:37:6298:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6298:37:6298:39 | out : Headers [, ] : Object | Test.java:6298:26:6298:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6303:16:6303:31 | (...)... : Object | Test.java:6304:26:6304:27 | in : Object | provenance | | +| Test.java:6303:24:6303:31 | source(...) : Object | Test.java:6303:16:6303:31 | (...)... : Object | provenance | | +| Test.java:6304:4:6304:6 | out [post update] : Headers [, ] : Object | Test.java:6305:39:6305:41 | out : Headers [, ] : Object | provenance | | +| Test.java:6304:26:6304:27 | in : Object | Test.java:6304:4:6304:6 | out [post update] : Headers [, ] : Object | provenance | MaD:407 | +| Test.java:6305:28:6305:42 | getElement(...) : Object [] : Object | Test.java:6305:9:6305:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:6305:39:6305:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6305:39:6305:41 | out : Headers [, ] : Object | Test.java:6305:28:6305:42 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6310:16:6310:31 | (...)... : Object | Test.java:6311:12:6311:13 | in : Object | provenance | | +| Test.java:6310:24:6310:31 | source(...) : Object | Test.java:6310:16:6310:31 | (...)... : Object | provenance | | +| Test.java:6311:4:6311:6 | out [post update] : Headers [, ] : Object | Test.java:6312:37:6312:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6311:12:6311:13 | in : Object | Test.java:6311:4:6311:6 | out [post update] : Headers [, ] : Object | provenance | MaD:404 | +| Test.java:6312:26:6312:40 | getElement(...) : Object [] : Object | Test.java:6312:9:6312:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6312:37:6312:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6312:37:6312:39 | out : Headers [, ] : Object | Test.java:6312:26:6312:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6317:18:6317:49 | (...)... : Object[] [[]] : Object | Test.java:6318:26:6318:27 | in : Object[] [[]] : Object | provenance | | +| Test.java:6317:28:6317:49 | {...} : Object[] [[]] : Object | Test.java:6317:18:6317:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:6317:41:6317:48 | source(...) : Object | Test.java:6317:28:6317:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:6318:4:6318:6 | out [post update] : Headers [, ] : Object | Test.java:6319:39:6319:41 | out : Headers [, ] : Object | provenance | | +| Test.java:6318:26:6318:27 | in : Object[] [[]] : Object | Test.java:6318:4:6318:6 | out [post update] : Headers [, ] : Object | provenance | MaD:405 | +| Test.java:6319:28:6319:42 | getElement(...) : Object [] : Object | Test.java:6319:9:6319:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:6319:39:6319:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6319:39:6319:41 | out : Headers [, ] : Object | Test.java:6319:28:6319:42 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6324:17:6324:33 | (...)... : Headers | Test.java:6325:10:6325:11 | in : Headers | provenance | | +| Test.java:6324:26:6324:33 | source(...) : Object | Test.java:6324:17:6324:33 | (...)... : Headers | provenance | | +| Test.java:6325:10:6325:11 | in : Headers | Test.java:6325:10:6325:45 | add(...) : Headers | provenance | MaD:399 | +| Test.java:6325:10:6325:45 | add(...) : Headers | Test.java:6326:9:6326:11 | out | provenance | | +| Test.java:6331:17:6331:33 | (...)... : Headers | Test.java:6332:10:6332:11 | in : Headers | provenance | | +| Test.java:6331:26:6331:33 | source(...) : Object | Test.java:6331:17:6331:33 | (...)... : Headers | provenance | | +| Test.java:6332:10:6332:11 | in : Headers | Test.java:6332:10:6332:43 | add(...) : Headers | provenance | MaD:399 | +| Test.java:6332:10:6332:43 | add(...) : Headers | Test.java:6333:9:6333:11 | out | provenance | | +| Test.java:6338:17:6338:33 | (...)... : Headers | Test.java:6339:10:6339:11 | in : Headers | provenance | | +| Test.java:6338:26:6338:33 | source(...) : Object | Test.java:6338:17:6338:33 | (...)... : Headers | provenance | | +| Test.java:6339:10:6339:11 | in : Headers | Test.java:6339:10:6339:45 | add(...) : Headers | provenance | MaD:399 | +| Test.java:6339:10:6339:45 | add(...) : Headers | Test.java:6340:9:6340:11 | out | provenance | | +| Test.java:6345:17:6345:33 | (...)... : Headers | Test.java:6346:10:6346:11 | in : Headers | provenance | | +| Test.java:6345:26:6345:33 | source(...) : Object | Test.java:6345:17:6345:33 | (...)... : Headers | provenance | | +| Test.java:6346:10:6346:11 | in : Headers | Test.java:6346:10:6346:21 | add(...) : Headers | provenance | MaD:399 | +| Test.java:6346:10:6346:21 | add(...) : Headers | Test.java:6347:9:6347:11 | out | provenance | | +| Test.java:6352:17:6352:33 | (...)... : Headers | Test.java:6353:10:6353:11 | in : Headers | provenance | | +| Test.java:6352:26:6352:33 | source(...) : Object | Test.java:6352:17:6352:33 | (...)... : Headers | provenance | | +| Test.java:6353:10:6353:11 | in : Headers | Test.java:6353:10:6353:35 | addBoolean(...) : Headers | provenance | MaD:414 | +| Test.java:6353:10:6353:35 | addBoolean(...) : Headers | Test.java:6354:9:6354:11 | out | provenance | | +| Test.java:6359:16:6359:31 | (...)... : Object | Test.java:6360:19:6360:20 | in : Object | provenance | | +| Test.java:6359:24:6359:31 | source(...) : Object | Test.java:6359:16:6359:31 | (...)... : Object | provenance | | +| Test.java:6360:4:6360:6 | out [post update] : Headers [, ] : Object | Test.java:6361:37:6361:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6360:19:6360:20 | in : Object | Test.java:6360:4:6360:6 | out [post update] : Headers [, ] : Object | provenance | MaD:415 | +| Test.java:6361:26:6361:40 | getElement(...) : Object [] : Object | Test.java:6361:9:6361:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6361:37:6361:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6361:37:6361:39 | out : Headers [, ] : Object | Test.java:6361:26:6361:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6366:17:6366:33 | (...)... : Headers | Test.java:6367:10:6367:11 | in : Headers | provenance | | +| Test.java:6366:26:6366:33 | source(...) : Object | Test.java:6366:17:6366:33 | (...)... : Headers | provenance | | +| Test.java:6367:10:6367:11 | in : Headers | Test.java:6367:10:6367:34 | addByte(...) : Headers | provenance | MaD:416 | +| Test.java:6367:10:6367:34 | addByte(...) : Headers | Test.java:6368:9:6368:11 | out | provenance | | +| Test.java:6373:16:6373:31 | (...)... : Object | Test.java:6374:16:6374:17 | in : Object | provenance | | +| Test.java:6373:24:6373:31 | source(...) : Object | Test.java:6373:16:6373:31 | (...)... : Object | provenance | | +| Test.java:6374:4:6374:6 | out [post update] : Headers [, ] : Object | Test.java:6375:37:6375:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6374:16:6374:17 | in : Object | Test.java:6374:4:6374:6 | out [post update] : Headers [, ] : Object | provenance | MaD:417 | +| Test.java:6375:26:6375:40 | getElement(...) : Object [] : Object | Test.java:6375:9:6375:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6375:37:6375:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6375:37:6375:39 | out : Headers [, ] : Object | Test.java:6375:26:6375:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6380:17:6380:33 | (...)... : Headers | Test.java:6381:10:6381:11 | in : Headers | provenance | | +| Test.java:6380:26:6380:33 | source(...) : Object | Test.java:6380:17:6380:33 | (...)... : Headers | provenance | | +| Test.java:6381:10:6381:11 | in : Headers | Test.java:6381:10:6381:31 | addChar(...) : Headers | provenance | MaD:418 | +| Test.java:6381:10:6381:31 | addChar(...) : Headers | Test.java:6382:9:6382:11 | out | provenance | | +| Test.java:6387:16:6387:31 | (...)... : Object | Test.java:6388:16:6388:17 | in : Object | provenance | | +| Test.java:6387:24:6387:31 | source(...) : Object | Test.java:6387:16:6387:31 | (...)... : Object | provenance | | +| Test.java:6388:4:6388:6 | out [post update] : Headers [, ] : Object | Test.java:6389:37:6389:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6388:16:6388:17 | in : Object | Test.java:6388:4:6388:6 | out [post update] : Headers [, ] : Object | provenance | MaD:419 | +| Test.java:6389:26:6389:40 | getElement(...) : Object [] : Object | Test.java:6389:9:6389:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6389:37:6389:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6389:37:6389:39 | out : Headers [, ] : Object | Test.java:6389:26:6389:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6394:17:6394:33 | (...)... : Headers | Test.java:6395:10:6395:11 | in : Headers | provenance | | +| Test.java:6394:26:6394:33 | source(...) : Object | Test.java:6394:17:6394:33 | (...)... : Headers | provenance | | +| Test.java:6395:10:6395:11 | in : Headers | Test.java:6395:10:6395:32 | addDouble(...) : Headers | provenance | MaD:420 | +| Test.java:6395:10:6395:32 | addDouble(...) : Headers | Test.java:6396:9:6396:11 | out | provenance | | +| Test.java:6401:16:6401:31 | (...)... : Object | Test.java:6402:18:6402:19 | in : Object | provenance | | +| Test.java:6401:24:6401:31 | source(...) : Object | Test.java:6401:16:6401:31 | (...)... : Object | provenance | | +| Test.java:6402:4:6402:6 | out [post update] : Headers [, ] : Object | Test.java:6403:37:6403:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6402:18:6402:19 | in : Object | Test.java:6402:4:6402:6 | out [post update] : Headers [, ] : Object | provenance | MaD:421 | +| Test.java:6403:26:6403:40 | getElement(...) : Object [] : Object | Test.java:6403:9:6403:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6403:37:6403:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6403:37:6403:39 | out : Headers [, ] : Object | Test.java:6403:26:6403:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6408:17:6408:33 | (...)... : Headers | Test.java:6409:10:6409:11 | in : Headers | provenance | | +| Test.java:6408:26:6408:33 | source(...) : Object | Test.java:6408:17:6408:33 | (...)... : Headers | provenance | | +| Test.java:6409:10:6409:11 | in : Headers | Test.java:6409:10:6409:32 | addFloat(...) : Headers | provenance | MaD:422 | +| Test.java:6409:10:6409:32 | addFloat(...) : Headers | Test.java:6410:9:6410:11 | out | provenance | | +| Test.java:6415:16:6415:31 | (...)... : Object | Test.java:6416:17:6416:18 | in : Object | provenance | | +| Test.java:6415:24:6415:31 | source(...) : Object | Test.java:6415:16:6415:31 | (...)... : Object | provenance | | +| Test.java:6416:4:6416:6 | out [post update] : Headers [, ] : Object | Test.java:6417:37:6417:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6416:17:6416:18 | in : Object | Test.java:6416:4:6416:6 | out [post update] : Headers [, ] : Object | provenance | MaD:423 | +| Test.java:6417:26:6417:40 | getElement(...) : Object [] : Object | Test.java:6417:9:6417:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6417:37:6417:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6417:37:6417:39 | out : Headers [, ] : Object | Test.java:6417:26:6417:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6422:17:6422:33 | (...)... : Headers | Test.java:6423:10:6423:11 | in : Headers | provenance | | +| Test.java:6422:26:6422:33 | source(...) : Object | Test.java:6422:17:6422:33 | (...)... : Headers | provenance | | +| Test.java:6423:10:6423:11 | in : Headers | Test.java:6423:10:6423:27 | addInt(...) : Headers | provenance | MaD:424 | +| Test.java:6423:10:6423:27 | addInt(...) : Headers | Test.java:6424:9:6424:11 | out | provenance | | +| Test.java:6429:16:6429:31 | (...)... : Object | Test.java:6430:15:6430:16 | in : Object | provenance | | +| Test.java:6429:24:6429:31 | source(...) : Object | Test.java:6429:16:6429:31 | (...)... : Object | provenance | | +| Test.java:6430:4:6430:6 | out [post update] : Headers [, ] : Object | Test.java:6431:37:6431:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6430:15:6430:16 | in : Object | Test.java:6430:4:6430:6 | out [post update] : Headers [, ] : Object | provenance | MaD:425 | +| Test.java:6431:26:6431:40 | getElement(...) : Object [] : Object | Test.java:6431:9:6431:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6431:37:6431:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6431:37:6431:39 | out : Headers [, ] : Object | Test.java:6431:26:6431:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6436:17:6436:33 | (...)... : Headers | Test.java:6437:10:6437:11 | in : Headers | provenance | | +| Test.java:6436:26:6436:33 | source(...) : Object | Test.java:6436:17:6436:33 | (...)... : Headers | provenance | | +| Test.java:6437:10:6437:11 | in : Headers | Test.java:6437:10:6437:29 | addLong(...) : Headers | provenance | MaD:426 | +| Test.java:6437:10:6437:29 | addLong(...) : Headers | Test.java:6438:9:6438:11 | out | provenance | | +| Test.java:6443:16:6443:31 | (...)... : Object | Test.java:6444:16:6444:17 | in : Object | provenance | | +| Test.java:6443:24:6443:31 | source(...) : Object | Test.java:6443:16:6443:31 | (...)... : Object | provenance | | +| Test.java:6444:4:6444:6 | out [post update] : Headers [, ] : Object | Test.java:6445:37:6445:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6444:16:6444:17 | in : Object | Test.java:6444:4:6444:6 | out [post update] : Headers [, ] : Object | provenance | MaD:427 | +| Test.java:6445:26:6445:40 | getElement(...) : Object [] : Object | Test.java:6445:9:6445:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6445:37:6445:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6445:37:6445:39 | out : Headers [, ] : Object | Test.java:6445:26:6445:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6450:16:6450:31 | (...)... : Object | Test.java:6451:18:6451:19 | in : Object | provenance | | +| Test.java:6450:24:6450:31 | source(...) : Object | Test.java:6450:16:6450:31 | (...)... : Object | provenance | | +| Test.java:6451:4:6451:6 | out [post update] : Headers [, ] : Object | Test.java:6452:37:6452:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6451:18:6451:19 | in : Object | Test.java:6451:4:6451:6 | out [post update] : Headers [, ] : Object | provenance | MaD:408 | +| Test.java:6452:26:6452:40 | getElement(...) : Object [] : Object | Test.java:6452:9:6452:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6452:37:6452:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6452:37:6452:39 | out : Headers [, ] : Object | Test.java:6452:26:6452:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6457:18:6457:44 | (...)... : List [] : Object | Test.java:6458:32:6458:33 | in : List [] : Object | provenance | | +| Test.java:6457:28:6457:44 | of(...) : List [] : Object | Test.java:6457:18:6457:44 | (...)... : List [] : Object | provenance | | +| Test.java:6457:36:6457:43 | source(...) : Object | Test.java:6457:28:6457:44 | of(...) : List [] : Object | provenance | MaD:494 | +| Test.java:6458:4:6458:6 | out [post update] : Headers [, ] : Object | Test.java:6459:39:6459:41 | out : Headers [, ] : Object | provenance | | +| Test.java:6458:32:6458:33 | in : List [] : Object | Test.java:6458:4:6458:6 | out [post update] : Headers [, ] : Object | provenance | MaD:409 | +| Test.java:6459:28:6459:42 | getElement(...) : Object [] : Object | Test.java:6459:9:6459:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:6459:39:6459:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6459:39:6459:41 | out : Headers [, ] : Object | Test.java:6459:28:6459:42 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6464:16:6464:31 | (...)... : Object | Test.java:6465:18:6465:19 | in : Object | provenance | | +| Test.java:6464:24:6464:31 | source(...) : Object | Test.java:6464:16:6464:31 | (...)... : Object | provenance | | +| Test.java:6465:4:6465:6 | out [post update] : Headers [, ] : Object | Test.java:6466:37:6466:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6465:18:6465:19 | in : Object | Test.java:6465:4:6465:6 | out [post update] : Headers [, ] : Object | provenance | MaD:412 | +| Test.java:6466:26:6466:40 | getElement(...) : Object [] : Object | Test.java:6466:9:6466:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6466:37:6466:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6466:37:6466:39 | out : Headers [, ] : Object | Test.java:6466:26:6466:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6471:16:6471:31 | (...)... : Object | Test.java:6472:32:6472:33 | in : Object | provenance | | +| Test.java:6471:24:6471:31 | source(...) : Object | Test.java:6471:16:6471:31 | (...)... : Object | provenance | | +| Test.java:6472:4:6472:6 | out [post update] : Headers [, ] : Object | Test.java:6473:39:6473:41 | out : Headers [, ] : Object | provenance | | +| Test.java:6472:32:6472:33 | in : Object | Test.java:6472:4:6472:6 | out [post update] : Headers [, ] : Object | provenance | MaD:413 | +| Test.java:6473:28:6473:42 | getElement(...) : Object [] : Object | Test.java:6473:9:6473:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:6473:39:6473:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6473:39:6473:41 | out : Headers [, ] : Object | Test.java:6473:28:6473:42 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6478:16:6478:31 | (...)... : Object | Test.java:6479:18:6479:19 | in : Object | provenance | | +| Test.java:6478:24:6478:31 | source(...) : Object | Test.java:6478:16:6478:31 | (...)... : Object | provenance | | +| Test.java:6479:4:6479:6 | out [post update] : Headers [, ] : Object | Test.java:6480:37:6480:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6479:18:6479:19 | in : Object | Test.java:6479:4:6479:6 | out [post update] : Headers [, ] : Object | provenance | MaD:410 | +| Test.java:6480:26:6480:40 | getElement(...) : Object [] : Object | Test.java:6480:9:6480:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6480:37:6480:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6480:37:6480:39 | out : Headers [, ] : Object | Test.java:6480:26:6480:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6485:18:6485:49 | (...)... : Object[] [[]] : Object | Test.java:6486:32:6486:33 | in : Object[] [[]] : Object | provenance | | +| Test.java:6485:28:6485:49 | {...} : Object[] [[]] : Object | Test.java:6485:18:6485:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:6485:41:6485:48 | source(...) : Object | Test.java:6485:28:6485:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:6486:4:6486:6 | out [post update] : Headers [, ] : Object | Test.java:6487:39:6487:41 | out : Headers [, ] : Object | provenance | | +| Test.java:6486:32:6486:33 | in : Object[] [[]] : Object | Test.java:6486:4:6486:6 | out [post update] : Headers [, ] : Object | provenance | MaD:411 | +| Test.java:6487:28:6487:42 | getElement(...) : Object [] : Object | Test.java:6487:9:6487:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:6487:39:6487:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6487:39:6487:41 | out : Headers [, ] : Object | Test.java:6487:28:6487:42 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6492:17:6492:33 | (...)... : Headers | Test.java:6493:10:6493:11 | in : Headers | provenance | | +| Test.java:6492:26:6492:33 | source(...) : Object | Test.java:6492:17:6492:33 | (...)... : Headers | provenance | | +| Test.java:6493:10:6493:11 | in : Headers | Test.java:6493:10:6493:36 | addShort(...) : Headers | provenance | MaD:428 | +| Test.java:6493:10:6493:36 | addShort(...) : Headers | Test.java:6494:9:6494:11 | out | provenance | | +| Test.java:6499:16:6499:31 | (...)... : Object | Test.java:6500:17:6500:18 | in : Object | provenance | | +| Test.java:6499:24:6499:31 | source(...) : Object | Test.java:6499:16:6499:31 | (...)... : Object | provenance | | +| Test.java:6500:4:6500:6 | out [post update] : Headers [, ] : Object | Test.java:6501:37:6501:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6500:17:6500:18 | in : Object | Test.java:6500:4:6500:6 | out [post update] : Headers [, ] : Object | provenance | MaD:429 | +| Test.java:6501:26:6501:40 | getElement(...) : Object [] : Object | Test.java:6501:9:6501:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6501:37:6501:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6501:37:6501:39 | out : Headers [, ] : Object | Test.java:6501:26:6501:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6506:17:6506:33 | (...)... : Headers | Test.java:6507:10:6507:11 | in : Headers | provenance | | +| Test.java:6506:26:6506:33 | source(...) : Object | Test.java:6506:17:6506:33 | (...)... : Headers | provenance | | +| Test.java:6507:10:6507:11 | in : Headers | Test.java:6507:10:6507:35 | addTimeMillis(...) : Headers | provenance | MaD:430 | +| Test.java:6507:10:6507:35 | addTimeMillis(...) : Headers | Test.java:6508:9:6508:11 | out | provenance | | +| Test.java:6513:16:6513:31 | (...)... : Object | Test.java:6514:22:6514:23 | in : Object | provenance | | +| Test.java:6513:24:6513:31 | source(...) : Object | Test.java:6513:16:6513:31 | (...)... : Object | provenance | | +| Test.java:6514:4:6514:6 | out [post update] : Headers [, ] : Object | Test.java:6515:37:6515:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6514:22:6514:23 | in : Object | Test.java:6514:4:6514:6 | out [post update] : Headers [, ] : Object | provenance | MaD:431 | +| Test.java:6515:26:6515:40 | getElement(...) : Object [] : Object | Test.java:6515:9:6515:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6515:37:6515:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6515:37:6515:39 | out : Headers [, ] : Object | Test.java:6515:26:6515:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6520:17:6520:80 | (...)... : Headers [, ] : Object | Test.java:6521:10:6521:11 | in : Headers [, ] : Object | provenance | | +| Test.java:6520:26:6520:80 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6520:17:6520:80 | (...)... : Headers [, ] : Object | provenance | | +| Test.java:6520:48:6520:79 | newWithMapValueDefault(...) : Object [] : Object | Test.java:6520:26:6520:80 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6520:71:6520:78 | source(...) : Object | Test.java:6520:48:6520:79 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:6521:10:6521:11 | in : Headers [, ] : Object | Test.java:6521:10:6521:21 | get(...) : Object | provenance | MaD:390 | +| Test.java:6521:10:6521:21 | get(...) : Object | Test.java:6522:9:6522:11 | out | provenance | | +| Test.java:6527:17:6527:80 | (...)... : Headers [, ] : Object | Test.java:6528:10:6528:11 | in : Headers [, ] : Object | provenance | | +| Test.java:6527:26:6527:80 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6527:17:6527:80 | (...)... : Headers [, ] : Object | provenance | | +| Test.java:6527:48:6527:79 | newWithMapValueDefault(...) : Object [] : Object | Test.java:6527:26:6527:80 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6527:71:6527:78 | source(...) : Object | Test.java:6527:48:6527:79 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:6528:10:6528:11 | in : Headers [, ] : Object | Test.java:6528:10:6528:27 | get(...) : Object | provenance | MaD:391 | +| Test.java:6528:10:6528:27 | get(...) : Object | Test.java:6529:9:6529:11 | out | provenance | | +| Test.java:6534:16:6534:31 | (...)... : Object | Test.java:6536:29:6536:30 | in : Object | provenance | | +| Test.java:6534:24:6534:31 | source(...) : Object | Test.java:6534:16:6534:31 | (...)... : Object | provenance | | +| Test.java:6536:10:6536:31 | get(...) : Object | Test.java:6537:9:6537:11 | out | provenance | | +| Test.java:6536:29:6536:30 | in : Object | Test.java:6536:10:6536:31 | get(...) : Object | provenance | MaD:392 | +| Test.java:6542:17:6542:80 | (...)... : Headers [, ] : Object | Test.java:6543:10:6543:11 | in : Headers [, ] : Object | provenance | | +| Test.java:6542:26:6542:80 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6542:17:6542:80 | (...)... : Headers [, ] : Object | provenance | | +| Test.java:6542:48:6542:79 | newWithMapValueDefault(...) : Object [] : Object | Test.java:6542:26:6542:80 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6542:71:6542:78 | source(...) : Object | Test.java:6542:48:6542:79 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:6543:10:6543:11 | in : Headers [, ] : Object | Test.java:6543:10:6543:24 | getAll(...) : List [] : Object | provenance | MaD:393 | +| Test.java:6543:10:6543:24 | getAll(...) : List [] : Object | Test.java:6544:20:6544:22 | out : List [] : Object | provenance | | +| Test.java:6544:20:6544:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | provenance | | +| Test.java:6544:20:6544:22 | out : List [] : Object | Test.java:6544:9:6544:23 | getElement(...) | provenance | MaD:492 | +| Test.java:6549:17:6549:80 | (...)... : Headers [, ] : Object | Test.java:6550:10:6550:11 | in : Headers [, ] : Object | provenance | | +| Test.java:6549:26:6549:80 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6549:17:6549:80 | (...)... : Headers [, ] : Object | provenance | | +| Test.java:6549:48:6549:79 | newWithMapValueDefault(...) : Object [] : Object | Test.java:6549:26:6549:80 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6549:71:6549:78 | source(...) : Object | Test.java:6549:48:6549:79 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:6550:10:6550:11 | in : Headers [, ] : Object | Test.java:6550:10:6550:33 | getAllAndRemove(...) : List [] : Object | provenance | MaD:394 | +| Test.java:6550:10:6550:33 | getAllAndRemove(...) : List [] : Object | Test.java:6551:20:6551:22 | out : List [] : Object | provenance | | +| Test.java:6551:20:6551:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | provenance | | +| Test.java:6551:20:6551:22 | out : List [] : Object | Test.java:6551:9:6551:23 | getElement(...) | provenance | MaD:492 | +| Test.java:6556:17:6556:80 | (...)... : Headers [, ] : Object | Test.java:6557:10:6557:11 | in : Headers [, ] : Object | provenance | | +| Test.java:6556:26:6556:80 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6556:17:6556:80 | (...)... : Headers [, ] : Object | provenance | | +| Test.java:6556:48:6556:79 | newWithMapValueDefault(...) : Object [] : Object | Test.java:6556:26:6556:80 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6556:71:6556:78 | source(...) : Object | Test.java:6556:48:6556:79 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:6557:10:6557:11 | in : Headers [, ] : Object | Test.java:6557:10:6557:30 | getAndRemove(...) : Object | provenance | MaD:395 | +| Test.java:6557:10:6557:11 | in : Headers [, ] : Object | Test.java:6557:10:6557:30 | getAndRemove(...) : Object | provenance | MaD:396 | +| Test.java:6557:10:6557:30 | getAndRemove(...) : Object | Test.java:6558:9:6558:11 | out | provenance | | +| Test.java:6563:16:6563:31 | (...)... : Object | Test.java:6565:38:6565:39 | in : Object | provenance | | +| Test.java:6563:24:6563:31 | source(...) : Object | Test.java:6563:16:6563:31 | (...)... : Object | provenance | | +| Test.java:6565:10:6565:40 | getAndRemove(...) : Object | Test.java:6566:9:6566:11 | out | provenance | | +| Test.java:6565:38:6565:39 | in : Object | Test.java:6565:10:6565:40 | getAndRemove(...) : Object | provenance | MaD:397 | +| Test.java:6571:17:6571:78 | (...)... : Headers [, ] : Object | Test.java:6572:10:6572:11 | in : Headers [, ] : Object | provenance | | +| Test.java:6571:26:6571:78 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6571:17:6571:78 | (...)... : Headers [, ] : Object | provenance | | +| Test.java:6571:48:6571:77 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:6571:26:6571:78 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6571:69:6571:76 | source(...) : Object | Test.java:6571:48:6571:77 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:6572:10:6572:11 | in : Headers [, ] : Object | Test.java:6572:10:6572:19 | names(...) : Set [] : Object | provenance | MaD:398 | +| Test.java:6572:10:6572:19 | names(...) : Set [] : Object | Test.java:6573:20:6573:22 | out : Set [] : Object | provenance | | +| Test.java:6573:20:6573:22 | out : Set [] : Object | Test.java:79:19:79:32 | it : Set [] : Object | provenance | | +| Test.java:6573:20:6573:22 | out : Set [] : Object | Test.java:6573:9:6573:23 | getElement(...) | provenance | MaD:492 | +| Test.java:6578:17:6578:78 | (...)... : Headers [, ] : Object | Test.java:6579:12:6579:13 | in : Headers [, ] : Object | provenance | | +| Test.java:6578:26:6578:78 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6578:17:6578:78 | (...)... : Headers [, ] : Object | provenance | | +| Test.java:6578:48:6578:77 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:6578:26:6578:78 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6578:69:6578:76 | source(...) : Object | Test.java:6578:48:6578:77 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:6579:4:6579:6 | out [post update] : Headers [, ] : Object | Test.java:6580:37:6580:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6579:12:6579:13 | in : Headers [, ] : Object | Test.java:6579:4:6579:6 | out [post update] : Headers [, ] : Object | provenance | MaD:433 | +| Test.java:6580:26:6580:40 | getElement(...) : Object [] : Object | Test.java:6580:9:6580:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6580:37:6580:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6580:37:6580:39 | out : Headers [, ] : Object | Test.java:6580:26:6580:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6585:17:6585:80 | (...)... : Headers [, ] : Object | Test.java:6586:12:6586:13 | in : Headers [, ] : Object | provenance | | +| Test.java:6585:26:6585:80 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6585:17:6585:80 | (...)... : Headers [, ] : Object | provenance | | +| Test.java:6585:48:6585:79 | newWithMapValueDefault(...) : Object [] : Object | Test.java:6585:26:6585:80 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6585:71:6585:78 | source(...) : Object | Test.java:6585:48:6585:79 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:6586:4:6586:6 | out [post update] : Headers [, ] : Object | Test.java:6587:39:6587:41 | out : Headers [, ] : Object | provenance | | +| Test.java:6586:12:6586:13 | in : Headers [, ] : Object | Test.java:6586:4:6586:6 | out [post update] : Headers [, ] : Object | provenance | MaD:434 | +| Test.java:6587:28:6587:42 | getElement(...) : Object [] : Object | Test.java:6587:9:6587:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:6587:39:6587:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6587:39:6587:41 | out : Headers [, ] : Object | Test.java:6587:28:6587:42 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6592:16:6592:31 | (...)... : Object | Test.java:6593:12:6593:13 | in : Object | provenance | | +| Test.java:6592:24:6592:31 | source(...) : Object | Test.java:6592:16:6592:31 | (...)... : Object | provenance | | +| Test.java:6593:4:6593:6 | out [post update] : Headers [, ] : Object | Test.java:6594:37:6594:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6593:12:6593:13 | in : Object | Test.java:6593:4:6593:6 | out [post update] : Headers [, ] : Object | provenance | MaD:435 | +| Test.java:6594:26:6594:40 | getElement(...) : Object [] : Object | Test.java:6594:9:6594:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6594:37:6594:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6594:37:6594:39 | out : Headers [, ] : Object | Test.java:6594:26:6594:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6599:18:6599:44 | (...)... : List [] : Object | Test.java:6600:26:6600:27 | in : List [] : Object | provenance | | +| Test.java:6599:28:6599:44 | of(...) : List [] : Object | Test.java:6599:18:6599:44 | (...)... : List [] : Object | provenance | | +| Test.java:6599:36:6599:43 | source(...) : Object | Test.java:6599:28:6599:44 | of(...) : List [] : Object | provenance | MaD:494 | +| Test.java:6600:4:6600:6 | out [post update] : Headers [, ] : Object | Test.java:6601:39:6601:41 | out : Headers [, ] : Object | provenance | | +| Test.java:6600:26:6600:27 | in : List [] : Object | Test.java:6600:4:6600:6 | out [post update] : Headers [, ] : Object | provenance | MaD:436 | +| Test.java:6601:28:6601:42 | getElement(...) : Object [] : Object | Test.java:6601:9:6601:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:6601:39:6601:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6601:39:6601:41 | out : Headers [, ] : Object | Test.java:6601:28:6601:42 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6606:16:6606:31 | (...)... : Object | Test.java:6607:12:6607:13 | in : Object | provenance | | +| Test.java:6606:24:6606:31 | source(...) : Object | Test.java:6606:16:6606:31 | (...)... : Object | provenance | | +| Test.java:6607:4:6607:6 | out [post update] : Headers [, ] : Object | Test.java:6608:37:6608:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6607:12:6607:13 | in : Object | Test.java:6607:4:6607:6 | out [post update] : Headers [, ] : Object | provenance | MaD:439 | +| Test.java:6608:26:6608:40 | getElement(...) : Object [] : Object | Test.java:6608:9:6608:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6608:37:6608:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6608:37:6608:39 | out : Headers [, ] : Object | Test.java:6608:26:6608:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6613:16:6613:31 | (...)... : Object | Test.java:6614:26:6614:27 | in : Object | provenance | | +| Test.java:6613:24:6613:31 | source(...) : Object | Test.java:6613:16:6613:31 | (...)... : Object | provenance | | +| Test.java:6614:4:6614:6 | out [post update] : Headers [, ] : Object | Test.java:6615:39:6615:41 | out : Headers [, ] : Object | provenance | | +| Test.java:6614:26:6614:27 | in : Object | Test.java:6614:4:6614:6 | out [post update] : Headers [, ] : Object | provenance | MaD:440 | +| Test.java:6615:28:6615:42 | getElement(...) : Object [] : Object | Test.java:6615:9:6615:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:6615:39:6615:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6615:39:6615:41 | out : Headers [, ] : Object | Test.java:6615:28:6615:42 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6620:16:6620:31 | (...)... : Object | Test.java:6621:12:6621:13 | in : Object | provenance | | +| Test.java:6620:24:6620:31 | source(...) : Object | Test.java:6620:16:6620:31 | (...)... : Object | provenance | | +| Test.java:6621:4:6621:6 | out [post update] : Headers [, ] : Object | Test.java:6622:37:6622:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6621:12:6621:13 | in : Object | Test.java:6621:4:6621:6 | out [post update] : Headers [, ] : Object | provenance | MaD:437 | +| Test.java:6622:26:6622:40 | getElement(...) : Object [] : Object | Test.java:6622:9:6622:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6622:37:6622:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6622:37:6622:39 | out : Headers [, ] : Object | Test.java:6622:26:6622:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6627:18:6627:49 | (...)... : Object[] [[]] : Object | Test.java:6628:26:6628:27 | in : Object[] [[]] : Object | provenance | | +| Test.java:6627:28:6627:49 | {...} : Object[] [[]] : Object | Test.java:6627:18:6627:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:6627:41:6627:48 | source(...) : Object | Test.java:6627:28:6627:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:6628:4:6628:6 | out [post update] : Headers [, ] : Object | Test.java:6629:39:6629:41 | out : Headers [, ] : Object | provenance | | +| Test.java:6628:26:6628:27 | in : Object[] [[]] : Object | Test.java:6628:4:6628:6 | out [post update] : Headers [, ] : Object | provenance | MaD:438 | +| Test.java:6629:28:6629:42 | getElement(...) : Object [] : Object | Test.java:6629:9:6629:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:6629:39:6629:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6629:39:6629:41 | out : Headers [, ] : Object | Test.java:6629:28:6629:42 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6634:17:6634:33 | (...)... : Headers | Test.java:6635:10:6635:11 | in : Headers | provenance | | +| Test.java:6634:26:6634:33 | source(...) : Object | Test.java:6634:17:6634:33 | (...)... : Headers | provenance | | +| Test.java:6635:10:6635:11 | in : Headers | Test.java:6635:10:6635:45 | set(...) : Headers | provenance | MaD:432 | +| Test.java:6635:10:6635:45 | set(...) : Headers | Test.java:6636:9:6636:11 | out | provenance | | +| Test.java:6641:17:6641:33 | (...)... : Headers | Test.java:6642:10:6642:11 | in : Headers | provenance | | +| Test.java:6641:26:6641:33 | source(...) : Object | Test.java:6641:17:6641:33 | (...)... : Headers | provenance | | +| Test.java:6642:10:6642:11 | in : Headers | Test.java:6642:10:6642:43 | set(...) : Headers | provenance | MaD:432 | +| Test.java:6642:10:6642:43 | set(...) : Headers | Test.java:6643:9:6643:11 | out | provenance | | +| Test.java:6648:17:6648:33 | (...)... : Headers | Test.java:6649:10:6649:11 | in : Headers | provenance | | +| Test.java:6648:26:6648:33 | source(...) : Object | Test.java:6648:17:6648:33 | (...)... : Headers | provenance | | +| Test.java:6649:10:6649:11 | in : Headers | Test.java:6649:10:6649:45 | set(...) : Headers | provenance | MaD:432 | +| Test.java:6649:10:6649:45 | set(...) : Headers | Test.java:6650:9:6650:11 | out | provenance | | +| Test.java:6655:17:6655:33 | (...)... : Headers | Test.java:6656:10:6656:11 | in : Headers | provenance | | +| Test.java:6655:26:6655:33 | source(...) : Object | Test.java:6655:17:6655:33 | (...)... : Headers | provenance | | +| Test.java:6656:10:6656:11 | in : Headers | Test.java:6656:10:6656:21 | set(...) : Headers | provenance | MaD:432 | +| Test.java:6656:10:6656:21 | set(...) : Headers | Test.java:6657:9:6657:11 | out | provenance | | +| Test.java:6662:17:6662:78 | (...)... : Headers [, ] : Object | Test.java:6663:15:6663:16 | in : Headers [, ] : Object | provenance | | +| Test.java:6662:26:6662:78 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6662:17:6662:78 | (...)... : Headers [, ] : Object | provenance | | +| Test.java:6662:48:6662:77 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:6662:26:6662:78 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6662:69:6662:76 | source(...) : Object | Test.java:6662:48:6662:77 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:6663:4:6663:6 | out [post update] : Headers [, ] : Object | Test.java:6664:37:6664:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6663:15:6663:16 | in : Headers [, ] : Object | Test.java:6663:4:6663:6 | out [post update] : Headers [, ] : Object | provenance | MaD:441 | +| Test.java:6664:26:6664:40 | getElement(...) : Object [] : Object | Test.java:6664:9:6664:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6664:37:6664:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6664:37:6664:39 | out : Headers [, ] : Object | Test.java:6664:26:6664:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6669:17:6669:80 | (...)... : Headers [, ] : Object | Test.java:6670:15:6670:16 | in : Headers [, ] : Object | provenance | | +| Test.java:6669:26:6669:80 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6669:17:6669:80 | (...)... : Headers [, ] : Object | provenance | | +| Test.java:6669:48:6669:79 | newWithMapValueDefault(...) : Object [] : Object | Test.java:6669:26:6669:80 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6669:71:6669:78 | source(...) : Object | Test.java:6669:48:6669:79 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:6670:4:6670:6 | out [post update] : Headers [, ] : Object | Test.java:6671:39:6671:41 | out : Headers [, ] : Object | provenance | | +| Test.java:6670:15:6670:16 | in : Headers [, ] : Object | Test.java:6670:4:6670:6 | out [post update] : Headers [, ] : Object | provenance | MaD:442 | +| Test.java:6671:28:6671:42 | getElement(...) : Object [] : Object | Test.java:6671:9:6671:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:6671:39:6671:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6671:39:6671:41 | out : Headers [, ] : Object | Test.java:6671:28:6671:42 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6676:17:6676:33 | (...)... : Headers | Test.java:6677:10:6677:11 | in : Headers | provenance | | +| Test.java:6676:26:6676:33 | source(...) : Object | Test.java:6676:17:6676:33 | (...)... : Headers | provenance | | +| Test.java:6677:10:6677:11 | in : Headers | Test.java:6677:10:6677:35 | setBoolean(...) : Headers | provenance | MaD:449 | +| Test.java:6677:10:6677:35 | setBoolean(...) : Headers | Test.java:6678:9:6678:11 | out | provenance | | +| Test.java:6683:16:6683:31 | (...)... : Object | Test.java:6684:19:6684:20 | in : Object | provenance | | +| Test.java:6683:24:6683:31 | source(...) : Object | Test.java:6683:16:6683:31 | (...)... : Object | provenance | | +| Test.java:6684:4:6684:6 | out [post update] : Headers [, ] : Object | Test.java:6685:37:6685:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6684:19:6684:20 | in : Object | Test.java:6684:4:6684:6 | out [post update] : Headers [, ] : Object | provenance | MaD:450 | +| Test.java:6685:26:6685:40 | getElement(...) : Object [] : Object | Test.java:6685:9:6685:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6685:37:6685:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6685:37:6685:39 | out : Headers [, ] : Object | Test.java:6685:26:6685:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6690:17:6690:33 | (...)... : Headers | Test.java:6691:10:6691:11 | in : Headers | provenance | | +| Test.java:6690:26:6690:33 | source(...) : Object | Test.java:6690:17:6690:33 | (...)... : Headers | provenance | | +| Test.java:6691:10:6691:11 | in : Headers | Test.java:6691:10:6691:34 | setByte(...) : Headers | provenance | MaD:451 | +| Test.java:6691:10:6691:34 | setByte(...) : Headers | Test.java:6692:9:6692:11 | out | provenance | | +| Test.java:6697:16:6697:31 | (...)... : Object | Test.java:6698:16:6698:17 | in : Object | provenance | | +| Test.java:6697:24:6697:31 | source(...) : Object | Test.java:6697:16:6697:31 | (...)... : Object | provenance | | +| Test.java:6698:4:6698:6 | out [post update] : Headers [, ] : Object | Test.java:6699:37:6699:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6698:16:6698:17 | in : Object | Test.java:6698:4:6698:6 | out [post update] : Headers [, ] : Object | provenance | MaD:452 | +| Test.java:6699:26:6699:40 | getElement(...) : Object [] : Object | Test.java:6699:9:6699:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6699:37:6699:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6699:37:6699:39 | out : Headers [, ] : Object | Test.java:6699:26:6699:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6704:17:6704:33 | (...)... : Headers | Test.java:6705:10:6705:11 | in : Headers | provenance | | +| Test.java:6704:26:6704:33 | source(...) : Object | Test.java:6704:17:6704:33 | (...)... : Headers | provenance | | +| Test.java:6705:10:6705:11 | in : Headers | Test.java:6705:10:6705:31 | setChar(...) : Headers | provenance | MaD:453 | +| Test.java:6705:10:6705:31 | setChar(...) : Headers | Test.java:6706:9:6706:11 | out | provenance | | +| Test.java:6711:16:6711:31 | (...)... : Object | Test.java:6712:16:6712:17 | in : Object | provenance | | +| Test.java:6711:24:6711:31 | source(...) : Object | Test.java:6711:16:6711:31 | (...)... : Object | provenance | | +| Test.java:6712:4:6712:6 | out [post update] : Headers [, ] : Object | Test.java:6713:37:6713:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6712:16:6712:17 | in : Object | Test.java:6712:4:6712:6 | out [post update] : Headers [, ] : Object | provenance | MaD:454 | +| Test.java:6713:26:6713:40 | getElement(...) : Object [] : Object | Test.java:6713:9:6713:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6713:37:6713:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6713:37:6713:39 | out : Headers [, ] : Object | Test.java:6713:26:6713:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6718:17:6718:33 | (...)... : Headers | Test.java:6719:10:6719:11 | in : Headers | provenance | | +| Test.java:6718:26:6718:33 | source(...) : Object | Test.java:6718:17:6718:33 | (...)... : Headers | provenance | | +| Test.java:6719:10:6719:11 | in : Headers | Test.java:6719:10:6719:32 | setDouble(...) : Headers | provenance | MaD:455 | +| Test.java:6719:10:6719:32 | setDouble(...) : Headers | Test.java:6720:9:6720:11 | out | provenance | | +| Test.java:6725:16:6725:31 | (...)... : Object | Test.java:6726:18:6726:19 | in : Object | provenance | | +| Test.java:6725:24:6725:31 | source(...) : Object | Test.java:6725:16:6725:31 | (...)... : Object | provenance | | +| Test.java:6726:4:6726:6 | out [post update] : Headers [, ] : Object | Test.java:6727:37:6727:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6726:18:6726:19 | in : Object | Test.java:6726:4:6726:6 | out [post update] : Headers [, ] : Object | provenance | MaD:456 | +| Test.java:6727:26:6727:40 | getElement(...) : Object [] : Object | Test.java:6727:9:6727:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6727:37:6727:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6727:37:6727:39 | out : Headers [, ] : Object | Test.java:6727:26:6727:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6732:17:6732:33 | (...)... : Headers | Test.java:6733:10:6733:11 | in : Headers | provenance | | +| Test.java:6732:26:6732:33 | source(...) : Object | Test.java:6732:17:6732:33 | (...)... : Headers | provenance | | +| Test.java:6733:10:6733:11 | in : Headers | Test.java:6733:10:6733:32 | setFloat(...) : Headers | provenance | MaD:457 | +| Test.java:6733:10:6733:32 | setFloat(...) : Headers | Test.java:6734:9:6734:11 | out | provenance | | +| Test.java:6739:16:6739:31 | (...)... : Object | Test.java:6740:17:6740:18 | in : Object | provenance | | +| Test.java:6739:24:6739:31 | source(...) : Object | Test.java:6739:16:6739:31 | (...)... : Object | provenance | | +| Test.java:6740:4:6740:6 | out [post update] : Headers [, ] : Object | Test.java:6741:37:6741:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6740:17:6740:18 | in : Object | Test.java:6740:4:6740:6 | out [post update] : Headers [, ] : Object | provenance | MaD:458 | +| Test.java:6741:26:6741:40 | getElement(...) : Object [] : Object | Test.java:6741:9:6741:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6741:37:6741:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6741:37:6741:39 | out : Headers [, ] : Object | Test.java:6741:26:6741:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6746:17:6746:33 | (...)... : Headers | Test.java:6747:10:6747:11 | in : Headers | provenance | | +| Test.java:6746:26:6746:33 | source(...) : Object | Test.java:6746:17:6746:33 | (...)... : Headers | provenance | | +| Test.java:6747:10:6747:11 | in : Headers | Test.java:6747:10:6747:27 | setInt(...) : Headers | provenance | MaD:459 | +| Test.java:6747:10:6747:27 | setInt(...) : Headers | Test.java:6748:9:6748:11 | out | provenance | | +| Test.java:6753:16:6753:31 | (...)... : Object | Test.java:6754:15:6754:16 | in : Object | provenance | | +| Test.java:6753:24:6753:31 | source(...) : Object | Test.java:6753:16:6753:31 | (...)... : Object | provenance | | +| Test.java:6754:4:6754:6 | out [post update] : Headers [, ] : Object | Test.java:6755:37:6755:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6754:15:6754:16 | in : Object | Test.java:6754:4:6754:6 | out [post update] : Headers [, ] : Object | provenance | MaD:460 | +| Test.java:6755:26:6755:40 | getElement(...) : Object [] : Object | Test.java:6755:9:6755:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6755:37:6755:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6755:37:6755:39 | out : Headers [, ] : Object | Test.java:6755:26:6755:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6760:17:6760:33 | (...)... : Headers | Test.java:6761:10:6761:11 | in : Headers | provenance | | +| Test.java:6760:26:6760:33 | source(...) : Object | Test.java:6760:17:6760:33 | (...)... : Headers | provenance | | +| Test.java:6761:10:6761:11 | in : Headers | Test.java:6761:10:6761:29 | setLong(...) : Headers | provenance | MaD:461 | +| Test.java:6761:10:6761:29 | setLong(...) : Headers | Test.java:6762:9:6762:11 | out | provenance | | +| Test.java:6767:16:6767:31 | (...)... : Object | Test.java:6768:16:6768:17 | in : Object | provenance | | +| Test.java:6767:24:6767:31 | source(...) : Object | Test.java:6767:16:6767:31 | (...)... : Object | provenance | | +| Test.java:6768:4:6768:6 | out [post update] : Headers [, ] : Object | Test.java:6769:37:6769:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6768:16:6768:17 | in : Object | Test.java:6768:4:6768:6 | out [post update] : Headers [, ] : Object | provenance | MaD:462 | +| Test.java:6769:26:6769:40 | getElement(...) : Object [] : Object | Test.java:6769:9:6769:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6769:37:6769:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6769:37:6769:39 | out : Headers [, ] : Object | Test.java:6769:26:6769:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6774:16:6774:31 | (...)... : Object | Test.java:6775:18:6775:19 | in : Object | provenance | | +| Test.java:6774:24:6774:31 | source(...) : Object | Test.java:6774:16:6774:31 | (...)... : Object | provenance | | +| Test.java:6775:4:6775:6 | out [post update] : Headers [, ] : Object | Test.java:6776:37:6776:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6775:18:6775:19 | in : Object | Test.java:6775:4:6775:6 | out [post update] : Headers [, ] : Object | provenance | MaD:443 | +| Test.java:6776:26:6776:40 | getElement(...) : Object [] : Object | Test.java:6776:9:6776:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6776:37:6776:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6776:37:6776:39 | out : Headers [, ] : Object | Test.java:6776:26:6776:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6781:18:6781:44 | (...)... : List [] : Object | Test.java:6782:32:6782:33 | in : List [] : Object | provenance | | +| Test.java:6781:28:6781:44 | of(...) : List [] : Object | Test.java:6781:18:6781:44 | (...)... : List [] : Object | provenance | | +| Test.java:6781:36:6781:43 | source(...) : Object | Test.java:6781:28:6781:44 | of(...) : List [] : Object | provenance | MaD:494 | +| Test.java:6782:4:6782:6 | out [post update] : Headers [, ] : Object | Test.java:6783:39:6783:41 | out : Headers [, ] : Object | provenance | | +| Test.java:6782:32:6782:33 | in : List [] : Object | Test.java:6782:4:6782:6 | out [post update] : Headers [, ] : Object | provenance | MaD:444 | +| Test.java:6783:28:6783:42 | getElement(...) : Object [] : Object | Test.java:6783:9:6783:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:6783:39:6783:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6783:39:6783:41 | out : Headers [, ] : Object | Test.java:6783:28:6783:42 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6788:16:6788:31 | (...)... : Object | Test.java:6789:18:6789:19 | in : Object | provenance | | +| Test.java:6788:24:6788:31 | source(...) : Object | Test.java:6788:16:6788:31 | (...)... : Object | provenance | | +| Test.java:6789:4:6789:6 | out [post update] : Headers [, ] : Object | Test.java:6790:37:6790:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6789:18:6789:19 | in : Object | Test.java:6789:4:6789:6 | out [post update] : Headers [, ] : Object | provenance | MaD:447 | +| Test.java:6790:26:6790:40 | getElement(...) : Object [] : Object | Test.java:6790:9:6790:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6790:37:6790:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6790:37:6790:39 | out : Headers [, ] : Object | Test.java:6790:26:6790:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6795:16:6795:31 | (...)... : Object | Test.java:6796:32:6796:33 | in : Object | provenance | | +| Test.java:6795:24:6795:31 | source(...) : Object | Test.java:6795:16:6795:31 | (...)... : Object | provenance | | +| Test.java:6796:4:6796:6 | out [post update] : Headers [, ] : Object | Test.java:6797:39:6797:41 | out : Headers [, ] : Object | provenance | | +| Test.java:6796:32:6796:33 | in : Object | Test.java:6796:4:6796:6 | out [post update] : Headers [, ] : Object | provenance | MaD:448 | +| Test.java:6797:28:6797:42 | getElement(...) : Object [] : Object | Test.java:6797:9:6797:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:6797:39:6797:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6797:39:6797:41 | out : Headers [, ] : Object | Test.java:6797:28:6797:42 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6802:16:6802:31 | (...)... : Object | Test.java:6803:18:6803:19 | in : Object | provenance | | +| Test.java:6802:24:6802:31 | source(...) : Object | Test.java:6802:16:6802:31 | (...)... : Object | provenance | | +| Test.java:6803:4:6803:6 | out [post update] : Headers [, ] : Object | Test.java:6804:37:6804:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6803:18:6803:19 | in : Object | Test.java:6803:4:6803:6 | out [post update] : Headers [, ] : Object | provenance | MaD:445 | +| Test.java:6804:26:6804:40 | getElement(...) : Object [] : Object | Test.java:6804:9:6804:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6804:37:6804:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6804:37:6804:39 | out : Headers [, ] : Object | Test.java:6804:26:6804:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6809:18:6809:49 | (...)... : Object[] [[]] : Object | Test.java:6810:32:6810:33 | in : Object[] [[]] : Object | provenance | | +| Test.java:6809:28:6809:49 | {...} : Object[] [[]] : Object | Test.java:6809:18:6809:49 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:6809:41:6809:48 | source(...) : Object | Test.java:6809:28:6809:49 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:6810:4:6810:6 | out [post update] : Headers [, ] : Object | Test.java:6811:39:6811:41 | out : Headers [, ] : Object | provenance | | +| Test.java:6810:32:6810:33 | in : Object[] [[]] : Object | Test.java:6810:4:6810:6 | out [post update] : Headers [, ] : Object | provenance | MaD:446 | +| Test.java:6811:28:6811:42 | getElement(...) : Object [] : Object | Test.java:6811:9:6811:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:6811:39:6811:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6811:39:6811:41 | out : Headers [, ] : Object | Test.java:6811:28:6811:42 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6816:17:6816:33 | (...)... : Headers | Test.java:6817:10:6817:11 | in : Headers | provenance | | +| Test.java:6816:26:6816:33 | source(...) : Object | Test.java:6816:17:6816:33 | (...)... : Headers | provenance | | +| Test.java:6817:10:6817:11 | in : Headers | Test.java:6817:10:6817:36 | setShort(...) : Headers | provenance | MaD:463 | +| Test.java:6817:10:6817:36 | setShort(...) : Headers | Test.java:6818:9:6818:11 | out | provenance | | +| Test.java:6823:16:6823:31 | (...)... : Object | Test.java:6824:17:6824:18 | in : Object | provenance | | +| Test.java:6823:24:6823:31 | source(...) : Object | Test.java:6823:16:6823:31 | (...)... : Object | provenance | | +| Test.java:6824:4:6824:6 | out [post update] : Headers [, ] : Object | Test.java:6825:37:6825:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6824:17:6824:18 | in : Object | Test.java:6824:4:6824:6 | out [post update] : Headers [, ] : Object | provenance | MaD:464 | +| Test.java:6825:26:6825:40 | getElement(...) : Object [] : Object | Test.java:6825:9:6825:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6825:37:6825:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6825:37:6825:39 | out : Headers [, ] : Object | Test.java:6825:26:6825:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6830:17:6830:33 | (...)... : Headers | Test.java:6831:10:6831:11 | in : Headers | provenance | | +| Test.java:6830:26:6830:33 | source(...) : Object | Test.java:6830:17:6830:33 | (...)... : Headers | provenance | | +| Test.java:6831:10:6831:11 | in : Headers | Test.java:6831:10:6831:35 | setTimeMillis(...) : Headers | provenance | MaD:465 | +| Test.java:6831:10:6831:35 | setTimeMillis(...) : Headers | Test.java:6832:9:6832:11 | out | provenance | | +| Test.java:6837:16:6837:31 | (...)... : Object | Test.java:6838:22:6838:23 | in : Object | provenance | | +| Test.java:6837:24:6837:31 | source(...) : Object | Test.java:6837:16:6837:31 | (...)... : Object | provenance | | +| Test.java:6838:4:6838:6 | out [post update] : Headers [, ] : Object | Test.java:6839:37:6839:39 | out : Headers [, ] : Object | provenance | | +| Test.java:6838:22:6838:23 | in : Object | Test.java:6838:4:6838:6 | out [post update] : Headers [, ] : Object | provenance | MaD:466 | +| Test.java:6839:26:6839:40 | getElement(...) : Object [] : Object | Test.java:6839:9:6839:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6839:37:6839:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | provenance | | +| Test.java:6839:37:6839:39 | out : Headers [, ] : Object | Test.java:6839:26:6839:40 | getElement(...) : Object [] : Object | provenance | MaD:492 | +| Test.java:6844:17:6844:80 | (...)... : Headers [, ] : Object | Test.java:6845:38:6845:39 | in : Headers [, ] : Object | provenance | | +| Test.java:6844:26:6844:80 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6844:17:6844:80 | (...)... : Headers [, ] : Object | provenance | | +| Test.java:6844:48:6844:79 | newWithMapValueDefault(...) : Object [] : Object | Test.java:6844:26:6844:80 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6844:71:6844:78 | source(...) : Object | Test.java:6844:48:6844:79 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:6845:10:6845:46 | getAllAsString(...) : List | Test.java:6846:9:6846:11 | out | provenance | | +| Test.java:6845:38:6845:39 | in : Headers [, ] : Object | Test.java:6845:10:6845:46 | getAllAsString(...) : List | provenance | MaD:384 | +| Test.java:6851:17:6851:80 | (...)... : Headers [, ] : Object | Test.java:6852:35:6852:36 | in : Headers [, ] : Object | provenance | | +| Test.java:6851:26:6851:80 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6851:17:6851:80 | (...)... : Headers [, ] : Object | provenance | | +| Test.java:6851:48:6851:79 | newWithMapValueDefault(...) : Object [] : Object | Test.java:6851:26:6851:80 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6851:71:6851:78 | source(...) : Object | Test.java:6851:48:6851:79 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:6852:10:6852:43 | getAsString(...) : String | Test.java:6853:9:6853:11 | out | provenance | | +| Test.java:6852:35:6852:36 | in : Headers [, ] : Object | Test.java:6852:10:6852:43 | getAsString(...) : String | provenance | MaD:383 | +| Test.java:6858:18:6858:66 | (...)... : List [, ] : Object | Test.java:6859:40:6859:41 | in : List [, ] : Object | provenance | | +| Test.java:6858:28:6858:66 | of(...) : List [, ] : Object | Test.java:6858:18:6858:66 | (...)... : List [, ] : Object | provenance | | +| Test.java:6858:36:6858:65 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:6858:28:6858:66 | of(...) : List [, ] : Object | provenance | MaD:494 | +| Test.java:6858:57:6858:64 | source(...) : Object | Test.java:6858:36:6858:65 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:6859:10:6859:42 | iteratorAsString(...) : Iterator | Test.java:6860:9:6860:11 | out | provenance | | +| Test.java:6859:40:6859:41 | in : List [, ] : Object | Test.java:6859:10:6859:42 | iteratorAsString(...) : Iterator | provenance | MaD:386 | +| Test.java:6865:18:6865:68 | (...)... : List [, ] : Object | Test.java:6866:40:6866:41 | in : List [, ] : Object | provenance | | +| Test.java:6865:28:6865:68 | of(...) : List [, ] : Object | Test.java:6865:18:6865:68 | (...)... : List [, ] : Object | provenance | | +| Test.java:6865:36:6865:67 | newWithMapValueDefault(...) : Object [] : Object | Test.java:6865:28:6865:68 | of(...) : List [, ] : Object | provenance | MaD:494 | +| Test.java:6865:59:6865:66 | source(...) : Object | Test.java:6865:36:6865:67 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:6866:10:6866:42 | iteratorAsString(...) : Iterator | Test.java:6867:9:6867:11 | out | provenance | | +| Test.java:6866:40:6866:41 | in : List [, ] : Object | Test.java:6866:10:6866:42 | iteratorAsString(...) : Iterator | provenance | MaD:387 | +| Test.java:6872:17:6872:78 | (...)... : Headers [, ] : Object | Test.java:6873:37:6873:38 | in : Headers [, ] : Object | provenance | | +| Test.java:6872:26:6872:78 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6872:17:6872:78 | (...)... : Headers [, ] : Object | provenance | | +| Test.java:6872:48:6872:77 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:6872:26:6872:78 | newWithElementDefault(...) : Object [, ] : Object | provenance | MaD:497 | +| Test.java:6872:69:6872:76 | source(...) : Object | Test.java:6872:48:6872:77 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:6873:10:6873:39 | namesAsString(...) : Set [] : Object | Test.java:6874:20:6874:22 | out : Set [] : Object | provenance | | +| Test.java:6873:37:6873:38 | in : Headers [, ] : Object | Test.java:6873:10:6873:39 | namesAsString(...) : Set [] : Object | provenance | MaD:385 | +| Test.java:6874:20:6874:22 | out : Set [] : Object | Test.java:79:19:79:32 | it : Set [] : Object | provenance | | +| Test.java:6874:20:6874:22 | out : Set [] : Object | Test.java:6874:9:6874:23 | getElement(...) | provenance | MaD:492 | +| Test.java:6879:18:6879:77 | (...)... : Iterator [, ] : Object | Test.java:6880:38:6880:39 | in : Iterator [, ] : Object | provenance | | +| Test.java:6879:28:6879:66 | of(...) : List [, ] : Object | Test.java:6879:28:6879:77 | iterator(...) : Iterator [, ] : Object | provenance | MaD:492 | +| Test.java:6879:28:6879:77 | iterator(...) : Iterator [, ] : Object | Test.java:6879:18:6879:77 | (...)... : Iterator [, ] : Object | provenance | | +| Test.java:6879:36:6879:65 | newWithMapKeyDefault(...) : Object [] : Object | Test.java:6879:28:6879:66 | of(...) : List [, ] : Object | provenance | MaD:494 | +| Test.java:6879:57:6879:64 | source(...) : Object | Test.java:6879:36:6879:65 | newWithMapKeyDefault(...) : Object [] : Object | provenance | MaD:496 | +| Test.java:6880:10:6880:43 | toString(...) : String | Test.java:6881:9:6881:11 | out | provenance | | +| Test.java:6880:38:6880:39 | in : Iterator [, ] : Object | Test.java:6880:10:6880:43 | toString(...) : String | provenance | MaD:388 | +| Test.java:6886:18:6886:79 | (...)... : Iterator [, ] : Object | Test.java:6887:38:6887:39 | in : Iterator [, ] : Object | provenance | | +| Test.java:6886:28:6886:68 | of(...) : List [, ] : Object | Test.java:6886:28:6886:79 | iterator(...) : Iterator [, ] : Object | provenance | MaD:492 | +| Test.java:6886:28:6886:79 | iterator(...) : Iterator [, ] : Object | Test.java:6886:18:6886:79 | (...)... : Iterator [, ] : Object | provenance | | +| Test.java:6886:36:6886:67 | newWithMapValueDefault(...) : Object [] : Object | Test.java:6886:28:6886:68 | of(...) : List [, ] : Object | provenance | MaD:494 | +| Test.java:6886:59:6886:66 | source(...) : Object | Test.java:6886:36:6886:67 | newWithMapValueDefault(...) : Object [] : Object | provenance | MaD:495 | +| Test.java:6887:10:6887:43 | toString(...) : String | Test.java:6888:9:6888:11 | out | provenance | | +| Test.java:6887:38:6887:39 | in : Iterator [, ] : Object | Test.java:6887:10:6887:43 | toString(...) : String | provenance | MaD:389 | +| Test.java:6893:20:6893:39 | (...)... : ByteBuffer | Test.java:6894:26:6894:27 | in : ByteBuffer | provenance | | +| Test.java:6893:32:6893:39 | source(...) : Object | Test.java:6893:20:6893:39 | (...)... : ByteBuffer | provenance | | +| Test.java:6894:10:6894:28 | new AsciiString(...) : AsciiString | Test.java:6895:9:6895:11 | out | provenance | | +| Test.java:6894:26:6894:27 | in : ByteBuffer | Test.java:6894:10:6894:28 | new AsciiString(...) : AsciiString | provenance | MaD:470 | +| Test.java:6900:20:6900:39 | (...)... : ByteBuffer | Test.java:6901:26:6901:27 | in : ByteBuffer | provenance | | +| Test.java:6900:32:6900:39 | source(...) : Object | Test.java:6900:20:6900:39 | (...)... : ByteBuffer | provenance | | +| Test.java:6901:10:6901:41 | new AsciiString(...) : AsciiString | Test.java:6902:9:6902:11 | out | provenance | | +| Test.java:6901:26:6901:27 | in : ByteBuffer | Test.java:6901:10:6901:41 | new AsciiString(...) : AsciiString | provenance | MaD:470 | +| Test.java:6907:20:6907:39 | (...)... : ByteBuffer | Test.java:6908:26:6908:27 | in : ByteBuffer | provenance | | +| Test.java:6907:32:6907:39 | source(...) : Object | Test.java:6907:20:6907:39 | (...)... : ByteBuffer | provenance | | +| Test.java:6908:10:6908:35 | new AsciiString(...) : AsciiString | Test.java:6909:9:6909:11 | out | provenance | | +| Test.java:6908:26:6908:27 | in : ByteBuffer | Test.java:6908:10:6908:35 | new AsciiString(...) : AsciiString | provenance | MaD:470 | +| Test.java:6914:22:6914:43 | (...)... : CharSequence | Test.java:6915:26:6915:27 | in : CharSequence | provenance | | +| Test.java:6914:36:6914:43 | source(...) : Object | Test.java:6914:22:6914:43 | (...)... : CharSequence | provenance | | +| Test.java:6915:10:6915:28 | new AsciiString(...) : AsciiString | Test.java:6916:9:6916:11 | out | provenance | | +| Test.java:6915:26:6915:27 | in : CharSequence | Test.java:6915:10:6915:28 | new AsciiString(...) : AsciiString | provenance | MaD:470 | +| Test.java:6921:22:6921:43 | (...)... : CharSequence | Test.java:6922:26:6922:27 | in : CharSequence | provenance | | +| Test.java:6921:36:6921:43 | source(...) : Object | Test.java:6921:22:6921:43 | (...)... : CharSequence | provenance | | +| Test.java:6922:10:6922:43 | new AsciiString(...) : AsciiString | Test.java:6923:9:6923:11 | out | provenance | | +| Test.java:6922:26:6922:27 | in : CharSequence | Test.java:6922:10:6922:43 | new AsciiString(...) : AsciiString | provenance | MaD:470 | +| Test.java:6928:22:6928:43 | (...)... : CharSequence | Test.java:6929:26:6929:27 | in : CharSequence | provenance | | +| Test.java:6928:36:6928:43 | source(...) : Object | Test.java:6928:22:6928:43 | (...)... : CharSequence | provenance | | +| Test.java:6929:10:6929:49 | new AsciiString(...) : AsciiString | Test.java:6930:9:6930:11 | out | provenance | | +| Test.java:6929:26:6929:27 | in : CharSequence | Test.java:6929:10:6929:49 | new AsciiString(...) : AsciiString | provenance | MaD:470 | +| Test.java:6935:22:6935:43 | (...)... : CharSequence | Test.java:6936:26:6936:27 | in : CharSequence | provenance | | +| Test.java:6935:36:6935:43 | source(...) : Object | Test.java:6935:22:6935:43 | (...)... : CharSequence | provenance | | +| Test.java:6936:10:6936:34 | new AsciiString(...) : AsciiString | Test.java:6937:9:6937:11 | out | provenance | | +| Test.java:6936:26:6936:27 | in : CharSequence | Test.java:6936:10:6936:34 | new AsciiString(...) : AsciiString | provenance | MaD:470 | +| Test.java:6942:16:6942:31 | (...)... : byte[] | Test.java:6943:26:6943:27 | in : byte[] | provenance | | +| Test.java:6942:24:6942:31 | source(...) : Object | Test.java:6942:16:6942:31 | (...)... : byte[] | provenance | | +| Test.java:6943:10:6943:28 | new AsciiString(...) : AsciiString | Test.java:6944:9:6944:11 | out | provenance | | +| Test.java:6943:26:6943:27 | in : byte[] | Test.java:6943:10:6943:28 | new AsciiString(...) : AsciiString | provenance | MaD:470 | +| Test.java:6949:16:6949:31 | (...)... : byte[] | Test.java:6950:26:6950:27 | in : byte[] | provenance | | +| Test.java:6949:24:6949:31 | source(...) : Object | Test.java:6949:16:6949:31 | (...)... : byte[] | provenance | | +| Test.java:6950:10:6950:41 | new AsciiString(...) : AsciiString | Test.java:6951:9:6951:11 | out | provenance | | +| Test.java:6950:26:6950:27 | in : byte[] | Test.java:6950:10:6950:41 | new AsciiString(...) : AsciiString | provenance | MaD:470 | +| Test.java:6956:16:6956:31 | (...)... : byte[] | Test.java:6957:26:6957:27 | in : byte[] | provenance | | +| Test.java:6956:24:6956:31 | source(...) : Object | Test.java:6956:16:6956:31 | (...)... : byte[] | provenance | | +| Test.java:6957:10:6957:35 | new AsciiString(...) : AsciiString | Test.java:6958:9:6958:11 | out | provenance | | +| Test.java:6957:26:6957:27 | in : byte[] | Test.java:6957:10:6957:35 | new AsciiString(...) : AsciiString | provenance | MaD:470 | +| Test.java:6963:16:6963:31 | (...)... : char[] | Test.java:6964:26:6964:27 | in : char[] | provenance | | +| Test.java:6963:24:6963:31 | source(...) : Object | Test.java:6963:16:6963:31 | (...)... : char[] | provenance | | +| Test.java:6964:10:6964:28 | new AsciiString(...) : AsciiString | Test.java:6965:9:6965:11 | out | provenance | | +| Test.java:6964:26:6964:27 | in : char[] | Test.java:6964:10:6964:28 | new AsciiString(...) : AsciiString | provenance | MaD:470 | +| Test.java:6970:16:6970:31 | (...)... : char[] | Test.java:6971:26:6971:27 | in : char[] | provenance | | +| Test.java:6970:24:6970:31 | source(...) : Object | Test.java:6970:16:6970:31 | (...)... : char[] | provenance | | +| Test.java:6971:10:6971:43 | new AsciiString(...) : AsciiString | Test.java:6972:9:6972:11 | out | provenance | | +| Test.java:6971:26:6971:27 | in : char[] | Test.java:6971:10:6971:43 | new AsciiString(...) : AsciiString | provenance | MaD:470 | +| Test.java:6977:16:6977:31 | (...)... : char[] | Test.java:6978:26:6978:27 | in : char[] | provenance | | +| Test.java:6977:24:6977:31 | source(...) : Object | Test.java:6977:16:6977:31 | (...)... : char[] | provenance | | +| Test.java:6978:10:6978:49 | new AsciiString(...) : AsciiString | Test.java:6979:9:6979:11 | out | provenance | | +| Test.java:6978:26:6978:27 | in : char[] | Test.java:6978:10:6978:49 | new AsciiString(...) : AsciiString | provenance | MaD:470 | +| Test.java:6984:16:6984:31 | (...)... : char[] | Test.java:6985:26:6985:27 | in : char[] | provenance | | +| Test.java:6984:24:6984:31 | source(...) : Object | Test.java:6984:16:6984:31 | (...)... : char[] | provenance | | +| Test.java:6985:10:6985:34 | new AsciiString(...) : AsciiString | Test.java:6986:9:6986:11 | out | provenance | | +| Test.java:6985:26:6985:27 | in : char[] | Test.java:6985:10:6985:34 | new AsciiString(...) : AsciiString | provenance | MaD:470 | +| Test.java:6991:21:6991:41 | (...)... : AsciiString | Test.java:6992:10:6992:11 | in : AsciiString | provenance | | +| Test.java:6991:34:6991:41 | source(...) : Object | Test.java:6991:21:6991:41 | (...)... : AsciiString | provenance | | +| Test.java:6992:10:6992:11 | in : AsciiString | Test.java:6992:10:6992:19 | array(...) : byte[] | provenance | MaD:471 | +| Test.java:6992:10:6992:19 | array(...) : byte[] | Test.java:6993:9:6993:11 | out | provenance | | +| Test.java:6998:16:6998:31 | (...)... : String | Test.java:6999:29:6999:30 | in : String | provenance | | +| Test.java:6998:24:6998:31 | source(...) : Object | Test.java:6998:16:6998:31 | (...)... : String | provenance | | +| Test.java:6999:10:6999:31 | cached(...) : AsciiString | Test.java:7000:9:7000:11 | out | provenance | | +| Test.java:6999:29:6999:30 | in : String | Test.java:6999:10:6999:31 | cached(...) : AsciiString | provenance | MaD:472 | +| Test.java:7005:21:7005:41 | (...)... : AsciiString | Test.java:7006:10:7006:11 | in : AsciiString | provenance | | +| Test.java:7005:34:7005:41 | source(...) : Object | Test.java:7005:21:7005:41 | (...)... : AsciiString | provenance | | +| Test.java:7006:10:7006:11 | in : AsciiString | Test.java:7006:10:7006:24 | concat(...) : AsciiString | provenance | MaD:473 | +| Test.java:7006:10:7006:24 | concat(...) : AsciiString | Test.java:7007:9:7007:11 | out | provenance | | +| Test.java:7012:22:7012:43 | (...)... : CharSequence | Test.java:7014:26:7014:27 | in : CharSequence | provenance | | +| Test.java:7012:36:7012:43 | source(...) : Object | Test.java:7012:22:7012:43 | (...)... : CharSequence | provenance | | +| Test.java:7014:10:7014:28 | concat(...) : AsciiString | Test.java:7015:9:7015:11 | out | provenance | | +| Test.java:7014:26:7014:27 | in : CharSequence | Test.java:7014:10:7014:28 | concat(...) : AsciiString | provenance | MaD:474 | +| Test.java:7020:21:7020:41 | (...)... : AsciiString | Test.java:7021:4:7021:5 | in : AsciiString | provenance | | +| Test.java:7020:34:7020:41 | source(...) : Object | Test.java:7020:21:7020:41 | (...)... : AsciiString | provenance | | +| Test.java:7021:4:7021:5 | in : AsciiString | Test.java:7021:15:7021:17 | out [post update] : byte[] | provenance | MaD:475 | +| Test.java:7021:15:7021:17 | out [post update] : byte[] | Test.java:7022:9:7022:11 | out | provenance | | +| Test.java:7027:21:7027:41 | (...)... : AsciiString | Test.java:7028:4:7028:5 | in : AsciiString | provenance | | +| Test.java:7027:34:7027:41 | source(...) : Object | Test.java:7027:21:7027:41 | (...)... : AsciiString | provenance | | +| Test.java:7028:4:7028:5 | in : AsciiString | Test.java:7028:15:7028:17 | out [post update] : char[] | provenance | MaD:476 | +| Test.java:7028:15:7028:17 | out [post update] : char[] | Test.java:7029:9:7029:11 | out | provenance | | +| Test.java:7034:22:7034:43 | (...)... : CharSequence | Test.java:7035:25:7035:26 | in : CharSequence | provenance | | +| Test.java:7034:36:7034:43 | source(...) : Object | Test.java:7034:22:7034:43 | (...)... : CharSequence | provenance | | +| Test.java:7035:10:7035:27 | of(...) : AsciiString | Test.java:7036:9:7036:11 | out | provenance | | +| Test.java:7035:25:7035:26 | in : CharSequence | Test.java:7035:10:7035:27 | of(...) : AsciiString | provenance | MaD:477 | +| Test.java:7041:21:7041:41 | (...)... : AsciiString | Test.java:7042:10:7042:11 | in : AsciiString | provenance | | +| Test.java:7041:34:7041:41 | source(...) : Object | Test.java:7041:21:7041:41 | (...)... : AsciiString | provenance | | +| Test.java:7042:10:7042:11 | in : AsciiString | Test.java:7042:10:7042:31 | replace(...) : AsciiString | provenance | MaD:478 | +| Test.java:7042:10:7042:31 | replace(...) : AsciiString | Test.java:7043:9:7043:11 | out | provenance | | +| Test.java:7048:21:7048:41 | (...)... : AsciiString | Test.java:7049:10:7049:11 | in : AsciiString | provenance | | +| Test.java:7048:34:7048:41 | source(...) : Object | Test.java:7048:21:7048:41 | (...)... : AsciiString | provenance | | +| Test.java:7049:10:7049:11 | in : AsciiString | Test.java:7049:10:7049:26 | split(...) : AsciiString[] | provenance | MaD:480 | +| Test.java:7049:10:7049:26 | split(...) : AsciiString[] | Test.java:7050:9:7050:11 | out | provenance | | +| Test.java:7055:21:7055:41 | (...)... : AsciiString | Test.java:7056:10:7056:11 | in : AsciiString | provenance | | +| Test.java:7055:34:7055:41 | source(...) : Object | Test.java:7055:21:7055:41 | (...)... : AsciiString | provenance | | +| Test.java:7056:10:7056:11 | in : AsciiString | Test.java:7056:10:7056:23 | split(...) : AsciiString[] | provenance | MaD:479 | +| Test.java:7056:10:7056:11 | in : AsciiString | Test.java:7056:10:7056:23 | split(...) : AsciiString[] | provenance | MaD:481 | +| Test.java:7056:10:7056:23 | split(...) : AsciiString[] | Test.java:7057:9:7057:11 | out | provenance | | +| Test.java:7062:21:7062:41 | (...)... : AsciiString | Test.java:7063:10:7063:11 | in : AsciiString | provenance | | +| Test.java:7062:34:7062:41 | source(...) : Object | Test.java:7062:21:7062:41 | (...)... : AsciiString | provenance | | +| Test.java:7063:10:7063:11 | in : AsciiString | Test.java:7063:10:7063:26 | subSequence(...) : AsciiString | provenance | MaD:482 | +| Test.java:7063:10:7063:26 | subSequence(...) : AsciiString | Test.java:7064:9:7064:11 | out | provenance | | +| Test.java:7069:21:7069:41 | (...)... : AsciiString | Test.java:7070:10:7070:11 | in : AsciiString | provenance | | +| Test.java:7069:34:7069:41 | source(...) : Object | Test.java:7069:21:7069:41 | (...)... : AsciiString | provenance | | +| Test.java:7070:10:7070:11 | in : AsciiString | Test.java:7070:10:7070:29 | subSequence(...) : AsciiString | provenance | MaD:482 | +| Test.java:7070:10:7070:11 | in : AsciiString | Test.java:7070:10:7070:29 | subSequence(...) : AsciiString | provenance | MaD:490 | +| Test.java:7070:10:7070:29 | subSequence(...) : AsciiString | Test.java:7071:9:7071:11 | out | provenance | | +| Test.java:7076:21:7076:41 | (...)... : AsciiString | Test.java:7077:10:7077:11 | in : AsciiString | provenance | | +| Test.java:7076:34:7076:41 | source(...) : Object | Test.java:7076:21:7076:41 | (...)... : AsciiString | provenance | | +| Test.java:7077:10:7077:11 | in : AsciiString | Test.java:7077:10:7077:36 | subSequence(...) : AsciiString | provenance | MaD:482 | +| Test.java:7077:10:7077:36 | subSequence(...) : AsciiString | Test.java:7078:9:7078:11 | out | provenance | | +| Test.java:7083:21:7083:41 | (...)... : AsciiString | Test.java:7084:10:7084:11 | in : AsciiString | provenance | | +| Test.java:7083:34:7083:41 | source(...) : Object | Test.java:7083:21:7083:41 | (...)... : AsciiString | provenance | | +| Test.java:7084:10:7084:11 | in : AsciiString | Test.java:7084:10:7084:25 | toByteArray(...) : byte[] | provenance | MaD:483 | +| Test.java:7084:10:7084:25 | toByteArray(...) : byte[] | Test.java:7085:9:7085:11 | out | provenance | | +| Test.java:7090:21:7090:41 | (...)... : AsciiString | Test.java:7091:10:7091:11 | in : AsciiString | provenance | | +| Test.java:7090:34:7090:41 | source(...) : Object | Test.java:7090:21:7090:41 | (...)... : AsciiString | provenance | | +| Test.java:7091:10:7091:11 | in : AsciiString | Test.java:7091:10:7091:29 | toByteArray(...) : byte[] | provenance | MaD:483 | +| Test.java:7091:10:7091:29 | toByteArray(...) : byte[] | Test.java:7092:9:7092:11 | out | provenance | | +| Test.java:7097:21:7097:41 | (...)... : AsciiString | Test.java:7098:10:7098:11 | in : AsciiString | provenance | | +| Test.java:7097:34:7097:41 | source(...) : Object | Test.java:7097:21:7097:41 | (...)... : AsciiString | provenance | | +| Test.java:7098:10:7098:11 | in : AsciiString | Test.java:7098:10:7098:25 | toCharArray(...) : char[] | provenance | MaD:484 | +| Test.java:7098:10:7098:25 | toCharArray(...) : char[] | Test.java:7099:9:7099:11 | out | provenance | | +| Test.java:7104:21:7104:41 | (...)... : AsciiString | Test.java:7105:10:7105:11 | in : AsciiString | provenance | | +| Test.java:7104:34:7104:41 | source(...) : Object | Test.java:7104:21:7104:41 | (...)... : AsciiString | provenance | | +| Test.java:7105:10:7105:11 | in : AsciiString | Test.java:7105:10:7105:29 | toCharArray(...) : char[] | provenance | MaD:484 | +| Test.java:7105:10:7105:29 | toCharArray(...) : char[] | Test.java:7106:9:7106:11 | out | provenance | | +| Test.java:7111:21:7111:41 | (...)... : AsciiString | Test.java:7112:10:7112:11 | in : AsciiString | provenance | | +| Test.java:7111:34:7111:41 | source(...) : Object | Test.java:7111:21:7111:41 | (...)... : AsciiString | provenance | | +| Test.java:7112:10:7112:11 | in : AsciiString | Test.java:7112:10:7112:25 | toLowerCase(...) : AsciiString | provenance | MaD:486 | +| Test.java:7112:10:7112:25 | toLowerCase(...) : AsciiString | Test.java:7113:9:7113:11 | out | provenance | | +| Test.java:7118:21:7118:41 | (...)... : AsciiString | Test.java:7119:10:7119:11 | in : AsciiString | provenance | | +| Test.java:7118:34:7118:41 | source(...) : Object | Test.java:7118:21:7118:41 | (...)... : AsciiString | provenance | | +| Test.java:7119:10:7119:11 | in : AsciiString | Test.java:7119:10:7119:22 | toString(...) : String | provenance | MaD:485 | +| Test.java:7119:10:7119:11 | in : AsciiString | Test.java:7119:10:7119:22 | toString(...) : String | provenance | MaD:491 | +| Test.java:7119:10:7119:22 | toString(...) : String | Test.java:7120:9:7120:11 | out | provenance | | +| Test.java:7125:21:7125:41 | (...)... : AsciiString | Test.java:7126:10:7126:11 | in : AsciiString | provenance | | +| Test.java:7125:34:7125:41 | source(...) : Object | Test.java:7125:21:7125:41 | (...)... : AsciiString | provenance | | +| Test.java:7126:10:7126:11 | in : AsciiString | Test.java:7126:10:7126:23 | toString(...) : String | provenance | MaD:485 | +| Test.java:7126:10:7126:23 | toString(...) : String | Test.java:7127:9:7127:11 | out | provenance | | +| Test.java:7132:21:7132:41 | (...)... : AsciiString | Test.java:7133:10:7133:11 | in : AsciiString | provenance | | +| Test.java:7132:34:7132:41 | source(...) : Object | Test.java:7132:21:7132:41 | (...)... : AsciiString | provenance | | +| Test.java:7133:10:7133:11 | in : AsciiString | Test.java:7133:10:7133:26 | toString(...) : String | provenance | MaD:485 | +| Test.java:7133:10:7133:26 | toString(...) : String | Test.java:7134:9:7134:11 | out | provenance | | +| Test.java:7139:21:7139:41 | (...)... : AsciiString | Test.java:7140:10:7140:11 | in : AsciiString | provenance | | +| Test.java:7139:34:7139:41 | source(...) : Object | Test.java:7139:21:7139:41 | (...)... : AsciiString | provenance | | +| Test.java:7140:10:7140:11 | in : AsciiString | Test.java:7140:10:7140:25 | toUpperCase(...) : AsciiString | provenance | MaD:487 | +| Test.java:7140:10:7140:25 | toUpperCase(...) : AsciiString | Test.java:7141:9:7141:11 | out | provenance | | +| Test.java:7146:21:7146:41 | (...)... : AsciiString | Test.java:7147:10:7147:11 | in : AsciiString | provenance | | +| Test.java:7146:34:7146:41 | source(...) : Object | Test.java:7146:21:7146:41 | (...)... : AsciiString | provenance | | +| Test.java:7147:10:7147:11 | in : AsciiString | Test.java:7147:10:7147:18 | trim(...) : AsciiString | provenance | MaD:488 | +| Test.java:7147:10:7147:18 | trim(...) : AsciiString | Test.java:7148:9:7148:11 | out | provenance | | +| Test.java:7153:22:7153:43 | (...)... : CharSequence | Test.java:7154:27:7154:28 | in : CharSequence | provenance | | +| Test.java:7153:36:7153:43 | source(...) : Object | Test.java:7153:22:7153:43 | (...)... : CharSequence | provenance | | +| Test.java:7154:10:7154:29 | trim(...) : CharSequence | Test.java:7155:9:7155:11 | out | provenance | | +| Test.java:7154:27:7154:28 | in : CharSequence | Test.java:7154:10:7154:29 | trim(...) : CharSequence | provenance | MaD:489 | +| Test.java:7160:19:7160:37 | (...)... : Attribute | Test.java:7161:10:7161:11 | in : Attribute | provenance | | +| Test.java:7160:30:7160:37 | source(...) : Object | Test.java:7160:19:7160:37 | (...)... : Attribute | provenance | | +| Test.java:7161:10:7161:11 | in : Attribute | Test.java:7161:10:7161:20 | retain(...) : Attribute | provenance | MaD:468 | +| Test.java:7161:10:7161:20 | retain(...) : Attribute | Test.java:7162:9:7162:11 | out | provenance | | +| Test.java:7167:19:7167:37 | (...)... : Attribute | Test.java:7168:10:7168:11 | in : Attribute | provenance | | +| Test.java:7167:30:7167:37 | source(...) : Object | Test.java:7167:19:7167:37 | (...)... : Attribute | provenance | | +| Test.java:7168:10:7168:11 | in : Attribute | Test.java:7168:10:7168:21 | retain(...) : Attribute | provenance | MaD:468 | +| Test.java:7168:10:7168:21 | retain(...) : Attribute | Test.java:7169:9:7169:11 | out | provenance | | +| Test.java:7174:30:7174:59 | (...)... : BinaryWebSocketFrame | Test.java:7175:10:7175:11 | in : BinaryWebSocketFrame | provenance | | +| Test.java:7174:52:7174:59 | source(...) : Object | Test.java:7174:30:7174:59 | (...)... : BinaryWebSocketFrame | provenance | | +| Test.java:7175:10:7175:11 | in : BinaryWebSocketFrame | Test.java:7175:10:7175:20 | retain(...) : BinaryWebSocketFrame | provenance | MaD:468 | +| Test.java:7175:10:7175:20 | retain(...) : BinaryWebSocketFrame | Test.java:7176:9:7176:11 | out | provenance | | +| Test.java:7181:30:7181:59 | (...)... : BinaryWebSocketFrame | Test.java:7182:10:7182:11 | in : BinaryWebSocketFrame | provenance | | +| Test.java:7181:52:7181:59 | source(...) : Object | Test.java:7181:30:7181:59 | (...)... : BinaryWebSocketFrame | provenance | | +| Test.java:7182:10:7182:11 | in : BinaryWebSocketFrame | Test.java:7182:10:7182:21 | retain(...) : BinaryWebSocketFrame | provenance | MaD:468 | +| Test.java:7182:10:7182:21 | retain(...) : BinaryWebSocketFrame | Test.java:7183:9:7183:11 | out | provenance | | +| Test.java:7188:41:7188:81 | (...)... : AbstractReferenceCountedByteBuf | Test.java:7189:10:7189:11 | in : AbstractReferenceCountedByteBuf | provenance | | +| Test.java:7188:74:7188:81 | source(...) : Object | Test.java:7188:41:7188:81 | (...)... : AbstractReferenceCountedByteBuf | provenance | | +| Test.java:7189:10:7189:11 | in : AbstractReferenceCountedByteBuf | Test.java:7189:10:7189:20 | retain(...) : AbstractReferenceCountedByteBuf | provenance | MaD:468 | +| Test.java:7189:10:7189:20 | retain(...) : AbstractReferenceCountedByteBuf | Test.java:7190:9:7190:11 | out | provenance | | +| Test.java:7195:41:7195:81 | (...)... : AbstractReferenceCountedByteBuf | Test.java:7196:10:7196:11 | in : AbstractReferenceCountedByteBuf | provenance | | +| Test.java:7195:74:7195:81 | source(...) : Object | Test.java:7195:41:7195:81 | (...)... : AbstractReferenceCountedByteBuf | provenance | | +| Test.java:7196:10:7196:11 | in : AbstractReferenceCountedByteBuf | Test.java:7196:10:7196:21 | retain(...) : AbstractReferenceCountedByteBuf | provenance | MaD:468 | +| Test.java:7196:10:7196:21 | retain(...) : AbstractReferenceCountedByteBuf | Test.java:7197:9:7197:11 | out | provenance | | +| Test.java:7202:17:7202:33 | (...)... : ByteBuf | Test.java:7203:10:7203:11 | in : ByteBuf | provenance | | +| Test.java:7202:26:7202:33 | source(...) : Object | Test.java:7202:17:7202:33 | (...)... : ByteBuf | provenance | | +| Test.java:7203:10:7203:11 | in : ByteBuf | Test.java:7203:10:7203:20 | retain(...) : ByteBuf | provenance | MaD:468 | +| Test.java:7203:10:7203:20 | retain(...) : ByteBuf | Test.java:7204:9:7204:11 | out | provenance | | +| Test.java:7209:17:7209:33 | (...)... : ByteBuf | Test.java:7210:10:7210:11 | in : ByteBuf | provenance | | +| Test.java:7209:26:7209:33 | source(...) : Object | Test.java:7209:17:7209:33 | (...)... : ByteBuf | provenance | | +| Test.java:7210:10:7210:11 | in : ByteBuf | Test.java:7210:10:7210:21 | retain(...) : ByteBuf | provenance | MaD:468 | +| Test.java:7210:10:7210:21 | retain(...) : ByteBuf | Test.java:7211:9:7211:11 | out | provenance | | +| Test.java:7216:24:7216:47 | (...)... : SwappedByteBuf | Test.java:7217:10:7217:11 | in : SwappedByteBuf | provenance | | +| Test.java:7216:40:7216:47 | source(...) : Object | Test.java:7216:24:7216:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:7217:10:7217:11 | in : SwappedByteBuf | Test.java:7217:10:7217:20 | retain(...) : SwappedByteBuf | provenance | MaD:468 | +| Test.java:7217:10:7217:20 | retain(...) : SwappedByteBuf | Test.java:7218:9:7218:11 | out | provenance | | +| Test.java:7223:24:7223:47 | (...)... : SwappedByteBuf | Test.java:7224:10:7224:11 | in : SwappedByteBuf | provenance | | +| Test.java:7223:40:7223:47 | source(...) : Object | Test.java:7223:24:7223:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:7224:10:7224:11 | in : SwappedByteBuf | Test.java:7224:10:7224:21 | retain(...) : SwappedByteBuf | provenance | MaD:468 | +| Test.java:7224:10:7224:21 | retain(...) : SwappedByteBuf | Test.java:7225:9:7225:11 | out | provenance | | +| Test.java:7230:23:7230:45 | (...)... : ByteBufHolder | Test.java:7231:10:7231:11 | in : ByteBufHolder | provenance | | +| Test.java:7230:38:7230:45 | source(...) : Object | Test.java:7230:23:7230:45 | (...)... : ByteBufHolder | provenance | | +| Test.java:7231:10:7231:11 | in : ByteBufHolder | Test.java:7231:10:7231:20 | retain(...) : ByteBufHolder | provenance | MaD:468 | +| Test.java:7231:10:7231:20 | retain(...) : ByteBufHolder | Test.java:7232:9:7232:11 | out | provenance | | +| Test.java:7237:23:7237:45 | (...)... : ByteBufHolder | Test.java:7238:10:7238:11 | in : ByteBufHolder | provenance | | +| Test.java:7237:38:7237:45 | source(...) : Object | Test.java:7237:23:7237:45 | (...)... : ByteBufHolder | provenance | | +| Test.java:7238:10:7238:11 | in : ByteBufHolder | Test.java:7238:10:7238:21 | retain(...) : ByteBufHolder | provenance | MaD:468 | +| Test.java:7238:10:7238:21 | retain(...) : ByteBufHolder | Test.java:7239:9:7239:11 | out | provenance | | +| Test.java:7244:30:7244:59 | (...)... : DefaultByteBufHolder | Test.java:7245:10:7245:11 | in : DefaultByteBufHolder | provenance | | +| Test.java:7244:52:7244:59 | source(...) : Object | Test.java:7244:30:7244:59 | (...)... : DefaultByteBufHolder | provenance | | +| Test.java:7245:10:7245:11 | in : DefaultByteBufHolder | Test.java:7245:10:7245:20 | retain(...) : DefaultByteBufHolder | provenance | MaD:468 | +| Test.java:7245:10:7245:20 | retain(...) : DefaultByteBufHolder | Test.java:7246:9:7246:11 | out | provenance | | +| Test.java:7251:30:7251:59 | (...)... : DefaultByteBufHolder | Test.java:7252:10:7252:11 | in : DefaultByteBufHolder | provenance | | +| Test.java:7251:52:7251:59 | source(...) : Object | Test.java:7251:30:7251:59 | (...)... : DefaultByteBufHolder | provenance | | +| Test.java:7252:10:7252:11 | in : DefaultByteBufHolder | Test.java:7252:10:7252:21 | retain(...) : DefaultByteBufHolder | provenance | MaD:468 | +| Test.java:7252:10:7252:21 | retain(...) : DefaultByteBufHolder | Test.java:7253:9:7253:11 | out | provenance | | +| Test.java:7258:29:7258:57 | (...)... : CloseWebSocketFrame | Test.java:7259:10:7259:11 | in : CloseWebSocketFrame | provenance | | +| Test.java:7258:50:7258:57 | source(...) : Object | Test.java:7258:29:7258:57 | (...)... : CloseWebSocketFrame | provenance | | +| Test.java:7259:10:7259:11 | in : CloseWebSocketFrame | Test.java:7259:10:7259:20 | retain(...) : CloseWebSocketFrame | provenance | MaD:468 | +| Test.java:7259:10:7259:20 | retain(...) : CloseWebSocketFrame | Test.java:7260:9:7260:11 | out | provenance | | +| Test.java:7265:29:7265:57 | (...)... : CloseWebSocketFrame | Test.java:7266:10:7266:11 | in : CloseWebSocketFrame | provenance | | +| Test.java:7265:50:7265:57 | source(...) : Object | Test.java:7265:29:7265:57 | (...)... : CloseWebSocketFrame | provenance | | +| Test.java:7266:10:7266:11 | in : CloseWebSocketFrame | Test.java:7266:10:7266:21 | retain(...) : CloseWebSocketFrame | provenance | MaD:468 | +| Test.java:7266:10:7266:21 | retain(...) : CloseWebSocketFrame | Test.java:7267:9:7267:11 | out | provenance | | +| Test.java:7272:26:7272:51 | (...)... : CompositeByteBuf | Test.java:7273:10:7273:11 | in : CompositeByteBuf | provenance | | +| Test.java:7272:44:7272:51 | source(...) : Object | Test.java:7272:26:7272:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:7273:10:7273:11 | in : CompositeByteBuf | Test.java:7273:10:7273:20 | retain(...) : CompositeByteBuf | provenance | MaD:468 | +| Test.java:7273:10:7273:20 | retain(...) : CompositeByteBuf | Test.java:7274:9:7274:11 | out | provenance | | +| Test.java:7279:26:7279:51 | (...)... : CompositeByteBuf | Test.java:7280:10:7280:11 | in : CompositeByteBuf | provenance | | +| Test.java:7279:44:7279:51 | source(...) : Object | Test.java:7279:26:7279:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:7280:10:7280:11 | in : CompositeByteBuf | Test.java:7280:10:7280:21 | retain(...) : CompositeByteBuf | provenance | MaD:468 | +| Test.java:7280:10:7280:21 | retain(...) : CompositeByteBuf | Test.java:7281:9:7281:11 | out | provenance | | +| Test.java:7286:36:7286:71 | (...)... : ContinuationWebSocketFrame | Test.java:7287:10:7287:11 | in : ContinuationWebSocketFrame | provenance | | +| Test.java:7286:64:7286:71 | source(...) : Object | Test.java:7286:36:7286:71 | (...)... : ContinuationWebSocketFrame | provenance | | +| Test.java:7287:10:7287:11 | in : ContinuationWebSocketFrame | Test.java:7287:10:7287:20 | retain(...) : ContinuationWebSocketFrame | provenance | MaD:468 | +| Test.java:7287:10:7287:20 | retain(...) : ContinuationWebSocketFrame | Test.java:7288:9:7288:11 | out | provenance | | +| Test.java:7293:36:7293:71 | (...)... : ContinuationWebSocketFrame | Test.java:7294:10:7294:11 | in : ContinuationWebSocketFrame | provenance | | +| Test.java:7293:64:7293:71 | source(...) : Object | Test.java:7293:36:7293:71 | (...)... : ContinuationWebSocketFrame | provenance | | +| Test.java:7294:10:7294:11 | in : ContinuationWebSocketFrame | Test.java:7294:10:7294:21 | retain(...) : ContinuationWebSocketFrame | provenance | MaD:468 | +| Test.java:7294:10:7294:21 | retain(...) : ContinuationWebSocketFrame | Test.java:7295:9:7295:11 | out | provenance | | +| Test.java:7300:27:7300:53 | (...)... : DefaultFileRegion | Test.java:7301:10:7301:11 | in : DefaultFileRegion | provenance | | +| Test.java:7300:46:7300:53 | source(...) : Object | Test.java:7300:27:7300:53 | (...)... : DefaultFileRegion | provenance | | +| Test.java:7301:10:7301:11 | in : DefaultFileRegion | Test.java:7301:10:7301:20 | retain(...) : DefaultFileRegion | provenance | MaD:468 | +| Test.java:7301:10:7301:20 | retain(...) : DefaultFileRegion | Test.java:7302:9:7302:11 | out | provenance | | +| Test.java:7307:27:7307:53 | (...)... : DefaultFileRegion | Test.java:7308:10:7308:11 | in : DefaultFileRegion | provenance | | +| Test.java:7307:46:7307:53 | source(...) : Object | Test.java:7307:27:7307:53 | (...)... : DefaultFileRegion | provenance | | +| Test.java:7308:10:7308:11 | in : DefaultFileRegion | Test.java:7308:10:7308:21 | retain(...) : DefaultFileRegion | provenance | MaD:468 | +| Test.java:7308:10:7308:21 | retain(...) : DefaultFileRegion | Test.java:7309:9:7309:11 | out | provenance | | +| Test.java:7314:20:7314:39 | (...)... : FileRegion | Test.java:7315:10:7315:11 | in : FileRegion | provenance | | +| Test.java:7314:32:7314:39 | source(...) : Object | Test.java:7314:20:7314:39 | (...)... : FileRegion | provenance | | +| Test.java:7315:10:7315:11 | in : FileRegion | Test.java:7315:10:7315:20 | retain(...) : FileRegion | provenance | MaD:468 | +| Test.java:7315:10:7315:20 | retain(...) : FileRegion | Test.java:7316:9:7316:11 | out | provenance | | +| Test.java:7321:20:7321:39 | (...)... : FileRegion | Test.java:7322:10:7322:11 | in : FileRegion | provenance | | +| Test.java:7321:32:7321:39 | source(...) : Object | Test.java:7321:20:7321:39 | (...)... : FileRegion | provenance | | +| Test.java:7322:10:7322:11 | in : FileRegion | Test.java:7322:10:7322:21 | retain(...) : FileRegion | provenance | MaD:468 | +| Test.java:7322:10:7322:21 | retain(...) : FileRegion | Test.java:7323:9:7323:11 | out | provenance | | +| Test.java:7328:20:7328:39 | (...)... : FileUpload | Test.java:7329:10:7329:11 | in : FileUpload | provenance | | +| Test.java:7328:32:7328:39 | source(...) : Object | Test.java:7328:20:7328:39 | (...)... : FileUpload | provenance | | +| Test.java:7329:10:7329:11 | in : FileUpload | Test.java:7329:10:7329:20 | retain(...) : FileUpload | provenance | MaD:468 | +| Test.java:7329:10:7329:20 | retain(...) : FileUpload | Test.java:7330:9:7330:11 | out | provenance | | +| Test.java:7335:20:7335:39 | (...)... : FileUpload | Test.java:7336:10:7336:11 | in : FileUpload | provenance | | +| Test.java:7335:32:7335:39 | source(...) : Object | Test.java:7335:20:7335:39 | (...)... : FileUpload | provenance | | +| Test.java:7336:10:7336:11 | in : FileUpload | Test.java:7336:10:7336:21 | retain(...) : FileUpload | provenance | MaD:468 | +| Test.java:7336:10:7336:21 | retain(...) : FileUpload | Test.java:7337:9:7337:11 | out | provenance | | +| Test.java:7342:25:7342:49 | (...)... : FullHttpMessage | Test.java:7343:10:7343:11 | in : FullHttpMessage | provenance | | +| Test.java:7342:42:7342:49 | source(...) : Object | Test.java:7342:25:7342:49 | (...)... : FullHttpMessage | provenance | | +| Test.java:7343:10:7343:11 | in : FullHttpMessage | Test.java:7343:10:7343:20 | retain(...) : FullHttpMessage | provenance | MaD:468 | +| Test.java:7343:10:7343:20 | retain(...) : FullHttpMessage | Test.java:7344:9:7344:11 | out | provenance | | +| Test.java:7349:25:7349:49 | (...)... : FullHttpMessage | Test.java:7350:10:7350:11 | in : FullHttpMessage | provenance | | +| Test.java:7349:42:7349:49 | source(...) : Object | Test.java:7349:25:7349:49 | (...)... : FullHttpMessage | provenance | | +| Test.java:7350:10:7350:11 | in : FullHttpMessage | Test.java:7350:10:7350:21 | retain(...) : FullHttpMessage | provenance | MaD:468 | +| Test.java:7350:10:7350:21 | retain(...) : FullHttpMessage | Test.java:7351:9:7351:11 | out | provenance | | +| Test.java:7356:25:7356:49 | (...)... : FullHttpRequest | Test.java:7357:10:7357:11 | in : FullHttpRequest | provenance | | +| Test.java:7356:42:7356:49 | source(...) : Object | Test.java:7356:25:7356:49 | (...)... : FullHttpRequest | provenance | | +| Test.java:7357:10:7357:11 | in : FullHttpRequest | Test.java:7357:10:7357:20 | retain(...) : FullHttpRequest | provenance | MaD:468 | +| Test.java:7357:10:7357:20 | retain(...) : FullHttpRequest | Test.java:7358:9:7358:11 | out | provenance | | +| Test.java:7363:25:7363:49 | (...)... : FullHttpRequest | Test.java:7364:10:7364:11 | in : FullHttpRequest | provenance | | +| Test.java:7363:42:7363:49 | source(...) : Object | Test.java:7363:25:7363:49 | (...)... : FullHttpRequest | provenance | | +| Test.java:7364:10:7364:11 | in : FullHttpRequest | Test.java:7364:10:7364:21 | retain(...) : FullHttpRequest | provenance | MaD:468 | +| Test.java:7364:10:7364:21 | retain(...) : FullHttpRequest | Test.java:7365:9:7365:11 | out | provenance | | +| Test.java:7370:26:7370:51 | (...)... : FullHttpResponse | Test.java:7371:10:7371:11 | in : FullHttpResponse | provenance | | +| Test.java:7370:44:7370:51 | source(...) : Object | Test.java:7370:26:7370:51 | (...)... : FullHttpResponse | provenance | | +| Test.java:7371:10:7371:11 | in : FullHttpResponse | Test.java:7371:10:7371:20 | retain(...) : FullHttpResponse | provenance | MaD:468 | +| Test.java:7371:10:7371:20 | retain(...) : FullHttpResponse | Test.java:7372:9:7372:11 | out | provenance | | +| Test.java:7377:26:7377:51 | (...)... : FullHttpResponse | Test.java:7378:10:7378:11 | in : FullHttpResponse | provenance | | +| Test.java:7377:44:7377:51 | source(...) : Object | Test.java:7377:26:7377:51 | (...)... : FullHttpResponse | provenance | | +| Test.java:7378:10:7378:11 | in : FullHttpResponse | Test.java:7378:10:7378:21 | retain(...) : FullHttpResponse | provenance | MaD:468 | +| Test.java:7378:10:7378:21 | retain(...) : FullHttpResponse | Test.java:7379:9:7379:11 | out | provenance | | +| Test.java:7384:21:7384:41 | (...)... : HttpContent | Test.java:7385:10:7385:11 | in : HttpContent | provenance | | +| Test.java:7384:34:7384:41 | source(...) : Object | Test.java:7384:21:7384:41 | (...)... : HttpContent | provenance | | +| Test.java:7385:10:7385:11 | in : HttpContent | Test.java:7385:10:7385:20 | retain(...) : HttpContent | provenance | MaD:468 | +| Test.java:7385:10:7385:20 | retain(...) : HttpContent | Test.java:7386:9:7386:11 | out | provenance | | +| Test.java:7391:21:7391:41 | (...)... : HttpContent | Test.java:7392:10:7392:11 | in : HttpContent | provenance | | +| Test.java:7391:34:7391:41 | source(...) : Object | Test.java:7391:21:7391:41 | (...)... : HttpContent | provenance | | +| Test.java:7392:10:7392:11 | in : HttpContent | Test.java:7392:10:7392:21 | retain(...) : HttpContent | provenance | MaD:468 | +| Test.java:7392:10:7392:21 | retain(...) : HttpContent | Test.java:7393:9:7393:11 | out | provenance | | +| Test.java:7398:18:7398:35 | (...)... : HttpData | Test.java:7399:10:7399:11 | in : HttpData | provenance | | +| Test.java:7398:28:7398:35 | source(...) : Object | Test.java:7398:18:7398:35 | (...)... : HttpData | provenance | | +| Test.java:7399:10:7399:11 | in : HttpData | Test.java:7399:10:7399:20 | retain(...) : HttpData | provenance | MaD:468 | +| Test.java:7399:10:7399:20 | retain(...) : HttpData | Test.java:7400:9:7400:11 | out | provenance | | +| Test.java:7405:18:7405:35 | (...)... : HttpData | Test.java:7406:10:7406:11 | in : HttpData | provenance | | +| Test.java:7405:28:7405:35 | source(...) : Object | Test.java:7405:18:7405:35 | (...)... : HttpData | provenance | | +| Test.java:7406:10:7406:11 | in : HttpData | Test.java:7406:10:7406:21 | retain(...) : HttpData | provenance | MaD:468 | +| Test.java:7406:10:7406:21 | retain(...) : HttpData | Test.java:7407:9:7407:11 | out | provenance | | +| Test.java:7412:27:7412:53 | (...)... : InterfaceHttpData | Test.java:7413:10:7413:11 | in : InterfaceHttpData | provenance | | +| Test.java:7412:46:7412:53 | source(...) : Object | Test.java:7412:27:7412:53 | (...)... : InterfaceHttpData | provenance | | +| Test.java:7413:10:7413:11 | in : InterfaceHttpData | Test.java:7413:10:7413:20 | retain(...) : InterfaceHttpData | provenance | MaD:468 | +| Test.java:7413:10:7413:20 | retain(...) : InterfaceHttpData | Test.java:7414:9:7414:11 | out | provenance | | +| Test.java:7419:27:7419:53 | (...)... : InterfaceHttpData | Test.java:7420:10:7420:11 | in : InterfaceHttpData | provenance | | +| Test.java:7419:46:7419:53 | source(...) : Object | Test.java:7419:27:7419:53 | (...)... : InterfaceHttpData | provenance | | +| Test.java:7420:10:7420:11 | in : InterfaceHttpData | Test.java:7420:10:7420:21 | retain(...) : InterfaceHttpData | provenance | MaD:468 | +| Test.java:7420:10:7420:21 | retain(...) : InterfaceHttpData | Test.java:7421:9:7421:11 | out | provenance | | +| Test.java:7426:25:7426:49 | (...)... : LastHttpContent | Test.java:7427:10:7427:11 | in : LastHttpContent | provenance | | +| Test.java:7426:42:7426:49 | source(...) : Object | Test.java:7426:25:7426:49 | (...)... : LastHttpContent | provenance | | +| Test.java:7427:10:7427:11 | in : LastHttpContent | Test.java:7427:10:7427:20 | retain(...) : LastHttpContent | provenance | MaD:468 | +| Test.java:7427:10:7427:20 | retain(...) : LastHttpContent | Test.java:7428:9:7428:11 | out | provenance | | +| Test.java:7433:25:7433:49 | (...)... : LastHttpContent | Test.java:7434:10:7434:11 | in : LastHttpContent | provenance | | +| Test.java:7433:42:7433:49 | source(...) : Object | Test.java:7433:25:7433:49 | (...)... : LastHttpContent | provenance | | +| Test.java:7434:10:7434:11 | in : LastHttpContent | Test.java:7434:10:7434:21 | retain(...) : LastHttpContent | provenance | MaD:468 | +| Test.java:7434:10:7434:21 | retain(...) : LastHttpContent | Test.java:7435:9:7435:11 | out | provenance | | +| Test.java:7440:28:7440:55 | (...)... : PingWebSocketFrame | Test.java:7441:10:7441:11 | in : PingWebSocketFrame | provenance | | +| Test.java:7440:48:7440:55 | source(...) : Object | Test.java:7440:28:7440:55 | (...)... : PingWebSocketFrame | provenance | | +| Test.java:7441:10:7441:11 | in : PingWebSocketFrame | Test.java:7441:10:7441:20 | retain(...) : PingWebSocketFrame | provenance | MaD:468 | +| Test.java:7441:10:7441:20 | retain(...) : PingWebSocketFrame | Test.java:7442:9:7442:11 | out | provenance | | +| Test.java:7447:28:7447:55 | (...)... : PingWebSocketFrame | Test.java:7448:10:7448:11 | in : PingWebSocketFrame | provenance | | +| Test.java:7447:48:7447:55 | source(...) : Object | Test.java:7447:28:7447:55 | (...)... : PingWebSocketFrame | provenance | | +| Test.java:7448:10:7448:11 | in : PingWebSocketFrame | Test.java:7448:10:7448:21 | retain(...) : PingWebSocketFrame | provenance | MaD:468 | +| Test.java:7448:10:7448:21 | retain(...) : PingWebSocketFrame | Test.java:7449:9:7449:11 | out | provenance | | +| Test.java:7454:28:7454:55 | (...)... : PongWebSocketFrame | Test.java:7455:10:7455:11 | in : PongWebSocketFrame | provenance | | +| Test.java:7454:48:7454:55 | source(...) : Object | Test.java:7454:28:7454:55 | (...)... : PongWebSocketFrame | provenance | | +| Test.java:7455:10:7455:11 | in : PongWebSocketFrame | Test.java:7455:10:7455:20 | retain(...) : PongWebSocketFrame | provenance | MaD:468 | +| Test.java:7455:10:7455:20 | retain(...) : PongWebSocketFrame | Test.java:7456:9:7456:11 | out | provenance | | +| Test.java:7461:28:7461:55 | (...)... : PongWebSocketFrame | Test.java:7462:10:7462:11 | in : PongWebSocketFrame | provenance | | +| Test.java:7461:48:7461:55 | source(...) : Object | Test.java:7461:28:7461:55 | (...)... : PongWebSocketFrame | provenance | | +| Test.java:7462:10:7462:11 | in : PongWebSocketFrame | Test.java:7462:10:7462:21 | retain(...) : PongWebSocketFrame | provenance | MaD:468 | +| Test.java:7462:10:7462:21 | retain(...) : PongWebSocketFrame | Test.java:7463:9:7463:11 | out | provenance | | +| Test.java:7468:34:7468:67 | (...)... : AbstractReferenceCounted | Test.java:7469:10:7469:11 | in : AbstractReferenceCounted | provenance | | +| Test.java:7468:60:7468:67 | source(...) : Object | Test.java:7468:34:7468:67 | (...)... : AbstractReferenceCounted | provenance | | +| Test.java:7469:10:7469:11 | in : AbstractReferenceCounted | Test.java:7469:10:7469:20 | retain(...) : AbstractReferenceCounted | provenance | MaD:468 | +| Test.java:7469:10:7469:20 | retain(...) : AbstractReferenceCounted | Test.java:7470:9:7470:11 | out | provenance | | +| Test.java:7475:34:7475:67 | (...)... : AbstractReferenceCounted | Test.java:7476:10:7476:11 | in : AbstractReferenceCounted | provenance | | +| Test.java:7475:60:7475:67 | source(...) : Object | Test.java:7475:34:7475:67 | (...)... : AbstractReferenceCounted | provenance | | +| Test.java:7476:10:7476:11 | in : AbstractReferenceCounted | Test.java:7476:10:7476:21 | retain(...) : AbstractReferenceCounted | provenance | MaD:468 | +| Test.java:7476:10:7476:21 | retain(...) : AbstractReferenceCounted | Test.java:7477:9:7477:11 | out | provenance | | +| Test.java:7482:26:7482:51 | (...)... : ReferenceCounted | Test.java:7483:10:7483:11 | in : ReferenceCounted | provenance | | +| Test.java:7482:44:7482:51 | source(...) : Object | Test.java:7482:26:7482:51 | (...)... : ReferenceCounted | provenance | | +| Test.java:7483:10:7483:11 | in : ReferenceCounted | Test.java:7483:10:7483:20 | retain(...) : ReferenceCounted | provenance | MaD:468 | +| Test.java:7483:10:7483:20 | retain(...) : ReferenceCounted | Test.java:7484:9:7484:11 | out | provenance | | +| Test.java:7489:26:7489:51 | (...)... : ReferenceCounted | Test.java:7490:10:7490:11 | in : ReferenceCounted | provenance | | +| Test.java:7489:44:7489:51 | source(...) : Object | Test.java:7489:26:7489:51 | (...)... : ReferenceCounted | provenance | | +| Test.java:7490:10:7490:11 | in : ReferenceCounted | Test.java:7490:10:7490:21 | retain(...) : ReferenceCounted | provenance | MaD:468 | +| Test.java:7490:10:7490:21 | retain(...) : ReferenceCounted | Test.java:7491:9:7491:11 | out | provenance | | +| Test.java:7496:28:7496:55 | (...)... : TextWebSocketFrame | Test.java:7497:10:7497:11 | in : TextWebSocketFrame | provenance | | +| Test.java:7496:48:7496:55 | source(...) : Object | Test.java:7496:28:7496:55 | (...)... : TextWebSocketFrame | provenance | | +| Test.java:7497:10:7497:11 | in : TextWebSocketFrame | Test.java:7497:10:7497:20 | retain(...) : TextWebSocketFrame | provenance | MaD:468 | +| Test.java:7497:10:7497:20 | retain(...) : TextWebSocketFrame | Test.java:7498:9:7498:11 | out | provenance | | +| Test.java:7503:28:7503:55 | (...)... : TextWebSocketFrame | Test.java:7504:10:7504:11 | in : TextWebSocketFrame | provenance | | +| Test.java:7503:48:7503:55 | source(...) : Object | Test.java:7503:28:7503:55 | (...)... : TextWebSocketFrame | provenance | | +| Test.java:7504:10:7504:11 | in : TextWebSocketFrame | Test.java:7504:10:7504:21 | retain(...) : TextWebSocketFrame | provenance | MaD:468 | +| Test.java:7504:10:7504:21 | retain(...) : TextWebSocketFrame | Test.java:7505:9:7505:11 | out | provenance | | +| Test.java:7510:24:7510:47 | (...)... : WebSocketFrame | Test.java:7511:10:7511:11 | in : WebSocketFrame | provenance | | +| Test.java:7510:40:7510:47 | source(...) : Object | Test.java:7510:24:7510:47 | (...)... : WebSocketFrame | provenance | | +| Test.java:7511:10:7511:11 | in : WebSocketFrame | Test.java:7511:10:7511:20 | retain(...) : WebSocketFrame | provenance | MaD:468 | +| Test.java:7511:10:7511:20 | retain(...) : WebSocketFrame | Test.java:7512:9:7512:11 | out | provenance | | +| Test.java:7517:24:7517:47 | (...)... : WebSocketFrame | Test.java:7518:10:7518:11 | in : WebSocketFrame | provenance | | +| Test.java:7517:40:7517:47 | source(...) : Object | Test.java:7517:24:7517:47 | (...)... : WebSocketFrame | provenance | | +| Test.java:7518:10:7518:11 | in : WebSocketFrame | Test.java:7518:10:7518:21 | retain(...) : WebSocketFrame | provenance | MaD:468 | +| Test.java:7518:10:7518:21 | retain(...) : WebSocketFrame | Test.java:7519:9:7519:11 | out | provenance | | +| Test.java:7524:19:7524:37 | (...)... : Attribute | Test.java:7525:10:7525:11 | in : Attribute | provenance | | +| Test.java:7524:30:7524:37 | source(...) : Object | Test.java:7524:19:7524:37 | (...)... : Attribute | provenance | | +| Test.java:7525:10:7525:11 | in : Attribute | Test.java:7525:10:7525:19 | touch(...) : Attribute | provenance | MaD:469 | +| Test.java:7525:10:7525:19 | touch(...) : Attribute | Test.java:7526:9:7526:11 | out | provenance | | +| Test.java:7531:19:7531:37 | (...)... : Attribute | Test.java:7532:10:7532:11 | in : Attribute | provenance | | +| Test.java:7531:30:7531:37 | source(...) : Object | Test.java:7531:19:7531:37 | (...)... : Attribute | provenance | | +| Test.java:7532:10:7532:11 | in : Attribute | Test.java:7532:10:7532:23 | touch(...) : Attribute | provenance | MaD:469 | +| Test.java:7532:10:7532:23 | touch(...) : Attribute | Test.java:7533:9:7533:11 | out | provenance | | +| Test.java:7538:30:7538:59 | (...)... : BinaryWebSocketFrame | Test.java:7539:10:7539:11 | in : BinaryWebSocketFrame | provenance | | +| Test.java:7538:52:7538:59 | source(...) : Object | Test.java:7538:30:7538:59 | (...)... : BinaryWebSocketFrame | provenance | | +| Test.java:7539:10:7539:11 | in : BinaryWebSocketFrame | Test.java:7539:10:7539:19 | touch(...) : BinaryWebSocketFrame | provenance | MaD:469 | +| Test.java:7539:10:7539:19 | touch(...) : BinaryWebSocketFrame | Test.java:7540:9:7540:11 | out | provenance | | +| Test.java:7545:30:7545:59 | (...)... : BinaryWebSocketFrame | Test.java:7546:10:7546:11 | in : BinaryWebSocketFrame | provenance | | +| Test.java:7545:52:7545:59 | source(...) : Object | Test.java:7545:30:7545:59 | (...)... : BinaryWebSocketFrame | provenance | | +| Test.java:7546:10:7546:11 | in : BinaryWebSocketFrame | Test.java:7546:10:7546:23 | touch(...) : BinaryWebSocketFrame | provenance | MaD:469 | +| Test.java:7546:10:7546:23 | touch(...) : BinaryWebSocketFrame | Test.java:7547:9:7547:11 | out | provenance | | +| Test.java:7552:41:7552:81 | (...)... : AbstractReferenceCountedByteBuf | Test.java:7553:10:7553:11 | in : AbstractReferenceCountedByteBuf | provenance | | +| Test.java:7552:74:7552:81 | source(...) : Object | Test.java:7552:41:7552:81 | (...)... : AbstractReferenceCountedByteBuf | provenance | | +| Test.java:7553:10:7553:11 | in : AbstractReferenceCountedByteBuf | Test.java:7553:10:7553:19 | touch(...) : AbstractReferenceCountedByteBuf | provenance | MaD:469 | +| Test.java:7553:10:7553:19 | touch(...) : AbstractReferenceCountedByteBuf | Test.java:7554:9:7554:11 | out | provenance | | +| Test.java:7559:41:7559:81 | (...)... : AbstractReferenceCountedByteBuf | Test.java:7560:10:7560:11 | in : AbstractReferenceCountedByteBuf | provenance | | +| Test.java:7559:74:7559:81 | source(...) : Object | Test.java:7559:41:7559:81 | (...)... : AbstractReferenceCountedByteBuf | provenance | | +| Test.java:7560:10:7560:11 | in : AbstractReferenceCountedByteBuf | Test.java:7560:10:7560:23 | touch(...) : AbstractReferenceCountedByteBuf | provenance | MaD:469 | +| Test.java:7560:10:7560:23 | touch(...) : AbstractReferenceCountedByteBuf | Test.java:7561:9:7561:11 | out | provenance | | +| Test.java:7566:17:7566:33 | (...)... : ByteBuf | Test.java:7567:10:7567:11 | in : ByteBuf | provenance | | +| Test.java:7566:26:7566:33 | source(...) : Object | Test.java:7566:17:7566:33 | (...)... : ByteBuf | provenance | | +| Test.java:7567:10:7567:11 | in : ByteBuf | Test.java:7567:10:7567:19 | touch(...) : ByteBuf | provenance | MaD:469 | +| Test.java:7567:10:7567:19 | touch(...) : ByteBuf | Test.java:7568:9:7568:11 | out | provenance | | +| Test.java:7573:17:7573:33 | (...)... : ByteBuf | Test.java:7574:10:7574:11 | in : ByteBuf | provenance | | +| Test.java:7573:26:7573:33 | source(...) : Object | Test.java:7573:17:7573:33 | (...)... : ByteBuf | provenance | | +| Test.java:7574:10:7574:11 | in : ByteBuf | Test.java:7574:10:7574:23 | touch(...) : ByteBuf | provenance | MaD:469 | +| Test.java:7574:10:7574:23 | touch(...) : ByteBuf | Test.java:7575:9:7575:11 | out | provenance | | +| Test.java:7580:24:7580:47 | (...)... : SwappedByteBuf | Test.java:7581:10:7581:11 | in : SwappedByteBuf | provenance | | +| Test.java:7580:40:7580:47 | source(...) : Object | Test.java:7580:24:7580:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:7581:10:7581:11 | in : SwappedByteBuf | Test.java:7581:10:7581:19 | touch(...) : SwappedByteBuf | provenance | MaD:469 | +| Test.java:7581:10:7581:19 | touch(...) : SwappedByteBuf | Test.java:7582:9:7582:11 | out | provenance | | +| Test.java:7587:24:7587:47 | (...)... : SwappedByteBuf | Test.java:7588:10:7588:11 | in : SwappedByteBuf | provenance | | +| Test.java:7587:40:7587:47 | source(...) : Object | Test.java:7587:24:7587:47 | (...)... : SwappedByteBuf | provenance | | +| Test.java:7588:10:7588:11 | in : SwappedByteBuf | Test.java:7588:10:7588:23 | touch(...) : SwappedByteBuf | provenance | MaD:469 | +| Test.java:7588:10:7588:23 | touch(...) : SwappedByteBuf | Test.java:7589:9:7589:11 | out | provenance | | +| Test.java:7594:23:7594:45 | (...)... : ByteBufHolder | Test.java:7595:10:7595:11 | in : ByteBufHolder | provenance | | +| Test.java:7594:38:7594:45 | source(...) : Object | Test.java:7594:23:7594:45 | (...)... : ByteBufHolder | provenance | | +| Test.java:7595:10:7595:11 | in : ByteBufHolder | Test.java:7595:10:7595:19 | touch(...) : ByteBufHolder | provenance | MaD:469 | +| Test.java:7595:10:7595:19 | touch(...) : ByteBufHolder | Test.java:7596:9:7596:11 | out | provenance | | +| Test.java:7601:23:7601:45 | (...)... : ByteBufHolder | Test.java:7602:10:7602:11 | in : ByteBufHolder | provenance | | +| Test.java:7601:38:7601:45 | source(...) : Object | Test.java:7601:23:7601:45 | (...)... : ByteBufHolder | provenance | | +| Test.java:7602:10:7602:11 | in : ByteBufHolder | Test.java:7602:10:7602:23 | touch(...) : ByteBufHolder | provenance | MaD:469 | +| Test.java:7602:10:7602:23 | touch(...) : ByteBufHolder | Test.java:7603:9:7603:11 | out | provenance | | +| Test.java:7608:30:7608:59 | (...)... : DefaultByteBufHolder | Test.java:7609:10:7609:11 | in : DefaultByteBufHolder | provenance | | +| Test.java:7608:52:7608:59 | source(...) : Object | Test.java:7608:30:7608:59 | (...)... : DefaultByteBufHolder | provenance | | +| Test.java:7609:10:7609:11 | in : DefaultByteBufHolder | Test.java:7609:10:7609:19 | touch(...) : DefaultByteBufHolder | provenance | MaD:469 | +| Test.java:7609:10:7609:19 | touch(...) : DefaultByteBufHolder | Test.java:7610:9:7610:11 | out | provenance | | +| Test.java:7615:30:7615:59 | (...)... : DefaultByteBufHolder | Test.java:7616:10:7616:11 | in : DefaultByteBufHolder | provenance | | +| Test.java:7615:52:7615:59 | source(...) : Object | Test.java:7615:30:7615:59 | (...)... : DefaultByteBufHolder | provenance | | +| Test.java:7616:10:7616:11 | in : DefaultByteBufHolder | Test.java:7616:10:7616:23 | touch(...) : DefaultByteBufHolder | provenance | MaD:469 | +| Test.java:7616:10:7616:23 | touch(...) : DefaultByteBufHolder | Test.java:7617:9:7617:11 | out | provenance | | +| Test.java:7622:29:7622:57 | (...)... : CloseWebSocketFrame | Test.java:7623:10:7623:11 | in : CloseWebSocketFrame | provenance | | +| Test.java:7622:50:7622:57 | source(...) : Object | Test.java:7622:29:7622:57 | (...)... : CloseWebSocketFrame | provenance | | +| Test.java:7623:10:7623:11 | in : CloseWebSocketFrame | Test.java:7623:10:7623:19 | touch(...) : CloseWebSocketFrame | provenance | MaD:469 | +| Test.java:7623:10:7623:19 | touch(...) : CloseWebSocketFrame | Test.java:7624:9:7624:11 | out | provenance | | +| Test.java:7629:29:7629:57 | (...)... : CloseWebSocketFrame | Test.java:7630:10:7630:11 | in : CloseWebSocketFrame | provenance | | +| Test.java:7629:50:7629:57 | source(...) : Object | Test.java:7629:29:7629:57 | (...)... : CloseWebSocketFrame | provenance | | +| Test.java:7630:10:7630:11 | in : CloseWebSocketFrame | Test.java:7630:10:7630:23 | touch(...) : CloseWebSocketFrame | provenance | MaD:469 | +| Test.java:7630:10:7630:23 | touch(...) : CloseWebSocketFrame | Test.java:7631:9:7631:11 | out | provenance | | +| Test.java:7636:26:7636:51 | (...)... : CompositeByteBuf | Test.java:7637:10:7637:11 | in : CompositeByteBuf | provenance | | +| Test.java:7636:44:7636:51 | source(...) : Object | Test.java:7636:26:7636:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:7637:10:7637:11 | in : CompositeByteBuf | Test.java:7637:10:7637:19 | touch(...) : CompositeByteBuf | provenance | MaD:469 | +| Test.java:7637:10:7637:19 | touch(...) : CompositeByteBuf | Test.java:7638:9:7638:11 | out | provenance | | +| Test.java:7643:26:7643:51 | (...)... : CompositeByteBuf | Test.java:7644:10:7644:11 | in : CompositeByteBuf | provenance | | +| Test.java:7643:44:7643:51 | source(...) : Object | Test.java:7643:26:7643:51 | (...)... : CompositeByteBuf | provenance | | +| Test.java:7644:10:7644:11 | in : CompositeByteBuf | Test.java:7644:10:7644:23 | touch(...) : CompositeByteBuf | provenance | MaD:469 | +| Test.java:7644:10:7644:23 | touch(...) : CompositeByteBuf | Test.java:7645:9:7645:11 | out | provenance | | +| Test.java:7650:36:7650:71 | (...)... : ContinuationWebSocketFrame | Test.java:7651:10:7651:11 | in : ContinuationWebSocketFrame | provenance | | +| Test.java:7650:64:7650:71 | source(...) : Object | Test.java:7650:36:7650:71 | (...)... : ContinuationWebSocketFrame | provenance | | +| Test.java:7651:10:7651:11 | in : ContinuationWebSocketFrame | Test.java:7651:10:7651:19 | touch(...) : ContinuationWebSocketFrame | provenance | MaD:469 | +| Test.java:7651:10:7651:19 | touch(...) : ContinuationWebSocketFrame | Test.java:7652:9:7652:11 | out | provenance | | +| Test.java:7657:36:7657:71 | (...)... : ContinuationWebSocketFrame | Test.java:7658:10:7658:11 | in : ContinuationWebSocketFrame | provenance | | +| Test.java:7657:64:7657:71 | source(...) : Object | Test.java:7657:36:7657:71 | (...)... : ContinuationWebSocketFrame | provenance | | +| Test.java:7658:10:7658:11 | in : ContinuationWebSocketFrame | Test.java:7658:10:7658:23 | touch(...) : ContinuationWebSocketFrame | provenance | MaD:469 | +| Test.java:7658:10:7658:23 | touch(...) : ContinuationWebSocketFrame | Test.java:7659:9:7659:11 | out | provenance | | +| Test.java:7664:27:7664:53 | (...)... : DefaultFileRegion | Test.java:7665:10:7665:11 | in : DefaultFileRegion | provenance | | +| Test.java:7664:46:7664:53 | source(...) : Object | Test.java:7664:27:7664:53 | (...)... : DefaultFileRegion | provenance | | +| Test.java:7665:10:7665:11 | in : DefaultFileRegion | Test.java:7665:10:7665:19 | touch(...) : DefaultFileRegion | provenance | MaD:469 | +| Test.java:7665:10:7665:19 | touch(...) : DefaultFileRegion | Test.java:7666:9:7666:11 | out | provenance | | +| Test.java:7671:27:7671:53 | (...)... : DefaultFileRegion | Test.java:7672:10:7672:11 | in : DefaultFileRegion | provenance | | +| Test.java:7671:46:7671:53 | source(...) : Object | Test.java:7671:27:7671:53 | (...)... : DefaultFileRegion | provenance | | +| Test.java:7672:10:7672:11 | in : DefaultFileRegion | Test.java:7672:10:7672:23 | touch(...) : DefaultFileRegion | provenance | MaD:469 | +| Test.java:7672:10:7672:23 | touch(...) : DefaultFileRegion | Test.java:7673:9:7673:11 | out | provenance | | +| Test.java:7678:20:7678:39 | (...)... : FileRegion | Test.java:7679:10:7679:11 | in : FileRegion | provenance | | +| Test.java:7678:32:7678:39 | source(...) : Object | Test.java:7678:20:7678:39 | (...)... : FileRegion | provenance | | +| Test.java:7679:10:7679:11 | in : FileRegion | Test.java:7679:10:7679:19 | touch(...) : FileRegion | provenance | MaD:469 | +| Test.java:7679:10:7679:19 | touch(...) : FileRegion | Test.java:7680:9:7680:11 | out | provenance | | +| Test.java:7685:20:7685:39 | (...)... : FileRegion | Test.java:7686:10:7686:11 | in : FileRegion | provenance | | +| Test.java:7685:32:7685:39 | source(...) : Object | Test.java:7685:20:7685:39 | (...)... : FileRegion | provenance | | +| Test.java:7686:10:7686:11 | in : FileRegion | Test.java:7686:10:7686:23 | touch(...) : FileRegion | provenance | MaD:469 | +| Test.java:7686:10:7686:23 | touch(...) : FileRegion | Test.java:7687:9:7687:11 | out | provenance | | +| Test.java:7692:20:7692:39 | (...)... : FileUpload | Test.java:7693:10:7693:11 | in : FileUpload | provenance | | +| Test.java:7692:32:7692:39 | source(...) : Object | Test.java:7692:20:7692:39 | (...)... : FileUpload | provenance | | +| Test.java:7693:10:7693:11 | in : FileUpload | Test.java:7693:10:7693:19 | touch(...) : FileUpload | provenance | MaD:469 | +| Test.java:7693:10:7693:19 | touch(...) : FileUpload | Test.java:7694:9:7694:11 | out | provenance | | +| Test.java:7699:20:7699:39 | (...)... : FileUpload | Test.java:7700:10:7700:11 | in : FileUpload | provenance | | +| Test.java:7699:32:7699:39 | source(...) : Object | Test.java:7699:20:7699:39 | (...)... : FileUpload | provenance | | +| Test.java:7700:10:7700:11 | in : FileUpload | Test.java:7700:10:7700:23 | touch(...) : FileUpload | provenance | MaD:469 | +| Test.java:7700:10:7700:23 | touch(...) : FileUpload | Test.java:7701:9:7701:11 | out | provenance | | +| Test.java:7706:25:7706:49 | (...)... : FullHttpMessage | Test.java:7707:10:7707:11 | in : FullHttpMessage | provenance | | +| Test.java:7706:42:7706:49 | source(...) : Object | Test.java:7706:25:7706:49 | (...)... : FullHttpMessage | provenance | | +| Test.java:7707:10:7707:11 | in : FullHttpMessage | Test.java:7707:10:7707:19 | touch(...) : FullHttpMessage | provenance | MaD:469 | +| Test.java:7707:10:7707:19 | touch(...) : FullHttpMessage | Test.java:7708:9:7708:11 | out | provenance | | +| Test.java:7713:25:7713:49 | (...)... : FullHttpMessage | Test.java:7714:10:7714:11 | in : FullHttpMessage | provenance | | +| Test.java:7713:42:7713:49 | source(...) : Object | Test.java:7713:25:7713:49 | (...)... : FullHttpMessage | provenance | | +| Test.java:7714:10:7714:11 | in : FullHttpMessage | Test.java:7714:10:7714:23 | touch(...) : FullHttpMessage | provenance | MaD:469 | +| Test.java:7714:10:7714:23 | touch(...) : FullHttpMessage | Test.java:7715:9:7715:11 | out | provenance | | +| Test.java:7720:25:7720:49 | (...)... : FullHttpRequest | Test.java:7721:10:7721:11 | in : FullHttpRequest | provenance | | +| Test.java:7720:42:7720:49 | source(...) : Object | Test.java:7720:25:7720:49 | (...)... : FullHttpRequest | provenance | | +| Test.java:7721:10:7721:11 | in : FullHttpRequest | Test.java:7721:10:7721:19 | touch(...) : FullHttpRequest | provenance | MaD:469 | +| Test.java:7721:10:7721:19 | touch(...) : FullHttpRequest | Test.java:7722:9:7722:11 | out | provenance | | +| Test.java:7727:25:7727:49 | (...)... : FullHttpRequest | Test.java:7728:10:7728:11 | in : FullHttpRequest | provenance | | +| Test.java:7727:42:7727:49 | source(...) : Object | Test.java:7727:25:7727:49 | (...)... : FullHttpRequest | provenance | | +| Test.java:7728:10:7728:11 | in : FullHttpRequest | Test.java:7728:10:7728:23 | touch(...) : FullHttpRequest | provenance | MaD:469 | +| Test.java:7728:10:7728:23 | touch(...) : FullHttpRequest | Test.java:7729:9:7729:11 | out | provenance | | +| Test.java:7734:26:7734:51 | (...)... : FullHttpResponse | Test.java:7735:10:7735:11 | in : FullHttpResponse | provenance | | +| Test.java:7734:44:7734:51 | source(...) : Object | Test.java:7734:26:7734:51 | (...)... : FullHttpResponse | provenance | | +| Test.java:7735:10:7735:11 | in : FullHttpResponse | Test.java:7735:10:7735:19 | touch(...) : FullHttpResponse | provenance | MaD:469 | +| Test.java:7735:10:7735:19 | touch(...) : FullHttpResponse | Test.java:7736:9:7736:11 | out | provenance | | +| Test.java:7741:26:7741:51 | (...)... : FullHttpResponse | Test.java:7742:10:7742:11 | in : FullHttpResponse | provenance | | +| Test.java:7741:44:7741:51 | source(...) : Object | Test.java:7741:26:7741:51 | (...)... : FullHttpResponse | provenance | | +| Test.java:7742:10:7742:11 | in : FullHttpResponse | Test.java:7742:10:7742:23 | touch(...) : FullHttpResponse | provenance | MaD:469 | +| Test.java:7742:10:7742:23 | touch(...) : FullHttpResponse | Test.java:7743:9:7743:11 | out | provenance | | +| Test.java:7748:21:7748:41 | (...)... : HttpContent | Test.java:7749:10:7749:11 | in : HttpContent | provenance | | +| Test.java:7748:34:7748:41 | source(...) : Object | Test.java:7748:21:7748:41 | (...)... : HttpContent | provenance | | +| Test.java:7749:10:7749:11 | in : HttpContent | Test.java:7749:10:7749:19 | touch(...) : HttpContent | provenance | MaD:469 | +| Test.java:7749:10:7749:19 | touch(...) : HttpContent | Test.java:7750:9:7750:11 | out | provenance | | +| Test.java:7755:21:7755:41 | (...)... : HttpContent | Test.java:7756:10:7756:11 | in : HttpContent | provenance | | +| Test.java:7755:34:7755:41 | source(...) : Object | Test.java:7755:21:7755:41 | (...)... : HttpContent | provenance | | +| Test.java:7756:10:7756:11 | in : HttpContent | Test.java:7756:10:7756:23 | touch(...) : HttpContent | provenance | MaD:469 | +| Test.java:7756:10:7756:23 | touch(...) : HttpContent | Test.java:7757:9:7757:11 | out | provenance | | +| Test.java:7762:18:7762:35 | (...)... : HttpData | Test.java:7763:10:7763:11 | in : HttpData | provenance | | +| Test.java:7762:28:7762:35 | source(...) : Object | Test.java:7762:18:7762:35 | (...)... : HttpData | provenance | | +| Test.java:7763:10:7763:11 | in : HttpData | Test.java:7763:10:7763:19 | touch(...) : HttpData | provenance | MaD:469 | +| Test.java:7763:10:7763:19 | touch(...) : HttpData | Test.java:7764:9:7764:11 | out | provenance | | +| Test.java:7769:18:7769:35 | (...)... : HttpData | Test.java:7770:10:7770:11 | in : HttpData | provenance | | +| Test.java:7769:28:7769:35 | source(...) : Object | Test.java:7769:18:7769:35 | (...)... : HttpData | provenance | | +| Test.java:7770:10:7770:11 | in : HttpData | Test.java:7770:10:7770:23 | touch(...) : HttpData | provenance | MaD:469 | +| Test.java:7770:10:7770:23 | touch(...) : HttpData | Test.java:7771:9:7771:11 | out | provenance | | +| Test.java:7776:27:7776:53 | (...)... : InterfaceHttpData | Test.java:7777:10:7777:11 | in : InterfaceHttpData | provenance | | +| Test.java:7776:46:7776:53 | source(...) : Object | Test.java:7776:27:7776:53 | (...)... : InterfaceHttpData | provenance | | +| Test.java:7777:10:7777:11 | in : InterfaceHttpData | Test.java:7777:10:7777:19 | touch(...) : InterfaceHttpData | provenance | MaD:469 | +| Test.java:7777:10:7777:19 | touch(...) : InterfaceHttpData | Test.java:7778:9:7778:11 | out | provenance | | +| Test.java:7783:27:7783:53 | (...)... : InterfaceHttpData | Test.java:7784:10:7784:11 | in : InterfaceHttpData | provenance | | +| Test.java:7783:46:7783:53 | source(...) : Object | Test.java:7783:27:7783:53 | (...)... : InterfaceHttpData | provenance | | +| Test.java:7784:10:7784:11 | in : InterfaceHttpData | Test.java:7784:10:7784:23 | touch(...) : InterfaceHttpData | provenance | MaD:469 | +| Test.java:7784:10:7784:23 | touch(...) : InterfaceHttpData | Test.java:7785:9:7785:11 | out | provenance | | +| Test.java:7790:25:7790:49 | (...)... : LastHttpContent | Test.java:7791:10:7791:11 | in : LastHttpContent | provenance | | +| Test.java:7790:42:7790:49 | source(...) : Object | Test.java:7790:25:7790:49 | (...)... : LastHttpContent | provenance | | +| Test.java:7791:10:7791:11 | in : LastHttpContent | Test.java:7791:10:7791:19 | touch(...) : LastHttpContent | provenance | MaD:469 | +| Test.java:7791:10:7791:19 | touch(...) : LastHttpContent | Test.java:7792:9:7792:11 | out | provenance | | +| Test.java:7797:25:7797:49 | (...)... : LastHttpContent | Test.java:7798:10:7798:11 | in : LastHttpContent | provenance | | +| Test.java:7797:42:7797:49 | source(...) : Object | Test.java:7797:25:7797:49 | (...)... : LastHttpContent | provenance | | +| Test.java:7798:10:7798:11 | in : LastHttpContent | Test.java:7798:10:7798:23 | touch(...) : LastHttpContent | provenance | MaD:469 | +| Test.java:7798:10:7798:23 | touch(...) : LastHttpContent | Test.java:7799:9:7799:11 | out | provenance | | +| Test.java:7804:28:7804:55 | (...)... : PingWebSocketFrame | Test.java:7805:10:7805:11 | in : PingWebSocketFrame | provenance | | +| Test.java:7804:48:7804:55 | source(...) : Object | Test.java:7804:28:7804:55 | (...)... : PingWebSocketFrame | provenance | | +| Test.java:7805:10:7805:11 | in : PingWebSocketFrame | Test.java:7805:10:7805:19 | touch(...) : PingWebSocketFrame | provenance | MaD:469 | +| Test.java:7805:10:7805:19 | touch(...) : PingWebSocketFrame | Test.java:7806:9:7806:11 | out | provenance | | +| Test.java:7811:28:7811:55 | (...)... : PingWebSocketFrame | Test.java:7812:10:7812:11 | in : PingWebSocketFrame | provenance | | +| Test.java:7811:48:7811:55 | source(...) : Object | Test.java:7811:28:7811:55 | (...)... : PingWebSocketFrame | provenance | | +| Test.java:7812:10:7812:11 | in : PingWebSocketFrame | Test.java:7812:10:7812:23 | touch(...) : PingWebSocketFrame | provenance | MaD:469 | +| Test.java:7812:10:7812:23 | touch(...) : PingWebSocketFrame | Test.java:7813:9:7813:11 | out | provenance | | +| Test.java:7818:28:7818:55 | (...)... : PongWebSocketFrame | Test.java:7819:10:7819:11 | in : PongWebSocketFrame | provenance | | +| Test.java:7818:48:7818:55 | source(...) : Object | Test.java:7818:28:7818:55 | (...)... : PongWebSocketFrame | provenance | | +| Test.java:7819:10:7819:11 | in : PongWebSocketFrame | Test.java:7819:10:7819:19 | touch(...) : PongWebSocketFrame | provenance | MaD:469 | +| Test.java:7819:10:7819:19 | touch(...) : PongWebSocketFrame | Test.java:7820:9:7820:11 | out | provenance | | +| Test.java:7825:28:7825:55 | (...)... : PongWebSocketFrame | Test.java:7826:10:7826:11 | in : PongWebSocketFrame | provenance | | +| Test.java:7825:48:7825:55 | source(...) : Object | Test.java:7825:28:7825:55 | (...)... : PongWebSocketFrame | provenance | | +| Test.java:7826:10:7826:11 | in : PongWebSocketFrame | Test.java:7826:10:7826:23 | touch(...) : PongWebSocketFrame | provenance | MaD:469 | +| Test.java:7826:10:7826:23 | touch(...) : PongWebSocketFrame | Test.java:7827:9:7827:11 | out | provenance | | +| Test.java:7832:34:7832:67 | (...)... : AbstractReferenceCounted | Test.java:7833:10:7833:11 | in : AbstractReferenceCounted | provenance | | +| Test.java:7832:60:7832:67 | source(...) : Object | Test.java:7832:34:7832:67 | (...)... : AbstractReferenceCounted | provenance | | +| Test.java:7833:10:7833:11 | in : AbstractReferenceCounted | Test.java:7833:10:7833:19 | touch(...) : AbstractReferenceCounted | provenance | MaD:469 | +| Test.java:7833:10:7833:19 | touch(...) : AbstractReferenceCounted | Test.java:7834:9:7834:11 | out | provenance | | +| Test.java:7839:26:7839:51 | (...)... : ReferenceCounted | Test.java:7840:10:7840:11 | in : ReferenceCounted | provenance | | +| Test.java:7839:44:7839:51 | source(...) : Object | Test.java:7839:26:7839:51 | (...)... : ReferenceCounted | provenance | | +| Test.java:7840:10:7840:11 | in : ReferenceCounted | Test.java:7840:10:7840:19 | touch(...) : ReferenceCounted | provenance | MaD:469 | +| Test.java:7840:10:7840:19 | touch(...) : ReferenceCounted | Test.java:7841:9:7841:11 | out | provenance | | +| Test.java:7846:26:7846:51 | (...)... : ReferenceCounted | Test.java:7847:10:7847:11 | in : ReferenceCounted | provenance | | +| Test.java:7846:44:7846:51 | source(...) : Object | Test.java:7846:26:7846:51 | (...)... : ReferenceCounted | provenance | | +| Test.java:7847:10:7847:11 | in : ReferenceCounted | Test.java:7847:10:7847:23 | touch(...) : ReferenceCounted | provenance | MaD:469 | +| Test.java:7847:10:7847:23 | touch(...) : ReferenceCounted | Test.java:7848:9:7848:11 | out | provenance | | +| Test.java:7853:28:7853:55 | (...)... : TextWebSocketFrame | Test.java:7854:10:7854:11 | in : TextWebSocketFrame | provenance | | +| Test.java:7853:48:7853:55 | source(...) : Object | Test.java:7853:28:7853:55 | (...)... : TextWebSocketFrame | provenance | | +| Test.java:7854:10:7854:11 | in : TextWebSocketFrame | Test.java:7854:10:7854:19 | touch(...) : TextWebSocketFrame | provenance | MaD:469 | +| Test.java:7854:10:7854:19 | touch(...) : TextWebSocketFrame | Test.java:7855:9:7855:11 | out | provenance | | +| Test.java:7860:28:7860:55 | (...)... : TextWebSocketFrame | Test.java:7861:10:7861:11 | in : TextWebSocketFrame | provenance | | +| Test.java:7860:48:7860:55 | source(...) : Object | Test.java:7860:28:7860:55 | (...)... : TextWebSocketFrame | provenance | | +| Test.java:7861:10:7861:11 | in : TextWebSocketFrame | Test.java:7861:10:7861:23 | touch(...) : TextWebSocketFrame | provenance | MaD:469 | +| Test.java:7861:10:7861:23 | touch(...) : TextWebSocketFrame | Test.java:7862:9:7862:11 | out | provenance | | +| Test.java:7867:24:7867:47 | (...)... : WebSocketFrame | Test.java:7868:10:7868:11 | in : WebSocketFrame | provenance | | +| Test.java:7867:40:7867:47 | source(...) : Object | Test.java:7867:24:7867:47 | (...)... : WebSocketFrame | provenance | | +| Test.java:7868:10:7868:11 | in : WebSocketFrame | Test.java:7868:10:7868:19 | touch(...) : WebSocketFrame | provenance | MaD:469 | +| Test.java:7868:10:7868:19 | touch(...) : WebSocketFrame | Test.java:7869:9:7869:11 | out | provenance | | +| Test.java:7874:24:7874:47 | (...)... : WebSocketFrame | Test.java:7875:10:7875:11 | in : WebSocketFrame | provenance | | +| Test.java:7874:40:7874:47 | source(...) : Object | Test.java:7874:24:7874:47 | (...)... : WebSocketFrame | provenance | | +| Test.java:7875:10:7875:11 | in : WebSocketFrame | Test.java:7875:10:7875:23 | touch(...) : WebSocketFrame | provenance | MaD:469 | +| Test.java:7875:10:7875:23 | touch(...) : WebSocketFrame | Test.java:7876:9:7876:11 | out | provenance | | +| TestA.java:20:16:20:32 | (...)... : String | TestA.java:22:27:22:28 | in : String | provenance | | +| TestA.java:20:25:20:32 | source(...) : Object | TestA.java:20:16:20:32 | (...)... : String | provenance | | +| TestA.java:22:10:22:29 | resolve(...) : Future | TestA.java:23:9:23:11 | out | provenance | | +| TestA.java:22:27:22:28 | in : String | TestA.java:22:10:22:29 | resolve(...) : Future | provenance | MaD:467 | +nodes +| Test.java:79:19:79:32 | it : Headers [, ] : Object | semmle.label | it : Headers [, ] : Object | +| Test.java:79:19:79:32 | it : Headers [, ] : Object | semmle.label | it : Headers [, ] : Object | +| Test.java:79:19:79:32 | it : List [, ] : Object | semmle.label | it : List [, ] : Object | +| Test.java:79:19:79:32 | it : List [, ] : Object | semmle.label | it : List [, ] : Object | +| Test.java:79:19:79:32 | it : List [] : Object | semmle.label | it : List [] : Object | +| Test.java:79:19:79:32 | it : Set [] : Object | semmle.label | it : Set [] : Object | +| Test.java:79:44:79:45 | it : Headers [, ] : Object | semmle.label | it : Headers [, ] : Object | +| Test.java:79:44:79:45 | it : Headers [, ] : Object | semmle.label | it : Headers [, ] : Object | +| Test.java:79:44:79:45 | it : List [, ] : Object | semmle.label | it : List [, ] : Object | +| Test.java:79:44:79:45 | it : List [, ] : Object | semmle.label | it : List [, ] : Object | +| Test.java:79:44:79:45 | it : List [] : Object | semmle.label | it : List [] : Object | +| Test.java:79:44:79:45 | it : Set [] : Object | semmle.label | it : Set [] : Object | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:79:44:79:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:79:44:79:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:79:44:79:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:79:44:79:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:79:44:79:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:79:44:79:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:79:44:79:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:79:44:79:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:80:19:80:32 | it : Iterator [, ] : Object | semmle.label | it : Iterator [, ] : Object | +| Test.java:80:19:80:32 | it : Iterator [, ] : Object | semmle.label | it : Iterator [, ] : Object | +| Test.java:80:19:80:32 | it : Iterator [] : Object | semmle.label | it : Iterator [] : Object | +| Test.java:80:44:80:45 | it : Iterator [, ] : Object | semmle.label | it : Iterator [, ] : Object | +| Test.java:80:44:80:45 | it : Iterator [, ] : Object | semmle.label | it : Iterator [, ] : Object | +| Test.java:80:44:80:45 | it : Iterator [] : Object | semmle.label | it : Iterator [] : Object | +| Test.java:80:44:80:52 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:80:44:80:52 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:80:44:80:52 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:95:17:95:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:95:26:95:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:96:10:96:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:96:10:96:19 | array(...) : byte[] | semmle.label | array(...) : byte[] | +| Test.java:97:9:97:11 | out | semmle.label | out | +| Test.java:102:26:102:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:102:44:102:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:103:10:103:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:103:10:103:19 | array(...) : byte[] | semmle.label | array(...) : byte[] | +| Test.java:104:9:104:11 | out | semmle.label | out | +| Test.java:109:24:109:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:109:40:109:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:110:10:110:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:110:10:110:19 | array(...) : byte[] | semmle.label | array(...) : byte[] | +| Test.java:111:9:111:11 | out | semmle.label | out | +| Test.java:116:25:116:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:116:42:116:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:117:10:117:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:117:10:117:24 | asReadOnly(...) : ByteBuf | semmle.label | asReadOnly(...) : ByteBuf | +| Test.java:118:9:118:11 | out | semmle.label | out | +| Test.java:123:17:123:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:123:26:123:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:124:10:124:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:124:10:124:24 | asReadOnly(...) : ByteBuf | semmle.label | asReadOnly(...) : ByteBuf | +| Test.java:125:9:125:11 | out | semmle.label | out | +| Test.java:130:24:130:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:130:40:130:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:131:10:131:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:131:10:131:24 | asReadOnly(...) : ByteBuf | semmle.label | asReadOnly(...) : ByteBuf | +| Test.java:132:9:132:11 | out | semmle.label | out | +| Test.java:137:17:137:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:137:26:137:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:138:10:138:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:138:10:138:23 | capacity(...) : ByteBuf | semmle.label | capacity(...) : ByteBuf | +| Test.java:139:9:139:11 | out | semmle.label | out | +| Test.java:144:24:144:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:144:40:144:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:145:10:145:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:145:10:145:23 | capacity(...) : SwappedByteBuf | semmle.label | capacity(...) : SwappedByteBuf | +| Test.java:146:9:146:11 | out | semmle.label | out | +| Test.java:151:26:151:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:151:44:151:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:152:10:152:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:152:10:152:23 | capacity(...) : CompositeByteBuf | semmle.label | capacity(...) : CompositeByteBuf | +| Test.java:153:9:153:11 | out | semmle.label | out | +| Test.java:158:25:158:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:158:42:158:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:159:10:159:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:159:10:159:18 | copy(...) : ByteBuf | semmle.label | copy(...) : ByteBuf | +| Test.java:160:9:160:11 | out | semmle.label | out | +| Test.java:165:17:165:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:165:26:165:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:166:10:166:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:166:10:166:18 | copy(...) : ByteBuf | semmle.label | copy(...) : ByteBuf | +| Test.java:167:9:167:11 | out | semmle.label | out | +| Test.java:172:17:172:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:172:26:172:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:173:10:173:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:173:10:173:22 | copy(...) : ByteBuf | semmle.label | copy(...) : ByteBuf | +| Test.java:174:9:174:11 | out | semmle.label | out | +| Test.java:179:26:179:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:179:44:179:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:180:10:180:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:180:10:180:22 | copy(...) : ByteBuf | semmle.label | copy(...) : ByteBuf | +| Test.java:181:9:181:11 | out | semmle.label | out | +| Test.java:186:24:186:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:186:40:186:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:187:10:187:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:187:10:187:18 | copy(...) : ByteBuf | semmle.label | copy(...) : ByteBuf | +| Test.java:188:9:188:11 | out | semmle.label | out | +| Test.java:193:24:193:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:193:40:193:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:194:10:194:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:194:10:194:22 | copy(...) : ByteBuf | semmle.label | copy(...) : ByteBuf | +| Test.java:195:9:195:11 | out | semmle.label | out | +| Test.java:200:25:200:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:200:42:200:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:201:10:201:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:201:10:201:30 | discardReadBytes(...) : AbstractByteBuf | semmle.label | discardReadBytes(...) : AbstractByteBuf | +| Test.java:202:9:202:11 | out | semmle.label | out | +| Test.java:207:17:207:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:207:26:207:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:208:10:208:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:208:10:208:30 | discardReadBytes(...) : ByteBuf | semmle.label | discardReadBytes(...) : ByteBuf | +| Test.java:209:9:209:11 | out | semmle.label | out | +| Test.java:214:24:214:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:214:40:214:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:215:10:215:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:215:10:215:30 | discardReadBytes(...) : SwappedByteBuf | semmle.label | discardReadBytes(...) : SwappedByteBuf | +| Test.java:216:9:216:11 | out | semmle.label | out | +| Test.java:221:26:221:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:221:44:221:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:222:10:222:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:222:10:222:30 | discardReadBytes(...) : CompositeByteBuf | semmle.label | discardReadBytes(...) : CompositeByteBuf | +| Test.java:223:9:223:11 | out | semmle.label | out | +| Test.java:228:25:228:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:228:42:228:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:229:10:229:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:229:10:229:34 | discardSomeReadBytes(...) : AbstractByteBuf | semmle.label | discardSomeReadBytes(...) : AbstractByteBuf | +| Test.java:230:9:230:11 | out | semmle.label | out | +| Test.java:235:17:235:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:235:26:235:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:236:10:236:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:236:10:236:34 | discardSomeReadBytes(...) : ByteBuf | semmle.label | discardSomeReadBytes(...) : ByteBuf | +| Test.java:237:9:237:11 | out | semmle.label | out | +| Test.java:242:24:242:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:242:40:242:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:243:10:243:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:243:10:243:34 | discardSomeReadBytes(...) : SwappedByteBuf | semmle.label | discardSomeReadBytes(...) : SwappedByteBuf | +| Test.java:244:9:244:11 | out | semmle.label | out | +| Test.java:249:26:249:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:249:44:249:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:250:10:250:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:250:10:250:34 | discardSomeReadBytes(...) : CompositeByteBuf | semmle.label | discardSomeReadBytes(...) : CompositeByteBuf | +| Test.java:251:9:251:11 | out | semmle.label | out | +| Test.java:256:25:256:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:256:42:256:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:257:10:257:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:257:10:257:23 | duplicate(...) : ByteBuf | semmle.label | duplicate(...) : ByteBuf | +| Test.java:258:9:258:11 | out | semmle.label | out | +| Test.java:263:17:263:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:263:26:263:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:264:10:264:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:264:10:264:23 | duplicate(...) : ByteBuf | semmle.label | duplicate(...) : ByteBuf | +| Test.java:265:9:265:11 | out | semmle.label | out | +| Test.java:270:24:270:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:270:40:270:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:271:10:271:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:271:10:271:23 | duplicate(...) : ByteBuf | semmle.label | duplicate(...) : ByteBuf | +| Test.java:272:9:272:11 | out | semmle.label | out | +| Test.java:277:25:277:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:277:42:277:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:278:10:278:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:278:10:278:29 | ensureWritable(...) : AbstractByteBuf | semmle.label | ensureWritable(...) : AbstractByteBuf | +| Test.java:279:9:279:11 | out | semmle.label | out | +| Test.java:284:17:284:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:284:26:284:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:285:10:285:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:285:10:285:29 | ensureWritable(...) : ByteBuf | semmle.label | ensureWritable(...) : ByteBuf | +| Test.java:286:9:286:11 | out | semmle.label | out | +| Test.java:291:24:291:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:291:40:291:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:292:10:292:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:292:10:292:29 | ensureWritable(...) : SwappedByteBuf | semmle.label | ensureWritable(...) : SwappedByteBuf | +| Test.java:293:9:293:11 | out | semmle.label | out | +| Test.java:298:26:298:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:298:44:298:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:299:10:299:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:299:10:299:29 | ensureWritable(...) : CompositeByteBuf | semmle.label | ensureWritable(...) : CompositeByteBuf | +| Test.java:300:9:300:11 | out | semmle.label | out | +| Test.java:305:25:305:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:305:42:305:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:306:4:306:5 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:306:19:306:21 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:307:9:307:11 | out | semmle.label | out | +| Test.java:312:17:312:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:312:26:312:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:313:4:313:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:313:19:313:21 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:314:9:314:11 | out | semmle.label | out | +| Test.java:319:26:319:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:319:44:319:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:320:4:320:5 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:320:19:320:21 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:321:9:321:11 | out | semmle.label | out | +| Test.java:326:24:326:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:326:40:326:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:327:4:327:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:327:19:327:21 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:328:9:328:11 | out | semmle.label | out | +| Test.java:333:25:333:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:333:42:333:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:334:10:334:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:334:10:334:38 | getBytes(...) : AbstractByteBuf | semmle.label | getBytes(...) : AbstractByteBuf | +| Test.java:335:9:335:11 | out | semmle.label | out | +| Test.java:340:17:340:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:340:26:340:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:341:10:341:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:341:10:341:38 | getBytes(...) : ByteBuf | semmle.label | getBytes(...) : ByteBuf | +| Test.java:342:9:342:11 | out | semmle.label | out | +| Test.java:347:24:347:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:347:40:347:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:348:10:348:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:348:10:348:38 | getBytes(...) : SwappedByteBuf | semmle.label | getBytes(...) : SwappedByteBuf | +| Test.java:349:9:349:11 | out | semmle.label | out | +| Test.java:354:26:354:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:354:44:354:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:355:10:355:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:355:10:355:38 | getBytes(...) : CompositeByteBuf | semmle.label | getBytes(...) : CompositeByteBuf | +| Test.java:356:9:356:11 | out | semmle.label | out | +| Test.java:361:25:361:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:361:42:361:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:362:4:362:5 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:362:19:362:21 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:363:9:363:11 | out | semmle.label | out | +| Test.java:368:17:368:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:368:26:368:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:369:4:369:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:369:19:369:21 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:370:9:370:11 | out | semmle.label | out | +| Test.java:375:26:375:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:375:44:375:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:376:4:376:5 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:376:19:376:21 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:377:9:377:11 | out | semmle.label | out | +| Test.java:382:24:382:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:382:40:382:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:383:4:383:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:383:19:383:21 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:384:9:384:11 | out | semmle.label | out | +| Test.java:389:25:389:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:389:42:389:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:390:10:390:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:390:10:390:41 | getBytes(...) : AbstractByteBuf | semmle.label | getBytes(...) : AbstractByteBuf | +| Test.java:391:9:391:11 | out | semmle.label | out | +| Test.java:396:17:396:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:396:26:396:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:397:10:397:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:397:10:397:41 | getBytes(...) : ByteBuf | semmle.label | getBytes(...) : ByteBuf | +| Test.java:398:9:398:11 | out | semmle.label | out | +| Test.java:403:24:403:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:403:40:403:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:404:10:404:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:404:10:404:41 | getBytes(...) : SwappedByteBuf | semmle.label | getBytes(...) : SwappedByteBuf | +| Test.java:405:9:405:11 | out | semmle.label | out | +| Test.java:410:26:410:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:410:44:410:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:411:10:411:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:411:10:411:41 | getBytes(...) : CompositeByteBuf | semmle.label | getBytes(...) : CompositeByteBuf | +| Test.java:412:9:412:11 | out | semmle.label | out | +| Test.java:417:17:417:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:417:26:417:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:418:4:418:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:418:19:418:21 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:419:9:419:11 | out | semmle.label | out | +| Test.java:424:26:424:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:424:44:424:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:425:4:425:5 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:425:19:425:21 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:426:9:426:11 | out | semmle.label | out | +| Test.java:431:24:431:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:431:40:431:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:432:4:432:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:432:19:432:21 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:433:9:433:11 | out | semmle.label | out | +| Test.java:438:17:438:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:438:26:438:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:439:10:439:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:439:10:439:44 | getBytes(...) : ByteBuf | semmle.label | getBytes(...) : ByteBuf | +| Test.java:440:9:440:11 | out | semmle.label | out | +| Test.java:445:24:445:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:445:40:445:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:446:10:446:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:446:10:446:44 | getBytes(...) : SwappedByteBuf | semmle.label | getBytes(...) : SwappedByteBuf | +| Test.java:447:9:447:11 | out | semmle.label | out | +| Test.java:452:26:452:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:452:44:452:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:453:10:453:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:453:10:453:44 | getBytes(...) : CompositeByteBuf | semmle.label | getBytes(...) : CompositeByteBuf | +| Test.java:454:9:454:11 | out | semmle.label | out | +| Test.java:459:17:459:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:459:26:459:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:460:4:460:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:460:19:460:21 | out [post update] : ByteBuffer | semmle.label | out [post update] : ByteBuffer | +| Test.java:461:9:461:11 | out | semmle.label | out | +| Test.java:466:26:466:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:466:44:466:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:467:4:467:5 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:467:19:467:21 | out [post update] : ByteBuffer | semmle.label | out [post update] : ByteBuffer | +| Test.java:468:9:468:11 | out | semmle.label | out | +| Test.java:473:24:473:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:473:40:473:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:474:4:474:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:474:19:474:21 | out [post update] : ByteBuffer | semmle.label | out [post update] : ByteBuffer | +| Test.java:475:9:475:11 | out | semmle.label | out | +| Test.java:480:17:480:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:480:26:480:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:481:10:481:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:481:10:481:41 | getBytes(...) : ByteBuf | semmle.label | getBytes(...) : ByteBuf | +| Test.java:482:9:482:11 | out | semmle.label | out | +| Test.java:487:24:487:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:487:40:487:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:488:10:488:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:488:10:488:41 | getBytes(...) : SwappedByteBuf | semmle.label | getBytes(...) : SwappedByteBuf | +| Test.java:489:9:489:11 | out | semmle.label | out | +| Test.java:494:26:494:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:494:44:494:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:495:10:495:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:495:10:495:41 | getBytes(...) : CompositeByteBuf | semmle.label | getBytes(...) : CompositeByteBuf | +| Test.java:496:9:496:11 | out | semmle.label | out | +| Test.java:501:17:501:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:501:26:501:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:502:4:502:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:502:19:502:21 | out [post update] : FileChannel | semmle.label | out [post update] : FileChannel | +| Test.java:503:9:503:11 | out | semmle.label | out | +| Test.java:508:26:508:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:508:44:508:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:509:4:509:5 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:509:19:509:21 | out [post update] : FileChannel | semmle.label | out [post update] : FileChannel | +| Test.java:510:9:510:11 | out | semmle.label | out | +| Test.java:515:24:515:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:515:40:515:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:516:4:516:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:516:19:516:21 | out [post update] : FileChannel | semmle.label | out [post update] : FileChannel | +| Test.java:517:9:517:11 | out | semmle.label | out | +| Test.java:522:17:522:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:522:26:522:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:523:4:523:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:523:19:523:21 | out [post update] : GatheringByteChannel | semmle.label | out [post update] : GatheringByteChannel | +| Test.java:524:9:524:11 | out | semmle.label | out | +| Test.java:529:26:529:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:529:44:529:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:530:4:530:5 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:530:19:530:21 | out [post update] : GatheringByteChannel | semmle.label | out [post update] : GatheringByteChannel | +| Test.java:531:9:531:11 | out | semmle.label | out | +| Test.java:536:24:536:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:536:40:536:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:537:4:537:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:537:19:537:21 | out [post update] : GatheringByteChannel | semmle.label | out [post update] : GatheringByteChannel | +| Test.java:538:9:538:11 | out | semmle.label | out | +| Test.java:543:17:543:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:543:26:543:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:544:4:544:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:544:19:544:21 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:545:9:545:11 | out | semmle.label | out | +| Test.java:550:26:550:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:550:44:550:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:551:4:551:5 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:551:19:551:21 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:552:9:552:11 | out | semmle.label | out | +| Test.java:557:24:557:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:557:40:557:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:558:4:558:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:558:19:558:21 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:559:9:559:11 | out | semmle.label | out | +| Test.java:564:17:564:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:564:26:564:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:565:10:565:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:565:10:565:46 | getBytes(...) : ByteBuf | semmle.label | getBytes(...) : ByteBuf | +| Test.java:566:9:566:11 | out | semmle.label | out | +| Test.java:571:24:571:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:571:40:571:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:572:10:572:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:572:10:572:46 | getBytes(...) : SwappedByteBuf | semmle.label | getBytes(...) : SwappedByteBuf | +| Test.java:573:9:573:11 | out | semmle.label | out | +| Test.java:578:26:578:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:578:44:578:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:579:10:579:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:579:10:579:46 | getBytes(...) : CompositeByteBuf | semmle.label | getBytes(...) : CompositeByteBuf | +| Test.java:580:9:580:11 | out | semmle.label | out | +| Test.java:585:25:585:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:585:42:585:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:586:4:586:5 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:586:19:586:21 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:587:9:587:11 | out | semmle.label | out | +| Test.java:592:17:592:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:592:26:592:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:593:4:593:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:593:19:593:21 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:594:9:594:11 | out | semmle.label | out | +| Test.java:599:26:599:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:599:44:599:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:600:4:600:5 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:600:19:600:21 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:601:9:601:11 | out | semmle.label | out | +| Test.java:606:24:606:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:606:40:606:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:607:4:607:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:607:19:607:21 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:608:9:608:11 | out | semmle.label | out | +| Test.java:613:25:613:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:613:42:613:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:614:10:614:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:614:10:614:37 | getBytes(...) : AbstractByteBuf | semmle.label | getBytes(...) : AbstractByteBuf | +| Test.java:615:9:615:11 | out | semmle.label | out | +| Test.java:620:17:620:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:620:26:620:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:621:10:621:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:621:10:621:37 | getBytes(...) : ByteBuf | semmle.label | getBytes(...) : ByteBuf | +| Test.java:622:9:622:11 | out | semmle.label | out | +| Test.java:627:24:627:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:627:40:627:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:628:10:628:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:628:10:628:37 | getBytes(...) : SwappedByteBuf | semmle.label | getBytes(...) : SwappedByteBuf | +| Test.java:629:9:629:11 | out | semmle.label | out | +| Test.java:634:26:634:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:634:44:634:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:635:10:635:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:635:10:635:37 | getBytes(...) : CompositeByteBuf | semmle.label | getBytes(...) : CompositeByteBuf | +| Test.java:636:9:636:11 | out | semmle.label | out | +| Test.java:641:17:641:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:641:26:641:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:642:4:642:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:642:19:642:21 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:643:9:643:11 | out | semmle.label | out | +| Test.java:648:26:648:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:648:44:648:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:649:4:649:5 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:649:19:649:21 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:650:9:650:11 | out | semmle.label | out | +| Test.java:655:24:655:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:655:40:655:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:656:4:656:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:656:19:656:21 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:657:9:657:11 | out | semmle.label | out | +| Test.java:662:17:662:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:662:26:662:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:663:10:663:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:663:10:663:43 | getBytes(...) : ByteBuf | semmle.label | getBytes(...) : ByteBuf | +| Test.java:664:9:664:11 | out | semmle.label | out | +| Test.java:669:24:669:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:669:40:669:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:670:10:670:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:670:10:670:43 | getBytes(...) : SwappedByteBuf | semmle.label | getBytes(...) : SwappedByteBuf | +| Test.java:671:9:671:11 | out | semmle.label | out | +| Test.java:676:26:676:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:676:44:676:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:677:10:677:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:677:10:677:43 | getBytes(...) : CompositeByteBuf | semmle.label | getBytes(...) : CompositeByteBuf | +| Test.java:678:9:678:11 | out | semmle.label | out | +| Test.java:683:25:683:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:683:42:683:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:684:10:684:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:684:10:684:22 | getChar(...) : Number | semmle.label | getChar(...) : Number | +| Test.java:685:9:685:11 | out | semmle.label | out | +| Test.java:690:17:690:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:690:26:690:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:691:10:691:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:691:10:691:22 | getChar(...) : Number | semmle.label | getChar(...) : Number | +| Test.java:692:9:692:11 | out | semmle.label | out | +| Test.java:697:24:697:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:697:40:697:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:698:10:698:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:698:10:698:22 | getChar(...) : Number | semmle.label | getChar(...) : Number | +| Test.java:699:9:699:11 | out | semmle.label | out | +| Test.java:704:25:704:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:704:42:704:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:705:10:705:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:705:10:705:39 | getCharSequence(...) : CharSequence | semmle.label | getCharSequence(...) : CharSequence | +| Test.java:706:9:706:11 | out | semmle.label | out | +| Test.java:711:17:711:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:711:26:711:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:712:10:712:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:712:10:712:39 | getCharSequence(...) : CharSequence | semmle.label | getCharSequence(...) : CharSequence | +| Test.java:713:9:713:11 | out | semmle.label | out | +| Test.java:718:24:718:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:718:40:718:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:719:10:719:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:719:10:719:39 | getCharSequence(...) : CharSequence | semmle.label | getCharSequence(...) : CharSequence | +| Test.java:720:9:720:11 | out | semmle.label | out | +| Test.java:725:25:725:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:725:42:725:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:726:10:726:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:726:10:726:29 | markReaderIndex(...) : AbstractByteBuf | semmle.label | markReaderIndex(...) : AbstractByteBuf | +| Test.java:727:9:727:11 | out | semmle.label | out | +| Test.java:732:17:732:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:732:26:732:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:733:10:733:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:733:10:733:29 | markReaderIndex(...) : ByteBuf | semmle.label | markReaderIndex(...) : ByteBuf | +| Test.java:734:9:734:11 | out | semmle.label | out | +| Test.java:739:24:739:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:739:40:739:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:740:10:740:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:740:10:740:29 | markReaderIndex(...) : SwappedByteBuf | semmle.label | markReaderIndex(...) : SwappedByteBuf | +| Test.java:741:9:741:11 | out | semmle.label | out | +| Test.java:746:26:746:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:746:44:746:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:747:10:747:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:747:10:747:29 | markReaderIndex(...) : CompositeByteBuf | semmle.label | markReaderIndex(...) : CompositeByteBuf | +| Test.java:748:9:748:11 | out | semmle.label | out | +| Test.java:753:25:753:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:753:42:753:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:754:10:754:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:754:10:754:29 | markWriterIndex(...) : AbstractByteBuf | semmle.label | markWriterIndex(...) : AbstractByteBuf | +| Test.java:755:9:755:11 | out | semmle.label | out | +| Test.java:760:17:760:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:760:26:760:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:761:10:761:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:761:10:761:29 | markWriterIndex(...) : ByteBuf | semmle.label | markWriterIndex(...) : ByteBuf | +| Test.java:762:9:762:11 | out | semmle.label | out | +| Test.java:767:24:767:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:767:40:767:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:768:10:768:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:768:10:768:29 | markWriterIndex(...) : SwappedByteBuf | semmle.label | markWriterIndex(...) : SwappedByteBuf | +| Test.java:769:9:769:11 | out | semmle.label | out | +| Test.java:774:26:774:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:774:44:774:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:775:10:775:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:775:10:775:29 | markWriterIndex(...) : CompositeByteBuf | semmle.label | markWriterIndex(...) : CompositeByteBuf | +| Test.java:776:9:776:11 | out | semmle.label | out | +| Test.java:781:25:781:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:781:42:781:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:782:10:782:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:782:10:782:23 | nioBuffer(...) : ByteBuffer | semmle.label | nioBuffer(...) : ByteBuffer | +| Test.java:783:9:783:11 | out | semmle.label | out | +| Test.java:788:17:788:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:788:26:788:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:789:10:789:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:789:10:789:23 | nioBuffer(...) : ByteBuffer | semmle.label | nioBuffer(...) : ByteBuffer | +| Test.java:790:9:790:11 | out | semmle.label | out | +| Test.java:795:17:795:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:795:26:795:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:796:10:796:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:796:10:796:27 | nioBuffer(...) : ByteBuffer | semmle.label | nioBuffer(...) : ByteBuffer | +| Test.java:797:9:797:11 | out | semmle.label | out | +| Test.java:802:26:802:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:802:44:802:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:803:10:803:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:803:10:803:27 | nioBuffer(...) : ByteBuffer | semmle.label | nioBuffer(...) : ByteBuffer | +| Test.java:804:9:804:11 | out | semmle.label | out | +| Test.java:809:24:809:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:809:40:809:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:810:10:810:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:810:10:810:23 | nioBuffer(...) : ByteBuffer | semmle.label | nioBuffer(...) : ByteBuffer | +| Test.java:811:9:811:11 | out | semmle.label | out | +| Test.java:816:24:816:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:816:40:816:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:817:10:817:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:817:10:817:27 | nioBuffer(...) : ByteBuffer | semmle.label | nioBuffer(...) : ByteBuffer | +| Test.java:818:9:818:11 | out | semmle.label | out | +| Test.java:823:25:823:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:823:42:823:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:824:10:824:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:824:10:824:24 | nioBuffers(...) : ByteBuffer[] | semmle.label | nioBuffers(...) : ByteBuffer[] | +| Test.java:825:9:825:11 | out | semmle.label | out | +| Test.java:830:17:830:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:830:26:830:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:831:10:831:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:831:10:831:24 | nioBuffers(...) : ByteBuffer[] | semmle.label | nioBuffers(...) : ByteBuffer[] | +| Test.java:832:9:832:11 | out | semmle.label | out | +| Test.java:837:17:837:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:837:26:837:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:838:10:838:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:838:10:838:28 | nioBuffers(...) : ByteBuffer[] | semmle.label | nioBuffers(...) : ByteBuffer[] | +| Test.java:839:9:839:11 | out | semmle.label | out | +| Test.java:844:26:844:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:844:44:844:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:845:10:845:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:845:10:845:24 | nioBuffers(...) : ByteBuffer[] | semmle.label | nioBuffers(...) : ByteBuffer[] | +| Test.java:846:9:846:11 | out | semmle.label | out | +| Test.java:851:26:851:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:851:44:851:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:852:10:852:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:852:10:852:28 | nioBuffers(...) : ByteBuffer[] | semmle.label | nioBuffers(...) : ByteBuffer[] | +| Test.java:853:9:853:11 | out | semmle.label | out | +| Test.java:858:24:858:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:858:40:858:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:859:10:859:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:859:10:859:24 | nioBuffers(...) : ByteBuffer[] | semmle.label | nioBuffers(...) : ByteBuffer[] | +| Test.java:860:9:860:11 | out | semmle.label | out | +| Test.java:865:24:865:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:865:40:865:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:866:10:866:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:866:10:866:28 | nioBuffers(...) : ByteBuffer[] | semmle.label | nioBuffers(...) : ByteBuffer[] | +| Test.java:867:9:867:11 | out | semmle.label | out | +| Test.java:872:25:872:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:872:42:872:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:873:10:873:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:873:10:873:23 | order(...) : ByteBuf | semmle.label | order(...) : ByteBuf | +| Test.java:874:9:874:11 | out | semmle.label | out | +| Test.java:879:17:879:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:879:26:879:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:880:10:880:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:880:10:880:23 | order(...) : ByteBuf | semmle.label | order(...) : ByteBuf | +| Test.java:881:9:881:11 | out | semmle.label | out | +| Test.java:886:24:886:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:886:40:886:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:887:10:887:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:887:10:887:23 | order(...) : ByteBuf | semmle.label | order(...) : ByteBuf | +| Test.java:888:9:888:11 | out | semmle.label | out | +| Test.java:893:25:893:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:893:42:893:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:894:4:894:5 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:894:17:894:19 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:895:9:895:11 | out | semmle.label | out | +| Test.java:900:17:900:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:900:26:900:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:901:4:901:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:901:17:901:19 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:902:9:902:11 | out | semmle.label | out | +| Test.java:907:26:907:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:907:44:907:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:908:4:908:5 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:908:17:908:19 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:909:9:909:11 | out | semmle.label | out | +| Test.java:914:24:914:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:914:40:914:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:915:4:915:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:915:17:915:19 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:916:9:916:11 | out | semmle.label | out | +| Test.java:921:25:921:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:921:42:921:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:922:10:922:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:922:10:922:36 | readBytes(...) : AbstractByteBuf | semmle.label | readBytes(...) : AbstractByteBuf | +| Test.java:923:9:923:11 | out | semmle.label | out | +| Test.java:928:17:928:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:928:26:928:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:929:10:929:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:929:10:929:36 | readBytes(...) : ByteBuf | semmle.label | readBytes(...) : ByteBuf | +| Test.java:930:9:930:11 | out | semmle.label | out | +| Test.java:935:24:935:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:935:40:935:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:936:10:936:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:936:10:936:36 | readBytes(...) : SwappedByteBuf | semmle.label | readBytes(...) : SwappedByteBuf | +| Test.java:937:9:937:11 | out | semmle.label | out | +| Test.java:942:26:942:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:942:44:942:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:943:10:943:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:943:10:943:36 | readBytes(...) : CompositeByteBuf | semmle.label | readBytes(...) : CompositeByteBuf | +| Test.java:944:9:944:11 | out | semmle.label | out | +| Test.java:949:25:949:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:949:42:949:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:950:4:950:5 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:950:17:950:19 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:951:9:951:11 | out | semmle.label | out | +| Test.java:956:17:956:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:956:26:956:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:957:4:957:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:957:17:957:19 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:958:9:958:11 | out | semmle.label | out | +| Test.java:963:26:963:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:963:44:963:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:964:4:964:5 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:964:17:964:19 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:965:9:965:11 | out | semmle.label | out | +| Test.java:970:24:970:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:970:40:970:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:971:4:971:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:971:17:971:19 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:972:9:972:11 | out | semmle.label | out | +| Test.java:977:25:977:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:977:42:977:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:978:10:978:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:978:10:978:39 | readBytes(...) : AbstractByteBuf | semmle.label | readBytes(...) : AbstractByteBuf | +| Test.java:979:9:979:11 | out | semmle.label | out | +| Test.java:984:17:984:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:984:26:984:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:985:10:985:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:985:10:985:39 | readBytes(...) : ByteBuf | semmle.label | readBytes(...) : ByteBuf | +| Test.java:986:9:986:11 | out | semmle.label | out | +| Test.java:991:24:991:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:991:40:991:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:992:10:992:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:992:10:992:39 | readBytes(...) : SwappedByteBuf | semmle.label | readBytes(...) : SwappedByteBuf | +| Test.java:993:9:993:11 | out | semmle.label | out | +| Test.java:998:26:998:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:998:44:998:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:999:10:999:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:999:10:999:39 | readBytes(...) : CompositeByteBuf | semmle.label | readBytes(...) : CompositeByteBuf | +| Test.java:1000:9:1000:11 | out | semmle.label | out | +| Test.java:1005:25:1005:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1005:42:1005:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1006:4:1006:5 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1006:17:1006:19 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:1007:9:1007:11 | out | semmle.label | out | +| Test.java:1012:17:1012:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1012:26:1012:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1013:4:1013:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1013:17:1013:19 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:1014:9:1014:11 | out | semmle.label | out | +| Test.java:1019:26:1019:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1019:44:1019:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1020:4:1020:5 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1020:17:1020:19 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:1021:9:1021:11 | out | semmle.label | out | +| Test.java:1026:24:1026:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1026:40:1026:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1027:4:1027:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1027:17:1027:19 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:1028:9:1028:11 | out | semmle.label | out | +| Test.java:1033:25:1033:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1033:42:1033:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1034:10:1034:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1034:10:1034:42 | readBytes(...) : AbstractByteBuf | semmle.label | readBytes(...) : AbstractByteBuf | +| Test.java:1035:9:1035:11 | out | semmle.label | out | +| Test.java:1040:17:1040:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1040:26:1040:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1041:10:1041:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1041:10:1041:42 | readBytes(...) : ByteBuf | semmle.label | readBytes(...) : ByteBuf | +| Test.java:1042:9:1042:11 | out | semmle.label | out | +| Test.java:1047:24:1047:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1047:40:1047:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1048:10:1048:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1048:10:1048:42 | readBytes(...) : SwappedByteBuf | semmle.label | readBytes(...) : SwappedByteBuf | +| Test.java:1049:9:1049:11 | out | semmle.label | out | +| Test.java:1054:26:1054:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1054:44:1054:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1055:10:1055:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1055:10:1055:42 | readBytes(...) : CompositeByteBuf | semmle.label | readBytes(...) : CompositeByteBuf | +| Test.java:1056:9:1056:11 | out | semmle.label | out | +| Test.java:1061:25:1061:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1061:42:1061:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1062:4:1062:5 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1062:17:1062:19 | out [post update] : ByteBuffer | semmle.label | out [post update] : ByteBuffer | +| Test.java:1063:9:1063:11 | out | semmle.label | out | +| Test.java:1068:17:1068:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1068:26:1068:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1069:4:1069:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1069:17:1069:19 | out [post update] : ByteBuffer | semmle.label | out [post update] : ByteBuffer | +| Test.java:1070:9:1070:11 | out | semmle.label | out | +| Test.java:1075:26:1075:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1075:44:1075:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1076:4:1076:5 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1076:17:1076:19 | out [post update] : ByteBuffer | semmle.label | out [post update] : ByteBuffer | +| Test.java:1077:9:1077:11 | out | semmle.label | out | +| Test.java:1082:24:1082:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1082:40:1082:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1083:4:1083:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1083:17:1083:19 | out [post update] : ByteBuffer | semmle.label | out [post update] : ByteBuffer | +| Test.java:1084:9:1084:11 | out | semmle.label | out | +| Test.java:1089:25:1089:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1089:42:1089:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1090:10:1090:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1090:10:1090:39 | readBytes(...) : AbstractByteBuf | semmle.label | readBytes(...) : AbstractByteBuf | +| Test.java:1091:9:1091:11 | out | semmle.label | out | +| Test.java:1096:17:1096:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1096:26:1096:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1097:10:1097:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1097:10:1097:39 | readBytes(...) : ByteBuf | semmle.label | readBytes(...) : ByteBuf | +| Test.java:1098:9:1098:11 | out | semmle.label | out | +| Test.java:1103:24:1103:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1103:40:1103:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1104:10:1104:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1104:10:1104:39 | readBytes(...) : SwappedByteBuf | semmle.label | readBytes(...) : SwappedByteBuf | +| Test.java:1105:9:1105:11 | out | semmle.label | out | +| Test.java:1110:26:1110:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1110:44:1110:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1111:10:1111:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1111:10:1111:39 | readBytes(...) : CompositeByteBuf | semmle.label | readBytes(...) : CompositeByteBuf | +| Test.java:1112:9:1112:11 | out | semmle.label | out | +| Test.java:1117:25:1117:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1117:42:1117:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1118:4:1118:5 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1118:17:1118:19 | out [post update] : FileChannel | semmle.label | out [post update] : FileChannel | +| Test.java:1119:9:1119:11 | out | semmle.label | out | +| Test.java:1124:17:1124:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1124:26:1124:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1125:4:1125:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1125:17:1125:19 | out [post update] : FileChannel | semmle.label | out [post update] : FileChannel | +| Test.java:1126:9:1126:11 | out | semmle.label | out | +| Test.java:1131:24:1131:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1131:40:1131:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1132:4:1132:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1132:17:1132:19 | out [post update] : FileChannel | semmle.label | out [post update] : FileChannel | +| Test.java:1133:9:1133:11 | out | semmle.label | out | +| Test.java:1138:25:1138:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1138:42:1138:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1139:4:1139:5 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1139:17:1139:19 | out [post update] : GatheringByteChannel | semmle.label | out [post update] : GatheringByteChannel | +| Test.java:1140:9:1140:11 | out | semmle.label | out | +| Test.java:1145:17:1145:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1145:26:1145:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1146:4:1146:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1146:17:1146:19 | out [post update] : GatheringByteChannel | semmle.label | out [post update] : GatheringByteChannel | +| Test.java:1147:9:1147:11 | out | semmle.label | out | +| Test.java:1152:24:1152:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1152:40:1152:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1153:4:1153:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1153:17:1153:19 | out [post update] : GatheringByteChannel | semmle.label | out [post update] : GatheringByteChannel | +| Test.java:1154:9:1154:11 | out | semmle.label | out | +| Test.java:1159:25:1159:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1159:42:1159:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1160:4:1160:5 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1160:17:1160:19 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:1161:9:1161:11 | out | semmle.label | out | +| Test.java:1166:17:1166:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1166:26:1166:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1167:4:1167:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1167:17:1167:19 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:1168:9:1168:11 | out | semmle.label | out | +| Test.java:1173:26:1173:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1173:44:1173:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1174:4:1174:5 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1174:17:1174:19 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:1175:9:1175:11 | out | semmle.label | out | +| Test.java:1180:24:1180:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1180:40:1180:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1181:4:1181:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1181:17:1181:19 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:1182:9:1182:11 | out | semmle.label | out | +| Test.java:1187:25:1187:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1187:42:1187:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1188:10:1188:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1188:10:1188:44 | readBytes(...) : AbstractByteBuf | semmle.label | readBytes(...) : AbstractByteBuf | +| Test.java:1189:9:1189:11 | out | semmle.label | out | +| Test.java:1194:17:1194:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1194:26:1194:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1195:10:1195:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1195:10:1195:44 | readBytes(...) : ByteBuf | semmle.label | readBytes(...) : ByteBuf | +| Test.java:1196:9:1196:11 | out | semmle.label | out | +| Test.java:1201:24:1201:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1201:40:1201:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1202:10:1202:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1202:10:1202:44 | readBytes(...) : SwappedByteBuf | semmle.label | readBytes(...) : SwappedByteBuf | +| Test.java:1203:9:1203:11 | out | semmle.label | out | +| Test.java:1208:26:1208:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1208:44:1208:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1209:10:1209:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1209:10:1209:44 | readBytes(...) : CompositeByteBuf | semmle.label | readBytes(...) : CompositeByteBuf | +| Test.java:1210:9:1210:11 | out | semmle.label | out | +| Test.java:1215:25:1215:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1215:42:1215:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1216:4:1216:5 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1216:17:1216:19 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:1217:9:1217:11 | out | semmle.label | out | +| Test.java:1222:17:1222:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1222:26:1222:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1223:4:1223:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1223:17:1223:19 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:1224:9:1224:11 | out | semmle.label | out | +| Test.java:1229:26:1229:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1229:44:1229:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1230:4:1230:5 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1230:17:1230:19 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:1231:9:1231:11 | out | semmle.label | out | +| Test.java:1236:24:1236:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1236:40:1236:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1237:4:1237:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1237:17:1237:19 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:1238:9:1238:11 | out | semmle.label | out | +| Test.java:1243:25:1243:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1243:42:1243:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1244:10:1244:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1244:10:1244:35 | readBytes(...) : AbstractByteBuf | semmle.label | readBytes(...) : AbstractByteBuf | +| Test.java:1245:9:1245:11 | out | semmle.label | out | +| Test.java:1250:17:1250:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1250:26:1250:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1251:10:1251:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1251:10:1251:35 | readBytes(...) : ByteBuf | semmle.label | readBytes(...) : ByteBuf | +| Test.java:1252:9:1252:11 | out | semmle.label | out | +| Test.java:1257:24:1257:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1257:40:1257:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1258:10:1258:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1258:10:1258:35 | readBytes(...) : SwappedByteBuf | semmle.label | readBytes(...) : SwappedByteBuf | +| Test.java:1259:9:1259:11 | out | semmle.label | out | +| Test.java:1264:26:1264:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1264:44:1264:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1265:10:1265:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1265:10:1265:35 | readBytes(...) : CompositeByteBuf | semmle.label | readBytes(...) : CompositeByteBuf | +| Test.java:1266:9:1266:11 | out | semmle.label | out | +| Test.java:1271:25:1271:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1271:42:1271:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1272:4:1272:5 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1272:17:1272:19 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:1273:9:1273:11 | out | semmle.label | out | +| Test.java:1278:17:1278:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1278:26:1278:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1279:4:1279:5 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1279:17:1279:19 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:1280:9:1280:11 | out | semmle.label | out | +| Test.java:1285:26:1285:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1285:44:1285:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1286:4:1286:5 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1286:17:1286:19 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:1287:9:1287:11 | out | semmle.label | out | +| Test.java:1292:24:1292:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1292:40:1292:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1293:4:1293:5 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1293:17:1293:19 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:1294:9:1294:11 | out | semmle.label | out | +| Test.java:1299:25:1299:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1299:42:1299:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1300:10:1300:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1300:10:1300:41 | readBytes(...) : AbstractByteBuf | semmle.label | readBytes(...) : AbstractByteBuf | +| Test.java:1301:9:1301:11 | out | semmle.label | out | +| Test.java:1306:17:1306:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1306:26:1306:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1307:10:1307:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1307:10:1307:41 | readBytes(...) : ByteBuf | semmle.label | readBytes(...) : ByteBuf | +| Test.java:1308:9:1308:11 | out | semmle.label | out | +| Test.java:1313:24:1313:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1313:40:1313:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1314:10:1314:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1314:10:1314:41 | readBytes(...) : SwappedByteBuf | semmle.label | readBytes(...) : SwappedByteBuf | +| Test.java:1315:9:1315:11 | out | semmle.label | out | +| Test.java:1320:26:1320:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1320:44:1320:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1321:10:1321:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1321:10:1321:41 | readBytes(...) : CompositeByteBuf | semmle.label | readBytes(...) : CompositeByteBuf | +| Test.java:1322:9:1322:11 | out | semmle.label | out | +| Test.java:1327:25:1327:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1327:42:1327:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1328:10:1328:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1328:10:1328:24 | readBytes(...) : ByteBuf | semmle.label | readBytes(...) : ByteBuf | +| Test.java:1329:9:1329:11 | out | semmle.label | out | +| Test.java:1334:17:1334:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1334:26:1334:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1335:10:1335:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1335:10:1335:24 | readBytes(...) : ByteBuf | semmle.label | readBytes(...) : ByteBuf | +| Test.java:1336:9:1336:11 | out | semmle.label | out | +| Test.java:1341:24:1341:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1341:40:1341:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1342:10:1342:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1342:10:1342:24 | readBytes(...) : ByteBuf | semmle.label | readBytes(...) : ByteBuf | +| Test.java:1343:9:1343:11 | out | semmle.label | out | +| Test.java:1348:25:1348:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1348:42:1348:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1349:10:1349:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1349:10:1349:22 | readChar(...) : Number | semmle.label | readChar(...) : Number | +| Test.java:1350:9:1350:11 | out | semmle.label | out | +| Test.java:1355:17:1355:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1355:26:1355:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1356:10:1356:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1356:10:1356:22 | readChar(...) : Number | semmle.label | readChar(...) : Number | +| Test.java:1357:9:1357:11 | out | semmle.label | out | +| Test.java:1362:24:1362:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1362:40:1362:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1363:10:1363:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1363:10:1363:22 | readChar(...) : Number | semmle.label | readChar(...) : Number | +| Test.java:1364:9:1364:11 | out | semmle.label | out | +| Test.java:1369:25:1369:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1369:42:1369:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1370:10:1370:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1370:10:1370:37 | readCharSequence(...) : CharSequence | semmle.label | readCharSequence(...) : CharSequence | +| Test.java:1371:9:1371:11 | out | semmle.label | out | +| Test.java:1376:17:1376:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1376:26:1376:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1377:10:1377:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1377:10:1377:37 | readCharSequence(...) : CharSequence | semmle.label | readCharSequence(...) : CharSequence | +| Test.java:1378:9:1378:11 | out | semmle.label | out | +| Test.java:1383:24:1383:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1383:40:1383:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1384:10:1384:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1384:10:1384:37 | readCharSequence(...) : CharSequence | semmle.label | readCharSequence(...) : CharSequence | +| Test.java:1385:9:1385:11 | out | semmle.label | out | +| Test.java:1390:25:1390:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1390:42:1390:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1391:10:1391:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1391:10:1391:32 | readRetainedSlice(...) : ByteBuf | semmle.label | readRetainedSlice(...) : ByteBuf | +| Test.java:1392:9:1392:11 | out | semmle.label | out | +| Test.java:1397:17:1397:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1397:26:1397:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1398:10:1398:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1398:10:1398:32 | readRetainedSlice(...) : ByteBuf | semmle.label | readRetainedSlice(...) : ByteBuf | +| Test.java:1399:9:1399:11 | out | semmle.label | out | +| Test.java:1404:24:1404:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1404:40:1404:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1405:10:1405:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1405:10:1405:32 | readRetainedSlice(...) : ByteBuf | semmle.label | readRetainedSlice(...) : ByteBuf | +| Test.java:1406:9:1406:11 | out | semmle.label | out | +| Test.java:1411:25:1411:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1411:42:1411:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1412:10:1412:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1412:10:1412:24 | readSlice(...) : ByteBuf | semmle.label | readSlice(...) : ByteBuf | +| Test.java:1413:9:1413:11 | out | semmle.label | out | +| Test.java:1418:17:1418:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1418:26:1418:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1419:10:1419:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1419:10:1419:24 | readSlice(...) : ByteBuf | semmle.label | readSlice(...) : ByteBuf | +| Test.java:1420:9:1420:11 | out | semmle.label | out | +| Test.java:1425:24:1425:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1425:40:1425:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1426:10:1426:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1426:10:1426:24 | readSlice(...) : ByteBuf | semmle.label | readSlice(...) : ByteBuf | +| Test.java:1427:9:1427:11 | out | semmle.label | out | +| Test.java:1432:25:1432:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1432:42:1432:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1433:10:1433:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1433:10:1433:26 | readerIndex(...) : AbstractByteBuf | semmle.label | readerIndex(...) : AbstractByteBuf | +| Test.java:1434:9:1434:11 | out | semmle.label | out | +| Test.java:1439:17:1439:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1439:26:1439:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1440:10:1440:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1440:10:1440:26 | readerIndex(...) : ByteBuf | semmle.label | readerIndex(...) : ByteBuf | +| Test.java:1441:9:1441:11 | out | semmle.label | out | +| Test.java:1446:24:1446:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1446:40:1446:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1447:10:1447:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1447:10:1447:26 | readerIndex(...) : SwappedByteBuf | semmle.label | readerIndex(...) : SwappedByteBuf | +| Test.java:1448:9:1448:11 | out | semmle.label | out | +| Test.java:1453:26:1453:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1453:44:1453:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1454:10:1454:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1454:10:1454:26 | readerIndex(...) : CompositeByteBuf | semmle.label | readerIndex(...) : CompositeByteBuf | +| Test.java:1455:9:1455:11 | out | semmle.label | out | +| Test.java:1460:25:1460:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1460:42:1460:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1461:10:1461:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1461:10:1461:30 | resetReaderIndex(...) : AbstractByteBuf | semmle.label | resetReaderIndex(...) : AbstractByteBuf | +| Test.java:1462:9:1462:11 | out | semmle.label | out | +| Test.java:1467:17:1467:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1467:26:1467:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1468:10:1468:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1468:10:1468:30 | resetReaderIndex(...) : ByteBuf | semmle.label | resetReaderIndex(...) : ByteBuf | +| Test.java:1469:9:1469:11 | out | semmle.label | out | +| Test.java:1474:24:1474:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1474:40:1474:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1475:10:1475:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1475:10:1475:30 | resetReaderIndex(...) : SwappedByteBuf | semmle.label | resetReaderIndex(...) : SwappedByteBuf | +| Test.java:1476:9:1476:11 | out | semmle.label | out | +| Test.java:1481:26:1481:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1481:44:1481:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1482:10:1482:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1482:10:1482:30 | resetReaderIndex(...) : CompositeByteBuf | semmle.label | resetReaderIndex(...) : CompositeByteBuf | +| Test.java:1483:9:1483:11 | out | semmle.label | out | +| Test.java:1488:25:1488:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1488:42:1488:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1489:10:1489:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1489:10:1489:30 | resetWriterIndex(...) : AbstractByteBuf | semmle.label | resetWriterIndex(...) : AbstractByteBuf | +| Test.java:1490:9:1490:11 | out | semmle.label | out | +| Test.java:1495:17:1495:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1495:26:1495:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1496:10:1496:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1496:10:1496:30 | resetWriterIndex(...) : ByteBuf | semmle.label | resetWriterIndex(...) : ByteBuf | +| Test.java:1497:9:1497:11 | out | semmle.label | out | +| Test.java:1502:24:1502:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1502:40:1502:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1503:10:1503:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1503:10:1503:30 | resetWriterIndex(...) : SwappedByteBuf | semmle.label | resetWriterIndex(...) : SwappedByteBuf | +| Test.java:1504:9:1504:11 | out | semmle.label | out | +| Test.java:1509:26:1509:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1509:44:1509:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1510:10:1510:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1510:10:1510:30 | resetWriterIndex(...) : CompositeByteBuf | semmle.label | resetWriterIndex(...) : CompositeByteBuf | +| Test.java:1511:9:1511:11 | out | semmle.label | out | +| Test.java:1516:25:1516:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1516:42:1516:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1517:10:1517:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1517:10:1517:31 | retainedDuplicate(...) : ByteBuf | semmle.label | retainedDuplicate(...) : ByteBuf | +| Test.java:1518:9:1518:11 | out | semmle.label | out | +| Test.java:1523:17:1523:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1523:26:1523:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1524:10:1524:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1524:10:1524:31 | retainedDuplicate(...) : ByteBuf | semmle.label | retainedDuplicate(...) : ByteBuf | +| Test.java:1525:9:1525:11 | out | semmle.label | out | +| Test.java:1530:24:1530:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1530:40:1530:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1531:10:1531:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1531:10:1531:31 | retainedDuplicate(...) : ByteBuf | semmle.label | retainedDuplicate(...) : ByteBuf | +| Test.java:1532:9:1532:11 | out | semmle.label | out | +| Test.java:1537:25:1537:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1537:42:1537:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1538:10:1538:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1538:10:1538:27 | retainedSlice(...) : ByteBuf | semmle.label | retainedSlice(...) : ByteBuf | +| Test.java:1539:9:1539:11 | out | semmle.label | out | +| Test.java:1544:25:1544:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1544:42:1544:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1545:10:1545:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1545:10:1545:31 | retainedSlice(...) : ByteBuf | semmle.label | retainedSlice(...) : ByteBuf | +| Test.java:1546:9:1546:11 | out | semmle.label | out | +| Test.java:1551:17:1551:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1551:26:1551:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1552:10:1552:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1552:10:1552:27 | retainedSlice(...) : ByteBuf | semmle.label | retainedSlice(...) : ByteBuf | +| Test.java:1553:9:1553:11 | out | semmle.label | out | +| Test.java:1558:17:1558:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1558:26:1558:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1559:10:1559:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1559:10:1559:31 | retainedSlice(...) : ByteBuf | semmle.label | retainedSlice(...) : ByteBuf | +| Test.java:1560:9:1560:11 | out | semmle.label | out | +| Test.java:1565:24:1565:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1565:40:1565:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1566:10:1566:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1566:10:1566:27 | retainedSlice(...) : ByteBuf | semmle.label | retainedSlice(...) : ByteBuf | +| Test.java:1567:9:1567:11 | out | semmle.label | out | +| Test.java:1572:24:1572:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1572:40:1572:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1573:10:1573:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1573:10:1573:31 | retainedSlice(...) : ByteBuf | semmle.label | retainedSlice(...) : ByteBuf | +| Test.java:1574:9:1574:11 | out | semmle.label | out | +| Test.java:1579:25:1579:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1579:42:1579:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1580:10:1580:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1580:10:1580:32 | setBoolean(...) : AbstractByteBuf | semmle.label | setBoolean(...) : AbstractByteBuf | +| Test.java:1581:9:1581:11 | out | semmle.label | out | +| Test.java:1586:17:1586:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1586:26:1586:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1587:10:1587:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1587:10:1587:32 | setBoolean(...) : ByteBuf | semmle.label | setBoolean(...) : ByteBuf | +| Test.java:1588:9:1588:11 | out | semmle.label | out | +| Test.java:1593:24:1593:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1593:40:1593:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1594:10:1594:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1594:10:1594:32 | setBoolean(...) : SwappedByteBuf | semmle.label | setBoolean(...) : SwappedByteBuf | +| Test.java:1595:9:1595:11 | out | semmle.label | out | +| Test.java:1600:26:1600:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1600:44:1600:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1601:10:1601:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1601:10:1601:32 | setBoolean(...) : CompositeByteBuf | semmle.label | setBoolean(...) : CompositeByteBuf | +| Test.java:1602:9:1602:11 | out | semmle.label | out | +| Test.java:1607:25:1607:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1607:42:1607:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1608:10:1608:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1608:10:1608:25 | setByte(...) : AbstractByteBuf | semmle.label | setByte(...) : AbstractByteBuf | +| Test.java:1609:9:1609:11 | out | semmle.label | out | +| Test.java:1614:17:1614:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1614:26:1614:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1615:10:1615:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1615:10:1615:25 | setByte(...) : ByteBuf | semmle.label | setByte(...) : ByteBuf | +| Test.java:1616:9:1616:11 | out | semmle.label | out | +| Test.java:1621:24:1621:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1621:40:1621:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1622:10:1622:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1622:10:1622:25 | setByte(...) : SwappedByteBuf | semmle.label | setByte(...) : SwappedByteBuf | +| Test.java:1623:9:1623:11 | out | semmle.label | out | +| Test.java:1628:26:1628:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1628:44:1628:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1629:10:1629:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1629:10:1629:25 | setByte(...) : CompositeByteBuf | semmle.label | setByte(...) : CompositeByteBuf | +| Test.java:1630:9:1630:11 | out | semmle.label | out | +| Test.java:1635:25:1635:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1635:42:1635:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1636:10:1636:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1636:10:1636:38 | setBytes(...) : AbstractByteBuf | semmle.label | setBytes(...) : AbstractByteBuf | +| Test.java:1637:9:1637:11 | out | semmle.label | out | +| Test.java:1642:17:1642:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1642:26:1642:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1643:10:1643:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1643:10:1643:38 | setBytes(...) : ByteBuf | semmle.label | setBytes(...) : ByteBuf | +| Test.java:1644:9:1644:11 | out | semmle.label | out | +| Test.java:1649:24:1649:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1649:40:1649:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1650:10:1650:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1650:10:1650:38 | setBytes(...) : SwappedByteBuf | semmle.label | setBytes(...) : SwappedByteBuf | +| Test.java:1651:9:1651:11 | out | semmle.label | out | +| Test.java:1656:26:1656:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1656:44:1656:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1657:10:1657:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1657:10:1657:38 | setBytes(...) : CompositeByteBuf | semmle.label | setBytes(...) : CompositeByteBuf | +| Test.java:1658:9:1658:11 | out | semmle.label | out | +| Test.java:1663:17:1663:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1663:26:1663:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1664:4:1664:6 | out [post update] : AbstractByteBuf | semmle.label | out [post update] : AbstractByteBuf | +| Test.java:1664:20:1664:21 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1665:9:1665:11 | out | semmle.label | out | +| Test.java:1670:17:1670:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1670:26:1670:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1671:4:1671:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:1671:20:1671:21 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1672:9:1672:11 | out | semmle.label | out | +| Test.java:1677:17:1677:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1677:26:1677:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1678:4:1678:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:1678:20:1678:21 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1679:9:1679:11 | out | semmle.label | out | +| Test.java:1684:17:1684:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1684:26:1684:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1685:4:1685:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:1685:20:1685:21 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1686:9:1686:11 | out | semmle.label | out | +| Test.java:1691:25:1691:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1691:42:1691:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1692:10:1692:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1692:10:1692:41 | setBytes(...) : AbstractByteBuf | semmle.label | setBytes(...) : AbstractByteBuf | +| Test.java:1693:9:1693:11 | out | semmle.label | out | +| Test.java:1698:17:1698:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1698:26:1698:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1699:10:1699:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1699:10:1699:41 | setBytes(...) : ByteBuf | semmle.label | setBytes(...) : ByteBuf | +| Test.java:1700:9:1700:11 | out | semmle.label | out | +| Test.java:1705:24:1705:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1705:40:1705:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1706:10:1706:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1706:10:1706:41 | setBytes(...) : SwappedByteBuf | semmle.label | setBytes(...) : SwappedByteBuf | +| Test.java:1707:9:1707:11 | out | semmle.label | out | +| Test.java:1712:26:1712:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1712:44:1712:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1713:10:1713:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1713:10:1713:41 | setBytes(...) : CompositeByteBuf | semmle.label | setBytes(...) : CompositeByteBuf | +| Test.java:1714:9:1714:11 | out | semmle.label | out | +| Test.java:1719:17:1719:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1719:26:1719:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1720:4:1720:6 | out [post update] : AbstractByteBuf | semmle.label | out [post update] : AbstractByteBuf | +| Test.java:1720:20:1720:21 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1721:9:1721:11 | out | semmle.label | out | +| Test.java:1726:17:1726:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1726:26:1726:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1727:4:1727:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:1727:20:1727:21 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1728:9:1728:11 | out | semmle.label | out | +| Test.java:1733:17:1733:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1733:26:1733:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1734:4:1734:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:1734:20:1734:21 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1735:9:1735:11 | out | semmle.label | out | +| Test.java:1740:17:1740:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1740:26:1740:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1741:4:1741:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:1741:20:1741:21 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1742:9:1742:11 | out | semmle.label | out | +| Test.java:1747:17:1747:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1747:26:1747:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1748:10:1748:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1748:10:1748:44 | setBytes(...) : ByteBuf | semmle.label | setBytes(...) : ByteBuf | +| Test.java:1749:9:1749:11 | out | semmle.label | out | +| Test.java:1754:24:1754:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1754:40:1754:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1755:10:1755:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1755:10:1755:44 | setBytes(...) : SwappedByteBuf | semmle.label | setBytes(...) : SwappedByteBuf | +| Test.java:1756:9:1756:11 | out | semmle.label | out | +| Test.java:1761:26:1761:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1761:44:1761:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1762:10:1762:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1762:10:1762:44 | setBytes(...) : CompositeByteBuf | semmle.label | setBytes(...) : CompositeByteBuf | +| Test.java:1763:9:1763:11 | out | semmle.label | out | +| Test.java:1768:17:1768:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1768:26:1768:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1769:4:1769:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:1769:20:1769:21 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1770:9:1770:11 | out | semmle.label | out | +| Test.java:1775:17:1775:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1775:26:1775:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1776:4:1776:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:1776:20:1776:21 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1777:9:1777:11 | out | semmle.label | out | +| Test.java:1782:17:1782:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1782:26:1782:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1783:4:1783:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:1783:20:1783:21 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1784:9:1784:11 | out | semmle.label | out | +| Test.java:1789:17:1789:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1789:26:1789:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1790:10:1790:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1790:10:1790:41 | setBytes(...) : ByteBuf | semmle.label | setBytes(...) : ByteBuf | +| Test.java:1791:9:1791:11 | out | semmle.label | out | +| Test.java:1796:24:1796:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1796:40:1796:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1797:10:1797:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1797:10:1797:41 | setBytes(...) : SwappedByteBuf | semmle.label | setBytes(...) : SwappedByteBuf | +| Test.java:1798:9:1798:11 | out | semmle.label | out | +| Test.java:1803:26:1803:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1803:44:1803:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1804:10:1804:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1804:10:1804:41 | setBytes(...) : CompositeByteBuf | semmle.label | setBytes(...) : CompositeByteBuf | +| Test.java:1805:9:1805:11 | out | semmle.label | out | +| Test.java:1810:20:1810:39 | (...)... : ByteBuffer | semmle.label | (...)... : ByteBuffer | +| Test.java:1810:32:1810:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1811:4:1811:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:1811:20:1811:21 | in : ByteBuffer | semmle.label | in : ByteBuffer | +| Test.java:1812:9:1812:11 | out | semmle.label | out | +| Test.java:1817:20:1817:39 | (...)... : ByteBuffer | semmle.label | (...)... : ByteBuffer | +| Test.java:1817:32:1817:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1818:4:1818:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:1818:20:1818:21 | in : ByteBuffer | semmle.label | in : ByteBuffer | +| Test.java:1819:9:1819:11 | out | semmle.label | out | +| Test.java:1824:20:1824:39 | (...)... : ByteBuffer | semmle.label | (...)... : ByteBuffer | +| Test.java:1824:32:1824:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1825:4:1825:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:1825:20:1825:21 | in : ByteBuffer | semmle.label | in : ByteBuffer | +| Test.java:1826:9:1826:11 | out | semmle.label | out | +| Test.java:1831:21:1831:41 | (...)... : FileChannel | semmle.label | (...)... : FileChannel | +| Test.java:1831:34:1831:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1832:4:1832:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:1832:20:1832:21 | in : FileChannel | semmle.label | in : FileChannel | +| Test.java:1833:9:1833:11 | out | semmle.label | out | +| Test.java:1838:21:1838:41 | (...)... : FileChannel | semmle.label | (...)... : FileChannel | +| Test.java:1838:34:1838:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1839:4:1839:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:1839:20:1839:21 | in : FileChannel | semmle.label | in : FileChannel | +| Test.java:1840:9:1840:11 | out | semmle.label | out | +| Test.java:1845:21:1845:41 | (...)... : FileChannel | semmle.label | (...)... : FileChannel | +| Test.java:1845:34:1845:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1846:4:1846:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:1846:20:1846:21 | in : FileChannel | semmle.label | in : FileChannel | +| Test.java:1847:9:1847:11 | out | semmle.label | out | +| Test.java:1852:21:1852:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:1852:34:1852:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1853:4:1853:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:1853:20:1853:21 | in : InputStream | semmle.label | in : InputStream | +| Test.java:1854:9:1854:11 | out | semmle.label | out | +| Test.java:1859:21:1859:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:1859:34:1859:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1860:4:1860:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:1860:20:1860:21 | in : InputStream | semmle.label | in : InputStream | +| Test.java:1861:9:1861:11 | out | semmle.label | out | +| Test.java:1866:21:1866:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:1866:34:1866:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1867:4:1867:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:1867:20:1867:21 | in : InputStream | semmle.label | in : InputStream | +| Test.java:1868:9:1868:11 | out | semmle.label | out | +| Test.java:1873:31:1873:61 | (...)... : ScatteringByteChannel | semmle.label | (...)... : ScatteringByteChannel | +| Test.java:1873:54:1873:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1874:4:1874:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:1874:20:1874:21 | in : ScatteringByteChannel | semmle.label | in : ScatteringByteChannel | +| Test.java:1875:9:1875:11 | out | semmle.label | out | +| Test.java:1880:31:1880:61 | (...)... : ScatteringByteChannel | semmle.label | (...)... : ScatteringByteChannel | +| Test.java:1880:54:1880:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1881:4:1881:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:1881:20:1881:21 | in : ScatteringByteChannel | semmle.label | in : ScatteringByteChannel | +| Test.java:1882:9:1882:11 | out | semmle.label | out | +| Test.java:1887:31:1887:61 | (...)... : ScatteringByteChannel | semmle.label | (...)... : ScatteringByteChannel | +| Test.java:1887:54:1887:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1888:4:1888:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:1888:20:1888:21 | in : ScatteringByteChannel | semmle.label | in : ScatteringByteChannel | +| Test.java:1889:9:1889:11 | out | semmle.label | out | +| Test.java:1894:25:1894:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1894:42:1894:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1895:10:1895:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1895:10:1895:37 | setBytes(...) : AbstractByteBuf | semmle.label | setBytes(...) : AbstractByteBuf | +| Test.java:1896:9:1896:11 | out | semmle.label | out | +| Test.java:1901:17:1901:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1901:26:1901:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1902:10:1902:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1902:10:1902:37 | setBytes(...) : ByteBuf | semmle.label | setBytes(...) : ByteBuf | +| Test.java:1903:9:1903:11 | out | semmle.label | out | +| Test.java:1908:24:1908:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1908:40:1908:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1909:10:1909:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1909:10:1909:37 | setBytes(...) : SwappedByteBuf | semmle.label | setBytes(...) : SwappedByteBuf | +| Test.java:1910:9:1910:11 | out | semmle.label | out | +| Test.java:1915:26:1915:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1915:44:1915:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1916:10:1916:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1916:10:1916:37 | setBytes(...) : CompositeByteBuf | semmle.label | setBytes(...) : CompositeByteBuf | +| Test.java:1917:9:1917:11 | out | semmle.label | out | +| Test.java:1922:16:1922:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:1922:24:1922:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1923:4:1923:6 | out [post update] : AbstractByteBuf | semmle.label | out [post update] : AbstractByteBuf | +| Test.java:1923:20:1923:21 | in : byte[] | semmle.label | in : byte[] | +| Test.java:1924:9:1924:11 | out | semmle.label | out | +| Test.java:1929:16:1929:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:1929:24:1929:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1930:4:1930:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:1930:20:1930:21 | in : byte[] | semmle.label | in : byte[] | +| Test.java:1931:9:1931:11 | out | semmle.label | out | +| Test.java:1936:16:1936:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:1936:24:1936:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1937:4:1937:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:1937:20:1937:21 | in : byte[] | semmle.label | in : byte[] | +| Test.java:1938:9:1938:11 | out | semmle.label | out | +| Test.java:1943:16:1943:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:1943:24:1943:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1944:4:1944:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:1944:20:1944:21 | in : byte[] | semmle.label | in : byte[] | +| Test.java:1945:9:1945:11 | out | semmle.label | out | +| Test.java:1950:17:1950:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1950:26:1950:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1951:10:1951:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:1951:10:1951:43 | setBytes(...) : ByteBuf | semmle.label | setBytes(...) : ByteBuf | +| Test.java:1952:9:1952:11 | out | semmle.label | out | +| Test.java:1957:24:1957:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:1957:40:1957:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1958:10:1958:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:1958:10:1958:43 | setBytes(...) : SwappedByteBuf | semmle.label | setBytes(...) : SwappedByteBuf | +| Test.java:1959:9:1959:11 | out | semmle.label | out | +| Test.java:1964:26:1964:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:1964:44:1964:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1965:10:1965:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:1965:10:1965:43 | setBytes(...) : CompositeByteBuf | semmle.label | setBytes(...) : CompositeByteBuf | +| Test.java:1966:9:1966:11 | out | semmle.label | out | +| Test.java:1971:16:1971:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:1971:24:1971:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1972:4:1972:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:1972:20:1972:21 | in : byte[] | semmle.label | in : byte[] | +| Test.java:1973:9:1973:11 | out | semmle.label | out | +| Test.java:1978:16:1978:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:1978:24:1978:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1979:4:1979:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:1979:20:1979:21 | in : byte[] | semmle.label | in : byte[] | +| Test.java:1980:9:1980:11 | out | semmle.label | out | +| Test.java:1985:16:1985:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:1985:24:1985:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1986:4:1986:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:1986:20:1986:21 | in : byte[] | semmle.label | in : byte[] | +| Test.java:1987:9:1987:11 | out | semmle.label | out | +| Test.java:1992:25:1992:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:1992:42:1992:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1993:10:1993:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:1993:10:1993:25 | setChar(...) : AbstractByteBuf | semmle.label | setChar(...) : AbstractByteBuf | +| Test.java:1994:9:1994:11 | out | semmle.label | out | +| Test.java:1999:17:1999:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:1999:26:1999:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2000:10:2000:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2000:10:2000:25 | setChar(...) : ByteBuf | semmle.label | setChar(...) : ByteBuf | +| Test.java:2001:9:2001:11 | out | semmle.label | out | +| Test.java:2006:24:2006:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2006:40:2006:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2007:10:2007:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2007:10:2007:25 | setChar(...) : SwappedByteBuf | semmle.label | setChar(...) : SwappedByteBuf | +| Test.java:2008:9:2008:11 | out | semmle.label | out | +| Test.java:2013:26:2013:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2013:44:2013:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2014:10:2014:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2014:10:2014:25 | setChar(...) : CompositeByteBuf | semmle.label | setChar(...) : CompositeByteBuf | +| Test.java:2015:9:2015:11 | out | semmle.label | out | +| Test.java:2020:13:2020:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2020:18:2020:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2021:4:2021:6 | out [post update] : AbstractByteBuf | semmle.label | out [post update] : AbstractByteBuf | +| Test.java:2021:19:2021:20 | in : Number | semmle.label | in : Number | +| Test.java:2022:9:2022:11 | out | semmle.label | out | +| Test.java:2027:13:2027:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2027:18:2027:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2028:4:2028:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:2028:19:2028:20 | in : Number | semmle.label | in : Number | +| Test.java:2029:9:2029:11 | out | semmle.label | out | +| Test.java:2034:13:2034:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2034:18:2034:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2035:4:2035:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:2035:19:2035:20 | in : Number | semmle.label | in : Number | +| Test.java:2036:9:2036:11 | out | semmle.label | out | +| Test.java:2041:13:2041:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2041:18:2041:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2042:4:2042:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:2042:19:2042:20 | in : Number | semmle.label | in : Number | +| Test.java:2043:9:2043:11 | out | semmle.label | out | +| Test.java:2048:22:2048:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:2048:36:2048:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2049:4:2049:6 | out [post update] : AbstractByteBuf | semmle.label | out [post update] : AbstractByteBuf | +| Test.java:2049:27:2049:28 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:2050:9:2050:11 | out | semmle.label | out | +| Test.java:2055:22:2055:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:2055:36:2055:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2056:4:2056:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:2056:27:2056:28 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:2057:9:2057:11 | out | semmle.label | out | +| Test.java:2062:22:2062:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:2062:36:2062:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2063:4:2063:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:2063:27:2063:28 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:2064:9:2064:11 | out | semmle.label | out | +| Test.java:2069:25:2069:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2069:42:2069:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2070:10:2070:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2070:10:2070:29 | setDouble(...) : AbstractByteBuf | semmle.label | setDouble(...) : AbstractByteBuf | +| Test.java:2071:9:2071:11 | out | semmle.label | out | +| Test.java:2076:17:2076:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2076:26:2076:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2077:10:2077:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2077:10:2077:29 | setDouble(...) : ByteBuf | semmle.label | setDouble(...) : ByteBuf | +| Test.java:2078:9:2078:11 | out | semmle.label | out | +| Test.java:2083:24:2083:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2083:40:2083:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2084:10:2084:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2084:10:2084:29 | setDouble(...) : SwappedByteBuf | semmle.label | setDouble(...) : SwappedByteBuf | +| Test.java:2085:9:2085:11 | out | semmle.label | out | +| Test.java:2090:26:2090:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2090:44:2090:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2091:10:2091:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2091:10:2091:29 | setDouble(...) : CompositeByteBuf | semmle.label | setDouble(...) : CompositeByteBuf | +| Test.java:2092:9:2092:11 | out | semmle.label | out | +| Test.java:2097:17:2097:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2097:26:2097:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2098:10:2098:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2098:10:2098:31 | setDoubleLE(...) : ByteBuf | semmle.label | setDoubleLE(...) : ByteBuf | +| Test.java:2099:9:2099:11 | out | semmle.label | out | +| Test.java:2104:25:2104:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2104:42:2104:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2105:10:2105:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2105:10:2105:29 | setFloat(...) : AbstractByteBuf | semmle.label | setFloat(...) : AbstractByteBuf | +| Test.java:2106:9:2106:11 | out | semmle.label | out | +| Test.java:2111:17:2111:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2111:26:2111:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2112:10:2112:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2112:10:2112:29 | setFloat(...) : ByteBuf | semmle.label | setFloat(...) : ByteBuf | +| Test.java:2113:9:2113:11 | out | semmle.label | out | +| Test.java:2118:24:2118:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2118:40:2118:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2119:10:2119:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2119:10:2119:29 | setFloat(...) : SwappedByteBuf | semmle.label | setFloat(...) : SwappedByteBuf | +| Test.java:2120:9:2120:11 | out | semmle.label | out | +| Test.java:2125:26:2125:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2125:44:2125:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2126:10:2126:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2126:10:2126:29 | setFloat(...) : CompositeByteBuf | semmle.label | setFloat(...) : CompositeByteBuf | +| Test.java:2127:9:2127:11 | out | semmle.label | out | +| Test.java:2132:17:2132:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2132:26:2132:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2133:10:2133:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2133:10:2133:31 | setFloatLE(...) : ByteBuf | semmle.label | setFloatLE(...) : ByteBuf | +| Test.java:2134:9:2134:11 | out | semmle.label | out | +| Test.java:2139:25:2139:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2139:42:2139:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2140:10:2140:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2140:10:2140:26 | setIndex(...) : AbstractByteBuf | semmle.label | setIndex(...) : AbstractByteBuf | +| Test.java:2141:9:2141:11 | out | semmle.label | out | +| Test.java:2146:17:2146:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2146:26:2146:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2147:10:2147:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2147:10:2147:26 | setIndex(...) : ByteBuf | semmle.label | setIndex(...) : ByteBuf | +| Test.java:2148:9:2148:11 | out | semmle.label | out | +| Test.java:2153:24:2153:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2153:40:2153:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2154:10:2154:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2154:10:2154:26 | setIndex(...) : SwappedByteBuf | semmle.label | setIndex(...) : SwappedByteBuf | +| Test.java:2155:9:2155:11 | out | semmle.label | out | +| Test.java:2160:26:2160:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2160:44:2160:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2161:10:2161:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2161:10:2161:26 | setIndex(...) : CompositeByteBuf | semmle.label | setIndex(...) : CompositeByteBuf | +| Test.java:2162:9:2162:11 | out | semmle.label | out | +| Test.java:2167:25:2167:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2167:42:2167:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2168:10:2168:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2168:10:2168:24 | setInt(...) : AbstractByteBuf | semmle.label | setInt(...) : AbstractByteBuf | +| Test.java:2169:9:2169:11 | out | semmle.label | out | +| Test.java:2174:17:2174:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2174:26:2174:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2175:10:2175:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2175:10:2175:24 | setInt(...) : ByteBuf | semmle.label | setInt(...) : ByteBuf | +| Test.java:2176:9:2176:11 | out | semmle.label | out | +| Test.java:2181:24:2181:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2181:40:2181:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2182:10:2182:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2182:10:2182:24 | setInt(...) : SwappedByteBuf | semmle.label | setInt(...) : SwappedByteBuf | +| Test.java:2183:9:2183:11 | out | semmle.label | out | +| Test.java:2188:26:2188:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2188:44:2188:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2189:10:2189:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2189:10:2189:24 | setInt(...) : CompositeByteBuf | semmle.label | setInt(...) : CompositeByteBuf | +| Test.java:2190:9:2190:11 | out | semmle.label | out | +| Test.java:2195:25:2195:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2195:42:2195:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2196:10:2196:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2196:10:2196:26 | setIntLE(...) : AbstractByteBuf | semmle.label | setIntLE(...) : AbstractByteBuf | +| Test.java:2197:9:2197:11 | out | semmle.label | out | +| Test.java:2202:17:2202:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2202:26:2202:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2203:10:2203:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2203:10:2203:26 | setIntLE(...) : ByteBuf | semmle.label | setIntLE(...) : ByteBuf | +| Test.java:2204:9:2204:11 | out | semmle.label | out | +| Test.java:2209:24:2209:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2209:40:2209:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2210:10:2210:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2210:10:2210:26 | setIntLE(...) : SwappedByteBuf | semmle.label | setIntLE(...) : SwappedByteBuf | +| Test.java:2211:9:2211:11 | out | semmle.label | out | +| Test.java:2216:25:2216:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2216:42:2216:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2217:10:2217:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2217:10:2217:26 | setLong(...) : AbstractByteBuf | semmle.label | setLong(...) : AbstractByteBuf | +| Test.java:2218:9:2218:11 | out | semmle.label | out | +| Test.java:2223:17:2223:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2223:26:2223:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2224:10:2224:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2224:10:2224:26 | setLong(...) : ByteBuf | semmle.label | setLong(...) : ByteBuf | +| Test.java:2225:9:2225:11 | out | semmle.label | out | +| Test.java:2230:24:2230:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2230:40:2230:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2231:10:2231:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2231:10:2231:26 | setLong(...) : SwappedByteBuf | semmle.label | setLong(...) : SwappedByteBuf | +| Test.java:2232:9:2232:11 | out | semmle.label | out | +| Test.java:2237:26:2237:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2237:44:2237:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2238:10:2238:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2238:10:2238:26 | setLong(...) : CompositeByteBuf | semmle.label | setLong(...) : CompositeByteBuf | +| Test.java:2239:9:2239:11 | out | semmle.label | out | +| Test.java:2244:25:2244:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2244:42:2244:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2245:10:2245:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2245:10:2245:28 | setLongLE(...) : AbstractByteBuf | semmle.label | setLongLE(...) : AbstractByteBuf | +| Test.java:2246:9:2246:11 | out | semmle.label | out | +| Test.java:2251:17:2251:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2251:26:2251:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2252:10:2252:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2252:10:2252:28 | setLongLE(...) : ByteBuf | semmle.label | setLongLE(...) : ByteBuf | +| Test.java:2253:9:2253:11 | out | semmle.label | out | +| Test.java:2258:24:2258:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2258:40:2258:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2259:10:2259:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2259:10:2259:28 | setLongLE(...) : SwappedByteBuf | semmle.label | setLongLE(...) : SwappedByteBuf | +| Test.java:2260:9:2260:11 | out | semmle.label | out | +| Test.java:2265:25:2265:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2265:42:2265:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2266:10:2266:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2266:10:2266:27 | setMedium(...) : AbstractByteBuf | semmle.label | setMedium(...) : AbstractByteBuf | +| Test.java:2267:9:2267:11 | out | semmle.label | out | +| Test.java:2272:17:2272:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2272:26:2272:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2273:10:2273:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2273:10:2273:27 | setMedium(...) : ByteBuf | semmle.label | setMedium(...) : ByteBuf | +| Test.java:2274:9:2274:11 | out | semmle.label | out | +| Test.java:2279:24:2279:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2279:40:2279:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2280:10:2280:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2280:10:2280:27 | setMedium(...) : SwappedByteBuf | semmle.label | setMedium(...) : SwappedByteBuf | +| Test.java:2281:9:2281:11 | out | semmle.label | out | +| Test.java:2286:26:2286:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2286:44:2286:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2287:10:2287:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2287:10:2287:27 | setMedium(...) : CompositeByteBuf | semmle.label | setMedium(...) : CompositeByteBuf | +| Test.java:2288:9:2288:11 | out | semmle.label | out | +| Test.java:2293:25:2293:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2293:42:2293:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2294:10:2294:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2294:10:2294:29 | setMediumLE(...) : AbstractByteBuf | semmle.label | setMediumLE(...) : AbstractByteBuf | +| Test.java:2295:9:2295:11 | out | semmle.label | out | +| Test.java:2300:17:2300:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2300:26:2300:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2301:10:2301:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2301:10:2301:29 | setMediumLE(...) : ByteBuf | semmle.label | setMediumLE(...) : ByteBuf | +| Test.java:2302:9:2302:11 | out | semmle.label | out | +| Test.java:2307:24:2307:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2307:40:2307:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2308:10:2308:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2308:10:2308:29 | setMediumLE(...) : SwappedByteBuf | semmle.label | setMediumLE(...) : SwappedByteBuf | +| Test.java:2309:9:2309:11 | out | semmle.label | out | +| Test.java:2314:25:2314:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2314:42:2314:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2315:10:2315:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2315:10:2315:26 | setShort(...) : AbstractByteBuf | semmle.label | setShort(...) : AbstractByteBuf | +| Test.java:2316:9:2316:11 | out | semmle.label | out | +| Test.java:2321:17:2321:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2321:26:2321:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2322:10:2322:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2322:10:2322:26 | setShort(...) : ByteBuf | semmle.label | setShort(...) : ByteBuf | +| Test.java:2323:9:2323:11 | out | semmle.label | out | +| Test.java:2328:24:2328:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2328:40:2328:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2329:10:2329:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2329:10:2329:26 | setShort(...) : SwappedByteBuf | semmle.label | setShort(...) : SwappedByteBuf | +| Test.java:2330:9:2330:11 | out | semmle.label | out | +| Test.java:2335:26:2335:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2335:44:2335:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2336:10:2336:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2336:10:2336:26 | setShort(...) : CompositeByteBuf | semmle.label | setShort(...) : CompositeByteBuf | +| Test.java:2337:9:2337:11 | out | semmle.label | out | +| Test.java:2342:25:2342:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2342:42:2342:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2343:10:2343:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2343:10:2343:28 | setShortLE(...) : AbstractByteBuf | semmle.label | setShortLE(...) : AbstractByteBuf | +| Test.java:2344:9:2344:11 | out | semmle.label | out | +| Test.java:2349:17:2349:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2349:26:2349:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2350:10:2350:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2350:10:2350:28 | setShortLE(...) : ByteBuf | semmle.label | setShortLE(...) : ByteBuf | +| Test.java:2351:9:2351:11 | out | semmle.label | out | +| Test.java:2356:24:2356:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2356:40:2356:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2357:10:2357:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2357:10:2357:28 | setShortLE(...) : SwappedByteBuf | semmle.label | setShortLE(...) : SwappedByteBuf | +| Test.java:2358:9:2358:11 | out | semmle.label | out | +| Test.java:2363:25:2363:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2363:42:2363:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2364:10:2364:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2364:10:2364:25 | setZero(...) : AbstractByteBuf | semmle.label | setZero(...) : AbstractByteBuf | +| Test.java:2365:9:2365:11 | out | semmle.label | out | +| Test.java:2370:17:2370:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2370:26:2370:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2371:10:2371:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2371:10:2371:25 | setZero(...) : ByteBuf | semmle.label | setZero(...) : ByteBuf | +| Test.java:2372:9:2372:11 | out | semmle.label | out | +| Test.java:2377:24:2377:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2377:40:2377:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2378:10:2378:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2378:10:2378:25 | setZero(...) : SwappedByteBuf | semmle.label | setZero(...) : SwappedByteBuf | +| Test.java:2379:9:2379:11 | out | semmle.label | out | +| Test.java:2384:26:2384:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2384:44:2384:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2385:10:2385:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2385:10:2385:25 | setZero(...) : CompositeByteBuf | semmle.label | setZero(...) : CompositeByteBuf | +| Test.java:2386:9:2386:11 | out | semmle.label | out | +| Test.java:2391:25:2391:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2391:42:2391:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2392:10:2392:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2392:10:2392:24 | skipBytes(...) : AbstractByteBuf | semmle.label | skipBytes(...) : AbstractByteBuf | +| Test.java:2393:9:2393:11 | out | semmle.label | out | +| Test.java:2398:17:2398:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2398:26:2398:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2399:10:2399:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2399:10:2399:24 | skipBytes(...) : ByteBuf | semmle.label | skipBytes(...) : ByteBuf | +| Test.java:2400:9:2400:11 | out | semmle.label | out | +| Test.java:2405:24:2405:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2405:40:2405:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2406:10:2406:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2406:10:2406:24 | skipBytes(...) : SwappedByteBuf | semmle.label | skipBytes(...) : SwappedByteBuf | +| Test.java:2407:9:2407:11 | out | semmle.label | out | +| Test.java:2412:26:2412:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2412:44:2412:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2413:10:2413:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2413:10:2413:24 | skipBytes(...) : CompositeByteBuf | semmle.label | skipBytes(...) : CompositeByteBuf | +| Test.java:2414:9:2414:11 | out | semmle.label | out | +| Test.java:2419:25:2419:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2419:42:2419:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2420:10:2420:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2420:10:2420:19 | slice(...) : ByteBuf | semmle.label | slice(...) : ByteBuf | +| Test.java:2421:9:2421:11 | out | semmle.label | out | +| Test.java:2426:25:2426:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2426:42:2426:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2427:10:2427:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2427:10:2427:23 | slice(...) : ByteBuf | semmle.label | slice(...) : ByteBuf | +| Test.java:2428:9:2428:11 | out | semmle.label | out | +| Test.java:2433:17:2433:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2433:26:2433:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2434:10:2434:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2434:10:2434:19 | slice(...) : ByteBuf | semmle.label | slice(...) : ByteBuf | +| Test.java:2435:9:2435:11 | out | semmle.label | out | +| Test.java:2440:17:2440:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2440:26:2440:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2441:10:2441:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2441:10:2441:23 | slice(...) : ByteBuf | semmle.label | slice(...) : ByteBuf | +| Test.java:2442:9:2442:11 | out | semmle.label | out | +| Test.java:2447:24:2447:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2447:40:2447:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2448:10:2448:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2448:10:2448:19 | slice(...) : ByteBuf | semmle.label | slice(...) : ByteBuf | +| Test.java:2449:9:2449:11 | out | semmle.label | out | +| Test.java:2454:24:2454:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2454:40:2454:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2455:10:2455:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2455:10:2455:23 | slice(...) : ByteBuf | semmle.label | slice(...) : ByteBuf | +| Test.java:2456:9:2456:11 | out | semmle.label | out | +| Test.java:2461:25:2461:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2461:42:2461:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2462:10:2462:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2462:10:2462:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2463:9:2463:11 | out | semmle.label | out | +| Test.java:2468:25:2468:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2468:42:2468:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2469:10:2469:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2469:10:2469:32 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2470:9:2470:11 | out | semmle.label | out | +| Test.java:2475:25:2475:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2475:42:2475:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2476:10:2476:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2476:10:2476:26 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2477:9:2477:11 | out | semmle.label | out | +| Test.java:2482:17:2482:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2482:26:2482:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2483:10:2483:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2483:10:2483:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2484:9:2484:11 | out | semmle.label | out | +| Test.java:2489:17:2489:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2489:26:2489:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2490:10:2490:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2490:10:2490:32 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2491:9:2491:11 | out | semmle.label | out | +| Test.java:2496:17:2496:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2496:26:2496:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2497:10:2497:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2497:10:2497:26 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2498:9:2498:11 | out | semmle.label | out | +| Test.java:2503:26:2503:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2503:44:2503:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2504:10:2504:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2504:10:2504:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2505:9:2505:11 | out | semmle.label | out | +| Test.java:2510:24:2510:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2510:40:2510:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2511:10:2511:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2511:10:2511:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2512:9:2512:11 | out | semmle.label | out | +| Test.java:2517:24:2517:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2517:40:2517:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2518:10:2518:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2518:10:2518:32 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2519:9:2519:11 | out | semmle.label | out | +| Test.java:2524:24:2524:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2524:40:2524:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2525:10:2525:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2525:10:2525:26 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2526:9:2526:11 | out | semmle.label | out | +| Test.java:2531:17:2531:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2531:26:2531:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2532:10:2532:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2532:10:2532:20 | unwrap(...) : ByteBuf | semmle.label | unwrap(...) : ByteBuf | +| Test.java:2533:9:2533:11 | out | semmle.label | out | +| Test.java:2538:26:2538:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2538:44:2538:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2539:10:2539:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2539:10:2539:20 | unwrap(...) : ByteBuf | semmle.label | unwrap(...) : ByteBuf | +| Test.java:2540:9:2540:11 | out | semmle.label | out | +| Test.java:2545:24:2545:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2545:40:2545:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2546:10:2546:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2546:10:2546:20 | unwrap(...) : ByteBuf | semmle.label | unwrap(...) : ByteBuf | +| Test.java:2547:9:2547:11 | out | semmle.label | out | +| Test.java:2552:25:2552:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2552:42:2552:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2553:10:2553:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2553:10:2553:31 | writeBoolean(...) : AbstractByteBuf | semmle.label | writeBoolean(...) : AbstractByteBuf | +| Test.java:2554:9:2554:11 | out | semmle.label | out | +| Test.java:2559:17:2559:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2559:26:2559:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2560:10:2560:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2560:10:2560:31 | writeBoolean(...) : ByteBuf | semmle.label | writeBoolean(...) : ByteBuf | +| Test.java:2561:9:2561:11 | out | semmle.label | out | +| Test.java:2566:24:2566:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2566:40:2566:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2567:10:2567:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2567:10:2567:31 | writeBoolean(...) : SwappedByteBuf | semmle.label | writeBoolean(...) : SwappedByteBuf | +| Test.java:2568:9:2568:11 | out | semmle.label | out | +| Test.java:2573:26:2573:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2573:44:2573:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2574:10:2574:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2574:10:2574:31 | writeBoolean(...) : CompositeByteBuf | semmle.label | writeBoolean(...) : CompositeByteBuf | +| Test.java:2575:9:2575:11 | out | semmle.label | out | +| Test.java:2580:25:2580:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2580:42:2580:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2581:10:2581:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2581:10:2581:24 | writeByte(...) : AbstractByteBuf | semmle.label | writeByte(...) : AbstractByteBuf | +| Test.java:2582:9:2582:11 | out | semmle.label | out | +| Test.java:2587:17:2587:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2587:26:2587:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2588:10:2588:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2588:10:2588:24 | writeByte(...) : ByteBuf | semmle.label | writeByte(...) : ByteBuf | +| Test.java:2589:9:2589:11 | out | semmle.label | out | +| Test.java:2594:24:2594:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2594:40:2594:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2595:10:2595:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2595:10:2595:24 | writeByte(...) : SwappedByteBuf | semmle.label | writeByte(...) : SwappedByteBuf | +| Test.java:2596:9:2596:11 | out | semmle.label | out | +| Test.java:2601:26:2601:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2601:44:2601:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2602:10:2602:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2602:10:2602:24 | writeByte(...) : CompositeByteBuf | semmle.label | writeByte(...) : CompositeByteBuf | +| Test.java:2603:9:2603:11 | out | semmle.label | out | +| Test.java:2608:13:2608:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2608:18:2608:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2609:4:2609:6 | out [post update] : AbstractByteBuf | semmle.label | out [post update] : AbstractByteBuf | +| Test.java:2609:18:2609:19 | in : Number | semmle.label | in : Number | +| Test.java:2610:9:2610:11 | out | semmle.label | out | +| Test.java:2615:13:2615:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2615:18:2615:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2616:4:2616:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:2616:18:2616:19 | in : Number | semmle.label | in : Number | +| Test.java:2617:9:2617:11 | out | semmle.label | out | +| Test.java:2622:13:2622:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2622:18:2622:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2623:4:2623:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:2623:18:2623:19 | in : Number | semmle.label | in : Number | +| Test.java:2624:9:2624:11 | out | semmle.label | out | +| Test.java:2629:13:2629:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:2629:18:2629:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2630:4:2630:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:2630:18:2630:19 | in : Number | semmle.label | in : Number | +| Test.java:2631:9:2631:11 | out | semmle.label | out | +| Test.java:2636:25:2636:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2636:42:2636:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2637:10:2637:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2637:10:2637:37 | writeBytes(...) : AbstractByteBuf | semmle.label | writeBytes(...) : AbstractByteBuf | +| Test.java:2638:9:2638:11 | out | semmle.label | out | +| Test.java:2643:17:2643:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2643:26:2643:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2644:10:2644:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2644:10:2644:37 | writeBytes(...) : ByteBuf | semmle.label | writeBytes(...) : ByteBuf | +| Test.java:2645:9:2645:11 | out | semmle.label | out | +| Test.java:2650:24:2650:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2650:40:2650:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2651:10:2651:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2651:10:2651:37 | writeBytes(...) : SwappedByteBuf | semmle.label | writeBytes(...) : SwappedByteBuf | +| Test.java:2652:9:2652:11 | out | semmle.label | out | +| Test.java:2657:26:2657:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2657:44:2657:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2658:10:2658:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2658:10:2658:37 | writeBytes(...) : CompositeByteBuf | semmle.label | writeBytes(...) : CompositeByteBuf | +| Test.java:2659:9:2659:11 | out | semmle.label | out | +| Test.java:2664:17:2664:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2664:26:2664:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2665:4:2665:6 | out [post update] : AbstractByteBuf | semmle.label | out [post update] : AbstractByteBuf | +| Test.java:2665:19:2665:20 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2666:9:2666:11 | out | semmle.label | out | +| Test.java:2671:17:2671:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2671:26:2671:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2672:4:2672:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:2672:19:2672:20 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2673:9:2673:11 | out | semmle.label | out | +| Test.java:2678:17:2678:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2678:26:2678:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2679:4:2679:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:2679:19:2679:20 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2680:9:2680:11 | out | semmle.label | out | +| Test.java:2685:17:2685:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2685:26:2685:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2686:4:2686:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:2686:19:2686:20 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2687:9:2687:11 | out | semmle.label | out | +| Test.java:2692:25:2692:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2692:42:2692:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2693:10:2693:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2693:10:2693:40 | writeBytes(...) : AbstractByteBuf | semmle.label | writeBytes(...) : AbstractByteBuf | +| Test.java:2694:9:2694:11 | out | semmle.label | out | +| Test.java:2699:17:2699:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2699:26:2699:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2700:10:2700:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2700:10:2700:40 | writeBytes(...) : ByteBuf | semmle.label | writeBytes(...) : ByteBuf | +| Test.java:2701:9:2701:11 | out | semmle.label | out | +| Test.java:2706:24:2706:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2706:40:2706:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2707:10:2707:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2707:10:2707:40 | writeBytes(...) : SwappedByteBuf | semmle.label | writeBytes(...) : SwappedByteBuf | +| Test.java:2708:9:2708:11 | out | semmle.label | out | +| Test.java:2713:26:2713:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2713:44:2713:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2714:10:2714:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2714:10:2714:40 | writeBytes(...) : CompositeByteBuf | semmle.label | writeBytes(...) : CompositeByteBuf | +| Test.java:2715:9:2715:11 | out | semmle.label | out | +| Test.java:2720:17:2720:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2720:26:2720:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2721:4:2721:6 | out [post update] : AbstractByteBuf | semmle.label | out [post update] : AbstractByteBuf | +| Test.java:2721:19:2721:20 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2722:9:2722:11 | out | semmle.label | out | +| Test.java:2727:17:2727:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2727:26:2727:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2728:4:2728:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:2728:19:2728:20 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2729:9:2729:11 | out | semmle.label | out | +| Test.java:2734:17:2734:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2734:26:2734:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2735:4:2735:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:2735:19:2735:20 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2736:9:2736:11 | out | semmle.label | out | +| Test.java:2741:17:2741:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2741:26:2741:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2742:4:2742:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:2742:19:2742:20 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2743:9:2743:11 | out | semmle.label | out | +| Test.java:2748:25:2748:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2748:42:2748:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2749:10:2749:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2749:10:2749:43 | writeBytes(...) : AbstractByteBuf | semmle.label | writeBytes(...) : AbstractByteBuf | +| Test.java:2750:9:2750:11 | out | semmle.label | out | +| Test.java:2755:17:2755:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2755:26:2755:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2756:10:2756:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2756:10:2756:43 | writeBytes(...) : ByteBuf | semmle.label | writeBytes(...) : ByteBuf | +| Test.java:2757:9:2757:11 | out | semmle.label | out | +| Test.java:2762:24:2762:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2762:40:2762:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2763:10:2763:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2763:10:2763:43 | writeBytes(...) : SwappedByteBuf | semmle.label | writeBytes(...) : SwappedByteBuf | +| Test.java:2764:9:2764:11 | out | semmle.label | out | +| Test.java:2769:26:2769:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2769:44:2769:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2770:10:2770:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2770:10:2770:43 | writeBytes(...) : CompositeByteBuf | semmle.label | writeBytes(...) : CompositeByteBuf | +| Test.java:2771:9:2771:11 | out | semmle.label | out | +| Test.java:2776:17:2776:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2776:26:2776:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2777:4:2777:6 | out [post update] : AbstractByteBuf | semmle.label | out [post update] : AbstractByteBuf | +| Test.java:2777:19:2777:20 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2778:9:2778:11 | out | semmle.label | out | +| Test.java:2783:17:2783:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2783:26:2783:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2784:4:2784:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:2784:19:2784:20 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2785:9:2785:11 | out | semmle.label | out | +| Test.java:2790:17:2790:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2790:26:2790:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2791:4:2791:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:2791:19:2791:20 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2792:9:2792:11 | out | semmle.label | out | +| Test.java:2797:17:2797:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2797:26:2797:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2798:4:2798:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:2798:19:2798:20 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2799:9:2799:11 | out | semmle.label | out | +| Test.java:2804:25:2804:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2804:42:2804:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2805:10:2805:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2805:10:2805:40 | writeBytes(...) : AbstractByteBuf | semmle.label | writeBytes(...) : AbstractByteBuf | +| Test.java:2806:9:2806:11 | out | semmle.label | out | +| Test.java:2811:17:2811:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2811:26:2811:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2812:10:2812:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2812:10:2812:40 | writeBytes(...) : ByteBuf | semmle.label | writeBytes(...) : ByteBuf | +| Test.java:2813:9:2813:11 | out | semmle.label | out | +| Test.java:2818:24:2818:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2818:40:2818:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2819:10:2819:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2819:10:2819:40 | writeBytes(...) : SwappedByteBuf | semmle.label | writeBytes(...) : SwappedByteBuf | +| Test.java:2820:9:2820:11 | out | semmle.label | out | +| Test.java:2825:26:2825:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2825:44:2825:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2826:10:2826:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2826:10:2826:40 | writeBytes(...) : CompositeByteBuf | semmle.label | writeBytes(...) : CompositeByteBuf | +| Test.java:2827:9:2827:11 | out | semmle.label | out | +| Test.java:2832:20:2832:39 | (...)... : ByteBuffer | semmle.label | (...)... : ByteBuffer | +| Test.java:2832:32:2832:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2833:4:2833:6 | out [post update] : AbstractByteBuf | semmle.label | out [post update] : AbstractByteBuf | +| Test.java:2833:19:2833:20 | in : ByteBuffer | semmle.label | in : ByteBuffer | +| Test.java:2834:9:2834:11 | out | semmle.label | out | +| Test.java:2839:20:2839:39 | (...)... : ByteBuffer | semmle.label | (...)... : ByteBuffer | +| Test.java:2839:32:2839:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2840:4:2840:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:2840:19:2840:20 | in : ByteBuffer | semmle.label | in : ByteBuffer | +| Test.java:2841:9:2841:11 | out | semmle.label | out | +| Test.java:2846:20:2846:39 | (...)... : ByteBuffer | semmle.label | (...)... : ByteBuffer | +| Test.java:2846:32:2846:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2847:4:2847:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:2847:19:2847:20 | in : ByteBuffer | semmle.label | in : ByteBuffer | +| Test.java:2848:9:2848:11 | out | semmle.label | out | +| Test.java:2853:20:2853:39 | (...)... : ByteBuffer | semmle.label | (...)... : ByteBuffer | +| Test.java:2853:32:2853:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2854:4:2854:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:2854:19:2854:20 | in : ByteBuffer | semmle.label | in : ByteBuffer | +| Test.java:2855:9:2855:11 | out | semmle.label | out | +| Test.java:2860:21:2860:41 | (...)... : FileChannel | semmle.label | (...)... : FileChannel | +| Test.java:2860:34:2860:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2861:4:2861:6 | out [post update] : AbstractByteBuf | semmle.label | out [post update] : AbstractByteBuf | +| Test.java:2861:19:2861:20 | in : FileChannel | semmle.label | in : FileChannel | +| Test.java:2862:9:2862:11 | out | semmle.label | out | +| Test.java:2867:21:2867:41 | (...)... : FileChannel | semmle.label | (...)... : FileChannel | +| Test.java:2867:34:2867:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2868:4:2868:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:2868:19:2868:20 | in : FileChannel | semmle.label | in : FileChannel | +| Test.java:2869:9:2869:11 | out | semmle.label | out | +| Test.java:2874:21:2874:41 | (...)... : FileChannel | semmle.label | (...)... : FileChannel | +| Test.java:2874:34:2874:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2875:4:2875:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:2875:19:2875:20 | in : FileChannel | semmle.label | in : FileChannel | +| Test.java:2876:9:2876:11 | out | semmle.label | out | +| Test.java:2881:21:2881:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:2881:34:2881:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2882:4:2882:6 | out [post update] : AbstractByteBuf | semmle.label | out [post update] : AbstractByteBuf | +| Test.java:2882:19:2882:20 | in : InputStream | semmle.label | in : InputStream | +| Test.java:2883:9:2883:11 | out | semmle.label | out | +| Test.java:2888:21:2888:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:2888:34:2888:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2889:4:2889:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:2889:19:2889:20 | in : InputStream | semmle.label | in : InputStream | +| Test.java:2890:9:2890:11 | out | semmle.label | out | +| Test.java:2895:21:2895:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:2895:34:2895:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2896:4:2896:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:2896:19:2896:20 | in : InputStream | semmle.label | in : InputStream | +| Test.java:2897:9:2897:11 | out | semmle.label | out | +| Test.java:2902:31:2902:61 | (...)... : ScatteringByteChannel | semmle.label | (...)... : ScatteringByteChannel | +| Test.java:2902:54:2902:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2903:4:2903:6 | out [post update] : AbstractByteBuf | semmle.label | out [post update] : AbstractByteBuf | +| Test.java:2903:19:2903:20 | in : ScatteringByteChannel | semmle.label | in : ScatteringByteChannel | +| Test.java:2904:9:2904:11 | out | semmle.label | out | +| Test.java:2909:31:2909:61 | (...)... : ScatteringByteChannel | semmle.label | (...)... : ScatteringByteChannel | +| Test.java:2909:54:2909:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2910:4:2910:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:2910:19:2910:20 | in : ScatteringByteChannel | semmle.label | in : ScatteringByteChannel | +| Test.java:2911:9:2911:11 | out | semmle.label | out | +| Test.java:2916:31:2916:61 | (...)... : ScatteringByteChannel | semmle.label | (...)... : ScatteringByteChannel | +| Test.java:2916:54:2916:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2917:4:2917:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:2917:19:2917:20 | in : ScatteringByteChannel | semmle.label | in : ScatteringByteChannel | +| Test.java:2918:9:2918:11 | out | semmle.label | out | +| Test.java:2923:25:2923:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2923:42:2923:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2924:10:2924:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2924:10:2924:36 | writeBytes(...) : AbstractByteBuf | semmle.label | writeBytes(...) : AbstractByteBuf | +| Test.java:2925:9:2925:11 | out | semmle.label | out | +| Test.java:2930:17:2930:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2930:26:2930:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2931:10:2931:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2931:10:2931:36 | writeBytes(...) : ByteBuf | semmle.label | writeBytes(...) : ByteBuf | +| Test.java:2932:9:2932:11 | out | semmle.label | out | +| Test.java:2937:24:2937:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2937:40:2937:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2938:10:2938:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2938:10:2938:36 | writeBytes(...) : SwappedByteBuf | semmle.label | writeBytes(...) : SwappedByteBuf | +| Test.java:2939:9:2939:11 | out | semmle.label | out | +| Test.java:2944:26:2944:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:2944:44:2944:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2945:10:2945:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:2945:10:2945:36 | writeBytes(...) : CompositeByteBuf | semmle.label | writeBytes(...) : CompositeByteBuf | +| Test.java:2946:9:2946:11 | out | semmle.label | out | +| Test.java:2951:16:2951:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:2951:24:2951:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2952:4:2952:6 | out [post update] : AbstractByteBuf | semmle.label | out [post update] : AbstractByteBuf | +| Test.java:2952:19:2952:20 | in : byte[] | semmle.label | in : byte[] | +| Test.java:2953:9:2953:11 | out | semmle.label | out | +| Test.java:2958:16:2958:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:2958:24:2958:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2959:4:2959:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:2959:19:2959:20 | in : byte[] | semmle.label | in : byte[] | +| Test.java:2960:9:2960:11 | out | semmle.label | out | +| Test.java:2965:16:2965:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:2965:24:2965:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2966:4:2966:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:2966:19:2966:20 | in : byte[] | semmle.label | in : byte[] | +| Test.java:2967:9:2967:11 | out | semmle.label | out | +| Test.java:2972:16:2972:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:2972:24:2972:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2973:4:2973:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:2973:19:2973:20 | in : byte[] | semmle.label | in : byte[] | +| Test.java:2974:9:2974:11 | out | semmle.label | out | +| Test.java:2979:25:2979:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:2979:42:2979:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2980:10:2980:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:2980:10:2980:42 | writeBytes(...) : AbstractByteBuf | semmle.label | writeBytes(...) : AbstractByteBuf | +| Test.java:2981:9:2981:11 | out | semmle.label | out | +| Test.java:2986:17:2986:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:2986:26:2986:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2987:10:2987:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:2987:10:2987:42 | writeBytes(...) : ByteBuf | semmle.label | writeBytes(...) : ByteBuf | +| Test.java:2988:9:2988:11 | out | semmle.label | out | +| Test.java:2993:24:2993:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:2993:40:2993:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2994:10:2994:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:2994:10:2994:42 | writeBytes(...) : SwappedByteBuf | semmle.label | writeBytes(...) : SwappedByteBuf | +| Test.java:2995:9:2995:11 | out | semmle.label | out | +| Test.java:3000:26:3000:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:3000:44:3000:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3001:10:3001:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:3001:10:3001:42 | writeBytes(...) : CompositeByteBuf | semmle.label | writeBytes(...) : CompositeByteBuf | +| Test.java:3002:9:3002:11 | out | semmle.label | out | +| Test.java:3007:16:3007:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:3007:24:3007:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3008:4:3008:6 | out [post update] : AbstractByteBuf | semmle.label | out [post update] : AbstractByteBuf | +| Test.java:3008:19:3008:20 | in : byte[] | semmle.label | in : byte[] | +| Test.java:3009:9:3009:11 | out | semmle.label | out | +| Test.java:3014:16:3014:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:3014:24:3014:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3015:4:3015:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:3015:19:3015:20 | in : byte[] | semmle.label | in : byte[] | +| Test.java:3016:9:3016:11 | out | semmle.label | out | +| Test.java:3021:16:3021:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:3021:24:3021:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3022:4:3022:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:3022:19:3022:20 | in : byte[] | semmle.label | in : byte[] | +| Test.java:3023:9:3023:11 | out | semmle.label | out | +| Test.java:3028:16:3028:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:3028:24:3028:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3029:4:3029:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:3029:19:3029:20 | in : byte[] | semmle.label | in : byte[] | +| Test.java:3030:9:3030:11 | out | semmle.label | out | +| Test.java:3035:25:3035:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:3035:42:3035:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3036:10:3036:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:3036:10:3036:24 | writeChar(...) : AbstractByteBuf | semmle.label | writeChar(...) : AbstractByteBuf | +| Test.java:3037:9:3037:11 | out | semmle.label | out | +| Test.java:3042:17:3042:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3042:26:3042:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3043:10:3043:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3043:10:3043:24 | writeChar(...) : ByteBuf | semmle.label | writeChar(...) : ByteBuf | +| Test.java:3044:9:3044:11 | out | semmle.label | out | +| Test.java:3049:24:3049:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:3049:40:3049:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3050:10:3050:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:3050:10:3050:24 | writeChar(...) : SwappedByteBuf | semmle.label | writeChar(...) : SwappedByteBuf | +| Test.java:3051:9:3051:11 | out | semmle.label | out | +| Test.java:3056:26:3056:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:3056:44:3056:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3057:10:3057:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:3057:10:3057:24 | writeChar(...) : CompositeByteBuf | semmle.label | writeChar(...) : CompositeByteBuf | +| Test.java:3058:9:3058:11 | out | semmle.label | out | +| Test.java:3063:13:3063:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:3063:18:3063:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3064:4:3064:6 | out [post update] : AbstractByteBuf | semmle.label | out [post update] : AbstractByteBuf | +| Test.java:3064:18:3064:19 | in : Number | semmle.label | in : Number | +| Test.java:3065:9:3065:11 | out | semmle.label | out | +| Test.java:3070:13:3070:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:3070:18:3070:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3071:4:3071:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:3071:18:3071:19 | in : Number | semmle.label | in : Number | +| Test.java:3072:9:3072:11 | out | semmle.label | out | +| Test.java:3077:13:3077:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:3077:18:3077:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3078:4:3078:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:3078:18:3078:19 | in : Number | semmle.label | in : Number | +| Test.java:3079:9:3079:11 | out | semmle.label | out | +| Test.java:3084:13:3084:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:3084:18:3084:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3085:4:3085:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:3085:18:3085:19 | in : Number | semmle.label | in : Number | +| Test.java:3086:9:3086:11 | out | semmle.label | out | +| Test.java:3091:22:3091:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:3091:36:3091:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3092:4:3092:6 | out [post update] : AbstractByteBuf | semmle.label | out [post update] : AbstractByteBuf | +| Test.java:3092:26:3092:27 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:3093:9:3093:11 | out | semmle.label | out | +| Test.java:3098:22:3098:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:3098:36:3098:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3099:4:3099:6 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:3099:26:3099:27 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:3100:9:3100:11 | out | semmle.label | out | +| Test.java:3105:22:3105:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:3105:36:3105:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3106:4:3106:6 | out [post update] : SwappedByteBuf | semmle.label | out [post update] : SwappedByteBuf | +| Test.java:3106:26:3106:27 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:3107:9:3107:11 | out | semmle.label | out | +| Test.java:3112:25:3112:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:3112:42:3112:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3113:10:3113:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:3113:10:3113:28 | writeDouble(...) : AbstractByteBuf | semmle.label | writeDouble(...) : AbstractByteBuf | +| Test.java:3114:9:3114:11 | out | semmle.label | out | +| Test.java:3119:17:3119:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3119:26:3119:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3120:10:3120:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3120:10:3120:28 | writeDouble(...) : ByteBuf | semmle.label | writeDouble(...) : ByteBuf | +| Test.java:3121:9:3121:11 | out | semmle.label | out | +| Test.java:3126:24:3126:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:3126:40:3126:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3127:10:3127:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:3127:10:3127:28 | writeDouble(...) : SwappedByteBuf | semmle.label | writeDouble(...) : SwappedByteBuf | +| Test.java:3128:9:3128:11 | out | semmle.label | out | +| Test.java:3133:26:3133:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:3133:44:3133:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3134:10:3134:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:3134:10:3134:28 | writeDouble(...) : CompositeByteBuf | semmle.label | writeDouble(...) : CompositeByteBuf | +| Test.java:3135:9:3135:11 | out | semmle.label | out | +| Test.java:3140:17:3140:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3140:26:3140:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3141:10:3141:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3141:10:3141:30 | writeDoubleLE(...) : ByteBuf | semmle.label | writeDoubleLE(...) : ByteBuf | +| Test.java:3142:9:3142:11 | out | semmle.label | out | +| Test.java:3147:25:3147:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:3147:42:3147:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3148:10:3148:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:3148:10:3148:28 | writeFloat(...) : AbstractByteBuf | semmle.label | writeFloat(...) : AbstractByteBuf | +| Test.java:3149:9:3149:11 | out | semmle.label | out | +| Test.java:3154:17:3154:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3154:26:3154:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3155:10:3155:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3155:10:3155:28 | writeFloat(...) : ByteBuf | semmle.label | writeFloat(...) : ByteBuf | +| Test.java:3156:9:3156:11 | out | semmle.label | out | +| Test.java:3161:24:3161:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:3161:40:3161:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3162:10:3162:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:3162:10:3162:28 | writeFloat(...) : SwappedByteBuf | semmle.label | writeFloat(...) : SwappedByteBuf | +| Test.java:3163:9:3163:11 | out | semmle.label | out | +| Test.java:3168:26:3168:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:3168:44:3168:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3169:10:3169:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:3169:10:3169:28 | writeFloat(...) : CompositeByteBuf | semmle.label | writeFloat(...) : CompositeByteBuf | +| Test.java:3170:9:3170:11 | out | semmle.label | out | +| Test.java:3175:17:3175:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3175:26:3175:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3176:10:3176:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3176:10:3176:30 | writeFloatLE(...) : ByteBuf | semmle.label | writeFloatLE(...) : ByteBuf | +| Test.java:3177:9:3177:11 | out | semmle.label | out | +| Test.java:3182:25:3182:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:3182:42:3182:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3183:10:3183:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:3183:10:3183:23 | writeInt(...) : AbstractByteBuf | semmle.label | writeInt(...) : AbstractByteBuf | +| Test.java:3184:9:3184:11 | out | semmle.label | out | +| Test.java:3189:17:3189:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3189:26:3189:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3190:10:3190:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3190:10:3190:23 | writeInt(...) : ByteBuf | semmle.label | writeInt(...) : ByteBuf | +| Test.java:3191:9:3191:11 | out | semmle.label | out | +| Test.java:3196:24:3196:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:3196:40:3196:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3197:10:3197:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:3197:10:3197:23 | writeInt(...) : SwappedByteBuf | semmle.label | writeInt(...) : SwappedByteBuf | +| Test.java:3198:9:3198:11 | out | semmle.label | out | +| Test.java:3203:26:3203:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:3203:44:3203:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3204:10:3204:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:3204:10:3204:23 | writeInt(...) : CompositeByteBuf | semmle.label | writeInt(...) : CompositeByteBuf | +| Test.java:3205:9:3205:11 | out | semmle.label | out | +| Test.java:3210:25:3210:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:3210:42:3210:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3211:10:3211:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:3211:10:3211:25 | writeIntLE(...) : AbstractByteBuf | semmle.label | writeIntLE(...) : AbstractByteBuf | +| Test.java:3212:9:3212:11 | out | semmle.label | out | +| Test.java:3217:17:3217:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3217:26:3217:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3218:10:3218:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3218:10:3218:25 | writeIntLE(...) : ByteBuf | semmle.label | writeIntLE(...) : ByteBuf | +| Test.java:3219:9:3219:11 | out | semmle.label | out | +| Test.java:3224:24:3224:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:3224:40:3224:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3225:10:3225:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:3225:10:3225:25 | writeIntLE(...) : SwappedByteBuf | semmle.label | writeIntLE(...) : SwappedByteBuf | +| Test.java:3226:9:3226:11 | out | semmle.label | out | +| Test.java:3231:25:3231:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:3231:42:3231:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3232:10:3232:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:3232:10:3232:25 | writeLong(...) : AbstractByteBuf | semmle.label | writeLong(...) : AbstractByteBuf | +| Test.java:3233:9:3233:11 | out | semmle.label | out | +| Test.java:3238:17:3238:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3238:26:3238:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3239:10:3239:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3239:10:3239:25 | writeLong(...) : ByteBuf | semmle.label | writeLong(...) : ByteBuf | +| Test.java:3240:9:3240:11 | out | semmle.label | out | +| Test.java:3245:24:3245:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:3245:40:3245:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3246:10:3246:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:3246:10:3246:25 | writeLong(...) : SwappedByteBuf | semmle.label | writeLong(...) : SwappedByteBuf | +| Test.java:3247:9:3247:11 | out | semmle.label | out | +| Test.java:3252:26:3252:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:3252:44:3252:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3253:10:3253:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:3253:10:3253:25 | writeLong(...) : CompositeByteBuf | semmle.label | writeLong(...) : CompositeByteBuf | +| Test.java:3254:9:3254:11 | out | semmle.label | out | +| Test.java:3259:25:3259:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:3259:42:3259:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3260:10:3260:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:3260:10:3260:27 | writeLongLE(...) : AbstractByteBuf | semmle.label | writeLongLE(...) : AbstractByteBuf | +| Test.java:3261:9:3261:11 | out | semmle.label | out | +| Test.java:3266:17:3266:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3266:26:3266:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3267:10:3267:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3267:10:3267:27 | writeLongLE(...) : ByteBuf | semmle.label | writeLongLE(...) : ByteBuf | +| Test.java:3268:9:3268:11 | out | semmle.label | out | +| Test.java:3273:24:3273:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:3273:40:3273:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3274:10:3274:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:3274:10:3274:27 | writeLongLE(...) : SwappedByteBuf | semmle.label | writeLongLE(...) : SwappedByteBuf | +| Test.java:3275:9:3275:11 | out | semmle.label | out | +| Test.java:3280:25:3280:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:3280:42:3280:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3281:10:3281:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:3281:10:3281:26 | writeMedium(...) : AbstractByteBuf | semmle.label | writeMedium(...) : AbstractByteBuf | +| Test.java:3282:9:3282:11 | out | semmle.label | out | +| Test.java:3287:17:3287:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3287:26:3287:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3288:10:3288:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3288:10:3288:26 | writeMedium(...) : ByteBuf | semmle.label | writeMedium(...) : ByteBuf | +| Test.java:3289:9:3289:11 | out | semmle.label | out | +| Test.java:3294:24:3294:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:3294:40:3294:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3295:10:3295:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:3295:10:3295:26 | writeMedium(...) : SwappedByteBuf | semmle.label | writeMedium(...) : SwappedByteBuf | +| Test.java:3296:9:3296:11 | out | semmle.label | out | +| Test.java:3301:26:3301:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:3301:44:3301:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3302:10:3302:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:3302:10:3302:26 | writeMedium(...) : CompositeByteBuf | semmle.label | writeMedium(...) : CompositeByteBuf | +| Test.java:3303:9:3303:11 | out | semmle.label | out | +| Test.java:3308:25:3308:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:3308:42:3308:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3309:10:3309:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:3309:10:3309:28 | writeMediumLE(...) : AbstractByteBuf | semmle.label | writeMediumLE(...) : AbstractByteBuf | +| Test.java:3310:9:3310:11 | out | semmle.label | out | +| Test.java:3315:17:3315:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3315:26:3315:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3316:10:3316:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3316:10:3316:28 | writeMediumLE(...) : ByteBuf | semmle.label | writeMediumLE(...) : ByteBuf | +| Test.java:3317:9:3317:11 | out | semmle.label | out | +| Test.java:3322:24:3322:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:3322:40:3322:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3323:10:3323:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:3323:10:3323:28 | writeMediumLE(...) : SwappedByteBuf | semmle.label | writeMediumLE(...) : SwappedByteBuf | +| Test.java:3324:9:3324:11 | out | semmle.label | out | +| Test.java:3329:25:3329:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:3329:42:3329:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3330:10:3330:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:3330:10:3330:25 | writeShort(...) : AbstractByteBuf | semmle.label | writeShort(...) : AbstractByteBuf | +| Test.java:3331:9:3331:11 | out | semmle.label | out | +| Test.java:3336:17:3336:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3336:26:3336:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3337:10:3337:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3337:10:3337:25 | writeShort(...) : ByteBuf | semmle.label | writeShort(...) : ByteBuf | +| Test.java:3338:9:3338:11 | out | semmle.label | out | +| Test.java:3343:24:3343:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:3343:40:3343:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3344:10:3344:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:3344:10:3344:25 | writeShort(...) : SwappedByteBuf | semmle.label | writeShort(...) : SwappedByteBuf | +| Test.java:3345:9:3345:11 | out | semmle.label | out | +| Test.java:3350:26:3350:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:3350:44:3350:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3351:10:3351:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:3351:10:3351:25 | writeShort(...) : CompositeByteBuf | semmle.label | writeShort(...) : CompositeByteBuf | +| Test.java:3352:9:3352:11 | out | semmle.label | out | +| Test.java:3357:25:3357:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:3357:42:3357:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3358:10:3358:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:3358:10:3358:27 | writeShortLE(...) : AbstractByteBuf | semmle.label | writeShortLE(...) : AbstractByteBuf | +| Test.java:3359:9:3359:11 | out | semmle.label | out | +| Test.java:3364:17:3364:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3364:26:3364:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3365:10:3365:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3365:10:3365:27 | writeShortLE(...) : ByteBuf | semmle.label | writeShortLE(...) : ByteBuf | +| Test.java:3366:9:3366:11 | out | semmle.label | out | +| Test.java:3371:24:3371:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:3371:40:3371:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3372:10:3372:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:3372:10:3372:27 | writeShortLE(...) : SwappedByteBuf | semmle.label | writeShortLE(...) : SwappedByteBuf | +| Test.java:3373:9:3373:11 | out | semmle.label | out | +| Test.java:3378:25:3378:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:3378:42:3378:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3379:10:3379:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:3379:10:3379:24 | writeZero(...) : AbstractByteBuf | semmle.label | writeZero(...) : AbstractByteBuf | +| Test.java:3380:9:3380:11 | out | semmle.label | out | +| Test.java:3385:17:3385:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3385:26:3385:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3386:10:3386:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3386:10:3386:24 | writeZero(...) : ByteBuf | semmle.label | writeZero(...) : ByteBuf | +| Test.java:3387:9:3387:11 | out | semmle.label | out | +| Test.java:3392:24:3392:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:3392:40:3392:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3393:10:3393:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:3393:10:3393:24 | writeZero(...) : SwappedByteBuf | semmle.label | writeZero(...) : SwappedByteBuf | +| Test.java:3394:9:3394:11 | out | semmle.label | out | +| Test.java:3399:26:3399:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:3399:44:3399:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3400:10:3400:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:3400:10:3400:24 | writeZero(...) : CompositeByteBuf | semmle.label | writeZero(...) : CompositeByteBuf | +| Test.java:3401:9:3401:11 | out | semmle.label | out | +| Test.java:3406:25:3406:49 | (...)... : AbstractByteBuf | semmle.label | (...)... : AbstractByteBuf | +| Test.java:3406:42:3406:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3407:10:3407:11 | in : AbstractByteBuf | semmle.label | in : AbstractByteBuf | +| Test.java:3407:10:3407:26 | writerIndex(...) : AbstractByteBuf | semmle.label | writerIndex(...) : AbstractByteBuf | +| Test.java:3408:9:3408:11 | out | semmle.label | out | +| Test.java:3413:17:3413:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3413:26:3413:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3414:10:3414:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3414:10:3414:26 | writerIndex(...) : ByteBuf | semmle.label | writerIndex(...) : ByteBuf | +| Test.java:3415:9:3415:11 | out | semmle.label | out | +| Test.java:3420:24:3420:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:3420:40:3420:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3421:10:3421:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:3421:10:3421:26 | writerIndex(...) : SwappedByteBuf | semmle.label | writerIndex(...) : SwappedByteBuf | +| Test.java:3422:9:3422:11 | out | semmle.label | out | +| Test.java:3427:26:3427:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:3427:44:3427:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3428:10:3428:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:3428:10:3428:26 | writerIndex(...) : CompositeByteBuf | semmle.label | writerIndex(...) : CompositeByteBuf | +| Test.java:3429:9:3429:11 | out | semmle.label | out | +| Test.java:3434:17:3434:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3434:26:3434:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3435:10:3435:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3435:10:3435:23 | asByteBuf(...) : ByteBuf | semmle.label | asByteBuf(...) : ByteBuf | +| Test.java:3436:9:3436:11 | out | semmle.label | out | +| Test.java:3441:28:3441:55 | (...)... : ByteBufConvertible | semmle.label | (...)... : ByteBufConvertible | +| Test.java:3441:48:3441:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3442:10:3442:11 | in : ByteBufConvertible | semmle.label | in : ByteBufConvertible | +| Test.java:3442:10:3442:23 | asByteBuf(...) : ByteBuf | semmle.label | asByteBuf(...) : ByteBuf | +| Test.java:3443:9:3443:11 | out | semmle.label | out | +| Test.java:3448:23:3448:45 | (...)... : ByteBufHolder | semmle.label | (...)... : ByteBufHolder | +| Test.java:3448:38:3448:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3449:10:3449:11 | in : ByteBufHolder | semmle.label | in : ByteBufHolder | +| Test.java:3449:10:3449:21 | content(...) : ByteBuf | semmle.label | content(...) : ByteBuf | +| Test.java:3450:9:3450:11 | out | semmle.label | out | +| Test.java:3455:30:3455:59 | (...)... : DefaultByteBufHolder | semmle.label | (...)... : DefaultByteBufHolder | +| Test.java:3455:52:3455:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3456:10:3456:11 | in : DefaultByteBufHolder | semmle.label | in : DefaultByteBufHolder | +| Test.java:3456:10:3456:21 | content(...) : ByteBuf | semmle.label | content(...) : ByteBuf | +| Test.java:3457:9:3457:11 | out | semmle.label | out | +| Test.java:3462:19:3462:37 | (...)... : Attribute | semmle.label | (...)... : Attribute | +| Test.java:3462:30:3462:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3463:10:3463:11 | in : Attribute | semmle.label | in : Attribute | +| Test.java:3463:10:3463:18 | copy(...) : Attribute | semmle.label | copy(...) : Attribute | +| Test.java:3464:9:3464:11 | out | semmle.label | out | +| Test.java:3469:30:3469:59 | (...)... : BinaryWebSocketFrame | semmle.label | (...)... : BinaryWebSocketFrame | +| Test.java:3469:52:3469:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3470:10:3470:11 | in : BinaryWebSocketFrame | semmle.label | in : BinaryWebSocketFrame | +| Test.java:3470:10:3470:18 | copy(...) : BinaryWebSocketFrame | semmle.label | copy(...) : BinaryWebSocketFrame | +| Test.java:3471:9:3471:11 | out | semmle.label | out | +| Test.java:3476:23:3476:45 | (...)... : ByteBufHolder | semmle.label | (...)... : ByteBufHolder | +| Test.java:3476:38:3476:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3477:10:3477:11 | in : ByteBufHolder | semmle.label | in : ByteBufHolder | +| Test.java:3477:10:3477:18 | copy(...) : ByteBufHolder | semmle.label | copy(...) : ByteBufHolder | +| Test.java:3478:9:3478:11 | out | semmle.label | out | +| Test.java:3483:30:3483:59 | (...)... : DefaultByteBufHolder | semmle.label | (...)... : DefaultByteBufHolder | +| Test.java:3483:52:3483:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3484:10:3484:11 | in : DefaultByteBufHolder | semmle.label | in : DefaultByteBufHolder | +| Test.java:3484:10:3484:18 | copy(...) : ByteBufHolder | semmle.label | copy(...) : ByteBufHolder | +| Test.java:3485:9:3485:11 | out | semmle.label | out | +| Test.java:3490:29:3490:57 | (...)... : CloseWebSocketFrame | semmle.label | (...)... : CloseWebSocketFrame | +| Test.java:3490:50:3490:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3491:10:3491:11 | in : CloseWebSocketFrame | semmle.label | in : CloseWebSocketFrame | +| Test.java:3491:10:3491:18 | copy(...) : CloseWebSocketFrame | semmle.label | copy(...) : CloseWebSocketFrame | +| Test.java:3492:9:3492:11 | out | semmle.label | out | +| Test.java:3497:36:3497:71 | (...)... : ContinuationWebSocketFrame | semmle.label | (...)... : ContinuationWebSocketFrame | +| Test.java:3497:64:3497:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3498:10:3498:11 | in : ContinuationWebSocketFrame | semmle.label | in : ContinuationWebSocketFrame | +| Test.java:3498:10:3498:18 | copy(...) : ContinuationWebSocketFrame | semmle.label | copy(...) : ContinuationWebSocketFrame | +| Test.java:3499:9:3499:11 | out | semmle.label | out | +| Test.java:3504:20:3504:39 | (...)... : FileUpload | semmle.label | (...)... : FileUpload | +| Test.java:3504:32:3504:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3505:10:3505:11 | in : FileUpload | semmle.label | in : FileUpload | +| Test.java:3505:10:3505:18 | copy(...) : FileUpload | semmle.label | copy(...) : FileUpload | +| Test.java:3506:9:3506:11 | out | semmle.label | out | +| Test.java:3511:25:3511:49 | (...)... : FullHttpMessage | semmle.label | (...)... : FullHttpMessage | +| Test.java:3511:42:3511:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3512:10:3512:11 | in : FullHttpMessage | semmle.label | in : FullHttpMessage | +| Test.java:3512:10:3512:18 | copy(...) : FullHttpMessage | semmle.label | copy(...) : FullHttpMessage | +| Test.java:3513:9:3513:11 | out | semmle.label | out | +| Test.java:3518:25:3518:49 | (...)... : FullHttpRequest | semmle.label | (...)... : FullHttpRequest | +| Test.java:3518:42:3518:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3519:10:3519:11 | in : FullHttpRequest | semmle.label | in : FullHttpRequest | +| Test.java:3519:10:3519:18 | copy(...) : FullHttpRequest | semmle.label | copy(...) : FullHttpRequest | +| Test.java:3520:9:3520:11 | out | semmle.label | out | +| Test.java:3525:26:3525:51 | (...)... : FullHttpResponse | semmle.label | (...)... : FullHttpResponse | +| Test.java:3525:44:3525:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3526:10:3526:11 | in : FullHttpResponse | semmle.label | in : FullHttpResponse | +| Test.java:3526:10:3526:18 | copy(...) : FullHttpResponse | semmle.label | copy(...) : FullHttpResponse | +| Test.java:3527:9:3527:11 | out | semmle.label | out | +| Test.java:3532:21:3532:41 | (...)... : HttpContent | semmle.label | (...)... : HttpContent | +| Test.java:3532:34:3532:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3533:10:3533:11 | in : HttpContent | semmle.label | in : HttpContent | +| Test.java:3533:10:3533:18 | copy(...) : HttpContent | semmle.label | copy(...) : HttpContent | +| Test.java:3534:9:3534:11 | out | semmle.label | out | +| Test.java:3539:18:3539:35 | (...)... : HttpData | semmle.label | (...)... : HttpData | +| Test.java:3539:28:3539:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3540:10:3540:11 | in : HttpData | semmle.label | in : HttpData | +| Test.java:3540:10:3540:18 | copy(...) : HttpData | semmle.label | copy(...) : HttpData | +| Test.java:3541:9:3541:11 | out | semmle.label | out | +| Test.java:3546:25:3546:49 | (...)... : LastHttpContent | semmle.label | (...)... : LastHttpContent | +| Test.java:3546:42:3546:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3547:10:3547:11 | in : LastHttpContent | semmle.label | in : LastHttpContent | +| Test.java:3547:10:3547:18 | copy(...) : LastHttpContent | semmle.label | copy(...) : LastHttpContent | +| Test.java:3548:9:3548:11 | out | semmle.label | out | +| Test.java:3553:28:3553:55 | (...)... : PingWebSocketFrame | semmle.label | (...)... : PingWebSocketFrame | +| Test.java:3553:48:3553:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3554:10:3554:11 | in : PingWebSocketFrame | semmle.label | in : PingWebSocketFrame | +| Test.java:3554:10:3554:18 | copy(...) : PingWebSocketFrame | semmle.label | copy(...) : PingWebSocketFrame | +| Test.java:3555:9:3555:11 | out | semmle.label | out | +| Test.java:3560:28:3560:55 | (...)... : PongWebSocketFrame | semmle.label | (...)... : PongWebSocketFrame | +| Test.java:3560:48:3560:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3561:10:3561:11 | in : PongWebSocketFrame | semmle.label | in : PongWebSocketFrame | +| Test.java:3561:10:3561:18 | copy(...) : PongWebSocketFrame | semmle.label | copy(...) : PongWebSocketFrame | +| Test.java:3562:9:3562:11 | out | semmle.label | out | +| Test.java:3567:28:3567:55 | (...)... : TextWebSocketFrame | semmle.label | (...)... : TextWebSocketFrame | +| Test.java:3567:48:3567:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3568:10:3568:11 | in : TextWebSocketFrame | semmle.label | in : TextWebSocketFrame | +| Test.java:3568:10:3568:18 | copy(...) : TextWebSocketFrame | semmle.label | copy(...) : TextWebSocketFrame | +| Test.java:3569:9:3569:11 | out | semmle.label | out | +| Test.java:3574:24:3574:47 | (...)... : WebSocketFrame | semmle.label | (...)... : WebSocketFrame | +| Test.java:3574:40:3574:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3575:10:3575:11 | in : WebSocketFrame | semmle.label | in : WebSocketFrame | +| Test.java:3575:10:3575:18 | copy(...) : WebSocketFrame | semmle.label | copy(...) : WebSocketFrame | +| Test.java:3576:9:3576:11 | out | semmle.label | out | +| Test.java:3581:19:3581:37 | (...)... : Attribute | semmle.label | (...)... : Attribute | +| Test.java:3581:30:3581:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3582:10:3582:11 | in : Attribute | semmle.label | in : Attribute | +| Test.java:3582:10:3582:23 | duplicate(...) : Attribute | semmle.label | duplicate(...) : Attribute | +| Test.java:3583:9:3583:11 | out | semmle.label | out | +| Test.java:3588:30:3588:59 | (...)... : BinaryWebSocketFrame | semmle.label | (...)... : BinaryWebSocketFrame | +| Test.java:3588:52:3588:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3589:10:3589:11 | in : BinaryWebSocketFrame | semmle.label | in : BinaryWebSocketFrame | +| Test.java:3589:10:3589:23 | duplicate(...) : BinaryWebSocketFrame | semmle.label | duplicate(...) : BinaryWebSocketFrame | +| Test.java:3590:9:3590:11 | out | semmle.label | out | +| Test.java:3595:23:3595:45 | (...)... : ByteBufHolder | semmle.label | (...)... : ByteBufHolder | +| Test.java:3595:38:3595:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3596:10:3596:11 | in : ByteBufHolder | semmle.label | in : ByteBufHolder | +| Test.java:3596:10:3596:23 | duplicate(...) : ByteBufHolder | semmle.label | duplicate(...) : ByteBufHolder | +| Test.java:3597:9:3597:11 | out | semmle.label | out | +| Test.java:3602:30:3602:59 | (...)... : DefaultByteBufHolder | semmle.label | (...)... : DefaultByteBufHolder | +| Test.java:3602:52:3602:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3603:10:3603:11 | in : DefaultByteBufHolder | semmle.label | in : DefaultByteBufHolder | +| Test.java:3603:10:3603:23 | duplicate(...) : ByteBufHolder | semmle.label | duplicate(...) : ByteBufHolder | +| Test.java:3604:9:3604:11 | out | semmle.label | out | +| Test.java:3609:29:3609:57 | (...)... : CloseWebSocketFrame | semmle.label | (...)... : CloseWebSocketFrame | +| Test.java:3609:50:3609:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3610:10:3610:11 | in : CloseWebSocketFrame | semmle.label | in : CloseWebSocketFrame | +| Test.java:3610:10:3610:23 | duplicate(...) : CloseWebSocketFrame | semmle.label | duplicate(...) : CloseWebSocketFrame | +| Test.java:3611:9:3611:11 | out | semmle.label | out | +| Test.java:3616:36:3616:71 | (...)... : ContinuationWebSocketFrame | semmle.label | (...)... : ContinuationWebSocketFrame | +| Test.java:3616:64:3616:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3617:10:3617:11 | in : ContinuationWebSocketFrame | semmle.label | in : ContinuationWebSocketFrame | +| Test.java:3617:10:3617:23 | duplicate(...) : ContinuationWebSocketFrame | semmle.label | duplicate(...) : ContinuationWebSocketFrame | +| Test.java:3618:9:3618:11 | out | semmle.label | out | +| Test.java:3623:20:3623:39 | (...)... : FileUpload | semmle.label | (...)... : FileUpload | +| Test.java:3623:32:3623:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3624:10:3624:11 | in : FileUpload | semmle.label | in : FileUpload | +| Test.java:3624:10:3624:23 | duplicate(...) : FileUpload | semmle.label | duplicate(...) : FileUpload | +| Test.java:3625:9:3625:11 | out | semmle.label | out | +| Test.java:3630:25:3630:49 | (...)... : FullHttpMessage | semmle.label | (...)... : FullHttpMessage | +| Test.java:3630:42:3630:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3631:10:3631:11 | in : FullHttpMessage | semmle.label | in : FullHttpMessage | +| Test.java:3631:10:3631:23 | duplicate(...) : FullHttpMessage | semmle.label | duplicate(...) : FullHttpMessage | +| Test.java:3632:9:3632:11 | out | semmle.label | out | +| Test.java:3637:25:3637:49 | (...)... : FullHttpRequest | semmle.label | (...)... : FullHttpRequest | +| Test.java:3637:42:3637:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3638:10:3638:11 | in : FullHttpRequest | semmle.label | in : FullHttpRequest | +| Test.java:3638:10:3638:23 | duplicate(...) : FullHttpRequest | semmle.label | duplicate(...) : FullHttpRequest | +| Test.java:3639:9:3639:11 | out | semmle.label | out | +| Test.java:3644:26:3644:51 | (...)... : FullHttpResponse | semmle.label | (...)... : FullHttpResponse | +| Test.java:3644:44:3644:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3645:10:3645:11 | in : FullHttpResponse | semmle.label | in : FullHttpResponse | +| Test.java:3645:10:3645:23 | duplicate(...) : FullHttpResponse | semmle.label | duplicate(...) : FullHttpResponse | +| Test.java:3646:9:3646:11 | out | semmle.label | out | +| Test.java:3651:21:3651:41 | (...)... : HttpContent | semmle.label | (...)... : HttpContent | +| Test.java:3651:34:3651:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3652:10:3652:11 | in : HttpContent | semmle.label | in : HttpContent | +| Test.java:3652:10:3652:23 | duplicate(...) : HttpContent | semmle.label | duplicate(...) : HttpContent | +| Test.java:3653:9:3653:11 | out | semmle.label | out | +| Test.java:3658:18:3658:35 | (...)... : HttpData | semmle.label | (...)... : HttpData | +| Test.java:3658:28:3658:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3659:10:3659:11 | in : HttpData | semmle.label | in : HttpData | +| Test.java:3659:10:3659:23 | duplicate(...) : HttpData | semmle.label | duplicate(...) : HttpData | +| Test.java:3660:9:3660:11 | out | semmle.label | out | +| Test.java:3665:25:3665:49 | (...)... : LastHttpContent | semmle.label | (...)... : LastHttpContent | +| Test.java:3665:42:3665:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3666:10:3666:11 | in : LastHttpContent | semmle.label | in : LastHttpContent | +| Test.java:3666:10:3666:23 | duplicate(...) : LastHttpContent | semmle.label | duplicate(...) : LastHttpContent | +| Test.java:3667:9:3667:11 | out | semmle.label | out | +| Test.java:3672:28:3672:55 | (...)... : PingWebSocketFrame | semmle.label | (...)... : PingWebSocketFrame | +| Test.java:3672:48:3672:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3673:10:3673:11 | in : PingWebSocketFrame | semmle.label | in : PingWebSocketFrame | +| Test.java:3673:10:3673:23 | duplicate(...) : PingWebSocketFrame | semmle.label | duplicate(...) : PingWebSocketFrame | +| Test.java:3674:9:3674:11 | out | semmle.label | out | +| Test.java:3679:28:3679:55 | (...)... : PongWebSocketFrame | semmle.label | (...)... : PongWebSocketFrame | +| Test.java:3679:48:3679:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3680:10:3680:11 | in : PongWebSocketFrame | semmle.label | in : PongWebSocketFrame | +| Test.java:3680:10:3680:23 | duplicate(...) : PongWebSocketFrame | semmle.label | duplicate(...) : PongWebSocketFrame | +| Test.java:3681:9:3681:11 | out | semmle.label | out | +| Test.java:3686:28:3686:55 | (...)... : TextWebSocketFrame | semmle.label | (...)... : TextWebSocketFrame | +| Test.java:3686:48:3686:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3687:10:3687:11 | in : TextWebSocketFrame | semmle.label | in : TextWebSocketFrame | +| Test.java:3687:10:3687:23 | duplicate(...) : TextWebSocketFrame | semmle.label | duplicate(...) : TextWebSocketFrame | +| Test.java:3688:9:3688:11 | out | semmle.label | out | +| Test.java:3693:24:3693:47 | (...)... : WebSocketFrame | semmle.label | (...)... : WebSocketFrame | +| Test.java:3693:40:3693:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3694:10:3694:11 | in : WebSocketFrame | semmle.label | in : WebSocketFrame | +| Test.java:3694:10:3694:23 | duplicate(...) : WebSocketFrame | semmle.label | duplicate(...) : WebSocketFrame | +| Test.java:3695:9:3695:11 | out | semmle.label | out | +| Test.java:3700:17:3700:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3700:26:3700:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3702:10:3702:29 | replace(...) : Attribute | semmle.label | replace(...) : Attribute | +| Test.java:3702:27:3702:28 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3703:9:3703:11 | out | semmle.label | out | +| Test.java:3708:17:3708:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3708:26:3708:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3710:10:3710:29 | replace(...) : BinaryWebSocketFrame | semmle.label | replace(...) : BinaryWebSocketFrame | +| Test.java:3710:27:3710:28 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3711:9:3711:11 | out | semmle.label | out | +| Test.java:3716:17:3716:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3716:26:3716:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3718:10:3718:29 | replace(...) : ByteBufHolder | semmle.label | replace(...) : ByteBufHolder | +| Test.java:3718:27:3718:28 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3719:9:3719:11 | out | semmle.label | out | +| Test.java:3724:17:3724:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3724:26:3724:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3726:10:3726:29 | replace(...) : ByteBufHolder | semmle.label | replace(...) : ByteBufHolder | +| Test.java:3726:27:3726:28 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3727:9:3727:11 | out | semmle.label | out | +| Test.java:3732:17:3732:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3732:26:3732:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3734:10:3734:29 | replace(...) : CloseWebSocketFrame | semmle.label | replace(...) : CloseWebSocketFrame | +| Test.java:3734:27:3734:28 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3735:9:3735:11 | out | semmle.label | out | +| Test.java:3740:17:3740:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3740:26:3740:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3742:10:3742:29 | replace(...) : ContinuationWebSocketFrame | semmle.label | replace(...) : ContinuationWebSocketFrame | +| Test.java:3742:27:3742:28 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3743:9:3743:11 | out | semmle.label | out | +| Test.java:3748:17:3748:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3748:26:3748:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3750:10:3750:29 | replace(...) : FileUpload | semmle.label | replace(...) : FileUpload | +| Test.java:3750:27:3750:28 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3751:9:3751:11 | out | semmle.label | out | +| Test.java:3756:17:3756:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3756:26:3756:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3758:10:3758:29 | replace(...) : FullHttpMessage | semmle.label | replace(...) : FullHttpMessage | +| Test.java:3758:27:3758:28 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3759:9:3759:11 | out | semmle.label | out | +| Test.java:3764:17:3764:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3764:26:3764:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3766:10:3766:29 | replace(...) : FullHttpRequest | semmle.label | replace(...) : FullHttpRequest | +| Test.java:3766:27:3766:28 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3767:9:3767:11 | out | semmle.label | out | +| Test.java:3772:17:3772:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3772:26:3772:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3774:10:3774:29 | replace(...) : FullHttpResponse | semmle.label | replace(...) : FullHttpResponse | +| Test.java:3774:27:3774:28 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3775:9:3775:11 | out | semmle.label | out | +| Test.java:3780:17:3780:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3780:26:3780:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3782:10:3782:29 | replace(...) : HttpContent | semmle.label | replace(...) : HttpContent | +| Test.java:3782:27:3782:28 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3783:9:3783:11 | out | semmle.label | out | +| Test.java:3788:17:3788:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3788:26:3788:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3790:10:3790:29 | replace(...) : HttpData | semmle.label | replace(...) : HttpData | +| Test.java:3790:27:3790:28 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3791:9:3791:11 | out | semmle.label | out | +| Test.java:3796:17:3796:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3796:26:3796:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3798:10:3798:29 | replace(...) : LastHttpContent | semmle.label | replace(...) : LastHttpContent | +| Test.java:3798:27:3798:28 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3799:9:3799:11 | out | semmle.label | out | +| Test.java:3804:17:3804:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3804:26:3804:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3806:10:3806:29 | replace(...) : PingWebSocketFrame | semmle.label | replace(...) : PingWebSocketFrame | +| Test.java:3806:27:3806:28 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3807:9:3807:11 | out | semmle.label | out | +| Test.java:3812:17:3812:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3812:26:3812:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3814:10:3814:29 | replace(...) : PongWebSocketFrame | semmle.label | replace(...) : PongWebSocketFrame | +| Test.java:3814:27:3814:28 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3815:9:3815:11 | out | semmle.label | out | +| Test.java:3820:17:3820:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3820:26:3820:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3822:10:3822:29 | replace(...) : TextWebSocketFrame | semmle.label | replace(...) : TextWebSocketFrame | +| Test.java:3822:27:3822:28 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3823:9:3823:11 | out | semmle.label | out | +| Test.java:3828:17:3828:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3828:26:3828:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3830:10:3830:29 | replace(...) : WebSocketFrame | semmle.label | replace(...) : WebSocketFrame | +| Test.java:3830:27:3830:28 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3831:9:3831:11 | out | semmle.label | out | +| Test.java:3836:19:3836:37 | (...)... : Attribute | semmle.label | (...)... : Attribute | +| Test.java:3836:30:3836:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3837:10:3837:11 | in : Attribute | semmle.label | in : Attribute | +| Test.java:3837:10:3837:31 | retainedDuplicate(...) : Attribute | semmle.label | retainedDuplicate(...) : Attribute | +| Test.java:3838:9:3838:11 | out | semmle.label | out | +| Test.java:3843:30:3843:59 | (...)... : BinaryWebSocketFrame | semmle.label | (...)... : BinaryWebSocketFrame | +| Test.java:3843:52:3843:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3844:10:3844:11 | in : BinaryWebSocketFrame | semmle.label | in : BinaryWebSocketFrame | +| Test.java:3844:10:3844:31 | retainedDuplicate(...) : BinaryWebSocketFrame | semmle.label | retainedDuplicate(...) : BinaryWebSocketFrame | +| Test.java:3845:9:3845:11 | out | semmle.label | out | +| Test.java:3850:23:3850:45 | (...)... : ByteBufHolder | semmle.label | (...)... : ByteBufHolder | +| Test.java:3850:38:3850:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3851:10:3851:11 | in : ByteBufHolder | semmle.label | in : ByteBufHolder | +| Test.java:3851:10:3851:31 | retainedDuplicate(...) : ByteBufHolder | semmle.label | retainedDuplicate(...) : ByteBufHolder | +| Test.java:3852:9:3852:11 | out | semmle.label | out | +| Test.java:3857:30:3857:59 | (...)... : DefaultByteBufHolder | semmle.label | (...)... : DefaultByteBufHolder | +| Test.java:3857:52:3857:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3858:10:3858:11 | in : DefaultByteBufHolder | semmle.label | in : DefaultByteBufHolder | +| Test.java:3858:10:3858:31 | retainedDuplicate(...) : ByteBufHolder | semmle.label | retainedDuplicate(...) : ByteBufHolder | +| Test.java:3859:9:3859:11 | out | semmle.label | out | +| Test.java:3864:29:3864:57 | (...)... : CloseWebSocketFrame | semmle.label | (...)... : CloseWebSocketFrame | +| Test.java:3864:50:3864:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3865:10:3865:11 | in : CloseWebSocketFrame | semmle.label | in : CloseWebSocketFrame | +| Test.java:3865:10:3865:31 | retainedDuplicate(...) : CloseWebSocketFrame | semmle.label | retainedDuplicate(...) : CloseWebSocketFrame | +| Test.java:3866:9:3866:11 | out | semmle.label | out | +| Test.java:3871:36:3871:71 | (...)... : ContinuationWebSocketFrame | semmle.label | (...)... : ContinuationWebSocketFrame | +| Test.java:3871:64:3871:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3872:10:3872:11 | in : ContinuationWebSocketFrame | semmle.label | in : ContinuationWebSocketFrame | +| Test.java:3872:10:3872:31 | retainedDuplicate(...) : ContinuationWebSocketFrame | semmle.label | retainedDuplicate(...) : ContinuationWebSocketFrame | +| Test.java:3873:9:3873:11 | out | semmle.label | out | +| Test.java:3878:20:3878:39 | (...)... : FileUpload | semmle.label | (...)... : FileUpload | +| Test.java:3878:32:3878:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3879:10:3879:11 | in : FileUpload | semmle.label | in : FileUpload | +| Test.java:3879:10:3879:31 | retainedDuplicate(...) : FileUpload | semmle.label | retainedDuplicate(...) : FileUpload | +| Test.java:3880:9:3880:11 | out | semmle.label | out | +| Test.java:3885:25:3885:49 | (...)... : FullHttpMessage | semmle.label | (...)... : FullHttpMessage | +| Test.java:3885:42:3885:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3886:10:3886:11 | in : FullHttpMessage | semmle.label | in : FullHttpMessage | +| Test.java:3886:10:3886:31 | retainedDuplicate(...) : FullHttpMessage | semmle.label | retainedDuplicate(...) : FullHttpMessage | +| Test.java:3887:9:3887:11 | out | semmle.label | out | +| Test.java:3892:25:3892:49 | (...)... : FullHttpRequest | semmle.label | (...)... : FullHttpRequest | +| Test.java:3892:42:3892:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3893:10:3893:11 | in : FullHttpRequest | semmle.label | in : FullHttpRequest | +| Test.java:3893:10:3893:31 | retainedDuplicate(...) : FullHttpRequest | semmle.label | retainedDuplicate(...) : FullHttpRequest | +| Test.java:3894:9:3894:11 | out | semmle.label | out | +| Test.java:3899:26:3899:51 | (...)... : FullHttpResponse | semmle.label | (...)... : FullHttpResponse | +| Test.java:3899:44:3899:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3900:10:3900:11 | in : FullHttpResponse | semmle.label | in : FullHttpResponse | +| Test.java:3900:10:3900:31 | retainedDuplicate(...) : FullHttpResponse | semmle.label | retainedDuplicate(...) : FullHttpResponse | +| Test.java:3901:9:3901:11 | out | semmle.label | out | +| Test.java:3906:21:3906:41 | (...)... : HttpContent | semmle.label | (...)... : HttpContent | +| Test.java:3906:34:3906:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3907:10:3907:11 | in : HttpContent | semmle.label | in : HttpContent | +| Test.java:3907:10:3907:31 | retainedDuplicate(...) : HttpContent | semmle.label | retainedDuplicate(...) : HttpContent | +| Test.java:3908:9:3908:11 | out | semmle.label | out | +| Test.java:3913:18:3913:35 | (...)... : HttpData | semmle.label | (...)... : HttpData | +| Test.java:3913:28:3913:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3914:10:3914:11 | in : HttpData | semmle.label | in : HttpData | +| Test.java:3914:10:3914:31 | retainedDuplicate(...) : HttpData | semmle.label | retainedDuplicate(...) : HttpData | +| Test.java:3915:9:3915:11 | out | semmle.label | out | +| Test.java:3920:25:3920:49 | (...)... : LastHttpContent | semmle.label | (...)... : LastHttpContent | +| Test.java:3920:42:3920:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3921:10:3921:11 | in : LastHttpContent | semmle.label | in : LastHttpContent | +| Test.java:3921:10:3921:31 | retainedDuplicate(...) : LastHttpContent | semmle.label | retainedDuplicate(...) : LastHttpContent | +| Test.java:3922:9:3922:11 | out | semmle.label | out | +| Test.java:3927:28:3927:55 | (...)... : PingWebSocketFrame | semmle.label | (...)... : PingWebSocketFrame | +| Test.java:3927:48:3927:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3928:10:3928:11 | in : PingWebSocketFrame | semmle.label | in : PingWebSocketFrame | +| Test.java:3928:10:3928:31 | retainedDuplicate(...) : PingWebSocketFrame | semmle.label | retainedDuplicate(...) : PingWebSocketFrame | +| Test.java:3929:9:3929:11 | out | semmle.label | out | +| Test.java:3934:28:3934:55 | (...)... : PongWebSocketFrame | semmle.label | (...)... : PongWebSocketFrame | +| Test.java:3934:48:3934:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3935:10:3935:11 | in : PongWebSocketFrame | semmle.label | in : PongWebSocketFrame | +| Test.java:3935:10:3935:31 | retainedDuplicate(...) : PongWebSocketFrame | semmle.label | retainedDuplicate(...) : PongWebSocketFrame | +| Test.java:3936:9:3936:11 | out | semmle.label | out | +| Test.java:3941:28:3941:55 | (...)... : TextWebSocketFrame | semmle.label | (...)... : TextWebSocketFrame | +| Test.java:3941:48:3941:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3942:10:3942:11 | in : TextWebSocketFrame | semmle.label | in : TextWebSocketFrame | +| Test.java:3942:10:3942:31 | retainedDuplicate(...) : TextWebSocketFrame | semmle.label | retainedDuplicate(...) : TextWebSocketFrame | +| Test.java:3943:9:3943:11 | out | semmle.label | out | +| Test.java:3948:24:3948:47 | (...)... : WebSocketFrame | semmle.label | (...)... : WebSocketFrame | +| Test.java:3948:40:3948:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3949:10:3949:11 | in : WebSocketFrame | semmle.label | in : WebSocketFrame | +| Test.java:3949:10:3949:31 | retainedDuplicate(...) : WebSocketFrame | semmle.label | retainedDuplicate(...) : WebSocketFrame | +| Test.java:3950:9:3950:11 | out | semmle.label | out | +| Test.java:3955:17:3955:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3955:26:3955:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3956:10:3956:35 | new ByteBufInputStream(...) : ByteBufInputStream | semmle.label | new ByteBufInputStream(...) : ByteBufInputStream | +| Test.java:3956:33:3956:34 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3957:9:3957:11 | out | semmle.label | out | +| Test.java:3962:17:3962:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3962:26:3962:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3963:10:3963:38 | new ByteBufInputStream(...) : ByteBufInputStream | semmle.label | new ByteBufInputStream(...) : ByteBufInputStream | +| Test.java:3963:33:3963:34 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3964:9:3964:11 | out | semmle.label | out | +| Test.java:3969:17:3969:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3969:26:3969:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3970:10:3970:45 | new ByteBufInputStream(...) : ByteBufInputStream | semmle.label | new ByteBufInputStream(...) : ByteBufInputStream | +| Test.java:3970:33:3970:34 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3971:9:3971:11 | out | semmle.label | out | +| Test.java:3976:17:3976:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3976:26:3976:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3977:10:3977:42 | new ByteBufInputStream(...) : ByteBufInputStream | semmle.label | new ByteBufInputStream(...) : ByteBufInputStream | +| Test.java:3977:33:3977:34 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3978:9:3978:11 | out | semmle.label | out | +| Test.java:3983:17:3983:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:3983:26:3983:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3984:10:3984:36 | new ByteBufOutputStream(...) : ByteBufOutputStream | semmle.label | new ByteBufOutputStream(...) : ByteBufOutputStream | +| Test.java:3984:34:3984:35 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:3985:9:3985:11 | out | semmle.label | out | +| Test.java:3990:29:3990:57 | (...)... : ByteBufOutputStream | semmle.label | (...)... : ByteBufOutputStream | +| Test.java:3990:50:3990:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3991:10:3991:11 | in : ByteBufOutputStream | semmle.label | in : ByteBufOutputStream | +| Test.java:3991:10:3991:20 | buffer(...) : ByteBuf | semmle.label | buffer(...) : ByteBuf | +| Test.java:3992:9:3992:11 | out | semmle.label | out | +| Test.java:3997:21:3997:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:3997:34:3997:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:3998:21:3998:22 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:3998:25:3998:27 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:3999:9:3999:11 | out | semmle.label | out | +| Test.java:4004:21:4004:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:4004:34:4004:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4005:21:4005:22 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:4005:28:4005:30 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:4006:9:4006:11 | out | semmle.label | out | +| Test.java:4011:21:4011:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:4011:34:4011:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4012:21:4012:22 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:4012:28:4012:30 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:4013:9:4013:11 | out | semmle.label | out | +| Test.java:4018:22:4018:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:4018:36:4018:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4019:10:4019:38 | decodeHexDump(...) : byte[] | semmle.label | decodeHexDump(...) : byte[] | +| Test.java:4019:36:4019:37 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:4020:9:4020:11 | out | semmle.label | out | +| Test.java:4025:22:4025:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:4025:36:4025:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4026:10:4026:44 | decodeHexDump(...) : byte[] | semmle.label | decodeHexDump(...) : byte[] | +| Test.java:4026:36:4026:37 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:4027:9:4027:11 | out | semmle.label | out | +| Test.java:4032:20:4032:39 | (...)... : CharBuffer | semmle.label | (...)... : CharBuffer | +| Test.java:4032:32:4032:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4033:10:4033:49 | encodeString(...) : ByteBuf | semmle.label | encodeString(...) : ByteBuf | +| Test.java:4033:41:4033:42 | in : CharBuffer | semmle.label | in : CharBuffer | +| Test.java:4034:9:4034:11 | out | semmle.label | out | +| Test.java:4039:20:4039:39 | (...)... : CharBuffer | semmle.label | (...)... : CharBuffer | +| Test.java:4039:32:4039:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4040:10:4040:52 | encodeString(...) : ByteBuf | semmle.label | encodeString(...) : ByteBuf | +| Test.java:4040:41:4040:42 | in : CharBuffer | semmle.label | in : CharBuffer | +| Test.java:4041:9:4041:11 | out | semmle.label | out | +| Test.java:4046:17:4046:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4046:26:4046:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4047:10:4047:41 | ensureAccessible(...) : ByteBuf | semmle.label | ensureAccessible(...) : ByteBuf | +| Test.java:4047:39:4047:40 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4048:9:4048:11 | out | semmle.label | out | +| Test.java:4053:17:4053:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4053:26:4053:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4054:10:4054:33 | getBytes(...) : byte[] | semmle.label | getBytes(...) : byte[] | +| Test.java:4054:31:4054:32 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4055:9:4055:11 | out | semmle.label | out | +| Test.java:4060:17:4060:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4060:26:4060:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4061:10:4061:39 | getBytes(...) : byte[] | semmle.label | getBytes(...) : byte[] | +| Test.java:4061:31:4061:32 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4062:9:4062:11 | out | semmle.label | out | +| Test.java:4067:17:4067:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4067:26:4067:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4068:10:4068:46 | getBytes(...) : byte[] | semmle.label | getBytes(...) : byte[] | +| Test.java:4068:31:4068:32 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4069:9:4069:11 | out | semmle.label | out | +| Test.java:4074:17:4074:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4074:26:4074:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4075:10:4075:43 | readBytes(...) : ByteBuf | semmle.label | readBytes(...) : ByteBuf | +| Test.java:4075:38:4075:39 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4076:9:4076:11 | out | semmle.label | out | +| Test.java:4081:22:4081:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:4081:36:4081:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4082:36:4082:38 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:4082:41:4082:42 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:4083:9:4083:11 | out | semmle.label | out | +| Test.java:4088:22:4088:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:4088:36:4088:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4089:36:4089:38 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:4089:41:4089:42 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:4090:9:4090:11 | out | semmle.label | out | +| Test.java:4095:17:4095:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4095:26:4095:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4096:10:4096:41 | setShortBE(...) : ByteBuf | semmle.label | setShortBE(...) : ByteBuf | +| Test.java:4096:33:4096:34 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4097:9:4097:11 | out | semmle.label | out | +| Test.java:4102:22:4102:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:4102:36:4102:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4103:27:4103:29 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:4103:32:4103:33 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:4104:9:4104:11 | out | semmle.label | out | +| Test.java:4109:22:4109:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:4109:36:4109:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4110:10:4110:59 | writeAscii(...) : ByteBuf | semmle.label | writeAscii(...) : ByteBuf | +| Test.java:4110:57:4110:58 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:4111:9:4111:11 | out | semmle.label | out | +| Test.java:4116:17:4116:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4116:26:4116:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4117:10:4117:41 | writeMediumBE(...) : ByteBuf | semmle.label | writeMediumBE(...) : ByteBuf | +| Test.java:4117:36:4117:37 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4118:9:4118:11 | out | semmle.label | out | +| Test.java:4123:17:4123:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4123:26:4123:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4124:10:4124:40 | writeShortBE(...) : ByteBuf | semmle.label | writeShortBE(...) : ByteBuf | +| Test.java:4124:35:4124:36 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4125:9:4125:11 | out | semmle.label | out | +| Test.java:4130:22:4130:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:4130:36:4130:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4131:26:4131:28 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:4131:31:4131:32 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:4132:9:4132:11 | out | semmle.label | out | +| Test.java:4137:22:4137:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:4137:36:4137:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4138:26:4138:28 | out [post update] : ByteBuf | semmle.label | out [post update] : ByteBuf | +| Test.java:4138:31:4138:32 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:4139:9:4139:11 | out | semmle.label | out | +| Test.java:4144:22:4144:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:4144:36:4144:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4145:10:4145:58 | writeUtf8(...) : ByteBuf | semmle.label | writeUtf8(...) : ByteBuf | +| Test.java:4145:56:4145:57 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:4146:9:4146:11 | out | semmle.label | out | +| Test.java:4151:19:4151:61 | (...)... : ByteBuf[] [[]] : ByteBuf | semmle.label | (...)... : ByteBuf[] [[]] : ByteBuf | +| Test.java:4151:30:4151:61 | {...} : ByteBuf[] [[]] : ByteBuf | semmle.label | {...} : ByteBuf[] [[]] : ByteBuf | +| Test.java:4151:44:4151:60 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4151:53:4151:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4152:10:4152:67 | new CompositeByteBuf(...) : CompositeByteBuf | semmle.label | new CompositeByteBuf(...) : CompositeByteBuf | +| Test.java:4152:65:4152:66 | in : ByteBuf[] [[]] : ByteBuf | semmle.label | in : ByteBuf[] [[]] : ByteBuf | +| Test.java:4153:9:4153:11 | out | semmle.label | out | +| Test.java:4158:18:4158:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4158:28:4158:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4158:36:4158:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4159:10:4159:67 | new CompositeByteBuf(...) : CompositeByteBuf | semmle.label | new CompositeByteBuf(...) : CompositeByteBuf | +| Test.java:4159:65:4159:66 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4160:9:4160:11 | out | semmle.label | out | +| Test.java:4165:17:4165:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4165:26:4165:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4166:4:4166:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:4166:21:4166:22 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4167:9:4167:11 | out | semmle.label | out | +| Test.java:4172:17:4172:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4172:26:4172:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4173:4:4173:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:4173:28:4173:29 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4174:9:4174:11 | out | semmle.label | out | +| Test.java:4179:17:4179:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4179:26:4179:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4180:4:4180:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:4180:31:4180:32 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4181:9:4181:11 | out | semmle.label | out | +| Test.java:4186:17:4186:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4186:26:4186:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4187:4:4187:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:4187:24:4187:25 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4188:9:4188:11 | out | semmle.label | out | +| Test.java:4193:26:4193:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:4193:44:4193:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4194:10:4194:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:4194:10:4194:42 | addComponent(...) : CompositeByteBuf | semmle.label | addComponent(...) : CompositeByteBuf | +| Test.java:4195:9:4195:11 | out | semmle.label | out | +| Test.java:4200:26:4200:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:4200:44:4200:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4201:10:4201:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:4201:10:4201:46 | addComponent(...) : CompositeByteBuf | semmle.label | addComponent(...) : CompositeByteBuf | +| Test.java:4202:9:4202:11 | out | semmle.label | out | +| Test.java:4207:26:4207:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:4207:44:4207:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4208:10:4208:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:4208:10:4208:40 | addComponent(...) : CompositeByteBuf | semmle.label | addComponent(...) : CompositeByteBuf | +| Test.java:4209:9:4209:11 | out | semmle.label | out | +| Test.java:4214:26:4214:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:4214:44:4214:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4215:10:4215:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:4215:10:4215:30 | addComponent(...) : CompositeByteBuf | semmle.label | addComponent(...) : CompositeByteBuf | +| Test.java:4216:9:4216:11 | out | semmle.label | out | +| Test.java:4221:19:4221:61 | (...)... : ByteBuf[] [[]] : ByteBuf | semmle.label | (...)... : ByteBuf[] [[]] : ByteBuf | +| Test.java:4221:30:4221:61 | {...} : ByteBuf[] [[]] : ByteBuf | semmle.label | {...} : ByteBuf[] [[]] : ByteBuf | +| Test.java:4221:44:4221:60 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4221:53:4221:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4222:4:4222:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:4222:22:4222:23 | in : ByteBuf[] [[]] : ByteBuf | semmle.label | in : ByteBuf[] [[]] : ByteBuf | +| Test.java:4223:9:4223:11 | out | semmle.label | out | +| Test.java:4228:18:4228:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4228:28:4228:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4228:36:4228:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4229:4:4229:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:4229:22:4229:23 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4230:9:4230:11 | out | semmle.label | out | +| Test.java:4235:19:4235:61 | (...)... : ByteBuf[] [[]] : ByteBuf | semmle.label | (...)... : ByteBuf[] [[]] : ByteBuf | +| Test.java:4235:30:4235:61 | {...} : ByteBuf[] [[]] : ByteBuf | semmle.label | {...} : ByteBuf[] [[]] : ByteBuf | +| Test.java:4235:44:4235:60 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4235:53:4235:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4236:4:4236:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:4236:29:4236:30 | in : ByteBuf[] [[]] : ByteBuf | semmle.label | in : ByteBuf[] [[]] : ByteBuf | +| Test.java:4237:9:4237:11 | out | semmle.label | out | +| Test.java:4242:18:4242:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4242:28:4242:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4242:36:4242:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4243:4:4243:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:4243:29:4243:30 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4244:9:4244:11 | out | semmle.label | out | +| Test.java:4249:19:4249:61 | (...)... : ByteBuf[] [[]] : ByteBuf | semmle.label | (...)... : ByteBuf[] [[]] : ByteBuf | +| Test.java:4249:30:4249:61 | {...} : ByteBuf[] [[]] : ByteBuf | semmle.label | {...} : ByteBuf[] [[]] : ByteBuf | +| Test.java:4249:44:4249:60 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4249:53:4249:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4250:4:4250:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:4250:25:4250:26 | in : ByteBuf[] [[]] : ByteBuf | semmle.label | in : ByteBuf[] [[]] : ByteBuf | +| Test.java:4251:9:4251:11 | out | semmle.label | out | +| Test.java:4256:18:4256:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4256:28:4256:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4256:36:4256:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4257:4:4257:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:4257:25:4257:26 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4258:9:4258:11 | out | semmle.label | out | +| Test.java:4263:26:4263:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:4263:44:4263:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4264:10:4264:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:4264:10:4264:42 | addComponents(...) : CompositeByteBuf | semmle.label | addComponents(...) : CompositeByteBuf | +| Test.java:4265:9:4265:11 | out | semmle.label | out | +| Test.java:4270:26:4270:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:4270:44:4270:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4271:10:4271:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:4271:10:4271:41 | addComponents(...) : CompositeByteBuf | semmle.label | addComponents(...) : CompositeByteBuf | +| Test.java:4272:9:4272:11 | out | semmle.label | out | +| Test.java:4277:26:4277:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:4277:44:4277:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4278:10:4278:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:4278:10:4278:45 | addComponents(...) : CompositeByteBuf | semmle.label | addComponents(...) : CompositeByteBuf | +| Test.java:4279:9:4279:11 | out | semmle.label | out | +| Test.java:4284:26:4284:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:4284:44:4284:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4285:10:4285:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:4285:10:4285:44 | addComponents(...) : CompositeByteBuf | semmle.label | addComponents(...) : CompositeByteBuf | +| Test.java:4286:9:4286:11 | out | semmle.label | out | +| Test.java:4291:26:4291:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:4291:44:4291:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4292:10:4292:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:4292:10:4292:49 | addComponents(...) : CompositeByteBuf | semmle.label | addComponents(...) : CompositeByteBuf | +| Test.java:4293:9:4293:11 | out | semmle.label | out | +| Test.java:4298:26:4298:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:4298:44:4298:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4299:10:4299:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:4299:10:4299:48 | addComponents(...) : CompositeByteBuf | semmle.label | addComponents(...) : CompositeByteBuf | +| Test.java:4300:9:4300:11 | out | semmle.label | out | +| Test.java:4305:17:4305:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4305:26:4305:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4306:4:4306:6 | out [post update] : CompositeByteBuf | semmle.label | out [post update] : CompositeByteBuf | +| Test.java:4306:38:4306:39 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4307:9:4307:11 | out | semmle.label | out | +| Test.java:4312:26:4312:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:4312:44:4312:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4313:10:4313:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:4313:10:4313:47 | addFlattenedComponents(...) : CompositeByteBuf | semmle.label | addFlattenedComponents(...) : CompositeByteBuf | +| Test.java:4314:9:4314:11 | out | semmle.label | out | +| Test.java:4319:26:4319:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:4319:44:4319:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4320:10:4320:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:4320:10:4320:24 | component(...) : ByteBuf | semmle.label | component(...) : ByteBuf | +| Test.java:4321:9:4321:11 | out | semmle.label | out | +| Test.java:4326:26:4326:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:4326:44:4326:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4327:10:4327:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:4327:10:4327:32 | componentAtOffset(...) : ByteBuf | semmle.label | componentAtOffset(...) : ByteBuf | +| Test.java:4328:9:4328:11 | out | semmle.label | out | +| Test.java:4333:26:4333:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:4333:44:4333:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4334:10:4334:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:4334:10:4334:25 | consolidate(...) : CompositeByteBuf | semmle.label | consolidate(...) : CompositeByteBuf | +| Test.java:4335:9:4335:11 | out | semmle.label | out | +| Test.java:4340:26:4340:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:4340:44:4340:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4341:10:4341:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:4341:10:4341:29 | consolidate(...) : CompositeByteBuf | semmle.label | consolidate(...) : CompositeByteBuf | +| Test.java:4342:9:4342:11 | out | semmle.label | out | +| Test.java:4347:26:4347:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:4347:44:4347:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4348:10:4348:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:4348:10:4348:27 | decompose(...) : List [] : Object | semmle.label | decompose(...) : List [] : Object | +| Test.java:4349:9:4349:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4349:20:4349:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:4354:17:4354:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4354:26:4354:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4355:10:4355:34 | copiedBuffer(...) : ByteBuf | semmle.label | copiedBuffer(...) : ByteBuf | +| Test.java:4355:32:4355:33 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4356:9:4356:11 | out | semmle.label | out | +| Test.java:4361:19:4361:61 | (...)... : ByteBuf[] [[]] : ByteBuf | semmle.label | (...)... : ByteBuf[] [[]] : ByteBuf | +| Test.java:4361:30:4361:61 | {...} : ByteBuf[] [[]] : ByteBuf | semmle.label | {...} : ByteBuf[] [[]] : ByteBuf | +| Test.java:4361:44:4361:60 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4361:53:4361:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4362:10:4362:34 | copiedBuffer(...) : ByteBuf | semmle.label | copiedBuffer(...) : ByteBuf | +| Test.java:4362:32:4362:33 | in : ByteBuf[] [[]] : ByteBuf | semmle.label | in : ByteBuf[] [[]] : ByteBuf | +| Test.java:4363:9:4363:11 | out | semmle.label | out | +| Test.java:4368:20:4368:39 | (...)... : ByteBuffer | semmle.label | (...)... : ByteBuffer | +| Test.java:4368:32:4368:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4369:10:4369:34 | copiedBuffer(...) : ByteBuf | semmle.label | copiedBuffer(...) : ByteBuf | +| Test.java:4369:32:4369:33 | in : ByteBuffer | semmle.label | in : ByteBuffer | +| Test.java:4370:9:4370:11 | out | semmle.label | out | +| Test.java:4375:22:4375:73 | (...)... : ByteBuffer[] [[]] : ByteBuffer | semmle.label | (...)... : ByteBuffer[] [[]] : ByteBuffer | +| Test.java:4375:36:4375:73 | {...} : ByteBuffer[] [[]] : ByteBuffer | semmle.label | {...} : ByteBuffer[] [[]] : ByteBuffer | +| Test.java:4375:53:4375:72 | (...)... : ByteBuffer | semmle.label | (...)... : ByteBuffer | +| Test.java:4375:65:4375:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4376:10:4376:34 | copiedBuffer(...) : ByteBuf | semmle.label | copiedBuffer(...) : ByteBuf | +| Test.java:4376:32:4376:33 | in : ByteBuffer[] [[]] : ByteBuffer | semmle.label | in : ByteBuffer[] [[]] : ByteBuffer | +| Test.java:4377:9:4377:11 | out | semmle.label | out | +| Test.java:4382:22:4382:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:4382:36:4382:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4383:10:4383:49 | copiedBuffer(...) : ByteBuf | semmle.label | copiedBuffer(...) : ByteBuf | +| Test.java:4383:32:4383:33 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:4384:9:4384:11 | out | semmle.label | out | +| Test.java:4389:22:4389:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:4389:36:4389:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4390:10:4390:55 | copiedBuffer(...) : ByteBuf | semmle.label | copiedBuffer(...) : ByteBuf | +| Test.java:4390:32:4390:33 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:4391:9:4391:11 | out | semmle.label | out | +| Test.java:4396:16:4396:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:4396:24:4396:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4397:10:4397:34 | copiedBuffer(...) : ByteBuf | semmle.label | copiedBuffer(...) : ByteBuf | +| Test.java:4397:32:4397:33 | in : byte[] | semmle.label | in : byte[] | +| Test.java:4398:9:4398:11 | out | semmle.label | out | +| Test.java:4403:16:4403:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:4403:24:4403:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4404:10:4404:40 | copiedBuffer(...) : ByteBuf | semmle.label | copiedBuffer(...) : ByteBuf | +| Test.java:4404:32:4404:33 | in : byte[] | semmle.label | in : byte[] | +| Test.java:4405:9:4405:11 | out | semmle.label | out | +| Test.java:4410:18:4410:57 | (...)... : byte[][] [[]] : byte[] | semmle.label | (...)... : byte[][] [[]] : byte[] | +| Test.java:4410:28:4410:57 | {...} : byte[][] [[]] : byte[] | semmle.label | {...} : byte[][] [[]] : byte[] | +| Test.java:4410:41:4410:56 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:4410:49:4410:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4411:10:4411:34 | copiedBuffer(...) : ByteBuf | semmle.label | copiedBuffer(...) : ByteBuf | +| Test.java:4411:32:4411:33 | in : byte[][] [[]] : byte[] | semmle.label | in : byte[][] [[]] : byte[] | +| Test.java:4412:9:4412:11 | out | semmle.label | out | +| Test.java:4417:16:4417:31 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:4417:24:4417:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4418:10:4418:49 | copiedBuffer(...) : ByteBuf | semmle.label | copiedBuffer(...) : ByteBuf | +| Test.java:4418:32:4418:33 | in : char[] | semmle.label | in : char[] | +| Test.java:4419:9:4419:11 | out | semmle.label | out | +| Test.java:4424:16:4424:31 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:4424:24:4424:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4425:10:4425:55 | copiedBuffer(...) : ByteBuf | semmle.label | copiedBuffer(...) : ByteBuf | +| Test.java:4425:32:4425:33 | in : char[] | semmle.label | in : char[] | +| Test.java:4426:9:4426:11 | out | semmle.label | out | +| Test.java:4431:17:4431:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4431:26:4431:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4432:10:4432:40 | unmodifiableBuffer(...) : ByteBuf | semmle.label | unmodifiableBuffer(...) : ByteBuf | +| Test.java:4432:38:4432:39 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4433:9:4433:11 | out | semmle.label | out | +| Test.java:4438:19:4438:61 | (...)... : ByteBuf[] [[]] : ByteBuf | semmle.label | (...)... : ByteBuf[] [[]] : ByteBuf | +| Test.java:4438:30:4438:61 | {...} : ByteBuf[] [[]] : ByteBuf | semmle.label | {...} : ByteBuf[] [[]] : ByteBuf | +| Test.java:4438:44:4438:60 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4438:53:4438:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4439:10:4439:40 | unmodifiableBuffer(...) : ByteBuf | semmle.label | unmodifiableBuffer(...) : ByteBuf | +| Test.java:4439:38:4439:39 | in : ByteBuf[] [[]] : ByteBuf | semmle.label | in : ByteBuf[] [[]] : ByteBuf | +| Test.java:4440:9:4440:11 | out | semmle.label | out | +| Test.java:4445:17:4445:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4445:26:4445:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4446:10:4446:40 | unreleasableBuffer(...) : ByteBuf | semmle.label | unreleasableBuffer(...) : ByteBuf | +| Test.java:4446:38:4446:39 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4447:9:4447:11 | out | semmle.label | out | +| Test.java:4452:17:4452:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4452:26:4452:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4453:10:4453:35 | wrappedBuffer(...) : ByteBuf | semmle.label | wrappedBuffer(...) : ByteBuf | +| Test.java:4453:33:4453:34 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4454:9:4454:11 | out | semmle.label | out | +| Test.java:4459:19:4459:61 | (...)... : ByteBuf[] [[]] : ByteBuf | semmle.label | (...)... : ByteBuf[] [[]] : ByteBuf | +| Test.java:4459:30:4459:61 | {...} : ByteBuf[] [[]] : ByteBuf | semmle.label | {...} : ByteBuf[] [[]] : ByteBuf | +| Test.java:4459:44:4459:60 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4459:53:4459:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4460:10:4460:35 | wrappedBuffer(...) : ByteBuf | semmle.label | wrappedBuffer(...) : ByteBuf | +| Test.java:4460:33:4460:34 | in : ByteBuf[] [[]] : ByteBuf | semmle.label | in : ByteBuf[] [[]] : ByteBuf | +| Test.java:4461:9:4461:11 | out | semmle.label | out | +| Test.java:4466:20:4466:39 | (...)... : ByteBuffer | semmle.label | (...)... : ByteBuffer | +| Test.java:4466:32:4466:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4467:10:4467:35 | wrappedBuffer(...) : ByteBuf | semmle.label | wrappedBuffer(...) : ByteBuf | +| Test.java:4467:33:4467:34 | in : ByteBuffer | semmle.label | in : ByteBuffer | +| Test.java:4468:9:4468:11 | out | semmle.label | out | +| Test.java:4473:22:4473:73 | (...)... : ByteBuffer[] [[]] : ByteBuffer | semmle.label | (...)... : ByteBuffer[] [[]] : ByteBuffer | +| Test.java:4473:36:4473:73 | {...} : ByteBuffer[] [[]] : ByteBuffer | semmle.label | {...} : ByteBuffer[] [[]] : ByteBuffer | +| Test.java:4473:53:4473:72 | (...)... : ByteBuffer | semmle.label | (...)... : ByteBuffer | +| Test.java:4473:65:4473:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4474:10:4474:35 | wrappedBuffer(...) : ByteBuf | semmle.label | wrappedBuffer(...) : ByteBuf | +| Test.java:4474:33:4474:34 | in : ByteBuffer[] [[]] : ByteBuffer | semmle.label | in : ByteBuffer[] [[]] : ByteBuffer | +| Test.java:4475:9:4475:11 | out | semmle.label | out | +| Test.java:4480:16:4480:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:4480:24:4480:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4481:10:4481:35 | wrappedBuffer(...) : ByteBuf | semmle.label | wrappedBuffer(...) : ByteBuf | +| Test.java:4481:33:4481:34 | in : byte[] | semmle.label | in : byte[] | +| Test.java:4482:9:4482:11 | out | semmle.label | out | +| Test.java:4487:16:4487:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:4487:24:4487:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4488:10:4488:41 | wrappedBuffer(...) : ByteBuf | semmle.label | wrappedBuffer(...) : ByteBuf | +| Test.java:4488:33:4488:34 | in : byte[] | semmle.label | in : byte[] | +| Test.java:4489:9:4489:11 | out | semmle.label | out | +| Test.java:4494:18:4494:57 | (...)... : byte[][] [[]] : byte[] | semmle.label | (...)... : byte[][] [[]] : byte[] | +| Test.java:4494:28:4494:57 | {...} : byte[][] [[]] : byte[] | semmle.label | {...} : byte[][] [[]] : byte[] | +| Test.java:4494:41:4494:56 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:4494:49:4494:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4495:10:4495:35 | wrappedBuffer(...) : ByteBuf | semmle.label | wrappedBuffer(...) : ByteBuf | +| Test.java:4495:33:4495:34 | in : byte[][] [[]] : byte[] | semmle.label | in : byte[][] [[]] : byte[] | +| Test.java:4496:9:4496:11 | out | semmle.label | out | +| Test.java:4501:19:4501:61 | (...)... : ByteBuf[] [[]] : ByteBuf | semmle.label | (...)... : ByteBuf[] [[]] : ByteBuf | +| Test.java:4501:30:4501:61 | {...} : ByteBuf[] [[]] : ByteBuf | semmle.label | {...} : ByteBuf[] [[]] : ByteBuf | +| Test.java:4501:44:4501:60 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4501:53:4501:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4502:10:4502:38 | wrappedBuffer(...) : ByteBuf | semmle.label | wrappedBuffer(...) : ByteBuf | +| Test.java:4502:36:4502:37 | in : ByteBuf[] [[]] : ByteBuf | semmle.label | in : ByteBuf[] [[]] : ByteBuf | +| Test.java:4503:9:4503:11 | out | semmle.label | out | +| Test.java:4508:22:4508:73 | (...)... : ByteBuffer[] [[]] : ByteBuffer | semmle.label | (...)... : ByteBuffer[] [[]] : ByteBuffer | +| Test.java:4508:36:4508:73 | {...} : ByteBuffer[] [[]] : ByteBuffer | semmle.label | {...} : ByteBuffer[] [[]] : ByteBuffer | +| Test.java:4508:53:4508:72 | (...)... : ByteBuffer | semmle.label | (...)... : ByteBuffer | +| Test.java:4508:65:4508:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4509:10:4509:38 | wrappedBuffer(...) : ByteBuf | semmle.label | wrappedBuffer(...) : ByteBuf | +| Test.java:4509:36:4509:37 | in : ByteBuffer[] [[]] : ByteBuffer | semmle.label | in : ByteBuffer[] [[]] : ByteBuffer | +| Test.java:4510:9:4510:11 | out | semmle.label | out | +| Test.java:4515:18:4515:57 | (...)... : byte[][] [[]] : byte[] | semmle.label | (...)... : byte[][] [[]] : byte[] | +| Test.java:4515:28:4515:57 | {...} : byte[][] [[]] : byte[] | semmle.label | {...} : byte[][] [[]] : byte[] | +| Test.java:4515:41:4515:56 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:4515:49:4515:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4516:10:4516:38 | wrappedBuffer(...) : ByteBuf | semmle.label | wrappedBuffer(...) : ByteBuf | +| Test.java:4516:36:4516:37 | in : byte[][] [[]] : byte[] | semmle.label | in : byte[][] [[]] : byte[] | +| Test.java:4517:9:4517:11 | out | semmle.label | out | +| Test.java:4522:19:4522:61 | (...)... : ByteBuf[] [[]] : ByteBuf | semmle.label | (...)... : ByteBuf[] [[]] : ByteBuf | +| Test.java:4522:30:4522:61 | {...} : ByteBuf[] [[]] : ByteBuf | semmle.label | {...} : ByteBuf[] [[]] : ByteBuf | +| Test.java:4522:44:4522:60 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4522:53:4522:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4523:10:4523:47 | wrappedUnmodifiableBuffer(...) : ByteBuf | semmle.label | wrappedUnmodifiableBuffer(...) : ByteBuf | +| Test.java:4523:45:4523:46 | in : ByteBuf[] [[]] : ByteBuf | semmle.label | in : ByteBuf[] [[]] : ByteBuf | +| Test.java:4524:9:4524:11 | out | semmle.label | out | +| Test.java:4529:17:4529:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4529:26:4529:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4530:10:4530:26 | decode(...) : ByteBuf | semmle.label | decode(...) : ByteBuf | +| Test.java:4530:24:4530:25 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4531:9:4531:11 | out | semmle.label | out | +| Test.java:4536:17:4536:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4536:26:4536:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4537:10:4537:32 | decode(...) : ByteBuf | semmle.label | decode(...) : ByteBuf | +| Test.java:4537:24:4537:25 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4538:9:4538:11 | out | semmle.label | out | +| Test.java:4543:17:4543:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4543:26:4543:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4544:10:4544:38 | decode(...) : ByteBuf | semmle.label | decode(...) : ByteBuf | +| Test.java:4544:24:4544:25 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4545:9:4545:11 | out | semmle.label | out | +| Test.java:4550:17:4550:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4550:26:4550:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4551:10:4551:44 | decode(...) : ByteBuf | semmle.label | decode(...) : ByteBuf | +| Test.java:4551:24:4551:25 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4552:9:4552:11 | out | semmle.label | out | +| Test.java:4557:17:4557:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4557:26:4557:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4558:10:4558:32 | decode(...) : ByteBuf | semmle.label | decode(...) : ByteBuf | +| Test.java:4558:24:4558:25 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4559:9:4559:11 | out | semmle.label | out | +| Test.java:4564:17:4564:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4564:26:4564:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4565:10:4565:26 | encode(...) : ByteBuf | semmle.label | encode(...) : ByteBuf | +| Test.java:4565:24:4565:25 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4566:9:4566:11 | out | semmle.label | out | +| Test.java:4571:17:4571:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4571:26:4571:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4572:10:4572:47 | encode(...) : ByteBuf | semmle.label | encode(...) : ByteBuf | +| Test.java:4572:24:4572:25 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4573:9:4573:11 | out | semmle.label | out | +| Test.java:4578:17:4578:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4578:26:4578:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4579:10:4579:32 | encode(...) : ByteBuf | semmle.label | encode(...) : ByteBuf | +| Test.java:4579:24:4579:25 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4580:9:4580:11 | out | semmle.label | out | +| Test.java:4585:17:4585:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4585:26:4585:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4586:10:4586:53 | encode(...) : ByteBuf | semmle.label | encode(...) : ByteBuf | +| Test.java:4586:24:4586:25 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4587:9:4587:11 | out | semmle.label | out | +| Test.java:4592:17:4592:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4592:26:4592:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4593:10:4593:39 | encode(...) : ByteBuf | semmle.label | encode(...) : ByteBuf | +| Test.java:4593:24:4593:25 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4594:9:4594:11 | out | semmle.label | out | +| Test.java:4599:17:4599:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4599:26:4599:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4600:10:4600:45 | encode(...) : ByteBuf | semmle.label | encode(...) : ByteBuf | +| Test.java:4600:24:4600:25 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4601:9:4601:11 | out | semmle.label | out | +| Test.java:4606:17:4606:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4606:26:4606:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4607:10:4607:51 | encode(...) : ByteBuf | semmle.label | encode(...) : ByteBuf | +| Test.java:4607:24:4607:25 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4608:9:4608:11 | out | semmle.label | out | +| Test.java:4613:17:4613:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4613:26:4613:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4614:10:4614:33 | encode(...) : ByteBuf | semmle.label | encode(...) : ByteBuf | +| Test.java:4614:24:4614:25 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4615:9:4615:11 | out | semmle.label | out | +| Test.java:4620:17:4620:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4620:26:4620:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4621:10:4621:54 | encode(...) : ByteBuf | semmle.label | encode(...) : ByteBuf | +| Test.java:4621:24:4621:25 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4622:9:4622:11 | out | semmle.label | out | +| Test.java:4627:16:4627:31 | (...)... : Cookie | semmle.label | (...)... : Cookie | +| Test.java:4627:24:4627:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4628:10:4628:11 | in : Cookie | semmle.label | in : Cookie | +| Test.java:4628:10:4628:20 | domain(...) : String | semmle.label | domain(...) : String | +| Test.java:4629:9:4629:11 | out | semmle.label | out | +| Test.java:4634:23:4634:45 | (...)... : DefaultCookie | semmle.label | (...)... : DefaultCookie | +| Test.java:4634:38:4634:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4635:10:4635:11 | in : DefaultCookie | semmle.label | in : DefaultCookie | +| Test.java:4635:10:4635:20 | domain(...) : String | semmle.label | domain(...) : String | +| Test.java:4636:9:4636:11 | out | semmle.label | out | +| Test.java:4641:16:4641:31 | (...)... : Cookie | semmle.label | (...)... : Cookie | +| Test.java:4641:24:4641:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4642:10:4642:11 | in : Cookie | semmle.label | in : Cookie | +| Test.java:4642:10:4642:18 | name(...) : String | semmle.label | name(...) : String | +| Test.java:4643:9:4643:11 | out | semmle.label | out | +| Test.java:4648:23:4648:45 | (...)... : DefaultCookie | semmle.label | (...)... : DefaultCookie | +| Test.java:4648:38:4648:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4649:10:4649:11 | in : DefaultCookie | semmle.label | in : DefaultCookie | +| Test.java:4649:10:4649:18 | name(...) : String | semmle.label | name(...) : String | +| Test.java:4650:9:4650:11 | out | semmle.label | out | +| Test.java:4655:16:4655:31 | (...)... : Cookie | semmle.label | (...)... : Cookie | +| Test.java:4655:24:4655:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4656:10:4656:11 | in : Cookie | semmle.label | in : Cookie | +| Test.java:4656:10:4656:18 | path(...) : String | semmle.label | path(...) : String | +| Test.java:4657:9:4657:11 | out | semmle.label | out | +| Test.java:4662:23:4662:45 | (...)... : DefaultCookie | semmle.label | (...)... : DefaultCookie | +| Test.java:4662:38:4662:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4663:10:4663:11 | in : DefaultCookie | semmle.label | in : DefaultCookie | +| Test.java:4663:10:4663:18 | path(...) : String | semmle.label | path(...) : String | +| Test.java:4664:9:4664:11 | out | semmle.label | out | +| Test.java:4669:16:4669:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4669:24:4669:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4670:4:4670:6 | out [post update] : Cookie | semmle.label | out [post update] : Cookie | +| Test.java:4670:18:4670:19 | in : String | semmle.label | in : String | +| Test.java:4671:9:4671:11 | out | semmle.label | out | +| Test.java:4676:16:4676:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4676:24:4676:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4677:4:4677:6 | out [post update] : DefaultCookie | semmle.label | out [post update] : DefaultCookie | +| Test.java:4677:18:4677:19 | in : String | semmle.label | in : String | +| Test.java:4678:9:4678:11 | out | semmle.label | out | +| Test.java:4683:16:4683:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4683:24:4683:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4684:4:4684:6 | out [post update] : Cookie | semmle.label | out [post update] : Cookie | +| Test.java:4684:16:4684:17 | in : String | semmle.label | in : String | +| Test.java:4685:9:4685:11 | out | semmle.label | out | +| Test.java:4690:16:4690:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4690:24:4690:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4691:4:4691:6 | out [post update] : DefaultCookie | semmle.label | out [post update] : DefaultCookie | +| Test.java:4691:16:4691:17 | in : String | semmle.label | in : String | +| Test.java:4692:9:4692:11 | out | semmle.label | out | +| Test.java:4697:16:4697:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4697:24:4697:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4698:4:4698:6 | out [post update] : Cookie | semmle.label | out [post update] : Cookie | +| Test.java:4698:17:4698:18 | in : String | semmle.label | in : String | +| Test.java:4699:9:4699:11 | out | semmle.label | out | +| Test.java:4704:16:4704:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4704:24:4704:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4705:4:4705:6 | out [post update] : DefaultCookie | semmle.label | out [post update] : DefaultCookie | +| Test.java:4705:17:4705:18 | in : String | semmle.label | in : String | +| Test.java:4706:9:4706:11 | out | semmle.label | out | +| Test.java:4711:16:4711:31 | (...)... : Cookie | semmle.label | (...)... : Cookie | +| Test.java:4711:24:4711:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4712:10:4712:11 | in : Cookie | semmle.label | in : Cookie | +| Test.java:4712:10:4712:19 | value(...) : String | semmle.label | value(...) : String | +| Test.java:4713:9:4713:11 | out | semmle.label | out | +| Test.java:4718:23:4718:45 | (...)... : DefaultCookie | semmle.label | (...)... : DefaultCookie | +| Test.java:4718:38:4718:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4719:10:4719:11 | in : DefaultCookie | semmle.label | in : DefaultCookie | +| Test.java:4719:10:4719:19 | value(...) : String | semmle.label | value(...) : String | +| Test.java:4720:9:4720:11 | out | semmle.label | out | +| Test.java:4725:16:4725:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4725:24:4725:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4727:10:4727:28 | decode(...) : Set [] : Object | semmle.label | decode(...) : Set [] : Object | +| Test.java:4727:26:4727:27 | in : String | semmle.label | in : String | +| Test.java:4728:9:4728:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4728:20:4728:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:4733:16:4733:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4733:24:4733:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4735:10:4735:31 | decodeAll(...) : List [] : Object | semmle.label | decodeAll(...) : List [] : Object | +| Test.java:4735:29:4735:30 | in : String | semmle.label | in : String | +| Test.java:4736:9:4736:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4736:20:4736:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:4741:20:4741:48 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4741:32:4741:48 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4741:40:4741:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4743:10:4743:28 | encode(...) : List [] : Object | semmle.label | encode(...) : List [] : Object | +| Test.java:4743:26:4743:27 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4744:9:4744:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4744:20:4744:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:4749:16:4749:31 | (...)... : Cookie | semmle.label | (...)... : Cookie | +| Test.java:4749:24:4749:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4751:10:4751:28 | encode(...) : String | semmle.label | encode(...) : String | +| Test.java:4751:26:4751:27 | in : Cookie | semmle.label | in : Cookie | +| Test.java:4752:9:4752:11 | out | semmle.label | out | +| Test.java:4757:18:4757:57 | (...)... : Cookie[] [[]] : Cookie | semmle.label | (...)... : Cookie[] [[]] : Cookie | +| Test.java:4757:28:4757:57 | {...} : Cookie[] [[]] : Cookie | semmle.label | {...} : Cookie[] [[]] : Cookie | +| Test.java:4757:41:4757:56 | (...)... : Cookie | semmle.label | (...)... : Cookie | +| Test.java:4757:49:4757:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4759:10:4759:28 | encode(...) : List [] : Object | semmle.label | encode(...) : List [] : Object | +| Test.java:4759:26:4759:27 | in : Cookie[] [[]] : Cookie | semmle.label | in : Cookie[] [[]] : Cookie | +| Test.java:4760:9:4760:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4760:20:4760:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:4765:18:4765:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:4765:28:4765:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:4765:36:4765:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4767:10:4767:28 | encode(...) : List [] : Object | semmle.label | encode(...) : List [] : Object | +| Test.java:4767:26:4767:27 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:4768:9:4768:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:4768:20:4768:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:4773:16:4773:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4773:24:4773:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4775:10:4775:34 | encode(...) : String | semmle.label | encode(...) : String | +| Test.java:4775:32:4775:33 | in : String | semmle.label | in : String | +| Test.java:4776:9:4776:11 | out | semmle.label | out | +| Test.java:4781:19:4781:37 | (...)... : Attribute | semmle.label | (...)... : Attribute | +| Test.java:4781:30:4781:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4782:10:4782:11 | in : Attribute | semmle.label | in : Attribute | +| Test.java:4782:10:4782:22 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:4783:9:4783:11 | out | semmle.label | out | +| Test.java:4788:16:4788:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4788:24:4788:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4789:4:4789:6 | out [post update] : Attribute | semmle.label | out [post update] : Attribute | +| Test.java:4789:17:4789:18 | in : String | semmle.label | in : String | +| Test.java:4790:9:4790:11 | out | semmle.label | out | +| Test.java:4795:20:4795:39 | (...)... : FileUpload | semmle.label | (...)... : FileUpload | +| Test.java:4795:32:4795:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4796:10:4796:11 | in : FileUpload | semmle.label | in : FileUpload | +| Test.java:4796:10:4796:40 | getContentTransferEncoding(...) : String | semmle.label | getContentTransferEncoding(...) : String | +| Test.java:4797:9:4797:11 | out | semmle.label | out | +| Test.java:4802:20:4802:39 | (...)... : FileUpload | semmle.label | (...)... : FileUpload | +| Test.java:4802:32:4802:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4803:10:4803:11 | in : FileUpload | semmle.label | in : FileUpload | +| Test.java:4803:10:4803:28 | getContentType(...) : String | semmle.label | getContentType(...) : String | +| Test.java:4804:9:4804:11 | out | semmle.label | out | +| Test.java:4809:20:4809:39 | (...)... : FileUpload | semmle.label | (...)... : FileUpload | +| Test.java:4809:32:4809:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4810:10:4810:11 | in : FileUpload | semmle.label | in : FileUpload | +| Test.java:4810:10:4810:25 | getFilename(...) : String | semmle.label | getFilename(...) : String | +| Test.java:4811:9:4811:11 | out | semmle.label | out | +| Test.java:4816:16:4816:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4816:24:4816:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4817:4:4817:6 | out [post update] : FileUpload | semmle.label | out [post update] : FileUpload | +| Test.java:4817:35:4817:36 | in : String | semmle.label | in : String | +| Test.java:4818:9:4818:11 | out | semmle.label | out | +| Test.java:4823:16:4823:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4823:24:4823:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4824:4:4824:6 | out [post update] : FileUpload | semmle.label | out [post update] : FileUpload | +| Test.java:4824:23:4824:24 | in : String | semmle.label | in : String | +| Test.java:4825:9:4825:11 | out | semmle.label | out | +| Test.java:4830:16:4830:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:4830:24:4830:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4831:4:4831:6 | out [post update] : FileUpload | semmle.label | out [post update] : FileUpload | +| Test.java:4831:20:4831:21 | in : String | semmle.label | in : String | +| Test.java:4832:9:4832:11 | out | semmle.label | out | +| Test.java:4837:17:4837:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4837:26:4837:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4838:4:4838:6 | out [post update] : HttpData | semmle.label | out [post update] : HttpData | +| Test.java:4838:19:4838:20 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4839:9:4839:11 | out | semmle.label | out | +| Test.java:4844:18:4844:35 | (...)... : HttpData | semmle.label | (...)... : HttpData | +| Test.java:4844:28:4844:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4845:10:4845:11 | in : HttpData | semmle.label | in : HttpData | +| Test.java:4845:10:4845:17 | get(...) : byte[] | semmle.label | get(...) : byte[] | +| Test.java:4846:9:4846:11 | out | semmle.label | out | +| Test.java:4851:18:4851:35 | (...)... : HttpData | semmle.label | (...)... : HttpData | +| Test.java:4851:28:4851:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4852:10:4852:11 | in : HttpData | semmle.label | in : HttpData | +| Test.java:4852:10:4852:24 | getByteBuf(...) : ByteBuf | semmle.label | getByteBuf(...) : ByteBuf | +| Test.java:4853:9:4853:11 | out | semmle.label | out | +| Test.java:4858:18:4858:35 | (...)... : HttpData | semmle.label | (...)... : HttpData | +| Test.java:4858:28:4858:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4859:10:4859:11 | in : HttpData | semmle.label | in : HttpData | +| Test.java:4859:10:4859:23 | getChunk(...) : ByteBuf | semmle.label | getChunk(...) : ByteBuf | +| Test.java:4860:9:4860:11 | out | semmle.label | out | +| Test.java:4865:18:4865:35 | (...)... : HttpData | semmle.label | (...)... : HttpData | +| Test.java:4865:28:4865:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4866:10:4866:11 | in : HttpData | semmle.label | in : HttpData | +| Test.java:4866:10:4866:23 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:4867:9:4867:11 | out | semmle.label | out | +| Test.java:4872:18:4872:35 | (...)... : HttpData | semmle.label | (...)... : HttpData | +| Test.java:4872:28:4872:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4873:10:4873:11 | in : HttpData | semmle.label | in : HttpData | +| Test.java:4873:10:4873:27 | getString(...) : String | semmle.label | getString(...) : String | +| Test.java:4874:9:4874:11 | out | semmle.label | out | +| Test.java:4879:17:4879:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:4879:26:4879:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4880:4:4880:6 | out [post update] : HttpData | semmle.label | out [post update] : HttpData | +| Test.java:4880:19:4880:20 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:4881:9:4881:11 | out | semmle.label | out | +| Test.java:4886:21:4886:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:4886:34:4886:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4887:4:4887:6 | out [post update] : HttpData | semmle.label | out [post update] : HttpData | +| Test.java:4887:19:4887:20 | in : InputStream | semmle.label | in : InputStream | +| Test.java:4888:9:4888:11 | out | semmle.label | out | +| Test.java:4893:21:4893:41 | (...)... : HttpRequest | semmle.label | (...)... : HttpRequest | +| Test.java:4893:34:4893:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4894:10:4894:54 | new HttpPostMultipartRequestDecoder(...) : HttpPostMultipartRequestDecoder | semmle.label | new HttpPostMultipartRequestDecoder(...) : HttpPostMultipartRequestDecoder | +| Test.java:4894:52:4894:53 | in : HttpRequest | semmle.label | in : HttpRequest | +| Test.java:4895:9:4895:11 | out | semmle.label | out | +| Test.java:4900:21:4900:41 | (...)... : HttpRequest | semmle.label | (...)... : HttpRequest | +| Test.java:4900:34:4900:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4901:10:4901:60 | new HttpPostMultipartRequestDecoder(...) : HttpPostMultipartRequestDecoder | semmle.label | new HttpPostMultipartRequestDecoder(...) : HttpPostMultipartRequestDecoder | +| Test.java:4901:52:4901:53 | in : HttpRequest | semmle.label | in : HttpRequest | +| Test.java:4902:9:4902:11 | out | semmle.label | out | +| Test.java:4907:21:4907:41 | (...)... : HttpRequest | semmle.label | (...)... : HttpRequest | +| Test.java:4907:34:4907:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4908:10:4908:48 | new HttpPostMultipartRequestDecoder(...) : HttpPostMultipartRequestDecoder | semmle.label | new HttpPostMultipartRequestDecoder(...) : HttpPostMultipartRequestDecoder | +| Test.java:4908:46:4908:47 | in : HttpRequest | semmle.label | in : HttpRequest | +| Test.java:4909:9:4909:11 | out | semmle.label | out | +| Test.java:4914:21:4914:41 | (...)... : HttpRequest | semmle.label | (...)... : HttpRequest | +| Test.java:4914:34:4914:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4915:10:4915:45 | new HttpPostRequestDecoder(...) : HttpPostRequestDecoder | semmle.label | new HttpPostRequestDecoder(...) : HttpPostRequestDecoder | +| Test.java:4915:43:4915:44 | in : HttpRequest | semmle.label | in : HttpRequest | +| Test.java:4916:9:4916:11 | out | semmle.label | out | +| Test.java:4921:21:4921:41 | (...)... : HttpRequest | semmle.label | (...)... : HttpRequest | +| Test.java:4921:34:4921:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4922:10:4922:51 | new HttpPostRequestDecoder(...) : HttpPostRequestDecoder | semmle.label | new HttpPostRequestDecoder(...) : HttpPostRequestDecoder | +| Test.java:4922:43:4922:44 | in : HttpRequest | semmle.label | in : HttpRequest | +| Test.java:4923:9:4923:11 | out | semmle.label | out | +| Test.java:4928:21:4928:41 | (...)... : HttpRequest | semmle.label | (...)... : HttpRequest | +| Test.java:4928:34:4928:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4929:10:4929:39 | new HttpPostRequestDecoder(...) : HttpPostRequestDecoder | semmle.label | new HttpPostRequestDecoder(...) : HttpPostRequestDecoder | +| Test.java:4929:37:4929:38 | in : HttpRequest | semmle.label | in : HttpRequest | +| Test.java:4930:9:4930:11 | out | semmle.label | out | +| Test.java:4935:21:4935:41 | (...)... : HttpRequest | semmle.label | (...)... : HttpRequest | +| Test.java:4935:34:4935:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4936:10:4936:53 | new HttpPostStandardRequestDecoder(...) : HttpPostStandardRequestDecoder | semmle.label | new HttpPostStandardRequestDecoder(...) : HttpPostStandardRequestDecoder | +| Test.java:4936:51:4936:52 | in : HttpRequest | semmle.label | in : HttpRequest | +| Test.java:4937:9:4937:11 | out | semmle.label | out | +| Test.java:4942:21:4942:41 | (...)... : HttpRequest | semmle.label | (...)... : HttpRequest | +| Test.java:4942:34:4942:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4943:10:4943:59 | new HttpPostStandardRequestDecoder(...) : HttpPostStandardRequestDecoder | semmle.label | new HttpPostStandardRequestDecoder(...) : HttpPostStandardRequestDecoder | +| Test.java:4943:51:4943:52 | in : HttpRequest | semmle.label | in : HttpRequest | +| Test.java:4944:9:4944:11 | out | semmle.label | out | +| Test.java:4949:21:4949:41 | (...)... : HttpRequest | semmle.label | (...)... : HttpRequest | +| Test.java:4949:34:4949:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4950:10:4950:47 | new HttpPostStandardRequestDecoder(...) : HttpPostStandardRequestDecoder | semmle.label | new HttpPostStandardRequestDecoder(...) : HttpPostStandardRequestDecoder | +| Test.java:4950:45:4950:46 | in : HttpRequest | semmle.label | in : HttpRequest | +| Test.java:4951:9:4951:11 | out | semmle.label | out | +| Test.java:4956:27:4956:53 | (...)... : InterfaceHttpData | semmle.label | (...)... : InterfaceHttpData | +| Test.java:4956:46:4956:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4957:10:4957:11 | in : InterfaceHttpData | semmle.label | in : InterfaceHttpData | +| Test.java:4957:10:4957:21 | getName(...) : String | semmle.label | getName(...) : String | +| Test.java:4958:9:4958:11 | out | semmle.label | out | +| Test.java:4963:41:4963:81 | (...)... : HttpPostMultipartRequestDecoder | semmle.label | (...)... : HttpPostMultipartRequestDecoder | +| Test.java:4963:74:4963:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4964:10:4964:11 | in : HttpPostMultipartRequestDecoder | semmle.label | in : HttpPostMultipartRequestDecoder | +| Test.java:4964:10:4964:36 | currentPartialHttpData(...) : InterfaceHttpData | semmle.label | currentPartialHttpData(...) : InterfaceHttpData | +| Test.java:4965:9:4965:11 | out | semmle.label | out | +| Test.java:4970:32:4970:63 | (...)... : HttpPostRequestDecoder | semmle.label | (...)... : HttpPostRequestDecoder | +| Test.java:4970:56:4970:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4971:10:4971:11 | in : HttpPostRequestDecoder | semmle.label | in : HttpPostRequestDecoder | +| Test.java:4971:10:4971:36 | currentPartialHttpData(...) : InterfaceHttpData | semmle.label | currentPartialHttpData(...) : InterfaceHttpData | +| Test.java:4972:9:4972:11 | out | semmle.label | out | +| Test.java:4977:40:4977:79 | (...)... : HttpPostStandardRequestDecoder | semmle.label | (...)... : HttpPostStandardRequestDecoder | +| Test.java:4977:72:4977:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4978:10:4978:11 | in : HttpPostStandardRequestDecoder | semmle.label | in : HttpPostStandardRequestDecoder | +| Test.java:4978:10:4978:36 | currentPartialHttpData(...) : InterfaceHttpData | semmle.label | currentPartialHttpData(...) : InterfaceHttpData | +| Test.java:4979:9:4979:11 | out | semmle.label | out | +| Test.java:4984:41:4984:81 | (...)... : InterfaceHttpPostRequestDecoder | semmle.label | (...)... : InterfaceHttpPostRequestDecoder | +| Test.java:4984:74:4984:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4985:10:4985:11 | in : InterfaceHttpPostRequestDecoder | semmle.label | in : InterfaceHttpPostRequestDecoder | +| Test.java:4985:10:4985:36 | currentPartialHttpData(...) : InterfaceHttpData | semmle.label | currentPartialHttpData(...) : InterfaceHttpData | +| Test.java:4986:9:4986:11 | out | semmle.label | out | +| Test.java:4991:41:4991:81 | (...)... : HttpPostMultipartRequestDecoder | semmle.label | (...)... : HttpPostMultipartRequestDecoder | +| Test.java:4991:74:4991:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4992:10:4992:11 | in : HttpPostMultipartRequestDecoder | semmle.label | in : HttpPostMultipartRequestDecoder | +| Test.java:4992:10:4992:33 | getBodyHttpData(...) : InterfaceHttpData | semmle.label | getBodyHttpData(...) : InterfaceHttpData | +| Test.java:4993:9:4993:11 | out | semmle.label | out | +| Test.java:4998:32:4998:63 | (...)... : HttpPostRequestDecoder | semmle.label | (...)... : HttpPostRequestDecoder | +| Test.java:4998:56:4998:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:4999:10:4999:11 | in : HttpPostRequestDecoder | semmle.label | in : HttpPostRequestDecoder | +| Test.java:4999:10:4999:33 | getBodyHttpData(...) : InterfaceHttpData | semmle.label | getBodyHttpData(...) : InterfaceHttpData | +| Test.java:5000:9:5000:11 | out | semmle.label | out | +| Test.java:5005:40:5005:79 | (...)... : HttpPostStandardRequestDecoder | semmle.label | (...)... : HttpPostStandardRequestDecoder | +| Test.java:5005:72:5005:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5006:10:5006:11 | in : HttpPostStandardRequestDecoder | semmle.label | in : HttpPostStandardRequestDecoder | +| Test.java:5006:10:5006:33 | getBodyHttpData(...) : InterfaceHttpData | semmle.label | getBodyHttpData(...) : InterfaceHttpData | +| Test.java:5007:9:5007:11 | out | semmle.label | out | +| Test.java:5012:41:5012:81 | (...)... : InterfaceHttpPostRequestDecoder | semmle.label | (...)... : InterfaceHttpPostRequestDecoder | +| Test.java:5012:74:5012:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5013:10:5013:11 | in : InterfaceHttpPostRequestDecoder | semmle.label | in : InterfaceHttpPostRequestDecoder | +| Test.java:5013:10:5013:33 | getBodyHttpData(...) : InterfaceHttpData | semmle.label | getBodyHttpData(...) : InterfaceHttpData | +| Test.java:5014:9:5014:11 | out | semmle.label | out | +| Test.java:5019:41:5019:81 | (...)... : HttpPostMultipartRequestDecoder | semmle.label | (...)... : HttpPostMultipartRequestDecoder | +| Test.java:5019:74:5019:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5020:10:5020:11 | in : HttpPostMultipartRequestDecoder | semmle.label | in : HttpPostMultipartRequestDecoder | +| Test.java:5020:10:5020:30 | getBodyHttpDatas(...) : List | semmle.label | getBodyHttpDatas(...) : List | +| Test.java:5021:9:5021:11 | out | semmle.label | out | +| Test.java:5026:32:5026:63 | (...)... : HttpPostRequestDecoder | semmle.label | (...)... : HttpPostRequestDecoder | +| Test.java:5026:56:5026:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5027:10:5027:11 | in : HttpPostRequestDecoder | semmle.label | in : HttpPostRequestDecoder | +| Test.java:5027:10:5027:30 | getBodyHttpDatas(...) : List | semmle.label | getBodyHttpDatas(...) : List | +| Test.java:5028:9:5028:11 | out | semmle.label | out | +| Test.java:5033:40:5033:79 | (...)... : HttpPostStandardRequestDecoder | semmle.label | (...)... : HttpPostStandardRequestDecoder | +| Test.java:5033:72:5033:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5034:10:5034:11 | in : HttpPostStandardRequestDecoder | semmle.label | in : HttpPostStandardRequestDecoder | +| Test.java:5034:10:5034:30 | getBodyHttpDatas(...) : List | semmle.label | getBodyHttpDatas(...) : List | +| Test.java:5035:9:5035:11 | out | semmle.label | out | +| Test.java:5040:41:5040:81 | (...)... : InterfaceHttpPostRequestDecoder | semmle.label | (...)... : InterfaceHttpPostRequestDecoder | +| Test.java:5040:74:5040:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5041:10:5041:11 | in : InterfaceHttpPostRequestDecoder | semmle.label | in : InterfaceHttpPostRequestDecoder | +| Test.java:5041:10:5041:30 | getBodyHttpDatas(...) : List | semmle.label | getBodyHttpDatas(...) : List | +| Test.java:5042:9:5042:11 | out | semmle.label | out | +| Test.java:5047:41:5047:81 | (...)... : HttpPostMultipartRequestDecoder | semmle.label | (...)... : HttpPostMultipartRequestDecoder | +| Test.java:5047:74:5047:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5048:10:5048:11 | in : HttpPostMultipartRequestDecoder | semmle.label | in : HttpPostMultipartRequestDecoder | +| Test.java:5048:10:5048:34 | getBodyHttpDatas(...) : List | semmle.label | getBodyHttpDatas(...) : List | +| Test.java:5049:9:5049:11 | out | semmle.label | out | +| Test.java:5054:32:5054:63 | (...)... : HttpPostRequestDecoder | semmle.label | (...)... : HttpPostRequestDecoder | +| Test.java:5054:56:5054:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5055:10:5055:11 | in : HttpPostRequestDecoder | semmle.label | in : HttpPostRequestDecoder | +| Test.java:5055:10:5055:34 | getBodyHttpDatas(...) : List | semmle.label | getBodyHttpDatas(...) : List | +| Test.java:5056:9:5056:11 | out | semmle.label | out | +| Test.java:5061:40:5061:79 | (...)... : HttpPostStandardRequestDecoder | semmle.label | (...)... : HttpPostStandardRequestDecoder | +| Test.java:5061:72:5061:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5062:10:5062:11 | in : HttpPostStandardRequestDecoder | semmle.label | in : HttpPostStandardRequestDecoder | +| Test.java:5062:10:5062:34 | getBodyHttpDatas(...) : List | semmle.label | getBodyHttpDatas(...) : List | +| Test.java:5063:9:5063:11 | out | semmle.label | out | +| Test.java:5068:41:5068:81 | (...)... : InterfaceHttpPostRequestDecoder | semmle.label | (...)... : InterfaceHttpPostRequestDecoder | +| Test.java:5068:74:5068:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5069:10:5069:11 | in : InterfaceHttpPostRequestDecoder | semmle.label | in : InterfaceHttpPostRequestDecoder | +| Test.java:5069:10:5069:34 | getBodyHttpDatas(...) : List | semmle.label | getBodyHttpDatas(...) : List | +| Test.java:5070:9:5070:11 | out | semmle.label | out | +| Test.java:5075:41:5075:81 | (...)... : HttpPostMultipartRequestDecoder | semmle.label | (...)... : HttpPostMultipartRequestDecoder | +| Test.java:5075:74:5075:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5076:10:5076:11 | in : HttpPostMultipartRequestDecoder | semmle.label | in : HttpPostMultipartRequestDecoder | +| Test.java:5076:10:5076:18 | next(...) : InterfaceHttpData | semmle.label | next(...) : InterfaceHttpData | +| Test.java:5077:9:5077:11 | out | semmle.label | out | +| Test.java:5082:32:5082:63 | (...)... : HttpPostRequestDecoder | semmle.label | (...)... : HttpPostRequestDecoder | +| Test.java:5082:56:5082:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5083:10:5083:11 | in : HttpPostRequestDecoder | semmle.label | in : HttpPostRequestDecoder | +| Test.java:5083:10:5083:18 | next(...) : InterfaceHttpData | semmle.label | next(...) : InterfaceHttpData | +| Test.java:5084:9:5084:11 | out | semmle.label | out | +| Test.java:5089:40:5089:79 | (...)... : HttpPostStandardRequestDecoder | semmle.label | (...)... : HttpPostStandardRequestDecoder | +| Test.java:5089:72:5089:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5090:10:5090:11 | in : HttpPostStandardRequestDecoder | semmle.label | in : HttpPostStandardRequestDecoder | +| Test.java:5090:10:5090:18 | next(...) : InterfaceHttpData | semmle.label | next(...) : InterfaceHttpData | +| Test.java:5091:9:5091:11 | out | semmle.label | out | +| Test.java:5096:41:5096:81 | (...)... : InterfaceHttpPostRequestDecoder | semmle.label | (...)... : InterfaceHttpPostRequestDecoder | +| Test.java:5096:74:5096:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5097:10:5097:11 | in : InterfaceHttpPostRequestDecoder | semmle.label | in : InterfaceHttpPostRequestDecoder | +| Test.java:5097:10:5097:18 | next(...) : InterfaceHttpData | semmle.label | next(...) : InterfaceHttpData | +| Test.java:5098:9:5098:11 | out | semmle.label | out | +| Test.java:5103:41:5103:81 | (...)... : HttpPostMultipartRequestDecoder | semmle.label | (...)... : HttpPostMultipartRequestDecoder | +| Test.java:5103:74:5103:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5104:10:5104:11 | in : HttpPostMultipartRequestDecoder | semmle.label | in : HttpPostMultipartRequestDecoder | +| Test.java:5104:10:5104:23 | offer(...) : HttpPostMultipartRequestDecoder | semmle.label | offer(...) : HttpPostMultipartRequestDecoder | +| Test.java:5105:9:5105:11 | out | semmle.label | out | +| Test.java:5110:40:5110:79 | (...)... : HttpPostStandardRequestDecoder | semmle.label | (...)... : HttpPostStandardRequestDecoder | +| Test.java:5110:72:5110:79 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5111:10:5111:11 | in : HttpPostStandardRequestDecoder | semmle.label | in : HttpPostStandardRequestDecoder | +| Test.java:5111:10:5111:23 | offer(...) : HttpPostStandardRequestDecoder | semmle.label | offer(...) : HttpPostStandardRequestDecoder | +| Test.java:5112:9:5112:11 | out | semmle.label | out | +| Test.java:5117:32:5117:63 | (...)... : HttpPostRequestDecoder | semmle.label | (...)... : HttpPostRequestDecoder | +| Test.java:5117:56:5117:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5118:10:5118:11 | in : HttpPostRequestDecoder | semmle.label | in : HttpPostRequestDecoder | +| Test.java:5118:10:5118:23 | offer(...) : HttpPostRequestDecoder | semmle.label | offer(...) : HttpPostRequestDecoder | +| Test.java:5119:9:5119:11 | out | semmle.label | out | +| Test.java:5124:41:5124:81 | (...)... : InterfaceHttpPostRequestDecoder | semmle.label | (...)... : InterfaceHttpPostRequestDecoder | +| Test.java:5124:74:5124:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5125:10:5125:11 | in : InterfaceHttpPostRequestDecoder | semmle.label | in : InterfaceHttpPostRequestDecoder | +| Test.java:5125:10:5125:23 | offer(...) : InterfaceHttpPostRequestDecoder | semmle.label | offer(...) : InterfaceHttpPostRequestDecoder | +| Test.java:5126:9:5126:11 | out | semmle.label | out | +| Test.java:5131:21:5131:41 | (...)... : HttpContent | semmle.label | (...)... : HttpContent | +| Test.java:5131:34:5131:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5132:4:5132:6 | out [post update] : HttpPostMultipartRequestDecoder | semmle.label | out [post update] : HttpPostMultipartRequestDecoder | +| Test.java:5132:14:5132:15 | in : HttpContent | semmle.label | in : HttpContent | +| Test.java:5133:9:5133:11 | out | semmle.label | out | +| Test.java:5138:21:5138:41 | (...)... : HttpContent | semmle.label | (...)... : HttpContent | +| Test.java:5138:34:5138:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5139:4:5139:6 | out [post update] : HttpPostRequestDecoder | semmle.label | out [post update] : HttpPostRequestDecoder | +| Test.java:5139:14:5139:15 | in : HttpContent | semmle.label | in : HttpContent | +| Test.java:5140:9:5140:11 | out | semmle.label | out | +| Test.java:5145:21:5145:41 | (...)... : HttpContent | semmle.label | (...)... : HttpContent | +| Test.java:5145:34:5145:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5146:4:5146:6 | out [post update] : HttpPostStandardRequestDecoder | semmle.label | out [post update] : HttpPostStandardRequestDecoder | +| Test.java:5146:14:5146:15 | in : HttpContent | semmle.label | in : HttpContent | +| Test.java:5147:9:5147:11 | out | semmle.label | out | +| Test.java:5152:21:5152:41 | (...)... : HttpContent | semmle.label | (...)... : HttpContent | +| Test.java:5152:34:5152:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5153:4:5153:6 | out [post update] : InterfaceHttpPostRequestDecoder | semmle.label | out [post update] : InterfaceHttpPostRequestDecoder | +| Test.java:5153:14:5153:15 | in : HttpContent | semmle.label | in : HttpContent | +| Test.java:5154:9:5154:11 | out | semmle.label | out | +| Test.java:5159:17:5159:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:5159:26:5159:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5160:10:5160:37 | new BinaryWebSocketFrame(...) : BinaryWebSocketFrame | semmle.label | new BinaryWebSocketFrame(...) : BinaryWebSocketFrame | +| Test.java:5160:35:5160:36 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:5161:9:5161:11 | out | semmle.label | out | +| Test.java:5166:17:5166:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:5166:26:5166:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5167:10:5167:47 | new BinaryWebSocketFrame(...) : BinaryWebSocketFrame | semmle.label | new BinaryWebSocketFrame(...) : BinaryWebSocketFrame | +| Test.java:5167:45:5167:46 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:5168:9:5168:11 | out | semmle.label | out | +| Test.java:5173:16:5173:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5173:24:5173:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5174:10:5174:64 | new CloseWebSocketFrame(...) : CloseWebSocketFrame | semmle.label | new CloseWebSocketFrame(...) : CloseWebSocketFrame | +| Test.java:5174:62:5174:63 | in : String | semmle.label | in : String | +| Test.java:5175:9:5175:11 | out | semmle.label | out | +| Test.java:5180:17:5180:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:5180:26:5180:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5181:10:5181:46 | new CloseWebSocketFrame(...) : CloseWebSocketFrame | semmle.label | new CloseWebSocketFrame(...) : CloseWebSocketFrame | +| Test.java:5181:44:5181:45 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:5182:9:5182:11 | out | semmle.label | out | +| Test.java:5187:16:5187:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5187:24:5187:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5188:10:5188:49 | new CloseWebSocketFrame(...) : CloseWebSocketFrame | semmle.label | new CloseWebSocketFrame(...) : CloseWebSocketFrame | +| Test.java:5188:47:5188:48 | in : String | semmle.label | in : String | +| Test.java:5189:9:5189:11 | out | semmle.label | out | +| Test.java:5194:16:5194:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5194:24:5194:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5195:10:5195:39 | new CloseWebSocketFrame(...) : CloseWebSocketFrame | semmle.label | new CloseWebSocketFrame(...) : CloseWebSocketFrame | +| Test.java:5195:37:5195:38 | in : String | semmle.label | in : String | +| Test.java:5196:9:5196:11 | out | semmle.label | out | +| Test.java:5201:29:5201:57 | (...)... : CloseWebSocketFrame | semmle.label | (...)... : CloseWebSocketFrame | +| Test.java:5201:50:5201:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5202:10:5202:11 | in : CloseWebSocketFrame | semmle.label | in : CloseWebSocketFrame | +| Test.java:5202:10:5202:24 | reasonText(...) : String | semmle.label | reasonText(...) : String | +| Test.java:5203:9:5203:11 | out | semmle.label | out | +| Test.java:5208:17:5208:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:5208:26:5208:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5209:10:5209:43 | new ContinuationWebSocketFrame(...) : ContinuationWebSocketFrame | semmle.label | new ContinuationWebSocketFrame(...) : ContinuationWebSocketFrame | +| Test.java:5209:41:5209:42 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:5210:9:5210:11 | out | semmle.label | out | +| Test.java:5215:17:5215:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:5215:26:5215:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5216:10:5216:53 | new ContinuationWebSocketFrame(...) : ContinuationWebSocketFrame | semmle.label | new ContinuationWebSocketFrame(...) : ContinuationWebSocketFrame | +| Test.java:5216:51:5216:52 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:5217:9:5217:11 | out | semmle.label | out | +| Test.java:5222:16:5222:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5222:24:5222:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5223:10:5223:53 | new ContinuationWebSocketFrame(...) : ContinuationWebSocketFrame | semmle.label | new ContinuationWebSocketFrame(...) : ContinuationWebSocketFrame | +| Test.java:5223:51:5223:52 | in : String | semmle.label | in : String | +| Test.java:5224:9:5224:11 | out | semmle.label | out | +| Test.java:5229:36:5229:71 | (...)... : ContinuationWebSocketFrame | semmle.label | (...)... : ContinuationWebSocketFrame | +| Test.java:5229:64:5229:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5230:10:5230:11 | in : ContinuationWebSocketFrame | semmle.label | in : ContinuationWebSocketFrame | +| Test.java:5230:10:5230:18 | text(...) : String | semmle.label | text(...) : String | +| Test.java:5231:9:5231:11 | out | semmle.label | out | +| Test.java:5236:17:5236:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:5236:26:5236:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5237:10:5237:35 | new PingWebSocketFrame(...) : PingWebSocketFrame | semmle.label | new PingWebSocketFrame(...) : PingWebSocketFrame | +| Test.java:5237:33:5237:34 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:5238:9:5238:11 | out | semmle.label | out | +| Test.java:5243:17:5243:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:5243:26:5243:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5244:10:5244:45 | new PingWebSocketFrame(...) : PingWebSocketFrame | semmle.label | new PingWebSocketFrame(...) : PingWebSocketFrame | +| Test.java:5244:43:5244:44 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:5245:9:5245:11 | out | semmle.label | out | +| Test.java:5250:17:5250:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:5250:26:5250:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5251:10:5251:35 | new PongWebSocketFrame(...) : PongWebSocketFrame | semmle.label | new PongWebSocketFrame(...) : PongWebSocketFrame | +| Test.java:5251:33:5251:34 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:5252:9:5252:11 | out | semmle.label | out | +| Test.java:5257:17:5257:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:5257:26:5257:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5258:10:5258:45 | new PongWebSocketFrame(...) : PongWebSocketFrame | semmle.label | new PongWebSocketFrame(...) : PongWebSocketFrame | +| Test.java:5258:43:5258:44 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:5259:9:5259:11 | out | semmle.label | out | +| Test.java:5264:17:5264:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:5264:26:5264:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5265:10:5265:35 | new TextWebSocketFrame(...) : TextWebSocketFrame | semmle.label | new TextWebSocketFrame(...) : TextWebSocketFrame | +| Test.java:5265:33:5265:34 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:5266:9:5266:11 | out | semmle.label | out | +| Test.java:5271:16:5271:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5271:24:5271:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5272:10:5272:35 | new TextWebSocketFrame(...) : TextWebSocketFrame | semmle.label | new TextWebSocketFrame(...) : TextWebSocketFrame | +| Test.java:5272:33:5272:34 | in : String | semmle.label | in : String | +| Test.java:5273:9:5273:11 | out | semmle.label | out | +| Test.java:5278:17:5278:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:5278:26:5278:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5279:10:5279:45 | new TextWebSocketFrame(...) : TextWebSocketFrame | semmle.label | new TextWebSocketFrame(...) : TextWebSocketFrame | +| Test.java:5279:43:5279:44 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:5280:9:5280:11 | out | semmle.label | out | +| Test.java:5285:16:5285:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5285:24:5285:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5286:10:5286:45 | new TextWebSocketFrame(...) : TextWebSocketFrame | semmle.label | new TextWebSocketFrame(...) : TextWebSocketFrame | +| Test.java:5286:43:5286:44 | in : String | semmle.label | in : String | +| Test.java:5287:9:5287:11 | out | semmle.label | out | +| Test.java:5292:28:5292:55 | (...)... : TextWebSocketFrame | semmle.label | (...)... : TextWebSocketFrame | +| Test.java:5292:48:5292:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5293:10:5293:11 | in : TextWebSocketFrame | semmle.label | in : TextWebSocketFrame | +| Test.java:5293:10:5293:18 | text(...) : String | semmle.label | text(...) : String | +| Test.java:5294:9:5294:11 | out | semmle.label | out | +| Test.java:5299:22:5299:90 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5299:36:5299:90 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5299:58:5299:89 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5299:81:5299:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5300:10:5300:11 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5300:10:5300:23 | authority(...) : CharSequence | semmle.label | authority(...) : CharSequence | +| Test.java:5301:9:5301:11 | out | semmle.label | out | +| Test.java:5306:22:5306:43 | (...)... : Http2Headers | semmle.label | (...)... : Http2Headers | +| Test.java:5306:36:5306:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5307:10:5307:11 | in : Http2Headers | semmle.label | in : Http2Headers | +| Test.java:5307:10:5307:27 | authority(...) : Http2Headers | semmle.label | authority(...) : Http2Headers | +| Test.java:5308:9:5308:11 | out | semmle.label | out | +| Test.java:5313:22:5313:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:5313:36:5313:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5314:4:5314:6 | out [post update] : Http2Headers [, ] : CharSequence | semmle.label | out [post update] : Http2Headers [, ] : CharSequence | +| Test.java:5314:18:5314:19 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:5315:9:5315:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5315:28:5315:42 | getElement(...) : Entry [] : CharSequence | semmle.label | getElement(...) : Entry [] : CharSequence | +| Test.java:5315:39:5315:41 | out : Http2Headers [, ] : CharSequence | semmle.label | out : Http2Headers [, ] : CharSequence | +| Test.java:5320:22:5320:90 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5320:36:5320:90 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5320:58:5320:89 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5320:81:5320:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5321:10:5321:11 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5321:10:5321:20 | method(...) : CharSequence | semmle.label | method(...) : CharSequence | +| Test.java:5322:9:5322:11 | out | semmle.label | out | +| Test.java:5327:22:5327:43 | (...)... : Http2Headers | semmle.label | (...)... : Http2Headers | +| Test.java:5327:36:5327:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5328:10:5328:11 | in : Http2Headers | semmle.label | in : Http2Headers | +| Test.java:5328:10:5328:24 | method(...) : Http2Headers | semmle.label | method(...) : Http2Headers | +| Test.java:5329:9:5329:11 | out | semmle.label | out | +| Test.java:5334:22:5334:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:5334:36:5334:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5335:4:5335:6 | out [post update] : Http2Headers [, ] : CharSequence | semmle.label | out [post update] : Http2Headers [, ] : CharSequence | +| Test.java:5335:15:5335:16 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:5336:9:5336:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5336:28:5336:42 | getElement(...) : Entry [] : CharSequence | semmle.label | getElement(...) : Entry [] : CharSequence | +| Test.java:5336:39:5336:41 | out : Http2Headers [, ] : CharSequence | semmle.label | out : Http2Headers [, ] : CharSequence | +| Test.java:5341:22:5341:90 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5341:36:5341:90 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5341:58:5341:89 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5341:81:5341:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5342:10:5342:11 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5342:10:5342:18 | path(...) : CharSequence | semmle.label | path(...) : CharSequence | +| Test.java:5343:9:5343:11 | out | semmle.label | out | +| Test.java:5348:22:5348:43 | (...)... : Http2Headers | semmle.label | (...)... : Http2Headers | +| Test.java:5348:36:5348:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5349:10:5349:11 | in : Http2Headers | semmle.label | in : Http2Headers | +| Test.java:5349:10:5349:22 | path(...) : Http2Headers | semmle.label | path(...) : Http2Headers | +| Test.java:5350:9:5350:11 | out | semmle.label | out | +| Test.java:5355:22:5355:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:5355:36:5355:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5356:4:5356:6 | out [post update] : Http2Headers [, ] : CharSequence | semmle.label | out [post update] : Http2Headers [, ] : CharSequence | +| Test.java:5356:13:5356:14 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:5357:9:5357:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5357:28:5357:42 | getElement(...) : Entry [] : CharSequence | semmle.label | getElement(...) : Entry [] : CharSequence | +| Test.java:5357:39:5357:41 | out : Http2Headers [, ] : CharSequence | semmle.label | out : Http2Headers [, ] : CharSequence | +| Test.java:5362:22:5362:90 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5362:36:5362:90 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5362:58:5362:89 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5362:81:5362:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5363:10:5363:11 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5363:10:5363:20 | scheme(...) : CharSequence | semmle.label | scheme(...) : CharSequence | +| Test.java:5364:9:5364:11 | out | semmle.label | out | +| Test.java:5369:22:5369:43 | (...)... : Http2Headers | semmle.label | (...)... : Http2Headers | +| Test.java:5369:36:5369:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5370:10:5370:11 | in : Http2Headers | semmle.label | in : Http2Headers | +| Test.java:5370:10:5370:24 | scheme(...) : Http2Headers | semmle.label | scheme(...) : Http2Headers | +| Test.java:5371:9:5371:11 | out | semmle.label | out | +| Test.java:5376:22:5376:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:5376:36:5376:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5377:4:5377:6 | out [post update] : Http2Headers [, ] : CharSequence | semmle.label | out [post update] : Http2Headers [, ] : CharSequence | +| Test.java:5377:15:5377:16 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:5378:9:5378:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5378:28:5378:42 | getElement(...) : Entry [] : CharSequence | semmle.label | getElement(...) : Entry [] : CharSequence | +| Test.java:5378:39:5378:41 | out : Http2Headers [, ] : CharSequence | semmle.label | out : Http2Headers [, ] : CharSequence | +| Test.java:5383:22:5383:90 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5383:36:5383:90 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5383:58:5383:89 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5383:81:5383:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5384:10:5384:11 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5384:10:5384:20 | status(...) : CharSequence | semmle.label | status(...) : CharSequence | +| Test.java:5385:9:5385:11 | out | semmle.label | out | +| Test.java:5390:22:5390:43 | (...)... : Http2Headers | semmle.label | (...)... : Http2Headers | +| Test.java:5390:36:5390:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5391:10:5391:11 | in : Http2Headers | semmle.label | in : Http2Headers | +| Test.java:5391:10:5391:24 | status(...) : Http2Headers | semmle.label | status(...) : Http2Headers | +| Test.java:5392:9:5392:11 | out | semmle.label | out | +| Test.java:5397:22:5397:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:5397:36:5397:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5398:4:5398:6 | out [post update] : Http2Headers [, ] : CharSequence | semmle.label | out [post update] : Http2Headers [, ] : CharSequence | +| Test.java:5398:15:5398:16 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:5399:9:5399:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5399:28:5399:42 | getElement(...) : Entry [] : CharSequence | semmle.label | getElement(...) : Entry [] : CharSequence | +| Test.java:5399:39:5399:41 | out : Http2Headers [, ] : CharSequence | semmle.label | out : Http2Headers [, ] : CharSequence | +| Test.java:5404:22:5404:90 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5404:36:5404:90 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5404:58:5404:89 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5404:81:5404:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5405:10:5405:11 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5405:10:5405:31 | valueIterator(...) : Iterator [] : Object | semmle.label | valueIterator(...) : Iterator [] : Object | +| Test.java:5406:9:5406:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5406:20:5406:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:5411:27:5411:53 | (...)... : Http2HeadersFrame | semmle.label | (...)... : Http2HeadersFrame | +| Test.java:5411:46:5411:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5412:10:5412:11 | in : Http2HeadersFrame | semmle.label | in : Http2HeadersFrame | +| Test.java:5412:10:5412:21 | headers(...) : Http2Headers | semmle.label | headers(...) : Http2Headers | +| Test.java:5413:9:5413:11 | out | semmle.label | out | +| Test.java:5418:31:5418:61 | (...)... : Http2PushPromiseFrame | semmle.label | (...)... : Http2PushPromiseFrame | +| Test.java:5418:54:5418:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5419:10:5419:11 | in : Http2PushPromiseFrame | semmle.label | in : Http2PushPromiseFrame | +| Test.java:5419:10:5419:26 | http2Headers(...) : Http2Headers | semmle.label | http2Headers(...) : Http2Headers | +| Test.java:5420:9:5420:11 | out | semmle.label | out | +| Test.java:5425:22:5425:88 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5425:36:5425:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5425:58:5425:87 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5425:79:5425:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5426:48:5426:49 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5426:52:5426:54 | out [post update] : FullHttpMessage | semmle.label | out [post update] : FullHttpMessage | +| Test.java:5427:9:5427:11 | out | semmle.label | out | +| Test.java:5432:22:5432:90 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5432:36:5432:90 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5432:58:5432:89 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5432:81:5432:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5433:48:5433:49 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5433:52:5433:54 | out [post update] : FullHttpMessage | semmle.label | out [post update] : FullHttpMessage | +| Test.java:5434:9:5434:11 | out | semmle.label | out | +| Test.java:5439:22:5439:88 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5439:36:5439:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5439:58:5439:87 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5439:79:5439:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5440:48:5440:49 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5440:52:5440:54 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5441:9:5441:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5441:26:5441:40 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5441:37:5441:39 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5446:22:5446:90 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5446:36:5446:90 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5446:58:5446:89 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5446:81:5446:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5447:48:5447:49 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5447:52:5447:54 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5448:9:5448:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5448:28:5448:42 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5448:39:5448:41 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5453:17:5453:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:5453:26:5453:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5454:10:5454:79 | toFullHttpRequest(...) : FullHttpRequest | semmle.label | toFullHttpRequest(...) : FullHttpRequest | +| Test.java:5454:70:5454:71 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:5455:9:5455:11 | out | semmle.label | out | +| Test.java:5460:22:5460:88 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5460:36:5460:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5460:58:5460:87 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5460:79:5460:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5461:10:5461:74 | toFullHttpRequest(...) : FullHttpRequest | semmle.label | toFullHttpRequest(...) : FullHttpRequest | +| Test.java:5461:50:5461:51 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5462:9:5462:11 | out | semmle.label | out | +| Test.java:5467:22:5467:88 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5467:36:5467:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5467:58:5467:87 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5467:79:5467:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5468:10:5468:83 | toFullHttpRequest(...) : FullHttpRequest | semmle.label | toFullHttpRequest(...) : FullHttpRequest | +| Test.java:5468:50:5468:51 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5469:9:5469:11 | out | semmle.label | out | +| Test.java:5474:22:5474:90 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5474:36:5474:90 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5474:58:5474:89 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5474:81:5474:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5475:10:5475:74 | toFullHttpRequest(...) : FullHttpRequest | semmle.label | toFullHttpRequest(...) : FullHttpRequest | +| Test.java:5475:50:5475:51 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5476:9:5476:11 | out | semmle.label | out | +| Test.java:5481:22:5481:90 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5481:36:5481:90 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5481:58:5481:89 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5481:81:5481:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5482:10:5482:83 | toFullHttpRequest(...) : FullHttpRequest | semmle.label | toFullHttpRequest(...) : FullHttpRequest | +| Test.java:5482:50:5482:51 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5483:9:5483:11 | out | semmle.label | out | +| Test.java:5488:17:5488:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:5488:26:5488:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5489:10:5489:80 | toFullHttpResponse(...) : FullHttpResponse | semmle.label | toFullHttpResponse(...) : FullHttpResponse | +| Test.java:5489:71:5489:72 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:5490:9:5490:11 | out | semmle.label | out | +| Test.java:5495:22:5495:88 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5495:36:5495:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5495:58:5495:87 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5495:79:5495:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5496:10:5496:75 | toFullHttpResponse(...) : FullHttpResponse | semmle.label | toFullHttpResponse(...) : FullHttpResponse | +| Test.java:5496:51:5496:52 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5497:9:5497:11 | out | semmle.label | out | +| Test.java:5502:22:5502:88 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5502:36:5502:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5502:58:5502:87 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5502:79:5502:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5503:10:5503:84 | toFullHttpResponse(...) : FullHttpResponse | semmle.label | toFullHttpResponse(...) : FullHttpResponse | +| Test.java:5503:51:5503:52 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5504:9:5504:11 | out | semmle.label | out | +| Test.java:5509:22:5509:90 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5509:36:5509:90 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5509:58:5509:89 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5509:81:5509:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5510:10:5510:75 | toFullHttpResponse(...) : FullHttpResponse | semmle.label | toFullHttpResponse(...) : FullHttpResponse | +| Test.java:5510:51:5510:52 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5511:9:5511:11 | out | semmle.label | out | +| Test.java:5516:22:5516:90 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5516:36:5516:90 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5516:58:5516:89 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5516:81:5516:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5517:10:5517:84 | toFullHttpResponse(...) : FullHttpResponse | semmle.label | toFullHttpResponse(...) : FullHttpResponse | +| Test.java:5517:51:5517:52 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5518:9:5518:11 | out | semmle.label | out | +| Test.java:5523:21:5523:86 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5523:34:5523:86 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5523:56:5523:85 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5523:77:5523:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5524:38:5524:39 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5524:42:5524:44 | out [post update] : Http2Headers [, ] : Object | semmle.label | out [post update] : Http2Headers [, ] : Object | +| Test.java:5525:9:5525:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5525:26:5525:40 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5525:37:5525:39 | out : Http2Headers [, ] : Object | semmle.label | out : Http2Headers [, ] : Object | +| Test.java:5530:21:5530:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5530:34:5530:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5530:56:5530:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5530:79:5530:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5531:38:5531:39 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5531:42:5531:44 | out [post update] : Http2Headers [, ] : Object | semmle.label | out [post update] : Http2Headers [, ] : Object | +| Test.java:5532:9:5532:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5532:28:5532:42 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5532:39:5532:41 | out : Http2Headers [, ] : Object | semmle.label | out : Http2Headers [, ] : Object | +| Test.java:5537:21:5537:86 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5537:34:5537:86 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5537:56:5537:85 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5537:77:5537:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5538:10:5538:53 | toHttp2Headers(...) : Http2Headers [, ] : Object | semmle.label | toHttp2Headers(...) : Http2Headers [, ] : Object | +| Test.java:5538:44:5538:45 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5539:9:5539:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5539:26:5539:40 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5539:37:5539:39 | out : Http2Headers [, ] : Object | semmle.label | out : Http2Headers [, ] : Object | +| Test.java:5544:21:5544:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5544:34:5544:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5544:56:5544:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5544:79:5544:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5545:10:5545:53 | toHttp2Headers(...) : Http2Headers [, ] : Object | semmle.label | toHttp2Headers(...) : Http2Headers [, ] : Object | +| Test.java:5545:44:5545:45 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5546:9:5546:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5546:28:5546:42 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5546:39:5546:41 | out : Http2Headers [, ] : Object | semmle.label | out : Http2Headers [, ] : Object | +| Test.java:5551:22:5551:88 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5551:36:5551:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5551:58:5551:87 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5551:79:5551:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5552:10:5552:55 | toHttpRequest(...) : HttpRequest | semmle.label | toHttpRequest(...) : HttpRequest | +| Test.java:5552:46:5552:47 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5553:9:5553:11 | out | semmle.label | out | +| Test.java:5558:22:5558:90 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5558:36:5558:90 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5558:58:5558:89 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5558:81:5558:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5559:10:5559:55 | toHttpRequest(...) : HttpRequest | semmle.label | toHttpRequest(...) : HttpRequest | +| Test.java:5559:46:5559:47 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5560:9:5560:11 | out | semmle.label | out | +| Test.java:5565:22:5565:88 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5565:36:5565:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5565:58:5565:87 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5565:79:5565:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5566:10:5566:56 | toHttpResponse(...) : HttpResponse | semmle.label | toHttpResponse(...) : HttpResponse | +| Test.java:5566:47:5566:48 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5567:9:5567:11 | out | semmle.label | out | +| Test.java:5572:22:5572:90 | (...)... : Http2Headers [, ] : Object | semmle.label | (...)... : Http2Headers [, ] : Object | +| Test.java:5572:36:5572:90 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5572:58:5572:89 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5572:81:5572:88 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5573:10:5573:56 | toHttpResponse(...) : HttpResponse | semmle.label | toHttpResponse(...) : HttpResponse | +| Test.java:5573:47:5573:48 | in : Http2Headers [, ] : Object | semmle.label | in : Http2Headers [, ] : Object | +| Test.java:5574:9:5574:11 | out | semmle.label | out | +| Test.java:5579:22:5579:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:5579:36:5579:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5580:4:5580:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5580:12:5580:13 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:5581:9:5581:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5581:26:5581:40 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5581:37:5581:39 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5586:18:5586:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:5586:28:5586:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5586:36:5586:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5587:4:5587:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5587:32:5587:33 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:5588:9:5588:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5588:28:5588:42 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5588:39:5588:41 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5593:22:5593:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:5593:36:5593:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5594:4:5594:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5594:12:5594:13 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:5595:9:5595:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5595:26:5595:40 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5595:37:5595:39 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5600:16:5600:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:5600:24:5600:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5601:4:5601:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5601:32:5601:33 | in : Object | semmle.label | in : Object | +| Test.java:5602:9:5602:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5602:28:5602:42 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5602:39:5602:41 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5607:21:5607:86 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5607:34:5607:86 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5607:56:5607:85 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5607:77:5607:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5608:4:5608:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5608:12:5608:13 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5609:9:5609:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5609:26:5609:40 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5609:37:5609:39 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5614:21:5614:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5614:34:5614:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5614:56:5614:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5614:79:5614:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5615:4:5615:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5615:12:5615:13 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5616:9:5616:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5616:28:5616:42 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5616:39:5616:41 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5621:16:5621:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5621:24:5621:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5622:4:5622:6 | out [post update] : HttpHeaders [, ] : String | semmle.label | out [post update] : HttpHeaders [, ] : String | +| Test.java:5622:12:5622:13 | in : String | semmle.label | in : String | +| Test.java:5623:9:5623:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5623:26:5623:40 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:5623:37:5623:39 | out : HttpHeaders [, ] : String | semmle.label | out : HttpHeaders [, ] : String | +| Test.java:5628:18:5628:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:5628:28:5628:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5628:36:5628:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5629:4:5629:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5629:26:5629:27 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:5630:9:5630:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5630:28:5630:42 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5630:39:5630:41 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5635:16:5635:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5635:24:5635:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5636:4:5636:6 | out [post update] : HttpHeaders [, ] : String | semmle.label | out [post update] : HttpHeaders [, ] : String | +| Test.java:5636:12:5636:13 | in : String | semmle.label | in : String | +| Test.java:5637:9:5637:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5637:26:5637:40 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:5637:37:5637:39 | out : HttpHeaders [, ] : String | semmle.label | out : HttpHeaders [, ] : String | +| Test.java:5642:16:5642:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:5642:24:5642:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5643:4:5643:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5643:26:5643:27 | in : Object | semmle.label | in : Object | +| Test.java:5644:9:5644:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5644:28:5644:42 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5644:39:5644:41 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5649:21:5649:41 | (...)... : HttpHeaders | semmle.label | (...)... : HttpHeaders | +| Test.java:5649:34:5649:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5650:10:5650:11 | in : HttpHeaders | semmle.label | in : HttpHeaders | +| Test.java:5650:10:5650:51 | add(...) : HttpHeaders | semmle.label | add(...) : HttpHeaders | +| Test.java:5651:9:5651:11 | out | semmle.label | out | +| Test.java:5656:21:5656:41 | (...)... : HttpHeaders | semmle.label | (...)... : HttpHeaders | +| Test.java:5656:34:5656:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5657:10:5657:11 | in : HttpHeaders | semmle.label | in : HttpHeaders | +| Test.java:5657:10:5657:49 | add(...) : HttpHeaders | semmle.label | add(...) : HttpHeaders | +| Test.java:5658:9:5658:11 | out | semmle.label | out | +| Test.java:5663:21:5663:41 | (...)... : HttpHeaders | semmle.label | (...)... : HttpHeaders | +| Test.java:5663:34:5663:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5664:10:5664:11 | in : HttpHeaders | semmle.label | in : HttpHeaders | +| Test.java:5664:10:5664:45 | add(...) : HttpHeaders | semmle.label | add(...) : HttpHeaders | +| Test.java:5665:9:5665:11 | out | semmle.label | out | +| Test.java:5670:21:5670:41 | (...)... : HttpHeaders | semmle.label | (...)... : HttpHeaders | +| Test.java:5670:34:5670:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5671:10:5671:11 | in : HttpHeaders | semmle.label | in : HttpHeaders | +| Test.java:5671:10:5671:43 | add(...) : HttpHeaders | semmle.label | add(...) : HttpHeaders | +| Test.java:5672:9:5672:11 | out | semmle.label | out | +| Test.java:5677:21:5677:41 | (...)... : HttpHeaders | semmle.label | (...)... : HttpHeaders | +| Test.java:5677:34:5677:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5678:10:5678:11 | in : HttpHeaders | semmle.label | in : HttpHeaders | +| Test.java:5678:10:5678:21 | add(...) : HttpHeaders | semmle.label | add(...) : HttpHeaders | +| Test.java:5679:9:5679:11 | out | semmle.label | out | +| Test.java:5684:21:5684:41 | (...)... : HttpHeaders | semmle.label | (...)... : HttpHeaders | +| Test.java:5684:34:5684:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5685:10:5685:11 | in : HttpHeaders | semmle.label | in : HttpHeaders | +| Test.java:5685:10:5685:27 | addInt(...) : HttpHeaders | semmle.label | addInt(...) : HttpHeaders | +| Test.java:5686:9:5686:11 | out | semmle.label | out | +| Test.java:5691:22:5691:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:5691:36:5691:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5692:4:5692:6 | out [post update] : HttpHeaders [, ] : CharSequence | semmle.label | out [post update] : HttpHeaders [, ] : CharSequence | +| Test.java:5692:15:5692:16 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:5693:9:5693:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5693:26:5693:40 | getElement(...) : Entry [] : CharSequence | semmle.label | getElement(...) : Entry [] : CharSequence | +| Test.java:5693:37:5693:39 | out : HttpHeaders [, ] : CharSequence | semmle.label | out : HttpHeaders [, ] : CharSequence | +| Test.java:5698:21:5698:41 | (...)... : HttpHeaders | semmle.label | (...)... : HttpHeaders | +| Test.java:5698:34:5698:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5699:10:5699:11 | in : HttpHeaders | semmle.label | in : HttpHeaders | +| Test.java:5699:10:5699:36 | addShort(...) : HttpHeaders | semmle.label | addShort(...) : HttpHeaders | +| Test.java:5700:9:5700:11 | out | semmle.label | out | +| Test.java:5705:22:5705:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:5705:36:5705:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5706:4:5706:6 | out [post update] : HttpHeaders [, ] : CharSequence | semmle.label | out [post update] : HttpHeaders [, ] : CharSequence | +| Test.java:5706:17:5706:18 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:5707:9:5707:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5707:26:5707:40 | getElement(...) : Entry [] : CharSequence | semmle.label | getElement(...) : Entry [] : CharSequence | +| Test.java:5707:37:5707:39 | out : HttpHeaders [, ] : CharSequence | semmle.label | out : HttpHeaders [, ] : CharSequence | +| Test.java:5712:21:5712:86 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5712:34:5712:86 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5712:56:5712:85 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5712:77:5712:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5713:10:5713:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5713:10:5713:18 | copy(...) : HttpHeaders [, ] : Object | semmle.label | copy(...) : HttpHeaders [, ] : Object | +| Test.java:5714:9:5714:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5714:26:5714:40 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5714:37:5714:39 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5719:21:5719:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5719:34:5719:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5719:56:5719:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5719:79:5719:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5720:10:5720:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5720:10:5720:18 | copy(...) : HttpHeaders [, ] : Object | semmle.label | copy(...) : HttpHeaders [, ] : Object | +| Test.java:5721:9:5721:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5721:28:5721:42 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5721:39:5721:41 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5726:21:5726:86 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5726:34:5726:86 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5726:56:5726:85 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5726:77:5726:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5727:10:5727:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5727:10:5727:21 | entries(...) : List [, ] : Object | semmle.label | entries(...) : List [, ] : Object | +| Test.java:5728:9:5728:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5728:26:5728:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:5728:37:5728:39 | out : List [, ] : Object | semmle.label | out : List [, ] : Object | +| Test.java:5733:21:5733:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5733:34:5733:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5733:56:5733:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5733:79:5733:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5734:10:5734:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5734:10:5734:21 | entries(...) : List [, ] : Object | semmle.label | entries(...) : List [, ] : Object | +| Test.java:5735:9:5735:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5735:28:5735:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:5735:39:5735:41 | out : List [, ] : Object | semmle.label | out : List [, ] : Object | +| Test.java:5740:21:5740:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5740:34:5740:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5740:56:5740:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5740:79:5740:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5741:10:5741:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5741:10:5741:35 | get(...) : String | semmle.label | get(...) : String | +| Test.java:5742:9:5742:11 | out | semmle.label | out | +| Test.java:5747:21:5747:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5747:34:5747:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5747:56:5747:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5747:79:5747:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5748:10:5748:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5748:10:5748:29 | get(...) : String | semmle.label | get(...) : String | +| Test.java:5749:9:5749:11 | out | semmle.label | out | +| Test.java:5754:21:5754:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5754:34:5754:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5754:56:5754:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5754:79:5754:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5755:10:5755:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5755:10:5755:27 | get(...) : String | semmle.label | get(...) : String | +| Test.java:5756:9:5756:11 | out | semmle.label | out | +| Test.java:5761:16:5761:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5761:24:5761:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5763:10:5763:31 | get(...) : String | semmle.label | get(...) : String | +| Test.java:5763:29:5763:30 | in : String | semmle.label | in : String | +| Test.java:5764:9:5764:11 | out | semmle.label | out | +| Test.java:5769:21:5769:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5769:34:5769:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5769:56:5769:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5769:79:5769:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5770:10:5770:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5770:10:5770:38 | getAll(...) : List [] : Object | semmle.label | getAll(...) : List [] : Object | +| Test.java:5771:9:5771:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5771:20:5771:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:5776:21:5776:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5776:34:5776:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5776:56:5776:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5776:79:5776:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5777:10:5777:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5777:10:5777:32 | getAll(...) : List [] : Object | semmle.label | getAll(...) : List [] : Object | +| Test.java:5778:9:5778:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5778:20:5778:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:5783:21:5783:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5783:34:5783:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5783:56:5783:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5783:79:5783:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5784:10:5784:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5784:10:5784:32 | getAllAsString(...) : List [] : Object | semmle.label | getAllAsString(...) : List [] : Object | +| Test.java:5785:9:5785:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5785:20:5785:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:5790:21:5790:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5790:34:5790:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5790:56:5790:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5790:79:5790:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5791:10:5791:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5791:10:5791:29 | getAsString(...) : String | semmle.label | getAsString(...) : String | +| Test.java:5792:9:5792:11 | out | semmle.label | out | +| Test.java:5797:21:5797:41 | (...)... : HttpMessage | semmle.label | (...)... : HttpMessage | +| Test.java:5797:34:5797:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5798:10:5798:54 | getHeader(...) : String | semmle.label | getHeader(...) : String | +| Test.java:5798:32:5798:33 | in : HttpMessage | semmle.label | in : HttpMessage | +| Test.java:5799:9:5799:11 | out | semmle.label | out | +| Test.java:5804:21:5804:41 | (...)... : HttpMessage | semmle.label | (...)... : HttpMessage | +| Test.java:5804:34:5804:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5805:10:5805:68 | getHeader(...) : String | semmle.label | getHeader(...) : String | +| Test.java:5805:32:5805:33 | in : HttpMessage | semmle.label | in : HttpMessage | +| Test.java:5806:9:5806:11 | out | semmle.label | out | +| Test.java:5811:21:5811:41 | (...)... : HttpMessage | semmle.label | (...)... : HttpMessage | +| Test.java:5811:34:5811:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5812:10:5812:48 | getHeader(...) : String | semmle.label | getHeader(...) : String | +| Test.java:5812:32:5812:33 | in : HttpMessage | semmle.label | in : HttpMessage | +| Test.java:5813:9:5813:11 | out | semmle.label | out | +| Test.java:5818:21:5818:41 | (...)... : HttpMessage | semmle.label | (...)... : HttpMessage | +| Test.java:5818:34:5818:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5819:10:5819:62 | getHeader(...) : String | semmle.label | getHeader(...) : String | +| Test.java:5819:32:5819:33 | in : HttpMessage | semmle.label | in : HttpMessage | +| Test.java:5820:9:5820:11 | out | semmle.label | out | +| Test.java:5825:16:5825:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5825:24:5825:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5826:10:5826:73 | getHeader(...) : String | semmle.label | getHeader(...) : String | +| Test.java:5826:71:5826:72 | in : String | semmle.label | in : String | +| Test.java:5827:9:5827:11 | out | semmle.label | out | +| Test.java:5832:16:5832:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5832:24:5832:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5833:10:5833:67 | getHeader(...) : String | semmle.label | getHeader(...) : String | +| Test.java:5833:65:5833:66 | in : String | semmle.label | in : String | +| Test.java:5834:9:5834:11 | out | semmle.label | out | +| Test.java:5839:21:5839:41 | (...)... : HttpMessage | semmle.label | (...)... : HttpMessage | +| Test.java:5839:34:5839:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5840:10:5840:32 | getHost(...) : String | semmle.label | getHost(...) : String | +| Test.java:5840:30:5840:31 | in : HttpMessage | semmle.label | in : HttpMessage | +| Test.java:5841:9:5841:11 | out | semmle.label | out | +| Test.java:5846:21:5846:41 | (...)... : HttpMessage | semmle.label | (...)... : HttpMessage | +| Test.java:5846:34:5846:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5847:10:5847:38 | getHost(...) : String | semmle.label | getHost(...) : String | +| Test.java:5847:30:5847:31 | in : HttpMessage | semmle.label | in : HttpMessage | +| Test.java:5848:9:5848:11 | out | semmle.label | out | +| Test.java:5853:16:5853:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5853:24:5853:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5854:10:5854:38 | getHost(...) : String | semmle.label | getHost(...) : String | +| Test.java:5854:36:5854:37 | in : String | semmle.label | in : String | +| Test.java:5855:9:5855:11 | out | semmle.label | out | +| Test.java:5860:21:5860:86 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5860:34:5860:86 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5860:56:5860:85 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5860:77:5860:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5861:10:5861:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5861:10:5861:30 | iteratorAsString(...) : Iterator [, ] : Object | semmle.label | iteratorAsString(...) : Iterator [, ] : Object | +| Test.java:5862:9:5862:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5862:26:5862:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:5862:37:5862:39 | out : Iterator [, ] : Object | semmle.label | out : Iterator [, ] : Object | +| Test.java:5867:21:5867:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5867:34:5867:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5867:56:5867:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5867:79:5867:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5868:10:5868:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5868:10:5868:30 | iteratorAsString(...) : Iterator [, ] : Object | semmle.label | iteratorAsString(...) : Iterator [, ] : Object | +| Test.java:5869:9:5869:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5869:28:5869:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:5869:39:5869:41 | out : Iterator [, ] : Object | semmle.label | out : Iterator [, ] : Object | +| Test.java:5874:21:5874:86 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5874:34:5874:86 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5874:56:5874:85 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5874:77:5874:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5875:10:5875:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5875:10:5875:34 | iteratorCharSequence(...) : Iterator [, ] : Object | semmle.label | iteratorCharSequence(...) : Iterator [, ] : Object | +| Test.java:5876:9:5876:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5876:26:5876:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:5876:37:5876:39 | out : Iterator [, ] : Object | semmle.label | out : Iterator [, ] : Object | +| Test.java:5881:21:5881:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5881:34:5881:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5881:56:5881:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5881:79:5881:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5882:10:5882:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5882:10:5882:34 | iteratorCharSequence(...) : Iterator [, ] : Object | semmle.label | iteratorCharSequence(...) : Iterator [, ] : Object | +| Test.java:5883:9:5883:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5883:28:5883:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:5883:39:5883:41 | out : Iterator [, ] : Object | semmle.label | out : Iterator [, ] : Object | +| Test.java:5888:21:5888:86 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5888:34:5888:86 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5888:56:5888:85 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5888:77:5888:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5889:10:5889:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5889:10:5889:19 | names(...) : Set [] : Object | semmle.label | names(...) : Set [] : Object | +| Test.java:5890:9:5890:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:5890:20:5890:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:5895:16:5895:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5895:24:5895:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5896:10:5896:34 | newEntity(...) : CharSequence | semmle.label | newEntity(...) : CharSequence | +| Test.java:5896:32:5896:33 | in : String | semmle.label | in : String | +| Test.java:5897:9:5897:11 | out | semmle.label | out | +| Test.java:5902:21:5902:41 | (...)... : HttpHeaders | semmle.label | (...)... : HttpHeaders | +| Test.java:5902:34:5902:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5903:10:5903:11 | in : HttpHeaders | semmle.label | in : HttpHeaders | +| Test.java:5903:10:5903:38 | remove(...) : HttpHeaders | semmle.label | remove(...) : HttpHeaders | +| Test.java:5904:9:5904:11 | out | semmle.label | out | +| Test.java:5909:21:5909:41 | (...)... : HttpHeaders | semmle.label | (...)... : HttpHeaders | +| Test.java:5909:34:5909:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5910:10:5910:11 | in : HttpHeaders | semmle.label | in : HttpHeaders | +| Test.java:5910:10:5910:32 | remove(...) : HttpHeaders | semmle.label | remove(...) : HttpHeaders | +| Test.java:5911:9:5911:11 | out | semmle.label | out | +| Test.java:5916:22:5916:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:5916:36:5916:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5917:4:5917:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5917:12:5917:13 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:5918:9:5918:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5918:26:5918:40 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5918:37:5918:39 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5923:18:5923:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:5923:28:5923:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5923:36:5923:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5924:4:5924:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5924:32:5924:33 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:5925:9:5925:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5925:28:5925:42 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5925:39:5925:41 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5930:22:5930:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:5930:36:5930:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5931:4:5931:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5931:12:5931:13 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:5932:9:5932:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5932:26:5932:40 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5932:37:5932:39 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5937:16:5937:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:5937:24:5937:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5938:4:5938:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5938:32:5938:33 | in : Object | semmle.label | in : Object | +| Test.java:5939:9:5939:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5939:28:5939:42 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5939:39:5939:41 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5944:21:5944:86 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5944:34:5944:86 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5944:56:5944:85 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:5944:77:5944:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5945:4:5945:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5945:12:5945:13 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5946:9:5946:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5946:26:5946:40 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5946:37:5946:39 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5951:21:5951:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:5951:34:5951:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:5951:56:5951:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:5951:79:5951:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5952:4:5952:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5952:12:5952:13 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:5953:9:5953:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5953:28:5953:42 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5953:39:5953:41 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5958:16:5958:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5958:24:5958:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5959:4:5959:6 | out [post update] : HttpHeaders [, ] : String | semmle.label | out [post update] : HttpHeaders [, ] : String | +| Test.java:5959:12:5959:13 | in : String | semmle.label | in : String | +| Test.java:5960:9:5960:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5960:26:5960:40 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:5960:37:5960:39 | out : HttpHeaders [, ] : String | semmle.label | out : HttpHeaders [, ] : String | +| Test.java:5965:18:5965:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:5965:28:5965:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:5965:36:5965:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5966:4:5966:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5966:26:5966:27 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:5967:9:5967:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5967:28:5967:42 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5967:39:5967:41 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5972:16:5972:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:5972:24:5972:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5973:4:5973:6 | out [post update] : HttpHeaders [, ] : String | semmle.label | out [post update] : HttpHeaders [, ] : String | +| Test.java:5973:12:5973:13 | in : String | semmle.label | in : String | +| Test.java:5974:9:5974:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:5974:26:5974:40 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | +| Test.java:5974:37:5974:39 | out : HttpHeaders [, ] : String | semmle.label | out : HttpHeaders [, ] : String | +| Test.java:5979:16:5979:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:5979:24:5979:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5980:4:5980:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:5980:26:5980:27 | in : Object | semmle.label | in : Object | +| Test.java:5981:9:5981:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:5981:28:5981:42 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:5981:39:5981:41 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:5986:21:5986:41 | (...)... : HttpHeaders | semmle.label | (...)... : HttpHeaders | +| Test.java:5986:34:5986:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5987:10:5987:11 | in : HttpHeaders | semmle.label | in : HttpHeaders | +| Test.java:5987:10:5987:51 | set(...) : HttpHeaders | semmle.label | set(...) : HttpHeaders | +| Test.java:5988:9:5988:11 | out | semmle.label | out | +| Test.java:5993:21:5993:41 | (...)... : HttpHeaders | semmle.label | (...)... : HttpHeaders | +| Test.java:5993:34:5993:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:5994:10:5994:11 | in : HttpHeaders | semmle.label | in : HttpHeaders | +| Test.java:5994:10:5994:49 | set(...) : HttpHeaders | semmle.label | set(...) : HttpHeaders | +| Test.java:5995:9:5995:11 | out | semmle.label | out | +| Test.java:6000:21:6000:41 | (...)... : HttpHeaders | semmle.label | (...)... : HttpHeaders | +| Test.java:6000:34:6000:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6001:10:6001:11 | in : HttpHeaders | semmle.label | in : HttpHeaders | +| Test.java:6001:10:6001:45 | set(...) : HttpHeaders | semmle.label | set(...) : HttpHeaders | +| Test.java:6002:9:6002:11 | out | semmle.label | out | +| Test.java:6007:21:6007:41 | (...)... : HttpHeaders | semmle.label | (...)... : HttpHeaders | +| Test.java:6007:34:6007:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6008:10:6008:11 | in : HttpHeaders | semmle.label | in : HttpHeaders | +| Test.java:6008:10:6008:43 | set(...) : HttpHeaders | semmle.label | set(...) : HttpHeaders | +| Test.java:6009:9:6009:11 | out | semmle.label | out | +| Test.java:6014:21:6014:41 | (...)... : HttpHeaders | semmle.label | (...)... : HttpHeaders | +| Test.java:6014:34:6014:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6015:10:6015:11 | in : HttpHeaders | semmle.label | in : HttpHeaders | +| Test.java:6015:10:6015:21 | set(...) : HttpHeaders | semmle.label | set(...) : HttpHeaders | +| Test.java:6016:9:6016:11 | out | semmle.label | out | +| Test.java:6021:21:6021:41 | (...)... : HttpHeaders | semmle.label | (...)... : HttpHeaders | +| Test.java:6021:34:6021:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6022:10:6022:11 | in : HttpHeaders | semmle.label | in : HttpHeaders | +| Test.java:6022:10:6022:24 | setAll(...) : HttpHeaders | semmle.label | setAll(...) : HttpHeaders | +| Test.java:6023:9:6023:11 | out | semmle.label | out | +| Test.java:6028:21:6028:86 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:6028:34:6028:86 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6028:56:6028:85 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:6028:77:6028:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6029:4:6029:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:6029:15:6029:16 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:6030:9:6030:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6030:26:6030:40 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:6030:37:6030:39 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:6035:21:6035:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:6035:34:6035:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6035:56:6035:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:6035:79:6035:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6036:4:6036:6 | out [post update] : HttpHeaders [, ] : Object | semmle.label | out [post update] : HttpHeaders [, ] : Object | +| Test.java:6036:15:6036:16 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:6037:9:6037:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:6037:28:6037:42 | getElement(...) : Entry [] : Object | semmle.label | getElement(...) : Entry [] : Object | +| Test.java:6037:39:6037:41 | out : HttpHeaders [, ] : Object | semmle.label | out : HttpHeaders [, ] : Object | +| Test.java:6042:21:6042:41 | (...)... : HttpHeaders | semmle.label | (...)... : HttpHeaders | +| Test.java:6042:34:6042:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6043:10:6043:11 | in : HttpHeaders | semmle.label | in : HttpHeaders | +| Test.java:6043:10:6043:27 | setInt(...) : HttpHeaders | semmle.label | setInt(...) : HttpHeaders | +| Test.java:6044:9:6044:11 | out | semmle.label | out | +| Test.java:6049:22:6049:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:6049:36:6049:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6050:4:6050:6 | out [post update] : HttpHeaders [, ] : CharSequence | semmle.label | out [post update] : HttpHeaders [, ] : CharSequence | +| Test.java:6050:15:6050:16 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:6051:9:6051:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6051:26:6051:40 | getElement(...) : Entry [] : CharSequence | semmle.label | getElement(...) : Entry [] : CharSequence | +| Test.java:6051:37:6051:39 | out : HttpHeaders [, ] : CharSequence | semmle.label | out : HttpHeaders [, ] : CharSequence | +| Test.java:6056:21:6056:41 | (...)... : HttpHeaders | semmle.label | (...)... : HttpHeaders | +| Test.java:6056:34:6056:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6057:10:6057:11 | in : HttpHeaders | semmle.label | in : HttpHeaders | +| Test.java:6057:10:6057:36 | setShort(...) : HttpHeaders | semmle.label | setShort(...) : HttpHeaders | +| Test.java:6058:9:6058:11 | out | semmle.label | out | +| Test.java:6063:22:6063:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:6063:36:6063:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6064:4:6064:6 | out [post update] : HttpHeaders [, ] : CharSequence | semmle.label | out [post update] : HttpHeaders [, ] : CharSequence | +| Test.java:6064:17:6064:18 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:6065:9:6065:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6065:26:6065:40 | getElement(...) : Entry [] : CharSequence | semmle.label | getElement(...) : Entry [] : CharSequence | +| Test.java:6065:37:6065:39 | out : HttpHeaders [, ] : CharSequence | semmle.label | out : HttpHeaders [, ] : CharSequence | +| Test.java:6070:21:6070:86 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:6070:34:6070:86 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6070:56:6070:85 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:6070:77:6070:84 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6071:10:6071:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:6071:10:6071:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:6072:9:6072:11 | out | semmle.label | out | +| Test.java:6077:21:6077:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:6077:34:6077:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6077:56:6077:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:6077:79:6077:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6078:10:6078:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:6078:10:6078:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:6079:9:6079:11 | out | semmle.label | out | +| Test.java:6084:21:6084:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:6084:34:6084:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6084:56:6084:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:6084:79:6084:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6085:10:6085:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:6085:10:6085:43 | valueCharSequenceIterator(...) : Iterator [] : Object | semmle.label | valueCharSequenceIterator(...) : Iterator [] : Object | +| Test.java:6086:9:6086:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6086:20:6086:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:6091:21:6091:88 | (...)... : HttpHeaders [, ] : Object | semmle.label | (...)... : HttpHeaders [, ] : Object | +| Test.java:6091:34:6091:88 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6091:56:6091:87 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:6091:79:6091:86 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6092:10:6092:11 | in : HttpHeaders [, ] : Object | semmle.label | in : HttpHeaders [, ] : Object | +| Test.java:6092:10:6092:37 | valueStringIterator(...) : Iterator [] : Object | semmle.label | valueStringIterator(...) : Iterator [] : Object | +| Test.java:6093:9:6093:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6093:20:6093:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:6098:21:6098:41 | (...)... : HttpMessage | semmle.label | (...)... : HttpMessage | +| Test.java:6098:34:6098:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6099:10:6099:11 | in : HttpMessage | semmle.label | in : HttpMessage | +| Test.java:6099:10:6099:21 | headers(...) : HttpHeaders | semmle.label | headers(...) : HttpHeaders | +| Test.java:6100:9:6100:11 | out | semmle.label | out | +| Test.java:6105:21:6105:41 | (...)... : HttpRequest | semmle.label | (...)... : HttpRequest | +| Test.java:6105:34:6105:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6106:10:6106:11 | in : HttpRequest | semmle.label | in : HttpRequest | +| Test.java:6106:10:6106:20 | getUri(...) : String | semmle.label | getUri(...) : String | +| Test.java:6107:9:6107:11 | out | semmle.label | out | +| Test.java:6112:21:6112:41 | (...)... : HttpRequest | semmle.label | (...)... : HttpRequest | +| Test.java:6112:34:6112:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6113:10:6113:11 | in : HttpRequest | semmle.label | in : HttpRequest | +| Test.java:6113:10:6113:17 | uri(...) : String | semmle.label | uri(...) : String | +| Test.java:6114:9:6114:11 | out | semmle.label | out | +| Test.java:6119:25:6119:49 | (...)... : LastHttpContent | semmle.label | (...)... : LastHttpContent | +| Test.java:6119:42:6119:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6120:10:6120:11 | in : LastHttpContent | semmle.label | in : LastHttpContent | +| Test.java:6120:10:6120:29 | trailingHeaders(...) : HttpHeaders | semmle.label | trailingHeaders(...) : HttpHeaders | +| Test.java:6121:9:6121:11 | out | semmle.label | out | +| Test.java:6126:16:6126:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6126:24:6126:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6127:10:6127:35 | new QueryStringDecoder(...) : QueryStringDecoder | semmle.label | new QueryStringDecoder(...) : QueryStringDecoder | +| Test.java:6127:33:6127:34 | in : String | semmle.label | in : String | +| Test.java:6128:9:6128:11 | out | semmle.label | out | +| Test.java:6133:16:6133:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6133:24:6133:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6134:10:6134:50 | new QueryStringDecoder(...) : QueryStringDecoder | semmle.label | new QueryStringDecoder(...) : QueryStringDecoder | +| Test.java:6134:33:6134:34 | in : String | semmle.label | in : String | +| Test.java:6135:9:6135:11 | out | semmle.label | out | +| Test.java:6140:16:6140:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6140:24:6140:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6141:10:6141:57 | new QueryStringDecoder(...) : QueryStringDecoder | semmle.label | new QueryStringDecoder(...) : QueryStringDecoder | +| Test.java:6141:33:6141:34 | in : String | semmle.label | in : String | +| Test.java:6142:9:6142:11 | out | semmle.label | out | +| Test.java:6147:16:6147:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6147:24:6147:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6148:10:6148:60 | new QueryStringDecoder(...) : QueryStringDecoder | semmle.label | new QueryStringDecoder(...) : QueryStringDecoder | +| Test.java:6148:33:6148:34 | in : String | semmle.label | in : String | +| Test.java:6149:9:6149:11 | out | semmle.label | out | +| Test.java:6154:16:6154:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6154:24:6154:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6155:10:6155:42 | new QueryStringDecoder(...) : QueryStringDecoder | semmle.label | new QueryStringDecoder(...) : QueryStringDecoder | +| Test.java:6155:33:6155:34 | in : String | semmle.label | in : String | +| Test.java:6156:9:6156:11 | out | semmle.label | out | +| Test.java:6161:16:6161:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6161:24:6161:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6162:10:6162:58 | new QueryStringDecoder(...) : QueryStringDecoder | semmle.label | new QueryStringDecoder(...) : QueryStringDecoder | +| Test.java:6162:33:6162:34 | in : String | semmle.label | in : String | +| Test.java:6163:9:6163:11 | out | semmle.label | out | +| Test.java:6168:13:6168:25 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:6168:18:6168:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6169:10:6169:35 | new QueryStringDecoder(...) : QueryStringDecoder | semmle.label | new QueryStringDecoder(...) : QueryStringDecoder | +| Test.java:6169:33:6169:34 | in : URI | semmle.label | in : URI | +| Test.java:6170:9:6170:11 | out | semmle.label | out | +| Test.java:6175:13:6175:25 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:6175:18:6175:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6176:10:6176:50 | new QueryStringDecoder(...) : QueryStringDecoder | semmle.label | new QueryStringDecoder(...) : QueryStringDecoder | +| Test.java:6176:33:6176:34 | in : URI | semmle.label | in : URI | +| Test.java:6177:9:6177:11 | out | semmle.label | out | +| Test.java:6182:13:6182:25 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:6182:18:6182:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6183:10:6183:53 | new QueryStringDecoder(...) : QueryStringDecoder | semmle.label | new QueryStringDecoder(...) : QueryStringDecoder | +| Test.java:6183:33:6183:34 | in : URI | semmle.label | in : URI | +| Test.java:6184:9:6184:11 | out | semmle.label | out | +| Test.java:6189:13:6189:25 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:6189:18:6189:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6190:10:6190:60 | new QueryStringDecoder(...) : QueryStringDecoder | semmle.label | new QueryStringDecoder(...) : QueryStringDecoder | +| Test.java:6190:33:6190:34 | in : URI | semmle.label | in : URI | +| Test.java:6191:9:6191:11 | out | semmle.label | out | +| Test.java:6196:16:6196:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6196:24:6196:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6197:10:6197:47 | decodeComponent(...) : String | semmle.label | decodeComponent(...) : String | +| Test.java:6197:45:6197:46 | in : String | semmle.label | in : String | +| Test.java:6198:9:6198:11 | out | semmle.label | out | +| Test.java:6203:16:6203:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6203:24:6203:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6204:10:6204:53 | decodeComponent(...) : String | semmle.label | decodeComponent(...) : String | +| Test.java:6204:45:6204:46 | in : String | semmle.label | in : String | +| Test.java:6205:9:6205:11 | out | semmle.label | out | +| Test.java:6210:28:6210:55 | (...)... : QueryStringDecoder | semmle.label | (...)... : QueryStringDecoder | +| Test.java:6210:48:6210:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6211:10:6211:11 | in : QueryStringDecoder | semmle.label | in : QueryStringDecoder | +| Test.java:6211:10:6211:24 | parameters(...) : Map | semmle.label | parameters(...) : Map | +| Test.java:6212:9:6212:11 | out | semmle.label | out | +| Test.java:6217:28:6217:55 | (...)... : QueryStringDecoder | semmle.label | (...)... : QueryStringDecoder | +| Test.java:6217:48:6217:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6218:10:6218:11 | in : QueryStringDecoder | semmle.label | in : QueryStringDecoder | +| Test.java:6218:10:6218:18 | path(...) : String | semmle.label | path(...) : String | +| Test.java:6219:9:6219:11 | out | semmle.label | out | +| Test.java:6224:28:6224:55 | (...)... : QueryStringDecoder | semmle.label | (...)... : QueryStringDecoder | +| Test.java:6224:48:6224:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6225:10:6225:11 | in : QueryStringDecoder | semmle.label | in : QueryStringDecoder | +| Test.java:6225:10:6225:21 | rawPath(...) : String | semmle.label | rawPath(...) : String | +| Test.java:6226:9:6226:11 | out | semmle.label | out | +| Test.java:6231:28:6231:55 | (...)... : QueryStringDecoder | semmle.label | (...)... : QueryStringDecoder | +| Test.java:6231:48:6231:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6232:10:6232:11 | in : QueryStringDecoder | semmle.label | in : QueryStringDecoder | +| Test.java:6232:10:6232:22 | rawQuery(...) : String | semmle.label | rawQuery(...) : String | +| Test.java:6233:9:6233:11 | out | semmle.label | out | +| Test.java:6238:28:6238:55 | (...)... : QueryStringDecoder | semmle.label | (...)... : QueryStringDecoder | +| Test.java:6238:48:6238:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6239:10:6239:11 | in : QueryStringDecoder | semmle.label | in : QueryStringDecoder | +| Test.java:6239:10:6239:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:6240:9:6240:11 | out | semmle.label | out | +| Test.java:6245:28:6245:55 | (...)... : QueryStringDecoder | semmle.label | (...)... : QueryStringDecoder | +| Test.java:6245:48:6245:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6246:10:6246:11 | in : QueryStringDecoder | semmle.label | in : QueryStringDecoder | +| Test.java:6246:10:6246:17 | uri(...) : String | semmle.label | uri(...) : String | +| Test.java:6247:9:6247:11 | out | semmle.label | out | +| Test.java:6252:17:6252:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:6252:26:6252:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6254:10:6254:42 | cumulate(...) : ByteBuf | semmle.label | cumulate(...) : ByteBuf | +| Test.java:6254:34:6254:35 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:6255:9:6255:11 | out | semmle.label | out | +| Test.java:6260:17:6260:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:6260:26:6260:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6262:10:6262:42 | cumulate(...) : ByteBuf | semmle.label | cumulate(...) : ByteBuf | +| Test.java:6262:40:6262:41 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:6263:9:6263:11 | out | semmle.label | out | +| Test.java:6268:17:6268:78 | (...)... : Headers [, ] : Object | semmle.label | (...)... : Headers [, ] : Object | +| Test.java:6268:26:6268:78 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6268:48:6268:77 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:6268:69:6268:76 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6269:4:6269:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6269:12:6269:13 | in : Headers [, ] : Object | semmle.label | in : Headers [, ] : Object | +| Test.java:6270:9:6270:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6270:26:6270:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6270:37:6270:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6275:17:6275:80 | (...)... : Headers [, ] : Object | semmle.label | (...)... : Headers [, ] : Object | +| Test.java:6275:26:6275:80 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6275:48:6275:79 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:6275:71:6275:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6276:4:6276:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6276:12:6276:13 | in : Headers [, ] : Object | semmle.label | in : Headers [, ] : Object | +| Test.java:6277:9:6277:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:6277:28:6277:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6277:39:6277:41 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6282:16:6282:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6282:24:6282:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6283:4:6283:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6283:12:6283:13 | in : Object | semmle.label | in : Object | +| Test.java:6284:9:6284:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6284:26:6284:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6284:37:6284:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6289:18:6289:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:6289:28:6289:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:6289:36:6289:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6290:4:6290:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6290:26:6290:27 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:6291:9:6291:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:6291:28:6291:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6291:39:6291:41 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6296:16:6296:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6296:24:6296:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6297:4:6297:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6297:12:6297:13 | in : Object | semmle.label | in : Object | +| Test.java:6298:9:6298:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6298:26:6298:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6298:37:6298:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6303:16:6303:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6303:24:6303:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6304:4:6304:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6304:26:6304:27 | in : Object | semmle.label | in : Object | +| Test.java:6305:9:6305:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:6305:28:6305:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6305:39:6305:41 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6310:16:6310:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6310:24:6310:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6311:4:6311:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6311:12:6311:13 | in : Object | semmle.label | in : Object | +| Test.java:6312:9:6312:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6312:26:6312:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6312:37:6312:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6317:18:6317:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:6317:28:6317:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:6317:41:6317:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6318:4:6318:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6318:26:6318:27 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:6319:9:6319:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:6319:28:6319:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6319:39:6319:41 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6324:17:6324:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6324:26:6324:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6325:10:6325:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6325:10:6325:45 | add(...) : Headers | semmle.label | add(...) : Headers | +| Test.java:6326:9:6326:11 | out | semmle.label | out | +| Test.java:6331:17:6331:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6331:26:6331:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6332:10:6332:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6332:10:6332:43 | add(...) : Headers | semmle.label | add(...) : Headers | +| Test.java:6333:9:6333:11 | out | semmle.label | out | +| Test.java:6338:17:6338:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6338:26:6338:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6339:10:6339:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6339:10:6339:45 | add(...) : Headers | semmle.label | add(...) : Headers | +| Test.java:6340:9:6340:11 | out | semmle.label | out | +| Test.java:6345:17:6345:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6345:26:6345:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6346:10:6346:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6346:10:6346:21 | add(...) : Headers | semmle.label | add(...) : Headers | +| Test.java:6347:9:6347:11 | out | semmle.label | out | +| Test.java:6352:17:6352:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6352:26:6352:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6353:10:6353:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6353:10:6353:35 | addBoolean(...) : Headers | semmle.label | addBoolean(...) : Headers | +| Test.java:6354:9:6354:11 | out | semmle.label | out | +| Test.java:6359:16:6359:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6359:24:6359:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6360:4:6360:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6360:19:6360:20 | in : Object | semmle.label | in : Object | +| Test.java:6361:9:6361:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6361:26:6361:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6361:37:6361:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6366:17:6366:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6366:26:6366:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6367:10:6367:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6367:10:6367:34 | addByte(...) : Headers | semmle.label | addByte(...) : Headers | +| Test.java:6368:9:6368:11 | out | semmle.label | out | +| Test.java:6373:16:6373:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6373:24:6373:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6374:4:6374:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6374:16:6374:17 | in : Object | semmle.label | in : Object | +| Test.java:6375:9:6375:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6375:26:6375:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6375:37:6375:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6380:17:6380:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6380:26:6380:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6381:10:6381:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6381:10:6381:31 | addChar(...) : Headers | semmle.label | addChar(...) : Headers | +| Test.java:6382:9:6382:11 | out | semmle.label | out | +| Test.java:6387:16:6387:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6387:24:6387:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6388:4:6388:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6388:16:6388:17 | in : Object | semmle.label | in : Object | +| Test.java:6389:9:6389:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6389:26:6389:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6389:37:6389:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6394:17:6394:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6394:26:6394:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6395:10:6395:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6395:10:6395:32 | addDouble(...) : Headers | semmle.label | addDouble(...) : Headers | +| Test.java:6396:9:6396:11 | out | semmle.label | out | +| Test.java:6401:16:6401:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6401:24:6401:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6402:4:6402:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6402:18:6402:19 | in : Object | semmle.label | in : Object | +| Test.java:6403:9:6403:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6403:26:6403:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6403:37:6403:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6408:17:6408:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6408:26:6408:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6409:10:6409:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6409:10:6409:32 | addFloat(...) : Headers | semmle.label | addFloat(...) : Headers | +| Test.java:6410:9:6410:11 | out | semmle.label | out | +| Test.java:6415:16:6415:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6415:24:6415:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6416:4:6416:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6416:17:6416:18 | in : Object | semmle.label | in : Object | +| Test.java:6417:9:6417:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6417:26:6417:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6417:37:6417:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6422:17:6422:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6422:26:6422:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6423:10:6423:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6423:10:6423:27 | addInt(...) : Headers | semmle.label | addInt(...) : Headers | +| Test.java:6424:9:6424:11 | out | semmle.label | out | +| Test.java:6429:16:6429:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6429:24:6429:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6430:4:6430:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6430:15:6430:16 | in : Object | semmle.label | in : Object | +| Test.java:6431:9:6431:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6431:26:6431:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6431:37:6431:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6436:17:6436:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6436:26:6436:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6437:10:6437:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6437:10:6437:29 | addLong(...) : Headers | semmle.label | addLong(...) : Headers | +| Test.java:6438:9:6438:11 | out | semmle.label | out | +| Test.java:6443:16:6443:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6443:24:6443:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6444:4:6444:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6444:16:6444:17 | in : Object | semmle.label | in : Object | +| Test.java:6445:9:6445:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6445:26:6445:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6445:37:6445:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6450:16:6450:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6450:24:6450:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6451:4:6451:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6451:18:6451:19 | in : Object | semmle.label | in : Object | +| Test.java:6452:9:6452:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6452:26:6452:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6452:37:6452:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6457:18:6457:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:6457:28:6457:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:6457:36:6457:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6458:4:6458:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6458:32:6458:33 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:6459:9:6459:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:6459:28:6459:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6459:39:6459:41 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6464:16:6464:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6464:24:6464:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6465:4:6465:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6465:18:6465:19 | in : Object | semmle.label | in : Object | +| Test.java:6466:9:6466:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6466:26:6466:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6466:37:6466:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6471:16:6471:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6471:24:6471:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6472:4:6472:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6472:32:6472:33 | in : Object | semmle.label | in : Object | +| Test.java:6473:9:6473:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:6473:28:6473:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6473:39:6473:41 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6478:16:6478:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6478:24:6478:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6479:4:6479:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6479:18:6479:19 | in : Object | semmle.label | in : Object | +| Test.java:6480:9:6480:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6480:26:6480:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6480:37:6480:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6485:18:6485:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:6485:28:6485:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:6485:41:6485:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6486:4:6486:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6486:32:6486:33 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:6487:9:6487:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:6487:28:6487:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6487:39:6487:41 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6492:17:6492:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6492:26:6492:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6493:10:6493:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6493:10:6493:36 | addShort(...) : Headers | semmle.label | addShort(...) : Headers | +| Test.java:6494:9:6494:11 | out | semmle.label | out | +| Test.java:6499:16:6499:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6499:24:6499:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6500:4:6500:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6500:17:6500:18 | in : Object | semmle.label | in : Object | +| Test.java:6501:9:6501:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6501:26:6501:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6501:37:6501:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6506:17:6506:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6506:26:6506:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6507:10:6507:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6507:10:6507:35 | addTimeMillis(...) : Headers | semmle.label | addTimeMillis(...) : Headers | +| Test.java:6508:9:6508:11 | out | semmle.label | out | +| Test.java:6513:16:6513:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6513:24:6513:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6514:4:6514:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6514:22:6514:23 | in : Object | semmle.label | in : Object | +| Test.java:6515:9:6515:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6515:26:6515:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6515:37:6515:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6520:17:6520:80 | (...)... : Headers [, ] : Object | semmle.label | (...)... : Headers [, ] : Object | +| Test.java:6520:26:6520:80 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6520:48:6520:79 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:6520:71:6520:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6521:10:6521:11 | in : Headers [, ] : Object | semmle.label | in : Headers [, ] : Object | +| Test.java:6521:10:6521:21 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:6522:9:6522:11 | out | semmle.label | out | +| Test.java:6527:17:6527:80 | (...)... : Headers [, ] : Object | semmle.label | (...)... : Headers [, ] : Object | +| Test.java:6527:26:6527:80 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6527:48:6527:79 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:6527:71:6527:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6528:10:6528:11 | in : Headers [, ] : Object | semmle.label | in : Headers [, ] : Object | +| Test.java:6528:10:6528:27 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:6529:9:6529:11 | out | semmle.label | out | +| Test.java:6534:16:6534:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6534:24:6534:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6536:10:6536:31 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:6536:29:6536:30 | in : Object | semmle.label | in : Object | +| Test.java:6537:9:6537:11 | out | semmle.label | out | +| Test.java:6542:17:6542:80 | (...)... : Headers [, ] : Object | semmle.label | (...)... : Headers [, ] : Object | +| Test.java:6542:26:6542:80 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6542:48:6542:79 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:6542:71:6542:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6543:10:6543:11 | in : Headers [, ] : Object | semmle.label | in : Headers [, ] : Object | +| Test.java:6543:10:6543:24 | getAll(...) : List [] : Object | semmle.label | getAll(...) : List [] : Object | +| Test.java:6544:9:6544:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6544:20:6544:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:6549:17:6549:80 | (...)... : Headers [, ] : Object | semmle.label | (...)... : Headers [, ] : Object | +| Test.java:6549:26:6549:80 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6549:48:6549:79 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:6549:71:6549:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6550:10:6550:11 | in : Headers [, ] : Object | semmle.label | in : Headers [, ] : Object | +| Test.java:6550:10:6550:33 | getAllAndRemove(...) : List [] : Object | semmle.label | getAllAndRemove(...) : List [] : Object | +| Test.java:6551:9:6551:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6551:20:6551:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:6556:17:6556:80 | (...)... : Headers [, ] : Object | semmle.label | (...)... : Headers [, ] : Object | +| Test.java:6556:26:6556:80 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6556:48:6556:79 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:6556:71:6556:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6557:10:6557:11 | in : Headers [, ] : Object | semmle.label | in : Headers [, ] : Object | +| Test.java:6557:10:6557:30 | getAndRemove(...) : Object | semmle.label | getAndRemove(...) : Object | +| Test.java:6558:9:6558:11 | out | semmle.label | out | +| Test.java:6563:16:6563:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6563:24:6563:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6565:10:6565:40 | getAndRemove(...) : Object | semmle.label | getAndRemove(...) : Object | +| Test.java:6565:38:6565:39 | in : Object | semmle.label | in : Object | +| Test.java:6566:9:6566:11 | out | semmle.label | out | +| Test.java:6571:17:6571:78 | (...)... : Headers [, ] : Object | semmle.label | (...)... : Headers [, ] : Object | +| Test.java:6571:26:6571:78 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6571:48:6571:77 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:6571:69:6571:76 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6572:10:6572:11 | in : Headers [, ] : Object | semmle.label | in : Headers [, ] : Object | +| Test.java:6572:10:6572:19 | names(...) : Set [] : Object | semmle.label | names(...) : Set [] : Object | +| Test.java:6573:9:6573:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6573:20:6573:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:6578:17:6578:78 | (...)... : Headers [, ] : Object | semmle.label | (...)... : Headers [, ] : Object | +| Test.java:6578:26:6578:78 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6578:48:6578:77 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:6578:69:6578:76 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6579:4:6579:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6579:12:6579:13 | in : Headers [, ] : Object | semmle.label | in : Headers [, ] : Object | +| Test.java:6580:9:6580:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6580:26:6580:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6580:37:6580:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6585:17:6585:80 | (...)... : Headers [, ] : Object | semmle.label | (...)... : Headers [, ] : Object | +| Test.java:6585:26:6585:80 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6585:48:6585:79 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:6585:71:6585:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6586:4:6586:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6586:12:6586:13 | in : Headers [, ] : Object | semmle.label | in : Headers [, ] : Object | +| Test.java:6587:9:6587:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:6587:28:6587:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6587:39:6587:41 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6592:16:6592:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6592:24:6592:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6593:4:6593:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6593:12:6593:13 | in : Object | semmle.label | in : Object | +| Test.java:6594:9:6594:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6594:26:6594:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6594:37:6594:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6599:18:6599:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:6599:28:6599:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:6599:36:6599:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6600:4:6600:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6600:26:6600:27 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:6601:9:6601:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:6601:28:6601:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6601:39:6601:41 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6606:16:6606:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6606:24:6606:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6607:4:6607:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6607:12:6607:13 | in : Object | semmle.label | in : Object | +| Test.java:6608:9:6608:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6608:26:6608:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6608:37:6608:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6613:16:6613:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6613:24:6613:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6614:4:6614:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6614:26:6614:27 | in : Object | semmle.label | in : Object | +| Test.java:6615:9:6615:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:6615:28:6615:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6615:39:6615:41 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6620:16:6620:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6620:24:6620:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6621:4:6621:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6621:12:6621:13 | in : Object | semmle.label | in : Object | +| Test.java:6622:9:6622:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6622:26:6622:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6622:37:6622:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6627:18:6627:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:6627:28:6627:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:6627:41:6627:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6628:4:6628:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6628:26:6628:27 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:6629:9:6629:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:6629:28:6629:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6629:39:6629:41 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6634:17:6634:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6634:26:6634:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6635:10:6635:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6635:10:6635:45 | set(...) : Headers | semmle.label | set(...) : Headers | +| Test.java:6636:9:6636:11 | out | semmle.label | out | +| Test.java:6641:17:6641:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6641:26:6641:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6642:10:6642:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6642:10:6642:43 | set(...) : Headers | semmle.label | set(...) : Headers | +| Test.java:6643:9:6643:11 | out | semmle.label | out | +| Test.java:6648:17:6648:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6648:26:6648:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6649:10:6649:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6649:10:6649:45 | set(...) : Headers | semmle.label | set(...) : Headers | +| Test.java:6650:9:6650:11 | out | semmle.label | out | +| Test.java:6655:17:6655:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6655:26:6655:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6656:10:6656:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6656:10:6656:21 | set(...) : Headers | semmle.label | set(...) : Headers | +| Test.java:6657:9:6657:11 | out | semmle.label | out | +| Test.java:6662:17:6662:78 | (...)... : Headers [, ] : Object | semmle.label | (...)... : Headers [, ] : Object | +| Test.java:6662:26:6662:78 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6662:48:6662:77 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:6662:69:6662:76 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6663:4:6663:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6663:15:6663:16 | in : Headers [, ] : Object | semmle.label | in : Headers [, ] : Object | +| Test.java:6664:9:6664:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6664:26:6664:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6664:37:6664:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6669:17:6669:80 | (...)... : Headers [, ] : Object | semmle.label | (...)... : Headers [, ] : Object | +| Test.java:6669:26:6669:80 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6669:48:6669:79 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:6669:71:6669:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6670:4:6670:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6670:15:6670:16 | in : Headers [, ] : Object | semmle.label | in : Headers [, ] : Object | +| Test.java:6671:9:6671:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:6671:28:6671:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6671:39:6671:41 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6676:17:6676:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6676:26:6676:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6677:10:6677:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6677:10:6677:35 | setBoolean(...) : Headers | semmle.label | setBoolean(...) : Headers | +| Test.java:6678:9:6678:11 | out | semmle.label | out | +| Test.java:6683:16:6683:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6683:24:6683:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6684:4:6684:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6684:19:6684:20 | in : Object | semmle.label | in : Object | +| Test.java:6685:9:6685:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6685:26:6685:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6685:37:6685:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6690:17:6690:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6690:26:6690:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6691:10:6691:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6691:10:6691:34 | setByte(...) : Headers | semmle.label | setByte(...) : Headers | +| Test.java:6692:9:6692:11 | out | semmle.label | out | +| Test.java:6697:16:6697:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6697:24:6697:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6698:4:6698:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6698:16:6698:17 | in : Object | semmle.label | in : Object | +| Test.java:6699:9:6699:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6699:26:6699:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6699:37:6699:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6704:17:6704:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6704:26:6704:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6705:10:6705:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6705:10:6705:31 | setChar(...) : Headers | semmle.label | setChar(...) : Headers | +| Test.java:6706:9:6706:11 | out | semmle.label | out | +| Test.java:6711:16:6711:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6711:24:6711:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6712:4:6712:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6712:16:6712:17 | in : Object | semmle.label | in : Object | +| Test.java:6713:9:6713:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6713:26:6713:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6713:37:6713:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6718:17:6718:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6718:26:6718:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6719:10:6719:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6719:10:6719:32 | setDouble(...) : Headers | semmle.label | setDouble(...) : Headers | +| Test.java:6720:9:6720:11 | out | semmle.label | out | +| Test.java:6725:16:6725:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6725:24:6725:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6726:4:6726:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6726:18:6726:19 | in : Object | semmle.label | in : Object | +| Test.java:6727:9:6727:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6727:26:6727:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6727:37:6727:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6732:17:6732:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6732:26:6732:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6733:10:6733:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6733:10:6733:32 | setFloat(...) : Headers | semmle.label | setFloat(...) : Headers | +| Test.java:6734:9:6734:11 | out | semmle.label | out | +| Test.java:6739:16:6739:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6739:24:6739:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6740:4:6740:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6740:17:6740:18 | in : Object | semmle.label | in : Object | +| Test.java:6741:9:6741:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6741:26:6741:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6741:37:6741:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6746:17:6746:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6746:26:6746:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6747:10:6747:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6747:10:6747:27 | setInt(...) : Headers | semmle.label | setInt(...) : Headers | +| Test.java:6748:9:6748:11 | out | semmle.label | out | +| Test.java:6753:16:6753:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6753:24:6753:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6754:4:6754:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6754:15:6754:16 | in : Object | semmle.label | in : Object | +| Test.java:6755:9:6755:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6755:26:6755:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6755:37:6755:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6760:17:6760:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6760:26:6760:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6761:10:6761:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6761:10:6761:29 | setLong(...) : Headers | semmle.label | setLong(...) : Headers | +| Test.java:6762:9:6762:11 | out | semmle.label | out | +| Test.java:6767:16:6767:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6767:24:6767:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6768:4:6768:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6768:16:6768:17 | in : Object | semmle.label | in : Object | +| Test.java:6769:9:6769:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6769:26:6769:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6769:37:6769:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6774:16:6774:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6774:24:6774:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6775:4:6775:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6775:18:6775:19 | in : Object | semmle.label | in : Object | +| Test.java:6776:9:6776:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6776:26:6776:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6776:37:6776:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6781:18:6781:44 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:6781:28:6781:44 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:6781:36:6781:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6782:4:6782:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6782:32:6782:33 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:6783:9:6783:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:6783:28:6783:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6783:39:6783:41 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6788:16:6788:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6788:24:6788:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6789:4:6789:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6789:18:6789:19 | in : Object | semmle.label | in : Object | +| Test.java:6790:9:6790:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6790:26:6790:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6790:37:6790:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6795:16:6795:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6795:24:6795:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6796:4:6796:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6796:32:6796:33 | in : Object | semmle.label | in : Object | +| Test.java:6797:9:6797:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:6797:28:6797:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6797:39:6797:41 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6802:16:6802:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6802:24:6802:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6803:4:6803:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6803:18:6803:19 | in : Object | semmle.label | in : Object | +| Test.java:6804:9:6804:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6804:26:6804:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6804:37:6804:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6809:18:6809:49 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:6809:28:6809:49 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:6809:41:6809:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6810:4:6810:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6810:32:6810:33 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:6811:9:6811:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:6811:28:6811:42 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6811:39:6811:41 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6816:17:6816:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6816:26:6816:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6817:10:6817:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6817:10:6817:36 | setShort(...) : Headers | semmle.label | setShort(...) : Headers | +| Test.java:6818:9:6818:11 | out | semmle.label | out | +| Test.java:6823:16:6823:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6823:24:6823:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6824:4:6824:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6824:17:6824:18 | in : Object | semmle.label | in : Object | +| Test.java:6825:9:6825:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6825:26:6825:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6825:37:6825:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6830:17:6830:33 | (...)... : Headers | semmle.label | (...)... : Headers | +| Test.java:6830:26:6830:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6831:10:6831:11 | in : Headers | semmle.label | in : Headers | +| Test.java:6831:10:6831:35 | setTimeMillis(...) : Headers | semmle.label | setTimeMillis(...) : Headers | +| Test.java:6832:9:6832:11 | out | semmle.label | out | +| Test.java:6837:16:6837:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:6837:24:6837:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6838:4:6838:6 | out [post update] : Headers [, ] : Object | semmle.label | out [post update] : Headers [, ] : Object | +| Test.java:6838:22:6838:23 | in : Object | semmle.label | in : Object | +| Test.java:6839:9:6839:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:6839:26:6839:40 | getElement(...) : Object [] : Object | semmle.label | getElement(...) : Object [] : Object | +| Test.java:6839:37:6839:39 | out : Headers [, ] : Object | semmle.label | out : Headers [, ] : Object | +| Test.java:6844:17:6844:80 | (...)... : Headers [, ] : Object | semmle.label | (...)... : Headers [, ] : Object | +| Test.java:6844:26:6844:80 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6844:48:6844:79 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:6844:71:6844:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6845:10:6845:46 | getAllAsString(...) : List | semmle.label | getAllAsString(...) : List | +| Test.java:6845:38:6845:39 | in : Headers [, ] : Object | semmle.label | in : Headers [, ] : Object | +| Test.java:6846:9:6846:11 | out | semmle.label | out | +| Test.java:6851:17:6851:80 | (...)... : Headers [, ] : Object | semmle.label | (...)... : Headers [, ] : Object | +| Test.java:6851:26:6851:80 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6851:48:6851:79 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:6851:71:6851:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6852:10:6852:43 | getAsString(...) : String | semmle.label | getAsString(...) : String | +| Test.java:6852:35:6852:36 | in : Headers [, ] : Object | semmle.label | in : Headers [, ] : Object | +| Test.java:6853:9:6853:11 | out | semmle.label | out | +| Test.java:6858:18:6858:66 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:6858:28:6858:66 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:6858:36:6858:65 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:6858:57:6858:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6859:10:6859:42 | iteratorAsString(...) : Iterator | semmle.label | iteratorAsString(...) : Iterator | +| Test.java:6859:40:6859:41 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:6860:9:6860:11 | out | semmle.label | out | +| Test.java:6865:18:6865:68 | (...)... : List [, ] : Object | semmle.label | (...)... : List [, ] : Object | +| Test.java:6865:28:6865:68 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:6865:36:6865:67 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:6865:59:6865:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6866:10:6866:42 | iteratorAsString(...) : Iterator | semmle.label | iteratorAsString(...) : Iterator | +| Test.java:6866:40:6866:41 | in : List [, ] : Object | semmle.label | in : List [, ] : Object | +| Test.java:6867:9:6867:11 | out | semmle.label | out | +| Test.java:6872:17:6872:78 | (...)... : Headers [, ] : Object | semmle.label | (...)... : Headers [, ] : Object | +| Test.java:6872:26:6872:78 | newWithElementDefault(...) : Object [, ] : Object | semmle.label | newWithElementDefault(...) : Object [, ] : Object | +| Test.java:6872:48:6872:77 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:6872:69:6872:76 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6873:10:6873:39 | namesAsString(...) : Set [] : Object | semmle.label | namesAsString(...) : Set [] : Object | +| Test.java:6873:37:6873:38 | in : Headers [, ] : Object | semmle.label | in : Headers [, ] : Object | +| Test.java:6874:9:6874:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:6874:20:6874:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:6879:18:6879:77 | (...)... : Iterator [, ] : Object | semmle.label | (...)... : Iterator [, ] : Object | +| Test.java:6879:28:6879:66 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:6879:28:6879:77 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:6879:36:6879:65 | newWithMapKeyDefault(...) : Object [] : Object | semmle.label | newWithMapKeyDefault(...) : Object [] : Object | +| Test.java:6879:57:6879:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6880:10:6880:43 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:6880:38:6880:39 | in : Iterator [, ] : Object | semmle.label | in : Iterator [, ] : Object | +| Test.java:6881:9:6881:11 | out | semmle.label | out | +| Test.java:6886:18:6886:79 | (...)... : Iterator [, ] : Object | semmle.label | (...)... : Iterator [, ] : Object | +| Test.java:6886:28:6886:68 | of(...) : List [, ] : Object | semmle.label | of(...) : List [, ] : Object | +| Test.java:6886:28:6886:79 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:6886:36:6886:67 | newWithMapValueDefault(...) : Object [] : Object | semmle.label | newWithMapValueDefault(...) : Object [] : Object | +| Test.java:6886:59:6886:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6887:10:6887:43 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:6887:38:6887:39 | in : Iterator [, ] : Object | semmle.label | in : Iterator [, ] : Object | +| Test.java:6888:9:6888:11 | out | semmle.label | out | +| Test.java:6893:20:6893:39 | (...)... : ByteBuffer | semmle.label | (...)... : ByteBuffer | +| Test.java:6893:32:6893:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6894:10:6894:28 | new AsciiString(...) : AsciiString | semmle.label | new AsciiString(...) : AsciiString | +| Test.java:6894:26:6894:27 | in : ByteBuffer | semmle.label | in : ByteBuffer | +| Test.java:6895:9:6895:11 | out | semmle.label | out | +| Test.java:6900:20:6900:39 | (...)... : ByteBuffer | semmle.label | (...)... : ByteBuffer | +| Test.java:6900:32:6900:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6901:10:6901:41 | new AsciiString(...) : AsciiString | semmle.label | new AsciiString(...) : AsciiString | +| Test.java:6901:26:6901:27 | in : ByteBuffer | semmle.label | in : ByteBuffer | +| Test.java:6902:9:6902:11 | out | semmle.label | out | +| Test.java:6907:20:6907:39 | (...)... : ByteBuffer | semmle.label | (...)... : ByteBuffer | +| Test.java:6907:32:6907:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6908:10:6908:35 | new AsciiString(...) : AsciiString | semmle.label | new AsciiString(...) : AsciiString | +| Test.java:6908:26:6908:27 | in : ByteBuffer | semmle.label | in : ByteBuffer | +| Test.java:6909:9:6909:11 | out | semmle.label | out | +| Test.java:6914:22:6914:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:6914:36:6914:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6915:10:6915:28 | new AsciiString(...) : AsciiString | semmle.label | new AsciiString(...) : AsciiString | +| Test.java:6915:26:6915:27 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:6916:9:6916:11 | out | semmle.label | out | +| Test.java:6921:22:6921:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:6921:36:6921:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6922:10:6922:43 | new AsciiString(...) : AsciiString | semmle.label | new AsciiString(...) : AsciiString | +| Test.java:6922:26:6922:27 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:6923:9:6923:11 | out | semmle.label | out | +| Test.java:6928:22:6928:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:6928:36:6928:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6929:10:6929:49 | new AsciiString(...) : AsciiString | semmle.label | new AsciiString(...) : AsciiString | +| Test.java:6929:26:6929:27 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:6930:9:6930:11 | out | semmle.label | out | +| Test.java:6935:22:6935:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:6935:36:6935:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6936:10:6936:34 | new AsciiString(...) : AsciiString | semmle.label | new AsciiString(...) : AsciiString | +| Test.java:6936:26:6936:27 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:6937:9:6937:11 | out | semmle.label | out | +| Test.java:6942:16:6942:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:6942:24:6942:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6943:10:6943:28 | new AsciiString(...) : AsciiString | semmle.label | new AsciiString(...) : AsciiString | +| Test.java:6943:26:6943:27 | in : byte[] | semmle.label | in : byte[] | +| Test.java:6944:9:6944:11 | out | semmle.label | out | +| Test.java:6949:16:6949:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:6949:24:6949:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6950:10:6950:41 | new AsciiString(...) : AsciiString | semmle.label | new AsciiString(...) : AsciiString | +| Test.java:6950:26:6950:27 | in : byte[] | semmle.label | in : byte[] | +| Test.java:6951:9:6951:11 | out | semmle.label | out | +| Test.java:6956:16:6956:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:6956:24:6956:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6957:10:6957:35 | new AsciiString(...) : AsciiString | semmle.label | new AsciiString(...) : AsciiString | +| Test.java:6957:26:6957:27 | in : byte[] | semmle.label | in : byte[] | +| Test.java:6958:9:6958:11 | out | semmle.label | out | +| Test.java:6963:16:6963:31 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:6963:24:6963:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6964:10:6964:28 | new AsciiString(...) : AsciiString | semmle.label | new AsciiString(...) : AsciiString | +| Test.java:6964:26:6964:27 | in : char[] | semmle.label | in : char[] | +| Test.java:6965:9:6965:11 | out | semmle.label | out | +| Test.java:6970:16:6970:31 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:6970:24:6970:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6971:10:6971:43 | new AsciiString(...) : AsciiString | semmle.label | new AsciiString(...) : AsciiString | +| Test.java:6971:26:6971:27 | in : char[] | semmle.label | in : char[] | +| Test.java:6972:9:6972:11 | out | semmle.label | out | +| Test.java:6977:16:6977:31 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:6977:24:6977:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6978:10:6978:49 | new AsciiString(...) : AsciiString | semmle.label | new AsciiString(...) : AsciiString | +| Test.java:6978:26:6978:27 | in : char[] | semmle.label | in : char[] | +| Test.java:6979:9:6979:11 | out | semmle.label | out | +| Test.java:6984:16:6984:31 | (...)... : char[] | semmle.label | (...)... : char[] | +| Test.java:6984:24:6984:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6985:10:6985:34 | new AsciiString(...) : AsciiString | semmle.label | new AsciiString(...) : AsciiString | +| Test.java:6985:26:6985:27 | in : char[] | semmle.label | in : char[] | +| Test.java:6986:9:6986:11 | out | semmle.label | out | +| Test.java:6991:21:6991:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:6991:34:6991:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6992:10:6992:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:6992:10:6992:19 | array(...) : byte[] | semmle.label | array(...) : byte[] | +| Test.java:6993:9:6993:11 | out | semmle.label | out | +| Test.java:6998:16:6998:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:6998:24:6998:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:6999:10:6999:31 | cached(...) : AsciiString | semmle.label | cached(...) : AsciiString | +| Test.java:6999:29:6999:30 | in : String | semmle.label | in : String | +| Test.java:7000:9:7000:11 | out | semmle.label | out | +| Test.java:7005:21:7005:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7005:34:7005:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7006:10:7006:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7006:10:7006:24 | concat(...) : AsciiString | semmle.label | concat(...) : AsciiString | +| Test.java:7007:9:7007:11 | out | semmle.label | out | +| Test.java:7012:22:7012:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:7012:36:7012:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7014:10:7014:28 | concat(...) : AsciiString | semmle.label | concat(...) : AsciiString | +| Test.java:7014:26:7014:27 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:7015:9:7015:11 | out | semmle.label | out | +| Test.java:7020:21:7020:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7020:34:7020:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7021:4:7021:5 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7021:15:7021:17 | out [post update] : byte[] | semmle.label | out [post update] : byte[] | +| Test.java:7022:9:7022:11 | out | semmle.label | out | +| Test.java:7027:21:7027:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7027:34:7027:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7028:4:7028:5 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7028:15:7028:17 | out [post update] : char[] | semmle.label | out [post update] : char[] | +| Test.java:7029:9:7029:11 | out | semmle.label | out | +| Test.java:7034:22:7034:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:7034:36:7034:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7035:10:7035:27 | of(...) : AsciiString | semmle.label | of(...) : AsciiString | +| Test.java:7035:25:7035:26 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:7036:9:7036:11 | out | semmle.label | out | +| Test.java:7041:21:7041:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7041:34:7041:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7042:10:7042:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7042:10:7042:31 | replace(...) : AsciiString | semmle.label | replace(...) : AsciiString | +| Test.java:7043:9:7043:11 | out | semmle.label | out | +| Test.java:7048:21:7048:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7048:34:7048:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7049:10:7049:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7049:10:7049:26 | split(...) : AsciiString[] | semmle.label | split(...) : AsciiString[] | +| Test.java:7050:9:7050:11 | out | semmle.label | out | +| Test.java:7055:21:7055:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7055:34:7055:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7056:10:7056:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7056:10:7056:23 | split(...) : AsciiString[] | semmle.label | split(...) : AsciiString[] | +| Test.java:7057:9:7057:11 | out | semmle.label | out | +| Test.java:7062:21:7062:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7062:34:7062:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7063:10:7063:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7063:10:7063:26 | subSequence(...) : AsciiString | semmle.label | subSequence(...) : AsciiString | +| Test.java:7064:9:7064:11 | out | semmle.label | out | +| Test.java:7069:21:7069:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7069:34:7069:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7070:10:7070:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7070:10:7070:29 | subSequence(...) : AsciiString | semmle.label | subSequence(...) : AsciiString | +| Test.java:7071:9:7071:11 | out | semmle.label | out | +| Test.java:7076:21:7076:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7076:34:7076:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7077:10:7077:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7077:10:7077:36 | subSequence(...) : AsciiString | semmle.label | subSequence(...) : AsciiString | +| Test.java:7078:9:7078:11 | out | semmle.label | out | +| Test.java:7083:21:7083:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7083:34:7083:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7084:10:7084:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7084:10:7084:25 | toByteArray(...) : byte[] | semmle.label | toByteArray(...) : byte[] | +| Test.java:7085:9:7085:11 | out | semmle.label | out | +| Test.java:7090:21:7090:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7090:34:7090:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7091:10:7091:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7091:10:7091:29 | toByteArray(...) : byte[] | semmle.label | toByteArray(...) : byte[] | +| Test.java:7092:9:7092:11 | out | semmle.label | out | +| Test.java:7097:21:7097:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7097:34:7097:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7098:10:7098:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7098:10:7098:25 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| Test.java:7099:9:7099:11 | out | semmle.label | out | +| Test.java:7104:21:7104:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7104:34:7104:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7105:10:7105:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7105:10:7105:29 | toCharArray(...) : char[] | semmle.label | toCharArray(...) : char[] | +| Test.java:7106:9:7106:11 | out | semmle.label | out | +| Test.java:7111:21:7111:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7111:34:7111:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7112:10:7112:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7112:10:7112:25 | toLowerCase(...) : AsciiString | semmle.label | toLowerCase(...) : AsciiString | +| Test.java:7113:9:7113:11 | out | semmle.label | out | +| Test.java:7118:21:7118:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7118:34:7118:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7119:10:7119:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7119:10:7119:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:7120:9:7120:11 | out | semmle.label | out | +| Test.java:7125:21:7125:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7125:34:7125:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7126:10:7126:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7126:10:7126:23 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:7127:9:7127:11 | out | semmle.label | out | +| Test.java:7132:21:7132:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7132:34:7132:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7133:10:7133:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7133:10:7133:26 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:7134:9:7134:11 | out | semmle.label | out | +| Test.java:7139:21:7139:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7139:34:7139:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7140:10:7140:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7140:10:7140:25 | toUpperCase(...) : AsciiString | semmle.label | toUpperCase(...) : AsciiString | +| Test.java:7141:9:7141:11 | out | semmle.label | out | +| Test.java:7146:21:7146:41 | (...)... : AsciiString | semmle.label | (...)... : AsciiString | +| Test.java:7146:34:7146:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7147:10:7147:11 | in : AsciiString | semmle.label | in : AsciiString | +| Test.java:7147:10:7147:18 | trim(...) : AsciiString | semmle.label | trim(...) : AsciiString | +| Test.java:7148:9:7148:11 | out | semmle.label | out | +| Test.java:7153:22:7153:43 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:7153:36:7153:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7154:10:7154:29 | trim(...) : CharSequence | semmle.label | trim(...) : CharSequence | +| Test.java:7154:27:7154:28 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:7155:9:7155:11 | out | semmle.label | out | +| Test.java:7160:19:7160:37 | (...)... : Attribute | semmle.label | (...)... : Attribute | +| Test.java:7160:30:7160:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7161:10:7161:11 | in : Attribute | semmle.label | in : Attribute | +| Test.java:7161:10:7161:20 | retain(...) : Attribute | semmle.label | retain(...) : Attribute | +| Test.java:7162:9:7162:11 | out | semmle.label | out | +| Test.java:7167:19:7167:37 | (...)... : Attribute | semmle.label | (...)... : Attribute | +| Test.java:7167:30:7167:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7168:10:7168:11 | in : Attribute | semmle.label | in : Attribute | +| Test.java:7168:10:7168:21 | retain(...) : Attribute | semmle.label | retain(...) : Attribute | +| Test.java:7169:9:7169:11 | out | semmle.label | out | +| Test.java:7174:30:7174:59 | (...)... : BinaryWebSocketFrame | semmle.label | (...)... : BinaryWebSocketFrame | +| Test.java:7174:52:7174:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7175:10:7175:11 | in : BinaryWebSocketFrame | semmle.label | in : BinaryWebSocketFrame | +| Test.java:7175:10:7175:20 | retain(...) : BinaryWebSocketFrame | semmle.label | retain(...) : BinaryWebSocketFrame | +| Test.java:7176:9:7176:11 | out | semmle.label | out | +| Test.java:7181:30:7181:59 | (...)... : BinaryWebSocketFrame | semmle.label | (...)... : BinaryWebSocketFrame | +| Test.java:7181:52:7181:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7182:10:7182:11 | in : BinaryWebSocketFrame | semmle.label | in : BinaryWebSocketFrame | +| Test.java:7182:10:7182:21 | retain(...) : BinaryWebSocketFrame | semmle.label | retain(...) : BinaryWebSocketFrame | +| Test.java:7183:9:7183:11 | out | semmle.label | out | +| Test.java:7188:41:7188:81 | (...)... : AbstractReferenceCountedByteBuf | semmle.label | (...)... : AbstractReferenceCountedByteBuf | +| Test.java:7188:74:7188:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7189:10:7189:11 | in : AbstractReferenceCountedByteBuf | semmle.label | in : AbstractReferenceCountedByteBuf | +| Test.java:7189:10:7189:20 | retain(...) : AbstractReferenceCountedByteBuf | semmle.label | retain(...) : AbstractReferenceCountedByteBuf | +| Test.java:7190:9:7190:11 | out | semmle.label | out | +| Test.java:7195:41:7195:81 | (...)... : AbstractReferenceCountedByteBuf | semmle.label | (...)... : AbstractReferenceCountedByteBuf | +| Test.java:7195:74:7195:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7196:10:7196:11 | in : AbstractReferenceCountedByteBuf | semmle.label | in : AbstractReferenceCountedByteBuf | +| Test.java:7196:10:7196:21 | retain(...) : AbstractReferenceCountedByteBuf | semmle.label | retain(...) : AbstractReferenceCountedByteBuf | +| Test.java:7197:9:7197:11 | out | semmle.label | out | +| Test.java:7202:17:7202:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:7202:26:7202:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7203:10:7203:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:7203:10:7203:20 | retain(...) : ByteBuf | semmle.label | retain(...) : ByteBuf | +| Test.java:7204:9:7204:11 | out | semmle.label | out | +| Test.java:7209:17:7209:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:7209:26:7209:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7210:10:7210:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:7210:10:7210:21 | retain(...) : ByteBuf | semmle.label | retain(...) : ByteBuf | +| Test.java:7211:9:7211:11 | out | semmle.label | out | +| Test.java:7216:24:7216:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:7216:40:7216:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7217:10:7217:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:7217:10:7217:20 | retain(...) : SwappedByteBuf | semmle.label | retain(...) : SwappedByteBuf | +| Test.java:7218:9:7218:11 | out | semmle.label | out | +| Test.java:7223:24:7223:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:7223:40:7223:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7224:10:7224:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:7224:10:7224:21 | retain(...) : SwappedByteBuf | semmle.label | retain(...) : SwappedByteBuf | +| Test.java:7225:9:7225:11 | out | semmle.label | out | +| Test.java:7230:23:7230:45 | (...)... : ByteBufHolder | semmle.label | (...)... : ByteBufHolder | +| Test.java:7230:38:7230:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7231:10:7231:11 | in : ByteBufHolder | semmle.label | in : ByteBufHolder | +| Test.java:7231:10:7231:20 | retain(...) : ByteBufHolder | semmle.label | retain(...) : ByteBufHolder | +| Test.java:7232:9:7232:11 | out | semmle.label | out | +| Test.java:7237:23:7237:45 | (...)... : ByteBufHolder | semmle.label | (...)... : ByteBufHolder | +| Test.java:7237:38:7237:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7238:10:7238:11 | in : ByteBufHolder | semmle.label | in : ByteBufHolder | +| Test.java:7238:10:7238:21 | retain(...) : ByteBufHolder | semmle.label | retain(...) : ByteBufHolder | +| Test.java:7239:9:7239:11 | out | semmle.label | out | +| Test.java:7244:30:7244:59 | (...)... : DefaultByteBufHolder | semmle.label | (...)... : DefaultByteBufHolder | +| Test.java:7244:52:7244:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7245:10:7245:11 | in : DefaultByteBufHolder | semmle.label | in : DefaultByteBufHolder | +| Test.java:7245:10:7245:20 | retain(...) : DefaultByteBufHolder | semmle.label | retain(...) : DefaultByteBufHolder | +| Test.java:7246:9:7246:11 | out | semmle.label | out | +| Test.java:7251:30:7251:59 | (...)... : DefaultByteBufHolder | semmle.label | (...)... : DefaultByteBufHolder | +| Test.java:7251:52:7251:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7252:10:7252:11 | in : DefaultByteBufHolder | semmle.label | in : DefaultByteBufHolder | +| Test.java:7252:10:7252:21 | retain(...) : DefaultByteBufHolder | semmle.label | retain(...) : DefaultByteBufHolder | +| Test.java:7253:9:7253:11 | out | semmle.label | out | +| Test.java:7258:29:7258:57 | (...)... : CloseWebSocketFrame | semmle.label | (...)... : CloseWebSocketFrame | +| Test.java:7258:50:7258:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7259:10:7259:11 | in : CloseWebSocketFrame | semmle.label | in : CloseWebSocketFrame | +| Test.java:7259:10:7259:20 | retain(...) : CloseWebSocketFrame | semmle.label | retain(...) : CloseWebSocketFrame | +| Test.java:7260:9:7260:11 | out | semmle.label | out | +| Test.java:7265:29:7265:57 | (...)... : CloseWebSocketFrame | semmle.label | (...)... : CloseWebSocketFrame | +| Test.java:7265:50:7265:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7266:10:7266:11 | in : CloseWebSocketFrame | semmle.label | in : CloseWebSocketFrame | +| Test.java:7266:10:7266:21 | retain(...) : CloseWebSocketFrame | semmle.label | retain(...) : CloseWebSocketFrame | +| Test.java:7267:9:7267:11 | out | semmle.label | out | +| Test.java:7272:26:7272:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:7272:44:7272:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7273:10:7273:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:7273:10:7273:20 | retain(...) : CompositeByteBuf | semmle.label | retain(...) : CompositeByteBuf | +| Test.java:7274:9:7274:11 | out | semmle.label | out | +| Test.java:7279:26:7279:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:7279:44:7279:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7280:10:7280:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:7280:10:7280:21 | retain(...) : CompositeByteBuf | semmle.label | retain(...) : CompositeByteBuf | +| Test.java:7281:9:7281:11 | out | semmle.label | out | +| Test.java:7286:36:7286:71 | (...)... : ContinuationWebSocketFrame | semmle.label | (...)... : ContinuationWebSocketFrame | +| Test.java:7286:64:7286:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7287:10:7287:11 | in : ContinuationWebSocketFrame | semmle.label | in : ContinuationWebSocketFrame | +| Test.java:7287:10:7287:20 | retain(...) : ContinuationWebSocketFrame | semmle.label | retain(...) : ContinuationWebSocketFrame | +| Test.java:7288:9:7288:11 | out | semmle.label | out | +| Test.java:7293:36:7293:71 | (...)... : ContinuationWebSocketFrame | semmle.label | (...)... : ContinuationWebSocketFrame | +| Test.java:7293:64:7293:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7294:10:7294:11 | in : ContinuationWebSocketFrame | semmle.label | in : ContinuationWebSocketFrame | +| Test.java:7294:10:7294:21 | retain(...) : ContinuationWebSocketFrame | semmle.label | retain(...) : ContinuationWebSocketFrame | +| Test.java:7295:9:7295:11 | out | semmle.label | out | +| Test.java:7300:27:7300:53 | (...)... : DefaultFileRegion | semmle.label | (...)... : DefaultFileRegion | +| Test.java:7300:46:7300:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7301:10:7301:11 | in : DefaultFileRegion | semmle.label | in : DefaultFileRegion | +| Test.java:7301:10:7301:20 | retain(...) : DefaultFileRegion | semmle.label | retain(...) : DefaultFileRegion | +| Test.java:7302:9:7302:11 | out | semmle.label | out | +| Test.java:7307:27:7307:53 | (...)... : DefaultFileRegion | semmle.label | (...)... : DefaultFileRegion | +| Test.java:7307:46:7307:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7308:10:7308:11 | in : DefaultFileRegion | semmle.label | in : DefaultFileRegion | +| Test.java:7308:10:7308:21 | retain(...) : DefaultFileRegion | semmle.label | retain(...) : DefaultFileRegion | +| Test.java:7309:9:7309:11 | out | semmle.label | out | +| Test.java:7314:20:7314:39 | (...)... : FileRegion | semmle.label | (...)... : FileRegion | +| Test.java:7314:32:7314:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7315:10:7315:11 | in : FileRegion | semmle.label | in : FileRegion | +| Test.java:7315:10:7315:20 | retain(...) : FileRegion | semmle.label | retain(...) : FileRegion | +| Test.java:7316:9:7316:11 | out | semmle.label | out | +| Test.java:7321:20:7321:39 | (...)... : FileRegion | semmle.label | (...)... : FileRegion | +| Test.java:7321:32:7321:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7322:10:7322:11 | in : FileRegion | semmle.label | in : FileRegion | +| Test.java:7322:10:7322:21 | retain(...) : FileRegion | semmle.label | retain(...) : FileRegion | +| Test.java:7323:9:7323:11 | out | semmle.label | out | +| Test.java:7328:20:7328:39 | (...)... : FileUpload | semmle.label | (...)... : FileUpload | +| Test.java:7328:32:7328:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7329:10:7329:11 | in : FileUpload | semmle.label | in : FileUpload | +| Test.java:7329:10:7329:20 | retain(...) : FileUpload | semmle.label | retain(...) : FileUpload | +| Test.java:7330:9:7330:11 | out | semmle.label | out | +| Test.java:7335:20:7335:39 | (...)... : FileUpload | semmle.label | (...)... : FileUpload | +| Test.java:7335:32:7335:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7336:10:7336:11 | in : FileUpload | semmle.label | in : FileUpload | +| Test.java:7336:10:7336:21 | retain(...) : FileUpload | semmle.label | retain(...) : FileUpload | +| Test.java:7337:9:7337:11 | out | semmle.label | out | +| Test.java:7342:25:7342:49 | (...)... : FullHttpMessage | semmle.label | (...)... : FullHttpMessage | +| Test.java:7342:42:7342:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7343:10:7343:11 | in : FullHttpMessage | semmle.label | in : FullHttpMessage | +| Test.java:7343:10:7343:20 | retain(...) : FullHttpMessage | semmle.label | retain(...) : FullHttpMessage | +| Test.java:7344:9:7344:11 | out | semmle.label | out | +| Test.java:7349:25:7349:49 | (...)... : FullHttpMessage | semmle.label | (...)... : FullHttpMessage | +| Test.java:7349:42:7349:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7350:10:7350:11 | in : FullHttpMessage | semmle.label | in : FullHttpMessage | +| Test.java:7350:10:7350:21 | retain(...) : FullHttpMessage | semmle.label | retain(...) : FullHttpMessage | +| Test.java:7351:9:7351:11 | out | semmle.label | out | +| Test.java:7356:25:7356:49 | (...)... : FullHttpRequest | semmle.label | (...)... : FullHttpRequest | +| Test.java:7356:42:7356:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7357:10:7357:11 | in : FullHttpRequest | semmle.label | in : FullHttpRequest | +| Test.java:7357:10:7357:20 | retain(...) : FullHttpRequest | semmle.label | retain(...) : FullHttpRequest | +| Test.java:7358:9:7358:11 | out | semmle.label | out | +| Test.java:7363:25:7363:49 | (...)... : FullHttpRequest | semmle.label | (...)... : FullHttpRequest | +| Test.java:7363:42:7363:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7364:10:7364:11 | in : FullHttpRequest | semmle.label | in : FullHttpRequest | +| Test.java:7364:10:7364:21 | retain(...) : FullHttpRequest | semmle.label | retain(...) : FullHttpRequest | +| Test.java:7365:9:7365:11 | out | semmle.label | out | +| Test.java:7370:26:7370:51 | (...)... : FullHttpResponse | semmle.label | (...)... : FullHttpResponse | +| Test.java:7370:44:7370:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7371:10:7371:11 | in : FullHttpResponse | semmle.label | in : FullHttpResponse | +| Test.java:7371:10:7371:20 | retain(...) : FullHttpResponse | semmle.label | retain(...) : FullHttpResponse | +| Test.java:7372:9:7372:11 | out | semmle.label | out | +| Test.java:7377:26:7377:51 | (...)... : FullHttpResponse | semmle.label | (...)... : FullHttpResponse | +| Test.java:7377:44:7377:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7378:10:7378:11 | in : FullHttpResponse | semmle.label | in : FullHttpResponse | +| Test.java:7378:10:7378:21 | retain(...) : FullHttpResponse | semmle.label | retain(...) : FullHttpResponse | +| Test.java:7379:9:7379:11 | out | semmle.label | out | +| Test.java:7384:21:7384:41 | (...)... : HttpContent | semmle.label | (...)... : HttpContent | +| Test.java:7384:34:7384:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7385:10:7385:11 | in : HttpContent | semmle.label | in : HttpContent | +| Test.java:7385:10:7385:20 | retain(...) : HttpContent | semmle.label | retain(...) : HttpContent | +| Test.java:7386:9:7386:11 | out | semmle.label | out | +| Test.java:7391:21:7391:41 | (...)... : HttpContent | semmle.label | (...)... : HttpContent | +| Test.java:7391:34:7391:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7392:10:7392:11 | in : HttpContent | semmle.label | in : HttpContent | +| Test.java:7392:10:7392:21 | retain(...) : HttpContent | semmle.label | retain(...) : HttpContent | +| Test.java:7393:9:7393:11 | out | semmle.label | out | +| Test.java:7398:18:7398:35 | (...)... : HttpData | semmle.label | (...)... : HttpData | +| Test.java:7398:28:7398:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7399:10:7399:11 | in : HttpData | semmle.label | in : HttpData | +| Test.java:7399:10:7399:20 | retain(...) : HttpData | semmle.label | retain(...) : HttpData | +| Test.java:7400:9:7400:11 | out | semmle.label | out | +| Test.java:7405:18:7405:35 | (...)... : HttpData | semmle.label | (...)... : HttpData | +| Test.java:7405:28:7405:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7406:10:7406:11 | in : HttpData | semmle.label | in : HttpData | +| Test.java:7406:10:7406:21 | retain(...) : HttpData | semmle.label | retain(...) : HttpData | +| Test.java:7407:9:7407:11 | out | semmle.label | out | +| Test.java:7412:27:7412:53 | (...)... : InterfaceHttpData | semmle.label | (...)... : InterfaceHttpData | +| Test.java:7412:46:7412:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7413:10:7413:11 | in : InterfaceHttpData | semmle.label | in : InterfaceHttpData | +| Test.java:7413:10:7413:20 | retain(...) : InterfaceHttpData | semmle.label | retain(...) : InterfaceHttpData | +| Test.java:7414:9:7414:11 | out | semmle.label | out | +| Test.java:7419:27:7419:53 | (...)... : InterfaceHttpData | semmle.label | (...)... : InterfaceHttpData | +| Test.java:7419:46:7419:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7420:10:7420:11 | in : InterfaceHttpData | semmle.label | in : InterfaceHttpData | +| Test.java:7420:10:7420:21 | retain(...) : InterfaceHttpData | semmle.label | retain(...) : InterfaceHttpData | +| Test.java:7421:9:7421:11 | out | semmle.label | out | +| Test.java:7426:25:7426:49 | (...)... : LastHttpContent | semmle.label | (...)... : LastHttpContent | +| Test.java:7426:42:7426:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7427:10:7427:11 | in : LastHttpContent | semmle.label | in : LastHttpContent | +| Test.java:7427:10:7427:20 | retain(...) : LastHttpContent | semmle.label | retain(...) : LastHttpContent | +| Test.java:7428:9:7428:11 | out | semmle.label | out | +| Test.java:7433:25:7433:49 | (...)... : LastHttpContent | semmle.label | (...)... : LastHttpContent | +| Test.java:7433:42:7433:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7434:10:7434:11 | in : LastHttpContent | semmle.label | in : LastHttpContent | +| Test.java:7434:10:7434:21 | retain(...) : LastHttpContent | semmle.label | retain(...) : LastHttpContent | +| Test.java:7435:9:7435:11 | out | semmle.label | out | +| Test.java:7440:28:7440:55 | (...)... : PingWebSocketFrame | semmle.label | (...)... : PingWebSocketFrame | +| Test.java:7440:48:7440:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7441:10:7441:11 | in : PingWebSocketFrame | semmle.label | in : PingWebSocketFrame | +| Test.java:7441:10:7441:20 | retain(...) : PingWebSocketFrame | semmle.label | retain(...) : PingWebSocketFrame | +| Test.java:7442:9:7442:11 | out | semmle.label | out | +| Test.java:7447:28:7447:55 | (...)... : PingWebSocketFrame | semmle.label | (...)... : PingWebSocketFrame | +| Test.java:7447:48:7447:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7448:10:7448:11 | in : PingWebSocketFrame | semmle.label | in : PingWebSocketFrame | +| Test.java:7448:10:7448:21 | retain(...) : PingWebSocketFrame | semmle.label | retain(...) : PingWebSocketFrame | +| Test.java:7449:9:7449:11 | out | semmle.label | out | +| Test.java:7454:28:7454:55 | (...)... : PongWebSocketFrame | semmle.label | (...)... : PongWebSocketFrame | +| Test.java:7454:48:7454:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7455:10:7455:11 | in : PongWebSocketFrame | semmle.label | in : PongWebSocketFrame | +| Test.java:7455:10:7455:20 | retain(...) : PongWebSocketFrame | semmle.label | retain(...) : PongWebSocketFrame | +| Test.java:7456:9:7456:11 | out | semmle.label | out | +| Test.java:7461:28:7461:55 | (...)... : PongWebSocketFrame | semmle.label | (...)... : PongWebSocketFrame | +| Test.java:7461:48:7461:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7462:10:7462:11 | in : PongWebSocketFrame | semmle.label | in : PongWebSocketFrame | +| Test.java:7462:10:7462:21 | retain(...) : PongWebSocketFrame | semmle.label | retain(...) : PongWebSocketFrame | +| Test.java:7463:9:7463:11 | out | semmle.label | out | +| Test.java:7468:34:7468:67 | (...)... : AbstractReferenceCounted | semmle.label | (...)... : AbstractReferenceCounted | +| Test.java:7468:60:7468:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7469:10:7469:11 | in : AbstractReferenceCounted | semmle.label | in : AbstractReferenceCounted | +| Test.java:7469:10:7469:20 | retain(...) : AbstractReferenceCounted | semmle.label | retain(...) : AbstractReferenceCounted | +| Test.java:7470:9:7470:11 | out | semmle.label | out | +| Test.java:7475:34:7475:67 | (...)... : AbstractReferenceCounted | semmle.label | (...)... : AbstractReferenceCounted | +| Test.java:7475:60:7475:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7476:10:7476:11 | in : AbstractReferenceCounted | semmle.label | in : AbstractReferenceCounted | +| Test.java:7476:10:7476:21 | retain(...) : AbstractReferenceCounted | semmle.label | retain(...) : AbstractReferenceCounted | +| Test.java:7477:9:7477:11 | out | semmle.label | out | +| Test.java:7482:26:7482:51 | (...)... : ReferenceCounted | semmle.label | (...)... : ReferenceCounted | +| Test.java:7482:44:7482:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7483:10:7483:11 | in : ReferenceCounted | semmle.label | in : ReferenceCounted | +| Test.java:7483:10:7483:20 | retain(...) : ReferenceCounted | semmle.label | retain(...) : ReferenceCounted | +| Test.java:7484:9:7484:11 | out | semmle.label | out | +| Test.java:7489:26:7489:51 | (...)... : ReferenceCounted | semmle.label | (...)... : ReferenceCounted | +| Test.java:7489:44:7489:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7490:10:7490:11 | in : ReferenceCounted | semmle.label | in : ReferenceCounted | +| Test.java:7490:10:7490:21 | retain(...) : ReferenceCounted | semmle.label | retain(...) : ReferenceCounted | +| Test.java:7491:9:7491:11 | out | semmle.label | out | +| Test.java:7496:28:7496:55 | (...)... : TextWebSocketFrame | semmle.label | (...)... : TextWebSocketFrame | +| Test.java:7496:48:7496:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7497:10:7497:11 | in : TextWebSocketFrame | semmle.label | in : TextWebSocketFrame | +| Test.java:7497:10:7497:20 | retain(...) : TextWebSocketFrame | semmle.label | retain(...) : TextWebSocketFrame | +| Test.java:7498:9:7498:11 | out | semmle.label | out | +| Test.java:7503:28:7503:55 | (...)... : TextWebSocketFrame | semmle.label | (...)... : TextWebSocketFrame | +| Test.java:7503:48:7503:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7504:10:7504:11 | in : TextWebSocketFrame | semmle.label | in : TextWebSocketFrame | +| Test.java:7504:10:7504:21 | retain(...) : TextWebSocketFrame | semmle.label | retain(...) : TextWebSocketFrame | +| Test.java:7505:9:7505:11 | out | semmle.label | out | +| Test.java:7510:24:7510:47 | (...)... : WebSocketFrame | semmle.label | (...)... : WebSocketFrame | +| Test.java:7510:40:7510:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7511:10:7511:11 | in : WebSocketFrame | semmle.label | in : WebSocketFrame | +| Test.java:7511:10:7511:20 | retain(...) : WebSocketFrame | semmle.label | retain(...) : WebSocketFrame | +| Test.java:7512:9:7512:11 | out | semmle.label | out | +| Test.java:7517:24:7517:47 | (...)... : WebSocketFrame | semmle.label | (...)... : WebSocketFrame | +| Test.java:7517:40:7517:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7518:10:7518:11 | in : WebSocketFrame | semmle.label | in : WebSocketFrame | +| Test.java:7518:10:7518:21 | retain(...) : WebSocketFrame | semmle.label | retain(...) : WebSocketFrame | +| Test.java:7519:9:7519:11 | out | semmle.label | out | +| Test.java:7524:19:7524:37 | (...)... : Attribute | semmle.label | (...)... : Attribute | +| Test.java:7524:30:7524:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7525:10:7525:11 | in : Attribute | semmle.label | in : Attribute | +| Test.java:7525:10:7525:19 | touch(...) : Attribute | semmle.label | touch(...) : Attribute | +| Test.java:7526:9:7526:11 | out | semmle.label | out | +| Test.java:7531:19:7531:37 | (...)... : Attribute | semmle.label | (...)... : Attribute | +| Test.java:7531:30:7531:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7532:10:7532:11 | in : Attribute | semmle.label | in : Attribute | +| Test.java:7532:10:7532:23 | touch(...) : Attribute | semmle.label | touch(...) : Attribute | +| Test.java:7533:9:7533:11 | out | semmle.label | out | +| Test.java:7538:30:7538:59 | (...)... : BinaryWebSocketFrame | semmle.label | (...)... : BinaryWebSocketFrame | +| Test.java:7538:52:7538:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7539:10:7539:11 | in : BinaryWebSocketFrame | semmle.label | in : BinaryWebSocketFrame | +| Test.java:7539:10:7539:19 | touch(...) : BinaryWebSocketFrame | semmle.label | touch(...) : BinaryWebSocketFrame | +| Test.java:7540:9:7540:11 | out | semmle.label | out | +| Test.java:7545:30:7545:59 | (...)... : BinaryWebSocketFrame | semmle.label | (...)... : BinaryWebSocketFrame | +| Test.java:7545:52:7545:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7546:10:7546:11 | in : BinaryWebSocketFrame | semmle.label | in : BinaryWebSocketFrame | +| Test.java:7546:10:7546:23 | touch(...) : BinaryWebSocketFrame | semmle.label | touch(...) : BinaryWebSocketFrame | +| Test.java:7547:9:7547:11 | out | semmle.label | out | +| Test.java:7552:41:7552:81 | (...)... : AbstractReferenceCountedByteBuf | semmle.label | (...)... : AbstractReferenceCountedByteBuf | +| Test.java:7552:74:7552:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7553:10:7553:11 | in : AbstractReferenceCountedByteBuf | semmle.label | in : AbstractReferenceCountedByteBuf | +| Test.java:7553:10:7553:19 | touch(...) : AbstractReferenceCountedByteBuf | semmle.label | touch(...) : AbstractReferenceCountedByteBuf | +| Test.java:7554:9:7554:11 | out | semmle.label | out | +| Test.java:7559:41:7559:81 | (...)... : AbstractReferenceCountedByteBuf | semmle.label | (...)... : AbstractReferenceCountedByteBuf | +| Test.java:7559:74:7559:81 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7560:10:7560:11 | in : AbstractReferenceCountedByteBuf | semmle.label | in : AbstractReferenceCountedByteBuf | +| Test.java:7560:10:7560:23 | touch(...) : AbstractReferenceCountedByteBuf | semmle.label | touch(...) : AbstractReferenceCountedByteBuf | +| Test.java:7561:9:7561:11 | out | semmle.label | out | +| Test.java:7566:17:7566:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:7566:26:7566:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7567:10:7567:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:7567:10:7567:19 | touch(...) : ByteBuf | semmle.label | touch(...) : ByteBuf | +| Test.java:7568:9:7568:11 | out | semmle.label | out | +| Test.java:7573:17:7573:33 | (...)... : ByteBuf | semmle.label | (...)... : ByteBuf | +| Test.java:7573:26:7573:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7574:10:7574:11 | in : ByteBuf | semmle.label | in : ByteBuf | +| Test.java:7574:10:7574:23 | touch(...) : ByteBuf | semmle.label | touch(...) : ByteBuf | +| Test.java:7575:9:7575:11 | out | semmle.label | out | +| Test.java:7580:24:7580:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:7580:40:7580:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7581:10:7581:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:7581:10:7581:19 | touch(...) : SwappedByteBuf | semmle.label | touch(...) : SwappedByteBuf | +| Test.java:7582:9:7582:11 | out | semmle.label | out | +| Test.java:7587:24:7587:47 | (...)... : SwappedByteBuf | semmle.label | (...)... : SwappedByteBuf | +| Test.java:7587:40:7587:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7588:10:7588:11 | in : SwappedByteBuf | semmle.label | in : SwappedByteBuf | +| Test.java:7588:10:7588:23 | touch(...) : SwappedByteBuf | semmle.label | touch(...) : SwappedByteBuf | +| Test.java:7589:9:7589:11 | out | semmle.label | out | +| Test.java:7594:23:7594:45 | (...)... : ByteBufHolder | semmle.label | (...)... : ByteBufHolder | +| Test.java:7594:38:7594:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7595:10:7595:11 | in : ByteBufHolder | semmle.label | in : ByteBufHolder | +| Test.java:7595:10:7595:19 | touch(...) : ByteBufHolder | semmle.label | touch(...) : ByteBufHolder | +| Test.java:7596:9:7596:11 | out | semmle.label | out | +| Test.java:7601:23:7601:45 | (...)... : ByteBufHolder | semmle.label | (...)... : ByteBufHolder | +| Test.java:7601:38:7601:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7602:10:7602:11 | in : ByteBufHolder | semmle.label | in : ByteBufHolder | +| Test.java:7602:10:7602:23 | touch(...) : ByteBufHolder | semmle.label | touch(...) : ByteBufHolder | +| Test.java:7603:9:7603:11 | out | semmle.label | out | +| Test.java:7608:30:7608:59 | (...)... : DefaultByteBufHolder | semmle.label | (...)... : DefaultByteBufHolder | +| Test.java:7608:52:7608:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7609:10:7609:11 | in : DefaultByteBufHolder | semmle.label | in : DefaultByteBufHolder | +| Test.java:7609:10:7609:19 | touch(...) : DefaultByteBufHolder | semmle.label | touch(...) : DefaultByteBufHolder | +| Test.java:7610:9:7610:11 | out | semmle.label | out | +| Test.java:7615:30:7615:59 | (...)... : DefaultByteBufHolder | semmle.label | (...)... : DefaultByteBufHolder | +| Test.java:7615:52:7615:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7616:10:7616:11 | in : DefaultByteBufHolder | semmle.label | in : DefaultByteBufHolder | +| Test.java:7616:10:7616:23 | touch(...) : DefaultByteBufHolder | semmle.label | touch(...) : DefaultByteBufHolder | +| Test.java:7617:9:7617:11 | out | semmle.label | out | +| Test.java:7622:29:7622:57 | (...)... : CloseWebSocketFrame | semmle.label | (...)... : CloseWebSocketFrame | +| Test.java:7622:50:7622:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7623:10:7623:11 | in : CloseWebSocketFrame | semmle.label | in : CloseWebSocketFrame | +| Test.java:7623:10:7623:19 | touch(...) : CloseWebSocketFrame | semmle.label | touch(...) : CloseWebSocketFrame | +| Test.java:7624:9:7624:11 | out | semmle.label | out | +| Test.java:7629:29:7629:57 | (...)... : CloseWebSocketFrame | semmle.label | (...)... : CloseWebSocketFrame | +| Test.java:7629:50:7629:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7630:10:7630:11 | in : CloseWebSocketFrame | semmle.label | in : CloseWebSocketFrame | +| Test.java:7630:10:7630:23 | touch(...) : CloseWebSocketFrame | semmle.label | touch(...) : CloseWebSocketFrame | +| Test.java:7631:9:7631:11 | out | semmle.label | out | +| Test.java:7636:26:7636:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:7636:44:7636:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7637:10:7637:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:7637:10:7637:19 | touch(...) : CompositeByteBuf | semmle.label | touch(...) : CompositeByteBuf | +| Test.java:7638:9:7638:11 | out | semmle.label | out | +| Test.java:7643:26:7643:51 | (...)... : CompositeByteBuf | semmle.label | (...)... : CompositeByteBuf | +| Test.java:7643:44:7643:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7644:10:7644:11 | in : CompositeByteBuf | semmle.label | in : CompositeByteBuf | +| Test.java:7644:10:7644:23 | touch(...) : CompositeByteBuf | semmle.label | touch(...) : CompositeByteBuf | +| Test.java:7645:9:7645:11 | out | semmle.label | out | +| Test.java:7650:36:7650:71 | (...)... : ContinuationWebSocketFrame | semmle.label | (...)... : ContinuationWebSocketFrame | +| Test.java:7650:64:7650:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7651:10:7651:11 | in : ContinuationWebSocketFrame | semmle.label | in : ContinuationWebSocketFrame | +| Test.java:7651:10:7651:19 | touch(...) : ContinuationWebSocketFrame | semmle.label | touch(...) : ContinuationWebSocketFrame | +| Test.java:7652:9:7652:11 | out | semmle.label | out | +| Test.java:7657:36:7657:71 | (...)... : ContinuationWebSocketFrame | semmle.label | (...)... : ContinuationWebSocketFrame | +| Test.java:7657:64:7657:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7658:10:7658:11 | in : ContinuationWebSocketFrame | semmle.label | in : ContinuationWebSocketFrame | +| Test.java:7658:10:7658:23 | touch(...) : ContinuationWebSocketFrame | semmle.label | touch(...) : ContinuationWebSocketFrame | +| Test.java:7659:9:7659:11 | out | semmle.label | out | +| Test.java:7664:27:7664:53 | (...)... : DefaultFileRegion | semmle.label | (...)... : DefaultFileRegion | +| Test.java:7664:46:7664:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7665:10:7665:11 | in : DefaultFileRegion | semmle.label | in : DefaultFileRegion | +| Test.java:7665:10:7665:19 | touch(...) : DefaultFileRegion | semmle.label | touch(...) : DefaultFileRegion | +| Test.java:7666:9:7666:11 | out | semmle.label | out | +| Test.java:7671:27:7671:53 | (...)... : DefaultFileRegion | semmle.label | (...)... : DefaultFileRegion | +| Test.java:7671:46:7671:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7672:10:7672:11 | in : DefaultFileRegion | semmle.label | in : DefaultFileRegion | +| Test.java:7672:10:7672:23 | touch(...) : DefaultFileRegion | semmle.label | touch(...) : DefaultFileRegion | +| Test.java:7673:9:7673:11 | out | semmle.label | out | +| Test.java:7678:20:7678:39 | (...)... : FileRegion | semmle.label | (...)... : FileRegion | +| Test.java:7678:32:7678:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7679:10:7679:11 | in : FileRegion | semmle.label | in : FileRegion | +| Test.java:7679:10:7679:19 | touch(...) : FileRegion | semmle.label | touch(...) : FileRegion | +| Test.java:7680:9:7680:11 | out | semmle.label | out | +| Test.java:7685:20:7685:39 | (...)... : FileRegion | semmle.label | (...)... : FileRegion | +| Test.java:7685:32:7685:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7686:10:7686:11 | in : FileRegion | semmle.label | in : FileRegion | +| Test.java:7686:10:7686:23 | touch(...) : FileRegion | semmle.label | touch(...) : FileRegion | +| Test.java:7687:9:7687:11 | out | semmle.label | out | +| Test.java:7692:20:7692:39 | (...)... : FileUpload | semmle.label | (...)... : FileUpload | +| Test.java:7692:32:7692:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7693:10:7693:11 | in : FileUpload | semmle.label | in : FileUpload | +| Test.java:7693:10:7693:19 | touch(...) : FileUpload | semmle.label | touch(...) : FileUpload | +| Test.java:7694:9:7694:11 | out | semmle.label | out | +| Test.java:7699:20:7699:39 | (...)... : FileUpload | semmle.label | (...)... : FileUpload | +| Test.java:7699:32:7699:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7700:10:7700:11 | in : FileUpload | semmle.label | in : FileUpload | +| Test.java:7700:10:7700:23 | touch(...) : FileUpload | semmle.label | touch(...) : FileUpload | +| Test.java:7701:9:7701:11 | out | semmle.label | out | +| Test.java:7706:25:7706:49 | (...)... : FullHttpMessage | semmle.label | (...)... : FullHttpMessage | +| Test.java:7706:42:7706:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7707:10:7707:11 | in : FullHttpMessage | semmle.label | in : FullHttpMessage | +| Test.java:7707:10:7707:19 | touch(...) : FullHttpMessage | semmle.label | touch(...) : FullHttpMessage | +| Test.java:7708:9:7708:11 | out | semmle.label | out | +| Test.java:7713:25:7713:49 | (...)... : FullHttpMessage | semmle.label | (...)... : FullHttpMessage | +| Test.java:7713:42:7713:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7714:10:7714:11 | in : FullHttpMessage | semmle.label | in : FullHttpMessage | +| Test.java:7714:10:7714:23 | touch(...) : FullHttpMessage | semmle.label | touch(...) : FullHttpMessage | +| Test.java:7715:9:7715:11 | out | semmle.label | out | +| Test.java:7720:25:7720:49 | (...)... : FullHttpRequest | semmle.label | (...)... : FullHttpRequest | +| Test.java:7720:42:7720:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7721:10:7721:11 | in : FullHttpRequest | semmle.label | in : FullHttpRequest | +| Test.java:7721:10:7721:19 | touch(...) : FullHttpRequest | semmle.label | touch(...) : FullHttpRequest | +| Test.java:7722:9:7722:11 | out | semmle.label | out | +| Test.java:7727:25:7727:49 | (...)... : FullHttpRequest | semmle.label | (...)... : FullHttpRequest | +| Test.java:7727:42:7727:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7728:10:7728:11 | in : FullHttpRequest | semmle.label | in : FullHttpRequest | +| Test.java:7728:10:7728:23 | touch(...) : FullHttpRequest | semmle.label | touch(...) : FullHttpRequest | +| Test.java:7729:9:7729:11 | out | semmle.label | out | +| Test.java:7734:26:7734:51 | (...)... : FullHttpResponse | semmle.label | (...)... : FullHttpResponse | +| Test.java:7734:44:7734:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7735:10:7735:11 | in : FullHttpResponse | semmle.label | in : FullHttpResponse | +| Test.java:7735:10:7735:19 | touch(...) : FullHttpResponse | semmle.label | touch(...) : FullHttpResponse | +| Test.java:7736:9:7736:11 | out | semmle.label | out | +| Test.java:7741:26:7741:51 | (...)... : FullHttpResponse | semmle.label | (...)... : FullHttpResponse | +| Test.java:7741:44:7741:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7742:10:7742:11 | in : FullHttpResponse | semmle.label | in : FullHttpResponse | +| Test.java:7742:10:7742:23 | touch(...) : FullHttpResponse | semmle.label | touch(...) : FullHttpResponse | +| Test.java:7743:9:7743:11 | out | semmle.label | out | +| Test.java:7748:21:7748:41 | (...)... : HttpContent | semmle.label | (...)... : HttpContent | +| Test.java:7748:34:7748:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7749:10:7749:11 | in : HttpContent | semmle.label | in : HttpContent | +| Test.java:7749:10:7749:19 | touch(...) : HttpContent | semmle.label | touch(...) : HttpContent | +| Test.java:7750:9:7750:11 | out | semmle.label | out | +| Test.java:7755:21:7755:41 | (...)... : HttpContent | semmle.label | (...)... : HttpContent | +| Test.java:7755:34:7755:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7756:10:7756:11 | in : HttpContent | semmle.label | in : HttpContent | +| Test.java:7756:10:7756:23 | touch(...) : HttpContent | semmle.label | touch(...) : HttpContent | +| Test.java:7757:9:7757:11 | out | semmle.label | out | +| Test.java:7762:18:7762:35 | (...)... : HttpData | semmle.label | (...)... : HttpData | +| Test.java:7762:28:7762:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7763:10:7763:11 | in : HttpData | semmle.label | in : HttpData | +| Test.java:7763:10:7763:19 | touch(...) : HttpData | semmle.label | touch(...) : HttpData | +| Test.java:7764:9:7764:11 | out | semmle.label | out | +| Test.java:7769:18:7769:35 | (...)... : HttpData | semmle.label | (...)... : HttpData | +| Test.java:7769:28:7769:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7770:10:7770:11 | in : HttpData | semmle.label | in : HttpData | +| Test.java:7770:10:7770:23 | touch(...) : HttpData | semmle.label | touch(...) : HttpData | +| Test.java:7771:9:7771:11 | out | semmle.label | out | +| Test.java:7776:27:7776:53 | (...)... : InterfaceHttpData | semmle.label | (...)... : InterfaceHttpData | +| Test.java:7776:46:7776:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7777:10:7777:11 | in : InterfaceHttpData | semmle.label | in : InterfaceHttpData | +| Test.java:7777:10:7777:19 | touch(...) : InterfaceHttpData | semmle.label | touch(...) : InterfaceHttpData | +| Test.java:7778:9:7778:11 | out | semmle.label | out | +| Test.java:7783:27:7783:53 | (...)... : InterfaceHttpData | semmle.label | (...)... : InterfaceHttpData | +| Test.java:7783:46:7783:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7784:10:7784:11 | in : InterfaceHttpData | semmle.label | in : InterfaceHttpData | +| Test.java:7784:10:7784:23 | touch(...) : InterfaceHttpData | semmle.label | touch(...) : InterfaceHttpData | +| Test.java:7785:9:7785:11 | out | semmle.label | out | +| Test.java:7790:25:7790:49 | (...)... : LastHttpContent | semmle.label | (...)... : LastHttpContent | +| Test.java:7790:42:7790:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7791:10:7791:11 | in : LastHttpContent | semmle.label | in : LastHttpContent | +| Test.java:7791:10:7791:19 | touch(...) : LastHttpContent | semmle.label | touch(...) : LastHttpContent | +| Test.java:7792:9:7792:11 | out | semmle.label | out | +| Test.java:7797:25:7797:49 | (...)... : LastHttpContent | semmle.label | (...)... : LastHttpContent | +| Test.java:7797:42:7797:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7798:10:7798:11 | in : LastHttpContent | semmle.label | in : LastHttpContent | +| Test.java:7798:10:7798:23 | touch(...) : LastHttpContent | semmle.label | touch(...) : LastHttpContent | +| Test.java:7799:9:7799:11 | out | semmle.label | out | +| Test.java:7804:28:7804:55 | (...)... : PingWebSocketFrame | semmle.label | (...)... : PingWebSocketFrame | +| Test.java:7804:48:7804:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7805:10:7805:11 | in : PingWebSocketFrame | semmle.label | in : PingWebSocketFrame | +| Test.java:7805:10:7805:19 | touch(...) : PingWebSocketFrame | semmle.label | touch(...) : PingWebSocketFrame | +| Test.java:7806:9:7806:11 | out | semmle.label | out | +| Test.java:7811:28:7811:55 | (...)... : PingWebSocketFrame | semmle.label | (...)... : PingWebSocketFrame | +| Test.java:7811:48:7811:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7812:10:7812:11 | in : PingWebSocketFrame | semmle.label | in : PingWebSocketFrame | +| Test.java:7812:10:7812:23 | touch(...) : PingWebSocketFrame | semmle.label | touch(...) : PingWebSocketFrame | +| Test.java:7813:9:7813:11 | out | semmle.label | out | +| Test.java:7818:28:7818:55 | (...)... : PongWebSocketFrame | semmle.label | (...)... : PongWebSocketFrame | +| Test.java:7818:48:7818:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7819:10:7819:11 | in : PongWebSocketFrame | semmle.label | in : PongWebSocketFrame | +| Test.java:7819:10:7819:19 | touch(...) : PongWebSocketFrame | semmle.label | touch(...) : PongWebSocketFrame | +| Test.java:7820:9:7820:11 | out | semmle.label | out | +| Test.java:7825:28:7825:55 | (...)... : PongWebSocketFrame | semmle.label | (...)... : PongWebSocketFrame | +| Test.java:7825:48:7825:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7826:10:7826:11 | in : PongWebSocketFrame | semmle.label | in : PongWebSocketFrame | +| Test.java:7826:10:7826:23 | touch(...) : PongWebSocketFrame | semmle.label | touch(...) : PongWebSocketFrame | +| Test.java:7827:9:7827:11 | out | semmle.label | out | +| Test.java:7832:34:7832:67 | (...)... : AbstractReferenceCounted | semmle.label | (...)... : AbstractReferenceCounted | +| Test.java:7832:60:7832:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7833:10:7833:11 | in : AbstractReferenceCounted | semmle.label | in : AbstractReferenceCounted | +| Test.java:7833:10:7833:19 | touch(...) : AbstractReferenceCounted | semmle.label | touch(...) : AbstractReferenceCounted | +| Test.java:7834:9:7834:11 | out | semmle.label | out | +| Test.java:7839:26:7839:51 | (...)... : ReferenceCounted | semmle.label | (...)... : ReferenceCounted | +| Test.java:7839:44:7839:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7840:10:7840:11 | in : ReferenceCounted | semmle.label | in : ReferenceCounted | +| Test.java:7840:10:7840:19 | touch(...) : ReferenceCounted | semmle.label | touch(...) : ReferenceCounted | +| Test.java:7841:9:7841:11 | out | semmle.label | out | +| Test.java:7846:26:7846:51 | (...)... : ReferenceCounted | semmle.label | (...)... : ReferenceCounted | +| Test.java:7846:44:7846:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7847:10:7847:11 | in : ReferenceCounted | semmle.label | in : ReferenceCounted | +| Test.java:7847:10:7847:23 | touch(...) : ReferenceCounted | semmle.label | touch(...) : ReferenceCounted | +| Test.java:7848:9:7848:11 | out | semmle.label | out | +| Test.java:7853:28:7853:55 | (...)... : TextWebSocketFrame | semmle.label | (...)... : TextWebSocketFrame | +| Test.java:7853:48:7853:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7854:10:7854:11 | in : TextWebSocketFrame | semmle.label | in : TextWebSocketFrame | +| Test.java:7854:10:7854:19 | touch(...) : TextWebSocketFrame | semmle.label | touch(...) : TextWebSocketFrame | +| Test.java:7855:9:7855:11 | out | semmle.label | out | +| Test.java:7860:28:7860:55 | (...)... : TextWebSocketFrame | semmle.label | (...)... : TextWebSocketFrame | +| Test.java:7860:48:7860:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7861:10:7861:11 | in : TextWebSocketFrame | semmle.label | in : TextWebSocketFrame | +| Test.java:7861:10:7861:23 | touch(...) : TextWebSocketFrame | semmle.label | touch(...) : TextWebSocketFrame | +| Test.java:7862:9:7862:11 | out | semmle.label | out | +| Test.java:7867:24:7867:47 | (...)... : WebSocketFrame | semmle.label | (...)... : WebSocketFrame | +| Test.java:7867:40:7867:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7868:10:7868:11 | in : WebSocketFrame | semmle.label | in : WebSocketFrame | +| Test.java:7868:10:7868:19 | touch(...) : WebSocketFrame | semmle.label | touch(...) : WebSocketFrame | +| Test.java:7869:9:7869:11 | out | semmle.label | out | +| Test.java:7874:24:7874:47 | (...)... : WebSocketFrame | semmle.label | (...)... : WebSocketFrame | +| Test.java:7874:40:7874:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:7875:10:7875:11 | in : WebSocketFrame | semmle.label | in : WebSocketFrame | +| Test.java:7875:10:7875:23 | touch(...) : WebSocketFrame | semmle.label | touch(...) : WebSocketFrame | +| Test.java:7876:9:7876:11 | out | semmle.label | out | +| TestA.java:20:16:20:32 | (...)... : String | semmle.label | (...)... : String | +| TestA.java:20:25:20:32 | source(...) : Object | semmle.label | source(...) : Object | +| TestA.java:22:10:22:29 | resolve(...) : Future | semmle.label | resolve(...) : Future | +| TestA.java:22:27:22:28 | in : String | semmle.label | in : String | +| TestA.java:23:9:23:11 | out | semmle.label | out | +subpaths +| Test.java:4349:20:4349:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:4349:9:4349:23 | getElement(...) | +| Test.java:4728:20:4728:22 | out : Set [] : Object | Test.java:79:19:79:32 | it : Set [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:4728:9:4728:23 | getElement(...) | +| Test.java:4736:20:4736:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:4736:9:4736:23 | getElement(...) | +| Test.java:4744:20:4744:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:4744:9:4744:23 | getElement(...) | +| Test.java:4760:20:4760:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:4760:9:4760:23 | getElement(...) | +| Test.java:4768:20:4768:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:4768:9:4768:23 | getElement(...) | +| Test.java:5406:20:5406:22 | out : Iterator [] : Object | Test.java:80:19:80:32 | it : Iterator [] : Object | Test.java:80:44:80:52 | next(...) : Object | Test.java:5406:9:5406:23 | getElement(...) | +| Test.java:5728:37:5728:39 | out : List [, ] : Object | Test.java:79:19:79:32 | it : List [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5728:26:5728:40 | getElement(...) : Object [] : Object | +| Test.java:5735:39:5735:41 | out : List [, ] : Object | Test.java:79:19:79:32 | it : List [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5735:28:5735:42 | getElement(...) : Object [] : Object | +| Test.java:5771:20:5771:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:5771:9:5771:23 | getElement(...) | +| Test.java:5778:20:5778:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:5778:9:5778:23 | getElement(...) | +| Test.java:5785:20:5785:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:5785:9:5785:23 | getElement(...) | +| Test.java:5862:37:5862:39 | out : Iterator [, ] : Object | Test.java:80:19:80:32 | it : Iterator [, ] : Object | Test.java:80:44:80:52 | next(...) : Object [] : Object | Test.java:5862:26:5862:40 | getElement(...) : Object [] : Object | +| Test.java:5869:39:5869:41 | out : Iterator [, ] : Object | Test.java:80:19:80:32 | it : Iterator [, ] : Object | Test.java:80:44:80:52 | next(...) : Object [] : Object | Test.java:5869:28:5869:42 | getElement(...) : Object [] : Object | +| Test.java:5876:37:5876:39 | out : Iterator [, ] : Object | Test.java:80:19:80:32 | it : Iterator [, ] : Object | Test.java:80:44:80:52 | next(...) : Object [] : Object | Test.java:5876:26:5876:40 | getElement(...) : Object [] : Object | +| Test.java:5883:39:5883:41 | out : Iterator [, ] : Object | Test.java:80:19:80:32 | it : Iterator [, ] : Object | Test.java:80:44:80:52 | next(...) : Object [] : Object | Test.java:5883:28:5883:42 | getElement(...) : Object [] : Object | +| Test.java:5890:20:5890:22 | out : Set [] : Object | Test.java:79:19:79:32 | it : Set [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:5890:9:5890:23 | getElement(...) | +| Test.java:6086:20:6086:22 | out : Iterator [] : Object | Test.java:80:19:80:32 | it : Iterator [] : Object | Test.java:80:44:80:52 | next(...) : Object | Test.java:6086:9:6086:23 | getElement(...) | +| Test.java:6093:20:6093:22 | out : Iterator [] : Object | Test.java:80:19:80:32 | it : Iterator [] : Object | Test.java:80:44:80:52 | next(...) : Object | Test.java:6093:9:6093:23 | getElement(...) | +| Test.java:6270:37:6270:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6270:26:6270:40 | getElement(...) : Object [] : Object | +| Test.java:6277:39:6277:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6277:28:6277:42 | getElement(...) : Object [] : Object | +| Test.java:6284:37:6284:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6284:26:6284:40 | getElement(...) : Object [] : Object | +| Test.java:6291:39:6291:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6291:28:6291:42 | getElement(...) : Object [] : Object | +| Test.java:6298:37:6298:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6298:26:6298:40 | getElement(...) : Object [] : Object | +| Test.java:6305:39:6305:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6305:28:6305:42 | getElement(...) : Object [] : Object | +| Test.java:6312:37:6312:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6312:26:6312:40 | getElement(...) : Object [] : Object | +| Test.java:6319:39:6319:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6319:28:6319:42 | getElement(...) : Object [] : Object | +| Test.java:6361:37:6361:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6361:26:6361:40 | getElement(...) : Object [] : Object | +| Test.java:6375:37:6375:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6375:26:6375:40 | getElement(...) : Object [] : Object | +| Test.java:6389:37:6389:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6389:26:6389:40 | getElement(...) : Object [] : Object | +| Test.java:6403:37:6403:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6403:26:6403:40 | getElement(...) : Object [] : Object | +| Test.java:6417:37:6417:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6417:26:6417:40 | getElement(...) : Object [] : Object | +| Test.java:6431:37:6431:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6431:26:6431:40 | getElement(...) : Object [] : Object | +| Test.java:6445:37:6445:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6445:26:6445:40 | getElement(...) : Object [] : Object | +| Test.java:6452:37:6452:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6452:26:6452:40 | getElement(...) : Object [] : Object | +| Test.java:6459:39:6459:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6459:28:6459:42 | getElement(...) : Object [] : Object | +| Test.java:6466:37:6466:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6466:26:6466:40 | getElement(...) : Object [] : Object | +| Test.java:6473:39:6473:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6473:28:6473:42 | getElement(...) : Object [] : Object | +| Test.java:6480:37:6480:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6480:26:6480:40 | getElement(...) : Object [] : Object | +| Test.java:6487:39:6487:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6487:28:6487:42 | getElement(...) : Object [] : Object | +| Test.java:6501:37:6501:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6501:26:6501:40 | getElement(...) : Object [] : Object | +| Test.java:6515:37:6515:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6515:26:6515:40 | getElement(...) : Object [] : Object | +| Test.java:6544:20:6544:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:6544:9:6544:23 | getElement(...) | +| Test.java:6551:20:6551:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:6551:9:6551:23 | getElement(...) | +| Test.java:6573:20:6573:22 | out : Set [] : Object | Test.java:79:19:79:32 | it : Set [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:6573:9:6573:23 | getElement(...) | +| Test.java:6580:37:6580:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6580:26:6580:40 | getElement(...) : Object [] : Object | +| Test.java:6587:39:6587:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6587:28:6587:42 | getElement(...) : Object [] : Object | +| Test.java:6594:37:6594:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6594:26:6594:40 | getElement(...) : Object [] : Object | +| Test.java:6601:39:6601:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6601:28:6601:42 | getElement(...) : Object [] : Object | +| Test.java:6608:37:6608:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6608:26:6608:40 | getElement(...) : Object [] : Object | +| Test.java:6615:39:6615:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6615:28:6615:42 | getElement(...) : Object [] : Object | +| Test.java:6622:37:6622:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6622:26:6622:40 | getElement(...) : Object [] : Object | +| Test.java:6629:39:6629:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6629:28:6629:42 | getElement(...) : Object [] : Object | +| Test.java:6664:37:6664:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6664:26:6664:40 | getElement(...) : Object [] : Object | +| Test.java:6671:39:6671:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6671:28:6671:42 | getElement(...) : Object [] : Object | +| Test.java:6685:37:6685:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6685:26:6685:40 | getElement(...) : Object [] : Object | +| Test.java:6699:37:6699:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6699:26:6699:40 | getElement(...) : Object [] : Object | +| Test.java:6713:37:6713:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6713:26:6713:40 | getElement(...) : Object [] : Object | +| Test.java:6727:37:6727:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6727:26:6727:40 | getElement(...) : Object [] : Object | +| Test.java:6741:37:6741:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6741:26:6741:40 | getElement(...) : Object [] : Object | +| Test.java:6755:37:6755:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6755:26:6755:40 | getElement(...) : Object [] : Object | +| Test.java:6769:37:6769:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6769:26:6769:40 | getElement(...) : Object [] : Object | +| Test.java:6776:37:6776:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6776:26:6776:40 | getElement(...) : Object [] : Object | +| Test.java:6783:39:6783:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6783:28:6783:42 | getElement(...) : Object [] : Object | +| Test.java:6790:37:6790:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6790:26:6790:40 | getElement(...) : Object [] : Object | +| Test.java:6797:39:6797:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6797:28:6797:42 | getElement(...) : Object [] : Object | +| Test.java:6804:37:6804:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6804:26:6804:40 | getElement(...) : Object [] : Object | +| Test.java:6811:39:6811:41 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6811:28:6811:42 | getElement(...) : Object [] : Object | +| Test.java:6825:37:6825:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6825:26:6825:40 | getElement(...) : Object [] : Object | +| Test.java:6839:37:6839:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6839:26:6839:40 | getElement(...) : Object [] : Object | +| Test.java:6874:20:6874:22 | out : Set [] : Object | Test.java:79:19:79:32 | it : Set [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:6874:9:6874:23 | getElement(...) | +testFailures diff --git a/java/ql/test/library-tests/frameworks/play/test.expected b/java/ql/test/library-tests/frameworks/play/test.expected index e69de29bb2d..eefa5a59f97 100644 --- a/java/ql/test/library-tests/frameworks/play/test.expected +++ b/java/ql/test/library-tests/frameworks/play/test.expected @@ -0,0 +1,244 @@ +models +| 1 | Summary: play.mvc; Http$RequestBody; true; as; ; ; Argument[this]; ReturnValue; taint; manual | +| 2 | Summary: play.mvc; Http$RequestBody; true; asBytes; ; ; Argument[this]; ReturnValue; taint; manual | +| 3 | Summary: play.mvc; Http$RequestBody; true; asFormUrlEncoded; ; ; Argument[this]; ReturnValue; taint; manual | +| 4 | Summary: play.mvc; Http$RequestBody; true; asJson; ; ; Argument[this]; ReturnValue; taint; manual | +| 5 | Summary: play.mvc; Http$RequestBody; true; asMultipartFormData; ; ; Argument[this]; ReturnValue; taint; manual | +| 6 | Summary: play.mvc; Http$RequestBody; true; asRaw; ; ; Argument[this]; ReturnValue; taint; manual | +| 7 | Summary: play.mvc; Http$RequestBody; true; asText; ; ; Argument[this]; ReturnValue; taint; manual | +| 8 | Summary: play.mvc; Http$RequestBody; true; asXml; ; ; Argument[this]; ReturnValue; taint; manual | +| 9 | Summary: play.mvc; Http$RequestBody; true; parseJson; ; ; Argument[this]; ReturnValue; taint; manual | +| 10 | Summary: play.mvc; Http$MultipartFormData; true; asFormUrlEncoded; ; ; Argument[this]; ReturnValue; taint; manual | +| 11 | Summary: play.mvc; Http$MultipartFormData; true; getFile; ; ; Argument[this]; ReturnValue; taint; manual | +| 12 | Summary: play.mvc; Http$MultipartFormData; true; getFiles; ; ; Argument[this]; ReturnValue; taint; manual | +| 13 | Summary: play.mvc; Http$MultipartFormData$FilePart; true; getContentType; ; ; Argument[this]; ReturnValue; taint; manual | +| 14 | Summary: play.mvc; Http$MultipartFormData$FilePart; true; getDispositionType; ; ; Argument[this]; ReturnValue; taint; manual | +| 15 | Summary: play.mvc; Http$MultipartFormData$FilePart; true; getFilename; ; ; Argument[this]; ReturnValue; taint; manual | +| 16 | Summary: play.mvc; Http$MultipartFormData$FilePart; true; getKey; ; ; Argument[this]; ReturnValue; taint; manual | +| 17 | Summary: play.mvc; Http$MultipartFormData$FilePart; true; getRef; ; ; Argument[this]; ReturnValue; taint; manual | +| 18 | Summary: play.mvc; Http$RawBuffer; true; asBytes; ; ; Argument[this]; ReturnValue; taint; manual | +| 19 | Summary: play.mvc; Http$RawBuffer; true; asFile; ; ; Argument[this]; ReturnValue; taint; manual | +| 20 | Summary: play.mvc; Http$Cookie; true; name; ; ; Argument[this]; ReturnValue; taint; manual | +| 21 | Summary: play.mvc; Http$Cookie; true; value; ; ; Argument[this]; ReturnValue; taint; manual | +| 22 | Summary: play.mvc; Http$Cookies; true; get; ; ; Argument[this]; ReturnValue; taint; manual | +| 23 | Summary: play.mvc; Http$Cookies; true; getCookie; ; ; Argument[this]; ReturnValue; taint; manual | +edges +| mad/Test.java:26:21:26:42 | (...)... : Cookie | mad/Test.java:27:10:27:11 | in : Cookie | provenance | | +| mad/Test.java:26:35:26:42 | source(...) : Object | mad/Test.java:26:21:26:42 | (...)... : Cookie | provenance | | +| mad/Test.java:27:10:27:11 | in : Cookie | mad/Test.java:27:10:27:18 | name(...) : String | provenance | MaD:20 | +| mad/Test.java:27:10:27:18 | name(...) : String | mad/Test.java:28:9:28:11 | out | provenance | | +| mad/Test.java:33:21:33:42 | (...)... : Cookie | mad/Test.java:34:10:34:11 | in : Cookie | provenance | | +| mad/Test.java:33:35:33:42 | source(...) : Object | mad/Test.java:33:21:33:42 | (...)... : Cookie | provenance | | +| mad/Test.java:34:10:34:11 | in : Cookie | mad/Test.java:34:10:34:19 | value(...) : String | provenance | MaD:21 | +| mad/Test.java:34:10:34:19 | value(...) : String | mad/Test.java:35:9:35:11 | out | provenance | | +| mad/Test.java:40:22:40:44 | (...)... : Cookies | mad/Test.java:41:10:41:11 | in : Cookies | provenance | | +| mad/Test.java:40:37:40:44 | source(...) : Object | mad/Test.java:40:22:40:44 | (...)... : Cookies | provenance | | +| mad/Test.java:41:10:41:11 | in : Cookies | mad/Test.java:41:10:41:21 | get(...) : Cookie | provenance | MaD:22 | +| mad/Test.java:41:10:41:21 | get(...) : Cookie | mad/Test.java:42:9:42:11 | out | provenance | | +| mad/Test.java:47:22:47:44 | (...)... : Cookies | mad/Test.java:48:10:48:11 | in : Cookies | provenance | | +| mad/Test.java:47:37:47:44 | source(...) : Object | mad/Test.java:47:22:47:44 | (...)... : Cookies | provenance | | +| mad/Test.java:48:10:48:11 | in : Cookies | mad/Test.java:48:10:48:27 | getCookie(...) : Optional | provenance | MaD:23 | +| mad/Test.java:48:10:48:27 | getCookie(...) : Optional | mad/Test.java:49:9:49:11 | out | provenance | | +| mad/Test.java:54:41:54:82 | (...)... : FilePart | mad/Test.java:55:10:55:11 | in : FilePart | provenance | | +| mad/Test.java:54:75:54:82 | source(...) : Object | mad/Test.java:54:41:54:82 | (...)... : FilePart | provenance | | +| mad/Test.java:55:10:55:11 | in : FilePart | mad/Test.java:55:10:55:28 | getContentType(...) : String | provenance | MaD:13 | +| mad/Test.java:55:10:55:28 | getContentType(...) : String | mad/Test.java:56:9:56:11 | out | provenance | | +| mad/Test.java:61:41:61:82 | (...)... : FilePart | mad/Test.java:62:10:62:11 | in : FilePart | provenance | | +| mad/Test.java:61:75:61:82 | source(...) : Object | mad/Test.java:61:41:61:82 | (...)... : FilePart | provenance | | +| mad/Test.java:62:10:62:11 | in : FilePart | mad/Test.java:62:10:62:32 | getDispositionType(...) : String | provenance | MaD:14 | +| mad/Test.java:62:10:62:32 | getDispositionType(...) : String | mad/Test.java:63:9:63:11 | out | provenance | | +| mad/Test.java:68:41:68:82 | (...)... : FilePart | mad/Test.java:69:10:69:11 | in : FilePart | provenance | | +| mad/Test.java:68:75:68:82 | source(...) : Object | mad/Test.java:68:41:68:82 | (...)... : FilePart | provenance | | +| mad/Test.java:69:10:69:11 | in : FilePart | mad/Test.java:69:10:69:25 | getFilename(...) : String | provenance | MaD:15 | +| mad/Test.java:69:10:69:25 | getFilename(...) : String | mad/Test.java:70:9:70:11 | out | provenance | | +| mad/Test.java:75:41:75:82 | (...)... : FilePart | mad/Test.java:76:10:76:11 | in : FilePart | provenance | | +| mad/Test.java:75:75:75:82 | source(...) : Object | mad/Test.java:75:41:75:82 | (...)... : FilePart | provenance | | +| mad/Test.java:76:10:76:11 | in : FilePart | mad/Test.java:76:10:76:20 | getKey(...) : String | provenance | MaD:16 | +| mad/Test.java:76:10:76:20 | getKey(...) : String | mad/Test.java:77:9:77:11 | out | provenance | | +| mad/Test.java:82:41:82:82 | (...)... : FilePart | mad/Test.java:83:10:83:11 | in : FilePart | provenance | | +| mad/Test.java:82:75:82:82 | source(...) : Object | mad/Test.java:82:41:82:82 | (...)... : FilePart | provenance | | +| mad/Test.java:83:10:83:11 | in : FilePart | mad/Test.java:83:10:83:20 | getRef(...) : Object | provenance | MaD:17 | +| mad/Test.java:83:10:83:20 | getRef(...) : Object | mad/Test.java:84:9:84:11 | out | provenance | | +| mad/Test.java:89:32:89:64 | (...)... : MultipartFormData | mad/Test.java:90:10:90:11 | in : MultipartFormData | provenance | | +| mad/Test.java:89:57:89:64 | source(...) : Object | mad/Test.java:89:32:89:64 | (...)... : MultipartFormData | provenance | | +| mad/Test.java:90:10:90:11 | in : MultipartFormData | mad/Test.java:90:10:90:30 | asFormUrlEncoded(...) : Map | provenance | MaD:10 | +| mad/Test.java:90:10:90:30 | asFormUrlEncoded(...) : Map | mad/Test.java:91:9:91:11 | out | provenance | | +| mad/Test.java:96:32:96:64 | (...)... : MultipartFormData | mad/Test.java:97:10:97:11 | in : MultipartFormData | provenance | | +| mad/Test.java:96:57:96:64 | source(...) : Object | mad/Test.java:96:32:96:64 | (...)... : MultipartFormData | provenance | | +| mad/Test.java:97:10:97:11 | in : MultipartFormData | mad/Test.java:97:10:97:25 | getFile(...) : FilePart | provenance | MaD:11 | +| mad/Test.java:97:10:97:25 | getFile(...) : FilePart | mad/Test.java:98:9:98:11 | out | provenance | | +| mad/Test.java:103:32:103:64 | (...)... : MultipartFormData | mad/Test.java:104:10:104:11 | in : MultipartFormData | provenance | | +| mad/Test.java:103:57:103:64 | source(...) : Object | mad/Test.java:103:32:103:64 | (...)... : MultipartFormData | provenance | | +| mad/Test.java:104:10:104:11 | in : MultipartFormData | mad/Test.java:104:10:104:22 | getFiles(...) : List | provenance | MaD:12 | +| mad/Test.java:104:10:104:22 | getFiles(...) : List | mad/Test.java:105:9:105:11 | out | provenance | | +| mad/Test.java:110:24:110:48 | (...)... : RawBuffer | mad/Test.java:111:10:111:11 | in : RawBuffer | provenance | | +| mad/Test.java:110:41:110:48 | source(...) : Object | mad/Test.java:110:24:110:48 | (...)... : RawBuffer | provenance | | +| mad/Test.java:111:10:111:11 | in : RawBuffer | mad/Test.java:111:10:111:21 | asBytes(...) : ByteString | provenance | MaD:18 | +| mad/Test.java:111:10:111:21 | asBytes(...) : ByteString | mad/Test.java:112:9:112:11 | out | provenance | | +| mad/Test.java:117:24:117:48 | (...)... : RawBuffer | mad/Test.java:118:10:118:11 | in : RawBuffer | provenance | | +| mad/Test.java:117:41:117:48 | source(...) : Object | mad/Test.java:117:24:117:48 | (...)... : RawBuffer | provenance | | +| mad/Test.java:118:10:118:11 | in : RawBuffer | mad/Test.java:118:10:118:22 | asBytes(...) : ByteString | provenance | MaD:18 | +| mad/Test.java:118:10:118:22 | asBytes(...) : ByteString | mad/Test.java:119:9:119:11 | out | provenance | | +| mad/Test.java:124:24:124:48 | (...)... : RawBuffer | mad/Test.java:125:10:125:11 | in : RawBuffer | provenance | | +| mad/Test.java:124:41:124:48 | source(...) : Object | mad/Test.java:124:24:124:48 | (...)... : RawBuffer | provenance | | +| mad/Test.java:125:10:125:11 | in : RawBuffer | mad/Test.java:125:10:125:20 | asFile(...) : File | provenance | MaD:19 | +| mad/Test.java:125:10:125:20 | asFile(...) : File | mad/Test.java:126:9:126:11 | out | provenance | | +| mad/Test.java:131:26:131:52 | (...)... : RequestBody | mad/Test.java:132:10:132:11 | in : RequestBody | provenance | | +| mad/Test.java:131:45:131:52 | source(...) : Object | mad/Test.java:131:26:131:52 | (...)... : RequestBody | provenance | | +| mad/Test.java:132:10:132:11 | in : RequestBody | mad/Test.java:132:10:132:20 | as(...) : Object | provenance | MaD:1 | +| mad/Test.java:132:10:132:20 | as(...) : Object | mad/Test.java:133:9:133:11 | out | provenance | | +| mad/Test.java:138:26:138:52 | (...)... : RequestBody | mad/Test.java:139:10:139:11 | in : RequestBody | provenance | | +| mad/Test.java:138:45:138:52 | source(...) : Object | mad/Test.java:138:26:138:52 | (...)... : RequestBody | provenance | | +| mad/Test.java:139:10:139:11 | in : RequestBody | mad/Test.java:139:10:139:21 | asBytes(...) : ByteString | provenance | MaD:2 | +| mad/Test.java:139:10:139:21 | asBytes(...) : ByteString | mad/Test.java:140:9:140:11 | out | provenance | | +| mad/Test.java:145:26:145:52 | (...)... : RequestBody | mad/Test.java:146:10:146:11 | in : RequestBody | provenance | | +| mad/Test.java:145:45:145:52 | source(...) : Object | mad/Test.java:145:26:145:52 | (...)... : RequestBody | provenance | | +| mad/Test.java:146:10:146:11 | in : RequestBody | mad/Test.java:146:10:146:30 | asFormUrlEncoded(...) : Map | provenance | MaD:3 | +| mad/Test.java:146:10:146:30 | asFormUrlEncoded(...) : Map | mad/Test.java:147:9:147:11 | out | provenance | | +| mad/Test.java:152:26:152:52 | (...)... : RequestBody | mad/Test.java:153:10:153:11 | in : RequestBody | provenance | | +| mad/Test.java:152:45:152:52 | source(...) : Object | mad/Test.java:152:26:152:52 | (...)... : RequestBody | provenance | | +| mad/Test.java:153:10:153:11 | in : RequestBody | mad/Test.java:153:10:153:20 | asJson(...) : JsonNode | provenance | MaD:4 | +| mad/Test.java:153:10:153:20 | asJson(...) : JsonNode | mad/Test.java:154:9:154:11 | out | provenance | | +| mad/Test.java:159:26:159:52 | (...)... : RequestBody | mad/Test.java:160:10:160:11 | in : RequestBody | provenance | | +| mad/Test.java:159:45:159:52 | source(...) : Object | mad/Test.java:159:26:159:52 | (...)... : RequestBody | provenance | | +| mad/Test.java:160:10:160:11 | in : RequestBody | mad/Test.java:160:10:160:33 | asMultipartFormData(...) : MultipartFormData | provenance | MaD:5 | +| mad/Test.java:160:10:160:33 | asMultipartFormData(...) : MultipartFormData | mad/Test.java:161:9:161:11 | out | provenance | | +| mad/Test.java:166:26:166:52 | (...)... : RequestBody | mad/Test.java:167:10:167:11 | in : RequestBody | provenance | | +| mad/Test.java:166:45:166:52 | source(...) : Object | mad/Test.java:166:26:166:52 | (...)... : RequestBody | provenance | | +| mad/Test.java:167:10:167:11 | in : RequestBody | mad/Test.java:167:10:167:19 | asRaw(...) : RawBuffer | provenance | MaD:6 | +| mad/Test.java:167:10:167:19 | asRaw(...) : RawBuffer | mad/Test.java:168:9:168:11 | out | provenance | | +| mad/Test.java:173:26:173:52 | (...)... : RequestBody | mad/Test.java:174:10:174:11 | in : RequestBody | provenance | | +| mad/Test.java:173:45:173:52 | source(...) : Object | mad/Test.java:173:26:173:52 | (...)... : RequestBody | provenance | | +| mad/Test.java:174:10:174:11 | in : RequestBody | mad/Test.java:174:10:174:20 | asText(...) : String | provenance | MaD:7 | +| mad/Test.java:174:10:174:20 | asText(...) : String | mad/Test.java:175:9:175:11 | out | provenance | | +| mad/Test.java:180:26:180:52 | (...)... : RequestBody | mad/Test.java:181:10:181:11 | in : RequestBody | provenance | | +| mad/Test.java:180:45:180:52 | source(...) : Object | mad/Test.java:180:26:180:52 | (...)... : RequestBody | provenance | | +| mad/Test.java:181:10:181:11 | in : RequestBody | mad/Test.java:181:10:181:19 | asXml(...) : Document | provenance | MaD:8 | +| mad/Test.java:181:10:181:19 | asXml(...) : Document | mad/Test.java:182:9:182:11 | out | provenance | | +| mad/Test.java:187:26:187:52 | (...)... : RequestBody | mad/Test.java:188:10:188:11 | in : RequestBody | provenance | | +| mad/Test.java:187:45:187:52 | source(...) : Object | mad/Test.java:187:26:187:52 | (...)... : RequestBody | provenance | | +| mad/Test.java:188:10:188:11 | in : RequestBody | mad/Test.java:188:10:188:27 | parseJson(...) : Optional | provenance | MaD:9 | +| mad/Test.java:188:10:188:27 | parseJson(...) : Optional | mad/Test.java:189:9:189:11 | out | provenance | | +nodes +| mad/Test.java:26:21:26:42 | (...)... : Cookie | semmle.label | (...)... : Cookie | +| mad/Test.java:26:35:26:42 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:27:10:27:11 | in : Cookie | semmle.label | in : Cookie | +| mad/Test.java:27:10:27:18 | name(...) : String | semmle.label | name(...) : String | +| mad/Test.java:28:9:28:11 | out | semmle.label | out | +| mad/Test.java:33:21:33:42 | (...)... : Cookie | semmle.label | (...)... : Cookie | +| mad/Test.java:33:35:33:42 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:34:10:34:11 | in : Cookie | semmle.label | in : Cookie | +| mad/Test.java:34:10:34:19 | value(...) : String | semmle.label | value(...) : String | +| mad/Test.java:35:9:35:11 | out | semmle.label | out | +| mad/Test.java:40:22:40:44 | (...)... : Cookies | semmle.label | (...)... : Cookies | +| mad/Test.java:40:37:40:44 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:41:10:41:11 | in : Cookies | semmle.label | in : Cookies | +| mad/Test.java:41:10:41:21 | get(...) : Cookie | semmle.label | get(...) : Cookie | +| mad/Test.java:42:9:42:11 | out | semmle.label | out | +| mad/Test.java:47:22:47:44 | (...)... : Cookies | semmle.label | (...)... : Cookies | +| mad/Test.java:47:37:47:44 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:48:10:48:11 | in : Cookies | semmle.label | in : Cookies | +| mad/Test.java:48:10:48:27 | getCookie(...) : Optional | semmle.label | getCookie(...) : Optional | +| mad/Test.java:49:9:49:11 | out | semmle.label | out | +| mad/Test.java:54:41:54:82 | (...)... : FilePart | semmle.label | (...)... : FilePart | +| mad/Test.java:54:75:54:82 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:55:10:55:11 | in : FilePart | semmle.label | in : FilePart | +| mad/Test.java:55:10:55:28 | getContentType(...) : String | semmle.label | getContentType(...) : String | +| mad/Test.java:56:9:56:11 | out | semmle.label | out | +| mad/Test.java:61:41:61:82 | (...)... : FilePart | semmle.label | (...)... : FilePart | +| mad/Test.java:61:75:61:82 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:62:10:62:11 | in : FilePart | semmle.label | in : FilePart | +| mad/Test.java:62:10:62:32 | getDispositionType(...) : String | semmle.label | getDispositionType(...) : String | +| mad/Test.java:63:9:63:11 | out | semmle.label | out | +| mad/Test.java:68:41:68:82 | (...)... : FilePart | semmle.label | (...)... : FilePart | +| mad/Test.java:68:75:68:82 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:69:10:69:11 | in : FilePart | semmle.label | in : FilePart | +| mad/Test.java:69:10:69:25 | getFilename(...) : String | semmle.label | getFilename(...) : String | +| mad/Test.java:70:9:70:11 | out | semmle.label | out | +| mad/Test.java:75:41:75:82 | (...)... : FilePart | semmle.label | (...)... : FilePart | +| mad/Test.java:75:75:75:82 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:76:10:76:11 | in : FilePart | semmle.label | in : FilePart | +| mad/Test.java:76:10:76:20 | getKey(...) : String | semmle.label | getKey(...) : String | +| mad/Test.java:77:9:77:11 | out | semmle.label | out | +| mad/Test.java:82:41:82:82 | (...)... : FilePart | semmle.label | (...)... : FilePart | +| mad/Test.java:82:75:82:82 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:83:10:83:11 | in : FilePart | semmle.label | in : FilePart | +| mad/Test.java:83:10:83:20 | getRef(...) : Object | semmle.label | getRef(...) : Object | +| mad/Test.java:84:9:84:11 | out | semmle.label | out | +| mad/Test.java:89:32:89:64 | (...)... : MultipartFormData | semmle.label | (...)... : MultipartFormData | +| mad/Test.java:89:57:89:64 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:90:10:90:11 | in : MultipartFormData | semmle.label | in : MultipartFormData | +| mad/Test.java:90:10:90:30 | asFormUrlEncoded(...) : Map | semmle.label | asFormUrlEncoded(...) : Map | +| mad/Test.java:91:9:91:11 | out | semmle.label | out | +| mad/Test.java:96:32:96:64 | (...)... : MultipartFormData | semmle.label | (...)... : MultipartFormData | +| mad/Test.java:96:57:96:64 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:97:10:97:11 | in : MultipartFormData | semmle.label | in : MultipartFormData | +| mad/Test.java:97:10:97:25 | getFile(...) : FilePart | semmle.label | getFile(...) : FilePart | +| mad/Test.java:98:9:98:11 | out | semmle.label | out | +| mad/Test.java:103:32:103:64 | (...)... : MultipartFormData | semmle.label | (...)... : MultipartFormData | +| mad/Test.java:103:57:103:64 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:104:10:104:11 | in : MultipartFormData | semmle.label | in : MultipartFormData | +| mad/Test.java:104:10:104:22 | getFiles(...) : List | semmle.label | getFiles(...) : List | +| mad/Test.java:105:9:105:11 | out | semmle.label | out | +| mad/Test.java:110:24:110:48 | (...)... : RawBuffer | semmle.label | (...)... : RawBuffer | +| mad/Test.java:110:41:110:48 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:111:10:111:11 | in : RawBuffer | semmle.label | in : RawBuffer | +| mad/Test.java:111:10:111:21 | asBytes(...) : ByteString | semmle.label | asBytes(...) : ByteString | +| mad/Test.java:112:9:112:11 | out | semmle.label | out | +| mad/Test.java:117:24:117:48 | (...)... : RawBuffer | semmle.label | (...)... : RawBuffer | +| mad/Test.java:117:41:117:48 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:118:10:118:11 | in : RawBuffer | semmle.label | in : RawBuffer | +| mad/Test.java:118:10:118:22 | asBytes(...) : ByteString | semmle.label | asBytes(...) : ByteString | +| mad/Test.java:119:9:119:11 | out | semmle.label | out | +| mad/Test.java:124:24:124:48 | (...)... : RawBuffer | semmle.label | (...)... : RawBuffer | +| mad/Test.java:124:41:124:48 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:125:10:125:11 | in : RawBuffer | semmle.label | in : RawBuffer | +| mad/Test.java:125:10:125:20 | asFile(...) : File | semmle.label | asFile(...) : File | +| mad/Test.java:126:9:126:11 | out | semmle.label | out | +| mad/Test.java:131:26:131:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody | +| mad/Test.java:131:45:131:52 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:132:10:132:11 | in : RequestBody | semmle.label | in : RequestBody | +| mad/Test.java:132:10:132:20 | as(...) : Object | semmle.label | as(...) : Object | +| mad/Test.java:133:9:133:11 | out | semmle.label | out | +| mad/Test.java:138:26:138:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody | +| mad/Test.java:138:45:138:52 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:139:10:139:11 | in : RequestBody | semmle.label | in : RequestBody | +| mad/Test.java:139:10:139:21 | asBytes(...) : ByteString | semmle.label | asBytes(...) : ByteString | +| mad/Test.java:140:9:140:11 | out | semmle.label | out | +| mad/Test.java:145:26:145:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody | +| mad/Test.java:145:45:145:52 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:146:10:146:11 | in : RequestBody | semmle.label | in : RequestBody | +| mad/Test.java:146:10:146:30 | asFormUrlEncoded(...) : Map | semmle.label | asFormUrlEncoded(...) : Map | +| mad/Test.java:147:9:147:11 | out | semmle.label | out | +| mad/Test.java:152:26:152:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody | +| mad/Test.java:152:45:152:52 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:153:10:153:11 | in : RequestBody | semmle.label | in : RequestBody | +| mad/Test.java:153:10:153:20 | asJson(...) : JsonNode | semmle.label | asJson(...) : JsonNode | +| mad/Test.java:154:9:154:11 | out | semmle.label | out | +| mad/Test.java:159:26:159:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody | +| mad/Test.java:159:45:159:52 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:160:10:160:11 | in : RequestBody | semmle.label | in : RequestBody | +| mad/Test.java:160:10:160:33 | asMultipartFormData(...) : MultipartFormData | semmle.label | asMultipartFormData(...) : MultipartFormData | +| mad/Test.java:161:9:161:11 | out | semmle.label | out | +| mad/Test.java:166:26:166:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody | +| mad/Test.java:166:45:166:52 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:167:10:167:11 | in : RequestBody | semmle.label | in : RequestBody | +| mad/Test.java:167:10:167:19 | asRaw(...) : RawBuffer | semmle.label | asRaw(...) : RawBuffer | +| mad/Test.java:168:9:168:11 | out | semmle.label | out | +| mad/Test.java:173:26:173:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody | +| mad/Test.java:173:45:173:52 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:174:10:174:11 | in : RequestBody | semmle.label | in : RequestBody | +| mad/Test.java:174:10:174:20 | asText(...) : String | semmle.label | asText(...) : String | +| mad/Test.java:175:9:175:11 | out | semmle.label | out | +| mad/Test.java:180:26:180:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody | +| mad/Test.java:180:45:180:52 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:181:10:181:11 | in : RequestBody | semmle.label | in : RequestBody | +| mad/Test.java:181:10:181:19 | asXml(...) : Document | semmle.label | asXml(...) : Document | +| mad/Test.java:182:9:182:11 | out | semmle.label | out | +| mad/Test.java:187:26:187:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody | +| mad/Test.java:187:45:187:52 | source(...) : Object | semmle.label | source(...) : Object | +| mad/Test.java:188:10:188:11 | in : RequestBody | semmle.label | in : RequestBody | +| mad/Test.java:188:10:188:27 | parseJson(...) : Optional | semmle.label | parseJson(...) : Optional | +| mad/Test.java:189:9:189:11 | out | semmle.label | out | +subpaths +testFailures diff --git a/java/ql/test/library-tests/frameworks/spring/beans/test.expected b/java/ql/test/library-tests/frameworks/spring/beans/test.expected index e69de29bb2d..f766d7d058e 100644 --- a/java/ql/test/library-tests/frameworks/spring/beans/test.expected +++ b/java/ql/test/library-tests/frameworks/spring/beans/test.expected @@ -0,0 +1,604 @@ +models +| 1 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 2 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 3 | Summary: java.util; List; false; of; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 4 | Summary: java.util; Map; false; of; ; ; Argument[0]; ReturnValue.MapKey; value; manual | +| 5 | Summary: java.util; Map; false; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual | +| 6 | Summary: org.springframework.beans; MutablePropertyValues; true; MutablePropertyValues; (List); ; Argument[0].Element; Argument[this].Element; value; manual | +| 7 | Summary: org.springframework.beans; MutablePropertyValues; true; MutablePropertyValues; (Map); ; Argument[0].MapKey; Argument[this].Element.MapKey; value; manual | +| 8 | Summary: org.springframework.beans; MutablePropertyValues; true; MutablePropertyValues; (Map); ; Argument[0].MapValue; Argument[this].Element.MapValue; value; manual | +| 9 | Summary: org.springframework.beans; MutablePropertyValues; true; MutablePropertyValues; (PropertyValues); ; Argument[0].Element; Argument[this].Element; value; manual | +| 10 | Summary: org.springframework.beans; MutablePropertyValues; true; add; (String,Object); ; Argument[this]; ReturnValue; value; manual | +| 11 | Summary: org.springframework.beans; MutablePropertyValues; true; add; (String,Object); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 12 | Summary: org.springframework.beans; MutablePropertyValues; true; add; (String,Object); ; Argument[1]; Argument[this].Element.MapValue; value; manual | +| 13 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValue; (PropertyValue); ; Argument[this]; ReturnValue; value; manual | +| 14 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValue; (PropertyValue); ; Argument[0]; Argument[this].Element; value; manual | +| 15 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValue; (String,Object); ; Argument[0]; Argument[this].Element.MapKey; value; manual | +| 16 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValue; (String,Object); ; Argument[1]; Argument[this].Element.MapValue; value; manual | +| 17 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValues; (Map); ; Argument[this]; ReturnValue; value; manual | +| 18 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValues; (Map); ; Argument[0].MapKey; Argument[this].Element.MapKey; value; manual | +| 19 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValues; (Map); ; Argument[0].MapValue; Argument[this].Element.MapValue; value; manual | +| 20 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValues; (PropertyValues); ; Argument[this]; ReturnValue; value; manual | +| 21 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValues; (PropertyValues); ; Argument[0].Element; Argument[this].Element; value; manual | +| 22 | Summary: org.springframework.beans; MutablePropertyValues; true; get; ; ; Argument[this].Element.MapValue; ReturnValue; value; manual | +| 23 | Summary: org.springframework.beans; MutablePropertyValues; true; getPropertyValue; ; ; Argument[this].Element; ReturnValue; value; manual | +| 24 | Summary: org.springframework.beans; MutablePropertyValues; true; getPropertyValueList; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 25 | Summary: org.springframework.beans; MutablePropertyValues; true; getPropertyValues; ; ; Argument[this].Element; ReturnValue.ArrayElement; value; manual | +| 26 | Summary: org.springframework.beans; MutablePropertyValues; true; setPropertyValueAt; ; ; Argument[0]; Argument[this].Element; value; manual | +| 27 | Summary: org.springframework.beans; PropertyValue; false; PropertyValue; (PropertyValue); ; Argument[0]; Argument[this]; value; manual | +| 28 | Summary: org.springframework.beans; PropertyValue; false; PropertyValue; (PropertyValue,Object); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 29 | Summary: org.springframework.beans; PropertyValue; false; PropertyValue; (PropertyValue,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 30 | Summary: org.springframework.beans; PropertyValue; false; PropertyValue; (String,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 31 | Summary: org.springframework.beans; PropertyValue; false; PropertyValue; (String,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 32 | Summary: org.springframework.beans; PropertyValue; false; getName; ; ; Argument[this].MapKey; ReturnValue; value; manual | +| 33 | Summary: org.springframework.beans; PropertyValue; false; getValue; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 34 | Summary: org.springframework.beans; PropertyValues; true; getPropertyValue; ; ; Argument[this].Element; ReturnValue; value; manual | +| 35 | Summary: org.springframework.beans; PropertyValues; true; getPropertyValues; ; ; Argument[this].Element; ReturnValue.ArrayElement; value; manual | +edges +| Test.java:12:24:12:32 | array : PropertyValue[] [[]] : PropertyValue | Test.java:13:10:13:14 | array : PropertyValue[] [[]] : PropertyValue | provenance | | +| Test.java:13:10:13:14 | array : PropertyValue[] [[]] : PropertyValue | Test.java:13:10:13:17 | ...[...] : PropertyValue | provenance | | +| Test.java:16:19:16:32 | it : List [] : PropertyValue | Test.java:17:10:17:11 | it : List [] : PropertyValue | provenance | | +| Test.java:17:10:17:11 | it : List [] : PropertyValue | Test.java:17:10:17:22 | iterator(...) : Iterator [] : PropertyValue | provenance | MaD:1 | +| Test.java:17:10:17:22 | iterator(...) : Iterator [] : PropertyValue | Test.java:17:10:17:29 | next(...) : PropertyValue | provenance | MaD:2 | +| Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | provenance | | +| Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : String | Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : String | provenance | | +| Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | provenance | | +| Test.java:20:34:20:64 | container : MutablePropertyValues [] : Object | Test.java:21:10:21:18 | container : MutablePropertyValues [] : Object | provenance | | +| Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:18 | container : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | provenance | MaD:23 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | provenance | MaD:23 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | provenance | MaD:34 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | provenance | MaD:34 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | provenance | MaD:23 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | provenance | MaD:23 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | provenance | MaD:34 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | provenance | MaD:34 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | provenance | MaD:23 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | provenance | MaD:23 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | provenance | MaD:34 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | provenance | MaD:34 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:23 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:23 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:23 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:23 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 | +| Test.java:21:10:21:18 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 | +| Test.java:24:26:24:48 | container : PropertyValue [] : Object | Test.java:25:10:25:18 | container : PropertyValue [] : Object | provenance | | +| Test.java:24:26:24:48 | container : PropertyValue [] : String | Test.java:25:10:25:18 | container : PropertyValue [] : String | provenance | | +| Test.java:25:10:25:18 | container : PropertyValue [] : Object | Test.java:25:10:25:28 | getName(...) : String | provenance | MaD:32 | +| Test.java:25:10:25:18 | container : PropertyValue [] : String | Test.java:25:10:25:28 | getName(...) : String | provenance | MaD:32 | +| Test.java:28:28:28:50 | container : PropertyValue [] : Object | Test.java:29:10:29:18 | container : PropertyValue [] : Object | provenance | | +| Test.java:29:10:29:18 | container : PropertyValue [] : Object | Test.java:29:10:29:29 | getValue(...) : Object | provenance | MaD:33 | +| Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:44:33:50 | element : PropertyValue | provenance | | +| Test.java:33:36:33:51 | of(...) : List [] : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | provenance | MaD:6 | +| Test.java:33:44:33:50 | element : PropertyValue | Test.java:33:36:33:51 | of(...) : List [] : PropertyValue | provenance | MaD:3 | +| Test.java:40:61:40:74 | element : Object | Test.java:41:49:41:55 | element : Object | provenance | | +| Test.java:41:36:41:56 | of(...) : Map [] : Object | Test.java:41:10:41:57 | new MutablePropertyValues(...) : MutablePropertyValues [, ] : Object | provenance | MaD:8 | +| Test.java:41:49:41:55 | element : Object | Test.java:41:36:41:56 | of(...) : Map [] : Object | provenance | MaD:5 | +| Test.java:55:14:55:30 | of(...) : List [] : Object | Test.java:56:36:56:37 | in : List [] : Object | provenance | | +| Test.java:55:22:55:29 | source(...) : Object | Test.java:55:14:55:30 | of(...) : List [] : Object | provenance | MaD:3 | +| Test.java:56:10:56:38 | new MutablePropertyValues(...) : MutablePropertyValues [] : Object | Test.java:57:27:57:29 | out : MutablePropertyValues [] : Object | provenance | | +| Test.java:56:36:56:37 | in : List [] : Object | Test.java:56:10:56:38 | new MutablePropertyValues(...) : MutablePropertyValues [] : Object | provenance | MaD:6 | +| Test.java:57:27:57:29 | out : MutablePropertyValues [] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [] : Object | provenance | | +| Test.java:57:27:57:29 | out : MutablePropertyValues [] : Object | Test.java:57:9:57:30 | getElementDefault(...) | provenance | MaD:23 | +| Test.java:57:27:57:29 | out : MutablePropertyValues [] : Object | Test.java:57:9:57:30 | getElementDefault(...) | provenance | MaD:34 | +| Test.java:62:13:62:34 | of(...) : Map [] : Object | Test.java:63:36:63:37 | in : Map [] : Object | provenance | | +| Test.java:62:20:62:27 | source(...) : Object | Test.java:62:13:62:34 | of(...) : Map [] : Object | provenance | MaD:4 | +| Test.java:63:10:63:38 | new MutablePropertyValues(...) : MutablePropertyValues [, ] : Object | Test.java:64:44:64:46 | out : MutablePropertyValues [, ] : Object | provenance | | +| Test.java:63:36:63:37 | in : Map [] : Object | Test.java:63:10:63:38 | new MutablePropertyValues(...) : MutablePropertyValues [, ] : Object | provenance | MaD:7 | +| Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [] : Object | Test.java:24:26:24:48 | container : PropertyValue [] : Object | provenance | | +| Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [] : Object | Test.java:64:9:64:48 | getMapKeyDefault(...) | provenance | MaD:32 | +| Test.java:64:44:64:46 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | provenance | | +| Test.java:64:44:64:46 | out : MutablePropertyValues [, ] : Object | Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [] : Object | provenance | MaD:23 | +| Test.java:64:44:64:46 | out : MutablePropertyValues [, ] : Object | Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [] : Object | provenance | MaD:34 | +| Test.java:69:13:69:34 | of(...) : Map [] : Object | Test.java:70:36:70:37 | in : Map [] : Object | provenance | | +| Test.java:69:26:69:33 | source(...) : Object | Test.java:69:13:69:34 | of(...) : Map [] : Object | provenance | MaD:5 | +| Test.java:70:10:70:38 | new MutablePropertyValues(...) : MutablePropertyValues [, ] : Object | Test.java:71:46:71:48 | out : MutablePropertyValues [, ] : Object | provenance | | +| Test.java:70:36:70:37 | in : Map [] : Object | Test.java:70:10:70:38 | new MutablePropertyValues(...) : MutablePropertyValues [, ] : Object | provenance | MaD:8 | +| Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [] : Object | Test.java:28:28:28:50 | container : PropertyValue [] : Object | provenance | | +| Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [] : Object | Test.java:71:9:71:50 | getMapValueDefault(...) | provenance | MaD:33 | +| Test.java:71:46:71:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | provenance | | +| Test.java:71:46:71:48 | out : MutablePropertyValues [, ] : Object | Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [] : Object | provenance | MaD:23 | +| Test.java:71:46:71:48 | out : MutablePropertyValues [, ] : Object | Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [] : Object | provenance | MaD:34 | +| Test.java:76:24:76:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | Test.java:77:36:77:37 | in : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:76:60:76:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | | +| Test.java:76:60:76:83 | (...)... : PropertyValue | Test.java:76:24:76:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | provenance | MaD:3 | +| Test.java:76:76:76:83 | source(...) : Object | Test.java:76:60:76:83 | (...)... : PropertyValue | provenance | | +| Test.java:77:10:77:38 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | Test.java:78:27:78:29 | out : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:77:36:77:37 | in : MutablePropertyValues [] : PropertyValue | Test.java:77:10:77:38 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | provenance | MaD:9 | +| Test.java:78:27:78:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:78:27:78:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:78:9:78:30 | getElementDefault(...) | provenance | MaD:23 | +| Test.java:78:27:78:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:78:9:78:30 | getElementDefault(...) | provenance | MaD:34 | +| Test.java:83:31:83:62 | (...)... : MutablePropertyValues | Test.java:84:10:84:11 | in : MutablePropertyValues | provenance | | +| Test.java:83:55:83:62 | source(...) : Object | Test.java:83:31:83:62 | (...)... : MutablePropertyValues | provenance | | +| Test.java:84:10:84:11 | in : MutablePropertyValues | Test.java:84:10:84:27 | add(...) : MutablePropertyValues | provenance | MaD:10 | +| Test.java:84:10:84:27 | add(...) : MutablePropertyValues | Test.java:85:9:85:11 | out | provenance | | +| Test.java:90:16:90:32 | (...)... : String | Test.java:91:12:91:13 | in : String | provenance | | +| Test.java:90:25:90:32 | source(...) : Object | Test.java:90:16:90:32 | (...)... : String | provenance | | +| Test.java:91:4:91:6 | out [post update] : MutablePropertyValues [, ] : String | Test.java:92:44:92:46 | out : MutablePropertyValues [, ] : String | provenance | | +| Test.java:91:12:91:13 | in : String | Test.java:91:4:91:6 | out [post update] : MutablePropertyValues [, ] : String | provenance | MaD:11 | +| Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [] : String | Test.java:24:26:24:48 | container : PropertyValue [] : String | provenance | | +| Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [] : String | Test.java:92:9:92:48 | getMapKeyDefault(...) | provenance | MaD:32 | +| Test.java:92:44:92:46 | out : MutablePropertyValues [, ] : String | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : String | provenance | | +| Test.java:92:44:92:46 | out : MutablePropertyValues [, ] : String | Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [] : String | provenance | MaD:23 | +| Test.java:92:44:92:46 | out : MutablePropertyValues [, ] : String | Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [] : String | provenance | MaD:34 | +| Test.java:97:16:97:32 | (...)... : Object | Test.java:98:18:98:19 | in : Object | provenance | | +| Test.java:97:25:97:32 | source(...) : Object | Test.java:97:16:97:32 | (...)... : Object | provenance | | +| Test.java:98:4:98:6 | out [post update] : MutablePropertyValues [, ] : Object | Test.java:99:46:99:48 | out : MutablePropertyValues [, ] : Object | provenance | | +| Test.java:98:18:98:19 | in : Object | Test.java:98:4:98:6 | out [post update] : MutablePropertyValues [, ] : Object | provenance | MaD:12 | +| Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [] : Object | Test.java:28:28:28:50 | container : PropertyValue [] : Object | provenance | | +| Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [] : Object | Test.java:99:9:99:50 | getMapValueDefault(...) | provenance | MaD:33 | +| Test.java:99:46:99:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | provenance | | +| Test.java:99:46:99:48 | out : MutablePropertyValues [, ] : Object | Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [] : Object | provenance | MaD:23 | +| Test.java:99:46:99:48 | out : MutablePropertyValues [, ] : Object | Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [] : Object | provenance | MaD:34 | +| Test.java:104:31:104:62 | (...)... : MutablePropertyValues | Test.java:105:10:105:11 | in : MutablePropertyValues | provenance | | +| Test.java:104:55:104:62 | source(...) : Object | Test.java:104:31:104:62 | (...)... : MutablePropertyValues | provenance | | +| Test.java:105:10:105:11 | in : MutablePropertyValues | Test.java:105:10:105:34 | addPropertyValue(...) : MutablePropertyValues | provenance | MaD:13 | +| Test.java:105:10:105:34 | addPropertyValue(...) : MutablePropertyValues | Test.java:106:9:106:11 | out | provenance | | +| Test.java:111:23:111:46 | (...)... : PropertyValue | Test.java:112:25:112:26 | in : PropertyValue | provenance | | +| Test.java:111:39:111:46 | source(...) : Object | Test.java:111:23:111:46 | (...)... : PropertyValue | provenance | | +| Test.java:112:4:112:6 | out [post update] : MutablePropertyValues [] : PropertyValue | Test.java:113:27:113:29 | out : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:112:25:112:26 | in : PropertyValue | Test.java:112:4:112:6 | out [post update] : MutablePropertyValues [] : PropertyValue | provenance | MaD:14 | +| Test.java:113:27:113:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:113:27:113:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:113:9:113:30 | getElementDefault(...) | provenance | MaD:23 | +| Test.java:113:27:113:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:113:9:113:30 | getElementDefault(...) | provenance | MaD:34 | +| Test.java:118:16:118:32 | (...)... : String | Test.java:119:25:119:26 | in : String | provenance | | +| Test.java:118:25:118:32 | source(...) : Object | Test.java:118:16:118:32 | (...)... : String | provenance | | +| Test.java:119:4:119:6 | out [post update] : MutablePropertyValues [, ] : String | Test.java:120:44:120:46 | out : MutablePropertyValues [, ] : String | provenance | | +| Test.java:119:25:119:26 | in : String | Test.java:119:4:119:6 | out [post update] : MutablePropertyValues [, ] : String | provenance | MaD:15 | +| Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [] : String | Test.java:24:26:24:48 | container : PropertyValue [] : String | provenance | | +| Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [] : String | Test.java:120:9:120:48 | getMapKeyDefault(...) | provenance | MaD:32 | +| Test.java:120:44:120:46 | out : MutablePropertyValues [, ] : String | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : String | provenance | | +| Test.java:120:44:120:46 | out : MutablePropertyValues [, ] : String | Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [] : String | provenance | MaD:23 | +| Test.java:120:44:120:46 | out : MutablePropertyValues [, ] : String | Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [] : String | provenance | MaD:34 | +| Test.java:125:16:125:32 | (...)... : Object | Test.java:126:31:126:32 | in : Object | provenance | | +| Test.java:125:25:125:32 | source(...) : Object | Test.java:125:16:125:32 | (...)... : Object | provenance | | +| Test.java:126:4:126:6 | out [post update] : MutablePropertyValues [, ] : Object | Test.java:127:46:127:48 | out : MutablePropertyValues [, ] : Object | provenance | | +| Test.java:126:31:126:32 | in : Object | Test.java:126:4:126:6 | out [post update] : MutablePropertyValues [, ] : Object | provenance | MaD:16 | +| Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [] : Object | Test.java:28:28:28:50 | container : PropertyValue [] : Object | provenance | | +| Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [] : Object | Test.java:127:9:127:50 | getMapValueDefault(...) | provenance | MaD:33 | +| Test.java:127:46:127:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | provenance | | +| Test.java:127:46:127:48 | out : MutablePropertyValues [, ] : Object | Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [] : Object | provenance | MaD:23 | +| Test.java:127:46:127:48 | out : MutablePropertyValues [, ] : Object | Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [] : Object | provenance | MaD:34 | +| Test.java:132:31:132:62 | (...)... : MutablePropertyValues | Test.java:133:10:133:11 | in : MutablePropertyValues | provenance | | +| Test.java:132:55:132:62 | source(...) : Object | Test.java:132:31:132:62 | (...)... : MutablePropertyValues | provenance | | +| Test.java:133:10:133:11 | in : MutablePropertyValues | Test.java:133:10:133:41 | addPropertyValues(...) : MutablePropertyValues | provenance | MaD:17 | +| Test.java:133:10:133:41 | addPropertyValues(...) : MutablePropertyValues | Test.java:134:9:134:11 | out | provenance | | +| Test.java:139:13:139:34 | of(...) : Map [] : Object | Test.java:140:26:140:27 | in : Map [] : Object | provenance | | +| Test.java:139:20:139:27 | source(...) : Object | Test.java:139:13:139:34 | of(...) : Map [] : Object | provenance | MaD:4 | +| Test.java:140:4:140:6 | out [post update] : MutablePropertyValues [, ] : Object | Test.java:141:44:141:46 | out : MutablePropertyValues [, ] : Object | provenance | | +| Test.java:140:26:140:27 | in : Map [] : Object | Test.java:140:4:140:6 | out [post update] : MutablePropertyValues [, ] : Object | provenance | MaD:18 | +| Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [] : Object | Test.java:24:26:24:48 | container : PropertyValue [] : Object | provenance | | +| Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [] : Object | Test.java:141:9:141:48 | getMapKeyDefault(...) | provenance | MaD:32 | +| Test.java:141:44:141:46 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | provenance | | +| Test.java:141:44:141:46 | out : MutablePropertyValues [, ] : Object | Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [] : Object | provenance | MaD:23 | +| Test.java:141:44:141:46 | out : MutablePropertyValues [, ] : Object | Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [] : Object | provenance | MaD:34 | +| Test.java:146:13:146:34 | of(...) : Map [] : Object | Test.java:147:26:147:27 | in : Map [] : Object | provenance | | +| Test.java:146:26:146:33 | source(...) : Object | Test.java:146:13:146:34 | of(...) : Map [] : Object | provenance | MaD:5 | +| Test.java:147:4:147:6 | out [post update] : MutablePropertyValues [, ] : Object | Test.java:148:46:148:48 | out : MutablePropertyValues [, ] : Object | provenance | | +| Test.java:147:26:147:27 | in : Map [] : Object | Test.java:147:4:147:6 | out [post update] : MutablePropertyValues [, ] : Object | provenance | MaD:19 | +| Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [] : Object | Test.java:28:28:28:50 | container : PropertyValue [] : Object | provenance | | +| Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [] : Object | Test.java:148:9:148:50 | getMapValueDefault(...) | provenance | MaD:33 | +| Test.java:148:46:148:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | provenance | | +| Test.java:148:46:148:48 | out : MutablePropertyValues [, ] : Object | Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [] : Object | provenance | MaD:23 | +| Test.java:148:46:148:48 | out : MutablePropertyValues [, ] : Object | Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [] : Object | provenance | MaD:34 | +| Test.java:153:31:153:62 | (...)... : MutablePropertyValues | Test.java:154:10:154:11 | in : MutablePropertyValues | provenance | | +| Test.java:153:55:153:62 | source(...) : Object | Test.java:153:31:153:62 | (...)... : MutablePropertyValues | provenance | | +| Test.java:154:10:154:11 | in : MutablePropertyValues | Test.java:154:10:154:52 | addPropertyValues(...) : MutablePropertyValues | provenance | MaD:20 | +| Test.java:154:10:154:52 | addPropertyValues(...) : MutablePropertyValues | Test.java:155:9:155:11 | out | provenance | | +| Test.java:160:24:160:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | Test.java:161:26:161:27 | in : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:160:60:160:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | | +| Test.java:160:60:160:83 | (...)... : PropertyValue | Test.java:160:24:160:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | provenance | MaD:3 | +| Test.java:160:76:160:83 | source(...) : Object | Test.java:160:60:160:83 | (...)... : PropertyValue | provenance | | +| Test.java:161:4:161:6 | out [post update] : MutablePropertyValues [] : PropertyValue | Test.java:162:27:162:29 | out : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:161:26:161:27 | in : MutablePropertyValues [] : PropertyValue | Test.java:161:4:161:6 | out [post update] : MutablePropertyValues [] : PropertyValue | provenance | MaD:21 | +| Test.java:162:27:162:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:162:27:162:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:162:9:162:30 | getElementDefault(...) | provenance | MaD:23 | +| Test.java:162:27:162:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:162:9:162:30 | getElementDefault(...) | provenance | MaD:34 | +| Test.java:167:31:167:76 | newMutablePropertyValuesWithMapValue(...) : MutablePropertyValues [, ] : Object | Test.java:168:10:168:11 | in : MutablePropertyValues [, ] : Object | provenance | | +| Test.java:167:68:167:75 | source(...) : Object | Test.java:40:61:40:74 | element : Object | provenance | | +| Test.java:167:68:167:75 | source(...) : Object | Test.java:167:31:167:76 | newMutablePropertyValuesWithMapValue(...) : MutablePropertyValues [, ] : Object | provenance | MaD:5 | +| Test.java:168:10:168:11 | in : MutablePropertyValues [, ] : Object | Test.java:168:10:168:21 | get(...) : Object | provenance | MaD:22 | +| Test.java:168:10:168:21 | get(...) : Object | Test.java:169:9:169:11 | out | provenance | | +| Test.java:175:6:175:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | Test.java:176:10:176:11 | in : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:175:42:175:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | | +| Test.java:175:42:175:65 | (...)... : PropertyValue | Test.java:175:6:175:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | provenance | MaD:3 | +| Test.java:175:58:175:65 | source(...) : Object | Test.java:175:42:175:65 | (...)... : PropertyValue | provenance | | +| Test.java:176:10:176:11 | in : MutablePropertyValues [] : PropertyValue | Test.java:176:10:176:34 | getPropertyValue(...) : PropertyValue | provenance | MaD:23 | +| Test.java:176:10:176:11 | in : MutablePropertyValues [] : PropertyValue | Test.java:176:10:176:34 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 | +| Test.java:176:10:176:34 | getPropertyValue(...) : PropertyValue | Test.java:177:9:177:11 | out | provenance | | +| Test.java:183:6:183:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | Test.java:184:10:184:11 | in : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:183:42:183:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | | +| Test.java:183:42:183:65 | (...)... : PropertyValue | Test.java:183:6:183:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | provenance | MaD:3 | +| Test.java:183:58:183:65 | source(...) : Object | Test.java:183:42:183:65 | (...)... : PropertyValue | provenance | | +| Test.java:184:10:184:11 | in : MutablePropertyValues [] : PropertyValue | Test.java:184:10:184:34 | getPropertyValueList(...) : List [] : PropertyValue | provenance | MaD:24 | +| Test.java:184:10:184:34 | getPropertyValueList(...) : List [] : PropertyValue | Test.java:185:20:185:22 | out : List [] : PropertyValue | provenance | | +| Test.java:185:20:185:22 | out : List [] : PropertyValue | Test.java:16:19:16:32 | it : List [] : PropertyValue | provenance | | +| Test.java:185:20:185:22 | out : List [] : PropertyValue | Test.java:185:9:185:23 | getElement(...) | provenance | MaD:1 | +| Test.java:191:6:191:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | Test.java:192:10:192:11 | in : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:191:42:191:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | | +| Test.java:191:42:191:65 | (...)... : PropertyValue | Test.java:191:6:191:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | provenance | MaD:3 | +| Test.java:191:58:191:65 | source(...) : Object | Test.java:191:42:191:65 | (...)... : PropertyValue | provenance | | +| Test.java:192:10:192:11 | in : MutablePropertyValues [] : PropertyValue | Test.java:192:10:192:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | provenance | MaD:25 | +| Test.java:192:10:192:11 | in : MutablePropertyValues [] : PropertyValue | Test.java:192:10:192:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | provenance | MaD:35 | +| Test.java:192:10:192:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | Test.java:193:25:193:27 | out : PropertyValue[] [[]] : PropertyValue | provenance | | +| Test.java:193:25:193:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:12:24:12:32 | array : PropertyValue[] [[]] : PropertyValue | provenance | | +| Test.java:193:25:193:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:193:9:193:28 | getArrayElement(...) | provenance | | +| Test.java:198:23:198:46 | (...)... : PropertyValue | Test.java:199:27:199:28 | in : PropertyValue | provenance | | +| Test.java:198:39:198:46 | source(...) : Object | Test.java:198:23:198:46 | (...)... : PropertyValue | provenance | | +| Test.java:199:4:199:6 | out [post update] : MutablePropertyValues [] : PropertyValue | Test.java:200:27:200:29 | out : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:199:27:199:28 | in : PropertyValue | Test.java:199:4:199:6 | out [post update] : MutablePropertyValues [] : PropertyValue | provenance | MaD:26 | +| Test.java:200:27:200:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:200:27:200:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:200:9:200:30 | getElementDefault(...) | provenance | MaD:23 | +| Test.java:200:27:200:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:200:9:200:30 | getElementDefault(...) | provenance | MaD:34 | +| Test.java:205:23:205:46 | (...)... : PropertyValue | Test.java:206:28:206:29 | in : PropertyValue | provenance | | +| Test.java:205:39:205:46 | source(...) : Object | Test.java:205:23:205:46 | (...)... : PropertyValue | provenance | | +| Test.java:206:10:206:30 | new PropertyValue(...) : PropertyValue | Test.java:207:9:207:11 | out | provenance | | +| Test.java:206:28:206:29 | in : PropertyValue | Test.java:206:10:206:30 | new PropertyValue(...) : PropertyValue | provenance | MaD:27 | +| Test.java:212:23:212:89 | new PropertyValue(...) : PropertyValue [] : String | Test.java:213:28:213:29 | in : PropertyValue [] : String | provenance | | +| Test.java:212:41:212:82 | new PropertyValue(...) : PropertyValue [] : String | Test.java:212:23:212:89 | new PropertyValue(...) : PropertyValue [] : String | provenance | MaD:28 | +| Test.java:212:59:212:75 | (...)... : String | Test.java:212:41:212:82 | new PropertyValue(...) : PropertyValue [] : String | provenance | MaD:30 | +| Test.java:212:68:212:75 | source(...) : Object | Test.java:212:59:212:75 | (...)... : String | provenance | | +| Test.java:213:10:213:45 | new PropertyValue(...) : PropertyValue [] : String | Test.java:214:26:214:28 | out : PropertyValue [] : String | provenance | | +| Test.java:213:28:213:29 | in : PropertyValue [] : String | Test.java:213:10:213:45 | new PropertyValue(...) : PropertyValue [] : String | provenance | MaD:28 | +| Test.java:214:26:214:28 | out : PropertyValue [] : String | Test.java:24:26:24:48 | container : PropertyValue [] : String | provenance | | +| Test.java:214:26:214:28 | out : PropertyValue [] : String | Test.java:214:9:214:29 | getMapKeyDefault(...) | provenance | MaD:32 | +| Test.java:219:16:219:32 | (...)... : Object | Test.java:220:50:220:51 | in : Object | provenance | | +| Test.java:219:25:219:32 | source(...) : Object | Test.java:219:16:219:32 | (...)... : Object | provenance | | +| Test.java:220:10:220:52 | new PropertyValue(...) : PropertyValue [] : Object | Test.java:221:28:221:30 | out : PropertyValue [] : Object | provenance | | +| Test.java:220:50:220:51 | in : Object | Test.java:220:10:220:52 | new PropertyValue(...) : PropertyValue [] : Object | provenance | MaD:29 | +| Test.java:221:28:221:30 | out : PropertyValue [] : Object | Test.java:28:28:28:50 | container : PropertyValue [] : Object | provenance | | +| Test.java:221:28:221:30 | out : PropertyValue [] : Object | Test.java:221:9:221:31 | getMapValueDefault(...) | provenance | MaD:33 | +| Test.java:226:16:226:32 | (...)... : String | Test.java:227:28:227:29 | in : String | provenance | | +| Test.java:226:25:226:32 | source(...) : Object | Test.java:226:16:226:32 | (...)... : String | provenance | | +| Test.java:227:10:227:45 | new PropertyValue(...) : PropertyValue [] : String | Test.java:228:26:228:28 | out : PropertyValue [] : String | provenance | | +| Test.java:227:28:227:29 | in : String | Test.java:227:10:227:45 | new PropertyValue(...) : PropertyValue [] : String | provenance | MaD:30 | +| Test.java:228:26:228:28 | out : PropertyValue [] : String | Test.java:24:26:24:48 | container : PropertyValue [] : String | provenance | | +| Test.java:228:26:228:28 | out : PropertyValue [] : String | Test.java:228:9:228:29 | getMapKeyDefault(...) | provenance | MaD:32 | +| Test.java:233:16:233:32 | (...)... : Object | Test.java:234:43:234:44 | in : Object | provenance | | +| Test.java:233:25:233:32 | source(...) : Object | Test.java:233:16:233:32 | (...)... : Object | provenance | | +| Test.java:234:10:234:45 | new PropertyValue(...) : PropertyValue [] : Object | Test.java:235:28:235:30 | out : PropertyValue [] : Object | provenance | | +| Test.java:234:43:234:44 | in : Object | Test.java:234:10:234:45 | new PropertyValue(...) : PropertyValue [] : Object | provenance | MaD:31 | +| Test.java:235:28:235:30 | out : PropertyValue [] : Object | Test.java:28:28:28:50 | container : PropertyValue [] : Object | provenance | | +| Test.java:235:28:235:30 | out : PropertyValue [] : Object | Test.java:235:9:235:31 | getMapValueDefault(...) | provenance | MaD:33 | +| Test.java:240:23:240:64 | new PropertyValue(...) : PropertyValue [] : String | Test.java:241:10:241:11 | in : PropertyValue [] : String | provenance | | +| Test.java:240:41:240:57 | (...)... : String | Test.java:240:23:240:64 | new PropertyValue(...) : PropertyValue [] : String | provenance | MaD:30 | +| Test.java:240:50:240:57 | source(...) : Object | Test.java:240:41:240:57 | (...)... : String | provenance | | +| Test.java:241:10:241:11 | in : PropertyValue [] : String | Test.java:241:10:241:21 | getName(...) : String | provenance | MaD:32 | +| Test.java:241:10:241:21 | getName(...) : String | Test.java:242:9:242:11 | out | provenance | | +| Test.java:247:23:247:53 | new PropertyValue(...) : PropertyValue [] : Object | Test.java:248:10:248:11 | in : PropertyValue [] : Object | provenance | | +| Test.java:247:45:247:52 | source(...) : Object | Test.java:247:23:247:53 | new PropertyValue(...) : PropertyValue [] : Object | provenance | MaD:31 | +| Test.java:248:10:248:11 | in : PropertyValue [] : Object | Test.java:248:10:248:22 | getValue(...) : Object | provenance | MaD:33 | +| Test.java:248:10:248:22 | getValue(...) : Object | Test.java:249:9:249:11 | out | provenance | | +| Test.java:255:6:255:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | Test.java:256:10:256:11 | in : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:255:42:255:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | | +| Test.java:255:42:255:65 | (...)... : PropertyValue | Test.java:255:6:255:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | provenance | MaD:3 | +| Test.java:255:58:255:65 | source(...) : Object | Test.java:255:42:255:65 | (...)... : PropertyValue | provenance | | +| Test.java:256:10:256:11 | in : MutablePropertyValues [] : PropertyValue | Test.java:256:10:256:34 | getPropertyValue(...) : PropertyValue | provenance | MaD:23 | +| Test.java:256:10:256:11 | in : MutablePropertyValues [] : PropertyValue | Test.java:256:10:256:34 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 | +| Test.java:256:10:256:34 | getPropertyValue(...) : PropertyValue | Test.java:257:9:257:11 | out | provenance | | +| Test.java:262:24:262:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | Test.java:263:10:263:11 | in : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:262:60:262:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | | +| Test.java:262:60:262:83 | (...)... : PropertyValue | Test.java:262:24:262:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | provenance | MaD:3 | +| Test.java:262:76:262:83 | source(...) : Object | Test.java:262:60:262:83 | (...)... : PropertyValue | provenance | | +| Test.java:263:10:263:11 | in : MutablePropertyValues [] : PropertyValue | Test.java:263:10:263:34 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 | +| Test.java:263:10:263:34 | getPropertyValue(...) : PropertyValue | Test.java:264:9:264:11 | out | provenance | | +| Test.java:270:6:270:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | Test.java:271:10:271:11 | in : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:270:42:270:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | | +| Test.java:270:42:270:65 | (...)... : PropertyValue | Test.java:270:6:270:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | provenance | MaD:3 | +| Test.java:270:58:270:65 | source(...) : Object | Test.java:270:42:270:65 | (...)... : PropertyValue | provenance | | +| Test.java:271:10:271:11 | in : MutablePropertyValues [] : PropertyValue | Test.java:271:10:271:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | provenance | MaD:25 | +| Test.java:271:10:271:11 | in : MutablePropertyValues [] : PropertyValue | Test.java:271:10:271:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | provenance | MaD:35 | +| Test.java:271:10:271:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | Test.java:272:25:272:27 | out : PropertyValue[] [[]] : PropertyValue | provenance | | +| Test.java:272:25:272:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:12:24:12:32 | array : PropertyValue[] [[]] : PropertyValue | provenance | | +| Test.java:272:25:272:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:272:9:272:28 | getArrayElement(...) | provenance | | +| Test.java:277:24:277:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | Test.java:278:10:278:11 | in : MutablePropertyValues [] : PropertyValue | provenance | | +| Test.java:277:60:277:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | | +| Test.java:277:60:277:83 | (...)... : PropertyValue | Test.java:277:24:277:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | provenance | MaD:3 | +| Test.java:277:76:277:83 | source(...) : Object | Test.java:277:60:277:83 | (...)... : PropertyValue | provenance | | +| Test.java:278:10:278:11 | in : MutablePropertyValues [] : PropertyValue | Test.java:278:10:278:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | provenance | MaD:35 | +| Test.java:278:10:278:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | Test.java:279:25:279:27 | out : PropertyValue[] [[]] : PropertyValue | provenance | | +| Test.java:279:25:279:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:12:24:12:32 | array : PropertyValue[] [[]] : PropertyValue | provenance | | +| Test.java:279:25:279:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:279:9:279:28 | getArrayElement(...) | provenance | | +nodes +| Test.java:12:24:12:32 | array : PropertyValue[] [[]] : PropertyValue | semmle.label | array : PropertyValue[] [[]] : PropertyValue | +| Test.java:13:10:13:14 | array : PropertyValue[] [[]] : PropertyValue | semmle.label | array : PropertyValue[] [[]] : PropertyValue | +| Test.java:13:10:13:17 | ...[...] : PropertyValue | semmle.label | ...[...] : PropertyValue | +| Test.java:16:19:16:32 | it : List [] : PropertyValue | semmle.label | it : List [] : PropertyValue | +| Test.java:17:10:17:11 | it : List [] : PropertyValue | semmle.label | it : List [] : PropertyValue | +| Test.java:17:10:17:22 | iterator(...) : Iterator [] : PropertyValue | semmle.label | iterator(...) : Iterator [] : PropertyValue | +| Test.java:17:10:17:29 | next(...) : PropertyValue | semmle.label | next(...) : PropertyValue | +| Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | semmle.label | container : MutablePropertyValues [, ] : Object | +| Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : String | semmle.label | container : MutablePropertyValues [, ] : String | +| Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | semmle.label | container : MutablePropertyValues [, ] : Object | +| Test.java:20:34:20:64 | container : MutablePropertyValues [] : Object | semmle.label | container : MutablePropertyValues [] : Object | +| Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | semmle.label | container : MutablePropertyValues [] : PropertyValue | +| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | semmle.label | container : MutablePropertyValues [, ] : Object | +| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : String | semmle.label | container : MutablePropertyValues [, ] : String | +| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | semmle.label | container : MutablePropertyValues [, ] : Object | +| Test.java:21:10:21:18 | container : MutablePropertyValues [] : Object | semmle.label | container : MutablePropertyValues [] : Object | +| Test.java:21:10:21:18 | container : MutablePropertyValues [] : PropertyValue | semmle.label | container : MutablePropertyValues [] : PropertyValue | +| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue | +| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue | +| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue | +| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue | +| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | semmle.label | getPropertyValue(...) : PropertyValue [] : Object | +| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | semmle.label | getPropertyValue(...) : PropertyValue [] : Object | +| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | semmle.label | getPropertyValue(...) : PropertyValue [] : String | +| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | semmle.label | getPropertyValue(...) : PropertyValue [] : String | +| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | semmle.label | getPropertyValue(...) : PropertyValue [] : Object | +| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | semmle.label | getPropertyValue(...) : PropertyValue [] : Object | +| Test.java:24:26:24:48 | container : PropertyValue [] : Object | semmle.label | container : PropertyValue [] : Object | +| Test.java:24:26:24:48 | container : PropertyValue [] : String | semmle.label | container : PropertyValue [] : String | +| Test.java:25:10:25:18 | container : PropertyValue [] : Object | semmle.label | container : PropertyValue [] : Object | +| Test.java:25:10:25:18 | container : PropertyValue [] : String | semmle.label | container : PropertyValue [] : String | +| Test.java:25:10:25:28 | getName(...) : String | semmle.label | getName(...) : String | +| Test.java:25:10:25:28 | getName(...) : String | semmle.label | getName(...) : String | +| Test.java:28:28:28:50 | container : PropertyValue [] : Object | semmle.label | container : PropertyValue [] : Object | +| Test.java:29:10:29:18 | container : PropertyValue [] : Object | semmle.label | container : PropertyValue [] : Object | +| Test.java:29:10:29:29 | getValue(...) : Object | semmle.label | getValue(...) : Object | +| Test.java:32:60:32:80 | element : PropertyValue | semmle.label | element : PropertyValue | +| Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | semmle.label | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:33:36:33:51 | of(...) : List [] : PropertyValue | semmle.label | of(...) : List [] : PropertyValue | +| Test.java:33:44:33:50 | element : PropertyValue | semmle.label | element : PropertyValue | +| Test.java:40:61:40:74 | element : Object | semmle.label | element : Object | +| Test.java:41:10:41:57 | new MutablePropertyValues(...) : MutablePropertyValues [, ] : Object | semmle.label | new MutablePropertyValues(...) : MutablePropertyValues [, ] : Object | +| Test.java:41:36:41:56 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:41:49:41:55 | element : Object | semmle.label | element : Object | +| Test.java:55:14:55:30 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:55:22:55:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:56:10:56:38 | new MutablePropertyValues(...) : MutablePropertyValues [] : Object | semmle.label | new MutablePropertyValues(...) : MutablePropertyValues [] : Object | +| Test.java:56:36:56:37 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:57:9:57:30 | getElementDefault(...) | semmle.label | getElementDefault(...) | +| Test.java:57:27:57:29 | out : MutablePropertyValues [] : Object | semmle.label | out : MutablePropertyValues [] : Object | +| Test.java:62:13:62:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:62:20:62:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:63:10:63:38 | new MutablePropertyValues(...) : MutablePropertyValues [, ] : Object | semmle.label | new MutablePropertyValues(...) : MutablePropertyValues [, ] : Object | +| Test.java:63:36:63:37 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:64:9:64:48 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [] : Object | semmle.label | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:64:44:64:46 | out : MutablePropertyValues [, ] : Object | semmle.label | out : MutablePropertyValues [, ] : Object | +| Test.java:69:13:69:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:69:26:69:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:70:10:70:38 | new MutablePropertyValues(...) : MutablePropertyValues [, ] : Object | semmle.label | new MutablePropertyValues(...) : MutablePropertyValues [, ] : Object | +| Test.java:70:36:70:37 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:71:9:71:50 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [] : Object | semmle.label | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:71:46:71:48 | out : MutablePropertyValues [, ] : Object | semmle.label | out : MutablePropertyValues [, ] : Object | +| Test.java:76:24:76:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:76:60:76:83 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue | +| Test.java:76:76:76:83 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:77:10:77:38 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | semmle.label | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:77:36:77:37 | in : MutablePropertyValues [] : PropertyValue | semmle.label | in : MutablePropertyValues [] : PropertyValue | +| Test.java:78:9:78:30 | getElementDefault(...) | semmle.label | getElementDefault(...) | +| Test.java:78:27:78:29 | out : MutablePropertyValues [] : PropertyValue | semmle.label | out : MutablePropertyValues [] : PropertyValue | +| Test.java:83:31:83:62 | (...)... : MutablePropertyValues | semmle.label | (...)... : MutablePropertyValues | +| Test.java:83:55:83:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:84:10:84:11 | in : MutablePropertyValues | semmle.label | in : MutablePropertyValues | +| Test.java:84:10:84:27 | add(...) : MutablePropertyValues | semmle.label | add(...) : MutablePropertyValues | +| Test.java:85:9:85:11 | out | semmle.label | out | +| Test.java:90:16:90:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:90:25:90:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:91:4:91:6 | out [post update] : MutablePropertyValues [, ] : String | semmle.label | out [post update] : MutablePropertyValues [, ] : String | +| Test.java:91:12:91:13 | in : String | semmle.label | in : String | +| Test.java:92:9:92:48 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [] : String | semmle.label | getElementDefault(...) : PropertyValue [] : String | +| Test.java:92:44:92:46 | out : MutablePropertyValues [, ] : String | semmle.label | out : MutablePropertyValues [, ] : String | +| Test.java:97:16:97:32 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:97:25:97:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:98:4:98:6 | out [post update] : MutablePropertyValues [, ] : Object | semmle.label | out [post update] : MutablePropertyValues [, ] : Object | +| Test.java:98:18:98:19 | in : Object | semmle.label | in : Object | +| Test.java:99:9:99:50 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [] : Object | semmle.label | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:99:46:99:48 | out : MutablePropertyValues [, ] : Object | semmle.label | out : MutablePropertyValues [, ] : Object | +| Test.java:104:31:104:62 | (...)... : MutablePropertyValues | semmle.label | (...)... : MutablePropertyValues | +| Test.java:104:55:104:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:105:10:105:11 | in : MutablePropertyValues | semmle.label | in : MutablePropertyValues | +| Test.java:105:10:105:34 | addPropertyValue(...) : MutablePropertyValues | semmle.label | addPropertyValue(...) : MutablePropertyValues | +| Test.java:106:9:106:11 | out | semmle.label | out | +| Test.java:111:23:111:46 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue | +| Test.java:111:39:111:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:112:4:112:6 | out [post update] : MutablePropertyValues [] : PropertyValue | semmle.label | out [post update] : MutablePropertyValues [] : PropertyValue | +| Test.java:112:25:112:26 | in : PropertyValue | semmle.label | in : PropertyValue | +| Test.java:113:9:113:30 | getElementDefault(...) | semmle.label | getElementDefault(...) | +| Test.java:113:27:113:29 | out : MutablePropertyValues [] : PropertyValue | semmle.label | out : MutablePropertyValues [] : PropertyValue | +| Test.java:118:16:118:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:118:25:118:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:119:4:119:6 | out [post update] : MutablePropertyValues [, ] : String | semmle.label | out [post update] : MutablePropertyValues [, ] : String | +| Test.java:119:25:119:26 | in : String | semmle.label | in : String | +| Test.java:120:9:120:48 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [] : String | semmle.label | getElementDefault(...) : PropertyValue [] : String | +| Test.java:120:44:120:46 | out : MutablePropertyValues [, ] : String | semmle.label | out : MutablePropertyValues [, ] : String | +| Test.java:125:16:125:32 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:125:25:125:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:126:4:126:6 | out [post update] : MutablePropertyValues [, ] : Object | semmle.label | out [post update] : MutablePropertyValues [, ] : Object | +| Test.java:126:31:126:32 | in : Object | semmle.label | in : Object | +| Test.java:127:9:127:50 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [] : Object | semmle.label | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:127:46:127:48 | out : MutablePropertyValues [, ] : Object | semmle.label | out : MutablePropertyValues [, ] : Object | +| Test.java:132:31:132:62 | (...)... : MutablePropertyValues | semmle.label | (...)... : MutablePropertyValues | +| Test.java:132:55:132:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:133:10:133:11 | in : MutablePropertyValues | semmle.label | in : MutablePropertyValues | +| Test.java:133:10:133:41 | addPropertyValues(...) : MutablePropertyValues | semmle.label | addPropertyValues(...) : MutablePropertyValues | +| Test.java:134:9:134:11 | out | semmle.label | out | +| Test.java:139:13:139:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:139:20:139:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:140:4:140:6 | out [post update] : MutablePropertyValues [, ] : Object | semmle.label | out [post update] : MutablePropertyValues [, ] : Object | +| Test.java:140:26:140:27 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:141:9:141:48 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [] : Object | semmle.label | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:141:44:141:46 | out : MutablePropertyValues [, ] : Object | semmle.label | out : MutablePropertyValues [, ] : Object | +| Test.java:146:13:146:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:146:26:146:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:147:4:147:6 | out [post update] : MutablePropertyValues [, ] : Object | semmle.label | out [post update] : MutablePropertyValues [, ] : Object | +| Test.java:147:26:147:27 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:148:9:148:50 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [] : Object | semmle.label | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:148:46:148:48 | out : MutablePropertyValues [, ] : Object | semmle.label | out : MutablePropertyValues [, ] : Object | +| Test.java:153:31:153:62 | (...)... : MutablePropertyValues | semmle.label | (...)... : MutablePropertyValues | +| Test.java:153:55:153:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:154:10:154:11 | in : MutablePropertyValues | semmle.label | in : MutablePropertyValues | +| Test.java:154:10:154:52 | addPropertyValues(...) : MutablePropertyValues | semmle.label | addPropertyValues(...) : MutablePropertyValues | +| Test.java:155:9:155:11 | out | semmle.label | out | +| Test.java:160:24:160:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:160:60:160:83 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue | +| Test.java:160:76:160:83 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:161:4:161:6 | out [post update] : MutablePropertyValues [] : PropertyValue | semmle.label | out [post update] : MutablePropertyValues [] : PropertyValue | +| Test.java:161:26:161:27 | in : MutablePropertyValues [] : PropertyValue | semmle.label | in : MutablePropertyValues [] : PropertyValue | +| Test.java:162:9:162:30 | getElementDefault(...) | semmle.label | getElementDefault(...) | +| Test.java:162:27:162:29 | out : MutablePropertyValues [] : PropertyValue | semmle.label | out : MutablePropertyValues [] : PropertyValue | +| Test.java:167:31:167:76 | newMutablePropertyValuesWithMapValue(...) : MutablePropertyValues [, ] : Object | semmle.label | newMutablePropertyValuesWithMapValue(...) : MutablePropertyValues [, ] : Object | +| Test.java:167:68:167:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:168:10:168:11 | in : MutablePropertyValues [, ] : Object | semmle.label | in : MutablePropertyValues [, ] : Object | +| Test.java:168:10:168:21 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:169:9:169:11 | out | semmle.label | out | +| Test.java:175:6:175:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:175:42:175:65 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue | +| Test.java:175:58:175:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:176:10:176:11 | in : MutablePropertyValues [] : PropertyValue | semmle.label | in : MutablePropertyValues [] : PropertyValue | +| Test.java:176:10:176:34 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue | +| Test.java:177:9:177:11 | out | semmle.label | out | +| Test.java:183:6:183:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:183:42:183:65 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue | +| Test.java:183:58:183:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:184:10:184:11 | in : MutablePropertyValues [] : PropertyValue | semmle.label | in : MutablePropertyValues [] : PropertyValue | +| Test.java:184:10:184:34 | getPropertyValueList(...) : List [] : PropertyValue | semmle.label | getPropertyValueList(...) : List [] : PropertyValue | +| Test.java:185:9:185:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:185:20:185:22 | out : List [] : PropertyValue | semmle.label | out : List [] : PropertyValue | +| Test.java:191:6:191:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:191:42:191:65 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue | +| Test.java:191:58:191:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:192:10:192:11 | in : MutablePropertyValues [] : PropertyValue | semmle.label | in : MutablePropertyValues [] : PropertyValue | +| Test.java:192:10:192:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | semmle.label | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | +| Test.java:193:9:193:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:193:25:193:27 | out : PropertyValue[] [[]] : PropertyValue | semmle.label | out : PropertyValue[] [[]] : PropertyValue | +| Test.java:198:23:198:46 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue | +| Test.java:198:39:198:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:199:4:199:6 | out [post update] : MutablePropertyValues [] : PropertyValue | semmle.label | out [post update] : MutablePropertyValues [] : PropertyValue | +| Test.java:199:27:199:28 | in : PropertyValue | semmle.label | in : PropertyValue | +| Test.java:200:9:200:30 | getElementDefault(...) | semmle.label | getElementDefault(...) | +| Test.java:200:27:200:29 | out : MutablePropertyValues [] : PropertyValue | semmle.label | out : MutablePropertyValues [] : PropertyValue | +| Test.java:205:23:205:46 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue | +| Test.java:205:39:205:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:206:10:206:30 | new PropertyValue(...) : PropertyValue | semmle.label | new PropertyValue(...) : PropertyValue | +| Test.java:206:28:206:29 | in : PropertyValue | semmle.label | in : PropertyValue | +| Test.java:207:9:207:11 | out | semmle.label | out | +| Test.java:212:23:212:89 | new PropertyValue(...) : PropertyValue [] : String | semmle.label | new PropertyValue(...) : PropertyValue [] : String | +| Test.java:212:41:212:82 | new PropertyValue(...) : PropertyValue [] : String | semmle.label | new PropertyValue(...) : PropertyValue [] : String | +| Test.java:212:59:212:75 | (...)... : String | semmle.label | (...)... : String | +| Test.java:212:68:212:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:213:10:213:45 | new PropertyValue(...) : PropertyValue [] : String | semmle.label | new PropertyValue(...) : PropertyValue [] : String | +| Test.java:213:28:213:29 | in : PropertyValue [] : String | semmle.label | in : PropertyValue [] : String | +| Test.java:214:9:214:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:214:26:214:28 | out : PropertyValue [] : String | semmle.label | out : PropertyValue [] : String | +| Test.java:219:16:219:32 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:219:25:219:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:220:10:220:52 | new PropertyValue(...) : PropertyValue [] : Object | semmle.label | new PropertyValue(...) : PropertyValue [] : Object | +| Test.java:220:50:220:51 | in : Object | semmle.label | in : Object | +| Test.java:221:9:221:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:221:28:221:30 | out : PropertyValue [] : Object | semmle.label | out : PropertyValue [] : Object | +| Test.java:226:16:226:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:226:25:226:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:227:10:227:45 | new PropertyValue(...) : PropertyValue [] : String | semmle.label | new PropertyValue(...) : PropertyValue [] : String | +| Test.java:227:28:227:29 | in : String | semmle.label | in : String | +| Test.java:228:9:228:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) | +| Test.java:228:26:228:28 | out : PropertyValue [] : String | semmle.label | out : PropertyValue [] : String | +| Test.java:233:16:233:32 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:233:25:233:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:234:10:234:45 | new PropertyValue(...) : PropertyValue [] : Object | semmle.label | new PropertyValue(...) : PropertyValue [] : Object | +| Test.java:234:43:234:44 | in : Object | semmle.label | in : Object | +| Test.java:235:9:235:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) | +| Test.java:235:28:235:30 | out : PropertyValue [] : Object | semmle.label | out : PropertyValue [] : Object | +| Test.java:240:23:240:64 | new PropertyValue(...) : PropertyValue [] : String | semmle.label | new PropertyValue(...) : PropertyValue [] : String | +| Test.java:240:41:240:57 | (...)... : String | semmle.label | (...)... : String | +| Test.java:240:50:240:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:241:10:241:11 | in : PropertyValue [] : String | semmle.label | in : PropertyValue [] : String | +| Test.java:241:10:241:21 | getName(...) : String | semmle.label | getName(...) : String | +| Test.java:242:9:242:11 | out | semmle.label | out | +| Test.java:247:23:247:53 | new PropertyValue(...) : PropertyValue [] : Object | semmle.label | new PropertyValue(...) : PropertyValue [] : Object | +| Test.java:247:45:247:52 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:248:10:248:11 | in : PropertyValue [] : Object | semmle.label | in : PropertyValue [] : Object | +| Test.java:248:10:248:22 | getValue(...) : Object | semmle.label | getValue(...) : Object | +| Test.java:249:9:249:11 | out | semmle.label | out | +| Test.java:255:6:255:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:255:42:255:65 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue | +| Test.java:255:58:255:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:256:10:256:11 | in : MutablePropertyValues [] : PropertyValue | semmle.label | in : MutablePropertyValues [] : PropertyValue | +| Test.java:256:10:256:34 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue | +| Test.java:257:9:257:11 | out | semmle.label | out | +| Test.java:262:24:262:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:262:60:262:83 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue | +| Test.java:262:76:262:83 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:263:10:263:11 | in : MutablePropertyValues [] : PropertyValue | semmle.label | in : MutablePropertyValues [] : PropertyValue | +| Test.java:263:10:263:34 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue | +| Test.java:264:9:264:11 | out | semmle.label | out | +| Test.java:270:6:270:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:270:42:270:65 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue | +| Test.java:270:58:270:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:271:10:271:11 | in : MutablePropertyValues [] : PropertyValue | semmle.label | in : MutablePropertyValues [] : PropertyValue | +| Test.java:271:10:271:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | semmle.label | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | +| Test.java:272:9:272:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:272:25:272:27 | out : PropertyValue[] [[]] : PropertyValue | semmle.label | out : PropertyValue[] [[]] : PropertyValue | +| Test.java:277:24:277:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:277:60:277:83 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue | +| Test.java:277:76:277:83 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:278:10:278:11 | in : MutablePropertyValues [] : PropertyValue | semmle.label | in : MutablePropertyValues [] : PropertyValue | +| Test.java:278:10:278:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | semmle.label | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | +| Test.java:279:9:279:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:279:25:279:27 | out : PropertyValue[] [[]] : PropertyValue | semmle.label | out : PropertyValue[] [[]] : PropertyValue | +subpaths +| Test.java:57:27:57:29 | out : MutablePropertyValues [] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:57:9:57:30 | getElementDefault(...) | +| Test.java:57:27:57:29 | out : MutablePropertyValues [] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:57:9:57:30 | getElementDefault(...) | +| Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [] : Object | Test.java:24:26:24:48 | container : PropertyValue [] : Object | Test.java:25:10:25:28 | getName(...) : String | Test.java:64:9:64:48 | getMapKeyDefault(...) | +| Test.java:64:44:64:46 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:64:44:64:46 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [] : Object | Test.java:28:28:28:50 | container : PropertyValue [] : Object | Test.java:29:10:29:29 | getValue(...) : Object | Test.java:71:9:71:50 | getMapValueDefault(...) | +| Test.java:71:46:71:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:71:46:71:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:76:60:76:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | Test.java:76:24:76:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:78:27:78:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:78:9:78:30 | getElementDefault(...) | +| Test.java:78:27:78:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:78:9:78:30 | getElementDefault(...) | +| Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [] : String | Test.java:24:26:24:48 | container : PropertyValue [] : String | Test.java:25:10:25:28 | getName(...) : String | Test.java:92:9:92:48 | getMapKeyDefault(...) | +| Test.java:92:44:92:46 | out : MutablePropertyValues [, ] : String | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [] : String | +| Test.java:92:44:92:46 | out : MutablePropertyValues [, ] : String | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [] : String | +| Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [] : Object | Test.java:28:28:28:50 | container : PropertyValue [] : Object | Test.java:29:10:29:29 | getValue(...) : Object | Test.java:99:9:99:50 | getMapValueDefault(...) | +| Test.java:99:46:99:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:99:46:99:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:113:27:113:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:113:9:113:30 | getElementDefault(...) | +| Test.java:113:27:113:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:113:9:113:30 | getElementDefault(...) | +| Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [] : String | Test.java:24:26:24:48 | container : PropertyValue [] : String | Test.java:25:10:25:28 | getName(...) : String | Test.java:120:9:120:48 | getMapKeyDefault(...) | +| Test.java:120:44:120:46 | out : MutablePropertyValues [, ] : String | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [] : String | +| Test.java:120:44:120:46 | out : MutablePropertyValues [, ] : String | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [] : String | +| Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [] : Object | Test.java:28:28:28:50 | container : PropertyValue [] : Object | Test.java:29:10:29:29 | getValue(...) : Object | Test.java:127:9:127:50 | getMapValueDefault(...) | +| Test.java:127:46:127:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:127:46:127:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [] : Object | Test.java:24:26:24:48 | container : PropertyValue [] : Object | Test.java:25:10:25:28 | getName(...) : String | Test.java:141:9:141:48 | getMapKeyDefault(...) | +| Test.java:141:44:141:46 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:141:44:141:46 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [] : Object | Test.java:28:28:28:50 | container : PropertyValue [] : Object | Test.java:29:10:29:29 | getValue(...) : Object | Test.java:148:9:148:50 | getMapValueDefault(...) | +| Test.java:148:46:148:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:148:46:148:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [] : Object | +| Test.java:160:60:160:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | Test.java:160:24:160:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:162:27:162:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:162:9:162:30 | getElementDefault(...) | +| Test.java:162:27:162:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:162:9:162:30 | getElementDefault(...) | +| Test.java:167:68:167:75 | source(...) : Object | Test.java:40:61:40:74 | element : Object | Test.java:41:10:41:57 | new MutablePropertyValues(...) : MutablePropertyValues [, ] : Object | Test.java:167:31:167:76 | newMutablePropertyValuesWithMapValue(...) : MutablePropertyValues [, ] : Object | +| Test.java:175:42:175:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | Test.java:175:6:175:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:183:42:183:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | Test.java:183:6:183:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:185:20:185:22 | out : List [] : PropertyValue | Test.java:16:19:16:32 | it : List [] : PropertyValue | Test.java:17:10:17:29 | next(...) : PropertyValue | Test.java:185:9:185:23 | getElement(...) | +| Test.java:191:42:191:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | Test.java:191:6:191:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:193:25:193:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:12:24:12:32 | array : PropertyValue[] [[]] : PropertyValue | Test.java:13:10:13:17 | ...[...] : PropertyValue | Test.java:193:9:193:28 | getArrayElement(...) | +| Test.java:200:27:200:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:200:9:200:30 | getElementDefault(...) | +| Test.java:200:27:200:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:200:9:200:30 | getElementDefault(...) | +| Test.java:214:26:214:28 | out : PropertyValue [] : String | Test.java:24:26:24:48 | container : PropertyValue [] : String | Test.java:25:10:25:28 | getName(...) : String | Test.java:214:9:214:29 | getMapKeyDefault(...) | +| Test.java:221:28:221:30 | out : PropertyValue [] : Object | Test.java:28:28:28:50 | container : PropertyValue [] : Object | Test.java:29:10:29:29 | getValue(...) : Object | Test.java:221:9:221:31 | getMapValueDefault(...) | +| Test.java:228:26:228:28 | out : PropertyValue [] : String | Test.java:24:26:24:48 | container : PropertyValue [] : String | Test.java:25:10:25:28 | getName(...) : String | Test.java:228:9:228:29 | getMapKeyDefault(...) | +| Test.java:235:28:235:30 | out : PropertyValue [] : Object | Test.java:28:28:28:50 | container : PropertyValue [] : Object | Test.java:29:10:29:29 | getValue(...) : Object | Test.java:235:9:235:31 | getMapValueDefault(...) | +| Test.java:255:42:255:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | Test.java:255:6:255:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:262:60:262:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | Test.java:262:24:262:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:270:42:270:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | Test.java:270:6:270:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:272:25:272:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:12:24:12:32 | array : PropertyValue[] [[]] : PropertyValue | Test.java:13:10:13:17 | ...[...] : PropertyValue | Test.java:272:9:272:28 | getArrayElement(...) | +| Test.java:277:60:277:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | Test.java:277:24:277:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | +| Test.java:279:25:279:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:12:24:12:32 | array : PropertyValue[] [[]] : PropertyValue | Test.java:13:10:13:17 | ...[...] : PropertyValue | Test.java:279:9:279:28 | getArrayElement(...) | +testFailures diff --git a/java/ql/test/library-tests/frameworks/spring/cache/test.expected b/java/ql/test/library-tests/frameworks/spring/cache/test.expected index e69de29bb2d..fc7a29a83f5 100644 --- a/java/ql/test/library-tests/frameworks/spring/cache/test.expected +++ b/java/ql/test/library-tests/frameworks/spring/cache/test.expected @@ -0,0 +1,253 @@ +models +| 1 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 2 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 3 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 4 | Summary: java.util; Map; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 5 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 6 | Summary: org.springframework.cache; Cache; true; get; (Object); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 7 | Summary: org.springframework.cache; Cache; true; get; (Object,Callable); ; Argument[this].MapValue; ReturnValue; value; manual | +| 8 | Summary: org.springframework.cache; Cache; true; get; (Object,Class); ; Argument[this].MapValue; ReturnValue; value; manual | +| 9 | Summary: org.springframework.cache; Cache; true; getNativeCache; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 10 | Summary: org.springframework.cache; Cache; true; getNativeCache; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 11 | Summary: org.springframework.cache; Cache; true; put; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 12 | Summary: org.springframework.cache; Cache; true; put; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 13 | Summary: org.springframework.cache; Cache; true; putIfAbsent; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 14 | Summary: org.springframework.cache; Cache; true; putIfAbsent; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 15 | Summary: org.springframework.cache; Cache; true; putIfAbsent; ; ; Argument[1]; Argument[this].MapValue; value; manual | +| 16 | Summary: org.springframework.cache; Cache$ValueRetrievalException; false; ValueRetrievalException; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 17 | Summary: org.springframework.cache; Cache$ValueRetrievalException; false; getKey; ; ; Argument[this].MapKey; ReturnValue; value; manual | +| 18 | Summary: org.springframework.cache; Cache$ValueWrapper; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual | +edges +| Test.java:13:16:13:29 | element : Object | Test.java:15:19:15:25 | element : Object | provenance | | +| Test.java:15:4:15:7 | this [post update] : ValueWrapper [] : Object | Test.java:13:3:13:14 | parameter this [Return] : ValueWrapper [] : Object | provenance | | +| Test.java:15:19:15:25 | element : Object | Test.java:15:4:15:7 | this [post update] : ValueWrapper [] : Object | provenance | MaD:5 | +| Test.java:18:17:18:19 | parameter this : ValueWrapper [] : Object | Test.java:18:32:18:35 | this : ValueWrapper [] : Object | provenance | | +| Test.java:18:17:18:19 | parameter this : ValueWrapper [] : Object | Test.java:18:32:18:35 | this : ValueWrapper [] : Object | provenance | | +| Test.java:18:32:18:35 | this : ValueWrapper [] : Object | Test.java:18:32:18:45 | get(...) : Object | provenance | MaD:3 | +| Test.java:18:32:18:35 | this : ValueWrapper [] : Object | Test.java:18:32:18:45 | get(...) : Object | provenance | MaD:3 | +| Test.java:22:14:22:23 | key : Object | Test.java:23:13:23:15 | key : Object | provenance | | +| Test.java:22:26:22:37 | value : Object | Test.java:23:18:23:22 | value : Object | provenance | | +| Test.java:23:4:23:7 | this [post update] : DummyCache [] : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [] : Object | provenance | | +| Test.java:23:4:23:7 | this [post update] : DummyCache [] : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [] : Object | provenance | | +| Test.java:23:13:23:15 | key : Object | Test.java:23:4:23:7 | this [post update] : DummyCache [] : Object | provenance | MaD:11 | +| Test.java:23:18:23:22 | value : Object | Test.java:23:4:23:7 | this [post update] : DummyCache [] : Object | provenance | MaD:12 | +| Test.java:39:19:39:57 | container : ValueRetrievalException [] : Object | Test.java:39:69:39:77 | container : ValueRetrievalException [] : Object | provenance | | +| Test.java:39:69:39:77 | container : ValueRetrievalException [] : Object | Test.java:39:69:39:86 | getKey(...) : Object | provenance | MaD:17 | +| Test.java:40:19:40:33 | container : Cache [] : Object | Test.java:40:51:40:59 | container : Cache [] : Object | provenance | | +| Test.java:40:45:40:86 | keySet(...) : Set [] : Object | Test.java:40:45:40:97 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:40:45:40:97 | iterator(...) : Iterator [] : Object | Test.java:40:45:40:104 | next(...) : Object | provenance | MaD:2 | +| Test.java:40:46:40:76 | (...)... : Map [] : Object | Test.java:40:45:40:86 | keySet(...) : Set [] : Object | provenance | MaD:4 | +| Test.java:40:51:40:59 | container : Cache [] : Object | Test.java:40:51:40:76 | getNativeCache(...) : Object [] : Object | provenance | MaD:9 | +| Test.java:40:51:40:76 | getNativeCache(...) : Object [] : Object | Test.java:40:46:40:76 | (...)... : Map [] : Object | provenance | | +| Test.java:41:21:41:35 | container : Cache [] : Object | Test.java:41:47:41:55 | container : Cache [] : Object | provenance | | +| Test.java:41:47:41:55 | container : Cache [] : Object | Test.java:41:47:41:78 | get(...) : Object | provenance | MaD:8 | +| Test.java:42:21:42:48 | container : ValueWrapper [] : Object | Test.java:42:60:42:68 | container : ValueWrapper [] : Object | provenance | | +| Test.java:42:60:42:68 | container : ValueWrapper [] : Object | Test.java:18:17:18:19 | parameter this : ValueWrapper [] : Object | provenance | | +| Test.java:42:60:42:68 | container : ValueWrapper [] : Object | Test.java:42:60:42:74 | get(...) : Object | provenance | MaD:3 | +| Test.java:42:60:42:68 | container : ValueWrapper [] : Object | Test.java:42:60:42:74 | get(...) : Object | provenance | MaD:3 | +| Test.java:42:60:42:68 | container : ValueWrapper [] : Object | Test.java:42:60:42:74 | get(...) : Object | provenance | MaD:18 | +| Test.java:42:60:42:68 | container : ValueWrapper [] : Object | Test.java:42:60:42:74 | get(...) : Object | provenance | MaD:18 | +| Test.java:51:16:51:23 | source(...) : Object | Test.java:52:44:52:45 | in : Object | provenance | | +| Test.java:52:10:52:58 | new ValueRetrievalException(...) : ValueRetrievalException [] : Object | Test.java:53:19:53:21 | out : ValueRetrievalException [] : Object | provenance | | +| Test.java:52:44:52:45 | in : Object | Test.java:52:10:52:58 | new ValueRetrievalException(...) : ValueRetrievalException [] : Object | provenance | MaD:16 | +| Test.java:53:19:53:21 | out : ValueRetrievalException [] : Object | Test.java:39:19:39:57 | container : ValueRetrievalException [] : Object | provenance | | +| Test.java:53:19:53:21 | out : ValueRetrievalException [] : Object | Test.java:53:9:53:22 | getMapKey(...) | provenance | MaD:17 | +| Test.java:58:39:58:93 | new ValueRetrievalException(...) : ValueRetrievalException [] : Object | Test.java:59:10:59:11 | in : ValueRetrievalException [] : Object | provenance | | +| Test.java:58:73:58:80 | source(...) : Object | Test.java:58:39:58:93 | new ValueRetrievalException(...) : ValueRetrievalException [] : Object | provenance | MaD:16 | +| Test.java:59:10:59:11 | in : ValueRetrievalException [] : Object | Test.java:59:10:59:20 | getKey(...) : Object | provenance | MaD:17 | +| Test.java:59:10:59:20 | getKey(...) : Object | Test.java:60:9:60:11 | out | provenance | | +| Test.java:65:28:65:53 | new ValueWrapper(...) : ValueWrapper [] : Object | Test.java:66:10:66:11 | in : ValueWrapper [] : Object | provenance | | +| Test.java:65:45:65:52 | source(...) : Object | Test.java:13:16:13:29 | element : Object | provenance | | +| Test.java:65:45:65:52 | source(...) : Object | Test.java:65:28:65:53 | new ValueWrapper(...) : ValueWrapper [] : Object | provenance | MaD:5 | +| Test.java:66:10:66:11 | in : ValueWrapper [] : Object | Test.java:18:17:18:19 | parameter this : ValueWrapper [] : Object | provenance | | +| Test.java:66:10:66:11 | in : ValueWrapper [] : Object | Test.java:66:10:66:17 | get(...) : Object | provenance | MaD:3 | +| Test.java:66:10:66:11 | in : ValueWrapper [] : Object | Test.java:66:10:66:17 | get(...) : Object | provenance | MaD:18 | +| Test.java:66:10:66:17 | get(...) : Object | Test.java:67:9:67:11 | out | provenance | | +| Test.java:72:15:72:44 | new DummyCache(...) : DummyCache [] : Object | Test.java:73:10:73:11 | in : DummyCache [] : Object | provenance | | +| Test.java:72:36:72:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | provenance | | +| Test.java:72:36:72:43 | source(...) : Object | Test.java:72:15:72:44 | new DummyCache(...) : DummyCache [] : Object | provenance | MaD:12 | +| Test.java:73:10:73:11 | in : DummyCache [] : Object | Test.java:73:10:73:21 | get(...) : ValueWrapper [] : Object | provenance | MaD:6 | +| Test.java:73:10:73:21 | get(...) : ValueWrapper [] : Object | Test.java:74:21:74:23 | out : ValueWrapper [] : Object | provenance | | +| Test.java:74:21:74:23 | out : ValueWrapper [] : Object | Test.java:42:21:42:48 | container : ValueWrapper [] : Object | provenance | | +| Test.java:74:21:74:23 | out : ValueWrapper [] : Object | Test.java:74:9:74:24 | getMapValue(...) | provenance | MaD:3 | +| Test.java:74:21:74:23 | out : ValueWrapper [] : Object | Test.java:74:9:74:24 | getMapValue(...) | provenance | MaD:18 | +| Test.java:79:15:79:44 | new DummyCache(...) : DummyCache [] : Object | Test.java:80:10:80:11 | in : DummyCache [] : Object | provenance | | +| Test.java:79:36:79:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | provenance | | +| Test.java:79:36:79:43 | source(...) : Object | Test.java:79:15:79:44 | new DummyCache(...) : DummyCache [] : Object | provenance | MaD:12 | +| Test.java:80:10:80:11 | in : DummyCache [] : Object | Test.java:80:10:80:37 | get(...) : Object | provenance | MaD:7 | +| Test.java:80:10:80:37 | get(...) : Object | Test.java:81:9:81:11 | out | provenance | | +| Test.java:86:15:86:44 | new DummyCache(...) : DummyCache [] : Object | Test.java:87:10:87:11 | in : DummyCache [] : Object | provenance | | +| Test.java:86:36:86:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | provenance | | +| Test.java:86:36:86:43 | source(...) : Object | Test.java:86:15:86:44 | new DummyCache(...) : DummyCache [] : Object | provenance | MaD:12 | +| Test.java:87:10:87:11 | in : DummyCache [] : Object | Test.java:87:10:87:34 | get(...) : Object | provenance | MaD:8 | +| Test.java:87:10:87:34 | get(...) : Object | Test.java:88:9:88:11 | out | provenance | | +| Test.java:93:15:93:44 | new DummyCache(...) : DummyCache [] : Object | Test.java:94:10:94:11 | in : DummyCache [] : Object | provenance | | +| Test.java:93:30:93:37 | source(...) : Object | Test.java:22:14:22:23 | key : Object | provenance | | +| Test.java:93:30:93:37 | source(...) : Object | Test.java:93:15:93:44 | new DummyCache(...) : DummyCache [] : Object | provenance | MaD:11 | +| Test.java:94:10:94:11 | in : DummyCache [] : Object | Test.java:94:10:94:28 | getNativeCache(...) : Object [] : Object | provenance | MaD:9 | +| Test.java:94:10:94:28 | getNativeCache(...) : Object [] : Object | Test.java:95:19:95:28 | (...)... : Cache [] : Object | provenance | | +| Test.java:95:19:95:28 | (...)... : Cache [] : Object | Test.java:40:19:40:33 | container : Cache [] : Object | provenance | | +| Test.java:95:19:95:28 | (...)... : Cache [] : Object | Test.java:95:9:95:29 | getMapKey(...) | provenance | MaD:9 | +| Test.java:100:15:100:44 | new DummyCache(...) : DummyCache [] : Object | Test.java:101:10:101:11 | in : DummyCache [] : Object | provenance | | +| Test.java:100:36:100:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | provenance | | +| Test.java:100:36:100:43 | source(...) : Object | Test.java:100:15:100:44 | new DummyCache(...) : DummyCache [] : Object | provenance | MaD:12 | +| Test.java:101:10:101:11 | in : DummyCache [] : Object | Test.java:101:10:101:28 | getNativeCache(...) : Object [] : Object | provenance | MaD:10 | +| Test.java:101:10:101:28 | getNativeCache(...) : Object [] : Object | Test.java:102:21:102:30 | (...)... : Cache [] : Object | provenance | | +| Test.java:102:21:102:30 | (...)... : Cache [] : Object | Test.java:41:21:41:35 | container : Cache [] : Object | provenance | | +| Test.java:102:21:102:30 | (...)... : Cache [] : Object | Test.java:102:9:102:31 | getMapValue(...) | provenance | MaD:8 | +| Test.java:107:16:107:23 | source(...) : Object | Test.java:108:12:108:13 | in : Object | provenance | | +| Test.java:108:4:108:6 | out [post update] : Cache [] : Object | Test.java:109:19:109:21 | out : Cache [] : Object | provenance | | +| Test.java:108:12:108:13 | in : Object | Test.java:108:4:108:6 | out [post update] : Cache [] : Object | provenance | MaD:11 | +| Test.java:109:19:109:21 | out : Cache [] : Object | Test.java:40:19:40:33 | container : Cache [] : Object | provenance | | +| Test.java:109:19:109:21 | out : Cache [] : Object | Test.java:109:9:109:22 | getMapKey(...) | provenance | MaD:9 | +| Test.java:114:16:114:23 | source(...) : Object | Test.java:115:18:115:19 | in : Object | provenance | | +| Test.java:115:4:115:6 | out [post update] : Cache [] : Object | Test.java:116:21:116:23 | out : Cache [] : Object | provenance | | +| Test.java:115:18:115:19 | in : Object | Test.java:115:4:115:6 | out [post update] : Cache [] : Object | provenance | MaD:12 | +| Test.java:116:21:116:23 | out : Cache [] : Object | Test.java:41:21:41:35 | container : Cache [] : Object | provenance | | +| Test.java:116:21:116:23 | out : Cache [] : Object | Test.java:116:9:116:24 | getMapValue(...) | provenance | MaD:8 | +| Test.java:121:16:121:23 | source(...) : Object | Test.java:122:20:122:21 | in : Object | provenance | | +| Test.java:122:4:122:6 | out [post update] : Cache [] : Object | Test.java:123:19:123:21 | out : Cache [] : Object | provenance | | +| Test.java:122:20:122:21 | in : Object | Test.java:122:4:122:6 | out [post update] : Cache [] : Object | provenance | MaD:14 | +| Test.java:123:19:123:21 | out : Cache [] : Object | Test.java:40:19:40:33 | container : Cache [] : Object | provenance | | +| Test.java:123:19:123:21 | out : Cache [] : Object | Test.java:123:9:123:22 | getMapKey(...) | provenance | MaD:9 | +| Test.java:128:16:128:23 | source(...) : Object | Test.java:129:26:129:27 | in : Object | provenance | | +| Test.java:129:4:129:6 | out [post update] : Cache [] : Object | Test.java:130:21:130:23 | out : Cache [] : Object | provenance | | +| Test.java:129:26:129:27 | in : Object | Test.java:129:4:129:6 | out [post update] : Cache [] : Object | provenance | MaD:15 | +| Test.java:130:21:130:23 | out : Cache [] : Object | Test.java:41:21:41:35 | container : Cache [] : Object | provenance | | +| Test.java:130:21:130:23 | out : Cache [] : Object | Test.java:130:9:130:24 | getMapValue(...) | provenance | MaD:8 | +| Test.java:135:15:135:44 | new DummyCache(...) : DummyCache [] : Object | Test.java:136:10:136:11 | in : DummyCache [] : Object | provenance | | +| Test.java:135:36:135:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | provenance | | +| Test.java:135:36:135:43 | source(...) : Object | Test.java:135:15:135:44 | new DummyCache(...) : DummyCache [] : Object | provenance | MaD:12 | +| Test.java:136:10:136:11 | in : DummyCache [] : Object | Test.java:136:10:136:35 | putIfAbsent(...) : ValueWrapper [] : Object | provenance | MaD:13 | +| Test.java:136:10:136:35 | putIfAbsent(...) : ValueWrapper [] : Object | Test.java:137:21:137:23 | out : ValueWrapper [] : Object | provenance | | +| Test.java:137:21:137:23 | out : ValueWrapper [] : Object | Test.java:42:21:42:48 | container : ValueWrapper [] : Object | provenance | | +| Test.java:137:21:137:23 | out : ValueWrapper [] : Object | Test.java:137:9:137:24 | getMapValue(...) | provenance | MaD:3 | +| Test.java:137:21:137:23 | out : ValueWrapper [] : Object | Test.java:137:9:137:24 | getMapValue(...) | provenance | MaD:18 | +nodes +| Test.java:13:3:13:14 | parameter this [Return] : ValueWrapper [] : Object | semmle.label | parameter this [Return] : ValueWrapper [] : Object | +| Test.java:13:16:13:29 | element : Object | semmle.label | element : Object | +| Test.java:15:4:15:7 | this [post update] : ValueWrapper [] : Object | semmle.label | this [post update] : ValueWrapper [] : Object | +| Test.java:15:19:15:25 | element : Object | semmle.label | element : Object | +| Test.java:18:17:18:19 | parameter this : ValueWrapper [] : Object | semmle.label | parameter this : ValueWrapper [] : Object | +| Test.java:18:17:18:19 | parameter this : ValueWrapper [] : Object | semmle.label | parameter this : ValueWrapper [] : Object | +| Test.java:18:32:18:35 | this : ValueWrapper [] : Object | semmle.label | this : ValueWrapper [] : Object | +| Test.java:18:32:18:35 | this : ValueWrapper [] : Object | semmle.label | this : ValueWrapper [] : Object | +| Test.java:18:32:18:45 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:18:32:18:45 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:22:3:22:12 | parameter this [Return] : DummyCache [] : Object | semmle.label | parameter this [Return] : DummyCache [] : Object | +| Test.java:22:3:22:12 | parameter this [Return] : DummyCache [] : Object | semmle.label | parameter this [Return] : DummyCache [] : Object | +| Test.java:22:14:22:23 | key : Object | semmle.label | key : Object | +| Test.java:22:26:22:37 | value : Object | semmle.label | value : Object | +| Test.java:23:4:23:7 | this [post update] : DummyCache [] : Object | semmle.label | this [post update] : DummyCache [] : Object | +| Test.java:23:4:23:7 | this [post update] : DummyCache [] : Object | semmle.label | this [post update] : DummyCache [] : Object | +| Test.java:23:13:23:15 | key : Object | semmle.label | key : Object | +| Test.java:23:18:23:22 | value : Object | semmle.label | value : Object | +| Test.java:39:19:39:57 | container : ValueRetrievalException [] : Object | semmle.label | container : ValueRetrievalException [] : Object | +| Test.java:39:69:39:77 | container : ValueRetrievalException [] : Object | semmle.label | container : ValueRetrievalException [] : Object | +| Test.java:39:69:39:86 | getKey(...) : Object | semmle.label | getKey(...) : Object | +| Test.java:40:19:40:33 | container : Cache [] : Object | semmle.label | container : Cache [] : Object | +| Test.java:40:45:40:86 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:40:45:40:97 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:40:45:40:104 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:40:46:40:76 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:40:51:40:59 | container : Cache [] : Object | semmle.label | container : Cache [] : Object | +| Test.java:40:51:40:76 | getNativeCache(...) : Object [] : Object | semmle.label | getNativeCache(...) : Object [] : Object | +| Test.java:41:21:41:35 | container : Cache [] : Object | semmle.label | container : Cache [] : Object | +| Test.java:41:47:41:55 | container : Cache [] : Object | semmle.label | container : Cache [] : Object | +| Test.java:41:47:41:78 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:42:21:42:48 | container : ValueWrapper [] : Object | semmle.label | container : ValueWrapper [] : Object | +| Test.java:42:60:42:68 | container : ValueWrapper [] : Object | semmle.label | container : ValueWrapper [] : Object | +| Test.java:42:60:42:74 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:42:60:42:74 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:51:16:51:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:52:10:52:58 | new ValueRetrievalException(...) : ValueRetrievalException [] : Object | semmle.label | new ValueRetrievalException(...) : ValueRetrievalException [] : Object | +| Test.java:52:44:52:45 | in : Object | semmle.label | in : Object | +| Test.java:53:9:53:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:53:19:53:21 | out : ValueRetrievalException [] : Object | semmle.label | out : ValueRetrievalException [] : Object | +| Test.java:58:39:58:93 | new ValueRetrievalException(...) : ValueRetrievalException [] : Object | semmle.label | new ValueRetrievalException(...) : ValueRetrievalException [] : Object | +| Test.java:58:73:58:80 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:59:10:59:11 | in : ValueRetrievalException [] : Object | semmle.label | in : ValueRetrievalException [] : Object | +| Test.java:59:10:59:20 | getKey(...) : Object | semmle.label | getKey(...) : Object | +| Test.java:60:9:60:11 | out | semmle.label | out | +| Test.java:65:28:65:53 | new ValueWrapper(...) : ValueWrapper [] : Object | semmle.label | new ValueWrapper(...) : ValueWrapper [] : Object | +| Test.java:65:45:65:52 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:66:10:66:11 | in : ValueWrapper [] : Object | semmle.label | in : ValueWrapper [] : Object | +| Test.java:66:10:66:17 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:67:9:67:11 | out | semmle.label | out | +| Test.java:72:15:72:44 | new DummyCache(...) : DummyCache [] : Object | semmle.label | new DummyCache(...) : DummyCache [] : Object | +| Test.java:72:36:72:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:73:10:73:11 | in : DummyCache [] : Object | semmle.label | in : DummyCache [] : Object | +| Test.java:73:10:73:21 | get(...) : ValueWrapper [] : Object | semmle.label | get(...) : ValueWrapper [] : Object | +| Test.java:74:9:74:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:74:21:74:23 | out : ValueWrapper [] : Object | semmle.label | out : ValueWrapper [] : Object | +| Test.java:79:15:79:44 | new DummyCache(...) : DummyCache [] : Object | semmle.label | new DummyCache(...) : DummyCache [] : Object | +| Test.java:79:36:79:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:80:10:80:11 | in : DummyCache [] : Object | semmle.label | in : DummyCache [] : Object | +| Test.java:80:10:80:37 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:81:9:81:11 | out | semmle.label | out | +| Test.java:86:15:86:44 | new DummyCache(...) : DummyCache [] : Object | semmle.label | new DummyCache(...) : DummyCache [] : Object | +| Test.java:86:36:86:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:87:10:87:11 | in : DummyCache [] : Object | semmle.label | in : DummyCache [] : Object | +| Test.java:87:10:87:34 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:88:9:88:11 | out | semmle.label | out | +| Test.java:93:15:93:44 | new DummyCache(...) : DummyCache [] : Object | semmle.label | new DummyCache(...) : DummyCache [] : Object | +| Test.java:93:30:93:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:94:10:94:11 | in : DummyCache [] : Object | semmle.label | in : DummyCache [] : Object | +| Test.java:94:10:94:28 | getNativeCache(...) : Object [] : Object | semmle.label | getNativeCache(...) : Object [] : Object | +| Test.java:95:9:95:29 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:95:19:95:28 | (...)... : Cache [] : Object | semmle.label | (...)... : Cache [] : Object | +| Test.java:100:15:100:44 | new DummyCache(...) : DummyCache [] : Object | semmle.label | new DummyCache(...) : DummyCache [] : Object | +| Test.java:100:36:100:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:101:10:101:11 | in : DummyCache [] : Object | semmle.label | in : DummyCache [] : Object | +| Test.java:101:10:101:28 | getNativeCache(...) : Object [] : Object | semmle.label | getNativeCache(...) : Object [] : Object | +| Test.java:102:9:102:31 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:102:21:102:30 | (...)... : Cache [] : Object | semmle.label | (...)... : Cache [] : Object | +| Test.java:107:16:107:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:108:4:108:6 | out [post update] : Cache [] : Object | semmle.label | out [post update] : Cache [] : Object | +| Test.java:108:12:108:13 | in : Object | semmle.label | in : Object | +| Test.java:109:9:109:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:109:19:109:21 | out : Cache [] : Object | semmle.label | out : Cache [] : Object | +| Test.java:114:16:114:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:115:4:115:6 | out [post update] : Cache [] : Object | semmle.label | out [post update] : Cache [] : Object | +| Test.java:115:18:115:19 | in : Object | semmle.label | in : Object | +| Test.java:116:9:116:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:116:21:116:23 | out : Cache [] : Object | semmle.label | out : Cache [] : Object | +| Test.java:121:16:121:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:122:4:122:6 | out [post update] : Cache [] : Object | semmle.label | out [post update] : Cache [] : Object | +| Test.java:122:20:122:21 | in : Object | semmle.label | in : Object | +| Test.java:123:9:123:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:123:19:123:21 | out : Cache [] : Object | semmle.label | out : Cache [] : Object | +| Test.java:128:16:128:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:129:4:129:6 | out [post update] : Cache [] : Object | semmle.label | out [post update] : Cache [] : Object | +| Test.java:129:26:129:27 | in : Object | semmle.label | in : Object | +| Test.java:130:9:130:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:130:21:130:23 | out : Cache [] : Object | semmle.label | out : Cache [] : Object | +| Test.java:135:15:135:44 | new DummyCache(...) : DummyCache [] : Object | semmle.label | new DummyCache(...) : DummyCache [] : Object | +| Test.java:135:36:135:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:136:10:136:11 | in : DummyCache [] : Object | semmle.label | in : DummyCache [] : Object | +| Test.java:136:10:136:35 | putIfAbsent(...) : ValueWrapper [] : Object | semmle.label | putIfAbsent(...) : ValueWrapper [] : Object | +| Test.java:137:9:137:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:137:21:137:23 | out : ValueWrapper [] : Object | semmle.label | out : ValueWrapper [] : Object | +subpaths +| Test.java:42:60:42:68 | container : ValueWrapper [] : Object | Test.java:18:17:18:19 | parameter this : ValueWrapper [] : Object | Test.java:18:32:18:45 | get(...) : Object | Test.java:42:60:42:74 | get(...) : Object | +| Test.java:42:60:42:68 | container : ValueWrapper [] : Object | Test.java:18:17:18:19 | parameter this : ValueWrapper [] : Object | Test.java:18:32:18:45 | get(...) : Object | Test.java:42:60:42:74 | get(...) : Object | +| Test.java:53:19:53:21 | out : ValueRetrievalException [] : Object | Test.java:39:19:39:57 | container : ValueRetrievalException [] : Object | Test.java:39:69:39:86 | getKey(...) : Object | Test.java:53:9:53:22 | getMapKey(...) | +| Test.java:65:45:65:52 | source(...) : Object | Test.java:13:16:13:29 | element : Object | Test.java:13:3:13:14 | parameter this [Return] : ValueWrapper [] : Object | Test.java:65:28:65:53 | new ValueWrapper(...) : ValueWrapper [] : Object | +| Test.java:66:10:66:11 | in : ValueWrapper [] : Object | Test.java:18:17:18:19 | parameter this : ValueWrapper [] : Object | Test.java:18:32:18:45 | get(...) : Object | Test.java:66:10:66:17 | get(...) : Object | +| Test.java:72:36:72:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [] : Object | Test.java:72:15:72:44 | new DummyCache(...) : DummyCache [] : Object | +| Test.java:74:21:74:23 | out : ValueWrapper [] : Object | Test.java:42:21:42:48 | container : ValueWrapper [] : Object | Test.java:42:60:42:74 | get(...) : Object | Test.java:74:9:74:24 | getMapValue(...) | +| Test.java:74:21:74:23 | out : ValueWrapper [] : Object | Test.java:42:21:42:48 | container : ValueWrapper [] : Object | Test.java:42:60:42:74 | get(...) : Object | Test.java:74:9:74:24 | getMapValue(...) | +| Test.java:79:36:79:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [] : Object | Test.java:79:15:79:44 | new DummyCache(...) : DummyCache [] : Object | +| Test.java:86:36:86:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [] : Object | Test.java:86:15:86:44 | new DummyCache(...) : DummyCache [] : Object | +| Test.java:93:30:93:37 | source(...) : Object | Test.java:22:14:22:23 | key : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [] : Object | Test.java:93:15:93:44 | new DummyCache(...) : DummyCache [] : Object | +| Test.java:95:19:95:28 | (...)... : Cache [] : Object | Test.java:40:19:40:33 | container : Cache [] : Object | Test.java:40:45:40:104 | next(...) : Object | Test.java:95:9:95:29 | getMapKey(...) | +| Test.java:100:36:100:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [] : Object | Test.java:100:15:100:44 | new DummyCache(...) : DummyCache [] : Object | +| Test.java:102:21:102:30 | (...)... : Cache [] : Object | Test.java:41:21:41:35 | container : Cache [] : Object | Test.java:41:47:41:78 | get(...) : Object | Test.java:102:9:102:31 | getMapValue(...) | +| Test.java:109:19:109:21 | out : Cache [] : Object | Test.java:40:19:40:33 | container : Cache [] : Object | Test.java:40:45:40:104 | next(...) : Object | Test.java:109:9:109:22 | getMapKey(...) | +| Test.java:116:21:116:23 | out : Cache [] : Object | Test.java:41:21:41:35 | container : Cache [] : Object | Test.java:41:47:41:78 | get(...) : Object | Test.java:116:9:116:24 | getMapValue(...) | +| Test.java:123:19:123:21 | out : Cache [] : Object | Test.java:40:19:40:33 | container : Cache [] : Object | Test.java:40:45:40:104 | next(...) : Object | Test.java:123:9:123:22 | getMapKey(...) | +| Test.java:130:21:130:23 | out : Cache [] : Object | Test.java:41:21:41:35 | container : Cache [] : Object | Test.java:41:47:41:78 | get(...) : Object | Test.java:130:9:130:24 | getMapValue(...) | +| Test.java:135:36:135:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [] : Object | Test.java:135:15:135:44 | new DummyCache(...) : DummyCache [] : Object | +| Test.java:137:21:137:23 | out : ValueWrapper [] : Object | Test.java:42:21:42:48 | container : ValueWrapper [] : Object | Test.java:42:60:42:74 | get(...) : Object | Test.java:137:9:137:24 | getMapValue(...) | +| Test.java:137:21:137:23 | out : ValueWrapper [] : Object | Test.java:42:21:42:48 | container : ValueWrapper [] : Object | Test.java:42:60:42:74 | get(...) : Object | Test.java:137:9:137:24 | getMapValue(...) | +testFailures diff --git a/java/ql/test/library-tests/frameworks/spring/context/flow.expected b/java/ql/test/library-tests/frameworks/spring/context/flow.expected index e69de29bb2d..b7199cc75be 100644 --- a/java/ql/test/library-tests/frameworks/spring/context/flow.expected +++ b/java/ql/test/library-tests/frameworks/spring/context/flow.expected @@ -0,0 +1,25 @@ +models +| 1 | Summary: org.springframework.context; MessageSource; true; getMessage; (String,Object[],Locale); ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 2 | Summary: org.springframework.context; MessageSource; true; getMessage; (String,Object[],String,Locale); ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 3 | Summary: org.springframework.context; MessageSource; true; getMessage; (String,Object[],String,Locale); ; Argument[2]; ReturnValue; taint; manual | +edges +| Test.java:16:29:16:51 | new String[] : String[] [[]] : String | Test.java:16:8:16:60 | getMessage(...) | provenance | MaD:1 | +| Test.java:16:29:16:51 | {...} : String[] [[]] : String | Test.java:16:29:16:51 | new String[] : String[] [[]] : String | provenance | | +| Test.java:16:43:16:49 | taint(...) : String | Test.java:16:29:16:51 | {...} : String[] [[]] : String | provenance | | +| Test.java:17:29:17:51 | new String[] : String[] [[]] : String | Test.java:17:8:17:64 | getMessage(...) | provenance | MaD:2 | +| Test.java:17:29:17:51 | {...} : String[] [[]] : String | Test.java:17:29:17:51 | new String[] : String[] [[]] : String | provenance | | +| Test.java:17:43:17:49 | taint(...) : String | Test.java:17:29:17:51 | {...} : String[] [[]] : String | provenance | | +| Test.java:18:35:18:41 | taint(...) : String | Test.java:18:8:18:50 | getMessage(...) | provenance | MaD:3 | +nodes +| Test.java:16:8:16:60 | getMessage(...) | semmle.label | getMessage(...) | +| Test.java:16:29:16:51 | new String[] : String[] [[]] : String | semmle.label | new String[] : String[] [[]] : String | +| Test.java:16:29:16:51 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:16:43:16:49 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:17:8:17:64 | getMessage(...) | semmle.label | getMessage(...) | +| Test.java:17:29:17:51 | new String[] : String[] [[]] : String | semmle.label | new String[] : String[] [[]] : String | +| Test.java:17:29:17:51 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:17:43:17:49 | taint(...) : String | semmle.label | taint(...) : String | +| Test.java:18:8:18:50 | getMessage(...) | semmle.label | getMessage(...) | +| Test.java:18:35:18:41 | taint(...) : String | semmle.label | taint(...) : String | +subpaths +testFailures diff --git a/java/ql/test/library-tests/frameworks/spring/data/test.expected b/java/ql/test/library-tests/frameworks/spring/data/test.expected index e69de29bb2d..587bb38c6ce 100644 --- a/java/ql/test/library-tests/frameworks/spring/data/test.expected +++ b/java/ql/test/library-tests/frameworks/spring/data/test.expected @@ -0,0 +1,26 @@ +models +| 1 | Summary: org.springframework.data.repository; CrudRepository; true; save; ; ; Argument[0]; ReturnValue; value; manual | +edges +| Test.java:5:17:5:24 | f : String | Test.java:6:18:6:18 | f : String | provenance | | +| Test.java:6:5:6:8 | this [post update] : Struct [field] : String | Test.java:5:10:5:15 | parameter this [Return] : Struct [field] : String | provenance | | +| Test.java:6:18:6:18 | f : String | Test.java:6:5:6:8 | this [post update] : Struct [field] : String | provenance | | +| Test.java:15:16:15:35 | new Struct(...) : Struct [field] : String | Test.java:16:17:16:17 | s : Struct [field] : String | provenance | | +| Test.java:15:27:15:34 | source(...) : String | Test.java:5:17:5:24 | f : String | provenance | | +| Test.java:15:27:15:34 | source(...) : String | Test.java:15:16:15:35 | new Struct(...) : Struct [field] : String | provenance | | +| Test.java:16:9:16:18 | save(...) : Struct [field] : String | Test.java:17:10:17:10 | s : Struct [field] : String | provenance | | +| Test.java:16:17:16:17 | s : Struct [field] : String | Test.java:16:9:16:18 | save(...) : Struct [field] : String | provenance | MaD:1 | +| Test.java:17:10:17:10 | s : Struct [field] : String | Test.java:17:10:17:16 | s.field | provenance | | +nodes +| Test.java:5:10:5:15 | parameter this [Return] : Struct [field] : String | semmle.label | parameter this [Return] : Struct [field] : String | +| Test.java:5:17:5:24 | f : String | semmle.label | f : String | +| Test.java:6:5:6:8 | this [post update] : Struct [field] : String | semmle.label | this [post update] : Struct [field] : String | +| Test.java:6:18:6:18 | f : String | semmle.label | f : String | +| Test.java:15:16:15:35 | new Struct(...) : Struct [field] : String | semmle.label | new Struct(...) : Struct [field] : String | +| Test.java:15:27:15:34 | source(...) : String | semmle.label | source(...) : String | +| Test.java:16:9:16:18 | save(...) : Struct [field] : String | semmle.label | save(...) : Struct [field] : String | +| Test.java:16:17:16:17 | s : Struct [field] : String | semmle.label | s : Struct [field] : String | +| Test.java:17:10:17:10 | s : Struct [field] : String | semmle.label | s : Struct [field] : String | +| Test.java:17:10:17:16 | s.field | semmle.label | s.field | +subpaths +| Test.java:15:27:15:34 | source(...) : String | Test.java:5:17:5:24 | f : String | Test.java:5:10:5:15 | parameter this [Return] : Struct [field] : String | Test.java:15:16:15:35 | new Struct(...) : Struct [field] : String | +testFailures diff --git a/java/ql/test/library-tests/frameworks/spring/http/flow.expected b/java/ql/test/library-tests/frameworks/spring/http/flow.expected index e69de29bb2d..cdbb49eea8a 100644 --- a/java/ql/test/library-tests/frameworks/spring/http/flow.expected +++ b/java/ql/test/library-tests/frameworks/spring/http/flow.expected @@ -0,0 +1,407 @@ +models +| 1 | Summary: java.util; List; true; get; (int); ; Argument[this].Element; ReturnValue; value; manual | +| 2 | Summary: java.util; List; false; of; (Object[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 3 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 4 | Summary: java.util; Optional; false; of; ; ; Argument[0]; ReturnValue.Element; value; manual | +| 5 | Summary: org.springframework.http; HttpEntity; true; HttpEntity; (MultiValueMap); ; Argument[0].MapKey; Argument[this]; taint; manual | +| 6 | Summary: org.springframework.http; HttpEntity; true; HttpEntity; (MultiValueMap); ; Argument[0].MapValue.Element; Argument[this]; taint; manual | +| 7 | Summary: org.springframework.http; HttpEntity; true; HttpEntity; (Object); ; Argument[0]; Argument[this]; taint; manual | +| 8 | Summary: org.springframework.http; HttpEntity; true; HttpEntity; (Object,MultiValueMap); ; Argument[0]; Argument[this]; taint; manual | +| 9 | Summary: org.springframework.http; HttpEntity; true; HttpEntity; (Object,MultiValueMap); ; Argument[1].MapValue.Element; Argument[this]; taint; manual | +| 10 | Summary: org.springframework.http; HttpEntity; true; getBody; ; ; Argument[this]; ReturnValue; taint; manual | +| 11 | Summary: org.springframework.http; HttpEntity; true; getHeaders; ; ; Argument[this]; ReturnValue; taint; manual | +| 12 | Summary: org.springframework.http; HttpHeaders; true; HttpHeaders; (MultiValueMap); ; Argument[0].MapKey; Argument[this]; taint; manual | +| 13 | Summary: org.springframework.http; HttpHeaders; true; HttpHeaders; (MultiValueMap); ; Argument[0].MapValue.Element; Argument[this]; taint; manual | +| 14 | Summary: org.springframework.http; HttpHeaders; true; add; (String,String); ; Argument[0..1]; Argument[this]; taint; manual | +| 15 | Summary: org.springframework.http; HttpHeaders; true; addAll; (MultiValueMap); ; Argument[0].MapKey; Argument[this]; taint; manual | +| 16 | Summary: org.springframework.http; HttpHeaders; true; addAll; (MultiValueMap); ; Argument[0].MapValue.Element; Argument[this]; taint; manual | +| 17 | Summary: org.springframework.http; HttpHeaders; true; addAll; (String,List); ; Argument[0]; Argument[this]; taint; manual | +| 18 | Summary: org.springframework.http; HttpHeaders; true; addAll; (String,List); ; Argument[1].Element; Argument[this]; taint; manual | +| 19 | Summary: org.springframework.http; HttpHeaders; true; encodeBasicAuth; (String,String,Charset); ; Argument[0..1]; ReturnValue; taint; manual | +| 20 | Summary: org.springframework.http; HttpHeaders; true; formatHeaders; (MultiValueMap); ; Argument[0].MapKey; ReturnValue; taint; manual | +| 21 | Summary: org.springframework.http; HttpHeaders; true; formatHeaders; (MultiValueMap); ; Argument[0].MapValue.Element; ReturnValue; taint; manual | +| 22 | Summary: org.springframework.http; HttpHeaders; true; get; (Object); ; Argument[this]; ReturnValue.Element; taint; manual | +| 23 | Summary: org.springframework.http; HttpHeaders; true; getAccessControlAllowHeaders; (); ; Argument[this]; ReturnValue.Element; taint; manual | +| 24 | Summary: org.springframework.http; HttpHeaders; true; getAccessControlAllowOrigin; (); ; Argument[this]; ReturnValue; taint; manual | +| 25 | Summary: org.springframework.http; HttpHeaders; true; getAccessControlExposeHeaders; (); ; Argument[this]; ReturnValue.Element; taint; manual | +| 26 | Summary: org.springframework.http; HttpHeaders; true; getAccessControlRequestHeaders; (); ; Argument[this]; ReturnValue.Element; taint; manual | +| 27 | Summary: org.springframework.http; HttpHeaders; true; getCacheControl; (); ; Argument[this]; ReturnValue; taint; manual | +| 28 | Summary: org.springframework.http; HttpHeaders; true; getConnection; (); ; Argument[this]; ReturnValue.Element; taint; manual | +| 29 | Summary: org.springframework.http; HttpHeaders; true; getETag; (); ; Argument[this]; ReturnValue; taint; manual | +| 30 | Summary: org.springframework.http; HttpHeaders; true; getFirst; (String); ; Argument[this]; ReturnValue; taint; manual | +| 31 | Summary: org.springframework.http; HttpHeaders; true; getHost; (); ; Argument[this]; ReturnValue; taint; manual | +| 32 | Summary: org.springframework.http; HttpHeaders; true; getIfMatch; (); ; Argument[this]; ReturnValue.Element; taint; manual | +| 33 | Summary: org.springframework.http; HttpHeaders; true; getIfNoneMatch; (); ; Argument[this]; ReturnValue.Element; taint; manual | +| 34 | Summary: org.springframework.http; HttpHeaders; true; getLocation; (); ; Argument[this]; ReturnValue; taint; manual | +| 35 | Summary: org.springframework.http; HttpHeaders; true; getOrEmpty; (Object); ; Argument[this]; ReturnValue.Element; taint; manual | +| 36 | Summary: org.springframework.http; HttpHeaders; true; getOrigin; (); ; Argument[this]; ReturnValue; taint; manual | +| 37 | Summary: org.springframework.http; HttpHeaders; true; getPragma; (); ; Argument[this]; ReturnValue; taint; manual | +| 38 | Summary: org.springframework.http; HttpHeaders; true; getUpgrade; (); ; Argument[this]; ReturnValue; taint; manual | +| 39 | Summary: org.springframework.http; HttpHeaders; true; getValuesAsList; (String); ; Argument[this]; ReturnValue.Element; taint; manual | +| 40 | Summary: org.springframework.http; HttpHeaders; true; getVary; (); ; Argument[this]; ReturnValue.Element; taint; manual | +| 41 | Summary: org.springframework.http; RequestEntity; true; getUrl; (); ; Argument[this]; ReturnValue; taint; manual | +| 42 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (MultiValueMap,HttpStatus); ; Argument[0].MapKey; Argument[this]; taint; manual | +| 43 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (MultiValueMap,HttpStatus); ; Argument[0].MapValue.Element; Argument[this]; taint; manual | +| 44 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (Object,HttpStatus); ; Argument[0]; Argument[this]; taint; manual | +| 45 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (Object,MultiValueMap,HttpStatus); ; Argument[0]; Argument[this]; taint; manual | +| 46 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (Object,MultiValueMap,HttpStatus); ; Argument[1].MapKey; Argument[this]; taint; manual | +| 47 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (Object,MultiValueMap,HttpStatus); ; Argument[1].MapValue.Element; Argument[this]; taint; manual | +| 48 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (Object,MultiValueMap,int); ; Argument[0]; Argument[this]; taint; manual | +| 49 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (Object,MultiValueMap,int); ; Argument[1].MapKey; Argument[this]; taint; manual | +| 50 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (Object,MultiValueMap,int); ; Argument[1].MapValue.Element; Argument[this]; taint; manual | +| 51 | Summary: org.springframework.http; ResponseEntity; true; created; (URI); ; Argument[0]; ReturnValue; taint; manual | +| 52 | Summary: org.springframework.http; ResponseEntity; true; of; (Optional); ; Argument[0].Element; ReturnValue; taint; manual | +| 53 | Summary: org.springframework.http; ResponseEntity; true; ok; (Object); ; Argument[0]; ReturnValue; taint; manual | +| 54 | Summary: org.springframework.http; ResponseEntity$BodyBuilder; true; body; (Object); ; Argument[this]; ReturnValue; taint; manual | +| 55 | Summary: org.springframework.http; ResponseEntity$BodyBuilder; true; body; (Object); ; Argument[0]; ReturnValue; taint; manual | +| 56 | Summary: org.springframework.http; ResponseEntity$BodyBuilder; true; contentType; (MediaType); ; Argument[this]; ReturnValue; value; manual | +| 57 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; allow; (HttpMethod[]); ; Argument[this]; ReturnValue; value; manual | +| 58 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; build; (); ; Argument[this]; ReturnValue; taint; manual | +| 59 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; eTag; (String); ; Argument[this]; ReturnValue; value; manual | +| 60 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; eTag; (String); ; Argument[0]; Argument[this]; taint; manual | +| 61 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; header; (String,String[]); ; Argument[this]; ReturnValue; value; manual | +| 62 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; header; (String,String[]); ; Argument[0]; Argument[this]; taint; manual | +| 63 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; header; (String,String[]); ; Argument[1].ArrayElement; Argument[this]; taint; manual | +| 64 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; headers; (HttpHeaders); ; Argument[this]; ReturnValue; value; manual | +| 65 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; headers; (HttpHeaders); ; Argument[0]; Argument[this]; taint; manual | +| 66 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; lastModified; ; ; Argument[this]; ReturnValue; value; manual | +| 67 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; location; (URI); ; Argument[this]; ReturnValue; value; manual | +| 68 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; location; (URI); ; Argument[0]; Argument[this]; taint; manual | +| 69 | Summary: org.springframework.util; MultiValueMap; true; add; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 70 | Summary: org.springframework.util; MultiValueMap; true; add; ; ; Argument[1]; Argument[this].MapValue.Element; value; manual | +| 71 | Summary: org.springframework.util; MultiValueMap; true; addAll; (java.lang.Object,java.util.List); ; Argument[1].Element; Argument[this].MapValue.Element; value; manual | +| 72 | Summary: org.springframework.util; MultiValueMap; true; addAll; (org.springframework.util.MultiValueMap); ; Argument[0].MapValue.Element; Argument[this].MapValue.Element; value; manual | +| 73 | Summary: org.springframework.util; MultiValueMap; true; getFirst; ; ; Argument[this].MapValue.Element; ReturnValue; value; manual | +edges +| TestHttp.java:16:20:16:26 | taint(...) : String | TestHttp.java:17:29:17:29 | x : String | provenance | | +| TestHttp.java:16:20:16:26 | taint(...) : String | TestHttp.java:20:29:20:29 | x : String | provenance | | +| TestHttp.java:17:29:17:29 | x : String | TestHttp.java:17:14:17:30 | new HttpEntity<>(...) | provenance | MaD:7 | +| TestHttp.java:20:29:20:29 | x : String | TestHttp.java:20:14:20:34 | new HttpEntity<>(...) | provenance | MaD:8 | +| TestHttp.java:22:9:22:10 | m1 [post update] : LinkedMultiValueMap [, ] : String | TestHttp.java:23:34:23:35 | m1 : LinkedMultiValueMap [, ] : String | provenance | | +| TestHttp.java:22:9:22:10 | m1 [post update] : LinkedMultiValueMap [, ] : String | TestHttp.java:24:37:24:38 | m1 : LinkedMultiValueMap [, ] : String | provenance | | +| TestHttp.java:22:21:22:27 | taint(...) : String | TestHttp.java:22:9:22:10 | m1 [post update] : LinkedMultiValueMap [, ] : String | provenance | MaD:70 | +| TestHttp.java:23:34:23:35 | m1 : LinkedMultiValueMap [, ] : String | TestHttp.java:23:14:23:36 | new HttpEntity<>(...) | provenance | MaD:9 | +| TestHttp.java:24:37:24:38 | m1 : LinkedMultiValueMap [, ] : String | TestHttp.java:24:14:24:39 | new HttpEntity(...) | provenance | MaD:6 | +| TestHttp.java:27:9:27:10 | m2 [post update] : LinkedMultiValueMap [] : String | TestHttp.java:28:37:28:38 | m2 : LinkedMultiValueMap [] : String | provenance | | +| TestHttp.java:27:16:27:22 | taint(...) : String | TestHttp.java:27:9:27:10 | m2 [post update] : LinkedMultiValueMap [] : String | provenance | MaD:69 | +| TestHttp.java:28:37:28:38 | m2 : LinkedMultiValueMap [] : String | TestHttp.java:28:14:28:39 | new HttpEntity(...) | provenance | MaD:5 | +| TestHttp.java:30:34:30:40 | taint(...) : HttpEntity | TestHttp.java:31:14:31:16 | ent : HttpEntity | provenance | | +| TestHttp.java:30:34:30:40 | taint(...) : HttpEntity | TestHttp.java:32:14:32:16 | ent : HttpEntity | provenance | | +| TestHttp.java:31:14:31:16 | ent : HttpEntity | TestHttp.java:31:14:31:26 | getBody(...) | provenance | MaD:10 | +| TestHttp.java:32:14:32:16 | ent : HttpEntity | TestHttp.java:32:14:32:29 | getHeaders(...) | provenance | MaD:11 | +| TestHttp.java:34:37:34:43 | taint(...) : RequestEntity | TestHttp.java:35:14:35:16 | req : RequestEntity | provenance | | +| TestHttp.java:35:14:35:16 | req : RequestEntity | TestHttp.java:35:14:35:25 | getUrl(...) | provenance | MaD:41 | +| TestHttp.java:39:20:39:26 | taint(...) : String | TestHttp.java:40:14:40:33 | ok(...) | provenance | SpringResponseEntity | +| TestHttp.java:39:20:39:26 | taint(...) : String | TestHttp.java:40:32:40:32 | x : String | provenance | | +| TestHttp.java:39:20:39:26 | taint(...) : String | TestHttp.java:41:44:41:44 | x : String | provenance | | +| TestHttp.java:39:20:39:26 | taint(...) : String | TestHttp.java:43:14:43:67 | body(...) | provenance | SpringResponseEntityBodyBuilder | +| TestHttp.java:39:20:39:26 | taint(...) : String | TestHttp.java:43:66:43:66 | x : String | provenance | | +| TestHttp.java:39:20:39:26 | taint(...) : String | TestHttp.java:45:48:45:48 | x : String | provenance | | +| TestHttp.java:39:20:39:26 | taint(...) : String | TestHttp.java:46:63:46:63 | x : String | provenance | | +| TestHttp.java:39:20:39:26 | taint(...) : String | TestHttp.java:50:46:50:46 | x : String | provenance | | +| TestHttp.java:40:32:40:32 | x : String | TestHttp.java:40:14:40:33 | ok(...) | provenance | MaD:53 | +| TestHttp.java:41:32:41:45 | of(...) : Optional [] : String | TestHttp.java:41:14:41:46 | of(...) | provenance | MaD:52 | +| TestHttp.java:41:44:41:44 | x : String | TestHttp.java:41:32:41:45 | of(...) : Optional [] : String | provenance | MaD:4 | +| TestHttp.java:43:66:43:66 | x : String | TestHttp.java:43:14:43:67 | body(...) | provenance | MaD:55 | +| TestHttp.java:44:14:44:44 | created(...) : BodyBuilder | TestHttp.java:44:14:44:62 | contentType(...) : BodyBuilder | provenance | MaD:56 | +| TestHttp.java:44:14:44:62 | contentType(...) : BodyBuilder | TestHttp.java:44:14:44:72 | body(...) | provenance | MaD:54 | +| TestHttp.java:44:37:44:43 | taint(...) : URI | TestHttp.java:44:14:44:44 | created(...) : BodyBuilder | provenance | MaD:51 | +| TestHttp.java:45:14:45:64 | header(...) : BodyBuilder | TestHttp.java:45:14:45:72 | build(...) | provenance | MaD:58 | +| TestHttp.java:45:48:45:48 | x : String | TestHttp.java:45:14:45:64 | header(...) : BodyBuilder | provenance | MaD:62+MaD:61 | +| TestHttp.java:46:14:46:64 | header(...) : BodyBuilder | TestHttp.java:46:14:46:72 | build(...) | provenance | MaD:58 | +| TestHttp.java:46:14:46:64 | new ..[] { .. } : String[] [[]] : String | TestHttp.java:46:14:46:64 | header(...) : BodyBuilder | provenance | MaD:63+MaD:61 | +| TestHttp.java:46:63:46:63 | x : String | TestHttp.java:46:14:46:64 | new ..[] { .. } : String[] [[]] : String | provenance | | +| TestHttp.java:48:9:48:9 | h [post update] : HttpHeaders | TestHttp.java:49:49:49:49 | h : HttpHeaders | provenance | | +| TestHttp.java:48:20:48:26 | taint(...) : String | TestHttp.java:48:9:48:9 | h [post update] : HttpHeaders | provenance | MaD:14 | +| TestHttp.java:49:14:49:50 | headers(...) : BodyBuilder | TestHttp.java:49:14:49:58 | allow(...) : BodyBuilder | provenance | MaD:57 | +| TestHttp.java:49:14:49:58 | allow(...) : BodyBuilder | TestHttp.java:49:14:49:66 | build(...) | provenance | MaD:58 | +| TestHttp.java:49:49:49:49 | h : HttpHeaders | TestHttp.java:49:14:49:50 | headers(...) : BodyBuilder | provenance | MaD:65+MaD:64 | +| TestHttp.java:50:14:50:47 | eTag(...) : BodyBuilder | TestHttp.java:50:14:50:55 | allow(...) : BodyBuilder | provenance | MaD:57 | +| TestHttp.java:50:14:50:55 | allow(...) : BodyBuilder | TestHttp.java:50:14:50:63 | build(...) | provenance | MaD:58 | +| TestHttp.java:50:46:50:46 | x : String | TestHttp.java:50:14:50:47 | eTag(...) : BodyBuilder | provenance | MaD:60+MaD:59 | +| TestHttp.java:51:14:51:57 | location(...) : BodyBuilder | TestHttp.java:51:14:51:80 | lastModified(...) : BodyBuilder | provenance | MaD:66 | +| TestHttp.java:51:14:51:80 | lastModified(...) : BodyBuilder | TestHttp.java:51:14:51:88 | build(...) | provenance | MaD:58 | +| TestHttp.java:51:50:51:56 | taint(...) : URI | TestHttp.java:51:14:51:57 | location(...) : BodyBuilder | provenance | MaD:68+MaD:67 | +| TestHttp.java:56:20:56:26 | taint(...) : String | TestHttp.java:59:33:59:33 | x : String | provenance | | +| TestHttp.java:56:20:56:26 | taint(...) : String | TestHttp.java:60:33:60:33 | x : String | provenance | | +| TestHttp.java:56:20:56:26 | taint(...) : String | TestHttp.java:61:33:61:33 | x : String | provenance | | +| TestHttp.java:59:33:59:33 | x : String | TestHttp.java:59:14:59:55 | new ResponseEntity<>(...) | provenance | MaD:44 | +| TestHttp.java:60:33:60:33 | x : String | TestHttp.java:60:14:60:59 | new ResponseEntity<>(...) | provenance | MaD:45 | +| TestHttp.java:61:33:61:33 | x : String | TestHttp.java:61:14:61:43 | new ResponseEntity<>(...) | provenance | MaD:48 | +| TestHttp.java:63:9:63:10 | m1 [post update] : LinkedMultiValueMap [, ] : String | TestHttp.java:64:38:64:39 | m1 : LinkedMultiValueMap [, ] : String | provenance | | +| TestHttp.java:63:9:63:10 | m1 [post update] : LinkedMultiValueMap [, ] : String | TestHttp.java:65:41:65:42 | m1 : LinkedMultiValueMap [, ] : String | provenance | | +| TestHttp.java:63:9:63:10 | m1 [post update] : LinkedMultiValueMap [, ] : String | TestHttp.java:66:38:66:39 | m1 : LinkedMultiValueMap [, ] : String | provenance | | +| TestHttp.java:63:21:63:27 | taint(...) : String | TestHttp.java:63:9:63:10 | m1 [post update] : LinkedMultiValueMap [, ] : String | provenance | MaD:70 | +| TestHttp.java:64:38:64:39 | m1 : LinkedMultiValueMap [, ] : String | TestHttp.java:64:14:64:61 | new ResponseEntity<>(...) | provenance | MaD:47 | +| TestHttp.java:65:41:65:42 | m1 : LinkedMultiValueMap [, ] : String | TestHttp.java:65:14:65:64 | new ResponseEntity(...) | provenance | MaD:43 | +| TestHttp.java:66:38:66:39 | m1 : LinkedMultiValueMap [, ] : String | TestHttp.java:66:14:66:45 | new ResponseEntity<>(...) | provenance | MaD:50 | +| TestHttp.java:69:9:69:10 | m2 [post update] : LinkedMultiValueMap [] : String | TestHttp.java:70:38:70:39 | m2 : LinkedMultiValueMap [] : String | provenance | | +| TestHttp.java:69:9:69:10 | m2 [post update] : LinkedMultiValueMap [] : String | TestHttp.java:71:41:71:42 | m2 : LinkedMultiValueMap [] : String | provenance | | +| TestHttp.java:69:9:69:10 | m2 [post update] : LinkedMultiValueMap [] : String | TestHttp.java:72:38:72:39 | m2 : LinkedMultiValueMap [] : String | provenance | | +| TestHttp.java:69:16:69:22 | taint(...) : String | TestHttp.java:69:9:69:10 | m2 [post update] : LinkedMultiValueMap [] : String | provenance | MaD:69 | +| TestHttp.java:70:38:70:39 | m2 : LinkedMultiValueMap [] : String | TestHttp.java:70:14:70:61 | new ResponseEntity<>(...) | provenance | MaD:46 | +| TestHttp.java:71:41:71:42 | m2 : LinkedMultiValueMap [] : String | TestHttp.java:71:14:71:64 | new ResponseEntity(...) | provenance | MaD:42 | +| TestHttp.java:72:38:72:39 | m2 : LinkedMultiValueMap [] : String | TestHttp.java:72:14:72:45 | new ResponseEntity<>(...) | provenance | MaD:49 | +| TestHttp.java:74:38:74:44 | taint(...) : ResponseEntity | TestHttp.java:75:14:75:16 | ent : ResponseEntity | provenance | | +| TestHttp.java:74:38:74:44 | taint(...) : ResponseEntity | TestHttp.java:76:14:76:16 | ent : ResponseEntity | provenance | | +| TestHttp.java:75:14:75:16 | ent : ResponseEntity | TestHttp.java:75:14:75:26 | getBody(...) | provenance | MaD:10 | +| TestHttp.java:76:14:76:16 | ent : ResponseEntity | TestHttp.java:76:14:76:29 | getHeaders(...) | provenance | MaD:11 | +| TestHttp.java:81:9:81:10 | m1 [post update] : LinkedMultiValueMap [, ] : String | TestHttp.java:82:30:82:31 | m1 : LinkedMultiValueMap [, ] : String | provenance | | +| TestHttp.java:81:9:81:10 | m1 [post update] : LinkedMultiValueMap [, ] : String | TestHttp.java:97:19:97:20 | m1 : LinkedMultiValueMap [, ] : String | provenance | | +| TestHttp.java:81:9:81:10 | m1 [post update] : LinkedMultiValueMap [, ] : String | TestHttp.java:112:40:112:41 | m1 : LinkedMultiValueMap [, ] : String | provenance | | +| TestHttp.java:81:21:81:27 | taint(...) : String | TestHttp.java:81:9:81:10 | m1 [post update] : LinkedMultiValueMap [, ] : String | provenance | MaD:70 | +| TestHttp.java:82:30:82:31 | m1 : LinkedMultiValueMap [, ] : String | TestHttp.java:82:14:82:32 | new HttpHeaders(...) | provenance | MaD:13 | +| TestHttp.java:85:9:85:10 | m2 [post update] : LinkedMultiValueMap [] : String | TestHttp.java:86:30:86:31 | m2 : LinkedMultiValueMap [] : String | provenance | | +| TestHttp.java:85:9:85:10 | m2 [post update] : LinkedMultiValueMap [] : String | TestHttp.java:101:19:101:20 | m2 : LinkedMultiValueMap [] : String | provenance | | +| TestHttp.java:85:9:85:10 | m2 [post update] : LinkedMultiValueMap [] : String | TestHttp.java:113:40:113:41 | m2 : LinkedMultiValueMap [] : String | provenance | | +| TestHttp.java:85:16:85:22 | taint(...) : String | TestHttp.java:85:9:85:10 | m2 [post update] : LinkedMultiValueMap [] : String | provenance | MaD:69 | +| TestHttp.java:86:30:86:31 | m2 : LinkedMultiValueMap [] : String | TestHttp.java:86:14:86:32 | new HttpHeaders(...) | provenance | MaD:12 | +| TestHttp.java:89:9:89:10 | h1 [post update] : HttpHeaders | TestHttp.java:90:14:90:15 | h1 | provenance | | +| TestHttp.java:89:16:89:22 | taint(...) : String | TestHttp.java:89:9:89:10 | h1 [post update] : HttpHeaders | provenance | MaD:14 | +| TestHttp.java:93:9:93:10 | h2 [post update] : HttpHeaders | TestHttp.java:94:14:94:15 | h2 | provenance | | +| TestHttp.java:93:9:93:10 | h2 [post update] : HttpHeaders [, ] : String | TestHttp.java:94:14:94:15 | h2 | provenance | | +| TestHttp.java:93:21:93:27 | taint(...) : String | TestHttp.java:93:9:93:10 | h2 [post update] : HttpHeaders | provenance | MaD:14 | +| TestHttp.java:93:21:93:27 | taint(...) : String | TestHttp.java:93:9:93:10 | h2 [post update] : HttpHeaders [, ] : String | provenance | MaD:70 | +| TestHttp.java:97:9:97:10 | h3 [post update] : HttpHeaders | TestHttp.java:98:14:98:15 | h3 | provenance | | +| TestHttp.java:97:9:97:10 | h3 [post update] : HttpHeaders [, ] : String | TestHttp.java:98:14:98:15 | h3 | provenance | | +| TestHttp.java:97:19:97:20 | m1 : LinkedMultiValueMap [, ] : String | TestHttp.java:97:9:97:10 | h3 [post update] : HttpHeaders | provenance | MaD:16 | +| TestHttp.java:97:19:97:20 | m1 : LinkedMultiValueMap [, ] : String | TestHttp.java:97:9:97:10 | h3 [post update] : HttpHeaders [, ] : String | provenance | MaD:72 | +| TestHttp.java:101:9:101:10 | h4 [post update] : HttpHeaders | TestHttp.java:102:14:102:15 | h4 | provenance | | +| TestHttp.java:101:19:101:20 | m2 : LinkedMultiValueMap [] : String | TestHttp.java:101:9:101:10 | h4 [post update] : HttpHeaders | provenance | MaD:15 | +| TestHttp.java:105:9:105:10 | h5 [post update] : HttpHeaders | TestHttp.java:106:14:106:15 | h5 | provenance | | +| TestHttp.java:105:19:105:25 | taint(...) : String | TestHttp.java:105:9:105:10 | h5 [post update] : HttpHeaders | provenance | MaD:17 | +| TestHttp.java:109:9:109:10 | h6 [post update] : HttpHeaders | TestHttp.java:110:14:110:15 | h6 | provenance | | +| TestHttp.java:109:9:109:10 | h6 [post update] : HttpHeaders [, ] : Object | TestHttp.java:110:14:110:15 | h6 | provenance | | +| TestHttp.java:109:24:109:39 | of(...) : List [] : Object | TestHttp.java:109:9:109:10 | h6 [post update] : HttpHeaders | provenance | MaD:18 | +| TestHttp.java:109:24:109:39 | of(...) : List [] : Object | TestHttp.java:109:9:109:10 | h6 [post update] : HttpHeaders [, ] : Object | provenance | MaD:71 | +| TestHttp.java:109:32:109:38 | taint(...) : String[] | TestHttp.java:109:24:109:39 | of(...) : List [] : Object | provenance | MaD:2 | +| TestHttp.java:112:40:112:41 | m1 : LinkedMultiValueMap [, ] : String | TestHttp.java:112:14:112:42 | formatHeaders(...) | provenance | MaD:21 | +| TestHttp.java:113:40:113:41 | m2 : LinkedMultiValueMap [] : String | TestHttp.java:113:14:113:42 | formatHeaders(...) | provenance | MaD:20 | +| TestHttp.java:115:42:115:48 | taint(...) : String | TestHttp.java:115:14:115:60 | encodeBasicAuth(...) | provenance | MaD:19 | +| TestHttp.java:116:47:116:53 | taint(...) : String | TestHttp.java:116:14:116:60 | encodeBasicAuth(...) | provenance | MaD:19 | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:122:14:122:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:128:14:128:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:130:14:130:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:131:14:131:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:133:14:133:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:136:14:136:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:137:14:137:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:143:14:143:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:145:14:145:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:148:14:148:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:149:14:149:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:151:14:151:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:154:14:154:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:155:14:155:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:156:14:156:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:157:14:157:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:158:14:158:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:159:14:159:14 | h : HttpHeaders | provenance | | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:160:14:160:14 | h : HttpHeaders | provenance | | +| TestHttp.java:122:14:122:14 | h : HttpHeaders | TestHttp.java:122:14:122:24 | get(...) : List | provenance | MaD:3 | +| TestHttp.java:122:14:122:14 | h : HttpHeaders | TestHttp.java:122:14:122:24 | get(...) : List [] : Object | provenance | MaD:22 | +| TestHttp.java:122:14:122:24 | get(...) : List | TestHttp.java:122:14:122:31 | get(...) | provenance | MaD:1 | +| TestHttp.java:122:14:122:24 | get(...) : List [] : Object | TestHttp.java:122:14:122:31 | get(...) | provenance | MaD:1 | +| TestHttp.java:128:14:128:14 | h : HttpHeaders | TestHttp.java:128:14:128:45 | getAccessControlAllowHeaders(...) : List [] : Object | provenance | MaD:23 | +| TestHttp.java:128:14:128:45 | getAccessControlAllowHeaders(...) : List [] : Object | TestHttp.java:128:14:128:52 | get(...) | provenance | MaD:1 | +| TestHttp.java:130:14:130:14 | h : HttpHeaders | TestHttp.java:130:14:130:44 | getAccessControlAllowOrigin(...) | provenance | MaD:24 | +| TestHttp.java:131:14:131:14 | h : HttpHeaders | TestHttp.java:131:14:131:46 | getAccessControlExposeHeaders(...) : List [] : Object | provenance | MaD:25 | +| TestHttp.java:131:14:131:46 | getAccessControlExposeHeaders(...) : List [] : Object | TestHttp.java:131:14:131:53 | get(...) | provenance | MaD:1 | +| TestHttp.java:133:14:133:14 | h : HttpHeaders | TestHttp.java:133:14:133:47 | getAccessControlRequestHeaders(...) : List [] : Object | provenance | MaD:26 | +| TestHttp.java:133:14:133:47 | getAccessControlRequestHeaders(...) : List [] : Object | TestHttp.java:133:14:133:54 | get(...) | provenance | MaD:1 | +| TestHttp.java:136:14:136:14 | h : HttpHeaders | TestHttp.java:136:14:136:32 | getCacheControl(...) | provenance | MaD:27 | +| TestHttp.java:137:14:137:14 | h : HttpHeaders | TestHttp.java:137:14:137:30 | getConnection(...) : List [] : Object | provenance | MaD:28 | +| TestHttp.java:137:14:137:30 | getConnection(...) : List [] : Object | TestHttp.java:137:14:137:37 | get(...) | provenance | MaD:1 | +| TestHttp.java:143:14:143:14 | h : HttpHeaders | TestHttp.java:143:14:143:24 | getETag(...) | provenance | MaD:29 | +| TestHttp.java:145:14:145:14 | h : HttpHeaders | TestHttp.java:145:14:145:28 | getFirst(...) | provenance | MaD:30 | +| TestHttp.java:145:14:145:14 | h : HttpHeaders | TestHttp.java:145:14:145:28 | getFirst(...) | provenance | MaD:73 | +| TestHttp.java:148:14:148:14 | h : HttpHeaders | TestHttp.java:148:14:148:24 | getHost(...) | provenance | MaD:31 | +| TestHttp.java:149:14:149:14 | h : HttpHeaders | TestHttp.java:149:14:149:27 | getIfMatch(...) : List [] : Object | provenance | MaD:32 | +| TestHttp.java:149:14:149:27 | getIfMatch(...) : List [] : Object | TestHttp.java:149:14:149:34 | get(...) | provenance | MaD:1 | +| TestHttp.java:151:14:151:14 | h : HttpHeaders | TestHttp.java:151:14:151:31 | getIfNoneMatch(...) : List [] : Object | provenance | MaD:33 | +| TestHttp.java:151:14:151:31 | getIfNoneMatch(...) : List [] : Object | TestHttp.java:151:14:151:38 | get(...) | provenance | MaD:1 | +| TestHttp.java:154:14:154:14 | h : HttpHeaders | TestHttp.java:154:14:154:28 | getLocation(...) | provenance | MaD:34 | +| TestHttp.java:155:14:155:14 | h : HttpHeaders | TestHttp.java:155:14:155:30 | getOrEmpty(...) : List [] : Object | provenance | MaD:35 | +| TestHttp.java:155:14:155:30 | getOrEmpty(...) : List [] : Object | TestHttp.java:155:14:155:37 | get(...) | provenance | MaD:1 | +| TestHttp.java:156:14:156:14 | h : HttpHeaders | TestHttp.java:156:14:156:26 | getOrigin(...) | provenance | MaD:36 | +| TestHttp.java:157:14:157:14 | h : HttpHeaders | TestHttp.java:157:14:157:26 | getPragma(...) | provenance | MaD:37 | +| TestHttp.java:158:14:158:14 | h : HttpHeaders | TestHttp.java:158:14:158:27 | getUpgrade(...) | provenance | MaD:38 | +| TestHttp.java:159:14:159:14 | h : HttpHeaders | TestHttp.java:159:14:159:35 | getValuesAsList(...) : List [] : Object | provenance | MaD:39 | +| TestHttp.java:159:14:159:35 | getValuesAsList(...) : List [] : Object | TestHttp.java:159:14:159:42 | get(...) | provenance | MaD:1 | +| TestHttp.java:160:14:160:14 | h : HttpHeaders | TestHttp.java:160:14:160:24 | getVary(...) : List [] : Object | provenance | MaD:40 | +| TestHttp.java:160:14:160:24 | getVary(...) : List [] : Object | TestHttp.java:160:14:160:31 | get(...) | provenance | MaD:1 | +nodes +| TestHttp.java:16:20:16:26 | taint(...) : String | semmle.label | taint(...) : String | +| TestHttp.java:17:14:17:30 | new HttpEntity<>(...) | semmle.label | new HttpEntity<>(...) | +| TestHttp.java:17:29:17:29 | x : String | semmle.label | x : String | +| TestHttp.java:20:14:20:34 | new HttpEntity<>(...) | semmle.label | new HttpEntity<>(...) | +| TestHttp.java:20:29:20:29 | x : String | semmle.label | x : String | +| TestHttp.java:22:9:22:10 | m1 [post update] : LinkedMultiValueMap [, ] : String | semmle.label | m1 [post update] : LinkedMultiValueMap [, ] : String | +| TestHttp.java:22:21:22:27 | taint(...) : String | semmle.label | taint(...) : String | +| TestHttp.java:23:14:23:36 | new HttpEntity<>(...) | semmle.label | new HttpEntity<>(...) | +| TestHttp.java:23:34:23:35 | m1 : LinkedMultiValueMap [, ] : String | semmle.label | m1 : LinkedMultiValueMap [, ] : String | +| TestHttp.java:24:14:24:39 | new HttpEntity(...) | semmle.label | new HttpEntity(...) | +| TestHttp.java:24:37:24:38 | m1 : LinkedMultiValueMap [, ] : String | semmle.label | m1 : LinkedMultiValueMap [, ] : String | +| TestHttp.java:27:9:27:10 | m2 [post update] : LinkedMultiValueMap [] : String | semmle.label | m2 [post update] : LinkedMultiValueMap [] : String | +| TestHttp.java:27:16:27:22 | taint(...) : String | semmle.label | taint(...) : String | +| TestHttp.java:28:14:28:39 | new HttpEntity(...) | semmle.label | new HttpEntity(...) | +| TestHttp.java:28:37:28:38 | m2 : LinkedMultiValueMap [] : String | semmle.label | m2 : LinkedMultiValueMap [] : String | +| TestHttp.java:30:34:30:40 | taint(...) : HttpEntity | semmle.label | taint(...) : HttpEntity | +| TestHttp.java:31:14:31:16 | ent : HttpEntity | semmle.label | ent : HttpEntity | +| TestHttp.java:31:14:31:26 | getBody(...) | semmle.label | getBody(...) | +| TestHttp.java:32:14:32:16 | ent : HttpEntity | semmle.label | ent : HttpEntity | +| TestHttp.java:32:14:32:29 | getHeaders(...) | semmle.label | getHeaders(...) | +| TestHttp.java:34:37:34:43 | taint(...) : RequestEntity | semmle.label | taint(...) : RequestEntity | +| TestHttp.java:35:14:35:16 | req : RequestEntity | semmle.label | req : RequestEntity | +| TestHttp.java:35:14:35:25 | getUrl(...) | semmle.label | getUrl(...) | +| TestHttp.java:39:20:39:26 | taint(...) : String | semmle.label | taint(...) : String | +| TestHttp.java:40:14:40:33 | ok(...) | semmle.label | ok(...) | +| TestHttp.java:40:32:40:32 | x : String | semmle.label | x : String | +| TestHttp.java:41:14:41:46 | of(...) | semmle.label | of(...) | +| TestHttp.java:41:32:41:45 | of(...) : Optional [] : String | semmle.label | of(...) : Optional [] : String | +| TestHttp.java:41:44:41:44 | x : String | semmle.label | x : String | +| TestHttp.java:43:14:43:67 | body(...) | semmle.label | body(...) | +| TestHttp.java:43:66:43:66 | x : String | semmle.label | x : String | +| TestHttp.java:44:14:44:44 | created(...) : BodyBuilder | semmle.label | created(...) : BodyBuilder | +| TestHttp.java:44:14:44:62 | contentType(...) : BodyBuilder | semmle.label | contentType(...) : BodyBuilder | +| TestHttp.java:44:14:44:72 | body(...) | semmle.label | body(...) | +| TestHttp.java:44:37:44:43 | taint(...) : URI | semmle.label | taint(...) : URI | +| TestHttp.java:45:14:45:64 | header(...) : BodyBuilder | semmle.label | header(...) : BodyBuilder | +| TestHttp.java:45:14:45:72 | build(...) | semmle.label | build(...) | +| TestHttp.java:45:48:45:48 | x : String | semmle.label | x : String | +| TestHttp.java:46:14:46:64 | header(...) : BodyBuilder | semmle.label | header(...) : BodyBuilder | +| TestHttp.java:46:14:46:64 | new ..[] { .. } : String[] [[]] : String | semmle.label | new ..[] { .. } : String[] [[]] : String | +| TestHttp.java:46:14:46:72 | build(...) | semmle.label | build(...) | +| TestHttp.java:46:63:46:63 | x : String | semmle.label | x : String | +| TestHttp.java:48:9:48:9 | h [post update] : HttpHeaders | semmle.label | h [post update] : HttpHeaders | +| TestHttp.java:48:20:48:26 | taint(...) : String | semmle.label | taint(...) : String | +| TestHttp.java:49:14:49:50 | headers(...) : BodyBuilder | semmle.label | headers(...) : BodyBuilder | +| TestHttp.java:49:14:49:58 | allow(...) : BodyBuilder | semmle.label | allow(...) : BodyBuilder | +| TestHttp.java:49:14:49:66 | build(...) | semmle.label | build(...) | +| TestHttp.java:49:49:49:49 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:50:14:50:47 | eTag(...) : BodyBuilder | semmle.label | eTag(...) : BodyBuilder | +| TestHttp.java:50:14:50:55 | allow(...) : BodyBuilder | semmle.label | allow(...) : BodyBuilder | +| TestHttp.java:50:14:50:63 | build(...) | semmle.label | build(...) | +| TestHttp.java:50:46:50:46 | x : String | semmle.label | x : String | +| TestHttp.java:51:14:51:57 | location(...) : BodyBuilder | semmle.label | location(...) : BodyBuilder | +| TestHttp.java:51:14:51:80 | lastModified(...) : BodyBuilder | semmle.label | lastModified(...) : BodyBuilder | +| TestHttp.java:51:14:51:88 | build(...) | semmle.label | build(...) | +| TestHttp.java:51:50:51:56 | taint(...) : URI | semmle.label | taint(...) : URI | +| TestHttp.java:56:20:56:26 | taint(...) : String | semmle.label | taint(...) : String | +| TestHttp.java:59:14:59:55 | new ResponseEntity<>(...) | semmle.label | new ResponseEntity<>(...) | +| TestHttp.java:59:33:59:33 | x : String | semmle.label | x : String | +| TestHttp.java:60:14:60:59 | new ResponseEntity<>(...) | semmle.label | new ResponseEntity<>(...) | +| TestHttp.java:60:33:60:33 | x : String | semmle.label | x : String | +| TestHttp.java:61:14:61:43 | new ResponseEntity<>(...) | semmle.label | new ResponseEntity<>(...) | +| TestHttp.java:61:33:61:33 | x : String | semmle.label | x : String | +| TestHttp.java:63:9:63:10 | m1 [post update] : LinkedMultiValueMap [, ] : String | semmle.label | m1 [post update] : LinkedMultiValueMap [, ] : String | +| TestHttp.java:63:21:63:27 | taint(...) : String | semmle.label | taint(...) : String | +| TestHttp.java:64:14:64:61 | new ResponseEntity<>(...) | semmle.label | new ResponseEntity<>(...) | +| TestHttp.java:64:38:64:39 | m1 : LinkedMultiValueMap [, ] : String | semmle.label | m1 : LinkedMultiValueMap [, ] : String | +| TestHttp.java:65:14:65:64 | new ResponseEntity(...) | semmle.label | new ResponseEntity(...) | +| TestHttp.java:65:41:65:42 | m1 : LinkedMultiValueMap [, ] : String | semmle.label | m1 : LinkedMultiValueMap [, ] : String | +| TestHttp.java:66:14:66:45 | new ResponseEntity<>(...) | semmle.label | new ResponseEntity<>(...) | +| TestHttp.java:66:38:66:39 | m1 : LinkedMultiValueMap [, ] : String | semmle.label | m1 : LinkedMultiValueMap [, ] : String | +| TestHttp.java:69:9:69:10 | m2 [post update] : LinkedMultiValueMap [] : String | semmle.label | m2 [post update] : LinkedMultiValueMap [] : String | +| TestHttp.java:69:16:69:22 | taint(...) : String | semmle.label | taint(...) : String | +| TestHttp.java:70:14:70:61 | new ResponseEntity<>(...) | semmle.label | new ResponseEntity<>(...) | +| TestHttp.java:70:38:70:39 | m2 : LinkedMultiValueMap [] : String | semmle.label | m2 : LinkedMultiValueMap [] : String | +| TestHttp.java:71:14:71:64 | new ResponseEntity(...) | semmle.label | new ResponseEntity(...) | +| TestHttp.java:71:41:71:42 | m2 : LinkedMultiValueMap [] : String | semmle.label | m2 : LinkedMultiValueMap [] : String | +| TestHttp.java:72:14:72:45 | new ResponseEntity<>(...) | semmle.label | new ResponseEntity<>(...) | +| TestHttp.java:72:38:72:39 | m2 : LinkedMultiValueMap [] : String | semmle.label | m2 : LinkedMultiValueMap [] : String | +| TestHttp.java:74:38:74:44 | taint(...) : ResponseEntity | semmle.label | taint(...) : ResponseEntity | +| TestHttp.java:75:14:75:16 | ent : ResponseEntity | semmle.label | ent : ResponseEntity | +| TestHttp.java:75:14:75:26 | getBody(...) | semmle.label | getBody(...) | +| TestHttp.java:76:14:76:16 | ent : ResponseEntity | semmle.label | ent : ResponseEntity | +| TestHttp.java:76:14:76:29 | getHeaders(...) | semmle.label | getHeaders(...) | +| TestHttp.java:81:9:81:10 | m1 [post update] : LinkedMultiValueMap [, ] : String | semmle.label | m1 [post update] : LinkedMultiValueMap [, ] : String | +| TestHttp.java:81:21:81:27 | taint(...) : String | semmle.label | taint(...) : String | +| TestHttp.java:82:14:82:32 | new HttpHeaders(...) | semmle.label | new HttpHeaders(...) | +| TestHttp.java:82:30:82:31 | m1 : LinkedMultiValueMap [, ] : String | semmle.label | m1 : LinkedMultiValueMap [, ] : String | +| TestHttp.java:85:9:85:10 | m2 [post update] : LinkedMultiValueMap [] : String | semmle.label | m2 [post update] : LinkedMultiValueMap [] : String | +| TestHttp.java:85:16:85:22 | taint(...) : String | semmle.label | taint(...) : String | +| TestHttp.java:86:14:86:32 | new HttpHeaders(...) | semmle.label | new HttpHeaders(...) | +| TestHttp.java:86:30:86:31 | m2 : LinkedMultiValueMap [] : String | semmle.label | m2 : LinkedMultiValueMap [] : String | +| TestHttp.java:89:9:89:10 | h1 [post update] : HttpHeaders | semmle.label | h1 [post update] : HttpHeaders | +| TestHttp.java:89:16:89:22 | taint(...) : String | semmle.label | taint(...) : String | +| TestHttp.java:90:14:90:15 | h1 | semmle.label | h1 | +| TestHttp.java:93:9:93:10 | h2 [post update] : HttpHeaders | semmle.label | h2 [post update] : HttpHeaders | +| TestHttp.java:93:9:93:10 | h2 [post update] : HttpHeaders [, ] : String | semmle.label | h2 [post update] : HttpHeaders [, ] : String | +| TestHttp.java:93:21:93:27 | taint(...) : String | semmle.label | taint(...) : String | +| TestHttp.java:94:14:94:15 | h2 | semmle.label | h2 | +| TestHttp.java:97:9:97:10 | h3 [post update] : HttpHeaders | semmle.label | h3 [post update] : HttpHeaders | +| TestHttp.java:97:9:97:10 | h3 [post update] : HttpHeaders [, ] : String | semmle.label | h3 [post update] : HttpHeaders [, ] : String | +| TestHttp.java:97:19:97:20 | m1 : LinkedMultiValueMap [, ] : String | semmle.label | m1 : LinkedMultiValueMap [, ] : String | +| TestHttp.java:98:14:98:15 | h3 | semmle.label | h3 | +| TestHttp.java:101:9:101:10 | h4 [post update] : HttpHeaders | semmle.label | h4 [post update] : HttpHeaders | +| TestHttp.java:101:19:101:20 | m2 : LinkedMultiValueMap [] : String | semmle.label | m2 : LinkedMultiValueMap [] : String | +| TestHttp.java:102:14:102:15 | h4 | semmle.label | h4 | +| TestHttp.java:105:9:105:10 | h5 [post update] : HttpHeaders | semmle.label | h5 [post update] : HttpHeaders | +| TestHttp.java:105:19:105:25 | taint(...) : String | semmle.label | taint(...) : String | +| TestHttp.java:106:14:106:15 | h5 | semmle.label | h5 | +| TestHttp.java:109:9:109:10 | h6 [post update] : HttpHeaders | semmle.label | h6 [post update] : HttpHeaders | +| TestHttp.java:109:9:109:10 | h6 [post update] : HttpHeaders [, ] : Object | semmle.label | h6 [post update] : HttpHeaders [, ] : Object | +| TestHttp.java:109:24:109:39 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| TestHttp.java:109:32:109:38 | taint(...) : String[] | semmle.label | taint(...) : String[] | +| TestHttp.java:110:14:110:15 | h6 | semmle.label | h6 | +| TestHttp.java:112:14:112:42 | formatHeaders(...) | semmle.label | formatHeaders(...) | +| TestHttp.java:112:40:112:41 | m1 : LinkedMultiValueMap [, ] : String | semmle.label | m1 : LinkedMultiValueMap [, ] : String | +| TestHttp.java:113:14:113:42 | formatHeaders(...) | semmle.label | formatHeaders(...) | +| TestHttp.java:113:40:113:41 | m2 : LinkedMultiValueMap [] : String | semmle.label | m2 : LinkedMultiValueMap [] : String | +| TestHttp.java:115:14:115:60 | encodeBasicAuth(...) | semmle.label | encodeBasicAuth(...) | +| TestHttp.java:115:42:115:48 | taint(...) : String | semmle.label | taint(...) : String | +| TestHttp.java:116:14:116:60 | encodeBasicAuth(...) | semmle.label | encodeBasicAuth(...) | +| TestHttp.java:116:47:116:53 | taint(...) : String | semmle.label | taint(...) : String | +| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | semmle.label | taint(...) : HttpHeaders | +| TestHttp.java:122:14:122:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:122:14:122:24 | get(...) : List | semmle.label | get(...) : List | +| TestHttp.java:122:14:122:24 | get(...) : List [] : Object | semmle.label | get(...) : List [] : Object | +| TestHttp.java:122:14:122:31 | get(...) | semmle.label | get(...) | +| TestHttp.java:128:14:128:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:128:14:128:45 | getAccessControlAllowHeaders(...) : List [] : Object | semmle.label | getAccessControlAllowHeaders(...) : List [] : Object | +| TestHttp.java:128:14:128:52 | get(...) | semmle.label | get(...) | +| TestHttp.java:130:14:130:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:130:14:130:44 | getAccessControlAllowOrigin(...) | semmle.label | getAccessControlAllowOrigin(...) | +| TestHttp.java:131:14:131:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:131:14:131:46 | getAccessControlExposeHeaders(...) : List [] : Object | semmle.label | getAccessControlExposeHeaders(...) : List [] : Object | +| TestHttp.java:131:14:131:53 | get(...) | semmle.label | get(...) | +| TestHttp.java:133:14:133:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:133:14:133:47 | getAccessControlRequestHeaders(...) : List [] : Object | semmle.label | getAccessControlRequestHeaders(...) : List [] : Object | +| TestHttp.java:133:14:133:54 | get(...) | semmle.label | get(...) | +| TestHttp.java:136:14:136:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:136:14:136:32 | getCacheControl(...) | semmle.label | getCacheControl(...) | +| TestHttp.java:137:14:137:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:137:14:137:30 | getConnection(...) : List [] : Object | semmle.label | getConnection(...) : List [] : Object | +| TestHttp.java:137:14:137:37 | get(...) | semmle.label | get(...) | +| TestHttp.java:143:14:143:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:143:14:143:24 | getETag(...) | semmle.label | getETag(...) | +| TestHttp.java:145:14:145:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:145:14:145:28 | getFirst(...) | semmle.label | getFirst(...) | +| TestHttp.java:148:14:148:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:148:14:148:24 | getHost(...) | semmle.label | getHost(...) | +| TestHttp.java:149:14:149:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:149:14:149:27 | getIfMatch(...) : List [] : Object | semmle.label | getIfMatch(...) : List [] : Object | +| TestHttp.java:149:14:149:34 | get(...) | semmle.label | get(...) | +| TestHttp.java:151:14:151:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:151:14:151:31 | getIfNoneMatch(...) : List [] : Object | semmle.label | getIfNoneMatch(...) : List [] : Object | +| TestHttp.java:151:14:151:38 | get(...) | semmle.label | get(...) | +| TestHttp.java:154:14:154:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:154:14:154:28 | getLocation(...) | semmle.label | getLocation(...) | +| TestHttp.java:155:14:155:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:155:14:155:30 | getOrEmpty(...) : List [] : Object | semmle.label | getOrEmpty(...) : List [] : Object | +| TestHttp.java:155:14:155:37 | get(...) | semmle.label | get(...) | +| TestHttp.java:156:14:156:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:156:14:156:26 | getOrigin(...) | semmle.label | getOrigin(...) | +| TestHttp.java:157:14:157:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:157:14:157:26 | getPragma(...) | semmle.label | getPragma(...) | +| TestHttp.java:158:14:158:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:158:14:158:27 | getUpgrade(...) | semmle.label | getUpgrade(...) | +| TestHttp.java:159:14:159:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:159:14:159:35 | getValuesAsList(...) : List [] : Object | semmle.label | getValuesAsList(...) : List [] : Object | +| TestHttp.java:159:14:159:42 | get(...) | semmle.label | get(...) | +| TestHttp.java:160:14:160:14 | h : HttpHeaders | semmle.label | h : HttpHeaders | +| TestHttp.java:160:14:160:24 | getVary(...) : List [] : Object | semmle.label | getVary(...) : List [] : Object | +| TestHttp.java:160:14:160:31 | get(...) | semmle.label | get(...) | +subpaths +testFailures diff --git a/java/ql/test/library-tests/frameworks/spring/ui/test.expected b/java/ql/test/library-tests/frameworks/spring/ui/test.expected index e69de29bb2d..84550537cfe 100644 --- a/java/ql/test/library-tests/frameworks/spring/ui/test.expected +++ b/java/ql/test/library-tests/frameworks/spring/ui/test.expected @@ -0,0 +1,1047 @@ +models +| 1 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 2 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 3 | Summary: java.util; List; false; of; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 4 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 5 | Summary: java.util; Map; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 6 | Summary: java.util; Map; false; of; ; ; Argument[0]; ReturnValue.MapKey; value; manual | +| 7 | Summary: java.util; Map; false; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual | +| 8 | Summary: org.springframework.ui; ConcurrentModel; false; ConcurrentModel; (Object); ; Argument[0]; Argument[this].MapValue; value; manual | +| 9 | Summary: org.springframework.ui; ConcurrentModel; false; ConcurrentModel; (String,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 10 | Summary: org.springframework.ui; ConcurrentModel; false; ConcurrentModel; (String,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 11 | Summary: org.springframework.ui; Model; true; addAllAttributes; ; ; Argument[this]; ReturnValue; value; manual | +| 12 | Summary: org.springframework.ui; Model; true; addAllAttributes; (Collection); ; Argument[0].Element; Argument[this].MapValue; value; manual | +| 13 | Summary: org.springframework.ui; Model; true; addAllAttributes; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 14 | Summary: org.springframework.ui; Model; true; addAllAttributes; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 15 | Summary: org.springframework.ui; Model; true; addAttribute; ; ; Argument[this]; ReturnValue; value; manual | +| 16 | Summary: org.springframework.ui; Model; true; addAttribute; (Object); ; Argument[0]; Argument[this].MapValue; value; manual | +| 17 | Summary: org.springframework.ui; Model; true; addAttribute; (String,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 18 | Summary: org.springframework.ui; Model; true; addAttribute; (String,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 19 | Summary: org.springframework.ui; Model; true; asMap; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 20 | Summary: org.springframework.ui; Model; true; asMap; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 21 | Summary: org.springframework.ui; Model; true; getAttribute; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 22 | Summary: org.springframework.ui; Model; true; mergeAttributes; ; ; Argument[this]; ReturnValue; value; manual | +| 23 | Summary: org.springframework.ui; Model; true; mergeAttributes; ; ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 24 | Summary: org.springframework.ui; Model; true; mergeAttributes; ; ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 25 | Summary: org.springframework.ui; ModelMap; false; ModelMap; (Object); ; Argument[0]; Argument[this].MapValue; value; manual | +| 26 | Summary: org.springframework.ui; ModelMap; false; ModelMap; (String,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 27 | Summary: org.springframework.ui; ModelMap; false; ModelMap; (String,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 28 | Summary: org.springframework.ui; ModelMap; false; addAllAttributes; ; ; Argument[this]; ReturnValue; value; manual | +| 29 | Summary: org.springframework.ui; ModelMap; false; addAllAttributes; (Collection); ; Argument[0].Element; Argument[this].MapValue; value; manual | +| 30 | Summary: org.springframework.ui; ModelMap; false; addAllAttributes; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 31 | Summary: org.springframework.ui; ModelMap; false; addAllAttributes; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 32 | Summary: org.springframework.ui; ModelMap; false; addAttribute; ; ; Argument[this]; ReturnValue; value; manual | +| 33 | Summary: org.springframework.ui; ModelMap; false; addAttribute; (Object); ; Argument[0]; Argument[this].MapValue; value; manual | +| 34 | Summary: org.springframework.ui; ModelMap; false; addAttribute; (String,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 35 | Summary: org.springframework.ui; ModelMap; false; addAttribute; (String,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 36 | Summary: org.springframework.ui; ModelMap; false; getAttribute; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 37 | Summary: org.springframework.ui; ModelMap; false; mergeAttributes; ; ; Argument[this]; ReturnValue; value; manual | +| 38 | Summary: org.springframework.ui; ModelMap; false; mergeAttributes; ; ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 39 | Summary: org.springframework.ui; ModelMap; false; mergeAttributes; ; ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +edges +| Test.java:13:18:13:35 | container : Map [] : String | Test.java:13:47:13:55 | container : Map [] : String | provenance | | +| Test.java:13:47:13:55 | container : Map [] : String | Test.java:13:47:13:64 | keySet(...) : Set [] : String | provenance | MaD:5 | +| Test.java:13:47:13:64 | keySet(...) : Set [] : String | Test.java:13:47:13:75 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:13:47:13:75 | iterator(...) : Iterator [] : String | Test.java:13:47:13:82 | next(...) : String | provenance | MaD:2 | +| Test.java:14:20:14:37 | container : Map [] : Object | Test.java:14:49:14:57 | container : Map [] : Object | provenance | | +| Test.java:14:49:14:57 | container : Map [] : Object | Test.java:14:49:14:67 | get(...) : Object | provenance | MaD:4 | +| Test.java:15:19:15:33 | container : ConcurrentModel [] : String | Test.java:15:45:15:53 | container : ConcurrentModel [] : String | provenance | | +| Test.java:15:19:15:33 | container : Model [] : Object | Test.java:15:45:15:53 | container : Model [] : Object | provenance | | +| Test.java:15:19:15:33 | container : Model [] : String | Test.java:15:45:15:53 | container : Model [] : String | provenance | | +| Test.java:15:45:15:53 | container : ConcurrentModel [] : String | Test.java:15:45:15:61 | asMap(...) : Map [] : String | provenance | MaD:19 | +| Test.java:15:45:15:53 | container : Model [] : Object | Test.java:15:45:15:61 | asMap(...) : Map [] : Object | provenance | MaD:19 | +| Test.java:15:45:15:53 | container : Model [] : String | Test.java:15:45:15:61 | asMap(...) : Map [] : String | provenance | MaD:19 | +| Test.java:15:45:15:61 | asMap(...) : Map [] : Object | Test.java:15:45:15:70 | keySet(...) : Set [] : Object | provenance | MaD:5 | +| Test.java:15:45:15:61 | asMap(...) : Map [] : String | Test.java:15:45:15:70 | keySet(...) : Set [] : String | provenance | MaD:5 | +| Test.java:15:45:15:61 | asMap(...) : Map [] : String | Test.java:15:45:15:70 | keySet(...) : Set [] : String | provenance | MaD:5 | +| Test.java:15:45:15:70 | keySet(...) : Set [] : Object | Test.java:15:45:15:81 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:15:45:15:70 | keySet(...) : Set [] : String | Test.java:15:45:15:81 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:15:45:15:70 | keySet(...) : Set [] : String | Test.java:15:45:15:81 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:15:45:15:81 | iterator(...) : Iterator [] : Object | Test.java:15:45:15:88 | next(...) : String | provenance | MaD:2 | +| Test.java:15:45:15:81 | iterator(...) : Iterator [] : String | Test.java:15:45:15:88 | next(...) : String | provenance | MaD:2 | +| Test.java:15:45:15:81 | iterator(...) : Iterator [] : String | Test.java:15:45:15:88 | next(...) : String | provenance | MaD:2 | +| Test.java:16:21:16:35 | container : Map [] : Object | Test.java:16:47:16:55 | container : Map [] : Object | provenance | | +| Test.java:16:21:16:35 | container : Model [] : Object | Test.java:16:47:16:55 | container : Model [] : Object | provenance | | +| Test.java:16:47:16:55 | container : Map [] : Object | Test.java:16:47:16:74 | getAttribute(...) : Object | provenance | MaD:21 | +| Test.java:16:47:16:55 | container : Model [] : Object | Test.java:16:47:16:74 | getAttribute(...) : Object | provenance | MaD:21 | +| Test.java:17:19:17:43 | container : ConcurrentModel [] : Object | Test.java:17:55:17:63 | container : ConcurrentModel [] : Object | provenance | | +| Test.java:17:19:17:43 | container : ConcurrentModel [] : String | Test.java:17:55:17:63 | container : ConcurrentModel [] : String | provenance | | +| Test.java:17:55:17:63 | container : ConcurrentModel [] : Object | Test.java:17:55:17:72 | keySet(...) : KeySetView [] : Object | provenance | MaD:5 | +| Test.java:17:55:17:63 | container : ConcurrentModel [] : String | Test.java:17:55:17:72 | keySet(...) : KeySetView [] : String | provenance | MaD:5 | +| Test.java:17:55:17:72 | keySet(...) : KeySetView [] : Object | Test.java:17:55:17:83 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:17:55:17:72 | keySet(...) : KeySetView [] : String | Test.java:17:55:17:83 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:17:55:17:83 | iterator(...) : Iterator [] : Object | Test.java:17:55:17:90 | next(...) : String | provenance | MaD:2 | +| Test.java:17:55:17:83 | iterator(...) : Iterator [] : String | Test.java:17:55:17:90 | next(...) : String | provenance | MaD:2 | +| Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | Test.java:18:57:18:65 | container : ConcurrentModel [] : Object | provenance | | +| Test.java:18:57:18:65 | container : ConcurrentModel [] : Object | Test.java:18:57:18:84 | getAttribute(...) : Object | provenance | MaD:21 | +| Test.java:19:19:19:36 | container : ModelMap [] : Object | Test.java:19:48:19:56 | container : ModelMap [] : Object | provenance | | +| Test.java:19:19:19:36 | container : ModelMap [] : String | Test.java:19:48:19:56 | container : ModelMap [] : String | provenance | | +| Test.java:19:48:19:56 | container : ModelMap [] : Object | Test.java:19:48:19:65 | keySet(...) : Set [] : Object | provenance | MaD:5 | +| Test.java:19:48:19:56 | container : ModelMap [] : String | Test.java:19:48:19:65 | keySet(...) : Set [] : String | provenance | MaD:5 | +| Test.java:19:48:19:65 | keySet(...) : Set [] : Object | Test.java:19:48:19:76 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:19:48:19:65 | keySet(...) : Set [] : String | Test.java:19:48:19:76 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:19:48:19:76 | iterator(...) : Iterator [] : Object | Test.java:19:48:19:83 | next(...) : String | provenance | MaD:2 | +| Test.java:19:48:19:76 | iterator(...) : Iterator [] : String | Test.java:19:48:19:83 | next(...) : String | provenance | MaD:2 | +| Test.java:20:21:20:38 | container : ModelMap [] : Object | Test.java:20:50:20:58 | container : ModelMap [] : Object | provenance | | +| Test.java:20:50:20:58 | container : ModelMap [] : Object | Test.java:20:50:20:77 | getAttribute(...) : Object | provenance | MaD:36 | +| Test.java:29:16:29:23 | source(...) : Object | Test.java:30:30:30:31 | in : Object | provenance | | +| Test.java:30:10:30:32 | new ConcurrentModel(...) : ConcurrentModel [] : Object | Test.java:31:21:31:23 | out : ConcurrentModel [] : Object | provenance | | +| Test.java:30:30:30:31 | in : Object | Test.java:30:10:30:32 | new ConcurrentModel(...) : ConcurrentModel [] : Object | provenance | MaD:8 | +| Test.java:31:21:31:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | provenance | | +| Test.java:31:21:31:23 | out : ConcurrentModel [] : Object | Test.java:31:9:31:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:36:16:36:31 | (...)... : String | Test.java:37:30:37:31 | in : String | provenance | | +| Test.java:36:24:36:31 | source(...) : Object | Test.java:36:16:36:31 | (...)... : String | provenance | | +| Test.java:37:10:37:38 | new ConcurrentModel(...) : ConcurrentModel [] : String | Test.java:38:19:38:21 | out : ConcurrentModel [] : String | provenance | | +| Test.java:37:30:37:31 | in : String | Test.java:37:10:37:38 | new ConcurrentModel(...) : ConcurrentModel [] : String | provenance | MaD:9 | +| Test.java:38:19:38:21 | out : ConcurrentModel [] : String | Test.java:17:19:17:43 | container : ConcurrentModel [] : String | provenance | | +| Test.java:38:19:38:21 | out : ConcurrentModel [] : String | Test.java:38:9:38:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:43:16:43:23 | source(...) : Object | Test.java:44:36:44:37 | in : Object | provenance | | +| Test.java:44:10:44:38 | new ConcurrentModel(...) : ConcurrentModel [] : Object | Test.java:45:21:45:23 | out : ConcurrentModel [] : Object | provenance | | +| Test.java:44:36:44:37 | in : Object | Test.java:44:10:44:38 | new ConcurrentModel(...) : ConcurrentModel [] : Object | provenance | MaD:10 | +| Test.java:45:21:45:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | provenance | | +| Test.java:45:21:45:23 | out : ConcurrentModel [] : Object | Test.java:45:9:45:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:50:20:50:36 | of(...) : List [] : Object | Test.java:51:25:51:26 | in : List [] : Object | provenance | | +| Test.java:50:28:50:35 | source(...) : Object | Test.java:50:20:50:36 | of(...) : List [] : Object | provenance | MaD:3 | +| Test.java:51:4:51:6 | out [post update] : Model [] : Object | Test.java:52:21:52:23 | out : Model [] : Object | provenance | | +| Test.java:51:25:51:26 | in : List [] : Object | Test.java:51:4:51:6 | out [post update] : Model [] : Object | provenance | MaD:12 | +| Test.java:52:21:52:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | provenance | | +| Test.java:52:21:52:23 | out : Model [] : Object | Test.java:52:9:52:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:57:20:57:36 | of(...) : List [] : Object | Test.java:58:25:58:26 | in : List [] : Object | provenance | | +| Test.java:57:28:57:35 | source(...) : Object | Test.java:57:20:57:36 | of(...) : List [] : Object | provenance | MaD:3 | +| Test.java:58:4:58:6 | out [post update] : ConcurrentModel [] : Object | Test.java:59:21:59:23 | out : ConcurrentModel [] : Object | provenance | | +| Test.java:58:25:58:26 | in : List [] : Object | Test.java:58:4:58:6 | out [post update] : ConcurrentModel [] : Object | provenance | MaD:12 | +| Test.java:59:21:59:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | provenance | | +| Test.java:59:21:59:23 | out : ConcurrentModel [] : Object | Test.java:59:9:59:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:64:20:64:36 | of(...) : List [] : Object | Test.java:66:36:66:37 | in : List [] : Object | provenance | | +| Test.java:64:28:64:35 | source(...) : Object | Test.java:64:20:64:36 | of(...) : List [] : Object | provenance | MaD:3 | +| Test.java:66:10:66:38 | addAllAttributes(...) : Model [] : Object | Test.java:67:21:67:23 | out : Model [] : Object | provenance | | +| Test.java:66:36:66:37 | in : List [] : Object | Test.java:66:10:66:38 | addAllAttributes(...) : Model [] : Object | provenance | MaD:12+MaD:11 | +| Test.java:67:21:67:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | provenance | | +| Test.java:67:21:67:23 | out : Model [] : Object | Test.java:67:9:67:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:72:20:72:36 | of(...) : List [] : Object | Test.java:74:36:74:37 | in : List [] : Object | provenance | | +| Test.java:72:28:72:35 | source(...) : Object | Test.java:72:20:72:36 | of(...) : List [] : Object | provenance | MaD:3 | +| Test.java:74:10:74:38 | addAllAttributes(...) : ConcurrentModel [] : Object | Test.java:75:21:75:23 | out : ConcurrentModel [] : Object | provenance | | +| Test.java:74:36:74:37 | in : List [] : Object | Test.java:74:10:74:38 | addAllAttributes(...) : ConcurrentModel [] : Object | provenance | MaD:12+MaD:11 | +| Test.java:75:21:75:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | provenance | | +| Test.java:75:21:75:23 | out : ConcurrentModel [] : Object | Test.java:75:9:75:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:80:13:80:34 | of(...) : Map [] : Object | Test.java:81:25:81:26 | in : Map [] : Object | provenance | | +| Test.java:80:20:80:27 | source(...) : Object | Test.java:80:13:80:34 | of(...) : Map [] : Object | provenance | MaD:6 | +| Test.java:81:4:81:6 | out [post update] : Model [] : Object | Test.java:82:19:82:21 | out : Model [] : Object | provenance | | +| Test.java:81:25:81:26 | in : Map [] : Object | Test.java:81:4:81:6 | out [post update] : Model [] : Object | provenance | MaD:13 | +| Test.java:82:19:82:21 | out : Model [] : Object | Test.java:15:19:15:33 | container : Model [] : Object | provenance | | +| Test.java:82:19:82:21 | out : Model [] : Object | Test.java:82:9:82:22 | getMapKey(...) | provenance | MaD:19 | +| Test.java:87:13:87:34 | of(...) : Map [] : Object | Test.java:88:25:88:26 | in : Map [] : Object | provenance | | +| Test.java:87:20:87:27 | source(...) : Object | Test.java:87:13:87:34 | of(...) : Map [] : Object | provenance | MaD:6 | +| Test.java:88:4:88:6 | out [post update] : ConcurrentModel [] : Object | Test.java:89:19:89:21 | out : ConcurrentModel [] : Object | provenance | | +| Test.java:88:25:88:26 | in : Map [] : Object | Test.java:88:4:88:6 | out [post update] : ConcurrentModel [] : Object | provenance | MaD:13 | +| Test.java:89:19:89:21 | out : ConcurrentModel [] : Object | Test.java:17:19:17:43 | container : ConcurrentModel [] : Object | provenance | | +| Test.java:89:19:89:21 | out : ConcurrentModel [] : Object | Test.java:89:9:89:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:94:13:94:34 | of(...) : Map [] : Object | Test.java:96:36:96:37 | in : Map [] : Object | provenance | | +| Test.java:94:20:94:27 | source(...) : Object | Test.java:94:13:94:34 | of(...) : Map [] : Object | provenance | MaD:6 | +| Test.java:96:10:96:38 | addAllAttributes(...) : Model [] : Object | Test.java:97:19:97:21 | out : Model [] : Object | provenance | | +| Test.java:96:36:96:37 | in : Map [] : Object | Test.java:96:10:96:38 | addAllAttributes(...) : Model [] : Object | provenance | MaD:13+MaD:11 | +| Test.java:97:19:97:21 | out : Model [] : Object | Test.java:15:19:15:33 | container : Model [] : Object | provenance | | +| Test.java:97:19:97:21 | out : Model [] : Object | Test.java:97:9:97:22 | getMapKey(...) | provenance | MaD:19 | +| Test.java:102:13:102:34 | of(...) : Map [] : Object | Test.java:104:36:104:37 | in : Map [] : Object | provenance | | +| Test.java:102:20:102:27 | source(...) : Object | Test.java:102:13:102:34 | of(...) : Map [] : Object | provenance | MaD:6 | +| Test.java:104:10:104:38 | addAllAttributes(...) : ConcurrentModel [] : Object | Test.java:105:19:105:21 | out : ConcurrentModel [] : Object | provenance | | +| Test.java:104:36:104:37 | in : Map [] : Object | Test.java:104:10:104:38 | addAllAttributes(...) : ConcurrentModel [] : Object | provenance | MaD:13+MaD:11 | +| Test.java:105:19:105:21 | out : ConcurrentModel [] : Object | Test.java:17:19:17:43 | container : ConcurrentModel [] : Object | provenance | | +| Test.java:105:19:105:21 | out : ConcurrentModel [] : Object | Test.java:105:9:105:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:110:13:110:34 | of(...) : Map [] : Object | Test.java:111:25:111:26 | in : Map [] : Object | provenance | | +| Test.java:110:26:110:33 | source(...) : Object | Test.java:110:13:110:34 | of(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:111:4:111:6 | out [post update] : Model [] : Object | Test.java:112:21:112:23 | out : Model [] : Object | provenance | | +| Test.java:111:25:111:26 | in : Map [] : Object | Test.java:111:4:111:6 | out [post update] : Model [] : Object | provenance | MaD:14 | +| Test.java:112:21:112:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | provenance | | +| Test.java:112:21:112:23 | out : Model [] : Object | Test.java:112:9:112:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:117:13:117:34 | of(...) : Map [] : Object | Test.java:118:25:118:26 | in : Map [] : Object | provenance | | +| Test.java:117:26:117:33 | source(...) : Object | Test.java:117:13:117:34 | of(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:118:4:118:6 | out [post update] : ConcurrentModel [] : Object | Test.java:119:21:119:23 | out : ConcurrentModel [] : Object | provenance | | +| Test.java:118:25:118:26 | in : Map [] : Object | Test.java:118:4:118:6 | out [post update] : ConcurrentModel [] : Object | provenance | MaD:14 | +| Test.java:119:21:119:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | provenance | | +| Test.java:119:21:119:23 | out : ConcurrentModel [] : Object | Test.java:119:9:119:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:124:13:124:34 | of(...) : Map [] : Object | Test.java:126:36:126:37 | in : Map [] : Object | provenance | | +| Test.java:124:26:124:33 | source(...) : Object | Test.java:124:13:124:34 | of(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:126:10:126:38 | addAllAttributes(...) : Model [] : Object | Test.java:127:21:127:23 | out : Model [] : Object | provenance | | +| Test.java:126:36:126:37 | in : Map [] : Object | Test.java:126:10:126:38 | addAllAttributes(...) : Model [] : Object | provenance | MaD:14+MaD:11 | +| Test.java:127:21:127:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | provenance | | +| Test.java:127:21:127:23 | out : Model [] : Object | Test.java:127:9:127:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:132:13:132:34 | of(...) : Map [] : Object | Test.java:134:36:134:37 | in : Map [] : Object | provenance | | +| Test.java:132:26:132:33 | source(...) : Object | Test.java:132:13:132:34 | of(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:134:10:134:38 | addAllAttributes(...) : ConcurrentModel [] : Object | Test.java:135:21:135:23 | out : ConcurrentModel [] : Object | provenance | | +| Test.java:134:36:134:37 | in : Map [] : Object | Test.java:134:10:134:38 | addAllAttributes(...) : ConcurrentModel [] : Object | provenance | MaD:14+MaD:11 | +| Test.java:135:21:135:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | provenance | | +| Test.java:135:21:135:23 | out : ConcurrentModel [] : Object | Test.java:135:9:135:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:140:15:140:29 | (...)... : Model | Test.java:141:10:141:11 | in : Model | provenance | | +| Test.java:140:22:140:29 | source(...) : Object | Test.java:140:15:140:29 | (...)... : Model | provenance | | +| Test.java:141:10:141:11 | in : Model | Test.java:141:10:141:39 | addAllAttributes(...) : Model | provenance | MaD:11 | +| Test.java:141:10:141:39 | addAllAttributes(...) : Model | Test.java:142:9:142:11 | out | provenance | | +| Test.java:147:15:147:29 | (...)... : Model | Test.java:148:10:148:11 | in : Model | provenance | | +| Test.java:147:22:147:29 | source(...) : Object | Test.java:147:15:147:29 | (...)... : Model | provenance | | +| Test.java:148:10:148:11 | in : Model | Test.java:148:10:148:46 | addAllAttributes(...) : Model | provenance | MaD:11 | +| Test.java:148:10:148:46 | addAllAttributes(...) : Model | Test.java:149:9:149:11 | out | provenance | | +| Test.java:154:25:154:49 | (...)... : ConcurrentModel | Test.java:155:10:155:11 | in : ConcurrentModel | provenance | | +| Test.java:154:42:154:49 | source(...) : Object | Test.java:154:25:154:49 | (...)... : ConcurrentModel | provenance | | +| Test.java:155:10:155:11 | in : ConcurrentModel | Test.java:155:10:155:39 | addAllAttributes(...) : ConcurrentModel | provenance | MaD:11 | +| Test.java:155:10:155:39 | addAllAttributes(...) : ConcurrentModel | Test.java:156:9:156:11 | out | provenance | | +| Test.java:161:25:161:49 | (...)... : ConcurrentModel | Test.java:162:10:162:11 | in : ConcurrentModel | provenance | | +| Test.java:161:42:161:49 | source(...) : Object | Test.java:161:25:161:49 | (...)... : ConcurrentModel | provenance | | +| Test.java:162:10:162:11 | in : ConcurrentModel | Test.java:162:10:162:46 | addAllAttributes(...) : ConcurrentModel | provenance | MaD:11 | +| Test.java:162:10:162:46 | addAllAttributes(...) : ConcurrentModel | Test.java:163:9:163:11 | out | provenance | | +| Test.java:168:16:168:23 | source(...) : Object | Test.java:169:21:169:22 | in : Object | provenance | | +| Test.java:169:4:169:6 | out [post update] : Model [] : Object | Test.java:170:21:170:23 | out : Model [] : Object | provenance | | +| Test.java:169:21:169:22 | in : Object | Test.java:169:4:169:6 | out [post update] : Model [] : Object | provenance | MaD:16 | +| Test.java:170:21:170:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | provenance | | +| Test.java:170:21:170:23 | out : Model [] : Object | Test.java:170:9:170:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:175:16:175:23 | source(...) : Object | Test.java:176:21:176:22 | in : Object | provenance | | +| Test.java:176:4:176:6 | out [post update] : ConcurrentModel [] : Object | Test.java:177:21:177:23 | out : ConcurrentModel [] : Object | provenance | | +| Test.java:176:21:176:22 | in : Object | Test.java:176:4:176:6 | out [post update] : ConcurrentModel [] : Object | provenance | MaD:16 | +| Test.java:177:21:177:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | provenance | | +| Test.java:177:21:177:23 | out : ConcurrentModel [] : Object | Test.java:177:9:177:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:182:16:182:23 | source(...) : Object | Test.java:184:32:184:33 | in : Object | provenance | | +| Test.java:184:10:184:34 | addAttribute(...) : Model [] : Object | Test.java:185:21:185:23 | out : Model [] : Object | provenance | | +| Test.java:184:32:184:33 | in : Object | Test.java:184:10:184:34 | addAttribute(...) : Model [] : Object | provenance | MaD:16+MaD:15 | +| Test.java:185:21:185:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | provenance | | +| Test.java:185:21:185:23 | out : Model [] : Object | Test.java:185:9:185:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:190:16:190:23 | source(...) : Object | Test.java:192:32:192:33 | in : Object | provenance | | +| Test.java:192:10:192:34 | addAttribute(...) : ConcurrentModel [] : Object | Test.java:193:21:193:23 | out : ConcurrentModel [] : Object | provenance | | +| Test.java:192:32:192:33 | in : Object | Test.java:192:10:192:34 | addAttribute(...) : ConcurrentModel [] : Object | provenance | MaD:16+MaD:15 | +| Test.java:193:21:193:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | provenance | | +| Test.java:193:21:193:23 | out : ConcurrentModel [] : Object | Test.java:193:9:193:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:198:16:198:31 | (...)... : String | Test.java:199:21:199:22 | in : String | provenance | | +| Test.java:198:24:198:31 | source(...) : Object | Test.java:198:16:198:31 | (...)... : String | provenance | | +| Test.java:199:4:199:6 | out [post update] : Model [] : String | Test.java:200:19:200:21 | out : Model [] : String | provenance | | +| Test.java:199:21:199:22 | in : String | Test.java:199:4:199:6 | out [post update] : Model [] : String | provenance | MaD:17 | +| Test.java:200:19:200:21 | out : Model [] : String | Test.java:15:19:15:33 | container : Model [] : String | provenance | | +| Test.java:200:19:200:21 | out : Model [] : String | Test.java:200:9:200:22 | getMapKey(...) | provenance | MaD:19 | +| Test.java:205:16:205:31 | (...)... : String | Test.java:206:21:206:22 | in : String | provenance | | +| Test.java:205:24:205:31 | source(...) : Object | Test.java:205:16:205:31 | (...)... : String | provenance | | +| Test.java:206:4:206:6 | out [post update] : ConcurrentModel [] : String | Test.java:207:19:207:21 | out : ConcurrentModel [] : String | provenance | | +| Test.java:206:21:206:22 | in : String | Test.java:206:4:206:6 | out [post update] : ConcurrentModel [] : String | provenance | MaD:17 | +| Test.java:207:19:207:21 | out : ConcurrentModel [] : String | Test.java:17:19:17:43 | container : ConcurrentModel [] : String | provenance | | +| Test.java:207:19:207:21 | out : ConcurrentModel [] : String | Test.java:207:9:207:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:212:16:212:31 | (...)... : String | Test.java:214:32:214:33 | in : String | provenance | | +| Test.java:212:24:212:31 | source(...) : Object | Test.java:212:16:212:31 | (...)... : String | provenance | | +| Test.java:214:10:214:40 | addAttribute(...) : Model [] : String | Test.java:215:19:215:21 | out : Model [] : String | provenance | | +| Test.java:214:32:214:33 | in : String | Test.java:214:10:214:40 | addAttribute(...) : Model [] : String | provenance | MaD:17+MaD:15 | +| Test.java:215:19:215:21 | out : Model [] : String | Test.java:15:19:15:33 | container : Model [] : String | provenance | | +| Test.java:215:19:215:21 | out : Model [] : String | Test.java:215:9:215:22 | getMapKey(...) | provenance | MaD:19 | +| Test.java:220:16:220:31 | (...)... : String | Test.java:222:32:222:33 | in : String | provenance | | +| Test.java:220:24:220:31 | source(...) : Object | Test.java:220:16:220:31 | (...)... : String | provenance | | +| Test.java:222:10:222:40 | addAttribute(...) : ConcurrentModel [] : String | Test.java:223:19:223:21 | out : ConcurrentModel [] : String | provenance | | +| Test.java:222:32:222:33 | in : String | Test.java:222:10:222:40 | addAttribute(...) : ConcurrentModel [] : String | provenance | MaD:17+MaD:15 | +| Test.java:223:19:223:21 | out : ConcurrentModel [] : String | Test.java:17:19:17:43 | container : ConcurrentModel [] : String | provenance | | +| Test.java:223:19:223:21 | out : ConcurrentModel [] : String | Test.java:223:9:223:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:228:16:228:23 | source(...) : Object | Test.java:229:27:229:28 | in : Object | provenance | | +| Test.java:229:4:229:6 | out [post update] : Model [] : Object | Test.java:230:21:230:23 | out : Model [] : Object | provenance | | +| Test.java:229:27:229:28 | in : Object | Test.java:229:4:229:6 | out [post update] : Model [] : Object | provenance | MaD:18 | +| Test.java:230:21:230:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | provenance | | +| Test.java:230:21:230:23 | out : Model [] : Object | Test.java:230:9:230:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:235:16:235:23 | source(...) : Object | Test.java:236:27:236:28 | in : Object | provenance | | +| Test.java:236:4:236:6 | out [post update] : ConcurrentModel [] : Object | Test.java:237:21:237:23 | out : ConcurrentModel [] : Object | provenance | | +| Test.java:236:27:236:28 | in : Object | Test.java:236:4:236:6 | out [post update] : ConcurrentModel [] : Object | provenance | MaD:18 | +| Test.java:237:21:237:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | provenance | | +| Test.java:237:21:237:23 | out : ConcurrentModel [] : Object | Test.java:237:9:237:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:242:16:242:23 | source(...) : Object | Test.java:244:38:244:39 | in : Object | provenance | | +| Test.java:244:10:244:40 | addAttribute(...) : Model [] : Object | Test.java:245:21:245:23 | out : Model [] : Object | provenance | | +| Test.java:244:38:244:39 | in : Object | Test.java:244:10:244:40 | addAttribute(...) : Model [] : Object | provenance | MaD:18+MaD:15 | +| Test.java:245:21:245:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | provenance | | +| Test.java:245:21:245:23 | out : Model [] : Object | Test.java:245:9:245:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:250:16:250:23 | source(...) : Object | Test.java:252:38:252:39 | in : Object | provenance | | +| Test.java:252:10:252:40 | addAttribute(...) : ConcurrentModel [] : Object | Test.java:253:21:253:23 | out : ConcurrentModel [] : Object | provenance | | +| Test.java:252:38:252:39 | in : Object | Test.java:252:10:252:40 | addAttribute(...) : ConcurrentModel [] : Object | provenance | MaD:18+MaD:15 | +| Test.java:253:21:253:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | provenance | | +| Test.java:253:21:253:23 | out : ConcurrentModel [] : Object | Test.java:253:9:253:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:258:15:258:29 | (...)... : Model | Test.java:259:10:259:11 | in : Model | provenance | | +| Test.java:258:22:258:29 | source(...) : Object | Test.java:258:15:258:29 | (...)... : Model | provenance | | +| Test.java:259:10:259:11 | in : Model | Test.java:259:10:259:36 | addAttribute(...) : Model | provenance | MaD:15 | +| Test.java:259:10:259:36 | addAttribute(...) : Model | Test.java:260:9:260:11 | out | provenance | | +| Test.java:265:15:265:29 | (...)... : Model | Test.java:266:10:266:11 | in : Model | provenance | | +| Test.java:265:22:265:29 | source(...) : Object | Test.java:265:15:265:29 | (...)... : Model | provenance | | +| Test.java:266:10:266:11 | in : Model | Test.java:266:10:266:30 | addAttribute(...) : Model | provenance | MaD:15 | +| Test.java:266:10:266:30 | addAttribute(...) : Model | Test.java:267:9:267:11 | out | provenance | | +| Test.java:272:25:272:49 | (...)... : ConcurrentModel | Test.java:273:10:273:11 | in : ConcurrentModel | provenance | | +| Test.java:272:42:272:49 | source(...) : Object | Test.java:272:25:272:49 | (...)... : ConcurrentModel | provenance | | +| Test.java:273:10:273:11 | in : ConcurrentModel | Test.java:273:10:273:36 | addAttribute(...) : ConcurrentModel | provenance | MaD:15 | +| Test.java:273:10:273:36 | addAttribute(...) : ConcurrentModel | Test.java:274:9:274:11 | out | provenance | | +| Test.java:279:25:279:49 | (...)... : ConcurrentModel | Test.java:280:10:280:11 | in : ConcurrentModel | provenance | | +| Test.java:279:42:279:49 | source(...) : Object | Test.java:279:25:279:49 | (...)... : ConcurrentModel | provenance | | +| Test.java:280:10:280:11 | in : ConcurrentModel | Test.java:280:10:280:30 | addAttribute(...) : ConcurrentModel | provenance | MaD:15 | +| Test.java:280:10:280:30 | addAttribute(...) : ConcurrentModel | Test.java:281:9:281:11 | out | provenance | | +| Test.java:286:15:286:57 | new ConcurrentModel(...) : ConcurrentModel [] : String | Test.java:287:10:287:11 | in : ConcurrentModel [] : String | provenance | | +| Test.java:286:35:286:50 | (...)... : String | Test.java:286:15:286:57 | new ConcurrentModel(...) : ConcurrentModel [] : String | provenance | MaD:9 | +| Test.java:286:43:286:50 | source(...) : Object | Test.java:286:35:286:50 | (...)... : String | provenance | | +| Test.java:287:10:287:11 | in : ConcurrentModel [] : String | Test.java:287:10:287:19 | asMap(...) : Map [] : String | provenance | MaD:19 | +| Test.java:287:10:287:19 | asMap(...) : Map [] : String | Test.java:288:19:288:21 | out : Map [] : String | provenance | | +| Test.java:288:19:288:21 | out : Map [] : String | Test.java:13:18:13:35 | container : Map [] : String | provenance | | +| Test.java:288:19:288:21 | out : Map [] : String | Test.java:288:9:288:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:293:25:293:67 | new ConcurrentModel(...) : ConcurrentModel [] : String | Test.java:294:10:294:11 | in : ConcurrentModel [] : String | provenance | | +| Test.java:293:45:293:60 | (...)... : String | Test.java:293:25:293:67 | new ConcurrentModel(...) : ConcurrentModel [] : String | provenance | MaD:9 | +| Test.java:293:53:293:60 | source(...) : Object | Test.java:293:45:293:60 | (...)... : String | provenance | | +| Test.java:294:10:294:11 | in : ConcurrentModel [] : String | Test.java:294:10:294:19 | asMap(...) : Map [] : String | provenance | MaD:19 | +| Test.java:294:10:294:19 | asMap(...) : Map [] : String | Test.java:295:19:295:21 | out : Map [] : String | provenance | | +| Test.java:295:19:295:21 | out : Map [] : String | Test.java:13:18:13:35 | container : Map [] : String | provenance | | +| Test.java:295:19:295:21 | out : Map [] : String | Test.java:295:9:295:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:300:15:300:43 | (...)... : Map [] : Object | Test.java:301:10:301:11 | in : Map [] : Object | provenance | | +| Test.java:300:22:300:43 | of(...) : Map [] : Object | Test.java:300:15:300:43 | (...)... : Map [] : Object | provenance | | +| Test.java:300:35:300:42 | source(...) : Object | Test.java:300:22:300:43 | of(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:301:10:301:11 | in : Map [] : Object | Test.java:301:10:301:19 | asMap(...) : Map [] : Object | provenance | MaD:20 | +| Test.java:301:10:301:19 | asMap(...) : Map [] : Object | Test.java:302:21:302:23 | out : Map [] : Object | provenance | | +| Test.java:302:21:302:23 | out : Map [] : Object | Test.java:14:20:14:37 | container : Map [] : Object | provenance | | +| Test.java:302:21:302:23 | out : Map [] : Object | Test.java:302:9:302:24 | getMapValue(...) | provenance | MaD:4 | +| Test.java:307:25:307:59 | new ConcurrentModel(...) : ConcurrentModel [] : Object | Test.java:308:10:308:11 | in : ConcurrentModel [] : Object | provenance | | +| Test.java:307:51:307:58 | source(...) : Object | Test.java:307:25:307:59 | new ConcurrentModel(...) : ConcurrentModel [] : Object | provenance | MaD:10 | +| Test.java:308:10:308:11 | in : ConcurrentModel [] : Object | Test.java:308:10:308:19 | asMap(...) : Map [] : Object | provenance | MaD:20 | +| Test.java:308:10:308:19 | asMap(...) : Map [] : Object | Test.java:309:21:309:23 | out : Map [] : Object | provenance | | +| Test.java:309:21:309:23 | out : Map [] : Object | Test.java:14:20:14:37 | container : Map [] : Object | provenance | | +| Test.java:309:21:309:23 | out : Map [] : Object | Test.java:309:9:309:24 | getMapValue(...) | provenance | MaD:4 | +| Test.java:314:15:314:43 | (...)... : Map [] : Object | Test.java:315:10:315:11 | in : Map [] : Object | provenance | | +| Test.java:314:22:314:43 | of(...) : Map [] : Object | Test.java:314:15:314:43 | (...)... : Map [] : Object | provenance | | +| Test.java:314:35:314:42 | source(...) : Object | Test.java:314:22:314:43 | of(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:315:10:315:11 | in : Map [] : Object | Test.java:315:10:315:30 | getAttribute(...) : Object | provenance | MaD:21 | +| Test.java:315:10:315:30 | getAttribute(...) : Object | Test.java:316:9:316:11 | out | provenance | | +| Test.java:321:25:321:59 | new ConcurrentModel(...) : ConcurrentModel [] : Object | Test.java:322:10:322:11 | in : ConcurrentModel [] : Object | provenance | | +| Test.java:321:51:321:58 | source(...) : Object | Test.java:321:25:321:59 | new ConcurrentModel(...) : ConcurrentModel [] : Object | provenance | MaD:10 | +| Test.java:322:10:322:11 | in : ConcurrentModel [] : Object | Test.java:322:10:322:30 | getAttribute(...) : Object | provenance | MaD:21 | +| Test.java:322:10:322:30 | getAttribute(...) : Object | Test.java:323:9:323:11 | out | provenance | | +| Test.java:328:15:328:29 | (...)... : Model | Test.java:329:10:329:11 | in : Model | provenance | | +| Test.java:328:22:328:29 | source(...) : Object | Test.java:328:15:328:29 | (...)... : Model | provenance | | +| Test.java:329:10:329:11 | in : Model | Test.java:329:10:329:33 | mergeAttributes(...) : Model | provenance | MaD:22 | +| Test.java:329:10:329:33 | mergeAttributes(...) : Model | Test.java:330:9:330:11 | out | provenance | | +| Test.java:335:25:335:49 | (...)... : ConcurrentModel | Test.java:336:10:336:11 | in : ConcurrentModel | provenance | | +| Test.java:335:42:335:49 | source(...) : Object | Test.java:335:25:335:49 | (...)... : ConcurrentModel | provenance | | +| Test.java:336:10:336:11 | in : ConcurrentModel | Test.java:336:10:336:33 | mergeAttributes(...) : ConcurrentModel | provenance | MaD:22 | +| Test.java:336:10:336:33 | mergeAttributes(...) : ConcurrentModel | Test.java:337:9:337:11 | out | provenance | | +| Test.java:342:15:342:57 | new ConcurrentModel(...) : ConcurrentModel [] : String | Test.java:343:10:343:11 | in : ConcurrentModel [] : String | provenance | | +| Test.java:342:35:342:50 | (...)... : String | Test.java:342:15:342:57 | new ConcurrentModel(...) : ConcurrentModel [] : String | provenance | MaD:9 | +| Test.java:342:43:342:50 | source(...) : Object | Test.java:342:35:342:50 | (...)... : String | provenance | | +| Test.java:343:10:343:11 | in : ConcurrentModel [] : String | Test.java:343:10:343:33 | mergeAttributes(...) : ConcurrentModel [] : String | provenance | MaD:22 | +| Test.java:343:10:343:33 | mergeAttributes(...) : ConcurrentModel [] : String | Test.java:344:19:344:21 | out : ConcurrentModel [] : String | provenance | | +| Test.java:344:19:344:21 | out : ConcurrentModel [] : String | Test.java:15:19:15:33 | container : ConcurrentModel [] : String | provenance | | +| Test.java:344:19:344:21 | out : ConcurrentModel [] : String | Test.java:344:9:344:22 | getMapKey(...) | provenance | MaD:19 | +| Test.java:349:25:349:67 | new ConcurrentModel(...) : ConcurrentModel [] : String | Test.java:350:10:350:11 | in : ConcurrentModel [] : String | provenance | | +| Test.java:349:45:349:60 | (...)... : String | Test.java:349:25:349:67 | new ConcurrentModel(...) : ConcurrentModel [] : String | provenance | MaD:9 | +| Test.java:349:53:349:60 | source(...) : Object | Test.java:349:45:349:60 | (...)... : String | provenance | | +| Test.java:350:10:350:11 | in : ConcurrentModel [] : String | Test.java:350:10:350:33 | mergeAttributes(...) : ConcurrentModel [] : String | provenance | MaD:22 | +| Test.java:350:10:350:33 | mergeAttributes(...) : ConcurrentModel [] : String | Test.java:351:19:351:21 | out : ConcurrentModel [] : String | provenance | | +| Test.java:351:19:351:21 | out : ConcurrentModel [] : String | Test.java:17:19:17:43 | container : ConcurrentModel [] : String | provenance | | +| Test.java:351:19:351:21 | out : ConcurrentModel [] : String | Test.java:351:9:351:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:356:13:356:34 | of(...) : Map [] : Object | Test.java:357:24:357:25 | in : Map [] : Object | provenance | | +| Test.java:356:20:356:27 | source(...) : Object | Test.java:356:13:356:34 | of(...) : Map [] : Object | provenance | MaD:6 | +| Test.java:357:4:357:6 | out [post update] : Model [] : Object | Test.java:358:19:358:21 | out : Model [] : Object | provenance | | +| Test.java:357:24:357:25 | in : Map [] : Object | Test.java:357:4:357:6 | out [post update] : Model [] : Object | provenance | MaD:23 | +| Test.java:358:19:358:21 | out : Model [] : Object | Test.java:15:19:15:33 | container : Model [] : Object | provenance | | +| Test.java:358:19:358:21 | out : Model [] : Object | Test.java:358:9:358:22 | getMapKey(...) | provenance | MaD:19 | +| Test.java:363:13:363:34 | of(...) : Map [] : Object | Test.java:364:24:364:25 | in : Map [] : Object | provenance | | +| Test.java:363:20:363:27 | source(...) : Object | Test.java:363:13:363:34 | of(...) : Map [] : Object | provenance | MaD:6 | +| Test.java:364:4:364:6 | out [post update] : ConcurrentModel [] : Object | Test.java:365:19:365:21 | out : ConcurrentModel [] : Object | provenance | | +| Test.java:364:24:364:25 | in : Map [] : Object | Test.java:364:4:364:6 | out [post update] : ConcurrentModel [] : Object | provenance | MaD:23 | +| Test.java:365:19:365:21 | out : ConcurrentModel [] : Object | Test.java:17:19:17:43 | container : ConcurrentModel [] : Object | provenance | | +| Test.java:365:19:365:21 | out : ConcurrentModel [] : Object | Test.java:365:9:365:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:370:15:370:43 | (...)... : Map [] : Object | Test.java:371:10:371:11 | in : Map [] : Object | provenance | | +| Test.java:370:22:370:43 | of(...) : Map [] : Object | Test.java:370:15:370:43 | (...)... : Map [] : Object | provenance | | +| Test.java:370:35:370:42 | source(...) : Object | Test.java:370:22:370:43 | of(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:371:10:371:11 | in : Map [] : Object | Test.java:371:10:371:33 | mergeAttributes(...) : Map [] : Object | provenance | MaD:22 | +| Test.java:371:10:371:33 | mergeAttributes(...) : Map [] : Object | Test.java:372:21:372:23 | out : Map [] : Object | provenance | | +| Test.java:372:21:372:23 | out : Map [] : Object | Test.java:16:21:16:35 | container : Map [] : Object | provenance | | +| Test.java:372:21:372:23 | out : Map [] : Object | Test.java:372:9:372:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:377:25:377:59 | new ConcurrentModel(...) : ConcurrentModel [] : Object | Test.java:378:10:378:11 | in : ConcurrentModel [] : Object | provenance | | +| Test.java:377:51:377:58 | source(...) : Object | Test.java:377:25:377:59 | new ConcurrentModel(...) : ConcurrentModel [] : Object | provenance | MaD:10 | +| Test.java:378:10:378:11 | in : ConcurrentModel [] : Object | Test.java:378:10:378:33 | mergeAttributes(...) : ConcurrentModel [] : Object | provenance | MaD:22 | +| Test.java:378:10:378:33 | mergeAttributes(...) : ConcurrentModel [] : Object | Test.java:379:21:379:23 | out : ConcurrentModel [] : Object | provenance | | +| Test.java:379:21:379:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | provenance | | +| Test.java:379:21:379:23 | out : ConcurrentModel [] : Object | Test.java:379:9:379:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:384:13:384:34 | of(...) : Map [] : Object | Test.java:385:24:385:25 | in : Map [] : Object | provenance | | +| Test.java:384:26:384:33 | source(...) : Object | Test.java:384:13:384:34 | of(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:385:4:385:6 | out [post update] : Model [] : Object | Test.java:386:21:386:23 | out : Model [] : Object | provenance | | +| Test.java:385:24:385:25 | in : Map [] : Object | Test.java:385:4:385:6 | out [post update] : Model [] : Object | provenance | MaD:24 | +| Test.java:386:21:386:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | provenance | | +| Test.java:386:21:386:23 | out : Model [] : Object | Test.java:386:9:386:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:391:13:391:34 | of(...) : Map [] : Object | Test.java:392:24:392:25 | in : Map [] : Object | provenance | | +| Test.java:391:26:391:33 | source(...) : Object | Test.java:391:13:391:34 | of(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:392:4:392:6 | out [post update] : ConcurrentModel [] : Object | Test.java:393:21:393:23 | out : ConcurrentModel [] : Object | provenance | | +| Test.java:392:24:392:25 | in : Map [] : Object | Test.java:392:4:392:6 | out [post update] : ConcurrentModel [] : Object | provenance | MaD:24 | +| Test.java:393:21:393:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | provenance | | +| Test.java:393:21:393:23 | out : ConcurrentModel [] : Object | Test.java:393:9:393:24 | getMapValue(...) | provenance | MaD:21 | +| Test.java:398:16:398:23 | source(...) : Object | Test.java:399:23:399:24 | in : Object | provenance | | +| Test.java:399:10:399:25 | new ModelMap(...) : ModelMap [] : Object | Test.java:400:21:400:23 | out : ModelMap [] : Object | provenance | | +| Test.java:399:23:399:24 | in : Object | Test.java:399:10:399:25 | new ModelMap(...) : ModelMap [] : Object | provenance | MaD:25 | +| Test.java:400:21:400:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | provenance | | +| Test.java:400:21:400:23 | out : ModelMap [] : Object | Test.java:400:9:400:24 | getMapValue(...) | provenance | MaD:36 | +| Test.java:405:16:405:31 | (...)... : String | Test.java:406:23:406:24 | in : String | provenance | | +| Test.java:405:24:405:31 | source(...) : Object | Test.java:405:16:405:31 | (...)... : String | provenance | | +| Test.java:406:10:406:31 | new ModelMap(...) : ModelMap [] : String | Test.java:407:19:407:21 | out : ModelMap [] : String | provenance | | +| Test.java:406:23:406:24 | in : String | Test.java:406:10:406:31 | new ModelMap(...) : ModelMap [] : String | provenance | MaD:26 | +| Test.java:407:19:407:21 | out : ModelMap [] : String | Test.java:19:19:19:36 | container : ModelMap [] : String | provenance | | +| Test.java:407:19:407:21 | out : ModelMap [] : String | Test.java:407:9:407:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:412:16:412:23 | source(...) : Object | Test.java:413:29:413:30 | in : Object | provenance | | +| Test.java:413:10:413:31 | new ModelMap(...) : ModelMap [] : Object | Test.java:414:21:414:23 | out : ModelMap [] : Object | provenance | | +| Test.java:413:29:413:30 | in : Object | Test.java:413:10:413:31 | new ModelMap(...) : ModelMap [] : Object | provenance | MaD:27 | +| Test.java:414:21:414:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | provenance | | +| Test.java:414:21:414:23 | out : ModelMap [] : Object | Test.java:414:9:414:24 | getMapValue(...) | provenance | MaD:36 | +| Test.java:419:20:419:36 | of(...) : List [] : Object | Test.java:420:25:420:26 | in : List [] : Object | provenance | | +| Test.java:419:28:419:35 | source(...) : Object | Test.java:419:20:419:36 | of(...) : List [] : Object | provenance | MaD:3 | +| Test.java:420:4:420:6 | out [post update] : ModelMap [] : Object | Test.java:421:21:421:23 | out : ModelMap [] : Object | provenance | | +| Test.java:420:25:420:26 | in : List [] : Object | Test.java:420:4:420:6 | out [post update] : ModelMap [] : Object | provenance | MaD:29 | +| Test.java:421:21:421:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | provenance | | +| Test.java:421:21:421:23 | out : ModelMap [] : Object | Test.java:421:9:421:24 | getMapValue(...) | provenance | MaD:36 | +| Test.java:426:20:426:36 | of(...) : List [] : Object | Test.java:428:36:428:37 | in : List [] : Object | provenance | | +| Test.java:426:28:426:35 | source(...) : Object | Test.java:426:20:426:36 | of(...) : List [] : Object | provenance | MaD:3 | +| Test.java:428:10:428:38 | addAllAttributes(...) : ModelMap [] : Object | Test.java:429:21:429:23 | out : ModelMap [] : Object | provenance | | +| Test.java:428:36:428:37 | in : List [] : Object | Test.java:428:10:428:38 | addAllAttributes(...) : ModelMap [] : Object | provenance | MaD:29+MaD:28 | +| Test.java:429:21:429:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | provenance | | +| Test.java:429:21:429:23 | out : ModelMap [] : Object | Test.java:429:9:429:24 | getMapValue(...) | provenance | MaD:36 | +| Test.java:434:13:434:34 | of(...) : Map [] : Object | Test.java:435:25:435:26 | in : Map [] : Object | provenance | | +| Test.java:434:20:434:27 | source(...) : Object | Test.java:434:13:434:34 | of(...) : Map [] : Object | provenance | MaD:6 | +| Test.java:435:4:435:6 | out [post update] : ModelMap [] : Object | Test.java:436:19:436:21 | out : ModelMap [] : Object | provenance | | +| Test.java:435:25:435:26 | in : Map [] : Object | Test.java:435:4:435:6 | out [post update] : ModelMap [] : Object | provenance | MaD:30 | +| Test.java:436:19:436:21 | out : ModelMap [] : Object | Test.java:19:19:19:36 | container : ModelMap [] : Object | provenance | | +| Test.java:436:19:436:21 | out : ModelMap [] : Object | Test.java:436:9:436:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:441:13:441:34 | of(...) : Map [] : Object | Test.java:443:36:443:37 | in : Map [] : Object | provenance | | +| Test.java:441:20:441:27 | source(...) : Object | Test.java:441:13:441:34 | of(...) : Map [] : Object | provenance | MaD:6 | +| Test.java:443:10:443:38 | addAllAttributes(...) : ModelMap [] : Object | Test.java:444:19:444:21 | out : ModelMap [] : Object | provenance | | +| Test.java:443:36:443:37 | in : Map [] : Object | Test.java:443:10:443:38 | addAllAttributes(...) : ModelMap [] : Object | provenance | MaD:30+MaD:28 | +| Test.java:444:19:444:21 | out : ModelMap [] : Object | Test.java:19:19:19:36 | container : ModelMap [] : Object | provenance | | +| Test.java:444:19:444:21 | out : ModelMap [] : Object | Test.java:444:9:444:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:449:13:449:34 | of(...) : Map [] : Object | Test.java:450:25:450:26 | in : Map [] : Object | provenance | | +| Test.java:449:26:449:33 | source(...) : Object | Test.java:449:13:449:34 | of(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:450:4:450:6 | out [post update] : ModelMap [] : Object | Test.java:451:21:451:23 | out : ModelMap [] : Object | provenance | | +| Test.java:450:25:450:26 | in : Map [] : Object | Test.java:450:4:450:6 | out [post update] : ModelMap [] : Object | provenance | MaD:31 | +| Test.java:451:21:451:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | provenance | | +| Test.java:451:21:451:23 | out : ModelMap [] : Object | Test.java:451:9:451:24 | getMapValue(...) | provenance | MaD:36 | +| Test.java:456:13:456:34 | of(...) : Map [] : Object | Test.java:458:36:458:37 | in : Map [] : Object | provenance | | +| Test.java:456:26:456:33 | source(...) : Object | Test.java:456:13:456:34 | of(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:458:10:458:38 | addAllAttributes(...) : ModelMap [] : Object | Test.java:459:21:459:23 | out : ModelMap [] : Object | provenance | | +| Test.java:458:36:458:37 | in : Map [] : Object | Test.java:458:10:458:38 | addAllAttributes(...) : ModelMap [] : Object | provenance | MaD:31+MaD:28 | +| Test.java:459:21:459:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | provenance | | +| Test.java:459:21:459:23 | out : ModelMap [] : Object | Test.java:459:9:459:24 | getMapValue(...) | provenance | MaD:36 | +| Test.java:464:18:464:35 | (...)... : ModelMap | Test.java:465:10:465:11 | in : ModelMap | provenance | | +| Test.java:464:28:464:35 | source(...) : Object | Test.java:464:18:464:35 | (...)... : ModelMap | provenance | | +| Test.java:465:10:465:11 | in : ModelMap | Test.java:465:10:465:39 | addAllAttributes(...) : ModelMap | provenance | MaD:28 | +| Test.java:465:10:465:39 | addAllAttributes(...) : ModelMap | Test.java:466:9:466:11 | out | provenance | | +| Test.java:471:18:471:35 | (...)... : ModelMap | Test.java:472:10:472:11 | in : ModelMap | provenance | | +| Test.java:471:28:471:35 | source(...) : Object | Test.java:471:18:471:35 | (...)... : ModelMap | provenance | | +| Test.java:472:10:472:11 | in : ModelMap | Test.java:472:10:472:46 | addAllAttributes(...) : ModelMap | provenance | MaD:28 | +| Test.java:472:10:472:46 | addAllAttributes(...) : ModelMap | Test.java:473:9:473:11 | out | provenance | | +| Test.java:478:16:478:23 | source(...) : Object | Test.java:479:21:479:22 | in : Object | provenance | | +| Test.java:479:4:479:6 | out [post update] : ModelMap [] : Object | Test.java:480:21:480:23 | out : ModelMap [] : Object | provenance | | +| Test.java:479:21:479:22 | in : Object | Test.java:479:4:479:6 | out [post update] : ModelMap [] : Object | provenance | MaD:33 | +| Test.java:480:21:480:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | provenance | | +| Test.java:480:21:480:23 | out : ModelMap [] : Object | Test.java:480:9:480:24 | getMapValue(...) | provenance | MaD:36 | +| Test.java:485:16:485:23 | source(...) : Object | Test.java:487:32:487:33 | in : Object | provenance | | +| Test.java:487:10:487:34 | addAttribute(...) : ModelMap [] : Object | Test.java:488:21:488:23 | out : ModelMap [] : Object | provenance | | +| Test.java:487:32:487:33 | in : Object | Test.java:487:10:487:34 | addAttribute(...) : ModelMap [] : Object | provenance | MaD:33+MaD:32 | +| Test.java:488:21:488:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | provenance | | +| Test.java:488:21:488:23 | out : ModelMap [] : Object | Test.java:488:9:488:24 | getMapValue(...) | provenance | MaD:36 | +| Test.java:493:16:493:31 | (...)... : String | Test.java:494:21:494:22 | in : String | provenance | | +| Test.java:493:24:493:31 | source(...) : Object | Test.java:493:16:493:31 | (...)... : String | provenance | | +| Test.java:494:4:494:6 | out [post update] : ModelMap [] : String | Test.java:495:19:495:21 | out : ModelMap [] : String | provenance | | +| Test.java:494:21:494:22 | in : String | Test.java:494:4:494:6 | out [post update] : ModelMap [] : String | provenance | MaD:34 | +| Test.java:495:19:495:21 | out : ModelMap [] : String | Test.java:19:19:19:36 | container : ModelMap [] : String | provenance | | +| Test.java:495:19:495:21 | out : ModelMap [] : String | Test.java:495:9:495:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:500:16:500:31 | (...)... : String | Test.java:502:32:502:33 | in : String | provenance | | +| Test.java:500:24:500:31 | source(...) : Object | Test.java:500:16:500:31 | (...)... : String | provenance | | +| Test.java:502:10:502:40 | addAttribute(...) : ModelMap [] : String | Test.java:503:19:503:21 | out : ModelMap [] : String | provenance | | +| Test.java:502:32:502:33 | in : String | Test.java:502:10:502:40 | addAttribute(...) : ModelMap [] : String | provenance | MaD:34+MaD:32 | +| Test.java:503:19:503:21 | out : ModelMap [] : String | Test.java:19:19:19:36 | container : ModelMap [] : String | provenance | | +| Test.java:503:19:503:21 | out : ModelMap [] : String | Test.java:503:9:503:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:508:16:508:23 | source(...) : Object | Test.java:509:27:509:28 | in : Object | provenance | | +| Test.java:509:4:509:6 | out [post update] : ModelMap [] : Object | Test.java:510:21:510:23 | out : ModelMap [] : Object | provenance | | +| Test.java:509:27:509:28 | in : Object | Test.java:509:4:509:6 | out [post update] : ModelMap [] : Object | provenance | MaD:35 | +| Test.java:510:21:510:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | provenance | | +| Test.java:510:21:510:23 | out : ModelMap [] : Object | Test.java:510:9:510:24 | getMapValue(...) | provenance | MaD:36 | +| Test.java:515:16:515:23 | source(...) : Object | Test.java:517:38:517:39 | in : Object | provenance | | +| Test.java:517:10:517:40 | addAttribute(...) : ModelMap [] : Object | Test.java:518:21:518:23 | out : ModelMap [] : Object | provenance | | +| Test.java:517:38:517:39 | in : Object | Test.java:517:10:517:40 | addAttribute(...) : ModelMap [] : Object | provenance | MaD:35+MaD:32 | +| Test.java:518:21:518:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | provenance | | +| Test.java:518:21:518:23 | out : ModelMap [] : Object | Test.java:518:9:518:24 | getMapValue(...) | provenance | MaD:36 | +| Test.java:523:18:523:35 | (...)... : ModelMap | Test.java:524:10:524:11 | in : ModelMap | provenance | | +| Test.java:523:28:523:35 | source(...) : Object | Test.java:523:18:523:35 | (...)... : ModelMap | provenance | | +| Test.java:524:10:524:11 | in : ModelMap | Test.java:524:10:524:36 | addAttribute(...) : ModelMap | provenance | MaD:32 | +| Test.java:524:10:524:36 | addAttribute(...) : ModelMap | Test.java:525:9:525:11 | out | provenance | | +| Test.java:530:18:530:35 | (...)... : ModelMap | Test.java:531:10:531:11 | in : ModelMap | provenance | | +| Test.java:530:28:530:35 | source(...) : Object | Test.java:530:18:530:35 | (...)... : ModelMap | provenance | | +| Test.java:531:10:531:11 | in : ModelMap | Test.java:531:10:531:30 | addAttribute(...) : ModelMap | provenance | MaD:32 | +| Test.java:531:10:531:30 | addAttribute(...) : ModelMap | Test.java:532:9:532:11 | out | provenance | | +| Test.java:537:18:537:45 | new ModelMap(...) : ModelMap [] : Object | Test.java:538:10:538:11 | in : ModelMap [] : Object | provenance | | +| Test.java:537:37:537:44 | source(...) : Object | Test.java:537:18:537:45 | new ModelMap(...) : ModelMap [] : Object | provenance | MaD:27 | +| Test.java:538:10:538:11 | in : ModelMap [] : Object | Test.java:538:10:538:30 | getAttribute(...) : Object | provenance | MaD:36 | +| Test.java:538:10:538:30 | getAttribute(...) : Object | Test.java:539:9:539:11 | out | provenance | | +| Test.java:544:18:544:35 | (...)... : ModelMap | Test.java:545:10:545:11 | in : ModelMap | provenance | | +| Test.java:544:28:544:35 | source(...) : Object | Test.java:544:18:544:35 | (...)... : ModelMap | provenance | | +| Test.java:545:10:545:11 | in : ModelMap | Test.java:545:10:545:33 | mergeAttributes(...) : ModelMap | provenance | MaD:37 | +| Test.java:545:10:545:33 | mergeAttributes(...) : ModelMap | Test.java:546:9:546:11 | out | provenance | | +| Test.java:551:18:551:53 | new ModelMap(...) : ModelMap [] : String | Test.java:552:10:552:11 | in : ModelMap [] : String | provenance | | +| Test.java:551:31:551:46 | (...)... : String | Test.java:551:18:551:53 | new ModelMap(...) : ModelMap [] : String | provenance | MaD:26 | +| Test.java:551:39:551:46 | source(...) : Object | Test.java:551:31:551:46 | (...)... : String | provenance | | +| Test.java:552:10:552:11 | in : ModelMap [] : String | Test.java:552:10:552:33 | mergeAttributes(...) : ModelMap [] : String | provenance | MaD:37 | +| Test.java:552:10:552:33 | mergeAttributes(...) : ModelMap [] : String | Test.java:553:19:553:21 | out : ModelMap [] : String | provenance | | +| Test.java:553:19:553:21 | out : ModelMap [] : String | Test.java:19:19:19:36 | container : ModelMap [] : String | provenance | | +| Test.java:553:19:553:21 | out : ModelMap [] : String | Test.java:553:9:553:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:558:13:558:34 | of(...) : Map [] : Object | Test.java:559:24:559:25 | in : Map [] : Object | provenance | | +| Test.java:558:20:558:27 | source(...) : Object | Test.java:558:13:558:34 | of(...) : Map [] : Object | provenance | MaD:6 | +| Test.java:559:4:559:6 | out [post update] : ModelMap [] : Object | Test.java:560:19:560:21 | out : ModelMap [] : Object | provenance | | +| Test.java:559:24:559:25 | in : Map [] : Object | Test.java:559:4:559:6 | out [post update] : ModelMap [] : Object | provenance | MaD:38 | +| Test.java:560:19:560:21 | out : ModelMap [] : Object | Test.java:19:19:19:36 | container : ModelMap [] : Object | provenance | | +| Test.java:560:19:560:21 | out : ModelMap [] : Object | Test.java:560:9:560:22 | getMapKey(...) | provenance | MaD:5 | +| Test.java:565:18:565:45 | new ModelMap(...) : ModelMap [] : Object | Test.java:566:10:566:11 | in : ModelMap [] : Object | provenance | | +| Test.java:565:37:565:44 | source(...) : Object | Test.java:565:18:565:45 | new ModelMap(...) : ModelMap [] : Object | provenance | MaD:27 | +| Test.java:566:10:566:11 | in : ModelMap [] : Object | Test.java:566:10:566:33 | mergeAttributes(...) : ModelMap [] : Object | provenance | MaD:37 | +| Test.java:566:10:566:33 | mergeAttributes(...) : ModelMap [] : Object | Test.java:567:21:567:23 | out : ModelMap [] : Object | provenance | | +| Test.java:567:21:567:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | provenance | | +| Test.java:567:21:567:23 | out : ModelMap [] : Object | Test.java:567:9:567:24 | getMapValue(...) | provenance | MaD:36 | +| Test.java:572:13:572:34 | of(...) : Map [] : Object | Test.java:573:24:573:25 | in : Map [] : Object | provenance | | +| Test.java:572:26:572:33 | source(...) : Object | Test.java:572:13:572:34 | of(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:573:4:573:6 | out [post update] : ModelMap [] : Object | Test.java:574:21:574:23 | out : ModelMap [] : Object | provenance | | +| Test.java:573:24:573:25 | in : Map [] : Object | Test.java:573:4:573:6 | out [post update] : ModelMap [] : Object | provenance | MaD:39 | +| Test.java:574:21:574:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | provenance | | +| Test.java:574:21:574:23 | out : ModelMap [] : Object | Test.java:574:9:574:24 | getMapValue(...) | provenance | MaD:36 | +nodes +| Test.java:13:18:13:35 | container : Map [] : String | semmle.label | container : Map [] : String | +| Test.java:13:47:13:55 | container : Map [] : String | semmle.label | container : Map [] : String | +| Test.java:13:47:13:64 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:13:47:13:75 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:13:47:13:82 | next(...) : String | semmle.label | next(...) : String | +| Test.java:14:20:14:37 | container : Map [] : Object | semmle.label | container : Map [] : Object | +| Test.java:14:49:14:57 | container : Map [] : Object | semmle.label | container : Map [] : Object | +| Test.java:14:49:14:67 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:15:19:15:33 | container : ConcurrentModel [] : String | semmle.label | container : ConcurrentModel [] : String | +| Test.java:15:19:15:33 | container : Model [] : Object | semmle.label | container : Model [] : Object | +| Test.java:15:19:15:33 | container : Model [] : String | semmle.label | container : Model [] : String | +| Test.java:15:45:15:53 | container : ConcurrentModel [] : String | semmle.label | container : ConcurrentModel [] : String | +| Test.java:15:45:15:53 | container : Model [] : Object | semmle.label | container : Model [] : Object | +| Test.java:15:45:15:53 | container : Model [] : String | semmle.label | container : Model [] : String | +| Test.java:15:45:15:61 | asMap(...) : Map [] : Object | semmle.label | asMap(...) : Map [] : Object | +| Test.java:15:45:15:61 | asMap(...) : Map [] : String | semmle.label | asMap(...) : Map [] : String | +| Test.java:15:45:15:61 | asMap(...) : Map [] : String | semmle.label | asMap(...) : Map [] : String | +| Test.java:15:45:15:70 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:15:45:15:70 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:15:45:15:70 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:15:45:15:81 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:15:45:15:81 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:15:45:15:81 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:15:45:15:88 | next(...) : String | semmle.label | next(...) : String | +| Test.java:15:45:15:88 | next(...) : String | semmle.label | next(...) : String | +| Test.java:15:45:15:88 | next(...) : String | semmle.label | next(...) : String | +| Test.java:16:21:16:35 | container : Map [] : Object | semmle.label | container : Map [] : Object | +| Test.java:16:21:16:35 | container : Model [] : Object | semmle.label | container : Model [] : Object | +| Test.java:16:47:16:55 | container : Map [] : Object | semmle.label | container : Map [] : Object | +| Test.java:16:47:16:55 | container : Model [] : Object | semmle.label | container : Model [] : Object | +| Test.java:16:47:16:74 | getAttribute(...) : Object | semmle.label | getAttribute(...) : Object | +| Test.java:16:47:16:74 | getAttribute(...) : Object | semmle.label | getAttribute(...) : Object | +| Test.java:17:19:17:43 | container : ConcurrentModel [] : Object | semmle.label | container : ConcurrentModel [] : Object | +| Test.java:17:19:17:43 | container : ConcurrentModel [] : String | semmle.label | container : ConcurrentModel [] : String | +| Test.java:17:55:17:63 | container : ConcurrentModel [] : Object | semmle.label | container : ConcurrentModel [] : Object | +| Test.java:17:55:17:63 | container : ConcurrentModel [] : String | semmle.label | container : ConcurrentModel [] : String | +| Test.java:17:55:17:72 | keySet(...) : KeySetView [] : Object | semmle.label | keySet(...) : KeySetView [] : Object | +| Test.java:17:55:17:72 | keySet(...) : KeySetView [] : String | semmle.label | keySet(...) : KeySetView [] : String | +| Test.java:17:55:17:83 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:17:55:17:83 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:17:55:17:90 | next(...) : String | semmle.label | next(...) : String | +| Test.java:17:55:17:90 | next(...) : String | semmle.label | next(...) : String | +| Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | semmle.label | container : ConcurrentModel [] : Object | +| Test.java:18:57:18:65 | container : ConcurrentModel [] : Object | semmle.label | container : ConcurrentModel [] : Object | +| Test.java:18:57:18:84 | getAttribute(...) : Object | semmle.label | getAttribute(...) : Object | +| Test.java:19:19:19:36 | container : ModelMap [] : Object | semmle.label | container : ModelMap [] : Object | +| Test.java:19:19:19:36 | container : ModelMap [] : String | semmle.label | container : ModelMap [] : String | +| Test.java:19:48:19:56 | container : ModelMap [] : Object | semmle.label | container : ModelMap [] : Object | +| Test.java:19:48:19:56 | container : ModelMap [] : String | semmle.label | container : ModelMap [] : String | +| Test.java:19:48:19:65 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:19:48:19:65 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:19:48:19:76 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:19:48:19:76 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | +| Test.java:19:48:19:83 | next(...) : String | semmle.label | next(...) : String | +| Test.java:19:48:19:83 | next(...) : String | semmle.label | next(...) : String | +| Test.java:20:21:20:38 | container : ModelMap [] : Object | semmle.label | container : ModelMap [] : Object | +| Test.java:20:50:20:58 | container : ModelMap [] : Object | semmle.label | container : ModelMap [] : Object | +| Test.java:20:50:20:77 | getAttribute(...) : Object | semmle.label | getAttribute(...) : Object | +| Test.java:29:16:29:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:30:10:30:32 | new ConcurrentModel(...) : ConcurrentModel [] : Object | semmle.label | new ConcurrentModel(...) : ConcurrentModel [] : Object | +| Test.java:30:30:30:31 | in : Object | semmle.label | in : Object | +| Test.java:31:9:31:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:31:21:31:23 | out : ConcurrentModel [] : Object | semmle.label | out : ConcurrentModel [] : Object | +| Test.java:36:16:36:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:36:24:36:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:37:10:37:38 | new ConcurrentModel(...) : ConcurrentModel [] : String | semmle.label | new ConcurrentModel(...) : ConcurrentModel [] : String | +| Test.java:37:30:37:31 | in : String | semmle.label | in : String | +| Test.java:38:9:38:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:38:19:38:21 | out : ConcurrentModel [] : String | semmle.label | out : ConcurrentModel [] : String | +| Test.java:43:16:43:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:44:10:44:38 | new ConcurrentModel(...) : ConcurrentModel [] : Object | semmle.label | new ConcurrentModel(...) : ConcurrentModel [] : Object | +| Test.java:44:36:44:37 | in : Object | semmle.label | in : Object | +| Test.java:45:9:45:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:45:21:45:23 | out : ConcurrentModel [] : Object | semmle.label | out : ConcurrentModel [] : Object | +| Test.java:50:20:50:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:50:28:50:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:51:4:51:6 | out [post update] : Model [] : Object | semmle.label | out [post update] : Model [] : Object | +| Test.java:51:25:51:26 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:52:9:52:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:52:21:52:23 | out : Model [] : Object | semmle.label | out : Model [] : Object | +| Test.java:57:20:57:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:57:28:57:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:58:4:58:6 | out [post update] : ConcurrentModel [] : Object | semmle.label | out [post update] : ConcurrentModel [] : Object | +| Test.java:58:25:58:26 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:59:9:59:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:59:21:59:23 | out : ConcurrentModel [] : Object | semmle.label | out : ConcurrentModel [] : Object | +| Test.java:64:20:64:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:64:28:64:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:66:10:66:38 | addAllAttributes(...) : Model [] : Object | semmle.label | addAllAttributes(...) : Model [] : Object | +| Test.java:66:36:66:37 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:67:9:67:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:67:21:67:23 | out : Model [] : Object | semmle.label | out : Model [] : Object | +| Test.java:72:20:72:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:72:28:72:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:74:10:74:38 | addAllAttributes(...) : ConcurrentModel [] : Object | semmle.label | addAllAttributes(...) : ConcurrentModel [] : Object | +| Test.java:74:36:74:37 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:75:9:75:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:75:21:75:23 | out : ConcurrentModel [] : Object | semmle.label | out : ConcurrentModel [] : Object | +| Test.java:80:13:80:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:80:20:80:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:81:4:81:6 | out [post update] : Model [] : Object | semmle.label | out [post update] : Model [] : Object | +| Test.java:81:25:81:26 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:82:9:82:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:82:19:82:21 | out : Model [] : Object | semmle.label | out : Model [] : Object | +| Test.java:87:13:87:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:87:20:87:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:88:4:88:6 | out [post update] : ConcurrentModel [] : Object | semmle.label | out [post update] : ConcurrentModel [] : Object | +| Test.java:88:25:88:26 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:89:9:89:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:89:19:89:21 | out : ConcurrentModel [] : Object | semmle.label | out : ConcurrentModel [] : Object | +| Test.java:94:13:94:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:94:20:94:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:96:10:96:38 | addAllAttributes(...) : Model [] : Object | semmle.label | addAllAttributes(...) : Model [] : Object | +| Test.java:96:36:96:37 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:97:9:97:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:97:19:97:21 | out : Model [] : Object | semmle.label | out : Model [] : Object | +| Test.java:102:13:102:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:102:20:102:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:104:10:104:38 | addAllAttributes(...) : ConcurrentModel [] : Object | semmle.label | addAllAttributes(...) : ConcurrentModel [] : Object | +| Test.java:104:36:104:37 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:105:9:105:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:105:19:105:21 | out : ConcurrentModel [] : Object | semmle.label | out : ConcurrentModel [] : Object | +| Test.java:110:13:110:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:110:26:110:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:111:4:111:6 | out [post update] : Model [] : Object | semmle.label | out [post update] : Model [] : Object | +| Test.java:111:25:111:26 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:112:9:112:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:112:21:112:23 | out : Model [] : Object | semmle.label | out : Model [] : Object | +| Test.java:117:13:117:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:117:26:117:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:118:4:118:6 | out [post update] : ConcurrentModel [] : Object | semmle.label | out [post update] : ConcurrentModel [] : Object | +| Test.java:118:25:118:26 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:119:9:119:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:119:21:119:23 | out : ConcurrentModel [] : Object | semmle.label | out : ConcurrentModel [] : Object | +| Test.java:124:13:124:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:124:26:124:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:126:10:126:38 | addAllAttributes(...) : Model [] : Object | semmle.label | addAllAttributes(...) : Model [] : Object | +| Test.java:126:36:126:37 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:127:9:127:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:127:21:127:23 | out : Model [] : Object | semmle.label | out : Model [] : Object | +| Test.java:132:13:132:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:132:26:132:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:134:10:134:38 | addAllAttributes(...) : ConcurrentModel [] : Object | semmle.label | addAllAttributes(...) : ConcurrentModel [] : Object | +| Test.java:134:36:134:37 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:135:9:135:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:135:21:135:23 | out : ConcurrentModel [] : Object | semmle.label | out : ConcurrentModel [] : Object | +| Test.java:140:15:140:29 | (...)... : Model | semmle.label | (...)... : Model | +| Test.java:140:22:140:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:141:10:141:11 | in : Model | semmle.label | in : Model | +| Test.java:141:10:141:39 | addAllAttributes(...) : Model | semmle.label | addAllAttributes(...) : Model | +| Test.java:142:9:142:11 | out | semmle.label | out | +| Test.java:147:15:147:29 | (...)... : Model | semmle.label | (...)... : Model | +| Test.java:147:22:147:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:148:10:148:11 | in : Model | semmle.label | in : Model | +| Test.java:148:10:148:46 | addAllAttributes(...) : Model | semmle.label | addAllAttributes(...) : Model | +| Test.java:149:9:149:11 | out | semmle.label | out | +| Test.java:154:25:154:49 | (...)... : ConcurrentModel | semmle.label | (...)... : ConcurrentModel | +| Test.java:154:42:154:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:155:10:155:11 | in : ConcurrentModel | semmle.label | in : ConcurrentModel | +| Test.java:155:10:155:39 | addAllAttributes(...) : ConcurrentModel | semmle.label | addAllAttributes(...) : ConcurrentModel | +| Test.java:156:9:156:11 | out | semmle.label | out | +| Test.java:161:25:161:49 | (...)... : ConcurrentModel | semmle.label | (...)... : ConcurrentModel | +| Test.java:161:42:161:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:162:10:162:11 | in : ConcurrentModel | semmle.label | in : ConcurrentModel | +| Test.java:162:10:162:46 | addAllAttributes(...) : ConcurrentModel | semmle.label | addAllAttributes(...) : ConcurrentModel | +| Test.java:163:9:163:11 | out | semmle.label | out | +| Test.java:168:16:168:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:169:4:169:6 | out [post update] : Model [] : Object | semmle.label | out [post update] : Model [] : Object | +| Test.java:169:21:169:22 | in : Object | semmle.label | in : Object | +| Test.java:170:9:170:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:170:21:170:23 | out : Model [] : Object | semmle.label | out : Model [] : Object | +| Test.java:175:16:175:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:176:4:176:6 | out [post update] : ConcurrentModel [] : Object | semmle.label | out [post update] : ConcurrentModel [] : Object | +| Test.java:176:21:176:22 | in : Object | semmle.label | in : Object | +| Test.java:177:9:177:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:177:21:177:23 | out : ConcurrentModel [] : Object | semmle.label | out : ConcurrentModel [] : Object | +| Test.java:182:16:182:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:184:10:184:34 | addAttribute(...) : Model [] : Object | semmle.label | addAttribute(...) : Model [] : Object | +| Test.java:184:32:184:33 | in : Object | semmle.label | in : Object | +| Test.java:185:9:185:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:185:21:185:23 | out : Model [] : Object | semmle.label | out : Model [] : Object | +| Test.java:190:16:190:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:192:10:192:34 | addAttribute(...) : ConcurrentModel [] : Object | semmle.label | addAttribute(...) : ConcurrentModel [] : Object | +| Test.java:192:32:192:33 | in : Object | semmle.label | in : Object | +| Test.java:193:9:193:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:193:21:193:23 | out : ConcurrentModel [] : Object | semmle.label | out : ConcurrentModel [] : Object | +| Test.java:198:16:198:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:198:24:198:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:199:4:199:6 | out [post update] : Model [] : String | semmle.label | out [post update] : Model [] : String | +| Test.java:199:21:199:22 | in : String | semmle.label | in : String | +| Test.java:200:9:200:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:200:19:200:21 | out : Model [] : String | semmle.label | out : Model [] : String | +| Test.java:205:16:205:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:205:24:205:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:206:4:206:6 | out [post update] : ConcurrentModel [] : String | semmle.label | out [post update] : ConcurrentModel [] : String | +| Test.java:206:21:206:22 | in : String | semmle.label | in : String | +| Test.java:207:9:207:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:207:19:207:21 | out : ConcurrentModel [] : String | semmle.label | out : ConcurrentModel [] : String | +| Test.java:212:16:212:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:212:24:212:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:214:10:214:40 | addAttribute(...) : Model [] : String | semmle.label | addAttribute(...) : Model [] : String | +| Test.java:214:32:214:33 | in : String | semmle.label | in : String | +| Test.java:215:9:215:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:215:19:215:21 | out : Model [] : String | semmle.label | out : Model [] : String | +| Test.java:220:16:220:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:220:24:220:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:222:10:222:40 | addAttribute(...) : ConcurrentModel [] : String | semmle.label | addAttribute(...) : ConcurrentModel [] : String | +| Test.java:222:32:222:33 | in : String | semmle.label | in : String | +| Test.java:223:9:223:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:223:19:223:21 | out : ConcurrentModel [] : String | semmle.label | out : ConcurrentModel [] : String | +| Test.java:228:16:228:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:229:4:229:6 | out [post update] : Model [] : Object | semmle.label | out [post update] : Model [] : Object | +| Test.java:229:27:229:28 | in : Object | semmle.label | in : Object | +| Test.java:230:9:230:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:230:21:230:23 | out : Model [] : Object | semmle.label | out : Model [] : Object | +| Test.java:235:16:235:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:236:4:236:6 | out [post update] : ConcurrentModel [] : Object | semmle.label | out [post update] : ConcurrentModel [] : Object | +| Test.java:236:27:236:28 | in : Object | semmle.label | in : Object | +| Test.java:237:9:237:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:237:21:237:23 | out : ConcurrentModel [] : Object | semmle.label | out : ConcurrentModel [] : Object | +| Test.java:242:16:242:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:244:10:244:40 | addAttribute(...) : Model [] : Object | semmle.label | addAttribute(...) : Model [] : Object | +| Test.java:244:38:244:39 | in : Object | semmle.label | in : Object | +| Test.java:245:9:245:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:245:21:245:23 | out : Model [] : Object | semmle.label | out : Model [] : Object | +| Test.java:250:16:250:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:252:10:252:40 | addAttribute(...) : ConcurrentModel [] : Object | semmle.label | addAttribute(...) : ConcurrentModel [] : Object | +| Test.java:252:38:252:39 | in : Object | semmle.label | in : Object | +| Test.java:253:9:253:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:253:21:253:23 | out : ConcurrentModel [] : Object | semmle.label | out : ConcurrentModel [] : Object | +| Test.java:258:15:258:29 | (...)... : Model | semmle.label | (...)... : Model | +| Test.java:258:22:258:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:259:10:259:11 | in : Model | semmle.label | in : Model | +| Test.java:259:10:259:36 | addAttribute(...) : Model | semmle.label | addAttribute(...) : Model | +| Test.java:260:9:260:11 | out | semmle.label | out | +| Test.java:265:15:265:29 | (...)... : Model | semmle.label | (...)... : Model | +| Test.java:265:22:265:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:266:10:266:11 | in : Model | semmle.label | in : Model | +| Test.java:266:10:266:30 | addAttribute(...) : Model | semmle.label | addAttribute(...) : Model | +| Test.java:267:9:267:11 | out | semmle.label | out | +| Test.java:272:25:272:49 | (...)... : ConcurrentModel | semmle.label | (...)... : ConcurrentModel | +| Test.java:272:42:272:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:273:10:273:11 | in : ConcurrentModel | semmle.label | in : ConcurrentModel | +| Test.java:273:10:273:36 | addAttribute(...) : ConcurrentModel | semmle.label | addAttribute(...) : ConcurrentModel | +| Test.java:274:9:274:11 | out | semmle.label | out | +| Test.java:279:25:279:49 | (...)... : ConcurrentModel | semmle.label | (...)... : ConcurrentModel | +| Test.java:279:42:279:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:280:10:280:11 | in : ConcurrentModel | semmle.label | in : ConcurrentModel | +| Test.java:280:10:280:30 | addAttribute(...) : ConcurrentModel | semmle.label | addAttribute(...) : ConcurrentModel | +| Test.java:281:9:281:11 | out | semmle.label | out | +| Test.java:286:15:286:57 | new ConcurrentModel(...) : ConcurrentModel [] : String | semmle.label | new ConcurrentModel(...) : ConcurrentModel [] : String | +| Test.java:286:35:286:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:286:43:286:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:287:10:287:11 | in : ConcurrentModel [] : String | semmle.label | in : ConcurrentModel [] : String | +| Test.java:287:10:287:19 | asMap(...) : Map [] : String | semmle.label | asMap(...) : Map [] : String | +| Test.java:288:9:288:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:288:19:288:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:293:25:293:67 | new ConcurrentModel(...) : ConcurrentModel [] : String | semmle.label | new ConcurrentModel(...) : ConcurrentModel [] : String | +| Test.java:293:45:293:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:293:53:293:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:294:10:294:11 | in : ConcurrentModel [] : String | semmle.label | in : ConcurrentModel [] : String | +| Test.java:294:10:294:19 | asMap(...) : Map [] : String | semmle.label | asMap(...) : Map [] : String | +| Test.java:295:9:295:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:295:19:295:21 | out : Map [] : String | semmle.label | out : Map [] : String | +| Test.java:300:15:300:43 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:300:22:300:43 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:300:35:300:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:301:10:301:11 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:301:10:301:19 | asMap(...) : Map [] : Object | semmle.label | asMap(...) : Map [] : Object | +| Test.java:302:9:302:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:302:21:302:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:307:25:307:59 | new ConcurrentModel(...) : ConcurrentModel [] : Object | semmle.label | new ConcurrentModel(...) : ConcurrentModel [] : Object | +| Test.java:307:51:307:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:308:10:308:11 | in : ConcurrentModel [] : Object | semmle.label | in : ConcurrentModel [] : Object | +| Test.java:308:10:308:19 | asMap(...) : Map [] : Object | semmle.label | asMap(...) : Map [] : Object | +| Test.java:309:9:309:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:309:21:309:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:314:15:314:43 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:314:22:314:43 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:314:35:314:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:315:10:315:11 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:315:10:315:30 | getAttribute(...) : Object | semmle.label | getAttribute(...) : Object | +| Test.java:316:9:316:11 | out | semmle.label | out | +| Test.java:321:25:321:59 | new ConcurrentModel(...) : ConcurrentModel [] : Object | semmle.label | new ConcurrentModel(...) : ConcurrentModel [] : Object | +| Test.java:321:51:321:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:322:10:322:11 | in : ConcurrentModel [] : Object | semmle.label | in : ConcurrentModel [] : Object | +| Test.java:322:10:322:30 | getAttribute(...) : Object | semmle.label | getAttribute(...) : Object | +| Test.java:323:9:323:11 | out | semmle.label | out | +| Test.java:328:15:328:29 | (...)... : Model | semmle.label | (...)... : Model | +| Test.java:328:22:328:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:329:10:329:11 | in : Model | semmle.label | in : Model | +| Test.java:329:10:329:33 | mergeAttributes(...) : Model | semmle.label | mergeAttributes(...) : Model | +| Test.java:330:9:330:11 | out | semmle.label | out | +| Test.java:335:25:335:49 | (...)... : ConcurrentModel | semmle.label | (...)... : ConcurrentModel | +| Test.java:335:42:335:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:336:10:336:11 | in : ConcurrentModel | semmle.label | in : ConcurrentModel | +| Test.java:336:10:336:33 | mergeAttributes(...) : ConcurrentModel | semmle.label | mergeAttributes(...) : ConcurrentModel | +| Test.java:337:9:337:11 | out | semmle.label | out | +| Test.java:342:15:342:57 | new ConcurrentModel(...) : ConcurrentModel [] : String | semmle.label | new ConcurrentModel(...) : ConcurrentModel [] : String | +| Test.java:342:35:342:50 | (...)... : String | semmle.label | (...)... : String | +| Test.java:342:43:342:50 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:343:10:343:11 | in : ConcurrentModel [] : String | semmle.label | in : ConcurrentModel [] : String | +| Test.java:343:10:343:33 | mergeAttributes(...) : ConcurrentModel [] : String | semmle.label | mergeAttributes(...) : ConcurrentModel [] : String | +| Test.java:344:9:344:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:344:19:344:21 | out : ConcurrentModel [] : String | semmle.label | out : ConcurrentModel [] : String | +| Test.java:349:25:349:67 | new ConcurrentModel(...) : ConcurrentModel [] : String | semmle.label | new ConcurrentModel(...) : ConcurrentModel [] : String | +| Test.java:349:45:349:60 | (...)... : String | semmle.label | (...)... : String | +| Test.java:349:53:349:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:350:10:350:11 | in : ConcurrentModel [] : String | semmle.label | in : ConcurrentModel [] : String | +| Test.java:350:10:350:33 | mergeAttributes(...) : ConcurrentModel [] : String | semmle.label | mergeAttributes(...) : ConcurrentModel [] : String | +| Test.java:351:9:351:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:351:19:351:21 | out : ConcurrentModel [] : String | semmle.label | out : ConcurrentModel [] : String | +| Test.java:356:13:356:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:356:20:356:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:357:4:357:6 | out [post update] : Model [] : Object | semmle.label | out [post update] : Model [] : Object | +| Test.java:357:24:357:25 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:358:9:358:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:358:19:358:21 | out : Model [] : Object | semmle.label | out : Model [] : Object | +| Test.java:363:13:363:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:363:20:363:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:364:4:364:6 | out [post update] : ConcurrentModel [] : Object | semmle.label | out [post update] : ConcurrentModel [] : Object | +| Test.java:364:24:364:25 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:365:9:365:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:365:19:365:21 | out : ConcurrentModel [] : Object | semmle.label | out : ConcurrentModel [] : Object | +| Test.java:370:15:370:43 | (...)... : Map [] : Object | semmle.label | (...)... : Map [] : Object | +| Test.java:370:22:370:43 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:370:35:370:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:371:10:371:11 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:371:10:371:33 | mergeAttributes(...) : Map [] : Object | semmle.label | mergeAttributes(...) : Map [] : Object | +| Test.java:372:9:372:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:372:21:372:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:377:25:377:59 | new ConcurrentModel(...) : ConcurrentModel [] : Object | semmle.label | new ConcurrentModel(...) : ConcurrentModel [] : Object | +| Test.java:377:51:377:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:378:10:378:11 | in : ConcurrentModel [] : Object | semmle.label | in : ConcurrentModel [] : Object | +| Test.java:378:10:378:33 | mergeAttributes(...) : ConcurrentModel [] : Object | semmle.label | mergeAttributes(...) : ConcurrentModel [] : Object | +| Test.java:379:9:379:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:379:21:379:23 | out : ConcurrentModel [] : Object | semmle.label | out : ConcurrentModel [] : Object | +| Test.java:384:13:384:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:384:26:384:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:385:4:385:6 | out [post update] : Model [] : Object | semmle.label | out [post update] : Model [] : Object | +| Test.java:385:24:385:25 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:386:9:386:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:386:21:386:23 | out : Model [] : Object | semmle.label | out : Model [] : Object | +| Test.java:391:13:391:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:391:26:391:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:392:4:392:6 | out [post update] : ConcurrentModel [] : Object | semmle.label | out [post update] : ConcurrentModel [] : Object | +| Test.java:392:24:392:25 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:393:9:393:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:393:21:393:23 | out : ConcurrentModel [] : Object | semmle.label | out : ConcurrentModel [] : Object | +| Test.java:398:16:398:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:399:10:399:25 | new ModelMap(...) : ModelMap [] : Object | semmle.label | new ModelMap(...) : ModelMap [] : Object | +| Test.java:399:23:399:24 | in : Object | semmle.label | in : Object | +| Test.java:400:9:400:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:400:21:400:23 | out : ModelMap [] : Object | semmle.label | out : ModelMap [] : Object | +| Test.java:405:16:405:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:405:24:405:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:406:10:406:31 | new ModelMap(...) : ModelMap [] : String | semmle.label | new ModelMap(...) : ModelMap [] : String | +| Test.java:406:23:406:24 | in : String | semmle.label | in : String | +| Test.java:407:9:407:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:407:19:407:21 | out : ModelMap [] : String | semmle.label | out : ModelMap [] : String | +| Test.java:412:16:412:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:413:10:413:31 | new ModelMap(...) : ModelMap [] : Object | semmle.label | new ModelMap(...) : ModelMap [] : Object | +| Test.java:413:29:413:30 | in : Object | semmle.label | in : Object | +| Test.java:414:9:414:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:414:21:414:23 | out : ModelMap [] : Object | semmle.label | out : ModelMap [] : Object | +| Test.java:419:20:419:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:419:28:419:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:420:4:420:6 | out [post update] : ModelMap [] : Object | semmle.label | out [post update] : ModelMap [] : Object | +| Test.java:420:25:420:26 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:421:9:421:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:421:21:421:23 | out : ModelMap [] : Object | semmle.label | out : ModelMap [] : Object | +| Test.java:426:20:426:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:426:28:426:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:428:10:428:38 | addAllAttributes(...) : ModelMap [] : Object | semmle.label | addAllAttributes(...) : ModelMap [] : Object | +| Test.java:428:36:428:37 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:429:9:429:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:429:21:429:23 | out : ModelMap [] : Object | semmle.label | out : ModelMap [] : Object | +| Test.java:434:13:434:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:434:20:434:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:435:4:435:6 | out [post update] : ModelMap [] : Object | semmle.label | out [post update] : ModelMap [] : Object | +| Test.java:435:25:435:26 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:436:9:436:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:436:19:436:21 | out : ModelMap [] : Object | semmle.label | out : ModelMap [] : Object | +| Test.java:441:13:441:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:441:20:441:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:443:10:443:38 | addAllAttributes(...) : ModelMap [] : Object | semmle.label | addAllAttributes(...) : ModelMap [] : Object | +| Test.java:443:36:443:37 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:444:9:444:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:444:19:444:21 | out : ModelMap [] : Object | semmle.label | out : ModelMap [] : Object | +| Test.java:449:13:449:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:449:26:449:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:450:4:450:6 | out [post update] : ModelMap [] : Object | semmle.label | out [post update] : ModelMap [] : Object | +| Test.java:450:25:450:26 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:451:9:451:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:451:21:451:23 | out : ModelMap [] : Object | semmle.label | out : ModelMap [] : Object | +| Test.java:456:13:456:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:456:26:456:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:458:10:458:38 | addAllAttributes(...) : ModelMap [] : Object | semmle.label | addAllAttributes(...) : ModelMap [] : Object | +| Test.java:458:36:458:37 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:459:9:459:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:459:21:459:23 | out : ModelMap [] : Object | semmle.label | out : ModelMap [] : Object | +| Test.java:464:18:464:35 | (...)... : ModelMap | semmle.label | (...)... : ModelMap | +| Test.java:464:28:464:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:465:10:465:11 | in : ModelMap | semmle.label | in : ModelMap | +| Test.java:465:10:465:39 | addAllAttributes(...) : ModelMap | semmle.label | addAllAttributes(...) : ModelMap | +| Test.java:466:9:466:11 | out | semmle.label | out | +| Test.java:471:18:471:35 | (...)... : ModelMap | semmle.label | (...)... : ModelMap | +| Test.java:471:28:471:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:472:10:472:11 | in : ModelMap | semmle.label | in : ModelMap | +| Test.java:472:10:472:46 | addAllAttributes(...) : ModelMap | semmle.label | addAllAttributes(...) : ModelMap | +| Test.java:473:9:473:11 | out | semmle.label | out | +| Test.java:478:16:478:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:479:4:479:6 | out [post update] : ModelMap [] : Object | semmle.label | out [post update] : ModelMap [] : Object | +| Test.java:479:21:479:22 | in : Object | semmle.label | in : Object | +| Test.java:480:9:480:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:480:21:480:23 | out : ModelMap [] : Object | semmle.label | out : ModelMap [] : Object | +| Test.java:485:16:485:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:487:10:487:34 | addAttribute(...) : ModelMap [] : Object | semmle.label | addAttribute(...) : ModelMap [] : Object | +| Test.java:487:32:487:33 | in : Object | semmle.label | in : Object | +| Test.java:488:9:488:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:488:21:488:23 | out : ModelMap [] : Object | semmle.label | out : ModelMap [] : Object | +| Test.java:493:16:493:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:493:24:493:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:494:4:494:6 | out [post update] : ModelMap [] : String | semmle.label | out [post update] : ModelMap [] : String | +| Test.java:494:21:494:22 | in : String | semmle.label | in : String | +| Test.java:495:9:495:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:495:19:495:21 | out : ModelMap [] : String | semmle.label | out : ModelMap [] : String | +| Test.java:500:16:500:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:500:24:500:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:502:10:502:40 | addAttribute(...) : ModelMap [] : String | semmle.label | addAttribute(...) : ModelMap [] : String | +| Test.java:502:32:502:33 | in : String | semmle.label | in : String | +| Test.java:503:9:503:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:503:19:503:21 | out : ModelMap [] : String | semmle.label | out : ModelMap [] : String | +| Test.java:508:16:508:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:509:4:509:6 | out [post update] : ModelMap [] : Object | semmle.label | out [post update] : ModelMap [] : Object | +| Test.java:509:27:509:28 | in : Object | semmle.label | in : Object | +| Test.java:510:9:510:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:510:21:510:23 | out : ModelMap [] : Object | semmle.label | out : ModelMap [] : Object | +| Test.java:515:16:515:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:517:10:517:40 | addAttribute(...) : ModelMap [] : Object | semmle.label | addAttribute(...) : ModelMap [] : Object | +| Test.java:517:38:517:39 | in : Object | semmle.label | in : Object | +| Test.java:518:9:518:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:518:21:518:23 | out : ModelMap [] : Object | semmle.label | out : ModelMap [] : Object | +| Test.java:523:18:523:35 | (...)... : ModelMap | semmle.label | (...)... : ModelMap | +| Test.java:523:28:523:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:524:10:524:11 | in : ModelMap | semmle.label | in : ModelMap | +| Test.java:524:10:524:36 | addAttribute(...) : ModelMap | semmle.label | addAttribute(...) : ModelMap | +| Test.java:525:9:525:11 | out | semmle.label | out | +| Test.java:530:18:530:35 | (...)... : ModelMap | semmle.label | (...)... : ModelMap | +| Test.java:530:28:530:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:531:10:531:11 | in : ModelMap | semmle.label | in : ModelMap | +| Test.java:531:10:531:30 | addAttribute(...) : ModelMap | semmle.label | addAttribute(...) : ModelMap | +| Test.java:532:9:532:11 | out | semmle.label | out | +| Test.java:537:18:537:45 | new ModelMap(...) : ModelMap [] : Object | semmle.label | new ModelMap(...) : ModelMap [] : Object | +| Test.java:537:37:537:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:538:10:538:11 | in : ModelMap [] : Object | semmle.label | in : ModelMap [] : Object | +| Test.java:538:10:538:30 | getAttribute(...) : Object | semmle.label | getAttribute(...) : Object | +| Test.java:539:9:539:11 | out | semmle.label | out | +| Test.java:544:18:544:35 | (...)... : ModelMap | semmle.label | (...)... : ModelMap | +| Test.java:544:28:544:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:545:10:545:11 | in : ModelMap | semmle.label | in : ModelMap | +| Test.java:545:10:545:33 | mergeAttributes(...) : ModelMap | semmle.label | mergeAttributes(...) : ModelMap | +| Test.java:546:9:546:11 | out | semmle.label | out | +| Test.java:551:18:551:53 | new ModelMap(...) : ModelMap [] : String | semmle.label | new ModelMap(...) : ModelMap [] : String | +| Test.java:551:31:551:46 | (...)... : String | semmle.label | (...)... : String | +| Test.java:551:39:551:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:552:10:552:11 | in : ModelMap [] : String | semmle.label | in : ModelMap [] : String | +| Test.java:552:10:552:33 | mergeAttributes(...) : ModelMap [] : String | semmle.label | mergeAttributes(...) : ModelMap [] : String | +| Test.java:553:9:553:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:553:19:553:21 | out : ModelMap [] : String | semmle.label | out : ModelMap [] : String | +| Test.java:558:13:558:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:558:20:558:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:559:4:559:6 | out [post update] : ModelMap [] : Object | semmle.label | out [post update] : ModelMap [] : Object | +| Test.java:559:24:559:25 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:560:9:560:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:560:19:560:21 | out : ModelMap [] : Object | semmle.label | out : ModelMap [] : Object | +| Test.java:565:18:565:45 | new ModelMap(...) : ModelMap [] : Object | semmle.label | new ModelMap(...) : ModelMap [] : Object | +| Test.java:565:37:565:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:566:10:566:11 | in : ModelMap [] : Object | semmle.label | in : ModelMap [] : Object | +| Test.java:566:10:566:33 | mergeAttributes(...) : ModelMap [] : Object | semmle.label | mergeAttributes(...) : ModelMap [] : Object | +| Test.java:567:9:567:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:567:21:567:23 | out : ModelMap [] : Object | semmle.label | out : ModelMap [] : Object | +| Test.java:572:13:572:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:572:26:572:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:573:4:573:6 | out [post update] : ModelMap [] : Object | semmle.label | out [post update] : ModelMap [] : Object | +| Test.java:573:24:573:25 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:574:9:574:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:574:21:574:23 | out : ModelMap [] : Object | semmle.label | out : ModelMap [] : Object | +subpaths +| Test.java:31:21:31:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | Test.java:18:57:18:84 | getAttribute(...) : Object | Test.java:31:9:31:24 | getMapValue(...) | +| Test.java:38:19:38:21 | out : ConcurrentModel [] : String | Test.java:17:19:17:43 | container : ConcurrentModel [] : String | Test.java:17:55:17:90 | next(...) : String | Test.java:38:9:38:22 | getMapKey(...) | +| Test.java:45:21:45:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | Test.java:18:57:18:84 | getAttribute(...) : Object | Test.java:45:9:45:24 | getMapValue(...) | +| Test.java:52:21:52:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | Test.java:16:47:16:74 | getAttribute(...) : Object | Test.java:52:9:52:24 | getMapValue(...) | +| Test.java:59:21:59:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | Test.java:18:57:18:84 | getAttribute(...) : Object | Test.java:59:9:59:24 | getMapValue(...) | +| Test.java:67:21:67:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | Test.java:16:47:16:74 | getAttribute(...) : Object | Test.java:67:9:67:24 | getMapValue(...) | +| Test.java:75:21:75:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | Test.java:18:57:18:84 | getAttribute(...) : Object | Test.java:75:9:75:24 | getMapValue(...) | +| Test.java:82:19:82:21 | out : Model [] : Object | Test.java:15:19:15:33 | container : Model [] : Object | Test.java:15:45:15:88 | next(...) : String | Test.java:82:9:82:22 | getMapKey(...) | +| Test.java:89:19:89:21 | out : ConcurrentModel [] : Object | Test.java:17:19:17:43 | container : ConcurrentModel [] : Object | Test.java:17:55:17:90 | next(...) : String | Test.java:89:9:89:22 | getMapKey(...) | +| Test.java:97:19:97:21 | out : Model [] : Object | Test.java:15:19:15:33 | container : Model [] : Object | Test.java:15:45:15:88 | next(...) : String | Test.java:97:9:97:22 | getMapKey(...) | +| Test.java:105:19:105:21 | out : ConcurrentModel [] : Object | Test.java:17:19:17:43 | container : ConcurrentModel [] : Object | Test.java:17:55:17:90 | next(...) : String | Test.java:105:9:105:22 | getMapKey(...) | +| Test.java:112:21:112:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | Test.java:16:47:16:74 | getAttribute(...) : Object | Test.java:112:9:112:24 | getMapValue(...) | +| Test.java:119:21:119:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | Test.java:18:57:18:84 | getAttribute(...) : Object | Test.java:119:9:119:24 | getMapValue(...) | +| Test.java:127:21:127:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | Test.java:16:47:16:74 | getAttribute(...) : Object | Test.java:127:9:127:24 | getMapValue(...) | +| Test.java:135:21:135:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | Test.java:18:57:18:84 | getAttribute(...) : Object | Test.java:135:9:135:24 | getMapValue(...) | +| Test.java:170:21:170:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | Test.java:16:47:16:74 | getAttribute(...) : Object | Test.java:170:9:170:24 | getMapValue(...) | +| Test.java:177:21:177:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | Test.java:18:57:18:84 | getAttribute(...) : Object | Test.java:177:9:177:24 | getMapValue(...) | +| Test.java:185:21:185:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | Test.java:16:47:16:74 | getAttribute(...) : Object | Test.java:185:9:185:24 | getMapValue(...) | +| Test.java:193:21:193:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | Test.java:18:57:18:84 | getAttribute(...) : Object | Test.java:193:9:193:24 | getMapValue(...) | +| Test.java:200:19:200:21 | out : Model [] : String | Test.java:15:19:15:33 | container : Model [] : String | Test.java:15:45:15:88 | next(...) : String | Test.java:200:9:200:22 | getMapKey(...) | +| Test.java:207:19:207:21 | out : ConcurrentModel [] : String | Test.java:17:19:17:43 | container : ConcurrentModel [] : String | Test.java:17:55:17:90 | next(...) : String | Test.java:207:9:207:22 | getMapKey(...) | +| Test.java:215:19:215:21 | out : Model [] : String | Test.java:15:19:15:33 | container : Model [] : String | Test.java:15:45:15:88 | next(...) : String | Test.java:215:9:215:22 | getMapKey(...) | +| Test.java:223:19:223:21 | out : ConcurrentModel [] : String | Test.java:17:19:17:43 | container : ConcurrentModel [] : String | Test.java:17:55:17:90 | next(...) : String | Test.java:223:9:223:22 | getMapKey(...) | +| Test.java:230:21:230:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | Test.java:16:47:16:74 | getAttribute(...) : Object | Test.java:230:9:230:24 | getMapValue(...) | +| Test.java:237:21:237:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | Test.java:18:57:18:84 | getAttribute(...) : Object | Test.java:237:9:237:24 | getMapValue(...) | +| Test.java:245:21:245:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | Test.java:16:47:16:74 | getAttribute(...) : Object | Test.java:245:9:245:24 | getMapValue(...) | +| Test.java:253:21:253:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | Test.java:18:57:18:84 | getAttribute(...) : Object | Test.java:253:9:253:24 | getMapValue(...) | +| Test.java:288:19:288:21 | out : Map [] : String | Test.java:13:18:13:35 | container : Map [] : String | Test.java:13:47:13:82 | next(...) : String | Test.java:288:9:288:22 | getMapKey(...) | +| Test.java:295:19:295:21 | out : Map [] : String | Test.java:13:18:13:35 | container : Map [] : String | Test.java:13:47:13:82 | next(...) : String | Test.java:295:9:295:22 | getMapKey(...) | +| Test.java:302:21:302:23 | out : Map [] : Object | Test.java:14:20:14:37 | container : Map [] : Object | Test.java:14:49:14:67 | get(...) : Object | Test.java:302:9:302:24 | getMapValue(...) | +| Test.java:309:21:309:23 | out : Map [] : Object | Test.java:14:20:14:37 | container : Map [] : Object | Test.java:14:49:14:67 | get(...) : Object | Test.java:309:9:309:24 | getMapValue(...) | +| Test.java:344:19:344:21 | out : ConcurrentModel [] : String | Test.java:15:19:15:33 | container : ConcurrentModel [] : String | Test.java:15:45:15:88 | next(...) : String | Test.java:344:9:344:22 | getMapKey(...) | +| Test.java:351:19:351:21 | out : ConcurrentModel [] : String | Test.java:17:19:17:43 | container : ConcurrentModel [] : String | Test.java:17:55:17:90 | next(...) : String | Test.java:351:9:351:22 | getMapKey(...) | +| Test.java:358:19:358:21 | out : Model [] : Object | Test.java:15:19:15:33 | container : Model [] : Object | Test.java:15:45:15:88 | next(...) : String | Test.java:358:9:358:22 | getMapKey(...) | +| Test.java:365:19:365:21 | out : ConcurrentModel [] : Object | Test.java:17:19:17:43 | container : ConcurrentModel [] : Object | Test.java:17:55:17:90 | next(...) : String | Test.java:365:9:365:22 | getMapKey(...) | +| Test.java:372:21:372:23 | out : Map [] : Object | Test.java:16:21:16:35 | container : Map [] : Object | Test.java:16:47:16:74 | getAttribute(...) : Object | Test.java:372:9:372:24 | getMapValue(...) | +| Test.java:379:21:379:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | Test.java:18:57:18:84 | getAttribute(...) : Object | Test.java:379:9:379:24 | getMapValue(...) | +| Test.java:386:21:386:23 | out : Model [] : Object | Test.java:16:21:16:35 | container : Model [] : Object | Test.java:16:47:16:74 | getAttribute(...) : Object | Test.java:386:9:386:24 | getMapValue(...) | +| Test.java:393:21:393:23 | out : ConcurrentModel [] : Object | Test.java:18:21:18:45 | container : ConcurrentModel [] : Object | Test.java:18:57:18:84 | getAttribute(...) : Object | Test.java:393:9:393:24 | getMapValue(...) | +| Test.java:400:21:400:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | Test.java:20:50:20:77 | getAttribute(...) : Object | Test.java:400:9:400:24 | getMapValue(...) | +| Test.java:407:19:407:21 | out : ModelMap [] : String | Test.java:19:19:19:36 | container : ModelMap [] : String | Test.java:19:48:19:83 | next(...) : String | Test.java:407:9:407:22 | getMapKey(...) | +| Test.java:414:21:414:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | Test.java:20:50:20:77 | getAttribute(...) : Object | Test.java:414:9:414:24 | getMapValue(...) | +| Test.java:421:21:421:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | Test.java:20:50:20:77 | getAttribute(...) : Object | Test.java:421:9:421:24 | getMapValue(...) | +| Test.java:429:21:429:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | Test.java:20:50:20:77 | getAttribute(...) : Object | Test.java:429:9:429:24 | getMapValue(...) | +| Test.java:436:19:436:21 | out : ModelMap [] : Object | Test.java:19:19:19:36 | container : ModelMap [] : Object | Test.java:19:48:19:83 | next(...) : String | Test.java:436:9:436:22 | getMapKey(...) | +| Test.java:444:19:444:21 | out : ModelMap [] : Object | Test.java:19:19:19:36 | container : ModelMap [] : Object | Test.java:19:48:19:83 | next(...) : String | Test.java:444:9:444:22 | getMapKey(...) | +| Test.java:451:21:451:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | Test.java:20:50:20:77 | getAttribute(...) : Object | Test.java:451:9:451:24 | getMapValue(...) | +| Test.java:459:21:459:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | Test.java:20:50:20:77 | getAttribute(...) : Object | Test.java:459:9:459:24 | getMapValue(...) | +| Test.java:480:21:480:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | Test.java:20:50:20:77 | getAttribute(...) : Object | Test.java:480:9:480:24 | getMapValue(...) | +| Test.java:488:21:488:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | Test.java:20:50:20:77 | getAttribute(...) : Object | Test.java:488:9:488:24 | getMapValue(...) | +| Test.java:495:19:495:21 | out : ModelMap [] : String | Test.java:19:19:19:36 | container : ModelMap [] : String | Test.java:19:48:19:83 | next(...) : String | Test.java:495:9:495:22 | getMapKey(...) | +| Test.java:503:19:503:21 | out : ModelMap [] : String | Test.java:19:19:19:36 | container : ModelMap [] : String | Test.java:19:48:19:83 | next(...) : String | Test.java:503:9:503:22 | getMapKey(...) | +| Test.java:510:21:510:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | Test.java:20:50:20:77 | getAttribute(...) : Object | Test.java:510:9:510:24 | getMapValue(...) | +| Test.java:518:21:518:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | Test.java:20:50:20:77 | getAttribute(...) : Object | Test.java:518:9:518:24 | getMapValue(...) | +| Test.java:553:19:553:21 | out : ModelMap [] : String | Test.java:19:19:19:36 | container : ModelMap [] : String | Test.java:19:48:19:83 | next(...) : String | Test.java:553:9:553:22 | getMapKey(...) | +| Test.java:560:19:560:21 | out : ModelMap [] : Object | Test.java:19:19:19:36 | container : ModelMap [] : Object | Test.java:19:48:19:83 | next(...) : String | Test.java:560:9:560:22 | getMapKey(...) | +| Test.java:567:21:567:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | Test.java:20:50:20:77 | getAttribute(...) : Object | Test.java:567:9:567:24 | getMapValue(...) | +| Test.java:574:21:574:23 | out : ModelMap [] : Object | Test.java:20:21:20:38 | container : ModelMap [] : Object | Test.java:20:50:20:77 | getAttribute(...) : Object | Test.java:574:9:574:24 | getMapValue(...) | +testFailures diff --git a/java/ql/test/library-tests/frameworks/spring/util/test.expected b/java/ql/test/library-tests/frameworks/spring/util/test.expected index e69de29bb2d..fff14414847 100644 --- a/java/ql/test/library-tests/frameworks/spring/util/test.expected +++ b/java/ql/test/library-tests/frameworks/spring/util/test.expected @@ -0,0 +1,2355 @@ +models +| 1 | Summary: java.io; OutputStream; true; write; (byte[],int,int); ; Argument[0]; Argument[this]; taint; manual | +| 2 | Summary: java.io; OutputStream; true; write; (int); ; Argument[0]; Argument[this]; taint; manual | +| 3 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 4 | Summary: java.util; Collections; false; enumeration; (Collection); ; Argument[0].Element; ReturnValue.Element; value; manual | +| 5 | Summary: java.util; Dictionary; true; put; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 6 | Summary: java.util; Dictionary; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 7 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 8 | Summary: java.util; List; false; of; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 9 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 10 | Summary: java.util; Map; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 11 | Summary: java.util; Map; false; of; ; ; Argument[0]; ReturnValue.MapKey; value; manual | +| 12 | Summary: java.util; Map; false; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual | +| 13 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual | +| 14 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 15 | Summary: java.util; Optional; false; of; ; ; Argument[0]; ReturnValue.Element; value; manual | +| 16 | Summary: java.util; Set; false; of; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 17 | Summary: org.springframework.util; AntPathMatcher; false; combine; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 18 | Summary: org.springframework.util; AntPathMatcher; false; doMatch; ; ; Argument[1]; Argument[3].MapValue; taint; manual | +| 19 | Summary: org.springframework.util; AntPathMatcher; false; extractPathWithinPattern; ; ; Argument[1]; ReturnValue; taint; manual | +| 20 | Summary: org.springframework.util; AntPathMatcher; false; extractUriTemplateVariables; ; ; Argument[1]; ReturnValue.MapValue; taint; manual | +| 21 | Summary: org.springframework.util; AntPathMatcher; false; tokenizePath; ; ; Argument[0]; ReturnValue.ArrayElement; taint; manual | +| 22 | Summary: org.springframework.util; AntPathMatcher; false; tokenizePattern; ; ; Argument[0]; ReturnValue.ArrayElement; taint; manual | +| 23 | Summary: org.springframework.util; AutoPopulatingList; false; AutoPopulatingList; (java.util.List,java.lang.Class); ; Argument[0].Element; Argument[this].Element; value; manual | +| 24 | Summary: org.springframework.util; AutoPopulatingList; false; AutoPopulatingList; (java.util.List,org.springframework.util.AutoPopulatingList$ElementFactory); ; Argument[0].Element; Argument[this].Element; value; manual | +| 25 | Summary: org.springframework.util; Base64Utils; false; decode; ; ; Argument[0]; ReturnValue; taint; manual | +| 26 | Summary: org.springframework.util; Base64Utils; false; decodeFromString; ; ; Argument[0]; ReturnValue; taint; manual | +| 27 | Summary: org.springframework.util; Base64Utils; false; decodeFromUrlSafeString; ; ; Argument[0]; ReturnValue; taint; manual | +| 28 | Summary: org.springframework.util; Base64Utils; false; decodeUrlSafe; ; ; Argument[0]; ReturnValue; taint; manual | +| 29 | Summary: org.springframework.util; Base64Utils; false; encode; ; ; Argument[0]; ReturnValue; taint; manual | +| 30 | Summary: org.springframework.util; Base64Utils; false; encodeToString; ; ; Argument[0]; ReturnValue; taint; manual | +| 31 | Summary: org.springframework.util; Base64Utils; false; encodeToUrlSafeString; ; ; Argument[0]; ReturnValue; taint; manual | +| 32 | Summary: org.springframework.util; Base64Utils; false; encodeUrlSafe; ; ; Argument[0]; ReturnValue; taint; manual | +| 33 | Summary: org.springframework.util; CollectionUtils; false; arrayToList; ; ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 34 | Summary: org.springframework.util; CollectionUtils; false; findFirstMatch; ; ; Argument[0].Element; ReturnValue; value; manual | +| 35 | Summary: org.springframework.util; CollectionUtils; false; findValueOfType; ; ; Argument[0].Element; ReturnValue; value; manual | +| 36 | Summary: org.springframework.util; CollectionUtils; false; firstElement; ; ; Argument[0].Element; ReturnValue; value; manual | +| 37 | Summary: org.springframework.util; CollectionUtils; false; lastElement; ; ; Argument[0].Element; ReturnValue; value; manual | +| 38 | Summary: org.springframework.util; CollectionUtils; false; mergeArrayIntoCollection; ; ; Argument[0].ArrayElement; Argument[1].Element; value; manual | +| 39 | Summary: org.springframework.util; CollectionUtils; false; mergePropertiesIntoMap; ; ; Argument[0].MapKey; Argument[1].MapKey; value; manual | +| 40 | Summary: org.springframework.util; CollectionUtils; false; mergePropertiesIntoMap; ; ; Argument[0].MapValue; Argument[1].MapValue; value; manual | +| 41 | Summary: org.springframework.util; CollectionUtils; false; toIterator; ; ; Argument[0].Element; ReturnValue.Element; value; manual | +| 42 | Summary: org.springframework.util; CollectionUtils; false; toMultiValueMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 43 | Summary: org.springframework.util; CollectionUtils; false; toMultiValueMap; ; ; Argument[0].MapValue.Element; ReturnValue.MapValue.Element; value; manual | +| 44 | Summary: org.springframework.util; CollectionUtils; false; unmodifiableMultiValueMap; ; ; Argument[0].MapKey; ReturnValue.MapKey; value; manual | +| 45 | Summary: org.springframework.util; CollectionUtils; false; unmodifiableMultiValueMap; ; ; Argument[0].MapValue; ReturnValue.MapValue; value; manual | +| 46 | Summary: org.springframework.util; CompositeIterator; false; add; ; ; Argument[0].Element; Argument[this].Element; value; manual | +| 47 | Summary: org.springframework.util; FastByteArrayOutputStream; false; getInputStream; ; ; Argument[this]; ReturnValue; taint; manual | +| 48 | Summary: org.springframework.util; FastByteArrayOutputStream; false; toByteArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 49 | Summary: org.springframework.util; FastByteArrayOutputStream; false; write; ; ; Argument[0]; Argument[this]; taint; manual | +| 50 | Summary: org.springframework.util; FastByteArrayOutputStream; false; writeTo; ; ; Argument[this]; Argument[0]; taint; manual | +| 51 | Summary: org.springframework.util; FileCopyUtils; false; copy; (byte[],OutputStream); ; Argument[0]; Argument[1]; taint; manual | +| 52 | Summary: org.springframework.util; FileCopyUtils; false; copy; (InputStream,OutputStream); ; Argument[0]; Argument[1]; taint; manual | +| 53 | Summary: org.springframework.util; FileCopyUtils; false; copy; (Reader,Writer); ; Argument[0]; Argument[1]; taint; manual | +| 54 | Summary: org.springframework.util; FileCopyUtils; false; copy; (String,Writer); ; Argument[0]; Argument[1]; taint; manual | +| 55 | Summary: org.springframework.util; FileCopyUtils; false; copyToByteArray; ; ; Argument[0]; ReturnValue; taint; manual | +| 56 | Summary: org.springframework.util; FileCopyUtils; false; copyToString; ; ; Argument[0]; ReturnValue; taint; manual | +| 57 | Summary: org.springframework.util; FileSystemUtils; false; copyRecursively; (java.io.File,java.io.File); ; Argument[0]; Argument[1]; taint; manual | +| 58 | Summary: org.springframework.util; LinkedMultiValueMap; false; LinkedMultiValueMap; (java.util.Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 59 | Summary: org.springframework.util; LinkedMultiValueMap; false; LinkedMultiValueMap; (java.util.Map); ; Argument[0].MapValue.Element; Argument[this].MapValue.Element; value; manual | +| 60 | Summary: org.springframework.util; LinkedMultiValueMap; false; deepCopy; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 61 | Summary: org.springframework.util; LinkedMultiValueMap; false; deepCopy; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual | +| 62 | Summary: org.springframework.util; MultiValueMap; true; add; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 63 | Summary: org.springframework.util; MultiValueMap; true; add; ; ; Argument[1]; Argument[this].MapValue.Element; value; manual | +| 64 | Summary: org.springframework.util; MultiValueMap; true; addAll; (java.lang.Object,java.util.List); ; Argument[0]; Argument[this].MapKey; value; manual | +| 65 | Summary: org.springframework.util; MultiValueMap; true; addAll; (java.lang.Object,java.util.List); ; Argument[1].Element; Argument[this].MapValue.Element; value; manual | +| 66 | Summary: org.springframework.util; MultiValueMap; true; addAll; (org.springframework.util.MultiValueMap); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 67 | Summary: org.springframework.util; MultiValueMap; true; addAll; (org.springframework.util.MultiValueMap); ; Argument[0].MapValue.Element; Argument[this].MapValue.Element; value; manual | +| 68 | Summary: org.springframework.util; MultiValueMap; true; addIfAbsent; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 69 | Summary: org.springframework.util; MultiValueMap; true; addIfAbsent; ; ; Argument[1]; Argument[this].MapValue.Element; value; manual | +| 70 | Summary: org.springframework.util; MultiValueMap; true; getFirst; ; ; Argument[this].MapValue.Element; ReturnValue; value; manual | +| 71 | Summary: org.springframework.util; MultiValueMap; true; set; ; ; Argument[0]; Argument[this].MapKey; value; manual | +| 72 | Summary: org.springframework.util; MultiValueMap; true; set; ; ; Argument[1]; Argument[this].MapValue.Element; value; manual | +| 73 | Summary: org.springframework.util; MultiValueMap; true; setAll; ; ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 74 | Summary: org.springframework.util; MultiValueMap; true; setAll; ; ; Argument[0].MapValue; Argument[this].MapValue.Element; value; manual | +| 75 | Summary: org.springframework.util; MultiValueMap; true; toSingleValueMap; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual | +| 76 | Summary: org.springframework.util; MultiValueMap; true; toSingleValueMap; ; ; Argument[this].MapValue.Element; ReturnValue.MapValue; value; manual | +| 77 | Summary: org.springframework.util; MultiValueMapAdapter; false; MultiValueMapAdapter; ; ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 78 | Summary: org.springframework.util; MultiValueMapAdapter; false; MultiValueMapAdapter; ; ; Argument[0].MapValue.Element; Argument[this].MapValue.Element; value; manual | +| 79 | Summary: org.springframework.util; ObjectUtils; false; toObjectArray; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 80 | Summary: org.springframework.util; ObjectUtils; false; unwrapOptional; ; ; Argument[0].Element; ReturnValue; value; manual | +| 81 | Summary: org.springframework.util; PropertiesPersister; true; load; ; ; Argument[1]; Argument[0]; taint; manual | +| 82 | Summary: org.springframework.util; PropertiesPersister; true; loadFromXml; ; ; Argument[1]; Argument[0]; taint; manual | +| 83 | Summary: org.springframework.util; PropertiesPersister; true; store; ; ; Argument[0]; Argument[1]; taint; manual | +| 84 | Summary: org.springframework.util; PropertiesPersister; true; store; ; ; Argument[2]; Argument[1]; taint; manual | +| 85 | Summary: org.springframework.util; PropertiesPersister; true; storeToXml; ; ; Argument[0]; Argument[1]; taint; manual | +| 86 | Summary: org.springframework.util; PropertiesPersister; true; storeToXml; ; ; Argument[2]; Argument[1]; taint; manual | +| 87 | Summary: org.springframework.util; PropertyPlaceholderHelper; false; PropertyPlaceholderHelper; ; ; Argument[0..1]; Argument[this]; taint; manual | +| 88 | Summary: org.springframework.util; PropertyPlaceholderHelper; false; replacePlaceholders; ; ; Argument[0]; ReturnValue; taint; manual | +| 89 | Summary: org.springframework.util; ResourceUtils; false; extractArchiveURL; ; ; Argument[0]; ReturnValue; taint; manual | +| 90 | Summary: org.springframework.util; ResourceUtils; false; extractJarFileURL; ; ; Argument[0]; ReturnValue; taint; manual | +| 91 | Summary: org.springframework.util; ResourceUtils; false; getFile; ; ; Argument[0]; ReturnValue; taint; manual | +| 92 | Summary: org.springframework.util; ResourceUtils; false; getURL; ; ; Argument[0]; ReturnValue; taint; manual | +| 93 | Summary: org.springframework.util; ResourceUtils; false; toURI; ; ; Argument[0]; ReturnValue; taint; manual | +| 94 | Summary: org.springframework.util; RouteMatcher; true; combine; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 95 | Summary: org.springframework.util; RouteMatcher; true; matchAndExtract; ; ; Argument[0]; ReturnValue.MapKey; taint; manual | +| 96 | Summary: org.springframework.util; RouteMatcher; true; matchAndExtract; ; ; Argument[1]; ReturnValue.MapValue; taint; manual | +| 97 | Summary: org.springframework.util; RouteMatcher; true; parseRoute; ; ; Argument[0]; ReturnValue; taint; manual | +| 98 | Summary: org.springframework.util; SerializationUtils; false; deserialize; ; ; Argument[0]; ReturnValue; taint; manual | +| 99 | Summary: org.springframework.util; SerializationUtils; false; serialize; ; ; Argument[0]; ReturnValue; taint; manual | +| 100 | Summary: org.springframework.util; StreamUtils; false; copy; (byte[],java.io.OutputStream); ; Argument[0]; Argument[1]; taint; manual | +| 101 | Summary: org.springframework.util; StreamUtils; false; copy; (java.io.InputStream,java.io.OutputStream); ; Argument[0]; Argument[1]; taint; manual | +| 102 | Summary: org.springframework.util; StreamUtils; false; copy; (java.lang.String,java.nio.charset.Charset,java.io.OutputStream); ; Argument[0]; Argument[2]; taint; manual | +| 103 | Summary: org.springframework.util; StreamUtils; false; copyRange; ; ; Argument[0]; Argument[1]; taint; manual | +| 104 | Summary: org.springframework.util; StreamUtils; false; copyToByteArray; ; ; Argument[0]; ReturnValue; taint; manual | +| 105 | Summary: org.springframework.util; StreamUtils; false; copyToString; ; ; Argument[0]; ReturnValue; taint; manual | +| 106 | Summary: org.springframework.util; StringUtils; false; addStringToArray; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 107 | Summary: org.springframework.util; StringUtils; false; addStringToArray; ; ; Argument[1]; ReturnValue.ArrayElement; value; manual | +| 108 | Summary: org.springframework.util; StringUtils; false; applyRelativePath; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 109 | Summary: org.springframework.util; StringUtils; false; arrayToCommaDelimitedString; ; ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 110 | Summary: org.springframework.util; StringUtils; false; arrayToDelimitedString; ; ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 111 | Summary: org.springframework.util; StringUtils; false; arrayToDelimitedString; ; ; Argument[1]; ReturnValue; taint; manual | +| 112 | Summary: org.springframework.util; StringUtils; false; capitalize; ; ; Argument[0]; ReturnValue; taint; manual | +| 113 | Summary: org.springframework.util; StringUtils; false; cleanPath; ; ; Argument[0]; ReturnValue; taint; manual | +| 114 | Summary: org.springframework.util; StringUtils; false; collectionToCommaDelimitedString; ; ; Argument[0].Element; ReturnValue; taint; manual | +| 115 | Summary: org.springframework.util; StringUtils; false; collectionToDelimitedString; ; ; Argument[0].Element; ReturnValue; taint; manual | +| 116 | Summary: org.springframework.util; StringUtils; false; collectionToDelimitedString; ; ; Argument[1..3]; ReturnValue; taint; manual | +| 117 | Summary: org.springframework.util; StringUtils; false; commaDelimitedListToSet; ; ; Argument[0]; ReturnValue.Element; taint; manual | +| 118 | Summary: org.springframework.util; StringUtils; false; commaDelimitedListToStringArray; ; ; Argument[0]; ReturnValue.ArrayElement; taint; manual | +| 119 | Summary: org.springframework.util; StringUtils; false; concatenateStringArrays; ; ; Argument[0..1].ArrayElement; ReturnValue.ArrayElement; taint; manual | +| 120 | Summary: org.springframework.util; StringUtils; false; delete; ; ; Argument[0]; ReturnValue; taint; manual | +| 121 | Summary: org.springframework.util; StringUtils; false; deleteAny; ; ; Argument[0]; ReturnValue; taint; manual | +| 122 | Summary: org.springframework.util; StringUtils; false; delimitedListToStringArray; ; ; Argument[0]; ReturnValue.ArrayElement; taint; manual | +| 123 | Summary: org.springframework.util; StringUtils; false; getFilename; ; ; Argument[0]; ReturnValue; taint; manual | +| 124 | Summary: org.springframework.util; StringUtils; false; getFilenameExtension; ; ; Argument[0]; ReturnValue; taint; manual | +| 125 | Summary: org.springframework.util; StringUtils; false; mergeStringArrays; ; ; Argument[0..1].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 126 | Summary: org.springframework.util; StringUtils; false; quote; ; ; Argument[0]; ReturnValue; taint; manual | +| 127 | Summary: org.springframework.util; StringUtils; false; quoteIfString; ; ; Argument[0]; ReturnValue; taint; manual | +| 128 | Summary: org.springframework.util; StringUtils; false; removeDuplicateStrings; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 129 | Summary: org.springframework.util; StringUtils; false; replace; ; ; Argument[0]; ReturnValue; taint; manual | +| 130 | Summary: org.springframework.util; StringUtils; false; replace; ; ; Argument[2]; ReturnValue; taint; manual | +| 131 | Summary: org.springframework.util; StringUtils; false; sortStringArray; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 132 | Summary: org.springframework.util; StringUtils; false; split; ; ; Argument[0]; ReturnValue.ArrayElement; taint; manual | +| 133 | Summary: org.springframework.util; StringUtils; false; splitArrayElementsIntoProperties; ; ; Argument[0].ArrayElement; ReturnValue.MapKey; taint; manual | +| 134 | Summary: org.springframework.util; StringUtils; false; splitArrayElementsIntoProperties; ; ; Argument[0].ArrayElement; ReturnValue.MapValue; taint; manual | +| 135 | Summary: org.springframework.util; StringUtils; false; stripFilenameExtension; ; ; Argument[0]; ReturnValue; taint; manual | +| 136 | Summary: org.springframework.util; StringUtils; false; toStringArray; ; ; Argument[0].Element; ReturnValue.ArrayElement; value; manual | +| 137 | Summary: org.springframework.util; StringUtils; false; tokenizeToStringArray; ; ; Argument[0]; ReturnValue.ArrayElement; taint; manual | +| 138 | Summary: org.springframework.util; StringUtils; false; trimAllWhitespace; ; ; Argument[0]; ReturnValue; taint; manual | +| 139 | Summary: org.springframework.util; StringUtils; false; trimArrayElements; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; taint; manual | +| 140 | Summary: org.springframework.util; StringUtils; false; trimLeadingCharacter; ; ; Argument[0]; ReturnValue; taint; manual | +| 141 | Summary: org.springframework.util; StringUtils; false; trimLeadingWhitespace; ; ; Argument[0]; ReturnValue; taint; manual | +| 142 | Summary: org.springframework.util; StringUtils; false; trimTrailingCharacter; ; ; Argument[0]; ReturnValue; taint; manual | +| 143 | Summary: org.springframework.util; StringUtils; false; trimTrailingWhitespace; ; ; Argument[0]; ReturnValue; taint; manual | +| 144 | Summary: org.springframework.util; StringUtils; false; trimWhitespace; ; ; Argument[0]; ReturnValue; taint; manual | +| 145 | Summary: org.springframework.util; StringUtils; false; uncapitalize; ; ; Argument[0]; ReturnValue; taint; manual | +| 146 | Summary: org.springframework.util; StringUtils; false; unqualify; ; ; Argument[0]; ReturnValue; taint; manual | +| 147 | Summary: org.springframework.util; StringUtils; false; uriDecode; ; ; Argument[0]; ReturnValue; taint; manual | +| 148 | Summary: org.springframework.util; StringValueResolver; false; resolveStringValue; ; ; Argument[0]; ReturnValue; taint; manual | +| 149 | Summary: org.springframework.util; SystemPropertyUtils; false; resolvePlaceholders; ; ; Argument[0]; ReturnValue; taint; manual | +edges +| Test.java:48:24:48:36 | container : Object[] [[]] : Object | Test.java:48:48:48:56 | container : Object[] [[]] : Object | provenance | | +| Test.java:48:24:48:36 | container : String[] [[]] : String | Test.java:48:48:48:56 | container : String[] [[]] : String | provenance | | +| Test.java:48:48:48:56 | container : Object[] [[]] : Object | Test.java:48:48:48:59 | ...[...] : Object | provenance | | +| Test.java:48:48:48:56 | container : String[] [[]] : String | Test.java:48:48:48:59 | ...[...] : String | provenance | | +| Test.java:49:19:49:41 | container : AutoPopulatingList [] : Object | Test.java:49:53:49:61 | container : AutoPopulatingList [] : Object | provenance | | +| Test.java:49:19:49:41 | container : Collection [] : Object | Test.java:49:53:49:61 | container : Collection [] : Object | provenance | | +| Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:61 | container : List [] : Object | provenance | | +| Test.java:49:19:49:41 | container : Set [] : Object | Test.java:49:53:49:61 | container : Set [] : Object | provenance | | +| Test.java:49:53:49:61 | container : AutoPopulatingList [] : Object | Test.java:49:53:49:72 | iterator(...) : Iterator [] : Object | provenance | MaD:3 | +| Test.java:49:53:49:61 | container : Collection [] : Object | Test.java:49:53:49:72 | iterator(...) : Iterator [] : Object | provenance | MaD:3 | +| Test.java:49:53:49:61 | container : List [] : Object | Test.java:49:53:49:72 | iterator(...) : Iterator [] : Object | provenance | MaD:3 | +| Test.java:49:53:49:61 | container : Set [] : Object | Test.java:49:53:49:72 | iterator(...) : Iterator [] : Object | provenance | MaD:3 | +| Test.java:49:53:49:72 | iterator(...) : Iterator [] : Object | Test.java:49:53:49:79 | next(...) : Object | provenance | MaD:7 | +| Test.java:49:53:49:72 | iterator(...) : Iterator [] : Object | Test.java:49:53:49:79 | next(...) : Object | provenance | MaD:7 | +| Test.java:49:53:49:72 | iterator(...) : Iterator [] : Object | Test.java:49:53:49:79 | next(...) : Object | provenance | MaD:7 | +| Test.java:49:53:49:72 | iterator(...) : Iterator [] : Object | Test.java:49:53:49:79 | next(...) : Object | provenance | MaD:7 | +| Test.java:50:19:50:39 | container : CompositeIterator [] : Object | Test.java:50:51:50:59 | container : CompositeIterator [] : Object | provenance | | +| Test.java:50:19:50:39 | container : Iterator [] : Object | Test.java:50:51:50:59 | container : Iterator [] : Object | provenance | | +| Test.java:50:51:50:59 | container : CompositeIterator [] : Object | Test.java:50:51:50:66 | next(...) : Object | provenance | MaD:7 | +| Test.java:50:51:50:59 | container : Iterator [] : Object | Test.java:50:51:50:66 | next(...) : Object | provenance | MaD:7 | +| Test.java:51:21:51:39 | container : LinkedMultiValueMap [] : Object | Test.java:51:51:51:59 | container : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:51:21:51:39 | container : Map [] : Object | Test.java:51:51:51:59 | container : Map [] : Object | provenance | | +| Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:59 | container : MultiValueMap [] : Object | provenance | | +| Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | Test.java:51:51:51:59 | container : MultiValueMapAdapter [] : Object | provenance | | +| Test.java:51:21:51:39 | container : Properties [] : Object | Test.java:51:51:51:59 | container : Properties [] : Object | provenance | | +| Test.java:51:51:51:59 | container : LinkedMultiValueMap [] : Object | Test.java:51:51:51:68 | keySet(...) : Set [] : Object | provenance | MaD:10 | +| Test.java:51:51:51:59 | container : Map [] : Object | Test.java:51:51:51:68 | keySet(...) : Set [] : Object | provenance | MaD:10 | +| Test.java:51:51:51:59 | container : MultiValueMap [] : Object | Test.java:51:51:51:68 | keySet(...) : Set [] : Object | provenance | MaD:10 | +| Test.java:51:51:51:59 | container : MultiValueMapAdapter [] : Object | Test.java:51:51:51:68 | keySet(...) : Set [] : Object | provenance | MaD:10 | +| Test.java:51:51:51:59 | container : Properties [] : Object | Test.java:51:51:51:68 | keySet(...) : Set [] : Object | provenance | MaD:10 | +| Test.java:51:51:51:68 | keySet(...) : Set [] : Object | Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | provenance | MaD:3 | +| Test.java:51:51:51:68 | keySet(...) : Set [] : Object | Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | provenance | MaD:3 | +| Test.java:51:51:51:68 | keySet(...) : Set [] : Object | Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | provenance | MaD:3 | +| Test.java:51:51:51:68 | keySet(...) : Set [] : Object | Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | provenance | MaD:3 | +| Test.java:51:51:51:68 | keySet(...) : Set [] : Object | Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | provenance | MaD:3 | +| Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | Test.java:51:51:51:86 | next(...) : Object | provenance | MaD:7 | +| Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | Test.java:51:51:51:86 | next(...) : Object | provenance | MaD:7 | +| Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | Test.java:51:51:51:86 | next(...) : Object | provenance | MaD:7 | +| Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | Test.java:51:51:51:86 | next(...) : Object | provenance | MaD:7 | +| Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | Test.java:51:51:51:86 | next(...) : Object | provenance | MaD:7 | +| Test.java:52:23:52:41 | container : Map [] : Object | Test.java:52:53:52:61 | container : Map [] : Object | provenance | | +| Test.java:52:23:52:41 | container : Properties [] : Object | Test.java:52:53:52:61 | container : Properties [] : Object | provenance | | +| Test.java:52:53:52:61 | container : Map [] : Object | Test.java:52:53:52:71 | get(...) : Object | provenance | MaD:9 | +| Test.java:52:53:52:61 | container : Properties [] : Object | Test.java:52:53:52:71 | get(...) : Object | provenance | MaD:9 | +| Test.java:53:31:53:44 | element : Object | Test.java:53:70:53:76 | element : Object | provenance | | +| Test.java:53:56:53:77 | {...} : Object[] [[]] : Object | Test.java:53:56:53:77 | new Object[] : Object[] [[]] : Object | provenance | | +| Test.java:53:70:53:76 | element : Object | Test.java:53:56:53:77 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:54:37:54:50 | element : Object | Test.java:54:94:54:100 | element : Object | provenance | | +| Test.java:54:88:54:88 | p [post update] : Properties [] : Object | Test.java:54:117:54:117 | p : Properties [] : Object | provenance | | +| Test.java:54:88:54:88 | p [post update] : Properties [] : Object | Test.java:54:117:54:117 | p : Properties [] : Object | provenance | | +| Test.java:54:88:54:88 | p [post update] : Properties [] : Object | Test.java:54:117:54:117 | p : Properties [] : Object | provenance | | +| Test.java:54:88:54:88 | p [post update] : Properties [] : Object | Test.java:54:117:54:117 | p : Properties [] : Object | provenance | | +| Test.java:54:94:54:100 | element : Object | Test.java:54:88:54:88 | p [post update] : Properties [] : Object | provenance | MaD:5 | +| Test.java:54:94:54:100 | element : Object | Test.java:54:88:54:88 | p [post update] : Properties [] : Object | provenance | MaD:5 | +| Test.java:54:94:54:100 | element : Object | Test.java:54:88:54:88 | p [post update] : Properties [] : Object | provenance | MaD:13 | +| Test.java:54:94:54:100 | element : Object | Test.java:54:88:54:88 | p [post update] : Properties [] : Object | provenance | MaD:13 | +| Test.java:55:39:55:52 | element : Object | Test.java:55:102:55:108 | element : Object | provenance | | +| Test.java:55:90:55:90 | p [post update] : Properties [] : Object | Test.java:55:119:55:119 | p : Properties [] : Object | provenance | | +| Test.java:55:90:55:90 | p [post update] : Properties [] : Object | Test.java:55:119:55:119 | p : Properties [] : Object | provenance | | +| Test.java:55:90:55:90 | p [post update] : Properties [] : Object | Test.java:55:119:55:119 | p : Properties [] : Object | provenance | | +| Test.java:55:90:55:90 | p [post update] : Properties [] : Object | Test.java:55:119:55:119 | p : Properties [] : Object | provenance | | +| Test.java:55:102:55:108 | element : Object | Test.java:55:90:55:90 | p [post update] : Properties [] : Object | provenance | MaD:6 | +| Test.java:55:102:55:108 | element : Object | Test.java:55:90:55:90 | p [post update] : Properties [] : Object | provenance | MaD:6 | +| Test.java:55:102:55:108 | element : Object | Test.java:55:90:55:90 | p [post update] : Properties [] : Object | provenance | MaD:14 | +| Test.java:55:102:55:108 | element : Object | Test.java:55:90:55:90 | p [post update] : Properties [] : Object | provenance | MaD:14 | +| Test.java:66:17:66:32 | (...)... : String | Test.java:67:33:67:34 | in : String | provenance | | +| Test.java:66:25:66:32 | source(...) : Object | Test.java:66:17:66:32 | (...)... : String | provenance | | +| Test.java:67:33:67:34 | in : String | Test.java:67:43:67:45 | out [post update] : HashMap [] : Object | provenance | MaD:18 | +| Test.java:67:43:67:45 | out [post update] : HashMap [] : Object | Test.java:68:10:68:12 | out : HashMap [] : Object | provenance | | +| Test.java:68:10:68:12 | out : HashMap [] : Object | Test.java:68:10:68:27 | get(...) | provenance | MaD:9 | +| Test.java:73:17:73:32 | (...)... : String | Test.java:74:29:74:30 | in : String | provenance | | +| Test.java:73:25:73:32 | source(...) : Object | Test.java:73:17:73:32 | (...)... : String | provenance | | +| Test.java:74:11:74:31 | tokenizePath(...) : String[] [[]] : Object | Test.java:75:10:75:12 | out : String[] [[]] : Object | provenance | | +| Test.java:74:29:74:30 | in : String | Test.java:74:11:74:31 | tokenizePath(...) : String[] [[]] : Object | provenance | MaD:21 | +| Test.java:75:10:75:12 | out : String[] [[]] : Object | Test.java:75:10:75:15 | ...[...] | provenance | | +| Test.java:80:17:80:32 | (...)... : String | Test.java:81:32:81:33 | in : String | provenance | | +| Test.java:80:25:80:32 | source(...) : Object | Test.java:80:17:80:32 | (...)... : String | provenance | | +| Test.java:81:11:81:34 | tokenizePattern(...) : String[] [[]] : Object | Test.java:82:10:82:12 | out : String[] [[]] : Object | provenance | | +| Test.java:81:32:81:33 | in : String | Test.java:81:11:81:34 | tokenizePattern(...) : String[] [[]] : Object | provenance | MaD:22 | +| Test.java:82:10:82:12 | out : String[] [[]] : Object | Test.java:82:10:82:15 | ...[...] | provenance | | +| Test.java:93:16:93:31 | (...)... : String | Test.java:95:33:95:34 | in : String | provenance | | +| Test.java:93:24:93:31 | source(...) : Object | Test.java:93:16:93:31 | (...)... : String | provenance | | +| Test.java:95:10:95:35 | combine(...) : String | Test.java:96:9:96:11 | out | provenance | | +| Test.java:95:33:95:34 | in : String | Test.java:95:10:95:35 | combine(...) : String | provenance | MaD:17 | +| Test.java:101:16:101:31 | (...)... : String | Test.java:103:27:103:28 | in : String | provenance | | +| Test.java:101:24:101:31 | source(...) : Object | Test.java:101:16:101:31 | (...)... : String | provenance | | +| Test.java:103:10:103:35 | combine(...) : String | Test.java:104:9:104:11 | out | provenance | | +| Test.java:103:27:103:28 | in : String | Test.java:103:10:103:35 | combine(...) : String | provenance | MaD:17 | +| Test.java:109:16:109:31 | (...)... : String | Test.java:111:50:111:51 | in : String | provenance | | +| Test.java:109:24:109:31 | source(...) : Object | Test.java:109:16:109:31 | (...)... : String | provenance | | +| Test.java:111:10:111:52 | extractPathWithinPattern(...) : String | Test.java:112:9:112:11 | out | provenance | | +| Test.java:111:50:111:51 | in : String | Test.java:111:10:111:52 | extractPathWithinPattern(...) : String | provenance | MaD:19 | +| Test.java:117:16:117:31 | (...)... : String | Test.java:119:53:119:54 | in : String | provenance | | +| Test.java:117:24:117:31 | source(...) : Object | Test.java:117:16:117:31 | (...)... : String | provenance | | +| Test.java:119:10:119:55 | extractUriTemplateVariables(...) : Map [] : Object | Test.java:120:21:120:23 | out : Map [] : Object | provenance | | +| Test.java:119:53:119:54 | in : String | Test.java:119:10:119:55 | extractUriTemplateVariables(...) : Map [] : Object | provenance | MaD:20 | +| Test.java:120:21:120:23 | out : Map [] : Object | Test.java:52:23:52:41 | container : Map [] : Object | provenance | | +| Test.java:120:21:120:23 | out : Map [] : Object | Test.java:120:9:120:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:125:14:125:30 | of(...) : List [] : Object | Test.java:126:33:126:34 | in : List [] : Object | provenance | | +| Test.java:125:22:125:29 | source(...) : Object | Test.java:125:14:125:30 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:126:10:126:48 | new AutoPopulatingList<>(...) : AutoPopulatingList [] : Object | Test.java:127:20:127:22 | out : AutoPopulatingList [] : Object | provenance | | +| Test.java:126:33:126:34 | in : List [] : Object | Test.java:126:10:126:48 | new AutoPopulatingList<>(...) : AutoPopulatingList [] : Object | provenance | MaD:23 | +| Test.java:127:20:127:22 | out : AutoPopulatingList [] : Object | Test.java:49:19:49:41 | container : AutoPopulatingList [] : Object | provenance | | +| Test.java:127:20:127:22 | out : AutoPopulatingList [] : Object | Test.java:127:9:127:23 | getElement(...) | provenance | MaD:3 | +| Test.java:132:14:132:30 | of(...) : List [] : Object | Test.java:133:33:133:34 | in : List [] : Object | provenance | | +| Test.java:132:22:132:29 | source(...) : Object | Test.java:132:14:132:30 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:133:10:133:76 | new AutoPopulatingList<>(...) : AutoPopulatingList [] : Object | Test.java:134:20:134:22 | out : AutoPopulatingList [] : Object | provenance | | +| Test.java:133:33:133:34 | in : List [] : Object | Test.java:133:10:133:76 | new AutoPopulatingList<>(...) : AutoPopulatingList [] : Object | provenance | MaD:24 | +| Test.java:134:20:134:22 | out : AutoPopulatingList [] : Object | Test.java:49:19:49:41 | container : AutoPopulatingList [] : Object | provenance | | +| Test.java:134:20:134:22 | out : AutoPopulatingList [] : Object | Test.java:134:9:134:23 | getElement(...) | provenance | MaD:3 | +| Test.java:139:16:139:31 | (...)... : byte[] | Test.java:140:29:140:30 | in : byte[] | provenance | | +| Test.java:139:24:139:31 | source(...) : Object | Test.java:139:16:139:31 | (...)... : byte[] | provenance | | +| Test.java:140:10:140:31 | decode(...) : byte[] | Test.java:141:9:141:11 | out | provenance | | +| Test.java:140:29:140:30 | in : byte[] | Test.java:140:10:140:31 | decode(...) : byte[] | provenance | MaD:25 | +| Test.java:146:16:146:31 | (...)... : String | Test.java:147:39:147:40 | in : String | provenance | | +| Test.java:146:24:146:31 | source(...) : Object | Test.java:146:16:146:31 | (...)... : String | provenance | | +| Test.java:147:10:147:41 | decodeFromString(...) : byte[] | Test.java:148:9:148:11 | out | provenance | | +| Test.java:147:39:147:40 | in : String | Test.java:147:10:147:41 | decodeFromString(...) : byte[] | provenance | MaD:26 | +| Test.java:153:16:153:31 | (...)... : String | Test.java:154:46:154:47 | in : String | provenance | | +| Test.java:153:24:153:31 | source(...) : Object | Test.java:153:16:153:31 | (...)... : String | provenance | | +| Test.java:154:10:154:48 | decodeFromUrlSafeString(...) : byte[] | Test.java:155:9:155:11 | out | provenance | | +| Test.java:154:46:154:47 | in : String | Test.java:154:10:154:48 | decodeFromUrlSafeString(...) : byte[] | provenance | MaD:27 | +| Test.java:160:16:160:31 | (...)... : byte[] | Test.java:161:36:161:37 | in : byte[] | provenance | | +| Test.java:160:24:160:31 | source(...) : Object | Test.java:160:16:160:31 | (...)... : byte[] | provenance | | +| Test.java:161:10:161:38 | decodeUrlSafe(...) : byte[] | Test.java:162:9:162:11 | out | provenance | | +| Test.java:161:36:161:37 | in : byte[] | Test.java:161:10:161:38 | decodeUrlSafe(...) : byte[] | provenance | MaD:28 | +| Test.java:167:16:167:31 | (...)... : byte[] | Test.java:168:29:168:30 | in : byte[] | provenance | | +| Test.java:167:24:167:31 | source(...) : Object | Test.java:167:16:167:31 | (...)... : byte[] | provenance | | +| Test.java:168:10:168:31 | encode(...) : byte[] | Test.java:169:9:169:11 | out | provenance | | +| Test.java:168:29:168:30 | in : byte[] | Test.java:168:10:168:31 | encode(...) : byte[] | provenance | MaD:29 | +| Test.java:174:16:174:31 | (...)... : byte[] | Test.java:175:37:175:38 | in : byte[] | provenance | | +| Test.java:174:24:174:31 | source(...) : Object | Test.java:174:16:174:31 | (...)... : byte[] | provenance | | +| Test.java:175:10:175:39 | encodeToString(...) : String | Test.java:176:9:176:11 | out | provenance | | +| Test.java:175:37:175:38 | in : byte[] | Test.java:175:10:175:39 | encodeToString(...) : String | provenance | MaD:30 | +| Test.java:181:16:181:31 | (...)... : byte[] | Test.java:182:44:182:45 | in : byte[] | provenance | | +| Test.java:181:24:181:31 | source(...) : Object | Test.java:181:16:181:31 | (...)... : byte[] | provenance | | +| Test.java:182:10:182:46 | encodeToUrlSafeString(...) : String | Test.java:183:9:183:11 | out | provenance | | +| Test.java:182:44:182:45 | in : byte[] | Test.java:182:10:182:46 | encodeToUrlSafeString(...) : String | provenance | MaD:31 | +| Test.java:188:16:188:31 | (...)... : byte[] | Test.java:189:36:189:37 | in : byte[] | provenance | | +| Test.java:188:24:188:31 | source(...) : Object | Test.java:188:16:188:31 | (...)... : byte[] | provenance | | +| Test.java:189:10:189:38 | encodeUrlSafe(...) : byte[] | Test.java:190:9:190:11 | out | provenance | | +| Test.java:189:36:189:37 | in : byte[] | Test.java:189:10:189:38 | encodeUrlSafe(...) : byte[] | provenance | MaD:32 | +| Test.java:195:18:195:46 | newWithArrayElement(...) : Object[] [[]] : Object | Test.java:196:38:196:39 | in : Object[] [[]] : Object | provenance | | +| Test.java:195:38:195:45 | source(...) : Object | Test.java:53:31:53:44 | element : Object | provenance | | +| Test.java:195:38:195:45 | source(...) : Object | Test.java:195:18:195:46 | newWithArrayElement(...) : Object[] [[]] : Object | provenance | | +| Test.java:196:10:196:40 | arrayToList(...) : List [] : Object | Test.java:197:20:197:22 | out : List [] : Object | provenance | | +| Test.java:196:38:196:39 | in : Object[] [[]] : Object | Test.java:196:10:196:40 | arrayToList(...) : List [] : Object | provenance | MaD:33 | +| Test.java:197:20:197:22 | out : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:197:20:197:22 | out : List [] : Object | Test.java:197:9:197:23 | getElement(...) | provenance | MaD:3 | +| Test.java:202:20:202:36 | of(...) : List [] : Object | Test.java:203:41:203:42 | in : List [] : Object | provenance | | +| Test.java:202:28:202:35 | source(...) : Object | Test.java:202:20:202:36 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:203:10:203:49 | findFirstMatch(...) : Object | Test.java:204:9:204:11 | out | provenance | | +| Test.java:203:41:203:42 | in : List [] : Object | Test.java:203:10:203:49 | findFirstMatch(...) : Object | provenance | MaD:34 | +| Test.java:209:20:209:36 | of(...) : List [] : Object | Test.java:210:42:210:43 | in : List [] : Object | provenance | | +| Test.java:209:28:209:35 | source(...) : Object | Test.java:209:20:209:36 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:210:10:210:62 | findValueOfType(...) : Object | Test.java:211:9:211:11 | out | provenance | | +| Test.java:210:42:210:43 | in : List [] : Object | Test.java:210:10:210:62 | findValueOfType(...) : Object | provenance | MaD:35 | +| Test.java:216:20:216:36 | of(...) : List [] : Object | Test.java:217:42:217:43 | in : List [] : Object | provenance | | +| Test.java:216:28:216:35 | source(...) : Object | Test.java:216:20:216:36 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:217:10:217:57 | findValueOfType(...) : Object | Test.java:218:9:218:11 | out | provenance | | +| Test.java:217:42:217:43 | in : List [] : Object | Test.java:217:10:217:57 | findValueOfType(...) : Object | provenance | MaD:35 | +| Test.java:223:13:223:28 | of(...) : Set [] : Object | Test.java:224:39:224:40 | in : Set [] : Object | provenance | | +| Test.java:223:20:223:27 | source(...) : Object | Test.java:223:13:223:28 | of(...) : Set [] : Object | provenance | MaD:16 | +| Test.java:224:10:224:41 | firstElement(...) : Object | Test.java:225:9:225:11 | out | provenance | | +| Test.java:224:39:224:40 | in : Set [] : Object | Test.java:224:10:224:41 | firstElement(...) : Object | provenance | MaD:36 | +| Test.java:230:14:230:30 | of(...) : List [] : Object | Test.java:231:39:231:40 | in : List [] : Object | provenance | | +| Test.java:230:22:230:29 | source(...) : Object | Test.java:230:14:230:30 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:231:10:231:41 | firstElement(...) : Object | Test.java:232:9:232:11 | out | provenance | | +| Test.java:231:39:231:40 | in : List [] : Object | Test.java:231:10:231:41 | firstElement(...) : Object | provenance | MaD:36 | +| Test.java:237:13:237:28 | of(...) : Set [] : Object | Test.java:238:38:238:39 | in : Set [] : Object | provenance | | +| Test.java:237:20:237:27 | source(...) : Object | Test.java:237:13:237:28 | of(...) : Set [] : Object | provenance | MaD:16 | +| Test.java:238:10:238:40 | lastElement(...) : Object | Test.java:239:9:239:11 | out | provenance | | +| Test.java:238:38:238:39 | in : Set [] : Object | Test.java:238:10:238:40 | lastElement(...) : Object | provenance | MaD:37 | +| Test.java:244:14:244:30 | of(...) : List [] : Object | Test.java:245:38:245:39 | in : List [] : Object | provenance | | +| Test.java:244:22:244:29 | source(...) : Object | Test.java:244:14:244:30 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:245:10:245:40 | lastElement(...) : Object | Test.java:246:9:246:11 | out | provenance | | +| Test.java:245:38:245:39 | in : List [] : Object | Test.java:245:10:245:40 | lastElement(...) : Object | provenance | MaD:37 | +| Test.java:251:18:251:46 | newWithArrayElement(...) : Object[] [[]] : Object | Test.java:252:45:252:46 | in : Object[] [[]] : Object | provenance | | +| Test.java:251:38:251:45 | source(...) : Object | Test.java:53:31:53:44 | element : Object | provenance | | +| Test.java:251:38:251:45 | source(...) : Object | Test.java:251:18:251:46 | newWithArrayElement(...) : Object[] [[]] : Object | provenance | | +| Test.java:252:45:252:46 | in : Object[] [[]] : Object | Test.java:252:49:252:51 | out [post update] : Collection [] : Object | provenance | MaD:38 | +| Test.java:252:49:252:51 | out [post update] : Collection [] : Object | Test.java:253:20:253:22 | out : Collection [] : Object | provenance | | +| Test.java:253:20:253:22 | out : Collection [] : Object | Test.java:49:19:49:41 | container : Collection [] : Object | provenance | | +| Test.java:253:20:253:22 | out : Collection [] : Object | Test.java:253:9:253:23 | getElement(...) | provenance | MaD:3 | +| Test.java:258:20:258:52 | newPropertiesWithMapKey(...) : Properties [] : Object | Test.java:259:43:259:44 | in : Properties [] : Object | provenance | | +| Test.java:258:44:258:51 | source(...) : Object | Test.java:54:37:54:50 | element : Object | provenance | | +| Test.java:258:44:258:51 | source(...) : Object | Test.java:258:20:258:52 | newPropertiesWithMapKey(...) : Properties [] : Object | provenance | MaD:5 | +| Test.java:258:44:258:51 | source(...) : Object | Test.java:258:20:258:52 | newPropertiesWithMapKey(...) : Properties [] : Object | provenance | MaD:13 | +| Test.java:259:43:259:44 | in : Properties [] : Object | Test.java:259:47:259:49 | out [post update] : Map [] : Object | provenance | MaD:39 | +| Test.java:259:47:259:49 | out [post update] : Map [] : Object | Test.java:260:19:260:21 | out : Map [] : Object | provenance | | +| Test.java:260:19:260:21 | out : Map [] : Object | Test.java:51:21:51:39 | container : Map [] : Object | provenance | | +| Test.java:260:19:260:21 | out : Map [] : Object | Test.java:260:9:260:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:265:20:265:54 | newPropertiesWithMapValue(...) : Properties [] : Object | Test.java:266:43:266:44 | in : Properties [] : Object | provenance | | +| Test.java:265:46:265:53 | source(...) : Object | Test.java:55:39:55:52 | element : Object | provenance | | +| Test.java:265:46:265:53 | source(...) : Object | Test.java:265:20:265:54 | newPropertiesWithMapValue(...) : Properties [] : Object | provenance | MaD:6 | +| Test.java:265:46:265:53 | source(...) : Object | Test.java:265:20:265:54 | newPropertiesWithMapValue(...) : Properties [] : Object | provenance | MaD:14 | +| Test.java:266:43:266:44 | in : Properties [] : Object | Test.java:266:47:266:49 | out [post update] : Map [] : Object | provenance | MaD:40 | +| Test.java:266:47:266:49 | out [post update] : Map [] : Object | Test.java:267:21:267:23 | out : Map [] : Object | provenance | | +| Test.java:267:21:267:23 | out : Map [] : Object | Test.java:52:23:52:41 | container : Map [] : Object | provenance | | +| Test.java:267:21:267:23 | out : Map [] : Object | Test.java:267:9:267:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:272:21:272:62 | enumeration(...) : Enumeration [] : Object | Test.java:273:37:273:38 | in : Enumeration [] : Object | provenance | | +| Test.java:272:45:272:61 | of(...) : List [] : Object | Test.java:272:21:272:62 | enumeration(...) : Enumeration [] : Object | provenance | MaD:4 | +| Test.java:272:53:272:60 | source(...) : Object | Test.java:272:45:272:61 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:273:10:273:39 | toIterator(...) : Iterator [] : Object | Test.java:274:20:274:22 | out : Iterator [] : Object | provenance | | +| Test.java:273:37:273:38 | in : Enumeration [] : Object | Test.java:273:10:273:39 | toIterator(...) : Iterator [] : Object | provenance | MaD:41 | +| Test.java:274:20:274:22 | out : Iterator [] : Object | Test.java:50:19:50:39 | container : Iterator [] : Object | provenance | | +| Test.java:274:20:274:22 | out : Iterator [] : Object | Test.java:274:9:274:23 | getElement(...) | provenance | MaD:7 | +| Test.java:279:13:279:43 | of(...) : Map [, ] : Object | Test.java:280:42:280:43 | in : Map [, ] : Object | provenance | | +| Test.java:279:26:279:42 | of(...) : List [] : Object | Test.java:279:13:279:43 | of(...) : Map [, ] : Object | provenance | MaD:12 | +| Test.java:279:34:279:41 | source(...) : Object | Test.java:279:26:279:42 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:280:10:280:44 | toMultiValueMap(...) : MultiValueMap [, ] : Object | Test.java:281:32:281:34 | out : MultiValueMap [, ] : Object | provenance | | +| Test.java:280:42:280:43 | in : Map [, ] : Object | Test.java:280:10:280:44 | toMultiValueMap(...) : MultiValueMap [, ] : Object | provenance | MaD:43 | +| Test.java:281:20:281:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:281:20:281:35 | getMapValue(...) : List [] : Object | Test.java:281:9:281:36 | getElement(...) | provenance | MaD:3 | +| Test.java:281:32:281:34 | out : MultiValueMap [, ] : Object | Test.java:281:20:281:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:286:13:286:34 | of(...) : Map [] : Object | Test.java:287:42:287:43 | in : Map [] : Object | provenance | | +| Test.java:286:20:286:27 | source(...) : Object | Test.java:286:13:286:34 | of(...) : Map [] : Object | provenance | MaD:11 | +| Test.java:287:10:287:44 | toMultiValueMap(...) : MultiValueMap [] : Object | Test.java:288:19:288:21 | out : MultiValueMap [] : Object | provenance | | +| Test.java:287:42:287:43 | in : Map [] : Object | Test.java:287:10:287:44 | toMultiValueMap(...) : MultiValueMap [] : Object | provenance | MaD:42 | +| Test.java:288:19:288:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | provenance | | +| Test.java:288:19:288:21 | out : MultiValueMap [] : Object | Test.java:288:9:288:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:293:23:293:69 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | Test.java:294:52:294:53 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:293:47:293:68 | of(...) : Map [] : Object | Test.java:293:23:293:69 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | provenance | MaD:58 | +| Test.java:293:54:293:61 | source(...) : Object | Test.java:293:47:293:68 | of(...) : Map [] : Object | provenance | MaD:11 | +| Test.java:294:10:294:54 | unmodifiableMultiValueMap(...) : MultiValueMap [] : Object | Test.java:295:19:295:21 | out : MultiValueMap [] : Object | provenance | | +| Test.java:294:52:294:53 | in : LinkedMultiValueMap [] : Object | Test.java:294:10:294:54 | unmodifiableMultiValueMap(...) : MultiValueMap [] : Object | provenance | MaD:44 | +| Test.java:295:19:295:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | provenance | | +| Test.java:295:19:295:21 | out : MultiValueMap [] : Object | Test.java:295:9:295:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:301:4:301:5 | in [post update] : LinkedMultiValueMap [] : Object | Test.java:302:52:302:53 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:301:17:301:24 | source(...) : Object | Test.java:301:4:301:5 | in [post update] : LinkedMultiValueMap [] : Object | provenance | MaD:14 | +| Test.java:302:10:302:54 | unmodifiableMultiValueMap(...) : MultiValueMap [] : Object | Test.java:303:21:303:23 | out : MultiValueMap [] : Object | provenance | | +| Test.java:302:52:302:53 | in : LinkedMultiValueMap [] : Object | Test.java:302:10:302:54 | unmodifiableMultiValueMap(...) : MultiValueMap [] : Object | provenance | MaD:45 | +| Test.java:303:21:303:23 | out : MultiValueMap [] : Object | Test.java:303:9:303:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:308:18:308:34 | of(...) : List [] : Object | Test.java:308:18:308:45 | iterator(...) : Iterator [] : Object | provenance | MaD:3 | +| Test.java:308:18:308:45 | iterator(...) : Iterator [] : Object | Test.java:309:12:309:13 | in : Iterator [] : Object | provenance | | +| Test.java:308:26:308:33 | source(...) : Object | Test.java:308:18:308:34 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:309:4:309:6 | out [post update] : CompositeIterator [] : Object | Test.java:310:20:310:22 | out : CompositeIterator [] : Object | provenance | | +| Test.java:309:12:309:13 | in : Iterator [] : Object | Test.java:309:4:309:6 | out [post update] : CompositeIterator [] : Object | provenance | MaD:46 | +| Test.java:310:20:310:22 | out : CompositeIterator [] : Object | Test.java:50:19:50:39 | container : CompositeIterator [] : Object | provenance | | +| Test.java:310:20:310:22 | out : CompositeIterator [] : Object | Test.java:310:9:310:23 | getElement(...) | provenance | MaD:7 | +| Test.java:316:4:316:5 | in [post update] : CompositeIterator [] : Object | Test.java:317:10:317:11 | in : CompositeIterator [] : Object | provenance | | +| Test.java:316:11:316:27 | of(...) : List [] : Object | Test.java:316:11:316:38 | iterator(...) : Iterator [] : Object | provenance | MaD:3 | +| Test.java:316:11:316:38 | iterator(...) : Iterator [] : Object | Test.java:316:4:316:5 | in [post update] : CompositeIterator [] : Object | provenance | MaD:46 | +| Test.java:316:19:316:26 | source(...) : Object | Test.java:316:11:316:27 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:317:10:317:11 | in : CompositeIterator [] : Object | Test.java:317:10:317:18 | next(...) : Object | provenance | MaD:7 | +| Test.java:317:10:317:18 | next(...) : Object | Test.java:318:9:318:11 | out | provenance | | +| Test.java:323:35:323:69 | (...)... : FastByteArrayOutputStream | Test.java:324:10:324:11 | in : FastByteArrayOutputStream | provenance | | +| Test.java:323:62:323:69 | source(...) : Object | Test.java:323:35:323:69 | (...)... : FastByteArrayOutputStream | provenance | | +| Test.java:324:10:324:11 | in : FastByteArrayOutputStream | Test.java:324:10:324:28 | getInputStream(...) : InputStream | provenance | MaD:47 | +| Test.java:324:10:324:28 | getInputStream(...) : InputStream | Test.java:325:9:325:11 | out | provenance | | +| Test.java:330:35:330:69 | (...)... : FastByteArrayOutputStream | Test.java:331:10:331:11 | in : FastByteArrayOutputStream | provenance | | +| Test.java:330:62:330:69 | source(...) : Object | Test.java:330:35:330:69 | (...)... : FastByteArrayOutputStream | provenance | | +| Test.java:331:10:331:11 | in : FastByteArrayOutputStream | Test.java:331:10:331:25 | toByteArray(...) : byte[] | provenance | MaD:48 | +| Test.java:331:10:331:25 | toByteArray(...) : byte[] | Test.java:332:9:332:11 | out | provenance | | +| Test.java:337:13:337:25 | (...)... : Number | Test.java:338:14:338:15 | in : Number | provenance | | +| Test.java:337:18:337:25 | source(...) : Object | Test.java:337:13:337:25 | (...)... : Number | provenance | | +| Test.java:338:4:338:6 | out [post update] : FastByteArrayOutputStream | Test.java:339:9:339:11 | out | provenance | | +| Test.java:338:14:338:15 | in : Number | Test.java:338:4:338:6 | out [post update] : FastByteArrayOutputStream | provenance | MaD:2 | +| Test.java:338:14:338:15 | in : Number | Test.java:338:4:338:6 | out [post update] : FastByteArrayOutputStream | provenance | MaD:49 | +| Test.java:344:16:344:31 | (...)... : byte[] | Test.java:345:14:345:15 | in : byte[] | provenance | | +| Test.java:344:24:344:31 | source(...) : Object | Test.java:344:16:344:31 | (...)... : byte[] | provenance | | +| Test.java:345:4:345:6 | out [post update] : FastByteArrayOutputStream | Test.java:346:9:346:11 | out | provenance | | +| Test.java:345:14:345:15 | in : byte[] | Test.java:345:4:345:6 | out [post update] : FastByteArrayOutputStream | provenance | MaD:1 | +| Test.java:345:14:345:15 | in : byte[] | Test.java:345:4:345:6 | out [post update] : FastByteArrayOutputStream | provenance | MaD:49 | +| Test.java:351:35:351:69 | (...)... : FastByteArrayOutputStream | Test.java:352:4:352:5 | in : FastByteArrayOutputStream | provenance | | +| Test.java:351:62:351:69 | source(...) : Object | Test.java:351:35:351:69 | (...)... : FastByteArrayOutputStream | provenance | | +| Test.java:352:4:352:5 | in : FastByteArrayOutputStream | Test.java:352:15:352:17 | out [post update] : OutputStream | provenance | MaD:50 | +| Test.java:352:15:352:17 | out [post update] : OutputStream | Test.java:353:9:353:11 | out | provenance | | +| Test.java:358:16:358:31 | (...)... : String | Test.java:359:23:359:24 | in : String | provenance | | +| Test.java:358:24:358:31 | source(...) : Object | Test.java:358:16:358:31 | (...)... : String | provenance | | +| Test.java:359:23:359:24 | in : String | Test.java:359:27:359:29 | out [post update] : Writer | provenance | MaD:54 | +| Test.java:359:27:359:29 | out [post update] : Writer | Test.java:360:9:360:11 | out | provenance | | +| Test.java:365:16:365:31 | (...)... : Reader | Test.java:366:23:366:24 | in : Reader | provenance | | +| Test.java:365:24:365:31 | source(...) : Object | Test.java:365:16:365:31 | (...)... : Reader | provenance | | +| Test.java:366:23:366:24 | in : Reader | Test.java:366:27:366:29 | out [post update] : Writer | provenance | MaD:53 | +| Test.java:366:27:366:29 | out [post update] : Writer | Test.java:367:9:367:11 | out | provenance | | +| Test.java:372:16:372:31 | (...)... : byte[] | Test.java:373:23:373:24 | in : byte[] | provenance | | +| Test.java:372:24:372:31 | source(...) : Object | Test.java:372:16:372:31 | (...)... : byte[] | provenance | | +| Test.java:373:23:373:24 | in : byte[] | Test.java:373:27:373:29 | out [post update] : OutputStream | provenance | MaD:51 | +| Test.java:373:27:373:29 | out [post update] : OutputStream | Test.java:374:9:374:11 | out | provenance | | +| Test.java:379:21:379:41 | (...)... : InputStream | Test.java:380:23:380:24 | in : InputStream | provenance | | +| Test.java:379:34:379:41 | source(...) : Object | Test.java:379:21:379:41 | (...)... : InputStream | provenance | | +| Test.java:380:23:380:24 | in : InputStream | Test.java:380:27:380:29 | out [post update] : OutputStream | provenance | MaD:52 | +| Test.java:380:27:380:29 | out [post update] : OutputStream | Test.java:381:9:381:11 | out | provenance | | +| Test.java:386:21:386:41 | (...)... : InputStream | Test.java:387:40:387:41 | in : InputStream | provenance | | +| Test.java:386:34:386:41 | source(...) : Object | Test.java:386:21:386:41 | (...)... : InputStream | provenance | | +| Test.java:387:10:387:42 | copyToByteArray(...) : byte[] | Test.java:388:9:388:11 | out | provenance | | +| Test.java:387:40:387:41 | in : InputStream | Test.java:387:10:387:42 | copyToByteArray(...) : byte[] | provenance | MaD:55 | +| Test.java:393:14:393:27 | (...)... : File | Test.java:394:40:394:41 | in : File | provenance | | +| Test.java:393:20:393:27 | source(...) : Object | Test.java:393:14:393:27 | (...)... : File | provenance | | +| Test.java:394:10:394:42 | copyToByteArray(...) : byte[] | Test.java:395:9:395:11 | out | provenance | | +| Test.java:394:40:394:41 | in : File | Test.java:394:10:394:42 | copyToByteArray(...) : byte[] | provenance | MaD:55 | +| Test.java:400:16:400:31 | (...)... : Reader | Test.java:401:37:401:38 | in : Reader | provenance | | +| Test.java:400:24:400:31 | source(...) : Object | Test.java:400:16:400:31 | (...)... : Reader | provenance | | +| Test.java:401:10:401:39 | copyToString(...) : String | Test.java:402:9:402:11 | out | provenance | | +| Test.java:401:37:401:38 | in : Reader | Test.java:401:10:401:39 | copyToString(...) : String | provenance | MaD:56 | +| Test.java:407:14:407:27 | (...)... : File | Test.java:408:36:408:37 | in : File | provenance | | +| Test.java:407:20:407:27 | source(...) : Object | Test.java:407:14:407:27 | (...)... : File | provenance | | +| Test.java:408:36:408:37 | in : File | Test.java:408:40:408:42 | out [post update] : File | provenance | MaD:57 | +| Test.java:408:40:408:42 | out [post update] : File | Test.java:409:9:409:11 | out | provenance | | +| Test.java:414:13:414:43 | of(...) : Map [, ] : Object | Test.java:415:34:415:35 | in : Map [, ] : Object | provenance | | +| Test.java:414:26:414:42 | of(...) : List [] : Object | Test.java:414:13:414:43 | of(...) : Map [, ] : Object | provenance | MaD:12 | +| Test.java:414:34:414:41 | source(...) : Object | Test.java:414:26:414:42 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:415:10:415:36 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [, ] : Object | Test.java:416:32:416:34 | out : LinkedMultiValueMap [, ] : Object | provenance | | +| Test.java:415:34:415:35 | in : Map [, ] : Object | Test.java:415:10:415:36 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [, ] : Object | provenance | MaD:59 | +| Test.java:416:20:416:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:416:20:416:35 | getMapValue(...) : List [] : Object | Test.java:416:9:416:36 | getElement(...) | provenance | MaD:3 | +| Test.java:416:32:416:34 | out : LinkedMultiValueMap [, ] : Object | Test.java:416:20:416:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:421:13:421:34 | of(...) : Map [] : Object | Test.java:422:34:422:35 | in : Map [] : Object | provenance | | +| Test.java:421:20:421:27 | source(...) : Object | Test.java:421:13:421:34 | of(...) : Map [] : Object | provenance | MaD:11 | +| Test.java:422:10:422:36 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | Test.java:423:19:423:21 | out : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:422:34:422:35 | in : Map [] : Object | Test.java:422:10:422:36 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | provenance | MaD:58 | +| Test.java:423:19:423:21 | out : LinkedMultiValueMap [] : Object | Test.java:51:21:51:39 | container : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:423:19:423:21 | out : LinkedMultiValueMap [] : Object | Test.java:423:9:423:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:429:4:429:5 | in [post update] : LinkedMultiValueMap [] : Object | Test.java:430:10:430:11 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:429:11:429:18 | source(...) : Object | Test.java:429:4:429:5 | in [post update] : LinkedMultiValueMap [] : Object | provenance | MaD:71 | +| Test.java:430:10:430:11 | in : LinkedMultiValueMap [] : Object | Test.java:430:10:430:22 | deepCopy(...) : LinkedMultiValueMap [] : Object | provenance | MaD:60 | +| Test.java:430:10:430:22 | deepCopy(...) : LinkedMultiValueMap [] : Object | Test.java:431:19:431:21 | out : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:431:19:431:21 | out : LinkedMultiValueMap [] : Object | Test.java:51:21:51:39 | container : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:431:19:431:21 | out : LinkedMultiValueMap [] : Object | Test.java:431:9:431:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:437:4:437:5 | in [post update] : LinkedMultiValueMap [, ] : Object | Test.java:438:10:438:11 | in : LinkedMultiValueMap [, ] : Object | provenance | | +| Test.java:437:17:437:24 | source(...) : Object | Test.java:437:4:437:5 | in [post update] : LinkedMultiValueMap [, ] : Object | provenance | MaD:72 | +| Test.java:438:10:438:11 | in : LinkedMultiValueMap [, ] : Object | Test.java:438:10:438:22 | deepCopy(...) : LinkedMultiValueMap [, ] : Object | provenance | MaD:61 | +| Test.java:438:10:438:22 | deepCopy(...) : LinkedMultiValueMap [, ] : Object | Test.java:439:32:439:34 | out : LinkedMultiValueMap [, ] : Object | provenance | | +| Test.java:439:20:439:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:439:20:439:35 | getMapValue(...) : List [] : Object | Test.java:439:9:439:36 | getElement(...) | provenance | MaD:3 | +| Test.java:439:32:439:34 | out : LinkedMultiValueMap [, ] : Object | Test.java:439:20:439:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:444:16:444:23 | source(...) : Object | Test.java:445:12:445:13 | in : Object | provenance | | +| Test.java:445:4:445:6 | out [post update] : MultiValueMapAdapter [] : Object | Test.java:446:19:446:21 | out : MultiValueMapAdapter [] : Object | provenance | | +| Test.java:445:12:445:13 | in : Object | Test.java:445:4:445:6 | out [post update] : MultiValueMapAdapter [] : Object | provenance | MaD:62 | +| Test.java:446:19:446:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | provenance | | +| Test.java:446:19:446:21 | out : MultiValueMapAdapter [] : Object | Test.java:446:9:446:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:451:16:451:23 | source(...) : Object | Test.java:452:12:452:13 | in : Object | provenance | | +| Test.java:452:4:452:6 | out [post update] : MultiValueMap [] : Object | Test.java:453:19:453:21 | out : MultiValueMap [] : Object | provenance | | +| Test.java:452:12:452:13 | in : Object | Test.java:452:4:452:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:62 | +| Test.java:453:19:453:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | provenance | | +| Test.java:453:19:453:21 | out : MultiValueMap [] : Object | Test.java:453:9:453:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:458:16:458:23 | source(...) : Object | Test.java:459:12:459:13 | in : Object | provenance | | +| Test.java:459:4:459:6 | out [post update] : MultiValueMap [] : Object | Test.java:460:19:460:21 | out : MultiValueMap [] : Object | provenance | | +| Test.java:459:12:459:13 | in : Object | Test.java:459:4:459:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:62 | +| Test.java:460:19:460:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | provenance | | +| Test.java:460:19:460:21 | out : MultiValueMap [] : Object | Test.java:460:9:460:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:465:16:465:23 | source(...) : Object | Test.java:466:18:466:19 | in : Object | provenance | | +| Test.java:466:4:466:6 | out [post update] : MultiValueMapAdapter [, ] : Object | Test.java:467:32:467:34 | out : MultiValueMapAdapter [, ] : Object | provenance | | +| Test.java:466:18:466:19 | in : Object | Test.java:466:4:466:6 | out [post update] : MultiValueMapAdapter [, ] : Object | provenance | MaD:63 | +| Test.java:467:20:467:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:467:20:467:35 | getMapValue(...) : List [] : Object | Test.java:467:9:467:36 | getElement(...) | provenance | MaD:3 | +| Test.java:467:32:467:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:467:20:467:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:472:16:472:23 | source(...) : Object | Test.java:473:18:473:19 | in : Object | provenance | | +| Test.java:473:4:473:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:474:32:474:34 | out : MultiValueMap [, ] : Object | provenance | | +| Test.java:473:18:473:19 | in : Object | Test.java:473:4:473:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:63 | +| Test.java:474:20:474:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:474:20:474:35 | getMapValue(...) : List [] : Object | Test.java:474:9:474:36 | getElement(...) | provenance | MaD:3 | +| Test.java:474:32:474:34 | out : MultiValueMap [, ] : Object | Test.java:474:20:474:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:479:16:479:23 | source(...) : Object | Test.java:480:26:480:27 | in : Object | provenance | | +| Test.java:480:4:480:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:481:32:481:34 | out : MultiValueMap [, ] : Object | provenance | | +| Test.java:480:26:480:27 | in : Object | Test.java:480:4:480:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:63 | +| Test.java:481:20:481:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:481:20:481:35 | getMapValue(...) : List [] : Object | Test.java:481:9:481:36 | getElement(...) | provenance | MaD:3 | +| Test.java:481:32:481:34 | out : MultiValueMap [, ] : Object | Test.java:481:20:481:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:486:14:486:30 | of(...) : List [] : Object | Test.java:487:21:487:22 | in : List [] : Object | provenance | | +| Test.java:486:22:486:29 | source(...) : Object | Test.java:486:14:486:30 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:487:4:487:6 | out [post update] : MultiValueMapAdapter [, ] : Object | Test.java:488:32:488:34 | out : MultiValueMapAdapter [, ] : Object | provenance | | +| Test.java:487:21:487:22 | in : List [] : Object | Test.java:487:4:487:6 | out [post update] : MultiValueMapAdapter [, ] : Object | provenance | MaD:65 | +| Test.java:488:20:488:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:488:20:488:35 | getMapValue(...) : List [] : Object | Test.java:488:9:488:36 | getElement(...) | provenance | MaD:3 | +| Test.java:488:32:488:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:488:20:488:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:493:14:493:30 | of(...) : List [] : Object | Test.java:494:21:494:22 | in : List [] : Object | provenance | | +| Test.java:493:22:493:29 | source(...) : Object | Test.java:493:14:493:30 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:494:4:494:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:495:32:495:34 | out : MultiValueMap [, ] : Object | provenance | | +| Test.java:494:21:494:22 | in : List [] : Object | Test.java:494:4:494:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:65 | +| Test.java:495:20:495:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:495:20:495:35 | getMapValue(...) : List [] : Object | Test.java:495:9:495:36 | getElement(...) | provenance | MaD:3 | +| Test.java:495:32:495:34 | out : MultiValueMap [, ] : Object | Test.java:495:20:495:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:500:14:500:30 | of(...) : List [] : Object | Test.java:501:29:501:30 | in : List [] : Object | provenance | | +| Test.java:500:22:500:29 | source(...) : Object | Test.java:500:14:500:30 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:501:4:501:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:502:32:502:34 | out : MultiValueMap [, ] : Object | provenance | | +| Test.java:501:29:501:30 | in : List [] : Object | Test.java:501:4:501:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:65 | +| Test.java:502:20:502:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:502:20:502:35 | getMapValue(...) : List [] : Object | Test.java:502:9:502:36 | getElement(...) | provenance | MaD:3 | +| Test.java:502:32:502:34 | out : MultiValueMap [, ] : Object | Test.java:502:20:502:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:507:23:507:68 | (...)... : MultiValueMap [, ] : Object | Test.java:508:15:508:16 | in : MultiValueMap [, ] : Object | provenance | | +| Test.java:507:38:507:68 | of(...) : Map [, ] : Object | Test.java:507:23:507:68 | (...)... : MultiValueMap [, ] : Object | provenance | | +| Test.java:507:51:507:67 | of(...) : List [] : Object | Test.java:507:38:507:68 | of(...) : Map [, ] : Object | provenance | MaD:12 | +| Test.java:507:59:507:66 | source(...) : Object | Test.java:507:51:507:67 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:508:4:508:6 | out [post update] : MultiValueMapAdapter [, ] : Object | Test.java:509:32:509:34 | out : MultiValueMapAdapter [, ] : Object | provenance | | +| Test.java:508:15:508:16 | in : MultiValueMap [, ] : Object | Test.java:508:4:508:6 | out [post update] : MultiValueMapAdapter [, ] : Object | provenance | MaD:67 | +| Test.java:509:20:509:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:509:20:509:35 | getMapValue(...) : List [] : Object | Test.java:509:9:509:36 | getElement(...) | provenance | MaD:3 | +| Test.java:509:32:509:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:509:20:509:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:514:23:514:68 | (...)... : MultiValueMap [, ] : Object | Test.java:515:15:515:16 | in : MultiValueMap [, ] : Object | provenance | | +| Test.java:514:38:514:68 | of(...) : Map [, ] : Object | Test.java:514:23:514:68 | (...)... : MultiValueMap [, ] : Object | provenance | | +| Test.java:514:51:514:67 | of(...) : List [] : Object | Test.java:514:38:514:68 | of(...) : Map [, ] : Object | provenance | MaD:12 | +| Test.java:514:59:514:66 | source(...) : Object | Test.java:514:51:514:67 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:515:4:515:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:516:32:516:34 | out : MultiValueMap [, ] : Object | provenance | | +| Test.java:515:15:515:16 | in : MultiValueMap [, ] : Object | Test.java:515:4:515:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:67 | +| Test.java:516:20:516:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:516:20:516:35 | getMapValue(...) : List [] : Object | Test.java:516:9:516:36 | getElement(...) | provenance | MaD:3 | +| Test.java:516:32:516:34 | out : MultiValueMap [, ] : Object | Test.java:516:20:516:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:521:16:521:23 | source(...) : Object | Test.java:522:15:522:16 | in : Object | provenance | | +| Test.java:522:4:522:6 | out [post update] : MultiValueMapAdapter [] : Object | Test.java:523:19:523:21 | out : MultiValueMapAdapter [] : Object | provenance | | +| Test.java:522:15:522:16 | in : Object | Test.java:522:4:522:6 | out [post update] : MultiValueMapAdapter [] : Object | provenance | MaD:64 | +| Test.java:523:19:523:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | provenance | | +| Test.java:523:19:523:21 | out : MultiValueMapAdapter [] : Object | Test.java:523:9:523:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:528:16:528:23 | source(...) : Object | Test.java:529:15:529:16 | in : Object | provenance | | +| Test.java:529:4:529:6 | out [post update] : MultiValueMap [] : Object | Test.java:530:19:530:21 | out : MultiValueMap [] : Object | provenance | | +| Test.java:529:15:529:16 | in : Object | Test.java:529:4:529:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:64 | +| Test.java:530:19:530:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | provenance | | +| Test.java:530:19:530:21 | out : MultiValueMap [] : Object | Test.java:530:9:530:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:536:4:536:6 | mvm [post update] : MultiValueMap [] : Object | Test.java:537:15:537:17 | mvm : MultiValueMap [] : Object | provenance | | +| Test.java:536:12:536:19 | source(...) : Object | Test.java:536:4:536:6 | mvm [post update] : MultiValueMap [] : Object | provenance | MaD:71 | +| Test.java:537:4:537:6 | out [post update] : MultiValueMapAdapter [] : Object | Test.java:538:19:538:21 | out : MultiValueMapAdapter [] : Object | provenance | | +| Test.java:537:15:537:17 | mvm : MultiValueMap [] : Object | Test.java:537:4:537:6 | out [post update] : MultiValueMapAdapter [] : Object | provenance | MaD:66 | +| Test.java:538:19:538:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | provenance | | +| Test.java:538:19:538:21 | out : MultiValueMapAdapter [] : Object | Test.java:538:9:538:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:544:4:544:6 | mvm [post update] : MultiValueMap [] : Object | Test.java:545:15:545:17 | mvm : MultiValueMap [] : Object | provenance | | +| Test.java:544:12:544:19 | source(...) : Object | Test.java:544:4:544:6 | mvm [post update] : MultiValueMap [] : Object | provenance | MaD:71 | +| Test.java:545:4:545:6 | out [post update] : MultiValueMap [] : Object | Test.java:546:19:546:21 | out : MultiValueMap [] : Object | provenance | | +| Test.java:545:15:545:17 | mvm : MultiValueMap [] : Object | Test.java:545:4:545:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:66 | +| Test.java:546:19:546:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | provenance | | +| Test.java:546:19:546:21 | out : MultiValueMap [] : Object | Test.java:546:9:546:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:551:16:551:23 | source(...) : Object | Test.java:552:20:552:21 | in : Object | provenance | | +| Test.java:552:4:552:6 | out [post update] : MultiValueMap [] : Object | Test.java:553:19:553:21 | out : MultiValueMap [] : Object | provenance | | +| Test.java:552:20:552:21 | in : Object | Test.java:552:4:552:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:68 | +| Test.java:553:19:553:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | provenance | | +| Test.java:553:19:553:21 | out : MultiValueMap [] : Object | Test.java:553:9:553:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:558:16:558:23 | source(...) : Object | Test.java:559:20:559:21 | in : Object | provenance | | +| Test.java:559:4:559:6 | out [post update] : MultiValueMap [] : Object | Test.java:560:19:560:21 | out : MultiValueMap [] : Object | provenance | | +| Test.java:559:20:559:21 | in : Object | Test.java:559:4:559:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:68 | +| Test.java:560:19:560:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | provenance | | +| Test.java:560:19:560:21 | out : MultiValueMap [] : Object | Test.java:560:9:560:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:565:16:565:23 | source(...) : Object | Test.java:566:26:566:27 | in : Object | provenance | | +| Test.java:566:4:566:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:567:32:567:34 | out : MultiValueMap [, ] : Object | provenance | | +| Test.java:566:26:566:27 | in : Object | Test.java:566:4:566:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:69 | +| Test.java:567:20:567:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:567:20:567:35 | getMapValue(...) : List [] : Object | Test.java:567:9:567:36 | getElement(...) | provenance | MaD:3 | +| Test.java:567:32:567:34 | out : MultiValueMap [, ] : Object | Test.java:567:20:567:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:572:16:572:23 | source(...) : Object | Test.java:573:34:573:35 | in : Object | provenance | | +| Test.java:573:4:573:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:574:32:574:34 | out : MultiValueMap [, ] : Object | provenance | | +| Test.java:573:34:573:35 | in : Object | Test.java:573:4:573:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:69 | +| Test.java:574:20:574:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:574:20:574:35 | getMapValue(...) : List [] : Object | Test.java:574:9:574:36 | getElement(...) | provenance | MaD:3 | +| Test.java:574:32:574:34 | out : MultiValueMap [, ] : Object | Test.java:574:20:574:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:579:30:579:86 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [, ] : Object | Test.java:580:10:580:11 | in : MultiValueMapAdapter [, ] : Object | provenance | | +| Test.java:579:55:579:85 | of(...) : Map [, ] : Object | Test.java:579:30:579:86 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [, ] : Object | provenance | MaD:78 | +| Test.java:579:68:579:84 | of(...) : List [] : Object | Test.java:579:55:579:85 | of(...) : Map [, ] : Object | provenance | MaD:12 | +| Test.java:579:76:579:83 | source(...) : Object | Test.java:579:68:579:84 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:580:10:580:11 | in : MultiValueMapAdapter [, ] : Object | Test.java:580:10:580:26 | getFirst(...) : Object | provenance | MaD:70 | +| Test.java:580:10:580:26 | getFirst(...) : Object | Test.java:581:9:581:11 | out | provenance | | +| Test.java:586:23:586:68 | (...)... : MultiValueMap [, ] : Object | Test.java:587:10:587:11 | in : MultiValueMap [, ] : Object | provenance | | +| Test.java:586:38:586:68 | of(...) : Map [, ] : Object | Test.java:586:23:586:68 | (...)... : MultiValueMap [, ] : Object | provenance | | +| Test.java:586:51:586:67 | of(...) : List [] : Object | Test.java:586:38:586:68 | of(...) : Map [, ] : Object | provenance | MaD:12 | +| Test.java:586:59:586:66 | source(...) : Object | Test.java:586:51:586:67 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:587:10:587:11 | in : MultiValueMap [, ] : Object | Test.java:587:10:587:26 | getFirst(...) : Object | provenance | MaD:70 | +| Test.java:587:10:587:26 | getFirst(...) : Object | Test.java:588:9:588:11 | out | provenance | | +| Test.java:593:23:593:68 | (...)... : MultiValueMap [, ] : Object | Test.java:594:10:594:11 | in : MultiValueMap [, ] : Object | provenance | | +| Test.java:593:38:593:68 | of(...) : Map [, ] : Object | Test.java:593:23:593:68 | (...)... : MultiValueMap [, ] : Object | provenance | | +| Test.java:593:51:593:67 | of(...) : List [] : Object | Test.java:593:38:593:68 | of(...) : Map [, ] : Object | provenance | MaD:12 | +| Test.java:593:59:593:66 | source(...) : Object | Test.java:593:51:593:67 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:594:10:594:11 | in : MultiValueMap [, ] : Object | Test.java:594:10:594:34 | getFirst(...) : Object | provenance | MaD:70 | +| Test.java:594:10:594:34 | getFirst(...) : Object | Test.java:595:9:595:11 | out | provenance | | +| Test.java:600:16:600:23 | source(...) : Object | Test.java:601:12:601:13 | in : Object | provenance | | +| Test.java:601:4:601:6 | out [post update] : MultiValueMapAdapter [] : Object | Test.java:602:19:602:21 | out : MultiValueMapAdapter [] : Object | provenance | | +| Test.java:601:12:601:13 | in : Object | Test.java:601:4:601:6 | out [post update] : MultiValueMapAdapter [] : Object | provenance | MaD:71 | +| Test.java:602:19:602:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | provenance | | +| Test.java:602:19:602:21 | out : MultiValueMapAdapter [] : Object | Test.java:602:9:602:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:607:16:607:23 | source(...) : Object | Test.java:608:12:608:13 | in : Object | provenance | | +| Test.java:608:4:608:6 | out [post update] : MultiValueMap [] : Object | Test.java:609:19:609:21 | out : MultiValueMap [] : Object | provenance | | +| Test.java:608:12:608:13 | in : Object | Test.java:608:4:608:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:71 | +| Test.java:609:19:609:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | provenance | | +| Test.java:609:19:609:21 | out : MultiValueMap [] : Object | Test.java:609:9:609:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:614:16:614:23 | source(...) : Object | Test.java:615:18:615:19 | in : Object | provenance | | +| Test.java:615:4:615:6 | out [post update] : MultiValueMapAdapter [, ] : Object | Test.java:616:32:616:34 | out : MultiValueMapAdapter [, ] : Object | provenance | | +| Test.java:615:18:615:19 | in : Object | Test.java:615:4:615:6 | out [post update] : MultiValueMapAdapter [, ] : Object | provenance | MaD:72 | +| Test.java:616:20:616:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:616:20:616:35 | getMapValue(...) : List [] : Object | Test.java:616:9:616:36 | getElement(...) | provenance | MaD:3 | +| Test.java:616:32:616:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:616:20:616:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:621:16:621:23 | source(...) : Object | Test.java:622:18:622:19 | in : Object | provenance | | +| Test.java:622:4:622:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:623:32:623:34 | out : MultiValueMap [, ] : Object | provenance | | +| Test.java:622:18:622:19 | in : Object | Test.java:622:4:622:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:72 | +| Test.java:623:20:623:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:623:20:623:35 | getMapValue(...) : List [] : Object | Test.java:623:9:623:36 | getElement(...) | provenance | MaD:3 | +| Test.java:623:32:623:34 | out : MultiValueMap [, ] : Object | Test.java:623:20:623:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:628:16:628:23 | source(...) : Object | Test.java:629:26:629:27 | in : Object | provenance | | +| Test.java:629:4:629:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:630:32:630:34 | out : MultiValueMap [, ] : Object | provenance | | +| Test.java:629:26:629:27 | in : Object | Test.java:629:4:629:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:72 | +| Test.java:630:20:630:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:630:20:630:35 | getMapValue(...) : List [] : Object | Test.java:630:9:630:36 | getElement(...) | provenance | MaD:3 | +| Test.java:630:32:630:34 | out : MultiValueMap [, ] : Object | Test.java:630:20:630:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:635:13:635:34 | of(...) : Map [] : Object | Test.java:636:15:636:16 | in : Map [] : Object | provenance | | +| Test.java:635:20:635:27 | source(...) : Object | Test.java:635:13:635:34 | of(...) : Map [] : Object | provenance | MaD:11 | +| Test.java:636:4:636:6 | out [post update] : MultiValueMapAdapter [] : Object | Test.java:637:19:637:21 | out : MultiValueMapAdapter [] : Object | provenance | | +| Test.java:636:15:636:16 | in : Map [] : Object | Test.java:636:4:636:6 | out [post update] : MultiValueMapAdapter [] : Object | provenance | MaD:73 | +| Test.java:637:19:637:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | provenance | | +| Test.java:637:19:637:21 | out : MultiValueMapAdapter [] : Object | Test.java:637:9:637:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:642:13:642:34 | of(...) : Map [] : Object | Test.java:643:15:643:16 | in : Map [] : Object | provenance | | +| Test.java:642:20:642:27 | source(...) : Object | Test.java:642:13:642:34 | of(...) : Map [] : Object | provenance | MaD:11 | +| Test.java:643:4:643:6 | out [post update] : MultiValueMap [] : Object | Test.java:644:19:644:21 | out : MultiValueMap [] : Object | provenance | | +| Test.java:643:15:643:16 | in : Map [] : Object | Test.java:643:4:643:6 | out [post update] : MultiValueMap [] : Object | provenance | MaD:73 | +| Test.java:644:19:644:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | provenance | | +| Test.java:644:19:644:21 | out : MultiValueMap [] : Object | Test.java:644:9:644:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:649:13:649:34 | of(...) : Map [] : Object | Test.java:650:15:650:16 | in : Map [] : Object | provenance | | +| Test.java:649:26:649:33 | source(...) : Object | Test.java:649:13:649:34 | of(...) : Map [] : Object | provenance | MaD:12 | +| Test.java:650:4:650:6 | out [post update] : MultiValueMapAdapter [, ] : Object | Test.java:651:32:651:34 | out : MultiValueMapAdapter [, ] : Object | provenance | | +| Test.java:650:15:650:16 | in : Map [] : Object | Test.java:650:4:650:6 | out [post update] : MultiValueMapAdapter [, ] : Object | provenance | MaD:74 | +| Test.java:651:20:651:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:651:20:651:35 | getMapValue(...) : List [] : Object | Test.java:651:9:651:36 | getElement(...) | provenance | MaD:3 | +| Test.java:651:32:651:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:651:20:651:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:656:13:656:34 | of(...) : Map [] : Object | Test.java:657:15:657:16 | in : Map [] : Object | provenance | | +| Test.java:656:26:656:33 | source(...) : Object | Test.java:656:13:656:34 | of(...) : Map [] : Object | provenance | MaD:12 | +| Test.java:657:4:657:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:658:32:658:34 | out : MultiValueMap [, ] : Object | provenance | | +| Test.java:657:15:657:16 | in : Map [] : Object | Test.java:657:4:657:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:74 | +| Test.java:658:20:658:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:658:20:658:35 | getMapValue(...) : List [] : Object | Test.java:658:9:658:36 | getElement(...) | provenance | MaD:3 | +| Test.java:658:32:658:34 | out : MultiValueMap [, ] : Object | Test.java:658:20:658:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:663:30:663:86 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [, ] : Object | Test.java:664:10:664:11 | in : MultiValueMapAdapter [, ] : Object | provenance | | +| Test.java:663:55:663:85 | of(...) : Map [, ] : Object | Test.java:663:30:663:86 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [, ] : Object | provenance | MaD:78 | +| Test.java:663:68:663:84 | of(...) : List [] : Object | Test.java:663:55:663:85 | of(...) : Map [, ] : Object | provenance | MaD:12 | +| Test.java:663:76:663:83 | source(...) : Object | Test.java:663:68:663:84 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:664:10:664:11 | in : MultiValueMapAdapter [, ] : Object | Test.java:664:10:664:30 | toSingleValueMap(...) : Map [] : Object | provenance | MaD:76 | +| Test.java:664:10:664:30 | toSingleValueMap(...) : Map [] : Object | Test.java:665:21:665:23 | out : Map [] : Object | provenance | | +| Test.java:665:21:665:23 | out : Map [] : Object | Test.java:52:23:52:41 | container : Map [] : Object | provenance | | +| Test.java:665:21:665:23 | out : Map [] : Object | Test.java:665:9:665:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:670:23:670:68 | (...)... : MultiValueMap [, ] : Object | Test.java:671:10:671:11 | in : MultiValueMap [, ] : Object | provenance | | +| Test.java:670:38:670:68 | of(...) : Map [, ] : Object | Test.java:670:23:670:68 | (...)... : MultiValueMap [, ] : Object | provenance | | +| Test.java:670:51:670:67 | of(...) : List [] : Object | Test.java:670:38:670:68 | of(...) : Map [, ] : Object | provenance | MaD:12 | +| Test.java:670:59:670:66 | source(...) : Object | Test.java:670:51:670:67 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:671:10:671:11 | in : MultiValueMap [, ] : Object | Test.java:671:10:671:30 | toSingleValueMap(...) : Map [] : Object | provenance | MaD:76 | +| Test.java:671:10:671:30 | toSingleValueMap(...) : Map [] : Object | Test.java:672:21:672:23 | out : Map [] : Object | provenance | | +| Test.java:672:21:672:23 | out : Map [] : Object | Test.java:52:23:52:41 | container : Map [] : Object | provenance | | +| Test.java:672:21:672:23 | out : Map [] : Object | Test.java:672:9:672:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:677:30:677:77 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [] : Object | Test.java:678:10:678:11 | in : MultiValueMapAdapter [] : Object | provenance | | +| Test.java:677:55:677:76 | of(...) : Map [] : Object | Test.java:677:30:677:77 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [] : Object | provenance | MaD:77 | +| Test.java:677:62:677:69 | source(...) : Object | Test.java:677:55:677:76 | of(...) : Map [] : Object | provenance | MaD:11 | +| Test.java:678:10:678:11 | in : MultiValueMapAdapter [] : Object | Test.java:678:10:678:30 | toSingleValueMap(...) : Map [] : Object | provenance | MaD:75 | +| Test.java:678:10:678:30 | toSingleValueMap(...) : Map [] : Object | Test.java:679:19:679:21 | out : Map [] : Object | provenance | | +| Test.java:679:19:679:21 | out : Map [] : Object | Test.java:51:21:51:39 | container : Map [] : Object | provenance | | +| Test.java:679:19:679:21 | out : Map [] : Object | Test.java:679:9:679:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:684:23:684:70 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [] : Object | Test.java:685:10:685:11 | in : MultiValueMapAdapter [] : Object | provenance | | +| Test.java:684:48:684:69 | of(...) : Map [] : Object | Test.java:684:23:684:70 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [] : Object | provenance | MaD:77 | +| Test.java:684:55:684:62 | source(...) : Object | Test.java:684:48:684:69 | of(...) : Map [] : Object | provenance | MaD:11 | +| Test.java:685:10:685:11 | in : MultiValueMapAdapter [] : Object | Test.java:685:10:685:30 | toSingleValueMap(...) : Map [] : Object | provenance | MaD:75 | +| Test.java:685:10:685:30 | toSingleValueMap(...) : Map [] : Object | Test.java:686:19:686:21 | out : Map [] : Object | provenance | | +| Test.java:686:19:686:21 | out : Map [] : Object | Test.java:51:21:51:39 | container : Map [] : Object | provenance | | +| Test.java:686:19:686:21 | out : Map [] : Object | Test.java:686:9:686:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:691:13:691:43 | of(...) : Map [, ] : Object | Test.java:692:35:692:36 | in : Map [, ] : Object | provenance | | +| Test.java:691:26:691:42 | of(...) : List [] : Object | Test.java:691:13:691:43 | of(...) : Map [, ] : Object | provenance | MaD:12 | +| Test.java:691:34:691:41 | source(...) : Object | Test.java:691:26:691:42 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:692:10:692:37 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [, ] : Object | Test.java:693:32:693:34 | out : MultiValueMapAdapter [, ] : Object | provenance | | +| Test.java:692:35:692:36 | in : Map [, ] : Object | Test.java:692:10:692:37 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [, ] : Object | provenance | MaD:78 | +| Test.java:693:20:693:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | +| Test.java:693:20:693:35 | getMapValue(...) : List [] : Object | Test.java:693:9:693:36 | getElement(...) | provenance | MaD:3 | +| Test.java:693:32:693:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:693:20:693:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | +| Test.java:698:13:698:34 | of(...) : Map [] : Object | Test.java:699:35:699:36 | in : Map [] : Object | provenance | | +| Test.java:698:20:698:27 | source(...) : Object | Test.java:698:13:698:34 | of(...) : Map [] : Object | provenance | MaD:11 | +| Test.java:699:10:699:37 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [] : Object | Test.java:700:19:700:21 | out : MultiValueMapAdapter [] : Object | provenance | | +| Test.java:699:35:699:36 | in : Map [] : Object | Test.java:699:10:699:37 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [] : Object | provenance | MaD:77 | +| Test.java:700:19:700:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | provenance | | +| Test.java:700:19:700:21 | out : MultiValueMapAdapter [] : Object | Test.java:700:9:700:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:705:18:705:46 | newWithArrayElement(...) : Object[] [[]] : Object | Test.java:706:36:706:37 | in : Object[] [[]] : Object | provenance | | +| Test.java:705:38:705:45 | source(...) : Object | Test.java:53:31:53:44 | element : Object | provenance | | +| Test.java:705:38:705:45 | source(...) : Object | Test.java:705:18:705:46 | newWithArrayElement(...) : Object[] [[]] : Object | provenance | | +| Test.java:706:10:706:38 | toObjectArray(...) : Object[] [[]] : Object | Test.java:707:25:707:27 | out : Object[] [[]] : Object | provenance | | +| Test.java:706:36:706:37 | in : Object[] [[]] : Object | Test.java:706:10:706:38 | toObjectArray(...) : Object[] [[]] : Object | provenance | MaD:79 | +| Test.java:707:25:707:27 | out : Object[] [[]] : Object | Test.java:48:24:48:36 | container : Object[] [[]] : Object | provenance | | +| Test.java:707:25:707:27 | out : Object[] [[]] : Object | Test.java:707:9:707:28 | getArrayElement(...) | provenance | | +| Test.java:712:16:712:36 | of(...) : Optional [] : Object | Test.java:713:37:713:38 | in : Optional [] : Object | provenance | | +| Test.java:712:28:712:35 | source(...) : Object | Test.java:712:16:712:36 | of(...) : Optional [] : Object | provenance | MaD:15 | +| Test.java:713:10:713:39 | unwrapOptional(...) : Object | Test.java:714:9:714:11 | out | provenance | | +| Test.java:713:37:713:38 | in : Optional [] : Object | Test.java:713:10:713:39 | unwrapOptional(...) : Object | provenance | MaD:80 | +| Test.java:719:16:719:31 | (...)... : Reader | Test.java:721:23:721:24 | in : Reader | provenance | | +| Test.java:719:24:719:31 | source(...) : Object | Test.java:719:16:719:31 | (...)... : Reader | provenance | | +| Test.java:721:18:721:20 | out [post update] : Properties | Test.java:722:9:722:11 | out | provenance | | +| Test.java:721:23:721:24 | in : Reader | Test.java:721:18:721:20 | out [post update] : Properties | provenance | MaD:81 | +| Test.java:727:21:727:41 | (...)... : InputStream | Test.java:729:23:729:24 | in : InputStream | provenance | | +| Test.java:727:34:727:41 | source(...) : Object | Test.java:727:21:727:41 | (...)... : InputStream | provenance | | +| Test.java:729:18:729:20 | out [post update] : Properties | Test.java:730:9:730:11 | out | provenance | | +| Test.java:729:23:729:24 | in : InputStream | Test.java:729:18:729:20 | out [post update] : Properties | provenance | MaD:81 | +| Test.java:735:21:735:41 | (...)... : InputStream | Test.java:737:30:737:31 | in : InputStream | provenance | | +| Test.java:735:34:735:41 | source(...) : Object | Test.java:735:21:735:41 | (...)... : InputStream | provenance | | +| Test.java:737:25:737:27 | out [post update] : Properties | Test.java:738:9:738:11 | out | provenance | | +| Test.java:737:30:737:31 | in : InputStream | Test.java:737:25:737:27 | out [post update] : Properties | provenance | MaD:82 | +| Test.java:743:20:743:39 | (...)... : Properties | Test.java:745:19:745:20 | in : Properties | provenance | | +| Test.java:743:32:743:39 | source(...) : Object | Test.java:743:20:743:39 | (...)... : Properties | provenance | | +| Test.java:745:19:745:20 | in : Properties | Test.java:745:23:745:25 | out [post update] : Writer | provenance | MaD:83 | +| Test.java:745:23:745:25 | out [post update] : Writer | Test.java:746:9:746:11 | out | provenance | | +| Test.java:751:20:751:39 | (...)... : Properties | Test.java:753:19:753:20 | in : Properties | provenance | | +| Test.java:751:32:751:39 | source(...) : Object | Test.java:751:20:751:39 | (...)... : Properties | provenance | | +| Test.java:753:19:753:20 | in : Properties | Test.java:753:23:753:25 | out [post update] : OutputStream | provenance | MaD:83 | +| Test.java:753:23:753:25 | out [post update] : OutputStream | Test.java:754:9:754:11 | out | provenance | | +| Test.java:759:16:759:31 | (...)... : String | Test.java:761:42:761:43 | in : String | provenance | | +| Test.java:759:24:759:31 | source(...) : Object | Test.java:759:16:759:31 | (...)... : String | provenance | | +| Test.java:761:37:761:39 | out [post update] : Writer | Test.java:762:9:762:11 | out | provenance | | +| Test.java:761:42:761:43 | in : String | Test.java:761:37:761:39 | out [post update] : Writer | provenance | MaD:84 | +| Test.java:767:16:767:31 | (...)... : String | Test.java:769:42:769:43 | in : String | provenance | | +| Test.java:767:24:767:31 | source(...) : Object | Test.java:767:16:767:31 | (...)... : String | provenance | | +| Test.java:769:37:769:39 | out [post update] : OutputStream | Test.java:770:9:770:11 | out | provenance | | +| Test.java:769:42:769:43 | in : String | Test.java:769:37:769:39 | out [post update] : OutputStream | provenance | MaD:84 | +| Test.java:775:20:775:39 | (...)... : Properties | Test.java:777:24:777:25 | in : Properties | provenance | | +| Test.java:775:32:775:39 | source(...) : Object | Test.java:775:20:775:39 | (...)... : Properties | provenance | | +| Test.java:777:24:777:25 | in : Properties | Test.java:777:28:777:30 | out [post update] : OutputStream | provenance | MaD:85 | +| Test.java:777:28:777:30 | out [post update] : OutputStream | Test.java:778:9:778:11 | out | provenance | | +| Test.java:783:20:783:39 | (...)... : Properties | Test.java:785:24:785:25 | in : Properties | provenance | | +| Test.java:783:32:783:39 | source(...) : Object | Test.java:783:20:783:39 | (...)... : Properties | provenance | | +| Test.java:785:24:785:25 | in : Properties | Test.java:785:28:785:30 | out [post update] : OutputStream | provenance | MaD:85 | +| Test.java:785:28:785:30 | out [post update] : OutputStream | Test.java:786:9:786:11 | out | provenance | | +| Test.java:791:16:791:31 | (...)... : String | Test.java:793:35:793:36 | in : String | provenance | | +| Test.java:791:24:791:31 | source(...) : Object | Test.java:791:16:791:31 | (...)... : String | provenance | | +| Test.java:793:30:793:32 | out [post update] : OutputStream | Test.java:794:9:794:11 | out | provenance | | +| Test.java:793:35:793:36 | in : String | Test.java:793:30:793:32 | out [post update] : OutputStream | provenance | MaD:86 | +| Test.java:799:16:799:31 | (...)... : String | Test.java:801:35:801:36 | in : String | provenance | | +| Test.java:799:24:799:31 | source(...) : Object | Test.java:799:16:799:31 | (...)... : String | provenance | | +| Test.java:801:30:801:32 | out [post update] : OutputStream | Test.java:802:9:802:11 | out | provenance | | +| Test.java:801:35:801:36 | in : String | Test.java:801:30:801:32 | out [post update] : OutputStream | provenance | MaD:86 | +| Test.java:807:16:807:31 | (...)... : String | Test.java:808:46:808:47 | in : String | provenance | | +| Test.java:807:24:807:31 | source(...) : Object | Test.java:807:16:807:31 | (...)... : String | provenance | | +| Test.java:808:10:808:61 | new PropertyPlaceholderHelper(...) : PropertyPlaceholderHelper | Test.java:809:9:809:11 | out | provenance | | +| Test.java:808:46:808:47 | in : String | Test.java:808:10:808:61 | new PropertyPlaceholderHelper(...) : PropertyPlaceholderHelper | provenance | MaD:87 | +| Test.java:814:16:814:31 | (...)... : String | Test.java:815:46:815:47 | in : String | provenance | | +| Test.java:814:24:814:31 | source(...) : Object | Test.java:814:16:814:31 | (...)... : String | provenance | | +| Test.java:815:10:815:48 | new PropertyPlaceholderHelper(...) : PropertyPlaceholderHelper | Test.java:816:9:816:11 | out | provenance | | +| Test.java:815:46:815:47 | in : String | Test.java:815:10:815:48 | new PropertyPlaceholderHelper(...) : PropertyPlaceholderHelper | provenance | MaD:87 | +| Test.java:821:16:821:31 | (...)... : String | Test.java:822:40:822:41 | in : String | provenance | | +| Test.java:821:24:821:31 | source(...) : Object | Test.java:821:16:821:31 | (...)... : String | provenance | | +| Test.java:822:10:822:61 | new PropertyPlaceholderHelper(...) : PropertyPlaceholderHelper | Test.java:823:9:823:11 | out | provenance | | +| Test.java:822:40:822:41 | in : String | Test.java:822:10:822:61 | new PropertyPlaceholderHelper(...) : PropertyPlaceholderHelper | provenance | MaD:87 | +| Test.java:828:16:828:31 | (...)... : String | Test.java:829:40:829:41 | in : String | provenance | | +| Test.java:828:24:828:31 | source(...) : Object | Test.java:828:16:828:31 | (...)... : String | provenance | | +| Test.java:829:10:829:48 | new PropertyPlaceholderHelper(...) : PropertyPlaceholderHelper | Test.java:830:9:830:11 | out | provenance | | +| Test.java:829:40:829:41 | in : String | Test.java:829:10:829:48 | new PropertyPlaceholderHelper(...) : PropertyPlaceholderHelper | provenance | MaD:87 | +| Test.java:835:16:835:31 | (...)... : String | Test.java:837:39:837:40 | in : String | provenance | | +| Test.java:835:24:835:31 | source(...) : Object | Test.java:835:16:835:31 | (...)... : String | provenance | | +| Test.java:837:10:837:94 | replacePlaceholders(...) : String | Test.java:838:9:838:11 | out | provenance | | +| Test.java:837:39:837:40 | in : String | Test.java:837:10:837:94 | replacePlaceholders(...) : String | provenance | MaD:88 | +| Test.java:843:16:843:31 | (...)... : String | Test.java:845:39:845:40 | in : String | provenance | | +| Test.java:843:24:843:31 | source(...) : Object | Test.java:843:16:843:31 | (...)... : String | provenance | | +| Test.java:845:10:845:59 | replacePlaceholders(...) : String | Test.java:846:9:846:11 | out | provenance | | +| Test.java:845:39:845:40 | in : String | Test.java:845:10:845:59 | replacePlaceholders(...) : String | provenance | MaD:88 | +| Test.java:851:13:851:25 | (...)... : URL | Test.java:852:42:852:43 | in : URL | provenance | | +| Test.java:851:18:851:25 | source(...) : Object | Test.java:851:13:851:25 | (...)... : URL | provenance | | +| Test.java:852:10:852:44 | extractArchiveURL(...) : URL | Test.java:853:9:853:11 | out | provenance | | +| Test.java:852:42:852:43 | in : URL | Test.java:852:10:852:44 | extractArchiveURL(...) : URL | provenance | MaD:89 | +| Test.java:858:13:858:25 | (...)... : URL | Test.java:859:42:859:43 | in : URL | provenance | | +| Test.java:858:18:858:25 | source(...) : Object | Test.java:858:13:858:25 | (...)... : URL | provenance | | +| Test.java:859:10:859:44 | extractJarFileURL(...) : URL | Test.java:860:9:860:11 | out | provenance | | +| Test.java:859:42:859:43 | in : URL | Test.java:859:10:859:44 | extractJarFileURL(...) : URL | provenance | MaD:90 | +| Test.java:865:13:865:25 | (...)... : URL | Test.java:866:32:866:33 | in : URL | provenance | | +| Test.java:865:18:865:25 | source(...) : Object | Test.java:865:13:865:25 | (...)... : URL | provenance | | +| Test.java:866:10:866:48 | getFile(...) : File | Test.java:867:9:867:11 | out | provenance | | +| Test.java:866:32:866:33 | in : URL | Test.java:866:10:866:48 | getFile(...) : File | provenance | MaD:91 | +| Test.java:872:13:872:25 | (...)... : URL | Test.java:873:32:873:33 | in : URL | provenance | | +| Test.java:872:18:872:25 | source(...) : Object | Test.java:872:13:872:25 | (...)... : URL | provenance | | +| Test.java:873:10:873:34 | getFile(...) : File | Test.java:874:9:874:11 | out | provenance | | +| Test.java:873:32:873:33 | in : URL | Test.java:873:10:873:34 | getFile(...) : File | provenance | MaD:91 | +| Test.java:879:13:879:25 | (...)... : URI | Test.java:880:32:880:33 | in : URI | provenance | | +| Test.java:879:18:879:25 | source(...) : Object | Test.java:879:13:879:25 | (...)... : URI | provenance | | +| Test.java:880:10:880:48 | getFile(...) : File | Test.java:881:9:881:11 | out | provenance | | +| Test.java:880:32:880:33 | in : URI | Test.java:880:10:880:48 | getFile(...) : File | provenance | MaD:91 | +| Test.java:886:13:886:25 | (...)... : URI | Test.java:887:32:887:33 | in : URI | provenance | | +| Test.java:886:18:886:25 | source(...) : Object | Test.java:886:13:886:25 | (...)... : URI | provenance | | +| Test.java:887:10:887:34 | getFile(...) : File | Test.java:888:9:888:11 | out | provenance | | +| Test.java:887:32:887:33 | in : URI | Test.java:887:10:887:34 | getFile(...) : File | provenance | MaD:91 | +| Test.java:893:16:893:31 | (...)... : String | Test.java:894:32:894:33 | in : String | provenance | | +| Test.java:893:24:893:31 | source(...) : Object | Test.java:893:16:893:31 | (...)... : String | provenance | | +| Test.java:894:10:894:34 | getFile(...) : File | Test.java:895:9:895:11 | out | provenance | | +| Test.java:894:32:894:33 | in : String | Test.java:894:10:894:34 | getFile(...) : File | provenance | MaD:91 | +| Test.java:900:16:900:31 | (...)... : String | Test.java:901:31:901:32 | in : String | provenance | | +| Test.java:900:24:900:31 | source(...) : Object | Test.java:900:16:900:31 | (...)... : String | provenance | | +| Test.java:901:10:901:33 | getURL(...) : URL | Test.java:902:9:902:11 | out | provenance | | +| Test.java:901:31:901:32 | in : String | Test.java:901:10:901:33 | getURL(...) : URL | provenance | MaD:92 | +| Test.java:907:13:907:25 | (...)... : URL | Test.java:908:30:908:31 | in : URL | provenance | | +| Test.java:907:18:907:25 | source(...) : Object | Test.java:907:13:907:25 | (...)... : URL | provenance | | +| Test.java:908:10:908:32 | toURI(...) : URI | Test.java:909:9:909:11 | out | provenance | | +| Test.java:908:30:908:31 | in : URL | Test.java:908:10:908:32 | toURI(...) : URI | provenance | MaD:93 | +| Test.java:914:16:914:31 | (...)... : String | Test.java:915:30:915:31 | in : String | provenance | | +| Test.java:914:24:914:31 | source(...) : Object | Test.java:914:16:914:31 | (...)... : String | provenance | | +| Test.java:915:10:915:32 | toURI(...) : URI | Test.java:916:9:916:11 | out | provenance | | +| Test.java:915:30:915:31 | in : String | Test.java:915:10:915:32 | toURI(...) : URI | provenance | MaD:93 | +| Test.java:921:16:921:31 | (...)... : String | Test.java:923:33:923:34 | in : String | provenance | | +| Test.java:921:24:921:31 | source(...) : Object | Test.java:921:16:921:31 | (...)... : String | provenance | | +| Test.java:923:10:923:35 | combine(...) : String | Test.java:924:9:924:11 | out | provenance | | +| Test.java:923:33:923:34 | in : String | Test.java:923:10:923:35 | combine(...) : String | provenance | MaD:94 | +| Test.java:929:16:929:31 | (...)... : String | Test.java:931:27:931:28 | in : String | provenance | | +| Test.java:929:24:929:31 | source(...) : Object | Test.java:929:16:929:31 | (...)... : String | provenance | | +| Test.java:931:10:931:35 | combine(...) : String | Test.java:932:9:932:11 | out | provenance | | +| Test.java:931:27:931:28 | in : String | Test.java:931:10:931:35 | combine(...) : String | provenance | MaD:94 | +| Test.java:937:16:937:31 | (...)... : String | Test.java:939:35:939:36 | in : String | provenance | | +| Test.java:937:24:937:31 | source(...) : Object | Test.java:937:16:937:31 | (...)... : String | provenance | | +| Test.java:939:10:939:43 | matchAndExtract(...) : Map [] : Object | Test.java:940:19:940:21 | out : Map [] : Object | provenance | | +| Test.java:939:35:939:36 | in : String | Test.java:939:10:939:43 | matchAndExtract(...) : Map [] : Object | provenance | MaD:95 | +| Test.java:940:19:940:21 | out : Map [] : Object | Test.java:51:21:51:39 | container : Map [] : Object | provenance | | +| Test.java:940:19:940:21 | out : Map [] : Object | Test.java:940:9:940:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:945:28:945:55 | (...)... : Route | Test.java:947:41:947:42 | in : Route | provenance | | +| Test.java:945:48:945:55 | source(...) : Object | Test.java:945:28:945:55 | (...)... : Route | provenance | | +| Test.java:947:10:947:43 | matchAndExtract(...) : Map [] : Object | Test.java:948:21:948:23 | out : Map [] : Object | provenance | | +| Test.java:947:41:947:42 | in : Route | Test.java:947:10:947:43 | matchAndExtract(...) : Map [] : Object | provenance | MaD:96 | +| Test.java:948:21:948:23 | out : Map [] : Object | Test.java:52:23:52:41 | container : Map [] : Object | provenance | | +| Test.java:948:21:948:23 | out : Map [] : Object | Test.java:948:9:948:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:953:16:953:31 | (...)... : String | Test.java:955:30:955:31 | in : String | provenance | | +| Test.java:953:24:953:31 | source(...) : Object | Test.java:953:16:953:31 | (...)... : String | provenance | | +| Test.java:955:10:955:32 | parseRoute(...) : Route | Test.java:956:9:956:11 | out | provenance | | +| Test.java:955:30:955:31 | in : String | Test.java:955:10:955:32 | parseRoute(...) : Route | provenance | MaD:97 | +| Test.java:961:16:961:31 | (...)... : byte[] | Test.java:962:41:962:42 | in : byte[] | provenance | | +| Test.java:961:24:961:31 | source(...) : Object | Test.java:961:16:961:31 | (...)... : byte[] | provenance | | +| Test.java:962:10:962:43 | deserialize(...) : Object | Test.java:963:9:963:11 | out | provenance | | +| Test.java:962:41:962:42 | in : byte[] | Test.java:962:10:962:43 | deserialize(...) : Object | provenance | MaD:98 | +| Test.java:968:16:968:23 | source(...) : Object | Test.java:969:39:969:40 | in : Object | provenance | | +| Test.java:969:10:969:41 | serialize(...) : byte[] | Test.java:970:9:970:11 | out | provenance | | +| Test.java:969:39:969:40 | in : Object | Test.java:969:10:969:41 | serialize(...) : byte[] | provenance | MaD:99 | +| Test.java:975:16:975:31 | (...)... : byte[] | Test.java:976:21:976:22 | in : byte[] | provenance | | +| Test.java:975:24:975:31 | source(...) : Object | Test.java:975:16:975:31 | (...)... : byte[] | provenance | | +| Test.java:976:21:976:22 | in : byte[] | Test.java:976:25:976:27 | out [post update] : OutputStream | provenance | MaD:100 | +| Test.java:976:25:976:27 | out [post update] : OutputStream | Test.java:977:9:977:11 | out | provenance | | +| Test.java:982:21:982:41 | (...)... : InputStream | Test.java:983:21:983:22 | in : InputStream | provenance | | +| Test.java:982:34:982:41 | source(...) : Object | Test.java:982:21:982:41 | (...)... : InputStream | provenance | | +| Test.java:983:21:983:22 | in : InputStream | Test.java:983:25:983:27 | out [post update] : OutputStream | provenance | MaD:101 | +| Test.java:983:25:983:27 | out [post update] : OutputStream | Test.java:984:9:984:11 | out | provenance | | +| Test.java:989:16:989:31 | (...)... : String | Test.java:990:21:990:22 | in : String | provenance | | +| Test.java:989:24:989:31 | source(...) : Object | Test.java:989:16:989:31 | (...)... : String | provenance | | +| Test.java:990:21:990:22 | in : String | Test.java:990:31:990:33 | out [post update] : OutputStream | provenance | MaD:102 | +| Test.java:990:31:990:33 | out [post update] : OutputStream | Test.java:991:9:991:11 | out | provenance | | +| Test.java:996:21:996:41 | (...)... : InputStream | Test.java:997:26:997:27 | in : InputStream | provenance | | +| Test.java:996:34:996:41 | source(...) : Object | Test.java:996:21:996:41 | (...)... : InputStream | provenance | | +| Test.java:997:26:997:27 | in : InputStream | Test.java:997:30:997:32 | out [post update] : OutputStream | provenance | MaD:103 | +| Test.java:997:30:997:32 | out [post update] : OutputStream | Test.java:998:9:998:11 | out | provenance | | +| Test.java:1003:21:1003:41 | (...)... : InputStream | Test.java:1004:38:1004:39 | in : InputStream | provenance | | +| Test.java:1003:34:1003:41 | source(...) : Object | Test.java:1003:21:1003:41 | (...)... : InputStream | provenance | | +| Test.java:1004:10:1004:40 | copyToByteArray(...) : byte[] | Test.java:1005:9:1005:11 | out | provenance | | +| Test.java:1004:38:1004:39 | in : InputStream | Test.java:1004:10:1004:40 | copyToByteArray(...) : byte[] | provenance | MaD:104 | +| Test.java:1010:21:1010:41 | (...)... : InputStream | Test.java:1011:35:1011:36 | in : InputStream | provenance | | +| Test.java:1010:34:1010:41 | source(...) : Object | Test.java:1010:21:1010:41 | (...)... : InputStream | provenance | | +| Test.java:1011:10:1011:52 | copyToString(...) : String | Test.java:1012:9:1012:11 | out | provenance | | +| Test.java:1011:35:1011:36 | in : InputStream | Test.java:1011:10:1011:52 | copyToString(...) : String | provenance | MaD:105 | +| Test.java:1017:31:1017:61 | (...)... : ByteArrayOutputStream | Test.java:1018:35:1018:36 | in : ByteArrayOutputStream | provenance | | +| Test.java:1017:54:1017:61 | source(...) : Object | Test.java:1017:31:1017:61 | (...)... : ByteArrayOutputStream | provenance | | +| Test.java:1018:10:1018:52 | copyToString(...) : String | Test.java:1019:9:1019:11 | out | provenance | | +| Test.java:1018:35:1018:36 | in : ByteArrayOutputStream | Test.java:1018:10:1018:52 | copyToString(...) : String | provenance | MaD:105 | +| Test.java:1024:16:1024:31 | (...)... : String | Test.java:1025:45:1025:46 | in : String | provenance | | +| Test.java:1024:24:1024:31 | source(...) : Object | Test.java:1024:16:1024:31 | (...)... : String | provenance | | +| Test.java:1025:10:1025:47 | addStringToArray(...) : String[] [[]] : String | Test.java:1026:25:1026:27 | out : String[] [[]] : String | provenance | | +| Test.java:1025:45:1025:46 | in : String | Test.java:1025:10:1025:47 | addStringToArray(...) : String[] [[]] : String | provenance | MaD:107 | +| Test.java:1026:25:1026:27 | out : String[] [[]] : String | Test.java:48:24:48:36 | container : String[] [[]] : String | provenance | | +| Test.java:1026:25:1026:27 | out : String[] [[]] : String | Test.java:1026:9:1026:28 | getArrayElement(...) | provenance | | +| Test.java:1031:18:1031:56 | (...)... : String[] [[]] : Object | Test.java:1032:39:1032:40 | in : String[] [[]] : Object | provenance | | +| Test.java:1031:28:1031:56 | newWithArrayElement(...) : Object[] [[]] : Object | Test.java:1031:18:1031:56 | (...)... : String[] [[]] : Object | provenance | | +| Test.java:1031:48:1031:55 | source(...) : Object | Test.java:53:31:53:44 | element : Object | provenance | | +| Test.java:1031:48:1031:55 | source(...) : Object | Test.java:1031:28:1031:56 | newWithArrayElement(...) : Object[] [[]] : Object | provenance | | +| Test.java:1032:10:1032:47 | addStringToArray(...) : String[] [[]] : Object | Test.java:1033:25:1033:27 | out : String[] [[]] : Object | provenance | | +| Test.java:1032:39:1032:40 | in : String[] [[]] : Object | Test.java:1032:10:1032:47 | addStringToArray(...) : String[] [[]] : Object | provenance | MaD:106 | +| Test.java:1033:25:1033:27 | out : String[] [[]] : Object | Test.java:1033:9:1033:28 | getArrayElement(...) | provenance | | +| Test.java:1038:16:1038:31 | (...)... : String | Test.java:1039:46:1039:47 | in : String | provenance | | +| Test.java:1038:24:1038:31 | source(...) : Object | Test.java:1038:16:1038:31 | (...)... : String | provenance | | +| Test.java:1039:10:1039:48 | applyRelativePath(...) : String | Test.java:1040:9:1040:11 | out | provenance | | +| Test.java:1039:46:1039:47 | in : String | Test.java:1039:10:1039:48 | applyRelativePath(...) : String | provenance | MaD:108 | +| Test.java:1045:16:1045:31 | (...)... : String | Test.java:1046:40:1046:41 | in : String | provenance | | +| Test.java:1045:24:1045:31 | source(...) : Object | Test.java:1045:16:1045:31 | (...)... : String | provenance | | +| Test.java:1046:10:1046:48 | applyRelativePath(...) : String | Test.java:1047:9:1047:11 | out | provenance | | +| Test.java:1046:40:1046:41 | in : String | Test.java:1046:10:1046:48 | applyRelativePath(...) : String | provenance | MaD:108 | +| Test.java:1052:18:1052:29 | {...} : Object[] [[]] : Object | Test.java:1053:50:1053:51 | in : Object[] [[]] : Object | provenance | | +| Test.java:1052:20:1052:27 | source(...) : Object | Test.java:1052:18:1052:29 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:1053:10:1053:52 | arrayToCommaDelimitedString(...) : String | Test.java:1054:9:1054:11 | out | provenance | | +| Test.java:1053:50:1053:51 | in : Object[] [[]] : Object | Test.java:1053:10:1053:52 | arrayToCommaDelimitedString(...) : String | provenance | MaD:109 | +| Test.java:1059:16:1059:31 | (...)... : String | Test.java:1060:51:1060:52 | in : String | provenance | | +| Test.java:1059:24:1059:31 | source(...) : Object | Test.java:1059:16:1059:31 | (...)... : String | provenance | | +| Test.java:1060:10:1060:53 | arrayToDelimitedString(...) : String | Test.java:1061:9:1061:11 | out | provenance | | +| Test.java:1060:51:1060:52 | in : String | Test.java:1060:10:1060:53 | arrayToDelimitedString(...) : String | provenance | MaD:111 | +| Test.java:1066:18:1066:29 | {...} : Object[] [[]] : Object | Test.java:1067:45:1067:46 | in : Object[] [[]] : Object | provenance | | +| Test.java:1066:20:1066:27 | source(...) : Object | Test.java:1066:18:1066:29 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:1067:10:1067:53 | arrayToDelimitedString(...) : String | Test.java:1068:9:1068:11 | out | provenance | | +| Test.java:1067:45:1067:46 | in : Object[] [[]] : Object | Test.java:1067:10:1067:53 | arrayToDelimitedString(...) : String | provenance | MaD:110 | +| Test.java:1073:16:1073:31 | (...)... : String | Test.java:1074:33:1074:34 | in : String | provenance | | +| Test.java:1073:24:1073:31 | source(...) : Object | Test.java:1073:16:1073:31 | (...)... : String | provenance | | +| Test.java:1074:10:1074:35 | capitalize(...) : String | Test.java:1075:9:1075:11 | out | provenance | | +| Test.java:1074:33:1074:34 | in : String | Test.java:1074:10:1074:35 | capitalize(...) : String | provenance | MaD:112 | +| Test.java:1080:16:1080:31 | (...)... : String | Test.java:1081:32:1081:33 | in : String | provenance | | +| Test.java:1080:24:1080:31 | source(...) : Object | Test.java:1080:16:1080:31 | (...)... : String | provenance | | +| Test.java:1081:10:1081:34 | cleanPath(...) : String | Test.java:1082:9:1082:11 | out | provenance | | +| Test.java:1081:32:1081:33 | in : String | Test.java:1081:10:1081:34 | cleanPath(...) : String | provenance | MaD:113 | +| Test.java:1087:20:1087:36 | of(...) : List [] : Object | Test.java:1088:55:1088:56 | in : List [] : Object | provenance | | +| Test.java:1087:28:1087:35 | source(...) : Object | Test.java:1087:20:1087:36 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:1088:10:1088:57 | collectionToCommaDelimitedString(...) : String | Test.java:1089:9:1089:11 | out | provenance | | +| Test.java:1088:55:1088:56 | in : List [] : Object | Test.java:1088:10:1088:57 | collectionToCommaDelimitedString(...) : String | provenance | MaD:114 | +| Test.java:1094:16:1094:31 | (...)... : String | Test.java:1095:68:1095:69 | in : String | provenance | | +| Test.java:1094:24:1094:31 | source(...) : Object | Test.java:1094:16:1094:31 | (...)... : String | provenance | | +| Test.java:1095:10:1095:70 | collectionToDelimitedString(...) : String | Test.java:1096:9:1096:11 | out | provenance | | +| Test.java:1095:68:1095:69 | in : String | Test.java:1095:10:1095:70 | collectionToDelimitedString(...) : String | provenance | MaD:116 | +| Test.java:1101:16:1101:31 | (...)... : String | Test.java:1102:62:1102:63 | in : String | provenance | | +| Test.java:1101:24:1101:31 | source(...) : Object | Test.java:1101:16:1101:31 | (...)... : String | provenance | | +| Test.java:1102:10:1102:70 | collectionToDelimitedString(...) : String | Test.java:1103:9:1103:11 | out | provenance | | +| Test.java:1102:62:1102:63 | in : String | Test.java:1102:10:1102:70 | collectionToDelimitedString(...) : String | provenance | MaD:116 | +| Test.java:1108:16:1108:31 | (...)... : String | Test.java:1109:56:1109:57 | in : String | provenance | | +| Test.java:1108:24:1108:31 | source(...) : Object | Test.java:1108:16:1108:31 | (...)... : String | provenance | | +| Test.java:1109:10:1109:70 | collectionToDelimitedString(...) : String | Test.java:1110:9:1110:11 | out | provenance | | +| Test.java:1109:56:1109:57 | in : String | Test.java:1109:10:1109:70 | collectionToDelimitedString(...) : String | provenance | MaD:116 | +| Test.java:1115:16:1115:31 | (...)... : String | Test.java:1116:56:1116:57 | in : String | provenance | | +| Test.java:1115:24:1115:31 | source(...) : Object | Test.java:1115:16:1115:31 | (...)... : String | provenance | | +| Test.java:1116:10:1116:58 | collectionToDelimitedString(...) : String | Test.java:1117:9:1117:11 | out | provenance | | +| Test.java:1116:56:1116:57 | in : String | Test.java:1116:10:1116:58 | collectionToDelimitedString(...) : String | provenance | MaD:116 | +| Test.java:1122:20:1122:36 | of(...) : List [] : Object | Test.java:1123:50:1123:51 | in : List [] : Object | provenance | | +| Test.java:1122:28:1122:35 | source(...) : Object | Test.java:1122:20:1122:36 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:1123:10:1123:70 | collectionToDelimitedString(...) : String | Test.java:1124:9:1124:11 | out | provenance | | +| Test.java:1123:50:1123:51 | in : List [] : Object | Test.java:1123:10:1123:70 | collectionToDelimitedString(...) : String | provenance | MaD:115 | +| Test.java:1129:20:1129:36 | of(...) : List [] : Object | Test.java:1130:50:1130:51 | in : List [] : Object | provenance | | +| Test.java:1129:28:1129:35 | source(...) : Object | Test.java:1129:20:1129:36 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:1130:10:1130:58 | collectionToDelimitedString(...) : String | Test.java:1131:9:1131:11 | out | provenance | | +| Test.java:1130:50:1130:51 | in : List [] : Object | Test.java:1130:10:1130:58 | collectionToDelimitedString(...) : String | provenance | MaD:115 | +| Test.java:1136:16:1136:31 | (...)... : String | Test.java:1137:46:1137:47 | in : String | provenance | | +| Test.java:1136:24:1136:31 | source(...) : Object | Test.java:1136:16:1136:31 | (...)... : String | provenance | | +| Test.java:1137:10:1137:48 | commaDelimitedListToSet(...) : Set [] : Object | Test.java:1138:20:1138:22 | out : Set [] : Object | provenance | | +| Test.java:1137:46:1137:47 | in : String | Test.java:1137:10:1137:48 | commaDelimitedListToSet(...) : Set [] : Object | provenance | MaD:117 | +| Test.java:1138:20:1138:22 | out : Set [] : Object | Test.java:49:19:49:41 | container : Set [] : Object | provenance | | +| Test.java:1138:20:1138:22 | out : Set [] : Object | Test.java:1138:9:1138:23 | getElement(...) | provenance | MaD:3 | +| Test.java:1143:16:1143:31 | (...)... : String | Test.java:1144:54:1144:55 | in : String | provenance | | +| Test.java:1143:24:1143:31 | source(...) : Object | Test.java:1143:16:1143:31 | (...)... : String | provenance | | +| Test.java:1144:10:1144:56 | commaDelimitedListToStringArray(...) : String[] [[]] : Object | Test.java:1145:25:1145:27 | out : String[] [[]] : Object | provenance | | +| Test.java:1144:54:1144:55 | in : String | Test.java:1144:10:1144:56 | commaDelimitedListToStringArray(...) : String[] [[]] : Object | provenance | MaD:118 | +| Test.java:1145:25:1145:27 | out : String[] [[]] : Object | Test.java:1145:9:1145:28 | getArrayElement(...) | provenance | | +| Test.java:1150:18:1150:37 | {...} : String[] [[]] : String | Test.java:1151:52:1151:53 | in : String[] [[]] : String | provenance | | +| Test.java:1150:20:1150:35 | (...)... : String | Test.java:1150:18:1150:37 | {...} : String[] [[]] : String | provenance | | +| Test.java:1150:28:1150:35 | source(...) : Object | Test.java:1150:20:1150:35 | (...)... : String | provenance | | +| Test.java:1151:10:1151:54 | concatenateStringArrays(...) : String[] [[]] : Object | Test.java:1152:25:1152:27 | out : String[] [[]] : Object | provenance | | +| Test.java:1151:52:1151:53 | in : String[] [[]] : String | Test.java:1151:10:1151:54 | concatenateStringArrays(...) : String[] [[]] : Object | provenance | MaD:119 | +| Test.java:1152:25:1152:27 | out : String[] [[]] : Object | Test.java:1152:9:1152:28 | getArrayElement(...) | provenance | | +| Test.java:1157:18:1157:37 | {...} : String[] [[]] : String | Test.java:1158:46:1158:47 | in : String[] [[]] : String | provenance | | +| Test.java:1157:20:1157:35 | (...)... : String | Test.java:1157:18:1157:37 | {...} : String[] [[]] : String | provenance | | +| Test.java:1157:28:1157:35 | source(...) : Object | Test.java:1157:20:1157:35 | (...)... : String | provenance | | +| Test.java:1158:10:1158:54 | concatenateStringArrays(...) : String[] [[]] : Object | Test.java:1159:25:1159:27 | out : String[] [[]] : Object | provenance | | +| Test.java:1158:46:1158:47 | in : String[] [[]] : String | Test.java:1158:10:1158:54 | concatenateStringArrays(...) : String[] [[]] : Object | provenance | MaD:119 | +| Test.java:1159:25:1159:27 | out : String[] [[]] : Object | Test.java:1159:9:1159:28 | getArrayElement(...) | provenance | | +| Test.java:1164:16:1164:31 | (...)... : String | Test.java:1165:29:1165:30 | in : String | provenance | | +| Test.java:1164:24:1164:31 | source(...) : Object | Test.java:1164:16:1164:31 | (...)... : String | provenance | | +| Test.java:1165:10:1165:37 | delete(...) : String | Test.java:1166:9:1166:11 | out | provenance | | +| Test.java:1165:29:1165:30 | in : String | Test.java:1165:10:1165:37 | delete(...) : String | provenance | MaD:120 | +| Test.java:1171:16:1171:31 | (...)... : String | Test.java:1172:32:1172:33 | in : String | provenance | | +| Test.java:1171:24:1171:31 | source(...) : Object | Test.java:1171:16:1171:31 | (...)... : String | provenance | | +| Test.java:1172:10:1172:40 | deleteAny(...) : String | Test.java:1173:9:1173:11 | out | provenance | | +| Test.java:1172:32:1172:33 | in : String | Test.java:1172:10:1172:40 | deleteAny(...) : String | provenance | MaD:121 | +| Test.java:1178:16:1178:31 | (...)... : String | Test.java:1179:49:1179:50 | in : String | provenance | | +| Test.java:1178:24:1178:31 | source(...) : Object | Test.java:1178:16:1178:31 | (...)... : String | provenance | | +| Test.java:1179:10:1179:63 | delimitedListToStringArray(...) : String[] [[]] : Object | Test.java:1180:9:1180:11 | out | provenance | | +| Test.java:1179:49:1179:50 | in : String | Test.java:1179:10:1179:63 | delimitedListToStringArray(...) : String[] [[]] : Object | provenance | MaD:122 | +| Test.java:1185:16:1185:31 | (...)... : String | Test.java:1186:49:1186:50 | in : String | provenance | | +| Test.java:1185:24:1185:31 | source(...) : Object | Test.java:1185:16:1185:31 | (...)... : String | provenance | | +| Test.java:1186:10:1186:57 | delimitedListToStringArray(...) : String[] [[]] : Object | Test.java:1187:9:1187:11 | out | provenance | | +| Test.java:1186:49:1186:50 | in : String | Test.java:1186:10:1186:57 | delimitedListToStringArray(...) : String[] [[]] : Object | provenance | MaD:122 | +| Test.java:1192:16:1192:31 | (...)... : String | Test.java:1193:34:1193:35 | in : String | provenance | | +| Test.java:1192:24:1192:31 | source(...) : Object | Test.java:1192:16:1192:31 | (...)... : String | provenance | | +| Test.java:1193:10:1193:36 | getFilename(...) : String | Test.java:1194:9:1194:11 | out | provenance | | +| Test.java:1193:34:1193:35 | in : String | Test.java:1193:10:1193:36 | getFilename(...) : String | provenance | MaD:123 | +| Test.java:1199:16:1199:31 | (...)... : String | Test.java:1200:43:1200:44 | in : String | provenance | | +| Test.java:1199:24:1199:31 | source(...) : Object | Test.java:1199:16:1199:31 | (...)... : String | provenance | | +| Test.java:1200:10:1200:45 | getFilenameExtension(...) : String | Test.java:1201:9:1201:11 | out | provenance | | +| Test.java:1200:43:1200:44 | in : String | Test.java:1200:10:1200:45 | getFilenameExtension(...) : String | provenance | MaD:124 | +| Test.java:1206:18:1206:37 | {...} : String[] [[]] : String | Test.java:1207:46:1207:47 | in : String[] [[]] : String | provenance | | +| Test.java:1206:20:1206:35 | (...)... : String | Test.java:1206:18:1206:37 | {...} : String[] [[]] : String | provenance | | +| Test.java:1206:28:1206:35 | source(...) : Object | Test.java:1206:20:1206:35 | (...)... : String | provenance | | +| Test.java:1207:10:1207:48 | mergeStringArrays(...) : String[] [[]] : String | Test.java:1208:25:1208:27 | out : String[] [[]] : String | provenance | | +| Test.java:1207:46:1207:47 | in : String[] [[]] : String | Test.java:1207:10:1207:48 | mergeStringArrays(...) : String[] [[]] : String | provenance | MaD:125 | +| Test.java:1208:25:1208:27 | out : String[] [[]] : String | Test.java:48:24:48:36 | container : String[] [[]] : String | provenance | | +| Test.java:1208:25:1208:27 | out : String[] [[]] : String | Test.java:1208:9:1208:28 | getArrayElement(...) | provenance | | +| Test.java:1213:18:1213:37 | {...} : String[] [[]] : String | Test.java:1214:40:1214:41 | in : String[] [[]] : String | provenance | | +| Test.java:1213:20:1213:35 | (...)... : String | Test.java:1213:18:1213:37 | {...} : String[] [[]] : String | provenance | | +| Test.java:1213:28:1213:35 | source(...) : Object | Test.java:1213:20:1213:35 | (...)... : String | provenance | | +| Test.java:1214:10:1214:48 | mergeStringArrays(...) : String[] [[]] : String | Test.java:1215:25:1215:27 | out : String[] [[]] : String | provenance | | +| Test.java:1214:40:1214:41 | in : String[] [[]] : String | Test.java:1214:10:1214:48 | mergeStringArrays(...) : String[] [[]] : String | provenance | MaD:125 | +| Test.java:1215:25:1215:27 | out : String[] [[]] : String | Test.java:48:24:48:36 | container : String[] [[]] : String | provenance | | +| Test.java:1215:25:1215:27 | out : String[] [[]] : String | Test.java:1215:9:1215:28 | getArrayElement(...) | provenance | | +| Test.java:1220:16:1220:31 | (...)... : String | Test.java:1221:28:1221:29 | in : String | provenance | | +| Test.java:1220:24:1220:31 | source(...) : Object | Test.java:1220:16:1220:31 | (...)... : String | provenance | | +| Test.java:1221:10:1221:30 | quote(...) : String | Test.java:1222:9:1222:11 | out | provenance | | +| Test.java:1221:28:1221:29 | in : String | Test.java:1221:10:1221:30 | quote(...) : String | provenance | MaD:126 | +| Test.java:1227:16:1227:23 | source(...) : Object | Test.java:1228:36:1228:37 | in : Object | provenance | | +| Test.java:1228:10:1228:38 | quoteIfString(...) : Object | Test.java:1229:9:1229:11 | out | provenance | | +| Test.java:1228:36:1228:37 | in : Object | Test.java:1228:10:1228:38 | quoteIfString(...) : Object | provenance | MaD:127 | +| Test.java:1234:18:1234:37 | {...} : String[] [[]] : String | Test.java:1235:45:1235:46 | in : String[] [[]] : String | provenance | | +| Test.java:1234:20:1234:35 | (...)... : String | Test.java:1234:18:1234:37 | {...} : String[] [[]] : String | provenance | | +| Test.java:1234:28:1234:35 | source(...) : Object | Test.java:1234:20:1234:35 | (...)... : String | provenance | | +| Test.java:1235:10:1235:47 | removeDuplicateStrings(...) : String[] [[]] : String | Test.java:1236:25:1236:27 | out : String[] [[]] : String | provenance | | +| Test.java:1235:45:1235:46 | in : String[] [[]] : String | Test.java:1235:10:1235:47 | removeDuplicateStrings(...) : String[] [[]] : String | provenance | MaD:128 | +| Test.java:1236:25:1236:27 | out : String[] [[]] : String | Test.java:48:24:48:36 | container : String[] [[]] : String | provenance | | +| Test.java:1236:25:1236:27 | out : String[] [[]] : String | Test.java:1236:9:1236:28 | getArrayElement(...) | provenance | | +| Test.java:1241:16:1241:31 | (...)... : String | Test.java:1242:30:1242:31 | in : String | provenance | | +| Test.java:1241:24:1241:31 | source(...) : Object | Test.java:1241:16:1241:31 | (...)... : String | provenance | | +| Test.java:1242:10:1242:44 | replace(...) : String | Test.java:1243:9:1243:11 | out | provenance | | +| Test.java:1242:30:1242:31 | in : String | Test.java:1242:10:1242:44 | replace(...) : String | provenance | MaD:129 | +| Test.java:1248:16:1248:31 | (...)... : String | Test.java:1249:42:1249:43 | in : String | provenance | | +| Test.java:1248:24:1248:31 | source(...) : Object | Test.java:1248:16:1248:31 | (...)... : String | provenance | | +| Test.java:1249:10:1249:44 | replace(...) : String | Test.java:1250:9:1250:11 | out | provenance | | +| Test.java:1249:42:1249:43 | in : String | Test.java:1249:10:1249:44 | replace(...) : String | provenance | MaD:130 | +| Test.java:1255:18:1255:37 | {...} : String[] [[]] : String | Test.java:1256:38:1256:39 | in : String[] [[]] : String | provenance | | +| Test.java:1255:20:1255:35 | (...)... : String | Test.java:1255:18:1255:37 | {...} : String[] [[]] : String | provenance | | +| Test.java:1255:28:1255:35 | source(...) : Object | Test.java:1255:20:1255:35 | (...)... : String | provenance | | +| Test.java:1256:10:1256:40 | sortStringArray(...) : String[] [[]] : String | Test.java:1257:25:1257:27 | out : String[] [[]] : String | provenance | | +| Test.java:1256:38:1256:39 | in : String[] [[]] : String | Test.java:1256:10:1256:40 | sortStringArray(...) : String[] [[]] : String | provenance | MaD:131 | +| Test.java:1257:25:1257:27 | out : String[] [[]] : String | Test.java:48:24:48:36 | container : String[] [[]] : String | provenance | | +| Test.java:1257:25:1257:27 | out : String[] [[]] : String | Test.java:1257:9:1257:28 | getArrayElement(...) | provenance | | +| Test.java:1262:16:1262:31 | (...)... : String | Test.java:1263:28:1263:29 | in : String | provenance | | +| Test.java:1262:24:1262:31 | source(...) : Object | Test.java:1262:16:1262:31 | (...)... : String | provenance | | +| Test.java:1263:10:1263:36 | split(...) : String[] [[]] : Object | Test.java:1264:25:1264:27 | out : String[] [[]] : Object | provenance | | +| Test.java:1263:28:1263:29 | in : String | Test.java:1263:10:1263:36 | split(...) : String[] [[]] : Object | provenance | MaD:132 | +| Test.java:1264:25:1264:27 | out : String[] [[]] : Object | Test.java:1264:9:1264:28 | getArrayElement(...) | provenance | | +| Test.java:1269:18:1269:37 | {...} : String[] [[]] : String | Test.java:1270:55:1270:56 | in : String[] [[]] : String | provenance | | +| Test.java:1269:20:1269:35 | (...)... : String | Test.java:1269:18:1269:37 | {...} : String[] [[]] : String | provenance | | +| Test.java:1269:28:1269:35 | source(...) : Object | Test.java:1269:20:1269:35 | (...)... : String | provenance | | +| Test.java:1270:10:1270:69 | splitArrayElementsIntoProperties(...) : Properties [] : Object | Test.java:1271:19:1271:21 | out : Properties [] : Object | provenance | | +| Test.java:1270:55:1270:56 | in : String[] [[]] : String | Test.java:1270:10:1270:69 | splitArrayElementsIntoProperties(...) : Properties [] : Object | provenance | MaD:133 | +| Test.java:1271:19:1271:21 | out : Properties [] : Object | Test.java:51:21:51:39 | container : Properties [] : Object | provenance | | +| Test.java:1271:19:1271:21 | out : Properties [] : Object | Test.java:1271:9:1271:22 | getMapKey(...) | provenance | MaD:10 | +| Test.java:1276:18:1276:37 | {...} : String[] [[]] : String | Test.java:1277:55:1277:56 | in : String[] [[]] : String | provenance | | +| Test.java:1276:20:1276:35 | (...)... : String | Test.java:1276:18:1276:37 | {...} : String[] [[]] : String | provenance | | +| Test.java:1276:28:1276:35 | source(...) : Object | Test.java:1276:20:1276:35 | (...)... : String | provenance | | +| Test.java:1277:10:1277:69 | splitArrayElementsIntoProperties(...) : Properties [] : Object | Test.java:1278:21:1278:23 | out : Properties [] : Object | provenance | | +| Test.java:1277:55:1277:56 | in : String[] [[]] : String | Test.java:1277:10:1277:69 | splitArrayElementsIntoProperties(...) : Properties [] : Object | provenance | MaD:134 | +| Test.java:1278:21:1278:23 | out : Properties [] : Object | Test.java:52:23:52:41 | container : Properties [] : Object | provenance | | +| Test.java:1278:21:1278:23 | out : Properties [] : Object | Test.java:1278:9:1278:24 | getMapValue(...) | provenance | MaD:9 | +| Test.java:1283:18:1283:35 | (...)... : String[] | Test.java:1284:55:1284:56 | in : String[] | provenance | | +| Test.java:1283:28:1283:35 | source(...) : Object | Test.java:1283:18:1283:35 | (...)... : String[] | provenance | | +| Test.java:1284:10:1284:63 | splitArrayElementsIntoProperties(...) : Properties [] : Object | Test.java:1285:9:1285:11 | out | provenance | | +| Test.java:1284:55:1284:56 | in : String[] | Test.java:1284:10:1284:63 | splitArrayElementsIntoProperties(...) : Properties [] : Object | provenance | MaD:134 | +| Test.java:1290:16:1290:31 | (...)... : String | Test.java:1291:45:1291:46 | in : String | provenance | | +| Test.java:1290:24:1290:31 | source(...) : Object | Test.java:1290:16:1290:31 | (...)... : String | provenance | | +| Test.java:1291:10:1291:47 | stripFilenameExtension(...) : String | Test.java:1292:9:1292:11 | out | provenance | | +| Test.java:1291:45:1291:46 | in : String | Test.java:1291:10:1291:47 | stripFilenameExtension(...) : String | provenance | MaD:135 | +| Test.java:1297:21:1297:62 | enumeration(...) : Enumeration [] : Object | Test.java:1298:36:1298:37 | in : Enumeration [] : Object | provenance | | +| Test.java:1297:45:1297:61 | of(...) : List [] : Object | Test.java:1297:21:1297:62 | enumeration(...) : Enumeration [] : Object | provenance | MaD:4 | +| Test.java:1297:53:1297:60 | source(...) : Object | Test.java:1297:45:1297:61 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:1298:10:1298:38 | toStringArray(...) : String[] [[]] : Object | Test.java:1299:25:1299:27 | out : String[] [[]] : Object | provenance | | +| Test.java:1298:36:1298:37 | in : Enumeration [] : Object | Test.java:1298:10:1298:38 | toStringArray(...) : String[] [[]] : Object | provenance | MaD:136 | +| Test.java:1299:25:1299:27 | out : String[] [[]] : Object | Test.java:1299:9:1299:28 | getArrayElement(...) | provenance | | +| Test.java:1304:20:1304:36 | of(...) : List [] : Object | Test.java:1305:36:1305:37 | in : List [] : Object | provenance | | +| Test.java:1304:28:1304:35 | source(...) : Object | Test.java:1304:20:1304:36 | of(...) : List [] : Object | provenance | MaD:8 | +| Test.java:1305:10:1305:38 | toStringArray(...) : String[] [[]] : Object | Test.java:1306:25:1306:27 | out : String[] [[]] : Object | provenance | | +| Test.java:1305:36:1305:37 | in : List [] : Object | Test.java:1305:10:1305:38 | toStringArray(...) : String[] [[]] : Object | provenance | MaD:136 | +| Test.java:1306:25:1306:27 | out : String[] [[]] : Object | Test.java:1306:9:1306:28 | getArrayElement(...) | provenance | | +| Test.java:1311:16:1311:31 | (...)... : String | Test.java:1312:44:1312:45 | in : String | provenance | | +| Test.java:1311:24:1311:31 | source(...) : Object | Test.java:1311:16:1311:31 | (...)... : String | provenance | | +| Test.java:1312:10:1312:66 | tokenizeToStringArray(...) : String[] [[]] : Object | Test.java:1313:25:1313:27 | out : String[] [[]] : Object | provenance | | +| Test.java:1312:44:1312:45 | in : String | Test.java:1312:10:1312:66 | tokenizeToStringArray(...) : String[] [[]] : Object | provenance | MaD:137 | +| Test.java:1313:25:1313:27 | out : String[] [[]] : Object | Test.java:1313:9:1313:28 | getArrayElement(...) | provenance | | +| Test.java:1318:16:1318:31 | (...)... : String | Test.java:1319:44:1319:45 | in : String | provenance | | +| Test.java:1318:24:1318:31 | source(...) : Object | Test.java:1318:16:1318:31 | (...)... : String | provenance | | +| Test.java:1319:10:1319:52 | tokenizeToStringArray(...) : String[] [[]] : Object | Test.java:1320:25:1320:27 | out : String[] [[]] : Object | provenance | | +| Test.java:1319:44:1319:45 | in : String | Test.java:1319:10:1319:52 | tokenizeToStringArray(...) : String[] [[]] : Object | provenance | MaD:137 | +| Test.java:1320:25:1320:27 | out : String[] [[]] : Object | Test.java:1320:9:1320:28 | getArrayElement(...) | provenance | | +| Test.java:1325:16:1325:31 | (...)... : String | Test.java:1326:40:1326:41 | in : String | provenance | | +| Test.java:1325:24:1325:31 | source(...) : Object | Test.java:1325:16:1325:31 | (...)... : String | provenance | | +| Test.java:1326:10:1326:42 | trimAllWhitespace(...) : String | Test.java:1327:9:1327:11 | out | provenance | | +| Test.java:1326:40:1326:41 | in : String | Test.java:1326:10:1326:42 | trimAllWhitespace(...) : String | provenance | MaD:138 | +| Test.java:1332:18:1332:37 | {...} : String[] [[]] : String | Test.java:1333:40:1333:41 | in : String[] [[]] : String | provenance | | +| Test.java:1332:20:1332:35 | (...)... : String | Test.java:1332:18:1332:37 | {...} : String[] [[]] : String | provenance | | +| Test.java:1332:28:1332:35 | source(...) : Object | Test.java:1332:20:1332:35 | (...)... : String | provenance | | +| Test.java:1333:10:1333:42 | trimArrayElements(...) : String[] [[]] : Object | Test.java:1334:25:1334:27 | out : String[] [[]] : Object | provenance | | +| Test.java:1333:40:1333:41 | in : String[] [[]] : String | Test.java:1333:10:1333:42 | trimArrayElements(...) : String[] [[]] : Object | provenance | MaD:139 | +| Test.java:1334:25:1334:27 | out : String[] [[]] : Object | Test.java:1334:9:1334:28 | getArrayElement(...) | provenance | | +| Test.java:1339:16:1339:31 | (...)... : String | Test.java:1340:43:1340:44 | in : String | provenance | | +| Test.java:1339:24:1339:31 | source(...) : Object | Test.java:1339:16:1339:31 | (...)... : String | provenance | | +| Test.java:1340:10:1340:50 | trimLeadingCharacter(...) : String | Test.java:1341:9:1341:11 | out | provenance | | +| Test.java:1340:43:1340:44 | in : String | Test.java:1340:10:1340:50 | trimLeadingCharacter(...) : String | provenance | MaD:140 | +| Test.java:1346:16:1346:31 | (...)... : String | Test.java:1347:44:1347:45 | in : String | provenance | | +| Test.java:1346:24:1346:31 | source(...) : Object | Test.java:1346:16:1346:31 | (...)... : String | provenance | | +| Test.java:1347:10:1347:46 | trimLeadingWhitespace(...) : String | Test.java:1348:9:1348:11 | out | provenance | | +| Test.java:1347:44:1347:45 | in : String | Test.java:1347:10:1347:46 | trimLeadingWhitespace(...) : String | provenance | MaD:141 | +| Test.java:1353:16:1353:31 | (...)... : String | Test.java:1354:44:1354:45 | in : String | provenance | | +| Test.java:1353:24:1353:31 | source(...) : Object | Test.java:1353:16:1353:31 | (...)... : String | provenance | | +| Test.java:1354:10:1354:51 | trimTrailingCharacter(...) : String | Test.java:1355:9:1355:11 | out | provenance | | +| Test.java:1354:44:1354:45 | in : String | Test.java:1354:10:1354:51 | trimTrailingCharacter(...) : String | provenance | MaD:142 | +| Test.java:1360:16:1360:31 | (...)... : String | Test.java:1361:45:1361:46 | in : String | provenance | | +| Test.java:1360:24:1360:31 | source(...) : Object | Test.java:1360:16:1360:31 | (...)... : String | provenance | | +| Test.java:1361:10:1361:47 | trimTrailingWhitespace(...) : String | Test.java:1362:9:1362:11 | out | provenance | | +| Test.java:1361:45:1361:46 | in : String | Test.java:1361:10:1361:47 | trimTrailingWhitespace(...) : String | provenance | MaD:143 | +| Test.java:1367:16:1367:31 | (...)... : String | Test.java:1368:37:1368:38 | in : String | provenance | | +| Test.java:1367:24:1367:31 | source(...) : Object | Test.java:1367:16:1367:31 | (...)... : String | provenance | | +| Test.java:1368:10:1368:39 | trimWhitespace(...) : String | Test.java:1369:9:1369:11 | out | provenance | | +| Test.java:1368:37:1368:38 | in : String | Test.java:1368:10:1368:39 | trimWhitespace(...) : String | provenance | MaD:144 | +| Test.java:1374:16:1374:31 | (...)... : String | Test.java:1375:35:1375:36 | in : String | provenance | | +| Test.java:1374:24:1374:31 | source(...) : Object | Test.java:1374:16:1374:31 | (...)... : String | provenance | | +| Test.java:1375:10:1375:37 | uncapitalize(...) : String | Test.java:1376:9:1376:11 | out | provenance | | +| Test.java:1375:35:1375:36 | in : String | Test.java:1375:10:1375:37 | uncapitalize(...) : String | provenance | MaD:145 | +| Test.java:1381:16:1381:31 | (...)... : String | Test.java:1382:32:1382:33 | in : String | provenance | | +| Test.java:1381:24:1381:31 | source(...) : Object | Test.java:1381:16:1381:31 | (...)... : String | provenance | | +| Test.java:1382:10:1382:39 | unqualify(...) : String | Test.java:1383:9:1383:11 | out | provenance | | +| Test.java:1382:32:1382:33 | in : String | Test.java:1382:10:1382:39 | unqualify(...) : String | provenance | MaD:146 | +| Test.java:1388:16:1388:31 | (...)... : String | Test.java:1389:32:1389:33 | in : String | provenance | | +| Test.java:1388:24:1388:31 | source(...) : Object | Test.java:1388:16:1388:31 | (...)... : String | provenance | | +| Test.java:1389:10:1389:34 | unqualify(...) : String | Test.java:1390:9:1390:11 | out | provenance | | +| Test.java:1389:32:1389:33 | in : String | Test.java:1389:10:1389:34 | unqualify(...) : String | provenance | MaD:146 | +| Test.java:1395:16:1395:31 | (...)... : String | Test.java:1396:32:1396:33 | in : String | provenance | | +| Test.java:1395:24:1395:31 | source(...) : Object | Test.java:1395:16:1395:31 | (...)... : String | provenance | | +| Test.java:1396:10:1396:40 | uriDecode(...) : String | Test.java:1397:9:1397:11 | out | provenance | | +| Test.java:1396:32:1396:33 | in : String | Test.java:1396:10:1396:40 | uriDecode(...) : String | provenance | MaD:147 | +| Test.java:1402:16:1402:31 | (...)... : String | Test.java:1404:38:1404:39 | in : String | provenance | | +| Test.java:1402:24:1402:31 | source(...) : Object | Test.java:1402:16:1402:31 | (...)... : String | provenance | | +| Test.java:1404:10:1404:40 | resolveStringValue(...) : String | Test.java:1405:9:1405:11 | out | provenance | | +| Test.java:1404:38:1404:39 | in : String | Test.java:1404:10:1404:40 | resolveStringValue(...) : String | provenance | MaD:148 | +| Test.java:1410:16:1410:31 | (...)... : String | Test.java:1411:50:1411:51 | in : String | provenance | | +| Test.java:1410:24:1410:31 | source(...) : Object | Test.java:1410:16:1410:31 | (...)... : String | provenance | | +| Test.java:1411:10:1411:59 | resolvePlaceholders(...) : String | Test.java:1412:9:1412:11 | out | provenance | | +| Test.java:1411:50:1411:51 | in : String | Test.java:1411:10:1411:59 | resolvePlaceholders(...) : String | provenance | MaD:149 | +| Test.java:1417:16:1417:31 | (...)... : String | Test.java:1418:50:1418:51 | in : String | provenance | | +| Test.java:1417:24:1417:31 | source(...) : Object | Test.java:1417:16:1417:31 | (...)... : String | provenance | | +| Test.java:1418:10:1418:52 | resolvePlaceholders(...) : String | Test.java:1419:9:1419:11 | out | provenance | | +| Test.java:1418:50:1418:51 | in : String | Test.java:1418:10:1418:52 | resolvePlaceholders(...) : String | provenance | MaD:149 | +nodes +| Test.java:48:24:48:36 | container : Object[] [[]] : Object | semmle.label | container : Object[] [[]] : Object | +| Test.java:48:24:48:36 | container : String[] [[]] : String | semmle.label | container : String[] [[]] : String | +| Test.java:48:48:48:56 | container : Object[] [[]] : Object | semmle.label | container : Object[] [[]] : Object | +| Test.java:48:48:48:56 | container : String[] [[]] : String | semmle.label | container : String[] [[]] : String | +| Test.java:48:48:48:59 | ...[...] : Object | semmle.label | ...[...] : Object | +| Test.java:48:48:48:59 | ...[...] : String | semmle.label | ...[...] : String | +| Test.java:49:19:49:41 | container : AutoPopulatingList [] : Object | semmle.label | container : AutoPopulatingList [] : Object | +| Test.java:49:19:49:41 | container : Collection [] : Object | semmle.label | container : Collection [] : Object | +| Test.java:49:19:49:41 | container : List [] : Object | semmle.label | container : List [] : Object | +| Test.java:49:19:49:41 | container : Set [] : Object | semmle.label | container : Set [] : Object | +| Test.java:49:53:49:61 | container : AutoPopulatingList [] : Object | semmle.label | container : AutoPopulatingList [] : Object | +| Test.java:49:53:49:61 | container : Collection [] : Object | semmle.label | container : Collection [] : Object | +| Test.java:49:53:49:61 | container : List [] : Object | semmle.label | container : List [] : Object | +| Test.java:49:53:49:61 | container : Set [] : Object | semmle.label | container : Set [] : Object | +| Test.java:49:53:49:72 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:49:53:49:72 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:49:53:49:72 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:49:53:49:72 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:49:53:49:79 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:49:53:49:79 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:49:53:49:79 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:49:53:49:79 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:50:19:50:39 | container : CompositeIterator [] : Object | semmle.label | container : CompositeIterator [] : Object | +| Test.java:50:19:50:39 | container : Iterator [] : Object | semmle.label | container : Iterator [] : Object | +| Test.java:50:51:50:59 | container : CompositeIterator [] : Object | semmle.label | container : CompositeIterator [] : Object | +| Test.java:50:51:50:59 | container : Iterator [] : Object | semmle.label | container : Iterator [] : Object | +| Test.java:50:51:50:66 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:50:51:50:66 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:51:21:51:39 | container : LinkedMultiValueMap [] : Object | semmle.label | container : LinkedMultiValueMap [] : Object | +| Test.java:51:21:51:39 | container : Map [] : Object | semmle.label | container : Map [] : Object | +| Test.java:51:21:51:39 | container : MultiValueMap [] : Object | semmle.label | container : MultiValueMap [] : Object | +| Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | semmle.label | container : MultiValueMapAdapter [] : Object | +| Test.java:51:21:51:39 | container : Properties [] : Object | semmle.label | container : Properties [] : Object | +| Test.java:51:51:51:59 | container : LinkedMultiValueMap [] : Object | semmle.label | container : LinkedMultiValueMap [] : Object | +| Test.java:51:51:51:59 | container : Map [] : Object | semmle.label | container : Map [] : Object | +| Test.java:51:51:51:59 | container : MultiValueMap [] : Object | semmle.label | container : MultiValueMap [] : Object | +| Test.java:51:51:51:59 | container : MultiValueMapAdapter [] : Object | semmle.label | container : MultiValueMapAdapter [] : Object | +| Test.java:51:51:51:59 | container : Properties [] : Object | semmle.label | container : Properties [] : Object | +| Test.java:51:51:51:68 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:51:51:51:68 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:51:51:51:68 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:51:51:51:68 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:51:51:51:68 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:51:51:51:86 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:51:51:51:86 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:51:51:51:86 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:51:51:51:86 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:51:51:51:86 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:52:23:52:41 | container : Map [] : Object | semmle.label | container : Map [] : Object | +| Test.java:52:23:52:41 | container : Properties [] : Object | semmle.label | container : Properties [] : Object | +| Test.java:52:53:52:61 | container : Map [] : Object | semmle.label | container : Map [] : Object | +| Test.java:52:53:52:61 | container : Properties [] : Object | semmle.label | container : Properties [] : Object | +| Test.java:52:53:52:71 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:52:53:52:71 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:53:31:53:44 | element : Object | semmle.label | element : Object | +| Test.java:53:56:53:77 | new Object[] : Object[] [[]] : Object | semmle.label | new Object[] : Object[] [[]] : Object | +| Test.java:53:56:53:77 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:53:70:53:76 | element : Object | semmle.label | element : Object | +| Test.java:54:37:54:50 | element : Object | semmle.label | element : Object | +| Test.java:54:88:54:88 | p [post update] : Properties [] : Object | semmle.label | p [post update] : Properties [] : Object | +| Test.java:54:88:54:88 | p [post update] : Properties [] : Object | semmle.label | p [post update] : Properties [] : Object | +| Test.java:54:94:54:100 | element : Object | semmle.label | element : Object | +| Test.java:54:117:54:117 | p : Properties [] : Object | semmle.label | p : Properties [] : Object | +| Test.java:54:117:54:117 | p : Properties [] : Object | semmle.label | p : Properties [] : Object | +| Test.java:55:39:55:52 | element : Object | semmle.label | element : Object | +| Test.java:55:90:55:90 | p [post update] : Properties [] : Object | semmle.label | p [post update] : Properties [] : Object | +| Test.java:55:90:55:90 | p [post update] : Properties [] : Object | semmle.label | p [post update] : Properties [] : Object | +| Test.java:55:102:55:108 | element : Object | semmle.label | element : Object | +| Test.java:55:119:55:119 | p : Properties [] : Object | semmle.label | p : Properties [] : Object | +| Test.java:55:119:55:119 | p : Properties [] : Object | semmle.label | p : Properties [] : Object | +| Test.java:66:17:66:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:66:25:66:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:67:33:67:34 | in : String | semmle.label | in : String | +| Test.java:67:43:67:45 | out [post update] : HashMap [] : Object | semmle.label | out [post update] : HashMap [] : Object | +| Test.java:68:10:68:12 | out : HashMap [] : Object | semmle.label | out : HashMap [] : Object | +| Test.java:68:10:68:27 | get(...) | semmle.label | get(...) | +| Test.java:73:17:73:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:73:25:73:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:74:11:74:31 | tokenizePath(...) : String[] [[]] : Object | semmle.label | tokenizePath(...) : String[] [[]] : Object | +| Test.java:74:29:74:30 | in : String | semmle.label | in : String | +| Test.java:75:10:75:12 | out : String[] [[]] : Object | semmle.label | out : String[] [[]] : Object | +| Test.java:75:10:75:15 | ...[...] | semmle.label | ...[...] | +| Test.java:80:17:80:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:80:25:80:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:81:11:81:34 | tokenizePattern(...) : String[] [[]] : Object | semmle.label | tokenizePattern(...) : String[] [[]] : Object | +| Test.java:81:32:81:33 | in : String | semmle.label | in : String | +| Test.java:82:10:82:12 | out : String[] [[]] : Object | semmle.label | out : String[] [[]] : Object | +| Test.java:82:10:82:15 | ...[...] | semmle.label | ...[...] | +| Test.java:93:16:93:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:93:24:93:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:95:10:95:35 | combine(...) : String | semmle.label | combine(...) : String | +| Test.java:95:33:95:34 | in : String | semmle.label | in : String | +| Test.java:96:9:96:11 | out | semmle.label | out | +| Test.java:101:16:101:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:101:24:101:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:103:10:103:35 | combine(...) : String | semmle.label | combine(...) : String | +| Test.java:103:27:103:28 | in : String | semmle.label | in : String | +| Test.java:104:9:104:11 | out | semmle.label | out | +| Test.java:109:16:109:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:109:24:109:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:111:10:111:52 | extractPathWithinPattern(...) : String | semmle.label | extractPathWithinPattern(...) : String | +| Test.java:111:50:111:51 | in : String | semmle.label | in : String | +| Test.java:112:9:112:11 | out | semmle.label | out | +| Test.java:117:16:117:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:117:24:117:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:119:10:119:55 | extractUriTemplateVariables(...) : Map [] : Object | semmle.label | extractUriTemplateVariables(...) : Map [] : Object | +| Test.java:119:53:119:54 | in : String | semmle.label | in : String | +| Test.java:120:9:120:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:120:21:120:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:125:14:125:30 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:125:22:125:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:126:10:126:48 | new AutoPopulatingList<>(...) : AutoPopulatingList [] : Object | semmle.label | new AutoPopulatingList<>(...) : AutoPopulatingList [] : Object | +| Test.java:126:33:126:34 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:127:9:127:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:127:20:127:22 | out : AutoPopulatingList [] : Object | semmle.label | out : AutoPopulatingList [] : Object | +| Test.java:132:14:132:30 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:132:22:132:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:133:10:133:76 | new AutoPopulatingList<>(...) : AutoPopulatingList [] : Object | semmle.label | new AutoPopulatingList<>(...) : AutoPopulatingList [] : Object | +| Test.java:133:33:133:34 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:134:9:134:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:134:20:134:22 | out : AutoPopulatingList [] : Object | semmle.label | out : AutoPopulatingList [] : Object | +| Test.java:139:16:139:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:139:24:139:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:140:10:140:31 | decode(...) : byte[] | semmle.label | decode(...) : byte[] | +| Test.java:140:29:140:30 | in : byte[] | semmle.label | in : byte[] | +| Test.java:141:9:141:11 | out | semmle.label | out | +| Test.java:146:16:146:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:146:24:146:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:147:10:147:41 | decodeFromString(...) : byte[] | semmle.label | decodeFromString(...) : byte[] | +| Test.java:147:39:147:40 | in : String | semmle.label | in : String | +| Test.java:148:9:148:11 | out | semmle.label | out | +| Test.java:153:16:153:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:153:24:153:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:154:10:154:48 | decodeFromUrlSafeString(...) : byte[] | semmle.label | decodeFromUrlSafeString(...) : byte[] | +| Test.java:154:46:154:47 | in : String | semmle.label | in : String | +| Test.java:155:9:155:11 | out | semmle.label | out | +| Test.java:160:16:160:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:160:24:160:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:161:10:161:38 | decodeUrlSafe(...) : byte[] | semmle.label | decodeUrlSafe(...) : byte[] | +| Test.java:161:36:161:37 | in : byte[] | semmle.label | in : byte[] | +| Test.java:162:9:162:11 | out | semmle.label | out | +| Test.java:167:16:167:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:167:24:167:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:168:10:168:31 | encode(...) : byte[] | semmle.label | encode(...) : byte[] | +| Test.java:168:29:168:30 | in : byte[] | semmle.label | in : byte[] | +| Test.java:169:9:169:11 | out | semmle.label | out | +| Test.java:174:16:174:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:174:24:174:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:175:10:175:39 | encodeToString(...) : String | semmle.label | encodeToString(...) : String | +| Test.java:175:37:175:38 | in : byte[] | semmle.label | in : byte[] | +| Test.java:176:9:176:11 | out | semmle.label | out | +| Test.java:181:16:181:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:181:24:181:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:182:10:182:46 | encodeToUrlSafeString(...) : String | semmle.label | encodeToUrlSafeString(...) : String | +| Test.java:182:44:182:45 | in : byte[] | semmle.label | in : byte[] | +| Test.java:183:9:183:11 | out | semmle.label | out | +| Test.java:188:16:188:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:188:24:188:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:189:10:189:38 | encodeUrlSafe(...) : byte[] | semmle.label | encodeUrlSafe(...) : byte[] | +| Test.java:189:36:189:37 | in : byte[] | semmle.label | in : byte[] | +| Test.java:190:9:190:11 | out | semmle.label | out | +| Test.java:195:18:195:46 | newWithArrayElement(...) : Object[] [[]] : Object | semmle.label | newWithArrayElement(...) : Object[] [[]] : Object | +| Test.java:195:38:195:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:196:10:196:40 | arrayToList(...) : List [] : Object | semmle.label | arrayToList(...) : List [] : Object | +| Test.java:196:38:196:39 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:197:9:197:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:197:20:197:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:202:20:202:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:202:28:202:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:203:10:203:49 | findFirstMatch(...) : Object | semmle.label | findFirstMatch(...) : Object | +| Test.java:203:41:203:42 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:204:9:204:11 | out | semmle.label | out | +| Test.java:209:20:209:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:209:28:209:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:210:10:210:62 | findValueOfType(...) : Object | semmle.label | findValueOfType(...) : Object | +| Test.java:210:42:210:43 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:211:9:211:11 | out | semmle.label | out | +| Test.java:216:20:216:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:216:28:216:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:217:10:217:57 | findValueOfType(...) : Object | semmle.label | findValueOfType(...) : Object | +| Test.java:217:42:217:43 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:218:9:218:11 | out | semmle.label | out | +| Test.java:223:13:223:28 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| Test.java:223:20:223:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:224:10:224:41 | firstElement(...) : Object | semmle.label | firstElement(...) : Object | +| Test.java:224:39:224:40 | in : Set [] : Object | semmle.label | in : Set [] : Object | +| Test.java:225:9:225:11 | out | semmle.label | out | +| Test.java:230:14:230:30 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:230:22:230:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:231:10:231:41 | firstElement(...) : Object | semmle.label | firstElement(...) : Object | +| Test.java:231:39:231:40 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:232:9:232:11 | out | semmle.label | out | +| Test.java:237:13:237:28 | of(...) : Set [] : Object | semmle.label | of(...) : Set [] : Object | +| Test.java:237:20:237:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:238:10:238:40 | lastElement(...) : Object | semmle.label | lastElement(...) : Object | +| Test.java:238:38:238:39 | in : Set [] : Object | semmle.label | in : Set [] : Object | +| Test.java:239:9:239:11 | out | semmle.label | out | +| Test.java:244:14:244:30 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:244:22:244:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:245:10:245:40 | lastElement(...) : Object | semmle.label | lastElement(...) : Object | +| Test.java:245:38:245:39 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:246:9:246:11 | out | semmle.label | out | +| Test.java:251:18:251:46 | newWithArrayElement(...) : Object[] [[]] : Object | semmle.label | newWithArrayElement(...) : Object[] [[]] : Object | +| Test.java:251:38:251:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:252:45:252:46 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:252:49:252:51 | out [post update] : Collection [] : Object | semmle.label | out [post update] : Collection [] : Object | +| Test.java:253:9:253:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:253:20:253:22 | out : Collection [] : Object | semmle.label | out : Collection [] : Object | +| Test.java:258:20:258:52 | newPropertiesWithMapKey(...) : Properties [] : Object | semmle.label | newPropertiesWithMapKey(...) : Properties [] : Object | +| Test.java:258:44:258:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:259:43:259:44 | in : Properties [] : Object | semmle.label | in : Properties [] : Object | +| Test.java:259:47:259:49 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| Test.java:260:9:260:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:260:19:260:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:265:20:265:54 | newPropertiesWithMapValue(...) : Properties [] : Object | semmle.label | newPropertiesWithMapValue(...) : Properties [] : Object | +| Test.java:265:46:265:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:266:43:266:44 | in : Properties [] : Object | semmle.label | in : Properties [] : Object | +| Test.java:266:47:266:49 | out [post update] : Map [] : Object | semmle.label | out [post update] : Map [] : Object | +| Test.java:267:9:267:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:267:21:267:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:272:21:272:62 | enumeration(...) : Enumeration [] : Object | semmle.label | enumeration(...) : Enumeration [] : Object | +| Test.java:272:45:272:61 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:272:53:272:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:273:10:273:39 | toIterator(...) : Iterator [] : Object | semmle.label | toIterator(...) : Iterator [] : Object | +| Test.java:273:37:273:38 | in : Enumeration [] : Object | semmle.label | in : Enumeration [] : Object | +| Test.java:274:9:274:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:274:20:274:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:279:13:279:43 | of(...) : Map [, ] : Object | semmle.label | of(...) : Map [, ] : Object | +| Test.java:279:26:279:42 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:279:34:279:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:280:10:280:44 | toMultiValueMap(...) : MultiValueMap [, ] : Object | semmle.label | toMultiValueMap(...) : MultiValueMap [, ] : Object | +| Test.java:280:42:280:43 | in : Map [, ] : Object | semmle.label | in : Map [, ] : Object | +| Test.java:281:9:281:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:281:20:281:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:281:32:281:34 | out : MultiValueMap [, ] : Object | semmle.label | out : MultiValueMap [, ] : Object | +| Test.java:286:13:286:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:286:20:286:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:287:10:287:44 | toMultiValueMap(...) : MultiValueMap [] : Object | semmle.label | toMultiValueMap(...) : MultiValueMap [] : Object | +| Test.java:287:42:287:43 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:288:9:288:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:288:19:288:21 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:293:23:293:69 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | semmle.label | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | +| Test.java:293:47:293:68 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:293:54:293:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:294:10:294:54 | unmodifiableMultiValueMap(...) : MultiValueMap [] : Object | semmle.label | unmodifiableMultiValueMap(...) : MultiValueMap [] : Object | +| Test.java:294:52:294:53 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:295:9:295:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:295:19:295:21 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:301:4:301:5 | in [post update] : LinkedMultiValueMap [] : Object | semmle.label | in [post update] : LinkedMultiValueMap [] : Object | +| Test.java:301:17:301:24 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:302:10:302:54 | unmodifiableMultiValueMap(...) : MultiValueMap [] : Object | semmle.label | unmodifiableMultiValueMap(...) : MultiValueMap [] : Object | +| Test.java:302:52:302:53 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:303:9:303:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:303:21:303:23 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:308:18:308:34 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:308:18:308:45 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:308:26:308:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:309:4:309:6 | out [post update] : CompositeIterator [] : Object | semmle.label | out [post update] : CompositeIterator [] : Object | +| Test.java:309:12:309:13 | in : Iterator [] : Object | semmle.label | in : Iterator [] : Object | +| Test.java:310:9:310:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:310:20:310:22 | out : CompositeIterator [] : Object | semmle.label | out : CompositeIterator [] : Object | +| Test.java:316:4:316:5 | in [post update] : CompositeIterator [] : Object | semmle.label | in [post update] : CompositeIterator [] : Object | +| Test.java:316:11:316:27 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:316:11:316:38 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:316:19:316:26 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:317:10:317:11 | in : CompositeIterator [] : Object | semmle.label | in : CompositeIterator [] : Object | +| Test.java:317:10:317:18 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:318:9:318:11 | out | semmle.label | out | +| Test.java:323:35:323:69 | (...)... : FastByteArrayOutputStream | semmle.label | (...)... : FastByteArrayOutputStream | +| Test.java:323:62:323:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:324:10:324:11 | in : FastByteArrayOutputStream | semmle.label | in : FastByteArrayOutputStream | +| Test.java:324:10:324:28 | getInputStream(...) : InputStream | semmle.label | getInputStream(...) : InputStream | +| Test.java:325:9:325:11 | out | semmle.label | out | +| Test.java:330:35:330:69 | (...)... : FastByteArrayOutputStream | semmle.label | (...)... : FastByteArrayOutputStream | +| Test.java:330:62:330:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:331:10:331:11 | in : FastByteArrayOutputStream | semmle.label | in : FastByteArrayOutputStream | +| Test.java:331:10:331:25 | toByteArray(...) : byte[] | semmle.label | toByteArray(...) : byte[] | +| Test.java:332:9:332:11 | out | semmle.label | out | +| Test.java:337:13:337:25 | (...)... : Number | semmle.label | (...)... : Number | +| Test.java:337:18:337:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:338:4:338:6 | out [post update] : FastByteArrayOutputStream | semmle.label | out [post update] : FastByteArrayOutputStream | +| Test.java:338:14:338:15 | in : Number | semmle.label | in : Number | +| Test.java:339:9:339:11 | out | semmle.label | out | +| Test.java:344:16:344:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:344:24:344:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:345:4:345:6 | out [post update] : FastByteArrayOutputStream | semmle.label | out [post update] : FastByteArrayOutputStream | +| Test.java:345:14:345:15 | in : byte[] | semmle.label | in : byte[] | +| Test.java:346:9:346:11 | out | semmle.label | out | +| Test.java:351:35:351:69 | (...)... : FastByteArrayOutputStream | semmle.label | (...)... : FastByteArrayOutputStream | +| Test.java:351:62:351:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:352:4:352:5 | in : FastByteArrayOutputStream | semmle.label | in : FastByteArrayOutputStream | +| Test.java:352:15:352:17 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:353:9:353:11 | out | semmle.label | out | +| Test.java:358:16:358:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:358:24:358:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:359:23:359:24 | in : String | semmle.label | in : String | +| Test.java:359:27:359:29 | out [post update] : Writer | semmle.label | out [post update] : Writer | +| Test.java:360:9:360:11 | out | semmle.label | out | +| Test.java:365:16:365:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:365:24:365:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:366:23:366:24 | in : Reader | semmle.label | in : Reader | +| Test.java:366:27:366:29 | out [post update] : Writer | semmle.label | out [post update] : Writer | +| Test.java:367:9:367:11 | out | semmle.label | out | +| Test.java:372:16:372:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:372:24:372:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:373:23:373:24 | in : byte[] | semmle.label | in : byte[] | +| Test.java:373:27:373:29 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:374:9:374:11 | out | semmle.label | out | +| Test.java:379:21:379:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:379:34:379:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:380:23:380:24 | in : InputStream | semmle.label | in : InputStream | +| Test.java:380:27:380:29 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:381:9:381:11 | out | semmle.label | out | +| Test.java:386:21:386:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:386:34:386:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:387:10:387:42 | copyToByteArray(...) : byte[] | semmle.label | copyToByteArray(...) : byte[] | +| Test.java:387:40:387:41 | in : InputStream | semmle.label | in : InputStream | +| Test.java:388:9:388:11 | out | semmle.label | out | +| Test.java:393:14:393:27 | (...)... : File | semmle.label | (...)... : File | +| Test.java:393:20:393:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:394:10:394:42 | copyToByteArray(...) : byte[] | semmle.label | copyToByteArray(...) : byte[] | +| Test.java:394:40:394:41 | in : File | semmle.label | in : File | +| Test.java:395:9:395:11 | out | semmle.label | out | +| Test.java:400:16:400:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:400:24:400:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:401:10:401:39 | copyToString(...) : String | semmle.label | copyToString(...) : String | +| Test.java:401:37:401:38 | in : Reader | semmle.label | in : Reader | +| Test.java:402:9:402:11 | out | semmle.label | out | +| Test.java:407:14:407:27 | (...)... : File | semmle.label | (...)... : File | +| Test.java:407:20:407:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:408:36:408:37 | in : File | semmle.label | in : File | +| Test.java:408:40:408:42 | out [post update] : File | semmle.label | out [post update] : File | +| Test.java:409:9:409:11 | out | semmle.label | out | +| Test.java:414:13:414:43 | of(...) : Map [, ] : Object | semmle.label | of(...) : Map [, ] : Object | +| Test.java:414:26:414:42 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:414:34:414:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:415:10:415:36 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [, ] : Object | semmle.label | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [, ] : Object | +| Test.java:415:34:415:35 | in : Map [, ] : Object | semmle.label | in : Map [, ] : Object | +| Test.java:416:9:416:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:416:20:416:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:416:32:416:34 | out : LinkedMultiValueMap [, ] : Object | semmle.label | out : LinkedMultiValueMap [, ] : Object | +| Test.java:421:13:421:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:421:20:421:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:422:10:422:36 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | semmle.label | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | +| Test.java:422:34:422:35 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:423:9:423:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:423:19:423:21 | out : LinkedMultiValueMap [] : Object | semmle.label | out : LinkedMultiValueMap [] : Object | +| Test.java:429:4:429:5 | in [post update] : LinkedMultiValueMap [] : Object | semmle.label | in [post update] : LinkedMultiValueMap [] : Object | +| Test.java:429:11:429:18 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:430:10:430:11 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:430:10:430:22 | deepCopy(...) : LinkedMultiValueMap [] : Object | semmle.label | deepCopy(...) : LinkedMultiValueMap [] : Object | +| Test.java:431:9:431:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:431:19:431:21 | out : LinkedMultiValueMap [] : Object | semmle.label | out : LinkedMultiValueMap [] : Object | +| Test.java:437:4:437:5 | in [post update] : LinkedMultiValueMap [, ] : Object | semmle.label | in [post update] : LinkedMultiValueMap [, ] : Object | +| Test.java:437:17:437:24 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:438:10:438:11 | in : LinkedMultiValueMap [, ] : Object | semmle.label | in : LinkedMultiValueMap [, ] : Object | +| Test.java:438:10:438:22 | deepCopy(...) : LinkedMultiValueMap [, ] : Object | semmle.label | deepCopy(...) : LinkedMultiValueMap [, ] : Object | +| Test.java:439:9:439:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:439:20:439:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:439:32:439:34 | out : LinkedMultiValueMap [, ] : Object | semmle.label | out : LinkedMultiValueMap [, ] : Object | +| Test.java:444:16:444:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:445:4:445:6 | out [post update] : MultiValueMapAdapter [] : Object | semmle.label | out [post update] : MultiValueMapAdapter [] : Object | +| Test.java:445:12:445:13 | in : Object | semmle.label | in : Object | +| Test.java:446:9:446:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:446:19:446:21 | out : MultiValueMapAdapter [] : Object | semmle.label | out : MultiValueMapAdapter [] : Object | +| Test.java:451:16:451:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:452:4:452:6 | out [post update] : MultiValueMap [] : Object | semmle.label | out [post update] : MultiValueMap [] : Object | +| Test.java:452:12:452:13 | in : Object | semmle.label | in : Object | +| Test.java:453:9:453:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:453:19:453:21 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:458:16:458:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:459:4:459:6 | out [post update] : MultiValueMap [] : Object | semmle.label | out [post update] : MultiValueMap [] : Object | +| Test.java:459:12:459:13 | in : Object | semmle.label | in : Object | +| Test.java:460:9:460:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:460:19:460:21 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:465:16:465:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:466:4:466:6 | out [post update] : MultiValueMapAdapter [, ] : Object | semmle.label | out [post update] : MultiValueMapAdapter [, ] : Object | +| Test.java:466:18:466:19 | in : Object | semmle.label | in : Object | +| Test.java:467:9:467:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:467:20:467:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:467:32:467:34 | out : MultiValueMapAdapter [, ] : Object | semmle.label | out : MultiValueMapAdapter [, ] : Object | +| Test.java:472:16:472:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:473:4:473:6 | out [post update] : MultiValueMap [, ] : Object | semmle.label | out [post update] : MultiValueMap [, ] : Object | +| Test.java:473:18:473:19 | in : Object | semmle.label | in : Object | +| Test.java:474:9:474:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:474:20:474:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:474:32:474:34 | out : MultiValueMap [, ] : Object | semmle.label | out : MultiValueMap [, ] : Object | +| Test.java:479:16:479:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:480:4:480:6 | out [post update] : MultiValueMap [, ] : Object | semmle.label | out [post update] : MultiValueMap [, ] : Object | +| Test.java:480:26:480:27 | in : Object | semmle.label | in : Object | +| Test.java:481:9:481:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:481:20:481:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:481:32:481:34 | out : MultiValueMap [, ] : Object | semmle.label | out : MultiValueMap [, ] : Object | +| Test.java:486:14:486:30 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:486:22:486:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:487:4:487:6 | out [post update] : MultiValueMapAdapter [, ] : Object | semmle.label | out [post update] : MultiValueMapAdapter [, ] : Object | +| Test.java:487:21:487:22 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:488:9:488:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:488:20:488:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:488:32:488:34 | out : MultiValueMapAdapter [, ] : Object | semmle.label | out : MultiValueMapAdapter [, ] : Object | +| Test.java:493:14:493:30 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:493:22:493:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:494:4:494:6 | out [post update] : MultiValueMap [, ] : Object | semmle.label | out [post update] : MultiValueMap [, ] : Object | +| Test.java:494:21:494:22 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:495:9:495:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:495:20:495:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:495:32:495:34 | out : MultiValueMap [, ] : Object | semmle.label | out : MultiValueMap [, ] : Object | +| Test.java:500:14:500:30 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:500:22:500:29 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:501:4:501:6 | out [post update] : MultiValueMap [, ] : Object | semmle.label | out [post update] : MultiValueMap [, ] : Object | +| Test.java:501:29:501:30 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:502:9:502:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:502:20:502:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:502:32:502:34 | out : MultiValueMap [, ] : Object | semmle.label | out : MultiValueMap [, ] : Object | +| Test.java:507:23:507:68 | (...)... : MultiValueMap [, ] : Object | semmle.label | (...)... : MultiValueMap [, ] : Object | +| Test.java:507:38:507:68 | of(...) : Map [, ] : Object | semmle.label | of(...) : Map [, ] : Object | +| Test.java:507:51:507:67 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:507:59:507:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:508:4:508:6 | out [post update] : MultiValueMapAdapter [, ] : Object | semmle.label | out [post update] : MultiValueMapAdapter [, ] : Object | +| Test.java:508:15:508:16 | in : MultiValueMap [, ] : Object | semmle.label | in : MultiValueMap [, ] : Object | +| Test.java:509:9:509:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:509:20:509:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:509:32:509:34 | out : MultiValueMapAdapter [, ] : Object | semmle.label | out : MultiValueMapAdapter [, ] : Object | +| Test.java:514:23:514:68 | (...)... : MultiValueMap [, ] : Object | semmle.label | (...)... : MultiValueMap [, ] : Object | +| Test.java:514:38:514:68 | of(...) : Map [, ] : Object | semmle.label | of(...) : Map [, ] : Object | +| Test.java:514:51:514:67 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:514:59:514:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:515:4:515:6 | out [post update] : MultiValueMap [, ] : Object | semmle.label | out [post update] : MultiValueMap [, ] : Object | +| Test.java:515:15:515:16 | in : MultiValueMap [, ] : Object | semmle.label | in : MultiValueMap [, ] : Object | +| Test.java:516:9:516:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:516:20:516:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:516:32:516:34 | out : MultiValueMap [, ] : Object | semmle.label | out : MultiValueMap [, ] : Object | +| Test.java:521:16:521:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:522:4:522:6 | out [post update] : MultiValueMapAdapter [] : Object | semmle.label | out [post update] : MultiValueMapAdapter [] : Object | +| Test.java:522:15:522:16 | in : Object | semmle.label | in : Object | +| Test.java:523:9:523:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:523:19:523:21 | out : MultiValueMapAdapter [] : Object | semmle.label | out : MultiValueMapAdapter [] : Object | +| Test.java:528:16:528:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:529:4:529:6 | out [post update] : MultiValueMap [] : Object | semmle.label | out [post update] : MultiValueMap [] : Object | +| Test.java:529:15:529:16 | in : Object | semmle.label | in : Object | +| Test.java:530:9:530:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:530:19:530:21 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:536:4:536:6 | mvm [post update] : MultiValueMap [] : Object | semmle.label | mvm [post update] : MultiValueMap [] : Object | +| Test.java:536:12:536:19 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:537:4:537:6 | out [post update] : MultiValueMapAdapter [] : Object | semmle.label | out [post update] : MultiValueMapAdapter [] : Object | +| Test.java:537:15:537:17 | mvm : MultiValueMap [] : Object | semmle.label | mvm : MultiValueMap [] : Object | +| Test.java:538:9:538:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:538:19:538:21 | out : MultiValueMapAdapter [] : Object | semmle.label | out : MultiValueMapAdapter [] : Object | +| Test.java:544:4:544:6 | mvm [post update] : MultiValueMap [] : Object | semmle.label | mvm [post update] : MultiValueMap [] : Object | +| Test.java:544:12:544:19 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:545:4:545:6 | out [post update] : MultiValueMap [] : Object | semmle.label | out [post update] : MultiValueMap [] : Object | +| Test.java:545:15:545:17 | mvm : MultiValueMap [] : Object | semmle.label | mvm : MultiValueMap [] : Object | +| Test.java:546:9:546:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:546:19:546:21 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:551:16:551:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:552:4:552:6 | out [post update] : MultiValueMap [] : Object | semmle.label | out [post update] : MultiValueMap [] : Object | +| Test.java:552:20:552:21 | in : Object | semmle.label | in : Object | +| Test.java:553:9:553:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:553:19:553:21 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:558:16:558:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:559:4:559:6 | out [post update] : MultiValueMap [] : Object | semmle.label | out [post update] : MultiValueMap [] : Object | +| Test.java:559:20:559:21 | in : Object | semmle.label | in : Object | +| Test.java:560:9:560:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:560:19:560:21 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:565:16:565:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:566:4:566:6 | out [post update] : MultiValueMap [, ] : Object | semmle.label | out [post update] : MultiValueMap [, ] : Object | +| Test.java:566:26:566:27 | in : Object | semmle.label | in : Object | +| Test.java:567:9:567:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:567:20:567:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:567:32:567:34 | out : MultiValueMap [, ] : Object | semmle.label | out : MultiValueMap [, ] : Object | +| Test.java:572:16:572:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:573:4:573:6 | out [post update] : MultiValueMap [, ] : Object | semmle.label | out [post update] : MultiValueMap [, ] : Object | +| Test.java:573:34:573:35 | in : Object | semmle.label | in : Object | +| Test.java:574:9:574:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:574:20:574:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:574:32:574:34 | out : MultiValueMap [, ] : Object | semmle.label | out : MultiValueMap [, ] : Object | +| Test.java:579:30:579:86 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [, ] : Object | semmle.label | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [, ] : Object | +| Test.java:579:55:579:85 | of(...) : Map [, ] : Object | semmle.label | of(...) : Map [, ] : Object | +| Test.java:579:68:579:84 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:579:76:579:83 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:580:10:580:11 | in : MultiValueMapAdapter [, ] : Object | semmle.label | in : MultiValueMapAdapter [, ] : Object | +| Test.java:580:10:580:26 | getFirst(...) : Object | semmle.label | getFirst(...) : Object | +| Test.java:581:9:581:11 | out | semmle.label | out | +| Test.java:586:23:586:68 | (...)... : MultiValueMap [, ] : Object | semmle.label | (...)... : MultiValueMap [, ] : Object | +| Test.java:586:38:586:68 | of(...) : Map [, ] : Object | semmle.label | of(...) : Map [, ] : Object | +| Test.java:586:51:586:67 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:586:59:586:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:587:10:587:11 | in : MultiValueMap [, ] : Object | semmle.label | in : MultiValueMap [, ] : Object | +| Test.java:587:10:587:26 | getFirst(...) : Object | semmle.label | getFirst(...) : Object | +| Test.java:588:9:588:11 | out | semmle.label | out | +| Test.java:593:23:593:68 | (...)... : MultiValueMap [, ] : Object | semmle.label | (...)... : MultiValueMap [, ] : Object | +| Test.java:593:38:593:68 | of(...) : Map [, ] : Object | semmle.label | of(...) : Map [, ] : Object | +| Test.java:593:51:593:67 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:593:59:593:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:594:10:594:11 | in : MultiValueMap [, ] : Object | semmle.label | in : MultiValueMap [, ] : Object | +| Test.java:594:10:594:34 | getFirst(...) : Object | semmle.label | getFirst(...) : Object | +| Test.java:595:9:595:11 | out | semmle.label | out | +| Test.java:600:16:600:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:601:4:601:6 | out [post update] : MultiValueMapAdapter [] : Object | semmle.label | out [post update] : MultiValueMapAdapter [] : Object | +| Test.java:601:12:601:13 | in : Object | semmle.label | in : Object | +| Test.java:602:9:602:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:602:19:602:21 | out : MultiValueMapAdapter [] : Object | semmle.label | out : MultiValueMapAdapter [] : Object | +| Test.java:607:16:607:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:608:4:608:6 | out [post update] : MultiValueMap [] : Object | semmle.label | out [post update] : MultiValueMap [] : Object | +| Test.java:608:12:608:13 | in : Object | semmle.label | in : Object | +| Test.java:609:9:609:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:609:19:609:21 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:614:16:614:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:615:4:615:6 | out [post update] : MultiValueMapAdapter [, ] : Object | semmle.label | out [post update] : MultiValueMapAdapter [, ] : Object | +| Test.java:615:18:615:19 | in : Object | semmle.label | in : Object | +| Test.java:616:9:616:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:616:20:616:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:616:32:616:34 | out : MultiValueMapAdapter [, ] : Object | semmle.label | out : MultiValueMapAdapter [, ] : Object | +| Test.java:621:16:621:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:622:4:622:6 | out [post update] : MultiValueMap [, ] : Object | semmle.label | out [post update] : MultiValueMap [, ] : Object | +| Test.java:622:18:622:19 | in : Object | semmle.label | in : Object | +| Test.java:623:9:623:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:623:20:623:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:623:32:623:34 | out : MultiValueMap [, ] : Object | semmle.label | out : MultiValueMap [, ] : Object | +| Test.java:628:16:628:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:629:4:629:6 | out [post update] : MultiValueMap [, ] : Object | semmle.label | out [post update] : MultiValueMap [, ] : Object | +| Test.java:629:26:629:27 | in : Object | semmle.label | in : Object | +| Test.java:630:9:630:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:630:20:630:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:630:32:630:34 | out : MultiValueMap [, ] : Object | semmle.label | out : MultiValueMap [, ] : Object | +| Test.java:635:13:635:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:635:20:635:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:636:4:636:6 | out [post update] : MultiValueMapAdapter [] : Object | semmle.label | out [post update] : MultiValueMapAdapter [] : Object | +| Test.java:636:15:636:16 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:637:9:637:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:637:19:637:21 | out : MultiValueMapAdapter [] : Object | semmle.label | out : MultiValueMapAdapter [] : Object | +| Test.java:642:13:642:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:642:20:642:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:643:4:643:6 | out [post update] : MultiValueMap [] : Object | semmle.label | out [post update] : MultiValueMap [] : Object | +| Test.java:643:15:643:16 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:644:9:644:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:644:19:644:21 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:649:13:649:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:649:26:649:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:650:4:650:6 | out [post update] : MultiValueMapAdapter [, ] : Object | semmle.label | out [post update] : MultiValueMapAdapter [, ] : Object | +| Test.java:650:15:650:16 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:651:9:651:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:651:20:651:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:651:32:651:34 | out : MultiValueMapAdapter [, ] : Object | semmle.label | out : MultiValueMapAdapter [, ] : Object | +| Test.java:656:13:656:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:656:26:656:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:657:4:657:6 | out [post update] : MultiValueMap [, ] : Object | semmle.label | out [post update] : MultiValueMap [, ] : Object | +| Test.java:657:15:657:16 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:658:9:658:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:658:20:658:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:658:32:658:34 | out : MultiValueMap [, ] : Object | semmle.label | out : MultiValueMap [, ] : Object | +| Test.java:663:30:663:86 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [, ] : Object | semmle.label | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [, ] : Object | +| Test.java:663:55:663:85 | of(...) : Map [, ] : Object | semmle.label | of(...) : Map [, ] : Object | +| Test.java:663:68:663:84 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:663:76:663:83 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:664:10:664:11 | in : MultiValueMapAdapter [, ] : Object | semmle.label | in : MultiValueMapAdapter [, ] : Object | +| Test.java:664:10:664:30 | toSingleValueMap(...) : Map [] : Object | semmle.label | toSingleValueMap(...) : Map [] : Object | +| Test.java:665:9:665:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:665:21:665:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:670:23:670:68 | (...)... : MultiValueMap [, ] : Object | semmle.label | (...)... : MultiValueMap [, ] : Object | +| Test.java:670:38:670:68 | of(...) : Map [, ] : Object | semmle.label | of(...) : Map [, ] : Object | +| Test.java:670:51:670:67 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:670:59:670:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:671:10:671:11 | in : MultiValueMap [, ] : Object | semmle.label | in : MultiValueMap [, ] : Object | +| Test.java:671:10:671:30 | toSingleValueMap(...) : Map [] : Object | semmle.label | toSingleValueMap(...) : Map [] : Object | +| Test.java:672:9:672:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:672:21:672:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:677:30:677:77 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [] : Object | semmle.label | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [] : Object | +| Test.java:677:55:677:76 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:677:62:677:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:678:10:678:11 | in : MultiValueMapAdapter [] : Object | semmle.label | in : MultiValueMapAdapter [] : Object | +| Test.java:678:10:678:30 | toSingleValueMap(...) : Map [] : Object | semmle.label | toSingleValueMap(...) : Map [] : Object | +| Test.java:679:9:679:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:679:19:679:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:684:23:684:70 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [] : Object | semmle.label | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [] : Object | +| Test.java:684:48:684:69 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:684:55:684:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:685:10:685:11 | in : MultiValueMapAdapter [] : Object | semmle.label | in : MultiValueMapAdapter [] : Object | +| Test.java:685:10:685:30 | toSingleValueMap(...) : Map [] : Object | semmle.label | toSingleValueMap(...) : Map [] : Object | +| Test.java:686:9:686:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:686:19:686:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:691:13:691:43 | of(...) : Map [, ] : Object | semmle.label | of(...) : Map [, ] : Object | +| Test.java:691:26:691:42 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:691:34:691:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:692:10:692:37 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [, ] : Object | semmle.label | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [, ] : Object | +| Test.java:692:35:692:36 | in : Map [, ] : Object | semmle.label | in : Map [, ] : Object | +| Test.java:693:9:693:36 | getElement(...) | semmle.label | getElement(...) | +| Test.java:693:20:693:35 | getMapValue(...) : List [] : Object | semmle.label | getMapValue(...) : List [] : Object | +| Test.java:693:32:693:34 | out : MultiValueMapAdapter [, ] : Object | semmle.label | out : MultiValueMapAdapter [, ] : Object | +| Test.java:698:13:698:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:698:20:698:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:699:10:699:37 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [] : Object | semmle.label | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [] : Object | +| Test.java:699:35:699:36 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:700:9:700:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:700:19:700:21 | out : MultiValueMapAdapter [] : Object | semmle.label | out : MultiValueMapAdapter [] : Object | +| Test.java:705:18:705:46 | newWithArrayElement(...) : Object[] [[]] : Object | semmle.label | newWithArrayElement(...) : Object[] [[]] : Object | +| Test.java:705:38:705:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:706:10:706:38 | toObjectArray(...) : Object[] [[]] : Object | semmle.label | toObjectArray(...) : Object[] [[]] : Object | +| Test.java:706:36:706:37 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:707:9:707:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:707:25:707:27 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| Test.java:712:16:712:36 | of(...) : Optional [] : Object | semmle.label | of(...) : Optional [] : Object | +| Test.java:712:28:712:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:713:10:713:39 | unwrapOptional(...) : Object | semmle.label | unwrapOptional(...) : Object | +| Test.java:713:37:713:38 | in : Optional [] : Object | semmle.label | in : Optional [] : Object | +| Test.java:714:9:714:11 | out | semmle.label | out | +| Test.java:719:16:719:31 | (...)... : Reader | semmle.label | (...)... : Reader | +| Test.java:719:24:719:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:721:18:721:20 | out [post update] : Properties | semmle.label | out [post update] : Properties | +| Test.java:721:23:721:24 | in : Reader | semmle.label | in : Reader | +| Test.java:722:9:722:11 | out | semmle.label | out | +| Test.java:727:21:727:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:727:34:727:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:729:18:729:20 | out [post update] : Properties | semmle.label | out [post update] : Properties | +| Test.java:729:23:729:24 | in : InputStream | semmle.label | in : InputStream | +| Test.java:730:9:730:11 | out | semmle.label | out | +| Test.java:735:21:735:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:735:34:735:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:737:25:737:27 | out [post update] : Properties | semmle.label | out [post update] : Properties | +| Test.java:737:30:737:31 | in : InputStream | semmle.label | in : InputStream | +| Test.java:738:9:738:11 | out | semmle.label | out | +| Test.java:743:20:743:39 | (...)... : Properties | semmle.label | (...)... : Properties | +| Test.java:743:32:743:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:745:19:745:20 | in : Properties | semmle.label | in : Properties | +| Test.java:745:23:745:25 | out [post update] : Writer | semmle.label | out [post update] : Writer | +| Test.java:746:9:746:11 | out | semmle.label | out | +| Test.java:751:20:751:39 | (...)... : Properties | semmle.label | (...)... : Properties | +| Test.java:751:32:751:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:753:19:753:20 | in : Properties | semmle.label | in : Properties | +| Test.java:753:23:753:25 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:754:9:754:11 | out | semmle.label | out | +| Test.java:759:16:759:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:759:24:759:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:761:37:761:39 | out [post update] : Writer | semmle.label | out [post update] : Writer | +| Test.java:761:42:761:43 | in : String | semmle.label | in : String | +| Test.java:762:9:762:11 | out | semmle.label | out | +| Test.java:767:16:767:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:767:24:767:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:769:37:769:39 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:769:42:769:43 | in : String | semmle.label | in : String | +| Test.java:770:9:770:11 | out | semmle.label | out | +| Test.java:775:20:775:39 | (...)... : Properties | semmle.label | (...)... : Properties | +| Test.java:775:32:775:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:777:24:777:25 | in : Properties | semmle.label | in : Properties | +| Test.java:777:28:777:30 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:778:9:778:11 | out | semmle.label | out | +| Test.java:783:20:783:39 | (...)... : Properties | semmle.label | (...)... : Properties | +| Test.java:783:32:783:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:785:24:785:25 | in : Properties | semmle.label | in : Properties | +| Test.java:785:28:785:30 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:786:9:786:11 | out | semmle.label | out | +| Test.java:791:16:791:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:791:24:791:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:793:30:793:32 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:793:35:793:36 | in : String | semmle.label | in : String | +| Test.java:794:9:794:11 | out | semmle.label | out | +| Test.java:799:16:799:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:799:24:799:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:801:30:801:32 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:801:35:801:36 | in : String | semmle.label | in : String | +| Test.java:802:9:802:11 | out | semmle.label | out | +| Test.java:807:16:807:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:807:24:807:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:808:10:808:61 | new PropertyPlaceholderHelper(...) : PropertyPlaceholderHelper | semmle.label | new PropertyPlaceholderHelper(...) : PropertyPlaceholderHelper | +| Test.java:808:46:808:47 | in : String | semmle.label | in : String | +| Test.java:809:9:809:11 | out | semmle.label | out | +| Test.java:814:16:814:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:814:24:814:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:815:10:815:48 | new PropertyPlaceholderHelper(...) : PropertyPlaceholderHelper | semmle.label | new PropertyPlaceholderHelper(...) : PropertyPlaceholderHelper | +| Test.java:815:46:815:47 | in : String | semmle.label | in : String | +| Test.java:816:9:816:11 | out | semmle.label | out | +| Test.java:821:16:821:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:821:24:821:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:822:10:822:61 | new PropertyPlaceholderHelper(...) : PropertyPlaceholderHelper | semmle.label | new PropertyPlaceholderHelper(...) : PropertyPlaceholderHelper | +| Test.java:822:40:822:41 | in : String | semmle.label | in : String | +| Test.java:823:9:823:11 | out | semmle.label | out | +| Test.java:828:16:828:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:828:24:828:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:829:10:829:48 | new PropertyPlaceholderHelper(...) : PropertyPlaceholderHelper | semmle.label | new PropertyPlaceholderHelper(...) : PropertyPlaceholderHelper | +| Test.java:829:40:829:41 | in : String | semmle.label | in : String | +| Test.java:830:9:830:11 | out | semmle.label | out | +| Test.java:835:16:835:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:835:24:835:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:837:10:837:94 | replacePlaceholders(...) : String | semmle.label | replacePlaceholders(...) : String | +| Test.java:837:39:837:40 | in : String | semmle.label | in : String | +| Test.java:838:9:838:11 | out | semmle.label | out | +| Test.java:843:16:843:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:843:24:843:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:845:10:845:59 | replacePlaceholders(...) : String | semmle.label | replacePlaceholders(...) : String | +| Test.java:845:39:845:40 | in : String | semmle.label | in : String | +| Test.java:846:9:846:11 | out | semmle.label | out | +| Test.java:851:13:851:25 | (...)... : URL | semmle.label | (...)... : URL | +| Test.java:851:18:851:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:852:10:852:44 | extractArchiveURL(...) : URL | semmle.label | extractArchiveURL(...) : URL | +| Test.java:852:42:852:43 | in : URL | semmle.label | in : URL | +| Test.java:853:9:853:11 | out | semmle.label | out | +| Test.java:858:13:858:25 | (...)... : URL | semmle.label | (...)... : URL | +| Test.java:858:18:858:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:859:10:859:44 | extractJarFileURL(...) : URL | semmle.label | extractJarFileURL(...) : URL | +| Test.java:859:42:859:43 | in : URL | semmle.label | in : URL | +| Test.java:860:9:860:11 | out | semmle.label | out | +| Test.java:865:13:865:25 | (...)... : URL | semmle.label | (...)... : URL | +| Test.java:865:18:865:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:866:10:866:48 | getFile(...) : File | semmle.label | getFile(...) : File | +| Test.java:866:32:866:33 | in : URL | semmle.label | in : URL | +| Test.java:867:9:867:11 | out | semmle.label | out | +| Test.java:872:13:872:25 | (...)... : URL | semmle.label | (...)... : URL | +| Test.java:872:18:872:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:873:10:873:34 | getFile(...) : File | semmle.label | getFile(...) : File | +| Test.java:873:32:873:33 | in : URL | semmle.label | in : URL | +| Test.java:874:9:874:11 | out | semmle.label | out | +| Test.java:879:13:879:25 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:879:18:879:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:880:10:880:48 | getFile(...) : File | semmle.label | getFile(...) : File | +| Test.java:880:32:880:33 | in : URI | semmle.label | in : URI | +| Test.java:881:9:881:11 | out | semmle.label | out | +| Test.java:886:13:886:25 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:886:18:886:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:887:10:887:34 | getFile(...) : File | semmle.label | getFile(...) : File | +| Test.java:887:32:887:33 | in : URI | semmle.label | in : URI | +| Test.java:888:9:888:11 | out | semmle.label | out | +| Test.java:893:16:893:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:893:24:893:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:894:10:894:34 | getFile(...) : File | semmle.label | getFile(...) : File | +| Test.java:894:32:894:33 | in : String | semmle.label | in : String | +| Test.java:895:9:895:11 | out | semmle.label | out | +| Test.java:900:16:900:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:900:24:900:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:901:10:901:33 | getURL(...) : URL | semmle.label | getURL(...) : URL | +| Test.java:901:31:901:32 | in : String | semmle.label | in : String | +| Test.java:902:9:902:11 | out | semmle.label | out | +| Test.java:907:13:907:25 | (...)... : URL | semmle.label | (...)... : URL | +| Test.java:907:18:907:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:908:10:908:32 | toURI(...) : URI | semmle.label | toURI(...) : URI | +| Test.java:908:30:908:31 | in : URL | semmle.label | in : URL | +| Test.java:909:9:909:11 | out | semmle.label | out | +| Test.java:914:16:914:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:914:24:914:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:915:10:915:32 | toURI(...) : URI | semmle.label | toURI(...) : URI | +| Test.java:915:30:915:31 | in : String | semmle.label | in : String | +| Test.java:916:9:916:11 | out | semmle.label | out | +| Test.java:921:16:921:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:921:24:921:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:923:10:923:35 | combine(...) : String | semmle.label | combine(...) : String | +| Test.java:923:33:923:34 | in : String | semmle.label | in : String | +| Test.java:924:9:924:11 | out | semmle.label | out | +| Test.java:929:16:929:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:929:24:929:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:931:10:931:35 | combine(...) : String | semmle.label | combine(...) : String | +| Test.java:931:27:931:28 | in : String | semmle.label | in : String | +| Test.java:932:9:932:11 | out | semmle.label | out | +| Test.java:937:16:937:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:937:24:937:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:939:10:939:43 | matchAndExtract(...) : Map [] : Object | semmle.label | matchAndExtract(...) : Map [] : Object | +| Test.java:939:35:939:36 | in : String | semmle.label | in : String | +| Test.java:940:9:940:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:940:19:940:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:945:28:945:55 | (...)... : Route | semmle.label | (...)... : Route | +| Test.java:945:48:945:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:947:10:947:43 | matchAndExtract(...) : Map [] : Object | semmle.label | matchAndExtract(...) : Map [] : Object | +| Test.java:947:41:947:42 | in : Route | semmle.label | in : Route | +| Test.java:948:9:948:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:948:21:948:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:953:16:953:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:953:24:953:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:955:10:955:32 | parseRoute(...) : Route | semmle.label | parseRoute(...) : Route | +| Test.java:955:30:955:31 | in : String | semmle.label | in : String | +| Test.java:956:9:956:11 | out | semmle.label | out | +| Test.java:961:16:961:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:961:24:961:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:962:10:962:43 | deserialize(...) : Object | semmle.label | deserialize(...) : Object | +| Test.java:962:41:962:42 | in : byte[] | semmle.label | in : byte[] | +| Test.java:963:9:963:11 | out | semmle.label | out | +| Test.java:968:16:968:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:969:10:969:41 | serialize(...) : byte[] | semmle.label | serialize(...) : byte[] | +| Test.java:969:39:969:40 | in : Object | semmle.label | in : Object | +| Test.java:970:9:970:11 | out | semmle.label | out | +| Test.java:975:16:975:31 | (...)... : byte[] | semmle.label | (...)... : byte[] | +| Test.java:975:24:975:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:976:21:976:22 | in : byte[] | semmle.label | in : byte[] | +| Test.java:976:25:976:27 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:977:9:977:11 | out | semmle.label | out | +| Test.java:982:21:982:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:982:34:982:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:983:21:983:22 | in : InputStream | semmle.label | in : InputStream | +| Test.java:983:25:983:27 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:984:9:984:11 | out | semmle.label | out | +| Test.java:989:16:989:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:989:24:989:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:990:21:990:22 | in : String | semmle.label | in : String | +| Test.java:990:31:990:33 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:991:9:991:11 | out | semmle.label | out | +| Test.java:996:21:996:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:996:34:996:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:997:26:997:27 | in : InputStream | semmle.label | in : InputStream | +| Test.java:997:30:997:32 | out [post update] : OutputStream | semmle.label | out [post update] : OutputStream | +| Test.java:998:9:998:11 | out | semmle.label | out | +| Test.java:1003:21:1003:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:1003:34:1003:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1004:10:1004:40 | copyToByteArray(...) : byte[] | semmle.label | copyToByteArray(...) : byte[] | +| Test.java:1004:38:1004:39 | in : InputStream | semmle.label | in : InputStream | +| Test.java:1005:9:1005:11 | out | semmle.label | out | +| Test.java:1010:21:1010:41 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:1010:34:1010:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1011:10:1011:52 | copyToString(...) : String | semmle.label | copyToString(...) : String | +| Test.java:1011:35:1011:36 | in : InputStream | semmle.label | in : InputStream | +| Test.java:1012:9:1012:11 | out | semmle.label | out | +| Test.java:1017:31:1017:61 | (...)... : ByteArrayOutputStream | semmle.label | (...)... : ByteArrayOutputStream | +| Test.java:1017:54:1017:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1018:10:1018:52 | copyToString(...) : String | semmle.label | copyToString(...) : String | +| Test.java:1018:35:1018:36 | in : ByteArrayOutputStream | semmle.label | in : ByteArrayOutputStream | +| Test.java:1019:9:1019:11 | out | semmle.label | out | +| Test.java:1024:16:1024:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1024:24:1024:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1025:10:1025:47 | addStringToArray(...) : String[] [[]] : String | semmle.label | addStringToArray(...) : String[] [[]] : String | +| Test.java:1025:45:1025:46 | in : String | semmle.label | in : String | +| Test.java:1026:9:1026:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1026:25:1026:27 | out : String[] [[]] : String | semmle.label | out : String[] [[]] : String | +| Test.java:1031:18:1031:56 | (...)... : String[] [[]] : Object | semmle.label | (...)... : String[] [[]] : Object | +| Test.java:1031:28:1031:56 | newWithArrayElement(...) : Object[] [[]] : Object | semmle.label | newWithArrayElement(...) : Object[] [[]] : Object | +| Test.java:1031:48:1031:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1032:10:1032:47 | addStringToArray(...) : String[] [[]] : Object | semmle.label | addStringToArray(...) : String[] [[]] : Object | +| Test.java:1032:39:1032:40 | in : String[] [[]] : Object | semmle.label | in : String[] [[]] : Object | +| Test.java:1033:9:1033:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1033:25:1033:27 | out : String[] [[]] : Object | semmle.label | out : String[] [[]] : Object | +| Test.java:1038:16:1038:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1038:24:1038:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1039:10:1039:48 | applyRelativePath(...) : String | semmle.label | applyRelativePath(...) : String | +| Test.java:1039:46:1039:47 | in : String | semmle.label | in : String | +| Test.java:1040:9:1040:11 | out | semmle.label | out | +| Test.java:1045:16:1045:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1045:24:1045:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1046:10:1046:48 | applyRelativePath(...) : String | semmle.label | applyRelativePath(...) : String | +| Test.java:1046:40:1046:41 | in : String | semmle.label | in : String | +| Test.java:1047:9:1047:11 | out | semmle.label | out | +| Test.java:1052:18:1052:29 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:1052:20:1052:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1053:10:1053:52 | arrayToCommaDelimitedString(...) : String | semmle.label | arrayToCommaDelimitedString(...) : String | +| Test.java:1053:50:1053:51 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:1054:9:1054:11 | out | semmle.label | out | +| Test.java:1059:16:1059:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1059:24:1059:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1060:10:1060:53 | arrayToDelimitedString(...) : String | semmle.label | arrayToDelimitedString(...) : String | +| Test.java:1060:51:1060:52 | in : String | semmle.label | in : String | +| Test.java:1061:9:1061:11 | out | semmle.label | out | +| Test.java:1066:18:1066:29 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:1066:20:1066:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1067:10:1067:53 | arrayToDelimitedString(...) : String | semmle.label | arrayToDelimitedString(...) : String | +| Test.java:1067:45:1067:46 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:1068:9:1068:11 | out | semmle.label | out | +| Test.java:1073:16:1073:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1073:24:1073:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1074:10:1074:35 | capitalize(...) : String | semmle.label | capitalize(...) : String | +| Test.java:1074:33:1074:34 | in : String | semmle.label | in : String | +| Test.java:1075:9:1075:11 | out | semmle.label | out | +| Test.java:1080:16:1080:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1080:24:1080:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1081:10:1081:34 | cleanPath(...) : String | semmle.label | cleanPath(...) : String | +| Test.java:1081:32:1081:33 | in : String | semmle.label | in : String | +| Test.java:1082:9:1082:11 | out | semmle.label | out | +| Test.java:1087:20:1087:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:1087:28:1087:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1088:10:1088:57 | collectionToCommaDelimitedString(...) : String | semmle.label | collectionToCommaDelimitedString(...) : String | +| Test.java:1088:55:1088:56 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:1089:9:1089:11 | out | semmle.label | out | +| Test.java:1094:16:1094:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1094:24:1094:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1095:10:1095:70 | collectionToDelimitedString(...) : String | semmle.label | collectionToDelimitedString(...) : String | +| Test.java:1095:68:1095:69 | in : String | semmle.label | in : String | +| Test.java:1096:9:1096:11 | out | semmle.label | out | +| Test.java:1101:16:1101:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1101:24:1101:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1102:10:1102:70 | collectionToDelimitedString(...) : String | semmle.label | collectionToDelimitedString(...) : String | +| Test.java:1102:62:1102:63 | in : String | semmle.label | in : String | +| Test.java:1103:9:1103:11 | out | semmle.label | out | +| Test.java:1108:16:1108:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1108:24:1108:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1109:10:1109:70 | collectionToDelimitedString(...) : String | semmle.label | collectionToDelimitedString(...) : String | +| Test.java:1109:56:1109:57 | in : String | semmle.label | in : String | +| Test.java:1110:9:1110:11 | out | semmle.label | out | +| Test.java:1115:16:1115:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1115:24:1115:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1116:10:1116:58 | collectionToDelimitedString(...) : String | semmle.label | collectionToDelimitedString(...) : String | +| Test.java:1116:56:1116:57 | in : String | semmle.label | in : String | +| Test.java:1117:9:1117:11 | out | semmle.label | out | +| Test.java:1122:20:1122:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:1122:28:1122:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1123:10:1123:70 | collectionToDelimitedString(...) : String | semmle.label | collectionToDelimitedString(...) : String | +| Test.java:1123:50:1123:51 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:1124:9:1124:11 | out | semmle.label | out | +| Test.java:1129:20:1129:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:1129:28:1129:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1130:10:1130:58 | collectionToDelimitedString(...) : String | semmle.label | collectionToDelimitedString(...) : String | +| Test.java:1130:50:1130:51 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:1131:9:1131:11 | out | semmle.label | out | +| Test.java:1136:16:1136:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1136:24:1136:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1137:10:1137:48 | commaDelimitedListToSet(...) : Set [] : Object | semmle.label | commaDelimitedListToSet(...) : Set [] : Object | +| Test.java:1137:46:1137:47 | in : String | semmle.label | in : String | +| Test.java:1138:9:1138:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1138:20:1138:22 | out : Set [] : Object | semmle.label | out : Set [] : Object | +| Test.java:1143:16:1143:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1143:24:1143:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1144:10:1144:56 | commaDelimitedListToStringArray(...) : String[] [[]] : Object | semmle.label | commaDelimitedListToStringArray(...) : String[] [[]] : Object | +| Test.java:1144:54:1144:55 | in : String | semmle.label | in : String | +| Test.java:1145:9:1145:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1145:25:1145:27 | out : String[] [[]] : Object | semmle.label | out : String[] [[]] : Object | +| Test.java:1150:18:1150:37 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:1150:20:1150:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1150:28:1150:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1151:10:1151:54 | concatenateStringArrays(...) : String[] [[]] : Object | semmle.label | concatenateStringArrays(...) : String[] [[]] : Object | +| Test.java:1151:52:1151:53 | in : String[] [[]] : String | semmle.label | in : String[] [[]] : String | +| Test.java:1152:9:1152:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1152:25:1152:27 | out : String[] [[]] : Object | semmle.label | out : String[] [[]] : Object | +| Test.java:1157:18:1157:37 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:1157:20:1157:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1157:28:1157:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1158:10:1158:54 | concatenateStringArrays(...) : String[] [[]] : Object | semmle.label | concatenateStringArrays(...) : String[] [[]] : Object | +| Test.java:1158:46:1158:47 | in : String[] [[]] : String | semmle.label | in : String[] [[]] : String | +| Test.java:1159:9:1159:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1159:25:1159:27 | out : String[] [[]] : Object | semmle.label | out : String[] [[]] : Object | +| Test.java:1164:16:1164:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1164:24:1164:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1165:10:1165:37 | delete(...) : String | semmle.label | delete(...) : String | +| Test.java:1165:29:1165:30 | in : String | semmle.label | in : String | +| Test.java:1166:9:1166:11 | out | semmle.label | out | +| Test.java:1171:16:1171:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1171:24:1171:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1172:10:1172:40 | deleteAny(...) : String | semmle.label | deleteAny(...) : String | +| Test.java:1172:32:1172:33 | in : String | semmle.label | in : String | +| Test.java:1173:9:1173:11 | out | semmle.label | out | +| Test.java:1178:16:1178:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1178:24:1178:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1179:10:1179:63 | delimitedListToStringArray(...) : String[] [[]] : Object | semmle.label | delimitedListToStringArray(...) : String[] [[]] : Object | +| Test.java:1179:49:1179:50 | in : String | semmle.label | in : String | +| Test.java:1180:9:1180:11 | out | semmle.label | out | +| Test.java:1185:16:1185:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1185:24:1185:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1186:10:1186:57 | delimitedListToStringArray(...) : String[] [[]] : Object | semmle.label | delimitedListToStringArray(...) : String[] [[]] : Object | +| Test.java:1186:49:1186:50 | in : String | semmle.label | in : String | +| Test.java:1187:9:1187:11 | out | semmle.label | out | +| Test.java:1192:16:1192:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1192:24:1192:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1193:10:1193:36 | getFilename(...) : String | semmle.label | getFilename(...) : String | +| Test.java:1193:34:1193:35 | in : String | semmle.label | in : String | +| Test.java:1194:9:1194:11 | out | semmle.label | out | +| Test.java:1199:16:1199:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1199:24:1199:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1200:10:1200:45 | getFilenameExtension(...) : String | semmle.label | getFilenameExtension(...) : String | +| Test.java:1200:43:1200:44 | in : String | semmle.label | in : String | +| Test.java:1201:9:1201:11 | out | semmle.label | out | +| Test.java:1206:18:1206:37 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:1206:20:1206:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1206:28:1206:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1207:10:1207:48 | mergeStringArrays(...) : String[] [[]] : String | semmle.label | mergeStringArrays(...) : String[] [[]] : String | +| Test.java:1207:46:1207:47 | in : String[] [[]] : String | semmle.label | in : String[] [[]] : String | +| Test.java:1208:9:1208:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1208:25:1208:27 | out : String[] [[]] : String | semmle.label | out : String[] [[]] : String | +| Test.java:1213:18:1213:37 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:1213:20:1213:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1213:28:1213:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1214:10:1214:48 | mergeStringArrays(...) : String[] [[]] : String | semmle.label | mergeStringArrays(...) : String[] [[]] : String | +| Test.java:1214:40:1214:41 | in : String[] [[]] : String | semmle.label | in : String[] [[]] : String | +| Test.java:1215:9:1215:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1215:25:1215:27 | out : String[] [[]] : String | semmle.label | out : String[] [[]] : String | +| Test.java:1220:16:1220:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1220:24:1220:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1221:10:1221:30 | quote(...) : String | semmle.label | quote(...) : String | +| Test.java:1221:28:1221:29 | in : String | semmle.label | in : String | +| Test.java:1222:9:1222:11 | out | semmle.label | out | +| Test.java:1227:16:1227:23 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1228:10:1228:38 | quoteIfString(...) : Object | semmle.label | quoteIfString(...) : Object | +| Test.java:1228:36:1228:37 | in : Object | semmle.label | in : Object | +| Test.java:1229:9:1229:11 | out | semmle.label | out | +| Test.java:1234:18:1234:37 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:1234:20:1234:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1234:28:1234:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1235:10:1235:47 | removeDuplicateStrings(...) : String[] [[]] : String | semmle.label | removeDuplicateStrings(...) : String[] [[]] : String | +| Test.java:1235:45:1235:46 | in : String[] [[]] : String | semmle.label | in : String[] [[]] : String | +| Test.java:1236:9:1236:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1236:25:1236:27 | out : String[] [[]] : String | semmle.label | out : String[] [[]] : String | +| Test.java:1241:16:1241:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1241:24:1241:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1242:10:1242:44 | replace(...) : String | semmle.label | replace(...) : String | +| Test.java:1242:30:1242:31 | in : String | semmle.label | in : String | +| Test.java:1243:9:1243:11 | out | semmle.label | out | +| Test.java:1248:16:1248:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1248:24:1248:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1249:10:1249:44 | replace(...) : String | semmle.label | replace(...) : String | +| Test.java:1249:42:1249:43 | in : String | semmle.label | in : String | +| Test.java:1250:9:1250:11 | out | semmle.label | out | +| Test.java:1255:18:1255:37 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:1255:20:1255:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1255:28:1255:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1256:10:1256:40 | sortStringArray(...) : String[] [[]] : String | semmle.label | sortStringArray(...) : String[] [[]] : String | +| Test.java:1256:38:1256:39 | in : String[] [[]] : String | semmle.label | in : String[] [[]] : String | +| Test.java:1257:9:1257:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1257:25:1257:27 | out : String[] [[]] : String | semmle.label | out : String[] [[]] : String | +| Test.java:1262:16:1262:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1262:24:1262:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1263:10:1263:36 | split(...) : String[] [[]] : Object | semmle.label | split(...) : String[] [[]] : Object | +| Test.java:1263:28:1263:29 | in : String | semmle.label | in : String | +| Test.java:1264:9:1264:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1264:25:1264:27 | out : String[] [[]] : Object | semmle.label | out : String[] [[]] : Object | +| Test.java:1269:18:1269:37 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:1269:20:1269:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1269:28:1269:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1270:10:1270:69 | splitArrayElementsIntoProperties(...) : Properties [] : Object | semmle.label | splitArrayElementsIntoProperties(...) : Properties [] : Object | +| Test.java:1270:55:1270:56 | in : String[] [[]] : String | semmle.label | in : String[] [[]] : String | +| Test.java:1271:9:1271:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1271:19:1271:21 | out : Properties [] : Object | semmle.label | out : Properties [] : Object | +| Test.java:1276:18:1276:37 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:1276:20:1276:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1276:28:1276:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1277:10:1277:69 | splitArrayElementsIntoProperties(...) : Properties [] : Object | semmle.label | splitArrayElementsIntoProperties(...) : Properties [] : Object | +| Test.java:1277:55:1277:56 | in : String[] [[]] : String | semmle.label | in : String[] [[]] : String | +| Test.java:1278:9:1278:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1278:21:1278:23 | out : Properties [] : Object | semmle.label | out : Properties [] : Object | +| Test.java:1283:18:1283:35 | (...)... : String[] | semmle.label | (...)... : String[] | +| Test.java:1283:28:1283:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1284:10:1284:63 | splitArrayElementsIntoProperties(...) : Properties [] : Object | semmle.label | splitArrayElementsIntoProperties(...) : Properties [] : Object | +| Test.java:1284:55:1284:56 | in : String[] | semmle.label | in : String[] | +| Test.java:1285:9:1285:11 | out | semmle.label | out | +| Test.java:1290:16:1290:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1290:24:1290:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1291:10:1291:47 | stripFilenameExtension(...) : String | semmle.label | stripFilenameExtension(...) : String | +| Test.java:1291:45:1291:46 | in : String | semmle.label | in : String | +| Test.java:1292:9:1292:11 | out | semmle.label | out | +| Test.java:1297:21:1297:62 | enumeration(...) : Enumeration [] : Object | semmle.label | enumeration(...) : Enumeration [] : Object | +| Test.java:1297:45:1297:61 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:1297:53:1297:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1298:10:1298:38 | toStringArray(...) : String[] [[]] : Object | semmle.label | toStringArray(...) : String[] [[]] : Object | +| Test.java:1298:36:1298:37 | in : Enumeration [] : Object | semmle.label | in : Enumeration [] : Object | +| Test.java:1299:9:1299:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1299:25:1299:27 | out : String[] [[]] : Object | semmle.label | out : String[] [[]] : Object | +| Test.java:1304:20:1304:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:1304:28:1304:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1305:10:1305:38 | toStringArray(...) : String[] [[]] : Object | semmle.label | toStringArray(...) : String[] [[]] : Object | +| Test.java:1305:36:1305:37 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:1306:9:1306:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1306:25:1306:27 | out : String[] [[]] : Object | semmle.label | out : String[] [[]] : Object | +| Test.java:1311:16:1311:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1311:24:1311:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1312:10:1312:66 | tokenizeToStringArray(...) : String[] [[]] : Object | semmle.label | tokenizeToStringArray(...) : String[] [[]] : Object | +| Test.java:1312:44:1312:45 | in : String | semmle.label | in : String | +| Test.java:1313:9:1313:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1313:25:1313:27 | out : String[] [[]] : Object | semmle.label | out : String[] [[]] : Object | +| Test.java:1318:16:1318:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1318:24:1318:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1319:10:1319:52 | tokenizeToStringArray(...) : String[] [[]] : Object | semmle.label | tokenizeToStringArray(...) : String[] [[]] : Object | +| Test.java:1319:44:1319:45 | in : String | semmle.label | in : String | +| Test.java:1320:9:1320:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1320:25:1320:27 | out : String[] [[]] : Object | semmle.label | out : String[] [[]] : Object | +| Test.java:1325:16:1325:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1325:24:1325:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1326:10:1326:42 | trimAllWhitespace(...) : String | semmle.label | trimAllWhitespace(...) : String | +| Test.java:1326:40:1326:41 | in : String | semmle.label | in : String | +| Test.java:1327:9:1327:11 | out | semmle.label | out | +| Test.java:1332:18:1332:37 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:1332:20:1332:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1332:28:1332:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1333:10:1333:42 | trimArrayElements(...) : String[] [[]] : Object | semmle.label | trimArrayElements(...) : String[] [[]] : Object | +| Test.java:1333:40:1333:41 | in : String[] [[]] : String | semmle.label | in : String[] [[]] : String | +| Test.java:1334:9:1334:28 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:1334:25:1334:27 | out : String[] [[]] : Object | semmle.label | out : String[] [[]] : Object | +| Test.java:1339:16:1339:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1339:24:1339:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1340:10:1340:50 | trimLeadingCharacter(...) : String | semmle.label | trimLeadingCharacter(...) : String | +| Test.java:1340:43:1340:44 | in : String | semmle.label | in : String | +| Test.java:1341:9:1341:11 | out | semmle.label | out | +| Test.java:1346:16:1346:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1346:24:1346:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1347:10:1347:46 | trimLeadingWhitespace(...) : String | semmle.label | trimLeadingWhitespace(...) : String | +| Test.java:1347:44:1347:45 | in : String | semmle.label | in : String | +| Test.java:1348:9:1348:11 | out | semmle.label | out | +| Test.java:1353:16:1353:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1353:24:1353:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1354:10:1354:51 | trimTrailingCharacter(...) : String | semmle.label | trimTrailingCharacter(...) : String | +| Test.java:1354:44:1354:45 | in : String | semmle.label | in : String | +| Test.java:1355:9:1355:11 | out | semmle.label | out | +| Test.java:1360:16:1360:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1360:24:1360:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1361:10:1361:47 | trimTrailingWhitespace(...) : String | semmle.label | trimTrailingWhitespace(...) : String | +| Test.java:1361:45:1361:46 | in : String | semmle.label | in : String | +| Test.java:1362:9:1362:11 | out | semmle.label | out | +| Test.java:1367:16:1367:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1367:24:1367:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1368:10:1368:39 | trimWhitespace(...) : String | semmle.label | trimWhitespace(...) : String | +| Test.java:1368:37:1368:38 | in : String | semmle.label | in : String | +| Test.java:1369:9:1369:11 | out | semmle.label | out | +| Test.java:1374:16:1374:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1374:24:1374:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1375:10:1375:37 | uncapitalize(...) : String | semmle.label | uncapitalize(...) : String | +| Test.java:1375:35:1375:36 | in : String | semmle.label | in : String | +| Test.java:1376:9:1376:11 | out | semmle.label | out | +| Test.java:1381:16:1381:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1381:24:1381:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1382:10:1382:39 | unqualify(...) : String | semmle.label | unqualify(...) : String | +| Test.java:1382:32:1382:33 | in : String | semmle.label | in : String | +| Test.java:1383:9:1383:11 | out | semmle.label | out | +| Test.java:1388:16:1388:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1388:24:1388:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1389:10:1389:34 | unqualify(...) : String | semmle.label | unqualify(...) : String | +| Test.java:1389:32:1389:33 | in : String | semmle.label | in : String | +| Test.java:1390:9:1390:11 | out | semmle.label | out | +| Test.java:1395:16:1395:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1395:24:1395:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1396:10:1396:40 | uriDecode(...) : String | semmle.label | uriDecode(...) : String | +| Test.java:1396:32:1396:33 | in : String | semmle.label | in : String | +| Test.java:1397:9:1397:11 | out | semmle.label | out | +| Test.java:1402:16:1402:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1402:24:1402:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1404:10:1404:40 | resolveStringValue(...) : String | semmle.label | resolveStringValue(...) : String | +| Test.java:1404:38:1404:39 | in : String | semmle.label | in : String | +| Test.java:1405:9:1405:11 | out | semmle.label | out | +| Test.java:1410:16:1410:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1410:24:1410:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1411:10:1411:59 | resolvePlaceholders(...) : String | semmle.label | resolvePlaceholders(...) : String | +| Test.java:1411:50:1411:51 | in : String | semmle.label | in : String | +| Test.java:1412:9:1412:11 | out | semmle.label | out | +| Test.java:1417:16:1417:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1417:24:1417:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1418:10:1418:52 | resolvePlaceholders(...) : String | semmle.label | resolvePlaceholders(...) : String | +| Test.java:1418:50:1418:51 | in : String | semmle.label | in : String | +| Test.java:1419:9:1419:11 | out | semmle.label | out | +subpaths +| Test.java:120:21:120:23 | out : Map [] : Object | Test.java:52:23:52:41 | container : Map [] : Object | Test.java:52:53:52:71 | get(...) : Object | Test.java:120:9:120:24 | getMapValue(...) | +| Test.java:127:20:127:22 | out : AutoPopulatingList [] : Object | Test.java:49:19:49:41 | container : AutoPopulatingList [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:127:9:127:23 | getElement(...) | +| Test.java:134:20:134:22 | out : AutoPopulatingList [] : Object | Test.java:49:19:49:41 | container : AutoPopulatingList [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:134:9:134:23 | getElement(...) | +| Test.java:195:38:195:45 | source(...) : Object | Test.java:53:31:53:44 | element : Object | Test.java:53:56:53:77 | new Object[] : Object[] [[]] : Object | Test.java:195:18:195:46 | newWithArrayElement(...) : Object[] [[]] : Object | +| Test.java:197:20:197:22 | out : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:197:9:197:23 | getElement(...) | +| Test.java:251:38:251:45 | source(...) : Object | Test.java:53:31:53:44 | element : Object | Test.java:53:56:53:77 | new Object[] : Object[] [[]] : Object | Test.java:251:18:251:46 | newWithArrayElement(...) : Object[] [[]] : Object | +| Test.java:253:20:253:22 | out : Collection [] : Object | Test.java:49:19:49:41 | container : Collection [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:253:9:253:23 | getElement(...) | +| Test.java:258:44:258:51 | source(...) : Object | Test.java:54:37:54:50 | element : Object | Test.java:54:117:54:117 | p : Properties [] : Object | Test.java:258:20:258:52 | newPropertiesWithMapKey(...) : Properties [] : Object | +| Test.java:258:44:258:51 | source(...) : Object | Test.java:54:37:54:50 | element : Object | Test.java:54:117:54:117 | p : Properties [] : Object | Test.java:258:20:258:52 | newPropertiesWithMapKey(...) : Properties [] : Object | +| Test.java:260:19:260:21 | out : Map [] : Object | Test.java:51:21:51:39 | container : Map [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:260:9:260:22 | getMapKey(...) | +| Test.java:265:46:265:53 | source(...) : Object | Test.java:55:39:55:52 | element : Object | Test.java:55:119:55:119 | p : Properties [] : Object | Test.java:265:20:265:54 | newPropertiesWithMapValue(...) : Properties [] : Object | +| Test.java:265:46:265:53 | source(...) : Object | Test.java:55:39:55:52 | element : Object | Test.java:55:119:55:119 | p : Properties [] : Object | Test.java:265:20:265:54 | newPropertiesWithMapValue(...) : Properties [] : Object | +| Test.java:267:21:267:23 | out : Map [] : Object | Test.java:52:23:52:41 | container : Map [] : Object | Test.java:52:53:52:71 | get(...) : Object | Test.java:267:9:267:24 | getMapValue(...) | +| Test.java:274:20:274:22 | out : Iterator [] : Object | Test.java:50:19:50:39 | container : Iterator [] : Object | Test.java:50:51:50:66 | next(...) : Object | Test.java:274:9:274:23 | getElement(...) | +| Test.java:281:20:281:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:281:9:281:36 | getElement(...) | +| Test.java:288:19:288:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:288:9:288:22 | getMapKey(...) | +| Test.java:295:19:295:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:295:9:295:22 | getMapKey(...) | +| Test.java:310:20:310:22 | out : CompositeIterator [] : Object | Test.java:50:19:50:39 | container : CompositeIterator [] : Object | Test.java:50:51:50:66 | next(...) : Object | Test.java:310:9:310:23 | getElement(...) | +| Test.java:416:20:416:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:416:9:416:36 | getElement(...) | +| Test.java:423:19:423:21 | out : LinkedMultiValueMap [] : Object | Test.java:51:21:51:39 | container : LinkedMultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:423:9:423:22 | getMapKey(...) | +| Test.java:431:19:431:21 | out : LinkedMultiValueMap [] : Object | Test.java:51:21:51:39 | container : LinkedMultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:431:9:431:22 | getMapKey(...) | +| Test.java:439:20:439:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:439:9:439:36 | getElement(...) | +| Test.java:446:19:446:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:446:9:446:22 | getMapKey(...) | +| Test.java:453:19:453:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:453:9:453:22 | getMapKey(...) | +| Test.java:460:19:460:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:460:9:460:22 | getMapKey(...) | +| Test.java:467:20:467:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:467:9:467:36 | getElement(...) | +| Test.java:474:20:474:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:474:9:474:36 | getElement(...) | +| Test.java:481:20:481:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:481:9:481:36 | getElement(...) | +| Test.java:488:20:488:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:488:9:488:36 | getElement(...) | +| Test.java:495:20:495:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:495:9:495:36 | getElement(...) | +| Test.java:502:20:502:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:502:9:502:36 | getElement(...) | +| Test.java:509:20:509:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:509:9:509:36 | getElement(...) | +| Test.java:516:20:516:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:516:9:516:36 | getElement(...) | +| Test.java:523:19:523:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:523:9:523:22 | getMapKey(...) | +| Test.java:530:19:530:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:530:9:530:22 | getMapKey(...) | +| Test.java:538:19:538:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:538:9:538:22 | getMapKey(...) | +| Test.java:546:19:546:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:546:9:546:22 | getMapKey(...) | +| Test.java:553:19:553:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:553:9:553:22 | getMapKey(...) | +| Test.java:560:19:560:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:560:9:560:22 | getMapKey(...) | +| Test.java:567:20:567:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:567:9:567:36 | getElement(...) | +| Test.java:574:20:574:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:574:9:574:36 | getElement(...) | +| Test.java:602:19:602:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:602:9:602:22 | getMapKey(...) | +| Test.java:609:19:609:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:609:9:609:22 | getMapKey(...) | +| Test.java:616:20:616:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:616:9:616:36 | getElement(...) | +| Test.java:623:20:623:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:623:9:623:36 | getElement(...) | +| Test.java:630:20:630:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:630:9:630:36 | getElement(...) | +| Test.java:637:19:637:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:637:9:637:22 | getMapKey(...) | +| Test.java:644:19:644:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:644:9:644:22 | getMapKey(...) | +| Test.java:651:20:651:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:651:9:651:36 | getElement(...) | +| Test.java:658:20:658:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:658:9:658:36 | getElement(...) | +| Test.java:665:21:665:23 | out : Map [] : Object | Test.java:52:23:52:41 | container : Map [] : Object | Test.java:52:53:52:71 | get(...) : Object | Test.java:665:9:665:24 | getMapValue(...) | +| Test.java:672:21:672:23 | out : Map [] : Object | Test.java:52:23:52:41 | container : Map [] : Object | Test.java:52:53:52:71 | get(...) : Object | Test.java:672:9:672:24 | getMapValue(...) | +| Test.java:679:19:679:21 | out : Map [] : Object | Test.java:51:21:51:39 | container : Map [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:679:9:679:22 | getMapKey(...) | +| Test.java:686:19:686:21 | out : Map [] : Object | Test.java:51:21:51:39 | container : Map [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:686:9:686:22 | getMapKey(...) | +| Test.java:693:20:693:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:693:9:693:36 | getElement(...) | +| Test.java:700:19:700:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:700:9:700:22 | getMapKey(...) | +| Test.java:705:38:705:45 | source(...) : Object | Test.java:53:31:53:44 | element : Object | Test.java:53:56:53:77 | new Object[] : Object[] [[]] : Object | Test.java:705:18:705:46 | newWithArrayElement(...) : Object[] [[]] : Object | +| Test.java:707:25:707:27 | out : Object[] [[]] : Object | Test.java:48:24:48:36 | container : Object[] [[]] : Object | Test.java:48:48:48:59 | ...[...] : Object | Test.java:707:9:707:28 | getArrayElement(...) | +| Test.java:940:19:940:21 | out : Map [] : Object | Test.java:51:21:51:39 | container : Map [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:940:9:940:22 | getMapKey(...) | +| Test.java:948:21:948:23 | out : Map [] : Object | Test.java:52:23:52:41 | container : Map [] : Object | Test.java:52:53:52:71 | get(...) : Object | Test.java:948:9:948:24 | getMapValue(...) | +| Test.java:1026:25:1026:27 | out : String[] [[]] : String | Test.java:48:24:48:36 | container : String[] [[]] : String | Test.java:48:48:48:59 | ...[...] : String | Test.java:1026:9:1026:28 | getArrayElement(...) | +| Test.java:1031:48:1031:55 | source(...) : Object | Test.java:53:31:53:44 | element : Object | Test.java:53:56:53:77 | new Object[] : Object[] [[]] : Object | Test.java:1031:28:1031:56 | newWithArrayElement(...) : Object[] [[]] : Object | +| Test.java:1138:20:1138:22 | out : Set [] : Object | Test.java:49:19:49:41 | container : Set [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:1138:9:1138:23 | getElement(...) | +| Test.java:1208:25:1208:27 | out : String[] [[]] : String | Test.java:48:24:48:36 | container : String[] [[]] : String | Test.java:48:48:48:59 | ...[...] : String | Test.java:1208:9:1208:28 | getArrayElement(...) | +| Test.java:1215:25:1215:27 | out : String[] [[]] : String | Test.java:48:24:48:36 | container : String[] [[]] : String | Test.java:48:48:48:59 | ...[...] : String | Test.java:1215:9:1215:28 | getArrayElement(...) | +| Test.java:1236:25:1236:27 | out : String[] [[]] : String | Test.java:48:24:48:36 | container : String[] [[]] : String | Test.java:48:48:48:59 | ...[...] : String | Test.java:1236:9:1236:28 | getArrayElement(...) | +| Test.java:1257:25:1257:27 | out : String[] [[]] : String | Test.java:48:24:48:36 | container : String[] [[]] : String | Test.java:48:48:48:59 | ...[...] : String | Test.java:1257:9:1257:28 | getArrayElement(...) | +| Test.java:1271:19:1271:21 | out : Properties [] : Object | Test.java:51:21:51:39 | container : Properties [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:1271:9:1271:22 | getMapKey(...) | +| Test.java:1278:21:1278:23 | out : Properties [] : Object | Test.java:52:23:52:41 | container : Properties [] : Object | Test.java:52:53:52:71 | get(...) : Object | Test.java:1278:9:1278:24 | getMapValue(...) | +testFailures diff --git a/java/ql/test/library-tests/frameworks/spring/validation/test.expected b/java/ql/test/library-tests/frameworks/spring/validation/test.expected index e69de29bb2d..954c26e2c15 100644 --- a/java/ql/test/library-tests/frameworks/spring/validation/test.expected +++ b/java/ql/test/library-tests/frameworks/spring/validation/test.expected @@ -0,0 +1,132 @@ +models +| 1 | Summary: org.springframework.validation; Errors; true; addAllErrors; ; ; Argument[0]; Argument[this]; taint; manual | +| 2 | Summary: org.springframework.validation; Errors; true; getAllErrors; ; ; Argument[this]; ReturnValue; taint; manual | +| 3 | Summary: org.springframework.validation; Errors; true; getFieldError; ; ; Argument[this]; ReturnValue; taint; manual | +| 4 | Summary: org.springframework.validation; Errors; true; getGlobalError; ; ; Argument[this]; ReturnValue; taint; manual | +| 5 | Summary: org.springframework.validation; Errors; true; getGlobalErrors; ; ; Argument[this]; ReturnValue; taint; manual | +| 6 | Summary: org.springframework.validation; Errors; true; reject; ; ; Argument[0]; Argument[this]; taint; manual | +| 7 | Summary: org.springframework.validation; Errors; true; reject; ; ; Argument[1].ArrayElement; Argument[this]; taint; manual | +| 8 | Summary: org.springframework.validation; Errors; true; reject; ; ; Argument[2]; Argument[this]; taint; manual | +| 9 | Summary: org.springframework.validation; Errors; true; rejectValue; ; ; Argument[1]; Argument[this]; taint; manual | +| 10 | Summary: org.springframework.validation; Errors; true; rejectValue; ; ; Argument[3]; Argument[this]; taint; manual | +| 11 | Summary: org.springframework.validation; Errors; true; rejectValue; (java.lang.String,java.lang.String,java.lang.Object[],java.lang.String); ; Argument[2].ArrayElement; Argument[this]; taint; manual | +| 12 | Summary: org.springframework.validation; Errors; true; rejectValue; (java.lang.String,java.lang.String,java.lang.String); ; Argument[2]; Argument[this]; taint; manual | +edges +| Test.java:6:32:6:47 | (...)... : Errors | Test.java:13:22:13:33 | sourceErrs(...) : Errors | provenance | | +| Test.java:6:32:6:47 | (...)... : Errors | Test.java:16:10:16:21 | sourceErrs(...) : Errors | provenance | | +| Test.java:6:32:6:47 | (...)... : Errors | Test.java:18:10:18:21 | sourceErrs(...) : Errors | provenance | | +| Test.java:6:32:6:47 | (...)... : Errors | Test.java:19:10:19:21 | sourceErrs(...) : Errors | provenance | | +| Test.java:6:32:6:47 | (...)... : Errors | Test.java:21:10:21:21 | sourceErrs(...) : Errors | provenance | | +| Test.java:6:32:6:47 | (...)... : Errors | Test.java:22:10:22:21 | sourceErrs(...) : Errors | provenance | | +| Test.java:6:40:6:47 | source(...) : Object | Test.java:6:32:6:47 | (...)... : Errors | provenance | | +| Test.java:13:5:13:7 | es0 [post update] : Errors | Test.java:14:10:14:12 | es0 | provenance | | +| Test.java:13:22:13:33 | sourceErrs(...) : Errors | Test.java:13:5:13:7 | es0 [post update] : Errors | provenance | MaD:1 | +| Test.java:16:10:16:21 | sourceErrs(...) : Errors | Test.java:16:10:16:36 | getAllErrors(...) | provenance | MaD:2 | +| Test.java:18:10:18:21 | sourceErrs(...) : Errors | Test.java:18:10:18:37 | getFieldError(...) | provenance | MaD:3 | +| Test.java:19:10:19:21 | sourceErrs(...) : Errors | Test.java:19:10:19:44 | getFieldError(...) | provenance | MaD:3 | +| Test.java:21:10:21:21 | sourceErrs(...) : Errors | Test.java:21:10:21:38 | getGlobalError(...) | provenance | MaD:4 | +| Test.java:22:10:22:21 | sourceErrs(...) : Errors | Test.java:22:10:22:39 | getGlobalErrors(...) | provenance | MaD:5 | +| Test.java:25:5:25:7 | es1 [post update] : Errors | Test.java:26:10:26:12 | es1 | provenance | | +| Test.java:25:16:25:31 | (...)... : String | Test.java:25:5:25:7 | es1 [post update] : Errors | provenance | MaD:6 | +| Test.java:25:24:25:31 | source(...) : Object | Test.java:25:16:25:31 | (...)... : String | provenance | | +| Test.java:29:5:29:7 | es2 [post update] : Errors | Test.java:30:10:30:12 | es2 | provenance | | +| Test.java:29:16:29:31 | (...)... : String | Test.java:29:5:29:7 | es2 [post update] : Errors | provenance | MaD:6 | +| Test.java:29:24:29:31 | source(...) : Object | Test.java:29:16:29:31 | (...)... : String | provenance | | +| Test.java:33:5:33:7 | es3 [post update] : Errors | Test.java:34:10:34:12 | es3 | provenance | | +| Test.java:33:16:33:31 | (...)... : String | Test.java:33:5:33:7 | es3 [post update] : Errors | provenance | MaD:6 | +| Test.java:33:24:33:31 | source(...) : Object | Test.java:33:16:33:31 | (...)... : String | provenance | | +| Test.java:38:21:38:40 | {...} : Object[] [[]] : String | Test.java:40:12:40:13 | in | provenance | | +| Test.java:38:23:38:38 | (...)... : String | Test.java:38:21:38:40 | {...} : Object[] [[]] : String | provenance | | +| Test.java:38:31:38:38 | source(...) : Object | Test.java:38:23:38:38 | (...)... : String | provenance | | +| Test.java:45:7:45:9 | es5 [post update] : Errors | Test.java:46:12:46:14 | es5 | provenance | | +| Test.java:45:28:45:43 | (...)... : String | Test.java:45:7:45:9 | es5 [post update] : Errors | provenance | MaD:8 | +| Test.java:45:36:45:43 | source(...) : Object | Test.java:45:28:45:43 | (...)... : String | provenance | | +| Test.java:50:5:50:7 | es6 [post update] : Errors | Test.java:51:10:51:12 | es6 | provenance | | +| Test.java:50:16:50:31 | (...)... : String | Test.java:50:5:50:7 | es6 [post update] : Errors | provenance | MaD:6 | +| Test.java:50:24:50:31 | source(...) : Object | Test.java:50:16:50:31 | (...)... : String | provenance | | +| Test.java:54:5:54:7 | es7 [post update] : Errors | Test.java:55:10:55:12 | es7 | provenance | | +| Test.java:54:20:54:35 | (...)... : String | Test.java:54:5:54:7 | es7 [post update] : Errors | provenance | MaD:7 | +| Test.java:54:28:54:35 | source(...) : Object | Test.java:54:20:54:35 | (...)... : String | provenance | | +| Test.java:58:5:58:7 | es8 [post update] : Errors | Test.java:59:10:59:12 | es8 | provenance | | +| Test.java:58:25:58:40 | (...)... : String | Test.java:58:5:58:7 | es8 [post update] : Errors | provenance | MaD:9 | +| Test.java:58:33:58:40 | source(...) : Object | Test.java:58:25:58:40 | (...)... : String | provenance | | +| Test.java:62:19:62:28 | {...} : Object[] [[]] : Object | Test.java:63:29:63:30 | in : Object[] [[]] : Object | provenance | | +| Test.java:62:20:62:27 | source(...) : Object | Test.java:62:19:62:28 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:63:5:63:7 | es9 [post update] : Errors | Test.java:64:10:64:12 | es9 | provenance | | +| Test.java:63:29:63:30 | in : Object[] [[]] : Object | Test.java:63:5:63:7 | es9 [post update] : Errors | provenance | MaD:11 | +| Test.java:67:5:67:8 | es10 [post update] : Errors | Test.java:68:10:68:13 | es10 | provenance | | +| Test.java:67:36:67:51 | (...)... : String | Test.java:67:5:67:8 | es10 [post update] : Errors | provenance | MaD:10 | +| Test.java:67:44:67:51 | source(...) : Object | Test.java:67:36:67:51 | (...)... : String | provenance | | +| Test.java:71:5:71:8 | es11 [post update] : Errors | Test.java:72:10:72:13 | es11 | provenance | | +| Test.java:71:26:71:41 | (...)... : String | Test.java:71:5:71:8 | es11 [post update] : Errors | provenance | MaD:9 | +| Test.java:71:34:71:41 | source(...) : Object | Test.java:71:26:71:41 | (...)... : String | provenance | | +| Test.java:75:5:75:8 | es12 [post update] : Errors | Test.java:76:10:76:13 | es12 | provenance | | +| Test.java:75:30:75:45 | (...)... : String | Test.java:75:5:75:8 | es12 [post update] : Errors | provenance | MaD:12 | +| Test.java:75:38:75:45 | source(...) : Object | Test.java:75:30:75:45 | (...)... : String | provenance | | +nodes +| Test.java:6:32:6:47 | (...)... : Errors | semmle.label | (...)... : Errors | +| Test.java:6:40:6:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:13:5:13:7 | es0 [post update] : Errors | semmle.label | es0 [post update] : Errors | +| Test.java:13:22:13:33 | sourceErrs(...) : Errors | semmle.label | sourceErrs(...) : Errors | +| Test.java:14:10:14:12 | es0 | semmle.label | es0 | +| Test.java:16:10:16:21 | sourceErrs(...) : Errors | semmle.label | sourceErrs(...) : Errors | +| Test.java:16:10:16:36 | getAllErrors(...) | semmle.label | getAllErrors(...) | +| Test.java:18:10:18:21 | sourceErrs(...) : Errors | semmle.label | sourceErrs(...) : Errors | +| Test.java:18:10:18:37 | getFieldError(...) | semmle.label | getFieldError(...) | +| Test.java:19:10:19:21 | sourceErrs(...) : Errors | semmle.label | sourceErrs(...) : Errors | +| Test.java:19:10:19:44 | getFieldError(...) | semmle.label | getFieldError(...) | +| Test.java:21:10:21:21 | sourceErrs(...) : Errors | semmle.label | sourceErrs(...) : Errors | +| Test.java:21:10:21:38 | getGlobalError(...) | semmle.label | getGlobalError(...) | +| Test.java:22:10:22:21 | sourceErrs(...) : Errors | semmle.label | sourceErrs(...) : Errors | +| Test.java:22:10:22:39 | getGlobalErrors(...) | semmle.label | getGlobalErrors(...) | +| Test.java:25:5:25:7 | es1 [post update] : Errors | semmle.label | es1 [post update] : Errors | +| Test.java:25:16:25:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:25:24:25:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:26:10:26:12 | es1 | semmle.label | es1 | +| Test.java:29:5:29:7 | es2 [post update] : Errors | semmle.label | es2 [post update] : Errors | +| Test.java:29:16:29:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:29:24:29:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:30:10:30:12 | es2 | semmle.label | es2 | +| Test.java:33:5:33:7 | es3 [post update] : Errors | semmle.label | es3 [post update] : Errors | +| Test.java:33:16:33:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:33:24:33:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:34:10:34:12 | es3 | semmle.label | es3 | +| Test.java:38:21:38:40 | {...} : Object[] [[]] : String | semmle.label | {...} : Object[] [[]] : String | +| Test.java:38:23:38:38 | (...)... : String | semmle.label | (...)... : String | +| Test.java:38:31:38:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:40:12:40:13 | in | semmle.label | in | +| Test.java:45:7:45:9 | es5 [post update] : Errors | semmle.label | es5 [post update] : Errors | +| Test.java:45:28:45:43 | (...)... : String | semmle.label | (...)... : String | +| Test.java:45:36:45:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:46:12:46:14 | es5 | semmle.label | es5 | +| Test.java:50:5:50:7 | es6 [post update] : Errors | semmle.label | es6 [post update] : Errors | +| Test.java:50:16:50:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:50:24:50:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:51:10:51:12 | es6 | semmle.label | es6 | +| Test.java:54:5:54:7 | es7 [post update] : Errors | semmle.label | es7 [post update] : Errors | +| Test.java:54:20:54:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:54:28:54:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:55:10:55:12 | es7 | semmle.label | es7 | +| Test.java:58:5:58:7 | es8 [post update] : Errors | semmle.label | es8 [post update] : Errors | +| Test.java:58:25:58:40 | (...)... : String | semmle.label | (...)... : String | +| Test.java:58:33:58:40 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:59:10:59:12 | es8 | semmle.label | es8 | +| Test.java:62:19:62:28 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:62:20:62:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:63:5:63:7 | es9 [post update] : Errors | semmle.label | es9 [post update] : Errors | +| Test.java:63:29:63:30 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:64:10:64:12 | es9 | semmle.label | es9 | +| Test.java:67:5:67:8 | es10 [post update] : Errors | semmle.label | es10 [post update] : Errors | +| Test.java:67:36:67:51 | (...)... : String | semmle.label | (...)... : String | +| Test.java:67:44:67:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:68:10:68:13 | es10 | semmle.label | es10 | +| Test.java:71:5:71:8 | es11 [post update] : Errors | semmle.label | es11 [post update] : Errors | +| Test.java:71:26:71:41 | (...)... : String | semmle.label | (...)... : String | +| Test.java:71:34:71:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:72:10:72:13 | es11 | semmle.label | es11 | +| Test.java:75:5:75:8 | es12 [post update] : Errors | semmle.label | es12 [post update] : Errors | +| Test.java:75:30:75:45 | (...)... : String | semmle.label | (...)... : String | +| Test.java:75:38:75:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:76:10:76:13 | es12 | semmle.label | es12 | +subpaths +testFailures diff --git a/java/ql/test/library-tests/frameworks/spring/webmultipart/test.expected b/java/ql/test/library-tests/frameworks/spring/webmultipart/test.expected index e69de29bb2d..d7389eef212 100644 --- a/java/ql/test/library-tests/frameworks/spring/webmultipart/test.expected +++ b/java/ql/test/library-tests/frameworks/spring/webmultipart/test.expected @@ -0,0 +1,176 @@ +models +| 1 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 2 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 3 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 4 | Summary: org.springframework.web.multipart; MultipartFile; true; getBytes; ; ; Argument[this]; ReturnValue; taint; manual | +| 5 | Summary: org.springframework.web.multipart; MultipartFile; true; getInputStream; ; ; Argument[this]; ReturnValue; taint; manual | +| 6 | Summary: org.springframework.web.multipart; MultipartFile; true; getName; ; ; Argument[this]; ReturnValue; taint; manual | +| 7 | Summary: org.springframework.web.multipart; MultipartFile; true; getOriginalFilename; ; ; Argument[this]; ReturnValue; taint; manual | +| 8 | Summary: org.springframework.web.multipart; MultipartFile; true; getResource; ; ; Argument[this]; ReturnValue; taint; manual | +| 9 | Summary: org.springframework.web.multipart; MultipartHttpServletRequest; true; getMultipartHeaders; ; ; Argument[this]; ReturnValue; taint; manual | +| 10 | Summary: org.springframework.web.multipart; MultipartHttpServletRequest; true; getRequestHeaders; ; ; Argument[this]; ReturnValue; taint; manual | +| 11 | Summary: org.springframework.web.multipart; MultipartRequest; true; getFile; ; ; Argument[this]; ReturnValue; taint; manual | +| 12 | Summary: org.springframework.web.multipart; MultipartRequest; true; getFileMap; ; ; Argument[this]; ReturnValue.MapValue; taint; manual | +| 13 | Summary: org.springframework.web.multipart; MultipartRequest; true; getFileNames; ; ; Argument[this]; ReturnValue.Element; taint; manual | +| 14 | Summary: org.springframework.web.multipart; MultipartRequest; true; getFiles; ; ; Argument[this]; ReturnValue.Element; taint; manual | +| 15 | Summary: org.springframework.web.multipart; MultipartRequest; true; getMultiFileMap; ; ; Argument[this]; ReturnValue.MapValue; taint; manual | +| 16 | Summary: org.springframework.web.multipart; MultipartResolver; true; resolveMultipart; ; ; Argument[0]; ReturnValue; taint; manual | +edges +| Test.java:20:20:20:37 | container : Iterator [] : Object | Test.java:20:49:20:57 | container : Iterator [] : Object | provenance | | +| Test.java:20:49:20:57 | container : Iterator [] : Object | Test.java:20:49:20:64 | next(...) : Object | provenance | MaD:2 | +| Test.java:21:20:21:39 | container : List [] : Object | Test.java:21:51:21:59 | container : List [] : Object | provenance | | +| Test.java:21:51:21:59 | container : List [] : Object | Test.java:21:51:21:70 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:21:51:21:70 | iterator(...) : Iterator [] : Object | Test.java:21:51:21:77 | next(...) : Object | provenance | MaD:2 | +| Test.java:22:21:22:33 | container : Map [] : Object | Test.java:22:45:22:53 | container : Map [] : Object | provenance | | +| Test.java:22:21:22:33 | container : MultiValueMap [] : Object | Test.java:22:45:22:53 | container : MultiValueMap [] : Object | provenance | | +| Test.java:22:45:22:53 | container : Map [] : Object | Test.java:22:45:22:63 | get(...) : Object | provenance | MaD:3 | +| Test.java:22:45:22:53 | container : MultiValueMap [] : Object | Test.java:22:45:22:63 | get(...) : Object | provenance | MaD:3 | +| Test.java:31:23:31:45 | (...)... : MultipartFile | Test.java:32:10:32:11 | in : MultipartFile | provenance | | +| Test.java:31:38:31:45 | source(...) : Object | Test.java:31:23:31:45 | (...)... : MultipartFile | provenance | | +| Test.java:32:10:32:11 | in : MultipartFile | Test.java:32:10:32:22 | getBytes(...) : byte[] | provenance | MaD:4 | +| Test.java:32:10:32:22 | getBytes(...) : byte[] | Test.java:33:9:33:11 | out | provenance | | +| Test.java:38:23:38:45 | (...)... : MultipartFile | Test.java:39:10:39:11 | in : MultipartFile | provenance | | +| Test.java:38:38:38:45 | source(...) : Object | Test.java:38:23:38:45 | (...)... : MultipartFile | provenance | | +| Test.java:39:10:39:11 | in : MultipartFile | Test.java:39:10:39:28 | getInputStream(...) : InputStream | provenance | MaD:5 | +| Test.java:39:10:39:28 | getInputStream(...) : InputStream | Test.java:40:9:40:11 | out | provenance | | +| Test.java:45:23:45:45 | (...)... : MultipartFile | Test.java:46:10:46:11 | in : MultipartFile | provenance | | +| Test.java:45:38:45:45 | source(...) : Object | Test.java:45:23:45:45 | (...)... : MultipartFile | provenance | | +| Test.java:46:10:46:11 | in : MultipartFile | Test.java:46:10:46:21 | getName(...) : String | provenance | MaD:6 | +| Test.java:46:10:46:21 | getName(...) : String | Test.java:47:9:47:11 | out | provenance | | +| Test.java:52:23:52:45 | (...)... : MultipartFile | Test.java:53:10:53:11 | in : MultipartFile | provenance | | +| Test.java:52:38:52:45 | source(...) : Object | Test.java:52:23:52:45 | (...)... : MultipartFile | provenance | | +| Test.java:53:10:53:11 | in : MultipartFile | Test.java:53:10:53:33 | getOriginalFilename(...) : String | provenance | MaD:7 | +| Test.java:53:10:53:33 | getOriginalFilename(...) : String | Test.java:54:9:54:11 | out | provenance | | +| Test.java:59:23:59:45 | (...)... : MultipartFile | Test.java:60:10:60:11 | in : MultipartFile | provenance | | +| Test.java:59:38:59:45 | source(...) : Object | Test.java:59:23:59:45 | (...)... : MultipartFile | provenance | | +| Test.java:60:10:60:11 | in : MultipartFile | Test.java:60:10:60:25 | getResource(...) : Resource | provenance | MaD:8 | +| Test.java:60:10:60:25 | getResource(...) : Resource | Test.java:61:9:61:11 | out | provenance | | +| Test.java:66:37:66:73 | (...)... : MultipartHttpServletRequest | Test.java:67:10:67:11 | in : MultipartHttpServletRequest | provenance | | +| Test.java:66:66:66:73 | source(...) : Object | Test.java:66:37:66:73 | (...)... : MultipartHttpServletRequest | provenance | | +| Test.java:67:10:67:11 | in : MultipartHttpServletRequest | Test.java:67:10:67:37 | getMultipartHeaders(...) : HttpHeaders | provenance | MaD:9 | +| Test.java:67:10:67:37 | getMultipartHeaders(...) : HttpHeaders | Test.java:68:9:68:11 | out | provenance | | +| Test.java:73:37:73:73 | (...)... : MultipartHttpServletRequest | Test.java:74:10:74:11 | in : MultipartHttpServletRequest | provenance | | +| Test.java:73:66:73:73 | source(...) : Object | Test.java:73:37:73:73 | (...)... : MultipartHttpServletRequest | provenance | | +| Test.java:74:10:74:11 | in : MultipartHttpServletRequest | Test.java:74:10:74:31 | getRequestHeaders(...) : HttpHeaders | provenance | MaD:10 | +| Test.java:74:10:74:31 | getRequestHeaders(...) : HttpHeaders | Test.java:75:9:75:11 | out | provenance | | +| Test.java:80:26:80:51 | (...)... : MultipartRequest | Test.java:81:10:81:11 | in : MultipartRequest | provenance | | +| Test.java:80:44:80:51 | source(...) : Object | Test.java:80:26:80:51 | (...)... : MultipartRequest | provenance | | +| Test.java:81:10:81:11 | in : MultipartRequest | Test.java:81:10:81:25 | getFile(...) : MultipartFile | provenance | MaD:11 | +| Test.java:81:10:81:25 | getFile(...) : MultipartFile | Test.java:82:9:82:11 | out | provenance | | +| Test.java:87:26:87:51 | (...)... : MultipartRequest | Test.java:88:10:88:11 | in : MultipartRequest | provenance | | +| Test.java:87:44:87:51 | source(...) : Object | Test.java:87:26:87:51 | (...)... : MultipartRequest | provenance | | +| Test.java:88:10:88:11 | in : MultipartRequest | Test.java:88:10:88:24 | getFileMap(...) : Map [] : Object | provenance | MaD:12 | +| Test.java:88:10:88:24 | getFileMap(...) : Map [] : Object | Test.java:89:21:89:23 | out : Map [] : Object | provenance | | +| Test.java:89:21:89:23 | out : Map [] : Object | Test.java:22:21:22:33 | container : Map [] : Object | provenance | | +| Test.java:89:21:89:23 | out : Map [] : Object | Test.java:89:9:89:24 | getMapValue(...) | provenance | MaD:3 | +| Test.java:94:26:94:51 | (...)... : MultipartRequest | Test.java:95:10:95:11 | in : MultipartRequest | provenance | | +| Test.java:94:44:94:51 | source(...) : Object | Test.java:94:26:94:51 | (...)... : MultipartRequest | provenance | | +| Test.java:95:10:95:11 | in : MultipartRequest | Test.java:95:10:95:26 | getFileNames(...) : Iterator [] : Object | provenance | MaD:13 | +| Test.java:95:10:95:26 | getFileNames(...) : Iterator [] : Object | Test.java:96:20:96:22 | out : Iterator [] : Object | provenance | | +| Test.java:96:20:96:22 | out : Iterator [] : Object | Test.java:20:20:20:37 | container : Iterator [] : Object | provenance | | +| Test.java:96:20:96:22 | out : Iterator [] : Object | Test.java:96:9:96:23 | getElement(...) | provenance | MaD:2 | +| Test.java:101:26:101:51 | (...)... : MultipartRequest | Test.java:102:10:102:11 | in : MultipartRequest | provenance | | +| Test.java:101:44:101:51 | source(...) : Object | Test.java:101:26:101:51 | (...)... : MultipartRequest | provenance | | +| Test.java:102:10:102:11 | in : MultipartRequest | Test.java:102:10:102:26 | getFiles(...) : List [] : Object | provenance | MaD:14 | +| Test.java:102:10:102:26 | getFiles(...) : List [] : Object | Test.java:103:20:103:22 | out : List [] : Object | provenance | | +| Test.java:103:20:103:22 | out : List [] : Object | Test.java:21:20:21:39 | container : List [] : Object | provenance | | +| Test.java:103:20:103:22 | out : List [] : Object | Test.java:103:9:103:23 | getElement(...) | provenance | MaD:1 | +| Test.java:108:26:108:51 | (...)... : MultipartRequest | Test.java:109:10:109:11 | in : MultipartRequest | provenance | | +| Test.java:108:44:108:51 | source(...) : Object | Test.java:108:26:108:51 | (...)... : MultipartRequest | provenance | | +| Test.java:109:10:109:11 | in : MultipartRequest | Test.java:109:10:109:29 | getMultiFileMap(...) : MultiValueMap [] : Object | provenance | MaD:15 | +| Test.java:109:10:109:29 | getMultiFileMap(...) : MultiValueMap [] : Object | Test.java:110:21:110:23 | out : MultiValueMap [] : Object | provenance | | +| Test.java:110:21:110:23 | out : MultiValueMap [] : Object | Test.java:22:21:22:33 | container : MultiValueMap [] : Object | provenance | | +| Test.java:110:21:110:23 | out : MultiValueMap [] : Object | Test.java:110:9:110:24 | getMapValue(...) | provenance | MaD:3 | +| Test.java:115:28:115:55 | (...)... : HttpServletRequest | Test.java:117:36:117:37 | in : HttpServletRequest | provenance | | +| Test.java:115:48:115:55 | source(...) : Object | Test.java:115:28:115:55 | (...)... : HttpServletRequest | provenance | | +| Test.java:117:10:117:38 | resolveMultipart(...) : MultipartHttpServletRequest | Test.java:118:9:118:11 | out | provenance | | +| Test.java:117:36:117:37 | in : HttpServletRequest | Test.java:117:10:117:38 | resolveMultipart(...) : MultipartHttpServletRequest | provenance | MaD:16 | +nodes +| Test.java:20:20:20:37 | container : Iterator [] : Object | semmle.label | container : Iterator [] : Object | +| Test.java:20:49:20:57 | container : Iterator [] : Object | semmle.label | container : Iterator [] : Object | +| Test.java:20:49:20:64 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:21:20:21:39 | container : List [] : Object | semmle.label | container : List [] : Object | +| Test.java:21:51:21:59 | container : List [] : Object | semmle.label | container : List [] : Object | +| Test.java:21:51:21:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:21:51:21:77 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:22:21:22:33 | container : Map [] : Object | semmle.label | container : Map [] : Object | +| Test.java:22:21:22:33 | container : MultiValueMap [] : Object | semmle.label | container : MultiValueMap [] : Object | +| Test.java:22:45:22:53 | container : Map [] : Object | semmle.label | container : Map [] : Object | +| Test.java:22:45:22:53 | container : MultiValueMap [] : Object | semmle.label | container : MultiValueMap [] : Object | +| Test.java:22:45:22:63 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:22:45:22:63 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:31:23:31:45 | (...)... : MultipartFile | semmle.label | (...)... : MultipartFile | +| Test.java:31:38:31:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:32:10:32:11 | in : MultipartFile | semmle.label | in : MultipartFile | +| Test.java:32:10:32:22 | getBytes(...) : byte[] | semmle.label | getBytes(...) : byte[] | +| Test.java:33:9:33:11 | out | semmle.label | out | +| Test.java:38:23:38:45 | (...)... : MultipartFile | semmle.label | (...)... : MultipartFile | +| Test.java:38:38:38:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:39:10:39:11 | in : MultipartFile | semmle.label | in : MultipartFile | +| Test.java:39:10:39:28 | getInputStream(...) : InputStream | semmle.label | getInputStream(...) : InputStream | +| Test.java:40:9:40:11 | out | semmle.label | out | +| Test.java:45:23:45:45 | (...)... : MultipartFile | semmle.label | (...)... : MultipartFile | +| Test.java:45:38:45:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:46:10:46:11 | in : MultipartFile | semmle.label | in : MultipartFile | +| Test.java:46:10:46:21 | getName(...) : String | semmle.label | getName(...) : String | +| Test.java:47:9:47:11 | out | semmle.label | out | +| Test.java:52:23:52:45 | (...)... : MultipartFile | semmle.label | (...)... : MultipartFile | +| Test.java:52:38:52:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:53:10:53:11 | in : MultipartFile | semmle.label | in : MultipartFile | +| Test.java:53:10:53:33 | getOriginalFilename(...) : String | semmle.label | getOriginalFilename(...) : String | +| Test.java:54:9:54:11 | out | semmle.label | out | +| Test.java:59:23:59:45 | (...)... : MultipartFile | semmle.label | (...)... : MultipartFile | +| Test.java:59:38:59:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:60:10:60:11 | in : MultipartFile | semmle.label | in : MultipartFile | +| Test.java:60:10:60:25 | getResource(...) : Resource | semmle.label | getResource(...) : Resource | +| Test.java:61:9:61:11 | out | semmle.label | out | +| Test.java:66:37:66:73 | (...)... : MultipartHttpServletRequest | semmle.label | (...)... : MultipartHttpServletRequest | +| Test.java:66:66:66:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:67:10:67:11 | in : MultipartHttpServletRequest | semmle.label | in : MultipartHttpServletRequest | +| Test.java:67:10:67:37 | getMultipartHeaders(...) : HttpHeaders | semmle.label | getMultipartHeaders(...) : HttpHeaders | +| Test.java:68:9:68:11 | out | semmle.label | out | +| Test.java:73:37:73:73 | (...)... : MultipartHttpServletRequest | semmle.label | (...)... : MultipartHttpServletRequest | +| Test.java:73:66:73:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:74:10:74:11 | in : MultipartHttpServletRequest | semmle.label | in : MultipartHttpServletRequest | +| Test.java:74:10:74:31 | getRequestHeaders(...) : HttpHeaders | semmle.label | getRequestHeaders(...) : HttpHeaders | +| Test.java:75:9:75:11 | out | semmle.label | out | +| Test.java:80:26:80:51 | (...)... : MultipartRequest | semmle.label | (...)... : MultipartRequest | +| Test.java:80:44:80:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:81:10:81:11 | in : MultipartRequest | semmle.label | in : MultipartRequest | +| Test.java:81:10:81:25 | getFile(...) : MultipartFile | semmle.label | getFile(...) : MultipartFile | +| Test.java:82:9:82:11 | out | semmle.label | out | +| Test.java:87:26:87:51 | (...)... : MultipartRequest | semmle.label | (...)... : MultipartRequest | +| Test.java:87:44:87:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:88:10:88:11 | in : MultipartRequest | semmle.label | in : MultipartRequest | +| Test.java:88:10:88:24 | getFileMap(...) : Map [] : Object | semmle.label | getFileMap(...) : Map [] : Object | +| Test.java:89:9:89:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:89:21:89:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:94:26:94:51 | (...)... : MultipartRequest | semmle.label | (...)... : MultipartRequest | +| Test.java:94:44:94:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:95:10:95:11 | in : MultipartRequest | semmle.label | in : MultipartRequest | +| Test.java:95:10:95:26 | getFileNames(...) : Iterator [] : Object | semmle.label | getFileNames(...) : Iterator [] : Object | +| Test.java:96:9:96:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:96:20:96:22 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:101:26:101:51 | (...)... : MultipartRequest | semmle.label | (...)... : MultipartRequest | +| Test.java:101:44:101:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:102:10:102:11 | in : MultipartRequest | semmle.label | in : MultipartRequest | +| Test.java:102:10:102:26 | getFiles(...) : List [] : Object | semmle.label | getFiles(...) : List [] : Object | +| Test.java:103:9:103:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:103:20:103:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:108:26:108:51 | (...)... : MultipartRequest | semmle.label | (...)... : MultipartRequest | +| Test.java:108:44:108:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:109:10:109:11 | in : MultipartRequest | semmle.label | in : MultipartRequest | +| Test.java:109:10:109:29 | getMultiFileMap(...) : MultiValueMap [] : Object | semmle.label | getMultiFileMap(...) : MultiValueMap [] : Object | +| Test.java:110:9:110:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:110:21:110:23 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:115:28:115:55 | (...)... : HttpServletRequest | semmle.label | (...)... : HttpServletRequest | +| Test.java:115:48:115:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:117:10:117:38 | resolveMultipart(...) : MultipartHttpServletRequest | semmle.label | resolveMultipart(...) : MultipartHttpServletRequest | +| Test.java:117:36:117:37 | in : HttpServletRequest | semmle.label | in : HttpServletRequest | +| Test.java:118:9:118:11 | out | semmle.label | out | +subpaths +| Test.java:89:21:89:23 | out : Map [] : Object | Test.java:22:21:22:33 | container : Map [] : Object | Test.java:22:45:22:63 | get(...) : Object | Test.java:89:9:89:24 | getMapValue(...) | +| Test.java:96:20:96:22 | out : Iterator [] : Object | Test.java:20:20:20:37 | container : Iterator [] : Object | Test.java:20:49:20:64 | next(...) : Object | Test.java:96:9:96:23 | getElement(...) | +| Test.java:103:20:103:22 | out : List [] : Object | Test.java:21:20:21:39 | container : List [] : Object | Test.java:21:51:21:77 | next(...) : Object | Test.java:103:9:103:23 | getElement(...) | +| Test.java:110:21:110:23 | out : MultiValueMap [] : Object | Test.java:22:21:22:33 | container : MultiValueMap [] : Object | Test.java:22:45:22:63 | get(...) : Object | Test.java:110:9:110:24 | getMapValue(...) | +testFailures diff --git a/java/ql/test/library-tests/frameworks/spring/webutil/test.expected b/java/ql/test/library-tests/frameworks/spring/webutil/test.expected index e69de29bb2d..f5e407abec1 100644 --- a/java/ql/test/library-tests/frameworks/spring/webutil/test.expected +++ b/java/ql/test/library-tests/frameworks/spring/webutil/test.expected @@ -0,0 +1,3482 @@ +models +| 1 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 2 | Summary: java.util; HashMap; false; HashMap; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual | +| 3 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 4 | Summary: java.util; List; false; of; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 5 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 6 | Summary: java.util; Map; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual | +| 7 | Summary: java.util; Map; false; of; ; ; Argument[0]; ReturnValue.MapKey; value; manual | +| 8 | Summary: java.util; Map; false; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual | +| 9 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | +| 10 | Summary: java.util; Optional; false; of; ; ; Argument[0]; ReturnValue.Element; value; manual | +| 11 | Summary: org.springframework.util; LinkedMultiValueMap; false; LinkedMultiValueMap; (java.util.Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual | +| 12 | Summary: org.springframework.web.util; AbstractUriTemplateHandler; true; getBaseUrl; ; ; Argument[this]; ReturnValue; taint; manual | +| 13 | Summary: org.springframework.web.util; AbstractUriTemplateHandler; true; setBaseUrl; ; ; Argument[0]; Argument[this]; taint; manual | +| 14 | Summary: org.springframework.web.util; AbstractUriTemplateHandler; true; setDefaultUriVariables; ; ; Argument[0]; Argument[this]; taint; manual | +| 15 | Summary: org.springframework.web.util; ContentCachingRequestWrapper; false; ContentCachingRequestWrapper; ; ; Argument[0]; Argument[this]; taint; manual | +| 16 | Summary: org.springframework.web.util; ContentCachingRequestWrapper; false; getContentAsByteArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 17 | Summary: org.springframework.web.util; ContentCachingResponseWrapper; false; ContentCachingResponseWrapper; ; ; Argument[0]; Argument[this]; taint; manual | +| 18 | Summary: org.springframework.web.util; ContentCachingResponseWrapper; false; getContentAsByteArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 19 | Summary: org.springframework.web.util; ContentCachingResponseWrapper; false; getContentInputStream; ; ; Argument[this]; ReturnValue; taint; manual | +| 20 | Summary: org.springframework.web.util; DefaultUriBuilderFactory; false; DefaultUriBuilderFactory; ; ; Argument[0]; Argument[this]; taint; manual | +| 21 | Summary: org.springframework.web.util; DefaultUriBuilderFactory; false; builder; ; ; Argument[this]; ReturnValue; taint; manual | +| 22 | Summary: org.springframework.web.util; DefaultUriBuilderFactory; false; getDefaultUriVariables; ; ; Argument[this]; ReturnValue.MapValue; taint; manual | +| 23 | Summary: org.springframework.web.util; DefaultUriBuilderFactory; false; setDefaultUriVariables; ; ; Argument[0].MapValue; Argument[this]; taint; manual | +| 24 | Summary: org.springframework.web.util; DefaultUriBuilderFactory; false; uriString; ; ; Argument[this]; ReturnValue; taint; manual | +| 25 | Summary: org.springframework.web.util; HtmlUtils; false; htmlEscape; ; ; Argument[0]; ReturnValue; taint; manual | +| 26 | Summary: org.springframework.web.util; HtmlUtils; false; htmlEscapeDecimal; ; ; Argument[0]; ReturnValue; taint; manual | +| 27 | Summary: org.springframework.web.util; HtmlUtils; false; htmlEscapeHex; ; ; Argument[0]; ReturnValue; taint; manual | +| 28 | Summary: org.springframework.web.util; HtmlUtils; false; htmlUnescape; ; ; Argument[0]; ReturnValue; taint; manual | +| 29 | Summary: org.springframework.web.util; ServletContextPropertyUtils; false; resolvePlaceholders; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 30 | Summary: org.springframework.web.util; ServletRequestPathUtils; false; getCachedPath; ; ; Argument[0]; ReturnValue; taint; manual | +| 31 | Summary: org.springframework.web.util; ServletRequestPathUtils; false; getCachedPathValue; ; ; Argument[0]; ReturnValue; taint; manual | +| 32 | Summary: org.springframework.web.util; ServletRequestPathUtils; false; getParsedRequestPath; ; ; Argument[0]; ReturnValue; taint; manual | +| 33 | Summary: org.springframework.web.util; ServletRequestPathUtils; false; parseAndCache; ; ; Argument[0]; ReturnValue; taint; manual | +| 34 | Summary: org.springframework.web.util; ServletRequestPathUtils; false; setParsedRequestPath; ; ; Argument[0]; Argument[1]; taint; manual | +| 35 | Summary: org.springframework.web.util; UriBuilder; true; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 36 | Summary: org.springframework.web.util; UriBuilder; true; build; (Map); ; Argument[0].MapValue; Argument[this]; taint; manual | +| 37 | Summary: org.springframework.web.util; UriBuilder; true; build; (Map); ; Argument[0].MapValue; ReturnValue; taint; manual | +| 38 | Summary: org.springframework.web.util; UriBuilder; true; build; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 39 | Summary: org.springframework.web.util; UriBuilder; true; fragment; ; ; Argument[this]; ReturnValue; value; manual | +| 40 | Summary: org.springframework.web.util; UriBuilder; true; fragment; ; ; Argument[0]; Argument[this]; taint; manual | +| 41 | Summary: org.springframework.web.util; UriBuilder; true; host; ; ; Argument[this]; ReturnValue; value; manual | +| 42 | Summary: org.springframework.web.util; UriBuilder; true; host; ; ; Argument[0]; Argument[this]; taint; manual | +| 43 | Summary: org.springframework.web.util; UriBuilder; true; path; ; ; Argument[this]; ReturnValue; value; manual | +| 44 | Summary: org.springframework.web.util; UriBuilder; true; path; ; ; Argument[0]; Argument[this]; taint; manual | +| 45 | Summary: org.springframework.web.util; UriBuilder; true; pathSegment; ; ; Argument[this]; ReturnValue; value; manual | +| 46 | Summary: org.springframework.web.util; UriBuilder; true; pathSegment; ; ; Argument[0].ArrayElement; Argument[this]; taint; manual | +| 47 | Summary: org.springframework.web.util; UriBuilder; true; port; ; ; Argument[this]; ReturnValue; value; manual | +| 48 | Summary: org.springframework.web.util; UriBuilder; true; port; (java.lang.String); ; Argument[0]; Argument[this]; taint; manual | +| 49 | Summary: org.springframework.web.util; UriBuilder; true; query; ; ; Argument[this]; ReturnValue; value; manual | +| 50 | Summary: org.springframework.web.util; UriBuilder; true; query; ; ; Argument[0]; Argument[this]; taint; manual | +| 51 | Summary: org.springframework.web.util; UriBuilder; true; queryParam; ; ; Argument[this]; ReturnValue; value; manual | +| 52 | Summary: org.springframework.web.util; UriBuilder; true; queryParam; ; ; Argument[0]; Argument[this]; taint; manual | +| 53 | Summary: org.springframework.web.util; UriBuilder; true; queryParam; (String,Collection); ; Argument[1].Element; Argument[this]; taint; manual | +| 54 | Summary: org.springframework.web.util; UriBuilder; true; queryParam; (String,Object[]); ; Argument[1].ArrayElement; Argument[this]; taint; manual | +| 55 | Summary: org.springframework.web.util; UriBuilder; true; queryParamIfPresent; ; ; Argument[this]; ReturnValue; value; manual | +| 56 | Summary: org.springframework.web.util; UriBuilder; true; queryParamIfPresent; ; ; Argument[0]; Argument[this]; taint; manual | +| 57 | Summary: org.springframework.web.util; UriBuilder; true; queryParamIfPresent; ; ; Argument[1].Element; Argument[this]; taint; manual | +| 58 | Summary: org.springframework.web.util; UriBuilder; true; queryParams; ; ; Argument[this]; ReturnValue; value; manual | +| 59 | Summary: org.springframework.web.util; UriBuilder; true; queryParams; ; ; Argument[0].MapKey; Argument[this]; taint; manual | +| 60 | Summary: org.springframework.web.util; UriBuilder; true; queryParams; ; ; Argument[0].MapValue.Element; Argument[this]; taint; manual | +| 61 | Summary: org.springframework.web.util; UriBuilder; true; replacePath; ; ; Argument[this]; ReturnValue; value; manual | +| 62 | Summary: org.springframework.web.util; UriBuilder; true; replacePath; ; ; Argument[0]; Argument[this]; taint; manual | +| 63 | Summary: org.springframework.web.util; UriBuilder; true; replaceQuery; ; ; Argument[this]; ReturnValue; value; manual | +| 64 | Summary: org.springframework.web.util; UriBuilder; true; replaceQuery; ; ; Argument[0]; Argument[this]; taint; manual | +| 65 | Summary: org.springframework.web.util; UriBuilder; true; replaceQueryParam; ; ; Argument[this]; ReturnValue; value; manual | +| 66 | Summary: org.springframework.web.util; UriBuilder; true; replaceQueryParam; ; ; Argument[0]; Argument[this]; taint; manual | +| 67 | Summary: org.springframework.web.util; UriBuilder; true; replaceQueryParam; (String,Collection); ; Argument[1].Element; Argument[this]; taint; manual | +| 68 | Summary: org.springframework.web.util; UriBuilder; true; replaceQueryParam; (String,Object[]); ; Argument[1].ArrayElement; Argument[this]; taint; manual | +| 69 | Summary: org.springframework.web.util; UriBuilder; true; replaceQueryParams; ; ; Argument[this]; ReturnValue; value; manual | +| 70 | Summary: org.springframework.web.util; UriBuilder; true; replaceQueryParams; ; ; Argument[0].MapKey; Argument[this]; taint; manual | +| 71 | Summary: org.springframework.web.util; UriBuilder; true; replaceQueryParams; ; ; Argument[0].MapValue.Element; Argument[this]; taint; manual | +| 72 | Summary: org.springframework.web.util; UriBuilder; true; scheme; ; ; Argument[this]; ReturnValue; value; manual | +| 73 | Summary: org.springframework.web.util; UriBuilder; true; scheme; ; ; Argument[0]; Argument[this]; taint; manual | +| 74 | Summary: org.springframework.web.util; UriBuilder; true; userInfo; ; ; Argument[this]; ReturnValue; value; manual | +| 75 | Summary: org.springframework.web.util; UriBuilder; true; userInfo; ; ; Argument[0]; Argument[this]; taint; manual | +| 76 | Summary: org.springframework.web.util; UriBuilderFactory; true; builder; ; ; Argument[this]; ReturnValue; taint; manual | +| 77 | Summary: org.springframework.web.util; UriBuilderFactory; true; uriString; ; ; Argument[this]; ReturnValue; taint; manual | +| 78 | Summary: org.springframework.web.util; UriBuilderFactory; true; uriString; ; ; Argument[0]; ReturnValue; taint; manual | +| 79 | Summary: org.springframework.web.util; UriComponents; false; encode; ; ; Argument[this]; ReturnValue; taint; manual | +| 80 | Summary: org.springframework.web.util; UriComponents; false; expand; (Map); ; Argument[0].MapValue; ReturnValue; taint; manual | +| 81 | Summary: org.springframework.web.util; UriComponents; false; expand; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 82 | Summary: org.springframework.web.util; UriComponents; false; expand; (UriComponents$UriTemplateVariables); ; Argument[0].MapValue; ReturnValue; taint; manual | +| 83 | Summary: org.springframework.web.util; UriComponents; false; getFragment; ; ; Argument[this]; ReturnValue; taint; manual | +| 84 | Summary: org.springframework.web.util; UriComponents; false; getHost; ; ; Argument[this]; ReturnValue; taint; manual | +| 85 | Summary: org.springframework.web.util; UriComponents; false; getPath; ; ; Argument[this]; ReturnValue; taint; manual | +| 86 | Summary: org.springframework.web.util; UriComponents; false; getPathSegments; ; ; Argument[this]; ReturnValue; taint; manual | +| 87 | Summary: org.springframework.web.util; UriComponents; false; getQuery; ; ; Argument[this]; ReturnValue; taint; manual | +| 88 | Summary: org.springframework.web.util; UriComponents; false; getQueryParams; ; ; Argument[this]; ReturnValue.MapKey; taint; manual | +| 89 | Summary: org.springframework.web.util; UriComponents; false; getQueryParams; ; ; Argument[this]; ReturnValue.MapValue.Element; taint; manual | +| 90 | Summary: org.springframework.web.util; UriComponents; false; getScheme; ; ; Argument[this]; ReturnValue; taint; manual | +| 91 | Summary: org.springframework.web.util; UriComponents; false; getSchemeSpecificPart; ; ; Argument[this]; ReturnValue; taint; manual | +| 92 | Summary: org.springframework.web.util; UriComponents; false; getUserInfo; ; ; Argument[this]; ReturnValue; taint; manual | +| 93 | Summary: org.springframework.web.util; UriComponents; false; normalize; ; ; Argument[this]; ReturnValue; taint; manual | +| 94 | Summary: org.springframework.web.util; UriComponents; false; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 95 | Summary: org.springframework.web.util; UriComponents; false; toUri; ; ; Argument[this]; ReturnValue; taint; manual | +| 96 | Summary: org.springframework.web.util; UriComponents; false; toUriString; ; ; Argument[this]; ReturnValue; taint; manual | +| 97 | Summary: org.springframework.web.util; UriComponents$UriTemplateVariables; true; getValue; ; ; Argument[this].MapValue; ReturnValue; value; manual | +| 98 | Summary: org.springframework.web.util; UriComponentsBuilder; false; build; ; ; Argument[this]; ReturnValue; taint; manual | +| 99 | Summary: org.springframework.web.util; UriComponentsBuilder; false; buildAndExpand; (Map); ; Argument[0].MapValue; ReturnValue; taint; manual | +| 100 | Summary: org.springframework.web.util; UriComponentsBuilder; false; buildAndExpand; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 101 | Summary: org.springframework.web.util; UriComponentsBuilder; false; cloneBuilder; ; ; Argument[this]; ReturnValue; value; manual | +| 102 | Summary: org.springframework.web.util; UriComponentsBuilder; false; encode; ; ; Argument[this]; ReturnValue; value; manual | +| 103 | Summary: org.springframework.web.util; UriComponentsBuilder; false; fromHttpRequest; ; ; Argument[0]; ReturnValue; taint; manual | +| 104 | Summary: org.springframework.web.util; UriComponentsBuilder; false; fromHttpUrl; ; ; Argument[0]; ReturnValue; taint; manual | +| 105 | Summary: org.springframework.web.util; UriComponentsBuilder; false; fromOriginHeader; ; ; Argument[0]; ReturnValue; taint; manual | +| 106 | Summary: org.springframework.web.util; UriComponentsBuilder; false; fromPath; ; ; Argument[0]; ReturnValue; taint; manual | +| 107 | Summary: org.springframework.web.util; UriComponentsBuilder; false; fromUri; ; ; Argument[0]; ReturnValue; taint; manual | +| 108 | Summary: org.springframework.web.util; UriComponentsBuilder; false; fromUriString; ; ; Argument[0]; ReturnValue; taint; manual | +| 109 | Summary: org.springframework.web.util; UriComponentsBuilder; false; parseForwardedFor; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 110 | Summary: org.springframework.web.util; UriComponentsBuilder; false; schemeSpecificPart; ; ; Argument[this]; ReturnValue; value; manual | +| 111 | Summary: org.springframework.web.util; UriComponentsBuilder; false; schemeSpecificPart; ; ; Argument[0]; Argument[this]; taint; manual | +| 112 | Summary: org.springframework.web.util; UriComponentsBuilder; false; toUriString; ; ; Argument[this]; ReturnValue; taint; manual | +| 113 | Summary: org.springframework.web.util; UriComponentsBuilder; false; uri; ; ; Argument[this]; ReturnValue; value; manual | +| 114 | Summary: org.springframework.web.util; UriComponentsBuilder; false; uri; ; ; Argument[0]; Argument[this]; taint; manual | +| 115 | Summary: org.springframework.web.util; UriComponentsBuilder; false; uriComponents; ; ; Argument[this]; ReturnValue; value; manual | +| 116 | Summary: org.springframework.web.util; UriComponentsBuilder; false; uriComponents; ; ; Argument[0]; Argument[this]; taint; manual | +| 117 | Summary: org.springframework.web.util; UriComponentsBuilder; false; uriVariables; ; ; Argument[this]; ReturnValue; value; manual | +| 118 | Summary: org.springframework.web.util; UriComponentsBuilder; false; uriVariables; ; ; Argument[0].MapValue; Argument[this]; taint; manual | +| 119 | Summary: org.springframework.web.util; UriTemplate; false; expand; (Map); ; Argument[0].MapValue; ReturnValue; taint; manual | +| 120 | Summary: org.springframework.web.util; UriTemplate; false; expand; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual | +| 121 | Summary: org.springframework.web.util; UriTemplate; false; getVariableNames; ; ; Argument[this]; ReturnValue.Element; taint; manual | +| 122 | Summary: org.springframework.web.util; UriTemplate; false; match; ; ; Argument[0]; ReturnValue.MapValue; taint; manual | +| 123 | Summary: org.springframework.web.util; UriTemplate; false; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 124 | Summary: org.springframework.web.util; UriTemplateHandler; true; expand; ; ; Argument[this]; ReturnValue; taint; manual | +| 125 | Summary: org.springframework.web.util; UriTemplateHandler; true; expand; ; ; Argument[0]; ReturnValue; taint; manual | +| 126 | Summary: org.springframework.web.util; UriTemplateHandler; true; expand; (String,Map); ; Argument[1].MapValue; ReturnValue; taint; manual | +| 127 | Summary: org.springframework.web.util; UriTemplateHandler; true; expand; (String,Object[]); ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 128 | Summary: org.springframework.web.util; UriUtils; false; decode; ; ; Argument[0]; ReturnValue; taint; manual | +| 129 | Summary: org.springframework.web.util; UriUtils; false; encode; ; ; Argument[0]; ReturnValue; taint; manual | +| 130 | Summary: org.springframework.web.util; UriUtils; false; encodeAuthority; ; ; Argument[0]; ReturnValue; taint; manual | +| 131 | Summary: org.springframework.web.util; UriUtils; false; encodeFragment; ; ; Argument[0]; ReturnValue; taint; manual | +| 132 | Summary: org.springframework.web.util; UriUtils; false; encodeHost; ; ; Argument[0]; ReturnValue; taint; manual | +| 133 | Summary: org.springframework.web.util; UriUtils; false; encodePath; ; ; Argument[0]; ReturnValue; taint; manual | +| 134 | Summary: org.springframework.web.util; UriUtils; false; encodePathSegment; ; ; Argument[0]; ReturnValue; taint; manual | +| 135 | Summary: org.springframework.web.util; UriUtils; false; encodePort; ; ; Argument[0]; ReturnValue; taint; manual | +| 136 | Summary: org.springframework.web.util; UriUtils; false; encodeQuery; ; ; Argument[0]; ReturnValue; taint; manual | +| 137 | Summary: org.springframework.web.util; UriUtils; false; encodeQueryParam; ; ; Argument[0]; ReturnValue; taint; manual | +| 138 | Summary: org.springframework.web.util; UriUtils; false; encodeQueryParams; ; ; Argument[0].MapKey; ReturnValue.MapKey; taint; manual | +| 139 | Summary: org.springframework.web.util; UriUtils; false; encodeQueryParams; ; ; Argument[0].MapValue; ReturnValue.MapValue; taint; manual | +| 140 | Summary: org.springframework.web.util; UriUtils; false; encodeScheme; ; ; Argument[0]; ReturnValue; taint; manual | +| 141 | Summary: org.springframework.web.util; UriUtils; false; encodeUriVariables; (Map); ; Argument[0].MapKey; ReturnValue.MapKey; taint; manual | +| 142 | Summary: org.springframework.web.util; UriUtils; false; encodeUriVariables; (Map); ; Argument[0].MapValue; ReturnValue.MapValue; taint; manual | +| 143 | Summary: org.springframework.web.util; UriUtils; false; encodeUriVariables; (Object[]); ; Argument[0].ArrayElement; ReturnValue.ArrayElement; taint; manual | +| 144 | Summary: org.springframework.web.util; UriUtils; false; encodeUserInfo; ; ; Argument[0]; ReturnValue; taint; manual | +| 145 | Summary: org.springframework.web.util; UriUtils; false; extractFileExtension; ; ; Argument[0]; ReturnValue; taint; manual | +| 146 | Summary: org.springframework.web.util; UrlPathHelper; false; decodeMatrixVariables; ; ; Argument[1].MapKey; ReturnValue.MapKey; value; manual | +| 147 | Summary: org.springframework.web.util; UrlPathHelper; false; decodeMatrixVariables; ; ; Argument[1].MapValue; ReturnValue.MapValue; taint; manual | +| 148 | Summary: org.springframework.web.util; UrlPathHelper; false; decodePathVariables; ; ; Argument[1].MapKey; ReturnValue.MapKey; value; manual | +| 149 | Summary: org.springframework.web.util; UrlPathHelper; false; decodePathVariables; ; ; Argument[1].MapValue; ReturnValue.MapValue; taint; manual | +| 150 | Summary: org.springframework.web.util; UrlPathHelper; false; decodeRequestString; ; ; Argument[1]; ReturnValue; taint; manual | +| 151 | Summary: org.springframework.web.util; UrlPathHelper; false; getContextPath; ; ; Argument[0]; ReturnValue; taint; manual | +| 152 | Summary: org.springframework.web.util; UrlPathHelper; false; getOriginatingContextPath; ; ; Argument[0]; ReturnValue; taint; manual | +| 153 | Summary: org.springframework.web.util; UrlPathHelper; false; removeSemicolonContent; ; ; Argument[0]; ReturnValue; taint; manual | +| 154 | Summary: org.springframework.web.util; WebUtils; false; findParameterValue; (Map,String); ; Argument[0].MapValue; ReturnValue; value; manual | +| 155 | Summary: org.springframework.web.util; WebUtils; false; findParameterValue; (ServletRequest,String); ; Argument[0]; ReturnValue; taint; manual | +| 156 | Summary: org.springframework.web.util; WebUtils; false; getCookie; ; ; Argument[0]; ReturnValue; taint; manual | +| 157 | Summary: org.springframework.web.util; WebUtils; false; getNativeRequest; ; ; Argument[0]; ReturnValue; taint; manual | +| 158 | Summary: org.springframework.web.util; WebUtils; false; getNativeResponse; ; ; Argument[0]; ReturnValue; taint; manual | +| 159 | Summary: org.springframework.web.util; WebUtils; false; getParametersStartingWith; ; ; Argument[0]; ReturnValue.MapKey; taint; manual | +| 160 | Summary: org.springframework.web.util; WebUtils; false; getParametersStartingWith; ; ; Argument[0]; ReturnValue.MapValue; taint; manual | +| 161 | Summary: org.springframework.web.util; WebUtils; false; getRealPath; ; ; Argument[0..1]; ReturnValue; taint; manual | +| 162 | Summary: org.springframework.web.util; WebUtils; false; getRequiredSessionAttribute; ; ; Argument[0]; ReturnValue; taint; manual | +| 163 | Summary: org.springframework.web.util; WebUtils; false; getSessionAttribute; ; ; Argument[0]; ReturnValue; taint; manual | +| 164 | Summary: org.springframework.web.util; WebUtils; false; parseMatrixVariables; ; ; Argument[0]; ReturnValue.MapKey; taint; manual | +| 165 | Summary: org.springframework.web.util; WebUtils; false; parseMatrixVariables; ; ; Argument[0]; ReturnValue.MapValue; taint; manual | +| 166 | Summary: org.springframework.web.util; WebUtils; false; setSessionAttribute; ; ; Argument[2]; Argument[0]; taint; manual | +edges +| Test.java:44:30:44:34 | m : Map [] : Object | Test.java:44:45:44:45 | m : Map [] : Object | provenance | | +| Test.java:44:39:44:47 | this [post update] : StubUriTemplateVariables [] : Object | Test.java:44:5:44:28 | parameter this [Return] : StubUriTemplateVariables [] : Object | provenance | | +| Test.java:44:45:44:45 | m : Map [] : Object | Test.java:44:39:44:47 | this [post update] : StubUriTemplateVariables [] : Object | provenance | MaD:2 | +| Test.java:46:19:46:26 | parameter this : StubUriTemplateVariables [] : Object | Test.java:46:50:46:53 | this : StubUriTemplateVariables [] : Object | provenance | | +| Test.java:46:50:46:53 | this : StubUriTemplateVariables [] : Object | Test.java:46:50:46:63 | get(...) : Object | provenance | MaD:5 | +| Test.java:49:20:49:39 | container : List [] : Object | Test.java:49:51:49:59 | container : List [] : Object | provenance | | +| Test.java:49:51:49:59 | container : List [] : Object | Test.java:49:51:49:70 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:49:51:49:70 | iterator(...) : Iterator [] : Object | Test.java:49:51:49:77 | next(...) : Object | provenance | MaD:3 | +| Test.java:50:18:50:27 | m : Map [] : Object | Test.java:50:39:50:39 | m : Map [] : Object | provenance | | +| Test.java:50:18:50:27 | m : MultiValueMap [] : Object | Test.java:50:39:50:39 | m : MultiValueMap [] : Object | provenance | | +| Test.java:50:39:50:39 | m : Map [] : Object | Test.java:50:39:50:48 | keySet(...) : Set [] : Object | provenance | MaD:6 | +| Test.java:50:39:50:39 | m : MultiValueMap [] : Object | Test.java:50:39:50:48 | keySet(...) : Set [] : Object | provenance | MaD:6 | +| Test.java:50:39:50:48 | keySet(...) : Set [] : Object | Test.java:50:39:50:59 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:50:39:50:48 | keySet(...) : Set [] : Object | Test.java:50:39:50:59 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:50:39:50:59 | iterator(...) : Iterator [] : Object | Test.java:50:39:50:66 | next(...) : Object | provenance | MaD:3 | +| Test.java:50:39:50:59 | iterator(...) : Iterator [] : Object | Test.java:50:39:50:66 | next(...) : Object | provenance | MaD:3 | +| Test.java:51:20:51:29 | m : Map [] : Object | Test.java:51:41:51:41 | m : Map [] : Object | provenance | | +| Test.java:51:20:51:29 | m : MultiValueMap [, ] : Object | Test.java:51:41:51:41 | m : MultiValueMap [, ] : Object | provenance | | +| Test.java:51:20:51:29 | m : MultiValueMap [] : Object | Test.java:51:41:51:41 | m : MultiValueMap [] : Object | provenance | | +| Test.java:51:41:51:41 | m : Map [] : Object | Test.java:51:41:51:51 | get(...) : Object | provenance | MaD:5 | +| Test.java:51:41:51:41 | m : MultiValueMap [, ] : Object | Test.java:51:41:51:51 | get(...) : Object [] : Object | provenance | MaD:5 | +| Test.java:51:41:51:41 | m : MultiValueMap [] : Object | Test.java:51:41:51:51 | get(...) : Object | provenance | MaD:5 | +| Test.java:52:20:52:33 | element : Object | Test.java:52:52:52:58 | element : Object | provenance | | +| Test.java:52:52:52:58 | element : Object | Test.java:52:45:52:65 | of(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:53:22:53:35 | element : Object | Test.java:53:60:53:66 | element : Object | provenance | | +| Test.java:53:60:53:66 | element : Object | Test.java:53:47:53:67 | of(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:54:40:54:53 | element : Object | Test.java:54:96:54:102 | element : Object | provenance | | +| Test.java:54:89:54:109 | of(...) : Map [] : Object | Test.java:54:65:54:110 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | provenance | MaD:11 | +| Test.java:54:96:54:102 | element : Object | Test.java:54:89:54:109 | of(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:55:42:55:55 | element : Object | Test.java:55:117:55:123 | element : Object | provenance | | +| Test.java:55:105:55:105 | m [post update] : LinkedMultiValueMap [] : Object | Test.java:55:134:55:134 | m : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:55:117:55:123 | element : Object | Test.java:55:105:55:105 | m [post update] : LinkedMultiValueMap [] : Object | provenance | MaD:9 | +| Test.java:64:36:64:71 | (...)... : AbstractUriTemplateHandler | Test.java:65:10:65:11 | in : AbstractUriTemplateHandler | provenance | | +| Test.java:64:64:64:71 | source(...) : Object | Test.java:64:36:64:71 | (...)... : AbstractUriTemplateHandler | provenance | | +| Test.java:65:10:65:11 | in : AbstractUriTemplateHandler | Test.java:65:10:65:24 | getBaseUrl(...) : String | provenance | MaD:12 | +| Test.java:65:10:65:24 | getBaseUrl(...) : String | Test.java:66:9:66:11 | out | provenance | | +| Test.java:71:16:71:31 | (...)... : String | Test.java:72:19:72:20 | in : String | provenance | | +| Test.java:71:24:71:31 | source(...) : Object | Test.java:71:16:71:31 | (...)... : String | provenance | | +| Test.java:72:4:72:6 | out [post update] : AbstractUriTemplateHandler | Test.java:73:9:73:11 | out | provenance | | +| Test.java:72:19:72:20 | in : String | Test.java:72:4:72:6 | out [post update] : AbstractUriTemplateHandler | provenance | MaD:13 | +| Test.java:78:13:78:25 | (...)... : Map | Test.java:79:31:79:32 | in : Map | provenance | | +| Test.java:78:18:78:25 | source(...) : Object | Test.java:78:13:78:25 | (...)... : Map | provenance | | +| Test.java:79:4:79:6 | out [post update] : AbstractUriTemplateHandler | Test.java:80:9:80:11 | out | provenance | | +| Test.java:79:31:79:32 | in : Map | Test.java:79:4:79:6 | out [post update] : AbstractUriTemplateHandler | provenance | MaD:14 | +| Test.java:85:28:85:55 | (...)... : HttpServletRequest | Test.java:86:43:86:44 | in : HttpServletRequest | provenance | | +| Test.java:85:48:85:55 | source(...) : Object | Test.java:85:28:85:55 | (...)... : HttpServletRequest | provenance | | +| Test.java:86:10:86:48 | new ContentCachingRequestWrapper(...) : ContentCachingRequestWrapper | Test.java:87:9:87:11 | out | provenance | | +| Test.java:86:43:86:44 | in : HttpServletRequest | Test.java:86:10:86:48 | new ContentCachingRequestWrapper(...) : ContentCachingRequestWrapper | provenance | MaD:15 | +| Test.java:92:28:92:55 | (...)... : HttpServletRequest | Test.java:93:43:93:44 | in : HttpServletRequest | provenance | | +| Test.java:92:48:92:55 | source(...) : Object | Test.java:92:28:92:55 | (...)... : HttpServletRequest | provenance | | +| Test.java:93:10:93:45 | new ContentCachingRequestWrapper(...) : ContentCachingRequestWrapper | Test.java:94:9:94:11 | out | provenance | | +| Test.java:93:43:93:44 | in : HttpServletRequest | Test.java:93:10:93:45 | new ContentCachingRequestWrapper(...) : ContentCachingRequestWrapper | provenance | MaD:15 | +| Test.java:99:38:99:75 | (...)... : ContentCachingRequestWrapper | Test.java:100:10:100:11 | in : ContentCachingRequestWrapper | provenance | | +| Test.java:99:68:99:75 | source(...) : Object | Test.java:99:38:99:75 | (...)... : ContentCachingRequestWrapper | provenance | | +| Test.java:100:10:100:11 | in : ContentCachingRequestWrapper | Test.java:100:10:100:35 | getContentAsByteArray(...) : byte[] | provenance | MaD:16 | +| Test.java:100:10:100:35 | getContentAsByteArray(...) : byte[] | Test.java:101:9:101:11 | out | provenance | | +| Test.java:106:29:106:57 | (...)... : HttpServletResponse | Test.java:107:44:107:45 | in : HttpServletResponse | provenance | | +| Test.java:106:50:106:57 | source(...) : Object | Test.java:106:29:106:57 | (...)... : HttpServletResponse | provenance | | +| Test.java:107:10:107:46 | new ContentCachingResponseWrapper(...) : ContentCachingResponseWrapper | Test.java:108:9:108:11 | out | provenance | | +| Test.java:107:44:107:45 | in : HttpServletResponse | Test.java:107:10:107:46 | new ContentCachingResponseWrapper(...) : ContentCachingResponseWrapper | provenance | MaD:17 | +| Test.java:113:39:113:77 | (...)... : ContentCachingResponseWrapper | Test.java:114:10:114:11 | in : ContentCachingResponseWrapper | provenance | | +| Test.java:113:70:113:77 | source(...) : Object | Test.java:113:39:113:77 | (...)... : ContentCachingResponseWrapper | provenance | | +| Test.java:114:10:114:11 | in : ContentCachingResponseWrapper | Test.java:114:10:114:35 | getContentAsByteArray(...) : byte[] | provenance | MaD:18 | +| Test.java:114:10:114:35 | getContentAsByteArray(...) : byte[] | Test.java:115:9:115:11 | out | provenance | | +| Test.java:120:39:120:77 | (...)... : ContentCachingResponseWrapper | Test.java:121:10:121:11 | in : ContentCachingResponseWrapper | provenance | | +| Test.java:120:70:120:77 | source(...) : Object | Test.java:120:39:120:77 | (...)... : ContentCachingResponseWrapper | provenance | | +| Test.java:121:10:121:11 | in : ContentCachingResponseWrapper | Test.java:121:10:121:35 | getContentInputStream(...) : InputStream | provenance | MaD:19 | +| Test.java:121:10:121:35 | getContentInputStream(...) : InputStream | Test.java:122:9:122:11 | out | provenance | | +| Test.java:127:30:127:59 | (...)... : UriComponentsBuilder | Test.java:128:39:128:40 | in : UriComponentsBuilder | provenance | | +| Test.java:127:52:127:59 | source(...) : Object | Test.java:127:30:127:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:128:10:128:41 | new DefaultUriBuilderFactory(...) : DefaultUriBuilderFactory | Test.java:129:9:129:11 | out | provenance | | +| Test.java:128:39:128:40 | in : UriComponentsBuilder | Test.java:128:10:128:41 | new DefaultUriBuilderFactory(...) : DefaultUriBuilderFactory | provenance | MaD:20 | +| Test.java:134:16:134:31 | (...)... : String | Test.java:135:39:135:40 | in : String | provenance | | +| Test.java:134:24:134:31 | source(...) : Object | Test.java:134:16:134:31 | (...)... : String | provenance | | +| Test.java:135:10:135:41 | new DefaultUriBuilderFactory(...) : DefaultUriBuilderFactory | Test.java:136:9:136:11 | out | provenance | | +| Test.java:135:39:135:40 | in : String | Test.java:135:10:135:41 | new DefaultUriBuilderFactory(...) : DefaultUriBuilderFactory | provenance | MaD:20 | +| Test.java:141:34:141:67 | (...)... : DefaultUriBuilderFactory | Test.java:142:10:142:11 | in : DefaultUriBuilderFactory | provenance | | +| Test.java:141:60:141:67 | source(...) : Object | Test.java:141:34:141:67 | (...)... : DefaultUriBuilderFactory | provenance | | +| Test.java:142:10:142:11 | in : DefaultUriBuilderFactory | Test.java:142:10:142:21 | builder(...) : UriBuilder | provenance | MaD:21 | +| Test.java:142:10:142:11 | in : DefaultUriBuilderFactory | Test.java:142:10:142:21 | builder(...) : UriBuilder | provenance | MaD:76 | +| Test.java:142:10:142:21 | builder(...) : UriBuilder | Test.java:143:9:143:11 | out | provenance | | +| Test.java:148:13:148:37 | newMapWithValue(...) : Map [] : Object | Test.java:150:40:150:41 | in : Map [] : Object | provenance | | +| Test.java:148:29:148:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | provenance | | +| Test.java:148:29:148:36 | source(...) : Object | Test.java:148:13:148:37 | newMapWithValue(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:150:10:150:42 | expand(...) : URI | Test.java:151:9:151:11 | out | provenance | | +| Test.java:150:40:150:41 | in : Map [] : Object | Test.java:150:10:150:42 | expand(...) : URI | provenance | MaD:126 | +| Test.java:156:18:156:39 | {...} : Object[] [[]] : Object | Test.java:158:40:158:41 | in : Object[] [[]] : Object | provenance | | +| Test.java:156:31:156:38 | source(...) : Object | Test.java:156:18:156:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:158:10:158:42 | expand(...) : URI | Test.java:159:9:159:11 | out | provenance | | +| Test.java:158:40:158:41 | in : Object[] [[]] : Object | Test.java:158:10:158:42 | expand(...) : URI | provenance | MaD:127 | +| Test.java:164:16:164:31 | (...)... : String | Test.java:166:26:166:27 | in : String | provenance | | +| Test.java:164:24:164:31 | source(...) : Object | Test.java:164:16:164:31 | (...)... : String | provenance | | +| Test.java:166:10:166:44 | expand(...) : URI | Test.java:167:9:167:11 | out | provenance | | +| Test.java:166:26:166:27 | in : String | Test.java:166:10:166:44 | expand(...) : URI | provenance | MaD:125 | +| Test.java:172:16:172:31 | (...)... : String | Test.java:174:26:174:27 | in : String | provenance | | +| Test.java:172:24:172:31 | source(...) : Object | Test.java:172:16:172:31 | (...)... : String | provenance | | +| Test.java:174:10:174:39 | expand(...) : URI | Test.java:175:9:175:11 | out | provenance | | +| Test.java:174:26:174:27 | in : String | Test.java:174:10:174:39 | expand(...) : URI | provenance | MaD:125 | +| Test.java:180:34:180:67 | (...)... : DefaultUriBuilderFactory | Test.java:181:10:181:11 | in : DefaultUriBuilderFactory | provenance | | +| Test.java:180:60:180:67 | source(...) : Object | Test.java:180:34:180:67 | (...)... : DefaultUriBuilderFactory | provenance | | +| Test.java:181:10:181:11 | in : DefaultUriBuilderFactory | Test.java:181:10:181:48 | expand(...) : URI | provenance | MaD:124 | +| Test.java:181:10:181:48 | expand(...) : URI | Test.java:182:9:182:11 | out | provenance | | +| Test.java:187:34:187:67 | (...)... : DefaultUriBuilderFactory | Test.java:188:10:188:11 | in : DefaultUriBuilderFactory | provenance | | +| Test.java:187:60:187:67 | source(...) : Object | Test.java:187:34:187:67 | (...)... : DefaultUriBuilderFactory | provenance | | +| Test.java:188:10:188:11 | in : DefaultUriBuilderFactory | Test.java:188:10:188:43 | expand(...) : URI | provenance | MaD:124 | +| Test.java:188:10:188:43 | expand(...) : URI | Test.java:189:9:189:11 | out | provenance | | +| Test.java:194:34:194:67 | (...)... : DefaultUriBuilderFactory | Test.java:195:10:195:11 | in : DefaultUriBuilderFactory | provenance | | +| Test.java:194:60:194:67 | source(...) : Object | Test.java:194:34:194:67 | (...)... : DefaultUriBuilderFactory | provenance | | +| Test.java:195:10:195:11 | in : DefaultUriBuilderFactory | Test.java:195:10:195:36 | getDefaultUriVariables(...) : Map [] : Object | provenance | MaD:22 | +| Test.java:195:10:195:36 | getDefaultUriVariables(...) : Map [] : Object | Test.java:196:21:196:23 | out : Map [] : Object | provenance | | +| Test.java:196:21:196:23 | out : Map [] : Object | Test.java:51:20:51:29 | m : Map [] : Object | provenance | | +| Test.java:196:21:196:23 | out : Map [] : Object | Test.java:196:9:196:24 | getMapValue(...) | provenance | MaD:5 | +| Test.java:201:13:201:34 | of(...) : Map [] : Object | Test.java:202:31:202:32 | in : Map [] : Object | provenance | | +| Test.java:201:26:201:33 | source(...) : Object | Test.java:201:13:201:34 | of(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:202:4:202:6 | out [post update] : DefaultUriBuilderFactory | Test.java:203:9:203:11 | out | provenance | | +| Test.java:202:31:202:32 | in : Map [] : Object | Test.java:202:4:202:6 | out [post update] : DefaultUriBuilderFactory | provenance | MaD:23 | +| Test.java:208:34:208:67 | (...)... : DefaultUriBuilderFactory | Test.java:209:10:209:11 | in : DefaultUriBuilderFactory | provenance | | +| Test.java:208:60:208:67 | source(...) : Object | Test.java:208:34:208:67 | (...)... : DefaultUriBuilderFactory | provenance | | +| Test.java:209:10:209:11 | in : DefaultUriBuilderFactory | Test.java:209:10:209:27 | uriString(...) : UriBuilder | provenance | MaD:24 | +| Test.java:209:10:209:11 | in : DefaultUriBuilderFactory | Test.java:209:10:209:27 | uriString(...) : UriBuilder | provenance | MaD:77 | +| Test.java:209:10:209:27 | uriString(...) : UriBuilder | Test.java:210:9:210:11 | out | provenance | | +| Test.java:215:16:215:31 | (...)... : String | Test.java:216:33:216:34 | in : String | provenance | | +| Test.java:215:24:215:31 | source(...) : Object | Test.java:215:16:215:31 | (...)... : String | provenance | | +| Test.java:216:10:216:35 | htmlUnescape(...) : String | Test.java:217:9:217:11 | out | provenance | | +| Test.java:216:33:216:34 | in : String | Test.java:216:10:216:35 | htmlUnescape(...) : String | provenance | MaD:28 | +| Test.java:222:16:222:31 | (...)... : String | Test.java:223:58:223:59 | in : String | provenance | | +| Test.java:222:24:222:31 | source(...) : Object | Test.java:222:16:222:31 | (...)... : String | provenance | | +| Test.java:223:10:223:73 | resolvePlaceholders(...) : String | Test.java:224:9:224:11 | out | provenance | | +| Test.java:223:58:223:59 | in : String | Test.java:223:10:223:73 | resolvePlaceholders(...) : String | provenance | MaD:29 | +| Test.java:229:16:229:31 | (...)... : String | Test.java:230:58:230:59 | in : String | provenance | | +| Test.java:229:24:229:31 | source(...) : Object | Test.java:229:16:229:31 | (...)... : String | provenance | | +| Test.java:230:10:230:66 | resolvePlaceholders(...) : String | Test.java:231:9:231:11 | out | provenance | | +| Test.java:230:58:230:59 | in : String | Test.java:230:10:230:66 | resolvePlaceholders(...) : String | provenance | MaD:29 | +| Test.java:236:24:236:47 | (...)... : ServletContext | Test.java:237:64:237:65 | in : ServletContext | provenance | | +| Test.java:236:40:236:47 | source(...) : Object | Test.java:236:24:236:47 | (...)... : ServletContext | provenance | | +| Test.java:237:10:237:73 | resolvePlaceholders(...) : String | Test.java:238:9:238:11 | out | provenance | | +| Test.java:237:64:237:65 | in : ServletContext | Test.java:237:10:237:73 | resolvePlaceholders(...) : String | provenance | MaD:29 | +| Test.java:243:24:243:47 | (...)... : ServletContext | Test.java:244:64:244:65 | in : ServletContext | provenance | | +| Test.java:243:40:243:47 | source(...) : Object | Test.java:243:24:243:47 | (...)... : ServletContext | provenance | | +| Test.java:244:10:244:66 | resolvePlaceholders(...) : String | Test.java:245:9:245:11 | out | provenance | | +| Test.java:244:64:244:65 | in : ServletContext | Test.java:244:10:244:66 | resolvePlaceholders(...) : String | provenance | MaD:29 | +| Test.java:250:24:250:47 | (...)... : ServletRequest | Test.java:251:48:251:49 | in : ServletRequest | provenance | | +| Test.java:250:40:250:47 | source(...) : Object | Test.java:250:24:250:47 | (...)... : ServletRequest | provenance | | +| Test.java:251:10:251:50 | getCachedPath(...) : Object | Test.java:252:9:252:11 | out | provenance | | +| Test.java:251:48:251:49 | in : ServletRequest | Test.java:251:10:251:50 | getCachedPath(...) : Object | provenance | MaD:30 | +| Test.java:257:24:257:47 | (...)... : ServletRequest | Test.java:258:53:258:54 | in : ServletRequest | provenance | | +| Test.java:257:40:257:47 | source(...) : Object | Test.java:257:24:257:47 | (...)... : ServletRequest | provenance | | +| Test.java:258:10:258:55 | getCachedPathValue(...) : String | Test.java:259:9:259:11 | out | provenance | | +| Test.java:258:53:258:54 | in : ServletRequest | Test.java:258:10:258:55 | getCachedPathValue(...) : String | provenance | MaD:31 | +| Test.java:264:24:264:47 | (...)... : ServletRequest | Test.java:265:55:265:56 | in : ServletRequest | provenance | | +| Test.java:264:40:264:47 | source(...) : Object | Test.java:264:24:264:47 | (...)... : ServletRequest | provenance | | +| Test.java:265:10:265:57 | getParsedRequestPath(...) : RequestPath | Test.java:266:9:266:11 | out | provenance | | +| Test.java:265:55:265:56 | in : ServletRequest | Test.java:265:10:265:57 | getParsedRequestPath(...) : RequestPath | provenance | MaD:32 | +| Test.java:271:28:271:55 | (...)... : HttpServletRequest | Test.java:272:48:272:49 | in : HttpServletRequest | provenance | | +| Test.java:271:48:271:55 | source(...) : Object | Test.java:271:28:271:55 | (...)... : HttpServletRequest | provenance | | +| Test.java:272:10:272:50 | parseAndCache(...) : RequestPath | Test.java:273:9:273:11 | out | provenance | | +| Test.java:272:48:272:49 | in : HttpServletRequest | Test.java:272:10:272:50 | parseAndCache(...) : RequestPath | provenance | MaD:33 | +| Test.java:278:21:278:41 | (...)... : RequestPath | Test.java:279:49:279:50 | in : RequestPath | provenance | | +| Test.java:278:34:278:41 | source(...) : Object | Test.java:278:21:278:41 | (...)... : RequestPath | provenance | | +| Test.java:279:49:279:50 | in : RequestPath | Test.java:279:53:279:55 | out [post update] : ServletRequest | provenance | MaD:34 | +| Test.java:279:53:279:55 | out [post update] : ServletRequest | Test.java:280:9:280:11 | out | provenance | | +| Test.java:285:13:285:37 | newMapWithValue(...) : Map [] : Object | Test.java:286:14:286:15 | in : Map [] : Object | provenance | | +| Test.java:285:29:285:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | provenance | | +| Test.java:285:29:285:36 | source(...) : Object | Test.java:285:13:285:37 | newMapWithValue(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:286:4:286:6 | out [post update] : UriBuilder | Test.java:287:9:287:11 | out | provenance | | +| Test.java:286:14:286:15 | in : Map [] : Object | Test.java:286:4:286:6 | out [post update] : UriBuilder | provenance | MaD:36 | +| Test.java:292:13:292:37 | newMapWithValue(...) : Map [] : Object | Test.java:294:25:294:26 | in : Map [] : Object | provenance | | +| Test.java:292:29:292:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | provenance | | +| Test.java:292:29:292:36 | source(...) : Object | Test.java:292:13:292:37 | newMapWithValue(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:294:10:294:27 | build(...) : URI | Test.java:295:9:295:11 | out | provenance | | +| Test.java:294:25:294:26 | in : Map [] : Object | Test.java:294:10:294:27 | build(...) : URI | provenance | MaD:37 | +| Test.java:300:20:300:39 | (...)... : UriBuilder | Test.java:301:10:301:11 | in : UriBuilder | provenance | | +| Test.java:300:32:300:39 | source(...) : Object | Test.java:300:20:300:39 | (...)... : UriBuilder | provenance | | +| Test.java:301:10:301:11 | in : UriBuilder | Test.java:301:10:301:24 | build(...) : URI | provenance | MaD:35 | +| Test.java:301:10:301:24 | build(...) : URI | Test.java:302:9:302:11 | out | provenance | | +| Test.java:307:20:307:39 | (...)... : UriBuilder | Test.java:308:10:308:11 | in : UriBuilder | provenance | | +| Test.java:307:32:307:39 | source(...) : Object | Test.java:307:20:307:39 | (...)... : UriBuilder | provenance | | +| Test.java:308:10:308:11 | in : UriBuilder | Test.java:308:10:308:19 | build(...) : URI | provenance | MaD:35 | +| Test.java:308:10:308:19 | build(...) : URI | Test.java:309:9:309:11 | out | provenance | | +| Test.java:314:20:314:39 | (...)... : UriBuilder | Test.java:315:10:315:11 | in : UriBuilder | provenance | | +| Test.java:314:32:314:39 | source(...) : Object | Test.java:314:20:314:39 | (...)... : UriBuilder | provenance | | +| Test.java:315:10:315:11 | in : UriBuilder | Test.java:315:10:315:33 | build(...) : URI | provenance | MaD:35 | +| Test.java:315:10:315:33 | build(...) : URI | Test.java:316:9:316:11 | out | provenance | | +| Test.java:321:20:321:39 | (...)... : UriBuilder | Test.java:322:10:322:11 | in : UriBuilder | provenance | | +| Test.java:321:32:321:39 | source(...) : Object | Test.java:321:20:321:39 | (...)... : UriBuilder | provenance | | +| Test.java:322:10:322:11 | in : UriBuilder | Test.java:322:10:322:28 | build(...) : URI | provenance | MaD:35 | +| Test.java:322:10:322:28 | build(...) : URI | Test.java:323:9:323:11 | out | provenance | | +| Test.java:328:20:328:39 | (...)... : UriBuilder | Test.java:329:10:329:11 | in : UriBuilder | provenance | | +| Test.java:328:32:328:39 | source(...) : Object | Test.java:328:20:328:39 | (...)... : UriBuilder | provenance | | +| Test.java:329:10:329:11 | in : UriBuilder | Test.java:329:10:329:26 | fragment(...) : UriBuilder | provenance | MaD:39 | +| Test.java:329:10:329:26 | fragment(...) : UriBuilder | Test.java:330:9:330:11 | out | provenance | | +| Test.java:335:20:335:39 | (...)... : UriBuilder | Test.java:336:10:336:11 | in : UriBuilder | provenance | | +| Test.java:335:32:335:39 | source(...) : Object | Test.java:335:20:335:39 | (...)... : UriBuilder | provenance | | +| Test.java:336:10:336:11 | in : UriBuilder | Test.java:336:10:336:26 | fragment(...) : UriBuilder | provenance | MaD:39 | +| Test.java:336:10:336:26 | fragment(...) : UriBuilder | Test.java:337:9:337:11 | out | provenance | | +| Test.java:342:16:342:31 | (...)... : String | Test.java:343:17:343:18 | in : String | provenance | | +| Test.java:342:24:342:31 | source(...) : Object | Test.java:342:16:342:31 | (...)... : String | provenance | | +| Test.java:343:4:343:6 | out [post update] : UriBuilder | Test.java:344:9:344:11 | out | provenance | | +| Test.java:343:17:343:18 | in : String | Test.java:343:4:343:6 | out [post update] : UriBuilder | provenance | MaD:40 | +| Test.java:349:16:349:31 | (...)... : String | Test.java:350:17:350:18 | in : String | provenance | | +| Test.java:349:24:349:31 | source(...) : Object | Test.java:349:16:349:31 | (...)... : String | provenance | | +| Test.java:350:4:350:6 | out [post update] : UriBuilder | Test.java:351:9:351:11 | out | provenance | | +| Test.java:350:17:350:18 | in : String | Test.java:350:4:350:6 | out [post update] : UriBuilder | provenance | MaD:40 | +| Test.java:356:16:356:31 | (...)... : String | Test.java:358:28:358:29 | in : String | provenance | | +| Test.java:356:24:356:31 | source(...) : Object | Test.java:356:16:356:31 | (...)... : String | provenance | | +| Test.java:358:10:358:30 | fragment(...) : UriBuilder | Test.java:359:9:359:11 | out | provenance | | +| Test.java:358:28:358:29 | in : String | Test.java:358:10:358:30 | fragment(...) : UriBuilder | provenance | MaD:40+MaD:39 | +| Test.java:364:16:364:31 | (...)... : String | Test.java:366:28:366:29 | in : String | provenance | | +| Test.java:364:24:364:31 | source(...) : Object | Test.java:364:16:364:31 | (...)... : String | provenance | | +| Test.java:366:10:366:30 | fragment(...) : UriBuilder | Test.java:367:9:367:11 | out | provenance | | +| Test.java:366:28:366:29 | in : String | Test.java:366:10:366:30 | fragment(...) : UriBuilder | provenance | MaD:40+MaD:39 | +| Test.java:372:20:372:39 | (...)... : UriBuilder | Test.java:373:10:373:11 | in : UriBuilder | provenance | | +| Test.java:372:32:372:39 | source(...) : Object | Test.java:372:20:372:39 | (...)... : UriBuilder | provenance | | +| Test.java:373:10:373:11 | in : UriBuilder | Test.java:373:10:373:22 | host(...) : UriBuilder | provenance | MaD:41 | +| Test.java:373:10:373:22 | host(...) : UriBuilder | Test.java:374:9:374:11 | out | provenance | | +| Test.java:379:20:379:39 | (...)... : UriBuilder | Test.java:380:10:380:11 | in : UriBuilder | provenance | | +| Test.java:379:32:379:39 | source(...) : Object | Test.java:379:20:379:39 | (...)... : UriBuilder | provenance | | +| Test.java:380:10:380:11 | in : UriBuilder | Test.java:380:10:380:22 | host(...) : UriBuilder | provenance | MaD:41 | +| Test.java:380:10:380:22 | host(...) : UriBuilder | Test.java:381:9:381:11 | out | provenance | | +| Test.java:386:16:386:31 | (...)... : String | Test.java:388:24:388:25 | in : String | provenance | | +| Test.java:386:24:386:31 | source(...) : Object | Test.java:386:16:386:31 | (...)... : String | provenance | | +| Test.java:388:10:388:26 | host(...) : UriBuilder | Test.java:389:9:389:11 | out | provenance | | +| Test.java:388:24:388:25 | in : String | Test.java:388:10:388:26 | host(...) : UriBuilder | provenance | MaD:42+MaD:41 | +| Test.java:394:16:394:31 | (...)... : String | Test.java:396:24:396:25 | in : String | provenance | | +| Test.java:394:24:394:31 | source(...) : Object | Test.java:394:16:394:31 | (...)... : String | provenance | | +| Test.java:396:10:396:26 | host(...) : UriBuilder | Test.java:397:9:397:11 | out | provenance | | +| Test.java:396:24:396:25 | in : String | Test.java:396:10:396:26 | host(...) : UriBuilder | provenance | MaD:42+MaD:41 | +| Test.java:402:20:402:39 | (...)... : UriBuilder | Test.java:403:10:403:11 | in : UriBuilder | provenance | | +| Test.java:402:32:402:39 | source(...) : Object | Test.java:402:20:402:39 | (...)... : UriBuilder | provenance | | +| Test.java:403:10:403:11 | in : UriBuilder | Test.java:403:10:403:22 | path(...) : UriBuilder | provenance | MaD:43 | +| Test.java:403:10:403:22 | path(...) : UriBuilder | Test.java:404:9:404:11 | out | provenance | | +| Test.java:409:20:409:39 | (...)... : UriBuilder | Test.java:410:10:410:11 | in : UriBuilder | provenance | | +| Test.java:409:32:409:39 | source(...) : Object | Test.java:409:20:409:39 | (...)... : UriBuilder | provenance | | +| Test.java:410:10:410:11 | in : UriBuilder | Test.java:410:10:410:22 | path(...) : UriBuilder | provenance | MaD:43 | +| Test.java:410:10:410:22 | path(...) : UriBuilder | Test.java:411:9:411:11 | out | provenance | | +| Test.java:416:16:416:31 | (...)... : String | Test.java:417:13:417:14 | in : String | provenance | | +| Test.java:416:24:416:31 | source(...) : Object | Test.java:416:16:416:31 | (...)... : String | provenance | | +| Test.java:417:4:417:6 | out [post update] : UriBuilder | Test.java:418:9:418:11 | out | provenance | | +| Test.java:417:13:417:14 | in : String | Test.java:417:4:417:6 | out [post update] : UriBuilder | provenance | MaD:44 | +| Test.java:423:16:423:31 | (...)... : String | Test.java:424:13:424:14 | in : String | provenance | | +| Test.java:423:24:423:31 | source(...) : Object | Test.java:423:16:423:31 | (...)... : String | provenance | | +| Test.java:424:4:424:6 | out [post update] : UriBuilder | Test.java:425:9:425:11 | out | provenance | | +| Test.java:424:13:424:14 | in : String | Test.java:424:4:424:6 | out [post update] : UriBuilder | provenance | MaD:44 | +| Test.java:430:16:430:31 | (...)... : String | Test.java:432:24:432:25 | in : String | provenance | | +| Test.java:430:24:430:31 | source(...) : Object | Test.java:430:16:430:31 | (...)... : String | provenance | | +| Test.java:432:10:432:26 | path(...) : UriBuilder | Test.java:433:9:433:11 | out | provenance | | +| Test.java:432:24:432:25 | in : String | Test.java:432:10:432:26 | path(...) : UriBuilder | provenance | MaD:44+MaD:43 | +| Test.java:438:16:438:31 | (...)... : String | Test.java:440:24:440:25 | in : String | provenance | | +| Test.java:438:24:438:31 | source(...) : Object | Test.java:438:16:438:31 | (...)... : String | provenance | | +| Test.java:440:10:440:26 | path(...) : UriBuilder | Test.java:441:9:441:11 | out | provenance | | +| Test.java:440:24:440:25 | in : String | Test.java:440:10:440:26 | path(...) : UriBuilder | provenance | MaD:44+MaD:43 | +| Test.java:446:20:446:39 | (...)... : UriBuilder | Test.java:447:10:447:11 | in : UriBuilder | provenance | | +| Test.java:446:32:446:39 | source(...) : Object | Test.java:446:20:446:39 | (...)... : UriBuilder | provenance | | +| Test.java:447:10:447:11 | in : UriBuilder | Test.java:447:10:447:39 | pathSegment(...) : UriBuilder | provenance | MaD:45 | +| Test.java:447:10:447:39 | pathSegment(...) : UriBuilder | Test.java:448:9:448:11 | out | provenance | | +| Test.java:453:20:453:39 | (...)... : UriBuilder | Test.java:454:10:454:11 | in : UriBuilder | provenance | | +| Test.java:453:32:453:39 | source(...) : Object | Test.java:453:20:453:39 | (...)... : UriBuilder | provenance | | +| Test.java:454:10:454:11 | in : UriBuilder | Test.java:454:10:454:39 | pathSegment(...) : UriBuilder | provenance | MaD:45 | +| Test.java:454:10:454:39 | pathSegment(...) : UriBuilder | Test.java:455:9:455:11 | out | provenance | | +| Test.java:460:18:460:47 | {...} : String[] [[]] : String | Test.java:461:20:461:31 | (...)... : String[] [[]] : String | provenance | | +| Test.java:460:31:460:46 | (...)... : String | Test.java:460:18:460:47 | {...} : String[] [[]] : String | provenance | | +| Test.java:460:39:460:46 | source(...) : Object | Test.java:460:31:460:46 | (...)... : String | provenance | | +| Test.java:461:4:461:6 | out [post update] : UriBuilder | Test.java:462:9:462:11 | out | provenance | | +| Test.java:461:20:461:31 | (...)... : String[] [[]] : String | Test.java:461:4:461:6 | out [post update] : UriBuilder | provenance | MaD:46 | +| Test.java:467:18:467:47 | {...} : String[] [[]] : String | Test.java:468:20:468:31 | (...)... : String[] [[]] : String | provenance | | +| Test.java:467:31:467:46 | (...)... : String | Test.java:467:18:467:47 | {...} : String[] [[]] : String | provenance | | +| Test.java:467:39:467:46 | source(...) : Object | Test.java:467:31:467:46 | (...)... : String | provenance | | +| Test.java:468:4:468:6 | out [post update] : UriBuilder | Test.java:469:9:469:11 | out | provenance | | +| Test.java:468:20:468:31 | (...)... : String[] [[]] : String | Test.java:468:4:468:6 | out [post update] : UriBuilder | provenance | MaD:46 | +| Test.java:474:18:474:47 | {...} : String[] [[]] : String | Test.java:476:31:476:42 | (...)... : String[] [[]] : String | provenance | | +| Test.java:474:31:474:46 | (...)... : String | Test.java:474:18:474:47 | {...} : String[] [[]] : String | provenance | | +| Test.java:474:39:474:46 | source(...) : Object | Test.java:474:31:474:46 | (...)... : String | provenance | | +| Test.java:476:10:476:43 | pathSegment(...) : UriBuilder | Test.java:477:9:477:11 | out | provenance | | +| Test.java:476:31:476:42 | (...)... : String[] [[]] : String | Test.java:476:10:476:43 | pathSegment(...) : UriBuilder | provenance | MaD:46+MaD:45 | +| Test.java:482:18:482:47 | {...} : String[] [[]] : String | Test.java:484:31:484:42 | (...)... : String[] [[]] : String | provenance | | +| Test.java:482:31:482:46 | (...)... : String | Test.java:482:18:482:47 | {...} : String[] [[]] : String | provenance | | +| Test.java:482:39:482:46 | source(...) : Object | Test.java:482:31:482:46 | (...)... : String | provenance | | +| Test.java:484:10:484:43 | pathSegment(...) : UriBuilder | Test.java:485:9:485:11 | out | provenance | | +| Test.java:484:31:484:42 | (...)... : String[] [[]] : String | Test.java:484:10:484:43 | pathSegment(...) : UriBuilder | provenance | MaD:46+MaD:45 | +| Test.java:490:16:490:31 | (...)... : String | Test.java:491:13:491:14 | in : String | provenance | | +| Test.java:490:24:490:31 | source(...) : Object | Test.java:490:16:490:31 | (...)... : String | provenance | | +| Test.java:491:4:491:6 | out [post update] : UriBuilder | Test.java:492:9:492:11 | out | provenance | | +| Test.java:491:13:491:14 | in : String | Test.java:491:4:491:6 | out [post update] : UriBuilder | provenance | MaD:48 | +| Test.java:497:16:497:31 | (...)... : String | Test.java:498:13:498:14 | in : String | provenance | | +| Test.java:497:24:497:31 | source(...) : Object | Test.java:497:16:497:31 | (...)... : String | provenance | | +| Test.java:498:4:498:6 | out [post update] : UriBuilder | Test.java:499:9:499:11 | out | provenance | | +| Test.java:498:13:498:14 | in : String | Test.java:498:4:498:6 | out [post update] : UriBuilder | provenance | MaD:48 | +| Test.java:504:16:504:31 | (...)... : String | Test.java:506:24:506:25 | in : String | provenance | | +| Test.java:504:24:504:31 | source(...) : Object | Test.java:504:16:504:31 | (...)... : String | provenance | | +| Test.java:506:10:506:26 | port(...) : UriBuilder | Test.java:507:9:507:11 | out | provenance | | +| Test.java:506:24:506:25 | in : String | Test.java:506:10:506:26 | port(...) : UriBuilder | provenance | MaD:48+MaD:47 | +| Test.java:512:16:512:31 | (...)... : String | Test.java:514:24:514:25 | in : String | provenance | | +| Test.java:512:24:512:31 | source(...) : Object | Test.java:512:16:512:31 | (...)... : String | provenance | | +| Test.java:514:10:514:26 | port(...) : UriBuilder | Test.java:515:9:515:11 | out | provenance | | +| Test.java:514:24:514:25 | in : String | Test.java:514:10:514:26 | port(...) : UriBuilder | provenance | MaD:48+MaD:47 | +| Test.java:520:20:520:39 | (...)... : UriBuilder | Test.java:521:10:521:11 | in : UriBuilder | provenance | | +| Test.java:520:32:520:39 | source(...) : Object | Test.java:520:20:520:39 | (...)... : UriBuilder | provenance | | +| Test.java:521:10:521:11 | in : UriBuilder | Test.java:521:10:521:19 | port(...) : UriBuilder | provenance | MaD:47 | +| Test.java:521:10:521:19 | port(...) : UriBuilder | Test.java:522:9:522:11 | out | provenance | | +| Test.java:527:20:527:39 | (...)... : UriBuilder | Test.java:528:10:528:11 | in : UriBuilder | provenance | | +| Test.java:527:32:527:39 | source(...) : Object | Test.java:527:20:527:39 | (...)... : UriBuilder | provenance | | +| Test.java:528:10:528:11 | in : UriBuilder | Test.java:528:10:528:30 | port(...) : UriBuilder | provenance | MaD:47 | +| Test.java:528:10:528:30 | port(...) : UriBuilder | Test.java:529:9:529:11 | out | provenance | | +| Test.java:534:20:534:39 | (...)... : UriBuilder | Test.java:535:10:535:11 | in : UriBuilder | provenance | | +| Test.java:534:32:534:39 | source(...) : Object | Test.java:534:20:534:39 | (...)... : UriBuilder | provenance | | +| Test.java:535:10:535:11 | in : UriBuilder | Test.java:535:10:535:19 | port(...) : UriBuilder | provenance | MaD:47 | +| Test.java:535:10:535:19 | port(...) : UriBuilder | Test.java:536:9:536:11 | out | provenance | | +| Test.java:541:20:541:39 | (...)... : UriBuilder | Test.java:542:10:542:11 | in : UriBuilder | provenance | | +| Test.java:541:32:541:39 | source(...) : Object | Test.java:541:20:541:39 | (...)... : UriBuilder | provenance | | +| Test.java:542:10:542:11 | in : UriBuilder | Test.java:542:10:542:30 | port(...) : UriBuilder | provenance | MaD:47 | +| Test.java:542:10:542:30 | port(...) : UriBuilder | Test.java:543:9:543:11 | out | provenance | | +| Test.java:548:20:548:39 | (...)... : UriBuilder | Test.java:549:10:549:11 | in : UriBuilder | provenance | | +| Test.java:548:32:548:39 | source(...) : Object | Test.java:548:20:548:39 | (...)... : UriBuilder | provenance | | +| Test.java:549:10:549:11 | in : UriBuilder | Test.java:549:10:549:23 | query(...) : UriBuilder | provenance | MaD:49 | +| Test.java:549:10:549:23 | query(...) : UriBuilder | Test.java:550:9:550:11 | out | provenance | | +| Test.java:555:20:555:39 | (...)... : UriBuilder | Test.java:556:10:556:11 | in : UriBuilder | provenance | | +| Test.java:555:32:555:39 | source(...) : Object | Test.java:555:20:555:39 | (...)... : UriBuilder | provenance | | +| Test.java:556:10:556:11 | in : UriBuilder | Test.java:556:10:556:23 | query(...) : UriBuilder | provenance | MaD:49 | +| Test.java:556:10:556:23 | query(...) : UriBuilder | Test.java:557:9:557:11 | out | provenance | | +| Test.java:562:16:562:31 | (...)... : String | Test.java:563:14:563:15 | in : String | provenance | | +| Test.java:562:24:562:31 | source(...) : Object | Test.java:562:16:562:31 | (...)... : String | provenance | | +| Test.java:563:4:563:6 | out [post update] : UriBuilder | Test.java:564:9:564:11 | out | provenance | | +| Test.java:563:14:563:15 | in : String | Test.java:563:4:563:6 | out [post update] : UriBuilder | provenance | MaD:50 | +| Test.java:569:16:569:31 | (...)... : String | Test.java:570:14:570:15 | in : String | provenance | | +| Test.java:569:24:569:31 | source(...) : Object | Test.java:569:16:569:31 | (...)... : String | provenance | | +| Test.java:570:4:570:6 | out [post update] : UriBuilder | Test.java:571:9:571:11 | out | provenance | | +| Test.java:570:14:570:15 | in : String | Test.java:570:4:570:6 | out [post update] : UriBuilder | provenance | MaD:50 | +| Test.java:576:16:576:31 | (...)... : String | Test.java:578:25:578:26 | in : String | provenance | | +| Test.java:576:24:576:31 | source(...) : Object | Test.java:576:16:576:31 | (...)... : String | provenance | | +| Test.java:578:10:578:27 | query(...) : UriBuilder | Test.java:579:9:579:11 | out | provenance | | +| Test.java:578:25:578:26 | in : String | Test.java:578:10:578:27 | query(...) : UriBuilder | provenance | MaD:50+MaD:49 | +| Test.java:584:16:584:31 | (...)... : String | Test.java:586:25:586:26 | in : String | provenance | | +| Test.java:584:24:584:31 | source(...) : Object | Test.java:584:16:584:31 | (...)... : String | provenance | | +| Test.java:586:10:586:27 | query(...) : UriBuilder | Test.java:587:9:587:11 | out | provenance | | +| Test.java:586:25:586:26 | in : String | Test.java:586:10:586:27 | query(...) : UriBuilder | provenance | MaD:50+MaD:49 | +| Test.java:592:20:592:36 | of(...) : List [] : Object | Test.java:593:33:593:34 | in : List [] : Object | provenance | | +| Test.java:592:28:592:35 | source(...) : Object | Test.java:592:20:592:36 | of(...) : List [] : Object | provenance | MaD:4 | +| Test.java:593:4:593:6 | out [post update] : UriBuilder | Test.java:594:9:594:11 | out | provenance | | +| Test.java:593:33:593:34 | in : List [] : Object | Test.java:593:4:593:6 | out [post update] : UriBuilder | provenance | MaD:53 | +| Test.java:599:20:599:36 | of(...) : List [] : Object | Test.java:600:33:600:34 | in : List [] : Object | provenance | | +| Test.java:599:28:599:35 | source(...) : Object | Test.java:599:20:599:36 | of(...) : List [] : Object | provenance | MaD:4 | +| Test.java:600:4:600:6 | out [post update] : UriBuilder | Test.java:601:9:601:11 | out | provenance | | +| Test.java:600:33:600:34 | in : List [] : Object | Test.java:600:4:600:6 | out [post update] : UriBuilder | provenance | MaD:53 | +| Test.java:606:20:606:36 | of(...) : List [] : Object | Test.java:608:44:608:45 | in : List [] : Object | provenance | | +| Test.java:606:28:606:35 | source(...) : Object | Test.java:606:20:606:36 | of(...) : List [] : Object | provenance | MaD:4 | +| Test.java:608:10:608:46 | queryParam(...) : UriBuilder | Test.java:609:9:609:11 | out | provenance | | +| Test.java:608:44:608:45 | in : List [] : Object | Test.java:608:10:608:46 | queryParam(...) : UriBuilder | provenance | MaD:53+MaD:51 | +| Test.java:614:20:614:36 | of(...) : List [] : Object | Test.java:616:44:616:45 | in : List [] : Object | provenance | | +| Test.java:614:28:614:35 | source(...) : Object | Test.java:614:20:614:36 | of(...) : List [] : Object | provenance | MaD:4 | +| Test.java:616:10:616:46 | queryParam(...) : UriBuilder | Test.java:617:9:617:11 | out | provenance | | +| Test.java:616:44:616:45 | in : List [] : Object | Test.java:616:10:616:46 | queryParam(...) : UriBuilder | provenance | MaD:53+MaD:51 | +| Test.java:622:18:622:39 | {...} : Object[] [[]] : Object | Test.java:623:33:623:34 | in : Object[] [[]] : Object | provenance | | +| Test.java:622:31:622:38 | source(...) : Object | Test.java:622:18:622:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:623:4:623:6 | out [post update] : UriBuilder | Test.java:624:9:624:11 | out | provenance | | +| Test.java:623:33:623:34 | in : Object[] [[]] : Object | Test.java:623:4:623:6 | out [post update] : UriBuilder | provenance | MaD:54 | +| Test.java:629:18:629:39 | {...} : Object[] [[]] : Object | Test.java:630:33:630:34 | in : Object[] [[]] : Object | provenance | | +| Test.java:629:31:629:38 | source(...) : Object | Test.java:629:18:629:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:630:4:630:6 | out [post update] : UriBuilder | Test.java:631:9:631:11 | out | provenance | | +| Test.java:630:33:630:34 | in : Object[] [[]] : Object | Test.java:630:4:630:6 | out [post update] : UriBuilder | provenance | MaD:54 | +| Test.java:636:18:636:39 | {...} : Object[] [[]] : Object | Test.java:638:44:638:45 | in : Object[] [[]] : Object | provenance | | +| Test.java:636:31:636:38 | source(...) : Object | Test.java:636:18:636:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:638:10:638:46 | queryParam(...) : UriBuilder | Test.java:639:9:639:11 | out | provenance | | +| Test.java:638:44:638:45 | in : Object[] [[]] : Object | Test.java:638:10:638:46 | queryParam(...) : UriBuilder | provenance | MaD:54+MaD:51 | +| Test.java:644:18:644:39 | {...} : Object[] [[]] : Object | Test.java:646:44:646:45 | in : Object[] [[]] : Object | provenance | | +| Test.java:644:31:644:38 | source(...) : Object | Test.java:644:18:644:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:646:10:646:46 | queryParam(...) : UriBuilder | Test.java:647:9:647:11 | out | provenance | | +| Test.java:646:44:646:45 | in : Object[] [[]] : Object | Test.java:646:10:646:46 | queryParam(...) : UriBuilder | provenance | MaD:54+MaD:51 | +| Test.java:652:20:652:39 | (...)... : UriBuilder | Test.java:653:10:653:11 | in : UriBuilder | provenance | | +| Test.java:652:32:652:39 | source(...) : Object | Test.java:652:20:652:39 | (...)... : UriBuilder | provenance | | +| Test.java:653:10:653:11 | in : UriBuilder | Test.java:653:10:653:52 | queryParam(...) : UriBuilder | provenance | MaD:51 | +| Test.java:653:10:653:52 | queryParam(...) : UriBuilder | Test.java:654:9:654:11 | out | provenance | | +| Test.java:659:20:659:39 | (...)... : UriBuilder | Test.java:660:10:660:11 | in : UriBuilder | provenance | | +| Test.java:659:32:659:39 | source(...) : Object | Test.java:659:20:659:39 | (...)... : UriBuilder | provenance | | +| Test.java:660:10:660:11 | in : UriBuilder | Test.java:660:10:660:54 | queryParam(...) : UriBuilder | provenance | MaD:51 | +| Test.java:660:10:660:54 | queryParam(...) : UriBuilder | Test.java:661:9:661:11 | out | provenance | | +| Test.java:666:20:666:39 | (...)... : UriBuilder | Test.java:667:10:667:11 | in : UriBuilder | provenance | | +| Test.java:666:32:666:39 | source(...) : Object | Test.java:666:20:666:39 | (...)... : UriBuilder | provenance | | +| Test.java:667:10:667:11 | in : UriBuilder | Test.java:667:10:667:52 | queryParam(...) : UriBuilder | provenance | MaD:51 | +| Test.java:667:10:667:52 | queryParam(...) : UriBuilder | Test.java:668:9:668:11 | out | provenance | | +| Test.java:673:20:673:39 | (...)... : UriBuilder | Test.java:674:10:674:11 | in : UriBuilder | provenance | | +| Test.java:673:32:673:39 | source(...) : Object | Test.java:673:20:673:39 | (...)... : UriBuilder | provenance | | +| Test.java:674:10:674:11 | in : UriBuilder | Test.java:674:10:674:54 | queryParam(...) : UriBuilder | provenance | MaD:51 | +| Test.java:674:10:674:54 | queryParam(...) : UriBuilder | Test.java:675:9:675:11 | out | provenance | | +| Test.java:680:16:680:31 | (...)... : String | Test.java:681:19:681:20 | in : String | provenance | | +| Test.java:680:24:680:31 | source(...) : Object | Test.java:680:16:680:31 | (...)... : String | provenance | | +| Test.java:681:4:681:6 | out [post update] : UriBuilder | Test.java:682:9:682:11 | out | provenance | | +| Test.java:681:19:681:20 | in : String | Test.java:681:4:681:6 | out [post update] : UriBuilder | provenance | MaD:52 | +| Test.java:687:16:687:31 | (...)... : String | Test.java:688:19:688:20 | in : String | provenance | | +| Test.java:687:24:687:31 | source(...) : Object | Test.java:687:16:687:31 | (...)... : String | provenance | | +| Test.java:688:4:688:6 | out [post update] : UriBuilder | Test.java:689:9:689:11 | out | provenance | | +| Test.java:688:19:688:20 | in : String | Test.java:688:4:688:6 | out [post update] : UriBuilder | provenance | MaD:52 | +| Test.java:694:16:694:31 | (...)... : String | Test.java:695:19:695:20 | in : String | provenance | | +| Test.java:694:24:694:31 | source(...) : Object | Test.java:694:16:694:31 | (...)... : String | provenance | | +| Test.java:695:4:695:6 | out [post update] : UriBuilder | Test.java:696:9:696:11 | out | provenance | | +| Test.java:695:19:695:20 | in : String | Test.java:695:4:695:6 | out [post update] : UriBuilder | provenance | MaD:52 | +| Test.java:701:16:701:31 | (...)... : String | Test.java:702:19:702:20 | in : String | provenance | | +| Test.java:701:24:701:31 | source(...) : Object | Test.java:701:16:701:31 | (...)... : String | provenance | | +| Test.java:702:4:702:6 | out [post update] : UriBuilder | Test.java:703:9:703:11 | out | provenance | | +| Test.java:702:19:702:20 | in : String | Test.java:702:4:702:6 | out [post update] : UriBuilder | provenance | MaD:52 | +| Test.java:708:16:708:31 | (...)... : String | Test.java:710:30:710:31 | in : String | provenance | | +| Test.java:708:24:708:31 | source(...) : Object | Test.java:708:16:708:31 | (...)... : String | provenance | | +| Test.java:710:10:710:48 | queryParam(...) : UriBuilder | Test.java:711:9:711:11 | out | provenance | | +| Test.java:710:30:710:31 | in : String | Test.java:710:10:710:48 | queryParam(...) : UriBuilder | provenance | MaD:52+MaD:51 | +| Test.java:716:16:716:31 | (...)... : String | Test.java:718:30:718:31 | in : String | provenance | | +| Test.java:716:24:716:31 | source(...) : Object | Test.java:716:16:716:31 | (...)... : String | provenance | | +| Test.java:718:10:718:50 | queryParam(...) : UriBuilder | Test.java:719:9:719:11 | out | provenance | | +| Test.java:718:30:718:31 | in : String | Test.java:718:10:718:50 | queryParam(...) : UriBuilder | provenance | MaD:52+MaD:51 | +| Test.java:724:16:724:31 | (...)... : String | Test.java:726:30:726:31 | in : String | provenance | | +| Test.java:724:24:724:31 | source(...) : Object | Test.java:724:16:724:31 | (...)... : String | provenance | | +| Test.java:726:10:726:48 | queryParam(...) : UriBuilder | Test.java:727:9:727:11 | out | provenance | | +| Test.java:726:30:726:31 | in : String | Test.java:726:10:726:48 | queryParam(...) : UriBuilder | provenance | MaD:52+MaD:51 | +| Test.java:732:16:732:31 | (...)... : String | Test.java:734:30:734:31 | in : String | provenance | | +| Test.java:732:24:732:31 | source(...) : Object | Test.java:732:16:732:31 | (...)... : String | provenance | | +| Test.java:734:10:734:50 | queryParam(...) : UriBuilder | Test.java:735:9:735:11 | out | provenance | | +| Test.java:734:30:734:31 | in : String | Test.java:734:10:734:50 | queryParam(...) : UriBuilder | provenance | MaD:52+MaD:51 | +| Test.java:740:20:740:39 | (...)... : UriBuilder | Test.java:741:10:741:11 | in : UriBuilder | provenance | | +| Test.java:740:32:740:39 | source(...) : Object | Test.java:740:20:740:39 | (...)... : UriBuilder | provenance | | +| Test.java:741:10:741:11 | in : UriBuilder | Test.java:741:10:741:43 | queryParamIfPresent(...) : UriBuilder | provenance | MaD:55 | +| Test.java:741:10:741:43 | queryParamIfPresent(...) : UriBuilder | Test.java:742:9:742:11 | out | provenance | | +| Test.java:747:20:747:39 | (...)... : UriBuilder | Test.java:748:10:748:11 | in : UriBuilder | provenance | | +| Test.java:747:32:747:39 | source(...) : Object | Test.java:747:20:747:39 | (...)... : UriBuilder | provenance | | +| Test.java:748:10:748:11 | in : UriBuilder | Test.java:748:10:748:43 | queryParamIfPresent(...) : UriBuilder | provenance | MaD:55 | +| Test.java:748:10:748:43 | queryParamIfPresent(...) : UriBuilder | Test.java:749:9:749:11 | out | provenance | | +| Test.java:754:16:754:31 | (...)... : String | Test.java:755:28:755:29 | in : String | provenance | | +| Test.java:754:24:754:31 | source(...) : Object | Test.java:754:16:754:31 | (...)... : String | provenance | | +| Test.java:755:4:755:6 | out [post update] : UriBuilder | Test.java:756:9:756:11 | out | provenance | | +| Test.java:755:28:755:29 | in : String | Test.java:755:4:755:6 | out [post update] : UriBuilder | provenance | MaD:56 | +| Test.java:761:16:761:31 | (...)... : String | Test.java:762:28:762:29 | in : String | provenance | | +| Test.java:761:24:761:31 | source(...) : Object | Test.java:761:16:761:31 | (...)... : String | provenance | | +| Test.java:762:4:762:6 | out [post update] : UriBuilder | Test.java:763:9:763:11 | out | provenance | | +| Test.java:762:28:762:29 | in : String | Test.java:762:4:762:6 | out [post update] : UriBuilder | provenance | MaD:56 | +| Test.java:768:16:768:31 | (...)... : String | Test.java:770:39:770:40 | in : String | provenance | | +| Test.java:768:24:768:31 | source(...) : Object | Test.java:768:16:768:31 | (...)... : String | provenance | | +| Test.java:770:10:770:47 | queryParamIfPresent(...) : UriBuilder | Test.java:771:9:771:11 | out | provenance | | +| Test.java:770:39:770:40 | in : String | Test.java:770:10:770:47 | queryParamIfPresent(...) : UriBuilder | provenance | MaD:56+MaD:55 | +| Test.java:776:16:776:31 | (...)... : String | Test.java:778:39:778:40 | in : String | provenance | | +| Test.java:776:24:776:31 | source(...) : Object | Test.java:776:16:776:31 | (...)... : String | provenance | | +| Test.java:778:10:778:47 | queryParamIfPresent(...) : UriBuilder | Test.java:779:9:779:11 | out | provenance | | +| Test.java:778:39:778:40 | in : String | Test.java:778:10:778:47 | queryParamIfPresent(...) : UriBuilder | provenance | MaD:56+MaD:55 | +| Test.java:784:18:784:38 | of(...) : Optional [] : Object | Test.java:785:34:785:35 | in : Optional [] : Object | provenance | | +| Test.java:784:30:784:37 | source(...) : Object | Test.java:784:18:784:38 | of(...) : Optional [] : Object | provenance | MaD:10 | +| Test.java:785:4:785:6 | out [post update] : UriBuilder | Test.java:786:9:786:11 | out | provenance | | +| Test.java:785:34:785:35 | in : Optional [] : Object | Test.java:785:4:785:6 | out [post update] : UriBuilder | provenance | MaD:57 | +| Test.java:791:18:791:38 | of(...) : Optional [] : Object | Test.java:792:34:792:35 | in : Optional [] : Object | provenance | | +| Test.java:791:30:791:37 | source(...) : Object | Test.java:791:18:791:38 | of(...) : Optional [] : Object | provenance | MaD:10 | +| Test.java:792:4:792:6 | out [post update] : UriBuilder | Test.java:793:9:793:11 | out | provenance | | +| Test.java:792:34:792:35 | in : Optional [] : Object | Test.java:792:4:792:6 | out [post update] : UriBuilder | provenance | MaD:57 | +| Test.java:798:18:798:38 | of(...) : Optional [] : Object | Test.java:800:45:800:46 | in : Optional [] : Object | provenance | | +| Test.java:798:30:798:37 | source(...) : Object | Test.java:798:18:798:38 | of(...) : Optional [] : Object | provenance | MaD:10 | +| Test.java:800:10:800:47 | queryParamIfPresent(...) : UriBuilder | Test.java:801:9:801:11 | out | provenance | | +| Test.java:800:45:800:46 | in : Optional [] : Object | Test.java:800:10:800:47 | queryParamIfPresent(...) : UriBuilder | provenance | MaD:57+MaD:55 | +| Test.java:806:18:806:38 | of(...) : Optional [] : Object | Test.java:808:45:808:46 | in : Optional [] : Object | provenance | | +| Test.java:806:30:806:37 | source(...) : Object | Test.java:806:18:806:38 | of(...) : Optional [] : Object | provenance | MaD:10 | +| Test.java:808:10:808:47 | queryParamIfPresent(...) : UriBuilder | Test.java:809:9:809:11 | out | provenance | | +| Test.java:808:45:808:46 | in : Optional [] : Object | Test.java:808:10:808:47 | queryParamIfPresent(...) : UriBuilder | provenance | MaD:57+MaD:55 | +| Test.java:814:20:814:39 | (...)... : UriBuilder | Test.java:815:10:815:11 | in : UriBuilder | provenance | | +| Test.java:814:32:814:39 | source(...) : Object | Test.java:814:20:814:39 | (...)... : UriBuilder | provenance | | +| Test.java:815:10:815:11 | in : UriBuilder | Test.java:815:10:815:29 | queryParams(...) : UriBuilder | provenance | MaD:58 | +| Test.java:815:10:815:29 | queryParams(...) : UriBuilder | Test.java:816:9:816:11 | out | provenance | | +| Test.java:821:20:821:39 | (...)... : UriBuilder | Test.java:822:10:822:11 | in : UriBuilder | provenance | | +| Test.java:821:32:821:39 | source(...) : Object | Test.java:821:20:821:39 | (...)... : UriBuilder | provenance | | +| Test.java:822:10:822:11 | in : UriBuilder | Test.java:822:10:822:29 | queryParams(...) : UriBuilder | provenance | MaD:58 | +| Test.java:822:10:822:29 | queryParams(...) : UriBuilder | Test.java:823:9:823:11 | out | provenance | | +| Test.java:828:23:828:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | Test.java:829:20:829:21 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:828:47:828:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | provenance | | +| Test.java:828:47:828:54 | source(...) : Object | Test.java:828:23:828:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | provenance | MaD:7 | +| Test.java:829:4:829:6 | out [post update] : UriBuilder | Test.java:830:9:830:11 | out | provenance | | +| Test.java:829:20:829:21 | in : LinkedMultiValueMap [] : Object | Test.java:829:4:829:6 | out [post update] : UriBuilder | provenance | MaD:59 | +| Test.java:835:23:835:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | Test.java:836:20:836:21 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:835:47:835:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | provenance | | +| Test.java:835:47:835:54 | source(...) : Object | Test.java:835:23:835:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | provenance | MaD:7 | +| Test.java:836:4:836:6 | out [post update] : UriBuilder | Test.java:837:9:837:11 | out | provenance | | +| Test.java:836:20:836:21 | in : LinkedMultiValueMap [] : Object | Test.java:836:4:836:6 | out [post update] : UriBuilder | provenance | MaD:59 | +| Test.java:842:23:842:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | Test.java:844:31:844:32 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:842:47:842:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | provenance | | +| Test.java:842:47:842:54 | source(...) : Object | Test.java:842:23:842:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | provenance | MaD:7 | +| Test.java:844:10:844:33 | queryParams(...) : UriBuilder | Test.java:845:9:845:11 | out | provenance | | +| Test.java:844:31:844:32 | in : LinkedMultiValueMap [] : Object | Test.java:844:10:844:33 | queryParams(...) : UriBuilder | provenance | MaD:59+MaD:58 | +| Test.java:850:23:850:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | Test.java:852:31:852:32 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:850:47:850:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | provenance | | +| Test.java:850:47:850:54 | source(...) : Object | Test.java:850:23:850:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | provenance | MaD:7 | +| Test.java:852:10:852:33 | queryParams(...) : UriBuilder | Test.java:853:9:853:11 | out | provenance | | +| Test.java:852:31:852:32 | in : LinkedMultiValueMap [] : Object | Test.java:852:10:852:33 | queryParams(...) : UriBuilder | provenance | MaD:59+MaD:58 | +| Test.java:858:23:858:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | Test.java:859:20:859:21 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:858:49:858:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | provenance | | +| Test.java:858:49:858:56 | source(...) : Object | Test.java:858:23:858:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | provenance | MaD:9 | +| Test.java:859:4:859:6 | out [post update] : UriBuilder | Test.java:860:9:860:11 | out | provenance | | +| Test.java:859:20:859:21 | in : LinkedMultiValueMap [] : Object | Test.java:859:4:859:6 | out [post update] : UriBuilder | provenance | MaD:60 | +| Test.java:865:23:865:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | Test.java:866:20:866:21 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:865:49:865:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | provenance | | +| Test.java:865:49:865:56 | source(...) : Object | Test.java:865:23:865:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | provenance | MaD:9 | +| Test.java:866:4:866:6 | out [post update] : UriBuilder | Test.java:867:9:867:11 | out | provenance | | +| Test.java:866:20:866:21 | in : LinkedMultiValueMap [] : Object | Test.java:866:4:866:6 | out [post update] : UriBuilder | provenance | MaD:60 | +| Test.java:872:23:872:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | Test.java:874:31:874:32 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:872:49:872:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | provenance | | +| Test.java:872:49:872:56 | source(...) : Object | Test.java:872:23:872:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | provenance | MaD:9 | +| Test.java:874:10:874:33 | queryParams(...) : UriBuilder | Test.java:875:9:875:11 | out | provenance | | +| Test.java:874:31:874:32 | in : LinkedMultiValueMap [] : Object | Test.java:874:10:874:33 | queryParams(...) : UriBuilder | provenance | MaD:60+MaD:58 | +| Test.java:880:23:880:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | Test.java:882:31:882:32 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:880:49:880:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | provenance | | +| Test.java:880:49:880:56 | source(...) : Object | Test.java:880:23:880:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | provenance | MaD:9 | +| Test.java:882:10:882:33 | queryParams(...) : UriBuilder | Test.java:883:9:883:11 | out | provenance | | +| Test.java:882:31:882:32 | in : LinkedMultiValueMap [] : Object | Test.java:882:10:882:33 | queryParams(...) : UriBuilder | provenance | MaD:60+MaD:58 | +| Test.java:888:20:888:39 | (...)... : UriBuilder | Test.java:889:10:889:11 | in : UriBuilder | provenance | | +| Test.java:888:32:888:39 | source(...) : Object | Test.java:888:20:888:39 | (...)... : UriBuilder | provenance | | +| Test.java:889:10:889:11 | in : UriBuilder | Test.java:889:10:889:29 | replacePath(...) : UriBuilder | provenance | MaD:61 | +| Test.java:889:10:889:29 | replacePath(...) : UriBuilder | Test.java:890:9:890:11 | out | provenance | | +| Test.java:895:20:895:39 | (...)... : UriBuilder | Test.java:896:10:896:11 | in : UriBuilder | provenance | | +| Test.java:895:32:895:39 | source(...) : Object | Test.java:895:20:895:39 | (...)... : UriBuilder | provenance | | +| Test.java:896:10:896:11 | in : UriBuilder | Test.java:896:10:896:29 | replacePath(...) : UriBuilder | provenance | MaD:61 | +| Test.java:896:10:896:29 | replacePath(...) : UriBuilder | Test.java:897:9:897:11 | out | provenance | | +| Test.java:902:16:902:31 | (...)... : String | Test.java:903:20:903:21 | in : String | provenance | | +| Test.java:902:24:902:31 | source(...) : Object | Test.java:902:16:902:31 | (...)... : String | provenance | | +| Test.java:903:4:903:6 | out [post update] : UriBuilder | Test.java:904:9:904:11 | out | provenance | | +| Test.java:903:20:903:21 | in : String | Test.java:903:4:903:6 | out [post update] : UriBuilder | provenance | MaD:62 | +| Test.java:909:16:909:31 | (...)... : String | Test.java:910:20:910:21 | in : String | provenance | | +| Test.java:909:24:909:31 | source(...) : Object | Test.java:909:16:909:31 | (...)... : String | provenance | | +| Test.java:910:4:910:6 | out [post update] : UriBuilder | Test.java:911:9:911:11 | out | provenance | | +| Test.java:910:20:910:21 | in : String | Test.java:910:4:910:6 | out [post update] : UriBuilder | provenance | MaD:62 | +| Test.java:916:16:916:31 | (...)... : String | Test.java:918:31:918:32 | in : String | provenance | | +| Test.java:916:24:916:31 | source(...) : Object | Test.java:916:16:916:31 | (...)... : String | provenance | | +| Test.java:918:10:918:33 | replacePath(...) : UriBuilder | Test.java:919:9:919:11 | out | provenance | | +| Test.java:918:31:918:32 | in : String | Test.java:918:10:918:33 | replacePath(...) : UriBuilder | provenance | MaD:62+MaD:61 | +| Test.java:924:16:924:31 | (...)... : String | Test.java:926:31:926:32 | in : String | provenance | | +| Test.java:924:24:924:31 | source(...) : Object | Test.java:924:16:924:31 | (...)... : String | provenance | | +| Test.java:926:10:926:33 | replacePath(...) : UriBuilder | Test.java:927:9:927:11 | out | provenance | | +| Test.java:926:31:926:32 | in : String | Test.java:926:10:926:33 | replacePath(...) : UriBuilder | provenance | MaD:62+MaD:61 | +| Test.java:932:20:932:39 | (...)... : UriBuilder | Test.java:933:10:933:11 | in : UriBuilder | provenance | | +| Test.java:932:32:932:39 | source(...) : Object | Test.java:932:20:932:39 | (...)... : UriBuilder | provenance | | +| Test.java:933:10:933:11 | in : UriBuilder | Test.java:933:10:933:30 | replaceQuery(...) : UriBuilder | provenance | MaD:63 | +| Test.java:933:10:933:30 | replaceQuery(...) : UriBuilder | Test.java:934:9:934:11 | out | provenance | | +| Test.java:939:20:939:39 | (...)... : UriBuilder | Test.java:940:10:940:11 | in : UriBuilder | provenance | | +| Test.java:939:32:939:39 | source(...) : Object | Test.java:939:20:939:39 | (...)... : UriBuilder | provenance | | +| Test.java:940:10:940:11 | in : UriBuilder | Test.java:940:10:940:30 | replaceQuery(...) : UriBuilder | provenance | MaD:63 | +| Test.java:940:10:940:30 | replaceQuery(...) : UriBuilder | Test.java:941:9:941:11 | out | provenance | | +| Test.java:946:16:946:31 | (...)... : String | Test.java:947:21:947:22 | in : String | provenance | | +| Test.java:946:24:946:31 | source(...) : Object | Test.java:946:16:946:31 | (...)... : String | provenance | | +| Test.java:947:4:947:6 | out [post update] : UriBuilder | Test.java:948:9:948:11 | out | provenance | | +| Test.java:947:21:947:22 | in : String | Test.java:947:4:947:6 | out [post update] : UriBuilder | provenance | MaD:64 | +| Test.java:953:16:953:31 | (...)... : String | Test.java:954:21:954:22 | in : String | provenance | | +| Test.java:953:24:953:31 | source(...) : Object | Test.java:953:16:953:31 | (...)... : String | provenance | | +| Test.java:954:4:954:6 | out [post update] : UriBuilder | Test.java:955:9:955:11 | out | provenance | | +| Test.java:954:21:954:22 | in : String | Test.java:954:4:954:6 | out [post update] : UriBuilder | provenance | MaD:64 | +| Test.java:960:16:960:31 | (...)... : String | Test.java:962:32:962:33 | in : String | provenance | | +| Test.java:960:24:960:31 | source(...) : Object | Test.java:960:16:960:31 | (...)... : String | provenance | | +| Test.java:962:10:962:34 | replaceQuery(...) : UriBuilder | Test.java:963:9:963:11 | out | provenance | | +| Test.java:962:32:962:33 | in : String | Test.java:962:10:962:34 | replaceQuery(...) : UriBuilder | provenance | MaD:64+MaD:63 | +| Test.java:968:16:968:31 | (...)... : String | Test.java:970:32:970:33 | in : String | provenance | | +| Test.java:968:24:968:31 | source(...) : Object | Test.java:968:16:968:31 | (...)... : String | provenance | | +| Test.java:970:10:970:34 | replaceQuery(...) : UriBuilder | Test.java:971:9:971:11 | out | provenance | | +| Test.java:970:32:970:33 | in : String | Test.java:970:10:970:34 | replaceQuery(...) : UriBuilder | provenance | MaD:64+MaD:63 | +| Test.java:976:20:976:36 | of(...) : List [] : Object | Test.java:977:40:977:41 | in : List [] : Object | provenance | | +| Test.java:976:28:976:35 | source(...) : Object | Test.java:976:20:976:36 | of(...) : List [] : Object | provenance | MaD:4 | +| Test.java:977:4:977:6 | out [post update] : UriBuilder | Test.java:978:9:978:11 | out | provenance | | +| Test.java:977:40:977:41 | in : List [] : Object | Test.java:977:4:977:6 | out [post update] : UriBuilder | provenance | MaD:67 | +| Test.java:983:20:983:36 | of(...) : List [] : Object | Test.java:984:40:984:41 | in : List [] : Object | provenance | | +| Test.java:983:28:983:35 | source(...) : Object | Test.java:983:20:983:36 | of(...) : List [] : Object | provenance | MaD:4 | +| Test.java:984:4:984:6 | out [post update] : UriBuilder | Test.java:985:9:985:11 | out | provenance | | +| Test.java:984:40:984:41 | in : List [] : Object | Test.java:984:4:984:6 | out [post update] : UriBuilder | provenance | MaD:67 | +| Test.java:990:20:990:36 | of(...) : List [] : Object | Test.java:992:51:992:52 | in : List [] : Object | provenance | | +| Test.java:990:28:990:35 | source(...) : Object | Test.java:990:20:990:36 | of(...) : List [] : Object | provenance | MaD:4 | +| Test.java:992:10:992:53 | replaceQueryParam(...) : UriBuilder | Test.java:993:9:993:11 | out | provenance | | +| Test.java:992:51:992:52 | in : List [] : Object | Test.java:992:10:992:53 | replaceQueryParam(...) : UriBuilder | provenance | MaD:67+MaD:65 | +| Test.java:998:20:998:36 | of(...) : List [] : Object | Test.java:1000:51:1000:52 | in : List [] : Object | provenance | | +| Test.java:998:28:998:35 | source(...) : Object | Test.java:998:20:998:36 | of(...) : List [] : Object | provenance | MaD:4 | +| Test.java:1000:10:1000:53 | replaceQueryParam(...) : UriBuilder | Test.java:1001:9:1001:11 | out | provenance | | +| Test.java:1000:51:1000:52 | in : List [] : Object | Test.java:1000:10:1000:53 | replaceQueryParam(...) : UriBuilder | provenance | MaD:67+MaD:65 | +| Test.java:1006:18:1006:39 | {...} : Object[] [[]] : Object | Test.java:1007:40:1007:41 | in : Object[] [[]] : Object | provenance | | +| Test.java:1006:31:1006:38 | source(...) : Object | Test.java:1006:18:1006:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:1007:4:1007:6 | out [post update] : UriBuilder | Test.java:1008:9:1008:11 | out | provenance | | +| Test.java:1007:40:1007:41 | in : Object[] [[]] : Object | Test.java:1007:4:1007:6 | out [post update] : UriBuilder | provenance | MaD:68 | +| Test.java:1013:18:1013:39 | {...} : Object[] [[]] : Object | Test.java:1014:40:1014:41 | in : Object[] [[]] : Object | provenance | | +| Test.java:1013:31:1013:38 | source(...) : Object | Test.java:1013:18:1013:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:1014:4:1014:6 | out [post update] : UriBuilder | Test.java:1015:9:1015:11 | out | provenance | | +| Test.java:1014:40:1014:41 | in : Object[] [[]] : Object | Test.java:1014:4:1014:6 | out [post update] : UriBuilder | provenance | MaD:68 | +| Test.java:1020:18:1020:39 | {...} : Object[] [[]] : Object | Test.java:1022:51:1022:52 | in : Object[] [[]] : Object | provenance | | +| Test.java:1020:31:1020:38 | source(...) : Object | Test.java:1020:18:1020:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:1022:10:1022:53 | replaceQueryParam(...) : UriBuilder | Test.java:1023:9:1023:11 | out | provenance | | +| Test.java:1022:51:1022:52 | in : Object[] [[]] : Object | Test.java:1022:10:1022:53 | replaceQueryParam(...) : UriBuilder | provenance | MaD:68+MaD:65 | +| Test.java:1028:18:1028:39 | {...} : Object[] [[]] : Object | Test.java:1030:51:1030:52 | in : Object[] [[]] : Object | provenance | | +| Test.java:1028:31:1028:38 | source(...) : Object | Test.java:1028:18:1028:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:1030:10:1030:53 | replaceQueryParam(...) : UriBuilder | Test.java:1031:9:1031:11 | out | provenance | | +| Test.java:1030:51:1030:52 | in : Object[] [[]] : Object | Test.java:1030:10:1030:53 | replaceQueryParam(...) : UriBuilder | provenance | MaD:68+MaD:65 | +| Test.java:1036:20:1036:39 | (...)... : UriBuilder | Test.java:1037:10:1037:11 | in : UriBuilder | provenance | | +| Test.java:1036:32:1036:39 | source(...) : Object | Test.java:1036:20:1036:39 | (...)... : UriBuilder | provenance | | +| Test.java:1037:10:1037:11 | in : UriBuilder | Test.java:1037:10:1037:59 | replaceQueryParam(...) : UriBuilder | provenance | MaD:65 | +| Test.java:1037:10:1037:59 | replaceQueryParam(...) : UriBuilder | Test.java:1038:9:1038:11 | out | provenance | | +| Test.java:1043:20:1043:39 | (...)... : UriBuilder | Test.java:1044:10:1044:11 | in : UriBuilder | provenance | | +| Test.java:1043:32:1043:39 | source(...) : Object | Test.java:1043:20:1043:39 | (...)... : UriBuilder | provenance | | +| Test.java:1044:10:1044:11 | in : UriBuilder | Test.java:1044:10:1044:61 | replaceQueryParam(...) : UriBuilder | provenance | MaD:65 | +| Test.java:1044:10:1044:61 | replaceQueryParam(...) : UriBuilder | Test.java:1045:9:1045:11 | out | provenance | | +| Test.java:1050:20:1050:39 | (...)... : UriBuilder | Test.java:1051:10:1051:11 | in : UriBuilder | provenance | | +| Test.java:1050:32:1050:39 | source(...) : Object | Test.java:1050:20:1050:39 | (...)... : UriBuilder | provenance | | +| Test.java:1051:10:1051:11 | in : UriBuilder | Test.java:1051:10:1051:59 | replaceQueryParam(...) : UriBuilder | provenance | MaD:65 | +| Test.java:1051:10:1051:59 | replaceQueryParam(...) : UriBuilder | Test.java:1052:9:1052:11 | out | provenance | | +| Test.java:1057:20:1057:39 | (...)... : UriBuilder | Test.java:1058:10:1058:11 | in : UriBuilder | provenance | | +| Test.java:1057:32:1057:39 | source(...) : Object | Test.java:1057:20:1057:39 | (...)... : UriBuilder | provenance | | +| Test.java:1058:10:1058:11 | in : UriBuilder | Test.java:1058:10:1058:61 | replaceQueryParam(...) : UriBuilder | provenance | MaD:65 | +| Test.java:1058:10:1058:61 | replaceQueryParam(...) : UriBuilder | Test.java:1059:9:1059:11 | out | provenance | | +| Test.java:1064:16:1064:31 | (...)... : String | Test.java:1065:26:1065:27 | in : String | provenance | | +| Test.java:1064:24:1064:31 | source(...) : Object | Test.java:1064:16:1064:31 | (...)... : String | provenance | | +| Test.java:1065:4:1065:6 | out [post update] : UriBuilder | Test.java:1066:9:1066:11 | out | provenance | | +| Test.java:1065:26:1065:27 | in : String | Test.java:1065:4:1065:6 | out [post update] : UriBuilder | provenance | MaD:66 | +| Test.java:1071:16:1071:31 | (...)... : String | Test.java:1072:26:1072:27 | in : String | provenance | | +| Test.java:1071:24:1071:31 | source(...) : Object | Test.java:1071:16:1071:31 | (...)... : String | provenance | | +| Test.java:1072:4:1072:6 | out [post update] : UriBuilder | Test.java:1073:9:1073:11 | out | provenance | | +| Test.java:1072:26:1072:27 | in : String | Test.java:1072:4:1072:6 | out [post update] : UriBuilder | provenance | MaD:66 | +| Test.java:1078:16:1078:31 | (...)... : String | Test.java:1079:26:1079:27 | in : String | provenance | | +| Test.java:1078:24:1078:31 | source(...) : Object | Test.java:1078:16:1078:31 | (...)... : String | provenance | | +| Test.java:1079:4:1079:6 | out [post update] : UriBuilder | Test.java:1080:9:1080:11 | out | provenance | | +| Test.java:1079:26:1079:27 | in : String | Test.java:1079:4:1079:6 | out [post update] : UriBuilder | provenance | MaD:66 | +| Test.java:1085:16:1085:31 | (...)... : String | Test.java:1086:26:1086:27 | in : String | provenance | | +| Test.java:1085:24:1085:31 | source(...) : Object | Test.java:1085:16:1085:31 | (...)... : String | provenance | | +| Test.java:1086:4:1086:6 | out [post update] : UriBuilder | Test.java:1087:9:1087:11 | out | provenance | | +| Test.java:1086:26:1086:27 | in : String | Test.java:1086:4:1086:6 | out [post update] : UriBuilder | provenance | MaD:66 | +| Test.java:1092:16:1092:31 | (...)... : String | Test.java:1094:37:1094:38 | in : String | provenance | | +| Test.java:1092:24:1092:31 | source(...) : Object | Test.java:1092:16:1092:31 | (...)... : String | provenance | | +| Test.java:1094:10:1094:55 | replaceQueryParam(...) : UriBuilder | Test.java:1095:9:1095:11 | out | provenance | | +| Test.java:1094:37:1094:38 | in : String | Test.java:1094:10:1094:55 | replaceQueryParam(...) : UriBuilder | provenance | MaD:66+MaD:65 | +| Test.java:1100:16:1100:31 | (...)... : String | Test.java:1102:37:1102:38 | in : String | provenance | | +| Test.java:1100:24:1100:31 | source(...) : Object | Test.java:1100:16:1100:31 | (...)... : String | provenance | | +| Test.java:1102:10:1102:57 | replaceQueryParam(...) : UriBuilder | Test.java:1103:9:1103:11 | out | provenance | | +| Test.java:1102:37:1102:38 | in : String | Test.java:1102:10:1102:57 | replaceQueryParam(...) : UriBuilder | provenance | MaD:66+MaD:65 | +| Test.java:1108:16:1108:31 | (...)... : String | Test.java:1110:37:1110:38 | in : String | provenance | | +| Test.java:1108:24:1108:31 | source(...) : Object | Test.java:1108:16:1108:31 | (...)... : String | provenance | | +| Test.java:1110:10:1110:55 | replaceQueryParam(...) : UriBuilder | Test.java:1111:9:1111:11 | out | provenance | | +| Test.java:1110:37:1110:38 | in : String | Test.java:1110:10:1110:55 | replaceQueryParam(...) : UriBuilder | provenance | MaD:66+MaD:65 | +| Test.java:1116:16:1116:31 | (...)... : String | Test.java:1118:37:1118:38 | in : String | provenance | | +| Test.java:1116:24:1116:31 | source(...) : Object | Test.java:1116:16:1116:31 | (...)... : String | provenance | | +| Test.java:1118:10:1118:57 | replaceQueryParam(...) : UriBuilder | Test.java:1119:9:1119:11 | out | provenance | | +| Test.java:1118:37:1118:38 | in : String | Test.java:1118:10:1118:57 | replaceQueryParam(...) : UriBuilder | provenance | MaD:66+MaD:65 | +| Test.java:1124:20:1124:39 | (...)... : UriBuilder | Test.java:1125:10:1125:11 | in : UriBuilder | provenance | | +| Test.java:1124:32:1124:39 | source(...) : Object | Test.java:1124:20:1124:39 | (...)... : UriBuilder | provenance | | +| Test.java:1125:10:1125:11 | in : UriBuilder | Test.java:1125:10:1125:36 | replaceQueryParams(...) : UriBuilder | provenance | MaD:69 | +| Test.java:1125:10:1125:36 | replaceQueryParams(...) : UriBuilder | Test.java:1126:9:1126:11 | out | provenance | | +| Test.java:1131:20:1131:39 | (...)... : UriBuilder | Test.java:1132:10:1132:11 | in : UriBuilder | provenance | | +| Test.java:1131:32:1131:39 | source(...) : Object | Test.java:1131:20:1131:39 | (...)... : UriBuilder | provenance | | +| Test.java:1132:10:1132:11 | in : UriBuilder | Test.java:1132:10:1132:36 | replaceQueryParams(...) : UriBuilder | provenance | MaD:69 | +| Test.java:1132:10:1132:36 | replaceQueryParams(...) : UriBuilder | Test.java:1133:9:1133:11 | out | provenance | | +| Test.java:1138:23:1138:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | Test.java:1140:38:1140:39 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:1138:47:1138:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | provenance | | +| Test.java:1138:47:1138:54 | source(...) : Object | Test.java:1138:23:1138:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | provenance | MaD:7 | +| Test.java:1140:10:1140:40 | replaceQueryParams(...) : UriBuilder | Test.java:1141:9:1141:11 | out | provenance | | +| Test.java:1140:38:1140:39 | in : LinkedMultiValueMap [] : Object | Test.java:1140:10:1140:40 | replaceQueryParams(...) : UriBuilder | provenance | MaD:70+MaD:69 | +| Test.java:1146:23:1146:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | Test.java:1148:38:1148:39 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:1146:47:1146:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | provenance | | +| Test.java:1146:47:1146:54 | source(...) : Object | Test.java:1146:23:1146:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | provenance | MaD:7 | +| Test.java:1148:10:1148:40 | replaceQueryParams(...) : UriBuilder | Test.java:1149:9:1149:11 | out | provenance | | +| Test.java:1148:38:1148:39 | in : LinkedMultiValueMap [] : Object | Test.java:1148:10:1148:40 | replaceQueryParams(...) : UriBuilder | provenance | MaD:70+MaD:69 | +| Test.java:1154:23:1154:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | Test.java:1156:38:1156:39 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:1154:49:1154:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | provenance | | +| Test.java:1154:49:1154:56 | source(...) : Object | Test.java:1154:23:1154:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | provenance | MaD:9 | +| Test.java:1156:10:1156:40 | replaceQueryParams(...) : UriBuilder | Test.java:1157:9:1157:11 | out | provenance | | +| Test.java:1156:38:1156:39 | in : LinkedMultiValueMap [] : Object | Test.java:1156:10:1156:40 | replaceQueryParams(...) : UriBuilder | provenance | MaD:71+MaD:69 | +| Test.java:1162:23:1162:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | Test.java:1164:38:1164:39 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:1162:49:1162:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | provenance | | +| Test.java:1162:49:1162:56 | source(...) : Object | Test.java:1162:23:1162:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | provenance | MaD:9 | +| Test.java:1164:10:1164:40 | replaceQueryParams(...) : UriBuilder | Test.java:1165:9:1165:11 | out | provenance | | +| Test.java:1164:38:1164:39 | in : LinkedMultiValueMap [] : Object | Test.java:1164:10:1164:40 | replaceQueryParams(...) : UriBuilder | provenance | MaD:71+MaD:69 | +| Test.java:1170:20:1170:39 | (...)... : UriBuilder | Test.java:1171:10:1171:11 | in : UriBuilder | provenance | | +| Test.java:1170:32:1170:39 | source(...) : Object | Test.java:1170:20:1170:39 | (...)... : UriBuilder | provenance | | +| Test.java:1171:10:1171:11 | in : UriBuilder | Test.java:1171:10:1171:24 | scheme(...) : UriBuilder | provenance | MaD:72 | +| Test.java:1171:10:1171:24 | scheme(...) : UriBuilder | Test.java:1172:9:1172:11 | out | provenance | | +| Test.java:1177:20:1177:39 | (...)... : UriBuilder | Test.java:1178:10:1178:11 | in : UriBuilder | provenance | | +| Test.java:1177:32:1177:39 | source(...) : Object | Test.java:1177:20:1177:39 | (...)... : UriBuilder | provenance | | +| Test.java:1178:10:1178:11 | in : UriBuilder | Test.java:1178:10:1178:24 | scheme(...) : UriBuilder | provenance | MaD:72 | +| Test.java:1178:10:1178:24 | scheme(...) : UriBuilder | Test.java:1179:9:1179:11 | out | provenance | | +| Test.java:1184:16:1184:31 | (...)... : String | Test.java:1185:15:1185:16 | in : String | provenance | | +| Test.java:1184:24:1184:31 | source(...) : Object | Test.java:1184:16:1184:31 | (...)... : String | provenance | | +| Test.java:1185:4:1185:6 | out [post update] : UriBuilder | Test.java:1186:9:1186:11 | out | provenance | | +| Test.java:1185:15:1185:16 | in : String | Test.java:1185:4:1185:6 | out [post update] : UriBuilder | provenance | MaD:73 | +| Test.java:1191:16:1191:31 | (...)... : String | Test.java:1192:15:1192:16 | in : String | provenance | | +| Test.java:1191:24:1191:31 | source(...) : Object | Test.java:1191:16:1191:31 | (...)... : String | provenance | | +| Test.java:1192:4:1192:6 | out [post update] : UriBuilder | Test.java:1193:9:1193:11 | out | provenance | | +| Test.java:1192:15:1192:16 | in : String | Test.java:1192:4:1192:6 | out [post update] : UriBuilder | provenance | MaD:73 | +| Test.java:1198:16:1198:31 | (...)... : String | Test.java:1200:26:1200:27 | in : String | provenance | | +| Test.java:1198:24:1198:31 | source(...) : Object | Test.java:1198:16:1198:31 | (...)... : String | provenance | | +| Test.java:1200:10:1200:28 | scheme(...) : UriBuilder | Test.java:1201:9:1201:11 | out | provenance | | +| Test.java:1200:26:1200:27 | in : String | Test.java:1200:10:1200:28 | scheme(...) : UriBuilder | provenance | MaD:73+MaD:72 | +| Test.java:1206:16:1206:31 | (...)... : String | Test.java:1208:26:1208:27 | in : String | provenance | | +| Test.java:1206:24:1206:31 | source(...) : Object | Test.java:1206:16:1206:31 | (...)... : String | provenance | | +| Test.java:1208:10:1208:28 | scheme(...) : UriBuilder | Test.java:1209:9:1209:11 | out | provenance | | +| Test.java:1208:26:1208:27 | in : String | Test.java:1208:10:1208:28 | scheme(...) : UriBuilder | provenance | MaD:73+MaD:72 | +| Test.java:1214:20:1214:39 | (...)... : UriBuilder | Test.java:1215:10:1215:11 | in : UriBuilder | provenance | | +| Test.java:1214:32:1214:39 | source(...) : Object | Test.java:1214:20:1214:39 | (...)... : UriBuilder | provenance | | +| Test.java:1215:10:1215:11 | in : UriBuilder | Test.java:1215:10:1215:26 | userInfo(...) : UriBuilder | provenance | MaD:74 | +| Test.java:1215:10:1215:26 | userInfo(...) : UriBuilder | Test.java:1216:9:1216:11 | out | provenance | | +| Test.java:1221:20:1221:39 | (...)... : UriBuilder | Test.java:1222:10:1222:11 | in : UriBuilder | provenance | | +| Test.java:1221:32:1221:39 | source(...) : Object | Test.java:1221:20:1221:39 | (...)... : UriBuilder | provenance | | +| Test.java:1222:10:1222:11 | in : UriBuilder | Test.java:1222:10:1222:26 | userInfo(...) : UriBuilder | provenance | MaD:74 | +| Test.java:1222:10:1222:26 | userInfo(...) : UriBuilder | Test.java:1223:9:1223:11 | out | provenance | | +| Test.java:1228:16:1228:31 | (...)... : String | Test.java:1229:17:1229:18 | in : String | provenance | | +| Test.java:1228:24:1228:31 | source(...) : Object | Test.java:1228:16:1228:31 | (...)... : String | provenance | | +| Test.java:1229:4:1229:6 | out [post update] : UriBuilder | Test.java:1230:9:1230:11 | out | provenance | | +| Test.java:1229:17:1229:18 | in : String | Test.java:1229:4:1229:6 | out [post update] : UriBuilder | provenance | MaD:75 | +| Test.java:1235:16:1235:31 | (...)... : String | Test.java:1236:17:1236:18 | in : String | provenance | | +| Test.java:1235:24:1235:31 | source(...) : Object | Test.java:1235:16:1235:31 | (...)... : String | provenance | | +| Test.java:1236:4:1236:6 | out [post update] : UriBuilder | Test.java:1237:9:1237:11 | out | provenance | | +| Test.java:1236:17:1236:18 | in : String | Test.java:1236:4:1236:6 | out [post update] : UriBuilder | provenance | MaD:75 | +| Test.java:1242:16:1242:31 | (...)... : String | Test.java:1244:28:1244:29 | in : String | provenance | | +| Test.java:1242:24:1242:31 | source(...) : Object | Test.java:1242:16:1242:31 | (...)... : String | provenance | | +| Test.java:1244:10:1244:30 | userInfo(...) : UriBuilder | Test.java:1245:9:1245:11 | out | provenance | | +| Test.java:1244:28:1244:29 | in : String | Test.java:1244:10:1244:30 | userInfo(...) : UriBuilder | provenance | MaD:75+MaD:74 | +| Test.java:1250:16:1250:31 | (...)... : String | Test.java:1252:28:1252:29 | in : String | provenance | | +| Test.java:1250:24:1250:31 | source(...) : Object | Test.java:1250:16:1250:31 | (...)... : String | provenance | | +| Test.java:1252:10:1252:30 | userInfo(...) : UriBuilder | Test.java:1253:9:1253:11 | out | provenance | | +| Test.java:1252:28:1252:29 | in : String | Test.java:1252:10:1252:30 | userInfo(...) : UriBuilder | provenance | MaD:75+MaD:74 | +| Test.java:1258:27:1258:53 | (...)... : UriBuilderFactory | Test.java:1259:10:1259:11 | in : UriBuilderFactory | provenance | | +| Test.java:1258:46:1258:53 | source(...) : Object | Test.java:1258:27:1258:53 | (...)... : UriBuilderFactory | provenance | | +| Test.java:1259:10:1259:11 | in : UriBuilderFactory | Test.java:1259:10:1259:21 | builder(...) : UriBuilder | provenance | MaD:76 | +| Test.java:1259:10:1259:21 | builder(...) : UriBuilder | Test.java:1260:9:1260:11 | out | provenance | | +| Test.java:1265:34:1265:67 | (...)... : DefaultUriBuilderFactory | Test.java:1266:10:1266:11 | in : DefaultUriBuilderFactory | provenance | | +| Test.java:1265:60:1265:67 | source(...) : Object | Test.java:1265:34:1265:67 | (...)... : DefaultUriBuilderFactory | provenance | | +| Test.java:1266:10:1266:11 | in : DefaultUriBuilderFactory | Test.java:1266:10:1266:21 | builder(...) : UriBuilder | provenance | MaD:21 | +| Test.java:1266:10:1266:11 | in : DefaultUriBuilderFactory | Test.java:1266:10:1266:21 | builder(...) : UriBuilder | provenance | MaD:76 | +| Test.java:1266:10:1266:21 | builder(...) : UriBuilder | Test.java:1267:9:1267:11 | out | provenance | | +| Test.java:1272:27:1272:53 | (...)... : UriBuilderFactory | Test.java:1273:10:1273:11 | in : UriBuilderFactory | provenance | | +| Test.java:1272:46:1272:53 | source(...) : Object | Test.java:1272:27:1272:53 | (...)... : UriBuilderFactory | provenance | | +| Test.java:1273:10:1273:11 | in : UriBuilderFactory | Test.java:1273:10:1273:27 | uriString(...) : UriBuilder | provenance | MaD:77 | +| Test.java:1273:10:1273:27 | uriString(...) : UriBuilder | Test.java:1274:9:1274:11 | out | provenance | | +| Test.java:1279:16:1279:31 | (...)... : String | Test.java:1281:29:1281:30 | in : String | provenance | | +| Test.java:1279:24:1279:31 | source(...) : Object | Test.java:1279:16:1279:31 | (...)... : String | provenance | | +| Test.java:1281:10:1281:31 | uriString(...) : UriBuilder | Test.java:1282:9:1282:11 | out | provenance | | +| Test.java:1281:29:1281:30 | in : String | Test.java:1281:10:1281:31 | uriString(...) : UriBuilder | provenance | MaD:78 | +| Test.java:1287:16:1287:31 | (...)... : String | Test.java:1289:29:1289:30 | in : String | provenance | | +| Test.java:1287:24:1287:31 | source(...) : Object | Test.java:1287:16:1287:31 | (...)... : String | provenance | | +| Test.java:1289:10:1289:31 | uriString(...) : UriBuilder | Test.java:1290:9:1290:11 | out | provenance | | +| Test.java:1289:29:1289:30 | in : String | Test.java:1289:10:1289:31 | uriString(...) : UriBuilder | provenance | MaD:78 | +| Test.java:1295:34:1295:67 | (...)... : DefaultUriBuilderFactory | Test.java:1296:10:1296:11 | in : DefaultUriBuilderFactory | provenance | | +| Test.java:1295:60:1295:67 | source(...) : Object | Test.java:1295:34:1295:67 | (...)... : DefaultUriBuilderFactory | provenance | | +| Test.java:1296:10:1296:11 | in : DefaultUriBuilderFactory | Test.java:1296:10:1296:27 | uriString(...) : UriBuilder | provenance | MaD:24 | +| Test.java:1296:10:1296:11 | in : DefaultUriBuilderFactory | Test.java:1296:10:1296:27 | uriString(...) : UriBuilder | provenance | MaD:77 | +| Test.java:1296:10:1296:27 | uriString(...) : UriBuilder | Test.java:1297:9:1297:11 | out | provenance | | +| Test.java:1302:44:1302:95 | new StubUriTemplateVariables(...) : StubUriTemplateVariables [] : Object | Test.java:1303:10:1303:11 | in : StubUriTemplateVariables [] : Object | provenance | | +| Test.java:1302:73:1302:94 | of(...) : Map [] : Object | Test.java:44:30:44:34 | m : Map [] : Object | provenance | | +| Test.java:1302:73:1302:94 | of(...) : Map [] : Object | Test.java:1302:44:1302:95 | new StubUriTemplateVariables(...) : StubUriTemplateVariables [] : Object | provenance | MaD:2 | +| Test.java:1302:86:1302:93 | source(...) : Object | Test.java:1302:73:1302:94 | of(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:1303:10:1303:11 | in : StubUriTemplateVariables [] : Object | Test.java:46:19:46:26 | parameter this : StubUriTemplateVariables [] : Object | provenance | | +| Test.java:1303:10:1303:11 | in : StubUriTemplateVariables [] : Object | Test.java:1303:10:1303:26 | getValue(...) : Object | provenance | MaD:5 | +| Test.java:1303:10:1303:11 | in : StubUriTemplateVariables [] : Object | Test.java:1303:10:1303:26 | getValue(...) : Object | provenance | MaD:97 | +| Test.java:1303:10:1303:26 | getValue(...) : Object | Test.java:1304:9:1304:11 | out | provenance | | +| Test.java:1323:23:1323:45 | (...)... : UriComponents | Test.java:1324:10:1324:11 | in : UriComponents | provenance | | +| Test.java:1323:38:1323:45 | source(...) : Object | Test.java:1323:23:1323:45 | (...)... : UriComponents | provenance | | +| Test.java:1324:10:1324:11 | in : UriComponents | Test.java:1324:10:1324:24 | encode(...) : UriComponents | provenance | MaD:79 | +| Test.java:1324:10:1324:24 | encode(...) : UriComponents | Test.java:1325:9:1325:11 | out | provenance | | +| Test.java:1330:23:1330:45 | (...)... : UriComponents | Test.java:1331:10:1331:11 | in : UriComponents | provenance | | +| Test.java:1330:38:1330:45 | source(...) : Object | Test.java:1330:23:1330:45 | (...)... : UriComponents | provenance | | +| Test.java:1331:10:1331:11 | in : UriComponents | Test.java:1331:10:1331:20 | encode(...) : UriComponents | provenance | MaD:79 | +| Test.java:1331:10:1331:20 | encode(...) : UriComponents | Test.java:1332:9:1332:11 | out | provenance | | +| Test.java:1337:13:1337:37 | newMapWithValue(...) : Map [] : Object | Test.java:1339:26:1339:27 | in : Map [] : Object | provenance | | +| Test.java:1337:29:1337:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | provenance | | +| Test.java:1337:29:1337:36 | source(...) : Object | Test.java:1337:13:1337:37 | newMapWithValue(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:1339:10:1339:28 | expand(...) : UriComponents | Test.java:1340:9:1340:11 | out | provenance | | +| Test.java:1339:26:1339:27 | in : Map [] : Object | Test.java:1339:10:1339:28 | expand(...) : UriComponents | provenance | MaD:80 | +| Test.java:1345:18:1345:39 | {...} : Object[] [[]] : Object | Test.java:1347:26:1347:27 | in : Object[] [[]] : Object | provenance | | +| Test.java:1345:31:1345:38 | source(...) : Object | Test.java:1345:18:1345:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:1347:10:1347:28 | expand(...) : UriComponents | Test.java:1348:9:1348:11 | out | provenance | | +| Test.java:1347:26:1347:27 | in : Object[] [[]] : Object | Test.java:1347:10:1347:28 | expand(...) : UriComponents | provenance | MaD:81 | +| Test.java:1353:44:1353:95 | new StubUriTemplateVariables(...) : StubUriTemplateVariables [] : Object | Test.java:1355:26:1355:27 | in : StubUriTemplateVariables [] : Object | provenance | | +| Test.java:1353:73:1353:94 | of(...) : Map [] : Object | Test.java:44:30:44:34 | m : Map [] : Object | provenance | | +| Test.java:1353:73:1353:94 | of(...) : Map [] : Object | Test.java:1353:44:1353:95 | new StubUriTemplateVariables(...) : StubUriTemplateVariables [] : Object | provenance | MaD:2 | +| Test.java:1353:86:1353:93 | source(...) : Object | Test.java:1353:73:1353:94 | of(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:1355:10:1355:28 | expand(...) : UriComponents | Test.java:1356:9:1356:11 | out | provenance | | +| Test.java:1355:26:1355:27 | in : StubUriTemplateVariables [] : Object | Test.java:1355:10:1355:28 | expand(...) : UriComponents | provenance | MaD:82 | +| Test.java:1361:23:1361:45 | (...)... : UriComponents | Test.java:1362:10:1362:11 | in : UriComponents | provenance | | +| Test.java:1361:38:1361:45 | source(...) : Object | Test.java:1361:23:1361:45 | (...)... : UriComponents | provenance | | +| Test.java:1362:10:1362:11 | in : UriComponents | Test.java:1362:10:1362:25 | getFragment(...) : String | provenance | MaD:83 | +| Test.java:1362:10:1362:25 | getFragment(...) : String | Test.java:1363:9:1363:11 | out | provenance | | +| Test.java:1368:23:1368:45 | (...)... : UriComponents | Test.java:1369:10:1369:11 | in : UriComponents | provenance | | +| Test.java:1368:38:1368:45 | source(...) : Object | Test.java:1368:23:1368:45 | (...)... : UriComponents | provenance | | +| Test.java:1369:10:1369:11 | in : UriComponents | Test.java:1369:10:1369:21 | getHost(...) : String | provenance | MaD:84 | +| Test.java:1369:10:1369:21 | getHost(...) : String | Test.java:1370:9:1370:11 | out | provenance | | +| Test.java:1375:23:1375:45 | (...)... : UriComponents | Test.java:1376:10:1376:11 | in : UriComponents | provenance | | +| Test.java:1375:38:1375:45 | source(...) : Object | Test.java:1375:23:1375:45 | (...)... : UriComponents | provenance | | +| Test.java:1376:10:1376:11 | in : UriComponents | Test.java:1376:10:1376:21 | getPath(...) : String | provenance | MaD:85 | +| Test.java:1376:10:1376:21 | getPath(...) : String | Test.java:1377:9:1377:11 | out | provenance | | +| Test.java:1382:23:1382:45 | (...)... : UriComponents | Test.java:1383:10:1383:11 | in : UriComponents | provenance | | +| Test.java:1382:38:1382:45 | source(...) : Object | Test.java:1382:23:1382:45 | (...)... : UriComponents | provenance | | +| Test.java:1383:10:1383:11 | in : UriComponents | Test.java:1383:10:1383:29 | getPathSegments(...) : List | provenance | MaD:86 | +| Test.java:1383:10:1383:29 | getPathSegments(...) : List | Test.java:1384:9:1384:11 | out | provenance | | +| Test.java:1389:23:1389:45 | (...)... : UriComponents | Test.java:1390:10:1390:11 | in : UriComponents | provenance | | +| Test.java:1389:38:1389:45 | source(...) : Object | Test.java:1389:23:1389:45 | (...)... : UriComponents | provenance | | +| Test.java:1390:10:1390:11 | in : UriComponents | Test.java:1390:10:1390:22 | getQuery(...) : String | provenance | MaD:87 | +| Test.java:1390:10:1390:22 | getQuery(...) : String | Test.java:1391:9:1391:11 | out | provenance | | +| Test.java:1396:23:1396:45 | (...)... : UriComponents | Test.java:1397:10:1397:11 | in : UriComponents | provenance | | +| Test.java:1396:38:1396:45 | source(...) : Object | Test.java:1396:23:1396:45 | (...)... : UriComponents | provenance | | +| Test.java:1397:10:1397:11 | in : UriComponents | Test.java:1397:10:1397:28 | getQueryParams(...) : MultiValueMap [, ] : Object | provenance | MaD:89 | +| Test.java:1397:10:1397:28 | getQueryParams(...) : MultiValueMap [, ] : Object | Test.java:1398:38:1398:40 | out : MultiValueMap [, ] : Object | provenance | | +| Test.java:1398:20:1398:41 | (...)... : List [] : Object | Test.java:49:20:49:39 | container : List [] : Object | provenance | | +| Test.java:1398:20:1398:41 | (...)... : List [] : Object | Test.java:1398:9:1398:42 | getElement(...) | provenance | MaD:1 | +| Test.java:1398:26:1398:41 | getMapValue(...) : Object [] : Object | Test.java:1398:20:1398:41 | (...)... : List [] : Object | provenance | | +| Test.java:1398:38:1398:40 | out : MultiValueMap [, ] : Object | Test.java:51:20:51:29 | m : MultiValueMap [, ] : Object | provenance | | +| Test.java:1398:38:1398:40 | out : MultiValueMap [, ] : Object | Test.java:1398:26:1398:41 | getMapValue(...) : Object [] : Object | provenance | MaD:5 | +| Test.java:1403:23:1403:45 | (...)... : UriComponents | Test.java:1404:10:1404:11 | in : UriComponents | provenance | | +| Test.java:1403:38:1403:45 | source(...) : Object | Test.java:1403:23:1403:45 | (...)... : UriComponents | provenance | | +| Test.java:1404:10:1404:11 | in : UriComponents | Test.java:1404:10:1404:28 | getQueryParams(...) : MultiValueMap [] : Object | provenance | MaD:88 | +| Test.java:1404:10:1404:28 | getQueryParams(...) : MultiValueMap [] : Object | Test.java:1405:19:1405:21 | out : MultiValueMap [] : Object | provenance | | +| Test.java:1405:19:1405:21 | out : MultiValueMap [] : Object | Test.java:50:18:50:27 | m : MultiValueMap [] : Object | provenance | | +| Test.java:1405:19:1405:21 | out : MultiValueMap [] : Object | Test.java:1405:9:1405:22 | getMapKey(...) | provenance | MaD:6 | +| Test.java:1410:23:1410:45 | (...)... : UriComponents | Test.java:1411:10:1411:11 | in : UriComponents | provenance | | +| Test.java:1410:38:1410:45 | source(...) : Object | Test.java:1410:23:1410:45 | (...)... : UriComponents | provenance | | +| Test.java:1411:10:1411:11 | in : UriComponents | Test.java:1411:10:1411:23 | getScheme(...) : String | provenance | MaD:90 | +| Test.java:1411:10:1411:23 | getScheme(...) : String | Test.java:1412:9:1412:11 | out | provenance | | +| Test.java:1417:23:1417:45 | (...)... : UriComponents | Test.java:1418:10:1418:11 | in : UriComponents | provenance | | +| Test.java:1417:38:1417:45 | source(...) : Object | Test.java:1417:23:1417:45 | (...)... : UriComponents | provenance | | +| Test.java:1418:10:1418:11 | in : UriComponents | Test.java:1418:10:1418:35 | getSchemeSpecificPart(...) : String | provenance | MaD:91 | +| Test.java:1418:10:1418:35 | getSchemeSpecificPart(...) : String | Test.java:1419:9:1419:11 | out | provenance | | +| Test.java:1424:23:1424:45 | (...)... : UriComponents | Test.java:1425:10:1425:11 | in : UriComponents | provenance | | +| Test.java:1424:38:1424:45 | source(...) : Object | Test.java:1424:23:1424:45 | (...)... : UriComponents | provenance | | +| Test.java:1425:10:1425:11 | in : UriComponents | Test.java:1425:10:1425:25 | getUserInfo(...) : String | provenance | MaD:92 | +| Test.java:1425:10:1425:25 | getUserInfo(...) : String | Test.java:1426:9:1426:11 | out | provenance | | +| Test.java:1431:23:1431:45 | (...)... : UriComponents | Test.java:1432:10:1432:11 | in : UriComponents | provenance | | +| Test.java:1431:38:1431:45 | source(...) : Object | Test.java:1431:23:1431:45 | (...)... : UriComponents | provenance | | +| Test.java:1432:10:1432:11 | in : UriComponents | Test.java:1432:10:1432:19 | toUri(...) : URI | provenance | MaD:95 | +| Test.java:1432:10:1432:19 | toUri(...) : URI | Test.java:1433:9:1433:11 | out | provenance | | +| Test.java:1438:23:1438:45 | (...)... : UriComponents | Test.java:1439:10:1439:11 | in : UriComponents | provenance | | +| Test.java:1438:38:1438:45 | source(...) : Object | Test.java:1438:23:1438:45 | (...)... : UriComponents | provenance | | +| Test.java:1439:10:1439:11 | in : UriComponents | Test.java:1439:10:1439:25 | toUriString(...) : String | provenance | MaD:96 | +| Test.java:1439:10:1439:25 | toUriString(...) : String | Test.java:1440:9:1440:11 | out | provenance | | +| Test.java:1445:13:1445:37 | newMapWithValue(...) : Map [] : Object | Test.java:1447:25:1447:26 | in : Map [] : Object | provenance | | +| Test.java:1445:29:1445:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | provenance | | +| Test.java:1445:29:1445:36 | source(...) : Object | Test.java:1445:13:1445:37 | newMapWithValue(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:1447:10:1447:27 | build(...) : URI | Test.java:1448:9:1448:11 | out | provenance | | +| Test.java:1447:25:1447:26 | in : Map [] : Object | Test.java:1447:10:1447:27 | build(...) : URI | provenance | MaD:37 | +| Test.java:1453:18:1453:39 | {...} : Object[] [[]] : Object | Test.java:1455:25:1455:26 | in : Object[] [[]] : Object | provenance | | +| Test.java:1453:31:1453:38 | source(...) : Object | Test.java:1453:18:1453:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:1455:10:1455:27 | build(...) : URI | Test.java:1456:9:1456:11 | out | provenance | | +| Test.java:1455:25:1455:26 | in : Object[] [[]] : Object | Test.java:1455:10:1455:27 | build(...) : URI | provenance | MaD:38 | +| Test.java:1461:30:1461:59 | (...)... : UriComponentsBuilder | Test.java:1462:10:1462:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1461:52:1461:59 | source(...) : Object | Test.java:1461:30:1461:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1462:10:1462:11 | in : UriComponentsBuilder | Test.java:1462:10:1462:24 | build(...) : UriComponents | provenance | MaD:98 | +| Test.java:1462:10:1462:24 | build(...) : UriComponents | Test.java:1463:9:1463:11 | out | provenance | | +| Test.java:1468:30:1468:59 | (...)... : UriComponentsBuilder | Test.java:1469:10:1469:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1468:52:1468:59 | source(...) : Object | Test.java:1468:30:1468:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1469:10:1469:11 | in : UriComponentsBuilder | Test.java:1469:10:1469:19 | build(...) : UriComponents | provenance | MaD:98 | +| Test.java:1469:10:1469:19 | build(...) : UriComponents | Test.java:1470:9:1470:11 | out | provenance | | +| Test.java:1475:30:1475:59 | (...)... : UriComponentsBuilder | Test.java:1476:10:1476:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1475:52:1475:59 | source(...) : Object | Test.java:1475:30:1475:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1476:10:1476:11 | in : UriComponentsBuilder | Test.java:1476:10:1476:33 | build(...) : URI | provenance | MaD:35 | +| Test.java:1476:10:1476:11 | in : UriComponentsBuilder | Test.java:1476:10:1476:33 | build(...) : URI | provenance | MaD:98 | +| Test.java:1476:10:1476:33 | build(...) : URI | Test.java:1477:9:1477:11 | out | provenance | | +| Test.java:1482:30:1482:59 | (...)... : UriComponentsBuilder | Test.java:1483:10:1483:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1482:52:1482:59 | source(...) : Object | Test.java:1482:30:1482:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1483:10:1483:11 | in : UriComponentsBuilder | Test.java:1483:10:1483:28 | build(...) : URI | provenance | MaD:35 | +| Test.java:1483:10:1483:11 | in : UriComponentsBuilder | Test.java:1483:10:1483:28 | build(...) : URI | provenance | MaD:98 | +| Test.java:1483:10:1483:28 | build(...) : URI | Test.java:1484:9:1484:11 | out | provenance | | +| Test.java:1489:13:1489:37 | newMapWithValue(...) : Map [] : Object | Test.java:1491:34:1491:35 | in : Map [] : Object | provenance | | +| Test.java:1489:29:1489:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | provenance | | +| Test.java:1489:29:1489:36 | source(...) : Object | Test.java:1489:13:1489:37 | newMapWithValue(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:1491:10:1491:36 | buildAndExpand(...) : UriComponents | Test.java:1492:9:1492:11 | out | provenance | | +| Test.java:1491:34:1491:35 | in : Map [] : Object | Test.java:1491:10:1491:36 | buildAndExpand(...) : UriComponents | provenance | MaD:99 | +| Test.java:1497:18:1497:39 | {...} : Object[] [[]] : Object | Test.java:1499:34:1499:35 | in : Object[] [[]] : Object | provenance | | +| Test.java:1497:31:1497:38 | source(...) : Object | Test.java:1497:18:1497:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:1499:10:1499:36 | buildAndExpand(...) : UriComponents | Test.java:1500:9:1500:11 | out | provenance | | +| Test.java:1499:34:1499:35 | in : Object[] [[]] : Object | Test.java:1499:10:1499:36 | buildAndExpand(...) : UriComponents | provenance | MaD:100 | +| Test.java:1505:30:1505:59 | (...)... : UriComponentsBuilder | Test.java:1506:10:1506:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1505:52:1505:59 | source(...) : Object | Test.java:1505:30:1505:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1506:10:1506:11 | in : UriComponentsBuilder | Test.java:1506:10:1506:26 | cloneBuilder(...) : UriComponentsBuilder | provenance | MaD:101 | +| Test.java:1506:10:1506:26 | cloneBuilder(...) : UriComponentsBuilder | Test.java:1507:9:1507:11 | out | provenance | | +| Test.java:1512:30:1512:59 | (...)... : UriComponentsBuilder | Test.java:1513:10:1513:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1512:52:1512:59 | source(...) : Object | Test.java:1512:30:1512:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1513:10:1513:11 | in : UriComponentsBuilder | Test.java:1513:10:1513:24 | encode(...) : UriComponentsBuilder | provenance | MaD:102 | +| Test.java:1513:10:1513:24 | encode(...) : UriComponentsBuilder | Test.java:1514:9:1514:11 | out | provenance | | +| Test.java:1519:30:1519:59 | (...)... : UriComponentsBuilder | Test.java:1520:10:1520:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1519:52:1519:59 | source(...) : Object | Test.java:1519:30:1519:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1520:10:1520:11 | in : UriComponentsBuilder | Test.java:1520:10:1520:20 | encode(...) : UriComponentsBuilder | provenance | MaD:102 | +| Test.java:1520:10:1520:20 | encode(...) : UriComponentsBuilder | Test.java:1521:9:1521:11 | out | provenance | | +| Test.java:1526:30:1526:59 | (...)... : UriComponentsBuilder | Test.java:1527:10:1527:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1526:52:1526:59 | source(...) : Object | Test.java:1526:30:1526:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1527:10:1527:11 | in : UriComponentsBuilder | Test.java:1527:10:1527:26 | fragment(...) : UriComponentsBuilder | provenance | MaD:39 | +| Test.java:1527:10:1527:26 | fragment(...) : UriComponentsBuilder | Test.java:1528:9:1528:11 | out | provenance | | +| Test.java:1533:16:1533:31 | (...)... : String | Test.java:1535:28:1535:29 | in : String | provenance | | +| Test.java:1533:24:1533:31 | source(...) : Object | Test.java:1533:16:1533:31 | (...)... : String | provenance | | +| Test.java:1535:10:1535:30 | fragment(...) : UriComponentsBuilder | Test.java:1536:9:1536:11 | out | provenance | | +| Test.java:1535:28:1535:29 | in : String | Test.java:1535:10:1535:30 | fragment(...) : UriComponentsBuilder | provenance | MaD:40+MaD:39 | +| Test.java:1541:21:1541:41 | (...)... : HttpRequest | Test.java:1542:47:1542:48 | in : HttpRequest | provenance | | +| Test.java:1541:34:1541:41 | source(...) : Object | Test.java:1541:21:1541:41 | (...)... : HttpRequest | provenance | | +| Test.java:1542:10:1542:49 | fromHttpRequest(...) : UriComponentsBuilder | Test.java:1543:9:1543:11 | out | provenance | | +| Test.java:1542:47:1542:48 | in : HttpRequest | Test.java:1542:10:1542:49 | fromHttpRequest(...) : UriComponentsBuilder | provenance | MaD:103 | +| Test.java:1548:16:1548:31 | (...)... : String | Test.java:1549:43:1549:44 | in : String | provenance | | +| Test.java:1548:24:1548:31 | source(...) : Object | Test.java:1548:16:1548:31 | (...)... : String | provenance | | +| Test.java:1549:10:1549:45 | fromHttpUrl(...) : UriComponentsBuilder | Test.java:1550:9:1550:11 | out | provenance | | +| Test.java:1549:43:1549:44 | in : String | Test.java:1549:10:1549:45 | fromHttpUrl(...) : UriComponentsBuilder | provenance | MaD:104 | +| Test.java:1555:16:1555:31 | (...)... : String | Test.java:1556:48:1556:49 | in : String | provenance | | +| Test.java:1555:24:1555:31 | source(...) : Object | Test.java:1555:16:1555:31 | (...)... : String | provenance | | +| Test.java:1556:10:1556:50 | fromOriginHeader(...) : UriComponentsBuilder | Test.java:1557:9:1557:11 | out | provenance | | +| Test.java:1556:48:1556:49 | in : String | Test.java:1556:10:1556:50 | fromOriginHeader(...) : UriComponentsBuilder | provenance | MaD:105 | +| Test.java:1562:16:1562:31 | (...)... : String | Test.java:1563:40:1563:41 | in : String | provenance | | +| Test.java:1562:24:1562:31 | source(...) : Object | Test.java:1562:16:1562:31 | (...)... : String | provenance | | +| Test.java:1563:10:1563:42 | fromPath(...) : UriComponentsBuilder | Test.java:1564:9:1564:11 | out | provenance | | +| Test.java:1563:40:1563:41 | in : String | Test.java:1563:10:1563:42 | fromPath(...) : UriComponentsBuilder | provenance | MaD:106 | +| Test.java:1569:13:1569:25 | (...)... : URI | Test.java:1570:39:1570:40 | in : URI | provenance | | +| Test.java:1569:18:1569:25 | source(...) : Object | Test.java:1569:13:1569:25 | (...)... : URI | provenance | | +| Test.java:1570:10:1570:41 | fromUri(...) : UriComponentsBuilder | Test.java:1571:9:1571:11 | out | provenance | | +| Test.java:1570:39:1570:40 | in : URI | Test.java:1570:10:1570:41 | fromUri(...) : UriComponentsBuilder | provenance | MaD:107 | +| Test.java:1576:16:1576:31 | (...)... : String | Test.java:1577:45:1577:46 | in : String | provenance | | +| Test.java:1576:24:1576:31 | source(...) : Object | Test.java:1576:16:1576:31 | (...)... : String | provenance | | +| Test.java:1577:10:1577:47 | fromUriString(...) : UriComponentsBuilder | Test.java:1578:9:1578:11 | out | provenance | | +| Test.java:1577:45:1577:46 | in : String | Test.java:1577:10:1577:47 | fromUriString(...) : UriComponentsBuilder | provenance | MaD:108 | +| Test.java:1583:30:1583:59 | (...)... : UriComponentsBuilder | Test.java:1584:10:1584:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1583:52:1583:59 | source(...) : Object | Test.java:1583:30:1583:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1584:10:1584:11 | in : UriComponentsBuilder | Test.java:1584:10:1584:22 | host(...) : UriComponentsBuilder | provenance | MaD:41 | +| Test.java:1584:10:1584:22 | host(...) : UriComponentsBuilder | Test.java:1585:9:1585:11 | out | provenance | | +| Test.java:1590:16:1590:31 | (...)... : String | Test.java:1592:24:1592:25 | in : String | provenance | | +| Test.java:1590:24:1590:31 | source(...) : Object | Test.java:1590:16:1590:31 | (...)... : String | provenance | | +| Test.java:1592:10:1592:26 | host(...) : UriComponentsBuilder | Test.java:1593:9:1593:11 | out | provenance | | +| Test.java:1592:24:1592:25 | in : String | Test.java:1592:10:1592:26 | host(...) : UriComponentsBuilder | provenance | MaD:42+MaD:41 | +| Test.java:1598:27:1598:53 | (...)... : InetSocketAddress | Test.java:1599:55:1599:56 | in : InetSocketAddress | provenance | | +| Test.java:1598:46:1598:53 | source(...) : Object | Test.java:1598:27:1598:53 | (...)... : InetSocketAddress | provenance | | +| Test.java:1599:10:1599:57 | parseForwardedFor(...) : InetSocketAddress | Test.java:1600:9:1600:11 | out | provenance | | +| Test.java:1599:55:1599:56 | in : InetSocketAddress | Test.java:1599:10:1599:57 | parseForwardedFor(...) : InetSocketAddress | provenance | MaD:109 | +| Test.java:1605:21:1605:41 | (...)... : HttpRequest | Test.java:1606:49:1606:50 | in : HttpRequest | provenance | | +| Test.java:1605:34:1605:41 | source(...) : Object | Test.java:1605:21:1605:41 | (...)... : HttpRequest | provenance | | +| Test.java:1606:10:1606:57 | parseForwardedFor(...) : InetSocketAddress | Test.java:1607:9:1607:11 | out | provenance | | +| Test.java:1606:49:1606:50 | in : HttpRequest | Test.java:1606:10:1606:57 | parseForwardedFor(...) : InetSocketAddress | provenance | MaD:109 | +| Test.java:1612:30:1612:59 | (...)... : UriComponentsBuilder | Test.java:1613:10:1613:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1612:52:1612:59 | source(...) : Object | Test.java:1612:30:1612:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1613:10:1613:11 | in : UriComponentsBuilder | Test.java:1613:10:1613:22 | path(...) : UriComponentsBuilder | provenance | MaD:43 | +| Test.java:1613:10:1613:22 | path(...) : UriComponentsBuilder | Test.java:1614:9:1614:11 | out | provenance | | +| Test.java:1619:16:1619:31 | (...)... : String | Test.java:1621:24:1621:25 | in : String | provenance | | +| Test.java:1619:24:1619:31 | source(...) : Object | Test.java:1619:16:1619:31 | (...)... : String | provenance | | +| Test.java:1621:10:1621:26 | path(...) : UriComponentsBuilder | Test.java:1622:9:1622:11 | out | provenance | | +| Test.java:1621:24:1621:25 | in : String | Test.java:1621:10:1621:26 | path(...) : UriComponentsBuilder | provenance | MaD:44+MaD:43 | +| Test.java:1627:30:1627:59 | (...)... : UriComponentsBuilder | Test.java:1628:10:1628:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1627:52:1627:59 | source(...) : Object | Test.java:1627:30:1627:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1628:10:1628:11 | in : UriComponentsBuilder | Test.java:1628:10:1628:39 | pathSegment(...) : UriComponentsBuilder | provenance | MaD:45 | +| Test.java:1628:10:1628:39 | pathSegment(...) : UriComponentsBuilder | Test.java:1629:9:1629:11 | out | provenance | | +| Test.java:1634:18:1634:47 | {...} : String[] [[]] : String | Test.java:1636:31:1636:32 | in : String[] [[]] : String | provenance | | +| Test.java:1634:31:1634:46 | (...)... : String | Test.java:1634:18:1634:47 | {...} : String[] [[]] : String | provenance | | +| Test.java:1634:39:1634:46 | source(...) : Object | Test.java:1634:31:1634:46 | (...)... : String | provenance | | +| Test.java:1636:10:1636:33 | pathSegment(...) : UriComponentsBuilder | Test.java:1637:9:1637:11 | out | provenance | | +| Test.java:1636:31:1636:32 | in : String[] [[]] : String | Test.java:1636:10:1636:33 | pathSegment(...) : UriComponentsBuilder | provenance | MaD:46+MaD:45 | +| Test.java:1642:16:1642:31 | (...)... : String | Test.java:1644:24:1644:25 | in : String | provenance | | +| Test.java:1642:24:1642:31 | source(...) : Object | Test.java:1642:16:1642:31 | (...)... : String | provenance | | +| Test.java:1644:10:1644:26 | port(...) : UriComponentsBuilder | Test.java:1645:9:1645:11 | out | provenance | | +| Test.java:1644:24:1644:25 | in : String | Test.java:1644:10:1644:26 | port(...) : UriComponentsBuilder | provenance | MaD:48+MaD:47 | +| Test.java:1650:30:1650:59 | (...)... : UriComponentsBuilder | Test.java:1651:10:1651:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1650:52:1650:59 | source(...) : Object | Test.java:1650:30:1650:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1651:10:1651:11 | in : UriComponentsBuilder | Test.java:1651:10:1651:19 | port(...) : UriComponentsBuilder | provenance | MaD:47 | +| Test.java:1651:10:1651:19 | port(...) : UriComponentsBuilder | Test.java:1652:9:1652:11 | out | provenance | | +| Test.java:1657:30:1657:59 | (...)... : UriComponentsBuilder | Test.java:1658:10:1658:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1657:52:1657:59 | source(...) : Object | Test.java:1657:30:1657:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1658:10:1658:11 | in : UriComponentsBuilder | Test.java:1658:10:1658:30 | port(...) : UriComponentsBuilder | provenance | MaD:47 | +| Test.java:1658:10:1658:30 | port(...) : UriComponentsBuilder | Test.java:1659:9:1659:11 | out | provenance | | +| Test.java:1664:30:1664:59 | (...)... : UriComponentsBuilder | Test.java:1665:10:1665:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1664:52:1664:59 | source(...) : Object | Test.java:1664:30:1664:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1665:10:1665:11 | in : UriComponentsBuilder | Test.java:1665:10:1665:23 | query(...) : UriComponentsBuilder | provenance | MaD:49 | +| Test.java:1665:10:1665:23 | query(...) : UriComponentsBuilder | Test.java:1666:9:1666:11 | out | provenance | | +| Test.java:1671:16:1671:31 | (...)... : String | Test.java:1673:25:1673:26 | in : String | provenance | | +| Test.java:1671:24:1671:31 | source(...) : Object | Test.java:1671:16:1671:31 | (...)... : String | provenance | | +| Test.java:1673:10:1673:27 | query(...) : UriComponentsBuilder | Test.java:1674:9:1674:11 | out | provenance | | +| Test.java:1673:25:1673:26 | in : String | Test.java:1673:10:1673:27 | query(...) : UriComponentsBuilder | provenance | MaD:50+MaD:49 | +| Test.java:1679:20:1679:36 | of(...) : List [] : Object | Test.java:1681:44:1681:45 | in : List [] : Object | provenance | | +| Test.java:1679:28:1679:35 | source(...) : Object | Test.java:1679:20:1679:36 | of(...) : List [] : Object | provenance | MaD:4 | +| Test.java:1681:10:1681:46 | queryParam(...) : UriComponentsBuilder | Test.java:1682:9:1682:11 | out | provenance | | +| Test.java:1681:44:1681:45 | in : List [] : Object | Test.java:1681:10:1681:46 | queryParam(...) : UriComponentsBuilder | provenance | MaD:53+MaD:51 | +| Test.java:1687:18:1687:39 | {...} : Object[] [[]] : Object | Test.java:1689:44:1689:45 | in : Object[] [[]] : Object | provenance | | +| Test.java:1687:31:1687:38 | source(...) : Object | Test.java:1687:18:1687:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:1689:10:1689:46 | queryParam(...) : UriComponentsBuilder | Test.java:1690:9:1690:11 | out | provenance | | +| Test.java:1689:44:1689:45 | in : Object[] [[]] : Object | Test.java:1689:10:1689:46 | queryParam(...) : UriComponentsBuilder | provenance | MaD:54+MaD:51 | +| Test.java:1695:30:1695:59 | (...)... : UriComponentsBuilder | Test.java:1696:10:1696:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1695:52:1695:59 | source(...) : Object | Test.java:1695:30:1695:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1696:10:1696:11 | in : UriComponentsBuilder | Test.java:1696:10:1696:52 | queryParam(...) : UriComponentsBuilder | provenance | MaD:51 | +| Test.java:1696:10:1696:52 | queryParam(...) : UriComponentsBuilder | Test.java:1697:9:1697:11 | out | provenance | | +| Test.java:1702:30:1702:59 | (...)... : UriComponentsBuilder | Test.java:1703:10:1703:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1702:52:1702:59 | source(...) : Object | Test.java:1702:30:1702:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1703:10:1703:11 | in : UriComponentsBuilder | Test.java:1703:10:1703:54 | queryParam(...) : UriComponentsBuilder | provenance | MaD:51 | +| Test.java:1703:10:1703:54 | queryParam(...) : UriComponentsBuilder | Test.java:1704:9:1704:11 | out | provenance | | +| Test.java:1709:16:1709:31 | (...)... : String | Test.java:1711:30:1711:31 | in : String | provenance | | +| Test.java:1709:24:1709:31 | source(...) : Object | Test.java:1709:16:1709:31 | (...)... : String | provenance | | +| Test.java:1711:10:1711:48 | queryParam(...) : UriComponentsBuilder | Test.java:1712:9:1712:11 | out | provenance | | +| Test.java:1711:30:1711:31 | in : String | Test.java:1711:10:1711:48 | queryParam(...) : UriComponentsBuilder | provenance | MaD:52+MaD:51 | +| Test.java:1717:16:1717:31 | (...)... : String | Test.java:1719:30:1719:31 | in : String | provenance | | +| Test.java:1717:24:1717:31 | source(...) : Object | Test.java:1717:16:1717:31 | (...)... : String | provenance | | +| Test.java:1719:10:1719:50 | queryParam(...) : UriComponentsBuilder | Test.java:1720:9:1720:11 | out | provenance | | +| Test.java:1719:30:1719:31 | in : String | Test.java:1719:10:1719:50 | queryParam(...) : UriComponentsBuilder | provenance | MaD:52+MaD:51 | +| Test.java:1725:30:1725:59 | (...)... : UriComponentsBuilder | Test.java:1726:10:1726:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1725:52:1725:59 | source(...) : Object | Test.java:1725:30:1725:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1726:10:1726:11 | in : UriComponentsBuilder | Test.java:1726:10:1726:43 | queryParamIfPresent(...) : UriComponentsBuilder | provenance | MaD:55 | +| Test.java:1726:10:1726:43 | queryParamIfPresent(...) : UriComponentsBuilder | Test.java:1727:9:1727:11 | out | provenance | | +| Test.java:1732:16:1732:31 | (...)... : String | Test.java:1734:39:1734:40 | in : String | provenance | | +| Test.java:1732:24:1732:31 | source(...) : Object | Test.java:1732:16:1732:31 | (...)... : String | provenance | | +| Test.java:1734:10:1734:47 | queryParamIfPresent(...) : UriComponentsBuilder | Test.java:1735:9:1735:11 | out | provenance | | +| Test.java:1734:39:1734:40 | in : String | Test.java:1734:10:1734:47 | queryParamIfPresent(...) : UriComponentsBuilder | provenance | MaD:56+MaD:55 | +| Test.java:1740:18:1740:38 | of(...) : Optional [] : Object | Test.java:1742:45:1742:46 | in : Optional [] : Object | provenance | | +| Test.java:1740:30:1740:37 | source(...) : Object | Test.java:1740:18:1740:38 | of(...) : Optional [] : Object | provenance | MaD:10 | +| Test.java:1742:10:1742:47 | queryParamIfPresent(...) : UriComponentsBuilder | Test.java:1743:9:1743:11 | out | provenance | | +| Test.java:1742:45:1742:46 | in : Optional [] : Object | Test.java:1742:10:1742:47 | queryParamIfPresent(...) : UriComponentsBuilder | provenance | MaD:57+MaD:55 | +| Test.java:1748:30:1748:59 | (...)... : UriComponentsBuilder | Test.java:1749:10:1749:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1748:52:1748:59 | source(...) : Object | Test.java:1748:30:1748:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1749:10:1749:11 | in : UriComponentsBuilder | Test.java:1749:10:1749:29 | queryParams(...) : UriComponentsBuilder | provenance | MaD:58 | +| Test.java:1749:10:1749:29 | queryParams(...) : UriComponentsBuilder | Test.java:1750:9:1750:11 | out | provenance | | +| Test.java:1755:23:1755:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | Test.java:1757:31:1757:32 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:1755:47:1755:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | provenance | | +| Test.java:1755:47:1755:54 | source(...) : Object | Test.java:1755:23:1755:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | provenance | MaD:7 | +| Test.java:1757:10:1757:33 | queryParams(...) : UriComponentsBuilder | Test.java:1758:9:1758:11 | out | provenance | | +| Test.java:1757:31:1757:32 | in : LinkedMultiValueMap [] : Object | Test.java:1757:10:1757:33 | queryParams(...) : UriComponentsBuilder | provenance | MaD:59+MaD:58 | +| Test.java:1763:23:1763:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | Test.java:1765:31:1765:32 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:1763:49:1763:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | provenance | | +| Test.java:1763:49:1763:56 | source(...) : Object | Test.java:1763:23:1763:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | provenance | MaD:9 | +| Test.java:1765:10:1765:33 | queryParams(...) : UriComponentsBuilder | Test.java:1766:9:1766:11 | out | provenance | | +| Test.java:1765:31:1765:32 | in : LinkedMultiValueMap [] : Object | Test.java:1765:10:1765:33 | queryParams(...) : UriComponentsBuilder | provenance | MaD:60+MaD:58 | +| Test.java:1771:30:1771:59 | (...)... : UriComponentsBuilder | Test.java:1772:10:1772:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1771:52:1771:59 | source(...) : Object | Test.java:1771:30:1771:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1772:10:1772:11 | in : UriComponentsBuilder | Test.java:1772:10:1772:29 | replacePath(...) : UriComponentsBuilder | provenance | MaD:61 | +| Test.java:1772:10:1772:29 | replacePath(...) : UriComponentsBuilder | Test.java:1773:9:1773:11 | out | provenance | | +| Test.java:1778:16:1778:31 | (...)... : String | Test.java:1780:31:1780:32 | in : String | provenance | | +| Test.java:1778:24:1778:31 | source(...) : Object | Test.java:1778:16:1778:31 | (...)... : String | provenance | | +| Test.java:1780:10:1780:33 | replacePath(...) : UriComponentsBuilder | Test.java:1781:9:1781:11 | out | provenance | | +| Test.java:1780:31:1780:32 | in : String | Test.java:1780:10:1780:33 | replacePath(...) : UriComponentsBuilder | provenance | MaD:62+MaD:61 | +| Test.java:1786:30:1786:59 | (...)... : UriComponentsBuilder | Test.java:1787:10:1787:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1786:52:1786:59 | source(...) : Object | Test.java:1786:30:1786:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1787:10:1787:11 | in : UriComponentsBuilder | Test.java:1787:10:1787:30 | replaceQuery(...) : UriComponentsBuilder | provenance | MaD:63 | +| Test.java:1787:10:1787:30 | replaceQuery(...) : UriComponentsBuilder | Test.java:1788:9:1788:11 | out | provenance | | +| Test.java:1793:16:1793:31 | (...)... : String | Test.java:1795:32:1795:33 | in : String | provenance | | +| Test.java:1793:24:1793:31 | source(...) : Object | Test.java:1793:16:1793:31 | (...)... : String | provenance | | +| Test.java:1795:10:1795:34 | replaceQuery(...) : UriComponentsBuilder | Test.java:1796:9:1796:11 | out | provenance | | +| Test.java:1795:32:1795:33 | in : String | Test.java:1795:10:1795:34 | replaceQuery(...) : UriComponentsBuilder | provenance | MaD:64+MaD:63 | +| Test.java:1801:20:1801:36 | of(...) : List [] : Object | Test.java:1803:51:1803:52 | in : List [] : Object | provenance | | +| Test.java:1801:28:1801:35 | source(...) : Object | Test.java:1801:20:1801:36 | of(...) : List [] : Object | provenance | MaD:4 | +| Test.java:1803:10:1803:53 | replaceQueryParam(...) : UriComponentsBuilder | Test.java:1804:9:1804:11 | out | provenance | | +| Test.java:1803:51:1803:52 | in : List [] : Object | Test.java:1803:10:1803:53 | replaceQueryParam(...) : UriComponentsBuilder | provenance | MaD:67+MaD:65 | +| Test.java:1809:18:1809:39 | {...} : Object[] [[]] : Object | Test.java:1811:51:1811:52 | in : Object[] [[]] : Object | provenance | | +| Test.java:1809:31:1809:38 | source(...) : Object | Test.java:1809:18:1809:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:1811:10:1811:53 | replaceQueryParam(...) : UriComponentsBuilder | Test.java:1812:9:1812:11 | out | provenance | | +| Test.java:1811:51:1811:52 | in : Object[] [[]] : Object | Test.java:1811:10:1811:53 | replaceQueryParam(...) : UriComponentsBuilder | provenance | MaD:68+MaD:65 | +| Test.java:1817:30:1817:59 | (...)... : UriComponentsBuilder | Test.java:1818:10:1818:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1817:52:1817:59 | source(...) : Object | Test.java:1817:30:1817:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1818:10:1818:11 | in : UriComponentsBuilder | Test.java:1818:10:1818:59 | replaceQueryParam(...) : UriComponentsBuilder | provenance | MaD:65 | +| Test.java:1818:10:1818:59 | replaceQueryParam(...) : UriComponentsBuilder | Test.java:1819:9:1819:11 | out | provenance | | +| Test.java:1824:30:1824:59 | (...)... : UriComponentsBuilder | Test.java:1825:10:1825:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1824:52:1824:59 | source(...) : Object | Test.java:1824:30:1824:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1825:10:1825:11 | in : UriComponentsBuilder | Test.java:1825:10:1825:61 | replaceQueryParam(...) : UriComponentsBuilder | provenance | MaD:65 | +| Test.java:1825:10:1825:61 | replaceQueryParam(...) : UriComponentsBuilder | Test.java:1826:9:1826:11 | out | provenance | | +| Test.java:1831:16:1831:31 | (...)... : String | Test.java:1833:37:1833:38 | in : String | provenance | | +| Test.java:1831:24:1831:31 | source(...) : Object | Test.java:1831:16:1831:31 | (...)... : String | provenance | | +| Test.java:1833:10:1833:55 | replaceQueryParam(...) : UriComponentsBuilder | Test.java:1834:9:1834:11 | out | provenance | | +| Test.java:1833:37:1833:38 | in : String | Test.java:1833:10:1833:55 | replaceQueryParam(...) : UriComponentsBuilder | provenance | MaD:66+MaD:65 | +| Test.java:1839:16:1839:31 | (...)... : String | Test.java:1841:37:1841:38 | in : String | provenance | | +| Test.java:1839:24:1839:31 | source(...) : Object | Test.java:1839:16:1839:31 | (...)... : String | provenance | | +| Test.java:1841:10:1841:57 | replaceQueryParam(...) : UriComponentsBuilder | Test.java:1842:9:1842:11 | out | provenance | | +| Test.java:1841:37:1841:38 | in : String | Test.java:1841:10:1841:57 | replaceQueryParam(...) : UriComponentsBuilder | provenance | MaD:66+MaD:65 | +| Test.java:1847:30:1847:59 | (...)... : UriComponentsBuilder | Test.java:1848:10:1848:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1847:52:1847:59 | source(...) : Object | Test.java:1847:30:1847:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1848:10:1848:11 | in : UriComponentsBuilder | Test.java:1848:10:1848:36 | replaceQueryParams(...) : UriComponentsBuilder | provenance | MaD:69 | +| Test.java:1848:10:1848:36 | replaceQueryParams(...) : UriComponentsBuilder | Test.java:1849:9:1849:11 | out | provenance | | +| Test.java:1854:23:1854:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | Test.java:1856:38:1856:39 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:1854:47:1854:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | provenance | | +| Test.java:1854:47:1854:54 | source(...) : Object | Test.java:1854:23:1854:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | provenance | MaD:7 | +| Test.java:1856:10:1856:40 | replaceQueryParams(...) : UriComponentsBuilder | Test.java:1857:9:1857:11 | out | provenance | | +| Test.java:1856:38:1856:39 | in : LinkedMultiValueMap [] : Object | Test.java:1856:10:1856:40 | replaceQueryParams(...) : UriComponentsBuilder | provenance | MaD:70+MaD:69 | +| Test.java:1862:23:1862:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | Test.java:1864:38:1864:39 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:1862:49:1862:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | provenance | | +| Test.java:1862:49:1862:56 | source(...) : Object | Test.java:1862:23:1862:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | provenance | MaD:9 | +| Test.java:1864:10:1864:40 | replaceQueryParams(...) : UriComponentsBuilder | Test.java:1865:9:1865:11 | out | provenance | | +| Test.java:1864:38:1864:39 | in : LinkedMultiValueMap [] : Object | Test.java:1864:10:1864:40 | replaceQueryParams(...) : UriComponentsBuilder | provenance | MaD:71+MaD:69 | +| Test.java:1870:30:1870:59 | (...)... : UriComponentsBuilder | Test.java:1871:10:1871:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1870:52:1870:59 | source(...) : Object | Test.java:1870:30:1870:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1871:10:1871:11 | in : UriComponentsBuilder | Test.java:1871:10:1871:24 | scheme(...) : UriComponentsBuilder | provenance | MaD:72 | +| Test.java:1871:10:1871:24 | scheme(...) : UriComponentsBuilder | Test.java:1872:9:1872:11 | out | provenance | | +| Test.java:1877:16:1877:31 | (...)... : String | Test.java:1879:26:1879:27 | in : String | provenance | | +| Test.java:1877:24:1877:31 | source(...) : Object | Test.java:1877:16:1877:31 | (...)... : String | provenance | | +| Test.java:1879:10:1879:28 | scheme(...) : UriComponentsBuilder | Test.java:1880:9:1880:11 | out | provenance | | +| Test.java:1879:26:1879:27 | in : String | Test.java:1879:10:1879:28 | scheme(...) : UriComponentsBuilder | provenance | MaD:73+MaD:72 | +| Test.java:1885:30:1885:59 | (...)... : UriComponentsBuilder | Test.java:1886:10:1886:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1885:52:1885:59 | source(...) : Object | Test.java:1885:30:1885:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1886:10:1886:11 | in : UriComponentsBuilder | Test.java:1886:10:1886:36 | schemeSpecificPart(...) : UriComponentsBuilder | provenance | MaD:110 | +| Test.java:1886:10:1886:36 | schemeSpecificPart(...) : UriComponentsBuilder | Test.java:1887:9:1887:11 | out | provenance | | +| Test.java:1892:16:1892:31 | (...)... : String | Test.java:1894:38:1894:39 | in : String | provenance | | +| Test.java:1892:24:1892:31 | source(...) : Object | Test.java:1892:16:1892:31 | (...)... : String | provenance | | +| Test.java:1894:10:1894:40 | schemeSpecificPart(...) : UriComponentsBuilder | Test.java:1895:9:1895:11 | out | provenance | | +| Test.java:1894:38:1894:39 | in : String | Test.java:1894:10:1894:40 | schemeSpecificPart(...) : UriComponentsBuilder | provenance | MaD:111+MaD:110 | +| Test.java:1900:30:1900:59 | (...)... : UriComponentsBuilder | Test.java:1901:10:1901:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1900:52:1900:59 | source(...) : Object | Test.java:1900:30:1900:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1901:10:1901:11 | in : UriComponentsBuilder | Test.java:1901:10:1901:25 | toUriString(...) : String | provenance | MaD:112 | +| Test.java:1901:10:1901:25 | toUriString(...) : String | Test.java:1902:9:1902:11 | out | provenance | | +| Test.java:1907:30:1907:59 | (...)... : UriComponentsBuilder | Test.java:1908:10:1908:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1907:52:1907:59 | source(...) : Object | Test.java:1907:30:1907:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1908:10:1908:11 | in : UriComponentsBuilder | Test.java:1908:10:1908:21 | uri(...) : UriComponentsBuilder | provenance | MaD:113 | +| Test.java:1908:10:1908:21 | uri(...) : UriComponentsBuilder | Test.java:1909:9:1909:11 | out | provenance | | +| Test.java:1914:13:1914:25 | (...)... : URI | Test.java:1916:23:1916:24 | in : URI | provenance | | +| Test.java:1914:18:1914:25 | source(...) : Object | Test.java:1914:13:1914:25 | (...)... : URI | provenance | | +| Test.java:1916:10:1916:25 | uri(...) : UriComponentsBuilder | Test.java:1917:9:1917:11 | out | provenance | | +| Test.java:1916:23:1916:24 | in : URI | Test.java:1916:10:1916:25 | uri(...) : UriComponentsBuilder | provenance | MaD:114+MaD:113 | +| Test.java:1922:30:1922:59 | (...)... : UriComponentsBuilder | Test.java:1923:10:1923:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1922:52:1922:59 | source(...) : Object | Test.java:1922:30:1922:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1923:10:1923:11 | in : UriComponentsBuilder | Test.java:1923:10:1923:31 | uriComponents(...) : UriComponentsBuilder | provenance | MaD:115 | +| Test.java:1923:10:1923:31 | uriComponents(...) : UriComponentsBuilder | Test.java:1924:9:1924:11 | out | provenance | | +| Test.java:1929:23:1929:45 | (...)... : UriComponents | Test.java:1931:33:1931:34 | in : UriComponents | provenance | | +| Test.java:1929:38:1929:45 | source(...) : Object | Test.java:1929:23:1929:45 | (...)... : UriComponents | provenance | | +| Test.java:1931:10:1931:35 | uriComponents(...) : UriComponentsBuilder | Test.java:1932:9:1932:11 | out | provenance | | +| Test.java:1931:33:1931:34 | in : UriComponents | Test.java:1931:10:1931:35 | uriComponents(...) : UriComponentsBuilder | provenance | MaD:116+MaD:115 | +| Test.java:1937:30:1937:59 | (...)... : UriComponentsBuilder | Test.java:1938:10:1938:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1937:52:1937:59 | source(...) : Object | Test.java:1937:30:1937:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1938:10:1938:11 | in : UriComponentsBuilder | Test.java:1938:10:1938:30 | uriVariables(...) : UriComponentsBuilder | provenance | MaD:117 | +| Test.java:1938:10:1938:30 | uriVariables(...) : UriComponentsBuilder | Test.java:1939:9:1939:11 | out | provenance | | +| Test.java:1944:13:1944:37 | newMapWithValue(...) : Map [] : Object | Test.java:1946:32:1946:33 | in : Map [] : Object | provenance | | +| Test.java:1944:29:1944:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | provenance | | +| Test.java:1944:29:1944:36 | source(...) : Object | Test.java:1944:13:1944:37 | newMapWithValue(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:1946:10:1946:34 | uriVariables(...) : UriComponentsBuilder | Test.java:1947:9:1947:11 | out | provenance | | +| Test.java:1946:32:1946:33 | in : Map [] : Object | Test.java:1946:10:1946:34 | uriVariables(...) : UriComponentsBuilder | provenance | MaD:118+MaD:117 | +| Test.java:1952:30:1952:59 | (...)... : UriComponentsBuilder | Test.java:1953:10:1953:11 | in : UriComponentsBuilder | provenance | | +| Test.java:1952:52:1952:59 | source(...) : Object | Test.java:1952:30:1952:59 | (...)... : UriComponentsBuilder | provenance | | +| Test.java:1953:10:1953:11 | in : UriComponentsBuilder | Test.java:1953:10:1953:26 | userInfo(...) : UriComponentsBuilder | provenance | MaD:74 | +| Test.java:1953:10:1953:26 | userInfo(...) : UriComponentsBuilder | Test.java:1954:9:1954:11 | out | provenance | | +| Test.java:1959:16:1959:31 | (...)... : String | Test.java:1961:28:1961:29 | in : String | provenance | | +| Test.java:1959:24:1959:31 | source(...) : Object | Test.java:1959:16:1959:31 | (...)... : String | provenance | | +| Test.java:1961:10:1961:30 | userInfo(...) : UriComponentsBuilder | Test.java:1962:9:1962:11 | out | provenance | | +| Test.java:1961:28:1961:29 | in : String | Test.java:1961:10:1961:30 | userInfo(...) : UriComponentsBuilder | provenance | MaD:75+MaD:74 | +| Test.java:1967:13:1967:37 | newMapWithValue(...) : Map [] : Object | Test.java:1969:26:1969:27 | in : Map [] : Object | provenance | | +| Test.java:1967:29:1967:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | provenance | | +| Test.java:1967:29:1967:36 | source(...) : Object | Test.java:1967:13:1967:37 | newMapWithValue(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:1969:10:1969:28 | expand(...) : URI | Test.java:1970:9:1970:11 | out | provenance | | +| Test.java:1969:26:1969:27 | in : Map [] : Object | Test.java:1969:10:1969:28 | expand(...) : URI | provenance | MaD:119 | +| Test.java:1975:18:1975:39 | {...} : Object[] [[]] : Object | Test.java:1977:26:1977:27 | in : Object[] [[]] : Object | provenance | | +| Test.java:1975:31:1975:38 | source(...) : Object | Test.java:1975:18:1975:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:1977:10:1977:28 | expand(...) : URI | Test.java:1978:9:1978:11 | out | provenance | | +| Test.java:1977:26:1977:27 | in : Object[] [[]] : Object | Test.java:1977:10:1977:28 | expand(...) : URI | provenance | MaD:120 | +| Test.java:1983:21:1983:41 | (...)... : UriTemplate | Test.java:1984:10:1984:11 | in : UriTemplate | provenance | | +| Test.java:1983:34:1983:41 | source(...) : Object | Test.java:1983:21:1983:41 | (...)... : UriTemplate | provenance | | +| Test.java:1984:10:1984:11 | in : UriTemplate | Test.java:1984:10:1984:30 | getVariableNames(...) : List [] : Object | provenance | MaD:121 | +| Test.java:1984:10:1984:30 | getVariableNames(...) : List [] : Object | Test.java:1985:20:1985:22 | out : List [] : Object | provenance | | +| Test.java:1985:20:1985:22 | out : List [] : Object | Test.java:49:20:49:39 | container : List [] : Object | provenance | | +| Test.java:1985:20:1985:22 | out : List [] : Object | Test.java:1985:9:1985:23 | getElement(...) | provenance | MaD:1 | +| Test.java:1990:16:1990:31 | (...)... : String | Test.java:1992:25:1992:26 | in : String | provenance | | +| Test.java:1990:24:1990:31 | source(...) : Object | Test.java:1990:16:1990:31 | (...)... : String | provenance | | +| Test.java:1992:10:1992:27 | match(...) : Map [] : Object | Test.java:1993:21:1993:23 | out : Map [] : Object | provenance | | +| Test.java:1992:25:1992:26 | in : String | Test.java:1992:10:1992:27 | match(...) : Map [] : Object | provenance | MaD:122 | +| Test.java:1993:21:1993:23 | out : Map [] : Object | Test.java:51:20:51:29 | m : Map [] : Object | provenance | | +| Test.java:1993:21:1993:23 | out : Map [] : Object | Test.java:1993:9:1993:24 | getMapValue(...) | provenance | MaD:5 | +| Test.java:1998:13:1998:37 | newMapWithValue(...) : Map [] : Object | Test.java:2000:40:2000:41 | in : Map [] : Object | provenance | | +| Test.java:1998:29:1998:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | provenance | | +| Test.java:1998:29:1998:36 | source(...) : Object | Test.java:1998:13:1998:37 | newMapWithValue(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:2000:10:2000:42 | expand(...) : URI | Test.java:2001:9:2001:11 | out | provenance | | +| Test.java:2000:40:2000:41 | in : Map [] : Object | Test.java:2000:10:2000:42 | expand(...) : URI | provenance | MaD:126 | +| Test.java:2006:13:2006:37 | newMapWithValue(...) : Map [] : Object | Test.java:2008:40:2008:41 | in : Map [] : Object | provenance | | +| Test.java:2006:29:2006:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | provenance | | +| Test.java:2006:29:2006:36 | source(...) : Object | Test.java:2006:13:2006:37 | newMapWithValue(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:2008:10:2008:42 | expand(...) : URI | Test.java:2009:9:2009:11 | out | provenance | | +| Test.java:2008:40:2008:41 | in : Map [] : Object | Test.java:2008:10:2008:42 | expand(...) : URI | provenance | MaD:126 | +| Test.java:2014:13:2014:37 | newMapWithValue(...) : Map [] : Object | Test.java:2016:40:2016:41 | in : Map [] : Object | provenance | | +| Test.java:2014:29:2014:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | provenance | | +| Test.java:2014:29:2014:36 | source(...) : Object | Test.java:2014:13:2014:37 | newMapWithValue(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:2016:10:2016:42 | expand(...) : URI | Test.java:2017:9:2017:11 | out | provenance | | +| Test.java:2016:40:2016:41 | in : Map [] : Object | Test.java:2016:10:2016:42 | expand(...) : URI | provenance | MaD:126 | +| Test.java:2022:18:2022:39 | {...} : Object[] [[]] : Object | Test.java:2024:40:2024:41 | in : Object[] [[]] : Object | provenance | | +| Test.java:2022:31:2022:38 | source(...) : Object | Test.java:2022:18:2022:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:2024:10:2024:42 | expand(...) : URI | Test.java:2025:9:2025:11 | out | provenance | | +| Test.java:2024:40:2024:41 | in : Object[] [[]] : Object | Test.java:2024:10:2024:42 | expand(...) : URI | provenance | MaD:127 | +| Test.java:2030:18:2030:39 | {...} : Object[] [[]] : Object | Test.java:2032:40:2032:41 | in : Object[] [[]] : Object | provenance | | +| Test.java:2030:31:2030:38 | source(...) : Object | Test.java:2030:18:2030:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:2032:10:2032:42 | expand(...) : URI | Test.java:2033:9:2033:11 | out | provenance | | +| Test.java:2032:40:2032:41 | in : Object[] [[]] : Object | Test.java:2032:10:2032:42 | expand(...) : URI | provenance | MaD:127 | +| Test.java:2038:18:2038:39 | {...} : Object[] [[]] : Object | Test.java:2040:40:2040:41 | in : Object[] [[]] : Object | provenance | | +| Test.java:2038:31:2038:38 | source(...) : Object | Test.java:2038:18:2038:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:2040:10:2040:42 | expand(...) : URI | Test.java:2041:9:2041:11 | out | provenance | | +| Test.java:2040:40:2040:41 | in : Object[] [[]] : Object | Test.java:2040:10:2040:42 | expand(...) : URI | provenance | MaD:127 | +| Test.java:2046:28:2046:55 | (...)... : UriTemplateHandler | Test.java:2047:10:2047:11 | in : UriTemplateHandler | provenance | | +| Test.java:2046:48:2046:55 | source(...) : Object | Test.java:2046:28:2046:55 | (...)... : UriTemplateHandler | provenance | | +| Test.java:2047:10:2047:11 | in : UriTemplateHandler | Test.java:2047:10:2047:48 | expand(...) : URI | provenance | MaD:124 | +| Test.java:2047:10:2047:48 | expand(...) : URI | Test.java:2048:9:2048:11 | out | provenance | | +| Test.java:2053:28:2053:55 | (...)... : UriTemplateHandler | Test.java:2054:10:2054:11 | in : UriTemplateHandler | provenance | | +| Test.java:2053:48:2053:55 | source(...) : Object | Test.java:2053:28:2053:55 | (...)... : UriTemplateHandler | provenance | | +| Test.java:2054:10:2054:11 | in : UriTemplateHandler | Test.java:2054:10:2054:43 | expand(...) : URI | provenance | MaD:124 | +| Test.java:2054:10:2054:43 | expand(...) : URI | Test.java:2055:9:2055:11 | out | provenance | | +| Test.java:2060:16:2060:31 | (...)... : String | Test.java:2062:26:2062:27 | in : String | provenance | | +| Test.java:2060:24:2060:31 | source(...) : Object | Test.java:2060:16:2060:31 | (...)... : String | provenance | | +| Test.java:2062:10:2062:44 | expand(...) : URI | Test.java:2063:9:2063:11 | out | provenance | | +| Test.java:2062:26:2062:27 | in : String | Test.java:2062:10:2062:44 | expand(...) : URI | provenance | MaD:125 | +| Test.java:2068:16:2068:31 | (...)... : String | Test.java:2070:26:2070:27 | in : String | provenance | | +| Test.java:2068:24:2068:31 | source(...) : Object | Test.java:2068:16:2068:31 | (...)... : String | provenance | | +| Test.java:2070:10:2070:39 | expand(...) : URI | Test.java:2071:9:2071:11 | out | provenance | | +| Test.java:2070:26:2070:27 | in : String | Test.java:2070:10:2070:39 | expand(...) : URI | provenance | MaD:125 | +| Test.java:2076:16:2076:31 | (...)... : String | Test.java:2078:26:2078:27 | in : String | provenance | | +| Test.java:2076:24:2076:31 | source(...) : Object | Test.java:2076:16:2076:31 | (...)... : String | provenance | | +| Test.java:2078:10:2078:44 | expand(...) : URI | Test.java:2079:9:2079:11 | out | provenance | | +| Test.java:2078:26:2078:27 | in : String | Test.java:2078:10:2078:44 | expand(...) : URI | provenance | MaD:125 | +| Test.java:2084:16:2084:31 | (...)... : String | Test.java:2086:26:2086:27 | in : String | provenance | | +| Test.java:2084:24:2084:31 | source(...) : Object | Test.java:2084:16:2084:31 | (...)... : String | provenance | | +| Test.java:2086:10:2086:39 | expand(...) : URI | Test.java:2087:9:2087:11 | out | provenance | | +| Test.java:2086:26:2086:27 | in : String | Test.java:2086:10:2086:39 | expand(...) : URI | provenance | MaD:125 | +| Test.java:2092:16:2092:31 | (...)... : String | Test.java:2094:26:2094:27 | in : String | provenance | | +| Test.java:2092:24:2092:31 | source(...) : Object | Test.java:2092:16:2092:31 | (...)... : String | provenance | | +| Test.java:2094:10:2094:44 | expand(...) : URI | Test.java:2095:9:2095:11 | out | provenance | | +| Test.java:2094:26:2094:27 | in : String | Test.java:2094:10:2094:44 | expand(...) : URI | provenance | MaD:125 | +| Test.java:2100:16:2100:31 | (...)... : String | Test.java:2102:26:2102:27 | in : String | provenance | | +| Test.java:2100:24:2100:31 | source(...) : Object | Test.java:2100:16:2100:31 | (...)... : String | provenance | | +| Test.java:2102:10:2102:39 | expand(...) : URI | Test.java:2103:9:2103:11 | out | provenance | | +| Test.java:2102:26:2102:27 | in : String | Test.java:2102:10:2102:39 | expand(...) : URI | provenance | MaD:125 | +| Test.java:2108:34:2108:67 | (...)... : DefaultUriBuilderFactory | Test.java:2109:10:2109:11 | in : DefaultUriBuilderFactory | provenance | | +| Test.java:2108:60:2108:67 | source(...) : Object | Test.java:2108:34:2108:67 | (...)... : DefaultUriBuilderFactory | provenance | | +| Test.java:2109:10:2109:11 | in : DefaultUriBuilderFactory | Test.java:2109:10:2109:48 | expand(...) : URI | provenance | MaD:124 | +| Test.java:2109:10:2109:48 | expand(...) : URI | Test.java:2110:9:2110:11 | out | provenance | | +| Test.java:2115:34:2115:67 | (...)... : DefaultUriBuilderFactory | Test.java:2116:10:2116:11 | in : DefaultUriBuilderFactory | provenance | | +| Test.java:2115:60:2115:67 | source(...) : Object | Test.java:2115:34:2115:67 | (...)... : DefaultUriBuilderFactory | provenance | | +| Test.java:2116:10:2116:11 | in : DefaultUriBuilderFactory | Test.java:2116:10:2116:43 | expand(...) : URI | provenance | MaD:124 | +| Test.java:2116:10:2116:43 | expand(...) : URI | Test.java:2117:9:2117:11 | out | provenance | | +| Test.java:2122:36:2122:71 | (...)... : AbstractUriTemplateHandler | Test.java:2123:10:2123:11 | in : AbstractUriTemplateHandler | provenance | | +| Test.java:2122:64:2122:71 | source(...) : Object | Test.java:2122:36:2122:71 | (...)... : AbstractUriTemplateHandler | provenance | | +| Test.java:2123:10:2123:11 | in : AbstractUriTemplateHandler | Test.java:2123:10:2123:48 | expand(...) : URI | provenance | MaD:124 | +| Test.java:2123:10:2123:48 | expand(...) : URI | Test.java:2124:9:2124:11 | out | provenance | | +| Test.java:2129:36:2129:71 | (...)... : AbstractUriTemplateHandler | Test.java:2130:10:2130:11 | in : AbstractUriTemplateHandler | provenance | | +| Test.java:2129:64:2129:71 | source(...) : Object | Test.java:2129:36:2129:71 | (...)... : AbstractUriTemplateHandler | provenance | | +| Test.java:2130:10:2130:11 | in : AbstractUriTemplateHandler | Test.java:2130:10:2130:43 | expand(...) : URI | provenance | MaD:124 | +| Test.java:2130:10:2130:43 | expand(...) : URI | Test.java:2131:9:2131:11 | out | provenance | | +| Test.java:2136:16:2136:31 | (...)... : String | Test.java:2137:26:2137:27 | in : String | provenance | | +| Test.java:2136:24:2136:31 | source(...) : Object | Test.java:2136:16:2136:31 | (...)... : String | provenance | | +| Test.java:2137:10:2137:42 | decode(...) : String | Test.java:2138:9:2138:11 | out | provenance | | +| Test.java:2137:26:2137:27 | in : String | Test.java:2137:10:2137:42 | decode(...) : String | provenance | MaD:128 | +| Test.java:2143:16:2143:31 | (...)... : String | Test.java:2144:26:2144:27 | in : String | provenance | | +| Test.java:2143:24:2143:31 | source(...) : Object | Test.java:2143:16:2143:31 | (...)... : String | provenance | | +| Test.java:2144:10:2144:43 | decode(...) : String | Test.java:2145:9:2145:11 | out | provenance | | +| Test.java:2144:26:2144:27 | in : String | Test.java:2144:10:2144:43 | decode(...) : String | provenance | MaD:128 | +| Test.java:2150:16:2150:31 | (...)... : String | Test.java:2151:26:2151:27 | in : String | provenance | | +| Test.java:2150:24:2150:31 | source(...) : Object | Test.java:2150:16:2150:31 | (...)... : String | provenance | | +| Test.java:2151:10:2151:42 | encode(...) : String | Test.java:2152:9:2152:11 | out | provenance | | +| Test.java:2151:26:2151:27 | in : String | Test.java:2151:10:2151:42 | encode(...) : String | provenance | MaD:129 | +| Test.java:2157:16:2157:31 | (...)... : String | Test.java:2158:26:2158:27 | in : String | provenance | | +| Test.java:2157:24:2157:31 | source(...) : Object | Test.java:2157:16:2157:31 | (...)... : String | provenance | | +| Test.java:2158:10:2158:43 | encode(...) : String | Test.java:2159:9:2159:11 | out | provenance | | +| Test.java:2158:26:2158:27 | in : String | Test.java:2158:10:2158:43 | encode(...) : String | provenance | MaD:129 | +| Test.java:2164:16:2164:31 | (...)... : String | Test.java:2165:35:2165:36 | in : String | provenance | | +| Test.java:2164:24:2164:31 | source(...) : Object | Test.java:2164:16:2164:31 | (...)... : String | provenance | | +| Test.java:2165:10:2165:51 | encodeAuthority(...) : String | Test.java:2166:9:2166:11 | out | provenance | | +| Test.java:2165:35:2165:36 | in : String | Test.java:2165:10:2165:51 | encodeAuthority(...) : String | provenance | MaD:130 | +| Test.java:2171:16:2171:31 | (...)... : String | Test.java:2172:35:2172:36 | in : String | provenance | | +| Test.java:2171:24:2171:31 | source(...) : Object | Test.java:2171:16:2171:31 | (...)... : String | provenance | | +| Test.java:2172:10:2172:52 | encodeAuthority(...) : String | Test.java:2173:9:2173:11 | out | provenance | | +| Test.java:2172:35:2172:36 | in : String | Test.java:2172:10:2172:52 | encodeAuthority(...) : String | provenance | MaD:130 | +| Test.java:2178:16:2178:31 | (...)... : String | Test.java:2179:34:2179:35 | in : String | provenance | | +| Test.java:2178:24:2178:31 | source(...) : Object | Test.java:2178:16:2178:31 | (...)... : String | provenance | | +| Test.java:2179:10:2179:50 | encodeFragment(...) : String | Test.java:2180:9:2180:11 | out | provenance | | +| Test.java:2179:34:2179:35 | in : String | Test.java:2179:10:2179:50 | encodeFragment(...) : String | provenance | MaD:131 | +| Test.java:2185:16:2185:31 | (...)... : String | Test.java:2186:34:2186:35 | in : String | provenance | | +| Test.java:2185:24:2185:31 | source(...) : Object | Test.java:2185:16:2185:31 | (...)... : String | provenance | | +| Test.java:2186:10:2186:51 | encodeFragment(...) : String | Test.java:2187:9:2187:11 | out | provenance | | +| Test.java:2186:34:2186:35 | in : String | Test.java:2186:10:2186:51 | encodeFragment(...) : String | provenance | MaD:131 | +| Test.java:2192:16:2192:31 | (...)... : String | Test.java:2193:30:2193:31 | in : String | provenance | | +| Test.java:2192:24:2192:31 | source(...) : Object | Test.java:2192:16:2192:31 | (...)... : String | provenance | | +| Test.java:2193:10:2193:46 | encodeHost(...) : String | Test.java:2194:9:2194:11 | out | provenance | | +| Test.java:2193:30:2193:31 | in : String | Test.java:2193:10:2193:46 | encodeHost(...) : String | provenance | MaD:132 | +| Test.java:2199:16:2199:31 | (...)... : String | Test.java:2200:30:2200:31 | in : String | provenance | | +| Test.java:2199:24:2199:31 | source(...) : Object | Test.java:2199:16:2199:31 | (...)... : String | provenance | | +| Test.java:2200:10:2200:47 | encodeHost(...) : String | Test.java:2201:9:2201:11 | out | provenance | | +| Test.java:2200:30:2200:31 | in : String | Test.java:2200:10:2200:47 | encodeHost(...) : String | provenance | MaD:132 | +| Test.java:2206:16:2206:31 | (...)... : String | Test.java:2207:30:2207:31 | in : String | provenance | | +| Test.java:2206:24:2206:31 | source(...) : Object | Test.java:2206:16:2206:31 | (...)... : String | provenance | | +| Test.java:2207:10:2207:46 | encodePath(...) : String | Test.java:2208:9:2208:11 | out | provenance | | +| Test.java:2207:30:2207:31 | in : String | Test.java:2207:10:2207:46 | encodePath(...) : String | provenance | MaD:133 | +| Test.java:2213:16:2213:31 | (...)... : String | Test.java:2214:30:2214:31 | in : String | provenance | | +| Test.java:2213:24:2213:31 | source(...) : Object | Test.java:2213:16:2213:31 | (...)... : String | provenance | | +| Test.java:2214:10:2214:47 | encodePath(...) : String | Test.java:2215:9:2215:11 | out | provenance | | +| Test.java:2214:30:2214:31 | in : String | Test.java:2214:10:2214:47 | encodePath(...) : String | provenance | MaD:133 | +| Test.java:2220:16:2220:31 | (...)... : String | Test.java:2221:37:2221:38 | in : String | provenance | | +| Test.java:2220:24:2220:31 | source(...) : Object | Test.java:2220:16:2220:31 | (...)... : String | provenance | | +| Test.java:2221:10:2221:53 | encodePathSegment(...) : String | Test.java:2222:9:2222:11 | out | provenance | | +| Test.java:2221:37:2221:38 | in : String | Test.java:2221:10:2221:53 | encodePathSegment(...) : String | provenance | MaD:134 | +| Test.java:2227:16:2227:31 | (...)... : String | Test.java:2228:37:2228:38 | in : String | provenance | | +| Test.java:2227:24:2227:31 | source(...) : Object | Test.java:2227:16:2227:31 | (...)... : String | provenance | | +| Test.java:2228:10:2228:54 | encodePathSegment(...) : String | Test.java:2229:9:2229:11 | out | provenance | | +| Test.java:2228:37:2228:38 | in : String | Test.java:2228:10:2228:54 | encodePathSegment(...) : String | provenance | MaD:134 | +| Test.java:2234:16:2234:31 | (...)... : String | Test.java:2235:30:2235:31 | in : String | provenance | | +| Test.java:2234:24:2234:31 | source(...) : Object | Test.java:2234:16:2234:31 | (...)... : String | provenance | | +| Test.java:2235:10:2235:46 | encodePort(...) : String | Test.java:2236:9:2236:11 | out | provenance | | +| Test.java:2235:30:2235:31 | in : String | Test.java:2235:10:2235:46 | encodePort(...) : String | provenance | MaD:135 | +| Test.java:2241:16:2241:31 | (...)... : String | Test.java:2242:30:2242:31 | in : String | provenance | | +| Test.java:2241:24:2241:31 | source(...) : Object | Test.java:2241:16:2241:31 | (...)... : String | provenance | | +| Test.java:2242:10:2242:47 | encodePort(...) : String | Test.java:2243:9:2243:11 | out | provenance | | +| Test.java:2242:30:2242:31 | in : String | Test.java:2242:10:2242:47 | encodePort(...) : String | provenance | MaD:135 | +| Test.java:2248:16:2248:31 | (...)... : String | Test.java:2249:31:2249:32 | in : String | provenance | | +| Test.java:2248:24:2248:31 | source(...) : Object | Test.java:2248:16:2248:31 | (...)... : String | provenance | | +| Test.java:2249:10:2249:47 | encodeQuery(...) : String | Test.java:2250:9:2250:11 | out | provenance | | +| Test.java:2249:31:2249:32 | in : String | Test.java:2249:10:2249:47 | encodeQuery(...) : String | provenance | MaD:136 | +| Test.java:2255:16:2255:31 | (...)... : String | Test.java:2256:31:2256:32 | in : String | provenance | | +| Test.java:2255:24:2255:31 | source(...) : Object | Test.java:2255:16:2255:31 | (...)... : String | provenance | | +| Test.java:2256:10:2256:48 | encodeQuery(...) : String | Test.java:2257:9:2257:11 | out | provenance | | +| Test.java:2256:31:2256:32 | in : String | Test.java:2256:10:2256:48 | encodeQuery(...) : String | provenance | MaD:136 | +| Test.java:2262:16:2262:31 | (...)... : String | Test.java:2263:36:2263:37 | in : String | provenance | | +| Test.java:2262:24:2262:31 | source(...) : Object | Test.java:2262:16:2262:31 | (...)... : String | provenance | | +| Test.java:2263:10:2263:52 | encodeQueryParam(...) : String | Test.java:2264:9:2264:11 | out | provenance | | +| Test.java:2263:36:2263:37 | in : String | Test.java:2263:10:2263:52 | encodeQueryParam(...) : String | provenance | MaD:137 | +| Test.java:2269:16:2269:31 | (...)... : String | Test.java:2270:36:2270:37 | in : String | provenance | | +| Test.java:2269:24:2269:31 | source(...) : Object | Test.java:2269:16:2269:31 | (...)... : String | provenance | | +| Test.java:2270:10:2270:53 | encodeQueryParam(...) : String | Test.java:2271:9:2271:11 | out | provenance | | +| Test.java:2270:36:2270:37 | in : String | Test.java:2270:10:2270:53 | encodeQueryParam(...) : String | provenance | MaD:137 | +| Test.java:2276:23:2276:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | Test.java:2277:37:2277:38 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:2276:47:2276:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | provenance | | +| Test.java:2276:47:2276:54 | source(...) : Object | Test.java:2276:23:2276:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | provenance | MaD:7 | +| Test.java:2277:10:2277:39 | encodeQueryParams(...) : MultiValueMap [] : Object | Test.java:2278:19:2278:21 | out : MultiValueMap [] : Object | provenance | | +| Test.java:2277:37:2277:38 | in : LinkedMultiValueMap [] : Object | Test.java:2277:10:2277:39 | encodeQueryParams(...) : MultiValueMap [] : Object | provenance | MaD:138 | +| Test.java:2278:19:2278:21 | out : MultiValueMap [] : Object | Test.java:50:18:50:27 | m : MultiValueMap [] : Object | provenance | | +| Test.java:2278:19:2278:21 | out : MultiValueMap [] : Object | Test.java:2278:9:2278:22 | getMapKey(...) | provenance | MaD:6 | +| Test.java:2283:23:2283:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | Test.java:2284:37:2284:38 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:2283:49:2283:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | provenance | | +| Test.java:2283:49:2283:56 | source(...) : Object | Test.java:2283:23:2283:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | provenance | MaD:9 | +| Test.java:2284:10:2284:39 | encodeQueryParams(...) : MultiValueMap [] : Object | Test.java:2285:21:2285:23 | out : MultiValueMap [] : Object | provenance | | +| Test.java:2284:37:2284:38 | in : LinkedMultiValueMap [] : Object | Test.java:2284:10:2284:39 | encodeQueryParams(...) : MultiValueMap [] : Object | provenance | MaD:139 | +| Test.java:2285:21:2285:23 | out : MultiValueMap [] : Object | Test.java:51:20:51:29 | m : MultiValueMap [] : Object | provenance | | +| Test.java:2285:21:2285:23 | out : MultiValueMap [] : Object | Test.java:2285:9:2285:24 | getMapValue(...) | provenance | MaD:5 | +| Test.java:2290:16:2290:31 | (...)... : String | Test.java:2291:32:2291:33 | in : String | provenance | | +| Test.java:2290:24:2290:31 | source(...) : Object | Test.java:2290:16:2290:31 | (...)... : String | provenance | | +| Test.java:2291:10:2291:48 | encodeScheme(...) : String | Test.java:2292:9:2292:11 | out | provenance | | +| Test.java:2291:32:2291:33 | in : String | Test.java:2291:10:2291:48 | encodeScheme(...) : String | provenance | MaD:140 | +| Test.java:2297:16:2297:31 | (...)... : String | Test.java:2298:32:2298:33 | in : String | provenance | | +| Test.java:2297:24:2297:31 | source(...) : Object | Test.java:2297:16:2297:31 | (...)... : String | provenance | | +| Test.java:2298:10:2298:49 | encodeScheme(...) : String | Test.java:2299:9:2299:11 | out | provenance | | +| Test.java:2298:32:2298:33 | in : String | Test.java:2298:10:2298:49 | encodeScheme(...) : String | provenance | MaD:140 | +| Test.java:2304:13:2304:35 | newMapWithKey(...) : Map [] : Object | Test.java:2305:38:2305:39 | in : Map [] : Object | provenance | | +| Test.java:2304:27:2304:34 | source(...) : Object | Test.java:52:20:52:33 | element : Object | provenance | | +| Test.java:2304:27:2304:34 | source(...) : Object | Test.java:2304:13:2304:35 | newMapWithKey(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:2305:10:2305:40 | encodeUriVariables(...) : Map [] : Object | Test.java:2306:19:2306:21 | out : Map [] : Object | provenance | | +| Test.java:2305:38:2305:39 | in : Map [] : Object | Test.java:2305:10:2305:40 | encodeUriVariables(...) : Map [] : Object | provenance | MaD:141 | +| Test.java:2306:19:2306:21 | out : Map [] : Object | Test.java:50:18:50:27 | m : Map [] : Object | provenance | | +| Test.java:2306:19:2306:21 | out : Map [] : Object | Test.java:2306:9:2306:22 | getMapKey(...) | provenance | MaD:6 | +| Test.java:2311:13:2311:37 | newMapWithValue(...) : Map [] : Object | Test.java:2312:38:2312:39 | in : Map [] : Object | provenance | | +| Test.java:2311:29:2311:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | provenance | | +| Test.java:2311:29:2311:36 | source(...) : Object | Test.java:2311:13:2311:37 | newMapWithValue(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:2312:10:2312:40 | encodeUriVariables(...) : Map [] : Object | Test.java:2313:21:2313:23 | out : Map [] : Object | provenance | | +| Test.java:2312:38:2312:39 | in : Map [] : Object | Test.java:2312:10:2312:40 | encodeUriVariables(...) : Map [] : Object | provenance | MaD:142 | +| Test.java:2313:21:2313:23 | out : Map [] : Object | Test.java:51:20:51:29 | m : Map [] : Object | provenance | | +| Test.java:2313:21:2313:23 | out : Map [] : Object | Test.java:2313:9:2313:24 | getMapValue(...) | provenance | MaD:5 | +| Test.java:2318:18:2318:39 | {...} : Object[] [[]] : Object | Test.java:2319:38:2319:39 | in : Object[] [[]] : Object | provenance | | +| Test.java:2318:31:2318:38 | source(...) : Object | Test.java:2318:18:2318:39 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:2319:10:2319:40 | encodeUriVariables(...) : Object[] [[]] : Object | Test.java:2320:9:2320:11 | out : Object[] [[]] : Object | provenance | | +| Test.java:2319:38:2319:39 | in : Object[] [[]] : Object | Test.java:2319:10:2319:40 | encodeUriVariables(...) : Object[] [[]] : Object | provenance | MaD:143 | +| Test.java:2320:9:2320:11 | out : Object[] [[]] : Object | Test.java:2320:9:2320:14 | ...[...] | provenance | | +| Test.java:2325:16:2325:31 | (...)... : String | Test.java:2326:34:2326:35 | in : String | provenance | | +| Test.java:2325:24:2325:31 | source(...) : Object | Test.java:2325:16:2325:31 | (...)... : String | provenance | | +| Test.java:2326:10:2326:50 | encodeUserInfo(...) : String | Test.java:2327:9:2327:11 | out | provenance | | +| Test.java:2326:34:2326:35 | in : String | Test.java:2326:10:2326:50 | encodeUserInfo(...) : String | provenance | MaD:144 | +| Test.java:2332:16:2332:31 | (...)... : String | Test.java:2333:34:2333:35 | in : String | provenance | | +| Test.java:2332:24:2332:31 | source(...) : Object | Test.java:2332:16:2332:31 | (...)... : String | provenance | | +| Test.java:2333:10:2333:51 | encodeUserInfo(...) : String | Test.java:2334:9:2334:11 | out | provenance | | +| Test.java:2333:34:2333:35 | in : String | Test.java:2333:10:2333:51 | encodeUserInfo(...) : String | provenance | MaD:144 | +| Test.java:2339:16:2339:31 | (...)... : String | Test.java:2340:40:2340:41 | in : String | provenance | | +| Test.java:2339:24:2339:31 | source(...) : Object | Test.java:2339:16:2339:31 | (...)... : String | provenance | | +| Test.java:2340:10:2340:42 | extractFileExtension(...) : String | Test.java:2341:9:2341:11 | out | provenance | | +| Test.java:2340:40:2340:41 | in : String | Test.java:2340:10:2340:42 | extractFileExtension(...) : String | provenance | MaD:145 | +| Test.java:2346:23:2346:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | Test.java:2348:47:2348:48 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:2346:47:2346:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | provenance | | +| Test.java:2346:47:2346:54 | source(...) : Object | Test.java:2346:23:2346:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | provenance | MaD:7 | +| Test.java:2348:10:2348:49 | decodeMatrixVariables(...) : MultiValueMap [] : Object | Test.java:2349:19:2349:21 | out : MultiValueMap [] : Object | provenance | | +| Test.java:2348:47:2348:48 | in : LinkedMultiValueMap [] : Object | Test.java:2348:10:2348:49 | decodeMatrixVariables(...) : MultiValueMap [] : Object | provenance | MaD:146 | +| Test.java:2349:19:2349:21 | out : MultiValueMap [] : Object | Test.java:50:18:50:27 | m : MultiValueMap [] : Object | provenance | | +| Test.java:2349:19:2349:21 | out : MultiValueMap [] : Object | Test.java:2349:9:2349:22 | getMapKey(...) | provenance | MaD:6 | +| Test.java:2354:23:2354:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | Test.java:2356:47:2356:48 | in : LinkedMultiValueMap [] : Object | provenance | | +| Test.java:2354:49:2354:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | provenance | | +| Test.java:2354:49:2354:56 | source(...) : Object | Test.java:2354:23:2354:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | provenance | MaD:9 | +| Test.java:2356:10:2356:49 | decodeMatrixVariables(...) : MultiValueMap [] : Object | Test.java:2357:21:2357:23 | out : MultiValueMap [] : Object | provenance | | +| Test.java:2356:47:2356:48 | in : LinkedMultiValueMap [] : Object | Test.java:2356:10:2356:49 | decodeMatrixVariables(...) : MultiValueMap [] : Object | provenance | MaD:147 | +| Test.java:2357:21:2357:23 | out : MultiValueMap [] : Object | Test.java:51:20:51:29 | m : MultiValueMap [] : Object | provenance | | +| Test.java:2357:21:2357:23 | out : MultiValueMap [] : Object | Test.java:2357:9:2357:24 | getMapValue(...) | provenance | MaD:5 | +| Test.java:2362:13:2362:35 | newMapWithKey(...) : Map [] : Object | Test.java:2364:45:2364:46 | in : Map [] : Object | provenance | | +| Test.java:2362:27:2362:34 | source(...) : Object | Test.java:52:20:52:33 | element : Object | provenance | | +| Test.java:2362:27:2362:34 | source(...) : Object | Test.java:2362:13:2362:35 | newMapWithKey(...) : Map [] : Object | provenance | MaD:7 | +| Test.java:2364:10:2364:47 | decodePathVariables(...) : Map [] : Object | Test.java:2365:19:2365:21 | out : Map [] : Object | provenance | | +| Test.java:2364:45:2364:46 | in : Map [] : Object | Test.java:2364:10:2364:47 | decodePathVariables(...) : Map [] : Object | provenance | MaD:148 | +| Test.java:2365:19:2365:21 | out : Map [] : Object | Test.java:50:18:50:27 | m : Map [] : Object | provenance | | +| Test.java:2365:19:2365:21 | out : Map [] : Object | Test.java:2365:9:2365:22 | getMapKey(...) | provenance | MaD:6 | +| Test.java:2370:13:2370:37 | newMapWithValue(...) : Map [] : Object | Test.java:2372:45:2372:46 | in : Map [] : Object | provenance | | +| Test.java:2370:29:2370:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | provenance | | +| Test.java:2370:29:2370:36 | source(...) : Object | Test.java:2370:13:2370:37 | newMapWithValue(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:2372:10:2372:47 | decodePathVariables(...) : Map [] : Object | Test.java:2373:21:2373:23 | out : Map [] : Object | provenance | | +| Test.java:2372:45:2372:46 | in : Map [] : Object | Test.java:2372:10:2372:47 | decodePathVariables(...) : Map [] : Object | provenance | MaD:149 | +| Test.java:2373:21:2373:23 | out : Map [] : Object | Test.java:51:20:51:29 | m : Map [] : Object | provenance | | +| Test.java:2373:21:2373:23 | out : Map [] : Object | Test.java:2373:9:2373:24 | getMapValue(...) | provenance | MaD:5 | +| Test.java:2378:16:2378:31 | (...)... : String | Test.java:2380:45:2380:46 | in : String | provenance | | +| Test.java:2378:24:2378:31 | source(...) : Object | Test.java:2378:16:2378:31 | (...)... : String | provenance | | +| Test.java:2380:10:2380:47 | decodeRequestString(...) : String | Test.java:2381:9:2381:11 | out | provenance | | +| Test.java:2380:45:2380:46 | in : String | Test.java:2380:10:2380:47 | decodeRequestString(...) : String | provenance | MaD:150 | +| Test.java:2386:28:2386:55 | (...)... : HttpServletRequest | Test.java:2388:34:2388:35 | in : HttpServletRequest | provenance | | +| Test.java:2386:48:2386:55 | source(...) : Object | Test.java:2386:28:2386:55 | (...)... : HttpServletRequest | provenance | | +| Test.java:2388:10:2388:36 | getContextPath(...) : String | Test.java:2389:9:2389:11 | out | provenance | | +| Test.java:2388:34:2388:35 | in : HttpServletRequest | Test.java:2388:10:2388:36 | getContextPath(...) : String | provenance | MaD:151 | +| Test.java:2394:28:2394:55 | (...)... : HttpServletRequest | Test.java:2396:45:2396:46 | in : HttpServletRequest | provenance | | +| Test.java:2394:48:2394:55 | source(...) : Object | Test.java:2394:28:2394:55 | (...)... : HttpServletRequest | provenance | | +| Test.java:2396:10:2396:47 | getOriginatingContextPath(...) : String | Test.java:2397:9:2397:11 | out | provenance | | +| Test.java:2396:45:2396:46 | in : HttpServletRequest | Test.java:2396:10:2396:47 | getOriginatingContextPath(...) : String | provenance | MaD:152 | +| Test.java:2402:16:2402:31 | (...)... : String | Test.java:2404:42:2404:43 | in : String | provenance | | +| Test.java:2402:24:2402:31 | source(...) : Object | Test.java:2402:16:2402:31 | (...)... : String | provenance | | +| Test.java:2404:10:2404:44 | removeSemicolonContent(...) : String | Test.java:2405:9:2405:11 | out | provenance | | +| Test.java:2404:42:2404:43 | in : String | Test.java:2404:10:2404:44 | removeSemicolonContent(...) : String | provenance | MaD:153 | +| Test.java:2410:13:2410:37 | newMapWithValue(...) : Map [] : Object | Test.java:2411:38:2411:39 | in : Map [] : Object | provenance | | +| Test.java:2410:29:2410:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | provenance | | +| Test.java:2410:29:2410:36 | source(...) : Object | Test.java:2410:13:2410:37 | newMapWithValue(...) : Map [] : Object | provenance | MaD:8 | +| Test.java:2411:10:2411:54 | findParameterValue(...) : String | Test.java:2412:9:2412:11 | out | provenance | | +| Test.java:2411:38:2411:39 | in : Map [] : Object | Test.java:2411:10:2411:54 | findParameterValue(...) : String | provenance | MaD:154 | +| Test.java:2417:24:2417:47 | (...)... : ServletRequest | Test.java:2418:38:2418:39 | in : ServletRequest | provenance | | +| Test.java:2417:40:2417:47 | source(...) : Object | Test.java:2417:24:2417:47 | (...)... : ServletRequest | provenance | | +| Test.java:2418:10:2418:54 | findParameterValue(...) : String | Test.java:2419:9:2419:11 | out | provenance | | +| Test.java:2418:38:2418:39 | in : ServletRequest | Test.java:2418:10:2418:54 | findParameterValue(...) : String | provenance | MaD:155 | +| Test.java:2424:28:2424:55 | (...)... : HttpServletRequest | Test.java:2425:29:2425:30 | in : HttpServletRequest | provenance | | +| Test.java:2424:48:2424:55 | source(...) : Object | Test.java:2424:28:2424:55 | (...)... : HttpServletRequest | provenance | | +| Test.java:2425:10:2425:37 | getCookie(...) : Cookie | Test.java:2426:9:2426:11 | out | provenance | | +| Test.java:2425:29:2425:30 | in : HttpServletRequest | Test.java:2425:10:2425:37 | getCookie(...) : Cookie | provenance | MaD:156 | +| Test.java:2431:24:2431:47 | (...)... : ServletRequest | Test.java:2432:36:2432:37 | in : ServletRequest | provenance | | +| Test.java:2431:40:2431:47 | source(...) : Object | Test.java:2431:24:2431:47 | (...)... : ServletRequest | provenance | | +| Test.java:2432:10:2432:44 | getNativeRequest(...) : Object | Test.java:2433:9:2433:11 | out | provenance | | +| Test.java:2432:36:2432:37 | in : ServletRequest | Test.java:2432:10:2432:44 | getNativeRequest(...) : Object | provenance | MaD:157 | +| Test.java:2438:25:2438:49 | (...)... : ServletResponse | Test.java:2439:37:2439:38 | in : ServletResponse | provenance | | +| Test.java:2438:42:2438:49 | source(...) : Object | Test.java:2438:25:2438:49 | (...)... : ServletResponse | provenance | | +| Test.java:2439:10:2439:45 | getNativeResponse(...) : Object | Test.java:2440:9:2440:11 | out | provenance | | +| Test.java:2439:37:2439:38 | in : ServletResponse | Test.java:2439:10:2439:45 | getNativeResponse(...) : Object | provenance | MaD:158 | +| Test.java:2445:24:2445:47 | (...)... : ServletRequest | Test.java:2446:45:2446:46 | in : ServletRequest | provenance | | +| Test.java:2445:40:2445:47 | source(...) : Object | Test.java:2445:24:2445:47 | (...)... : ServletRequest | provenance | | +| Test.java:2446:10:2446:53 | getParametersStartingWith(...) : Map [] : Object | Test.java:2447:19:2447:21 | out : Map [] : Object | provenance | | +| Test.java:2446:45:2446:46 | in : ServletRequest | Test.java:2446:10:2446:53 | getParametersStartingWith(...) : Map [] : Object | provenance | MaD:159 | +| Test.java:2447:19:2447:21 | out : Map [] : Object | Test.java:50:18:50:27 | m : Map [] : Object | provenance | | +| Test.java:2447:19:2447:21 | out : Map [] : Object | Test.java:2447:9:2447:22 | getMapKey(...) | provenance | MaD:6 | +| Test.java:2452:24:2452:47 | (...)... : ServletRequest | Test.java:2453:45:2453:46 | in : ServletRequest | provenance | | +| Test.java:2452:40:2452:47 | source(...) : Object | Test.java:2452:24:2452:47 | (...)... : ServletRequest | provenance | | +| Test.java:2453:10:2453:53 | getParametersStartingWith(...) : Map [] : Object | Test.java:2454:21:2454:23 | out : Map [] : Object | provenance | | +| Test.java:2453:45:2453:46 | in : ServletRequest | Test.java:2453:10:2453:53 | getParametersStartingWith(...) : Map [] : Object | provenance | MaD:160 | +| Test.java:2454:21:2454:23 | out : Map [] : Object | Test.java:51:20:51:29 | m : Map [] : Object | provenance | | +| Test.java:2454:21:2454:23 | out : Map [] : Object | Test.java:2454:9:2454:24 | getMapValue(...) | provenance | MaD:5 | +| Test.java:2459:16:2459:31 | (...)... : String | Test.java:2460:37:2460:38 | in : String | provenance | | +| Test.java:2459:24:2459:31 | source(...) : Object | Test.java:2459:16:2459:31 | (...)... : String | provenance | | +| Test.java:2460:10:2460:39 | getRealPath(...) : String | Test.java:2461:9:2461:11 | out | provenance | | +| Test.java:2460:37:2460:38 | in : String | Test.java:2460:10:2460:39 | getRealPath(...) : String | provenance | MaD:161 | +| Test.java:2466:24:2466:47 | (...)... : ServletContext | Test.java:2467:31:2467:32 | in : ServletContext | provenance | | +| Test.java:2466:40:2466:47 | source(...) : Object | Test.java:2466:24:2466:47 | (...)... : ServletContext | provenance | | +| Test.java:2467:10:2467:39 | getRealPath(...) : String | Test.java:2468:9:2468:11 | out | provenance | | +| Test.java:2467:31:2467:32 | in : ServletContext | Test.java:2467:10:2467:39 | getRealPath(...) : String | provenance | MaD:161 | +| Test.java:2473:28:2473:55 | (...)... : HttpServletRequest | Test.java:2474:47:2474:48 | in : HttpServletRequest | provenance | | +| Test.java:2473:48:2473:55 | source(...) : Object | Test.java:2473:28:2473:55 | (...)... : HttpServletRequest | provenance | | +| Test.java:2474:10:2474:55 | getRequiredSessionAttribute(...) : Object | Test.java:2475:9:2475:11 | out | provenance | | +| Test.java:2474:47:2474:48 | in : HttpServletRequest | Test.java:2474:10:2474:55 | getRequiredSessionAttribute(...) : Object | provenance | MaD:162 | +| Test.java:2480:28:2480:55 | (...)... : HttpServletRequest | Test.java:2481:39:2481:40 | in : HttpServletRequest | provenance | | +| Test.java:2480:48:2480:55 | source(...) : Object | Test.java:2480:28:2480:55 | (...)... : HttpServletRequest | provenance | | +| Test.java:2481:10:2481:47 | getSessionAttribute(...) : Object | Test.java:2482:9:2482:11 | out | provenance | | +| Test.java:2481:39:2481:40 | in : HttpServletRequest | Test.java:2481:10:2481:47 | getSessionAttribute(...) : Object | provenance | MaD:163 | +| Test.java:2487:16:2487:31 | (...)... : String | Test.java:2488:40:2488:41 | in : String | provenance | | +| Test.java:2487:24:2487:31 | source(...) : Object | Test.java:2487:16:2487:31 | (...)... : String | provenance | | +| Test.java:2488:10:2488:42 | parseMatrixVariables(...) : MultiValueMap [] : Object | Test.java:2489:19:2489:21 | out : MultiValueMap [] : Object | provenance | | +| Test.java:2488:40:2488:41 | in : String | Test.java:2488:10:2488:42 | parseMatrixVariables(...) : MultiValueMap [] : Object | provenance | MaD:164 | +| Test.java:2489:19:2489:21 | out : MultiValueMap [] : Object | Test.java:50:18:50:27 | m : MultiValueMap [] : Object | provenance | | +| Test.java:2489:19:2489:21 | out : MultiValueMap [] : Object | Test.java:2489:9:2489:22 | getMapKey(...) | provenance | MaD:6 | +| Test.java:2494:16:2494:31 | (...)... : String | Test.java:2495:40:2495:41 | in : String | provenance | | +| Test.java:2494:24:2494:31 | source(...) : Object | Test.java:2494:16:2494:31 | (...)... : String | provenance | | +| Test.java:2495:10:2495:42 | parseMatrixVariables(...) : MultiValueMap [] : Object | Test.java:2496:21:2496:23 | out : MultiValueMap [] : Object | provenance | | +| Test.java:2495:40:2495:41 | in : String | Test.java:2495:10:2495:42 | parseMatrixVariables(...) : MultiValueMap [] : Object | provenance | MaD:165 | +| Test.java:2496:21:2496:23 | out : MultiValueMap [] : Object | Test.java:51:20:51:29 | m : MultiValueMap [] : Object | provenance | | +| Test.java:2496:21:2496:23 | out : MultiValueMap [] : Object | Test.java:2496:9:2496:24 | getMapValue(...) | provenance | MaD:5 | +| Test.java:2501:19:2501:34 | (...)... : String | Test.java:2502:34:2502:35 | in : String | provenance | | +| Test.java:2501:27:2501:34 | source(...) : Object | Test.java:2501:19:2501:34 | (...)... : String | provenance | | +| Test.java:2502:13:2502:42 | htmlEscape(...) : String | Test.java:2503:12:2503:14 | out | provenance | | +| Test.java:2502:34:2502:35 | in : String | Test.java:2502:13:2502:42 | htmlEscape(...) : String | provenance | MaD:25 | +| Test.java:2508:19:2508:34 | (...)... : String | Test.java:2509:34:2509:35 | in : String | provenance | | +| Test.java:2508:27:2508:34 | source(...) : Object | Test.java:2508:19:2508:34 | (...)... : String | provenance | | +| Test.java:2509:13:2509:36 | htmlEscape(...) : String | Test.java:2510:12:2510:14 | out | provenance | | +| Test.java:2509:34:2509:35 | in : String | Test.java:2509:13:2509:36 | htmlEscape(...) : String | provenance | MaD:25 | +| Test.java:2515:19:2515:34 | (...)... : String | Test.java:2516:41:2516:42 | in : String | provenance | | +| Test.java:2515:27:2515:34 | source(...) : Object | Test.java:2515:19:2515:34 | (...)... : String | provenance | | +| Test.java:2516:13:2516:49 | htmlEscapeDecimal(...) : String | Test.java:2517:12:2517:14 | out | provenance | | +| Test.java:2516:41:2516:42 | in : String | Test.java:2516:13:2516:49 | htmlEscapeDecimal(...) : String | provenance | MaD:26 | +| Test.java:2522:19:2522:34 | (...)... : String | Test.java:2523:41:2523:42 | in : String | provenance | | +| Test.java:2522:27:2522:34 | source(...) : Object | Test.java:2522:19:2522:34 | (...)... : String | provenance | | +| Test.java:2523:13:2523:43 | htmlEscapeDecimal(...) : String | Test.java:2524:12:2524:14 | out | provenance | | +| Test.java:2523:41:2523:42 | in : String | Test.java:2523:13:2523:43 | htmlEscapeDecimal(...) : String | provenance | MaD:26 | +| Test.java:2529:19:2529:34 | (...)... : String | Test.java:2530:37:2530:38 | in : String | provenance | | +| Test.java:2529:27:2529:34 | source(...) : Object | Test.java:2529:19:2529:34 | (...)... : String | provenance | | +| Test.java:2530:13:2530:45 | htmlEscapeHex(...) : String | Test.java:2531:12:2531:14 | out | provenance | | +| Test.java:2530:37:2530:38 | in : String | Test.java:2530:13:2530:45 | htmlEscapeHex(...) : String | provenance | MaD:27 | +| Test.java:2536:19:2536:34 | (...)... : String | Test.java:2537:37:2537:38 | in : String | provenance | | +| Test.java:2536:27:2536:34 | source(...) : Object | Test.java:2536:19:2536:34 | (...)... : String | provenance | | +| Test.java:2537:13:2537:39 | htmlEscapeHex(...) : String | Test.java:2538:12:2538:14 | out | provenance | | +| Test.java:2537:37:2537:38 | in : String | Test.java:2537:13:2537:39 | htmlEscapeHex(...) : String | provenance | MaD:27 | +| Test.java:2543:23:2543:45 | (...)... : UriComponents | Test.java:2544:10:2544:11 | in : UriComponents | provenance | | +| Test.java:2543:38:2543:45 | source(...) : Object | Test.java:2543:23:2543:45 | (...)... : UriComponents | provenance | | +| Test.java:2544:10:2544:11 | in : UriComponents | Test.java:2544:10:2544:23 | normalize(...) : UriComponents | provenance | MaD:93 | +| Test.java:2544:10:2544:23 | normalize(...) : UriComponents | Test.java:2545:9:2545:11 | out | provenance | | +| Test.java:2550:23:2550:45 | (...)... : UriComponents | Test.java:2551:10:2551:11 | in : UriComponents | provenance | | +| Test.java:2550:38:2550:45 | source(...) : Object | Test.java:2550:23:2550:45 | (...)... : UriComponents | provenance | | +| Test.java:2551:10:2551:11 | in : UriComponents | Test.java:2551:10:2551:22 | toString(...) : String | provenance | MaD:94 | +| Test.java:2551:10:2551:22 | toString(...) : String | Test.java:2552:9:2552:11 | out | provenance | | +| Test.java:2557:21:2557:41 | (...)... : UriTemplate | Test.java:2558:10:2558:11 | in : UriTemplate | provenance | | +| Test.java:2557:34:2557:41 | source(...) : Object | Test.java:2557:21:2557:41 | (...)... : UriTemplate | provenance | | +| Test.java:2558:10:2558:11 | in : UriTemplate | Test.java:2558:10:2558:22 | toString(...) : String | provenance | MaD:123 | +| Test.java:2558:10:2558:22 | toString(...) : String | Test.java:2559:9:2559:11 | out | provenance | | +| Test.java:2564:16:2564:31 | (...)... : Object | Test.java:2565:44:2565:45 | in : Object | provenance | | +| Test.java:2564:24:2564:31 | source(...) : Object | Test.java:2564:16:2564:31 | (...)... : Object | provenance | | +| Test.java:2565:33:2565:35 | out [post update] : HttpServletRequest | Test.java:2566:9:2566:11 | out | provenance | | +| Test.java:2565:44:2565:45 | in : Object | Test.java:2565:33:2565:35 | out [post update] : HttpServletRequest | provenance | MaD:166 | +nodes +| Test.java:44:5:44:28 | parameter this [Return] : StubUriTemplateVariables [] : Object | semmle.label | parameter this [Return] : StubUriTemplateVariables [] : Object | +| Test.java:44:30:44:34 | m : Map [] : Object | semmle.label | m : Map [] : Object | +| Test.java:44:39:44:47 | this [post update] : StubUriTemplateVariables [] : Object | semmle.label | this [post update] : StubUriTemplateVariables [] : Object | +| Test.java:44:45:44:45 | m : Map [] : Object | semmle.label | m : Map [] : Object | +| Test.java:46:19:46:26 | parameter this : StubUriTemplateVariables [] : Object | semmle.label | parameter this : StubUriTemplateVariables [] : Object | +| Test.java:46:50:46:53 | this : StubUriTemplateVariables [] : Object | semmle.label | this : StubUriTemplateVariables [] : Object | +| Test.java:46:50:46:63 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:49:20:49:39 | container : List [] : Object | semmle.label | container : List [] : Object | +| Test.java:49:51:49:59 | container : List [] : Object | semmle.label | container : List [] : Object | +| Test.java:49:51:49:70 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:49:51:49:77 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:50:18:50:27 | m : Map [] : Object | semmle.label | m : Map [] : Object | +| Test.java:50:18:50:27 | m : MultiValueMap [] : Object | semmle.label | m : MultiValueMap [] : Object | +| Test.java:50:39:50:39 | m : Map [] : Object | semmle.label | m : Map [] : Object | +| Test.java:50:39:50:39 | m : MultiValueMap [] : Object | semmle.label | m : MultiValueMap [] : Object | +| Test.java:50:39:50:48 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:50:39:50:48 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | +| Test.java:50:39:50:59 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:50:39:50:59 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:50:39:50:66 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:50:39:50:66 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:51:20:51:29 | m : Map [] : Object | semmle.label | m : Map [] : Object | +| Test.java:51:20:51:29 | m : MultiValueMap [, ] : Object | semmle.label | m : MultiValueMap [, ] : Object | +| Test.java:51:20:51:29 | m : MultiValueMap [] : Object | semmle.label | m : MultiValueMap [] : Object | +| Test.java:51:41:51:41 | m : Map [] : Object | semmle.label | m : Map [] : Object | +| Test.java:51:41:51:41 | m : MultiValueMap [, ] : Object | semmle.label | m : MultiValueMap [, ] : Object | +| Test.java:51:41:51:41 | m : MultiValueMap [] : Object | semmle.label | m : MultiValueMap [] : Object | +| Test.java:51:41:51:51 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:51:41:51:51 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:51:41:51:51 | get(...) : Object [] : Object | semmle.label | get(...) : Object [] : Object | +| Test.java:52:20:52:33 | element : Object | semmle.label | element : Object | +| Test.java:52:45:52:65 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:52:52:52:58 | element : Object | semmle.label | element : Object | +| Test.java:53:22:53:35 | element : Object | semmle.label | element : Object | +| Test.java:53:47:53:67 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:53:60:53:66 | element : Object | semmle.label | element : Object | +| Test.java:54:40:54:53 | element : Object | semmle.label | element : Object | +| Test.java:54:65:54:110 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | semmle.label | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | +| Test.java:54:89:54:109 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:54:96:54:102 | element : Object | semmle.label | element : Object | +| Test.java:55:42:55:55 | element : Object | semmle.label | element : Object | +| Test.java:55:105:55:105 | m [post update] : LinkedMultiValueMap [] : Object | semmle.label | m [post update] : LinkedMultiValueMap [] : Object | +| Test.java:55:117:55:123 | element : Object | semmle.label | element : Object | +| Test.java:55:134:55:134 | m : LinkedMultiValueMap [] : Object | semmle.label | m : LinkedMultiValueMap [] : Object | +| Test.java:64:36:64:71 | (...)... : AbstractUriTemplateHandler | semmle.label | (...)... : AbstractUriTemplateHandler | +| Test.java:64:64:64:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:65:10:65:11 | in : AbstractUriTemplateHandler | semmle.label | in : AbstractUriTemplateHandler | +| Test.java:65:10:65:24 | getBaseUrl(...) : String | semmle.label | getBaseUrl(...) : String | +| Test.java:66:9:66:11 | out | semmle.label | out | +| Test.java:71:16:71:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:71:24:71:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:72:4:72:6 | out [post update] : AbstractUriTemplateHandler | semmle.label | out [post update] : AbstractUriTemplateHandler | +| Test.java:72:19:72:20 | in : String | semmle.label | in : String | +| Test.java:73:9:73:11 | out | semmle.label | out | +| Test.java:78:13:78:25 | (...)... : Map | semmle.label | (...)... : Map | +| Test.java:78:18:78:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:79:4:79:6 | out [post update] : AbstractUriTemplateHandler | semmle.label | out [post update] : AbstractUriTemplateHandler | +| Test.java:79:31:79:32 | in : Map | semmle.label | in : Map | +| Test.java:80:9:80:11 | out | semmle.label | out | +| Test.java:85:28:85:55 | (...)... : HttpServletRequest | semmle.label | (...)... : HttpServletRequest | +| Test.java:85:48:85:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:86:10:86:48 | new ContentCachingRequestWrapper(...) : ContentCachingRequestWrapper | semmle.label | new ContentCachingRequestWrapper(...) : ContentCachingRequestWrapper | +| Test.java:86:43:86:44 | in : HttpServletRequest | semmle.label | in : HttpServletRequest | +| Test.java:87:9:87:11 | out | semmle.label | out | +| Test.java:92:28:92:55 | (...)... : HttpServletRequest | semmle.label | (...)... : HttpServletRequest | +| Test.java:92:48:92:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:93:10:93:45 | new ContentCachingRequestWrapper(...) : ContentCachingRequestWrapper | semmle.label | new ContentCachingRequestWrapper(...) : ContentCachingRequestWrapper | +| Test.java:93:43:93:44 | in : HttpServletRequest | semmle.label | in : HttpServletRequest | +| Test.java:94:9:94:11 | out | semmle.label | out | +| Test.java:99:38:99:75 | (...)... : ContentCachingRequestWrapper | semmle.label | (...)... : ContentCachingRequestWrapper | +| Test.java:99:68:99:75 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:100:10:100:11 | in : ContentCachingRequestWrapper | semmle.label | in : ContentCachingRequestWrapper | +| Test.java:100:10:100:35 | getContentAsByteArray(...) : byte[] | semmle.label | getContentAsByteArray(...) : byte[] | +| Test.java:101:9:101:11 | out | semmle.label | out | +| Test.java:106:29:106:57 | (...)... : HttpServletResponse | semmle.label | (...)... : HttpServletResponse | +| Test.java:106:50:106:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:107:10:107:46 | new ContentCachingResponseWrapper(...) : ContentCachingResponseWrapper | semmle.label | new ContentCachingResponseWrapper(...) : ContentCachingResponseWrapper | +| Test.java:107:44:107:45 | in : HttpServletResponse | semmle.label | in : HttpServletResponse | +| Test.java:108:9:108:11 | out | semmle.label | out | +| Test.java:113:39:113:77 | (...)... : ContentCachingResponseWrapper | semmle.label | (...)... : ContentCachingResponseWrapper | +| Test.java:113:70:113:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:114:10:114:11 | in : ContentCachingResponseWrapper | semmle.label | in : ContentCachingResponseWrapper | +| Test.java:114:10:114:35 | getContentAsByteArray(...) : byte[] | semmle.label | getContentAsByteArray(...) : byte[] | +| Test.java:115:9:115:11 | out | semmle.label | out | +| Test.java:120:39:120:77 | (...)... : ContentCachingResponseWrapper | semmle.label | (...)... : ContentCachingResponseWrapper | +| Test.java:120:70:120:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:121:10:121:11 | in : ContentCachingResponseWrapper | semmle.label | in : ContentCachingResponseWrapper | +| Test.java:121:10:121:35 | getContentInputStream(...) : InputStream | semmle.label | getContentInputStream(...) : InputStream | +| Test.java:122:9:122:11 | out | semmle.label | out | +| Test.java:127:30:127:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:127:52:127:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:128:10:128:41 | new DefaultUriBuilderFactory(...) : DefaultUriBuilderFactory | semmle.label | new DefaultUriBuilderFactory(...) : DefaultUriBuilderFactory | +| Test.java:128:39:128:40 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:129:9:129:11 | out | semmle.label | out | +| Test.java:134:16:134:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:134:24:134:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:135:10:135:41 | new DefaultUriBuilderFactory(...) : DefaultUriBuilderFactory | semmle.label | new DefaultUriBuilderFactory(...) : DefaultUriBuilderFactory | +| Test.java:135:39:135:40 | in : String | semmle.label | in : String | +| Test.java:136:9:136:11 | out | semmle.label | out | +| Test.java:141:34:141:67 | (...)... : DefaultUriBuilderFactory | semmle.label | (...)... : DefaultUriBuilderFactory | +| Test.java:141:60:141:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:142:10:142:11 | in : DefaultUriBuilderFactory | semmle.label | in : DefaultUriBuilderFactory | +| Test.java:142:10:142:21 | builder(...) : UriBuilder | semmle.label | builder(...) : UriBuilder | +| Test.java:143:9:143:11 | out | semmle.label | out | +| Test.java:148:13:148:37 | newMapWithValue(...) : Map [] : Object | semmle.label | newMapWithValue(...) : Map [] : Object | +| Test.java:148:29:148:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:150:10:150:42 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:150:40:150:41 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:151:9:151:11 | out | semmle.label | out | +| Test.java:156:18:156:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:156:31:156:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:158:10:158:42 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:158:40:158:41 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:159:9:159:11 | out | semmle.label | out | +| Test.java:164:16:164:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:164:24:164:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:166:10:166:44 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:166:26:166:27 | in : String | semmle.label | in : String | +| Test.java:167:9:167:11 | out | semmle.label | out | +| Test.java:172:16:172:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:172:24:172:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:174:10:174:39 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:174:26:174:27 | in : String | semmle.label | in : String | +| Test.java:175:9:175:11 | out | semmle.label | out | +| Test.java:180:34:180:67 | (...)... : DefaultUriBuilderFactory | semmle.label | (...)... : DefaultUriBuilderFactory | +| Test.java:180:60:180:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:181:10:181:11 | in : DefaultUriBuilderFactory | semmle.label | in : DefaultUriBuilderFactory | +| Test.java:181:10:181:48 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:182:9:182:11 | out | semmle.label | out | +| Test.java:187:34:187:67 | (...)... : DefaultUriBuilderFactory | semmle.label | (...)... : DefaultUriBuilderFactory | +| Test.java:187:60:187:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:188:10:188:11 | in : DefaultUriBuilderFactory | semmle.label | in : DefaultUriBuilderFactory | +| Test.java:188:10:188:43 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:189:9:189:11 | out | semmle.label | out | +| Test.java:194:34:194:67 | (...)... : DefaultUriBuilderFactory | semmle.label | (...)... : DefaultUriBuilderFactory | +| Test.java:194:60:194:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:195:10:195:11 | in : DefaultUriBuilderFactory | semmle.label | in : DefaultUriBuilderFactory | +| Test.java:195:10:195:36 | getDefaultUriVariables(...) : Map [] : Object | semmle.label | getDefaultUriVariables(...) : Map [] : Object | +| Test.java:196:9:196:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:196:21:196:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:201:13:201:34 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:201:26:201:33 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:202:4:202:6 | out [post update] : DefaultUriBuilderFactory | semmle.label | out [post update] : DefaultUriBuilderFactory | +| Test.java:202:31:202:32 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:203:9:203:11 | out | semmle.label | out | +| Test.java:208:34:208:67 | (...)... : DefaultUriBuilderFactory | semmle.label | (...)... : DefaultUriBuilderFactory | +| Test.java:208:60:208:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:209:10:209:11 | in : DefaultUriBuilderFactory | semmle.label | in : DefaultUriBuilderFactory | +| Test.java:209:10:209:27 | uriString(...) : UriBuilder | semmle.label | uriString(...) : UriBuilder | +| Test.java:210:9:210:11 | out | semmle.label | out | +| Test.java:215:16:215:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:215:24:215:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:216:10:216:35 | htmlUnescape(...) : String | semmle.label | htmlUnescape(...) : String | +| Test.java:216:33:216:34 | in : String | semmle.label | in : String | +| Test.java:217:9:217:11 | out | semmle.label | out | +| Test.java:222:16:222:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:222:24:222:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:223:10:223:73 | resolvePlaceholders(...) : String | semmle.label | resolvePlaceholders(...) : String | +| Test.java:223:58:223:59 | in : String | semmle.label | in : String | +| Test.java:224:9:224:11 | out | semmle.label | out | +| Test.java:229:16:229:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:229:24:229:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:230:10:230:66 | resolvePlaceholders(...) : String | semmle.label | resolvePlaceholders(...) : String | +| Test.java:230:58:230:59 | in : String | semmle.label | in : String | +| Test.java:231:9:231:11 | out | semmle.label | out | +| Test.java:236:24:236:47 | (...)... : ServletContext | semmle.label | (...)... : ServletContext | +| Test.java:236:40:236:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:237:10:237:73 | resolvePlaceholders(...) : String | semmle.label | resolvePlaceholders(...) : String | +| Test.java:237:64:237:65 | in : ServletContext | semmle.label | in : ServletContext | +| Test.java:238:9:238:11 | out | semmle.label | out | +| Test.java:243:24:243:47 | (...)... : ServletContext | semmle.label | (...)... : ServletContext | +| Test.java:243:40:243:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:244:10:244:66 | resolvePlaceholders(...) : String | semmle.label | resolvePlaceholders(...) : String | +| Test.java:244:64:244:65 | in : ServletContext | semmle.label | in : ServletContext | +| Test.java:245:9:245:11 | out | semmle.label | out | +| Test.java:250:24:250:47 | (...)... : ServletRequest | semmle.label | (...)... : ServletRequest | +| Test.java:250:40:250:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:251:10:251:50 | getCachedPath(...) : Object | semmle.label | getCachedPath(...) : Object | +| Test.java:251:48:251:49 | in : ServletRequest | semmle.label | in : ServletRequest | +| Test.java:252:9:252:11 | out | semmle.label | out | +| Test.java:257:24:257:47 | (...)... : ServletRequest | semmle.label | (...)... : ServletRequest | +| Test.java:257:40:257:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:258:10:258:55 | getCachedPathValue(...) : String | semmle.label | getCachedPathValue(...) : String | +| Test.java:258:53:258:54 | in : ServletRequest | semmle.label | in : ServletRequest | +| Test.java:259:9:259:11 | out | semmle.label | out | +| Test.java:264:24:264:47 | (...)... : ServletRequest | semmle.label | (...)... : ServletRequest | +| Test.java:264:40:264:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:265:10:265:57 | getParsedRequestPath(...) : RequestPath | semmle.label | getParsedRequestPath(...) : RequestPath | +| Test.java:265:55:265:56 | in : ServletRequest | semmle.label | in : ServletRequest | +| Test.java:266:9:266:11 | out | semmle.label | out | +| Test.java:271:28:271:55 | (...)... : HttpServletRequest | semmle.label | (...)... : HttpServletRequest | +| Test.java:271:48:271:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:272:10:272:50 | parseAndCache(...) : RequestPath | semmle.label | parseAndCache(...) : RequestPath | +| Test.java:272:48:272:49 | in : HttpServletRequest | semmle.label | in : HttpServletRequest | +| Test.java:273:9:273:11 | out | semmle.label | out | +| Test.java:278:21:278:41 | (...)... : RequestPath | semmle.label | (...)... : RequestPath | +| Test.java:278:34:278:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:279:49:279:50 | in : RequestPath | semmle.label | in : RequestPath | +| Test.java:279:53:279:55 | out [post update] : ServletRequest | semmle.label | out [post update] : ServletRequest | +| Test.java:280:9:280:11 | out | semmle.label | out | +| Test.java:285:13:285:37 | newMapWithValue(...) : Map [] : Object | semmle.label | newMapWithValue(...) : Map [] : Object | +| Test.java:285:29:285:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:286:4:286:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:286:14:286:15 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:287:9:287:11 | out | semmle.label | out | +| Test.java:292:13:292:37 | newMapWithValue(...) : Map [] : Object | semmle.label | newMapWithValue(...) : Map [] : Object | +| Test.java:292:29:292:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:294:10:294:27 | build(...) : URI | semmle.label | build(...) : URI | +| Test.java:294:25:294:26 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:295:9:295:11 | out | semmle.label | out | +| Test.java:300:20:300:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:300:32:300:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:301:10:301:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:301:10:301:24 | build(...) : URI | semmle.label | build(...) : URI | +| Test.java:302:9:302:11 | out | semmle.label | out | +| Test.java:307:20:307:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:307:32:307:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:308:10:308:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:308:10:308:19 | build(...) : URI | semmle.label | build(...) : URI | +| Test.java:309:9:309:11 | out | semmle.label | out | +| Test.java:314:20:314:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:314:32:314:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:315:10:315:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:315:10:315:33 | build(...) : URI | semmle.label | build(...) : URI | +| Test.java:316:9:316:11 | out | semmle.label | out | +| Test.java:321:20:321:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:321:32:321:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:322:10:322:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:322:10:322:28 | build(...) : URI | semmle.label | build(...) : URI | +| Test.java:323:9:323:11 | out | semmle.label | out | +| Test.java:328:20:328:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:328:32:328:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:329:10:329:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:329:10:329:26 | fragment(...) : UriBuilder | semmle.label | fragment(...) : UriBuilder | +| Test.java:330:9:330:11 | out | semmle.label | out | +| Test.java:335:20:335:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:335:32:335:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:336:10:336:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:336:10:336:26 | fragment(...) : UriBuilder | semmle.label | fragment(...) : UriBuilder | +| Test.java:337:9:337:11 | out | semmle.label | out | +| Test.java:342:16:342:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:342:24:342:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:343:4:343:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:343:17:343:18 | in : String | semmle.label | in : String | +| Test.java:344:9:344:11 | out | semmle.label | out | +| Test.java:349:16:349:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:349:24:349:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:350:4:350:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:350:17:350:18 | in : String | semmle.label | in : String | +| Test.java:351:9:351:11 | out | semmle.label | out | +| Test.java:356:16:356:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:356:24:356:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:358:10:358:30 | fragment(...) : UriBuilder | semmle.label | fragment(...) : UriBuilder | +| Test.java:358:28:358:29 | in : String | semmle.label | in : String | +| Test.java:359:9:359:11 | out | semmle.label | out | +| Test.java:364:16:364:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:364:24:364:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:366:10:366:30 | fragment(...) : UriBuilder | semmle.label | fragment(...) : UriBuilder | +| Test.java:366:28:366:29 | in : String | semmle.label | in : String | +| Test.java:367:9:367:11 | out | semmle.label | out | +| Test.java:372:20:372:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:372:32:372:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:373:10:373:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:373:10:373:22 | host(...) : UriBuilder | semmle.label | host(...) : UriBuilder | +| Test.java:374:9:374:11 | out | semmle.label | out | +| Test.java:379:20:379:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:379:32:379:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:380:10:380:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:380:10:380:22 | host(...) : UriBuilder | semmle.label | host(...) : UriBuilder | +| Test.java:381:9:381:11 | out | semmle.label | out | +| Test.java:386:16:386:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:386:24:386:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:388:10:388:26 | host(...) : UriBuilder | semmle.label | host(...) : UriBuilder | +| Test.java:388:24:388:25 | in : String | semmle.label | in : String | +| Test.java:389:9:389:11 | out | semmle.label | out | +| Test.java:394:16:394:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:394:24:394:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:396:10:396:26 | host(...) : UriBuilder | semmle.label | host(...) : UriBuilder | +| Test.java:396:24:396:25 | in : String | semmle.label | in : String | +| Test.java:397:9:397:11 | out | semmle.label | out | +| Test.java:402:20:402:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:402:32:402:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:403:10:403:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:403:10:403:22 | path(...) : UriBuilder | semmle.label | path(...) : UriBuilder | +| Test.java:404:9:404:11 | out | semmle.label | out | +| Test.java:409:20:409:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:409:32:409:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:410:10:410:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:410:10:410:22 | path(...) : UriBuilder | semmle.label | path(...) : UriBuilder | +| Test.java:411:9:411:11 | out | semmle.label | out | +| Test.java:416:16:416:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:416:24:416:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:417:4:417:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:417:13:417:14 | in : String | semmle.label | in : String | +| Test.java:418:9:418:11 | out | semmle.label | out | +| Test.java:423:16:423:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:423:24:423:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:424:4:424:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:424:13:424:14 | in : String | semmle.label | in : String | +| Test.java:425:9:425:11 | out | semmle.label | out | +| Test.java:430:16:430:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:430:24:430:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:432:10:432:26 | path(...) : UriBuilder | semmle.label | path(...) : UriBuilder | +| Test.java:432:24:432:25 | in : String | semmle.label | in : String | +| Test.java:433:9:433:11 | out | semmle.label | out | +| Test.java:438:16:438:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:438:24:438:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:440:10:440:26 | path(...) : UriBuilder | semmle.label | path(...) : UriBuilder | +| Test.java:440:24:440:25 | in : String | semmle.label | in : String | +| Test.java:441:9:441:11 | out | semmle.label | out | +| Test.java:446:20:446:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:446:32:446:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:447:10:447:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:447:10:447:39 | pathSegment(...) : UriBuilder | semmle.label | pathSegment(...) : UriBuilder | +| Test.java:448:9:448:11 | out | semmle.label | out | +| Test.java:453:20:453:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:453:32:453:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:454:10:454:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:454:10:454:39 | pathSegment(...) : UriBuilder | semmle.label | pathSegment(...) : UriBuilder | +| Test.java:455:9:455:11 | out | semmle.label | out | +| Test.java:460:18:460:47 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:460:31:460:46 | (...)... : String | semmle.label | (...)... : String | +| Test.java:460:39:460:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:461:4:461:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:461:20:461:31 | (...)... : String[] [[]] : String | semmle.label | (...)... : String[] [[]] : String | +| Test.java:462:9:462:11 | out | semmle.label | out | +| Test.java:467:18:467:47 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:467:31:467:46 | (...)... : String | semmle.label | (...)... : String | +| Test.java:467:39:467:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:468:4:468:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:468:20:468:31 | (...)... : String[] [[]] : String | semmle.label | (...)... : String[] [[]] : String | +| Test.java:469:9:469:11 | out | semmle.label | out | +| Test.java:474:18:474:47 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:474:31:474:46 | (...)... : String | semmle.label | (...)... : String | +| Test.java:474:39:474:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:476:10:476:43 | pathSegment(...) : UriBuilder | semmle.label | pathSegment(...) : UriBuilder | +| Test.java:476:31:476:42 | (...)... : String[] [[]] : String | semmle.label | (...)... : String[] [[]] : String | +| Test.java:477:9:477:11 | out | semmle.label | out | +| Test.java:482:18:482:47 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:482:31:482:46 | (...)... : String | semmle.label | (...)... : String | +| Test.java:482:39:482:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:484:10:484:43 | pathSegment(...) : UriBuilder | semmle.label | pathSegment(...) : UriBuilder | +| Test.java:484:31:484:42 | (...)... : String[] [[]] : String | semmle.label | (...)... : String[] [[]] : String | +| Test.java:485:9:485:11 | out | semmle.label | out | +| Test.java:490:16:490:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:490:24:490:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:491:4:491:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:491:13:491:14 | in : String | semmle.label | in : String | +| Test.java:492:9:492:11 | out | semmle.label | out | +| Test.java:497:16:497:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:497:24:497:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:498:4:498:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:498:13:498:14 | in : String | semmle.label | in : String | +| Test.java:499:9:499:11 | out | semmle.label | out | +| Test.java:504:16:504:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:504:24:504:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:506:10:506:26 | port(...) : UriBuilder | semmle.label | port(...) : UriBuilder | +| Test.java:506:24:506:25 | in : String | semmle.label | in : String | +| Test.java:507:9:507:11 | out | semmle.label | out | +| Test.java:512:16:512:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:512:24:512:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:514:10:514:26 | port(...) : UriBuilder | semmle.label | port(...) : UriBuilder | +| Test.java:514:24:514:25 | in : String | semmle.label | in : String | +| Test.java:515:9:515:11 | out | semmle.label | out | +| Test.java:520:20:520:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:520:32:520:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:521:10:521:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:521:10:521:19 | port(...) : UriBuilder | semmle.label | port(...) : UriBuilder | +| Test.java:522:9:522:11 | out | semmle.label | out | +| Test.java:527:20:527:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:527:32:527:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:528:10:528:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:528:10:528:30 | port(...) : UriBuilder | semmle.label | port(...) : UriBuilder | +| Test.java:529:9:529:11 | out | semmle.label | out | +| Test.java:534:20:534:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:534:32:534:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:535:10:535:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:535:10:535:19 | port(...) : UriBuilder | semmle.label | port(...) : UriBuilder | +| Test.java:536:9:536:11 | out | semmle.label | out | +| Test.java:541:20:541:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:541:32:541:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:542:10:542:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:542:10:542:30 | port(...) : UriBuilder | semmle.label | port(...) : UriBuilder | +| Test.java:543:9:543:11 | out | semmle.label | out | +| Test.java:548:20:548:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:548:32:548:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:549:10:549:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:549:10:549:23 | query(...) : UriBuilder | semmle.label | query(...) : UriBuilder | +| Test.java:550:9:550:11 | out | semmle.label | out | +| Test.java:555:20:555:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:555:32:555:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:556:10:556:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:556:10:556:23 | query(...) : UriBuilder | semmle.label | query(...) : UriBuilder | +| Test.java:557:9:557:11 | out | semmle.label | out | +| Test.java:562:16:562:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:562:24:562:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:563:4:563:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:563:14:563:15 | in : String | semmle.label | in : String | +| Test.java:564:9:564:11 | out | semmle.label | out | +| Test.java:569:16:569:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:569:24:569:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:570:4:570:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:570:14:570:15 | in : String | semmle.label | in : String | +| Test.java:571:9:571:11 | out | semmle.label | out | +| Test.java:576:16:576:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:576:24:576:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:578:10:578:27 | query(...) : UriBuilder | semmle.label | query(...) : UriBuilder | +| Test.java:578:25:578:26 | in : String | semmle.label | in : String | +| Test.java:579:9:579:11 | out | semmle.label | out | +| Test.java:584:16:584:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:584:24:584:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:586:10:586:27 | query(...) : UriBuilder | semmle.label | query(...) : UriBuilder | +| Test.java:586:25:586:26 | in : String | semmle.label | in : String | +| Test.java:587:9:587:11 | out | semmle.label | out | +| Test.java:592:20:592:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:592:28:592:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:593:4:593:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:593:33:593:34 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:594:9:594:11 | out | semmle.label | out | +| Test.java:599:20:599:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:599:28:599:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:600:4:600:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:600:33:600:34 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:601:9:601:11 | out | semmle.label | out | +| Test.java:606:20:606:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:606:28:606:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:608:10:608:46 | queryParam(...) : UriBuilder | semmle.label | queryParam(...) : UriBuilder | +| Test.java:608:44:608:45 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:609:9:609:11 | out | semmle.label | out | +| Test.java:614:20:614:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:614:28:614:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:616:10:616:46 | queryParam(...) : UriBuilder | semmle.label | queryParam(...) : UriBuilder | +| Test.java:616:44:616:45 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:617:9:617:11 | out | semmle.label | out | +| Test.java:622:18:622:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:622:31:622:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:623:4:623:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:623:33:623:34 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:624:9:624:11 | out | semmle.label | out | +| Test.java:629:18:629:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:629:31:629:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:630:4:630:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:630:33:630:34 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:631:9:631:11 | out | semmle.label | out | +| Test.java:636:18:636:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:636:31:636:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:638:10:638:46 | queryParam(...) : UriBuilder | semmle.label | queryParam(...) : UriBuilder | +| Test.java:638:44:638:45 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:639:9:639:11 | out | semmle.label | out | +| Test.java:644:18:644:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:644:31:644:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:646:10:646:46 | queryParam(...) : UriBuilder | semmle.label | queryParam(...) : UriBuilder | +| Test.java:646:44:646:45 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:647:9:647:11 | out | semmle.label | out | +| Test.java:652:20:652:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:652:32:652:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:653:10:653:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:653:10:653:52 | queryParam(...) : UriBuilder | semmle.label | queryParam(...) : UriBuilder | +| Test.java:654:9:654:11 | out | semmle.label | out | +| Test.java:659:20:659:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:659:32:659:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:660:10:660:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:660:10:660:54 | queryParam(...) : UriBuilder | semmle.label | queryParam(...) : UriBuilder | +| Test.java:661:9:661:11 | out | semmle.label | out | +| Test.java:666:20:666:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:666:32:666:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:667:10:667:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:667:10:667:52 | queryParam(...) : UriBuilder | semmle.label | queryParam(...) : UriBuilder | +| Test.java:668:9:668:11 | out | semmle.label | out | +| Test.java:673:20:673:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:673:32:673:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:674:10:674:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:674:10:674:54 | queryParam(...) : UriBuilder | semmle.label | queryParam(...) : UriBuilder | +| Test.java:675:9:675:11 | out | semmle.label | out | +| Test.java:680:16:680:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:680:24:680:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:681:4:681:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:681:19:681:20 | in : String | semmle.label | in : String | +| Test.java:682:9:682:11 | out | semmle.label | out | +| Test.java:687:16:687:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:687:24:687:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:688:4:688:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:688:19:688:20 | in : String | semmle.label | in : String | +| Test.java:689:9:689:11 | out | semmle.label | out | +| Test.java:694:16:694:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:694:24:694:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:695:4:695:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:695:19:695:20 | in : String | semmle.label | in : String | +| Test.java:696:9:696:11 | out | semmle.label | out | +| Test.java:701:16:701:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:701:24:701:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:702:4:702:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:702:19:702:20 | in : String | semmle.label | in : String | +| Test.java:703:9:703:11 | out | semmle.label | out | +| Test.java:708:16:708:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:708:24:708:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:710:10:710:48 | queryParam(...) : UriBuilder | semmle.label | queryParam(...) : UriBuilder | +| Test.java:710:30:710:31 | in : String | semmle.label | in : String | +| Test.java:711:9:711:11 | out | semmle.label | out | +| Test.java:716:16:716:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:716:24:716:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:718:10:718:50 | queryParam(...) : UriBuilder | semmle.label | queryParam(...) : UriBuilder | +| Test.java:718:30:718:31 | in : String | semmle.label | in : String | +| Test.java:719:9:719:11 | out | semmle.label | out | +| Test.java:724:16:724:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:724:24:724:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:726:10:726:48 | queryParam(...) : UriBuilder | semmle.label | queryParam(...) : UriBuilder | +| Test.java:726:30:726:31 | in : String | semmle.label | in : String | +| Test.java:727:9:727:11 | out | semmle.label | out | +| Test.java:732:16:732:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:732:24:732:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:734:10:734:50 | queryParam(...) : UriBuilder | semmle.label | queryParam(...) : UriBuilder | +| Test.java:734:30:734:31 | in : String | semmle.label | in : String | +| Test.java:735:9:735:11 | out | semmle.label | out | +| Test.java:740:20:740:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:740:32:740:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:741:10:741:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:741:10:741:43 | queryParamIfPresent(...) : UriBuilder | semmle.label | queryParamIfPresent(...) : UriBuilder | +| Test.java:742:9:742:11 | out | semmle.label | out | +| Test.java:747:20:747:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:747:32:747:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:748:10:748:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:748:10:748:43 | queryParamIfPresent(...) : UriBuilder | semmle.label | queryParamIfPresent(...) : UriBuilder | +| Test.java:749:9:749:11 | out | semmle.label | out | +| Test.java:754:16:754:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:754:24:754:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:755:4:755:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:755:28:755:29 | in : String | semmle.label | in : String | +| Test.java:756:9:756:11 | out | semmle.label | out | +| Test.java:761:16:761:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:761:24:761:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:762:4:762:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:762:28:762:29 | in : String | semmle.label | in : String | +| Test.java:763:9:763:11 | out | semmle.label | out | +| Test.java:768:16:768:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:768:24:768:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:770:10:770:47 | queryParamIfPresent(...) : UriBuilder | semmle.label | queryParamIfPresent(...) : UriBuilder | +| Test.java:770:39:770:40 | in : String | semmle.label | in : String | +| Test.java:771:9:771:11 | out | semmle.label | out | +| Test.java:776:16:776:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:776:24:776:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:778:10:778:47 | queryParamIfPresent(...) : UriBuilder | semmle.label | queryParamIfPresent(...) : UriBuilder | +| Test.java:778:39:778:40 | in : String | semmle.label | in : String | +| Test.java:779:9:779:11 | out | semmle.label | out | +| Test.java:784:18:784:38 | of(...) : Optional [] : Object | semmle.label | of(...) : Optional [] : Object | +| Test.java:784:30:784:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:785:4:785:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:785:34:785:35 | in : Optional [] : Object | semmle.label | in : Optional [] : Object | +| Test.java:786:9:786:11 | out | semmle.label | out | +| Test.java:791:18:791:38 | of(...) : Optional [] : Object | semmle.label | of(...) : Optional [] : Object | +| Test.java:791:30:791:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:792:4:792:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:792:34:792:35 | in : Optional [] : Object | semmle.label | in : Optional [] : Object | +| Test.java:793:9:793:11 | out | semmle.label | out | +| Test.java:798:18:798:38 | of(...) : Optional [] : Object | semmle.label | of(...) : Optional [] : Object | +| Test.java:798:30:798:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:800:10:800:47 | queryParamIfPresent(...) : UriBuilder | semmle.label | queryParamIfPresent(...) : UriBuilder | +| Test.java:800:45:800:46 | in : Optional [] : Object | semmle.label | in : Optional [] : Object | +| Test.java:801:9:801:11 | out | semmle.label | out | +| Test.java:806:18:806:38 | of(...) : Optional [] : Object | semmle.label | of(...) : Optional [] : Object | +| Test.java:806:30:806:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:808:10:808:47 | queryParamIfPresent(...) : UriBuilder | semmle.label | queryParamIfPresent(...) : UriBuilder | +| Test.java:808:45:808:46 | in : Optional [] : Object | semmle.label | in : Optional [] : Object | +| Test.java:809:9:809:11 | out | semmle.label | out | +| Test.java:814:20:814:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:814:32:814:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:815:10:815:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:815:10:815:29 | queryParams(...) : UriBuilder | semmle.label | queryParams(...) : UriBuilder | +| Test.java:816:9:816:11 | out | semmle.label | out | +| Test.java:821:20:821:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:821:32:821:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:822:10:822:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:822:10:822:29 | queryParams(...) : UriBuilder | semmle.label | queryParams(...) : UriBuilder | +| Test.java:823:9:823:11 | out | semmle.label | out | +| Test.java:828:23:828:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:828:47:828:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:829:4:829:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:829:20:829:21 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:830:9:830:11 | out | semmle.label | out | +| Test.java:835:23:835:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:835:47:835:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:836:4:836:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:836:20:836:21 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:837:9:837:11 | out | semmle.label | out | +| Test.java:842:23:842:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:842:47:842:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:844:10:844:33 | queryParams(...) : UriBuilder | semmle.label | queryParams(...) : UriBuilder | +| Test.java:844:31:844:32 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:845:9:845:11 | out | semmle.label | out | +| Test.java:850:23:850:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:850:47:850:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:852:10:852:33 | queryParams(...) : UriBuilder | semmle.label | queryParams(...) : UriBuilder | +| Test.java:852:31:852:32 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:853:9:853:11 | out | semmle.label | out | +| Test.java:858:23:858:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:858:49:858:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:859:4:859:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:859:20:859:21 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:860:9:860:11 | out | semmle.label | out | +| Test.java:865:23:865:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:865:49:865:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:866:4:866:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:866:20:866:21 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:867:9:867:11 | out | semmle.label | out | +| Test.java:872:23:872:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:872:49:872:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:874:10:874:33 | queryParams(...) : UriBuilder | semmle.label | queryParams(...) : UriBuilder | +| Test.java:874:31:874:32 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:875:9:875:11 | out | semmle.label | out | +| Test.java:880:23:880:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:880:49:880:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:882:10:882:33 | queryParams(...) : UriBuilder | semmle.label | queryParams(...) : UriBuilder | +| Test.java:882:31:882:32 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:883:9:883:11 | out | semmle.label | out | +| Test.java:888:20:888:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:888:32:888:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:889:10:889:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:889:10:889:29 | replacePath(...) : UriBuilder | semmle.label | replacePath(...) : UriBuilder | +| Test.java:890:9:890:11 | out | semmle.label | out | +| Test.java:895:20:895:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:895:32:895:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:896:10:896:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:896:10:896:29 | replacePath(...) : UriBuilder | semmle.label | replacePath(...) : UriBuilder | +| Test.java:897:9:897:11 | out | semmle.label | out | +| Test.java:902:16:902:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:902:24:902:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:903:4:903:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:903:20:903:21 | in : String | semmle.label | in : String | +| Test.java:904:9:904:11 | out | semmle.label | out | +| Test.java:909:16:909:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:909:24:909:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:910:4:910:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:910:20:910:21 | in : String | semmle.label | in : String | +| Test.java:911:9:911:11 | out | semmle.label | out | +| Test.java:916:16:916:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:916:24:916:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:918:10:918:33 | replacePath(...) : UriBuilder | semmle.label | replacePath(...) : UriBuilder | +| Test.java:918:31:918:32 | in : String | semmle.label | in : String | +| Test.java:919:9:919:11 | out | semmle.label | out | +| Test.java:924:16:924:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:924:24:924:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:926:10:926:33 | replacePath(...) : UriBuilder | semmle.label | replacePath(...) : UriBuilder | +| Test.java:926:31:926:32 | in : String | semmle.label | in : String | +| Test.java:927:9:927:11 | out | semmle.label | out | +| Test.java:932:20:932:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:932:32:932:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:933:10:933:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:933:10:933:30 | replaceQuery(...) : UriBuilder | semmle.label | replaceQuery(...) : UriBuilder | +| Test.java:934:9:934:11 | out | semmle.label | out | +| Test.java:939:20:939:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:939:32:939:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:940:10:940:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:940:10:940:30 | replaceQuery(...) : UriBuilder | semmle.label | replaceQuery(...) : UriBuilder | +| Test.java:941:9:941:11 | out | semmle.label | out | +| Test.java:946:16:946:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:946:24:946:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:947:4:947:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:947:21:947:22 | in : String | semmle.label | in : String | +| Test.java:948:9:948:11 | out | semmle.label | out | +| Test.java:953:16:953:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:953:24:953:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:954:4:954:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:954:21:954:22 | in : String | semmle.label | in : String | +| Test.java:955:9:955:11 | out | semmle.label | out | +| Test.java:960:16:960:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:960:24:960:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:962:10:962:34 | replaceQuery(...) : UriBuilder | semmle.label | replaceQuery(...) : UriBuilder | +| Test.java:962:32:962:33 | in : String | semmle.label | in : String | +| Test.java:963:9:963:11 | out | semmle.label | out | +| Test.java:968:16:968:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:968:24:968:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:970:10:970:34 | replaceQuery(...) : UriBuilder | semmle.label | replaceQuery(...) : UriBuilder | +| Test.java:970:32:970:33 | in : String | semmle.label | in : String | +| Test.java:971:9:971:11 | out | semmle.label | out | +| Test.java:976:20:976:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:976:28:976:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:977:4:977:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:977:40:977:41 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:978:9:978:11 | out | semmle.label | out | +| Test.java:983:20:983:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:983:28:983:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:984:4:984:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:984:40:984:41 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:985:9:985:11 | out | semmle.label | out | +| Test.java:990:20:990:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:990:28:990:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:992:10:992:53 | replaceQueryParam(...) : UriBuilder | semmle.label | replaceQueryParam(...) : UriBuilder | +| Test.java:992:51:992:52 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:993:9:993:11 | out | semmle.label | out | +| Test.java:998:20:998:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:998:28:998:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1000:10:1000:53 | replaceQueryParam(...) : UriBuilder | semmle.label | replaceQueryParam(...) : UriBuilder | +| Test.java:1000:51:1000:52 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:1001:9:1001:11 | out | semmle.label | out | +| Test.java:1006:18:1006:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:1006:31:1006:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1007:4:1007:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:1007:40:1007:41 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:1008:9:1008:11 | out | semmle.label | out | +| Test.java:1013:18:1013:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:1013:31:1013:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1014:4:1014:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:1014:40:1014:41 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:1015:9:1015:11 | out | semmle.label | out | +| Test.java:1020:18:1020:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:1020:31:1020:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1022:10:1022:53 | replaceQueryParam(...) : UriBuilder | semmle.label | replaceQueryParam(...) : UriBuilder | +| Test.java:1022:51:1022:52 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:1023:9:1023:11 | out | semmle.label | out | +| Test.java:1028:18:1028:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:1028:31:1028:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1030:10:1030:53 | replaceQueryParam(...) : UriBuilder | semmle.label | replaceQueryParam(...) : UriBuilder | +| Test.java:1030:51:1030:52 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:1031:9:1031:11 | out | semmle.label | out | +| Test.java:1036:20:1036:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:1036:32:1036:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1037:10:1037:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:1037:10:1037:59 | replaceQueryParam(...) : UriBuilder | semmle.label | replaceQueryParam(...) : UriBuilder | +| Test.java:1038:9:1038:11 | out | semmle.label | out | +| Test.java:1043:20:1043:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:1043:32:1043:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1044:10:1044:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:1044:10:1044:61 | replaceQueryParam(...) : UriBuilder | semmle.label | replaceQueryParam(...) : UriBuilder | +| Test.java:1045:9:1045:11 | out | semmle.label | out | +| Test.java:1050:20:1050:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:1050:32:1050:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1051:10:1051:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:1051:10:1051:59 | replaceQueryParam(...) : UriBuilder | semmle.label | replaceQueryParam(...) : UriBuilder | +| Test.java:1052:9:1052:11 | out | semmle.label | out | +| Test.java:1057:20:1057:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:1057:32:1057:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1058:10:1058:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:1058:10:1058:61 | replaceQueryParam(...) : UriBuilder | semmle.label | replaceQueryParam(...) : UriBuilder | +| Test.java:1059:9:1059:11 | out | semmle.label | out | +| Test.java:1064:16:1064:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1064:24:1064:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1065:4:1065:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:1065:26:1065:27 | in : String | semmle.label | in : String | +| Test.java:1066:9:1066:11 | out | semmle.label | out | +| Test.java:1071:16:1071:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1071:24:1071:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1072:4:1072:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:1072:26:1072:27 | in : String | semmle.label | in : String | +| Test.java:1073:9:1073:11 | out | semmle.label | out | +| Test.java:1078:16:1078:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1078:24:1078:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1079:4:1079:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:1079:26:1079:27 | in : String | semmle.label | in : String | +| Test.java:1080:9:1080:11 | out | semmle.label | out | +| Test.java:1085:16:1085:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1085:24:1085:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1086:4:1086:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:1086:26:1086:27 | in : String | semmle.label | in : String | +| Test.java:1087:9:1087:11 | out | semmle.label | out | +| Test.java:1092:16:1092:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1092:24:1092:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1094:10:1094:55 | replaceQueryParam(...) : UriBuilder | semmle.label | replaceQueryParam(...) : UriBuilder | +| Test.java:1094:37:1094:38 | in : String | semmle.label | in : String | +| Test.java:1095:9:1095:11 | out | semmle.label | out | +| Test.java:1100:16:1100:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1100:24:1100:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1102:10:1102:57 | replaceQueryParam(...) : UriBuilder | semmle.label | replaceQueryParam(...) : UriBuilder | +| Test.java:1102:37:1102:38 | in : String | semmle.label | in : String | +| Test.java:1103:9:1103:11 | out | semmle.label | out | +| Test.java:1108:16:1108:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1108:24:1108:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1110:10:1110:55 | replaceQueryParam(...) : UriBuilder | semmle.label | replaceQueryParam(...) : UriBuilder | +| Test.java:1110:37:1110:38 | in : String | semmle.label | in : String | +| Test.java:1111:9:1111:11 | out | semmle.label | out | +| Test.java:1116:16:1116:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1116:24:1116:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1118:10:1118:57 | replaceQueryParam(...) : UriBuilder | semmle.label | replaceQueryParam(...) : UriBuilder | +| Test.java:1118:37:1118:38 | in : String | semmle.label | in : String | +| Test.java:1119:9:1119:11 | out | semmle.label | out | +| Test.java:1124:20:1124:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:1124:32:1124:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1125:10:1125:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:1125:10:1125:36 | replaceQueryParams(...) : UriBuilder | semmle.label | replaceQueryParams(...) : UriBuilder | +| Test.java:1126:9:1126:11 | out | semmle.label | out | +| Test.java:1131:20:1131:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:1131:32:1131:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1132:10:1132:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:1132:10:1132:36 | replaceQueryParams(...) : UriBuilder | semmle.label | replaceQueryParams(...) : UriBuilder | +| Test.java:1133:9:1133:11 | out | semmle.label | out | +| Test.java:1138:23:1138:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:1138:47:1138:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1140:10:1140:40 | replaceQueryParams(...) : UriBuilder | semmle.label | replaceQueryParams(...) : UriBuilder | +| Test.java:1140:38:1140:39 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:1141:9:1141:11 | out | semmle.label | out | +| Test.java:1146:23:1146:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:1146:47:1146:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1148:10:1148:40 | replaceQueryParams(...) : UriBuilder | semmle.label | replaceQueryParams(...) : UriBuilder | +| Test.java:1148:38:1148:39 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:1149:9:1149:11 | out | semmle.label | out | +| Test.java:1154:23:1154:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:1154:49:1154:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1156:10:1156:40 | replaceQueryParams(...) : UriBuilder | semmle.label | replaceQueryParams(...) : UriBuilder | +| Test.java:1156:38:1156:39 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:1157:9:1157:11 | out | semmle.label | out | +| Test.java:1162:23:1162:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:1162:49:1162:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1164:10:1164:40 | replaceQueryParams(...) : UriBuilder | semmle.label | replaceQueryParams(...) : UriBuilder | +| Test.java:1164:38:1164:39 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:1165:9:1165:11 | out | semmle.label | out | +| Test.java:1170:20:1170:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:1170:32:1170:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1171:10:1171:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:1171:10:1171:24 | scheme(...) : UriBuilder | semmle.label | scheme(...) : UriBuilder | +| Test.java:1172:9:1172:11 | out | semmle.label | out | +| Test.java:1177:20:1177:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:1177:32:1177:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1178:10:1178:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:1178:10:1178:24 | scheme(...) : UriBuilder | semmle.label | scheme(...) : UriBuilder | +| Test.java:1179:9:1179:11 | out | semmle.label | out | +| Test.java:1184:16:1184:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1184:24:1184:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1185:4:1185:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:1185:15:1185:16 | in : String | semmle.label | in : String | +| Test.java:1186:9:1186:11 | out | semmle.label | out | +| Test.java:1191:16:1191:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1191:24:1191:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1192:4:1192:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:1192:15:1192:16 | in : String | semmle.label | in : String | +| Test.java:1193:9:1193:11 | out | semmle.label | out | +| Test.java:1198:16:1198:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1198:24:1198:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1200:10:1200:28 | scheme(...) : UriBuilder | semmle.label | scheme(...) : UriBuilder | +| Test.java:1200:26:1200:27 | in : String | semmle.label | in : String | +| Test.java:1201:9:1201:11 | out | semmle.label | out | +| Test.java:1206:16:1206:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1206:24:1206:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1208:10:1208:28 | scheme(...) : UriBuilder | semmle.label | scheme(...) : UriBuilder | +| Test.java:1208:26:1208:27 | in : String | semmle.label | in : String | +| Test.java:1209:9:1209:11 | out | semmle.label | out | +| Test.java:1214:20:1214:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:1214:32:1214:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1215:10:1215:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:1215:10:1215:26 | userInfo(...) : UriBuilder | semmle.label | userInfo(...) : UriBuilder | +| Test.java:1216:9:1216:11 | out | semmle.label | out | +| Test.java:1221:20:1221:39 | (...)... : UriBuilder | semmle.label | (...)... : UriBuilder | +| Test.java:1221:32:1221:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1222:10:1222:11 | in : UriBuilder | semmle.label | in : UriBuilder | +| Test.java:1222:10:1222:26 | userInfo(...) : UriBuilder | semmle.label | userInfo(...) : UriBuilder | +| Test.java:1223:9:1223:11 | out | semmle.label | out | +| Test.java:1228:16:1228:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1228:24:1228:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1229:4:1229:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:1229:17:1229:18 | in : String | semmle.label | in : String | +| Test.java:1230:9:1230:11 | out | semmle.label | out | +| Test.java:1235:16:1235:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1235:24:1235:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1236:4:1236:6 | out [post update] : UriBuilder | semmle.label | out [post update] : UriBuilder | +| Test.java:1236:17:1236:18 | in : String | semmle.label | in : String | +| Test.java:1237:9:1237:11 | out | semmle.label | out | +| Test.java:1242:16:1242:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1242:24:1242:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1244:10:1244:30 | userInfo(...) : UriBuilder | semmle.label | userInfo(...) : UriBuilder | +| Test.java:1244:28:1244:29 | in : String | semmle.label | in : String | +| Test.java:1245:9:1245:11 | out | semmle.label | out | +| Test.java:1250:16:1250:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1250:24:1250:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1252:10:1252:30 | userInfo(...) : UriBuilder | semmle.label | userInfo(...) : UriBuilder | +| Test.java:1252:28:1252:29 | in : String | semmle.label | in : String | +| Test.java:1253:9:1253:11 | out | semmle.label | out | +| Test.java:1258:27:1258:53 | (...)... : UriBuilderFactory | semmle.label | (...)... : UriBuilderFactory | +| Test.java:1258:46:1258:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1259:10:1259:11 | in : UriBuilderFactory | semmle.label | in : UriBuilderFactory | +| Test.java:1259:10:1259:21 | builder(...) : UriBuilder | semmle.label | builder(...) : UriBuilder | +| Test.java:1260:9:1260:11 | out | semmle.label | out | +| Test.java:1265:34:1265:67 | (...)... : DefaultUriBuilderFactory | semmle.label | (...)... : DefaultUriBuilderFactory | +| Test.java:1265:60:1265:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1266:10:1266:11 | in : DefaultUriBuilderFactory | semmle.label | in : DefaultUriBuilderFactory | +| Test.java:1266:10:1266:21 | builder(...) : UriBuilder | semmle.label | builder(...) : UriBuilder | +| Test.java:1267:9:1267:11 | out | semmle.label | out | +| Test.java:1272:27:1272:53 | (...)... : UriBuilderFactory | semmle.label | (...)... : UriBuilderFactory | +| Test.java:1272:46:1272:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1273:10:1273:11 | in : UriBuilderFactory | semmle.label | in : UriBuilderFactory | +| Test.java:1273:10:1273:27 | uriString(...) : UriBuilder | semmle.label | uriString(...) : UriBuilder | +| Test.java:1274:9:1274:11 | out | semmle.label | out | +| Test.java:1279:16:1279:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1279:24:1279:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1281:10:1281:31 | uriString(...) : UriBuilder | semmle.label | uriString(...) : UriBuilder | +| Test.java:1281:29:1281:30 | in : String | semmle.label | in : String | +| Test.java:1282:9:1282:11 | out | semmle.label | out | +| Test.java:1287:16:1287:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1287:24:1287:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1289:10:1289:31 | uriString(...) : UriBuilder | semmle.label | uriString(...) : UriBuilder | +| Test.java:1289:29:1289:30 | in : String | semmle.label | in : String | +| Test.java:1290:9:1290:11 | out | semmle.label | out | +| Test.java:1295:34:1295:67 | (...)... : DefaultUriBuilderFactory | semmle.label | (...)... : DefaultUriBuilderFactory | +| Test.java:1295:60:1295:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1296:10:1296:11 | in : DefaultUriBuilderFactory | semmle.label | in : DefaultUriBuilderFactory | +| Test.java:1296:10:1296:27 | uriString(...) : UriBuilder | semmle.label | uriString(...) : UriBuilder | +| Test.java:1297:9:1297:11 | out | semmle.label | out | +| Test.java:1302:44:1302:95 | new StubUriTemplateVariables(...) : StubUriTemplateVariables [] : Object | semmle.label | new StubUriTemplateVariables(...) : StubUriTemplateVariables [] : Object | +| Test.java:1302:73:1302:94 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:1302:86:1302:93 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1303:10:1303:11 | in : StubUriTemplateVariables [] : Object | semmle.label | in : StubUriTemplateVariables [] : Object | +| Test.java:1303:10:1303:26 | getValue(...) : Object | semmle.label | getValue(...) : Object | +| Test.java:1304:9:1304:11 | out | semmle.label | out | +| Test.java:1323:23:1323:45 | (...)... : UriComponents | semmle.label | (...)... : UriComponents | +| Test.java:1323:38:1323:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1324:10:1324:11 | in : UriComponents | semmle.label | in : UriComponents | +| Test.java:1324:10:1324:24 | encode(...) : UriComponents | semmle.label | encode(...) : UriComponents | +| Test.java:1325:9:1325:11 | out | semmle.label | out | +| Test.java:1330:23:1330:45 | (...)... : UriComponents | semmle.label | (...)... : UriComponents | +| Test.java:1330:38:1330:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1331:10:1331:11 | in : UriComponents | semmle.label | in : UriComponents | +| Test.java:1331:10:1331:20 | encode(...) : UriComponents | semmle.label | encode(...) : UriComponents | +| Test.java:1332:9:1332:11 | out | semmle.label | out | +| Test.java:1337:13:1337:37 | newMapWithValue(...) : Map [] : Object | semmle.label | newMapWithValue(...) : Map [] : Object | +| Test.java:1337:29:1337:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1339:10:1339:28 | expand(...) : UriComponents | semmle.label | expand(...) : UriComponents | +| Test.java:1339:26:1339:27 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:1340:9:1340:11 | out | semmle.label | out | +| Test.java:1345:18:1345:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:1345:31:1345:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1347:10:1347:28 | expand(...) : UriComponents | semmle.label | expand(...) : UriComponents | +| Test.java:1347:26:1347:27 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:1348:9:1348:11 | out | semmle.label | out | +| Test.java:1353:44:1353:95 | new StubUriTemplateVariables(...) : StubUriTemplateVariables [] : Object | semmle.label | new StubUriTemplateVariables(...) : StubUriTemplateVariables [] : Object | +| Test.java:1353:73:1353:94 | of(...) : Map [] : Object | semmle.label | of(...) : Map [] : Object | +| Test.java:1353:86:1353:93 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1355:10:1355:28 | expand(...) : UriComponents | semmle.label | expand(...) : UriComponents | +| Test.java:1355:26:1355:27 | in : StubUriTemplateVariables [] : Object | semmle.label | in : StubUriTemplateVariables [] : Object | +| Test.java:1356:9:1356:11 | out | semmle.label | out | +| Test.java:1361:23:1361:45 | (...)... : UriComponents | semmle.label | (...)... : UriComponents | +| Test.java:1361:38:1361:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1362:10:1362:11 | in : UriComponents | semmle.label | in : UriComponents | +| Test.java:1362:10:1362:25 | getFragment(...) : String | semmle.label | getFragment(...) : String | +| Test.java:1363:9:1363:11 | out | semmle.label | out | +| Test.java:1368:23:1368:45 | (...)... : UriComponents | semmle.label | (...)... : UriComponents | +| Test.java:1368:38:1368:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1369:10:1369:11 | in : UriComponents | semmle.label | in : UriComponents | +| Test.java:1369:10:1369:21 | getHost(...) : String | semmle.label | getHost(...) : String | +| Test.java:1370:9:1370:11 | out | semmle.label | out | +| Test.java:1375:23:1375:45 | (...)... : UriComponents | semmle.label | (...)... : UriComponents | +| Test.java:1375:38:1375:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1376:10:1376:11 | in : UriComponents | semmle.label | in : UriComponents | +| Test.java:1376:10:1376:21 | getPath(...) : String | semmle.label | getPath(...) : String | +| Test.java:1377:9:1377:11 | out | semmle.label | out | +| Test.java:1382:23:1382:45 | (...)... : UriComponents | semmle.label | (...)... : UriComponents | +| Test.java:1382:38:1382:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1383:10:1383:11 | in : UriComponents | semmle.label | in : UriComponents | +| Test.java:1383:10:1383:29 | getPathSegments(...) : List | semmle.label | getPathSegments(...) : List | +| Test.java:1384:9:1384:11 | out | semmle.label | out | +| Test.java:1389:23:1389:45 | (...)... : UriComponents | semmle.label | (...)... : UriComponents | +| Test.java:1389:38:1389:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1390:10:1390:11 | in : UriComponents | semmle.label | in : UriComponents | +| Test.java:1390:10:1390:22 | getQuery(...) : String | semmle.label | getQuery(...) : String | +| Test.java:1391:9:1391:11 | out | semmle.label | out | +| Test.java:1396:23:1396:45 | (...)... : UriComponents | semmle.label | (...)... : UriComponents | +| Test.java:1396:38:1396:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1397:10:1397:11 | in : UriComponents | semmle.label | in : UriComponents | +| Test.java:1397:10:1397:28 | getQueryParams(...) : MultiValueMap [, ] : Object | semmle.label | getQueryParams(...) : MultiValueMap [, ] : Object | +| Test.java:1398:9:1398:42 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1398:20:1398:41 | (...)... : List [] : Object | semmle.label | (...)... : List [] : Object | +| Test.java:1398:26:1398:41 | getMapValue(...) : Object [] : Object | semmle.label | getMapValue(...) : Object [] : Object | +| Test.java:1398:38:1398:40 | out : MultiValueMap [, ] : Object | semmle.label | out : MultiValueMap [, ] : Object | +| Test.java:1403:23:1403:45 | (...)... : UriComponents | semmle.label | (...)... : UriComponents | +| Test.java:1403:38:1403:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1404:10:1404:11 | in : UriComponents | semmle.label | in : UriComponents | +| Test.java:1404:10:1404:28 | getQueryParams(...) : MultiValueMap [] : Object | semmle.label | getQueryParams(...) : MultiValueMap [] : Object | +| Test.java:1405:9:1405:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:1405:19:1405:21 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:1410:23:1410:45 | (...)... : UriComponents | semmle.label | (...)... : UriComponents | +| Test.java:1410:38:1410:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1411:10:1411:11 | in : UriComponents | semmle.label | in : UriComponents | +| Test.java:1411:10:1411:23 | getScheme(...) : String | semmle.label | getScheme(...) : String | +| Test.java:1412:9:1412:11 | out | semmle.label | out | +| Test.java:1417:23:1417:45 | (...)... : UriComponents | semmle.label | (...)... : UriComponents | +| Test.java:1417:38:1417:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1418:10:1418:11 | in : UriComponents | semmle.label | in : UriComponents | +| Test.java:1418:10:1418:35 | getSchemeSpecificPart(...) : String | semmle.label | getSchemeSpecificPart(...) : String | +| Test.java:1419:9:1419:11 | out | semmle.label | out | +| Test.java:1424:23:1424:45 | (...)... : UriComponents | semmle.label | (...)... : UriComponents | +| Test.java:1424:38:1424:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1425:10:1425:11 | in : UriComponents | semmle.label | in : UriComponents | +| Test.java:1425:10:1425:25 | getUserInfo(...) : String | semmle.label | getUserInfo(...) : String | +| Test.java:1426:9:1426:11 | out | semmle.label | out | +| Test.java:1431:23:1431:45 | (...)... : UriComponents | semmle.label | (...)... : UriComponents | +| Test.java:1431:38:1431:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1432:10:1432:11 | in : UriComponents | semmle.label | in : UriComponents | +| Test.java:1432:10:1432:19 | toUri(...) : URI | semmle.label | toUri(...) : URI | +| Test.java:1433:9:1433:11 | out | semmle.label | out | +| Test.java:1438:23:1438:45 | (...)... : UriComponents | semmle.label | (...)... : UriComponents | +| Test.java:1438:38:1438:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1439:10:1439:11 | in : UriComponents | semmle.label | in : UriComponents | +| Test.java:1439:10:1439:25 | toUriString(...) : String | semmle.label | toUriString(...) : String | +| Test.java:1440:9:1440:11 | out | semmle.label | out | +| Test.java:1445:13:1445:37 | newMapWithValue(...) : Map [] : Object | semmle.label | newMapWithValue(...) : Map [] : Object | +| Test.java:1445:29:1445:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1447:10:1447:27 | build(...) : URI | semmle.label | build(...) : URI | +| Test.java:1447:25:1447:26 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:1448:9:1448:11 | out | semmle.label | out | +| Test.java:1453:18:1453:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:1453:31:1453:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1455:10:1455:27 | build(...) : URI | semmle.label | build(...) : URI | +| Test.java:1455:25:1455:26 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:1456:9:1456:11 | out | semmle.label | out | +| Test.java:1461:30:1461:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1461:52:1461:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1462:10:1462:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1462:10:1462:24 | build(...) : UriComponents | semmle.label | build(...) : UriComponents | +| Test.java:1463:9:1463:11 | out | semmle.label | out | +| Test.java:1468:30:1468:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1468:52:1468:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1469:10:1469:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1469:10:1469:19 | build(...) : UriComponents | semmle.label | build(...) : UriComponents | +| Test.java:1470:9:1470:11 | out | semmle.label | out | +| Test.java:1475:30:1475:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1475:52:1475:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1476:10:1476:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1476:10:1476:33 | build(...) : URI | semmle.label | build(...) : URI | +| Test.java:1477:9:1477:11 | out | semmle.label | out | +| Test.java:1482:30:1482:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1482:52:1482:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1483:10:1483:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1483:10:1483:28 | build(...) : URI | semmle.label | build(...) : URI | +| Test.java:1484:9:1484:11 | out | semmle.label | out | +| Test.java:1489:13:1489:37 | newMapWithValue(...) : Map [] : Object | semmle.label | newMapWithValue(...) : Map [] : Object | +| Test.java:1489:29:1489:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1491:10:1491:36 | buildAndExpand(...) : UriComponents | semmle.label | buildAndExpand(...) : UriComponents | +| Test.java:1491:34:1491:35 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:1492:9:1492:11 | out | semmle.label | out | +| Test.java:1497:18:1497:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:1497:31:1497:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1499:10:1499:36 | buildAndExpand(...) : UriComponents | semmle.label | buildAndExpand(...) : UriComponents | +| Test.java:1499:34:1499:35 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:1500:9:1500:11 | out | semmle.label | out | +| Test.java:1505:30:1505:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1505:52:1505:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1506:10:1506:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1506:10:1506:26 | cloneBuilder(...) : UriComponentsBuilder | semmle.label | cloneBuilder(...) : UriComponentsBuilder | +| Test.java:1507:9:1507:11 | out | semmle.label | out | +| Test.java:1512:30:1512:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1512:52:1512:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1513:10:1513:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1513:10:1513:24 | encode(...) : UriComponentsBuilder | semmle.label | encode(...) : UriComponentsBuilder | +| Test.java:1514:9:1514:11 | out | semmle.label | out | +| Test.java:1519:30:1519:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1519:52:1519:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1520:10:1520:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1520:10:1520:20 | encode(...) : UriComponentsBuilder | semmle.label | encode(...) : UriComponentsBuilder | +| Test.java:1521:9:1521:11 | out | semmle.label | out | +| Test.java:1526:30:1526:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1526:52:1526:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1527:10:1527:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1527:10:1527:26 | fragment(...) : UriComponentsBuilder | semmle.label | fragment(...) : UriComponentsBuilder | +| Test.java:1528:9:1528:11 | out | semmle.label | out | +| Test.java:1533:16:1533:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1533:24:1533:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1535:10:1535:30 | fragment(...) : UriComponentsBuilder | semmle.label | fragment(...) : UriComponentsBuilder | +| Test.java:1535:28:1535:29 | in : String | semmle.label | in : String | +| Test.java:1536:9:1536:11 | out | semmle.label | out | +| Test.java:1541:21:1541:41 | (...)... : HttpRequest | semmle.label | (...)... : HttpRequest | +| Test.java:1541:34:1541:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1542:10:1542:49 | fromHttpRequest(...) : UriComponentsBuilder | semmle.label | fromHttpRequest(...) : UriComponentsBuilder | +| Test.java:1542:47:1542:48 | in : HttpRequest | semmle.label | in : HttpRequest | +| Test.java:1543:9:1543:11 | out | semmle.label | out | +| Test.java:1548:16:1548:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1548:24:1548:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1549:10:1549:45 | fromHttpUrl(...) : UriComponentsBuilder | semmle.label | fromHttpUrl(...) : UriComponentsBuilder | +| Test.java:1549:43:1549:44 | in : String | semmle.label | in : String | +| Test.java:1550:9:1550:11 | out | semmle.label | out | +| Test.java:1555:16:1555:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1555:24:1555:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1556:10:1556:50 | fromOriginHeader(...) : UriComponentsBuilder | semmle.label | fromOriginHeader(...) : UriComponentsBuilder | +| Test.java:1556:48:1556:49 | in : String | semmle.label | in : String | +| Test.java:1557:9:1557:11 | out | semmle.label | out | +| Test.java:1562:16:1562:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1562:24:1562:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1563:10:1563:42 | fromPath(...) : UriComponentsBuilder | semmle.label | fromPath(...) : UriComponentsBuilder | +| Test.java:1563:40:1563:41 | in : String | semmle.label | in : String | +| Test.java:1564:9:1564:11 | out | semmle.label | out | +| Test.java:1569:13:1569:25 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:1569:18:1569:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1570:10:1570:41 | fromUri(...) : UriComponentsBuilder | semmle.label | fromUri(...) : UriComponentsBuilder | +| Test.java:1570:39:1570:40 | in : URI | semmle.label | in : URI | +| Test.java:1571:9:1571:11 | out | semmle.label | out | +| Test.java:1576:16:1576:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1576:24:1576:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1577:10:1577:47 | fromUriString(...) : UriComponentsBuilder | semmle.label | fromUriString(...) : UriComponentsBuilder | +| Test.java:1577:45:1577:46 | in : String | semmle.label | in : String | +| Test.java:1578:9:1578:11 | out | semmle.label | out | +| Test.java:1583:30:1583:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1583:52:1583:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1584:10:1584:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1584:10:1584:22 | host(...) : UriComponentsBuilder | semmle.label | host(...) : UriComponentsBuilder | +| Test.java:1585:9:1585:11 | out | semmle.label | out | +| Test.java:1590:16:1590:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1590:24:1590:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1592:10:1592:26 | host(...) : UriComponentsBuilder | semmle.label | host(...) : UriComponentsBuilder | +| Test.java:1592:24:1592:25 | in : String | semmle.label | in : String | +| Test.java:1593:9:1593:11 | out | semmle.label | out | +| Test.java:1598:27:1598:53 | (...)... : InetSocketAddress | semmle.label | (...)... : InetSocketAddress | +| Test.java:1598:46:1598:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1599:10:1599:57 | parseForwardedFor(...) : InetSocketAddress | semmle.label | parseForwardedFor(...) : InetSocketAddress | +| Test.java:1599:55:1599:56 | in : InetSocketAddress | semmle.label | in : InetSocketAddress | +| Test.java:1600:9:1600:11 | out | semmle.label | out | +| Test.java:1605:21:1605:41 | (...)... : HttpRequest | semmle.label | (...)... : HttpRequest | +| Test.java:1605:34:1605:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1606:10:1606:57 | parseForwardedFor(...) : InetSocketAddress | semmle.label | parseForwardedFor(...) : InetSocketAddress | +| Test.java:1606:49:1606:50 | in : HttpRequest | semmle.label | in : HttpRequest | +| Test.java:1607:9:1607:11 | out | semmle.label | out | +| Test.java:1612:30:1612:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1612:52:1612:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1613:10:1613:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1613:10:1613:22 | path(...) : UriComponentsBuilder | semmle.label | path(...) : UriComponentsBuilder | +| Test.java:1614:9:1614:11 | out | semmle.label | out | +| Test.java:1619:16:1619:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1619:24:1619:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1621:10:1621:26 | path(...) : UriComponentsBuilder | semmle.label | path(...) : UriComponentsBuilder | +| Test.java:1621:24:1621:25 | in : String | semmle.label | in : String | +| Test.java:1622:9:1622:11 | out | semmle.label | out | +| Test.java:1627:30:1627:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1627:52:1627:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1628:10:1628:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1628:10:1628:39 | pathSegment(...) : UriComponentsBuilder | semmle.label | pathSegment(...) : UriComponentsBuilder | +| Test.java:1629:9:1629:11 | out | semmle.label | out | +| Test.java:1634:18:1634:47 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:1634:31:1634:46 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1634:39:1634:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1636:10:1636:33 | pathSegment(...) : UriComponentsBuilder | semmle.label | pathSegment(...) : UriComponentsBuilder | +| Test.java:1636:31:1636:32 | in : String[] [[]] : String | semmle.label | in : String[] [[]] : String | +| Test.java:1637:9:1637:11 | out | semmle.label | out | +| Test.java:1642:16:1642:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1642:24:1642:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1644:10:1644:26 | port(...) : UriComponentsBuilder | semmle.label | port(...) : UriComponentsBuilder | +| Test.java:1644:24:1644:25 | in : String | semmle.label | in : String | +| Test.java:1645:9:1645:11 | out | semmle.label | out | +| Test.java:1650:30:1650:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1650:52:1650:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1651:10:1651:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1651:10:1651:19 | port(...) : UriComponentsBuilder | semmle.label | port(...) : UriComponentsBuilder | +| Test.java:1652:9:1652:11 | out | semmle.label | out | +| Test.java:1657:30:1657:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1657:52:1657:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1658:10:1658:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1658:10:1658:30 | port(...) : UriComponentsBuilder | semmle.label | port(...) : UriComponentsBuilder | +| Test.java:1659:9:1659:11 | out | semmle.label | out | +| Test.java:1664:30:1664:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1664:52:1664:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1665:10:1665:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1665:10:1665:23 | query(...) : UriComponentsBuilder | semmle.label | query(...) : UriComponentsBuilder | +| Test.java:1666:9:1666:11 | out | semmle.label | out | +| Test.java:1671:16:1671:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1671:24:1671:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1673:10:1673:27 | query(...) : UriComponentsBuilder | semmle.label | query(...) : UriComponentsBuilder | +| Test.java:1673:25:1673:26 | in : String | semmle.label | in : String | +| Test.java:1674:9:1674:11 | out | semmle.label | out | +| Test.java:1679:20:1679:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:1679:28:1679:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1681:10:1681:46 | queryParam(...) : UriComponentsBuilder | semmle.label | queryParam(...) : UriComponentsBuilder | +| Test.java:1681:44:1681:45 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:1682:9:1682:11 | out | semmle.label | out | +| Test.java:1687:18:1687:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:1687:31:1687:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1689:10:1689:46 | queryParam(...) : UriComponentsBuilder | semmle.label | queryParam(...) : UriComponentsBuilder | +| Test.java:1689:44:1689:45 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:1690:9:1690:11 | out | semmle.label | out | +| Test.java:1695:30:1695:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1695:52:1695:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1696:10:1696:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1696:10:1696:52 | queryParam(...) : UriComponentsBuilder | semmle.label | queryParam(...) : UriComponentsBuilder | +| Test.java:1697:9:1697:11 | out | semmle.label | out | +| Test.java:1702:30:1702:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1702:52:1702:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1703:10:1703:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1703:10:1703:54 | queryParam(...) : UriComponentsBuilder | semmle.label | queryParam(...) : UriComponentsBuilder | +| Test.java:1704:9:1704:11 | out | semmle.label | out | +| Test.java:1709:16:1709:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1709:24:1709:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1711:10:1711:48 | queryParam(...) : UriComponentsBuilder | semmle.label | queryParam(...) : UriComponentsBuilder | +| Test.java:1711:30:1711:31 | in : String | semmle.label | in : String | +| Test.java:1712:9:1712:11 | out | semmle.label | out | +| Test.java:1717:16:1717:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1717:24:1717:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1719:10:1719:50 | queryParam(...) : UriComponentsBuilder | semmle.label | queryParam(...) : UriComponentsBuilder | +| Test.java:1719:30:1719:31 | in : String | semmle.label | in : String | +| Test.java:1720:9:1720:11 | out | semmle.label | out | +| Test.java:1725:30:1725:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1725:52:1725:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1726:10:1726:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1726:10:1726:43 | queryParamIfPresent(...) : UriComponentsBuilder | semmle.label | queryParamIfPresent(...) : UriComponentsBuilder | +| Test.java:1727:9:1727:11 | out | semmle.label | out | +| Test.java:1732:16:1732:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1732:24:1732:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1734:10:1734:47 | queryParamIfPresent(...) : UriComponentsBuilder | semmle.label | queryParamIfPresent(...) : UriComponentsBuilder | +| Test.java:1734:39:1734:40 | in : String | semmle.label | in : String | +| Test.java:1735:9:1735:11 | out | semmle.label | out | +| Test.java:1740:18:1740:38 | of(...) : Optional [] : Object | semmle.label | of(...) : Optional [] : Object | +| Test.java:1740:30:1740:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1742:10:1742:47 | queryParamIfPresent(...) : UriComponentsBuilder | semmle.label | queryParamIfPresent(...) : UriComponentsBuilder | +| Test.java:1742:45:1742:46 | in : Optional [] : Object | semmle.label | in : Optional [] : Object | +| Test.java:1743:9:1743:11 | out | semmle.label | out | +| Test.java:1748:30:1748:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1748:52:1748:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1749:10:1749:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1749:10:1749:29 | queryParams(...) : UriComponentsBuilder | semmle.label | queryParams(...) : UriComponentsBuilder | +| Test.java:1750:9:1750:11 | out | semmle.label | out | +| Test.java:1755:23:1755:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:1755:47:1755:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1757:10:1757:33 | queryParams(...) : UriComponentsBuilder | semmle.label | queryParams(...) : UriComponentsBuilder | +| Test.java:1757:31:1757:32 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:1758:9:1758:11 | out | semmle.label | out | +| Test.java:1763:23:1763:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:1763:49:1763:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1765:10:1765:33 | queryParams(...) : UriComponentsBuilder | semmle.label | queryParams(...) : UriComponentsBuilder | +| Test.java:1765:31:1765:32 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:1766:9:1766:11 | out | semmle.label | out | +| Test.java:1771:30:1771:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1771:52:1771:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1772:10:1772:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1772:10:1772:29 | replacePath(...) : UriComponentsBuilder | semmle.label | replacePath(...) : UriComponentsBuilder | +| Test.java:1773:9:1773:11 | out | semmle.label | out | +| Test.java:1778:16:1778:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1778:24:1778:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1780:10:1780:33 | replacePath(...) : UriComponentsBuilder | semmle.label | replacePath(...) : UriComponentsBuilder | +| Test.java:1780:31:1780:32 | in : String | semmle.label | in : String | +| Test.java:1781:9:1781:11 | out | semmle.label | out | +| Test.java:1786:30:1786:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1786:52:1786:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1787:10:1787:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1787:10:1787:30 | replaceQuery(...) : UriComponentsBuilder | semmle.label | replaceQuery(...) : UriComponentsBuilder | +| Test.java:1788:9:1788:11 | out | semmle.label | out | +| Test.java:1793:16:1793:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1793:24:1793:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1795:10:1795:34 | replaceQuery(...) : UriComponentsBuilder | semmle.label | replaceQuery(...) : UriComponentsBuilder | +| Test.java:1795:32:1795:33 | in : String | semmle.label | in : String | +| Test.java:1796:9:1796:11 | out | semmle.label | out | +| Test.java:1801:20:1801:36 | of(...) : List [] : Object | semmle.label | of(...) : List [] : Object | +| Test.java:1801:28:1801:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1803:10:1803:53 | replaceQueryParam(...) : UriComponentsBuilder | semmle.label | replaceQueryParam(...) : UriComponentsBuilder | +| Test.java:1803:51:1803:52 | in : List [] : Object | semmle.label | in : List [] : Object | +| Test.java:1804:9:1804:11 | out | semmle.label | out | +| Test.java:1809:18:1809:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:1809:31:1809:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1811:10:1811:53 | replaceQueryParam(...) : UriComponentsBuilder | semmle.label | replaceQueryParam(...) : UriComponentsBuilder | +| Test.java:1811:51:1811:52 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:1812:9:1812:11 | out | semmle.label | out | +| Test.java:1817:30:1817:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1817:52:1817:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1818:10:1818:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1818:10:1818:59 | replaceQueryParam(...) : UriComponentsBuilder | semmle.label | replaceQueryParam(...) : UriComponentsBuilder | +| Test.java:1819:9:1819:11 | out | semmle.label | out | +| Test.java:1824:30:1824:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1824:52:1824:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1825:10:1825:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1825:10:1825:61 | replaceQueryParam(...) : UriComponentsBuilder | semmle.label | replaceQueryParam(...) : UriComponentsBuilder | +| Test.java:1826:9:1826:11 | out | semmle.label | out | +| Test.java:1831:16:1831:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1831:24:1831:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1833:10:1833:55 | replaceQueryParam(...) : UriComponentsBuilder | semmle.label | replaceQueryParam(...) : UriComponentsBuilder | +| Test.java:1833:37:1833:38 | in : String | semmle.label | in : String | +| Test.java:1834:9:1834:11 | out | semmle.label | out | +| Test.java:1839:16:1839:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1839:24:1839:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1841:10:1841:57 | replaceQueryParam(...) : UriComponentsBuilder | semmle.label | replaceQueryParam(...) : UriComponentsBuilder | +| Test.java:1841:37:1841:38 | in : String | semmle.label | in : String | +| Test.java:1842:9:1842:11 | out | semmle.label | out | +| Test.java:1847:30:1847:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1847:52:1847:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1848:10:1848:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1848:10:1848:36 | replaceQueryParams(...) : UriComponentsBuilder | semmle.label | replaceQueryParams(...) : UriComponentsBuilder | +| Test.java:1849:9:1849:11 | out | semmle.label | out | +| Test.java:1854:23:1854:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:1854:47:1854:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1856:10:1856:40 | replaceQueryParams(...) : UriComponentsBuilder | semmle.label | replaceQueryParams(...) : UriComponentsBuilder | +| Test.java:1856:38:1856:39 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:1857:9:1857:11 | out | semmle.label | out | +| Test.java:1862:23:1862:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:1862:49:1862:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1864:10:1864:40 | replaceQueryParams(...) : UriComponentsBuilder | semmle.label | replaceQueryParams(...) : UriComponentsBuilder | +| Test.java:1864:38:1864:39 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:1865:9:1865:11 | out | semmle.label | out | +| Test.java:1870:30:1870:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1870:52:1870:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1871:10:1871:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1871:10:1871:24 | scheme(...) : UriComponentsBuilder | semmle.label | scheme(...) : UriComponentsBuilder | +| Test.java:1872:9:1872:11 | out | semmle.label | out | +| Test.java:1877:16:1877:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1877:24:1877:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1879:10:1879:28 | scheme(...) : UriComponentsBuilder | semmle.label | scheme(...) : UriComponentsBuilder | +| Test.java:1879:26:1879:27 | in : String | semmle.label | in : String | +| Test.java:1880:9:1880:11 | out | semmle.label | out | +| Test.java:1885:30:1885:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1885:52:1885:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1886:10:1886:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1886:10:1886:36 | schemeSpecificPart(...) : UriComponentsBuilder | semmle.label | schemeSpecificPart(...) : UriComponentsBuilder | +| Test.java:1887:9:1887:11 | out | semmle.label | out | +| Test.java:1892:16:1892:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1892:24:1892:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1894:10:1894:40 | schemeSpecificPart(...) : UriComponentsBuilder | semmle.label | schemeSpecificPart(...) : UriComponentsBuilder | +| Test.java:1894:38:1894:39 | in : String | semmle.label | in : String | +| Test.java:1895:9:1895:11 | out | semmle.label | out | +| Test.java:1900:30:1900:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1900:52:1900:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1901:10:1901:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1901:10:1901:25 | toUriString(...) : String | semmle.label | toUriString(...) : String | +| Test.java:1902:9:1902:11 | out | semmle.label | out | +| Test.java:1907:30:1907:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1907:52:1907:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1908:10:1908:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1908:10:1908:21 | uri(...) : UriComponentsBuilder | semmle.label | uri(...) : UriComponentsBuilder | +| Test.java:1909:9:1909:11 | out | semmle.label | out | +| Test.java:1914:13:1914:25 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:1914:18:1914:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1916:10:1916:25 | uri(...) : UriComponentsBuilder | semmle.label | uri(...) : UriComponentsBuilder | +| Test.java:1916:23:1916:24 | in : URI | semmle.label | in : URI | +| Test.java:1917:9:1917:11 | out | semmle.label | out | +| Test.java:1922:30:1922:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1922:52:1922:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1923:10:1923:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1923:10:1923:31 | uriComponents(...) : UriComponentsBuilder | semmle.label | uriComponents(...) : UriComponentsBuilder | +| Test.java:1924:9:1924:11 | out | semmle.label | out | +| Test.java:1929:23:1929:45 | (...)... : UriComponents | semmle.label | (...)... : UriComponents | +| Test.java:1929:38:1929:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1931:10:1931:35 | uriComponents(...) : UriComponentsBuilder | semmle.label | uriComponents(...) : UriComponentsBuilder | +| Test.java:1931:33:1931:34 | in : UriComponents | semmle.label | in : UriComponents | +| Test.java:1932:9:1932:11 | out | semmle.label | out | +| Test.java:1937:30:1937:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1937:52:1937:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1938:10:1938:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1938:10:1938:30 | uriVariables(...) : UriComponentsBuilder | semmle.label | uriVariables(...) : UriComponentsBuilder | +| Test.java:1939:9:1939:11 | out | semmle.label | out | +| Test.java:1944:13:1944:37 | newMapWithValue(...) : Map [] : Object | semmle.label | newMapWithValue(...) : Map [] : Object | +| Test.java:1944:29:1944:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1946:10:1946:34 | uriVariables(...) : UriComponentsBuilder | semmle.label | uriVariables(...) : UriComponentsBuilder | +| Test.java:1946:32:1946:33 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:1947:9:1947:11 | out | semmle.label | out | +| Test.java:1952:30:1952:59 | (...)... : UriComponentsBuilder | semmle.label | (...)... : UriComponentsBuilder | +| Test.java:1952:52:1952:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1953:10:1953:11 | in : UriComponentsBuilder | semmle.label | in : UriComponentsBuilder | +| Test.java:1953:10:1953:26 | userInfo(...) : UriComponentsBuilder | semmle.label | userInfo(...) : UriComponentsBuilder | +| Test.java:1954:9:1954:11 | out | semmle.label | out | +| Test.java:1959:16:1959:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1959:24:1959:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1961:10:1961:30 | userInfo(...) : UriComponentsBuilder | semmle.label | userInfo(...) : UriComponentsBuilder | +| Test.java:1961:28:1961:29 | in : String | semmle.label | in : String | +| Test.java:1962:9:1962:11 | out | semmle.label | out | +| Test.java:1967:13:1967:37 | newMapWithValue(...) : Map [] : Object | semmle.label | newMapWithValue(...) : Map [] : Object | +| Test.java:1967:29:1967:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1969:10:1969:28 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:1969:26:1969:27 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:1970:9:1970:11 | out | semmle.label | out | +| Test.java:1975:18:1975:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:1975:31:1975:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1977:10:1977:28 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:1977:26:1977:27 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:1978:9:1978:11 | out | semmle.label | out | +| Test.java:1983:21:1983:41 | (...)... : UriTemplate | semmle.label | (...)... : UriTemplate | +| Test.java:1983:34:1983:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1984:10:1984:11 | in : UriTemplate | semmle.label | in : UriTemplate | +| Test.java:1984:10:1984:30 | getVariableNames(...) : List [] : Object | semmle.label | getVariableNames(...) : List [] : Object | +| Test.java:1985:9:1985:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:1985:20:1985:22 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:1990:16:1990:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:1990:24:1990:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:1992:10:1992:27 | match(...) : Map [] : Object | semmle.label | match(...) : Map [] : Object | +| Test.java:1992:25:1992:26 | in : String | semmle.label | in : String | +| Test.java:1993:9:1993:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:1993:21:1993:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:1998:13:1998:37 | newMapWithValue(...) : Map [] : Object | semmle.label | newMapWithValue(...) : Map [] : Object | +| Test.java:1998:29:1998:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2000:10:2000:42 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2000:40:2000:41 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:2001:9:2001:11 | out | semmle.label | out | +| Test.java:2006:13:2006:37 | newMapWithValue(...) : Map [] : Object | semmle.label | newMapWithValue(...) : Map [] : Object | +| Test.java:2006:29:2006:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2008:10:2008:42 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2008:40:2008:41 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:2009:9:2009:11 | out | semmle.label | out | +| Test.java:2014:13:2014:37 | newMapWithValue(...) : Map [] : Object | semmle.label | newMapWithValue(...) : Map [] : Object | +| Test.java:2014:29:2014:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2016:10:2016:42 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2016:40:2016:41 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:2017:9:2017:11 | out | semmle.label | out | +| Test.java:2022:18:2022:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:2022:31:2022:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2024:10:2024:42 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2024:40:2024:41 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:2025:9:2025:11 | out | semmle.label | out | +| Test.java:2030:18:2030:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:2030:31:2030:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2032:10:2032:42 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2032:40:2032:41 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:2033:9:2033:11 | out | semmle.label | out | +| Test.java:2038:18:2038:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:2038:31:2038:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2040:10:2040:42 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2040:40:2040:41 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:2041:9:2041:11 | out | semmle.label | out | +| Test.java:2046:28:2046:55 | (...)... : UriTemplateHandler | semmle.label | (...)... : UriTemplateHandler | +| Test.java:2046:48:2046:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2047:10:2047:11 | in : UriTemplateHandler | semmle.label | in : UriTemplateHandler | +| Test.java:2047:10:2047:48 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2048:9:2048:11 | out | semmle.label | out | +| Test.java:2053:28:2053:55 | (...)... : UriTemplateHandler | semmle.label | (...)... : UriTemplateHandler | +| Test.java:2053:48:2053:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2054:10:2054:11 | in : UriTemplateHandler | semmle.label | in : UriTemplateHandler | +| Test.java:2054:10:2054:43 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2055:9:2055:11 | out | semmle.label | out | +| Test.java:2060:16:2060:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2060:24:2060:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2062:10:2062:44 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2062:26:2062:27 | in : String | semmle.label | in : String | +| Test.java:2063:9:2063:11 | out | semmle.label | out | +| Test.java:2068:16:2068:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2068:24:2068:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2070:10:2070:39 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2070:26:2070:27 | in : String | semmle.label | in : String | +| Test.java:2071:9:2071:11 | out | semmle.label | out | +| Test.java:2076:16:2076:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2076:24:2076:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2078:10:2078:44 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2078:26:2078:27 | in : String | semmle.label | in : String | +| Test.java:2079:9:2079:11 | out | semmle.label | out | +| Test.java:2084:16:2084:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2084:24:2084:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2086:10:2086:39 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2086:26:2086:27 | in : String | semmle.label | in : String | +| Test.java:2087:9:2087:11 | out | semmle.label | out | +| Test.java:2092:16:2092:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2092:24:2092:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2094:10:2094:44 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2094:26:2094:27 | in : String | semmle.label | in : String | +| Test.java:2095:9:2095:11 | out | semmle.label | out | +| Test.java:2100:16:2100:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2100:24:2100:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2102:10:2102:39 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2102:26:2102:27 | in : String | semmle.label | in : String | +| Test.java:2103:9:2103:11 | out | semmle.label | out | +| Test.java:2108:34:2108:67 | (...)... : DefaultUriBuilderFactory | semmle.label | (...)... : DefaultUriBuilderFactory | +| Test.java:2108:60:2108:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2109:10:2109:11 | in : DefaultUriBuilderFactory | semmle.label | in : DefaultUriBuilderFactory | +| Test.java:2109:10:2109:48 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2110:9:2110:11 | out | semmle.label | out | +| Test.java:2115:34:2115:67 | (...)... : DefaultUriBuilderFactory | semmle.label | (...)... : DefaultUriBuilderFactory | +| Test.java:2115:60:2115:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2116:10:2116:11 | in : DefaultUriBuilderFactory | semmle.label | in : DefaultUriBuilderFactory | +| Test.java:2116:10:2116:43 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2117:9:2117:11 | out | semmle.label | out | +| Test.java:2122:36:2122:71 | (...)... : AbstractUriTemplateHandler | semmle.label | (...)... : AbstractUriTemplateHandler | +| Test.java:2122:64:2122:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2123:10:2123:11 | in : AbstractUriTemplateHandler | semmle.label | in : AbstractUriTemplateHandler | +| Test.java:2123:10:2123:48 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2124:9:2124:11 | out | semmle.label | out | +| Test.java:2129:36:2129:71 | (...)... : AbstractUriTemplateHandler | semmle.label | (...)... : AbstractUriTemplateHandler | +| Test.java:2129:64:2129:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2130:10:2130:11 | in : AbstractUriTemplateHandler | semmle.label | in : AbstractUriTemplateHandler | +| Test.java:2130:10:2130:43 | expand(...) : URI | semmle.label | expand(...) : URI | +| Test.java:2131:9:2131:11 | out | semmle.label | out | +| Test.java:2136:16:2136:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2136:24:2136:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2137:10:2137:42 | decode(...) : String | semmle.label | decode(...) : String | +| Test.java:2137:26:2137:27 | in : String | semmle.label | in : String | +| Test.java:2138:9:2138:11 | out | semmle.label | out | +| Test.java:2143:16:2143:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2143:24:2143:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2144:10:2144:43 | decode(...) : String | semmle.label | decode(...) : String | +| Test.java:2144:26:2144:27 | in : String | semmle.label | in : String | +| Test.java:2145:9:2145:11 | out | semmle.label | out | +| Test.java:2150:16:2150:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2150:24:2150:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2151:10:2151:42 | encode(...) : String | semmle.label | encode(...) : String | +| Test.java:2151:26:2151:27 | in : String | semmle.label | in : String | +| Test.java:2152:9:2152:11 | out | semmle.label | out | +| Test.java:2157:16:2157:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2157:24:2157:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2158:10:2158:43 | encode(...) : String | semmle.label | encode(...) : String | +| Test.java:2158:26:2158:27 | in : String | semmle.label | in : String | +| Test.java:2159:9:2159:11 | out | semmle.label | out | +| Test.java:2164:16:2164:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2164:24:2164:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2165:10:2165:51 | encodeAuthority(...) : String | semmle.label | encodeAuthority(...) : String | +| Test.java:2165:35:2165:36 | in : String | semmle.label | in : String | +| Test.java:2166:9:2166:11 | out | semmle.label | out | +| Test.java:2171:16:2171:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2171:24:2171:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2172:10:2172:52 | encodeAuthority(...) : String | semmle.label | encodeAuthority(...) : String | +| Test.java:2172:35:2172:36 | in : String | semmle.label | in : String | +| Test.java:2173:9:2173:11 | out | semmle.label | out | +| Test.java:2178:16:2178:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2178:24:2178:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2179:10:2179:50 | encodeFragment(...) : String | semmle.label | encodeFragment(...) : String | +| Test.java:2179:34:2179:35 | in : String | semmle.label | in : String | +| Test.java:2180:9:2180:11 | out | semmle.label | out | +| Test.java:2185:16:2185:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2185:24:2185:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2186:10:2186:51 | encodeFragment(...) : String | semmle.label | encodeFragment(...) : String | +| Test.java:2186:34:2186:35 | in : String | semmle.label | in : String | +| Test.java:2187:9:2187:11 | out | semmle.label | out | +| Test.java:2192:16:2192:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2192:24:2192:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2193:10:2193:46 | encodeHost(...) : String | semmle.label | encodeHost(...) : String | +| Test.java:2193:30:2193:31 | in : String | semmle.label | in : String | +| Test.java:2194:9:2194:11 | out | semmle.label | out | +| Test.java:2199:16:2199:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2199:24:2199:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2200:10:2200:47 | encodeHost(...) : String | semmle.label | encodeHost(...) : String | +| Test.java:2200:30:2200:31 | in : String | semmle.label | in : String | +| Test.java:2201:9:2201:11 | out | semmle.label | out | +| Test.java:2206:16:2206:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2206:24:2206:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2207:10:2207:46 | encodePath(...) : String | semmle.label | encodePath(...) : String | +| Test.java:2207:30:2207:31 | in : String | semmle.label | in : String | +| Test.java:2208:9:2208:11 | out | semmle.label | out | +| Test.java:2213:16:2213:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2213:24:2213:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2214:10:2214:47 | encodePath(...) : String | semmle.label | encodePath(...) : String | +| Test.java:2214:30:2214:31 | in : String | semmle.label | in : String | +| Test.java:2215:9:2215:11 | out | semmle.label | out | +| Test.java:2220:16:2220:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2220:24:2220:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2221:10:2221:53 | encodePathSegment(...) : String | semmle.label | encodePathSegment(...) : String | +| Test.java:2221:37:2221:38 | in : String | semmle.label | in : String | +| Test.java:2222:9:2222:11 | out | semmle.label | out | +| Test.java:2227:16:2227:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2227:24:2227:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2228:10:2228:54 | encodePathSegment(...) : String | semmle.label | encodePathSegment(...) : String | +| Test.java:2228:37:2228:38 | in : String | semmle.label | in : String | +| Test.java:2229:9:2229:11 | out | semmle.label | out | +| Test.java:2234:16:2234:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2234:24:2234:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2235:10:2235:46 | encodePort(...) : String | semmle.label | encodePort(...) : String | +| Test.java:2235:30:2235:31 | in : String | semmle.label | in : String | +| Test.java:2236:9:2236:11 | out | semmle.label | out | +| Test.java:2241:16:2241:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2241:24:2241:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2242:10:2242:47 | encodePort(...) : String | semmle.label | encodePort(...) : String | +| Test.java:2242:30:2242:31 | in : String | semmle.label | in : String | +| Test.java:2243:9:2243:11 | out | semmle.label | out | +| Test.java:2248:16:2248:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2248:24:2248:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2249:10:2249:47 | encodeQuery(...) : String | semmle.label | encodeQuery(...) : String | +| Test.java:2249:31:2249:32 | in : String | semmle.label | in : String | +| Test.java:2250:9:2250:11 | out | semmle.label | out | +| Test.java:2255:16:2255:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2255:24:2255:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2256:10:2256:48 | encodeQuery(...) : String | semmle.label | encodeQuery(...) : String | +| Test.java:2256:31:2256:32 | in : String | semmle.label | in : String | +| Test.java:2257:9:2257:11 | out | semmle.label | out | +| Test.java:2262:16:2262:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2262:24:2262:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2263:10:2263:52 | encodeQueryParam(...) : String | semmle.label | encodeQueryParam(...) : String | +| Test.java:2263:36:2263:37 | in : String | semmle.label | in : String | +| Test.java:2264:9:2264:11 | out | semmle.label | out | +| Test.java:2269:16:2269:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2269:24:2269:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2270:10:2270:53 | encodeQueryParam(...) : String | semmle.label | encodeQueryParam(...) : String | +| Test.java:2270:36:2270:37 | in : String | semmle.label | in : String | +| Test.java:2271:9:2271:11 | out | semmle.label | out | +| Test.java:2276:23:2276:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:2276:47:2276:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2277:10:2277:39 | encodeQueryParams(...) : MultiValueMap [] : Object | semmle.label | encodeQueryParams(...) : MultiValueMap [] : Object | +| Test.java:2277:37:2277:38 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:2278:9:2278:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2278:19:2278:21 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:2283:23:2283:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:2283:49:2283:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2284:10:2284:39 | encodeQueryParams(...) : MultiValueMap [] : Object | semmle.label | encodeQueryParams(...) : MultiValueMap [] : Object | +| Test.java:2284:37:2284:38 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:2285:9:2285:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2285:21:2285:23 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:2290:16:2290:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2290:24:2290:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2291:10:2291:48 | encodeScheme(...) : String | semmle.label | encodeScheme(...) : String | +| Test.java:2291:32:2291:33 | in : String | semmle.label | in : String | +| Test.java:2292:9:2292:11 | out | semmle.label | out | +| Test.java:2297:16:2297:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2297:24:2297:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2298:10:2298:49 | encodeScheme(...) : String | semmle.label | encodeScheme(...) : String | +| Test.java:2298:32:2298:33 | in : String | semmle.label | in : String | +| Test.java:2299:9:2299:11 | out | semmle.label | out | +| Test.java:2304:13:2304:35 | newMapWithKey(...) : Map [] : Object | semmle.label | newMapWithKey(...) : Map [] : Object | +| Test.java:2304:27:2304:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2305:10:2305:40 | encodeUriVariables(...) : Map [] : Object | semmle.label | encodeUriVariables(...) : Map [] : Object | +| Test.java:2305:38:2305:39 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:2306:9:2306:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2306:19:2306:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:2311:13:2311:37 | newMapWithValue(...) : Map [] : Object | semmle.label | newMapWithValue(...) : Map [] : Object | +| Test.java:2311:29:2311:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2312:10:2312:40 | encodeUriVariables(...) : Map [] : Object | semmle.label | encodeUriVariables(...) : Map [] : Object | +| Test.java:2312:38:2312:39 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:2313:9:2313:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2313:21:2313:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:2318:18:2318:39 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:2318:31:2318:38 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2319:10:2319:40 | encodeUriVariables(...) : Object[] [[]] : Object | semmle.label | encodeUriVariables(...) : Object[] [[]] : Object | +| Test.java:2319:38:2319:39 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:2320:9:2320:11 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| Test.java:2320:9:2320:14 | ...[...] | semmle.label | ...[...] | +| Test.java:2325:16:2325:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2325:24:2325:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2326:10:2326:50 | encodeUserInfo(...) : String | semmle.label | encodeUserInfo(...) : String | +| Test.java:2326:34:2326:35 | in : String | semmle.label | in : String | +| Test.java:2327:9:2327:11 | out | semmle.label | out | +| Test.java:2332:16:2332:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2332:24:2332:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2333:10:2333:51 | encodeUserInfo(...) : String | semmle.label | encodeUserInfo(...) : String | +| Test.java:2333:34:2333:35 | in : String | semmle.label | in : String | +| Test.java:2334:9:2334:11 | out | semmle.label | out | +| Test.java:2339:16:2339:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2339:24:2339:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2340:10:2340:42 | extractFileExtension(...) : String | semmle.label | extractFileExtension(...) : String | +| Test.java:2340:40:2340:41 | in : String | semmle.label | in : String | +| Test.java:2341:9:2341:11 | out | semmle.label | out | +| Test.java:2346:23:2346:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:2346:47:2346:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2348:10:2348:49 | decodeMatrixVariables(...) : MultiValueMap [] : Object | semmle.label | decodeMatrixVariables(...) : MultiValueMap [] : Object | +| Test.java:2348:47:2348:48 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:2349:9:2349:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2349:19:2349:21 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:2354:23:2354:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | semmle.label | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:2354:49:2354:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2356:10:2356:49 | decodeMatrixVariables(...) : MultiValueMap [] : Object | semmle.label | decodeMatrixVariables(...) : MultiValueMap [] : Object | +| Test.java:2356:47:2356:48 | in : LinkedMultiValueMap [] : Object | semmle.label | in : LinkedMultiValueMap [] : Object | +| Test.java:2357:9:2357:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2357:21:2357:23 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:2362:13:2362:35 | newMapWithKey(...) : Map [] : Object | semmle.label | newMapWithKey(...) : Map [] : Object | +| Test.java:2362:27:2362:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2364:10:2364:47 | decodePathVariables(...) : Map [] : Object | semmle.label | decodePathVariables(...) : Map [] : Object | +| Test.java:2364:45:2364:46 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:2365:9:2365:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2365:19:2365:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:2370:13:2370:37 | newMapWithValue(...) : Map [] : Object | semmle.label | newMapWithValue(...) : Map [] : Object | +| Test.java:2370:29:2370:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2372:10:2372:47 | decodePathVariables(...) : Map [] : Object | semmle.label | decodePathVariables(...) : Map [] : Object | +| Test.java:2372:45:2372:46 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:2373:9:2373:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2373:21:2373:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:2378:16:2378:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2378:24:2378:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2380:10:2380:47 | decodeRequestString(...) : String | semmle.label | decodeRequestString(...) : String | +| Test.java:2380:45:2380:46 | in : String | semmle.label | in : String | +| Test.java:2381:9:2381:11 | out | semmle.label | out | +| Test.java:2386:28:2386:55 | (...)... : HttpServletRequest | semmle.label | (...)... : HttpServletRequest | +| Test.java:2386:48:2386:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2388:10:2388:36 | getContextPath(...) : String | semmle.label | getContextPath(...) : String | +| Test.java:2388:34:2388:35 | in : HttpServletRequest | semmle.label | in : HttpServletRequest | +| Test.java:2389:9:2389:11 | out | semmle.label | out | +| Test.java:2394:28:2394:55 | (...)... : HttpServletRequest | semmle.label | (...)... : HttpServletRequest | +| Test.java:2394:48:2394:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2396:10:2396:47 | getOriginatingContextPath(...) : String | semmle.label | getOriginatingContextPath(...) : String | +| Test.java:2396:45:2396:46 | in : HttpServletRequest | semmle.label | in : HttpServletRequest | +| Test.java:2397:9:2397:11 | out | semmle.label | out | +| Test.java:2402:16:2402:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2402:24:2402:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2404:10:2404:44 | removeSemicolonContent(...) : String | semmle.label | removeSemicolonContent(...) : String | +| Test.java:2404:42:2404:43 | in : String | semmle.label | in : String | +| Test.java:2405:9:2405:11 | out | semmle.label | out | +| Test.java:2410:13:2410:37 | newMapWithValue(...) : Map [] : Object | semmle.label | newMapWithValue(...) : Map [] : Object | +| Test.java:2410:29:2410:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2411:10:2411:54 | findParameterValue(...) : String | semmle.label | findParameterValue(...) : String | +| Test.java:2411:38:2411:39 | in : Map [] : Object | semmle.label | in : Map [] : Object | +| Test.java:2412:9:2412:11 | out | semmle.label | out | +| Test.java:2417:24:2417:47 | (...)... : ServletRequest | semmle.label | (...)... : ServletRequest | +| Test.java:2417:40:2417:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2418:10:2418:54 | findParameterValue(...) : String | semmle.label | findParameterValue(...) : String | +| Test.java:2418:38:2418:39 | in : ServletRequest | semmle.label | in : ServletRequest | +| Test.java:2419:9:2419:11 | out | semmle.label | out | +| Test.java:2424:28:2424:55 | (...)... : HttpServletRequest | semmle.label | (...)... : HttpServletRequest | +| Test.java:2424:48:2424:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2425:10:2425:37 | getCookie(...) : Cookie | semmle.label | getCookie(...) : Cookie | +| Test.java:2425:29:2425:30 | in : HttpServletRequest | semmle.label | in : HttpServletRequest | +| Test.java:2426:9:2426:11 | out | semmle.label | out | +| Test.java:2431:24:2431:47 | (...)... : ServletRequest | semmle.label | (...)... : ServletRequest | +| Test.java:2431:40:2431:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2432:10:2432:44 | getNativeRequest(...) : Object | semmle.label | getNativeRequest(...) : Object | +| Test.java:2432:36:2432:37 | in : ServletRequest | semmle.label | in : ServletRequest | +| Test.java:2433:9:2433:11 | out | semmle.label | out | +| Test.java:2438:25:2438:49 | (...)... : ServletResponse | semmle.label | (...)... : ServletResponse | +| Test.java:2438:42:2438:49 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2439:10:2439:45 | getNativeResponse(...) : Object | semmle.label | getNativeResponse(...) : Object | +| Test.java:2439:37:2439:38 | in : ServletResponse | semmle.label | in : ServletResponse | +| Test.java:2440:9:2440:11 | out | semmle.label | out | +| Test.java:2445:24:2445:47 | (...)... : ServletRequest | semmle.label | (...)... : ServletRequest | +| Test.java:2445:40:2445:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2446:10:2446:53 | getParametersStartingWith(...) : Map [] : Object | semmle.label | getParametersStartingWith(...) : Map [] : Object | +| Test.java:2446:45:2446:46 | in : ServletRequest | semmle.label | in : ServletRequest | +| Test.java:2447:9:2447:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2447:19:2447:21 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:2452:24:2452:47 | (...)... : ServletRequest | semmle.label | (...)... : ServletRequest | +| Test.java:2452:40:2452:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2453:10:2453:53 | getParametersStartingWith(...) : Map [] : Object | semmle.label | getParametersStartingWith(...) : Map [] : Object | +| Test.java:2453:45:2453:46 | in : ServletRequest | semmle.label | in : ServletRequest | +| Test.java:2454:9:2454:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2454:21:2454:23 | out : Map [] : Object | semmle.label | out : Map [] : Object | +| Test.java:2459:16:2459:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2459:24:2459:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2460:10:2460:39 | getRealPath(...) : String | semmle.label | getRealPath(...) : String | +| Test.java:2460:37:2460:38 | in : String | semmle.label | in : String | +| Test.java:2461:9:2461:11 | out | semmle.label | out | +| Test.java:2466:24:2466:47 | (...)... : ServletContext | semmle.label | (...)... : ServletContext | +| Test.java:2466:40:2466:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2467:10:2467:39 | getRealPath(...) : String | semmle.label | getRealPath(...) : String | +| Test.java:2467:31:2467:32 | in : ServletContext | semmle.label | in : ServletContext | +| Test.java:2468:9:2468:11 | out | semmle.label | out | +| Test.java:2473:28:2473:55 | (...)... : HttpServletRequest | semmle.label | (...)... : HttpServletRequest | +| Test.java:2473:48:2473:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2474:10:2474:55 | getRequiredSessionAttribute(...) : Object | semmle.label | getRequiredSessionAttribute(...) : Object | +| Test.java:2474:47:2474:48 | in : HttpServletRequest | semmle.label | in : HttpServletRequest | +| Test.java:2475:9:2475:11 | out | semmle.label | out | +| Test.java:2480:28:2480:55 | (...)... : HttpServletRequest | semmle.label | (...)... : HttpServletRequest | +| Test.java:2480:48:2480:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2481:10:2481:47 | getSessionAttribute(...) : Object | semmle.label | getSessionAttribute(...) : Object | +| Test.java:2481:39:2481:40 | in : HttpServletRequest | semmle.label | in : HttpServletRequest | +| Test.java:2482:9:2482:11 | out | semmle.label | out | +| Test.java:2487:16:2487:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2487:24:2487:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2488:10:2488:42 | parseMatrixVariables(...) : MultiValueMap [] : Object | semmle.label | parseMatrixVariables(...) : MultiValueMap [] : Object | +| Test.java:2488:40:2488:41 | in : String | semmle.label | in : String | +| Test.java:2489:9:2489:22 | getMapKey(...) | semmle.label | getMapKey(...) | +| Test.java:2489:19:2489:21 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:2494:16:2494:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2494:24:2494:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2495:10:2495:42 | parseMatrixVariables(...) : MultiValueMap [] : Object | semmle.label | parseMatrixVariables(...) : MultiValueMap [] : Object | +| Test.java:2495:40:2495:41 | in : String | semmle.label | in : String | +| Test.java:2496:9:2496:24 | getMapValue(...) | semmle.label | getMapValue(...) | +| Test.java:2496:21:2496:23 | out : MultiValueMap [] : Object | semmle.label | out : MultiValueMap [] : Object | +| Test.java:2501:19:2501:34 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2501:27:2501:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2502:13:2502:42 | htmlEscape(...) : String | semmle.label | htmlEscape(...) : String | +| Test.java:2502:34:2502:35 | in : String | semmle.label | in : String | +| Test.java:2503:12:2503:14 | out | semmle.label | out | +| Test.java:2508:19:2508:34 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2508:27:2508:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2509:13:2509:36 | htmlEscape(...) : String | semmle.label | htmlEscape(...) : String | +| Test.java:2509:34:2509:35 | in : String | semmle.label | in : String | +| Test.java:2510:12:2510:14 | out | semmle.label | out | +| Test.java:2515:19:2515:34 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2515:27:2515:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2516:13:2516:49 | htmlEscapeDecimal(...) : String | semmle.label | htmlEscapeDecimal(...) : String | +| Test.java:2516:41:2516:42 | in : String | semmle.label | in : String | +| Test.java:2517:12:2517:14 | out | semmle.label | out | +| Test.java:2522:19:2522:34 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2522:27:2522:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2523:13:2523:43 | htmlEscapeDecimal(...) : String | semmle.label | htmlEscapeDecimal(...) : String | +| Test.java:2523:41:2523:42 | in : String | semmle.label | in : String | +| Test.java:2524:12:2524:14 | out | semmle.label | out | +| Test.java:2529:19:2529:34 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2529:27:2529:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2530:13:2530:45 | htmlEscapeHex(...) : String | semmle.label | htmlEscapeHex(...) : String | +| Test.java:2530:37:2530:38 | in : String | semmle.label | in : String | +| Test.java:2531:12:2531:14 | out | semmle.label | out | +| Test.java:2536:19:2536:34 | (...)... : String | semmle.label | (...)... : String | +| Test.java:2536:27:2536:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2537:13:2537:39 | htmlEscapeHex(...) : String | semmle.label | htmlEscapeHex(...) : String | +| Test.java:2537:37:2537:38 | in : String | semmle.label | in : String | +| Test.java:2538:12:2538:14 | out | semmle.label | out | +| Test.java:2543:23:2543:45 | (...)... : UriComponents | semmle.label | (...)... : UriComponents | +| Test.java:2543:38:2543:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2544:10:2544:11 | in : UriComponents | semmle.label | in : UriComponents | +| Test.java:2544:10:2544:23 | normalize(...) : UriComponents | semmle.label | normalize(...) : UriComponents | +| Test.java:2545:9:2545:11 | out | semmle.label | out | +| Test.java:2550:23:2550:45 | (...)... : UriComponents | semmle.label | (...)... : UriComponents | +| Test.java:2550:38:2550:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2551:10:2551:11 | in : UriComponents | semmle.label | in : UriComponents | +| Test.java:2551:10:2551:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2552:9:2552:11 | out | semmle.label | out | +| Test.java:2557:21:2557:41 | (...)... : UriTemplate | semmle.label | (...)... : UriTemplate | +| Test.java:2557:34:2557:41 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2558:10:2558:11 | in : UriTemplate | semmle.label | in : UriTemplate | +| Test.java:2558:10:2558:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:2559:9:2559:11 | out | semmle.label | out | +| Test.java:2564:16:2564:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:2564:24:2564:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:2565:33:2565:35 | out [post update] : HttpServletRequest | semmle.label | out [post update] : HttpServletRequest | +| Test.java:2565:44:2565:45 | in : Object | semmle.label | in : Object | +| Test.java:2566:9:2566:11 | out | semmle.label | out | +subpaths +| Test.java:148:29:148:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | Test.java:53:47:53:67 | of(...) : Map [] : Object | Test.java:148:13:148:37 | newMapWithValue(...) : Map [] : Object | +| Test.java:196:21:196:23 | out : Map [] : Object | Test.java:51:20:51:29 | m : Map [] : Object | Test.java:51:41:51:51 | get(...) : Object | Test.java:196:9:196:24 | getMapValue(...) | +| Test.java:285:29:285:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | Test.java:53:47:53:67 | of(...) : Map [] : Object | Test.java:285:13:285:37 | newMapWithValue(...) : Map [] : Object | +| Test.java:292:29:292:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | Test.java:53:47:53:67 | of(...) : Map [] : Object | Test.java:292:13:292:37 | newMapWithValue(...) : Map [] : Object | +| Test.java:828:47:828:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | Test.java:54:65:54:110 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | Test.java:828:23:828:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:835:47:835:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | Test.java:54:65:54:110 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | Test.java:835:23:835:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:842:47:842:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | Test.java:54:65:54:110 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | Test.java:842:23:842:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:850:47:850:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | Test.java:54:65:54:110 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | Test.java:850:23:850:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:858:49:858:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | Test.java:55:134:55:134 | m : LinkedMultiValueMap [] : Object | Test.java:858:23:858:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:865:49:865:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | Test.java:55:134:55:134 | m : LinkedMultiValueMap [] : Object | Test.java:865:23:865:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:872:49:872:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | Test.java:55:134:55:134 | m : LinkedMultiValueMap [] : Object | Test.java:872:23:872:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:880:49:880:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | Test.java:55:134:55:134 | m : LinkedMultiValueMap [] : Object | Test.java:880:23:880:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:1138:47:1138:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | Test.java:54:65:54:110 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | Test.java:1138:23:1138:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:1146:47:1146:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | Test.java:54:65:54:110 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | Test.java:1146:23:1146:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:1154:49:1154:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | Test.java:55:134:55:134 | m : LinkedMultiValueMap [] : Object | Test.java:1154:23:1154:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:1162:49:1162:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | Test.java:55:134:55:134 | m : LinkedMultiValueMap [] : Object | Test.java:1162:23:1162:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:1302:73:1302:94 | of(...) : Map [] : Object | Test.java:44:30:44:34 | m : Map [] : Object | Test.java:44:5:44:28 | parameter this [Return] : StubUriTemplateVariables [] : Object | Test.java:1302:44:1302:95 | new StubUriTemplateVariables(...) : StubUriTemplateVariables [] : Object | +| Test.java:1303:10:1303:11 | in : StubUriTemplateVariables [] : Object | Test.java:46:19:46:26 | parameter this : StubUriTemplateVariables [] : Object | Test.java:46:50:46:63 | get(...) : Object | Test.java:1303:10:1303:26 | getValue(...) : Object | +| Test.java:1337:29:1337:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | Test.java:53:47:53:67 | of(...) : Map [] : Object | Test.java:1337:13:1337:37 | newMapWithValue(...) : Map [] : Object | +| Test.java:1353:73:1353:94 | of(...) : Map [] : Object | Test.java:44:30:44:34 | m : Map [] : Object | Test.java:44:5:44:28 | parameter this [Return] : StubUriTemplateVariables [] : Object | Test.java:1353:44:1353:95 | new StubUriTemplateVariables(...) : StubUriTemplateVariables [] : Object | +| Test.java:1398:20:1398:41 | (...)... : List [] : Object | Test.java:49:20:49:39 | container : List [] : Object | Test.java:49:51:49:77 | next(...) : Object | Test.java:1398:9:1398:42 | getElement(...) | +| Test.java:1398:38:1398:40 | out : MultiValueMap [, ] : Object | Test.java:51:20:51:29 | m : MultiValueMap [, ] : Object | Test.java:51:41:51:51 | get(...) : Object [] : Object | Test.java:1398:26:1398:41 | getMapValue(...) : Object [] : Object | +| Test.java:1405:19:1405:21 | out : MultiValueMap [] : Object | Test.java:50:18:50:27 | m : MultiValueMap [] : Object | Test.java:50:39:50:66 | next(...) : Object | Test.java:1405:9:1405:22 | getMapKey(...) | +| Test.java:1445:29:1445:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | Test.java:53:47:53:67 | of(...) : Map [] : Object | Test.java:1445:13:1445:37 | newMapWithValue(...) : Map [] : Object | +| Test.java:1489:29:1489:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | Test.java:53:47:53:67 | of(...) : Map [] : Object | Test.java:1489:13:1489:37 | newMapWithValue(...) : Map [] : Object | +| Test.java:1755:47:1755:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | Test.java:54:65:54:110 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | Test.java:1755:23:1755:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:1763:49:1763:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | Test.java:55:134:55:134 | m : LinkedMultiValueMap [] : Object | Test.java:1763:23:1763:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:1854:47:1854:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | Test.java:54:65:54:110 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | Test.java:1854:23:1854:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:1862:49:1862:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | Test.java:55:134:55:134 | m : LinkedMultiValueMap [] : Object | Test.java:1862:23:1862:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:1944:29:1944:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | Test.java:53:47:53:67 | of(...) : Map [] : Object | Test.java:1944:13:1944:37 | newMapWithValue(...) : Map [] : Object | +| Test.java:1967:29:1967:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | Test.java:53:47:53:67 | of(...) : Map [] : Object | Test.java:1967:13:1967:37 | newMapWithValue(...) : Map [] : Object | +| Test.java:1985:20:1985:22 | out : List [] : Object | Test.java:49:20:49:39 | container : List [] : Object | Test.java:49:51:49:77 | next(...) : Object | Test.java:1985:9:1985:23 | getElement(...) | +| Test.java:1993:21:1993:23 | out : Map [] : Object | Test.java:51:20:51:29 | m : Map [] : Object | Test.java:51:41:51:51 | get(...) : Object | Test.java:1993:9:1993:24 | getMapValue(...) | +| Test.java:1998:29:1998:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | Test.java:53:47:53:67 | of(...) : Map [] : Object | Test.java:1998:13:1998:37 | newMapWithValue(...) : Map [] : Object | +| Test.java:2006:29:2006:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | Test.java:53:47:53:67 | of(...) : Map [] : Object | Test.java:2006:13:2006:37 | newMapWithValue(...) : Map [] : Object | +| Test.java:2014:29:2014:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | Test.java:53:47:53:67 | of(...) : Map [] : Object | Test.java:2014:13:2014:37 | newMapWithValue(...) : Map [] : Object | +| Test.java:2276:47:2276:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | Test.java:54:65:54:110 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | Test.java:2276:23:2276:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:2278:19:2278:21 | out : MultiValueMap [] : Object | Test.java:50:18:50:27 | m : MultiValueMap [] : Object | Test.java:50:39:50:66 | next(...) : Object | Test.java:2278:9:2278:22 | getMapKey(...) | +| Test.java:2283:49:2283:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | Test.java:55:134:55:134 | m : LinkedMultiValueMap [] : Object | Test.java:2283:23:2283:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:2285:21:2285:23 | out : MultiValueMap [] : Object | Test.java:51:20:51:29 | m : MultiValueMap [] : Object | Test.java:51:41:51:51 | get(...) : Object | Test.java:2285:9:2285:24 | getMapValue(...) | +| Test.java:2304:27:2304:34 | source(...) : Object | Test.java:52:20:52:33 | element : Object | Test.java:52:45:52:65 | of(...) : Map [] : Object | Test.java:2304:13:2304:35 | newMapWithKey(...) : Map [] : Object | +| Test.java:2306:19:2306:21 | out : Map [] : Object | Test.java:50:18:50:27 | m : Map [] : Object | Test.java:50:39:50:66 | next(...) : Object | Test.java:2306:9:2306:22 | getMapKey(...) | +| Test.java:2311:29:2311:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | Test.java:53:47:53:67 | of(...) : Map [] : Object | Test.java:2311:13:2311:37 | newMapWithValue(...) : Map [] : Object | +| Test.java:2313:21:2313:23 | out : Map [] : Object | Test.java:51:20:51:29 | m : Map [] : Object | Test.java:51:41:51:51 | get(...) : Object | Test.java:2313:9:2313:24 | getMapValue(...) | +| Test.java:2346:47:2346:54 | source(...) : Object | Test.java:54:40:54:53 | element : Object | Test.java:54:65:54:110 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [] : Object | Test.java:2346:23:2346:55 | newMultiValueMapWithKey(...) : LinkedMultiValueMap [] : Object | +| Test.java:2349:19:2349:21 | out : MultiValueMap [] : Object | Test.java:50:18:50:27 | m : MultiValueMap [] : Object | Test.java:50:39:50:66 | next(...) : Object | Test.java:2349:9:2349:22 | getMapKey(...) | +| Test.java:2354:49:2354:56 | source(...) : Object | Test.java:55:42:55:55 | element : Object | Test.java:55:134:55:134 | m : LinkedMultiValueMap [] : Object | Test.java:2354:23:2354:57 | newMultiValueMapWithValue(...) : LinkedMultiValueMap [] : Object | +| Test.java:2357:21:2357:23 | out : MultiValueMap [] : Object | Test.java:51:20:51:29 | m : MultiValueMap [] : Object | Test.java:51:41:51:51 | get(...) : Object | Test.java:2357:9:2357:24 | getMapValue(...) | +| Test.java:2362:27:2362:34 | source(...) : Object | Test.java:52:20:52:33 | element : Object | Test.java:52:45:52:65 | of(...) : Map [] : Object | Test.java:2362:13:2362:35 | newMapWithKey(...) : Map [] : Object | +| Test.java:2365:19:2365:21 | out : Map [] : Object | Test.java:50:18:50:27 | m : Map [] : Object | Test.java:50:39:50:66 | next(...) : Object | Test.java:2365:9:2365:22 | getMapKey(...) | +| Test.java:2370:29:2370:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | Test.java:53:47:53:67 | of(...) : Map [] : Object | Test.java:2370:13:2370:37 | newMapWithValue(...) : Map [] : Object | +| Test.java:2373:21:2373:23 | out : Map [] : Object | Test.java:51:20:51:29 | m : Map [] : Object | Test.java:51:41:51:51 | get(...) : Object | Test.java:2373:9:2373:24 | getMapValue(...) | +| Test.java:2410:29:2410:36 | source(...) : Object | Test.java:53:22:53:35 | element : Object | Test.java:53:47:53:67 | of(...) : Map [] : Object | Test.java:2410:13:2410:37 | newMapWithValue(...) : Map [] : Object | +| Test.java:2447:19:2447:21 | out : Map [] : Object | Test.java:50:18:50:27 | m : Map [] : Object | Test.java:50:39:50:66 | next(...) : Object | Test.java:2447:9:2447:22 | getMapKey(...) | +| Test.java:2454:21:2454:23 | out : Map [] : Object | Test.java:51:20:51:29 | m : Map [] : Object | Test.java:51:41:51:51 | get(...) : Object | Test.java:2454:9:2454:24 | getMapValue(...) | +| Test.java:2489:19:2489:21 | out : MultiValueMap [] : Object | Test.java:50:18:50:27 | m : MultiValueMap [] : Object | Test.java:50:39:50:66 | next(...) : Object | Test.java:2489:9:2489:22 | getMapKey(...) | +| Test.java:2496:21:2496:23 | out : MultiValueMap [] : Object | Test.java:51:20:51:29 | m : MultiValueMap [] : Object | Test.java:51:41:51:51 | get(...) : Object | Test.java:2496:9:2496:24 | getMapValue(...) | +testFailures diff --git a/java/ql/test/library-tests/frameworks/stapler/test.expected b/java/ql/test/library-tests/frameworks/stapler/test.expected index e69de29bb2d..b8018445fe6 100644 --- a/java/ql/test/library-tests/frameworks/stapler/test.expected +++ b/java/ql/test/library-tests/frameworks/stapler/test.expected @@ -0,0 +1,52 @@ +models +| 1 | Summary: org.kohsuke.stapler.framework.adjunct; AdjunctManager; true; AdjunctManager; (ServletContext,ClassLoader,String,long); ; Argument[2]; Argument[this].Field[org.kohsuke.stapler.framework.adjunct.AdjunctManager.rootURL]; taint; ai-manual | +edges +| DataBoundPostConstructTest.java:17:40:17:60 | source(...) : Object | DataBoundPostConstructTest.java:24:39:24:50 | field : Object | provenance | | +| DataBoundPostConstructTest.java:18:55:18:70 | source(...) : Object | DataBoundPostConstructTest.java:29:26:29:37 | field : Object | provenance | | +| DataBoundPostConstructTest.java:24:39:24:50 | field : Object | DataBoundPostConstructTest.java:25:22:25:26 | field : Object | provenance | | +| DataBoundPostConstructTest.java:25:9:25:12 | this [post update] : DataBoundPostConstructTest [field] : Object | DataBoundPostConstructTest.java:33:20:33:30 | parameter this : DataBoundPostConstructTest [field] : Object | provenance | | +| DataBoundPostConstructTest.java:25:9:25:12 | this [post update] : DataBoundPostConstructTest [field] : Object | DataBoundPostConstructTest.java:39:18:39:21 | parameter this : DataBoundPostConstructTest [field] : Object | provenance | | +| DataBoundPostConstructTest.java:25:22:25:26 | field : Object | DataBoundPostConstructTest.java:25:9:25:12 | this [post update] : DataBoundPostConstructTest [field] : Object | provenance | | +| DataBoundPostConstructTest.java:29:26:29:37 | field : Object | DataBoundPostConstructTest.java:30:22:30:26 | field : Object | provenance | | +| DataBoundPostConstructTest.java:30:9:30:12 | this [post update] : DataBoundPostConstructTest [field] : Object | DataBoundPostConstructTest.java:33:20:33:30 | parameter this : DataBoundPostConstructTest [field] : Object | provenance | | +| DataBoundPostConstructTest.java:30:9:30:12 | this [post update] : DataBoundPostConstructTest [field] : Object | DataBoundPostConstructTest.java:39:18:39:21 | parameter this : DataBoundPostConstructTest [field] : Object | provenance | | +| DataBoundPostConstructTest.java:30:22:30:26 | field : Object | DataBoundPostConstructTest.java:30:9:30:12 | this [post update] : DataBoundPostConstructTest [field] : Object | provenance | | +| DataBoundPostConstructTest.java:33:20:33:30 | parameter this : DataBoundPostConstructTest [field] : Object | DataBoundPostConstructTest.java:34:14:34:17 | this : DataBoundPostConstructTest [field] : Object | provenance | | +| DataBoundPostConstructTest.java:34:14:34:17 | this : DataBoundPostConstructTest [field] : Object | DataBoundPostConstructTest.java:34:14:34:23 | this.field | provenance | | +| DataBoundPostConstructTest.java:39:18:39:21 | parameter this : DataBoundPostConstructTest [field] : Object | DataBoundPostConstructTest.java:40:14:40:17 | this : DataBoundPostConstructTest [field] : Object | provenance | | +| DataBoundPostConstructTest.java:40:14:40:17 | this : DataBoundPostConstructTest [field] : Object | DataBoundPostConstructTest.java:40:14:40:23 | this.field | provenance | | +| HttpResponseTest.java:16:20:16:44 | (...)... : MyHttpResponse | HttpResponseTest.java:22:21:22:36 | parameter this : MyHttpResponse | provenance | | +| HttpResponseTest.java:16:37:16:44 | source(...) : Object | HttpResponseTest.java:16:20:16:44 | (...)... : MyHttpResponse | provenance | | +| HttpResponseTest.java:22:21:22:36 | parameter this : MyHttpResponse | HttpResponseTest.java:23:18:23:21 | this | provenance | | +| Test.java:19:16:19:32 | (...)... : String | Test.java:20:41:20:42 | in : String | provenance | | +| Test.java:19:25:19:32 | source(...) : Object | Test.java:19:16:19:32 | (...)... : String | provenance | | +| Test.java:20:10:20:47 | new AdjunctManager(...) : AdjunctManager [rootURL] : String | Test.java:21:9:21:11 | out : AdjunctManager [rootURL] : String | provenance | | +| Test.java:20:41:20:42 | in : String | Test.java:20:10:20:47 | new AdjunctManager(...) : AdjunctManager [rootURL] : String | provenance | MaD:1 | +| Test.java:21:9:21:11 | out : AdjunctManager [rootURL] : String | Test.java:21:9:21:19 | out.rootURL | provenance | | +nodes +| DataBoundPostConstructTest.java:17:40:17:60 | source(...) : Object | semmle.label | source(...) : Object | +| DataBoundPostConstructTest.java:18:55:18:70 | source(...) : Object | semmle.label | source(...) : Object | +| DataBoundPostConstructTest.java:24:39:24:50 | field : Object | semmle.label | field : Object | +| DataBoundPostConstructTest.java:25:9:25:12 | this [post update] : DataBoundPostConstructTest [field] : Object | semmle.label | this [post update] : DataBoundPostConstructTest [field] : Object | +| DataBoundPostConstructTest.java:25:22:25:26 | field : Object | semmle.label | field : Object | +| DataBoundPostConstructTest.java:29:26:29:37 | field : Object | semmle.label | field : Object | +| DataBoundPostConstructTest.java:30:9:30:12 | this [post update] : DataBoundPostConstructTest [field] : Object | semmle.label | this [post update] : DataBoundPostConstructTest [field] : Object | +| DataBoundPostConstructTest.java:30:22:30:26 | field : Object | semmle.label | field : Object | +| DataBoundPostConstructTest.java:33:20:33:30 | parameter this : DataBoundPostConstructTest [field] : Object | semmle.label | parameter this : DataBoundPostConstructTest [field] : Object | +| DataBoundPostConstructTest.java:34:14:34:17 | this : DataBoundPostConstructTest [field] : Object | semmle.label | this : DataBoundPostConstructTest [field] : Object | +| DataBoundPostConstructTest.java:34:14:34:23 | this.field | semmle.label | this.field | +| DataBoundPostConstructTest.java:39:18:39:21 | parameter this : DataBoundPostConstructTest [field] : Object | semmle.label | parameter this : DataBoundPostConstructTest [field] : Object | +| DataBoundPostConstructTest.java:40:14:40:17 | this : DataBoundPostConstructTest [field] : Object | semmle.label | this : DataBoundPostConstructTest [field] : Object | +| DataBoundPostConstructTest.java:40:14:40:23 | this.field | semmle.label | this.field | +| HttpResponseTest.java:16:20:16:44 | (...)... : MyHttpResponse | semmle.label | (...)... : MyHttpResponse | +| HttpResponseTest.java:16:37:16:44 | source(...) : Object | semmle.label | source(...) : Object | +| HttpResponseTest.java:22:21:22:36 | parameter this : MyHttpResponse | semmle.label | parameter this : MyHttpResponse | +| HttpResponseTest.java:23:18:23:21 | this | semmle.label | this | +| Test.java:19:16:19:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:19:25:19:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:20:10:20:47 | new AdjunctManager(...) : AdjunctManager [rootURL] : String | semmle.label | new AdjunctManager(...) : AdjunctManager [rootURL] : String | +| Test.java:20:41:20:42 | in : String | semmle.label | in : String | +| Test.java:21:9:21:11 | out : AdjunctManager [rootURL] : String | semmle.label | out : AdjunctManager [rootURL] : String | +| Test.java:21:9:21:19 | out.rootURL | semmle.label | out.rootURL | +subpaths +testFailures diff --git a/java/ql/test/library-tests/frameworks/stream/test.expected b/java/ql/test/library-tests/frameworks/stream/test.expected index e69de29bb2d..ddb42b6a63d 100644 --- a/java/ql/test/library-tests/frameworks/stream/test.expected +++ b/java/ql/test/library-tests/frameworks/stream/test.expected @@ -0,0 +1,1019 @@ +models +| 1 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 2 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 3 | Summary: java.util; Optional; false; get; ; ; Argument[this].Element; ReturnValue; value; manual | +| 4 | Summary: java.util.stream; BaseStream; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 5 | Summary: java.util.stream; BaseStream; true; onClose; (Runnable); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 6 | Summary: java.util.stream; BaseStream; true; parallel; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 7 | Summary: java.util.stream; BaseStream; true; sequential; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 8 | Summary: java.util.stream; BaseStream; true; spliterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 9 | Summary: java.util.stream; BaseStream; true; unordered; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 10 | Summary: java.util.stream; Stream; true; allMatch; (Predicate); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 11 | Summary: java.util.stream; Stream; true; anyMatch; (Predicate); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 12 | Summary: java.util.stream; Stream; true; collect; (Supplier,BiConsumer,BiConsumer); ; Argument[this].Element; Argument[1].Parameter[1]; value; manual | +| 13 | Summary: java.util.stream; Stream; true; collect; (Supplier,BiConsumer,BiConsumer); ; Argument[0].ReturnValue; Argument[1].Parameter[0]; value; manual | +| 14 | Summary: java.util.stream; Stream; true; collect; (Supplier,BiConsumer,BiConsumer); ; Argument[1].Parameter[0]; Argument[2].Parameter[0..1]; value; manual | +| 15 | Summary: java.util.stream; Stream; true; collect; (Supplier,BiConsumer,BiConsumer); ; Argument[1].Parameter[0]; ReturnValue; value; manual | +| 16 | Summary: java.util.stream; Stream; true; collect; (Supplier,BiConsumer,BiConsumer); ; Argument[2].Parameter[0..1]; Argument[1].Parameter[0]; value; manual | +| 17 | Summary: java.util.stream; Stream; true; concat; (Stream,Stream); ; Argument[0..1].Element; ReturnValue.Element; value; manual | +| 18 | Summary: java.util.stream; Stream; true; distinct; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 19 | Summary: java.util.stream; Stream; true; dropWhile; (Predicate); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 20 | Summary: java.util.stream; Stream; true; dropWhile; (Predicate); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 21 | Summary: java.util.stream; Stream; true; filter; (Predicate); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 22 | Summary: java.util.stream; Stream; true; filter; (Predicate); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 23 | Summary: java.util.stream; Stream; true; findAny; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 24 | Summary: java.util.stream; Stream; true; findFirst; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 25 | Summary: java.util.stream; Stream; true; flatMap; (Function); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 26 | Summary: java.util.stream; Stream; true; flatMap; (Function); ; Argument[0].ReturnValue.Element; ReturnValue.Element; value; manual | +| 27 | Summary: java.util.stream; Stream; true; flatMapToDouble; (Function); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 28 | Summary: java.util.stream; Stream; true; flatMapToInt; (Function); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 29 | Summary: java.util.stream; Stream; true; flatMapToLong; (Function); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 30 | Summary: java.util.stream; Stream; true; forEach; (Consumer); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 31 | Summary: java.util.stream; Stream; true; forEachOrdered; (Consumer); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 32 | Summary: java.util.stream; Stream; true; generate; (Supplier); ; Argument[0].ReturnValue; ReturnValue.Element; value; manual | +| 33 | Summary: java.util.stream; Stream; true; iterate; (Object,Predicate,UnaryOperator); ; Argument[0]; Argument[1..2].Parameter[0]; value; manual | +| 34 | Summary: java.util.stream; Stream; true; iterate; (Object,Predicate,UnaryOperator); ; Argument[0]; ReturnValue.Element; value; manual | +| 35 | Summary: java.util.stream; Stream; true; iterate; (Object,Predicate,UnaryOperator); ; Argument[2].ReturnValue; Argument[1..2].Parameter[0]; value; manual | +| 36 | Summary: java.util.stream; Stream; true; iterate; (Object,Predicate,UnaryOperator); ; Argument[2].ReturnValue; ReturnValue.Element; value; manual | +| 37 | Summary: java.util.stream; Stream; true; iterate; (Object,UnaryOperator); ; Argument[0]; Argument[1].Parameter[0]; value; manual | +| 38 | Summary: java.util.stream; Stream; true; iterate; (Object,UnaryOperator); ; Argument[0]; ReturnValue.Element; value; manual | +| 39 | Summary: java.util.stream; Stream; true; iterate; (Object,UnaryOperator); ; Argument[1].ReturnValue; Argument[1].Parameter[0]; value; manual | +| 40 | Summary: java.util.stream; Stream; true; iterate; (Object,UnaryOperator); ; Argument[1].ReturnValue; ReturnValue.Element; value; manual | +| 41 | Summary: java.util.stream; Stream; true; limit; (long); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 42 | Summary: java.util.stream; Stream; true; map; (Function); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 43 | Summary: java.util.stream; Stream; true; map; (Function); ; Argument[0].ReturnValue; ReturnValue.Element; value; manual | +| 44 | Summary: java.util.stream; Stream; true; mapMulti; (BiConsumer); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 45 | Summary: java.util.stream; Stream; true; mapMultiToDouble; (BiConsumer); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 46 | Summary: java.util.stream; Stream; true; mapMultiToInt; (BiConsumer); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 47 | Summary: java.util.stream; Stream; true; mapMultiToLong; (BiConsumer); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 48 | Summary: java.util.stream; Stream; true; mapToDouble; (ToDoubleFunction); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 49 | Summary: java.util.stream; Stream; true; mapToInt; (ToIntFunction); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 50 | Summary: java.util.stream; Stream; true; mapToLong; (ToLongFunction); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 51 | Summary: java.util.stream; Stream; true; max; (Comparator); ; Argument[this].Element; Argument[0].Parameter[0..1]; value; manual | +| 52 | Summary: java.util.stream; Stream; true; max; (Comparator); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 53 | Summary: java.util.stream; Stream; true; min; (Comparator); ; Argument[this].Element; Argument[0].Parameter[0..1]; value; manual | +| 54 | Summary: java.util.stream; Stream; true; min; (Comparator); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 55 | Summary: java.util.stream; Stream; true; noneMatch; (Predicate); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 56 | Summary: java.util.stream; Stream; true; of; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 57 | Summary: java.util.stream; Stream; true; of; (Object[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual | +| 58 | Summary: java.util.stream; Stream; true; ofNullable; (Object); ; Argument[0]; ReturnValue.Element; value; manual | +| 59 | Summary: java.util.stream; Stream; true; peek; (Consumer); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 60 | Summary: java.util.stream; Stream; true; peek; (Consumer); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 61 | Summary: java.util.stream; Stream; true; reduce; (BinaryOperator); ; Argument[this].Element; Argument[0].Parameter[0..1]; value; manual | +| 62 | Summary: java.util.stream; Stream; true; reduce; (BinaryOperator); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 63 | Summary: java.util.stream; Stream; true; reduce; (BinaryOperator); ; Argument[0].ReturnValue; Argument[0].Parameter[0..1]; value; manual | +| 64 | Summary: java.util.stream; Stream; true; reduce; (BinaryOperator); ; Argument[0].ReturnValue; ReturnValue.Element; value; manual | +| 65 | Summary: java.util.stream; Stream; true; reduce; (Object,BiFunction,BinaryOperator); ; Argument[this].Element; Argument[1].Parameter[1]; value; manual | +| 66 | Summary: java.util.stream; Stream; true; reduce; (Object,BiFunction,BinaryOperator); ; Argument[0]; Argument[1].Parameter[0]; value; manual | +| 67 | Summary: java.util.stream; Stream; true; reduce; (Object,BiFunction,BinaryOperator); ; Argument[0]; Argument[2].Parameter[0..1]; value; manual | +| 68 | Summary: java.util.stream; Stream; true; reduce; (Object,BiFunction,BinaryOperator); ; Argument[0]; ReturnValue; value; manual | +| 69 | Summary: java.util.stream; Stream; true; reduce; (Object,BiFunction,BinaryOperator); ; Argument[1..2].ReturnValue; Argument[1].Parameter[0]; value; manual | +| 70 | Summary: java.util.stream; Stream; true; reduce; (Object,BiFunction,BinaryOperator); ; Argument[1..2].ReturnValue; Argument[2].Parameter[0..1]; value; manual | +| 71 | Summary: java.util.stream; Stream; true; reduce; (Object,BiFunction,BinaryOperator); ; Argument[1..2].ReturnValue; ReturnValue; value; manual | +| 72 | Summary: java.util.stream; Stream; true; reduce; (Object,BinaryOperator); ; Argument[this].Element; Argument[1].Parameter[0..1]; value; manual | +| 73 | Summary: java.util.stream; Stream; true; reduce; (Object,BinaryOperator); ; Argument[0]; Argument[1].Parameter[0..1]; value; manual | +| 74 | Summary: java.util.stream; Stream; true; reduce; (Object,BinaryOperator); ; Argument[0]; ReturnValue; value; manual | +| 75 | Summary: java.util.stream; Stream; true; reduce; (Object,BinaryOperator); ; Argument[1].ReturnValue; Argument[1].Parameter[0..1]; value; manual | +| 76 | Summary: java.util.stream; Stream; true; reduce; (Object,BinaryOperator); ; Argument[1].ReturnValue; ReturnValue; value; manual | +| 77 | Summary: java.util.stream; Stream; true; skip; (long); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 78 | Summary: java.util.stream; Stream; true; sorted; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 79 | Summary: java.util.stream; Stream; true; sorted; (Comparator); ; Argument[this].Element; Argument[0].Parameter[0..1]; value; manual | +| 80 | Summary: java.util.stream; Stream; true; takeWhile; (Predicate); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 81 | Summary: java.util.stream; Stream; true; takeWhile; (Predicate); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 82 | Summary: java.util.stream; Stream; true; toArray; ; ; Argument[this].Element; ReturnValue.ArrayElement; value; manual | +| 83 | Summary: java.util.stream; Stream; true; toList; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 84 | Summary: generatedtest; Test; false; getElementSpliterator; (Spliterator); ; Argument[0].Element; ReturnValue; value; manual | +edges +| Test.java:16:27:16:35 | array : Object[] [[]] : Object | Test.java:16:47:16:51 | array : Object[] [[]] : Object | provenance | | +| Test.java:16:47:16:51 | array : Object[] [[]] : Object | Test.java:16:47:16:54 | ...[...] : Object | provenance | | +| Test.java:17:22:17:38 | s : BaseStream [] : Object | Test.java:17:50:17:50 | s : BaseStream [] : Object | provenance | | +| Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:50 | s : Stream [] : Object | provenance | | +| Test.java:17:50:17:50 | s : BaseStream [] : Object | Test.java:17:50:17:61 | iterator(...) : Iterator [] : Object | provenance | MaD:4 | +| Test.java:17:50:17:50 | s : Stream [] : Object | Test.java:17:50:17:61 | iterator(...) : Iterator [] : Object | provenance | MaD:4 | +| Test.java:17:50:17:61 | iterator(...) : Iterator [] : Object | Test.java:17:50:17:68 | next(...) : Object | provenance | MaD:2 | +| Test.java:17:50:17:61 | iterator(...) : Iterator [] : Object | Test.java:17:50:17:68 | next(...) : Object | provenance | MaD:2 | +| Test.java:18:22:18:35 | it : List [] : Object | Test.java:18:47:18:48 | it : List [] : Object | provenance | | +| Test.java:18:47:18:48 | it : List [] : Object | Test.java:18:47:18:59 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| Test.java:18:47:18:59 | iterator(...) : Iterator [] : Object | Test.java:18:47:18:66 | next(...) : Object | provenance | MaD:2 | +| Test.java:19:22:19:35 | it : Iterator [] : Object | Test.java:19:47:19:48 | it : Iterator [] : Object | provenance | | +| Test.java:19:47:19:48 | it : Iterator [] : Object | Test.java:19:47:19:55 | next(...) : Object | provenance | MaD:2 | +| Test.java:20:22:20:34 | o : Optional [] : Object | Test.java:20:46:20:46 | o : Optional [] : Object | provenance | | +| Test.java:20:46:20:46 | o : Optional [] : Object | Test.java:20:46:20:52 | get(...) : Object | provenance | MaD:3 | +| Test.java:31:29:31:71 | (...)... : Stream [] : Object | Test.java:32:19:32:20 | in : Stream [] : Object | provenance | | +| Test.java:31:41:31:71 | of(...) : Stream [] : Object | Test.java:31:29:31:71 | (...)... : Stream [] : Object | provenance | | +| Test.java:31:51:31:70 | source(...) : Object | Test.java:31:41:31:71 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:32:19:32:20 | in : Stream [] : Object | Test.java:32:19:32:31 | iterator(...) : Iterator [] : Object | provenance | MaD:4 | +| Test.java:32:19:32:31 | iterator(...) : Iterator [] : Object | Test.java:33:29:33:31 | out : Iterator [] : Object | provenance | | +| Test.java:33:29:33:31 | out : Iterator [] : Object | Test.java:19:22:19:35 | it : Iterator [] : Object | provenance | | +| Test.java:33:29:33:31 | out : Iterator [] : Object | Test.java:33:18:33:32 | getElement(...) | provenance | MaD:2 | +| Test.java:38:29:38:70 | (...)... : Stream [] : Object | Test.java:39:19:39:20 | in : Stream [] : Object | provenance | | +| Test.java:38:41:38:70 | of(...) : Stream [] : Object | Test.java:38:29:38:70 | (...)... : Stream [] : Object | provenance | | +| Test.java:38:51:38:69 | source(...) : Object | Test.java:38:41:38:70 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:39:19:39:20 | in : Stream [] : Object | Test.java:39:19:39:34 | onClose(...) : BaseStream [] : Object | provenance | MaD:5 | +| Test.java:39:19:39:34 | onClose(...) : BaseStream [] : Object | Test.java:40:29:40:31 | out : BaseStream [] : Object | provenance | | +| Test.java:40:29:40:31 | out : BaseStream [] : Object | Test.java:17:22:17:38 | s : BaseStream [] : Object | provenance | | +| Test.java:40:29:40:31 | out : BaseStream [] : Object | Test.java:40:18:40:32 | getElement(...) | provenance | MaD:4 | +| Test.java:45:29:45:71 | (...)... : Stream [] : Object | Test.java:46:19:46:20 | in : Stream [] : Object | provenance | | +| Test.java:45:41:45:71 | of(...) : Stream [] : Object | Test.java:45:29:45:71 | (...)... : Stream [] : Object | provenance | | +| Test.java:45:51:45:70 | source(...) : Object | Test.java:45:41:45:71 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:46:19:46:20 | in : Stream [] : Object | Test.java:46:19:46:31 | parallel(...) : BaseStream [] : Object | provenance | MaD:6 | +| Test.java:46:19:46:31 | parallel(...) : BaseStream [] : Object | Test.java:47:29:47:31 | out : BaseStream [] : Object | provenance | | +| Test.java:47:29:47:31 | out : BaseStream [] : Object | Test.java:17:22:17:38 | s : BaseStream [] : Object | provenance | | +| Test.java:47:29:47:31 | out : BaseStream [] : Object | Test.java:47:18:47:32 | getElement(...) | provenance | MaD:4 | +| Test.java:52:29:52:73 | (...)... : Stream [] : Object | Test.java:53:19:53:20 | in : Stream [] : Object | provenance | | +| Test.java:52:41:52:73 | of(...) : Stream [] : Object | Test.java:52:29:52:73 | (...)... : Stream [] : Object | provenance | | +| Test.java:52:51:52:72 | source(...) : Object | Test.java:52:41:52:73 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:53:19:53:20 | in : Stream [] : Object | Test.java:53:19:53:33 | sequential(...) : BaseStream [] : Object | provenance | MaD:7 | +| Test.java:53:19:53:33 | sequential(...) : BaseStream [] : Object | Test.java:54:29:54:31 | out : BaseStream [] : Object | provenance | | +| Test.java:54:29:54:31 | out : BaseStream [] : Object | Test.java:17:22:17:38 | s : BaseStream [] : Object | provenance | | +| Test.java:54:29:54:31 | out : BaseStream [] : Object | Test.java:54:18:54:32 | getElement(...) | provenance | MaD:4 | +| Test.java:59:29:59:74 | (...)... : Stream [] : Object | Test.java:60:19:60:20 | in : Stream [] : Object | provenance | | +| Test.java:59:41:59:74 | of(...) : Stream [] : Object | Test.java:59:29:59:74 | (...)... : Stream [] : Object | provenance | | +| Test.java:59:51:59:73 | source(...) : Object | Test.java:59:41:59:74 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:60:19:60:20 | in : Stream [] : Object | Test.java:60:19:60:34 | spliterator(...) : Spliterator [] : Object | provenance | MaD:8 | +| Test.java:60:19:60:34 | spliterator(...) : Spliterator [] : Object | Test.java:61:40:61:42 | out : Spliterator [] : Object | provenance | | +| Test.java:61:40:61:42 | out : Spliterator [] : Object | Test.java:61:18:61:43 | getElementSpliterator(...) | provenance | MaD:84 | +| Test.java:66:29:66:72 | (...)... : Stream [] : Object | Test.java:67:19:67:20 | in : Stream [] : Object | provenance | | +| Test.java:66:41:66:72 | of(...) : Stream [] : Object | Test.java:66:29:66:72 | (...)... : Stream [] : Object | provenance | | +| Test.java:66:51:66:71 | source(...) : Object | Test.java:66:41:66:72 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:67:19:67:20 | in : Stream [] : Object | Test.java:67:19:67:32 | unordered(...) : BaseStream [] : Object | provenance | MaD:9 | +| Test.java:67:19:67:32 | unordered(...) : BaseStream [] : Object | Test.java:68:29:68:31 | out : BaseStream [] : Object | provenance | | +| Test.java:68:29:68:31 | out : BaseStream [] : Object | Test.java:17:22:17:38 | s : BaseStream [] : Object | provenance | | +| Test.java:68:29:68:31 | out : BaseStream [] : Object | Test.java:68:18:68:32 | getElement(...) | provenance | MaD:4 | +| Test.java:73:25:73:61 | (...)... : Stream [] : Object | Test.java:74:33:74:34 | in : Stream [] : Object | provenance | | +| Test.java:73:33:73:61 | of(...) : Stream [] : Object | Test.java:73:25:73:61 | (...)... : Stream [] : Object | provenance | | +| Test.java:73:43:73:60 | source(...) : Object | Test.java:73:33:73:61 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:74:19:74:41 | concat(...) : Stream [] : Object | Test.java:75:29:75:31 | out : Stream [] : Object | provenance | | +| Test.java:74:33:74:34 | in : Stream [] : Object | Test.java:74:19:74:41 | concat(...) : Stream [] : Object | provenance | MaD:17 | +| Test.java:75:29:75:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:75:29:75:31 | out : Stream [] : Object | Test.java:75:18:75:32 | getElement(...) | provenance | MaD:4 | +| Test.java:80:25:80:61 | (...)... : Stream [] : Object | Test.java:81:39:81:40 | in : Stream [] : Object | provenance | | +| Test.java:80:33:80:61 | of(...) : Stream [] : Object | Test.java:80:25:80:61 | (...)... : Stream [] : Object | provenance | | +| Test.java:80:43:80:60 | source(...) : Object | Test.java:80:33:80:61 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:81:19:81:41 | concat(...) : Stream [] : Object | Test.java:82:29:82:31 | out : Stream [] : Object | provenance | | +| Test.java:81:39:81:40 | in : Stream [] : Object | Test.java:81:19:81:41 | concat(...) : Stream [] : Object | provenance | MaD:17 | +| Test.java:82:29:82:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:82:29:82:31 | out : Stream [] : Object | Test.java:82:18:82:32 | getElement(...) | provenance | MaD:4 | +| Test.java:87:25:87:63 | (...)... : Stream [] : Object | Test.java:88:19:88:20 | in : Stream [] : Object | provenance | | +| Test.java:87:33:87:63 | of(...) : Stream [] : Object | Test.java:87:25:87:63 | (...)... : Stream [] : Object | provenance | | +| Test.java:87:43:87:62 | source(...) : Object | Test.java:87:33:87:63 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:88:19:88:20 | in : Stream [] : Object | Test.java:88:19:88:31 | distinct(...) : Stream [] : Object | provenance | MaD:18 | +| Test.java:88:19:88:31 | distinct(...) : Stream [] : Object | Test.java:89:29:89:31 | out : Stream [] : Object | provenance | | +| Test.java:89:29:89:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:89:29:89:31 | out : Stream [] : Object | Test.java:89:18:89:32 | getElement(...) | provenance | MaD:4 | +| Test.java:94:25:94:64 | (...)... : Stream [] : Object | Test.java:95:19:95:20 | in : Stream [] : Object | provenance | | +| Test.java:94:33:94:64 | of(...) : Stream [] : Object | Test.java:94:25:94:64 | (...)... : Stream [] : Object | provenance | | +| Test.java:94:43:94:63 | source(...) : Object | Test.java:94:33:94:64 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:95:19:95:20 | in : Stream [] : Object | Test.java:95:19:95:36 | dropWhile(...) : Stream [] : Object | provenance | MaD:20 | +| Test.java:95:19:95:36 | dropWhile(...) : Stream [] : Object | Test.java:96:29:96:31 | out : Stream [] : Object | provenance | | +| Test.java:96:29:96:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:96:29:96:31 | out : Stream [] : Object | Test.java:96:18:96:32 | getElement(...) | provenance | MaD:4 | +| Test.java:101:25:101:61 | (...)... : Stream [] : Object | Test.java:102:19:102:20 | in : Stream [] : Object | provenance | | +| Test.java:101:33:101:61 | of(...) : Stream [] : Object | Test.java:101:25:101:61 | (...)... : Stream [] : Object | provenance | | +| Test.java:101:43:101:60 | source(...) : Object | Test.java:101:33:101:61 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:102:19:102:20 | in : Stream [] : Object | Test.java:102:19:102:33 | filter(...) : Stream [] : Object | provenance | MaD:22 | +| Test.java:102:19:102:33 | filter(...) : Stream [] : Object | Test.java:103:29:103:31 | out : Stream [] : Object | provenance | | +| Test.java:103:29:103:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:103:29:103:31 | out : Stream [] : Object | Test.java:103:18:103:32 | getElement(...) | provenance | MaD:4 | +| Test.java:108:25:108:62 | (...)... : Stream [] : Object | Test.java:109:19:109:20 | in : Stream [] : Object | provenance | | +| Test.java:108:33:108:62 | of(...) : Stream [] : Object | Test.java:108:25:108:62 | (...)... : Stream [] : Object | provenance | | +| Test.java:108:43:108:61 | source(...) : Object | Test.java:108:33:108:62 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:109:19:109:20 | in : Stream [] : Object | Test.java:109:19:109:30 | findAny(...) : Optional [] : Object | provenance | MaD:23 | +| Test.java:109:19:109:30 | findAny(...) : Optional [] : Object | Test.java:110:29:110:31 | out : Optional [] : Object | provenance | | +| Test.java:110:29:110:31 | out : Optional [] : Object | Test.java:20:22:20:34 | o : Optional [] : Object | provenance | | +| Test.java:110:29:110:31 | out : Optional [] : Object | Test.java:110:18:110:32 | getElement(...) | provenance | MaD:3 | +| Test.java:115:25:115:64 | (...)... : Stream [] : Object | Test.java:116:19:116:20 | in : Stream [] : Object | provenance | | +| Test.java:115:33:115:64 | of(...) : Stream [] : Object | Test.java:115:25:115:64 | (...)... : Stream [] : Object | provenance | | +| Test.java:115:43:115:63 | source(...) : Object | Test.java:115:33:115:64 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:116:19:116:20 | in : Stream [] : Object | Test.java:116:19:116:32 | findFirst(...) : Optional [] : Object | provenance | MaD:24 | +| Test.java:116:19:116:32 | findFirst(...) : Optional [] : Object | Test.java:117:29:117:31 | out : Optional [] : Object | provenance | | +| Test.java:117:29:117:31 | out : Optional [] : Object | Test.java:20:22:20:34 | o : Optional [] : Object | provenance | | +| Test.java:117:29:117:31 | out : Optional [] : Object | Test.java:117:18:117:32 | getElement(...) | provenance | MaD:3 | +| Test.java:122:25:122:60 | (...)... : Stream [] : Object | Test.java:123:19:123:20 | in : Stream [] : Object | provenance | | +| Test.java:122:33:122:60 | of(...) : Stream [] : Object | Test.java:122:25:122:60 | (...)... : Stream [] : Object | provenance | | +| Test.java:122:43:122:59 | source(...) : Object | Test.java:122:33:122:60 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:123:19:123:20 | in : Stream [] : Object | Test.java:123:19:123:30 | limit(...) : Stream [] : Object | provenance | MaD:41 | +| Test.java:123:19:123:30 | limit(...) : Stream [] : Object | Test.java:124:29:124:31 | out : Stream [] : Object | provenance | | +| Test.java:124:29:124:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:124:29:124:31 | out : Stream [] : Object | Test.java:124:18:124:32 | getElement(...) | provenance | MaD:4 | +| Test.java:129:25:129:58 | (...)... : Stream [] : Object | Test.java:130:19:130:20 | in : Stream [] : Object | provenance | | +| Test.java:129:33:129:58 | of(...) : Stream [] : Object | Test.java:129:25:129:58 | (...)... : Stream [] : Object | provenance | | +| Test.java:129:43:129:57 | source(...) : Object | Test.java:129:33:129:58 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:130:19:130:20 | in : Stream [] : Object | Test.java:130:19:130:30 | max(...) : Optional [] : Object | provenance | MaD:52 | +| Test.java:130:19:130:30 | max(...) : Optional [] : Object | Test.java:131:29:131:31 | out : Optional [] : Object | provenance | | +| Test.java:131:29:131:31 | out : Optional [] : Object | Test.java:20:22:20:34 | o : Optional [] : Object | provenance | | +| Test.java:131:29:131:31 | out : Optional [] : Object | Test.java:131:18:131:32 | getElement(...) | provenance | MaD:3 | +| Test.java:136:25:136:58 | (...)... : Stream [] : Object | Test.java:137:19:137:20 | in : Stream [] : Object | provenance | | +| Test.java:136:33:136:58 | of(...) : Stream [] : Object | Test.java:136:25:136:58 | (...)... : Stream [] : Object | provenance | | +| Test.java:136:43:136:57 | source(...) : Object | Test.java:136:33:136:58 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:137:19:137:20 | in : Stream [] : Object | Test.java:137:19:137:30 | min(...) : Optional [] : Object | provenance | MaD:54 | +| Test.java:137:19:137:30 | min(...) : Optional [] : Object | Test.java:138:29:138:31 | out : Optional [] : Object | provenance | | +| Test.java:138:29:138:31 | out : Optional [] : Object | Test.java:20:22:20:34 | o : Optional [] : Object | provenance | | +| Test.java:138:29:138:31 | out : Optional [] : Object | Test.java:138:18:138:32 | getElement(...) | provenance | MaD:3 | +| Test.java:143:25:143:46 | (...)... : Object | Test.java:144:29:144:30 | in : Object | provenance | | +| Test.java:143:33:143:46 | source(...) : Object | Test.java:143:25:143:46 | (...)... : Object | provenance | | +| Test.java:144:19:144:31 | of(...) : Stream [] : Object | Test.java:145:29:145:31 | out : Stream [] : Object | provenance | | +| Test.java:144:29:144:30 | in : Object | Test.java:144:19:144:31 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:145:29:145:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:145:29:145:31 | out : Stream [] : Object | Test.java:145:18:145:32 | getElement(...) | provenance | MaD:4 | +| Test.java:150:27:150:64 | (...)... : Object[] [[]] : Object | Test.java:151:29:151:30 | in : Object[] [[]] : Object | provenance | | +| Test.java:150:37:150:64 | {...} : Object[] [[]] : Object | Test.java:150:27:150:64 | (...)... : Object[] [[]] : Object | provenance | | +| Test.java:150:50:150:63 | source(...) : Object | Test.java:150:37:150:64 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:151:19:151:31 | of(...) : Stream [] : Object | Test.java:152:29:152:31 | out : Stream [] : Object | provenance | | +| Test.java:151:29:151:30 | in : Object[] [[]] : Object | Test.java:151:19:151:31 | of(...) : Stream [] : Object | provenance | MaD:57 | +| Test.java:152:29:152:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:152:29:152:31 | out : Stream [] : Object | Test.java:152:18:152:32 | getElement(...) | provenance | MaD:4 | +| Test.java:157:25:157:54 | (...)... : Object | Test.java:158:37:158:38 | in : Object | provenance | | +| Test.java:157:33:157:54 | source(...) : Object | Test.java:157:25:157:54 | (...)... : Object | provenance | | +| Test.java:158:19:158:39 | ofNullable(...) : Stream [] : Object | Test.java:159:29:159:31 | out : Stream [] : Object | provenance | | +| Test.java:158:37:158:38 | in : Object | Test.java:158:19:158:39 | ofNullable(...) : Stream [] : Object | provenance | MaD:58 | +| Test.java:159:29:159:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:159:29:159:31 | out : Stream [] : Object | Test.java:159:18:159:32 | getElement(...) | provenance | MaD:4 | +| Test.java:164:25:164:59 | (...)... : Stream [] : Object | Test.java:165:19:165:20 | in : Stream [] : Object | provenance | | +| Test.java:164:33:164:59 | of(...) : Stream [] : Object | Test.java:164:25:164:59 | (...)... : Stream [] : Object | provenance | | +| Test.java:164:43:164:58 | source(...) : Object | Test.java:164:33:164:59 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:165:19:165:20 | in : Stream [] : Object | Test.java:165:19:165:31 | peek(...) : Stream [] : Object | provenance | MaD:60 | +| Test.java:165:19:165:31 | peek(...) : Stream [] : Object | Test.java:166:29:166:31 | out : Stream [] : Object | provenance | | +| Test.java:166:29:166:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:166:29:166:31 | out : Stream [] : Object | Test.java:166:18:166:32 | getElement(...) | provenance | MaD:4 | +| Test.java:171:25:171:59 | (...)... : Stream [] : Object | Test.java:172:19:172:20 | in : Stream [] : Object | provenance | | +| Test.java:171:33:171:59 | of(...) : Stream [] : Object | Test.java:171:25:171:59 | (...)... : Stream [] : Object | provenance | | +| Test.java:171:43:171:58 | source(...) : Object | Test.java:171:33:171:59 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:172:19:172:20 | in : Stream [] : Object | Test.java:172:19:172:29 | skip(...) : Stream [] : Object | provenance | MaD:77 | +| Test.java:172:19:172:29 | skip(...) : Stream [] : Object | Test.java:173:29:173:31 | out : Stream [] : Object | provenance | | +| Test.java:173:29:173:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:173:29:173:31 | out : Stream [] : Object | Test.java:173:18:173:32 | getElement(...) | provenance | MaD:4 | +| Test.java:178:25:178:61 | (...)... : Stream [] : Object | Test.java:179:19:179:20 | in : Stream [] : Object | provenance | | +| Test.java:178:33:178:61 | of(...) : Stream [] : Object | Test.java:178:25:178:61 | (...)... : Stream [] : Object | provenance | | +| Test.java:178:43:178:60 | source(...) : Object | Test.java:178:33:178:61 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:179:19:179:20 | in : Stream [] : Object | Test.java:179:19:179:29 | sorted(...) : Stream [] : Object | provenance | MaD:78 | +| Test.java:179:19:179:29 | sorted(...) : Stream [] : Object | Test.java:180:29:180:31 | out : Stream [] : Object | provenance | | +| Test.java:180:29:180:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:180:29:180:31 | out : Stream [] : Object | Test.java:180:18:180:32 | getElement(...) | provenance | MaD:4 | +| Test.java:185:25:185:61 | (...)... : Stream [] : Object | Test.java:186:19:186:20 | in : Stream [] : Object | provenance | | +| Test.java:185:33:185:61 | of(...) : Stream [] : Object | Test.java:185:25:185:61 | (...)... : Stream [] : Object | provenance | | +| Test.java:185:43:185:60 | source(...) : Object | Test.java:185:33:185:61 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:186:19:186:20 | in : Stream [] : Object | Test.java:186:19:186:33 | sorted(...) : Stream [] : Object | provenance | MaD:78 | +| Test.java:186:19:186:33 | sorted(...) : Stream [] : Object | Test.java:187:29:187:31 | out : Stream [] : Object | provenance | | +| Test.java:187:29:187:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:187:29:187:31 | out : Stream [] : Object | Test.java:187:18:187:32 | getElement(...) | provenance | MaD:4 | +| Test.java:192:25:192:64 | (...)... : Stream [] : Object | Test.java:193:19:193:20 | in : Stream [] : Object | provenance | | +| Test.java:192:33:192:64 | of(...) : Stream [] : Object | Test.java:192:25:192:64 | (...)... : Stream [] : Object | provenance | | +| Test.java:192:43:192:63 | source(...) : Object | Test.java:192:33:192:64 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:193:19:193:20 | in : Stream [] : Object | Test.java:193:19:193:36 | takeWhile(...) : Stream [] : Object | provenance | MaD:81 | +| Test.java:193:19:193:36 | takeWhile(...) : Stream [] : Object | Test.java:194:29:194:31 | out : Stream [] : Object | provenance | | +| Test.java:194:29:194:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:194:29:194:31 | out : Stream [] : Object | Test.java:194:18:194:32 | getElement(...) | provenance | MaD:4 | +| Test.java:199:25:199:62 | (...)... : Stream [] : Object | Test.java:200:19:200:20 | in : Stream [] : Object | provenance | | +| Test.java:199:33:199:62 | of(...) : Stream [] : Object | Test.java:199:25:199:62 | (...)... : Stream [] : Object | provenance | | +| Test.java:199:43:199:61 | source(...) : Object | Test.java:199:33:199:62 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:200:19:200:20 | in : Stream [] : Object | Test.java:200:19:200:30 | toArray(...) : Object[] [[]] : Object | provenance | MaD:82 | +| Test.java:200:19:200:30 | toArray(...) : Object[] [[]] : Object | Test.java:201:34:201:36 | out : Object[] [[]] : Object | provenance | | +| Test.java:201:34:201:36 | out : Object[] [[]] : Object | Test.java:16:27:16:35 | array : Object[] [[]] : Object | provenance | | +| Test.java:201:34:201:36 | out : Object[] [[]] : Object | Test.java:201:18:201:37 | getArrayElement(...) | provenance | | +| Test.java:206:25:206:62 | (...)... : Stream [] : Object | Test.java:207:19:207:20 | in : Stream [] : Object | provenance | | +| Test.java:206:33:206:62 | of(...) : Stream [] : Object | Test.java:206:25:206:62 | (...)... : Stream [] : Object | provenance | | +| Test.java:206:43:206:61 | source(...) : Object | Test.java:206:33:206:62 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:207:19:207:20 | in : Stream [] : Object | Test.java:207:19:207:34 | toArray(...) : Object[] [[]] : Object | provenance | MaD:82 | +| Test.java:207:19:207:34 | toArray(...) : Object[] [[]] : Object | Test.java:208:34:208:36 | out : Object[] [[]] : Object | provenance | | +| Test.java:208:34:208:36 | out : Object[] [[]] : Object | Test.java:16:27:16:35 | array : Object[] [[]] : Object | provenance | | +| Test.java:208:34:208:36 | out : Object[] [[]] : Object | Test.java:208:18:208:37 | getArrayElement(...) | provenance | | +| Test.java:213:25:213:61 | (...)... : Stream [] : Object | Test.java:214:19:214:20 | in : Stream [] : Object | provenance | | +| Test.java:213:33:213:61 | of(...) : Stream [] : Object | Test.java:213:25:213:61 | (...)... : Stream [] : Object | provenance | | +| Test.java:213:43:213:60 | source(...) : Object | Test.java:213:33:213:61 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:214:19:214:20 | in : Stream [] : Object | Test.java:214:19:214:29 | toList(...) : List [] : Object | provenance | MaD:83 | +| Test.java:214:19:214:29 | toList(...) : List [] : Object | Test.java:215:29:215:31 | out : List [] : Object | provenance | | +| Test.java:215:29:215:31 | out : List [] : Object | Test.java:18:22:18:35 | it : List [] : Object | provenance | | +| Test.java:215:29:215:31 | out : List [] : Object | Test.java:215:18:215:32 | getElement(...) | provenance | MaD:1 | +| Test.java:221:33:221:61 | of(...) : Stream [] : Object | Test.java:222:13:222:14 | in : Stream [] : Object | provenance | | +| Test.java:221:43:221:60 | source(...) : Object | Test.java:221:33:221:61 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:222:13:222:14 | in : Stream [] : Object | Test.java:222:25:222:25 | x : Object | provenance | MaD:10 | +| Test.java:222:25:222:25 | x : Object | Test.java:222:37:222:37 | x | provenance | | +| Test.java:226:33:226:61 | of(...) : Stream [] : Object | Test.java:227:13:227:14 | in : Stream [] : Object | provenance | | +| Test.java:226:43:226:60 | source(...) : Object | Test.java:226:33:226:61 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:227:13:227:14 | in : Stream [] : Object | Test.java:227:25:227:25 | x : Object | provenance | MaD:11 | +| Test.java:227:25:227:25 | x : Object | Test.java:227:37:227:37 | x | provenance | | +| Test.java:231:33:231:60 | of(...) : Stream [] : Object | Test.java:232:13:232:14 | in : Stream [] : Object | provenance | | +| Test.java:231:43:231:59 | source(...) : Object | Test.java:231:33:231:60 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:232:13:232:14 | in : Stream [] : Object | Test.java:232:33:232:33 | x : Object | provenance | MaD:12 | +| Test.java:232:33:232:33 | x : Object | Test.java:232:44:232:44 | x | provenance | | +| Test.java:238:18:238:18 | a : Object[] [[]] : Object | Test.java:238:32:238:32 | a : Object[] [[]] : Object | provenance | | +| Test.java:238:32:238:32 | a : Object[] [[]] : Object | Test.java:238:32:238:35 | ...[...] | provenance | | +| Test.java:239:18:239:19 | a1 [Return] : Object[] [[]] : Object | Test.java:238:18:238:18 | a : Object[] [[]] : Object | provenance | MaD:16 | +| Test.java:239:18:239:19 | a1 [Return] : Object[] [[]] : Object | Test.java:238:18:238:18 | a : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | +| Test.java:239:18:239:19 | a1 [Return] : Object[] [[]] : Object | Test.java:250:18:250:18 | a : Object[] [[]] : Object | provenance | MaD:16 | +| Test.java:239:18:239:19 | a1 [Return] : Object[] [[]] : Object | Test.java:250:18:250:18 | a : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | +| Test.java:239:18:239:19 | a1 [Return] : Object[] [[]] : Object | Test.java:254:18:254:19 | a1 : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | +| Test.java:239:18:239:19 | a1 [Return] : Object[] [[]] : Object | Test.java:254:22:254:23 | a2 : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | +| Test.java:239:22:239:23 | a2 [Return] : Object[] [[]] : Object | Test.java:238:18:238:18 | a : Object[] [[]] : Object | provenance | MaD:16 | +| Test.java:239:22:239:23 | a2 [Return] : Object[] [[]] : Object | Test.java:238:18:238:18 | a : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | +| Test.java:239:22:239:23 | a2 [Return] : Object[] [[]] : Object | Test.java:250:18:250:18 | a : Object[] [[]] : Object | provenance | MaD:16 | +| Test.java:239:22:239:23 | a2 [Return] : Object[] [[]] : Object | Test.java:250:18:250:18 | a : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | +| Test.java:239:22:239:23 | a2 [Return] : Object[] [[]] : Object | Test.java:254:18:254:19 | a1 : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | +| Test.java:239:22:239:23 | a2 [Return] : Object[] [[]] : Object | Test.java:254:22:254:23 | a2 : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | +| Test.java:240:21:240:22 | a1 [post update] : Object[] [[]] : Object | Test.java:239:18:239:19 | a1 [Return] : Object[] [[]] : Object | provenance | | +| Test.java:240:29:240:47 | source(...) : Object | Test.java:240:21:240:22 | a1 [post update] : Object[] [[]] : Object | provenance | | +| Test.java:241:21:241:22 | a2 [post update] : Object[] [[]] : Object | Test.java:239:22:239:23 | a2 [Return] : Object[] [[]] : Object | provenance | | +| Test.java:241:29:241:47 | source(...) : Object | Test.java:241:21:241:22 | a2 [post update] : Object[] [[]] : Object | provenance | | +| Test.java:248:28:257:18 | collect(...) : Object[] [[]] : Object | Test.java:258:18:258:20 | out : Object[] [[]] : Object | provenance | | +| Test.java:249:23:249:58 | new Object[] : Object[] [[]] : Object | Test.java:238:18:238:18 | a : Object[] [[]] : Object | provenance | MaD:13 | +| Test.java:249:23:249:58 | new Object[] : Object[] [[]] : Object | Test.java:238:18:238:18 | a : Object[] [[]] : Object | provenance | MaD:13+MaD:14 | +| Test.java:249:23:249:58 | new Object[] : Object[] [[]] : Object | Test.java:248:28:257:18 | collect(...) : Object[] [[]] : Object | provenance | MaD:13+MaD:14 | +| Test.java:249:23:249:58 | new Object[] : Object[] [[]] : Object | Test.java:248:28:257:18 | collect(...) : Object[] [[]] : Object | provenance | MaD:13+MaD:15 | +| Test.java:249:23:249:58 | new Object[] : Object[] [[]] : Object | Test.java:250:18:250:18 | a : Object[] [[]] : Object | provenance | MaD:13 | +| Test.java:249:23:249:58 | new Object[] : Object[] [[]] : Object | Test.java:250:18:250:18 | a : Object[] [[]] : Object | provenance | MaD:13+MaD:14 | +| Test.java:249:23:249:58 | new Object[] : Object[] [[]] : Object | Test.java:254:18:254:19 | a1 : Object[] [[]] : Object | provenance | MaD:13+MaD:14 | +| Test.java:249:23:249:58 | new Object[] : Object[] [[]] : Object | Test.java:254:22:254:23 | a2 : Object[] [[]] : Object | provenance | MaD:13+MaD:14 | +| Test.java:249:23:249:58 | {...} : Object[] [[]] : Object | Test.java:249:23:249:58 | new Object[] : Object[] [[]] : Object | provenance | | +| Test.java:249:38:249:56 | source(...) : Object | Test.java:249:23:249:58 | {...} : Object[] [[]] : Object | provenance | | +| Test.java:250:18:250:18 | a : Object[] [[]] : Object | Test.java:251:26:251:26 | a : Object[] [[]] : Object | provenance | | +| Test.java:250:18:250:18 | a [Return] : Object[] [[]] : Object | Test.java:238:18:238:18 | a : Object[] [[]] : Object | provenance | MaD:14 | +| Test.java:250:18:250:18 | a [Return] : Object[] [[]] : Object | Test.java:238:18:238:18 | a : Object[] [[]] : Object | provenance | MaD:14+MaD:16 | +| Test.java:250:18:250:18 | a [Return] : Object[] [[]] : Object | Test.java:248:28:257:18 | collect(...) : Object[] [[]] : Object | provenance | MaD:14 | +| Test.java:250:18:250:18 | a [Return] : Object[] [[]] : Object | Test.java:248:28:257:18 | collect(...) : Object[] [[]] : Object | provenance | MaD:15 | +| Test.java:250:18:250:18 | a [Return] : Object[] [[]] : Object | Test.java:250:18:250:18 | a : Object[] [[]] : Object | provenance | MaD:14 | +| Test.java:250:18:250:18 | a [Return] : Object[] [[]] : Object | Test.java:250:18:250:18 | a : Object[] [[]] : Object | provenance | MaD:14+MaD:16 | +| Test.java:250:18:250:18 | a [Return] : Object[] [[]] : Object | Test.java:254:18:254:19 | a1 : Object[] [[]] : Object | provenance | MaD:14 | +| Test.java:250:18:250:18 | a [Return] : Object[] [[]] : Object | Test.java:254:22:254:23 | a2 : Object[] [[]] : Object | provenance | MaD:14 | +| Test.java:251:26:251:26 | a : Object[] [[]] : Object | Test.java:251:26:251:29 | ...[...] | provenance | | +| Test.java:252:21:252:21 | a [post update] : Object[] [[]] : Object | Test.java:250:18:250:18 | a [Return] : Object[] [[]] : Object | provenance | | +| Test.java:252:28:252:46 | source(...) : Object | Test.java:252:21:252:21 | a [post update] : Object[] [[]] : Object | provenance | | +| Test.java:254:18:254:19 | a1 : Object[] [[]] : Object | Test.java:255:26:255:27 | a1 : Object[] [[]] : Object | provenance | | +| Test.java:254:22:254:23 | a2 : Object[] [[]] : Object | Test.java:256:26:256:27 | a2 : Object[] [[]] : Object | provenance | | +| Test.java:255:26:255:27 | a1 : Object[] [[]] : Object | Test.java:255:26:255:30 | ...[...] | provenance | | +| Test.java:256:26:256:27 | a2 : Object[] [[]] : Object | Test.java:256:26:256:30 | ...[...] | provenance | | +| Test.java:258:18:258:20 | out : Object[] [[]] : Object | Test.java:258:18:258:23 | ...[...] | provenance | | +| Test.java:261:33:261:62 | of(...) : Stream [] : Object | Test.java:262:28:262:29 | in : Stream [] : Object | provenance | | +| Test.java:261:43:261:61 | source(...) : Object | Test.java:261:33:261:62 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:262:28:262:29 | in : Stream [] : Object | Test.java:262:28:268:18 | collect(...) : Object[] [[]] : Object | provenance | MaD:12 | +| Test.java:262:28:262:29 | in : Stream [] : Object | Test.java:264:21:264:21 | x : Object | provenance | MaD:12 | +| Test.java:262:28:268:18 | collect(...) : Object[] [[]] : Object | Test.java:269:18:269:20 | out : Object[] [[]] : Object | provenance | | +| Test.java:264:21:264:21 | x : Object | Test.java:264:36:264:36 | x : Object | provenance | | +| Test.java:264:29:264:29 | a [post update] : Object[] [[]] : Object | Test.java:264:18:264:18 | a [Return] : Object[] [[]] : Object | provenance | | +| Test.java:264:36:264:36 | x : Object | Test.java:264:29:264:29 | a [post update] : Object[] [[]] : Object | provenance | | +| Test.java:269:18:269:20 | out : Object[] [[]] : Object | Test.java:269:18:269:23 | ...[...] | provenance | | +| Test.java:273:33:273:62 | of(...) : Stream [] : Object | Test.java:274:13:274:14 | in : Stream [] : Object | provenance | | +| Test.java:273:43:273:61 | source(...) : Object | Test.java:273:33:273:62 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:274:13:274:14 | in : Stream [] : Object | Test.java:274:26:274:26 | x : Object | provenance | MaD:19 | +| Test.java:274:26:274:26 | x : Object | Test.java:274:38:274:38 | x | provenance | | +| Test.java:278:33:278:59 | of(...) : Stream [] : Object | Test.java:279:13:279:14 | in : Stream [] : Object | provenance | | +| Test.java:278:43:278:58 | source(...) : Object | Test.java:278:33:278:59 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:279:13:279:14 | in : Stream [] : Object | Test.java:279:23:279:23 | x : Object | provenance | MaD:21 | +| Test.java:279:23:279:23 | x : Object | Test.java:279:35:279:35 | x | provenance | | +| Test.java:283:33:283:60 | of(...) : Stream [] : Object | Test.java:284:13:284:14 | in : Stream [] : Object | provenance | | +| Test.java:283:43:283:59 | source(...) : Object | Test.java:283:33:283:60 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:284:13:284:14 | in : Stream [] : Object | Test.java:284:24:284:24 | x : Object | provenance | MaD:25 | +| Test.java:284:24:284:24 | x : Object | Test.java:284:36:284:36 | x | provenance | | +| Test.java:288:34:288:101 | flatMap(...) : Stream [] : Object | Test.java:289:29:289:31 | out : Stream [] : Object | provenance | | +| Test.java:288:71:288:100 | of(...) : Stream [] : Object | Test.java:288:34:288:101 | flatMap(...) : Stream [] : Object | provenance | MaD:26 | +| Test.java:288:81:288:99 | source(...) : Object | Test.java:288:71:288:100 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:289:29:289:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:289:29:289:31 | out : Stream [] : Object | Test.java:289:18:289:32 | getElement(...) | provenance | MaD:4 | +| Test.java:293:33:293:68 | of(...) : Stream [] : Object | Test.java:294:13:294:14 | in : Stream [] : Object | provenance | | +| Test.java:293:43:293:67 | source(...) : Object | Test.java:293:33:293:68 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:294:13:294:14 | in : Stream [] : Object | Test.java:294:32:294:32 | x : Object | provenance | MaD:27 | +| Test.java:294:32:294:32 | x : Object | Test.java:294:44:294:44 | x | provenance | | +| Test.java:298:33:298:65 | of(...) : Stream [] : Object | Test.java:299:13:299:14 | in : Stream [] : Object | provenance | | +| Test.java:298:43:298:64 | source(...) : Object | Test.java:298:33:298:65 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:299:13:299:14 | in : Stream [] : Object | Test.java:299:29:299:29 | x : Object | provenance | MaD:28 | +| Test.java:299:29:299:29 | x : Object | Test.java:299:41:299:41 | x | provenance | | +| Test.java:303:33:303:66 | of(...) : Stream [] : Object | Test.java:304:13:304:14 | in : Stream [] : Object | provenance | | +| Test.java:303:43:303:65 | source(...) : Object | Test.java:303:33:303:66 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:304:13:304:14 | in : Stream [] : Object | Test.java:304:30:304:30 | x : Object | provenance | MaD:29 | +| Test.java:304:30:304:30 | x : Object | Test.java:304:42:304:42 | x | provenance | | +| Test.java:308:33:308:60 | of(...) : Stream [] : Object | Test.java:309:13:309:14 | in : Stream [] : Object | provenance | | +| Test.java:308:43:308:59 | source(...) : Object | Test.java:308:33:308:60 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:309:13:309:14 | in : Stream [] : Object | Test.java:309:24:309:24 | x : Object | provenance | MaD:30 | +| Test.java:309:24:309:24 | x : Object | Test.java:309:34:309:34 | x | provenance | | +| Test.java:313:33:313:67 | of(...) : Stream [] : Object | Test.java:314:13:314:14 | in : Stream [] : Object | provenance | | +| Test.java:313:43:313:66 | source(...) : Object | Test.java:313:33:313:67 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:314:13:314:14 | in : Stream [] : Object | Test.java:314:31:314:31 | x : Object | provenance | MaD:31 | +| Test.java:314:31:314:31 | x : Object | Test.java:314:41:314:41 | x | provenance | | +| Test.java:318:34:318:74 | generate(...) : Stream [] : Object | Test.java:319:29:319:31 | out : Stream [] : Object | provenance | | +| Test.java:318:56:318:73 | source(...) : Object | Test.java:318:34:318:74 | generate(...) : Stream [] : Object | provenance | MaD:32 | +| Test.java:319:29:319:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:319:29:319:31 | out : Stream [] : Object | Test.java:319:18:319:32 | getElement(...) | provenance | MaD:4 | +| Test.java:327:25:327:51 | (...)... : Object | Test.java:328:34:328:35 | in : Object | provenance | | +| Test.java:327:33:327:51 | source(...) : Object | Test.java:327:25:327:51 | (...)... : Object | provenance | | +| Test.java:328:19:334:16 | iterate(...) : Stream [] : Object | Test.java:335:29:335:31 | out : Stream [] : Object | provenance | | +| Test.java:328:34:328:35 | in : Object | Test.java:328:19:334:16 | iterate(...) : Stream [] : Object | provenance | MaD:34 | +| Test.java:328:34:328:35 | in : Object | Test.java:328:38:328:38 | x : Object | provenance | MaD:33 | +| Test.java:328:34:328:35 | in : Object | Test.java:331:18:331:18 | x : Object | provenance | MaD:33 | +| Test.java:328:38:328:38 | x : Object | Test.java:329:24:329:24 | x | provenance | | +| Test.java:331:18:331:18 | x : Object | Test.java:332:24:332:24 | x | provenance | | +| Test.java:333:26:333:44 | source(...) : Object | Test.java:328:19:334:16 | iterate(...) : Stream [] : Object | provenance | MaD:36 | +| Test.java:333:26:333:44 | source(...) : Object | Test.java:328:38:328:38 | x : Object | provenance | MaD:35 | +| Test.java:333:26:333:44 | source(...) : Object | Test.java:331:18:331:18 | x : Object | provenance | MaD:35 | +| Test.java:335:29:335:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:335:29:335:31 | out : Stream [] : Object | Test.java:335:18:335:32 | getElement(...) | provenance | MaD:4 | +| Test.java:343:25:343:51 | (...)... : Object | Test.java:344:34:344:35 | in : Object | provenance | | +| Test.java:343:33:343:51 | source(...) : Object | Test.java:343:25:343:51 | (...)... : Object | provenance | | +| Test.java:344:19:347:16 | iterate(...) : Stream [] : Object | Test.java:348:29:348:31 | out : Stream [] : Object | provenance | | +| Test.java:344:34:344:35 | in : Object | Test.java:344:19:347:16 | iterate(...) : Stream [] : Object | provenance | MaD:38 | +| Test.java:344:34:344:35 | in : Object | Test.java:344:38:344:38 | x : Object | provenance | MaD:37 | +| Test.java:344:38:344:38 | x : Object | Test.java:345:24:345:24 | x | provenance | | +| Test.java:346:26:346:44 | source(...) : Object | Test.java:344:19:347:16 | iterate(...) : Stream [] : Object | provenance | MaD:40 | +| Test.java:346:26:346:44 | source(...) : Object | Test.java:344:38:344:38 | x : Object | provenance | MaD:39 | +| Test.java:348:29:348:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:348:29:348:31 | out : Stream [] : Object | Test.java:348:18:348:32 | getElement(...) | provenance | MaD:4 | +| Test.java:353:33:353:58 | of(...) : Stream [] : Object | Test.java:354:34:354:35 | in : Stream [] : Object | provenance | | +| Test.java:353:43:353:57 | source(...) : Object | Test.java:353:33:353:58 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:354:34:354:35 | in : Stream [] : Object | Test.java:354:41:354:41 | x : Object | provenance | MaD:42 | +| Test.java:354:34:354:82 | map(...) : Stream [] : Object | Test.java:355:29:355:31 | out : Stream [] : Object | provenance | | +| Test.java:354:41:354:41 | x : Object | Test.java:354:53:354:53 | x | provenance | | +| Test.java:354:64:354:78 | source(...) : Object | Test.java:354:34:354:82 | map(...) : Stream [] : Object | provenance | MaD:43 | +| Test.java:355:29:355:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | provenance | | +| Test.java:355:29:355:31 | out : Stream [] : Object | Test.java:355:18:355:32 | getElement(...) | provenance | MaD:4 | +| Test.java:359:33:359:61 | of(...) : Stream [] : Object | Test.java:360:13:360:14 | in : Stream [] : Object | provenance | | +| Test.java:359:43:359:60 | source(...) : Object | Test.java:359:33:359:61 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:360:13:360:14 | in : Stream [] : Object | Test.java:360:26:360:26 | x : Object | provenance | MaD:44 | +| Test.java:360:26:360:26 | x : Object | Test.java:360:47:360:47 | x | provenance | | +| Test.java:364:33:364:69 | of(...) : Stream [] : Object | Test.java:365:13:365:14 | in : Stream [] : Object | provenance | | +| Test.java:364:43:364:68 | source(...) : Object | Test.java:364:33:364:69 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:365:13:365:14 | in : Stream [] : Object | Test.java:365:34:365:34 | x : Object | provenance | MaD:45 | +| Test.java:365:34:365:34 | x : Object | Test.java:365:55:365:55 | x | provenance | | +| Test.java:369:33:369:66 | of(...) : Stream [] : Object | Test.java:370:13:370:14 | in : Stream [] : Object | provenance | | +| Test.java:369:43:369:65 | source(...) : Object | Test.java:369:33:369:66 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:370:13:370:14 | in : Stream [] : Object | Test.java:370:31:370:31 | x : Object | provenance | MaD:46 | +| Test.java:370:31:370:31 | x : Object | Test.java:370:52:370:52 | x | provenance | | +| Test.java:374:33:374:67 | of(...) : Stream [] : Object | Test.java:375:13:375:14 | in : Stream [] : Object | provenance | | +| Test.java:374:43:374:66 | source(...) : Object | Test.java:374:33:374:67 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:375:13:375:14 | in : Stream [] : Object | Test.java:375:32:375:32 | x : Object | provenance | MaD:47 | +| Test.java:375:32:375:32 | x : Object | Test.java:375:53:375:53 | x | provenance | | +| Test.java:379:33:379:64 | of(...) : Stream [] : Object | Test.java:380:13:380:14 | in : Stream [] : Object | provenance | | +| Test.java:379:43:379:63 | source(...) : Object | Test.java:379:33:379:64 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:380:13:380:14 | in : Stream [] : Object | Test.java:380:28:380:28 | x : Object | provenance | MaD:48 | +| Test.java:380:28:380:28 | x : Object | Test.java:380:40:380:40 | x | provenance | | +| Test.java:384:33:384:61 | of(...) : Stream [] : Object | Test.java:385:13:385:14 | in : Stream [] : Object | provenance | | +| Test.java:384:43:384:60 | source(...) : Object | Test.java:384:33:384:61 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:385:13:385:14 | in : Stream [] : Object | Test.java:385:25:385:25 | x : Object | provenance | MaD:49 | +| Test.java:385:25:385:25 | x : Object | Test.java:385:37:385:37 | x | provenance | | +| Test.java:389:33:389:62 | of(...) : Stream [] : Object | Test.java:390:13:390:14 | in : Stream [] : Object | provenance | | +| Test.java:389:43:389:61 | source(...) : Object | Test.java:389:33:389:62 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:390:13:390:14 | in : Stream [] : Object | Test.java:390:26:390:26 | x : Object | provenance | MaD:50 | +| Test.java:390:26:390:26 | x : Object | Test.java:390:38:390:38 | x | provenance | | +| Test.java:394:33:394:56 | of(...) : Stream [] : Object | Test.java:395:13:395:14 | in : Stream [] : Object | provenance | | +| Test.java:394:33:394:56 | of(...) : Stream [] : Object | Test.java:396:13:396:14 | in : Stream [] : Object | provenance | | +| Test.java:394:43:394:55 | source(...) : Object | Test.java:394:33:394:56 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:395:13:395:14 | in : Stream [] : Object | Test.java:395:21:395:21 | x : Object | provenance | MaD:51 | +| Test.java:395:21:395:21 | x : Object | Test.java:395:36:395:36 | x | provenance | | +| Test.java:396:13:396:14 | in : Stream [] : Object | Test.java:396:23:396:23 | y : Object | provenance | MaD:51 | +| Test.java:396:23:396:23 | y : Object | Test.java:396:36:396:36 | y | provenance | | +| Test.java:400:33:400:56 | of(...) : Stream [] : Object | Test.java:401:13:401:14 | in : Stream [] : Object | provenance | | +| Test.java:400:33:400:56 | of(...) : Stream [] : Object | Test.java:402:13:402:14 | in : Stream [] : Object | provenance | | +| Test.java:400:43:400:55 | source(...) : Object | Test.java:400:33:400:56 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:401:13:401:14 | in : Stream [] : Object | Test.java:401:21:401:21 | x : Object | provenance | MaD:53 | +| Test.java:401:21:401:21 | x : Object | Test.java:401:36:401:36 | x | provenance | | +| Test.java:402:13:402:14 | in : Stream [] : Object | Test.java:402:23:402:23 | y : Object | provenance | MaD:53 | +| Test.java:402:23:402:23 | y : Object | Test.java:402:36:402:36 | y | provenance | | +| Test.java:406:33:406:62 | of(...) : Stream [] : Object | Test.java:407:13:407:14 | in : Stream [] : Object | provenance | | +| Test.java:406:43:406:61 | source(...) : Object | Test.java:406:33:406:62 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:407:13:407:14 | in : Stream [] : Object | Test.java:407:26:407:26 | x : Object | provenance | MaD:55 | +| Test.java:407:26:407:26 | x : Object | Test.java:407:38:407:38 | x | provenance | | +| Test.java:411:33:411:57 | of(...) : Stream [] : Object | Test.java:412:13:412:14 | in : Stream [] : Object | provenance | | +| Test.java:411:43:411:56 | source(...) : Object | Test.java:411:33:411:57 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:412:13:412:14 | in : Stream [] : Object | Test.java:412:21:412:21 | x : Object | provenance | MaD:59 | +| Test.java:412:21:412:21 | x : Object | Test.java:412:31:412:31 | x | provenance | | +| Test.java:419:33:419:61 | of(...) : Stream [] : Object | Test.java:420:36:420:37 | in : Stream [] : Object | provenance | | +| Test.java:419:43:419:60 | source(...) : Object | Test.java:419:33:419:61 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:420:36:420:37 | in : Stream [] : Object | Test.java:420:36:424:18 | reduce(...) : Optional [] : Object | provenance | MaD:62 | +| Test.java:420:36:420:37 | in : Stream [] : Object | Test.java:420:47:420:47 | x : Object | provenance | MaD:61 | +| Test.java:420:36:420:37 | in : Stream [] : Object | Test.java:420:49:420:49 | y : Object | provenance | MaD:61 | +| Test.java:420:36:424:18 | reduce(...) : Optional [] : Object | Test.java:425:29:425:31 | out : Optional [] : Object | provenance | | +| Test.java:420:47:420:47 | x : Object | Test.java:421:26:421:26 | x | provenance | | +| Test.java:420:49:420:49 | y : Object | Test.java:422:26:422:26 | y | provenance | | +| Test.java:423:28:423:45 | source(...) : Object | Test.java:420:36:424:18 | reduce(...) : Optional [] : Object | provenance | MaD:64 | +| Test.java:423:28:423:45 | source(...) : Object | Test.java:420:47:420:47 | x : Object | provenance | MaD:63 | +| Test.java:423:28:423:45 | source(...) : Object | Test.java:420:49:420:49 | y : Object | provenance | MaD:63 | +| Test.java:425:29:425:31 | out : Optional [] : Object | Test.java:20:22:20:34 | o : Optional [] : Object | provenance | | +| Test.java:425:29:425:31 | out : Optional [] : Object | Test.java:425:18:425:32 | getElement(...) | provenance | MaD:3 | +| Test.java:433:33:433:61 | of(...) : Stream [] : Object | Test.java:434:26:434:27 | in : Stream [] : Object | provenance | | +| Test.java:433:43:433:60 | source(...) : Object | Test.java:433:33:433:61 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:434:26:434:27 | in : Stream [] : Object | Test.java:434:57:434:57 | x : Object | provenance | MaD:72 | +| Test.java:434:26:434:27 | in : Stream [] : Object | Test.java:434:59:434:59 | y : Object | provenance | MaD:72 | +| Test.java:434:26:438:18 | reduce(...) : Object | Test.java:439:18:439:20 | out | provenance | | +| Test.java:434:36:434:53 | source(...) : Object | Test.java:434:26:438:18 | reduce(...) : Object | provenance | MaD:74 | +| Test.java:434:36:434:53 | source(...) : Object | Test.java:434:57:434:57 | x : Object | provenance | MaD:73 | +| Test.java:434:36:434:53 | source(...) : Object | Test.java:434:59:434:59 | y : Object | provenance | MaD:73 | +| Test.java:434:57:434:57 | x : Object | Test.java:435:26:435:26 | x | provenance | | +| Test.java:434:59:434:59 | y : Object | Test.java:436:26:436:26 | y | provenance | | +| Test.java:437:28:437:45 | source(...) : Object | Test.java:434:26:438:18 | reduce(...) : Object | provenance | MaD:76 | +| Test.java:437:28:437:45 | source(...) : Object | Test.java:434:57:434:57 | x : Object | provenance | MaD:75 | +| Test.java:437:28:437:45 | source(...) : Object | Test.java:434:59:434:59 | y : Object | provenance | MaD:75 | +| Test.java:449:33:449:61 | of(...) : Stream [] : Object | Test.java:450:26:450:27 | in : Stream [] : Object | provenance | | +| Test.java:449:43:449:60 | source(...) : Object | Test.java:449:33:449:61 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:450:26:450:27 | in : Stream [] : Object | Test.java:450:59:450:59 | y : Object | provenance | MaD:65 | +| Test.java:450:26:458:18 | reduce(...) : Object | Test.java:459:18:459:20 | out | provenance | | +| Test.java:450:36:450:53 | source(...) : Object | Test.java:450:26:458:18 | reduce(...) : Object | provenance | MaD:68 | +| Test.java:450:36:450:53 | source(...) : Object | Test.java:450:57:450:57 | x : Object | provenance | MaD:66 | +| Test.java:450:36:450:53 | source(...) : Object | Test.java:454:21:454:21 | x : Object | provenance | MaD:67 | +| Test.java:450:36:450:53 | source(...) : Object | Test.java:454:23:454:23 | y : Object | provenance | MaD:67 | +| Test.java:450:57:450:57 | x : Object | Test.java:451:26:451:26 | x | provenance | | +| Test.java:450:59:450:59 | y : Object | Test.java:452:26:452:26 | y | provenance | | +| Test.java:453:28:453:45 | source(...) : Object | Test.java:450:26:458:18 | reduce(...) : Object | provenance | MaD:71 | +| Test.java:453:28:453:45 | source(...) : Object | Test.java:450:57:450:57 | x : Object | provenance | MaD:69 | +| Test.java:453:28:453:45 | source(...) : Object | Test.java:454:21:454:21 | x : Object | provenance | MaD:70 | +| Test.java:453:28:453:45 | source(...) : Object | Test.java:454:23:454:23 | y : Object | provenance | MaD:70 | +| Test.java:454:21:454:21 | x : Object | Test.java:455:26:455:26 | x | provenance | | +| Test.java:454:23:454:23 | y : Object | Test.java:456:26:456:26 | y | provenance | | +| Test.java:457:28:457:45 | source(...) : Object | Test.java:450:26:458:18 | reduce(...) : Object | provenance | MaD:71 | +| Test.java:457:28:457:45 | source(...) : Object | Test.java:450:57:450:57 | x : Object | provenance | MaD:69 | +| Test.java:457:28:457:45 | source(...) : Object | Test.java:454:21:454:21 | x : Object | provenance | MaD:70 | +| Test.java:457:28:457:45 | source(...) : Object | Test.java:454:23:454:23 | y : Object | provenance | MaD:70 | +| Test.java:463:33:463:59 | of(...) : Stream [] : Object | Test.java:464:13:464:14 | in : Stream [] : Object | provenance | | +| Test.java:463:33:463:59 | of(...) : Stream [] : Object | Test.java:465:13:465:14 | in : Stream [] : Object | provenance | | +| Test.java:463:43:463:58 | source(...) : Object | Test.java:463:33:463:59 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:464:13:464:14 | in : Stream [] : Object | Test.java:464:24:464:24 | x : Object | provenance | MaD:79 | +| Test.java:464:24:464:24 | x : Object | Test.java:464:39:464:39 | x | provenance | | +| Test.java:465:13:465:14 | in : Stream [] : Object | Test.java:465:26:465:26 | y : Object | provenance | MaD:79 | +| Test.java:465:26:465:26 | y : Object | Test.java:465:39:465:39 | y | provenance | | +| Test.java:469:33:469:62 | of(...) : Stream [] : Object | Test.java:470:13:470:14 | in : Stream [] : Object | provenance | | +| Test.java:469:43:469:61 | source(...) : Object | Test.java:469:33:469:62 | of(...) : Stream [] : Object | provenance | MaD:56 | +| Test.java:470:13:470:14 | in : Stream [] : Object | Test.java:470:26:470:26 | x : Object | provenance | MaD:80 | +| Test.java:470:26:470:26 | x : Object | Test.java:470:38:470:38 | x | provenance | | +nodes +| Test.java:16:27:16:35 | array : Object[] [[]] : Object | semmle.label | array : Object[] [[]] : Object | +| Test.java:16:47:16:51 | array : Object[] [[]] : Object | semmle.label | array : Object[] [[]] : Object | +| Test.java:16:47:16:54 | ...[...] : Object | semmle.label | ...[...] : Object | +| Test.java:17:22:17:38 | s : BaseStream [] : Object | semmle.label | s : BaseStream [] : Object | +| Test.java:17:22:17:38 | s : Stream [] : Object | semmle.label | s : Stream [] : Object | +| Test.java:17:50:17:50 | s : BaseStream [] : Object | semmle.label | s : BaseStream [] : Object | +| Test.java:17:50:17:50 | s : Stream [] : Object | semmle.label | s : Stream [] : Object | +| Test.java:17:50:17:61 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:17:50:17:61 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:17:50:17:68 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:17:50:17:68 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:18:22:18:35 | it : List [] : Object | semmle.label | it : List [] : Object | +| Test.java:18:47:18:48 | it : List [] : Object | semmle.label | it : List [] : Object | +| Test.java:18:47:18:59 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:18:47:18:66 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:19:22:19:35 | it : Iterator [] : Object | semmle.label | it : Iterator [] : Object | +| Test.java:19:47:19:48 | it : Iterator [] : Object | semmle.label | it : Iterator [] : Object | +| Test.java:19:47:19:55 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:20:22:20:34 | o : Optional [] : Object | semmle.label | o : Optional [] : Object | +| Test.java:20:46:20:46 | o : Optional [] : Object | semmle.label | o : Optional [] : Object | +| Test.java:20:46:20:52 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:31:29:31:71 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:31:41:31:71 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:31:51:31:70 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:32:19:32:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:32:19:32:31 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | +| Test.java:33:18:33:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:33:29:33:31 | out : Iterator [] : Object | semmle.label | out : Iterator [] : Object | +| Test.java:38:29:38:70 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:38:41:38:70 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:38:51:38:69 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:39:19:39:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:39:19:39:34 | onClose(...) : BaseStream [] : Object | semmle.label | onClose(...) : BaseStream [] : Object | +| Test.java:40:18:40:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:40:29:40:31 | out : BaseStream [] : Object | semmle.label | out : BaseStream [] : Object | +| Test.java:45:29:45:71 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:45:41:45:71 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:45:51:45:70 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:46:19:46:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:46:19:46:31 | parallel(...) : BaseStream [] : Object | semmle.label | parallel(...) : BaseStream [] : Object | +| Test.java:47:18:47:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:47:29:47:31 | out : BaseStream [] : Object | semmle.label | out : BaseStream [] : Object | +| Test.java:52:29:52:73 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:52:41:52:73 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:52:51:52:72 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:53:19:53:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:53:19:53:33 | sequential(...) : BaseStream [] : Object | semmle.label | sequential(...) : BaseStream [] : Object | +| Test.java:54:18:54:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:54:29:54:31 | out : BaseStream [] : Object | semmle.label | out : BaseStream [] : Object | +| Test.java:59:29:59:74 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:59:41:59:74 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:59:51:59:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:60:19:60:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:60:19:60:34 | spliterator(...) : Spliterator [] : Object | semmle.label | spliterator(...) : Spliterator [] : Object | +| Test.java:61:18:61:43 | getElementSpliterator(...) | semmle.label | getElementSpliterator(...) | +| Test.java:61:40:61:42 | out : Spliterator [] : Object | semmle.label | out : Spliterator [] : Object | +| Test.java:66:29:66:72 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:66:41:66:72 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:66:51:66:71 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:67:19:67:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:67:19:67:32 | unordered(...) : BaseStream [] : Object | semmle.label | unordered(...) : BaseStream [] : Object | +| Test.java:68:18:68:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:68:29:68:31 | out : BaseStream [] : Object | semmle.label | out : BaseStream [] : Object | +| Test.java:73:25:73:61 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:73:33:73:61 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:73:43:73:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:74:19:74:41 | concat(...) : Stream [] : Object | semmle.label | concat(...) : Stream [] : Object | +| Test.java:74:33:74:34 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:75:18:75:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:75:29:75:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:80:25:80:61 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:80:33:80:61 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:80:43:80:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:81:19:81:41 | concat(...) : Stream [] : Object | semmle.label | concat(...) : Stream [] : Object | +| Test.java:81:39:81:40 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:82:18:82:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:82:29:82:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:87:25:87:63 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:87:33:87:63 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:87:43:87:62 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:88:19:88:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:88:19:88:31 | distinct(...) : Stream [] : Object | semmle.label | distinct(...) : Stream [] : Object | +| Test.java:89:18:89:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:89:29:89:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:94:25:94:64 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:94:33:94:64 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:94:43:94:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:95:19:95:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:95:19:95:36 | dropWhile(...) : Stream [] : Object | semmle.label | dropWhile(...) : Stream [] : Object | +| Test.java:96:18:96:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:96:29:96:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:101:25:101:61 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:101:33:101:61 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:101:43:101:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:102:19:102:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:102:19:102:33 | filter(...) : Stream [] : Object | semmle.label | filter(...) : Stream [] : Object | +| Test.java:103:18:103:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:103:29:103:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:108:25:108:62 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:108:33:108:62 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:108:43:108:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:109:19:109:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:109:19:109:30 | findAny(...) : Optional [] : Object | semmle.label | findAny(...) : Optional [] : Object | +| Test.java:110:18:110:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:110:29:110:31 | out : Optional [] : Object | semmle.label | out : Optional [] : Object | +| Test.java:115:25:115:64 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:115:33:115:64 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:115:43:115:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:116:19:116:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:116:19:116:32 | findFirst(...) : Optional [] : Object | semmle.label | findFirst(...) : Optional [] : Object | +| Test.java:117:18:117:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:117:29:117:31 | out : Optional [] : Object | semmle.label | out : Optional [] : Object | +| Test.java:122:25:122:60 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:122:33:122:60 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:122:43:122:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:123:19:123:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:123:19:123:30 | limit(...) : Stream [] : Object | semmle.label | limit(...) : Stream [] : Object | +| Test.java:124:18:124:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:124:29:124:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:129:25:129:58 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:129:33:129:58 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:129:43:129:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:130:19:130:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:130:19:130:30 | max(...) : Optional [] : Object | semmle.label | max(...) : Optional [] : Object | +| Test.java:131:18:131:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:131:29:131:31 | out : Optional [] : Object | semmle.label | out : Optional [] : Object | +| Test.java:136:25:136:58 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:136:33:136:58 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:136:43:136:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:137:19:137:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:137:19:137:30 | min(...) : Optional [] : Object | semmle.label | min(...) : Optional [] : Object | +| Test.java:138:18:138:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:138:29:138:31 | out : Optional [] : Object | semmle.label | out : Optional [] : Object | +| Test.java:143:25:143:46 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:143:33:143:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:144:19:144:31 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:144:29:144:30 | in : Object | semmle.label | in : Object | +| Test.java:145:18:145:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:145:29:145:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:150:27:150:64 | (...)... : Object[] [[]] : Object | semmle.label | (...)... : Object[] [[]] : Object | +| Test.java:150:37:150:64 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:150:50:150:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:151:19:151:31 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:151:29:151:30 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object | +| Test.java:152:18:152:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:152:29:152:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:157:25:157:54 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:157:33:157:54 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:158:19:158:39 | ofNullable(...) : Stream [] : Object | semmle.label | ofNullable(...) : Stream [] : Object | +| Test.java:158:37:158:38 | in : Object | semmle.label | in : Object | +| Test.java:159:18:159:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:159:29:159:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:164:25:164:59 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:164:33:164:59 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:164:43:164:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:165:19:165:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:165:19:165:31 | peek(...) : Stream [] : Object | semmle.label | peek(...) : Stream [] : Object | +| Test.java:166:18:166:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:166:29:166:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:171:25:171:59 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:171:33:171:59 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:171:43:171:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:172:19:172:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:172:19:172:29 | skip(...) : Stream [] : Object | semmle.label | skip(...) : Stream [] : Object | +| Test.java:173:18:173:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:173:29:173:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:178:25:178:61 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:178:33:178:61 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:178:43:178:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:179:19:179:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:179:19:179:29 | sorted(...) : Stream [] : Object | semmle.label | sorted(...) : Stream [] : Object | +| Test.java:180:18:180:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:180:29:180:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:185:25:185:61 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:185:33:185:61 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:185:43:185:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:186:19:186:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:186:19:186:33 | sorted(...) : Stream [] : Object | semmle.label | sorted(...) : Stream [] : Object | +| Test.java:187:18:187:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:187:29:187:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:192:25:192:64 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:192:33:192:64 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:192:43:192:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:193:19:193:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:193:19:193:36 | takeWhile(...) : Stream [] : Object | semmle.label | takeWhile(...) : Stream [] : Object | +| Test.java:194:18:194:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:194:29:194:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:199:25:199:62 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:199:33:199:62 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:199:43:199:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:200:19:200:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:200:19:200:30 | toArray(...) : Object[] [[]] : Object | semmle.label | toArray(...) : Object[] [[]] : Object | +| Test.java:201:18:201:37 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:201:34:201:36 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| Test.java:206:25:206:62 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:206:33:206:62 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:206:43:206:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:207:19:207:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:207:19:207:34 | toArray(...) : Object[] [[]] : Object | semmle.label | toArray(...) : Object[] [[]] : Object | +| Test.java:208:18:208:37 | getArrayElement(...) | semmle.label | getArrayElement(...) | +| Test.java:208:34:208:36 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| Test.java:213:25:213:61 | (...)... : Stream [] : Object | semmle.label | (...)... : Stream [] : Object | +| Test.java:213:33:213:61 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:213:43:213:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:214:19:214:20 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:214:19:214:29 | toList(...) : List [] : Object | semmle.label | toList(...) : List [] : Object | +| Test.java:215:18:215:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:215:29:215:31 | out : List [] : Object | semmle.label | out : List [] : Object | +| Test.java:221:33:221:61 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:221:43:221:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:222:13:222:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:222:25:222:25 | x : Object | semmle.label | x : Object | +| Test.java:222:37:222:37 | x | semmle.label | x | +| Test.java:226:33:226:61 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:226:43:226:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:227:13:227:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:227:25:227:25 | x : Object | semmle.label | x : Object | +| Test.java:227:37:227:37 | x | semmle.label | x | +| Test.java:231:33:231:60 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:231:43:231:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:232:13:232:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:232:33:232:33 | x : Object | semmle.label | x : Object | +| Test.java:232:44:232:44 | x | semmle.label | x | +| Test.java:238:18:238:18 | a : Object[] [[]] : Object | semmle.label | a : Object[] [[]] : Object | +| Test.java:238:32:238:32 | a : Object[] [[]] : Object | semmle.label | a : Object[] [[]] : Object | +| Test.java:238:32:238:35 | ...[...] | semmle.label | ...[...] | +| Test.java:239:18:239:19 | a1 [Return] : Object[] [[]] : Object | semmle.label | a1 [Return] : Object[] [[]] : Object | +| Test.java:239:22:239:23 | a2 [Return] : Object[] [[]] : Object | semmle.label | a2 [Return] : Object[] [[]] : Object | +| Test.java:240:21:240:22 | a1 [post update] : Object[] [[]] : Object | semmle.label | a1 [post update] : Object[] [[]] : Object | +| Test.java:240:29:240:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:241:21:241:22 | a2 [post update] : Object[] [[]] : Object | semmle.label | a2 [post update] : Object[] [[]] : Object | +| Test.java:241:29:241:47 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:248:28:257:18 | collect(...) : Object[] [[]] : Object | semmle.label | collect(...) : Object[] [[]] : Object | +| Test.java:249:23:249:58 | new Object[] : Object[] [[]] : Object | semmle.label | new Object[] : Object[] [[]] : Object | +| Test.java:249:23:249:58 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | +| Test.java:249:38:249:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:250:18:250:18 | a : Object[] [[]] : Object | semmle.label | a : Object[] [[]] : Object | +| Test.java:250:18:250:18 | a [Return] : Object[] [[]] : Object | semmle.label | a [Return] : Object[] [[]] : Object | +| Test.java:251:26:251:26 | a : Object[] [[]] : Object | semmle.label | a : Object[] [[]] : Object | +| Test.java:251:26:251:29 | ...[...] | semmle.label | ...[...] | +| Test.java:252:21:252:21 | a [post update] : Object[] [[]] : Object | semmle.label | a [post update] : Object[] [[]] : Object | +| Test.java:252:28:252:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:254:18:254:19 | a1 : Object[] [[]] : Object | semmle.label | a1 : Object[] [[]] : Object | +| Test.java:254:22:254:23 | a2 : Object[] [[]] : Object | semmle.label | a2 : Object[] [[]] : Object | +| Test.java:255:26:255:27 | a1 : Object[] [[]] : Object | semmle.label | a1 : Object[] [[]] : Object | +| Test.java:255:26:255:30 | ...[...] | semmle.label | ...[...] | +| Test.java:256:26:256:27 | a2 : Object[] [[]] : Object | semmle.label | a2 : Object[] [[]] : Object | +| Test.java:256:26:256:30 | ...[...] | semmle.label | ...[...] | +| Test.java:258:18:258:20 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| Test.java:258:18:258:23 | ...[...] | semmle.label | ...[...] | +| Test.java:261:33:261:62 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:261:43:261:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:262:28:262:29 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:262:28:268:18 | collect(...) : Object[] [[]] : Object | semmle.label | collect(...) : Object[] [[]] : Object | +| Test.java:264:18:264:18 | a [Return] : Object[] [[]] : Object | semmle.label | a [Return] : Object[] [[]] : Object | +| Test.java:264:21:264:21 | x : Object | semmle.label | x : Object | +| Test.java:264:29:264:29 | a [post update] : Object[] [[]] : Object | semmle.label | a [post update] : Object[] [[]] : Object | +| Test.java:264:36:264:36 | x : Object | semmle.label | x : Object | +| Test.java:269:18:269:20 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| Test.java:269:18:269:23 | ...[...] | semmle.label | ...[...] | +| Test.java:273:33:273:62 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:273:43:273:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:274:13:274:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:274:26:274:26 | x : Object | semmle.label | x : Object | +| Test.java:274:38:274:38 | x | semmle.label | x | +| Test.java:278:33:278:59 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:278:43:278:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:279:13:279:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:279:23:279:23 | x : Object | semmle.label | x : Object | +| Test.java:279:35:279:35 | x | semmle.label | x | +| Test.java:283:33:283:60 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:283:43:283:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:284:13:284:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:284:24:284:24 | x : Object | semmle.label | x : Object | +| Test.java:284:36:284:36 | x | semmle.label | x | +| Test.java:288:34:288:101 | flatMap(...) : Stream [] : Object | semmle.label | flatMap(...) : Stream [] : Object | +| Test.java:288:71:288:100 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:288:81:288:99 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:289:18:289:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:289:29:289:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:293:33:293:68 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:293:43:293:67 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:294:13:294:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:294:32:294:32 | x : Object | semmle.label | x : Object | +| Test.java:294:44:294:44 | x | semmle.label | x | +| Test.java:298:33:298:65 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:298:43:298:64 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:299:13:299:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:299:29:299:29 | x : Object | semmle.label | x : Object | +| Test.java:299:41:299:41 | x | semmle.label | x | +| Test.java:303:33:303:66 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:303:43:303:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:304:13:304:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:304:30:304:30 | x : Object | semmle.label | x : Object | +| Test.java:304:42:304:42 | x | semmle.label | x | +| Test.java:308:33:308:60 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:308:43:308:59 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:309:13:309:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:309:24:309:24 | x : Object | semmle.label | x : Object | +| Test.java:309:34:309:34 | x | semmle.label | x | +| Test.java:313:33:313:67 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:313:43:313:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:314:13:314:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:314:31:314:31 | x : Object | semmle.label | x : Object | +| Test.java:314:41:314:41 | x | semmle.label | x | +| Test.java:318:34:318:74 | generate(...) : Stream [] : Object | semmle.label | generate(...) : Stream [] : Object | +| Test.java:318:56:318:73 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:319:18:319:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:319:29:319:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:327:25:327:51 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:327:33:327:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:328:19:334:16 | iterate(...) : Stream [] : Object | semmle.label | iterate(...) : Stream [] : Object | +| Test.java:328:34:328:35 | in : Object | semmle.label | in : Object | +| Test.java:328:38:328:38 | x : Object | semmle.label | x : Object | +| Test.java:329:24:329:24 | x | semmle.label | x | +| Test.java:331:18:331:18 | x : Object | semmle.label | x : Object | +| Test.java:332:24:332:24 | x | semmle.label | x | +| Test.java:333:26:333:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:335:18:335:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:335:29:335:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:343:25:343:51 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:343:33:343:51 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:344:19:347:16 | iterate(...) : Stream [] : Object | semmle.label | iterate(...) : Stream [] : Object | +| Test.java:344:34:344:35 | in : Object | semmle.label | in : Object | +| Test.java:344:38:344:38 | x : Object | semmle.label | x : Object | +| Test.java:345:24:345:24 | x | semmle.label | x | +| Test.java:346:26:346:44 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:348:18:348:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:348:29:348:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:353:33:353:58 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:353:43:353:57 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:354:34:354:35 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:354:34:354:82 | map(...) : Stream [] : Object | semmle.label | map(...) : Stream [] : Object | +| Test.java:354:41:354:41 | x : Object | semmle.label | x : Object | +| Test.java:354:53:354:53 | x | semmle.label | x | +| Test.java:354:64:354:78 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:355:18:355:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:355:29:355:31 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +| Test.java:359:33:359:61 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:359:43:359:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:360:13:360:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:360:26:360:26 | x : Object | semmle.label | x : Object | +| Test.java:360:47:360:47 | x | semmle.label | x | +| Test.java:364:33:364:69 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:364:43:364:68 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:365:13:365:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:365:34:365:34 | x : Object | semmle.label | x : Object | +| Test.java:365:55:365:55 | x | semmle.label | x | +| Test.java:369:33:369:66 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:369:43:369:65 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:370:13:370:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:370:31:370:31 | x : Object | semmle.label | x : Object | +| Test.java:370:52:370:52 | x | semmle.label | x | +| Test.java:374:33:374:67 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:374:43:374:66 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:375:13:375:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:375:32:375:32 | x : Object | semmle.label | x : Object | +| Test.java:375:53:375:53 | x | semmle.label | x | +| Test.java:379:33:379:64 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:379:43:379:63 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:380:13:380:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:380:28:380:28 | x : Object | semmle.label | x : Object | +| Test.java:380:40:380:40 | x | semmle.label | x | +| Test.java:384:33:384:61 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:384:43:384:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:385:13:385:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:385:25:385:25 | x : Object | semmle.label | x : Object | +| Test.java:385:37:385:37 | x | semmle.label | x | +| Test.java:389:33:389:62 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:389:43:389:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:390:13:390:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:390:26:390:26 | x : Object | semmle.label | x : Object | +| Test.java:390:38:390:38 | x | semmle.label | x | +| Test.java:394:33:394:56 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:394:43:394:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:395:13:395:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:395:21:395:21 | x : Object | semmle.label | x : Object | +| Test.java:395:36:395:36 | x | semmle.label | x | +| Test.java:396:13:396:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:396:23:396:23 | y : Object | semmle.label | y : Object | +| Test.java:396:36:396:36 | y | semmle.label | y | +| Test.java:400:33:400:56 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:400:43:400:55 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:401:13:401:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:401:21:401:21 | x : Object | semmle.label | x : Object | +| Test.java:401:36:401:36 | x | semmle.label | x | +| Test.java:402:13:402:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:402:23:402:23 | y : Object | semmle.label | y : Object | +| Test.java:402:36:402:36 | y | semmle.label | y | +| Test.java:406:33:406:62 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:406:43:406:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:407:13:407:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:407:26:407:26 | x : Object | semmle.label | x : Object | +| Test.java:407:38:407:38 | x | semmle.label | x | +| Test.java:411:33:411:57 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:411:43:411:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:412:13:412:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:412:21:412:21 | x : Object | semmle.label | x : Object | +| Test.java:412:31:412:31 | x | semmle.label | x | +| Test.java:419:33:419:61 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:419:43:419:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:420:36:420:37 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:420:36:424:18 | reduce(...) : Optional [] : Object | semmle.label | reduce(...) : Optional [] : Object | +| Test.java:420:47:420:47 | x : Object | semmle.label | x : Object | +| Test.java:420:49:420:49 | y : Object | semmle.label | y : Object | +| Test.java:421:26:421:26 | x | semmle.label | x | +| Test.java:422:26:422:26 | y | semmle.label | y | +| Test.java:423:28:423:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:425:18:425:32 | getElement(...) | semmle.label | getElement(...) | +| Test.java:425:29:425:31 | out : Optional [] : Object | semmle.label | out : Optional [] : Object | +| Test.java:433:33:433:61 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:433:43:433:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:434:26:434:27 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:434:26:438:18 | reduce(...) : Object | semmle.label | reduce(...) : Object | +| Test.java:434:36:434:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:434:57:434:57 | x : Object | semmle.label | x : Object | +| Test.java:434:59:434:59 | y : Object | semmle.label | y : Object | +| Test.java:435:26:435:26 | x | semmle.label | x | +| Test.java:436:26:436:26 | y | semmle.label | y | +| Test.java:437:28:437:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:439:18:439:20 | out | semmle.label | out | +| Test.java:449:33:449:61 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:449:43:449:60 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:450:26:450:27 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:450:26:458:18 | reduce(...) : Object | semmle.label | reduce(...) : Object | +| Test.java:450:36:450:53 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:450:57:450:57 | x : Object | semmle.label | x : Object | +| Test.java:450:59:450:59 | y : Object | semmle.label | y : Object | +| Test.java:451:26:451:26 | x | semmle.label | x | +| Test.java:452:26:452:26 | y | semmle.label | y | +| Test.java:453:28:453:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:454:21:454:21 | x : Object | semmle.label | x : Object | +| Test.java:454:23:454:23 | y : Object | semmle.label | y : Object | +| Test.java:455:26:455:26 | x | semmle.label | x | +| Test.java:456:26:456:26 | y | semmle.label | y | +| Test.java:457:28:457:45 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:459:18:459:20 | out | semmle.label | out | +| Test.java:463:33:463:59 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:463:43:463:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:464:13:464:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:464:24:464:24 | x : Object | semmle.label | x : Object | +| Test.java:464:39:464:39 | x | semmle.label | x | +| Test.java:465:13:465:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:465:26:465:26 | y : Object | semmle.label | y : Object | +| Test.java:465:39:465:39 | y | semmle.label | y | +| Test.java:469:33:469:62 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | +| Test.java:469:43:469:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:470:13:470:14 | in : Stream [] : Object | semmle.label | in : Stream [] : Object | +| Test.java:470:26:470:26 | x : Object | semmle.label | x : Object | +| Test.java:470:38:470:38 | x | semmle.label | x | +subpaths +| Test.java:33:29:33:31 | out : Iterator [] : Object | Test.java:19:22:19:35 | it : Iterator [] : Object | Test.java:19:47:19:55 | next(...) : Object | Test.java:33:18:33:32 | getElement(...) | +| Test.java:40:29:40:31 | out : BaseStream [] : Object | Test.java:17:22:17:38 | s : BaseStream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:40:18:40:32 | getElement(...) | +| Test.java:47:29:47:31 | out : BaseStream [] : Object | Test.java:17:22:17:38 | s : BaseStream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:47:18:47:32 | getElement(...) | +| Test.java:54:29:54:31 | out : BaseStream [] : Object | Test.java:17:22:17:38 | s : BaseStream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:54:18:54:32 | getElement(...) | +| Test.java:68:29:68:31 | out : BaseStream [] : Object | Test.java:17:22:17:38 | s : BaseStream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:68:18:68:32 | getElement(...) | +| Test.java:75:29:75:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:75:18:75:32 | getElement(...) | +| Test.java:82:29:82:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:82:18:82:32 | getElement(...) | +| Test.java:89:29:89:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:89:18:89:32 | getElement(...) | +| Test.java:96:29:96:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:96:18:96:32 | getElement(...) | +| Test.java:103:29:103:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:103:18:103:32 | getElement(...) | +| Test.java:110:29:110:31 | out : Optional [] : Object | Test.java:20:22:20:34 | o : Optional [] : Object | Test.java:20:46:20:52 | get(...) : Object | Test.java:110:18:110:32 | getElement(...) | +| Test.java:117:29:117:31 | out : Optional [] : Object | Test.java:20:22:20:34 | o : Optional [] : Object | Test.java:20:46:20:52 | get(...) : Object | Test.java:117:18:117:32 | getElement(...) | +| Test.java:124:29:124:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:124:18:124:32 | getElement(...) | +| Test.java:131:29:131:31 | out : Optional [] : Object | Test.java:20:22:20:34 | o : Optional [] : Object | Test.java:20:46:20:52 | get(...) : Object | Test.java:131:18:131:32 | getElement(...) | +| Test.java:138:29:138:31 | out : Optional [] : Object | Test.java:20:22:20:34 | o : Optional [] : Object | Test.java:20:46:20:52 | get(...) : Object | Test.java:138:18:138:32 | getElement(...) | +| Test.java:145:29:145:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:145:18:145:32 | getElement(...) | +| Test.java:152:29:152:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:152:18:152:32 | getElement(...) | +| Test.java:159:29:159:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:159:18:159:32 | getElement(...) | +| Test.java:166:29:166:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:166:18:166:32 | getElement(...) | +| Test.java:173:29:173:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:173:18:173:32 | getElement(...) | +| Test.java:180:29:180:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:180:18:180:32 | getElement(...) | +| Test.java:187:29:187:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:187:18:187:32 | getElement(...) | +| Test.java:194:29:194:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:194:18:194:32 | getElement(...) | +| Test.java:201:34:201:36 | out : Object[] [[]] : Object | Test.java:16:27:16:35 | array : Object[] [[]] : Object | Test.java:16:47:16:54 | ...[...] : Object | Test.java:201:18:201:37 | getArrayElement(...) | +| Test.java:208:34:208:36 | out : Object[] [[]] : Object | Test.java:16:27:16:35 | array : Object[] [[]] : Object | Test.java:16:47:16:54 | ...[...] : Object | Test.java:208:18:208:37 | getArrayElement(...) | +| Test.java:215:29:215:31 | out : List [] : Object | Test.java:18:22:18:35 | it : List [] : Object | Test.java:18:47:18:66 | next(...) : Object | Test.java:215:18:215:32 | getElement(...) | +| Test.java:262:28:262:29 | in : Stream [] : Object | Test.java:264:21:264:21 | x : Object | Test.java:264:18:264:18 | a [Return] : Object[] [[]] : Object | Test.java:262:28:268:18 | collect(...) : Object[] [[]] : Object | +| Test.java:289:29:289:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:289:18:289:32 | getElement(...) | +| Test.java:319:29:319:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:319:18:319:32 | getElement(...) | +| Test.java:335:29:335:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:335:18:335:32 | getElement(...) | +| Test.java:348:29:348:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:348:18:348:32 | getElement(...) | +| Test.java:355:29:355:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:355:18:355:32 | getElement(...) | +| Test.java:425:29:425:31 | out : Optional [] : Object | Test.java:20:22:20:34 | o : Optional [] : Object | Test.java:20:46:20:52 | get(...) : Object | Test.java:425:18:425:32 | getElement(...) | +testFailures diff --git a/java/ql/test/library-tests/frameworks/thymeleaf/test.expected b/java/ql/test/library-tests/frameworks/thymeleaf/test.expected index e69de29bb2d..a991cf8c4d5 100644 --- a/java/ql/test/library-tests/frameworks/thymeleaf/test.expected +++ b/java/ql/test/library-tests/frameworks/thymeleaf/test.expected @@ -0,0 +1,61 @@ +models +| 1 | Summary: org.thymeleaf; TemplateSpec; false; TemplateSpec; ; ; Argument[0]; Argument[this]; taint; manual | +| 2 | Summary: org.thymeleaf; TemplateSpec; false; getTemplate; ; ; Argument[this]; ReturnValue; taint; manual | +edges +| Test.java:19:16:19:31 | (...)... : String | Test.java:20:27:20:28 | in : String | provenance | | +| Test.java:19:24:19:31 | source(...) : Object | Test.java:19:16:19:31 | (...)... : String | provenance | | +| Test.java:20:10:20:40 | new TemplateSpec(...) : TemplateSpec | Test.java:21:9:21:11 | out | provenance | | +| Test.java:20:27:20:28 | in : String | Test.java:20:10:20:40 | new TemplateSpec(...) : TemplateSpec | provenance | MaD:1 | +| Test.java:26:16:26:31 | (...)... : String | Test.java:27:27:27:28 | in : String | provenance | | +| Test.java:26:24:26:31 | source(...) : Object | Test.java:26:16:26:31 | (...)... : String | provenance | | +| Test.java:27:10:27:65 | new TemplateSpec(...) : TemplateSpec | Test.java:28:9:28:11 | out | provenance | | +| Test.java:27:27:27:28 | in : String | Test.java:27:10:27:65 | new TemplateSpec(...) : TemplateSpec | provenance | MaD:1 | +| Test.java:33:16:33:31 | (...)... : String | Test.java:34:27:34:28 | in : String | provenance | | +| Test.java:33:24:33:31 | source(...) : Object | Test.java:33:16:33:31 | (...)... : String | provenance | | +| Test.java:34:10:34:71 | new TemplateSpec(...) : TemplateSpec | Test.java:35:9:35:11 | out | provenance | | +| Test.java:34:27:34:28 | in : String | Test.java:34:10:34:71 | new TemplateSpec(...) : TemplateSpec | provenance | MaD:1 | +| Test.java:40:16:40:31 | (...)... : String | Test.java:41:27:41:28 | in : String | provenance | | +| Test.java:40:24:40:31 | source(...) : Object | Test.java:40:16:40:31 | (...)... : String | provenance | | +| Test.java:41:10:41:43 | new TemplateSpec(...) : TemplateSpec | Test.java:42:9:42:11 | out | provenance | | +| Test.java:41:27:41:28 | in : String | Test.java:41:10:41:43 | new TemplateSpec(...) : TemplateSpec | provenance | MaD:1 | +| Test.java:47:16:47:31 | (...)... : String | Test.java:48:27:48:28 | in : String | provenance | | +| Test.java:47:24:47:31 | source(...) : Object | Test.java:47:16:47:31 | (...)... : String | provenance | | +| Test.java:48:10:48:49 | new TemplateSpec(...) : TemplateSpec | Test.java:49:9:49:11 | out | provenance | | +| Test.java:48:27:48:28 | in : String | Test.java:48:10:48:49 | new TemplateSpec(...) : TemplateSpec | provenance | MaD:1 | +| Test.java:54:22:54:43 | (...)... : TemplateSpec | Test.java:55:10:55:11 | in : TemplateSpec | provenance | | +| Test.java:54:36:54:43 | source(...) : Object | Test.java:54:22:54:43 | (...)... : TemplateSpec | provenance | | +| Test.java:55:10:55:11 | in : TemplateSpec | Test.java:55:10:55:25 | getTemplate(...) : String | provenance | MaD:2 | +| Test.java:55:10:55:25 | getTemplate(...) : String | Test.java:56:9:56:11 | out | provenance | | +nodes +| Test.java:19:16:19:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:19:24:19:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:20:10:20:40 | new TemplateSpec(...) : TemplateSpec | semmle.label | new TemplateSpec(...) : TemplateSpec | +| Test.java:20:27:20:28 | in : String | semmle.label | in : String | +| Test.java:21:9:21:11 | out | semmle.label | out | +| Test.java:26:16:26:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:26:24:26:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:27:10:27:65 | new TemplateSpec(...) : TemplateSpec | semmle.label | new TemplateSpec(...) : TemplateSpec | +| Test.java:27:27:27:28 | in : String | semmle.label | in : String | +| Test.java:28:9:28:11 | out | semmle.label | out | +| Test.java:33:16:33:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:33:24:33:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:34:10:34:71 | new TemplateSpec(...) : TemplateSpec | semmle.label | new TemplateSpec(...) : TemplateSpec | +| Test.java:34:27:34:28 | in : String | semmle.label | in : String | +| Test.java:35:9:35:11 | out | semmle.label | out | +| Test.java:40:16:40:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:40:24:40:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:41:10:41:43 | new TemplateSpec(...) : TemplateSpec | semmle.label | new TemplateSpec(...) : TemplateSpec | +| Test.java:41:27:41:28 | in : String | semmle.label | in : String | +| Test.java:42:9:42:11 | out | semmle.label | out | +| Test.java:47:16:47:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:47:24:47:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:48:10:48:49 | new TemplateSpec(...) : TemplateSpec | semmle.label | new TemplateSpec(...) : TemplateSpec | +| Test.java:48:27:48:28 | in : String | semmle.label | in : String | +| Test.java:49:9:49:11 | out | semmle.label | out | +| Test.java:54:22:54:43 | (...)... : TemplateSpec | semmle.label | (...)... : TemplateSpec | +| Test.java:54:36:54:43 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:55:10:55:11 | in : TemplateSpec | semmle.label | in : TemplateSpec | +| Test.java:55:10:55:25 | getTemplate(...) : String | semmle.label | getTemplate(...) : String | +| Test.java:56:9:56:11 | out | semmle.label | out | +subpaths +testFailures diff --git a/java/ql/test/library-tests/logging/test.expected b/java/ql/test/library-tests/logging/test.expected index e69de29bb2d..4b8be156480 100644 --- a/java/ql/test/library-tests/logging/test.expected +++ b/java/ql/test/library-tests/logging/test.expected @@ -0,0 +1,190 @@ +models +| 1 | Summary: java.util.logging; LogRecord; false; LogRecord; ; ; Argument[1]; Argument[this]; taint; manual | +| 2 | Summary: org.apache.logging.log4j; Logger; true; traceEntry; (Message); ; Argument[0]; ReturnValue; taint; manual | +| 3 | Summary: org.apache.logging.log4j; Logger; true; traceEntry; (String,Object[]); ; Argument[0..1]; ReturnValue; taint; manual | +| 4 | Summary: org.apache.logging.log4j; Logger; true; traceEntry; (String,Supplier[]); ; Argument[0..1]; ReturnValue; taint; manual | +| 5 | Summary: org.apache.logging.log4j; Logger; true; traceEntry; (Supplier[]); ; Argument[0]; ReturnValue; taint; manual | +| 6 | Summary: org.apache.logging.log4j; Logger; true; traceExit; (EntryMessage,Object); ; Argument[1]; ReturnValue; value; manual | +| 7 | Summary: org.apache.logging.log4j; Logger; true; traceExit; (Message,Object); ; Argument[1]; ReturnValue; value; manual | +| 8 | Summary: org.apache.logging.log4j; Logger; true; traceExit; (Object); ; Argument[0]; ReturnValue; value; manual | +| 9 | Summary: org.apache.logging.log4j; Logger; true; traceExit; (String,Object); ; Argument[1]; ReturnValue; value; manual | +| 10 | Summary: org.slf4j.spi; LoggingEventBuilder; true; addArgument; ; ; Argument[this]; ReturnValue; value; manual | +| 11 | Summary: org.slf4j.spi; LoggingEventBuilder; true; addKeyValue; ; ; Argument[this]; ReturnValue; value; manual | +| 12 | Summary: org.slf4j.spi; LoggingEventBuilder; true; addKeyValue; ; ; Argument[1]; Argument[this]; taint; manual | +| 13 | Summary: org.slf4j.spi; LoggingEventBuilder; true; addMarker; ; ; Argument[this]; ReturnValue; value; manual | +| 14 | Summary: org.slf4j.spi; LoggingEventBuilder; true; setCause; ; ; Argument[this]; ReturnValue; value; manual | +edges +| Test.java:23:16:23:32 | (...)... : String | Test.java:24:30:24:31 | in : String | provenance | | +| Test.java:23:25:23:32 | source(...) : Object | Test.java:23:16:23:32 | (...)... : String | provenance | | +| Test.java:24:10:24:32 | new LogRecord(...) : LogRecord | Test.java:25:9:25:11 | out | provenance | | +| Test.java:24:30:24:31 | in : String | Test.java:24:10:24:32 | new LogRecord(...) : LogRecord | provenance | MaD:1 | +| Test.java:30:17:30:34 | (...)... : Message | Test.java:32:30:32:31 | in : Message | provenance | | +| Test.java:30:27:30:34 | source(...) : Object | Test.java:30:17:30:34 | (...)... : Message | provenance | | +| Test.java:32:10:32:32 | traceEntry(...) : EntryMessage | Test.java:33:9:33:11 | out | provenance | | +| Test.java:32:30:32:31 | in : Message | Test.java:32:10:32:32 | traceEntry(...) : EntryMessage | provenance | MaD:2 | +| Test.java:38:18:38:36 | (...)... : Object[] | Test.java:40:45:40:46 | in : Object[] | provenance | | +| Test.java:38:29:38:36 | source(...) : Object | Test.java:38:18:38:36 | (...)... : Object[] | provenance | | +| Test.java:40:10:40:47 | traceEntry(...) : EntryMessage | Test.java:41:9:41:11 | out | provenance | | +| Test.java:40:45:40:46 | in : Object[] | Test.java:40:10:40:47 | traceEntry(...) : EntryMessage | provenance | MaD:3 | +| Test.java:46:16:46:32 | (...)... : String | Test.java:48:30:48:31 | in : String | provenance | | +| Test.java:46:25:46:32 | source(...) : Object | Test.java:46:16:46:32 | (...)... : String | provenance | | +| Test.java:48:10:48:49 | traceEntry(...) : EntryMessage | Test.java:49:9:49:11 | out | provenance | | +| Test.java:48:30:48:31 | in : String | Test.java:48:10:48:49 | traceEntry(...) : EntryMessage | provenance | MaD:3 | +| Test.java:54:16:54:32 | (...)... : String | Test.java:56:30:56:31 | in : String | provenance | | +| Test.java:54:25:54:32 | source(...) : Object | Test.java:54:16:54:32 | (...)... : String | provenance | | +| Test.java:56:10:56:81 | traceEntry(...) : EntryMessage | Test.java:57:9:57:11 | out | provenance | | +| Test.java:56:30:56:31 | in : String | Test.java:56:10:56:81 | traceEntry(...) : EntryMessage | provenance | MaD:4 | +| Test.java:63:6:63:56 | (...)... : Supplier[] | Test.java:65:45:65:46 | in : Supplier[] | provenance | | +| Test.java:63:49:63:56 | source(...) : Object | Test.java:63:6:63:56 | (...)... : Supplier[] | provenance | | +| Test.java:65:10:65:47 | traceEntry(...) : EntryMessage | Test.java:66:9:66:11 | out | provenance | | +| Test.java:65:45:65:46 | in : Supplier[] | Test.java:65:10:65:47 | traceEntry(...) : EntryMessage | provenance | MaD:4 | +| Test.java:72:6:72:56 | (...)... : Supplier[] | Test.java:74:30:74:31 | in : Supplier[] | provenance | | +| Test.java:72:49:72:56 | source(...) : Object | Test.java:72:6:72:56 | (...)... : Supplier[] | provenance | | +| Test.java:74:10:74:32 | traceEntry(...) : EntryMessage | Test.java:75:9:75:11 | out | provenance | | +| Test.java:74:30:74:31 | in : Supplier[] | Test.java:74:10:74:32 | traceEntry(...) : EntryMessage | provenance | MaD:5 | +| Test.java:80:16:80:32 | (...)... : Object | Test.java:82:50:82:51 | in : Object | provenance | | +| Test.java:80:25:80:32 | source(...) : Object | Test.java:80:16:80:32 | (...)... : Object | provenance | | +| Test.java:82:10:82:52 | traceExit(...) : Object | Test.java:83:9:83:11 | out | provenance | | +| Test.java:82:50:82:51 | in : Object | Test.java:82:10:82:52 | traceExit(...) : Object | provenance | MaD:6 | +| Test.java:88:16:88:32 | (...)... : Object | Test.java:90:45:90:46 | in : Object | provenance | | +| Test.java:88:25:88:32 | source(...) : Object | Test.java:88:16:88:32 | (...)... : Object | provenance | | +| Test.java:90:10:90:47 | traceExit(...) : Object | Test.java:91:9:91:11 | out | provenance | | +| Test.java:90:45:90:46 | in : Object | Test.java:90:10:90:47 | traceExit(...) : Object | provenance | MaD:7 | +| Test.java:96:16:96:32 | (...)... : Object | Test.java:98:29:98:30 | in : Object | provenance | | +| Test.java:96:25:96:32 | source(...) : Object | Test.java:96:16:96:32 | (...)... : Object | provenance | | +| Test.java:98:10:98:31 | traceExit(...) : Object | Test.java:99:9:99:11 | out | provenance | | +| Test.java:98:29:98:30 | in : Object | Test.java:98:10:98:31 | traceExit(...) : Object | provenance | MaD:8 | +| Test.java:104:16:104:32 | (...)... : Object | Test.java:106:44:106:45 | in : Object | provenance | | +| Test.java:104:25:104:32 | source(...) : Object | Test.java:104:16:104:32 | (...)... : Object | provenance | | +| Test.java:106:10:106:46 | traceExit(...) : Object | Test.java:107:9:107:11 | out | provenance | | +| Test.java:106:44:106:45 | in : Object | Test.java:106:10:106:46 | traceExit(...) : Object | provenance | MaD:9 | +| Test.java:112:29:112:58 | (...)... : LoggingEventBuilder | Test.java:113:10:113:11 | in : LoggingEventBuilder | provenance | | +| Test.java:112:51:112:58 | source(...) : Object | Test.java:112:29:112:58 | (...)... : LoggingEventBuilder | provenance | | +| Test.java:113:10:113:11 | in : LoggingEventBuilder | Test.java:113:10:113:38 | addArgument(...) : LoggingEventBuilder | provenance | MaD:10 | +| Test.java:113:10:113:38 | addArgument(...) : LoggingEventBuilder | Test.java:114:9:114:11 | out | provenance | | +| Test.java:119:29:119:58 | (...)... : LoggingEventBuilder | Test.java:120:10:120:11 | in : LoggingEventBuilder | provenance | | +| Test.java:119:51:119:58 | source(...) : Object | Test.java:119:29:119:58 | (...)... : LoggingEventBuilder | provenance | | +| Test.java:120:10:120:11 | in : LoggingEventBuilder | Test.java:120:10:120:59 | addArgument(...) : LoggingEventBuilder | provenance | MaD:10 | +| Test.java:120:10:120:59 | addArgument(...) : LoggingEventBuilder | Test.java:121:9:121:11 | out | provenance | | +| Test.java:126:29:126:58 | (...)... : LoggingEventBuilder | Test.java:127:10:127:11 | in : LoggingEventBuilder | provenance | | +| Test.java:126:51:126:58 | source(...) : Object | Test.java:126:29:126:58 | (...)... : LoggingEventBuilder | provenance | | +| Test.java:127:10:127:11 | in : LoggingEventBuilder | Test.java:127:10:127:53 | addKeyValue(...) : LoggingEventBuilder | provenance | MaD:11 | +| Test.java:127:10:127:53 | addKeyValue(...) : LoggingEventBuilder | Test.java:128:9:128:11 | out | provenance | | +| Test.java:133:29:133:58 | (...)... : LoggingEventBuilder | Test.java:134:10:134:11 | in : LoggingEventBuilder | provenance | | +| Test.java:133:51:133:58 | source(...) : Object | Test.java:133:29:133:58 | (...)... : LoggingEventBuilder | provenance | | +| Test.java:134:10:134:11 | in : LoggingEventBuilder | Test.java:134:10:134:74 | addKeyValue(...) : LoggingEventBuilder | provenance | MaD:11 | +| Test.java:134:10:134:74 | addKeyValue(...) : LoggingEventBuilder | Test.java:135:9:135:11 | out | provenance | | +| Test.java:140:16:140:32 | (...)... : Object | Test.java:141:35:141:36 | in : Object | provenance | | +| Test.java:140:25:140:32 | source(...) : Object | Test.java:140:16:140:32 | (...)... : Object | provenance | | +| Test.java:141:4:141:6 | out [post update] : LoggingEventBuilder | Test.java:142:9:142:11 | out | provenance | | +| Test.java:141:35:141:36 | in : Object | Test.java:141:4:141:6 | out [post update] : LoggingEventBuilder | provenance | MaD:12 | +| Test.java:147:37:147:74 | (...)... : Supplier | Test.java:148:35:148:36 | in : Supplier | provenance | | +| Test.java:147:67:147:74 | source(...) : Object | Test.java:147:37:147:74 | (...)... : Supplier | provenance | | +| Test.java:148:4:148:6 | out [post update] : LoggingEventBuilder | Test.java:149:9:149:11 | out | provenance | | +| Test.java:148:35:148:36 | in : Supplier | Test.java:148:4:148:6 | out [post update] : LoggingEventBuilder | provenance | MaD:12 | +| Test.java:154:29:154:58 | (...)... : LoggingEventBuilder | Test.java:155:10:155:11 | in : LoggingEventBuilder | provenance | | +| Test.java:154:51:154:58 | source(...) : Object | Test.java:154:29:154:58 | (...)... : LoggingEventBuilder | provenance | | +| Test.java:155:10:155:11 | in : LoggingEventBuilder | Test.java:155:10:155:27 | addMarker(...) : LoggingEventBuilder | provenance | MaD:13 | +| Test.java:155:10:155:27 | addMarker(...) : LoggingEventBuilder | Test.java:156:9:156:11 | out | provenance | | +| Test.java:161:29:161:58 | (...)... : LoggingEventBuilder | Test.java:162:10:162:11 | in : LoggingEventBuilder | provenance | | +| Test.java:161:51:161:58 | source(...) : Object | Test.java:161:29:161:58 | (...)... : LoggingEventBuilder | provenance | | +| Test.java:162:10:162:11 | in : LoggingEventBuilder | Test.java:162:10:162:26 | setCause(...) : LoggingEventBuilder | provenance | MaD:14 | +| Test.java:162:10:162:26 | setCause(...) : LoggingEventBuilder | Test.java:163:9:163:11 | out | provenance | | +nodes +| Test.java:23:16:23:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:23:25:23:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:24:10:24:32 | new LogRecord(...) : LogRecord | semmle.label | new LogRecord(...) : LogRecord | +| Test.java:24:30:24:31 | in : String | semmle.label | in : String | +| Test.java:25:9:25:11 | out | semmle.label | out | +| Test.java:30:17:30:34 | (...)... : Message | semmle.label | (...)... : Message | +| Test.java:30:27:30:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:32:10:32:32 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | +| Test.java:32:30:32:31 | in : Message | semmle.label | in : Message | +| Test.java:33:9:33:11 | out | semmle.label | out | +| Test.java:38:18:38:36 | (...)... : Object[] | semmle.label | (...)... : Object[] | +| Test.java:38:29:38:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:40:10:40:47 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | +| Test.java:40:45:40:46 | in : Object[] | semmle.label | in : Object[] | +| Test.java:41:9:41:11 | out | semmle.label | out | +| Test.java:46:16:46:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:46:25:46:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:48:10:48:49 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | +| Test.java:48:30:48:31 | in : String | semmle.label | in : String | +| Test.java:49:9:49:11 | out | semmle.label | out | +| Test.java:54:16:54:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:54:25:54:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:56:10:56:81 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | +| Test.java:56:30:56:31 | in : String | semmle.label | in : String | +| Test.java:57:9:57:11 | out | semmle.label | out | +| Test.java:63:6:63:56 | (...)... : Supplier[] | semmle.label | (...)... : Supplier[] | +| Test.java:63:49:63:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:65:10:65:47 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | +| Test.java:65:45:65:46 | in : Supplier[] | semmle.label | in : Supplier[] | +| Test.java:66:9:66:11 | out | semmle.label | out | +| Test.java:72:6:72:56 | (...)... : Supplier[] | semmle.label | (...)... : Supplier[] | +| Test.java:72:49:72:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:74:10:74:32 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | +| Test.java:74:30:74:31 | in : Supplier[] | semmle.label | in : Supplier[] | +| Test.java:75:9:75:11 | out | semmle.label | out | +| Test.java:80:16:80:32 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:80:25:80:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:82:10:82:52 | traceExit(...) : Object | semmle.label | traceExit(...) : Object | +| Test.java:82:50:82:51 | in : Object | semmle.label | in : Object | +| Test.java:83:9:83:11 | out | semmle.label | out | +| Test.java:88:16:88:32 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:88:25:88:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:90:10:90:47 | traceExit(...) : Object | semmle.label | traceExit(...) : Object | +| Test.java:90:45:90:46 | in : Object | semmle.label | in : Object | +| Test.java:91:9:91:11 | out | semmle.label | out | +| Test.java:96:16:96:32 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:96:25:96:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:98:10:98:31 | traceExit(...) : Object | semmle.label | traceExit(...) : Object | +| Test.java:98:29:98:30 | in : Object | semmle.label | in : Object | +| Test.java:99:9:99:11 | out | semmle.label | out | +| Test.java:104:16:104:32 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:104:25:104:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:106:10:106:46 | traceExit(...) : Object | semmle.label | traceExit(...) : Object | +| Test.java:106:44:106:45 | in : Object | semmle.label | in : Object | +| Test.java:107:9:107:11 | out | semmle.label | out | +| Test.java:112:29:112:58 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | +| Test.java:112:51:112:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:113:10:113:11 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | +| Test.java:113:10:113:38 | addArgument(...) : LoggingEventBuilder | semmle.label | addArgument(...) : LoggingEventBuilder | +| Test.java:114:9:114:11 | out | semmle.label | out | +| Test.java:119:29:119:58 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | +| Test.java:119:51:119:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:120:10:120:11 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | +| Test.java:120:10:120:59 | addArgument(...) : LoggingEventBuilder | semmle.label | addArgument(...) : LoggingEventBuilder | +| Test.java:121:9:121:11 | out | semmle.label | out | +| Test.java:126:29:126:58 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | +| Test.java:126:51:126:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:127:10:127:11 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | +| Test.java:127:10:127:53 | addKeyValue(...) : LoggingEventBuilder | semmle.label | addKeyValue(...) : LoggingEventBuilder | +| Test.java:128:9:128:11 | out | semmle.label | out | +| Test.java:133:29:133:58 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | +| Test.java:133:51:133:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:134:10:134:11 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | +| Test.java:134:10:134:74 | addKeyValue(...) : LoggingEventBuilder | semmle.label | addKeyValue(...) : LoggingEventBuilder | +| Test.java:135:9:135:11 | out | semmle.label | out | +| Test.java:140:16:140:32 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:140:25:140:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:141:4:141:6 | out [post update] : LoggingEventBuilder | semmle.label | out [post update] : LoggingEventBuilder | +| Test.java:141:35:141:36 | in : Object | semmle.label | in : Object | +| Test.java:142:9:142:11 | out | semmle.label | out | +| Test.java:147:37:147:74 | (...)... : Supplier | semmle.label | (...)... : Supplier | +| Test.java:147:67:147:74 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:148:4:148:6 | out [post update] : LoggingEventBuilder | semmle.label | out [post update] : LoggingEventBuilder | +| Test.java:148:35:148:36 | in : Supplier | semmle.label | in : Supplier | +| Test.java:149:9:149:11 | out | semmle.label | out | +| Test.java:154:29:154:58 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | +| Test.java:154:51:154:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:155:10:155:11 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | +| Test.java:155:10:155:27 | addMarker(...) : LoggingEventBuilder | semmle.label | addMarker(...) : LoggingEventBuilder | +| Test.java:156:9:156:11 | out | semmle.label | out | +| Test.java:161:29:161:58 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | +| Test.java:161:51:161:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:162:10:162:11 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | +| Test.java:162:10:162:26 | setCause(...) : LoggingEventBuilder | semmle.label | setCause(...) : LoggingEventBuilder | +| Test.java:163:9:163:11 | out | semmle.label | out | +subpaths +testFailures diff --git a/java/ql/test/library-tests/optional/test.expected b/java/ql/test/library-tests/optional/test.expected index e69de29bb2d..80952fa6fc4 100644 --- a/java/ql/test/library-tests/optional/test.expected +++ b/java/ql/test/library-tests/optional/test.expected @@ -0,0 +1,263 @@ +models +| 1 | Summary: java.util; Optional; false; filter; ; ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 2 | Summary: java.util; Optional; false; filter; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 3 | Summary: java.util; Optional; false; flatMap; ; ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 4 | Summary: java.util; Optional; false; get; ; ; Argument[this].Element; ReturnValue; value; manual | +| 5 | Summary: java.util; Optional; false; ifPresent; ; ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 6 | Summary: java.util; Optional; false; ifPresentOrElse; ; ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 7 | Summary: java.util; Optional; false; map; ; ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 8 | Summary: java.util; Optional; false; of; ; ; Argument[0]; ReturnValue.Element; value; manual | +| 9 | Summary: java.util; Optional; false; ofNullable; ; ; Argument[0]; ReturnValue.Element; value; manual | +| 10 | Summary: java.util; Optional; false; or; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 11 | Summary: java.util; Optional; false; or; ; ; Argument[0].ReturnValue; ReturnValue; value; manual | +| 12 | Summary: java.util; Optional; false; orElse; ; ; Argument[this].Element; ReturnValue; value; manual | +| 13 | Summary: java.util; Optional; false; orElse; ; ; Argument[0]; ReturnValue; value; manual | +| 14 | Summary: java.util; Optional; false; orElseGet; ; ; Argument[this].Element; ReturnValue; value; manual | +| 15 | Summary: java.util; Optional; false; orElseGet; ; ; Argument[0].ReturnValue; ReturnValue; value; manual | +| 16 | Summary: java.util; Optional; false; orElseThrow; ; ; Argument[this].Element; ReturnValue; value; manual | +| 17 | Summary: java.util; Optional; false; stream; ; ; Argument[this].Element; ReturnValue.Element; value; manual | +| 18 | Summary: generatedtest; Test; false; getStreamElement; ; ; Argument[0].Element; ReturnValue; value; manual | +edges +| FunctionalTest.java:12:30:12:50 | of(...) : Optional [] : String | FunctionalTest.java:13:9:13:9 | o : Optional [] : String | provenance | | +| FunctionalTest.java:12:30:12:50 | of(...) : Optional [] : String | FunctionalTest.java:16:9:16:9 | o : Optional [] : String | provenance | | +| FunctionalTest.java:12:30:12:50 | of(...) : Optional [] : String | FunctionalTest.java:21:9:21:9 | o : Optional [] : String | provenance | | +| FunctionalTest.java:12:30:12:50 | of(...) : Optional [] : String | FunctionalTest.java:27:9:27:9 | o : Optional [] : String | provenance | | +| FunctionalTest.java:12:30:12:50 | of(...) : Optional [] : String | FunctionalTest.java:33:9:33:9 | o : Optional [] : String | provenance | | +| FunctionalTest.java:12:30:12:50 | of(...) : Optional [] : String | FunctionalTest.java:39:9:39:9 | o : Optional [] : String | provenance | | +| FunctionalTest.java:12:30:12:50 | of(...) : Optional [] : String | FunctionalTest.java:48:15:48:21 | Optional o : Optional [] : String | provenance | | +| FunctionalTest.java:12:30:12:50 | of(...) : Optional [] : String | FunctionalTest.java:52:9:52:9 | o : Optional [] : String | provenance | | +| FunctionalTest.java:12:42:12:49 | source(...) : String | FunctionalTest.java:12:30:12:50 | of(...) : Optional [] : String | provenance | MaD:8 | +| FunctionalTest.java:13:9:13:9 | o : Optional [] : String | FunctionalTest.java:13:21:13:21 | v : String | provenance | MaD:5 | +| FunctionalTest.java:13:21:13:21 | v : String | FunctionalTest.java:14:18:14:18 | v | provenance | | +| FunctionalTest.java:16:9:16:9 | o : Optional [] : String | FunctionalTest.java:16:27:16:27 | v : String | provenance | MaD:6 | +| FunctionalTest.java:16:27:16:27 | v : String | FunctionalTest.java:17:18:17:18 | v | provenance | | +| FunctionalTest.java:21:9:21:9 | o : Optional [] : String | FunctionalTest.java:21:9:24:10 | map(...) : Optional [] : String | provenance | MaD:7 | +| FunctionalTest.java:21:9:21:9 | o : Optional [] : String | FunctionalTest.java:21:15:21:15 | v : String | provenance | MaD:7 | +| FunctionalTest.java:21:9:24:10 | map(...) : Optional [] : String | FunctionalTest.java:24:22:24:22 | v : String | provenance | MaD:5 | +| FunctionalTest.java:21:15:21:15 | v : String | FunctionalTest.java:22:18:22:18 | v | provenance | | +| FunctionalTest.java:21:15:21:15 | v : String | FunctionalTest.java:23:20:23:20 | v : String | provenance | | +| FunctionalTest.java:24:22:24:22 | v : String | FunctionalTest.java:25:18:25:18 | v | provenance | | +| FunctionalTest.java:27:9:27:9 | o : Optional [] : String | FunctionalTest.java:27:9:30:10 | flatMap(...) : Optional [] : String | provenance | MaD:3 | +| FunctionalTest.java:27:9:27:9 | o : Optional [] : String | FunctionalTest.java:27:19:27:19 | v : String | provenance | MaD:3 | +| FunctionalTest.java:27:9:30:10 | flatMap(...) : Optional [] : String | FunctionalTest.java:30:22:30:22 | v : String | provenance | MaD:5 | +| FunctionalTest.java:27:19:27:19 | v : String | FunctionalTest.java:28:18:28:18 | v | provenance | | +| FunctionalTest.java:27:19:27:19 | v : String | FunctionalTest.java:29:32:29:32 | v : String | provenance | | +| FunctionalTest.java:29:32:29:32 | v : String | FunctionalTest.java:29:20:29:33 | of(...) : Optional [] : String | provenance | MaD:8 | +| FunctionalTest.java:30:22:30:22 | v : String | FunctionalTest.java:31:18:31:18 | v | provenance | | +| FunctionalTest.java:33:9:33:9 | o : Optional [] : String | FunctionalTest.java:33:19:33:19 | v : String | provenance | MaD:3 | +| FunctionalTest.java:33:19:33:19 | v : String | FunctionalTest.java:34:18:34:18 | v | provenance | | +| FunctionalTest.java:39:9:39:9 | o : Optional [] : String | FunctionalTest.java:39:9:42:10 | filter(...) : Optional [] : String | provenance | MaD:2 | +| FunctionalTest.java:39:9:39:9 | o : Optional [] : String | FunctionalTest.java:39:18:39:18 | v : String | provenance | MaD:1 | +| FunctionalTest.java:39:9:42:10 | filter(...) : Optional [] : String | FunctionalTest.java:42:22:42:22 | v : String | provenance | MaD:5 | +| FunctionalTest.java:39:18:39:18 | v : String | FunctionalTest.java:40:18:40:18 | v | provenance | | +| FunctionalTest.java:42:22:42:22 | v : String | FunctionalTest.java:43:18:43:18 | v | provenance | | +| FunctionalTest.java:45:9:48:22 | or(...) : Optional [] : String | FunctionalTest.java:48:34:48:34 | v : String | provenance | MaD:5 | +| FunctionalTest.java:48:15:48:21 | ...->... : new Supplier>(...) { ... } [Optional o, ] : String | FunctionalTest.java:45:9:48:22 | or(...) : Optional [] : String | provenance | MaD:11 | +| FunctionalTest.java:48:15:48:21 | ...->... : new Supplier>(...) { ... } [Optional o, ] : String | FunctionalTest.java:45:9:48:22 | or(...) : Optional [] : String | provenance | heuristic-callback | +| FunctionalTest.java:48:15:48:21 | ...->... : new Supplier>(...) { ... } [Optional o, ] : String | FunctionalTest.java:48:15:48:21 | parameter this : new Supplier>(...) { ... } [Optional o, ] : String | provenance | MaD:11 | +| FunctionalTest.java:48:15:48:21 | ...->... : new Supplier>(...) { ... } [Optional o, ] : String | FunctionalTest.java:48:15:48:21 | parameter this : new Supplier>(...) { ... } [Optional o, ] : String | provenance | heuristic-callback | +| FunctionalTest.java:48:15:48:21 | Optional o : Optional [] : String | FunctionalTest.java:48:15:48:21 | ...->... : new Supplier>(...) { ... } [Optional o, ] : String | provenance | | +| FunctionalTest.java:48:15:48:21 | parameter this : new Supplier>(...) { ... } [Optional o, ] : String | FunctionalTest.java:48:21:48:21 | this : new Supplier>(...) { ... } [Optional o, ] : String | provenance | | +| FunctionalTest.java:48:21:48:21 | this : new Supplier>(...) { ... } [Optional o, ] : String | FunctionalTest.java:48:21:48:21 | o : Optional [] : String | provenance | | +| FunctionalTest.java:48:34:48:34 | v : String | FunctionalTest.java:49:18:49:18 | v | provenance | | +| FunctionalTest.java:52:9:52:9 | o : Optional [] : String | FunctionalTest.java:52:9:52:24 | or(...) : Optional [] : String | provenance | MaD:10 | +| FunctionalTest.java:52:9:52:24 | or(...) : Optional [] : String | FunctionalTest.java:52:36:52:36 | v : String | provenance | MaD:5 | +| FunctionalTest.java:52:36:52:36 | v : String | FunctionalTest.java:53:18:53:18 | v | provenance | | +| FunctionalTest.java:55:24:55:53 | orElseGet(...) : String | FunctionalTest.java:56:14:56:18 | value | provenance | | +| FunctionalTest.java:55:45:55:52 | source(...) : String | FunctionalTest.java:55:24:55:53 | orElseGet(...) : String | provenance | MaD:15 | +| Test.java:9:20:9:45 | container : Optional [] : Object | Test.java:9:57:9:65 | container : Optional [] : Object | provenance | | +| Test.java:9:57:9:65 | container : Optional [] : Object | Test.java:9:57:9:71 | get(...) : Object | provenance | MaD:4 | +| Test.java:11:34:11:47 | element : Object | Test.java:11:71:11:77 | element : Object | provenance | | +| Test.java:11:71:11:77 | element : Object | Test.java:11:59:11:78 | of(...) : Optional [] : Object | provenance | MaD:8 | +| Test.java:20:26:20:49 | newWithElement(...) : Optional [] : Object | Test.java:21:10:21:11 | in : Optional [] : Object | provenance | | +| Test.java:20:41:20:48 | source(...) : Object | Test.java:11:34:11:47 | element : Object | provenance | | +| Test.java:20:41:20:48 | source(...) : Object | Test.java:20:26:20:49 | newWithElement(...) : Optional [] : Object | provenance | MaD:8 | +| Test.java:21:10:21:11 | in : Optional [] : Object | Test.java:21:10:21:24 | filter(...) : Optional [] : Object | provenance | MaD:2 | +| Test.java:21:10:21:24 | filter(...) : Optional [] : Object | Test.java:22:20:22:22 | out : Optional [] : Object | provenance | | +| Test.java:22:20:22:22 | out : Optional [] : Object | Test.java:9:20:9:45 | container : Optional [] : Object | provenance | | +| Test.java:22:20:22:22 | out : Optional [] : Object | Test.java:22:9:22:23 | getElement(...) | provenance | MaD:4 | +| Test.java:27:26:27:49 | newWithElement(...) : Optional [] : Object | Test.java:28:10:28:11 | in : Optional [] : Object | provenance | | +| Test.java:27:41:27:48 | source(...) : Object | Test.java:11:34:11:47 | element : Object | provenance | | +| Test.java:27:41:27:48 | source(...) : Object | Test.java:27:26:27:49 | newWithElement(...) : Optional [] : Object | provenance | MaD:8 | +| Test.java:28:10:28:11 | in : Optional [] : Object | Test.java:28:10:28:17 | get(...) : Object | provenance | MaD:4 | +| Test.java:28:10:28:17 | get(...) : Object | Test.java:29:9:29:11 | out | provenance | | +| Test.java:34:16:34:31 | (...)... : Object | Test.java:35:22:35:23 | in : Object | provenance | | +| Test.java:34:24:34:31 | source(...) : Object | Test.java:34:16:34:31 | (...)... : Object | provenance | | +| Test.java:35:10:35:24 | of(...) : Optional [] : Object | Test.java:36:20:36:22 | out : Optional [] : Object | provenance | | +| Test.java:35:22:35:23 | in : Object | Test.java:35:10:35:24 | of(...) : Optional [] : Object | provenance | MaD:8 | +| Test.java:36:20:36:22 | out : Optional [] : Object | Test.java:9:20:9:45 | container : Optional [] : Object | provenance | | +| Test.java:36:20:36:22 | out : Optional [] : Object | Test.java:36:9:36:23 | getElement(...) | provenance | MaD:4 | +| Test.java:41:16:41:31 | (...)... : Object | Test.java:42:30:42:31 | in : Object | provenance | | +| Test.java:41:24:41:31 | source(...) : Object | Test.java:41:16:41:31 | (...)... : Object | provenance | | +| Test.java:42:10:42:32 | ofNullable(...) : Optional [] : Object | Test.java:43:20:43:22 | out : Optional [] : Object | provenance | | +| Test.java:42:30:42:31 | in : Object | Test.java:42:10:42:32 | ofNullable(...) : Optional [] : Object | provenance | MaD:9 | +| Test.java:43:20:43:22 | out : Optional [] : Object | Test.java:9:20:9:45 | container : Optional [] : Object | provenance | | +| Test.java:43:20:43:22 | out : Optional [] : Object | Test.java:43:9:43:23 | getElement(...) | provenance | MaD:4 | +| Test.java:48:26:48:49 | newWithElement(...) : Optional [] : Object | Test.java:49:10:49:11 | in : Optional [] : Object | provenance | | +| Test.java:48:41:48:48 | source(...) : Object | Test.java:11:34:11:47 | element : Object | provenance | | +| Test.java:48:41:48:48 | source(...) : Object | Test.java:48:26:48:49 | newWithElement(...) : Optional [] : Object | provenance | MaD:8 | +| Test.java:49:10:49:11 | in : Optional [] : Object | Test.java:49:10:49:20 | or(...) : Optional [] : Object | provenance | MaD:10 | +| Test.java:49:10:49:20 | or(...) : Optional [] : Object | Test.java:50:20:50:22 | out : Optional [] : Object | provenance | | +| Test.java:50:20:50:22 | out : Optional [] : Object | Test.java:9:20:9:45 | container : Optional [] : Object | provenance | | +| Test.java:50:20:50:22 | out : Optional [] : Object | Test.java:50:9:50:23 | getElement(...) | provenance | MaD:4 | +| Test.java:55:16:55:31 | (...)... : Object | Test.java:57:26:57:27 | in : Object | provenance | | +| Test.java:55:24:55:31 | source(...) : Object | Test.java:55:16:55:31 | (...)... : Object | provenance | | +| Test.java:57:10:57:28 | orElse(...) : Object | Test.java:58:9:58:11 | out | provenance | | +| Test.java:57:26:57:27 | in : Object | Test.java:57:10:57:28 | orElse(...) : Object | provenance | MaD:13 | +| Test.java:63:26:63:49 | newWithElement(...) : Optional [] : Object | Test.java:64:10:64:11 | in : Optional [] : Object | provenance | | +| Test.java:63:41:63:48 | source(...) : Object | Test.java:11:34:11:47 | element : Object | provenance | | +| Test.java:63:41:63:48 | source(...) : Object | Test.java:63:26:63:49 | newWithElement(...) : Optional [] : Object | provenance | MaD:8 | +| Test.java:64:10:64:11 | in : Optional [] : Object | Test.java:64:10:64:24 | orElse(...) : Object | provenance | MaD:12 | +| Test.java:64:10:64:24 | orElse(...) : Object | Test.java:65:9:65:11 | out | provenance | | +| Test.java:70:26:70:49 | newWithElement(...) : Optional [] : Object | Test.java:71:10:71:11 | in : Optional [] : Object | provenance | | +| Test.java:70:41:70:48 | source(...) : Object | Test.java:11:34:11:47 | element : Object | provenance | | +| Test.java:70:41:70:48 | source(...) : Object | Test.java:70:26:70:49 | newWithElement(...) : Optional [] : Object | provenance | MaD:8 | +| Test.java:71:10:71:11 | in : Optional [] : Object | Test.java:71:10:71:27 | orElseGet(...) : Object | provenance | MaD:14 | +| Test.java:71:10:71:27 | orElseGet(...) : Object | Test.java:72:9:72:11 | out | provenance | | +| Test.java:77:26:77:49 | newWithElement(...) : Optional [] : Object | Test.java:78:10:78:11 | in : Optional [] : Object | provenance | | +| Test.java:77:41:77:48 | source(...) : Object | Test.java:11:34:11:47 | element : Object | provenance | | +| Test.java:77:41:77:48 | source(...) : Object | Test.java:77:26:77:49 | newWithElement(...) : Optional [] : Object | provenance | MaD:8 | +| Test.java:78:10:78:11 | in : Optional [] : Object | Test.java:78:10:78:29 | orElseThrow(...) : Object | provenance | MaD:16 | +| Test.java:78:10:78:29 | orElseThrow(...) : Object | Test.java:79:9:79:11 | out | provenance | | +| Test.java:84:26:84:49 | newWithElement(...) : Optional [] : Object | Test.java:85:10:85:11 | in : Optional [] : Object | provenance | | +| Test.java:84:41:84:48 | source(...) : Object | Test.java:11:34:11:47 | element : Object | provenance | | +| Test.java:84:41:84:48 | source(...) : Object | Test.java:84:26:84:49 | newWithElement(...) : Optional [] : Object | provenance | MaD:8 | +| Test.java:85:10:85:11 | in : Optional [] : Object | Test.java:85:10:85:25 | orElseThrow(...) : Object | provenance | MaD:16 | +| Test.java:85:10:85:25 | orElseThrow(...) : Object | Test.java:86:9:86:11 | out | provenance | | +| Test.java:91:26:91:49 | newWithElement(...) : Optional [] : Object | Test.java:92:10:92:11 | in : Optional [] : Object | provenance | | +| Test.java:91:41:91:48 | source(...) : Object | Test.java:11:34:11:47 | element : Object | provenance | | +| Test.java:91:41:91:48 | source(...) : Object | Test.java:91:26:91:49 | newWithElement(...) : Optional [] : Object | provenance | MaD:8 | +| Test.java:92:10:92:11 | in : Optional [] : Object | Test.java:92:10:92:20 | stream(...) : Stream [] : Object | provenance | MaD:17 | +| Test.java:92:10:92:20 | stream(...) : Stream [] : Object | Test.java:93:26:93:28 | out : Stream [] : Object | provenance | | +| Test.java:93:26:93:28 | out : Stream [] : Object | Test.java:93:9:93:29 | getStreamElement(...) | provenance | MaD:18 | +nodes +| FunctionalTest.java:12:30:12:50 | of(...) : Optional [] : String | semmle.label | of(...) : Optional [] : String | +| FunctionalTest.java:12:42:12:49 | source(...) : String | semmle.label | source(...) : String | +| FunctionalTest.java:13:9:13:9 | o : Optional [] : String | semmle.label | o : Optional [] : String | +| FunctionalTest.java:13:21:13:21 | v : String | semmle.label | v : String | +| FunctionalTest.java:14:18:14:18 | v | semmle.label | v | +| FunctionalTest.java:16:9:16:9 | o : Optional [] : String | semmle.label | o : Optional [] : String | +| FunctionalTest.java:16:27:16:27 | v : String | semmle.label | v : String | +| FunctionalTest.java:17:18:17:18 | v | semmle.label | v | +| FunctionalTest.java:21:9:21:9 | o : Optional [] : String | semmle.label | o : Optional [] : String | +| FunctionalTest.java:21:9:24:10 | map(...) : Optional [] : String | semmle.label | map(...) : Optional [] : String | +| FunctionalTest.java:21:15:21:15 | v : String | semmle.label | v : String | +| FunctionalTest.java:22:18:22:18 | v | semmle.label | v | +| FunctionalTest.java:23:20:23:20 | v : String | semmle.label | v : String | +| FunctionalTest.java:24:22:24:22 | v : String | semmle.label | v : String | +| FunctionalTest.java:25:18:25:18 | v | semmle.label | v | +| FunctionalTest.java:27:9:27:9 | o : Optional [] : String | semmle.label | o : Optional [] : String | +| FunctionalTest.java:27:9:30:10 | flatMap(...) : Optional [] : String | semmle.label | flatMap(...) : Optional [] : String | +| FunctionalTest.java:27:19:27:19 | v : String | semmle.label | v : String | +| FunctionalTest.java:28:18:28:18 | v | semmle.label | v | +| FunctionalTest.java:29:20:29:33 | of(...) : Optional [] : String | semmle.label | of(...) : Optional [] : String | +| FunctionalTest.java:29:32:29:32 | v : String | semmle.label | v : String | +| FunctionalTest.java:30:22:30:22 | v : String | semmle.label | v : String | +| FunctionalTest.java:31:18:31:18 | v | semmle.label | v | +| FunctionalTest.java:33:9:33:9 | o : Optional [] : String | semmle.label | o : Optional [] : String | +| FunctionalTest.java:33:19:33:19 | v : String | semmle.label | v : String | +| FunctionalTest.java:34:18:34:18 | v | semmle.label | v | +| FunctionalTest.java:39:9:39:9 | o : Optional [] : String | semmle.label | o : Optional [] : String | +| FunctionalTest.java:39:9:42:10 | filter(...) : Optional [] : String | semmle.label | filter(...) : Optional [] : String | +| FunctionalTest.java:39:18:39:18 | v : String | semmle.label | v : String | +| FunctionalTest.java:40:18:40:18 | v | semmle.label | v | +| FunctionalTest.java:42:22:42:22 | v : String | semmle.label | v : String | +| FunctionalTest.java:43:18:43:18 | v | semmle.label | v | +| FunctionalTest.java:45:9:48:22 | or(...) : Optional [] : String | semmle.label | or(...) : Optional [] : String | +| FunctionalTest.java:48:15:48:21 | ...->... : new Supplier>(...) { ... } [Optional o, ] : String | semmle.label | ...->... : new Supplier>(...) { ... } [Optional o, ] : String | +| FunctionalTest.java:48:15:48:21 | Optional o : Optional [] : String | semmle.label | Optional o : Optional [] : String | +| FunctionalTest.java:48:15:48:21 | parameter this : new Supplier>(...) { ... } [Optional o, ] : String | semmle.label | parameter this : new Supplier>(...) { ... } [Optional o, ] : String | +| FunctionalTest.java:48:21:48:21 | o : Optional [] : String | semmle.label | o : Optional [] : String | +| FunctionalTest.java:48:21:48:21 | this : new Supplier>(...) { ... } [Optional o, ] : String | semmle.label | this : new Supplier>(...) { ... } [Optional o, ] : String | +| FunctionalTest.java:48:34:48:34 | v : String | semmle.label | v : String | +| FunctionalTest.java:49:18:49:18 | v | semmle.label | v | +| FunctionalTest.java:52:9:52:9 | o : Optional [] : String | semmle.label | o : Optional [] : String | +| FunctionalTest.java:52:9:52:24 | or(...) : Optional [] : String | semmle.label | or(...) : Optional [] : String | +| FunctionalTest.java:52:36:52:36 | v : String | semmle.label | v : String | +| FunctionalTest.java:53:18:53:18 | v | semmle.label | v | +| FunctionalTest.java:55:24:55:53 | orElseGet(...) : String | semmle.label | orElseGet(...) : String | +| FunctionalTest.java:55:45:55:52 | source(...) : String | semmle.label | source(...) : String | +| FunctionalTest.java:56:14:56:18 | value | semmle.label | value | +| Test.java:9:20:9:45 | container : Optional [] : Object | semmle.label | container : Optional [] : Object | +| Test.java:9:57:9:65 | container : Optional [] : Object | semmle.label | container : Optional [] : Object | +| Test.java:9:57:9:71 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:11:34:11:47 | element : Object | semmle.label | element : Object | +| Test.java:11:59:11:78 | of(...) : Optional [] : Object | semmle.label | of(...) : Optional [] : Object | +| Test.java:11:71:11:77 | element : Object | semmle.label | element : Object | +| Test.java:20:26:20:49 | newWithElement(...) : Optional [] : Object | semmle.label | newWithElement(...) : Optional [] : Object | +| Test.java:20:41:20:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:21:10:21:11 | in : Optional [] : Object | semmle.label | in : Optional [] : Object | +| Test.java:21:10:21:24 | filter(...) : Optional [] : Object | semmle.label | filter(...) : Optional [] : Object | +| Test.java:22:9:22:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:22:20:22:22 | out : Optional [] : Object | semmle.label | out : Optional [] : Object | +| Test.java:27:26:27:49 | newWithElement(...) : Optional [] : Object | semmle.label | newWithElement(...) : Optional [] : Object | +| Test.java:27:41:27:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:28:10:28:11 | in : Optional [] : Object | semmle.label | in : Optional [] : Object | +| Test.java:28:10:28:17 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:29:9:29:11 | out | semmle.label | out | +| Test.java:34:16:34:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:34:24:34:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:35:10:35:24 | of(...) : Optional [] : Object | semmle.label | of(...) : Optional [] : Object | +| Test.java:35:22:35:23 | in : Object | semmle.label | in : Object | +| Test.java:36:9:36:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:36:20:36:22 | out : Optional [] : Object | semmle.label | out : Optional [] : Object | +| Test.java:41:16:41:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:41:24:41:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:42:10:42:32 | ofNullable(...) : Optional [] : Object | semmle.label | ofNullable(...) : Optional [] : Object | +| Test.java:42:30:42:31 | in : Object | semmle.label | in : Object | +| Test.java:43:9:43:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:43:20:43:22 | out : Optional [] : Object | semmle.label | out : Optional [] : Object | +| Test.java:48:26:48:49 | newWithElement(...) : Optional [] : Object | semmle.label | newWithElement(...) : Optional [] : Object | +| Test.java:48:41:48:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:49:10:49:11 | in : Optional [] : Object | semmle.label | in : Optional [] : Object | +| Test.java:49:10:49:20 | or(...) : Optional [] : Object | semmle.label | or(...) : Optional [] : Object | +| Test.java:50:9:50:23 | getElement(...) | semmle.label | getElement(...) | +| Test.java:50:20:50:22 | out : Optional [] : Object | semmle.label | out : Optional [] : Object | +| Test.java:55:16:55:31 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:55:24:55:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:57:10:57:28 | orElse(...) : Object | semmle.label | orElse(...) : Object | +| Test.java:57:26:57:27 | in : Object | semmle.label | in : Object | +| Test.java:58:9:58:11 | out | semmle.label | out | +| Test.java:63:26:63:49 | newWithElement(...) : Optional [] : Object | semmle.label | newWithElement(...) : Optional [] : Object | +| Test.java:63:41:63:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:64:10:64:11 | in : Optional [] : Object | semmle.label | in : Optional [] : Object | +| Test.java:64:10:64:24 | orElse(...) : Object | semmle.label | orElse(...) : Object | +| Test.java:65:9:65:11 | out | semmle.label | out | +| Test.java:70:26:70:49 | newWithElement(...) : Optional [] : Object | semmle.label | newWithElement(...) : Optional [] : Object | +| Test.java:70:41:70:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:71:10:71:11 | in : Optional [] : Object | semmle.label | in : Optional [] : Object | +| Test.java:71:10:71:27 | orElseGet(...) : Object | semmle.label | orElseGet(...) : Object | +| Test.java:72:9:72:11 | out | semmle.label | out | +| Test.java:77:26:77:49 | newWithElement(...) : Optional [] : Object | semmle.label | newWithElement(...) : Optional [] : Object | +| Test.java:77:41:77:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:78:10:78:11 | in : Optional [] : Object | semmle.label | in : Optional [] : Object | +| Test.java:78:10:78:29 | orElseThrow(...) : Object | semmle.label | orElseThrow(...) : Object | +| Test.java:79:9:79:11 | out | semmle.label | out | +| Test.java:84:26:84:49 | newWithElement(...) : Optional [] : Object | semmle.label | newWithElement(...) : Optional [] : Object | +| Test.java:84:41:84:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:85:10:85:11 | in : Optional [] : Object | semmle.label | in : Optional [] : Object | +| Test.java:85:10:85:25 | orElseThrow(...) : Object | semmle.label | orElseThrow(...) : Object | +| Test.java:86:9:86:11 | out | semmle.label | out | +| Test.java:91:26:91:49 | newWithElement(...) : Optional [] : Object | semmle.label | newWithElement(...) : Optional [] : Object | +| Test.java:91:41:91:48 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:92:10:92:11 | in : Optional [] : Object | semmle.label | in : Optional [] : Object | +| Test.java:92:10:92:20 | stream(...) : Stream [] : Object | semmle.label | stream(...) : Stream [] : Object | +| Test.java:93:9:93:29 | getStreamElement(...) | semmle.label | getStreamElement(...) | +| Test.java:93:26:93:28 | out : Stream [] : Object | semmle.label | out : Stream [] : Object | +subpaths +| FunctionalTest.java:21:9:21:9 | o : Optional [] : String | FunctionalTest.java:21:15:21:15 | v : String | FunctionalTest.java:23:20:23:20 | v : String | FunctionalTest.java:21:9:24:10 | map(...) : Optional [] : String | +| FunctionalTest.java:27:9:27:9 | o : Optional [] : String | FunctionalTest.java:27:19:27:19 | v : String | FunctionalTest.java:29:20:29:33 | of(...) : Optional [] : String | FunctionalTest.java:27:9:30:10 | flatMap(...) : Optional [] : String | +| FunctionalTest.java:48:15:48:21 | ...->... : new Supplier>(...) { ... } [Optional o, ] : String | FunctionalTest.java:48:15:48:21 | parameter this : new Supplier>(...) { ... } [Optional o, ] : String | FunctionalTest.java:48:21:48:21 | o : Optional [] : String | FunctionalTest.java:45:9:48:22 | or(...) : Optional [] : String | +| Test.java:20:41:20:48 | source(...) : Object | Test.java:11:34:11:47 | element : Object | Test.java:11:59:11:78 | of(...) : Optional [] : Object | Test.java:20:26:20:49 | newWithElement(...) : Optional [] : Object | +| Test.java:22:20:22:22 | out : Optional [] : Object | Test.java:9:20:9:45 | container : Optional [] : Object | Test.java:9:57:9:71 | get(...) : Object | Test.java:22:9:22:23 | getElement(...) | +| Test.java:27:41:27:48 | source(...) : Object | Test.java:11:34:11:47 | element : Object | Test.java:11:59:11:78 | of(...) : Optional [] : Object | Test.java:27:26:27:49 | newWithElement(...) : Optional [] : Object | +| Test.java:36:20:36:22 | out : Optional [] : Object | Test.java:9:20:9:45 | container : Optional [] : Object | Test.java:9:57:9:71 | get(...) : Object | Test.java:36:9:36:23 | getElement(...) | +| Test.java:43:20:43:22 | out : Optional [] : Object | Test.java:9:20:9:45 | container : Optional [] : Object | Test.java:9:57:9:71 | get(...) : Object | Test.java:43:9:43:23 | getElement(...) | +| Test.java:48:41:48:48 | source(...) : Object | Test.java:11:34:11:47 | element : Object | Test.java:11:59:11:78 | of(...) : Optional [] : Object | Test.java:48:26:48:49 | newWithElement(...) : Optional [] : Object | +| Test.java:50:20:50:22 | out : Optional [] : Object | Test.java:9:20:9:45 | container : Optional [] : Object | Test.java:9:57:9:71 | get(...) : Object | Test.java:50:9:50:23 | getElement(...) | +| Test.java:63:41:63:48 | source(...) : Object | Test.java:11:34:11:47 | element : Object | Test.java:11:59:11:78 | of(...) : Optional [] : Object | Test.java:63:26:63:49 | newWithElement(...) : Optional [] : Object | +| Test.java:70:41:70:48 | source(...) : Object | Test.java:11:34:11:47 | element : Object | Test.java:11:59:11:78 | of(...) : Optional [] : Object | Test.java:70:26:70:49 | newWithElement(...) : Optional [] : Object | +| Test.java:77:41:77:48 | source(...) : Object | Test.java:11:34:11:47 | element : Object | Test.java:11:59:11:78 | of(...) : Optional [] : Object | Test.java:77:26:77:49 | newWithElement(...) : Optional [] : Object | +| Test.java:84:41:84:48 | source(...) : Object | Test.java:11:34:11:47 | element : Object | Test.java:11:59:11:78 | of(...) : Optional [] : Object | Test.java:84:26:84:49 | newWithElement(...) : Optional [] : Object | +| Test.java:91:41:91:48 | source(...) : Object | Test.java:11:34:11:47 | element : Object | Test.java:11:59:11:78 | of(...) : Optional [] : Object | Test.java:91:26:91:49 | newWithElement(...) : Optional [] : Object | +testFailures diff --git a/java/ql/test/library-tests/paths/test.expected b/java/ql/test/library-tests/paths/test.expected index e69de29bb2d..bd5171c8b3a 100644 --- a/java/ql/test/library-tests/paths/test.expected +++ b/java/ql/test/library-tests/paths/test.expected @@ -0,0 +1,272 @@ +models +| 1 | Summary: java.io; File; false; File; ; ; Argument[0]; Argument[this]; taint; manual | +| 2 | Summary: java.io; File; false; File; ; ; Argument[1]; Argument[this]; taint; manual | +| 3 | Summary: java.io; File; true; getAbsoluteFile; ; ; Argument[this]; ReturnValue; taint; manual | +| 4 | Summary: java.io; File; true; getAbsolutePath; ; ; Argument[this]; ReturnValue; taint; manual | +| 5 | Summary: java.io; File; true; getCanonicalFile; ; ; Argument[this]; ReturnValue; taint; manual | +| 6 | Summary: java.io; File; true; getCanonicalPath; ; ; Argument[this]; ReturnValue; taint; manual | +| 7 | Summary: java.io; File; true; toPath; ; ; Argument[this]; ReturnValue; taint; manual | +| 8 | Summary: java.io; File; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 9 | Summary: java.io; File; true; toURI; ; ; Argument[this]; ReturnValue; taint; manual | +| 10 | Summary: java.nio.file; FileSystem; true; getPath; (String,String[]); ; Argument[0]; ReturnValue; taint; manual | +| 11 | Summary: java.nio.file; Path; true; getParent; ; ; Argument[this]; ReturnValue; taint; manual | +| 12 | Summary: java.nio.file; Path; true; normalize; ; ; Argument[this]; ReturnValue; taint; manual | +| 13 | Summary: java.nio.file; Path; true; resolve; ; ; Argument[0]; ReturnValue; taint; manual | +| 14 | Summary: java.nio.file; Path; true; resolve; ; ; Argument[this]; ReturnValue; taint; manual | +| 15 | Summary: java.nio.file; Path; true; toAbsolutePath; ; ; Argument[this]; ReturnValue; taint; manual | +| 16 | Summary: java.nio.file; Path; false; toFile; ; ; Argument[this]; ReturnValue; taint; manual | +| 17 | Summary: java.nio.file; Path; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 18 | Summary: java.nio.file; Path; true; toUri; ; ; Argument[this]; ReturnValue; taint; manual | +| 19 | Summary: java.nio.file; Paths; true; get; ; ; Argument[0]; ReturnValue; taint; manual | +| 20 | Summary: java.nio.file; Paths; true; get; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +edges +| Test.java:20:14:20:27 | (...)... : File | Test.java:21:19:21:20 | in : File | provenance | | +| Test.java:20:20:20:27 | source(...) : Object | Test.java:20:14:20:27 | (...)... : File | provenance | | +| Test.java:21:10:21:35 | new File(...) : File | Test.java:22:9:22:11 | out | provenance | | +| Test.java:21:19:21:20 | in : File | Test.java:21:10:21:35 | new File(...) : File | provenance | MaD:1 | +| Test.java:27:16:27:31 | (...)... : String | Test.java:28:19:28:20 | in : String | provenance | | +| Test.java:27:24:27:31 | source(...) : Object | Test.java:27:16:27:31 | (...)... : String | provenance | | +| Test.java:28:10:28:21 | new File(...) : File | Test.java:29:9:29:11 | out | provenance | | +| Test.java:28:19:28:20 | in : String | Test.java:28:10:28:21 | new File(...) : File | provenance | MaD:1 | +| Test.java:34:16:34:31 | (...)... : String | Test.java:35:19:35:20 | in : String | provenance | | +| Test.java:34:24:34:31 | source(...) : Object | Test.java:34:16:34:31 | (...)... : String | provenance | | +| Test.java:35:10:35:35 | new File(...) : File | Test.java:36:9:36:11 | out | provenance | | +| Test.java:35:19:35:20 | in : String | Test.java:35:10:35:35 | new File(...) : File | provenance | MaD:1 | +| Test.java:41:13:41:25 | (...)... : URI | Test.java:42:19:42:20 | in : URI | provenance | | +| Test.java:41:18:41:25 | source(...) : Object | Test.java:41:13:41:25 | (...)... : URI | provenance | | +| Test.java:42:10:42:21 | new File(...) : File | Test.java:43:9:43:11 | out | provenance | | +| Test.java:42:19:42:20 | in : URI | Test.java:42:10:42:21 | new File(...) : File | provenance | MaD:1 | +| Test.java:48:16:48:31 | (...)... : String | Test.java:49:31:49:32 | in : String | provenance | | +| Test.java:48:24:48:31 | source(...) : Object | Test.java:48:16:48:31 | (...)... : String | provenance | | +| Test.java:49:10:49:33 | new File(...) : File | Test.java:50:9:50:11 | out | provenance | | +| Test.java:49:31:49:32 | in : String | Test.java:49:10:49:33 | new File(...) : File | provenance | MaD:2 | +| Test.java:55:16:55:31 | (...)... : String | Test.java:56:33:56:34 | in : String | provenance | | +| Test.java:55:24:55:31 | source(...) : Object | Test.java:55:16:55:31 | (...)... : String | provenance | | +| Test.java:56:10:56:35 | new File(...) : File | Test.java:57:9:57:11 | out | provenance | | +| Test.java:56:33:56:34 | in : String | Test.java:56:10:56:35 | new File(...) : File | provenance | MaD:2 | +| Test.java:62:14:62:27 | (...)... : File | Test.java:63:10:63:11 | in : File | provenance | | +| Test.java:62:20:62:27 | source(...) : Object | Test.java:62:14:62:27 | (...)... : File | provenance | | +| Test.java:63:10:63:11 | in : File | Test.java:63:10:63:29 | getAbsoluteFile(...) : File | provenance | MaD:3 | +| Test.java:63:10:63:29 | getAbsoluteFile(...) : File | Test.java:64:9:64:11 | out | provenance | | +| Test.java:69:14:69:27 | (...)... : File | Test.java:70:10:70:11 | in : File | provenance | | +| Test.java:69:20:69:27 | source(...) : Object | Test.java:69:14:69:27 | (...)... : File | provenance | | +| Test.java:70:10:70:11 | in : File | Test.java:70:10:70:29 | getAbsolutePath(...) : String | provenance | MaD:4 | +| Test.java:70:10:70:29 | getAbsolutePath(...) : String | Test.java:71:9:71:11 | out | provenance | | +| Test.java:76:14:76:27 | (...)... : File | Test.java:77:10:77:11 | in : File | provenance | | +| Test.java:76:20:76:27 | source(...) : Object | Test.java:76:14:76:27 | (...)... : File | provenance | | +| Test.java:77:10:77:11 | in : File | Test.java:77:10:77:30 | getCanonicalFile(...) : File | provenance | MaD:5 | +| Test.java:77:10:77:30 | getCanonicalFile(...) : File | Test.java:78:9:78:11 | out | provenance | | +| Test.java:83:14:83:27 | (...)... : File | Test.java:84:10:84:11 | in : File | provenance | | +| Test.java:83:20:83:27 | source(...) : Object | Test.java:83:14:83:27 | (...)... : File | provenance | | +| Test.java:84:10:84:11 | in : File | Test.java:84:10:84:30 | getCanonicalPath(...) : String | provenance | MaD:6 | +| Test.java:84:10:84:30 | getCanonicalPath(...) : String | Test.java:85:9:85:11 | out | provenance | | +| Test.java:90:14:90:27 | (...)... : File | Test.java:91:10:91:11 | in : File | provenance | | +| Test.java:90:20:90:27 | source(...) : Object | Test.java:90:14:90:27 | (...)... : File | provenance | | +| Test.java:91:10:91:11 | in : File | Test.java:91:10:91:20 | toPath(...) : Path | provenance | MaD:7 | +| Test.java:91:10:91:20 | toPath(...) : Path | Test.java:92:9:92:11 | out | provenance | | +| Test.java:97:14:97:27 | (...)... : File | Test.java:98:10:98:11 | in : File | provenance | | +| Test.java:97:20:97:27 | source(...) : Object | Test.java:97:14:97:27 | (...)... : File | provenance | | +| Test.java:98:10:98:11 | in : File | Test.java:98:10:98:22 | toString(...) : String | provenance | MaD:8 | +| Test.java:98:10:98:22 | toString(...) : String | Test.java:99:9:99:11 | out | provenance | | +| Test.java:104:14:104:27 | (...)... : File | Test.java:105:10:105:11 | in : File | provenance | | +| Test.java:104:20:104:27 | source(...) : Object | Test.java:104:14:104:27 | (...)... : File | provenance | | +| Test.java:105:10:105:11 | in : File | Test.java:105:10:105:19 | toURI(...) : URI | provenance | MaD:9 | +| Test.java:105:10:105:19 | toURI(...) : URI | Test.java:106:9:106:11 | out | provenance | | +| Test.java:111:16:111:31 | (...)... : String | Test.java:113:27:113:28 | in : String | provenance | | +| Test.java:111:24:111:31 | source(...) : Object | Test.java:111:16:111:31 | (...)... : String | provenance | | +| Test.java:113:10:113:45 | getPath(...) : Path | Test.java:114:9:114:11 | out | provenance | | +| Test.java:113:27:113:28 | in : String | Test.java:113:10:113:45 | getPath(...) : Path | provenance | MaD:10 | +| Test.java:119:14:119:27 | (...)... : Path | Test.java:120:10:120:11 | in : Path | provenance | | +| Test.java:119:20:119:27 | source(...) : Object | Test.java:119:14:119:27 | (...)... : Path | provenance | | +| Test.java:120:10:120:11 | in : Path | Test.java:120:10:120:20 | toFile(...) : File | provenance | MaD:16 | +| Test.java:120:10:120:20 | toFile(...) : File | Test.java:121:9:121:11 | out | provenance | | +| Test.java:126:14:126:27 | (...)... : Path | Test.java:127:10:127:11 | in : Path | provenance | | +| Test.java:126:20:126:27 | source(...) : Object | Test.java:126:14:126:27 | (...)... : Path | provenance | | +| Test.java:127:10:127:11 | in : Path | Test.java:127:10:127:23 | getParent(...) : Path | provenance | MaD:11 | +| Test.java:127:10:127:23 | getParent(...) : Path | Test.java:128:9:128:11 | out | provenance | | +| Test.java:133:14:133:27 | (...)... : Path | Test.java:134:10:134:11 | in : Path | provenance | | +| Test.java:133:20:133:27 | source(...) : Object | Test.java:133:14:133:27 | (...)... : Path | provenance | | +| Test.java:134:10:134:11 | in : Path | Test.java:134:10:134:23 | normalize(...) : Path | provenance | MaD:12 | +| Test.java:134:10:134:23 | normalize(...) : Path | Test.java:135:9:135:11 | out | provenance | | +| Test.java:140:14:140:27 | (...)... : Path | Test.java:142:27:142:28 | in : Path | provenance | | +| Test.java:140:20:140:27 | source(...) : Object | Test.java:140:14:140:27 | (...)... : Path | provenance | | +| Test.java:142:10:142:29 | resolve(...) : Path | Test.java:143:9:143:11 | out | provenance | | +| Test.java:142:27:142:28 | in : Path | Test.java:142:10:142:29 | resolve(...) : Path | provenance | MaD:13 | +| Test.java:148:14:148:27 | (...)... : Path | Test.java:149:10:149:11 | in : Path | provenance | | +| Test.java:148:20:148:27 | source(...) : Object | Test.java:148:14:148:27 | (...)... : Path | provenance | | +| Test.java:149:10:149:11 | in : Path | Test.java:149:10:149:31 | resolve(...) : Path | provenance | MaD:14 | +| Test.java:149:10:149:31 | resolve(...) : Path | Test.java:150:9:150:11 | out | provenance | | +| Test.java:155:14:155:27 | (...)... : Path | Test.java:156:10:156:11 | in : Path | provenance | | +| Test.java:155:20:155:27 | source(...) : Object | Test.java:155:14:155:27 | (...)... : Path | provenance | | +| Test.java:156:10:156:11 | in : Path | Test.java:156:10:156:33 | resolve(...) : Path | provenance | MaD:14 | +| Test.java:156:10:156:33 | resolve(...) : Path | Test.java:157:9:157:11 | out | provenance | | +| Test.java:162:16:162:31 | (...)... : String | Test.java:164:27:164:28 | in : String | provenance | | +| Test.java:162:24:162:31 | source(...) : Object | Test.java:162:16:162:31 | (...)... : String | provenance | | +| Test.java:164:10:164:29 | resolve(...) : Path | Test.java:165:9:165:11 | out | provenance | | +| Test.java:164:27:164:28 | in : String | Test.java:164:10:164:29 | resolve(...) : Path | provenance | MaD:13 | +| Test.java:170:14:170:27 | (...)... : Path | Test.java:171:10:171:11 | in : Path | provenance | | +| Test.java:170:20:170:27 | source(...) : Object | Test.java:170:14:170:27 | (...)... : Path | provenance | | +| Test.java:171:10:171:11 | in : Path | Test.java:171:10:171:28 | toAbsolutePath(...) : Path | provenance | MaD:15 | +| Test.java:171:10:171:28 | toAbsolutePath(...) : Path | Test.java:172:9:172:11 | out | provenance | | +| Test.java:177:14:177:27 | (...)... : Path | Test.java:178:10:178:11 | in : Path | provenance | | +| Test.java:177:20:177:27 | source(...) : Object | Test.java:177:14:177:27 | (...)... : Path | provenance | | +| Test.java:178:10:178:11 | in : Path | Test.java:178:10:178:22 | toString(...) : String | provenance | MaD:17 | +| Test.java:178:10:178:22 | toString(...) : String | Test.java:179:9:179:11 | out | provenance | | +| Test.java:184:14:184:27 | (...)... : Path | Test.java:185:10:185:11 | in : Path | provenance | | +| Test.java:184:20:184:27 | source(...) : Object | Test.java:184:14:184:27 | (...)... : Path | provenance | | +| Test.java:185:10:185:11 | in : Path | Test.java:185:10:185:19 | toUri(...) : URI | provenance | MaD:18 | +| Test.java:185:10:185:19 | toUri(...) : URI | Test.java:186:9:186:11 | out | provenance | | +| Test.java:191:16:191:31 | (...)... : String | Test.java:192:20:192:21 | in : String | provenance | | +| Test.java:191:24:191:31 | source(...) : Object | Test.java:191:16:191:31 | (...)... : String | provenance | | +| Test.java:192:10:192:38 | get(...) : Path | Test.java:193:9:193:11 | out | provenance | | +| Test.java:192:20:192:21 | in : String | Test.java:192:10:192:38 | get(...) : Path | provenance | MaD:19 | +| Test.java:198:13:198:25 | (...)... : URI | Test.java:199:20:199:21 | in : URI | provenance | | +| Test.java:198:18:198:25 | source(...) : Object | Test.java:198:13:198:25 | (...)... : URI | provenance | | +| Test.java:199:10:199:22 | get(...) : Path | Test.java:200:9:200:11 | out | provenance | | +| Test.java:199:20:199:21 | in : URI | Test.java:199:10:199:22 | get(...) : Path | provenance | MaD:19 | +| Test.java:205:18:205:57 | (...)... : String[] [[]] : String | Test.java:206:34:206:35 | in : String[] [[]] : String | provenance | | +| Test.java:205:28:205:57 | {...} : String[] [[]] : String | Test.java:205:18:205:57 | (...)... : String[] [[]] : String | provenance | | +| Test.java:205:41:205:56 | (...)... : String | Test.java:205:28:205:57 | {...} : String[] [[]] : String | provenance | | +| Test.java:205:49:205:56 | source(...) : Object | Test.java:205:41:205:56 | (...)... : String | provenance | | +| Test.java:206:10:206:36 | get(...) : Path | Test.java:207:9:207:11 | out | provenance | | +| Test.java:206:34:206:35 | in : String[] [[]] : String | Test.java:206:10:206:36 | get(...) : Path | provenance | MaD:20 | +nodes +| Test.java:20:14:20:27 | (...)... : File | semmle.label | (...)... : File | +| Test.java:20:20:20:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:21:10:21:35 | new File(...) : File | semmle.label | new File(...) : File | +| Test.java:21:19:21:20 | in : File | semmle.label | in : File | +| Test.java:22:9:22:11 | out | semmle.label | out | +| Test.java:27:16:27:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:27:24:27:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:28:10:28:21 | new File(...) : File | semmle.label | new File(...) : File | +| Test.java:28:19:28:20 | in : String | semmle.label | in : String | +| Test.java:29:9:29:11 | out | semmle.label | out | +| Test.java:34:16:34:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:34:24:34:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:35:10:35:35 | new File(...) : File | semmle.label | new File(...) : File | +| Test.java:35:19:35:20 | in : String | semmle.label | in : String | +| Test.java:36:9:36:11 | out | semmle.label | out | +| Test.java:41:13:41:25 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:41:18:41:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:42:10:42:21 | new File(...) : File | semmle.label | new File(...) : File | +| Test.java:42:19:42:20 | in : URI | semmle.label | in : URI | +| Test.java:43:9:43:11 | out | semmle.label | out | +| Test.java:48:16:48:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:48:24:48:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:49:10:49:33 | new File(...) : File | semmle.label | new File(...) : File | +| Test.java:49:31:49:32 | in : String | semmle.label | in : String | +| Test.java:50:9:50:11 | out | semmle.label | out | +| Test.java:55:16:55:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:55:24:55:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:56:10:56:35 | new File(...) : File | semmle.label | new File(...) : File | +| Test.java:56:33:56:34 | in : String | semmle.label | in : String | +| Test.java:57:9:57:11 | out | semmle.label | out | +| Test.java:62:14:62:27 | (...)... : File | semmle.label | (...)... : File | +| Test.java:62:20:62:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:63:10:63:11 | in : File | semmle.label | in : File | +| Test.java:63:10:63:29 | getAbsoluteFile(...) : File | semmle.label | getAbsoluteFile(...) : File | +| Test.java:64:9:64:11 | out | semmle.label | out | +| Test.java:69:14:69:27 | (...)... : File | semmle.label | (...)... : File | +| Test.java:69:20:69:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:70:10:70:11 | in : File | semmle.label | in : File | +| Test.java:70:10:70:29 | getAbsolutePath(...) : String | semmle.label | getAbsolutePath(...) : String | +| Test.java:71:9:71:11 | out | semmle.label | out | +| Test.java:76:14:76:27 | (...)... : File | semmle.label | (...)... : File | +| Test.java:76:20:76:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:77:10:77:11 | in : File | semmle.label | in : File | +| Test.java:77:10:77:30 | getCanonicalFile(...) : File | semmle.label | getCanonicalFile(...) : File | +| Test.java:78:9:78:11 | out | semmle.label | out | +| Test.java:83:14:83:27 | (...)... : File | semmle.label | (...)... : File | +| Test.java:83:20:83:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:84:10:84:11 | in : File | semmle.label | in : File | +| Test.java:84:10:84:30 | getCanonicalPath(...) : String | semmle.label | getCanonicalPath(...) : String | +| Test.java:85:9:85:11 | out | semmle.label | out | +| Test.java:90:14:90:27 | (...)... : File | semmle.label | (...)... : File | +| Test.java:90:20:90:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:91:10:91:11 | in : File | semmle.label | in : File | +| Test.java:91:10:91:20 | toPath(...) : Path | semmle.label | toPath(...) : Path | +| Test.java:92:9:92:11 | out | semmle.label | out | +| Test.java:97:14:97:27 | (...)... : File | semmle.label | (...)... : File | +| Test.java:97:20:97:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:98:10:98:11 | in : File | semmle.label | in : File | +| Test.java:98:10:98:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:99:9:99:11 | out | semmle.label | out | +| Test.java:104:14:104:27 | (...)... : File | semmle.label | (...)... : File | +| Test.java:104:20:104:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:105:10:105:11 | in : File | semmle.label | in : File | +| Test.java:105:10:105:19 | toURI(...) : URI | semmle.label | toURI(...) : URI | +| Test.java:106:9:106:11 | out | semmle.label | out | +| Test.java:111:16:111:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:111:24:111:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:113:10:113:45 | getPath(...) : Path | semmle.label | getPath(...) : Path | +| Test.java:113:27:113:28 | in : String | semmle.label | in : String | +| Test.java:114:9:114:11 | out | semmle.label | out | +| Test.java:119:14:119:27 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:119:20:119:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:120:10:120:11 | in : Path | semmle.label | in : Path | +| Test.java:120:10:120:20 | toFile(...) : File | semmle.label | toFile(...) : File | +| Test.java:121:9:121:11 | out | semmle.label | out | +| Test.java:126:14:126:27 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:126:20:126:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:127:10:127:11 | in : Path | semmle.label | in : Path | +| Test.java:127:10:127:23 | getParent(...) : Path | semmle.label | getParent(...) : Path | +| Test.java:128:9:128:11 | out | semmle.label | out | +| Test.java:133:14:133:27 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:133:20:133:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:134:10:134:11 | in : Path | semmle.label | in : Path | +| Test.java:134:10:134:23 | normalize(...) : Path | semmle.label | normalize(...) : Path | +| Test.java:135:9:135:11 | out | semmle.label | out | +| Test.java:140:14:140:27 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:140:20:140:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:142:10:142:29 | resolve(...) : Path | semmle.label | resolve(...) : Path | +| Test.java:142:27:142:28 | in : Path | semmle.label | in : Path | +| Test.java:143:9:143:11 | out | semmle.label | out | +| Test.java:148:14:148:27 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:148:20:148:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:149:10:149:11 | in : Path | semmle.label | in : Path | +| Test.java:149:10:149:31 | resolve(...) : Path | semmle.label | resolve(...) : Path | +| Test.java:150:9:150:11 | out | semmle.label | out | +| Test.java:155:14:155:27 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:155:20:155:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:156:10:156:11 | in : Path | semmle.label | in : Path | +| Test.java:156:10:156:33 | resolve(...) : Path | semmle.label | resolve(...) : Path | +| Test.java:157:9:157:11 | out | semmle.label | out | +| Test.java:162:16:162:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:162:24:162:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:164:10:164:29 | resolve(...) : Path | semmle.label | resolve(...) : Path | +| Test.java:164:27:164:28 | in : String | semmle.label | in : String | +| Test.java:165:9:165:11 | out | semmle.label | out | +| Test.java:170:14:170:27 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:170:20:170:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:171:10:171:11 | in : Path | semmle.label | in : Path | +| Test.java:171:10:171:28 | toAbsolutePath(...) : Path | semmle.label | toAbsolutePath(...) : Path | +| Test.java:172:9:172:11 | out | semmle.label | out | +| Test.java:177:14:177:27 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:177:20:177:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:178:10:178:11 | in : Path | semmle.label | in : Path | +| Test.java:178:10:178:22 | toString(...) : String | semmle.label | toString(...) : String | +| Test.java:179:9:179:11 | out | semmle.label | out | +| Test.java:184:14:184:27 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:184:20:184:27 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:185:10:185:11 | in : Path | semmle.label | in : Path | +| Test.java:185:10:185:19 | toUri(...) : URI | semmle.label | toUri(...) : URI | +| Test.java:186:9:186:11 | out | semmle.label | out | +| Test.java:191:16:191:31 | (...)... : String | semmle.label | (...)... : String | +| Test.java:191:24:191:31 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:192:10:192:38 | get(...) : Path | semmle.label | get(...) : Path | +| Test.java:192:20:192:21 | in : String | semmle.label | in : String | +| Test.java:193:9:193:11 | out | semmle.label | out | +| Test.java:198:13:198:25 | (...)... : URI | semmle.label | (...)... : URI | +| Test.java:198:18:198:25 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:199:10:199:22 | get(...) : Path | semmle.label | get(...) : Path | +| Test.java:199:20:199:21 | in : URI | semmle.label | in : URI | +| Test.java:200:9:200:11 | out | semmle.label | out | +| Test.java:205:18:205:57 | (...)... : String[] [[]] : String | semmle.label | (...)... : String[] [[]] : String | +| Test.java:205:28:205:57 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String | +| Test.java:205:41:205:56 | (...)... : String | semmle.label | (...)... : String | +| Test.java:205:49:205:56 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:206:10:206:36 | get(...) : Path | semmle.label | get(...) : Path | +| Test.java:206:34:206:35 | in : String[] [[]] : String | semmle.label | in : String[] [[]] : String | +| Test.java:207:9:207:11 | out | semmle.label | out | +subpaths +testFailures diff --git a/java/ql/test/library-tests/regex/test.expected b/java/ql/test/library-tests/regex/test.expected index e69de29bb2d..bfe03ba33c9 100644 --- a/java/ql/test/library-tests/regex/test.expected +++ b/java/ql/test/library-tests/regex/test.expected @@ -0,0 +1,132 @@ +models +| 1 | Summary: java.util.regex; Matcher; false; group; ; ; Argument[this]; ReturnValue; taint; manual | +| 2 | Summary: java.util.regex; Matcher; false; replaceAll; ; ; Argument[this]; ReturnValue; taint; manual | +| 3 | Summary: java.util.regex; Matcher; false; replaceAll; ; ; Argument[0]; ReturnValue; taint; manual | +| 4 | Summary: java.util.regex; Matcher; false; replaceFirst; ; ; Argument[this]; ReturnValue; taint; manual | +| 5 | Summary: java.util.regex; Matcher; false; replaceFirst; ; ; Argument[0]; ReturnValue; taint; manual | +| 6 | Summary: java.util.regex; Pattern; false; matcher; ; ; Argument[0]; ReturnValue; taint; manual | +| 7 | Summary: java.util.regex; Pattern; false; quote; ; ; Argument[0]; ReturnValue; taint; manual | +| 8 | Summary: java.util.regex; Pattern; false; split; ; ; Argument[0]; ReturnValue; taint; manual | +edges +| Test.java:20:19:20:35 | (...)... : String | Test.java:21:35:21:36 | in : String | provenance | | +| Test.java:20:28:20:35 | source(...) : Object | Test.java:20:19:20:35 | (...)... : String | provenance | | +| Test.java:21:19:21:37 | matcher(...) : Matcher | Test.java:22:13:22:13 | m : Matcher | provenance | | +| Test.java:21:35:21:36 | in : String | Test.java:21:19:21:37 | matcher(...) : Matcher | provenance | MaD:6 | +| Test.java:22:13:22:13 | m : Matcher | Test.java:22:13:22:26 | group(...) : String | provenance | MaD:1 | +| Test.java:22:13:22:26 | group(...) : String | Test.java:23:12:23:14 | out | provenance | | +| Test.java:28:19:28:35 | (...)... : String | Test.java:29:35:29:36 | in : String | provenance | | +| Test.java:28:28:28:35 | source(...) : Object | Test.java:28:19:28:35 | (...)... : String | provenance | | +| Test.java:29:19:29:37 | matcher(...) : Matcher | Test.java:30:13:30:13 | m : Matcher | provenance | | +| Test.java:29:35:29:36 | in : String | Test.java:29:19:29:37 | matcher(...) : Matcher | provenance | MaD:6 | +| Test.java:30:13:30:13 | m : Matcher | Test.java:30:13:30:21 | group(...) : String | provenance | MaD:1 | +| Test.java:30:13:30:21 | group(...) : String | Test.java:31:12:31:14 | out | provenance | | +| Test.java:36:19:36:35 | (...)... : String | Test.java:37:35:37:36 | in : String | provenance | | +| Test.java:36:28:36:35 | source(...) : Object | Test.java:36:19:36:35 | (...)... : String | provenance | | +| Test.java:37:19:37:37 | matcher(...) : Matcher | Test.java:38:13:38:13 | m : Matcher | provenance | | +| Test.java:37:35:37:36 | in : String | Test.java:37:19:37:37 | matcher(...) : Matcher | provenance | MaD:6 | +| Test.java:38:13:38:13 | m : Matcher | Test.java:38:13:38:22 | group(...) : String | provenance | MaD:1 | +| Test.java:38:13:38:22 | group(...) : String | Test.java:39:12:39:14 | out | provenance | | +| Test.java:44:19:44:35 | (...)... : String | Test.java:45:35:45:36 | in : String | provenance | | +| Test.java:44:28:44:35 | source(...) : Object | Test.java:44:19:44:35 | (...)... : String | provenance | | +| Test.java:45:19:45:37 | matcher(...) : Matcher | Test.java:46:13:46:13 | m : Matcher | provenance | | +| Test.java:45:35:45:36 | in : String | Test.java:45:19:45:37 | matcher(...) : Matcher | provenance | MaD:6 | +| Test.java:46:13:46:13 | m : Matcher | Test.java:46:13:46:31 | replaceAll(...) : String | provenance | MaD:2 | +| Test.java:46:13:46:31 | replaceAll(...) : String | Test.java:47:12:47:14 | out | provenance | | +| Test.java:52:19:52:35 | (...)... : String | Test.java:54:26:54:27 | in : String | provenance | | +| Test.java:52:28:52:35 | source(...) : Object | Test.java:52:19:52:35 | (...)... : String | provenance | | +| Test.java:54:13:54:28 | replaceAll(...) : String | Test.java:55:12:55:14 | out | provenance | | +| Test.java:54:26:54:27 | in : String | Test.java:54:13:54:28 | replaceAll(...) : String | provenance | MaD:3 | +| Test.java:60:19:60:35 | (...)... : String | Test.java:61:35:61:36 | in : String | provenance | | +| Test.java:60:28:60:35 | source(...) : Object | Test.java:60:19:60:35 | (...)... : String | provenance | | +| Test.java:61:19:61:37 | matcher(...) : Matcher | Test.java:62:13:62:13 | m : Matcher | provenance | | +| Test.java:61:35:61:36 | in : String | Test.java:61:19:61:37 | matcher(...) : Matcher | provenance | MaD:6 | +| Test.java:62:13:62:13 | m : Matcher | Test.java:62:13:62:33 | replaceFirst(...) : String | provenance | MaD:4 | +| Test.java:62:13:62:33 | replaceFirst(...) : String | Test.java:63:12:63:14 | out | provenance | | +| Test.java:68:19:68:35 | (...)... : String | Test.java:70:28:70:29 | in : String | provenance | | +| Test.java:68:28:68:35 | source(...) : Object | Test.java:68:19:68:35 | (...)... : String | provenance | | +| Test.java:70:13:70:30 | replaceFirst(...) : String | Test.java:71:12:71:14 | out | provenance | | +| Test.java:70:28:70:29 | in : String | Test.java:70:13:70:30 | replaceFirst(...) : String | provenance | MaD:5 | +| Test.java:76:25:76:46 | (...)... : CharSequence | Test.java:77:29:77:30 | in : CharSequence | provenance | | +| Test.java:76:39:76:46 | source(...) : Object | Test.java:76:25:76:46 | (...)... : CharSequence | provenance | | +| Test.java:77:13:77:31 | matcher(...) : Matcher | Test.java:78:12:78:14 | out | provenance | | +| Test.java:77:29:77:30 | in : CharSequence | Test.java:77:13:77:31 | matcher(...) : Matcher | provenance | MaD:6 | +| Test.java:83:19:83:34 | (...)... : String | Test.java:84:27:84:28 | in : String | provenance | | +| Test.java:83:27:83:34 | source(...) : Object | Test.java:83:19:83:34 | (...)... : String | provenance | | +| Test.java:84:13:84:29 | quote(...) : String | Test.java:85:12:85:14 | out | provenance | | +| Test.java:84:27:84:28 | in : String | Test.java:84:13:84:29 | quote(...) : String | provenance | MaD:7 | +| Test.java:90:25:90:46 | (...)... : CharSequence | Test.java:91:27:91:28 | in : CharSequence | provenance | | +| Test.java:90:39:90:46 | source(...) : Object | Test.java:90:25:90:46 | (...)... : CharSequence | provenance | | +| Test.java:91:13:91:29 | split(...) : String[] | Test.java:92:12:92:14 | out | provenance | | +| Test.java:91:27:91:28 | in : CharSequence | Test.java:91:13:91:29 | split(...) : String[] | provenance | MaD:8 | +| Test.java:97:25:97:46 | (...)... : CharSequence | Test.java:98:27:98:28 | in : CharSequence | provenance | | +| Test.java:97:39:97:46 | source(...) : Object | Test.java:97:25:97:46 | (...)... : CharSequence | provenance | | +| Test.java:98:13:98:32 | split(...) : String[] | Test.java:99:12:99:14 | out | provenance | | +| Test.java:98:27:98:28 | in : CharSequence | Test.java:98:13:98:32 | split(...) : String[] | provenance | MaD:8 | +nodes +| Test.java:20:19:20:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:20:28:20:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:21:19:21:37 | matcher(...) : Matcher | semmle.label | matcher(...) : Matcher | +| Test.java:21:35:21:36 | in : String | semmle.label | in : String | +| Test.java:22:13:22:13 | m : Matcher | semmle.label | m : Matcher | +| Test.java:22:13:22:26 | group(...) : String | semmle.label | group(...) : String | +| Test.java:23:12:23:14 | out | semmle.label | out | +| Test.java:28:19:28:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:28:28:28:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:29:19:29:37 | matcher(...) : Matcher | semmle.label | matcher(...) : Matcher | +| Test.java:29:35:29:36 | in : String | semmle.label | in : String | +| Test.java:30:13:30:13 | m : Matcher | semmle.label | m : Matcher | +| Test.java:30:13:30:21 | group(...) : String | semmle.label | group(...) : String | +| Test.java:31:12:31:14 | out | semmle.label | out | +| Test.java:36:19:36:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:36:28:36:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:37:19:37:37 | matcher(...) : Matcher | semmle.label | matcher(...) : Matcher | +| Test.java:37:35:37:36 | in : String | semmle.label | in : String | +| Test.java:38:13:38:13 | m : Matcher | semmle.label | m : Matcher | +| Test.java:38:13:38:22 | group(...) : String | semmle.label | group(...) : String | +| Test.java:39:12:39:14 | out | semmle.label | out | +| Test.java:44:19:44:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:44:28:44:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:45:19:45:37 | matcher(...) : Matcher | semmle.label | matcher(...) : Matcher | +| Test.java:45:35:45:36 | in : String | semmle.label | in : String | +| Test.java:46:13:46:13 | m : Matcher | semmle.label | m : Matcher | +| Test.java:46:13:46:31 | replaceAll(...) : String | semmle.label | replaceAll(...) : String | +| Test.java:47:12:47:14 | out | semmle.label | out | +| Test.java:52:19:52:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:52:28:52:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:54:13:54:28 | replaceAll(...) : String | semmle.label | replaceAll(...) : String | +| Test.java:54:26:54:27 | in : String | semmle.label | in : String | +| Test.java:55:12:55:14 | out | semmle.label | out | +| Test.java:60:19:60:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:60:28:60:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:61:19:61:37 | matcher(...) : Matcher | semmle.label | matcher(...) : Matcher | +| Test.java:61:35:61:36 | in : String | semmle.label | in : String | +| Test.java:62:13:62:13 | m : Matcher | semmle.label | m : Matcher | +| Test.java:62:13:62:33 | replaceFirst(...) : String | semmle.label | replaceFirst(...) : String | +| Test.java:63:12:63:14 | out | semmle.label | out | +| Test.java:68:19:68:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:68:28:68:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:70:13:70:30 | replaceFirst(...) : String | semmle.label | replaceFirst(...) : String | +| Test.java:70:28:70:29 | in : String | semmle.label | in : String | +| Test.java:71:12:71:14 | out | semmle.label | out | +| Test.java:76:25:76:46 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:76:39:76:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:77:13:77:31 | matcher(...) : Matcher | semmle.label | matcher(...) : Matcher | +| Test.java:77:29:77:30 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:78:12:78:14 | out | semmle.label | out | +| Test.java:83:19:83:34 | (...)... : String | semmle.label | (...)... : String | +| Test.java:83:27:83:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:84:13:84:29 | quote(...) : String | semmle.label | quote(...) : String | +| Test.java:84:27:84:28 | in : String | semmle.label | in : String | +| Test.java:85:12:85:14 | out | semmle.label | out | +| Test.java:90:25:90:46 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:90:39:90:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:91:13:91:29 | split(...) : String[] | semmle.label | split(...) : String[] | +| Test.java:91:27:91:28 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:92:12:92:14 | out | semmle.label | out | +| Test.java:97:25:97:46 | (...)... : CharSequence | semmle.label | (...)... : CharSequence | +| Test.java:97:39:97:46 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:98:13:98:32 | split(...) : String[] | semmle.label | split(...) : String[] | +| Test.java:98:27:98:28 | in : CharSequence | semmle.label | in : CharSequence | +| Test.java:99:12:99:14 | out | semmle.label | out | +subpaths +testFailures diff --git a/java/ql/test/library-tests/scanner/test.expected b/java/ql/test/library-tests/scanner/test.expected index e69de29bb2d..1504f8cf352 100644 --- a/java/ql/test/library-tests/scanner/test.expected +++ b/java/ql/test/library-tests/scanner/test.expected @@ -0,0 +1,413 @@ +models +| 1 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | +| 2 | Summary: java.util; Scanner; true; Scanner; ; ; Argument[0]; Argument[this]; taint; manual | +| 3 | Summary: java.util; Scanner; true; findInLine; ; ; Argument[this]; ReturnValue; taint; manual | +| 4 | Summary: java.util; Scanner; true; findWithinHorizon; ; ; Argument[this]; ReturnValue; taint; manual | +| 5 | Summary: java.util; Scanner; true; next; ; ; Argument[this]; ReturnValue; taint; manual | +| 6 | Summary: java.util; Scanner; true; nextBigDecimal; ; ; Argument[this]; ReturnValue; taint; manual | +| 7 | Summary: java.util; Scanner; true; nextBigInteger; ; ; Argument[this]; ReturnValue; taint; manual | +| 8 | Summary: java.util; Scanner; true; nextBoolean; ; ; Argument[this]; ReturnValue; taint; manual | +| 9 | Summary: java.util; Scanner; true; nextByte; ; ; Argument[this]; ReturnValue; taint; manual | +| 10 | Summary: java.util; Scanner; true; nextDouble; ; ; Argument[this]; ReturnValue; taint; manual | +| 11 | Summary: java.util; Scanner; true; nextFloat; ; ; Argument[this]; ReturnValue; taint; manual | +| 12 | Summary: java.util; Scanner; true; nextInt; ; ; Argument[this]; ReturnValue; taint; manual | +| 13 | Summary: java.util; Scanner; true; nextLine; ; ; Argument[this]; ReturnValue; taint; manual | +| 14 | Summary: java.util; Scanner; true; nextLong; ; ; Argument[this]; ReturnValue; taint; manual | +| 15 | Summary: java.util; Scanner; true; nextShort; ; ; Argument[this]; ReturnValue; taint; manual | +| 16 | Summary: java.util; Scanner; true; reset; ; ; Argument[this]; ReturnValue; value; manual | +| 17 | Summary: java.util; Scanner; true; skip; ; ; Argument[this]; ReturnValue; value; manual | +| 18 | Summary: java.util; Scanner; true; useDelimiter; ; ; Argument[this]; ReturnValue; value; manual | +| 19 | Summary: java.util; Scanner; true; useLocale; ; ; Argument[this]; ReturnValue; value; manual | +| 20 | Summary: java.util; Scanner; true; useRadix; ; ; Argument[this]; ReturnValue; value; manual | +edges +| Test.java:27:14:27:28 | (...)... : File | Test.java:28:22:28:23 | in : File | provenance | | +| Test.java:27:21:27:28 | source(...) : Object | Test.java:27:14:27:28 | (...)... : File | provenance | | +| Test.java:28:10:28:24 | new Scanner(...) : Scanner | Test.java:29:9:29:11 | out | provenance | | +| Test.java:28:22:28:23 | in : File | Test.java:28:10:28:24 | new Scanner(...) : Scanner | provenance | MaD:2 | +| Test.java:34:14:34:28 | (...)... : File | Test.java:35:22:35:23 | in : File | provenance | | +| Test.java:34:21:34:28 | source(...) : Object | Test.java:34:14:34:28 | (...)... : File | provenance | | +| Test.java:35:10:35:40 | new Scanner(...) : Scanner | Test.java:36:9:36:11 | out | provenance | | +| Test.java:35:22:35:23 | in : File | Test.java:35:10:35:40 | new Scanner(...) : Scanner | provenance | MaD:2 | +| Test.java:41:14:41:28 | (...)... : File | Test.java:42:22:42:23 | in : File | provenance | | +| Test.java:41:21:41:28 | source(...) : Object | Test.java:41:14:41:28 | (...)... : File | provenance | | +| Test.java:42:10:42:39 | new Scanner(...) : Scanner | Test.java:43:9:43:11 | out | provenance | | +| Test.java:42:22:42:23 | in : File | Test.java:42:10:42:39 | new Scanner(...) : Scanner | provenance | MaD:2 | +| Test.java:48:21:48:42 | (...)... : InputStream | Test.java:49:22:49:23 | in : InputStream | provenance | | +| Test.java:48:35:48:42 | source(...) : Object | Test.java:48:21:48:42 | (...)... : InputStream | provenance | | +| Test.java:49:10:49:24 | new Scanner(...) : Scanner | Test.java:50:9:50:11 | out | provenance | | +| Test.java:49:22:49:23 | in : InputStream | Test.java:49:10:49:24 | new Scanner(...) : Scanner | provenance | MaD:2 | +| Test.java:55:21:55:42 | (...)... : InputStream | Test.java:56:22:56:23 | in : InputStream | provenance | | +| Test.java:55:35:55:42 | source(...) : Object | Test.java:55:21:55:42 | (...)... : InputStream | provenance | | +| Test.java:56:10:56:40 | new Scanner(...) : Scanner | Test.java:57:9:57:11 | out | provenance | | +| Test.java:56:22:56:23 | in : InputStream | Test.java:56:10:56:40 | new Scanner(...) : Scanner | provenance | MaD:2 | +| Test.java:62:21:62:42 | (...)... : InputStream | Test.java:63:22:63:23 | in : InputStream | provenance | | +| Test.java:62:35:62:42 | source(...) : Object | Test.java:62:21:62:42 | (...)... : InputStream | provenance | | +| Test.java:63:10:63:39 | new Scanner(...) : Scanner | Test.java:64:9:64:11 | out | provenance | | +| Test.java:63:22:63:23 | in : InputStream | Test.java:63:10:63:39 | new Scanner(...) : Scanner | provenance | MaD:2 | +| Test.java:69:14:69:28 | (...)... : Path | Test.java:70:22:70:23 | in : Path | provenance | | +| Test.java:69:21:69:28 | source(...) : Object | Test.java:69:14:69:28 | (...)... : Path | provenance | | +| Test.java:70:10:70:24 | new Scanner(...) : Scanner | Test.java:71:9:71:11 | out | provenance | | +| Test.java:70:22:70:23 | in : Path | Test.java:70:10:70:24 | new Scanner(...) : Scanner | provenance | MaD:2 | +| Test.java:76:14:76:28 | (...)... : Path | Test.java:77:22:77:23 | in : Path | provenance | | +| Test.java:76:21:76:28 | source(...) : Object | Test.java:76:14:76:28 | (...)... : Path | provenance | | +| Test.java:77:10:77:40 | new Scanner(...) : Scanner | Test.java:78:9:78:11 | out | provenance | | +| Test.java:77:22:77:23 | in : Path | Test.java:77:10:77:40 | new Scanner(...) : Scanner | provenance | MaD:2 | +| Test.java:83:14:83:28 | (...)... : Path | Test.java:84:22:84:23 | in : Path | provenance | | +| Test.java:83:21:83:28 | source(...) : Object | Test.java:83:14:83:28 | (...)... : Path | provenance | | +| Test.java:84:10:84:39 | new Scanner(...) : Scanner | Test.java:85:9:85:11 | out | provenance | | +| Test.java:84:22:84:23 | in : Path | Test.java:84:10:84:39 | new Scanner(...) : Scanner | provenance | MaD:2 | +| Test.java:90:18:90:36 | (...)... : Readable | Test.java:91:22:91:23 | in : Readable | provenance | | +| Test.java:90:29:90:36 | source(...) : Object | Test.java:90:18:90:36 | (...)... : Readable | provenance | | +| Test.java:91:10:91:24 | new Scanner(...) : Scanner | Test.java:92:9:92:11 | out | provenance | | +| Test.java:91:22:91:23 | in : Readable | Test.java:91:10:91:24 | new Scanner(...) : Scanner | provenance | MaD:2 | +| Test.java:97:29:97:58 | (...)... : ReadableByteChannel | Test.java:98:22:98:23 | in : ReadableByteChannel | provenance | | +| Test.java:97:51:97:58 | source(...) : Object | Test.java:97:29:97:58 | (...)... : ReadableByteChannel | provenance | | +| Test.java:98:10:98:24 | new Scanner(...) : Scanner | Test.java:99:9:99:11 | out | provenance | | +| Test.java:98:22:98:23 | in : ReadableByteChannel | Test.java:98:10:98:24 | new Scanner(...) : Scanner | provenance | MaD:2 | +| Test.java:104:29:104:58 | (...)... : ReadableByteChannel | Test.java:105:22:105:23 | in : ReadableByteChannel | provenance | | +| Test.java:104:51:104:58 | source(...) : Object | Test.java:104:29:104:58 | (...)... : ReadableByteChannel | provenance | | +| Test.java:105:10:105:40 | new Scanner(...) : Scanner | Test.java:106:9:106:11 | out | provenance | | +| Test.java:105:22:105:23 | in : ReadableByteChannel | Test.java:105:10:105:40 | new Scanner(...) : Scanner | provenance | MaD:2 | +| Test.java:111:29:111:58 | (...)... : ReadableByteChannel | Test.java:112:22:112:23 | in : ReadableByteChannel | provenance | | +| Test.java:111:51:111:58 | source(...) : Object | Test.java:111:29:111:58 | (...)... : ReadableByteChannel | provenance | | +| Test.java:112:10:112:39 | new Scanner(...) : Scanner | Test.java:113:9:113:11 | out | provenance | | +| Test.java:112:22:112:23 | in : ReadableByteChannel | Test.java:112:10:112:39 | new Scanner(...) : Scanner | provenance | MaD:2 | +| Test.java:118:16:118:32 | (...)... : String | Test.java:119:22:119:23 | in : String | provenance | | +| Test.java:118:25:118:32 | source(...) : Object | Test.java:118:16:118:32 | (...)... : String | provenance | | +| Test.java:119:10:119:24 | new Scanner(...) : Scanner | Test.java:120:9:120:11 | out | provenance | | +| Test.java:119:22:119:23 | in : String | Test.java:119:10:119:24 | new Scanner(...) : Scanner | provenance | MaD:2 | +| Test.java:125:17:125:34 | (...)... : Scanner | Test.java:126:10:126:11 | in : Scanner | provenance | | +| Test.java:125:27:125:34 | source(...) : Object | Test.java:125:17:125:34 | (...)... : Scanner | provenance | | +| Test.java:126:10:126:11 | in : Scanner | Test.java:126:10:126:38 | findInLine(...) : String | provenance | MaD:3 | +| Test.java:126:10:126:38 | findInLine(...) : String | Test.java:127:9:127:11 | out | provenance | | +| Test.java:132:17:132:34 | (...)... : Scanner | Test.java:133:10:133:11 | in : Scanner | provenance | | +| Test.java:132:27:132:34 | source(...) : Object | Test.java:132:17:132:34 | (...)... : Scanner | provenance | | +| Test.java:133:10:133:11 | in : Scanner | Test.java:133:10:133:37 | findInLine(...) : String | provenance | MaD:3 | +| Test.java:133:10:133:37 | findInLine(...) : String | Test.java:134:9:134:11 | out | provenance | | +| Test.java:139:17:139:34 | (...)... : Scanner | Test.java:140:10:140:11 | in : Scanner | provenance | | +| Test.java:139:27:139:34 | source(...) : Object | Test.java:139:17:139:34 | (...)... : Scanner | provenance | | +| Test.java:140:10:140:11 | in : Scanner | Test.java:140:10:140:48 | findWithinHorizon(...) : String | provenance | MaD:4 | +| Test.java:140:10:140:48 | findWithinHorizon(...) : String | Test.java:141:9:141:11 | out | provenance | | +| Test.java:146:17:146:34 | (...)... : Scanner | Test.java:147:10:147:11 | in : Scanner | provenance | | +| Test.java:146:27:146:34 | source(...) : Object | Test.java:146:17:146:34 | (...)... : Scanner | provenance | | +| Test.java:147:10:147:11 | in : Scanner | Test.java:147:10:147:47 | findWithinHorizon(...) : String | provenance | MaD:4 | +| Test.java:147:10:147:47 | findWithinHorizon(...) : String | Test.java:148:9:148:11 | out | provenance | | +| Test.java:153:17:153:34 | (...)... : Scanner | Test.java:154:10:154:11 | in : Scanner | provenance | | +| Test.java:153:27:153:34 | source(...) : Object | Test.java:153:17:153:34 | (...)... : Scanner | provenance | | +| Test.java:154:10:154:11 | in : Scanner | Test.java:154:10:154:32 | next(...) : String | provenance | MaD:5 | +| Test.java:154:10:154:32 | next(...) : String | Test.java:155:9:155:11 | out | provenance | | +| Test.java:160:17:160:34 | (...)... : Scanner | Test.java:161:10:161:11 | in : Scanner | provenance | | +| Test.java:160:27:160:34 | source(...) : Object | Test.java:160:17:160:34 | (...)... : Scanner | provenance | | +| Test.java:161:10:161:11 | in : Scanner | Test.java:161:10:161:31 | next(...) : String | provenance | MaD:5 | +| Test.java:161:10:161:31 | next(...) : String | Test.java:162:9:162:11 | out | provenance | | +| Test.java:167:17:167:34 | (...)... : Scanner | Test.java:168:10:168:11 | in : Scanner | provenance | | +| Test.java:167:27:167:34 | source(...) : Object | Test.java:167:17:167:34 | (...)... : Scanner | provenance | | +| Test.java:168:10:168:11 | in : Scanner | Test.java:168:10:168:18 | next(...) : String | provenance | MaD:1 | +| Test.java:168:10:168:11 | in : Scanner | Test.java:168:10:168:18 | next(...) : String | provenance | MaD:5 | +| Test.java:168:10:168:18 | next(...) : String | Test.java:169:9:169:11 | out | provenance | | +| Test.java:174:17:174:34 | (...)... : Scanner | Test.java:175:10:175:11 | in : Scanner | provenance | | +| Test.java:174:27:174:34 | source(...) : Object | Test.java:174:17:174:34 | (...)... : Scanner | provenance | | +| Test.java:175:10:175:11 | in : Scanner | Test.java:175:10:175:28 | nextBigDecimal(...) : BigDecimal | provenance | MaD:6 | +| Test.java:175:10:175:28 | nextBigDecimal(...) : BigDecimal | Test.java:176:9:176:11 | out | provenance | | +| Test.java:181:17:181:34 | (...)... : Scanner | Test.java:182:10:182:11 | in : Scanner | provenance | | +| Test.java:181:27:181:34 | source(...) : Object | Test.java:181:17:181:34 | (...)... : Scanner | provenance | | +| Test.java:182:10:182:11 | in : Scanner | Test.java:182:10:182:28 | nextBigInteger(...) : BigInteger | provenance | MaD:7 | +| Test.java:182:10:182:28 | nextBigInteger(...) : BigInteger | Test.java:183:9:183:11 | out | provenance | | +| Test.java:188:17:188:34 | (...)... : Scanner | Test.java:189:10:189:11 | in : Scanner | provenance | | +| Test.java:188:27:188:34 | source(...) : Object | Test.java:188:17:188:34 | (...)... : Scanner | provenance | | +| Test.java:189:10:189:11 | in : Scanner | Test.java:189:10:189:29 | nextBigInteger(...) : BigInteger | provenance | MaD:7 | +| Test.java:189:10:189:29 | nextBigInteger(...) : BigInteger | Test.java:190:9:190:11 | out | provenance | | +| Test.java:195:17:195:34 | (...)... : Scanner | Test.java:196:10:196:11 | in : Scanner | provenance | | +| Test.java:195:27:195:34 | source(...) : Object | Test.java:195:17:195:34 | (...)... : Scanner | provenance | | +| Test.java:196:10:196:11 | in : Scanner | Test.java:196:10:196:25 | nextBoolean(...) : Boolean | provenance | MaD:8 | +| Test.java:196:10:196:25 | nextBoolean(...) : Boolean | Test.java:197:9:197:11 | out | provenance | | +| Test.java:202:17:202:34 | (...)... : Scanner | Test.java:203:10:203:11 | in : Scanner | provenance | | +| Test.java:202:27:202:34 | source(...) : Object | Test.java:202:17:202:34 | (...)... : Scanner | provenance | | +| Test.java:203:10:203:11 | in : Scanner | Test.java:203:10:203:22 | nextByte(...) : Number | provenance | MaD:9 | +| Test.java:203:10:203:22 | nextByte(...) : Number | Test.java:204:9:204:11 | out | provenance | | +| Test.java:209:17:209:34 | (...)... : Scanner | Test.java:210:10:210:11 | in : Scanner | provenance | | +| Test.java:209:27:209:34 | source(...) : Object | Test.java:209:17:209:34 | (...)... : Scanner | provenance | | +| Test.java:210:10:210:11 | in : Scanner | Test.java:210:10:210:23 | nextByte(...) : Number | provenance | MaD:9 | +| Test.java:210:10:210:23 | nextByte(...) : Number | Test.java:211:9:211:11 | out | provenance | | +| Test.java:216:17:216:34 | (...)... : Scanner | Test.java:217:10:217:11 | in : Scanner | provenance | | +| Test.java:216:27:216:34 | source(...) : Object | Test.java:216:17:216:34 | (...)... : Scanner | provenance | | +| Test.java:217:10:217:11 | in : Scanner | Test.java:217:10:217:24 | nextDouble(...) : Number | provenance | MaD:10 | +| Test.java:217:10:217:24 | nextDouble(...) : Number | Test.java:218:9:218:11 | out | provenance | | +| Test.java:223:17:223:34 | (...)... : Scanner | Test.java:224:10:224:11 | in : Scanner | provenance | | +| Test.java:223:27:223:34 | source(...) : Object | Test.java:223:17:223:34 | (...)... : Scanner | provenance | | +| Test.java:224:10:224:11 | in : Scanner | Test.java:224:10:224:23 | nextFloat(...) : Number | provenance | MaD:11 | +| Test.java:224:10:224:23 | nextFloat(...) : Number | Test.java:225:9:225:11 | out | provenance | | +| Test.java:230:17:230:34 | (...)... : Scanner | Test.java:231:10:231:11 | in : Scanner | provenance | | +| Test.java:230:27:230:34 | source(...) : Object | Test.java:230:17:230:34 | (...)... : Scanner | provenance | | +| Test.java:231:10:231:11 | in : Scanner | Test.java:231:10:231:21 | nextInt(...) : Number | provenance | MaD:12 | +| Test.java:231:10:231:21 | nextInt(...) : Number | Test.java:232:9:232:11 | out | provenance | | +| Test.java:237:17:237:34 | (...)... : Scanner | Test.java:238:10:238:11 | in : Scanner | provenance | | +| Test.java:237:27:237:34 | source(...) : Object | Test.java:237:17:237:34 | (...)... : Scanner | provenance | | +| Test.java:238:10:238:11 | in : Scanner | Test.java:238:10:238:22 | nextInt(...) : Number | provenance | MaD:12 | +| Test.java:238:10:238:22 | nextInt(...) : Number | Test.java:239:9:239:11 | out | provenance | | +| Test.java:244:17:244:34 | (...)... : Scanner | Test.java:245:10:245:11 | in : Scanner | provenance | | +| Test.java:244:27:244:34 | source(...) : Object | Test.java:244:17:244:34 | (...)... : Scanner | provenance | | +| Test.java:245:10:245:11 | in : Scanner | Test.java:245:10:245:22 | nextLine(...) : String | provenance | MaD:13 | +| Test.java:245:10:245:22 | nextLine(...) : String | Test.java:246:9:246:11 | out | provenance | | +| Test.java:251:17:251:34 | (...)... : Scanner | Test.java:252:10:252:11 | in : Scanner | provenance | | +| Test.java:251:27:251:34 | source(...) : Object | Test.java:251:17:251:34 | (...)... : Scanner | provenance | | +| Test.java:252:10:252:11 | in : Scanner | Test.java:252:10:252:22 | nextLong(...) : Number | provenance | MaD:14 | +| Test.java:252:10:252:22 | nextLong(...) : Number | Test.java:253:9:253:11 | out | provenance | | +| Test.java:258:17:258:34 | (...)... : Scanner | Test.java:259:10:259:11 | in : Scanner | provenance | | +| Test.java:258:27:258:34 | source(...) : Object | Test.java:258:17:258:34 | (...)... : Scanner | provenance | | +| Test.java:259:10:259:11 | in : Scanner | Test.java:259:10:259:23 | nextLong(...) : Number | provenance | MaD:14 | +| Test.java:259:10:259:23 | nextLong(...) : Number | Test.java:260:9:260:11 | out | provenance | | +| Test.java:265:17:265:34 | (...)... : Scanner | Test.java:266:10:266:11 | in : Scanner | provenance | | +| Test.java:265:27:265:34 | source(...) : Object | Test.java:265:17:265:34 | (...)... : Scanner | provenance | | +| Test.java:266:10:266:11 | in : Scanner | Test.java:266:10:266:23 | nextShort(...) : Number | provenance | MaD:15 | +| Test.java:266:10:266:23 | nextShort(...) : Number | Test.java:267:9:267:11 | out | provenance | | +| Test.java:272:17:272:34 | (...)... : Scanner | Test.java:273:10:273:11 | in : Scanner | provenance | | +| Test.java:272:27:272:34 | source(...) : Object | Test.java:272:17:272:34 | (...)... : Scanner | provenance | | +| Test.java:273:10:273:11 | in : Scanner | Test.java:273:10:273:24 | nextShort(...) : Number | provenance | MaD:15 | +| Test.java:273:10:273:24 | nextShort(...) : Number | Test.java:274:9:274:11 | out | provenance | | +| Test.java:279:17:279:34 | (...)... : Scanner | Test.java:280:10:280:11 | in : Scanner | provenance | | +| Test.java:279:27:279:34 | source(...) : Object | Test.java:279:17:279:34 | (...)... : Scanner | provenance | | +| Test.java:280:10:280:11 | in : Scanner | Test.java:280:10:280:19 | reset(...) : Scanner | provenance | MaD:16 | +| Test.java:280:10:280:19 | reset(...) : Scanner | Test.java:281:9:281:11 | out | provenance | | +| Test.java:286:17:286:34 | (...)... : Scanner | Test.java:287:10:287:11 | in : Scanner | provenance | | +| Test.java:286:27:286:34 | source(...) : Object | Test.java:286:17:286:34 | (...)... : Scanner | provenance | | +| Test.java:287:10:287:11 | in : Scanner | Test.java:287:10:287:32 | skip(...) : Scanner | provenance | MaD:17 | +| Test.java:287:10:287:32 | skip(...) : Scanner | Test.java:288:9:288:11 | out | provenance | | +| Test.java:293:17:293:34 | (...)... : Scanner | Test.java:294:10:294:11 | in : Scanner | provenance | | +| Test.java:293:27:293:34 | source(...) : Object | Test.java:293:17:293:34 | (...)... : Scanner | provenance | | +| Test.java:294:10:294:11 | in : Scanner | Test.java:294:10:294:31 | skip(...) : Scanner | provenance | MaD:17 | +| Test.java:294:10:294:31 | skip(...) : Scanner | Test.java:295:9:295:11 | out | provenance | | +| Test.java:300:17:300:34 | (...)... : Scanner | Test.java:301:10:301:11 | in : Scanner | provenance | | +| Test.java:300:27:300:34 | source(...) : Object | Test.java:300:17:300:34 | (...)... : Scanner | provenance | | +| Test.java:301:10:301:11 | in : Scanner | Test.java:301:10:301:40 | useDelimiter(...) : Scanner | provenance | MaD:18 | +| Test.java:301:10:301:40 | useDelimiter(...) : Scanner | Test.java:302:9:302:11 | out | provenance | | +| Test.java:307:17:307:34 | (...)... : Scanner | Test.java:308:10:308:11 | in : Scanner | provenance | | +| Test.java:307:27:307:34 | source(...) : Object | Test.java:307:17:307:34 | (...)... : Scanner | provenance | | +| Test.java:308:10:308:11 | in : Scanner | Test.java:308:10:308:39 | useDelimiter(...) : Scanner | provenance | MaD:18 | +| Test.java:308:10:308:39 | useDelimiter(...) : Scanner | Test.java:309:9:309:11 | out | provenance | | +| Test.java:314:17:314:34 | (...)... : Scanner | Test.java:315:10:315:11 | in : Scanner | provenance | | +| Test.java:314:27:314:34 | source(...) : Object | Test.java:314:17:314:34 | (...)... : Scanner | provenance | | +| Test.java:315:10:315:11 | in : Scanner | Test.java:315:10:315:27 | useLocale(...) : Scanner | provenance | MaD:19 | +| Test.java:315:10:315:27 | useLocale(...) : Scanner | Test.java:316:9:316:11 | out | provenance | | +| Test.java:321:17:321:34 | (...)... : Scanner | Test.java:322:10:322:11 | in : Scanner | provenance | | +| Test.java:321:27:321:34 | source(...) : Object | Test.java:321:17:321:34 | (...)... : Scanner | provenance | | +| Test.java:322:10:322:11 | in : Scanner | Test.java:322:10:322:23 | useRadix(...) : Scanner | provenance | MaD:20 | +| Test.java:322:10:322:23 | useRadix(...) : Scanner | Test.java:323:9:323:11 | out | provenance | | +nodes +| Test.java:27:14:27:28 | (...)... : File | semmle.label | (...)... : File | +| Test.java:27:21:27:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:28:10:28:24 | new Scanner(...) : Scanner | semmle.label | new Scanner(...) : Scanner | +| Test.java:28:22:28:23 | in : File | semmle.label | in : File | +| Test.java:29:9:29:11 | out | semmle.label | out | +| Test.java:34:14:34:28 | (...)... : File | semmle.label | (...)... : File | +| Test.java:34:21:34:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:35:10:35:40 | new Scanner(...) : Scanner | semmle.label | new Scanner(...) : Scanner | +| Test.java:35:22:35:23 | in : File | semmle.label | in : File | +| Test.java:36:9:36:11 | out | semmle.label | out | +| Test.java:41:14:41:28 | (...)... : File | semmle.label | (...)... : File | +| Test.java:41:21:41:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:42:10:42:39 | new Scanner(...) : Scanner | semmle.label | new Scanner(...) : Scanner | +| Test.java:42:22:42:23 | in : File | semmle.label | in : File | +| Test.java:43:9:43:11 | out | semmle.label | out | +| Test.java:48:21:48:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:48:35:48:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:49:10:49:24 | new Scanner(...) : Scanner | semmle.label | new Scanner(...) : Scanner | +| Test.java:49:22:49:23 | in : InputStream | semmle.label | in : InputStream | +| Test.java:50:9:50:11 | out | semmle.label | out | +| Test.java:55:21:55:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:55:35:55:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:56:10:56:40 | new Scanner(...) : Scanner | semmle.label | new Scanner(...) : Scanner | +| Test.java:56:22:56:23 | in : InputStream | semmle.label | in : InputStream | +| Test.java:57:9:57:11 | out | semmle.label | out | +| Test.java:62:21:62:42 | (...)... : InputStream | semmle.label | (...)... : InputStream | +| Test.java:62:35:62:42 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:63:10:63:39 | new Scanner(...) : Scanner | semmle.label | new Scanner(...) : Scanner | +| Test.java:63:22:63:23 | in : InputStream | semmle.label | in : InputStream | +| Test.java:64:9:64:11 | out | semmle.label | out | +| Test.java:69:14:69:28 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:69:21:69:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:70:10:70:24 | new Scanner(...) : Scanner | semmle.label | new Scanner(...) : Scanner | +| Test.java:70:22:70:23 | in : Path | semmle.label | in : Path | +| Test.java:71:9:71:11 | out | semmle.label | out | +| Test.java:76:14:76:28 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:76:21:76:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:77:10:77:40 | new Scanner(...) : Scanner | semmle.label | new Scanner(...) : Scanner | +| Test.java:77:22:77:23 | in : Path | semmle.label | in : Path | +| Test.java:78:9:78:11 | out | semmle.label | out | +| Test.java:83:14:83:28 | (...)... : Path | semmle.label | (...)... : Path | +| Test.java:83:21:83:28 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:84:10:84:39 | new Scanner(...) : Scanner | semmle.label | new Scanner(...) : Scanner | +| Test.java:84:22:84:23 | in : Path | semmle.label | in : Path | +| Test.java:85:9:85:11 | out | semmle.label | out | +| Test.java:90:18:90:36 | (...)... : Readable | semmle.label | (...)... : Readable | +| Test.java:90:29:90:36 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:91:10:91:24 | new Scanner(...) : Scanner | semmle.label | new Scanner(...) : Scanner | +| Test.java:91:22:91:23 | in : Readable | semmle.label | in : Readable | +| Test.java:92:9:92:11 | out | semmle.label | out | +| Test.java:97:29:97:58 | (...)... : ReadableByteChannel | semmle.label | (...)... : ReadableByteChannel | +| Test.java:97:51:97:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:98:10:98:24 | new Scanner(...) : Scanner | semmle.label | new Scanner(...) : Scanner | +| Test.java:98:22:98:23 | in : ReadableByteChannel | semmle.label | in : ReadableByteChannel | +| Test.java:99:9:99:11 | out | semmle.label | out | +| Test.java:104:29:104:58 | (...)... : ReadableByteChannel | semmle.label | (...)... : ReadableByteChannel | +| Test.java:104:51:104:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:105:10:105:40 | new Scanner(...) : Scanner | semmle.label | new Scanner(...) : Scanner | +| Test.java:105:22:105:23 | in : ReadableByteChannel | semmle.label | in : ReadableByteChannel | +| Test.java:106:9:106:11 | out | semmle.label | out | +| Test.java:111:29:111:58 | (...)... : ReadableByteChannel | semmle.label | (...)... : ReadableByteChannel | +| Test.java:111:51:111:58 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:112:10:112:39 | new Scanner(...) : Scanner | semmle.label | new Scanner(...) : Scanner | +| Test.java:112:22:112:23 | in : ReadableByteChannel | semmle.label | in : ReadableByteChannel | +| Test.java:113:9:113:11 | out | semmle.label | out | +| Test.java:118:16:118:32 | (...)... : String | semmle.label | (...)... : String | +| Test.java:118:25:118:32 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:119:10:119:24 | new Scanner(...) : Scanner | semmle.label | new Scanner(...) : Scanner | +| Test.java:119:22:119:23 | in : String | semmle.label | in : String | +| Test.java:120:9:120:11 | out | semmle.label | out | +| Test.java:125:17:125:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:125:27:125:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:126:10:126:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:126:10:126:38 | findInLine(...) : String | semmle.label | findInLine(...) : String | +| Test.java:127:9:127:11 | out | semmle.label | out | +| Test.java:132:17:132:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:132:27:132:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:133:10:133:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:133:10:133:37 | findInLine(...) : String | semmle.label | findInLine(...) : String | +| Test.java:134:9:134:11 | out | semmle.label | out | +| Test.java:139:17:139:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:139:27:139:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:140:10:140:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:140:10:140:48 | findWithinHorizon(...) : String | semmle.label | findWithinHorizon(...) : String | +| Test.java:141:9:141:11 | out | semmle.label | out | +| Test.java:146:17:146:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:146:27:146:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:147:10:147:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:147:10:147:47 | findWithinHorizon(...) : String | semmle.label | findWithinHorizon(...) : String | +| Test.java:148:9:148:11 | out | semmle.label | out | +| Test.java:153:17:153:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:153:27:153:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:154:10:154:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:154:10:154:32 | next(...) : String | semmle.label | next(...) : String | +| Test.java:155:9:155:11 | out | semmle.label | out | +| Test.java:160:17:160:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:160:27:160:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:161:10:161:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:161:10:161:31 | next(...) : String | semmle.label | next(...) : String | +| Test.java:162:9:162:11 | out | semmle.label | out | +| Test.java:167:17:167:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:167:27:167:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:168:10:168:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:168:10:168:18 | next(...) : String | semmle.label | next(...) : String | +| Test.java:169:9:169:11 | out | semmle.label | out | +| Test.java:174:17:174:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:174:27:174:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:175:10:175:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:175:10:175:28 | nextBigDecimal(...) : BigDecimal | semmle.label | nextBigDecimal(...) : BigDecimal | +| Test.java:176:9:176:11 | out | semmle.label | out | +| Test.java:181:17:181:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:181:27:181:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:182:10:182:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:182:10:182:28 | nextBigInteger(...) : BigInteger | semmle.label | nextBigInteger(...) : BigInteger | +| Test.java:183:9:183:11 | out | semmle.label | out | +| Test.java:188:17:188:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:188:27:188:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:189:10:189:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:189:10:189:29 | nextBigInteger(...) : BigInteger | semmle.label | nextBigInteger(...) : BigInteger | +| Test.java:190:9:190:11 | out | semmle.label | out | +| Test.java:195:17:195:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:195:27:195:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:196:10:196:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:196:10:196:25 | nextBoolean(...) : Boolean | semmle.label | nextBoolean(...) : Boolean | +| Test.java:197:9:197:11 | out | semmle.label | out | +| Test.java:202:17:202:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:202:27:202:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:203:10:203:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:203:10:203:22 | nextByte(...) : Number | semmle.label | nextByte(...) : Number | +| Test.java:204:9:204:11 | out | semmle.label | out | +| Test.java:209:17:209:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:209:27:209:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:210:10:210:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:210:10:210:23 | nextByte(...) : Number | semmle.label | nextByte(...) : Number | +| Test.java:211:9:211:11 | out | semmle.label | out | +| Test.java:216:17:216:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:216:27:216:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:217:10:217:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:217:10:217:24 | nextDouble(...) : Number | semmle.label | nextDouble(...) : Number | +| Test.java:218:9:218:11 | out | semmle.label | out | +| Test.java:223:17:223:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:223:27:223:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:224:10:224:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:224:10:224:23 | nextFloat(...) : Number | semmle.label | nextFloat(...) : Number | +| Test.java:225:9:225:11 | out | semmle.label | out | +| Test.java:230:17:230:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:230:27:230:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:231:10:231:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:231:10:231:21 | nextInt(...) : Number | semmle.label | nextInt(...) : Number | +| Test.java:232:9:232:11 | out | semmle.label | out | +| Test.java:237:17:237:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:237:27:237:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:238:10:238:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:238:10:238:22 | nextInt(...) : Number | semmle.label | nextInt(...) : Number | +| Test.java:239:9:239:11 | out | semmle.label | out | +| Test.java:244:17:244:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:244:27:244:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:245:10:245:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:245:10:245:22 | nextLine(...) : String | semmle.label | nextLine(...) : String | +| Test.java:246:9:246:11 | out | semmle.label | out | +| Test.java:251:17:251:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:251:27:251:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:252:10:252:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:252:10:252:22 | nextLong(...) : Number | semmle.label | nextLong(...) : Number | +| Test.java:253:9:253:11 | out | semmle.label | out | +| Test.java:258:17:258:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:258:27:258:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:259:10:259:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:259:10:259:23 | nextLong(...) : Number | semmle.label | nextLong(...) : Number | +| Test.java:260:9:260:11 | out | semmle.label | out | +| Test.java:265:17:265:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:265:27:265:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:266:10:266:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:266:10:266:23 | nextShort(...) : Number | semmle.label | nextShort(...) : Number | +| Test.java:267:9:267:11 | out | semmle.label | out | +| Test.java:272:17:272:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:272:27:272:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:273:10:273:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:273:10:273:24 | nextShort(...) : Number | semmle.label | nextShort(...) : Number | +| Test.java:274:9:274:11 | out | semmle.label | out | +| Test.java:279:17:279:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:279:27:279:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:280:10:280:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:280:10:280:19 | reset(...) : Scanner | semmle.label | reset(...) : Scanner | +| Test.java:281:9:281:11 | out | semmle.label | out | +| Test.java:286:17:286:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:286:27:286:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:287:10:287:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:287:10:287:32 | skip(...) : Scanner | semmle.label | skip(...) : Scanner | +| Test.java:288:9:288:11 | out | semmle.label | out | +| Test.java:293:17:293:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:293:27:293:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:294:10:294:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:294:10:294:31 | skip(...) : Scanner | semmle.label | skip(...) : Scanner | +| Test.java:295:9:295:11 | out | semmle.label | out | +| Test.java:300:17:300:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:300:27:300:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:301:10:301:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:301:10:301:40 | useDelimiter(...) : Scanner | semmle.label | useDelimiter(...) : Scanner | +| Test.java:302:9:302:11 | out | semmle.label | out | +| Test.java:307:17:307:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:307:27:307:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:308:10:308:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:308:10:308:39 | useDelimiter(...) : Scanner | semmle.label | useDelimiter(...) : Scanner | +| Test.java:309:9:309:11 | out | semmle.label | out | +| Test.java:314:17:314:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:314:27:314:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:315:10:315:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:315:10:315:27 | useLocale(...) : Scanner | semmle.label | useLocale(...) : Scanner | +| Test.java:316:9:316:11 | out | semmle.label | out | +| Test.java:321:17:321:34 | (...)... : Scanner | semmle.label | (...)... : Scanner | +| Test.java:321:27:321:34 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:322:10:322:11 | in : Scanner | semmle.label | in : Scanner | +| Test.java:322:10:322:23 | useRadix(...) : Scanner | semmle.label | useRadix(...) : Scanner | +| Test.java:323:9:323:11 | out | semmle.label | out | +subpaths +testFailures From 2c591f5420c22310e9e55b0bdc6434984ec1aef1 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Thu, 15 Aug 2024 11:05:08 +0200 Subject: [PATCH 040/258] Dataflow: Fix missing join on summaryLabel. --- shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index e21db23fd05..ff9b794e04d 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -4350,7 +4350,7 @@ module MakeImpl Lang> { private PathNodeMid getSuccMid(string label) { pathStep(this, result.getNodeEx(), result.getState(), result.getCallContext(), - result.getSummaryCtx(), result.getType(), result.getAp(), _, label) + result.getSummaryCtx(), result.getType(), result.getAp(), result.getSummaryLabel(), label) } private predicate isSourceWithLabel(string labelprefix) { From a85f8a2fbdd13ada078b7704b9313d7c8f4eda8f Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Thu, 15 Aug 2024 13:24:31 +0200 Subject: [PATCH 041/258] Java/C#: Accept expected changes. --- .../dataflow/collections/CollectionFlow.expected | 8 -------- .../security/CWE-625/PermissiveDotRegex.expected | 4 ---- 2 files changed, 12 deletions(-) diff --git a/csharp/ql/test/library-tests/dataflow/collections/CollectionFlow.expected b/csharp/ql/test/library-tests/dataflow/collections/CollectionFlow.expected index 8d9c869f360..aae5dff536d 100644 --- a/csharp/ql/test/library-tests/dataflow/collections/CollectionFlow.expected +++ b/csharp/ql/test/library-tests/dataflow/collections/CollectionFlow.expected @@ -50,20 +50,12 @@ edges | CollectionFlow.cs:28:68:28:79 | call to method First> : KeyValuePair [property Value] : A | CollectionFlow.cs:28:68:28:85 | access to property Value : A | provenance | | | CollectionFlow.cs:30:60:30:63 | dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:69:30:72 | access to parameter dict : Dictionary [element, property Value] : A | provenance | | | CollectionFlow.cs:30:69:30:72 | access to parameter dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection [element] : A | provenance | MaD:2 | -| CollectionFlow.cs:30:69:30:72 | access to parameter dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection [element] : A | provenance | MaD:2 | | CollectionFlow.cs:30:69:30:72 | access to parameter dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection [element] : A | provenance | MaD:8 | -| CollectionFlow.cs:30:69:30:72 | access to parameter dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection [element] : A | provenance | MaD:8 | -| CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection [element] : A | CollectionFlow.cs:30:69:30:87 | call to method First : A | provenance | MaD:16 | -| CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection [element] : A | CollectionFlow.cs:30:69:30:87 | call to method First : A | provenance | MaD:16 | | CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection [element] : A | CollectionFlow.cs:30:69:30:87 | call to method First : A | provenance | MaD:16 | | CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection [element] : A | CollectionFlow.cs:30:69:30:87 | call to method First : A | provenance | MaD:16 | | CollectionFlow.cs:32:58:32:61 | dict : Dictionary [element, property Key] : A | CollectionFlow.cs:32:67:32:70 | access to parameter dict : Dictionary [element, property Key] : A | provenance | | | CollectionFlow.cs:32:67:32:70 | access to parameter dict : Dictionary [element, property Key] : A | CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection [element] : A | provenance | MaD:1 | -| CollectionFlow.cs:32:67:32:70 | access to parameter dict : Dictionary [element, property Key] : A | CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection [element] : A | provenance | MaD:1 | | CollectionFlow.cs:32:67:32:70 | access to parameter dict : Dictionary [element, property Key] : A | CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection [element] : A | provenance | MaD:7 | -| CollectionFlow.cs:32:67:32:70 | access to parameter dict : Dictionary [element, property Key] : A | CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection [element] : A | provenance | MaD:7 | -| CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection [element] : A | CollectionFlow.cs:32:67:32:83 | call to method First : A | provenance | MaD:16 | -| CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection [element] : A | CollectionFlow.cs:32:67:32:83 | call to method First : A | provenance | MaD:16 | | CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection [element] : A | CollectionFlow.cs:32:67:32:83 | call to method First : A | provenance | MaD:16 | | CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection [element] : A | CollectionFlow.cs:32:67:32:83 | call to method First : A | provenance | MaD:16 | | CollectionFlow.cs:34:57:34:60 | dict : Dictionary [element, property Key] : A | CollectionFlow.cs:34:66:34:69 | access to parameter dict : Dictionary [element, property Key] : A | provenance | | diff --git a/java/ql/test/experimental/query-tests/security/CWE-625/PermissiveDotRegex.expected b/java/ql/test/experimental/query-tests/security/CWE-625/PermissiveDotRegex.expected index 008cd6090cb..7832305e0ac 100644 --- a/java/ql/test/experimental/query-tests/security/CWE-625/PermissiveDotRegex.expected +++ b/java/ql/test/experimental/query-tests/security/CWE-625/PermissiveDotRegex.expected @@ -28,12 +28,8 @@ edges | DotRegexSpring.java:39:21:39:24 | path : String | DotRegexSpring.java:39:10:39:25 | decodePath(...) : String | provenance | MaD:3 | | DotRegexSpring.java:39:21:39:24 | path : String | DotRegexSpring.java:69:28:69:38 | path : String | provenance | | | DotRegexSpring.java:69:28:69:38 | path : String | DotRegexSpring.java:71:29:71:32 | path : String | provenance | | -| DotRegexSpring.java:69:28:69:38 | path : String | DotRegexSpring.java:71:29:71:32 | path : String | provenance | | -| DotRegexSpring.java:69:28:69:38 | path : String | DotRegexSpring.java:73:10:73:13 | path : String | provenance | | | DotRegexSpring.java:69:28:69:38 | path : String | DotRegexSpring.java:73:10:73:13 | path : String | provenance | | | DotRegexSpring.java:71:11:71:42 | decode(...) : String | DotRegexSpring.java:71:29:71:32 | path : String | provenance | | -| DotRegexSpring.java:71:11:71:42 | decode(...) : String | DotRegexSpring.java:71:29:71:32 | path : String | provenance | | -| DotRegexSpring.java:71:11:71:42 | decode(...) : String | DotRegexSpring.java:73:10:73:13 | path : String | provenance | | | DotRegexSpring.java:71:11:71:42 | decode(...) : String | DotRegexSpring.java:73:10:73:13 | path : String | provenance | | | DotRegexSpring.java:71:29:71:32 | path : String | DotRegexSpring.java:71:11:71:42 | decode(...) : String | provenance | MaD:3 | | DotRegexSpring.java:71:29:71:32 | path : String | DotRegexSpring.java:71:11:71:42 | decode(...) : String | provenance | MaD:3 | From fcb2b5730ff875c88268cd5d7b97c52016972967 Mon Sep 17 00:00:00 2001 From: Felicity Chapman Date: Thu, 15 Aug 2024 13:17:13 +0100 Subject: [PATCH 042/258] Update CookieInjection.ql to remove period --- python/ql/src/Security/CWE-020/CookieInjection.ql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/ql/src/Security/CWE-020/CookieInjection.ql b/python/ql/src/Security/CWE-020/CookieInjection.ql index 944db480ec8..0cb9c2dadbb 100644 --- a/python/ql/src/Security/CWE-020/CookieInjection.ql +++ b/python/ql/src/Security/CWE-020/CookieInjection.ql @@ -1,5 +1,5 @@ /** - * @name Construction of a cookie using user-supplied input. + * @name Construction of a cookie using user-supplied input * @description Constructing cookies from user input may allow an attacker to perform a Cookie Poisoning attack. * @kind path-problem * @problem.severity warning From 157d0b7f379ca58e6633074156db2ddf4220ce88 Mon Sep 17 00:00:00 2001 From: Rasmus Wriedt Larsen Date: Fri, 9 Aug 2024 16:32:35 +0200 Subject: [PATCH 043/258] ThreatModels: Add `stdin` kind None of the current local subgroups precisely captures stdin, so although it's much like both commandargs and file, a separate kind seems better. --- shared/mad/codeql/mad/ModelValidation.qll | 1 + shared/threat-models/ext/threat-model-grouping.model.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/shared/mad/codeql/mad/ModelValidation.qll b/shared/mad/codeql/mad/ModelValidation.qll index c28fc421d97..012e255580a 100644 --- a/shared/mad/codeql/mad/ModelValidation.qll +++ b/shared/mad/codeql/mad/ModelValidation.qll @@ -119,6 +119,7 @@ module KindValidation { [ // shared "local", "remote", "file", "commandargs", "database", "environment", "reverse-dns", + "stdin", // Java "android-external-storage-dir", "contentprovider", // C# diff --git a/shared/threat-models/ext/threat-model-grouping.model.yml b/shared/threat-models/ext/threat-model-grouping.model.yml index fcd27205d62..35d4f4f08e5 100644 --- a/shared/threat-models/ext/threat-model-grouping.model.yml +++ b/shared/threat-models/ext/threat-model-grouping.model.yml @@ -15,6 +15,7 @@ extensions: - ["database", "local"] - ["commandargs", "local"] - ["environment", "local"] + - ["stdin", "local"] - ["file", "local"] - ["windows-registry", "local"] From 73952234101470fcb0b58dadaa38e2256751ba1c Mon Sep 17 00:00:00 2001 From: Rasmus Wriedt Larsen Date: Tue, 13 Aug 2024 12:02:12 +0200 Subject: [PATCH 044/258] C#: Model `System.Console` reads as `stdin` threat-model --- csharp/ql/lib/ext/System.model.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/csharp/ql/lib/ext/System.model.yml b/csharp/ql/lib/ext/System.model.yml index d3c45786ee4..e56369a084f 100644 --- a/csharp/ql/lib/ext/System.model.yml +++ b/csharp/ql/lib/ext/System.model.yml @@ -3,9 +3,9 @@ extensions: pack: codeql/csharp-all extensible: sourceModel data: - - ["System", "Console", False, "Read", "", "", "ReturnValue", "local", "manual"] - - ["System", "Console", False, "ReadKey", "", "", "ReturnValue", "local", "manual"] - - ["System", "Console", False, "ReadLine", "", "", "ReturnValue", "local", "manual"] + - ["System", "Console", False, "Read", "", "", "ReturnValue", "stdin", "manual"] + - ["System", "Console", False, "ReadKey", "", "", "ReturnValue", "stdin", "manual"] + - ["System", "Console", False, "ReadLine", "", "", "ReturnValue", "stdin", "manual"] - ["System", "Environment", False, "ExpandEnvironmentVariables", "(System.String)", "", "ReturnValue", "environment", "manual"] - ["System", "Environment", False, "GetCommandLineArgs", "()", "", "ReturnValue", "commandargs", "manual"] - ["System", "Environment", False, "get_CommandLine", "()", "", "ReturnValue", "commandargs", "manual"] From 1e12c11adc0d447c527361c3bbc5915a89d18b31 Mon Sep 17 00:00:00 2001 From: Rasmus Wriedt Larsen Date: Tue, 13 Aug 2024 12:04:56 +0200 Subject: [PATCH 045/258] Java: Model `System.in` as `stdin` threat-model --- .../semmle/code/java/dataflow/FlowSources.qll | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/java/ql/lib/semmle/code/java/dataflow/FlowSources.qll b/java/ql/lib/semmle/code/java/dataflow/FlowSources.qll index c97a97f2797..d18d8e4c8a4 100644 --- a/java/ql/lib/semmle/code/java/dataflow/FlowSources.qll +++ b/java/ql/lib/semmle/code/java/dataflow/FlowSources.qll @@ -207,7 +207,8 @@ deprecated class EnvInput extends DataFlow::Node { EnvInput() { this instanceof EnvironmentInput or this instanceof CliInput or - this instanceof FileInput + this instanceof FileInput or + this instanceof StdinInput } } @@ -234,12 +235,21 @@ private class CliInput extends LocalUserInput { exists(Field f | this.asExpr() = f.getAnAccess() | f.getAnAnnotation().getType().getQualifiedName() = "org.kohsuke.args4j.Argument" ) - or + } + + override string getThreatModel() { result = "commandargs" } +} + +/** + * A node with input from stdin. + */ +private class StdinInput extends LocalUserInput { + StdinInput() { // Access to `System.in`. exists(Field f | this.asExpr() = f.getAnAccess() | f instanceof SystemIn) } - override string getThreatModel() { result = "commandargs" } + override string getThreatModel() { result = "stdin" } } /** From fee38b37810331ca2d1b8840344178b2b11b0f3c Mon Sep 17 00:00:00 2001 From: Rasmus Wriedt Larsen Date: Tue, 13 Aug 2024 14:08:40 +0200 Subject: [PATCH 046/258] Java: Fixup test --- java/ql/test/library-tests/dataflow/threat-models/Test.java | 2 +- .../dataflow/threat-models/threat-models-flowtest5.ext.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/java/ql/test/library-tests/dataflow/threat-models/Test.java b/java/ql/test/library-tests/dataflow/threat-models/Test.java index 37b67d8ce86..412dbc3faa9 100644 --- a/java/ql/test/library-tests/dataflow/threat-models/Test.java +++ b/java/ql/test/library-tests/dataflow/threat-models/Test.java @@ -59,7 +59,7 @@ class Test { } public void M5(Statement handle) throws Exception { - // Only a source if "commandargs" is a selected threat model. + // Only a source if "stdin" is a selected threat model. byte[] data = new byte[1024]; System.in.read(data); diff --git a/java/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest5.ext.yml b/java/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest5.ext.yml index 83af0acecbb..9a00b8fb844 100644 --- a/java/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest5.ext.yml +++ b/java/ql/test/library-tests/dataflow/threat-models/threat-models-flowtest5.ext.yml @@ -5,7 +5,7 @@ extensions: extensible: threatModelConfiguration data: - ["environment", true, 0] - - ["commandargs", true, 0] + - ["stdin", true, 0] - addsTo: pack: codeql/java-all From 43b61dd2aad6751ff3c6063ab0eac30afa7f2fb8 Mon Sep 17 00:00:00 2001 From: Rasmus Wriedt Larsen Date: Tue, 13 Aug 2024 14:09:36 +0200 Subject: [PATCH 047/258] C#: Support `stdin` in LocalFlowSource --- .../csharp/security/dataflow/flowsources/Local.qll | 13 +++++++++++++ .../Security Features/CWE-089/SqlInjection.expected | 4 ++-- .../CWE-134/UncontrolledFormatString.expected | 2 +- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll index 6261d41f404..6eeef5946be 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll @@ -76,3 +76,16 @@ abstract class WindowsRegistrySource extends LocalFlowSource { private class ExternalWindowsRegistrySource extends WindowsRegistrySource { ExternalWindowsRegistrySource() { sourceNode(this, "windows-registry") } } + +/** + * A dataflow source that represents the reading from stdin. + */ +abstract class StdinSource extends LocalFlowSource { + override string getThreatModel() { result = "stdin" } + + override string getSourceType() { result = "read from stdin" } +} + +private class ExternalStdinSource extends StdinSource { + ExternalStdinSource() { sourceNode(this, "stdin") } +} diff --git a/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected b/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected index 054a2c2f358..7cfeda2a32e 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected +++ b/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected @@ -7,8 +7,8 @@ | SqlInjection.cs:83:50:83:55 | access to local variable query1 | SqlInjection.cs:82:21:82:29 | access to property Text : String | SqlInjection.cs:83:50:83:55 | access to local variable query1 | This query depends on $@. | SqlInjection.cs:82:21:82:29 | access to property Text : String | this TextBox text | | SqlInjection.cs:93:42:93:52 | access to local variable queryString | SqlInjection.cs:92:21:92:29 | access to property Text : String | SqlInjection.cs:93:42:93:52 | access to local variable queryString | This query depends on $@. | SqlInjection.cs:92:21:92:29 | access to property Text : String | this TextBox text | | SqlInjection.cs:94:50:94:52 | access to local variable cmd | SqlInjection.cs:92:21:92:29 | access to property Text : String | SqlInjection.cs:94:50:94:52 | access to local variable cmd | This query depends on $@. | SqlInjection.cs:92:21:92:29 | access to property Text : String | this TextBox text | -| SqlInjection.cs:104:42:104:52 | access to local variable queryString | SqlInjection.cs:103:21:103:38 | call to method ReadLine : String | SqlInjection.cs:104:42:104:52 | access to local variable queryString | This query depends on $@. | SqlInjection.cs:103:21:103:38 | call to method ReadLine : String | this external | -| SqlInjection.cs:105:50:105:52 | access to local variable cmd | SqlInjection.cs:103:21:103:38 | call to method ReadLine : String | SqlInjection.cs:105:50:105:52 | access to local variable cmd | This query depends on $@. | SqlInjection.cs:103:21:103:38 | call to method ReadLine : String | this external | +| SqlInjection.cs:104:42:104:52 | access to local variable queryString | SqlInjection.cs:103:21:103:38 | call to method ReadLine : String | SqlInjection.cs:104:42:104:52 | access to local variable queryString | This query depends on $@. | SqlInjection.cs:103:21:103:38 | call to method ReadLine : String | this read from stdin | +| SqlInjection.cs:105:50:105:52 | access to local variable cmd | SqlInjection.cs:103:21:103:38 | call to method ReadLine : String | SqlInjection.cs:105:50:105:52 | access to local variable cmd | This query depends on $@. | SqlInjection.cs:103:21:103:38 | call to method ReadLine : String | this read from stdin | | SqlInjectionDapper.cs:21:55:21:59 | access to local variable query | SqlInjectionDapper.cs:20:86:20:94 | access to property Text : String | SqlInjectionDapper.cs:21:55:21:59 | access to local variable query | This query depends on $@. | SqlInjectionDapper.cs:20:86:20:94 | access to property Text : String | this TextBox text | | SqlInjectionDapper.cs:30:66:30:70 | access to local variable query | SqlInjectionDapper.cs:29:86:29:94 | access to property Text : String | SqlInjectionDapper.cs:30:66:30:70 | access to local variable query | This query depends on $@. | SqlInjectionDapper.cs:29:86:29:94 | access to property Text : String | this TextBox text | | SqlInjectionDapper.cs:39:63:39:67 | access to local variable query | SqlInjectionDapper.cs:38:86:38:94 | access to property Text : String | SqlInjectionDapper.cs:39:63:39:67 | access to local variable query | This query depends on $@. | SqlInjectionDapper.cs:38:86:38:94 | access to property Text : String | this TextBox text | diff --git a/csharp/ql/test/query-tests/Security Features/CWE-134/UncontrolledFormatString.expected b/csharp/ql/test/query-tests/Security Features/CWE-134/UncontrolledFormatString.expected index eb9006caecd..f9ac3c3f466 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-134/UncontrolledFormatString.expected +++ b/csharp/ql/test/query-tests/Security Features/CWE-134/UncontrolledFormatString.expected @@ -1,5 +1,5 @@ #select -| ConsoleUncontrolledFormatString.cs:11:31:11:36 | access to local variable format | ConsoleUncontrolledFormatString.cs:8:22:8:39 | call to method ReadLine : String | ConsoleUncontrolledFormatString.cs:11:31:11:36 | access to local variable format | This format string depends on $@. | ConsoleUncontrolledFormatString.cs:8:22:8:39 | call to method ReadLine | thisexternal | +| ConsoleUncontrolledFormatString.cs:11:31:11:36 | access to local variable format | ConsoleUncontrolledFormatString.cs:8:22:8:39 | call to method ReadLine : String | ConsoleUncontrolledFormatString.cs:11:31:11:36 | access to local variable format | This format string depends on $@. | ConsoleUncontrolledFormatString.cs:8:22:8:39 | call to method ReadLine | thisread from stdin | | UncontrolledFormatString.cs:12:23:12:26 | access to local variable path | UncontrolledFormatString.cs:9:23:9:45 | access to property QueryString : NameValueCollection | UncontrolledFormatString.cs:12:23:12:26 | access to local variable path | This format string depends on $@. | UncontrolledFormatString.cs:9:23:9:45 | access to property QueryString | thisASP.NET query string | | UncontrolledFormatString.cs:15:46:15:49 | access to local variable path | UncontrolledFormatString.cs:9:23:9:45 | access to property QueryString : NameValueCollection | UncontrolledFormatString.cs:15:46:15:49 | access to local variable path | This format string depends on $@. | UncontrolledFormatString.cs:9:23:9:45 | access to property QueryString | thisASP.NET query string | | UncontrolledFormatString.cs:32:23:32:31 | access to property Text | UncontrolledFormatString.cs:32:23:32:31 | access to property Text | UncontrolledFormatString.cs:32:23:32:31 | access to property Text | This format string depends on $@. | UncontrolledFormatString.cs:32:23:32:31 | access to property Text | thisTextBox text | From ebafe65ac2a8f26f2892a24280e9b1bbaa481580 Mon Sep 17 00:00:00 2001 From: Rasmus Wriedt Larsen Date: Tue, 13 Aug 2024 14:10:08 +0200 Subject: [PATCH 048/258] C#: Fixup test expectations from using `stdin` --- .../library-tests/dataflow/library/FlowSummaries.expected | 8 ++++---- csharp/ql/test/utils/modelgenerator/dataflow/Sources.cs | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected index 5fa095eb3ae..1e30cae7031 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected @@ -183,10 +183,10 @@ source | System.IO;StreamWriter;StreamWriter;(System.String,System.IO.FileStreamOptions);Argument[this];file-write;manual | | System.IO;StreamWriter;StreamWriter;(System.String,System.Text.Encoding,System.IO.FileStreamOptions);Argument[this];file-write;manual | | System.Net.Sockets;TcpClient;GetStream;();ReturnValue;remote;manual | -| System;Console;Read;();ReturnValue;local;manual | -| System;Console;ReadKey;();ReturnValue;local;manual | -| System;Console;ReadKey;(System.Boolean);ReturnValue;local;manual | -| System;Console;ReadLine;();ReturnValue;local;manual | +| System;Console;Read;();ReturnValue;stdin;manual | +| System;Console;ReadKey;();ReturnValue;stdin;manual | +| System;Console;ReadKey;(System.Boolean);ReturnValue;stdin;manual | +| System;Console;ReadLine;();ReturnValue;stdin;manual | | System;Environment;ExpandEnvironmentVariables;(System.String);ReturnValue;environment;manual | | System;Environment;GetCommandLineArgs;();ReturnValue;commandargs;manual | | System;Environment;GetEnvironmentVariable;(System.String);ReturnValue;environment;manual | diff --git a/csharp/ql/test/utils/modelgenerator/dataflow/Sources.cs b/csharp/ql/test/utils/modelgenerator/dataflow/Sources.cs index 3165dfa2f90..4d596066db6 100644 --- a/csharp/ql/test/utils/modelgenerator/dataflow/Sources.cs +++ b/csharp/ql/test/utils/modelgenerator/dataflow/Sources.cs @@ -14,7 +14,7 @@ public class NewSources // New source - // source=Sources;NewSources;false;WrapConsoleReadLine;();;ReturnValue;local;df-generated + // source=Sources;NewSources;false;WrapConsoleReadLine;();;ReturnValue;stdin;df-generated // neutral=Sources;NewSources;WrapConsoleReadLine;();summary;df-generated public string? WrapConsoleReadLine() { @@ -22,7 +22,7 @@ public class NewSources } // New source - // source=Sources;NewSources;false;WrapConsoleReadLineAndProcees;(System.String);;ReturnValue;local;df-generated + // source=Sources;NewSources;false;WrapConsoleReadLineAndProcees;(System.String);;ReturnValue;stdin;df-generated // neutral=Sources;NewSources;WrapConsoleReadLineAndProcees;(System.String);summary;df-generated public string WrapConsoleReadLineAndProcees(string prompt) { @@ -37,7 +37,7 @@ public class NewSources } // New source - // source=Sources;NewSources;false;WrapConsoleReadKey;();;ReturnValue;local;df-generated + // source=Sources;NewSources;false;WrapConsoleReadKey;();;ReturnValue;stdin;df-generated // neutral=Sources;NewSources;WrapConsoleReadKey;();summary;df-generated public ConsoleKeyInfo WrapConsoleReadKey() { From 1e7eae58f4fbb4e3a7bf5a9bc2c3b372da91de13 Mon Sep 17 00:00:00 2001 From: Rasmus Wriedt Larsen Date: Tue, 13 Aug 2024 14:12:10 +0200 Subject: [PATCH 049/258] Java: Add change-note --- java/ql/lib/change-notes/2024-08-13-stdin-threat-model.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 java/ql/lib/change-notes/2024-08-13-stdin-threat-model.md diff --git a/java/ql/lib/change-notes/2024-08-13-stdin-threat-model.md b/java/ql/lib/change-notes/2024-08-13-stdin-threat-model.md new file mode 100644 index 00000000000..93d456dc2a3 --- /dev/null +++ b/java/ql/lib/change-notes/2024-08-13-stdin-threat-model.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Threat-model for `System.in` changed from `commandargs` to newly created `stdin` (both subgroups of `local`). From 78770bcd1bcb2bca3718536e3f9cba4ebb28e6de Mon Sep 17 00:00:00 2001 From: Rasmus Wriedt Larsen Date: Thu, 15 Aug 2024 15:27:48 +0200 Subject: [PATCH 050/258] Docs: Mention new `stdin` threat-model --- docs/codeql/reusables/threat-model-description.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/codeql/reusables/threat-model-description.rst b/docs/codeql/reusables/threat-model-description.rst index 45fe0317456..05a88c9e90c 100644 --- a/docs/codeql/reusables/threat-model-description.rst +++ b/docs/codeql/reusables/threat-model-description.rst @@ -5,7 +5,7 @@ A threat model is a named class of dataflow sources that can be enabled or disab The ``kind`` property of the ``sourceModel`` determines which threat model a source is associated with. There are two main categories: - ``remote`` which represents requests and responses from the network. -- ``local`` which represents data from local files (``file``), command-line arguments (``commandargs``), database reads (``database``), environment variables(``environment``) and Windows registry values ("windows-registry"). Currently, Windows registry values are used by C# only. +- ``local`` which represents data from local files (``file``), command-line arguments (``commandargs``), database reads (``database``), environment variables(``environment``), standard input (``stdin``) and Windows registry values ("windows-registry"). Currently, Windows registry values are used by C# only. Note that subcategories can be turned included or excluded separately, so you can specify ``local`` without ``database``, or just ``commandargs`` and ``environment`` without the rest of ``local``. From e77c3dfda172d4681813f10115f125d9fb7c13e6 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Thu, 15 Aug 2024 15:45:37 +0200 Subject: [PATCH 051/258] Java: Fix expected files following https://github.com/github/codeql/pull/17233 and https://github.com/github/codeql/pull/17224. --- .../dataflow/capture/inlinetest.expected | 8 -- .../apache-collections/test.expected | 78 ------------------- .../frameworks/spring/beans/test.expected | 10 --- .../frameworks/spring/cache/test.expected | 2 - .../frameworks/spring/util/test.expected | 8 -- 5 files changed, 106 deletions(-) diff --git a/java/ql/test/library-tests/dataflow/capture/inlinetest.expected b/java/ql/test/library-tests/dataflow/capture/inlinetest.expected index ffe2ca32a0e..0987959e449 100644 --- a/java/ql/test/library-tests/dataflow/capture/inlinetest.expected +++ b/java/ql/test/library-tests/dataflow/capture/inlinetest.expected @@ -111,29 +111,21 @@ edges | B.java:107:21:107:21 | l : ArrayList [] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out1, ] : String | provenance | MaD:1 | | B.java:107:31:107:31 | x : String | B.java:109:16:109:16 | x : String | provenance | | | B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | provenance | MaD:1 | -| B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | provenance | MaD:1 | -| B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | provenance | heuristic-callback | | B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | provenance | heuristic-callback | | B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this : new Consumer(...) { ... } [String s] : String | provenance | MaD:1 | | B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this : new Consumer(...) { ... } [String s] : String | provenance | heuristic-callback | | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out1, ] : String | B.java:107:31:111:5 | List out1 : ArrayList [] : String | provenance | | | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | B.java:107:31:111:5 | List out2 : ArrayList [] : String | provenance | | | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | B.java:107:31:111:5 | List out2 : ArrayList [] : String | provenance | | -| B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | B.java:107:31:111:5 | List out2 : ArrayList [] : String | provenance | | -| B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | B.java:107:31:111:5 | List out2 : ArrayList [] : String | provenance | | | B.java:107:31:111:5 | List out1 : ArrayList [] : String | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out1, ] : String | provenance | | | B.java:107:31:111:5 | List out2 : ArrayList [] : String | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | provenance | | | B.java:107:31:111:5 | List out2 : ArrayList [] : String | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | provenance | | -| B.java:107:31:111:5 | List out2 : ArrayList [] : String | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | provenance | | -| B.java:107:31:111:5 | List out2 : ArrayList [] : String | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | provenance | | | B.java:107:31:111:5 | String s : String | B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | provenance | | | B.java:107:31:111:5 | parameter this : new Consumer(...) { ... } [String s] : String | B.java:108:12:108:12 | this : new Consumer(...) { ... } [String s] : String | provenance | | | B.java:107:31:111:5 | parameter this : new Consumer(...) { ... } [String s] : String | B.java:110:16:110:16 | this : new Consumer(...) { ... } [String s] : String | provenance | | | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out1, ] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out1, ] : String | provenance | | | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | provenance | | | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | provenance | | -| B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | provenance | | -| B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | provenance | | | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [String s] : String | B.java:107:31:111:5 | String s : String | provenance | | | B.java:108:12:108:12 | this : new Consumer(...) { ... } [String s] : String | B.java:108:12:108:12 | s | provenance | | | B.java:109:7:109:10 | out1 [post update] : ArrayList [] : String | B.java:109:7:109:10 | this : new Consumer(...) { ... } [List out1, ] : String | provenance | | diff --git a/java/ql/test/library-tests/frameworks/apache-collections/test.expected b/java/ql/test/library-tests/frameworks/apache-collections/test.expected index b2cbd9aa697..79c211862df 100644 --- a/java/ql/test/library-tests/frameworks/apache-collections/test.expected +++ b/java/ql/test/library-tests/frameworks/apache-collections/test.expected @@ -1499,8 +1499,6 @@ edges | Test.java:238:62:238:70 | container : TiedMapEntry [] : Object | Test.java:238:62:238:79 | getKey(...) : Object | provenance | MaD:20 | | Test.java:239:18:239:57 | container : MyAbstractMapEntryDecorator [] : String | Test.java:239:69:239:77 | container : MyAbstractMapEntryDecorator [] : String | provenance | | | Test.java:239:69:239:77 | container : MyAbstractMapEntryDecorator [] : String | Test.java:239:69:239:86 | getKey(...) : String | provenance | MaD:20 | -| Test.java:239:69:239:77 | container : MyAbstractMapEntryDecorator [] : String | Test.java:239:69:239:86 | getKey(...) : String | provenance | MaD:20 | -| Test.java:239:69:239:77 | container : MyAbstractMapEntryDecorator [] : String | Test.java:239:69:239:86 | getKey(...) : String | provenance | MaD:568 | | Test.java:239:69:239:77 | container : MyAbstractMapEntryDecorator [] : String | Test.java:239:69:239:86 | getKey(...) : String | provenance | MaD:568 | | Test.java:240:18:240:46 | container : ArrayListValuedHashMap [] : String | Test.java:240:58:240:66 | container : ArrayListValuedHashMap [] : String | provenance | | | Test.java:240:18:240:46 | container : HashSetValuedHashMap [] : String | Test.java:240:58:240:66 | container : HashSetValuedHashMap [] : String | provenance | | @@ -1564,8 +1562,6 @@ edges | Test.java:244:64:244:72 | container : TiedMapEntry [] : String | Test.java:244:64:244:83 | getValue(...) : String | provenance | MaD:21 | | Test.java:245:20:245:59 | container : MyAbstractMapEntryDecorator [] : String | Test.java:245:71:245:79 | container : MyAbstractMapEntryDecorator [] : String | provenance | | | Test.java:245:71:245:79 | container : MyAbstractMapEntryDecorator [] : String | Test.java:245:71:245:90 | getValue(...) : String | provenance | MaD:21 | -| Test.java:245:71:245:79 | container : MyAbstractMapEntryDecorator [] : String | Test.java:245:71:245:90 | getValue(...) : String | provenance | MaD:21 | -| Test.java:245:71:245:79 | container : MyAbstractMapEntryDecorator [] : String | Test.java:245:71:245:90 | getValue(...) : String | provenance | MaD:569 | | Test.java:245:71:245:79 | container : MyAbstractMapEntryDecorator [] : String | Test.java:245:71:245:90 | getValue(...) : String | provenance | MaD:569 | | Test.java:246:20:246:47 | mapIterator : EntrySetToMapIteratorAdapter [] : String | Test.java:246:59:246:69 | mapIterator : EntrySetToMapIteratorAdapter [] : String | provenance | | | Test.java:246:20:246:47 | mapIterator : MapIterator [] : Object | Test.java:246:59:246:69 | mapIterator : MapIterator [] : Object | provenance | | @@ -1636,11 +1632,7 @@ edges | Test.java:258:49:258:57 | element : String | Test.java:258:110:258:116 | element : String | provenance | | | Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | provenance | | | Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | provenance | | -| Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | provenance | | -| Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | provenance | | | Test.java:258:110:258:116 | element : String | Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | provenance | MaD:2 | -| Test.java:258:110:258:116 | element : String | Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | provenance | MaD:2 | -| Test.java:258:110:258:116 | element : String | Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | provenance | MaD:673 | | Test.java:258:110:258:116 | element : String | Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | provenance | MaD:673 | | Test.java:259:49:259:57 | element : String | Test.java:259:90:259:96 | element : String | provenance | | | Test.java:259:69:259:97 | newVectorWithElement(...) : Vector [] : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | provenance | MaD:5 | @@ -1660,25 +1652,15 @@ edges | Test.java:262:52:262:60 | element : String | Test.java:262:106:262:112 | element : String | provenance | | | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | provenance | MaD:674 | | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | provenance | MaD:674 | -| Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | provenance | MaD:674 | -| Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | provenance | MaD:674 | -| Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | provenance | MaD:1 | -| Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:262:106:262:112 | element : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:2 | -| Test.java:262:106:262:112 | element : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:2 | -| Test.java:262:106:262:112 | element : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:673 | | Test.java:262:106:262:112 | element : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:673 | | Test.java:262:106:262:112 | element : String | Test.java:263:41:263:49 | element : String | provenance | | | Test.java:263:41:263:49 | element : String | Test.java:263:102:263:108 | element : String | provenance | | | Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | provenance | | | Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | provenance | | -| Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | provenance | | -| Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | provenance | | | Test.java:263:102:263:108 | element : String | Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | provenance | MaD:2 | -| Test.java:263:102:263:108 | element : String | Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | provenance | MaD:2 | -| Test.java:263:102:263:108 | element : String | Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | provenance | MaD:673 | | Test.java:263:102:263:108 | element : String | Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | provenance | MaD:673 | | Test.java:264:80:264:88 | element : String | Test.java:264:177:264:183 | element : String | provenance | | | Test.java:264:171:264:171 | x [post update] : Builder [] : String | Test.java:264:194:264:194 | x : Builder [] : String | provenance | | @@ -1693,19 +1675,11 @@ edges | Test.java:267:39:267:47 | element : String | Test.java:267:90:267:96 | element : String | provenance | | | Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | Test.java:267:107:267:107 | b : TreeBag [, ] : String | provenance | | | Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | Test.java:267:107:267:107 | b : TreeBag [, ] : String | provenance | | -| Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | Test.java:267:107:267:107 | b : TreeBag [, ] : String | provenance | | -| Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | Test.java:267:107:267:107 | b : TreeBag [, ] : String | provenance | | -| Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | Test.java:267:107:267:107 | b : TreeBag [] : String | provenance | | -| Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | Test.java:267:107:267:107 | b : TreeBag [] : String | provenance | | | Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | Test.java:267:107:267:107 | b : TreeBag [] : String | provenance | | | Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | Test.java:267:107:267:107 | b : TreeBag [] : String | provenance | | | Test.java:267:90:267:96 | element : ListIterator [] : String | Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | provenance | MaD:2 | -| Test.java:267:90:267:96 | element : ListIterator [] : String | Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | provenance | MaD:2 | -| Test.java:267:90:267:96 | element : ListIterator [] : String | Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | provenance | MaD:395 | | Test.java:267:90:267:96 | element : ListIterator [] : String | Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | provenance | MaD:395 | | Test.java:267:90:267:96 | element : String | Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | provenance | MaD:2 | -| Test.java:267:90:267:96 | element : String | Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | provenance | MaD:2 | -| Test.java:267:90:267:96 | element : String | Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | provenance | MaD:395 | | Test.java:267:90:267:96 | element : String | Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | provenance | MaD:395 | | Test.java:268:39:268:47 | element : String | Test.java:268:90:268:96 | element : String | provenance | | | Test.java:268:84:268:84 | h [post update] : TreeSet [] : String | Test.java:268:107:268:107 | h : TreeSet [] : String | provenance | | @@ -1727,11 +1701,7 @@ edges | Test.java:275:49:275:53 | key : String | Test.java:275:107:275:109 | key : String | provenance | | | Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | Test.java:275:125:275:125 | m : HashedMap [] : String | provenance | | | Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | Test.java:275:125:275:125 | m : HashedMap [] : String | provenance | | -| Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | Test.java:275:125:275:125 | m : HashedMap [] : String | provenance | | -| Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | Test.java:275:125:275:125 | m : HashedMap [] : String | provenance | | | Test.java:275:107:275:109 | key : String | Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | provenance | MaD:14 | -| Test.java:275:107:275:109 | key : String | Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | provenance | MaD:14 | -| Test.java:275:107:275:109 | key : String | Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | provenance | MaD:705 | | Test.java:275:107:275:109 | key : String | Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | provenance | MaD:705 | | Test.java:276:49:276:53 | key : String | Test.java:276:96:276:98 | key : String | provenance | | | Test.java:276:89:276:105 | of(...) : Map [] : String | Test.java:276:65:276:106 | new LinkedMap(...) : LinkedMap [] : String | provenance | MaD:317 | @@ -1746,20 +1716,8 @@ edges | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | -| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | -| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | -| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | -| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | -| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | -| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | -| Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:14 | -| Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:14 | | Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:14 | | Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:661 | -| Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:661 | -| Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:661 | -| Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:705 | -| Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:705 | | Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:705 | | Test.java:280:53:280:57 | key : String | Test.java:280:102:280:104 | key : String | provenance | | | Test.java:280:102:280:104 | key : String | Test.java:280:69:280:110 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | provenance | MaD:195 | @@ -1775,14 +1733,8 @@ edges | Test.java:283:53:283:57 | key : String | Test.java:283:111:283:113 | key : String | provenance | | | Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | Test.java:283:129:283:129 | m : LinkedMap [] : String | provenance | | | Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | Test.java:283:129:283:129 | m : LinkedMap [] : String | provenance | | -| Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | Test.java:283:129:283:129 | m : LinkedMap [] : String | provenance | | -| Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | Test.java:283:129:283:129 | m : LinkedMap [] : String | provenance | | -| Test.java:283:111:283:113 | key : String | Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | provenance | MaD:14 | | Test.java:283:111:283:113 | key : String | Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | provenance | MaD:14 | | Test.java:283:111:283:113 | key : String | Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | provenance | MaD:705 | -| Test.java:283:111:283:113 | key : String | Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | provenance | MaD:705 | -| Test.java:283:129:283:129 | m : LinkedMap [] : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:487 | -| Test.java:283:129:283:129 | m : LinkedMap [] : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:487 | | Test.java:283:129:283:129 | m : LinkedMap [] : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:487 | | Test.java:283:129:283:129 | m : LinkedMap [] : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:487 | | Test.java:285:47:285:51 | key : String | Test.java:285:103:285:105 | key : String | provenance | | @@ -1793,20 +1745,12 @@ edges | Test.java:287:75:287:79 | key : String | Test.java:287:137:287:139 | key : String | provenance | | | Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | provenance | | | Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | provenance | | -| Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | provenance | | -| Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | provenance | | | Test.java:287:137:287:139 | key : String | Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | provenance | MaD:14 | -| Test.java:287:137:287:139 | key : String | Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | provenance | MaD:14 | -| Test.java:287:137:287:139 | key : String | Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | provenance | MaD:705 | | Test.java:287:137:287:139 | key : String | Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | provenance | MaD:705 | | Test.java:288:49:288:58 | key : String | Test.java:288:116:288:118 | key : String | provenance | | | Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | provenance | | | Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | provenance | | -| Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | provenance | | -| Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | provenance | | | Test.java:288:116:288:118 | key : String | Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | provenance | MaD:14 | -| Test.java:288:116:288:118 | key : String | Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | provenance | MaD:14 | -| Test.java:288:116:288:118 | key : String | Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | provenance | MaD:705 | | Test.java:288:116:288:118 | key : String | Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | provenance | MaD:705 | | Test.java:290:60:290:66 | value : String | Test.java:290:151:290:155 | value : String | provenance | | | Test.java:290:140:290:140 | m [post update] : ArrayListValuedHashMap [, ] : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | provenance | | @@ -1819,11 +1763,7 @@ edges | Test.java:293:51:293:57 | value : String | Test.java:293:116:293:120 | value : String | provenance | | | Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | Test.java:293:131:293:131 | m : HashedMap [] : String | provenance | | | Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | Test.java:293:131:293:131 | m : HashedMap [] : String | provenance | | -| Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | Test.java:293:131:293:131 | m : HashedMap [] : String | provenance | | -| Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | Test.java:293:131:293:131 | m : HashedMap [] : String | provenance | | | Test.java:293:116:293:120 | value : String | Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | provenance | MaD:15 | -| Test.java:293:116:293:120 | value : String | Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | provenance | MaD:15 | -| Test.java:293:116:293:120 | value : String | Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | provenance | MaD:706 | | Test.java:293:116:293:120 | value : String | Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | provenance | MaD:706 | | Test.java:294:58:294:64 | value : String | Test.java:294:145:294:149 | value : String | provenance | | | Test.java:294:134:294:134 | m [post update] : HashSetValuedHashMap [, ] : String | Test.java:294:160:294:160 | m : HashSetValuedHashMap [, ] : String | provenance | | @@ -1844,12 +1784,8 @@ edges | Test.java:298:111:298:111 | m [post update] : MultiValueMap [, ] : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | provenance | | | Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | provenance | | | Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | provenance | | -| Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | provenance | | -| Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | provenance | | | Test.java:298:122:298:126 | value : String | Test.java:298:111:298:111 | m [post update] : MultiValueMap [, ] : String | provenance | MaD:662 | | Test.java:298:122:298:126 | value : String | Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | provenance | MaD:15 | -| Test.java:298:122:298:126 | value : String | Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | provenance | MaD:15 | -| Test.java:298:122:298:126 | value : String | Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | provenance | MaD:706 | | Test.java:298:122:298:126 | value : String | Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | provenance | MaD:706 | | Test.java:299:55:299:61 | value : String | Test.java:299:111:299:115 | value : String | provenance | | | Test.java:299:111:299:115 | value : String | Test.java:299:73:299:116 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | provenance | MaD:190 | @@ -1865,14 +1801,8 @@ edges | Test.java:302:54:302:60 | value : String | Test.java:302:119:302:123 | value : String | provenance | | | Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | Test.java:302:134:302:134 | m : LinkedMap [] : String | provenance | | | Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | Test.java:302:134:302:134 | m : LinkedMap [] : String | provenance | | -| Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | Test.java:302:134:302:134 | m : LinkedMap [] : String | provenance | | -| Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | Test.java:302:134:302:134 | m : LinkedMap [] : String | provenance | | -| Test.java:302:119:302:123 | value : String | Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | provenance | MaD:15 | | Test.java:302:119:302:123 | value : String | Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | provenance | MaD:15 | | Test.java:302:119:302:123 | value : String | Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | provenance | MaD:706 | -| Test.java:302:119:302:123 | value : String | Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | provenance | MaD:706 | -| Test.java:302:134:302:134 | m : LinkedMap [] : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:488 | -| Test.java:302:134:302:134 | m : LinkedMap [] : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:488 | | Test.java:302:134:302:134 | m : LinkedMap [] : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:488 | | Test.java:302:134:302:134 | m : LinkedMap [] : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:488 | | Test.java:304:49:304:55 | value : Map | Test.java:304:112:304:116 | value : Map | provenance | | @@ -1888,20 +1818,12 @@ edges | Test.java:306:77:306:83 | value : String | Test.java:306:146:306:150 | value : String | provenance | | | Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | provenance | | | Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | provenance | | -| Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | provenance | | -| Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | provenance | | | Test.java:306:146:306:150 | value : String | Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | provenance | MaD:15 | -| Test.java:306:146:306:150 | value : String | Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | provenance | MaD:15 | -| Test.java:306:146:306:150 | value : String | Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | provenance | MaD:706 | | Test.java:306:146:306:150 | value : String | Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | provenance | MaD:706 | | Test.java:307:50:307:56 | value : String | Test.java:307:114:307:118 | value : String | provenance | | | Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | provenance | | | Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | provenance | | -| Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | provenance | | -| Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | provenance | | | Test.java:307:114:307:118 | value : String | Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | provenance | MaD:15 | -| Test.java:307:114:307:118 | value : String | Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | provenance | MaD:15 | -| Test.java:307:114:307:118 | value : String | Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | provenance | MaD:706 | | Test.java:307:114:307:118 | value : String | Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | provenance | MaD:706 | | Test.java:308:56:308:62 | value : String | Test.java:308:114:308:118 | value : String | provenance | | | Test.java:308:114:308:118 | value : String | Test.java:308:74:308:119 | new UnmodifiableMapEntry(...) : UnmodifiableMapEntry [] : String | provenance | MaD:240 | diff --git a/java/ql/test/library-tests/frameworks/spring/beans/test.expected b/java/ql/test/library-tests/frameworks/spring/beans/test.expected index f766d7d058e..8c015c105f9 100644 --- a/java/ql/test/library-tests/frameworks/spring/beans/test.expected +++ b/java/ql/test/library-tests/frameworks/spring/beans/test.expected @@ -46,24 +46,14 @@ edges | Test.java:20:34:20:64 | container : MutablePropertyValues [] : Object | Test.java:21:10:21:18 | container : MutablePropertyValues [] : Object | provenance | | | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:18 | container : MutablePropertyValues [] : PropertyValue | provenance | | | Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | provenance | MaD:23 | -| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | provenance | MaD:23 | -| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | provenance | MaD:34 | | Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | provenance | MaD:34 | | Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | provenance | MaD:23 | -| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | provenance | MaD:23 | -| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | provenance | MaD:34 | | Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | provenance | MaD:34 | | Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | provenance | MaD:23 | -| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | provenance | MaD:23 | -| Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | provenance | MaD:34 | | Test.java:21:10:21:18 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | provenance | MaD:34 | | Test.java:21:10:21:18 | container : MutablePropertyValues [] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:23 | -| Test.java:21:10:21:18 | container : MutablePropertyValues [] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:23 | -| Test.java:21:10:21:18 | container : MutablePropertyValues [] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 | | Test.java:21:10:21:18 | container : MutablePropertyValues [] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 | | Test.java:21:10:21:18 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:23 | -| Test.java:21:10:21:18 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:23 | -| Test.java:21:10:21:18 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 | | Test.java:21:10:21:18 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 | | Test.java:24:26:24:48 | container : PropertyValue [] : Object | Test.java:25:10:25:18 | container : PropertyValue [] : Object | provenance | | | Test.java:24:26:24:48 | container : PropertyValue [] : String | Test.java:25:10:25:18 | container : PropertyValue [] : String | provenance | | diff --git a/java/ql/test/library-tests/frameworks/spring/cache/test.expected b/java/ql/test/library-tests/frameworks/spring/cache/test.expected index fc7a29a83f5..3d15ea5d79f 100644 --- a/java/ql/test/library-tests/frameworks/spring/cache/test.expected +++ b/java/ql/test/library-tests/frameworks/spring/cache/test.expected @@ -44,8 +44,6 @@ edges | Test.java:42:21:42:48 | container : ValueWrapper [] : Object | Test.java:42:60:42:68 | container : ValueWrapper [] : Object | provenance | | | Test.java:42:60:42:68 | container : ValueWrapper [] : Object | Test.java:18:17:18:19 | parameter this : ValueWrapper [] : Object | provenance | | | Test.java:42:60:42:68 | container : ValueWrapper [] : Object | Test.java:42:60:42:74 | get(...) : Object | provenance | MaD:3 | -| Test.java:42:60:42:68 | container : ValueWrapper [] : Object | Test.java:42:60:42:74 | get(...) : Object | provenance | MaD:3 | -| Test.java:42:60:42:68 | container : ValueWrapper [] : Object | Test.java:42:60:42:74 | get(...) : Object | provenance | MaD:18 | | Test.java:42:60:42:68 | container : ValueWrapper [] : Object | Test.java:42:60:42:74 | get(...) : Object | provenance | MaD:18 | | Test.java:51:16:51:23 | source(...) : Object | Test.java:52:44:52:45 | in : Object | provenance | | | Test.java:52:10:52:58 | new ValueRetrievalException(...) : ValueRetrievalException [] : Object | Test.java:53:19:53:21 | out : ValueRetrievalException [] : Object | provenance | | diff --git a/java/ql/test/library-tests/frameworks/spring/util/test.expected b/java/ql/test/library-tests/frameworks/spring/util/test.expected index fff14414847..2547f790b8d 100644 --- a/java/ql/test/library-tests/frameworks/spring/util/test.expected +++ b/java/ql/test/library-tests/frameworks/spring/util/test.expected @@ -199,20 +199,12 @@ edges | Test.java:54:37:54:50 | element : Object | Test.java:54:94:54:100 | element : Object | provenance | | | Test.java:54:88:54:88 | p [post update] : Properties [] : Object | Test.java:54:117:54:117 | p : Properties [] : Object | provenance | | | Test.java:54:88:54:88 | p [post update] : Properties [] : Object | Test.java:54:117:54:117 | p : Properties [] : Object | provenance | | -| Test.java:54:88:54:88 | p [post update] : Properties [] : Object | Test.java:54:117:54:117 | p : Properties [] : Object | provenance | | -| Test.java:54:88:54:88 | p [post update] : Properties [] : Object | Test.java:54:117:54:117 | p : Properties [] : Object | provenance | | | Test.java:54:94:54:100 | element : Object | Test.java:54:88:54:88 | p [post update] : Properties [] : Object | provenance | MaD:5 | -| Test.java:54:94:54:100 | element : Object | Test.java:54:88:54:88 | p [post update] : Properties [] : Object | provenance | MaD:5 | -| Test.java:54:94:54:100 | element : Object | Test.java:54:88:54:88 | p [post update] : Properties [] : Object | provenance | MaD:13 | | Test.java:54:94:54:100 | element : Object | Test.java:54:88:54:88 | p [post update] : Properties [] : Object | provenance | MaD:13 | | Test.java:55:39:55:52 | element : Object | Test.java:55:102:55:108 | element : Object | provenance | | | Test.java:55:90:55:90 | p [post update] : Properties [] : Object | Test.java:55:119:55:119 | p : Properties [] : Object | provenance | | | Test.java:55:90:55:90 | p [post update] : Properties [] : Object | Test.java:55:119:55:119 | p : Properties [] : Object | provenance | | -| Test.java:55:90:55:90 | p [post update] : Properties [] : Object | Test.java:55:119:55:119 | p : Properties [] : Object | provenance | | -| Test.java:55:90:55:90 | p [post update] : Properties [] : Object | Test.java:55:119:55:119 | p : Properties [] : Object | provenance | | | Test.java:55:102:55:108 | element : Object | Test.java:55:90:55:90 | p [post update] : Properties [] : Object | provenance | MaD:6 | -| Test.java:55:102:55:108 | element : Object | Test.java:55:90:55:90 | p [post update] : Properties [] : Object | provenance | MaD:6 | -| Test.java:55:102:55:108 | element : Object | Test.java:55:90:55:90 | p [post update] : Properties [] : Object | provenance | MaD:14 | | Test.java:55:102:55:108 | element : Object | Test.java:55:90:55:90 | p [post update] : Properties [] : Object | provenance | MaD:14 | | Test.java:66:17:66:32 | (...)... : String | Test.java:67:33:67:34 | in : String | provenance | | | Test.java:66:25:66:32 | source(...) : Object | Test.java:66:17:66:32 | (...)... : String | provenance | | From 7a446231b6aca5a45c621474ec0201758b4080ac Mon Sep 17 00:00:00 2001 From: Rasmus Wriedt Larsen Date: Thu, 15 Aug 2024 16:20:00 +0200 Subject: [PATCH 052/258] C#: Accept benign test changes --- .../query-tests/Security Features/CWE-089/SqlInjection.expected | 2 +- .../Security Features/CWE-134/UncontrolledFormatString.expected | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected b/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected index 7cfeda2a32e..a6f74041843 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected +++ b/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected @@ -124,7 +124,7 @@ models | 24 | Summary: System.IO; StreamReader; false; StreamReader; (System.IO.Stream,System.Text.Encoding); ; Argument[0]; Argument[this]; taint; manual | | 25 | Summary: System.IO; TextReader; true; ReadLine; (); ; Argument[this]; ReturnValue; taint; manual | | 26 | Summary: System.Web.UI.WebControls; TextBox; false; get_Text; (); ; Argument[this]; ReturnValue; taint; manual | -| 27 | Source: System; Console; false; ReadLine; ; ; ReturnValue; local; manual | +| 27 | Source: System; Console; false; ReadLine; ; ; ReturnValue; stdin; manual | | 28 | Summary: System; String; false; Trim; (); ; Argument[this]; ReturnValue; taint; manual | nodes | SecondOrderSqlInjection.cs:20:31:20:44 | access to local variable customerReader : SqlDataReader | semmle.label | access to local variable customerReader : SqlDataReader | diff --git a/csharp/ql/test/query-tests/Security Features/CWE-134/UncontrolledFormatString.expected b/csharp/ql/test/query-tests/Security Features/CWE-134/UncontrolledFormatString.expected index f9ac3c3f466..6c70f8450b2 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-134/UncontrolledFormatString.expected +++ b/csharp/ql/test/query-tests/Security Features/CWE-134/UncontrolledFormatString.expected @@ -17,7 +17,7 @@ edges | UncontrolledFormatStringBad.cs:9:25:9:47 | access to property QueryString : NameValueCollection | UncontrolledFormatStringBad.cs:9:25:9:61 | access to indexer : String | provenance | MaD:2 | | UncontrolledFormatStringBad.cs:9:25:9:61 | access to indexer : String | UncontrolledFormatStringBad.cs:9:16:9:21 | access to local variable format : String | provenance | | models -| 1 | Source: System; Console; false; ReadLine; ; ; ReturnValue; local; manual | +| 1 | Source: System; Console; false; ReadLine; ; ; ReturnValue; stdin; manual | | 2 | Summary: System.Collections.Specialized; NameValueCollection; false; get_Item; (System.String); ; Argument[this]; ReturnValue; taint; df-generated | nodes | ConsoleUncontrolledFormatString.cs:8:13:8:18 | access to local variable format : String | semmle.label | access to local variable format : String | From 0b56bf98f3363cbfb375f753a9fd792c046be774 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Thu, 15 Aug 2024 17:26:38 +0100 Subject: [PATCH 053/258] Java: add test for Apache Camel dead-code analysis This exercises code that detects Camel entry-points and marks them as live. --- .../DeadCode/camel/DeadClass.expected | 13 ++ .../DeadCode/camel/DeadClass.qlref | 1 + .../DeadCode/camel/DeadMethod.expected | 8 + .../DeadCode/camel/DeadMethod.qlref | 1 + .../ql/test/query-tests/DeadCode/camel/README | 1 + .../com/semmle/camel/AnnotatedTarget.java | 14 ++ .../camel/com/semmle/camel/BeanRefTarget.java | 13 ++ .../com/semmle/camel/BeanTypeTarget.java | 13 ++ .../camel/com/semmle/camel/DeadTarget.java | 10 + .../camel/com/semmle/camel/MethodBean.java | 10 + .../camel/com/semmle/camel/ToTarget.java | 13 ++ .../camel/javadsl/CustomRouteBuilder.java | 22 ++ .../camel/javadsl/DSLBeanObjectTarget.java | 13 ++ .../camel/javadsl/DSLBeanRefTarget.java | 13 ++ .../semmle/camel/javadsl/DSLBeanTarget.java | 13 ++ .../semmle/camel/javadsl/DSLMethodBean.java | 10 + .../com/semmle/camel/javadsl/DSLToTarget.java | 13 ++ .../query-tests/DeadCode/camel/config.xml | 34 +++ .../test/query-tests/DeadCode/camel/options | 2 + .../test/stubs/apache-camel-4.0.6/LICENSE.txt | 204 ++++++++++++++++++ .../org/apache/camel/CamelContext.java | 21 ++ .../org/apache/camel/Consume.java | 64 ++++++ .../org/apache/camel/RoutesBuilder.java | 19 ++ .../camel/builder/ExpressionClause.java | 25 +++ .../apache/camel/builder/RouteBuilder.java | 39 ++++ .../camel/impl/DefaultCamelContext.java | 28 +++ .../apache/camel/model/FilterDefinition.java | 19 ++ .../apache/camel/model/ModelCamelContext.java | 21 ++ .../apache/camel/model/OutputDefinition.java | 23 ++ .../camel/model/ProcessorDefinition.java | 30 +++ .../apache/camel/model/RouteDefinition.java | 22 ++ 31 files changed, 732 insertions(+) create mode 100644 java/ql/test/query-tests/DeadCode/camel/DeadClass.expected create mode 100644 java/ql/test/query-tests/DeadCode/camel/DeadClass.qlref create mode 100644 java/ql/test/query-tests/DeadCode/camel/DeadMethod.expected create mode 100644 java/ql/test/query-tests/DeadCode/camel/DeadMethod.qlref create mode 100644 java/ql/test/query-tests/DeadCode/camel/README create mode 100644 java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/AnnotatedTarget.java create mode 100644 java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/BeanRefTarget.java create mode 100644 java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/BeanTypeTarget.java create mode 100644 java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/DeadTarget.java create mode 100644 java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/MethodBean.java create mode 100644 java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/ToTarget.java create mode 100644 java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/CustomRouteBuilder.java create mode 100644 java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLBeanObjectTarget.java create mode 100644 java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLBeanRefTarget.java create mode 100644 java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLBeanTarget.java create mode 100644 java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLMethodBean.java create mode 100644 java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLToTarget.java create mode 100644 java/ql/test/query-tests/DeadCode/camel/config.xml create mode 100644 java/ql/test/query-tests/DeadCode/camel/options create mode 100644 java/ql/test/stubs/apache-camel-4.0.6/LICENSE.txt create mode 100644 java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/CamelContext.java create mode 100644 java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/Consume.java create mode 100644 java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/RoutesBuilder.java create mode 100644 java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/builder/ExpressionClause.java create mode 100644 java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/builder/RouteBuilder.java create mode 100644 java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/impl/DefaultCamelContext.java create mode 100644 java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/FilterDefinition.java create mode 100644 java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/ModelCamelContext.java create mode 100644 java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/OutputDefinition.java create mode 100644 java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/ProcessorDefinition.java create mode 100644 java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/RouteDefinition.java diff --git a/java/ql/test/query-tests/DeadCode/camel/DeadClass.expected b/java/ql/test/query-tests/DeadCode/camel/DeadClass.expected new file mode 100644 index 00000000000..661f3cdcd9e --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/DeadClass.expected @@ -0,0 +1,13 @@ +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/builder/ExpressionClause.java:23:14:23:29 | ExpressionClause | The class ExpressionClause is only used from dead code originating at $@. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/builder/ExpressionClause.class:0:0:0:0 | ExpressionClause | ExpressionClause | +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/builder/ExpressionClause.java:23:14:23:29 | ExpressionClause | The class ExpressionClause is only used from dead code originating at $@. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/builder/RouteBuilder.java:38:26:38:34 | configure | configure | +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/model/FilterDefinition.java:19:14:19:29 | FilterDefinition | The class FilterDefinition is entirely unused. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/model/FilterDefinition.java:19:14:19:29 | FilterDefinition | FilterDefinition | +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/model/OutputDefinition.java:22:14:22:29 | OutputDefinition | The class OutputDefinition is only used from dead code originating at $@. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/model/OutputDefinition.class:0:0:0:0 | OutputDefinition | OutputDefinition | +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/model/OutputDefinition.java:22:14:22:29 | OutputDefinition | The class OutputDefinition is only used from dead code originating at $@. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/model/RouteDefinition.java:19:14:19:28 | RouteDefinition | RouteDefinition | +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/model/ProcessorDefinition.java:21:23:21:41 | ProcessorDefinition | The class ProcessorDefinition is only used from dead code originating at $@. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/builder/RouteBuilder.java:38:26:38:34 | configure | configure | +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/model/ProcessorDefinition.java:21:23:21:41 | ProcessorDefinition | The class ProcessorDefinition is only used from dead code originating at $@. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/model/OutputDefinition.class:0:0:0:0 | OutputDefinition | OutputDefinition | +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/model/ProcessorDefinition.java:21:23:21:41 | ProcessorDefinition | The class ProcessorDefinition is only used from dead code originating at $@. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/model/ProcessorDefinition.class:0:0:0:0 | ProcessorDefinition | ProcessorDefinition | +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/model/ProcessorDefinition.java:21:23:21:41 | ProcessorDefinition | The class ProcessorDefinition is only used from dead code originating at $@. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/model/ProcessorDefinition.class:0:0:0:0 | ProcessorDefinition | ProcessorDefinition | +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/model/ProcessorDefinition.java:21:23:21:41 | ProcessorDefinition | The class ProcessorDefinition is only used from dead code originating at $@. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/model/RouteDefinition.java:19:14:19:28 | RouteDefinition | RouteDefinition | +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/model/RouteDefinition.java:19:14:19:28 | RouteDefinition | The class RouteDefinition is entirely unused. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/model/RouteDefinition.java:19:14:19:28 | RouteDefinition | RouteDefinition | +| com/semmle/camel/DeadTarget.java:4:14:4:23 | DeadTarget | The class DeadTarget is entirely unused. | com/semmle/camel/DeadTarget.java:4:14:4:23 | DeadTarget | DeadTarget | +| com/semmle/camel/DeadTarget.java:9:23:9:25 | Foo | The class Foo is only used from dead code originating at $@. | com/semmle/camel/DeadTarget.java:5:14:5:19 | getFoo | getFoo | diff --git a/java/ql/test/query-tests/DeadCode/camel/DeadClass.qlref b/java/ql/test/query-tests/DeadCode/camel/DeadClass.qlref new file mode 100644 index 00000000000..d726e7e0849 --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/DeadClass.qlref @@ -0,0 +1 @@ +DeadCode/DeadClass.ql diff --git a/java/ql/test/query-tests/DeadCode/camel/DeadMethod.expected b/java/ql/test/query-tests/DeadCode/camel/DeadMethod.expected new file mode 100644 index 00000000000..7147eae0f1a --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/DeadMethod.expected @@ -0,0 +1,8 @@ +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/Consume.java:41:12:41:16 | value | The method value is entirely unused. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/Consume.java:41:12:41:16 | value | value | +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/Consume.java:49:12:49:14 | uri | The method uri is entirely unused. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/Consume.java:49:12:49:14 | uri | uri | +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/Consume.java:54:12:54:19 | property | The method property is entirely unused. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/Consume.java:54:12:54:19 | property | property | +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/Consume.java:63:12:63:20 | predicate | The method predicate is entirely unused. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/Consume.java:63:12:63:20 | predicate | predicate | +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/builder/RouteBuilder.java:34:28:34:31 | from | The method from is only used from dead code originating at $@. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/builder/RouteBuilder.java:38:26:38:34 | configure | configure | +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/builder/RouteBuilder.java:38:26:38:34 | configure | The method configure is entirely unused. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/builder/RouteBuilder.java:38:26:38:34 | configure | configure | +| ../../../stubs/apache-camel-4.0.6/org/apache/camel/impl/DefaultCamelContext.java:24:15:24:23 | configure | The method configure is entirely unused. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/impl/DefaultCamelContext.java:24:15:24:23 | configure | configure | +| com/semmle/camel/javadsl/CustomRouteBuilder.java:8:15:8:23 | configure | The method configure is only used from dead code originating at $@. | ../../../stubs/apache-camel-4.0.6/org/apache/camel/builder/RouteBuilder.java:38:26:38:34 | configure | configure | diff --git a/java/ql/test/query-tests/DeadCode/camel/DeadMethod.qlref b/java/ql/test/query-tests/DeadCode/camel/DeadMethod.qlref new file mode 100644 index 00000000000..76204a1df5a --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/DeadMethod.qlref @@ -0,0 +1 @@ +DeadCode/DeadMethod.ql diff --git a/java/ql/test/query-tests/DeadCode/camel/README b/java/ql/test/query-tests/DeadCode/camel/README new file mode 100644 index 00000000000..e3730e1963a --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/README @@ -0,0 +1 @@ +Note that the CustomRouteBuilder method is regarded as "dead" because it would normally override a public library method and so be a `LibOverrideMethodEntry`, but because our library stubs are implemented as source code this isn't recognised. Similarly parts of our stubs appear dead. To confirm this is in fact ok, replace the stubs directory with a real Camel jar file. diff --git a/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/AnnotatedTarget.java b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/AnnotatedTarget.java new file mode 100644 index 00000000000..5b22874025c --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/AnnotatedTarget.java @@ -0,0 +1,14 @@ +package com.semmle.camel; + +import org.apache.camel.Consume; + +/** Class is live because it is constructed as a bean. Method is live because it is annotated. */ +public class AnnotatedTarget { + + @Consume(uri = "activemq:test") + public Foo getFoo(Foo foo1) { + return new Foo(); + } + + public static class Foo {} +} diff --git a/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/BeanRefTarget.java b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/BeanRefTarget.java new file mode 100644 index 00000000000..fd6caf9fcc4 --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/BeanRefTarget.java @@ -0,0 +1,13 @@ +package com.semmle.camel; + +/** + * All public methods in this class are considered to be live because this class is registered in a + * {@code } tag in a Spring XML defined route. + */ +public class BeanRefTarget { + public Foo applyFoo(Foo foo1) { + return new Foo(); + } + + public static class Foo {} +} diff --git a/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/BeanTypeTarget.java b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/BeanTypeTarget.java new file mode 100644 index 00000000000..e854d5e3a59 --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/BeanTypeTarget.java @@ -0,0 +1,13 @@ +package com.semmle.camel; + +/** + * All public methods in this class are considered to be live because this class is registered in a + * {@code } tag in a Spring XML defined route. + */ +public class BeanTypeTarget { + public Foo applyFoo(Foo foo1) { + return new Foo(); + } + + public static class Foo {} +} diff --git a/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/DeadTarget.java b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/DeadTarget.java new file mode 100644 index 00000000000..f4fabc7d22e --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/DeadTarget.java @@ -0,0 +1,10 @@ +package com.semmle.camel; + +/** Dead because it is not referenced in the {@code config.xml} file, or in the Java DSL. */ +public class DeadTarget { + public Foo getFoo(Foo foo1) { + return new Foo(); + } + + public static class Foo {} +} diff --git a/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/MethodBean.java b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/MethodBean.java new file mode 100644 index 00000000000..17c66cc84fa --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/MethodBean.java @@ -0,0 +1,10 @@ +package com.semmle.camel; + +/** A bean referred to in a method element in the config.xml file. */ +public class MethodBean { + public Foo getFoo(Foo foo1) { + return new Foo(); + } + + public static class Foo {} +} diff --git a/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/ToTarget.java b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/ToTarget.java new file mode 100644 index 00000000000..a26211ac0cb --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/ToTarget.java @@ -0,0 +1,13 @@ +package com.semmle.camel; + +/** + * All public methods in this class are considered to be live because this class is registered in a + * {@code } tag in a Spring XML defined route. + */ +public class ToTarget { + public Foo applyFoo(Foo foo1) { + return new Foo(); + } + + public static class Foo {} +} diff --git a/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/CustomRouteBuilder.java b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/CustomRouteBuilder.java new file mode 100644 index 00000000000..437a4d7b56d --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/CustomRouteBuilder.java @@ -0,0 +1,22 @@ +package com.semmle.camel.javadsl; + +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.impl.DefaultCamelContext; + +public class CustomRouteBuilder extends RouteBuilder { + @Override + public void configure() throws Exception { + from("direct:test") + .to("bean:dslToTarget") + .bean(DSLBeanTarget.class) + .bean(new DSLBeanObjectTarget()) + .beanRef("dslBeanRefTarget") + .filter() + .method("dslMethodBean"); + } + + public static void main(String[] args) throws Exception { + DefaultCamelContext camelContext = new DefaultCamelContext(); + camelContext.addRoutes(new CustomRouteBuilder()); + } +} diff --git a/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLBeanObjectTarget.java b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLBeanObjectTarget.java new file mode 100644 index 00000000000..9dc05b937ad --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLBeanObjectTarget.java @@ -0,0 +1,13 @@ +package com.semmle.camel.javadsl; + +/** + * All public methods in this class are considered to be live because this class is registered in a + * {@code bean(new DSLBeanObjectTarget())} call in a RouteBuilder. + */ +public class DSLBeanObjectTarget { + public Foo applyFoo(Foo foo1) { + return new Foo(); + } + + public static class Foo {} +} diff --git a/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLBeanRefTarget.java b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLBeanRefTarget.java new file mode 100644 index 00000000000..77a224310aa --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLBeanRefTarget.java @@ -0,0 +1,13 @@ +package com.semmle.camel.javadsl; + +/** + * All public methods in this class are considered to be live because this class is registered in a + * {@code beanRef("dslBeanRefTarget")} call in a RouteBuilder. + */ +public class DSLBeanRefTarget { + public Foo applyFoo(Foo foo1) { + return new Foo(); + } + + public static class Foo {} +} diff --git a/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLBeanTarget.java b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLBeanTarget.java new file mode 100644 index 00000000000..beb27b4b5ec --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLBeanTarget.java @@ -0,0 +1,13 @@ +package com.semmle.camel.javadsl; + +/** + * All public methods in this class are considered to be live because this class is registered in a + * {@code bean(DSLBeanTarget.class)} call in a RouteBuilder. + */ +public class DSLBeanTarget { + public Foo applyFoo(Foo foo1) { + return new Foo(); + } + + public static class Foo {} +} diff --git a/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLMethodBean.java b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLMethodBean.java new file mode 100644 index 00000000000..8916155fc9b --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLMethodBean.java @@ -0,0 +1,10 @@ +package com.semmle.camel.javadsl; + +/** A bean referred to in the CustomRouteBuilder. */ +public class DSLMethodBean { + public Foo getFoo(Foo foo1) { + return new Foo(); + } + + public static class Foo {} +} diff --git a/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLToTarget.java b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLToTarget.java new file mode 100644 index 00000000000..2dbc3d8b79b --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/com/semmle/camel/javadsl/DSLToTarget.java @@ -0,0 +1,13 @@ +package com.semmle.camel.javadsl; + +/** + * All public methods in this class are considered to be live because this class is registered in a + * {@code to("bean:dslToTarget")} call in a RouteBuilder. + */ +public class DSLToTarget { + public Foo applyFoo(Foo foo1) { + return new Foo(); + } + + public static class Foo {} +} diff --git a/java/ql/test/query-tests/DeadCode/camel/config.xml b/java/ql/test/query-tests/DeadCode/camel/config.xml new file mode 100644 index 00000000000..04b0e4ad69e --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/config.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/java/ql/test/query-tests/DeadCode/camel/options b/java/ql/test/query-tests/DeadCode/camel/options new file mode 100644 index 00000000000..33055907ff8 --- /dev/null +++ b/java/ql/test/query-tests/DeadCode/camel/options @@ -0,0 +1,2 @@ +//semmle-extractor-options: --javac-args -cp +//semmle-extractor-options: ${testdir}/../../../stubs/apache-camel-4.0.6/:${testdir}/../../../stubs/jaxb-api-2.3.1/ diff --git a/java/ql/test/stubs/apache-camel-4.0.6/LICENSE.txt b/java/ql/test/stubs/apache-camel-4.0.6/LICENSE.txt new file mode 100644 index 00000000000..1f30f693e7c --- /dev/null +++ b/java/ql/test/stubs/apache-camel-4.0.6/LICENSE.txt @@ -0,0 +1,204 @@ + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/CamelContext.java b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/CamelContext.java new file mode 100644 index 00000000000..ac047586ae2 --- /dev/null +++ b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/CamelContext.java @@ -0,0 +1,21 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel; + +public interface CamelContext { + void addRoutes(RoutesBuilder builder) throws Exception; +} diff --git a/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/Consume.java b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/Consume.java new file mode 100644 index 00000000000..70f5a0b2bee --- /dev/null +++ b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/Consume.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Subscribes a method to an {@link Endpoint} either via its URI or via + * the name of the endpoint reference which is then resolved in a registry such as the Spring Application Context. + *

    + * When a message {@link Exchange} is received from the {@link Endpoint} then the + * Bean Integration mechanism is used to map the incoming + * {@link Message} to the method parameters. + */ +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Target({ ElementType.METHOD }) +public @interface Consume { + + /** + * The uri to consume from + */ + String value() default ""; + + /** + * The uri to consume from + * + * @deprecated use value instead + */ + @Deprecated + String uri() default ""; + + /** + * Use the field or getter on the bean to provide the uri to consume from + */ + String property() default ""; + + /** + * Optional predicate (using simple language) to only consume if the predicate matches . This can be used to filter + * messages. + *

    + * Notice that only the first method that matches the predicate will be used. And if no predicate matches then the + * message is dropped. + */ + String predicate() default ""; +} diff --git a/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/RoutesBuilder.java b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/RoutesBuilder.java new file mode 100644 index 00000000000..7a182025c1c --- /dev/null +++ b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/RoutesBuilder.java @@ -0,0 +1,19 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel; + +public interface RoutesBuilder { } diff --git a/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/builder/ExpressionClause.java b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/builder/ExpressionClause.java new file mode 100644 index 00000000000..2dcc3ad5a7a --- /dev/null +++ b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/builder/ExpressionClause.java @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.builder; + +/** + * Represents an expression clause within the DSL which when the expression is complete the clause continues to another + * part of the DSL + */ +public class ExpressionClause { + public T method(String ref) { return null; } +} diff --git a/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/builder/RouteBuilder.java b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/builder/RouteBuilder.java new file mode 100644 index 00000000000..9c1b8c45d68 --- /dev/null +++ b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/builder/RouteBuilder.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.builder; + +import org.apache.camel.RoutesBuilder; +import org.apache.camel.model.RouteDefinition; + +/** + * A Java DSL which is used to build {@link Route} instances in a + * {@link CamelContext} for smart routing. + */ +public abstract class RouteBuilder implements RoutesBuilder { + + /** + * Creates a new route from the given URI input + * + * @param uri the from uri + * @return the builder + */ + public RouteDefinition from(String uri) { + return null; + } + + public abstract void configure() throws Exception; +} diff --git a/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/impl/DefaultCamelContext.java b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/impl/DefaultCamelContext.java new file mode 100644 index 00000000000..2180623054b --- /dev/null +++ b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/impl/DefaultCamelContext.java @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.impl; + +import org.apache.camel.model.ModelCamelContext; +import org.apache.camel.RoutesBuilder; + +public class DefaultCamelContext implements ModelCamelContext { + + public void configure() throws Exception {} + + public void addRoutes(RoutesBuilder arg0) {} + +} diff --git a/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/FilterDefinition.java b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/FilterDefinition.java new file mode 100644 index 00000000000..1138c8d3783 --- /dev/null +++ b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/FilterDefinition.java @@ -0,0 +1,19 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.model; + +public class FilterDefinition { } diff --git a/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/ModelCamelContext.java b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/ModelCamelContext.java new file mode 100644 index 00000000000..d5d2626a7a9 --- /dev/null +++ b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/ModelCamelContext.java @@ -0,0 +1,21 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.model; + +import org.apache.camel.CamelContext; + +public interface ModelCamelContext extends CamelContext { } diff --git a/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/OutputDefinition.java b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/OutputDefinition.java new file mode 100644 index 00000000000..cfe55f5cc17 --- /dev/null +++ b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/OutputDefinition.java @@ -0,0 +1,23 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.model; + +/** + * A useful base class for output types + */ +public class OutputDefinition> extends ProcessorDefinition { +} diff --git a/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/ProcessorDefinition.java b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/ProcessorDefinition.java new file mode 100644 index 00000000000..2423e907b01 --- /dev/null +++ b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/ProcessorDefinition.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.model; + +import org.apache.camel.builder.ExpressionClause; + +public abstract class ProcessorDefinition> { + + public Type to(String uri) { return null; } + public Type bean(Object bean) { return null; } + public Type bean(Class beanType) { return null; } + // Restored method deprecated in ee8af5e8157e7595b031b83500cc9c02b7f5c679 + public Type beanRef(String ref) { return null; } + public ExpressionClause filter() { return null; } + +} diff --git a/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/RouteDefinition.java b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/RouteDefinition.java new file mode 100644 index 00000000000..2ab31d2126a --- /dev/null +++ b/java/ql/test/stubs/apache-camel-4.0.6/org/apache/camel/model/RouteDefinition.java @@ -0,0 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.model; + +public class RouteDefinition extends OutputDefinition { + +} + From 86708c9ff8b5deb068f0baa3217f21b9d5f8936a Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Thu, 15 Aug 2024 15:06:24 +0200 Subject: [PATCH 054/258] Dataflow: Fix missing subpaths due to type strengthening. --- java/ql/test/library-tests/dataflow/subpaths/flow.expected | 1 + shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/java/ql/test/library-tests/dataflow/subpaths/flow.expected b/java/ql/test/library-tests/dataflow/subpaths/flow.expected index df0e12b5448..d1b19301eed 100644 --- a/java/ql/test/library-tests/dataflow/subpaths/flow.expected +++ b/java/ql/test/library-tests/dataflow/subpaths/flow.expected @@ -32,6 +32,7 @@ nodes | A.java:27:12:27:25 | apply(...) : String | semmle.label | apply(...) : String | | A.java:27:20:27:24 | (...)... : Object | semmle.label | (...)... : Object | subpaths +| A.java:14:44:14:54 | source(...) : Object | A.java:8:24:8:33 | arg : Object | A.java:9:12:9:17 | (...)... : Object | A.java:14:16:14:55 | propagateTaint(...) : String | | A.java:18:44:18:54 | source(...) : Object | A.java:8:24:8:33 | arg : Object | A.java:9:12:9:17 | (...)... : Object | A.java:18:16:18:55 | propagateTaint(...) : Object | | A.java:22:44:22:54 | source(...) : Object | A.java:26:41:26:48 | x : Object | A.java:27:12:27:25 | apply(...) : String | A.java:22:17:22:55 | apply(...) : String | | A.java:27:20:27:24 | (...)... : Object | A.java:22:24:22:33 | arg : String | A.java:22:39:22:41 | arg : String | A.java:27:12:27:25 | apply(...) : String | diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index ff9b794e04d..82df5bd567b 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -4878,12 +4878,13 @@ module MakeImpl Lang> { PathNodeImpl arg, PathNodeImpl par, PathNodeImpl ret, PathNodeImpl out ) { exists( - ParamNodeEx p, NodeEx o, FlowState sout, DataFlowType t, AccessPath apout, - PathNodeMid out0 + ParamNodeEx p, NodeEx o, FlowState sout, DataFlowType t0, DataFlowType t, + AccessPath apout, PathNodeMid out0 | pragma[only_bind_into](arg).getASuccessorImpl(_) = pragma[only_bind_into](out0) and - subpaths03(pragma[only_bind_into](arg), p, ret, o, sout, t, apout) and + subpaths03(pragma[only_bind_into](arg), p, ret, o, sout, t0, apout) and hasSuccessor(pragma[only_bind_into](arg), par, p) and + strengthenType(o, t0, t) and pathNode(out0, o, sout, _, _, t, apout, _, _) | out = out0 or out = out0.projectToSink(_) From e84dda4fa66a3b0388dd3f92b271ca3be955d470 Mon Sep 17 00:00:00 2001 From: Kristen Newbury Date: Thu, 15 Aug 2024 16:08:48 -0400 Subject: [PATCH 055/258] Update JS helmet model structure --- .../helmet/Helmet.Required.Setting.model.yml | 2 +- .../javascript/frameworks/helmet/Helmet.qll | 27 +++++++++++++++++++ .../ql/src/Security/CWE-693/CUSTOMIZING.md | 2 +- .../ql/src/Security/CWE-693/InsecureHelmet.ql | 24 +---------------- 4 files changed, 30 insertions(+), 25 deletions(-) create mode 100644 javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.qll diff --git a/javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.Required.Setting.model.yml b/javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.Required.Setting.model.yml index ab01ec5206d..a8c14532152 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.Required.Setting.model.yml +++ b/javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.Required.Setting.model.yml @@ -1,6 +1,6 @@ extensions: - addsTo: - pack: codeql/javascript-queries + pack: codeql/javascript-all extensible: requiredHelmetSecuritySetting data: - ["frameguard"] diff --git a/javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.qll b/javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.qll new file mode 100644 index 00000000000..9e241ee59c7 --- /dev/null +++ b/javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.qll @@ -0,0 +1,27 @@ +/** + * Provides classes for working with Helmet + */ + +import javascript + +class HelmetProperty extends DataFlow::Node instanceof DataFlow::PropWrite { + ExpressLibraries::HelmetRouteHandler helmet; + + HelmetProperty() { + this = helmet.(DataFlow::CallNode).getAnArgument().getALocalSource().getAPropertyWrite() + } + + ExpressLibraries::HelmetRouteHandler getHelmet() { result = helmet } + + predicate isFalse() { DataFlow::PropWrite.super.getRhs().mayHaveBooleanValue(false) } + + string getName() { result = DataFlow::PropWrite.super.getPropertyName() } + + predicate isImportantSecuritySetting() { + // read from data extensions to allow enforcing custom settings + // defaults are located in javascript/ql/lib/semmle/frameworks/helmet/Helmet.Required.Setting.model.yml + requiredHelmetSecuritySetting(this.getName()) + } +} + +extensible predicate requiredHelmetSecuritySetting(string name); diff --git a/javascript/ql/src/Security/CWE-693/CUSTOMIZING.md b/javascript/ql/src/Security/CWE-693/CUSTOMIZING.md index 34ae2851a85..7eeb9e9b19a 100644 --- a/javascript/ql/src/Security/CWE-693/CUSTOMIZING.md +++ b/javascript/ql/src/Security/CWE-693/CUSTOMIZING.md @@ -24,7 +24,7 @@ A suitable [model pack](https://docs.github.com/en/code-security/codeql-cli/usin name: my-org/javascript-helmet-insecure-config-model-pack version: 1.0.0 extensionTargets: - codeql/java-all: '*' + codeql/javascript-all: '*' dataExtensions: - models/**/*.yml ``` diff --git a/javascript/ql/src/Security/CWE-693/InsecureHelmet.ql b/javascript/ql/src/Security/CWE-693/InsecureHelmet.ql index 8f837669ffc..66652e9e58a 100644 --- a/javascript/ql/src/Security/CWE-693/InsecureHelmet.ql +++ b/javascript/ql/src/Security/CWE-693/InsecureHelmet.ql @@ -12,30 +12,8 @@ */ import javascript -import DataFlow import semmle.javascript.frameworks.ExpressModules - -class HelmetProperty extends DataFlow::Node instanceof DataFlow::PropWrite { - ExpressLibraries::HelmetRouteHandler helmet; - - HelmetProperty() { - this = helmet.(DataFlow::CallNode).getAnArgument().getALocalSource().getAPropertyWrite() - } - - ExpressLibraries::HelmetRouteHandler getHelmet() { result = helmet } - - predicate isFalse() { DataFlow::PropWrite.super.getRhs().mayHaveBooleanValue(false) } - - string getName() { result = DataFlow::PropWrite.super.getPropertyName() } - - predicate isImportantSecuritySetting() { - // read from data extensions to allow enforcing custom settings - // defaults are located in javascript/ql/lib/semmle/frameworks/helmet/Helmet.Required.Setting.model.yml - requiredHelmetSecuritySetting(this.getName()) - } -} - -extensible predicate requiredHelmetSecuritySetting(string name); +import semmle.javascript.frameworks.helmet.Helmet from HelmetProperty helmetProperty, ExpressLibraries::HelmetRouteHandler helmet where From 81787a159e00136292bf9e1d0d63ddd737d77261 Mon Sep 17 00:00:00 2001 From: Kristen Newbury Date: Thu, 15 Aug 2024 16:32:37 -0400 Subject: [PATCH 056/258] Add QL docs to helmet model --- .../javascript/frameworks/helmet/Helmet.qll | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.qll b/javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.qll index 9e241ee59c7..765b5a36fc4 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.qll @@ -4,6 +4,9 @@ import javascript +/** + * A write to a property of a route handler from the "helmet" module. + */ class HelmetProperty extends DataFlow::Node instanceof DataFlow::PropWrite { ExpressLibraries::HelmetRouteHandler helmet; @@ -11,17 +14,28 @@ class HelmetProperty extends DataFlow::Node instanceof DataFlow::PropWrite { this = helmet.(DataFlow::CallNode).getAnArgument().getALocalSource().getAPropertyWrite() } + /** + * Gets the route handler associated to this property. + */ ExpressLibraries::HelmetRouteHandler getHelmet() { result = helmet } + /** + * Gets the boolean value of this property, if it may evaluate to a `Boolean`. + */ predicate isFalse() { DataFlow::PropWrite.super.getRhs().mayHaveBooleanValue(false) } + /** + * Gets the name of the `HelmetProperty`. + */ string getName() { result = DataFlow::PropWrite.super.getPropertyName() } - predicate isImportantSecuritySetting() { - // read from data extensions to allow enforcing custom settings - // defaults are located in javascript/ql/lib/semmle/frameworks/helmet/Helmet.Required.Setting.model.yml - requiredHelmetSecuritySetting(this.getName()) - } + /** + * read from data extensions to allow enforcing custom settings + */ + predicate isImportantSecuritySetting() { requiredHelmetSecuritySetting(this.getName()) } } +/** + * defaults are located in `javascript/ql/lib/semmle/frameworks/helmet/Helmet.Required.Setting.model.yml` + */ extensible predicate requiredHelmetSecuritySetting(string name); From 51c43a74403742997f2be05f79924c33f74e0765 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Fri, 16 Aug 2024 07:01:35 +0200 Subject: [PATCH 057/258] Java: Accept expected changes. --- .../collections/containerflow.expected | 36 ++ .../apache-collections/test.expected | 150 ++++++++ .../frameworks/gson/test.expected | 33 ++ .../guava/generated/collect/test.expected | 359 ++++++++++++++++++ .../frameworks/netty/generated/test.expected | 127 +++++++ .../frameworks/spring/util/test.expected | 85 +++++ 6 files changed, 790 insertions(+) diff --git a/java/ql/test/library-tests/dataflow/collections/containerflow.expected b/java/ql/test/library-tests/dataflow/collections/containerflow.expected index af21e6be98c..384f23c95b6 100644 --- a/java/ql/test/library-tests/dataflow/collections/containerflow.expected +++ b/java/ql/test/library-tests/dataflow/collections/containerflow.expected @@ -397,7 +397,11 @@ edges | B.java:31:28:31:42 | obj : NavigableSet [] : Object | B.java:31:54:31:56 | obj : NavigableSet [] : Object | provenance | | | B.java:31:28:31:42 | obj : Queue [] : Object | B.java:31:54:31:56 | obj : Queue [] : Object | provenance | | | B.java:31:28:31:42 | obj : SequencedCollection [] : Object | B.java:31:54:31:56 | obj : SequencedCollection [] : Object | provenance | | +| B.java:31:28:31:42 | obj : SequencedSet [, ] : Object | B.java:31:54:31:56 | obj : SequencedSet [, ] : Object | provenance | | +| B.java:31:28:31:42 | obj : SequencedSet [, ] : Object | B.java:31:54:31:56 | obj : SequencedSet [, ] : Object | provenance | | | B.java:31:28:31:42 | obj : SequencedSet [] : Object | B.java:31:54:31:56 | obj : SequencedSet [] : Object | provenance | | +| B.java:31:28:31:42 | obj : Set [, ] : Object | B.java:31:54:31:56 | obj : Set [, ] : Object | provenance | | +| B.java:31:28:31:42 | obj : Set [, ] : Object | B.java:31:54:31:56 | obj : Set [, ] : Object | provenance | | | B.java:31:28:31:42 | obj : Set [] : Object | B.java:31:54:31:56 | obj : Set [] : Object | provenance | | | B.java:31:28:31:42 | obj : SortedSet [] : Object | B.java:31:54:31:56 | obj : SortedSet [] : Object | provenance | | | B.java:31:28:31:42 | obj : Stack [] : Object | B.java:31:54:31:56 | obj : Stack [] : Object | provenance | | @@ -412,12 +416,20 @@ edges | B.java:31:54:31:56 | obj : NavigableSet [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | | B.java:31:54:31:56 | obj : Queue [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | | B.java:31:54:31:56 | obj : SequencedCollection [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : SequencedSet [, ] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [, ] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : SequencedSet [, ] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [, ] : Object | provenance | MaD:1 | | B.java:31:54:31:56 | obj : SequencedSet [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : Set [, ] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [, ] : Object | provenance | MaD:1 | +| B.java:31:54:31:56 | obj : Set [, ] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [, ] : Object | provenance | MaD:1 | | B.java:31:54:31:56 | obj : Set [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | | B.java:31:54:31:56 | obj : SortedSet [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | | B.java:31:54:31:56 | obj : Stack [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | | B.java:31:54:31:56 | obj : TransferQueue [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | | B.java:31:54:31:56 | obj : Vector [] : Object | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | +| B.java:31:54:31:67 | iterator(...) : Iterator [, ] : Object | B.java:31:54:31:74 | next(...) : Object [] : Object | provenance | MaD:143 | +| B.java:31:54:31:67 | iterator(...) : Iterator [, ] : Object | B.java:31:54:31:74 | next(...) : Object [] : Object | provenance | MaD:143 | +| B.java:31:54:31:67 | iterator(...) : Iterator [, ] : Object | B.java:31:54:31:74 | next(...) : Object [] : Object | provenance | MaD:143 | +| B.java:31:54:31:67 | iterator(...) : Iterator [, ] : Object | B.java:31:54:31:74 | next(...) : Object [] : Object | provenance | MaD:143 | | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | B.java:31:54:31:74 | next(...) : Object | provenance | MaD:143 | @@ -565,6 +577,7 @@ edges | B.java:129:51:129:57 | (...)... : Map [] : Object | B.java:129:50:129:69 | entrySet(...) : Set [, ] : Object | provenance | MaD:180 | | B.java:129:90:129:105 | readElement(...) : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | | B.java:129:90:129:105 | readElement(...) : Entry [] : Object | B.java:129:77:129:106 | readMapValue(...) | provenance | MaD:224 | +| B.java:129:102:129:104 | out : Set [, ] : Object | B.java:31:28:31:42 | obj : Set [, ] : Object | provenance | | | B.java:129:102:129:104 | out : Set [, ] : Object | B.java:129:90:129:105 | readElement(...) : Entry [] : Object | provenance | MaD:1 | | B.java:134:19:134:39 | storeMapKey(...) : TreeMap [] : Object | B.java:134:49:134:55 | (...)... : TreeMap [] : Object | provenance | | | B.java:134:31:134:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | provenance | | @@ -573,6 +586,7 @@ edges | B.java:134:49:134:55 | (...)... : TreeMap [] : Object | B.java:134:48:134:67 | entrySet(...) : Set [, ] : Object | provenance | MaD:179 | | B.java:134:86:134:101 | readElement(...) : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | provenance | | | B.java:134:86:134:101 | readElement(...) : Entry [] : Object | B.java:134:75:134:102 | readMapKey(...) | provenance | MaD:223 | +| B.java:134:98:134:100 | out : Set [, ] : Object | B.java:31:28:31:42 | obj : Set [, ] : Object | provenance | | | B.java:134:98:134:100 | out : Set [, ] : Object | B.java:134:86:134:101 | readElement(...) : Entry [] : Object | provenance | MaD:1 | | B.java:139:19:139:41 | storeMapValue(...) : Map [] : Object | B.java:139:51:139:57 | (...)... : Map [] : Object | provenance | | | B.java:139:33:139:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | provenance | | @@ -2651,6 +2665,7 @@ edges | B.java:1960:68:1960:89 | sequencedEntrySet(...) : SequencedSet [, ] : Object | B.java:1960:120:1960:122 | out : SequencedSet [, ] : Object | provenance | | | B.java:1960:108:1960:123 | readElement(...) : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | provenance | | | B.java:1960:108:1960:123 | readElement(...) : Entry [] : Object | B.java:1960:97:1960:124 | readMapKey(...) | provenance | MaD:223 | +| B.java:1960:120:1960:122 | out : SequencedSet [, ] : Object | B.java:31:28:31:42 | obj : SequencedSet [, ] : Object | provenance | | | B.java:1960:120:1960:122 | out : SequencedSet [, ] : Object | B.java:1960:108:1960:123 | readElement(...) : Entry [] : Object | provenance | MaD:1 | | B.java:1965:25:1965:61 | (...)... : SequencedMap [] : Object | B.java:1965:70:1965:71 | in : SequencedMap [] : Object | provenance | | | B.java:1965:39:1965:61 | storeMapValue(...) : Map [] : Object | B.java:1965:25:1965:61 | (...)... : SequencedMap [] : Object | provenance | | @@ -2710,6 +2725,7 @@ edges | B.java:2000:70:2000:91 | sequencedEntrySet(...) : SequencedSet [, ] : Object | B.java:2000:124:2000:126 | out : SequencedSet [, ] : Object | provenance | | | B.java:2000:112:2000:127 | readElement(...) : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | provenance | | | B.java:2000:112:2000:127 | readElement(...) : Entry [] : Object | B.java:2000:99:2000:128 | readMapValue(...) | provenance | MaD:224 | +| B.java:2000:124:2000:126 | out : SequencedSet [, ] : Object | B.java:31:28:31:42 | obj : SequencedSet [, ] : Object | provenance | | | B.java:2000:124:2000:126 | out : SequencedSet [, ] : Object | B.java:2000:112:2000:127 | readElement(...) : Entry [] : Object | provenance | MaD:1 | | B.java:2005:25:2005:59 | (...)... : TreeMap [] : Object | B.java:2005:68:2005:69 | in : TreeMap [] : Object | provenance | | | B.java:2005:39:2005:59 | storeMapKey(...) : TreeMap [] : Object | B.java:2005:25:2005:59 | (...)... : TreeMap [] : Object | provenance | | @@ -3127,7 +3143,11 @@ nodes | B.java:31:28:31:42 | obj : NavigableSet [] : Object | semmle.label | obj : NavigableSet [] : Object | | B.java:31:28:31:42 | obj : Queue [] : Object | semmle.label | obj : Queue [] : Object | | B.java:31:28:31:42 | obj : SequencedCollection [] : Object | semmle.label | obj : SequencedCollection [] : Object | +| B.java:31:28:31:42 | obj : SequencedSet [, ] : Object | semmle.label | obj : SequencedSet [, ] : Object | +| B.java:31:28:31:42 | obj : SequencedSet [, ] : Object | semmle.label | obj : SequencedSet [, ] : Object | | B.java:31:28:31:42 | obj : SequencedSet [] : Object | semmle.label | obj : SequencedSet [] : Object | +| B.java:31:28:31:42 | obj : Set [, ] : Object | semmle.label | obj : Set [, ] : Object | +| B.java:31:28:31:42 | obj : Set [, ] : Object | semmle.label | obj : Set [, ] : Object | | B.java:31:28:31:42 | obj : Set [] : Object | semmle.label | obj : Set [] : Object | | B.java:31:28:31:42 | obj : SortedSet [] : Object | semmle.label | obj : SortedSet [] : Object | | B.java:31:28:31:42 | obj : Stack [] : Object | semmle.label | obj : Stack [] : Object | @@ -3142,12 +3162,20 @@ nodes | B.java:31:54:31:56 | obj : NavigableSet [] : Object | semmle.label | obj : NavigableSet [] : Object | | B.java:31:54:31:56 | obj : Queue [] : Object | semmle.label | obj : Queue [] : Object | | B.java:31:54:31:56 | obj : SequencedCollection [] : Object | semmle.label | obj : SequencedCollection [] : Object | +| B.java:31:54:31:56 | obj : SequencedSet [, ] : Object | semmle.label | obj : SequencedSet [, ] : Object | +| B.java:31:54:31:56 | obj : SequencedSet [, ] : Object | semmle.label | obj : SequencedSet [, ] : Object | | B.java:31:54:31:56 | obj : SequencedSet [] : Object | semmle.label | obj : SequencedSet [] : Object | +| B.java:31:54:31:56 | obj : Set [, ] : Object | semmle.label | obj : Set [, ] : Object | +| B.java:31:54:31:56 | obj : Set [, ] : Object | semmle.label | obj : Set [, ] : Object | | B.java:31:54:31:56 | obj : Set [] : Object | semmle.label | obj : Set [] : Object | | B.java:31:54:31:56 | obj : SortedSet [] : Object | semmle.label | obj : SortedSet [] : Object | | B.java:31:54:31:56 | obj : Stack [] : Object | semmle.label | obj : Stack [] : Object | | B.java:31:54:31:56 | obj : TransferQueue [] : Object | semmle.label | obj : TransferQueue [] : Object | | B.java:31:54:31:56 | obj : Vector [] : Object | semmle.label | obj : Vector [] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| B.java:31:54:31:67 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | | B.java:31:54:31:67 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | @@ -3178,6 +3206,10 @@ nodes | B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | | B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | | B.java:31:54:31:74 | next(...) : Object | semmle.label | next(...) : Object | +| B.java:31:54:31:74 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| B.java:31:54:31:74 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| B.java:31:54:31:74 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| B.java:31:54:31:74 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | | B.java:32:28:32:42 | obj : Iterator [] : Object | semmle.label | obj : Iterator [] : Object | | B.java:32:28:32:42 | obj : ListIterator [] : Object | semmle.label | obj : ListIterator [] : Object | | B.java:32:54:32:56 | obj : Iterator [] : Object | semmle.label | obj : Iterator [] : Object | @@ -5723,8 +5755,10 @@ subpaths | B.java:124:66:124:68 | out : Map [] : Object | B.java:48:31:48:42 | obj : Map [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:124:53:124:69 | readMapValue(...) | | B.java:129:33:129:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:129:19:129:41 | storeMapValue(...) : Map [] : Object | | B.java:129:90:129:105 | readElement(...) : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:129:77:129:106 | readMapValue(...) | +| B.java:129:102:129:104 | out : Set [, ] : Object | B.java:31:28:31:42 | obj : Set [, ] : Object | B.java:31:54:31:74 | next(...) : Object [] : Object | B.java:129:90:129:105 | readElement(...) : Entry [] : Object | | B.java:134:31:134:38 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:134:19:134:39 | storeMapKey(...) : TreeMap [] : Object | | B.java:134:86:134:101 | readElement(...) : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | B.java:134:75:134:102 | readMapKey(...) | +| B.java:134:98:134:100 | out : Set [, ] : Object | B.java:31:28:31:42 | obj : Set [, ] : Object | B.java:31:54:31:74 | next(...) : Object [] : Object | B.java:134:86:134:101 | readElement(...) : Entry [] : Object | | B.java:139:33:139:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:139:19:139:41 | storeMapValue(...) : Map [] : Object | | B.java:144:33:144:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:144:19:144:41 | storeMapValue(...) : Map [] : Object | | B.java:154:33:154:40 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:154:19:154:41 | storeMapValue(...) : Map [] : Object | @@ -6197,6 +6231,7 @@ subpaths | B.java:1955:99:1955:101 | out : SequencedMap [] : Object | B.java:44:29:44:40 | obj : SequencedMap [] : Object | B.java:44:52:44:81 | next(...) : Object | B.java:1955:88:1955:102 | readMapKey(...) | | B.java:1960:51:1960:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:1960:39:1960:59 | storeMapKey(...) : TreeMap [] : Object | | B.java:1960:108:1960:123 | readElement(...) : Entry [] : Object | B.java:43:29:43:46 | obj : Entry [] : Object | B.java:43:58:43:69 | getKey(...) : Object | B.java:1960:97:1960:124 | readMapKey(...) | +| B.java:1960:120:1960:122 | out : SequencedSet [, ] : Object | B.java:31:28:31:42 | obj : SequencedSet [, ] : Object | B.java:31:54:31:74 | next(...) : Object [] : Object | B.java:1960:108:1960:123 | readElement(...) : Entry [] : Object | | B.java:1965:53:1965:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1965:39:1965:61 | storeMapValue(...) : Map [] : Object | | B.java:1965:105:1965:107 | out : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:1965:92:1965:108 | readMapValue(...) | | B.java:1970:53:1970:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:1970:39:1970:61 | storeMapValue(...) : Map [] : Object | @@ -6211,6 +6246,7 @@ subpaths | B.java:1995:103:1995:105 | out : SequencedMap [] : Object | B.java:48:31:48:42 | obj : SequencedMap [] : Object | B.java:48:54:48:66 | get(...) : Object | B.java:1995:90:1995:106 | readMapValue(...) | | B.java:2000:53:2000:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:2000:39:2000:61 | storeMapValue(...) : Map [] : Object | | B.java:2000:112:2000:127 | readElement(...) : Entry [] : Object | B.java:47:31:47:48 | obj : Entry [] : Object | B.java:47:60:47:73 | getValue(...) : Object | B.java:2000:99:2000:128 | readMapValue(...) | +| B.java:2000:124:2000:126 | out : SequencedSet [, ] : Object | B.java:31:28:31:42 | obj : SequencedSet [, ] : Object | B.java:31:54:31:74 | next(...) : Object [] : Object | B.java:2000:112:2000:127 | readElement(...) : Entry [] : Object | | B.java:2005:51:2005:58 | source(...) : Object | B.java:38:37:38:41 | obj : Object | B.java:38:103:38:103 | m : TreeMap [] : Object | B.java:2005:39:2005:59 | storeMapKey(...) : TreeMap [] : Object | | B.java:2005:107:2005:109 | out : SequencedSet [] : Object | B.java:31:28:31:42 | obj : SequencedSet [] : Object | B.java:31:54:31:74 | next(...) : Object | B.java:2005:95:2005:110 | readElement(...) | | B.java:2010:53:2010:60 | source(...) : Object | B.java:41:39:41:43 | obj : Object | B.java:41:139:41:139 | m : Map [] : Object | B.java:2010:39:2010:61 | storeMapValue(...) : Map [] : Object | diff --git a/java/ql/test/library-tests/frameworks/apache-collections/test.expected b/java/ql/test/library-tests/frameworks/apache-collections/test.expected index 79c211862df..76ef7c2b4cf 100644 --- a/java/ql/test/library-tests/frameworks/apache-collections/test.expected +++ b/java/ql/test/library-tests/frameworks/apache-collections/test.expected @@ -846,6 +846,7 @@ edges | Test.java:228:18:228:29 | map : ListOrderedMap [] : String | Test.java:228:41:228:43 | map : ListOrderedMap [] : String | provenance | | | Test.java:228:18:228:29 | map : Map [] : Object | Test.java:228:41:228:43 | map : Map [] : Object | provenance | | | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:43 | map : Map [] : String | provenance | | +| Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | Test.java:228:41:228:43 | map : MultiKeyMap [, ] : String | provenance | | | Test.java:228:18:228:29 | map : MultiMap [] : Object | Test.java:228:41:228:43 | map : MultiMap [] : Object | provenance | | | Test.java:228:18:228:29 | map : MultiValueMap [] : Object | Test.java:228:41:228:43 | map : MultiValueMap [] : Object | provenance | | | Test.java:228:18:228:29 | map : MultiValueMap [] : String | Test.java:228:41:228:43 | map : MultiValueMap [] : String | provenance | | @@ -898,6 +899,7 @@ edges | Test.java:228:41:228:43 | map : ListOrderedMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | | Test.java:228:41:228:43 | map : Map [] : Object | Test.java:228:41:228:52 | keySet(...) : Set [] : Object | provenance | MaD:10 | | Test.java:228:41:228:43 | map : Map [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:43 | map : MultiKeyMap [, ] : String | Test.java:228:41:228:52 | keySet(...) : Set [, ] : String | provenance | MaD:10 | | Test.java:228:41:228:43 | map : MultiMap [] : Object | Test.java:228:41:228:52 | keySet(...) : Set [] : Object | provenance | MaD:10 | | Test.java:228:41:228:43 | map : MultiValueMap [] : Object | Test.java:228:41:228:52 | keySet(...) : Set [] : Object | provenance | MaD:10 | | Test.java:228:41:228:43 | map : MultiValueMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | @@ -926,6 +928,7 @@ edges | Test.java:228:41:228:43 | map : TransformedSortedMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | | Test.java:228:41:228:43 | map : TreeBidiMap [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | | Test.java:228:41:228:43 | map : Trie [] : String | Test.java:228:41:228:52 | keySet(...) : Set [] : String | provenance | MaD:10 | +| Test.java:228:41:228:52 | keySet(...) : Set [, ] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [, ] : String | provenance | MaD:1 | | Test.java:228:41:228:52 | keySet(...) : Set [] : Object | Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | | Test.java:228:41:228:52 | keySet(...) : Set [] : Object | Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | | Test.java:228:41:228:52 | keySet(...) : Set [] : Object | Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | @@ -978,6 +981,7 @@ edges | Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | | Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | | Test.java:228:41:228:52 | keySet(...) : Set [] : String | Test.java:228:41:228:63 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:228:41:228:63 | iterator(...) : Iterator [, ] : String | Test.java:228:41:228:70 | next(...) : Object [] : String | provenance | MaD:4 | | Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | Test.java:228:41:228:70 | next(...) : Object | provenance | MaD:4 | | Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | Test.java:228:41:228:70 | next(...) : Object | provenance | MaD:4 | | Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | Test.java:228:41:228:70 | next(...) : Object | provenance | MaD:4 | @@ -1042,6 +1046,8 @@ edges | Test.java:230:19:230:32 | it : CircularFifoQueue [] : String | Test.java:230:44:230:45 | it : CircularFifoQueue [] : String | provenance | | | Test.java:230:19:230:32 | it : Collection | Test.java:230:44:230:45 | it : Collection | provenance | | | Test.java:230:19:230:32 | it : Collection [, ] : String | Test.java:230:44:230:45 | it : Collection [, ] : String | provenance | | +| Test.java:230:19:230:32 | it : Collection [, ] : String | Test.java:230:44:230:45 | it : Collection [, ] : String | provenance | | +| Test.java:230:19:230:32 | it : Collection [, ] : String | Test.java:230:44:230:45 | it : Collection [, ] : String | provenance | | | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:45 | it : Collection [] : Object | provenance | | | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:45 | it : Collection [] : String | provenance | | | Test.java:230:19:230:32 | it : CollectionBag [] : String | Test.java:230:44:230:45 | it : CollectionBag [] : String | provenance | | @@ -1062,6 +1068,7 @@ edges | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:45 | it : Iterable [] : String | provenance | | | Test.java:230:19:230:32 | it : IteratorIterable [] : String | Test.java:230:44:230:45 | it : IteratorIterable [] : String | provenance | | | Test.java:230:19:230:32 | it : LazyList [] : String | Test.java:230:44:230:45 | it : LazyList [] : String | provenance | | +| Test.java:230:19:230:32 | it : List [, ] : Object | Test.java:230:44:230:45 | it : List [, ] : Object | provenance | | | Test.java:230:19:230:32 | it : List [, ] : String | Test.java:230:44:230:45 | it : List [, ] : String | provenance | | | Test.java:230:19:230:32 | it : List [] : Object | Test.java:230:44:230:45 | it : List [] : Object | provenance | | | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:45 | it : List [] : String | provenance | | @@ -1092,6 +1099,9 @@ edges | Test.java:230:19:230:32 | it : PredicatedSortedBag [] : String | Test.java:230:44:230:45 | it : PredicatedSortedBag [] : String | provenance | | | Test.java:230:19:230:32 | it : PredicatedSortedSet [] : String | Test.java:230:44:230:45 | it : PredicatedSortedSet [] : String | provenance | | | Test.java:230:19:230:32 | it : Queue [] : String | Test.java:230:44:230:45 | it : Queue [] : String | provenance | | +| Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:45 | it : Set [, ] : String | provenance | | +| Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:45 | it : Set [, ] : String | provenance | | +| Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:45 | it : Set [, ] : String | provenance | | | Test.java:230:19:230:32 | it : Set [] : Object | Test.java:230:44:230:45 | it : Set [] : Object | provenance | | | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:45 | it : Set [] : String | provenance | | | Test.java:230:19:230:32 | it : SetUniqueList [] : String | Test.java:230:44:230:45 | it : SetUniqueList [] : String | provenance | | @@ -1121,6 +1131,8 @@ edges | Test.java:230:44:230:45 | it : CircularFifoQueue [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | | Test.java:230:44:230:45 | it : Collection | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | | Test.java:230:44:230:45 | it : Collection [, ] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : Collection [, ] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : Collection [, ] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | provenance | MaD:1 | | Test.java:230:44:230:45 | it : Collection [] : Object | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | | Test.java:230:44:230:45 | it : Collection [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | | Test.java:230:44:230:45 | it : CollectionBag [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | @@ -1141,6 +1153,7 @@ edges | Test.java:230:44:230:45 | it : Iterable [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | | Test.java:230:44:230:45 | it : IteratorIterable [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | | Test.java:230:44:230:45 | it : LazyList [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : List [, ] : Object | Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:1 | | Test.java:230:44:230:45 | it : List [, ] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | provenance | MaD:1 | | Test.java:230:44:230:45 | it : List [] : Object | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | | Test.java:230:44:230:45 | it : List [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | @@ -1171,6 +1184,9 @@ edges | Test.java:230:44:230:45 | it : PredicatedSortedBag [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | | Test.java:230:44:230:45 | it : PredicatedSortedSet [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | | Test.java:230:44:230:45 | it : Queue [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : Set [, ] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : Set [, ] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | provenance | MaD:1 | +| Test.java:230:44:230:45 | it : Set [, ] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | provenance | MaD:1 | | Test.java:230:44:230:45 | it : Set [] : Object | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | provenance | MaD:1 | | Test.java:230:44:230:45 | it : Set [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | | Test.java:230:44:230:45 | it : SetUniqueList [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | @@ -1192,8 +1208,14 @@ edges | Test.java:230:44:230:45 | it : TreeBag [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | | Test.java:230:44:230:45 | it : TreeList [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | | Test.java:230:44:230:45 | it : UnmodifiableList [] : String | Test.java:230:44:230:56 | iterator(...) : Iterator [] : String | provenance | MaD:1 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : Object | Test.java:230:44:230:63 | next(...) : Object [] : Object | provenance | MaD:4 | | Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | provenance | MaD:4 | | Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | provenance | MaD:4 | +| Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | provenance | MaD:4 | | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | Test.java:230:44:230:63 | next(...) : Object | provenance | MaD:4 | | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | Test.java:230:44:230:63 | next(...) : Object | provenance | MaD:4 | | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | Test.java:230:44:230:63 | next(...) : Object | provenance | MaD:4 | @@ -1280,6 +1302,9 @@ edges | Test.java:231:19:231:32 | it : EnumerationIterator [] : String | Test.java:231:44:231:45 | it : EnumerationIterator [] : String | provenance | | | Test.java:231:19:231:32 | it : FilterIterator [] : String | Test.java:231:44:231:45 | it : FilterIterator [] : String | provenance | | | Test.java:231:19:231:32 | it : FilterListIterator [] : String | Test.java:231:44:231:45 | it : FilterListIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : Iterator [, ] : String | Test.java:231:44:231:45 | it : Iterator [, ] : String | provenance | | +| Test.java:231:19:231:32 | it : Iterator [, ] : Object | Test.java:231:44:231:45 | it : Iterator [, ] : Object | provenance | | +| Test.java:231:19:231:32 | it : Iterator [, ] : String | Test.java:231:44:231:45 | it : Iterator [, ] : String | provenance | | | Test.java:231:19:231:32 | it : Iterator [] : Object | Test.java:231:44:231:45 | it : Iterator [] : Object | provenance | | | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:45 | it : Iterator [] : String | provenance | | | Test.java:231:19:231:32 | it : IteratorChain [] : String | Test.java:231:44:231:45 | it : IteratorChain [] : String | provenance | | @@ -1298,6 +1323,7 @@ edges | Test.java:231:19:231:32 | it : ObjectArrayListIterator [] : String | Test.java:231:44:231:45 | it : ObjectArrayListIterator [] : String | provenance | | | Test.java:231:19:231:32 | it : OrderedMapIterator [] : String | Test.java:231:44:231:45 | it : OrderedMapIterator [] : String | provenance | | | Test.java:231:19:231:32 | it : PeekingIterator [] : String | Test.java:231:44:231:45 | it : PeekingIterator [] : String | provenance | | +| Test.java:231:19:231:32 | it : PermutationIterator [, ] : String | Test.java:231:44:231:45 | it : PermutationIterator [, ] : String | provenance | | | Test.java:231:19:231:32 | it : PushbackIterator [] : Object | Test.java:231:44:231:45 | it : PushbackIterator [] : Object | provenance | | | Test.java:231:19:231:32 | it : PushbackIterator [] : String | Test.java:231:44:231:45 | it : PushbackIterator [] : String | provenance | | | Test.java:231:19:231:32 | it : ResettableIterator [] : Object | Test.java:231:44:231:45 | it : ResettableIterator [] : Object | provenance | | @@ -1319,6 +1345,9 @@ edges | Test.java:231:44:231:45 | it : EnumerationIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | | Test.java:231:44:231:45 | it : FilterIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | | Test.java:231:44:231:45 | it : FilterListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : Iterator [, ] : String | Test.java:231:44:231:52 | next(...) : Object [] : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : Iterator [, ] : Object | Test.java:231:44:231:52 | next(...) : Object [] : Object | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : Iterator [, ] : String | Test.java:231:44:231:52 | next(...) : Object [] : String | provenance | MaD:4 | | Test.java:231:44:231:45 | it : Iterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | provenance | MaD:4 | | Test.java:231:44:231:45 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | | Test.java:231:44:231:45 | it : IteratorChain [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | @@ -1337,6 +1366,7 @@ edges | Test.java:231:44:231:45 | it : ObjectArrayListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | | Test.java:231:44:231:45 | it : OrderedMapIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | | Test.java:231:44:231:45 | it : PeekingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | +| Test.java:231:44:231:45 | it : PermutationIterator [, ] : String | Test.java:231:44:231:52 | next(...) : Object [] : String | provenance | MaD:4 | | Test.java:231:44:231:45 | it : PushbackIterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | provenance | MaD:4 | | Test.java:231:44:231:45 | it : PushbackIterator [] : String | Test.java:231:44:231:52 | next(...) : String | provenance | MaD:4 | | Test.java:231:44:231:45 | it : ResettableIterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | provenance | MaD:4 | @@ -1556,8 +1586,10 @@ edges | Test.java:243:62:243:70 | container : MyAbstractMapEntry [] : Object | Test.java:243:62:243:81 | getValue(...) : Object | provenance | MaD:569 | | Test.java:243:62:243:70 | container : UnmodifiableMapEntry [] : Object | Test.java:243:62:243:81 | getValue(...) : Object | provenance | MaD:569 | | Test.java:243:62:243:70 | container : UnmodifiableMapEntry [] : String | Test.java:243:62:243:81 | getValue(...) : String | provenance | MaD:569 | +| Test.java:244:29:244:52 | container : Entry [] : Object | Test.java:244:64:244:72 | container : Entry [] : Object | provenance | | | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:72 | container : Entry [] : String | provenance | | | Test.java:244:29:244:52 | container : TiedMapEntry [] : String | Test.java:244:64:244:72 | container : TiedMapEntry [] : String | provenance | | +| Test.java:244:64:244:72 | container : Entry [] : Object | Test.java:244:64:244:83 | getValue(...) : Object | provenance | MaD:21 | | Test.java:244:64:244:72 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | provenance | MaD:21 | | Test.java:244:64:244:72 | container : TiedMapEntry [] : String | Test.java:244:64:244:83 | getValue(...) : String | provenance | MaD:21 | | Test.java:245:20:245:59 | container : MyAbstractMapEntryDecorator [] : String | Test.java:245:71:245:79 | container : MyAbstractMapEntryDecorator [] : String | provenance | | @@ -1652,6 +1684,8 @@ edges | Test.java:262:52:262:60 | element : String | Test.java:262:106:262:112 | element : String | provenance | | | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | provenance | MaD:674 | | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | provenance | MaD:674 | +| Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | provenance | | +| Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | provenance | | | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:262:106:262:112 | element : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:2 | @@ -3552,6 +3586,7 @@ edges | Test.java:1917:10:1917:22 | entrySet(...) : Set [, ] : String | Test.java:1918:39:1918:41 | out : Set [, ] : String | provenance | | | Test.java:1918:28:1918:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | provenance | | | Test.java:1918:28:1918:42 | getElement(...) : Entry [] : String | Test.java:1918:9:1918:43 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:1918:39:1918:41 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | provenance | | | Test.java:1918:39:1918:41 | out : Set [, ] : String | Test.java:1918:28:1918:42 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:1923:13:1923:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | Test.java:1924:10:1924:11 | in : PatriciaTrie [] : String | provenance | | | Test.java:1923:39:1923:54 | (...)... : String | Test.java:288:49:288:58 | key : String | provenance | | @@ -3562,6 +3597,7 @@ edges | Test.java:1924:10:1924:22 | entrySet(...) : Set [, ] : String | Test.java:1925:39:1925:41 | out : Set [, ] : String | provenance | | | Test.java:1925:28:1925:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | provenance | | | Test.java:1925:28:1925:42 | getElement(...) : Entry [] : String | Test.java:1925:9:1925:43 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:1925:39:1925:41 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | provenance | | | Test.java:1925:39:1925:41 | out : Set [, ] : String | Test.java:1925:28:1925:42 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:1930:30:1930:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | Test.java:1931:10:1931:11 | in : MultiValueMap [] : String | provenance | | | Test.java:1930:47:1930:62 | (...)... : String | Test.java:279:47:279:51 | key : String | provenance | | @@ -3574,6 +3610,7 @@ edges | Test.java:1931:10:1931:22 | entrySet(...) : Set [, ] : String | Test.java:1932:39:1932:41 | out : Set [, ] : String | provenance | | | Test.java:1932:28:1932:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | provenance | | | Test.java:1932:28:1932:42 | getElement(...) : Entry [] : String | Test.java:1932:9:1932:43 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:1932:39:1932:41 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | provenance | | | Test.java:1932:39:1932:41 | out : Set [, ] : String | Test.java:1932:28:1932:42 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:1937:23:1937:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:1938:10:1938:11 | in : MultiValueMap [] : String | provenance | | | Test.java:1937:42:1937:57 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | @@ -3585,6 +3622,7 @@ edges | Test.java:1938:10:1938:22 | entrySet(...) : Set [, ] : String | Test.java:1939:41:1939:43 | out : Set [, ] : String | provenance | | | Test.java:1939:30:1939:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | provenance | | | Test.java:1939:30:1939:44 | getElement(...) : Entry [] : String | Test.java:1939:9:1939:45 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:1939:41:1939:43 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | provenance | | | Test.java:1939:41:1939:43 | out : Set [, ] : String | Test.java:1939:30:1939:44 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:1944:13:1944:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | Test.java:1945:10:1945:11 | in : PatriciaTrie [] : String | provenance | | | Test.java:1944:41:1944:56 | (...)... : String | Test.java:307:50:307:56 | value : String | provenance | | @@ -3595,6 +3633,7 @@ edges | Test.java:1945:10:1945:22 | entrySet(...) : Set [, ] : String | Test.java:1946:41:1946:43 | out : Set [, ] : String | provenance | | | Test.java:1946:30:1946:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | provenance | | | Test.java:1946:30:1946:44 | getElement(...) : Entry [] : String | Test.java:1946:9:1946:45 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:1946:41:1946:43 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | provenance | | | Test.java:1946:41:1946:43 | out : Set [, ] : String | Test.java:1946:30:1946:44 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:1951:30:1951:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:1952:10:1952:11 | in : MultiValueMap [] : String | provenance | | | Test.java:1951:49:1951:64 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | @@ -3606,6 +3645,7 @@ edges | Test.java:1952:10:1952:22 | entrySet(...) : Set [, ] : String | Test.java:1953:41:1953:43 | out : Set [, ] : String | provenance | | | Test.java:1953:30:1953:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | provenance | | | Test.java:1953:30:1953:44 | getElement(...) : Entry [] : String | Test.java:1953:9:1953:45 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:1953:41:1953:43 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | provenance | | | Test.java:1953:41:1953:43 | out : Set [, ] : String | Test.java:1953:30:1953:44 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:1958:18:1958:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:1959:10:1959:11 | in : MultiValueMap [] : String | provenance | | | Test.java:1958:37:1958:52 | (...)... : String | Test.java:298:49:298:55 | value : String | provenance | | @@ -4894,6 +4934,7 @@ edges | Test.java:3065:10:3065:21 | entries(...) : Collection [, ] : String | Test.java:3066:39:3066:41 | out : Collection [, ] : String | provenance | | | Test.java:3066:28:3066:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | provenance | | | Test.java:3066:28:3066:42 | getElement(...) : Entry [] : String | Test.java:3066:9:3066:43 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:3066:39:3066:41 | out : Collection [, ] : String | Test.java:230:19:230:32 | it : Collection [, ] : String | provenance | | | Test.java:3066:39:3066:41 | out : Collection [, ] : String | Test.java:3066:28:3066:42 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:3071:24:3071:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:3072:10:3072:11 | in : ArrayListValuedHashMap [, ] : String | provenance | | | Test.java:3071:45:3071:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | @@ -4903,6 +4944,7 @@ edges | Test.java:3072:10:3072:21 | entries(...) : Collection [, ] : String | Test.java:3073:41:3073:43 | out : Collection [, ] : String | provenance | | | Test.java:3073:30:3073:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | provenance | | | Test.java:3073:30:3073:44 | getElement(...) : Entry [] : String | Test.java:3073:9:3073:45 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:3073:41:3073:43 | out : Collection [, ] : String | Test.java:230:19:230:32 | it : Collection [, ] : String | provenance | | | Test.java:3073:41:3073:43 | out : Collection [, ] : String | Test.java:3073:30:3073:44 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:3078:24:3078:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | Test.java:3079:38:3079:39 | in : ArrayListValuedHashMap [, ] : String | provenance | | | Test.java:3078:45:3078:60 | (...)... : String | Test.java:290:60:290:66 | value : String | provenance | | @@ -4999,6 +5041,7 @@ edges | Test.java:3156:10:3156:22 | entrySet(...) : Set [, ] : String | Test.java:3157:31:3157:33 | out : Set [, ] : String | provenance | | | Test.java:3157:20:3157:34 | getElement(...) : Entry [] : String | Test.java:235:19:235:45 | container : Entry [] : String | provenance | | | Test.java:3157:20:3157:34 | getElement(...) : Entry [] : String | Test.java:3157:9:3157:35 | getElement(...) | provenance | MaD:676 | +| Test.java:3157:31:3157:33 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | provenance | | | Test.java:3157:31:3157:33 | out : Set [, ] : String | Test.java:3157:20:3157:34 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:3162:18:3162:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:3163:10:3163:11 | in : HashMultiSet [] : String | provenance | | | Test.java:3162:41:3162:56 | (...)... : String | Test.java:263:41:263:49 | element : String | provenance | | @@ -6180,6 +6223,7 @@ edges | Test.java:4180:28:4180:29 | in : Object | Test.java:4180:23:4180:25 | out [post update] : List [, ] : Object | provenance | MaD:88 | | Test.java:4181:20:4181:34 | getElement(...) : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | provenance | | | Test.java:4181:20:4181:34 | getElement(...) : Collection [] : Object | Test.java:4181:9:4181:35 | getElement(...) | provenance | MaD:1 | +| Test.java:4181:31:4181:33 | out : List [, ] : Object | Test.java:230:19:230:32 | it : List [, ] : Object | provenance | | | Test.java:4181:31:4181:33 | out : List [, ] : Object | Test.java:4181:20:4181:34 | getElement(...) : Collection [] : Object | provenance | MaD:1 | | Test.java:4186:20:4186:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:4188:31:4188:32 | in : TreeBag [] : String | provenance | | | Test.java:4186:42:4186:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | @@ -7115,6 +7159,7 @@ edges | Test.java:4936:34:4936:35 | in : List [] : String | Test.java:4936:10:4936:36 | new PermutationIterator<>(...) : PermutationIterator [, ] : String | provenance | MaD:168 | | Test.java:4937:20:4937:34 | getElement(...) : List [] : String | Test.java:230:19:230:32 | it : List [] : String | provenance | | | Test.java:4937:20:4937:34 | getElement(...) : List [] : String | Test.java:4937:9:4937:35 | getElement(...) | provenance | MaD:1 | +| Test.java:4937:31:4937:33 | out : PermutationIterator [, ] : String | Test.java:231:19:231:32 | it : PermutationIterator [, ] : String | provenance | | | Test.java:4937:31:4937:33 | out : PermutationIterator [, ] : String | Test.java:4937:20:4937:34 | getElement(...) : List [] : String | provenance | MaD:4 | | Test.java:4942:18:4942:61 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:4943:31:4943:32 | in : ListIterator [] : String | provenance | | | Test.java:4942:45:4942:60 | (...)... : String | Test.java:259:49:259:57 | element : String | provenance | | @@ -8164,6 +8209,7 @@ edges | Test.java:5988:18:5988:19 | in : String | Test.java:5988:4:5988:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:338 | | Test.java:5989:20:5989:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | | Test.java:5989:20:5989:33 | getMapKey(...) : MultiKey [] : String | Test.java:5989:9:5989:34 | getElement(...) | provenance | MaD:231 | +| Test.java:5989:30:5989:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | provenance | | | Test.java:5989:30:5989:32 | out : MultiKeyMap [, ] : String | Test.java:5989:20:5989:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | | Test.java:5994:16:5994:31 | (...)... : String | Test.java:5995:12:5995:13 | in : String | provenance | | | Test.java:5994:24:5994:31 | source(...) : Object | Test.java:5994:16:5994:31 | (...)... : String | provenance | | @@ -8171,6 +8217,7 @@ edges | Test.java:5995:12:5995:13 | in : String | Test.java:5995:4:5995:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:338 | | Test.java:5996:20:5996:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | | Test.java:5996:20:5996:33 | getMapKey(...) : MultiKey [] : String | Test.java:5996:9:5996:34 | getElement(...) | provenance | MaD:231 | +| Test.java:5996:30:5996:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | provenance | | | Test.java:5996:30:5996:32 | out : MultiKeyMap [, ] : String | Test.java:5996:20:5996:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | | Test.java:6001:16:6001:31 | (...)... : String | Test.java:6002:24:6002:25 | in : String | provenance | | | Test.java:6001:24:6001:31 | source(...) : Object | Test.java:6001:16:6001:31 | (...)... : String | provenance | | @@ -8184,6 +8231,7 @@ edges | Test.java:6009:24:6009:25 | in : String | Test.java:6009:4:6009:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:340 | | Test.java:6010:20:6010:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | | Test.java:6010:20:6010:33 | getMapKey(...) : MultiKey [] : String | Test.java:6010:9:6010:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6010:30:6010:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | provenance | | | Test.java:6010:30:6010:32 | out : MultiKeyMap [, ] : String | Test.java:6010:20:6010:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | | Test.java:6015:16:6015:31 | (...)... : String | Test.java:6016:18:6016:19 | in : String | provenance | | | Test.java:6015:24:6015:31 | source(...) : Object | Test.java:6015:16:6015:31 | (...)... : String | provenance | | @@ -8191,6 +8239,7 @@ edges | Test.java:6016:18:6016:19 | in : String | Test.java:6016:4:6016:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:340 | | Test.java:6017:20:6017:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | | Test.java:6017:20:6017:33 | getMapKey(...) : MultiKey [] : String | Test.java:6017:9:6017:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6017:30:6017:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | provenance | | | Test.java:6017:30:6017:32 | out : MultiKeyMap [, ] : String | Test.java:6017:20:6017:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | | Test.java:6022:16:6022:31 | (...)... : String | Test.java:6023:12:6023:13 | in : String | provenance | | | Test.java:6022:24:6022:31 | source(...) : Object | Test.java:6022:16:6022:31 | (...)... : String | provenance | | @@ -8198,6 +8247,7 @@ edges | Test.java:6023:12:6023:13 | in : String | Test.java:6023:4:6023:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:340 | | Test.java:6024:20:6024:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | | Test.java:6024:20:6024:33 | getMapKey(...) : MultiKey [] : String | Test.java:6024:9:6024:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6024:30:6024:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | provenance | | | Test.java:6024:30:6024:32 | out : MultiKeyMap [, ] : String | Test.java:6024:20:6024:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | | Test.java:6029:16:6029:31 | (...)... : String | Test.java:6030:30:6030:31 | in : String | provenance | | | Test.java:6029:24:6029:31 | source(...) : Object | Test.java:6029:16:6029:31 | (...)... : String | provenance | | @@ -8211,6 +8261,7 @@ edges | Test.java:6037:30:6037:31 | in : String | Test.java:6037:4:6037:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:342 | | Test.java:6038:20:6038:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | | Test.java:6038:20:6038:33 | getMapKey(...) : MultiKey [] : String | Test.java:6038:9:6038:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6038:30:6038:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | provenance | | | Test.java:6038:30:6038:32 | out : MultiKeyMap [, ] : String | Test.java:6038:20:6038:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | | Test.java:6043:16:6043:31 | (...)... : String | Test.java:6044:24:6044:25 | in : String | provenance | | | Test.java:6043:24:6043:31 | source(...) : Object | Test.java:6043:16:6043:31 | (...)... : String | provenance | | @@ -8218,6 +8269,7 @@ edges | Test.java:6044:24:6044:25 | in : String | Test.java:6044:4:6044:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:342 | | Test.java:6045:20:6045:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | | Test.java:6045:20:6045:33 | getMapKey(...) : MultiKey [] : String | Test.java:6045:9:6045:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6045:30:6045:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | provenance | | | Test.java:6045:30:6045:32 | out : MultiKeyMap [, ] : String | Test.java:6045:20:6045:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | | Test.java:6050:16:6050:31 | (...)... : String | Test.java:6051:18:6051:19 | in : String | provenance | | | Test.java:6050:24:6050:31 | source(...) : Object | Test.java:6050:16:6050:31 | (...)... : String | provenance | | @@ -8225,6 +8277,7 @@ edges | Test.java:6051:18:6051:19 | in : String | Test.java:6051:4:6051:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:342 | | Test.java:6052:20:6052:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | | Test.java:6052:20:6052:33 | getMapKey(...) : MultiKey [] : String | Test.java:6052:9:6052:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6052:30:6052:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | provenance | | | Test.java:6052:30:6052:32 | out : MultiKeyMap [, ] : String | Test.java:6052:20:6052:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | | Test.java:6057:16:6057:31 | (...)... : String | Test.java:6058:12:6058:13 | in : String | provenance | | | Test.java:6057:24:6057:31 | source(...) : Object | Test.java:6057:16:6057:31 | (...)... : String | provenance | | @@ -8232,6 +8285,7 @@ edges | Test.java:6058:12:6058:13 | in : String | Test.java:6058:4:6058:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:342 | | Test.java:6059:20:6059:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | | Test.java:6059:20:6059:33 | getMapKey(...) : MultiKey [] : String | Test.java:6059:9:6059:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6059:30:6059:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | provenance | | | Test.java:6059:30:6059:32 | out : MultiKeyMap [, ] : String | Test.java:6059:20:6059:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | | Test.java:6064:16:6064:31 | (...)... : String | Test.java:6065:36:6065:37 | in : String | provenance | | | Test.java:6064:24:6064:31 | source(...) : Object | Test.java:6064:16:6064:31 | (...)... : String | provenance | | @@ -8245,6 +8299,7 @@ edges | Test.java:6072:36:6072:37 | in : String | Test.java:6072:4:6072:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:344 | | Test.java:6073:20:6073:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | | Test.java:6073:20:6073:33 | getMapKey(...) : MultiKey [] : String | Test.java:6073:9:6073:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6073:30:6073:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | provenance | | | Test.java:6073:30:6073:32 | out : MultiKeyMap [, ] : String | Test.java:6073:20:6073:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | | Test.java:6078:16:6078:31 | (...)... : String | Test.java:6079:30:6079:31 | in : String | provenance | | | Test.java:6078:24:6078:31 | source(...) : Object | Test.java:6078:16:6078:31 | (...)... : String | provenance | | @@ -8252,6 +8307,7 @@ edges | Test.java:6079:30:6079:31 | in : String | Test.java:6079:4:6079:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:344 | | Test.java:6080:20:6080:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | | Test.java:6080:20:6080:33 | getMapKey(...) : MultiKey [] : String | Test.java:6080:9:6080:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6080:30:6080:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | provenance | | | Test.java:6080:30:6080:32 | out : MultiKeyMap [, ] : String | Test.java:6080:20:6080:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | | Test.java:6085:16:6085:31 | (...)... : String | Test.java:6086:24:6086:25 | in : String | provenance | | | Test.java:6085:24:6085:31 | source(...) : Object | Test.java:6085:16:6085:31 | (...)... : String | provenance | | @@ -8259,6 +8315,7 @@ edges | Test.java:6086:24:6086:25 | in : String | Test.java:6086:4:6086:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:344 | | Test.java:6087:20:6087:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | | Test.java:6087:20:6087:33 | getMapKey(...) : MultiKey [] : String | Test.java:6087:9:6087:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6087:30:6087:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | provenance | | | Test.java:6087:30:6087:32 | out : MultiKeyMap [, ] : String | Test.java:6087:20:6087:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | | Test.java:6092:16:6092:31 | (...)... : String | Test.java:6093:18:6093:19 | in : String | provenance | | | Test.java:6092:24:6092:31 | source(...) : Object | Test.java:6092:16:6092:31 | (...)... : String | provenance | | @@ -8266,6 +8323,7 @@ edges | Test.java:6093:18:6093:19 | in : String | Test.java:6093:4:6093:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:344 | | Test.java:6094:20:6094:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | | Test.java:6094:20:6094:33 | getMapKey(...) : MultiKey [] : String | Test.java:6094:9:6094:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6094:30:6094:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | provenance | | | Test.java:6094:30:6094:32 | out : MultiKeyMap [, ] : String | Test.java:6094:20:6094:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | | Test.java:6099:16:6099:31 | (...)... : String | Test.java:6100:12:6100:13 | in : String | provenance | | | Test.java:6099:24:6099:31 | source(...) : Object | Test.java:6099:16:6099:31 | (...)... : String | provenance | | @@ -8273,6 +8331,7 @@ edges | Test.java:6100:12:6100:13 | in : String | Test.java:6100:4:6100:6 | out [post update] : MultiKeyMap [, ] : String | provenance | MaD:344 | | Test.java:6101:20:6101:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | provenance | | | Test.java:6101:20:6101:33 | getMapKey(...) : MultiKey [] : String | Test.java:6101:9:6101:34 | getElement(...) | provenance | MaD:231 | +| Test.java:6101:30:6101:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | provenance | | | Test.java:6101:30:6101:32 | out : MultiKeyMap [, ] : String | Test.java:6101:20:6101:33 | getMapKey(...) : MultiKey [] : String | provenance | MaD:10 | | Test.java:6106:16:6106:31 | (...)... : String | Test.java:6107:42:6107:43 | in : String | provenance | | | Test.java:6106:24:6106:31 | source(...) : Object | Test.java:6106:16:6106:31 | (...)... : String | provenance | | @@ -8362,10 +8421,13 @@ edges | Test.java:6184:10:6184:11 | in : MultiValueMap [] : String | Test.java:6184:10:6184:22 | iterator(...) : Iterator [, ] : Object | provenance | MaD:349 | | Test.java:6184:10:6184:22 | iterator(...) : Iterator [, ] : Object | Test.java:6185:41:6185:43 | out : Iterator [, ] : Object | provenance | | | Test.java:6184:10:6184:22 | iterator(...) : Iterator [, ] : String | Test.java:6185:41:6185:43 | out : Iterator [, ] : String | provenance | | +| Test.java:6185:30:6185:44 | getElement(...) : Entry [] : Object | Test.java:244:29:244:52 | container : Entry [] : Object | provenance | | | Test.java:6185:30:6185:44 | getElement(...) : Entry [] : Object | Test.java:6185:9:6185:45 | getMapValueFromEntry(...) | provenance | MaD:21 | | Test.java:6185:30:6185:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | provenance | | | Test.java:6185:30:6185:44 | getElement(...) : Entry [] : String | Test.java:6185:9:6185:45 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:6185:41:6185:43 | out : Iterator [, ] : Object | Test.java:231:19:231:32 | it : Iterator [, ] : Object | provenance | | | Test.java:6185:41:6185:43 | out : Iterator [, ] : Object | Test.java:6185:30:6185:44 | getElement(...) : Entry [] : Object | provenance | MaD:4 | +| Test.java:6185:41:6185:43 | out : Iterator [, ] : String | Test.java:231:19:231:32 | it : Iterator [, ] : String | provenance | | | Test.java:6185:41:6185:43 | out : Iterator [, ] : String | Test.java:6185:30:6185:44 | getElement(...) : Entry [] : String | provenance | MaD:4 | | Test.java:6190:38:6190:71 | newMVMWithMapKey(...) : MultiValueMap [] : String | Test.java:6191:10:6191:11 | in : MultiValueMap [] : String | provenance | | | Test.java:6190:55:6190:70 | (...)... : String | Test.java:279:47:279:51 | key : String | provenance | | @@ -8377,6 +8439,7 @@ edges | Test.java:6191:10:6191:22 | iterator(...) : Iterator [, ] : String | Test.java:6192:39:6192:41 | out : Iterator [, ] : String | provenance | | | Test.java:6192:28:6192:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | provenance | | | Test.java:6192:28:6192:42 | getElement(...) : Entry [] : String | Test.java:6192:9:6192:43 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:6192:39:6192:41 | out : Iterator [, ] : String | Test.java:231:19:231:32 | it : Iterator [, ] : String | provenance | | | Test.java:6192:39:6192:41 | out : Iterator [, ] : String | Test.java:6192:28:6192:42 | getElement(...) : Entry [] : String | provenance | MaD:4 | | Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | Test.java:6198:10:6198:11 | in : MultiValueMap [, ] : String | provenance | | | Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | Test.java:6198:10:6198:11 | in : MultiValueMap [] : String | provenance | | @@ -8715,6 +8778,7 @@ edges | Test.java:6457:52:6457:53 | in : ListOrderedSet [, ] : String | Test.java:6457:10:6457:54 | unmodifiableEntrySet(...) : Set [, ] : String | provenance | MaD:383 | | Test.java:6458:28:6458:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | provenance | | | Test.java:6458:28:6458:42 | getElement(...) : Entry [] : String | Test.java:6458:9:6458:43 | getMapKeyFromEntry(...) | provenance | MaD:20 | +| Test.java:6458:39:6458:41 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | provenance | | | Test.java:6458:39:6458:41 | out : Set [, ] : String | Test.java:6458:28:6458:42 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:6463:39:6463:104 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | Test.java:6464:52:6464:53 | in : ListOrderedSet [, ] : String | provenance | | | Test.java:6463:68:6463:103 | newTMEWithMapValue(...) : TiedMapEntry [] : String | Test.java:260:53:260:61 | element : TiedMapEntry [] : String | provenance | | @@ -8726,6 +8790,7 @@ edges | Test.java:6464:52:6464:53 | in : ListOrderedSet [, ] : String | Test.java:6464:10:6464:54 | unmodifiableEntrySet(...) : Set [, ] : String | provenance | MaD:384 | | Test.java:6465:30:6465:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | provenance | | | Test.java:6465:30:6465:44 | getElement(...) : Entry [] : String | Test.java:6465:9:6465:45 | getMapValueFromEntry(...) | provenance | MaD:21 | +| Test.java:6465:41:6465:43 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | provenance | | | Test.java:6465:41:6465:43 | out : Set [, ] : String | Test.java:6465:30:6465:44 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:6470:13:6470:42 | of(...) : Map [] : String | Test.java:6471:42:6471:43 | in : Map [] : String | provenance | | | Test.java:6470:20:6470:35 | (...)... : String | Test.java:6470:13:6470:42 | of(...) : Map [] : String | provenance | MaD:11 | @@ -9029,6 +9094,7 @@ edges | Test.java:6761:28:6761:29 | in : Object | Test.java:6761:23:6761:25 | out [post update] : List [, ] : Object | provenance | MaD:790 | | Test.java:6762:20:6762:34 | getElement(...) : Set [] : Object | Test.java:230:19:230:32 | it : Set [] : Object | provenance | | | Test.java:6762:20:6762:34 | getElement(...) : Set [] : Object | Test.java:6762:9:6762:35 | getElement(...) | provenance | MaD:1 | +| Test.java:6762:31:6762:33 | out : List [, ] : Object | Test.java:230:19:230:32 | it : List [, ] : Object | provenance | | | Test.java:6762:31:6762:33 | out : List [, ] : Object | Test.java:6762:20:6762:34 | getElement(...) : Set [] : Object | provenance | MaD:1 | | Test.java:6767:20:6767:58 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:6769:31:6769:32 | in : TreeBag [] : String | provenance | | | Test.java:6767:42:6767:57 | (...)... : String | Test.java:267:39:267:47 | element : String | provenance | | @@ -9548,6 +9614,7 @@ nodes | Test.java:228:18:228:29 | map : ListOrderedMap [] : String | semmle.label | map : ListOrderedMap [] : String | | Test.java:228:18:228:29 | map : Map [] : Object | semmle.label | map : Map [] : Object | | Test.java:228:18:228:29 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | semmle.label | map : MultiKeyMap [, ] : String | | Test.java:228:18:228:29 | map : MultiMap [] : Object | semmle.label | map : MultiMap [] : Object | | Test.java:228:18:228:29 | map : MultiValueMap [] : Object | semmle.label | map : MultiValueMap [] : Object | | Test.java:228:18:228:29 | map : MultiValueMap [] : String | semmle.label | map : MultiValueMap [] : String | @@ -9600,6 +9667,7 @@ nodes | Test.java:228:41:228:43 | map : ListOrderedMap [] : String | semmle.label | map : ListOrderedMap [] : String | | Test.java:228:41:228:43 | map : Map [] : Object | semmle.label | map : Map [] : Object | | Test.java:228:41:228:43 | map : Map [] : String | semmle.label | map : Map [] : String | +| Test.java:228:41:228:43 | map : MultiKeyMap [, ] : String | semmle.label | map : MultiKeyMap [, ] : String | | Test.java:228:41:228:43 | map : MultiMap [] : Object | semmle.label | map : MultiMap [] : Object | | Test.java:228:41:228:43 | map : MultiValueMap [] : Object | semmle.label | map : MultiValueMap [] : Object | | Test.java:228:41:228:43 | map : MultiValueMap [] : String | semmle.label | map : MultiValueMap [] : String | @@ -9628,6 +9696,7 @@ nodes | Test.java:228:41:228:43 | map : TransformedSortedMap [] : String | semmle.label | map : TransformedSortedMap [] : String | | Test.java:228:41:228:43 | map : TreeBidiMap [] : String | semmle.label | map : TreeBidiMap [] : String | | Test.java:228:41:228:43 | map : Trie [] : String | semmle.label | map : Trie [] : String | +| Test.java:228:41:228:52 | keySet(...) : Set [, ] : String | semmle.label | keySet(...) : Set [, ] : String | | Test.java:228:41:228:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | | Test.java:228:41:228:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | | Test.java:228:41:228:52 | keySet(...) : Set [] : Object | semmle.label | keySet(...) : Set [] : Object | @@ -9680,6 +9749,7 @@ nodes | Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | | Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | | Test.java:228:41:228:52 | keySet(...) : Set [] : String | semmle.label | keySet(...) : Set [] : String | +| Test.java:228:41:228:63 | iterator(...) : Iterator [, ] : String | semmle.label | iterator(...) : Iterator [, ] : String | | Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | | Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | | Test.java:228:41:228:63 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | @@ -9740,6 +9810,7 @@ nodes | Test.java:228:41:228:70 | next(...) : Object | semmle.label | next(...) : Object | | Test.java:228:41:228:70 | next(...) : Object | semmle.label | next(...) : Object | | Test.java:228:41:228:70 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:228:41:228:70 | next(...) : Object [] : String | semmle.label | next(...) : Object [] : String | | Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | | Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | | Test.java:228:41:228:70 | next(...) : String | semmle.label | next(...) : String | @@ -9798,6 +9869,8 @@ nodes | Test.java:230:19:230:32 | it : CircularFifoQueue [] : String | semmle.label | it : CircularFifoQueue [] : String | | Test.java:230:19:230:32 | it : Collection | semmle.label | it : Collection | | Test.java:230:19:230:32 | it : Collection [, ] : String | semmle.label | it : Collection [, ] : String | +| Test.java:230:19:230:32 | it : Collection [, ] : String | semmle.label | it : Collection [, ] : String | +| Test.java:230:19:230:32 | it : Collection [, ] : String | semmle.label | it : Collection [, ] : String | | Test.java:230:19:230:32 | it : Collection [] : Object | semmle.label | it : Collection [] : Object | | Test.java:230:19:230:32 | it : Collection [] : String | semmle.label | it : Collection [] : String | | Test.java:230:19:230:32 | it : CollectionBag [] : String | semmle.label | it : CollectionBag [] : String | @@ -9818,6 +9891,7 @@ nodes | Test.java:230:19:230:32 | it : Iterable [] : String | semmle.label | it : Iterable [] : String | | Test.java:230:19:230:32 | it : IteratorIterable [] : String | semmle.label | it : IteratorIterable [] : String | | Test.java:230:19:230:32 | it : LazyList [] : String | semmle.label | it : LazyList [] : String | +| Test.java:230:19:230:32 | it : List [, ] : Object | semmle.label | it : List [, ] : Object | | Test.java:230:19:230:32 | it : List [, ] : String | semmle.label | it : List [, ] : String | | Test.java:230:19:230:32 | it : List [] : Object | semmle.label | it : List [] : Object | | Test.java:230:19:230:32 | it : List [] : String | semmle.label | it : List [] : String | @@ -9848,6 +9922,9 @@ nodes | Test.java:230:19:230:32 | it : PredicatedSortedBag [] : String | semmle.label | it : PredicatedSortedBag [] : String | | Test.java:230:19:230:32 | it : PredicatedSortedSet [] : String | semmle.label | it : PredicatedSortedSet [] : String | | Test.java:230:19:230:32 | it : Queue [] : String | semmle.label | it : Queue [] : String | +| Test.java:230:19:230:32 | it : Set [, ] : String | semmle.label | it : Set [, ] : String | +| Test.java:230:19:230:32 | it : Set [, ] : String | semmle.label | it : Set [, ] : String | +| Test.java:230:19:230:32 | it : Set [, ] : String | semmle.label | it : Set [, ] : String | | Test.java:230:19:230:32 | it : Set [] : Object | semmle.label | it : Set [] : Object | | Test.java:230:19:230:32 | it : Set [] : String | semmle.label | it : Set [] : String | | Test.java:230:19:230:32 | it : SetUniqueList [] : String | semmle.label | it : SetUniqueList [] : String | @@ -9877,6 +9954,8 @@ nodes | Test.java:230:44:230:45 | it : CircularFifoQueue [] : String | semmle.label | it : CircularFifoQueue [] : String | | Test.java:230:44:230:45 | it : Collection | semmle.label | it : Collection | | Test.java:230:44:230:45 | it : Collection [, ] : String | semmle.label | it : Collection [, ] : String | +| Test.java:230:44:230:45 | it : Collection [, ] : String | semmle.label | it : Collection [, ] : String | +| Test.java:230:44:230:45 | it : Collection [, ] : String | semmle.label | it : Collection [, ] : String | | Test.java:230:44:230:45 | it : Collection [] : Object | semmle.label | it : Collection [] : Object | | Test.java:230:44:230:45 | it : Collection [] : String | semmle.label | it : Collection [] : String | | Test.java:230:44:230:45 | it : CollectionBag [] : String | semmle.label | it : CollectionBag [] : String | @@ -9897,6 +9976,7 @@ nodes | Test.java:230:44:230:45 | it : Iterable [] : String | semmle.label | it : Iterable [] : String | | Test.java:230:44:230:45 | it : IteratorIterable [] : String | semmle.label | it : IteratorIterable [] : String | | Test.java:230:44:230:45 | it : LazyList [] : String | semmle.label | it : LazyList [] : String | +| Test.java:230:44:230:45 | it : List [, ] : Object | semmle.label | it : List [, ] : Object | | Test.java:230:44:230:45 | it : List [, ] : String | semmle.label | it : List [, ] : String | | Test.java:230:44:230:45 | it : List [] : Object | semmle.label | it : List [] : Object | | Test.java:230:44:230:45 | it : List [] : String | semmle.label | it : List [] : String | @@ -9927,6 +10007,9 @@ nodes | Test.java:230:44:230:45 | it : PredicatedSortedBag [] : String | semmle.label | it : PredicatedSortedBag [] : String | | Test.java:230:44:230:45 | it : PredicatedSortedSet [] : String | semmle.label | it : PredicatedSortedSet [] : String | | Test.java:230:44:230:45 | it : Queue [] : String | semmle.label | it : Queue [] : String | +| Test.java:230:44:230:45 | it : Set [, ] : String | semmle.label | it : Set [, ] : String | +| Test.java:230:44:230:45 | it : Set [, ] : String | semmle.label | it : Set [, ] : String | +| Test.java:230:44:230:45 | it : Set [, ] : String | semmle.label | it : Set [, ] : String | | Test.java:230:44:230:45 | it : Set [] : Object | semmle.label | it : Set [] : Object | | Test.java:230:44:230:45 | it : Set [] : String | semmle.label | it : Set [] : String | | Test.java:230:44:230:45 | it : SetUniqueList [] : String | semmle.label | it : SetUniqueList [] : String | @@ -9948,8 +10031,14 @@ nodes | Test.java:230:44:230:45 | it : TreeBag [] : String | semmle.label | it : TreeBag [] : String | | Test.java:230:44:230:45 | it : TreeList [] : String | semmle.label | it : TreeList [] : String | | Test.java:230:44:230:45 | it : UnmodifiableList [] : String | semmle.label | it : UnmodifiableList [] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | | Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | semmle.label | iterator(...) : Iterator [, ] : String | | Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | semmle.label | iterator(...) : Iterator [, ] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | semmle.label | iterator(...) : Iterator [, ] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | semmle.label | iterator(...) : Iterator [, ] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | semmle.label | iterator(...) : Iterator [, ] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | semmle.label | iterator(...) : Iterator [, ] : String | +| Test.java:230:44:230:56 | iterator(...) : Iterator [, ] : String | semmle.label | iterator(...) : Iterator [, ] : String | | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | | Test.java:230:44:230:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | @@ -10040,8 +10129,14 @@ nodes | Test.java:230:44:230:63 | next(...) : Object | semmle.label | next(...) : Object | | Test.java:230:44:230:63 | next(...) : Object | semmle.label | next(...) : Object | | Test.java:230:44:230:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:230:44:230:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | | Test.java:230:44:230:63 | next(...) : Object [] : String | semmle.label | next(...) : Object [] : String | | Test.java:230:44:230:63 | next(...) : Object [] : String | semmle.label | next(...) : Object [] : String | +| Test.java:230:44:230:63 | next(...) : Object [] : String | semmle.label | next(...) : Object [] : String | +| Test.java:230:44:230:63 | next(...) : Object [] : String | semmle.label | next(...) : Object [] : String | +| Test.java:230:44:230:63 | next(...) : Object [] : String | semmle.label | next(...) : Object [] : String | +| Test.java:230:44:230:63 | next(...) : Object [] : String | semmle.label | next(...) : Object [] : String | +| Test.java:230:44:230:63 | next(...) : Object [] : String | semmle.label | next(...) : Object [] : String | | Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | | Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | | Test.java:230:44:230:63 | next(...) : String | semmle.label | next(...) : String | @@ -10115,6 +10210,9 @@ nodes | Test.java:231:19:231:32 | it : EnumerationIterator [] : String | semmle.label | it : EnumerationIterator [] : String | | Test.java:231:19:231:32 | it : FilterIterator [] : String | semmle.label | it : FilterIterator [] : String | | Test.java:231:19:231:32 | it : FilterListIterator [] : String | semmle.label | it : FilterListIterator [] : String | +| Test.java:231:19:231:32 | it : Iterator [, ] : String | semmle.label | it : Iterator [, ] : String | +| Test.java:231:19:231:32 | it : Iterator [, ] : Object | semmle.label | it : Iterator [, ] : Object | +| Test.java:231:19:231:32 | it : Iterator [, ] : String | semmle.label | it : Iterator [, ] : String | | Test.java:231:19:231:32 | it : Iterator [] : Object | semmle.label | it : Iterator [] : Object | | Test.java:231:19:231:32 | it : Iterator [] : String | semmle.label | it : Iterator [] : String | | Test.java:231:19:231:32 | it : IteratorChain [] : String | semmle.label | it : IteratorChain [] : String | @@ -10133,6 +10231,7 @@ nodes | Test.java:231:19:231:32 | it : ObjectArrayListIterator [] : String | semmle.label | it : ObjectArrayListIterator [] : String | | Test.java:231:19:231:32 | it : OrderedMapIterator [] : String | semmle.label | it : OrderedMapIterator [] : String | | Test.java:231:19:231:32 | it : PeekingIterator [] : String | semmle.label | it : PeekingIterator [] : String | +| Test.java:231:19:231:32 | it : PermutationIterator [, ] : String | semmle.label | it : PermutationIterator [, ] : String | | Test.java:231:19:231:32 | it : PushbackIterator [] : Object | semmle.label | it : PushbackIterator [] : Object | | Test.java:231:19:231:32 | it : PushbackIterator [] : String | semmle.label | it : PushbackIterator [] : String | | Test.java:231:19:231:32 | it : ResettableIterator [] : Object | semmle.label | it : ResettableIterator [] : Object | @@ -10154,6 +10253,9 @@ nodes | Test.java:231:44:231:45 | it : EnumerationIterator [] : String | semmle.label | it : EnumerationIterator [] : String | | Test.java:231:44:231:45 | it : FilterIterator [] : String | semmle.label | it : FilterIterator [] : String | | Test.java:231:44:231:45 | it : FilterListIterator [] : String | semmle.label | it : FilterListIterator [] : String | +| Test.java:231:44:231:45 | it : Iterator [, ] : String | semmle.label | it : Iterator [, ] : String | +| Test.java:231:44:231:45 | it : Iterator [, ] : Object | semmle.label | it : Iterator [, ] : Object | +| Test.java:231:44:231:45 | it : Iterator [, ] : String | semmle.label | it : Iterator [, ] : String | | Test.java:231:44:231:45 | it : Iterator [] : Object | semmle.label | it : Iterator [] : Object | | Test.java:231:44:231:45 | it : Iterator [] : String | semmle.label | it : Iterator [] : String | | Test.java:231:44:231:45 | it : IteratorChain [] : String | semmle.label | it : IteratorChain [] : String | @@ -10172,6 +10274,7 @@ nodes | Test.java:231:44:231:45 | it : ObjectArrayListIterator [] : String | semmle.label | it : ObjectArrayListIterator [] : String | | Test.java:231:44:231:45 | it : OrderedMapIterator [] : String | semmle.label | it : OrderedMapIterator [] : String | | Test.java:231:44:231:45 | it : PeekingIterator [] : String | semmle.label | it : PeekingIterator [] : String | +| Test.java:231:44:231:45 | it : PermutationIterator [, ] : String | semmle.label | it : PermutationIterator [, ] : String | | Test.java:231:44:231:45 | it : PushbackIterator [] : Object | semmle.label | it : PushbackIterator [] : Object | | Test.java:231:44:231:45 | it : PushbackIterator [] : String | semmle.label | it : PushbackIterator [] : String | | Test.java:231:44:231:45 | it : ResettableIterator [] : Object | semmle.label | it : ResettableIterator [] : Object | @@ -10191,6 +10294,10 @@ nodes | Test.java:231:44:231:52 | next(...) : Object | semmle.label | next(...) : Object | | Test.java:231:44:231:52 | next(...) : Object | semmle.label | next(...) : Object | | Test.java:231:44:231:52 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:231:44:231:52 | next(...) : Object [] : String | semmle.label | next(...) : Object [] : String | +| Test.java:231:44:231:52 | next(...) : Object [] : String | semmle.label | next(...) : Object [] : String | +| Test.java:231:44:231:52 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:231:44:231:52 | next(...) : Object [] : String | semmle.label | next(...) : Object [] : String | | Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | | Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | | Test.java:231:44:231:52 | next(...) : String | semmle.label | next(...) : String | @@ -10522,10 +10629,13 @@ nodes | Test.java:243:62:243:81 | getValue(...) : String | semmle.label | getValue(...) : String | | Test.java:243:62:243:81 | getValue(...) : String | semmle.label | getValue(...) : String | | Test.java:243:62:243:81 | getValue(...) : String | semmle.label | getValue(...) : String | +| Test.java:244:29:244:52 | container : Entry [] : Object | semmle.label | container : Entry [] : Object | | Test.java:244:29:244:52 | container : Entry [] : String | semmle.label | container : Entry [] : String | | Test.java:244:29:244:52 | container : TiedMapEntry [] : String | semmle.label | container : TiedMapEntry [] : String | +| Test.java:244:64:244:72 | container : Entry [] : Object | semmle.label | container : Entry [] : Object | | Test.java:244:64:244:72 | container : Entry [] : String | semmle.label | container : Entry [] : String | | Test.java:244:64:244:72 | container : TiedMapEntry [] : String | semmle.label | container : TiedMapEntry [] : String | +| Test.java:244:64:244:83 | getValue(...) : Object | semmle.label | getValue(...) : Object | | Test.java:244:64:244:83 | getValue(...) : String | semmle.label | getValue(...) : String | | Test.java:244:64:244:83 | getValue(...) : String | semmle.label | getValue(...) : String | | Test.java:245:20:245:59 | container : MyAbstractMapEntryDecorator [] : String | semmle.label | container : MyAbstractMapEntryDecorator [] : String | @@ -17688,6 +17798,8 @@ subpaths | Test.java:254:118:254:124 | element : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:254:89:254:125 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | | Test.java:256:115:256:121 | element : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:256:94:256:122 | newVectorWithElement(...) : Vector [] : String | | Test.java:259:90:259:96 | element : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:259:69:259:97 | newVectorWithElement(...) : Vector [] : String | +| Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | +| Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | | Test.java:262:106:262:112 | element : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | | Test.java:262:106:262:112 | element : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | | Test.java:262:106:262:112 | element : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | @@ -18121,22 +18233,28 @@ subpaths | Test.java:1916:40:1916:55 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1916:23:1916:56 | newMVMWithMapKey(...) : MultiValueMap [] : String | | Test.java:1916:40:1916:55 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1916:23:1916:56 | newMVMWithMapKey(...) : MultiValueMap [] : String | | Test.java:1918:28:1918:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:1918:9:1918:43 | getMapKeyFromEntry(...) | +| Test.java:1918:39:1918:41 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:1918:28:1918:42 | getElement(...) : Entry [] : String | | Test.java:1923:39:1923:54 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:1923:13:1923:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | | Test.java:1923:39:1923:54 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:1923:13:1923:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | | Test.java:1925:28:1925:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:1925:9:1925:43 | getMapKeyFromEntry(...) | +| Test.java:1925:39:1925:41 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:1925:28:1925:42 | getElement(...) : Entry [] : String | | Test.java:1930:47:1930:62 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1930:30:1930:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | | Test.java:1930:47:1930:62 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1930:30:1930:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | | Test.java:1930:47:1930:62 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1930:30:1930:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | | Test.java:1932:28:1932:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:1932:9:1932:43 | getMapKeyFromEntry(...) | +| Test.java:1932:39:1932:41 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:1932:28:1932:42 | getElement(...) : Entry [] : String | | Test.java:1937:42:1937:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1937:23:1937:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:1937:42:1937:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1937:23:1937:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:1939:30:1939:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:1939:9:1939:45 | getMapValueFromEntry(...) | +| Test.java:1939:41:1939:43 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:1939:30:1939:44 | getElement(...) : Entry [] : String | | Test.java:1944:41:1944:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:1944:13:1944:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | | Test.java:1944:41:1944:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:1944:13:1944:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | | Test.java:1946:30:1946:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:1946:9:1946:45 | getMapValueFromEntry(...) | +| Test.java:1946:41:1946:43 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:1946:30:1946:44 | getElement(...) : Entry [] : String | | Test.java:1951:49:1951:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1951:30:1951:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:1951:49:1951:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1951:30:1951:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:1953:30:1953:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:1953:9:1953:45 | getMapValueFromEntry(...) | +| Test.java:1953:41:1953:43 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:1953:30:1953:44 | getElement(...) : Entry [] : String | | Test.java:1958:37:1958:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1958:18:1958:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:1958:37:1958:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1958:18:1958:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:1965:41:1965:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:1965:13:1965:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | @@ -18453,8 +18571,10 @@ subpaths | Test.java:3052:20:3052:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3052:9:3052:23 | getElement(...) | | Test.java:3064:43:3064:58 | (...)... : String | Test.java:272:58:272:62 | key : String | Test.java:272:160:272:160 | m : ArrayListValuedHashMap [] : String | Test.java:3064:24:3064:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | | Test.java:3066:28:3066:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:3066:9:3066:43 | getMapKeyFromEntry(...) | +| Test.java:3066:39:3066:41 | out : Collection [, ] : String | Test.java:230:19:230:32 | it : Collection [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:3066:28:3066:42 | getElement(...) : Entry [] : String | | Test.java:3071:45:3071:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3071:24:3071:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | | Test.java:3073:30:3073:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:3073:9:3073:45 | getMapValueFromEntry(...) | +| Test.java:3073:41:3073:43 | out : Collection [, ] : String | Test.java:230:19:230:32 | it : Collection [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:3073:30:3073:44 | getElement(...) : Entry [] : String | | Test.java:3078:45:3078:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3078:24:3078:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | | Test.java:3080:20:3080:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3080:9:3080:23 | getElement(...) | | Test.java:3085:45:3085:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3085:24:3085:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | @@ -18480,6 +18600,7 @@ subpaths | Test.java:3155:41:3155:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3155:18:3155:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | | Test.java:3155:41:3155:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3155:18:3155:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | | Test.java:3157:20:3157:34 | getElement(...) : Entry [] : String | Test.java:235:19:235:45 | container : Entry [] : String | Test.java:235:57:235:78 | getElement(...) : String | Test.java:3157:9:3157:35 | getElement(...) | +| Test.java:3157:31:3157:33 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:3157:20:3157:34 | getElement(...) : Entry [] : String | | Test.java:3162:41:3162:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3162:18:3162:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | | Test.java:3162:41:3162:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3162:18:3162:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | | Test.java:3164:20:3164:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3164:9:3164:23 | getElement(...) | @@ -18801,12 +18922,14 @@ subpaths | Test.java:4165:20:4165:22 | out : MyAbstractCollectionDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractCollectionDecorator [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4165:9:4165:23 | getElement(...) | | Test.java:4173:20:4173:22 | out : CompositeCollection [] : Object | Test.java:230:19:230:32 | it : CompositeCollection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:4173:9:4173:23 | getElement(...) | | Test.java:4181:20:4181:34 | getElement(...) : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:4181:9:4181:35 | getElement(...) | +| Test.java:4181:31:4181:33 | out : List [, ] : Object | Test.java:230:19:230:32 | it : List [, ] : Object | Test.java:230:44:230:63 | next(...) : Object [] : Object | Test.java:4181:20:4181:34 | getElement(...) : Collection [] : Object | | Test.java:4186:42:4186:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4186:20:4186:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4186:42:4186:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4186:20:4186:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4189:20:4189:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4189:9:4189:23 | getElement(...) | | Test.java:4194:42:4194:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4194:20:4194:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4194:42:4194:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4194:20:4194:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4197:20:4197:34 | getElement(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4197:9:4197:35 | getElement(...) | +| Test.java:4197:31:4197:33 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:4197:20:4197:34 | getElement(...) : Collection [] : String | | Test.java:4202:42:4202:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4202:20:4202:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4202:42:4202:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4202:20:4202:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4204:20:4204:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4204:9:4204:23 | getElement(...) | @@ -18834,6 +18957,7 @@ subpaths | Test.java:4258:75:4258:90 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4258:53:4258:91 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4258:75:4258:90 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4258:53:4258:91 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4260:20:4260:34 | getElement(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4260:9:4260:35 | getElement(...) | +| Test.java:4260:31:4260:33 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:4260:20:4260:34 | getElement(...) : Collection [] : String | | Test.java:4265:75:4265:90 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4265:53:4265:91 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4265:75:4265:90 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4265:53:4265:91 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4267:20:4267:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4267:9:4267:23 | getElement(...) | @@ -18976,6 +19100,7 @@ subpaths | Test.java:4657:20:4657:22 | out : CollatingIterator [] : String | Test.java:231:19:231:32 | it : CollatingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4657:9:4657:23 | getElement(...) | | Test.java:4662:102:4662:117 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4662:75:4662:118 | newListIteratorWithElement(...) : ListIterator [] : String | | Test.java:4664:20:4664:34 | getElement(...) : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4664:9:4664:35 | getElement(...) | +| Test.java:4664:31:4664:33 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:4664:20:4664:34 | getElement(...) : Iterator [] : String | | Test.java:4669:45:4669:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4669:18:4669:61 | newListIteratorWithElement(...) : ListIterator [] : String | | Test.java:4671:20:4671:22 | out : CollatingIterator [] : String | Test.java:231:19:231:32 | it : CollatingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4671:9:4671:23 | getElement(...) | | Test.java:4676:47:4676:62 | (...)... : String | Test.java:256:47:256:55 | element : String | Test.java:256:67:256:134 | new IteratorEnumeration(...) : IteratorEnumeration [] : String | Test.java:4676:21:4676:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | @@ -19046,6 +19171,7 @@ subpaths | Test.java:4928:45:4928:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4928:18:4928:61 | newListIteratorWithElement(...) : ListIterator [] : String | | Test.java:4930:20:4930:22 | out : PeekingIterator [] : String | Test.java:231:19:231:32 | it : PeekingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4930:9:4930:23 | getElement(...) | | Test.java:4937:20:4937:34 | getElement(...) : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4937:9:4937:35 | getElement(...) | +| Test.java:4937:31:4937:33 | out : PermutationIterator [, ] : String | Test.java:231:19:231:32 | it : PermutationIterator [, ] : String | Test.java:231:44:231:52 | next(...) : Object [] : String | Test.java:4937:20:4937:34 | getElement(...) : List [] : String | | Test.java:4942:45:4942:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4942:18:4942:61 | newListIteratorWithElement(...) : ListIterator [] : String | | Test.java:4944:20:4944:22 | out : PushbackIterator [] : String | Test.java:231:19:231:32 | it : PushbackIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4944:9:4944:23 | getElement(...) | | Test.java:4951:20:4951:22 | out : PushbackIterator [] : Object | Test.java:231:19:231:32 | it : PushbackIterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | Test.java:4951:9:4951:23 | getElement(...) | @@ -19250,22 +19376,36 @@ subpaths | Test.java:5973:40:5973:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:5973:21:5973:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | | Test.java:5980:40:5980:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:5980:21:5980:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | | Test.java:5989:20:5989:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:5989:9:5989:34 | getElement(...) | +| Test.java:5989:30:5989:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | Test.java:228:41:228:70 | next(...) : Object [] : String | Test.java:5989:20:5989:33 | getMapKey(...) : MultiKey [] : String | | Test.java:5996:20:5996:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:5996:9:5996:34 | getElement(...) | +| Test.java:5996:30:5996:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | Test.java:228:41:228:70 | next(...) : Object [] : String | Test.java:5996:20:5996:33 | getMapKey(...) : MultiKey [] : String | | Test.java:6003:21:6003:23 | out : MultiKeyMap [] : String | Test.java:232:20:232:31 | map : MultiKeyMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6003:9:6003:24 | getMapValue(...) | | Test.java:6010:20:6010:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6010:9:6010:34 | getElement(...) | +| Test.java:6010:30:6010:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | Test.java:228:41:228:70 | next(...) : Object [] : String | Test.java:6010:20:6010:33 | getMapKey(...) : MultiKey [] : String | | Test.java:6017:20:6017:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6017:9:6017:34 | getElement(...) | +| Test.java:6017:30:6017:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | Test.java:228:41:228:70 | next(...) : Object [] : String | Test.java:6017:20:6017:33 | getMapKey(...) : MultiKey [] : String | | Test.java:6024:20:6024:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6024:9:6024:34 | getElement(...) | +| Test.java:6024:30:6024:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | Test.java:228:41:228:70 | next(...) : Object [] : String | Test.java:6024:20:6024:33 | getMapKey(...) : MultiKey [] : String | | Test.java:6031:21:6031:23 | out : MultiKeyMap [] : String | Test.java:232:20:232:31 | map : MultiKeyMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6031:9:6031:24 | getMapValue(...) | | Test.java:6038:20:6038:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6038:9:6038:34 | getElement(...) | +| Test.java:6038:30:6038:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | Test.java:228:41:228:70 | next(...) : Object [] : String | Test.java:6038:20:6038:33 | getMapKey(...) : MultiKey [] : String | | Test.java:6045:20:6045:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6045:9:6045:34 | getElement(...) | +| Test.java:6045:30:6045:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | Test.java:228:41:228:70 | next(...) : Object [] : String | Test.java:6045:20:6045:33 | getMapKey(...) : MultiKey [] : String | | Test.java:6052:20:6052:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6052:9:6052:34 | getElement(...) | +| Test.java:6052:30:6052:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | Test.java:228:41:228:70 | next(...) : Object [] : String | Test.java:6052:20:6052:33 | getMapKey(...) : MultiKey [] : String | | Test.java:6059:20:6059:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6059:9:6059:34 | getElement(...) | +| Test.java:6059:30:6059:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | Test.java:228:41:228:70 | next(...) : Object [] : String | Test.java:6059:20:6059:33 | getMapKey(...) : MultiKey [] : String | | Test.java:6066:21:6066:23 | out : MultiKeyMap [] : String | Test.java:232:20:232:31 | map : MultiKeyMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6066:9:6066:24 | getMapValue(...) | | Test.java:6073:20:6073:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6073:9:6073:34 | getElement(...) | +| Test.java:6073:30:6073:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | Test.java:228:41:228:70 | next(...) : Object [] : String | Test.java:6073:20:6073:33 | getMapKey(...) : MultiKey [] : String | | Test.java:6080:20:6080:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6080:9:6080:34 | getElement(...) | +| Test.java:6080:30:6080:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | Test.java:228:41:228:70 | next(...) : Object [] : String | Test.java:6080:20:6080:33 | getMapKey(...) : MultiKey [] : String | | Test.java:6087:20:6087:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6087:9:6087:34 | getElement(...) | +| Test.java:6087:30:6087:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | Test.java:228:41:228:70 | next(...) : Object [] : String | Test.java:6087:20:6087:33 | getMapKey(...) : MultiKey [] : String | | Test.java:6094:20:6094:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6094:9:6094:34 | getElement(...) | +| Test.java:6094:30:6094:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | Test.java:228:41:228:70 | next(...) : Object [] : String | Test.java:6094:20:6094:33 | getMapKey(...) : MultiKey [] : String | | Test.java:6101:20:6101:33 | getMapKey(...) : MultiKey [] : String | Test.java:236:19:236:39 | container : MultiKey [] : String | Test.java:236:51:236:69 | getKey(...) : String | Test.java:6101:9:6101:34 | getElement(...) | +| Test.java:6101:30:6101:32 | out : MultiKeyMap [, ] : String | Test.java:228:18:228:29 | map : MultiKeyMap [, ] : String | Test.java:228:41:228:70 | next(...) : Object [] : String | Test.java:6101:20:6101:33 | getMapKey(...) : MultiKey [] : String | | Test.java:6108:21:6108:23 | out : MultiKeyMap [] : String | Test.java:232:20:232:31 | map : MultiKeyMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6108:9:6108:24 | getMapValue(...) | | Test.java:6113:40:6113:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:6113:21:6113:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | | Test.java:6120:40:6120:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:6120:21:6120:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | @@ -19284,14 +19424,19 @@ subpaths | Test.java:6183:57:6183:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:6183:38:6183:73 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | | Test.java:6183:57:6183:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6183:38:6183:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:6183:57:6183:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6183:38:6183:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:6185:30:6185:44 | getElement(...) : Entry [] : Object | Test.java:244:29:244:52 | container : Entry [] : Object | Test.java:244:64:244:83 | getValue(...) : Object | Test.java:6185:9:6185:45 | getMapValueFromEntry(...) | | Test.java:6185:30:6185:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:6185:9:6185:45 | getMapValueFromEntry(...) | +| Test.java:6185:41:6185:43 | out : Iterator [, ] : Object | Test.java:231:19:231:32 | it : Iterator [, ] : Object | Test.java:231:44:231:52 | next(...) : Object [] : Object | Test.java:6185:30:6185:44 | getElement(...) : Entry [] : Object | +| Test.java:6185:41:6185:43 | out : Iterator [, ] : String | Test.java:231:19:231:32 | it : Iterator [, ] : String | Test.java:231:44:231:52 | next(...) : Object [] : String | Test.java:6185:30:6185:44 | getElement(...) : Entry [] : String | | Test.java:6190:55:6190:70 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:6190:38:6190:71 | newMVMWithMapKey(...) : MultiValueMap [] : String | | Test.java:6190:55:6190:70 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:6190:38:6190:71 | newMVMWithMapKey(...) : MultiValueMap [] : String | | Test.java:6190:55:6190:70 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:6190:38:6190:71 | newMVMWithMapKey(...) : MultiValueMap [] : String | | Test.java:6192:28:6192:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:6192:9:6192:43 | getMapKeyFromEntry(...) | +| Test.java:6192:39:6192:41 | out : Iterator [, ] : String | Test.java:231:19:231:32 | it : Iterator [, ] : String | Test.java:231:44:231:52 | next(...) : Object [] : String | Test.java:6192:28:6192:42 | getElement(...) : Entry [] : String | | Test.java:6197:57:6197:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | | Test.java:6197:57:6197:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:6197:57:6197:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | +| Test.java:6199:20:6199:22 | out : Iterator [] : Object | Test.java:231:19:231:32 | it : Iterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | Test.java:6199:9:6199:23 | getElement(...) | | Test.java:6199:20:6199:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:6199:9:6199:23 | getElement(...) | | Test.java:6204:47:6204:62 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:6204:26:6204:63 | newVectorWithElement(...) : Vector [] : String | | Test.java:6206:20:6206:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6206:9:6206:48 | getElement(...) | @@ -19362,9 +19507,11 @@ subpaths | Test.java:6456:68:6456:101 | newTMEWithMapKey(...) : TiedMapEntry [] : String | Test.java:260:53:260:61 | element : TiedMapEntry [] : String | Test.java:260:135:260:135 | x : ListOrderedSet [, ] : String | Test.java:6456:39:6456:102 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | | Test.java:6456:85:6456:100 | (...)... : String | Test.java:286:46:286:50 | key : String | Test.java:286:62:286:116 | new TiedMapEntry(...) : TiedMapEntry [] : String | Test.java:6456:68:6456:101 | newTMEWithMapKey(...) : TiedMapEntry [] : String | | Test.java:6458:28:6458:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:6458:9:6458:43 | getMapKeyFromEntry(...) | +| Test.java:6458:39:6458:41 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:6458:28:6458:42 | getElement(...) : Entry [] : String | | Test.java:6463:68:6463:103 | newTMEWithMapValue(...) : TiedMapEntry [] : String | Test.java:260:53:260:61 | element : TiedMapEntry [] : String | Test.java:260:135:260:135 | x : ListOrderedSet [, ] : String | Test.java:6463:39:6463:104 | newListOrderedSetWithElement(...) : ListOrderedSet [, ] : String | | Test.java:6463:87:6463:102 | (...)... : String | Test.java:305:48:305:54 | value : String | Test.java:305:66:305:127 | new TiedMapEntry(...) : TiedMapEntry [] : String | Test.java:6463:68:6463:103 | newTMEWithMapValue(...) : TiedMapEntry [] : String | | Test.java:6465:30:6465:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:6465:9:6465:45 | getMapValueFromEntry(...) | +| Test.java:6465:41:6465:43 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:6465:30:6465:44 | getElement(...) : Entry [] : String | | Test.java:6472:19:6472:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6472:9:6472:22 | getMapKey(...) | | Test.java:6479:21:6479:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6479:9:6479:24 | getMapValue(...) | | Test.java:6484:48:6484:63 | (...)... : String | Test.java:277:59:277:63 | key : String | Test.java:277:75:277:132 | listOrderedMap(...) : ListOrderedMap [] : String | Test.java:6484:20:6484:64 | newListOrderedMapWithMapKey(...) : ListOrderedMap [] : String | @@ -19436,12 +19583,14 @@ subpaths | Test.java:6746:20:6746:22 | out : MyAbstractSortedSetDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractSortedSetDecorator [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6746:9:6746:23 | getElement(...) | | Test.java:6754:20:6754:22 | out : CompositeSet [] : Object | Test.java:230:19:230:32 | it : CompositeSet [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:6754:9:6754:23 | getElement(...) | | Test.java:6762:20:6762:34 | getElement(...) : Set [] : Object | Test.java:230:19:230:32 | it : Set [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:6762:9:6762:35 | getElement(...) | +| Test.java:6762:31:6762:33 | out : List [, ] : Object | Test.java:230:19:230:32 | it : List [, ] : Object | Test.java:230:44:230:63 | next(...) : Object [] : Object | Test.java:6762:20:6762:34 | getElement(...) : Set [] : Object | | Test.java:6767:42:6767:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6767:20:6767:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:6767:42:6767:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6767:20:6767:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:6770:20:6770:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6770:9:6770:23 | getElement(...) | | Test.java:6775:42:6775:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6775:20:6775:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:6775:42:6775:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6775:20:6775:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:6778:20:6778:34 | getElement(...) : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6778:9:6778:35 | getElement(...) | +| Test.java:6778:31:6778:33 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:6778:20:6778:34 | getElement(...) : Set [] : String | | Test.java:6783:42:6783:57 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:6783:13:6783:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | | Test.java:6785:20:6785:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6785:9:6785:23 | getElement(...) | | Test.java:6790:54:6790:69 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:6790:25:6790:70 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | @@ -19456,6 +19605,7 @@ subpaths | Test.java:6820:20:6820:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6820:9:6820:23 | getElement(...) | | Test.java:6825:57:6825:72 | (...)... : String | Test.java:254:49:254:57 | element : String | Test.java:254:69:254:126 | new CompositeSet(...) : CompositeSet [] : String | Test.java:6825:30:6825:73 | newCompositeSetWithElement(...) : CompositeSet [] : String | | Test.java:6827:20:6827:34 | getElement(...) : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6827:9:6827:35 | getElement(...) | +| Test.java:6827:31:6827:33 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:6827:20:6827:34 | getElement(...) : Set [] : String | | Test.java:6832:49:6832:64 | (...)... : String | Test.java:254:49:254:57 | element : String | Test.java:254:69:254:126 | new CompositeSet(...) : CompositeSet [] : String | Test.java:6832:22:6832:65 | newCompositeSetWithElement(...) : CompositeSet [] : String | | Test.java:6834:20:6834:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6834:9:6834:23 | getElement(...) | | Test.java:6841:20:6841:22 | out : ListOrderedSet [] : Object | Test.java:230:19:230:32 | it : ListOrderedSet [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:6841:9:6841:23 | getElement(...) | diff --git a/java/ql/test/library-tests/frameworks/gson/test.expected b/java/ql/test/library-tests/frameworks/gson/test.expected index 9b40c17335b..374d45f1603 100644 --- a/java/ql/test/library-tests/frameworks/gson/test.expected +++ b/java/ql/test/library-tests/frameworks/gson/test.expected @@ -54,13 +54,22 @@ edges | Test.java:21:41:21:52 | keySet(...) : Set [] : String | Test.java:21:41:21:63 | iterator(...) : Iterator [] : String | provenance | MaD:44 | | Test.java:21:41:21:63 | iterator(...) : Iterator [] : String | Test.java:21:41:21:70 | next(...) : String | provenance | MaD:45 | | Test.java:22:19:22:32 | it : JsonArray [] : JsonElement | Test.java:22:44:22:45 | it : JsonArray [] : JsonElement | provenance | | +| Test.java:22:19:22:32 | it : JsonArray [] : Object | Test.java:22:44:22:45 | it : JsonArray [] : Object | provenance | | | Test.java:22:19:22:32 | it : List [] : JsonElement | Test.java:22:44:22:45 | it : List [] : JsonElement | provenance | | +| Test.java:22:19:22:32 | it : Set [, ] : String | Test.java:22:44:22:45 | it : Set [, ] : String | provenance | | +| Test.java:22:19:22:32 | it : Set [, ] : JsonElement | Test.java:22:44:22:45 | it : Set [, ] : JsonElement | provenance | | | Test.java:22:19:22:32 | it : Set [] : String | Test.java:22:44:22:45 | it : Set [] : String | provenance | | | Test.java:22:44:22:45 | it : JsonArray [] : JsonElement | Test.java:22:44:22:56 | iterator(...) : Iterator [] : JsonElement | provenance | MaD:44 | +| Test.java:22:44:22:45 | it : JsonArray [] : Object | Test.java:22:44:22:56 | iterator(...) : Iterator [] : Object | provenance | MaD:44 | | Test.java:22:44:22:45 | it : List [] : JsonElement | Test.java:22:44:22:56 | iterator(...) : Iterator [] : JsonElement | provenance | MaD:44 | +| Test.java:22:44:22:45 | it : Set [, ] : String | Test.java:22:44:22:56 | iterator(...) : Iterator [, ] : String | provenance | MaD:44 | +| Test.java:22:44:22:45 | it : Set [, ] : JsonElement | Test.java:22:44:22:56 | iterator(...) : Iterator [, ] : JsonElement | provenance | MaD:44 | | Test.java:22:44:22:45 | it : Set [] : String | Test.java:22:44:22:56 | iterator(...) : Iterator [] : String | provenance | MaD:44 | +| Test.java:22:44:22:56 | iterator(...) : Iterator [, ] : String | Test.java:22:44:22:63 | next(...) : Object [] : String | provenance | MaD:45 | +| Test.java:22:44:22:56 | iterator(...) : Iterator [, ] : JsonElement | Test.java:22:44:22:63 | next(...) : Object [] : JsonElement | provenance | MaD:45 | | Test.java:22:44:22:56 | iterator(...) : Iterator [] : JsonElement | Test.java:22:44:22:63 | next(...) : JsonElement | provenance | MaD:45 | | Test.java:22:44:22:56 | iterator(...) : Iterator [] : JsonElement | Test.java:22:44:22:63 | next(...) : JsonElement | provenance | MaD:45 | +| Test.java:22:44:22:56 | iterator(...) : Iterator [] : Object | Test.java:22:44:22:63 | next(...) : Object | provenance | MaD:45 | | Test.java:22:44:22:56 | iterator(...) : Iterator [] : String | Test.java:22:44:22:63 | next(...) : String | provenance | MaD:45 | | Test.java:23:20:23:31 | map : Map [] : JsonElement | Test.java:23:43:23:45 | map : Map [] : JsonElement | provenance | | | Test.java:23:43:23:45 | map : Map [] : JsonElement | Test.java:23:43:23:55 | get(...) : JsonElement | provenance | MaD:46 | @@ -189,11 +198,13 @@ edges | Test.java:237:26:237:33 | source(...) : Object | Test.java:237:17:237:33 | (...)... : Boolean | provenance | | | Test.java:238:4:238:6 | out [post update] : JsonArray [] : Object | Test.java:239:20:239:22 | out : JsonArray [] : Object | provenance | | | Test.java:238:12:238:13 | in : Boolean | Test.java:238:4:238:6 | out [post update] : JsonArray [] : Object | provenance | MaD:23 | +| Test.java:239:20:239:22 | out : JsonArray [] : Object | Test.java:22:19:22:32 | it : JsonArray [] : Object | provenance | | | Test.java:239:20:239:22 | out : JsonArray [] : Object | Test.java:239:9:239:23 | getElement(...) | provenance | MaD:44 | | Test.java:244:19:244:37 | (...)... : Number | Test.java:245:12:245:13 | in : Number | provenance | | | Test.java:244:30:244:37 | source(...) : Object | Test.java:244:19:244:37 | (...)... : Number | provenance | | | Test.java:245:4:245:6 | out [post update] : JsonArray [] : Object | Test.java:246:20:246:22 | out : JsonArray [] : Object | provenance | | | Test.java:245:12:245:13 | in : Number | Test.java:245:4:245:6 | out [post update] : JsonArray [] : Object | provenance | MaD:24 | +| Test.java:246:20:246:22 | out : JsonArray [] : Object | Test.java:22:19:22:32 | it : JsonArray [] : Object | provenance | | | Test.java:246:20:246:22 | out : JsonArray [] : Object | Test.java:246:9:246:23 | getElement(...) | provenance | MaD:44 | | Test.java:251:21:251:41 | (...)... : JsonElement | Test.java:252:12:252:13 | in : JsonElement | provenance | | | Test.java:251:34:251:41 | source(...) : Object | Test.java:251:21:251:41 | (...)... : JsonElement | provenance | | @@ -205,11 +216,13 @@ edges | Test.java:258:24:258:31 | source(...) : Object | Test.java:258:16:258:31 | (...)... : Number | provenance | | | Test.java:259:4:259:6 | out [post update] : JsonArray [] : Object | Test.java:260:20:260:22 | out : JsonArray [] : Object | provenance | | | Test.java:259:12:259:13 | in : Number | Test.java:259:4:259:6 | out [post update] : JsonArray [] : Object | provenance | MaD:26 | +| Test.java:260:20:260:22 | out : JsonArray [] : Object | Test.java:22:19:22:32 | it : JsonArray [] : Object | provenance | | | Test.java:260:20:260:22 | out : JsonArray [] : Object | Test.java:260:9:260:23 | getElement(...) | provenance | MaD:44 | | Test.java:265:16:265:31 | (...)... : String | Test.java:266:12:266:13 | in : String | provenance | | | Test.java:265:24:265:31 | source(...) : Object | Test.java:265:16:265:31 | (...)... : String | provenance | | | Test.java:266:4:266:6 | out [post update] : JsonArray [] : Object | Test.java:267:20:267:22 | out : JsonArray [] : Object | provenance | | | Test.java:266:12:266:13 | in : String | Test.java:266:4:266:6 | out [post update] : JsonArray [] : Object | provenance | MaD:27 | +| Test.java:267:20:267:22 | out : JsonArray [] : Object | Test.java:22:19:22:32 | it : JsonArray [] : Object | provenance | | | Test.java:267:20:267:22 | out : JsonArray [] : Object | Test.java:267:9:267:23 | getElement(...) | provenance | MaD:44 | | Test.java:272:19:272:63 | newWithElementDefault(...) : JsonArray [] : JsonElement | Test.java:273:15:273:16 | in : JsonArray [] : JsonElement | provenance | | | Test.java:272:41:272:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | provenance | | @@ -339,6 +352,7 @@ edges | Test.java:434:10:434:22 | entrySet(...) : Set [, ] : String | Test.java:435:37:435:39 | out : Set [, ] : String | provenance | | | Test.java:435:26:435:40 | getElement(...) : Entry [] : String | Test.java:25:25:25:48 | container : Entry [] : String | provenance | | | Test.java:435:26:435:40 | getElement(...) : Entry [] : String | Test.java:435:9:435:41 | getMapKeyDefault(...) | provenance | MaD:48 | +| Test.java:435:37:435:39 | out : Set [, ] : String | Test.java:22:19:22:32 | it : Set [, ] : String | provenance | | | Test.java:435:37:435:39 | out : Set [, ] : String | Test.java:435:26:435:40 | getElement(...) : Entry [] : String | provenance | MaD:44 | | Test.java:440:20:440:65 | newWithMapValueDefault(...) : JsonObject [] : JsonElement | Test.java:441:10:441:11 | in : JsonObject [] : JsonElement | provenance | | | Test.java:440:43:440:64 | (...)... : JsonElement | Test.java:30:36:30:54 | element : JsonElement | provenance | | @@ -348,6 +362,7 @@ edges | Test.java:441:10:441:22 | entrySet(...) : Set [, ] : JsonElement | Test.java:442:39:442:41 | out : Set [, ] : JsonElement | provenance | | | Test.java:442:28:442:42 | getElement(...) : Entry [] : JsonElement | Test.java:27:28:27:51 | container : Entry [] : JsonElement | provenance | | | Test.java:442:28:442:42 | getElement(...) : Entry [] : JsonElement | Test.java:442:9:442:43 | getMapValueDefault(...) | provenance | MaD:49 | +| Test.java:442:39:442:41 | out : Set [, ] : JsonElement | Test.java:22:19:22:32 | it : Set [, ] : JsonElement | provenance | | | Test.java:442:39:442:41 | out : Set [, ] : JsonElement | Test.java:442:28:442:42 | getElement(...) : Entry [] : JsonElement | provenance | MaD:44 | | Test.java:447:20:447:65 | newWithMapValueDefault(...) : JsonObject [] : JsonElement | Test.java:448:10:448:11 | in : JsonObject [] : JsonElement | provenance | | | Test.java:447:43:447:64 | (...)... : JsonElement | Test.java:30:36:30:54 | element : JsonElement | provenance | | @@ -378,16 +393,28 @@ nodes | Test.java:21:41:21:63 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | | Test.java:21:41:21:70 | next(...) : String | semmle.label | next(...) : String | | Test.java:22:19:22:32 | it : JsonArray [] : JsonElement | semmle.label | it : JsonArray [] : JsonElement | +| Test.java:22:19:22:32 | it : JsonArray [] : Object | semmle.label | it : JsonArray [] : Object | | Test.java:22:19:22:32 | it : List [] : JsonElement | semmle.label | it : List [] : JsonElement | +| Test.java:22:19:22:32 | it : Set [, ] : String | semmle.label | it : Set [, ] : String | +| Test.java:22:19:22:32 | it : Set [, ] : JsonElement | semmle.label | it : Set [, ] : JsonElement | | Test.java:22:19:22:32 | it : Set [] : String | semmle.label | it : Set [] : String | | Test.java:22:44:22:45 | it : JsonArray [] : JsonElement | semmle.label | it : JsonArray [] : JsonElement | +| Test.java:22:44:22:45 | it : JsonArray [] : Object | semmle.label | it : JsonArray [] : Object | | Test.java:22:44:22:45 | it : List [] : JsonElement | semmle.label | it : List [] : JsonElement | +| Test.java:22:44:22:45 | it : Set [, ] : String | semmle.label | it : Set [, ] : String | +| Test.java:22:44:22:45 | it : Set [, ] : JsonElement | semmle.label | it : Set [, ] : JsonElement | | Test.java:22:44:22:45 | it : Set [] : String | semmle.label | it : Set [] : String | +| Test.java:22:44:22:56 | iterator(...) : Iterator [, ] : String | semmle.label | iterator(...) : Iterator [, ] : String | +| Test.java:22:44:22:56 | iterator(...) : Iterator [, ] : JsonElement | semmle.label | iterator(...) : Iterator [, ] : JsonElement | | Test.java:22:44:22:56 | iterator(...) : Iterator [] : JsonElement | semmle.label | iterator(...) : Iterator [] : JsonElement | | Test.java:22:44:22:56 | iterator(...) : Iterator [] : JsonElement | semmle.label | iterator(...) : Iterator [] : JsonElement | +| Test.java:22:44:22:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | | Test.java:22:44:22:56 | iterator(...) : Iterator [] : String | semmle.label | iterator(...) : Iterator [] : String | | Test.java:22:44:22:63 | next(...) : JsonElement | semmle.label | next(...) : JsonElement | | Test.java:22:44:22:63 | next(...) : JsonElement | semmle.label | next(...) : JsonElement | +| Test.java:22:44:22:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:22:44:22:63 | next(...) : Object [] : String | semmle.label | next(...) : Object [] : String | +| Test.java:22:44:22:63 | next(...) : Object [] : JsonElement | semmle.label | next(...) : Object [] : JsonElement | | Test.java:22:44:22:63 | next(...) : String | semmle.label | next(...) : String | | Test.java:23:20:23:31 | map : Map [] : JsonElement | semmle.label | map : Map [] : JsonElement | | Test.java:23:43:23:45 | map : Map [] : JsonElement | semmle.label | map : Map [] : JsonElement | @@ -745,7 +772,11 @@ nodes | Test.java:469:28:469:29 | in : String | semmle.label | in : String | | Test.java:470:9:470:11 | out | semmle.label | out | subpaths +| Test.java:239:20:239:22 | out : JsonArray [] : Object | Test.java:22:19:22:32 | it : JsonArray [] : Object | Test.java:22:44:22:63 | next(...) : Object | Test.java:239:9:239:23 | getElement(...) | +| Test.java:246:20:246:22 | out : JsonArray [] : Object | Test.java:22:19:22:32 | it : JsonArray [] : Object | Test.java:22:44:22:63 | next(...) : Object | Test.java:246:9:246:23 | getElement(...) | | Test.java:253:20:253:22 | out : JsonArray [] : JsonElement | Test.java:22:19:22:32 | it : JsonArray [] : JsonElement | Test.java:22:44:22:63 | next(...) : JsonElement | Test.java:253:9:253:23 | getElement(...) | +| Test.java:260:20:260:22 | out : JsonArray [] : Object | Test.java:22:19:22:32 | it : JsonArray [] : Object | Test.java:22:44:22:63 | next(...) : Object | Test.java:260:9:260:23 | getElement(...) | +| Test.java:267:20:267:22 | out : JsonArray [] : Object | Test.java:22:19:22:32 | it : JsonArray [] : Object | Test.java:22:44:22:63 | next(...) : Object | Test.java:267:9:267:23 | getElement(...) | | Test.java:272:41:272:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | Test.java:28:111:28:111 | a : JsonArray [] : JsonElement | Test.java:272:19:272:63 | newWithElementDefault(...) : JsonArray [] : JsonElement | | Test.java:274:20:274:22 | out : JsonArray [] : JsonElement | Test.java:22:19:22:32 | it : JsonArray [] : JsonElement | Test.java:22:44:22:63 | next(...) : JsonElement | Test.java:274:9:274:23 | getElement(...) | | Test.java:279:41:279:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | Test.java:28:111:28:111 | a : JsonArray [] : JsonElement | Test.java:279:19:279:63 | newWithElementDefault(...) : JsonArray [] : JsonElement | @@ -762,8 +793,10 @@ subpaths | Test.java:428:21:428:23 | out : Map [] : JsonElement | Test.java:23:20:23:31 | map : Map [] : JsonElement | Test.java:23:43:23:55 | get(...) : JsonElement | Test.java:428:9:428:24 | getMapValue(...) | | Test.java:433:41:433:57 | (...)... : String | Test.java:29:34:29:43 | key : String | Test.java:29:120:29:120 | o : JsonObject [] : String | Test.java:433:20:433:58 | newWithMapKeyDefault(...) : JsonObject [] : String | | Test.java:435:26:435:40 | getElement(...) : Entry [] : String | Test.java:25:25:25:48 | container : Entry [] : String | Test.java:25:60:25:77 | getKey(...) : String | Test.java:435:9:435:41 | getMapKeyDefault(...) | +| Test.java:435:37:435:39 | out : Set [, ] : String | Test.java:22:19:22:32 | it : Set [, ] : String | Test.java:22:44:22:63 | next(...) : Object [] : String | Test.java:435:26:435:40 | getElement(...) : Entry [] : String | | Test.java:440:43:440:64 | (...)... : JsonElement | Test.java:30:36:30:54 | element : JsonElement | Test.java:30:121:30:121 | o : JsonObject [] : JsonElement | Test.java:440:20:440:65 | newWithMapValueDefault(...) : JsonObject [] : JsonElement | | Test.java:442:28:442:42 | getElement(...) : Entry [] : JsonElement | Test.java:27:28:27:51 | container : Entry [] : JsonElement | Test.java:27:63:27:82 | getValue(...) : JsonElement | Test.java:442:9:442:43 | getMapValueDefault(...) | +| Test.java:442:39:442:41 | out : Set [, ] : JsonElement | Test.java:22:19:22:32 | it : Set [, ] : JsonElement | Test.java:22:44:22:63 | next(...) : Object [] : JsonElement | Test.java:442:28:442:42 | getElement(...) : Entry [] : JsonElement | | Test.java:447:43:447:64 | (...)... : JsonElement | Test.java:30:36:30:54 | element : JsonElement | Test.java:30:121:30:121 | o : JsonObject [] : JsonElement | Test.java:447:20:447:65 | newWithMapValueDefault(...) : JsonObject [] : JsonElement | | Test.java:454:41:454:57 | (...)... : String | Test.java:29:34:29:43 | key : String | Test.java:29:120:29:120 | o : JsonObject [] : String | Test.java:454:20:454:58 | newWithMapKeyDefault(...) : JsonObject [] : String | | Test.java:456:20:456:22 | out : Set [] : String | Test.java:22:19:22:32 | it : Set [] : String | Test.java:22:44:22:63 | next(...) : String | Test.java:456:9:456:23 | getElement(...) | diff --git a/java/ql/test/library-tests/frameworks/guava/generated/collect/test.expected b/java/ql/test/library-tests/frameworks/guava/generated/collect/test.expected index 3559272b382..cf50ddca138 100644 --- a/java/ql/test/library-tests/frameworks/guava/generated/collect/test.expected +++ b/java/ql/test/library-tests/frameworks/guava/generated/collect/test.expected @@ -754,8 +754,11 @@ edges | Test.java:102:87:102:123 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | provenance | MaD:503 | | Test.java:102:87:102:123 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | provenance | MaD:504 | | Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, ] : Object | Test.java:102:76:102:134 | getElement(...) : Cell [] : Object | provenance | MaD:555 | +| Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, ] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | provenance | | | Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | Test.java:102:76:102:134 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:555 | +| Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | provenance | | | Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | Test.java:102:76:102:134 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:555 | +| Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | provenance | | | Test.java:102:105:102:107 | row : Object | Test.java:102:87:102:123 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:196 | | Test.java:102:110:102:115 | column : Object | Test.java:102:87:102:123 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:197 | | Test.java:102:118:102:122 | value : Object | Test.java:102:87:102:123 | of(...) : ImmutableTable [] : Object | provenance | MaD:198 | @@ -799,6 +802,7 @@ edges | Test.java:106:44:106:47 | el : Object | Test.java:106:91:106:92 | el : Object | provenance | | | Test.java:106:70:106:93 | of(...) : ImmutableMultiset [] : Object | Test.java:106:70:106:104 | entrySet(...) : ImmutableSet [, ] : Object | provenance | MaD:447 | | Test.java:106:70:106:104 | entrySet(...) : ImmutableSet [, ] : Object | Test.java:106:59:106:105 | getElement(...) : Entry [] : Object | provenance | MaD:555 | +| Test.java:106:70:106:104 | entrySet(...) : ImmutableSet [, ] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | provenance | | | Test.java:106:91:106:92 | el : Object | Test.java:106:70:106:93 | of(...) : ImmutableMultiset [] : Object | provenance | MaD:134 | | Test.java:107:24:107:32 | array : Object[] [[]] : Object | Test.java:107:44:107:48 | array : Object[] [[]] : Object | provenance | | | Test.java:107:44:107:48 | array : Object[] [[]] : Object | Test.java:107:44:107:51 | ...[...] : Object | provenance | | @@ -830,6 +834,9 @@ edges | Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | provenance | | | Test.java:110:19:110:32 | it : ArrayDeque [] : Object | Test.java:110:44:110:45 | it : ArrayDeque [] : Object | provenance | | | Test.java:110:19:110:32 | it : ArrayList [] : Object | Test.java:110:44:110:45 | it : ArrayList [] : Object | provenance | | +| Test.java:110:19:110:32 | it : Collection [, ] : Object | Test.java:110:44:110:45 | it : Collection [, ] : Object | provenance | | +| Test.java:110:19:110:32 | it : Collection [, ] : Object | Test.java:110:44:110:45 | it : Collection [, ] : Object | provenance | | +| Test.java:110:19:110:32 | it : Collection [, ] : Object | Test.java:110:44:110:45 | it : Collection [, ] : Object | provenance | | | Test.java:110:19:110:32 | it : Collection [] : Comparable | Test.java:110:44:110:45 | it : Collection [] : Comparable | provenance | | | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:45 | it : Collection [] : Object | provenance | | | Test.java:110:19:110:32 | it : ConcurrentHashMultiset [] : Object | Test.java:110:44:110:45 | it : ConcurrentHashMultiset [] : Object | provenance | | @@ -839,26 +846,43 @@ edges | Test.java:110:19:110:32 | it : Deque [] : Object | Test.java:110:44:110:45 | it : Deque [] : Object | provenance | | | Test.java:110:19:110:32 | it : HashMultiset [] : Object | Test.java:110:44:110:45 | it : HashMultiset [] : Object | provenance | | | Test.java:110:19:110:32 | it : HashSet [] : Object | Test.java:110:44:110:45 | it : HashSet [] : Object | provenance | | +| Test.java:110:19:110:32 | it : ImmutableCollection [, ] : Object | Test.java:110:44:110:45 | it : ImmutableCollection [, ] : Object | provenance | | +| Test.java:110:19:110:32 | it : ImmutableCollection [, ] : Object | Test.java:110:44:110:45 | it : ImmutableCollection [, ] : Object | provenance | | | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | Test.java:110:44:110:45 | it : ImmutableCollection [] : Object | provenance | | | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:45 | it : ImmutableList [] : Object | provenance | | | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:45 | it : ImmutableMultiset [] : Object | provenance | | +| Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | Test.java:110:44:110:45 | it : ImmutableSet [, ] : Object | provenance | | +| Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | Test.java:110:44:110:45 | it : ImmutableSet [, ] : Object | provenance | | +| Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | Test.java:110:44:110:45 | it : ImmutableSet [, ] : Object | provenance | | +| Test.java:110:19:110:32 | it : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:44:110:45 | it : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:110:19:110:32 | it : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:44:110:45 | it : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | provenance | | | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:45 | it : ImmutableSet [] : Object | provenance | | | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:45 | it : ImmutableSortedMultiset [] : Comparable | provenance | | | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Object | Test.java:110:44:110:45 | it : ImmutableSortedMultiset [] : Object | provenance | | | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:45 | it : ImmutableSortedSet [] : Comparable | provenance | | | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | Test.java:110:44:110:45 | it : ImmutableSortedSet [] : Object | provenance | | +| Test.java:110:19:110:32 | it : Iterable [, ] : Object | Test.java:110:44:110:45 | it : Iterable [, ] : Object | provenance | | | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:45 | it : Iterable [] : Object | provenance | | | Test.java:110:19:110:32 | it : LinkedBlockingDeque [] : Object | Test.java:110:44:110:45 | it : LinkedBlockingDeque [] : Object | provenance | | | Test.java:110:19:110:32 | it : LinkedBlockingQueue [] : Object | Test.java:110:44:110:45 | it : LinkedBlockingQueue [] : Object | provenance | | | Test.java:110:19:110:32 | it : LinkedHashMultiset [] : Object | Test.java:110:44:110:45 | it : LinkedHashMultiset [] : Object | provenance | | | Test.java:110:19:110:32 | it : LinkedHashSet [] : Object | Test.java:110:44:110:45 | it : LinkedHashSet [] : Object | provenance | | | Test.java:110:19:110:32 | it : LinkedList [] : Object | Test.java:110:44:110:45 | it : LinkedList [] : Object | provenance | | +| Test.java:110:19:110:32 | it : List [, ] : Object | Test.java:110:44:110:45 | it : List [, ] : Object | provenance | | +| Test.java:110:19:110:32 | it : List [, ] : Object | Test.java:110:44:110:45 | it : List [, ] : Object | provenance | | +| Test.java:110:19:110:32 | it : List [, ] : Object | Test.java:110:44:110:45 | it : List [, ] : Object | provenance | | | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:45 | it : List [] : Object | provenance | | | Test.java:110:19:110:32 | it : Multiset [] : Object | Test.java:110:44:110:45 | it : Multiset [] : Object | provenance | | | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | Test.java:110:44:110:45 | it : NavigableSet [] : Comparable | provenance | | | Test.java:110:19:110:32 | it : PriorityBlockingQueue [] : Object | Test.java:110:44:110:45 | it : PriorityBlockingQueue [] : Object | provenance | | | Test.java:110:19:110:32 | it : PriorityQueue [] : Object | Test.java:110:44:110:45 | it : PriorityQueue [] : Object | provenance | | | Test.java:110:19:110:32 | it : Queue [] : Object | Test.java:110:44:110:45 | it : Queue [] : Object | provenance | | +| Test.java:110:19:110:32 | it : Set [, ] : Comparable | Test.java:110:44:110:45 | it : Set [, ] : Comparable | provenance | | +| Test.java:110:19:110:32 | it : Set [, ] : Object | Test.java:110:44:110:45 | it : Set [, ] : Object | provenance | | +| Test.java:110:19:110:32 | it : Set [, ] : Object | Test.java:110:44:110:45 | it : Set [, ] : Object | provenance | | +| Test.java:110:19:110:32 | it : Set [, ] : Object | Test.java:110:44:110:45 | it : Set [, ] : Object | provenance | | +| Test.java:110:19:110:32 | it : Set [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:44:110:45 | it : Set [, com.google.common.collect.Table.columnKey] : Object | provenance | | +| Test.java:110:19:110:32 | it : Set [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:44:110:45 | it : Set [, com.google.common.collect.Table.rowKey] : Object | provenance | | | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:45 | it : Set [] : Object | provenance | | | Test.java:110:19:110:32 | it : SetView [] : Object | Test.java:110:44:110:45 | it : SetView [] : Object | provenance | | | Test.java:110:19:110:32 | it : SortedMultiset [] : Comparable | Test.java:110:44:110:45 | it : SortedMultiset [] : Comparable | provenance | | @@ -868,6 +892,9 @@ edges | Test.java:110:19:110:32 | it : TreeSet [] : Object | Test.java:110:44:110:45 | it : TreeSet [] : Object | provenance | | | Test.java:110:44:110:45 | it : ArrayDeque [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : ArrayList [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : Collection [, ] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : Collection [, ] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : Collection [, ] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : Collection [] : Comparable | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | | Test.java:110:44:110:45 | it : Collection [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : ConcurrentHashMultiset [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | @@ -877,26 +904,43 @@ edges | Test.java:110:44:110:45 | it : Deque [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : HashMultiset [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : HashSet [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ImmutableCollection [, ] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ImmutableCollection [, ] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : ImmutableCollection [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : ImmutableList [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ImmutableSet [, ] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ImmutableSet [, ] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ImmutableSet [, ] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, com.google.common.collect.Table.columnKey] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, com.google.common.collect.Table.rowKey] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : ImmutableSet [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : ImmutableSortedMultiset [] : Comparable | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | | Test.java:110:44:110:45 | it : ImmutableSortedMultiset [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | | Test.java:110:44:110:45 | it : ImmutableSortedSet [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : Iterable [, ] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : Iterable [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : LinkedBlockingDeque [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : LinkedBlockingQueue [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : LinkedHashMultiset [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : LinkedHashSet [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : LinkedList [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : List [, ] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : List [, ] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : List [, ] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : List [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : Multiset [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : NavigableSet [] : Comparable | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | | Test.java:110:44:110:45 | it : PriorityBlockingQueue [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : PriorityQueue [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : Queue [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : Set [, ] : Comparable | Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Comparable | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : Set [, ] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : Set [, ] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : Set [, ] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : Set [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, com.google.common.collect.Table.columnKey] : Object | provenance | MaD:555 | +| Test.java:110:44:110:45 | it : Set [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [, com.google.common.collect.Table.rowKey] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : Set [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : SetView [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : SortedMultiset [] : Comparable | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | provenance | MaD:555 | @@ -904,6 +948,26 @@ edges | Test.java:110:44:110:45 | it : SortedSet [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : TreeMultiset [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | | Test.java:110:44:110:45 | it : TreeSet [] : Object | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Comparable | Test.java:110:44:110:63 | next(...) : Object [] : Comparable | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:44:110:63 | next(...) : Object [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:44:110:63 | next(...) : Object [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:44:110:63 | next(...) : Object [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:557 | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:44:110:63 | next(...) : Object [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:557 | | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | provenance | MaD:557 | | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | provenance | MaD:557 | | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | provenance | MaD:557 | @@ -944,9 +1008,11 @@ edges | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Object | Test.java:110:44:110:63 | next(...) : Object | provenance | MaD:557 | | Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:45 | it : Iterator [] : Object | provenance | | | Test.java:111:19:111:32 | it : PeekingIterator [] : Object | Test.java:111:44:111:45 | it : PeekingIterator [] : Object | provenance | | +| Test.java:111:19:111:32 | it : UnmodifiableIterator [, ] : Object | Test.java:111:44:111:45 | it : UnmodifiableIterator [, ] : Object | provenance | | | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | Test.java:111:44:111:45 | it : UnmodifiableIterator [] : Object | provenance | | | Test.java:111:44:111:45 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | provenance | MaD:557 | | Test.java:111:44:111:45 | it : PeekingIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | provenance | MaD:557 | +| Test.java:111:44:111:45 | it : UnmodifiableIterator [, ] : Object | Test.java:111:44:111:52 | next(...) : Object [] : Object | provenance | MaD:557 | | Test.java:111:44:111:45 | it : UnmodifiableIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | provenance | MaD:557 | | Test.java:112:19:112:31 | o : Optional [] : Object | Test.java:112:43:112:43 | o : Optional [] : Object | provenance | | | Test.java:112:43:112:43 | o : Optional [] : Object | Test.java:112:43:112:49 | get(...) : Object | provenance | MaD:1 | @@ -1000,12 +1066,26 @@ edges | Test.java:118:20:118:31 | map : HashMap [] : Object | Test.java:118:43:118:45 | map : HashMap [] : Object | provenance | | | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:45 | map : ImmutableBiMap [] : Object | provenance | | | Test.java:118:20:118:31 | map : ImmutableClassToInstanceMap [] : Object | Test.java:118:43:118:45 | map : ImmutableClassToInstanceMap [] : Object | provenance | | +| Test.java:118:20:118:31 | map : ImmutableMap [, ] : Object | Test.java:118:43:118:45 | map : ImmutableMap [, ] : Object | provenance | | +| Test.java:118:20:118:31 | map : ImmutableMap [, ] : Object | Test.java:118:43:118:45 | map : ImmutableMap [, ] : Object | provenance | | +| Test.java:118:20:118:31 | map : ImmutableMap [, ] : Object | Test.java:118:43:118:45 | map : ImmutableMap [, ] : Object | provenance | | | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | Test.java:118:43:118:45 | map : ImmutableMap [] : Object | provenance | | | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:45 | map : ImmutableSortedMap [] : Object | provenance | | | Test.java:118:20:118:31 | map : LinkedHashMap [] : Object | Test.java:118:43:118:45 | map : LinkedHashMap [] : Object | provenance | | +| Test.java:118:20:118:31 | map : Map [, ] : Comparable | Test.java:118:43:118:45 | map : Map [, ] : Comparable | provenance | | +| Test.java:118:20:118:31 | map : Map [, ] : Object | Test.java:118:43:118:45 | map : Map [, ] : Object | provenance | | +| Test.java:118:20:118:31 | map : Map [, ] : Object | Test.java:118:43:118:45 | map : Map [, ] : Object | provenance | | +| Test.java:118:20:118:31 | map : Map [, ] : Object | Test.java:118:43:118:45 | map : Map [, ] : Object | provenance | | +| Test.java:118:20:118:31 | map : Map [, com.google.common.collect.MapDifference.left] : Object | Test.java:118:43:118:45 | map : Map [, com.google.common.collect.MapDifference.left] : Object | provenance | | +| Test.java:118:20:118:31 | map : Map [, com.google.common.collect.MapDifference.right] : Object | Test.java:118:43:118:45 | map : Map [, com.google.common.collect.MapDifference.right] : Object | provenance | | | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:45 | map : Map [] : Object | provenance | | | Test.java:118:20:118:31 | map : MutableClassToInstanceMap [] : Object | Test.java:118:43:118:45 | map : MutableClassToInstanceMap [] : Object | provenance | | +| Test.java:118:20:118:31 | map : NavigableMap [, ] : Comparable | Test.java:118:43:118:45 | map : NavigableMap [, ] : Comparable | provenance | | | Test.java:118:20:118:31 | map : NavigableMap [] : Object | Test.java:118:43:118:45 | map : NavigableMap [] : Object | provenance | | +| Test.java:118:20:118:31 | map : SortedMap [, ] : Object | Test.java:118:43:118:45 | map : SortedMap [, ] : Object | provenance | | +| Test.java:118:20:118:31 | map : SortedMap [, ] : Object | Test.java:118:43:118:45 | map : SortedMap [, ] : Object | provenance | | +| Test.java:118:20:118:31 | map : SortedMap [, com.google.common.collect.MapDifference.left] : Object | Test.java:118:43:118:45 | map : SortedMap [, com.google.common.collect.MapDifference.left] : Object | provenance | | +| Test.java:118:20:118:31 | map : SortedMap [, com.google.common.collect.MapDifference.right] : Object | Test.java:118:43:118:45 | map : SortedMap [, com.google.common.collect.MapDifference.right] : Object | provenance | | | Test.java:118:20:118:31 | map : SortedMap [] : Object | Test.java:118:43:118:45 | map : SortedMap [] : Object | provenance | | | Test.java:118:20:118:31 | map : TreeMap [] : Object | Test.java:118:43:118:45 | map : TreeMap [] : Object | provenance | | | Test.java:118:43:118:45 | map : BiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | @@ -1015,12 +1095,26 @@ edges | Test.java:118:43:118:45 | map : HashMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | | Test.java:118:43:118:45 | map : ImmutableBiMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | | Test.java:118:43:118:45 | map : ImmutableClassToInstanceMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : ImmutableMap [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : ImmutableMap [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : ImmutableMap [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | provenance | MaD:561 | | Test.java:118:43:118:45 | map : ImmutableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | | Test.java:118:43:118:45 | map : ImmutableSortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | | Test.java:118:43:118:45 | map : LinkedHashMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : Map [, ] : Comparable | Test.java:118:43:118:55 | get(...) : Object [] : Comparable | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : Map [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : Map [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : Map [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : Map [, com.google.common.collect.MapDifference.left] : Object | Test.java:118:43:118:55 | get(...) : Object [com.google.common.collect.MapDifference.left] : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : Map [, com.google.common.collect.MapDifference.right] : Object | Test.java:118:43:118:55 | get(...) : Object [com.google.common.collect.MapDifference.right] : Object | provenance | MaD:561 | | Test.java:118:43:118:45 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | | Test.java:118:43:118:45 | map : MutableClassToInstanceMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : NavigableMap [, ] : Comparable | Test.java:118:43:118:55 | get(...) : Object [] : Comparable | provenance | MaD:561 | | Test.java:118:43:118:45 | map : NavigableMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : SortedMap [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : SortedMap [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : SortedMap [, com.google.common.collect.MapDifference.left] : Object | Test.java:118:43:118:55 | get(...) : Object [com.google.common.collect.MapDifference.left] : Object | provenance | MaD:561 | +| Test.java:118:43:118:45 | map : SortedMap [, com.google.common.collect.MapDifference.right] : Object | Test.java:118:43:118:55 | get(...) : Object [com.google.common.collect.MapDifference.right] : Object | provenance | MaD:561 | | Test.java:118:43:118:45 | map : SortedMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | | Test.java:118:43:118:45 | map : TreeMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | provenance | MaD:561 | | Test.java:119:20:119:36 | map : ArrayListMultimap [] : Object | Test.java:119:48:119:50 | map : ArrayListMultimap [] : Object | provenance | | @@ -1295,6 +1389,7 @@ edges | Test.java:336:43:336:44 | in : List [] : Object | Test.java:336:10:336:45 | orderedPermutations(...) : Collection [, ] : Object | provenance | MaD:17 | | Test.java:337:20:337:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | | Test.java:337:20:337:34 | getElement(...) : List [] : Object | Test.java:337:9:337:35 | getElement(...) | provenance | MaD:555 | +| Test.java:337:31:337:33 | out : Collection [, ] : Object | Test.java:110:19:110:32 | it : Collection [, ] : Object | provenance | | | Test.java:337:31:337:33 | out : Collection [, ] : Object | Test.java:337:20:337:34 | getElement(...) : List [] : Object | provenance | MaD:555 | | Test.java:342:18:342:44 | (...)... : List [] : Object | Test.java:343:43:343:44 | in : List [] : Object | provenance | | | Test.java:342:28:342:44 | of(...) : List [] : Object | Test.java:342:18:342:44 | (...)... : List [] : Object | provenance | | @@ -1303,6 +1398,7 @@ edges | Test.java:343:43:343:44 | in : List [] : Object | Test.java:343:10:343:51 | orderedPermutations(...) : Collection [, ] : Object | provenance | MaD:18 | | Test.java:344:20:344:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | | Test.java:344:20:344:34 | getElement(...) : List [] : Object | Test.java:344:9:344:35 | getElement(...) | provenance | MaD:555 | +| Test.java:344:31:344:33 | out : Collection [, ] : Object | Test.java:110:19:110:32 | it : Collection [, ] : Object | provenance | | | Test.java:344:31:344:33 | out : Collection [, ] : Object | Test.java:344:20:344:34 | getElement(...) : List [] : Object | provenance | MaD:555 | | Test.java:349:20:349:48 | (...)... : List [] : Object | Test.java:350:36:350:37 | in : List [] : Object | provenance | | | Test.java:349:32:349:48 | of(...) : List [] : Object | Test.java:349:20:349:48 | (...)... : List [] : Object | provenance | | @@ -1311,6 +1407,7 @@ edges | Test.java:350:36:350:37 | in : List [] : Object | Test.java:350:10:350:38 | permutations(...) : Collection [, ] : Object | provenance | MaD:19 | | Test.java:351:20:351:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | | Test.java:351:20:351:34 | getElement(...) : List [] : Object | Test.java:351:9:351:35 | getElement(...) | provenance | MaD:555 | +| Test.java:351:31:351:33 | out : Collection [, ] : Object | Test.java:110:19:110:32 | it : Collection [, ] : Object | provenance | | | Test.java:351:31:351:33 | out : Collection [, ] : Object | Test.java:351:20:351:34 | getElement(...) : List [] : Object | provenance | MaD:555 | | Test.java:356:18:356:44 | (...)... : List [] : Object | Test.java:357:40:357:41 | in : List [] : Object | provenance | | | Test.java:356:28:356:44 | of(...) : List [] : Object | Test.java:356:18:356:44 | (...)... : List [] : Object | provenance | | @@ -5272,6 +5369,7 @@ edges | Test.java:4844:36:4844:37 | in : List [] : Object | Test.java:4844:10:4844:41 | paddedPartition(...) : Iterable [, ] : Object | provenance | MaD:241 | | Test.java:4845:20:4845:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | | Test.java:4845:20:4845:34 | getElement(...) : List [] : Object | Test.java:4845:9:4845:35 | getElement(...) | provenance | MaD:555 | +| Test.java:4845:31:4845:33 | out : Iterable [, ] : Object | Test.java:110:19:110:32 | it : Iterable [, ] : Object | provenance | | | Test.java:4845:31:4845:33 | out : Iterable [, ] : Object | Test.java:4845:20:4845:34 | getElement(...) : List [] : Object | provenance | MaD:555 | | Test.java:4850:18:4850:44 | (...)... : List [] : Object | Test.java:4851:30:4851:31 | in : List [] : Object | provenance | | | Test.java:4850:28:4850:44 | of(...) : List [] : Object | Test.java:4850:18:4850:44 | (...)... : List [] : Object | provenance | | @@ -5280,6 +5378,7 @@ edges | Test.java:4851:30:4851:31 | in : List [] : Object | Test.java:4851:10:4851:35 | partition(...) : Iterable [, ] : Object | provenance | MaD:242 | | Test.java:4852:20:4852:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | | Test.java:4852:20:4852:34 | getElement(...) : List [] : Object | Test.java:4852:9:4852:35 | getElement(...) | provenance | MaD:555 | +| Test.java:4852:31:4852:33 | out : Iterable [, ] : Object | Test.java:110:19:110:32 | it : Iterable [, ] : Object | provenance | | | Test.java:4852:31:4852:33 | out : Iterable [, ] : Object | Test.java:4852:20:4852:34 | getElement(...) : List [] : Object | provenance | MaD:555 | | Test.java:4857:18:4857:44 | (...)... : List [] : Object | Test.java:4858:25:4858:26 | in : List [] : Object | provenance | | | Test.java:4857:28:4857:44 | of(...) : List [] : Object | Test.java:4857:18:4857:44 | (...)... : List [] : Object | provenance | | @@ -5575,6 +5674,7 @@ edges | Test.java:5152:36:5152:37 | in : Iterator [] : Object | Test.java:5152:10:5152:41 | paddedPartition(...) : UnmodifiableIterator [, ] : Object | provenance | MaD:278 | | Test.java:5153:20:5153:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | | Test.java:5153:20:5153:34 | getElement(...) : List [] : Object | Test.java:5153:9:5153:35 | getElement(...) | provenance | MaD:555 | +| Test.java:5153:31:5153:33 | out : UnmodifiableIterator [, ] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [, ] : Object | provenance | | | Test.java:5153:31:5153:33 | out : UnmodifiableIterator [, ] : Object | Test.java:5153:20:5153:34 | getElement(...) : List [] : Object | provenance | MaD:557 | | Test.java:5158:18:5158:55 | (...)... : Iterator [] : Object | Test.java:5159:30:5159:31 | in : Iterator [] : Object | provenance | | | Test.java:5158:28:5158:44 | of(...) : List [] : Object | Test.java:5158:28:5158:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | @@ -5584,6 +5684,7 @@ edges | Test.java:5159:30:5159:31 | in : Iterator [] : Object | Test.java:5159:10:5159:35 | partition(...) : UnmodifiableIterator [, ] : Object | provenance | MaD:279 | | Test.java:5160:20:5160:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | | Test.java:5160:20:5160:34 | getElement(...) : List [] : Object | Test.java:5160:9:5160:35 | getElement(...) | provenance | MaD:555 | +| Test.java:5160:31:5160:33 | out : UnmodifiableIterator [, ] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [, ] : Object | provenance | | | Test.java:5160:31:5160:33 | out : UnmodifiableIterator [, ] : Object | Test.java:5160:20:5160:34 | getElement(...) : List [] : Object | provenance | MaD:557 | | Test.java:5165:18:5165:55 | (...)... : Iterator [] : Object | Test.java:5166:36:5166:37 | in : Iterator [] : Object | provenance | | | Test.java:5165:28:5165:44 | of(...) : List [] : Object | Test.java:5165:28:5165:55 | iterator(...) : Iterator [] : Object | provenance | MaD:555 | @@ -5716,6 +5817,7 @@ edges | Test.java:5285:33:5285:34 | in : List [, ] : Object | Test.java:5285:10:5285:35 | cartesianProduct(...) : List [, ] : Object | provenance | MaD:296 | | Test.java:5286:20:5286:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | | Test.java:5286:20:5286:34 | getElement(...) : List [] : Object | Test.java:5286:9:5286:35 | getElement(...) | provenance | MaD:555 | +| Test.java:5286:31:5286:33 | out : List [, ] : Object | Test.java:110:19:110:32 | it : List [, ] : Object | provenance | | | Test.java:5286:31:5286:33 | out : List [, ] : Object | Test.java:5286:20:5286:34 | getElement(...) : List [] : Object | provenance | MaD:555 | | Test.java:5291:16:5291:58 | (...)... : List[] [[], ] : Object | Test.java:5292:33:5292:34 | in : List[] [[], ] : Object | provenance | | | Test.java:5291:24:5291:58 | {...} : List[] [[], ] : Object | Test.java:5291:16:5291:58 | (...)... : List[] [[], ] : Object | provenance | | @@ -5726,6 +5828,7 @@ edges | Test.java:5292:33:5292:34 | in : List[] [[], ] : Object | Test.java:5292:10:5292:35 | cartesianProduct(...) : List [, ] : Object | provenance | MaD:297 | | Test.java:5293:20:5293:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | | Test.java:5293:20:5293:34 | getElement(...) : List [] : Object | Test.java:5293:9:5293:35 | getElement(...) | provenance | MaD:555 | +| Test.java:5293:31:5293:33 | out : List [, ] : Object | Test.java:110:19:110:32 | it : List [, ] : Object | provenance | | | Test.java:5293:31:5293:33 | out : List [, ] : Object | Test.java:5293:20:5293:34 | getElement(...) : List [] : Object | provenance | MaD:555 | | Test.java:5298:22:5298:43 | (...)... : CharSequence | Test.java:5299:29:5299:30 | in : CharSequence | provenance | | | Test.java:5298:36:5298:43 | source(...) : Object | Test.java:5298:22:5298:43 | (...)... : CharSequence | provenance | | @@ -5782,6 +5885,7 @@ edges | Test.java:5348:26:5348:27 | in : List [] : Object | Test.java:5348:10:5348:31 | partition(...) : List [, ] : Object | provenance | MaD:305 | | Test.java:5349:20:5349:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | | Test.java:5349:20:5349:34 | getElement(...) : List [] : Object | Test.java:5349:9:5349:35 | getElement(...) | provenance | MaD:555 | +| Test.java:5349:31:5349:33 | out : List [, ] : Object | Test.java:110:19:110:32 | it : List [, ] : Object | provenance | | | Test.java:5349:31:5349:33 | out : List [, ] : Object | Test.java:5349:20:5349:34 | getElement(...) : List [] : Object | provenance | MaD:555 | | Test.java:5354:14:5354:36 | (...)... : List [] : Object | Test.java:5355:24:5355:25 | in : List [] : Object | provenance | | | Test.java:5354:20:5354:36 | of(...) : List [] : Object | Test.java:5354:14:5354:36 | (...)... : List [] : Object | provenance | | @@ -5843,6 +5947,7 @@ edges | Test.java:5404:10:5404:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5404:10:5404:30 | entriesDiffering(...) : SortedMap [, com.google.common.collect.MapDifference.left] : Object | provenance | MaD:308 | | Test.java:5404:10:5404:30 | entriesDiffering(...) : SortedMap [, com.google.common.collect.MapDifference.left] : Object | Test.java:5405:21:5405:23 | out : SortedMap [, com.google.common.collect.MapDifference.left] : Object | provenance | | | Test.java:5405:9:5405:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | Test.java:5405:9:5405:36 | leftValue(...) | provenance | MaD:319 | +| Test.java:5405:21:5405:23 | out : SortedMap [, com.google.common.collect.MapDifference.left] : Object | Test.java:118:20:118:31 | map : SortedMap [, com.google.common.collect.MapDifference.left] : Object | provenance | | | Test.java:5405:21:5405:23 | out : SortedMap [, com.google.common.collect.MapDifference.left] : Object | Test.java:5405:9:5405:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | provenance | MaD:561 | | Test.java:5410:23:5410:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5411:10:5411:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | | Test.java:5410:38:5410:82 | difference(...) : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5410:23:5410:82 | (...)... : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | provenance | | @@ -5851,6 +5956,7 @@ edges | Test.java:5411:10:5411:11 | in : MapDifference [com.google.common.collect.MapDifference.left, ] : Object | Test.java:5411:10:5411:30 | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.left] : Object | provenance | MaD:308 | | Test.java:5411:10:5411:30 | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.left] : Object | Test.java:5412:21:5412:23 | out : Map [, com.google.common.collect.MapDifference.left] : Object | provenance | | | Test.java:5412:9:5412:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | Test.java:5412:9:5412:36 | leftValue(...) | provenance | MaD:319 | +| Test.java:5412:21:5412:23 | out : Map [, com.google.common.collect.MapDifference.left] : Object | Test.java:118:20:118:31 | map : Map [, com.google.common.collect.MapDifference.left] : Object | provenance | | | Test.java:5412:21:5412:23 | out : Map [, com.google.common.collect.MapDifference.left] : Object | Test.java:5412:9:5412:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | provenance | MaD:561 | | Test.java:5417:29:5417:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5418:10:5418:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | | Test.java:5417:50:5417:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5417:29:5417:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | @@ -5859,6 +5965,7 @@ edges | Test.java:5418:10:5418:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5418:10:5418:30 | entriesDiffering(...) : SortedMap [, com.google.common.collect.MapDifference.right] : Object | provenance | MaD:310 | | Test.java:5418:10:5418:30 | entriesDiffering(...) : SortedMap [, com.google.common.collect.MapDifference.right] : Object | Test.java:5419:21:5419:23 | out : SortedMap [, com.google.common.collect.MapDifference.right] : Object | provenance | | | Test.java:5419:9:5419:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | Test.java:5419:9:5419:37 | rightValue(...) | provenance | MaD:320 | +| Test.java:5419:21:5419:23 | out : SortedMap [, com.google.common.collect.MapDifference.right] : Object | Test.java:118:20:118:31 | map : SortedMap [, com.google.common.collect.MapDifference.right] : Object | provenance | | | Test.java:5419:21:5419:23 | out : SortedMap [, com.google.common.collect.MapDifference.right] : Object | Test.java:5419:9:5419:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | provenance | MaD:561 | | Test.java:5424:23:5424:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5425:10:5425:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | | Test.java:5424:38:5424:82 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5424:23:5424:82 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | provenance | | @@ -5867,6 +5974,7 @@ edges | Test.java:5425:10:5425:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.right, ] : Object | Test.java:5425:10:5425:30 | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.right] : Object | provenance | MaD:310 | | Test.java:5425:10:5425:30 | entriesDiffering(...) : Map [, com.google.common.collect.MapDifference.right] : Object | Test.java:5426:21:5426:23 | out : Map [, com.google.common.collect.MapDifference.right] : Object | provenance | | | Test.java:5426:9:5426:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | Test.java:5426:9:5426:37 | rightValue(...) | provenance | MaD:320 | +| Test.java:5426:21:5426:23 | out : Map [, com.google.common.collect.MapDifference.right] : Object | Test.java:118:20:118:31 | map : Map [, com.google.common.collect.MapDifference.right] : Object | provenance | | | Test.java:5426:21:5426:23 | out : Map [, com.google.common.collect.MapDifference.right] : Object | Test.java:5426:9:5426:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | provenance | MaD:561 | | Test.java:5431:29:5431:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | Test.java:5432:10:5432:11 | in : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | provenance | | | Test.java:5431:50:5431:121 | difference(...) : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | Test.java:5431:29:5431:121 | (...)... : SortedMapDifference [com.google.common.collect.MapDifference.left, ] : Comparable | provenance | | @@ -6472,6 +6580,7 @@ edges | Test.java:5978:10:5978:19 | asMap(...) : NavigableMap [, ] : Comparable | Test.java:5979:32:5979:34 | out : NavigableMap [, ] : Comparable | provenance | | | Test.java:5979:20:5979:35 | getMapValue(...) : Collection [] : Comparable | Test.java:110:19:110:32 | it : Collection [] : Comparable | provenance | | | Test.java:5979:20:5979:35 | getMapValue(...) : Collection [] : Comparable | Test.java:5979:9:5979:36 | getElement(...) | provenance | MaD:555 | +| Test.java:5979:32:5979:34 | out : NavigableMap [, ] : Comparable | Test.java:118:20:118:31 | map : NavigableMap [, ] : Comparable | provenance | | | Test.java:5979:32:5979:34 | out : NavigableMap [, ] : Comparable | Test.java:5979:20:5979:35 | getMapValue(...) : Collection [] : Comparable | provenance | MaD:561 | | Test.java:5984:27:5984:114 | (...)... : TreeMultimap [] : Comparable | Test.java:5985:10:5985:11 | in : TreeMultimap [] : Comparable | provenance | | | Test.java:5984:46:5984:114 | create(...) : TreeMultimap [] : Comparable | Test.java:5984:27:5984:114 | (...)... : TreeMultimap [] : Comparable | provenance | | @@ -6482,6 +6591,7 @@ edges | Test.java:5985:10:5985:19 | asMap(...) : Map [, ] : Comparable | Test.java:5986:32:5986:34 | out : Map [, ] : Comparable | provenance | | | Test.java:5986:20:5986:35 | getMapValue(...) : Collection [] : Comparable | Test.java:110:19:110:32 | it : Collection [] : Comparable | provenance | | | Test.java:5986:20:5986:35 | getMapValue(...) : Collection [] : Comparable | Test.java:5986:9:5986:36 | getElement(...) | provenance | MaD:555 | +| Test.java:5986:32:5986:34 | out : Map [, ] : Comparable | Test.java:118:20:118:31 | map : Map [, ] : Comparable | provenance | | | Test.java:5986:32:5986:34 | out : Map [, ] : Comparable | Test.java:5986:20:5986:35 | getMapValue(...) : Collection [] : Comparable | provenance | MaD:561 | | Test.java:5991:21:5991:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:5992:10:5992:11 | in : ImmutableSetMultimap [] : Object | provenance | | | Test.java:5991:34:5991:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:5991:21:5991:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | @@ -6490,6 +6600,7 @@ edges | Test.java:5992:10:5992:19 | asMap(...) : Map [, ] : Object | Test.java:5993:32:5993:34 | out : Map [, ] : Object | provenance | | | Test.java:5993:20:5993:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | | Test.java:5993:20:5993:35 | getMapValue(...) : Collection [] : Object | Test.java:5993:9:5993:36 | getElement(...) | provenance | MaD:555 | +| Test.java:5993:32:5993:34 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | provenance | | | Test.java:5993:32:5993:34 | out : Map [, ] : Object | Test.java:5993:20:5993:35 | getMapValue(...) : Collection [] : Object | provenance | MaD:561 | | Test.java:5998:18:5998:63 | (...)... : ImmutableMultimap [] : Object | Test.java:5999:10:5999:11 | in : ImmutableMultimap [] : Object | provenance | | | Test.java:5998:28:5998:63 | of(...) : ImmutableMultimap [] : Object | Test.java:5998:18:5998:63 | (...)... : ImmutableMultimap [] : Object | provenance | | @@ -6498,6 +6609,7 @@ edges | Test.java:5999:10:5999:19 | asMap(...) : Map [, ] : Object | Test.java:6000:32:6000:34 | out : Map [, ] : Object | provenance | | | Test.java:6000:20:6000:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | | Test.java:6000:20:6000:35 | getMapValue(...) : Collection [] : Object | Test.java:6000:9:6000:36 | getElement(...) | provenance | MaD:555 | +| Test.java:6000:32:6000:34 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | provenance | | | Test.java:6000:32:6000:34 | out : Map [, ] : Object | Test.java:6000:20:6000:35 | getMapValue(...) : Collection [] : Object | provenance | MaD:561 | | Test.java:6005:22:6005:75 | (...)... : ImmutableListMultimap [] : Object | Test.java:6006:10:6006:11 | in : ImmutableListMultimap [] : Object | provenance | | | Test.java:6005:36:6005:75 | of(...) : ImmutableListMultimap [] : Object | Test.java:6005:22:6005:75 | (...)... : ImmutableListMultimap [] : Object | provenance | | @@ -6506,6 +6618,7 @@ edges | Test.java:6006:10:6006:19 | asMap(...) : Map [, ] : Object | Test.java:6007:32:6007:34 | out : Map [, ] : Object | provenance | | | Test.java:6007:20:6007:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | | Test.java:6007:20:6007:35 | getMapValue(...) : Collection [] : Object | Test.java:6007:9:6007:36 | getElement(...) | provenance | MaD:555 | +| Test.java:6007:32:6007:34 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | provenance | | | Test.java:6007:32:6007:34 | out : Map [, ] : Object | Test.java:6007:20:6007:35 | getMapValue(...) : Collection [] : Object | provenance | MaD:561 | | Test.java:6012:27:6012:81 | (...)... : ImmutableMultimap [] : Object | Test.java:6013:10:6013:11 | in : ImmutableMultimap [] : Object | provenance | | | Test.java:6012:46:6012:81 | of(...) : ImmutableMultimap [] : Object | Test.java:6012:27:6012:81 | (...)... : ImmutableMultimap [] : Object | provenance | | @@ -6514,6 +6627,7 @@ edges | Test.java:6013:10:6013:19 | asMap(...) : ImmutableMap [, ] : Object | Test.java:6014:32:6014:34 | out : ImmutableMap [, ] : Object | provenance | | | Test.java:6014:20:6014:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | | Test.java:6014:20:6014:35 | getMapValue(...) : Collection [] : Object | Test.java:6014:9:6014:36 | getElement(...) | provenance | MaD:555 | +| Test.java:6014:32:6014:34 | out : ImmutableMap [, ] : Object | Test.java:118:20:118:31 | map : ImmutableMap [, ] : Object | provenance | | | Test.java:6014:32:6014:34 | out : ImmutableMap [, ] : Object | Test.java:6014:20:6014:35 | getMapValue(...) : Collection [] : Object | provenance | MaD:561 | | Test.java:6019:21:6019:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6020:10:6020:11 | in : ImmutableSetMultimap [] : Object | provenance | | | Test.java:6019:34:6019:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6019:21:6019:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | @@ -6521,6 +6635,7 @@ edges | Test.java:6020:10:6020:11 | in : ImmutableSetMultimap [] : Object | Test.java:6020:10:6020:21 | entries(...) : Set [, ] : Object | provenance | MaD:370 | | Test.java:6020:10:6020:21 | entries(...) : Set [, ] : Object | Test.java:6021:20:6021:22 | out : Set [, ] : Object | provenance | | | Test.java:6021:9:6021:23 | getElement(...) : Entry [] : Object | Test.java:6021:9:6021:32 | getKey(...) | provenance | MaD:565 | +| Test.java:6021:20:6021:22 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | provenance | | | Test.java:6021:20:6021:22 | out : Set [, ] : Object | Test.java:6021:9:6021:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | | Test.java:6026:28:6026:110 | (...)... : LinkedHashMultimap [] : Object | Test.java:6027:10:6027:11 | in : LinkedHashMultimap [] : Object | provenance | | | Test.java:6026:48:6026:110 | create(...) : LinkedHashMultimap [] : Object | Test.java:6026:28:6026:110 | (...)... : LinkedHashMultimap [] : Object | provenance | | @@ -6529,6 +6644,7 @@ edges | Test.java:6027:10:6027:11 | in : LinkedHashMultimap [] : Object | Test.java:6027:10:6027:21 | entries(...) : Set [, ] : Object | provenance | MaD:370 | | Test.java:6027:10:6027:21 | entries(...) : Set [, ] : Object | Test.java:6028:20:6028:22 | out : Set [, ] : Object | provenance | | | Test.java:6028:9:6028:23 | getElement(...) : Entry [] : Object | Test.java:6028:9:6028:32 | getKey(...) | provenance | MaD:565 | +| Test.java:6028:20:6028:22 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | provenance | | | Test.java:6028:20:6028:22 | out : Set [, ] : Object | Test.java:6028:9:6028:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | | Test.java:6033:28:6033:110 | (...)... : LinkedListMultimap [] : Object | Test.java:6034:10:6034:11 | in : LinkedListMultimap [] : Object | provenance | | | Test.java:6033:48:6033:110 | create(...) : LinkedListMultimap [] : Object | Test.java:6033:28:6033:110 | (...)... : LinkedListMultimap [] : Object | provenance | | @@ -6537,6 +6653,7 @@ edges | Test.java:6034:10:6034:11 | in : LinkedListMultimap [] : Object | Test.java:6034:10:6034:21 | entries(...) : List [, ] : Object | provenance | MaD:370 | | Test.java:6034:10:6034:21 | entries(...) : List [, ] : Object | Test.java:6035:20:6035:22 | out : List [, ] : Object | provenance | | | Test.java:6035:9:6035:23 | getElement(...) : Entry [] : Object | Test.java:6035:9:6035:32 | getKey(...) | provenance | MaD:565 | +| Test.java:6035:20:6035:22 | out : List [, ] : Object | Test.java:110:19:110:32 | it : List [, ] : Object | provenance | | | Test.java:6035:20:6035:22 | out : List [, ] : Object | Test.java:6035:9:6035:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | | Test.java:6040:30:6040:90 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6041:10:6041:11 | in : ImmutableSetMultimap [] : Object | provenance | | | Test.java:6040:52:6040:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6040:30:6040:90 | (...)... : ImmutableSetMultimap [] : Object | provenance | | @@ -6544,6 +6661,7 @@ edges | Test.java:6041:10:6041:11 | in : ImmutableSetMultimap [] : Object | Test.java:6041:10:6041:21 | entries(...) : ImmutableSet [, ] : Object | provenance | MaD:370 | | Test.java:6041:10:6041:21 | entries(...) : ImmutableSet [, ] : Object | Test.java:6042:20:6042:22 | out : ImmutableSet [, ] : Object | provenance | | | Test.java:6042:9:6042:23 | getElement(...) : Entry [] : Object | Test.java:6042:9:6042:32 | getKey(...) | provenance | MaD:565 | +| Test.java:6042:20:6042:22 | out : ImmutableSet [, ] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | provenance | | | Test.java:6042:20:6042:22 | out : ImmutableSet [, ] : Object | Test.java:6042:9:6042:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | | Test.java:6047:27:6047:81 | (...)... : ImmutableMultimap [] : Object | Test.java:6048:10:6048:11 | in : ImmutableMultimap [] : Object | provenance | | | Test.java:6047:46:6047:81 | of(...) : ImmutableMultimap [] : Object | Test.java:6047:27:6047:81 | (...)... : ImmutableMultimap [] : Object | provenance | | @@ -6551,6 +6669,7 @@ edges | Test.java:6048:10:6048:11 | in : ImmutableMultimap [] : Object | Test.java:6048:10:6048:21 | entries(...) : ImmutableCollection [, ] : Object | provenance | MaD:370 | | Test.java:6048:10:6048:21 | entries(...) : ImmutableCollection [, ] : Object | Test.java:6049:20:6049:22 | out : ImmutableCollection [, ] : Object | provenance | | | Test.java:6049:9:6049:23 | getElement(...) : Entry [] : Object | Test.java:6049:9:6049:32 | getKey(...) | provenance | MaD:565 | +| Test.java:6049:20:6049:22 | out : ImmutableCollection [, ] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [, ] : Object | provenance | | | Test.java:6049:20:6049:22 | out : ImmutableCollection [, ] : Object | Test.java:6049:9:6049:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | | Test.java:6054:18:6054:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6055:10:6055:11 | in : ImmutableMultimap [] : Object | provenance | | | Test.java:6054:28:6054:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6054:18:6054:63 | (...)... : ImmutableMultimap [] : Object | provenance | | @@ -6558,6 +6677,7 @@ edges | Test.java:6055:10:6055:11 | in : ImmutableMultimap [] : Object | Test.java:6055:10:6055:21 | entries(...) : Collection [, ] : Object | provenance | MaD:370 | | Test.java:6055:10:6055:21 | entries(...) : Collection [, ] : Object | Test.java:6056:20:6056:22 | out : Collection [, ] : Object | provenance | | | Test.java:6056:9:6056:23 | getElement(...) : Entry [] : Object | Test.java:6056:9:6056:32 | getKey(...) | provenance | MaD:565 | +| Test.java:6056:20:6056:22 | out : Collection [, ] : Object | Test.java:110:19:110:32 | it : Collection [, ] : Object | provenance | | | Test.java:6056:20:6056:22 | out : Collection [, ] : Object | Test.java:6056:9:6056:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | | Test.java:6061:21:6061:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6062:10:6062:11 | in : ImmutableSetMultimap [] : Object | provenance | | | Test.java:6061:34:6061:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6061:21:6061:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | @@ -6565,6 +6685,7 @@ edges | Test.java:6062:10:6062:11 | in : ImmutableSetMultimap [] : Object | Test.java:6062:10:6062:21 | entries(...) : Set [, ] : Object | provenance | MaD:371 | | Test.java:6062:10:6062:21 | entries(...) : Set [, ] : Object | Test.java:6063:20:6063:22 | out : Set [, ] : Object | provenance | | | Test.java:6063:9:6063:23 | getElement(...) : Entry [] : Object | Test.java:6063:9:6063:34 | getValue(...) | provenance | MaD:566 | +| Test.java:6063:20:6063:22 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | provenance | | | Test.java:6063:20:6063:22 | out : Set [, ] : Object | Test.java:6063:9:6063:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | | Test.java:6068:28:6068:110 | (...)... : LinkedHashMultimap [] : Object | Test.java:6069:10:6069:11 | in : LinkedHashMultimap [] : Object | provenance | | | Test.java:6068:48:6068:110 | create(...) : LinkedHashMultimap [] : Object | Test.java:6068:28:6068:110 | (...)... : LinkedHashMultimap [] : Object | provenance | | @@ -6573,6 +6694,7 @@ edges | Test.java:6069:10:6069:11 | in : LinkedHashMultimap [] : Object | Test.java:6069:10:6069:21 | entries(...) : Set [, ] : Object | provenance | MaD:371 | | Test.java:6069:10:6069:21 | entries(...) : Set [, ] : Object | Test.java:6070:20:6070:22 | out : Set [, ] : Object | provenance | | | Test.java:6070:9:6070:23 | getElement(...) : Entry [] : Object | Test.java:6070:9:6070:34 | getValue(...) | provenance | MaD:566 | +| Test.java:6070:20:6070:22 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | provenance | | | Test.java:6070:20:6070:22 | out : Set [, ] : Object | Test.java:6070:9:6070:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | | Test.java:6075:28:6075:110 | (...)... : LinkedListMultimap [] : Object | Test.java:6076:10:6076:11 | in : LinkedListMultimap [] : Object | provenance | | | Test.java:6075:48:6075:110 | create(...) : LinkedListMultimap [] : Object | Test.java:6075:28:6075:110 | (...)... : LinkedListMultimap [] : Object | provenance | | @@ -6581,6 +6703,7 @@ edges | Test.java:6076:10:6076:11 | in : LinkedListMultimap [] : Object | Test.java:6076:10:6076:21 | entries(...) : List [, ] : Object | provenance | MaD:371 | | Test.java:6076:10:6076:21 | entries(...) : List [, ] : Object | Test.java:6077:20:6077:22 | out : List [, ] : Object | provenance | | | Test.java:6077:9:6077:23 | getElement(...) : Entry [] : Object | Test.java:6077:9:6077:34 | getValue(...) | provenance | MaD:566 | +| Test.java:6077:20:6077:22 | out : List [, ] : Object | Test.java:110:19:110:32 | it : List [, ] : Object | provenance | | | Test.java:6077:20:6077:22 | out : List [, ] : Object | Test.java:6077:9:6077:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | | Test.java:6082:30:6082:90 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6083:10:6083:11 | in : ImmutableSetMultimap [] : Object | provenance | | | Test.java:6082:52:6082:90 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6082:30:6082:90 | (...)... : ImmutableSetMultimap [] : Object | provenance | | @@ -6588,6 +6711,7 @@ edges | Test.java:6083:10:6083:11 | in : ImmutableSetMultimap [] : Object | Test.java:6083:10:6083:21 | entries(...) : ImmutableSet [, ] : Object | provenance | MaD:371 | | Test.java:6083:10:6083:21 | entries(...) : ImmutableSet [, ] : Object | Test.java:6084:20:6084:22 | out : ImmutableSet [, ] : Object | provenance | | | Test.java:6084:9:6084:23 | getElement(...) : Entry [] : Object | Test.java:6084:9:6084:34 | getValue(...) | provenance | MaD:566 | +| Test.java:6084:20:6084:22 | out : ImmutableSet [, ] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | provenance | | | Test.java:6084:20:6084:22 | out : ImmutableSet [, ] : Object | Test.java:6084:9:6084:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | | Test.java:6089:27:6089:81 | (...)... : ImmutableMultimap [] : Object | Test.java:6090:10:6090:11 | in : ImmutableMultimap [] : Object | provenance | | | Test.java:6089:46:6089:81 | of(...) : ImmutableMultimap [] : Object | Test.java:6089:27:6089:81 | (...)... : ImmutableMultimap [] : Object | provenance | | @@ -6595,6 +6719,7 @@ edges | Test.java:6090:10:6090:11 | in : ImmutableMultimap [] : Object | Test.java:6090:10:6090:21 | entries(...) : ImmutableCollection [, ] : Object | provenance | MaD:371 | | Test.java:6090:10:6090:21 | entries(...) : ImmutableCollection [, ] : Object | Test.java:6091:20:6091:22 | out : ImmutableCollection [, ] : Object | provenance | | | Test.java:6091:9:6091:23 | getElement(...) : Entry [] : Object | Test.java:6091:9:6091:34 | getValue(...) | provenance | MaD:566 | +| Test.java:6091:20:6091:22 | out : ImmutableCollection [, ] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [, ] : Object | provenance | | | Test.java:6091:20:6091:22 | out : ImmutableCollection [, ] : Object | Test.java:6091:9:6091:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | | Test.java:6096:18:6096:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6097:10:6097:11 | in : ImmutableMultimap [] : Object | provenance | | | Test.java:6096:28:6096:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6096:18:6096:63 | (...)... : ImmutableMultimap [] : Object | provenance | | @@ -6602,6 +6727,7 @@ edges | Test.java:6097:10:6097:11 | in : ImmutableMultimap [] : Object | Test.java:6097:10:6097:21 | entries(...) : Collection [, ] : Object | provenance | MaD:371 | | Test.java:6097:10:6097:21 | entries(...) : Collection [, ] : Object | Test.java:6098:20:6098:22 | out : Collection [, ] : Object | provenance | | | Test.java:6098:9:6098:23 | getElement(...) : Entry [] : Object | Test.java:6098:9:6098:34 | getValue(...) | provenance | MaD:566 | +| Test.java:6098:20:6098:22 | out : Collection [, ] : Object | Test.java:110:19:110:32 | it : Collection [, ] : Object | provenance | | | Test.java:6098:20:6098:22 | out : Collection [, ] : Object | Test.java:6098:9:6098:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | | Test.java:6103:27:6103:114 | (...)... : TreeMultimap [] : Comparable | Test.java:6104:10:6104:11 | in : TreeMultimap [] : Comparable | provenance | | | Test.java:6103:46:6103:114 | create(...) : TreeMultimap [] : Comparable | Test.java:6103:27:6103:114 | (...)... : TreeMultimap [] : Comparable | provenance | | @@ -7093,6 +7219,7 @@ edges | Test.java:6587:26:6587:27 | in : ImmutableListMultimap [] : Object | Test.java:6587:10:6587:28 | asMap(...) : Map [, ] : Object | provenance | MaD:387 | | Test.java:6588:20:6588:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | | Test.java:6588:20:6588:35 | getMapValue(...) : Collection [] : Object | Test.java:6588:9:6588:36 | getElement(...) | provenance | MaD:555 | +| Test.java:6588:32:6588:34 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | provenance | | | Test.java:6588:32:6588:34 | out : Map [, ] : Object | Test.java:6588:20:6588:35 | getMapValue(...) : Collection [] : Object | provenance | MaD:561 | | Test.java:6593:18:6593:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6594:26:6594:27 | in : ImmutableMultimap [] : Object | provenance | | | Test.java:6593:28:6593:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6593:18:6593:63 | (...)... : ImmutableMultimap [] : Object | provenance | | @@ -7108,6 +7235,7 @@ edges | Test.java:6601:26:6601:27 | in : ImmutableMultimap [] : Object | Test.java:6601:10:6601:28 | asMap(...) : Map [, ] : Object | provenance | MaD:389 | | Test.java:6602:20:6602:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | | Test.java:6602:20:6602:35 | getMapValue(...) : Collection [] : Object | Test.java:6602:9:6602:36 | getElement(...) | provenance | MaD:555 | +| Test.java:6602:32:6602:34 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | provenance | | | Test.java:6602:32:6602:34 | out : Map [, ] : Object | Test.java:6602:20:6602:35 | getMapValue(...) : Collection [] : Object | provenance | MaD:561 | | Test.java:6607:21:6607:72 | (...)... : ImmutableSetMultimap [] : Object | Test.java:6608:26:6608:27 | in : ImmutableSetMultimap [] : Object | provenance | | | Test.java:6607:34:6607:72 | of(...) : ImmutableSetMultimap [] : Object | Test.java:6607:21:6607:72 | (...)... : ImmutableSetMultimap [] : Object | provenance | | @@ -7123,6 +7251,7 @@ edges | Test.java:6615:26:6615:27 | in : ImmutableSetMultimap [] : Object | Test.java:6615:10:6615:28 | asMap(...) : Map [, ] : Object | provenance | MaD:391 | | Test.java:6616:20:6616:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | provenance | | | Test.java:6616:20:6616:35 | getMapValue(...) : Collection [] : Object | Test.java:6616:9:6616:36 | getElement(...) | provenance | MaD:555 | +| Test.java:6616:32:6616:34 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | provenance | | | Test.java:6616:32:6616:34 | out : Map [, ] : Object | Test.java:6616:20:6616:35 | getMapValue(...) : Collection [] : Object | provenance | MaD:561 | | Test.java:6621:27:6621:114 | (...)... : TreeMultimap [] : Comparable | Test.java:6622:26:6622:27 | in : TreeMultimap [] : Comparable | provenance | | | Test.java:6621:46:6621:114 | create(...) : TreeMultimap [] : Comparable | Test.java:6621:27:6621:114 | (...)... : TreeMultimap [] : Comparable | provenance | | @@ -7142,6 +7271,7 @@ edges | Test.java:6629:26:6629:27 | in : TreeMultimap [] : Comparable | Test.java:6629:10:6629:28 | asMap(...) : Map [, ] : Comparable | provenance | MaD:393 | | Test.java:6630:20:6630:35 | getMapValue(...) : Collection [] : Comparable | Test.java:110:19:110:32 | it : Collection [] : Comparable | provenance | | | Test.java:6630:20:6630:35 | getMapValue(...) : Collection [] : Comparable | Test.java:6630:9:6630:36 | getElement(...) | provenance | MaD:555 | +| Test.java:6630:32:6630:34 | out : Map [, ] : Comparable | Test.java:118:20:118:31 | map : Map [, ] : Comparable | provenance | | | Test.java:6630:32:6630:34 | out : Map [, ] : Comparable | Test.java:6630:20:6630:35 | getMapValue(...) : Collection [] : Comparable | provenance | MaD:561 | | Test.java:6635:18:6635:63 | (...)... : ImmutableMultimap [] : Object | Test.java:6636:34:6636:35 | in : ImmutableMultimap [] : Object | provenance | | | Test.java:6635:28:6635:63 | of(...) : ImmutableMultimap [] : Object | Test.java:6635:18:6635:63 | (...)... : ImmutableMultimap [] : Object | provenance | | @@ -7577,6 +7707,7 @@ edges | Test.java:7056:10:7056:11 | in : ImmutableSortedMultiset [] : Comparable | Test.java:7056:10:7056:22 | entrySet(...) : Set [, ] : Comparable | provenance | MaD:447 | | Test.java:7056:10:7056:22 | entrySet(...) : Set [, ] : Comparable | Test.java:7057:20:7057:22 | out : Set [, ] : Comparable | provenance | | | Test.java:7057:9:7057:23 | getElement(...) : Entry [] : Comparable | Test.java:7057:9:7057:36 | getElement(...) | provenance | MaD:450 | +| Test.java:7057:20:7057:22 | out : Set [, ] : Comparable | Test.java:110:19:110:32 | it : Set [, ] : Comparable | provenance | | | Test.java:7057:20:7057:22 | out : Set [, ] : Comparable | Test.java:7057:9:7057:23 | getElement(...) : Entry [] : Comparable | provenance | MaD:555 | | Test.java:7062:18:7062:57 | (...)... : ImmutableMultiset [] : Object | Test.java:7063:10:7063:11 | in : ImmutableMultiset [] : Object | provenance | | | Test.java:7062:28:7062:57 | of(...) : ImmutableMultiset [] : Object | Test.java:7062:18:7062:57 | (...)... : ImmutableMultiset [] : Object | provenance | | @@ -7584,6 +7715,7 @@ edges | Test.java:7063:10:7063:11 | in : ImmutableMultiset [] : Object | Test.java:7063:10:7063:22 | entrySet(...) : Set [, ] : Object | provenance | MaD:447 | | Test.java:7063:10:7063:22 | entrySet(...) : Set [, ] : Object | Test.java:7064:20:7064:22 | out : Set [, ] : Object | provenance | | | Test.java:7064:9:7064:23 | getElement(...) : Entry [] : Object | Test.java:7064:9:7064:36 | getElement(...) | provenance | MaD:450 | +| Test.java:7064:20:7064:22 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | provenance | | | Test.java:7064:20:7064:22 | out : Set [, ] : Object | Test.java:7064:9:7064:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | | Test.java:7069:27:7069:75 | (...)... : ImmutableMultiset [] : Object | Test.java:7070:10:7070:11 | in : ImmutableMultiset [] : Object | provenance | | | Test.java:7069:46:7069:75 | of(...) : ImmutableMultiset [] : Object | Test.java:7069:27:7069:75 | (...)... : ImmutableMultiset [] : Object | provenance | | @@ -7591,6 +7723,7 @@ edges | Test.java:7070:10:7070:11 | in : ImmutableMultiset [] : Object | Test.java:7070:10:7070:22 | entrySet(...) : ImmutableSet [, ] : Object | provenance | MaD:447 | | Test.java:7070:10:7070:22 | entrySet(...) : ImmutableSet [, ] : Object | Test.java:7071:20:7071:22 | out : ImmutableSet [, ] : Object | provenance | | | Test.java:7071:9:7071:23 | getElement(...) : Entry [] : Object | Test.java:7071:9:7071:36 | getElement(...) | provenance | MaD:450 | +| Test.java:7071:20:7071:22 | out : ImmutableSet [, ] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | provenance | | | Test.java:7071:20:7071:22 | out : ImmutableSet [, ] : Object | Test.java:7071:9:7071:23 | getElement(...) : Entry [] : Object | provenance | MaD:555 | | Test.java:7076:16:7076:31 | (...)... : Object | Test.java:7077:17:7077:18 | in : Object | provenance | | | Test.java:7076:24:7076:31 | source(...) : Object | Test.java:7076:16:7076:31 | (...)... : Object | provenance | | @@ -7878,6 +8011,7 @@ edges | Test.java:7364:32:7364:33 | in : List [, ] : Object | Test.java:7364:10:7364:34 | cartesianProduct(...) : Set [, ] : Object | provenance | MaD:478 | | Test.java:7365:20:7365:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | | Test.java:7365:20:7365:34 | getElement(...) : List [] : Object | Test.java:7365:9:7365:35 | getElement(...) | provenance | MaD:555 | +| Test.java:7365:31:7365:33 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | provenance | | | Test.java:7365:31:7365:33 | out : Set [, ] : Object | Test.java:7365:20:7365:34 | getElement(...) : List [] : Object | provenance | MaD:555 | | Test.java:7370:15:7370:48 | (...)... : Set[] [[], ] : Object | Test.java:7371:32:7371:33 | in : Set[] [[], ] : Object | provenance | | | Test.java:7370:22:7370:48 | {...} : Set[] [[], ] : Object | Test.java:7370:15:7370:48 | (...)... : Set[] [[], ] : Object | provenance | | @@ -7887,6 +8021,7 @@ edges | Test.java:7371:32:7371:33 | in : Set[] [[], ] : Object | Test.java:7371:10:7371:34 | cartesianProduct(...) : Set [, ] : Object | provenance | MaD:479 | | Test.java:7372:20:7372:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | provenance | | | Test.java:7372:20:7372:34 | getElement(...) : List [] : Object | Test.java:7372:9:7372:35 | getElement(...) | provenance | MaD:555 | +| Test.java:7372:31:7372:33 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | provenance | | | Test.java:7372:31:7372:33 | out : Set [, ] : Object | Test.java:7372:20:7372:34 | getElement(...) : List [] : Object | provenance | MaD:555 | | Test.java:7377:13:7377:33 | (...)... : Set [] : Object | Test.java:7378:28:7378:29 | in : Set [] : Object | provenance | | | Test.java:7377:18:7377:33 | of(...) : Set [] : Object | Test.java:7377:13:7377:33 | (...)... : Set [] : Object | provenance | | @@ -7895,6 +8030,7 @@ edges | Test.java:7378:28:7378:29 | in : Set [] : Object | Test.java:7378:10:7378:33 | combinations(...) : Set [, ] : Object | provenance | MaD:480 | | Test.java:7379:20:7379:34 | getElement(...) : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | provenance | | | Test.java:7379:20:7379:34 | getElement(...) : Set [] : Object | Test.java:7379:9:7379:35 | getElement(...) | provenance | MaD:555 | +| Test.java:7379:31:7379:33 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | provenance | | | Test.java:7379:31:7379:33 | out : Set [, ] : Object | Test.java:7379:20:7379:34 | getElement(...) : Set [] : Object | provenance | MaD:555 | | Test.java:7384:13:7384:33 | (...)... : Set [] : Object | Test.java:7385:26:7385:27 | in : Set [] : Object | provenance | | | Test.java:7384:18:7384:33 | of(...) : Set [] : Object | Test.java:7384:13:7384:33 | (...)... : Set [] : Object | provenance | | @@ -8004,6 +8140,7 @@ edges | Test.java:7483:24:7483:25 | in : Set [] : Object | Test.java:7483:10:7483:26 | powerSet(...) : Set [, ] : Object | provenance | MaD:494 | | Test.java:7484:20:7484:34 | getElement(...) : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | provenance | | | Test.java:7484:20:7484:34 | getElement(...) : Set [] : Object | Test.java:7484:9:7484:35 | getElement(...) | provenance | MaD:555 | +| Test.java:7484:31:7484:33 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | provenance | | | Test.java:7484:31:7484:33 | out : Set [, ] : Object | Test.java:7484:20:7484:34 | getElement(...) : Set [] : Object | provenance | MaD:555 | | Test.java:7489:22:7489:78 | (...)... : ImmutableSortedSet [] : Comparable | Test.java:7490:22:7490:23 | in : ImmutableSortedSet [] : Comparable | provenance | | | Test.java:7489:36:7489:78 | of(...) : ImmutableSortedSet [] : Comparable | Test.java:7489:22:7489:78 | (...)... : ImmutableSortedSet [] : Comparable | provenance | | @@ -8082,6 +8219,7 @@ edges | Test.java:7560:10:7560:11 | in : TreeBasedTable [] : Object | Test.java:7560:10:7560:21 | cellSet(...) : Set [, ] : Object | provenance | MaD:502 | | Test.java:7560:10:7560:21 | cellSet(...) : Set [, ] : Object | Test.java:7561:20:7561:22 | out : Set [, ] : Object | provenance | | | Test.java:7561:9:7561:23 | getElement(...) : Cell [] : Object | Test.java:7561:9:7561:34 | getValue(...) | provenance | MaD:528 | +| Test.java:7561:20:7561:22 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | provenance | | | Test.java:7561:20:7561:22 | out : Set [, ] : Object | Test.java:7561:9:7561:23 | getElement(...) : Cell [] : Object | provenance | MaD:555 | | Test.java:7566:20:7566:89 | (...)... : ArrayTable [] : Object | Test.java:7567:10:7567:11 | in : ArrayTable [] : Object | provenance | | | Test.java:7566:32:7566:89 | create(...) : ArrayTable [] : Object | Test.java:7566:20:7566:89 | (...)... : ArrayTable [] : Object | provenance | | @@ -8090,6 +8228,7 @@ edges | Test.java:7567:10:7567:11 | in : ArrayTable [] : Object | Test.java:7567:10:7567:21 | cellSet(...) : Set [, ] : Object | provenance | MaD:502 | | Test.java:7567:10:7567:21 | cellSet(...) : Set [, ] : Object | Test.java:7568:20:7568:22 | out : Set [, ] : Object | provenance | | | Test.java:7568:9:7568:23 | getElement(...) : Cell [] : Object | Test.java:7568:9:7568:34 | getValue(...) | provenance | MaD:528 | +| Test.java:7568:20:7568:22 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | provenance | | | Test.java:7568:20:7568:22 | out : Set [, ] : Object | Test.java:7568:9:7568:23 | getElement(...) : Cell [] : Object | provenance | MaD:555 | | Test.java:7573:24:7573:78 | (...)... : ImmutableTable [] : Object | Test.java:7574:10:7574:11 | in : ImmutableTable [] : Object | provenance | | | Test.java:7573:40:7573:78 | of(...) : ImmutableTable [] : Object | Test.java:7573:24:7573:78 | (...)... : ImmutableTable [] : Object | provenance | | @@ -8097,6 +8236,7 @@ edges | Test.java:7574:10:7574:11 | in : ImmutableTable [] : Object | Test.java:7574:10:7574:21 | cellSet(...) : ImmutableSet [, ] : Object | provenance | MaD:502 | | Test.java:7574:10:7574:21 | cellSet(...) : ImmutableSet [, ] : Object | Test.java:7575:20:7575:22 | out : ImmutableSet [, ] : Object | provenance | | | Test.java:7575:9:7575:23 | getElement(...) : Cell [] : Object | Test.java:7575:9:7575:34 | getValue(...) | provenance | MaD:528 | +| Test.java:7575:20:7575:22 | out : ImmutableSet [, ] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | provenance | | | Test.java:7575:20:7575:22 | out : ImmutableSet [, ] : Object | Test.java:7575:9:7575:23 | getElement(...) : Cell [] : Object | provenance | MaD:555 | | Test.java:7580:15:7580:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7581:10:7581:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | | Test.java:7580:22:7580:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7580:15:7580:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | @@ -8105,6 +8245,7 @@ edges | Test.java:7581:10:7581:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7581:10:7581:21 | cellSet(...) : Set [, com.google.common.collect.Table.columnKey] : Object | provenance | MaD:503 | | Test.java:7581:10:7581:21 | cellSet(...) : Set [, com.google.common.collect.Table.columnKey] : Object | Test.java:7582:20:7582:22 | out : Set [, com.google.common.collect.Table.columnKey] : Object | provenance | | | Test.java:7582:9:7582:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | Test.java:7582:9:7582:38 | getColumnKey(...) | provenance | MaD:526 | +| Test.java:7582:20:7582:22 | out : Set [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:19:110:32 | it : Set [, com.google.common.collect.Table.columnKey] : Object | provenance | | | Test.java:7582:20:7582:22 | out : Set [, com.google.common.collect.Table.columnKey] : Object | Test.java:7582:9:7582:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:555 | | Test.java:7587:20:7587:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7588:10:7588:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | | Test.java:7587:32:7587:89 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7587:20:7587:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | @@ -8113,6 +8254,7 @@ edges | Test.java:7588:10:7588:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7588:10:7588:21 | cellSet(...) : Set [, com.google.common.collect.Table.columnKey] : Object | provenance | MaD:503 | | Test.java:7588:10:7588:21 | cellSet(...) : Set [, com.google.common.collect.Table.columnKey] : Object | Test.java:7589:20:7589:22 | out : Set [, com.google.common.collect.Table.columnKey] : Object | provenance | | | Test.java:7589:9:7589:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | Test.java:7589:9:7589:38 | getColumnKey(...) | provenance | MaD:526 | +| Test.java:7589:20:7589:22 | out : Set [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:19:110:32 | it : Set [, com.google.common.collect.Table.columnKey] : Object | provenance | | | Test.java:7589:20:7589:22 | out : Set [, com.google.common.collect.Table.columnKey] : Object | Test.java:7589:9:7589:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:555 | | Test.java:7594:24:7594:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7595:10:7595:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | | Test.java:7594:40:7594:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7594:24:7594:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | @@ -8120,6 +8262,7 @@ edges | Test.java:7595:10:7595:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7595:10:7595:21 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | provenance | MaD:503 | | Test.java:7595:10:7595:21 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | Test.java:7596:20:7596:22 | out : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | provenance | | | Test.java:7596:9:7596:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | Test.java:7596:9:7596:38 | getColumnKey(...) | provenance | MaD:526 | +| Test.java:7596:20:7596:22 | out : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | provenance | | | Test.java:7596:20:7596:22 | out : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | Test.java:7596:9:7596:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | provenance | MaD:555 | | Test.java:7601:15:7601:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7602:10:7602:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | | Test.java:7601:22:7601:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7601:15:7601:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | @@ -8128,6 +8271,7 @@ edges | Test.java:7602:10:7602:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7602:10:7602:21 | cellSet(...) : Set [, com.google.common.collect.Table.rowKey] : Object | provenance | MaD:504 | | Test.java:7602:10:7602:21 | cellSet(...) : Set [, com.google.common.collect.Table.rowKey] : Object | Test.java:7603:20:7603:22 | out : Set [, com.google.common.collect.Table.rowKey] : Object | provenance | | | Test.java:7603:9:7603:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | Test.java:7603:9:7603:35 | getRowKey(...) | provenance | MaD:527 | +| Test.java:7603:20:7603:22 | out : Set [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:19:110:32 | it : Set [, com.google.common.collect.Table.rowKey] : Object | provenance | | | Test.java:7603:20:7603:22 | out : Set [, com.google.common.collect.Table.rowKey] : Object | Test.java:7603:9:7603:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:555 | | Test.java:7608:20:7608:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7609:10:7609:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | | Test.java:7608:32:7608:89 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7608:20:7608:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | @@ -8136,6 +8280,7 @@ edges | Test.java:7609:10:7609:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7609:10:7609:21 | cellSet(...) : Set [, com.google.common.collect.Table.rowKey] : Object | provenance | MaD:504 | | Test.java:7609:10:7609:21 | cellSet(...) : Set [, com.google.common.collect.Table.rowKey] : Object | Test.java:7610:20:7610:22 | out : Set [, com.google.common.collect.Table.rowKey] : Object | provenance | | | Test.java:7610:9:7610:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | Test.java:7610:9:7610:35 | getRowKey(...) | provenance | MaD:527 | +| Test.java:7610:20:7610:22 | out : Set [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:19:110:32 | it : Set [, com.google.common.collect.Table.rowKey] : Object | provenance | | | Test.java:7610:20:7610:22 | out : Set [, com.google.common.collect.Table.rowKey] : Object | Test.java:7610:9:7610:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:555 | | Test.java:7615:24:7615:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7616:10:7616:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | | Test.java:7615:40:7615:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7615:24:7615:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | @@ -8143,6 +8288,7 @@ edges | Test.java:7616:10:7616:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7616:10:7616:21 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | provenance | MaD:504 | | Test.java:7616:10:7616:21 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | Test.java:7617:20:7617:22 | out : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | provenance | | | Test.java:7617:9:7617:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | Test.java:7617:9:7617:35 | getRowKey(...) | provenance | MaD:527 | +| Test.java:7617:20:7617:22 | out : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | provenance | | | Test.java:7617:20:7617:22 | out : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | Test.java:7617:9:7617:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | provenance | MaD:555 | | Test.java:7622:15:7622:51 | (...)... : TreeBasedTable [] : Object | Test.java:7623:10:7623:11 | in : TreeBasedTable [] : Object | provenance | | | Test.java:7622:22:7622:51 | newTable(...) : TreeBasedTable [] : Object | Test.java:7622:15:7622:51 | (...)... : TreeBasedTable [] : Object | provenance | | @@ -8221,6 +8367,7 @@ edges | Test.java:7686:10:7686:23 | columnMap(...) : Map [, ] : Object | Test.java:7687:33:7687:35 | out : Map [, ] : Object | provenance | | | Test.java:7687:21:7687:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | | Test.java:7687:21:7687:36 | getMapValue(...) : Map [] : Object | Test.java:7687:9:7687:37 | getMapValue(...) | provenance | MaD:561 | +| Test.java:7687:33:7687:35 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | provenance | | | Test.java:7687:33:7687:35 | out : Map [, ] : Object | Test.java:7687:21:7687:36 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | | Test.java:7692:20:7692:89 | (...)... : ArrayTable [] : Object | Test.java:7693:10:7693:11 | in : ArrayTable [] : Object | provenance | | | Test.java:7692:32:7692:89 | create(...) : ArrayTable [] : Object | Test.java:7692:20:7692:89 | (...)... : ArrayTable [] : Object | provenance | | @@ -8230,6 +8377,7 @@ edges | Test.java:7693:10:7693:23 | columnMap(...) : Map [, ] : Object | Test.java:7694:33:7694:35 | out : Map [, ] : Object | provenance | | | Test.java:7694:21:7694:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | | Test.java:7694:21:7694:36 | getMapValue(...) : Map [] : Object | Test.java:7694:9:7694:37 | getMapValue(...) | provenance | MaD:561 | +| Test.java:7694:33:7694:35 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | provenance | | | Test.java:7694:33:7694:35 | out : Map [, ] : Object | Test.java:7694:21:7694:36 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | | Test.java:7699:24:7699:78 | (...)... : ImmutableTable [] : Object | Test.java:7700:10:7700:11 | in : ImmutableTable [] : Object | provenance | | | Test.java:7699:40:7699:78 | of(...) : ImmutableTable [] : Object | Test.java:7699:24:7699:78 | (...)... : ImmutableTable [] : Object | provenance | | @@ -8238,6 +8386,7 @@ edges | Test.java:7700:10:7700:23 | columnMap(...) : ImmutableMap [, ] : Object | Test.java:7701:33:7701:35 | out : ImmutableMap [, ] : Object | provenance | | | Test.java:7701:21:7701:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | | Test.java:7701:21:7701:36 | getMapValue(...) : Map [] : Object | Test.java:7701:9:7701:37 | getMapValue(...) | provenance | MaD:561 | +| Test.java:7701:33:7701:35 | out : ImmutableMap [, ] : Object | Test.java:118:20:118:31 | map : ImmutableMap [, ] : Object | provenance | | | Test.java:7701:33:7701:35 | out : ImmutableMap [, ] : Object | Test.java:7701:21:7701:36 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | | Test.java:7706:15:7706:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7707:10:7707:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | | Test.java:7706:22:7706:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7706:15:7706:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | @@ -8270,6 +8419,7 @@ edges | Test.java:7728:10:7728:23 | columnMap(...) : Map [, ] : Object | Test.java:7729:31:7729:33 | out : Map [, ] : Object | provenance | | | Test.java:7729:19:7729:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | | Test.java:7729:19:7729:34 | getMapValue(...) : Map [] : Object | Test.java:7729:9:7729:35 | getMapKey(...) | provenance | MaD:562 | +| Test.java:7729:31:7729:33 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | provenance | | | Test.java:7729:31:7729:33 | out : Map [, ] : Object | Test.java:7729:19:7729:34 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | | Test.java:7734:20:7734:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7735:10:7735:11 | in : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | | Test.java:7734:32:7734:89 | create(...) : ArrayTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7734:20:7734:89 | (...)... : ArrayTable [com.google.common.collect.Table.rowKey] : Object | provenance | | @@ -8279,6 +8429,7 @@ edges | Test.java:7735:10:7735:23 | columnMap(...) : Map [, ] : Object | Test.java:7736:31:7736:33 | out : Map [, ] : Object | provenance | | | Test.java:7736:19:7736:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | | Test.java:7736:19:7736:34 | getMapValue(...) : Map [] : Object | Test.java:7736:9:7736:35 | getMapKey(...) | provenance | MaD:562 | +| Test.java:7736:31:7736:33 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | provenance | | | Test.java:7736:31:7736:33 | out : Map [, ] : Object | Test.java:7736:19:7736:34 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | | Test.java:7741:24:7741:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7742:10:7742:11 | in : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | | Test.java:7741:40:7741:78 | of(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7741:24:7741:78 | (...)... : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | provenance | | @@ -8287,6 +8438,7 @@ edges | Test.java:7742:10:7742:23 | columnMap(...) : ImmutableMap [, ] : Object | Test.java:7743:31:7743:33 | out : ImmutableMap [, ] : Object | provenance | | | Test.java:7743:19:7743:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | | Test.java:7743:19:7743:34 | getMapValue(...) : Map [] : Object | Test.java:7743:9:7743:35 | getMapKey(...) | provenance | MaD:562 | +| Test.java:7743:31:7743:33 | out : ImmutableMap [, ] : Object | Test.java:118:20:118:31 | map : ImmutableMap [, ] : Object | provenance | | | Test.java:7743:31:7743:33 | out : ImmutableMap [, ] : Object | Test.java:7743:19:7743:34 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | | Test.java:7748:15:7748:51 | (...)... : TreeBasedTable [] : Object | Test.java:7749:10:7749:11 | in : TreeBasedTable [] : Object | provenance | | | Test.java:7748:22:7748:51 | newTable(...) : TreeBasedTable [] : Object | Test.java:7748:15:7748:51 | (...)... : TreeBasedTable [] : Object | provenance | | @@ -8561,6 +8713,7 @@ edges | Test.java:8015:10:8015:20 | rowMap(...) : SortedMap [, ] : Object | Test.java:8016:33:8016:35 | out : SortedMap [, ] : Object | provenance | | | Test.java:8016:21:8016:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | | Test.java:8016:21:8016:36 | getMapValue(...) : Map [] : Object | Test.java:8016:9:8016:37 | getMapValue(...) | provenance | MaD:561 | +| Test.java:8016:33:8016:35 | out : SortedMap [, ] : Object | Test.java:118:20:118:31 | map : SortedMap [, ] : Object | provenance | | | Test.java:8016:33:8016:35 | out : SortedMap [, ] : Object | Test.java:8016:21:8016:36 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | | Test.java:8021:24:8021:69 | (...)... : TreeBasedTable [] : Object | Test.java:8022:10:8022:11 | in : TreeBasedTable [] : Object | provenance | | | Test.java:8021:40:8021:69 | newTable(...) : TreeBasedTable [] : Object | Test.java:8021:24:8021:69 | (...)... : TreeBasedTable [] : Object | provenance | | @@ -8570,6 +8723,7 @@ edges | Test.java:8022:10:8022:20 | rowMap(...) : SortedMap [, ] : Object | Test.java:8023:33:8023:35 | out : SortedMap [, ] : Object | provenance | | | Test.java:8023:21:8023:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | | Test.java:8023:21:8023:36 | getMapValue(...) : Map [] : Object | Test.java:8023:9:8023:37 | getMapValue(...) | provenance | MaD:561 | +| Test.java:8023:33:8023:35 | out : SortedMap [, ] : Object | Test.java:118:20:118:31 | map : SortedMap [, ] : Object | provenance | | | Test.java:8023:33:8023:35 | out : SortedMap [, ] : Object | Test.java:8023:21:8023:36 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | | Test.java:8028:15:8028:51 | (...)... : TreeBasedTable [] : Object | Test.java:8029:10:8029:11 | in : TreeBasedTable [] : Object | provenance | | | Test.java:8028:22:8028:51 | newTable(...) : TreeBasedTable [] : Object | Test.java:8028:15:8028:51 | (...)... : TreeBasedTable [] : Object | provenance | | @@ -8579,6 +8733,7 @@ edges | Test.java:8029:10:8029:20 | rowMap(...) : Map [, ] : Object | Test.java:8030:33:8030:35 | out : Map [, ] : Object | provenance | | | Test.java:8030:21:8030:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | | Test.java:8030:21:8030:36 | getMapValue(...) : Map [] : Object | Test.java:8030:9:8030:37 | getMapValue(...) | provenance | MaD:561 | +| Test.java:8030:33:8030:35 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | provenance | | | Test.java:8030:33:8030:35 | out : Map [, ] : Object | Test.java:8030:21:8030:36 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | | Test.java:8035:20:8035:89 | (...)... : ArrayTable [] : Object | Test.java:8036:10:8036:11 | in : ArrayTable [] : Object | provenance | | | Test.java:8035:32:8035:89 | create(...) : ArrayTable [] : Object | Test.java:8035:20:8035:89 | (...)... : ArrayTable [] : Object | provenance | | @@ -8588,6 +8743,7 @@ edges | Test.java:8036:10:8036:20 | rowMap(...) : Map [, ] : Object | Test.java:8037:33:8037:35 | out : Map [, ] : Object | provenance | | | Test.java:8037:21:8037:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | | Test.java:8037:21:8037:36 | getMapValue(...) : Map [] : Object | Test.java:8037:9:8037:37 | getMapValue(...) | provenance | MaD:561 | +| Test.java:8037:33:8037:35 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | provenance | | | Test.java:8037:33:8037:35 | out : Map [, ] : Object | Test.java:8037:21:8037:36 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | | Test.java:8042:24:8042:78 | (...)... : ImmutableTable [] : Object | Test.java:8043:10:8043:11 | in : ImmutableTable [] : Object | provenance | | | Test.java:8042:40:8042:78 | of(...) : ImmutableTable [] : Object | Test.java:8042:24:8042:78 | (...)... : ImmutableTable [] : Object | provenance | | @@ -8596,6 +8752,7 @@ edges | Test.java:8043:10:8043:20 | rowMap(...) : ImmutableMap [, ] : Object | Test.java:8044:33:8044:35 | out : ImmutableMap [, ] : Object | provenance | | | Test.java:8044:21:8044:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | provenance | | | Test.java:8044:21:8044:36 | getMapValue(...) : Map [] : Object | Test.java:8044:9:8044:37 | getMapValue(...) | provenance | MaD:561 | +| Test.java:8044:33:8044:35 | out : ImmutableMap [, ] : Object | Test.java:118:20:118:31 | map : ImmutableMap [, ] : Object | provenance | | | Test.java:8044:33:8044:35 | out : ImmutableMap [, ] : Object | Test.java:8044:21:8044:36 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | | Test.java:8049:24:8049:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8050:10:8050:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | | Test.java:8049:40:8049:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8049:24:8049:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | @@ -8605,6 +8762,7 @@ edges | Test.java:8050:10:8050:20 | rowMap(...) : SortedMap [, ] : Object | Test.java:8051:31:8051:33 | out : SortedMap [, ] : Object | provenance | | | Test.java:8051:19:8051:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | | Test.java:8051:19:8051:34 | getMapValue(...) : Map [] : Object | Test.java:8051:9:8051:35 | getMapKey(...) | provenance | MaD:562 | +| Test.java:8051:31:8051:33 | out : SortedMap [, ] : Object | Test.java:118:20:118:31 | map : SortedMap [, ] : Object | provenance | | | Test.java:8051:31:8051:33 | out : SortedMap [, ] : Object | Test.java:8051:19:8051:34 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | | Test.java:8056:24:8056:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8057:10:8057:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | | Test.java:8056:40:8056:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8056:24:8056:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | @@ -8614,6 +8772,7 @@ edges | Test.java:8057:10:8057:20 | rowMap(...) : SortedMap [, ] : Object | Test.java:8058:31:8058:33 | out : SortedMap [, ] : Object | provenance | | | Test.java:8058:19:8058:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | | Test.java:8058:19:8058:34 | getMapValue(...) : Map [] : Object | Test.java:8058:9:8058:35 | getMapKey(...) | provenance | MaD:562 | +| Test.java:8058:31:8058:33 | out : SortedMap [, ] : Object | Test.java:118:20:118:31 | map : SortedMap [, ] : Object | provenance | | | Test.java:8058:31:8058:33 | out : SortedMap [, ] : Object | Test.java:8058:19:8058:34 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | | Test.java:8063:15:8063:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8064:10:8064:11 | in : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | | Test.java:8063:22:8063:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8063:15:8063:51 | (...)... : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | provenance | | @@ -8623,6 +8782,7 @@ edges | Test.java:8064:10:8064:20 | rowMap(...) : Map [, ] : Object | Test.java:8065:31:8065:33 | out : Map [, ] : Object | provenance | | | Test.java:8065:19:8065:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | | Test.java:8065:19:8065:34 | getMapValue(...) : Map [] : Object | Test.java:8065:9:8065:35 | getMapKey(...) | provenance | MaD:562 | +| Test.java:8065:31:8065:33 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | provenance | | | Test.java:8065:31:8065:33 | out : Map [, ] : Object | Test.java:8065:19:8065:34 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | | Test.java:8070:20:8070:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8071:10:8071:11 | in : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | | Test.java:8070:32:8070:89 | create(...) : ArrayTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8070:20:8070:89 | (...)... : ArrayTable [com.google.common.collect.Table.columnKey] : Object | provenance | | @@ -8632,6 +8792,7 @@ edges | Test.java:8071:10:8071:20 | rowMap(...) : Map [, ] : Object | Test.java:8072:31:8072:33 | out : Map [, ] : Object | provenance | | | Test.java:8072:19:8072:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | | Test.java:8072:19:8072:34 | getMapValue(...) : Map [] : Object | Test.java:8072:9:8072:35 | getMapKey(...) | provenance | MaD:562 | +| Test.java:8072:31:8072:33 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | provenance | | | Test.java:8072:31:8072:33 | out : Map [, ] : Object | Test.java:8072:19:8072:34 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | | Test.java:8077:24:8077:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8078:10:8078:11 | in : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | | Test.java:8077:40:8077:78 | of(...) : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8077:24:8077:78 | (...)... : ImmutableTable [com.google.common.collect.Table.columnKey] : Object | provenance | | @@ -8640,6 +8801,7 @@ edges | Test.java:8078:10:8078:20 | rowMap(...) : ImmutableMap [, ] : Object | Test.java:8079:31:8079:33 | out : ImmutableMap [, ] : Object | provenance | | | Test.java:8079:19:8079:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | provenance | | | Test.java:8079:19:8079:34 | getMapValue(...) : Map [] : Object | Test.java:8079:9:8079:35 | getMapKey(...) | provenance | MaD:562 | +| Test.java:8079:31:8079:33 | out : ImmutableMap [, ] : Object | Test.java:118:20:118:31 | map : ImmutableMap [, ] : Object | provenance | | | Test.java:8079:31:8079:33 | out : ImmutableMap [, ] : Object | Test.java:8079:19:8079:34 | getMapValue(...) : Map [] : Object | provenance | MaD:561 | | Test.java:8084:24:8084:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8085:10:8085:11 | in : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | | Test.java:8084:40:8084:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8084:24:8084:69 | (...)... : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | provenance | | @@ -9211,6 +9373,9 @@ nodes | Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | semmle.label | build(...) : ImmutableCollection [] : Object | | Test.java:110:19:110:32 | it : ArrayDeque [] : Object | semmle.label | it : ArrayDeque [] : Object | | Test.java:110:19:110:32 | it : ArrayList [] : Object | semmle.label | it : ArrayList [] : Object | +| Test.java:110:19:110:32 | it : Collection [, ] : Object | semmle.label | it : Collection [, ] : Object | +| Test.java:110:19:110:32 | it : Collection [, ] : Object | semmle.label | it : Collection [, ] : Object | +| Test.java:110:19:110:32 | it : Collection [, ] : Object | semmle.label | it : Collection [, ] : Object | | Test.java:110:19:110:32 | it : Collection [] : Comparable | semmle.label | it : Collection [] : Comparable | | Test.java:110:19:110:32 | it : Collection [] : Object | semmle.label | it : Collection [] : Object | | Test.java:110:19:110:32 | it : ConcurrentHashMultiset [] : Object | semmle.label | it : ConcurrentHashMultiset [] : Object | @@ -9220,26 +9385,43 @@ nodes | Test.java:110:19:110:32 | it : Deque [] : Object | semmle.label | it : Deque [] : Object | | Test.java:110:19:110:32 | it : HashMultiset [] : Object | semmle.label | it : HashMultiset [] : Object | | Test.java:110:19:110:32 | it : HashSet [] : Object | semmle.label | it : HashSet [] : Object | +| Test.java:110:19:110:32 | it : ImmutableCollection [, ] : Object | semmle.label | it : ImmutableCollection [, ] : Object | +| Test.java:110:19:110:32 | it : ImmutableCollection [, ] : Object | semmle.label | it : ImmutableCollection [, ] : Object | | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | semmle.label | it : ImmutableCollection [] : Object | | Test.java:110:19:110:32 | it : ImmutableList [] : Object | semmle.label | it : ImmutableList [] : Object | | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | semmle.label | it : ImmutableMultiset [] : Object | +| Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | semmle.label | it : ImmutableSet [, ] : Object | +| Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | semmle.label | it : ImmutableSet [, ] : Object | +| Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | semmle.label | it : ImmutableSet [, ] : Object | +| Test.java:110:19:110:32 | it : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | semmle.label | it : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | +| Test.java:110:19:110:32 | it : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | semmle.label | it : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | semmle.label | it : ImmutableSet [] : Object | | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Comparable | semmle.label | it : ImmutableSortedMultiset [] : Comparable | | Test.java:110:19:110:32 | it : ImmutableSortedMultiset [] : Object | semmle.label | it : ImmutableSortedMultiset [] : Object | | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | semmle.label | it : ImmutableSortedSet [] : Comparable | | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Object | semmle.label | it : ImmutableSortedSet [] : Object | +| Test.java:110:19:110:32 | it : Iterable [, ] : Object | semmle.label | it : Iterable [, ] : Object | | Test.java:110:19:110:32 | it : Iterable [] : Object | semmle.label | it : Iterable [] : Object | | Test.java:110:19:110:32 | it : LinkedBlockingDeque [] : Object | semmle.label | it : LinkedBlockingDeque [] : Object | | Test.java:110:19:110:32 | it : LinkedBlockingQueue [] : Object | semmle.label | it : LinkedBlockingQueue [] : Object | | Test.java:110:19:110:32 | it : LinkedHashMultiset [] : Object | semmle.label | it : LinkedHashMultiset [] : Object | | Test.java:110:19:110:32 | it : LinkedHashSet [] : Object | semmle.label | it : LinkedHashSet [] : Object | | Test.java:110:19:110:32 | it : LinkedList [] : Object | semmle.label | it : LinkedList [] : Object | +| Test.java:110:19:110:32 | it : List [, ] : Object | semmle.label | it : List [, ] : Object | +| Test.java:110:19:110:32 | it : List [, ] : Object | semmle.label | it : List [, ] : Object | +| Test.java:110:19:110:32 | it : List [, ] : Object | semmle.label | it : List [, ] : Object | | Test.java:110:19:110:32 | it : List [] : Object | semmle.label | it : List [] : Object | | Test.java:110:19:110:32 | it : Multiset [] : Object | semmle.label | it : Multiset [] : Object | | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | semmle.label | it : NavigableSet [] : Comparable | | Test.java:110:19:110:32 | it : PriorityBlockingQueue [] : Object | semmle.label | it : PriorityBlockingQueue [] : Object | | Test.java:110:19:110:32 | it : PriorityQueue [] : Object | semmle.label | it : PriorityQueue [] : Object | | Test.java:110:19:110:32 | it : Queue [] : Object | semmle.label | it : Queue [] : Object | +| Test.java:110:19:110:32 | it : Set [, ] : Comparable | semmle.label | it : Set [, ] : Comparable | +| Test.java:110:19:110:32 | it : Set [, ] : Object | semmle.label | it : Set [, ] : Object | +| Test.java:110:19:110:32 | it : Set [, ] : Object | semmle.label | it : Set [, ] : Object | +| Test.java:110:19:110:32 | it : Set [, ] : Object | semmle.label | it : Set [, ] : Object | +| Test.java:110:19:110:32 | it : Set [, com.google.common.collect.Table.columnKey] : Object | semmle.label | it : Set [, com.google.common.collect.Table.columnKey] : Object | +| Test.java:110:19:110:32 | it : Set [, com.google.common.collect.Table.rowKey] : Object | semmle.label | it : Set [, com.google.common.collect.Table.rowKey] : Object | | Test.java:110:19:110:32 | it : Set [] : Object | semmle.label | it : Set [] : Object | | Test.java:110:19:110:32 | it : SetView [] : Object | semmle.label | it : SetView [] : Object | | Test.java:110:19:110:32 | it : SortedMultiset [] : Comparable | semmle.label | it : SortedMultiset [] : Comparable | @@ -9249,6 +9431,9 @@ nodes | Test.java:110:19:110:32 | it : TreeSet [] : Object | semmle.label | it : TreeSet [] : Object | | Test.java:110:44:110:45 | it : ArrayDeque [] : Object | semmle.label | it : ArrayDeque [] : Object | | Test.java:110:44:110:45 | it : ArrayList [] : Object | semmle.label | it : ArrayList [] : Object | +| Test.java:110:44:110:45 | it : Collection [, ] : Object | semmle.label | it : Collection [, ] : Object | +| Test.java:110:44:110:45 | it : Collection [, ] : Object | semmle.label | it : Collection [, ] : Object | +| Test.java:110:44:110:45 | it : Collection [, ] : Object | semmle.label | it : Collection [, ] : Object | | Test.java:110:44:110:45 | it : Collection [] : Comparable | semmle.label | it : Collection [] : Comparable | | Test.java:110:44:110:45 | it : Collection [] : Object | semmle.label | it : Collection [] : Object | | Test.java:110:44:110:45 | it : ConcurrentHashMultiset [] : Object | semmle.label | it : ConcurrentHashMultiset [] : Object | @@ -9258,26 +9443,43 @@ nodes | Test.java:110:44:110:45 | it : Deque [] : Object | semmle.label | it : Deque [] : Object | | Test.java:110:44:110:45 | it : HashMultiset [] : Object | semmle.label | it : HashMultiset [] : Object | | Test.java:110:44:110:45 | it : HashSet [] : Object | semmle.label | it : HashSet [] : Object | +| Test.java:110:44:110:45 | it : ImmutableCollection [, ] : Object | semmle.label | it : ImmutableCollection [, ] : Object | +| Test.java:110:44:110:45 | it : ImmutableCollection [, ] : Object | semmle.label | it : ImmutableCollection [, ] : Object | | Test.java:110:44:110:45 | it : ImmutableCollection [] : Object | semmle.label | it : ImmutableCollection [] : Object | | Test.java:110:44:110:45 | it : ImmutableList [] : Object | semmle.label | it : ImmutableList [] : Object | | Test.java:110:44:110:45 | it : ImmutableMultiset [] : Object | semmle.label | it : ImmutableMultiset [] : Object | +| Test.java:110:44:110:45 | it : ImmutableSet [, ] : Object | semmle.label | it : ImmutableSet [, ] : Object | +| Test.java:110:44:110:45 | it : ImmutableSet [, ] : Object | semmle.label | it : ImmutableSet [, ] : Object | +| Test.java:110:44:110:45 | it : ImmutableSet [, ] : Object | semmle.label | it : ImmutableSet [, ] : Object | +| Test.java:110:44:110:45 | it : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | semmle.label | it : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | +| Test.java:110:44:110:45 | it : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | semmle.label | it : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | | Test.java:110:44:110:45 | it : ImmutableSet [] : Object | semmle.label | it : ImmutableSet [] : Object | | Test.java:110:44:110:45 | it : ImmutableSortedMultiset [] : Comparable | semmle.label | it : ImmutableSortedMultiset [] : Comparable | | Test.java:110:44:110:45 | it : ImmutableSortedMultiset [] : Object | semmle.label | it : ImmutableSortedMultiset [] : Object | | Test.java:110:44:110:45 | it : ImmutableSortedSet [] : Comparable | semmle.label | it : ImmutableSortedSet [] : Comparable | | Test.java:110:44:110:45 | it : ImmutableSortedSet [] : Object | semmle.label | it : ImmutableSortedSet [] : Object | +| Test.java:110:44:110:45 | it : Iterable [, ] : Object | semmle.label | it : Iterable [, ] : Object | | Test.java:110:44:110:45 | it : Iterable [] : Object | semmle.label | it : Iterable [] : Object | | Test.java:110:44:110:45 | it : LinkedBlockingDeque [] : Object | semmle.label | it : LinkedBlockingDeque [] : Object | | Test.java:110:44:110:45 | it : LinkedBlockingQueue [] : Object | semmle.label | it : LinkedBlockingQueue [] : Object | | Test.java:110:44:110:45 | it : LinkedHashMultiset [] : Object | semmle.label | it : LinkedHashMultiset [] : Object | | Test.java:110:44:110:45 | it : LinkedHashSet [] : Object | semmle.label | it : LinkedHashSet [] : Object | | Test.java:110:44:110:45 | it : LinkedList [] : Object | semmle.label | it : LinkedList [] : Object | +| Test.java:110:44:110:45 | it : List [, ] : Object | semmle.label | it : List [, ] : Object | +| Test.java:110:44:110:45 | it : List [, ] : Object | semmle.label | it : List [, ] : Object | +| Test.java:110:44:110:45 | it : List [, ] : Object | semmle.label | it : List [, ] : Object | | Test.java:110:44:110:45 | it : List [] : Object | semmle.label | it : List [] : Object | | Test.java:110:44:110:45 | it : Multiset [] : Object | semmle.label | it : Multiset [] : Object | | Test.java:110:44:110:45 | it : NavigableSet [] : Comparable | semmle.label | it : NavigableSet [] : Comparable | | Test.java:110:44:110:45 | it : PriorityBlockingQueue [] : Object | semmle.label | it : PriorityBlockingQueue [] : Object | | Test.java:110:44:110:45 | it : PriorityQueue [] : Object | semmle.label | it : PriorityQueue [] : Object | | Test.java:110:44:110:45 | it : Queue [] : Object | semmle.label | it : Queue [] : Object | +| Test.java:110:44:110:45 | it : Set [, ] : Comparable | semmle.label | it : Set [, ] : Comparable | +| Test.java:110:44:110:45 | it : Set [, ] : Object | semmle.label | it : Set [, ] : Object | +| Test.java:110:44:110:45 | it : Set [, ] : Object | semmle.label | it : Set [, ] : Object | +| Test.java:110:44:110:45 | it : Set [, ] : Object | semmle.label | it : Set [, ] : Object | +| Test.java:110:44:110:45 | it : Set [, com.google.common.collect.Table.columnKey] : Object | semmle.label | it : Set [, com.google.common.collect.Table.columnKey] : Object | +| Test.java:110:44:110:45 | it : Set [, com.google.common.collect.Table.rowKey] : Object | semmle.label | it : Set [, com.google.common.collect.Table.rowKey] : Object | | Test.java:110:44:110:45 | it : Set [] : Object | semmle.label | it : Set [] : Object | | Test.java:110:44:110:45 | it : SetView [] : Object | semmle.label | it : SetView [] : Object | | Test.java:110:44:110:45 | it : SortedMultiset [] : Comparable | semmle.label | it : SortedMultiset [] : Comparable | @@ -9285,6 +9487,26 @@ nodes | Test.java:110:44:110:45 | it : SortedSet [] : Object | semmle.label | it : SortedSet [] : Object | | Test.java:110:44:110:45 | it : TreeMultiset [] : Object | semmle.label | it : TreeMultiset [] : Object | | Test.java:110:44:110:45 | it : TreeSet [] : Object | semmle.label | it : TreeSet [] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Comparable | semmle.label | iterator(...) : Iterator [, ] : Comparable | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, com.google.common.collect.Table.columnKey] : Object | semmle.label | iterator(...) : Iterator [, com.google.common.collect.Table.columnKey] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, com.google.common.collect.Table.columnKey] : Object | semmle.label | iterator(...) : Iterator [, com.google.common.collect.Table.columnKey] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, com.google.common.collect.Table.rowKey] : Object | semmle.label | iterator(...) : Iterator [, com.google.common.collect.Table.rowKey] : Object | +| Test.java:110:44:110:56 | iterator(...) : Iterator [, com.google.common.collect.Table.rowKey] : Object | semmle.label | iterator(...) : Iterator [, com.google.common.collect.Table.rowKey] : Object | | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | semmle.label | iterator(...) : Iterator [] : Comparable | | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | semmle.label | iterator(...) : Iterator [] : Comparable | | Test.java:110:44:110:56 | iterator(...) : Iterator [] : Comparable | semmle.label | iterator(...) : Iterator [] : Comparable | @@ -9361,15 +9583,38 @@ nodes | Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | | Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | | Test.java:110:44:110:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:110:44:110:63 | next(...) : Object [] : Comparable | semmle.label | next(...) : Object [] : Comparable | +| Test.java:110:44:110:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:110:44:110:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:110:44:110:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:110:44:110:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:110:44:110:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:110:44:110:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:110:44:110:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:110:44:110:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:110:44:110:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:110:44:110:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:110:44:110:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:110:44:110:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:110:44:110:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:110:44:110:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:110:44:110:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:110:44:110:63 | next(...) : Object [com.google.common.collect.Table.columnKey] : Object | semmle.label | next(...) : Object [com.google.common.collect.Table.columnKey] : Object | +| Test.java:110:44:110:63 | next(...) : Object [com.google.common.collect.Table.columnKey] : Object | semmle.label | next(...) : Object [com.google.common.collect.Table.columnKey] : Object | +| Test.java:110:44:110:63 | next(...) : Object [com.google.common.collect.Table.rowKey] : Object | semmle.label | next(...) : Object [com.google.common.collect.Table.rowKey] : Object | +| Test.java:110:44:110:63 | next(...) : Object [com.google.common.collect.Table.rowKey] : Object | semmle.label | next(...) : Object [com.google.common.collect.Table.rowKey] : Object | | Test.java:111:19:111:32 | it : Iterator [] : Object | semmle.label | it : Iterator [] : Object | | Test.java:111:19:111:32 | it : PeekingIterator [] : Object | semmle.label | it : PeekingIterator [] : Object | +| Test.java:111:19:111:32 | it : UnmodifiableIterator [, ] : Object | semmle.label | it : UnmodifiableIterator [, ] : Object | | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | semmle.label | it : UnmodifiableIterator [] : Object | | Test.java:111:44:111:45 | it : Iterator [] : Object | semmle.label | it : Iterator [] : Object | | Test.java:111:44:111:45 | it : PeekingIterator [] : Object | semmle.label | it : PeekingIterator [] : Object | +| Test.java:111:44:111:45 | it : UnmodifiableIterator [, ] : Object | semmle.label | it : UnmodifiableIterator [, ] : Object | | Test.java:111:44:111:45 | it : UnmodifiableIterator [] : Object | semmle.label | it : UnmodifiableIterator [] : Object | | Test.java:111:44:111:52 | next(...) : Object | semmle.label | next(...) : Object | | Test.java:111:44:111:52 | next(...) : Object | semmle.label | next(...) : Object | | Test.java:111:44:111:52 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:111:44:111:52 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | | Test.java:112:19:112:31 | o : Optional [] : Object | semmle.label | o : Optional [] : Object | | Test.java:112:43:112:43 | o : Optional [] : Object | semmle.label | o : Optional [] : Object | | Test.java:112:43:112:49 | get(...) : Object | semmle.label | get(...) : Object | @@ -9426,12 +9671,26 @@ nodes | Test.java:118:20:118:31 | map : HashMap [] : Object | semmle.label | map : HashMap [] : Object | | Test.java:118:20:118:31 | map : ImmutableBiMap [] : Object | semmle.label | map : ImmutableBiMap [] : Object | | Test.java:118:20:118:31 | map : ImmutableClassToInstanceMap [] : Object | semmle.label | map : ImmutableClassToInstanceMap [] : Object | +| Test.java:118:20:118:31 | map : ImmutableMap [, ] : Object | semmle.label | map : ImmutableMap [, ] : Object | +| Test.java:118:20:118:31 | map : ImmutableMap [, ] : Object | semmle.label | map : ImmutableMap [, ] : Object | +| Test.java:118:20:118:31 | map : ImmutableMap [, ] : Object | semmle.label | map : ImmutableMap [, ] : Object | | Test.java:118:20:118:31 | map : ImmutableMap [] : Object | semmle.label | map : ImmutableMap [] : Object | | Test.java:118:20:118:31 | map : ImmutableSortedMap [] : Object | semmle.label | map : ImmutableSortedMap [] : Object | | Test.java:118:20:118:31 | map : LinkedHashMap [] : Object | semmle.label | map : LinkedHashMap [] : Object | +| Test.java:118:20:118:31 | map : Map [, ] : Comparable | semmle.label | map : Map [, ] : Comparable | +| Test.java:118:20:118:31 | map : Map [, ] : Object | semmle.label | map : Map [, ] : Object | +| Test.java:118:20:118:31 | map : Map [, ] : Object | semmle.label | map : Map [, ] : Object | +| Test.java:118:20:118:31 | map : Map [, ] : Object | semmle.label | map : Map [, ] : Object | +| Test.java:118:20:118:31 | map : Map [, com.google.common.collect.MapDifference.left] : Object | semmle.label | map : Map [, com.google.common.collect.MapDifference.left] : Object | +| Test.java:118:20:118:31 | map : Map [, com.google.common.collect.MapDifference.right] : Object | semmle.label | map : Map [, com.google.common.collect.MapDifference.right] : Object | | Test.java:118:20:118:31 | map : Map [] : Object | semmle.label | map : Map [] : Object | | Test.java:118:20:118:31 | map : MutableClassToInstanceMap [] : Object | semmle.label | map : MutableClassToInstanceMap [] : Object | +| Test.java:118:20:118:31 | map : NavigableMap [, ] : Comparable | semmle.label | map : NavigableMap [, ] : Comparable | | Test.java:118:20:118:31 | map : NavigableMap [] : Object | semmle.label | map : NavigableMap [] : Object | +| Test.java:118:20:118:31 | map : SortedMap [, ] : Object | semmle.label | map : SortedMap [, ] : Object | +| Test.java:118:20:118:31 | map : SortedMap [, ] : Object | semmle.label | map : SortedMap [, ] : Object | +| Test.java:118:20:118:31 | map : SortedMap [, com.google.common.collect.MapDifference.left] : Object | semmle.label | map : SortedMap [, com.google.common.collect.MapDifference.left] : Object | +| Test.java:118:20:118:31 | map : SortedMap [, com.google.common.collect.MapDifference.right] : Object | semmle.label | map : SortedMap [, com.google.common.collect.MapDifference.right] : Object | | Test.java:118:20:118:31 | map : SortedMap [] : Object | semmle.label | map : SortedMap [] : Object | | Test.java:118:20:118:31 | map : TreeMap [] : Object | semmle.label | map : TreeMap [] : Object | | Test.java:118:43:118:45 | map : BiMap [] : Object | semmle.label | map : BiMap [] : Object | @@ -9441,12 +9700,26 @@ nodes | Test.java:118:43:118:45 | map : HashMap [] : Object | semmle.label | map : HashMap [] : Object | | Test.java:118:43:118:45 | map : ImmutableBiMap [] : Object | semmle.label | map : ImmutableBiMap [] : Object | | Test.java:118:43:118:45 | map : ImmutableClassToInstanceMap [] : Object | semmle.label | map : ImmutableClassToInstanceMap [] : Object | +| Test.java:118:43:118:45 | map : ImmutableMap [, ] : Object | semmle.label | map : ImmutableMap [, ] : Object | +| Test.java:118:43:118:45 | map : ImmutableMap [, ] : Object | semmle.label | map : ImmutableMap [, ] : Object | +| Test.java:118:43:118:45 | map : ImmutableMap [, ] : Object | semmle.label | map : ImmutableMap [, ] : Object | | Test.java:118:43:118:45 | map : ImmutableMap [] : Object | semmle.label | map : ImmutableMap [] : Object | | Test.java:118:43:118:45 | map : ImmutableSortedMap [] : Object | semmle.label | map : ImmutableSortedMap [] : Object | | Test.java:118:43:118:45 | map : LinkedHashMap [] : Object | semmle.label | map : LinkedHashMap [] : Object | +| Test.java:118:43:118:45 | map : Map [, ] : Comparable | semmle.label | map : Map [, ] : Comparable | +| Test.java:118:43:118:45 | map : Map [, ] : Object | semmle.label | map : Map [, ] : Object | +| Test.java:118:43:118:45 | map : Map [, ] : Object | semmle.label | map : Map [, ] : Object | +| Test.java:118:43:118:45 | map : Map [, ] : Object | semmle.label | map : Map [, ] : Object | +| Test.java:118:43:118:45 | map : Map [, com.google.common.collect.MapDifference.left] : Object | semmle.label | map : Map [, com.google.common.collect.MapDifference.left] : Object | +| Test.java:118:43:118:45 | map : Map [, com.google.common.collect.MapDifference.right] : Object | semmle.label | map : Map [, com.google.common.collect.MapDifference.right] : Object | | Test.java:118:43:118:45 | map : Map [] : Object | semmle.label | map : Map [] : Object | | Test.java:118:43:118:45 | map : MutableClassToInstanceMap [] : Object | semmle.label | map : MutableClassToInstanceMap [] : Object | +| Test.java:118:43:118:45 | map : NavigableMap [, ] : Comparable | semmle.label | map : NavigableMap [, ] : Comparable | | Test.java:118:43:118:45 | map : NavigableMap [] : Object | semmle.label | map : NavigableMap [] : Object | +| Test.java:118:43:118:45 | map : SortedMap [, ] : Object | semmle.label | map : SortedMap [, ] : Object | +| Test.java:118:43:118:45 | map : SortedMap [, ] : Object | semmle.label | map : SortedMap [, ] : Object | +| Test.java:118:43:118:45 | map : SortedMap [, com.google.common.collect.MapDifference.left] : Object | semmle.label | map : SortedMap [, com.google.common.collect.MapDifference.left] : Object | +| Test.java:118:43:118:45 | map : SortedMap [, com.google.common.collect.MapDifference.right] : Object | semmle.label | map : SortedMap [, com.google.common.collect.MapDifference.right] : Object | | Test.java:118:43:118:45 | map : SortedMap [] : Object | semmle.label | map : SortedMap [] : Object | | Test.java:118:43:118:45 | map : TreeMap [] : Object | semmle.label | map : TreeMap [] : Object | | Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | @@ -9464,6 +9737,20 @@ nodes | Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | | Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | | Test.java:118:43:118:55 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:118:43:118:55 | get(...) : Object [] : Comparable | semmle.label | get(...) : Object [] : Comparable | +| Test.java:118:43:118:55 | get(...) : Object [] : Comparable | semmle.label | get(...) : Object [] : Comparable | +| Test.java:118:43:118:55 | get(...) : Object [] : Object | semmle.label | get(...) : Object [] : Object | +| Test.java:118:43:118:55 | get(...) : Object [] : Object | semmle.label | get(...) : Object [] : Object | +| Test.java:118:43:118:55 | get(...) : Object [] : Object | semmle.label | get(...) : Object [] : Object | +| Test.java:118:43:118:55 | get(...) : Object [] : Object | semmle.label | get(...) : Object [] : Object | +| Test.java:118:43:118:55 | get(...) : Object [] : Object | semmle.label | get(...) : Object [] : Object | +| Test.java:118:43:118:55 | get(...) : Object [] : Object | semmle.label | get(...) : Object [] : Object | +| Test.java:118:43:118:55 | get(...) : Object [] : Object | semmle.label | get(...) : Object [] : Object | +| Test.java:118:43:118:55 | get(...) : Object [] : Object | semmle.label | get(...) : Object [] : Object | +| Test.java:118:43:118:55 | get(...) : Object [com.google.common.collect.MapDifference.left] : Object | semmle.label | get(...) : Object [com.google.common.collect.MapDifference.left] : Object | +| Test.java:118:43:118:55 | get(...) : Object [com.google.common.collect.MapDifference.left] : Object | semmle.label | get(...) : Object [com.google.common.collect.MapDifference.left] : Object | +| Test.java:118:43:118:55 | get(...) : Object [com.google.common.collect.MapDifference.right] : Object | semmle.label | get(...) : Object [com.google.common.collect.MapDifference.right] : Object | +| Test.java:118:43:118:55 | get(...) : Object [com.google.common.collect.MapDifference.right] : Object | semmle.label | get(...) : Object [com.google.common.collect.MapDifference.right] : Object | | Test.java:119:20:119:36 | map : ArrayListMultimap [] : Object | semmle.label | map : ArrayListMultimap [] : Object | | Test.java:119:20:119:36 | map : HashMultimap [] : Object | semmle.label | map : HashMultimap [] : Object | | Test.java:119:20:119:36 | map : ImmutableListMultimap [] : Object | semmle.label | map : ImmutableListMultimap [] : Object | @@ -17424,7 +17711,11 @@ subpaths | Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | | Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | | Test.java:98:71:98:79 | build(...) : ImmutableMultimap [] : Object | Test.java:100:18:100:34 | map : ImmutableMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:98:61:98:80 | getMapKey(...) : Object | +| Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, ] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:102:76:102:134 | getElement(...) : Cell [] : Object | +| Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:44:110:63 | next(...) : Object [com.google.common.collect.Table.columnKey] : Object | Test.java:102:76:102:134 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | +| Test.java:102:87:102:133 | cellSet(...) : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:44:110:63 | next(...) : Object [com.google.common.collect.Table.rowKey] : Object | Test.java:102:76:102:134 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | | Test.java:104:82:104:90 | build(...) : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:104:66:104:91 | getTable_rowKey(...) : Object | +| Test.java:106:70:106:104 | entrySet(...) : ImmutableSet [, ] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:106:59:106:105 | getElement(...) : Entry [] : Object | | Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:109:62:109:82 | getElement(...) : Object | | Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:109:62:109:82 | getElement(...) : Object | | Test.java:109:73:109:81 | build(...) : ImmutableCollection [] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:109:62:109:82 | getElement(...) : Object | @@ -17462,8 +17753,11 @@ subpaths | Test.java:302:21:302:23 | out : ClassToInstanceMap [] : Object | Test.java:118:20:118:31 | map : ClassToInstanceMap [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:302:9:302:24 | getMapValue(...) | | Test.java:330:20:330:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:330:9:330:23 | getElement(...) | | Test.java:337:20:337:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:337:9:337:35 | getElement(...) | +| Test.java:337:31:337:33 | out : Collection [, ] : Object | Test.java:110:19:110:32 | it : Collection [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:337:20:337:34 | getElement(...) : List [] : Object | | Test.java:344:20:344:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:344:9:344:35 | getElement(...) | +| Test.java:344:31:344:33 | out : Collection [, ] : Object | Test.java:110:19:110:32 | it : Collection [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:344:20:344:34 | getElement(...) : List [] : Object | | Test.java:351:20:351:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:351:9:351:35 | getElement(...) | +| Test.java:351:31:351:33 | out : Collection [, ] : Object | Test.java:110:19:110:32 | it : Collection [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:351:20:351:34 | getElement(...) : List [] : Object | | Test.java:358:20:358:22 | out : ConcurrentHashMultiset [] : Object | Test.java:110:19:110:32 | it : ConcurrentHashMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:358:9:358:23 | getElement(...) | | Test.java:363:43:363:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:363:22:363:51 | newTable(...) : TreeBasedTable [] : Object | | Test.java:365:21:365:23 | out : HashBasedTable [] : Object | Test.java:120:20:120:33 | t : HashBasedTable [] : Object | Test.java:120:45:120:72 | next(...) : Object | Test.java:365:9:365:24 | getMapValue(...) | @@ -18062,7 +18356,9 @@ subpaths | Test.java:4831:20:4831:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4831:9:4831:23 | getElement(...) | | Test.java:4838:20:4838:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4838:9:4838:23 | getElement(...) | | Test.java:4845:20:4845:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4845:9:4845:35 | getElement(...) | +| Test.java:4845:31:4845:33 | out : Iterable [, ] : Object | Test.java:110:19:110:32 | it : Iterable [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:4845:20:4845:34 | getElement(...) : List [] : Object | | Test.java:4852:20:4852:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4852:9:4852:35 | getElement(...) | +| Test.java:4852:31:4852:33 | out : Iterable [, ] : Object | Test.java:110:19:110:32 | it : Iterable [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:4852:20:4852:34 | getElement(...) : List [] : Object | | Test.java:4859:20:4859:22 | out : Iterable [] : Object | Test.java:110:19:110:32 | it : Iterable [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:4859:9:4859:23 | getElement(...) | | Test.java:4866:25:4866:27 | out : Object[] [[]] : Object | Test.java:107:24:107:32 | array : Object[] [[]] : Object | Test.java:107:44:107:51 | ...[...] : Object | Test.java:4866:9:4866:28 | getArrayElement(...) | | Test.java:4880:20:4880:22 | out : Optional [] : Object | Test.java:112:19:112:31 | o : Optional [] : Object | Test.java:112:43:112:49 | get(...) : Object | Test.java:4880:9:4880:23 | getElement(...) | @@ -18091,7 +18387,9 @@ subpaths | Test.java:5139:20:5139:22 | out : Iterator [] : Object | Test.java:111:19:111:32 | it : Iterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:5139:9:5139:23 | getElement(...) | | Test.java:5146:20:5146:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:5146:9:5146:23 | getElement(...) | | Test.java:5153:20:5153:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5153:9:5153:35 | getElement(...) | +| Test.java:5153:31:5153:33 | out : UnmodifiableIterator [, ] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [, ] : Object | Test.java:111:44:111:52 | next(...) : Object [] : Object | Test.java:5153:20:5153:34 | getElement(...) : List [] : Object | | Test.java:5160:20:5160:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5160:9:5160:35 | getElement(...) | +| Test.java:5160:31:5160:33 | out : UnmodifiableIterator [, ] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [, ] : Object | Test.java:111:44:111:52 | next(...) : Object [] : Object | Test.java:5160:20:5160:34 | getElement(...) : List [] : Object | | Test.java:5167:20:5167:22 | out : PeekingIterator [] : Object | Test.java:111:19:111:32 | it : PeekingIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:5167:9:5167:23 | getElement(...) | | Test.java:5174:20:5174:22 | out : PeekingIterator [] : Object | Test.java:111:19:111:32 | it : PeekingIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:5174:9:5174:23 | getElement(...) | | Test.java:5181:20:5181:22 | out : UnmodifiableIterator [] : Object | Test.java:111:19:111:32 | it : UnmodifiableIterator [] : Object | Test.java:111:44:111:52 | next(...) : Object | Test.java:5181:9:5181:23 | getElement(...) | @@ -18110,7 +18408,9 @@ subpaths | Test.java:5272:20:5272:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5272:9:5272:23 | getElement(...) | | Test.java:5279:20:5279:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5279:9:5279:23 | getElement(...) | | Test.java:5286:20:5286:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5286:9:5286:35 | getElement(...) | +| Test.java:5286:31:5286:33 | out : List [, ] : Object | Test.java:110:19:110:32 | it : List [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:5286:20:5286:34 | getElement(...) : List [] : Object | | Test.java:5293:20:5293:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5293:9:5293:35 | getElement(...) | +| Test.java:5293:31:5293:33 | out : List [, ] : Object | Test.java:110:19:110:32 | it : List [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:5293:20:5293:34 | getElement(...) : List [] : Object | | Test.java:5300:20:5300:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5300:9:5300:23 | getElement(...) | | Test.java:5307:20:5307:22 | out : ImmutableList [] : Object | Test.java:110:19:110:32 | it : ImmutableList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5307:9:5307:23 | getElement(...) | | Test.java:5314:20:5314:22 | out : ArrayList [] : Object | Test.java:110:19:110:32 | it : ArrayList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5314:9:5314:23 | getElement(...) | @@ -18119,6 +18419,7 @@ subpaths | Test.java:5335:20:5335:22 | out : CopyOnWriteArrayList [] : Object | Test.java:110:19:110:32 | it : CopyOnWriteArrayList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5335:9:5335:23 | getElement(...) | | Test.java:5342:20:5342:22 | out : LinkedList [] : Object | Test.java:110:19:110:32 | it : LinkedList [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5342:9:5342:23 | getElement(...) | | Test.java:5349:20:5349:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5349:9:5349:35 | getElement(...) | +| Test.java:5349:31:5349:33 | out : List [, ] : Object | Test.java:110:19:110:32 | it : List [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:5349:20:5349:34 | getElement(...) : List [] : Object | | Test.java:5356:20:5356:22 | out : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5356:9:5356:23 | getElement(...) | | Test.java:5361:92:5361:99 | source(...) : Object | Test.java:114:58:114:60 | l : Object | Test.java:114:77:114:154 | get(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | Test.java:5361:70:5361:106 | newMapValueDifference(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | | Test.java:5368:98:5368:105 | source(...) : Object | Test.java:114:63:114:65 | r : Object | Test.java:114:77:114:154 | get(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | Test.java:5368:70:5368:106 | newMapValueDifference(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | @@ -18126,6 +18427,10 @@ subpaths | Test.java:5384:19:5384:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5384:9:5384:22 | getMapKey(...) | | Test.java:5391:19:5391:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5391:9:5391:22 | getMapKey(...) | | Test.java:5398:19:5398:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5398:9:5398:22 | getMapKey(...) | +| Test.java:5405:21:5405:23 | out : SortedMap [, com.google.common.collect.MapDifference.left] : Object | Test.java:118:20:118:31 | map : SortedMap [, com.google.common.collect.MapDifference.left] : Object | Test.java:118:43:118:55 | get(...) : Object [com.google.common.collect.MapDifference.left] : Object | Test.java:5405:9:5405:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | +| Test.java:5412:21:5412:23 | out : Map [, com.google.common.collect.MapDifference.left] : Object | Test.java:118:20:118:31 | map : Map [, com.google.common.collect.MapDifference.left] : Object | Test.java:118:43:118:55 | get(...) : Object [com.google.common.collect.MapDifference.left] : Object | Test.java:5412:9:5412:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.left] : Object | +| Test.java:5419:21:5419:23 | out : SortedMap [, com.google.common.collect.MapDifference.right] : Object | Test.java:118:20:118:31 | map : SortedMap [, com.google.common.collect.MapDifference.right] : Object | Test.java:118:43:118:55 | get(...) : Object [com.google.common.collect.MapDifference.right] : Object | Test.java:5419:9:5419:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | +| Test.java:5426:21:5426:23 | out : Map [, com.google.common.collect.MapDifference.right] : Object | Test.java:118:20:118:31 | map : Map [, com.google.common.collect.MapDifference.right] : Object | Test.java:118:43:118:55 | get(...) : Object [com.google.common.collect.MapDifference.right] : Object | Test.java:5426:9:5426:24 | getMapValue(...) : ValueDifference [com.google.common.collect.MapDifference.right] : Object | | Test.java:5433:19:5433:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5433:9:5433:22 | getMapKey(...) | | Test.java:5440:19:5440:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5440:9:5440:22 | getMapKey(...) | | Test.java:5447:19:5447:21 | out : SortedMap [] : Comparable | Test.java:99:18:99:29 | map : SortedMap [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:5447:9:5447:22 | getMapKey(...) | @@ -18203,11 +18508,29 @@ subpaths | Test.java:5965:19:5965:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5965:9:5965:22 | getMapKey(...) | | Test.java:5972:19:5972:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:5972:9:5972:22 | getMapKey(...) | | Test.java:5979:20:5979:35 | getMapValue(...) : Collection [] : Comparable | Test.java:110:19:110:32 | it : Collection [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:5979:9:5979:36 | getElement(...) | +| Test.java:5979:32:5979:34 | out : NavigableMap [, ] : Comparable | Test.java:118:20:118:31 | map : NavigableMap [, ] : Comparable | Test.java:118:43:118:55 | get(...) : Object [] : Comparable | Test.java:5979:20:5979:35 | getMapValue(...) : Collection [] : Comparable | | Test.java:5986:20:5986:35 | getMapValue(...) : Collection [] : Comparable | Test.java:110:19:110:32 | it : Collection [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:5986:9:5986:36 | getElement(...) | +| Test.java:5986:32:5986:34 | out : Map [, ] : Comparable | Test.java:118:20:118:31 | map : Map [, ] : Comparable | Test.java:118:43:118:55 | get(...) : Object [] : Comparable | Test.java:5986:20:5986:35 | getMapValue(...) : Collection [] : Comparable | | Test.java:5993:20:5993:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:5993:9:5993:36 | getElement(...) | +| Test.java:5993:32:5993:34 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:5993:20:5993:35 | getMapValue(...) : Collection [] : Object | | Test.java:6000:20:6000:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6000:9:6000:36 | getElement(...) | +| Test.java:6000:32:6000:34 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:6000:20:6000:35 | getMapValue(...) : Collection [] : Object | | Test.java:6007:20:6007:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6007:9:6007:36 | getElement(...) | +| Test.java:6007:32:6007:34 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:6007:20:6007:35 | getMapValue(...) : Collection [] : Object | | Test.java:6014:20:6014:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6014:9:6014:36 | getElement(...) | +| Test.java:6014:32:6014:34 | out : ImmutableMap [, ] : Object | Test.java:118:20:118:31 | map : ImmutableMap [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:6014:20:6014:35 | getMapValue(...) : Collection [] : Object | +| Test.java:6021:20:6021:22 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:6021:9:6021:23 | getElement(...) : Entry [] : Object | +| Test.java:6028:20:6028:22 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:6028:9:6028:23 | getElement(...) : Entry [] : Object | +| Test.java:6035:20:6035:22 | out : List [, ] : Object | Test.java:110:19:110:32 | it : List [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:6035:9:6035:23 | getElement(...) : Entry [] : Object | +| Test.java:6042:20:6042:22 | out : ImmutableSet [, ] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:6042:9:6042:23 | getElement(...) : Entry [] : Object | +| Test.java:6049:20:6049:22 | out : ImmutableCollection [, ] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:6049:9:6049:23 | getElement(...) : Entry [] : Object | +| Test.java:6056:20:6056:22 | out : Collection [, ] : Object | Test.java:110:19:110:32 | it : Collection [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:6056:9:6056:23 | getElement(...) : Entry [] : Object | +| Test.java:6063:20:6063:22 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:6063:9:6063:23 | getElement(...) : Entry [] : Object | +| Test.java:6070:20:6070:22 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:6070:9:6070:23 | getElement(...) : Entry [] : Object | +| Test.java:6077:20:6077:22 | out : List [, ] : Object | Test.java:110:19:110:32 | it : List [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:6077:9:6077:23 | getElement(...) : Entry [] : Object | +| Test.java:6084:20:6084:22 | out : ImmutableSet [, ] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:6084:9:6084:23 | getElement(...) : Entry [] : Object | +| Test.java:6091:20:6091:22 | out : ImmutableCollection [, ] : Object | Test.java:110:19:110:32 | it : ImmutableCollection [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:6091:9:6091:23 | getElement(...) : Entry [] : Object | +| Test.java:6098:20:6098:22 | out : Collection [, ] : Object | Test.java:110:19:110:32 | it : Collection [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:6098:9:6098:23 | getElement(...) : Entry [] : Object | | Test.java:6105:20:6105:22 | out : SortedSet [] : Comparable | Test.java:110:19:110:32 | it : SortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:6105:9:6105:23 | getElement(...) | | Test.java:6112:20:6112:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6112:9:6112:23 | getElement(...) | | Test.java:6119:20:6119:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:6119:9:6119:23 | getElement(...) | @@ -18278,12 +18601,16 @@ subpaths | Test.java:6574:20:6574:22 | out : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6574:9:6574:23 | getElement(...) | | Test.java:6581:19:6581:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:6581:9:6581:22 | getMapKey(...) | | Test.java:6588:20:6588:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6588:9:6588:36 | getElement(...) | +| Test.java:6588:32:6588:34 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:6588:20:6588:35 | getMapValue(...) : Collection [] : Object | | Test.java:6595:19:6595:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:6595:9:6595:22 | getMapKey(...) | | Test.java:6602:20:6602:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6602:9:6602:36 | getElement(...) | +| Test.java:6602:32:6602:34 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:6602:20:6602:35 | getMapValue(...) : Collection [] : Object | | Test.java:6609:19:6609:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:6609:9:6609:22 | getMapKey(...) | | Test.java:6616:20:6616:35 | getMapValue(...) : Collection [] : Object | Test.java:110:19:110:32 | it : Collection [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:6616:9:6616:36 | getElement(...) | +| Test.java:6616:32:6616:34 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:6616:20:6616:35 | getMapValue(...) : Collection [] : Object | | Test.java:6623:19:6623:21 | out : Map [] : Comparable | Test.java:99:18:99:29 | map : Map [] : Comparable | Test.java:99:41:99:70 | next(...) : Comparable | Test.java:6623:9:6623:22 | getMapKey(...) | | Test.java:6630:20:6630:35 | getMapValue(...) : Collection [] : Comparable | Test.java:110:19:110:32 | it : Collection [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:6630:9:6630:36 | getElement(...) | +| Test.java:6630:32:6630:34 | out : Map [, ] : Comparable | Test.java:118:20:118:31 | map : Map [, ] : Comparable | Test.java:118:43:118:55 | get(...) : Object [] : Comparable | Test.java:6630:20:6630:35 | getMapValue(...) : Collection [] : Comparable | | Test.java:6637:19:6637:21 | out : Multimap [] : Object | Test.java:100:18:100:34 | map : Multimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6637:9:6637:22 | getMapKey(...) | | Test.java:6644:21:6644:23 | out : Multimap [] : Object | Test.java:119:20:119:36 | map : Multimap [] : Object | Test.java:119:48:119:77 | next(...) : Object | Test.java:6644:9:6644:24 | getMapValue(...) | | Test.java:6651:19:6651:21 | out : SetMultimap [] : Object | Test.java:100:18:100:34 | map : SetMultimap [] : Object | Test.java:100:46:100:75 | next(...) : Object | Test.java:6651:9:6651:22 | getMapKey(...) | @@ -18343,6 +18670,9 @@ subpaths | Test.java:7036:20:7036:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:7036:9:7036:23 | getElement(...) | | Test.java:7043:20:7043:22 | out : ImmutableSortedSet [] : Comparable | Test.java:110:19:110:32 | it : ImmutableSortedSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:7043:9:7043:23 | getElement(...) | | Test.java:7050:20:7050:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7050:9:7050:23 | getElement(...) | +| Test.java:7057:20:7057:22 | out : Set [, ] : Comparable | Test.java:110:19:110:32 | it : Set [, ] : Comparable | Test.java:110:44:110:63 | next(...) : Object [] : Comparable | Test.java:7057:9:7057:23 | getElement(...) : Entry [] : Comparable | +| Test.java:7064:20:7064:22 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:7064:9:7064:23 | getElement(...) : Entry [] : Object | +| Test.java:7071:20:7071:22 | out : ImmutableSet [, ] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:7071:9:7071:23 | getElement(...) : Entry [] : Object | | Test.java:7078:20:7078:22 | out : TreeMultiset [] : Object | Test.java:110:19:110:32 | it : TreeMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7078:9:7078:23 | getElement(...) | | Test.java:7085:20:7085:22 | out : Multiset [] : Object | Test.java:110:19:110:32 | it : Multiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7085:9:7085:23 | getElement(...) | | Test.java:7092:20:7092:22 | out : ImmutableMultiset [] : Object | Test.java:110:19:110:32 | it : ImmutableMultiset [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7092:9:7092:23 | getElement(...) | @@ -18384,8 +18714,11 @@ subpaths | Test.java:7351:20:7351:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7351:9:7351:23 | getElement(...) | | Test.java:7358:20:7358:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7358:9:7358:23 | getElement(...) | | Test.java:7365:20:7365:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7365:9:7365:35 | getElement(...) | +| Test.java:7365:31:7365:33 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:7365:20:7365:34 | getElement(...) : List [] : Object | | Test.java:7372:20:7372:34 | getElement(...) : List [] : Object | Test.java:110:19:110:32 | it : List [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7372:9:7372:35 | getElement(...) | +| Test.java:7372:31:7372:33 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:7372:20:7372:34 | getElement(...) : List [] : Object | | Test.java:7379:20:7379:34 | getElement(...) : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7379:9:7379:35 | getElement(...) | +| Test.java:7379:31:7379:33 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:7379:20:7379:34 | getElement(...) : Set [] : Object | | Test.java:7386:20:7386:22 | out : SetView [] : Object | Test.java:110:19:110:32 | it : SetView [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7386:9:7386:23 | getElement(...) | | Test.java:7393:20:7393:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:7393:9:7393:23 | getElement(...) | | Test.java:7400:20:7400:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7400:9:7400:23 | getElement(...) | @@ -18401,6 +18734,7 @@ subpaths | Test.java:7470:20:7470:22 | out : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7470:9:7470:23 | getElement(...) | | Test.java:7477:20:7477:22 | out : TreeSet [] : Object | Test.java:110:19:110:32 | it : TreeSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7477:9:7477:23 | getElement(...) | | Test.java:7484:20:7484:34 | getElement(...) : Set [] : Object | Test.java:110:19:110:32 | it : Set [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7484:9:7484:35 | getElement(...) | +| Test.java:7484:31:7484:33 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:7484:20:7484:34 | getElement(...) : Set [] : Object | | Test.java:7491:20:7491:22 | out : NavigableSet [] : Comparable | Test.java:110:19:110:32 | it : NavigableSet [] : Comparable | Test.java:110:44:110:63 | next(...) : Comparable | Test.java:7491:9:7491:23 | getElement(...) | | Test.java:7498:20:7498:22 | out : SetView [] : Object | Test.java:110:19:110:32 | it : SetView [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7498:9:7498:23 | getElement(...) | | Test.java:7505:20:7505:22 | out : SetView [] : Object | Test.java:110:19:110:32 | it : SetView [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7505:9:7505:23 | getElement(...) | @@ -18412,8 +18746,17 @@ subpaths | Test.java:7545:45:7545:52 | source(...) : Object | Test.java:102:41:102:45 | row : Object | Test.java:102:76:102:134 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | Test.java:7545:32:7545:65 | newTableCell(...) : Cell [com.google.common.collect.Table.rowKey] : Object | | Test.java:7552:57:7552:64 | source(...) : Object | Test.java:102:58:102:64 | value : Object | Test.java:102:76:102:134 | getElement(...) : Cell [] : Object | Test.java:7552:32:7552:65 | newTableCell(...) : Cell [] : Object | | Test.java:7559:43:7559:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:7559:22:7559:51 | newTable(...) : TreeBasedTable [] : Object | +| Test.java:7561:20:7561:22 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:7561:9:7561:23 | getElement(...) : Cell [] : Object | +| Test.java:7568:20:7568:22 | out : Set [, ] : Object | Test.java:110:19:110:32 | it : Set [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:7568:9:7568:23 | getElement(...) : Cell [] : Object | +| Test.java:7575:20:7575:22 | out : ImmutableSet [, ] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, ] : Object | Test.java:110:44:110:63 | next(...) : Object [] : Object | Test.java:7575:9:7575:23 | getElement(...) : Cell [] : Object | | Test.java:7580:37:7580:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7580:22:7580:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7582:20:7582:22 | out : Set [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:19:110:32 | it : Set [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:44:110:63 | next(...) : Object [com.google.common.collect.Table.columnKey] : Object | Test.java:7582:9:7582:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7589:20:7589:22 | out : Set [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:19:110:32 | it : Set [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:44:110:63 | next(...) : Object [com.google.common.collect.Table.columnKey] : Object | Test.java:7589:9:7589:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | +| Test.java:7596:20:7596:22 | out : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, com.google.common.collect.Table.columnKey] : Object | Test.java:110:44:110:63 | next(...) : Object [com.google.common.collect.Table.columnKey] : Object | Test.java:7596:9:7596:23 | getElement(...) : Cell [com.google.common.collect.Table.columnKey] : Object | | Test.java:7601:31:7601:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7601:22:7601:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7603:20:7603:22 | out : Set [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:19:110:32 | it : Set [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:44:110:63 | next(...) : Object [com.google.common.collect.Table.rowKey] : Object | Test.java:7603:9:7603:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7610:20:7610:22 | out : Set [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:19:110:32 | it : Set [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:44:110:63 | next(...) : Object [com.google.common.collect.Table.rowKey] : Object | Test.java:7610:9:7610:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | +| Test.java:7617:20:7617:22 | out : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:19:110:32 | it : ImmutableSet [, com.google.common.collect.Table.rowKey] : Object | Test.java:110:44:110:63 | next(...) : Object [com.google.common.collect.Table.rowKey] : Object | Test.java:7617:9:7617:23 | getElement(...) : Cell [com.google.common.collect.Table.rowKey] : Object | | Test.java:7622:43:7622:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:7622:22:7622:51 | newTable(...) : TreeBasedTable [] : Object | | Test.java:7624:21:7624:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:7624:9:7624:24 | getMapValue(...) | | Test.java:7631:21:7631:23 | out : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:7631:9:7631:24 | getMapValue(...) | @@ -18428,16 +18771,22 @@ subpaths | Test.java:7680:20:7680:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:7680:9:7680:23 | getElement(...) | | Test.java:7685:43:7685:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:7685:22:7685:51 | newTable(...) : TreeBasedTable [] : Object | | Test.java:7687:21:7687:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:7687:9:7687:37 | getMapValue(...) | +| Test.java:7687:33:7687:35 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:7687:21:7687:36 | getMapValue(...) : Map [] : Object | | Test.java:7694:21:7694:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:7694:9:7694:37 | getMapValue(...) | +| Test.java:7694:33:7694:35 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:7694:21:7694:36 | getMapValue(...) : Map [] : Object | | Test.java:7701:21:7701:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:7701:9:7701:37 | getMapValue(...) | +| Test.java:7701:33:7701:35 | out : ImmutableMap [, ] : Object | Test.java:118:20:118:31 | map : ImmutableMap [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:7701:21:7701:36 | getMapValue(...) : Map [] : Object | | Test.java:7706:37:7706:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:7706:22:7706:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | | Test.java:7708:19:7708:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7708:9:7708:22 | getMapKey(...) | | Test.java:7715:19:7715:21 | out : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7715:9:7715:22 | getMapKey(...) | | Test.java:7722:19:7722:21 | out : ImmutableMap [] : Object | Test.java:99:18:99:29 | map : ImmutableMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7722:9:7722:22 | getMapKey(...) | | Test.java:7727:31:7727:38 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:7727:22:7727:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | | Test.java:7729:19:7729:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7729:9:7729:35 | getMapKey(...) | +| Test.java:7729:31:7729:33 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:7729:19:7729:34 | getMapValue(...) : Map [] : Object | | Test.java:7736:19:7736:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7736:9:7736:35 | getMapKey(...) | +| Test.java:7736:31:7736:33 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:7736:19:7736:34 | getMapValue(...) : Map [] : Object | | Test.java:7743:19:7743:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:7743:9:7743:35 | getMapKey(...) | +| Test.java:7743:31:7743:33 | out : ImmutableMap [, ] : Object | Test.java:118:20:118:31 | map : ImmutableMap [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:7743:19:7743:34 | getMapValue(...) : Map [] : Object | | Test.java:7748:43:7748:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:7748:22:7748:51 | newTable(...) : TreeBasedTable [] : Object | | Test.java:7771:25:7771:27 | out : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : Table [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:7771:9:7771:28 | getTable_rowKey(...) | | Test.java:7778:25:7778:27 | out : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:24:105:37 | t : ImmutableTable [com.google.common.collect.Table.rowKey] : Object | Test.java:105:49:105:79 | next(...) : Object | Test.java:7778:9:7778:28 | getTable_rowKey(...) | @@ -18483,20 +18832,30 @@ subpaths | Test.java:8009:20:8009:22 | out : ImmutableSet [] : Object | Test.java:110:19:110:32 | it : ImmutableSet [] : Object | Test.java:110:44:110:63 | next(...) : Object | Test.java:8009:9:8009:23 | getElement(...) | | Test.java:8014:61:8014:68 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:8014:40:8014:69 | newTable(...) : TreeBasedTable [] : Object | | Test.java:8016:21:8016:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:8016:9:8016:37 | getMapValue(...) | +| Test.java:8016:33:8016:35 | out : SortedMap [, ] : Object | Test.java:118:20:118:31 | map : SortedMap [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:8016:21:8016:36 | getMapValue(...) : Map [] : Object | | Test.java:8021:61:8021:68 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:8021:40:8021:69 | newTable(...) : TreeBasedTable [] : Object | | Test.java:8023:21:8023:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:8023:9:8023:37 | getMapValue(...) | +| Test.java:8023:33:8023:35 | out : SortedMap [, ] : Object | Test.java:118:20:118:31 | map : SortedMap [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:8023:21:8023:36 | getMapValue(...) : Map [] : Object | | Test.java:8028:43:8028:50 | source(...) : Object | Test.java:103:58:103:64 | value : Object | Test.java:103:157:103:157 | t : TreeBasedTable [] : Object | Test.java:8028:22:8028:51 | newTable(...) : TreeBasedTable [] : Object | | Test.java:8030:21:8030:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:8030:9:8030:37 | getMapValue(...) | +| Test.java:8030:33:8030:35 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:8030:21:8030:36 | getMapValue(...) : Map [] : Object | | Test.java:8037:21:8037:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:8037:9:8037:37 | getMapValue(...) | +| Test.java:8037:33:8037:35 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:8037:21:8037:36 | getMapValue(...) : Map [] : Object | | Test.java:8044:21:8044:36 | getMapValue(...) : Map [] : Object | Test.java:118:20:118:31 | map : Map [] : Object | Test.java:118:43:118:55 | get(...) : Object | Test.java:8044:9:8044:37 | getMapValue(...) | +| Test.java:8044:33:8044:35 | out : ImmutableMap [, ] : Object | Test.java:118:20:118:31 | map : ImmutableMap [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:8044:21:8044:36 | getMapValue(...) : Map [] : Object | | Test.java:8049:55:8049:62 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8049:40:8049:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | | Test.java:8051:19:8051:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:8051:9:8051:35 | getMapKey(...) | +| Test.java:8051:31:8051:33 | out : SortedMap [, ] : Object | Test.java:118:20:118:31 | map : SortedMap [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:8051:19:8051:34 | getMapValue(...) : Map [] : Object | | Test.java:8056:55:8056:62 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8056:40:8056:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | | Test.java:8058:19:8058:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:8058:9:8058:35 | getMapKey(...) | +| Test.java:8058:31:8058:33 | out : SortedMap [, ] : Object | Test.java:118:20:118:31 | map : SortedMap [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:8058:19:8058:34 | getMapValue(...) : Map [] : Object | | Test.java:8063:37:8063:44 | source(...) : Object | Test.java:103:48:103:55 | column : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | Test.java:8063:22:8063:51 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.columnKey] : Object | | Test.java:8065:19:8065:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:8065:9:8065:35 | getMapKey(...) | +| Test.java:8065:31:8065:33 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:8065:19:8065:34 | getMapValue(...) : Map [] : Object | | Test.java:8072:19:8072:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:8072:9:8072:35 | getMapKey(...) | +| Test.java:8072:31:8072:33 | out : Map [, ] : Object | Test.java:118:20:118:31 | map : Map [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:8072:19:8072:34 | getMapValue(...) : Map [] : Object | | Test.java:8079:19:8079:34 | getMapValue(...) : Map [] : Object | Test.java:99:18:99:29 | map : Map [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:8079:9:8079:35 | getMapKey(...) | +| Test.java:8079:31:8079:33 | out : ImmutableMap [, ] : Object | Test.java:118:20:118:31 | map : ImmutableMap [, ] : Object | Test.java:118:43:118:55 | get(...) : Object [] : Object | Test.java:8079:19:8079:34 | getMapValue(...) : Map [] : Object | | Test.java:8084:49:8084:56 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8084:40:8084:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | | Test.java:8086:19:8086:21 | out : SortedMap [] : Object | Test.java:99:18:99:29 | map : SortedMap [] : Object | Test.java:99:41:99:70 | next(...) : Object | Test.java:8086:9:8086:22 | getMapKey(...) | | Test.java:8091:49:8091:56 | source(...) : Object | Test.java:103:41:103:45 | row : Object | Test.java:103:157:103:157 | t : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | Test.java:8091:40:8091:69 | newTable(...) : TreeBasedTable [com.google.common.collect.Table.rowKey] : Object | diff --git a/java/ql/test/library-tests/frameworks/netty/generated/test.expected b/java/ql/test/library-tests/frameworks/netty/generated/test.expected index f3c373ae9c5..b92f6cde91b 100644 --- a/java/ql/test/library-tests/frameworks/netty/generated/test.expected +++ b/java/ql/test/library-tests/frameworks/netty/generated/test.expected @@ -501,18 +501,39 @@ models edges | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:45 | it : Headers [, ] : Object | provenance | | | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:45 | it : Headers [, ] : Object | provenance | | +| Test.java:79:19:79:32 | it : Http2Headers [, ] : Object | Test.java:79:44:79:45 | it : Http2Headers [, ] : Object | provenance | | +| Test.java:79:19:79:32 | it : Http2Headers [, ] : CharSequence | Test.java:79:44:79:45 | it : Http2Headers [, ] : CharSequence | provenance | | +| Test.java:79:19:79:32 | it : Http2Headers [, ] : Object | Test.java:79:44:79:45 | it : Http2Headers [, ] : Object | provenance | | +| Test.java:79:19:79:32 | it : HttpHeaders [, ] : CharSequence | Test.java:79:44:79:45 | it : HttpHeaders [, ] : CharSequence | provenance | | +| Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:45 | it : HttpHeaders [, ] : Object | provenance | | +| Test.java:79:19:79:32 | it : HttpHeaders [, ] : String | Test.java:79:44:79:45 | it : HttpHeaders [, ] : String | provenance | | +| Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:45 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:79:19:79:32 | it : List [, ] : Object | Test.java:79:44:79:45 | it : List [, ] : Object | provenance | | | Test.java:79:19:79:32 | it : List [, ] : Object | Test.java:79:44:79:45 | it : List [, ] : Object | provenance | | | Test.java:79:19:79:32 | it : List [] : Object | Test.java:79:44:79:45 | it : List [] : Object | provenance | | | Test.java:79:19:79:32 | it : Set [] : Object | Test.java:79:44:79:45 | it : Set [] : Object | provenance | | | Test.java:79:44:79:45 | it : Headers [, ] : Object | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:492 | | Test.java:79:44:79:45 | it : Headers [, ] : Object | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:492 | +| Test.java:79:44:79:45 | it : Http2Headers [, ] : Object | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:492 | +| Test.java:79:44:79:45 | it : Http2Headers [, ] : CharSequence | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : CharSequence | provenance | MaD:492 | +| Test.java:79:44:79:45 | it : Http2Headers [, ] : Object | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:492 | +| Test.java:79:44:79:45 | it : HttpHeaders [, ] : CharSequence | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : CharSequence | provenance | MaD:492 | +| Test.java:79:44:79:45 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:492 | +| Test.java:79:44:79:45 | it : HttpHeaders [, ] : String | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : String | provenance | MaD:492 | +| Test.java:79:44:79:45 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:492 | | Test.java:79:44:79:45 | it : List [, ] : Object | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:492 | | Test.java:79:44:79:45 | it : List [, ] : Object | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | provenance | MaD:492 | | Test.java:79:44:79:45 | it : List [] : Object | Test.java:79:44:79:56 | iterator(...) : Iterator [] : Object | provenance | MaD:492 | | Test.java:79:44:79:45 | it : Set [] : Object | Test.java:79:44:79:56 | iterator(...) : Iterator [] : Object | provenance | MaD:492 | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : CharSequence | Test.java:79:44:79:63 | next(...) : Object [] : CharSequence | provenance | MaD:493 | | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | provenance | MaD:493 | | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | provenance | MaD:493 | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | provenance | MaD:493 | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | provenance | MaD:493 | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : String | Test.java:79:44:79:63 | next(...) : Object [] : String | provenance | MaD:493 | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : CharSequence | Test.java:79:44:79:63 | next(...) : Object [] : CharSequence | provenance | MaD:493 | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | provenance | MaD:493 | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | provenance | MaD:493 | | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | provenance | MaD:493 | | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | provenance | MaD:493 | | Test.java:79:44:79:56 | iterator(...) : Iterator [] : Object | Test.java:79:44:79:63 | next(...) : Object | provenance | MaD:493 | @@ -3548,6 +3569,7 @@ edges | Test.java:5314:4:5314:6 | out [post update] : Http2Headers [, ] : CharSequence | Test.java:5315:39:5315:41 | out : Http2Headers [, ] : CharSequence | provenance | | | Test.java:5314:18:5314:19 | in : CharSequence | Test.java:5314:4:5314:6 | out [post update] : Http2Headers [, ] : CharSequence | provenance | MaD:347 | | Test.java:5315:28:5315:42 | getElement(...) : Entry [] : CharSequence | Test.java:5315:9:5315:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5315:39:5315:41 | out : Http2Headers [, ] : CharSequence | Test.java:79:19:79:32 | it : Http2Headers [, ] : CharSequence | provenance | | | Test.java:5315:39:5315:41 | out : Http2Headers [, ] : CharSequence | Test.java:5315:28:5315:42 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | | Test.java:5320:22:5320:90 | (...)... : Http2Headers [, ] : Object | Test.java:5321:10:5321:11 | in : Http2Headers [, ] : Object | provenance | | | Test.java:5320:36:5320:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5320:22:5320:90 | (...)... : Http2Headers [, ] : Object | provenance | | @@ -3564,6 +3586,7 @@ edges | Test.java:5335:4:5335:6 | out [post update] : Http2Headers [, ] : CharSequence | Test.java:5336:39:5336:41 | out : Http2Headers [, ] : CharSequence | provenance | | | Test.java:5335:15:5335:16 | in : CharSequence | Test.java:5335:4:5335:6 | out [post update] : Http2Headers [, ] : CharSequence | provenance | MaD:350 | | Test.java:5336:28:5336:42 | getElement(...) : Entry [] : CharSequence | Test.java:5336:9:5336:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5336:39:5336:41 | out : Http2Headers [, ] : CharSequence | Test.java:79:19:79:32 | it : Http2Headers [, ] : CharSequence | provenance | | | Test.java:5336:39:5336:41 | out : Http2Headers [, ] : CharSequence | Test.java:5336:28:5336:42 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | | Test.java:5341:22:5341:90 | (...)... : Http2Headers [, ] : Object | Test.java:5342:10:5342:11 | in : Http2Headers [, ] : Object | provenance | | | Test.java:5341:36:5341:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5341:22:5341:90 | (...)... : Http2Headers [, ] : Object | provenance | | @@ -3580,6 +3603,7 @@ edges | Test.java:5356:4:5356:6 | out [post update] : Http2Headers [, ] : CharSequence | Test.java:5357:39:5357:41 | out : Http2Headers [, ] : CharSequence | provenance | | | Test.java:5356:13:5356:14 | in : CharSequence | Test.java:5356:4:5356:6 | out [post update] : Http2Headers [, ] : CharSequence | provenance | MaD:353 | | Test.java:5357:28:5357:42 | getElement(...) : Entry [] : CharSequence | Test.java:5357:9:5357:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5357:39:5357:41 | out : Http2Headers [, ] : CharSequence | Test.java:79:19:79:32 | it : Http2Headers [, ] : CharSequence | provenance | | | Test.java:5357:39:5357:41 | out : Http2Headers [, ] : CharSequence | Test.java:5357:28:5357:42 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | | Test.java:5362:22:5362:90 | (...)... : Http2Headers [, ] : Object | Test.java:5363:10:5363:11 | in : Http2Headers [, ] : Object | provenance | | | Test.java:5362:36:5362:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5362:22:5362:90 | (...)... : Http2Headers [, ] : Object | provenance | | @@ -3596,6 +3620,7 @@ edges | Test.java:5377:4:5377:6 | out [post update] : Http2Headers [, ] : CharSequence | Test.java:5378:39:5378:41 | out : Http2Headers [, ] : CharSequence | provenance | | | Test.java:5377:15:5377:16 | in : CharSequence | Test.java:5377:4:5377:6 | out [post update] : Http2Headers [, ] : CharSequence | provenance | MaD:356 | | Test.java:5378:28:5378:42 | getElement(...) : Entry [] : CharSequence | Test.java:5378:9:5378:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5378:39:5378:41 | out : Http2Headers [, ] : CharSequence | Test.java:79:19:79:32 | it : Http2Headers [, ] : CharSequence | provenance | | | Test.java:5378:39:5378:41 | out : Http2Headers [, ] : CharSequence | Test.java:5378:28:5378:42 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | | Test.java:5383:22:5383:90 | (...)... : Http2Headers [, ] : Object | Test.java:5384:10:5384:11 | in : Http2Headers [, ] : Object | provenance | | | Test.java:5383:36:5383:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5383:22:5383:90 | (...)... : Http2Headers [, ] : Object | provenance | | @@ -3612,6 +3637,7 @@ edges | Test.java:5398:4:5398:6 | out [post update] : Http2Headers [, ] : CharSequence | Test.java:5399:39:5399:41 | out : Http2Headers [, ] : CharSequence | provenance | | | Test.java:5398:15:5398:16 | in : CharSequence | Test.java:5398:4:5398:6 | out [post update] : Http2Headers [, ] : CharSequence | provenance | MaD:359 | | Test.java:5399:28:5399:42 | getElement(...) : Entry [] : CharSequence | Test.java:5399:9:5399:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5399:39:5399:41 | out : Http2Headers [, ] : CharSequence | Test.java:79:19:79:32 | it : Http2Headers [, ] : CharSequence | provenance | | | Test.java:5399:39:5399:41 | out : Http2Headers [, ] : CharSequence | Test.java:5399:28:5399:42 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | | Test.java:5404:22:5404:90 | (...)... : Http2Headers [, ] : Object | Test.java:5405:10:5405:11 | in : Http2Headers [, ] : Object | provenance | | | Test.java:5404:36:5404:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5404:22:5404:90 | (...)... : Http2Headers [, ] : Object | provenance | | @@ -3648,6 +3674,7 @@ edges | Test.java:5440:48:5440:49 | in : Http2Headers [, ] : Object | Test.java:5440:52:5440:54 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:366 | | Test.java:5440:52:5440:54 | out [post update] : HttpHeaders [, ] : Object | Test.java:5441:37:5441:39 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5441:26:5441:40 | getElement(...) : Entry [] : Object | Test.java:5441:9:5441:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5441:37:5441:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5441:37:5441:39 | out : HttpHeaders [, ] : Object | Test.java:5441:26:5441:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5446:22:5446:90 | (...)... : Http2Headers [, ] : Object | Test.java:5447:48:5447:49 | in : Http2Headers [, ] : Object | provenance | | | Test.java:5446:36:5446:90 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5446:22:5446:90 | (...)... : Http2Headers [, ] : Object | provenance | | @@ -3656,6 +3683,7 @@ edges | Test.java:5447:48:5447:49 | in : Http2Headers [, ] : Object | Test.java:5447:52:5447:54 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:367 | | Test.java:5447:52:5447:54 | out [post update] : HttpHeaders [, ] : Object | Test.java:5448:39:5448:41 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5448:28:5448:42 | getElement(...) : Entry [] : Object | Test.java:5448:9:5448:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5448:39:5448:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5448:39:5448:41 | out : HttpHeaders [, ] : Object | Test.java:5448:28:5448:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5453:17:5453:33 | (...)... : ByteBuf | Test.java:5454:70:5454:71 | in : ByteBuf | provenance | | | Test.java:5453:26:5453:33 | source(...) : Object | Test.java:5453:17:5453:33 | (...)... : ByteBuf | provenance | | @@ -3720,6 +3748,7 @@ edges | Test.java:5524:38:5524:39 | in : HttpHeaders [, ] : Object | Test.java:5524:42:5524:44 | out [post update] : Http2Headers [, ] : Object | provenance | MaD:376 | | Test.java:5524:42:5524:44 | out [post update] : Http2Headers [, ] : Object | Test.java:5525:37:5525:39 | out : Http2Headers [, ] : Object | provenance | | | Test.java:5525:26:5525:40 | getElement(...) : Entry [] : Object | Test.java:5525:9:5525:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5525:37:5525:39 | out : Http2Headers [, ] : Object | Test.java:79:19:79:32 | it : Http2Headers [, ] : Object | provenance | | | Test.java:5525:37:5525:39 | out : Http2Headers [, ] : Object | Test.java:5525:26:5525:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5530:21:5530:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5531:38:5531:39 | in : HttpHeaders [, ] : Object | provenance | | | Test.java:5530:34:5530:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5530:21:5530:88 | (...)... : HttpHeaders [, ] : Object | provenance | | @@ -3728,6 +3757,7 @@ edges | Test.java:5531:38:5531:39 | in : HttpHeaders [, ] : Object | Test.java:5531:42:5531:44 | out [post update] : Http2Headers [, ] : Object | provenance | MaD:377 | | Test.java:5531:42:5531:44 | out [post update] : Http2Headers [, ] : Object | Test.java:5532:39:5532:41 | out : Http2Headers [, ] : Object | provenance | | | Test.java:5532:28:5532:42 | getElement(...) : Entry [] : Object | Test.java:5532:9:5532:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5532:39:5532:41 | out : Http2Headers [, ] : Object | Test.java:79:19:79:32 | it : Http2Headers [, ] : Object | provenance | | | Test.java:5532:39:5532:41 | out : Http2Headers [, ] : Object | Test.java:5532:28:5532:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5537:21:5537:86 | (...)... : HttpHeaders [, ] : Object | Test.java:5538:44:5538:45 | in : HttpHeaders [, ] : Object | provenance | | | Test.java:5537:34:5537:86 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5537:21:5537:86 | (...)... : HttpHeaders [, ] : Object | provenance | | @@ -3736,6 +3766,7 @@ edges | Test.java:5538:10:5538:53 | toHttp2Headers(...) : Http2Headers [, ] : Object | Test.java:5539:37:5539:39 | out : Http2Headers [, ] : Object | provenance | | | Test.java:5538:44:5538:45 | in : HttpHeaders [, ] : Object | Test.java:5538:10:5538:53 | toHttp2Headers(...) : Http2Headers [, ] : Object | provenance | MaD:374 | | Test.java:5539:26:5539:40 | getElement(...) : Entry [] : Object | Test.java:5539:9:5539:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5539:37:5539:39 | out : Http2Headers [, ] : Object | Test.java:79:19:79:32 | it : Http2Headers [, ] : Object | provenance | | | Test.java:5539:37:5539:39 | out : Http2Headers [, ] : Object | Test.java:5539:26:5539:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5544:21:5544:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5545:44:5545:45 | in : HttpHeaders [, ] : Object | provenance | | | Test.java:5544:34:5544:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5544:21:5544:88 | (...)... : HttpHeaders [, ] : Object | provenance | | @@ -3744,6 +3775,7 @@ edges | Test.java:5545:10:5545:53 | toHttp2Headers(...) : Http2Headers [, ] : Object | Test.java:5546:39:5546:41 | out : Http2Headers [, ] : Object | provenance | | | Test.java:5545:44:5545:45 | in : HttpHeaders [, ] : Object | Test.java:5545:10:5545:53 | toHttp2Headers(...) : Http2Headers [, ] : Object | provenance | MaD:375 | | Test.java:5546:28:5546:42 | getElement(...) : Entry [] : Object | Test.java:5546:9:5546:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5546:39:5546:41 | out : Http2Headers [, ] : Object | Test.java:79:19:79:32 | it : Http2Headers [, ] : Object | provenance | | | Test.java:5546:39:5546:41 | out : Http2Headers [, ] : Object | Test.java:5546:28:5546:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5551:22:5551:88 | (...)... : Http2Headers [, ] : Object | Test.java:5552:46:5552:47 | in : Http2Headers [, ] : Object | provenance | | | Test.java:5551:36:5551:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5551:22:5551:88 | (...)... : Http2Headers [, ] : Object | provenance | | @@ -3774,6 +3806,7 @@ edges | Test.java:5580:4:5580:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5581:37:5581:39 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5580:12:5580:13 | in : CharSequence | Test.java:5580:4:5580:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:225 | | Test.java:5581:26:5581:40 | getElement(...) : Entry [] : Object | Test.java:5581:9:5581:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5581:37:5581:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5581:37:5581:39 | out : HttpHeaders [, ] : Object | Test.java:5581:26:5581:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5586:18:5586:44 | (...)... : List [] : Object | Test.java:5587:32:5587:33 | in : List [] : Object | provenance | | | Test.java:5586:28:5586:44 | of(...) : List [] : Object | Test.java:5586:18:5586:44 | (...)... : List [] : Object | provenance | | @@ -3781,18 +3814,21 @@ edges | Test.java:5587:4:5587:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5588:39:5588:41 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5587:32:5587:33 | in : List [] : Object | Test.java:5587:4:5587:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:226 | | Test.java:5588:28:5588:42 | getElement(...) : Entry [] : Object | Test.java:5588:9:5588:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5588:39:5588:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5588:39:5588:41 | out : HttpHeaders [, ] : Object | Test.java:5588:28:5588:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5593:22:5593:43 | (...)... : CharSequence | Test.java:5594:12:5594:13 | in : CharSequence | provenance | | | Test.java:5593:36:5593:43 | source(...) : Object | Test.java:5593:22:5593:43 | (...)... : CharSequence | provenance | | | Test.java:5594:4:5594:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5595:37:5595:39 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5594:12:5594:13 | in : CharSequence | Test.java:5594:4:5594:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:227 | | Test.java:5595:26:5595:40 | getElement(...) : Entry [] : Object | Test.java:5595:9:5595:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5595:37:5595:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5595:37:5595:39 | out : HttpHeaders [, ] : Object | Test.java:5595:26:5595:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5600:16:5600:31 | (...)... : Object | Test.java:5601:32:5601:33 | in : Object | provenance | | | Test.java:5600:24:5600:31 | source(...) : Object | Test.java:5600:16:5600:31 | (...)... : Object | provenance | | | Test.java:5601:4:5601:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5602:39:5602:41 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5601:32:5601:33 | in : Object | Test.java:5601:4:5601:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:228 | | Test.java:5602:28:5602:42 | getElement(...) : Entry [] : Object | Test.java:5602:9:5602:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5602:39:5602:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5602:39:5602:41 | out : HttpHeaders [, ] : Object | Test.java:5602:28:5602:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5607:21:5607:86 | (...)... : HttpHeaders [, ] : Object | Test.java:5608:12:5608:13 | in : HttpHeaders [, ] : Object | provenance | | | Test.java:5607:34:5607:86 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5607:21:5607:86 | (...)... : HttpHeaders [, ] : Object | provenance | | @@ -3801,6 +3837,7 @@ edges | Test.java:5608:4:5608:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5609:37:5609:39 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5608:12:5608:13 | in : HttpHeaders [, ] : Object | Test.java:5608:4:5608:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:233 | | Test.java:5609:26:5609:40 | getElement(...) : Entry [] : Object | Test.java:5609:9:5609:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5609:37:5609:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5609:37:5609:39 | out : HttpHeaders [, ] : Object | Test.java:5609:26:5609:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5614:21:5614:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5615:12:5615:13 | in : HttpHeaders [, ] : Object | provenance | | | Test.java:5614:34:5614:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5614:21:5614:88 | (...)... : HttpHeaders [, ] : Object | provenance | | @@ -3809,12 +3846,14 @@ edges | Test.java:5615:4:5615:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5616:39:5616:41 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5615:12:5615:13 | in : HttpHeaders [, ] : Object | Test.java:5615:4:5615:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:234 | | Test.java:5616:28:5616:42 | getElement(...) : Entry [] : Object | Test.java:5616:9:5616:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5616:39:5616:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5616:39:5616:41 | out : HttpHeaders [, ] : Object | Test.java:5616:28:5616:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5621:16:5621:31 | (...)... : String | Test.java:5622:12:5622:13 | in : String | provenance | | | Test.java:5621:24:5621:31 | source(...) : Object | Test.java:5621:16:5621:31 | (...)... : String | provenance | | | Test.java:5622:4:5622:6 | out [post update] : HttpHeaders [, ] : String | Test.java:5623:37:5623:39 | out : HttpHeaders [, ] : String | provenance | | | Test.java:5622:12:5622:13 | in : String | Test.java:5622:4:5622:6 | out [post update] : HttpHeaders [, ] : String | provenance | MaD:229 | | Test.java:5623:26:5623:40 | getElement(...) : Entry [] : String | Test.java:5623:9:5623:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5623:37:5623:39 | out : HttpHeaders [, ] : String | Test.java:79:19:79:32 | it : HttpHeaders [, ] : String | provenance | | | Test.java:5623:37:5623:39 | out : HttpHeaders [, ] : String | Test.java:5623:26:5623:40 | getElement(...) : Entry [] : String | provenance | MaD:492 | | Test.java:5628:18:5628:44 | (...)... : List [] : Object | Test.java:5629:26:5629:27 | in : List [] : Object | provenance | | | Test.java:5628:28:5628:44 | of(...) : List [] : Object | Test.java:5628:18:5628:44 | (...)... : List [] : Object | provenance | | @@ -3822,18 +3861,21 @@ edges | Test.java:5629:4:5629:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5630:39:5630:41 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5629:26:5629:27 | in : List [] : Object | Test.java:5629:4:5629:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:230 | | Test.java:5630:28:5630:42 | getElement(...) : Entry [] : Object | Test.java:5630:9:5630:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5630:39:5630:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5630:39:5630:41 | out : HttpHeaders [, ] : Object | Test.java:5630:28:5630:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5635:16:5635:31 | (...)... : String | Test.java:5636:12:5636:13 | in : String | provenance | | | Test.java:5635:24:5635:31 | source(...) : Object | Test.java:5635:16:5635:31 | (...)... : String | provenance | | | Test.java:5636:4:5636:6 | out [post update] : HttpHeaders [, ] : String | Test.java:5637:37:5637:39 | out : HttpHeaders [, ] : String | provenance | | | Test.java:5636:12:5636:13 | in : String | Test.java:5636:4:5636:6 | out [post update] : HttpHeaders [, ] : String | provenance | MaD:231 | | Test.java:5637:26:5637:40 | getElement(...) : Entry [] : String | Test.java:5637:9:5637:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5637:37:5637:39 | out : HttpHeaders [, ] : String | Test.java:79:19:79:32 | it : HttpHeaders [, ] : String | provenance | | | Test.java:5637:37:5637:39 | out : HttpHeaders [, ] : String | Test.java:5637:26:5637:40 | getElement(...) : Entry [] : String | provenance | MaD:492 | | Test.java:5642:16:5642:31 | (...)... : Object | Test.java:5643:26:5643:27 | in : Object | provenance | | | Test.java:5642:24:5642:31 | source(...) : Object | Test.java:5642:16:5642:31 | (...)... : Object | provenance | | | Test.java:5643:4:5643:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5644:39:5644:41 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5643:26:5643:27 | in : Object | Test.java:5643:4:5643:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:232 | | Test.java:5644:28:5644:42 | getElement(...) : Entry [] : Object | Test.java:5644:9:5644:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5644:39:5644:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5644:39:5644:41 | out : HttpHeaders [, ] : Object | Test.java:5644:28:5644:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5649:21:5649:41 | (...)... : HttpHeaders | Test.java:5650:10:5650:11 | in : HttpHeaders | provenance | | | Test.java:5649:34:5649:41 | source(...) : Object | Test.java:5649:21:5649:41 | (...)... : HttpHeaders | provenance | | @@ -3864,6 +3906,7 @@ edges | Test.java:5692:4:5692:6 | out [post update] : HttpHeaders [, ] : CharSequence | Test.java:5693:37:5693:39 | out : HttpHeaders [, ] : CharSequence | provenance | | | Test.java:5692:15:5692:16 | in : CharSequence | Test.java:5692:4:5692:6 | out [post update] : HttpHeaders [, ] : CharSequence | provenance | MaD:236 | | Test.java:5693:26:5693:40 | getElement(...) : Entry [] : CharSequence | Test.java:5693:9:5693:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5693:37:5693:39 | out : HttpHeaders [, ] : CharSequence | Test.java:79:19:79:32 | it : HttpHeaders [, ] : CharSequence | provenance | | | Test.java:5693:37:5693:39 | out : HttpHeaders [, ] : CharSequence | Test.java:5693:26:5693:40 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | | Test.java:5698:21:5698:41 | (...)... : HttpHeaders | Test.java:5699:10:5699:11 | in : HttpHeaders | provenance | | | Test.java:5698:34:5698:41 | source(...) : Object | Test.java:5698:21:5698:41 | (...)... : HttpHeaders | provenance | | @@ -3874,6 +3917,7 @@ edges | Test.java:5706:4:5706:6 | out [post update] : HttpHeaders [, ] : CharSequence | Test.java:5707:37:5707:39 | out : HttpHeaders [, ] : CharSequence | provenance | | | Test.java:5706:17:5706:18 | in : CharSequence | Test.java:5706:4:5706:6 | out [post update] : HttpHeaders [, ] : CharSequence | provenance | MaD:238 | | Test.java:5707:26:5707:40 | getElement(...) : Entry [] : CharSequence | Test.java:5707:9:5707:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5707:37:5707:39 | out : HttpHeaders [, ] : CharSequence | Test.java:79:19:79:32 | it : HttpHeaders [, ] : CharSequence | provenance | | | Test.java:5707:37:5707:39 | out : HttpHeaders [, ] : CharSequence | Test.java:5707:26:5707:40 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | | Test.java:5712:21:5712:86 | (...)... : HttpHeaders [, ] : Object | Test.java:5713:10:5713:11 | in : HttpHeaders [, ] : Object | provenance | | | Test.java:5712:34:5712:86 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5712:21:5712:86 | (...)... : HttpHeaders [, ] : Object | provenance | | @@ -3882,6 +3926,7 @@ edges | Test.java:5713:10:5713:11 | in : HttpHeaders [, ] : Object | Test.java:5713:10:5713:18 | copy(...) : HttpHeaders [, ] : Object | provenance | MaD:239 | | Test.java:5713:10:5713:18 | copy(...) : HttpHeaders [, ] : Object | Test.java:5714:37:5714:39 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5714:26:5714:40 | getElement(...) : Entry [] : Object | Test.java:5714:9:5714:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5714:37:5714:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5714:37:5714:39 | out : HttpHeaders [, ] : Object | Test.java:5714:26:5714:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5719:21:5719:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5720:10:5720:11 | in : HttpHeaders [, ] : Object | provenance | | | Test.java:5719:34:5719:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5719:21:5719:88 | (...)... : HttpHeaders [, ] : Object | provenance | | @@ -3890,6 +3935,7 @@ edges | Test.java:5720:10:5720:11 | in : HttpHeaders [, ] : Object | Test.java:5720:10:5720:18 | copy(...) : HttpHeaders [, ] : Object | provenance | MaD:240 | | Test.java:5720:10:5720:18 | copy(...) : HttpHeaders [, ] : Object | Test.java:5721:39:5721:41 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5721:28:5721:42 | getElement(...) : Entry [] : Object | Test.java:5721:9:5721:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5721:39:5721:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5721:39:5721:41 | out : HttpHeaders [, ] : Object | Test.java:5721:28:5721:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5726:21:5726:86 | (...)... : HttpHeaders [, ] : Object | Test.java:5727:10:5727:11 | in : HttpHeaders [, ] : Object | provenance | | | Test.java:5726:34:5726:86 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5726:21:5726:86 | (...)... : HttpHeaders [, ] : Object | provenance | | @@ -4058,6 +4104,7 @@ edges | Test.java:5917:4:5917:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5918:37:5918:39 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5917:12:5917:13 | in : CharSequence | Test.java:5917:4:5917:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:260 | | Test.java:5918:26:5918:40 | getElement(...) : Entry [] : Object | Test.java:5918:9:5918:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5918:37:5918:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5918:37:5918:39 | out : HttpHeaders [, ] : Object | Test.java:5918:26:5918:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5923:18:5923:44 | (...)... : List [] : Object | Test.java:5924:32:5924:33 | in : List [] : Object | provenance | | | Test.java:5923:28:5923:44 | of(...) : List [] : Object | Test.java:5923:18:5923:44 | (...)... : List [] : Object | provenance | | @@ -4065,18 +4112,21 @@ edges | Test.java:5924:4:5924:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5925:39:5925:41 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5924:32:5924:33 | in : List [] : Object | Test.java:5924:4:5924:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:261 | | Test.java:5925:28:5925:42 | getElement(...) : Entry [] : Object | Test.java:5925:9:5925:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5925:39:5925:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5925:39:5925:41 | out : HttpHeaders [, ] : Object | Test.java:5925:28:5925:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5930:22:5930:43 | (...)... : CharSequence | Test.java:5931:12:5931:13 | in : CharSequence | provenance | | | Test.java:5930:36:5930:43 | source(...) : Object | Test.java:5930:22:5930:43 | (...)... : CharSequence | provenance | | | Test.java:5931:4:5931:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5932:37:5932:39 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5931:12:5931:13 | in : CharSequence | Test.java:5931:4:5931:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:262 | | Test.java:5932:26:5932:40 | getElement(...) : Entry [] : Object | Test.java:5932:9:5932:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5932:37:5932:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5932:37:5932:39 | out : HttpHeaders [, ] : Object | Test.java:5932:26:5932:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5937:16:5937:31 | (...)... : Object | Test.java:5938:32:5938:33 | in : Object | provenance | | | Test.java:5937:24:5937:31 | source(...) : Object | Test.java:5937:16:5937:31 | (...)... : Object | provenance | | | Test.java:5938:4:5938:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5939:39:5939:41 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5938:32:5938:33 | in : Object | Test.java:5938:4:5938:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:263 | | Test.java:5939:28:5939:42 | getElement(...) : Entry [] : Object | Test.java:5939:9:5939:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5939:39:5939:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5939:39:5939:41 | out : HttpHeaders [, ] : Object | Test.java:5939:28:5939:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5944:21:5944:86 | (...)... : HttpHeaders [, ] : Object | Test.java:5945:12:5945:13 | in : HttpHeaders [, ] : Object | provenance | | | Test.java:5944:34:5944:86 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5944:21:5944:86 | (...)... : HttpHeaders [, ] : Object | provenance | | @@ -4085,6 +4135,7 @@ edges | Test.java:5945:4:5945:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5946:37:5946:39 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5945:12:5945:13 | in : HttpHeaders [, ] : Object | Test.java:5945:4:5945:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:268 | | Test.java:5946:26:5946:40 | getElement(...) : Entry [] : Object | Test.java:5946:9:5946:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5946:37:5946:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5946:37:5946:39 | out : HttpHeaders [, ] : Object | Test.java:5946:26:5946:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5951:21:5951:88 | (...)... : HttpHeaders [, ] : Object | Test.java:5952:12:5952:13 | in : HttpHeaders [, ] : Object | provenance | | | Test.java:5951:34:5951:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:5951:21:5951:88 | (...)... : HttpHeaders [, ] : Object | provenance | | @@ -4093,12 +4144,14 @@ edges | Test.java:5952:4:5952:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5953:39:5953:41 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5952:12:5952:13 | in : HttpHeaders [, ] : Object | Test.java:5952:4:5952:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:269 | | Test.java:5953:28:5953:42 | getElement(...) : Entry [] : Object | Test.java:5953:9:5953:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5953:39:5953:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5953:39:5953:41 | out : HttpHeaders [, ] : Object | Test.java:5953:28:5953:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5958:16:5958:31 | (...)... : String | Test.java:5959:12:5959:13 | in : String | provenance | | | Test.java:5958:24:5958:31 | source(...) : Object | Test.java:5958:16:5958:31 | (...)... : String | provenance | | | Test.java:5959:4:5959:6 | out [post update] : HttpHeaders [, ] : String | Test.java:5960:37:5960:39 | out : HttpHeaders [, ] : String | provenance | | | Test.java:5959:12:5959:13 | in : String | Test.java:5959:4:5959:6 | out [post update] : HttpHeaders [, ] : String | provenance | MaD:264 | | Test.java:5960:26:5960:40 | getElement(...) : Entry [] : String | Test.java:5960:9:5960:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5960:37:5960:39 | out : HttpHeaders [, ] : String | Test.java:79:19:79:32 | it : HttpHeaders [, ] : String | provenance | | | Test.java:5960:37:5960:39 | out : HttpHeaders [, ] : String | Test.java:5960:26:5960:40 | getElement(...) : Entry [] : String | provenance | MaD:492 | | Test.java:5965:18:5965:44 | (...)... : List [] : Object | Test.java:5966:26:5966:27 | in : List [] : Object | provenance | | | Test.java:5965:28:5965:44 | of(...) : List [] : Object | Test.java:5965:18:5965:44 | (...)... : List [] : Object | provenance | | @@ -4106,18 +4159,21 @@ edges | Test.java:5966:4:5966:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5967:39:5967:41 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5966:26:5966:27 | in : List [] : Object | Test.java:5966:4:5966:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:265 | | Test.java:5967:28:5967:42 | getElement(...) : Entry [] : Object | Test.java:5967:9:5967:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5967:39:5967:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5967:39:5967:41 | out : HttpHeaders [, ] : Object | Test.java:5967:28:5967:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5972:16:5972:31 | (...)... : String | Test.java:5973:12:5973:13 | in : String | provenance | | | Test.java:5972:24:5972:31 | source(...) : Object | Test.java:5972:16:5972:31 | (...)... : String | provenance | | | Test.java:5973:4:5973:6 | out [post update] : HttpHeaders [, ] : String | Test.java:5974:37:5974:39 | out : HttpHeaders [, ] : String | provenance | | | Test.java:5973:12:5973:13 | in : String | Test.java:5973:4:5973:6 | out [post update] : HttpHeaders [, ] : String | provenance | MaD:266 | | Test.java:5974:26:5974:40 | getElement(...) : Entry [] : String | Test.java:5974:9:5974:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:5974:37:5974:39 | out : HttpHeaders [, ] : String | Test.java:79:19:79:32 | it : HttpHeaders [, ] : String | provenance | | | Test.java:5974:37:5974:39 | out : HttpHeaders [, ] : String | Test.java:5974:26:5974:40 | getElement(...) : Entry [] : String | provenance | MaD:492 | | Test.java:5979:16:5979:31 | (...)... : Object | Test.java:5980:26:5980:27 | in : Object | provenance | | | Test.java:5979:24:5979:31 | source(...) : Object | Test.java:5979:16:5979:31 | (...)... : Object | provenance | | | Test.java:5980:4:5980:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:5981:39:5981:41 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:5980:26:5980:27 | in : Object | Test.java:5980:4:5980:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:267 | | Test.java:5981:28:5981:42 | getElement(...) : Entry [] : Object | Test.java:5981:9:5981:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:5981:39:5981:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:5981:39:5981:41 | out : HttpHeaders [, ] : Object | Test.java:5981:28:5981:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:5986:21:5986:41 | (...)... : HttpHeaders | Test.java:5987:10:5987:11 | in : HttpHeaders | provenance | | | Test.java:5986:34:5986:41 | source(...) : Object | Test.java:5986:21:5986:41 | (...)... : HttpHeaders | provenance | | @@ -4150,6 +4206,7 @@ edges | Test.java:6029:4:6029:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:6030:37:6030:39 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:6029:15:6029:16 | in : HttpHeaders [, ] : Object | Test.java:6029:4:6029:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:271 | | Test.java:6030:26:6030:40 | getElement(...) : Entry [] : Object | Test.java:6030:9:6030:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6030:37:6030:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:6030:37:6030:39 | out : HttpHeaders [, ] : Object | Test.java:6030:26:6030:40 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:6035:21:6035:88 | (...)... : HttpHeaders [, ] : Object | Test.java:6036:15:6036:16 | in : HttpHeaders [, ] : Object | provenance | | | Test.java:6035:34:6035:88 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6035:21:6035:88 | (...)... : HttpHeaders [, ] : Object | provenance | | @@ -4158,6 +4215,7 @@ edges | Test.java:6036:4:6036:6 | out [post update] : HttpHeaders [, ] : Object | Test.java:6037:39:6037:41 | out : HttpHeaders [, ] : Object | provenance | | | Test.java:6036:15:6036:16 | in : HttpHeaders [, ] : Object | Test.java:6036:4:6036:6 | out [post update] : HttpHeaders [, ] : Object | provenance | MaD:272 | | Test.java:6037:28:6037:42 | getElement(...) : Entry [] : Object | Test.java:6037:9:6037:43 | getMapValueDefault(...) | provenance | MaD:498 | +| Test.java:6037:39:6037:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | provenance | | | Test.java:6037:39:6037:41 | out : HttpHeaders [, ] : Object | Test.java:6037:28:6037:42 | getElement(...) : Entry [] : Object | provenance | MaD:492 | | Test.java:6042:21:6042:41 | (...)... : HttpHeaders | Test.java:6043:10:6043:11 | in : HttpHeaders | provenance | | | Test.java:6042:34:6042:41 | source(...) : Object | Test.java:6042:21:6042:41 | (...)... : HttpHeaders | provenance | | @@ -4168,6 +4226,7 @@ edges | Test.java:6050:4:6050:6 | out [post update] : HttpHeaders [, ] : CharSequence | Test.java:6051:37:6051:39 | out : HttpHeaders [, ] : CharSequence | provenance | | | Test.java:6050:15:6050:16 | in : CharSequence | Test.java:6050:4:6050:6 | out [post update] : HttpHeaders [, ] : CharSequence | provenance | MaD:274 | | Test.java:6051:26:6051:40 | getElement(...) : Entry [] : CharSequence | Test.java:6051:9:6051:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6051:37:6051:39 | out : HttpHeaders [, ] : CharSequence | Test.java:79:19:79:32 | it : HttpHeaders [, ] : CharSequence | provenance | | | Test.java:6051:37:6051:39 | out : HttpHeaders [, ] : CharSequence | Test.java:6051:26:6051:40 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | | Test.java:6056:21:6056:41 | (...)... : HttpHeaders | Test.java:6057:10:6057:11 | in : HttpHeaders | provenance | | | Test.java:6056:34:6056:41 | source(...) : Object | Test.java:6056:21:6056:41 | (...)... : HttpHeaders | provenance | | @@ -4178,6 +4237,7 @@ edges | Test.java:6064:4:6064:6 | out [post update] : HttpHeaders [, ] : CharSequence | Test.java:6065:37:6065:39 | out : HttpHeaders [, ] : CharSequence | provenance | | | Test.java:6064:17:6064:18 | in : CharSequence | Test.java:6064:4:6064:6 | out [post update] : HttpHeaders [, ] : CharSequence | provenance | MaD:276 | | Test.java:6065:26:6065:40 | getElement(...) : Entry [] : CharSequence | Test.java:6065:9:6065:41 | getMapKeyDefault(...) | provenance | MaD:499 | +| Test.java:6065:37:6065:39 | out : HttpHeaders [, ] : CharSequence | Test.java:79:19:79:32 | it : HttpHeaders [, ] : CharSequence | provenance | | | Test.java:6065:37:6065:39 | out : HttpHeaders [, ] : CharSequence | Test.java:6065:26:6065:40 | getElement(...) : Entry [] : CharSequence | provenance | MaD:492 | | Test.java:6070:21:6070:86 | (...)... : HttpHeaders [, ] : Object | Test.java:6071:10:6071:11 | in : HttpHeaders [, ] : Object | provenance | | | Test.java:6070:34:6070:86 | newWithElementDefault(...) : Object [, ] : Object | Test.java:6070:21:6070:86 | (...)... : HttpHeaders [, ] : Object | provenance | | @@ -5434,26 +5494,54 @@ edges nodes | Test.java:79:19:79:32 | it : Headers [, ] : Object | semmle.label | it : Headers [, ] : Object | | Test.java:79:19:79:32 | it : Headers [, ] : Object | semmle.label | it : Headers [, ] : Object | +| Test.java:79:19:79:32 | it : Http2Headers [, ] : Object | semmle.label | it : Http2Headers [, ] : Object | +| Test.java:79:19:79:32 | it : Http2Headers [, ] : CharSequence | semmle.label | it : Http2Headers [, ] : CharSequence | +| Test.java:79:19:79:32 | it : Http2Headers [, ] : Object | semmle.label | it : Http2Headers [, ] : Object | +| Test.java:79:19:79:32 | it : HttpHeaders [, ] : CharSequence | semmle.label | it : HttpHeaders [, ] : CharSequence | +| Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | semmle.label | it : HttpHeaders [, ] : Object | +| Test.java:79:19:79:32 | it : HttpHeaders [, ] : String | semmle.label | it : HttpHeaders [, ] : String | +| Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | semmle.label | it : HttpHeaders [, ] : Object | | Test.java:79:19:79:32 | it : List [, ] : Object | semmle.label | it : List [, ] : Object | | Test.java:79:19:79:32 | it : List [, ] : Object | semmle.label | it : List [, ] : Object | | Test.java:79:19:79:32 | it : List [] : Object | semmle.label | it : List [] : Object | | Test.java:79:19:79:32 | it : Set [] : Object | semmle.label | it : Set [] : Object | | Test.java:79:44:79:45 | it : Headers [, ] : Object | semmle.label | it : Headers [, ] : Object | | Test.java:79:44:79:45 | it : Headers [, ] : Object | semmle.label | it : Headers [, ] : Object | +| Test.java:79:44:79:45 | it : Http2Headers [, ] : Object | semmle.label | it : Http2Headers [, ] : Object | +| Test.java:79:44:79:45 | it : Http2Headers [, ] : CharSequence | semmle.label | it : Http2Headers [, ] : CharSequence | +| Test.java:79:44:79:45 | it : Http2Headers [, ] : Object | semmle.label | it : Http2Headers [, ] : Object | +| Test.java:79:44:79:45 | it : HttpHeaders [, ] : CharSequence | semmle.label | it : HttpHeaders [, ] : CharSequence | +| Test.java:79:44:79:45 | it : HttpHeaders [, ] : Object | semmle.label | it : HttpHeaders [, ] : Object | +| Test.java:79:44:79:45 | it : HttpHeaders [, ] : String | semmle.label | it : HttpHeaders [, ] : String | +| Test.java:79:44:79:45 | it : HttpHeaders [, ] : Object | semmle.label | it : HttpHeaders [, ] : Object | | Test.java:79:44:79:45 | it : List [, ] : Object | semmle.label | it : List [, ] : Object | | Test.java:79:44:79:45 | it : List [, ] : Object | semmle.label | it : List [, ] : Object | | Test.java:79:44:79:45 | it : List [] : Object | semmle.label | it : List [] : Object | | Test.java:79:44:79:45 | it : Set [] : Object | semmle.label | it : Set [] : Object | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : CharSequence | semmle.label | iterator(...) : Iterator [, ] : CharSequence | | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : String | semmle.label | iterator(...) : Iterator [, ] : String | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : CharSequence | semmle.label | iterator(...) : Iterator [, ] : CharSequence | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | +| Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | | Test.java:79:44:79:56 | iterator(...) : Iterator [, ] : Object | semmle.label | iterator(...) : Iterator [, ] : Object | | Test.java:79:44:79:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | | Test.java:79:44:79:56 | iterator(...) : Iterator [] : Object | semmle.label | iterator(...) : Iterator [] : Object | | Test.java:79:44:79:63 | next(...) : Object | semmle.label | next(...) : Object | | Test.java:79:44:79:63 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:79:44:79:63 | next(...) : Object [] : CharSequence | semmle.label | next(...) : Object [] : CharSequence | | Test.java:79:44:79:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | | Test.java:79:44:79:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:79:44:79:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:79:44:79:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:79:44:79:63 | next(...) : Object [] : String | semmle.label | next(...) : Object [] : String | +| Test.java:79:44:79:63 | next(...) : Object [] : CharSequence | semmle.label | next(...) : Object [] : CharSequence | +| Test.java:79:44:79:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | +| Test.java:79:44:79:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | | Test.java:79:44:79:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | | Test.java:79:44:79:63 | next(...) : Object [] : Object | semmle.label | next(...) : Object [] : Object | | Test.java:80:19:80:32 | it : Iterator [, ] : Object | semmle.label | it : Iterator [, ] : Object | @@ -11414,7 +11502,32 @@ subpaths | Test.java:4744:20:4744:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:4744:9:4744:23 | getElement(...) | | Test.java:4760:20:4760:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:4760:9:4760:23 | getElement(...) | | Test.java:4768:20:4768:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:4768:9:4768:23 | getElement(...) | +| Test.java:5315:39:5315:41 | out : Http2Headers [, ] : CharSequence | Test.java:79:19:79:32 | it : Http2Headers [, ] : CharSequence | Test.java:79:44:79:63 | next(...) : Object [] : CharSequence | Test.java:5315:28:5315:42 | getElement(...) : Entry [] : CharSequence | +| Test.java:5336:39:5336:41 | out : Http2Headers [, ] : CharSequence | Test.java:79:19:79:32 | it : Http2Headers [, ] : CharSequence | Test.java:79:44:79:63 | next(...) : Object [] : CharSequence | Test.java:5336:28:5336:42 | getElement(...) : Entry [] : CharSequence | +| Test.java:5357:39:5357:41 | out : Http2Headers [, ] : CharSequence | Test.java:79:19:79:32 | it : Http2Headers [, ] : CharSequence | Test.java:79:44:79:63 | next(...) : Object [] : CharSequence | Test.java:5357:28:5357:42 | getElement(...) : Entry [] : CharSequence | +| Test.java:5378:39:5378:41 | out : Http2Headers [, ] : CharSequence | Test.java:79:19:79:32 | it : Http2Headers [, ] : CharSequence | Test.java:79:44:79:63 | next(...) : Object [] : CharSequence | Test.java:5378:28:5378:42 | getElement(...) : Entry [] : CharSequence | +| Test.java:5399:39:5399:41 | out : Http2Headers [, ] : CharSequence | Test.java:79:19:79:32 | it : Http2Headers [, ] : CharSequence | Test.java:79:44:79:63 | next(...) : Object [] : CharSequence | Test.java:5399:28:5399:42 | getElement(...) : Entry [] : CharSequence | | Test.java:5406:20:5406:22 | out : Iterator [] : Object | Test.java:80:19:80:32 | it : Iterator [] : Object | Test.java:80:44:80:52 | next(...) : Object | Test.java:5406:9:5406:23 | getElement(...) | +| Test.java:5441:37:5441:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5441:26:5441:40 | getElement(...) : Entry [] : Object | +| Test.java:5448:39:5448:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5448:28:5448:42 | getElement(...) : Entry [] : Object | +| Test.java:5525:37:5525:39 | out : Http2Headers [, ] : Object | Test.java:79:19:79:32 | it : Http2Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5525:26:5525:40 | getElement(...) : Entry [] : Object | +| Test.java:5532:39:5532:41 | out : Http2Headers [, ] : Object | Test.java:79:19:79:32 | it : Http2Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5532:28:5532:42 | getElement(...) : Entry [] : Object | +| Test.java:5539:37:5539:39 | out : Http2Headers [, ] : Object | Test.java:79:19:79:32 | it : Http2Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5539:26:5539:40 | getElement(...) : Entry [] : Object | +| Test.java:5546:39:5546:41 | out : Http2Headers [, ] : Object | Test.java:79:19:79:32 | it : Http2Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5546:28:5546:42 | getElement(...) : Entry [] : Object | +| Test.java:5581:37:5581:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5581:26:5581:40 | getElement(...) : Entry [] : Object | +| Test.java:5588:39:5588:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5588:28:5588:42 | getElement(...) : Entry [] : Object | +| Test.java:5595:37:5595:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5595:26:5595:40 | getElement(...) : Entry [] : Object | +| Test.java:5602:39:5602:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5602:28:5602:42 | getElement(...) : Entry [] : Object | +| Test.java:5609:37:5609:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5609:26:5609:40 | getElement(...) : Entry [] : Object | +| Test.java:5616:39:5616:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5616:28:5616:42 | getElement(...) : Entry [] : Object | +| Test.java:5623:37:5623:39 | out : HttpHeaders [, ] : String | Test.java:79:19:79:32 | it : HttpHeaders [, ] : String | Test.java:79:44:79:63 | next(...) : Object [] : String | Test.java:5623:26:5623:40 | getElement(...) : Entry [] : String | +| Test.java:5630:39:5630:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5630:28:5630:42 | getElement(...) : Entry [] : Object | +| Test.java:5637:37:5637:39 | out : HttpHeaders [, ] : String | Test.java:79:19:79:32 | it : HttpHeaders [, ] : String | Test.java:79:44:79:63 | next(...) : Object [] : String | Test.java:5637:26:5637:40 | getElement(...) : Entry [] : String | +| Test.java:5644:39:5644:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5644:28:5644:42 | getElement(...) : Entry [] : Object | +| Test.java:5693:37:5693:39 | out : HttpHeaders [, ] : CharSequence | Test.java:79:19:79:32 | it : HttpHeaders [, ] : CharSequence | Test.java:79:44:79:63 | next(...) : Object [] : CharSequence | Test.java:5693:26:5693:40 | getElement(...) : Entry [] : CharSequence | +| Test.java:5707:37:5707:39 | out : HttpHeaders [, ] : CharSequence | Test.java:79:19:79:32 | it : HttpHeaders [, ] : CharSequence | Test.java:79:44:79:63 | next(...) : Object [] : CharSequence | Test.java:5707:26:5707:40 | getElement(...) : Entry [] : CharSequence | +| Test.java:5714:37:5714:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5714:26:5714:40 | getElement(...) : Entry [] : Object | +| Test.java:5721:39:5721:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5721:28:5721:42 | getElement(...) : Entry [] : Object | | Test.java:5728:37:5728:39 | out : List [, ] : Object | Test.java:79:19:79:32 | it : List [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5728:26:5728:40 | getElement(...) : Object [] : Object | | Test.java:5735:39:5735:41 | out : List [, ] : Object | Test.java:79:19:79:32 | it : List [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5735:28:5735:42 | getElement(...) : Object [] : Object | | Test.java:5771:20:5771:22 | out : List [] : Object | Test.java:79:19:79:32 | it : List [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:5771:9:5771:23 | getElement(...) | @@ -11425,6 +11538,20 @@ subpaths | Test.java:5876:37:5876:39 | out : Iterator [, ] : Object | Test.java:80:19:80:32 | it : Iterator [, ] : Object | Test.java:80:44:80:52 | next(...) : Object [] : Object | Test.java:5876:26:5876:40 | getElement(...) : Object [] : Object | | Test.java:5883:39:5883:41 | out : Iterator [, ] : Object | Test.java:80:19:80:32 | it : Iterator [, ] : Object | Test.java:80:44:80:52 | next(...) : Object [] : Object | Test.java:5883:28:5883:42 | getElement(...) : Object [] : Object | | Test.java:5890:20:5890:22 | out : Set [] : Object | Test.java:79:19:79:32 | it : Set [] : Object | Test.java:79:44:79:63 | next(...) : Object | Test.java:5890:9:5890:23 | getElement(...) | +| Test.java:5918:37:5918:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5918:26:5918:40 | getElement(...) : Entry [] : Object | +| Test.java:5925:39:5925:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5925:28:5925:42 | getElement(...) : Entry [] : Object | +| Test.java:5932:37:5932:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5932:26:5932:40 | getElement(...) : Entry [] : Object | +| Test.java:5939:39:5939:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5939:28:5939:42 | getElement(...) : Entry [] : Object | +| Test.java:5946:37:5946:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5946:26:5946:40 | getElement(...) : Entry [] : Object | +| Test.java:5953:39:5953:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5953:28:5953:42 | getElement(...) : Entry [] : Object | +| Test.java:5960:37:5960:39 | out : HttpHeaders [, ] : String | Test.java:79:19:79:32 | it : HttpHeaders [, ] : String | Test.java:79:44:79:63 | next(...) : Object [] : String | Test.java:5960:26:5960:40 | getElement(...) : Entry [] : String | +| Test.java:5967:39:5967:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5967:28:5967:42 | getElement(...) : Entry [] : Object | +| Test.java:5974:37:5974:39 | out : HttpHeaders [, ] : String | Test.java:79:19:79:32 | it : HttpHeaders [, ] : String | Test.java:79:44:79:63 | next(...) : Object [] : String | Test.java:5974:26:5974:40 | getElement(...) : Entry [] : String | +| Test.java:5981:39:5981:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:5981:28:5981:42 | getElement(...) : Entry [] : Object | +| Test.java:6030:37:6030:39 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6030:26:6030:40 | getElement(...) : Entry [] : Object | +| Test.java:6037:39:6037:41 | out : HttpHeaders [, ] : Object | Test.java:79:19:79:32 | it : HttpHeaders [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6037:28:6037:42 | getElement(...) : Entry [] : Object | +| Test.java:6051:37:6051:39 | out : HttpHeaders [, ] : CharSequence | Test.java:79:19:79:32 | it : HttpHeaders [, ] : CharSequence | Test.java:79:44:79:63 | next(...) : Object [] : CharSequence | Test.java:6051:26:6051:40 | getElement(...) : Entry [] : CharSequence | +| Test.java:6065:37:6065:39 | out : HttpHeaders [, ] : CharSequence | Test.java:79:19:79:32 | it : HttpHeaders [, ] : CharSequence | Test.java:79:44:79:63 | next(...) : Object [] : CharSequence | Test.java:6065:26:6065:40 | getElement(...) : Entry [] : CharSequence | | Test.java:6086:20:6086:22 | out : Iterator [] : Object | Test.java:80:19:80:32 | it : Iterator [] : Object | Test.java:80:44:80:52 | next(...) : Object | Test.java:6086:9:6086:23 | getElement(...) | | Test.java:6093:20:6093:22 | out : Iterator [] : Object | Test.java:80:19:80:32 | it : Iterator [] : Object | Test.java:80:44:80:52 | next(...) : Object | Test.java:6093:9:6093:23 | getElement(...) | | Test.java:6270:37:6270:39 | out : Headers [, ] : Object | Test.java:79:19:79:32 | it : Headers [, ] : Object | Test.java:79:44:79:63 | next(...) : Object [] : Object | Test.java:6270:26:6270:40 | getElement(...) : Object [] : Object | diff --git a/java/ql/test/library-tests/frameworks/spring/util/test.expected b/java/ql/test/library-tests/frameworks/spring/util/test.expected index 2547f790b8d..f27398764b8 100644 --- a/java/ql/test/library-tests/frameworks/spring/util/test.expected +++ b/java/ql/test/library-tests/frameworks/spring/util/test.expected @@ -150,8 +150,10 @@ models | 149 | Summary: org.springframework.util; SystemPropertyUtils; false; resolvePlaceholders; ; ; Argument[0]; ReturnValue; taint; manual | edges | Test.java:48:24:48:36 | container : Object[] [[]] : Object | Test.java:48:48:48:56 | container : Object[] [[]] : Object | provenance | | +| Test.java:48:24:48:36 | container : String[] [[]] : Object | Test.java:48:48:48:56 | container : String[] [[]] : Object | provenance | | | Test.java:48:24:48:36 | container : String[] [[]] : String | Test.java:48:48:48:56 | container : String[] [[]] : String | provenance | | | Test.java:48:48:48:56 | container : Object[] [[]] : Object | Test.java:48:48:48:59 | ...[...] : Object | provenance | | +| Test.java:48:48:48:56 | container : String[] [[]] : Object | Test.java:48:48:48:59 | ...[...] : Object | provenance | | | Test.java:48:48:48:56 | container : String[] [[]] : String | Test.java:48:48:48:59 | ...[...] : String | provenance | | | Test.java:49:19:49:41 | container : AutoPopulatingList [] : Object | Test.java:49:53:49:61 | container : AutoPopulatingList [] : Object | provenance | | | Test.java:49:19:49:41 | container : Collection [] : Object | Test.java:49:53:49:61 | container : Collection [] : Object | provenance | | @@ -189,9 +191,17 @@ edges | Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | Test.java:51:51:51:86 | next(...) : Object | provenance | MaD:7 | | Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | Test.java:51:51:51:86 | next(...) : Object | provenance | MaD:7 | | Test.java:51:51:51:79 | iterator(...) : Iterator [] : Object | Test.java:51:51:51:86 | next(...) : Object | provenance | MaD:7 | +| Test.java:52:23:52:41 | container : LinkedMultiValueMap [, ] : Object | Test.java:52:53:52:61 | container : LinkedMultiValueMap [, ] : Object | provenance | | | Test.java:52:23:52:41 | container : Map [] : Object | Test.java:52:53:52:61 | container : Map [] : Object | provenance | | +| Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | Test.java:52:53:52:61 | container : MultiValueMap [, ] : Object | provenance | | +| Test.java:52:23:52:41 | container : MultiValueMap [] : Object | Test.java:52:53:52:61 | container : MultiValueMap [] : Object | provenance | | +| Test.java:52:23:52:41 | container : MultiValueMapAdapter [, ] : Object | Test.java:52:53:52:61 | container : MultiValueMapAdapter [, ] : Object | provenance | | | Test.java:52:23:52:41 | container : Properties [] : Object | Test.java:52:53:52:61 | container : Properties [] : Object | provenance | | +| Test.java:52:53:52:61 | container : LinkedMultiValueMap [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | provenance | MaD:9 | | Test.java:52:53:52:61 | container : Map [] : Object | Test.java:52:53:52:71 | get(...) : Object | provenance | MaD:9 | +| Test.java:52:53:52:61 | container : MultiValueMap [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | provenance | MaD:9 | +| Test.java:52:53:52:61 | container : MultiValueMap [] : Object | Test.java:52:53:52:71 | get(...) : Object | provenance | MaD:9 | +| Test.java:52:53:52:61 | container : MultiValueMapAdapter [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | provenance | MaD:9 | | Test.java:52:53:52:61 | container : Properties [] : Object | Test.java:52:53:52:71 | get(...) : Object | provenance | MaD:9 | | Test.java:53:31:53:44 | element : Object | Test.java:53:70:53:76 | element : Object | provenance | | | Test.java:53:56:53:77 | {...} : Object[] [[]] : Object | Test.java:53:56:53:77 | new Object[] : Object[] [[]] : Object | provenance | | @@ -355,6 +365,7 @@ edges | Test.java:280:42:280:43 | in : Map [, ] : Object | Test.java:280:10:280:44 | toMultiValueMap(...) : MultiValueMap [, ] : Object | provenance | MaD:43 | | Test.java:281:20:281:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:281:20:281:35 | getMapValue(...) : List [] : Object | Test.java:281:9:281:36 | getElement(...) | provenance | MaD:3 | +| Test.java:281:32:281:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | provenance | | | Test.java:281:32:281:34 | out : MultiValueMap [, ] : Object | Test.java:281:20:281:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:286:13:286:34 | of(...) : Map [] : Object | Test.java:287:42:287:43 | in : Map [] : Object | provenance | | | Test.java:286:20:286:27 | source(...) : Object | Test.java:286:13:286:34 | of(...) : Map [] : Object | provenance | MaD:11 | @@ -373,6 +384,7 @@ edges | Test.java:301:17:301:24 | source(...) : Object | Test.java:301:4:301:5 | in [post update] : LinkedMultiValueMap [] : Object | provenance | MaD:14 | | Test.java:302:10:302:54 | unmodifiableMultiValueMap(...) : MultiValueMap [] : Object | Test.java:303:21:303:23 | out : MultiValueMap [] : Object | provenance | | | Test.java:302:52:302:53 | in : LinkedMultiValueMap [] : Object | Test.java:302:10:302:54 | unmodifiableMultiValueMap(...) : MultiValueMap [] : Object | provenance | MaD:45 | +| Test.java:303:21:303:23 | out : MultiValueMap [] : Object | Test.java:52:23:52:41 | container : MultiValueMap [] : Object | provenance | | | Test.java:303:21:303:23 | out : MultiValueMap [] : Object | Test.java:303:9:303:24 | getMapValue(...) | provenance | MaD:9 | | Test.java:308:18:308:34 | of(...) : List [] : Object | Test.java:308:18:308:45 | iterator(...) : Iterator [] : Object | provenance | MaD:3 | | Test.java:308:18:308:45 | iterator(...) : Iterator [] : Object | Test.java:309:12:309:13 | in : Iterator [] : Object | provenance | | @@ -448,6 +460,7 @@ edges | Test.java:415:34:415:35 | in : Map [, ] : Object | Test.java:415:10:415:36 | new LinkedMultiValueMap<>(...) : LinkedMultiValueMap [, ] : Object | provenance | MaD:59 | | Test.java:416:20:416:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:416:20:416:35 | getMapValue(...) : List [] : Object | Test.java:416:9:416:36 | getElement(...) | provenance | MaD:3 | +| Test.java:416:32:416:34 | out : LinkedMultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : LinkedMultiValueMap [, ] : Object | provenance | | | Test.java:416:32:416:34 | out : LinkedMultiValueMap [, ] : Object | Test.java:416:20:416:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:421:13:421:34 | of(...) : Map [] : Object | Test.java:422:34:422:35 | in : Map [] : Object | provenance | | | Test.java:421:20:421:27 | source(...) : Object | Test.java:421:13:421:34 | of(...) : Map [] : Object | provenance | MaD:11 | @@ -467,6 +480,7 @@ edges | Test.java:438:10:438:22 | deepCopy(...) : LinkedMultiValueMap [, ] : Object | Test.java:439:32:439:34 | out : LinkedMultiValueMap [, ] : Object | provenance | | | Test.java:439:20:439:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:439:20:439:35 | getMapValue(...) : List [] : Object | Test.java:439:9:439:36 | getElement(...) | provenance | MaD:3 | +| Test.java:439:32:439:34 | out : LinkedMultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : LinkedMultiValueMap [, ] : Object | provenance | | | Test.java:439:32:439:34 | out : LinkedMultiValueMap [, ] : Object | Test.java:439:20:439:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:444:16:444:23 | source(...) : Object | Test.java:445:12:445:13 | in : Object | provenance | | | Test.java:445:4:445:6 | out [post update] : MultiValueMapAdapter [] : Object | Test.java:446:19:446:21 | out : MultiValueMapAdapter [] : Object | provenance | | @@ -488,18 +502,21 @@ edges | Test.java:466:18:466:19 | in : Object | Test.java:466:4:466:6 | out [post update] : MultiValueMapAdapter [, ] : Object | provenance | MaD:63 | | Test.java:467:20:467:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:467:20:467:35 | getMapValue(...) : List [] : Object | Test.java:467:9:467:36 | getElement(...) | provenance | MaD:3 | +| Test.java:467:32:467:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMapAdapter [, ] : Object | provenance | | | Test.java:467:32:467:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:467:20:467:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:472:16:472:23 | source(...) : Object | Test.java:473:18:473:19 | in : Object | provenance | | | Test.java:473:4:473:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:474:32:474:34 | out : MultiValueMap [, ] : Object | provenance | | | Test.java:473:18:473:19 | in : Object | Test.java:473:4:473:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:63 | | Test.java:474:20:474:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:474:20:474:35 | getMapValue(...) : List [] : Object | Test.java:474:9:474:36 | getElement(...) | provenance | MaD:3 | +| Test.java:474:32:474:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | provenance | | | Test.java:474:32:474:34 | out : MultiValueMap [, ] : Object | Test.java:474:20:474:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:479:16:479:23 | source(...) : Object | Test.java:480:26:480:27 | in : Object | provenance | | | Test.java:480:4:480:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:481:32:481:34 | out : MultiValueMap [, ] : Object | provenance | | | Test.java:480:26:480:27 | in : Object | Test.java:480:4:480:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:63 | | Test.java:481:20:481:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:481:20:481:35 | getMapValue(...) : List [] : Object | Test.java:481:9:481:36 | getElement(...) | provenance | MaD:3 | +| Test.java:481:32:481:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | provenance | | | Test.java:481:32:481:34 | out : MultiValueMap [, ] : Object | Test.java:481:20:481:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:486:14:486:30 | of(...) : List [] : Object | Test.java:487:21:487:22 | in : List [] : Object | provenance | | | Test.java:486:22:486:29 | source(...) : Object | Test.java:486:14:486:30 | of(...) : List [] : Object | provenance | MaD:8 | @@ -507,6 +524,7 @@ edges | Test.java:487:21:487:22 | in : List [] : Object | Test.java:487:4:487:6 | out [post update] : MultiValueMapAdapter [, ] : Object | provenance | MaD:65 | | Test.java:488:20:488:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:488:20:488:35 | getMapValue(...) : List [] : Object | Test.java:488:9:488:36 | getElement(...) | provenance | MaD:3 | +| Test.java:488:32:488:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMapAdapter [, ] : Object | provenance | | | Test.java:488:32:488:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:488:20:488:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:493:14:493:30 | of(...) : List [] : Object | Test.java:494:21:494:22 | in : List [] : Object | provenance | | | Test.java:493:22:493:29 | source(...) : Object | Test.java:493:14:493:30 | of(...) : List [] : Object | provenance | MaD:8 | @@ -514,6 +532,7 @@ edges | Test.java:494:21:494:22 | in : List [] : Object | Test.java:494:4:494:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:65 | | Test.java:495:20:495:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:495:20:495:35 | getMapValue(...) : List [] : Object | Test.java:495:9:495:36 | getElement(...) | provenance | MaD:3 | +| Test.java:495:32:495:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | provenance | | | Test.java:495:32:495:34 | out : MultiValueMap [, ] : Object | Test.java:495:20:495:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:500:14:500:30 | of(...) : List [] : Object | Test.java:501:29:501:30 | in : List [] : Object | provenance | | | Test.java:500:22:500:29 | source(...) : Object | Test.java:500:14:500:30 | of(...) : List [] : Object | provenance | MaD:8 | @@ -521,6 +540,7 @@ edges | Test.java:501:29:501:30 | in : List [] : Object | Test.java:501:4:501:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:65 | | Test.java:502:20:502:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:502:20:502:35 | getMapValue(...) : List [] : Object | Test.java:502:9:502:36 | getElement(...) | provenance | MaD:3 | +| Test.java:502:32:502:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | provenance | | | Test.java:502:32:502:34 | out : MultiValueMap [, ] : Object | Test.java:502:20:502:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:507:23:507:68 | (...)... : MultiValueMap [, ] : Object | Test.java:508:15:508:16 | in : MultiValueMap [, ] : Object | provenance | | | Test.java:507:38:507:68 | of(...) : Map [, ] : Object | Test.java:507:23:507:68 | (...)... : MultiValueMap [, ] : Object | provenance | | @@ -530,6 +550,7 @@ edges | Test.java:508:15:508:16 | in : MultiValueMap [, ] : Object | Test.java:508:4:508:6 | out [post update] : MultiValueMapAdapter [, ] : Object | provenance | MaD:67 | | Test.java:509:20:509:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:509:20:509:35 | getMapValue(...) : List [] : Object | Test.java:509:9:509:36 | getElement(...) | provenance | MaD:3 | +| Test.java:509:32:509:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMapAdapter [, ] : Object | provenance | | | Test.java:509:32:509:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:509:20:509:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:514:23:514:68 | (...)... : MultiValueMap [, ] : Object | Test.java:515:15:515:16 | in : MultiValueMap [, ] : Object | provenance | | | Test.java:514:38:514:68 | of(...) : Map [, ] : Object | Test.java:514:23:514:68 | (...)... : MultiValueMap [, ] : Object | provenance | | @@ -539,6 +560,7 @@ edges | Test.java:515:15:515:16 | in : MultiValueMap [, ] : Object | Test.java:515:4:515:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:67 | | Test.java:516:20:516:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:516:20:516:35 | getMapValue(...) : List [] : Object | Test.java:516:9:516:36 | getElement(...) | provenance | MaD:3 | +| Test.java:516:32:516:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | provenance | | | Test.java:516:32:516:34 | out : MultiValueMap [, ] : Object | Test.java:516:20:516:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:521:16:521:23 | source(...) : Object | Test.java:522:15:522:16 | in : Object | provenance | | | Test.java:522:4:522:6 | out [post update] : MultiValueMapAdapter [] : Object | Test.java:523:19:523:21 | out : MultiValueMapAdapter [] : Object | provenance | | @@ -577,12 +599,14 @@ edges | Test.java:566:26:566:27 | in : Object | Test.java:566:4:566:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:69 | | Test.java:567:20:567:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:567:20:567:35 | getMapValue(...) : List [] : Object | Test.java:567:9:567:36 | getElement(...) | provenance | MaD:3 | +| Test.java:567:32:567:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | provenance | | | Test.java:567:32:567:34 | out : MultiValueMap [, ] : Object | Test.java:567:20:567:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:572:16:572:23 | source(...) : Object | Test.java:573:34:573:35 | in : Object | provenance | | | Test.java:573:4:573:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:574:32:574:34 | out : MultiValueMap [, ] : Object | provenance | | | Test.java:573:34:573:35 | in : Object | Test.java:573:4:573:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:69 | | Test.java:574:20:574:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:574:20:574:35 | getMapValue(...) : List [] : Object | Test.java:574:9:574:36 | getElement(...) | provenance | MaD:3 | +| Test.java:574:32:574:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | provenance | | | Test.java:574:32:574:34 | out : MultiValueMap [, ] : Object | Test.java:574:20:574:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:579:30:579:86 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [, ] : Object | Test.java:580:10:580:11 | in : MultiValueMapAdapter [, ] : Object | provenance | | | Test.java:579:55:579:85 | of(...) : Map [, ] : Object | Test.java:579:30:579:86 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [, ] : Object | provenance | MaD:78 | @@ -617,18 +641,21 @@ edges | Test.java:615:18:615:19 | in : Object | Test.java:615:4:615:6 | out [post update] : MultiValueMapAdapter [, ] : Object | provenance | MaD:72 | | Test.java:616:20:616:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:616:20:616:35 | getMapValue(...) : List [] : Object | Test.java:616:9:616:36 | getElement(...) | provenance | MaD:3 | +| Test.java:616:32:616:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMapAdapter [, ] : Object | provenance | | | Test.java:616:32:616:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:616:20:616:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:621:16:621:23 | source(...) : Object | Test.java:622:18:622:19 | in : Object | provenance | | | Test.java:622:4:622:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:623:32:623:34 | out : MultiValueMap [, ] : Object | provenance | | | Test.java:622:18:622:19 | in : Object | Test.java:622:4:622:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:72 | | Test.java:623:20:623:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:623:20:623:35 | getMapValue(...) : List [] : Object | Test.java:623:9:623:36 | getElement(...) | provenance | MaD:3 | +| Test.java:623:32:623:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | provenance | | | Test.java:623:32:623:34 | out : MultiValueMap [, ] : Object | Test.java:623:20:623:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:628:16:628:23 | source(...) : Object | Test.java:629:26:629:27 | in : Object | provenance | | | Test.java:629:4:629:6 | out [post update] : MultiValueMap [, ] : Object | Test.java:630:32:630:34 | out : MultiValueMap [, ] : Object | provenance | | | Test.java:629:26:629:27 | in : Object | Test.java:629:4:629:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:72 | | Test.java:630:20:630:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:630:20:630:35 | getMapValue(...) : List [] : Object | Test.java:630:9:630:36 | getElement(...) | provenance | MaD:3 | +| Test.java:630:32:630:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | provenance | | | Test.java:630:32:630:34 | out : MultiValueMap [, ] : Object | Test.java:630:20:630:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:635:13:635:34 | of(...) : Map [] : Object | Test.java:636:15:636:16 | in : Map [] : Object | provenance | | | Test.java:635:20:635:27 | source(...) : Object | Test.java:635:13:635:34 | of(...) : Map [] : Object | provenance | MaD:11 | @@ -648,6 +675,7 @@ edges | Test.java:650:15:650:16 | in : Map [] : Object | Test.java:650:4:650:6 | out [post update] : MultiValueMapAdapter [, ] : Object | provenance | MaD:74 | | Test.java:651:20:651:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:651:20:651:35 | getMapValue(...) : List [] : Object | Test.java:651:9:651:36 | getElement(...) | provenance | MaD:3 | +| Test.java:651:32:651:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMapAdapter [, ] : Object | provenance | | | Test.java:651:32:651:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:651:20:651:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:656:13:656:34 | of(...) : Map [] : Object | Test.java:657:15:657:16 | in : Map [] : Object | provenance | | | Test.java:656:26:656:33 | source(...) : Object | Test.java:656:13:656:34 | of(...) : Map [] : Object | provenance | MaD:12 | @@ -655,6 +683,7 @@ edges | Test.java:657:15:657:16 | in : Map [] : Object | Test.java:657:4:657:6 | out [post update] : MultiValueMap [, ] : Object | provenance | MaD:74 | | Test.java:658:20:658:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:658:20:658:35 | getMapValue(...) : List [] : Object | Test.java:658:9:658:36 | getElement(...) | provenance | MaD:3 | +| Test.java:658:32:658:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | provenance | | | Test.java:658:32:658:34 | out : MultiValueMap [, ] : Object | Test.java:658:20:658:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:663:30:663:86 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [, ] : Object | Test.java:664:10:664:11 | in : MultiValueMapAdapter [, ] : Object | provenance | | | Test.java:663:55:663:85 | of(...) : Map [, ] : Object | Test.java:663:30:663:86 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [, ] : Object | provenance | MaD:78 | @@ -693,6 +722,7 @@ edges | Test.java:692:35:692:36 | in : Map [, ] : Object | Test.java:692:10:692:37 | new MultiValueMapAdapter<>(...) : MultiValueMapAdapter [, ] : Object | provenance | MaD:78 | | Test.java:693:20:693:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | provenance | | | Test.java:693:20:693:35 | getMapValue(...) : List [] : Object | Test.java:693:9:693:36 | getElement(...) | provenance | MaD:3 | +| Test.java:693:32:693:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMapAdapter [, ] : Object | provenance | | | Test.java:693:32:693:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:693:20:693:35 | getMapValue(...) : List [] : Object | provenance | MaD:9 | | Test.java:698:13:698:34 | of(...) : Map [] : Object | Test.java:699:35:699:36 | in : Map [] : Object | provenance | | | Test.java:698:20:698:27 | source(...) : Object | Test.java:698:13:698:34 | of(...) : Map [] : Object | provenance | MaD:11 | @@ -890,6 +920,7 @@ edges | Test.java:1031:48:1031:55 | source(...) : Object | Test.java:1031:28:1031:56 | newWithArrayElement(...) : Object[] [[]] : Object | provenance | | | Test.java:1032:10:1032:47 | addStringToArray(...) : String[] [[]] : Object | Test.java:1033:25:1033:27 | out : String[] [[]] : Object | provenance | | | Test.java:1032:39:1032:40 | in : String[] [[]] : Object | Test.java:1032:10:1032:47 | addStringToArray(...) : String[] [[]] : Object | provenance | MaD:106 | +| Test.java:1033:25:1033:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | provenance | | | Test.java:1033:25:1033:27 | out : String[] [[]] : Object | Test.java:1033:9:1033:28 | getArrayElement(...) | provenance | | | Test.java:1038:16:1038:31 | (...)... : String | Test.java:1039:46:1039:47 | in : String | provenance | | | Test.java:1038:24:1038:31 | source(...) : Object | Test.java:1038:16:1038:31 | (...)... : String | provenance | | @@ -957,18 +988,21 @@ edges | Test.java:1143:24:1143:31 | source(...) : Object | Test.java:1143:16:1143:31 | (...)... : String | provenance | | | Test.java:1144:10:1144:56 | commaDelimitedListToStringArray(...) : String[] [[]] : Object | Test.java:1145:25:1145:27 | out : String[] [[]] : Object | provenance | | | Test.java:1144:54:1144:55 | in : String | Test.java:1144:10:1144:56 | commaDelimitedListToStringArray(...) : String[] [[]] : Object | provenance | MaD:118 | +| Test.java:1145:25:1145:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | provenance | | | Test.java:1145:25:1145:27 | out : String[] [[]] : Object | Test.java:1145:9:1145:28 | getArrayElement(...) | provenance | | | Test.java:1150:18:1150:37 | {...} : String[] [[]] : String | Test.java:1151:52:1151:53 | in : String[] [[]] : String | provenance | | | Test.java:1150:20:1150:35 | (...)... : String | Test.java:1150:18:1150:37 | {...} : String[] [[]] : String | provenance | | | Test.java:1150:28:1150:35 | source(...) : Object | Test.java:1150:20:1150:35 | (...)... : String | provenance | | | Test.java:1151:10:1151:54 | concatenateStringArrays(...) : String[] [[]] : Object | Test.java:1152:25:1152:27 | out : String[] [[]] : Object | provenance | | | Test.java:1151:52:1151:53 | in : String[] [[]] : String | Test.java:1151:10:1151:54 | concatenateStringArrays(...) : String[] [[]] : Object | provenance | MaD:119 | +| Test.java:1152:25:1152:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | provenance | | | Test.java:1152:25:1152:27 | out : String[] [[]] : Object | Test.java:1152:9:1152:28 | getArrayElement(...) | provenance | | | Test.java:1157:18:1157:37 | {...} : String[] [[]] : String | Test.java:1158:46:1158:47 | in : String[] [[]] : String | provenance | | | Test.java:1157:20:1157:35 | (...)... : String | Test.java:1157:18:1157:37 | {...} : String[] [[]] : String | provenance | | | Test.java:1157:28:1157:35 | source(...) : Object | Test.java:1157:20:1157:35 | (...)... : String | provenance | | | Test.java:1158:10:1158:54 | concatenateStringArrays(...) : String[] [[]] : Object | Test.java:1159:25:1159:27 | out : String[] [[]] : Object | provenance | | | Test.java:1158:46:1158:47 | in : String[] [[]] : String | Test.java:1158:10:1158:54 | concatenateStringArrays(...) : String[] [[]] : Object | provenance | MaD:119 | +| Test.java:1159:25:1159:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | provenance | | | Test.java:1159:25:1159:27 | out : String[] [[]] : Object | Test.java:1159:9:1159:28 | getArrayElement(...) | provenance | | | Test.java:1164:16:1164:31 | (...)... : String | Test.java:1165:29:1165:30 | in : String | provenance | | | Test.java:1164:24:1164:31 | source(...) : Object | Test.java:1164:16:1164:31 | (...)... : String | provenance | | @@ -1041,6 +1075,7 @@ edges | Test.java:1262:24:1262:31 | source(...) : Object | Test.java:1262:16:1262:31 | (...)... : String | provenance | | | Test.java:1263:10:1263:36 | split(...) : String[] [[]] : Object | Test.java:1264:25:1264:27 | out : String[] [[]] : Object | provenance | | | Test.java:1263:28:1263:29 | in : String | Test.java:1263:10:1263:36 | split(...) : String[] [[]] : Object | provenance | MaD:132 | +| Test.java:1264:25:1264:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | provenance | | | Test.java:1264:25:1264:27 | out : String[] [[]] : Object | Test.java:1264:9:1264:28 | getArrayElement(...) | provenance | | | Test.java:1269:18:1269:37 | {...} : String[] [[]] : String | Test.java:1270:55:1270:56 | in : String[] [[]] : String | provenance | | | Test.java:1269:20:1269:35 | (...)... : String | Test.java:1269:18:1269:37 | {...} : String[] [[]] : String | provenance | | @@ -1069,21 +1104,25 @@ edges | Test.java:1297:53:1297:60 | source(...) : Object | Test.java:1297:45:1297:61 | of(...) : List [] : Object | provenance | MaD:8 | | Test.java:1298:10:1298:38 | toStringArray(...) : String[] [[]] : Object | Test.java:1299:25:1299:27 | out : String[] [[]] : Object | provenance | | | Test.java:1298:36:1298:37 | in : Enumeration [] : Object | Test.java:1298:10:1298:38 | toStringArray(...) : String[] [[]] : Object | provenance | MaD:136 | +| Test.java:1299:25:1299:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | provenance | | | Test.java:1299:25:1299:27 | out : String[] [[]] : Object | Test.java:1299:9:1299:28 | getArrayElement(...) | provenance | | | Test.java:1304:20:1304:36 | of(...) : List [] : Object | Test.java:1305:36:1305:37 | in : List [] : Object | provenance | | | Test.java:1304:28:1304:35 | source(...) : Object | Test.java:1304:20:1304:36 | of(...) : List [] : Object | provenance | MaD:8 | | Test.java:1305:10:1305:38 | toStringArray(...) : String[] [[]] : Object | Test.java:1306:25:1306:27 | out : String[] [[]] : Object | provenance | | | Test.java:1305:36:1305:37 | in : List [] : Object | Test.java:1305:10:1305:38 | toStringArray(...) : String[] [[]] : Object | provenance | MaD:136 | +| Test.java:1306:25:1306:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | provenance | | | Test.java:1306:25:1306:27 | out : String[] [[]] : Object | Test.java:1306:9:1306:28 | getArrayElement(...) | provenance | | | Test.java:1311:16:1311:31 | (...)... : String | Test.java:1312:44:1312:45 | in : String | provenance | | | Test.java:1311:24:1311:31 | source(...) : Object | Test.java:1311:16:1311:31 | (...)... : String | provenance | | | Test.java:1312:10:1312:66 | tokenizeToStringArray(...) : String[] [[]] : Object | Test.java:1313:25:1313:27 | out : String[] [[]] : Object | provenance | | | Test.java:1312:44:1312:45 | in : String | Test.java:1312:10:1312:66 | tokenizeToStringArray(...) : String[] [[]] : Object | provenance | MaD:137 | +| Test.java:1313:25:1313:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | provenance | | | Test.java:1313:25:1313:27 | out : String[] [[]] : Object | Test.java:1313:9:1313:28 | getArrayElement(...) | provenance | | | Test.java:1318:16:1318:31 | (...)... : String | Test.java:1319:44:1319:45 | in : String | provenance | | | Test.java:1318:24:1318:31 | source(...) : Object | Test.java:1318:16:1318:31 | (...)... : String | provenance | | | Test.java:1319:10:1319:52 | tokenizeToStringArray(...) : String[] [[]] : Object | Test.java:1320:25:1320:27 | out : String[] [[]] : Object | provenance | | | Test.java:1319:44:1319:45 | in : String | Test.java:1319:10:1319:52 | tokenizeToStringArray(...) : String[] [[]] : Object | provenance | MaD:137 | +| Test.java:1320:25:1320:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | provenance | | | Test.java:1320:25:1320:27 | out : String[] [[]] : Object | Test.java:1320:9:1320:28 | getArrayElement(...) | provenance | | | Test.java:1325:16:1325:31 | (...)... : String | Test.java:1326:40:1326:41 | in : String | provenance | | | Test.java:1325:24:1325:31 | source(...) : Object | Test.java:1325:16:1325:31 | (...)... : String | provenance | | @@ -1094,6 +1133,7 @@ edges | Test.java:1332:28:1332:35 | source(...) : Object | Test.java:1332:20:1332:35 | (...)... : String | provenance | | | Test.java:1333:10:1333:42 | trimArrayElements(...) : String[] [[]] : Object | Test.java:1334:25:1334:27 | out : String[] [[]] : Object | provenance | | | Test.java:1333:40:1333:41 | in : String[] [[]] : String | Test.java:1333:10:1333:42 | trimArrayElements(...) : String[] [[]] : Object | provenance | MaD:139 | +| Test.java:1334:25:1334:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | provenance | | | Test.java:1334:25:1334:27 | out : String[] [[]] : Object | Test.java:1334:9:1334:28 | getArrayElement(...) | provenance | | | Test.java:1339:16:1339:31 | (...)... : String | Test.java:1340:43:1340:44 | in : String | provenance | | | Test.java:1339:24:1339:31 | source(...) : Object | Test.java:1339:16:1339:31 | (...)... : String | provenance | | @@ -1145,10 +1185,13 @@ edges | Test.java:1418:50:1418:51 | in : String | Test.java:1418:10:1418:52 | resolvePlaceholders(...) : String | provenance | MaD:149 | nodes | Test.java:48:24:48:36 | container : Object[] [[]] : Object | semmle.label | container : Object[] [[]] : Object | +| Test.java:48:24:48:36 | container : String[] [[]] : Object | semmle.label | container : String[] [[]] : Object | | Test.java:48:24:48:36 | container : String[] [[]] : String | semmle.label | container : String[] [[]] : String | | Test.java:48:48:48:56 | container : Object[] [[]] : Object | semmle.label | container : Object[] [[]] : Object | +| Test.java:48:48:48:56 | container : String[] [[]] : Object | semmle.label | container : String[] [[]] : Object | | Test.java:48:48:48:56 | container : String[] [[]] : String | semmle.label | container : String[] [[]] : String | | Test.java:48:48:48:59 | ...[...] : Object | semmle.label | ...[...] : Object | +| Test.java:48:48:48:59 | ...[...] : Object | semmle.label | ...[...] : Object | | Test.java:48:48:48:59 | ...[...] : String | semmle.label | ...[...] : String | | Test.java:49:19:49:41 | container : AutoPopulatingList [] : Object | semmle.label | container : AutoPopulatingList [] : Object | | Test.java:49:19:49:41 | container : Collection [] : Object | semmle.label | container : Collection [] : Object | @@ -1197,12 +1240,24 @@ nodes | Test.java:51:51:51:86 | next(...) : Object | semmle.label | next(...) : Object | | Test.java:51:51:51:86 | next(...) : Object | semmle.label | next(...) : Object | | Test.java:51:51:51:86 | next(...) : Object | semmle.label | next(...) : Object | +| Test.java:52:23:52:41 | container : LinkedMultiValueMap [, ] : Object | semmle.label | container : LinkedMultiValueMap [, ] : Object | | Test.java:52:23:52:41 | container : Map [] : Object | semmle.label | container : Map [] : Object | +| Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | semmle.label | container : MultiValueMap [, ] : Object | +| Test.java:52:23:52:41 | container : MultiValueMap [] : Object | semmle.label | container : MultiValueMap [] : Object | +| Test.java:52:23:52:41 | container : MultiValueMapAdapter [, ] : Object | semmle.label | container : MultiValueMapAdapter [, ] : Object | | Test.java:52:23:52:41 | container : Properties [] : Object | semmle.label | container : Properties [] : Object | +| Test.java:52:53:52:61 | container : LinkedMultiValueMap [, ] : Object | semmle.label | container : LinkedMultiValueMap [, ] : Object | | Test.java:52:53:52:61 | container : Map [] : Object | semmle.label | container : Map [] : Object | +| Test.java:52:53:52:61 | container : MultiValueMap [, ] : Object | semmle.label | container : MultiValueMap [, ] : Object | +| Test.java:52:53:52:61 | container : MultiValueMap [] : Object | semmle.label | container : MultiValueMap [] : Object | +| Test.java:52:53:52:61 | container : MultiValueMapAdapter [, ] : Object | semmle.label | container : MultiValueMapAdapter [, ] : Object | | Test.java:52:53:52:61 | container : Properties [] : Object | semmle.label | container : Properties [] : Object | | Test.java:52:53:52:71 | get(...) : Object | semmle.label | get(...) : Object | | Test.java:52:53:52:71 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:52:53:52:71 | get(...) : Object | semmle.label | get(...) : Object | +| Test.java:52:53:52:71 | get(...) : Object [] : Object | semmle.label | get(...) : Object [] : Object | +| Test.java:52:53:52:71 | get(...) : Object [] : Object | semmle.label | get(...) : Object [] : Object | +| Test.java:52:53:52:71 | get(...) : Object [] : Object | semmle.label | get(...) : Object [] : Object | | Test.java:53:31:53:44 | element : Object | semmle.label | element : Object | | Test.java:53:56:53:77 | new Object[] : Object[] [[]] : Object | semmle.label | new Object[] : Object[] [[]] : Object | | Test.java:53:56:53:77 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object | @@ -2290,24 +2345,36 @@ subpaths | Test.java:267:21:267:23 | out : Map [] : Object | Test.java:52:23:52:41 | container : Map [] : Object | Test.java:52:53:52:71 | get(...) : Object | Test.java:267:9:267:24 | getMapValue(...) | | Test.java:274:20:274:22 | out : Iterator [] : Object | Test.java:50:19:50:39 | container : Iterator [] : Object | Test.java:50:51:50:66 | next(...) : Object | Test.java:274:9:274:23 | getElement(...) | | Test.java:281:20:281:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:281:9:281:36 | getElement(...) | +| Test.java:281:32:281:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:281:20:281:35 | getMapValue(...) : List [] : Object | | Test.java:288:19:288:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:288:9:288:22 | getMapKey(...) | | Test.java:295:19:295:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:295:9:295:22 | getMapKey(...) | +| Test.java:303:21:303:23 | out : MultiValueMap [] : Object | Test.java:52:23:52:41 | container : MultiValueMap [] : Object | Test.java:52:53:52:71 | get(...) : Object | Test.java:303:9:303:24 | getMapValue(...) | | Test.java:310:20:310:22 | out : CompositeIterator [] : Object | Test.java:50:19:50:39 | container : CompositeIterator [] : Object | Test.java:50:51:50:66 | next(...) : Object | Test.java:310:9:310:23 | getElement(...) | | Test.java:416:20:416:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:416:9:416:36 | getElement(...) | +| Test.java:416:32:416:34 | out : LinkedMultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : LinkedMultiValueMap [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:416:20:416:35 | getMapValue(...) : List [] : Object | | Test.java:423:19:423:21 | out : LinkedMultiValueMap [] : Object | Test.java:51:21:51:39 | container : LinkedMultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:423:9:423:22 | getMapKey(...) | | Test.java:431:19:431:21 | out : LinkedMultiValueMap [] : Object | Test.java:51:21:51:39 | container : LinkedMultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:431:9:431:22 | getMapKey(...) | | Test.java:439:20:439:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:439:9:439:36 | getElement(...) | +| Test.java:439:32:439:34 | out : LinkedMultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : LinkedMultiValueMap [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:439:20:439:35 | getMapValue(...) : List [] : Object | | Test.java:446:19:446:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:446:9:446:22 | getMapKey(...) | | Test.java:453:19:453:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:453:9:453:22 | getMapKey(...) | | Test.java:460:19:460:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:460:9:460:22 | getMapKey(...) | | Test.java:467:20:467:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:467:9:467:36 | getElement(...) | +| Test.java:467:32:467:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMapAdapter [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:467:20:467:35 | getMapValue(...) : List [] : Object | | Test.java:474:20:474:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:474:9:474:36 | getElement(...) | +| Test.java:474:32:474:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:474:20:474:35 | getMapValue(...) : List [] : Object | | Test.java:481:20:481:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:481:9:481:36 | getElement(...) | +| Test.java:481:32:481:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:481:20:481:35 | getMapValue(...) : List [] : Object | | Test.java:488:20:488:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:488:9:488:36 | getElement(...) | +| Test.java:488:32:488:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMapAdapter [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:488:20:488:35 | getMapValue(...) : List [] : Object | | Test.java:495:20:495:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:495:9:495:36 | getElement(...) | +| Test.java:495:32:495:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:495:20:495:35 | getMapValue(...) : List [] : Object | | Test.java:502:20:502:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:502:9:502:36 | getElement(...) | +| Test.java:502:32:502:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:502:20:502:35 | getMapValue(...) : List [] : Object | | Test.java:509:20:509:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:509:9:509:36 | getElement(...) | +| Test.java:509:32:509:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMapAdapter [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:509:20:509:35 | getMapValue(...) : List [] : Object | | Test.java:516:20:516:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:516:9:516:36 | getElement(...) | +| Test.java:516:32:516:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:516:20:516:35 | getMapValue(...) : List [] : Object | | Test.java:523:19:523:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:523:9:523:22 | getMapKey(...) | | Test.java:530:19:530:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:530:9:530:22 | getMapKey(...) | | Test.java:538:19:538:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:538:9:538:22 | getMapKey(...) | @@ -2315,21 +2382,29 @@ subpaths | Test.java:553:19:553:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:553:9:553:22 | getMapKey(...) | | Test.java:560:19:560:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:560:9:560:22 | getMapKey(...) | | Test.java:567:20:567:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:567:9:567:36 | getElement(...) | +| Test.java:567:32:567:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:567:20:567:35 | getMapValue(...) : List [] : Object | | Test.java:574:20:574:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:574:9:574:36 | getElement(...) | +| Test.java:574:32:574:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:574:20:574:35 | getMapValue(...) : List [] : Object | | Test.java:602:19:602:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:602:9:602:22 | getMapKey(...) | | Test.java:609:19:609:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:609:9:609:22 | getMapKey(...) | | Test.java:616:20:616:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:616:9:616:36 | getElement(...) | +| Test.java:616:32:616:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMapAdapter [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:616:20:616:35 | getMapValue(...) : List [] : Object | | Test.java:623:20:623:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:623:9:623:36 | getElement(...) | +| Test.java:623:32:623:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:623:20:623:35 | getMapValue(...) : List [] : Object | | Test.java:630:20:630:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:630:9:630:36 | getElement(...) | +| Test.java:630:32:630:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:630:20:630:35 | getMapValue(...) : List [] : Object | | Test.java:637:19:637:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:637:9:637:22 | getMapKey(...) | | Test.java:644:19:644:21 | out : MultiValueMap [] : Object | Test.java:51:21:51:39 | container : MultiValueMap [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:644:9:644:22 | getMapKey(...) | | Test.java:651:20:651:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:651:9:651:36 | getElement(...) | +| Test.java:651:32:651:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMapAdapter [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:651:20:651:35 | getMapValue(...) : List [] : Object | | Test.java:658:20:658:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:658:9:658:36 | getElement(...) | +| Test.java:658:32:658:34 | out : MultiValueMap [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMap [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:658:20:658:35 | getMapValue(...) : List [] : Object | | Test.java:665:21:665:23 | out : Map [] : Object | Test.java:52:23:52:41 | container : Map [] : Object | Test.java:52:53:52:71 | get(...) : Object | Test.java:665:9:665:24 | getMapValue(...) | | Test.java:672:21:672:23 | out : Map [] : Object | Test.java:52:23:52:41 | container : Map [] : Object | Test.java:52:53:52:71 | get(...) : Object | Test.java:672:9:672:24 | getMapValue(...) | | Test.java:679:19:679:21 | out : Map [] : Object | Test.java:51:21:51:39 | container : Map [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:679:9:679:22 | getMapKey(...) | | Test.java:686:19:686:21 | out : Map [] : Object | Test.java:51:21:51:39 | container : Map [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:686:9:686:22 | getMapKey(...) | | Test.java:693:20:693:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:693:9:693:36 | getElement(...) | +| Test.java:693:32:693:34 | out : MultiValueMapAdapter [, ] : Object | Test.java:52:23:52:41 | container : MultiValueMapAdapter [, ] : Object | Test.java:52:53:52:71 | get(...) : Object [] : Object | Test.java:693:20:693:35 | getMapValue(...) : List [] : Object | | Test.java:700:19:700:21 | out : MultiValueMapAdapter [] : Object | Test.java:51:21:51:39 | container : MultiValueMapAdapter [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:700:9:700:22 | getMapKey(...) | | Test.java:705:38:705:45 | source(...) : Object | Test.java:53:31:53:44 | element : Object | Test.java:53:56:53:77 | new Object[] : Object[] [[]] : Object | Test.java:705:18:705:46 | newWithArrayElement(...) : Object[] [[]] : Object | | Test.java:707:25:707:27 | out : Object[] [[]] : Object | Test.java:48:24:48:36 | container : Object[] [[]] : Object | Test.java:48:48:48:59 | ...[...] : Object | Test.java:707:9:707:28 | getArrayElement(...) | @@ -2337,11 +2412,21 @@ subpaths | Test.java:948:21:948:23 | out : Map [] : Object | Test.java:52:23:52:41 | container : Map [] : Object | Test.java:52:53:52:71 | get(...) : Object | Test.java:948:9:948:24 | getMapValue(...) | | Test.java:1026:25:1026:27 | out : String[] [[]] : String | Test.java:48:24:48:36 | container : String[] [[]] : String | Test.java:48:48:48:59 | ...[...] : String | Test.java:1026:9:1026:28 | getArrayElement(...) | | Test.java:1031:48:1031:55 | source(...) : Object | Test.java:53:31:53:44 | element : Object | Test.java:53:56:53:77 | new Object[] : Object[] [[]] : Object | Test.java:1031:28:1031:56 | newWithArrayElement(...) : Object[] [[]] : Object | +| Test.java:1033:25:1033:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | Test.java:48:48:48:59 | ...[...] : Object | Test.java:1033:9:1033:28 | getArrayElement(...) | | Test.java:1138:20:1138:22 | out : Set [] : Object | Test.java:49:19:49:41 | container : Set [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:1138:9:1138:23 | getElement(...) | +| Test.java:1145:25:1145:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | Test.java:48:48:48:59 | ...[...] : Object | Test.java:1145:9:1145:28 | getArrayElement(...) | +| Test.java:1152:25:1152:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | Test.java:48:48:48:59 | ...[...] : Object | Test.java:1152:9:1152:28 | getArrayElement(...) | +| Test.java:1159:25:1159:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | Test.java:48:48:48:59 | ...[...] : Object | Test.java:1159:9:1159:28 | getArrayElement(...) | | Test.java:1208:25:1208:27 | out : String[] [[]] : String | Test.java:48:24:48:36 | container : String[] [[]] : String | Test.java:48:48:48:59 | ...[...] : String | Test.java:1208:9:1208:28 | getArrayElement(...) | | Test.java:1215:25:1215:27 | out : String[] [[]] : String | Test.java:48:24:48:36 | container : String[] [[]] : String | Test.java:48:48:48:59 | ...[...] : String | Test.java:1215:9:1215:28 | getArrayElement(...) | | Test.java:1236:25:1236:27 | out : String[] [[]] : String | Test.java:48:24:48:36 | container : String[] [[]] : String | Test.java:48:48:48:59 | ...[...] : String | Test.java:1236:9:1236:28 | getArrayElement(...) | | Test.java:1257:25:1257:27 | out : String[] [[]] : String | Test.java:48:24:48:36 | container : String[] [[]] : String | Test.java:48:48:48:59 | ...[...] : String | Test.java:1257:9:1257:28 | getArrayElement(...) | +| Test.java:1264:25:1264:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | Test.java:48:48:48:59 | ...[...] : Object | Test.java:1264:9:1264:28 | getArrayElement(...) | | Test.java:1271:19:1271:21 | out : Properties [] : Object | Test.java:51:21:51:39 | container : Properties [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:1271:9:1271:22 | getMapKey(...) | | Test.java:1278:21:1278:23 | out : Properties [] : Object | Test.java:52:23:52:41 | container : Properties [] : Object | Test.java:52:53:52:71 | get(...) : Object | Test.java:1278:9:1278:24 | getMapValue(...) | +| Test.java:1299:25:1299:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | Test.java:48:48:48:59 | ...[...] : Object | Test.java:1299:9:1299:28 | getArrayElement(...) | +| Test.java:1306:25:1306:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | Test.java:48:48:48:59 | ...[...] : Object | Test.java:1306:9:1306:28 | getArrayElement(...) | +| Test.java:1313:25:1313:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | Test.java:48:48:48:59 | ...[...] : Object | Test.java:1313:9:1313:28 | getArrayElement(...) | +| Test.java:1320:25:1320:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | Test.java:48:48:48:59 | ...[...] : Object | Test.java:1320:9:1320:28 | getArrayElement(...) | +| Test.java:1334:25:1334:27 | out : String[] [[]] : Object | Test.java:48:24:48:36 | container : String[] [[]] : Object | Test.java:48:48:48:59 | ...[...] : Object | Test.java:1334:9:1334:28 | getArrayElement(...) | testFailures From 7dcdad066f474637ca14351c5b5817bc98aa8f24 Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 16 Aug 2024 09:44:53 +0200 Subject: [PATCH 058/258] Update javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.qll --- .../ql/lib/semmle/javascript/frameworks/helmet/Helmet.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.qll b/javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.qll index 765b5a36fc4..375e87e9646 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.qll @@ -2,7 +2,7 @@ * Provides classes for working with Helmet */ -import javascript +private import javascript /** * A write to a property of a route handler from the "helmet" module. From 2d264052b3aaa7517ca389b4cc6863797b69c077 Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 16 Aug 2024 11:02:12 +0200 Subject: [PATCH 059/258] JS: Treat browser message events as client-side sources --- .../ql/lib/semmle/javascript/security/dataflow/DOM.qll | 4 +++- .../javascript/security/dataflow/RemoteFlowSources.qll | 10 +++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/javascript/ql/lib/semmle/javascript/security/dataflow/DOM.qll b/javascript/ql/lib/semmle/javascript/security/dataflow/DOM.qll index f25e2943210..f959de6c0b5 100644 --- a/javascript/ql/lib/semmle/javascript/security/dataflow/DOM.qll +++ b/javascript/ql/lib/semmle/javascript/security/dataflow/DOM.qll @@ -207,12 +207,14 @@ class PostMessageEventHandler extends Function { * An event parameter for a `postMessage` event handler, considered as an untrusted * source of data. */ -private class PostMessageEventParameter extends RemoteFlowSource { +private class PostMessageEventParameter extends ClientSideRemoteFlowSource { PostMessageEventParameter() { this = DataFlow::parameterNode(any(PostMessageEventHandler pmeh).getEventParameter()) } override string getSourceType() { result = "postMessage event" } + + override ClientSideRemoteFlowKind getKind() { result.isMessageEvent() } } /** diff --git a/javascript/ql/lib/semmle/javascript/security/dataflow/RemoteFlowSources.qll b/javascript/ql/lib/semmle/javascript/security/dataflow/RemoteFlowSources.qll index bb60b5bc23e..ebd4711288c 100644 --- a/javascript/ql/lib/semmle/javascript/security/dataflow/RemoteFlowSources.qll +++ b/javascript/ql/lib/semmle/javascript/security/dataflow/RemoteFlowSources.qll @@ -40,7 +40,9 @@ import Cached * A type of remote flow source that is specific to the browser environment. */ class ClientSideRemoteFlowKind extends string { - ClientSideRemoteFlowKind() { this = ["query", "fragment", "path", "url", "name"] } + ClientSideRemoteFlowKind() { + this = ["query", "fragment", "path", "url", "name", "message-event"] + } /** * Holds if this is the `query` kind, describing sources derived from the query parameters of the browser URL, @@ -77,6 +79,12 @@ class ClientSideRemoteFlowKind extends string { /** Holds if this is the `name` kind, describing sources derived from the window name, such as `window.name`. */ predicate isWindowName() { this = "name" } + + /** + * Holds if this is the `message-event` kind, describing sources derived from cross-window message passing, + * such as `event` in `window.onmessage = event => {...}`. + */ + predicate isMessageEvent() { this = "message-event" } } /** From 467256d4654849ec1ffc5b027e4b2240c848be45 Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 16 Aug 2024 11:06:59 +0200 Subject: [PATCH 060/258] JS: Add change note --- .../2024-08-16-post-message-source-client-side.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 javascript/ql/src/change-notes/2024-08-16-post-message-source-client-side.md diff --git a/javascript/ql/src/change-notes/2024-08-16-post-message-source-client-side.md b/javascript/ql/src/change-notes/2024-08-16-post-message-source-client-side.md new file mode 100644 index 00000000000..0866061c3bd --- /dev/null +++ b/javascript/ql/src/change-notes/2024-08-16-post-message-source-client-side.md @@ -0,0 +1,6 @@ +--- +category: minorAnalysis +--- +* Message events in the browser are now properly classified as client-side taint sources. Previously they were + incorrectly classified as server-side taint sources, which resulted in some alerts being reported by + the wrong query, such as server-side URL redirection instead of client-side URL redirection. From 0acb29d3dd025942396a4a4fa4e6deb53e1e06ee Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Fri, 16 Aug 2024 11:15:13 +0100 Subject: [PATCH 061/258] Update frameworks.csv --- go/documentation/library-coverage/frameworks.csv | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/go/documentation/library-coverage/frameworks.csv b/go/documentation/library-coverage/frameworks.csv index 4d1d3ebfb63..7cb5e467634 100644 --- a/go/documentation/library-coverage/frameworks.csv +++ b/go/documentation/library-coverage/frameworks.csv @@ -1,21 +1,28 @@ Framework name,URL,Package prefixes Standard library,https://pkg.go.dev/std, archive/* bufio bytes cmp compress/* container/* context crypto crypto/* database/* debug/* embed encoding encoding/* errors expvar flag fmt go/* hash hash/* html html/* image image/* index/* io io/* log log/* maps math math/* mime mime/* net net/* os os/* path path/* plugin reflect reflect/* regexp regexp/* slices sort strconv strings sync sync/* syscall syscall/* testing testing/* text/* time time/* unicode unicode/* unsafe appleboy/gin-jwt,https://github.com/appleboy/gin-jwt,github.com/appleboy/gin-jwt* +Afero,https://github.com/spf13/afero,github.com/spf13/afero* beego,https://beego.me/,github.com/astaxie/beego* github.com/beego/beego* +CleverGo,https://github.com/clevergo/clevergo,clevergo.tech/clevergo* github.com/clevergo/clevergo* Couchbase official client(gocb),https://github.com/couchbase/gocb,github.com/couchbase/gocb* gopkg.in/couchbase/gocb* chi,https://go-chi.io/,github.com/go-chi/chi* Couchbase unofficial client,http://www.github.com/couchbase/go-couchbase,github.com/couchbaselabs/gocb* cristalhq/jwt,https://github.com/cristalhq/jwt,github.com/cristalhq/jwt* Echo,https://echo.labstack.com/,github.com/labstack/echo* fasthttp,https://github.com/valyala/fasthttp,github.com/valyala/fasthttp* +Fiber,https://github.com/gofiber/fiber,github.com/gofiber/fiber* Fosite,https://github.com/ory/fosite,github.com/ory/fosite* gf-jwt,https://github.com/gogf/gf-jwt,github.com/gogf/gf-jwt* Gin,https://github.com/gin-gonic/gin,github.com/gin-gonic/gin* +Glog,https://github.com/golang/glog,github.com/golang/glog* gopkg.in/glog* k8s.io/klog* Go JOSE,https://github.com/go-jose/go-jose,github.com/go-jose/go-jose* github.com/square/go-jose* gopkg.in/square/go-jose* gopkg.in/go-jose/go-jose* Go kit,https://gokit.io/,github.com/go-kit/kit* go-pg,https://pg.uptrace.dev/,github.com/go-pg/pg* go-restful,https://github.com/emicklei/go-restful,github.com/emicklei/go-restful* +go-sh,https://github.com/codeskyblue/go-sh,github.com/codeskyblue/go-sh* +Go-spew,https://github.com/davecgh/go-spew,github.com/davecgh/go-spew/spew* Gokogiri,https://github.com/moovweb/gokogiri,github.com/jbowtie/gokogiri* github.com/moovweb/gokogiri* +golang.org/x/crypto/ssh,https://pkg.go.dev/golang.org/x/crypto/ssh,golang.org/x/crypto/ssh* golang.org/x/net,https://pkg.go.dev/golang.org/x/net,golang.org/x/net* goproxy,https://github.com/elazarl/goproxy,github.com/elazarl/goproxy* gorilla/mux,https://github.com/gorilla/mux,github.com/gorilla/mux* @@ -32,6 +39,7 @@ kataras/jwt,https://github.com/kataras/jwt,github.com/kataras/jwt* Kubernetes,https://kubernetes.io/,k8s.io/api* k8s.io/apimachinery* lestrrat-go/jwx,https://github.com/lestrrat-go/jwx,github.com/lestrrat-go/jwx* github.com/lestrrat/go-jwx* lestrrat-go/libxml2,https://github.com/lestrrat-go/libxml2,github.com/lestrrat-go/libxml2* +Logrus,https://github.com/sirupsen/logrus,github.com/Sirupsen/logrus* github.com/sirupsen/logrus* Macaron,https://gopkg.in/macaron.v1,gopkg.in/macaron* nhooyr.io/websocket,https://nhooyr.io/websocket,nhooyr.io/websocket* protobuf,https://pkg.go.dev/google.golang.org/protobuf,github.com/golang/protobuf* google.golang.org/protobuf* From 06f86dd22f33185c817cdc5127aba859ec65d05d Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 8 Aug 2024 12:21:32 +0100 Subject: [PATCH 062/258] Convert squirrel sql-injection sinks to MaD (non-existent methods removed) Various non-existent methods were modeled, and I couldn't find any evidence that they used to exist. They aren't in the stubs or tests. I have removed them. --- .../github.com.mastermind.squirrel.model.yml | 51 +++++++++++++++++++ go/ql/lib/semmle/go/frameworks/SQL.qll | 44 +++------------- .../semmle/go/frameworks/SQL/main.go | 18 +++---- 3 files changed, 68 insertions(+), 45 deletions(-) create mode 100644 go/ql/lib/ext/github.com.mastermind.squirrel.model.yml diff --git a/go/ql/lib/ext/github.com.mastermind.squirrel.model.yml b/go/ql/lib/ext/github.com.mastermind.squirrel.model.yml new file mode 100644 index 00000000000..a5f46d7c214 --- /dev/null +++ b/go/ql/lib/ext/github.com.mastermind.squirrel.model.yml @@ -0,0 +1,51 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: packageGrouping + data: + - ["squirrel", "github.com/Masterminds/squirrel"] + - ["squirrel", "gopkg.in/Masterminds/squirrel"] + - ["squirrel", "github.com/lann/squirrel"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["group:squirrel", "", True, "Delete", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "", True, "Expr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "", True, "Insert", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "", True, "Select", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "", True, "Update", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + + - ["group:squirrel", "DeleteBuilder", True, "From", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "DeleteBuilder", True, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "DeleteBuilder", True, "Prefix", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "DeleteBuilder", True, "Suffix", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "DeleteBuilder", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + + - ["group:squirrel", "InsertBuilder", True, "Columns", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "InsertBuilder", True, "Into", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "InsertBuilder", True, "Options", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "InsertBuilder", True, "Prefix", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "InsertBuilder", True, "Suffix", "", "", "Argument[0]", "sql-injection", "manual"] + + - ["group:squirrel", "SelectBuilder", True, "CrossJoin", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "Column", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "Columns", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "SelectBuilder", True, "From", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "GroupBy", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "InnerJoin", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "LeftJoin", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "Options", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "SelectBuilder", True, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "SelectBuilder", True, "Prefix", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "RightJoin", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "Suffix", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "SelectBuilder", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + + - ["group:squirrel", "UpdateBuilder", True, "From", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "UpdateBuilder", True, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["group:squirrel", "UpdateBuilder", True, "Prefix", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "UpdateBuilder", True, "Set", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "UpdateBuilder", True, "Suffix", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "UpdateBuilder", True, "Table", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:squirrel", "UpdateBuilder", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index 1a6e2280781..73cd5d93947 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -67,42 +67,14 @@ module SQL { */ abstract class Range extends DataFlow::Node { } - /** - * An argument to an API of the squirrel library that is directly interpreted as SQL without - * taking syntactic structure into account. - */ - private class SquirrelQueryString extends Range { - SquirrelQueryString() { - exists(Function fn | - exists(string sq | - sq = - package([ - "github.com/Masterminds/squirrel", "gopkg.in/Masterminds/squirrel", - "github.com/lann/squirrel" - ], "") - | - fn.hasQualifiedName(sq, ["Delete", "Expr", "Insert", "Select", "Update"]) - or - exists(Method m, string builder | m = fn | - builder = ["DeleteBuilder", "InsertBuilder", "SelectBuilder", "UpdateBuilder"] and - m.hasQualifiedName(sq, builder, - ["Columns", "From", "Options", "OrderBy", "Prefix", "Suffix", "Where"]) - or - builder = "InsertBuilder" and - m.hasQualifiedName(sq, builder, ["Replace", "Into"]) - or - builder = "SelectBuilder" and - m.hasQualifiedName(sq, builder, - ["CrossJoin", "GroupBy", "InnerJoin", "LeftJoin", "RightJoin"]) - or - builder = "UpdateBuilder" and - m.hasQualifiedName(sq, builder, ["Set", "Table"]) - ) - ) and - this = fn.getACall().getArgument(0) - | - this.getType().getUnderlyingType() instanceof StringType or - this.getType().getUnderlyingType().(SliceType).getElementType() instanceof StringType + private class DefaultQueryString extends Range { + DefaultQueryString() { + exists(DataFlow::ArgumentNode arg | sinkNode(arg, "sql-injection") | + not arg instanceof DataFlow::ImplicitVarargsSlice and + this = arg + or + arg instanceof DataFlow::ImplicitVarargsSlice and + this = arg.getCall().getAnImplicitVarargsArgument() ) } } diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/main.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/main.go index dd21a91eedd..0af6e002806 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/main.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/main.go @@ -46,35 +46,35 @@ func squirrelTest(querypart string) { squirrel.Expr(querypart) // $ querystring=querypart deleteBuilder := squirrel.Delete(querypart) // $ querystring=querypart deleteBuilder.From(querypart) // $ querystring=querypart - deleteBuilder.OrderBy(querypart) // $ querystring=[]type{args} + deleteBuilder.OrderBy(querypart) // $ querystring=querypart deleteBuilder.Prefix(querypart) // $ querystring=querypart deleteBuilder.Suffix(querypart) // $ querystring=querypart deleteBuilder.Where(querypart) // $ querystring=querypart insertBuilder := squirrel.Insert(querypart) // $ querystring=querypart - insertBuilder.Columns(querypart) // $ querystring=[]type{args} - insertBuilder.Options(querypart) // $ querystring=[]type{args} + insertBuilder.Columns(querypart) // $ querystring=querypart + insertBuilder.Options(querypart) // $ querystring=querypart insertBuilder.Prefix(querypart) // $ querystring=querypart insertBuilder.Suffix(querypart) // $ querystring=querypart insertBuilder.Into(querypart) // $ querystring=querypart - selectBuilder := squirrel.Select(querypart) // $ querystring=[]type{args} - selectBuilder.Columns(querypart) // $ querystring=[]type{args} + selectBuilder := squirrel.Select(querypart) // $ querystring=querypart + selectBuilder.Columns(querypart) // $ querystring=querypart selectBuilder.From(querypart) // $ querystring=querypart - selectBuilder.Options(querypart) // $ querystring=[]type{args} - selectBuilder.OrderBy(querypart) // $ querystring=[]type{args} + selectBuilder.Options(querypart) // $ querystring=querypart + selectBuilder.OrderBy(querypart) // $ querystring=querypart selectBuilder.Prefix(querypart) // $ querystring=querypart selectBuilder.Suffix(querypart) // $ querystring=querypart selectBuilder.Where(querypart) // $ querystring=querypart selectBuilder.CrossJoin(querypart) // $ querystring=querypart - selectBuilder.GroupBy(querypart) // $ querystring=[]type{args} + selectBuilder.GroupBy(querypart) // $ querystring=querypart selectBuilder.InnerJoin(querypart) // $ querystring=querypart selectBuilder.LeftJoin(querypart) // $ querystring=querypart selectBuilder.RightJoin(querypart) // $ querystring=querypart updateBuilder := squirrel.Update(querypart) // $ querystring=querypart updateBuilder.From(querypart) // $ querystring=querypart - updateBuilder.OrderBy(querypart) // $ querystring=[]type{args} + updateBuilder.OrderBy(querypart) // $ querystring=querypart updateBuilder.Prefix(querypart) // $ querystring=querypart updateBuilder.Suffix(querypart) // $ querystring=querypart updateBuilder.Where(querypart) // $ querystring=querypart From ce0cb12c2933ade4d3e7776342180b56ee5e8cd4 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 12:25:24 +0100 Subject: [PATCH 063/258] Upgrade and convert gorqlite sql-injection sinks to MaD --- .../ext/github.com.rqlite.gorqlite.model.yml | 35 ++++++ go/ql/lib/semmle/go/frameworks/SQL.qll | 24 ---- .../SQL/gorqlite/QueryString.expected | 3 + .../go/frameworks/SQL/gorqlite/QueryString.ql | 60 +++++++++ .../semmle/go/frameworks/SQL/gorqlite/go.mod | 2 +- .../frameworks/SQL/gorqlite/gorqlite.expected | 6 - .../go/frameworks/SQL/gorqlite/gorqlite.go | 39 +++++- .../go/frameworks/SQL/gorqlite/gorqlite.ql | 4 - .../vendor/github.com/rqlite/gorqlite/stub.go | 115 +++++++++++++++++- .../SQL/gorqlite/vendor/modules.txt | 2 +- 10 files changed, 245 insertions(+), 45 deletions(-) create mode 100644 go/ql/lib/ext/github.com.rqlite.gorqlite.model.yml create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.expected create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.ql delete mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.expected delete mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.ql diff --git a/go/ql/lib/ext/github.com.rqlite.gorqlite.model.yml b/go/ql/lib/ext/github.com.rqlite.gorqlite.model.yml new file mode 100644 index 00000000000..62e24f2c920 --- /dev/null +++ b/go/ql/lib/ext/github.com.rqlite.gorqlite.model.yml @@ -0,0 +1,35 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: packageGrouping + data: + - ["gorqlite", "github.com/rqlite/gorqlite"] + - ["gorqlite", "github.com/raindog308/gorqlite"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["group:gorqlite", "Connection", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueryOne", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueryOneContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueryOneParameterized", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueryOneParameterizedContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueryParameterized", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueryParameterizedContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "Queue", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueueContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueueOne", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueueOneContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueueOneParameterized", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueueOneParameterizedContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueueParameterized", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "QueueParameterizedContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "Write", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "WriteContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "WriteOne", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "WriteOneContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "WriteOneParameterized", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "WriteOneParameterizedContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "WriteParameterized", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorqlite", "Connection", True, "WriteParameterizedContext", "", "", "Argument[1]", "sql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index 73cd5d93947..e6318df82f2 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -85,11 +85,6 @@ module SQL { /** A string that might identify package `go-pg/pg/orm` or a specific version of it. */ private string gopgorm() { result = package("github.com/go-pg/pg", "orm") } - /** A string that might identify package `github.com/rqlite/gorqlite` or `github.com/raindog308/gorqlite` or a specific version of it. */ - private string gorqlite() { - result = package(["github.com/rqlite/gorqlite", "github.com/raindog308/gorqlite"], "") - } - /** A string that might identify package `github.com/gogf/gf/database/gdb` or a specific version of it. */ private string gogf() { result = package("github.com/gogf/gf", "database/gdb") } @@ -158,25 +153,6 @@ module SQL { } } - /** - * A string argument to an API of `github.com/rqlite/gorqlite`, or a specific version of it, that is directly interpreted as SQL without - * taking syntactic structure into account. - */ - private class GorqliteQueryString extends Range { - GorqliteQueryString() { - // func (conn *Connection) Query(sqlStatements []string) (results []QueryResult, err error) - // func (conn *Connection) QueryOne(sqlStatement string) (qr QueryResult, err error) - // func (conn *Connection) Queue(sqlStatements []string) (seq int64, err error) - // func (conn *Connection) QueueOne(sqlStatement string) (seq int64, err error) - // func (conn *Connection) Write(sqlStatements []string) (results []WriteResult, err error) - // func (conn *Connection) WriteOne(sqlStatement string) (wr WriteResult, err error) - exists(Method m, string name | m.hasQualifiedName(gorqlite(), "Connection", name) | - name = ["Query", "QueryOne", "Queue", "QueueOne", "Write", "WriteOne"] and - this = m.getACall().getArgument(0) - ) - } - } - /** * A string argument to an API of `github.com/gogf/gf/database/gdb`, or a specific version of it, that is directly interpreted as SQL without * taking syntactic structure into account. diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.expected new file mode 100644 index 00000000000..db33d6d2504 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.expected @@ -0,0 +1,3 @@ +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.ql new file mode 100644 index 00000000000..eeb43a82fad --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/QueryString.ql @@ -0,0 +1,60 @@ +import go +import semmle.go.dataflow.ExternalFlow +import ModelValidation +import TestUtilities.InlineExpectationsTest + +module SqlTest implements TestSig { + string getARelevantTag() { result = "query" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "query" and + exists(SQL::Query q, SQL::QueryString qs | qs = q.getAQueryString() | + q.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = q.toString() and + value = qs.toString() + ) + } +} + +module QueryString implements TestSig { + string getARelevantTag() { result = "querystring" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "querystring" and + element = "" and + exists(SQL::QueryString qs | not exists(SQL::Query q | qs = q.getAQueryString()) | + qs.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + value = qs.toString() + ) + } +} + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node n) { n.asExpr() instanceof StringLit } + + predicate isSink(DataFlow::Node n) { + n = any(DataFlow::CallNode cn | cn.getTarget().getName() = "sink").getAnArgument() + } +} + +module Flow = TaintTracking::Global; + +module TaintFlow implements TestSig { + string getARelevantTag() { result = "flowfrom" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "flowfrom" and + element = "" and + exists(DataFlow::Node fromNode, DataFlow::Node toNode | + toNode + .hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + Flow::flow(fromNode, toNode) and + value = fromNode.asExpr().(StringLit).getValue() + ) + } +} + +import MakeTest> diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/go.mod b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/go.mod index 1f243775658..826ed0eb1c0 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/go.mod +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/go.mod @@ -2,4 +2,4 @@ module main go 1.18 -require github.com/rqlite/gorqlite v0.0.0-20220528150909-c4e99ae96be6 +require github.com/rqlite/gorqlite v0.0.0-20240808172217-12ae7d03ef19 diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.expected deleted file mode 100644 index cbd8166ea5e..00000000000 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.expected +++ /dev/null @@ -1,6 +0,0 @@ -| gorqlite.go:11:13:11:16 | sqls | -| gorqlite.go:12:13:12:16 | sqls | -| gorqlite.go:13:13:13:16 | sqls | -| gorqlite.go:14:16:14:18 | sql | -| gorqlite.go:15:16:15:18 | sql | -| gorqlite.go:16:16:16:18 | sql | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.go index 9b60c6684e6..ebd6e5fd9f3 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.go @@ -1,20 +1,49 @@ package main -//go:generate depstubber -vendor github.com/rqlite/gorqlite Connection Open +//go:generate depstubber -vendor github.com/rqlite/gorqlite Connection,ParameterizedStatement Open import ( + "context" + "github.com/rqlite/gorqlite" ) -func gorqlitetest(sql string, sqls []string) { +func gorqlitetest(sql string, sqls []string, param_sql gorqlite.ParameterizedStatement, param_sqls []gorqlite.ParameterizedStatement, ctx context.Context) { conn, _ := gorqlite.Open("dbUrl") - conn.Query(sqls) // $ querystring=sqls - conn.Queue(sqls) // $ querystring=sqls - conn.Write(sqls) // $ querystring=sqls + + conn.Query(sqls) // $ querystring=sqls + conn.Queue(sqls) // $ querystring=sqls + conn.Write(sqls) // $ querystring=sqls + conn.QueryOne(sql) // $ querystring=sql conn.QueueOne(sql) // $ querystring=sql conn.WriteOne(sql) // $ querystring=sql + + conn.QueryParameterized(param_sqls) // $ querystring=param_sqls + conn.QueueParameterized(param_sqls) // $ querystring=param_sqls + conn.WriteParameterized(param_sqls) // $ querystring=param_sqls + + conn.QueryOneParameterized(param_sql) // $ querystring=param_sql + conn.QueueOneParameterized(param_sql) // $ querystring=param_sql + conn.WriteOneParameterized(param_sql) // $ querystring=param_sql + + conn.QueryContext(ctx, sqls) // $ querystring=sqls + conn.QueueContext(ctx, sqls) // $ querystring=sqls + conn.WriteContext(ctx, sqls) // $ querystring=sqls + + conn.QueryOneContext(ctx, sql) // $ querystring=sql + conn.QueueOneContext(ctx, sql) // $ querystring=sql + conn.WriteOneContext(ctx, sql) // $ querystring=sql + + conn.QueryParameterizedContext(ctx, param_sqls) // $ querystring=param_sqls + conn.QueueParameterizedContext(ctx, param_sqls) // $ querystring=param_sqls + conn.WriteParameterizedContext(ctx, param_sqls) // $ querystring=param_sqls + + conn.QueryOneParameterizedContext(ctx, param_sql) // $ querystring=param_sql + conn.QueueOneParameterizedContext(ctx, param_sql) // $ querystring=param_sql + conn.WriteOneParameterizedContext(ctx, param_sql) // $ querystring=param_sql } + func main() { return } diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.ql deleted file mode 100644 index 7b56fd97441..00000000000 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/gorqlite.ql +++ /dev/null @@ -1,4 +0,0 @@ -import go - -from SQL::QueryString qs -select qs diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/vendor/github.com/rqlite/gorqlite/stub.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/vendor/github.com/rqlite/gorqlite/stub.go index f6f4ca18ec1..0572097582e 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/vendor/github.com/rqlite/gorqlite/stub.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/vendor/github.com/rqlite/gorqlite/stub.go @@ -2,11 +2,15 @@ // This is a simple stub for github.com/rqlite/gorqlite, strictly for use in testing. // See the LICENSE file for information about the licensing of the original library. -// Source: github.com/rqlite/gorqlite (exports: Connection; functions: Open) +// Source: github.com/rqlite/gorqlite (exports: Connection,ParameterizedStatement; functions: Open) // Package gorqlite is a stub of github.com/rqlite/gorqlite, generated by depstubber. package gorqlite +import ( + context "context" +) + type Connection struct { ID string } @@ -29,19 +33,83 @@ func (_ *Connection) Query(_ []string) ([]QueryResult, error) { return nil, nil } +func (_ *Connection) QueryContext(_ context.Context, _ []string) ([]QueryResult, error) { + return nil, nil +} + func (_ *Connection) QueryOne(_ string) (QueryResult, error) { return QueryResult{}, nil } +func (_ *Connection) QueryOneContext(_ context.Context, _ string) (QueryResult, error) { + return QueryResult{}, nil +} + +func (_ *Connection) QueryOneParameterized(_ ParameterizedStatement) (QueryResult, error) { + return QueryResult{}, nil +} + +func (_ *Connection) QueryOneParameterizedContext(_ context.Context, _ ParameterizedStatement) (QueryResult, error) { + return QueryResult{}, nil +} + +func (_ *Connection) QueryParameterized(_ []ParameterizedStatement) ([]QueryResult, error) { + return nil, nil +} + +func (_ *Connection) QueryParameterizedContext(_ context.Context, _ []ParameterizedStatement) ([]QueryResult, error) { + return nil, nil +} + func (_ *Connection) Queue(_ []string) (int64, error) { return 0, nil } +func (_ *Connection) QueueContext(_ context.Context, _ []string) (int64, error) { + return 0, nil +} + func (_ *Connection) QueueOne(_ string) (int64, error) { return 0, nil } -func (_ *Connection) SetConsistencyLevel(_ string) error { +func (_ *Connection) QueueOneContext(_ context.Context, _ string) (int64, error) { + return 0, nil +} + +func (_ *Connection) QueueOneParameterized(_ ParameterizedStatement) (int64, error) { + return 0, nil +} + +func (_ *Connection) QueueOneParameterizedContext(_ context.Context, _ ParameterizedStatement) (int64, error) { + return 0, nil +} + +func (_ *Connection) QueueParameterized(_ []ParameterizedStatement) (int64, error) { + return 0, nil +} + +func (_ *Connection) QueueParameterizedContext(_ context.Context, _ []ParameterizedStatement) (int64, error) { + return 0, nil +} + +func (_ *Connection) Request(_ []string) ([]RequestResult, error) { + return nil, nil +} + +func (_ *Connection) RequestContext(_ context.Context, _ []string) ([]RequestResult, error) { + return nil, nil +} + +func (_ *Connection) RequestParameterized(_ []ParameterizedStatement) ([]RequestResult, error) { + return nil, nil +} + +func (_ *Connection) RequestParameterizedContext(_ context.Context, _ []ParameterizedStatement) ([]RequestResult, error) { + return nil, nil +} + +func (_ *Connection) SetConsistencyLevel(_ interface{}) error { return nil } @@ -53,12 +121,41 @@ func (_ *Connection) Write(_ []string) ([]WriteResult, error) { return nil, nil } +func (_ *Connection) WriteContext(_ context.Context, _ []string) ([]WriteResult, error) { + return nil, nil +} + func (_ *Connection) WriteOne(_ string) (WriteResult, error) { return WriteResult{}, nil } -func Open(_ string) (Connection, error) { - return Connection{}, nil +func (_ *Connection) WriteOneContext(_ context.Context, _ string) (WriteResult, error) { + return WriteResult{}, nil +} + +func (_ *Connection) WriteOneParameterized(_ ParameterizedStatement) (WriteResult, error) { + return WriteResult{}, nil +} + +func (_ *Connection) WriteOneParameterizedContext(_ context.Context, _ ParameterizedStatement) (WriteResult, error) { + return WriteResult{}, nil +} + +func (_ *Connection) WriteParameterized(_ []ParameterizedStatement) ([]WriteResult, error) { + return nil, nil +} + +func (_ *Connection) WriteParameterizedContext(_ context.Context, _ []ParameterizedStatement) ([]WriteResult, error) { + return nil, nil +} + +func Open(_ string) (*Connection, error) { + return nil, nil +} + +type ParameterizedStatement struct { + Query string + Arguments []interface{} } type QueryResult struct { @@ -90,10 +187,20 @@ func (_ *QueryResult) Scan(_ ...interface{}) error { return nil } +func (_ *QueryResult) Slice() ([]interface{}, error) { + return nil, nil +} + func (_ *QueryResult) Types() []string { return nil } +type RequestResult struct { + Err error + Query *QueryResult + Write *WriteResult +} + type WriteResult struct { Err error Timing float64 diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/vendor/modules.txt b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/vendor/modules.txt index f5e5b9989ed..dafb7c6d1a9 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/vendor/modules.txt +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gorqlite/vendor/modules.txt @@ -1,3 +1,3 @@ -# github.com/rqlite/gorqlite v0.0.0-20220528150909-c4e99ae96be6 +# github.com/rqlite/gorqlite v0.0.0-20240808172217-12ae7d03ef19 ## explicit github.com/rqlite/gorqlite From db559f75b69fceefea0ad9e64a65031182b601af Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 12:50:27 +0100 Subject: [PATCH 064/258] Convert gogf/gf sql-injection sinks to MaD --- .../github.com.gogf.gf.database.gdb.model.yml | 57 ++++++++++++++++++ go/ql/lib/semmle/go/frameworks/SQL.qll | 43 ------------- .../frameworks/SQL/gogf/QueryString.expected | 3 + .../go/frameworks/SQL/gogf/QueryString.ql | 60 +++++++++++++++++++ .../go/frameworks/SQL/gogf/gogf.expected | 47 --------------- .../semmle/go/frameworks/SQL/gogf/gogf.go | 38 ++++++------ .../semmle/go/frameworks/SQL/gogf/gogf.ql | 4 -- 7 files changed, 140 insertions(+), 112 deletions(-) create mode 100644 go/ql/lib/ext/github.com.gogf.gf.database.gdb.model.yml create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/QueryString.expected create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/QueryString.ql delete mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.expected delete mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.ql diff --git a/go/ql/lib/ext/github.com.gogf.gf.database.gdb.model.yml b/go/ql/lib/ext/github.com.gogf.gf.database.gdb.model.yml new file mode 100644 index 00000000000..030656c6eb8 --- /dev/null +++ b/go/ql/lib/ext/github.com.gogf.gf.database.gdb.model.yml @@ -0,0 +1,57 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + # These models are for v1. Some of them hold for v2, but we should model v2 properly. + - ["github.com/gogf/gf/database/gdb", "Core", True, "DoCommit", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "DoExec", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "DoGetAll", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "DoQuery", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "DoPrepare", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "GetAll", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "GetArray", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "GetCount", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "GetOne", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "GetScan", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "GetStruct", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "GetStructs", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "GetValue", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Core", True, "Raw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "DoCommit", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "DoExec", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "DoGetAll", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "DoQuery", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "DoPrepare", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "GetAll", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "GetArray", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "GetCount", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "GetOne", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "GetScan", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "GetStruct", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "GetStructs", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "GetValue", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "DB", True, "Raw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "DoCommit", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "DoExec", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "DoGetAll", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "DoQuery", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "DoPrepare", "", "", "Argument[2]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "GetAll", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "GetArray", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "GetCount", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "GetOne", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "GetScan", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "GetStruct", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "GetStructs", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "GetValue", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/gogf/gf/database/gdb", "Tx", True, "Raw", "", "", "Argument[0]", "sql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index e6318df82f2..f960c214d84 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -85,9 +85,6 @@ module SQL { /** A string that might identify package `go-pg/pg/orm` or a specific version of it. */ private string gopgorm() { result = package("github.com/go-pg/pg", "orm") } - /** A string that might identify package `github.com/gogf/gf/database/gdb` or a specific version of it. */ - private string gogf() { result = package("github.com/gogf/gf", "database/gdb") } - /** * A string argument to an API of `go-pg/pg` that is directly interpreted as SQL without * taking syntactic structure into account. @@ -152,46 +149,6 @@ module SQL { ) } } - - /** - * A string argument to an API of `github.com/gogf/gf/database/gdb`, or a specific version of it, that is directly interpreted as SQL without - * taking syntactic structure into account. - */ - private class GogfQueryString extends Range { - GogfQueryString() { - exists(Method m, string name | m.implements(gogf(), ["DB", "Core", "TX"], name) | - // func (c *Core) Exec(sql string, args ...interface{}) (result sql.Result, err error) - // func (c *Core) GetAll(sql string, args ...interface{}) (Result, error) - // func (c *Core) GetArray(sql string, args ...interface{}) ([]Value, error) - // func (c *Core) GetCount(sql string, args ...interface{}) (int, error) - // func (c *Core) GetOne(sql string, args ...interface{}) (Record, error) - // func (c *Core) GetValue(sql string, args ...interface{}) (Value, error) - // func (c *Core) Prepare(sql string, execOnMaster ...bool) (*Stmt, error) - // func (c *Core) Query(sql string, args ...interface{}) (rows *sql.Rows, err error) - // func (c *Core) Raw(rawSql string, args ...interface{}) *Model - name = - [ - "Query", "Exec", "Prepare", "GetAll", "GetOne", "GetValue", "GetArray", "GetCount", - "Raw" - ] and - this = m.getACall().getArgument(0) - or - // func (c *Core) GetScan(pointer interface{}, sql string, args ...interface{}) error - // func (c *Core) GetStruct(pointer interface{}, sql string, args ...interface{}) error - // func (c *Core) GetStructs(pointer interface{}, sql string, args ...interface{}) error - name = ["GetScan", "GetStruct", "GetStructs"] and - this = m.getACall().getArgument(1) - or - // func (c *Core) DoCommit(ctx context.Context, link Link, sql string, args []interface{}) (newSql string, newArgs []interface{}, err error) - // func (c *Core) DoExec(ctx context.Context, link Link, sql string, args ...interface{}) (result sql.Result, err error) - // func (c *Core) DoGetAll(ctx context.Context, link Link, sql string, args ...interface{}) (result Result, err error) - // func (c *Core) DoPrepare(ctx context.Context, link Link, sql string) (*Stmt, error) - // func (c *Core) DoQuery(ctx context.Context, link Link, sql string, args ...interface{}) (rows *sql.Rows, err error) - name = ["DoGetAll", "DoQuery", "DoExec", "DoCommit", "DoPrepare"] and - this = m.getACall().getArgument(2) - ) - } - } } /** A model for sinks of GORM. */ diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/QueryString.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/QueryString.expected new file mode 100644 index 00000000000..db33d6d2504 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/QueryString.expected @@ -0,0 +1,3 @@ +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/QueryString.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/QueryString.ql new file mode 100644 index 00000000000..eeb43a82fad --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/QueryString.ql @@ -0,0 +1,60 @@ +import go +import semmle.go.dataflow.ExternalFlow +import ModelValidation +import TestUtilities.InlineExpectationsTest + +module SqlTest implements TestSig { + string getARelevantTag() { result = "query" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "query" and + exists(SQL::Query q, SQL::QueryString qs | qs = q.getAQueryString() | + q.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = q.toString() and + value = qs.toString() + ) + } +} + +module QueryString implements TestSig { + string getARelevantTag() { result = "querystring" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "querystring" and + element = "" and + exists(SQL::QueryString qs | not exists(SQL::Query q | qs = q.getAQueryString()) | + qs.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + value = qs.toString() + ) + } +} + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node n) { n.asExpr() instanceof StringLit } + + predicate isSink(DataFlow::Node n) { + n = any(DataFlow::CallNode cn | cn.getTarget().getName() = "sink").getAnArgument() + } +} + +module Flow = TaintTracking::Global; + +module TaintFlow implements TestSig { + string getARelevantTag() { result = "flowfrom" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "flowfrom" and + element = "" and + exists(DataFlow::Node fromNode, DataFlow::Node toNode | + toNode + .hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + Flow::flow(fromNode, toNode) and + value = fromNode.asExpr().(StringLit).getValue() + ) + } +} + +import MakeTest> diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.expected deleted file mode 100644 index f4e3e4f15b0..00000000000 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.expected +++ /dev/null @@ -1,47 +0,0 @@ -| gogf.go:12:9:12:11 | sql | -| gogf.go:13:11:13:13 | sql | -| gogf.go:14:13:14:15 | sql | -| gogf.go:15:13:15:15 | sql | -| gogf.go:16:11:16:13 | sql | -| gogf.go:17:13:17:15 | sql | -| gogf.go:18:12:18:14 | sql | -| gogf.go:19:10:19:12 | sql | -| gogf.go:20:8:20:10 | sql | -| gogf.go:21:17:21:19 | sql | -| gogf.go:22:19:22:21 | sql | -| gogf.go:23:20:23:22 | sql | -| gogf.go:24:23:24:25 | sql | -| gogf.go:25:21:25:23 | sql | -| gogf.go:26:23:26:25 | sql | -| gogf.go:27:22:27:24 | sql | -| gogf.go:28:24:28:26 | sql | -| gogf.go:32:9:32:11 | sql | -| gogf.go:33:11:33:13 | sql | -| gogf.go:34:13:34:15 | sql | -| gogf.go:35:13:35:15 | sql | -| gogf.go:36:11:36:13 | sql | -| gogf.go:37:13:37:15 | sql | -| gogf.go:38:12:38:14 | sql | -| gogf.go:39:10:39:12 | sql | -| gogf.go:40:8:40:10 | sql | -| gogf.go:41:17:41:19 | sql | -| gogf.go:42:23:42:25 | sql | -| gogf.go:43:21:43:23 | sql | -| gogf.go:44:23:44:25 | sql | -| gogf.go:45:22:45:24 | sql | -| gogf.go:46:24:46:26 | sql | -| gogf.go:51:9:51:11 | sql | -| gogf.go:52:11:52:13 | sql | -| gogf.go:53:13:53:15 | sql | -| gogf.go:54:13:54:15 | sql | -| gogf.go:55:11:55:13 | sql | -| gogf.go:56:13:56:15 | sql | -| gogf.go:57:12:57:14 | sql | -| gogf.go:58:10:58:12 | sql | -| gogf.go:59:8:59:10 | sql | -| gogf.go:60:17:60:19 | sql | -| gogf.go:61:23:61:25 | sql | -| gogf.go:62:21:62:23 | sql | -| gogf.go:63:23:63:25 | sql | -| gogf.go:64:22:64:24 | sql | -| gogf.go:65:24:65:26 | sql | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.go index d0eceaf862c..e2db8016cf0 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.go @@ -4,11 +4,13 @@ package main //go:generate depstubber -vendor github.com/gogf/gf/database/gdb DB,Core,TX "" import ( + "context" + "github.com/gogf/gf/database/gdb" "github.com/gogf/gf/frame/g" ) -func gogfCoreTest(sql string, c *gdb.Core) { +func gogfCoreTest(sql string, c *gdb.Core, ctx context.Context) { c.Exec(sql, nil) // $ querystring=sql c.GetAll(sql, nil) // $ querystring=sql c.GetArray(sql, nil) // $ querystring=sql @@ -21,14 +23,14 @@ func gogfCoreTest(sql string, c *gdb.Core) { c.GetScan(nil, sql, nil) // $ querystring=sql c.GetStruct(nil, sql, nil) // $ querystring=sql c.GetStructs(nil, sql, nil) // $ querystring=sql - c.DoCommit(nil, nil, sql, nil) // $ querystring=sql - c.DoExec(nil, nil, sql, nil) // $ querystring=sql - c.DoGetAll(nil, nil, sql, nil) // $ querystring=sql - c.DoQuery(nil, nil, sql, nil) // $ querystring=sql - c.DoPrepare(nil, nil, sql) // $ querystring=sql + c.DoCommit(ctx, nil, sql, nil) // $ querystring=sql + c.DoExec(ctx, nil, sql, nil) // $ querystring=sql + c.DoGetAll(ctx, nil, sql, nil) // $ querystring=sql + c.DoQuery(ctx, nil, sql, nil) // $ querystring=sql + c.DoPrepare(ctx, nil, sql) // $ querystring=sql } -func gogfDbtest(sql string, c gdb.DB) { +func gogfDbtest(sql string, c gdb.DB, ctx context.Context) { c.Exec(sql, nil) // $ querystring=sql c.GetAll(sql, nil) // $ querystring=sql c.GetArray(sql, nil) // $ querystring=sql @@ -39,14 +41,14 @@ func gogfDbtest(sql string, c gdb.DB) { c.Query(sql, nil) // $ querystring=sql c.Raw(sql, nil) // $ querystring=sql c.GetScan(nil, sql, nil) // $ querystring=sql - c.DoCommit(nil, nil, sql, nil) // $ querystring=sql - c.DoExec(nil, nil, sql, nil) // $ querystring=sql - c.DoGetAll(nil, nil, sql, nil) // $ querystring=sql - c.DoQuery(nil, nil, sql, nil) // $ querystring=sql - c.DoPrepare(nil, nil, sql) // $ querystring=sql + c.DoCommit(ctx, nil, sql, nil) // $ querystring=sql + c.DoExec(ctx, nil, sql, nil) // $ querystring=sql + c.DoGetAll(ctx, nil, sql, nil) // $ querystring=sql + c.DoQuery(ctx, nil, sql, nil) // $ querystring=sql + c.DoPrepare(ctx, nil, sql) // $ querystring=sql } -func gogfGTest(sql string) { +func gogfGTest(sql string, ctx context.Context) { c := g.DB("ad") c.Exec(sql, nil) // $ querystring=sql c.GetAll(sql, nil) // $ querystring=sql @@ -58,11 +60,11 @@ func gogfGTest(sql string) { c.Query(sql, nil) // $ querystring=sql c.Raw(sql, nil) // $ querystring=sql c.GetScan(nil, sql, nil) // $ querystring=sql - c.DoCommit(nil, nil, sql, nil) // $ querystring=sql - c.DoExec(nil, nil, sql, nil) // $ querystring=sql - c.DoGetAll(nil, nil, sql, nil) // $ querystring=sql - c.DoQuery(nil, nil, sql, nil) // $ querystring=sql - c.DoPrepare(nil, nil, sql) // $ querystring=sql + c.DoCommit(ctx, nil, sql, nil) // $ querystring=sql + c.DoExec(ctx, nil, sql, nil) // $ querystring=sql + c.DoGetAll(ctx, nil, sql, nil) // $ querystring=sql + c.DoQuery(ctx, nil, sql, nil) // $ querystring=sql + c.DoPrepare(ctx, nil, sql) // $ querystring=sql } func main() { diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.ql deleted file mode 100644 index 7b56fd97441..00000000000 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/gogf/gogf.ql +++ /dev/null @@ -1,4 +0,0 @@ -import go - -from SQL::QueryString qs -select qs From 7ad63fc3e6df9c212add21742de11337ff525afc Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 12:57:42 +0100 Subject: [PATCH 065/258] Convert sqlx sql-injection sinks to MaD --- .../lib/ext/github.com.jmoiron.sqlx.model.yml | 17 ++++++ go/ql/lib/semmle/go/frameworks/SQL.qll | 14 ----- .../frameworks/SQL/Sqlx/QueryString.expected | 3 + .../go/frameworks/SQL/Sqlx/QueryString.ql | 60 +++++++++++++++++++ .../go/frameworks/SQL/Sqlx/sqlx.expected | 12 ---- .../semmle/go/frameworks/SQL/Sqlx/sqlx.go | 24 ++++---- .../semmle/go/frameworks/SQL/Sqlx/sqlx.ql | 4 -- 7 files changed, 92 insertions(+), 42 deletions(-) create mode 100644 go/ql/lib/ext/github.com.jmoiron.sqlx.model.yml create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/QueryString.expected create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/QueryString.ql delete mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.expected delete mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.ql diff --git a/go/ql/lib/ext/github.com.jmoiron.sqlx.model.yml b/go/ql/lib/ext/github.com.jmoiron.sqlx.model.yml new file mode 100644 index 00000000000..8c9d19b4b85 --- /dev/null +++ b/go/ql/lib/ext/github.com.jmoiron.sqlx.model.yml @@ -0,0 +1,17 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["github.com/jmoiron/sqlx", "DB", True, "Get", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "DB", True, "MustExec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "DB", True, "NamedExec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "DB", True, "NamedQuery", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "DB", True, "Queryx", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "DB", True, "Select", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "Tx", True, "Get", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "Tx", True, "MustExec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "Tx", True, "NamedExec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "Tx", True, "NamedQuery", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "Tx", True, "Queryx", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/jmoiron/sqlx", "Tx", True, "Select", "", "", "Argument[1]", "sql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index f960c214d84..304c7f82d87 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -165,20 +165,6 @@ module SQL { ) } } - - /** A model for sinks of github.com/jmoiron/sqlx. */ - private class SqlxSink extends SQL::QueryString::Range { - SqlxSink() { - exists(Method meth, string name, int n | - meth.hasQualifiedName(package("github.com/jmoiron/sqlx", ""), ["DB", "Tx"], name) and - this = meth.getACall().getArgument(n) - | - name = ["Select", "Get"] and n = 1 - or - name = ["MustExec", "Queryx", "NamedExec", "NamedQuery"] and n = 0 - ) - } - } } /** diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/QueryString.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/QueryString.expected new file mode 100644 index 00000000000..db33d6d2504 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/QueryString.expected @@ -0,0 +1,3 @@ +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/QueryString.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/QueryString.ql new file mode 100644 index 00000000000..eeb43a82fad --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/QueryString.ql @@ -0,0 +1,60 @@ +import go +import semmle.go.dataflow.ExternalFlow +import ModelValidation +import TestUtilities.InlineExpectationsTest + +module SqlTest implements TestSig { + string getARelevantTag() { result = "query" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "query" and + exists(SQL::Query q, SQL::QueryString qs | qs = q.getAQueryString() | + q.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = q.toString() and + value = qs.toString() + ) + } +} + +module QueryString implements TestSig { + string getARelevantTag() { result = "querystring" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "querystring" and + element = "" and + exists(SQL::QueryString qs | not exists(SQL::Query q | qs = q.getAQueryString()) | + qs.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + value = qs.toString() + ) + } +} + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node n) { n.asExpr() instanceof StringLit } + + predicate isSink(DataFlow::Node n) { + n = any(DataFlow::CallNode cn | cn.getTarget().getName() = "sink").getAnArgument() + } +} + +module Flow = TaintTracking::Global; + +module TaintFlow implements TestSig { + string getARelevantTag() { result = "flowfrom" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "flowfrom" and + element = "" and + exists(DataFlow::Node fromNode, DataFlow::Node toNode | + toNode + .hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + Flow::flow(fromNode, toNode) and + value = fromNode.asExpr().(StringLit).getValue() + ) + } +} + +import MakeTest> diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.expected deleted file mode 100644 index 0540a78fb34..00000000000 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.expected +++ /dev/null @@ -1,12 +0,0 @@ -| sqlx.go:15:17:15:25 | untrusted | -| sqlx.go:16:14:16:22 | untrusted | -| sqlx.go:17:14:17:22 | untrusted | -| sqlx.go:18:12:18:20 | untrusted | -| sqlx.go:19:15:19:23 | untrusted | -| sqlx.go:20:16:20:24 | untrusted | -| sqlx.go:23:17:23:25 | untrusted | -| sqlx.go:24:14:24:22 | untrusted | -| sqlx.go:25:14:25:22 | untrusted | -| sqlx.go:26:12:26:20 | untrusted | -| sqlx.go:27:15:27:23 | untrusted | -| sqlx.go:28:16:28:24 | untrusted | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.go index edc29c4d4ee..e4e8d43395b 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.go @@ -12,19 +12,19 @@ func main() { db := sqlx.DB{} untrusted := getUntrustedString() - db.Select(nil, untrusted) - db.Get(nil, untrusted) - db.MustExec(untrusted) - db.Queryx(untrusted) - db.NamedExec(untrusted, nil) - db.NamedQuery(untrusted, nil) + db.Select(nil, untrusted) // $ querystring=untrusted + db.Get(nil, untrusted) // $ querystring=untrusted + db.MustExec(untrusted) // $ querystring=untrusted + db.Queryx(untrusted) // $ querystring=untrusted + db.NamedExec(untrusted, nil) // $ querystring=untrusted + db.NamedQuery(untrusted, nil) // $ querystring=untrusted tx := sqlx.Tx{} - tx.Select(nil, untrusted) - tx.Get(nil, untrusted) - tx.MustExec(untrusted) - tx.Queryx(untrusted) - tx.NamedExec(untrusted, nil) - tx.NamedQuery(untrusted, nil) + tx.Select(nil, untrusted) // $ querystring=untrusted + tx.Get(nil, untrusted) // $ querystring=untrusted + tx.MustExec(untrusted) // $ querystring=untrusted + tx.Queryx(untrusted) // $ querystring=untrusted + tx.NamedExec(untrusted, nil) // $ querystring=untrusted + tx.NamedQuery(untrusted, nil) // $ querystring=untrusted } diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.ql deleted file mode 100644 index 7b56fd97441..00000000000 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Sqlx/sqlx.ql +++ /dev/null @@ -1,4 +0,0 @@ -import go - -from SQL::QueryString qs -select qs From ba310417a8ce94daa2240219335003518acdca33 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 15:24:56 +0100 Subject: [PATCH 066/258] Convert Gorm sql-injection sinks to MaD --- go/ql/lib/ext/gorm.io.gorm.model.yml | 25 ++++++++ go/ql/lib/semmle/go/frameworks/SQL.qll | 15 ----- .../frameworks/SQL/Gorm/QueryString.expected | 3 + .../go/frameworks/SQL/Gorm/QueryString.ql | 60 +++++++++++++++++++ .../go/frameworks/SQL/Gorm/gorm.expected | 25 -------- .../semmle/go/frameworks/SQL/Gorm/gorm.go | 51 ++++++++-------- .../semmle/go/frameworks/SQL/Gorm/gorm.ql | 5 -- 7 files changed, 113 insertions(+), 71 deletions(-) create mode 100644 go/ql/lib/ext/gorm.io.gorm.model.yml create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/QueryString.expected create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/QueryString.ql delete mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.expected delete mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.ql diff --git a/go/ql/lib/ext/gorm.io.gorm.model.yml b/go/ql/lib/ext/gorm.io.gorm.model.yml new file mode 100644 index 00000000000..bfcf1fa66a7 --- /dev/null +++ b/go/ql/lib/ext/gorm.io.gorm.model.yml @@ -0,0 +1,25 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: packageGrouping + data: + - ["gorm", "gorm.io/gorm"] + - ["gorm", "github.com/jinzhu/gorm"] + - ["gorm", "github.com/go-gorm/gorm"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["group:gorm", "DB", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Raw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Order", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Not", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Or", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Select", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Table", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Group", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Having", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Joins", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Distinct", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:gorm", "DB", True, "Pluck", "", "", "Argument[0]", "sql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index 304c7f82d87..72003985d77 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -150,21 +150,6 @@ module SQL { } } } - - /** A model for sinks of GORM. */ - private class GormSink extends SQL::QueryString::Range { - GormSink() { - exists(Method meth, string package, string name | - meth.hasQualifiedName(package, "DB", name) and - this = meth.getACall().getSyntacticArgument(0) and - package = Gorm::packagePath() and - name in [ - "Where", "Raw", "Order", "Not", "Or", "Select", "Table", "Group", "Having", "Joins", - "Exec", "Distinct", "Pluck" - ] - ) - } - } } /** diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/QueryString.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/QueryString.expected new file mode 100644 index 00000000000..db33d6d2504 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/QueryString.expected @@ -0,0 +1,3 @@ +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/QueryString.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/QueryString.ql new file mode 100644 index 00000000000..eeb43a82fad --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/QueryString.ql @@ -0,0 +1,60 @@ +import go +import semmle.go.dataflow.ExternalFlow +import ModelValidation +import TestUtilities.InlineExpectationsTest + +module SqlTest implements TestSig { + string getARelevantTag() { result = "query" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "query" and + exists(SQL::Query q, SQL::QueryString qs | qs = q.getAQueryString() | + q.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = q.toString() and + value = qs.toString() + ) + } +} + +module QueryString implements TestSig { + string getARelevantTag() { result = "querystring" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "querystring" and + element = "" and + exists(SQL::QueryString qs | not exists(SQL::Query q | qs = q.getAQueryString()) | + qs.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + value = qs.toString() + ) + } +} + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node n) { n.asExpr() instanceof StringLit } + + predicate isSink(DataFlow::Node n) { + n = any(DataFlow::CallNode cn | cn.getTarget().getName() = "sink").getAnArgument() + } +} + +module Flow = TaintTracking::Global; + +module TaintFlow implements TestSig { + string getARelevantTag() { result = "flowfrom" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "flowfrom" and + element = "" and + exists(DataFlow::Node fromNode, DataFlow::Node toNode | + toNode + .hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + Flow::flow(fromNode, toNode) and + value = fromNode.asExpr().(StringLit).getValue() + ) + } +} + +import MakeTest> diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.expected deleted file mode 100644 index ca70ed07c33..00000000000 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.expected +++ /dev/null @@ -1,25 +0,0 @@ -| gorm.go:20:12:20:20 | untrusted | github.com/jinzhu/gorm | DB | Where | -| gorm.go:21:10:21:18 | untrusted | github.com/jinzhu/gorm | DB | Raw | -| gorm.go:22:10:22:18 | untrusted | github.com/jinzhu/gorm | DB | Not | -| gorm.go:23:12:23:20 | untrusted | github.com/jinzhu/gorm | DB | Order | -| gorm.go:24:9:24:17 | untrusted | github.com/jinzhu/gorm | DB | Or | -| gorm.go:25:13:25:21 | untrusted | github.com/jinzhu/gorm | DB | Select | -| gorm.go:26:12:26:20 | untrusted | github.com/jinzhu/gorm | DB | Table | -| gorm.go:27:12:27:20 | untrusted | github.com/jinzhu/gorm | DB | Group | -| gorm.go:28:13:28:21 | untrusted | github.com/jinzhu/gorm | DB | Having | -| gorm.go:29:12:29:20 | untrusted | github.com/jinzhu/gorm | DB | Joins | -| gorm.go:30:11:30:19 | untrusted | github.com/jinzhu/gorm | DB | Exec | -| gorm.go:31:12:31:20 | untrusted | github.com/jinzhu/gorm | DB | Pluck | -| gorm.go:34:12:34:20 | untrusted | gorm.io/gorm | DB | Where | -| gorm.go:35:10:35:18 | untrusted | gorm.io/gorm | DB | Raw | -| gorm.go:36:10:36:18 | untrusted | gorm.io/gorm | DB | Not | -| gorm.go:37:12:37:20 | untrusted | gorm.io/gorm | DB | Order | -| gorm.go:38:9:38:17 | untrusted | gorm.io/gorm | DB | Or | -| gorm.go:39:13:39:21 | untrusted | gorm.io/gorm | DB | Select | -| gorm.go:40:12:40:20 | untrusted | gorm.io/gorm | DB | Table | -| gorm.go:41:12:41:20 | untrusted | gorm.io/gorm | DB | Group | -| gorm.go:42:13:42:21 | untrusted | gorm.io/gorm | DB | Having | -| gorm.go:43:12:43:20 | untrusted | gorm.io/gorm | DB | Joins | -| gorm.go:44:11:44:19 | untrusted | gorm.io/gorm | DB | Exec | -| gorm.go:45:15:45:23 | untrusted | gorm.io/gorm | DB | Distinct | -| gorm.go:46:12:46:20 | untrusted | gorm.io/gorm | DB | Pluck | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.go index bee8edbf7af..2d736e2407c 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.go @@ -13,36 +13,35 @@ func getUntrustedString() string { } func main() { - untrusted := getUntrustedString() db1 := gorm1.DB{} - db1.Where(untrusted) - db1.Raw(untrusted) - db1.Not(untrusted) - db1.Order(untrusted) - db1.Or(untrusted) - db1.Select(untrusted) - db1.Table(untrusted) - db1.Group(untrusted) - db1.Having(untrusted) - db1.Joins(untrusted) - db1.Exec(untrusted) - db1.Pluck(untrusted, nil) + db1.Where(untrusted) // $ querystring=untrusted + db1.Raw(untrusted) // $ querystring=untrusted + db1.Not(untrusted) // $ querystring=untrusted + db1.Order(untrusted) // $ querystring=untrusted + db1.Or(untrusted) // $ querystring=untrusted + db1.Select(untrusted) // $ querystring=untrusted + db1.Table(untrusted) // $ querystring=untrusted + db1.Group(untrusted) // $ querystring=untrusted + db1.Having(untrusted) // $ querystring=untrusted + db1.Joins(untrusted) // $ querystring=untrusted + db1.Exec(untrusted) // $ querystring=untrusted + db1.Pluck(untrusted, nil) // $ querystring=untrusted db2 := gorm2.DB{} - db2.Where(untrusted) - db2.Raw(untrusted) - db2.Not(untrusted) - db2.Order(untrusted) - db2.Or(untrusted) - db2.Select(untrusted) - db2.Table(untrusted) - db2.Group(untrusted) - db2.Having(untrusted) - db2.Joins(untrusted) - db2.Exec(untrusted) - db2.Distinct(untrusted) - db2.Pluck(untrusted, nil) + db2.Where(untrusted) // $ querystring=untrusted + db2.Raw(untrusted) // $ querystring=untrusted + db2.Not(untrusted) // $ querystring=untrusted + db2.Order(untrusted) // $ querystring=untrusted + db2.Or(untrusted) // $ querystring=untrusted + db2.Select(untrusted) // $ querystring=untrusted + db2.Table(untrusted) // $ querystring=untrusted + db2.Group(untrusted) // $ querystring=untrusted + db2.Having(untrusted) // $ querystring=untrusted + db2.Joins(untrusted) // $ querystring=untrusted + db2.Exec(untrusted) // $ querystring=untrusted + db2.Distinct(untrusted) // $ querystring=untrusted + db2.Pluck(untrusted, nil) // $ querystring=untrusted } diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.ql deleted file mode 100644 index e08b506deaf..00000000000 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/Gorm/gorm.ql +++ /dev/null @@ -1,5 +0,0 @@ -import go - -from SQL::QueryString qs, Method meth, string a, string b, string c -where meth.hasQualifiedName(a, b, c) and qs = meth.getACall().getSyntacticArgument(0) -select qs, a, b, c From 3b2b7d7d1c3ead1ba09002795cac87c90e3e4c99 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 15:38:07 +0100 Subject: [PATCH 067/258] Convert Xorm sql-injection sinks to MaD --- go/ql/lib/ext/xorm.io.xorm.model.yml | 53 ++++++++++++++++++++++++++ go/ql/lib/semmle/go/frameworks/SQL.qll | 22 ----------- 2 files changed, 53 insertions(+), 22 deletions(-) create mode 100644 go/ql/lib/ext/xorm.io.xorm.model.yml diff --git a/go/ql/lib/ext/xorm.io.xorm.model.yml b/go/ql/lib/ext/xorm.io.xorm.model.yml new file mode 100644 index 00000000000..fd73b7c9a66 --- /dev/null +++ b/go/ql/lib/ext/xorm.io.xorm.model.yml @@ -0,0 +1,53 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: packageGrouping + data: + - ["xorm", "xorm.io/xorm"] + - ["xorm", "github.com/go-xorm/xorm"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["group:xorm", "Engine", True, "Alias", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "And", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "GroupBy", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Having", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "In", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Join", "", "", "Argument[0..2]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "NotIn", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Or", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "QueryString", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "QueryInterface", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Select", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "SetExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "SQL", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Sum", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Sums", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "SumInt", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "SumsInt", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:xorm", "Engine", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Alias", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "And", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "GroupBy", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Having", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "In", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Join", "", "", "Argument[0..2]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "NotIn", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Or", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "QueryString", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "QueryInterface", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Select", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "SetExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "SQL", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Sum", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Sums", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "SumInt", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "SumsInt", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:xorm", "Session", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index 72003985d77..f4367da7854 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -168,28 +168,6 @@ module Gorm { module Xorm { /** Gets the package name for Xorm. */ string packagePath() { result = package(["xorm.io/xorm", "github.com/go-xorm/xorm"], "") } - - /** A model for sinks of XORM. */ - private class XormSink extends SQL::QueryString::Range { - XormSink() { - exists(Method meth, string type, string name, int n | - meth.hasQualifiedName(Xorm::packagePath(), type, name) and - this = meth.getACall().getSyntacticArgument(n) and - type = ["Engine", "Session"] - | - name = - [ - "Query", "Exec", "QueryString", "QueryInterface", "SQL", "Where", "And", "Or", "Alias", - "NotIn", "In", "Select", "SetExpr", "OrderBy", "Having", "GroupBy" - ] and - n = 0 - or - name = ["SumInt", "Sum", "Sums", "SumsInt"] and n = 1 - or - name = "Join" and n = [0, 1, 2] - ) - } - } } /** From 3eb5b2669b2f5a8f020288184932c2e72379d2ad Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 16:10:11 +0100 Subject: [PATCH 068/258] Convert Bun sql-injection sinks to MaD --- .../lib/ext/github.com.uptrace.bun.model.yml | 68 +++++++++++++++++++ go/ql/lib/semmle/go/frameworks/SQL.qll | 43 +----------- .../frameworks/SQL/bun/QueryString.expected | 3 + .../go/frameworks/SQL/bun/QueryString.ql | 60 ++++++++++++++++ .../semmle/go/frameworks/SQL/bun/bun.go | 42 ++++++------ 5 files changed, 155 insertions(+), 61 deletions(-) create mode 100644 go/ql/lib/ext/github.com.uptrace.bun.model.yml create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/QueryString.expected create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/QueryString.ql diff --git a/go/ql/lib/ext/github.com.uptrace.bun.model.yml b/go/ql/lib/ext/github.com.uptrace.bun.model.yml new file mode 100644 index 00000000000..eb060b4f9cc --- /dev/null +++ b/go/ql/lib/ext/github.com.uptrace.bun.model.yml @@ -0,0 +1,68 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["github.com/uptrace/bun", "", True, "NewRawQuery", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "AddColumnQuery", True, "ColumnExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "AddColumnQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "AddColumnQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "NewRaw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "Conn", True, "Raw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "CreateIndexQuery", True, "ColumnExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "CreateIndexQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "CreateIndexQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "CreateIndexQuery", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "CreateIndexQuery", True, "WhereOr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "CreateTableQuery", True, "ColumnExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "CreateTableQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "CreateTableQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "NewRaw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DB", True, "Raw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DeleteQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DeleteQuery", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DeleteQuery", True, "WhereOr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DropColumnQuery", True, "ColumnExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DropColumnQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DropColumnQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DropTableQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "DropTableQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "InsertQuery", True, "ColumnExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "InsertQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "InsertQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "InsertQuery", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "InsertQuery", True, "WhereOr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "MergeQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "MergeQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "RawQuery", True, "NewRaw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "ColumnExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "DistinctOn", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "For", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "GroupExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "Having", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "OrderExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "SelectQuery", True, "WhereOr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "TruncateTableQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "UpdateQuery", True, "ModelTableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "UpdateQuery", True, "TableExpr", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "UpdateQuery", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + - ["github.com/uptrace/bun", "UpdateQuery", True, "WhereOr", "", "", "Argument[0]", "sql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index f4367da7854..c2a550602e1 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -171,45 +171,8 @@ module Xorm { } /** + * DEPRECATED + * * Provides classes for working with the [Bun](https://bun.uptrace.dev/) package. */ -module Bun { - /** Gets the package name for Bun package. */ - private string packagePath() { result = package("github.com/uptrace/bun", "") } - - /** A model for sinks of Bun. */ - private class BunSink extends SQL::QueryString::Range { - BunSink() { - exists(Function f, string m, int arg | this = f.getACall().getArgument(arg) | - f.hasQualifiedName(packagePath(), m) and - m = "NewRawQuery" and - arg = 1 - ) - or - exists(Method f, string tp, string m, int arg | this = f.getACall().getArgument(arg) | - f.hasQualifiedName(packagePath(), tp, m) and - ( - tp = ["DB", "Conn"] and - m = ["ExecContext", "PrepareContext", "QueryContext", "QueryRowContext"] and - arg = 1 - or - tp = ["DB", "Conn"] and - m = ["Exec", "NewRaw", "Prepare", "Query", "QueryRow", "Raw"] and - arg = 0 - or - tp.matches("%Query") and - m = - [ - "ColumnExpr", "DistinctOn", "For", "GroupExpr", "Having", "ModelTableExpr", - "OrderExpr", "TableExpr", "Where", "WhereOr" - ] and - arg = 0 - or - tp = "RawQuery" and - m = "NewRaw" and - arg = 0 - ) - ) - } - } -} +deprecated module Bun { } diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/QueryString.expected b/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/QueryString.expected new file mode 100644 index 00000000000..105b7026d0c --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/QueryString.expected @@ -0,0 +1,3 @@ +failures +invalidModelRow +testFailures diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/QueryString.ql b/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/QueryString.ql new file mode 100644 index 00000000000..eeb43a82fad --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/QueryString.ql @@ -0,0 +1,60 @@ +import go +import semmle.go.dataflow.ExternalFlow +import ModelValidation +import TestUtilities.InlineExpectationsTest + +module SqlTest implements TestSig { + string getARelevantTag() { result = "query" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "query" and + exists(SQL::Query q, SQL::QueryString qs | qs = q.getAQueryString() | + q.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = q.toString() and + value = qs.toString() + ) + } +} + +module QueryString implements TestSig { + string getARelevantTag() { result = "querystring" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "querystring" and + element = "" and + exists(SQL::QueryString qs | not exists(SQL::Query q | qs = q.getAQueryString()) | + qs.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + value = qs.toString() + ) + } +} + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node n) { n.asExpr() instanceof StringLit } + + predicate isSink(DataFlow::Node n) { + n = any(DataFlow::CallNode cn | cn.getTarget().getName() = "sink").getAnArgument() + } +} + +module Flow = TaintTracking::Global; + +module TaintFlow implements TestSig { + string getARelevantTag() { result = "flowfrom" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "flowfrom" and + element = "" and + exists(DataFlow::Node fromNode, DataFlow::Node toNode | + toNode + .hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + Flow::flow(fromNode, toNode) and + value = fromNode.asExpr().(StringLit).getValue() + ) + } +} + +import MakeTest> diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/bun.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/bun.go index 8ce4e5b0826..44a2e2c2fce 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/bun.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/bun/bun.go @@ -22,28 +22,28 @@ func main() { panic(err) } db := bun.NewDB(sqlite, sqlitedialect.New()) - bun.NewRawQuery(db, untrusted) + bun.NewRawQuery(db, untrusted) // $ querystring=untrusted - db.ExecContext(ctx, untrusted) - db.PrepareContext(ctx, untrusted) - db.QueryContext(ctx, untrusted) - db.QueryRowContext(ctx, untrusted) + db.ExecContext(ctx, untrusted) // $ querystring=untrusted + db.PrepareContext(ctx, untrusted) // $ querystring=untrusted + db.QueryContext(ctx, untrusted) // $ querystring=untrusted + db.QueryRowContext(ctx, untrusted) // $ querystring=untrusted - db.Exec(untrusted) - db.NewRaw(untrusted) - db.Prepare(untrusted) - db.Query(untrusted) - db.QueryRow(untrusted) - db.Raw(untrusted) + db.Exec(untrusted) // $ querystring=untrusted + db.NewRaw(untrusted) // $ querystring=untrusted + db.Prepare(untrusted) // $ querystring=untrusted + db.Query(untrusted) // $ querystring=untrusted + db.QueryRow(untrusted) // $ querystring=untrusted + db.Raw(untrusted) // $ querystring=untrusted - db.NewSelect().ColumnExpr(untrusted) - db.NewSelect().DistinctOn(untrusted) - db.NewSelect().For(untrusted) - db.NewSelect().GroupExpr(untrusted) - db.NewSelect().Having(untrusted) - db.NewSelect().ModelTableExpr(untrusted) - db.NewSelect().OrderExpr(untrusted) - db.NewSelect().TableExpr(untrusted) - db.NewSelect().Where(untrusted) - db.NewSelect().WhereOr(untrusted) + db.NewSelect().ColumnExpr(untrusted) // $ querystring=untrusted + db.NewSelect().DistinctOn(untrusted) // $ querystring=untrusted + db.NewSelect().For(untrusted) // $ querystring=untrusted + db.NewSelect().GroupExpr(untrusted) // $ querystring=untrusted + db.NewSelect().Having(untrusted) // $ querystring=untrusted + db.NewSelect().ModelTableExpr(untrusted) // $ querystring=untrusted + db.NewSelect().OrderExpr(untrusted) // $ querystring=untrusted + db.NewSelect().TableExpr(untrusted) // $ querystring=untrusted + db.NewSelect().Where(untrusted) // $ querystring=untrusted + db.NewSelect().WhereOr(untrusted) // $ querystring=untrusted } From e1bdc7f5a703c5d0061b9bc925828fc8dff092b5 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 16:34:50 +0100 Subject: [PATCH 069/258] Update Beego orm tests --- .../frameworks/BeegoOrm/QueryString.expected | 3 + .../go/frameworks/BeegoOrm/QueryString.ql | 60 ++++++ .../frameworks/BeegoOrm/SqlInjection.expected | 197 +++++++++--------- .../go/frameworks/BeegoOrm/StoredXss.expected | 190 ++++++++--------- .../semmle/go/frameworks/BeegoOrm/test.go | 71 ++++--- 5 files changed, 294 insertions(+), 227 deletions(-) create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/QueryString.expected create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/QueryString.ql diff --git a/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/QueryString.expected b/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/QueryString.expected new file mode 100644 index 00000000000..105b7026d0c --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/QueryString.expected @@ -0,0 +1,3 @@ +failures +invalidModelRow +testFailures diff --git a/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/QueryString.ql b/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/QueryString.ql new file mode 100644 index 00000000000..eeb43a82fad --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/QueryString.ql @@ -0,0 +1,60 @@ +import go +import semmle.go.dataflow.ExternalFlow +import ModelValidation +import TestUtilities.InlineExpectationsTest + +module SqlTest implements TestSig { + string getARelevantTag() { result = "query" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "query" and + exists(SQL::Query q, SQL::QueryString qs | qs = q.getAQueryString() | + q.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = q.toString() and + value = qs.toString() + ) + } +} + +module QueryString implements TestSig { + string getARelevantTag() { result = "querystring" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "querystring" and + element = "" and + exists(SQL::QueryString qs | not exists(SQL::Query q | qs = q.getAQueryString()) | + qs.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + value = qs.toString() + ) + } +} + +module Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node n) { n.asExpr() instanceof StringLit } + + predicate isSink(DataFlow::Node n) { + n = any(DataFlow::CallNode cn | cn.getTarget().getName() = "sink").getAnArgument() + } +} + +module Flow = TaintTracking::Global; + +module TaintFlow implements TestSig { + string getARelevantTag() { result = "flowfrom" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + tag = "flowfrom" and + element = "" and + exists(DataFlow::Node fromNode, DataFlow::Node toNode | + toNode + .hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + Flow::flow(fromNode, toNode) and + value = fromNode.asExpr().(StringLit).getValue() + ) + } +} + +import MakeTest> diff --git a/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/SqlInjection.expected b/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/SqlInjection.expected index efd77de851c..6cc1e09486b 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/SqlInjection.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/SqlInjection.expected @@ -1,107 +1,108 @@ #select -| test.go:12:11:12:19 | untrusted | test.go:10:15:10:41 | call to UserAgent | test.go:12:11:12:19 | untrusted | This query depends on a $@. | test.go:10:15:10:41 | call to UserAgent | user-provided value | -| test.go:13:23:13:31 | untrusted | test.go:10:15:10:41 | call to UserAgent | test.go:13:23:13:31 | untrusted | This query depends on a $@. | test.go:10:15:10:41 | call to UserAgent | user-provided value | -| test.go:14:14:14:22 | untrusted | test.go:10:15:10:41 | call to UserAgent | test.go:14:14:14:22 | untrusted | This query depends on a $@. | test.go:10:15:10:41 | call to UserAgent | user-provided value | -| test.go:15:26:15:34 | untrusted | test.go:10:15:10:41 | call to UserAgent | test.go:15:26:15:34 | untrusted | This query depends on a $@. | test.go:10:15:10:41 | call to UserAgent | user-provided value | -| test.go:16:12:16:20 | untrusted | test.go:10:15:10:41 | call to UserAgent | test.go:16:12:16:20 | untrusted | This query depends on a $@. | test.go:10:15:10:41 | call to UserAgent | user-provided value | -| test.go:17:24:17:32 | untrusted | test.go:10:15:10:41 | call to UserAgent | test.go:17:24:17:32 | untrusted | This query depends on a $@. | test.go:10:15:10:41 | call to UserAgent | user-provided value | -| test.go:18:15:18:23 | untrusted | test.go:10:15:10:41 | call to UserAgent | test.go:18:15:18:23 | untrusted | This query depends on a $@. | test.go:10:15:10:41 | call to UserAgent | user-provided value | -| test.go:19:27:19:35 | untrusted | test.go:10:15:10:41 | call to UserAgent | test.go:19:27:19:35 | untrusted | This query depends on a $@. | test.go:10:15:10:41 | call to UserAgent | user-provided value | -| test.go:26:12:26:20 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:26:12:26:20 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:27:10:27:18 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:27:10:27:18 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:28:15:28:23 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:28:15:28:23 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:29:14:29:22 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:29:14:29:22 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:30:15:30:23 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:30:15:30:23 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:31:8:31:16 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:31:8:31:16 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:32:11:32:19 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:32:11:32:19 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:33:9:33:17 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:33:9:33:17 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:34:8:34:16 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:34:8:34:16 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:35:8:35:16 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:35:8:35:16 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:36:13:36:21 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:36:13:36:21 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:37:13:37:21 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:37:13:37:21 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:38:12:38:20 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:38:12:38:20 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:39:12:39:20 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:39:12:39:20 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:40:9:40:17 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:40:9:40:17 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:41:12:41:20 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:41:12:41:20 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:42:16:42:24 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:42:16:42:24 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:42:27:42:35 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:42:27:42:35 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:43:12:43:20 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:43:12:43:20 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:44:14:44:22 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:44:14:44:22 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:44:25:44:33 | untrusted | test.go:24:15:24:41 | call to UserAgent | test.go:44:25:44:33 | untrusted | This query depends on a $@. | test.go:24:15:24:41 | call to UserAgent | user-provided value | -| test.go:49:12:49:20 | untrusted | test.go:48:15:48:41 | call to UserAgent | test.go:49:12:49:20 | untrusted | This query depends on a $@. | test.go:48:15:48:41 | call to UserAgent | user-provided value | -| test.go:56:31:56:39 | untrusted | test.go:54:15:54:41 | call to UserAgent | test.go:56:31:56:39 | untrusted | This query depends on a $@. | test.go:54:15:54:41 | call to UserAgent | user-provided value | -| test.go:62:19:62:27 | untrusted | test.go:60:15:60:41 | call to UserAgent | test.go:62:19:62:27 | untrusted | This query depends on a $@. | test.go:60:15:60:41 | call to UserAgent | user-provided value | +| test.go:13:11:13:19 | untrusted | test.go:11:15:11:41 | call to UserAgent | test.go:13:11:13:19 | untrusted | This query depends on a $@. | test.go:11:15:11:41 | call to UserAgent | user-provided value | +| test.go:14:23:14:31 | untrusted | test.go:11:15:11:41 | call to UserAgent | test.go:14:23:14:31 | untrusted | This query depends on a $@. | test.go:11:15:11:41 | call to UserAgent | user-provided value | +| test.go:15:14:15:22 | untrusted | test.go:11:15:11:41 | call to UserAgent | test.go:15:14:15:22 | untrusted | This query depends on a $@. | test.go:11:15:11:41 | call to UserAgent | user-provided value | +| test.go:16:26:16:34 | untrusted | test.go:11:15:11:41 | call to UserAgent | test.go:16:26:16:34 | untrusted | This query depends on a $@. | test.go:11:15:11:41 | call to UserAgent | user-provided value | +| test.go:17:12:17:20 | untrusted | test.go:11:15:11:41 | call to UserAgent | test.go:17:12:17:20 | untrusted | This query depends on a $@. | test.go:11:15:11:41 | call to UserAgent | user-provided value | +| test.go:18:24:18:32 | untrusted | test.go:11:15:11:41 | call to UserAgent | test.go:18:24:18:32 | untrusted | This query depends on a $@. | test.go:11:15:11:41 | call to UserAgent | user-provided value | +| test.go:19:15:19:23 | untrusted | test.go:11:15:11:41 | call to UserAgent | test.go:19:15:19:23 | untrusted | This query depends on a $@. | test.go:11:15:11:41 | call to UserAgent | user-provided value | +| test.go:20:27:20:35 | untrusted | test.go:11:15:11:41 | call to UserAgent | test.go:20:27:20:35 | untrusted | This query depends on a $@. | test.go:11:15:11:41 | call to UserAgent | user-provided value | +| test.go:28:12:28:20 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:28:12:28:20 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:29:10:29:18 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:29:10:29:18 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:30:15:30:23 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:30:15:30:23 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:31:14:31:22 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:31:14:31:22 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:32:15:32:23 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:32:15:32:23 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:33:8:33:16 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:33:8:33:16 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:34:11:34:19 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:34:11:34:19 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:35:9:35:17 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:35:9:35:17 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:36:8:36:16 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:36:8:36:16 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:37:8:37:16 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:37:8:37:16 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:38:13:38:21 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:38:13:38:21 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:39:13:39:21 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:39:13:39:21 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:40:12:40:20 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:40:12:40:20 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:41:12:41:20 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:41:12:41:20 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:42:9:42:17 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:42:9:42:17 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:43:12:43:20 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:43:12:43:20 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:44:16:44:24 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:44:16:44:24 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:44:27:44:36 | untrusted2 | test.go:26:16:26:42 | call to UserAgent | test.go:44:27:44:36 | untrusted2 | This query depends on a $@. | test.go:26:16:26:42 | call to UserAgent | user-provided value | +| test.go:45:12:45:20 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:45:12:45:20 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:46:14:46:22 | untrusted | test.go:25:15:25:41 | call to UserAgent | test.go:46:14:46:22 | untrusted | This query depends on a $@. | test.go:25:15:25:41 | call to UserAgent | user-provided value | +| test.go:46:25:46:34 | untrusted2 | test.go:26:16:26:42 | call to UserAgent | test.go:46:25:46:34 | untrusted2 | This query depends on a $@. | test.go:26:16:26:42 | call to UserAgent | user-provided value | +| test.go:52:12:52:20 | untrusted | test.go:50:15:50:41 | call to UserAgent | test.go:52:12:52:20 | untrusted | This query depends on a $@. | test.go:50:15:50:41 | call to UserAgent | user-provided value | +| test.go:59:31:59:39 | untrusted | test.go:57:15:57:41 | call to UserAgent | test.go:59:31:59:39 | untrusted | This query depends on a $@. | test.go:57:15:57:41 | call to UserAgent | user-provided value | +| test.go:65:19:65:27 | untrusted | test.go:63:15:63:41 | call to UserAgent | test.go:65:19:65:27 | untrusted | This query depends on a $@. | test.go:63:15:63:41 | call to UserAgent | user-provided value | edges -| test.go:10:15:10:41 | call to UserAgent | test.go:12:11:12:19 | untrusted | provenance | Src:MaD:1 | -| test.go:10:15:10:41 | call to UserAgent | test.go:13:23:13:31 | untrusted | provenance | Src:MaD:1 | -| test.go:10:15:10:41 | call to UserAgent | test.go:14:14:14:22 | untrusted | provenance | Src:MaD:1 | -| test.go:10:15:10:41 | call to UserAgent | test.go:15:26:15:34 | untrusted | provenance | Src:MaD:1 | -| test.go:10:15:10:41 | call to UserAgent | test.go:16:12:16:20 | untrusted | provenance | Src:MaD:1 | -| test.go:10:15:10:41 | call to UserAgent | test.go:17:24:17:32 | untrusted | provenance | Src:MaD:1 | -| test.go:10:15:10:41 | call to UserAgent | test.go:18:15:18:23 | untrusted | provenance | Src:MaD:1 | -| test.go:10:15:10:41 | call to UserAgent | test.go:19:27:19:35 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:26:12:26:20 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:27:10:27:18 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:28:15:28:23 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:29:14:29:22 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:30:15:30:23 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:31:8:31:16 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:32:11:32:19 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:33:9:33:17 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:34:8:34:16 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:35:8:35:16 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:36:13:36:21 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:37:13:37:21 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:38:12:38:20 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:39:12:39:20 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:40:9:40:17 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:41:12:41:20 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:42:16:42:24 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:42:27:42:35 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:43:12:43:20 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:44:14:44:22 | untrusted | provenance | Src:MaD:1 | -| test.go:24:15:24:41 | call to UserAgent | test.go:44:25:44:33 | untrusted | provenance | Src:MaD:1 | -| test.go:48:15:48:41 | call to UserAgent | test.go:49:12:49:20 | untrusted | provenance | Src:MaD:1 | -| test.go:54:15:54:41 | call to UserAgent | test.go:56:31:56:39 | untrusted | provenance | Src:MaD:1 | -| test.go:60:15:60:41 | call to UserAgent | test.go:62:19:62:27 | untrusted | provenance | Src:MaD:1 | +| test.go:11:15:11:41 | call to UserAgent | test.go:13:11:13:19 | untrusted | provenance | Src:MaD:1 | +| test.go:11:15:11:41 | call to UserAgent | test.go:14:23:14:31 | untrusted | provenance | Src:MaD:1 | +| test.go:11:15:11:41 | call to UserAgent | test.go:15:14:15:22 | untrusted | provenance | Src:MaD:1 | +| test.go:11:15:11:41 | call to UserAgent | test.go:16:26:16:34 | untrusted | provenance | Src:MaD:1 | +| test.go:11:15:11:41 | call to UserAgent | test.go:17:12:17:20 | untrusted | provenance | Src:MaD:1 | +| test.go:11:15:11:41 | call to UserAgent | test.go:18:24:18:32 | untrusted | provenance | Src:MaD:1 | +| test.go:11:15:11:41 | call to UserAgent | test.go:19:15:19:23 | untrusted | provenance | Src:MaD:1 | +| test.go:11:15:11:41 | call to UserAgent | test.go:20:27:20:35 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:28:12:28:20 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:29:10:29:18 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:30:15:30:23 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:31:14:31:22 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:32:15:32:23 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:33:8:33:16 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:34:11:34:19 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:35:9:35:17 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:36:8:36:16 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:37:8:37:16 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:38:13:38:21 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:39:13:39:21 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:40:12:40:20 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:41:12:41:20 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:42:9:42:17 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:43:12:43:20 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:44:16:44:24 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:45:12:45:20 | untrusted | provenance | Src:MaD:1 | +| test.go:25:15:25:41 | call to UserAgent | test.go:46:14:46:22 | untrusted | provenance | Src:MaD:1 | +| test.go:26:16:26:42 | call to UserAgent | test.go:44:27:44:36 | untrusted2 | provenance | Src:MaD:1 | +| test.go:26:16:26:42 | call to UserAgent | test.go:46:25:46:34 | untrusted2 | provenance | Src:MaD:1 | +| test.go:50:15:50:41 | call to UserAgent | test.go:52:12:52:20 | untrusted | provenance | Src:MaD:1 | +| test.go:57:15:57:41 | call to UserAgent | test.go:59:31:59:39 | untrusted | provenance | Src:MaD:1 | +| test.go:63:15:63:41 | call to UserAgent | test.go:65:19:65:27 | untrusted | provenance | Src:MaD:1 | models | 1 | Source: net/http; Request; true; UserAgent; ; ; ReturnValue; remote; manual | nodes -| test.go:10:15:10:41 | call to UserAgent | semmle.label | call to UserAgent | -| test.go:12:11:12:19 | untrusted | semmle.label | untrusted | -| test.go:13:23:13:31 | untrusted | semmle.label | untrusted | -| test.go:14:14:14:22 | untrusted | semmle.label | untrusted | -| test.go:15:26:15:34 | untrusted | semmle.label | untrusted | -| test.go:16:12:16:20 | untrusted | semmle.label | untrusted | -| test.go:17:24:17:32 | untrusted | semmle.label | untrusted | -| test.go:18:15:18:23 | untrusted | semmle.label | untrusted | -| test.go:19:27:19:35 | untrusted | semmle.label | untrusted | -| test.go:24:15:24:41 | call to UserAgent | semmle.label | call to UserAgent | -| test.go:26:12:26:20 | untrusted | semmle.label | untrusted | -| test.go:27:10:27:18 | untrusted | semmle.label | untrusted | -| test.go:28:15:28:23 | untrusted | semmle.label | untrusted | -| test.go:29:14:29:22 | untrusted | semmle.label | untrusted | +| test.go:11:15:11:41 | call to UserAgent | semmle.label | call to UserAgent | +| test.go:13:11:13:19 | untrusted | semmle.label | untrusted | +| test.go:14:23:14:31 | untrusted | semmle.label | untrusted | +| test.go:15:14:15:22 | untrusted | semmle.label | untrusted | +| test.go:16:26:16:34 | untrusted | semmle.label | untrusted | +| test.go:17:12:17:20 | untrusted | semmle.label | untrusted | +| test.go:18:24:18:32 | untrusted | semmle.label | untrusted | +| test.go:19:15:19:23 | untrusted | semmle.label | untrusted | +| test.go:20:27:20:35 | untrusted | semmle.label | untrusted | +| test.go:25:15:25:41 | call to UserAgent | semmle.label | call to UserAgent | +| test.go:26:16:26:42 | call to UserAgent | semmle.label | call to UserAgent | +| test.go:28:12:28:20 | untrusted | semmle.label | untrusted | +| test.go:29:10:29:18 | untrusted | semmle.label | untrusted | | test.go:30:15:30:23 | untrusted | semmle.label | untrusted | -| test.go:31:8:31:16 | untrusted | semmle.label | untrusted | -| test.go:32:11:32:19 | untrusted | semmle.label | untrusted | -| test.go:33:9:33:17 | untrusted | semmle.label | untrusted | -| test.go:34:8:34:16 | untrusted | semmle.label | untrusted | -| test.go:35:8:35:16 | untrusted | semmle.label | untrusted | -| test.go:36:13:36:21 | untrusted | semmle.label | untrusted | -| test.go:37:13:37:21 | untrusted | semmle.label | untrusted | -| test.go:38:12:38:20 | untrusted | semmle.label | untrusted | -| test.go:39:12:39:20 | untrusted | semmle.label | untrusted | -| test.go:40:9:40:17 | untrusted | semmle.label | untrusted | +| test.go:31:14:31:22 | untrusted | semmle.label | untrusted | +| test.go:32:15:32:23 | untrusted | semmle.label | untrusted | +| test.go:33:8:33:16 | untrusted | semmle.label | untrusted | +| test.go:34:11:34:19 | untrusted | semmle.label | untrusted | +| test.go:35:9:35:17 | untrusted | semmle.label | untrusted | +| test.go:36:8:36:16 | untrusted | semmle.label | untrusted | +| test.go:37:8:37:16 | untrusted | semmle.label | untrusted | +| test.go:38:13:38:21 | untrusted | semmle.label | untrusted | +| test.go:39:13:39:21 | untrusted | semmle.label | untrusted | +| test.go:40:12:40:20 | untrusted | semmle.label | untrusted | | test.go:41:12:41:20 | untrusted | semmle.label | untrusted | -| test.go:42:16:42:24 | untrusted | semmle.label | untrusted | -| test.go:42:27:42:35 | untrusted | semmle.label | untrusted | +| test.go:42:9:42:17 | untrusted | semmle.label | untrusted | | test.go:43:12:43:20 | untrusted | semmle.label | untrusted | -| test.go:44:14:44:22 | untrusted | semmle.label | untrusted | -| test.go:44:25:44:33 | untrusted | semmle.label | untrusted | -| test.go:48:15:48:41 | call to UserAgent | semmle.label | call to UserAgent | -| test.go:49:12:49:20 | untrusted | semmle.label | untrusted | -| test.go:54:15:54:41 | call to UserAgent | semmle.label | call to UserAgent | -| test.go:56:31:56:39 | untrusted | semmle.label | untrusted | -| test.go:60:15:60:41 | call to UserAgent | semmle.label | call to UserAgent | -| test.go:62:19:62:27 | untrusted | semmle.label | untrusted | +| test.go:44:16:44:24 | untrusted | semmle.label | untrusted | +| test.go:44:27:44:36 | untrusted2 | semmle.label | untrusted2 | +| test.go:45:12:45:20 | untrusted | semmle.label | untrusted | +| test.go:46:14:46:22 | untrusted | semmle.label | untrusted | +| test.go:46:25:46:34 | untrusted2 | semmle.label | untrusted2 | +| test.go:50:15:50:41 | call to UserAgent | semmle.label | call to UserAgent | +| test.go:52:12:52:20 | untrusted | semmle.label | untrusted | +| test.go:57:15:57:41 | call to UserAgent | semmle.label | call to UserAgent | +| test.go:59:31:59:39 | untrusted | semmle.label | untrusted | +| test.go:63:15:63:41 | call to UserAgent | semmle.label | call to UserAgent | +| test.go:65:19:65:27 | untrusted | semmle.label | untrusted | subpaths diff --git a/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/StoredXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/StoredXss.expected index 363a42b91d7..861e3e97ed1 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/StoredXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/StoredXss.expected @@ -1,111 +1,111 @@ edges -| test.go:77:13:77:16 | &... | test.go:78:13:78:29 | type conversion | provenance | | -| test.go:77:13:77:16 | &... | test.go:79:13:79:43 | type conversion | provenance | | -| test.go:82:22:82:26 | &... | test.go:83:13:83:30 | type conversion | provenance | | -| test.go:86:21:86:25 | &... | test.go:87:13:87:30 | type conversion | provenance | | -| test.go:92:20:92:36 | call to Value | test.go:92:13:92:37 | type conversion | provenance | | -| test.go:93:20:93:39 | call to RawValue | test.go:93:13:93:49 | type conversion | provenance | | -| test.go:94:20:94:37 | call to String | test.go:94:13:94:38 | type conversion | provenance | | +| test.go:80:13:80:16 | &... | test.go:81:13:81:29 | type conversion | provenance | | +| test.go:80:13:80:16 | &... | test.go:82:13:82:43 | type conversion | provenance | | +| test.go:85:22:85:26 | &... | test.go:86:13:86:30 | type conversion | provenance | | +| test.go:89:21:89:25 | &... | test.go:90:13:90:30 | type conversion | provenance | | | test.go:95:20:95:36 | call to Value | test.go:95:13:95:37 | type conversion | provenance | | | test.go:96:20:96:39 | call to RawValue | test.go:96:13:96:49 | type conversion | provenance | | | test.go:97:20:97:37 | call to String | test.go:97:13:97:38 | type conversion | provenance | | -| test.go:98:20:98:37 | call to Value | test.go:98:13:98:38 | type conversion | provenance | | -| test.go:99:20:99:40 | call to RawValue | test.go:99:13:99:50 | type conversion | provenance | | -| test.go:100:20:100:38 | call to String | test.go:100:13:100:39 | type conversion | provenance | | -| test.go:106:9:106:13 | &... | test.go:107:13:107:33 | type conversion | provenance | | -| test.go:110:9:110:12 | &... | test.go:111:13:111:29 | type conversion | provenance | | -| test.go:114:12:114:19 | &... | test.go:115:13:115:48 | type conversion | provenance | | -| test.go:118:16:118:24 | &... | test.go:119:13:119:43 | type conversion | provenance | | -| test.go:122:16:122:23 | &... | test.go:123:13:123:39 | type conversion | provenance | | -| test.go:126:15:126:24 | &... | test.go:127:13:127:47 | type conversion | provenance | | -| test.go:130:18:130:30 | &... | test.go:131:13:131:38 | type conversion | provenance | | -| test.go:137:12:137:19 | &... | test.go:138:13:138:48 | type conversion | provenance | | -| test.go:141:16:141:24 | &... | test.go:142:13:142:43 | type conversion | provenance | | -| test.go:145:16:145:23 | &... | test.go:146:13:146:39 | type conversion | provenance | | -| test.go:149:15:149:24 | &... | test.go:150:13:150:47 | type conversion | provenance | | -| test.go:153:18:153:30 | &... | test.go:154:13:154:38 | type conversion | provenance | | -| test.go:157:14:157:22 | &... | test.go:158:13:158:28 | type conversion | provenance | | -| test.go:161:15:161:24 | &... | test.go:162:13:162:32 | type conversion | provenance | | +| test.go:98:20:98:36 | call to Value | test.go:98:13:98:37 | type conversion | provenance | | +| test.go:99:20:99:39 | call to RawValue | test.go:99:13:99:49 | type conversion | provenance | | +| test.go:100:20:100:37 | call to String | test.go:100:13:100:38 | type conversion | provenance | | +| test.go:101:20:101:37 | call to Value | test.go:101:13:101:38 | type conversion | provenance | | +| test.go:102:20:102:40 | call to RawValue | test.go:102:13:102:50 | type conversion | provenance | | +| test.go:103:20:103:38 | call to String | test.go:103:13:103:39 | type conversion | provenance | | +| test.go:109:9:109:13 | &... | test.go:110:13:110:33 | type conversion | provenance | | +| test.go:113:9:113:12 | &... | test.go:114:13:114:29 | type conversion | provenance | | +| test.go:117:12:117:19 | &... | test.go:118:13:118:48 | type conversion | provenance | | +| test.go:121:16:121:24 | &... | test.go:122:13:122:43 | type conversion | provenance | | +| test.go:125:16:125:23 | &... | test.go:126:13:126:39 | type conversion | provenance | | +| test.go:129:15:129:24 | &... | test.go:130:13:130:47 | type conversion | provenance | | +| test.go:133:18:133:30 | &... | test.go:134:13:134:38 | type conversion | provenance | | +| test.go:140:12:140:19 | &... | test.go:141:13:141:48 | type conversion | provenance | | +| test.go:144:16:144:24 | &... | test.go:145:13:145:43 | type conversion | provenance | | +| test.go:148:16:148:23 | &... | test.go:149:13:149:39 | type conversion | provenance | | +| test.go:152:15:152:24 | &... | test.go:153:13:153:47 | type conversion | provenance | | +| test.go:156:18:156:30 | &... | test.go:157:13:157:38 | type conversion | provenance | | +| test.go:160:14:160:22 | &... | test.go:161:13:161:28 | type conversion | provenance | | +| test.go:164:15:164:24 | &... | test.go:165:13:165:32 | type conversion | provenance | | nodes -| test.go:77:13:77:16 | &... | semmle.label | &... | -| test.go:78:13:78:29 | type conversion | semmle.label | type conversion | -| test.go:79:13:79:43 | type conversion | semmle.label | type conversion | -| test.go:82:22:82:26 | &... | semmle.label | &... | -| test.go:83:13:83:30 | type conversion | semmle.label | type conversion | -| test.go:86:21:86:25 | &... | semmle.label | &... | -| test.go:87:13:87:30 | type conversion | semmle.label | type conversion | -| test.go:92:13:92:37 | type conversion | semmle.label | type conversion | -| test.go:92:20:92:36 | call to Value | semmle.label | call to Value | -| test.go:93:13:93:49 | type conversion | semmle.label | type conversion | -| test.go:93:20:93:39 | call to RawValue | semmle.label | call to RawValue | -| test.go:94:13:94:38 | type conversion | semmle.label | type conversion | -| test.go:94:20:94:37 | call to String | semmle.label | call to String | +| test.go:80:13:80:16 | &... | semmle.label | &... | +| test.go:81:13:81:29 | type conversion | semmle.label | type conversion | +| test.go:82:13:82:43 | type conversion | semmle.label | type conversion | +| test.go:85:22:85:26 | &... | semmle.label | &... | +| test.go:86:13:86:30 | type conversion | semmle.label | type conversion | +| test.go:89:21:89:25 | &... | semmle.label | &... | +| test.go:90:13:90:30 | type conversion | semmle.label | type conversion | | test.go:95:13:95:37 | type conversion | semmle.label | type conversion | | test.go:95:20:95:36 | call to Value | semmle.label | call to Value | | test.go:96:13:96:49 | type conversion | semmle.label | type conversion | | test.go:96:20:96:39 | call to RawValue | semmle.label | call to RawValue | | test.go:97:13:97:38 | type conversion | semmle.label | type conversion | | test.go:97:20:97:37 | call to String | semmle.label | call to String | -| test.go:98:13:98:38 | type conversion | semmle.label | type conversion | -| test.go:98:20:98:37 | call to Value | semmle.label | call to Value | -| test.go:99:13:99:50 | type conversion | semmle.label | type conversion | -| test.go:99:20:99:40 | call to RawValue | semmle.label | call to RawValue | -| test.go:100:13:100:39 | type conversion | semmle.label | type conversion | -| test.go:100:20:100:38 | call to String | semmle.label | call to String | -| test.go:106:9:106:13 | &... | semmle.label | &... | -| test.go:107:13:107:33 | type conversion | semmle.label | type conversion | -| test.go:110:9:110:12 | &... | semmle.label | &... | -| test.go:111:13:111:29 | type conversion | semmle.label | type conversion | -| test.go:114:12:114:19 | &... | semmle.label | &... | -| test.go:115:13:115:48 | type conversion | semmle.label | type conversion | -| test.go:118:16:118:24 | &... | semmle.label | &... | -| test.go:119:13:119:43 | type conversion | semmle.label | type conversion | -| test.go:122:16:122:23 | &... | semmle.label | &... | -| test.go:123:13:123:39 | type conversion | semmle.label | type conversion | -| test.go:126:15:126:24 | &... | semmle.label | &... | -| test.go:127:13:127:47 | type conversion | semmle.label | type conversion | -| test.go:130:18:130:30 | &... | semmle.label | &... | -| test.go:131:13:131:38 | type conversion | semmle.label | type conversion | -| test.go:137:12:137:19 | &... | semmle.label | &... | -| test.go:138:13:138:48 | type conversion | semmle.label | type conversion | -| test.go:141:16:141:24 | &... | semmle.label | &... | -| test.go:142:13:142:43 | type conversion | semmle.label | type conversion | -| test.go:145:16:145:23 | &... | semmle.label | &... | -| test.go:146:13:146:39 | type conversion | semmle.label | type conversion | -| test.go:149:15:149:24 | &... | semmle.label | &... | -| test.go:150:13:150:47 | type conversion | semmle.label | type conversion | -| test.go:153:18:153:30 | &... | semmle.label | &... | -| test.go:154:13:154:38 | type conversion | semmle.label | type conversion | -| test.go:157:14:157:22 | &... | semmle.label | &... | -| test.go:158:13:158:28 | type conversion | semmle.label | type conversion | -| test.go:161:15:161:24 | &... | semmle.label | &... | -| test.go:162:13:162:32 | type conversion | semmle.label | type conversion | +| test.go:98:13:98:37 | type conversion | semmle.label | type conversion | +| test.go:98:20:98:36 | call to Value | semmle.label | call to Value | +| test.go:99:13:99:49 | type conversion | semmle.label | type conversion | +| test.go:99:20:99:39 | call to RawValue | semmle.label | call to RawValue | +| test.go:100:13:100:38 | type conversion | semmle.label | type conversion | +| test.go:100:20:100:37 | call to String | semmle.label | call to String | +| test.go:101:13:101:38 | type conversion | semmle.label | type conversion | +| test.go:101:20:101:37 | call to Value | semmle.label | call to Value | +| test.go:102:13:102:50 | type conversion | semmle.label | type conversion | +| test.go:102:20:102:40 | call to RawValue | semmle.label | call to RawValue | +| test.go:103:13:103:39 | type conversion | semmle.label | type conversion | +| test.go:103:20:103:38 | call to String | semmle.label | call to String | +| test.go:109:9:109:13 | &... | semmle.label | &... | +| test.go:110:13:110:33 | type conversion | semmle.label | type conversion | +| test.go:113:9:113:12 | &... | semmle.label | &... | +| test.go:114:13:114:29 | type conversion | semmle.label | type conversion | +| test.go:117:12:117:19 | &... | semmle.label | &... | +| test.go:118:13:118:48 | type conversion | semmle.label | type conversion | +| test.go:121:16:121:24 | &... | semmle.label | &... | +| test.go:122:13:122:43 | type conversion | semmle.label | type conversion | +| test.go:125:16:125:23 | &... | semmle.label | &... | +| test.go:126:13:126:39 | type conversion | semmle.label | type conversion | +| test.go:129:15:129:24 | &... | semmle.label | &... | +| test.go:130:13:130:47 | type conversion | semmle.label | type conversion | +| test.go:133:18:133:30 | &... | semmle.label | &... | +| test.go:134:13:134:38 | type conversion | semmle.label | type conversion | +| test.go:140:12:140:19 | &... | semmle.label | &... | +| test.go:141:13:141:48 | type conversion | semmle.label | type conversion | +| test.go:144:16:144:24 | &... | semmle.label | &... | +| test.go:145:13:145:43 | type conversion | semmle.label | type conversion | +| test.go:148:16:148:23 | &... | semmle.label | &... | +| test.go:149:13:149:39 | type conversion | semmle.label | type conversion | +| test.go:152:15:152:24 | &... | semmle.label | &... | +| test.go:153:13:153:47 | type conversion | semmle.label | type conversion | +| test.go:156:18:156:30 | &... | semmle.label | &... | +| test.go:157:13:157:38 | type conversion | semmle.label | type conversion | +| test.go:160:14:160:22 | &... | semmle.label | &... | +| test.go:161:13:161:28 | type conversion | semmle.label | type conversion | +| test.go:164:15:164:24 | &... | semmle.label | &... | +| test.go:165:13:165:32 | type conversion | semmle.label | type conversion | subpaths #select -| test.go:78:13:78:29 | type conversion | test.go:77:13:77:16 | &... | test.go:78:13:78:29 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:77:13:77:16 | &... | stored value | -| test.go:79:13:79:43 | type conversion | test.go:77:13:77:16 | &... | test.go:79:13:79:43 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:77:13:77:16 | &... | stored value | -| test.go:83:13:83:30 | type conversion | test.go:82:22:82:26 | &... | test.go:83:13:83:30 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:82:22:82:26 | &... | stored value | -| test.go:87:13:87:30 | type conversion | test.go:86:21:86:25 | &... | test.go:87:13:87:30 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:86:21:86:25 | &... | stored value | -| test.go:92:13:92:37 | type conversion | test.go:92:20:92:36 | call to Value | test.go:92:13:92:37 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:92:20:92:36 | call to Value | stored value | -| test.go:93:13:93:49 | type conversion | test.go:93:20:93:39 | call to RawValue | test.go:93:13:93:49 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:93:20:93:39 | call to RawValue | stored value | -| test.go:94:13:94:38 | type conversion | test.go:94:20:94:37 | call to String | test.go:94:13:94:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:94:20:94:37 | call to String | stored value | +| test.go:81:13:81:29 | type conversion | test.go:80:13:80:16 | &... | test.go:81:13:81:29 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:80:13:80:16 | &... | stored value | +| test.go:82:13:82:43 | type conversion | test.go:80:13:80:16 | &... | test.go:82:13:82:43 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:80:13:80:16 | &... | stored value | +| test.go:86:13:86:30 | type conversion | test.go:85:22:85:26 | &... | test.go:86:13:86:30 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:85:22:85:26 | &... | stored value | +| test.go:90:13:90:30 | type conversion | test.go:89:21:89:25 | &... | test.go:90:13:90:30 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:89:21:89:25 | &... | stored value | | test.go:95:13:95:37 | type conversion | test.go:95:20:95:36 | call to Value | test.go:95:13:95:37 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:95:20:95:36 | call to Value | stored value | | test.go:96:13:96:49 | type conversion | test.go:96:20:96:39 | call to RawValue | test.go:96:13:96:49 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:96:20:96:39 | call to RawValue | stored value | | test.go:97:13:97:38 | type conversion | test.go:97:20:97:37 | call to String | test.go:97:13:97:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:97:20:97:37 | call to String | stored value | -| test.go:98:13:98:38 | type conversion | test.go:98:20:98:37 | call to Value | test.go:98:13:98:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:98:20:98:37 | call to Value | stored value | -| test.go:99:13:99:50 | type conversion | test.go:99:20:99:40 | call to RawValue | test.go:99:13:99:50 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:99:20:99:40 | call to RawValue | stored value | -| test.go:100:13:100:39 | type conversion | test.go:100:20:100:38 | call to String | test.go:100:13:100:39 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:100:20:100:38 | call to String | stored value | -| test.go:107:13:107:33 | type conversion | test.go:106:9:106:13 | &... | test.go:107:13:107:33 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:106:9:106:13 | &... | stored value | -| test.go:111:13:111:29 | type conversion | test.go:110:9:110:12 | &... | test.go:111:13:111:29 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:110:9:110:12 | &... | stored value | -| test.go:115:13:115:48 | type conversion | test.go:114:12:114:19 | &... | test.go:115:13:115:48 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:114:12:114:19 | &... | stored value | -| test.go:119:13:119:43 | type conversion | test.go:118:16:118:24 | &... | test.go:119:13:119:43 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:118:16:118:24 | &... | stored value | -| test.go:123:13:123:39 | type conversion | test.go:122:16:122:23 | &... | test.go:123:13:123:39 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:122:16:122:23 | &... | stored value | -| test.go:127:13:127:47 | type conversion | test.go:126:15:126:24 | &... | test.go:127:13:127:47 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:126:15:126:24 | &... | stored value | -| test.go:131:13:131:38 | type conversion | test.go:130:18:130:30 | &... | test.go:131:13:131:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:130:18:130:30 | &... | stored value | -| test.go:138:13:138:48 | type conversion | test.go:137:12:137:19 | &... | test.go:138:13:138:48 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:137:12:137:19 | &... | stored value | -| test.go:142:13:142:43 | type conversion | test.go:141:16:141:24 | &... | test.go:142:13:142:43 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:141:16:141:24 | &... | stored value | -| test.go:146:13:146:39 | type conversion | test.go:145:16:145:23 | &... | test.go:146:13:146:39 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:145:16:145:23 | &... | stored value | -| test.go:150:13:150:47 | type conversion | test.go:149:15:149:24 | &... | test.go:150:13:150:47 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:149:15:149:24 | &... | stored value | -| test.go:154:13:154:38 | type conversion | test.go:153:18:153:30 | &... | test.go:154:13:154:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:153:18:153:30 | &... | stored value | -| test.go:158:13:158:28 | type conversion | test.go:157:14:157:22 | &... | test.go:158:13:158:28 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:157:14:157:22 | &... | stored value | -| test.go:162:13:162:32 | type conversion | test.go:161:15:161:24 | &... | test.go:162:13:162:32 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:161:15:161:24 | &... | stored value | +| test.go:98:13:98:37 | type conversion | test.go:98:20:98:36 | call to Value | test.go:98:13:98:37 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:98:20:98:36 | call to Value | stored value | +| test.go:99:13:99:49 | type conversion | test.go:99:20:99:39 | call to RawValue | test.go:99:13:99:49 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:99:20:99:39 | call to RawValue | stored value | +| test.go:100:13:100:38 | type conversion | test.go:100:20:100:37 | call to String | test.go:100:13:100:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:100:20:100:37 | call to String | stored value | +| test.go:101:13:101:38 | type conversion | test.go:101:20:101:37 | call to Value | test.go:101:13:101:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:101:20:101:37 | call to Value | stored value | +| test.go:102:13:102:50 | type conversion | test.go:102:20:102:40 | call to RawValue | test.go:102:13:102:50 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:102:20:102:40 | call to RawValue | stored value | +| test.go:103:13:103:39 | type conversion | test.go:103:20:103:38 | call to String | test.go:103:13:103:39 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:103:20:103:38 | call to String | stored value | +| test.go:110:13:110:33 | type conversion | test.go:109:9:109:13 | &... | test.go:110:13:110:33 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:109:9:109:13 | &... | stored value | +| test.go:114:13:114:29 | type conversion | test.go:113:9:113:12 | &... | test.go:114:13:114:29 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:113:9:113:12 | &... | stored value | +| test.go:118:13:118:48 | type conversion | test.go:117:12:117:19 | &... | test.go:118:13:118:48 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:117:12:117:19 | &... | stored value | +| test.go:122:13:122:43 | type conversion | test.go:121:16:121:24 | &... | test.go:122:13:122:43 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:121:16:121:24 | &... | stored value | +| test.go:126:13:126:39 | type conversion | test.go:125:16:125:23 | &... | test.go:126:13:126:39 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:125:16:125:23 | &... | stored value | +| test.go:130:13:130:47 | type conversion | test.go:129:15:129:24 | &... | test.go:130:13:130:47 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:129:15:129:24 | &... | stored value | +| test.go:134:13:134:38 | type conversion | test.go:133:18:133:30 | &... | test.go:134:13:134:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:133:18:133:30 | &... | stored value | +| test.go:141:13:141:48 | type conversion | test.go:140:12:140:19 | &... | test.go:141:13:141:48 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:140:12:140:19 | &... | stored value | +| test.go:145:13:145:43 | type conversion | test.go:144:16:144:24 | &... | test.go:145:13:145:43 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:144:16:144:24 | &... | stored value | +| test.go:149:13:149:39 | type conversion | test.go:148:16:148:23 | &... | test.go:149:13:149:39 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:148:16:148:23 | &... | stored value | +| test.go:153:13:153:47 | type conversion | test.go:152:15:152:24 | &... | test.go:153:13:153:47 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:152:15:152:24 | &... | stored value | +| test.go:157:13:157:38 | type conversion | test.go:156:18:156:30 | &... | test.go:157:13:157:38 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:156:18:156:30 | &... | stored value | +| test.go:161:13:161:28 | type conversion | test.go:160:14:160:22 | &... | test.go:161:13:161:28 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:160:14:160:22 | &... | stored value | +| test.go:165:13:165:32 | type conversion | test.go:164:15:164:24 | &... | test.go:165:13:165:32 | type conversion | Stored cross-site scripting vulnerability due to $@. | test.go:164:15:164:24 | &... | stored value | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/test.go b/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/test.go index 6e590a12276..cce152e57ef 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/test.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/test.go @@ -1,65 +1,68 @@ package test import ( - "github.com/astaxie/beego/orm" "net/http" + + "github.com/astaxie/beego/orm" ) // BAD: using untrusted data in SQL queries func testDbMethods(bdb *orm.DB, untrustedSource *http.Request) { untrusted := untrustedSource.UserAgent() - bdb.Exec(untrusted) - bdb.ExecContext(nil, untrusted) - bdb.Prepare(untrusted) - bdb.PrepareContext(nil, untrusted) - bdb.Query(untrusted) - bdb.QueryContext(nil, untrusted) - bdb.QueryRow(untrusted) - bdb.QueryRowContext(nil, untrusted) + bdb.Exec(untrusted) // $ querystring=untrusted + bdb.ExecContext(nil, untrusted) // $ querystring=untrusted + bdb.Prepare(untrusted) // $ querystring=untrusted + bdb.PrepareContext(nil, untrusted) // $ querystring=untrusted + bdb.Query(untrusted) // $ querystring=untrusted + bdb.QueryContext(nil, untrusted) // $ querystring=untrusted + bdb.QueryRow(untrusted) // $ querystring=untrusted + bdb.QueryRowContext(nil, untrusted) // $ querystring=untrusted } // BAD: using untrusted data to build SQL queries (QueryBuilder does not sanitize its arguments) func testQueryBuilderMethods(qb orm.QueryBuilder, untrustedSource *http.Request) { untrusted := untrustedSource.UserAgent() + untrusted2 := untrustedSource.UserAgent() - qb.Select(untrusted) - qb.From(untrusted) - qb.InnerJoin(untrusted) - qb.LeftJoin(untrusted) - qb.RightJoin(untrusted) - qb.On(untrusted) - qb.Where(untrusted) - qb.And(untrusted) - qb.Or(untrusted) - qb.In(untrusted) - qb.OrderBy(untrusted) - qb.GroupBy(untrusted) - qb.Having(untrusted) - qb.Update(untrusted) - qb.Set(untrusted) - qb.Delete(untrusted) - qb.InsertInto(untrusted, untrusted) - qb.Values(untrusted) - qb.Subquery(untrusted, untrusted) + qb.Select(untrusted) // $ querystring=untrusted + qb.From(untrusted) // $ querystring=untrusted + qb.InnerJoin(untrusted) // $ querystring=untrusted + qb.LeftJoin(untrusted) // $ querystring=untrusted + qb.RightJoin(untrusted) // $ querystring=untrusted + qb.On(untrusted) // $ querystring=untrusted + qb.Where(untrusted) // $ querystring=untrusted + qb.And(untrusted) // $ querystring=untrusted + qb.Or(untrusted) // $ querystring=untrusted + qb.In(untrusted) // $ querystring=untrusted + qb.OrderBy(untrusted) // $ querystring=untrusted + qb.GroupBy(untrusted) // $ querystring=untrusted + qb.Having(untrusted) // $ querystring=untrusted + qb.Update(untrusted) // $ querystring=untrusted + qb.Set(untrusted) // $ querystring=untrusted + qb.Delete(untrusted) // $ querystring=untrusted + qb.InsertInto(untrusted, untrusted2) // $ querystring=untrusted querystring=untrusted2 + qb.Values(untrusted) // $ querystring=untrusted + qb.Subquery(untrusted, untrusted2) // $ querystring=untrusted querystring=untrusted2 } func testOrmerRaw(ormer orm.Ormer, untrustedSource *http.Request) { untrusted := untrustedSource.UserAgent() - ormer.Raw(untrusted) // BAD: using an untrusted string as a query - ormer.Raw("FROM ? SELECT ?", untrusted, untrusted) // GOOD: untrusted string used in argument context + untrusted2 := untrustedSource.UserAgent() + ormer.Raw(untrusted, untrusted2) // $ querystring=untrusted // BAD: using an untrusted string as a query + ormer.Raw("FROM ? SELECT ?", untrusted, untrusted2) // $ querystring="FROM ? SELECT ?" // GOOD: untrusted string used in argument context } func testFilterRaw(querySeter orm.QuerySeter, untrustedSource *http.Request) { untrusted := untrustedSource.UserAgent() - querySeter.FilterRaw(untrusted, "safe") // GOOD: untrusted used as a column name - querySeter.FilterRaw("safe", untrusted) // BAD: untrusted used as a SQL fragment + querySeter.FilterRaw(untrusted, "safe") // $ querystring="safe" // GOOD: untrusted used as a column name + querySeter.FilterRaw("safe", untrusted) // $ querystring=untrusted // BAD: untrusted used as a SQL fragment } func testConditionRaw(cond orm.Condition, untrustedSource *http.Request) { untrusted := untrustedSource.UserAgent() - cond.Raw(untrusted, "safe") // GOOD: untrusted used as a column name - cond.Raw("safe", untrusted) // BAD: untrusted used as a SQL fragment + cond.Raw(untrusted, "safe") // $ querystring="safe" // GOOD: untrusted used as a column name + cond.Raw("safe", untrusted) // $ querystring=untrusted // BAD: untrusted used as a SQL fragment } type SubStruct struct { From ad213579a1eb099e3c76e86a735dd560f95322b3 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 16:46:02 +0100 Subject: [PATCH 070/258] Convert Beego orm sql-injection sinks to MaD --- ...ithub.com.beego.beego.client.orm.model.yml | 42 +++++++++ go/ql/lib/semmle/go/frameworks/BeegoOrm.qll | 51 ----------- .../frameworks/BeegoOrm/SqlInjection.expected | 87 ++++++++++++------- 3 files changed, 96 insertions(+), 84 deletions(-) create mode 100644 go/ql/lib/ext/github.com.beego.beego.client.orm.model.yml diff --git a/go/ql/lib/ext/github.com.beego.beego.client.orm.model.yml b/go/ql/lib/ext/github.com.beego.beego.client.orm.model.yml new file mode 100644 index 00000000000..9e8849423eb --- /dev/null +++ b/go/ql/lib/ext/github.com.beego.beego.client.orm.model.yml @@ -0,0 +1,42 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: packageGrouping + data: + - ["beego-orm", "github.com/beego/beego/client/orm"] + - ["beego-orm", "github.com/astaxie/beego/orm"] + - ["beego-orm", "github.com/beego/beego/orm"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["group:beego-orm", "Condition", False, "Raw", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", False, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", False, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", False, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", False, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", False, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", False, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", False, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "DB", False, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["group:beego-orm", "Ormer", False, "Raw", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "And", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Delete", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "From", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "GroupBy", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Having", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "In", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "InnerJoin", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "InsertInto", "", "", "Argument[0..1]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "LeftJoin", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "On", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Or", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "OrderBy", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "RightJoin", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Select", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Set", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Subquery", "", "", "Argument[0..1]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Update", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Values", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QueryBuilder", False, "Where", "", "", "Argument[0]", "sql-injection", "manual"] + - ["group:beego-orm", "QuerySeter", False, "FilterRaw", "", "", "Argument[1]", "sql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/BeegoOrm.qll b/go/ql/lib/semmle/go/frameworks/BeegoOrm.qll index c1de0cf4244..925b0f19fa3 100644 --- a/go/ql/lib/semmle/go/frameworks/BeegoOrm.qll +++ b/go/ql/lib/semmle/go/frameworks/BeegoOrm.qll @@ -14,57 +14,6 @@ module BeegoOrm { /** Gets the package name `github.com/astaxie/beego/orm`. */ string packagePath() { result = package("github.com/astaxie/beego", "orm") } - private class DbSink extends SQL::QueryString::Range { - DbSink() { - exists(Method m, string methodName, int argNum | - m.hasQualifiedName(packagePath(), "DB", methodName) and - ( - methodName = ["Exec", "Prepare", "Query", "QueryRow"] and - argNum = 0 - or - methodName = ["ExecContext", "PrepareContext", "QueryContext", "QueryRowContext"] and - argNum = 1 - ) - | - this = m.getACall().getArgument(argNum) - ) - } - } - - private class QueryBuilderSink extends SQL::QueryString::Range { - // Note this class doesn't do any escaping, unlike the true ORM part of the package - QueryBuilderSink() { - exists(Method impl | impl.implements(packagePath(), "QueryBuilder", _) | - this = impl.getACall().getASyntacticArgument() - ) and - this.getType().getUnderlyingType() instanceof StringType - } - } - - private class OrmerRawSink extends SQL::QueryString::Range { - OrmerRawSink() { - exists(Method impl | impl.implements(packagePath(), "Ormer", "Raw") | - this = impl.getACall().getArgument(0) - ) - } - } - - private class QuerySeterFilterRawSink extends SQL::QueryString::Range { - QuerySeterFilterRawSink() { - exists(Method impl | impl.implements(packagePath(), "QuerySeter", "FilterRaw") | - this = impl.getACall().getArgument(1) - ) - } - } - - private class ConditionRawSink extends SQL::QueryString::Range { - ConditionRawSink() { - exists(Method impl | impl.implements(packagePath(), "Condition", "Raw") | - this = impl.getACall().getArgument(1) - ) - } - } - private class OrmerSource extends StoredXss::Source { OrmerSource() { exists(Method impl | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/SqlInjection.expected b/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/SqlInjection.expected index 6cc1e09486b..992c1387103 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/SqlInjection.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/BeegoOrm/SqlInjection.expected @@ -32,40 +32,61 @@ | test.go:59:31:59:39 | untrusted | test.go:57:15:57:41 | call to UserAgent | test.go:59:31:59:39 | untrusted | This query depends on a $@. | test.go:57:15:57:41 | call to UserAgent | user-provided value | | test.go:65:19:65:27 | untrusted | test.go:63:15:63:41 | call to UserAgent | test.go:65:19:65:27 | untrusted | This query depends on a $@. | test.go:63:15:63:41 | call to UserAgent | user-provided value | edges -| test.go:11:15:11:41 | call to UserAgent | test.go:13:11:13:19 | untrusted | provenance | Src:MaD:1 | -| test.go:11:15:11:41 | call to UserAgent | test.go:14:23:14:31 | untrusted | provenance | Src:MaD:1 | -| test.go:11:15:11:41 | call to UserAgent | test.go:15:14:15:22 | untrusted | provenance | Src:MaD:1 | -| test.go:11:15:11:41 | call to UserAgent | test.go:16:26:16:34 | untrusted | provenance | Src:MaD:1 | -| test.go:11:15:11:41 | call to UserAgent | test.go:17:12:17:20 | untrusted | provenance | Src:MaD:1 | -| test.go:11:15:11:41 | call to UserAgent | test.go:18:24:18:32 | untrusted | provenance | Src:MaD:1 | -| test.go:11:15:11:41 | call to UserAgent | test.go:19:15:19:23 | untrusted | provenance | Src:MaD:1 | -| test.go:11:15:11:41 | call to UserAgent | test.go:20:27:20:35 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:28:12:28:20 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:29:10:29:18 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:30:15:30:23 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:31:14:31:22 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:32:15:32:23 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:33:8:33:16 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:34:11:34:19 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:35:9:35:17 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:36:8:36:16 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:37:8:37:16 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:38:13:38:21 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:39:13:39:21 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:40:12:40:20 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:41:12:41:20 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:42:9:42:17 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:43:12:43:20 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:44:16:44:24 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:45:12:45:20 | untrusted | provenance | Src:MaD:1 | -| test.go:25:15:25:41 | call to UserAgent | test.go:46:14:46:22 | untrusted | provenance | Src:MaD:1 | -| test.go:26:16:26:42 | call to UserAgent | test.go:44:27:44:36 | untrusted2 | provenance | Src:MaD:1 | -| test.go:26:16:26:42 | call to UserAgent | test.go:46:25:46:34 | untrusted2 | provenance | Src:MaD:1 | -| test.go:50:15:50:41 | call to UserAgent | test.go:52:12:52:20 | untrusted | provenance | Src:MaD:1 | -| test.go:57:15:57:41 | call to UserAgent | test.go:59:31:59:39 | untrusted | provenance | Src:MaD:1 | -| test.go:63:15:63:41 | call to UserAgent | test.go:65:19:65:27 | untrusted | provenance | Src:MaD:1 | +| test.go:11:15:11:41 | call to UserAgent | test.go:13:11:13:19 | untrusted | provenance | Src:MaD:22 Sink:MaD:2 | +| test.go:11:15:11:41 | call to UserAgent | test.go:14:23:14:31 | untrusted | provenance | Src:MaD:22 Sink:MaD:3 | +| test.go:11:15:11:41 | call to UserAgent | test.go:15:14:15:22 | untrusted | provenance | Src:MaD:22 Sink:MaD:4 | +| test.go:11:15:11:41 | call to UserAgent | test.go:16:26:16:34 | untrusted | provenance | Src:MaD:22 Sink:MaD:5 | +| test.go:11:15:11:41 | call to UserAgent | test.go:17:12:17:20 | untrusted | provenance | Src:MaD:22 Sink:MaD:6 | +| test.go:11:15:11:41 | call to UserAgent | test.go:18:24:18:32 | untrusted | provenance | Src:MaD:22 Sink:MaD:7 | +| test.go:11:15:11:41 | call to UserAgent | test.go:19:15:19:23 | untrusted | provenance | Src:MaD:22 Sink:MaD:8 | +| test.go:11:15:11:41 | call to UserAgent | test.go:20:27:20:35 | untrusted | provenance | Src:MaD:22 Sink:MaD:9 | +| test.go:25:15:25:41 | call to UserAgent | test.go:28:12:28:20 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:29:10:29:18 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:30:15:30:23 | untrusted | provenance | Src:MaD:22 Sink:MaD:13 | +| test.go:25:15:25:41 | call to UserAgent | test.go:31:14:31:22 | untrusted | provenance | Src:MaD:22 Sink:MaD:15 | +| test.go:25:15:25:41 | call to UserAgent | test.go:32:15:32:23 | untrusted | provenance | Src:MaD:22 Sink:MaD:18 | +| test.go:25:15:25:41 | call to UserAgent | test.go:33:8:33:16 | untrusted | provenance | Src:MaD:22 Sink:MaD:16 | +| test.go:25:15:25:41 | call to UserAgent | test.go:34:11:34:19 | untrusted | provenance | Src:MaD:22 Sink:MaD:20 | +| test.go:25:15:25:41 | call to UserAgent | test.go:35:9:35:17 | untrusted | provenance | Src:MaD:22 Sink:MaD:11 | +| test.go:25:15:25:41 | call to UserAgent | test.go:36:8:36:16 | untrusted | provenance | Src:MaD:22 Sink:MaD:17 | +| test.go:25:15:25:41 | call to UserAgent | test.go:37:8:37:16 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:38:13:38:21 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:39:13:39:21 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:40:12:40:20 | untrusted | provenance | Src:MaD:22 Sink:MaD:12 | +| test.go:25:15:25:41 | call to UserAgent | test.go:41:12:41:20 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:42:9:42:17 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:43:12:43:20 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:44:16:44:24 | untrusted | provenance | Src:MaD:22 Sink:MaD:14 | +| test.go:25:15:25:41 | call to UserAgent | test.go:45:12:45:20 | untrusted | provenance | Src:MaD:22 | +| test.go:25:15:25:41 | call to UserAgent | test.go:46:14:46:22 | untrusted | provenance | Src:MaD:22 Sink:MaD:19 | +| test.go:26:16:26:42 | call to UserAgent | test.go:44:27:44:36 | untrusted2 | provenance | Src:MaD:22 | +| test.go:26:16:26:42 | call to UserAgent | test.go:46:25:46:34 | untrusted2 | provenance | Src:MaD:22 Sink:MaD:19 | +| test.go:50:15:50:41 | call to UserAgent | test.go:52:12:52:20 | untrusted | provenance | Src:MaD:22 Sink:MaD:10 | +| test.go:57:15:57:41 | call to UserAgent | test.go:59:31:59:39 | untrusted | provenance | Src:MaD:22 Sink:MaD:21 | +| test.go:63:15:63:41 | call to UserAgent | test.go:65:19:65:27 | untrusted | provenance | Src:MaD:22 Sink:MaD:1 | models -| 1 | Source: net/http; Request; true; UserAgent; ; ; ReturnValue; remote; manual | +| 1 | Sink: group:beego-orm; Condition; false; Raw; ; ; Argument[1]; sql-injection; manual | +| 2 | Sink: group:beego-orm; DB; false; Exec; ; ; Argument[0]; sql-injection; manual | +| 3 | Sink: group:beego-orm; DB; false; ExecContext; ; ; Argument[1]; sql-injection; manual | +| 4 | Sink: group:beego-orm; DB; false; Prepare; ; ; Argument[0]; sql-injection; manual | +| 5 | Sink: group:beego-orm; DB; false; PrepareContext; ; ; Argument[1]; sql-injection; manual | +| 6 | Sink: group:beego-orm; DB; false; Query; ; ; Argument[0]; sql-injection; manual | +| 7 | Sink: group:beego-orm; DB; false; QueryContext; ; ; Argument[1]; sql-injection; manual | +| 8 | Sink: group:beego-orm; DB; false; QueryRow; ; ; Argument[0]; sql-injection; manual | +| 9 | Sink: group:beego-orm; DB; false; QueryRowContext; ; ; Argument[1]; sql-injection; manual | +| 10 | Sink: group:beego-orm; Ormer; false; Raw; ; ; Argument[0]; sql-injection; manual | +| 11 | Sink: group:beego-orm; QueryBuilder; false; And; ; ; Argument[0]; sql-injection; manual | +| 12 | Sink: group:beego-orm; QueryBuilder; false; Having; ; ; Argument[0]; sql-injection; manual | +| 13 | Sink: group:beego-orm; QueryBuilder; false; InnerJoin; ; ; Argument[0]; sql-injection; manual | +| 14 | Sink: group:beego-orm; QueryBuilder; false; InsertInto; ; ; Argument[0..1]; sql-injection; manual | +| 15 | Sink: group:beego-orm; QueryBuilder; false; LeftJoin; ; ; Argument[0]; sql-injection; manual | +| 16 | Sink: group:beego-orm; QueryBuilder; false; On; ; ; Argument[0]; sql-injection; manual | +| 17 | Sink: group:beego-orm; QueryBuilder; false; Or; ; ; Argument[0]; sql-injection; manual | +| 18 | Sink: group:beego-orm; QueryBuilder; false; RightJoin; ; ; Argument[0]; sql-injection; manual | +| 19 | Sink: group:beego-orm; QueryBuilder; false; Subquery; ; ; Argument[0..1]; sql-injection; manual | +| 20 | Sink: group:beego-orm; QueryBuilder; false; Where; ; ; Argument[0]; sql-injection; manual | +| 21 | Sink: group:beego-orm; QuerySeter; false; FilterRaw; ; ; Argument[1]; sql-injection; manual | +| 22 | Source: net/http; Request; true; UserAgent; ; ; ReturnValue; remote; manual | nodes | test.go:11:15:11:41 | call to UserAgent | semmle.label | call to UserAgent | | test.go:13:11:13:19 | untrusted | semmle.label | untrusted | From 501bb3eb56ace85259119ccf8cb4aeeaddbf1634 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 16:57:26 +0100 Subject: [PATCH 071/258] Convert database/sql sql-injection sinks to MaD --- go/ql/lib/ext/database.sql.model.yml | 28 +++++++++++++++++++ .../go/frameworks/stdlib/DatabaseSql.qll | 20 +------------ .../frameworks/XNetHtml/SqlInjection.expected | 9 +++--- 3 files changed, 34 insertions(+), 23 deletions(-) diff --git a/go/ql/lib/ext/database.sql.model.yml b/go/ql/lib/ext/database.sql.model.yml index e1083f6e49a..b8fb85bb893 100644 --- a/go/ql/lib/ext/database.sql.model.yml +++ b/go/ql/lib/ext/database.sql.model.yml @@ -1,4 +1,32 @@ extensions: + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["database/sql", "Conn", False, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Conn", False, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Conn", False, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Conn", False, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Conn", False, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Conn", False, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Conn", False, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Conn", False, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "DB", False, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "DB", False, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "DB", False, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "DB", False, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "DB", False, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "DB", False, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "DB", False, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "DB", False, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Tx", False, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Tx", False, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Tx", False, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Tx", False, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Tx", False, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Tx", False, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql", "Tx", False, "QueryRow", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql", "Tx", False, "QueryRowContext", "", "", "Argument[1]", "sql-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel diff --git a/go/ql/lib/semmle/go/frameworks/stdlib/DatabaseSql.qll b/go/ql/lib/semmle/go/frameworks/stdlib/DatabaseSql.qll index 845225af5bd..5f53ea2de8c 100644 --- a/go/ql/lib/semmle/go/frameworks/stdlib/DatabaseSql.qll +++ b/go/ql/lib/semmle/go/frameworks/stdlib/DatabaseSql.qll @@ -26,7 +26,7 @@ module DatabaseSql { override DataFlow::Node getAResult() { result = this.getResult(0) } override SQL::QueryString getAQueryString() { - result = this.getAnArgument() + result = this.getASyntacticArgument() or // attempt to resolve a `QueryString` for `Stmt`s using local data flow. t = "Stmt" and @@ -34,24 +34,6 @@ module DatabaseSql { } } - /** A query string used in an API function of the `database/sql` package. */ - private class QueryString extends SQL::QueryString::Range { - QueryString() { - exists(Method meth, string base, string t, string m, int n | - t = ["DB", "Tx", "Conn"] and - meth.hasQualifiedName("database/sql", t, m) and - this = meth.getACall().getArgument(n) - | - base = ["Exec", "Prepare", "Query", "QueryRow"] and - ( - m = base and n = 0 - or - m = base + "Context" and n = 1 - ) - ) - } - } - /** A query in the standard `database/sql/driver` package. */ private class DriverQuery extends SQL::Query::Range, DataFlow::MethodCallNode { DriverQuery() { diff --git a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected index 446695b259b..b7a66a6a903 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/SqlInjection.expected @@ -1,11 +1,12 @@ #select | test.go:57:11:57:41 | call to EscapeString | test.go:56:2:56:42 | ... := ...[0] | test.go:57:11:57:41 | call to EscapeString | This query depends on a $@. | test.go:56:2:56:42 | ... := ...[0] | user-provided value | edges -| test.go:56:2:56:42 | ... := ...[0] | test.go:57:29:57:40 | selection of Value | provenance | Src:MaD:2 | -| test.go:57:29:57:40 | selection of Value | test.go:57:11:57:41 | call to EscapeString | provenance | MaD:1 | +| test.go:56:2:56:42 | ... := ...[0] | test.go:57:29:57:40 | selection of Value | provenance | Src:MaD:3 | +| test.go:57:29:57:40 | selection of Value | test.go:57:11:57:41 | call to EscapeString | provenance | MaD:2 Sink:MaD:1 | models -| 1 | Summary: golang.org/x/net/html; ; false; EscapeString; ; ; Argument[0]; ReturnValue; taint; manual | -| 2 | Source: net/http; Request; true; Cookie; ; ; ReturnValue[0]; remote; manual | +| 1 | Sink: database/sql; DB; false; Query; ; ; Argument[0]; sql-injection; manual | +| 2 | Summary: golang.org/x/net/html; ; false; EscapeString; ; ; Argument[0]; ReturnValue; taint; manual | +| 3 | Source: net/http; Request; true; Cookie; ; ; ReturnValue[0]; remote; manual | nodes | test.go:56:2:56:42 | ... := ...[0] | semmle.label | ... := ...[0] | | test.go:57:11:57:41 | call to EscapeString | semmle.label | call to EscapeString | From c7859ecebffa91477c8da437bcf3f95b8c407298 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 21:29:41 +0100 Subject: [PATCH 072/258] Improve SQL tests Separate the tests for Squirrel and database/sql. Add tests for database/sql/driver. --- .../go/frameworks/SQL/database-sql-driver.go | 29 ++++++++ .../semmle/go/frameworks/SQL/database-sql.go | 67 +++++++++++++++++++ .../frameworks/SQL/{main.go => squirrel.go} | 62 ----------------- 3 files changed, 96 insertions(+), 62 deletions(-) create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/database-sql-driver.go create mode 100644 go/ql/test/library-tests/semmle/go/frameworks/SQL/database-sql.go rename go/ql/test/library-tests/semmle/go/frameworks/SQL/{main.go => squirrel.go} (59%) diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/database-sql-driver.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/database-sql-driver.go new file mode 100644 index 00000000000..e69df493b84 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/database-sql-driver.go @@ -0,0 +1,29 @@ +package main + +import ( + "context" + "database/sql/driver" +) + +var ( + driver1 string + driver2 string + driver3 string + driver4 string + driver5 string + driver6 string +) + +func testDriver(ctx context.Context, execer driver.Execer, + execerContext driver.ExecerContext, + conn driver.Conn, + connContext driver.ConnPrepareContext, + queryer driver.Queryer, + queryerContext driver.QueryerContext) { + execer.Exec(driver1, nil) // $ query=driver1 + execerContext.ExecContext(ctx, driver2, nil) // $ query=driver2 + conn.Prepare(driver3) // $ querystring=driver3 + connContext.PrepareContext(ctx, driver4) // $ querystring=driver4 + queryer.Query(driver5, nil) // $ query=driver5 + queryerContext.QueryContext(ctx, driver6, nil) // $ query=driver6 +} diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/database-sql.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/database-sql.go new file mode 100644 index 00000000000..80fc869bb04 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/database-sql.go @@ -0,0 +1,67 @@ +package main + +//go:generate depstubber -vendor github.com/Masterminds/squirrel DeleteBuilder,InsertBuilder,SelectBuilder,UpdateBuilder Delete,Expr,Insert,Select,Update + +import ( + "context" + "database/sql" +) + +var ( + query1 string + query2 string + query3 string + query4 string + query5 string + query6 string + query7 string + query8 string + query11 string + query12 string + query13 string + query14 string + query15 string + query16 string + query17 string + query18 string + query21 string + query22 string + query23 string +) + +func test(db *sql.DB, ctx context.Context) { + db.Exec(query1) // $ query=query1 + db.ExecContext(ctx, query2) // $ query=query2 + db.Prepare(query3) // $ querystring=query3 + db.PrepareContext(ctx, query4) // $ querystring=query4 + db.Query(query5) // $ query=query5 + db.QueryContext(ctx, query6) // $ query=query6 + db.QueryRow(query7) // $ query=query7 + db.QueryRowContext(ctx, query8) // $ query=query8 +} + +func test2(tx *sql.Tx, query string, ctx context.Context) { + tx.Exec(query11) // $ query=query11 + tx.ExecContext(ctx, query12) // $ query=query12 + tx.Prepare(query13) // $ querystring=query13 + tx.PrepareContext(ctx, query14) // $ querystring=query14 + tx.Query(query15) // $ query=query15 + tx.QueryContext(ctx, query16) // $ query=query16 + tx.QueryRow(query17) // $ query=query17 + tx.QueryRowContext(ctx, query18) // $ query=query18 +} + +func test3(db *sql.DB, ctx context.Context) { + stmt1, _ := db.Prepare(query21) // $ SPURIOUS: querystring=query21 + stmt1.Exec() // $ MISSING: query=query21 + stmt2, _ := db.PrepareContext(ctx, query22) // $ SPURIOUS: querystring=query22 + stmt2.ExecContext(ctx) // $ MISSING: query=query22 + stmt3, _ := db.Prepare(query23) // $ SPURIOUS: querystring=query23 + runQuery(stmt3) +} + +func runQuery(stmt *sql.Stmt) { + stmt.Exec() // $ MISSING: query=query23 +} + +func main() {} diff --git a/go/ql/test/library-tests/semmle/go/frameworks/SQL/main.go b/go/ql/test/library-tests/semmle/go/frameworks/SQL/squirrel.go similarity index 59% rename from go/ql/test/library-tests/semmle/go/frameworks/SQL/main.go rename to go/ql/test/library-tests/semmle/go/frameworks/SQL/squirrel.go index 0af6e002806..3629b8087cb 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/SQL/main.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/SQL/squirrel.go @@ -3,45 +3,9 @@ package main //go:generate depstubber -vendor github.com/Masterminds/squirrel DeleteBuilder,InsertBuilder,SelectBuilder,UpdateBuilder Delete,Expr,Insert,Select,Update import ( - "context" - "database/sql" - "github.com/Masterminds/squirrel" ) -var ( - query1 string - query2 string - query3 string - query4 string - query5 string - query6 string - query7 string - query8 string - query11 string - query12 string - query13 string - query14 string - query15 string - query16 string - query17 string - query18 string - query21 string - query22 string - query23 string -) - -func test(db *sql.DB, ctx context.Context) { - db.Exec(query1) // $ query=query1 - db.ExecContext(ctx, query2) // $ query=query2 - db.Prepare(query3) // $ querystring=query3 - db.PrepareContext(ctx, query4) // $ querystring=query4 - db.Query(query5) // $ query=query5 - db.QueryContext(ctx, query6) // $ query=query6 - db.QueryRow(query7) // $ query=query7 - db.QueryRowContext(ctx, query8) // $ query=query8 -} - func squirrelTest(querypart string) { squirrel.Expr(querypart) // $ querystring=querypart deleteBuilder := squirrel.Delete(querypart) // $ querystring=querypart @@ -81,29 +45,3 @@ func squirrelTest(querypart string) { updateBuilder.Set(querypart, "") // $ querystring=querypart updateBuilder.Table(querypart) // $ querystring=querypart } - -func test2(tx *sql.Tx, query string, ctx context.Context) { - tx.Exec(query11) // $ query=query11 - tx.ExecContext(ctx, query12) // $ query=query12 - tx.Prepare(query13) // $ querystring=query13 - tx.PrepareContext(ctx, query14) // $ querystring=query14 - tx.Query(query15) // $ query=query15 - tx.QueryContext(ctx, query16) // $ query=query16 - tx.QueryRow(query17) // $ query=query17 - tx.QueryRowContext(ctx, query18) // $ query=query18 -} - -func test3(db *sql.DB, ctx context.Context) { - stmt1, _ := db.Prepare(query21) // $ SPURIOUS: querystring=query21 - stmt1.Exec() // $ MISSING: query=query21 - stmt2, _ := db.PrepareContext(ctx, query22) // $ SPURIOUS: querystring=query22 - stmt2.ExecContext(ctx) // $ MISSING: query=query22 - stmt3, _ := db.Prepare(query23) // $ SPURIOUS: querystring=query23 - runQuery(stmt3) -} - -func runQuery(stmt *sql.Stmt) { - stmt.Exec() // $ MISSING: query=query23 -} - -func main() {} From 652dd88c363c96c806d7517f39812749bbd2304b Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 21:35:07 +0100 Subject: [PATCH 073/258] Convert database/sql/driver sql-injection sinks to MaD --- go/ql/lib/ext/database.sql.driver.model.yml | 10 ++++++++ .../go/frameworks/stdlib/DatabaseSql.qll | 25 +------------------ 2 files changed, 11 insertions(+), 24 deletions(-) diff --git a/go/ql/lib/ext/database.sql.driver.model.yml b/go/ql/lib/ext/database.sql.driver.model.yml index c2d780bb7c8..50b699e4371 100644 --- a/go/ql/lib/ext/database.sql.driver.model.yml +++ b/go/ql/lib/ext/database.sql.driver.model.yml @@ -1,4 +1,14 @@ extensions: + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["database/sql/driver", "Execer", False, "Exec", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql/driver", "ExecerContext", False, "ExecContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql/driver", "Conn", False, "Prepare", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql/driver", "ConnPrepareContext", False, "PrepareContext", "", "", "Argument[1]", "sql-injection", "manual"] + - ["database/sql/driver", "Queryer", False, "Query", "", "", "Argument[0]", "sql-injection", "manual"] + - ["database/sql/driver", "QueryerContext", False, "QueryContext", "", "", "Argument[1]", "sql-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel diff --git a/go/ql/lib/semmle/go/frameworks/stdlib/DatabaseSql.qll b/go/ql/lib/semmle/go/frameworks/stdlib/DatabaseSql.qll index 5f53ea2de8c..f4132688796 100644 --- a/go/ql/lib/semmle/go/frameworks/stdlib/DatabaseSql.qll +++ b/go/ql/lib/semmle/go/frameworks/stdlib/DatabaseSql.qll @@ -60,36 +60,13 @@ module DatabaseSql { override DataFlow::Node getAResult() { result = this.getResult(0) } override SQL::QueryString getAQueryString() { - result = this.getAnArgument() + result = this.getASyntacticArgument() or this.getTarget().hasQualifiedName("database/sql/driver", "Stmt") and result = this.getReceiver().getAPredecessor*().(DataFlow::MethodCallNode).getAnArgument() } } - /** A query string used in an API function of the standard `database/sql/driver` package. */ - private class DriverQueryString extends SQL::QueryString::Range { - DriverQueryString() { - exists(Method meth, int n | - ( - meth.hasQualifiedName("database/sql/driver", "Execer", "Exec") and n = 0 - or - meth.hasQualifiedName("database/sql/driver", "ExecerContext", "ExecContext") and n = 1 - or - meth.hasQualifiedName("database/sql/driver", "Conn", "Prepare") and n = 0 - or - meth.hasQualifiedName("database/sql/driver", "ConnPrepareContext", "PrepareContext") and - n = 1 - or - meth.hasQualifiedName("database/sql/driver", "Queryer", "Query") and n = 0 - or - meth.hasQualifiedName("database/sql/driver", "QueryerContext", "QueryContext") and n = 1 - ) and - this = meth.getACall().getArgument(n) - ) - } - } - // These are expressed using TaintTracking::FunctionModel because varargs functions don't work with Models-as-Data sumamries yet. private class SqlMethodModels extends TaintTracking::FunctionModel, Method { FunctionInput inp; From ced000ae460f425697954eb238bc9a8c56cd64d7 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Fri, 16 Aug 2024 11:02:41 +0100 Subject: [PATCH 074/258] Add `Argument.getACorrespondingSyntacticArgument` --- go/ql/lib/semmle/go/Concepts.qll | 18 +++++----------- go/ql/lib/semmle/go/concepts/HTTP.qll | 8 +------ .../go/dataflow/internal/DataFlowNodes.qll | 21 ++++++++++++++----- go/ql/lib/semmle/go/frameworks/SQL.qll | 6 +----- .../go/frameworks/SystemCommandExecutors.qll | 6 +----- 5 files changed, 24 insertions(+), 35 deletions(-) diff --git a/go/ql/lib/semmle/go/Concepts.qll b/go/ql/lib/semmle/go/Concepts.qll index bb9ca12d0f7..8fd38a56e1c 100644 --- a/go/ql/lib/semmle/go/Concepts.qll +++ b/go/ql/lib/semmle/go/Concepts.qll @@ -121,11 +121,7 @@ private class DefaultFileSystemAccess extends FileSystemAccess::Range, DataFlow: } override DataFlow::Node getAPathArgument() { - not pathArgument instanceof DataFlow::ImplicitVarargsSlice and - result = pathArgument - or - pathArgument instanceof DataFlow::ImplicitVarargsSlice and - result = this.getAnImplicitVarargsArgument() + result = pathArgument.getACorrespondingSyntacticArgument() } } @@ -378,19 +374,15 @@ module LoggerCall { } private class DefaultLoggerCall extends LoggerCall::Range, DataFlow::CallNode { - DataFlow::ArgumentNode messageComponent; + DataFlow::ArgumentNode messageArgument; DefaultLoggerCall() { - sinkNode(messageComponent, "log-injection") and - this = messageComponent.getCall() + sinkNode(messageArgument, "log-injection") and + this = messageArgument.getCall() } override DataFlow::Node getAMessageComponent() { - not messageComponent instanceof DataFlow::ImplicitVarargsSlice and - result = messageComponent - or - messageComponent instanceof DataFlow::ImplicitVarargsSlice and - result = this.getAnImplicitVarargsArgument() + result = messageArgument.getACorrespondingSyntacticArgument() } } diff --git a/go/ql/lib/semmle/go/concepts/HTTP.qll b/go/ql/lib/semmle/go/concepts/HTTP.qll index 50ded3fb59c..9bf5b6a7ad8 100644 --- a/go/ql/lib/semmle/go/concepts/HTTP.qll +++ b/go/ql/lib/semmle/go/concepts/HTTP.qll @@ -332,13 +332,7 @@ module Http { ) } - override DataFlow::Node getUrl() { - not url instanceof DataFlow::ImplicitVarargsSlice and - result = url - or - url instanceof DataFlow::ImplicitVarargsSlice and - result = this.getAnImplicitVarargsArgument() - } + override DataFlow::Node getUrl() { result = url.getACorrespondingSyntacticArgument() } override Http::ResponseWriter getResponseWriter() { rw = -1 and result.getANode() = this.getReceiver() diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll index 947491b44bb..6b088f44e73 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll @@ -841,11 +841,7 @@ module Public { or preupd = getAWrittenNode() or - ( - preupd instanceof ArgumentNode and not preupd instanceof ImplicitVarargsSlice - or - preupd = any(CallNode c).getAnImplicitVarargsArgument() - ) and + preupd = any(ArgumentNode arg).getACorrespondingSyntacticArgument() and mutableType(preupd.getType()) ) and ( @@ -889,6 +885,21 @@ module Public { * Gets this argument's position. */ int getPosition() { result = i } + + /** + * Gets a data-flow node for a syntactic argument corresponding this this + * argument. If this argument is not an implicit varargs slice then this + * will just be the argument itself. If this argument is an implicit + * varargs slice then this will be a data-flow node that for an argument + * that is stored in the implicit varargs slice. + */ + Node getACorrespondingSyntacticArgument() { + not this instanceof DataFlow::ImplicitVarargsSlice and + result = this + or + this instanceof DataFlow::ImplicitVarargsSlice and + result = c.getAnImplicitVarargsArgument() + } } /** diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index c2a550602e1..b97df15a37d 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -70,11 +70,7 @@ module SQL { private class DefaultQueryString extends Range { DefaultQueryString() { exists(DataFlow::ArgumentNode arg | sinkNode(arg, "sql-injection") | - not arg instanceof DataFlow::ImplicitVarargsSlice and - this = arg - or - arg instanceof DataFlow::ImplicitVarargsSlice and - this = arg.getCall().getAnImplicitVarargsArgument() + this = arg.getACorrespondingSyntacticArgument() ) } } diff --git a/go/ql/lib/semmle/go/frameworks/SystemCommandExecutors.qll b/go/ql/lib/semmle/go/frameworks/SystemCommandExecutors.qll index 7c7ab8c1835..1bd7054d5c3 100644 --- a/go/ql/lib/semmle/go/frameworks/SystemCommandExecutors.qll +++ b/go/ql/lib/semmle/go/frameworks/SystemCommandExecutors.qll @@ -16,11 +16,7 @@ private class DefaultSystemCommandExecution extends SystemCommandExecution::Rang } override DataFlow::Node getCommandName() { - not commandName instanceof DataFlow::ImplicitVarargsSlice and - result = commandName - or - commandName instanceof DataFlow::ImplicitVarargsSlice and - result = this.getAnImplicitVarargsArgument() + result = commandName.getACorrespondingSyntacticArgument() } } From 86e9f15929fe5b362cc5be7759a8c98f882dc0e5 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 15 Aug 2024 21:52:15 +0100 Subject: [PATCH 075/258] Accept MaD sinks with kind `nosql-injection` --- go/ql/lib/semmle/go/frameworks/NoSQL.qll | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/go/ql/lib/semmle/go/frameworks/NoSQL.qll b/go/ql/lib/semmle/go/frameworks/NoSQL.qll index 9209a52fb99..c2469fc02ac 100644 --- a/go/ql/lib/semmle/go/frameworks/NoSQL.qll +++ b/go/ql/lib/semmle/go/frameworks/NoSQL.qll @@ -24,6 +24,14 @@ module NoSql { */ abstract class Range extends DataFlow::Node { } + private class DefaultQueryString extends Range { + DefaultQueryString() { + exists(DataFlow::ArgumentNode arg | sinkNode(arg, "nosql-injection") | + this = arg.getACorrespondingSyntacticArgument() + ) + } + } + /** * Holds if method `name` of struct `Collection` from package * [go.mongodb.org/mongo-driver/mongo](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo) From ec9d88b364b9f0ed8a1445386c08b0b4e1770843 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Fri, 16 Aug 2024 07:58:37 +0100 Subject: [PATCH 076/258] Convert mongodb nosql-injection sinks to MaD --- ...o.mongodb.org.mongo-driver.mongo.model.yml | 19 +++ go/ql/lib/semmle/go/frameworks/NoSQL.qll | 154 +++++++++--------- .../Security/CWE-089/SqlInjection.expected | 134 ++++++++------- 3 files changed, 170 insertions(+), 137 deletions(-) create mode 100644 go/ql/lib/ext/go.mongodb.org.mongo-driver.mongo.model.yml diff --git a/go/ql/lib/ext/go.mongodb.org.mongo-driver.mongo.model.yml b/go/ql/lib/ext/go.mongodb.org.mongo-driver.mongo.model.yml new file mode 100644 index 00000000000..ae07bd3a213 --- /dev/null +++ b/go/ql/lib/ext/go.mongodb.org.mongo-driver.mongo.model.yml @@ -0,0 +1,19 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "CountDocuments", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "DeleteMany", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "DeleteOne", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "Distinct", "", "", "Argument[2]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "Find", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "FindOne", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "FindOneAndDelete", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "FindOneAndReplace", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "FindOneAndUpdate", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "ReplaceOne", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "UpdateMany", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "UpdateOne", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "Watch", "", "", "Argument[1]", "nosql-injection", "manual"] + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "Aggregate", "", "", "Argument[1]", "nosql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/NoSQL.qll b/go/ql/lib/semmle/go/frameworks/NoSQL.qll index c2469fc02ac..873b8230f1b 100644 --- a/go/ql/lib/semmle/go/frameworks/NoSQL.qll +++ b/go/ql/lib/semmle/go/frameworks/NoSQL.qll @@ -31,84 +31,82 @@ module NoSql { ) } } - - /** - * Holds if method `name` of struct `Collection` from package - * [go.mongodb.org/mongo-driver/mongo](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo) - * interprets parameter `n` as a query. - */ - private predicate mongoDbCollectionMethod(string name, int n) { - // func (coll *Collection) CountDocuments(ctx context.Context, filter interface{}, - // opts ...*options.CountOptions) (int64, error) - name = "CountDocuments" and n = 1 - or - // func (coll *Collection) DeleteMany(ctx context.Context, filter interface{}, - // opts ...*options.DeleteOptions) (*DeleteResult, error) - name = "DeleteMany" and n = 1 - or - // func (coll *Collection) DeleteOne(ctx context.Context, filter interface{}, - // opts ...*options.DeleteOptions) (*DeleteResult, error) - name = "DeleteOne" and n = 1 - or - // func (coll *Collection) Distinct(ctx context.Context, fieldName string, filter interface{}, - // ...) ([]interface{}, error) - name = "Distinct" and n = 2 - or - // func (coll *Collection) Find(ctx context.Context, filter interface{}, - // opts ...*options.FindOptions) (*Cursor, error) - name = "Find" and n = 1 - or - // func (coll *Collection) FindOne(ctx context.Context, filter interface{}, - // opts ...*options.FindOneOptions) *SingleResult - name = "FindOne" and n = 1 - or - // func (coll *Collection) FindOneAndDelete(ctx context.Context, filter interface{}, ...) - // *SingleResult - name = "FindOneAndDelete" and n = 1 - or - // func (coll *Collection) FindOneAndReplace(ctx context.Context, filter interface{}, - // replacement interface{}, ...) *SingleResult - name = "FindOneAndReplace" and n = 1 - or - // func (coll *Collection) FindOneAndUpdate(ctx context.Context, filter interface{}, - // update interface{}, ...) *SingleResult - name = "FindOneAndUpdate" and n = 1 - or - // func (coll *Collection) ReplaceOne(ctx context.Context, filter interface{}, - // replacement interface{}, ...) (*UpdateResult, error) - name = "ReplaceOne" and n = 1 - or - // func (coll *Collection) UpdateMany(ctx context.Context, filter interface{}, - // update interface{}, ...) (*UpdateResult, error) - name = "UpdateMany" and n = 1 - or - // func (coll *Collection) UpdateOne(ctx context.Context, filter interface{}, - // update interface{}, ...) (*UpdateResult, error) - name = "UpdateOne" and n = 1 - or - // func (coll *Collection) Watch(ctx context.Context, pipeline interface{}, ...) - // (*ChangeStream, error) - name = "Watch" and n = 1 - or - // func (coll *Collection) Aggregate(ctx context.Context, pipeline interface{}, - // opts ...*options.AggregateOptions) (*Cursor, error) - name = "Aggregate" and n = 1 - } - - /** - * A query used in an API function acting on a `Collection` struct of package - * [go.mongodb.org/mongo-driver/mongo](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo). - */ - private class MongoDbCollectionQuery extends Range { - MongoDbCollectionQuery() { - exists(Method meth, string methodName, int n | - mongoDbCollectionMethod(methodName, n) and - meth.hasQualifiedName(package("go.mongodb.org/mongo-driver", "mongo"), "Collection", - methodName) and - this = meth.getACall().getArgument(n) - ) - } - } + // /** + // * Holds if method `name` of struct `Collection` from package + // * [go.mongodb.org/mongo-driver/mongo](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo) + // * interprets parameter `n` as a query. + // */ + // private predicate mongoDbCollectionMethod(string name, int n) { + // // func (coll *Collection) CountDocuments(ctx context.Context, filter interface{}, + // // opts ...*options.CountOptions) (int64, error) + // name = "CountDocuments" and n = 1 + // or + // // func (coll *Collection) DeleteMany(ctx context.Context, filter interface{}, + // // opts ...*options.DeleteOptions) (*DeleteResult, error) + // name = "DeleteMany" and n = 1 + // or + // // func (coll *Collection) DeleteOne(ctx context.Context, filter interface{}, + // // opts ...*options.DeleteOptions) (*DeleteResult, error) + // name = "DeleteOne" and n = 1 + // or + // // func (coll *Collection) Distinct(ctx context.Context, fieldName string, filter interface{}, + // // ...) ([]interface{}, error) + // name = "Distinct" and n = 2 + // or + // // func (coll *Collection) Find(ctx context.Context, filter interface{}, + // // opts ...*options.FindOptions) (*Cursor, error) + // name = "Find" and n = 1 + // or + // // func (coll *Collection) FindOne(ctx context.Context, filter interface{}, + // // opts ...*options.FindOneOptions) *SingleResult + // name = "FindOne" and n = 1 + // or + // // func (coll *Collection) FindOneAndDelete(ctx context.Context, filter interface{}, ...) + // // *SingleResult + // name = "FindOneAndDelete" and n = 1 + // or + // // func (coll *Collection) FindOneAndReplace(ctx context.Context, filter interface{}, + // // replacement interface{}, ...) *SingleResult + // name = "FindOneAndReplace" and n = 1 + // or + // // func (coll *Collection) FindOneAndUpdate(ctx context.Context, filter interface{}, + // // update interface{}, ...) *SingleResult + // name = "FindOneAndUpdate" and n = 1 + // or + // // func (coll *Collection) ReplaceOne(ctx context.Context, filter interface{}, + // // replacement interface{}, ...) (*UpdateResult, error) + // name = "ReplaceOne" and n = 1 + // or + // // func (coll *Collection) UpdateMany(ctx context.Context, filter interface{}, + // // update interface{}, ...) (*UpdateResult, error) + // name = "UpdateMany" and n = 1 + // or + // // func (coll *Collection) UpdateOne(ctx context.Context, filter interface{}, + // // update interface{}, ...) (*UpdateResult, error) + // name = "UpdateOne" and n = 1 + // or + // // func (coll *Collection) Watch(ctx context.Context, pipeline interface{}, ...) + // // (*ChangeStream, error) + // name = "Watch" and n = 1 + // or + // // func (coll *Collection) Aggregate(ctx context.Context, pipeline interface{}, + // // opts ...*options.AggregateOptions) (*Cursor, error) + // name = "Aggregate" and n = 1 + // } + // /** + // * A query used in an API function acting on a `Collection` struct of package + // * [go.mongodb.org/mongo-driver/mongo](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo). + // */ + // private class MongoDbCollectionQuery extends Range { + // MongoDbCollectionQuery() { + // exists(Method meth, string methodName, int n | + // mongoDbCollectionMethod(methodName, n) and + // meth.hasQualifiedName(package("go.mongodb.org/mongo-driver", "mongo"), "Collection", + // methodName) and + // this = meth.getACall().getArgument(n) + // ) + // } + // } } /** diff --git a/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected b/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected index 0da4f893d87..2741f6545e9 100644 --- a/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected +++ b/go/ql/test/query-tests/Security/CWE-089/SqlInjection.expected @@ -25,53 +25,53 @@ | mongoDB.go:80:22:80:27 | filter | mongoDB.go:40:20:40:30 | call to Referer | mongoDB.go:80:22:80:27 | filter | This query depends on a $@. | mongoDB.go:40:20:40:30 | call to Referer | user-provided value | | mongoDB.go:81:18:81:25 | pipeline | mongoDB.go:40:20:40:30 | call to Referer | mongoDB.go:81:18:81:25 | pipeline | This query depends on a $@. | mongoDB.go:40:20:40:30 | call to Referer | user-provided value | edges -| SqlInjection.go:10:7:11:30 | []type{args} [array] | SqlInjection.go:10:7:11:30 | call to Sprintf | provenance | MaD:2 | -| SqlInjection.go:10:7:11:30 | call to Sprintf | SqlInjection.go:12:11:12:11 | q | provenance | | -| SqlInjection.go:11:3:11:9 | selection of URL | SqlInjection.go:11:3:11:17 | call to Query | provenance | Src:MaD:9 MaD:10 | +| SqlInjection.go:10:7:11:30 | []type{args} [array] | SqlInjection.go:10:7:11:30 | call to Sprintf | provenance | MaD:4 | +| SqlInjection.go:10:7:11:30 | call to Sprintf | SqlInjection.go:12:11:12:11 | q | provenance | Sink:MaD:1 | +| SqlInjection.go:11:3:11:9 | selection of URL | SqlInjection.go:11:3:11:17 | call to Query | provenance | Src:MaD:25 MaD:26 | | SqlInjection.go:11:3:11:17 | call to Query | SqlInjection.go:11:3:11:29 | index expression | provenance | | | SqlInjection.go:11:3:11:29 | index expression | SqlInjection.go:10:7:11:30 | []type{args} [array] | provenance | | | SqlInjection.go:11:3:11:29 | index expression | SqlInjection.go:10:7:11:30 | call to Sprintf | provenance | FunctionModel | | issue48.go:17:2:17:33 | ... := ...[0] | issue48.go:18:17:18:17 | b | provenance | | -| issue48.go:17:25:17:32 | selection of Body | issue48.go:17:2:17:33 | ... := ...[0] | provenance | Src:MaD:6 MaD:3 | -| issue48.go:18:17:18:17 | b | issue48.go:18:20:18:39 | &... | provenance | MaD:1 | +| issue48.go:17:25:17:32 | selection of Body | issue48.go:17:2:17:33 | ... := ...[0] | provenance | Src:MaD:22 MaD:19 | +| issue48.go:18:17:18:17 | b | issue48.go:18:20:18:39 | &... | provenance | MaD:3 | | issue48.go:18:20:18:39 | &... | issue48.go:21:3:21:33 | index expression | provenance | | -| issue48.go:20:8:21:34 | []type{args} [array] | issue48.go:20:8:21:34 | call to Sprintf | provenance | MaD:2 | -| issue48.go:20:8:21:34 | call to Sprintf | issue48.go:22:11:22:12 | q3 | provenance | | +| issue48.go:20:8:21:34 | []type{args} [array] | issue48.go:20:8:21:34 | call to Sprintf | provenance | MaD:4 | +| issue48.go:20:8:21:34 | call to Sprintf | issue48.go:22:11:22:12 | q3 | provenance | Sink:MaD:1 | | issue48.go:21:3:21:33 | index expression | issue48.go:20:8:21:34 | []type{args} [array] | provenance | | | issue48.go:21:3:21:33 | index expression | issue48.go:20:8:21:34 | call to Sprintf | provenance | FunctionModel | | issue48.go:27:2:27:34 | ... := ...[0] | issue48.go:28:17:28:18 | b2 | provenance | | -| issue48.go:27:26:27:33 | selection of Body | issue48.go:27:2:27:34 | ... := ...[0] | provenance | Src:MaD:6 MaD:3 | -| issue48.go:28:17:28:18 | b2 | issue48.go:28:21:28:41 | &... | provenance | MaD:1 | +| issue48.go:27:26:27:33 | selection of Body | issue48.go:27:2:27:34 | ... := ...[0] | provenance | Src:MaD:22 MaD:19 | +| issue48.go:28:17:28:18 | b2 | issue48.go:28:21:28:41 | &... | provenance | MaD:3 | | issue48.go:28:21:28:41 | &... | issue48.go:31:3:31:31 | selection of Category | provenance | | -| issue48.go:30:8:31:32 | []type{args} [array] | issue48.go:30:8:31:32 | call to Sprintf | provenance | MaD:2 | -| issue48.go:30:8:31:32 | call to Sprintf | issue48.go:32:11:32:12 | q4 | provenance | | +| issue48.go:30:8:31:32 | []type{args} [array] | issue48.go:30:8:31:32 | call to Sprintf | provenance | MaD:4 | +| issue48.go:30:8:31:32 | call to Sprintf | issue48.go:32:11:32:12 | q4 | provenance | Sink:MaD:1 | | issue48.go:31:3:31:31 | selection of Category | issue48.go:30:8:31:32 | []type{args} [array] | provenance | | | issue48.go:31:3:31:31 | selection of Category | issue48.go:30:8:31:32 | call to Sprintf | provenance | FunctionModel | -| issue48.go:37:17:37:50 | type conversion | issue48.go:37:53:37:73 | &... | provenance | MaD:1 | -| issue48.go:37:24:37:30 | selection of URL | issue48.go:37:24:37:38 | call to Query | provenance | Src:MaD:9 MaD:10 | +| issue48.go:37:17:37:50 | type conversion | issue48.go:37:53:37:73 | &... | provenance | MaD:3 | +| issue48.go:37:24:37:30 | selection of URL | issue48.go:37:24:37:38 | call to Query | provenance | Src:MaD:25 MaD:26 | | issue48.go:37:24:37:38 | call to Query | issue48.go:37:17:37:50 | type conversion | provenance | | | issue48.go:37:53:37:73 | &... | issue48.go:40:3:40:31 | selection of Category | provenance | | -| issue48.go:39:8:40:32 | []type{args} [array] | issue48.go:39:8:40:32 | call to Sprintf | provenance | MaD:2 | -| issue48.go:39:8:40:32 | call to Sprintf | issue48.go:41:11:41:12 | q5 | provenance | | +| issue48.go:39:8:40:32 | []type{args} [array] | issue48.go:39:8:40:32 | call to Sprintf | provenance | MaD:4 | +| issue48.go:39:8:40:32 | call to Sprintf | issue48.go:41:11:41:12 | q5 | provenance | Sink:MaD:1 | | issue48.go:40:3:40:31 | selection of Category | issue48.go:39:8:40:32 | []type{args} [array] | provenance | | | issue48.go:40:3:40:31 | selection of Category | issue48.go:39:8:40:32 | call to Sprintf | provenance | FunctionModel | -| main.go:11:11:11:16 | selection of Form | main.go:11:11:11:28 | index expression | provenance | Src:MaD:7 | -| main.go:15:11:15:84 | []type{args} [array] | main.go:15:11:15:84 | call to Sprintf | provenance | MaD:2 | -| main.go:15:63:15:67 | selection of URL | main.go:15:63:15:75 | call to Query | provenance | Src:MaD:9 MaD:10 | +| main.go:11:11:11:16 | selection of Form | main.go:11:11:11:28 | index expression | provenance | Src:MaD:23 Sink:MaD:1 | +| main.go:15:11:15:84 | []type{args} [array] | main.go:15:11:15:84 | call to Sprintf | provenance | MaD:4 Sink:MaD:2 | +| main.go:15:63:15:67 | selection of URL | main.go:15:63:15:75 | call to Query | provenance | Src:MaD:25 MaD:26 | | main.go:15:63:15:75 | call to Query | main.go:15:63:15:83 | index expression | provenance | | | main.go:15:63:15:83 | index expression | main.go:15:11:15:84 | []type{args} [array] | provenance | | -| main.go:15:63:15:83 | index expression | main.go:15:11:15:84 | call to Sprintf | provenance | FunctionModel | -| main.go:16:11:16:85 | []type{args} [array] | main.go:16:11:16:85 | call to Sprintf | provenance | MaD:2 | -| main.go:16:63:16:70 | selection of Header | main.go:16:63:16:84 | call to Get | provenance | Src:MaD:8 MaD:4 | +| main.go:15:63:15:83 | index expression | main.go:15:11:15:84 | call to Sprintf | provenance | FunctionModel Sink:MaD:2 | +| main.go:16:11:16:85 | []type{args} [array] | main.go:16:11:16:85 | call to Sprintf | provenance | MaD:4 Sink:MaD:2 | +| main.go:16:63:16:70 | selection of Header | main.go:16:63:16:84 | call to Get | provenance | Src:MaD:24 MaD:20 | | main.go:16:63:16:84 | call to Get | main.go:16:11:16:85 | []type{args} [array] | provenance | | -| main.go:16:63:16:84 | call to Get | main.go:16:11:16:85 | call to Sprintf | provenance | FunctionModel | +| main.go:16:63:16:84 | call to Get | main.go:16:11:16:85 | call to Sprintf | provenance | FunctionModel Sink:MaD:2 | | main.go:28:17:31:2 | &... [pointer, Category] | main.go:34:3:34:13 | RequestData [pointer, Category] | provenance | | | main.go:28:18:31:2 | struct literal [Category] | main.go:28:17:31:2 | &... [pointer, Category] | provenance | | -| main.go:30:13:30:19 | selection of URL | main.go:30:13:30:27 | call to Query | provenance | Src:MaD:9 MaD:10 | +| main.go:30:13:30:19 | selection of URL | main.go:30:13:30:27 | call to Query | provenance | Src:MaD:25 MaD:26 | | main.go:30:13:30:27 | call to Query | main.go:30:13:30:39 | index expression | provenance | | | main.go:30:13:30:39 | index expression | main.go:28:18:31:2 | struct literal [Category] | provenance | | -| main.go:33:7:34:23 | []type{args} [array] | main.go:33:7:34:23 | call to Sprintf | provenance | MaD:2 | -| main.go:33:7:34:23 | call to Sprintf | main.go:35:11:35:11 | q | provenance | | +| main.go:33:7:34:23 | []type{args} [array] | main.go:33:7:34:23 | call to Sprintf | provenance | MaD:4 | +| main.go:33:7:34:23 | call to Sprintf | main.go:35:11:35:11 | q | provenance | Sink:MaD:1 | | main.go:34:3:34:13 | RequestData [pointer, Category] | main.go:34:3:34:13 | implicit dereference [Category] | provenance | | | main.go:34:3:34:13 | implicit dereference [Category] | main.go:34:3:34:22 | selection of Category | provenance | | | main.go:34:3:34:22 | selection of Category | main.go:33:7:34:23 | []type{args} [array] | provenance | | @@ -80,11 +80,11 @@ edges | main.go:39:2:39:12 | definition of RequestData [pointer, Category] | main.go:43:3:43:13 | RequestData [pointer, Category] | provenance | | | main.go:40:2:40:12 | RequestData [pointer, Category] | main.go:40:2:40:12 | implicit dereference [Category] | provenance | | | main.go:40:2:40:12 | implicit dereference [Category] | main.go:39:2:39:12 | definition of RequestData [pointer, Category] | provenance | | -| main.go:40:25:40:31 | selection of URL | main.go:40:25:40:39 | call to Query | provenance | Src:MaD:9 MaD:10 | +| main.go:40:25:40:31 | selection of URL | main.go:40:25:40:39 | call to Query | provenance | Src:MaD:25 MaD:26 | | main.go:40:25:40:39 | call to Query | main.go:40:25:40:51 | index expression | provenance | | | main.go:40:25:40:51 | index expression | main.go:40:2:40:12 | implicit dereference [Category] | provenance | | -| main.go:42:7:43:23 | []type{args} [array] | main.go:42:7:43:23 | call to Sprintf | provenance | MaD:2 | -| main.go:42:7:43:23 | call to Sprintf | main.go:44:11:44:11 | q | provenance | | +| main.go:42:7:43:23 | []type{args} [array] | main.go:42:7:43:23 | call to Sprintf | provenance | MaD:4 | +| main.go:42:7:43:23 | call to Sprintf | main.go:44:11:44:11 | q | provenance | Sink:MaD:1 | | main.go:43:3:43:13 | RequestData [pointer, Category] | main.go:43:3:43:13 | implicit dereference [Category] | provenance | | | main.go:43:3:43:13 | implicit dereference [Category] | main.go:43:3:43:22 | selection of Category | provenance | | | main.go:43:3:43:22 | selection of Category | main.go:42:7:43:23 | []type{args} [array] | provenance | | @@ -93,11 +93,11 @@ edges | main.go:48:2:48:12 | definition of RequestData [pointer, Category] | main.go:52:3:52:13 | RequestData [pointer, Category] | provenance | | | main.go:49:3:49:14 | star expression [Category] | main.go:48:2:48:12 | definition of RequestData [pointer, Category] | provenance | | | main.go:49:4:49:14 | RequestData [pointer, Category] | main.go:49:3:49:14 | star expression [Category] | provenance | | -| main.go:49:28:49:34 | selection of URL | main.go:49:28:49:42 | call to Query | provenance | Src:MaD:9 MaD:10 | +| main.go:49:28:49:34 | selection of URL | main.go:49:28:49:42 | call to Query | provenance | Src:MaD:25 MaD:26 | | main.go:49:28:49:42 | call to Query | main.go:49:28:49:54 | index expression | provenance | | | main.go:49:28:49:54 | index expression | main.go:49:3:49:14 | star expression [Category] | provenance | | -| main.go:51:7:52:23 | []type{args} [array] | main.go:51:7:52:23 | call to Sprintf | provenance | MaD:2 | -| main.go:51:7:52:23 | call to Sprintf | main.go:53:11:53:11 | q | provenance | | +| main.go:51:7:52:23 | []type{args} [array] | main.go:51:7:52:23 | call to Sprintf | provenance | MaD:4 | +| main.go:51:7:52:23 | call to Sprintf | main.go:53:11:53:11 | q | provenance | Sink:MaD:1 | | main.go:52:3:52:13 | RequestData [pointer, Category] | main.go:52:3:52:13 | implicit dereference [Category] | provenance | | | main.go:52:3:52:13 | implicit dereference [Category] | main.go:52:3:52:22 | selection of Category | provenance | | | main.go:52:3:52:22 | selection of Category | main.go:51:7:52:23 | []type{args} [array] | provenance | | @@ -106,44 +106,60 @@ edges | main.go:57:2:57:12 | definition of RequestData [pointer, Category] | main.go:61:5:61:15 | RequestData [pointer, Category] | provenance | | | main.go:58:3:58:14 | star expression [Category] | main.go:57:2:57:12 | definition of RequestData [pointer, Category] | provenance | | | main.go:58:4:58:14 | RequestData [pointer, Category] | main.go:58:3:58:14 | star expression [Category] | provenance | | -| main.go:58:28:58:34 | selection of URL | main.go:58:28:58:42 | call to Query | provenance | Src:MaD:9 MaD:10 | +| main.go:58:28:58:34 | selection of URL | main.go:58:28:58:42 | call to Query | provenance | Src:MaD:25 MaD:26 | | main.go:58:28:58:42 | call to Query | main.go:58:28:58:54 | index expression | provenance | | | main.go:58:28:58:54 | index expression | main.go:58:3:58:14 | star expression [Category] | provenance | | -| main.go:60:7:61:26 | []type{args} [array] | main.go:60:7:61:26 | call to Sprintf | provenance | MaD:2 | -| main.go:60:7:61:26 | call to Sprintf | main.go:62:11:62:11 | q | provenance | | +| main.go:60:7:61:26 | []type{args} [array] | main.go:60:7:61:26 | call to Sprintf | provenance | MaD:4 | +| main.go:60:7:61:26 | call to Sprintf | main.go:62:11:62:11 | q | provenance | Sink:MaD:1 | | main.go:61:3:61:25 | selection of Category | main.go:60:7:61:26 | []type{args} [array] | provenance | | | main.go:61:3:61:25 | selection of Category | main.go:60:7:61:26 | call to Sprintf | provenance | FunctionModel | | main.go:61:4:61:15 | star expression [Category] | main.go:61:3:61:25 | selection of Category | provenance | | | main.go:61:5:61:15 | RequestData [pointer, Category] | main.go:61:4:61:15 | star expression [Category] | provenance | | -| mongoDB.go:40:20:40:30 | call to Referer | mongoDB.go:42:28:42:41 | untrustedInput | provenance | Src:MaD:5 | +| mongoDB.go:40:20:40:30 | call to Referer | mongoDB.go:42:28:42:41 | untrustedInput | provenance | Src:MaD:21 | | mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:50:34:50:39 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:61:27:61:32 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:63:23:63:28 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:64:22:64:27 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:66:32:66:37 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:69:17:69:22 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:70:20:70:25 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:71:29:71:34 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:72:30:72:35 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:73:29:73:34 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:78:23:78:28 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:79:23:79:28 | filter | provenance | | -| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:80:22:80:27 | filter | provenance | | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:61:27:61:32 | filter | provenance | Sink:MaD:6 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:63:23:63:28 | filter | provenance | Sink:MaD:7 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:64:22:64:27 | filter | provenance | Sink:MaD:8 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:66:32:66:37 | filter | provenance | Sink:MaD:9 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:69:17:69:22 | filter | provenance | Sink:MaD:10 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:70:20:70:25 | filter | provenance | Sink:MaD:11 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:71:29:71:34 | filter | provenance | Sink:MaD:12 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:72:30:72:35 | filter | provenance | Sink:MaD:13 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:73:29:73:34 | filter | provenance | Sink:MaD:14 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:78:23:78:28 | filter | provenance | Sink:MaD:15 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:79:23:79:28 | filter | provenance | Sink:MaD:16 | +| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:80:22:80:27 | filter | provenance | Sink:MaD:17 | | mongoDB.go:42:28:42:41 | untrustedInput | mongoDB.go:42:19:42:42 | struct literal | provenance | Config | -| mongoDB.go:50:23:50:40 | struct literal | mongoDB.go:57:22:57:29 | pipeline | provenance | | -| mongoDB.go:50:23:50:40 | struct literal | mongoDB.go:81:18:81:25 | pipeline | provenance | | +| mongoDB.go:50:23:50:40 | struct literal | mongoDB.go:57:22:57:29 | pipeline | provenance | Sink:MaD:5 | +| mongoDB.go:50:23:50:40 | struct literal | mongoDB.go:81:18:81:25 | pipeline | provenance | Sink:MaD:18 | | mongoDB.go:50:34:50:39 | filter | mongoDB.go:50:23:50:40 | struct literal | provenance | Config | models -| 1 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | -| 2 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | -| 3 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | -| 4 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | -| 5 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual | -| 6 | Source: net/http; Request; true; Body; ; ; ; remote; manual | -| 7 | Source: net/http; Request; true; Form; ; ; ; remote; manual | -| 8 | Source: net/http; Request; true; Header; ; ; ; remote; manual | -| 9 | Source: net/http; Request; true; URL; ; ; ; remote; manual | -| 10 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | +| 1 | Sink: database/sql; DB; false; Query; ; ; Argument[0]; sql-injection; manual | +| 2 | Sink: database/sql; Tx; false; Query; ; ; Argument[0]; sql-injection; manual | +| 3 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual | +| 4 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual | +| 5 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; Aggregate; ; ; Argument[1]; nosql-injection; manual | +| 6 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; CountDocuments; ; ; Argument[1]; nosql-injection; manual | +| 7 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; DeleteMany; ; ; Argument[1]; nosql-injection; manual | +| 8 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; DeleteOne; ; ; Argument[1]; nosql-injection; manual | +| 9 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; Distinct; ; ; Argument[2]; nosql-injection; manual | +| 10 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; Find; ; ; Argument[1]; nosql-injection; manual | +| 11 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; FindOne; ; ; Argument[1]; nosql-injection; manual | +| 12 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; FindOneAndDelete; ; ; Argument[1]; nosql-injection; manual | +| 13 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; FindOneAndReplace; ; ; Argument[1]; nosql-injection; manual | +| 14 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; FindOneAndUpdate; ; ; Argument[1]; nosql-injection; manual | +| 15 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; ReplaceOne; ; ; Argument[1]; nosql-injection; manual | +| 16 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; UpdateMany; ; ; Argument[1]; nosql-injection; manual | +| 17 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; UpdateOne; ; ; Argument[1]; nosql-injection; manual | +| 18 | Sink: go.mongodb.org/mongo-driver/mongo; Collection; true; Watch; ; ; Argument[1]; nosql-injection; manual | +| 19 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual | +| 20 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | +| 21 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual | +| 22 | Source: net/http; Request; true; Body; ; ; ; remote; manual | +| 23 | Source: net/http; Request; true; Form; ; ; ; remote; manual | +| 24 | Source: net/http; Request; true; Header; ; ; ; remote; manual | +| 25 | Source: net/http; Request; true; URL; ; ; ; remote; manual | +| 26 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual | nodes | SqlInjection.go:10:7:11:30 | []type{args} [array] | semmle.label | []type{args} [array] | | SqlInjection.go:10:7:11:30 | call to Sprintf | semmle.label | call to Sprintf | From 2d2afb17ad6d8277a802dc93429b12899ab67047 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Fri, 16 Aug 2024 07:59:04 +0100 Subject: [PATCH 077/258] Convert gocb nosql-injection sinks to MaD --- .../ext/github.com.couchbase.gocb.model.yml | 57 +++++++++----- ...o.mongodb.org.mongo-driver.mongo.model.yml | 2 +- go/ql/lib/semmle/go/frameworks/Couchbase.qll | 46 ++--------- go/ql/lib/semmle/go/frameworks/NoSQL.qll | 76 ------------------- 4 files changed, 43 insertions(+), 138 deletions(-) diff --git a/go/ql/lib/ext/github.com.couchbase.gocb.model.yml b/go/ql/lib/ext/github.com.couchbase.gocb.model.yml index ff0a4c22c8d..d17b53dd6da 100644 --- a/go/ql/lib/ext/github.com.couchbase.gocb.model.yml +++ b/go/ql/lib/ext/github.com.couchbase.gocb.model.yml @@ -3,28 +3,43 @@ extensions: pack: codeql/go-all extensible: packageGrouping data: - - ["gocb", "github.com/couchbase/gocb"] - - ["gocb", "gopkg.in/couchbase/gocb"] - - ["gocb", "github.com/couchbaselabs/gocb"] + - ["gocb1", "fixed-version:github.com/couchbase/gocb"] + - ["gocb1", "fixed-version:gopkg.in/couchbase/gocb.v1"] + - ["gocb1", "fixed-version:github.com/couchbaselabs/gocb"] + - ["gocb2", "github.com/couchbase/gocb/v2"] + - ["gocb2", "gopkg.in/couchbase/gocb.v2"] + - ["gocb2", "github.com/couchbaselabs/gocb/v2"] + - addsTo: + pack: codeql/go-all + extensible: sinkModel + data: + - ["group:gocb1", "Bucket", True, "ExecuteN1qlQuery", "", "", "Argument[0]", "nosql-injection", "manual"] + - ["group:gocb1", "Bucket", True, "ExecuteAnalyticsQuery", "", "", "Argument[0]", "nosql-injection", "manual"] + - ["group:gocb1", "Cluster", True, "ExecuteN1qlQuery", "", "", "Argument[0]", "nosql-injection", "manual"] + - ["group:gocb1", "Cluster", True, "ExecuteAnalyticsQuery", "", "", "Argument[0]", "nosql-injection", "manual"] + - ["group:gocb2", "Cluster", True, "AnalyticsQuery", "", "", "Argument[0]", "nosql-injection", "manual"] + - ["group:gocb2", "Cluster", True, "Query", "", "", "Argument[0]", "nosql-injection", "manual"] + - ["group:gocb2", "Scope", True, "AnalyticsQuery", "", "", "Argument[0]", "nosql-injection", "manual"] + - ["group:gocb2", "Scope", True, "Query", "", "", "Argument[0]", "nosql-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel data: - - ["group:gocb", "", False, "NewAnalyticsQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "", False, "NewN1qlQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "AnalyticsQuery", True, "ContextId", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "AnalyticsQuery", True, "Deferred", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "AnalyticsQuery", True, "Pretty", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "AnalyticsQuery", True, "Priority", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "AnalyticsQuery", True, "RawParam", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "AnalyticsQuery", True, "ServerSideTimeout", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "AdHoc", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "Consistency", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "ConsistentWith", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "Custom", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "PipelineBatch", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "PipelineCap", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "Profile", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "ReadOnly", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "ScanCap", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["group:gocb", "N1qlQuery", True, "Timeout", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "", False, "NewAnalyticsQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "", False, "NewN1qlQuery", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "AnalyticsQuery", True, "ContextId", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "AnalyticsQuery", True, "Deferred", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "AnalyticsQuery", True, "Pretty", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "AnalyticsQuery", True, "Priority", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "AnalyticsQuery", True, "RawParam", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "AnalyticsQuery", True, "ServerSideTimeout", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "AdHoc", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "Consistency", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "ConsistentWith", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "Custom", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "PipelineBatch", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "PipelineCap", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "Profile", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "ReadOnly", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "ScanCap", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["group:gocb1", "N1qlQuery", True, "Timeout", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/lib/ext/go.mongodb.org.mongo-driver.mongo.model.yml b/go/ql/lib/ext/go.mongodb.org.mongo-driver.mongo.model.yml index ae07bd3a213..6c2d4afdeae 100644 --- a/go/ql/lib/ext/go.mongodb.org.mongo-driver.mongo.model.yml +++ b/go/ql/lib/ext/go.mongodb.org.mongo-driver.mongo.model.yml @@ -3,6 +3,7 @@ extensions: pack: codeql/go-all extensible: sinkModel data: + - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "Aggregate", "", "", "Argument[1]", "nosql-injection", "manual"] - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "CountDocuments", "", "", "Argument[1]", "nosql-injection", "manual"] - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "DeleteMany", "", "", "Argument[1]", "nosql-injection", "manual"] - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "DeleteOne", "", "", "Argument[1]", "nosql-injection", "manual"] @@ -16,4 +17,3 @@ extensions: - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "UpdateMany", "", "", "Argument[1]", "nosql-injection", "manual"] - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "UpdateOne", "", "", "Argument[1]", "nosql-injection", "manual"] - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "Watch", "", "", "Argument[1]", "nosql-injection", "manual"] - - ["go.mongodb.org/mongo-driver/mongo", "Collection", True, "Aggregate", "", "", "Argument[1]", "nosql-injection", "manual"] diff --git a/go/ql/lib/semmle/go/frameworks/Couchbase.qll b/go/ql/lib/semmle/go/frameworks/Couchbase.qll index 5eaa4d20c3a..b5bfbcb22a2 100644 --- a/go/ql/lib/semmle/go/frameworks/Couchbase.qll +++ b/go/ql/lib/semmle/go/frameworks/Couchbase.qll @@ -5,57 +5,23 @@ import go /** + * DEPRECATED + * * Provides models of commonly used functions in the official Couchbase Go SDK library. */ -module Couchbase { +deprecated module Couchbase { /** + * DEPRECATED + * * Gets a package path for the official Couchbase Go SDK library. * * Note that v1 and v2 have different APIs, but the names are disjoint so there is no need to * distinguish between them. */ - string packagePath() { + deprecated string packagePath() { result = package([ "gopkg.in/couchbase/gocb", "github.com/couchbase/gocb", "github.com/couchbaselabs/gocb" ], "") } - - /** - * A query used in an API function acting on a `Bucket` or `Cluster` struct of v1 of - * the official Couchbase Go library, gocb. - */ - private class CouchbaseV1Query extends NoSql::Query::Range { - CouchbaseV1Query() { - // func (b *Bucket) ExecuteAnalyticsQuery(q *AnalyticsQuery, params interface{}) (AnalyticsResults, error) - // func (b *Bucket) ExecuteN1qlQuery(q *N1qlQuery, params interface{}) (QueryResults, error) - // func (c *Cluster) ExecuteAnalyticsQuery(q *AnalyticsQuery, params interface{}) (AnalyticsResults, error) - // func (c *Cluster) ExecuteN1qlQuery(q *N1qlQuery, params interface{}) (QueryResults, error) - exists(Method meth, string structName, string methodName | - structName in ["Bucket", "Cluster"] and - methodName in ["ExecuteN1qlQuery", "ExecuteAnalyticsQuery"] and - meth.hasQualifiedName(packagePath(), structName, methodName) and - this = meth.getACall().getArgument(0) - ) - } - } - - /** - * A query used in an API function acting on a `Bucket` or `Cluster` struct of v1 of - * the official Couchbase Go library, gocb. - */ - private class CouchbaseV2Query extends NoSql::Query::Range { - CouchbaseV2Query() { - // func (c *Cluster) AnalyticsQuery(statement string, opts *AnalyticsOptions) (*AnalyticsResult, error) - // func (c *Cluster) Query(statement string, opts *QueryOptions) (*QueryResult, error) - // func (s *Scope) AnalyticsQuery(statement string, opts *AnalyticsOptions) (*AnalyticsResult, error) - // func (s *Scope) Query(statement string, opts *QueryOptions) (*QueryResult, error) - exists(Method meth, string structName, string methodName | - structName in ["Cluster", "Scope"] and - methodName in ["AnalyticsQuery", "Query"] and - meth.hasQualifiedName(packagePath(), structName, methodName) and - this = meth.getACall().getArgument(0) - ) - } - } } diff --git a/go/ql/lib/semmle/go/frameworks/NoSQL.qll b/go/ql/lib/semmle/go/frameworks/NoSQL.qll index 873b8230f1b..36932149628 100644 --- a/go/ql/lib/semmle/go/frameworks/NoSQL.qll +++ b/go/ql/lib/semmle/go/frameworks/NoSQL.qll @@ -31,82 +31,6 @@ module NoSql { ) } } - // /** - // * Holds if method `name` of struct `Collection` from package - // * [go.mongodb.org/mongo-driver/mongo](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo) - // * interprets parameter `n` as a query. - // */ - // private predicate mongoDbCollectionMethod(string name, int n) { - // // func (coll *Collection) CountDocuments(ctx context.Context, filter interface{}, - // // opts ...*options.CountOptions) (int64, error) - // name = "CountDocuments" and n = 1 - // or - // // func (coll *Collection) DeleteMany(ctx context.Context, filter interface{}, - // // opts ...*options.DeleteOptions) (*DeleteResult, error) - // name = "DeleteMany" and n = 1 - // or - // // func (coll *Collection) DeleteOne(ctx context.Context, filter interface{}, - // // opts ...*options.DeleteOptions) (*DeleteResult, error) - // name = "DeleteOne" and n = 1 - // or - // // func (coll *Collection) Distinct(ctx context.Context, fieldName string, filter interface{}, - // // ...) ([]interface{}, error) - // name = "Distinct" and n = 2 - // or - // // func (coll *Collection) Find(ctx context.Context, filter interface{}, - // // opts ...*options.FindOptions) (*Cursor, error) - // name = "Find" and n = 1 - // or - // // func (coll *Collection) FindOne(ctx context.Context, filter interface{}, - // // opts ...*options.FindOneOptions) *SingleResult - // name = "FindOne" and n = 1 - // or - // // func (coll *Collection) FindOneAndDelete(ctx context.Context, filter interface{}, ...) - // // *SingleResult - // name = "FindOneAndDelete" and n = 1 - // or - // // func (coll *Collection) FindOneAndReplace(ctx context.Context, filter interface{}, - // // replacement interface{}, ...) *SingleResult - // name = "FindOneAndReplace" and n = 1 - // or - // // func (coll *Collection) FindOneAndUpdate(ctx context.Context, filter interface{}, - // // update interface{}, ...) *SingleResult - // name = "FindOneAndUpdate" and n = 1 - // or - // // func (coll *Collection) ReplaceOne(ctx context.Context, filter interface{}, - // // replacement interface{}, ...) (*UpdateResult, error) - // name = "ReplaceOne" and n = 1 - // or - // // func (coll *Collection) UpdateMany(ctx context.Context, filter interface{}, - // // update interface{}, ...) (*UpdateResult, error) - // name = "UpdateMany" and n = 1 - // or - // // func (coll *Collection) UpdateOne(ctx context.Context, filter interface{}, - // // update interface{}, ...) (*UpdateResult, error) - // name = "UpdateOne" and n = 1 - // or - // // func (coll *Collection) Watch(ctx context.Context, pipeline interface{}, ...) - // // (*ChangeStream, error) - // name = "Watch" and n = 1 - // or - // // func (coll *Collection) Aggregate(ctx context.Context, pipeline interface{}, - // // opts ...*options.AggregateOptions) (*Cursor, error) - // name = "Aggregate" and n = 1 - // } - // /** - // * A query used in an API function acting on a `Collection` struct of package - // * [go.mongodb.org/mongo-driver/mongo](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo). - // */ - // private class MongoDbCollectionQuery extends Range { - // MongoDbCollectionQuery() { - // exists(Method meth, string methodName, int n | - // mongoDbCollectionMethod(methodName, n) and - // meth.hasQualifiedName(package("go.mongodb.org/mongo-driver", "mongo"), "Collection", - // methodName) and - // this = meth.getACall().getArgument(n) - // ) - // } - // } } /** From 5548304432942d566aeccfe1161ce8e81132868f Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Fri, 16 Aug 2024 13:08:34 +0200 Subject: [PATCH 078/258] C++: Grammar improvements to query help text --- .../src/Security/CWE/CWE-190/TaintedAllocationSize.qhelp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.qhelp b/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.qhelp index 1097922ca0f..153a089bc12 100644 --- a/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.qhelp +++ b/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.qhelp @@ -4,15 +4,15 @@ -

    This code allocates memory using a size value based on user input +

    This code allocates memory using a size value based on user input, with no apparent bound on its magnitude being established. This allows -for arbitrary amounts of memory being allocated.

    +for arbitrary amounts of memory to be allocated.

    If the allocation size is calculated by multiplying user input by a -sizeof expression the multiplication can overflow. When +sizeof expression, the multiplication can overflow. When an integer multiplication overflows in C, the result wraps around and can be much smaller than intended. A later attempt to write data into -the allocated memory can then be out-of-bounds.

    +the allocated memory can then be out of bounds.

    From 699d3a0a0aa3aa83672c6267c124a32e8d81fd03 Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 16 Aug 2024 14:20:34 +0200 Subject: [PATCH 079/258] JS: Update a RegExp injection test RegExpInjection does not use client-side sources, but one of its tests was using postMessage events as the taint source. Updating the test to use a different taint source. --- .../Security/CWE-730/RegExpInjection.expected | 32 ++++++++----------- .../test/query-tests/Security/CWE-730/tst.js | 15 +++------ 2 files changed, 19 insertions(+), 28 deletions(-) diff --git a/javascript/ql/test/query-tests/Security/CWE-730/RegExpInjection.expected b/javascript/ql/test/query-tests/Security/CWE-730/RegExpInjection.expected index 391be36fbb9..105f6a85563 100644 --- a/javascript/ql/test/query-tests/Security/CWE-730/RegExpInjection.expected +++ b/javascript/ql/test/query-tests/Security/CWE-730/RegExpInjection.expected @@ -64,15 +64,13 @@ nodes | RegExpInjection.js:93:20:93:31 | process.argv | | RegExpInjection.js:93:20:93:31 | process.argv | | RegExpInjection.js:93:20:93:34 | process.argv[1] | -| tst.js:1:46:1:46 | e | -| tst.js:1:46:1:46 | e | -| tst.js:2:9:2:21 | data | -| tst.js:2:16:2:16 | e | -| tst.js:2:16:2:21 | e.data | -| tst.js:3:16:3:35 | "^"+ data.name + "$" | -| tst.js:3:16:3:35 | "^"+ data.name + "$" | -| tst.js:3:21:3:24 | data | -| tst.js:3:21:3:29 | data.name | +| tst.js:5:9:5:29 | data | +| tst.js:5:16:5:29 | req.query.data | +| tst.js:5:16:5:29 | req.query.data | +| tst.js:6:16:6:35 | "^"+ data.name + "$" | +| tst.js:6:16:6:35 | "^"+ data.name + "$" | +| tst.js:6:21:6:24 | data | +| tst.js:6:21:6:29 | data.name | edges | RegExpInjection.js:5:7:5:28 | key | RegExpInjection.js:8:31:8:33 | key | | RegExpInjection.js:5:7:5:28 | key | RegExpInjection.js:19:19:19:21 | key | @@ -135,14 +133,12 @@ edges | RegExpInjection.js:93:20:93:31 | process.argv | RegExpInjection.js:93:20:93:34 | process.argv[1] | | RegExpInjection.js:93:20:93:34 | process.argv[1] | RegExpInjection.js:93:16:93:49 | `^${pro ... r.app$` | | RegExpInjection.js:93:20:93:34 | process.argv[1] | RegExpInjection.js:93:16:93:49 | `^${pro ... r.app$` | -| tst.js:1:46:1:46 | e | tst.js:2:16:2:16 | e | -| tst.js:1:46:1:46 | e | tst.js:2:16:2:16 | e | -| tst.js:2:9:2:21 | data | tst.js:3:21:3:24 | data | -| tst.js:2:16:2:16 | e | tst.js:2:16:2:21 | e.data | -| tst.js:2:16:2:21 | e.data | tst.js:2:9:2:21 | data | -| tst.js:3:21:3:24 | data | tst.js:3:21:3:29 | data.name | -| tst.js:3:21:3:29 | data.name | tst.js:3:16:3:35 | "^"+ data.name + "$" | -| tst.js:3:21:3:29 | data.name | tst.js:3:16:3:35 | "^"+ data.name + "$" | +| tst.js:5:9:5:29 | data | tst.js:6:21:6:24 | data | +| tst.js:5:16:5:29 | req.query.data | tst.js:5:9:5:29 | data | +| tst.js:5:16:5:29 | req.query.data | tst.js:5:9:5:29 | data | +| tst.js:6:21:6:24 | data | tst.js:6:21:6:29 | data.name | +| tst.js:6:21:6:29 | data.name | tst.js:6:16:6:35 | "^"+ data.name + "$" | +| tst.js:6:21:6:29 | data.name | tst.js:6:16:6:35 | "^"+ data.name + "$" | #select | RegExpInjection.js:8:23:8:45 | "\\\\b" + ... (.*)\\n" | RegExpInjection.js:5:13:5:28 | req.param("key") | RegExpInjection.js:8:23:8:45 | "\\\\b" + ... (.*)\\n" | This regular expression is constructed from a $@. | RegExpInjection.js:5:13:5:28 | req.param("key") | user-provided value | | RegExpInjection.js:19:14:19:22 | wrap(key) | RegExpInjection.js:5:13:5:28 | req.param("key") | RegExpInjection.js:19:14:19:22 | wrap(key) | This regular expression is constructed from a $@. | RegExpInjection.js:5:13:5:28 | req.param("key") | user-provided value | @@ -161,4 +157,4 @@ edges | RegExpInjection.js:87:14:87:55 | "^.*\\.( ... + ")$" | RegExpInjection.js:82:15:82:32 | req.param("input") | RegExpInjection.js:87:14:87:55 | "^.*\\.( ... + ")$" | This regular expression is constructed from a $@. | RegExpInjection.js:82:15:82:32 | req.param("input") | user-provided value | | RegExpInjection.js:91:16:91:50 | `^${pro ... r.app$` | RegExpInjection.js:91:20:91:30 | process.env | RegExpInjection.js:91:16:91:50 | `^${pro ... r.app$` | This regular expression is constructed from a $@. | RegExpInjection.js:91:20:91:30 | process.env | environment variable | | RegExpInjection.js:93:16:93:49 | `^${pro ... r.app$` | RegExpInjection.js:93:20:93:31 | process.argv | RegExpInjection.js:93:16:93:49 | `^${pro ... r.app$` | This regular expression is constructed from a $@. | RegExpInjection.js:93:20:93:31 | process.argv | command-line argument | -| tst.js:3:16:3:35 | "^"+ data.name + "$" | tst.js:1:46:1:46 | e | tst.js:3:16:3:35 | "^"+ data.name + "$" | This regular expression is constructed from a $@. | tst.js:1:46:1:46 | e | user-provided value | +| tst.js:6:16:6:35 | "^"+ data.name + "$" | tst.js:5:16:5:29 | req.query.data | tst.js:6:16:6:35 | "^"+ data.name + "$" | This regular expression is constructed from a $@. | tst.js:5:16:5:29 | req.query.data | user-provided value | diff --git a/javascript/ql/test/query-tests/Security/CWE-730/tst.js b/javascript/ql/test/query-tests/Security/CWE-730/tst.js index 5fdca2a5154..ecbdcc0d83b 100644 --- a/javascript/ql/test/query-tests/Security/CWE-730/tst.js +++ b/javascript/ql/test/query-tests/Security/CWE-730/tst.js @@ -1,12 +1,7 @@ -window.addEventListener("message", function (e) { - let data = e.data; +const express = require('express'); +const app = express(); + +app.get('/foo', (req, res) => { + let data = req.query.data; new RegExp("^"+ data.name + "$", "i"); // NOT OK }); - -const SOMEONE_I_TRUST = "myself"; -window.addEventListener("message", function (e) { - if (e.origin === SOMEONE_I_TRUST) { - let data = e.data; - new RegExp("^"+ data.name + "$", "i"); // OK - } -}); From 9ee7599aebd01cafce5cd051567ee2c5a3804d5e Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 16 Aug 2024 14:36:44 +0200 Subject: [PATCH 080/258] JS: Move AngularJSTemplateUrlSink to ClientSideUrlRedirection query This is not perfect but at least we can be consistent about keeping URLs-that-lead-to-xss in the same query --- .../ClientSideUrlRedirectCustomizations.qll | 9 +++++ .../dataflow/TaintedPathCustomizations.qll | 7 ++-- .../CWE-022/TaintedPath/TaintedPath.expected | 39 ------------------- .../CWE-022/TaintedPath/TaintedPath.js | 2 +- .../Security/CWE-079/DomBasedXss/Xss.expected | 12 ++++++ .../XssWithAdditionalSources.expected | 11 ++++++ .../DomBasedXss/angular-tempate-url.js | 15 +++++++ 7 files changed, 52 insertions(+), 43 deletions(-) create mode 100644 javascript/ql/test/query-tests/Security/CWE-079/DomBasedXss/angular-tempate-url.js diff --git a/javascript/ql/lib/semmle/javascript/security/dataflow/ClientSideUrlRedirectCustomizations.qll b/javascript/ql/lib/semmle/javascript/security/dataflow/ClientSideUrlRedirectCustomizations.qll index 7b3b098b730..3a0c65f295d 100644 --- a/javascript/ql/lib/semmle/javascript/security/dataflow/ClientSideUrlRedirectCustomizations.qll +++ b/javascript/ql/lib/semmle/javascript/security/dataflow/ClientSideUrlRedirectCustomizations.qll @@ -237,6 +237,15 @@ module ClientSideUrlRedirect { override predicate isXssSink() { any() } } + /** + * A `templateUrl` member of an AngularJS directive. + */ + private class AngularJSTemplateUrlSink extends Sink { + AngularJSTemplateUrlSink() { this = any(AngularJS::CustomDirective d).getMember("templateUrl") } + + override predicate isXssSink() { any() } + } + private class SinkFromModel extends Sink { SinkFromModel() { this = ModelOutput::getASinkNode("url-redirection").asSink() } } diff --git a/javascript/ql/lib/semmle/javascript/security/dataflow/TaintedPathCustomizations.qll b/javascript/ql/lib/semmle/javascript/security/dataflow/TaintedPathCustomizations.qll index cd1bb80fce4..73615bfd78b 100644 --- a/javascript/ql/lib/semmle/javascript/security/dataflow/TaintedPathCustomizations.qll +++ b/javascript/ql/lib/semmle/javascript/security/dataflow/TaintedPathCustomizations.qll @@ -653,10 +653,11 @@ module TaintedPath { } /** - * A `templateUrl` member of an AngularJS directive. + * DEPRECATED. This is no longer seen as a path-injection sink. It is tentatively handled + * by the client-side URL redirection query for now. */ - class AngularJSTemplateUrlSink extends Sink, DataFlow::ValueNode { - AngularJSTemplateUrlSink() { this = any(AngularJS::CustomDirective d).getMember("templateUrl") } + deprecated class AngularJSTemplateUrlSink extends DataFlow::ValueNode instanceof Sink { + AngularJSTemplateUrlSink() { none() } } /** diff --git a/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.expected b/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.expected index 177d6b266eb..6c08cc41cda 100644 --- a/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.expected +++ b/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.expected @@ -514,11 +514,6 @@ nodes | TaintedPath.js:60:57:60:60 | path | | TaintedPath.js:60:57:60:60 | path | | TaintedPath.js:60:57:60:60 | path | -| TaintedPath.js:71:26:71:45 | Cookie.get("unsafe") | -| TaintedPath.js:71:26:71:45 | Cookie.get("unsafe") | -| TaintedPath.js:71:26:71:45 | Cookie.get("unsafe") | -| TaintedPath.js:71:26:71:45 | Cookie.get("unsafe") | -| TaintedPath.js:71:26:71:45 | Cookie.get("unsafe") | | TaintedPath.js:77:31:77:70 | require ... eq.url) | | TaintedPath.js:77:31:77:70 | require ... eq.url) | | TaintedPath.js:77:31:77:70 | require ... eq.url) | @@ -639,19 +634,6 @@ nodes | TaintedPath.js:87:48:87:60 | req.params[0] | | TaintedPath.js:87:48:87:60 | req.params[0] | | TaintedPath.js:87:48:87:60 | req.params[0] | -| TaintedPath.js:95:30:95:31 | ev | -| TaintedPath.js:95:30:95:31 | ev | -| TaintedPath.js:95:30:95:31 | ev | -| TaintedPath.js:95:30:95:31 | ev | -| TaintedPath.js:95:30:95:31 | ev | -| TaintedPath.js:96:24:96:25 | ev | -| TaintedPath.js:96:24:96:25 | ev | -| TaintedPath.js:96:24:96:25 | ev | -| TaintedPath.js:96:24:96:25 | ev | -| TaintedPath.js:96:24:96:30 | ev.data | -| TaintedPath.js:96:24:96:30 | ev.data | -| TaintedPath.js:96:24:96:30 | ev.data | -| TaintedPath.js:96:24:96:30 | ev.data | | TaintedPath.js:100:6:100:47 | path | | TaintedPath.js:100:6:100:47 | path | | TaintedPath.js:100:6:100:47 | path | @@ -5373,26 +5355,6 @@ edges | TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | | TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | | TaintedPath.js:87:48:87:60 | req.params[0] | TaintedPath.js:87:48:87:60 | req.params[0] | -| TaintedPath.js:95:30:95:31 | ev | TaintedPath.js:96:24:96:25 | ev | -| TaintedPath.js:95:30:95:31 | ev | TaintedPath.js:96:24:96:25 | ev | -| TaintedPath.js:95:30:95:31 | ev | TaintedPath.js:96:24:96:25 | ev | -| TaintedPath.js:95:30:95:31 | ev | TaintedPath.js:96:24:96:25 | ev | -| TaintedPath.js:95:30:95:31 | ev | TaintedPath.js:96:24:96:25 | ev | -| TaintedPath.js:95:30:95:31 | ev | TaintedPath.js:96:24:96:25 | ev | -| TaintedPath.js:95:30:95:31 | ev | TaintedPath.js:96:24:96:25 | ev | -| TaintedPath.js:95:30:95:31 | ev | TaintedPath.js:96:24:96:25 | ev | -| TaintedPath.js:96:24:96:25 | ev | TaintedPath.js:96:24:96:30 | ev.data | -| TaintedPath.js:96:24:96:25 | ev | TaintedPath.js:96:24:96:30 | ev.data | -| TaintedPath.js:96:24:96:25 | ev | TaintedPath.js:96:24:96:30 | ev.data | -| TaintedPath.js:96:24:96:25 | ev | TaintedPath.js:96:24:96:30 | ev.data | -| TaintedPath.js:96:24:96:30 | ev.data | TaintedPath.js:71:26:71:45 | Cookie.get("unsafe") | -| TaintedPath.js:96:24:96:30 | ev.data | TaintedPath.js:71:26:71:45 | Cookie.get("unsafe") | -| TaintedPath.js:96:24:96:30 | ev.data | TaintedPath.js:71:26:71:45 | Cookie.get("unsafe") | -| TaintedPath.js:96:24:96:30 | ev.data | TaintedPath.js:71:26:71:45 | Cookie.get("unsafe") | -| TaintedPath.js:96:24:96:30 | ev.data | TaintedPath.js:71:26:71:45 | Cookie.get("unsafe") | -| TaintedPath.js:96:24:96:30 | ev.data | TaintedPath.js:71:26:71:45 | Cookie.get("unsafe") | -| TaintedPath.js:96:24:96:30 | ev.data | TaintedPath.js:71:26:71:45 | Cookie.get("unsafe") | -| TaintedPath.js:96:24:96:30 | ev.data | TaintedPath.js:71:26:71:45 | Cookie.get("unsafe") | | TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | | TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | | TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | @@ -10483,7 +10445,6 @@ edges | TaintedPath.js:56:29:56:52 | pathMod ... e(path) | TaintedPath.js:38:20:38:26 | req.url | TaintedPath.js:56:29:56:52 | pathMod ... e(path) | This path depends on a $@. | TaintedPath.js:38:20:38:26 | req.url | user-provided value | | TaintedPath.js:58:29:58:61 | pathMod ... ath, z) | TaintedPath.js:38:20:38:26 | req.url | TaintedPath.js:58:29:58:61 | pathMod ... ath, z) | This path depends on a $@. | TaintedPath.js:38:20:38:26 | req.url | user-provided value | | TaintedPath.js:60:29:60:61 | pathMod ... h(path) | TaintedPath.js:38:20:38:26 | req.url | TaintedPath.js:60:29:60:61 | pathMod ... h(path) | This path depends on a $@. | TaintedPath.js:38:20:38:26 | req.url | user-provided value | -| TaintedPath.js:71:26:71:45 | Cookie.get("unsafe") | TaintedPath.js:95:30:95:31 | ev | TaintedPath.js:71:26:71:45 | Cookie.get("unsafe") | This path depends on a $@. | TaintedPath.js:95:30:95:31 | ev | user-provided value | | TaintedPath.js:77:31:77:76 | require ... ).query | TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:76 | require ... ).query | This path depends on a $@. | TaintedPath.js:77:63:77:69 | req.url | user-provided value | | TaintedPath.js:78:31:78:74 | require ... ).query | TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:74 | require ... ).query | This path depends on a $@. | TaintedPath.js:78:61:78:67 | req.url | user-provided value | | TaintedPath.js:79:31:79:73 | require ... ).query | TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:73 | require ... ).query | This path depends on a $@. | TaintedPath.js:79:60:79:66 | req.url | user-provided value | diff --git a/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.js b/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.js index f98cc9be554..583e8b86810 100644 --- a/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.js +++ b/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.js @@ -68,7 +68,7 @@ angular.module('myApp', []) }) .directive('myCustomer', function() { return { - templateUrl: Cookie.get("unsafe") // NOT OK + templateUrl: Cookie.get("unsafe") // OK - (no longer flagged by this query) } }) diff --git a/javascript/ql/test/query-tests/Security/CWE-079/DomBasedXss/Xss.expected b/javascript/ql/test/query-tests/Security/CWE-079/DomBasedXss/Xss.expected index 0cb0cc99c20..feec74921aa 100644 --- a/javascript/ql/test/query-tests/Security/CWE-079/DomBasedXss/Xss.expected +++ b/javascript/ql/test/query-tests/Security/CWE-079/DomBasedXss/Xss.expected @@ -86,6 +86,12 @@ nodes | angular2-client.ts:44:44:44:76 | routeSn ... ('foo') | | angular2-client.ts:44:44:44:76 | routeSn ... ('foo') | | angular2-client.ts:44:44:44:76 | routeSn ... ('foo') | +| angular-tempate-url.js:9:26:9:45 | Cookie.get("unsafe") | +| angular-tempate-url.js:9:26:9:45 | Cookie.get("unsafe") | +| angular-tempate-url.js:13:30:13:31 | ev | +| angular-tempate-url.js:13:30:13:31 | ev | +| angular-tempate-url.js:14:26:14:27 | ev | +| angular-tempate-url.js:14:26:14:32 | ev.data | | classnames.js:7:31:7:84 | `` | | classnames.js:7:31:7:84 | `` | | classnames.js:7:47:7:69 | classNa ... w.name) | @@ -1275,6 +1281,11 @@ edges | angular2-client.ts:38:44:38:58 | this.router.url | angular2-client.ts:38:44:38:58 | this.router.url | | angular2-client.ts:40:45:40:59 | this.router.url | angular2-client.ts:40:45:40:59 | this.router.url | | angular2-client.ts:44:44:44:76 | routeSn ... ('foo') | angular2-client.ts:44:44:44:76 | routeSn ... ('foo') | +| angular-tempate-url.js:13:30:13:31 | ev | angular-tempate-url.js:14:26:14:27 | ev | +| angular-tempate-url.js:13:30:13:31 | ev | angular-tempate-url.js:14:26:14:27 | ev | +| angular-tempate-url.js:14:26:14:27 | ev | angular-tempate-url.js:14:26:14:32 | ev.data | +| angular-tempate-url.js:14:26:14:32 | ev.data | angular-tempate-url.js:9:26:9:45 | Cookie.get("unsafe") | +| angular-tempate-url.js:14:26:14:32 | ev.data | angular-tempate-url.js:9:26:9:45 | Cookie.get("unsafe") | | classnames.js:7:47:7:69 | classNa ... w.name) | classnames.js:7:31:7:84 | `` | | classnames.js:7:47:7:69 | classNa ... w.name) | classnames.js:7:31:7:84 | `` | | classnames.js:7:58:7:68 | window.name | classnames.js:7:47:7:69 | classNa ... w.name) | @@ -2407,6 +2418,7 @@ edges | angular2-client.ts:38:44:38:58 | this.router.url | angular2-client.ts:38:44:38:58 | this.router.url | angular2-client.ts:38:44:38:58 | this.router.url | Cross-site scripting vulnerability due to $@. | angular2-client.ts:38:44:38:58 | this.router.url | user-provided value | | angular2-client.ts:40:45:40:59 | this.router.url | angular2-client.ts:40:45:40:59 | this.router.url | angular2-client.ts:40:45:40:59 | this.router.url | Cross-site scripting vulnerability due to $@. | angular2-client.ts:40:45:40:59 | this.router.url | user-provided value | | angular2-client.ts:44:44:44:76 | routeSn ... ('foo') | angular2-client.ts:44:44:44:76 | routeSn ... ('foo') | angular2-client.ts:44:44:44:76 | routeSn ... ('foo') | Cross-site scripting vulnerability due to $@. | angular2-client.ts:44:44:44:76 | routeSn ... ('foo') | user-provided value | +| angular-tempate-url.js:9:26:9:45 | Cookie.get("unsafe") | angular-tempate-url.js:13:30:13:31 | ev | angular-tempate-url.js:9:26:9:45 | Cookie.get("unsafe") | Cross-site scripting vulnerability due to $@. | angular-tempate-url.js:13:30:13:31 | ev | user-provided value | | classnames.js:7:31:7:84 | `` | classnames.js:7:58:7:68 | window.name | classnames.js:7:31:7:84 | `` | Cross-site scripting vulnerability due to $@. | classnames.js:7:58:7:68 | window.name | user-provided value | | classnames.js:8:31:8:85 | `` | classnames.js:8:59:8:69 | window.name | classnames.js:8:31:8:85 | `` | Cross-site scripting vulnerability due to $@. | classnames.js:8:59:8:69 | window.name | user-provided value | | classnames.js:9:31:9:85 | `` | classnames.js:9:59:9:69 | window.name | classnames.js:9:31:9:85 | `` | Cross-site scripting vulnerability due to $@. | classnames.js:9:59:9:69 | window.name | user-provided value | diff --git a/javascript/ql/test/query-tests/Security/CWE-079/DomBasedXss/XssWithAdditionalSources.expected b/javascript/ql/test/query-tests/Security/CWE-079/DomBasedXss/XssWithAdditionalSources.expected index 4da197bb047..3b1d10d5162 100644 --- a/javascript/ql/test/query-tests/Security/CWE-079/DomBasedXss/XssWithAdditionalSources.expected +++ b/javascript/ql/test/query-tests/Security/CWE-079/DomBasedXss/XssWithAdditionalSources.expected @@ -86,6 +86,12 @@ nodes | angular2-client.ts:44:44:44:76 | routeSn ... ('foo') | | angular2-client.ts:44:44:44:76 | routeSn ... ('foo') | | angular2-client.ts:44:44:44:76 | routeSn ... ('foo') | +| angular-tempate-url.js:9:26:9:45 | Cookie.get("unsafe") | +| angular-tempate-url.js:9:26:9:45 | Cookie.get("unsafe") | +| angular-tempate-url.js:13:30:13:31 | ev | +| angular-tempate-url.js:13:30:13:31 | ev | +| angular-tempate-url.js:14:26:14:27 | ev | +| angular-tempate-url.js:14:26:14:32 | ev.data | | classnames.js:7:31:7:84 | `` | | classnames.js:7:31:7:84 | `` | | classnames.js:7:47:7:69 | classNa ... w.name) | @@ -1325,6 +1331,11 @@ edges | angular2-client.ts:38:44:38:58 | this.router.url | angular2-client.ts:38:44:38:58 | this.router.url | | angular2-client.ts:40:45:40:59 | this.router.url | angular2-client.ts:40:45:40:59 | this.router.url | | angular2-client.ts:44:44:44:76 | routeSn ... ('foo') | angular2-client.ts:44:44:44:76 | routeSn ... ('foo') | +| angular-tempate-url.js:13:30:13:31 | ev | angular-tempate-url.js:14:26:14:27 | ev | +| angular-tempate-url.js:13:30:13:31 | ev | angular-tempate-url.js:14:26:14:27 | ev | +| angular-tempate-url.js:14:26:14:27 | ev | angular-tempate-url.js:14:26:14:32 | ev.data | +| angular-tempate-url.js:14:26:14:32 | ev.data | angular-tempate-url.js:9:26:9:45 | Cookie.get("unsafe") | +| angular-tempate-url.js:14:26:14:32 | ev.data | angular-tempate-url.js:9:26:9:45 | Cookie.get("unsafe") | | classnames.js:7:47:7:69 | classNa ... w.name) | classnames.js:7:31:7:84 | `` | | classnames.js:7:47:7:69 | classNa ... w.name) | classnames.js:7:31:7:84 | `` | | classnames.js:7:58:7:68 | window.name | classnames.js:7:47:7:69 | classNa ... w.name) | diff --git a/javascript/ql/test/query-tests/Security/CWE-079/DomBasedXss/angular-tempate-url.js b/javascript/ql/test/query-tests/Security/CWE-079/DomBasedXss/angular-tempate-url.js new file mode 100644 index 00000000000..37d3388ee78 --- /dev/null +++ b/javascript/ql/test/query-tests/Security/CWE-079/DomBasedXss/angular-tempate-url.js @@ -0,0 +1,15 @@ +angular.module('myApp', []) + .directive('myCustomer', function() { + return { + templateUrl: "SAFE" // OK + } + }) + .directive('myCustomer', function() { + return { + templateUrl: Cookie.get("unsafe") // NOT OK + } + }); + +addEventListener('message', (ev) => { + Cookie.set("unsafe", ev.data); +}); From 7a7ab457a9e66c1ca6f596cf034348d298a8c91a Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 16 Aug 2024 14:38:54 +0200 Subject: [PATCH 081/258] JS: Delete unneeded test code (and shift line numbers) --- .../CWE-022/TaintedPath/TaintedPath.expected | 5070 ++++++++--------- .../CWE-022/TaintedPath/TaintedPath.js | 36 +- 2 files changed, 2545 insertions(+), 2561 deletions(-) diff --git a/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.expected b/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.expected index 6c08cc41cda..2a3784617e7 100644 --- a/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.expected +++ b/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.expected @@ -514,1009 +514,1009 @@ nodes | TaintedPath.js:60:57:60:60 | path | | TaintedPath.js:60:57:60:60 | path | | TaintedPath.js:60:57:60:60 | path | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:63:77:69 | req.url | -| TaintedPath.js:77:63:77:69 | req.url | -| TaintedPath.js:77:63:77:69 | req.url | -| TaintedPath.js:77:63:77:69 | req.url | -| TaintedPath.js:77:63:77:69 | req.url | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:61:78:67 | req.url | -| TaintedPath.js:78:61:78:67 | req.url | -| TaintedPath.js:78:61:78:67 | req.url | -| TaintedPath.js:78:61:78:67 | req.url | -| TaintedPath.js:78:61:78:67 | req.url | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:60:79:66 | req.url | -| TaintedPath.js:79:60:79:66 | req.url | -| TaintedPath.js:79:60:79:66 | req.url | -| TaintedPath.js:79:60:79:66 | req.url | -| TaintedPath.js:79:60:79:66 | req.url | -| TaintedPath.js:87:48:87:60 | req.params[0] | -| TaintedPath.js:87:48:87:60 | req.params[0] | -| TaintedPath.js:87:48:87:60 | req.params[0] | -| TaintedPath.js:87:48:87:60 | req.params[0] | -| TaintedPath.js:87:48:87:60 | req.params[0] | -| TaintedPath.js:87:48:87:60 | req.params[0] | -| TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:23:100:29 | req.url | -| TaintedPath.js:100:23:100:29 | req.url | -| TaintedPath.js:100:23:100:29 | req.url | -| TaintedPath.js:100:23:100:29 | req.url | -| TaintedPath.js:100:23:100:29 | req.url | -| TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:105:45:105:52 | realpath | -| TaintedPath.js:105:45:105:52 | realpath | -| TaintedPath.js:105:45:105:52 | realpath | -| TaintedPath.js:105:45:105:52 | realpath | -| TaintedPath.js:105:45:105:52 | realpath | -| TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:23:136:29 | req.url | -| TaintedPath.js:136:23:136:29 | req.url | -| TaintedPath.js:136:23:136:29 | req.url | -| TaintedPath.js:136:23:136:29 | req.url | -| TaintedPath.js:136:23:136:29 | req.url | -| TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:24:142:30 | req.url | -| TaintedPath.js:142:24:142:30 | req.url | -| TaintedPath.js:142:24:142:30 | req.url | -| TaintedPath.js:142:24:142:30 | req.url | -| TaintedPath.js:142:24:142:30 | req.url | -| TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:146:7:146:29 | split | -| TaintedPath.js:146:7:146:29 | split | -| TaintedPath.js:146:7:146:29 | split | -| TaintedPath.js:146:7:146:29 | split | -| TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:146:15:146:29 | path.split("/") | -| TaintedPath.js:146:15:146:29 | path.split("/") | -| TaintedPath.js:146:15:146:29 | path.split("/") | -| TaintedPath.js:146:15:146:29 | path.split("/") | -| TaintedPath.js:148:19:148:23 | split | -| TaintedPath.js:148:19:148:23 | split | -| TaintedPath.js:148:19:148:23 | split | -| TaintedPath.js:148:19:148:23 | split | -| TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:152:19:152:23 | split | -| TaintedPath.js:152:19:152:23 | split | -| TaintedPath.js:152:19:152:23 | split | -| TaintedPath.js:152:19:152:23 | split | -| TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:32 | split | -| TaintedPath.js:153:28:153:32 | split | -| TaintedPath.js:153:28:153:32 | split | -| TaintedPath.js:153:28:153:32 | split | -| TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:155:7:155:38 | concatted | -| TaintedPath.js:155:7:155:38 | concatted | -| TaintedPath.js:155:7:155:38 | concatted | -| TaintedPath.js:155:7:155:38 | concatted | -| TaintedPath.js:155:19:155:38 | prefix.concat(split) | -| TaintedPath.js:155:19:155:38 | prefix.concat(split) | -| TaintedPath.js:155:19:155:38 | prefix.concat(split) | -| TaintedPath.js:155:19:155:38 | prefix.concat(split) | -| TaintedPath.js:155:33:155:37 | split | -| TaintedPath.js:155:33:155:37 | split | -| TaintedPath.js:155:33:155:37 | split | -| TaintedPath.js:155:33:155:37 | split | -| TaintedPath.js:156:19:156:27 | concatted | -| TaintedPath.js:156:19:156:27 | concatted | -| TaintedPath.js:156:19:156:27 | concatted | -| TaintedPath.js:156:19:156:27 | concatted | -| TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:158:7:158:39 | concatted2 | -| TaintedPath.js:158:7:158:39 | concatted2 | -| TaintedPath.js:158:7:158:39 | concatted2 | -| TaintedPath.js:158:7:158:39 | concatted2 | -| TaintedPath.js:158:20:158:24 | split | -| TaintedPath.js:158:20:158:24 | split | -| TaintedPath.js:158:20:158:24 | split | -| TaintedPath.js:158:20:158:24 | split | -| TaintedPath.js:158:20:158:39 | split.concat(prefix) | -| TaintedPath.js:158:20:158:39 | split.concat(prefix) | -| TaintedPath.js:158:20:158:39 | split.concat(prefix) | -| TaintedPath.js:158:20:158:39 | split.concat(prefix) | -| TaintedPath.js:159:19:159:28 | concatted2 | -| TaintedPath.js:159:19:159:28 | concatted2 | -| TaintedPath.js:159:19:159:28 | concatted2 | -| TaintedPath.js:159:19:159:28 | concatted2 | -| TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:161:19:161:23 | split | -| TaintedPath.js:161:19:161:23 | split | -| TaintedPath.js:161:19:161:23 | split | -| TaintedPath.js:161:19:161:23 | split | -| TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:24:166:30 | req.url | -| TaintedPath.js:166:24:166:30 | req.url | -| TaintedPath.js:166:24:166:30 | req.url | -| TaintedPath.js:166:24:166:30 | req.url | -| TaintedPath.js:166:24:166:30 | req.url | -| TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:32 | path | -| TaintedPath.js:176:29:176:32 | path | -| TaintedPath.js:176:29:176:32 | path | -| TaintedPath.js:176:29:176:32 | path | -| TaintedPath.js:176:29:176:32 | path | -| TaintedPath.js:176:29:176:32 | path | -| TaintedPath.js:176:29:176:32 | path | -| TaintedPath.js:176:29:176:32 | path | -| TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:32 | path | -| TaintedPath.js:177:29:177:32 | path | -| TaintedPath.js:177:29:177:32 | path | -| TaintedPath.js:177:29:177:32 | path | -| TaintedPath.js:177:29:177:32 | path | -| TaintedPath.js:177:29:177:32 | path | -| TaintedPath.js:177:29:177:32 | path | -| TaintedPath.js:177:29:177:32 | path | -| TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:32 | path | -| TaintedPath.js:178:29:178:32 | path | -| TaintedPath.js:178:29:178:32 | path | -| TaintedPath.js:178:29:178:32 | path | -| TaintedPath.js:178:29:178:32 | path | -| TaintedPath.js:178:29:178:32 | path | -| TaintedPath.js:178:29:178:32 | path | -| TaintedPath.js:178:29:178:32 | path | -| TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:32 | path | -| TaintedPath.js:179:29:179:32 | path | -| TaintedPath.js:179:29:179:32 | path | -| TaintedPath.js:179:29:179:32 | path | -| TaintedPath.js:179:29:179:32 | path | -| TaintedPath.js:179:29:179:32 | path | -| TaintedPath.js:179:29:179:32 | path | -| TaintedPath.js:179:29:179:32 | path | -| TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:43 | path | -| TaintedPath.js:194:40:194:43 | path | -| TaintedPath.js:194:40:194:43 | path | -| TaintedPath.js:194:40:194:43 | path | -| TaintedPath.js:194:40:194:43 | path | -| TaintedPath.js:194:40:194:43 | path | -| TaintedPath.js:194:40:194:43 | path | -| TaintedPath.js:194:40:194:43 | path | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:195:29:195:54 | pathMod ... e(path) | -| TaintedPath.js:195:29:195:54 | pathMod ... e(path) | -| TaintedPath.js:195:29:195:54 | pathMod ... e(path) | -| TaintedPath.js:195:29:195:54 | pathMod ... e(path) | -| TaintedPath.js:195:29:195:84 | pathMod ... +/, '') | -| TaintedPath.js:195:29:195:84 | pathMod ... +/, '') | -| TaintedPath.js:195:29:195:84 | pathMod ... +/, '') | -| TaintedPath.js:195:29:195:84 | pathMod ... +/, '') | -| TaintedPath.js:195:29:195:84 | pathMod ... +/, '') | -| TaintedPath.js:195:50:195:53 | path | -| TaintedPath.js:195:50:195:53 | path | -| TaintedPath.js:195:50:195:53 | path | -| TaintedPath.js:195:50:195:53 | path | -| TaintedPath.js:195:50:195:53 | path | -| TaintedPath.js:195:50:195:53 | path | -| TaintedPath.js:195:50:195:53 | path | -| TaintedPath.js:195:50:195:53 | path | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:38:203:44 | req.url | -| TaintedPath.js:203:38:203:44 | req.url | -| TaintedPath.js:203:38:203:44 | req.url | -| TaintedPath.js:203:38:203:44 | req.url | -| TaintedPath.js:203:38:203:44 | req.url | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | -| TaintedPath.js:204:51:204:57 | req.url | -| TaintedPath.js:204:51:204:57 | req.url | -| TaintedPath.js:204:51:204:57 | req.url | -| TaintedPath.js:204:51:204:57 | req.url | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:44:206:50 | req.url | -| TaintedPath.js:206:44:206:50 | req.url | -| TaintedPath.js:206:44:206:50 | req.url | -| TaintedPath.js:206:44:206:50 | req.url | -| TaintedPath.js:206:44:206:50 | req.url | -| TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:24:211:30 | req.url | -| TaintedPath.js:211:24:211:30 | req.url | -| TaintedPath.js:211:24:211:30 | req.url | -| TaintedPath.js:211:24:211:30 | req.url | -| TaintedPath.js:211:24:211:30 | req.url | -| TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:214:35:214:38 | path | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:63:65:69 | req.url | +| TaintedPath.js:65:63:65:69 | req.url | +| TaintedPath.js:65:63:65:69 | req.url | +| TaintedPath.js:65:63:65:69 | req.url | +| TaintedPath.js:65:63:65:69 | req.url | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:61:66:67 | req.url | +| TaintedPath.js:66:61:66:67 | req.url | +| TaintedPath.js:66:61:66:67 | req.url | +| TaintedPath.js:66:61:66:67 | req.url | +| TaintedPath.js:66:61:66:67 | req.url | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:60:67:66 | req.url | +| TaintedPath.js:67:60:67:66 | req.url | +| TaintedPath.js:67:60:67:66 | req.url | +| TaintedPath.js:67:60:67:66 | req.url | +| TaintedPath.js:67:60:67:66 | req.url | +| TaintedPath.js:75:48:75:60 | req.params[0] | +| TaintedPath.js:75:48:75:60 | req.params[0] | +| TaintedPath.js:75:48:75:60 | req.params[0] | +| TaintedPath.js:75:48:75:60 | req.params[0] | +| TaintedPath.js:75:48:75:60 | req.params[0] | +| TaintedPath.js:75:48:75:60 | req.params[0] | +| TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:23:84:29 | req.url | +| TaintedPath.js:84:23:84:29 | req.url | +| TaintedPath.js:84:23:84:29 | req.url | +| TaintedPath.js:84:23:84:29 | req.url | +| TaintedPath.js:84:23:84:29 | req.url | +| TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:89:45:89:52 | realpath | +| TaintedPath.js:89:45:89:52 | realpath | +| TaintedPath.js:89:45:89:52 | realpath | +| TaintedPath.js:89:45:89:52 | realpath | +| TaintedPath.js:89:45:89:52 | realpath | +| TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:23:120:29 | req.url | +| TaintedPath.js:120:23:120:29 | req.url | +| TaintedPath.js:120:23:120:29 | req.url | +| TaintedPath.js:120:23:120:29 | req.url | +| TaintedPath.js:120:23:120:29 | req.url | +| TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:24:126:30 | req.url | +| TaintedPath.js:126:24:126:30 | req.url | +| TaintedPath.js:126:24:126:30 | req.url | +| TaintedPath.js:126:24:126:30 | req.url | +| TaintedPath.js:126:24:126:30 | req.url | +| TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:130:7:130:29 | split | +| TaintedPath.js:130:7:130:29 | split | +| TaintedPath.js:130:7:130:29 | split | +| TaintedPath.js:130:7:130:29 | split | +| TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:130:15:130:29 | path.split("/") | +| TaintedPath.js:130:15:130:29 | path.split("/") | +| TaintedPath.js:130:15:130:29 | path.split("/") | +| TaintedPath.js:130:15:130:29 | path.split("/") | +| TaintedPath.js:132:19:132:23 | split | +| TaintedPath.js:132:19:132:23 | split | +| TaintedPath.js:132:19:132:23 | split | +| TaintedPath.js:132:19:132:23 | split | +| TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:136:19:136:23 | split | +| TaintedPath.js:136:19:136:23 | split | +| TaintedPath.js:136:19:136:23 | split | +| TaintedPath.js:136:19:136:23 | split | +| TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:32 | split | +| TaintedPath.js:137:28:137:32 | split | +| TaintedPath.js:137:28:137:32 | split | +| TaintedPath.js:137:28:137:32 | split | +| TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:139:7:139:38 | concatted | +| TaintedPath.js:139:7:139:38 | concatted | +| TaintedPath.js:139:7:139:38 | concatted | +| TaintedPath.js:139:7:139:38 | concatted | +| TaintedPath.js:139:19:139:38 | prefix.concat(split) | +| TaintedPath.js:139:19:139:38 | prefix.concat(split) | +| TaintedPath.js:139:19:139:38 | prefix.concat(split) | +| TaintedPath.js:139:19:139:38 | prefix.concat(split) | +| TaintedPath.js:139:33:139:37 | split | +| TaintedPath.js:139:33:139:37 | split | +| TaintedPath.js:139:33:139:37 | split | +| TaintedPath.js:139:33:139:37 | split | +| TaintedPath.js:140:19:140:27 | concatted | +| TaintedPath.js:140:19:140:27 | concatted | +| TaintedPath.js:140:19:140:27 | concatted | +| TaintedPath.js:140:19:140:27 | concatted | +| TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:142:7:142:39 | concatted2 | +| TaintedPath.js:142:7:142:39 | concatted2 | +| TaintedPath.js:142:7:142:39 | concatted2 | +| TaintedPath.js:142:7:142:39 | concatted2 | +| TaintedPath.js:142:20:142:24 | split | +| TaintedPath.js:142:20:142:24 | split | +| TaintedPath.js:142:20:142:24 | split | +| TaintedPath.js:142:20:142:24 | split | +| TaintedPath.js:142:20:142:39 | split.concat(prefix) | +| TaintedPath.js:142:20:142:39 | split.concat(prefix) | +| TaintedPath.js:142:20:142:39 | split.concat(prefix) | +| TaintedPath.js:142:20:142:39 | split.concat(prefix) | +| TaintedPath.js:143:19:143:28 | concatted2 | +| TaintedPath.js:143:19:143:28 | concatted2 | +| TaintedPath.js:143:19:143:28 | concatted2 | +| TaintedPath.js:143:19:143:28 | concatted2 | +| TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:145:19:145:23 | split | +| TaintedPath.js:145:19:145:23 | split | +| TaintedPath.js:145:19:145:23 | split | +| TaintedPath.js:145:19:145:23 | split | +| TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:24:150:30 | req.url | +| TaintedPath.js:150:24:150:30 | req.url | +| TaintedPath.js:150:24:150:30 | req.url | +| TaintedPath.js:150:24:150:30 | req.url | +| TaintedPath.js:150:24:150:30 | req.url | +| TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:32 | path | +| TaintedPath.js:160:29:160:32 | path | +| TaintedPath.js:160:29:160:32 | path | +| TaintedPath.js:160:29:160:32 | path | +| TaintedPath.js:160:29:160:32 | path | +| TaintedPath.js:160:29:160:32 | path | +| TaintedPath.js:160:29:160:32 | path | +| TaintedPath.js:160:29:160:32 | path | +| TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:32 | path | +| TaintedPath.js:161:29:161:32 | path | +| TaintedPath.js:161:29:161:32 | path | +| TaintedPath.js:161:29:161:32 | path | +| TaintedPath.js:161:29:161:32 | path | +| TaintedPath.js:161:29:161:32 | path | +| TaintedPath.js:161:29:161:32 | path | +| TaintedPath.js:161:29:161:32 | path | +| TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:32 | path | +| TaintedPath.js:162:29:162:32 | path | +| TaintedPath.js:162:29:162:32 | path | +| TaintedPath.js:162:29:162:32 | path | +| TaintedPath.js:162:29:162:32 | path | +| TaintedPath.js:162:29:162:32 | path | +| TaintedPath.js:162:29:162:32 | path | +| TaintedPath.js:162:29:162:32 | path | +| TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:32 | path | +| TaintedPath.js:163:29:163:32 | path | +| TaintedPath.js:163:29:163:32 | path | +| TaintedPath.js:163:29:163:32 | path | +| TaintedPath.js:163:29:163:32 | path | +| TaintedPath.js:163:29:163:32 | path | +| TaintedPath.js:163:29:163:32 | path | +| TaintedPath.js:163:29:163:32 | path | +| TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:43 | path | +| TaintedPath.js:178:40:178:43 | path | +| TaintedPath.js:178:40:178:43 | path | +| TaintedPath.js:178:40:178:43 | path | +| TaintedPath.js:178:40:178:43 | path | +| TaintedPath.js:178:40:178:43 | path | +| TaintedPath.js:178:40:178:43 | path | +| TaintedPath.js:178:40:178:43 | path | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:179:29:179:54 | pathMod ... e(path) | +| TaintedPath.js:179:29:179:54 | pathMod ... e(path) | +| TaintedPath.js:179:29:179:54 | pathMod ... e(path) | +| TaintedPath.js:179:29:179:54 | pathMod ... e(path) | +| TaintedPath.js:179:29:179:84 | pathMod ... +/, '') | +| TaintedPath.js:179:29:179:84 | pathMod ... +/, '') | +| TaintedPath.js:179:29:179:84 | pathMod ... +/, '') | +| TaintedPath.js:179:29:179:84 | pathMod ... +/, '') | +| TaintedPath.js:179:29:179:84 | pathMod ... +/, '') | +| TaintedPath.js:179:50:179:53 | path | +| TaintedPath.js:179:50:179:53 | path | +| TaintedPath.js:179:50:179:53 | path | +| TaintedPath.js:179:50:179:53 | path | +| TaintedPath.js:179:50:179:53 | path | +| TaintedPath.js:179:50:179:53 | path | +| TaintedPath.js:179:50:179:53 | path | +| TaintedPath.js:179:50:179:53 | path | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:38:187:44 | req.url | +| TaintedPath.js:187:38:187:44 | req.url | +| TaintedPath.js:187:38:187:44 | req.url | +| TaintedPath.js:187:38:187:44 | req.url | +| TaintedPath.js:187:38:187:44 | req.url | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | +| TaintedPath.js:188:51:188:57 | req.url | +| TaintedPath.js:188:51:188:57 | req.url | +| TaintedPath.js:188:51:188:57 | req.url | +| TaintedPath.js:188:51:188:57 | req.url | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:44:190:50 | req.url | +| TaintedPath.js:190:44:190:50 | req.url | +| TaintedPath.js:190:44:190:50 | req.url | +| TaintedPath.js:190:44:190:50 | req.url | +| TaintedPath.js:190:44:190:50 | req.url | +| TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:24:195:30 | req.url | +| TaintedPath.js:195:24:195:30 | req.url | +| TaintedPath.js:195:24:195:30 | req.url | +| TaintedPath.js:195:24:195:30 | req.url | +| TaintedPath.js:195:24:195:30 | req.url | +| TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:198:35:198:38 | path | | examples/TaintedPath.js:8:7:8:52 | filePath | | examples/TaintedPath.js:8:7:8:52 | filePath | | examples/TaintedPath.js:8:7:8:52 | filePath | @@ -5162,1511 +5162,1511 @@ edges | TaintedPath.js:60:57:60:60 | path | TaintedPath.js:60:29:60:61 | pathMod ... h(path) | | TaintedPath.js:60:57:60:60 | path | TaintedPath.js:60:29:60:61 | pathMod ... h(path) | | TaintedPath.js:60:57:60:60 | path | TaintedPath.js:60:29:60:61 | pathMod ... h(path) | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:31:77:70 | require ... eq.url) | TaintedPath.js:77:31:77:76 | require ... ).query | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:70 | require ... eq.url) | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:31:78:68 | require ... eq.url) | TaintedPath.js:78:31:78:74 | require ... ).query | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:68 | require ... eq.url) | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:31:79:67 | require ... eq.url) | TaintedPath.js:79:31:79:73 | require ... ).query | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:67 | require ... eq.url) | -| TaintedPath.js:87:48:87:60 | req.params[0] | TaintedPath.js:87:48:87:60 | req.params[0] | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:102:44:102:47 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:100:6:100:47 | path | TaintedPath.js:103:14:103:17 | path | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:36 | url.par ... , true) | TaintedPath.js:100:13:100:42 | url.par ... ).query | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:42 | url.par ... ).query | TaintedPath.js:100:13:100:47 | url.par ... ry.path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:13:100:47 | url.par ... ry.path | TaintedPath.js:100:6:100:47 | path | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:100:13:100:36 | url.par ... , true) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:102:44:102:47 | path | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | -| TaintedPath.js:103:14:103:17 | path | TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:103:14:103:17 | path | TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:103:14:103:17 | path | TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:103:14:103:17 | path | TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:103:14:103:17 | path | TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:103:14:103:17 | path | TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:103:14:103:17 | path | TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:103:14:103:17 | path | TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:103:14:103:17 | path | TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:103:14:103:17 | path | TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:103:14:103:17 | path | TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:103:14:103:17 | path | TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:103:14:103:17 | path | TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:103:14:103:17 | path | TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:103:14:103:17 | path | TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:103:14:103:17 | path | TaintedPath.js:104:32:104:39 | realpath | -| TaintedPath.js:104:32:104:39 | realpath | TaintedPath.js:105:45:105:52 | realpath | -| TaintedPath.js:104:32:104:39 | realpath | TaintedPath.js:105:45:105:52 | realpath | -| TaintedPath.js:104:32:104:39 | realpath | TaintedPath.js:105:45:105:52 | realpath | -| TaintedPath.js:104:32:104:39 | realpath | TaintedPath.js:105:45:105:52 | realpath | -| TaintedPath.js:104:32:104:39 | realpath | TaintedPath.js:105:45:105:52 | realpath | -| TaintedPath.js:104:32:104:39 | realpath | TaintedPath.js:105:45:105:52 | realpath | -| TaintedPath.js:104:32:104:39 | realpath | TaintedPath.js:105:45:105:52 | realpath | -| TaintedPath.js:104:32:104:39 | realpath | TaintedPath.js:105:45:105:52 | realpath | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:6:136:47 | path | TaintedPath.js:138:23:138:26 | path | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:36 | url.par ... , true) | TaintedPath.js:136:13:136:42 | url.par ... ).query | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:42 | url.par ... ).query | TaintedPath.js:136:13:136:47 | url.par ... ry.path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:13:136:47 | url.par ... ry.path | TaintedPath.js:136:6:136:47 | path | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:136:13:136:36 | url.par ... , true) | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:144:19:144:22 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:142:7:142:48 | path | TaintedPath.js:146:15:146:18 | path | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:37 | url.par ... , true) | TaintedPath.js:142:14:142:43 | url.par ... ).query | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:43 | url.par ... ).query | TaintedPath.js:142:14:142:48 | url.par ... ry.path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:14:142:48 | url.par ... ry.path | TaintedPath.js:142:7:142:48 | path | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:142:14:142:37 | url.par ... , true) | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:148:19:148:23 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:148:19:148:23 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:148:19:148:23 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:148:19:148:23 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:152:19:152:23 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:152:19:152:23 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:152:19:152:23 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:152:19:152:23 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:153:28:153:32 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:153:28:153:32 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:153:28:153:32 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:153:28:153:32 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:155:33:155:37 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:155:33:155:37 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:155:33:155:37 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:155:33:155:37 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:158:20:158:24 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:158:20:158:24 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:158:20:158:24 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:158:20:158:24 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:161:19:161:23 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:161:19:161:23 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:161:19:161:23 | split | -| TaintedPath.js:146:7:146:29 | split | TaintedPath.js:161:19:161:23 | split | -| TaintedPath.js:146:15:146:18 | path | TaintedPath.js:146:15:146:29 | path.split("/") | -| TaintedPath.js:146:15:146:18 | path | TaintedPath.js:146:15:146:29 | path.split("/") | -| TaintedPath.js:146:15:146:18 | path | TaintedPath.js:146:15:146:29 | path.split("/") | -| TaintedPath.js:146:15:146:18 | path | TaintedPath.js:146:15:146:29 | path.split("/") | -| TaintedPath.js:146:15:146:18 | path | TaintedPath.js:146:15:146:29 | path.split("/") | -| TaintedPath.js:146:15:146:18 | path | TaintedPath.js:146:15:146:29 | path.split("/") | -| TaintedPath.js:146:15:146:18 | path | TaintedPath.js:146:15:146:29 | path.split("/") | -| TaintedPath.js:146:15:146:18 | path | TaintedPath.js:146:15:146:29 | path.split("/") | -| TaintedPath.js:146:15:146:18 | path | TaintedPath.js:146:15:146:29 | path.split("/") | -| TaintedPath.js:146:15:146:18 | path | TaintedPath.js:146:15:146:29 | path.split("/") | -| TaintedPath.js:146:15:146:18 | path | TaintedPath.js:146:15:146:29 | path.split("/") | -| TaintedPath.js:146:15:146:18 | path | TaintedPath.js:146:15:146:29 | path.split("/") | -| TaintedPath.js:146:15:146:29 | path.split("/") | TaintedPath.js:146:7:146:29 | split | -| TaintedPath.js:146:15:146:29 | path.split("/") | TaintedPath.js:146:7:146:29 | split | -| TaintedPath.js:146:15:146:29 | path.split("/") | TaintedPath.js:146:7:146:29 | split | -| TaintedPath.js:146:15:146:29 | path.split("/") | TaintedPath.js:146:7:146:29 | split | -| TaintedPath.js:148:19:148:23 | split | TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:23 | split | TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:23 | split | TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:23 | split | TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:23 | split | TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:23 | split | TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:23 | split | TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:23 | split | TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:23 | split | TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:23 | split | TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:23 | split | TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:23 | split | TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:23 | split | TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:23 | split | TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:23 | split | TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:148:19:148:23 | split | TaintedPath.js:148:19:148:33 | split.join("/") | -| TaintedPath.js:152:19:152:23 | split | TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:23 | split | TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:23 | split | TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:23 | split | TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:23 | split | TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:23 | split | TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:23 | split | TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:23 | split | TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:23 | split | TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:23 | split | TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:23 | split | TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:23 | split | TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:23 | split | TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:23 | split | TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:23 | split | TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:152:19:152:23 | split | TaintedPath.js:152:19:152:26 | split[x] | -| TaintedPath.js:153:28:153:32 | split | TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:32 | split | TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:32 | split | TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:32 | split | TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:32 | split | TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:32 | split | TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:32 | split | TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:32 | split | TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:32 | split | TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:32 | split | TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:32 | split | TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:32 | split | TaintedPath.js:153:28:153:35 | split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:153:28:153:35 | split[x] | TaintedPath.js:153:19:153:35 | prefix + split[x] | -| TaintedPath.js:155:7:155:38 | concatted | TaintedPath.js:156:19:156:27 | concatted | -| TaintedPath.js:155:7:155:38 | concatted | TaintedPath.js:156:19:156:27 | concatted | -| TaintedPath.js:155:7:155:38 | concatted | TaintedPath.js:156:19:156:27 | concatted | -| TaintedPath.js:155:7:155:38 | concatted | TaintedPath.js:156:19:156:27 | concatted | -| TaintedPath.js:155:19:155:38 | prefix.concat(split) | TaintedPath.js:155:7:155:38 | concatted | -| TaintedPath.js:155:19:155:38 | prefix.concat(split) | TaintedPath.js:155:7:155:38 | concatted | -| TaintedPath.js:155:19:155:38 | prefix.concat(split) | TaintedPath.js:155:7:155:38 | concatted | -| TaintedPath.js:155:19:155:38 | prefix.concat(split) | TaintedPath.js:155:7:155:38 | concatted | -| TaintedPath.js:155:33:155:37 | split | TaintedPath.js:155:19:155:38 | prefix.concat(split) | -| TaintedPath.js:155:33:155:37 | split | TaintedPath.js:155:19:155:38 | prefix.concat(split) | -| TaintedPath.js:155:33:155:37 | split | TaintedPath.js:155:19:155:38 | prefix.concat(split) | -| TaintedPath.js:155:33:155:37 | split | TaintedPath.js:155:19:155:38 | prefix.concat(split) | -| TaintedPath.js:156:19:156:27 | concatted | TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:27 | concatted | TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:27 | concatted | TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:27 | concatted | TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:27 | concatted | TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:27 | concatted | TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:27 | concatted | TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:27 | concatted | TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:27 | concatted | TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:27 | concatted | TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:27 | concatted | TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:27 | concatted | TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:27 | concatted | TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:27 | concatted | TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:27 | concatted | TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:156:19:156:27 | concatted | TaintedPath.js:156:19:156:37 | concatted.join("/") | -| TaintedPath.js:158:7:158:39 | concatted2 | TaintedPath.js:159:19:159:28 | concatted2 | -| TaintedPath.js:158:7:158:39 | concatted2 | TaintedPath.js:159:19:159:28 | concatted2 | -| TaintedPath.js:158:7:158:39 | concatted2 | TaintedPath.js:159:19:159:28 | concatted2 | -| TaintedPath.js:158:7:158:39 | concatted2 | TaintedPath.js:159:19:159:28 | concatted2 | -| TaintedPath.js:158:20:158:24 | split | TaintedPath.js:158:20:158:39 | split.concat(prefix) | -| TaintedPath.js:158:20:158:24 | split | TaintedPath.js:158:20:158:39 | split.concat(prefix) | -| TaintedPath.js:158:20:158:24 | split | TaintedPath.js:158:20:158:39 | split.concat(prefix) | -| TaintedPath.js:158:20:158:24 | split | TaintedPath.js:158:20:158:39 | split.concat(prefix) | -| TaintedPath.js:158:20:158:39 | split.concat(prefix) | TaintedPath.js:158:7:158:39 | concatted2 | -| TaintedPath.js:158:20:158:39 | split.concat(prefix) | TaintedPath.js:158:7:158:39 | concatted2 | -| TaintedPath.js:158:20:158:39 | split.concat(prefix) | TaintedPath.js:158:7:158:39 | concatted2 | -| TaintedPath.js:158:20:158:39 | split.concat(prefix) | TaintedPath.js:158:7:158:39 | concatted2 | -| TaintedPath.js:159:19:159:28 | concatted2 | TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:28 | concatted2 | TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:28 | concatted2 | TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:28 | concatted2 | TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:28 | concatted2 | TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:28 | concatted2 | TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:28 | concatted2 | TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:28 | concatted2 | TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:28 | concatted2 | TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:28 | concatted2 | TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:28 | concatted2 | TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:28 | concatted2 | TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:28 | concatted2 | TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:28 | concatted2 | TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:28 | concatted2 | TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:159:19:159:28 | concatted2 | TaintedPath.js:159:19:159:38 | concatted2.join("/") | -| TaintedPath.js:161:19:161:23 | split | TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:23 | split | TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:23 | split | TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:23 | split | TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:23 | split | TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:23 | split | TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:23 | split | TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:23 | split | TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:23 | split | TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:23 | split | TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:23 | split | TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:23 | split | TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:23 | split | TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:23 | split | TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:23 | split | TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:161:19:161:23 | split | TaintedPath.js:161:19:161:29 | split.pop() | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:170:29:170:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:176:29:176:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:176:29:176:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:176:29:176:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:176:29:176:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:176:29:176:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:176:29:176:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:176:29:176:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:176:29:176:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:177:29:177:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:177:29:177:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:177:29:177:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:177:29:177:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:177:29:177:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:177:29:177:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:177:29:177:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:177:29:177:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:178:29:178:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:178:29:178:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:178:29:178:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:178:29:178:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:178:29:178:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:178:29:178:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:178:29:178:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:178:29:178:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:179:29:179:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:179:29:179:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:179:29:179:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:179:29:179:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:179:29:179:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:179:29:179:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:179:29:179:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:179:29:179:32 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:194:40:194:43 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:194:40:194:43 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:194:40:194:43 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:194:40:194:43 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:194:40:194:43 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:194:40:194:43 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:194:40:194:43 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:194:40:194:43 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:195:50:195:53 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:195:50:195:53 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:195:50:195:53 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:195:50:195:53 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:195:50:195:53 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:195:50:195:53 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:195:50:195:53 | path | -| TaintedPath.js:166:7:166:48 | path | TaintedPath.js:195:50:195:53 | path | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:37 | url.par ... , true) | TaintedPath.js:166:14:166:43 | url.par ... ).query | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:43 | url.par ... ).query | TaintedPath.js:166:14:166:48 | url.par ... ry.path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:14:166:48 | url.par ... ry.path | TaintedPath.js:166:7:166:48 | path | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:166:14:166:37 | url.par ... , true) | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:170:29:170:32 | path | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:32 | path | TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:32 | path | TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:32 | path | TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:32 | path | TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:32 | path | TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:32 | path | TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:32 | path | TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:32 | path | TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:32 | path | TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:32 | path | TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:32 | path | TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:32 | path | TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:32 | path | TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:32 | path | TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:32 | path | TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:176:29:176:32 | path | TaintedPath.js:176:29:176:52 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:32 | path | TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:32 | path | TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:32 | path | TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:32 | path | TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:32 | path | TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:32 | path | TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:32 | path | TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:32 | path | TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:32 | path | TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:32 | path | TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:32 | path | TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:32 | path | TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:32 | path | TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:32 | path | TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:32 | path | TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:177:29:177:32 | path | TaintedPath.js:177:29:177:53 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:32 | path | TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:32 | path | TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:32 | path | TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:32 | path | TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:32 | path | TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:32 | path | TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:32 | path | TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:32 | path | TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:32 | path | TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:32 | path | TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:32 | path | TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:32 | path | TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:32 | path | TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:32 | path | TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:32 | path | TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:178:29:178:32 | path | TaintedPath.js:178:29:178:51 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:32 | path | TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:32 | path | TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:32 | path | TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:32 | path | TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:32 | path | TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:32 | path | TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:32 | path | TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:32 | path | TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:32 | path | TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:32 | path | TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:32 | path | TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:32 | path | TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:32 | path | TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:32 | path | TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:32 | path | TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:179:29:179:32 | path | TaintedPath.js:179:29:179:57 | path.re ... /g, '') | -| TaintedPath.js:194:40:194:43 | path | TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:43 | path | TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:43 | path | TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:43 | path | TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:43 | path | TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:43 | path | TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:43 | path | TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:43 | path | TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:43 | path | TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:43 | path | TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:43 | path | TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:43 | path | TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:43 | path | TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:43 | path | TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:43 | path | TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:43 | path | TaintedPath.js:194:40:194:73 | path.re ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:194:40:194:73 | path.re ... +/, '') | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | -| TaintedPath.js:195:29:195:54 | pathMod ... e(path) | TaintedPath.js:195:29:195:84 | pathMod ... +/, '') | -| TaintedPath.js:195:29:195:54 | pathMod ... e(path) | TaintedPath.js:195:29:195:84 | pathMod ... +/, '') | -| TaintedPath.js:195:29:195:54 | pathMod ... e(path) | TaintedPath.js:195:29:195:84 | pathMod ... +/, '') | -| TaintedPath.js:195:29:195:54 | pathMod ... e(path) | TaintedPath.js:195:29:195:84 | pathMod ... +/, '') | -| TaintedPath.js:195:29:195:54 | pathMod ... e(path) | TaintedPath.js:195:29:195:84 | pathMod ... +/, '') | -| TaintedPath.js:195:29:195:54 | pathMod ... e(path) | TaintedPath.js:195:29:195:84 | pathMod ... +/, '') | -| TaintedPath.js:195:29:195:54 | pathMod ... e(path) | TaintedPath.js:195:29:195:84 | pathMod ... +/, '') | -| TaintedPath.js:195:29:195:54 | pathMod ... e(path) | TaintedPath.js:195:29:195:84 | pathMod ... +/, '') | -| TaintedPath.js:195:50:195:53 | path | TaintedPath.js:195:29:195:54 | pathMod ... e(path) | -| TaintedPath.js:195:50:195:53 | path | TaintedPath.js:195:29:195:54 | pathMod ... e(path) | -| TaintedPath.js:195:50:195:53 | path | TaintedPath.js:195:29:195:54 | pathMod ... e(path) | -| TaintedPath.js:195:50:195:53 | path | TaintedPath.js:195:29:195:54 | pathMod ... e(path) | -| TaintedPath.js:195:50:195:53 | path | TaintedPath.js:195:29:195:54 | pathMod ... e(path) | -| TaintedPath.js:195:50:195:53 | path | TaintedPath.js:195:29:195:54 | pathMod ... e(path) | -| TaintedPath.js:195:50:195:53 | path | TaintedPath.js:195:29:195:54 | pathMod ... e(path) | -| TaintedPath.js:195:50:195:53 | path | TaintedPath.js:195:29:195:54 | pathMod ... e(path) | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:29:203:45 | qs.parse(req.url) | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:45 | qs.parse(req.url) | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:38:204:58 | normali ... eq.url) | TaintedPath.js:204:29:204:59 | qs.pars ... q.url)) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:38:204:58 | normali ... eq.url) | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:51 | parseqs ... eq.url) | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:212:31:212:34 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:213:45:213:48 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:7:211:48 | path | TaintedPath.js:214:35:214:38 | path | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:37 | url.par ... , true) | TaintedPath.js:211:14:211:43 | url.par ... ).query | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:43 | url.par ... ).query | TaintedPath.js:211:14:211:48 | url.par ... ry.path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:14:211:48 | url.par ... ry.path | TaintedPath.js:211:7:211:48 | path | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | -| TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:211:14:211:37 | url.par ... , true) | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:31:65:70 | require ... eq.url) | TaintedPath.js:65:31:65:76 | require ... ).query | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:70 | require ... eq.url) | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:31:66:68 | require ... eq.url) | TaintedPath.js:66:31:66:74 | require ... ).query | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:68 | require ... eq.url) | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:31:67:67 | require ... eq.url) | TaintedPath.js:67:31:67:73 | require ... ).query | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:67 | require ... eq.url) | +| TaintedPath.js:75:48:75:60 | req.params[0] | TaintedPath.js:75:48:75:60 | req.params[0] | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:86:44:86:47 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:84:6:84:47 | path | TaintedPath.js:87:14:87:17 | path | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:36 | url.par ... , true) | TaintedPath.js:84:13:84:42 | url.par ... ).query | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:42 | url.par ... ).query | TaintedPath.js:84:13:84:47 | url.par ... ry.path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:13:84:47 | url.par ... ry.path | TaintedPath.js:84:6:84:47 | path | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:84:13:84:36 | url.par ... , true) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:86:44:86:47 | path | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | +| TaintedPath.js:87:14:87:17 | path | TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:87:14:87:17 | path | TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:87:14:87:17 | path | TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:87:14:87:17 | path | TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:87:14:87:17 | path | TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:87:14:87:17 | path | TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:87:14:87:17 | path | TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:87:14:87:17 | path | TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:87:14:87:17 | path | TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:87:14:87:17 | path | TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:87:14:87:17 | path | TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:87:14:87:17 | path | TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:87:14:87:17 | path | TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:87:14:87:17 | path | TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:87:14:87:17 | path | TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:87:14:87:17 | path | TaintedPath.js:88:32:88:39 | realpath | +| TaintedPath.js:88:32:88:39 | realpath | TaintedPath.js:89:45:89:52 | realpath | +| TaintedPath.js:88:32:88:39 | realpath | TaintedPath.js:89:45:89:52 | realpath | +| TaintedPath.js:88:32:88:39 | realpath | TaintedPath.js:89:45:89:52 | realpath | +| TaintedPath.js:88:32:88:39 | realpath | TaintedPath.js:89:45:89:52 | realpath | +| TaintedPath.js:88:32:88:39 | realpath | TaintedPath.js:89:45:89:52 | realpath | +| TaintedPath.js:88:32:88:39 | realpath | TaintedPath.js:89:45:89:52 | realpath | +| TaintedPath.js:88:32:88:39 | realpath | TaintedPath.js:89:45:89:52 | realpath | +| TaintedPath.js:88:32:88:39 | realpath | TaintedPath.js:89:45:89:52 | realpath | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:6:120:47 | path | TaintedPath.js:122:23:122:26 | path | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:36 | url.par ... , true) | TaintedPath.js:120:13:120:42 | url.par ... ).query | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:42 | url.par ... ).query | TaintedPath.js:120:13:120:47 | url.par ... ry.path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:13:120:47 | url.par ... ry.path | TaintedPath.js:120:6:120:47 | path | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:120:13:120:36 | url.par ... , true) | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:128:19:128:22 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:126:7:126:48 | path | TaintedPath.js:130:15:130:18 | path | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:37 | url.par ... , true) | TaintedPath.js:126:14:126:43 | url.par ... ).query | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:43 | url.par ... ).query | TaintedPath.js:126:14:126:48 | url.par ... ry.path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:14:126:48 | url.par ... ry.path | TaintedPath.js:126:7:126:48 | path | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:126:14:126:37 | url.par ... , true) | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:132:19:132:23 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:132:19:132:23 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:132:19:132:23 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:132:19:132:23 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:136:19:136:23 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:136:19:136:23 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:136:19:136:23 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:136:19:136:23 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:137:28:137:32 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:137:28:137:32 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:137:28:137:32 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:137:28:137:32 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:139:33:139:37 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:139:33:139:37 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:139:33:139:37 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:139:33:139:37 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:142:20:142:24 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:142:20:142:24 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:142:20:142:24 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:142:20:142:24 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:145:19:145:23 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:145:19:145:23 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:145:19:145:23 | split | +| TaintedPath.js:130:7:130:29 | split | TaintedPath.js:145:19:145:23 | split | +| TaintedPath.js:130:15:130:18 | path | TaintedPath.js:130:15:130:29 | path.split("/") | +| TaintedPath.js:130:15:130:18 | path | TaintedPath.js:130:15:130:29 | path.split("/") | +| TaintedPath.js:130:15:130:18 | path | TaintedPath.js:130:15:130:29 | path.split("/") | +| TaintedPath.js:130:15:130:18 | path | TaintedPath.js:130:15:130:29 | path.split("/") | +| TaintedPath.js:130:15:130:18 | path | TaintedPath.js:130:15:130:29 | path.split("/") | +| TaintedPath.js:130:15:130:18 | path | TaintedPath.js:130:15:130:29 | path.split("/") | +| TaintedPath.js:130:15:130:18 | path | TaintedPath.js:130:15:130:29 | path.split("/") | +| TaintedPath.js:130:15:130:18 | path | TaintedPath.js:130:15:130:29 | path.split("/") | +| TaintedPath.js:130:15:130:18 | path | TaintedPath.js:130:15:130:29 | path.split("/") | +| TaintedPath.js:130:15:130:18 | path | TaintedPath.js:130:15:130:29 | path.split("/") | +| TaintedPath.js:130:15:130:18 | path | TaintedPath.js:130:15:130:29 | path.split("/") | +| TaintedPath.js:130:15:130:18 | path | TaintedPath.js:130:15:130:29 | path.split("/") | +| TaintedPath.js:130:15:130:29 | path.split("/") | TaintedPath.js:130:7:130:29 | split | +| TaintedPath.js:130:15:130:29 | path.split("/") | TaintedPath.js:130:7:130:29 | split | +| TaintedPath.js:130:15:130:29 | path.split("/") | TaintedPath.js:130:7:130:29 | split | +| TaintedPath.js:130:15:130:29 | path.split("/") | TaintedPath.js:130:7:130:29 | split | +| TaintedPath.js:132:19:132:23 | split | TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:23 | split | TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:23 | split | TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:23 | split | TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:23 | split | TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:23 | split | TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:23 | split | TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:23 | split | TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:23 | split | TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:23 | split | TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:23 | split | TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:23 | split | TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:23 | split | TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:23 | split | TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:23 | split | TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:132:19:132:23 | split | TaintedPath.js:132:19:132:33 | split.join("/") | +| TaintedPath.js:136:19:136:23 | split | TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:23 | split | TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:23 | split | TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:23 | split | TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:23 | split | TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:23 | split | TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:23 | split | TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:23 | split | TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:23 | split | TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:23 | split | TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:23 | split | TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:23 | split | TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:23 | split | TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:23 | split | TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:23 | split | TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:136:19:136:23 | split | TaintedPath.js:136:19:136:26 | split[x] | +| TaintedPath.js:137:28:137:32 | split | TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:32 | split | TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:32 | split | TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:32 | split | TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:32 | split | TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:32 | split | TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:32 | split | TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:32 | split | TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:32 | split | TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:32 | split | TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:32 | split | TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:32 | split | TaintedPath.js:137:28:137:35 | split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:137:28:137:35 | split[x] | TaintedPath.js:137:19:137:35 | prefix + split[x] | +| TaintedPath.js:139:7:139:38 | concatted | TaintedPath.js:140:19:140:27 | concatted | +| TaintedPath.js:139:7:139:38 | concatted | TaintedPath.js:140:19:140:27 | concatted | +| TaintedPath.js:139:7:139:38 | concatted | TaintedPath.js:140:19:140:27 | concatted | +| TaintedPath.js:139:7:139:38 | concatted | TaintedPath.js:140:19:140:27 | concatted | +| TaintedPath.js:139:19:139:38 | prefix.concat(split) | TaintedPath.js:139:7:139:38 | concatted | +| TaintedPath.js:139:19:139:38 | prefix.concat(split) | TaintedPath.js:139:7:139:38 | concatted | +| TaintedPath.js:139:19:139:38 | prefix.concat(split) | TaintedPath.js:139:7:139:38 | concatted | +| TaintedPath.js:139:19:139:38 | prefix.concat(split) | TaintedPath.js:139:7:139:38 | concatted | +| TaintedPath.js:139:33:139:37 | split | TaintedPath.js:139:19:139:38 | prefix.concat(split) | +| TaintedPath.js:139:33:139:37 | split | TaintedPath.js:139:19:139:38 | prefix.concat(split) | +| TaintedPath.js:139:33:139:37 | split | TaintedPath.js:139:19:139:38 | prefix.concat(split) | +| TaintedPath.js:139:33:139:37 | split | TaintedPath.js:139:19:139:38 | prefix.concat(split) | +| TaintedPath.js:140:19:140:27 | concatted | TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:27 | concatted | TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:27 | concatted | TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:27 | concatted | TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:27 | concatted | TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:27 | concatted | TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:27 | concatted | TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:27 | concatted | TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:27 | concatted | TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:27 | concatted | TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:27 | concatted | TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:27 | concatted | TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:27 | concatted | TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:27 | concatted | TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:27 | concatted | TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:140:19:140:27 | concatted | TaintedPath.js:140:19:140:37 | concatted.join("/") | +| TaintedPath.js:142:7:142:39 | concatted2 | TaintedPath.js:143:19:143:28 | concatted2 | +| TaintedPath.js:142:7:142:39 | concatted2 | TaintedPath.js:143:19:143:28 | concatted2 | +| TaintedPath.js:142:7:142:39 | concatted2 | TaintedPath.js:143:19:143:28 | concatted2 | +| TaintedPath.js:142:7:142:39 | concatted2 | TaintedPath.js:143:19:143:28 | concatted2 | +| TaintedPath.js:142:20:142:24 | split | TaintedPath.js:142:20:142:39 | split.concat(prefix) | +| TaintedPath.js:142:20:142:24 | split | TaintedPath.js:142:20:142:39 | split.concat(prefix) | +| TaintedPath.js:142:20:142:24 | split | TaintedPath.js:142:20:142:39 | split.concat(prefix) | +| TaintedPath.js:142:20:142:24 | split | TaintedPath.js:142:20:142:39 | split.concat(prefix) | +| TaintedPath.js:142:20:142:39 | split.concat(prefix) | TaintedPath.js:142:7:142:39 | concatted2 | +| TaintedPath.js:142:20:142:39 | split.concat(prefix) | TaintedPath.js:142:7:142:39 | concatted2 | +| TaintedPath.js:142:20:142:39 | split.concat(prefix) | TaintedPath.js:142:7:142:39 | concatted2 | +| TaintedPath.js:142:20:142:39 | split.concat(prefix) | TaintedPath.js:142:7:142:39 | concatted2 | +| TaintedPath.js:143:19:143:28 | concatted2 | TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:28 | concatted2 | TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:28 | concatted2 | TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:28 | concatted2 | TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:28 | concatted2 | TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:28 | concatted2 | TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:28 | concatted2 | TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:28 | concatted2 | TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:28 | concatted2 | TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:28 | concatted2 | TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:28 | concatted2 | TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:28 | concatted2 | TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:28 | concatted2 | TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:28 | concatted2 | TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:28 | concatted2 | TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:143:19:143:28 | concatted2 | TaintedPath.js:143:19:143:38 | concatted2.join("/") | +| TaintedPath.js:145:19:145:23 | split | TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:23 | split | TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:23 | split | TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:23 | split | TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:23 | split | TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:23 | split | TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:23 | split | TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:23 | split | TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:23 | split | TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:23 | split | TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:23 | split | TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:23 | split | TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:23 | split | TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:23 | split | TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:23 | split | TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:145:19:145:23 | split | TaintedPath.js:145:19:145:29 | split.pop() | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:154:29:154:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:160:29:160:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:160:29:160:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:160:29:160:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:160:29:160:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:160:29:160:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:160:29:160:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:160:29:160:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:160:29:160:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:161:29:161:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:161:29:161:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:161:29:161:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:161:29:161:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:161:29:161:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:161:29:161:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:161:29:161:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:161:29:161:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:162:29:162:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:162:29:162:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:162:29:162:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:162:29:162:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:162:29:162:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:162:29:162:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:162:29:162:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:162:29:162:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:163:29:163:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:163:29:163:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:163:29:163:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:163:29:163:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:163:29:163:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:163:29:163:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:163:29:163:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:163:29:163:32 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:178:40:178:43 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:178:40:178:43 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:178:40:178:43 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:178:40:178:43 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:178:40:178:43 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:178:40:178:43 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:178:40:178:43 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:178:40:178:43 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:179:50:179:53 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:179:50:179:53 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:179:50:179:53 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:179:50:179:53 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:179:50:179:53 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:179:50:179:53 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:179:50:179:53 | path | +| TaintedPath.js:150:7:150:48 | path | TaintedPath.js:179:50:179:53 | path | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:37 | url.par ... , true) | TaintedPath.js:150:14:150:43 | url.par ... ).query | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:43 | url.par ... ).query | TaintedPath.js:150:14:150:48 | url.par ... ry.path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:14:150:48 | url.par ... ry.path | TaintedPath.js:150:7:150:48 | path | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:150:14:150:37 | url.par ... , true) | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:154:29:154:32 | path | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:32 | path | TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:32 | path | TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:32 | path | TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:32 | path | TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:32 | path | TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:32 | path | TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:32 | path | TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:32 | path | TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:32 | path | TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:32 | path | TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:32 | path | TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:32 | path | TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:32 | path | TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:32 | path | TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:32 | path | TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:160:29:160:32 | path | TaintedPath.js:160:29:160:52 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:32 | path | TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:32 | path | TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:32 | path | TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:32 | path | TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:32 | path | TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:32 | path | TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:32 | path | TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:32 | path | TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:32 | path | TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:32 | path | TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:32 | path | TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:32 | path | TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:32 | path | TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:32 | path | TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:32 | path | TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:161:29:161:32 | path | TaintedPath.js:161:29:161:53 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:32 | path | TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:32 | path | TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:32 | path | TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:32 | path | TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:32 | path | TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:32 | path | TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:32 | path | TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:32 | path | TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:32 | path | TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:32 | path | TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:32 | path | TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:32 | path | TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:32 | path | TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:32 | path | TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:32 | path | TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:162:29:162:32 | path | TaintedPath.js:162:29:162:51 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:32 | path | TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:32 | path | TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:32 | path | TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:32 | path | TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:32 | path | TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:32 | path | TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:32 | path | TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:32 | path | TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:32 | path | TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:32 | path | TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:32 | path | TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:32 | path | TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:32 | path | TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:32 | path | TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:32 | path | TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:163:29:163:32 | path | TaintedPath.js:163:29:163:57 | path.re ... /g, '') | +| TaintedPath.js:178:40:178:43 | path | TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:43 | path | TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:43 | path | TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:43 | path | TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:43 | path | TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:43 | path | TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:43 | path | TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:43 | path | TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:43 | path | TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:43 | path | TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:43 | path | TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:43 | path | TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:43 | path | TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:43 | path | TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:43 | path | TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:43 | path | TaintedPath.js:178:40:178:73 | path.re ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:178:40:178:73 | path.re ... +/, '') | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | +| TaintedPath.js:179:29:179:54 | pathMod ... e(path) | TaintedPath.js:179:29:179:84 | pathMod ... +/, '') | +| TaintedPath.js:179:29:179:54 | pathMod ... e(path) | TaintedPath.js:179:29:179:84 | pathMod ... +/, '') | +| TaintedPath.js:179:29:179:54 | pathMod ... e(path) | TaintedPath.js:179:29:179:84 | pathMod ... +/, '') | +| TaintedPath.js:179:29:179:54 | pathMod ... e(path) | TaintedPath.js:179:29:179:84 | pathMod ... +/, '') | +| TaintedPath.js:179:29:179:54 | pathMod ... e(path) | TaintedPath.js:179:29:179:84 | pathMod ... +/, '') | +| TaintedPath.js:179:29:179:54 | pathMod ... e(path) | TaintedPath.js:179:29:179:84 | pathMod ... +/, '') | +| TaintedPath.js:179:29:179:54 | pathMod ... e(path) | TaintedPath.js:179:29:179:84 | pathMod ... +/, '') | +| TaintedPath.js:179:29:179:54 | pathMod ... e(path) | TaintedPath.js:179:29:179:84 | pathMod ... +/, '') | +| TaintedPath.js:179:50:179:53 | path | TaintedPath.js:179:29:179:54 | pathMod ... e(path) | +| TaintedPath.js:179:50:179:53 | path | TaintedPath.js:179:29:179:54 | pathMod ... e(path) | +| TaintedPath.js:179:50:179:53 | path | TaintedPath.js:179:29:179:54 | pathMod ... e(path) | +| TaintedPath.js:179:50:179:53 | path | TaintedPath.js:179:29:179:54 | pathMod ... e(path) | +| TaintedPath.js:179:50:179:53 | path | TaintedPath.js:179:29:179:54 | pathMod ... e(path) | +| TaintedPath.js:179:50:179:53 | path | TaintedPath.js:179:29:179:54 | pathMod ... e(path) | +| TaintedPath.js:179:50:179:53 | path | TaintedPath.js:179:29:179:54 | pathMod ... e(path) | +| TaintedPath.js:179:50:179:53 | path | TaintedPath.js:179:29:179:54 | pathMod ... e(path) | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:29:187:45 | qs.parse(req.url) | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:45 | qs.parse(req.url) | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:38:188:58 | normali ... eq.url) | TaintedPath.js:188:29:188:59 | qs.pars ... q.url)) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:38:188:58 | normali ... eq.url) | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:51 | parseqs ... eq.url) | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:196:31:196:34 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:197:45:197:48 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:7:195:48 | path | TaintedPath.js:198:35:198:38 | path | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:37 | url.par ... , true) | TaintedPath.js:195:14:195:43 | url.par ... ).query | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:43 | url.par ... ).query | TaintedPath.js:195:14:195:48 | url.par ... ry.path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:14:195:48 | url.par ... ry.path | TaintedPath.js:195:7:195:48 | path | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | +| TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:195:14:195:37 | url.par ... , true) | | examples/TaintedPath.js:8:7:8:52 | filePath | examples/TaintedPath.js:11:36:11:43 | filePath | | examples/TaintedPath.js:8:7:8:52 | filePath | examples/TaintedPath.js:11:36:11:43 | filePath | | examples/TaintedPath.js:8:7:8:52 | filePath | examples/TaintedPath.js:11:36:11:43 | filePath | @@ -10445,33 +10445,33 @@ edges | TaintedPath.js:56:29:56:52 | pathMod ... e(path) | TaintedPath.js:38:20:38:26 | req.url | TaintedPath.js:56:29:56:52 | pathMod ... e(path) | This path depends on a $@. | TaintedPath.js:38:20:38:26 | req.url | user-provided value | | TaintedPath.js:58:29:58:61 | pathMod ... ath, z) | TaintedPath.js:38:20:38:26 | req.url | TaintedPath.js:58:29:58:61 | pathMod ... ath, z) | This path depends on a $@. | TaintedPath.js:38:20:38:26 | req.url | user-provided value | | TaintedPath.js:60:29:60:61 | pathMod ... h(path) | TaintedPath.js:38:20:38:26 | req.url | TaintedPath.js:60:29:60:61 | pathMod ... h(path) | This path depends on a $@. | TaintedPath.js:38:20:38:26 | req.url | user-provided value | -| TaintedPath.js:77:31:77:76 | require ... ).query | TaintedPath.js:77:63:77:69 | req.url | TaintedPath.js:77:31:77:76 | require ... ).query | This path depends on a $@. | TaintedPath.js:77:63:77:69 | req.url | user-provided value | -| TaintedPath.js:78:31:78:74 | require ... ).query | TaintedPath.js:78:61:78:67 | req.url | TaintedPath.js:78:31:78:74 | require ... ).query | This path depends on a $@. | TaintedPath.js:78:61:78:67 | req.url | user-provided value | -| TaintedPath.js:79:31:79:73 | require ... ).query | TaintedPath.js:79:60:79:66 | req.url | TaintedPath.js:79:31:79:73 | require ... ).query | This path depends on a $@. | TaintedPath.js:79:60:79:66 | req.url | user-provided value | -| TaintedPath.js:87:48:87:60 | req.params[0] | TaintedPath.js:87:48:87:60 | req.params[0] | TaintedPath.js:87:48:87:60 | req.params[0] | This path depends on a $@. | TaintedPath.js:87:48:87:60 | req.params[0] | user-provided value | -| TaintedPath.js:102:28:102:48 | fs.real ... c(path) | TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:102:28:102:48 | fs.real ... c(path) | This path depends on a $@. | TaintedPath.js:100:23:100:29 | req.url | user-provided value | -| TaintedPath.js:105:45:105:52 | realpath | TaintedPath.js:100:23:100:29 | req.url | TaintedPath.js:105:45:105:52 | realpath | This path depends on a $@. | TaintedPath.js:100:23:100:29 | req.url | user-provided value | -| TaintedPath.js:138:23:138:26 | path | TaintedPath.js:136:23:136:29 | req.url | TaintedPath.js:138:23:138:26 | path | This path depends on a $@. | TaintedPath.js:136:23:136:29 | req.url | user-provided value | -| TaintedPath.js:144:19:144:22 | path | TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:144:19:144:22 | path | This path depends on a $@. | TaintedPath.js:142:24:142:30 | req.url | user-provided value | -| TaintedPath.js:148:19:148:33 | split.join("/") | TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:148:19:148:33 | split.join("/") | This path depends on a $@. | TaintedPath.js:142:24:142:30 | req.url | user-provided value | -| TaintedPath.js:152:19:152:26 | split[x] | TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:152:19:152:26 | split[x] | This path depends on a $@. | TaintedPath.js:142:24:142:30 | req.url | user-provided value | -| TaintedPath.js:153:19:153:35 | prefix + split[x] | TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:153:19:153:35 | prefix + split[x] | This path depends on a $@. | TaintedPath.js:142:24:142:30 | req.url | user-provided value | -| TaintedPath.js:156:19:156:37 | concatted.join("/") | TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:156:19:156:37 | concatted.join("/") | This path depends on a $@. | TaintedPath.js:142:24:142:30 | req.url | user-provided value | -| TaintedPath.js:159:19:159:38 | concatted2.join("/") | TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:159:19:159:38 | concatted2.join("/") | This path depends on a $@. | TaintedPath.js:142:24:142:30 | req.url | user-provided value | -| TaintedPath.js:161:19:161:29 | split.pop() | TaintedPath.js:142:24:142:30 | req.url | TaintedPath.js:161:19:161:29 | split.pop() | This path depends on a $@. | TaintedPath.js:142:24:142:30 | req.url | user-provided value | -| TaintedPath.js:170:29:170:55 | path.re ... /g, '') | TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:170:29:170:55 | path.re ... /g, '') | This path depends on a $@. | TaintedPath.js:166:24:166:30 | req.url | user-provided value | -| TaintedPath.js:176:29:176:52 | path.re ... /g, '') | TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:176:29:176:52 | path.re ... /g, '') | This path depends on a $@. | TaintedPath.js:166:24:166:30 | req.url | user-provided value | -| TaintedPath.js:177:29:177:53 | path.re ... /g, '') | TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:177:29:177:53 | path.re ... /g, '') | This path depends on a $@. | TaintedPath.js:166:24:166:30 | req.url | user-provided value | -| TaintedPath.js:178:29:178:51 | path.re ... /g, '') | TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:178:29:178:51 | path.re ... /g, '') | This path depends on a $@. | TaintedPath.js:166:24:166:30 | req.url | user-provided value | -| TaintedPath.js:179:29:179:57 | path.re ... /g, '') | TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:179:29:179:57 | path.re ... /g, '') | This path depends on a $@. | TaintedPath.js:166:24:166:30 | req.url | user-provided value | -| TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:194:29:194:73 | "prefix ... +/, '') | This path depends on a $@. | TaintedPath.js:166:24:166:30 | req.url | user-provided value | -| TaintedPath.js:195:29:195:84 | pathMod ... +/, '') | TaintedPath.js:166:24:166:30 | req.url | TaintedPath.js:195:29:195:84 | pathMod ... +/, '') | This path depends on a $@. | TaintedPath.js:166:24:166:30 | req.url | user-provided value | -| TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | TaintedPath.js:203:38:203:44 | req.url | TaintedPath.js:203:29:203:49 | qs.pars ... rl).foo | This path depends on a $@. | TaintedPath.js:203:38:203:44 | req.url | user-provided value | -| TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | TaintedPath.js:204:51:204:57 | req.url | TaintedPath.js:204:29:204:63 | qs.pars ... l)).foo | This path depends on a $@. | TaintedPath.js:204:51:204:57 | req.url | user-provided value | -| TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | TaintedPath.js:206:44:206:50 | req.url | TaintedPath.js:206:29:206:55 | parseqs ... rl).foo | This path depends on a $@. | TaintedPath.js:206:44:206:50 | req.url | user-provided value | -| TaintedPath.js:212:31:212:34 | path | TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:212:31:212:34 | path | This path depends on a $@. | TaintedPath.js:211:24:211:30 | req.url | user-provided value | -| TaintedPath.js:213:45:213:48 | path | TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:213:45:213:48 | path | This path depends on a $@. | TaintedPath.js:211:24:211:30 | req.url | user-provided value | -| TaintedPath.js:214:35:214:38 | path | TaintedPath.js:211:24:211:30 | req.url | TaintedPath.js:214:35:214:38 | path | This path depends on a $@. | TaintedPath.js:211:24:211:30 | req.url | user-provided value | +| TaintedPath.js:65:31:65:76 | require ... ).query | TaintedPath.js:65:63:65:69 | req.url | TaintedPath.js:65:31:65:76 | require ... ).query | This path depends on a $@. | TaintedPath.js:65:63:65:69 | req.url | user-provided value | +| TaintedPath.js:66:31:66:74 | require ... ).query | TaintedPath.js:66:61:66:67 | req.url | TaintedPath.js:66:31:66:74 | require ... ).query | This path depends on a $@. | TaintedPath.js:66:61:66:67 | req.url | user-provided value | +| TaintedPath.js:67:31:67:73 | require ... ).query | TaintedPath.js:67:60:67:66 | req.url | TaintedPath.js:67:31:67:73 | require ... ).query | This path depends on a $@. | TaintedPath.js:67:60:67:66 | req.url | user-provided value | +| TaintedPath.js:75:48:75:60 | req.params[0] | TaintedPath.js:75:48:75:60 | req.params[0] | TaintedPath.js:75:48:75:60 | req.params[0] | This path depends on a $@. | TaintedPath.js:75:48:75:60 | req.params[0] | user-provided value | +| TaintedPath.js:86:28:86:48 | fs.real ... c(path) | TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:86:28:86:48 | fs.real ... c(path) | This path depends on a $@. | TaintedPath.js:84:23:84:29 | req.url | user-provided value | +| TaintedPath.js:89:45:89:52 | realpath | TaintedPath.js:84:23:84:29 | req.url | TaintedPath.js:89:45:89:52 | realpath | This path depends on a $@. | TaintedPath.js:84:23:84:29 | req.url | user-provided value | +| TaintedPath.js:122:23:122:26 | path | TaintedPath.js:120:23:120:29 | req.url | TaintedPath.js:122:23:122:26 | path | This path depends on a $@. | TaintedPath.js:120:23:120:29 | req.url | user-provided value | +| TaintedPath.js:128:19:128:22 | path | TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:128:19:128:22 | path | This path depends on a $@. | TaintedPath.js:126:24:126:30 | req.url | user-provided value | +| TaintedPath.js:132:19:132:33 | split.join("/") | TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:132:19:132:33 | split.join("/") | This path depends on a $@. | TaintedPath.js:126:24:126:30 | req.url | user-provided value | +| TaintedPath.js:136:19:136:26 | split[x] | TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:136:19:136:26 | split[x] | This path depends on a $@. | TaintedPath.js:126:24:126:30 | req.url | user-provided value | +| TaintedPath.js:137:19:137:35 | prefix + split[x] | TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:137:19:137:35 | prefix + split[x] | This path depends on a $@. | TaintedPath.js:126:24:126:30 | req.url | user-provided value | +| TaintedPath.js:140:19:140:37 | concatted.join("/") | TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:140:19:140:37 | concatted.join("/") | This path depends on a $@. | TaintedPath.js:126:24:126:30 | req.url | user-provided value | +| TaintedPath.js:143:19:143:38 | concatted2.join("/") | TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:143:19:143:38 | concatted2.join("/") | This path depends on a $@. | TaintedPath.js:126:24:126:30 | req.url | user-provided value | +| TaintedPath.js:145:19:145:29 | split.pop() | TaintedPath.js:126:24:126:30 | req.url | TaintedPath.js:145:19:145:29 | split.pop() | This path depends on a $@. | TaintedPath.js:126:24:126:30 | req.url | user-provided value | +| TaintedPath.js:154:29:154:55 | path.re ... /g, '') | TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:154:29:154:55 | path.re ... /g, '') | This path depends on a $@. | TaintedPath.js:150:24:150:30 | req.url | user-provided value | +| TaintedPath.js:160:29:160:52 | path.re ... /g, '') | TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:160:29:160:52 | path.re ... /g, '') | This path depends on a $@. | TaintedPath.js:150:24:150:30 | req.url | user-provided value | +| TaintedPath.js:161:29:161:53 | path.re ... /g, '') | TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:161:29:161:53 | path.re ... /g, '') | This path depends on a $@. | TaintedPath.js:150:24:150:30 | req.url | user-provided value | +| TaintedPath.js:162:29:162:51 | path.re ... /g, '') | TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:162:29:162:51 | path.re ... /g, '') | This path depends on a $@. | TaintedPath.js:150:24:150:30 | req.url | user-provided value | +| TaintedPath.js:163:29:163:57 | path.re ... /g, '') | TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:163:29:163:57 | path.re ... /g, '') | This path depends on a $@. | TaintedPath.js:150:24:150:30 | req.url | user-provided value | +| TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:178:29:178:73 | "prefix ... +/, '') | This path depends on a $@. | TaintedPath.js:150:24:150:30 | req.url | user-provided value | +| TaintedPath.js:179:29:179:84 | pathMod ... +/, '') | TaintedPath.js:150:24:150:30 | req.url | TaintedPath.js:179:29:179:84 | pathMod ... +/, '') | This path depends on a $@. | TaintedPath.js:150:24:150:30 | req.url | user-provided value | +| TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | TaintedPath.js:187:38:187:44 | req.url | TaintedPath.js:187:29:187:49 | qs.pars ... rl).foo | This path depends on a $@. | TaintedPath.js:187:38:187:44 | req.url | user-provided value | +| TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | TaintedPath.js:188:51:188:57 | req.url | TaintedPath.js:188:29:188:63 | qs.pars ... l)).foo | This path depends on a $@. | TaintedPath.js:188:51:188:57 | req.url | user-provided value | +| TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | TaintedPath.js:190:44:190:50 | req.url | TaintedPath.js:190:29:190:55 | parseqs ... rl).foo | This path depends on a $@. | TaintedPath.js:190:44:190:50 | req.url | user-provided value | +| TaintedPath.js:196:31:196:34 | path | TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:196:31:196:34 | path | This path depends on a $@. | TaintedPath.js:195:24:195:30 | req.url | user-provided value | +| TaintedPath.js:197:45:197:48 | path | TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:197:45:197:48 | path | This path depends on a $@. | TaintedPath.js:195:24:195:30 | req.url | user-provided value | +| TaintedPath.js:198:35:198:38 | path | TaintedPath.js:195:24:195:30 | req.url | TaintedPath.js:198:35:198:38 | path | This path depends on a $@. | TaintedPath.js:195:24:195:30 | req.url | user-provided value | | examples/TaintedPath.js:11:29:11:43 | ROOT + filePath | examples/TaintedPath.js:8:28:8:34 | req.url | examples/TaintedPath.js:11:29:11:43 | ROOT + filePath | This path depends on a $@. | examples/TaintedPath.js:8:28:8:34 | req.url | user-provided value | | express.js:8:20:8:32 | req.query.bar | express.js:8:20:8:32 | req.query.bar | express.js:8:20:8:32 | req.query.bar | This path depends on a $@. | express.js:8:20:8:32 | req.query.bar | user-provided value | | handlebars.js:11:32:11:39 | filePath | handlebars.js:29:46:29:60 | req.params.path | handlebars.js:11:32:11:39 | filePath | This path depends on a $@. | handlebars.js:29:46:29:60 | req.params.path | user-provided value | diff --git a/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.js b/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.js index 583e8b86810..d28549da0ec 100644 --- a/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.js +++ b/javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.js @@ -60,18 +60,6 @@ var server = http.createServer(function(req, res) { res.write(fs.readFileSync(pathModule.toNamespacedPath(path))); }); -angular.module('myApp', []) - .directive('myCustomer', function() { - return { - templateUrl: "SAFE" // OK - } - }) - .directive('myCustomer', function() { - return { - templateUrl: Cookie.get("unsafe") // OK - (no longer flagged by this query) - } - }) - var server = http.createServer(function(req, res) { // tests for a few uri-libraries res.write(fs.readFileSync(require("querystringify").parse(req.url).query)); // NOT OK @@ -92,10 +80,6 @@ var server = http.createServer(function(req, res) { })(); -addEventListener('message', (ev) => { - Cookie.set("unsafe", ev.data); -}); - var server = http.createServer(function(req, res) { let path = url.parse(req.url, true).query.path; @@ -110,25 +94,25 @@ var server = http.createServer(function(req, res) { var server = http.createServer(function(req, res) { let path = url.parse(req.url, true).query.path; - + if (path) { // sanitization path = path.replace(/[\]\[*,;'"`<>\\?\/]/g, ''); // remove all invalid characters from states plus slashes path = path.replace(/\.\./g, ''); // remove all ".." } - + res.write(fs.readFileSync(path)); // OK. Is sanitized above. }); var server = http.createServer(function(req, res) { let path = url.parse(req.url, true).query.path; - + if (!path) { - + } else { // sanitization path = path.replace(/[\]\[*,;'"`<>\\?\/]/g, ''); // remove all invalid characters from states plus slashes path = path.replace(/\.\./g, ''); // remove all ".." } - + res.write(fs.readFileSync(path)); // OK. Is sanitized above. }); @@ -142,15 +126,15 @@ var server = http.createServer(function(req, res) { let path = url.parse(req.url, true).query.path; fs.readFileSync(path); // NOT OK - + var split = path.split("/"); - + fs.readFileSync(split.join("/")); // NOT OK fs.readFileSync(prefix + split[split.length - 1]) // OK fs.readFileSync(split[x]) // NOT OK - fs.readFileSync(prefix + split[x]) // NOT OK + fs.readFileSync(prefix + split[x]) // NOT OK var concatted = prefix.concat(split); fs.readFileSync(concatted.join("/")); // NOT OK @@ -158,13 +142,13 @@ var server = http.createServer(function(req, res) { var concatted2 = split.concat(prefix); fs.readFileSync(concatted2.join("/")); // NOT OK - fs.readFileSync(split.pop()); // NOT OK + fs.readFileSync(split.pop()); // NOT OK }); var server = http.createServer(function(req, res) { let path = url.parse(req.url, true).query.path; - + // Removal of forward-slash or dots. res.write(fs.readFileSync(path.replace(/[\]\[*,;'"`<>\\?\/]/g, ''))); // OK. res.write(fs.readFileSync(path.replace(/[abcd]/g, ''))); // NOT OK From d88b310b0eb55f3d5eed48496605db9d0063052e Mon Sep 17 00:00:00 2001 From: am0o0 <77095239+am0o0@users.noreply.github.com> Date: Fri, 16 Aug 2024 15:41:19 +0200 Subject: [PATCH 082/258] add getCredentials method of AuthenticationToken as a remote source --- .../lib/ext/experimental/org.apache.shiro.authc.model.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 java/ql/lib/ext/experimental/org.apache.shiro.authc.model.yml diff --git a/java/ql/lib/ext/experimental/org.apache.shiro.authc.model.yml b/java/ql/lib/ext/experimental/org.apache.shiro.authc.model.yml new file mode 100644 index 00000000000..6602a9caf7c --- /dev/null +++ b/java/ql/lib/ext/experimental/org.apache.shiro.authc.model.yml @@ -0,0 +1,6 @@ +extensions: + - addsTo: + pack: codeql/java-all + extensible: sourceModel + data: + - ["org.apache.shiro.authc","AuthenticationToken",true,"getCredentials","()","","ReturnValue","remote","manual"] \ No newline at end of file From f4764378c99be12acb21ab5980ab5b90068925b4 Mon Sep 17 00:00:00 2001 From: am0o0 <77095239+am0o0@users.noreply.github.com> Date: Fri, 16 Aug 2024 16:15:46 +0200 Subject: [PATCH 083/258] update tests to contain the new source, delete query with local sources --- .../CWE/CWE-347/Auth0NoVerifierLocalSource.ql | 67 ------------------- .../security/CWE-347/Auth0NoVerifier.expected | 47 +++++++------ .../Auth0NoVerifierLocalSource.expected | 24 ------- .../CWE-347/Auth0NoVerifierLocalSource.qlref | 1 - .../security/CWE-347/JwtNoVerifier.java | 23 ++++++- .../query-tests/security/CWE-347/options | 2 +- .../shiro/authc/AuthenticationToken.java | 11 +++ .../org/apache/shiro/authc/BearerToken.java | 16 +++++ .../shiro/authc/HostAuthenticationToken.java | 10 +++ 9 files changed, 85 insertions(+), 116 deletions(-) delete mode 100644 java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql delete mode 100644 java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifierLocalSource.expected delete mode 100644 java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifierLocalSource.qlref create mode 100644 java/ql/test/experimental/stubs/org-apache-shiro-authc-2.0.1/org/apache/shiro/authc/AuthenticationToken.java create mode 100644 java/ql/test/experimental/stubs/org-apache-shiro-authc-2.0.1/org/apache/shiro/authc/BearerToken.java create mode 100644 java/ql/test/experimental/stubs/org-apache-shiro-authc-2.0.1/org/apache/shiro/authc/HostAuthenticationToken.java diff --git a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql b/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql deleted file mode 100644 index 7a9f37a5250..00000000000 --- a/java/ql/src/experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql +++ /dev/null @@ -1,67 +0,0 @@ -/** - * @name Missing JWT signature check - * @description Failing to check the Json Web Token (JWT) signature may allow an attacker to forge their own tokens. - * @kind path-problem - * @problem.severity error - * @security-severity 7.8 - * @precision medium - * @id java/missing-jwt-signature-check-auth0-local-source - * @tags security - * external/cwe/cwe-347 - */ - -import java -import semmle.code.java.dataflow.FlowSources -import JwtAuth0 as JwtAuth0 - -module JwtDecodeConfig implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { - exists(Variable v | - source.asExpr() = v.getInitializer() and - v.getType().hasName("String") - ) and - not FlowToJwtVerify::flow(source, _) - } - - predicate isSink(DataFlow::Node sink) { sink.asExpr() = any(JwtAuth0::GetPayload a) } - - predicate isAdditionalFlowStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) { - // Decode Should be one of the middle nodes - exists(JwtAuth0::Decode a | - nodeFrom.asExpr() = a.getArgument(0) and - nodeTo.asExpr() = a - ) - or - exists(JwtAuth0::Verify a | - nodeFrom.asExpr() = a.getArgument(0) and - nodeTo.asExpr() = a - ) - or - exists(JwtAuth0::GetPayload a | - nodeFrom.asExpr() = a.getQualifier() and - nodeTo.asExpr() = a - ) - } -} - -module FlowToJwtVerifyConfig implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { - exists(Variable v | - source.asExpr() = v.getInitializer() and - v.getType().hasName("String") - ) - } - - predicate isSink(DataFlow::Node sink) { sink.asExpr() = any(JwtAuth0::Verify a).getArgument(0) } -} - -module JwtDecode = TaintTracking::Global; - -module FlowToJwtVerify = TaintTracking::Global; - -import JwtDecode::PathGraph - -from JwtDecode::PathNode source, JwtDecode::PathNode sink -where JwtDecode::flowPath(source, sink) -select sink.getNode(), source, sink, "This parses a $@, but the signature is not verified.", - source.getNode(), "JWT" diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected index 5dbdfd6acfa..5e21f635d61 100644 --- a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected +++ b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected @@ -1,24 +1,31 @@ edges -| JwtNoVerifier.java:42:28:42:55 | getParameter(...) : String | JwtNoVerifier.java:43:39:43:47 | JwtToken2 : String | provenance | Src:MaD:44684 | -| JwtNoVerifier.java:43:39:43:47 | JwtToken2 : String | JwtNoVerifier.java:72:38:72:55 | token : String | provenance | | -| JwtNoVerifier.java:72:38:72:55 | token : String | JwtNoVerifier.java:73:37:73:41 | token : String | provenance | | -| JwtNoVerifier.java:73:26:73:42 | decode(...) : DecodedJWT | JwtNoVerifier.java:74:28:74:30 | jwt : DecodedJWT | provenance | | -| JwtNoVerifier.java:73:37:73:41 | token : String | JwtNoVerifier.java:73:26:73:42 | decode(...) : DecodedJWT | provenance | Config | -| JwtNoVerifier.java:74:16:74:31 | of(...) : Optional [] : DecodedJWT | JwtNoVerifier.java:74:37:74:40 | item : DecodedJWT | provenance | MaD:43977 | -| JwtNoVerifier.java:74:28:74:30 | jwt : DecodedJWT | JwtNoVerifier.java:74:16:74:31 | of(...) : Optional [] : DecodedJWT | provenance | MaD:43979 | -| JwtNoVerifier.java:74:37:74:40 | item : DecodedJWT | JwtNoVerifier.java:74:45:74:48 | item : DecodedJWT | provenance | | -| JwtNoVerifier.java:74:45:74:48 | item : DecodedJWT | JwtNoVerifier.java:74:45:74:69 | getClaim(...) | provenance | Config | +| JwtNoVerifier.java:44:28:44:55 | getParameter(...) : String | JwtNoVerifier.java:45:39:45:47 | JwtToken1 : String | provenance | Src:MaD:44685 | +| JwtNoVerifier.java:45:39:45:47 | JwtToken1 : String | JwtNoVerifier.java:89:38:89:55 | token : String | provenance | | +| JwtNoVerifier.java:58:28:58:62 | (...)... : String | JwtNoVerifier.java:59:32:59:40 | JwtToken3 : String | provenance | | +| JwtNoVerifier.java:58:37:58:62 | getCredentials(...) : Object | JwtNoVerifier.java:58:28:58:62 | (...)... : String | provenance | Src:MaD:2352 | +| JwtNoVerifier.java:59:32:59:40 | JwtToken3 : String | JwtNoVerifier.java:89:38:89:55 | token : String | provenance | | +| JwtNoVerifier.java:89:38:89:55 | token : String | JwtNoVerifier.java:90:37:90:41 | token : String | provenance | | +| JwtNoVerifier.java:90:26:90:42 | decode(...) : DecodedJWT | JwtNoVerifier.java:91:28:91:30 | jwt : DecodedJWT | provenance | | +| JwtNoVerifier.java:90:37:90:41 | token : String | JwtNoVerifier.java:90:26:90:42 | decode(...) : DecodedJWT | provenance | Config | +| JwtNoVerifier.java:91:16:91:31 | of(...) : Optional [] : DecodedJWT | JwtNoVerifier.java:91:37:91:40 | item : DecodedJWT | provenance | MaD:43978 | +| JwtNoVerifier.java:91:28:91:30 | jwt : DecodedJWT | JwtNoVerifier.java:91:16:91:31 | of(...) : Optional [] : DecodedJWT | provenance | MaD:43980 | +| JwtNoVerifier.java:91:37:91:40 | item : DecodedJWT | JwtNoVerifier.java:91:45:91:48 | item : DecodedJWT | provenance | | +| JwtNoVerifier.java:91:45:91:48 | item : DecodedJWT | JwtNoVerifier.java:91:45:91:69 | getClaim(...) | provenance | Config | nodes -| JwtNoVerifier.java:42:28:42:55 | getParameter(...) : String | semmle.label | getParameter(...) : String | -| JwtNoVerifier.java:43:39:43:47 | JwtToken2 : String | semmle.label | JwtToken2 : String | -| JwtNoVerifier.java:72:38:72:55 | token : String | semmle.label | token : String | -| JwtNoVerifier.java:73:26:73:42 | decode(...) : DecodedJWT | semmle.label | decode(...) : DecodedJWT | -| JwtNoVerifier.java:73:37:73:41 | token : String | semmle.label | token : String | -| JwtNoVerifier.java:74:16:74:31 | of(...) : Optional [] : DecodedJWT | semmle.label | of(...) : Optional [] : DecodedJWT | -| JwtNoVerifier.java:74:28:74:30 | jwt : DecodedJWT | semmle.label | jwt : DecodedJWT | -| JwtNoVerifier.java:74:37:74:40 | item : DecodedJWT | semmle.label | item : DecodedJWT | -| JwtNoVerifier.java:74:45:74:48 | item : DecodedJWT | semmle.label | item : DecodedJWT | -| JwtNoVerifier.java:74:45:74:69 | getClaim(...) | semmle.label | getClaim(...) | +| JwtNoVerifier.java:44:28:44:55 | getParameter(...) : String | semmle.label | getParameter(...) : String | +| JwtNoVerifier.java:45:39:45:47 | JwtToken1 : String | semmle.label | JwtToken1 : String | +| JwtNoVerifier.java:58:28:58:62 | (...)... : String | semmle.label | (...)... : String | +| JwtNoVerifier.java:58:37:58:62 | getCredentials(...) : Object | semmle.label | getCredentials(...) : Object | +| JwtNoVerifier.java:59:32:59:40 | JwtToken3 : String | semmle.label | JwtToken3 : String | +| JwtNoVerifier.java:89:38:89:55 | token : String | semmle.label | token : String | +| JwtNoVerifier.java:90:26:90:42 | decode(...) : DecodedJWT | semmle.label | decode(...) : DecodedJWT | +| JwtNoVerifier.java:90:37:90:41 | token : String | semmle.label | token : String | +| JwtNoVerifier.java:91:16:91:31 | of(...) : Optional [] : DecodedJWT | semmle.label | of(...) : Optional [] : DecodedJWT | +| JwtNoVerifier.java:91:28:91:30 | jwt : DecodedJWT | semmle.label | jwt : DecodedJWT | +| JwtNoVerifier.java:91:37:91:40 | item : DecodedJWT | semmle.label | item : DecodedJWT | +| JwtNoVerifier.java:91:45:91:48 | item : DecodedJWT | semmle.label | item : DecodedJWT | +| JwtNoVerifier.java:91:45:91:69 | getClaim(...) | semmle.label | getClaim(...) | subpaths #select -| JwtNoVerifier.java:74:45:74:69 | getClaim(...) | JwtNoVerifier.java:42:28:42:55 | getParameter(...) : String | JwtNoVerifier.java:74:45:74:69 | getClaim(...) | This parses a $@, but the signature is not verified. | JwtNoVerifier.java:42:28:42:55 | getParameter(...) | JWT | +| JwtNoVerifier.java:91:45:91:69 | getClaim(...) | JwtNoVerifier.java:44:28:44:55 | getParameter(...) : String | JwtNoVerifier.java:91:45:91:69 | getClaim(...) | This parses a $@, but the signature is not verified. | JwtNoVerifier.java:44:28:44:55 | getParameter(...) | JWT | +| JwtNoVerifier.java:91:45:91:69 | getClaim(...) | JwtNoVerifier.java:58:37:58:62 | getCredentials(...) : Object | JwtNoVerifier.java:91:45:91:69 | getClaim(...) | This parses a $@, but the signature is not verified. | JwtNoVerifier.java:58:37:58:62 | getCredentials(...) | JWT | diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifierLocalSource.expected b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifierLocalSource.expected deleted file mode 100644 index 5dbdfd6acfa..00000000000 --- a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifierLocalSource.expected +++ /dev/null @@ -1,24 +0,0 @@ -edges -| JwtNoVerifier.java:42:28:42:55 | getParameter(...) : String | JwtNoVerifier.java:43:39:43:47 | JwtToken2 : String | provenance | Src:MaD:44684 | -| JwtNoVerifier.java:43:39:43:47 | JwtToken2 : String | JwtNoVerifier.java:72:38:72:55 | token : String | provenance | | -| JwtNoVerifier.java:72:38:72:55 | token : String | JwtNoVerifier.java:73:37:73:41 | token : String | provenance | | -| JwtNoVerifier.java:73:26:73:42 | decode(...) : DecodedJWT | JwtNoVerifier.java:74:28:74:30 | jwt : DecodedJWT | provenance | | -| JwtNoVerifier.java:73:37:73:41 | token : String | JwtNoVerifier.java:73:26:73:42 | decode(...) : DecodedJWT | provenance | Config | -| JwtNoVerifier.java:74:16:74:31 | of(...) : Optional [] : DecodedJWT | JwtNoVerifier.java:74:37:74:40 | item : DecodedJWT | provenance | MaD:43977 | -| JwtNoVerifier.java:74:28:74:30 | jwt : DecodedJWT | JwtNoVerifier.java:74:16:74:31 | of(...) : Optional [] : DecodedJWT | provenance | MaD:43979 | -| JwtNoVerifier.java:74:37:74:40 | item : DecodedJWT | JwtNoVerifier.java:74:45:74:48 | item : DecodedJWT | provenance | | -| JwtNoVerifier.java:74:45:74:48 | item : DecodedJWT | JwtNoVerifier.java:74:45:74:69 | getClaim(...) | provenance | Config | -nodes -| JwtNoVerifier.java:42:28:42:55 | getParameter(...) : String | semmle.label | getParameter(...) : String | -| JwtNoVerifier.java:43:39:43:47 | JwtToken2 : String | semmle.label | JwtToken2 : String | -| JwtNoVerifier.java:72:38:72:55 | token : String | semmle.label | token : String | -| JwtNoVerifier.java:73:26:73:42 | decode(...) : DecodedJWT | semmle.label | decode(...) : DecodedJWT | -| JwtNoVerifier.java:73:37:73:41 | token : String | semmle.label | token : String | -| JwtNoVerifier.java:74:16:74:31 | of(...) : Optional [] : DecodedJWT | semmle.label | of(...) : Optional [] : DecodedJWT | -| JwtNoVerifier.java:74:28:74:30 | jwt : DecodedJWT | semmle.label | jwt : DecodedJWT | -| JwtNoVerifier.java:74:37:74:40 | item : DecodedJWT | semmle.label | item : DecodedJWT | -| JwtNoVerifier.java:74:45:74:48 | item : DecodedJWT | semmle.label | item : DecodedJWT | -| JwtNoVerifier.java:74:45:74:69 | getClaim(...) | semmle.label | getClaim(...) | -subpaths -#select -| JwtNoVerifier.java:74:45:74:69 | getClaim(...) | JwtNoVerifier.java:42:28:42:55 | getParameter(...) : String | JwtNoVerifier.java:74:45:74:69 | getClaim(...) | This parses a $@, but the signature is not verified. | JwtNoVerifier.java:42:28:42:55 | getParameter(...) | JWT | diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifierLocalSource.qlref b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifierLocalSource.qlref deleted file mode 100644 index 03cb5e77989..00000000000 --- a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifierLocalSource.qlref +++ /dev/null @@ -1 +0,0 @@ -experimental/Security/CWE/CWE-347/Auth0NoVerifierLocalSource.ql \ No newline at end of file diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/JwtNoVerifier.java b/java/ql/test/experimental/query-tests/security/CWE-347/JwtNoVerifier.java index 572be9e4c0c..15a31bcc476 100644 --- a/java/ql/test/experimental/query-tests/security/CWE-347/JwtNoVerifier.java +++ b/java/ql/test/experimental/query-tests/security/CWE-347/JwtNoVerifier.java @@ -11,6 +11,8 @@ import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.exceptions.JWTVerificationException; import com.auth0.jwt.interfaces.DecodedJWT; +import org.apache.shiro.authc.AuthenticationToken; +import org.apache.shiro.authc.BearerToken; public class JwtNoVerifier extends HttpServlet { @@ -39,8 +41,22 @@ public class JwtNoVerifier extends HttpServlet { PrintWriter out = response.getWriter(); // NOT OK: only decode, no verification + String JwtToken1 = request.getParameter("JWT2"); + String userName = decodeToken(JwtToken1); + if (Objects.equals(userName, "Admin")) { + out.println(""); + out.println("

    " + "heyyy Admin" + "

    "); + out.println(""); + } + + AuthenticationToken authToken = new BearerToken("admin", "admin"); + // OK: no clue of the use of unsafe decoded JWT return value String JwtToken2 = request.getParameter("JWT2"); - String userName = decodeToken(JwtToken2); + JWT.decode(JwtToken2); + + // NOT OK: only decode, no verification + String JwtToken3 = (String) authToken.getCredentials(); + userName = decodeToken(JwtToken3); if (Objects.equals(userName, "Admin")) { out.println(""); out.println("

    " + "heyyy Admin" + "

    "); @@ -48,9 +64,10 @@ public class JwtNoVerifier extends HttpServlet { } // OK: no clue of the use of unsafe decoded JWT return value - JwtToken2 = request.getParameter("JWT2"); - JWT.decode(JwtToken2); + String JwtToken4 = (String) authToken.getCredentials(); + JWT.decode(JwtToken4); + out.println(""); out.println("

    " + "heyyy Nobody" + "

    "); diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/options b/java/ql/test/experimental/query-tests/security/CWE-347/options index c83d38c3d09..6a99adc587e 100644 --- a/java/ql/test/experimental/query-tests/security/CWE-347/options +++ b/java/ql/test/experimental/query-tests/security/CWE-347/options @@ -1 +1 @@ -//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/auth0-java-jwt-4.4.0:${testdir}/../../../../stubs/javax-servlet-2.5 +//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/auth0-java-jwt-4.4.0:${testdir}/../../../../stubs/javax-servlet-2.5:${testdir}/../../../stubs/org-apache-shiro-authc-2.0.1 diff --git a/java/ql/test/experimental/stubs/org-apache-shiro-authc-2.0.1/org/apache/shiro/authc/AuthenticationToken.java b/java/ql/test/experimental/stubs/org-apache-shiro-authc-2.0.1/org/apache/shiro/authc/AuthenticationToken.java new file mode 100644 index 00000000000..1775519da36 --- /dev/null +++ b/java/ql/test/experimental/stubs/org-apache-shiro-authc-2.0.1/org/apache/shiro/authc/AuthenticationToken.java @@ -0,0 +1,11 @@ +// Generated automatically from org.apache.shiro.authc.AuthenticationToken for testing purposes + +package org.apache.shiro.authc; + +import java.io.Serializable; + +public interface AuthenticationToken extends Serializable +{ + Object getCredentials(); + Object getPrincipal(); +} diff --git a/java/ql/test/experimental/stubs/org-apache-shiro-authc-2.0.1/org/apache/shiro/authc/BearerToken.java b/java/ql/test/experimental/stubs/org-apache-shiro-authc-2.0.1/org/apache/shiro/authc/BearerToken.java new file mode 100644 index 00000000000..6dc1bf9d9f9 --- /dev/null +++ b/java/ql/test/experimental/stubs/org-apache-shiro-authc-2.0.1/org/apache/shiro/authc/BearerToken.java @@ -0,0 +1,16 @@ +// Generated automatically from org.apache.shiro.authc.BearerToken for testing purposes + +package org.apache.shiro.authc; + +import org.apache.shiro.authc.HostAuthenticationToken; + +public class BearerToken implements HostAuthenticationToken +{ + protected BearerToken() {} + public BearerToken(String p0){} + public BearerToken(String p0, String p1){} + public Object getCredentials(){ return null; } + public Object getPrincipal(){ return null; } + public String getHost(){ return null; } + public String getToken(){ return null; } +} diff --git a/java/ql/test/experimental/stubs/org-apache-shiro-authc-2.0.1/org/apache/shiro/authc/HostAuthenticationToken.java b/java/ql/test/experimental/stubs/org-apache-shiro-authc-2.0.1/org/apache/shiro/authc/HostAuthenticationToken.java new file mode 100644 index 00000000000..f199cd78211 --- /dev/null +++ b/java/ql/test/experimental/stubs/org-apache-shiro-authc-2.0.1/org/apache/shiro/authc/HostAuthenticationToken.java @@ -0,0 +1,10 @@ +// Generated automatically from org.apache.shiro.authc.HostAuthenticationToken for testing purposes + +package org.apache.shiro.authc; + +import org.apache.shiro.authc.AuthenticationToken; + +public interface HostAuthenticationToken extends AuthenticationToken +{ + String getHost(); +} From 9c0bdbb20a06b575453aefc8e517f7b64377279b Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Fri, 16 Aug 2024 16:36:08 +0100 Subject: [PATCH 084/258] Java: add a test exercising Spring component liveness detection The existing Spring stubs are expanded sufficiently to support the needed annotations and a few referenced classes and exceptions. --- .../componentscan/SpringBasePackages.expected | 6 + .../componentscan/SpringBasePackages.ql | 6 + .../componentscan/SpringComponent.expected | 7 + .../spring/componentscan/SpringComponent.ql | 7 + .../componentscan/SpringProfiles.expected | 4 + .../spring/componentscan/SpringProfiles.ql | 7 + .../spring/componentscan/SpringProfiles.qll | 20 ++ .../spring/componentscan/WEB-INF/web.xml | 17 ++ .../com/semmle/d/DMarkerClass.java | 3 + .../com/semmle/e/DeadProfileComponent.java | 8 + .../com/semmle/e/LiveConfiguration.java | 16 ++ .../com/semmle/e/LiveProfileComponent.java | 8 + .../com/semmle/e/LiveRestController.java | 18 ++ .../com/semmle/f/DeadConfiguration.java | 9 + .../com/semmle/g/ProfileComponent.java | 6 + .../com/semmle/h/WebXMLLiveConfiguration.java | 11 + .../spring/componentscan/config.xml | 12 + .../frameworks/spring/componentscan/options | 2 + .../spring/componentscan/profile-config.xml | 12 + .../springframework/beans/BeansException.java | 53 +++++ .../beans/FatalBeanException.java | 48 ++++ .../factory/BeanDefinitionStoreException.java | 111 +++++++++ .../NoSuchBeanDefinitionException.java | 128 ++++++++++ .../beans/factory/config/BeanDefinition.java | 19 ++ .../support/BeanDefinitionRegistry.java | 108 +++++++++ .../factory/support/BeanNameGenerator.java | 38 +++ .../AnnotationScopeMetadataResolver.java | 69 ++++++ .../context/annotation/ComponentScan.java | 225 ++++++++++++++++++ .../context/annotation/ComponentScans.java | 44 ++++ .../context/annotation/Condition.java | 34 +++ .../context/annotation/ConditionContext.java | 26 ++ .../context/annotation/Conditional.java | 70 ++++++ .../context/annotation/Configuration.java | 49 +++- .../context/annotation/FilterType.java | 63 +++++ .../context/annotation/Profile.java | 36 +++ .../context/annotation/ProfileCondition.java | 37 +++ .../context/annotation/ScopeMetadata.java | 19 ++ .../annotation/ScopeMetadataResolver.java | 45 ++++ .../context/annotation/ScopedProxyMode.java | 58 +++++ .../springframework/core/AliasRegistry.java | 59 +++++ .../springframework/core/ResolvableType.java | 21 ++ .../core/type/AnnotatedTypeMetadata.java | 19 ++ 42 files changed, 1557 insertions(+), 1 deletion(-) create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/SpringBasePackages.expected create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/SpringBasePackages.ql create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/SpringComponent.expected create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/SpringComponent.ql create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.expected create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.ql create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.qll create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/WEB-INF/web.xml create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/d/DMarkerClass.java create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/e/DeadProfileComponent.java create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/e/LiveConfiguration.java create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/e/LiveProfileComponent.java create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/e/LiveRestController.java create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/f/DeadConfiguration.java create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/g/ProfileComponent.java create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/h/WebXMLLiveConfiguration.java create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/config.xml create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/options create mode 100644 java/ql/test/library-tests/frameworks/spring/componentscan/profile-config.xml create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/BeansException.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/FatalBeanException.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/BeanDefinitionStoreException.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/NoSuchBeanDefinitionException.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/config/BeanDefinition.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/support/BeanDefinitionRegistry.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/support/BeanNameGenerator.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/AnnotationScopeMetadataResolver.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ComponentScan.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ComponentScans.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/Condition.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ConditionContext.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/Conditional.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/FilterType.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/Profile.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ProfileCondition.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ScopeMetadata.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ScopeMetadataResolver.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ScopedProxyMode.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/core/AliasRegistry.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/core/ResolvableType.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/core/type/AnnotatedTypeMetadata.java diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/SpringBasePackages.expected b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringBasePackages.expected new file mode 100644 index 00000000000..e369b610c56 --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringBasePackages.expected @@ -0,0 +1,6 @@ +| com.semmle.a | +| com.semmle.b | +| com.semmle.c | +| com.semmle.d | +| com.semmle.e | +| com.semmle.h | diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/SpringBasePackages.ql b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringBasePackages.ql new file mode 100644 index 00000000000..2164ee4a6f5 --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringBasePackages.ql @@ -0,0 +1,6 @@ +import java +import semmle.code.java.frameworks.spring.Spring +import SpringProfiles + +from SpringBasePackage basePackage +select basePackage diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/SpringComponent.expected b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringComponent.expected new file mode 100644 index 00000000000..0efcc0e678f --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringComponent.expected @@ -0,0 +1,7 @@ +| com/semmle/e/DeadProfileComponent.java:8:14:8:33 | DeadProfileComponent | dead | +| com/semmle/e/LiveConfiguration.java:16:14:16:30 | LiveConfiguration | live | +| com/semmle/e/LiveProfileComponent.java:8:14:8:33 | LiveProfileComponent | live | +| com/semmle/e/LiveRestController.java:12:14:12:31 | LiveRestController | live | +| com/semmle/f/DeadConfiguration.java:9:14:9:30 | DeadConfiguration | dead | +| com/semmle/g/ProfileComponent.java:6:14:6:29 | ProfileComponent | dead | +| com/semmle/h/WebXMLLiveConfiguration.java:11:14:11:36 | WebXMLLiveConfiguration | live | diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/SpringComponent.ql b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringComponent.ql new file mode 100644 index 00000000000..e87922a94b2 --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringComponent.ql @@ -0,0 +1,7 @@ +import java +import semmle.code.java.frameworks.spring.Spring +import SpringProfiles + +from SpringComponent springComponent, string isLive +where if springComponent.isLive() then isLive = "live" else isLive = "dead" +select springComponent, isLive diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.expected b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.expected new file mode 100644 index 00000000000..f8c6a575bac --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.expected @@ -0,0 +1,4 @@ +| !annotationProfile | annotationProfile | inactive | +| annotationProfile | annotationProfile | active | +| sometimesEnabledProfile | sometimesEnabledProfile | active | +| xmlConfigurationProfile | xmlConfigurationProfile | inactive | diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.ql b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.ql new file mode 100644 index 00000000000..3cb337d9546 --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.ql @@ -0,0 +1,7 @@ +import java +import semmle.code.java.frameworks.spring.Spring +import SpringProfiles + +from SpringProfileExpr springProfileExpr, string active +where if springProfileExpr.isActive() then active = "active" else active = "inactive" +select springProfileExpr, springProfileExpr.getProfile(), active diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.qll b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.qll new file mode 100644 index 00000000000..4ccb26ade5e --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.qll @@ -0,0 +1,20 @@ +import java +import semmle.code.java.frameworks.spring.Spring + +/** + * Mark the XML configuration profile as never enabled. This should allow us to deduce that the + * com.semmle.g.ProfileComponent is dead, because com.semmle.g is only a base package in the + * profile-config.xml file, which is only enabled if xmlConfigurationProfile is enabled. + */ +class XMLConfigurationProfile extends NeverEnabledSpringProfile { + XMLConfigurationProfile() { this = "xmlConfigurationProfile" } +} + +/** + * Mark the annotation profile as always enabled. This should allow us to deduce that the + * com.semmle.e.DeadProfileComponent is dead, because the profile is "!annotationProfile", and that + * com.semmle.e.LiveProfileComponent is live, because the profile is "annotationProfile". + */ +class AnnotationProfile extends AlwaysEnabledSpringProfile { + AnnotationProfile() { this = "annotationProfile" } +} diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/WEB-INF/web.xml b/java/ql/test/library-tests/frameworks/spring/componentscan/WEB-INF/web.xml new file mode 100644 index 00000000000..ce6f221a32b --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/WEB-INF/web.xml @@ -0,0 +1,17 @@ + + + + + + contextClass + org.springframework.web.context.support.AnnotationConfigWebApplicationContext + + + + + contextConfigLocation + com.semmle.h + + \ No newline at end of file diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/d/DMarkerClass.java b/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/d/DMarkerClass.java new file mode 100644 index 00000000000..05d4c367c4e --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/d/DMarkerClass.java @@ -0,0 +1,3 @@ +package com.semmle.d; + +public interface DMarkerClass {} diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/e/DeadProfileComponent.java b/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/e/DeadProfileComponent.java new file mode 100644 index 00000000000..05f1e751a0a --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/e/DeadProfileComponent.java @@ -0,0 +1,8 @@ +package com.semmle.e; + +import org.springframework.context.annotation.Profile; +import org.springframework.stereotype.Component; + +@Component +@Profile({"!annotationProfile"}) +public class DeadProfileComponent {} diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/e/LiveConfiguration.java b/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/e/LiveConfiguration.java new file mode 100644 index 00000000000..282294e4db5 --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/e/LiveConfiguration.java @@ -0,0 +1,16 @@ +package com.semmle.e; + +import com.semmle.d.DMarkerClass; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +/** + * This configuration is live because the config.xml file contains a component-scan element that + * includes com.semmle.e as a base package. + */ +@Configuration +@ComponentScan( + value = "com.semmle.a", + basePackages = {"com.semmle.b", "com.semmle.c"}, + basePackageClasses = {DMarkerClass.class}) +public class LiveConfiguration {} diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/e/LiveProfileComponent.java b/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/e/LiveProfileComponent.java new file mode 100644 index 00000000000..6ed265b3d92 --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/e/LiveProfileComponent.java @@ -0,0 +1,8 @@ +package com.semmle.e; + +import org.springframework.context.annotation.Profile; +import org.springframework.stereotype.Component; + +@Component +@Profile({"annotationProfile"}) +public class LiveProfileComponent {} diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/e/LiveRestController.java b/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/e/LiveRestController.java new file mode 100644 index 00000000000..483c723bef7 --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/e/LiveRestController.java @@ -0,0 +1,18 @@ +package com.semmle.e; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * Live because it is in a live package, and has a {@code RestController} annotation which is + * annotated with {@code @Controller} which is annotated with {@code @Component}, making it a + * component. + */ +@RestController +public class LiveRestController { + + @RequestMapping(value = {"/"}) + public String testMethod() { + return "result"; + } +} diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/f/DeadConfiguration.java b/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/f/DeadConfiguration.java new file mode 100644 index 00000000000..33970b7fd3d --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/f/DeadConfiguration.java @@ -0,0 +1,9 @@ +package com.semmle.f; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +/** This is a dead configuration class, because this class is not in a registered base package. */ +@Configuration +@ComponentScan("com.semmle.f") +public class DeadConfiguration {} diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/g/ProfileComponent.java b/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/g/ProfileComponent.java new file mode 100644 index 00000000000..bdad8b47d8d --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/g/ProfileComponent.java @@ -0,0 +1,6 @@ +package com.semmle.g; + +import org.springframework.stereotype.Component; + +@Component +public class ProfileComponent {} diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/h/WebXMLLiveConfiguration.java b/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/h/WebXMLLiveConfiguration.java new file mode 100644 index 00000000000..b816906d236 --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/com/semmle/h/WebXMLLiveConfiguration.java @@ -0,0 +1,11 @@ +package com.semmle.h; + +import org.springframework.context.annotation.Configuration; + +/** + * This configuration is live because the web.xml file specifies + * AnnotationConfigWebApplicationContext as the {@code contextClass}, and has a + * contextConfigLocation value that includes this package (com.semmle.h). + */ +@Configuration +public class WebXMLLiveConfiguration {} diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/config.xml b/java/ql/test/library-tests/frameworks/spring/componentscan/config.xml new file mode 100644 index 00000000000..c7c7ccaf436 --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/config.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/options b/java/ql/test/library-tests/frameworks/spring/componentscan/options new file mode 100644 index 00000000000..df84ab0bc1c --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/options @@ -0,0 +1,2 @@ +//semmle-extractor-options: --javac-args -cp +//semmle-extractor-options: ${testdir}/../../../../stubs/springframework-5.3.8/ diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/profile-config.xml b/java/ql/test/library-tests/frameworks/spring/componentscan/profile-config.xml new file mode 100644 index 00000000000..94b94eb8359 --- /dev/null +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/profile-config.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/BeansException.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/BeansException.java new file mode 100644 index 00000000000..f3816a16db5 --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/BeansException.java @@ -0,0 +1,53 @@ +/* + * Copyright 2002-2017 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.beans; + +import org.springframework.core.NestedRuntimeException; +import org.springframework.lang.Nullable; + +/** + * Abstract superclass for all exceptions thrown in the beans package + * and subpackages. + * + *

    Note that this is a runtime (unchecked) exception. Beans exceptions + * are usually fatal; there is no reason for them to be checked. + * + * @author Rod Johnson + * @author Juergen Hoeller + */ +@SuppressWarnings("serial") +public abstract class BeansException extends NestedRuntimeException { + + /** + * Create a new BeansException with the specified message. + * @param msg the detail message + */ + public BeansException(String msg) { + super(msg); + } + + /** + * Create a new BeansException with the specified message + * and root cause. + * @param msg the detail message + * @param cause the root cause + */ + public BeansException(@Nullable String msg, @Nullable Throwable cause) { + super(msg, cause); + } + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/FatalBeanException.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/FatalBeanException.java new file mode 100644 index 00000000000..7c6e1d941cb --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/FatalBeanException.java @@ -0,0 +1,48 @@ +/* + * Copyright 2002-2017 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.beans; + +import org.springframework.lang.Nullable; + +/** + * Thrown on an unrecoverable problem encountered in the + * beans packages or sub-packages, e.g. bad class or field. + * + * @author Rod Johnson + */ +@SuppressWarnings("serial") +public class FatalBeanException extends BeansException { + + /** + * Create a new FatalBeanException with the specified message. + * @param msg the detail message + */ + public FatalBeanException(String msg) { + super(msg); + } + + /** + * Create a new FatalBeanException with the specified message + * and root cause. + * @param msg the detail message + * @param cause the root cause + */ + public FatalBeanException(String msg, @Nullable Throwable cause) { + super(msg, cause); + } + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/BeanDefinitionStoreException.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/BeanDefinitionStoreException.java new file mode 100644 index 00000000000..7a04cd37fc2 --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/BeanDefinitionStoreException.java @@ -0,0 +1,111 @@ +/* + * Copyright 2002-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.beans.factory; + +import org.springframework.beans.FatalBeanException; +import org.springframework.lang.Nullable; + +/** + * Exception thrown when a BeanFactory encounters an invalid bean definition: + * e.g. in case of incomplete or contradictory bean metadata. + * + * @author Rod Johnson + * @author Juergen Hoeller + * @author Rob Harrop + */ +@SuppressWarnings("serial") +public class BeanDefinitionStoreException extends FatalBeanException { + + /** + * Create a new BeanDefinitionStoreException. + * @param msg the detail message (used as exception message as-is) + */ + public BeanDefinitionStoreException(String msg) { + super(msg); + } + + /** + * Create a new BeanDefinitionStoreException. + * @param msg the detail message (used as exception message as-is) + * @param cause the root cause (may be {@code null}) + */ + public BeanDefinitionStoreException(String msg, @Nullable Throwable cause) { + super(msg, cause); + } + + /** + * Create a new BeanDefinitionStoreException. + * @param resourceDescription description of the resource that the bean definition came from + * @param msg the detail message (used as exception message as-is) + */ + public BeanDefinitionStoreException(@Nullable String resourceDescription, String msg) { + super(msg); + } + + /** + * Create a new BeanDefinitionStoreException. + * @param resourceDescription description of the resource that the bean definition came from + * @param msg the detail message (used as exception message as-is) + * @param cause the root cause (may be {@code null}) + */ + public BeanDefinitionStoreException(@Nullable String resourceDescription, String msg, @Nullable Throwable cause) { + super(msg, cause); + } + + /** + * Create a new BeanDefinitionStoreException. + * @param resourceDescription description of the resource that the bean definition came from + * @param beanName the name of the bean + * @param msg the detail message (appended to an introductory message that indicates + * the resource and the name of the bean) + */ + public BeanDefinitionStoreException(@Nullable String resourceDescription, String beanName, String msg) { + this(resourceDescription, beanName, msg, null); + } + + /** + * Create a new BeanDefinitionStoreException. + * @param resourceDescription description of the resource that the bean definition came from + * @param beanName the name of the bean + * @param msg the detail message (appended to an introductory message that indicates + * the resource and the name of the bean) + * @param cause the root cause (may be {@code null}) + */ + public BeanDefinitionStoreException( + @Nullable String resourceDescription, String beanName, String msg, @Nullable Throwable cause) { + super("Invalid bean definition with name '" + beanName + "' defined in " + resourceDescription + ": " + msg, + cause); + } + + + /** + * Return the description of the resource that the bean definition came from, if available. + */ + @Nullable + public String getResourceDescription() { + return null; + } + + /** + * Return the name of the bean, if available. + */ + @Nullable + public String getBeanName() { + return null; + } + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/NoSuchBeanDefinitionException.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/NoSuchBeanDefinitionException.java new file mode 100644 index 00000000000..798d8748f7d --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/NoSuchBeanDefinitionException.java @@ -0,0 +1,128 @@ +/* + * Copyright 2002-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.beans.factory; + +import org.springframework.beans.BeansException; +import org.springframework.core.ResolvableType; +import org.springframework.lang.Nullable; + +/** + * Exception thrown when a {@code BeanFactory} is asked for a bean instance for which it + * cannot find a definition. This may point to a non-existing bean, a non-unique bean, + * or a manually registered singleton instance without an associated bean definition. + * + * @author Rod Johnson + * @author Juergen Hoeller + * @author Stephane Nicoll + * @see BeanFactory#getBean(String) + * @see BeanFactory#getBean(Class) + * @see NoUniqueBeanDefinitionException + */ +@SuppressWarnings("serial") +public class NoSuchBeanDefinitionException extends BeansException { + + /** + * Create a new {@code NoSuchBeanDefinitionException}. + * @param name the name of the missing bean + */ + public NoSuchBeanDefinitionException(String name) { + super("No bean named '" + name + "' available"); + } + + /** + * Create a new {@code NoSuchBeanDefinitionException}. + * @param name the name of the missing bean + * @param message detailed message describing the problem + */ + public NoSuchBeanDefinitionException(String name, String message) { + super("No bean named '" + name + "' available: " + message); + } + + /** + * Create a new {@code NoSuchBeanDefinitionException}. + * @param type required type of the missing bean + */ + public NoSuchBeanDefinitionException(Class type) { + this((String)null); + } + + /** + * Create a new {@code NoSuchBeanDefinitionException}. + * @param type required type of the missing bean + * @param message detailed message describing the problem + */ + public NoSuchBeanDefinitionException(Class type, String message) { + this((String)null, message); + } + + /** + * Create a new {@code NoSuchBeanDefinitionException}. + * @param type full type declaration of the missing bean + * @since 4.3.4 + */ + public NoSuchBeanDefinitionException(ResolvableType type) { + super("No qualifying bean of type '" + type + "' available"); + } + + /** + * Create a new {@code NoSuchBeanDefinitionException}. + * @param type full type declaration of the missing bean + * @param message detailed message describing the problem + * @since 4.3.4 + */ + public NoSuchBeanDefinitionException(ResolvableType type, String message) { + super("No qualifying bean of type '" + type + "' available: " + message); + } + + + /** + * Return the name of the missing bean, if it was a lookup by name that failed. + */ + @Nullable + public String getBeanName() { + return null; + } + + /** + * Return the required type of the missing bean, if it was a lookup by type + * that failed. + */ + @Nullable + public Class getBeanType() { + return null; + } + + /** + * Return the required {@link ResolvableType} of the missing bean, if it was a lookup + * by type that failed. + * @since 4.3.4 + */ + @Nullable + public ResolvableType getResolvableType() { + return null; + } + + /** + * Return the number of beans found when only one matching bean was expected. + * For a regular NoSuchBeanDefinitionException, this will always be 0. + * @see NoUniqueBeanDefinitionException + */ + public int getNumberOfBeansFound() { + return 0; + } + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/config/BeanDefinition.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/config/BeanDefinition.java new file mode 100644 index 00000000000..799fdc9d746 --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/config/BeanDefinition.java @@ -0,0 +1,19 @@ +/* + * Copyright 2002-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.beans.factory.config; + +public interface BeanDefinition { } diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/support/BeanDefinitionRegistry.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/support/BeanDefinitionRegistry.java new file mode 100644 index 00000000000..a1f47e53603 --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/support/BeanDefinitionRegistry.java @@ -0,0 +1,108 @@ +/* + * Copyright 2002-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.beans.factory.support; + +import org.springframework.beans.factory.BeanDefinitionStoreException; +import org.springframework.beans.factory.NoSuchBeanDefinitionException; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.core.AliasRegistry; + +/** + * Interface for registries that hold bean definitions, for example RootBeanDefinition + * and ChildBeanDefinition instances. Typically implemented by BeanFactories that + * internally work with the AbstractBeanDefinition hierarchy. + * + *

    This is the only interface in Spring's bean factory packages that encapsulates + * registration of bean definitions. The standard BeanFactory interfaces + * only cover access to a fully configured factory instance. + * + *

    Spring's bean definition readers expect to work on an implementation of this + * interface. Known implementors within the Spring core are DefaultListableBeanFactory + * and GenericApplicationContext. + * + * @author Juergen Hoeller + * @since 26.11.2003 + * @see org.springframework.beans.factory.config.BeanDefinition + * @see AbstractBeanDefinition + * @see RootBeanDefinition + * @see ChildBeanDefinition + * @see DefaultListableBeanFactory + * @see org.springframework.context.support.GenericApplicationContext + * @see org.springframework.beans.factory.xml.XmlBeanDefinitionReader + * @see PropertiesBeanDefinitionReader + */ +public interface BeanDefinitionRegistry extends AliasRegistry { + + /** + * Register a new bean definition with this registry. + * Must support RootBeanDefinition and ChildBeanDefinition. + * @param beanName the name of the bean instance to register + * @param beanDefinition definition of the bean instance to register + * @throws BeanDefinitionStoreException if the BeanDefinition is invalid + * @throws BeanDefinitionOverrideException if there is already a BeanDefinition + * for the specified bean name and we are not allowed to override it + * @see GenericBeanDefinition + * @see RootBeanDefinition + * @see ChildBeanDefinition + */ + void registerBeanDefinition(String beanName, BeanDefinition beanDefinition) + throws BeanDefinitionStoreException; + + /** + * Remove the BeanDefinition for the given name. + * @param beanName the name of the bean instance to register + * @throws NoSuchBeanDefinitionException if there is no such bean definition + */ + void removeBeanDefinition(String beanName) throws NoSuchBeanDefinitionException; + + /** + * Return the BeanDefinition for the given bean name. + * @param beanName name of the bean to find a definition for + * @return the BeanDefinition for the given name (never {@code null}) + * @throws NoSuchBeanDefinitionException if there is no such bean definition + */ + BeanDefinition getBeanDefinition(String beanName) throws NoSuchBeanDefinitionException; + + /** + * Check if this registry contains a bean definition with the given name. + * @param beanName the name of the bean to look for + * @return if this registry contains a bean definition with the given name + */ + boolean containsBeanDefinition(String beanName); + + /** + * Return the names of all beans defined in this registry. + * @return the names of all beans defined in this registry, + * or an empty array if none defined + */ + String[] getBeanDefinitionNames(); + + /** + * Return the number of beans defined in the registry. + * @return the number of beans defined in the registry + */ + int getBeanDefinitionCount(); + + /** + * Determine whether the given bean name is already in use within this registry, + * i.e. whether there is a local bean or alias registered under this name. + * @param beanName the name to check + * @return whether the given bean name is already in use + */ + boolean isBeanNameInUse(String beanName); + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/support/BeanNameGenerator.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/support/BeanNameGenerator.java new file mode 100644 index 00000000000..d7d3c9b35d7 --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/beans/factory/support/BeanNameGenerator.java @@ -0,0 +1,38 @@ +/* + * Copyright 2002-2007 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.beans.factory.support; + +import org.springframework.beans.factory.config.BeanDefinition; + +/** + * Strategy interface for generating bean names for bean definitions. + * + * @author Juergen Hoeller + * @since 2.0.3 + */ +public interface BeanNameGenerator { + + /** + * Generate a bean name for the given bean definition. + * @param definition the bean definition to generate a name for + * @param registry the bean definition registry that the given definition + * is supposed to be registered with + * @return the generated bean name + */ + String generateBeanName(BeanDefinition definition, BeanDefinitionRegistry registry); + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/AnnotationScopeMetadataResolver.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/AnnotationScopeMetadataResolver.java new file mode 100644 index 00000000000..a4c456f4545 --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/AnnotationScopeMetadataResolver.java @@ -0,0 +1,69 @@ +/* + * Copyright 2002-2017 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.context.annotation; + +import java.lang.annotation.Annotation; + +import org.springframework.beans.factory.config.BeanDefinition; + +/** + * A {@link ScopeMetadataResolver} implementation that by default checks for + * the presence of Spring's {@link Scope @Scope} annotation on the bean class. + * + *

    The exact type of annotation that is checked for is configurable via + * {@link #setScopeAnnotationType(Class)}. + * + * @author Mark Fisher + * @author Juergen Hoeller + * @author Sam Brannen + * @since 2.5 + * @see org.springframework.context.annotation.Scope + */ +public class AnnotationScopeMetadataResolver implements ScopeMetadataResolver { + + /** + * Construct a new {@code AnnotationScopeMetadataResolver}. + * @see #AnnotationScopeMetadataResolver(ScopedProxyMode) + * @see ScopedProxyMode#NO + */ + public AnnotationScopeMetadataResolver() { + } + + /** + * Construct a new {@code AnnotationScopeMetadataResolver} using the + * supplied default {@link ScopedProxyMode}. + * @param defaultProxyMode the default scoped-proxy mode + */ + public AnnotationScopeMetadataResolver(ScopedProxyMode defaultProxyMode) { + } + + + /** + * Set the type of annotation that is checked for by this + * {@code AnnotationScopeMetadataResolver}. + * @param scopeAnnotationType the target annotation type + */ + public void setScopeAnnotationType(Class scopeAnnotationType) { + } + + + @Override + public ScopeMetadata resolveScopeMetadata(BeanDefinition definition) { + return null; + } + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ComponentScan.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ComponentScan.java new file mode 100644 index 00000000000..5a2c4ddea43 --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ComponentScan.java @@ -0,0 +1,225 @@ +/* + * Copyright 2002-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.context.annotation; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Repeatable; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.springframework.beans.factory.support.BeanNameGenerator; +import org.springframework.core.annotation.AliasFor; + +/** + * Configures component scanning directives for use with @{@link Configuration} classes. + * Provides support parallel with Spring XML's {@code } element. + * + *

    Either {@link #basePackageClasses} or {@link #basePackages} (or its alias + * {@link #value}) may be specified to define specific packages to scan. If specific + * packages are not defined, scanning will occur from the package of the + * class that declares this annotation. + * + *

    Note that the {@code } element has an + * {@code annotation-config} attribute; however, this annotation does not. This is because + * in almost all cases when using {@code @ComponentScan}, default annotation config + * processing (e.g. processing {@code @Autowired} and friends) is assumed. Furthermore, + * when using {@link AnnotationConfigApplicationContext}, annotation config processors are + * always registered, meaning that any attempt to disable them at the + * {@code @ComponentScan} level would be ignored. + * + *

    See {@link Configuration @Configuration}'s Javadoc for usage examples. + * + * @author Chris Beams + * @author Juergen Hoeller + * @author Sam Brannen + * @since 3.1 + * @see Configuration + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +@Documented +@Repeatable(ComponentScans.class) +public @interface ComponentScan { + + /** + * Alias for {@link #basePackages}. + *

    Allows for more concise annotation declarations if no other attributes + * are needed — for example, {@code @ComponentScan("org.my.pkg")} + * instead of {@code @ComponentScan(basePackages = "org.my.pkg")}. + */ + @AliasFor("basePackages") + String[] value() default {}; + + /** + * Base packages to scan for annotated components. + *

    {@link #value} is an alias for (and mutually exclusive with) this + * attribute. + *

    Use {@link #basePackageClasses} for a type-safe alternative to + * String-based package names. + */ + @AliasFor("value") + String[] basePackages() default {}; + + /** + * Type-safe alternative to {@link #basePackages} for specifying the packages + * to scan for annotated components. The package of each class specified will be scanned. + *

    Consider creating a special no-op marker class or interface in each package + * that serves no purpose other than being referenced by this attribute. + */ + Class[] basePackageClasses() default {}; + + /** + * The {@link BeanNameGenerator} class to be used for naming detected components + * within the Spring container. + *

    The default value of the {@link BeanNameGenerator} interface itself indicates + * that the scanner used to process this {@code @ComponentScan} annotation should + * use its inherited bean name generator, e.g. the default + * {@link AnnotationBeanNameGenerator} or any custom instance supplied to the + * application context at bootstrap time. + * @see AnnotationConfigApplicationContext#setBeanNameGenerator(BeanNameGenerator) + * @see AnnotationBeanNameGenerator + * @see FullyQualifiedAnnotationBeanNameGenerator + */ + Class nameGenerator() default BeanNameGenerator.class; + + /** + * The {@link ScopeMetadataResolver} to be used for resolving the scope of detected components. + */ + Class scopeResolver() default AnnotationScopeMetadataResolver.class; + + /** + * Indicates whether proxies should be generated for detected components, which may be + * necessary when using scopes in a proxy-style fashion. + *

    The default is defer to the default behavior of the component scanner used to + * execute the actual scan. + *

    Note that setting this attribute overrides any value set for {@link #scopeResolver}. + * @see ClassPathBeanDefinitionScanner#setScopedProxyMode(ScopedProxyMode) + */ + ScopedProxyMode scopedProxy() default ScopedProxyMode.DEFAULT; + + /** + * Controls the class files eligible for component detection. + *

    Consider use of {@link #includeFilters} and {@link #excludeFilters} + * for a more flexible approach. + */ + String resourcePattern() default ""; + + /** + * Indicates whether automatic detection of classes annotated with {@code @Component} + * {@code @Repository}, {@code @Service}, or {@code @Controller} should be enabled. + */ + boolean useDefaultFilters() default true; + + /** + * Specifies which types are eligible for component scanning. + *

    Further narrows the set of candidate components from everything in {@link #basePackages} + * to everything in the base packages that matches the given filter or filters. + *

    Note that these filters will be applied in addition to the default filters, if specified. + * Any type under the specified base packages which matches a given filter will be included, + * even if it does not match the default filters (i.e. is not annotated with {@code @Component}). + * @see #resourcePattern() + * @see #useDefaultFilters() + */ + Filter[] includeFilters() default {}; + + /** + * Specifies which types are not eligible for component scanning. + * @see #resourcePattern + */ + Filter[] excludeFilters() default {}; + + /** + * Specify whether scanned beans should be registered for lazy initialization. + *

    Default is {@code false}; switch this to {@code true} when desired. + * @since 4.1 + */ + boolean lazyInit() default false; + + + /** + * Declares the type filter to be used as an {@linkplain ComponentScan#includeFilters + * include filter} or {@linkplain ComponentScan#excludeFilters exclude filter}. + */ + @Retention(RetentionPolicy.RUNTIME) + @Target({}) + @interface Filter { + + /** + * The type of filter to use. + *

    Default is {@link FilterType#ANNOTATION}. + * @see #classes + * @see #pattern + */ + FilterType type() default FilterType.ANNOTATION; + + /** + * Alias for {@link #classes}. + * @see #classes + */ + @AliasFor("classes") + Class[] value() default {}; + + /** + * The class or classes to use as the filter. + *

    The following table explains how the classes will be interpreted + * based on the configured value of the {@link #type} attribute. + * + * + * + * + * + * + * + * + *
    {@code FilterType}Class Interpreted As
    {@link FilterType#ANNOTATION ANNOTATION}the annotation itself
    {@link FilterType#ASSIGNABLE_TYPE ASSIGNABLE_TYPE}the type that detected components should be assignable to
    {@link FilterType#CUSTOM CUSTOM}an implementation of {@link TypeFilter}
    + *

    When multiple classes are specified, OR logic is applied + * — for example, "include types annotated with {@code @Foo} OR {@code @Bar}". + *

    Custom {@link TypeFilter TypeFilters} may optionally implement any of the + * following {@link org.springframework.beans.factory.Aware Aware} interfaces, and + * their respective methods will be called prior to {@link TypeFilter#match match}: + *

      + *
    • {@link org.springframework.context.EnvironmentAware EnvironmentAware}
    • + *
    • {@link org.springframework.beans.factory.BeanFactoryAware BeanFactoryAware} + *
    • {@link org.springframework.beans.factory.BeanClassLoaderAware BeanClassLoaderAware} + *
    • {@link org.springframework.context.ResourceLoaderAware ResourceLoaderAware} + *
    + *

    Specifying zero classes is permitted but will have no effect on component + * scanning. + * @since 4.2 + * @see #value + * @see #type + */ + @AliasFor("value") + Class[] classes() default {}; + + /** + * The pattern (or patterns) to use for the filter, as an alternative + * to specifying a Class {@link #value}. + *

    If {@link #type} is set to {@link FilterType#ASPECTJ ASPECTJ}, + * this is an AspectJ type pattern expression. If {@link #type} is + * set to {@link FilterType#REGEX REGEX}, this is a regex pattern + * for the fully-qualified class names to match. + * @see #type + * @see #classes + */ + String[] pattern() default {}; + + } + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ComponentScans.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ComponentScans.java new file mode 100644 index 00000000000..cf1e033e29e --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ComponentScans.java @@ -0,0 +1,44 @@ +/* + * Copyright 2002-2015 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.context.annotation; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Container annotation that aggregates several {@link ComponentScan} annotations. + * + *

    Can be used natively, declaring several nested {@link ComponentScan} annotations. + * Can also be used in conjunction with Java 8's support for repeatable annotations, + * where {@link ComponentScan} can simply be declared several times on the same method, + * implicitly generating this container annotation. + * + * @author Juergen Hoeller + * @since 4.3 + * @see ComponentScan + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +@Documented +public @interface ComponentScans { + + ComponentScan[] value(); + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/Condition.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/Condition.java new file mode 100644 index 00000000000..d8e31bc3608 --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/Condition.java @@ -0,0 +1,34 @@ +/* + * Copyright 2002-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.context.annotation; + +import org.springframework.core.type.AnnotatedTypeMetadata; + +@FunctionalInterface +public interface Condition { + + /** + * Determine if the condition matches. + * @param context the condition context + * @param metadata the metadata of the {@link org.springframework.core.type.AnnotationMetadata class} + * or {@link org.springframework.core.type.MethodMetadata method} being checked + * @return {@code true} if the condition matches and the component can be registered, + * or {@code false} to veto the annotated component's registration + */ + boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata); + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ConditionContext.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ConditionContext.java new file mode 100644 index 00000000000..3a43f227553 --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ConditionContext.java @@ -0,0 +1,26 @@ +/* + * Copyright 2002-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.context.annotation; + +/** + * Context information for use by {@link Condition} implementations. + * + * @author Phillip Webb + * @author Juergen Hoeller + * @since 4.0 + */ +public interface ConditionContext { } diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/Conditional.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/Conditional.java new file mode 100644 index 00000000000..80e5f5cca54 --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/Conditional.java @@ -0,0 +1,70 @@ +/* + * Copyright 2002-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.context.annotation; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Indicates that a component is only eligible for registration when all + * {@linkplain #value specified conditions} match. + * + *

    A condition is any state that can be determined programmatically + * before the bean definition is due to be registered (see {@link Condition} for details). + * + *

    The {@code @Conditional} annotation may be used in any of the following ways: + *

      + *
    • as a type-level annotation on any class directly or indirectly annotated with + * {@code @Component}, including {@link Configuration @Configuration} classes
    • + *
    • as a meta-annotation, for the purpose of composing custom stereotype + * annotations
    • + *
    • as a method-level annotation on any {@link Bean @Bean} method
    • + *
    + * + *

    If a {@code @Configuration} class is marked with {@code @Conditional}, + * all of the {@code @Bean} methods, {@link Import @Import} annotations, and + * {@link ComponentScan @ComponentScan} annotations associated with that + * class will be subject to the conditions. + * + *

    NOTE: Inheritance of {@code @Conditional} annotations + * is not supported; any conditions from superclasses or from overridden + * methods will not be considered. In order to enforce these semantics, + * {@code @Conditional} itself is not declared as + * {@link java.lang.annotation.Inherited @Inherited}; furthermore, any + * custom composed annotation that is meta-annotated with + * {@code @Conditional} must not be declared as {@code @Inherited}. + * + * @author Phillip Webb + * @author Sam Brannen + * @since 4.0 + * @see Condition + */ +@Target({ElementType.TYPE, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface Conditional { + + /** + * All {@link Condition} classes that must {@linkplain Condition#matches match} + * in order for the component to be registered. + */ + Class[] value(); + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/Configuration.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/Configuration.java index 0024b3ba833..91521cf4587 100644 --- a/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/Configuration.java +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/Configuration.java @@ -1,7 +1,54 @@ package org.springframework.context.annotation; +import java.lang.annotation.Documented; import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.springframework.core.annotation.AliasFor; +import org.springframework.stereotype.Component; + @Target(ElementType.TYPE) -public @interface Configuration {} \ No newline at end of file +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Component +public @interface Configuration { + + /** + * Explicitly specify the name of the Spring bean definition associated with the + * {@code @Configuration} class. If left unspecified (the common case), a bean + * name will be automatically generated. + *

    The custom name applies only if the {@code @Configuration} class is picked + * up via component scanning or supplied directly to an + * {@link AnnotationConfigApplicationContext}. If the {@code @Configuration} class + * is registered as a traditional XML bean definition, the name/id of the bean + * element will take precedence. + * @return the explicit component name, if any (or empty String otherwise) + * @see AnnotationBeanNameGenerator + */ + @AliasFor(annotation = Component.class) + String value() default ""; + + /** + * Specify whether {@code @Bean} methods should get proxied in order to enforce + * bean lifecycle behavior, e.g. to return shared singleton bean instances even + * in case of direct {@code @Bean} method calls in user code. This feature + * requires method interception, implemented through a runtime-generated CGLIB + * subclass which comes with limitations such as the configuration class and + * its methods not being allowed to declare {@code final}. + *

    The default is {@code true}, allowing for 'inter-bean references' via direct + * method calls within the configuration class as well as for external calls to + * this configuration's {@code @Bean} methods, e.g. from another configuration class. + * If this is not needed since each of this particular configuration's {@code @Bean} + * methods is self-contained and designed as a plain factory method for container use, + * switch this flag to {@code false} in order to avoid CGLIB subclass processing. + *

    Turning off bean method interception effectively processes {@code @Bean} + * methods individually like when declared on non-{@code @Configuration} classes, + * a.k.a. "@Bean Lite Mode" (see {@link Bean @Bean's javadoc}). It is therefore + * behaviorally equivalent to removing the {@code @Configuration} stereotype. + * @since 5.2 + */ + boolean proxyBeanMethods() default true; + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/FilterType.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/FilterType.java new file mode 100644 index 00000000000..36466ffe69a --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/FilterType.java @@ -0,0 +1,63 @@ +/* + * Copyright 2002-2013 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.context.annotation; + +/** + * Enumeration of the type filters that may be used in conjunction with + * {@link ComponentScan @ComponentScan}. + * + * @author Mark Fisher + * @author Juergen Hoeller + * @author Chris Beams + * @since 2.5 + * @see ComponentScan + * @see ComponentScan#includeFilters() + * @see ComponentScan#excludeFilters() + * @see org.springframework.core.type.filter.TypeFilter + */ +public enum FilterType { + + /** + * Filter candidates marked with a given annotation. + * @see org.springframework.core.type.filter.AnnotationTypeFilter + */ + ANNOTATION, + + /** + * Filter candidates assignable to a given type. + * @see org.springframework.core.type.filter.AssignableTypeFilter + */ + ASSIGNABLE_TYPE, + + /** + * Filter candidates matching a given AspectJ type pattern expression. + * @see org.springframework.core.type.filter.AspectJTypeFilter + */ + ASPECTJ, + + /** + * Filter candidates matching a given regex pattern. + * @see org.springframework.core.type.filter.RegexPatternTypeFilter + */ + REGEX, + + /** Filter candidates using a given custom + * {@link org.springframework.core.type.filter.TypeFilter} implementation. + */ + CUSTOM + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/Profile.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/Profile.java new file mode 100644 index 00000000000..0c72d663abd --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/Profile.java @@ -0,0 +1,36 @@ +/* + * Copyright 2002-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.context.annotation; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.TYPE, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Conditional(ProfileCondition.class) +public @interface Profile { + + /** + * The set of profiles for which the annotated component should be registered. + */ + String[] value(); + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ProfileCondition.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ProfileCondition.java new file mode 100644 index 00000000000..20d7ce43d37 --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ProfileCondition.java @@ -0,0 +1,37 @@ +/* + * Copyright 2002-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.context.annotation; + +import org.springframework.core.type.AnnotatedTypeMetadata; + +/** + * {@link Condition} that matches based on the value of a {@link Profile @Profile} + * annotation. + * + * @author Chris Beams + * @author Phillip Webb + * @author Juergen Hoeller + * @since 4.0 + */ +class ProfileCondition implements Condition { + + @Override + public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { + return true; + } + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ScopeMetadata.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ScopeMetadata.java new file mode 100644 index 00000000000..70af46f774c --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ScopeMetadata.java @@ -0,0 +1,19 @@ +/* + * Copyright 2002-2012 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.context.annotation; + +public class ScopeMetadata { } diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ScopeMetadataResolver.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ScopeMetadataResolver.java new file mode 100644 index 00000000000..c030fbdf458 --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ScopeMetadataResolver.java @@ -0,0 +1,45 @@ +/* + * Copyright 2002-2016 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.context.annotation; + +import org.springframework.beans.factory.config.BeanDefinition; + +/** + * Strategy interface for resolving the scope of bean definitions. + * + * @author Mark Fisher + * @since 2.5 + * @see org.springframework.context.annotation.Scope + */ +@FunctionalInterface +public interface ScopeMetadataResolver { + + /** + * Resolve the {@link ScopeMetadata} appropriate to the supplied + * bean {@code definition}. + *

    Implementations can of course use any strategy they like to + * determine the scope metadata, but some implementations that spring + * immediately to mind might be to use source level annotations + * present on {@link BeanDefinition#getBeanClassName() the class} of the + * supplied {@code definition}, or to use metadata present in the + * {@link BeanDefinition#attributeNames()} of the supplied {@code definition}. + * @param definition the target bean definition + * @return the relevant scope metadata; never {@code null} + */ + ScopeMetadata resolveScopeMetadata(BeanDefinition definition); + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ScopedProxyMode.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ScopedProxyMode.java new file mode 100644 index 00000000000..08e7fd8e32a --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/context/annotation/ScopedProxyMode.java @@ -0,0 +1,58 @@ +/* + * Copyright 2002-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.context.annotation; + +/** + * Enumerates the various scoped-proxy options. + * + *

    For a more complete discussion of exactly what a scoped proxy is, see the + * section of the Spring reference documentation entitled 'Scoped beans as + * dependencies'. + * + * @author Mark Fisher + * @since 2.5 + * @see ScopeMetadata + */ +public enum ScopedProxyMode { + + /** + * Default typically equals {@link #NO}, unless a different default + * has been configured at the component-scan instruction level. + */ + DEFAULT, + + /** + * Do not create a scoped proxy. + *

    This proxy-mode is not typically useful when used with a + * non-singleton scoped instance, which should favor the use of the + * {@link #INTERFACES} or {@link #TARGET_CLASS} proxy-modes instead if it + * is to be used as a dependency. + */ + NO, + + /** + * Create a JDK dynamic proxy implementing all interfaces exposed by + * the class of the target object. + */ + INTERFACES, + + /** + * Create a class-based proxy (uses CGLIB). + */ + TARGET_CLASS + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/core/AliasRegistry.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/core/AliasRegistry.java new file mode 100644 index 00000000000..689b3aeea9b --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/core/AliasRegistry.java @@ -0,0 +1,59 @@ +/* + * Copyright 2002-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.core; + +/** + * Common interface for managing aliases. Serves as a super-interface for + * {@link org.springframework.beans.factory.support.BeanDefinitionRegistry}. + * + * @author Juergen Hoeller + * @since 2.5.2 + */ +public interface AliasRegistry { + + /** + * Given a name, register an alias for it. + * @param name the canonical name + * @param alias the alias to be registered + * @throws IllegalStateException if the alias is already in use + * and may not be overridden + */ + void registerAlias(String name, String alias); + + /** + * Remove the specified alias from this registry. + * @param alias the alias to remove + * @throws IllegalStateException if no such alias was found + */ + void removeAlias(String alias); + + /** + * Determine whether the given name is defined as an alias + * (as opposed to the name of an actually registered component). + * @param name the name to check + * @return whether the given name is an alias + */ + boolean isAlias(String name); + + /** + * Return the aliases for the given name, if defined. + * @param name the name to check for aliases + * @return the aliases, or an empty array if none + */ + String[] getAliases(String name); + +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/core/ResolvableType.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/core/ResolvableType.java new file mode 100644 index 00000000000..bd05cee4ec1 --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/core/ResolvableType.java @@ -0,0 +1,21 @@ +/* + * Copyright 2002-2024 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.core; + +import java.io.Serializable; + +public class ResolvableType implements Serializable { } diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/core/type/AnnotatedTypeMetadata.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/core/type/AnnotatedTypeMetadata.java new file mode 100644 index 00000000000..2213647938d --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/core/type/AnnotatedTypeMetadata.java @@ -0,0 +1,19 @@ +/* + * Copyright 2002-2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.core.type; + +public interface AnnotatedTypeMetadata { } From f9bc97b2a123817b68e8cca28eeb039a5daa1c90 Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Mon, 29 Jul 2024 09:30:06 +0200 Subject: [PATCH 085/258] `crate_universe`: Enable modext isolation. This should allow us to build our python and ruby code independently - in particular, we can now do shallow checkouts of one without the other. Previously, the modext introduced cross-dependency. This also reduces the amount of work we do in the crate universe processing for the other language, even though it's unused. This does need renaming the module, as otherwise the generated paths from rules_rust get too long for Windows :( --- .bazelrc | 1 + .bazelrc.internal | 1 + MODULE.bazel | 23 ++++++++++++++----- .../bazel/internal/zipmerge/zipmerge_test.cpp | 2 +- ruby/extractor/BUILD.bazel | 2 +- shared/tree-sitter-extractor/BUILD.bazel | 2 +- 6 files changed, 22 insertions(+), 9 deletions(-) diff --git a/.bazelrc b/.bazelrc index e2ccb69be90..9abda3e670a 100644 --- a/.bazelrc +++ b/.bazelrc @@ -24,5 +24,6 @@ common --registry=file:///%workspace%/misc/bazel/registry common --registry=https://bcr.bazel.build common --@rules_dotnet//dotnet/settings:strict_deps=false +common --experimental_isolated_extension_usages try-import %workspace%/local.bazelrc diff --git a/.bazelrc.internal b/.bazelrc.internal index f7718959c9d..dcc8dafa6c7 100644 --- a/.bazelrc.internal +++ b/.bazelrc.internal @@ -8,3 +8,4 @@ common --registry=https://bcr.bazel.build # its implementation packages without providing any code itself. # We either can depend on internal implementation details, or turn of strict deps. common --@rules_dotnet//dotnet/settings:strict_deps=false +common --experimental_isolated_extension_usages diff --git a/MODULE.bazel b/MODULE.bazel index 3352e004375..ae3cf7af38e 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -1,6 +1,7 @@ module( - name = "codeql", + name = "ql", version = "0.0", + repo_name = "codeql", ) # this points to our internal repository when `codeql` is checked out as a submodule thereof @@ -30,11 +31,13 @@ bazel_dep(name = "rules_rust", version = "0.49.1") bazel_dep(name = "buildifier_prebuilt", version = "6.4.0", dev_dependency = True) -crate = use_extension( +# crate_py but shortened due to Windows file path considerations +cp = use_extension( "@rules_rust//crate_universe:extension.bzl", "crate", + isolate = True, ) -crate.from_cargo( +cp.from_cargo( name = "py_deps", cargo_lockfile = "//python/extractor/tsg-python:Cargo.lock", manifests = [ @@ -42,15 +45,23 @@ crate.from_cargo( "//python/extractor/tsg-python/tsp:Cargo.toml", ], ) -crate.from_cargo( - name = "ruby_deps", +use_repo(cp, "py_deps") + +# crate_ruby, but shortened due to windows file paths +r = use_extension( + "@rules_rust//crate_universe:extension.bzl", + "crate", + isolate = True, +) +r.from_cargo( + name = "rd", cargo_lockfile = "//ruby/extractor:Cargo.lock", manifests = [ "//ruby/extractor:Cargo.toml", "//ruby/extractor/codeql-extractor-fake-crate:Cargo.toml", ], ) -use_repo(crate, "py_deps", "ruby_deps") +use_repo(r, "rd") dotnet = use_extension("@rules_dotnet//dotnet:extensions.bzl", "dotnet") dotnet.toolchain(dotnet_version = "8.0.101") diff --git a/misc/bazel/internal/zipmerge/zipmerge_test.cpp b/misc/bazel/internal/zipmerge/zipmerge_test.cpp index ee30b764a6d..9bee1a79c02 100644 --- a/misc/bazel/internal/zipmerge/zipmerge_test.cpp +++ b/misc/bazel/internal/zipmerge/zipmerge_test.cpp @@ -75,7 +75,7 @@ std::string get_file(const char* name) { return ret; }(); // this works from both `codeql` and the internal repository - for (auto prefix : {"_main", "codeql~"}) { + for (auto prefix : {"_main", "ql~"}) { auto ret = runfiles->Rlocation(prefix + "/misc/bazel/internal/zipmerge/test-files/"s + name); if (fs::exists(ret)) { return ret; diff --git a/ruby/extractor/BUILD.bazel b/ruby/extractor/BUILD.bazel index e3c2a387af5..bb39608f3fc 100644 --- a/ruby/extractor/BUILD.bazel +++ b/ruby/extractor/BUILD.bazel @@ -1,4 +1,4 @@ -load("@ruby_deps//:defs.bzl", "aliases", "all_crate_deps") +load("@rd//:defs.bzl", "aliases", "all_crate_deps") load("//misc/bazel:rust.bzl", "codeql_rust_binary") codeql_rust_binary( diff --git a/shared/tree-sitter-extractor/BUILD.bazel b/shared/tree-sitter-extractor/BUILD.bazel index e57a9f47ca1..5d9c4ca1ccf 100644 --- a/shared/tree-sitter-extractor/BUILD.bazel +++ b/shared/tree-sitter-extractor/BUILD.bazel @@ -1,4 +1,4 @@ -load("@ruby_deps//:defs.bzl", "aliases", "all_crate_deps") +load("@rd//:defs.bzl", "aliases", "all_crate_deps") load("@rules_rust//rust:defs.bzl", "rust_library") package(default_visibility = ["//visibility:public"]) From 9279bebf0758eedd011de18fe0a4b9409d8df09b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 19 Aug 2024 00:19:04 +0000 Subject: [PATCH 086/258] Add changed framework coverage reports --- csharp/documentation/library-coverage/coverage.csv | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/csharp/documentation/library-coverage/coverage.csv b/csharp/documentation/library-coverage/coverage.csv index 166700098e3..27324759b2a 100644 --- a/csharp/documentation/library-coverage/coverage.csv +++ b/csharp/documentation/library-coverage/coverage.csv @@ -1,5 +1,5 @@ -package,sink,source,summary,sink:code-injection,sink:encryption-decryptor,sink:encryption-encryptor,sink:encryption-keyprop,sink:encryption-symmetrickey,sink:file-content-store,sink:html-injection,sink:js-injection,sink:log-injection,sink:sql-injection,source:commandargs,source:database,source:environment,source:file,source:file-write,source:local,source:remote,source:windows-registry,summary:taint,summary:value -Amazon.Lambda.APIGatewayEvents,,6,,,,,,,,,,,,,,,,,,6,,, +package,sink,source,summary,sink:code-injection,sink:encryption-decryptor,sink:encryption-encryptor,sink:encryption-keyprop,sink:encryption-symmetrickey,sink:file-content-store,sink:html-injection,sink:js-injection,sink:log-injection,sink:sql-injection,source:commandargs,source:database,source:environment,source:file,source:file-write,source:remote,source:stdin,source:windows-registry,summary:taint,summary:value +Amazon.Lambda.APIGatewayEvents,,6,,,,,,,,,,,,,,,,,6,,,, Amazon.Lambda.Core,10,,,,,,,,,,,10,,,,,,,,,,, Dapper,55,42,1,,,,,,,,,,55,,42,,,,,,,,1 ILCompiler,,,123,,,,,,,,,,,,,,,,,,,123, @@ -41,5 +41,5 @@ MySql.Data.MySqlClient,48,,,,,,,,,,,,48,,,,,,,,,, Newtonsoft.Json,,,91,,,,,,,,,,,,,,,,,,,73,18 ServiceStack,194,,7,27,,,,,75,,,,92,,,,,,,,,7, SourceGenerators,,,5,,,,,,,,,,,,,,,,,,,5, -System,54,47,10626,,6,5,5,,,4,1,,33,2,,6,15,17,3,4,,8721,1905 +System,54,47,10626,,6,5,5,,,4,1,,33,2,,6,15,17,4,3,,8721,1905 Windows.Security.Cryptography.Core,1,,,,,,,1,,,,,,,,,,,,,,, From 1959e1929ea004ef6e5833bd1c896beeb1888787 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 14 Aug 2024 11:25:42 +0200 Subject: [PATCH 087/258] C++: Reuse bounded predicate in TaintedAllocationSize query --- cpp/ql/src/Security/CWE/CWE-190/Bounded.qll | 4 + .../CWE/CWE-190/TaintedAllocationSize.ql | 12 +- .../TaintedAllocationSize.expected | 108 +++++++++--------- .../semmle/TaintedAllocationSize/test.cpp | 9 ++ 4 files changed, 69 insertions(+), 64 deletions(-) diff --git a/cpp/ql/src/Security/CWE/CWE-190/Bounded.qll b/cpp/ql/src/Security/CWE/CWE-190/Bounded.qll index ff5c347e5e2..bb855da3f44 100644 --- a/cpp/ql/src/Security/CWE/CWE-190/Bounded.qll +++ b/cpp/ql/src/Security/CWE/CWE-190/Bounded.qll @@ -24,6 +24,10 @@ private predicate boundedBitwiseAnd(Expr e, Expr andExpr, Expr operand1, Expr op * operation that may greatly reduce the range of possible values. */ predicate bounded(Expr e) { + // There can be two separate reasons for `convertedExprMightOverflow` not holding: + // 1. `e` really cannot overflow. + // 2. `e` isn't analyzable. + // If we didn't rule out case 2 we would declare anything that isn't analyzable as bounded. ( e instanceof UnaryArithmeticOperation or e instanceof BinaryArithmeticOperation or diff --git a/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.ql b/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.ql index 4c869b06b83..93494987360 100644 --- a/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.ql +++ b/cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.ql @@ -20,6 +20,7 @@ import semmle.code.cpp.ir.IR import semmle.code.cpp.controlflow.IRGuards import semmle.code.cpp.security.FlowSources import TaintedAllocationSize::PathGraph +import Bounded /** * Holds if `alloc` is an allocation, and `tainted` is a child of it that is a @@ -61,16 +62,7 @@ module TaintedAllocationSizeConfig implements DataFlow::ConfigSig { predicate isBarrier(DataFlow::Node node) { exists(Expr e | e = node.asExpr() | - // There can be two separate reasons for `convertedExprMightOverflow` not holding: - // 1. `e` really cannot overflow. - // 2. `e` isn't analyzable. - // If we didn't rule out case 2 we would place barriers on anything that isn't analyzable. - ( - e instanceof UnaryArithmeticOperation or - e instanceof BinaryArithmeticOperation or - e instanceof AssignArithmeticOperation - ) and - not convertedExprMightOverflow(e) + bounded(e) or // Subtracting two pointers is either well-defined (and the result will likely be small), or // terribly undefined and dangerous. Here, we assume that the programmer has ensured that the diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/TaintedAllocationSize.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/TaintedAllocationSize.expected index ff79d37c54f..b922d7d8ba3 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/TaintedAllocationSize.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/TaintedAllocationSize.expected @@ -13,26 +13,26 @@ edges | test.cpp:133:19:133:32 | *call to getenv | test.cpp:133:14:133:17 | call to atoi | provenance | TaintFunction | | test.cpp:148:15:148:18 | call to atol | test.cpp:152:11:152:28 | ... * ... | provenance | | | test.cpp:148:20:148:33 | *call to getenv | test.cpp:148:15:148:18 | call to atol | provenance | TaintFunction | -| test.cpp:209:8:209:23 | *get_tainted_size | test.cpp:241:9:241:24 | call to get_tainted_size | provenance | | -| test.cpp:211:9:211:42 | ... * ... | test.cpp:209:8:209:23 | *get_tainted_size | provenance | | -| test.cpp:211:14:211:27 | *call to getenv | test.cpp:211:9:211:42 | ... * ... | provenance | TaintFunction | -| test.cpp:230:21:230:21 | s | test.cpp:231:21:231:21 | s | provenance | | -| test.cpp:237:19:237:52 | ... * ... | test.cpp:239:9:239:18 | local_size | provenance | | -| test.cpp:237:19:237:52 | ... * ... | test.cpp:245:11:245:20 | local_size | provenance | | -| test.cpp:237:19:237:52 | ... * ... | test.cpp:247:10:247:19 | local_size | provenance | | -| test.cpp:237:24:237:37 | *call to getenv | test.cpp:237:19:237:52 | ... * ... | provenance | TaintFunction | -| test.cpp:247:10:247:19 | local_size | test.cpp:230:21:230:21 | s | provenance | | -| test.cpp:250:20:250:27 | *out_size | test.cpp:289:17:289:20 | get_size output argument | provenance | | -| test.cpp:250:20:250:27 | *out_size | test.cpp:305:18:305:21 | get_size output argument | provenance | | -| test.cpp:251:2:251:32 | ... = ... | test.cpp:250:20:250:27 | *out_size | provenance | | -| test.cpp:251:18:251:31 | *call to getenv | test.cpp:251:2:251:32 | ... = ... | provenance | TaintFunction | -| test.cpp:259:15:259:18 | call to atoi | test.cpp:263:11:263:29 | ... * ... | provenance | | -| test.cpp:259:20:259:33 | *call to getenv | test.cpp:259:15:259:18 | call to atoi | provenance | TaintFunction | -| test.cpp:289:17:289:20 | get_size output argument | test.cpp:291:11:291:28 | ... * ... | provenance | | -| test.cpp:305:18:305:21 | get_size output argument | test.cpp:308:10:308:27 | ... * ... | provenance | | -| test.cpp:353:13:353:16 | call to atoi | test.cpp:355:35:355:38 | size | provenance | | -| test.cpp:353:13:353:16 | call to atoi | test.cpp:356:35:356:38 | size | provenance | | -| test.cpp:353:18:353:31 | *call to getenv | test.cpp:353:13:353:16 | call to atoi | provenance | TaintFunction | +| test.cpp:218:8:218:23 | *get_tainted_size | test.cpp:250:9:250:24 | call to get_tainted_size | provenance | | +| test.cpp:220:9:220:42 | ... * ... | test.cpp:218:8:218:23 | *get_tainted_size | provenance | | +| test.cpp:220:14:220:27 | *call to getenv | test.cpp:220:9:220:42 | ... * ... | provenance | TaintFunction | +| test.cpp:239:21:239:21 | s | test.cpp:240:21:240:21 | s | provenance | | +| test.cpp:246:19:246:52 | ... * ... | test.cpp:248:9:248:18 | local_size | provenance | | +| test.cpp:246:19:246:52 | ... * ... | test.cpp:254:11:254:20 | local_size | provenance | | +| test.cpp:246:19:246:52 | ... * ... | test.cpp:256:10:256:19 | local_size | provenance | | +| test.cpp:246:24:246:37 | *call to getenv | test.cpp:246:19:246:52 | ... * ... | provenance | TaintFunction | +| test.cpp:256:10:256:19 | local_size | test.cpp:239:21:239:21 | s | provenance | | +| test.cpp:259:20:259:27 | *out_size | test.cpp:298:17:298:20 | get_size output argument | provenance | | +| test.cpp:259:20:259:27 | *out_size | test.cpp:314:18:314:21 | get_size output argument | provenance | | +| test.cpp:260:2:260:32 | ... = ... | test.cpp:259:20:259:27 | *out_size | provenance | | +| test.cpp:260:18:260:31 | *call to getenv | test.cpp:260:2:260:32 | ... = ... | provenance | TaintFunction | +| test.cpp:268:15:268:18 | call to atoi | test.cpp:272:11:272:29 | ... * ... | provenance | | +| test.cpp:268:20:268:33 | *call to getenv | test.cpp:268:15:268:18 | call to atoi | provenance | TaintFunction | +| test.cpp:298:17:298:20 | get_size output argument | test.cpp:300:11:300:28 | ... * ... | provenance | | +| test.cpp:314:18:314:21 | get_size output argument | test.cpp:317:10:317:27 | ... * ... | provenance | | +| test.cpp:362:13:362:16 | call to atoi | test.cpp:364:35:364:38 | size | provenance | | +| test.cpp:362:13:362:16 | call to atoi | test.cpp:365:35:365:38 | size | provenance | | +| test.cpp:362:18:362:31 | *call to getenv | test.cpp:362:13:362:16 | call to atoi | provenance | TaintFunction | nodes | test.cpp:39:27:39:30 | **argv | semmle.label | **argv | | test.cpp:40:16:40:19 | call to atoi | semmle.label | call to atoi | @@ -52,31 +52,31 @@ nodes | test.cpp:148:15:148:18 | call to atol | semmle.label | call to atol | | test.cpp:148:20:148:33 | *call to getenv | semmle.label | *call to getenv | | test.cpp:152:11:152:28 | ... * ... | semmle.label | ... * ... | -| test.cpp:209:8:209:23 | *get_tainted_size | semmle.label | *get_tainted_size | -| test.cpp:211:9:211:42 | ... * ... | semmle.label | ... * ... | -| test.cpp:211:14:211:27 | *call to getenv | semmle.label | *call to getenv | -| test.cpp:230:21:230:21 | s | semmle.label | s | -| test.cpp:231:21:231:21 | s | semmle.label | s | -| test.cpp:237:19:237:52 | ... * ... | semmle.label | ... * ... | -| test.cpp:237:24:237:37 | *call to getenv | semmle.label | *call to getenv | -| test.cpp:239:9:239:18 | local_size | semmle.label | local_size | -| test.cpp:241:9:241:24 | call to get_tainted_size | semmle.label | call to get_tainted_size | -| test.cpp:245:11:245:20 | local_size | semmle.label | local_size | -| test.cpp:247:10:247:19 | local_size | semmle.label | local_size | -| test.cpp:250:20:250:27 | *out_size | semmle.label | *out_size | -| test.cpp:251:2:251:32 | ... = ... | semmle.label | ... = ... | -| test.cpp:251:18:251:31 | *call to getenv | semmle.label | *call to getenv | -| test.cpp:259:15:259:18 | call to atoi | semmle.label | call to atoi | -| test.cpp:259:20:259:33 | *call to getenv | semmle.label | *call to getenv | -| test.cpp:263:11:263:29 | ... * ... | semmle.label | ... * ... | -| test.cpp:289:17:289:20 | get_size output argument | semmle.label | get_size output argument | -| test.cpp:291:11:291:28 | ... * ... | semmle.label | ... * ... | -| test.cpp:305:18:305:21 | get_size output argument | semmle.label | get_size output argument | -| test.cpp:308:10:308:27 | ... * ... | semmle.label | ... * ... | -| test.cpp:353:13:353:16 | call to atoi | semmle.label | call to atoi | -| test.cpp:353:18:353:31 | *call to getenv | semmle.label | *call to getenv | -| test.cpp:355:35:355:38 | size | semmle.label | size | -| test.cpp:356:35:356:38 | size | semmle.label | size | +| test.cpp:218:8:218:23 | *get_tainted_size | semmle.label | *get_tainted_size | +| test.cpp:220:9:220:42 | ... * ... | semmle.label | ... * ... | +| test.cpp:220:14:220:27 | *call to getenv | semmle.label | *call to getenv | +| test.cpp:239:21:239:21 | s | semmle.label | s | +| test.cpp:240:21:240:21 | s | semmle.label | s | +| test.cpp:246:19:246:52 | ... * ... | semmle.label | ... * ... | +| test.cpp:246:24:246:37 | *call to getenv | semmle.label | *call to getenv | +| test.cpp:248:9:248:18 | local_size | semmle.label | local_size | +| test.cpp:250:9:250:24 | call to get_tainted_size | semmle.label | call to get_tainted_size | +| test.cpp:254:11:254:20 | local_size | semmle.label | local_size | +| test.cpp:256:10:256:19 | local_size | semmle.label | local_size | +| test.cpp:259:20:259:27 | *out_size | semmle.label | *out_size | +| test.cpp:260:2:260:32 | ... = ... | semmle.label | ... = ... | +| test.cpp:260:18:260:31 | *call to getenv | semmle.label | *call to getenv | +| test.cpp:268:15:268:18 | call to atoi | semmle.label | call to atoi | +| test.cpp:268:20:268:33 | *call to getenv | semmle.label | *call to getenv | +| test.cpp:272:11:272:29 | ... * ... | semmle.label | ... * ... | +| test.cpp:298:17:298:20 | get_size output argument | semmle.label | get_size output argument | +| test.cpp:300:11:300:28 | ... * ... | semmle.label | ... * ... | +| test.cpp:314:18:314:21 | get_size output argument | semmle.label | get_size output argument | +| test.cpp:317:10:317:27 | ... * ... | semmle.label | ... * ... | +| test.cpp:362:13:362:16 | call to atoi | semmle.label | call to atoi | +| test.cpp:362:18:362:31 | *call to getenv | semmle.label | *call to getenv | +| test.cpp:364:35:364:38 | size | semmle.label | size | +| test.cpp:365:35:365:38 | size | semmle.label | size | subpaths #select | test.cpp:43:31:43:36 | call to malloc | test.cpp:39:27:39:30 | **argv | test.cpp:43:38:43:44 | tainted | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:39:27:39:30 | **argv | user input (a command-line argument) | @@ -88,12 +88,12 @@ subpaths | test.cpp:128:17:128:22 | call to malloc | test.cpp:124:18:124:31 | *call to getenv | test.cpp:128:24:128:41 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:124:18:124:31 | *call to getenv | user input (an environment variable) | | test.cpp:135:3:135:8 | call to malloc | test.cpp:133:19:133:32 | *call to getenv | test.cpp:135:10:135:27 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:133:19:133:32 | *call to getenv | user input (an environment variable) | | test.cpp:152:4:152:9 | call to malloc | test.cpp:148:20:148:33 | *call to getenv | test.cpp:152:11:152:28 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:148:20:148:33 | *call to getenv | user input (an environment variable) | -| test.cpp:231:14:231:19 | call to malloc | test.cpp:237:24:237:37 | *call to getenv | test.cpp:231:21:231:21 | s | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:237:24:237:37 | *call to getenv | user input (an environment variable) | -| test.cpp:239:2:239:7 | call to malloc | test.cpp:237:24:237:37 | *call to getenv | test.cpp:239:9:239:18 | local_size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:237:24:237:37 | *call to getenv | user input (an environment variable) | -| test.cpp:241:2:241:7 | call to malloc | test.cpp:211:14:211:27 | *call to getenv | test.cpp:241:9:241:24 | call to get_tainted_size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:211:14:211:27 | *call to getenv | user input (an environment variable) | -| test.cpp:245:2:245:9 | call to my_alloc | test.cpp:237:24:237:37 | *call to getenv | test.cpp:245:11:245:20 | local_size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:237:24:237:37 | *call to getenv | user input (an environment variable) | -| test.cpp:263:4:263:9 | call to malloc | test.cpp:259:20:259:33 | *call to getenv | test.cpp:263:11:263:29 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:259:20:259:33 | *call to getenv | user input (an environment variable) | -| test.cpp:291:4:291:9 | call to malloc | test.cpp:251:18:251:31 | *call to getenv | test.cpp:291:11:291:28 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:251:18:251:31 | *call to getenv | user input (an environment variable) | -| test.cpp:308:3:308:8 | call to malloc | test.cpp:251:18:251:31 | *call to getenv | test.cpp:308:10:308:27 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:251:18:251:31 | *call to getenv | user input (an environment variable) | -| test.cpp:355:25:355:33 | call to MyMalloc1 | test.cpp:353:18:353:31 | *call to getenv | test.cpp:355:35:355:38 | size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:353:18:353:31 | *call to getenv | user input (an environment variable) | -| test.cpp:356:25:356:33 | call to MyMalloc2 | test.cpp:353:18:353:31 | *call to getenv | test.cpp:356:35:356:38 | size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:353:18:353:31 | *call to getenv | user input (an environment variable) | +| test.cpp:240:14:240:19 | call to malloc | test.cpp:246:24:246:37 | *call to getenv | test.cpp:240:21:240:21 | s | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:246:24:246:37 | *call to getenv | user input (an environment variable) | +| test.cpp:248:2:248:7 | call to malloc | test.cpp:246:24:246:37 | *call to getenv | test.cpp:248:9:248:18 | local_size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:246:24:246:37 | *call to getenv | user input (an environment variable) | +| test.cpp:250:2:250:7 | call to malloc | test.cpp:220:14:220:27 | *call to getenv | test.cpp:250:9:250:24 | call to get_tainted_size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:220:14:220:27 | *call to getenv | user input (an environment variable) | +| test.cpp:254:2:254:9 | call to my_alloc | test.cpp:246:24:246:37 | *call to getenv | test.cpp:254:11:254:20 | local_size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:246:24:246:37 | *call to getenv | user input (an environment variable) | +| test.cpp:272:4:272:9 | call to malloc | test.cpp:268:20:268:33 | *call to getenv | test.cpp:272:11:272:29 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:268:20:268:33 | *call to getenv | user input (an environment variable) | +| test.cpp:300:4:300:9 | call to malloc | test.cpp:260:18:260:31 | *call to getenv | test.cpp:300:11:300:28 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:260:18:260:31 | *call to getenv | user input (an environment variable) | +| test.cpp:317:3:317:8 | call to malloc | test.cpp:260:18:260:31 | *call to getenv | test.cpp:317:10:317:27 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:260:18:260:31 | *call to getenv | user input (an environment variable) | +| test.cpp:364:25:364:33 | call to MyMalloc1 | test.cpp:362:18:362:31 | *call to getenv | test.cpp:364:35:364:38 | size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:362:18:362:31 | *call to getenv | user input (an environment variable) | +| test.cpp:365:25:365:33 | call to MyMalloc2 | test.cpp:362:18:362:31 | *call to getenv | test.cpp:365:35:365:38 | size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:362:18:362:31 | *call to getenv | user input (an environment variable) | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/test.cpp b/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/test.cpp index 7bc166a9292..f85df3fb8cb 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/test.cpp +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/test.cpp @@ -180,6 +180,15 @@ void more_bounded_tests() { } } + { + int size = atoi(getenv("USER")); + + if (size % 100) + { + malloc(size * sizeof(int)); // GOOD + } + } + { int size = atoi(getenv("USER")); From 1665badc83d0b6c106d6251a276c4b3e5130dc2b Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Fri, 16 Aug 2024 12:57:50 +0200 Subject: [PATCH 088/258] C++: Add change note for cpp/uncontrolled-allocation-size --- .../change-notes/2024-08-16-uncontrolled-allocation-size.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 cpp/ql/src/change-notes/2024-08-16-uncontrolled-allocation-size.md diff --git a/cpp/ql/src/change-notes/2024-08-16-uncontrolled-allocation-size.md b/cpp/ql/src/change-notes/2024-08-16-uncontrolled-allocation-size.md new file mode 100644 index 00000000000..4d0d0593363 --- /dev/null +++ b/cpp/ql/src/change-notes/2024-08-16-uncontrolled-allocation-size.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The `cpp/uncontrolled-allocation-size` ("Uncontrolled allocation size") query now considers arithmetic operations that might reduce the size of user input as a barrier. The query therefore produces fewer false positive results. \ No newline at end of file From 1faad979ad2eb84b95bf4a5b4d31d46c0c4b3809 Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Mon, 19 Aug 2024 08:54:56 +0200 Subject: [PATCH 089/258] Address review. --- MODULE.bazel | 2 +- ruby/extractor/BUILD.bazel | 2 +- shared/tree-sitter-extractor/BUILD.bazel | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index ae3cf7af38e..ef00751225c 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -61,7 +61,7 @@ r.from_cargo( "//ruby/extractor/codeql-extractor-fake-crate:Cargo.toml", ], ) -use_repo(r, "rd") +use_repo(r, ruby_deps="rd") dotnet = use_extension("@rules_dotnet//dotnet:extensions.bzl", "dotnet") dotnet.toolchain(dotnet_version = "8.0.101") diff --git a/ruby/extractor/BUILD.bazel b/ruby/extractor/BUILD.bazel index bb39608f3fc..e3c2a387af5 100644 --- a/ruby/extractor/BUILD.bazel +++ b/ruby/extractor/BUILD.bazel @@ -1,4 +1,4 @@ -load("@rd//:defs.bzl", "aliases", "all_crate_deps") +load("@ruby_deps//:defs.bzl", "aliases", "all_crate_deps") load("//misc/bazel:rust.bzl", "codeql_rust_binary") codeql_rust_binary( diff --git a/shared/tree-sitter-extractor/BUILD.bazel b/shared/tree-sitter-extractor/BUILD.bazel index 5d9c4ca1ccf..e57a9f47ca1 100644 --- a/shared/tree-sitter-extractor/BUILD.bazel +++ b/shared/tree-sitter-extractor/BUILD.bazel @@ -1,4 +1,4 @@ -load("@rd//:defs.bzl", "aliases", "all_crate_deps") +load("@ruby_deps//:defs.bzl", "aliases", "all_crate_deps") load("@rules_rust//rust:defs.bzl", "rust_library") package(default_visibility = ["//visibility:public"]) From 675e9206675f65093d45eb5a3549d82b1098030b Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Mon, 19 Aug 2024 09:00:08 +0200 Subject: [PATCH 090/258] Fix formatting. --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index ef00751225c..d2add26c88d 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -61,7 +61,7 @@ r.from_cargo( "//ruby/extractor/codeql-extractor-fake-crate:Cargo.toml", ], ) -use_repo(r, ruby_deps="rd") +use_repo(r, ruby_deps = "rd") dotnet = use_extension("@rules_dotnet//dotnet:extensions.bzl", "dotnet") dotnet.toolchain(dotnet_version = "8.0.101") From dc0832c3d8a46c6f8f23817977d0bfca092c9cc9 Mon Sep 17 00:00:00 2001 From: Felicity Chapman Date: Mon, 19 Aug 2024 09:42:04 +0100 Subject: [PATCH 091/258] Update docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp.rst --- .../codeql/codeql-language-guides/analyzing-data-flow-in-cpp.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp.rst b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp.rst index 27e38a1681c..13ab457cd4b 100644 --- a/docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp.rst +++ b/docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp.rst @@ -10,7 +10,6 @@ About this article This article describes how data flow analysis is implemented in the CodeQL libraries for C/C++ and includes examples to help you write your own data flow queries. The following sections describe how to use the libraries for local data flow, global data flow, and taint tracking. -For a more general introduction to modeling data flow, see ":ref:`About data flow analysis `." .. include:: ../reusables/new-data-flow-api.rst From ed7f3305d93ea2f03ea40d2a71f5d921d2767264 Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Fri, 9 Aug 2024 23:46:42 +0200 Subject: [PATCH 092/258] Move legacy marker only to java tests. --- java/ql/integration-tests/all-platforms/java/legacy | 0 java/ql/integration-tests/legacy | 1 - 2 files changed, 1 deletion(-) create mode 100644 java/ql/integration-tests/all-platforms/java/legacy delete mode 100644 java/ql/integration-tests/legacy diff --git a/java/ql/integration-tests/all-platforms/java/legacy b/java/ql/integration-tests/all-platforms/java/legacy new file mode 100644 index 00000000000..e69de29bb2d diff --git a/java/ql/integration-tests/legacy b/java/ql/integration-tests/legacy deleted file mode 100644 index 52478f0a7ef..00000000000 --- a/java/ql/integration-tests/legacy +++ /dev/null @@ -1 +0,0 @@ -These tests are still run with the legacy test runner From c2aff1ea97297ad8bb9bfe65c6fe428b82262089 Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Fri, 9 Aug 2024 23:46:55 +0200 Subject: [PATCH 093/258] Port all-platforms/kotlin tests to pytest. --- .../kotlin/annotation-id-consistency/test.py | 11 +- .../kotlin/compiler_arguments/.gitattributes | 6 - .../force_sequential_test_execution | 3 - .../gradle/wrapper/gradle-wrapper.jar | Bin 61608 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 - .../kotlin/compiler_arguments/gradlew | 244 ------------------ .../kotlin/compiler_arguments/gradlew.bat | 92 ------- .../kotlin/compiler_arguments/test.py | 9 +- .../kotlin/default-parameter-mad-flow/test.py | 9 +- .../kotlin-version-too-new/test.py | 22 +- .../all-platforms/kotlin/enabling/build.py | 10 - .../kotlin/enabling/class.expected | 2 - .../all-platforms/kotlin/enabling/class.ql | 5 - .../kotlin/enabling/source_archive.expected | 2 + .../all-platforms/kotlin/enabling/test.py | 26 +- .../kotlin/enhanced-nullability/test.py | 13 +- .../external-property-overloads/test.py | 9 +- .../kotlin/extractor_crash/code/build.py | 10 - .../kotlin/extractor_crash/test.py | 9 +- .../extractor_information_kotlin1/test.py | 5 +- .../extractor_information_kotlin2/test.py | 5 +- .../all-platforms/kotlin/file_classes/test.py | 8 +- .../kotlin/gradle_groovy_app/.gitattributes | 6 - .../force_sequential_test_execution | 3 - .../gradle/wrapper/gradle-wrapper.jar | Bin 61608 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 - .../kotlin/gradle_groovy_app/gradlew | 244 ------------------ .../kotlin/gradle_groovy_app/gradlew.bat | 92 ------- .../kotlin/gradle_groovy_app/test.py | 9 +- .../.gitattributes | 6 - .../{diagnostics.expected => diag.expected} | 0 .../{diagnostics.ql => diag.ql} | 0 .../force_sequential_test_execution | 3 - .../gradle/wrapper/gradle-wrapper.jar | Bin 61608 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 - .../gradle_kotlinx_serialization/gradlew | 244 ------------------ .../gradle_kotlinx_serialization/gradlew.bat | 92 ------- .../gradle_kotlinx_serialization/qlpack.yml | 6 - .../gradle_kotlinx_serialization/test.py | 9 +- .../test.py | 9 +- .../kotlin/java_modifiers/test.py | 16 +- .../jvmoverloads-external-class/test.py | 8 +- .../qlpack.yml | 6 - .../test.py | 14 +- .../kotlin_compiler_java_source/test.py | 20 +- .../kotlin/kotlin_file_import/test.py | 18 +- .../kotlin_java_lowering_wildcards/test.py | 16 +- .../kotlin_java_static_fields/qlpack.yml | 6 - .../kotlin/kotlin_java_static_fields/test.py | 11 +- .../kotlin/kotlin_kfunction/.gitattributes | 6 - .../{diagnostics.expected => diag.expected} | 0 .../{diagnostics.ql => diag.ql} | 0 .../force_sequential_test_execution | 3 - .../gradle/wrapper/gradle-wrapper.jar | Bin 61608 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 - .../kotlin/kotlin_kfunction/gradlew | 244 ------------------ .../kotlin/kotlin_kfunction/gradlew.bat | 92 ------- .../kotlin/kotlin_kfunction/test.py | 9 +- .../kotlin/kotlinc_multi/build.py | 6 - .../kotlin/kotlinc_multi/test.py | 9 +- .../all-platforms/kotlin/logs/build.py | 18 -- .../all-platforms/kotlin/logs/index_logs.py | 45 ---- .../all-platforms/kotlin/logs/logs.expected | 24 +- .../all-platforms/kotlin/logs/logs.ql | 5 - .../all-platforms/kotlin/logs/test.py | 41 ++- .../kotlin/nested_generic_types/test.py | 19 +- .../kotlin/nullability-annotations/test.py | 14 +- .../kotlin/path_transformer/test.py | 24 +- .../kotlin/private_property_accessors/test.py | 5 +- .../all-platforms/kotlin/qlpack.yml | 5 - .../kotlin/raw_generic_types/test.py | 18 +- .../kotlin/repeatable-annotations/test.py | 14 +- .../kotlin/trap_compression/test.py | 85 +++--- 73 files changed, 314 insertions(+), 1734 deletions(-) delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/.gitattributes delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/gradle/wrapper/gradle-wrapper.properties delete mode 100755 java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/gradlew delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/gradlew.bat delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/enabling/build.py delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/enabling/class.expected delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/enabling/class.ql create mode 100644 java/ql/integration-tests/all-platforms/kotlin/enabling/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/extractor_crash/code/build.py delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/.gitattributes delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/gradle/wrapper/gradle-wrapper.properties delete mode 100755 java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/gradlew delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/gradlew.bat delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/.gitattributes rename java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/{diagnostics.expected => diag.expected} (100%) rename java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/{diagnostics.ql => diag.ql} (100%) delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/gradle/wrapper/gradle-wrapper.properties delete mode 100755 java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/gradlew delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/gradlew.bat delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/qlpack.yml delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/kotlin-interface-inherited-default/qlpack.yml delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/kotlin_java_static_fields/qlpack.yml delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/.gitattributes rename java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/{diagnostics.expected => diag.expected} (100%) rename java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/{diagnostics.ql => diag.ql} (100%) delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/gradle/wrapper/gradle-wrapper.properties delete mode 100755 java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/gradlew delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/gradlew.bat delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/kotlinc_multi/build.py delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/logs/build.py delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/logs/index_logs.py delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/logs/logs.ql delete mode 100644 java/ql/integration-tests/all-platforms/kotlin/qlpack.yml diff --git a/java/ql/integration-tests/all-platforms/kotlin/annotation-id-consistency/test.py b/java/ql/integration-tests/all-platforms/kotlin/annotation-id-consistency/test.py index 49584531332..8fca83895f3 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/annotation-id-consistency/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/annotation-id-consistency/test.py @@ -1,5 +1,8 @@ -from create_database_utils import * +import os -os.mkdir('out') -os.mkdir('out2') -run_codeql_database_create(["kotlinc test.kt -d out", "javac User.java -cp out -d out2", "kotlinc ktUser.kt -cp out -d out2"], lang="java") + +def test(codeql, java_full): + os.mkdir("out") + codeql.database.create( + command=["kotlinc test.kt -d out", "javac User.java -cp out", "kotlinc ktUser.kt -cp out"] + ) diff --git a/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/.gitattributes b/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/.gitattributes deleted file mode 100644 index 00a51aff5e5..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/.gitattributes +++ /dev/null @@ -1,6 +0,0 @@ -# -# https://help.github.com/articles/dealing-with-line-endings/ -# -# These are explicitly windows files and should use crlf -*.bat text eol=crlf - diff --git a/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/force_sequential_test_execution deleted file mode 100644 index b0e2500b259..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/force_sequential_test_execution +++ /dev/null @@ -1,3 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. diff --git a/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/gradle/wrapper/gradle-wrapper.jar b/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index ccebba7710deaf9f98673a68957ea02138b60d0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61608 zcmb5VV{~QRw)Y#`wrv{~+qP{x72B%VwzFc}c2cp;N~)5ZbDrJayPv(!dGEd-##*zr z)#n-$y^sH|_dchh3@8{H5D*j;5D<{i*8l5IFJ|DjL!e)upfGNX(kojugZ3I`oH1PvW`wFW_ske0j@lB9bX zO;2)`y+|!@X(fZ1<2n!Qx*)_^Ai@Cv-dF&(vnudG?0CsddG_&Wtae(n|K59ew)6St z#dj7_(Cfwzh$H$5M!$UDd8=4>IQsD3xV=lXUq($;(h*$0^yd+b{qq63f0r_de#!o_ zXDngc>zy`uor)4A^2M#U*DC~i+dc<)Tb1Tv&~Ev@oM)5iJ4Sn#8iRw16XXuV50BS7 zdBL5Mefch(&^{luE{*5qtCZk$oFr3RH=H!c3wGR=HJ(yKc_re_X9pD` zJ;uxPzUfVpgU>DSq?J;I@a+10l0ONXPcDkiYcihREt5~T5Gb}sT0+6Q;AWHl`S5dV>lv%-p9l#xNNy7ZCr%cyqHY%TZ8Q4 zbp&#ov1*$#grNG#1vgfFOLJCaNG@K|2!W&HSh@3@Y%T?3YI75bJp!VP*$*!< z;(ffNS_;@RJ`=c7yX04!u3JP*<8jeqLHVJu#WV&v6wA!OYJS4h<_}^QI&97-;=ojW zQ-1t)7wnxG*5I%U4)9$wlv5Fr;cIizft@&N+32O%B{R1POm$oap@&f| zh+5J{>U6ftv|vAeKGc|zC=kO(+l7_cLpV}-D#oUltScw})N>~JOZLU_0{Ka2e1evz z{^a*ZrLr+JUj;)K&u2CoCAXLC2=fVScI(m_p~0FmF>>&3DHziouln?;sxW`NB}cSX z8?IsJB)Z=aYRz!X=yJn$kyOWK%rCYf-YarNqKzmWu$ZvkP12b4qH zhS9Q>j<}(*frr?z<%9hl*i^#@*O2q(Z^CN)c2c z>1B~D;@YpG?G!Yk+*yn4vM4sO-_!&m6+`k|3zd;8DJnxsBYtI;W3We+FN@|tQ5EW= z!VU>jtim0Mw#iaT8t_<+qKIEB-WwE04lBd%Letbml9N!?SLrEG$nmn7&W(W`VB@5S zaY=sEw2}i@F_1P4OtEw?xj4@D6>_e=m=797#hg}f*l^`AB|Y0# z9=)o|%TZFCY$SzgSjS|8AI-%J4x}J)!IMxY3_KYze`_I=c1nmrk@E8c9?MVRu)7+Ue79|)rBX7tVB7U|w4*h(;Gi3D9le49B38`wuv zp7{4X^p+K4*$@gU(Tq3K1a#3SmYhvI42)GzG4f|u zwQFT1n_=n|jpi=70-yE9LA+d*T8u z`=VmmXJ_f6WmZveZPct$Cgu^~gFiyL>Lnpj*6ee>*0pz=t$IJ}+rE zsf@>jlcG%Wx;Cp5x)YSVvB1$yyY1l&o zvwX=D7k)Dn;ciX?Z)Pn8$flC8#m`nB&(8?RSdBvr?>T9?E$U3uIX7T?$v4dWCa46 z+&`ot8ZTEgp7G+c52oHJ8nw5}a^dwb_l%MOh(ebVj9>_koQP^$2B~eUfSbw9RY$_< z&DDWf2LW;b0ZDOaZ&2^i^g+5uTd;GwO(-bbo|P^;CNL-%?9mRmxEw~5&z=X^Rvbo^WJW=n_%*7974RY}JhFv46> zd}`2|qkd;89l}R;i~9T)V-Q%K)O=yfVKNM4Gbacc7AOd>#^&W&)Xx!Uy5!BHnp9kh z`a(7MO6+Ren#>R^D0K)1sE{Bv>}s6Rb9MT14u!(NpZOe-?4V=>qZ>}uS)!y~;jEUK z&!U7Fj&{WdgU#L0%bM}SYXRtM5z!6M+kgaMKt%3FkjWYh=#QUpt$XX1!*XkpSq-pl zhMe{muh#knk{9_V3%qdDcWDv}v)m4t9 zQhv{;} zc{}#V^N3H>9mFM8`i`0p+fN@GqX+kl|M94$BK3J-X`Hyj8r!#x6Vt(PXjn?N)qedP z=o1T^#?1^a{;bZ&x`U{f?}TMo8ToN zkHj5v|}r}wDEi7I@)Gj+S1aE-GdnLN+$hw!=DzglMaj#{qjXi_dwpr|HL(gcCXwGLEmi|{4&4#OZ4ChceA zKVd4K!D>_N=_X;{poT~4Q+!Le+ZV>=H7v1*l%w`|`Dx8{)McN@NDlQyln&N3@bFpV z_1w~O4EH3fF@IzJ9kDk@7@QctFq8FbkbaH7K$iX=bV~o#gfh?2JD6lZf(XP>~DACF)fGFt)X%-h1yY~MJU{nA5 ze2zxWMs{YdX3q5XU*9hOH0!_S24DOBA5usB+Ws$6{|AMe*joJ?RxfV}*7AKN9V*~J zK+OMcE@bTD>TG1*yc?*qGqjBN8mgg@h1cJLDv)0!WRPIkC` zZrWXrceVw;fB%3`6kq=a!pq|hFIsQ%ZSlo~)D z|64!aCnw-?>}AG|*iOl44KVf8@|joXi&|)1rB;EQWgm+iHfVbgllP$f!$Wf42%NO5b(j9Bw6L z;0dpUUK$5GX4QbMlTmLM_jJt!ur`_0~$b#BB7FL*%XFf<b__1o)Ao3rlobbN8-(T!1d-bR8D3S0@d zLI!*GMb5s~Q<&sjd}lBb8Nr0>PqE6_!3!2d(KAWFxa{hm`@u|a(%#i(#f8{BP2wbs zt+N_slWF4IF_O|{w`c~)Xvh&R{Au~CFmW#0+}MBd2~X}t9lz6*E7uAD`@EBDe$>7W zzPUkJx<`f$0VA$=>R57^(K^h86>09?>_@M(R4q($!Ck6GG@pnu-x*exAx1jOv|>KH zjNfG5pwm`E-=ydcb+3BJwuU;V&OS=6yM^4Jq{%AVqnTTLwV`AorIDD}T&jWr8pB&j28fVtk_y*JRP^t@l*($UZ z6(B^-PBNZ+z!p?+e8@$&jCv^EWLb$WO=}Scr$6SM*&~B95El~;W_0(Bvoha|uQ1T< zO$%_oLAwf1bW*rKWmlD+@CP&$ObiDy=nh1b2ejz%LO9937N{LDe7gle4i!{}I$;&Y zkexJ9Ybr+lrCmKWg&}p=`2&Gf10orS?4$VrzWidT=*6{KzOGMo?KI0>GL0{iFWc;C z+LPq%VH5g}6V@-tg2m{C!-$fapJ9y}c$U}aUmS{9#0CM*8pC|sfer!)nG7Ji>mfRh z+~6CxNb>6eWKMHBz-w2{mLLwdA7dA-qfTu^A2yG1+9s5k zcF=le_UPYG&q!t5Zd_*E_P3Cf5T6821bO`daa`;DODm8Ih8k89=RN;-asHIigj`n=ux>*f!OC5#;X5i;Q z+V!GUy0|&Y_*8k_QRUA8$lHP;GJ3UUD08P|ALknng|YY13)}!!HW@0z$q+kCH%xet zlWf@BXQ=b=4}QO5eNnN~CzWBbHGUivG=`&eWK}beuV*;?zt=P#pM*eTuy3 zP}c#}AXJ0OIaqXji78l;YrP4sQe#^pOqwZUiiN6^0RCd#D271XCbEKpk`HI0IsN^s zES7YtU#7=8gTn#lkrc~6)R9u&SX6*Jk4GFX7){E)WE?pT8a-%6P+zS6o&A#ml{$WX zABFz#i7`DDlo{34)oo?bOa4Z_lNH>n;f0nbt$JfAl~;4QY@}NH!X|A$KgMmEsd^&Y zt;pi=>AID7ROQfr;MsMtClr5b0)xo|fwhc=qk33wQ|}$@?{}qXcmECh>#kUQ-If0$ zseb{Wf4VFGLNc*Rax#P8ko*=`MwaR-DQ8L8V8r=2N{Gaips2_^cS|oC$+yScRo*uF zUO|5=?Q?{p$inDpx*t#Xyo6=s?bbN}y>NNVxj9NZCdtwRI70jxvm3!5R7yiWjREEd zDUjrsZhS|P&|Ng5r+f^kA6BNN#|Se}_GF>P6sy^e8kBrgMv3#vk%m}9PCwUWJg-AD zFnZ=}lbi*mN-AOm zCs)r=*YQAA!`e#1N>aHF=bb*z*hXH#Wl$z^o}x##ZrUc=kh%OHWhp=7;?8%Xj||@V?1c ziWoaC$^&04;A|T)!Zd9sUzE&$ODyJaBpvqsw19Uiuq{i#VK1!htkdRWBnb z`{rat=nHArT%^R>u#CjjCkw-7%g53|&7z-;X+ewb?OLWiV|#nuc8mp*LuGSi3IP<<*Wyo9GKV7l0Noa4Jr0g3p_$ z*R9{qn=?IXC#WU>48-k5V2Oc_>P;4_)J@bo1|pf=%Rcbgk=5m)CJZ`caHBTm3%!Z9 z_?7LHr_BXbKKr=JD!%?KhwdYSdu8XxPoA{n8^%_lh5cjRHuCY9Zlpz8g+$f@bw@0V z+6DRMT9c|>1^3D|$Vzc(C?M~iZurGH2pXPT%F!JSaAMdO%!5o0uc&iqHx?ImcX6fI zCApkzc~OOnfzAd_+-DcMp&AOQxE_EsMqKM{%dRMI5`5CT&%mQO?-@F6tE*xL?aEGZ z8^wH@wRl`Izx4sDmU>}Ym{ybUm@F83qqZPD6nFm?t?(7>h*?`fw)L3t*l%*iw0Qu#?$5eq!Qc zpQvqgSxrd83NsdO@lL6#{%lsYXWen~d3p4fGBb7&5xqNYJ)yn84!e1PmPo7ChVd%4 zHUsV0Mh?VpzZD=A6%)Qrd~i7 z96*RPbid;BN{Wh?adeD_p8YU``kOrGkNox3D9~!K?w>#kFz!4lzOWR}puS(DmfjJD z`x0z|qB33*^0mZdM&6$|+T>fq>M%yoy(BEjuh9L0>{P&XJ3enGpoQRx`v6$txXt#c z0#N?b5%srj(4xmPvJxrlF3H%OMB!jvfy z;wx8RzU~lb?h_}@V=bh6p8PSb-dG|-T#A?`c&H2`_!u+uenIZe`6f~A7r)`9m8atC zt(b|6Eg#!Q*DfRU=Ix`#B_dK)nnJ_+>Q<1d7W)eynaVn`FNuN~%B;uO2}vXr5^zi2 z!ifIF5@Zlo0^h~8+ixFBGqtweFc`C~JkSq}&*a3C}L?b5Mh-bW=e)({F_g4O3 zb@SFTK3VD9QuFgFnK4Ve_pXc3{S$=+Z;;4+;*{H}Rc;845rP?DLK6G5Y-xdUKkA6E3Dz&5f{F^FjJQ(NSpZ8q-_!L3LL@H* zxbDF{gd^U3uD;)a)sJwAVi}7@%pRM&?5IaUH%+m{E)DlA_$IA1=&jr{KrhD5q&lTC zAa3c)A(K!{#nOvenH6XrR-y>*4M#DpTTOGQEO5Jr6kni9pDW`rvY*fs|ItV;CVITh z=`rxcH2nEJpkQ^(;1c^hfb8vGN;{{oR=qNyKtR1;J>CByul*+=`NydWnSWJR#I2lN zTvgnR|MBx*XFsfdA&;tr^dYaqRZp*2NwkAZE6kV@1f{76e56eUmGrZ>MDId)oqSWw z7d&r3qfazg+W2?bT}F)4jD6sWaw`_fXZGY&wnGm$FRPFL$HzVTH^MYBHWGCOk-89y zA+n+Q6EVSSCpgC~%uHfvyg@ufE^#u?JH?<73A}jj5iILz4Qqk5$+^U(SX(-qv5agK znUkfpke(KDn~dU0>gdKqjTkVk`0`9^0n_wzXO7R!0Thd@S;U`y)VVP&mOd-2 z(hT(|$=>4FY;CBY9#_lB$;|Wd$aOMT5O_3}DYXEHn&Jrc3`2JiB`b6X@EUOD zVl0S{ijm65@n^19T3l%>*;F(?3r3s?zY{thc4%AD30CeL_4{8x6&cN}zN3fE+x<9; zt2j1RRVy5j22-8U8a6$pyT+<`f+x2l$fd_{qEp_bfxfzu>ORJsXaJn4>U6oNJ#|~p z`*ZC&NPXl&=vq2{Ne79AkQncuxvbOG+28*2wU$R=GOmns3W@HE%^r)Fu%Utj=r9t` zd;SVOnA(=MXgnOzI2@3SGKHz8HN~Vpx&!Ea+Df~`*n@8O=0!b4m?7cE^K*~@fqv9q zF*uk#1@6Re_<^9eElgJD!nTA@K9C732tV~;B`hzZ321Ph=^BH?zXddiu{Du5*IPg} zqDM=QxjT!Rp|#Bkp$(mL)aar)f(dOAXUiw81pX0DC|Y4;>Vz>>DMshoips^8Frdv} zlTD=cKa48M>dR<>(YlLPOW%rokJZNF2gp8fwc8b2sN+i6&-pHr?$rj|uFgktK@jg~ zIFS(%=r|QJ=$kvm_~@n=ai1lA{7Z}i+zj&yzY+!t$iGUy|9jH#&oTNJ;JW-3n>DF+ z3aCOzqn|$X-Olu_p7brzn`uk1F*N4@=b=m;S_C?#hy{&NE#3HkATrg?enaVGT^$qIjvgc61y!T$9<1B@?_ibtDZ{G zeXInVr5?OD_nS_O|CK3|RzzMmu+8!#Zb8Ik;rkIAR%6?$pN@d<0dKD2c@k2quB%s( zQL^<_EM6ow8F6^wJN1QcPOm|ehA+dP(!>IX=Euz5qqIq}Y3;ibQtJnkDmZ8c8=Cf3 zu`mJ!Q6wI7EblC5RvP*@)j?}W=WxwCvF3*5Up_`3*a~z$`wHwCy)2risye=1mSp%p zu+tD6NAK3o@)4VBsM!@);qgsjgB$kkCZhaimHg&+k69~drbvRTacWKH;YCK(!rC?8 zP#cK5JPHSw;V;{Yji=55X~S+)%(8fuz}O>*F3)hR;STU`z6T1aM#Wd+FP(M5*@T1P z^06O;I20Sk!bxW<-O;E081KRdHZrtsGJflFRRFS zdi5w9OVDGSL3 zNrC7GVsGN=b;YH9jp8Z2$^!K@h=r-xV(aEH@#JicPy;A0k1>g1g^XeR`YV2HfmqXY zYbRwaxHvf}OlCAwHoVI&QBLr5R|THf?nAevV-=~V8;gCsX>jndvNOcFA+DI+zbh~# zZ7`qNk&w+_+Yp!}j;OYxIfx_{f0-ONc?mHCiCUak=>j>~>YR4#w# zuKz~UhT!L~GfW^CPqG8Lg)&Rc6y^{%3H7iLa%^l}cw_8UuG;8nn9)kbPGXS}p3!L_ zd#9~5CrH8xtUd?{d2y^PJg+z(xIfRU;`}^=OlehGN2=?}9yH$4Rag}*+AWotyxfCJ zHx=r7ZH>j2kV?%7WTtp+-HMa0)_*DBBmC{sd$)np&GEJ__kEd`xB5a2A z*J+yx>4o#ZxwA{;NjhU*1KT~=ZK~GAA;KZHDyBNTaWQ1+;tOFFthnD)DrCn`DjBZ% zk$N5B4^$`n^jNSOr=t(zi8TN4fpaccsb`zOPD~iY=UEK$0Y70bG{idLx@IL)7^(pL z{??Bnu=lDeguDrd%qW1)H)H`9otsOL-f4bSu};o9OXybo6J!Lek`a4ff>*O)BDT_g z<6@SrI|C9klY(>_PfA^qai7A_)VNE4c^ZjFcE$Isp>`e5fLc)rg@8Q_d^Uk24$2bn z9#}6kZ2ZxS9sI(RqT7?El2@B+($>eBQrNi_k#CDJ8D9}8$mmm z4oSKO^F$i+NG)-HE$O6s1--6EzJa?C{x=QgK&c=)b(Q9OVoAXYEEH20G|q$}Hue%~ zO3B^bF=t7t48sN zWh_zA`w~|){-!^g?6Mqf6ieV zFx~aPUOJGR=4{KsW7I?<=J2|lY`NTU=lt=%JE9H1vBpkcn=uq(q~=?iBt_-r(PLBM zP-0dxljJO>4Wq-;stY)CLB4q`-r*T$!K2o}?E-w_i>3_aEbA^MB7P5piwt1dI-6o!qWCy0 ztYy!x9arGTS?kabkkyv*yxvsPQ7Vx)twkS6z2T@kZ|kb8yjm+^$|sEBmvACeqbz)RmxkkDQX-A*K!YFziuhwb|ym>C$}U|J)4y z$(z#)GH%uV6{ec%Zy~AhK|+GtG8u@c884Nq%w`O^wv2#A(&xH@c5M`Vjk*SR_tJnq z0trB#aY)!EKW_}{#L3lph5ow=@|D5LzJYUFD6 z7XnUeo_V0DVSIKMFD_T0AqAO|#VFDc7c?c-Q%#u00F%!_TW1@JVnsfvm@_9HKWflBOUD~)RL``-!P;(bCON_4eVdduMO>?IrQ__*zE@7(OX zUtfH@AX*53&xJW*Pu9zcqxGiM>xol0I~QL5B%Toog3Jlenc^WbVgeBvV8C8AX^Vj& z^I}H})B=VboO%q1;aU5ACMh{yK4J;xlMc`jCnZR^!~LDs_MP&8;dd@4LDWw~*>#OT zeZHwdQWS!tt5MJQI~cw|Ka^b4c|qyd_ly(+Ql2m&AAw^ zQeSXDOOH!!mAgzAp0z)DD>6Xo``b6QwzUV@w%h}Yo>)a|xRi$jGuHQhJVA%>)PUvK zBQ!l0hq<3VZ*RnrDODP)>&iS^wf64C;MGqDvx>|p;35%6(u+IHoNbK z;Gb;TneFo*`zUKS6kwF*&b!U8e5m4YAo03a_e^!5BP42+r)LFhEy?_7U1IR<; z^0v|DhCYMSj<-;MtY%R@Fg;9Kky^pz_t2nJfKWfh5Eu@_l{^ph%1z{jkg5jQrkvD< z#vdK!nku*RrH~TdN~`wDs;d>XY1PH?O<4^U4lmA|wUW{Crrv#r%N>7k#{Gc44Fr|t z@UZP}Y-TrAmnEZ39A*@6;ccsR>)$A)S>$-Cj!=x$rz7IvjHIPM(TB+JFf{ehuIvY$ zsDAwREg*%|=>Hw$`us~RP&3{QJg%}RjJKS^mC_!U;E5u>`X`jW$}P`Mf}?7G7FX#{ zE(9u1SO;3q@ZhDL9O({-RD+SqqPX)`0l5IQu4q)49TUTkxR(czeT}4`WV~pV*KY&i zAl3~X%D2cPVD^B43*~&f%+Op)wl<&|D{;=SZwImydWL6@_RJjxP2g)s=dH)u9Npki zs~z9A+3fj0l?yu4N0^4aC5x)Osnm0qrhz@?nwG_`h(71P znbIewljU%T*cC=~NJy|)#hT+lx#^5MuDDnkaMb*Efw9eThXo|*WOQzJ*#3dmRWm@! zfuSc@#kY{Um^gBc^_Xdxnl!n&y&}R4yAbK&RMc+P^Ti;YIUh|C+K1|=Z^{nZ}}rxH*v{xR!i%qO~o zTr`WDE@k$M9o0r4YUFFeQO7xCu_Zgy)==;fCJ94M_rLAv&~NhfvcLWCoaGg2ao~3e zBG?Ms9B+efMkp}7BhmISGWmJsKI@a8b}4lLI48oWKY|8?zuuNc$lt5Npr+p7a#sWu zh!@2nnLBVJK!$S~>r2-pN||^w|fY`CT{TFnJy`B|e5;=+_v4l8O-fkN&UQbA4NKTyntd zqK{xEKh}U{NHoQUf!M=2(&w+eef77VtYr;xs%^cPfKLObyOV_9q<(%76-J%vR>w9!us-0c-~Y?_EVS%v!* z15s2s3eTs$Osz$JayyH|5nPAIPEX=U;r&p;K14G<1)bvn@?bM5kC{am|C5%hyxv}a z(DeSKI5ZfZ1*%dl8frIX2?);R^^~LuDOpNpk-2R8U1w92HmG1m&|j&J{EK=|p$;f9 z7Rs5|jr4r8k5El&qcuM+YRlKny%t+1CgqEWO>3;BSRZi(LA3U%Jm{@{y+A+w(gzA< z7dBq6a1sEWa4cD0W7=Ld9z0H7RI^Z7vl(bfA;72j?SWCo`#5mVC$l1Q2--%V)-uN* z9ha*s-AdfbDZ8R8*fpwjzx=WvOtmSzGFjC#X)hD%Caeo^OWjS(3h|d9_*U)l%{Ab8 zfv$yoP{OuUl@$(-sEVNt{*=qi5P=lpxWVuz2?I7Dc%BRc+NGNw+323^ z5BXGfS71oP^%apUo(Y#xkxE)y?>BFzEBZ}UBbr~R4$%b7h3iZu3S(|A;&HqBR{nK& z$;GApNnz=kNO^FL&nYcfpB7Qg;hGJPsCW44CbkG1@l9pn0`~oKy5S777uH)l{irK!ru|X+;4&0D;VE*Ii|<3P zUx#xUqvZT5kVQxsF#~MwKnv7;1pR^0;PW@$@T7I?s`_rD1EGUdSA5Q(C<>5SzE!vw z;{L&kKFM-MO>hy#-8z`sdVx})^(Dc-dw;k-h*9O2_YZw}|9^y-|8RQ`BWJUJL(Cer zP5Z@fNc>pTXABbTRY-B5*MphpZv6#i802giwV&SkFCR zGMETyUm(KJbh+&$8X*RB#+{surjr;8^REEt`2&Dubw3$mx>|~B5IKZJ`s_6fw zKAZx9&PwBqW1Oz0r0A4GtnZd7XTKViX2%kPfv+^X3|_}RrQ2e3l=KG_VyY`H?I5&CS+lAX5HbA%TD9u6&s#v!G> zzW9n4J%d5ye7x0y`*{KZvqyXUfMEE^ZIffzI=Hh|3J}^yx7eL=s+TPH(Q2GT-sJ~3 zI463C{(ag7-hS1ETtU;_&+49ABt5!A7CwLwe z=SoA8mYZIQeU;9txI=zcQVbuO%q@E)JI+6Q!3lMc=Gbj(ASg-{V27u>z2e8n;Nc*pf}AqKz1D>p9G#QA+7mqqrEjGfw+85Uyh!=tTFTv3|O z+)-kFe_8FF_EkTw!YzwK^Hi^_dV5x-Ob*UWmD-})qKj9@aE8g240nUh=g|j28^?v7 zHRTBo{0KGaWBbyX2+lx$wgXW{3aUab6Bhm1G1{jTC7ota*JM6t+qy)c5<@ zpc&(jVdTJf(q3xB=JotgF$X>cxh7k*(T`-V~AR+`%e?YOeALQ2Qud( zz35YizXt(aW3qndR}fTw1p()Ol4t!D1pitGNL95{SX4ywzh0SF;=!wf=?Q?_h6!f* zh7<+GFi)q|XBsvXZ^qVCY$LUa{5?!CgwY?EG;*)0ceFe&=A;!~o`ae}Z+6me#^sv- z1F6=WNd6>M(~ z+092z>?Clrcp)lYNQl9jN-JF6n&Y0mp7|I0dpPx+4*RRK+VQI~>en0Dc;Zfl+x z_e_b7s`t1_A`RP3$H}y7F9_na%D7EM+**G_Z0l_nwE+&d_kc35n$Fxkd4r=ltRZhh zr9zER8>j(EdV&Jgh(+i}ltESBK62m0nGH6tCBr90!4)-`HeBmz54p~QP#dsu%nb~W z7sS|(Iydi>C@6ZM(Us!jyIiszMkd)^u<1D+R@~O>HqZIW&kearPWmT>63%_t2B{_G zX{&a(gOYJx!Hq=!T$RZ&<8LDnxsmx9+TBL0gTk$|vz9O5GkK_Yx+55^R=2g!K}NJ3 zW?C;XQCHZl7H`K5^BF!Q5X2^Mj93&0l_O3Ea3!Ave|ixx+~bS@Iv18v2ctpSt4zO{ zp#7pj!AtDmti$T`e9{s^jf(ku&E|83JIJO5Qo9weT6g?@vX!{7)cNwymo1+u(YQ94 zopuz-L@|5=h8A!(g-MXgLJC0MA|CgQF8qlonnu#j z;uCeq9ny9QSD|p)9sp3ebgY3rk#y0DA(SHdh$DUm^?GI<>%e1?&}w(b zdip1;P2Z=1wM+$q=TgLP$}svd!vk+BZ@h<^4R=GS2+sri7Z*2f`9 z5_?i)xj?m#pSVchk-SR!2&uNhzEi+#5t1Z$o0PoLGz*pT64%+|Wa+rd5Z}60(j?X= z{NLjtgRb|W?CUADqOS@(*MA-l|E342NxRaxLTDqsOyfWWe%N(jjBh}G zm7WPel6jXijaTiNita+z(5GCO0NM=Melxud57PP^d_U## zbA;9iVi<@wr0DGB8=T9Ab#2K_#zi=$igyK48@;V|W`fg~7;+!q8)aCOo{HA@vpSy-4`^!ze6-~8|QE||hC{ICKllG9fbg_Y7v z$jn{00!ob3!@~-Z%!rSZ0JO#@>|3k10mLK0JRKP-Cc8UYFu>z93=Ab-r^oL2 zl`-&VBh#=-?{l1TatC;VweM^=M7-DUE>m+xO7Xi6vTEsReyLs8KJ+2GZ&rxw$d4IT zPXy6pu^4#e;;ZTsgmG+ZPx>piodegkx2n0}SM77+Y*j^~ICvp#2wj^BuqRY*&cjmL zcKp78aZt>e{3YBb4!J_2|K~A`lN=u&5j!byw`1itV(+Q_?RvV7&Z5XS1HF)L2v6ji z&kOEPmv+k_lSXb{$)of~(BkO^py&7oOzpjdG>vI1kcm_oPFHy38%D4&A4h_CSo#lX z2#oqMCTEP7UvUR3mwkPxbl8AMW(e{ARi@HCYLPSHE^L<1I}OgZD{I#YH#GKnpRmW3 z2jkz~Sa(D)f?V?$gNi?6)Y;Sm{&?~2p=0&BUl_(@hYeX8YjaRO=IqO7neK0RsSNdYjD zaw$g2sG(>JR=8Iz1SK4`*kqd_3-?;_BIcaaMd^}<@MYbYisWZm2C2|Np_l|8r9yM|JkUngSo@?wci(7&O9a z%|V(4C1c9pps0xxzPbXH=}QTxc2rr7fXk$9`a6TbWKPCz&p=VsB8^W96W=BsB|7bc zf(QR8&Ktj*iz)wK&mW`#V%4XTM&jWNnDF56O+2bo<3|NyUhQ%#OZE8$Uv2a@J>D%t zMVMiHh?es!Ex19q&6eC&L=XDU_BA&uR^^w>fpz2_`U87q_?N2y;!Z!bjoeKrzfC)} z?m^PM=(z{%n9K`p|7Bz$LuC7!>tFOuN74MFELm}OD9?%jpT>38J;=1Y-VWtZAscaI z_8jUZ#GwWz{JqvGEUmL?G#l5E=*m>`cY?m*XOc*yOCNtpuIGD+Z|kn4Xww=BLrNYS zGO=wQh}Gtr|7DGXLF%|`G>J~l{k^*{;S-Zhq|&HO7rC_r;o`gTB7)uMZ|WWIn@e0( zX$MccUMv3ABg^$%_lNrgU{EVi8O^UyGHPNRt%R!1#MQJn41aD|_93NsBQhP80yP<9 zG4(&0u7AtJJXLPcqzjv`S~5;Q|5TVGccN=Uzm}K{v)?f7W!230C<``9(64}D2raRU zAW5bp%}VEo{4Rko`bD%Ehf=0voW?-4Mk#d3_pXTF!-TyIt6U+({6OXWVAa;s-`Ta5 zTqx&8msH3+DLrVmQOTBOAj=uoxKYT3DS1^zBXM?1W+7gI!aQNPYfUl{3;PzS9*F7g zWJN8x?KjBDx^V&6iCY8o_gslO16=kh(|Gp)kz8qlQ`dzxQv;)V&t+B}wwdi~uBs4? zu~G|}y!`3;8#vIMUdyC7YEx6bb^1o}G!Jky4cN?BV9ejBfN<&!4M)L&lRKiuMS#3} z_B}Nkv+zzxhy{dYCW$oGC&J(Ty&7%=5B$sD0bkuPmj7g>|962`(Q{ZZMDv%YMuT^KweiRDvYTEop3IgFv#)(w>1 zSzH>J`q!LK)c(AK>&Ib)A{g`Fdykxqd`Yq@yB}E{gnQV$K!}RsgMGWqC3DKE(=!{}ekB3+(1?g}xF>^icEJbc z5bdxAPkW90atZT+&*7qoLqL#p=>t-(-lsnl2XMpZcYeW|o|a322&)yO_8p(&Sw{|b zn(tY$xn5yS$DD)UYS%sP?c|z>1dp!QUD)l;aW#`%qMtQJjE!s2z`+bTSZmLK7SvCR z=@I4|U^sCwZLQSfd*ACw9B@`1c1|&i^W_OD(570SDLK`MD0wTiR8|$7+%{cF&){$G zU~|$^Ed?TIxyw{1$e|D$050n8AjJvvOWhLtLHbSB|HIfjMp+gu>DraHZJRrdO53(= z+o-f{+qNog+qSLB%KY;5>Av6X(>-qYk3IIEwZ5~6a+P9lMpC^ z8CJ0q>rEpjlsxCvJm=kms@tlN4+sv}He`xkr`S}bGih4t`+#VEIt{1veE z{ZLtb_pSbcfcYPf4=T1+|BtR!x5|X#x2TZEEkUB6kslKAE;x)*0x~ES0kl4Dex4e- zT2P~|lT^vUnMp{7e4OExfxak0EE$Hcw;D$ehTV4a6hqxru0$|Mo``>*a5=1Ym0u>BDJKO|=TEWJ5jZu!W}t$Kv{1!q`4Sn7 zrxRQOt>^6}Iz@%gA3&=5r;Lp=N@WKW;>O!eGIj#J;&>+3va^~GXRHCY2}*g#9ULab zitCJt-OV0*D_Q3Q`p1_+GbPxRtV_T`jyATjax<;zZ?;S+VD}a(aN7j?4<~>BkHK7bO8_Vqfdq1#W&p~2H z&w-gJB4?;Q&pG9%8P(oOGZ#`!m>qAeE)SeL*t8KL|1oe;#+uOK6w&PqSDhw^9-&Fa zuEzbi!!7|YhlWhqmiUm!muO(F8-F7|r#5lU8d0+=;<`{$mS=AnAo4Zb^{%p}*gZL! zeE!#-zg0FWsSnablw!9$<&K(#z!XOW z;*BVx2_+H#`1b@>RtY@=KqD)63brP+`Cm$L1@ArAddNS1oP8UE$p05R=bvZoYz+^6 z<)!v7pRvi!u_-V?!d}XWQR1~0q(H3{d^4JGa=W#^Z<@TvI6J*lk!A zZ*UIKj*hyO#5akL*Bx6iPKvR3_2-^2mw|Rh-3O_SGN3V9GRo52Q;JnW{iTGqb9W99 z7_+F(Op6>~3P-?Q8LTZ-lwB}xh*@J2Ni5HhUI3`ct|*W#pqb>8i*TXOLn~GlYECIj zhLaa_rBH|1jgi(S%~31Xm{NB!30*mcsF_wgOY2N0XjG_`kFB+uQuJbBm3bIM$qhUyE&$_u$gb zpK_r{99svp3N3p4yHHS=#csK@j9ql*>j0X=+cD2dj<^Wiu@i>c_v zK|ovi7}@4sVB#bzq$n3`EgI?~xDmkCW=2&^tD5RuaSNHf@Y!5C(Is$hd6cuyoK|;d zO}w2AqJPS`Zq+(mc*^%6qe>1d&(n&~()6-ZATASNPsJ|XnxelLkz8r1x@c2XS)R*H(_B=IN>JeQUR;T=i3<^~;$<+8W*eRKWGt7c#>N`@;#!`kZ!P!&{9J1>_g8Zj zXEXxmA=^{8A|3=Au+LfxIWra)4p<}1LYd_$1KI0r3o~s1N(x#QYgvL4#2{z8`=mXy zQD#iJ0itk1d@Iy*DtXw)Wz!H@G2St?QZFz zVPkM%H8Cd2EZS?teQN*Ecnu|PrC!a7F_XX}AzfZl3fXfhBtc2-)zaC2eKx*{XdM~QUo4IwcGgVdW69 z1UrSAqqMALf^2|(I}hgo38l|Ur=-SC*^Bo5ej`hb;C$@3%NFxx5{cxXUMnTyaX{>~ zjL~xm;*`d08bG_K3-E+TI>#oqIN2=An(C6aJ*MrKlxj?-;G zICL$hi>`F%{xd%V{$NhisHSL~R>f!F7AWR&7b~TgLu6!3s#~8|VKIX)KtqTH5aZ8j zY?wY)XH~1_a3&>#j7N}0az+HZ;is;Zw(Am{MX}YhDTe(t{ZZ;TG}2qWYO+hdX}vp9 z@uIRR8g#y~-^E`Qyem(31{H0&V?GLdq9LEOb2(ea#e-$_`5Q{T%E?W(6 z(XbX*Ck%TQM;9V2LL}*Tf`yzai{0@pYMwBu%(I@wTY!;kMrzcfq0w?X`+y@0ah510 zQX5SU(I!*Fag4U6a7Lw%LL;L*PQ}2v2WwYF(lHx_Uz2ceI$mnZ7*eZ?RFO8UvKI0H z9Pq-mB`mEqn6n_W9(s~Jt_D~j!Ln9HA)P;owD-l~9FYszs)oEKShF9Zzcmnb8kZ7% zQ`>}ki1kwUO3j~ zEmh140sOkA9v>j@#56ymn_RnSF`p@9cO1XkQy6_Kog?0ivZDb`QWOX@tjMd@^Qr(p z!sFN=A)QZm!sTh(#q%O{Ovl{IxkF!&+A)w2@50=?a-+VuZt6On1;d4YtUDW{YNDN_ zG@_jZi1IlW8cck{uHg^g=H58lPQ^HwnybWy@@8iw%G! zwB9qVGt_?~M*nFAKd|{cGg+8`+w{j_^;nD>IrPf-S%YjBslSEDxgKH{5p)3LNr!lD z4ii)^%d&cCXIU7UK?^ZQwmD(RCd=?OxmY(Ko#+#CsTLT;p#A%{;t5YpHFWgl+@)N1 zZ5VDyB;+TN+g@u~{UrWrv)&#u~k$S&GeW)G{M#&Di)LdYk?{($Cq zZGMKeYW)aMtjmKgvF0Tg>Mmkf9IB#2tYmH-s%D_9y3{tfFmX1BSMtbe<(yqAyWX60 zzkgSgKb3c{QPG2MalYp`7mIrYg|Y<4Jk?XvJK)?|Ecr+)oNf}XLPuTZK%W>;<|r+% zTNViRI|{sf1v7CsWHvFrkQ$F7+FbqPQ#Bj7XX=#M(a~9^80}~l-DueX#;b}Ajn3VE z{BWI}$q{XcQ3g{(p>IOzFcAMDG0xL)H%wA)<(gl3I-oVhK~u_m=hAr&oeo|4lZbf} z+pe)c34Am<=z@5!2;_lwya;l?xV5&kWe}*5uBvckm(d|7R>&(iJNa6Y05SvlZcWBlE{{%2- z`86)Y5?H!**?{QbzGG~|k2O%eA8q=gxx-3}&Csf6<9BsiXC)T;x4YmbBIkNf;0Nd5 z%whM^!K+9zH>on_<&>Ws?^v-EyNE)}4g$Fk?Z#748e+GFp)QrQQETx@u6(1fk2!(W zWiCF~MomG*y4@Zk;h#2H8S@&@xwBIs|82R*^K(i*0MTE%Rz4rgO&$R zo9Neb;}_ulaCcdn3i17MO3NxzyJ=l;LU*N9ztBJ30j=+?6>N4{9YXg$m=^9@Cl9VY zbo^{yS@gU=)EpQ#;UIQBpf&zfCA;00H-ee=1+TRw@(h%W=)7WYSb5a%$UqNS@oI@= zDrq|+Y9e&SmZrH^iA>Of8(9~Cf-G(P^5Xb%dDgMMIl8gk6zdyh`D3OGNVV4P9X|EvIhplXDld8d z^YWtYUz@tpg*38Xys2?zj$F8%ivA47cGSl;hjD23#*62w3+fwxNE7M7zVK?x_`dBSgPK zWY_~wF~OEZi9|~CSH8}Xi>#8G73!QLCAh58W+KMJJC81{60?&~BM_0t-u|VsPBxn* zW7viEKwBBTsn_A{g@1!wnJ8@&h&d>!qAe+j_$$Vk;OJq`hrjzEE8Wjtm)Z>h=*M25 zOgETOM9-8xuuZ&^@rLObtcz>%iWe%!uGV09nUZ*nxJAY%&KAYGY}U1WChFik7HIw% zZP$3Bx|TG_`~19XV7kfi2GaBEhKap&)Q<9`aPs#^!kMjtPb|+-fX66z3^E)iwyXK7 z8)_p<)O{|i&!qxtgBvWXx8*69WO$5zACl++1qa;)0zlXf`eKWl!0zV&I`8?sG)OD2Vy?reNN<{eK+_ za4M;Hh%&IszR%)&gpgRCP}yheQ+l#AS-GnY81M!kzhWxIR?PW`G3G?} z$d%J28uQIuK@QxzGMKU_;r8P0+oIjM+k)&lZ39i#(ntY)*B$fdJnQ3Hw3Lsi8z&V+ zZly2}(Uzpt2aOubRjttzqrvinBFH4jrN)f0hy)tj4__UTwN)#1fj3-&dC_Vh7}ri* zfJ=oqLMJ-_<#rwVyN}_a-rFBe2>U;;1(7UKH!$L??zTbbzP#bvyg7OQBGQklJ~DgP zd<1?RJ<}8lWwSL)`jM53iG+}y2`_yUvC!JkMpbZyb&50V3sR~u+lok zT0uFRS-yx@8q4fPRZ%KIpLp8R#;2%c&Ra4p(GWRT4)qLaPNxa&?8!LRVdOUZ)2vrh zBSx&kB%#Y4!+>~)<&c>D$O}!$o{<1AB$M7-^`h!eW;c(3J~ztoOgy6Ek8Pwu5Y`Xion zFl9fb!k2`3uHPAbd(D^IZmwR5d8D$495nN2`Ue&`W;M-nlb8T-OVKt|fHk zBpjX$a(IR6*-swdNk@#}G?k6F-~c{AE0EWoZ?H|ZpkBxqU<0NUtvubJtwJ1mHV%9v?GdDw; zAyXZiD}f0Zdt-cl9(P1la+vQ$Er0~v}gYJVwQazv zH#+Z%2CIfOf90fNMGos|{zf&N`c0@x0N`tkFv|_9af3~<0z@mnf*e;%r*Fbuwl-IW z{}B3=(mJ#iwLIPiUP`J3SoP~#)6v;aRXJ)A-pD2?_2_CZ#}SAZ<#v7&Vk6{*i(~|5 z9v^nC`T6o`CN*n%&9+bopj^r|E(|pul;|q6m7Tx+U|UMjWK8o-lBSgc3ZF=rP{|l9 zc&R$4+-UG6i}c==!;I#8aDIbAvgLuB66CQLRoTMu~jdw`fPlKy@AKYWS-xyZzPg&JRAa@m-H43*+ne!8B7)HkQY4 zIh}NL4Q79a-`x;I_^>s$Z4J4-Ngq=XNWQ>yAUCoe&SMAYowP>r_O}S=V+3=3&(O=h zNJDYNs*R3Y{WLmBHc?mFEeA4`0Y`_CN%?8qbDvG2m}kMAiqCv`_BK z_6a@n`$#w6Csr@e2YsMx8udNWtNt=kcqDZdWZ-lGA$?1PA*f4?X*)hjn{sSo8!bHz zb&lGdAgBx@iTNPK#T_wy`KvOIZvTWqSHb=gWUCKXAiB5ckQI`1KkPx{{%1R*F2)Oc z(9p@yG{fRSWE*M9cdbrO^)8vQ2U`H6M>V$gK*rz!&f%@3t*d-r3mSW>D;wYxOhUul zk~~&ip5B$mZ~-F1orsq<|1bc3Zpw6)Ws5;4)HilsN;1tx;N6)tuePw& z==OlmaN*ybM&-V`yt|;vDz(_+UZ0m&&9#{9O|?0I|4j1YCMW;fXm}YT$0%EZ5^YEI z4i9WV*JBmEU{qz5O{#bs`R1wU%W$qKx?bC|e-iS&d*Qm7S=l~bMT{~m3iZl+PIXq{ zn-c~|l)*|NWLM%ysfTV-oR0AJ3O>=uB-vpld{V|cWFhI~sx>ciV9sPkC*3i0Gg_9G!=4ar*-W?D9)?EFL1=;O+W8}WGdp8TT!Fgv z{HKD`W>t(`Cds_qliEzuE!r{ihwEv1l5o~iqlgjAyGBi)$%zNvl~fSlg@M=C{TE;V zQkH`zS8b&!ut(m)%4n2E6MB>p*4(oV>+PT51#I{OXs9j1vo>9I<4CL1kv1aurV*AFZ^w_qfVL*G2rG@D2 zrs87oV3#mf8^E5hd_b$IXfH6vHe&lm@7On~Nkcq~YtE!}ad~?5*?X*>y`o;6Q9lkk zmf%TYonZM`{vJg$`lt@MXsg%*&zZZ0uUSse8o=!=bfr&DV)9Y6$c!2$NHyYAQf*Rs zk{^?gl9E z5Im8wlAsvQ6C2?DyG@95gUXZ3?pPijug25g;#(esF_~3uCj3~94}b*L>N2GSk%Qst z=w|Z>UX$m!ZOd(xV*2xvWjN&c5BVEdVZ0wvmk)I+YxnyK%l~caR=7uNQ=+cnNTLZ@&M!I$Mj-r{!P=; z`C2)D=VmvK8@T5S9JZoRtN!S*D_oqOxyy!q6Zk|~4aT|*iRN)fL)c>-yycR>-is0X zKrko-iZw(f(!}dEa?hef5yl%p0-v-8#8CX8!W#n2KNyT--^3hq6r&`)5Y@>}e^4h- zlPiDT^zt}Ynk&x@F8R&=)k8j$=N{w9qUcIc&)Qo9u4Y(Ae@9tA`3oglxjj6c{^pN( zQH+Uds2=9WKjH#KBIwrQI%bbs`mP=7V>rs$KG4|}>dxl_k!}3ZSKeEen4Iswt96GGw`E6^5Ov)VyyY}@itlj&sao|>Sb5 zeY+#1EK(}iaYI~EaHQkh7Uh>DnzcfIKv8ygx1Dv`8N8a6m+AcTa-f;17RiEed>?RT zk=dAksmFYPMV1vIS(Qc6tUO+`1jRZ}tcDP? zt)=7B?yK2RcAd1+Y!$K5*ds=SD;EEqCMG6+OqPoj{&8Y5IqP(&@zq@=A7+X|JBRi4 zMv!czlMPz)gt-St2VZwDD=w_S>gRpc-g zUd*J3>bXeZ?Psjohe;z7k|d<*T21PA1i)AOi8iMRwTBSCd0ses{)Q`9o&p9rsKeLaiY zluBw{1r_IFKR76YCAfl&_S1*(yFW8HM^T()&p#6y%{(j7Qu56^ZJx1LnN`-RTwimdnuo*M8N1ISl+$C-%=HLG-s} zc99>IXRG#FEWqSV9@GFW$V8!{>=lSO%v@X*pz*7()xb>=yz{E$3VE;e)_Ok@A*~El zV$sYm=}uNlUxV~6e<6LtYli1!^X!Ii$L~j4e{sI$tq_A(OkGquC$+>Rw3NFObV2Z)3Rt~Jr{oYGnZaFZ^g5TDZlg;gaeIP} z!7;T{(9h7mv{s@piF{-35L=Ea%kOp;^j|b5ZC#xvD^^n#vPH=)lopYz1n?Kt;vZmJ z!FP>Gs7=W{sva+aO9S}jh0vBs+|(B6Jf7t4F^jO3su;M13I{2rd8PJjQe1JyBUJ5v zcT%>D?8^Kp-70bP8*rulxlm)SySQhG$Pz*bo@mb5bvpLAEp${?r^2!Wl*6d7+0Hs_ zGPaC~w0E!bf1qFLDM@}zso7i~(``)H)zRgcExT_2#!YOPtBVN5Hf5~Ll3f~rWZ(UsJtM?O*cA1_W0)&qz%{bDoA}{$S&-r;0iIkIjbY~ zaAqH45I&ALpP=9Vof4OapFB`+_PLDd-0hMqCQq08>6G+C;9R~}Ug_nm?hhdkK$xpI zgXl24{4jq(!gPr2bGtq+hyd3%Fg%nofK`psHMs}EFh@}sdWCd!5NMs)eZg`ZlS#O0 zru6b8#NClS(25tXqnl{|Ax@RvzEG!+esNW-VRxba(f`}hGoqci$U(g30i}2w9`&z= zb8XjQLGN!REzGx)mg~RSBaU{KCPvQx8)|TNf|Oi8KWgv{7^tu}pZq|BS&S<53fC2K4Fw6>M^s$R$}LD*sUxdy6Pf5YKDbVet;P!bw5Al-8I1Nr(`SAubX5^D9hk6$agWpF}T#Bdf{b9-F#2WVO*5N zp+5uGgADy7m!hAcFz{-sS0kM7O)qq*rC!>W@St~^OW@R1wr{ajyYZq5H!T?P0e+)a zaQ%IL@X_`hzp~vRH0yUblo`#g`LMC%9}P;TGt+I7qNcBSe&tLGL4zqZqB!Bfl%SUa z6-J_XLrnm*WA`34&mF+&e1sPCP9=deazrM=Pc4Bn(nV;X%HG^4%Afv4CI~&l!Sjzb z{rHZ3od0!Al{}oBO>F*mOFAJrz>gX-vs!7>+_G%BB(ljWh$252j1h;9p~xVA=9_`P z5KoFiz96_QsTK%B&>MSXEYh`|U5PjX1(+4b#1PufXRJ*uZ*KWdth1<0 zsAmgjT%bowLyNDv7bTUGy|g~N34I-?lqxOUtFpTLSV6?o?<7-UFy*`-BEUsrdANh} zBWkDt2SAcGHRiqz)x!iVoB~&t?$yn6b#T=SP6Ou8lW=B>=>@ik93LaBL56ub`>Uo!>0@O8?e)$t(sgy$I z6tk3nS@yFFBC#aFf?!d_3;%>wHR;A3f2SP?Na8~$r5C1N(>-ME@HOpv4B|Ty7%jAv zR}GJwsiJZ5@H+D$^Cwj#0XA_(m^COZl8y7Vv(k=iav1=%QgBOVzeAiw zaDzzdrxzj%sE^c9_uM5D;$A_7)Ln}BvBx^=)fO+${ou%B*u$(IzVr-gH3=zL6La;G zu0Kzy5CLyNGoKRtK=G0-w|tnwI)puPDOakRzG(}R9fl7#<|oQEX;E#yCWVg95 z;NzWbyF&wGg_k+_4x4=z1GUcn6JrdX4nOVGaAQ8#^Ga>aFvajQN{!+9rgO-dHP zIp@%&ebVg}IqnRWwZRTNxLds+gz2@~VU(HI=?Epw>?yiEdZ>MjajqlO>2KDxA>)cj z2|k%dhh%d8SijIo1~20*5YT1eZTDkN2rc^zWr!2`5}f<2f%M_$to*3?Ok>e9$X>AV z2jYmfAd)s|(h?|B(XYrIfl=Wa_lBvk9R1KaP{90-z{xKi+&8=dI$W0+qzX|ZovWGOotP+vvYR(o=jo?k1=oG?%;pSqxcU* zWVGVMw?z__XQ9mnP!hziHC`ChGD{k#SqEn*ph6l46PZVkm>JF^Q{p&0=MKy_6apts z`}%_y+Tl_dSP(;Ja&sih$>qBH;bG;4;75)jUoVqw^}ee=ciV;0#t09AOhB^Py7`NC z-m+ybq1>_OO+V*Z>dhk}QFKA8V?9Mc4WSpzj{6IWfFpF7l^au#r7&^BK2Ac7vCkCn{m0uuN93Ee&rXfl1NBY4NnO9lFUp zY++C1I;_{#OH#TeP2Dp?l4KOF8ub?m6zE@XOB5Aiu$E~QNBM@;r+A5mF2W1-c7>ex zHiB=WJ&|`6wDq*+xv8UNLVUy4uW1OT>ey~Xgj@MMpS@wQbHAh>ysYvdl-1YH@&+Q! z075(Qd4C!V`9Q9jI4 zSt{HJRvZec>vaL_brKhQQwbpQd4_Lmmr0@1GdUeU-QcC{{8o=@nwwf>+dIKFVzPriGNX4VjHCa zTbL9w{Y2V87c2ofX%`(48A+4~mYTiFFl!e{3K^C_k%{&QTsgOd0*95KmWN)P}m zTRr{`f7@=v#+z_&fKYkQT!mJn{*crj%ZJz#(+c?>cD&2Lo~FFAWy&UG*Op^pV`BR^I|g?T>4l5;b|5OQ@t*?_Slp`*~Y3`&RfKD^1uLezIW(cE-Dq2z%I zBi8bWsz0857`6e!ahet}1>`9cYyIa{pe53Kl?8|Qg2RGrx@AlvG3HAL-^9c^1GW;)vQt8IK+ zM>!IW*~682A~MDlyCukldMd;8P|JCZ&oNL(;HZgJ>ie1PlaInK7C@Jg{3kMKYui?e!b`(&?t6PTb5UPrW-6DVU%^@^E`*y-Fd(p|`+JH&MzfEq;kikdse ziFOiDWH(D< zyV7Rxt^D0_N{v?O53N$a2gu%1pxbeK;&ua`ZkgSic~$+zvt~|1Yb=UfKJW2F7wC^evlPf(*El+#}ZBy0d4kbVJsK- z05>;>?HZO(YBF&v5tNv_WcI@O@LKFl*VO?L(!BAd!KbkVzo;v@~3v`-816GG?P zY+H3ujC>5=Am3RIZDdT#0G5A6xe`vGCNq88ZC1aVXafJkUlcYmHE^+Z{*S->ol%-O znm9R0TYTr2w*N8Vs#s-5=^w*{Y}qp5GG)Yt1oLNsH7y~N@>Eghms|K*Sdt_u!&I}$ z+GSdFTpbz%KH+?B%Ncy;C`uW6oWI46(tk>r|5|-K6)?O0d_neghUUOa9BXHP*>vi; z={&jIGMn-92HvInCMJcyXwHTJ42FZp&Wxu+9Rx;1x(EcIQwPUQ@YEQQ`bbMy4q3hP zNFoq~Qd0=|xS-R}k1Im3;8s{BnS!iaHIMLx)aITl)+)?Yt#fov|Eh>}dv@o6R{tG>uHsy&jGmWN5+*wAik|78(b?jtysPHC#e+Bzz~V zS3eEXv7!Qn4uWi!FS3B?afdD*{fr9>B~&tc671fi--V}~E4un;Q|PzZRwk-azprM$4AesvUb5`S`(5x#5VJ~4%ET6&%GR$}muHV-5lTsCi_R|6KM(g2PCD@|yOpKluT zakH!1V7nKN)?6JmC-zJoA#ciFux8!)ajiY%K#RtEg$gm1#oKUKX_Ms^%hvKWi|B=~ zLbl-L)-=`bfhl`>m!^sRR{}cP`Oim-{7}oz4p@>Y(FF5FUEOfMwO!ft6YytF`iZRq zfFr{!&0Efqa{1k|bZ4KLox;&V@ZW$997;+Ld8Yle91he{BfjRhjFTFv&^YuBr^&Pe zswA|Bn$vtifycN8Lxr`D7!Kygd7CuQyWqf}Q_PM}cX~S1$-6xUD%-jrSi24sBTFNz(Fy{QL2AmNbaVggWOhP;UY4D>S zqKr!UggZ9Pl9Nh_H;qI`-WoH{ceXj?m8y==MGY`AOJ7l0Uu z)>M%?dtaz2rjn1SW3k+p`1vs&lwb%msw8R!5nLS;upDSxViY98IIbxnh{}mRfEp=9 zbrPl>HEJeN7J=KnB6?dwEA6YMs~chHNG?pJsEj#&iUubdf3JJwu=C(t?JpE6xMyhA3e}SRhunDC zn-~83*9=mADUsk^sCc%&&G1q5T^HR9$P#2DejaG`Ui*z1hI#h7dwpIXg)C{8s< z%^#@uQRAg-$z&fmnYc$Duw63_Zopx|n{Bv*9Xau{a)2%?H<6D>kYY7_)e>OFT<6TT z0A}MQLgXbC2uf`;67`mhlcUhtXd)Kbc$PMm=|V}h;*_%vCw4L6r>3Vi)lE5`8hkSg zNGmW-BAOO)(W((6*e_tW&I>Nt9B$xynx|sj^ux~?q?J@F$L4;rnm_xy8E*JYwO-02u9_@@W0_2@?B@1J{y~Q39N3NX^t7#`=34Wh)X~sU&uZWgS1Z09%_k|EjA4w_QqPdY`oIdv$dJZ;(!k)#U8L+|y~gCzn+6WmFt#d{OUuKHqh1-uX_p*Af8pFYkYvKPKBxyid4KHc}H` z*KcyY;=@wzXYR{`d{6RYPhapShXIV?0cg_?ahZ7do)Ot#mxgXYJYx}<%E1pX;zqHd zf!c(onm{~#!O$2`VIXezECAHVd|`vyP)Uyt^-075X@NZDBaQt<>trA3nY-Dayki4S zZ^j6CCmx1r46`4G9794j-WC0&R9(G7kskS>=y${j-2;(BuIZTLDmAyWTG~`0)Bxqk zd{NkDe9ug|ms@0A>JVmB-IDuse9h?z9nw!U6tr7t-Lri5H`?TjpV~8(gZWFq4Vru4 z!86bDB;3lpV%{rZ`3gtmcRH1hjj!loI9jN>6stN6A*ujt!~s!2Q+U1(EFQEQb(h4E z6VKuRouEH`G6+8Qv2C)K@^;ldIuMVXdDDu}-!7FS8~k^&+}e9EXgx~)4V4~o6P^52 z)a|`J-fOirL^oK}tqD@pqBZi_;7N43%{IQ{v&G9^Y^1?SesL`;Z(dt!nn9Oj5Odde%opv&t zxJ><~b#m+^KV&b?R#)fRi;eyqAJ_0(nL*61yPkJGt;gZxSHY#t>ATnEl-E%q$E16% zZdQfvhm5B((y4E3Hk6cBdwGdDy?i5CqBlCVHZr-rI$B#>Tbi4}Gcvyg_~2=6O9D-8 zY2|tKrNzbVR$h57R?Pe+gUU_il}ZaWu|Az#QO@};=|(L-RVf0AIW zq#pO+RfM7tdV`9lI6g;{qABNId`fG%U9Va^ravVT^)CklDcx)YJKeJdGpM{W1v8jg z@&N+mR?BPB=K1}kNwXk_pj44sd>&^;d!Z~P>O78emE@Qp@&8PyB^^4^2f7e)gekMv z2aZNvP@;%i{+_~>jK7*2wQc6nseT^n6St9KG#1~Y@$~zR_=AcO2hF5lCoH|M&c{vR zSp(GRVVl=T*m~dIA;HvYm8HOdCkW&&4M~UDd^H)`p__!4k+6b)yG0Zcek8OLw$C^K z3-BbLiG_%qX|ZYpXJ$(c@aa7b4-*IQkDF}=gZSV`*ljP|5mWuHSCcf$5qqhZTv&P?I$z^>}qP(q!Aku2yA5vu38d8x*q{6-1`%PrE_r0-9Qo?a#7Zbz#iGI7K<(@k^|i4QJ1H z4jx?{rZbgV!me2VT72@nBjucoT zUM9;Y%TCoDop?Q5fEQ35bCYk7!;gH*;t9t-QHLXGmUF;|vm365#X)6b2Njsyf1h9JW#x$;@x5Nx2$K$Z-O3txa%;OEbOn6xBzd4n4v)Va=sj5 z%rb#j7{_??Tjb8(Hac<^&s^V{yO-BL*uSUk2;X4xt%NC8SjO-3?;Lzld{gM5A=9AV z)DBu-Z8rRvXXwSVDH|dL-3FODWhfe1C_iF``F05e{dl(MmS|W%k-j)!7(ARkV?6r~ zF=o42y+VapxdZn;GnzZfGu<6oG-gQ7j7Zvgo7Am@jYxC2FpS@I;Jb%EyaJDBQC(q% zKlZ}TVu!>;i3t~OAgl@QYy1X|T~D{HOyaS*Bh}A}S#a9MYS{XV{R-|niEB*W%GPW! zP^NU(L<}>Uab<;)#H)rYbnqt|dOK(-DCnY==%d~y(1*{D{Eo1cqIV8*iMfx&J*%yh zx=+WHjt0q2m*pLx8=--UqfM6ZWjkev>W-*}_*$Y(bikH`#-Gn#!6_ zIA&kxn;XYI;eN9yvqztK-a113A%97in5CL5Z&#VsQ4=fyf&3MeKu70)(x^z_uw*RG zo2Pv&+81u*DjMO6>Mrr7vKE2CONqR6C0(*;@4FBM;jPIiuTuhQ-0&C)JIzo_k>TaS zN_hB;_G=JJJvGGpB?uGgSeKaix~AkNtYky4P7GDTW6{rW{}V9K)Cn^vBYKe*OmP!; zohJs=l-0sv5&pL6-bowk~(swtdRBZQHh8)m^r2+qTtZ zt4m$B?OQYNyfBA0E)g28a*{)a=%%f-?{F;++-Xs#5|7kSHTD*E9@$V ztE%7zX4A(L`n)FY8Y4pOnKC|Pf)j$iR#yP;V0+|Hki+D;t4I4BjkfdYliK9Gf6RYw z;3px$Ud5aTd`yq$N7*WOs!{X91hZZ;AJ9iQOH%p;v$R%OQum_h#rq9*{ve(++|24z zh2P;{-Z?u#rOqd0)D^_Ponv(Y9KMB9#?}nJdUX&r_rxF0%3__#8~ZwsyrSPmtWY27 z-54ZquV2t_W!*+%uwC=h-&_q~&nQer0(FL74to%&t^byl^C?wTaZ-IS9OssaQFP)1 zAov0o{?IRAcCf+PjMWSdmP42gysh|c9Ma&Q^?_+>>+-yrC8WR;*XmJ;>r9v*>=W}tgWG;WIt{~L8`gk8DP{dSdG z4SDM7g5ahMHYHHk*|mh9{AKh-qW7X+GEQybJt9A@RV{gaHUAva+=lSroK^NUJYEiL z?X6l9ABpd)9zzA^;FdZ$QQs#uD@hdcaN^;Q=AXlbHv511Meye`p>P4Y2nblEDEeZo}-$@g&L98Aih6tgLz--${eKTxymIipy0xSYgZZ zq^yyS4yNPTtPj-sM?R8@9Q1gtXPqv{$lb5i|C1yymwnGdfYV3nA-;5!Wl zD0fayn!B^grdE?q^}ba{-LIv*Z}+hZm_F9c$$cW!bx2DgJD&6|bBIcL@=}kQA1^Eh zXTEznqk)!!IcTl>ey?V;X8k<+C^DRA{F?T*j0wV`fflrLBQq!l7cbkAUE*6}WabyF zgpb+|tv=aWg0i}9kBL8ZCObYqHEycr5tpc-$|vdvaBsu#lXD@u_e1iL z{h>xMRS0a7KvW?VttrJFpX^5DC4Bv4cp6gNG6#8)7r7IxXfSNSp6)_6tZ4l>(D+0I zPhU)N!sKywaBusHdVE!yo5$20JAU8V_XcW{QmO!p*~ns8{2~bhjydnmA&=r zX9NSM9QYogYMDZ~kS#Qx`mt>AmeR3p@K$`fbJ%LQ1c5lEOz<%BS<}2DL+$>MFcE%e zlxC)heZ7#i80u?32eOJI9oQRz0z;JW@7Th4q}YmQ-`Z?@y3ia^_)7f37QMwDw~<-@ zT)B6fftmK_6YS!?{uaj5lLxyR++u*ZY2Mphm5cd7PA5=%rd)95hJ9+aGSNfjy>Ylc zoI0nGIT3sKmwX8h=6CbvhVO+ehFIR155h8iRuXZx^cW>rq5K4z_dvM#hRER=WR@THs%WELI9uYK9HN44Em2$#@k)hD zicqRPKV#yB;UlcsTL_}zCMK0T;eXHfu`y2(dfwm(v)IBbh|#R>`2cot{m7}8_X&oD zr@94PkMCl%d3FsC4pil=#{3uv^+)pvxfwmPUr)T)T|GcZVD$wVj$mjkjDs`5cm8N! zXVq2CvL;gWGpPI4;9j;2&hS*o+LNp&C5Ac=OXx*W5y6Z^az)^?G0)!_iAfjH5wiSE zD(F}hQZB#tF5iEx@0sS+dP70DbZ*<=5X^)Pxo^8aKzOzuyc2rq=<0-k;Y_ID1>9^v z+)nc36}?>jen*1%OX3R*KRASj${u$gZ$27Hpcj=95kK^aLzxhW6jj_$w6}%#1*$5D zG1H_vYFrCSwrRqYw*9<}OYAOQT)u%9lC`$IjZV<4`9Sc;j{Qv_6+uHrYifK&On4V_7yMil!0Yv55z@dFyD{U@Sy>|vTX=P_( zRm<2xj*Z}B30VAu@0e+}at*y?wXTz|rPalwo?4ZZc>hS0Ky6~mi@kv#?xP2a;yt?5=(-CqvP_3&$KdjB7Ku;# z`GLE*jW1QJB5d&E?IJO?1+!Q8HQMGvv^RuFoi=mM4+^tOqvX%X&viB%Ko2o-v4~~J z267ui;gsW?J=qS=D*@*xJvAy3IOop5bEvfR4MZC>9Y4Z$rGI|EHNNZ7KX;Ix{xSvm z-)Cau-xuTm|7`4kUdXvd_d^E=po(76ELfq5OgxIt3aqDy#zBfIy-5<3gpn{Ce`-ha z<;6y@{Bgqw?c~h*&j{FozQCh=`Lv-5Iw!KdSt;%GDOq%=(V!dJ-}|}|0o5G2kJj6{ z`jCSPs$9Fe8O(+qALZiJ$WtR=<@GvsdM)IJ`7XrBfW0iyYE#Vy^e@zbysg*B5Z_kSL6<)vqoaH zQ{!9!*{e9UZo^h+qZ`T@LfVwAEwc&+9{C8c%oj41q#hyn<&zA9IIur~V|{mmu`n5W z8)-Ou$YgjQ*PMIqHhZ_9E?(uoK0XM5aQkarcp}WT^7b^FC#^i>#8LGZ9puDuXUYas z7caX)V5U6uY-L5Wl%)j$qRkR;7@3T*N64YK_!`Fw=>CAwe~2loI1<>DZW&sb7Q)X;6E08&$h! z2=c1i4UOO{R4TmkTz+o9n`}+%d%blR6P;5{`qjtxlN$~I%tMMDCY`~e{+mRF!rj5( z3ywv)P_PUUqREu)TioPkg&5RKjY6z%pRxQPQ{#GNMTPag^S8(8l{!{WGNs2U1JA-O zq02VeYcArhTAS;v3);k(&6ayCH8SXN@r;1NQeJ*y^NHM+zOd;?t&c!Hq^SR_w6twGV8dl>j zjS+Zc&Yp7cYj&c1y3IxQ%*kWiYypvoh(k8g`HrY<_Bi-r%m-@SLfy-6mobxkWHxyS z>TtM2M4;Uqqy|+8Q++VcEq$PwomV1D4UzNA*Tgkg9#Gpz#~&iPf|Czx!J?qss?e|3 z4gTua75-P{2X7w9eeK3~GE0ip-D;%%gTi)8bR~Ez@)$gpuS~jZs`CrO5SR-Xy7bkA z89fr~mY}u4A$|r1$fe-;T{yJh#9Ime1iRu8eo?uY9@yqAU3P!rx~SsP;LTBL zeoMK(!;(Zt8313 z3)V)q_%eflKW?BnMZa}6E0c7t!$-mC$qt44OME5F(6B$E8w*TUN-h}0dOiXI+TH zYFrr&k1(yO(|J0vP|{22@Z}bxm@7BkjO)f)&^fv|?_JX+s)1*|7X7HH(W?b3QZ3!V|~m?8}uJsF>NvE4@fik zjyyh+U*tt`g6v>k9ub88a;ySvS1QawGn7}aaR**$rJA=a#eUT~ngUbJ%V=qsFIekLbv!YkqjTG{_$F;$w19$(ivIs*1>?2ka%uMOx@B9`LD zhm~)z@u4x*zcM1WhiX)!U{qOjJHt1xs{G1S?rYe)L)ntUu^-(o_dfqZu)}W(X%Uu| zN*qI@&R2fB#Jh|Mi+eMrZDtbNvYD3|v0Kx>E#Ss;Be*T$@DC!2A|mb%d}TTN3J+c= zu@1gTOXFYy972S+=C;#~)Z{Swr0VI5&}WYzH22un_Yg5o%f9fvV(`6!{C<(ZigQ2`wso)cj z9O12k)15^Wuv#rHpe*k5#4vb%c znP+Gjr<-p%01d<+^yrSoG?}F=eI8X;?=Fo2a~HUiJ>L!oE#9tXRp!adg-b9D;(6$E zeW0tH$US04zTX$OxM&X+2ip>KdFM?iG_fgOD-qB|uFng8*#Z5jgqGY=zLU?4!OlO#~YBTB9b9#~H@nqQ#5 z6bV));d?IJTVBC+79>rGuy1JgxPLy$dA7;_^^L)02m}XLjFR*qH`eI~+eJo(7D`LH z(W%lGnGK+Vk_3kyF*zpgO=1MxMg?hxe3}}YI>dVs8l}5eWjYu4=w6MWK09+05 zGdpa#$awd>Q|@aZa*z{5F3xy3n@E4YT9%TmMo0jxW59p0bI?&S}M+ z&^NG%rf7h*m9~p#b19|`wO5OMY-=^XT+=yrfGNpl<&~~FGsx_`IaFn+sEgF$hgOa~oAVAiu^a$jHcqkE=dj`ze z=axsfrzzh6VGD0x#6Ff=t%+VTiq!n6^gv*uIUD<9fOhvR;al5kcY${uunn}-!74<7 zmP^3cl-kyN(QY!!Z-^PY-OUkh=3ZWk6>le$_Q&xk4cgH{?i)C%2RM@pX5Q{jdSlo! zVau5v44cQX5|zQlQDt;dCg)oM0B<=P1CR!W%!^m$!{pKx;bn9DePJjWBX)q!`$;0K zqJIIyD#aK;#-3&Nf=&IhtbV|?ZGYHSphp~6th`p2rkw&((%kBV7<{siEOU7AxJj+FuRdDu$ zcmTW8usU_u!r)#jg|J=Gt{##7;uf4A5cdt6Y02}f(d2)z~ z)CH~gVAOwBLk$ZiIOn}NzDjvfw(w$u|BdCBI#)3xB-Ot?nz?iR38ayCm48M=_#9r7 zw8%pwQ<9mbEs5~_>pN3~#+Er~Q86J+2TDXM6umCbukd-X6pRIr5tF?VauT8jW> zY^#)log>jtJs2s3xoiPB7~8#1ZMv>Zx0}H58k-@H2huNyw~wsl0B8j)H5)H9c7y&i zp8^0;rKbxC1eEZ-#Qxvz)Xv$((8lK9I>BspPajluysw^f#t9P;OUis43mmEzX+lk* zc4T-Ms9_687GR+~QS#0~vxK#DSGN=a-m(@eZTqw2<+lN9>R~gK2)3;sT4%nI%Y|0m zX9SPR!>?~s=j5H4WMqeTW8QaLZ=1bWS5I3xZ&$(ypc=tHrv+hX@s)VG(tc!yvLM7n zshN=C#v={X1r;)xn0Pow_1eMhkn!{;x$BJ#PIz)m585&%cmzk;btQzZAN_^zis;n? z?6I~bN?s;7vg_dtoTc4A5Ow*Rb}No#UYl)sN|RmoYo}k^cKLXd8F`44?RrokkPvN5 ztUrx;U~B;jbE_qGd3n0j2i}A{enJvJ?gSF~NQj~EP5vM-w4@;QQ5n(Npic}XNW6B0 zq9F4T%6kp7qGhd0vpQcz+nMk8GOAmbz8Bt4@GtewGr6_>Xj>ge)SyfY}nu>Y!a@HoIx(StD zx`!>RT&}tpBL%nOF%7XIFW?n1AP*xthCMzhrU6G!U6?m4!CPWTvn#Yaoi_95CT2!L z|B=5zeRW30&ANGN>J9#GtCm&3SF6n4TqDz<-{@ZXkrkRDCpV$DwCtI^e&3i1A{Ar&JZtS^c+lyPa6 z%JJr42S_;eFC#M~bdtQePhOU32WDiZ4@H&af)z#$Y|hnQNb)8(3?1Ad>5uaZ1z zU~!jt3XUI@gpWb8tWTyH7DGvKvzYfqNIy3P{9vpwz_C-QL&`+8Io$F5PS-@YQJoEO z17D9P(+sXajWSH_8&C?fn>rTLX+(?KiwX#JNV)xE0!Q@>Tid$V2#r4y6fkph?YZ>^ z(o^q(0*P->3?I0cELXJn(N|#qTm6 zAPIL~n)m!50;*?5=MOOc4Wk;w(0c$(!e?vpV23S|n|Y7?nyc8)fD8t-KI&nTklH&BzqQ}D(1gH3P+5zGUzIjT~x`;e8JH=86&5&l-DP% z)F+Et(h|GJ?rMy-Zrf>Rv@<3^OrCJ1xv_N*_@-K5=)-jP(}h1Rts44H&ou8!G_C1E zhTfUDASJ2vu!4@j58{NN;78i?6__xR75QEDC4JN{>RmgcNrn-EOpEOcyR<8FS@RB@ zH!R7J=`KK^u06eeI|X@}KvQmdKE3AmAy8 zM4IIvde#e4O(iwag`UL5yQo>6&7^=D4yE-Eo9$9R2hR} zn;Z9i-d=R-xZl4@?s%8|m1M`$J6lW1r0Y)+8q$}Vn4qyR1jqTjGH;@Z!2KiGun2~x zaiEfzVT<|_b6t}~XPeflAm8hvCHP3Bp*tl{^y_e{Jsn@w+KP{7}bH_s=1S2E1sj=18a39*Ag~lbkT^_OQuYQey=b zW^{0xlQ@O$^cSxUZ8l(Mspg8z0cL*?yH4;X2}TdN)uN31A%$3$a=4;{S@h#Y(~i%) zc=K7Ggl=&2hYVic*W65gpSPE70pU;FN@3k?BYdNDKv6wlsBAF^);qiqI zhklsX4TaWiC%VbnZ|yqL+Pcc;(#&E*{+Rx&<&R{uTYCn^OD|mAk4%Q7gbbgMnZwE{ zy7QMK%jIjU@ye?0; z;0--&xVeD}m_hq9A8a}c9WkI2YKj8t!Mkk!o%AQ?|CCBL9}n570}OmZ(w)YI6#QS&p<={tcek*D{CPR%eVA1WBGUXf z%gO2vL7iVDr1$!LAW)1@H>GoIl=&yyZ7=*9;wrOYQ}O}u>h}4FWL?N2ivURlUi11- zl{G0fo`9?$iAEN<4kxa#9e0SZPqa{pw?K=tdN5tRc7HDX-~Ta6_+#s9W&d`6PB7dF*G@|!Mc}i zc=9&T+edI(@la}QU2An#wlkJ&7RmTEMhyC_A8hWM54?s1WldCFuBmT5*I3K9=1aj= z6V@93P-lUou`xmB!ATp0(We$?)p*oQs;(Kku15~q9`-LSl{(Efm&@%(zj?aK2;5}P z{6<@-3^k^5FCDT@Z%XABEcuPoumYkiD&)-8z2Q}HO9OVEU3WM;V^$5r4q>h^m73XF z5!hZ7SCjfxDcXyj(({vg8FU(m2_}36L_yR>fnW)u=`1t@mPa76`2@%8v@2@$N@TE` z)kYhGY1jD;B9V=Dv1>BZhR9IJmB?X9Wj99f@MvJ2Fim*R`rsRilvz_3n!nPFLmj({EP!@CGkY5R*Y_dSO{qto~WerlG}DMw9k+n}pk z*nL~7R2gB{_9=zpqX|*vkU-dx)(j+83uvYGP?K{hr*j2pQsfXn<_As6z%-z+wFLqI zMhTkG>2M}#BLIOZ(ya1y8#W<+uUo@(43=^4@?CX{-hAuaJki(_A(uXD(>`lzuM~M;3XA48ZEN@HRV{1nvt?CV)t;|*dow0Ue2`B*iA&!rI`fZQ=b28= z_dxF}iUQ8}nq0SA4NK@^EQ%=)OY;3fC<$goJ&Kp|APQ@qVbS-MtJQBc)^aO8mYFsbhafeRKdHPW&s^&;%>v zlTz`YE}CuQ@_X&mqm{+{!h2r)fPGeM_Ge4RRYQkrma`&G<>RW<>S(?#LJ}O-t)d$< zf}b0svP^Zu@)MqwEV^Fb_j zPYYs~vmEC~cOIE6Nc^@b@nyL!w5o?nQ!$mGq(Pa|1-MD}K0si<&}eag=}WLSDO zE4+eA~!J(K}605x&4 zT72P7J^)Y)b(3g2MZ@1bv%o1ggwU4Yb!DhQ=uu-;vX+Ix8>#y6wgNKuobvrPNx?$3 zI{BbX<=Y-cBtvY&#MpGTgOLYU4W+csqWZx!=AVMb)Z;8%#1*x_(-)teF>45TCRwi1 z)Nn>hy3_lo44n-4A@=L2gI$yXCK0lPmMuldhLxR8aI;VrHIS{Dk}yp= zwjhB6v@0DN=Hnm~3t>`CtnPzvA*Kumfn5OLg&-m&fObRD};c}Hf?n&mS< z%$wztc%kjWjCf-?+q(bZh9k~(gs?i4`XVfqMXvPVkUWfm4+EBF(nOkg!}4u)6I)JT zU6IXqQk?p1a2(bz^S;6ZH3Wy9!JvbiSr7%c$#G1eK2^=~z1WX+VW)CPD#G~)13~pX zErO(>x$J_4qu-)lNlZkLj2}y$OiKn0ad5Imu5p-2dnt)(YI|b7rJ3TBUQ8FB8=&ym50*ibd2NAbj z;JA&hJ$AJlldM+tO;Yl3rBOFiP8fDdF?t(`gkRpmT9inR@uX{bThYNmxx-LN5K8h0 ztS%w*;V%b`%;-NARbNXn9he&AO4$rvmkB#;aaOx?Wk|yBCmN{oMTK&E)`s&APR<-5 z#;_e75z;LJ)gBG~h<^`SGmw<$Z3p`KG|I@7Pd)sTJnouZ1hRvm3}V+#lPGk4b&A#Y z4VSNi8(R1z7-t=L^%;*;iMTIAjrXl;h106hFrR{n9o8vlz?+*a1P{rEZ2ie{luQs} zr6t746>eoqiO5)^y;4H%2~&FT*Qc*9_oC2$+&syHWsA=rn3B~4#QEW zf4GT3i_@)f(Fj}gAZj`7205M8!B&HhmbgyZB& z+COyAVNxql#DwfP;H48Yc+Y~ChV6b9auLnfXXvpjr<~lQ@>VbCpQvWz=lyVf1??_c zAo3C^otZD@(v?X)UX*@w?TF|F8KF>l7%!Dzu+hksSA^akEkx8QD(V(lK+HBCw6C}2onVExW)f$ zncm*HI(_H;jF@)6eu}Tln!t?ynRkcqBA5MitIM@L^(4_Ke}vy7c%$w{(`&7Rn=u>oDM+Z^RUYcbSOPwT(ONyq76R>$V6_M_UP4vs=__I#io{{((| zy5=k=oVr-Qt$FImP~+&sN8rf2UH*vRMpwohPc@9?id17La4weIfBNa>1Djy+1=ugn z@}Zs;eFY1OC}WBDxDF=i=On_33(jWE-QYV)HbQ^VM!n>Ci9_W0Zofz7!m>do@KH;S z4k}FqEAU2)b%B_B-QcPnM5Zh=dQ+4|DJoJwo?)f2nWBuZE@^>a(gP~ObzMuyNJTgJFUPcH`%9UFA(P23iaKgo0)CI!SZ>35LpFaD7 z)C2sW$ltSEYNW%%j8F;yK{iHI2Q^}coF@LX`=EvxZb*_O;2Z0Z5 z7 zlccxmCfCI;_^awp|G748%Wx%?t9Sh8!V9Y(9$B?9R`G)Nd&snX1j+VpuQ@GGk=y(W zK|<$O`Cad`Y4#W3GKXgs%lZduAd1t1<7LwG4*zaStE*S)XXPFDyKdgiaVXG2)LvDn zf}eQ_S(&2!H0Mq1Yt&WpM1!7b#yt_ie7naOfX129_E=)beKj|p1VW9q>>+e$3@G$K zrB%i_TT1DHjOf7IQ8)Wu4#K%ZSCDGMP7Ab|Kvjq7*~@ewPm~h_-8d4jmNH<&mNZC@CI zKxG5O08|@<4(6IEC@L-lcrrvix&_Dj4tBvl=8A}2UX|)~v#V$L22U}UHk`B-1MF(t zU6aVJWR!>Y0@4m0UA%Sq9B5;4hZvsOu=>L`IU4#3r_t}os|vSDVMA??h>QJ1FD1vR z*@rclvfD!Iqoxh>VP+?b9TVH8g@KjYR@rRWQy44A`f6doIi+8VTP~pa%`(Oa@5?=h z8>YxNvA##a3D0)^P|2|+0~f|UsAJV=q(S>eq-dehQ+T>*Q@qN zU8@kdpU5gGk%ozt?%c8oM6neA?GuSsOfU_b1U)uiEP8eRn~>M$p*R z43nSZs@^ahO78s zulbK@@{3=2=@^yZ)DuIC$ki;`2WNbD_#`LOHN9iMsrgzt-T<8aeh z(oXrqI$Kgt6)Icu=?11NWs>{)_ed1wh>)wv6RYNUA-C&bejw{cBE_5Wzeo!AHdTd+ z)d(_IKN7z^n|As~3XS=cCB_TgM7rK;X586re`{~Foml$aKs zb!4Pe7hEP|370EWwn$HKPM!kL94UPZ1%8B^e5fB+=Iw^6=?5n3tZGYjov83CLB&OQ++p)WCMeshCv_9-~G9C_2x`LxTDjUcW$l6e!6-&a^fM3oP9*g(H zmCk0nGt1UMdU#pfg1G0um5|sc|KO<+qU1E4iBF~RvN*+`7uNHH^gu{?nw2DSCjig% zI@ymKZSK=PhHJa(jW&xeApv&JcfSmNJ4uQ|pY=Lcc>=J|{>5Ug3@x#R_b@55xFgfs za^ANzWdD$ZYtFs$d7+oiw0ZmPk2&l|< zc8()wfiJx@EGpQT zG$8iLkQZ-086doF1R zh<#9cz_vRsJdoXbD=QgOtpm}cFAJX8c}>Jew;PQJSXSb^;wlC zxXLHTS|!GZ-VK_4wV<9bk4RUmlsByzW_^b>)$6R+jQ}^wco1nMA`9Lncs;&QGp!`5Tx#aXXU?}5_RrtUY zx(EMzDhl-a^y^f5yfFLMnOO#u)l69&4M?|ne|2EV>zQ}4JQCBel?~2I4?D|>L$%H(peOOII!U}i z-j)*h1rODe9{0`xmhG;`AKqw1p0_KhEIU8)DoGnEn9wAhXPaxO_(jNSij~J5m$P*$ z9Mt(t;eV}2+i|kjQpBFcNb7_(VbuF<;RQB~R~p>2*Lg>a&7DEEuq*I%Ls4{zHeUDq z+M0&YhEn^C*9-B4Q7HJ$xj)dORCXPK+)ZtLOa0o&)Sl+f(Y{p*68$-#yagW5^HQnQ z0pWpoQpxg8<&gx9im(>=x6v#&RbQ7^AsjxeSDA? zi4MEJUC~ByG!PiBjq7$pK&FA^5 z=Y@dtQnuy%IfsaR`TVP0q^3mixl&J-3!$H!ua#{A>0Z1JdLq#d4UV9nlYm641ZHl zH6mK~iI6lR3OUEVL}Z5{ONZ_6{Nk%Bv03ag<1HVN?R%w2^aR5@E>6(r>}IoMl$wRF zWr-DItN*k7T$NTT8B)+23c?171sADhjInb2Xb>GhFYGC&3{b>huvLlaS4O z^{j5q+b5H?Z)yuy%AByaVl2yj9cnalY1sMQ zXI#e%*CLajxGxP!K6xf9RD2pMHOfAa1d^Lr6kE`IBpxOiGXfNcoQ*FI6wsNtLD!T+ zC4r2q>5qz0f}UY^RY#1^0*FPO*Zp-U1h9U|qWjwqJaDB(pZ`<`U-xo7+JB$zvwV}^ z2>$0&Q5k#l|Er7*PPG1ycj4BGz zg&`d*?nUi1Q!OB>{V@T$A;)8@h;*Rb1{xk_8X<34L`s}xkH-rQZvjM`jI=jaJRGRg zeEcjYChf-78|RLrao%4HyZBfnAx5KaE~@Sx+o-2MLJ>j-6uDb!U`odj*=)0k)K75l zo^)8-iz{_k7-_qy{Ko~N#B`n@o#A22YbKiA>0f3k=p-B~XX=`Ug>jl$e7>I=hph0&AK z?ya;(NaKY_!od=tFUcGU5Kwt!c9EPUQLi;JDCT*{90O@Wc>b| zI;&GIY$JlQW^9?R$-OEUG|3sp+hn+TL(YK?S@ZW<4PQa}=IcUAn_wW3d!r#$B}n08 z*&lf(YN21NDJ74DqwV`l`RX(4zJ<(E4D}N0@QaE-hnfdPDku~@yhb^AeZL73RgovX z6=e>!`&e^l@1WA5h!}}PwwL*Gjg!LbC5g0|qb8H$^S{eGs%cc?4vTyVFW=s6KtfW? z@&Xm+E(uz(qDbwDvRQI9DdB<2sW}FYK9sg*f%-i*>*n{t-_wXvg~N7gM|a91B!x|K zyLbJ~6!!JZpZ`#HpCB8g#Q*~VU47Rp$NyZb3WhEgg3ivSwnjGJgi0BEV?!H}Z@QF| zrO`Kx*52;FR#J-V-;`oR-pr!t>bYf)UYcixN=(FUR6$fhN@~i09^3WeP3*)D*`*mJ z1u%klAbzQ=P4s%|FnVTZv%|@(HDB+ap5S#cFSJUSGkyI*Y>9Lwx|0lTs%uhoCW(f1 zi+|a9;vDPfh3nS<7m~wqTM6+pEm(&z-Ll;lFH!w#(Uk#2>Iv~2Hu}lITn7hnOny`~ z*Vj=r<&Nwpq^@g5m`u&QTBRoK*}plAuHg$L$~NO#wF0!*r0OfcS%)k0A??uY*@B^C zJe9WdU(w){rTIf<;rwJt^_35^d<A@$FqEZW6kwyfAo2x0T$Ye2MZox6Z7<%Qbu$}}u{rtE+h2M+Z}T4I zxF1cwJ(Uvp!T#mogWkhb(?SxD4_#tV(Sc8N4Gu*{Fh#})Pvb^ef%jrlnG*&Ie+J5 zsly5oo?1((um&lLDxn(DkYtk`My>lgKTp3Y4?hTQ4_`YNOFtjF-FUY#d#(EQd(rfz zB8z%Vi;?x)ZM$3c>yc5H8KBvSevnWNdCbAj?QCac)6-K~Xz@EZp}~N9q)5*Ufjz3C z6kkOeI{3H(^VO8hKDrVjy2DXd;5wr4nb`19yJi0DO@607MSx+7F$ zz3F7sl8JV@@sM$6`#JmSilqI%Bs)}Py2eFT;TjcG5?8$zwV60b(_5A>b#uk~7U^bO z>y|6SCrP2IGST(8HFuX|XQUXPLt2gL_hm|uj1Ws`O2VW>SyL^uXkl>Zvkcpi?@!F7 z%svLoT@{R#XrIh^*dE~$YhMwC+b7JE09NAS47kT%Ew zD!XjxA@1+KOAyu`H2z#h+pGm!lG>WI0v745l+Fd><3dh{ATq%h?JSdEt zu%J*zfFUx%Tx&0DS5WSbE)vwZSoAGT=;W#(DoiL($BcK;U*w`xA&kheyMLI673HCb7fGkp{_vdV2uo;vSoAH z9BuLM#Vzwt#rJH>58=KXa#O;*)_N{$>l7`umacQ0g$pI3iW4=L--O;Wiq0zy7OKp`j2r^y3`7X!?sq9rr5B{41BkBr1fEd1#Q3 z-dXc2RSb4U>FvpVhlQCIzQ-hs=8420z=7F2F(^xD;^RXgpjlh8S6*xCP#Gj2+Q0bAg?XARw3dnlQ*Lz3vk}m`HXmCgN=?bIL{T zi}Ds-xn|P)dxhraT@XY$ZQ&^%x8y!o+?n#+>+dZ1c{hYwNTNRke@3enT(a@}V*X{! z81+{Jc2UR;+Zcbc6cUlafh4DFKwp>;M}8SGD+YnW3Q_)*9Z_pny_z+MeYQmz?r%EVaN0d!NE*FVPq&U@vo{ef6wkMIDEWLbDs zz91$($XbGnQ?4WHjB~4xgPgKZts{p|g1B{-4##}#c5aL5C6_RJ_(*5>85B1}U!_<``}q-97Q7~u)(&lsb(WT^(*n7H%33%@_b zO5(?-v??s??33b19xiB7t_YT!q8!qAzN1#RD@3;kYAli%kazt#YN7}MhVu=ljuz27 z1`<+g8oVwy57&$`CiHeaM)tz(OSt4E# zJ@P6E*e504oUw~RD(=9WP8QdW^6wRdFbKII!GAWecJ(?{`EzTR@?j!3g?$@LLCt;U={>!9z7DU!(1Jq zqEwdx5q?W1Ncm7mXP8MFwAr?nw5$H%cb>Q><9j{Tk2RY9ngGvaJgWXx^r!ywk{ph- zs2PFto4@IIwBh{oXe;yMZJYlS?3%a-CJ#js90hoh5W5d^OMwCFmpryHFr|mG+*ZP$ zqyS5BW@s}|3xUO0PR<^{a2M(gkP5BDGxvkWkPudSV*TMRK5Qm4?~VuqVAOerffRt$HGAvp;M++Iq$E6alB z;ykBr-eZ6v_H^1Wip56Czj&=`mb^TsX|FPN#-gnlP03AkiJDM=?y|LzER1M93R4sC z*HT(;EV=*F*>!+Z{r!KG?6ODMGvkt3viG=@kQJHNMYd}bS4KrrHf4`&*(0m0R5Hqz zEk)r=sFeS?MZRvn<@Z0&bDw)XkMnw+_xqgp=W{;ioX`6;G-P9N%wfoYJ$-m$L#MC% z^sH?tSzA|WWP(cN3({~_*X$l{M*;1V{l$;T6b){#l4pswDTid26HaXgKed}13YIP= zJRvA3nmx{}R$Lr&S4!kWU3`~dxM}>VXWu6Xd(VP}z1->h&f%82eXD_TuTs@=c;l0T z|LHmWKJ+?7hkY=YM>t}zvb4|lV;!ARMtWFp!E^J=Asu9w&kVF*i{T#}sY++-qnVh! z5TQ|=>)+vutf{&qB+LO9^jm#rD7E5+tcorr^Fn5Xb0B;)f^$7Ev#}G_`r==ea294V z--v4LwjswWlSq9ba6i?IXr8M_VEGQ$H%hCqJTFQ3+1B9tmxDUhnNU%dy4+zbqYJ|o z3!N{b?A@{;cG2~nb-`|z;gEDL5ffF@oc3`R{fGi)0wtMqEkw4tRX3t;LVS3-zAmg^ zgL7Z{hmdPSz9oA@t>tZ1<|Khn&Lp=_!Q=@a?k+t~H&3jN?dr(}7s;{L+jiKY57?WsFBfW^mu6a03_^VKrdK=9egXw@!nzZ3TbYc*osyQNoCXPYoFS<&Nr97MrQCOK(gO8 z;0@iqRTJy4-RH)PJld5`AJN}n?5r^-enKrHQOR;z>UMfm+e8~4ZL5k>oXMiYq12Bx4eVQv0jFgp_zC#``sjZpywYqISMP}VZ@!~1Mf$!x|opj%mQ98JnSk@`~ zPmmyuPZKtZOnEC!1y!?`TYRsZ!II;d!iln}%e}bk5qIiUADERr*K$3dekgHV9TtBX zi5q!J!6Zgd#cLxRmZN^J`o@Zv{+p+<_#8^nvY)44Hw_2i@?R&5n^q33fpOnDg1nPQ z_r<$hURl~OketX|Tdbvf_7=3x^rSFJtEp@tuDpVB&uq)qW;xUQ7mmkr-@eZwa$l+? zoKk``Vz@TH#>jMce*8>@FZ+@BEUdYa_K0i|{*;j9MW3K%pnM*T;@>|o@lMhgLrpZP5aol(z>g;b4}|e$U~Fn zGL%(}p%Jsl4LxE!VW_Y4T>e}W4e#~F03H_^R!Q)kpJG{lO!@I4{mFo^V#ayHh_5~o zB$O71gcE(G@6xv);#Ky?e(Ed}^O+Ho(t=93T9T3TnEY(OVf_dR-gY@jj+iJSY?q|6prBv(S9A4k=2fNZz!W@S=B@~b?TJRTuBQq448@juN#Y=3q=^VCF>Z}n6wICJ<^^Kn8C;mK zZYiFSN#Z$?NDGV7(#}q2tAZAtE63icK-MY>UQu4MWlGIbJ$AF8Zt-jV;@7P5MPI>% zPWvO!t%1+s>-A%`;0^o8Ezeaa4DMwI8ooQrJ;ax@Qt*6XONWw)dPwOPI9@u*EG&844*1~EoZ2qsAe~M>d`;Bc_CWY zMoDKEmDh-}k9d6*<0g@aQmsnrM1H9IcKYZs)><)d92{|0Hh8?~XbF)7U+UmP@Pw_6geVB?7N$4J4*E0z3EO&5kRS(EE zv92(+e5WxLXMN{h;-|8@!Q#0q247hb^3R%*k3MuMO5*L}$0D#5P*N$aHd54C+=_RToYXTyewugOaDmGsCvb4H1s=@gkfVnzTCWKMa-Mm1v4Wq!t-JIrbV&EWwKDe ze#kJpOq#iRlFz%5#6Fio9IUlKnQ#X&DY8Ux#<-WqxAac-y%U_L+EZZ4Rg5*yNg`f< zSZn&uio@zanUCPqX1l4W&B!;UWs#P7B^|4WwoCxQXl|44n^cBNqu=3Vl*ltAqsUQO z9q_@nD0zq0O8r`coEm>9+|rA3HL#l}X;0##>SJS$cVavOZVCpSGf4mUU1( zWaRCUYc^9QbG9=vpWo%xP}CMFnMb{reA`K7tT(t5DM)d9l}jVPY>qoRzT zE3m-p#=i=$9x*CB`AL>SY}u3agYFl#uULNen#&44H;!L@I{RI=PlWxG8J((f)ma7A z@jLvQ>?Nx`n?3ChRG#HqE3MXP8*o3!Qq`+t8EMt_p)oeKHqPusBxPn!#?R??-=e3e zo73WNs_IZF`WLigre=|`aS2^> zN1zn!7k&Dh28t%VpJ%**&E!eAcB5oLjQFFcJQj*URMia%Ya3@q1UQ18=oWMM6`I}iT_&L1gl?*~6nU4q4Z0`H<5yDp(HeZ+RGf9`mM&= zn-qRp%i!g$R;i1d1aMZ{IewNjE@p2+Z{`x{*xL*x$?WV~{BjJpsP&C&JK0HLoyf z`0z^v&fBQSa!I7FU~9MaQ%e|?RP>sM^2PL!mE^Q1Ig_4M$5BRfi72oMYu6Ke?wmDX z@0a%-V|z}b23K=ye(W+fG#w|jJUnT{=KR5jfuq!RX}<1irTDw(${<&}dWQu4;EuE< z@3u4dBkQaCHHM&;cE0z50_V!(vJ1_V)A8?C#eJuLkt!98Z%|Bgzidc0j|z(&o)TCzYlrgZA zC3@i>L!&Gw_~7`>puB97I2lK)lESZQqVXc_8T^G2O#VHhO?IC$g zOYhXJ7)~C<8l|Xrftka@QuowScM{K&0zskoU$Aw~vIRVRF9TEQ4*3=_5)98B`=t8(N%ZuWqmwlW zllAzq=E5_5!sKDXam@w`ZD(nl%LAPxQuEtDcKPqu9LPJvNIITawU#c^PQ2HmZgs)r zH^+gRwZ?0)8IFQgU)+p@0Iqb^tcEoqcB@zhfz_FaOM&_d<|jnU>q5nSKa<@%9|dje zIupcg1!tRiMP4X=oG<7s4|AW&^-Cw4FL9OuI$t zxjc*y;Uw!G7a|jz>E*2+PlR(CemWebS7m-&*CDwnmxbiRqJvQ&os-sC&4OWt^(2@vG4|jui#Df@-D= zh3D%8Y3R6+jRBStSvH9pt&tCI`NK08J1*pC(?OM0h!bS-JK3I}`pDY-fDIaB_*W6KS+TO0Q*%kkeuN6uWITt=TsCGw6uBE710q; zRluI%j{?@jwhM|l5&TB!-TkQs!A=DXRE>u18t@;zndD0M$U@Igrt?UW2; z7%=dsHIVH_LCkGUU0fW&UMjDnvjcc0Mp(mK&;d~ZJ5EJ)#7@aTZvGDFXzFZg2Lq~s z5PR_LazNN)JD5K_uK*Hy{mXuHTkGGv|9V8KP#iQ$3!G*^>7UiE{|1G1A-qg(xH;Xa>&%f|BZkH zG=J^0pHzSAqv5*5ysQ{Puy^-_|IPrii zKS$mE10Zngf>Sgg@BjpRyJbrHeo zD8Ro0LI*W#+9?^xlOS^c>Z^^n^0I|FH^@^`ZR`{H=$ zjO0_$cnpBM7Zcm?H_RXIu-Lu~qweDSV|tEZBZh!e6hQy->}e;d#osZ1hQj{HhHkC0 zJ|F-HKmeTGgDe979ogBz24;@<|I7;TU!IXb@oWMsMECIETmQy`zPtM`|NP}PjzR_u zKMG1Z{%1kWeMfEf(10U#w!clmQ2)JC8zm(Fv!H4dUHQHCFLikID?hrd{0>kCQt?kP zdqn2ZG0}ytcQJ7t_B3s0ZvH3PYjkjQ`Q%;jV@?MK-+z3etBCGGo4f4`y^|AdCs!DH zThTQ;cL5dM{|tB_1y6K3bVa^hx_<9J(}5`2SDz1^0bT!Vm*JV;9~t&{IC{$DUAVV* z{|E=#yN{wNdTY@$6z{_KNA3&%w|vFu1n9XRcM0Ak>`UW!lQ`ah3D4r%}Z diff --git a/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/gradle/wrapper/gradle-wrapper.properties b/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index f398c33c4b0..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip -networkTimeout=10000 -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/gradlew b/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/gradlew deleted file mode 100755 index 79a61d421cc..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/gradlew +++ /dev/null @@ -1,244 +0,0 @@ -#!/bin/sh - -# -# Copyright © 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -# This is normally unused -# shellcheck disable=SC2034 -APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/gradlew.bat b/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/gradlew.bat deleted file mode 100644 index 93e3f59f135..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/gradlew.bat +++ /dev/null @@ -1,92 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/test.py b/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/test.py index 359771ac6c0..d242adbe434 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/compiler_arguments/test.py @@ -1,7 +1,2 @@ -import platform -from create_database_utils import * - -gradle_cmd = "gradlew.bat" if platform.system() == "Windows" else "./gradlew" - -run_codeql_database_create( - ["%s build --no-daemon --no-build-cache" % gradle_cmd], lang="java") +def test(codeql, java_full, gradle_7_6): + codeql.database.create(command=f"{gradle_7_6} build") diff --git a/java/ql/integration-tests/all-platforms/kotlin/default-parameter-mad-flow/test.py b/java/ql/integration-tests/all-platforms/kotlin/default-parameter-mad-flow/test.py index 0ca8a06ffba..55a556d7480 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/default-parameter-mad-flow/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/default-parameter-mad-flow/test.py @@ -1,5 +1,6 @@ -from create_database_utils import * -import subprocess +import commands -subprocess.check_call([get_cmd("kotlinc"), "lib.kt", "-d", "lib"]) -run_codeql_database_create(["kotlinc user.kt -cp lib"], lang="java") + +def test(codeql, java_full): + commands.run("kotlinc lib.kt -d lib") + codeql.database.create(command=["kotlinc user.kt -cp lib"]) diff --git a/java/ql/integration-tests/all-platforms/kotlin/diagnostics/kotlin-version-too-new/test.py b/java/ql/integration-tests/all-platforms/kotlin/diagnostics/kotlin-version-too-new/test.py index 484ea6c0486..04591ac4285 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/diagnostics/kotlin-version-too-new/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/diagnostics/kotlin-version-too-new/test.py @@ -1,11 +1,15 @@ -from create_database_utils import * -from diagnostics_test_utils import * +import commands +import pathlib -import glob -import os.path -os.mkdir('fake-kotlinc-classes') -runSuccessfully(["javac"] + [os.path.relpath(x, "fake-kotlinc-source") for x in glob.glob("fake-kotlinc-source/**/*.java", recursive = True)] + ["-d", "../fake-kotlinc-classes"], cwd = "fake-kotlinc-source") -run_codeql_database_create(["java -cp fake-kotlinc-classes driver.Main"], lang = "java", runFunction = runUnsuccessfully, db = None) - -check_diagnostics() +def test(codeql, java_full): + fake_kotlin_classes = pathlib.Path("fake-kotlinc-classes") + fake_kotlin_classes.mkdir() + for source_file in pathlib.Path("fake-kotlinc-source").rglob("*.java"): + commands.run( + f"javac {source_file.relative_to("fake-kotlinc-source")} -d {fake_kotlin_classes.absolute()}", + _cwd="fake-kotlinc-source", + ) + codeql.database.create( + command=[f"java -cp {fake_kotlin_classes} driver.Main"], _assert_failure=True + ) diff --git a/java/ql/integration-tests/all-platforms/kotlin/enabling/build.py b/java/ql/integration-tests/all-platforms/kotlin/enabling/build.py deleted file mode 100644 index dfbedb6b2c0..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/enabling/build.py +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env python3 - -from create_database_utils import * - -runSuccessfully([get_cmd("kotlinc"), "KotlinDefault.kt"]) -os.environ['CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN'] = 'true' -runSuccessfully([get_cmd("kotlinc"), "KotlinDisabled.kt"]) -del(os.environ['CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN']) -os.environ['CODEQL_EXTRACTOR_JAVA_AGENT_ENABLE_KOTLIN'] = 'true' -runSuccessfully([get_cmd("kotlinc"), "KotlinEnabled.kt"]) diff --git a/java/ql/integration-tests/all-platforms/kotlin/enabling/class.expected b/java/ql/integration-tests/all-platforms/kotlin/enabling/class.expected deleted file mode 100644 index f39ac4aa815..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/enabling/class.expected +++ /dev/null @@ -1,2 +0,0 @@ -| KotlinDefault.kt:1:1:1:22 | KotlinDefault | -| KotlinEnabled.kt:1:1:1:22 | KotlinEnabled | diff --git a/java/ql/integration-tests/all-platforms/kotlin/enabling/class.ql b/java/ql/integration-tests/all-platforms/kotlin/enabling/class.ql deleted file mode 100644 index 35cdaef9da7..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/enabling/class.ql +++ /dev/null @@ -1,5 +0,0 @@ -import java - -from Class c -where c.fromSource() -select c diff --git a/java/ql/integration-tests/all-platforms/kotlin/enabling/source_archive.expected b/java/ql/integration-tests/all-platforms/kotlin/enabling/source_archive.expected new file mode 100644 index 00000000000..08cfe0122ac --- /dev/null +++ b/java/ql/integration-tests/all-platforms/kotlin/enabling/source_archive.expected @@ -0,0 +1,2 @@ +KotlinDefault.kt +KotlinEnabled.kt diff --git a/java/ql/integration-tests/all-platforms/kotlin/enabling/test.py b/java/ql/integration-tests/all-platforms/kotlin/enabling/test.py index 4bcf7ada880..e68741228c3 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/enabling/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/enabling/test.py @@ -1,9 +1,23 @@ -from create_database_utils import * +import os +import commands +from build_fixture import build_fixture -for var in ['CODEQL_EXTRACTOR_JAVA_AGENT_ENABLE_KOTLIN', - 'CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN']: - if var in os.environ: - del(os.environ[var]) -run_codeql_database_create(['"%s" build.py' % sys.executable], lang="java") +@build_fixture +def build(): + commands.run("kotlinc KotlinDefault.kt") + os.environ["CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN"] = "true" + commands.run("kotlinc KotlinDisabled.kt") + del os.environ["CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN"] + os.environ["CODEQL_EXTRACTOR_JAVA_AGENT_ENABLE_KOTLIN"] = "true" + commands.run("kotlinc KotlinEnabled.kt") + +def test(codeql, java_full, build): + for var in [ + "CODEQL_EXTRACTOR_JAVA_AGENT_ENABLE_KOTLIN", + "CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN", + ]: + if var in os.environ: + del os.environ[var] + codeql.database.create(command=build) diff --git a/java/ql/integration-tests/all-platforms/kotlin/enhanced-nullability/test.py b/java/ql/integration-tests/all-platforms/kotlin/enhanced-nullability/test.py index 2afa82ad6a1..acf59c28ec8 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/enhanced-nullability/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/enhanced-nullability/test.py @@ -1,6 +1,9 @@ -from create_database_utils import * -import glob +def test(codeql, java_full, cwd): + java_srcs = [str(s) for s in cwd.glob('*.java')] -os.mkdir('build') -runSuccessfully(["javac"] + glob.glob("*.java") + ["-d", "build"]) -run_codeql_database_create(["javac " + " ".join(glob.glob("*.java")) + " -d build", "kotlinc -language-version 1.9 user.kt -cp build"], lang="java") + codeql.database.create( + command=[ + f"javac {' '.join(java_srcs)} -d {cwd / 'build'}", + "kotlinc -language-version 1.9 user.kt -cp build", + ] + ) diff --git a/java/ql/integration-tests/all-platforms/kotlin/external-property-overloads/test.py b/java/ql/integration-tests/all-platforms/kotlin/external-property-overloads/test.py index 1b71d145323..403f3729d06 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/external-property-overloads/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/external-property-overloads/test.py @@ -1,5 +1,6 @@ -from create_database_utils import * +import commands -os.mkdir('lib') -runSuccessfully([get_cmd("kotlinc"), "-language-version", "1.9", "test.kt", "-d", "lib"]) -run_codeql_database_create(["kotlinc -language-version 1.9 user.kt -cp lib"], lang="java") + +def test(codeql, java_full): + commands.run("kotlinc -language-version 1.9 test.kt -d lib") + codeql.database.create(command="kotlinc -language-version 1.9 user.kt -cp lib") diff --git a/java/ql/integration-tests/all-platforms/kotlin/extractor_crash/code/build.py b/java/ql/integration-tests/all-platforms/kotlin/extractor_crash/code/build.py deleted file mode 100644 index 0c9ff5322ef..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/extractor_crash/code/build.py +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env python3 - -import os -import subprocess - -from create_database_utils import * - -os.environ['CODEQL_KOTLIN_INTERNAL_EXCEPTION_WHILE_EXTRACTING_FILE'] = 'B.kt' - -subprocess.check_call([get_cmd('kotlinc'), 'A.kt', 'B.kt', 'C.kt', ]) diff --git a/java/ql/integration-tests/all-platforms/kotlin/extractor_crash/test.py b/java/ql/integration-tests/all-platforms/kotlin/extractor_crash/test.py index 9abcb43e304..5a51b11c9eb 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/extractor_crash/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/extractor_crash/test.py @@ -1,7 +1,6 @@ -import sys +import os -from create_database_utils import * -run_codeql_database_create( - ['"%s" build.py' % sys.executable], - source="code", lang="java") +def test(codeql, java_full): + os.environ["CODEQL_KOTLIN_INTERNAL_EXCEPTION_WHILE_EXTRACTING_FILE"] = "B.kt" + codeql.database.create(command="kotlinc A.kt B.kt C.kt", source_root="code") diff --git a/java/ql/integration-tests/all-platforms/kotlin/extractor_information_kotlin1/test.py b/java/ql/integration-tests/all-platforms/kotlin/extractor_information_kotlin1/test.py index cb263f2ed20..5a0dc9e072b 100755 --- a/java/ql/integration-tests/all-platforms/kotlin/extractor_information_kotlin1/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/extractor_information_kotlin1/test.py @@ -1,3 +1,2 @@ -from create_database_utils import * - -run_codeql_database_create(["kotlinc -J-Xmx2G -language-version 1.9 SomeClass.kt"], lang="java") +def test(codeql, java_full): + codeql.database.create(command="kotlinc -J-Xmx2G -language-version 1.9 SomeClass.kt") diff --git a/java/ql/integration-tests/all-platforms/kotlin/extractor_information_kotlin2/test.py b/java/ql/integration-tests/all-platforms/kotlin/extractor_information_kotlin2/test.py index 22756afbe49..b5bb5378a23 100755 --- a/java/ql/integration-tests/all-platforms/kotlin/extractor_information_kotlin2/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/extractor_information_kotlin2/test.py @@ -1,3 +1,2 @@ -from create_database_utils import * - -run_codeql_database_create(["kotlinc -J-Xmx2G -language-version 2.0 SomeClass.kt"], lang="java") +def test(codeql, java_full): + codeql.database.create(command="kotlinc -J-Xmx2G -language-version 2.0 SomeClass.kt") diff --git a/java/ql/integration-tests/all-platforms/kotlin/file_classes/test.py b/java/ql/integration-tests/all-platforms/kotlin/file_classes/test.py index c35cb926130..99c21ceb0b8 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/file_classes/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/file_classes/test.py @@ -1,4 +1,6 @@ -from create_database_utils import * +import commands -runSuccessfully([get_cmd("kotlinc"), '-language-version', '1.9', 'A.kt']) -run_codeql_database_create(['kotlinc -cp . -language-version 1.9 B.kt C.kt'], lang="java") + +def test(codeql, java_full): + commands.run("kotlinc -language-version 1.9 A.kt") + codeql.database.create(command="kotlinc -cp . -language-version 1.9 B.kt C.kt") diff --git a/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/.gitattributes b/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/.gitattributes deleted file mode 100644 index 00a51aff5e5..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/.gitattributes +++ /dev/null @@ -1,6 +0,0 @@ -# -# https://help.github.com/articles/dealing-with-line-endings/ -# -# These are explicitly windows files and should use crlf -*.bat text eol=crlf - diff --git a/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/force_sequential_test_execution deleted file mode 100644 index b0e2500b259..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/force_sequential_test_execution +++ /dev/null @@ -1,3 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. diff --git a/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/gradle/wrapper/gradle-wrapper.jar b/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index ccebba7710deaf9f98673a68957ea02138b60d0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61608 zcmb5VV{~QRw)Y#`wrv{~+qP{x72B%VwzFc}c2cp;N~)5ZbDrJayPv(!dGEd-##*zr z)#n-$y^sH|_dchh3@8{H5D*j;5D<{i*8l5IFJ|DjL!e)upfGNX(kojugZ3I`oH1PvW`wFW_ske0j@lB9bX zO;2)`y+|!@X(fZ1<2n!Qx*)_^Ai@Cv-dF&(vnudG?0CsddG_&Wtae(n|K59ew)6St z#dj7_(Cfwzh$H$5M!$UDd8=4>IQsD3xV=lXUq($;(h*$0^yd+b{qq63f0r_de#!o_ zXDngc>zy`uor)4A^2M#U*DC~i+dc<)Tb1Tv&~Ev@oM)5iJ4Sn#8iRw16XXuV50BS7 zdBL5Mefch(&^{luE{*5qtCZk$oFr3RH=H!c3wGR=HJ(yKc_re_X9pD` zJ;uxPzUfVpgU>DSq?J;I@a+10l0ONXPcDkiYcihREt5~T5Gb}sT0+6Q;AWHl`S5dV>lv%-p9l#xNNy7ZCr%cyqHY%TZ8Q4 zbp&#ov1*$#grNG#1vgfFOLJCaNG@K|2!W&HSh@3@Y%T?3YI75bJp!VP*$*!< z;(ffNS_;@RJ`=c7yX04!u3JP*<8jeqLHVJu#WV&v6wA!OYJS4h<_}^QI&97-;=ojW zQ-1t)7wnxG*5I%U4)9$wlv5Fr;cIizft@&N+32O%B{R1POm$oap@&f| zh+5J{>U6ftv|vAeKGc|zC=kO(+l7_cLpV}-D#oUltScw})N>~JOZLU_0{Ka2e1evz z{^a*ZrLr+JUj;)K&u2CoCAXLC2=fVScI(m_p~0FmF>>&3DHziouln?;sxW`NB}cSX z8?IsJB)Z=aYRz!X=yJn$kyOWK%rCYf-YarNqKzmWu$ZvkP12b4qH zhS9Q>j<}(*frr?z<%9hl*i^#@*O2q(Z^CN)c2c z>1B~D;@YpG?G!Yk+*yn4vM4sO-_!&m6+`k|3zd;8DJnxsBYtI;W3We+FN@|tQ5EW= z!VU>jtim0Mw#iaT8t_<+qKIEB-WwE04lBd%Letbml9N!?SLrEG$nmn7&W(W`VB@5S zaY=sEw2}i@F_1P4OtEw?xj4@D6>_e=m=797#hg}f*l^`AB|Y0# z9=)o|%TZFCY$SzgSjS|8AI-%J4x}J)!IMxY3_KYze`_I=c1nmrk@E8c9?MVRu)7+Ue79|)rBX7tVB7U|w4*h(;Gi3D9le49B38`wuv zp7{4X^p+K4*$@gU(Tq3K1a#3SmYhvI42)GzG4f|u zwQFT1n_=n|jpi=70-yE9LA+d*T8u z`=VmmXJ_f6WmZveZPct$Cgu^~gFiyL>Lnpj*6ee>*0pz=t$IJ}+rE zsf@>jlcG%Wx;Cp5x)YSVvB1$yyY1l&o zvwX=D7k)Dn;ciX?Z)Pn8$flC8#m`nB&(8?RSdBvr?>T9?E$U3uIX7T?$v4dWCa46 z+&`ot8ZTEgp7G+c52oHJ8nw5}a^dwb_l%MOh(ebVj9>_koQP^$2B~eUfSbw9RY$_< z&DDWf2LW;b0ZDOaZ&2^i^g+5uTd;GwO(-bbo|P^;CNL-%?9mRmxEw~5&z=X^Rvbo^WJW=n_%*7974RY}JhFv46> zd}`2|qkd;89l}R;i~9T)V-Q%K)O=yfVKNM4Gbacc7AOd>#^&W&)Xx!Uy5!BHnp9kh z`a(7MO6+Ren#>R^D0K)1sE{Bv>}s6Rb9MT14u!(NpZOe-?4V=>qZ>}uS)!y~;jEUK z&!U7Fj&{WdgU#L0%bM}SYXRtM5z!6M+kgaMKt%3FkjWYh=#QUpt$XX1!*XkpSq-pl zhMe{muh#knk{9_V3%qdDcWDv}v)m4t9 zQhv{;} zc{}#V^N3H>9mFM8`i`0p+fN@GqX+kl|M94$BK3J-X`Hyj8r!#x6Vt(PXjn?N)qedP z=o1T^#?1^a{;bZ&x`U{f?}TMo8ToN zkHj5v|}r}wDEi7I@)Gj+S1aE-GdnLN+$hw!=DzglMaj#{qjXi_dwpr|HL(gcCXwGLEmi|{4&4#OZ4ChceA zKVd4K!D>_N=_X;{poT~4Q+!Le+ZV>=H7v1*l%w`|`Dx8{)McN@NDlQyln&N3@bFpV z_1w~O4EH3fF@IzJ9kDk@7@QctFq8FbkbaH7K$iX=bV~o#gfh?2JD6lZf(XP>~DACF)fGFt)X%-h1yY~MJU{nA5 ze2zxWMs{YdX3q5XU*9hOH0!_S24DOBA5usB+Ws$6{|AMe*joJ?RxfV}*7AKN9V*~J zK+OMcE@bTD>TG1*yc?*qGqjBN8mgg@h1cJLDv)0!WRPIkC` zZrWXrceVw;fB%3`6kq=a!pq|hFIsQ%ZSlo~)D z|64!aCnw-?>}AG|*iOl44KVf8@|joXi&|)1rB;EQWgm+iHfVbgllP$f!$Wf42%NO5b(j9Bw6L z;0dpUUK$5GX4QbMlTmLM_jJt!ur`_0~$b#BB7FL*%XFf<b__1o)Ao3rlobbN8-(T!1d-bR8D3S0@d zLI!*GMb5s~Q<&sjd}lBb8Nr0>PqE6_!3!2d(KAWFxa{hm`@u|a(%#i(#f8{BP2wbs zt+N_slWF4IF_O|{w`c~)Xvh&R{Au~CFmW#0+}MBd2~X}t9lz6*E7uAD`@EBDe$>7W zzPUkJx<`f$0VA$=>R57^(K^h86>09?>_@M(R4q($!Ck6GG@pnu-x*exAx1jOv|>KH zjNfG5pwm`E-=ydcb+3BJwuU;V&OS=6yM^4Jq{%AVqnTTLwV`AorIDD}T&jWr8pB&j28fVtk_y*JRP^t@l*($UZ z6(B^-PBNZ+z!p?+e8@$&jCv^EWLb$WO=}Scr$6SM*&~B95El~;W_0(Bvoha|uQ1T< zO$%_oLAwf1bW*rKWmlD+@CP&$ObiDy=nh1b2ejz%LO9937N{LDe7gle4i!{}I$;&Y zkexJ9Ybr+lrCmKWg&}p=`2&Gf10orS?4$VrzWidT=*6{KzOGMo?KI0>GL0{iFWc;C z+LPq%VH5g}6V@-tg2m{C!-$fapJ9y}c$U}aUmS{9#0CM*8pC|sfer!)nG7Ji>mfRh z+~6CxNb>6eWKMHBz-w2{mLLwdA7dA-qfTu^A2yG1+9s5k zcF=le_UPYG&q!t5Zd_*E_P3Cf5T6821bO`daa`;DODm8Ih8k89=RN;-asHIigj`n=ux>*f!OC5#;X5i;Q z+V!GUy0|&Y_*8k_QRUA8$lHP;GJ3UUD08P|ALknng|YY13)}!!HW@0z$q+kCH%xet zlWf@BXQ=b=4}QO5eNnN~CzWBbHGUivG=`&eWK}beuV*;?zt=P#pM*eTuy3 zP}c#}AXJ0OIaqXji78l;YrP4sQe#^pOqwZUiiN6^0RCd#D271XCbEKpk`HI0IsN^s zES7YtU#7=8gTn#lkrc~6)R9u&SX6*Jk4GFX7){E)WE?pT8a-%6P+zS6o&A#ml{$WX zABFz#i7`DDlo{34)oo?bOa4Z_lNH>n;f0nbt$JfAl~;4QY@}NH!X|A$KgMmEsd^&Y zt;pi=>AID7ROQfr;MsMtClr5b0)xo|fwhc=qk33wQ|}$@?{}qXcmECh>#kUQ-If0$ zseb{Wf4VFGLNc*Rax#P8ko*=`MwaR-DQ8L8V8r=2N{Gaips2_^cS|oC$+yScRo*uF zUO|5=?Q?{p$inDpx*t#Xyo6=s?bbN}y>NNVxj9NZCdtwRI70jxvm3!5R7yiWjREEd zDUjrsZhS|P&|Ng5r+f^kA6BNN#|Se}_GF>P6sy^e8kBrgMv3#vk%m}9PCwUWJg-AD zFnZ=}lbi*mN-AOm zCs)r=*YQAA!`e#1N>aHF=bb*z*hXH#Wl$z^o}x##ZrUc=kh%OHWhp=7;?8%Xj||@V?1c ziWoaC$^&04;A|T)!Zd9sUzE&$ODyJaBpvqsw19Uiuq{i#VK1!htkdRWBnb z`{rat=nHArT%^R>u#CjjCkw-7%g53|&7z-;X+ewb?OLWiV|#nuc8mp*LuGSi3IP<<*Wyo9GKV7l0Noa4Jr0g3p_$ z*R9{qn=?IXC#WU>48-k5V2Oc_>P;4_)J@bo1|pf=%Rcbgk=5m)CJZ`caHBTm3%!Z9 z_?7LHr_BXbKKr=JD!%?KhwdYSdu8XxPoA{n8^%_lh5cjRHuCY9Zlpz8g+$f@bw@0V z+6DRMT9c|>1^3D|$Vzc(C?M~iZurGH2pXPT%F!JSaAMdO%!5o0uc&iqHx?ImcX6fI zCApkzc~OOnfzAd_+-DcMp&AOQxE_EsMqKM{%dRMI5`5CT&%mQO?-@F6tE*xL?aEGZ z8^wH@wRl`Izx4sDmU>}Ym{ybUm@F83qqZPD6nFm?t?(7>h*?`fw)L3t*l%*iw0Qu#?$5eq!Qc zpQvqgSxrd83NsdO@lL6#{%lsYXWen~d3p4fGBb7&5xqNYJ)yn84!e1PmPo7ChVd%4 zHUsV0Mh?VpzZD=A6%)Qrd~i7 z96*RPbid;BN{Wh?adeD_p8YU``kOrGkNox3D9~!K?w>#kFz!4lzOWR}puS(DmfjJD z`x0z|qB33*^0mZdM&6$|+T>fq>M%yoy(BEjuh9L0>{P&XJ3enGpoQRx`v6$txXt#c z0#N?b5%srj(4xmPvJxrlF3H%OMB!jvfy z;wx8RzU~lb?h_}@V=bh6p8PSb-dG|-T#A?`c&H2`_!u+uenIZe`6f~A7r)`9m8atC zt(b|6Eg#!Q*DfRU=Ix`#B_dK)nnJ_+>Q<1d7W)eynaVn`FNuN~%B;uO2}vXr5^zi2 z!ifIF5@Zlo0^h~8+ixFBGqtweFc`C~JkSq}&*a3C}L?b5Mh-bW=e)({F_g4O3 zb@SFTK3VD9QuFgFnK4Ve_pXc3{S$=+Z;;4+;*{H}Rc;845rP?DLK6G5Y-xdUKkA6E3Dz&5f{F^FjJQ(NSpZ8q-_!L3LL@H* zxbDF{gd^U3uD;)a)sJwAVi}7@%pRM&?5IaUH%+m{E)DlA_$IA1=&jr{KrhD5q&lTC zAa3c)A(K!{#nOvenH6XrR-y>*4M#DpTTOGQEO5Jr6kni9pDW`rvY*fs|ItV;CVITh z=`rxcH2nEJpkQ^(;1c^hfb8vGN;{{oR=qNyKtR1;J>CByul*+=`NydWnSWJR#I2lN zTvgnR|MBx*XFsfdA&;tr^dYaqRZp*2NwkAZE6kV@1f{76e56eUmGrZ>MDId)oqSWw z7d&r3qfazg+W2?bT}F)4jD6sWaw`_fXZGY&wnGm$FRPFL$HzVTH^MYBHWGCOk-89y zA+n+Q6EVSSCpgC~%uHfvyg@ufE^#u?JH?<73A}jj5iILz4Qqk5$+^U(SX(-qv5agK znUkfpke(KDn~dU0>gdKqjTkVk`0`9^0n_wzXO7R!0Thd@S;U`y)VVP&mOd-2 z(hT(|$=>4FY;CBY9#_lB$;|Wd$aOMT5O_3}DYXEHn&Jrc3`2JiB`b6X@EUOD zVl0S{ijm65@n^19T3l%>*;F(?3r3s?zY{thc4%AD30CeL_4{8x6&cN}zN3fE+x<9; zt2j1RRVy5j22-8U8a6$pyT+<`f+x2l$fd_{qEp_bfxfzu>ORJsXaJn4>U6oNJ#|~p z`*ZC&NPXl&=vq2{Ne79AkQncuxvbOG+28*2wU$R=GOmns3W@HE%^r)Fu%Utj=r9t` zd;SVOnA(=MXgnOzI2@3SGKHz8HN~Vpx&!Ea+Df~`*n@8O=0!b4m?7cE^K*~@fqv9q zF*uk#1@6Re_<^9eElgJD!nTA@K9C732tV~;B`hzZ321Ph=^BH?zXddiu{Du5*IPg} zqDM=QxjT!Rp|#Bkp$(mL)aar)f(dOAXUiw81pX0DC|Y4;>Vz>>DMshoips^8Frdv} zlTD=cKa48M>dR<>(YlLPOW%rokJZNF2gp8fwc8b2sN+i6&-pHr?$rj|uFgktK@jg~ zIFS(%=r|QJ=$kvm_~@n=ai1lA{7Z}i+zj&yzY+!t$iGUy|9jH#&oTNJ;JW-3n>DF+ z3aCOzqn|$X-Olu_p7brzn`uk1F*N4@=b=m;S_C?#hy{&NE#3HkATrg?enaVGT^$qIjvgc61y!T$9<1B@?_ibtDZ{G zeXInVr5?OD_nS_O|CK3|RzzMmu+8!#Zb8Ik;rkIAR%6?$pN@d<0dKD2c@k2quB%s( zQL^<_EM6ow8F6^wJN1QcPOm|ehA+dP(!>IX=Euz5qqIq}Y3;ibQtJnkDmZ8c8=Cf3 zu`mJ!Q6wI7EblC5RvP*@)j?}W=WxwCvF3*5Up_`3*a~z$`wHwCy)2risye=1mSp%p zu+tD6NAK3o@)4VBsM!@);qgsjgB$kkCZhaimHg&+k69~drbvRTacWKH;YCK(!rC?8 zP#cK5JPHSw;V;{Yji=55X~S+)%(8fuz}O>*F3)hR;STU`z6T1aM#Wd+FP(M5*@T1P z^06O;I20Sk!bxW<-O;E081KRdHZrtsGJflFRRFS zdi5w9OVDGSL3 zNrC7GVsGN=b;YH9jp8Z2$^!K@h=r-xV(aEH@#JicPy;A0k1>g1g^XeR`YV2HfmqXY zYbRwaxHvf}OlCAwHoVI&QBLr5R|THf?nAevV-=~V8;gCsX>jndvNOcFA+DI+zbh~# zZ7`qNk&w+_+Yp!}j;OYxIfx_{f0-ONc?mHCiCUak=>j>~>YR4#w# zuKz~UhT!L~GfW^CPqG8Lg)&Rc6y^{%3H7iLa%^l}cw_8UuG;8nn9)kbPGXS}p3!L_ zd#9~5CrH8xtUd?{d2y^PJg+z(xIfRU;`}^=OlehGN2=?}9yH$4Rag}*+AWotyxfCJ zHx=r7ZH>j2kV?%7WTtp+-HMa0)_*DBBmC{sd$)np&GEJ__kEd`xB5a2A z*J+yx>4o#ZxwA{;NjhU*1KT~=ZK~GAA;KZHDyBNTaWQ1+;tOFFthnD)DrCn`DjBZ% zk$N5B4^$`n^jNSOr=t(zi8TN4fpaccsb`zOPD~iY=UEK$0Y70bG{idLx@IL)7^(pL z{??Bnu=lDeguDrd%qW1)H)H`9otsOL-f4bSu};o9OXybo6J!Lek`a4ff>*O)BDT_g z<6@SrI|C9klY(>_PfA^qai7A_)VNE4c^ZjFcE$Isp>`e5fLc)rg@8Q_d^Uk24$2bn z9#}6kZ2ZxS9sI(RqT7?El2@B+($>eBQrNi_k#CDJ8D9}8$mmm z4oSKO^F$i+NG)-HE$O6s1--6EzJa?C{x=QgK&c=)b(Q9OVoAXYEEH20G|q$}Hue%~ zO3B^bF=t7t48sN zWh_zA`w~|){-!^g?6Mqf6ieV zFx~aPUOJGR=4{KsW7I?<=J2|lY`NTU=lt=%JE9H1vBpkcn=uq(q~=?iBt_-r(PLBM zP-0dxljJO>4Wq-;stY)CLB4q`-r*T$!K2o}?E-w_i>3_aEbA^MB7P5piwt1dI-6o!qWCy0 ztYy!x9arGTS?kabkkyv*yxvsPQ7Vx)twkS6z2T@kZ|kb8yjm+^$|sEBmvACeqbz)RmxkkDQX-A*K!YFziuhwb|ym>C$}U|J)4y z$(z#)GH%uV6{ec%Zy~AhK|+GtG8u@c884Nq%w`O^wv2#A(&xH@c5M`Vjk*SR_tJnq z0trB#aY)!EKW_}{#L3lph5ow=@|D5LzJYUFD6 z7XnUeo_V0DVSIKMFD_T0AqAO|#VFDc7c?c-Q%#u00F%!_TW1@JVnsfvm@_9HKWflBOUD~)RL``-!P;(bCON_4eVdduMO>?IrQ__*zE@7(OX zUtfH@AX*53&xJW*Pu9zcqxGiM>xol0I~QL5B%Toog3Jlenc^WbVgeBvV8C8AX^Vj& z^I}H})B=VboO%q1;aU5ACMh{yK4J;xlMc`jCnZR^!~LDs_MP&8;dd@4LDWw~*>#OT zeZHwdQWS!tt5MJQI~cw|Ka^b4c|qyd_ly(+Ql2m&AAw^ zQeSXDOOH!!mAgzAp0z)DD>6Xo``b6QwzUV@w%h}Yo>)a|xRi$jGuHQhJVA%>)PUvK zBQ!l0hq<3VZ*RnrDODP)>&iS^wf64C;MGqDvx>|p;35%6(u+IHoNbK z;Gb;TneFo*`zUKS6kwF*&b!U8e5m4YAo03a_e^!5BP42+r)LFhEy?_7U1IR<; z^0v|DhCYMSj<-;MtY%R@Fg;9Kky^pz_t2nJfKWfh5Eu@_l{^ph%1z{jkg5jQrkvD< z#vdK!nku*RrH~TdN~`wDs;d>XY1PH?O<4^U4lmA|wUW{Crrv#r%N>7k#{Gc44Fr|t z@UZP}Y-TrAmnEZ39A*@6;ccsR>)$A)S>$-Cj!=x$rz7IvjHIPM(TB+JFf{ehuIvY$ zsDAwREg*%|=>Hw$`us~RP&3{QJg%}RjJKS^mC_!U;E5u>`X`jW$}P`Mf}?7G7FX#{ zE(9u1SO;3q@ZhDL9O({-RD+SqqPX)`0l5IQu4q)49TUTkxR(czeT}4`WV~pV*KY&i zAl3~X%D2cPVD^B43*~&f%+Op)wl<&|D{;=SZwImydWL6@_RJjxP2g)s=dH)u9Npki zs~z9A+3fj0l?yu4N0^4aC5x)Osnm0qrhz@?nwG_`h(71P znbIewljU%T*cC=~NJy|)#hT+lx#^5MuDDnkaMb*Efw9eThXo|*WOQzJ*#3dmRWm@! zfuSc@#kY{Um^gBc^_Xdxnl!n&y&}R4yAbK&RMc+P^Ti;YIUh|C+K1|=Z^{nZ}}rxH*v{xR!i%qO~o zTr`WDE@k$M9o0r4YUFFeQO7xCu_Zgy)==;fCJ94M_rLAv&~NhfvcLWCoaGg2ao~3e zBG?Ms9B+efMkp}7BhmISGWmJsKI@a8b}4lLI48oWKY|8?zuuNc$lt5Npr+p7a#sWu zh!@2nnLBVJK!$S~>r2-pN||^w|fY`CT{TFnJy`B|e5;=+_v4l8O-fkN&UQbA4NKTyntd zqK{xEKh}U{NHoQUf!M=2(&w+eef77VtYr;xs%^cPfKLObyOV_9q<(%76-J%vR>w9!us-0c-~Y?_EVS%v!* z15s2s3eTs$Osz$JayyH|5nPAIPEX=U;r&p;K14G<1)bvn@?bM5kC{am|C5%hyxv}a z(DeSKI5ZfZ1*%dl8frIX2?);R^^~LuDOpNpk-2R8U1w92HmG1m&|j&J{EK=|p$;f9 z7Rs5|jr4r8k5El&qcuM+YRlKny%t+1CgqEWO>3;BSRZi(LA3U%Jm{@{y+A+w(gzA< z7dBq6a1sEWa4cD0W7=Ld9z0H7RI^Z7vl(bfA;72j?SWCo`#5mVC$l1Q2--%V)-uN* z9ha*s-AdfbDZ8R8*fpwjzx=WvOtmSzGFjC#X)hD%Caeo^OWjS(3h|d9_*U)l%{Ab8 zfv$yoP{OuUl@$(-sEVNt{*=qi5P=lpxWVuz2?I7Dc%BRc+NGNw+323^ z5BXGfS71oP^%apUo(Y#xkxE)y?>BFzEBZ}UBbr~R4$%b7h3iZu3S(|A;&HqBR{nK& z$;GApNnz=kNO^FL&nYcfpB7Qg;hGJPsCW44CbkG1@l9pn0`~oKy5S777uH)l{irK!ru|X+;4&0D;VE*Ii|<3P zUx#xUqvZT5kVQxsF#~MwKnv7;1pR^0;PW@$@T7I?s`_rD1EGUdSA5Q(C<>5SzE!vw z;{L&kKFM-MO>hy#-8z`sdVx})^(Dc-dw;k-h*9O2_YZw}|9^y-|8RQ`BWJUJL(Cer zP5Z@fNc>pTXABbTRY-B5*MphpZv6#i802giwV&SkFCR zGMETyUm(KJbh+&$8X*RB#+{surjr;8^REEt`2&Dubw3$mx>|~B5IKZJ`s_6fw zKAZx9&PwBqW1Oz0r0A4GtnZd7XTKViX2%kPfv+^X3|_}RrQ2e3l=KG_VyY`H?I5&CS+lAX5HbA%TD9u6&s#v!G> zzW9n4J%d5ye7x0y`*{KZvqyXUfMEE^ZIffzI=Hh|3J}^yx7eL=s+TPH(Q2GT-sJ~3 zI463C{(ag7-hS1ETtU;_&+49ABt5!A7CwLwe z=SoA8mYZIQeU;9txI=zcQVbuO%q@E)JI+6Q!3lMc=Gbj(ASg-{V27u>z2e8n;Nc*pf}AqKz1D>p9G#QA+7mqqrEjGfw+85Uyh!=tTFTv3|O z+)-kFe_8FF_EkTw!YzwK^Hi^_dV5x-Ob*UWmD-})qKj9@aE8g240nUh=g|j28^?v7 zHRTBo{0KGaWBbyX2+lx$wgXW{3aUab6Bhm1G1{jTC7ota*JM6t+qy)c5<@ zpc&(jVdTJf(q3xB=JotgF$X>cxh7k*(T`-V~AR+`%e?YOeALQ2Qud( zz35YizXt(aW3qndR}fTw1p()Ol4t!D1pitGNL95{SX4ywzh0SF;=!wf=?Q?_h6!f* zh7<+GFi)q|XBsvXZ^qVCY$LUa{5?!CgwY?EG;*)0ceFe&=A;!~o`ae}Z+6me#^sv- z1F6=WNd6>M(~ z+092z>?Clrcp)lYNQl9jN-JF6n&Y0mp7|I0dpPx+4*RRK+VQI~>en0Dc;Zfl+x z_e_b7s`t1_A`RP3$H}y7F9_na%D7EM+**G_Z0l_nwE+&d_kc35n$Fxkd4r=ltRZhh zr9zER8>j(EdV&Jgh(+i}ltESBK62m0nGH6tCBr90!4)-`HeBmz54p~QP#dsu%nb~W z7sS|(Iydi>C@6ZM(Us!jyIiszMkd)^u<1D+R@~O>HqZIW&kearPWmT>63%_t2B{_G zX{&a(gOYJx!Hq=!T$RZ&<8LDnxsmx9+TBL0gTk$|vz9O5GkK_Yx+55^R=2g!K}NJ3 zW?C;XQCHZl7H`K5^BF!Q5X2^Mj93&0l_O3Ea3!Ave|ixx+~bS@Iv18v2ctpSt4zO{ zp#7pj!AtDmti$T`e9{s^jf(ku&E|83JIJO5Qo9weT6g?@vX!{7)cNwymo1+u(YQ94 zopuz-L@|5=h8A!(g-MXgLJC0MA|CgQF8qlonnu#j z;uCeq9ny9QSD|p)9sp3ebgY3rk#y0DA(SHdh$DUm^?GI<>%e1?&}w(b zdip1;P2Z=1wM+$q=TgLP$}svd!vk+BZ@h<^4R=GS2+sri7Z*2f`9 z5_?i)xj?m#pSVchk-SR!2&uNhzEi+#5t1Z$o0PoLGz*pT64%+|Wa+rd5Z}60(j?X= z{NLjtgRb|W?CUADqOS@(*MA-l|E342NxRaxLTDqsOyfWWe%N(jjBh}G zm7WPel6jXijaTiNita+z(5GCO0NM=Melxud57PP^d_U## zbA;9iVi<@wr0DGB8=T9Ab#2K_#zi=$igyK48@;V|W`fg~7;+!q8)aCOo{HA@vpSy-4`^!ze6-~8|QE||hC{ICKllG9fbg_Y7v z$jn{00!ob3!@~-Z%!rSZ0JO#@>|3k10mLK0JRKP-Cc8UYFu>z93=Ab-r^oL2 zl`-&VBh#=-?{l1TatC;VweM^=M7-DUE>m+xO7Xi6vTEsReyLs8KJ+2GZ&rxw$d4IT zPXy6pu^4#e;;ZTsgmG+ZPx>piodegkx2n0}SM77+Y*j^~ICvp#2wj^BuqRY*&cjmL zcKp78aZt>e{3YBb4!J_2|K~A`lN=u&5j!byw`1itV(+Q_?RvV7&Z5XS1HF)L2v6ji z&kOEPmv+k_lSXb{$)of~(BkO^py&7oOzpjdG>vI1kcm_oPFHy38%D4&A4h_CSo#lX z2#oqMCTEP7UvUR3mwkPxbl8AMW(e{ARi@HCYLPSHE^L<1I}OgZD{I#YH#GKnpRmW3 z2jkz~Sa(D)f?V?$gNi?6)Y;Sm{&?~2p=0&BUl_(@hYeX8YjaRO=IqO7neK0RsSNdYjD zaw$g2sG(>JR=8Iz1SK4`*kqd_3-?;_BIcaaMd^}<@MYbYisWZm2C2|Np_l|8r9yM|JkUngSo@?wci(7&O9a z%|V(4C1c9pps0xxzPbXH=}QTxc2rr7fXk$9`a6TbWKPCz&p=VsB8^W96W=BsB|7bc zf(QR8&Ktj*iz)wK&mW`#V%4XTM&jWNnDF56O+2bo<3|NyUhQ%#OZE8$Uv2a@J>D%t zMVMiHh?es!Ex19q&6eC&L=XDU_BA&uR^^w>fpz2_`U87q_?N2y;!Z!bjoeKrzfC)} z?m^PM=(z{%n9K`p|7Bz$LuC7!>tFOuN74MFELm}OD9?%jpT>38J;=1Y-VWtZAscaI z_8jUZ#GwWz{JqvGEUmL?G#l5E=*m>`cY?m*XOc*yOCNtpuIGD+Z|kn4Xww=BLrNYS zGO=wQh}Gtr|7DGXLF%|`G>J~l{k^*{;S-Zhq|&HO7rC_r;o`gTB7)uMZ|WWIn@e0( zX$MccUMv3ABg^$%_lNrgU{EVi8O^UyGHPNRt%R!1#MQJn41aD|_93NsBQhP80yP<9 zG4(&0u7AtJJXLPcqzjv`S~5;Q|5TVGccN=Uzm}K{v)?f7W!230C<``9(64}D2raRU zAW5bp%}VEo{4Rko`bD%Ehf=0voW?-4Mk#d3_pXTF!-TyIt6U+({6OXWVAa;s-`Ta5 zTqx&8msH3+DLrVmQOTBOAj=uoxKYT3DS1^zBXM?1W+7gI!aQNPYfUl{3;PzS9*F7g zWJN8x?KjBDx^V&6iCY8o_gslO16=kh(|Gp)kz8qlQ`dzxQv;)V&t+B}wwdi~uBs4? zu~G|}y!`3;8#vIMUdyC7YEx6bb^1o}G!Jky4cN?BV9ejBfN<&!4M)L&lRKiuMS#3} z_B}Nkv+zzxhy{dYCW$oGC&J(Ty&7%=5B$sD0bkuPmj7g>|962`(Q{ZZMDv%YMuT^KweiRDvYTEop3IgFv#)(w>1 zSzH>J`q!LK)c(AK>&Ib)A{g`Fdykxqd`Yq@yB}E{gnQV$K!}RsgMGWqC3DKE(=!{}ekB3+(1?g}xF>^icEJbc z5bdxAPkW90atZT+&*7qoLqL#p=>t-(-lsnl2XMpZcYeW|o|a322&)yO_8p(&Sw{|b zn(tY$xn5yS$DD)UYS%sP?c|z>1dp!QUD)l;aW#`%qMtQJjE!s2z`+bTSZmLK7SvCR z=@I4|U^sCwZLQSfd*ACw9B@`1c1|&i^W_OD(570SDLK`MD0wTiR8|$7+%{cF&){$G zU~|$^Ed?TIxyw{1$e|D$050n8AjJvvOWhLtLHbSB|HIfjMp+gu>DraHZJRrdO53(= z+o-f{+qNog+qSLB%KY;5>Av6X(>-qYk3IIEwZ5~6a+P9lMpC^ z8CJ0q>rEpjlsxCvJm=kms@tlN4+sv}He`xkr`S}bGih4t`+#VEIt{1veE z{ZLtb_pSbcfcYPf4=T1+|BtR!x5|X#x2TZEEkUB6kslKAE;x)*0x~ES0kl4Dex4e- zT2P~|lT^vUnMp{7e4OExfxak0EE$Hcw;D$ehTV4a6hqxru0$|Mo``>*a5=1Ym0u>BDJKO|=TEWJ5jZu!W}t$Kv{1!q`4Sn7 zrxRQOt>^6}Iz@%gA3&=5r;Lp=N@WKW;>O!eGIj#J;&>+3va^~GXRHCY2}*g#9ULab zitCJt-OV0*D_Q3Q`p1_+GbPxRtV_T`jyATjax<;zZ?;S+VD}a(aN7j?4<~>BkHK7bO8_Vqfdq1#W&p~2H z&w-gJB4?;Q&pG9%8P(oOGZ#`!m>qAeE)SeL*t8KL|1oe;#+uOK6w&PqSDhw^9-&Fa zuEzbi!!7|YhlWhqmiUm!muO(F8-F7|r#5lU8d0+=;<`{$mS=AnAo4Zb^{%p}*gZL! zeE!#-zg0FWsSnablw!9$<&K(#z!XOW z;*BVx2_+H#`1b@>RtY@=KqD)63brP+`Cm$L1@ArAddNS1oP8UE$p05R=bvZoYz+^6 z<)!v7pRvi!u_-V?!d}XWQR1~0q(H3{d^4JGa=W#^Z<@TvI6J*lk!A zZ*UIKj*hyO#5akL*Bx6iPKvR3_2-^2mw|Rh-3O_SGN3V9GRo52Q;JnW{iTGqb9W99 z7_+F(Op6>~3P-?Q8LTZ-lwB}xh*@J2Ni5HhUI3`ct|*W#pqb>8i*TXOLn~GlYECIj zhLaa_rBH|1jgi(S%~31Xm{NB!30*mcsF_wgOY2N0XjG_`kFB+uQuJbBm3bIM$qhUyE&$_u$gb zpK_r{99svp3N3p4yHHS=#csK@j9ql*>j0X=+cD2dj<^Wiu@i>c_v zK|ovi7}@4sVB#bzq$n3`EgI?~xDmkCW=2&^tD5RuaSNHf@Y!5C(Is$hd6cuyoK|;d zO}w2AqJPS`Zq+(mc*^%6qe>1d&(n&~()6-ZATASNPsJ|XnxelLkz8r1x@c2XS)R*H(_B=IN>JeQUR;T=i3<^~;$<+8W*eRKWGt7c#>N`@;#!`kZ!P!&{9J1>_g8Zj zXEXxmA=^{8A|3=Au+LfxIWra)4p<}1LYd_$1KI0r3o~s1N(x#QYgvL4#2{z8`=mXy zQD#iJ0itk1d@Iy*DtXw)Wz!H@G2St?QZFz zVPkM%H8Cd2EZS?teQN*Ecnu|PrC!a7F_XX}AzfZl3fXfhBtc2-)zaC2eKx*{XdM~QUo4IwcGgVdW69 z1UrSAqqMALf^2|(I}hgo38l|Ur=-SC*^Bo5ej`hb;C$@3%NFxx5{cxXUMnTyaX{>~ zjL~xm;*`d08bG_K3-E+TI>#oqIN2=An(C6aJ*MrKlxj?-;G zICL$hi>`F%{xd%V{$NhisHSL~R>f!F7AWR&7b~TgLu6!3s#~8|VKIX)KtqTH5aZ8j zY?wY)XH~1_a3&>#j7N}0az+HZ;is;Zw(Am{MX}YhDTe(t{ZZ;TG}2qWYO+hdX}vp9 z@uIRR8g#y~-^E`Qyem(31{H0&V?GLdq9LEOb2(ea#e-$_`5Q{T%E?W(6 z(XbX*Ck%TQM;9V2LL}*Tf`yzai{0@pYMwBu%(I@wTY!;kMrzcfq0w?X`+y@0ah510 zQX5SU(I!*Fag4U6a7Lw%LL;L*PQ}2v2WwYF(lHx_Uz2ceI$mnZ7*eZ?RFO8UvKI0H z9Pq-mB`mEqn6n_W9(s~Jt_D~j!Ln9HA)P;owD-l~9FYszs)oEKShF9Zzcmnb8kZ7% zQ`>}ki1kwUO3j~ zEmh140sOkA9v>j@#56ymn_RnSF`p@9cO1XkQy6_Kog?0ivZDb`QWOX@tjMd@^Qr(p z!sFN=A)QZm!sTh(#q%O{Ovl{IxkF!&+A)w2@50=?a-+VuZt6On1;d4YtUDW{YNDN_ zG@_jZi1IlW8cck{uHg^g=H58lPQ^HwnybWy@@8iw%G! zwB9qVGt_?~M*nFAKd|{cGg+8`+w{j_^;nD>IrPf-S%YjBslSEDxgKH{5p)3LNr!lD z4ii)^%d&cCXIU7UK?^ZQwmD(RCd=?OxmY(Ko#+#CsTLT;p#A%{;t5YpHFWgl+@)N1 zZ5VDyB;+TN+g@u~{UrWrv)&#u~k$S&GeW)G{M#&Di)LdYk?{($Cq zZGMKeYW)aMtjmKgvF0Tg>Mmkf9IB#2tYmH-s%D_9y3{tfFmX1BSMtbe<(yqAyWX60 zzkgSgKb3c{QPG2MalYp`7mIrYg|Y<4Jk?XvJK)?|Ecr+)oNf}XLPuTZK%W>;<|r+% zTNViRI|{sf1v7CsWHvFrkQ$F7+FbqPQ#Bj7XX=#M(a~9^80}~l-DueX#;b}Ajn3VE z{BWI}$q{XcQ3g{(p>IOzFcAMDG0xL)H%wA)<(gl3I-oVhK~u_m=hAr&oeo|4lZbf} z+pe)c34Am<=z@5!2;_lwya;l?xV5&kWe}*5uBvckm(d|7R>&(iJNa6Y05SvlZcWBlE{{%2- z`86)Y5?H!**?{QbzGG~|k2O%eA8q=gxx-3}&Csf6<9BsiXC)T;x4YmbBIkNf;0Nd5 z%whM^!K+9zH>on_<&>Ws?^v-EyNE)}4g$Fk?Z#748e+GFp)QrQQETx@u6(1fk2!(W zWiCF~MomG*y4@Zk;h#2H8S@&@xwBIs|82R*^K(i*0MTE%Rz4rgO&$R zo9Neb;}_ulaCcdn3i17MO3NxzyJ=l;LU*N9ztBJ30j=+?6>N4{9YXg$m=^9@Cl9VY zbo^{yS@gU=)EpQ#;UIQBpf&zfCA;00H-ee=1+TRw@(h%W=)7WYSb5a%$UqNS@oI@= zDrq|+Y9e&SmZrH^iA>Of8(9~Cf-G(P^5Xb%dDgMMIl8gk6zdyh`D3OGNVV4P9X|EvIhplXDld8d z^YWtYUz@tpg*38Xys2?zj$F8%ivA47cGSl;hjD23#*62w3+fwxNE7M7zVK?x_`dBSgPK zWY_~wF~OEZi9|~CSH8}Xi>#8G73!QLCAh58W+KMJJC81{60?&~BM_0t-u|VsPBxn* zW7viEKwBBTsn_A{g@1!wnJ8@&h&d>!qAe+j_$$Vk;OJq`hrjzEE8Wjtm)Z>h=*M25 zOgETOM9-8xuuZ&^@rLObtcz>%iWe%!uGV09nUZ*nxJAY%&KAYGY}U1WChFik7HIw% zZP$3Bx|TG_`~19XV7kfi2GaBEhKap&)Q<9`aPs#^!kMjtPb|+-fX66z3^E)iwyXK7 z8)_p<)O{|i&!qxtgBvWXx8*69WO$5zACl++1qa;)0zlXf`eKWl!0zV&I`8?sG)OD2Vy?reNN<{eK+_ za4M;Hh%&IszR%)&gpgRCP}yheQ+l#AS-GnY81M!kzhWxIR?PW`G3G?} z$d%J28uQIuK@QxzGMKU_;r8P0+oIjM+k)&lZ39i#(ntY)*B$fdJnQ3Hw3Lsi8z&V+ zZly2}(Uzpt2aOubRjttzqrvinBFH4jrN)f0hy)tj4__UTwN)#1fj3-&dC_Vh7}ri* zfJ=oqLMJ-_<#rwVyN}_a-rFBe2>U;;1(7UKH!$L??zTbbzP#bvyg7OQBGQklJ~DgP zd<1?RJ<}8lWwSL)`jM53iG+}y2`_yUvC!JkMpbZyb&50V3sR~u+lok zT0uFRS-yx@8q4fPRZ%KIpLp8R#;2%c&Ra4p(GWRT4)qLaPNxa&?8!LRVdOUZ)2vrh zBSx&kB%#Y4!+>~)<&c>D$O}!$o{<1AB$M7-^`h!eW;c(3J~ztoOgy6Ek8Pwu5Y`Xion zFl9fb!k2`3uHPAbd(D^IZmwR5d8D$495nN2`Ue&`W;M-nlb8T-OVKt|fHk zBpjX$a(IR6*-swdNk@#}G?k6F-~c{AE0EWoZ?H|ZpkBxqU<0NUtvubJtwJ1mHV%9v?GdDw; zAyXZiD}f0Zdt-cl9(P1la+vQ$Er0~v}gYJVwQazv zH#+Z%2CIfOf90fNMGos|{zf&N`c0@x0N`tkFv|_9af3~<0z@mnf*e;%r*Fbuwl-IW z{}B3=(mJ#iwLIPiUP`J3SoP~#)6v;aRXJ)A-pD2?_2_CZ#}SAZ<#v7&Vk6{*i(~|5 z9v^nC`T6o`CN*n%&9+bopj^r|E(|pul;|q6m7Tx+U|UMjWK8o-lBSgc3ZF=rP{|l9 zc&R$4+-UG6i}c==!;I#8aDIbAvgLuB66CQLRoTMu~jdw`fPlKy@AKYWS-xyZzPg&JRAa@m-H43*+ne!8B7)HkQY4 zIh}NL4Q79a-`x;I_^>s$Z4J4-Ngq=XNWQ>yAUCoe&SMAYowP>r_O}S=V+3=3&(O=h zNJDYNs*R3Y{WLmBHc?mFEeA4`0Y`_CN%?8qbDvG2m}kMAiqCv`_BK z_6a@n`$#w6Csr@e2YsMx8udNWtNt=kcqDZdWZ-lGA$?1PA*f4?X*)hjn{sSo8!bHz zb&lGdAgBx@iTNPK#T_wy`KvOIZvTWqSHb=gWUCKXAiB5ckQI`1KkPx{{%1R*F2)Oc z(9p@yG{fRSWE*M9cdbrO^)8vQ2U`H6M>V$gK*rz!&f%@3t*d-r3mSW>D;wYxOhUul zk~~&ip5B$mZ~-F1orsq<|1bc3Zpw6)Ws5;4)HilsN;1tx;N6)tuePw& z==OlmaN*ybM&-V`yt|;vDz(_+UZ0m&&9#{9O|?0I|4j1YCMW;fXm}YT$0%EZ5^YEI z4i9WV*JBmEU{qz5O{#bs`R1wU%W$qKx?bC|e-iS&d*Qm7S=l~bMT{~m3iZl+PIXq{ zn-c~|l)*|NWLM%ysfTV-oR0AJ3O>=uB-vpld{V|cWFhI~sx>ciV9sPkC*3i0Gg_9G!=4ar*-W?D9)?EFL1=;O+W8}WGdp8TT!Fgv z{HKD`W>t(`Cds_qliEzuE!r{ihwEv1l5o~iqlgjAyGBi)$%zNvl~fSlg@M=C{TE;V zQkH`zS8b&!ut(m)%4n2E6MB>p*4(oV>+PT51#I{OXs9j1vo>9I<4CL1kv1aurV*AFZ^w_qfVL*G2rG@D2 zrs87oV3#mf8^E5hd_b$IXfH6vHe&lm@7On~Nkcq~YtE!}ad~?5*?X*>y`o;6Q9lkk zmf%TYonZM`{vJg$`lt@MXsg%*&zZZ0uUSse8o=!=bfr&DV)9Y6$c!2$NHyYAQf*Rs zk{^?gl9E z5Im8wlAsvQ6C2?DyG@95gUXZ3?pPijug25g;#(esF_~3uCj3~94}b*L>N2GSk%Qst z=w|Z>UX$m!ZOd(xV*2xvWjN&c5BVEdVZ0wvmk)I+YxnyK%l~caR=7uNQ=+cnNTLZ@&M!I$Mj-r{!P=; z`C2)D=VmvK8@T5S9JZoRtN!S*D_oqOxyy!q6Zk|~4aT|*iRN)fL)c>-yycR>-is0X zKrko-iZw(f(!}dEa?hef5yl%p0-v-8#8CX8!W#n2KNyT--^3hq6r&`)5Y@>}e^4h- zlPiDT^zt}Ynk&x@F8R&=)k8j$=N{w9qUcIc&)Qo9u4Y(Ae@9tA`3oglxjj6c{^pN( zQH+Uds2=9WKjH#KBIwrQI%bbs`mP=7V>rs$KG4|}>dxl_k!}3ZSKeEen4Iswt96GGw`E6^5Ov)VyyY}@itlj&sao|>Sb5 zeY+#1EK(}iaYI~EaHQkh7Uh>DnzcfIKv8ygx1Dv`8N8a6m+AcTa-f;17RiEed>?RT zk=dAksmFYPMV1vIS(Qc6tUO+`1jRZ}tcDP? zt)=7B?yK2RcAd1+Y!$K5*ds=SD;EEqCMG6+OqPoj{&8Y5IqP(&@zq@=A7+X|JBRi4 zMv!czlMPz)gt-St2VZwDD=w_S>gRpc-g zUd*J3>bXeZ?Psjohe;z7k|d<*T21PA1i)AOi8iMRwTBSCd0ses{)Q`9o&p9rsKeLaiY zluBw{1r_IFKR76YCAfl&_S1*(yFW8HM^T()&p#6y%{(j7Qu56^ZJx1LnN`-RTwimdnuo*M8N1ISl+$C-%=HLG-s} zc99>IXRG#FEWqSV9@GFW$V8!{>=lSO%v@X*pz*7()xb>=yz{E$3VE;e)_Ok@A*~El zV$sYm=}uNlUxV~6e<6LtYli1!^X!Ii$L~j4e{sI$tq_A(OkGquC$+>Rw3NFObV2Z)3Rt~Jr{oYGnZaFZ^g5TDZlg;gaeIP} z!7;T{(9h7mv{s@piF{-35L=Ea%kOp;^j|b5ZC#xvD^^n#vPH=)lopYz1n?Kt;vZmJ z!FP>Gs7=W{sva+aO9S}jh0vBs+|(B6Jf7t4F^jO3su;M13I{2rd8PJjQe1JyBUJ5v zcT%>D?8^Kp-70bP8*rulxlm)SySQhG$Pz*bo@mb5bvpLAEp${?r^2!Wl*6d7+0Hs_ zGPaC~w0E!bf1qFLDM@}zso7i~(``)H)zRgcExT_2#!YOPtBVN5Hf5~Ll3f~rWZ(UsJtM?O*cA1_W0)&qz%{bDoA}{$S&-r;0iIkIjbY~ zaAqH45I&ALpP=9Vof4OapFB`+_PLDd-0hMqCQq08>6G+C;9R~}Ug_nm?hhdkK$xpI zgXl24{4jq(!gPr2bGtq+hyd3%Fg%nofK`psHMs}EFh@}sdWCd!5NMs)eZg`ZlS#O0 zru6b8#NClS(25tXqnl{|Ax@RvzEG!+esNW-VRxba(f`}hGoqci$U(g30i}2w9`&z= zb8XjQLGN!REzGx)mg~RSBaU{KCPvQx8)|TNf|Oi8KWgv{7^tu}pZq|BS&S<53fC2K4Fw6>M^s$R$}LD*sUxdy6Pf5YKDbVet;P!bw5Al-8I1Nr(`SAubX5^D9hk6$agWpF}T#Bdf{b9-F#2WVO*5N zp+5uGgADy7m!hAcFz{-sS0kM7O)qq*rC!>W@St~^OW@R1wr{ajyYZq5H!T?P0e+)a zaQ%IL@X_`hzp~vRH0yUblo`#g`LMC%9}P;TGt+I7qNcBSe&tLGL4zqZqB!Bfl%SUa z6-J_XLrnm*WA`34&mF+&e1sPCP9=deazrM=Pc4Bn(nV;X%HG^4%Afv4CI~&l!Sjzb z{rHZ3od0!Al{}oBO>F*mOFAJrz>gX-vs!7>+_G%BB(ljWh$252j1h;9p~xVA=9_`P z5KoFiz96_QsTK%B&>MSXEYh`|U5PjX1(+4b#1PufXRJ*uZ*KWdth1<0 zsAmgjT%bowLyNDv7bTUGy|g~N34I-?lqxOUtFpTLSV6?o?<7-UFy*`-BEUsrdANh} zBWkDt2SAcGHRiqz)x!iVoB~&t?$yn6b#T=SP6Ou8lW=B>=>@ik93LaBL56ub`>Uo!>0@O8?e)$t(sgy$I z6tk3nS@yFFBC#aFf?!d_3;%>wHR;A3f2SP?Na8~$r5C1N(>-ME@HOpv4B|Ty7%jAv zR}GJwsiJZ5@H+D$^Cwj#0XA_(m^COZl8y7Vv(k=iav1=%QgBOVzeAiw zaDzzdrxzj%sE^c9_uM5D;$A_7)Ln}BvBx^=)fO+${ou%B*u$(IzVr-gH3=zL6La;G zu0Kzy5CLyNGoKRtK=G0-w|tnwI)puPDOakRzG(}R9fl7#<|oQEX;E#yCWVg95 z;NzWbyF&wGg_k+_4x4=z1GUcn6JrdX4nOVGaAQ8#^Ga>aFvajQN{!+9rgO-dHP zIp@%&ebVg}IqnRWwZRTNxLds+gz2@~VU(HI=?Epw>?yiEdZ>MjajqlO>2KDxA>)cj z2|k%dhh%d8SijIo1~20*5YT1eZTDkN2rc^zWr!2`5}f<2f%M_$to*3?Ok>e9$X>AV z2jYmfAd)s|(h?|B(XYrIfl=Wa_lBvk9R1KaP{90-z{xKi+&8=dI$W0+qzX|ZovWGOotP+vvYR(o=jo?k1=oG?%;pSqxcU* zWVGVMw?z__XQ9mnP!hziHC`ChGD{k#SqEn*ph6l46PZVkm>JF^Q{p&0=MKy_6apts z`}%_y+Tl_dSP(;Ja&sih$>qBH;bG;4;75)jUoVqw^}ee=ciV;0#t09AOhB^Py7`NC z-m+ybq1>_OO+V*Z>dhk}QFKA8V?9Mc4WSpzj{6IWfFpF7l^au#r7&^BK2Ac7vCkCn{m0uuN93Ee&rXfl1NBY4NnO9lFUp zY++C1I;_{#OH#TeP2Dp?l4KOF8ub?m6zE@XOB5Aiu$E~QNBM@;r+A5mF2W1-c7>ex zHiB=WJ&|`6wDq*+xv8UNLVUy4uW1OT>ey~Xgj@MMpS@wQbHAh>ysYvdl-1YH@&+Q! z075(Qd4C!V`9Q9jI4 zSt{HJRvZec>vaL_brKhQQwbpQd4_Lmmr0@1GdUeU-QcC{{8o=@nwwf>+dIKFVzPriGNX4VjHCa zTbL9w{Y2V87c2ofX%`(48A+4~mYTiFFl!e{3K^C_k%{&QTsgOd0*95KmWN)P}m zTRr{`f7@=v#+z_&fKYkQT!mJn{*crj%ZJz#(+c?>cD&2Lo~FFAWy&UG*Op^pV`BR^I|g?T>4l5;b|5OQ@t*?_Slp`*~Y3`&RfKD^1uLezIW(cE-Dq2z%I zBi8bWsz0857`6e!ahet}1>`9cYyIa{pe53Kl?8|Qg2RGrx@AlvG3HAL-^9c^1GW;)vQt8IK+ zM>!IW*~682A~MDlyCukldMd;8P|JCZ&oNL(;HZgJ>ie1PlaInK7C@Jg{3kMKYui?e!b`(&?t6PTb5UPrW-6DVU%^@^E`*y-Fd(p|`+JH&MzfEq;kikdse ziFOiDWH(D< zyV7Rxt^D0_N{v?O53N$a2gu%1pxbeK;&ua`ZkgSic~$+zvt~|1Yb=UfKJW2F7wC^evlPf(*El+#}ZBy0d4kbVJsK- z05>;>?HZO(YBF&v5tNv_WcI@O@LKFl*VO?L(!BAd!KbkVzo;v@~3v`-816GG?P zY+H3ujC>5=Am3RIZDdT#0G5A6xe`vGCNq88ZC1aVXafJkUlcYmHE^+Z{*S->ol%-O znm9R0TYTr2w*N8Vs#s-5=^w*{Y}qp5GG)Yt1oLNsH7y~N@>Eghms|K*Sdt_u!&I}$ z+GSdFTpbz%KH+?B%Ncy;C`uW6oWI46(tk>r|5|-K6)?O0d_neghUUOa9BXHP*>vi; z={&jIGMn-92HvInCMJcyXwHTJ42FZp&Wxu+9Rx;1x(EcIQwPUQ@YEQQ`bbMy4q3hP zNFoq~Qd0=|xS-R}k1Im3;8s{BnS!iaHIMLx)aITl)+)?Yt#fov|Eh>}dv@o6R{tG>uHsy&jGmWN5+*wAik|78(b?jtysPHC#e+Bzz~V zS3eEXv7!Qn4uWi!FS3B?afdD*{fr9>B~&tc671fi--V}~E4un;Q|PzZRwk-azprM$4AesvUb5`S`(5x#5VJ~4%ET6&%GR$}muHV-5lTsCi_R|6KM(g2PCD@|yOpKluT zakH!1V7nKN)?6JmC-zJoA#ciFux8!)ajiY%K#RtEg$gm1#oKUKX_Ms^%hvKWi|B=~ zLbl-L)-=`bfhl`>m!^sRR{}cP`Oim-{7}oz4p@>Y(FF5FUEOfMwO!ft6YytF`iZRq zfFr{!&0Efqa{1k|bZ4KLox;&V@ZW$997;+Ld8Yle91he{BfjRhjFTFv&^YuBr^&Pe zswA|Bn$vtifycN8Lxr`D7!Kygd7CuQyWqf}Q_PM}cX~S1$-6xUD%-jrSi24sBTFNz(Fy{QL2AmNbaVggWOhP;UY4D>S zqKr!UggZ9Pl9Nh_H;qI`-WoH{ceXj?m8y==MGY`AOJ7l0Uu z)>M%?dtaz2rjn1SW3k+p`1vs&lwb%msw8R!5nLS;upDSxViY98IIbxnh{}mRfEp=9 zbrPl>HEJeN7J=KnB6?dwEA6YMs~chHNG?pJsEj#&iUubdf3JJwu=C(t?JpE6xMyhA3e}SRhunDC zn-~83*9=mADUsk^sCc%&&G1q5T^HR9$P#2DejaG`Ui*z1hI#h7dwpIXg)C{8s< z%^#@uQRAg-$z&fmnYc$Duw63_Zopx|n{Bv*9Xau{a)2%?H<6D>kYY7_)e>OFT<6TT z0A}MQLgXbC2uf`;67`mhlcUhtXd)Kbc$PMm=|V}h;*_%vCw4L6r>3Vi)lE5`8hkSg zNGmW-BAOO)(W((6*e_tW&I>Nt9B$xynx|sj^ux~?q?J@F$L4;rnm_xy8E*JYwO-02u9_@@W0_2@?B@1J{y~Q39N3NX^t7#`=34Wh)X~sU&uZWgS1Z09%_k|EjA4w_QqPdY`oIdv$dJZ;(!k)#U8L+|y~gCzn+6WmFt#d{OUuKHqh1-uX_p*Af8pFYkYvKPKBxyid4KHc}H` z*KcyY;=@wzXYR{`d{6RYPhapShXIV?0cg_?ahZ7do)Ot#mxgXYJYx}<%E1pX;zqHd zf!c(onm{~#!O$2`VIXezECAHVd|`vyP)Uyt^-075X@NZDBaQt<>trA3nY-Dayki4S zZ^j6CCmx1r46`4G9794j-WC0&R9(G7kskS>=y${j-2;(BuIZTLDmAyWTG~`0)Bxqk zd{NkDe9ug|ms@0A>JVmB-IDuse9h?z9nw!U6tr7t-Lri5H`?TjpV~8(gZWFq4Vru4 z!86bDB;3lpV%{rZ`3gtmcRH1hjj!loI9jN>6stN6A*ujt!~s!2Q+U1(EFQEQb(h4E z6VKuRouEH`G6+8Qv2C)K@^;ldIuMVXdDDu}-!7FS8~k^&+}e9EXgx~)4V4~o6P^52 z)a|`J-fOirL^oK}tqD@pqBZi_;7N43%{IQ{v&G9^Y^1?SesL`;Z(dt!nn9Oj5Odde%opv&t zxJ><~b#m+^KV&b?R#)fRi;eyqAJ_0(nL*61yPkJGt;gZxSHY#t>ATnEl-E%q$E16% zZdQfvhm5B((y4E3Hk6cBdwGdDy?i5CqBlCVHZr-rI$B#>Tbi4}Gcvyg_~2=6O9D-8 zY2|tKrNzbVR$h57R?Pe+gUU_il}ZaWu|Az#QO@};=|(L-RVf0AIW zq#pO+RfM7tdV`9lI6g;{qABNId`fG%U9Va^ravVT^)CklDcx)YJKeJdGpM{W1v8jg z@&N+mR?BPB=K1}kNwXk_pj44sd>&^;d!Z~P>O78emE@Qp@&8PyB^^4^2f7e)gekMv z2aZNvP@;%i{+_~>jK7*2wQc6nseT^n6St9KG#1~Y@$~zR_=AcO2hF5lCoH|M&c{vR zSp(GRVVl=T*m~dIA;HvYm8HOdCkW&&4M~UDd^H)`p__!4k+6b)yG0Zcek8OLw$C^K z3-BbLiG_%qX|ZYpXJ$(c@aa7b4-*IQkDF}=gZSV`*ljP|5mWuHSCcf$5qqhZTv&P?I$z^>}qP(q!Aku2yA5vu38d8x*q{6-1`%PrE_r0-9Qo?a#7Zbz#iGI7K<(@k^|i4QJ1H z4jx?{rZbgV!me2VT72@nBjucoT zUM9;Y%TCoDop?Q5fEQ35bCYk7!;gH*;t9t-QHLXGmUF;|vm365#X)6b2Njsyf1h9JW#x$;@x5Nx2$K$Z-O3txa%;OEbOn6xBzd4n4v)Va=sj5 z%rb#j7{_??Tjb8(Hac<^&s^V{yO-BL*uSUk2;X4xt%NC8SjO-3?;Lzld{gM5A=9AV z)DBu-Z8rRvXXwSVDH|dL-3FODWhfe1C_iF``F05e{dl(MmS|W%k-j)!7(ARkV?6r~ zF=o42y+VapxdZn;GnzZfGu<6oG-gQ7j7Zvgo7Am@jYxC2FpS@I;Jb%EyaJDBQC(q% zKlZ}TVu!>;i3t~OAgl@QYy1X|T~D{HOyaS*Bh}A}S#a9MYS{XV{R-|niEB*W%GPW! zP^NU(L<}>Uab<;)#H)rYbnqt|dOK(-DCnY==%d~y(1*{D{Eo1cqIV8*iMfx&J*%yh zx=+WHjt0q2m*pLx8=--UqfM6ZWjkev>W-*}_*$Y(bikH`#-Gn#!6_ zIA&kxn;XYI;eN9yvqztK-a113A%97in5CL5Z&#VsQ4=fyf&3MeKu70)(x^z_uw*RG zo2Pv&+81u*DjMO6>Mrr7vKE2CONqR6C0(*;@4FBM;jPIiuTuhQ-0&C)JIzo_k>TaS zN_hB;_G=JJJvGGpB?uGgSeKaix~AkNtYky4P7GDTW6{rW{}V9K)Cn^vBYKe*OmP!; zohJs=l-0sv5&pL6-bowk~(swtdRBZQHh8)m^r2+qTtZ zt4m$B?OQYNyfBA0E)g28a*{)a=%%f-?{F;++-Xs#5|7kSHTD*E9@$V ztE%7zX4A(L`n)FY8Y4pOnKC|Pf)j$iR#yP;V0+|Hki+D;t4I4BjkfdYliK9Gf6RYw z;3px$Ud5aTd`yq$N7*WOs!{X91hZZ;AJ9iQOH%p;v$R%OQum_h#rq9*{ve(++|24z zh2P;{-Z?u#rOqd0)D^_Ponv(Y9KMB9#?}nJdUX&r_rxF0%3__#8~ZwsyrSPmtWY27 z-54ZquV2t_W!*+%uwC=h-&_q~&nQer0(FL74to%&t^byl^C?wTaZ-IS9OssaQFP)1 zAov0o{?IRAcCf+PjMWSdmP42gysh|c9Ma&Q^?_+>>+-yrC8WR;*XmJ;>r9v*>=W}tgWG;WIt{~L8`gk8DP{dSdG z4SDM7g5ahMHYHHk*|mh9{AKh-qW7X+GEQybJt9A@RV{gaHUAva+=lSroK^NUJYEiL z?X6l9ABpd)9zzA^;FdZ$QQs#uD@hdcaN^;Q=AXlbHv511Meye`p>P4Y2nblEDEeZo}-$@g&L98Aih6tgLz--${eKTxymIipy0xSYgZZ zq^yyS4yNPTtPj-sM?R8@9Q1gtXPqv{$lb5i|C1yymwnGdfYV3nA-;5!Wl zD0fayn!B^grdE?q^}ba{-LIv*Z}+hZm_F9c$$cW!bx2DgJD&6|bBIcL@=}kQA1^Eh zXTEznqk)!!IcTl>ey?V;X8k<+C^DRA{F?T*j0wV`fflrLBQq!l7cbkAUE*6}WabyF zgpb+|tv=aWg0i}9kBL8ZCObYqHEycr5tpc-$|vdvaBsu#lXD@u_e1iL z{h>xMRS0a7KvW?VttrJFpX^5DC4Bv4cp6gNG6#8)7r7IxXfSNSp6)_6tZ4l>(D+0I zPhU)N!sKywaBusHdVE!yo5$20JAU8V_XcW{QmO!p*~ns8{2~bhjydnmA&=r zX9NSM9QYogYMDZ~kS#Qx`mt>AmeR3p@K$`fbJ%LQ1c5lEOz<%BS<}2DL+$>MFcE%e zlxC)heZ7#i80u?32eOJI9oQRz0z;JW@7Th4q}YmQ-`Z?@y3ia^_)7f37QMwDw~<-@ zT)B6fftmK_6YS!?{uaj5lLxyR++u*ZY2Mphm5cd7PA5=%rd)95hJ9+aGSNfjy>Ylc zoI0nGIT3sKmwX8h=6CbvhVO+ehFIR155h8iRuXZx^cW>rq5K4z_dvM#hRER=WR@THs%WELI9uYK9HN44Em2$#@k)hD zicqRPKV#yB;UlcsTL_}zCMK0T;eXHfu`y2(dfwm(v)IBbh|#R>`2cot{m7}8_X&oD zr@94PkMCl%d3FsC4pil=#{3uv^+)pvxfwmPUr)T)T|GcZVD$wVj$mjkjDs`5cm8N! zXVq2CvL;gWGpPI4;9j;2&hS*o+LNp&C5Ac=OXx*W5y6Z^az)^?G0)!_iAfjH5wiSE zD(F}hQZB#tF5iEx@0sS+dP70DbZ*<=5X^)Pxo^8aKzOzuyc2rq=<0-k;Y_ID1>9^v z+)nc36}?>jen*1%OX3R*KRASj${u$gZ$27Hpcj=95kK^aLzxhW6jj_$w6}%#1*$5D zG1H_vYFrCSwrRqYw*9<}OYAOQT)u%9lC`$IjZV<4`9Sc;j{Qv_6+uHrYifK&On4V_7yMil!0Yv55z@dFyD{U@Sy>|vTX=P_( zRm<2xj*Z}B30VAu@0e+}at*y?wXTz|rPalwo?4ZZc>hS0Ky6~mi@kv#?xP2a;yt?5=(-CqvP_3&$KdjB7Ku;# z`GLE*jW1QJB5d&E?IJO?1+!Q8HQMGvv^RuFoi=mM4+^tOqvX%X&viB%Ko2o-v4~~J z267ui;gsW?J=qS=D*@*xJvAy3IOop5bEvfR4MZC>9Y4Z$rGI|EHNNZ7KX;Ix{xSvm z-)Cau-xuTm|7`4kUdXvd_d^E=po(76ELfq5OgxIt3aqDy#zBfIy-5<3gpn{Ce`-ha z<;6y@{Bgqw?c~h*&j{FozQCh=`Lv-5Iw!KdSt;%GDOq%=(V!dJ-}|}|0o5G2kJj6{ z`jCSPs$9Fe8O(+qALZiJ$WtR=<@GvsdM)IJ`7XrBfW0iyYE#Vy^e@zbysg*B5Z_kSL6<)vqoaH zQ{!9!*{e9UZo^h+qZ`T@LfVwAEwc&+9{C8c%oj41q#hyn<&zA9IIur~V|{mmu`n5W z8)-Ou$YgjQ*PMIqHhZ_9E?(uoK0XM5aQkarcp}WT^7b^FC#^i>#8LGZ9puDuXUYas z7caX)V5U6uY-L5Wl%)j$qRkR;7@3T*N64YK_!`Fw=>CAwe~2loI1<>DZW&sb7Q)X;6E08&$h! z2=c1i4UOO{R4TmkTz+o9n`}+%d%blR6P;5{`qjtxlN$~I%tMMDCY`~e{+mRF!rj5( z3ywv)P_PUUqREu)TioPkg&5RKjY6z%pRxQPQ{#GNMTPag^S8(8l{!{WGNs2U1JA-O zq02VeYcArhTAS;v3);k(&6ayCH8SXN@r;1NQeJ*y^NHM+zOd;?t&c!Hq^SR_w6twGV8dl>j zjS+Zc&Yp7cYj&c1y3IxQ%*kWiYypvoh(k8g`HrY<_Bi-r%m-@SLfy-6mobxkWHxyS z>TtM2M4;Uqqy|+8Q++VcEq$PwomV1D4UzNA*Tgkg9#Gpz#~&iPf|Czx!J?qss?e|3 z4gTua75-P{2X7w9eeK3~GE0ip-D;%%gTi)8bR~Ez@)$gpuS~jZs`CrO5SR-Xy7bkA z89fr~mY}u4A$|r1$fe-;T{yJh#9Ime1iRu8eo?uY9@yqAU3P!rx~SsP;LTBL zeoMK(!;(Zt8313 z3)V)q_%eflKW?BnMZa}6E0c7t!$-mC$qt44OME5F(6B$E8w*TUN-h}0dOiXI+TH zYFrr&k1(yO(|J0vP|{22@Z}bxm@7BkjO)f)&^fv|?_JX+s)1*|7X7HH(W?b3QZ3!V|~m?8}uJsF>NvE4@fik zjyyh+U*tt`g6v>k9ub88a;ySvS1QawGn7}aaR**$rJA=a#eUT~ngUbJ%V=qsFIekLbv!YkqjTG{_$F;$w19$(ivIs*1>?2ka%uMOx@B9`LD zhm~)z@u4x*zcM1WhiX)!U{qOjJHt1xs{G1S?rYe)L)ntUu^-(o_dfqZu)}W(X%Uu| zN*qI@&R2fB#Jh|Mi+eMrZDtbNvYD3|v0Kx>E#Ss;Be*T$@DC!2A|mb%d}TTN3J+c= zu@1gTOXFYy972S+=C;#~)Z{Swr0VI5&}WYzH22un_Yg5o%f9fvV(`6!{C<(ZigQ2`wso)cj z9O12k)15^Wuv#rHpe*k5#4vb%c znP+Gjr<-p%01d<+^yrSoG?}F=eI8X;?=Fo2a~HUiJ>L!oE#9tXRp!adg-b9D;(6$E zeW0tH$US04zTX$OxM&X+2ip>KdFM?iG_fgOD-qB|uFng8*#Z5jgqGY=zLU?4!OlO#~YBTB9b9#~H@nqQ#5 z6bV));d?IJTVBC+79>rGuy1JgxPLy$dA7;_^^L)02m}XLjFR*qH`eI~+eJo(7D`LH z(W%lGnGK+Vk_3kyF*zpgO=1MxMg?hxe3}}YI>dVs8l}5eWjYu4=w6MWK09+05 zGdpa#$awd>Q|@aZa*z{5F3xy3n@E4YT9%TmMo0jxW59p0bI?&S}M+ z&^NG%rf7h*m9~p#b19|`wO5OMY-=^XT+=yrfGNpl<&~~FGsx_`IaFn+sEgF$hgOa~oAVAiu^a$jHcqkE=dj`ze z=axsfrzzh6VGD0x#6Ff=t%+VTiq!n6^gv*uIUD<9fOhvR;al5kcY${uunn}-!74<7 zmP^3cl-kyN(QY!!Z-^PY-OUkh=3ZWk6>le$_Q&xk4cgH{?i)C%2RM@pX5Q{jdSlo! zVau5v44cQX5|zQlQDt;dCg)oM0B<=P1CR!W%!^m$!{pKx;bn9DePJjWBX)q!`$;0K zqJIIyD#aK;#-3&Nf=&IhtbV|?ZGYHSphp~6th`p2rkw&((%kBV7<{siEOU7AxJj+FuRdDu$ zcmTW8usU_u!r)#jg|J=Gt{##7;uf4A5cdt6Y02}f(d2)z~ z)CH~gVAOwBLk$ZiIOn}NzDjvfw(w$u|BdCBI#)3xB-Ot?nz?iR38ayCm48M=_#9r7 zw8%pwQ<9mbEs5~_>pN3~#+Er~Q86J+2TDXM6umCbukd-X6pRIr5tF?VauT8jW> zY^#)log>jtJs2s3xoiPB7~8#1ZMv>Zx0}H58k-@H2huNyw~wsl0B8j)H5)H9c7y&i zp8^0;rKbxC1eEZ-#Qxvz)Xv$((8lK9I>BspPajluysw^f#t9P;OUis43mmEzX+lk* zc4T-Ms9_687GR+~QS#0~vxK#DSGN=a-m(@eZTqw2<+lN9>R~gK2)3;sT4%nI%Y|0m zX9SPR!>?~s=j5H4WMqeTW8QaLZ=1bWS5I3xZ&$(ypc=tHrv+hX@s)VG(tc!yvLM7n zshN=C#v={X1r;)xn0Pow_1eMhkn!{;x$BJ#PIz)m585&%cmzk;btQzZAN_^zis;n? z?6I~bN?s;7vg_dtoTc4A5Ow*Rb}No#UYl)sN|RmoYo}k^cKLXd8F`44?RrokkPvN5 ztUrx;U~B;jbE_qGd3n0j2i}A{enJvJ?gSF~NQj~EP5vM-w4@;QQ5n(Npic}XNW6B0 zq9F4T%6kp7qGhd0vpQcz+nMk8GOAmbz8Bt4@GtewGr6_>Xj>ge)SyfY}nu>Y!a@HoIx(StD zx`!>RT&}tpBL%nOF%7XIFW?n1AP*xthCMzhrU6G!U6?m4!CPWTvn#Yaoi_95CT2!L z|B=5zeRW30&ANGN>J9#GtCm&3SF6n4TqDz<-{@ZXkrkRDCpV$DwCtI^e&3i1A{Ar&JZtS^c+lyPa6 z%JJr42S_;eFC#M~bdtQePhOU32WDiZ4@H&af)z#$Y|hnQNb)8(3?1Ad>5uaZ1z zU~!jt3XUI@gpWb8tWTyH7DGvKvzYfqNIy3P{9vpwz_C-QL&`+8Io$F5PS-@YQJoEO z17D9P(+sXajWSH_8&C?fn>rTLX+(?KiwX#JNV)xE0!Q@>Tid$V2#r4y6fkph?YZ>^ z(o^q(0*P->3?I0cELXJn(N|#qTm6 zAPIL~n)m!50;*?5=MOOc4Wk;w(0c$(!e?vpV23S|n|Y7?nyc8)fD8t-KI&nTklH&BzqQ}D(1gH3P+5zGUzIjT~x`;e8JH=86&5&l-DP% z)F+Et(h|GJ?rMy-Zrf>Rv@<3^OrCJ1xv_N*_@-K5=)-jP(}h1Rts44H&ou8!G_C1E zhTfUDASJ2vu!4@j58{NN;78i?6__xR75QEDC4JN{>RmgcNrn-EOpEOcyR<8FS@RB@ zH!R7J=`KK^u06eeI|X@}KvQmdKE3AmAy8 zM4IIvde#e4O(iwag`UL5yQo>6&7^=D4yE-Eo9$9R2hR} zn;Z9i-d=R-xZl4@?s%8|m1M`$J6lW1r0Y)+8q$}Vn4qyR1jqTjGH;@Z!2KiGun2~x zaiEfzVT<|_b6t}~XPeflAm8hvCHP3Bp*tl{^y_e{Jsn@w+KP{7}bH_s=1S2E1sj=18a39*Ag~lbkT^_OQuYQey=b zW^{0xlQ@O$^cSxUZ8l(Mspg8z0cL*?yH4;X2}TdN)uN31A%$3$a=4;{S@h#Y(~i%) zc=K7Ggl=&2hYVic*W65gpSPE70pU;FN@3k?BYdNDKv6wlsBAF^);qiqI zhklsX4TaWiC%VbnZ|yqL+Pcc;(#&E*{+Rx&<&R{uTYCn^OD|mAk4%Q7gbbgMnZwE{ zy7QMK%jIjU@ye?0; z;0--&xVeD}m_hq9A8a}c9WkI2YKj8t!Mkk!o%AQ?|CCBL9}n570}OmZ(w)YI6#QS&p<={tcek*D{CPR%eVA1WBGUXf z%gO2vL7iVDr1$!LAW)1@H>GoIl=&yyZ7=*9;wrOYQ}O}u>h}4FWL?N2ivURlUi11- zl{G0fo`9?$iAEN<4kxa#9e0SZPqa{pw?K=tdN5tRc7HDX-~Ta6_+#s9W&d`6PB7dF*G@|!Mc}i zc=9&T+edI(@la}QU2An#wlkJ&7RmTEMhyC_A8hWM54?s1WldCFuBmT5*I3K9=1aj= z6V@93P-lUou`xmB!ATp0(We$?)p*oQs;(Kku15~q9`-LSl{(Efm&@%(zj?aK2;5}P z{6<@-3^k^5FCDT@Z%XABEcuPoumYkiD&)-8z2Q}HO9OVEU3WM;V^$5r4q>h^m73XF z5!hZ7SCjfxDcXyj(({vg8FU(m2_}36L_yR>fnW)u=`1t@mPa76`2@%8v@2@$N@TE` z)kYhGY1jD;B9V=Dv1>BZhR9IJmB?X9Wj99f@MvJ2Fim*R`rsRilvz_3n!nPFLmj({EP!@CGkY5R*Y_dSO{qto~WerlG}DMw9k+n}pk z*nL~7R2gB{_9=zpqX|*vkU-dx)(j+83uvYGP?K{hr*j2pQsfXn<_As6z%-z+wFLqI zMhTkG>2M}#BLIOZ(ya1y8#W<+uUo@(43=^4@?CX{-hAuaJki(_A(uXD(>`lzuM~M;3XA48ZEN@HRV{1nvt?CV)t;|*dow0Ue2`B*iA&!rI`fZQ=b28= z_dxF}iUQ8}nq0SA4NK@^EQ%=)OY;3fC<$goJ&Kp|APQ@qVbS-MtJQBc)^aO8mYFsbhafeRKdHPW&s^&;%>v zlTz`YE}CuQ@_X&mqm{+{!h2r)fPGeM_Ge4RRYQkrma`&G<>RW<>S(?#LJ}O-t)d$< zf}b0svP^Zu@)MqwEV^Fb_j zPYYs~vmEC~cOIE6Nc^@b@nyL!w5o?nQ!$mGq(Pa|1-MD}K0si<&}eag=}WLSDO zE4+eA~!J(K}605x&4 zT72P7J^)Y)b(3g2MZ@1bv%o1ggwU4Yb!DhQ=uu-;vX+Ix8>#y6wgNKuobvrPNx?$3 zI{BbX<=Y-cBtvY&#MpGTgOLYU4W+csqWZx!=AVMb)Z;8%#1*x_(-)teF>45TCRwi1 z)Nn>hy3_lo44n-4A@=L2gI$yXCK0lPmMuldhLxR8aI;VrHIS{Dk}yp= zwjhB6v@0DN=Hnm~3t>`CtnPzvA*Kumfn5OLg&-m&fObRD};c}Hf?n&mS< z%$wztc%kjWjCf-?+q(bZh9k~(gs?i4`XVfqMXvPVkUWfm4+EBF(nOkg!}4u)6I)JT zU6IXqQk?p1a2(bz^S;6ZH3Wy9!JvbiSr7%c$#G1eK2^=~z1WX+VW)CPD#G~)13~pX zErO(>x$J_4qu-)lNlZkLj2}y$OiKn0ad5Imu5p-2dnt)(YI|b7rJ3TBUQ8FB8=&ym50*ibd2NAbj z;JA&hJ$AJlldM+tO;Yl3rBOFiP8fDdF?t(`gkRpmT9inR@uX{bThYNmxx-LN5K8h0 ztS%w*;V%b`%;-NARbNXn9he&AO4$rvmkB#;aaOx?Wk|yBCmN{oMTK&E)`s&APR<-5 z#;_e75z;LJ)gBG~h<^`SGmw<$Z3p`KG|I@7Pd)sTJnouZ1hRvm3}V+#lPGk4b&A#Y z4VSNi8(R1z7-t=L^%;*;iMTIAjrXl;h106hFrR{n9o8vlz?+*a1P{rEZ2ie{luQs} zr6t746>eoqiO5)^y;4H%2~&FT*Qc*9_oC2$+&syHWsA=rn3B~4#QEW zf4GT3i_@)f(Fj}gAZj`7205M8!B&HhmbgyZB& z+COyAVNxql#DwfP;H48Yc+Y~ChV6b9auLnfXXvpjr<~lQ@>VbCpQvWz=lyVf1??_c zAo3C^otZD@(v?X)UX*@w?TF|F8KF>l7%!Dzu+hksSA^akEkx8QD(V(lK+HBCw6C}2onVExW)f$ zncm*HI(_H;jF@)6eu}Tln!t?ynRkcqBA5MitIM@L^(4_Ke}vy7c%$w{(`&7Rn=u>oDM+Z^RUYcbSOPwT(ONyq76R>$V6_M_UP4vs=__I#io{{((| zy5=k=oVr-Qt$FImP~+&sN8rf2UH*vRMpwohPc@9?id17La4weIfBNa>1Djy+1=ugn z@}Zs;eFY1OC}WBDxDF=i=On_33(jWE-QYV)HbQ^VM!n>Ci9_W0Zofz7!m>do@KH;S z4k}FqEAU2)b%B_B-QcPnM5Zh=dQ+4|DJoJwo?)f2nWBuZE@^>a(gP~ObzMuyNJTgJFUPcH`%9UFA(P23iaKgo0)CI!SZ>35LpFaD7 z)C2sW$ltSEYNW%%j8F;yK{iHI2Q^}coF@LX`=EvxZb*_O;2Z0Z5 z7 zlccxmCfCI;_^awp|G748%Wx%?t9Sh8!V9Y(9$B?9R`G)Nd&snX1j+VpuQ@GGk=y(W zK|<$O`Cad`Y4#W3GKXgs%lZduAd1t1<7LwG4*zaStE*S)XXPFDyKdgiaVXG2)LvDn zf}eQ_S(&2!H0Mq1Yt&WpM1!7b#yt_ie7naOfX129_E=)beKj|p1VW9q>>+e$3@G$K zrB%i_TT1DHjOf7IQ8)Wu4#K%ZSCDGMP7Ab|Kvjq7*~@ewPm~h_-8d4jmNH<&mNZC@CI zKxG5O08|@<4(6IEC@L-lcrrvix&_Dj4tBvl=8A}2UX|)~v#V$L22U}UHk`B-1MF(t zU6aVJWR!>Y0@4m0UA%Sq9B5;4hZvsOu=>L`IU4#3r_t}os|vSDVMA??h>QJ1FD1vR z*@rclvfD!Iqoxh>VP+?b9TVH8g@KjYR@rRWQy44A`f6doIi+8VTP~pa%`(Oa@5?=h z8>YxNvA##a3D0)^P|2|+0~f|UsAJV=q(S>eq-dehQ+T>*Q@qN zU8@kdpU5gGk%ozt?%c8oM6neA?GuSsOfU_b1U)uiEP8eRn~>M$p*R z43nSZs@^ahO78s zulbK@@{3=2=@^yZ)DuIC$ki;`2WNbD_#`LOHN9iMsrgzt-T<8aeh z(oXrqI$Kgt6)Icu=?11NWs>{)_ed1wh>)wv6RYNUA-C&bejw{cBE_5Wzeo!AHdTd+ z)d(_IKN7z^n|As~3XS=cCB_TgM7rK;X586re`{~Foml$aKs zb!4Pe7hEP|370EWwn$HKPM!kL94UPZ1%8B^e5fB+=Iw^6=?5n3tZGYjov83CLB&OQ++p)WCMeshCv_9-~G9C_2x`LxTDjUcW$l6e!6-&a^fM3oP9*g(H zmCk0nGt1UMdU#pfg1G0um5|sc|KO<+qU1E4iBF~RvN*+`7uNHH^gu{?nw2DSCjig% zI@ymKZSK=PhHJa(jW&xeApv&JcfSmNJ4uQ|pY=Lcc>=J|{>5Ug3@x#R_b@55xFgfs za^ANzWdD$ZYtFs$d7+oiw0ZmPk2&l|< zc8()wfiJx@EGpQT zG$8iLkQZ-086doF1R zh<#9cz_vRsJdoXbD=QgOtpm}cFAJX8c}>Jew;PQJSXSb^;wlC zxXLHTS|!GZ-VK_4wV<9bk4RUmlsByzW_^b>)$6R+jQ}^wco1nMA`9Lncs;&QGp!`5Tx#aXXU?}5_RrtUY zx(EMzDhl-a^y^f5yfFLMnOO#u)l69&4M?|ne|2EV>zQ}4JQCBel?~2I4?D|>L$%H(peOOII!U}i z-j)*h1rODe9{0`xmhG;`AKqw1p0_KhEIU8)DoGnEn9wAhXPaxO_(jNSij~J5m$P*$ z9Mt(t;eV}2+i|kjQpBFcNb7_(VbuF<;RQB~R~p>2*Lg>a&7DEEuq*I%Ls4{zHeUDq z+M0&YhEn^C*9-B4Q7HJ$xj)dORCXPK+)ZtLOa0o&)Sl+f(Y{p*68$-#yagW5^HQnQ z0pWpoQpxg8<&gx9im(>=x6v#&RbQ7^AsjxeSDA? zi4MEJUC~ByG!PiBjq7$pK&FA^5 z=Y@dtQnuy%IfsaR`TVP0q^3mixl&J-3!$H!ua#{A>0Z1JdLq#d4UV9nlYm641ZHl zH6mK~iI6lR3OUEVL}Z5{ONZ_6{Nk%Bv03ag<1HVN?R%w2^aR5@E>6(r>}IoMl$wRF zWr-DItN*k7T$NTT8B)+23c?171sADhjInb2Xb>GhFYGC&3{b>huvLlaS4O z^{j5q+b5H?Z)yuy%AByaVl2yj9cnalY1sMQ zXI#e%*CLajxGxP!K6xf9RD2pMHOfAa1d^Lr6kE`IBpxOiGXfNcoQ*FI6wsNtLD!T+ zC4r2q>5qz0f}UY^RY#1^0*FPO*Zp-U1h9U|qWjwqJaDB(pZ`<`U-xo7+JB$zvwV}^ z2>$0&Q5k#l|Er7*PPG1ycj4BGz zg&`d*?nUi1Q!OB>{V@T$A;)8@h;*Rb1{xk_8X<34L`s}xkH-rQZvjM`jI=jaJRGRg zeEcjYChf-78|RLrao%4HyZBfnAx5KaE~@Sx+o-2MLJ>j-6uDb!U`odj*=)0k)K75l zo^)8-iz{_k7-_qy{Ko~N#B`n@o#A22YbKiA>0f3k=p-B~XX=`Ug>jl$e7>I=hph0&AK z?ya;(NaKY_!od=tFUcGU5Kwt!c9EPUQLi;JDCT*{90O@Wc>b| zI;&GIY$JlQW^9?R$-OEUG|3sp+hn+TL(YK?S@ZW<4PQa}=IcUAn_wW3d!r#$B}n08 z*&lf(YN21NDJ74DqwV`l`RX(4zJ<(E4D}N0@QaE-hnfdPDku~@yhb^AeZL73RgovX z6=e>!`&e^l@1WA5h!}}PwwL*Gjg!LbC5g0|qb8H$^S{eGs%cc?4vTyVFW=s6KtfW? z@&Xm+E(uz(qDbwDvRQI9DdB<2sW}FYK9sg*f%-i*>*n{t-_wXvg~N7gM|a91B!x|K zyLbJ~6!!JZpZ`#HpCB8g#Q*~VU47Rp$NyZb3WhEgg3ivSwnjGJgi0BEV?!H}Z@QF| zrO`Kx*52;FR#J-V-;`oR-pr!t>bYf)UYcixN=(FUR6$fhN@~i09^3WeP3*)D*`*mJ z1u%klAbzQ=P4s%|FnVTZv%|@(HDB+ap5S#cFSJUSGkyI*Y>9Lwx|0lTs%uhoCW(f1 zi+|a9;vDPfh3nS<7m~wqTM6+pEm(&z-Ll;lFH!w#(Uk#2>Iv~2Hu}lITn7hnOny`~ z*Vj=r<&Nwpq^@g5m`u&QTBRoK*}plAuHg$L$~NO#wF0!*r0OfcS%)k0A??uY*@B^C zJe9WdU(w){rTIf<;rwJt^_35^d<A@$FqEZW6kwyfAo2x0T$Ye2MZox6Z7<%Qbu$}}u{rtE+h2M+Z}T4I zxF1cwJ(Uvp!T#mogWkhb(?SxD4_#tV(Sc8N4Gu*{Fh#})Pvb^ef%jrlnG*&Ie+J5 zsly5oo?1((um&lLDxn(DkYtk`My>lgKTp3Y4?hTQ4_`YNOFtjF-FUY#d#(EQd(rfz zB8z%Vi;?x)ZM$3c>yc5H8KBvSevnWNdCbAj?QCac)6-K~Xz@EZp}~N9q)5*Ufjz3C z6kkOeI{3H(^VO8hKDrVjy2DXd;5wr4nb`19yJi0DO@607MSx+7F$ zz3F7sl8JV@@sM$6`#JmSilqI%Bs)}Py2eFT;TjcG5?8$zwV60b(_5A>b#uk~7U^bO z>y|6SCrP2IGST(8HFuX|XQUXPLt2gL_hm|uj1Ws`O2VW>SyL^uXkl>Zvkcpi?@!F7 z%svLoT@{R#XrIh^*dE~$YhMwC+b7JE09NAS47kT%Ew zD!XjxA@1+KOAyu`H2z#h+pGm!lG>WI0v745l+Fd><3dh{ATq%h?JSdEt zu%J*zfFUx%Tx&0DS5WSbE)vwZSoAGT=;W#(DoiL($BcK;U*w`xA&kheyMLI673HCb7fGkp{_vdV2uo;vSoAH z9BuLM#Vzwt#rJH>58=KXa#O;*)_N{$>l7`umacQ0g$pI3iW4=L--O;Wiq0zy7OKp`j2r^y3`7X!?sq9rr5B{41BkBr1fEd1#Q3 z-dXc2RSb4U>FvpVhlQCIzQ-hs=8420z=7F2F(^xD;^RXgpjlh8S6*xCP#Gj2+Q0bAg?XARw3dnlQ*Lz3vk}m`HXmCgN=?bIL{T zi}Ds-xn|P)dxhraT@XY$ZQ&^%x8y!o+?n#+>+dZ1c{hYwNTNRke@3enT(a@}V*X{! z81+{Jc2UR;+Zcbc6cUlafh4DFKwp>;M}8SGD+YnW3Q_)*9Z_pny_z+MeYQmz?r%EVaN0d!NE*FVPq&U@vo{ef6wkMIDEWLbDs zz91$($XbGnQ?4WHjB~4xgPgKZts{p|g1B{-4##}#c5aL5C6_RJ_(*5>85B1}U!_<``}q-97Q7~u)(&lsb(WT^(*n7H%33%@_b zO5(?-v??s??33b19xiB7t_YT!q8!qAzN1#RD@3;kYAli%kazt#YN7}MhVu=ljuz27 z1`<+g8oVwy57&$`CiHeaM)tz(OSt4E# zJ@P6E*e504oUw~RD(=9WP8QdW^6wRdFbKII!GAWecJ(?{`EzTR@?j!3g?$@LLCt;U={>!9z7DU!(1Jq zqEwdx5q?W1Ncm7mXP8MFwAr?nw5$H%cb>Q><9j{Tk2RY9ngGvaJgWXx^r!ywk{ph- zs2PFto4@IIwBh{oXe;yMZJYlS?3%a-CJ#js90hoh5W5d^OMwCFmpryHFr|mG+*ZP$ zqyS5BW@s}|3xUO0PR<^{a2M(gkP5BDGxvkWkPudSV*TMRK5Qm4?~VuqVAOerffRt$HGAvp;M++Iq$E6alB z;ykBr-eZ6v_H^1Wip56Czj&=`mb^TsX|FPN#-gnlP03AkiJDM=?y|LzER1M93R4sC z*HT(;EV=*F*>!+Z{r!KG?6ODMGvkt3viG=@kQJHNMYd}bS4KrrHf4`&*(0m0R5Hqz zEk)r=sFeS?MZRvn<@Z0&bDw)XkMnw+_xqgp=W{;ioX`6;G-P9N%wfoYJ$-m$L#MC% z^sH?tSzA|WWP(cN3({~_*X$l{M*;1V{l$;T6b){#l4pswDTid26HaXgKed}13YIP= zJRvA3nmx{}R$Lr&S4!kWU3`~dxM}>VXWu6Xd(VP}z1->h&f%82eXD_TuTs@=c;l0T z|LHmWKJ+?7hkY=YM>t}zvb4|lV;!ARMtWFp!E^J=Asu9w&kVF*i{T#}sY++-qnVh! z5TQ|=>)+vutf{&qB+LO9^jm#rD7E5+tcorr^Fn5Xb0B;)f^$7Ev#}G_`r==ea294V z--v4LwjswWlSq9ba6i?IXr8M_VEGQ$H%hCqJTFQ3+1B9tmxDUhnNU%dy4+zbqYJ|o z3!N{b?A@{;cG2~nb-`|z;gEDL5ffF@oc3`R{fGi)0wtMqEkw4tRX3t;LVS3-zAmg^ zgL7Z{hmdPSz9oA@t>tZ1<|Khn&Lp=_!Q=@a?k+t~H&3jN?dr(}7s;{L+jiKY57?WsFBfW^mu6a03_^VKrdK=9egXw@!nzZ3TbYc*osyQNoCXPYoFS<&Nr97MrQCOK(gO8 z;0@iqRTJy4-RH)PJld5`AJN}n?5r^-enKrHQOR;z>UMfm+e8~4ZL5k>oXMiYq12Bx4eVQv0jFgp_zC#``sjZpywYqISMP}VZ@!~1Mf$!x|opj%mQ98JnSk@`~ zPmmyuPZKtZOnEC!1y!?`TYRsZ!II;d!iln}%e}bk5qIiUADERr*K$3dekgHV9TtBX zi5q!J!6Zgd#cLxRmZN^J`o@Zv{+p+<_#8^nvY)44Hw_2i@?R&5n^q33fpOnDg1nPQ z_r<$hURl~OketX|Tdbvf_7=3x^rSFJtEp@tuDpVB&uq)qW;xUQ7mmkr-@eZwa$l+? zoKk``Vz@TH#>jMce*8>@FZ+@BEUdYa_K0i|{*;j9MW3K%pnM*T;@>|o@lMhgLrpZP5aol(z>g;b4}|e$U~Fn zGL%(}p%Jsl4LxE!VW_Y4T>e}W4e#~F03H_^R!Q)kpJG{lO!@I4{mFo^V#ayHh_5~o zB$O71gcE(G@6xv);#Ky?e(Ed}^O+Ho(t=93T9T3TnEY(OVf_dR-gY@jj+iJSY?q|6prBv(S9A4k=2fNZz!W@S=B@~b?TJRTuBQq448@juN#Y=3q=^VCF>Z}n6wICJ<^^Kn8C;mK zZYiFSN#Z$?NDGV7(#}q2tAZAtE63icK-MY>UQu4MWlGIbJ$AF8Zt-jV;@7P5MPI>% zPWvO!t%1+s>-A%`;0^o8Ezeaa4DMwI8ooQrJ;ax@Qt*6XONWw)dPwOPI9@u*EG&844*1~EoZ2qsAe~M>d`;Bc_CWY zMoDKEmDh-}k9d6*<0g@aQmsnrM1H9IcKYZs)><)d92{|0Hh8?~XbF)7U+UmP@Pw_6geVB?7N$4J4*E0z3EO&5kRS(EE zv92(+e5WxLXMN{h;-|8@!Q#0q247hb^3R%*k3MuMO5*L}$0D#5P*N$aHd54C+=_RToYXTyewugOaDmGsCvb4H1s=@gkfVnzTCWKMa-Mm1v4Wq!t-JIrbV&EWwKDe ze#kJpOq#iRlFz%5#6Fio9IUlKnQ#X&DY8Ux#<-WqxAac-y%U_L+EZZ4Rg5*yNg`f< zSZn&uio@zanUCPqX1l4W&B!;UWs#P7B^|4WwoCxQXl|44n^cBNqu=3Vl*ltAqsUQO z9q_@nD0zq0O8r`coEm>9+|rA3HL#l}X;0##>SJS$cVavOZVCpSGf4mUU1( zWaRCUYc^9QbG9=vpWo%xP}CMFnMb{reA`K7tT(t5DM)d9l}jVPY>qoRzT zE3m-p#=i=$9x*CB`AL>SY}u3agYFl#uULNen#&44H;!L@I{RI=PlWxG8J((f)ma7A z@jLvQ>?Nx`n?3ChRG#HqE3MXP8*o3!Qq`+t8EMt_p)oeKHqPusBxPn!#?R??-=e3e zo73WNs_IZF`WLigre=|`aS2^> zN1zn!7k&Dh28t%VpJ%**&E!eAcB5oLjQFFcJQj*URMia%Ya3@q1UQ18=oWMM6`I}iT_&L1gl?*~6nU4q4Z0`H<5yDp(HeZ+RGf9`mM&= zn-qRp%i!g$R;i1d1aMZ{IewNjE@p2+Z{`x{*xL*x$?WV~{BjJpsP&C&JK0HLoyf z`0z^v&fBQSa!I7FU~9MaQ%e|?RP>sM^2PL!mE^Q1Ig_4M$5BRfi72oMYu6Ke?wmDX z@0a%-V|z}b23K=ye(W+fG#w|jJUnT{=KR5jfuq!RX}<1irTDw(${<&}dWQu4;EuE< z@3u4dBkQaCHHM&;cE0z50_V!(vJ1_V)A8?C#eJuLkt!98Z%|Bgzidc0j|z(&o)TCzYlrgZA zC3@i>L!&Gw_~7`>puB97I2lK)lESZQqVXc_8T^G2O#VHhO?IC$g zOYhXJ7)~C<8l|Xrftka@QuowScM{K&0zskoU$Aw~vIRVRF9TEQ4*3=_5)98B`=t8(N%ZuWqmwlW zllAzq=E5_5!sKDXam@w`ZD(nl%LAPxQuEtDcKPqu9LPJvNIITawU#c^PQ2HmZgs)r zH^+gRwZ?0)8IFQgU)+p@0Iqb^tcEoqcB@zhfz_FaOM&_d<|jnU>q5nSKa<@%9|dje zIupcg1!tRiMP4X=oG<7s4|AW&^-Cw4FL9OuI$t zxjc*y;Uw!G7a|jz>E*2+PlR(CemWebS7m-&*CDwnmxbiRqJvQ&os-sC&4OWt^(2@vG4|jui#Df@-D= zh3D%8Y3R6+jRBStSvH9pt&tCI`NK08J1*pC(?OM0h!bS-JK3I}`pDY-fDIaB_*W6KS+TO0Q*%kkeuN6uWITt=TsCGw6uBE710q; zRluI%j{?@jwhM|l5&TB!-TkQs!A=DXRE>u18t@;zndD0M$U@Igrt?UW2; z7%=dsHIVH_LCkGUU0fW&UMjDnvjcc0Mp(mK&;d~ZJ5EJ)#7@aTZvGDFXzFZg2Lq~s z5PR_LazNN)JD5K_uK*Hy{mXuHTkGGv|9V8KP#iQ$3!G*^>7UiE{|1G1A-qg(xH;Xa>&%f|BZkH zG=J^0pHzSAqv5*5ysQ{Puy^-_|IPrii zKS$mE10Zngf>Sgg@BjpRyJbrHeo zD8Ro0LI*W#+9?^xlOS^c>Z^^n^0I|FH^@^`ZR`{H=$ zjO0_$cnpBM7Zcm?H_RXIu-Lu~qweDSV|tEZBZh!e6hQy->}e;d#osZ1hQj{HhHkC0 zJ|F-HKmeTGgDe979ogBz24;@<|I7;TU!IXb@oWMsMECIETmQy`zPtM`|NP}PjzR_u zKMG1Z{%1kWeMfEf(10U#w!clmQ2)JC8zm(Fv!H4dUHQHCFLikID?hrd{0>kCQt?kP zdqn2ZG0}ytcQJ7t_B3s0ZvH3PYjkjQ`Q%;jV@?MK-+z3etBCGGo4f4`y^|AdCs!DH zThTQ;cL5dM{|tB_1y6K3bVa^hx_<9J(}5`2SDz1^0bT!Vm*JV;9~t&{IC{$DUAVV* z{|E=#yN{wNdTY@$6z{_KNA3&%w|vFu1n9XRcM0Ak>`UW!lQ`ah3D4r%}Z diff --git a/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/gradle/wrapper/gradle-wrapper.properties b/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index f398c33c4b0..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip -networkTimeout=10000 -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/gradlew b/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/gradlew deleted file mode 100755 index 79a61d421cc..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/gradlew +++ /dev/null @@ -1,244 +0,0 @@ -#!/bin/sh - -# -# Copyright © 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -# This is normally unused -# shellcheck disable=SC2034 -APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/gradlew.bat b/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/gradlew.bat deleted file mode 100644 index 93e3f59f135..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/gradlew.bat +++ /dev/null @@ -1,92 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/test.py b/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/test.py index 359771ac6c0..d242adbe434 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/gradle_groovy_app/test.py @@ -1,7 +1,2 @@ -import platform -from create_database_utils import * - -gradle_cmd = "gradlew.bat" if platform.system() == "Windows" else "./gradlew" - -run_codeql_database_create( - ["%s build --no-daemon --no-build-cache" % gradle_cmd], lang="java") +def test(codeql, java_full, gradle_7_6): + codeql.database.create(command=f"{gradle_7_6} build") diff --git a/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/.gitattributes b/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/.gitattributes deleted file mode 100644 index 00a51aff5e5..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/.gitattributes +++ /dev/null @@ -1,6 +0,0 @@ -# -# https://help.github.com/articles/dealing-with-line-endings/ -# -# These are explicitly windows files and should use crlf -*.bat text eol=crlf - diff --git a/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/diagnostics.expected b/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/diag.expected similarity index 100% rename from java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/diagnostics.expected rename to java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/diag.expected diff --git a/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/diagnostics.ql b/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/diag.ql similarity index 100% rename from java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/diagnostics.ql rename to java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/diag.ql diff --git a/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/force_sequential_test_execution deleted file mode 100644 index b0e2500b259..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/force_sequential_test_execution +++ /dev/null @@ -1,3 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. diff --git a/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/gradle/wrapper/gradle-wrapper.jar b/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index ccebba7710deaf9f98673a68957ea02138b60d0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61608 zcmb5VV{~QRw)Y#`wrv{~+qP{x72B%VwzFc}c2cp;N~)5ZbDrJayPv(!dGEd-##*zr z)#n-$y^sH|_dchh3@8{H5D*j;5D<{i*8l5IFJ|DjL!e)upfGNX(kojugZ3I`oH1PvW`wFW_ske0j@lB9bX zO;2)`y+|!@X(fZ1<2n!Qx*)_^Ai@Cv-dF&(vnudG?0CsddG_&Wtae(n|K59ew)6St z#dj7_(Cfwzh$H$5M!$UDd8=4>IQsD3xV=lXUq($;(h*$0^yd+b{qq63f0r_de#!o_ zXDngc>zy`uor)4A^2M#U*DC~i+dc<)Tb1Tv&~Ev@oM)5iJ4Sn#8iRw16XXuV50BS7 zdBL5Mefch(&^{luE{*5qtCZk$oFr3RH=H!c3wGR=HJ(yKc_re_X9pD` zJ;uxPzUfVpgU>DSq?J;I@a+10l0ONXPcDkiYcihREt5~T5Gb}sT0+6Q;AWHl`S5dV>lv%-p9l#xNNy7ZCr%cyqHY%TZ8Q4 zbp&#ov1*$#grNG#1vgfFOLJCaNG@K|2!W&HSh@3@Y%T?3YI75bJp!VP*$*!< z;(ffNS_;@RJ`=c7yX04!u3JP*<8jeqLHVJu#WV&v6wA!OYJS4h<_}^QI&97-;=ojW zQ-1t)7wnxG*5I%U4)9$wlv5Fr;cIizft@&N+32O%B{R1POm$oap@&f| zh+5J{>U6ftv|vAeKGc|zC=kO(+l7_cLpV}-D#oUltScw})N>~JOZLU_0{Ka2e1evz z{^a*ZrLr+JUj;)K&u2CoCAXLC2=fVScI(m_p~0FmF>>&3DHziouln?;sxW`NB}cSX z8?IsJB)Z=aYRz!X=yJn$kyOWK%rCYf-YarNqKzmWu$ZvkP12b4qH zhS9Q>j<}(*frr?z<%9hl*i^#@*O2q(Z^CN)c2c z>1B~D;@YpG?G!Yk+*yn4vM4sO-_!&m6+`k|3zd;8DJnxsBYtI;W3We+FN@|tQ5EW= z!VU>jtim0Mw#iaT8t_<+qKIEB-WwE04lBd%Letbml9N!?SLrEG$nmn7&W(W`VB@5S zaY=sEw2}i@F_1P4OtEw?xj4@D6>_e=m=797#hg}f*l^`AB|Y0# z9=)o|%TZFCY$SzgSjS|8AI-%J4x}J)!IMxY3_KYze`_I=c1nmrk@E8c9?MVRu)7+Ue79|)rBX7tVB7U|w4*h(;Gi3D9le49B38`wuv zp7{4X^p+K4*$@gU(Tq3K1a#3SmYhvI42)GzG4f|u zwQFT1n_=n|jpi=70-yE9LA+d*T8u z`=VmmXJ_f6WmZveZPct$Cgu^~gFiyL>Lnpj*6ee>*0pz=t$IJ}+rE zsf@>jlcG%Wx;Cp5x)YSVvB1$yyY1l&o zvwX=D7k)Dn;ciX?Z)Pn8$flC8#m`nB&(8?RSdBvr?>T9?E$U3uIX7T?$v4dWCa46 z+&`ot8ZTEgp7G+c52oHJ8nw5}a^dwb_l%MOh(ebVj9>_koQP^$2B~eUfSbw9RY$_< z&DDWf2LW;b0ZDOaZ&2^i^g+5uTd;GwO(-bbo|P^;CNL-%?9mRmxEw~5&z=X^Rvbo^WJW=n_%*7974RY}JhFv46> zd}`2|qkd;89l}R;i~9T)V-Q%K)O=yfVKNM4Gbacc7AOd>#^&W&)Xx!Uy5!BHnp9kh z`a(7MO6+Ren#>R^D0K)1sE{Bv>}s6Rb9MT14u!(NpZOe-?4V=>qZ>}uS)!y~;jEUK z&!U7Fj&{WdgU#L0%bM}SYXRtM5z!6M+kgaMKt%3FkjWYh=#QUpt$XX1!*XkpSq-pl zhMe{muh#knk{9_V3%qdDcWDv}v)m4t9 zQhv{;} zc{}#V^N3H>9mFM8`i`0p+fN@GqX+kl|M94$BK3J-X`Hyj8r!#x6Vt(PXjn?N)qedP z=o1T^#?1^a{;bZ&x`U{f?}TMo8ToN zkHj5v|}r}wDEi7I@)Gj+S1aE-GdnLN+$hw!=DzglMaj#{qjXi_dwpr|HL(gcCXwGLEmi|{4&4#OZ4ChceA zKVd4K!D>_N=_X;{poT~4Q+!Le+ZV>=H7v1*l%w`|`Dx8{)McN@NDlQyln&N3@bFpV z_1w~O4EH3fF@IzJ9kDk@7@QctFq8FbkbaH7K$iX=bV~o#gfh?2JD6lZf(XP>~DACF)fGFt)X%-h1yY~MJU{nA5 ze2zxWMs{YdX3q5XU*9hOH0!_S24DOBA5usB+Ws$6{|AMe*joJ?RxfV}*7AKN9V*~J zK+OMcE@bTD>TG1*yc?*qGqjBN8mgg@h1cJLDv)0!WRPIkC` zZrWXrceVw;fB%3`6kq=a!pq|hFIsQ%ZSlo~)D z|64!aCnw-?>}AG|*iOl44KVf8@|joXi&|)1rB;EQWgm+iHfVbgllP$f!$Wf42%NO5b(j9Bw6L z;0dpUUK$5GX4QbMlTmLM_jJt!ur`_0~$b#BB7FL*%XFf<b__1o)Ao3rlobbN8-(T!1d-bR8D3S0@d zLI!*GMb5s~Q<&sjd}lBb8Nr0>PqE6_!3!2d(KAWFxa{hm`@u|a(%#i(#f8{BP2wbs zt+N_slWF4IF_O|{w`c~)Xvh&R{Au~CFmW#0+}MBd2~X}t9lz6*E7uAD`@EBDe$>7W zzPUkJx<`f$0VA$=>R57^(K^h86>09?>_@M(R4q($!Ck6GG@pnu-x*exAx1jOv|>KH zjNfG5pwm`E-=ydcb+3BJwuU;V&OS=6yM^4Jq{%AVqnTTLwV`AorIDD}T&jWr8pB&j28fVtk_y*JRP^t@l*($UZ z6(B^-PBNZ+z!p?+e8@$&jCv^EWLb$WO=}Scr$6SM*&~B95El~;W_0(Bvoha|uQ1T< zO$%_oLAwf1bW*rKWmlD+@CP&$ObiDy=nh1b2ejz%LO9937N{LDe7gle4i!{}I$;&Y zkexJ9Ybr+lrCmKWg&}p=`2&Gf10orS?4$VrzWidT=*6{KzOGMo?KI0>GL0{iFWc;C z+LPq%VH5g}6V@-tg2m{C!-$fapJ9y}c$U}aUmS{9#0CM*8pC|sfer!)nG7Ji>mfRh z+~6CxNb>6eWKMHBz-w2{mLLwdA7dA-qfTu^A2yG1+9s5k zcF=le_UPYG&q!t5Zd_*E_P3Cf5T6821bO`daa`;DODm8Ih8k89=RN;-asHIigj`n=ux>*f!OC5#;X5i;Q z+V!GUy0|&Y_*8k_QRUA8$lHP;GJ3UUD08P|ALknng|YY13)}!!HW@0z$q+kCH%xet zlWf@BXQ=b=4}QO5eNnN~CzWBbHGUivG=`&eWK}beuV*;?zt=P#pM*eTuy3 zP}c#}AXJ0OIaqXji78l;YrP4sQe#^pOqwZUiiN6^0RCd#D271XCbEKpk`HI0IsN^s zES7YtU#7=8gTn#lkrc~6)R9u&SX6*Jk4GFX7){E)WE?pT8a-%6P+zS6o&A#ml{$WX zABFz#i7`DDlo{34)oo?bOa4Z_lNH>n;f0nbt$JfAl~;4QY@}NH!X|A$KgMmEsd^&Y zt;pi=>AID7ROQfr;MsMtClr5b0)xo|fwhc=qk33wQ|}$@?{}qXcmECh>#kUQ-If0$ zseb{Wf4VFGLNc*Rax#P8ko*=`MwaR-DQ8L8V8r=2N{Gaips2_^cS|oC$+yScRo*uF zUO|5=?Q?{p$inDpx*t#Xyo6=s?bbN}y>NNVxj9NZCdtwRI70jxvm3!5R7yiWjREEd zDUjrsZhS|P&|Ng5r+f^kA6BNN#|Se}_GF>P6sy^e8kBrgMv3#vk%m}9PCwUWJg-AD zFnZ=}lbi*mN-AOm zCs)r=*YQAA!`e#1N>aHF=bb*z*hXH#Wl$z^o}x##ZrUc=kh%OHWhp=7;?8%Xj||@V?1c ziWoaC$^&04;A|T)!Zd9sUzE&$ODyJaBpvqsw19Uiuq{i#VK1!htkdRWBnb z`{rat=nHArT%^R>u#CjjCkw-7%g53|&7z-;X+ewb?OLWiV|#nuc8mp*LuGSi3IP<<*Wyo9GKV7l0Noa4Jr0g3p_$ z*R9{qn=?IXC#WU>48-k5V2Oc_>P;4_)J@bo1|pf=%Rcbgk=5m)CJZ`caHBTm3%!Z9 z_?7LHr_BXbKKr=JD!%?KhwdYSdu8XxPoA{n8^%_lh5cjRHuCY9Zlpz8g+$f@bw@0V z+6DRMT9c|>1^3D|$Vzc(C?M~iZurGH2pXPT%F!JSaAMdO%!5o0uc&iqHx?ImcX6fI zCApkzc~OOnfzAd_+-DcMp&AOQxE_EsMqKM{%dRMI5`5CT&%mQO?-@F6tE*xL?aEGZ z8^wH@wRl`Izx4sDmU>}Ym{ybUm@F83qqZPD6nFm?t?(7>h*?`fw)L3t*l%*iw0Qu#?$5eq!Qc zpQvqgSxrd83NsdO@lL6#{%lsYXWen~d3p4fGBb7&5xqNYJ)yn84!e1PmPo7ChVd%4 zHUsV0Mh?VpzZD=A6%)Qrd~i7 z96*RPbid;BN{Wh?adeD_p8YU``kOrGkNox3D9~!K?w>#kFz!4lzOWR}puS(DmfjJD z`x0z|qB33*^0mZdM&6$|+T>fq>M%yoy(BEjuh9L0>{P&XJ3enGpoQRx`v6$txXt#c z0#N?b5%srj(4xmPvJxrlF3H%OMB!jvfy z;wx8RzU~lb?h_}@V=bh6p8PSb-dG|-T#A?`c&H2`_!u+uenIZe`6f~A7r)`9m8atC zt(b|6Eg#!Q*DfRU=Ix`#B_dK)nnJ_+>Q<1d7W)eynaVn`FNuN~%B;uO2}vXr5^zi2 z!ifIF5@Zlo0^h~8+ixFBGqtweFc`C~JkSq}&*a3C}L?b5Mh-bW=e)({F_g4O3 zb@SFTK3VD9QuFgFnK4Ve_pXc3{S$=+Z;;4+;*{H}Rc;845rP?DLK6G5Y-xdUKkA6E3Dz&5f{F^FjJQ(NSpZ8q-_!L3LL@H* zxbDF{gd^U3uD;)a)sJwAVi}7@%pRM&?5IaUH%+m{E)DlA_$IA1=&jr{KrhD5q&lTC zAa3c)A(K!{#nOvenH6XrR-y>*4M#DpTTOGQEO5Jr6kni9pDW`rvY*fs|ItV;CVITh z=`rxcH2nEJpkQ^(;1c^hfb8vGN;{{oR=qNyKtR1;J>CByul*+=`NydWnSWJR#I2lN zTvgnR|MBx*XFsfdA&;tr^dYaqRZp*2NwkAZE6kV@1f{76e56eUmGrZ>MDId)oqSWw z7d&r3qfazg+W2?bT}F)4jD6sWaw`_fXZGY&wnGm$FRPFL$HzVTH^MYBHWGCOk-89y zA+n+Q6EVSSCpgC~%uHfvyg@ufE^#u?JH?<73A}jj5iILz4Qqk5$+^U(SX(-qv5agK znUkfpke(KDn~dU0>gdKqjTkVk`0`9^0n_wzXO7R!0Thd@S;U`y)VVP&mOd-2 z(hT(|$=>4FY;CBY9#_lB$;|Wd$aOMT5O_3}DYXEHn&Jrc3`2JiB`b6X@EUOD zVl0S{ijm65@n^19T3l%>*;F(?3r3s?zY{thc4%AD30CeL_4{8x6&cN}zN3fE+x<9; zt2j1RRVy5j22-8U8a6$pyT+<`f+x2l$fd_{qEp_bfxfzu>ORJsXaJn4>U6oNJ#|~p z`*ZC&NPXl&=vq2{Ne79AkQncuxvbOG+28*2wU$R=GOmns3W@HE%^r)Fu%Utj=r9t` zd;SVOnA(=MXgnOzI2@3SGKHz8HN~Vpx&!Ea+Df~`*n@8O=0!b4m?7cE^K*~@fqv9q zF*uk#1@6Re_<^9eElgJD!nTA@K9C732tV~;B`hzZ321Ph=^BH?zXddiu{Du5*IPg} zqDM=QxjT!Rp|#Bkp$(mL)aar)f(dOAXUiw81pX0DC|Y4;>Vz>>DMshoips^8Frdv} zlTD=cKa48M>dR<>(YlLPOW%rokJZNF2gp8fwc8b2sN+i6&-pHr?$rj|uFgktK@jg~ zIFS(%=r|QJ=$kvm_~@n=ai1lA{7Z}i+zj&yzY+!t$iGUy|9jH#&oTNJ;JW-3n>DF+ z3aCOzqn|$X-Olu_p7brzn`uk1F*N4@=b=m;S_C?#hy{&NE#3HkATrg?enaVGT^$qIjvgc61y!T$9<1B@?_ibtDZ{G zeXInVr5?OD_nS_O|CK3|RzzMmu+8!#Zb8Ik;rkIAR%6?$pN@d<0dKD2c@k2quB%s( zQL^<_EM6ow8F6^wJN1QcPOm|ehA+dP(!>IX=Euz5qqIq}Y3;ibQtJnkDmZ8c8=Cf3 zu`mJ!Q6wI7EblC5RvP*@)j?}W=WxwCvF3*5Up_`3*a~z$`wHwCy)2risye=1mSp%p zu+tD6NAK3o@)4VBsM!@);qgsjgB$kkCZhaimHg&+k69~drbvRTacWKH;YCK(!rC?8 zP#cK5JPHSw;V;{Yji=55X~S+)%(8fuz}O>*F3)hR;STU`z6T1aM#Wd+FP(M5*@T1P z^06O;I20Sk!bxW<-O;E081KRdHZrtsGJflFRRFS zdi5w9OVDGSL3 zNrC7GVsGN=b;YH9jp8Z2$^!K@h=r-xV(aEH@#JicPy;A0k1>g1g^XeR`YV2HfmqXY zYbRwaxHvf}OlCAwHoVI&QBLr5R|THf?nAevV-=~V8;gCsX>jndvNOcFA+DI+zbh~# zZ7`qNk&w+_+Yp!}j;OYxIfx_{f0-ONc?mHCiCUak=>j>~>YR4#w# zuKz~UhT!L~GfW^CPqG8Lg)&Rc6y^{%3H7iLa%^l}cw_8UuG;8nn9)kbPGXS}p3!L_ zd#9~5CrH8xtUd?{d2y^PJg+z(xIfRU;`}^=OlehGN2=?}9yH$4Rag}*+AWotyxfCJ zHx=r7ZH>j2kV?%7WTtp+-HMa0)_*DBBmC{sd$)np&GEJ__kEd`xB5a2A z*J+yx>4o#ZxwA{;NjhU*1KT~=ZK~GAA;KZHDyBNTaWQ1+;tOFFthnD)DrCn`DjBZ% zk$N5B4^$`n^jNSOr=t(zi8TN4fpaccsb`zOPD~iY=UEK$0Y70bG{idLx@IL)7^(pL z{??Bnu=lDeguDrd%qW1)H)H`9otsOL-f4bSu};o9OXybo6J!Lek`a4ff>*O)BDT_g z<6@SrI|C9klY(>_PfA^qai7A_)VNE4c^ZjFcE$Isp>`e5fLc)rg@8Q_d^Uk24$2bn z9#}6kZ2ZxS9sI(RqT7?El2@B+($>eBQrNi_k#CDJ8D9}8$mmm z4oSKO^F$i+NG)-HE$O6s1--6EzJa?C{x=QgK&c=)b(Q9OVoAXYEEH20G|q$}Hue%~ zO3B^bF=t7t48sN zWh_zA`w~|){-!^g?6Mqf6ieV zFx~aPUOJGR=4{KsW7I?<=J2|lY`NTU=lt=%JE9H1vBpkcn=uq(q~=?iBt_-r(PLBM zP-0dxljJO>4Wq-;stY)CLB4q`-r*T$!K2o}?E-w_i>3_aEbA^MB7P5piwt1dI-6o!qWCy0 ztYy!x9arGTS?kabkkyv*yxvsPQ7Vx)twkS6z2T@kZ|kb8yjm+^$|sEBmvACeqbz)RmxkkDQX-A*K!YFziuhwb|ym>C$}U|J)4y z$(z#)GH%uV6{ec%Zy~AhK|+GtG8u@c884Nq%w`O^wv2#A(&xH@c5M`Vjk*SR_tJnq z0trB#aY)!EKW_}{#L3lph5ow=@|D5LzJYUFD6 z7XnUeo_V0DVSIKMFD_T0AqAO|#VFDc7c?c-Q%#u00F%!_TW1@JVnsfvm@_9HKWflBOUD~)RL``-!P;(bCON_4eVdduMO>?IrQ__*zE@7(OX zUtfH@AX*53&xJW*Pu9zcqxGiM>xol0I~QL5B%Toog3Jlenc^WbVgeBvV8C8AX^Vj& z^I}H})B=VboO%q1;aU5ACMh{yK4J;xlMc`jCnZR^!~LDs_MP&8;dd@4LDWw~*>#OT zeZHwdQWS!tt5MJQI~cw|Ka^b4c|qyd_ly(+Ql2m&AAw^ zQeSXDOOH!!mAgzAp0z)DD>6Xo``b6QwzUV@w%h}Yo>)a|xRi$jGuHQhJVA%>)PUvK zBQ!l0hq<3VZ*RnrDODP)>&iS^wf64C;MGqDvx>|p;35%6(u+IHoNbK z;Gb;TneFo*`zUKS6kwF*&b!U8e5m4YAo03a_e^!5BP42+r)LFhEy?_7U1IR<; z^0v|DhCYMSj<-;MtY%R@Fg;9Kky^pz_t2nJfKWfh5Eu@_l{^ph%1z{jkg5jQrkvD< z#vdK!nku*RrH~TdN~`wDs;d>XY1PH?O<4^U4lmA|wUW{Crrv#r%N>7k#{Gc44Fr|t z@UZP}Y-TrAmnEZ39A*@6;ccsR>)$A)S>$-Cj!=x$rz7IvjHIPM(TB+JFf{ehuIvY$ zsDAwREg*%|=>Hw$`us~RP&3{QJg%}RjJKS^mC_!U;E5u>`X`jW$}P`Mf}?7G7FX#{ zE(9u1SO;3q@ZhDL9O({-RD+SqqPX)`0l5IQu4q)49TUTkxR(czeT}4`WV~pV*KY&i zAl3~X%D2cPVD^B43*~&f%+Op)wl<&|D{;=SZwImydWL6@_RJjxP2g)s=dH)u9Npki zs~z9A+3fj0l?yu4N0^4aC5x)Osnm0qrhz@?nwG_`h(71P znbIewljU%T*cC=~NJy|)#hT+lx#^5MuDDnkaMb*Efw9eThXo|*WOQzJ*#3dmRWm@! zfuSc@#kY{Um^gBc^_Xdxnl!n&y&}R4yAbK&RMc+P^Ti;YIUh|C+K1|=Z^{nZ}}rxH*v{xR!i%qO~o zTr`WDE@k$M9o0r4YUFFeQO7xCu_Zgy)==;fCJ94M_rLAv&~NhfvcLWCoaGg2ao~3e zBG?Ms9B+efMkp}7BhmISGWmJsKI@a8b}4lLI48oWKY|8?zuuNc$lt5Npr+p7a#sWu zh!@2nnLBVJK!$S~>r2-pN||^w|fY`CT{TFnJy`B|e5;=+_v4l8O-fkN&UQbA4NKTyntd zqK{xEKh}U{NHoQUf!M=2(&w+eef77VtYr;xs%^cPfKLObyOV_9q<(%76-J%vR>w9!us-0c-~Y?_EVS%v!* z15s2s3eTs$Osz$JayyH|5nPAIPEX=U;r&p;K14G<1)bvn@?bM5kC{am|C5%hyxv}a z(DeSKI5ZfZ1*%dl8frIX2?);R^^~LuDOpNpk-2R8U1w92HmG1m&|j&J{EK=|p$;f9 z7Rs5|jr4r8k5El&qcuM+YRlKny%t+1CgqEWO>3;BSRZi(LA3U%Jm{@{y+A+w(gzA< z7dBq6a1sEWa4cD0W7=Ld9z0H7RI^Z7vl(bfA;72j?SWCo`#5mVC$l1Q2--%V)-uN* z9ha*s-AdfbDZ8R8*fpwjzx=WvOtmSzGFjC#X)hD%Caeo^OWjS(3h|d9_*U)l%{Ab8 zfv$yoP{OuUl@$(-sEVNt{*=qi5P=lpxWVuz2?I7Dc%BRc+NGNw+323^ z5BXGfS71oP^%apUo(Y#xkxE)y?>BFzEBZ}UBbr~R4$%b7h3iZu3S(|A;&HqBR{nK& z$;GApNnz=kNO^FL&nYcfpB7Qg;hGJPsCW44CbkG1@l9pn0`~oKy5S777uH)l{irK!ru|X+;4&0D;VE*Ii|<3P zUx#xUqvZT5kVQxsF#~MwKnv7;1pR^0;PW@$@T7I?s`_rD1EGUdSA5Q(C<>5SzE!vw z;{L&kKFM-MO>hy#-8z`sdVx})^(Dc-dw;k-h*9O2_YZw}|9^y-|8RQ`BWJUJL(Cer zP5Z@fNc>pTXABbTRY-B5*MphpZv6#i802giwV&SkFCR zGMETyUm(KJbh+&$8X*RB#+{surjr;8^REEt`2&Dubw3$mx>|~B5IKZJ`s_6fw zKAZx9&PwBqW1Oz0r0A4GtnZd7XTKViX2%kPfv+^X3|_}RrQ2e3l=KG_VyY`H?I5&CS+lAX5HbA%TD9u6&s#v!G> zzW9n4J%d5ye7x0y`*{KZvqyXUfMEE^ZIffzI=Hh|3J}^yx7eL=s+TPH(Q2GT-sJ~3 zI463C{(ag7-hS1ETtU;_&+49ABt5!A7CwLwe z=SoA8mYZIQeU;9txI=zcQVbuO%q@E)JI+6Q!3lMc=Gbj(ASg-{V27u>z2e8n;Nc*pf}AqKz1D>p9G#QA+7mqqrEjGfw+85Uyh!=tTFTv3|O z+)-kFe_8FF_EkTw!YzwK^Hi^_dV5x-Ob*UWmD-})qKj9@aE8g240nUh=g|j28^?v7 zHRTBo{0KGaWBbyX2+lx$wgXW{3aUab6Bhm1G1{jTC7ota*JM6t+qy)c5<@ zpc&(jVdTJf(q3xB=JotgF$X>cxh7k*(T`-V~AR+`%e?YOeALQ2Qud( zz35YizXt(aW3qndR}fTw1p()Ol4t!D1pitGNL95{SX4ywzh0SF;=!wf=?Q?_h6!f* zh7<+GFi)q|XBsvXZ^qVCY$LUa{5?!CgwY?EG;*)0ceFe&=A;!~o`ae}Z+6me#^sv- z1F6=WNd6>M(~ z+092z>?Clrcp)lYNQl9jN-JF6n&Y0mp7|I0dpPx+4*RRK+VQI~>en0Dc;Zfl+x z_e_b7s`t1_A`RP3$H}y7F9_na%D7EM+**G_Z0l_nwE+&d_kc35n$Fxkd4r=ltRZhh zr9zER8>j(EdV&Jgh(+i}ltESBK62m0nGH6tCBr90!4)-`HeBmz54p~QP#dsu%nb~W z7sS|(Iydi>C@6ZM(Us!jyIiszMkd)^u<1D+R@~O>HqZIW&kearPWmT>63%_t2B{_G zX{&a(gOYJx!Hq=!T$RZ&<8LDnxsmx9+TBL0gTk$|vz9O5GkK_Yx+55^R=2g!K}NJ3 zW?C;XQCHZl7H`K5^BF!Q5X2^Mj93&0l_O3Ea3!Ave|ixx+~bS@Iv18v2ctpSt4zO{ zp#7pj!AtDmti$T`e9{s^jf(ku&E|83JIJO5Qo9weT6g?@vX!{7)cNwymo1+u(YQ94 zopuz-L@|5=h8A!(g-MXgLJC0MA|CgQF8qlonnu#j z;uCeq9ny9QSD|p)9sp3ebgY3rk#y0DA(SHdh$DUm^?GI<>%e1?&}w(b zdip1;P2Z=1wM+$q=TgLP$}svd!vk+BZ@h<^4R=GS2+sri7Z*2f`9 z5_?i)xj?m#pSVchk-SR!2&uNhzEi+#5t1Z$o0PoLGz*pT64%+|Wa+rd5Z}60(j?X= z{NLjtgRb|W?CUADqOS@(*MA-l|E342NxRaxLTDqsOyfWWe%N(jjBh}G zm7WPel6jXijaTiNita+z(5GCO0NM=Melxud57PP^d_U## zbA;9iVi<@wr0DGB8=T9Ab#2K_#zi=$igyK48@;V|W`fg~7;+!q8)aCOo{HA@vpSy-4`^!ze6-~8|QE||hC{ICKllG9fbg_Y7v z$jn{00!ob3!@~-Z%!rSZ0JO#@>|3k10mLK0JRKP-Cc8UYFu>z93=Ab-r^oL2 zl`-&VBh#=-?{l1TatC;VweM^=M7-DUE>m+xO7Xi6vTEsReyLs8KJ+2GZ&rxw$d4IT zPXy6pu^4#e;;ZTsgmG+ZPx>piodegkx2n0}SM77+Y*j^~ICvp#2wj^BuqRY*&cjmL zcKp78aZt>e{3YBb4!J_2|K~A`lN=u&5j!byw`1itV(+Q_?RvV7&Z5XS1HF)L2v6ji z&kOEPmv+k_lSXb{$)of~(BkO^py&7oOzpjdG>vI1kcm_oPFHy38%D4&A4h_CSo#lX z2#oqMCTEP7UvUR3mwkPxbl8AMW(e{ARi@HCYLPSHE^L<1I}OgZD{I#YH#GKnpRmW3 z2jkz~Sa(D)f?V?$gNi?6)Y;Sm{&?~2p=0&BUl_(@hYeX8YjaRO=IqO7neK0RsSNdYjD zaw$g2sG(>JR=8Iz1SK4`*kqd_3-?;_BIcaaMd^}<@MYbYisWZm2C2|Np_l|8r9yM|JkUngSo@?wci(7&O9a z%|V(4C1c9pps0xxzPbXH=}QTxc2rr7fXk$9`a6TbWKPCz&p=VsB8^W96W=BsB|7bc zf(QR8&Ktj*iz)wK&mW`#V%4XTM&jWNnDF56O+2bo<3|NyUhQ%#OZE8$Uv2a@J>D%t zMVMiHh?es!Ex19q&6eC&L=XDU_BA&uR^^w>fpz2_`U87q_?N2y;!Z!bjoeKrzfC)} z?m^PM=(z{%n9K`p|7Bz$LuC7!>tFOuN74MFELm}OD9?%jpT>38J;=1Y-VWtZAscaI z_8jUZ#GwWz{JqvGEUmL?G#l5E=*m>`cY?m*XOc*yOCNtpuIGD+Z|kn4Xww=BLrNYS zGO=wQh}Gtr|7DGXLF%|`G>J~l{k^*{;S-Zhq|&HO7rC_r;o`gTB7)uMZ|WWIn@e0( zX$MccUMv3ABg^$%_lNrgU{EVi8O^UyGHPNRt%R!1#MQJn41aD|_93NsBQhP80yP<9 zG4(&0u7AtJJXLPcqzjv`S~5;Q|5TVGccN=Uzm}K{v)?f7W!230C<``9(64}D2raRU zAW5bp%}VEo{4Rko`bD%Ehf=0voW?-4Mk#d3_pXTF!-TyIt6U+({6OXWVAa;s-`Ta5 zTqx&8msH3+DLrVmQOTBOAj=uoxKYT3DS1^zBXM?1W+7gI!aQNPYfUl{3;PzS9*F7g zWJN8x?KjBDx^V&6iCY8o_gslO16=kh(|Gp)kz8qlQ`dzxQv;)V&t+B}wwdi~uBs4? zu~G|}y!`3;8#vIMUdyC7YEx6bb^1o}G!Jky4cN?BV9ejBfN<&!4M)L&lRKiuMS#3} z_B}Nkv+zzxhy{dYCW$oGC&J(Ty&7%=5B$sD0bkuPmj7g>|962`(Q{ZZMDv%YMuT^KweiRDvYTEop3IgFv#)(w>1 zSzH>J`q!LK)c(AK>&Ib)A{g`Fdykxqd`Yq@yB}E{gnQV$K!}RsgMGWqC3DKE(=!{}ekB3+(1?g}xF>^icEJbc z5bdxAPkW90atZT+&*7qoLqL#p=>t-(-lsnl2XMpZcYeW|o|a322&)yO_8p(&Sw{|b zn(tY$xn5yS$DD)UYS%sP?c|z>1dp!QUD)l;aW#`%qMtQJjE!s2z`+bTSZmLK7SvCR z=@I4|U^sCwZLQSfd*ACw9B@`1c1|&i^W_OD(570SDLK`MD0wTiR8|$7+%{cF&){$G zU~|$^Ed?TIxyw{1$e|D$050n8AjJvvOWhLtLHbSB|HIfjMp+gu>DraHZJRrdO53(= z+o-f{+qNog+qSLB%KY;5>Av6X(>-qYk3IIEwZ5~6a+P9lMpC^ z8CJ0q>rEpjlsxCvJm=kms@tlN4+sv}He`xkr`S}bGih4t`+#VEIt{1veE z{ZLtb_pSbcfcYPf4=T1+|BtR!x5|X#x2TZEEkUB6kslKAE;x)*0x~ES0kl4Dex4e- zT2P~|lT^vUnMp{7e4OExfxak0EE$Hcw;D$ehTV4a6hqxru0$|Mo``>*a5=1Ym0u>BDJKO|=TEWJ5jZu!W}t$Kv{1!q`4Sn7 zrxRQOt>^6}Iz@%gA3&=5r;Lp=N@WKW;>O!eGIj#J;&>+3va^~GXRHCY2}*g#9ULab zitCJt-OV0*D_Q3Q`p1_+GbPxRtV_T`jyATjax<;zZ?;S+VD}a(aN7j?4<~>BkHK7bO8_Vqfdq1#W&p~2H z&w-gJB4?;Q&pG9%8P(oOGZ#`!m>qAeE)SeL*t8KL|1oe;#+uOK6w&PqSDhw^9-&Fa zuEzbi!!7|YhlWhqmiUm!muO(F8-F7|r#5lU8d0+=;<`{$mS=AnAo4Zb^{%p}*gZL! zeE!#-zg0FWsSnablw!9$<&K(#z!XOW z;*BVx2_+H#`1b@>RtY@=KqD)63brP+`Cm$L1@ArAddNS1oP8UE$p05R=bvZoYz+^6 z<)!v7pRvi!u_-V?!d}XWQR1~0q(H3{d^4JGa=W#^Z<@TvI6J*lk!A zZ*UIKj*hyO#5akL*Bx6iPKvR3_2-^2mw|Rh-3O_SGN3V9GRo52Q;JnW{iTGqb9W99 z7_+F(Op6>~3P-?Q8LTZ-lwB}xh*@J2Ni5HhUI3`ct|*W#pqb>8i*TXOLn~GlYECIj zhLaa_rBH|1jgi(S%~31Xm{NB!30*mcsF_wgOY2N0XjG_`kFB+uQuJbBm3bIM$qhUyE&$_u$gb zpK_r{99svp3N3p4yHHS=#csK@j9ql*>j0X=+cD2dj<^Wiu@i>c_v zK|ovi7}@4sVB#bzq$n3`EgI?~xDmkCW=2&^tD5RuaSNHf@Y!5C(Is$hd6cuyoK|;d zO}w2AqJPS`Zq+(mc*^%6qe>1d&(n&~()6-ZATASNPsJ|XnxelLkz8r1x@c2XS)R*H(_B=IN>JeQUR;T=i3<^~;$<+8W*eRKWGt7c#>N`@;#!`kZ!P!&{9J1>_g8Zj zXEXxmA=^{8A|3=Au+LfxIWra)4p<}1LYd_$1KI0r3o~s1N(x#QYgvL4#2{z8`=mXy zQD#iJ0itk1d@Iy*DtXw)Wz!H@G2St?QZFz zVPkM%H8Cd2EZS?teQN*Ecnu|PrC!a7F_XX}AzfZl3fXfhBtc2-)zaC2eKx*{XdM~QUo4IwcGgVdW69 z1UrSAqqMALf^2|(I}hgo38l|Ur=-SC*^Bo5ej`hb;C$@3%NFxx5{cxXUMnTyaX{>~ zjL~xm;*`d08bG_K3-E+TI>#oqIN2=An(C6aJ*MrKlxj?-;G zICL$hi>`F%{xd%V{$NhisHSL~R>f!F7AWR&7b~TgLu6!3s#~8|VKIX)KtqTH5aZ8j zY?wY)XH~1_a3&>#j7N}0az+HZ;is;Zw(Am{MX}YhDTe(t{ZZ;TG}2qWYO+hdX}vp9 z@uIRR8g#y~-^E`Qyem(31{H0&V?GLdq9LEOb2(ea#e-$_`5Q{T%E?W(6 z(XbX*Ck%TQM;9V2LL}*Tf`yzai{0@pYMwBu%(I@wTY!;kMrzcfq0w?X`+y@0ah510 zQX5SU(I!*Fag4U6a7Lw%LL;L*PQ}2v2WwYF(lHx_Uz2ceI$mnZ7*eZ?RFO8UvKI0H z9Pq-mB`mEqn6n_W9(s~Jt_D~j!Ln9HA)P;owD-l~9FYszs)oEKShF9Zzcmnb8kZ7% zQ`>}ki1kwUO3j~ zEmh140sOkA9v>j@#56ymn_RnSF`p@9cO1XkQy6_Kog?0ivZDb`QWOX@tjMd@^Qr(p z!sFN=A)QZm!sTh(#q%O{Ovl{IxkF!&+A)w2@50=?a-+VuZt6On1;d4YtUDW{YNDN_ zG@_jZi1IlW8cck{uHg^g=H58lPQ^HwnybWy@@8iw%G! zwB9qVGt_?~M*nFAKd|{cGg+8`+w{j_^;nD>IrPf-S%YjBslSEDxgKH{5p)3LNr!lD z4ii)^%d&cCXIU7UK?^ZQwmD(RCd=?OxmY(Ko#+#CsTLT;p#A%{;t5YpHFWgl+@)N1 zZ5VDyB;+TN+g@u~{UrWrv)&#u~k$S&GeW)G{M#&Di)LdYk?{($Cq zZGMKeYW)aMtjmKgvF0Tg>Mmkf9IB#2tYmH-s%D_9y3{tfFmX1BSMtbe<(yqAyWX60 zzkgSgKb3c{QPG2MalYp`7mIrYg|Y<4Jk?XvJK)?|Ecr+)oNf}XLPuTZK%W>;<|r+% zTNViRI|{sf1v7CsWHvFrkQ$F7+FbqPQ#Bj7XX=#M(a~9^80}~l-DueX#;b}Ajn3VE z{BWI}$q{XcQ3g{(p>IOzFcAMDG0xL)H%wA)<(gl3I-oVhK~u_m=hAr&oeo|4lZbf} z+pe)c34Am<=z@5!2;_lwya;l?xV5&kWe}*5uBvckm(d|7R>&(iJNa6Y05SvlZcWBlE{{%2- z`86)Y5?H!**?{QbzGG~|k2O%eA8q=gxx-3}&Csf6<9BsiXC)T;x4YmbBIkNf;0Nd5 z%whM^!K+9zH>on_<&>Ws?^v-EyNE)}4g$Fk?Z#748e+GFp)QrQQETx@u6(1fk2!(W zWiCF~MomG*y4@Zk;h#2H8S@&@xwBIs|82R*^K(i*0MTE%Rz4rgO&$R zo9Neb;}_ulaCcdn3i17MO3NxzyJ=l;LU*N9ztBJ30j=+?6>N4{9YXg$m=^9@Cl9VY zbo^{yS@gU=)EpQ#;UIQBpf&zfCA;00H-ee=1+TRw@(h%W=)7WYSb5a%$UqNS@oI@= zDrq|+Y9e&SmZrH^iA>Of8(9~Cf-G(P^5Xb%dDgMMIl8gk6zdyh`D3OGNVV4P9X|EvIhplXDld8d z^YWtYUz@tpg*38Xys2?zj$F8%ivA47cGSl;hjD23#*62w3+fwxNE7M7zVK?x_`dBSgPK zWY_~wF~OEZi9|~CSH8}Xi>#8G73!QLCAh58W+KMJJC81{60?&~BM_0t-u|VsPBxn* zW7viEKwBBTsn_A{g@1!wnJ8@&h&d>!qAe+j_$$Vk;OJq`hrjzEE8Wjtm)Z>h=*M25 zOgETOM9-8xuuZ&^@rLObtcz>%iWe%!uGV09nUZ*nxJAY%&KAYGY}U1WChFik7HIw% zZP$3Bx|TG_`~19XV7kfi2GaBEhKap&)Q<9`aPs#^!kMjtPb|+-fX66z3^E)iwyXK7 z8)_p<)O{|i&!qxtgBvWXx8*69WO$5zACl++1qa;)0zlXf`eKWl!0zV&I`8?sG)OD2Vy?reNN<{eK+_ za4M;Hh%&IszR%)&gpgRCP}yheQ+l#AS-GnY81M!kzhWxIR?PW`G3G?} z$d%J28uQIuK@QxzGMKU_;r8P0+oIjM+k)&lZ39i#(ntY)*B$fdJnQ3Hw3Lsi8z&V+ zZly2}(Uzpt2aOubRjttzqrvinBFH4jrN)f0hy)tj4__UTwN)#1fj3-&dC_Vh7}ri* zfJ=oqLMJ-_<#rwVyN}_a-rFBe2>U;;1(7UKH!$L??zTbbzP#bvyg7OQBGQklJ~DgP zd<1?RJ<}8lWwSL)`jM53iG+}y2`_yUvC!JkMpbZyb&50V3sR~u+lok zT0uFRS-yx@8q4fPRZ%KIpLp8R#;2%c&Ra4p(GWRT4)qLaPNxa&?8!LRVdOUZ)2vrh zBSx&kB%#Y4!+>~)<&c>D$O}!$o{<1AB$M7-^`h!eW;c(3J~ztoOgy6Ek8Pwu5Y`Xion zFl9fb!k2`3uHPAbd(D^IZmwR5d8D$495nN2`Ue&`W;M-nlb8T-OVKt|fHk zBpjX$a(IR6*-swdNk@#}G?k6F-~c{AE0EWoZ?H|ZpkBxqU<0NUtvubJtwJ1mHV%9v?GdDw; zAyXZiD}f0Zdt-cl9(P1la+vQ$Er0~v}gYJVwQazv zH#+Z%2CIfOf90fNMGos|{zf&N`c0@x0N`tkFv|_9af3~<0z@mnf*e;%r*Fbuwl-IW z{}B3=(mJ#iwLIPiUP`J3SoP~#)6v;aRXJ)A-pD2?_2_CZ#}SAZ<#v7&Vk6{*i(~|5 z9v^nC`T6o`CN*n%&9+bopj^r|E(|pul;|q6m7Tx+U|UMjWK8o-lBSgc3ZF=rP{|l9 zc&R$4+-UG6i}c==!;I#8aDIbAvgLuB66CQLRoTMu~jdw`fPlKy@AKYWS-xyZzPg&JRAa@m-H43*+ne!8B7)HkQY4 zIh}NL4Q79a-`x;I_^>s$Z4J4-Ngq=XNWQ>yAUCoe&SMAYowP>r_O}S=V+3=3&(O=h zNJDYNs*R3Y{WLmBHc?mFEeA4`0Y`_CN%?8qbDvG2m}kMAiqCv`_BK z_6a@n`$#w6Csr@e2YsMx8udNWtNt=kcqDZdWZ-lGA$?1PA*f4?X*)hjn{sSo8!bHz zb&lGdAgBx@iTNPK#T_wy`KvOIZvTWqSHb=gWUCKXAiB5ckQI`1KkPx{{%1R*F2)Oc z(9p@yG{fRSWE*M9cdbrO^)8vQ2U`H6M>V$gK*rz!&f%@3t*d-r3mSW>D;wYxOhUul zk~~&ip5B$mZ~-F1orsq<|1bc3Zpw6)Ws5;4)HilsN;1tx;N6)tuePw& z==OlmaN*ybM&-V`yt|;vDz(_+UZ0m&&9#{9O|?0I|4j1YCMW;fXm}YT$0%EZ5^YEI z4i9WV*JBmEU{qz5O{#bs`R1wU%W$qKx?bC|e-iS&d*Qm7S=l~bMT{~m3iZl+PIXq{ zn-c~|l)*|NWLM%ysfTV-oR0AJ3O>=uB-vpld{V|cWFhI~sx>ciV9sPkC*3i0Gg_9G!=4ar*-W?D9)?EFL1=;O+W8}WGdp8TT!Fgv z{HKD`W>t(`Cds_qliEzuE!r{ihwEv1l5o~iqlgjAyGBi)$%zNvl~fSlg@M=C{TE;V zQkH`zS8b&!ut(m)%4n2E6MB>p*4(oV>+PT51#I{OXs9j1vo>9I<4CL1kv1aurV*AFZ^w_qfVL*G2rG@D2 zrs87oV3#mf8^E5hd_b$IXfH6vHe&lm@7On~Nkcq~YtE!}ad~?5*?X*>y`o;6Q9lkk zmf%TYonZM`{vJg$`lt@MXsg%*&zZZ0uUSse8o=!=bfr&DV)9Y6$c!2$NHyYAQf*Rs zk{^?gl9E z5Im8wlAsvQ6C2?DyG@95gUXZ3?pPijug25g;#(esF_~3uCj3~94}b*L>N2GSk%Qst z=w|Z>UX$m!ZOd(xV*2xvWjN&c5BVEdVZ0wvmk)I+YxnyK%l~caR=7uNQ=+cnNTLZ@&M!I$Mj-r{!P=; z`C2)D=VmvK8@T5S9JZoRtN!S*D_oqOxyy!q6Zk|~4aT|*iRN)fL)c>-yycR>-is0X zKrko-iZw(f(!}dEa?hef5yl%p0-v-8#8CX8!W#n2KNyT--^3hq6r&`)5Y@>}e^4h- zlPiDT^zt}Ynk&x@F8R&=)k8j$=N{w9qUcIc&)Qo9u4Y(Ae@9tA`3oglxjj6c{^pN( zQH+Uds2=9WKjH#KBIwrQI%bbs`mP=7V>rs$KG4|}>dxl_k!}3ZSKeEen4Iswt96GGw`E6^5Ov)VyyY}@itlj&sao|>Sb5 zeY+#1EK(}iaYI~EaHQkh7Uh>DnzcfIKv8ygx1Dv`8N8a6m+AcTa-f;17RiEed>?RT zk=dAksmFYPMV1vIS(Qc6tUO+`1jRZ}tcDP? zt)=7B?yK2RcAd1+Y!$K5*ds=SD;EEqCMG6+OqPoj{&8Y5IqP(&@zq@=A7+X|JBRi4 zMv!czlMPz)gt-St2VZwDD=w_S>gRpc-g zUd*J3>bXeZ?Psjohe;z7k|d<*T21PA1i)AOi8iMRwTBSCd0ses{)Q`9o&p9rsKeLaiY zluBw{1r_IFKR76YCAfl&_S1*(yFW8HM^T()&p#6y%{(j7Qu56^ZJx1LnN`-RTwimdnuo*M8N1ISl+$C-%=HLG-s} zc99>IXRG#FEWqSV9@GFW$V8!{>=lSO%v@X*pz*7()xb>=yz{E$3VE;e)_Ok@A*~El zV$sYm=}uNlUxV~6e<6LtYli1!^X!Ii$L~j4e{sI$tq_A(OkGquC$+>Rw3NFObV2Z)3Rt~Jr{oYGnZaFZ^g5TDZlg;gaeIP} z!7;T{(9h7mv{s@piF{-35L=Ea%kOp;^j|b5ZC#xvD^^n#vPH=)lopYz1n?Kt;vZmJ z!FP>Gs7=W{sva+aO9S}jh0vBs+|(B6Jf7t4F^jO3su;M13I{2rd8PJjQe1JyBUJ5v zcT%>D?8^Kp-70bP8*rulxlm)SySQhG$Pz*bo@mb5bvpLAEp${?r^2!Wl*6d7+0Hs_ zGPaC~w0E!bf1qFLDM@}zso7i~(``)H)zRgcExT_2#!YOPtBVN5Hf5~Ll3f~rWZ(UsJtM?O*cA1_W0)&qz%{bDoA}{$S&-r;0iIkIjbY~ zaAqH45I&ALpP=9Vof4OapFB`+_PLDd-0hMqCQq08>6G+C;9R~}Ug_nm?hhdkK$xpI zgXl24{4jq(!gPr2bGtq+hyd3%Fg%nofK`psHMs}EFh@}sdWCd!5NMs)eZg`ZlS#O0 zru6b8#NClS(25tXqnl{|Ax@RvzEG!+esNW-VRxba(f`}hGoqci$U(g30i}2w9`&z= zb8XjQLGN!REzGx)mg~RSBaU{KCPvQx8)|TNf|Oi8KWgv{7^tu}pZq|BS&S<53fC2K4Fw6>M^s$R$}LD*sUxdy6Pf5YKDbVet;P!bw5Al-8I1Nr(`SAubX5^D9hk6$agWpF}T#Bdf{b9-F#2WVO*5N zp+5uGgADy7m!hAcFz{-sS0kM7O)qq*rC!>W@St~^OW@R1wr{ajyYZq5H!T?P0e+)a zaQ%IL@X_`hzp~vRH0yUblo`#g`LMC%9}P;TGt+I7qNcBSe&tLGL4zqZqB!Bfl%SUa z6-J_XLrnm*WA`34&mF+&e1sPCP9=deazrM=Pc4Bn(nV;X%HG^4%Afv4CI~&l!Sjzb z{rHZ3od0!Al{}oBO>F*mOFAJrz>gX-vs!7>+_G%BB(ljWh$252j1h;9p~xVA=9_`P z5KoFiz96_QsTK%B&>MSXEYh`|U5PjX1(+4b#1PufXRJ*uZ*KWdth1<0 zsAmgjT%bowLyNDv7bTUGy|g~N34I-?lqxOUtFpTLSV6?o?<7-UFy*`-BEUsrdANh} zBWkDt2SAcGHRiqz)x!iVoB~&t?$yn6b#T=SP6Ou8lW=B>=>@ik93LaBL56ub`>Uo!>0@O8?e)$t(sgy$I z6tk3nS@yFFBC#aFf?!d_3;%>wHR;A3f2SP?Na8~$r5C1N(>-ME@HOpv4B|Ty7%jAv zR}GJwsiJZ5@H+D$^Cwj#0XA_(m^COZl8y7Vv(k=iav1=%QgBOVzeAiw zaDzzdrxzj%sE^c9_uM5D;$A_7)Ln}BvBx^=)fO+${ou%B*u$(IzVr-gH3=zL6La;G zu0Kzy5CLyNGoKRtK=G0-w|tnwI)puPDOakRzG(}R9fl7#<|oQEX;E#yCWVg95 z;NzWbyF&wGg_k+_4x4=z1GUcn6JrdX4nOVGaAQ8#^Ga>aFvajQN{!+9rgO-dHP zIp@%&ebVg}IqnRWwZRTNxLds+gz2@~VU(HI=?Epw>?yiEdZ>MjajqlO>2KDxA>)cj z2|k%dhh%d8SijIo1~20*5YT1eZTDkN2rc^zWr!2`5}f<2f%M_$to*3?Ok>e9$X>AV z2jYmfAd)s|(h?|B(XYrIfl=Wa_lBvk9R1KaP{90-z{xKi+&8=dI$W0+qzX|ZovWGOotP+vvYR(o=jo?k1=oG?%;pSqxcU* zWVGVMw?z__XQ9mnP!hziHC`ChGD{k#SqEn*ph6l46PZVkm>JF^Q{p&0=MKy_6apts z`}%_y+Tl_dSP(;Ja&sih$>qBH;bG;4;75)jUoVqw^}ee=ciV;0#t09AOhB^Py7`NC z-m+ybq1>_OO+V*Z>dhk}QFKA8V?9Mc4WSpzj{6IWfFpF7l^au#r7&^BK2Ac7vCkCn{m0uuN93Ee&rXfl1NBY4NnO9lFUp zY++C1I;_{#OH#TeP2Dp?l4KOF8ub?m6zE@XOB5Aiu$E~QNBM@;r+A5mF2W1-c7>ex zHiB=WJ&|`6wDq*+xv8UNLVUy4uW1OT>ey~Xgj@MMpS@wQbHAh>ysYvdl-1YH@&+Q! z075(Qd4C!V`9Q9jI4 zSt{HJRvZec>vaL_brKhQQwbpQd4_Lmmr0@1GdUeU-QcC{{8o=@nwwf>+dIKFVzPriGNX4VjHCa zTbL9w{Y2V87c2ofX%`(48A+4~mYTiFFl!e{3K^C_k%{&QTsgOd0*95KmWN)P}m zTRr{`f7@=v#+z_&fKYkQT!mJn{*crj%ZJz#(+c?>cD&2Lo~FFAWy&UG*Op^pV`BR^I|g?T>4l5;b|5OQ@t*?_Slp`*~Y3`&RfKD^1uLezIW(cE-Dq2z%I zBi8bWsz0857`6e!ahet}1>`9cYyIa{pe53Kl?8|Qg2RGrx@AlvG3HAL-^9c^1GW;)vQt8IK+ zM>!IW*~682A~MDlyCukldMd;8P|JCZ&oNL(;HZgJ>ie1PlaInK7C@Jg{3kMKYui?e!b`(&?t6PTb5UPrW-6DVU%^@^E`*y-Fd(p|`+JH&MzfEq;kikdse ziFOiDWH(D< zyV7Rxt^D0_N{v?O53N$a2gu%1pxbeK;&ua`ZkgSic~$+zvt~|1Yb=UfKJW2F7wC^evlPf(*El+#}ZBy0d4kbVJsK- z05>;>?HZO(YBF&v5tNv_WcI@O@LKFl*VO?L(!BAd!KbkVzo;v@~3v`-816GG?P zY+H3ujC>5=Am3RIZDdT#0G5A6xe`vGCNq88ZC1aVXafJkUlcYmHE^+Z{*S->ol%-O znm9R0TYTr2w*N8Vs#s-5=^w*{Y}qp5GG)Yt1oLNsH7y~N@>Eghms|K*Sdt_u!&I}$ z+GSdFTpbz%KH+?B%Ncy;C`uW6oWI46(tk>r|5|-K6)?O0d_neghUUOa9BXHP*>vi; z={&jIGMn-92HvInCMJcyXwHTJ42FZp&Wxu+9Rx;1x(EcIQwPUQ@YEQQ`bbMy4q3hP zNFoq~Qd0=|xS-R}k1Im3;8s{BnS!iaHIMLx)aITl)+)?Yt#fov|Eh>}dv@o6R{tG>uHsy&jGmWN5+*wAik|78(b?jtysPHC#e+Bzz~V zS3eEXv7!Qn4uWi!FS3B?afdD*{fr9>B~&tc671fi--V}~E4un;Q|PzZRwk-azprM$4AesvUb5`S`(5x#5VJ~4%ET6&%GR$}muHV-5lTsCi_R|6KM(g2PCD@|yOpKluT zakH!1V7nKN)?6JmC-zJoA#ciFux8!)ajiY%K#RtEg$gm1#oKUKX_Ms^%hvKWi|B=~ zLbl-L)-=`bfhl`>m!^sRR{}cP`Oim-{7}oz4p@>Y(FF5FUEOfMwO!ft6YytF`iZRq zfFr{!&0Efqa{1k|bZ4KLox;&V@ZW$997;+Ld8Yle91he{BfjRhjFTFv&^YuBr^&Pe zswA|Bn$vtifycN8Lxr`D7!Kygd7CuQyWqf}Q_PM}cX~S1$-6xUD%-jrSi24sBTFNz(Fy{QL2AmNbaVggWOhP;UY4D>S zqKr!UggZ9Pl9Nh_H;qI`-WoH{ceXj?m8y==MGY`AOJ7l0Uu z)>M%?dtaz2rjn1SW3k+p`1vs&lwb%msw8R!5nLS;upDSxViY98IIbxnh{}mRfEp=9 zbrPl>HEJeN7J=KnB6?dwEA6YMs~chHNG?pJsEj#&iUubdf3JJwu=C(t?JpE6xMyhA3e}SRhunDC zn-~83*9=mADUsk^sCc%&&G1q5T^HR9$P#2DejaG`Ui*z1hI#h7dwpIXg)C{8s< z%^#@uQRAg-$z&fmnYc$Duw63_Zopx|n{Bv*9Xau{a)2%?H<6D>kYY7_)e>OFT<6TT z0A}MQLgXbC2uf`;67`mhlcUhtXd)Kbc$PMm=|V}h;*_%vCw4L6r>3Vi)lE5`8hkSg zNGmW-BAOO)(W((6*e_tW&I>Nt9B$xynx|sj^ux~?q?J@F$L4;rnm_xy8E*JYwO-02u9_@@W0_2@?B@1J{y~Q39N3NX^t7#`=34Wh)X~sU&uZWgS1Z09%_k|EjA4w_QqPdY`oIdv$dJZ;(!k)#U8L+|y~gCzn+6WmFt#d{OUuKHqh1-uX_p*Af8pFYkYvKPKBxyid4KHc}H` z*KcyY;=@wzXYR{`d{6RYPhapShXIV?0cg_?ahZ7do)Ot#mxgXYJYx}<%E1pX;zqHd zf!c(onm{~#!O$2`VIXezECAHVd|`vyP)Uyt^-075X@NZDBaQt<>trA3nY-Dayki4S zZ^j6CCmx1r46`4G9794j-WC0&R9(G7kskS>=y${j-2;(BuIZTLDmAyWTG~`0)Bxqk zd{NkDe9ug|ms@0A>JVmB-IDuse9h?z9nw!U6tr7t-Lri5H`?TjpV~8(gZWFq4Vru4 z!86bDB;3lpV%{rZ`3gtmcRH1hjj!loI9jN>6stN6A*ujt!~s!2Q+U1(EFQEQb(h4E z6VKuRouEH`G6+8Qv2C)K@^;ldIuMVXdDDu}-!7FS8~k^&+}e9EXgx~)4V4~o6P^52 z)a|`J-fOirL^oK}tqD@pqBZi_;7N43%{IQ{v&G9^Y^1?SesL`;Z(dt!nn9Oj5Odde%opv&t zxJ><~b#m+^KV&b?R#)fRi;eyqAJ_0(nL*61yPkJGt;gZxSHY#t>ATnEl-E%q$E16% zZdQfvhm5B((y4E3Hk6cBdwGdDy?i5CqBlCVHZr-rI$B#>Tbi4}Gcvyg_~2=6O9D-8 zY2|tKrNzbVR$h57R?Pe+gUU_il}ZaWu|Az#QO@};=|(L-RVf0AIW zq#pO+RfM7tdV`9lI6g;{qABNId`fG%U9Va^ravVT^)CklDcx)YJKeJdGpM{W1v8jg z@&N+mR?BPB=K1}kNwXk_pj44sd>&^;d!Z~P>O78emE@Qp@&8PyB^^4^2f7e)gekMv z2aZNvP@;%i{+_~>jK7*2wQc6nseT^n6St9KG#1~Y@$~zR_=AcO2hF5lCoH|M&c{vR zSp(GRVVl=T*m~dIA;HvYm8HOdCkW&&4M~UDd^H)`p__!4k+6b)yG0Zcek8OLw$C^K z3-BbLiG_%qX|ZYpXJ$(c@aa7b4-*IQkDF}=gZSV`*ljP|5mWuHSCcf$5qqhZTv&P?I$z^>}qP(q!Aku2yA5vu38d8x*q{6-1`%PrE_r0-9Qo?a#7Zbz#iGI7K<(@k^|i4QJ1H z4jx?{rZbgV!me2VT72@nBjucoT zUM9;Y%TCoDop?Q5fEQ35bCYk7!;gH*;t9t-QHLXGmUF;|vm365#X)6b2Njsyf1h9JW#x$;@x5Nx2$K$Z-O3txa%;OEbOn6xBzd4n4v)Va=sj5 z%rb#j7{_??Tjb8(Hac<^&s^V{yO-BL*uSUk2;X4xt%NC8SjO-3?;Lzld{gM5A=9AV z)DBu-Z8rRvXXwSVDH|dL-3FODWhfe1C_iF``F05e{dl(MmS|W%k-j)!7(ARkV?6r~ zF=o42y+VapxdZn;GnzZfGu<6oG-gQ7j7Zvgo7Am@jYxC2FpS@I;Jb%EyaJDBQC(q% zKlZ}TVu!>;i3t~OAgl@QYy1X|T~D{HOyaS*Bh}A}S#a9MYS{XV{R-|niEB*W%GPW! zP^NU(L<}>Uab<;)#H)rYbnqt|dOK(-DCnY==%d~y(1*{D{Eo1cqIV8*iMfx&J*%yh zx=+WHjt0q2m*pLx8=--UqfM6ZWjkev>W-*}_*$Y(bikH`#-Gn#!6_ zIA&kxn;XYI;eN9yvqztK-a113A%97in5CL5Z&#VsQ4=fyf&3MeKu70)(x^z_uw*RG zo2Pv&+81u*DjMO6>Mrr7vKE2CONqR6C0(*;@4FBM;jPIiuTuhQ-0&C)JIzo_k>TaS zN_hB;_G=JJJvGGpB?uGgSeKaix~AkNtYky4P7GDTW6{rW{}V9K)Cn^vBYKe*OmP!; zohJs=l-0sv5&pL6-bowk~(swtdRBZQHh8)m^r2+qTtZ zt4m$B?OQYNyfBA0E)g28a*{)a=%%f-?{F;++-Xs#5|7kSHTD*E9@$V ztE%7zX4A(L`n)FY8Y4pOnKC|Pf)j$iR#yP;V0+|Hki+D;t4I4BjkfdYliK9Gf6RYw z;3px$Ud5aTd`yq$N7*WOs!{X91hZZ;AJ9iQOH%p;v$R%OQum_h#rq9*{ve(++|24z zh2P;{-Z?u#rOqd0)D^_Ponv(Y9KMB9#?}nJdUX&r_rxF0%3__#8~ZwsyrSPmtWY27 z-54ZquV2t_W!*+%uwC=h-&_q~&nQer0(FL74to%&t^byl^C?wTaZ-IS9OssaQFP)1 zAov0o{?IRAcCf+PjMWSdmP42gysh|c9Ma&Q^?_+>>+-yrC8WR;*XmJ;>r9v*>=W}tgWG;WIt{~L8`gk8DP{dSdG z4SDM7g5ahMHYHHk*|mh9{AKh-qW7X+GEQybJt9A@RV{gaHUAva+=lSroK^NUJYEiL z?X6l9ABpd)9zzA^;FdZ$QQs#uD@hdcaN^;Q=AXlbHv511Meye`p>P4Y2nblEDEeZo}-$@g&L98Aih6tgLz--${eKTxymIipy0xSYgZZ zq^yyS4yNPTtPj-sM?R8@9Q1gtXPqv{$lb5i|C1yymwnGdfYV3nA-;5!Wl zD0fayn!B^grdE?q^}ba{-LIv*Z}+hZm_F9c$$cW!bx2DgJD&6|bBIcL@=}kQA1^Eh zXTEznqk)!!IcTl>ey?V;X8k<+C^DRA{F?T*j0wV`fflrLBQq!l7cbkAUE*6}WabyF zgpb+|tv=aWg0i}9kBL8ZCObYqHEycr5tpc-$|vdvaBsu#lXD@u_e1iL z{h>xMRS0a7KvW?VttrJFpX^5DC4Bv4cp6gNG6#8)7r7IxXfSNSp6)_6tZ4l>(D+0I zPhU)N!sKywaBusHdVE!yo5$20JAU8V_XcW{QmO!p*~ns8{2~bhjydnmA&=r zX9NSM9QYogYMDZ~kS#Qx`mt>AmeR3p@K$`fbJ%LQ1c5lEOz<%BS<}2DL+$>MFcE%e zlxC)heZ7#i80u?32eOJI9oQRz0z;JW@7Th4q}YmQ-`Z?@y3ia^_)7f37QMwDw~<-@ zT)B6fftmK_6YS!?{uaj5lLxyR++u*ZY2Mphm5cd7PA5=%rd)95hJ9+aGSNfjy>Ylc zoI0nGIT3sKmwX8h=6CbvhVO+ehFIR155h8iRuXZx^cW>rq5K4z_dvM#hRER=WR@THs%WELI9uYK9HN44Em2$#@k)hD zicqRPKV#yB;UlcsTL_}zCMK0T;eXHfu`y2(dfwm(v)IBbh|#R>`2cot{m7}8_X&oD zr@94PkMCl%d3FsC4pil=#{3uv^+)pvxfwmPUr)T)T|GcZVD$wVj$mjkjDs`5cm8N! zXVq2CvL;gWGpPI4;9j;2&hS*o+LNp&C5Ac=OXx*W5y6Z^az)^?G0)!_iAfjH5wiSE zD(F}hQZB#tF5iEx@0sS+dP70DbZ*<=5X^)Pxo^8aKzOzuyc2rq=<0-k;Y_ID1>9^v z+)nc36}?>jen*1%OX3R*KRASj${u$gZ$27Hpcj=95kK^aLzxhW6jj_$w6}%#1*$5D zG1H_vYFrCSwrRqYw*9<}OYAOQT)u%9lC`$IjZV<4`9Sc;j{Qv_6+uHrYifK&On4V_7yMil!0Yv55z@dFyD{U@Sy>|vTX=P_( zRm<2xj*Z}B30VAu@0e+}at*y?wXTz|rPalwo?4ZZc>hS0Ky6~mi@kv#?xP2a;yt?5=(-CqvP_3&$KdjB7Ku;# z`GLE*jW1QJB5d&E?IJO?1+!Q8HQMGvv^RuFoi=mM4+^tOqvX%X&viB%Ko2o-v4~~J z267ui;gsW?J=qS=D*@*xJvAy3IOop5bEvfR4MZC>9Y4Z$rGI|EHNNZ7KX;Ix{xSvm z-)Cau-xuTm|7`4kUdXvd_d^E=po(76ELfq5OgxIt3aqDy#zBfIy-5<3gpn{Ce`-ha z<;6y@{Bgqw?c~h*&j{FozQCh=`Lv-5Iw!KdSt;%GDOq%=(V!dJ-}|}|0o5G2kJj6{ z`jCSPs$9Fe8O(+qALZiJ$WtR=<@GvsdM)IJ`7XrBfW0iyYE#Vy^e@zbysg*B5Z_kSL6<)vqoaH zQ{!9!*{e9UZo^h+qZ`T@LfVwAEwc&+9{C8c%oj41q#hyn<&zA9IIur~V|{mmu`n5W z8)-Ou$YgjQ*PMIqHhZ_9E?(uoK0XM5aQkarcp}WT^7b^FC#^i>#8LGZ9puDuXUYas z7caX)V5U6uY-L5Wl%)j$qRkR;7@3T*N64YK_!`Fw=>CAwe~2loI1<>DZW&sb7Q)X;6E08&$h! z2=c1i4UOO{R4TmkTz+o9n`}+%d%blR6P;5{`qjtxlN$~I%tMMDCY`~e{+mRF!rj5( z3ywv)P_PUUqREu)TioPkg&5RKjY6z%pRxQPQ{#GNMTPag^S8(8l{!{WGNs2U1JA-O zq02VeYcArhTAS;v3);k(&6ayCH8SXN@r;1NQeJ*y^NHM+zOd;?t&c!Hq^SR_w6twGV8dl>j zjS+Zc&Yp7cYj&c1y3IxQ%*kWiYypvoh(k8g`HrY<_Bi-r%m-@SLfy-6mobxkWHxyS z>TtM2M4;Uqqy|+8Q++VcEq$PwomV1D4UzNA*Tgkg9#Gpz#~&iPf|Czx!J?qss?e|3 z4gTua75-P{2X7w9eeK3~GE0ip-D;%%gTi)8bR~Ez@)$gpuS~jZs`CrO5SR-Xy7bkA z89fr~mY}u4A$|r1$fe-;T{yJh#9Ime1iRu8eo?uY9@yqAU3P!rx~SsP;LTBL zeoMK(!;(Zt8313 z3)V)q_%eflKW?BnMZa}6E0c7t!$-mC$qt44OME5F(6B$E8w*TUN-h}0dOiXI+TH zYFrr&k1(yO(|J0vP|{22@Z}bxm@7BkjO)f)&^fv|?_JX+s)1*|7X7HH(W?b3QZ3!V|~m?8}uJsF>NvE4@fik zjyyh+U*tt`g6v>k9ub88a;ySvS1QawGn7}aaR**$rJA=a#eUT~ngUbJ%V=qsFIekLbv!YkqjTG{_$F;$w19$(ivIs*1>?2ka%uMOx@B9`LD zhm~)z@u4x*zcM1WhiX)!U{qOjJHt1xs{G1S?rYe)L)ntUu^-(o_dfqZu)}W(X%Uu| zN*qI@&R2fB#Jh|Mi+eMrZDtbNvYD3|v0Kx>E#Ss;Be*T$@DC!2A|mb%d}TTN3J+c= zu@1gTOXFYy972S+=C;#~)Z{Swr0VI5&}WYzH22un_Yg5o%f9fvV(`6!{C<(ZigQ2`wso)cj z9O12k)15^Wuv#rHpe*k5#4vb%c znP+Gjr<-p%01d<+^yrSoG?}F=eI8X;?=Fo2a~HUiJ>L!oE#9tXRp!adg-b9D;(6$E zeW0tH$US04zTX$OxM&X+2ip>KdFM?iG_fgOD-qB|uFng8*#Z5jgqGY=zLU?4!OlO#~YBTB9b9#~H@nqQ#5 z6bV));d?IJTVBC+79>rGuy1JgxPLy$dA7;_^^L)02m}XLjFR*qH`eI~+eJo(7D`LH z(W%lGnGK+Vk_3kyF*zpgO=1MxMg?hxe3}}YI>dVs8l}5eWjYu4=w6MWK09+05 zGdpa#$awd>Q|@aZa*z{5F3xy3n@E4YT9%TmMo0jxW59p0bI?&S}M+ z&^NG%rf7h*m9~p#b19|`wO5OMY-=^XT+=yrfGNpl<&~~FGsx_`IaFn+sEgF$hgOa~oAVAiu^a$jHcqkE=dj`ze z=axsfrzzh6VGD0x#6Ff=t%+VTiq!n6^gv*uIUD<9fOhvR;al5kcY${uunn}-!74<7 zmP^3cl-kyN(QY!!Z-^PY-OUkh=3ZWk6>le$_Q&xk4cgH{?i)C%2RM@pX5Q{jdSlo! zVau5v44cQX5|zQlQDt;dCg)oM0B<=P1CR!W%!^m$!{pKx;bn9DePJjWBX)q!`$;0K zqJIIyD#aK;#-3&Nf=&IhtbV|?ZGYHSphp~6th`p2rkw&((%kBV7<{siEOU7AxJj+FuRdDu$ zcmTW8usU_u!r)#jg|J=Gt{##7;uf4A5cdt6Y02}f(d2)z~ z)CH~gVAOwBLk$ZiIOn}NzDjvfw(w$u|BdCBI#)3xB-Ot?nz?iR38ayCm48M=_#9r7 zw8%pwQ<9mbEs5~_>pN3~#+Er~Q86J+2TDXM6umCbukd-X6pRIr5tF?VauT8jW> zY^#)log>jtJs2s3xoiPB7~8#1ZMv>Zx0}H58k-@H2huNyw~wsl0B8j)H5)H9c7y&i zp8^0;rKbxC1eEZ-#Qxvz)Xv$((8lK9I>BspPajluysw^f#t9P;OUis43mmEzX+lk* zc4T-Ms9_687GR+~QS#0~vxK#DSGN=a-m(@eZTqw2<+lN9>R~gK2)3;sT4%nI%Y|0m zX9SPR!>?~s=j5H4WMqeTW8QaLZ=1bWS5I3xZ&$(ypc=tHrv+hX@s)VG(tc!yvLM7n zshN=C#v={X1r;)xn0Pow_1eMhkn!{;x$BJ#PIz)m585&%cmzk;btQzZAN_^zis;n? z?6I~bN?s;7vg_dtoTc4A5Ow*Rb}No#UYl)sN|RmoYo}k^cKLXd8F`44?RrokkPvN5 ztUrx;U~B;jbE_qGd3n0j2i}A{enJvJ?gSF~NQj~EP5vM-w4@;QQ5n(Npic}XNW6B0 zq9F4T%6kp7qGhd0vpQcz+nMk8GOAmbz8Bt4@GtewGr6_>Xj>ge)SyfY}nu>Y!a@HoIx(StD zx`!>RT&}tpBL%nOF%7XIFW?n1AP*xthCMzhrU6G!U6?m4!CPWTvn#Yaoi_95CT2!L z|B=5zeRW30&ANGN>J9#GtCm&3SF6n4TqDz<-{@ZXkrkRDCpV$DwCtI^e&3i1A{Ar&JZtS^c+lyPa6 z%JJr42S_;eFC#M~bdtQePhOU32WDiZ4@H&af)z#$Y|hnQNb)8(3?1Ad>5uaZ1z zU~!jt3XUI@gpWb8tWTyH7DGvKvzYfqNIy3P{9vpwz_C-QL&`+8Io$F5PS-@YQJoEO z17D9P(+sXajWSH_8&C?fn>rTLX+(?KiwX#JNV)xE0!Q@>Tid$V2#r4y6fkph?YZ>^ z(o^q(0*P->3?I0cELXJn(N|#qTm6 zAPIL~n)m!50;*?5=MOOc4Wk;w(0c$(!e?vpV23S|n|Y7?nyc8)fD8t-KI&nTklH&BzqQ}D(1gH3P+5zGUzIjT~x`;e8JH=86&5&l-DP% z)F+Et(h|GJ?rMy-Zrf>Rv@<3^OrCJ1xv_N*_@-K5=)-jP(}h1Rts44H&ou8!G_C1E zhTfUDASJ2vu!4@j58{NN;78i?6__xR75QEDC4JN{>RmgcNrn-EOpEOcyR<8FS@RB@ zH!R7J=`KK^u06eeI|X@}KvQmdKE3AmAy8 zM4IIvde#e4O(iwag`UL5yQo>6&7^=D4yE-Eo9$9R2hR} zn;Z9i-d=R-xZl4@?s%8|m1M`$J6lW1r0Y)+8q$}Vn4qyR1jqTjGH;@Z!2KiGun2~x zaiEfzVT<|_b6t}~XPeflAm8hvCHP3Bp*tl{^y_e{Jsn@w+KP{7}bH_s=1S2E1sj=18a39*Ag~lbkT^_OQuYQey=b zW^{0xlQ@O$^cSxUZ8l(Mspg8z0cL*?yH4;X2}TdN)uN31A%$3$a=4;{S@h#Y(~i%) zc=K7Ggl=&2hYVic*W65gpSPE70pU;FN@3k?BYdNDKv6wlsBAF^);qiqI zhklsX4TaWiC%VbnZ|yqL+Pcc;(#&E*{+Rx&<&R{uTYCn^OD|mAk4%Q7gbbgMnZwE{ zy7QMK%jIjU@ye?0; z;0--&xVeD}m_hq9A8a}c9WkI2YKj8t!Mkk!o%AQ?|CCBL9}n570}OmZ(w)YI6#QS&p<={tcek*D{CPR%eVA1WBGUXf z%gO2vL7iVDr1$!LAW)1@H>GoIl=&yyZ7=*9;wrOYQ}O}u>h}4FWL?N2ivURlUi11- zl{G0fo`9?$iAEN<4kxa#9e0SZPqa{pw?K=tdN5tRc7HDX-~Ta6_+#s9W&d`6PB7dF*G@|!Mc}i zc=9&T+edI(@la}QU2An#wlkJ&7RmTEMhyC_A8hWM54?s1WldCFuBmT5*I3K9=1aj= z6V@93P-lUou`xmB!ATp0(We$?)p*oQs;(Kku15~q9`-LSl{(Efm&@%(zj?aK2;5}P z{6<@-3^k^5FCDT@Z%XABEcuPoumYkiD&)-8z2Q}HO9OVEU3WM;V^$5r4q>h^m73XF z5!hZ7SCjfxDcXyj(({vg8FU(m2_}36L_yR>fnW)u=`1t@mPa76`2@%8v@2@$N@TE` z)kYhGY1jD;B9V=Dv1>BZhR9IJmB?X9Wj99f@MvJ2Fim*R`rsRilvz_3n!nPFLmj({EP!@CGkY5R*Y_dSO{qto~WerlG}DMw9k+n}pk z*nL~7R2gB{_9=zpqX|*vkU-dx)(j+83uvYGP?K{hr*j2pQsfXn<_As6z%-z+wFLqI zMhTkG>2M}#BLIOZ(ya1y8#W<+uUo@(43=^4@?CX{-hAuaJki(_A(uXD(>`lzuM~M;3XA48ZEN@HRV{1nvt?CV)t;|*dow0Ue2`B*iA&!rI`fZQ=b28= z_dxF}iUQ8}nq0SA4NK@^EQ%=)OY;3fC<$goJ&Kp|APQ@qVbS-MtJQBc)^aO8mYFsbhafeRKdHPW&s^&;%>v zlTz`YE}CuQ@_X&mqm{+{!h2r)fPGeM_Ge4RRYQkrma`&G<>RW<>S(?#LJ}O-t)d$< zf}b0svP^Zu@)MqwEV^Fb_j zPYYs~vmEC~cOIE6Nc^@b@nyL!w5o?nQ!$mGq(Pa|1-MD}K0si<&}eag=}WLSDO zE4+eA~!J(K}605x&4 zT72P7J^)Y)b(3g2MZ@1bv%o1ggwU4Yb!DhQ=uu-;vX+Ix8>#y6wgNKuobvrPNx?$3 zI{BbX<=Y-cBtvY&#MpGTgOLYU4W+csqWZx!=AVMb)Z;8%#1*x_(-)teF>45TCRwi1 z)Nn>hy3_lo44n-4A@=L2gI$yXCK0lPmMuldhLxR8aI;VrHIS{Dk}yp= zwjhB6v@0DN=Hnm~3t>`CtnPzvA*Kumfn5OLg&-m&fObRD};c}Hf?n&mS< z%$wztc%kjWjCf-?+q(bZh9k~(gs?i4`XVfqMXvPVkUWfm4+EBF(nOkg!}4u)6I)JT zU6IXqQk?p1a2(bz^S;6ZH3Wy9!JvbiSr7%c$#G1eK2^=~z1WX+VW)CPD#G~)13~pX zErO(>x$J_4qu-)lNlZkLj2}y$OiKn0ad5Imu5p-2dnt)(YI|b7rJ3TBUQ8FB8=&ym50*ibd2NAbj z;JA&hJ$AJlldM+tO;Yl3rBOFiP8fDdF?t(`gkRpmT9inR@uX{bThYNmxx-LN5K8h0 ztS%w*;V%b`%;-NARbNXn9he&AO4$rvmkB#;aaOx?Wk|yBCmN{oMTK&E)`s&APR<-5 z#;_e75z;LJ)gBG~h<^`SGmw<$Z3p`KG|I@7Pd)sTJnouZ1hRvm3}V+#lPGk4b&A#Y z4VSNi8(R1z7-t=L^%;*;iMTIAjrXl;h106hFrR{n9o8vlz?+*a1P{rEZ2ie{luQs} zr6t746>eoqiO5)^y;4H%2~&FT*Qc*9_oC2$+&syHWsA=rn3B~4#QEW zf4GT3i_@)f(Fj}gAZj`7205M8!B&HhmbgyZB& z+COyAVNxql#DwfP;H48Yc+Y~ChV6b9auLnfXXvpjr<~lQ@>VbCpQvWz=lyVf1??_c zAo3C^otZD@(v?X)UX*@w?TF|F8KF>l7%!Dzu+hksSA^akEkx8QD(V(lK+HBCw6C}2onVExW)f$ zncm*HI(_H;jF@)6eu}Tln!t?ynRkcqBA5MitIM@L^(4_Ke}vy7c%$w{(`&7Rn=u>oDM+Z^RUYcbSOPwT(ONyq76R>$V6_M_UP4vs=__I#io{{((| zy5=k=oVr-Qt$FImP~+&sN8rf2UH*vRMpwohPc@9?id17La4weIfBNa>1Djy+1=ugn z@}Zs;eFY1OC}WBDxDF=i=On_33(jWE-QYV)HbQ^VM!n>Ci9_W0Zofz7!m>do@KH;S z4k}FqEAU2)b%B_B-QcPnM5Zh=dQ+4|DJoJwo?)f2nWBuZE@^>a(gP~ObzMuyNJTgJFUPcH`%9UFA(P23iaKgo0)CI!SZ>35LpFaD7 z)C2sW$ltSEYNW%%j8F;yK{iHI2Q^}coF@LX`=EvxZb*_O;2Z0Z5 z7 zlccxmCfCI;_^awp|G748%Wx%?t9Sh8!V9Y(9$B?9R`G)Nd&snX1j+VpuQ@GGk=y(W zK|<$O`Cad`Y4#W3GKXgs%lZduAd1t1<7LwG4*zaStE*S)XXPFDyKdgiaVXG2)LvDn zf}eQ_S(&2!H0Mq1Yt&WpM1!7b#yt_ie7naOfX129_E=)beKj|p1VW9q>>+e$3@G$K zrB%i_TT1DHjOf7IQ8)Wu4#K%ZSCDGMP7Ab|Kvjq7*~@ewPm~h_-8d4jmNH<&mNZC@CI zKxG5O08|@<4(6IEC@L-lcrrvix&_Dj4tBvl=8A}2UX|)~v#V$L22U}UHk`B-1MF(t zU6aVJWR!>Y0@4m0UA%Sq9B5;4hZvsOu=>L`IU4#3r_t}os|vSDVMA??h>QJ1FD1vR z*@rclvfD!Iqoxh>VP+?b9TVH8g@KjYR@rRWQy44A`f6doIi+8VTP~pa%`(Oa@5?=h z8>YxNvA##a3D0)^P|2|+0~f|UsAJV=q(S>eq-dehQ+T>*Q@qN zU8@kdpU5gGk%ozt?%c8oM6neA?GuSsOfU_b1U)uiEP8eRn~>M$p*R z43nSZs@^ahO78s zulbK@@{3=2=@^yZ)DuIC$ki;`2WNbD_#`LOHN9iMsrgzt-T<8aeh z(oXrqI$Kgt6)Icu=?11NWs>{)_ed1wh>)wv6RYNUA-C&bejw{cBE_5Wzeo!AHdTd+ z)d(_IKN7z^n|As~3XS=cCB_TgM7rK;X586re`{~Foml$aKs zb!4Pe7hEP|370EWwn$HKPM!kL94UPZ1%8B^e5fB+=Iw^6=?5n3tZGYjov83CLB&OQ++p)WCMeshCv_9-~G9C_2x`LxTDjUcW$l6e!6-&a^fM3oP9*g(H zmCk0nGt1UMdU#pfg1G0um5|sc|KO<+qU1E4iBF~RvN*+`7uNHH^gu{?nw2DSCjig% zI@ymKZSK=PhHJa(jW&xeApv&JcfSmNJ4uQ|pY=Lcc>=J|{>5Ug3@x#R_b@55xFgfs za^ANzWdD$ZYtFs$d7+oiw0ZmPk2&l|< zc8()wfiJx@EGpQT zG$8iLkQZ-086doF1R zh<#9cz_vRsJdoXbD=QgOtpm}cFAJX8c}>Jew;PQJSXSb^;wlC zxXLHTS|!GZ-VK_4wV<9bk4RUmlsByzW_^b>)$6R+jQ}^wco1nMA`9Lncs;&QGp!`5Tx#aXXU?}5_RrtUY zx(EMzDhl-a^y^f5yfFLMnOO#u)l69&4M?|ne|2EV>zQ}4JQCBel?~2I4?D|>L$%H(peOOII!U}i z-j)*h1rODe9{0`xmhG;`AKqw1p0_KhEIU8)DoGnEn9wAhXPaxO_(jNSij~J5m$P*$ z9Mt(t;eV}2+i|kjQpBFcNb7_(VbuF<;RQB~R~p>2*Lg>a&7DEEuq*I%Ls4{zHeUDq z+M0&YhEn^C*9-B4Q7HJ$xj)dORCXPK+)ZtLOa0o&)Sl+f(Y{p*68$-#yagW5^HQnQ z0pWpoQpxg8<&gx9im(>=x6v#&RbQ7^AsjxeSDA? zi4MEJUC~ByG!PiBjq7$pK&FA^5 z=Y@dtQnuy%IfsaR`TVP0q^3mixl&J-3!$H!ua#{A>0Z1JdLq#d4UV9nlYm641ZHl zH6mK~iI6lR3OUEVL}Z5{ONZ_6{Nk%Bv03ag<1HVN?R%w2^aR5@E>6(r>}IoMl$wRF zWr-DItN*k7T$NTT8B)+23c?171sADhjInb2Xb>GhFYGC&3{b>huvLlaS4O z^{j5q+b5H?Z)yuy%AByaVl2yj9cnalY1sMQ zXI#e%*CLajxGxP!K6xf9RD2pMHOfAa1d^Lr6kE`IBpxOiGXfNcoQ*FI6wsNtLD!T+ zC4r2q>5qz0f}UY^RY#1^0*FPO*Zp-U1h9U|qWjwqJaDB(pZ`<`U-xo7+JB$zvwV}^ z2>$0&Q5k#l|Er7*PPG1ycj4BGz zg&`d*?nUi1Q!OB>{V@T$A;)8@h;*Rb1{xk_8X<34L`s}xkH-rQZvjM`jI=jaJRGRg zeEcjYChf-78|RLrao%4HyZBfnAx5KaE~@Sx+o-2MLJ>j-6uDb!U`odj*=)0k)K75l zo^)8-iz{_k7-_qy{Ko~N#B`n@o#A22YbKiA>0f3k=p-B~XX=`Ug>jl$e7>I=hph0&AK z?ya;(NaKY_!od=tFUcGU5Kwt!c9EPUQLi;JDCT*{90O@Wc>b| zI;&GIY$JlQW^9?R$-OEUG|3sp+hn+TL(YK?S@ZW<4PQa}=IcUAn_wW3d!r#$B}n08 z*&lf(YN21NDJ74DqwV`l`RX(4zJ<(E4D}N0@QaE-hnfdPDku~@yhb^AeZL73RgovX z6=e>!`&e^l@1WA5h!}}PwwL*Gjg!LbC5g0|qb8H$^S{eGs%cc?4vTyVFW=s6KtfW? z@&Xm+E(uz(qDbwDvRQI9DdB<2sW}FYK9sg*f%-i*>*n{t-_wXvg~N7gM|a91B!x|K zyLbJ~6!!JZpZ`#HpCB8g#Q*~VU47Rp$NyZb3WhEgg3ivSwnjGJgi0BEV?!H}Z@QF| zrO`Kx*52;FR#J-V-;`oR-pr!t>bYf)UYcixN=(FUR6$fhN@~i09^3WeP3*)D*`*mJ z1u%klAbzQ=P4s%|FnVTZv%|@(HDB+ap5S#cFSJUSGkyI*Y>9Lwx|0lTs%uhoCW(f1 zi+|a9;vDPfh3nS<7m~wqTM6+pEm(&z-Ll;lFH!w#(Uk#2>Iv~2Hu}lITn7hnOny`~ z*Vj=r<&Nwpq^@g5m`u&QTBRoK*}plAuHg$L$~NO#wF0!*r0OfcS%)k0A??uY*@B^C zJe9WdU(w){rTIf<;rwJt^_35^d<A@$FqEZW6kwyfAo2x0T$Ye2MZox6Z7<%Qbu$}}u{rtE+h2M+Z}T4I zxF1cwJ(Uvp!T#mogWkhb(?SxD4_#tV(Sc8N4Gu*{Fh#})Pvb^ef%jrlnG*&Ie+J5 zsly5oo?1((um&lLDxn(DkYtk`My>lgKTp3Y4?hTQ4_`YNOFtjF-FUY#d#(EQd(rfz zB8z%Vi;?x)ZM$3c>yc5H8KBvSevnWNdCbAj?QCac)6-K~Xz@EZp}~N9q)5*Ufjz3C z6kkOeI{3H(^VO8hKDrVjy2DXd;5wr4nb`19yJi0DO@607MSx+7F$ zz3F7sl8JV@@sM$6`#JmSilqI%Bs)}Py2eFT;TjcG5?8$zwV60b(_5A>b#uk~7U^bO z>y|6SCrP2IGST(8HFuX|XQUXPLt2gL_hm|uj1Ws`O2VW>SyL^uXkl>Zvkcpi?@!F7 z%svLoT@{R#XrIh^*dE~$YhMwC+b7JE09NAS47kT%Ew zD!XjxA@1+KOAyu`H2z#h+pGm!lG>WI0v745l+Fd><3dh{ATq%h?JSdEt zu%J*zfFUx%Tx&0DS5WSbE)vwZSoAGT=;W#(DoiL($BcK;U*w`xA&kheyMLI673HCb7fGkp{_vdV2uo;vSoAH z9BuLM#Vzwt#rJH>58=KXa#O;*)_N{$>l7`umacQ0g$pI3iW4=L--O;Wiq0zy7OKp`j2r^y3`7X!?sq9rr5B{41BkBr1fEd1#Q3 z-dXc2RSb4U>FvpVhlQCIzQ-hs=8420z=7F2F(^xD;^RXgpjlh8S6*xCP#Gj2+Q0bAg?XARw3dnlQ*Lz3vk}m`HXmCgN=?bIL{T zi}Ds-xn|P)dxhraT@XY$ZQ&^%x8y!o+?n#+>+dZ1c{hYwNTNRke@3enT(a@}V*X{! z81+{Jc2UR;+Zcbc6cUlafh4DFKwp>;M}8SGD+YnW3Q_)*9Z_pny_z+MeYQmz?r%EVaN0d!NE*FVPq&U@vo{ef6wkMIDEWLbDs zz91$($XbGnQ?4WHjB~4xgPgKZts{p|g1B{-4##}#c5aL5C6_RJ_(*5>85B1}U!_<``}q-97Q7~u)(&lsb(WT^(*n7H%33%@_b zO5(?-v??s??33b19xiB7t_YT!q8!qAzN1#RD@3;kYAli%kazt#YN7}MhVu=ljuz27 z1`<+g8oVwy57&$`CiHeaM)tz(OSt4E# zJ@P6E*e504oUw~RD(=9WP8QdW^6wRdFbKII!GAWecJ(?{`EzTR@?j!3g?$@LLCt;U={>!9z7DU!(1Jq zqEwdx5q?W1Ncm7mXP8MFwAr?nw5$H%cb>Q><9j{Tk2RY9ngGvaJgWXx^r!ywk{ph- zs2PFto4@IIwBh{oXe;yMZJYlS?3%a-CJ#js90hoh5W5d^OMwCFmpryHFr|mG+*ZP$ zqyS5BW@s}|3xUO0PR<^{a2M(gkP5BDGxvkWkPudSV*TMRK5Qm4?~VuqVAOerffRt$HGAvp;M++Iq$E6alB z;ykBr-eZ6v_H^1Wip56Czj&=`mb^TsX|FPN#-gnlP03AkiJDM=?y|LzER1M93R4sC z*HT(;EV=*F*>!+Z{r!KG?6ODMGvkt3viG=@kQJHNMYd}bS4KrrHf4`&*(0m0R5Hqz zEk)r=sFeS?MZRvn<@Z0&bDw)XkMnw+_xqgp=W{;ioX`6;G-P9N%wfoYJ$-m$L#MC% z^sH?tSzA|WWP(cN3({~_*X$l{M*;1V{l$;T6b){#l4pswDTid26HaXgKed}13YIP= zJRvA3nmx{}R$Lr&S4!kWU3`~dxM}>VXWu6Xd(VP}z1->h&f%82eXD_TuTs@=c;l0T z|LHmWKJ+?7hkY=YM>t}zvb4|lV;!ARMtWFp!E^J=Asu9w&kVF*i{T#}sY++-qnVh! z5TQ|=>)+vutf{&qB+LO9^jm#rD7E5+tcorr^Fn5Xb0B;)f^$7Ev#}G_`r==ea294V z--v4LwjswWlSq9ba6i?IXr8M_VEGQ$H%hCqJTFQ3+1B9tmxDUhnNU%dy4+zbqYJ|o z3!N{b?A@{;cG2~nb-`|z;gEDL5ffF@oc3`R{fGi)0wtMqEkw4tRX3t;LVS3-zAmg^ zgL7Z{hmdPSz9oA@t>tZ1<|Khn&Lp=_!Q=@a?k+t~H&3jN?dr(}7s;{L+jiKY57?WsFBfW^mu6a03_^VKrdK=9egXw@!nzZ3TbYc*osyQNoCXPYoFS<&Nr97MrQCOK(gO8 z;0@iqRTJy4-RH)PJld5`AJN}n?5r^-enKrHQOR;z>UMfm+e8~4ZL5k>oXMiYq12Bx4eVQv0jFgp_zC#``sjZpywYqISMP}VZ@!~1Mf$!x|opj%mQ98JnSk@`~ zPmmyuPZKtZOnEC!1y!?`TYRsZ!II;d!iln}%e}bk5qIiUADERr*K$3dekgHV9TtBX zi5q!J!6Zgd#cLxRmZN^J`o@Zv{+p+<_#8^nvY)44Hw_2i@?R&5n^q33fpOnDg1nPQ z_r<$hURl~OketX|Tdbvf_7=3x^rSFJtEp@tuDpVB&uq)qW;xUQ7mmkr-@eZwa$l+? zoKk``Vz@TH#>jMce*8>@FZ+@BEUdYa_K0i|{*;j9MW3K%pnM*T;@>|o@lMhgLrpZP5aol(z>g;b4}|e$U~Fn zGL%(}p%Jsl4LxE!VW_Y4T>e}W4e#~F03H_^R!Q)kpJG{lO!@I4{mFo^V#ayHh_5~o zB$O71gcE(G@6xv);#Ky?e(Ed}^O+Ho(t=93T9T3TnEY(OVf_dR-gY@jj+iJSY?q|6prBv(S9A4k=2fNZz!W@S=B@~b?TJRTuBQq448@juN#Y=3q=^VCF>Z}n6wICJ<^^Kn8C;mK zZYiFSN#Z$?NDGV7(#}q2tAZAtE63icK-MY>UQu4MWlGIbJ$AF8Zt-jV;@7P5MPI>% zPWvO!t%1+s>-A%`;0^o8Ezeaa4DMwI8ooQrJ;ax@Qt*6XONWw)dPwOPI9@u*EG&844*1~EoZ2qsAe~M>d`;Bc_CWY zMoDKEmDh-}k9d6*<0g@aQmsnrM1H9IcKYZs)><)d92{|0Hh8?~XbF)7U+UmP@Pw_6geVB?7N$4J4*E0z3EO&5kRS(EE zv92(+e5WxLXMN{h;-|8@!Q#0q247hb^3R%*k3MuMO5*L}$0D#5P*N$aHd54C+=_RToYXTyewugOaDmGsCvb4H1s=@gkfVnzTCWKMa-Mm1v4Wq!t-JIrbV&EWwKDe ze#kJpOq#iRlFz%5#6Fio9IUlKnQ#X&DY8Ux#<-WqxAac-y%U_L+EZZ4Rg5*yNg`f< zSZn&uio@zanUCPqX1l4W&B!;UWs#P7B^|4WwoCxQXl|44n^cBNqu=3Vl*ltAqsUQO z9q_@nD0zq0O8r`coEm>9+|rA3HL#l}X;0##>SJS$cVavOZVCpSGf4mUU1( zWaRCUYc^9QbG9=vpWo%xP}CMFnMb{reA`K7tT(t5DM)d9l}jVPY>qoRzT zE3m-p#=i=$9x*CB`AL>SY}u3agYFl#uULNen#&44H;!L@I{RI=PlWxG8J((f)ma7A z@jLvQ>?Nx`n?3ChRG#HqE3MXP8*o3!Qq`+t8EMt_p)oeKHqPusBxPn!#?R??-=e3e zo73WNs_IZF`WLigre=|`aS2^> zN1zn!7k&Dh28t%VpJ%**&E!eAcB5oLjQFFcJQj*URMia%Ya3@q1UQ18=oWMM6`I}iT_&L1gl?*~6nU4q4Z0`H<5yDp(HeZ+RGf9`mM&= zn-qRp%i!g$R;i1d1aMZ{IewNjE@p2+Z{`x{*xL*x$?WV~{BjJpsP&C&JK0HLoyf z`0z^v&fBQSa!I7FU~9MaQ%e|?RP>sM^2PL!mE^Q1Ig_4M$5BRfi72oMYu6Ke?wmDX z@0a%-V|z}b23K=ye(W+fG#w|jJUnT{=KR5jfuq!RX}<1irTDw(${<&}dWQu4;EuE< z@3u4dBkQaCHHM&;cE0z50_V!(vJ1_V)A8?C#eJuLkt!98Z%|Bgzidc0j|z(&o)TCzYlrgZA zC3@i>L!&Gw_~7`>puB97I2lK)lESZQqVXc_8T^G2O#VHhO?IC$g zOYhXJ7)~C<8l|Xrftka@QuowScM{K&0zskoU$Aw~vIRVRF9TEQ4*3=_5)98B`=t8(N%ZuWqmwlW zllAzq=E5_5!sKDXam@w`ZD(nl%LAPxQuEtDcKPqu9LPJvNIITawU#c^PQ2HmZgs)r zH^+gRwZ?0)8IFQgU)+p@0Iqb^tcEoqcB@zhfz_FaOM&_d<|jnU>q5nSKa<@%9|dje zIupcg1!tRiMP4X=oG<7s4|AW&^-Cw4FL9OuI$t zxjc*y;Uw!G7a|jz>E*2+PlR(CemWebS7m-&*CDwnmxbiRqJvQ&os-sC&4OWt^(2@vG4|jui#Df@-D= zh3D%8Y3R6+jRBStSvH9pt&tCI`NK08J1*pC(?OM0h!bS-JK3I}`pDY-fDIaB_*W6KS+TO0Q*%kkeuN6uWITt=TsCGw6uBE710q; zRluI%j{?@jwhM|l5&TB!-TkQs!A=DXRE>u18t@;zndD0M$U@Igrt?UW2; z7%=dsHIVH_LCkGUU0fW&UMjDnvjcc0Mp(mK&;d~ZJ5EJ)#7@aTZvGDFXzFZg2Lq~s z5PR_LazNN)JD5K_uK*Hy{mXuHTkGGv|9V8KP#iQ$3!G*^>7UiE{|1G1A-qg(xH;Xa>&%f|BZkH zG=J^0pHzSAqv5*5ysQ{Puy^-_|IPrii zKS$mE10Zngf>Sgg@BjpRyJbrHeo zD8Ro0LI*W#+9?^xlOS^c>Z^^n^0I|FH^@^`ZR`{H=$ zjO0_$cnpBM7Zcm?H_RXIu-Lu~qweDSV|tEZBZh!e6hQy->}e;d#osZ1hQj{HhHkC0 zJ|F-HKmeTGgDe979ogBz24;@<|I7;TU!IXb@oWMsMECIETmQy`zPtM`|NP}PjzR_u zKMG1Z{%1kWeMfEf(10U#w!clmQ2)JC8zm(Fv!H4dUHQHCFLikID?hrd{0>kCQt?kP zdqn2ZG0}ytcQJ7t_B3s0ZvH3PYjkjQ`Q%;jV@?MK-+z3etBCGGo4f4`y^|AdCs!DH zThTQ;cL5dM{|tB_1y6K3bVa^hx_<9J(}5`2SDz1^0bT!Vm*JV;9~t&{IC{$DUAVV* z{|E=#yN{wNdTY@$6z{_KNA3&%w|vFu1n9XRcM0Ak>`UW!lQ`ah3D4r%}Z diff --git a/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/gradle/wrapper/gradle-wrapper.properties b/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index f398c33c4b0..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip -networkTimeout=10000 -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/gradlew b/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/gradlew deleted file mode 100755 index 79a61d421cc..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/gradlew +++ /dev/null @@ -1,244 +0,0 @@ -#!/bin/sh - -# -# Copyright © 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -# This is normally unused -# shellcheck disable=SC2034 -APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/gradlew.bat b/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/gradlew.bat deleted file mode 100644 index 93e3f59f135..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/gradlew.bat +++ /dev/null @@ -1,92 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/qlpack.yml b/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/qlpack.yml deleted file mode 100644 index d9848346b6f..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/qlpack.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: integrationtest-gradle-kotlinx-serialization -dependencies: - codeql/java-all: '*' - codeql/java-tests: '*' - codeql/java-queries: '*' -warnOnImplicitThis: true diff --git a/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/test.py b/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/test.py index 359771ac6c0..d242adbe434 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/gradle_kotlinx_serialization/test.py @@ -1,7 +1,2 @@ -import platform -from create_database_utils import * - -gradle_cmd = "gradlew.bat" if platform.system() == "Windows" else "./gradlew" - -run_codeql_database_create( - ["%s build --no-daemon --no-build-cache" % gradle_cmd], lang="java") +def test(codeql, java_full, gradle_7_6): + codeql.database.create(command=f"{gradle_7_6} build") diff --git a/java/ql/integration-tests/all-platforms/kotlin/java-interface-redeclares-tostring/test.py b/java/ql/integration-tests/all-platforms/kotlin/java-interface-redeclares-tostring/test.py index 0e529acbaa5..3db804c83be 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/java-interface-redeclares-tostring/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/java-interface-redeclares-tostring/test.py @@ -1,5 +1,6 @@ -from create_database_utils import * +import commands -os.mkdir('bin') -runSuccessfully(["javac", "Test.java", "-d", "bin"]) -run_codeql_database_create(["kotlinc -language-version 1.9 user.kt -cp bin"], lang="java") + +def test(codeql, java_full): + commands.run(["javac", "Test.java", "-d", "bin"]) + codeql.database.create(command="kotlinc -language-version 1.9 user.kt -cp bin") diff --git a/java/ql/integration-tests/all-platforms/kotlin/java_modifiers/test.py b/java/ql/integration-tests/all-platforms/kotlin/java_modifiers/test.py index 31c641d7013..d6414739cab 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/java_modifiers/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/java_modifiers/test.py @@ -1,10 +1,10 @@ -from create_database_utils import * -import glob +import commands -# Compile Java untraced. Note the Java source is hidden under `javasrc` so the Kotlin compiler -# will certainly reference the jar, not the source or class file for extlib.Lib -os.mkdir('build') -runSuccessfully(["javac"] + glob.glob("libsrc/extlib/*.java") + ["-d", "build"]) -runSuccessfully(["jar", "cf", "extlib.jar", "-C", "build", "extlib"]) -run_codeql_database_create(["kotlinc test.kt -cp extlib.jar"], lang="java") +def test(codeql, java_full, cwd): + # Compile Java untraced. Note the Java source is hidden under `javasrc` so the Kotlin compiler + # will certainly reference the jar, not the source or class file for extlib.Lib + java_srcs = (cwd / "libsrc" / "extlib").glob("*.java") + commands.run(["javac", *java_srcs, "-d", "build"]) + commands.run("jar cf extlib.jar -C build extlib") + codeql.database.create(command="kotlinc test.kt -cp extlib.jar") diff --git a/java/ql/integration-tests/all-platforms/kotlin/jvmoverloads-external-class/test.py b/java/ql/integration-tests/all-platforms/kotlin/jvmoverloads-external-class/test.py index 1416b7ecd67..73c9bae445c 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/jvmoverloads-external-class/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/jvmoverloads-external-class/test.py @@ -1,4 +1,4 @@ -from create_database_utils import * - -os.mkdir('bin') -run_codeql_database_create(["kotlinc test.kt -d bin", "kotlinc user.kt -cp bin", "javac User.java -cp bin"], lang="java") +def test(codeql, java_full): + codeql.database.create( + command=["kotlinc test.kt -d bin", "kotlinc user.kt -cp bin", "javac User.java -cp bin"] + ) diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlin-interface-inherited-default/qlpack.yml b/java/ql/integration-tests/all-platforms/kotlin/kotlin-interface-inherited-default/qlpack.yml deleted file mode 100644 index 69d3f0b3658..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/kotlin-interface-inherited-default/qlpack.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: integrationtest-kotlin-interface-inherited-default -dependencies: - codeql/java-all: '*' - codeql/java-tests: '*' - codeql/java-queries: '*' -warnOnImplicitThis: true diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlin-interface-inherited-default/test.py b/java/ql/integration-tests/all-platforms/kotlin/kotlin-interface-inherited-default/test.py index 0c9cd899be7..3374c783c48 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/kotlin-interface-inherited-default/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/kotlin-interface-inherited-default/test.py @@ -1,6 +1,8 @@ -from create_database_utils import * -import glob - -os.mkdir('build') -run_codeql_database_create(["kotlinc test.kt -d build", "kotlinc noforwards.kt -d build -Xjvm-default=all", "javac User.java -cp build"], lang="java") - +def test(codeql, java_full): + codeql.database.create( + command=[ + "kotlinc test.kt -d build", + "kotlinc noforwards.kt -d build -Xjvm-default=all", + "javac User.java -cp build", + ], + ) diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlin_compiler_java_source/test.py b/java/ql/integration-tests/all-platforms/kotlin/kotlin_compiler_java_source/test.py index 2b44384c1dc..330d469b4be 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/kotlin_compiler_java_source/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/kotlin_compiler_java_source/test.py @@ -1,8 +1,12 @@ -from create_database_utils import * - -os.mkdir('build') -# Steps: -# 1. Compile Kotlin passing Java source code. J.class is extracted with an unknown binary location -# 2. Compile Java producing a class file. J.class should be re-extracted this time with a known binary location -# 3. Compile a Kotlin user passing a Java class file on the classpath. Should reference the class file location that step 1 didn't know, but step 2 did. -run_codeql_database_create(["kotlinc J.java K.kt -d build", "javac J.java -d build", "kotlinc K2.kt -cp build -d build"], lang="java") +def test(codeql, java_full): + # Steps: + # 1. Compile Kotlin passing Java source code. J.class is extracted with an unknown binary location + # 2. Compile Java producing a class file. J.class should be re-extracted this time with a known binary location + # 3. Compile a Kotlin user passing a Java class file on the classpath. Should reference the class file location that step 1 didn't know, but step 2 did. + codeql.database.create( + command=[ + "kotlinc J.java K.kt -d build", + "javac J.java -d build", + "kotlinc K2.kt -cp build -d build", + ] + ) diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlin_file_import/test.py b/java/ql/integration-tests/all-platforms/kotlin/kotlin_file_import/test.py index a4a8fda26c7..51af4999a3c 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/kotlin_file_import/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/kotlin_file_import/test.py @@ -1,11 +1,11 @@ -from create_database_utils import * -import glob +import commands -# Compile library Kotlin file untraced. Note the library is hidden under `libsrc` so the Kotlin compiler -# will certainly reference the jar, not the source or class file. - -os.mkdir('build') -runSuccessfully([get_cmd("kotlinc")] + glob.glob("libsrc/*.kt") + ["-d", "build"]) -runSuccessfully(["jar", "cf", "extlib.jar", "-C", "build", "abcdefghij", "-C", "build", "META-INF"]) -run_codeql_database_create(["kotlinc user.kt -cp extlib.jar"], lang="java") +def test(codeql, java_full, cwd): + # Compile library Kotlin file untraced. Note the library is hidden under `libsrc` so the Kotlin compiler + # will certainly reference the jar, not the source or class file. + commands.run(["kotlinc", *(cwd / "libsrc").glob("*.kt"), "-d", "build"]) + commands.run( + ["jar", "cf", "extlib.jar", "-C", "build", "abcdefghij", "-C", "build", "META-INF"] + ) + codeql.database.create(command=["kotlinc user.kt -cp extlib.jar"]) diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlin_java_lowering_wildcards/test.py b/java/ql/integration-tests/all-platforms/kotlin/kotlin_java_lowering_wildcards/test.py index 78d7cec7b3d..d1c4948dfe7 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/kotlin_java_lowering_wildcards/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/kotlin_java_lowering_wildcards/test.py @@ -1,5 +1,13 @@ -from create_database_utils import * +import commands -# Compile the JavaDefns2 copy outside tracing, to make sure the Kotlin view of it matches the Java view seen by the traced javac compilation of JavaDefns.java below. -runSuccessfully(["javac", "JavaDefns2.java"]) -run_codeql_database_create(["kotlinc kotlindefns.kt", "javac JavaUser.java JavaDefns.java -cp .", "kotlinc -language-version 1.9 -cp . kotlinuser.kt"], lang="java") + +def test(codeql, java_full): + # Compile the JavaDefns2 copy outside tracing, to make sure the Kotlin view of it matches the Java view seen by the traced javac compilation of JavaDefns.java below. + commands.run(["javac", "JavaDefns2.java"]) + codeql.database.create( + command=[ + "kotlinc kotlindefns.kt", + "javac JavaUser.java JavaDefns.java -cp .", + "kotlinc -language-version 1.9 -cp . kotlinuser.kt", + ] + ) diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlin_java_static_fields/qlpack.yml b/java/ql/integration-tests/all-platforms/kotlin/kotlin_java_static_fields/qlpack.yml deleted file mode 100644 index 1902aa3a68f..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/kotlin_java_static_fields/qlpack.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: integrationtest-kotlin-java-static-fields -dependencies: - codeql/java-all: '*' - codeql/java-tests: '*' - codeql/java-queries: '*' -warnOnImplicitThis: true diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlin_java_static_fields/test.py b/java/ql/integration-tests/all-platforms/kotlin/kotlin_java_static_fields/test.py index 07bf397a81e..42644c72576 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/kotlin_java_static_fields/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/kotlin_java_static_fields/test.py @@ -1,4 +1,7 @@ -from create_database_utils import * - -os.mkdir('build') -run_codeql_database_create(["kotlinc ReadsFields.java hasFields.kt -d kbuild", "javac ReadsFields.java -cp kbuild"], lang="java") +def test(codeql, java_full): + codeql.database.create( + command=[ + "kotlinc ReadsFields.java hasFields.kt -d kbuild", + "javac ReadsFields.java -cp kbuild", + ], + ) diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/.gitattributes b/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/.gitattributes deleted file mode 100644 index 00a51aff5e5..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/.gitattributes +++ /dev/null @@ -1,6 +0,0 @@ -# -# https://help.github.com/articles/dealing-with-line-endings/ -# -# These are explicitly windows files and should use crlf -*.bat text eol=crlf - diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/diagnostics.expected b/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/diag.expected similarity index 100% rename from java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/diagnostics.expected rename to java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/diag.expected diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/diagnostics.ql b/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/diag.ql similarity index 100% rename from java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/diagnostics.ql rename to java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/diag.ql diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/force_sequential_test_execution deleted file mode 100644 index b0e2500b259..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/force_sequential_test_execution +++ /dev/null @@ -1,3 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/gradle/wrapper/gradle-wrapper.jar b/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index ccebba7710deaf9f98673a68957ea02138b60d0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61608 zcmb5VV{~QRw)Y#`wrv{~+qP{x72B%VwzFc}c2cp;N~)5ZbDrJayPv(!dGEd-##*zr z)#n-$y^sH|_dchh3@8{H5D*j;5D<{i*8l5IFJ|DjL!e)upfGNX(kojugZ3I`oH1PvW`wFW_ske0j@lB9bX zO;2)`y+|!@X(fZ1<2n!Qx*)_^Ai@Cv-dF&(vnudG?0CsddG_&Wtae(n|K59ew)6St z#dj7_(Cfwzh$H$5M!$UDd8=4>IQsD3xV=lXUq($;(h*$0^yd+b{qq63f0r_de#!o_ zXDngc>zy`uor)4A^2M#U*DC~i+dc<)Tb1Tv&~Ev@oM)5iJ4Sn#8iRw16XXuV50BS7 zdBL5Mefch(&^{luE{*5qtCZk$oFr3RH=H!c3wGR=HJ(yKc_re_X9pD` zJ;uxPzUfVpgU>DSq?J;I@a+10l0ONXPcDkiYcihREt5~T5Gb}sT0+6Q;AWHl`S5dV>lv%-p9l#xNNy7ZCr%cyqHY%TZ8Q4 zbp&#ov1*$#grNG#1vgfFOLJCaNG@K|2!W&HSh@3@Y%T?3YI75bJp!VP*$*!< z;(ffNS_;@RJ`=c7yX04!u3JP*<8jeqLHVJu#WV&v6wA!OYJS4h<_}^QI&97-;=ojW zQ-1t)7wnxG*5I%U4)9$wlv5Fr;cIizft@&N+32O%B{R1POm$oap@&f| zh+5J{>U6ftv|vAeKGc|zC=kO(+l7_cLpV}-D#oUltScw})N>~JOZLU_0{Ka2e1evz z{^a*ZrLr+JUj;)K&u2CoCAXLC2=fVScI(m_p~0FmF>>&3DHziouln?;sxW`NB}cSX z8?IsJB)Z=aYRz!X=yJn$kyOWK%rCYf-YarNqKzmWu$ZvkP12b4qH zhS9Q>j<}(*frr?z<%9hl*i^#@*O2q(Z^CN)c2c z>1B~D;@YpG?G!Yk+*yn4vM4sO-_!&m6+`k|3zd;8DJnxsBYtI;W3We+FN@|tQ5EW= z!VU>jtim0Mw#iaT8t_<+qKIEB-WwE04lBd%Letbml9N!?SLrEG$nmn7&W(W`VB@5S zaY=sEw2}i@F_1P4OtEw?xj4@D6>_e=m=797#hg}f*l^`AB|Y0# z9=)o|%TZFCY$SzgSjS|8AI-%J4x}J)!IMxY3_KYze`_I=c1nmrk@E8c9?MVRu)7+Ue79|)rBX7tVB7U|w4*h(;Gi3D9le49B38`wuv zp7{4X^p+K4*$@gU(Tq3K1a#3SmYhvI42)GzG4f|u zwQFT1n_=n|jpi=70-yE9LA+d*T8u z`=VmmXJ_f6WmZveZPct$Cgu^~gFiyL>Lnpj*6ee>*0pz=t$IJ}+rE zsf@>jlcG%Wx;Cp5x)YSVvB1$yyY1l&o zvwX=D7k)Dn;ciX?Z)Pn8$flC8#m`nB&(8?RSdBvr?>T9?E$U3uIX7T?$v4dWCa46 z+&`ot8ZTEgp7G+c52oHJ8nw5}a^dwb_l%MOh(ebVj9>_koQP^$2B~eUfSbw9RY$_< z&DDWf2LW;b0ZDOaZ&2^i^g+5uTd;GwO(-bbo|P^;CNL-%?9mRmxEw~5&z=X^Rvbo^WJW=n_%*7974RY}JhFv46> zd}`2|qkd;89l}R;i~9T)V-Q%K)O=yfVKNM4Gbacc7AOd>#^&W&)Xx!Uy5!BHnp9kh z`a(7MO6+Ren#>R^D0K)1sE{Bv>}s6Rb9MT14u!(NpZOe-?4V=>qZ>}uS)!y~;jEUK z&!U7Fj&{WdgU#L0%bM}SYXRtM5z!6M+kgaMKt%3FkjWYh=#QUpt$XX1!*XkpSq-pl zhMe{muh#knk{9_V3%qdDcWDv}v)m4t9 zQhv{;} zc{}#V^N3H>9mFM8`i`0p+fN@GqX+kl|M94$BK3J-X`Hyj8r!#x6Vt(PXjn?N)qedP z=o1T^#?1^a{;bZ&x`U{f?}TMo8ToN zkHj5v|}r}wDEi7I@)Gj+S1aE-GdnLN+$hw!=DzglMaj#{qjXi_dwpr|HL(gcCXwGLEmi|{4&4#OZ4ChceA zKVd4K!D>_N=_X;{poT~4Q+!Le+ZV>=H7v1*l%w`|`Dx8{)McN@NDlQyln&N3@bFpV z_1w~O4EH3fF@IzJ9kDk@7@QctFq8FbkbaH7K$iX=bV~o#gfh?2JD6lZf(XP>~DACF)fGFt)X%-h1yY~MJU{nA5 ze2zxWMs{YdX3q5XU*9hOH0!_S24DOBA5usB+Ws$6{|AMe*joJ?RxfV}*7AKN9V*~J zK+OMcE@bTD>TG1*yc?*qGqjBN8mgg@h1cJLDv)0!WRPIkC` zZrWXrceVw;fB%3`6kq=a!pq|hFIsQ%ZSlo~)D z|64!aCnw-?>}AG|*iOl44KVf8@|joXi&|)1rB;EQWgm+iHfVbgllP$f!$Wf42%NO5b(j9Bw6L z;0dpUUK$5GX4QbMlTmLM_jJt!ur`_0~$b#BB7FL*%XFf<b__1o)Ao3rlobbN8-(T!1d-bR8D3S0@d zLI!*GMb5s~Q<&sjd}lBb8Nr0>PqE6_!3!2d(KAWFxa{hm`@u|a(%#i(#f8{BP2wbs zt+N_slWF4IF_O|{w`c~)Xvh&R{Au~CFmW#0+}MBd2~X}t9lz6*E7uAD`@EBDe$>7W zzPUkJx<`f$0VA$=>R57^(K^h86>09?>_@M(R4q($!Ck6GG@pnu-x*exAx1jOv|>KH zjNfG5pwm`E-=ydcb+3BJwuU;V&OS=6yM^4Jq{%AVqnTTLwV`AorIDD}T&jWr8pB&j28fVtk_y*JRP^t@l*($UZ z6(B^-PBNZ+z!p?+e8@$&jCv^EWLb$WO=}Scr$6SM*&~B95El~;W_0(Bvoha|uQ1T< zO$%_oLAwf1bW*rKWmlD+@CP&$ObiDy=nh1b2ejz%LO9937N{LDe7gle4i!{}I$;&Y zkexJ9Ybr+lrCmKWg&}p=`2&Gf10orS?4$VrzWidT=*6{KzOGMo?KI0>GL0{iFWc;C z+LPq%VH5g}6V@-tg2m{C!-$fapJ9y}c$U}aUmS{9#0CM*8pC|sfer!)nG7Ji>mfRh z+~6CxNb>6eWKMHBz-w2{mLLwdA7dA-qfTu^A2yG1+9s5k zcF=le_UPYG&q!t5Zd_*E_P3Cf5T6821bO`daa`;DODm8Ih8k89=RN;-asHIigj`n=ux>*f!OC5#;X5i;Q z+V!GUy0|&Y_*8k_QRUA8$lHP;GJ3UUD08P|ALknng|YY13)}!!HW@0z$q+kCH%xet zlWf@BXQ=b=4}QO5eNnN~CzWBbHGUivG=`&eWK}beuV*;?zt=P#pM*eTuy3 zP}c#}AXJ0OIaqXji78l;YrP4sQe#^pOqwZUiiN6^0RCd#D271XCbEKpk`HI0IsN^s zES7YtU#7=8gTn#lkrc~6)R9u&SX6*Jk4GFX7){E)WE?pT8a-%6P+zS6o&A#ml{$WX zABFz#i7`DDlo{34)oo?bOa4Z_lNH>n;f0nbt$JfAl~;4QY@}NH!X|A$KgMmEsd^&Y zt;pi=>AID7ROQfr;MsMtClr5b0)xo|fwhc=qk33wQ|}$@?{}qXcmECh>#kUQ-If0$ zseb{Wf4VFGLNc*Rax#P8ko*=`MwaR-DQ8L8V8r=2N{Gaips2_^cS|oC$+yScRo*uF zUO|5=?Q?{p$inDpx*t#Xyo6=s?bbN}y>NNVxj9NZCdtwRI70jxvm3!5R7yiWjREEd zDUjrsZhS|P&|Ng5r+f^kA6BNN#|Se}_GF>P6sy^e8kBrgMv3#vk%m}9PCwUWJg-AD zFnZ=}lbi*mN-AOm zCs)r=*YQAA!`e#1N>aHF=bb*z*hXH#Wl$z^o}x##ZrUc=kh%OHWhp=7;?8%Xj||@V?1c ziWoaC$^&04;A|T)!Zd9sUzE&$ODyJaBpvqsw19Uiuq{i#VK1!htkdRWBnb z`{rat=nHArT%^R>u#CjjCkw-7%g53|&7z-;X+ewb?OLWiV|#nuc8mp*LuGSi3IP<<*Wyo9GKV7l0Noa4Jr0g3p_$ z*R9{qn=?IXC#WU>48-k5V2Oc_>P;4_)J@bo1|pf=%Rcbgk=5m)CJZ`caHBTm3%!Z9 z_?7LHr_BXbKKr=JD!%?KhwdYSdu8XxPoA{n8^%_lh5cjRHuCY9Zlpz8g+$f@bw@0V z+6DRMT9c|>1^3D|$Vzc(C?M~iZurGH2pXPT%F!JSaAMdO%!5o0uc&iqHx?ImcX6fI zCApkzc~OOnfzAd_+-DcMp&AOQxE_EsMqKM{%dRMI5`5CT&%mQO?-@F6tE*xL?aEGZ z8^wH@wRl`Izx4sDmU>}Ym{ybUm@F83qqZPD6nFm?t?(7>h*?`fw)L3t*l%*iw0Qu#?$5eq!Qc zpQvqgSxrd83NsdO@lL6#{%lsYXWen~d3p4fGBb7&5xqNYJ)yn84!e1PmPo7ChVd%4 zHUsV0Mh?VpzZD=A6%)Qrd~i7 z96*RPbid;BN{Wh?adeD_p8YU``kOrGkNox3D9~!K?w>#kFz!4lzOWR}puS(DmfjJD z`x0z|qB33*^0mZdM&6$|+T>fq>M%yoy(BEjuh9L0>{P&XJ3enGpoQRx`v6$txXt#c z0#N?b5%srj(4xmPvJxrlF3H%OMB!jvfy z;wx8RzU~lb?h_}@V=bh6p8PSb-dG|-T#A?`c&H2`_!u+uenIZe`6f~A7r)`9m8atC zt(b|6Eg#!Q*DfRU=Ix`#B_dK)nnJ_+>Q<1d7W)eynaVn`FNuN~%B;uO2}vXr5^zi2 z!ifIF5@Zlo0^h~8+ixFBGqtweFc`C~JkSq}&*a3C}L?b5Mh-bW=e)({F_g4O3 zb@SFTK3VD9QuFgFnK4Ve_pXc3{S$=+Z;;4+;*{H}Rc;845rP?DLK6G5Y-xdUKkA6E3Dz&5f{F^FjJQ(NSpZ8q-_!L3LL@H* zxbDF{gd^U3uD;)a)sJwAVi}7@%pRM&?5IaUH%+m{E)DlA_$IA1=&jr{KrhD5q&lTC zAa3c)A(K!{#nOvenH6XrR-y>*4M#DpTTOGQEO5Jr6kni9pDW`rvY*fs|ItV;CVITh z=`rxcH2nEJpkQ^(;1c^hfb8vGN;{{oR=qNyKtR1;J>CByul*+=`NydWnSWJR#I2lN zTvgnR|MBx*XFsfdA&;tr^dYaqRZp*2NwkAZE6kV@1f{76e56eUmGrZ>MDId)oqSWw z7d&r3qfazg+W2?bT}F)4jD6sWaw`_fXZGY&wnGm$FRPFL$HzVTH^MYBHWGCOk-89y zA+n+Q6EVSSCpgC~%uHfvyg@ufE^#u?JH?<73A}jj5iILz4Qqk5$+^U(SX(-qv5agK znUkfpke(KDn~dU0>gdKqjTkVk`0`9^0n_wzXO7R!0Thd@S;U`y)VVP&mOd-2 z(hT(|$=>4FY;CBY9#_lB$;|Wd$aOMT5O_3}DYXEHn&Jrc3`2JiB`b6X@EUOD zVl0S{ijm65@n^19T3l%>*;F(?3r3s?zY{thc4%AD30CeL_4{8x6&cN}zN3fE+x<9; zt2j1RRVy5j22-8U8a6$pyT+<`f+x2l$fd_{qEp_bfxfzu>ORJsXaJn4>U6oNJ#|~p z`*ZC&NPXl&=vq2{Ne79AkQncuxvbOG+28*2wU$R=GOmns3W@HE%^r)Fu%Utj=r9t` zd;SVOnA(=MXgnOzI2@3SGKHz8HN~Vpx&!Ea+Df~`*n@8O=0!b4m?7cE^K*~@fqv9q zF*uk#1@6Re_<^9eElgJD!nTA@K9C732tV~;B`hzZ321Ph=^BH?zXddiu{Du5*IPg} zqDM=QxjT!Rp|#Bkp$(mL)aar)f(dOAXUiw81pX0DC|Y4;>Vz>>DMshoips^8Frdv} zlTD=cKa48M>dR<>(YlLPOW%rokJZNF2gp8fwc8b2sN+i6&-pHr?$rj|uFgktK@jg~ zIFS(%=r|QJ=$kvm_~@n=ai1lA{7Z}i+zj&yzY+!t$iGUy|9jH#&oTNJ;JW-3n>DF+ z3aCOzqn|$X-Olu_p7brzn`uk1F*N4@=b=m;S_C?#hy{&NE#3HkATrg?enaVGT^$qIjvgc61y!T$9<1B@?_ibtDZ{G zeXInVr5?OD_nS_O|CK3|RzzMmu+8!#Zb8Ik;rkIAR%6?$pN@d<0dKD2c@k2quB%s( zQL^<_EM6ow8F6^wJN1QcPOm|ehA+dP(!>IX=Euz5qqIq}Y3;ibQtJnkDmZ8c8=Cf3 zu`mJ!Q6wI7EblC5RvP*@)j?}W=WxwCvF3*5Up_`3*a~z$`wHwCy)2risye=1mSp%p zu+tD6NAK3o@)4VBsM!@);qgsjgB$kkCZhaimHg&+k69~drbvRTacWKH;YCK(!rC?8 zP#cK5JPHSw;V;{Yji=55X~S+)%(8fuz}O>*F3)hR;STU`z6T1aM#Wd+FP(M5*@T1P z^06O;I20Sk!bxW<-O;E081KRdHZrtsGJflFRRFS zdi5w9OVDGSL3 zNrC7GVsGN=b;YH9jp8Z2$^!K@h=r-xV(aEH@#JicPy;A0k1>g1g^XeR`YV2HfmqXY zYbRwaxHvf}OlCAwHoVI&QBLr5R|THf?nAevV-=~V8;gCsX>jndvNOcFA+DI+zbh~# zZ7`qNk&w+_+Yp!}j;OYxIfx_{f0-ONc?mHCiCUak=>j>~>YR4#w# zuKz~UhT!L~GfW^CPqG8Lg)&Rc6y^{%3H7iLa%^l}cw_8UuG;8nn9)kbPGXS}p3!L_ zd#9~5CrH8xtUd?{d2y^PJg+z(xIfRU;`}^=OlehGN2=?}9yH$4Rag}*+AWotyxfCJ zHx=r7ZH>j2kV?%7WTtp+-HMa0)_*DBBmC{sd$)np&GEJ__kEd`xB5a2A z*J+yx>4o#ZxwA{;NjhU*1KT~=ZK~GAA;KZHDyBNTaWQ1+;tOFFthnD)DrCn`DjBZ% zk$N5B4^$`n^jNSOr=t(zi8TN4fpaccsb`zOPD~iY=UEK$0Y70bG{idLx@IL)7^(pL z{??Bnu=lDeguDrd%qW1)H)H`9otsOL-f4bSu};o9OXybo6J!Lek`a4ff>*O)BDT_g z<6@SrI|C9klY(>_PfA^qai7A_)VNE4c^ZjFcE$Isp>`e5fLc)rg@8Q_d^Uk24$2bn z9#}6kZ2ZxS9sI(RqT7?El2@B+($>eBQrNi_k#CDJ8D9}8$mmm z4oSKO^F$i+NG)-HE$O6s1--6EzJa?C{x=QgK&c=)b(Q9OVoAXYEEH20G|q$}Hue%~ zO3B^bF=t7t48sN zWh_zA`w~|){-!^g?6Mqf6ieV zFx~aPUOJGR=4{KsW7I?<=J2|lY`NTU=lt=%JE9H1vBpkcn=uq(q~=?iBt_-r(PLBM zP-0dxljJO>4Wq-;stY)CLB4q`-r*T$!K2o}?E-w_i>3_aEbA^MB7P5piwt1dI-6o!qWCy0 ztYy!x9arGTS?kabkkyv*yxvsPQ7Vx)twkS6z2T@kZ|kb8yjm+^$|sEBmvACeqbz)RmxkkDQX-A*K!YFziuhwb|ym>C$}U|J)4y z$(z#)GH%uV6{ec%Zy~AhK|+GtG8u@c884Nq%w`O^wv2#A(&xH@c5M`Vjk*SR_tJnq z0trB#aY)!EKW_}{#L3lph5ow=@|D5LzJYUFD6 z7XnUeo_V0DVSIKMFD_T0AqAO|#VFDc7c?c-Q%#u00F%!_TW1@JVnsfvm@_9HKWflBOUD~)RL``-!P;(bCON_4eVdduMO>?IrQ__*zE@7(OX zUtfH@AX*53&xJW*Pu9zcqxGiM>xol0I~QL5B%Toog3Jlenc^WbVgeBvV8C8AX^Vj& z^I}H})B=VboO%q1;aU5ACMh{yK4J;xlMc`jCnZR^!~LDs_MP&8;dd@4LDWw~*>#OT zeZHwdQWS!tt5MJQI~cw|Ka^b4c|qyd_ly(+Ql2m&AAw^ zQeSXDOOH!!mAgzAp0z)DD>6Xo``b6QwzUV@w%h}Yo>)a|xRi$jGuHQhJVA%>)PUvK zBQ!l0hq<3VZ*RnrDODP)>&iS^wf64C;MGqDvx>|p;35%6(u+IHoNbK z;Gb;TneFo*`zUKS6kwF*&b!U8e5m4YAo03a_e^!5BP42+r)LFhEy?_7U1IR<; z^0v|DhCYMSj<-;MtY%R@Fg;9Kky^pz_t2nJfKWfh5Eu@_l{^ph%1z{jkg5jQrkvD< z#vdK!nku*RrH~TdN~`wDs;d>XY1PH?O<4^U4lmA|wUW{Crrv#r%N>7k#{Gc44Fr|t z@UZP}Y-TrAmnEZ39A*@6;ccsR>)$A)S>$-Cj!=x$rz7IvjHIPM(TB+JFf{ehuIvY$ zsDAwREg*%|=>Hw$`us~RP&3{QJg%}RjJKS^mC_!U;E5u>`X`jW$}P`Mf}?7G7FX#{ zE(9u1SO;3q@ZhDL9O({-RD+SqqPX)`0l5IQu4q)49TUTkxR(czeT}4`WV~pV*KY&i zAl3~X%D2cPVD^B43*~&f%+Op)wl<&|D{;=SZwImydWL6@_RJjxP2g)s=dH)u9Npki zs~z9A+3fj0l?yu4N0^4aC5x)Osnm0qrhz@?nwG_`h(71P znbIewljU%T*cC=~NJy|)#hT+lx#^5MuDDnkaMb*Efw9eThXo|*WOQzJ*#3dmRWm@! zfuSc@#kY{Um^gBc^_Xdxnl!n&y&}R4yAbK&RMc+P^Ti;YIUh|C+K1|=Z^{nZ}}rxH*v{xR!i%qO~o zTr`WDE@k$M9o0r4YUFFeQO7xCu_Zgy)==;fCJ94M_rLAv&~NhfvcLWCoaGg2ao~3e zBG?Ms9B+efMkp}7BhmISGWmJsKI@a8b}4lLI48oWKY|8?zuuNc$lt5Npr+p7a#sWu zh!@2nnLBVJK!$S~>r2-pN||^w|fY`CT{TFnJy`B|e5;=+_v4l8O-fkN&UQbA4NKTyntd zqK{xEKh}U{NHoQUf!M=2(&w+eef77VtYr;xs%^cPfKLObyOV_9q<(%76-J%vR>w9!us-0c-~Y?_EVS%v!* z15s2s3eTs$Osz$JayyH|5nPAIPEX=U;r&p;K14G<1)bvn@?bM5kC{am|C5%hyxv}a z(DeSKI5ZfZ1*%dl8frIX2?);R^^~LuDOpNpk-2R8U1w92HmG1m&|j&J{EK=|p$;f9 z7Rs5|jr4r8k5El&qcuM+YRlKny%t+1CgqEWO>3;BSRZi(LA3U%Jm{@{y+A+w(gzA< z7dBq6a1sEWa4cD0W7=Ld9z0H7RI^Z7vl(bfA;72j?SWCo`#5mVC$l1Q2--%V)-uN* z9ha*s-AdfbDZ8R8*fpwjzx=WvOtmSzGFjC#X)hD%Caeo^OWjS(3h|d9_*U)l%{Ab8 zfv$yoP{OuUl@$(-sEVNt{*=qi5P=lpxWVuz2?I7Dc%BRc+NGNw+323^ z5BXGfS71oP^%apUo(Y#xkxE)y?>BFzEBZ}UBbr~R4$%b7h3iZu3S(|A;&HqBR{nK& z$;GApNnz=kNO^FL&nYcfpB7Qg;hGJPsCW44CbkG1@l9pn0`~oKy5S777uH)l{irK!ru|X+;4&0D;VE*Ii|<3P zUx#xUqvZT5kVQxsF#~MwKnv7;1pR^0;PW@$@T7I?s`_rD1EGUdSA5Q(C<>5SzE!vw z;{L&kKFM-MO>hy#-8z`sdVx})^(Dc-dw;k-h*9O2_YZw}|9^y-|8RQ`BWJUJL(Cer zP5Z@fNc>pTXABbTRY-B5*MphpZv6#i802giwV&SkFCR zGMETyUm(KJbh+&$8X*RB#+{surjr;8^REEt`2&Dubw3$mx>|~B5IKZJ`s_6fw zKAZx9&PwBqW1Oz0r0A4GtnZd7XTKViX2%kPfv+^X3|_}RrQ2e3l=KG_VyY`H?I5&CS+lAX5HbA%TD9u6&s#v!G> zzW9n4J%d5ye7x0y`*{KZvqyXUfMEE^ZIffzI=Hh|3J}^yx7eL=s+TPH(Q2GT-sJ~3 zI463C{(ag7-hS1ETtU;_&+49ABt5!A7CwLwe z=SoA8mYZIQeU;9txI=zcQVbuO%q@E)JI+6Q!3lMc=Gbj(ASg-{V27u>z2e8n;Nc*pf}AqKz1D>p9G#QA+7mqqrEjGfw+85Uyh!=tTFTv3|O z+)-kFe_8FF_EkTw!YzwK^Hi^_dV5x-Ob*UWmD-})qKj9@aE8g240nUh=g|j28^?v7 zHRTBo{0KGaWBbyX2+lx$wgXW{3aUab6Bhm1G1{jTC7ota*JM6t+qy)c5<@ zpc&(jVdTJf(q3xB=JotgF$X>cxh7k*(T`-V~AR+`%e?YOeALQ2Qud( zz35YizXt(aW3qndR}fTw1p()Ol4t!D1pitGNL95{SX4ywzh0SF;=!wf=?Q?_h6!f* zh7<+GFi)q|XBsvXZ^qVCY$LUa{5?!CgwY?EG;*)0ceFe&=A;!~o`ae}Z+6me#^sv- z1F6=WNd6>M(~ z+092z>?Clrcp)lYNQl9jN-JF6n&Y0mp7|I0dpPx+4*RRK+VQI~>en0Dc;Zfl+x z_e_b7s`t1_A`RP3$H}y7F9_na%D7EM+**G_Z0l_nwE+&d_kc35n$Fxkd4r=ltRZhh zr9zER8>j(EdV&Jgh(+i}ltESBK62m0nGH6tCBr90!4)-`HeBmz54p~QP#dsu%nb~W z7sS|(Iydi>C@6ZM(Us!jyIiszMkd)^u<1D+R@~O>HqZIW&kearPWmT>63%_t2B{_G zX{&a(gOYJx!Hq=!T$RZ&<8LDnxsmx9+TBL0gTk$|vz9O5GkK_Yx+55^R=2g!K}NJ3 zW?C;XQCHZl7H`K5^BF!Q5X2^Mj93&0l_O3Ea3!Ave|ixx+~bS@Iv18v2ctpSt4zO{ zp#7pj!AtDmti$T`e9{s^jf(ku&E|83JIJO5Qo9weT6g?@vX!{7)cNwymo1+u(YQ94 zopuz-L@|5=h8A!(g-MXgLJC0MA|CgQF8qlonnu#j z;uCeq9ny9QSD|p)9sp3ebgY3rk#y0DA(SHdh$DUm^?GI<>%e1?&}w(b zdip1;P2Z=1wM+$q=TgLP$}svd!vk+BZ@h<^4R=GS2+sri7Z*2f`9 z5_?i)xj?m#pSVchk-SR!2&uNhzEi+#5t1Z$o0PoLGz*pT64%+|Wa+rd5Z}60(j?X= z{NLjtgRb|W?CUADqOS@(*MA-l|E342NxRaxLTDqsOyfWWe%N(jjBh}G zm7WPel6jXijaTiNita+z(5GCO0NM=Melxud57PP^d_U## zbA;9iVi<@wr0DGB8=T9Ab#2K_#zi=$igyK48@;V|W`fg~7;+!q8)aCOo{HA@vpSy-4`^!ze6-~8|QE||hC{ICKllG9fbg_Y7v z$jn{00!ob3!@~-Z%!rSZ0JO#@>|3k10mLK0JRKP-Cc8UYFu>z93=Ab-r^oL2 zl`-&VBh#=-?{l1TatC;VweM^=M7-DUE>m+xO7Xi6vTEsReyLs8KJ+2GZ&rxw$d4IT zPXy6pu^4#e;;ZTsgmG+ZPx>piodegkx2n0}SM77+Y*j^~ICvp#2wj^BuqRY*&cjmL zcKp78aZt>e{3YBb4!J_2|K~A`lN=u&5j!byw`1itV(+Q_?RvV7&Z5XS1HF)L2v6ji z&kOEPmv+k_lSXb{$)of~(BkO^py&7oOzpjdG>vI1kcm_oPFHy38%D4&A4h_CSo#lX z2#oqMCTEP7UvUR3mwkPxbl8AMW(e{ARi@HCYLPSHE^L<1I}OgZD{I#YH#GKnpRmW3 z2jkz~Sa(D)f?V?$gNi?6)Y;Sm{&?~2p=0&BUl_(@hYeX8YjaRO=IqO7neK0RsSNdYjD zaw$g2sG(>JR=8Iz1SK4`*kqd_3-?;_BIcaaMd^}<@MYbYisWZm2C2|Np_l|8r9yM|JkUngSo@?wci(7&O9a z%|V(4C1c9pps0xxzPbXH=}QTxc2rr7fXk$9`a6TbWKPCz&p=VsB8^W96W=BsB|7bc zf(QR8&Ktj*iz)wK&mW`#V%4XTM&jWNnDF56O+2bo<3|NyUhQ%#OZE8$Uv2a@J>D%t zMVMiHh?es!Ex19q&6eC&L=XDU_BA&uR^^w>fpz2_`U87q_?N2y;!Z!bjoeKrzfC)} z?m^PM=(z{%n9K`p|7Bz$LuC7!>tFOuN74MFELm}OD9?%jpT>38J;=1Y-VWtZAscaI z_8jUZ#GwWz{JqvGEUmL?G#l5E=*m>`cY?m*XOc*yOCNtpuIGD+Z|kn4Xww=BLrNYS zGO=wQh}Gtr|7DGXLF%|`G>J~l{k^*{;S-Zhq|&HO7rC_r;o`gTB7)uMZ|WWIn@e0( zX$MccUMv3ABg^$%_lNrgU{EVi8O^UyGHPNRt%R!1#MQJn41aD|_93NsBQhP80yP<9 zG4(&0u7AtJJXLPcqzjv`S~5;Q|5TVGccN=Uzm}K{v)?f7W!230C<``9(64}D2raRU zAW5bp%}VEo{4Rko`bD%Ehf=0voW?-4Mk#d3_pXTF!-TyIt6U+({6OXWVAa;s-`Ta5 zTqx&8msH3+DLrVmQOTBOAj=uoxKYT3DS1^zBXM?1W+7gI!aQNPYfUl{3;PzS9*F7g zWJN8x?KjBDx^V&6iCY8o_gslO16=kh(|Gp)kz8qlQ`dzxQv;)V&t+B}wwdi~uBs4? zu~G|}y!`3;8#vIMUdyC7YEx6bb^1o}G!Jky4cN?BV9ejBfN<&!4M)L&lRKiuMS#3} z_B}Nkv+zzxhy{dYCW$oGC&J(Ty&7%=5B$sD0bkuPmj7g>|962`(Q{ZZMDv%YMuT^KweiRDvYTEop3IgFv#)(w>1 zSzH>J`q!LK)c(AK>&Ib)A{g`Fdykxqd`Yq@yB}E{gnQV$K!}RsgMGWqC3DKE(=!{}ekB3+(1?g}xF>^icEJbc z5bdxAPkW90atZT+&*7qoLqL#p=>t-(-lsnl2XMpZcYeW|o|a322&)yO_8p(&Sw{|b zn(tY$xn5yS$DD)UYS%sP?c|z>1dp!QUD)l;aW#`%qMtQJjE!s2z`+bTSZmLK7SvCR z=@I4|U^sCwZLQSfd*ACw9B@`1c1|&i^W_OD(570SDLK`MD0wTiR8|$7+%{cF&){$G zU~|$^Ed?TIxyw{1$e|D$050n8AjJvvOWhLtLHbSB|HIfjMp+gu>DraHZJRrdO53(= z+o-f{+qNog+qSLB%KY;5>Av6X(>-qYk3IIEwZ5~6a+P9lMpC^ z8CJ0q>rEpjlsxCvJm=kms@tlN4+sv}He`xkr`S}bGih4t`+#VEIt{1veE z{ZLtb_pSbcfcYPf4=T1+|BtR!x5|X#x2TZEEkUB6kslKAE;x)*0x~ES0kl4Dex4e- zT2P~|lT^vUnMp{7e4OExfxak0EE$Hcw;D$ehTV4a6hqxru0$|Mo``>*a5=1Ym0u>BDJKO|=TEWJ5jZu!W}t$Kv{1!q`4Sn7 zrxRQOt>^6}Iz@%gA3&=5r;Lp=N@WKW;>O!eGIj#J;&>+3va^~GXRHCY2}*g#9ULab zitCJt-OV0*D_Q3Q`p1_+GbPxRtV_T`jyATjax<;zZ?;S+VD}a(aN7j?4<~>BkHK7bO8_Vqfdq1#W&p~2H z&w-gJB4?;Q&pG9%8P(oOGZ#`!m>qAeE)SeL*t8KL|1oe;#+uOK6w&PqSDhw^9-&Fa zuEzbi!!7|YhlWhqmiUm!muO(F8-F7|r#5lU8d0+=;<`{$mS=AnAo4Zb^{%p}*gZL! zeE!#-zg0FWsSnablw!9$<&K(#z!XOW z;*BVx2_+H#`1b@>RtY@=KqD)63brP+`Cm$L1@ArAddNS1oP8UE$p05R=bvZoYz+^6 z<)!v7pRvi!u_-V?!d}XWQR1~0q(H3{d^4JGa=W#^Z<@TvI6J*lk!A zZ*UIKj*hyO#5akL*Bx6iPKvR3_2-^2mw|Rh-3O_SGN3V9GRo52Q;JnW{iTGqb9W99 z7_+F(Op6>~3P-?Q8LTZ-lwB}xh*@J2Ni5HhUI3`ct|*W#pqb>8i*TXOLn~GlYECIj zhLaa_rBH|1jgi(S%~31Xm{NB!30*mcsF_wgOY2N0XjG_`kFB+uQuJbBm3bIM$qhUyE&$_u$gb zpK_r{99svp3N3p4yHHS=#csK@j9ql*>j0X=+cD2dj<^Wiu@i>c_v zK|ovi7}@4sVB#bzq$n3`EgI?~xDmkCW=2&^tD5RuaSNHf@Y!5C(Is$hd6cuyoK|;d zO}w2AqJPS`Zq+(mc*^%6qe>1d&(n&~()6-ZATASNPsJ|XnxelLkz8r1x@c2XS)R*H(_B=IN>JeQUR;T=i3<^~;$<+8W*eRKWGt7c#>N`@;#!`kZ!P!&{9J1>_g8Zj zXEXxmA=^{8A|3=Au+LfxIWra)4p<}1LYd_$1KI0r3o~s1N(x#QYgvL4#2{z8`=mXy zQD#iJ0itk1d@Iy*DtXw)Wz!H@G2St?QZFz zVPkM%H8Cd2EZS?teQN*Ecnu|PrC!a7F_XX}AzfZl3fXfhBtc2-)zaC2eKx*{XdM~QUo4IwcGgVdW69 z1UrSAqqMALf^2|(I}hgo38l|Ur=-SC*^Bo5ej`hb;C$@3%NFxx5{cxXUMnTyaX{>~ zjL~xm;*`d08bG_K3-E+TI>#oqIN2=An(C6aJ*MrKlxj?-;G zICL$hi>`F%{xd%V{$NhisHSL~R>f!F7AWR&7b~TgLu6!3s#~8|VKIX)KtqTH5aZ8j zY?wY)XH~1_a3&>#j7N}0az+HZ;is;Zw(Am{MX}YhDTe(t{ZZ;TG}2qWYO+hdX}vp9 z@uIRR8g#y~-^E`Qyem(31{H0&V?GLdq9LEOb2(ea#e-$_`5Q{T%E?W(6 z(XbX*Ck%TQM;9V2LL}*Tf`yzai{0@pYMwBu%(I@wTY!;kMrzcfq0w?X`+y@0ah510 zQX5SU(I!*Fag4U6a7Lw%LL;L*PQ}2v2WwYF(lHx_Uz2ceI$mnZ7*eZ?RFO8UvKI0H z9Pq-mB`mEqn6n_W9(s~Jt_D~j!Ln9HA)P;owD-l~9FYszs)oEKShF9Zzcmnb8kZ7% zQ`>}ki1kwUO3j~ zEmh140sOkA9v>j@#56ymn_RnSF`p@9cO1XkQy6_Kog?0ivZDb`QWOX@tjMd@^Qr(p z!sFN=A)QZm!sTh(#q%O{Ovl{IxkF!&+A)w2@50=?a-+VuZt6On1;d4YtUDW{YNDN_ zG@_jZi1IlW8cck{uHg^g=H58lPQ^HwnybWy@@8iw%G! zwB9qVGt_?~M*nFAKd|{cGg+8`+w{j_^;nD>IrPf-S%YjBslSEDxgKH{5p)3LNr!lD z4ii)^%d&cCXIU7UK?^ZQwmD(RCd=?OxmY(Ko#+#CsTLT;p#A%{;t5YpHFWgl+@)N1 zZ5VDyB;+TN+g@u~{UrWrv)&#u~k$S&GeW)G{M#&Di)LdYk?{($Cq zZGMKeYW)aMtjmKgvF0Tg>Mmkf9IB#2tYmH-s%D_9y3{tfFmX1BSMtbe<(yqAyWX60 zzkgSgKb3c{QPG2MalYp`7mIrYg|Y<4Jk?XvJK)?|Ecr+)oNf}XLPuTZK%W>;<|r+% zTNViRI|{sf1v7CsWHvFrkQ$F7+FbqPQ#Bj7XX=#M(a~9^80}~l-DueX#;b}Ajn3VE z{BWI}$q{XcQ3g{(p>IOzFcAMDG0xL)H%wA)<(gl3I-oVhK~u_m=hAr&oeo|4lZbf} z+pe)c34Am<=z@5!2;_lwya;l?xV5&kWe}*5uBvckm(d|7R>&(iJNa6Y05SvlZcWBlE{{%2- z`86)Y5?H!**?{QbzGG~|k2O%eA8q=gxx-3}&Csf6<9BsiXC)T;x4YmbBIkNf;0Nd5 z%whM^!K+9zH>on_<&>Ws?^v-EyNE)}4g$Fk?Z#748e+GFp)QrQQETx@u6(1fk2!(W zWiCF~MomG*y4@Zk;h#2H8S@&@xwBIs|82R*^K(i*0MTE%Rz4rgO&$R zo9Neb;}_ulaCcdn3i17MO3NxzyJ=l;LU*N9ztBJ30j=+?6>N4{9YXg$m=^9@Cl9VY zbo^{yS@gU=)EpQ#;UIQBpf&zfCA;00H-ee=1+TRw@(h%W=)7WYSb5a%$UqNS@oI@= zDrq|+Y9e&SmZrH^iA>Of8(9~Cf-G(P^5Xb%dDgMMIl8gk6zdyh`D3OGNVV4P9X|EvIhplXDld8d z^YWtYUz@tpg*38Xys2?zj$F8%ivA47cGSl;hjD23#*62w3+fwxNE7M7zVK?x_`dBSgPK zWY_~wF~OEZi9|~CSH8}Xi>#8G73!QLCAh58W+KMJJC81{60?&~BM_0t-u|VsPBxn* zW7viEKwBBTsn_A{g@1!wnJ8@&h&d>!qAe+j_$$Vk;OJq`hrjzEE8Wjtm)Z>h=*M25 zOgETOM9-8xuuZ&^@rLObtcz>%iWe%!uGV09nUZ*nxJAY%&KAYGY}U1WChFik7HIw% zZP$3Bx|TG_`~19XV7kfi2GaBEhKap&)Q<9`aPs#^!kMjtPb|+-fX66z3^E)iwyXK7 z8)_p<)O{|i&!qxtgBvWXx8*69WO$5zACl++1qa;)0zlXf`eKWl!0zV&I`8?sG)OD2Vy?reNN<{eK+_ za4M;Hh%&IszR%)&gpgRCP}yheQ+l#AS-GnY81M!kzhWxIR?PW`G3G?} z$d%J28uQIuK@QxzGMKU_;r8P0+oIjM+k)&lZ39i#(ntY)*B$fdJnQ3Hw3Lsi8z&V+ zZly2}(Uzpt2aOubRjttzqrvinBFH4jrN)f0hy)tj4__UTwN)#1fj3-&dC_Vh7}ri* zfJ=oqLMJ-_<#rwVyN}_a-rFBe2>U;;1(7UKH!$L??zTbbzP#bvyg7OQBGQklJ~DgP zd<1?RJ<}8lWwSL)`jM53iG+}y2`_yUvC!JkMpbZyb&50V3sR~u+lok zT0uFRS-yx@8q4fPRZ%KIpLp8R#;2%c&Ra4p(GWRT4)qLaPNxa&?8!LRVdOUZ)2vrh zBSx&kB%#Y4!+>~)<&c>D$O}!$o{<1AB$M7-^`h!eW;c(3J~ztoOgy6Ek8Pwu5Y`Xion zFl9fb!k2`3uHPAbd(D^IZmwR5d8D$495nN2`Ue&`W;M-nlb8T-OVKt|fHk zBpjX$a(IR6*-swdNk@#}G?k6F-~c{AE0EWoZ?H|ZpkBxqU<0NUtvubJtwJ1mHV%9v?GdDw; zAyXZiD}f0Zdt-cl9(P1la+vQ$Er0~v}gYJVwQazv zH#+Z%2CIfOf90fNMGos|{zf&N`c0@x0N`tkFv|_9af3~<0z@mnf*e;%r*Fbuwl-IW z{}B3=(mJ#iwLIPiUP`J3SoP~#)6v;aRXJ)A-pD2?_2_CZ#}SAZ<#v7&Vk6{*i(~|5 z9v^nC`T6o`CN*n%&9+bopj^r|E(|pul;|q6m7Tx+U|UMjWK8o-lBSgc3ZF=rP{|l9 zc&R$4+-UG6i}c==!;I#8aDIbAvgLuB66CQLRoTMu~jdw`fPlKy@AKYWS-xyZzPg&JRAa@m-H43*+ne!8B7)HkQY4 zIh}NL4Q79a-`x;I_^>s$Z4J4-Ngq=XNWQ>yAUCoe&SMAYowP>r_O}S=V+3=3&(O=h zNJDYNs*R3Y{WLmBHc?mFEeA4`0Y`_CN%?8qbDvG2m}kMAiqCv`_BK z_6a@n`$#w6Csr@e2YsMx8udNWtNt=kcqDZdWZ-lGA$?1PA*f4?X*)hjn{sSo8!bHz zb&lGdAgBx@iTNPK#T_wy`KvOIZvTWqSHb=gWUCKXAiB5ckQI`1KkPx{{%1R*F2)Oc z(9p@yG{fRSWE*M9cdbrO^)8vQ2U`H6M>V$gK*rz!&f%@3t*d-r3mSW>D;wYxOhUul zk~~&ip5B$mZ~-F1orsq<|1bc3Zpw6)Ws5;4)HilsN;1tx;N6)tuePw& z==OlmaN*ybM&-V`yt|;vDz(_+UZ0m&&9#{9O|?0I|4j1YCMW;fXm}YT$0%EZ5^YEI z4i9WV*JBmEU{qz5O{#bs`R1wU%W$qKx?bC|e-iS&d*Qm7S=l~bMT{~m3iZl+PIXq{ zn-c~|l)*|NWLM%ysfTV-oR0AJ3O>=uB-vpld{V|cWFhI~sx>ciV9sPkC*3i0Gg_9G!=4ar*-W?D9)?EFL1=;O+W8}WGdp8TT!Fgv z{HKD`W>t(`Cds_qliEzuE!r{ihwEv1l5o~iqlgjAyGBi)$%zNvl~fSlg@M=C{TE;V zQkH`zS8b&!ut(m)%4n2E6MB>p*4(oV>+PT51#I{OXs9j1vo>9I<4CL1kv1aurV*AFZ^w_qfVL*G2rG@D2 zrs87oV3#mf8^E5hd_b$IXfH6vHe&lm@7On~Nkcq~YtE!}ad~?5*?X*>y`o;6Q9lkk zmf%TYonZM`{vJg$`lt@MXsg%*&zZZ0uUSse8o=!=bfr&DV)9Y6$c!2$NHyYAQf*Rs zk{^?gl9E z5Im8wlAsvQ6C2?DyG@95gUXZ3?pPijug25g;#(esF_~3uCj3~94}b*L>N2GSk%Qst z=w|Z>UX$m!ZOd(xV*2xvWjN&c5BVEdVZ0wvmk)I+YxnyK%l~caR=7uNQ=+cnNTLZ@&M!I$Mj-r{!P=; z`C2)D=VmvK8@T5S9JZoRtN!S*D_oqOxyy!q6Zk|~4aT|*iRN)fL)c>-yycR>-is0X zKrko-iZw(f(!}dEa?hef5yl%p0-v-8#8CX8!W#n2KNyT--^3hq6r&`)5Y@>}e^4h- zlPiDT^zt}Ynk&x@F8R&=)k8j$=N{w9qUcIc&)Qo9u4Y(Ae@9tA`3oglxjj6c{^pN( zQH+Uds2=9WKjH#KBIwrQI%bbs`mP=7V>rs$KG4|}>dxl_k!}3ZSKeEen4Iswt96GGw`E6^5Ov)VyyY}@itlj&sao|>Sb5 zeY+#1EK(}iaYI~EaHQkh7Uh>DnzcfIKv8ygx1Dv`8N8a6m+AcTa-f;17RiEed>?RT zk=dAksmFYPMV1vIS(Qc6tUO+`1jRZ}tcDP? zt)=7B?yK2RcAd1+Y!$K5*ds=SD;EEqCMG6+OqPoj{&8Y5IqP(&@zq@=A7+X|JBRi4 zMv!czlMPz)gt-St2VZwDD=w_S>gRpc-g zUd*J3>bXeZ?Psjohe;z7k|d<*T21PA1i)AOi8iMRwTBSCd0ses{)Q`9o&p9rsKeLaiY zluBw{1r_IFKR76YCAfl&_S1*(yFW8HM^T()&p#6y%{(j7Qu56^ZJx1LnN`-RTwimdnuo*M8N1ISl+$C-%=HLG-s} zc99>IXRG#FEWqSV9@GFW$V8!{>=lSO%v@X*pz*7()xb>=yz{E$3VE;e)_Ok@A*~El zV$sYm=}uNlUxV~6e<6LtYli1!^X!Ii$L~j4e{sI$tq_A(OkGquC$+>Rw3NFObV2Z)3Rt~Jr{oYGnZaFZ^g5TDZlg;gaeIP} z!7;T{(9h7mv{s@piF{-35L=Ea%kOp;^j|b5ZC#xvD^^n#vPH=)lopYz1n?Kt;vZmJ z!FP>Gs7=W{sva+aO9S}jh0vBs+|(B6Jf7t4F^jO3su;M13I{2rd8PJjQe1JyBUJ5v zcT%>D?8^Kp-70bP8*rulxlm)SySQhG$Pz*bo@mb5bvpLAEp${?r^2!Wl*6d7+0Hs_ zGPaC~w0E!bf1qFLDM@}zso7i~(``)H)zRgcExT_2#!YOPtBVN5Hf5~Ll3f~rWZ(UsJtM?O*cA1_W0)&qz%{bDoA}{$S&-r;0iIkIjbY~ zaAqH45I&ALpP=9Vof4OapFB`+_PLDd-0hMqCQq08>6G+C;9R~}Ug_nm?hhdkK$xpI zgXl24{4jq(!gPr2bGtq+hyd3%Fg%nofK`psHMs}EFh@}sdWCd!5NMs)eZg`ZlS#O0 zru6b8#NClS(25tXqnl{|Ax@RvzEG!+esNW-VRxba(f`}hGoqci$U(g30i}2w9`&z= zb8XjQLGN!REzGx)mg~RSBaU{KCPvQx8)|TNf|Oi8KWgv{7^tu}pZq|BS&S<53fC2K4Fw6>M^s$R$}LD*sUxdy6Pf5YKDbVet;P!bw5Al-8I1Nr(`SAubX5^D9hk6$agWpF}T#Bdf{b9-F#2WVO*5N zp+5uGgADy7m!hAcFz{-sS0kM7O)qq*rC!>W@St~^OW@R1wr{ajyYZq5H!T?P0e+)a zaQ%IL@X_`hzp~vRH0yUblo`#g`LMC%9}P;TGt+I7qNcBSe&tLGL4zqZqB!Bfl%SUa z6-J_XLrnm*WA`34&mF+&e1sPCP9=deazrM=Pc4Bn(nV;X%HG^4%Afv4CI~&l!Sjzb z{rHZ3od0!Al{}oBO>F*mOFAJrz>gX-vs!7>+_G%BB(ljWh$252j1h;9p~xVA=9_`P z5KoFiz96_QsTK%B&>MSXEYh`|U5PjX1(+4b#1PufXRJ*uZ*KWdth1<0 zsAmgjT%bowLyNDv7bTUGy|g~N34I-?lqxOUtFpTLSV6?o?<7-UFy*`-BEUsrdANh} zBWkDt2SAcGHRiqz)x!iVoB~&t?$yn6b#T=SP6Ou8lW=B>=>@ik93LaBL56ub`>Uo!>0@O8?e)$t(sgy$I z6tk3nS@yFFBC#aFf?!d_3;%>wHR;A3f2SP?Na8~$r5C1N(>-ME@HOpv4B|Ty7%jAv zR}GJwsiJZ5@H+D$^Cwj#0XA_(m^COZl8y7Vv(k=iav1=%QgBOVzeAiw zaDzzdrxzj%sE^c9_uM5D;$A_7)Ln}BvBx^=)fO+${ou%B*u$(IzVr-gH3=zL6La;G zu0Kzy5CLyNGoKRtK=G0-w|tnwI)puPDOakRzG(}R9fl7#<|oQEX;E#yCWVg95 z;NzWbyF&wGg_k+_4x4=z1GUcn6JrdX4nOVGaAQ8#^Ga>aFvajQN{!+9rgO-dHP zIp@%&ebVg}IqnRWwZRTNxLds+gz2@~VU(HI=?Epw>?yiEdZ>MjajqlO>2KDxA>)cj z2|k%dhh%d8SijIo1~20*5YT1eZTDkN2rc^zWr!2`5}f<2f%M_$to*3?Ok>e9$X>AV z2jYmfAd)s|(h?|B(XYrIfl=Wa_lBvk9R1KaP{90-z{xKi+&8=dI$W0+qzX|ZovWGOotP+vvYR(o=jo?k1=oG?%;pSqxcU* zWVGVMw?z__XQ9mnP!hziHC`ChGD{k#SqEn*ph6l46PZVkm>JF^Q{p&0=MKy_6apts z`}%_y+Tl_dSP(;Ja&sih$>qBH;bG;4;75)jUoVqw^}ee=ciV;0#t09AOhB^Py7`NC z-m+ybq1>_OO+V*Z>dhk}QFKA8V?9Mc4WSpzj{6IWfFpF7l^au#r7&^BK2Ac7vCkCn{m0uuN93Ee&rXfl1NBY4NnO9lFUp zY++C1I;_{#OH#TeP2Dp?l4KOF8ub?m6zE@XOB5Aiu$E~QNBM@;r+A5mF2W1-c7>ex zHiB=WJ&|`6wDq*+xv8UNLVUy4uW1OT>ey~Xgj@MMpS@wQbHAh>ysYvdl-1YH@&+Q! z075(Qd4C!V`9Q9jI4 zSt{HJRvZec>vaL_brKhQQwbpQd4_Lmmr0@1GdUeU-QcC{{8o=@nwwf>+dIKFVzPriGNX4VjHCa zTbL9w{Y2V87c2ofX%`(48A+4~mYTiFFl!e{3K^C_k%{&QTsgOd0*95KmWN)P}m zTRr{`f7@=v#+z_&fKYkQT!mJn{*crj%ZJz#(+c?>cD&2Lo~FFAWy&UG*Op^pV`BR^I|g?T>4l5;b|5OQ@t*?_Slp`*~Y3`&RfKD^1uLezIW(cE-Dq2z%I zBi8bWsz0857`6e!ahet}1>`9cYyIa{pe53Kl?8|Qg2RGrx@AlvG3HAL-^9c^1GW;)vQt8IK+ zM>!IW*~682A~MDlyCukldMd;8P|JCZ&oNL(;HZgJ>ie1PlaInK7C@Jg{3kMKYui?e!b`(&?t6PTb5UPrW-6DVU%^@^E`*y-Fd(p|`+JH&MzfEq;kikdse ziFOiDWH(D< zyV7Rxt^D0_N{v?O53N$a2gu%1pxbeK;&ua`ZkgSic~$+zvt~|1Yb=UfKJW2F7wC^evlPf(*El+#}ZBy0d4kbVJsK- z05>;>?HZO(YBF&v5tNv_WcI@O@LKFl*VO?L(!BAd!KbkVzo;v@~3v`-816GG?P zY+H3ujC>5=Am3RIZDdT#0G5A6xe`vGCNq88ZC1aVXafJkUlcYmHE^+Z{*S->ol%-O znm9R0TYTr2w*N8Vs#s-5=^w*{Y}qp5GG)Yt1oLNsH7y~N@>Eghms|K*Sdt_u!&I}$ z+GSdFTpbz%KH+?B%Ncy;C`uW6oWI46(tk>r|5|-K6)?O0d_neghUUOa9BXHP*>vi; z={&jIGMn-92HvInCMJcyXwHTJ42FZp&Wxu+9Rx;1x(EcIQwPUQ@YEQQ`bbMy4q3hP zNFoq~Qd0=|xS-R}k1Im3;8s{BnS!iaHIMLx)aITl)+)?Yt#fov|Eh>}dv@o6R{tG>uHsy&jGmWN5+*wAik|78(b?jtysPHC#e+Bzz~V zS3eEXv7!Qn4uWi!FS3B?afdD*{fr9>B~&tc671fi--V}~E4un;Q|PzZRwk-azprM$4AesvUb5`S`(5x#5VJ~4%ET6&%GR$}muHV-5lTsCi_R|6KM(g2PCD@|yOpKluT zakH!1V7nKN)?6JmC-zJoA#ciFux8!)ajiY%K#RtEg$gm1#oKUKX_Ms^%hvKWi|B=~ zLbl-L)-=`bfhl`>m!^sRR{}cP`Oim-{7}oz4p@>Y(FF5FUEOfMwO!ft6YytF`iZRq zfFr{!&0Efqa{1k|bZ4KLox;&V@ZW$997;+Ld8Yle91he{BfjRhjFTFv&^YuBr^&Pe zswA|Bn$vtifycN8Lxr`D7!Kygd7CuQyWqf}Q_PM}cX~S1$-6xUD%-jrSi24sBTFNz(Fy{QL2AmNbaVggWOhP;UY4D>S zqKr!UggZ9Pl9Nh_H;qI`-WoH{ceXj?m8y==MGY`AOJ7l0Uu z)>M%?dtaz2rjn1SW3k+p`1vs&lwb%msw8R!5nLS;upDSxViY98IIbxnh{}mRfEp=9 zbrPl>HEJeN7J=KnB6?dwEA6YMs~chHNG?pJsEj#&iUubdf3JJwu=C(t?JpE6xMyhA3e}SRhunDC zn-~83*9=mADUsk^sCc%&&G1q5T^HR9$P#2DejaG`Ui*z1hI#h7dwpIXg)C{8s< z%^#@uQRAg-$z&fmnYc$Duw63_Zopx|n{Bv*9Xau{a)2%?H<6D>kYY7_)e>OFT<6TT z0A}MQLgXbC2uf`;67`mhlcUhtXd)Kbc$PMm=|V}h;*_%vCw4L6r>3Vi)lE5`8hkSg zNGmW-BAOO)(W((6*e_tW&I>Nt9B$xynx|sj^ux~?q?J@F$L4;rnm_xy8E*JYwO-02u9_@@W0_2@?B@1J{y~Q39N3NX^t7#`=34Wh)X~sU&uZWgS1Z09%_k|EjA4w_QqPdY`oIdv$dJZ;(!k)#U8L+|y~gCzn+6WmFt#d{OUuKHqh1-uX_p*Af8pFYkYvKPKBxyid4KHc}H` z*KcyY;=@wzXYR{`d{6RYPhapShXIV?0cg_?ahZ7do)Ot#mxgXYJYx}<%E1pX;zqHd zf!c(onm{~#!O$2`VIXezECAHVd|`vyP)Uyt^-075X@NZDBaQt<>trA3nY-Dayki4S zZ^j6CCmx1r46`4G9794j-WC0&R9(G7kskS>=y${j-2;(BuIZTLDmAyWTG~`0)Bxqk zd{NkDe9ug|ms@0A>JVmB-IDuse9h?z9nw!U6tr7t-Lri5H`?TjpV~8(gZWFq4Vru4 z!86bDB;3lpV%{rZ`3gtmcRH1hjj!loI9jN>6stN6A*ujt!~s!2Q+U1(EFQEQb(h4E z6VKuRouEH`G6+8Qv2C)K@^;ldIuMVXdDDu}-!7FS8~k^&+}e9EXgx~)4V4~o6P^52 z)a|`J-fOirL^oK}tqD@pqBZi_;7N43%{IQ{v&G9^Y^1?SesL`;Z(dt!nn9Oj5Odde%opv&t zxJ><~b#m+^KV&b?R#)fRi;eyqAJ_0(nL*61yPkJGt;gZxSHY#t>ATnEl-E%q$E16% zZdQfvhm5B((y4E3Hk6cBdwGdDy?i5CqBlCVHZr-rI$B#>Tbi4}Gcvyg_~2=6O9D-8 zY2|tKrNzbVR$h57R?Pe+gUU_il}ZaWu|Az#QO@};=|(L-RVf0AIW zq#pO+RfM7tdV`9lI6g;{qABNId`fG%U9Va^ravVT^)CklDcx)YJKeJdGpM{W1v8jg z@&N+mR?BPB=K1}kNwXk_pj44sd>&^;d!Z~P>O78emE@Qp@&8PyB^^4^2f7e)gekMv z2aZNvP@;%i{+_~>jK7*2wQc6nseT^n6St9KG#1~Y@$~zR_=AcO2hF5lCoH|M&c{vR zSp(GRVVl=T*m~dIA;HvYm8HOdCkW&&4M~UDd^H)`p__!4k+6b)yG0Zcek8OLw$C^K z3-BbLiG_%qX|ZYpXJ$(c@aa7b4-*IQkDF}=gZSV`*ljP|5mWuHSCcf$5qqhZTv&P?I$z^>}qP(q!Aku2yA5vu38d8x*q{6-1`%PrE_r0-9Qo?a#7Zbz#iGI7K<(@k^|i4QJ1H z4jx?{rZbgV!me2VT72@nBjucoT zUM9;Y%TCoDop?Q5fEQ35bCYk7!;gH*;t9t-QHLXGmUF;|vm365#X)6b2Njsyf1h9JW#x$;@x5Nx2$K$Z-O3txa%;OEbOn6xBzd4n4v)Va=sj5 z%rb#j7{_??Tjb8(Hac<^&s^V{yO-BL*uSUk2;X4xt%NC8SjO-3?;Lzld{gM5A=9AV z)DBu-Z8rRvXXwSVDH|dL-3FODWhfe1C_iF``F05e{dl(MmS|W%k-j)!7(ARkV?6r~ zF=o42y+VapxdZn;GnzZfGu<6oG-gQ7j7Zvgo7Am@jYxC2FpS@I;Jb%EyaJDBQC(q% zKlZ}TVu!>;i3t~OAgl@QYy1X|T~D{HOyaS*Bh}A}S#a9MYS{XV{R-|niEB*W%GPW! zP^NU(L<}>Uab<;)#H)rYbnqt|dOK(-DCnY==%d~y(1*{D{Eo1cqIV8*iMfx&J*%yh zx=+WHjt0q2m*pLx8=--UqfM6ZWjkev>W-*}_*$Y(bikH`#-Gn#!6_ zIA&kxn;XYI;eN9yvqztK-a113A%97in5CL5Z&#VsQ4=fyf&3MeKu70)(x^z_uw*RG zo2Pv&+81u*DjMO6>Mrr7vKE2CONqR6C0(*;@4FBM;jPIiuTuhQ-0&C)JIzo_k>TaS zN_hB;_G=JJJvGGpB?uGgSeKaix~AkNtYky4P7GDTW6{rW{}V9K)Cn^vBYKe*OmP!; zohJs=l-0sv5&pL6-bowk~(swtdRBZQHh8)m^r2+qTtZ zt4m$B?OQYNyfBA0E)g28a*{)a=%%f-?{F;++-Xs#5|7kSHTD*E9@$V ztE%7zX4A(L`n)FY8Y4pOnKC|Pf)j$iR#yP;V0+|Hki+D;t4I4BjkfdYliK9Gf6RYw z;3px$Ud5aTd`yq$N7*WOs!{X91hZZ;AJ9iQOH%p;v$R%OQum_h#rq9*{ve(++|24z zh2P;{-Z?u#rOqd0)D^_Ponv(Y9KMB9#?}nJdUX&r_rxF0%3__#8~ZwsyrSPmtWY27 z-54ZquV2t_W!*+%uwC=h-&_q~&nQer0(FL74to%&t^byl^C?wTaZ-IS9OssaQFP)1 zAov0o{?IRAcCf+PjMWSdmP42gysh|c9Ma&Q^?_+>>+-yrC8WR;*XmJ;>r9v*>=W}tgWG;WIt{~L8`gk8DP{dSdG z4SDM7g5ahMHYHHk*|mh9{AKh-qW7X+GEQybJt9A@RV{gaHUAva+=lSroK^NUJYEiL z?X6l9ABpd)9zzA^;FdZ$QQs#uD@hdcaN^;Q=AXlbHv511Meye`p>P4Y2nblEDEeZo}-$@g&L98Aih6tgLz--${eKTxymIipy0xSYgZZ zq^yyS4yNPTtPj-sM?R8@9Q1gtXPqv{$lb5i|C1yymwnGdfYV3nA-;5!Wl zD0fayn!B^grdE?q^}ba{-LIv*Z}+hZm_F9c$$cW!bx2DgJD&6|bBIcL@=}kQA1^Eh zXTEznqk)!!IcTl>ey?V;X8k<+C^DRA{F?T*j0wV`fflrLBQq!l7cbkAUE*6}WabyF zgpb+|tv=aWg0i}9kBL8ZCObYqHEycr5tpc-$|vdvaBsu#lXD@u_e1iL z{h>xMRS0a7KvW?VttrJFpX^5DC4Bv4cp6gNG6#8)7r7IxXfSNSp6)_6tZ4l>(D+0I zPhU)N!sKywaBusHdVE!yo5$20JAU8V_XcW{QmO!p*~ns8{2~bhjydnmA&=r zX9NSM9QYogYMDZ~kS#Qx`mt>AmeR3p@K$`fbJ%LQ1c5lEOz<%BS<}2DL+$>MFcE%e zlxC)heZ7#i80u?32eOJI9oQRz0z;JW@7Th4q}YmQ-`Z?@y3ia^_)7f37QMwDw~<-@ zT)B6fftmK_6YS!?{uaj5lLxyR++u*ZY2Mphm5cd7PA5=%rd)95hJ9+aGSNfjy>Ylc zoI0nGIT3sKmwX8h=6CbvhVO+ehFIR155h8iRuXZx^cW>rq5K4z_dvM#hRER=WR@THs%WELI9uYK9HN44Em2$#@k)hD zicqRPKV#yB;UlcsTL_}zCMK0T;eXHfu`y2(dfwm(v)IBbh|#R>`2cot{m7}8_X&oD zr@94PkMCl%d3FsC4pil=#{3uv^+)pvxfwmPUr)T)T|GcZVD$wVj$mjkjDs`5cm8N! zXVq2CvL;gWGpPI4;9j;2&hS*o+LNp&C5Ac=OXx*W5y6Z^az)^?G0)!_iAfjH5wiSE zD(F}hQZB#tF5iEx@0sS+dP70DbZ*<=5X^)Pxo^8aKzOzuyc2rq=<0-k;Y_ID1>9^v z+)nc36}?>jen*1%OX3R*KRASj${u$gZ$27Hpcj=95kK^aLzxhW6jj_$w6}%#1*$5D zG1H_vYFrCSwrRqYw*9<}OYAOQT)u%9lC`$IjZV<4`9Sc;j{Qv_6+uHrYifK&On4V_7yMil!0Yv55z@dFyD{U@Sy>|vTX=P_( zRm<2xj*Z}B30VAu@0e+}at*y?wXTz|rPalwo?4ZZc>hS0Ky6~mi@kv#?xP2a;yt?5=(-CqvP_3&$KdjB7Ku;# z`GLE*jW1QJB5d&E?IJO?1+!Q8HQMGvv^RuFoi=mM4+^tOqvX%X&viB%Ko2o-v4~~J z267ui;gsW?J=qS=D*@*xJvAy3IOop5bEvfR4MZC>9Y4Z$rGI|EHNNZ7KX;Ix{xSvm z-)Cau-xuTm|7`4kUdXvd_d^E=po(76ELfq5OgxIt3aqDy#zBfIy-5<3gpn{Ce`-ha z<;6y@{Bgqw?c~h*&j{FozQCh=`Lv-5Iw!KdSt;%GDOq%=(V!dJ-}|}|0o5G2kJj6{ z`jCSPs$9Fe8O(+qALZiJ$WtR=<@GvsdM)IJ`7XrBfW0iyYE#Vy^e@zbysg*B5Z_kSL6<)vqoaH zQ{!9!*{e9UZo^h+qZ`T@LfVwAEwc&+9{C8c%oj41q#hyn<&zA9IIur~V|{mmu`n5W z8)-Ou$YgjQ*PMIqHhZ_9E?(uoK0XM5aQkarcp}WT^7b^FC#^i>#8LGZ9puDuXUYas z7caX)V5U6uY-L5Wl%)j$qRkR;7@3T*N64YK_!`Fw=>CAwe~2loI1<>DZW&sb7Q)X;6E08&$h! z2=c1i4UOO{R4TmkTz+o9n`}+%d%blR6P;5{`qjtxlN$~I%tMMDCY`~e{+mRF!rj5( z3ywv)P_PUUqREu)TioPkg&5RKjY6z%pRxQPQ{#GNMTPag^S8(8l{!{WGNs2U1JA-O zq02VeYcArhTAS;v3);k(&6ayCH8SXN@r;1NQeJ*y^NHM+zOd;?t&c!Hq^SR_w6twGV8dl>j zjS+Zc&Yp7cYj&c1y3IxQ%*kWiYypvoh(k8g`HrY<_Bi-r%m-@SLfy-6mobxkWHxyS z>TtM2M4;Uqqy|+8Q++VcEq$PwomV1D4UzNA*Tgkg9#Gpz#~&iPf|Czx!J?qss?e|3 z4gTua75-P{2X7w9eeK3~GE0ip-D;%%gTi)8bR~Ez@)$gpuS~jZs`CrO5SR-Xy7bkA z89fr~mY}u4A$|r1$fe-;T{yJh#9Ime1iRu8eo?uY9@yqAU3P!rx~SsP;LTBL zeoMK(!;(Zt8313 z3)V)q_%eflKW?BnMZa}6E0c7t!$-mC$qt44OME5F(6B$E8w*TUN-h}0dOiXI+TH zYFrr&k1(yO(|J0vP|{22@Z}bxm@7BkjO)f)&^fv|?_JX+s)1*|7X7HH(W?b3QZ3!V|~m?8}uJsF>NvE4@fik zjyyh+U*tt`g6v>k9ub88a;ySvS1QawGn7}aaR**$rJA=a#eUT~ngUbJ%V=qsFIekLbv!YkqjTG{_$F;$w19$(ivIs*1>?2ka%uMOx@B9`LD zhm~)z@u4x*zcM1WhiX)!U{qOjJHt1xs{G1S?rYe)L)ntUu^-(o_dfqZu)}W(X%Uu| zN*qI@&R2fB#Jh|Mi+eMrZDtbNvYD3|v0Kx>E#Ss;Be*T$@DC!2A|mb%d}TTN3J+c= zu@1gTOXFYy972S+=C;#~)Z{Swr0VI5&}WYzH22un_Yg5o%f9fvV(`6!{C<(ZigQ2`wso)cj z9O12k)15^Wuv#rHpe*k5#4vb%c znP+Gjr<-p%01d<+^yrSoG?}F=eI8X;?=Fo2a~HUiJ>L!oE#9tXRp!adg-b9D;(6$E zeW0tH$US04zTX$OxM&X+2ip>KdFM?iG_fgOD-qB|uFng8*#Z5jgqGY=zLU?4!OlO#~YBTB9b9#~H@nqQ#5 z6bV));d?IJTVBC+79>rGuy1JgxPLy$dA7;_^^L)02m}XLjFR*qH`eI~+eJo(7D`LH z(W%lGnGK+Vk_3kyF*zpgO=1MxMg?hxe3}}YI>dVs8l}5eWjYu4=w6MWK09+05 zGdpa#$awd>Q|@aZa*z{5F3xy3n@E4YT9%TmMo0jxW59p0bI?&S}M+ z&^NG%rf7h*m9~p#b19|`wO5OMY-=^XT+=yrfGNpl<&~~FGsx_`IaFn+sEgF$hgOa~oAVAiu^a$jHcqkE=dj`ze z=axsfrzzh6VGD0x#6Ff=t%+VTiq!n6^gv*uIUD<9fOhvR;al5kcY${uunn}-!74<7 zmP^3cl-kyN(QY!!Z-^PY-OUkh=3ZWk6>le$_Q&xk4cgH{?i)C%2RM@pX5Q{jdSlo! zVau5v44cQX5|zQlQDt;dCg)oM0B<=P1CR!W%!^m$!{pKx;bn9DePJjWBX)q!`$;0K zqJIIyD#aK;#-3&Nf=&IhtbV|?ZGYHSphp~6th`p2rkw&((%kBV7<{siEOU7AxJj+FuRdDu$ zcmTW8usU_u!r)#jg|J=Gt{##7;uf4A5cdt6Y02}f(d2)z~ z)CH~gVAOwBLk$ZiIOn}NzDjvfw(w$u|BdCBI#)3xB-Ot?nz?iR38ayCm48M=_#9r7 zw8%pwQ<9mbEs5~_>pN3~#+Er~Q86J+2TDXM6umCbukd-X6pRIr5tF?VauT8jW> zY^#)log>jtJs2s3xoiPB7~8#1ZMv>Zx0}H58k-@H2huNyw~wsl0B8j)H5)H9c7y&i zp8^0;rKbxC1eEZ-#Qxvz)Xv$((8lK9I>BspPajluysw^f#t9P;OUis43mmEzX+lk* zc4T-Ms9_687GR+~QS#0~vxK#DSGN=a-m(@eZTqw2<+lN9>R~gK2)3;sT4%nI%Y|0m zX9SPR!>?~s=j5H4WMqeTW8QaLZ=1bWS5I3xZ&$(ypc=tHrv+hX@s)VG(tc!yvLM7n zshN=C#v={X1r;)xn0Pow_1eMhkn!{;x$BJ#PIz)m585&%cmzk;btQzZAN_^zis;n? z?6I~bN?s;7vg_dtoTc4A5Ow*Rb}No#UYl)sN|RmoYo}k^cKLXd8F`44?RrokkPvN5 ztUrx;U~B;jbE_qGd3n0j2i}A{enJvJ?gSF~NQj~EP5vM-w4@;QQ5n(Npic}XNW6B0 zq9F4T%6kp7qGhd0vpQcz+nMk8GOAmbz8Bt4@GtewGr6_>Xj>ge)SyfY}nu>Y!a@HoIx(StD zx`!>RT&}tpBL%nOF%7XIFW?n1AP*xthCMzhrU6G!U6?m4!CPWTvn#Yaoi_95CT2!L z|B=5zeRW30&ANGN>J9#GtCm&3SF6n4TqDz<-{@ZXkrkRDCpV$DwCtI^e&3i1A{Ar&JZtS^c+lyPa6 z%JJr42S_;eFC#M~bdtQePhOU32WDiZ4@H&af)z#$Y|hnQNb)8(3?1Ad>5uaZ1z zU~!jt3XUI@gpWb8tWTyH7DGvKvzYfqNIy3P{9vpwz_C-QL&`+8Io$F5PS-@YQJoEO z17D9P(+sXajWSH_8&C?fn>rTLX+(?KiwX#JNV)xE0!Q@>Tid$V2#r4y6fkph?YZ>^ z(o^q(0*P->3?I0cELXJn(N|#qTm6 zAPIL~n)m!50;*?5=MOOc4Wk;w(0c$(!e?vpV23S|n|Y7?nyc8)fD8t-KI&nTklH&BzqQ}D(1gH3P+5zGUzIjT~x`;e8JH=86&5&l-DP% z)F+Et(h|GJ?rMy-Zrf>Rv@<3^OrCJ1xv_N*_@-K5=)-jP(}h1Rts44H&ou8!G_C1E zhTfUDASJ2vu!4@j58{NN;78i?6__xR75QEDC4JN{>RmgcNrn-EOpEOcyR<8FS@RB@ zH!R7J=`KK^u06eeI|X@}KvQmdKE3AmAy8 zM4IIvde#e4O(iwag`UL5yQo>6&7^=D4yE-Eo9$9R2hR} zn;Z9i-d=R-xZl4@?s%8|m1M`$J6lW1r0Y)+8q$}Vn4qyR1jqTjGH;@Z!2KiGun2~x zaiEfzVT<|_b6t}~XPeflAm8hvCHP3Bp*tl{^y_e{Jsn@w+KP{7}bH_s=1S2E1sj=18a39*Ag~lbkT^_OQuYQey=b zW^{0xlQ@O$^cSxUZ8l(Mspg8z0cL*?yH4;X2}TdN)uN31A%$3$a=4;{S@h#Y(~i%) zc=K7Ggl=&2hYVic*W65gpSPE70pU;FN@3k?BYdNDKv6wlsBAF^);qiqI zhklsX4TaWiC%VbnZ|yqL+Pcc;(#&E*{+Rx&<&R{uTYCn^OD|mAk4%Q7gbbgMnZwE{ zy7QMK%jIjU@ye?0; z;0--&xVeD}m_hq9A8a}c9WkI2YKj8t!Mkk!o%AQ?|CCBL9}n570}OmZ(w)YI6#QS&p<={tcek*D{CPR%eVA1WBGUXf z%gO2vL7iVDr1$!LAW)1@H>GoIl=&yyZ7=*9;wrOYQ}O}u>h}4FWL?N2ivURlUi11- zl{G0fo`9?$iAEN<4kxa#9e0SZPqa{pw?K=tdN5tRc7HDX-~Ta6_+#s9W&d`6PB7dF*G@|!Mc}i zc=9&T+edI(@la}QU2An#wlkJ&7RmTEMhyC_A8hWM54?s1WldCFuBmT5*I3K9=1aj= z6V@93P-lUou`xmB!ATp0(We$?)p*oQs;(Kku15~q9`-LSl{(Efm&@%(zj?aK2;5}P z{6<@-3^k^5FCDT@Z%XABEcuPoumYkiD&)-8z2Q}HO9OVEU3WM;V^$5r4q>h^m73XF z5!hZ7SCjfxDcXyj(({vg8FU(m2_}36L_yR>fnW)u=`1t@mPa76`2@%8v@2@$N@TE` z)kYhGY1jD;B9V=Dv1>BZhR9IJmB?X9Wj99f@MvJ2Fim*R`rsRilvz_3n!nPFLmj({EP!@CGkY5R*Y_dSO{qto~WerlG}DMw9k+n}pk z*nL~7R2gB{_9=zpqX|*vkU-dx)(j+83uvYGP?K{hr*j2pQsfXn<_As6z%-z+wFLqI zMhTkG>2M}#BLIOZ(ya1y8#W<+uUo@(43=^4@?CX{-hAuaJki(_A(uXD(>`lzuM~M;3XA48ZEN@HRV{1nvt?CV)t;|*dow0Ue2`B*iA&!rI`fZQ=b28= z_dxF}iUQ8}nq0SA4NK@^EQ%=)OY;3fC<$goJ&Kp|APQ@qVbS-MtJQBc)^aO8mYFsbhafeRKdHPW&s^&;%>v zlTz`YE}CuQ@_X&mqm{+{!h2r)fPGeM_Ge4RRYQkrma`&G<>RW<>S(?#LJ}O-t)d$< zf}b0svP^Zu@)MqwEV^Fb_j zPYYs~vmEC~cOIE6Nc^@b@nyL!w5o?nQ!$mGq(Pa|1-MD}K0si<&}eag=}WLSDO zE4+eA~!J(K}605x&4 zT72P7J^)Y)b(3g2MZ@1bv%o1ggwU4Yb!DhQ=uu-;vX+Ix8>#y6wgNKuobvrPNx?$3 zI{BbX<=Y-cBtvY&#MpGTgOLYU4W+csqWZx!=AVMb)Z;8%#1*x_(-)teF>45TCRwi1 z)Nn>hy3_lo44n-4A@=L2gI$yXCK0lPmMuldhLxR8aI;VrHIS{Dk}yp= zwjhB6v@0DN=Hnm~3t>`CtnPzvA*Kumfn5OLg&-m&fObRD};c}Hf?n&mS< z%$wztc%kjWjCf-?+q(bZh9k~(gs?i4`XVfqMXvPVkUWfm4+EBF(nOkg!}4u)6I)JT zU6IXqQk?p1a2(bz^S;6ZH3Wy9!JvbiSr7%c$#G1eK2^=~z1WX+VW)CPD#G~)13~pX zErO(>x$J_4qu-)lNlZkLj2}y$OiKn0ad5Imu5p-2dnt)(YI|b7rJ3TBUQ8FB8=&ym50*ibd2NAbj z;JA&hJ$AJlldM+tO;Yl3rBOFiP8fDdF?t(`gkRpmT9inR@uX{bThYNmxx-LN5K8h0 ztS%w*;V%b`%;-NARbNXn9he&AO4$rvmkB#;aaOx?Wk|yBCmN{oMTK&E)`s&APR<-5 z#;_e75z;LJ)gBG~h<^`SGmw<$Z3p`KG|I@7Pd)sTJnouZ1hRvm3}V+#lPGk4b&A#Y z4VSNi8(R1z7-t=L^%;*;iMTIAjrXl;h106hFrR{n9o8vlz?+*a1P{rEZ2ie{luQs} zr6t746>eoqiO5)^y;4H%2~&FT*Qc*9_oC2$+&syHWsA=rn3B~4#QEW zf4GT3i_@)f(Fj}gAZj`7205M8!B&HhmbgyZB& z+COyAVNxql#DwfP;H48Yc+Y~ChV6b9auLnfXXvpjr<~lQ@>VbCpQvWz=lyVf1??_c zAo3C^otZD@(v?X)UX*@w?TF|F8KF>l7%!Dzu+hksSA^akEkx8QD(V(lK+HBCw6C}2onVExW)f$ zncm*HI(_H;jF@)6eu}Tln!t?ynRkcqBA5MitIM@L^(4_Ke}vy7c%$w{(`&7Rn=u>oDM+Z^RUYcbSOPwT(ONyq76R>$V6_M_UP4vs=__I#io{{((| zy5=k=oVr-Qt$FImP~+&sN8rf2UH*vRMpwohPc@9?id17La4weIfBNa>1Djy+1=ugn z@}Zs;eFY1OC}WBDxDF=i=On_33(jWE-QYV)HbQ^VM!n>Ci9_W0Zofz7!m>do@KH;S z4k}FqEAU2)b%B_B-QcPnM5Zh=dQ+4|DJoJwo?)f2nWBuZE@^>a(gP~ObzMuyNJTgJFUPcH`%9UFA(P23iaKgo0)CI!SZ>35LpFaD7 z)C2sW$ltSEYNW%%j8F;yK{iHI2Q^}coF@LX`=EvxZb*_O;2Z0Z5 z7 zlccxmCfCI;_^awp|G748%Wx%?t9Sh8!V9Y(9$B?9R`G)Nd&snX1j+VpuQ@GGk=y(W zK|<$O`Cad`Y4#W3GKXgs%lZduAd1t1<7LwG4*zaStE*S)XXPFDyKdgiaVXG2)LvDn zf}eQ_S(&2!H0Mq1Yt&WpM1!7b#yt_ie7naOfX129_E=)beKj|p1VW9q>>+e$3@G$K zrB%i_TT1DHjOf7IQ8)Wu4#K%ZSCDGMP7Ab|Kvjq7*~@ewPm~h_-8d4jmNH<&mNZC@CI zKxG5O08|@<4(6IEC@L-lcrrvix&_Dj4tBvl=8A}2UX|)~v#V$L22U}UHk`B-1MF(t zU6aVJWR!>Y0@4m0UA%Sq9B5;4hZvsOu=>L`IU4#3r_t}os|vSDVMA??h>QJ1FD1vR z*@rclvfD!Iqoxh>VP+?b9TVH8g@KjYR@rRWQy44A`f6doIi+8VTP~pa%`(Oa@5?=h z8>YxNvA##a3D0)^P|2|+0~f|UsAJV=q(S>eq-dehQ+T>*Q@qN zU8@kdpU5gGk%ozt?%c8oM6neA?GuSsOfU_b1U)uiEP8eRn~>M$p*R z43nSZs@^ahO78s zulbK@@{3=2=@^yZ)DuIC$ki;`2WNbD_#`LOHN9iMsrgzt-T<8aeh z(oXrqI$Kgt6)Icu=?11NWs>{)_ed1wh>)wv6RYNUA-C&bejw{cBE_5Wzeo!AHdTd+ z)d(_IKN7z^n|As~3XS=cCB_TgM7rK;X586re`{~Foml$aKs zb!4Pe7hEP|370EWwn$HKPM!kL94UPZ1%8B^e5fB+=Iw^6=?5n3tZGYjov83CLB&OQ++p)WCMeshCv_9-~G9C_2x`LxTDjUcW$l6e!6-&a^fM3oP9*g(H zmCk0nGt1UMdU#pfg1G0um5|sc|KO<+qU1E4iBF~RvN*+`7uNHH^gu{?nw2DSCjig% zI@ymKZSK=PhHJa(jW&xeApv&JcfSmNJ4uQ|pY=Lcc>=J|{>5Ug3@x#R_b@55xFgfs za^ANzWdD$ZYtFs$d7+oiw0ZmPk2&l|< zc8()wfiJx@EGpQT zG$8iLkQZ-086doF1R zh<#9cz_vRsJdoXbD=QgOtpm}cFAJX8c}>Jew;PQJSXSb^;wlC zxXLHTS|!GZ-VK_4wV<9bk4RUmlsByzW_^b>)$6R+jQ}^wco1nMA`9Lncs;&QGp!`5Tx#aXXU?}5_RrtUY zx(EMzDhl-a^y^f5yfFLMnOO#u)l69&4M?|ne|2EV>zQ}4JQCBel?~2I4?D|>L$%H(peOOII!U}i z-j)*h1rODe9{0`xmhG;`AKqw1p0_KhEIU8)DoGnEn9wAhXPaxO_(jNSij~J5m$P*$ z9Mt(t;eV}2+i|kjQpBFcNb7_(VbuF<;RQB~R~p>2*Lg>a&7DEEuq*I%Ls4{zHeUDq z+M0&YhEn^C*9-B4Q7HJ$xj)dORCXPK+)ZtLOa0o&)Sl+f(Y{p*68$-#yagW5^HQnQ z0pWpoQpxg8<&gx9im(>=x6v#&RbQ7^AsjxeSDA? zi4MEJUC~ByG!PiBjq7$pK&FA^5 z=Y@dtQnuy%IfsaR`TVP0q^3mixl&J-3!$H!ua#{A>0Z1JdLq#d4UV9nlYm641ZHl zH6mK~iI6lR3OUEVL}Z5{ONZ_6{Nk%Bv03ag<1HVN?R%w2^aR5@E>6(r>}IoMl$wRF zWr-DItN*k7T$NTT8B)+23c?171sADhjInb2Xb>GhFYGC&3{b>huvLlaS4O z^{j5q+b5H?Z)yuy%AByaVl2yj9cnalY1sMQ zXI#e%*CLajxGxP!K6xf9RD2pMHOfAa1d^Lr6kE`IBpxOiGXfNcoQ*FI6wsNtLD!T+ zC4r2q>5qz0f}UY^RY#1^0*FPO*Zp-U1h9U|qWjwqJaDB(pZ`<`U-xo7+JB$zvwV}^ z2>$0&Q5k#l|Er7*PPG1ycj4BGz zg&`d*?nUi1Q!OB>{V@T$A;)8@h;*Rb1{xk_8X<34L`s}xkH-rQZvjM`jI=jaJRGRg zeEcjYChf-78|RLrao%4HyZBfnAx5KaE~@Sx+o-2MLJ>j-6uDb!U`odj*=)0k)K75l zo^)8-iz{_k7-_qy{Ko~N#B`n@o#A22YbKiA>0f3k=p-B~XX=`Ug>jl$e7>I=hph0&AK z?ya;(NaKY_!od=tFUcGU5Kwt!c9EPUQLi;JDCT*{90O@Wc>b| zI;&GIY$JlQW^9?R$-OEUG|3sp+hn+TL(YK?S@ZW<4PQa}=IcUAn_wW3d!r#$B}n08 z*&lf(YN21NDJ74DqwV`l`RX(4zJ<(E4D}N0@QaE-hnfdPDku~@yhb^AeZL73RgovX z6=e>!`&e^l@1WA5h!}}PwwL*Gjg!LbC5g0|qb8H$^S{eGs%cc?4vTyVFW=s6KtfW? z@&Xm+E(uz(qDbwDvRQI9DdB<2sW}FYK9sg*f%-i*>*n{t-_wXvg~N7gM|a91B!x|K zyLbJ~6!!JZpZ`#HpCB8g#Q*~VU47Rp$NyZb3WhEgg3ivSwnjGJgi0BEV?!H}Z@QF| zrO`Kx*52;FR#J-V-;`oR-pr!t>bYf)UYcixN=(FUR6$fhN@~i09^3WeP3*)D*`*mJ z1u%klAbzQ=P4s%|FnVTZv%|@(HDB+ap5S#cFSJUSGkyI*Y>9Lwx|0lTs%uhoCW(f1 zi+|a9;vDPfh3nS<7m~wqTM6+pEm(&z-Ll;lFH!w#(Uk#2>Iv~2Hu}lITn7hnOny`~ z*Vj=r<&Nwpq^@g5m`u&QTBRoK*}plAuHg$L$~NO#wF0!*r0OfcS%)k0A??uY*@B^C zJe9WdU(w){rTIf<;rwJt^_35^d<A@$FqEZW6kwyfAo2x0T$Ye2MZox6Z7<%Qbu$}}u{rtE+h2M+Z}T4I zxF1cwJ(Uvp!T#mogWkhb(?SxD4_#tV(Sc8N4Gu*{Fh#})Pvb^ef%jrlnG*&Ie+J5 zsly5oo?1((um&lLDxn(DkYtk`My>lgKTp3Y4?hTQ4_`YNOFtjF-FUY#d#(EQd(rfz zB8z%Vi;?x)ZM$3c>yc5H8KBvSevnWNdCbAj?QCac)6-K~Xz@EZp}~N9q)5*Ufjz3C z6kkOeI{3H(^VO8hKDrVjy2DXd;5wr4nb`19yJi0DO@607MSx+7F$ zz3F7sl8JV@@sM$6`#JmSilqI%Bs)}Py2eFT;TjcG5?8$zwV60b(_5A>b#uk~7U^bO z>y|6SCrP2IGST(8HFuX|XQUXPLt2gL_hm|uj1Ws`O2VW>SyL^uXkl>Zvkcpi?@!F7 z%svLoT@{R#XrIh^*dE~$YhMwC+b7JE09NAS47kT%Ew zD!XjxA@1+KOAyu`H2z#h+pGm!lG>WI0v745l+Fd><3dh{ATq%h?JSdEt zu%J*zfFUx%Tx&0DS5WSbE)vwZSoAGT=;W#(DoiL($BcK;U*w`xA&kheyMLI673HCb7fGkp{_vdV2uo;vSoAH z9BuLM#Vzwt#rJH>58=KXa#O;*)_N{$>l7`umacQ0g$pI3iW4=L--O;Wiq0zy7OKp`j2r^y3`7X!?sq9rr5B{41BkBr1fEd1#Q3 z-dXc2RSb4U>FvpVhlQCIzQ-hs=8420z=7F2F(^xD;^RXgpjlh8S6*xCP#Gj2+Q0bAg?XARw3dnlQ*Lz3vk}m`HXmCgN=?bIL{T zi}Ds-xn|P)dxhraT@XY$ZQ&^%x8y!o+?n#+>+dZ1c{hYwNTNRke@3enT(a@}V*X{! z81+{Jc2UR;+Zcbc6cUlafh4DFKwp>;M}8SGD+YnW3Q_)*9Z_pny_z+MeYQmz?r%EVaN0d!NE*FVPq&U@vo{ef6wkMIDEWLbDs zz91$($XbGnQ?4WHjB~4xgPgKZts{p|g1B{-4##}#c5aL5C6_RJ_(*5>85B1}U!_<``}q-97Q7~u)(&lsb(WT^(*n7H%33%@_b zO5(?-v??s??33b19xiB7t_YT!q8!qAzN1#RD@3;kYAli%kazt#YN7}MhVu=ljuz27 z1`<+g8oVwy57&$`CiHeaM)tz(OSt4E# zJ@P6E*e504oUw~RD(=9WP8QdW^6wRdFbKII!GAWecJ(?{`EzTR@?j!3g?$@LLCt;U={>!9z7DU!(1Jq zqEwdx5q?W1Ncm7mXP8MFwAr?nw5$H%cb>Q><9j{Tk2RY9ngGvaJgWXx^r!ywk{ph- zs2PFto4@IIwBh{oXe;yMZJYlS?3%a-CJ#js90hoh5W5d^OMwCFmpryHFr|mG+*ZP$ zqyS5BW@s}|3xUO0PR<^{a2M(gkP5BDGxvkWkPudSV*TMRK5Qm4?~VuqVAOerffRt$HGAvp;M++Iq$E6alB z;ykBr-eZ6v_H^1Wip56Czj&=`mb^TsX|FPN#-gnlP03AkiJDM=?y|LzER1M93R4sC z*HT(;EV=*F*>!+Z{r!KG?6ODMGvkt3viG=@kQJHNMYd}bS4KrrHf4`&*(0m0R5Hqz zEk)r=sFeS?MZRvn<@Z0&bDw)XkMnw+_xqgp=W{;ioX`6;G-P9N%wfoYJ$-m$L#MC% z^sH?tSzA|WWP(cN3({~_*X$l{M*;1V{l$;T6b){#l4pswDTid26HaXgKed}13YIP= zJRvA3nmx{}R$Lr&S4!kWU3`~dxM}>VXWu6Xd(VP}z1->h&f%82eXD_TuTs@=c;l0T z|LHmWKJ+?7hkY=YM>t}zvb4|lV;!ARMtWFp!E^J=Asu9w&kVF*i{T#}sY++-qnVh! z5TQ|=>)+vutf{&qB+LO9^jm#rD7E5+tcorr^Fn5Xb0B;)f^$7Ev#}G_`r==ea294V z--v4LwjswWlSq9ba6i?IXr8M_VEGQ$H%hCqJTFQ3+1B9tmxDUhnNU%dy4+zbqYJ|o z3!N{b?A@{;cG2~nb-`|z;gEDL5ffF@oc3`R{fGi)0wtMqEkw4tRX3t;LVS3-zAmg^ zgL7Z{hmdPSz9oA@t>tZ1<|Khn&Lp=_!Q=@a?k+t~H&3jN?dr(}7s;{L+jiKY57?WsFBfW^mu6a03_^VKrdK=9egXw@!nzZ3TbYc*osyQNoCXPYoFS<&Nr97MrQCOK(gO8 z;0@iqRTJy4-RH)PJld5`AJN}n?5r^-enKrHQOR;z>UMfm+e8~4ZL5k>oXMiYq12Bx4eVQv0jFgp_zC#``sjZpywYqISMP}VZ@!~1Mf$!x|opj%mQ98JnSk@`~ zPmmyuPZKtZOnEC!1y!?`TYRsZ!II;d!iln}%e}bk5qIiUADERr*K$3dekgHV9TtBX zi5q!J!6Zgd#cLxRmZN^J`o@Zv{+p+<_#8^nvY)44Hw_2i@?R&5n^q33fpOnDg1nPQ z_r<$hURl~OketX|Tdbvf_7=3x^rSFJtEp@tuDpVB&uq)qW;xUQ7mmkr-@eZwa$l+? zoKk``Vz@TH#>jMce*8>@FZ+@BEUdYa_K0i|{*;j9MW3K%pnM*T;@>|o@lMhgLrpZP5aol(z>g;b4}|e$U~Fn zGL%(}p%Jsl4LxE!VW_Y4T>e}W4e#~F03H_^R!Q)kpJG{lO!@I4{mFo^V#ayHh_5~o zB$O71gcE(G@6xv);#Ky?e(Ed}^O+Ho(t=93T9T3TnEY(OVf_dR-gY@jj+iJSY?q|6prBv(S9A4k=2fNZz!W@S=B@~b?TJRTuBQq448@juN#Y=3q=^VCF>Z}n6wICJ<^^Kn8C;mK zZYiFSN#Z$?NDGV7(#}q2tAZAtE63icK-MY>UQu4MWlGIbJ$AF8Zt-jV;@7P5MPI>% zPWvO!t%1+s>-A%`;0^o8Ezeaa4DMwI8ooQrJ;ax@Qt*6XONWw)dPwOPI9@u*EG&844*1~EoZ2qsAe~M>d`;Bc_CWY zMoDKEmDh-}k9d6*<0g@aQmsnrM1H9IcKYZs)><)d92{|0Hh8?~XbF)7U+UmP@Pw_6geVB?7N$4J4*E0z3EO&5kRS(EE zv92(+e5WxLXMN{h;-|8@!Q#0q247hb^3R%*k3MuMO5*L}$0D#5P*N$aHd54C+=_RToYXTyewugOaDmGsCvb4H1s=@gkfVnzTCWKMa-Mm1v4Wq!t-JIrbV&EWwKDe ze#kJpOq#iRlFz%5#6Fio9IUlKnQ#X&DY8Ux#<-WqxAac-y%U_L+EZZ4Rg5*yNg`f< zSZn&uio@zanUCPqX1l4W&B!;UWs#P7B^|4WwoCxQXl|44n^cBNqu=3Vl*ltAqsUQO z9q_@nD0zq0O8r`coEm>9+|rA3HL#l}X;0##>SJS$cVavOZVCpSGf4mUU1( zWaRCUYc^9QbG9=vpWo%xP}CMFnMb{reA`K7tT(t5DM)d9l}jVPY>qoRzT zE3m-p#=i=$9x*CB`AL>SY}u3agYFl#uULNen#&44H;!L@I{RI=PlWxG8J((f)ma7A z@jLvQ>?Nx`n?3ChRG#HqE3MXP8*o3!Qq`+t8EMt_p)oeKHqPusBxPn!#?R??-=e3e zo73WNs_IZF`WLigre=|`aS2^> zN1zn!7k&Dh28t%VpJ%**&E!eAcB5oLjQFFcJQj*URMia%Ya3@q1UQ18=oWMM6`I}iT_&L1gl?*~6nU4q4Z0`H<5yDp(HeZ+RGf9`mM&= zn-qRp%i!g$R;i1d1aMZ{IewNjE@p2+Z{`x{*xL*x$?WV~{BjJpsP&C&JK0HLoyf z`0z^v&fBQSa!I7FU~9MaQ%e|?RP>sM^2PL!mE^Q1Ig_4M$5BRfi72oMYu6Ke?wmDX z@0a%-V|z}b23K=ye(W+fG#w|jJUnT{=KR5jfuq!RX}<1irTDw(${<&}dWQu4;EuE< z@3u4dBkQaCHHM&;cE0z50_V!(vJ1_V)A8?C#eJuLkt!98Z%|Bgzidc0j|z(&o)TCzYlrgZA zC3@i>L!&Gw_~7`>puB97I2lK)lESZQqVXc_8T^G2O#VHhO?IC$g zOYhXJ7)~C<8l|Xrftka@QuowScM{K&0zskoU$Aw~vIRVRF9TEQ4*3=_5)98B`=t8(N%ZuWqmwlW zllAzq=E5_5!sKDXam@w`ZD(nl%LAPxQuEtDcKPqu9LPJvNIITawU#c^PQ2HmZgs)r zH^+gRwZ?0)8IFQgU)+p@0Iqb^tcEoqcB@zhfz_FaOM&_d<|jnU>q5nSKa<@%9|dje zIupcg1!tRiMP4X=oG<7s4|AW&^-Cw4FL9OuI$t zxjc*y;Uw!G7a|jz>E*2+PlR(CemWebS7m-&*CDwnmxbiRqJvQ&os-sC&4OWt^(2@vG4|jui#Df@-D= zh3D%8Y3R6+jRBStSvH9pt&tCI`NK08J1*pC(?OM0h!bS-JK3I}`pDY-fDIaB_*W6KS+TO0Q*%kkeuN6uWITt=TsCGw6uBE710q; zRluI%j{?@jwhM|l5&TB!-TkQs!A=DXRE>u18t@;zndD0M$U@Igrt?UW2; z7%=dsHIVH_LCkGUU0fW&UMjDnvjcc0Mp(mK&;d~ZJ5EJ)#7@aTZvGDFXzFZg2Lq~s z5PR_LazNN)JD5K_uK*Hy{mXuHTkGGv|9V8KP#iQ$3!G*^>7UiE{|1G1A-qg(xH;Xa>&%f|BZkH zG=J^0pHzSAqv5*5ysQ{Puy^-_|IPrii zKS$mE10Zngf>Sgg@BjpRyJbrHeo zD8Ro0LI*W#+9?^xlOS^c>Z^^n^0I|FH^@^`ZR`{H=$ zjO0_$cnpBM7Zcm?H_RXIu-Lu~qweDSV|tEZBZh!e6hQy->}e;d#osZ1hQj{HhHkC0 zJ|F-HKmeTGgDe979ogBz24;@<|I7;TU!IXb@oWMsMECIETmQy`zPtM`|NP}PjzR_u zKMG1Z{%1kWeMfEf(10U#w!clmQ2)JC8zm(Fv!H4dUHQHCFLikID?hrd{0>kCQt?kP zdqn2ZG0}ytcQJ7t_B3s0ZvH3PYjkjQ`Q%;jV@?MK-+z3etBCGGo4f4`y^|AdCs!DH zThTQ;cL5dM{|tB_1y6K3bVa^hx_<9J(}5`2SDz1^0bT!Vm*JV;9~t&{IC{$DUAVV* z{|E=#yN{wNdTY@$6z{_KNA3&%w|vFu1n9XRcM0Ak>`UW!lQ`ah3D4r%}Z diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/gradle/wrapper/gradle-wrapper.properties b/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index f398c33c4b0..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip -networkTimeout=10000 -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/gradlew b/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/gradlew deleted file mode 100755 index 79a61d421cc..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/gradlew +++ /dev/null @@ -1,244 +0,0 @@ -#!/bin/sh - -# -# Copyright © 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -# This is normally unused -# shellcheck disable=SC2034 -APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/gradlew.bat b/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/gradlew.bat deleted file mode 100644 index 93e3f59f135..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/gradlew.bat +++ /dev/null @@ -1,92 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/test.py b/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/test.py index 359771ac6c0..d242adbe434 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/kotlin_kfunction/test.py @@ -1,7 +1,2 @@ -import platform -from create_database_utils import * - -gradle_cmd = "gradlew.bat" if platform.system() == "Windows" else "./gradlew" - -run_codeql_database_create( - ["%s build --no-daemon --no-build-cache" % gradle_cmd], lang="java") +def test(codeql, java_full, gradle_7_6): + codeql.database.create(command=f"{gradle_7_6} build") diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlinc_multi/build.py b/java/ql/integration-tests/all-platforms/kotlin/kotlinc_multi/build.py deleted file mode 100644 index 760743c53a9..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/kotlinc_multi/build.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env python3 - -from create_database_utils import * - -runSuccessfully([get_cmd("kotlinc"), "FileA.kt", "FileB.kt"]) - diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlinc_multi/test.py b/java/ql/integration-tests/all-platforms/kotlin/kotlinc_multi/test.py index 074931bbe89..9ed4acea608 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/kotlinc_multi/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/kotlinc_multi/test.py @@ -1,3 +1,6 @@ -from create_database_utils import * - -run_codeql_database_create(['"%s" ./build.py' % sys.executable], lang="java") +def test(codeql, java_full): + codeql.database.create( + command=[ + "kotlinc FileA.kt FileB.kt", + ], + ) diff --git a/java/ql/integration-tests/all-platforms/kotlin/logs/build.py b/java/ql/integration-tests/all-platforms/kotlin/logs/build.py deleted file mode 100644 index eedddd8ba5c..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/logs/build.py +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/python - -from create_database_utils import * - -# Make a source file to keep codeql happy -srcDir = os.environ['CODEQL_EXTRACTOR_JAVA_SOURCE_ARCHIVE_DIR'] -srcFile = srcDir + '/Source.java' -os.makedirs(srcDir) -with open(srcFile, 'w') as f: - pass - -for t in ['Test1', 'sun.something.Test2']: - print('Test ' + t + ' started.') - sys.stdout.flush() - runSuccessfully(['java', t]) - print('Test ' + t + ' ended.') - sys.stdout.flush() - diff --git a/java/ql/integration-tests/all-platforms/kotlin/logs/index_logs.py b/java/ql/integration-tests/all-platforms/kotlin/logs/index_logs.py deleted file mode 100644 index 8982a1a97c5..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/logs/index_logs.py +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/python - -import csv -import json -import re -import sys -from create_database_utils import * - -# Make a source file to keep codeql happy -src_dir = os.environ['CODEQL_EXTRACTOR_JAVA_SOURCE_ARCHIVE_DIR'] -src_file = src_dir + '/Source.java' -os.makedirs(src_dir) -with open(src_file, 'w') as f: - pass - -line_index = 0 -file_index = 0 -with open('logs.csv', 'w', newline='') as f_out: - csv_writer = csv.writer(f_out) - def write_line(origin, kind, msg): - global file_index, line_index - csv_writer.writerow([str(file_index), str(line_index), origin, kind, msg]) - line_index += 1 - log_dir = 'kt-db/log' - for file_name in os.listdir(log_dir): - if file_name.startswith('kotlin-extractor'): - file_index += 1 - line_index = 1 - write_line('Test script', 'Log file', str(file_index)) - with open(log_dir + '/' + file_name) as f_in: - for line in f_in: - j = json.loads(line) - msg = j['message'] - msg = re.sub(r'(?<=Extraction for invocation TRAP file ).*[\\/]kt-db[\\/]trap[\\/]java[\\/]invocations[\\/]kotlin\..*\.trap', '', msg) - msg = re.sub('(?<=Kotlin version )[0-9.]+(-[a-zA-Z0-9.]+)?', '', msg) - if msg.startswith('Peak memory: '): - # Peak memory information varies from run to run, so just ignore it - continue - if msg.startswith('Will write TRAP file ') or msg.startswith('Finished writing TRAP file '): - # These vary between machines etc, and aren't very interesting, so just ignore them - continue - write_line(j['origin'], j['kind'], msg) - -runSuccessfully(["codeql", "database", "index-files", "--language=csv", "--include=logs.csv", "test-db"]) - diff --git a/java/ql/integration-tests/all-platforms/kotlin/logs/logs.expected b/java/ql/integration-tests/all-platforms/kotlin/logs/logs.expected index 55a994843a2..8b50399df50 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/logs/logs.expected +++ b/java/ql/integration-tests/all-platforms/kotlin/logs/logs.expected @@ -1,6 +1,18 @@ -| 1 | 1 | Test script | Log file | 1 | -| 1 | 2 | CodeQL Kotlin extractor | INFO | Extraction started | -| 1 | 3 | CodeQL Kotlin extractor | INFO | Extraction for invocation TRAP file | -| 1 | 4 | CodeQL Kotlin extractor | INFO | Kotlin version | -| 1 | 5 | CodeQL Kotlin extractor | INFO | Extracting file test.kt | -| 1 | 6 | CodeQL Kotlin extractor | INFO | Extraction completed | +Test script +Log file +1 +CodeQL Kotlin extractor +INFO +Extraction started +CodeQL Kotlin extractor +INFO +Extraction for invocation TRAP file +CodeQL Kotlin extractor +INFO +Kotlin version +CodeQL Kotlin extractor +INFO +Extracting file test.kt +CodeQL Kotlin extractor +INFO +Extraction completed diff --git a/java/ql/integration-tests/all-platforms/kotlin/logs/logs.ql b/java/ql/integration-tests/all-platforms/kotlin/logs/logs.ql deleted file mode 100644 index 5a3d30fc5b2..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/logs/logs.ql +++ /dev/null @@ -1,5 +0,0 @@ -import external.ExternalArtifact - -from ExternalData ed -where ed.getDataPath().matches("%logs.csv") -select ed.getFieldAsInt(0), ed.getFieldAsInt(1), ed.getField(2), ed.getField(3), ed.getField(4) diff --git a/java/ql/integration-tests/all-platforms/kotlin/logs/test.py b/java/ql/integration-tests/all-platforms/kotlin/logs/test.py index 6203650ac3f..b7948680af4 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/logs/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/logs/test.py @@ -1,4 +1,39 @@ -from create_database_utils import * +import json +from math import log +import pathlib +import re -run_codeql_database_create(['kotlinc test.kt'], test_db="kt-db", db=None, lang="java") -run_codeql_database_create(['"%s" ./index_logs.py' % sys.executable], lang="java") + +def test(codeql, java_full, cwd: pathlib.Path, expected_files): + codeql.database.create(command=["kotlinc test.kt"]) + expected_files.add("logs.actual") + + with open("logs.actual", "w") as f_out: + log_dir = cwd / "test-db" / "log" + file_index = 0 + for log_file in log_dir.glob("kotlin-extractor*.log"): + file_index += 1 + f_out.write(f"Test script\nLog file\n{file_index}\n") + for line in log_file.read_text().splitlines(): + j = json.loads(line) + msg = j["message"] + msg = re.sub( + r"(?<=Extraction for invocation TRAP file ).*[\\/]test-db[\\/]trap[\\/]java[\\/]invocations[\\/]kotlin\..*\.trap", + "", + msg, + ) + msg = re.sub( + r"(?<=Extracting file ).?:?[\\/].*test\.kt", + "test.kt", + msg, + ) + msg = re.sub("(?<=Kotlin version )[0-9.]+(-[a-zA-Z0-9.]+)?", "", msg) + if msg.startswith("Peak memory: "): + # Peak memory information varies from run to run, so just ignore it + continue + if msg.startswith("Will write TRAP file ") or msg.startswith( + "Finished writing TRAP file " + ): + # These vary between machines etc, and aren't very interesting, so just ignore them + continue + f_out.write(f"{j['origin']}\n{j['kind']}\n{msg}\n") diff --git a/java/ql/integration-tests/all-platforms/kotlin/nested_generic_types/test.py b/java/ql/integration-tests/all-platforms/kotlin/nested_generic_types/test.py index a2eab7dc171..204da69da8f 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/nested_generic_types/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/nested_generic_types/test.py @@ -1,11 +1,12 @@ -from create_database_utils import * -import glob +import commands -# Compile Java untraced. Note the Java source is hidden under `javasrc` so the Kotlin compiler -# will certainly reference the jar, not the source or class file for extlib.Lib - -os.mkdir('build') -runSuccessfully(["javac"] + glob.glob("libsrc/extlib/*.java") + ["-d", "build"]) -runSuccessfully(["jar", "cf", "extlib.jar", "-C", "build", "extlib"]) -run_codeql_database_create(["javac JavaUser.java -cp extlib.jar", "kotlinc KotlinUser.kt -cp extlib.jar"], lang="java") +def test(codeql, java_full, cwd): + # Compile Java untraced. Note the Java source is hidden under `javasrc` so the Kotlin compiler + # will certainly reference the jar, not the source or class file for extlib.Lib + java_srcs = (cwd / "libsrc" / "extlib").glob("*.java") + commands.run(["javac", *java_srcs, "-d", "build"]) + commands.run("jar cf extlib.jar -C build extlib") + codeql.database.create( + command=["javac JavaUser.java -cp extlib.jar", "kotlinc KotlinUser.kt -cp extlib.jar"] + ) diff --git a/java/ql/integration-tests/all-platforms/kotlin/nullability-annotations/test.py b/java/ql/integration-tests/all-platforms/kotlin/nullability-annotations/test.py index 6a27fa40a40..ef186497047 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/nullability-annotations/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/nullability-annotations/test.py @@ -1,7 +1,11 @@ -from create_database_utils import * import os -os.mkdir('out') -os.mkdir('out2') -os.mkdir('out3') -run_codeql_database_create(["javac AnnotatedInterface.java AnnotatedMethods.java zpkg/A.java org/jetbrains/annotations/NotNull.java org/jetbrains/annotations/Nullable.java -d out", "kotlinc ktUser.kt -cp out -d out2", "javac JavaUser.java -cp out" + os.pathsep + "out2 -d out3"], lang="java") + +def test(codeql, java_full): + codeql.database.create( + command=[ + "javac AnnotatedInterface.java AnnotatedMethods.java zpkg/A.java org/jetbrains/annotations/NotNull.java org/jetbrains/annotations/Nullable.java -d out", + "kotlinc ktUser.kt -cp out -d out2", + "javac JavaUser.java -cp out" + os.pathsep + "out2 -d out3", + ], + ) diff --git a/java/ql/integration-tests/all-platforms/kotlin/path_transformer/test.py b/java/ql/integration-tests/all-platforms/kotlin/path_transformer/test.py index c1ae87deac9..53b3427e823 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/path_transformer/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/path_transformer/test.py @@ -1,14 +1,14 @@ -from create_database_utils import * +import os -path_transformer_file = 'path_transformer' -root = os.getcwd().replace('\\', '/') -with open(path_transformer_file, 'w') as f: - f.write('#/src\n' + root + '//\n') -os.environ['SEMMLE_PATH_TRANSFORMER'] = root + '/' + path_transformer_file -run_codeql_database_create(["kotlinc kotlin_source.kt"], lang="java") -files = ['test-db/trap/java/src/kotlin_source.kt.trap.gz', 'test-db/src/src/kotlin_source.kt'] -exists = list(map(os.path.exists, files)) -if exists != [True] * 2: - print(exists) - raise Exception("Didn't get expected files") +def test(codeql, java_full): + path_transformer_file = "path_transformer" + root = os.getcwd().replace("\\", "/") + with open(path_transformer_file, "w") as f: + f.write("#/src\n" + root + "//\n") + os.environ["SEMMLE_PATH_TRANSFORMER"] = root + "/" + path_transformer_file + + codeql.database.create(command=["kotlinc kotlin_source.kt"]) + files = ["test-db/trap/java/src/kotlin_source.kt.trap.gz", "test-db/src/src/kotlin_source.kt"] + for file in files: + assert os.path.exists(file) diff --git a/java/ql/integration-tests/all-platforms/kotlin/private_property_accessors/test.py b/java/ql/integration-tests/all-platforms/kotlin/private_property_accessors/test.py index 5599f459849..1789c088645 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/private_property_accessors/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/private_property_accessors/test.py @@ -1,3 +1,2 @@ -from create_database_utils import * - -run_codeql_database_create(["kotlinc hasprops.kt", "kotlinc usesprops.kt -cp ."], lang="java") +def test(codeql, java_full): + codeql.database.create(command=["kotlinc hasprops.kt", "kotlinc usesprops.kt -cp ."]) diff --git a/java/ql/integration-tests/all-platforms/kotlin/qlpack.yml b/java/ql/integration-tests/all-platforms/kotlin/qlpack.yml deleted file mode 100644 index 4994af85a75..00000000000 --- a/java/ql/integration-tests/all-platforms/kotlin/qlpack.yml +++ /dev/null @@ -1,5 +0,0 @@ -dependencies: - codeql/java-all: '*' - codeql/java-tests: '*' - codeql/java-queries: '*' -warnOnImplicitThis: true diff --git a/java/ql/integration-tests/all-platforms/kotlin/raw_generic_types/test.py b/java/ql/integration-tests/all-platforms/kotlin/raw_generic_types/test.py index 520c75a556f..204da69da8f 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/raw_generic_types/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/raw_generic_types/test.py @@ -1,10 +1,12 @@ -from create_database_utils import * -import glob +import commands -# Compile Java untraced. Note the Java source is hidden under `javasrc` so the Kotlin compiler -# will certainly reference the jar, not the source or class file for extlib.Lib -os.mkdir('build') -runSuccessfully(["javac"] + glob.glob("libsrc/extlib/*.java") + ["-d", "build"]) -runSuccessfully(["jar", "cf", "extlib.jar", "-C", "build", "extlib"]) -run_codeql_database_create(["javac JavaUser.java -cp extlib.jar", "kotlinc KotlinUser.kt -cp extlib.jar"], lang="java") +def test(codeql, java_full, cwd): + # Compile Java untraced. Note the Java source is hidden under `javasrc` so the Kotlin compiler + # will certainly reference the jar, not the source or class file for extlib.Lib + java_srcs = (cwd / "libsrc" / "extlib").glob("*.java") + commands.run(["javac", *java_srcs, "-d", "build"]) + commands.run("jar cf extlib.jar -C build extlib") + codeql.database.create( + command=["javac JavaUser.java -cp extlib.jar", "kotlinc KotlinUser.kt -cp extlib.jar"] + ) diff --git a/java/ql/integration-tests/all-platforms/kotlin/repeatable-annotations/test.py b/java/ql/integration-tests/all-platforms/kotlin/repeatable-annotations/test.py index e0b7c69cb05..cd0fceee698 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/repeatable-annotations/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/repeatable-annotations/test.py @@ -1,7 +1,9 @@ -from create_database_utils import * +import commands -os.mkdir('out') -os.mkdir('out2') -runSuccessfully([get_cmd("kotlinc"), "lib.kt", "-d", "out"]) -runSuccessfully([get_cmd("javac"), "JavaDefinedContainer.java", "JavaDefinedRepeatable.java", "-d", "out"]) -run_codeql_database_create(["kotlinc test.kt -cp out -d out", "javac JavaUser.java -cp out -d out2"], lang="java") + +def test(codeql, java_full, cwd): + commands.run(["kotlinc", "lib.kt", "-d", "out"]) + commands.run(["javac", "JavaDefinedContainer.java", "JavaDefinedRepeatable.java", "-d", "out"]) + codeql.database.create( + command=["kotlinc test.kt -cp out -d out", "javac JavaUser.java -cp out -d out2"] + ) diff --git a/java/ql/integration-tests/all-platforms/kotlin/trap_compression/test.py b/java/ql/integration-tests/all-platforms/kotlin/trap_compression/test.py index 26f9eb2121b..d793265df2e 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/trap_compression/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/trap_compression/test.py @@ -1,23 +1,28 @@ -from create_database_utils import * +import runs_on +import os + def check_extensions(directory, counts): - if platform.system() == 'Windows': + if runs_on.windows: # It's important that the path is a Unicode path on Windows, so # that the right system calls get used. - directory = u'' + directory + directory = "" + directory if not directory.startswith("\\\\?\\"): directory = "\\\\?\\" + os.path.abspath(directory) check_extensions_worker(counts, directory) - check_counts('non-compressed', counts.expected_none, counts.count_none) - check_counts('gzipped', counts.expected_gzip, counts.count_gzip) + check_counts("non-compressed", counts.expected_none, counts.count_none) + check_counts("gzipped", counts.expected_gzip, counts.count_gzip) + def check_counts(name, expected, count): if expected == -1: - if count < 10: - raise Exception('Expected lots of ' + name + ' files, but got ' + str(count)) - elif expected != count: - raise Exception('Expected ' + str(expected) + ' ' + name + ' files, but got ' + str(count)) + assert count > 10, "Expected lots of " + name + " files, but got " + str(count) + else: + assert expected == count, ( + "Expected " + str(expected) + " " + name + " files, but got " + str(count) + ) + class Counts: def __init__(self, expected_none, expected_gzip): @@ -26,41 +31,61 @@ class Counts: self.count_none = 0 self.count_gzip = 0 + def check_extensions_worker(counts, directory): for f in os.listdir(directory): x = os.path.join(directory, f) if os.path.isdir(x): check_extensions_worker(counts, x) - elif f.endswith('.trap'): + elif f.endswith(".trap"): counts.count_none += 1 - if not startsWith(x, b'//'): # We start TRAP files with a comment - raise Exception("TRAP file that doesn't start with a comment: " + f) - elif f.endswith('.trap.gz'): + # We start TRAP files with a comment + assert startsWith(x, b"//"), "TRAP file that doesn't start with a comment: " + f + elif f.endswith(".trap.gz"): counts.count_gzip += 1 - if not startsWith(x, b'\x1f\x8b'): # The GZip magic numbers - raise Exception("GZipped TRAP file that doesn't start with GZip magic numbers: " + f) + # The GZip magic numbers + assert startsWith(x, b"\x1f\x8b"), ( + "GZipped TRAP file that doesn't start with GZip magic numbers: " + f + ) + def startsWith(f, b): - with open(f, 'rb') as f_in: + with open(f, "rb") as f_in: content = f_in.read() return content.startswith(b) + # In the counts, we expect lots of files of the compression type chosen # (so expected count is -1), but the diagnostic TRAP files will always # be uncompressed (so count_none is always 1 or -1) and the # sourceLocationPrefix TRAP file is always gzipped (so count_gzip is # always 1 or -1). -run_codeql_database_create(['kotlinc test.kt'], test_db="default-db", db=None, lang="java") -check_extensions('default-db/trap', Counts(1, -1)) -os.environ["CODEQL_EXTRACTOR_JAVA_OPTION_TRAP_COMPRESSION"] = "nOnE" -run_codeql_database_create(['kotlinc test.kt'], test_db="none-db", db=None, lang="java") -check_extensions('none-db/trap', Counts(-1, 1)) -os.environ["CODEQL_EXTRACTOR_JAVA_OPTION_TRAP_COMPRESSION"] = "gzip" -run_codeql_database_create(['kotlinc test.kt'], test_db="gzip-db", db=None, lang="java") -check_extensions('gzip-db/trap', Counts(1, -1)) -os.environ["CODEQL_EXTRACTOR_JAVA_OPTION_TRAP_COMPRESSION"] = "brotli" -run_codeql_database_create(['kotlinc test.kt'], test_db="brotli-db", db=None, lang="java") -check_extensions('brotli-db/trap', Counts(1, -1)) -os.environ["CODEQL_EXTRACTOR_JAVA_OPTION_TRAP_COMPRESSION"] = "invalidValue" -run_codeql_database_create(['kotlinc test.kt'], test_db="invalid-db", db=None, lang="java") -check_extensions('invalid-db/trap', Counts(1, -1)) + + +def test_default(codeql, java_full): + codeql.database.create(command="kotlinc test.kt") + check_extensions("test-db/trap", Counts(1, -1)) + + +def test_none(codeql, java_full): + os.environ["CODEQL_EXTRACTOR_JAVA_OPTION_TRAP_COMPRESSION"] = "nOnE" + codeql.database.create(command="kotlinc test.kt") + check_extensions("test-db/trap", Counts(-1, 1)) + + +def test_gzip(codeql, java_full): + os.environ["CODEQL_EXTRACTOR_JAVA_OPTION_TRAP_COMPRESSION"] = "gzip" + codeql.database.create(command="kotlinc test.kt") + check_extensions("test-db/trap", Counts(1, -1)) + + +def test_brotli(codeql, java_full): + os.environ["CODEQL_EXTRACTOR_JAVA_OPTION_TRAP_COMPRESSION"] = "brotli" + codeql.database.create(command="kotlinc test.kt") + check_extensions("test-db/trap", Counts(1, -1)) + + +def test_invalid(codeql, java_full): + os.environ["CODEQL_EXTRACTOR_JAVA_OPTION_TRAP_COMPRESSION"] = "invalidValue" + codeql.database.create(command="kotlinc test.kt") + check_extensions("test-db/trap", Counts(1, -1)) From ccd90f25ba1b2829071aeed95c07a86676069b79 Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Sun, 18 Aug 2024 23:10:45 +0200 Subject: [PATCH 094/258] Port posix/kotlin tests to pytest. --- .../kotlin/generic-extension-property/test.py | 8 +- .../java_kotlin_extraction_orders/test.py | 250 +++++++++++------- .../kotlin_double_interception/code/build.py | 41 --- .../kotlin/kotlin_double_interception/test.py | 60 ++++- .../kotlin/module_mangled_names/test.py | 14 +- .../kotlin/needless-java-wildcards/test.py | 15 +- .../posix-only/kotlin/qlpack.yml | 5 - 7 files changed, 234 insertions(+), 159 deletions(-) delete mode 100644 java/ql/integration-tests/posix-only/kotlin/kotlin_double_interception/code/build.py delete mode 100644 java/ql/integration-tests/posix-only/kotlin/qlpack.yml diff --git a/java/ql/integration-tests/posix-only/kotlin/generic-extension-property/test.py b/java/ql/integration-tests/posix-only/kotlin/generic-extension-property/test.py index eabf632ec52..60abe8493f0 100644 --- a/java/ql/integration-tests/posix-only/kotlin/generic-extension-property/test.py +++ b/java/ql/integration-tests/posix-only/kotlin/generic-extension-property/test.py @@ -1,4 +1,6 @@ -from create_database_utils import * +import runs_on -os.mkdir('build') -run_codeql_database_create(["kotlinc test.kt -d build", "javac User.java -cp build"], lang="java") + +@runs_on.posix +def test(codeql, java_full): + codeql.database.create(command=["kotlinc test.kt -d build", "javac User.java -cp build"]) diff --git a/java/ql/integration-tests/posix-only/kotlin/java_kotlin_extraction_orders/test.py b/java/ql/integration-tests/posix-only/kotlin/java_kotlin_extraction_orders/test.py index 476db9203d5..3e2a741dca3 100644 --- a/java/ql/integration-tests/posix-only/kotlin/java_kotlin_extraction_orders/test.py +++ b/java/ql/integration-tests/posix-only/kotlin/java_kotlin_extraction_orders/test.py @@ -1,128 +1,178 @@ -from create_database_utils import * import os import os.path -import subprocess +import commands +import runs_on -# Build a family of dependencies outside tracing, then refer to them from a traced build: -older_datetime = "202201010101" -newer_datetime = "202202020202" +@runs_on.posix +def test(codeql, java_full): + # Build a family of dependencies outside tracing, then refer to them from a traced build: -classpath_entries = dict() + older_datetime = "202201010101" + newer_datetime = "202202020202" -extraction_orders = ["JavaSeesFirst", "KotlinSeesFirst"] -jar_states = ["NoJar", "JarMtimesEqual", "JavaJarNewer", "KotlinJarNewer"] -class_file_states = ["ClassFileMtimesEqual", "JavaClassFileNewer", "KotlinClassFileNewer"] + classpath_entries = dict() -# Create test classes for each combination of which extractor will see the file first, the relative timestamps of the jar files seen by each, and the relative timestamps of the class file inside: + extraction_orders = ["JavaSeesFirst", "KotlinSeesFirst"] + jar_states = ["NoJar", "JarMtimesEqual", "JavaJarNewer", "KotlinJarNewer"] + class_file_states = ["ClassFileMtimesEqual", "JavaClassFileNewer", "KotlinClassFileNewer"] -jobs = [] + # Create test classes for each combination of which extractor will see the file first, the relative timestamps of the jar files seen by each, and the relative timestamps of the class file inside: -for first_extraction in extraction_orders: - for jar_state in jar_states: - for class_file_state in class_file_states: - dep_dir = os.path.join(first_extraction, jar_state, class_file_state) - dep_classname = "Dep___%s___%s___%s" % (first_extraction, jar_state, class_file_state) - dep_seen_by_java_dir = os.path.join(dep_dir, "seen_by_java") - dep_seen_by_kotlin_dir = os.path.join(dep_dir, "seen_by_kotlin") - os.makedirs(dep_seen_by_java_dir) - os.makedirs(dep_seen_by_kotlin_dir) - dep_seen_by_java_sourcefile = os.path.join(dep_seen_by_java_dir, dep_classname + ".java") - dep_seen_by_kotlin_sourcefile = os.path.join(dep_seen_by_kotlin_dir, dep_classname + ".java") - with open(dep_seen_by_java_sourcefile, "w") as f: - f.write("public class %s { }" % dep_classname) - with open(dep_seen_by_kotlin_sourcefile, "w") as f: - f.write("public class %s { void memberOnlySeenByKotlin() { } }" % dep_classname) - jobs.append({ - "first_extraction": first_extraction, - "jar_state": jar_state, - "class_file_state": class_file_state, - "dep_dir": dep_dir, - "dep_classname": dep_classname, - "dep_seen_by_java_dir": dep_seen_by_java_dir, - "dep_seen_by_kotlin_dir": dep_seen_by_kotlin_dir, - "dep_seen_by_java_sourcefile": dep_seen_by_java_sourcefile, - "dep_seen_by_kotlin_sourcefile": dep_seen_by_kotlin_sourcefile - }) + jobs = [] -# Compile all the test classes we just generated, in two commands (since javac objects to seeing the same class file twice in one run) + for first_extraction in extraction_orders: + for jar_state in jar_states: + for class_file_state in class_file_states: + dep_dir = os.path.join(first_extraction, jar_state, class_file_state) + dep_classname = "Dep___%s___%s___%s" % ( + first_extraction, + jar_state, + class_file_state, + ) + dep_seen_by_java_dir = os.path.join(dep_dir, "seen_by_java") + dep_seen_by_kotlin_dir = os.path.join(dep_dir, "seen_by_kotlin") + os.makedirs(dep_seen_by_java_dir) + os.makedirs(dep_seen_by_kotlin_dir) + dep_seen_by_java_sourcefile = os.path.join( + dep_seen_by_java_dir, dep_classname + ".java" + ) + dep_seen_by_kotlin_sourcefile = os.path.join( + dep_seen_by_kotlin_dir, dep_classname + ".java" + ) + with open(dep_seen_by_java_sourcefile, "w") as f: + f.write("public class %s { }" % dep_classname) + with open(dep_seen_by_kotlin_sourcefile, "w") as f: + f.write("public class %s { void memberOnlySeenByKotlin() { } }" % dep_classname) + jobs.append( + { + "first_extraction": first_extraction, + "jar_state": jar_state, + "class_file_state": class_file_state, + "dep_dir": dep_dir, + "dep_classname": dep_classname, + "dep_seen_by_java_dir": dep_seen_by_java_dir, + "dep_seen_by_kotlin_dir": dep_seen_by_kotlin_dir, + "dep_seen_by_java_sourcefile": dep_seen_by_java_sourcefile, + "dep_seen_by_kotlin_sourcefile": dep_seen_by_kotlin_sourcefile, + } + ) -subprocess.check_call(["javac"] + [j["dep_seen_by_java_sourcefile"] for j in jobs]) -subprocess.check_call(["javac"] + [j["dep_seen_by_kotlin_sourcefile"] for j in jobs]) + # Compile all the test classes we just generated, in two commands (since javac objects to seeing the same class file twice in one run) -# Create jar files and set class and jar files' relative timestamps for each dependency the two extractors will see: + commands.run(["javac"] + [j["dep_seen_by_java_sourcefile"] for j in jobs]) + commands.run(["javac"] + [j["dep_seen_by_kotlin_sourcefile"] for j in jobs]) -for j in jobs: - os.remove(j["dep_seen_by_java_sourcefile"]) - os.remove(j["dep_seen_by_kotlin_sourcefile"]) - dep_seen_by_java_classfile = j["dep_seen_by_java_sourcefile"].replace(".java", ".class") - dep_seen_by_kotlin_classfile = j["dep_seen_by_kotlin_sourcefile"].replace(".java", ".class") + # Create jar files and set class and jar files' relative timestamps for each dependency the two extractors will see: - subprocess.check_call(["touch", "-t", newer_datetime if j["class_file_state"] == "JavaClassFileNewer" else older_datetime, dep_seen_by_java_classfile]) - subprocess.check_call(["touch", "-t", newer_datetime if j["class_file_state"] == "KotlinClassFileNewer" else older_datetime, dep_seen_by_kotlin_classfile]) + for j in jobs: + os.remove(j["dep_seen_by_java_sourcefile"]) + os.remove(j["dep_seen_by_kotlin_sourcefile"]) + dep_seen_by_java_classfile = j["dep_seen_by_java_sourcefile"].replace(".java", ".class") + dep_seen_by_kotlin_classfile = j["dep_seen_by_kotlin_sourcefile"].replace(".java", ".class") - if j["jar_state"] != "NoJar": - classfile_name = os.path.basename(dep_seen_by_java_classfile) - jar_command = ["jar", "cf", "dep.jar", classfile_name] - subprocess.check_call(jar_command, cwd = j["dep_seen_by_java_dir"]) - subprocess.check_call(jar_command, cwd = j["dep_seen_by_kotlin_dir"]) - jar_seen_by_java = os.path.join(j["dep_seen_by_java_dir"], "dep.jar") - jar_seen_by_kotlin = os.path.join(j["dep_seen_by_kotlin_dir"], "dep.jar") - subprocess.check_call(["touch", "-t", newer_datetime if j["jar_state"] == "JavaJarNewer" else older_datetime, jar_seen_by_java]) - subprocess.check_call(["touch", "-t", newer_datetime if j["jar_state"] == "KotlinJarNewer" else older_datetime, jar_seen_by_kotlin]) - j["javac_classpath_entry"] = jar_seen_by_java - j["kotlinc_classpath_entry"] = jar_seen_by_kotlin - else: - # No jar file involved, just add the dependency build directory to the classpath: - j["javac_classpath_entry"] = j["dep_seen_by_java_dir"] - j["kotlinc_classpath_entry"] = j["dep_seen_by_kotlin_dir"] + commands.run( + [ + "touch", + "-t", + newer_datetime if j["class_file_state"] == "JavaClassFileNewer" else older_datetime, + dep_seen_by_java_classfile, + ] + ) + commands.run( + [ + "touch", + "-t", + ( + newer_datetime + if j["class_file_state"] == "KotlinClassFileNewer" + else older_datetime + ), + dep_seen_by_kotlin_classfile, + ] + ) -# Create source files that instantiate each dependency type: + if j["jar_state"] != "NoJar": + classfile_name = os.path.basename(dep_seen_by_java_classfile) + jar_command = ["jar", "cf", "dep.jar", classfile_name] + commands.run(jar_command, _cwd=j["dep_seen_by_java_dir"]) + commands.run(jar_command, _cwd=j["dep_seen_by_kotlin_dir"]) + jar_seen_by_java = os.path.join(j["dep_seen_by_java_dir"], "dep.jar") + jar_seen_by_kotlin = os.path.join(j["dep_seen_by_kotlin_dir"], "dep.jar") + commands.run( + [ + "touch", + "-t", + newer_datetime if j["jar_state"] == "JavaJarNewer" else older_datetime, + jar_seen_by_java, + ] + ) + commands.run( + [ + "touch", + "-t", + newer_datetime if j["jar_state"] == "KotlinJarNewer" else older_datetime, + jar_seen_by_kotlin, + ] + ) + j["javac_classpath_entry"] = jar_seen_by_java + j["kotlinc_classpath_entry"] = jar_seen_by_kotlin + else: + # No jar file involved, just add the dependency build directory to the classpath: + j["javac_classpath_entry"] = j["dep_seen_by_java_dir"] + j["kotlinc_classpath_entry"] = j["dep_seen_by_kotlin_dir"] -kotlin_first_jobs = [j for j in jobs if j["first_extraction"] == "KotlinSeesFirst"] -java_first_jobs = [j for j in jobs if j["first_extraction"] == "JavaSeesFirst"] -kotlin_first_classes = [j["dep_classname"] for j in kotlin_first_jobs] -java_first_classes = [j["dep_classname"] for j in java_first_jobs] + # Create source files that instantiate each dependency type: -kotlin_first_user = "kotlinFirstUser.kt" -kotlin_second_user = "kotlinSecondUser.kt" -java_first_user = "JavaFirstUser.java" -java_second_user = "JavaSecondUser.java" + kotlin_first_jobs = [j for j in jobs if j["first_extraction"] == "KotlinSeesFirst"] + java_first_jobs = [j for j in jobs if j["first_extraction"] == "JavaSeesFirst"] + kotlin_first_classes = [j["dep_classname"] for j in kotlin_first_jobs] + java_first_classes = [j["dep_classname"] for j in java_first_jobs] -def kotlin_instantiate_classes(classes): - return "; ".join(["noop(%s())" % c for c in classes]) + kotlin_first_user = "kotlinFirstUser.kt" + kotlin_second_user = "kotlinSecondUser.kt" + java_first_user = "JavaFirstUser.java" + java_second_user = "JavaSecondUser.java" -def make_kotlin_user(user_filename, classes): - with open(user_filename, "w") as f: - f.write("fun noop(x: Any) { } fun user() { %s }" % kotlin_instantiate_classes(classes)) + def kotlin_instantiate_classes(classes): + return "; ".join(["noop(%s())" % c for c in classes]) -make_kotlin_user(kotlin_first_user, kotlin_first_classes) -make_kotlin_user(kotlin_second_user, java_first_classes) + def make_kotlin_user(user_filename, classes): + with open(user_filename, "w") as f: + f.write("fun noop(x: Any) { } fun user() { %s }" % kotlin_instantiate_classes(classes)) -def java_instantiate_classes(classes): - return " ".join(["noop(new %s());" % c for c in classes]) + make_kotlin_user(kotlin_first_user, kotlin_first_classes) + make_kotlin_user(kotlin_second_user, java_first_classes) -def make_java_user(user_filename, classes): - with open(user_filename, "w") as f: - f.write("public class %s { private static void noop(Object x) { } public static void user() { %s } }" % (user_filename.replace(".java", ""), java_instantiate_classes(classes))) + def java_instantiate_classes(classes): + return " ".join(["noop(new %s());" % c for c in classes]) -make_java_user(java_first_user, java_first_classes) -make_java_user(java_second_user, kotlin_first_classes) + def make_java_user(user_filename, classes): + with open(user_filename, "w") as f: + f.write( + "public class %s { private static void noop(Object x) { } public static void user() { %s } }" + % (user_filename.replace(".java", ""), java_instantiate_classes(classes)) + ) -# Now finally make a database, including classes where Java sees them first followed by Kotlin and vice versa. -# In all cases the Kotlin extraction should take precedence. + make_java_user(java_first_user, java_first_classes) + make_java_user(java_second_user, kotlin_first_classes) -def make_classpath(jobs, entry_name): - return ":".join([j[entry_name] for j in jobs]) + # Now finally make a database, including classes where Java sees them first followed by Kotlin and vice versa. + # In all cases the Kotlin extraction should take precedence. -kotlin_first_classpath = make_classpath(kotlin_first_jobs, "kotlinc_classpath_entry") -java_first_classpath = make_classpath(java_first_jobs, "javac_classpath_entry") -kotlin_second_classpath = make_classpath(java_first_jobs, "kotlinc_classpath_entry") -java_second_classpath = make_classpath(kotlin_first_jobs, "javac_classpath_entry") + def make_classpath(jobs, entry_name): + return ":".join([j[entry_name] for j in jobs]) -run_codeql_database_create([ - "kotlinc -cp %s %s" % (kotlin_first_classpath, kotlin_first_user), - "javac -cp %s %s" % (java_first_classpath, java_first_user), - "kotlinc -cp %s %s" % (kotlin_second_classpath, kotlin_second_user), - "javac -cp %s %s" % (java_second_classpath, java_second_user) -], lang="java") + kotlin_first_classpath = make_classpath(kotlin_first_jobs, "kotlinc_classpath_entry") + java_first_classpath = make_classpath(java_first_jobs, "javac_classpath_entry") + kotlin_second_classpath = make_classpath(java_first_jobs, "kotlinc_classpath_entry") + java_second_classpath = make_classpath(kotlin_first_jobs, "javac_classpath_entry") + + codeql.database.create( + command=[ + "kotlinc -cp %s %s" % (kotlin_first_classpath, kotlin_first_user), + "javac -cp %s %s" % (java_first_classpath, java_first_user), + "kotlinc -cp %s %s" % (kotlin_second_classpath, kotlin_second_user), + "javac -cp %s %s" % (java_second_classpath, java_second_user), + ] + ) diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_double_interception/code/build.py b/java/ql/integration-tests/posix-only/kotlin/kotlin_double_interception/code/build.py deleted file mode 100644 index 45ab2315b54..00000000000 --- a/java/ql/integration-tests/posix-only/kotlin/kotlin_double_interception/code/build.py +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env python3 - -import glob -import os -import re -from create_database_utils import * - -def say(s): - print(s) - sys.stdout.flush() - -say('Doing normal compilation') -# This is a normal intercepted compilation -runSuccessfully([get_cmd('kotlinc'), 'normal.kt']) - -say('Identifying extractor jar') -# Find the extractor jar that is being used -trapDir = os.environ['CODEQL_EXTRACTOR_JAVA_TRAP_DIR'] -invocationTrapDir = os.path.join(trapDir, 'invocations') -invocationTraps = os.listdir(invocationTrapDir) -if len(invocationTraps) != 1: - raise Exception('Expected to find 1 invocation TRAP, but found ' + str(invocationTraps)) -invocationTrap = os.path.join(invocationTrapDir, invocationTraps[0]) -with open(invocationTrap, 'r') as f: - content = f.read() - m = re.search('^// Using extractor: (.*)$', content, flags = re.MULTILINE) - extractorJar = m.group(1) - -def getManualFlags(invocationTrapName): - return ['-Xplugin=' + extractorJar, '-P', 'plugin:kotlin-extractor:invocationTrapFile=' + os.path.join(trapDir, 'invocations', invocationTrapName + '.trap')] - -# This is both normally intercepted, and it has the extractor flags manually added -say('Doing double-interception compilation') -runSuccessfully([get_cmd('kotlinc'), 'doubleIntercepted.kt'] + getManualFlags('doubleIntercepted')) -os.environ['CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN'] = 'true' -# We don't see this compilation at all -say('Doing unseen compilation') -runSuccessfully([get_cmd('kotlinc'), 'notSeen.kt']) -# This is extracted as it has the extractor flags manually added -say('Doing manual compilation') -runSuccessfully([get_cmd('kotlinc'), 'manual.kt'] + getManualFlags('manual')) diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_double_interception/test.py b/java/ql/integration-tests/posix-only/kotlin/kotlin_double_interception/test.py index 9abcb43e304..884abc9ada5 100644 --- a/java/ql/integration-tests/posix-only/kotlin/kotlin_double_interception/test.py +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_double_interception/test.py @@ -1,7 +1,59 @@ +from build_fixture import build_fixture import sys +import commands +import os +import pathlib +import re +import runs_on -from create_database_utils import * -run_codeql_database_create( - ['"%s" build.py' % sys.executable], - source="code", lang="java") +def say(s): + print(s) + sys.stdout.flush() + + +@build_fixture +def build(): + say("Doing normal compilation") + + # This is a normal intercepted compilation + commands.run("kotlinc normal.kt") + + say("Identifying extractor jar") + # Find the extractor jar that is being used + trapDir = pathlib.Path(os.environ["CODEQL_EXTRACTOR_JAVA_TRAP_DIR"]) + + invocationTrapDir = trapDir / "invocations" + invocationTraps = list(invocationTrapDir.iterdir()) + assert len(invocationTraps) == 1, "Expected to find 1 invocation TRAP, but found " + str( + invocationTraps + ) + invocationTrap = os.path.join(invocationTrapDir, invocationTraps[0]) + with open(invocationTrap, "r") as f: + content = f.read() + m = re.search("^// Using extractor: (.*)$", content, flags=re.MULTILINE) + extractorJar = m.group(1) + + def getManualFlags(invocationTrapName): + return [ + f"-Xplugin={extractorJar}", + "-P", + f"plugin:kotlin-extractor:invocationTrapFile={trapDir / "invocations" / invocationTrapName}.trap", + ] + + # This is both normally intercepted, and it has the extractor flags manually added + say("Doing double-interception compilation") + commands.run(["kotlinc", "doubleIntercepted.kt"] + getManualFlags("doubleIntercepted")) + + os.environ["CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN"] = "true" + # We don't see this compilation at all + say("Doing unseen compilation") + commands.run("kotlinc notSeen.kt") + # This is extracted as it has the extractor flags manually added + say("Doing manual compilation") + commands.run(["kotlinc", "manual.kt"] + getManualFlags("manual")) + + +@runs_on.posix +def test(codeql, java_full, build): + codeql.database.create(command=build, source_root="code") diff --git a/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test.py b/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test.py index 0a41ac5b3bf..bed175c583b 100644 --- a/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test.py +++ b/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test.py @@ -1,3 +1,13 @@ -from create_database_utils import * +import runs_on -run_codeql_database_create(["kotlinc test1.kt", "kotlinc test2.kt -module-name mymodule", "kotlinc test3.kt -module-name reservedchars\\\"${}/", "javac User.java -cp ." ], lang="java") + +@runs_on.posix +def test(codeql, java_full): + codeql.database.create( + command=[ + "kotlinc test1.kt", + "kotlinc test2.kt -module-name mymodule", + 'kotlinc test3.kt -module-name reservedchars\\"${}/', + "javac User.java -cp .", + ] + ) diff --git a/java/ql/integration-tests/posix-only/kotlin/needless-java-wildcards/test.py b/java/ql/integration-tests/posix-only/kotlin/needless-java-wildcards/test.py index 1b16dd4934a..999d2f50a48 100644 --- a/java/ql/integration-tests/posix-only/kotlin/needless-java-wildcards/test.py +++ b/java/ql/integration-tests/posix-only/kotlin/needless-java-wildcards/test.py @@ -1,5 +1,12 @@ -from create_database_utils import * +import runs_on -os.mkdir('build1') -os.mkdir('build2') -run_codeql_database_create(["kotlinc kConsumer.kt -d build1", "javac Test.java -cp build1 -d build2", "kotlinc user.kt -cp build1:build2"], lang="java") + +@runs_on.posix +def test(codeql, java_full): + codeql.database.create( + command=[ + "kotlinc kConsumer.kt -d build1", + "javac Test.java -cp build1 -d build2", + "kotlinc user.kt -cp build1:build2", + ] + ) diff --git a/java/ql/integration-tests/posix-only/kotlin/qlpack.yml b/java/ql/integration-tests/posix-only/kotlin/qlpack.yml deleted file mode 100644 index 4994af85a75..00000000000 --- a/java/ql/integration-tests/posix-only/kotlin/qlpack.yml +++ /dev/null @@ -1,5 +0,0 @@ -dependencies: - codeql/java-all: '*' - codeql/java-tests: '*' - codeql/java-queries: '*' -warnOnImplicitThis: true From 33f87c0c4683561c79a0510c8bad8113b3f3fb74 Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Mon, 19 Aug 2024 09:21:40 +0200 Subject: [PATCH 095/258] Port linux/kotlin tests to pytest. --- .../{diagnostics.expected => diag.expected} | 0 .../custom_plugin/{diagnostics.ql => diag.ql} | 0 .../linux-only/kotlin/custom_plugin/test.py | 53 +++++++++++-------- .../linux-only/kotlin/qlpack.yml | 3 -- .../kotlin/use_java_library/test.py | 13 ++--- 5 files changed, 37 insertions(+), 32 deletions(-) rename java/ql/integration-tests/linux-only/kotlin/custom_plugin/{diagnostics.expected => diag.expected} (100%) rename java/ql/integration-tests/linux-only/kotlin/custom_plugin/{diagnostics.ql => diag.ql} (100%) delete mode 100644 java/ql/integration-tests/linux-only/kotlin/qlpack.yml diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/diagnostics.expected b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/diag.expected similarity index 100% rename from java/ql/integration-tests/linux-only/kotlin/custom_plugin/diagnostics.expected rename to java/ql/integration-tests/linux-only/kotlin/custom_plugin/diag.expected diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/diagnostics.ql b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/diag.ql similarity index 100% rename from java/ql/integration-tests/linux-only/kotlin/custom_plugin/diagnostics.ql rename to java/ql/integration-tests/linux-only/kotlin/custom_plugin/diag.ql diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/test.py b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/test.py index 55d24e01607..2ec685ac685 100644 --- a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/test.py +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/test.py @@ -1,26 +1,33 @@ -from create_database_utils import * - -import pathlib import shutil +import runs_on +import commands -this_dir = pathlib.Path(__file__).resolve().parent -cwd = pathlib.Path.cwd() -builddir = cwd / 'build' -builddir.mkdir(exist_ok=True) - -try: - runSuccessfully( - [f'{get_semmle_code_path()}/tools/bazel', f'--output_user_root={builddir}', '--max_idle_secs=1', 'build', - '//java/ql/integration-tests/linux-only/kotlin/custom_plugin/plugin', '--spawn_strategy=local', - '--nouse_action_cache', '--noremote_accept_cached', '--noremote_upload_local_results', - f'--symlink_prefix={cwd / "bazel-"}'], cwd=this_dir) -finally: - # rules_python creates a read-only directory in bazel's output, this allows cleanup to succeed - runSuccessfully(['chmod', '-R', '+w', builddir]) - -shutil.copy( - 'bazel-bin/java/ql/integration-tests/linux-only/kotlin/custom_plugin/plugin/plugin.jar', 'plugin.jar') - -run_codeql_database_create( - ["kotlinc -J-Xmx2G -language-version 1.9 -Xplugin=plugin.jar a.kt b.kt c.kt d.kt e.kt"], lang="java") +@runs_on.linux +def test(codeql, java_full, cwd, semmle_code_dir, test_dir): + build_dir = cwd / "build" + build_dir.mkdir(exist_ok=True) + commands.run( + [ + f"{semmle_code_dir}/tools/bazel", + f"--output_user_root={build_dir}", + "--max_idle_secs=1", + "build", + "//java/ql/integration-tests/linux-only/kotlin/custom_plugin/plugin", + "--spawn_strategy=local", + "--nouse_action_cache", + "--noremote_accept_cached", + "--noremote_upload_local_results", + f'--symlink_prefix={cwd / "bazel-"}', + ], + _cwd=test_dir, + ) + shutil.copy( + "bazel-bin/java/ql/integration-tests/linux-only/kotlin/custom_plugin/plugin/plugin.jar", + "plugin.jar", + ) + codeql.database.create( + command=[ + "kotlinc -J-Xmx2G -language-version 1.9 -Xplugin=plugin.jar a.kt b.kt c.kt d.kt e.kt" + ] + ) diff --git a/java/ql/integration-tests/linux-only/kotlin/qlpack.yml b/java/ql/integration-tests/linux-only/kotlin/qlpack.yml deleted file mode 100644 index b2ae6491ab8..00000000000 --- a/java/ql/integration-tests/linux-only/kotlin/qlpack.yml +++ /dev/null @@ -1,3 +0,0 @@ -dependencies: - codeql/java-all: '*' -warnOnImplicitThis: true diff --git a/java/ql/integration-tests/linux-only/kotlin/use_java_library/test.py b/java/ql/integration-tests/linux-only/kotlin/use_java_library/test.py index 13230ceeb43..633a7419b55 100644 --- a/java/ql/integration-tests/linux-only/kotlin/use_java_library/test.py +++ b/java/ql/integration-tests/linux-only/kotlin/use_java_library/test.py @@ -1,8 +1,9 @@ -from create_database_utils import * -import glob +import runs_on -os.mkdir('build') -javaccmd = " ".join(["javac"] + glob.glob("javasrc/extlib/*.java") + ["-d", "build"]) -jarcmd = " ".join(["jar", "-c", "-f", "extlib.jar", "-C", "build", "extlib"]) -run_codeql_database_create([javaccmd, jarcmd, "kotlinc user.kt -cp extlib.jar"], lang="java") +@runs_on.linux +def test(codeql, java_full, cwd): + java_srcs = (cwd / "javasrc" / "extlib").glob("*.java") + javac_cmd = " ".join(["javac"] + [str(s) for s in java_srcs] + ["-d", "build"]) + jar_cmd = " ".join(["jar", "-c", "-f", "extlib.jar", "-C", "build", "extlib"]) + codeql.database.create(command=[javac_cmd, jar_cmd, "kotlinc user.kt -cp extlib.jar"]) From 8b6c293b5cf19cd189a5ce333c6f07ade37001d3 Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Mon, 19 Aug 2024 12:19:51 +0200 Subject: [PATCH 096/258] C#: Add retry logic to file (nuget.exe, dotnet-install.sh) downloads --- .../BuildScripts.cs | 3 +- .../BuildScripts.cs | 3 +- .../Semmle.Autobuild.Shared/MsBuildRule.cs | 3 +- .../DotNet.cs | 3 +- .../NugetExeWrapper.cs | 2 +- csharp/extractor/Semmle.Util/BuildActions.cs | 8 ++-- csharp/extractor/Semmle.Util/BuildScript.cs | 5 ++- csharp/extractor/Semmle.Util/FileUtils.cs | 43 ++++++++++++++++--- 8 files changed, 53 insertions(+), 17 deletions(-) diff --git a/csharp/autobuilder/Semmle.Autobuild.CSharp.Tests/BuildScripts.cs b/csharp/autobuilder/Semmle.Autobuild.CSharp.Tests/BuildScripts.cs index 612ca2320ce..d277331b12e 100644 --- a/csharp/autobuilder/Semmle.Autobuild.CSharp.Tests/BuildScripts.cs +++ b/csharp/autobuilder/Semmle.Autobuild.CSharp.Tests/BuildScripts.cs @@ -7,6 +7,7 @@ using System.Xml; using Microsoft.Build.Construction; using Semmle.Util; using Semmle.Autobuild.Shared; +using Semmle.Util.Logging; namespace Semmle.Autobuild.CSharp.Tests { @@ -203,7 +204,7 @@ namespace Semmle.Autobuild.CSharp.Tests throw new ArgumentException($"Missing CreateDirectory, {path}"); } - public void DownloadFile(string address, string fileName) + public void DownloadFile(string address, string fileName, ILogger logger) { if (!DownloadFiles.Contains((address, fileName))) throw new ArgumentException($"Missing DownloadFile, {address}, {fileName}"); diff --git a/csharp/autobuilder/Semmle.Autobuild.Cpp.Tests/BuildScripts.cs b/csharp/autobuilder/Semmle.Autobuild.Cpp.Tests/BuildScripts.cs index 605bb58755a..c74692bed75 100644 --- a/csharp/autobuilder/Semmle.Autobuild.Cpp.Tests/BuildScripts.cs +++ b/csharp/autobuilder/Semmle.Autobuild.Cpp.Tests/BuildScripts.cs @@ -7,6 +7,7 @@ using System.Linq; using Microsoft.Build.Construction; using System.Xml; using System.IO; +using Semmle.Util.Logging; namespace Semmle.Autobuild.Cpp.Tests { @@ -189,7 +190,7 @@ namespace Semmle.Autobuild.Cpp.Tests throw new ArgumentException($"Missing CreateDirectory, {path}"); } - public void DownloadFile(string address, string fileName) + public void DownloadFile(string address, string fileName, ILogger logger) { if (!DownloadFiles.Contains((address, fileName))) throw new ArgumentException($"Missing DownloadFile, {address}, {fileName}"); diff --git a/csharp/autobuilder/Semmle.Autobuild.Shared/MsBuildRule.cs b/csharp/autobuilder/Semmle.Autobuild.Shared/MsBuildRule.cs index 7827fe5c2e1..953f0884a44 100644 --- a/csharp/autobuilder/Semmle.Autobuild.Shared/MsBuildRule.cs +++ b/csharp/autobuilder/Semmle.Autobuild.Shared/MsBuildRule.cs @@ -157,7 +157,8 @@ namespace Semmle.Autobuild.Shared BuildScript.DownloadFile( FileUtils.NugetExeUrl, path, - e => builder.Logger.LogWarning($"Failed to download 'nuget.exe': {e.Message}")) + e => builder.Logger.LogWarning($"Failed to download 'nuget.exe': {e.Message}"), + builder.Logger) & BuildScript.Create(_ => { diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DotNet.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DotNet.cs index 0e47f1d1911..d0646ea921c 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DotNet.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DotNet.cs @@ -248,7 +248,8 @@ namespace Semmle.Extraction.CSharp.DependencyFetching var downloadDotNetInstallSh = BuildScript.DownloadFile( "https://dot.net/v1/dotnet-install.sh", dotnetInstallPath, - e => logger.LogWarning($"Failed to download 'dotnet-install.sh': {e.Message}")); + e => logger.LogWarning($"Failed to download 'dotnet-install.sh': {e.Message}"), + logger); var chmod = new CommandBuilder(actions). RunCommand("chmod"). diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetExeWrapper.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetExeWrapper.cs index 0371aed16e2..0676042eb42 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetExeWrapper.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetExeWrapper.cs @@ -145,7 +145,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching Directory.CreateDirectory(directory); logger.LogInfo("Attempting to download nuget.exe"); - FileUtils.DownloadFile(FileUtils.NugetExeUrl, nuget); + FileUtils.DownloadFile(FileUtils.NugetExeUrl, nuget, logger); logger.LogInfo($"Downloaded nuget.exe to {nuget}"); return nuget; } diff --git a/csharp/extractor/Semmle.Util/BuildActions.cs b/csharp/extractor/Semmle.Util/BuildActions.cs index e3a4e7ecafe..507af96d13c 100644 --- a/csharp/extractor/Semmle.Util/BuildActions.cs +++ b/csharp/extractor/Semmle.Util/BuildActions.cs @@ -6,7 +6,7 @@ using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Xml; -using Semmle.Util; +using Semmle.Util.Logging; namespace Semmle.Util { @@ -165,7 +165,7 @@ namespace Semmle.Util ///

    /// Downloads the resource with the specified URI to a local file. /// - void DownloadFile(string address, string fileName); + void DownloadFile(string address, string fileName, ILogger logger); /// /// Creates an for the given . @@ -280,8 +280,8 @@ namespace Semmle.Util public string EnvironmentExpandEnvironmentVariables(string s) => Environment.ExpandEnvironmentVariables(s); - public void DownloadFile(string address, string fileName) => - FileUtils.DownloadFile(address, fileName); + public void DownloadFile(string address, string fileName, ILogger logger) => + FileUtils.DownloadFile(address, fileName, logger); public IDiagnosticsWriter CreateDiagnosticsWriter(string filename) => new DiagnosticsStream(filename); diff --git a/csharp/extractor/Semmle.Util/BuildScript.cs b/csharp/extractor/Semmle.Util/BuildScript.cs index 9dd3ef9c8e9..27172add2b1 100644 --- a/csharp/extractor/Semmle.Util/BuildScript.cs +++ b/csharp/extractor/Semmle.Util/BuildScript.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.IO; +using Semmle.Util.Logging; namespace Semmle.Util { @@ -275,14 +276,14 @@ namespace Semmle.Util /// /// Creates a build script that downloads the specified file. /// - public static BuildScript DownloadFile(string address, string fileName, Action exceptionCallback) => + public static BuildScript DownloadFile(string address, string fileName, Action exceptionCallback, ILogger logger) => Create(actions => { if (actions.GetDirectoryName(fileName) is string dir && !string.IsNullOrWhiteSpace(dir)) actions.CreateDirectory(dir); try { - actions.DownloadFile(address, fileName); + actions.DownloadFile(address, fileName, logger); return 0; } catch (Exception e) diff --git a/csharp/extractor/Semmle.Util/FileUtils.cs b/csharp/extractor/Semmle.Util/FileUtils.cs index ff7eb879731..70aca8fc68c 100644 --- a/csharp/extractor/Semmle.Util/FileUtils.cs +++ b/csharp/extractor/Semmle.Util/FileUtils.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Net.Http; using System.Security.Cryptography; using System.Text; +using System.Threading; using System.Threading.Tasks; using Semmle.Util.Logging; @@ -99,19 +100,49 @@ namespace Semmle.Util return hex.ToString(); } - private static async Task DownloadFileAsync(string address, string filename) + private static async Task DownloadFileAsync(string address, string filename, HttpClient httpClient, CancellationToken token) { - using var httpClient = new HttpClient(); - using var contentStream = await httpClient.GetStreamAsync(address); + using var contentStream = await httpClient.GetStreamAsync(address, token); using var stream = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.None, 4096, true); - await contentStream.CopyToAsync(stream); + await contentStream.CopyToAsync(stream, CancellationToken.None); + } + + private static void DownloadFileWithRetry(string address, string fileName, int tryCount, int timeoutMilliSeconds, ILogger logger) + { + logger.LogDebug($"Downloading {address} to {fileName}."); + using HttpClient client = new(); + + for (var i = 0; i < tryCount; i++) + { + logger.LogDebug($"Attempt {i + 1} of {tryCount}. Timeout: {timeoutMilliSeconds} ms."); + using var cts = new CancellationTokenSource(); + cts.CancelAfter(timeoutMilliSeconds); + try + { + DownloadFileAsync(address, fileName, client, cts.Token).GetAwaiter().GetResult(); + logger.LogDebug($"Downloaded {address} to {fileName}."); + return; + } + catch (Exception exc) + { + logger.LogDebug($"Failed to download {address} to {fileName}. Exception: {exc.Message}"); + timeoutMilliSeconds *= 2; + + if (i == tryCount - 1) + { + logger.LogDebug($"Failed to download {address} to {fileName} after {tryCount} attempts."); + // Rethrowing the last exception + throw; + } + } + } } /// /// Downloads the file at to . /// - public static void DownloadFile(string address, string fileName) => - DownloadFileAsync(address, fileName).GetAwaiter().GetResult(); + public static void DownloadFile(string address, string fileName, ILogger logger) => + DownloadFileWithRetry(address, fileName, tryCount: 3, timeoutMilliSeconds: 10000, logger); public static string ConvertPathToSafeRelativePath(string path) { From 9d7314febbf71af88d4e2e55cc7e9bd48017fdf9 Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Mon, 19 Aug 2024 15:56:56 +0200 Subject: [PATCH 097/258] C#: Change random temp folder names to hash values --- .../NugetPackageRestorer.cs | 8 +------- .../DotnetSourceGeneratorWrapper.cs | 2 +- csharp/extractor/Semmle.Util/FileUtils.cs | 17 +++++++++++++++-- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetPackageRestorer.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetPackageRestorer.cs index 3c8a977cf5f..ffe588f49e7 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetPackageRestorer.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetPackageRestorer.cs @@ -777,13 +777,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching /// The full path of the temp directory. private static string ComputeTempDirectoryPath(string srcDir, string subfolderName) { - var bytes = Encoding.Unicode.GetBytes(srcDir); - var sha = SHA1.HashData(bytes); - var sb = new StringBuilder(); - foreach (var b in sha.Take(8)) - sb.AppendFormat("{0:x2}", b); - - return Path.Combine(FileUtils.GetTemporaryWorkingDirectory(out _), sb.ToString(), subfolderName); + return Path.Combine(FileUtils.GetTemporaryWorkingDirectory(out _), FileUtils.ComputeHash(srcDir), subfolderName); } } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/SourceGenerators/DotnetSourceGeneratorWrapper/DotnetSourceGeneratorWrapper.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/SourceGenerators/DotnetSourceGeneratorWrapper/DotnetSourceGeneratorWrapper.cs index 308874d344e..1110f768a74 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/SourceGenerators/DotnetSourceGeneratorWrapper/DotnetSourceGeneratorWrapper.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/SourceGenerators/DotnetSourceGeneratorWrapper/DotnetSourceGeneratorWrapper.cs @@ -37,7 +37,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching { try { - var name = Guid.NewGuid().ToString("N").ToUpper(); + var name = FileUtils.ComputeHash($"{csprojFile}{Environment.NewLine}{this.GetType().Name}"); using var tempDir = new TemporaryDirectory(Path.Join(FileUtils.GetTemporaryWorkingDirectory(out _), "source-generator"), "source generator temporary", logger); var analyzerConfigPath = Path.Combine(tempDir.DirInfo.FullName, $"{name}.txt"); var dllPath = Path.Combine(tempDir.DirInfo.FullName, $"{name}.dll"); diff --git a/csharp/extractor/Semmle.Util/FileUtils.cs b/csharp/extractor/Semmle.Util/FileUtils.cs index ff7eb879731..d5930251fae 100644 --- a/csharp/extractor/Semmle.Util/FileUtils.cs +++ b/csharp/extractor/Semmle.Util/FileUtils.cs @@ -91,11 +91,24 @@ namespace Semmle.Util public static string ComputeFileHash(string filePath) { using var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read); - using var shaAlg = SHA256.Create(); - var sha = shaAlg.ComputeHash(fileStream); + var sha = SHA256.HashData(fileStream); + return GetHashString(sha); + } + + public static string ComputeHash(string input) + { + var bytes = Encoding.Unicode.GetBytes(input); + var sha = MD5.HashData(bytes); // MD5 to keep it shorter than SHA256 + return GetHashString(sha).ToUpper(); + } + + private static string GetHashString(byte[] sha) + { var hex = new StringBuilder(sha.Length * 2); foreach (var b in sha) + { hex.AppendFormat("{0:x2}", b); + } return hex.ToString(); } From 27522a278117868800d6207d5a3993987c87aed1 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Mon, 19 Aug 2024 16:23:06 +0100 Subject: [PATCH 098/258] Remove redundant imports --- .../frameworks/spring/componentscan/SpringBasePackages.ql | 1 - .../frameworks/spring/componentscan/SpringComponent.ql | 1 - .../frameworks/spring/componentscan/SpringProfiles.ql | 1 - 3 files changed, 3 deletions(-) diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/SpringBasePackages.ql b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringBasePackages.ql index 2164ee4a6f5..bc1595e1013 100644 --- a/java/ql/test/library-tests/frameworks/spring/componentscan/SpringBasePackages.ql +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringBasePackages.ql @@ -1,5 +1,4 @@ import java -import semmle.code.java.frameworks.spring.Spring import SpringProfiles from SpringBasePackage basePackage diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/SpringComponent.ql b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringComponent.ql index e87922a94b2..70f4c321bae 100644 --- a/java/ql/test/library-tests/frameworks/spring/componentscan/SpringComponent.ql +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringComponent.ql @@ -1,5 +1,4 @@ import java -import semmle.code.java.frameworks.spring.Spring import SpringProfiles from SpringComponent springComponent, string isLive diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.ql b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.ql index 3cb337d9546..218e49f6885 100644 --- a/java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.ql +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.ql @@ -1,5 +1,4 @@ import java -import semmle.code.java.frameworks.spring.Spring import SpringProfiles from SpringProfileExpr springProfileExpr, string active From 80e03c3c5197b8ad45cfe6667972dfc3c3f4efc4 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Mon, 19 Aug 2024 16:25:06 +0100 Subject: [PATCH 099/258] Improve ql/doc style --- .../frameworks/spring/componentscan/SpringProfiles.qll | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.qll b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.qll index 4ccb26ade5e..b6269002bce 100644 --- a/java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.qll +++ b/java/ql/test/library-tests/frameworks/spring/componentscan/SpringProfiles.qll @@ -2,16 +2,16 @@ import java import semmle.code.java.frameworks.spring.Spring /** - * Mark the XML configuration profile as never enabled. This should allow us to deduce that the + * A marker class that marks the XML configuration profile as never enabled. This should allow us to deduce that the * com.semmle.g.ProfileComponent is dead, because com.semmle.g is only a base package in the * profile-config.xml file, which is only enabled if xmlConfigurationProfile is enabled. */ -class XMLConfigurationProfile extends NeverEnabledSpringProfile { - XMLConfigurationProfile() { this = "xmlConfigurationProfile" } +class XmlConfigurationProfile extends NeverEnabledSpringProfile { + XmlConfigurationProfile() { this = "xmlConfigurationProfile" } } /** - * Mark the annotation profile as always enabled. This should allow us to deduce that the + * A marker class that marks the annotation profile as always enabled. This should allow us to deduce that the * com.semmle.e.DeadProfileComponent is dead, because the profile is "!annotationProfile", and that * com.semmle.e.LiveProfileComponent is live, because the profile is "annotationProfile". */ From 383e27c2bdc61a05836e8de6567a5ba4ba7efb5d Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Sat, 8 Jun 2024 15:33:50 -0400 Subject: [PATCH 100/258] Add file sources --- go/ql/lib/ext/os.model.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/go/ql/lib/ext/os.model.yml b/go/ql/lib/ext/os.model.yml index 11a28a0d1fc..db8662f2ec6 100644 --- a/go/ql/lib/ext/os.model.yml +++ b/go/ql/lib/ext/os.model.yml @@ -40,3 +40,12 @@ extensions: - ["os", "", False, "ExpandEnv", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["os", "", False, "NewFile", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["os", "File", True, "Fd", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["os", "File", True, "Read", "", "", "Argument[receiver]", "Argument[0].Element", "taint", "manual"] + - ["os", "File", True, "ReadAt", "", "", "Argument[receiver]", "Argument[0].Element", "taint", "manual"] + - addsTo: + pack: codeql/go-all + extensible: sourceModel + data: + - ["os", "", False, "Open", "", "", "ReturnValue", "file", "manual"] + - ["os", "", False, "OpenFile", "", "", "ReturnValue", "file", "manual"] + - ["os", "", False, "ReadFile", "", "", "ReturnValue", "file", "manual"] \ No newline at end of file From 3f640a99d3878cdbc97e1fdcbd257ee2526ab763 Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 12 Aug 2024 12:36:54 -0400 Subject: [PATCH 101/258] Tests for `file` models --- .../flowsources/local/file/test.expected | 3 ++ .../flowsources/local/file/test.ext.yml | 6 ++++ .../dataflow/flowsources/local/file/test.go | 29 +++++++++++++++++++ .../dataflow/flowsources/local/file/test.ql | 5 ++++ 4 files changed, 43 insertions(+) create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.expected create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.ext.yml create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.ql diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.expected b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.expected new file mode 100644 index 00000000000..cad00099a62 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.expected @@ -0,0 +1,3 @@ +| test.go:6:2:6:33 | ... := ...[0] | +| test.go:15:2:15:51 | ... := ...[0] | +| test.go:24:2:24:37 | ... := ...[0] | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.ext.yml new file mode 100644 index 00000000000..5e21e41103f --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.ext.yml @@ -0,0 +1,6 @@ +extensions: + - addsTo: + pack: codeql/threat-models + extensible: threatModelConfiguration + data: + - ["file", true, 0] \ No newline at end of file diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go new file mode 100644 index 00000000000..786365f2974 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go @@ -0,0 +1,29 @@ +package test + +import "os" + +func open() { + file, err := os.Open("file.txt") + if err != nil { + return + } + defer file.Close() + file.Read([]byte{1, 2, 3}) +} + +func openFile() { + file, err := os.OpenFile("file.txt", os.O_RDWR, 0) + if err != nil { + return + } + defer file.Close() + file.Read([]byte{1, 2, 3}) +} + +func readFile() { + data, err := os.ReadFile("file.txt") + if err != nil { + return + } + _ = data +} \ No newline at end of file diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.ql b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.ql new file mode 100644 index 00000000000..fff26479399 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.ql @@ -0,0 +1,5 @@ +import go + +from DataFlow::Node source +where source instanceof ThreatModelFlowSource +select source From eb8c785c6bd0d38d2b67a76b2043629d275f9f42 Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 12 Aug 2024 17:18:33 -0400 Subject: [PATCH 102/258] Fix formatting --- .../semmle/go/dataflow/flowsources/local/file/test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go index 786365f2974..7d297185a69 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go @@ -26,4 +26,4 @@ func readFile() { return } _ = data -} \ No newline at end of file +} From 0f7ad98a239266584e34c64fe51fe95af311b151 Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 12 Aug 2024 17:20:43 -0400 Subject: [PATCH 103/258] Change note --- go/ql/lib/change-notes/2024-08-12-add-file-models.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 go/ql/lib/change-notes/2024-08-12-add-file-models.md diff --git a/go/ql/lib/change-notes/2024-08-12-add-file-models.md b/go/ql/lib/change-notes/2024-08-12-add-file-models.md new file mode 100644 index 00000000000..5068a5494dd --- /dev/null +++ b/go/ql/lib/change-notes/2024-08-12-add-file-models.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Local source models have been added for the file APIs in the "os" package in the Go standard library. From f89174a6f3633c14212fed7bdd8e17d7cac2b6d3 Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 12 Aug 2024 20:16:23 -0400 Subject: [PATCH 104/258] CI changes (provenance) --- .../UnhandledCloseWritableHandle.expected | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected b/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected index e5ad074d25d..69fd752e1e2 100644 --- a/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected +++ b/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected @@ -2,18 +2,18 @@ edges | tests.go:8:24:8:24 | definition of f | tests.go:9:8:9:8 | f | provenance | | | tests.go:12:32:12:32 | definition of f | tests.go:13:13:13:13 | capture variable f | provenance | | | tests.go:13:13:13:13 | capture variable f | tests.go:14:3:14:3 | f | provenance | | -| tests.go:31:5:31:78 | ... := ...[0] | tests.go:32:21:32:21 | f | provenance | | -| tests.go:31:5:31:78 | ... := ...[0] | tests.go:33:29:33:29 | f | provenance | | +| tests.go:31:5:31:78 | ... := ...[0] | tests.go:32:21:32:21 | f | provenance | Src:MaD:1398 | +| tests.go:31:5:31:78 | ... := ...[0] | tests.go:33:29:33:29 | f | provenance | Src:MaD:1398 | | tests.go:32:21:32:21 | f | tests.go:8:24:8:24 | definition of f | provenance | | | tests.go:33:29:33:29 | f | tests.go:12:32:12:32 | definition of f | provenance | | -| tests.go:45:5:45:76 | ... := ...[0] | tests.go:46:21:46:21 | f | provenance | | -| tests.go:45:5:45:76 | ... := ...[0] | tests.go:47:29:47:29 | f | provenance | | +| tests.go:45:5:45:76 | ... := ...[0] | tests.go:46:21:46:21 | f | provenance | Src:MaD:1398 | +| tests.go:45:5:45:76 | ... := ...[0] | tests.go:47:29:47:29 | f | provenance | Src:MaD:1398 | | tests.go:46:21:46:21 | f | tests.go:8:24:8:24 | definition of f | provenance | | | tests.go:47:29:47:29 | f | tests.go:12:32:12:32 | definition of f | provenance | | -| tests.go:54:5:54:78 | ... := ...[0] | tests.go:56:3:56:3 | f | provenance | | -| tests.go:66:5:66:76 | ... := ...[0] | tests.go:68:3:68:3 | f | provenance | | -| tests.go:108:5:108:78 | ... := ...[0] | tests.go:110:9:110:9 | f | provenance | | -| tests.go:125:5:125:78 | ... := ...[0] | tests.go:129:3:129:3 | f | provenance | | +| tests.go:54:5:54:78 | ... := ...[0] | tests.go:56:3:56:3 | f | provenance | Src:MaD:1398 | +| tests.go:66:5:66:76 | ... := ...[0] | tests.go:68:3:68:3 | f | provenance | Src:MaD:1398 | +| tests.go:108:5:108:78 | ... := ...[0] | tests.go:110:9:110:9 | f | provenance | Src:MaD:1398 | +| tests.go:125:5:125:78 | ... := ...[0] | tests.go:129:3:129:3 | f | provenance | Src:MaD:1398 | nodes | tests.go:8:24:8:24 | definition of f | semmle.label | definition of f | | tests.go:9:8:9:8 | f | semmle.label | f | From fc38476e42ff53645451fcd8e216b716df9bb8c4 Mon Sep 17 00:00:00 2001 From: Edward Minnix III Date: Mon, 19 Aug 2024 12:20:53 -0400 Subject: [PATCH 105/258] Fix models Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com> --- go/ql/lib/ext/os.model.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/go/ql/lib/ext/os.model.yml b/go/ql/lib/ext/os.model.yml index db8662f2ec6..31034541b6d 100644 --- a/go/ql/lib/ext/os.model.yml +++ b/go/ql/lib/ext/os.model.yml @@ -40,12 +40,12 @@ extensions: - ["os", "", False, "ExpandEnv", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["os", "", False, "NewFile", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["os", "File", True, "Fd", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] - - ["os", "File", True, "Read", "", "", "Argument[receiver]", "Argument[0].Element", "taint", "manual"] - - ["os", "File", True, "ReadAt", "", "", "Argument[receiver]", "Argument[0].Element", "taint", "manual"] + - ["os", "File", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] + - ["os", "File", True, "ReadAt", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - addsTo: pack: codeql/go-all extensible: sourceModel data: - - ["os", "", False, "Open", "", "", "ReturnValue", "file", "manual"] - - ["os", "", False, "OpenFile", "", "", "ReturnValue", "file", "manual"] - - ["os", "", False, "ReadFile", "", "", "ReturnValue", "file", "manual"] \ No newline at end of file + - ["os", "", False, "Open", "", "", "ReturnValue[0]", "file", "manual"] + - ["os", "", False, "OpenFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["os", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] \ No newline at end of file From 704cd8aee30eaa0586a8cfb53d5340cc155ed47e Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 19 Aug 2024 12:28:55 -0400 Subject: [PATCH 106/258] Update change note --- go/ql/lib/change-notes/2024-08-12-add-file-models.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/ql/lib/change-notes/2024-08-12-add-file-models.md b/go/ql/lib/change-notes/2024-08-12-add-file-models.md index 5068a5494dd..e50f7138090 100644 --- a/go/ql/lib/change-notes/2024-08-12-add-file-models.md +++ b/go/ql/lib/change-notes/2024-08-12-add-file-models.md @@ -1,4 +1,4 @@ --- category: minorAnalysis --- -* Local source models have been added for the file APIs in the "os" package in the Go standard library. +* Local source models have been added for the file APIs in the "os" package in the Go standard library. You can optionally include threat models as appropriate when using the CodeQL CLI and in GitHub code scanning. For more information, see [Analyzing your code with CodeQL queries](https://docs.github.com/code-security/codeql-cli/getting-started-with-the-codeql-cli/analyzing-your-code-with-codeql-queries#including-model-packs-to-add-potential-sources-of-tainted-data>) and [Customizing your advanced setup for code scanning](https://docs.github.com/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#extending-codeql-coverage-with-threat-models). From 5e8185ac4fcdd554b304002eb331cd4744ea8150 Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 19 Aug 2024 12:44:30 -0400 Subject: [PATCH 107/258] Port test to inline expectations test --- .../flowsources/local/file/test.expected | 6 +++--- .../dataflow/flowsources/local/file/test.go | 6 +++--- .../dataflow/flowsources/local/file/test.ql | 20 ++++++++++++++++--- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.expected b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.expected index cad00099a62..db33d6d2504 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.expected @@ -1,3 +1,3 @@ -| test.go:6:2:6:33 | ... := ...[0] | -| test.go:15:2:15:51 | ... := ...[0] | -| test.go:24:2:24:37 | ... := ...[0] | +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go index 7d297185a69..92d2adbe813 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go @@ -3,7 +3,7 @@ package test import "os" func open() { - file, err := os.Open("file.txt") + file, err := os.Open("file.txt") // $ source if err != nil { return } @@ -12,7 +12,7 @@ func open() { } func openFile() { - file, err := os.OpenFile("file.txt", os.O_RDWR, 0) + file, err := os.OpenFile("file.txt", os.O_RDWR, 0) // $source if err != nil { return } @@ -21,7 +21,7 @@ func openFile() { } func readFile() { - data, err := os.ReadFile("file.txt") + data, err := os.ReadFile("file.txt") // $source if err != nil { return } diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.ql b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.ql index fff26479399..db6bbb1a2d1 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.ql @@ -1,5 +1,19 @@ import go +import ModelValidation +import TestUtilities.InlineExpectationsTest -from DataFlow::Node source -where source instanceof ThreatModelFlowSource -select source +module SourceTest implements TestSig { + string getARelevantTag() { result = "source" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + exists(ThreatModelFlowSource s | + s.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = s.toString() and + value = "" and + tag = "source" + ) + } +} + +import MakeTest From a308bdb75d6a2de40ffa9b0248230990d8d7070a Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 19 Aug 2024 12:59:34 -0400 Subject: [PATCH 108/258] Modify UnhandledCloseWritableHandle to use post processing --- .../UnhandledCloseWritableHandle.qlref | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.qlref b/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.qlref index 69ed86999a5..579e4344e89 100644 --- a/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.qlref +++ b/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.qlref @@ -1 +1,2 @@ -InconsistentCode/UnhandledCloseWritableHandle.ql +query: InconsistentCode/UnhandledCloseWritableHandle.ql +postprocess: TestUtilities/PrettyPrintModels.ql From 2629e09b67d9f3dc1dcb32a089faf128b7b5f6d5 Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 19 Aug 2024 17:22:46 -0400 Subject: [PATCH 109/258] Add `io/ioutil` and `io/fs` models --- go/ql/lib/ext/io.fs.model.yml | 8 ++++++++ go/ql/lib/ext/io.ioutil.model.yml | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/go/ql/lib/ext/io.fs.model.yml b/go/ql/lib/ext/io.fs.model.yml index e4ced4b775b..98f0d50a906 100644 --- a/go/ql/lib/ext/io.fs.model.yml +++ b/go/ql/lib/ext/io.fs.model.yml @@ -10,8 +10,16 @@ extensions: - ["io/fs", "", False, "Sub", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] - ["io/fs", "DirEntry", True, "Info", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["io/fs", "DirEntry", True, "Name", "", "", "Argument[receiver]", "ReturnValue", "taint", "manual"] + - ["io/fs", "File", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["io/fs", "FS", True, "Open", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["io/fs", "GlobFS", True, "Glob", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["io/fs", "ReadDirFS", True, "ReadDir", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["io/fs", "ReadFileFS", True, "ReadFile", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["io/fs", "SubFS", True, "Sub", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] + - addsTo: + pack: codeql/go-all + extensible: summaryModel + data: + - ["io/fs", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["io/fs", "ReadFileFS", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["io/fs", "FS", True, "Open", "", "", "ReturnValue[0]", "file", "manual"] \ No newline at end of file diff --git a/go/ql/lib/ext/io.ioutil.model.yml b/go/ql/lib/ext/io.ioutil.model.yml index f5fd2ea0fb4..dda811c97bf 100644 --- a/go/ql/lib/ext/io.ioutil.model.yml +++ b/go/ql/lib/ext/io.ioutil.model.yml @@ -14,3 +14,8 @@ extensions: data: - ["io/ioutil", "", False, "NopCloser", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["io/ioutil", "", False, "ReadAll", "", "", "Argument[0]", "ReturnValue[0]", "taint", "manual"] + - addsTo: + pack: codeql/go-all + extensible: sourceModel + data: + - ["io/ioutil", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] \ No newline at end of file From 442026cc9d61587fc89d1d040cc86aa1ad6ebbd8 Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 19 Aug 2024 17:23:32 -0400 Subject: [PATCH 110/258] Fix test results --- .../DefaultSanitizer.expected | 4 +++ .../go/frameworks/Echo/ReflectedXss.expected | 7 ++-- .../UnhandledCloseWritableHandle.expected | 36 ++++++++++--------- 3 files changed, 28 insertions(+), 19 deletions(-) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/DefaultTaintSanitizer/DefaultSanitizer.expected b/go/ql/test/library-tests/semmle/go/dataflow/DefaultTaintSanitizer/DefaultSanitizer.expected index 7370d0f9a34..14abf5e8542 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/DefaultTaintSanitizer/DefaultSanitizer.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/DefaultTaintSanitizer/DefaultSanitizer.expected @@ -1,13 +1,17 @@ models | 1 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | | 2 | Source: net/http; Request; true; Body; ; ; ; remote; manual | +| 3 | Summary: os; File; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | edges | Builtin.go:6:2:6:2 | definition of b | Builtin.go:8:9:8:17 | type conversion | provenance | | | Builtin.go:7:2:7:15 | selection of Body | Builtin.go:6:2:6:2 | definition of b | provenance | Src:MaD:2 MaD:1 | +| Builtin.go:7:2:7:15 | selection of Body | Builtin.go:6:2:6:2 | definition of b | provenance | Src:MaD:2 MaD:3 | | Builtin.go:12:2:12:2 | definition of b | Builtin.go:17:9:17:17 | type conversion | provenance | | | Builtin.go:13:2:13:15 | selection of Body | Builtin.go:12:2:12:2 | definition of b | provenance | Src:MaD:2 MaD:1 | +| Builtin.go:13:2:13:15 | selection of Body | Builtin.go:12:2:12:2 | definition of b | provenance | Src:MaD:2 MaD:3 | | Builtin.go:21:2:21:2 | definition of b | Builtin.go:24:10:24:18 | type conversion | provenance | | | Builtin.go:22:2:22:15 | selection of Body | Builtin.go:21:2:21:2 | definition of b | provenance | Src:MaD:2 MaD:1 | +| Builtin.go:22:2:22:15 | selection of Body | Builtin.go:21:2:21:2 | definition of b | provenance | Src:MaD:2 MaD:3 | nodes | Builtin.go:6:2:6:2 | definition of b | semmle.label | definition of b | | Builtin.go:7:2:7:15 | selection of Body | semmle.label | selection of Body | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected index 70df2a52659..a4b8f3ed700 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected @@ -31,12 +31,14 @@ edges | test.go:58:13:58:22 | fileHeader | test.go:58:2:58:29 | ... := ...[0] | provenance | MaD:16 | | test.go:59:2:59:7 | definition of buffer | test.go:61:20:61:25 | buffer | provenance | | | test.go:60:2:60:5 | file | test.go:59:2:59:7 | definition of buffer | provenance | MaD:15 | +| test.go:60:2:60:5 | file | test.go:59:2:59:7 | definition of buffer | provenance | MaD:17 | | test.go:66:2:66:31 | ... := ...[0] | test.go:67:16:67:41 | index expression | provenance | Src:MaD:12 | | test.go:72:2:72:31 | ... := ...[0] | test.go:74:13:74:22 | fileHeader | provenance | Src:MaD:12 | | test.go:74:2:74:29 | ... := ...[0] | test.go:76:2:76:5 | file | provenance | | | test.go:74:13:74:22 | fileHeader | test.go:74:2:74:29 | ... := ...[0] | provenance | MaD:16 | | test.go:75:2:75:7 | definition of buffer | test.go:77:20:77:25 | buffer | provenance | | | test.go:76:2:76:5 | file | test.go:75:2:75:7 | definition of buffer | provenance | MaD:15 | +| test.go:76:2:76:5 | file | test.go:75:2:75:7 | definition of buffer | provenance | MaD:17 | | test.go:82:2:82:32 | ... := ...[0] | test.go:83:16:83:24 | selection of Value | provenance | Src:MaD:13 | | test.go:88:13:88:25 | call to Cookies | test.go:89:16:89:31 | selection of Value | provenance | Src:MaD:14 | | test.go:99:11:99:15 | &... | test.go:100:16:100:21 | selection of s | provenance | Src:MaD:3 | @@ -49,7 +51,7 @@ edges | test.go:136:11:136:32 | call to Param | test.go:137:29:137:41 | type conversion | provenance | Src:MaD:4 | | test.go:148:11:148:32 | call to Param | test.go:149:30:149:34 | param | provenance | Src:MaD:4 | | test.go:149:12:149:35 | call to NewReader | test.go:150:31:150:36 | reader | provenance | | -| test.go:149:30:149:34 | param | test.go:149:12:149:35 | call to NewReader | provenance | MaD:17 | +| test.go:149:30:149:34 | param | test.go:149:12:149:35 | call to NewReader | provenance | MaD:18 | | test.go:164:11:164:32 | call to Param | test.go:165:23:165:35 | type conversion | provenance | Src:MaD:4 | models | 1 | Summary: github.com/labstack/echo; Context; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | @@ -68,7 +70,8 @@ models | 14 | Source: github.com/labstack/echo; Context; true; Cookies; ; ; ReturnValue[0]; remote; manual | | 15 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | | 16 | Summary: mime/multipart; FileHeader; true; Open; ; ; Argument[receiver]; ReturnValue[0]; taint; manual | -| 17 | Summary: strings; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 17 | Summary: os; File; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | +| 18 | Summary: strings; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | nodes | test.go:15:11:15:32 | call to Param | semmle.label | call to Param | | test.go:16:16:16:20 | param | semmle.label | param | diff --git a/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected b/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected index 69fd752e1e2..dc54af70dbb 100644 --- a/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected +++ b/go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.expected @@ -1,19 +1,30 @@ +#select +| tests.go:9:8:9:8 | f | tests.go:31:5:31:78 | ... := ...[0] | tests.go:9:8:9:8 | f | File handle may be writable as a result of data flow from a $@ and closing it may result in data loss upon failure, which is not handled explicitly. | tests.go:31:15:31:78 | call to OpenFile | call to OpenFile | +| tests.go:9:8:9:8 | f | tests.go:45:5:45:76 | ... := ...[0] | tests.go:9:8:9:8 | f | File handle may be writable as a result of data flow from a $@ and closing it may result in data loss upon failure, which is not handled explicitly. | tests.go:45:15:45:76 | call to OpenFile | call to OpenFile | +| tests.go:14:3:14:3 | f | tests.go:31:5:31:78 | ... := ...[0] | tests.go:14:3:14:3 | f | File handle may be writable as a result of data flow from a $@ and closing it may result in data loss upon failure, which is not handled explicitly. | tests.go:31:15:31:78 | call to OpenFile | call to OpenFile | +| tests.go:14:3:14:3 | f | tests.go:45:5:45:76 | ... := ...[0] | tests.go:14:3:14:3 | f | File handle may be writable as a result of data flow from a $@ and closing it may result in data loss upon failure, which is not handled explicitly. | tests.go:45:15:45:76 | call to OpenFile | call to OpenFile | +| tests.go:56:3:56:3 | f | tests.go:54:5:54:78 | ... := ...[0] | tests.go:56:3:56:3 | f | File handle may be writable as a result of data flow from a $@ and closing it may result in data loss upon failure, which is not handled explicitly. | tests.go:54:15:54:78 | call to OpenFile | call to OpenFile | +| tests.go:68:3:68:3 | f | tests.go:66:5:66:76 | ... := ...[0] | tests.go:68:3:68:3 | f | File handle may be writable as a result of data flow from a $@ and closing it may result in data loss upon failure, which is not handled explicitly. | tests.go:66:15:66:76 | call to OpenFile | call to OpenFile | +| tests.go:110:9:110:9 | f | tests.go:108:5:108:78 | ... := ...[0] | tests.go:110:9:110:9 | f | File handle may be writable as a result of data flow from a $@ and closing it may result in data loss upon failure, which is not handled explicitly. | tests.go:108:15:108:78 | call to OpenFile | call to OpenFile | +| tests.go:129:3:129:3 | f | tests.go:125:5:125:78 | ... := ...[0] | tests.go:129:3:129:3 | f | File handle may be writable as a result of data flow from a $@ and closing it may result in data loss upon failure, which is not handled explicitly. | tests.go:125:15:125:78 | call to OpenFile | call to OpenFile | edges | tests.go:8:24:8:24 | definition of f | tests.go:9:8:9:8 | f | provenance | | | tests.go:12:32:12:32 | definition of f | tests.go:13:13:13:13 | capture variable f | provenance | | | tests.go:13:13:13:13 | capture variable f | tests.go:14:3:14:3 | f | provenance | | -| tests.go:31:5:31:78 | ... := ...[0] | tests.go:32:21:32:21 | f | provenance | Src:MaD:1398 | -| tests.go:31:5:31:78 | ... := ...[0] | tests.go:33:29:33:29 | f | provenance | Src:MaD:1398 | +| tests.go:31:5:31:78 | ... := ...[0] | tests.go:32:21:32:21 | f | provenance | Src:MaD:1 | +| tests.go:31:5:31:78 | ... := ...[0] | tests.go:33:29:33:29 | f | provenance | Src:MaD:1 | | tests.go:32:21:32:21 | f | tests.go:8:24:8:24 | definition of f | provenance | | | tests.go:33:29:33:29 | f | tests.go:12:32:12:32 | definition of f | provenance | | -| tests.go:45:5:45:76 | ... := ...[0] | tests.go:46:21:46:21 | f | provenance | Src:MaD:1398 | -| tests.go:45:5:45:76 | ... := ...[0] | tests.go:47:29:47:29 | f | provenance | Src:MaD:1398 | +| tests.go:45:5:45:76 | ... := ...[0] | tests.go:46:21:46:21 | f | provenance | Src:MaD:1 | +| tests.go:45:5:45:76 | ... := ...[0] | tests.go:47:29:47:29 | f | provenance | Src:MaD:1 | | tests.go:46:21:46:21 | f | tests.go:8:24:8:24 | definition of f | provenance | | | tests.go:47:29:47:29 | f | tests.go:12:32:12:32 | definition of f | provenance | | -| tests.go:54:5:54:78 | ... := ...[0] | tests.go:56:3:56:3 | f | provenance | Src:MaD:1398 | -| tests.go:66:5:66:76 | ... := ...[0] | tests.go:68:3:68:3 | f | provenance | Src:MaD:1398 | -| tests.go:108:5:108:78 | ... := ...[0] | tests.go:110:9:110:9 | f | provenance | Src:MaD:1398 | -| tests.go:125:5:125:78 | ... := ...[0] | tests.go:129:3:129:3 | f | provenance | Src:MaD:1398 | +| tests.go:54:5:54:78 | ... := ...[0] | tests.go:56:3:56:3 | f | provenance | Src:MaD:1 | +| tests.go:66:5:66:76 | ... := ...[0] | tests.go:68:3:68:3 | f | provenance | Src:MaD:1 | +| tests.go:108:5:108:78 | ... := ...[0] | tests.go:110:9:110:9 | f | provenance | Src:MaD:1 | +| tests.go:125:5:125:78 | ... := ...[0] | tests.go:129:3:129:3 | f | provenance | Src:MaD:1 | +models +| 1 | Source: os; ; false; OpenFile; ; ; ReturnValue[0]; file; manual | nodes | tests.go:8:24:8:24 | definition of f | semmle.label | definition of f | | tests.go:9:8:9:8 | f | semmle.label | f | @@ -35,12 +46,3 @@ nodes | tests.go:125:5:125:78 | ... := ...[0] | semmle.label | ... := ...[0] | | tests.go:129:3:129:3 | f | semmle.label | f | subpaths -#select -| tests.go:9:8:9:8 | f | tests.go:31:5:31:78 | ... := ...[0] | tests.go:9:8:9:8 | f | File handle may be writable as a result of data flow from a $@ and closing it may result in data loss upon failure, which is not handled explicitly. | tests.go:31:15:31:78 | call to OpenFile | call to OpenFile | -| tests.go:9:8:9:8 | f | tests.go:45:5:45:76 | ... := ...[0] | tests.go:9:8:9:8 | f | File handle may be writable as a result of data flow from a $@ and closing it may result in data loss upon failure, which is not handled explicitly. | tests.go:45:15:45:76 | call to OpenFile | call to OpenFile | -| tests.go:14:3:14:3 | f | tests.go:31:5:31:78 | ... := ...[0] | tests.go:14:3:14:3 | f | File handle may be writable as a result of data flow from a $@ and closing it may result in data loss upon failure, which is not handled explicitly. | tests.go:31:15:31:78 | call to OpenFile | call to OpenFile | -| tests.go:14:3:14:3 | f | tests.go:45:5:45:76 | ... := ...[0] | tests.go:14:3:14:3 | f | File handle may be writable as a result of data flow from a $@ and closing it may result in data loss upon failure, which is not handled explicitly. | tests.go:45:15:45:76 | call to OpenFile | call to OpenFile | -| tests.go:56:3:56:3 | f | tests.go:54:5:54:78 | ... := ...[0] | tests.go:56:3:56:3 | f | File handle may be writable as a result of data flow from a $@ and closing it may result in data loss upon failure, which is not handled explicitly. | tests.go:54:15:54:78 | call to OpenFile | call to OpenFile | -| tests.go:68:3:68:3 | f | tests.go:66:5:66:76 | ... := ...[0] | tests.go:68:3:68:3 | f | File handle may be writable as a result of data flow from a $@ and closing it may result in data loss upon failure, which is not handled explicitly. | tests.go:66:15:66:76 | call to OpenFile | call to OpenFile | -| tests.go:110:9:110:9 | f | tests.go:108:5:108:78 | ... := ...[0] | tests.go:110:9:110:9 | f | File handle may be writable as a result of data flow from a $@ and closing it may result in data loss upon failure, which is not handled explicitly. | tests.go:108:15:108:78 | call to OpenFile | call to OpenFile | -| tests.go:129:3:129:3 | f | tests.go:125:5:125:78 | ... := ...[0] | tests.go:129:3:129:3 | f | File handle may be writable as a result of data flow from a $@ and closing it may result in data loss upon failure, which is not handled explicitly. | tests.go:125:15:125:78 | call to OpenFile | call to OpenFile | From e3ffbbe3b7d645cf48b2a19c613f50a8c16b0aeb Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 19 Aug 2024 19:02:07 -0400 Subject: [PATCH 111/258] Fix extensible name in io/fs models --- go/ql/lib/ext/io.fs.model.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/ql/lib/ext/io.fs.model.yml b/go/ql/lib/ext/io.fs.model.yml index 98f0d50a906..ac709c939b6 100644 --- a/go/ql/lib/ext/io.fs.model.yml +++ b/go/ql/lib/ext/io.fs.model.yml @@ -18,7 +18,7 @@ extensions: - ["io/fs", "SubFS", True, "Sub", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - addsTo: pack: codeql/go-all - extensible: summaryModel + extensible: sourceModel data: - ["io/fs", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] - ["io/fs", "ReadFileFS", True, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] From bb1cf4f51f9bbc5f9808f2e086e84789c7e44f92 Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 19 Aug 2024 20:14:23 -0400 Subject: [PATCH 112/258] Fix tests --- .../DefaultSanitizer.expected | 22 +++++++++++-------- .../go/frameworks/Echo/ReflectedXss.expected | 21 ++++++++++-------- .../CWE-190/AllocationSizeOverflow.qlref | 3 ++- 3 files changed, 27 insertions(+), 19 deletions(-) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/DefaultTaintSanitizer/DefaultSanitizer.expected b/go/ql/test/library-tests/semmle/go/dataflow/DefaultTaintSanitizer/DefaultSanitizer.expected index 14abf5e8542..2bc14e8d62e 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/DefaultTaintSanitizer/DefaultSanitizer.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/DefaultTaintSanitizer/DefaultSanitizer.expected @@ -1,17 +1,21 @@ models -| 1 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | -| 2 | Source: net/http; Request; true; Body; ; ; ; remote; manual | -| 3 | Summary: os; File; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | +| 1 | Summary: io/fs; File; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | +| 2 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | +| 3 | Source: net/http; Request; true; Body; ; ; ; remote; manual | +| 4 | Summary: os; File; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | edges | Builtin.go:6:2:6:2 | definition of b | Builtin.go:8:9:8:17 | type conversion | provenance | | -| Builtin.go:7:2:7:15 | selection of Body | Builtin.go:6:2:6:2 | definition of b | provenance | Src:MaD:2 MaD:1 | -| Builtin.go:7:2:7:15 | selection of Body | Builtin.go:6:2:6:2 | definition of b | provenance | Src:MaD:2 MaD:3 | +| Builtin.go:7:2:7:15 | selection of Body | Builtin.go:6:2:6:2 | definition of b | provenance | Src:MaD:3 MaD:1 | +| Builtin.go:7:2:7:15 | selection of Body | Builtin.go:6:2:6:2 | definition of b | provenance | Src:MaD:3 MaD:2 | +| Builtin.go:7:2:7:15 | selection of Body | Builtin.go:6:2:6:2 | definition of b | provenance | Src:MaD:3 MaD:4 | | Builtin.go:12:2:12:2 | definition of b | Builtin.go:17:9:17:17 | type conversion | provenance | | -| Builtin.go:13:2:13:15 | selection of Body | Builtin.go:12:2:12:2 | definition of b | provenance | Src:MaD:2 MaD:1 | -| Builtin.go:13:2:13:15 | selection of Body | Builtin.go:12:2:12:2 | definition of b | provenance | Src:MaD:2 MaD:3 | +| Builtin.go:13:2:13:15 | selection of Body | Builtin.go:12:2:12:2 | definition of b | provenance | Src:MaD:3 MaD:1 | +| Builtin.go:13:2:13:15 | selection of Body | Builtin.go:12:2:12:2 | definition of b | provenance | Src:MaD:3 MaD:2 | +| Builtin.go:13:2:13:15 | selection of Body | Builtin.go:12:2:12:2 | definition of b | provenance | Src:MaD:3 MaD:4 | | Builtin.go:21:2:21:2 | definition of b | Builtin.go:24:10:24:18 | type conversion | provenance | | -| Builtin.go:22:2:22:15 | selection of Body | Builtin.go:21:2:21:2 | definition of b | provenance | Src:MaD:2 MaD:1 | -| Builtin.go:22:2:22:15 | selection of Body | Builtin.go:21:2:21:2 | definition of b | provenance | Src:MaD:2 MaD:3 | +| Builtin.go:22:2:22:15 | selection of Body | Builtin.go:21:2:21:2 | definition of b | provenance | Src:MaD:3 MaD:1 | +| Builtin.go:22:2:22:15 | selection of Body | Builtin.go:21:2:21:2 | definition of b | provenance | Src:MaD:3 MaD:2 | +| Builtin.go:22:2:22:15 | selection of Body | Builtin.go:21:2:21:2 | definition of b | provenance | Src:MaD:3 MaD:4 | nodes | Builtin.go:6:2:6:2 | definition of b | semmle.label | definition of b | | Builtin.go:7:2:7:15 | selection of Body | semmle.label | selection of Body | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected index a4b8f3ed700..ea320848ca5 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Echo/ReflectedXss.expected @@ -28,17 +28,19 @@ edges | test.go:51:2:51:30 | ... := ...[0] | test.go:52:16:52:37 | index expression | provenance | Src:MaD:10 | | test.go:57:2:57:46 | ... := ...[0] | test.go:58:13:58:22 | fileHeader | provenance | Src:MaD:11 | | test.go:58:2:58:29 | ... := ...[0] | test.go:60:2:60:5 | file | provenance | | -| test.go:58:13:58:22 | fileHeader | test.go:58:2:58:29 | ... := ...[0] | provenance | MaD:16 | +| test.go:58:13:58:22 | fileHeader | test.go:58:2:58:29 | ... := ...[0] | provenance | MaD:17 | | test.go:59:2:59:7 | definition of buffer | test.go:61:20:61:25 | buffer | provenance | | | test.go:60:2:60:5 | file | test.go:59:2:59:7 | definition of buffer | provenance | MaD:15 | -| test.go:60:2:60:5 | file | test.go:59:2:59:7 | definition of buffer | provenance | MaD:17 | +| test.go:60:2:60:5 | file | test.go:59:2:59:7 | definition of buffer | provenance | MaD:16 | +| test.go:60:2:60:5 | file | test.go:59:2:59:7 | definition of buffer | provenance | MaD:18 | | test.go:66:2:66:31 | ... := ...[0] | test.go:67:16:67:41 | index expression | provenance | Src:MaD:12 | | test.go:72:2:72:31 | ... := ...[0] | test.go:74:13:74:22 | fileHeader | provenance | Src:MaD:12 | | test.go:74:2:74:29 | ... := ...[0] | test.go:76:2:76:5 | file | provenance | | -| test.go:74:13:74:22 | fileHeader | test.go:74:2:74:29 | ... := ...[0] | provenance | MaD:16 | +| test.go:74:13:74:22 | fileHeader | test.go:74:2:74:29 | ... := ...[0] | provenance | MaD:17 | | test.go:75:2:75:7 | definition of buffer | test.go:77:20:77:25 | buffer | provenance | | | test.go:76:2:76:5 | file | test.go:75:2:75:7 | definition of buffer | provenance | MaD:15 | -| test.go:76:2:76:5 | file | test.go:75:2:75:7 | definition of buffer | provenance | MaD:17 | +| test.go:76:2:76:5 | file | test.go:75:2:75:7 | definition of buffer | provenance | MaD:16 | +| test.go:76:2:76:5 | file | test.go:75:2:75:7 | definition of buffer | provenance | MaD:18 | | test.go:82:2:82:32 | ... := ...[0] | test.go:83:16:83:24 | selection of Value | provenance | Src:MaD:13 | | test.go:88:13:88:25 | call to Cookies | test.go:89:16:89:31 | selection of Value | provenance | Src:MaD:14 | | test.go:99:11:99:15 | &... | test.go:100:16:100:21 | selection of s | provenance | Src:MaD:3 | @@ -51,7 +53,7 @@ edges | test.go:136:11:136:32 | call to Param | test.go:137:29:137:41 | type conversion | provenance | Src:MaD:4 | | test.go:148:11:148:32 | call to Param | test.go:149:30:149:34 | param | provenance | Src:MaD:4 | | test.go:149:12:149:35 | call to NewReader | test.go:150:31:150:36 | reader | provenance | | -| test.go:149:30:149:34 | param | test.go:149:12:149:35 | call to NewReader | provenance | MaD:18 | +| test.go:149:30:149:34 | param | test.go:149:12:149:35 | call to NewReader | provenance | MaD:19 | | test.go:164:11:164:32 | call to Param | test.go:165:23:165:35 | type conversion | provenance | Src:MaD:4 | models | 1 | Summary: github.com/labstack/echo; Context; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual | @@ -68,10 +70,11 @@ models | 12 | Source: github.com/labstack/echo; Context; true; MultipartForm; ; ; ReturnValue[0]; remote; manual | | 13 | Source: github.com/labstack/echo; Context; true; Cookie; ; ; ReturnValue[0]; remote; manual | | 14 | Source: github.com/labstack/echo; Context; true; Cookies; ; ; ReturnValue[0]; remote; manual | -| 15 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | -| 16 | Summary: mime/multipart; FileHeader; true; Open; ; ; Argument[receiver]; ReturnValue[0]; taint; manual | -| 17 | Summary: os; File; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | -| 18 | Summary: strings; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | +| 15 | Summary: io/fs; File; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | +| 16 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | +| 17 | Summary: mime/multipart; FileHeader; true; Open; ; ; Argument[receiver]; ReturnValue[0]; taint; manual | +| 18 | Summary: os; File; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual | +| 19 | Summary: strings; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual | nodes | test.go:15:11:15:32 | call to Param | semmle.label | call to Param | | test.go:16:16:16:20 | param | semmle.label | param | diff --git a/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.qlref b/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.qlref index 3f69c90d756..35320510b62 100644 --- a/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.qlref +++ b/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.qlref @@ -1 +1,2 @@ -Security/CWE-190/AllocationSizeOverflow.ql +query: Security/CWE-190/AllocationSizeOverflow.ql +postprocess: TestUtilities/PrettyPrintModels.ql From 0361b5c342a5cd35811b23c788214646eacdb1b5 Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 19 Aug 2024 22:31:29 -0400 Subject: [PATCH 113/258] Fix AllocationSizeOverflow expectations --- .../CWE-190/AllocationSizeOverflow.expected | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected b/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected index b7a2499b9da..3a9de1ebe60 100644 --- a/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected +++ b/go/ql/test/query-tests/Security/CWE-190/AllocationSizeOverflow.expected @@ -1,7 +1,18 @@ +#select +| AllocationSizeOverflow.go:10:10:10:22 | call to len | AllocationSizeOverflow.go:6:2:6:33 | ... := ...[0] | AllocationSizeOverflow.go:10:10:10:22 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | AllocationSizeOverflow.go:11:25:11:28 | size | allocation | AllocationSizeOverflow.go:6:2:6:33 | ... := ...[0] | potentially large value | +| tst2.go:10:22:10:30 | call to len | tst2.go:9:2:9:37 | ... := ...[0] | tst2.go:10:22:10:30 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst2.go:10:22:10:32 | ...+... | allocation | tst2.go:9:2:9:37 | ... := ...[0] | potentially large value | +| tst2.go:15:22:15:30 | call to len | tst2.go:14:2:14:29 | ... := ...[0] | tst2.go:15:22:15:30 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst2.go:15:22:15:32 | ...+... | allocation | tst2.go:14:2:14:29 | ... := ...[0] | potentially large value | +| tst3.go:7:22:7:34 | call to len | tst3.go:6:2:6:31 | ... := ...[0] | tst3.go:7:22:7:34 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst3.go:7:22:7:36 | ...+... | allocation | tst3.go:6:2:6:31 | ... := ...[0] | potentially large value | +| tst3.go:24:16:24:28 | call to len | tst3.go:6:2:6:31 | ... := ...[0] | tst3.go:24:16:24:28 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst3.go:27:24:27:32 | newlength | allocation | tst3.go:6:2:6:31 | ... := ...[0] | potentially large value | +| tst3.go:32:16:32:28 | call to len | tst3.go:6:2:6:31 | ... := ...[0] | tst3.go:32:16:32:28 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst3.go:36:23:36:31 | newlength | allocation | tst3.go:6:2:6:31 | ... := ...[0] | potentially large value | +| tst.go:15:22:15:34 | call to len | tst.go:14:2:14:30 | ... = ...[0] | tst.go:15:22:15:34 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst.go:15:22:15:36 | ...+... | allocation | tst.go:14:2:14:30 | ... = ...[0] | potentially large value | +| tst.go:21:22:21:34 | call to len | tst.go:20:2:20:31 | ... = ...[0] | tst.go:21:22:21:34 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst.go:21:22:21:36 | ...+... | allocation | tst.go:20:2:20:31 | ... = ...[0] | potentially large value | +| tst.go:27:26:27:38 | call to len | tst.go:26:2:26:31 | ... = ...[0] | tst.go:27:26:27:38 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst.go:27:26:27:40 | ...+... | allocation | tst.go:26:2:26:31 | ... = ...[0] | potentially large value | +| tst.go:35:22:35:34 | call to len | tst.go:34:2:34:30 | ... = ...[0] | tst.go:35:22:35:34 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst.go:35:22:35:36 | ...+... | allocation | tst.go:34:2:34:30 | ... = ...[0] | potentially large value | edges | AllocationSizeOverflow.go:6:2:6:33 | ... := ...[0] | AllocationSizeOverflow.go:10:14:10:21 | jsonData | provenance | | | AllocationSizeOverflow.go:10:14:10:21 | jsonData | AllocationSizeOverflow.go:10:10:10:22 | call to len | provenance | Config | -| tst2.go:9:2:9:37 | ... := ...[0] | tst2.go:10:26:10:29 | data | provenance | | +| tst2.go:9:2:9:37 | ... := ...[0] | tst2.go:10:26:10:29 | data | provenance | Src:MaD:1 | | tst2.go:10:26:10:29 | data | tst2.go:10:22:10:30 | call to len | provenance | Config | | tst2.go:14:2:14:29 | ... := ...[0] | tst2.go:15:26:15:29 | data | provenance | | | tst2.go:15:26:15:29 | data | tst2.go:15:22:15:30 | call to len | provenance | Config | @@ -19,6 +30,8 @@ edges | tst.go:27:30:27:37 | jsonData | tst.go:27:26:27:38 | call to len | provenance | Config | | tst.go:34:2:34:30 | ... = ...[0] | tst.go:35:26:35:33 | jsonData | provenance | | | tst.go:35:26:35:33 | jsonData | tst.go:35:22:35:34 | call to len | provenance | Config | +models +| 1 | Source: io/ioutil; ; false; ReadFile; ; ; ReturnValue[0]; file; manual | nodes | AllocationSizeOverflow.go:6:2:6:33 | ... := ...[0] | semmle.label | ... := ...[0] | | AllocationSizeOverflow.go:10:10:10:22 | call to len | semmle.label | call to len | @@ -49,14 +62,3 @@ nodes | tst.go:35:22:35:34 | call to len | semmle.label | call to len | | tst.go:35:26:35:33 | jsonData | semmle.label | jsonData | subpaths -#select -| AllocationSizeOverflow.go:10:10:10:22 | call to len | AllocationSizeOverflow.go:6:2:6:33 | ... := ...[0] | AllocationSizeOverflow.go:10:10:10:22 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | AllocationSizeOverflow.go:11:25:11:28 | size | allocation | AllocationSizeOverflow.go:6:2:6:33 | ... := ...[0] | potentially large value | -| tst2.go:10:22:10:30 | call to len | tst2.go:9:2:9:37 | ... := ...[0] | tst2.go:10:22:10:30 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst2.go:10:22:10:32 | ...+... | allocation | tst2.go:9:2:9:37 | ... := ...[0] | potentially large value | -| tst2.go:15:22:15:30 | call to len | tst2.go:14:2:14:29 | ... := ...[0] | tst2.go:15:22:15:30 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst2.go:15:22:15:32 | ...+... | allocation | tst2.go:14:2:14:29 | ... := ...[0] | potentially large value | -| tst3.go:7:22:7:34 | call to len | tst3.go:6:2:6:31 | ... := ...[0] | tst3.go:7:22:7:34 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst3.go:7:22:7:36 | ...+... | allocation | tst3.go:6:2:6:31 | ... := ...[0] | potentially large value | -| tst3.go:24:16:24:28 | call to len | tst3.go:6:2:6:31 | ... := ...[0] | tst3.go:24:16:24:28 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst3.go:27:24:27:32 | newlength | allocation | tst3.go:6:2:6:31 | ... := ...[0] | potentially large value | -| tst3.go:32:16:32:28 | call to len | tst3.go:6:2:6:31 | ... := ...[0] | tst3.go:32:16:32:28 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst3.go:36:23:36:31 | newlength | allocation | tst3.go:6:2:6:31 | ... := ...[0] | potentially large value | -| tst.go:15:22:15:34 | call to len | tst.go:14:2:14:30 | ... = ...[0] | tst.go:15:22:15:34 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst.go:15:22:15:36 | ...+... | allocation | tst.go:14:2:14:30 | ... = ...[0] | potentially large value | -| tst.go:21:22:21:34 | call to len | tst.go:20:2:20:31 | ... = ...[0] | tst.go:21:22:21:34 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst.go:21:22:21:36 | ...+... | allocation | tst.go:20:2:20:31 | ... = ...[0] | potentially large value | -| tst.go:27:26:27:38 | call to len | tst.go:26:2:26:31 | ... = ...[0] | tst.go:27:26:27:38 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst.go:27:26:27:40 | ...+... | allocation | tst.go:26:2:26:31 | ... = ...[0] | potentially large value | -| tst.go:35:22:35:34 | call to len | tst.go:34:2:34:30 | ... = ...[0] | tst.go:35:22:35:34 | call to len | This operation, which is used in an $@, involves a $@ and might overflow. | tst.go:35:22:35:36 | ...+... | allocation | tst.go:34:2:34:30 | ... = ...[0] | potentially large value | From 4afdb0927e9e74149977a457734c6aa1a6fb2e2e Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Tue, 20 Aug 2024 10:07:36 +0200 Subject: [PATCH 114/258] Dataflow: Remove src/sink grouping feature. --- .../cpp/dataflow/internal/DataFlowImpl1.qll | 8 -- shared/dataflow/codeql/dataflow/DataFlow.qll | 12 --- .../codeql/dataflow/internal/DataFlowImpl.qll | 89 ++++--------------- 3 files changed, 15 insertions(+), 94 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl1.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl1.qll index c3ba9fb0014..3b1439511d1 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl1.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl1.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/shared/dataflow/codeql/dataflow/DataFlow.qll b/shared/dataflow/codeql/dataflow/DataFlow.qll index 461b19c93ad..7841c72811b 100644 --- a/shared/dataflow/codeql/dataflow/DataFlow.qll +++ b/shared/dataflow/codeql/dataflow/DataFlow.qll @@ -424,12 +424,6 @@ module Configs Lang> { */ default FlowFeature getAFeature() { none() } - /** Holds if sources should be grouped in the result of `flowPath`. */ - default predicate sourceGrouping(Node source, string sourceGroup) { none() } - - /** Holds if sinks should be grouped in the result of `flowPath`. */ - default predicate sinkGrouping(Node sink, string sinkGroup) { none() } - /** * Holds if hidden nodes should be included in the data flow graph. * @@ -546,12 +540,6 @@ module Configs Lang> { */ default FlowFeature getAFeature() { none() } - /** Holds if sources should be grouped in the result of `flowPath`. */ - default predicate sourceGrouping(Node source, string sourceGroup) { none() } - - /** Holds if sinks should be grouped in the result of `flowPath`. */ - default predicate sinkGrouping(Node sink, string sinkGroup) { none() } - /** * Holds if hidden nodes should be included in the data flow graph. * diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 82df5bd567b..6425574581e 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -117,12 +117,6 @@ module MakeImpl Lang> { */ FlowFeature getAFeature(); - /** Holds if sources should be grouped in the result of `flowPath`. */ - predicate sourceGrouping(Node source, string sourceGroup); - - /** Holds if sinks should be grouped in the result of `flowPath`. */ - predicate sinkGrouping(Node sink, string sinkGroup); - /** * Holds if hidden nodes should be included in the data flow graph. * @@ -3934,12 +3928,6 @@ module MakeImpl Lang> { node = sink.getNodeEx() and state = sink.getState() ) - } or - TPathNodeSourceGroup(string sourceGroup) { - exists(PathNodeImpl source | sourceGroup = source.getSourceGroup()) - } or - TPathNodeSinkGroup(string sinkGroup) { - exists(PathNodeSink sink | sinkGroup = sink.getSinkGroup()) } /** @@ -4153,21 +4141,9 @@ module MakeImpl Lang> { ) } - string getSourceGroup() { - this.isSource(_) and - Config::sourceGrouping(this.getNodeEx().asNode(), result) - } + predicate isFlowSource() { this.isSource(_) } - predicate isFlowSource() { - this.isSource(_) and not exists(this.getSourceGroup()) - or - this instanceof PathNodeSourceGroup - } - - predicate isFlowSink() { - this = any(PathNodeSink sink | not exists(sink.getSinkGroup())) or - this instanceof PathNodeSinkGroup - } + predicate isFlowSink() { this instanceof PathNodeSink } private string ppType() { this instanceof PathNodeSink and result = "" @@ -4217,7 +4193,6 @@ module MakeImpl Lang> { /** Holds if `n` can reach a sink. */ private predicate directReach(PathNodeImpl n) { n instanceof PathNodeSink or - n instanceof PathNodeSinkGroup or directReach(n.getANonHiddenSuccessor(_)) } @@ -4284,11 +4259,19 @@ module MakeImpl Lang> { /** Holds if this node is a source. */ final predicate isSource() { super.isSource(_) } - /** Holds if this node is a grouping of source nodes. */ - final predicate isSourceGroup(string group) { this = TPathNodeSourceGroup(group) } + /** + * DEPRECATED: This functionality is no longer available. + * + * Holds if this node is a grouping of source nodes. + */ + deprecated final predicate isSourceGroup(string group) { none() } - /** Holds if this node is a grouping of sink nodes. */ - final predicate isSinkGroup(string group) { this = TPathNodeSinkGroup(group) } + /** + * DEPRECATED: This functionality is no longer available. + * + * Holds if this node is a grouping of sink nodes. + */ + deprecated final predicate isSinkGroup(string group) { none() } } /** @@ -4436,53 +4419,11 @@ module MakeImpl Lang> { override FlowState getState() { result = state } - override PathNodeImpl getASuccessorImpl(string label) { - result = TPathNodeSinkGroup(this.getSinkGroup()) and label = "" - } + override PathNodeImpl getASuccessorImpl(string label) { none() } override predicate isSource(string model) { sourceNode(node, state) and sourceModel(node, model) } - - string getSinkGroup() { Config::sinkGrouping(node.asNode(), result) } - } - - private class PathNodeSourceGroup extends PathNodeImpl, TPathNodeSourceGroup { - string sourceGroup; - - PathNodeSourceGroup() { this = TPathNodeSourceGroup(sourceGroup) } - - override NodeEx getNodeEx() { none() } - - override FlowState getState() { none() } - - override PathNodeImpl getASuccessorImpl(string label) { - result.getSourceGroup() = sourceGroup and label = "" - } - - override predicate isSource(string model) { none() } - - override string toString() { result = sourceGroup } - - override Location getLocation() { result.hasLocationInfo("", 0, 0, 0, 0) } - } - - private class PathNodeSinkGroup extends PathNodeImpl, TPathNodeSinkGroup { - string sinkGroup; - - PathNodeSinkGroup() { this = TPathNodeSinkGroup(sinkGroup) } - - override NodeEx getNodeEx() { none() } - - override FlowState getState() { none() } - - override PathNodeImpl getASuccessorImpl(string label) { none() } - - override predicate isSource(string model) { none() } - - override string toString() { result = sinkGroup } - - override Location getLocation() { result.hasLocationInfo("", 0, 0, 0, 0) } } private predicate pathNode( From 8470e91c168732e620d89f7c34b29761033db080 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Tue, 20 Aug 2024 10:07:57 +0200 Subject: [PATCH 115/258] Legacy Dataflow: Sync. --- .../semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll | 8 -------- .../semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll | 8 -------- .../semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll | 8 -------- .../code/cpp/dataflow/internal/DataFlowImplLocal.qll | 8 -------- .../code/cpp/ir/dataflow/internal/DataFlowImpl1.qll | 8 -------- .../code/cpp/ir/dataflow/internal/DataFlowImpl2.qll | 8 -------- .../code/cpp/ir/dataflow/internal/DataFlowImpl3.qll | 8 -------- .../code/cpp/ir/dataflow/internal/DataFlowImpl4.qll | 8 -------- .../code/csharp/dataflow/internal/DataFlowImpl1.qll | 8 -------- .../code/csharp/dataflow/internal/DataFlowImpl2.qll | 8 -------- .../code/csharp/dataflow/internal/DataFlowImpl3.qll | 8 -------- .../code/csharp/dataflow/internal/DataFlowImpl4.qll | 8 -------- .../code/csharp/dataflow/internal/DataFlowImpl5.qll | 8 -------- go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl1.qll | 8 -------- go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl2.qll | 8 -------- .../semmle/code/java/dataflow/internal/DataFlowImpl1.qll | 8 -------- .../semmle/code/java/dataflow/internal/DataFlowImpl2.qll | 8 -------- .../semmle/code/java/dataflow/internal/DataFlowImpl3.qll | 8 -------- .../semmle/code/java/dataflow/internal/DataFlowImpl4.qll | 8 -------- .../semmle/code/java/dataflow/internal/DataFlowImpl5.qll | 8 -------- .../semmle/code/java/dataflow/internal/DataFlowImpl6.qll | 8 -------- .../semmle/python/dataflow/new/internal/DataFlowImpl1.qll | 8 -------- .../semmle/python/dataflow/new/internal/DataFlowImpl2.qll | 8 -------- .../semmle/python/dataflow/new/internal/DataFlowImpl3.qll | 8 -------- .../semmle/python/dataflow/new/internal/DataFlowImpl4.qll | 8 -------- .../lib/codeql/ruby/dataflow/internal/DataFlowImpl1.qll | 8 -------- .../lib/codeql/ruby/dataflow/internal/DataFlowImpl2.qll | 8 -------- .../lib/codeql/swift/dataflow/internal/DataFlowImpl1.qll | 8 -------- 28 files changed, 224 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll index c3ba9fb0014..3b1439511d1 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll index c3ba9fb0014..3b1439511d1 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll index c3ba9fb0014..3b1439511d1 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll index c3ba9fb0014..3b1439511d1 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl1.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl1.qll index c3ba9fb0014..3b1439511d1 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl1.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl1.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll index c3ba9fb0014..3b1439511d1 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll index c3ba9fb0014..3b1439511d1 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll index c3ba9fb0014..3b1439511d1 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl1.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl1.qll index c3ba9fb0014..3b1439511d1 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl1.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl1.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll index c3ba9fb0014..3b1439511d1 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll index c3ba9fb0014..3b1439511d1 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll index c3ba9fb0014..3b1439511d1 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll index c3ba9fb0014..3b1439511d1 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl1.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl1.qll index c3ba9fb0014..3b1439511d1 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl1.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl1.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl2.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl2.qll index c3ba9fb0014..3b1439511d1 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl2.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl2.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl1.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl1.qll index c3ba9fb0014..3b1439511d1 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl1.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl1.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll index c3ba9fb0014..3b1439511d1 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll index c3ba9fb0014..3b1439511d1 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll index c3ba9fb0014..3b1439511d1 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll index c3ba9fb0014..3b1439511d1 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll index c3ba9fb0014..3b1439511d1 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl1.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl1.qll index c3ba9fb0014..3b1439511d1 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl1.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl1.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll index c3ba9fb0014..3b1439511d1 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll index c3ba9fb0014..3b1439511d1 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll index c3ba9fb0014..3b1439511d1 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl1.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl1.qll index c3ba9fb0014..3b1439511d1 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl1.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl1.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl2.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl2.qll index c3ba9fb0014..3b1439511d1 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl2.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImpl2.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } diff --git a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl1.qll b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl1.qll index c3ba9fb0014..3b1439511d1 100644 --- a/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl1.qll +++ b/swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl1.qll @@ -290,14 +290,6 @@ deprecated private module Config implements FullStateConfigSig { FlowFeature getAFeature() { result = any(Configuration config).getAFeature() } - predicate sourceGrouping(Node source, string sourceGroup) { - any(Configuration config).sourceGrouping(source, sourceGroup) - } - - predicate sinkGrouping(Node sink, string sinkGroup) { - any(Configuration config).sinkGrouping(sink, sinkGroup) - } - predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() } } From e73fc94354746e7ff557f6c32eef5afe308beecf Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Tue, 20 Aug 2024 10:12:01 +0200 Subject: [PATCH 116/258] Dataflow: Add change note. --- .../change-notes/2024-08-20-remove-srcsink-grouping.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 shared/dataflow/change-notes/2024-08-20-remove-srcsink-grouping.md diff --git a/shared/dataflow/change-notes/2024-08-20-remove-srcsink-grouping.md b/shared/dataflow/change-notes/2024-08-20-remove-srcsink-grouping.md new file mode 100644 index 00000000000..ba3e86b720f --- /dev/null +++ b/shared/dataflow/change-notes/2024-08-20-remove-srcsink-grouping.md @@ -0,0 +1,4 @@ +--- +category: deprecated +--- +* The source/sink grouping feature of the data flow library has been removed. It was introduced primarily for debugging, but has not proven useful. From 932c07a0f4cbb7b57b3c98449806142af26d53f3 Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Tue, 20 Aug 2024 11:46:28 +0200 Subject: [PATCH 117/258] Address review. --- .../kotlin/annotation-id-consistency/test.py | 6 +---- .../all-platforms/kotlin/enabling/test.py | 8 ++----- .../kotlin/enhanced-nullability/test.py | 8 ++++--- .../kotlin/java_modifiers/test.py | 5 ++-- .../kotlin/kotlin_file_import/test.py | 5 ++-- .../all-platforms/kotlin/logs/logs.expected | 24 +++++-------------- .../all-platforms/kotlin/logs/test.py | 10 ++++---- .../kotlin/trap_compression/test.py | 3 --- 8 files changed, 25 insertions(+), 44 deletions(-) diff --git a/java/ql/integration-tests/all-platforms/kotlin/annotation-id-consistency/test.py b/java/ql/integration-tests/all-platforms/kotlin/annotation-id-consistency/test.py index 8fca83895f3..bf4a07ce3dc 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/annotation-id-consistency/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/annotation-id-consistency/test.py @@ -1,8 +1,4 @@ -import os - - def test(codeql, java_full): - os.mkdir("out") codeql.database.create( - command=["kotlinc test.kt -d out", "javac User.java -cp out", "kotlinc ktUser.kt -cp out"] + command=["kotlinc test.kt -d out", "javac User.java -cp out -d out2", "kotlinc ktUser.kt -cp out -d out2"] ) diff --git a/java/ql/integration-tests/all-platforms/kotlin/enabling/test.py b/java/ql/integration-tests/all-platforms/kotlin/enabling/test.py index e68741228c3..ea8b619d778 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/enabling/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/enabling/test.py @@ -14,10 +14,6 @@ def build(): def test(codeql, java_full, build): - for var in [ - "CODEQL_EXTRACTOR_JAVA_AGENT_ENABLE_KOTLIN", - "CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN", - ]: - if var in os.environ: - del os.environ[var] + os.environ.pop("CODEQL_EXTRACTOR_JAVA_AGENT_ENABLE_KOTLIN", None) + os.environ.pop("CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN", None) codeql.database.create(command=build) diff --git a/java/ql/integration-tests/all-platforms/kotlin/enhanced-nullability/test.py b/java/ql/integration-tests/all-platforms/kotlin/enhanced-nullability/test.py index acf59c28ec8..e030b51db8f 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/enhanced-nullability/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/enhanced-nullability/test.py @@ -1,9 +1,11 @@ -def test(codeql, java_full, cwd): - java_srcs = [str(s) for s in cwd.glob('*.java')] +import pathlib + +def test(codeql, java_full): + java_srcs = " ".join([str(s) for s in pathlib.Path().glob("*.java")]) codeql.database.create( command=[ - f"javac {' '.join(java_srcs)} -d {cwd / 'build'}", + f"javac {java_srcs} -d build", "kotlinc -language-version 1.9 user.kt -cp build", ] ) diff --git a/java/ql/integration-tests/all-platforms/kotlin/java_modifiers/test.py b/java/ql/integration-tests/all-platforms/kotlin/java_modifiers/test.py index d6414739cab..3342dc16840 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/java_modifiers/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/java_modifiers/test.py @@ -1,10 +1,11 @@ import commands +import pathlib -def test(codeql, java_full, cwd): +def test(codeql, java_full): # Compile Java untraced. Note the Java source is hidden under `javasrc` so the Kotlin compiler # will certainly reference the jar, not the source or class file for extlib.Lib - java_srcs = (cwd / "libsrc" / "extlib").glob("*.java") + java_srcs = pathlib.Path("libsrc", "extlib").glob("*.java") commands.run(["javac", *java_srcs, "-d", "build"]) commands.run("jar cf extlib.jar -C build extlib") codeql.database.create(command="kotlinc test.kt -cp extlib.jar") diff --git a/java/ql/integration-tests/all-platforms/kotlin/kotlin_file_import/test.py b/java/ql/integration-tests/all-platforms/kotlin/kotlin_file_import/test.py index 51af4999a3c..7b78550fd0c 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/kotlin_file_import/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/kotlin_file_import/test.py @@ -1,10 +1,11 @@ import commands +import pathlib -def test(codeql, java_full, cwd): +def test(codeql, java_full): # Compile library Kotlin file untraced. Note the library is hidden under `libsrc` so the Kotlin compiler # will certainly reference the jar, not the source or class file. - commands.run(["kotlinc", *(cwd / "libsrc").glob("*.kt"), "-d", "build"]) + commands.run(["kotlinc", *pathlib.Path("libsrc").glob("*.kt"), "-d", "build"]) commands.run( ["jar", "cf", "extlib.jar", "-C", "build", "abcdefghij", "-C", "build", "META-INF"] ) diff --git a/java/ql/integration-tests/all-platforms/kotlin/logs/logs.expected b/java/ql/integration-tests/all-platforms/kotlin/logs/logs.expected index 8b50399df50..5fc4366688e 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/logs/logs.expected +++ b/java/ql/integration-tests/all-platforms/kotlin/logs/logs.expected @@ -1,18 +1,6 @@ -Test script -Log file -1 -CodeQL Kotlin extractor -INFO -Extraction started -CodeQL Kotlin extractor -INFO -Extraction for invocation TRAP file -CodeQL Kotlin extractor -INFO -Kotlin version -CodeQL Kotlin extractor -INFO -Extracting file test.kt -CodeQL Kotlin extractor -INFO -Extraction completed +Log file 1 +{"origin": "CodeQL Kotlin extractor", "kind": "INFO", "message": "Extraction started"} +{"origin": "CodeQL Kotlin extractor", "kind": "INFO", "message": "Extraction for invocation TRAP file "} +{"origin": "CodeQL Kotlin extractor", "kind": "INFO", "message": "Kotlin version "} +{"origin": "CodeQL Kotlin extractor", "kind": "INFO", "message": "Extracting file test.kt"} +{"origin": "CodeQL Kotlin extractor", "kind": "INFO", "message": "Extraction completed"} diff --git a/java/ql/integration-tests/all-platforms/kotlin/logs/test.py b/java/ql/integration-tests/all-platforms/kotlin/logs/test.py index b7948680af4..38a385f0e7d 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/logs/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/logs/test.py @@ -10,12 +10,11 @@ def test(codeql, java_full, cwd: pathlib.Path, expected_files): with open("logs.actual", "w") as f_out: log_dir = cwd / "test-db" / "log" - file_index = 0 - for log_file in log_dir.glob("kotlin-extractor*.log"): - file_index += 1 - f_out.write(f"Test script\nLog file\n{file_index}\n") + for file_index, log_file in enumerate(log_dir.glob("kotlin-extractor*.log"), 1): + f_out.write(f"Log file {file_index}\n") for line in log_file.read_text().splitlines(): j = json.loads(line) + del j["timestamp"] msg = j["message"] msg = re.sub( r"(?<=Extraction for invocation TRAP file ).*[\\/]test-db[\\/]trap[\\/]java[\\/]invocations[\\/]kotlin\..*\.trap", @@ -36,4 +35,5 @@ def test(codeql, java_full, cwd: pathlib.Path, expected_files): ): # These vary between machines etc, and aren't very interesting, so just ignore them continue - f_out.write(f"{j['origin']}\n{j['kind']}\n{msg}\n") + j["message"] = msg + print(json.dumps(j), file=f_out) diff --git a/java/ql/integration-tests/all-platforms/kotlin/trap_compression/test.py b/java/ql/integration-tests/all-platforms/kotlin/trap_compression/test.py index d793265df2e..0a4f3c926f6 100644 --- a/java/ql/integration-tests/all-platforms/kotlin/trap_compression/test.py +++ b/java/ql/integration-tests/all-platforms/kotlin/trap_compression/test.py @@ -4,9 +4,6 @@ import os def check_extensions(directory, counts): if runs_on.windows: - # It's important that the path is a Unicode path on Windows, so - # that the right system calls get used. - directory = "" + directory if not directory.startswith("\\\\?\\"): directory = "\\\\?\\" + os.path.abspath(directory) From 79bd81fa122e6a0ff2b0cae897c25eefcd863958 Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Tue, 20 Aug 2024 11:23:41 +0200 Subject: [PATCH 118/258] C#: Adjust buildless package restore folders and tests --- .../NugetPackageRestorer.cs | 13 +- .../Assemblies.expected | 470 +++++++++--------- .../Assemblies.ql | 16 +- .../standalone_winforms/Assemblies.expected | 94 ++-- .../standalone_winforms/Assemblies.ql | 10 +- .../Assemblies.expected | 332 ++++++------- .../standalone_dependencies/Assemblies.ql | 16 +- .../Assemblies.expected | 400 +++++++-------- .../Assemblies.ql | 7 +- .../Assemblies.expected | 332 ++++++------- .../Assemblies.ql | 16 +- .../Assemblies.expected | 326 ++++++------ .../Assemblies.ql | 16 +- .../Assemblies.expected | 2 +- .../Assemblies.ql | 15 +- .../Assemblies.expected | 2 +- .../Assemblies.ql | 14 +- .../Assemblies.expected | 2 +- .../Assemblies.ql | 14 +- .../Assemblies.expected | 2 +- .../Assemblies.ql | 10 +- .../Assemblies.expected | 2 +- .../Assemblies.ql | 10 +- .../Assemblies.expected | 2 +- .../Assemblies.ql | 10 +- .../Assemblies.expected | 2 +- .../Assemblies.ql | 14 +- .../Assemblies.expected | 2 +- .../Assemblies.ql | 17 +- .../Assemblies.expected | 420 ++++++++-------- .../standalone_dependencies/Assemblies.ql | 16 +- 31 files changed, 1233 insertions(+), 1371 deletions(-) diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetPackageRestorer.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetPackageRestorer.cs index ffe588f49e7..9ce61b633ba 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetPackageRestorer.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetPackageRestorer.cs @@ -44,9 +44,9 @@ namespace Semmle.Extraction.CSharp.DependencyFetching this.logger = logger; this.compilationInfoContainer = compilationInfoContainer; - PackageDirectory = new TemporaryDirectory(ComputeTempDirectoryPath(fileProvider.SourceDir.FullName, "packages"), "package", logger); - legacyPackageDirectory = new TemporaryDirectory(ComputeTempDirectoryPath(fileProvider.SourceDir.FullName, "legacypackages"), "legacy package", logger); - missingPackageDirectory = new TemporaryDirectory(ComputeTempDirectoryPath(fileProvider.SourceDir.FullName, "missingpackages"), "missing package", logger); + PackageDirectory = new TemporaryDirectory(ComputeTempDirectoryPath("packages"), "package", logger); + legacyPackageDirectory = new TemporaryDirectory(ComputeTempDirectoryPath("legacypackages"), "legacy package", logger); + missingPackageDirectory = new TemporaryDirectory(ComputeTempDirectoryPath("missingpackages"), "missing package", logger); } public string? TryRestore(string package) @@ -338,7 +338,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching } logger.LogInfo($"Found {notYetDownloadedPackages.Count} packages that are not yet restored"); - using var tempDir = new TemporaryDirectory(ComputeTempDirectoryPath(fileProvider.SourceDir.FullName, "nugetconfig"), "generated nuget config", logger); + using var tempDir = new TemporaryDirectory(ComputeTempDirectoryPath("nugetconfig"), "generated nuget config", logger); var nugetConfig = fallbackNugetFeeds is null ? GetNugetConfig() : CreateFallbackNugetConfig(fallbackNugetFeeds, tempDir.DirInfo.FullName); @@ -775,6 +775,11 @@ namespace Semmle.Extraction.CSharp.DependencyFetching /// with this source tree. Use a SHA1 of the directory name. /// /// The full path of the temp directory. + private static string ComputeTempDirectoryPath(string subfolderName) + { + return Path.Combine(FileUtils.GetTemporaryWorkingDirectory(out _), subfolderName); + } + private static string ComputeTempDirectoryPath(string srcDir, string subfolderName) { return Path.Combine(FileUtils.GetTemporaryWorkingDirectory(out _), FileUtils.ComputeHash(srcDir), subfolderName); diff --git a/csharp/ql/integration-tests/all-platforms/standalone_dependencies_net48/Assemblies.expected b/csharp/ql/integration-tests/all-platforms/standalone_dependencies_net48/Assemblies.expected index e845d165068..df67da6a52c 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone_dependencies_net48/Assemblies.expected +++ b/csharp/ql/integration-tests/all-platforms/standalone_dependencies_net48/Assemblies.expected @@ -1,235 +1,235 @@ -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Accessibility.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/CustomMarshalers.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/Microsoft.Win32.Primitives.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.AppContext.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Collections.Concurrent.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Collections.NonGeneric.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Collections.Specialized.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Collections.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ComponentModel.Annotations.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ComponentModel.EventBasedAsync.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ComponentModel.Primitives.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ComponentModel.TypeConverter.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ComponentModel.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Console.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Data.Common.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Diagnostics.Contracts.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Diagnostics.Debug.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Diagnostics.FileVersionInfo.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Diagnostics.Process.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Diagnostics.StackTrace.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Diagnostics.TextWriterTraceListener.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Diagnostics.Tools.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Diagnostics.TraceSource.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Drawing.Primitives.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Dynamic.Runtime.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Globalization.Calendars.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Globalization.Extensions.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Globalization.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.Compression.ZipFile.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.FileSystem.DriveInfo.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.FileSystem.Primitives.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.FileSystem.Watcher.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.FileSystem.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.IsolatedStorage.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.MemoryMappedFiles.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.Pipes.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.UnmanagedMemoryStream.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Linq.Expressions.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Linq.Parallel.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Linq.Queryable.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Linq.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.Http.Rtc.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.NameResolution.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.NetworkInformation.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.Ping.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.Primitives.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.Requests.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.Security.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.Sockets.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.WebHeaderCollection.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.WebSockets.Client.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.WebSockets.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ObjectModel.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Reflection.Emit.ILGeneration.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Reflection.Emit.Lightweight.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Reflection.Emit.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Reflection.Extensions.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Reflection.Primitives.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Reflection.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Resources.Reader.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Resources.ResourceManager.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Resources.Writer.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.CompilerServices.VisualC.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.Extensions.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.Handles.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.InteropServices.RuntimeInformation.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.InteropServices.WindowsRuntime.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.InteropServices.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.Numerics.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.Serialization.Formatters.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.Serialization.Json.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.Serialization.Primitives.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.Serialization.Xml.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Security.Claims.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Security.Cryptography.Algorithms.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Security.Cryptography.Csp.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Security.Cryptography.Encoding.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Security.Cryptography.Primitives.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Security.Cryptography.X509Certificates.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Security.Principal.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Security.SecureString.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ServiceModel.Duplex.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ServiceModel.Http.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ServiceModel.NetTcp.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ServiceModel.Primitives.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ServiceModel.Security.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Text.Encoding.Extensions.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Text.Encoding.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Text.RegularExpressions.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Threading.Overlapped.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Threading.Tasks.Parallel.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Threading.Tasks.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Threading.Thread.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Threading.ThreadPool.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Threading.Timer.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Threading.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ValueTuple.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Xml.ReaderWriter.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Xml.XDocument.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Xml.XPath.XDocument.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Xml.XPath.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Xml.XmlDocument.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Xml.XmlSerializer.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/netstandard.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/ISymWrapper.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.Activities.Build.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.Build.Conversion.v4.0.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.Build.Engine.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.Build.Framework.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.Build.Tasks.v4.0.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.Build.Utilities.v4.0.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.Build.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.CSharp.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.JScript.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.VisualBasic.Compatibility.Data.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.VisualBasic.Compatibility.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.VisualBasic.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.VisualC.STLCLR.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.VisualC.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationBuildTasks.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationCore.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationFramework.Aero2.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationFramework.Aero.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationFramework.AeroLite.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationFramework.Classic.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationFramework.Luna.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationFramework.Royale.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationFramework.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/ReachFramework.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Activities.Core.Presentation.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Activities.DurableInstancing.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Activities.Presentation.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Activities.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.AddIn.Contract.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.AddIn.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ComponentModel.Composition.Registration.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ComponentModel.Composition.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ComponentModel.DataAnnotations.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Configuration.Install.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Configuration.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Core.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.DataSetExtensions.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.Entity.Design.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.Entity.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.Linq.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.OracleClient.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.Services.Client.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.Services.Design.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.Services.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.SqlXml.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Deployment.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Design.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Device.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Diagnostics.Tracing.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.DirectoryServices.AccountManagement.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.DirectoryServices.Protocols.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.DirectoryServices.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Drawing.Design.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Drawing.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Dynamic.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.EnterpriseServices.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.IO.Compression.FileSystem.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.IO.Compression.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.IO.Log.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.IdentityModel.Selectors.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.IdentityModel.Services.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.IdentityModel.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Management.Instrumentation.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Management.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Messaging.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Net.Http.WebRequest.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Net.Http.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Net.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Numerics.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Printing.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Reflection.Context.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Runtime.Caching.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Runtime.DurableInstancing.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Runtime.Remoting.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Runtime.Serialization.Formatters.Soap.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Runtime.Serialization.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Security.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ServiceModel.Activation.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ServiceModel.Activities.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ServiceModel.Channels.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ServiceModel.Discovery.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ServiceModel.Routing.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ServiceModel.Web.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ServiceModel.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ServiceProcess.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Speech.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Transactions.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.Abstractions.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.ApplicationServices.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.DataVisualization.Design.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.DataVisualization.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.DynamicData.Design.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.DynamicData.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.Entity.Design.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.Entity.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.Extensions.Design.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.Extensions.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.Mobile.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.RegularExpressions.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.Routing.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.Services.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Windows.Controls.Ribbon.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Windows.Forms.DataVisualization.Design.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Windows.Forms.DataVisualization.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Windows.Forms.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Windows.Input.Manipulations.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Windows.Presentation.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Windows.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Workflow.Activities.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Workflow.ComponentModel.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Workflow.Runtime.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.WorkflowServices.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Xaml.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Xml.Linq.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Xml.Serialization.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Xml.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/UIAutomationClient.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/UIAutomationClientsideProviders.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/UIAutomationProvider.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/UIAutomationTypes.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/WindowsBase.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/WindowsFormsIntegration.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/XamlBuildTask.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/mscorlib.dll | -| [...]/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/sysglobl.dll | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Accessibility.dll:0:0:0:0 | Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/CustomMarshalers.dll:0:0:0:0 | CustomMarshalers, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/Microsoft.Win32.Primitives.dll:0:0:0:0 | Microsoft.Win32.Primitives, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.AppContext.dll:0:0:0:0 | System.AppContext, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Collections.Concurrent.dll:0:0:0:0 | System.Collections.Concurrent, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Collections.NonGeneric.dll:0:0:0:0 | System.Collections.NonGeneric, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Collections.Specialized.dll:0:0:0:0 | System.Collections.Specialized, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Collections.dll:0:0:0:0 | System.Collections, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ComponentModel.Annotations.dll:0:0:0:0 | System.ComponentModel.Annotations, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ComponentModel.EventBasedAsync.dll:0:0:0:0 | System.ComponentModel.EventBasedAsync, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ComponentModel.Primitives.dll:0:0:0:0 | System.ComponentModel.Primitives, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ComponentModel.TypeConverter.dll:0:0:0:0 | System.ComponentModel.TypeConverter, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ComponentModel.dll:0:0:0:0 | System.ComponentModel, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Console.dll:0:0:0:0 | System.Console, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Data.Common.dll:0:0:0:0 | System.Data.Common, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Diagnostics.Contracts.dll:0:0:0:0 | System.Diagnostics.Contracts, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Diagnostics.Debug.dll:0:0:0:0 | System.Diagnostics.Debug, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Diagnostics.FileVersionInfo.dll:0:0:0:0 | System.Diagnostics.FileVersionInfo, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Diagnostics.Process.dll:0:0:0:0 | System.Diagnostics.Process, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Diagnostics.StackTrace.dll:0:0:0:0 | System.Diagnostics.StackTrace, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Diagnostics.TextWriterTraceListener.dll:0:0:0:0 | System.Diagnostics.TextWriterTraceListener, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Diagnostics.Tools.dll:0:0:0:0 | System.Diagnostics.Tools, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Diagnostics.TraceSource.dll:0:0:0:0 | System.Diagnostics.TraceSource, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Drawing.Primitives.dll:0:0:0:0 | System.Drawing.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Dynamic.Runtime.dll:0:0:0:0 | System.Dynamic.Runtime, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Globalization.Calendars.dll:0:0:0:0 | System.Globalization.Calendars, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Globalization.Extensions.dll:0:0:0:0 | System.Globalization.Extensions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Globalization.dll:0:0:0:0 | System.Globalization, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.Compression.ZipFile.dll:0:0:0:0 | System.IO.Compression.ZipFile, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.FileSystem.DriveInfo.dll:0:0:0:0 | System.IO.FileSystem.DriveInfo, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.FileSystem.Primitives.dll:0:0:0:0 | System.IO.FileSystem.Primitives, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.FileSystem.Watcher.dll:0:0:0:0 | System.IO.FileSystem.Watcher, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.FileSystem.dll:0:0:0:0 | System.IO.FileSystem, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.IsolatedStorage.dll:0:0:0:0 | System.IO.IsolatedStorage, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.MemoryMappedFiles.dll:0:0:0:0 | System.IO.MemoryMappedFiles, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.Pipes.dll:0:0:0:0 | System.IO.Pipes, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.UnmanagedMemoryStream.dll:0:0:0:0 | System.IO.UnmanagedMemoryStream, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.IO.dll:0:0:0:0 | System.IO, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Linq.Expressions.dll:0:0:0:0 | System.Linq.Expressions, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Linq.Parallel.dll:0:0:0:0 | System.Linq.Parallel, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Linq.Queryable.dll:0:0:0:0 | System.Linq.Queryable, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Linq.dll:0:0:0:0 | System.Linq, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.Http.Rtc.dll:0:0:0:0 | System.Net.Http.Rtc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.NameResolution.dll:0:0:0:0 | System.Net.NameResolution, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.NetworkInformation.dll:0:0:0:0 | System.Net.NetworkInformation, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.Ping.dll:0:0:0:0 | System.Net.Ping, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.Primitives.dll:0:0:0:0 | System.Net.Primitives, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.Requests.dll:0:0:0:0 | System.Net.Requests, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.Security.dll:0:0:0:0 | System.Net.Security, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.Sockets.dll:0:0:0:0 | System.Net.Sockets, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.WebHeaderCollection.dll:0:0:0:0 | System.Net.WebHeaderCollection, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.WebSockets.Client.dll:0:0:0:0 | System.Net.WebSockets.Client, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Net.WebSockets.dll:0:0:0:0 | System.Net.WebSockets, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ObjectModel.dll:0:0:0:0 | System.ObjectModel, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Reflection.Emit.ILGeneration.dll:0:0:0:0 | System.Reflection.Emit.ILGeneration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Reflection.Emit.Lightweight.dll:0:0:0:0 | System.Reflection.Emit.Lightweight, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Reflection.Emit.dll:0:0:0:0 | System.Reflection.Emit, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Reflection.Extensions.dll:0:0:0:0 | System.Reflection.Extensions, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Reflection.Primitives.dll:0:0:0:0 | System.Reflection.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Reflection.dll:0:0:0:0 | System.Reflection, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Resources.Reader.dll:0:0:0:0 | System.Resources.Reader, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Resources.ResourceManager.dll:0:0:0:0 | System.Resources.ResourceManager, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Resources.Writer.dll:0:0:0:0 | System.Resources.Writer, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.CompilerServices.VisualC.dll:0:0:0:0 | System.Runtime.CompilerServices.VisualC, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.Extensions.dll:0:0:0:0 | System.Runtime.Extensions, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.Handles.dll:0:0:0:0 | System.Runtime.Handles, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.InteropServices.RuntimeInformation.dll:0:0:0:0 | System.Runtime.InteropServices.RuntimeInformation, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.InteropServices.WindowsRuntime.dll:0:0:0:0 | System.Runtime.InteropServices.WindowsRuntime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.InteropServices.dll:0:0:0:0 | System.Runtime.InteropServices, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.Numerics.dll:0:0:0:0 | System.Runtime.Numerics, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.Serialization.Formatters.dll:0:0:0:0 | System.Runtime.Serialization.Formatters, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.Serialization.Json.dll:0:0:0:0 | System.Runtime.Serialization.Json, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.Serialization.Primitives.dll:0:0:0:0 | System.Runtime.Serialization.Primitives, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.Serialization.Xml.dll:0:0:0:0 | System.Runtime.Serialization.Xml, Version=4.1.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Runtime.dll:0:0:0:0 | System.Runtime, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Security.Claims.dll:0:0:0:0 | System.Security.Claims, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Security.Cryptography.Algorithms.dll:0:0:0:0 | System.Security.Cryptography.Algorithms, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Security.Cryptography.Csp.dll:0:0:0:0 | System.Security.Cryptography.Csp, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Security.Cryptography.Encoding.dll:0:0:0:0 | System.Security.Cryptography.Encoding, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Security.Cryptography.Primitives.dll:0:0:0:0 | System.Security.Cryptography.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Security.Cryptography.X509Certificates.dll:0:0:0:0 | System.Security.Cryptography.X509Certificates, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Security.Principal.dll:0:0:0:0 | System.Security.Principal, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Security.SecureString.dll:0:0:0:0 | System.Security.SecureString, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ServiceModel.Duplex.dll:0:0:0:0 | System.ServiceModel.Duplex, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ServiceModel.Http.dll:0:0:0:0 | System.ServiceModel.Http, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ServiceModel.NetTcp.dll:0:0:0:0 | System.ServiceModel.NetTcp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ServiceModel.Primitives.dll:0:0:0:0 | System.ServiceModel.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ServiceModel.Security.dll:0:0:0:0 | System.ServiceModel.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Text.Encoding.Extensions.dll:0:0:0:0 | System.Text.Encoding.Extensions, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Text.Encoding.dll:0:0:0:0 | System.Text.Encoding, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Text.RegularExpressions.dll:0:0:0:0 | System.Text.RegularExpressions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Threading.Overlapped.dll:0:0:0:0 | System.Threading.Overlapped, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Threading.Tasks.Parallel.dll:0:0:0:0 | System.Threading.Tasks.Parallel, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Threading.Tasks.dll:0:0:0:0 | System.Threading.Tasks, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Threading.Thread.dll:0:0:0:0 | System.Threading.Thread, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Threading.ThreadPool.dll:0:0:0:0 | System.Threading.ThreadPool, Version=4.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Threading.Timer.dll:0:0:0:0 | System.Threading.Timer, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Threading.dll:0:0:0:0 | System.Threading, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.ValueTuple.dll:0:0:0:0 | System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Xml.ReaderWriter.dll:0:0:0:0 | System.Xml.ReaderWriter, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Xml.XDocument.dll:0:0:0:0 | System.Xml.XDocument, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Xml.XPath.XDocument.dll:0:0:0:0 | System.Xml.XPath.XDocument, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Xml.XPath.dll:0:0:0:0 | System.Xml.XPath, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Xml.XmlDocument.dll:0:0:0:0 | System.Xml.XmlDocument, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/System.Xml.XmlSerializer.dll:0:0:0:0 | System.Xml.XmlSerializer, Version=4.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Facades/netstandard.dll:0:0:0:0 | netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/ISymWrapper.dll:0:0:0:0 | ISymWrapper, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.Activities.Build.dll:0:0:0:0 | Microsoft.Activities.Build, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.Build.Conversion.v4.0.dll:0:0:0:0 | Microsoft.Build.Conversion.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.Build.Engine.dll:0:0:0:0 | Microsoft.Build.Engine, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.Build.Framework.dll:0:0:0:0 | Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.Build.Tasks.v4.0.dll:0:0:0:0 | Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.Build.Utilities.v4.0.dll:0:0:0:0 | Microsoft.Build.Utilities.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.Build.dll:0:0:0:0 | Microsoft.Build, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.CSharp.dll:0:0:0:0 | Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.JScript.dll:0:0:0:0 | Microsoft.JScript, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.VisualBasic.Compatibility.Data.dll:0:0:0:0 | Microsoft.VisualBasic.Compatibility.Data, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.VisualBasic.Compatibility.dll:0:0:0:0 | Microsoft.VisualBasic.Compatibility, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.VisualBasic.dll:0:0:0:0 | Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.VisualC.STLCLR.dll:0:0:0:0 | Microsoft.VisualC.STLCLR, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/Microsoft.VisualC.dll:0:0:0:0 | Microsoft.VisualC, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationBuildTasks.dll:0:0:0:0 | PresentationBuildTasks, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationCore.dll:0:0:0:0 | PresentationCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationFramework.Aero2.dll:0:0:0:0 | PresentationFramework.Aero2, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationFramework.Aero.dll:0:0:0:0 | PresentationFramework.Aero, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationFramework.AeroLite.dll:0:0:0:0 | PresentationFramework.AeroLite, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationFramework.Classic.dll:0:0:0:0 | PresentationFramework.Classic, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationFramework.Luna.dll:0:0:0:0 | PresentationFramework.Luna, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationFramework.Royale.dll:0:0:0:0 | PresentationFramework.Royale, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/PresentationFramework.dll:0:0:0:0 | PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/ReachFramework.dll:0:0:0:0 | ReachFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Activities.Core.Presentation.dll:0:0:0:0 | System.Activities.Core.Presentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Activities.DurableInstancing.dll:0:0:0:0 | System.Activities.DurableInstancing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Activities.Presentation.dll:0:0:0:0 | System.Activities.Presentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Activities.dll:0:0:0:0 | System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.AddIn.Contract.dll:0:0:0:0 | System.AddIn.Contract, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.AddIn.dll:0:0:0:0 | System.AddIn, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ComponentModel.Composition.Registration.dll:0:0:0:0 | System.ComponentModel.Composition.Registration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ComponentModel.Composition.dll:0:0:0:0 | System.ComponentModel.Composition, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ComponentModel.DataAnnotations.dll:0:0:0:0 | System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Configuration.Install.dll:0:0:0:0 | System.Configuration.Install, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Configuration.dll:0:0:0:0 | System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Core.dll:0:0:0:0 | System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.DataSetExtensions.dll:0:0:0:0 | System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.Entity.Design.dll:0:0:0:0 | System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.Entity.dll:0:0:0:0 | System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.Linq.dll:0:0:0:0 | System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.OracleClient.dll:0:0:0:0 | System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.Services.Client.dll:0:0:0:0 | System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.Services.Design.dll:0:0:0:0 | System.Data.Services.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.Services.dll:0:0:0:0 | System.Data.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.SqlXml.dll:0:0:0:0 | System.Data.SqlXml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Data.dll:0:0:0:0 | System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Deployment.dll:0:0:0:0 | System.Deployment, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Design.dll:0:0:0:0 | System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Device.dll:0:0:0:0 | System.Device, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Diagnostics.Tracing.dll:0:0:0:0 | System.Diagnostics.Tracing, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.DirectoryServices.AccountManagement.dll:0:0:0:0 | System.DirectoryServices.AccountManagement, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.DirectoryServices.Protocols.dll:0:0:0:0 | System.DirectoryServices.Protocols, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.DirectoryServices.dll:0:0:0:0 | System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Drawing.Design.dll:0:0:0:0 | System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Drawing.dll:0:0:0:0 | System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Dynamic.dll:0:0:0:0 | System.Dynamic, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.EnterpriseServices.dll:0:0:0:0 | System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.IO.Compression.FileSystem.dll:0:0:0:0 | System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.IO.Compression.dll:0:0:0:0 | System.IO.Compression, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.IO.Log.dll:0:0:0:0 | System.IO.Log, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.IdentityModel.Selectors.dll:0:0:0:0 | System.IdentityModel.Selectors, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.IdentityModel.Services.dll:0:0:0:0 | System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.IdentityModel.dll:0:0:0:0 | System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Management.Instrumentation.dll:0:0:0:0 | System.Management.Instrumentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Management.dll:0:0:0:0 | System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Messaging.dll:0:0:0:0 | System.Messaging, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Net.Http.WebRequest.dll:0:0:0:0 | System.Net.Http.WebRequest, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Net.Http.dll:0:0:0:0 | System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Net.dll:0:0:0:0 | System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Numerics.dll:0:0:0:0 | System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Printing.dll:0:0:0:0 | System.Printing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Reflection.Context.dll:0:0:0:0 | System.Reflection.Context, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Runtime.Caching.dll:0:0:0:0 | System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Runtime.DurableInstancing.dll:0:0:0:0 | System.Runtime.DurableInstancing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Runtime.Remoting.dll:0:0:0:0 | System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Runtime.Serialization.Formatters.Soap.dll:0:0:0:0 | System.Runtime.Serialization.Formatters.Soap, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Runtime.Serialization.dll:0:0:0:0 | System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Security.dll:0:0:0:0 | System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ServiceModel.Activation.dll:0:0:0:0 | System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ServiceModel.Activities.dll:0:0:0:0 | System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ServiceModel.Channels.dll:0:0:0:0 | System.ServiceModel.Channels, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ServiceModel.Discovery.dll:0:0:0:0 | System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ServiceModel.Routing.dll:0:0:0:0 | System.ServiceModel.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ServiceModel.Web.dll:0:0:0:0 | System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ServiceModel.dll:0:0:0:0 | System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.ServiceProcess.dll:0:0:0:0 | System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Speech.dll:0:0:0:0 | System.Speech, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Transactions.dll:0:0:0:0 | System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.Abstractions.dll:0:0:0:0 | System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.ApplicationServices.dll:0:0:0:0 | System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.DataVisualization.Design.dll:0:0:0:0 | System.Web.DataVisualization.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.DataVisualization.dll:0:0:0:0 | System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.DynamicData.Design.dll:0:0:0:0 | System.Web.DynamicData.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.DynamicData.dll:0:0:0:0 | System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.Entity.Design.dll:0:0:0:0 | System.Web.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.Entity.dll:0:0:0:0 | System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.Extensions.Design.dll:0:0:0:0 | System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.Extensions.dll:0:0:0:0 | System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.Mobile.dll:0:0:0:0 | System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.RegularExpressions.dll:0:0:0:0 | System.Web.RegularExpressions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.Routing.dll:0:0:0:0 | System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.Services.dll:0:0:0:0 | System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Web.dll:0:0:0:0 | System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Windows.Controls.Ribbon.dll:0:0:0:0 | System.Windows.Controls.Ribbon, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Windows.Forms.DataVisualization.Design.dll:0:0:0:0 | System.Windows.Forms.DataVisualization.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Windows.Forms.DataVisualization.dll:0:0:0:0 | System.Windows.Forms.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Windows.Forms.dll:0:0:0:0 | System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Windows.Input.Manipulations.dll:0:0:0:0 | System.Windows.Input.Manipulations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Windows.Presentation.dll:0:0:0:0 | System.Windows.Presentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Windows.dll:0:0:0:0 | System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Workflow.Activities.dll:0:0:0:0 | System.Workflow.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Workflow.ComponentModel.dll:0:0:0:0 | System.Workflow.ComponentModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Workflow.Runtime.dll:0:0:0:0 | System.Workflow.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.WorkflowServices.dll:0:0:0:0 | System.WorkflowServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Xaml.dll:0:0:0:0 | System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Xml.Linq.dll:0:0:0:0 | System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Xml.Serialization.dll:0:0:0:0 | System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.Xml.dll:0:0:0:0 | System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/System.dll:0:0:0:0 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/UIAutomationClient.dll:0:0:0:0 | UIAutomationClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/UIAutomationClientsideProviders.dll:0:0:0:0 | UIAutomationClientsideProviders, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/UIAutomationProvider.dll:0:0:0:0 | UIAutomationProvider, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/UIAutomationTypes.dll:0:0:0:0 | UIAutomationTypes, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/WindowsBase.dll:0:0:0:0 | WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/WindowsFormsIntegration.dll:0:0:0:0 | WindowsFormsIntegration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/XamlBuildTask.dll:0:0:0:0 | XamlBuildTask, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/mscorlib.dll:0:0:0:0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netframework.referenceassemblies.net48/1.0.3/build/.NETFramework/v4.8/sysglobl.dll:0:0:0:0 | sysglobl, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | diff --git a/csharp/ql/integration-tests/all-platforms/standalone_dependencies_net48/Assemblies.ql b/csharp/ql/integration-tests/all-platforms/standalone_dependencies_net48/Assemblies.ql index b78ceee2d8f..931e64d87ba 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone_dependencies_net48/Assemblies.ql +++ b/csharp/ql/integration-tests/all-platforms/standalone_dependencies_net48/Assemblies.ql @@ -1,17 +1,5 @@ import csharp -private string getPath(Assembly a) { - not a.getCompilation().getOutputAssembly() = a and - exists(string s | s = a.getFile().getAbsolutePath() | - result = - "[...]" + - s.substring(s.indexOf("test-db/working/") + "test-db/working/".length() + 16 + - "/packages".length(), s.length()) - or - result = s and - not exists(s.indexOf("test-db/working/")) - ) -} - from Assembly a -select getPath(a) +where not a.getCompilation().getOutputAssembly() = a +select a diff --git a/csharp/ql/integration-tests/all-platforms/standalone_winforms/Assemblies.expected b/csharp/ql/integration-tests/all-platforms/standalone_winforms/Assemblies.expected index 058ec9e2f35..8b1e8810a07 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone_winforms/Assemblies.expected +++ b/csharp/ql/integration-tests/all-platforms/standalone_winforms/Assemblies.expected @@ -1,47 +1,47 @@ -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Accessibility.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Forms.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.AccessControl.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.SystemEvents.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationCore.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Aero2.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Aero.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.AeroLite.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Classic.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Luna.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Royale.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationUI.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/ReachFramework.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.CodeDom.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Configuration.ConfigurationManager.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Design.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Diagnostics.EventLog.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Diagnostics.PerformanceCounter.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.DirectoryServices.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.Common.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.Design.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.IO.Packaging.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Printing.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Resources.Extensions.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Pkcs.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.ProtectedData.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Xml.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Permissions.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Threading.AccessControl.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Controls.Ribbon.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Extensions.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Design.Editors.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Design.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Primitives.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Input.Manipulations.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Presentation.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Xaml.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationClient.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationClientSideProviders.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationProvider.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationTypes.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/WindowsBase.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/WindowsFormsIntegration.dll | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Accessibility.dll:0:0:0:0 | Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Forms.dll:0:0:0:0 | Microsoft.VisualBasic.Forms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.dll:0:0:0:0 | Microsoft.VisualBasic, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.AccessControl.dll:0:0:0:0 | Microsoft.Win32.Registry.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.SystemEvents.dll:0:0:0:0 | Microsoft.Win32.SystemEvents, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationCore.dll:0:0:0:0 | PresentationCore, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Aero2.dll:0:0:0:0 | PresentationFramework.Aero2, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Aero.dll:0:0:0:0 | PresentationFramework.Aero, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.AeroLite.dll:0:0:0:0 | PresentationFramework.AeroLite, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Classic.dll:0:0:0:0 | PresentationFramework.Classic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Luna.dll:0:0:0:0 | PresentationFramework.Luna, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Royale.dll:0:0:0:0 | PresentationFramework.Royale, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.dll:0:0:0:0 | PresentationFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationUI.dll:0:0:0:0 | PresentationUI, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/ReachFramework.dll:0:0:0:0 | ReachFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.CodeDom.dll:0:0:0:0 | System.CodeDom, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Configuration.ConfigurationManager.dll:0:0:0:0 | System.Configuration.ConfigurationManager, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Design.dll:0:0:0:0 | System.Design, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Diagnostics.EventLog.dll:0:0:0:0 | System.Diagnostics.EventLog, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Diagnostics.PerformanceCounter.dll:0:0:0:0 | System.Diagnostics.PerformanceCounter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.DirectoryServices.dll:0:0:0:0 | System.DirectoryServices, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.Common.dll:0:0:0:0 | System.Drawing.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.Design.dll:0:0:0:0 | System.Drawing.Design, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.dll:0:0:0:0 | System.Drawing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.IO.Packaging.dll:0:0:0:0 | System.IO.Packaging, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Printing.dll:0:0:0:0 | System.Printing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Resources.Extensions.dll:0:0:0:0 | System.Resources.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Pkcs.dll:0:0:0:0 | System.Security.Cryptography.Pkcs, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.ProtectedData.dll:0:0:0:0 | System.Security.Cryptography.ProtectedData, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Xml.dll:0:0:0:0 | System.Security.Cryptography.Xml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Permissions.dll:0:0:0:0 | System.Security.Permissions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Threading.AccessControl.dll:0:0:0:0 | System.Threading.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Controls.Ribbon.dll:0:0:0:0 | System.Windows.Controls.Ribbon, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Extensions.dll:0:0:0:0 | System.Windows.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Design.Editors.dll:0:0:0:0 | System.Windows.Forms.Design.Editors, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Design.dll:0:0:0:0 | System.Windows.Forms.Design, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Primitives.dll:0:0:0:0 | System.Windows.Forms.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.dll:0:0:0:0 | System.Windows.Forms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Input.Manipulations.dll:0:0:0:0 | System.Windows.Input.Manipulations, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Presentation.dll:0:0:0:0 | System.Windows.Presentation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Xaml.dll:0:0:0:0 | System.Xaml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationClient.dll:0:0:0:0 | UIAutomationClient, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationClientSideProviders.dll:0:0:0:0 | UIAutomationClientSideProviders, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationProvider.dll:0:0:0:0 | UIAutomationProvider, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationTypes.dll:0:0:0:0 | UIAutomationTypes, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/WindowsBase.dll:0:0:0:0 | WindowsBase, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/WindowsFormsIntegration.dll:0:0:0:0 | WindowsFormsIntegration, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | diff --git a/csharp/ql/integration-tests/all-platforms/standalone_winforms/Assemblies.ql b/csharp/ql/integration-tests/all-platforms/standalone_winforms/Assemblies.ql index d47b596f0af..2ab708267f2 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone_winforms/Assemblies.ql +++ b/csharp/ql/integration-tests/all-platforms/standalone_winforms/Assemblies.ql @@ -1,11 +1,5 @@ import csharp -private string getPath(Assembly a) { - not a.getCompilation().getOutputAssembly() = a and - exists(string s | s = a.getFile().getAbsolutePath() | - result = "[...]" + s.substring(s.indexOf("microsoft.windowsdesktop.app.ref") - 1, s.length()) - ) -} - from Assembly a -select getPath(a) +where exists(a.getFile().getAbsolutePath().indexOf("microsoft.windowsdesktop.app.ref")) +select a diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies/Assemblies.expected b/csharp/ql/integration-tests/posix-only/standalone_dependencies/Assemblies.expected index 2d54c0155a4..d1602665e16 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies/Assemblies.expected +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies/Assemblies.expected @@ -1,166 +1,166 @@ -| [...]/avalara.avatax/23.11.0/lib/netstandard2.0/Avalara.AvaTax.RestClient.dll | -| [...]/microsoft.bcl.asyncinterfaces/8.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.CSharp.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Core.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.AppContext.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Buffers.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Concurrent.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Immutable.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.NonGeneric.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Specialized.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Annotations.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.DataAnnotations.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.EventBasedAsync.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.TypeConverter.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Configuration.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Console.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Core.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.Common.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.DataSetExtensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Contracts.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Debug.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.DiagnosticSource.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.FileVersionInfo.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Process.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.StackTrace.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TextWriterTraceListener.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tools.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TraceSource.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tracing.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Dynamic.Runtime.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Asn1.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Tar.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Calendars.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.Brotli.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.FileSystem.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.ZipFile.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.AccessControl.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.DriveInfo.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Watcher.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.IsolatedStorage.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.MemoryMappedFiles.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.AccessControl.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.UnmanagedMemoryStream.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Expressions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Parallel.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Queryable.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Memory.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.Json.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.HttpListener.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Mail.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NameResolution.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NetworkInformation.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Ping.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Quic.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Requests.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Security.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.ServicePoint.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Sockets.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebClient.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebHeaderCollection.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebProxy.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.Client.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.Vectors.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ObjectModel.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.DispatchProxy.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.ILGeneration.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.Lightweight.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Metadata.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.TypeExtensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Reader.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.ResourceManager.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Writer.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.Unsafe.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.VisualC.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Handles.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.JavaScript.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.RuntimeInformation.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Intrinsics.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Loader.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Numerics.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Formatters.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Json.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Xml.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.AccessControl.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Claims.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Algorithms.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Cng.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Csp.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Encoding.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.OpenSsl.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.X509Certificates.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.Windows.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.SecureString.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceModel.Web.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceProcess.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.CodePages.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encodings.Web.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Json.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.RegularExpressions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Channels.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Overlapped.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Dataflow.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Parallel.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Thread.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.ThreadPool.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Timer.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.Local.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ValueTuple.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.HttpUtility.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Windows.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Linq.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.ReaderWriter.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Serialization.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XDocument.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.XDocument.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlDocument.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlSerializer.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/WindowsBase.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/mscorlib.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/netstandard.dll | -| [...]/newtonsoft.json/12.0.1/lib/netstandard2.0/Newtonsoft.Json.dll | +| test-db/working/packages/avalara.avatax/23.11.0/lib/netstandard2.0/Avalara.AvaTax.RestClient.dll:0:0:0:0 | Avalara.AvaTax.RestClient, Version=0.0.0.0, Culture=neutral, PublicKeyToken=be94eb8ba37fd33c | +| test-db/working/packages/microsoft.bcl.asyncinterfaces/8.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll:0:0:0:0 | Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.CSharp.dll:0:0:0:0 | Microsoft.CSharp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Core.dll:0:0:0:0 | Microsoft.VisualBasic.Core, Version=13.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.dll:0:0:0:0 | Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Primitives.dll:0:0:0:0 | Microsoft.Win32.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.dll:0:0:0:0 | Microsoft.Win32.Registry, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.AppContext.dll:0:0:0:0 | System.AppContext, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Buffers.dll:0:0:0:0 | System.Buffers, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Concurrent.dll:0:0:0:0 | System.Collections.Concurrent, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Immutable.dll:0:0:0:0 | System.Collections.Immutable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.NonGeneric.dll:0:0:0:0 | System.Collections.NonGeneric, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Specialized.dll:0:0:0:0 | System.Collections.Specialized, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.dll:0:0:0:0 | System.Collections, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Annotations.dll:0:0:0:0 | System.ComponentModel.Annotations, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.DataAnnotations.dll:0:0:0:0 | System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.EventBasedAsync.dll:0:0:0:0 | System.ComponentModel.EventBasedAsync, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Primitives.dll:0:0:0:0 | System.ComponentModel.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.TypeConverter.dll:0:0:0:0 | System.ComponentModel.TypeConverter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.dll:0:0:0:0 | System.ComponentModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Configuration.dll:0:0:0:0 | System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Console.dll:0:0:0:0 | System.Console, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Core.dll:0:0:0:0 | System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.Common.dll:0:0:0:0 | System.Data.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.DataSetExtensions.dll:0:0:0:0 | System.Data.DataSetExtensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.dll:0:0:0:0 | System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Contracts.dll:0:0:0:0 | System.Diagnostics.Contracts, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Debug.dll:0:0:0:0 | System.Diagnostics.Debug, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.DiagnosticSource.dll:0:0:0:0 | System.Diagnostics.DiagnosticSource, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.FileVersionInfo.dll:0:0:0:0 | System.Diagnostics.FileVersionInfo, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Process.dll:0:0:0:0 | System.Diagnostics.Process, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.StackTrace.dll:0:0:0:0 | System.Diagnostics.StackTrace, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TextWriterTraceListener.dll:0:0:0:0 | System.Diagnostics.TextWriterTraceListener, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tools.dll:0:0:0:0 | System.Diagnostics.Tools, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TraceSource.dll:0:0:0:0 | System.Diagnostics.TraceSource, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tracing.dll:0:0:0:0 | System.Diagnostics.Tracing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.Primitives.dll:0:0:0:0 | System.Drawing.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.dll:0:0:0:0 | System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Dynamic.Runtime.dll:0:0:0:0 | System.Dynamic.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Asn1.dll:0:0:0:0 | System.Formats.Asn1, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Tar.dll:0:0:0:0 | System.Formats.Tar, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Calendars.dll:0:0:0:0 | System.Globalization.Calendars, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Extensions.dll:0:0:0:0 | System.Globalization.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.dll:0:0:0:0 | System.Globalization, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.Brotli.dll:0:0:0:0 | System.IO.Compression.Brotli, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.FileSystem.dll:0:0:0:0 | System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.ZipFile.dll:0:0:0:0 | System.IO.Compression.ZipFile, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.dll:0:0:0:0 | System.IO.Compression, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.AccessControl.dll:0:0:0:0 | System.IO.FileSystem.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.DriveInfo.dll:0:0:0:0 | System.IO.FileSystem.DriveInfo, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Primitives.dll:0:0:0:0 | System.IO.FileSystem.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Watcher.dll:0:0:0:0 | System.IO.FileSystem.Watcher, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.dll:0:0:0:0 | System.IO.FileSystem, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.IsolatedStorage.dll:0:0:0:0 | System.IO.IsolatedStorage, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.MemoryMappedFiles.dll:0:0:0:0 | System.IO.MemoryMappedFiles, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.AccessControl.dll:0:0:0:0 | System.IO.Pipes.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.dll:0:0:0:0 | System.IO.Pipes, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.UnmanagedMemoryStream.dll:0:0:0:0 | System.IO.UnmanagedMemoryStream, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.dll:0:0:0:0 | System.IO, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Expressions.dll:0:0:0:0 | System.Linq.Expressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Parallel.dll:0:0:0:0 | System.Linq.Parallel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Queryable.dll:0:0:0:0 | System.Linq.Queryable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.dll:0:0:0:0 | System.Linq, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Memory.dll:0:0:0:0 | System.Memory, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.Json.dll:0:0:0:0 | System.Net.Http.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.dll:0:0:0:0 | System.Net.Http, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.HttpListener.dll:0:0:0:0 | System.Net.HttpListener, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Mail.dll:0:0:0:0 | System.Net.Mail, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NameResolution.dll:0:0:0:0 | System.Net.NameResolution, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NetworkInformation.dll:0:0:0:0 | System.Net.NetworkInformation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Ping.dll:0:0:0:0 | System.Net.Ping, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Primitives.dll:0:0:0:0 | System.Net.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Quic.dll:0:0:0:0 | System.Net.Quic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Requests.dll:0:0:0:0 | System.Net.Requests, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Security.dll:0:0:0:0 | System.Net.Security, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.ServicePoint.dll:0:0:0:0 | System.Net.ServicePoint, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Sockets.dll:0:0:0:0 | System.Net.Sockets, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebClient.dll:0:0:0:0 | System.Net.WebClient, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebHeaderCollection.dll:0:0:0:0 | System.Net.WebHeaderCollection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebProxy.dll:0:0:0:0 | System.Net.WebProxy, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.Client.dll:0:0:0:0 | System.Net.WebSockets.Client, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.dll:0:0:0:0 | System.Net.WebSockets, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.dll:0:0:0:0 | System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.Vectors.dll:0:0:0:0 | System.Numerics.Vectors, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.dll:0:0:0:0 | System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ObjectModel.dll:0:0:0:0 | System.ObjectModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.DispatchProxy.dll:0:0:0:0 | System.Reflection.DispatchProxy, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.ILGeneration.dll:0:0:0:0 | System.Reflection.Emit.ILGeneration, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.Lightweight.dll:0:0:0:0 | System.Reflection.Emit.Lightweight, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.dll:0:0:0:0 | System.Reflection.Emit, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Extensions.dll:0:0:0:0 | System.Reflection.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Metadata.dll:0:0:0:0 | System.Reflection.Metadata, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Primitives.dll:0:0:0:0 | System.Reflection.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.TypeExtensions.dll:0:0:0:0 | System.Reflection.TypeExtensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.dll:0:0:0:0 | System.Reflection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Reader.dll:0:0:0:0 | System.Resources.Reader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.ResourceManager.dll:0:0:0:0 | System.Resources.ResourceManager, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Writer.dll:0:0:0:0 | System.Resources.Writer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.Unsafe.dll:0:0:0:0 | System.Runtime.CompilerServices.Unsafe, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.VisualC.dll:0:0:0:0 | System.Runtime.CompilerServices.VisualC, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Extensions.dll:0:0:0:0 | System.Runtime.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Handles.dll:0:0:0:0 | System.Runtime.Handles, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.JavaScript.dll:0:0:0:0 | System.Runtime.InteropServices.JavaScript, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.RuntimeInformation.dll:0:0:0:0 | System.Runtime.InteropServices.RuntimeInformation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.dll:0:0:0:0 | System.Runtime.InteropServices, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Intrinsics.dll:0:0:0:0 | System.Runtime.Intrinsics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Loader.dll:0:0:0:0 | System.Runtime.Loader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Numerics.dll:0:0:0:0 | System.Runtime.Numerics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Formatters.dll:0:0:0:0 | System.Runtime.Serialization.Formatters, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Json.dll:0:0:0:0 | System.Runtime.Serialization.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Primitives.dll:0:0:0:0 | System.Runtime.Serialization.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Xml.dll:0:0:0:0 | System.Runtime.Serialization.Xml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.dll:0:0:0:0 | System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.dll:0:0:0:0 | System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.AccessControl.dll:0:0:0:0 | System.Security.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Claims.dll:0:0:0:0 | System.Security.Claims, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Algorithms.dll:0:0:0:0 | System.Security.Cryptography.Algorithms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Cng.dll:0:0:0:0 | System.Security.Cryptography.Cng, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Csp.dll:0:0:0:0 | System.Security.Cryptography.Csp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Encoding.dll:0:0:0:0 | System.Security.Cryptography.Encoding, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.OpenSsl.dll:0:0:0:0 | System.Security.Cryptography.OpenSsl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Primitives.dll:0:0:0:0 | System.Security.Cryptography.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.X509Certificates.dll:0:0:0:0 | System.Security.Cryptography.X509Certificates, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.dll:0:0:0:0 | System.Security.Cryptography, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.Windows.dll:0:0:0:0 | System.Security.Principal.Windows, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.dll:0:0:0:0 | System.Security.Principal, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.SecureString.dll:0:0:0:0 | System.Security.SecureString, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.dll:0:0:0:0 | System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceModel.Web.dll:0:0:0:0 | System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceProcess.dll:0:0:0:0 | System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.CodePages.dll:0:0:0:0 | System.Text.Encoding.CodePages, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.Extensions.dll:0:0:0:0 | System.Text.Encoding.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.dll:0:0:0:0 | System.Text.Encoding, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encodings.Web.dll:0:0:0:0 | System.Text.Encodings.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Json.dll:0:0:0:0 | System.Text.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.RegularExpressions.dll:0:0:0:0 | System.Text.RegularExpressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Channels.dll:0:0:0:0 | System.Threading.Channels, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Overlapped.dll:0:0:0:0 | System.Threading.Overlapped, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Dataflow.dll:0:0:0:0 | System.Threading.Tasks.Dataflow, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Extensions.dll:0:0:0:0 | System.Threading.Tasks.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Parallel.dll:0:0:0:0 | System.Threading.Tasks.Parallel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.dll:0:0:0:0 | System.Threading.Tasks, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Thread.dll:0:0:0:0 | System.Threading.Thread, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.ThreadPool.dll:0:0:0:0 | System.Threading.ThreadPool, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Timer.dll:0:0:0:0 | System.Threading.Timer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.dll:0:0:0:0 | System.Threading, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.Local.dll:0:0:0:0 | System.Transactions.Local, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.dll:0:0:0:0 | System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ValueTuple.dll:0:0:0:0 | System.ValueTuple, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.HttpUtility.dll:0:0:0:0 | System.Web.HttpUtility, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.dll:0:0:0:0 | System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Windows.dll:0:0:0:0 | System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Linq.dll:0:0:0:0 | System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.ReaderWriter.dll:0:0:0:0 | System.Xml.ReaderWriter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Serialization.dll:0:0:0:0 | System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XDocument.dll:0:0:0:0 | System.Xml.XDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.XDocument.dll:0:0:0:0 | System.Xml.XPath.XDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.dll:0:0:0:0 | System.Xml.XPath, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlDocument.dll:0:0:0:0 | System.Xml.XmlDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlSerializer.dll:0:0:0:0 | System.Xml.XmlSerializer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.dll:0:0:0:0 | System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.dll:0:0:0:0 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/WindowsBase.dll:0:0:0:0 | WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/mscorlib.dll:0:0:0:0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/netstandard.dll:0:0:0:0 | netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/newtonsoft.json/12.0.1/lib/netstandard2.0/Newtonsoft.Json.dll:0:0:0:0 | Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed | diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies/Assemblies.ql b/csharp/ql/integration-tests/posix-only/standalone_dependencies/Assemblies.ql index b78ceee2d8f..931e64d87ba 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies/Assemblies.ql +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies/Assemblies.ql @@ -1,17 +1,5 @@ import csharp -private string getPath(Assembly a) { - not a.getCompilation().getOutputAssembly() = a and - exists(string s | s = a.getFile().getAbsolutePath() | - result = - "[...]" + - s.substring(s.indexOf("test-db/working/") + "test-db/working/".length() + 16 + - "/packages".length(), s.length()) - or - result = s and - not exists(s.indexOf("test-db/working/")) - ) -} - from Assembly a -select getPath(a) +where not a.getCompilation().getOutputAssembly() = a +select a diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_executing_runtime/Assemblies.expected b/csharp/ql/integration-tests/posix-only/standalone_dependencies_executing_runtime/Assemblies.expected index c2742cebc57..18cbc068ace 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_executing_runtime/Assemblies.expected +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_executing_runtime/Assemblies.expected @@ -1,200 +1,200 @@ -| [...]/Basic.CompilerLog.Util.dll | -| [...]/Humanizer.dll | -| [...]/MessagePack.Annotations.dll | -| [...]/MessagePack.dll | -| [...]/Microsoft.Build.Framework.dll | -| [...]/Microsoft.Build.Utilities.Core.dll | -| [...]/Microsoft.Build.dll | -| [...]/Microsoft.CSharp.dll | -| [...]/Microsoft.CodeAnalysis.CSharp.Workspaces.dll | -| [...]/Microsoft.CodeAnalysis.CSharp.dll | -| [...]/Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll | -| [...]/Microsoft.CodeAnalysis.VisualBasic.dll | -| [...]/Microsoft.CodeAnalysis.Workspaces.dll | -| [...]/Microsoft.CodeAnalysis.dll | -| [...]/Microsoft.Extensions.ObjectPool.dll | -| [...]/Microsoft.NET.StringTools.dll | -| [...]/Microsoft.VisualBasic.Core.dll | -| [...]/Microsoft.VisualBasic.dll | -| [...]/Microsoft.Win32.Primitives.dll | -| [...]/Microsoft.Win32.Registry.dll | -| [...]/Microsoft.Win32.SystemEvents.dll | -| [...]/Mono.Posix.NETStandard.dll | -| [...]/Newtonsoft.Json.dll | -| [...]/StructuredLogger.dll | -| [...]/System.AppContext.dll | -| [...]/System.Buffers.dll | -| [...]/System.Collections.Concurrent.dll | -| [...]/System.Collections.Immutable.dll | -| [...]/System.Collections.NonGeneric.dll | -| [...]/System.Collections.Specialized.dll | -| [...]/System.Collections.dll | -| [...]/System.ComponentModel.Annotations.dll | -| [...]/System.ComponentModel.DataAnnotations.dll | -| [...]/System.ComponentModel.EventBasedAsync.dll | -| [...]/System.ComponentModel.Primitives.dll | -| [...]/System.ComponentModel.TypeConverter.dll | -| [...]/System.ComponentModel.dll | -| [...]/System.Composition.AttributedModel.dll | -| [...]/System.Composition.Convention.dll | -| [...]/System.Composition.Hosting.dll | -| [...]/System.Composition.Runtime.dll | -| [...]/System.Composition.TypedParts.dll | -| [...]/System.Configuration.ConfigurationManager.dll | -| [...]/System.Configuration.dll | -| [...]/System.Console.dll | -| [...]/System.Core.dll | -| [...]/System.Data.Common.dll | -| [...]/System.Data.DataSetExtensions.dll | -| [...]/System.Data.dll | -| [...]/System.Diagnostics.Contracts.dll | -| [...]/System.Diagnostics.Debug.dll | -| [...]/System.Diagnostics.DiagnosticSource.dll | -| [...]/System.Diagnostics.EventLog.dll | -| [...]/System.Diagnostics.FileVersionInfo.dll | -| [...]/System.Diagnostics.Process.dll | -| [...]/System.Diagnostics.StackTrace.dll | -| [...]/System.Diagnostics.TextWriterTraceListener.dll | -| [...]/System.Diagnostics.Tools.dll | -| [...]/System.Diagnostics.TraceSource.dll | -| [...]/System.Diagnostics.Tracing.dll | -| [...]/System.Drawing.Common.dll | -| [...]/System.Drawing.Primitives.dll | -| [...]/System.Drawing.dll | -| [...]/System.Dynamic.Runtime.dll | -| [...]/System.Formats.Asn1.dll | -| [...]/System.Formats.Tar.dll | -| [...]/System.Globalization.Calendars.dll | -| [...]/System.Globalization.Extensions.dll | -| [...]/System.Globalization.dll | -| [...]/System.IO.Compression.Brotli.dll | -| [...]/System.IO.Compression.FileSystem.dll | -| [...]/System.IO.Compression.ZipFile.dll | -| [...]/System.IO.Compression.dll | -| [...]/System.IO.FileSystem.AccessControl.dll | -| [...]/System.IO.FileSystem.DriveInfo.dll | -| [...]/System.IO.FileSystem.Primitives.dll | -| [...]/System.IO.FileSystem.Watcher.dll | -| [...]/System.IO.FileSystem.dll | -| [...]/System.IO.IsolatedStorage.dll | -| [...]/System.IO.MemoryMappedFiles.dll | -| [...]/System.IO.Pipelines.dll | -| [...]/System.IO.Pipes.AccessControl.dll | -| [...]/System.IO.Pipes.dll | -| [...]/System.IO.UnmanagedMemoryStream.dll | -| [...]/System.IO.dll | -| [...]/System.Linq.Expressions.dll | -| [...]/System.Linq.Parallel.dll | -| [...]/System.Linq.Queryable.dll | -| [...]/System.Linq.dll | -| [...]/System.Memory.dll | -| [...]/System.Net.Http.Json.dll | -| [...]/System.Net.Http.dll | -| [...]/System.Net.HttpListener.dll | -| [...]/System.Net.Mail.dll | -| [...]/System.Net.NameResolution.dll | -| [...]/System.Net.NetworkInformation.dll | -| [...]/System.Net.Ping.dll | -| [...]/System.Net.Primitives.dll | -| [...]/System.Net.Quic.dll | -| [...]/System.Net.Requests.dll | -| [...]/System.Net.Security.dll | -| [...]/System.Net.ServicePoint.dll | -| [...]/System.Net.Sockets.dll | -| [...]/System.Net.WebClient.dll | -| [...]/System.Net.WebHeaderCollection.dll | -| [...]/System.Net.WebProxy.dll | -| [...]/System.Net.WebSockets.Client.dll | -| [...]/System.Net.WebSockets.dll | -| [...]/System.Net.dll | -| [...]/System.Numerics.Vectors.dll | -| [...]/System.Numerics.dll | -| [...]/System.ObjectModel.dll | -| [...]/System.Private.CoreLib.dll | -| [...]/System.Private.DataContractSerialization.dll | -| [...]/System.Private.Uri.dll | -| [...]/System.Private.Xml.Linq.dll | -| [...]/System.Private.Xml.dll | -| [...]/System.Reflection.DispatchProxy.dll | -| [...]/System.Reflection.Emit.ILGeneration.dll | -| [...]/System.Reflection.Emit.Lightweight.dll | -| [...]/System.Reflection.Emit.dll | -| [...]/System.Reflection.Extensions.dll | -| [...]/System.Reflection.Metadata.dll | -| [...]/System.Reflection.MetadataLoadContext.dll | -| [...]/System.Reflection.Primitives.dll | -| [...]/System.Reflection.TypeExtensions.dll | -| [...]/System.Reflection.dll | -| [...]/System.Resources.Reader.dll | -| [...]/System.Resources.ResourceManager.dll | -| [...]/System.Resources.Writer.dll | -| [...]/System.Runtime.CompilerServices.Unsafe.dll | -| [...]/System.Runtime.CompilerServices.VisualC.dll | -| [...]/System.Runtime.Extensions.dll | -| [...]/System.Runtime.Handles.dll | -| [...]/System.Runtime.InteropServices.JavaScript.dll | -| [...]/System.Runtime.InteropServices.RuntimeInformation.dll | -| [...]/System.Runtime.InteropServices.dll | -| [...]/System.Runtime.Intrinsics.dll | -| [...]/System.Runtime.Loader.dll | -| [...]/System.Runtime.Numerics.dll | -| [...]/System.Runtime.Serialization.Formatters.dll | -| [...]/System.Runtime.Serialization.Json.dll | -| [...]/System.Runtime.Serialization.Primitives.dll | -| [...]/System.Runtime.Serialization.Xml.dll | -| [...]/System.Runtime.Serialization.dll | -| [...]/System.Runtime.dll | -| [...]/System.Security.AccessControl.dll | -| [...]/System.Security.Claims.dll | -| [...]/System.Security.Cryptography.Algorithms.dll | -| [...]/System.Security.Cryptography.Cng.dll | -| [...]/System.Security.Cryptography.Csp.dll | -| [...]/System.Security.Cryptography.Encoding.dll | -| [...]/System.Security.Cryptography.OpenSsl.dll | -| [...]/System.Security.Cryptography.Primitives.dll | -| [...]/System.Security.Cryptography.ProtectedData.dll | -| [...]/System.Security.Cryptography.X509Certificates.dll | -| [...]/System.Security.Cryptography.dll | -| [...]/System.Security.Permissions.dll | -| [...]/System.Security.Principal.Windows.dll | -| [...]/System.Security.Principal.dll | -| [...]/System.Security.SecureString.dll | -| [...]/System.Security.dll | -| [...]/System.ServiceModel.Web.dll | -| [...]/System.ServiceProcess.dll | -| [...]/System.Text.Encoding.CodePages.dll | -| [...]/System.Text.Encoding.Extensions.dll | -| [...]/System.Text.Encoding.dll | -| [...]/System.Text.Encodings.Web.dll | -| [...]/System.Text.Json.dll | -| [...]/System.Text.RegularExpressions.dll | -| [...]/System.Threading.Channels.dll | -| [...]/System.Threading.Overlapped.dll | -| [...]/System.Threading.Tasks.Dataflow.dll | -| [...]/System.Threading.Tasks.Extensions.dll | -| [...]/System.Threading.Tasks.Parallel.dll | -| [...]/System.Threading.Tasks.dll | -| [...]/System.Threading.Thread.dll | -| [...]/System.Threading.ThreadPool.dll | -| [...]/System.Threading.Timer.dll | -| [...]/System.Threading.dll | -| [...]/System.Transactions.Local.dll | -| [...]/System.Transactions.dll | -| [...]/System.ValueTuple.dll | -| [...]/System.Web.HttpUtility.dll | -| [...]/System.Web.dll | -| [...]/System.Windows.Extensions.dll | -| [...]/System.Windows.dll | -| [...]/System.Xml.Linq.dll | -| [...]/System.Xml.ReaderWriter.dll | -| [...]/System.Xml.Serialization.dll | -| [...]/System.Xml.XDocument.dll | -| [...]/System.Xml.XPath.XDocument.dll | -| [...]/System.Xml.XPath.dll | -| [...]/System.Xml.XmlDocument.dll | -| [...]/System.Xml.XmlSerializer.dll | -| [...]/System.Xml.dll | -| [...]/System.dll | -| [...]/WindowsBase.dll | -| [...]/mscorlib.dll | -| [...]/netstandard.dll | +| [...]/csharp/tools/[...]/Basic.CompilerLog.Util.dll | +| [...]/csharp/tools/[...]/Humanizer.dll | +| [...]/csharp/tools/[...]/MessagePack.Annotations.dll | +| [...]/csharp/tools/[...]/MessagePack.dll | +| [...]/csharp/tools/[...]/Microsoft.Build.Framework.dll | +| [...]/csharp/tools/[...]/Microsoft.Build.Utilities.Core.dll | +| [...]/csharp/tools/[...]/Microsoft.Build.dll | +| [...]/csharp/tools/[...]/Microsoft.CSharp.dll | +| [...]/csharp/tools/[...]/Microsoft.CodeAnalysis.CSharp.Workspaces.dll | +| [...]/csharp/tools/[...]/Microsoft.CodeAnalysis.CSharp.dll | +| [...]/csharp/tools/[...]/Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll | +| [...]/csharp/tools/[...]/Microsoft.CodeAnalysis.VisualBasic.dll | +| [...]/csharp/tools/[...]/Microsoft.CodeAnalysis.Workspaces.dll | +| [...]/csharp/tools/[...]/Microsoft.CodeAnalysis.dll | +| [...]/csharp/tools/[...]/Microsoft.Extensions.ObjectPool.dll | +| [...]/csharp/tools/[...]/Microsoft.NET.StringTools.dll | +| [...]/csharp/tools/[...]/Microsoft.VisualBasic.Core.dll | +| [...]/csharp/tools/[...]/Microsoft.VisualBasic.dll | +| [...]/csharp/tools/[...]/Microsoft.Win32.Primitives.dll | +| [...]/csharp/tools/[...]/Microsoft.Win32.Registry.dll | +| [...]/csharp/tools/[...]/Microsoft.Win32.SystemEvents.dll | +| [...]/csharp/tools/[...]/Mono.Posix.NETStandard.dll | +| [...]/csharp/tools/[...]/Newtonsoft.Json.dll | +| [...]/csharp/tools/[...]/StructuredLogger.dll | +| [...]/csharp/tools/[...]/System.AppContext.dll | +| [...]/csharp/tools/[...]/System.Buffers.dll | +| [...]/csharp/tools/[...]/System.Collections.Concurrent.dll | +| [...]/csharp/tools/[...]/System.Collections.Immutable.dll | +| [...]/csharp/tools/[...]/System.Collections.NonGeneric.dll | +| [...]/csharp/tools/[...]/System.Collections.Specialized.dll | +| [...]/csharp/tools/[...]/System.Collections.dll | +| [...]/csharp/tools/[...]/System.ComponentModel.Annotations.dll | +| [...]/csharp/tools/[...]/System.ComponentModel.DataAnnotations.dll | +| [...]/csharp/tools/[...]/System.ComponentModel.EventBasedAsync.dll | +| [...]/csharp/tools/[...]/System.ComponentModel.Primitives.dll | +| [...]/csharp/tools/[...]/System.ComponentModel.TypeConverter.dll | +| [...]/csharp/tools/[...]/System.ComponentModel.dll | +| [...]/csharp/tools/[...]/System.Composition.AttributedModel.dll | +| [...]/csharp/tools/[...]/System.Composition.Convention.dll | +| [...]/csharp/tools/[...]/System.Composition.Hosting.dll | +| [...]/csharp/tools/[...]/System.Composition.Runtime.dll | +| [...]/csharp/tools/[...]/System.Composition.TypedParts.dll | +| [...]/csharp/tools/[...]/System.Configuration.ConfigurationManager.dll | +| [...]/csharp/tools/[...]/System.Configuration.dll | +| [...]/csharp/tools/[...]/System.Console.dll | +| [...]/csharp/tools/[...]/System.Core.dll | +| [...]/csharp/tools/[...]/System.Data.Common.dll | +| [...]/csharp/tools/[...]/System.Data.DataSetExtensions.dll | +| [...]/csharp/tools/[...]/System.Data.dll | +| [...]/csharp/tools/[...]/System.Diagnostics.Contracts.dll | +| [...]/csharp/tools/[...]/System.Diagnostics.Debug.dll | +| [...]/csharp/tools/[...]/System.Diagnostics.DiagnosticSource.dll | +| [...]/csharp/tools/[...]/System.Diagnostics.EventLog.dll | +| [...]/csharp/tools/[...]/System.Diagnostics.FileVersionInfo.dll | +| [...]/csharp/tools/[...]/System.Diagnostics.Process.dll | +| [...]/csharp/tools/[...]/System.Diagnostics.StackTrace.dll | +| [...]/csharp/tools/[...]/System.Diagnostics.TextWriterTraceListener.dll | +| [...]/csharp/tools/[...]/System.Diagnostics.Tools.dll | +| [...]/csharp/tools/[...]/System.Diagnostics.TraceSource.dll | +| [...]/csharp/tools/[...]/System.Diagnostics.Tracing.dll | +| [...]/csharp/tools/[...]/System.Drawing.Common.dll | +| [...]/csharp/tools/[...]/System.Drawing.Primitives.dll | +| [...]/csharp/tools/[...]/System.Drawing.dll | +| [...]/csharp/tools/[...]/System.Dynamic.Runtime.dll | +| [...]/csharp/tools/[...]/System.Formats.Asn1.dll | +| [...]/csharp/tools/[...]/System.Formats.Tar.dll | +| [...]/csharp/tools/[...]/System.Globalization.Calendars.dll | +| [...]/csharp/tools/[...]/System.Globalization.Extensions.dll | +| [...]/csharp/tools/[...]/System.Globalization.dll | +| [...]/csharp/tools/[...]/System.IO.Compression.Brotli.dll | +| [...]/csharp/tools/[...]/System.IO.Compression.FileSystem.dll | +| [...]/csharp/tools/[...]/System.IO.Compression.ZipFile.dll | +| [...]/csharp/tools/[...]/System.IO.Compression.dll | +| [...]/csharp/tools/[...]/System.IO.FileSystem.AccessControl.dll | +| [...]/csharp/tools/[...]/System.IO.FileSystem.DriveInfo.dll | +| [...]/csharp/tools/[...]/System.IO.FileSystem.Primitives.dll | +| [...]/csharp/tools/[...]/System.IO.FileSystem.Watcher.dll | +| [...]/csharp/tools/[...]/System.IO.FileSystem.dll | +| [...]/csharp/tools/[...]/System.IO.IsolatedStorage.dll | +| [...]/csharp/tools/[...]/System.IO.MemoryMappedFiles.dll | +| [...]/csharp/tools/[...]/System.IO.Pipelines.dll | +| [...]/csharp/tools/[...]/System.IO.Pipes.AccessControl.dll | +| [...]/csharp/tools/[...]/System.IO.Pipes.dll | +| [...]/csharp/tools/[...]/System.IO.UnmanagedMemoryStream.dll | +| [...]/csharp/tools/[...]/System.IO.dll | +| [...]/csharp/tools/[...]/System.Linq.Expressions.dll | +| [...]/csharp/tools/[...]/System.Linq.Parallel.dll | +| [...]/csharp/tools/[...]/System.Linq.Queryable.dll | +| [...]/csharp/tools/[...]/System.Linq.dll | +| [...]/csharp/tools/[...]/System.Memory.dll | +| [...]/csharp/tools/[...]/System.Net.Http.Json.dll | +| [...]/csharp/tools/[...]/System.Net.Http.dll | +| [...]/csharp/tools/[...]/System.Net.HttpListener.dll | +| [...]/csharp/tools/[...]/System.Net.Mail.dll | +| [...]/csharp/tools/[...]/System.Net.NameResolution.dll | +| [...]/csharp/tools/[...]/System.Net.NetworkInformation.dll | +| [...]/csharp/tools/[...]/System.Net.Ping.dll | +| [...]/csharp/tools/[...]/System.Net.Primitives.dll | +| [...]/csharp/tools/[...]/System.Net.Quic.dll | +| [...]/csharp/tools/[...]/System.Net.Requests.dll | +| [...]/csharp/tools/[...]/System.Net.Security.dll | +| [...]/csharp/tools/[...]/System.Net.ServicePoint.dll | +| [...]/csharp/tools/[...]/System.Net.Sockets.dll | +| [...]/csharp/tools/[...]/System.Net.WebClient.dll | +| [...]/csharp/tools/[...]/System.Net.WebHeaderCollection.dll | +| [...]/csharp/tools/[...]/System.Net.WebProxy.dll | +| [...]/csharp/tools/[...]/System.Net.WebSockets.Client.dll | +| [...]/csharp/tools/[...]/System.Net.WebSockets.dll | +| [...]/csharp/tools/[...]/System.Net.dll | +| [...]/csharp/tools/[...]/System.Numerics.Vectors.dll | +| [...]/csharp/tools/[...]/System.Numerics.dll | +| [...]/csharp/tools/[...]/System.ObjectModel.dll | +| [...]/csharp/tools/[...]/System.Private.CoreLib.dll | +| [...]/csharp/tools/[...]/System.Private.DataContractSerialization.dll | +| [...]/csharp/tools/[...]/System.Private.Uri.dll | +| [...]/csharp/tools/[...]/System.Private.Xml.Linq.dll | +| [...]/csharp/tools/[...]/System.Private.Xml.dll | +| [...]/csharp/tools/[...]/System.Reflection.DispatchProxy.dll | +| [...]/csharp/tools/[...]/System.Reflection.Emit.ILGeneration.dll | +| [...]/csharp/tools/[...]/System.Reflection.Emit.Lightweight.dll | +| [...]/csharp/tools/[...]/System.Reflection.Emit.dll | +| [...]/csharp/tools/[...]/System.Reflection.Extensions.dll | +| [...]/csharp/tools/[...]/System.Reflection.Metadata.dll | +| [...]/csharp/tools/[...]/System.Reflection.MetadataLoadContext.dll | +| [...]/csharp/tools/[...]/System.Reflection.Primitives.dll | +| [...]/csharp/tools/[...]/System.Reflection.TypeExtensions.dll | +| [...]/csharp/tools/[...]/System.Reflection.dll | +| [...]/csharp/tools/[...]/System.Resources.Reader.dll | +| [...]/csharp/tools/[...]/System.Resources.ResourceManager.dll | +| [...]/csharp/tools/[...]/System.Resources.Writer.dll | +| [...]/csharp/tools/[...]/System.Runtime.CompilerServices.Unsafe.dll | +| [...]/csharp/tools/[...]/System.Runtime.CompilerServices.VisualC.dll | +| [...]/csharp/tools/[...]/System.Runtime.Extensions.dll | +| [...]/csharp/tools/[...]/System.Runtime.Handles.dll | +| [...]/csharp/tools/[...]/System.Runtime.InteropServices.JavaScript.dll | +| [...]/csharp/tools/[...]/System.Runtime.InteropServices.RuntimeInformation.dll | +| [...]/csharp/tools/[...]/System.Runtime.InteropServices.dll | +| [...]/csharp/tools/[...]/System.Runtime.Intrinsics.dll | +| [...]/csharp/tools/[...]/System.Runtime.Loader.dll | +| [...]/csharp/tools/[...]/System.Runtime.Numerics.dll | +| [...]/csharp/tools/[...]/System.Runtime.Serialization.Formatters.dll | +| [...]/csharp/tools/[...]/System.Runtime.Serialization.Json.dll | +| [...]/csharp/tools/[...]/System.Runtime.Serialization.Primitives.dll | +| [...]/csharp/tools/[...]/System.Runtime.Serialization.Xml.dll | +| [...]/csharp/tools/[...]/System.Runtime.Serialization.dll | +| [...]/csharp/tools/[...]/System.Runtime.dll | +| [...]/csharp/tools/[...]/System.Security.AccessControl.dll | +| [...]/csharp/tools/[...]/System.Security.Claims.dll | +| [...]/csharp/tools/[...]/System.Security.Cryptography.Algorithms.dll | +| [...]/csharp/tools/[...]/System.Security.Cryptography.Cng.dll | +| [...]/csharp/tools/[...]/System.Security.Cryptography.Csp.dll | +| [...]/csharp/tools/[...]/System.Security.Cryptography.Encoding.dll | +| [...]/csharp/tools/[...]/System.Security.Cryptography.OpenSsl.dll | +| [...]/csharp/tools/[...]/System.Security.Cryptography.Primitives.dll | +| [...]/csharp/tools/[...]/System.Security.Cryptography.ProtectedData.dll | +| [...]/csharp/tools/[...]/System.Security.Cryptography.X509Certificates.dll | +| [...]/csharp/tools/[...]/System.Security.Cryptography.dll | +| [...]/csharp/tools/[...]/System.Security.Permissions.dll | +| [...]/csharp/tools/[...]/System.Security.Principal.Windows.dll | +| [...]/csharp/tools/[...]/System.Security.Principal.dll | +| [...]/csharp/tools/[...]/System.Security.SecureString.dll | +| [...]/csharp/tools/[...]/System.Security.dll | +| [...]/csharp/tools/[...]/System.ServiceModel.Web.dll | +| [...]/csharp/tools/[...]/System.ServiceProcess.dll | +| [...]/csharp/tools/[...]/System.Text.Encoding.CodePages.dll | +| [...]/csharp/tools/[...]/System.Text.Encoding.Extensions.dll | +| [...]/csharp/tools/[...]/System.Text.Encoding.dll | +| [...]/csharp/tools/[...]/System.Text.Encodings.Web.dll | +| [...]/csharp/tools/[...]/System.Text.Json.dll | +| [...]/csharp/tools/[...]/System.Text.RegularExpressions.dll | +| [...]/csharp/tools/[...]/System.Threading.Channels.dll | +| [...]/csharp/tools/[...]/System.Threading.Overlapped.dll | +| [...]/csharp/tools/[...]/System.Threading.Tasks.Dataflow.dll | +| [...]/csharp/tools/[...]/System.Threading.Tasks.Extensions.dll | +| [...]/csharp/tools/[...]/System.Threading.Tasks.Parallel.dll | +| [...]/csharp/tools/[...]/System.Threading.Tasks.dll | +| [...]/csharp/tools/[...]/System.Threading.Thread.dll | +| [...]/csharp/tools/[...]/System.Threading.ThreadPool.dll | +| [...]/csharp/tools/[...]/System.Threading.Timer.dll | +| [...]/csharp/tools/[...]/System.Threading.dll | +| [...]/csharp/tools/[...]/System.Transactions.Local.dll | +| [...]/csharp/tools/[...]/System.Transactions.dll | +| [...]/csharp/tools/[...]/System.ValueTuple.dll | +| [...]/csharp/tools/[...]/System.Web.HttpUtility.dll | +| [...]/csharp/tools/[...]/System.Web.dll | +| [...]/csharp/tools/[...]/System.Windows.Extensions.dll | +| [...]/csharp/tools/[...]/System.Windows.dll | +| [...]/csharp/tools/[...]/System.Xml.Linq.dll | +| [...]/csharp/tools/[...]/System.Xml.ReaderWriter.dll | +| [...]/csharp/tools/[...]/System.Xml.Serialization.dll | +| [...]/csharp/tools/[...]/System.Xml.XDocument.dll | +| [...]/csharp/tools/[...]/System.Xml.XPath.XDocument.dll | +| [...]/csharp/tools/[...]/System.Xml.XPath.dll | +| [...]/csharp/tools/[...]/System.Xml.XmlDocument.dll | +| [...]/csharp/tools/[...]/System.Xml.XmlSerializer.dll | +| [...]/csharp/tools/[...]/System.Xml.dll | +| [...]/csharp/tools/[...]/System.dll | +| [...]/csharp/tools/[...]/WindowsBase.dll | +| [...]/csharp/tools/[...]/mscorlib.dll | +| [...]/csharp/tools/[...]/netstandard.dll | diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_executing_runtime/Assemblies.ql b/csharp/ql/integration-tests/posix-only/standalone_dependencies_executing_runtime/Assemblies.ql index 3bb648c579a..b5634fb7b96 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_executing_runtime/Assemblies.ql +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_executing_runtime/Assemblies.ql @@ -3,13 +3,8 @@ import csharp private string getPath(Assembly a) { not a.getCompilation().getOutputAssembly() = a and exists(string s | s = a.getFile().getAbsolutePath() | - result = - "[...]" + - s.substring(s.indexOf("test-db/working/") + "test-db/working/".length() + 16 + - "/packages".length(), s.length()) - or exists(string sub | sub = "csharp/tools/" + ["osx64", "linux64"] | - result = "[...]" + s.substring(s.indexOf(sub) + sub.length(), s.length()) + result = "[...]/csharp/tools/[...]" + s.substring(s.indexOf(sub) + sub.length(), s.length()) ) or result = s and diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_project/Assemblies.expected b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_project/Assemblies.expected index 2d54c0155a4..d1602665e16 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_project/Assemblies.expected +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_project/Assemblies.expected @@ -1,166 +1,166 @@ -| [...]/avalara.avatax/23.11.0/lib/netstandard2.0/Avalara.AvaTax.RestClient.dll | -| [...]/microsoft.bcl.asyncinterfaces/8.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.CSharp.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Core.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.AppContext.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Buffers.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Concurrent.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Immutable.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.NonGeneric.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Specialized.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Annotations.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.DataAnnotations.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.EventBasedAsync.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.TypeConverter.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Configuration.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Console.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Core.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.Common.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.DataSetExtensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Contracts.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Debug.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.DiagnosticSource.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.FileVersionInfo.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Process.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.StackTrace.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TextWriterTraceListener.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tools.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TraceSource.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tracing.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Dynamic.Runtime.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Asn1.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Tar.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Calendars.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.Brotli.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.FileSystem.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.ZipFile.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.AccessControl.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.DriveInfo.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Watcher.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.IsolatedStorage.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.MemoryMappedFiles.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.AccessControl.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.UnmanagedMemoryStream.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Expressions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Parallel.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Queryable.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Memory.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.Json.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.HttpListener.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Mail.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NameResolution.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NetworkInformation.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Ping.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Quic.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Requests.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Security.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.ServicePoint.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Sockets.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebClient.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebHeaderCollection.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebProxy.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.Client.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.Vectors.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ObjectModel.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.DispatchProxy.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.ILGeneration.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.Lightweight.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Metadata.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.TypeExtensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Reader.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.ResourceManager.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Writer.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.Unsafe.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.VisualC.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Handles.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.JavaScript.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.RuntimeInformation.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Intrinsics.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Loader.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Numerics.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Formatters.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Json.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Xml.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.AccessControl.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Claims.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Algorithms.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Cng.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Csp.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Encoding.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.OpenSsl.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.X509Certificates.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.Windows.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.SecureString.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceModel.Web.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceProcess.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.CodePages.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encodings.Web.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Json.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.RegularExpressions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Channels.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Overlapped.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Dataflow.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Parallel.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Thread.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.ThreadPool.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Timer.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.Local.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ValueTuple.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.HttpUtility.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Windows.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Linq.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.ReaderWriter.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Serialization.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XDocument.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.XDocument.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlDocument.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlSerializer.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/WindowsBase.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/mscorlib.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/netstandard.dll | -| [...]/newtonsoft.json/12.0.1/lib/netstandard2.0/Newtonsoft.Json.dll | +| test-db/working/packages/avalara.avatax/23.11.0/lib/netstandard2.0/Avalara.AvaTax.RestClient.dll:0:0:0:0 | Avalara.AvaTax.RestClient, Version=0.0.0.0, Culture=neutral, PublicKeyToken=be94eb8ba37fd33c | +| test-db/working/packages/microsoft.bcl.asyncinterfaces/8.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll:0:0:0:0 | Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.CSharp.dll:0:0:0:0 | Microsoft.CSharp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Core.dll:0:0:0:0 | Microsoft.VisualBasic.Core, Version=13.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.dll:0:0:0:0 | Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Primitives.dll:0:0:0:0 | Microsoft.Win32.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.dll:0:0:0:0 | Microsoft.Win32.Registry, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.AppContext.dll:0:0:0:0 | System.AppContext, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Buffers.dll:0:0:0:0 | System.Buffers, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Concurrent.dll:0:0:0:0 | System.Collections.Concurrent, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Immutable.dll:0:0:0:0 | System.Collections.Immutable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.NonGeneric.dll:0:0:0:0 | System.Collections.NonGeneric, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Specialized.dll:0:0:0:0 | System.Collections.Specialized, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.dll:0:0:0:0 | System.Collections, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Annotations.dll:0:0:0:0 | System.ComponentModel.Annotations, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.DataAnnotations.dll:0:0:0:0 | System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.EventBasedAsync.dll:0:0:0:0 | System.ComponentModel.EventBasedAsync, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Primitives.dll:0:0:0:0 | System.ComponentModel.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.TypeConverter.dll:0:0:0:0 | System.ComponentModel.TypeConverter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.dll:0:0:0:0 | System.ComponentModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Configuration.dll:0:0:0:0 | System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Console.dll:0:0:0:0 | System.Console, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Core.dll:0:0:0:0 | System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.Common.dll:0:0:0:0 | System.Data.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.DataSetExtensions.dll:0:0:0:0 | System.Data.DataSetExtensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.dll:0:0:0:0 | System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Contracts.dll:0:0:0:0 | System.Diagnostics.Contracts, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Debug.dll:0:0:0:0 | System.Diagnostics.Debug, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.DiagnosticSource.dll:0:0:0:0 | System.Diagnostics.DiagnosticSource, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.FileVersionInfo.dll:0:0:0:0 | System.Diagnostics.FileVersionInfo, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Process.dll:0:0:0:0 | System.Diagnostics.Process, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.StackTrace.dll:0:0:0:0 | System.Diagnostics.StackTrace, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TextWriterTraceListener.dll:0:0:0:0 | System.Diagnostics.TextWriterTraceListener, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tools.dll:0:0:0:0 | System.Diagnostics.Tools, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TraceSource.dll:0:0:0:0 | System.Diagnostics.TraceSource, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tracing.dll:0:0:0:0 | System.Diagnostics.Tracing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.Primitives.dll:0:0:0:0 | System.Drawing.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.dll:0:0:0:0 | System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Dynamic.Runtime.dll:0:0:0:0 | System.Dynamic.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Asn1.dll:0:0:0:0 | System.Formats.Asn1, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Tar.dll:0:0:0:0 | System.Formats.Tar, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Calendars.dll:0:0:0:0 | System.Globalization.Calendars, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Extensions.dll:0:0:0:0 | System.Globalization.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.dll:0:0:0:0 | System.Globalization, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.Brotli.dll:0:0:0:0 | System.IO.Compression.Brotli, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.FileSystem.dll:0:0:0:0 | System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.ZipFile.dll:0:0:0:0 | System.IO.Compression.ZipFile, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.dll:0:0:0:0 | System.IO.Compression, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.AccessControl.dll:0:0:0:0 | System.IO.FileSystem.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.DriveInfo.dll:0:0:0:0 | System.IO.FileSystem.DriveInfo, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Primitives.dll:0:0:0:0 | System.IO.FileSystem.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Watcher.dll:0:0:0:0 | System.IO.FileSystem.Watcher, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.dll:0:0:0:0 | System.IO.FileSystem, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.IsolatedStorage.dll:0:0:0:0 | System.IO.IsolatedStorage, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.MemoryMappedFiles.dll:0:0:0:0 | System.IO.MemoryMappedFiles, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.AccessControl.dll:0:0:0:0 | System.IO.Pipes.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.dll:0:0:0:0 | System.IO.Pipes, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.UnmanagedMemoryStream.dll:0:0:0:0 | System.IO.UnmanagedMemoryStream, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.dll:0:0:0:0 | System.IO, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Expressions.dll:0:0:0:0 | System.Linq.Expressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Parallel.dll:0:0:0:0 | System.Linq.Parallel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Queryable.dll:0:0:0:0 | System.Linq.Queryable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.dll:0:0:0:0 | System.Linq, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Memory.dll:0:0:0:0 | System.Memory, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.Json.dll:0:0:0:0 | System.Net.Http.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.dll:0:0:0:0 | System.Net.Http, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.HttpListener.dll:0:0:0:0 | System.Net.HttpListener, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Mail.dll:0:0:0:0 | System.Net.Mail, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NameResolution.dll:0:0:0:0 | System.Net.NameResolution, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NetworkInformation.dll:0:0:0:0 | System.Net.NetworkInformation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Ping.dll:0:0:0:0 | System.Net.Ping, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Primitives.dll:0:0:0:0 | System.Net.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Quic.dll:0:0:0:0 | System.Net.Quic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Requests.dll:0:0:0:0 | System.Net.Requests, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Security.dll:0:0:0:0 | System.Net.Security, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.ServicePoint.dll:0:0:0:0 | System.Net.ServicePoint, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Sockets.dll:0:0:0:0 | System.Net.Sockets, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebClient.dll:0:0:0:0 | System.Net.WebClient, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebHeaderCollection.dll:0:0:0:0 | System.Net.WebHeaderCollection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebProxy.dll:0:0:0:0 | System.Net.WebProxy, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.Client.dll:0:0:0:0 | System.Net.WebSockets.Client, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.dll:0:0:0:0 | System.Net.WebSockets, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.dll:0:0:0:0 | System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.Vectors.dll:0:0:0:0 | System.Numerics.Vectors, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.dll:0:0:0:0 | System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ObjectModel.dll:0:0:0:0 | System.ObjectModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.DispatchProxy.dll:0:0:0:0 | System.Reflection.DispatchProxy, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.ILGeneration.dll:0:0:0:0 | System.Reflection.Emit.ILGeneration, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.Lightweight.dll:0:0:0:0 | System.Reflection.Emit.Lightweight, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.dll:0:0:0:0 | System.Reflection.Emit, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Extensions.dll:0:0:0:0 | System.Reflection.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Metadata.dll:0:0:0:0 | System.Reflection.Metadata, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Primitives.dll:0:0:0:0 | System.Reflection.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.TypeExtensions.dll:0:0:0:0 | System.Reflection.TypeExtensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.dll:0:0:0:0 | System.Reflection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Reader.dll:0:0:0:0 | System.Resources.Reader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.ResourceManager.dll:0:0:0:0 | System.Resources.ResourceManager, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Writer.dll:0:0:0:0 | System.Resources.Writer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.Unsafe.dll:0:0:0:0 | System.Runtime.CompilerServices.Unsafe, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.VisualC.dll:0:0:0:0 | System.Runtime.CompilerServices.VisualC, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Extensions.dll:0:0:0:0 | System.Runtime.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Handles.dll:0:0:0:0 | System.Runtime.Handles, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.JavaScript.dll:0:0:0:0 | System.Runtime.InteropServices.JavaScript, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.RuntimeInformation.dll:0:0:0:0 | System.Runtime.InteropServices.RuntimeInformation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.dll:0:0:0:0 | System.Runtime.InteropServices, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Intrinsics.dll:0:0:0:0 | System.Runtime.Intrinsics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Loader.dll:0:0:0:0 | System.Runtime.Loader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Numerics.dll:0:0:0:0 | System.Runtime.Numerics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Formatters.dll:0:0:0:0 | System.Runtime.Serialization.Formatters, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Json.dll:0:0:0:0 | System.Runtime.Serialization.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Primitives.dll:0:0:0:0 | System.Runtime.Serialization.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Xml.dll:0:0:0:0 | System.Runtime.Serialization.Xml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.dll:0:0:0:0 | System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.dll:0:0:0:0 | System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.AccessControl.dll:0:0:0:0 | System.Security.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Claims.dll:0:0:0:0 | System.Security.Claims, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Algorithms.dll:0:0:0:0 | System.Security.Cryptography.Algorithms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Cng.dll:0:0:0:0 | System.Security.Cryptography.Cng, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Csp.dll:0:0:0:0 | System.Security.Cryptography.Csp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Encoding.dll:0:0:0:0 | System.Security.Cryptography.Encoding, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.OpenSsl.dll:0:0:0:0 | System.Security.Cryptography.OpenSsl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Primitives.dll:0:0:0:0 | System.Security.Cryptography.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.X509Certificates.dll:0:0:0:0 | System.Security.Cryptography.X509Certificates, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.dll:0:0:0:0 | System.Security.Cryptography, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.Windows.dll:0:0:0:0 | System.Security.Principal.Windows, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.dll:0:0:0:0 | System.Security.Principal, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.SecureString.dll:0:0:0:0 | System.Security.SecureString, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.dll:0:0:0:0 | System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceModel.Web.dll:0:0:0:0 | System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceProcess.dll:0:0:0:0 | System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.CodePages.dll:0:0:0:0 | System.Text.Encoding.CodePages, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.Extensions.dll:0:0:0:0 | System.Text.Encoding.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.dll:0:0:0:0 | System.Text.Encoding, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encodings.Web.dll:0:0:0:0 | System.Text.Encodings.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Json.dll:0:0:0:0 | System.Text.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.RegularExpressions.dll:0:0:0:0 | System.Text.RegularExpressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Channels.dll:0:0:0:0 | System.Threading.Channels, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Overlapped.dll:0:0:0:0 | System.Threading.Overlapped, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Dataflow.dll:0:0:0:0 | System.Threading.Tasks.Dataflow, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Extensions.dll:0:0:0:0 | System.Threading.Tasks.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Parallel.dll:0:0:0:0 | System.Threading.Tasks.Parallel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.dll:0:0:0:0 | System.Threading.Tasks, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Thread.dll:0:0:0:0 | System.Threading.Thread, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.ThreadPool.dll:0:0:0:0 | System.Threading.ThreadPool, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Timer.dll:0:0:0:0 | System.Threading.Timer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.dll:0:0:0:0 | System.Threading, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.Local.dll:0:0:0:0 | System.Transactions.Local, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.dll:0:0:0:0 | System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ValueTuple.dll:0:0:0:0 | System.ValueTuple, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.HttpUtility.dll:0:0:0:0 | System.Web.HttpUtility, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.dll:0:0:0:0 | System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Windows.dll:0:0:0:0 | System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Linq.dll:0:0:0:0 | System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.ReaderWriter.dll:0:0:0:0 | System.Xml.ReaderWriter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Serialization.dll:0:0:0:0 | System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XDocument.dll:0:0:0:0 | System.Xml.XDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.XDocument.dll:0:0:0:0 | System.Xml.XPath.XDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.dll:0:0:0:0 | System.Xml.XPath, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlDocument.dll:0:0:0:0 | System.Xml.XmlDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlSerializer.dll:0:0:0:0 | System.Xml.XmlSerializer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.dll:0:0:0:0 | System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.dll:0:0:0:0 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/WindowsBase.dll:0:0:0:0 | WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/mscorlib.dll:0:0:0:0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/netstandard.dll:0:0:0:0 | netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/newtonsoft.json/12.0.1/lib/netstandard2.0/Newtonsoft.Json.dll:0:0:0:0 | Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed | diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_project/Assemblies.ql b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_project/Assemblies.ql index b78ceee2d8f..931e64d87ba 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_project/Assemblies.ql +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_project/Assemblies.ql @@ -1,17 +1,5 @@ import csharp -private string getPath(Assembly a) { - not a.getCompilation().getOutputAssembly() = a and - exists(string s | s = a.getFile().getAbsolutePath() | - result = - "[...]" + - s.substring(s.indexOf("test-db/working/") + "test-db/working/".length() + 16 + - "/packages".length(), s.length()) - or - result = s and - not exists(s.indexOf("test-db/working/")) - ) -} - from Assembly a -select getPath(a) +where not a.getCompilation().getOutputAssembly() = a +select a diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/Assemblies.expected b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/Assemblies.expected index c48fe98ac96..74544f88e71 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/Assemblies.expected +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/Assemblies.expected @@ -1,163 +1,163 @@ -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.CSharp.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Core.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.AppContext.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Buffers.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Concurrent.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Immutable.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.NonGeneric.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Specialized.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Annotations.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.DataAnnotations.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.EventBasedAsync.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.TypeConverter.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Configuration.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Console.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Core.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.Common.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.DataSetExtensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Contracts.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Debug.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.DiagnosticSource.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.FileVersionInfo.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Process.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.StackTrace.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TextWriterTraceListener.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tools.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TraceSource.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tracing.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Dynamic.Runtime.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Asn1.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Tar.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Calendars.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.Brotli.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.FileSystem.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.ZipFile.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.AccessControl.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.DriveInfo.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Watcher.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.IsolatedStorage.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.MemoryMappedFiles.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.AccessControl.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.UnmanagedMemoryStream.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Expressions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Parallel.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Queryable.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Memory.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.Json.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.HttpListener.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Mail.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NameResolution.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NetworkInformation.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Ping.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Quic.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Requests.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Security.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.ServicePoint.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Sockets.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebClient.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebHeaderCollection.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebProxy.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.Client.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.Vectors.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ObjectModel.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.DispatchProxy.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.ILGeneration.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.Lightweight.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Metadata.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.TypeExtensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Reader.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.ResourceManager.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Writer.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.Unsafe.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.VisualC.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Handles.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.JavaScript.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.RuntimeInformation.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Intrinsics.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Loader.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Numerics.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Formatters.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Json.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Xml.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.AccessControl.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Claims.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Algorithms.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Cng.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Csp.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Encoding.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.OpenSsl.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.X509Certificates.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.Windows.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.SecureString.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceModel.Web.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceProcess.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.CodePages.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encodings.Web.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Json.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.RegularExpressions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Channels.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Overlapped.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Dataflow.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Parallel.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Thread.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.ThreadPool.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Timer.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.Local.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ValueTuple.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.HttpUtility.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Windows.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Linq.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.ReaderWriter.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Serialization.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XDocument.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.XDocument.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlDocument.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlSerializer.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/WindowsBase.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/mscorlib.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/netstandard.dll | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.CSharp.dll:0:0:0:0 | Microsoft.CSharp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Core.dll:0:0:0:0 | Microsoft.VisualBasic.Core, Version=13.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.dll:0:0:0:0 | Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Primitives.dll:0:0:0:0 | Microsoft.Win32.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.dll:0:0:0:0 | Microsoft.Win32.Registry, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.AppContext.dll:0:0:0:0 | System.AppContext, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Buffers.dll:0:0:0:0 | System.Buffers, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Concurrent.dll:0:0:0:0 | System.Collections.Concurrent, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Immutable.dll:0:0:0:0 | System.Collections.Immutable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.NonGeneric.dll:0:0:0:0 | System.Collections.NonGeneric, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Specialized.dll:0:0:0:0 | System.Collections.Specialized, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.dll:0:0:0:0 | System.Collections, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Annotations.dll:0:0:0:0 | System.ComponentModel.Annotations, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.DataAnnotations.dll:0:0:0:0 | System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.EventBasedAsync.dll:0:0:0:0 | System.ComponentModel.EventBasedAsync, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Primitives.dll:0:0:0:0 | System.ComponentModel.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.TypeConverter.dll:0:0:0:0 | System.ComponentModel.TypeConverter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.dll:0:0:0:0 | System.ComponentModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Configuration.dll:0:0:0:0 | System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Console.dll:0:0:0:0 | System.Console, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Core.dll:0:0:0:0 | System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.Common.dll:0:0:0:0 | System.Data.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.DataSetExtensions.dll:0:0:0:0 | System.Data.DataSetExtensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.dll:0:0:0:0 | System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Contracts.dll:0:0:0:0 | System.Diagnostics.Contracts, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Debug.dll:0:0:0:0 | System.Diagnostics.Debug, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.DiagnosticSource.dll:0:0:0:0 | System.Diagnostics.DiagnosticSource, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.FileVersionInfo.dll:0:0:0:0 | System.Diagnostics.FileVersionInfo, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Process.dll:0:0:0:0 | System.Diagnostics.Process, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.StackTrace.dll:0:0:0:0 | System.Diagnostics.StackTrace, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TextWriterTraceListener.dll:0:0:0:0 | System.Diagnostics.TextWriterTraceListener, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tools.dll:0:0:0:0 | System.Diagnostics.Tools, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TraceSource.dll:0:0:0:0 | System.Diagnostics.TraceSource, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tracing.dll:0:0:0:0 | System.Diagnostics.Tracing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.Primitives.dll:0:0:0:0 | System.Drawing.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.dll:0:0:0:0 | System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Dynamic.Runtime.dll:0:0:0:0 | System.Dynamic.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Asn1.dll:0:0:0:0 | System.Formats.Asn1, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Tar.dll:0:0:0:0 | System.Formats.Tar, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Calendars.dll:0:0:0:0 | System.Globalization.Calendars, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Extensions.dll:0:0:0:0 | System.Globalization.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.dll:0:0:0:0 | System.Globalization, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.Brotli.dll:0:0:0:0 | System.IO.Compression.Brotli, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.FileSystem.dll:0:0:0:0 | System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.ZipFile.dll:0:0:0:0 | System.IO.Compression.ZipFile, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.dll:0:0:0:0 | System.IO.Compression, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.AccessControl.dll:0:0:0:0 | System.IO.FileSystem.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.DriveInfo.dll:0:0:0:0 | System.IO.FileSystem.DriveInfo, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Primitives.dll:0:0:0:0 | System.IO.FileSystem.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Watcher.dll:0:0:0:0 | System.IO.FileSystem.Watcher, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.dll:0:0:0:0 | System.IO.FileSystem, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.IsolatedStorage.dll:0:0:0:0 | System.IO.IsolatedStorage, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.MemoryMappedFiles.dll:0:0:0:0 | System.IO.MemoryMappedFiles, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.AccessControl.dll:0:0:0:0 | System.IO.Pipes.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.dll:0:0:0:0 | System.IO.Pipes, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.UnmanagedMemoryStream.dll:0:0:0:0 | System.IO.UnmanagedMemoryStream, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.dll:0:0:0:0 | System.IO, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Expressions.dll:0:0:0:0 | System.Linq.Expressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Parallel.dll:0:0:0:0 | System.Linq.Parallel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Queryable.dll:0:0:0:0 | System.Linq.Queryable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.dll:0:0:0:0 | System.Linq, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Memory.dll:0:0:0:0 | System.Memory, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.Json.dll:0:0:0:0 | System.Net.Http.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.dll:0:0:0:0 | System.Net.Http, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.HttpListener.dll:0:0:0:0 | System.Net.HttpListener, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Mail.dll:0:0:0:0 | System.Net.Mail, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NameResolution.dll:0:0:0:0 | System.Net.NameResolution, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NetworkInformation.dll:0:0:0:0 | System.Net.NetworkInformation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Ping.dll:0:0:0:0 | System.Net.Ping, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Primitives.dll:0:0:0:0 | System.Net.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Quic.dll:0:0:0:0 | System.Net.Quic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Requests.dll:0:0:0:0 | System.Net.Requests, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Security.dll:0:0:0:0 | System.Net.Security, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.ServicePoint.dll:0:0:0:0 | System.Net.ServicePoint, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Sockets.dll:0:0:0:0 | System.Net.Sockets, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebClient.dll:0:0:0:0 | System.Net.WebClient, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebHeaderCollection.dll:0:0:0:0 | System.Net.WebHeaderCollection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebProxy.dll:0:0:0:0 | System.Net.WebProxy, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.Client.dll:0:0:0:0 | System.Net.WebSockets.Client, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.dll:0:0:0:0 | System.Net.WebSockets, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.dll:0:0:0:0 | System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.Vectors.dll:0:0:0:0 | System.Numerics.Vectors, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.dll:0:0:0:0 | System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ObjectModel.dll:0:0:0:0 | System.ObjectModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.DispatchProxy.dll:0:0:0:0 | System.Reflection.DispatchProxy, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.ILGeneration.dll:0:0:0:0 | System.Reflection.Emit.ILGeneration, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.Lightweight.dll:0:0:0:0 | System.Reflection.Emit.Lightweight, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.dll:0:0:0:0 | System.Reflection.Emit, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Extensions.dll:0:0:0:0 | System.Reflection.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Metadata.dll:0:0:0:0 | System.Reflection.Metadata, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Primitives.dll:0:0:0:0 | System.Reflection.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.TypeExtensions.dll:0:0:0:0 | System.Reflection.TypeExtensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.dll:0:0:0:0 | System.Reflection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Reader.dll:0:0:0:0 | System.Resources.Reader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.ResourceManager.dll:0:0:0:0 | System.Resources.ResourceManager, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Writer.dll:0:0:0:0 | System.Resources.Writer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.Unsafe.dll:0:0:0:0 | System.Runtime.CompilerServices.Unsafe, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.VisualC.dll:0:0:0:0 | System.Runtime.CompilerServices.VisualC, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Extensions.dll:0:0:0:0 | System.Runtime.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Handles.dll:0:0:0:0 | System.Runtime.Handles, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.JavaScript.dll:0:0:0:0 | System.Runtime.InteropServices.JavaScript, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.RuntimeInformation.dll:0:0:0:0 | System.Runtime.InteropServices.RuntimeInformation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.dll:0:0:0:0 | System.Runtime.InteropServices, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Intrinsics.dll:0:0:0:0 | System.Runtime.Intrinsics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Loader.dll:0:0:0:0 | System.Runtime.Loader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Numerics.dll:0:0:0:0 | System.Runtime.Numerics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Formatters.dll:0:0:0:0 | System.Runtime.Serialization.Formatters, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Json.dll:0:0:0:0 | System.Runtime.Serialization.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Primitives.dll:0:0:0:0 | System.Runtime.Serialization.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Xml.dll:0:0:0:0 | System.Runtime.Serialization.Xml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.dll:0:0:0:0 | System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.dll:0:0:0:0 | System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.AccessControl.dll:0:0:0:0 | System.Security.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Claims.dll:0:0:0:0 | System.Security.Claims, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Algorithms.dll:0:0:0:0 | System.Security.Cryptography.Algorithms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Cng.dll:0:0:0:0 | System.Security.Cryptography.Cng, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Csp.dll:0:0:0:0 | System.Security.Cryptography.Csp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Encoding.dll:0:0:0:0 | System.Security.Cryptography.Encoding, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.OpenSsl.dll:0:0:0:0 | System.Security.Cryptography.OpenSsl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Primitives.dll:0:0:0:0 | System.Security.Cryptography.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.X509Certificates.dll:0:0:0:0 | System.Security.Cryptography.X509Certificates, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.dll:0:0:0:0 | System.Security.Cryptography, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.Windows.dll:0:0:0:0 | System.Security.Principal.Windows, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.dll:0:0:0:0 | System.Security.Principal, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.SecureString.dll:0:0:0:0 | System.Security.SecureString, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.dll:0:0:0:0 | System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceModel.Web.dll:0:0:0:0 | System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceProcess.dll:0:0:0:0 | System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.CodePages.dll:0:0:0:0 | System.Text.Encoding.CodePages, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.Extensions.dll:0:0:0:0 | System.Text.Encoding.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.dll:0:0:0:0 | System.Text.Encoding, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encodings.Web.dll:0:0:0:0 | System.Text.Encodings.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Json.dll:0:0:0:0 | System.Text.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.RegularExpressions.dll:0:0:0:0 | System.Text.RegularExpressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Channels.dll:0:0:0:0 | System.Threading.Channels, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Overlapped.dll:0:0:0:0 | System.Threading.Overlapped, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Dataflow.dll:0:0:0:0 | System.Threading.Tasks.Dataflow, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Extensions.dll:0:0:0:0 | System.Threading.Tasks.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Parallel.dll:0:0:0:0 | System.Threading.Tasks.Parallel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.dll:0:0:0:0 | System.Threading.Tasks, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Thread.dll:0:0:0:0 | System.Threading.Thread, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.ThreadPool.dll:0:0:0:0 | System.Threading.ThreadPool, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Timer.dll:0:0:0:0 | System.Threading.Timer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.dll:0:0:0:0 | System.Threading, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.Local.dll:0:0:0:0 | System.Transactions.Local, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.dll:0:0:0:0 | System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ValueTuple.dll:0:0:0:0 | System.ValueTuple, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.HttpUtility.dll:0:0:0:0 | System.Web.HttpUtility, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.dll:0:0:0:0 | System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Windows.dll:0:0:0:0 | System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Linq.dll:0:0:0:0 | System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.ReaderWriter.dll:0:0:0:0 | System.Xml.ReaderWriter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Serialization.dll:0:0:0:0 | System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XDocument.dll:0:0:0:0 | System.Xml.XDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.XDocument.dll:0:0:0:0 | System.Xml.XPath.XDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.dll:0:0:0:0 | System.Xml.XPath, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlDocument.dll:0:0:0:0 | System.Xml.XmlDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlSerializer.dll:0:0:0:0 | System.Xml.XmlSerializer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.dll:0:0:0:0 | System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.dll:0:0:0:0 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/WindowsBase.dll:0:0:0:0 | WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/mscorlib.dll:0:0:0:0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/netstandard.dll:0:0:0:0 | netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/Assemblies.ql b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/Assemblies.ql index b78ceee2d8f..931e64d87ba 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/Assemblies.ql +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_multi_target/Assemblies.ql @@ -1,17 +1,5 @@ import csharp -private string getPath(Assembly a) { - not a.getCompilation().getOutputAssembly() = a and - exists(string s | s = a.getFile().getAbsolutePath() | - result = - "[...]" + - s.substring(s.indexOf("test-db/working/") + "test-db/working/".length() + 16 + - "/packages".length(), s.length()) - or - result = s and - not exists(s.indexOf("test-db/working/")) - ) -} - from Assembly a -select getPath(a) +where not a.getCompilation().getOutputAssembly() = a +select a diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_no_framework/Assemblies.expected b/csharp/ql/integration-tests/posix-only/standalone_dependencies_no_framework/Assemblies.expected index ec1192ed029..0934f8063db 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_no_framework/Assemblies.expected +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_no_framework/Assemblies.expected @@ -1 +1 @@ -| [...]/packages/newtonsoft.json/6.0.4/lib/net45/Newtonsoft.Json.dll | +| test-db/working/packages/newtonsoft.json/6.0.4/lib/net45/Newtonsoft.Json.dll:0:0:0:0 | Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed | diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_no_framework/Assemblies.ql b/csharp/ql/integration-tests/posix-only/standalone_dependencies_no_framework/Assemblies.ql index e542b688455..931e64d87ba 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_no_framework/Assemblies.ql +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_no_framework/Assemblies.ql @@ -1,16 +1,5 @@ import csharp -private string getPath(Assembly a) { - not a.getCompilation().getOutputAssembly() = a and - exists(string s | s = a.getFile().getAbsolutePath() | - result = - "[...]" + - s.substring(s.indexOf("test-db/working/") + "test-db/working/".length() + 16, s.length()) - or - result = s and - not exists(s.indexOf("test-db/working/")) - ) -} - from Assembly a -select getPath(a) +where not a.getCompilation().getOutputAssembly() = a +select a diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget with_space/Assemblies.expected b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget with_space/Assemblies.expected index bf3b256b71f..81c60c5c30a 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget with_space/Assemblies.expected +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget with_space/Assemblies.expected @@ -1 +1 @@ -| [...]/Newtonsoft.Json.6.0.4/lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.dll | +| test-db/working/legacypackages/Newtonsoft.Json.6.0.4/lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.dll:0:0:0:0 | Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed | diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget with_space/Assemblies.ql b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget with_space/Assemblies.ql index 24308907aa3..d3e30baf5fb 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget with_space/Assemblies.ql +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget with_space/Assemblies.ql @@ -1,15 +1,5 @@ import csharp -private string getPath(Assembly a) { - not a.getCompilation().getOutputAssembly() = a and - exists(string s | s = a.getFile().getAbsolutePath() | - result = - "[...]" + - s.substring(s.indexOf("test-db/working/") + "test-db/working/".length() + 16 + - "/legacypackages".length(), s.length()) - // TODO: include all other assemblies from the test results. Initially disable because mono installations were problematic on ARM runners. - ) -} - from Assembly a -select getPath(a) +where exists(a.getFile().getAbsolutePath().indexOf("/legacypackages/")) +select a diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget/Assemblies.expected b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget/Assemblies.expected index bf3b256b71f..81c60c5c30a 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget/Assemblies.expected +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget/Assemblies.expected @@ -1 +1 @@ -| [...]/Newtonsoft.Json.6.0.4/lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.dll | +| test-db/working/legacypackages/Newtonsoft.Json.6.0.4/lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.dll:0:0:0:0 | Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed | diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget/Assemblies.ql b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget/Assemblies.ql index 24308907aa3..d3e30baf5fb 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget/Assemblies.ql +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget/Assemblies.ql @@ -1,15 +1,5 @@ import csharp -private string getPath(Assembly a) { - not a.getCompilation().getOutputAssembly() = a and - exists(string s | s = a.getFile().getAbsolutePath() | - result = - "[...]" + - s.substring(s.indexOf("test-db/working/") + "test-db/working/".length() + 16 + - "/legacypackages".length(), s.length()) - // TODO: include all other assemblies from the test results. Initially disable because mono installations were problematic on ARM runners. - ) -} - from Assembly a -select getPath(a) +where exists(a.getFile().getAbsolutePath().indexOf("/legacypackages/")) +select a diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_error/Assemblies.expected b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_error/Assemblies.expected index 2a530060edb..4b2df5c2e32 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_error/Assemblies.expected +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_error/Assemblies.expected @@ -1 +1 @@ -| [...]/newtonsoft.json/13.0.3/lib/net6.0/Newtonsoft.Json.dll | +| test-db/working/missingpackages/newtonsoft.json/13.0.3/lib/net6.0/Newtonsoft.Json.dll:0:0:0:0 | Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed | diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_error/Assemblies.ql b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_error/Assemblies.ql index 79cf92de791..0eb33b7ae37 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_error/Assemblies.ql +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_error/Assemblies.ql @@ -1,11 +1,5 @@ import csharp -private string getPath(Assembly a) { - not a.getCompilation().getOutputAssembly() = a and - exists(string s | s = a.getFile().getAbsolutePath() | - result = "[...]/" + s.substring(s.indexOf("newtonsoft.json"), s.length()) - ) -} - from Assembly a -select getPath(a) +where exists(a.getFile().getAbsolutePath().indexOf("newtonsoft.json")) +select a diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_error_timeout/Assemblies.expected b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_error_timeout/Assemblies.expected index 2a530060edb..4b2df5c2e32 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_error_timeout/Assemblies.expected +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_error_timeout/Assemblies.expected @@ -1 +1 @@ -| [...]/newtonsoft.json/13.0.3/lib/net6.0/Newtonsoft.Json.dll | +| test-db/working/missingpackages/newtonsoft.json/13.0.3/lib/net6.0/Newtonsoft.Json.dll:0:0:0:0 | Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed | diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_error_timeout/Assemblies.ql b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_error_timeout/Assemblies.ql index 79cf92de791..0eb33b7ae37 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_error_timeout/Assemblies.ql +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_error_timeout/Assemblies.ql @@ -1,11 +1,5 @@ import csharp -private string getPath(Assembly a) { - not a.getCompilation().getOutputAssembly() = a and - exists(string s | s = a.getFile().getAbsolutePath() | - result = "[...]/" + s.substring(s.indexOf("newtonsoft.json"), s.length()) - ) -} - from Assembly a -select getPath(a) +where exists(a.getFile().getAbsolutePath().indexOf("newtonsoft.json")) +select a diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_fallback/Assemblies.expected b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_fallback/Assemblies.expected index 2a530060edb..4b2df5c2e32 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_fallback/Assemblies.expected +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_fallback/Assemblies.expected @@ -1 +1 @@ -| [...]/newtonsoft.json/13.0.3/lib/net6.0/Newtonsoft.Json.dll | +| test-db/working/missingpackages/newtonsoft.json/13.0.3/lib/net6.0/Newtonsoft.Json.dll:0:0:0:0 | Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed | diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_fallback/Assemblies.ql b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_fallback/Assemblies.ql index 79cf92de791..0eb33b7ae37 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_fallback/Assemblies.ql +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_config_fallback/Assemblies.ql @@ -1,11 +1,5 @@ import csharp -private string getPath(Assembly a) { - not a.getCompilation().getOutputAssembly() = a and - exists(string s | s = a.getFile().getAbsolutePath() | - result = "[...]/" + s.substring(s.indexOf("newtonsoft.json"), s.length()) - ) -} - from Assembly a -select getPath(a) +where exists(a.getFile().getAbsolutePath().indexOf("newtonsoft.json")) +select a diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_no_sources/Assemblies.expected b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_no_sources/Assemblies.expected index bf3b256b71f..81c60c5c30a 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_no_sources/Assemblies.expected +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_no_sources/Assemblies.expected @@ -1 +1 @@ -| [...]/Newtonsoft.Json.6.0.4/lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.dll | +| test-db/working/legacypackages/Newtonsoft.Json.6.0.4/lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.dll:0:0:0:0 | Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed | diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_no_sources/Assemblies.ql b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_no_sources/Assemblies.ql index 24308907aa3..d3e30baf5fb 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_no_sources/Assemblies.ql +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_no_sources/Assemblies.ql @@ -1,15 +1,5 @@ import csharp -private string getPath(Assembly a) { - not a.getCompilation().getOutputAssembly() = a and - exists(string s | s = a.getFile().getAbsolutePath() | - result = - "[...]" + - s.substring(s.indexOf("test-db/working/") + "test-db/working/".length() + 16 + - "/legacypackages".length(), s.length()) - // TODO: include all other assemblies from the test results. Initially disable because mono installations were problematic on ARM runners. - ) -} - from Assembly a -select getPath(a) +where exists(a.getFile().getAbsolutePath().indexOf("/legacypackages/")) +select a diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_versions/Assemblies.expected b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_versions/Assemblies.expected index 987ec7c8d44..10fa6873383 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_versions/Assemblies.expected +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_versions/Assemblies.expected @@ -1 +1 @@ -| [...]/newtonsoft.json/13.0.1/lib/netstandard2.0/Newtonsoft.Json.dll | +| test-db/working/packages/newtonsoft.json/13.0.1/lib/netstandard2.0/Newtonsoft.Json.dll:0:0:0:0 | Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed | diff --git a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_versions/Assemblies.ql b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_versions/Assemblies.ql index cf7f8ef50fe..0eb33b7ae37 100644 --- a/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_versions/Assemblies.ql +++ b/csharp/ql/integration-tests/posix-only/standalone_dependencies_nuget_versions/Assemblies.ql @@ -1,18 +1,5 @@ import csharp -private string getPath(Assembly a) { - not a.getCompilation().getOutputAssembly() = a and - exists(string s | s = a.getFile().getAbsolutePath() | - exists(result.indexOf("Newtonsoft.Json")) and - result = - "[...]" + - s.substring(s.indexOf("test-db/working/") + "test-db/working/".length() + 16 + - "/packages".length(), s.length()) - or - result = s and - not exists(s.indexOf("test-db/working/")) - ) -} - from Assembly a -select getPath(a) +where exists(a.getFile().getAbsolutePath().indexOf("newtonsoft.json")) +select a diff --git a/csharp/ql/integration-tests/windows-only/standalone_dependencies/Assemblies.expected b/csharp/ql/integration-tests/windows-only/standalone_dependencies/Assemblies.expected index bddfcec4690..d4d36b1d0e6 100644 --- a/csharp/ql/integration-tests/windows-only/standalone_dependencies/Assemblies.expected +++ b/csharp/ql/integration-tests/windows-only/standalone_dependencies/Assemblies.expected @@ -1,210 +1,210 @@ -| [...]/avalara.avatax/23.11.0/lib/netstandard2.0/Avalara.AvaTax.RestClient.dll | -| [...]/microsoft.bcl.asyncinterfaces/8.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.CSharp.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Core.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.AppContext.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Buffers.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Concurrent.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Immutable.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.NonGeneric.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Specialized.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Annotations.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.DataAnnotations.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.EventBasedAsync.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.TypeConverter.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Configuration.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Console.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Core.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.Common.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.DataSetExtensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Contracts.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Debug.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.DiagnosticSource.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.FileVersionInfo.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Process.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.StackTrace.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TextWriterTraceListener.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tools.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TraceSource.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tracing.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Dynamic.Runtime.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Asn1.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Tar.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Calendars.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.Brotli.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.FileSystem.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.ZipFile.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.AccessControl.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.DriveInfo.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Watcher.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.IsolatedStorage.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.MemoryMappedFiles.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.AccessControl.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.UnmanagedMemoryStream.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Expressions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Parallel.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Queryable.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Memory.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.Json.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.HttpListener.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Mail.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NameResolution.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NetworkInformation.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Ping.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Quic.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Requests.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Security.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.ServicePoint.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Sockets.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebClient.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebHeaderCollection.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebProxy.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.Client.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.Vectors.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ObjectModel.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.DispatchProxy.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.ILGeneration.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.Lightweight.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Metadata.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.TypeExtensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Reader.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.ResourceManager.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Writer.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.Unsafe.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.VisualC.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Handles.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.JavaScript.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.RuntimeInformation.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Intrinsics.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Loader.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Numerics.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Formatters.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Json.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Xml.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.AccessControl.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Claims.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Algorithms.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Cng.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Csp.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Encoding.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.OpenSsl.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Primitives.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.X509Certificates.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.Windows.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.SecureString.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceModel.Web.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceProcess.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.CodePages.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encodings.Web.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Json.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.RegularExpressions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Channels.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Overlapped.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Dataflow.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Extensions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Parallel.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Thread.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.ThreadPool.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Timer.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.Local.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ValueTuple.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.HttpUtility.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Windows.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Linq.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.ReaderWriter.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Serialization.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XDocument.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.XDocument.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlDocument.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlSerializer.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/mscorlib.dll | -| [...]/microsoft.netcore.app.ref/8.0.1/ref/net8.0/netstandard.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Accessibility.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Forms.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.AccessControl.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.SystemEvents.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationCore.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Aero2.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Aero.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.AeroLite.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Classic.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Luna.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Royale.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationUI.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/ReachFramework.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.CodeDom.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Configuration.ConfigurationManager.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Design.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Diagnostics.EventLog.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Diagnostics.PerformanceCounter.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.DirectoryServices.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.Common.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.Design.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.IO.Packaging.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Printing.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Resources.Extensions.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Pkcs.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.ProtectedData.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Xml.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Permissions.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Threading.AccessControl.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Controls.Ribbon.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Extensions.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Design.Editors.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Design.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Primitives.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Input.Manipulations.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Presentation.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Xaml.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationClient.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationClientSideProviders.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationProvider.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationTypes.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/WindowsBase.dll | -| [...]/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/WindowsFormsIntegration.dll | -| [...]/newtonsoft.json/12.0.1/lib/netstandard2.0/Newtonsoft.Json.dll | +| test-db/working/packages/avalara.avatax/23.11.0/lib/netstandard2.0/Avalara.AvaTax.RestClient.dll:0:0:0:0 | Avalara.AvaTax.RestClient, Version=0.0.0.0, Culture=neutral, PublicKeyToken=be94eb8ba37fd33c | +| test-db/working/packages/microsoft.bcl.asyncinterfaces/8.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll:0:0:0:0 | Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.CSharp.dll:0:0:0:0 | Microsoft.CSharp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Core.dll:0:0:0:0 | Microsoft.VisualBasic.Core, Version=13.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Primitives.dll:0:0:0:0 | Microsoft.Win32.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.dll:0:0:0:0 | Microsoft.Win32.Registry, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.AppContext.dll:0:0:0:0 | System.AppContext, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Buffers.dll:0:0:0:0 | System.Buffers, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Concurrent.dll:0:0:0:0 | System.Collections.Concurrent, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Immutable.dll:0:0:0:0 | System.Collections.Immutable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.NonGeneric.dll:0:0:0:0 | System.Collections.NonGeneric, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.Specialized.dll:0:0:0:0 | System.Collections.Specialized, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Collections.dll:0:0:0:0 | System.Collections, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Annotations.dll:0:0:0:0 | System.ComponentModel.Annotations, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.DataAnnotations.dll:0:0:0:0 | System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.EventBasedAsync.dll:0:0:0:0 | System.ComponentModel.EventBasedAsync, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.Primitives.dll:0:0:0:0 | System.ComponentModel.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.TypeConverter.dll:0:0:0:0 | System.ComponentModel.TypeConverter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ComponentModel.dll:0:0:0:0 | System.ComponentModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Configuration.dll:0:0:0:0 | System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Console.dll:0:0:0:0 | System.Console, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Core.dll:0:0:0:0 | System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.Common.dll:0:0:0:0 | System.Data.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.DataSetExtensions.dll:0:0:0:0 | System.Data.DataSetExtensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Data.dll:0:0:0:0 | System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Contracts.dll:0:0:0:0 | System.Diagnostics.Contracts, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Debug.dll:0:0:0:0 | System.Diagnostics.Debug, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.DiagnosticSource.dll:0:0:0:0 | System.Diagnostics.DiagnosticSource, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.FileVersionInfo.dll:0:0:0:0 | System.Diagnostics.FileVersionInfo, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Process.dll:0:0:0:0 | System.Diagnostics.Process, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.StackTrace.dll:0:0:0:0 | System.Diagnostics.StackTrace, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TextWriterTraceListener.dll:0:0:0:0 | System.Diagnostics.TextWriterTraceListener, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tools.dll:0:0:0:0 | System.Diagnostics.Tools, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.TraceSource.dll:0:0:0:0 | System.Diagnostics.TraceSource, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Diagnostics.Tracing.dll:0:0:0:0 | System.Diagnostics.Tracing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Drawing.Primitives.dll:0:0:0:0 | System.Drawing.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Dynamic.Runtime.dll:0:0:0:0 | System.Dynamic.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Asn1.dll:0:0:0:0 | System.Formats.Asn1, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Formats.Tar.dll:0:0:0:0 | System.Formats.Tar, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Calendars.dll:0:0:0:0 | System.Globalization.Calendars, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.Extensions.dll:0:0:0:0 | System.Globalization.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Globalization.dll:0:0:0:0 | System.Globalization, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.Brotli.dll:0:0:0:0 | System.IO.Compression.Brotli, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.FileSystem.dll:0:0:0:0 | System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.ZipFile.dll:0:0:0:0 | System.IO.Compression.ZipFile, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Compression.dll:0:0:0:0 | System.IO.Compression, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.AccessControl.dll:0:0:0:0 | System.IO.FileSystem.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.DriveInfo.dll:0:0:0:0 | System.IO.FileSystem.DriveInfo, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Primitives.dll:0:0:0:0 | System.IO.FileSystem.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.Watcher.dll:0:0:0:0 | System.IO.FileSystem.Watcher, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.FileSystem.dll:0:0:0:0 | System.IO.FileSystem, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.IsolatedStorage.dll:0:0:0:0 | System.IO.IsolatedStorage, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.MemoryMappedFiles.dll:0:0:0:0 | System.IO.MemoryMappedFiles, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.AccessControl.dll:0:0:0:0 | System.IO.Pipes.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.Pipes.dll:0:0:0:0 | System.IO.Pipes, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.UnmanagedMemoryStream.dll:0:0:0:0 | System.IO.UnmanagedMemoryStream, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.IO.dll:0:0:0:0 | System.IO, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Expressions.dll:0:0:0:0 | System.Linq.Expressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Parallel.dll:0:0:0:0 | System.Linq.Parallel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.Queryable.dll:0:0:0:0 | System.Linq.Queryable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Linq.dll:0:0:0:0 | System.Linq, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Memory.dll:0:0:0:0 | System.Memory, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.Json.dll:0:0:0:0 | System.Net.Http.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Http.dll:0:0:0:0 | System.Net.Http, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.HttpListener.dll:0:0:0:0 | System.Net.HttpListener, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Mail.dll:0:0:0:0 | System.Net.Mail, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NameResolution.dll:0:0:0:0 | System.Net.NameResolution, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.NetworkInformation.dll:0:0:0:0 | System.Net.NetworkInformation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Ping.dll:0:0:0:0 | System.Net.Ping, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Primitives.dll:0:0:0:0 | System.Net.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Quic.dll:0:0:0:0 | System.Net.Quic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Requests.dll:0:0:0:0 | System.Net.Requests, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Security.dll:0:0:0:0 | System.Net.Security, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.ServicePoint.dll:0:0:0:0 | System.Net.ServicePoint, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.Sockets.dll:0:0:0:0 | System.Net.Sockets, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebClient.dll:0:0:0:0 | System.Net.WebClient, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebHeaderCollection.dll:0:0:0:0 | System.Net.WebHeaderCollection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebProxy.dll:0:0:0:0 | System.Net.WebProxy, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.Client.dll:0:0:0:0 | System.Net.WebSockets.Client, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.WebSockets.dll:0:0:0:0 | System.Net.WebSockets, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Net.dll:0:0:0:0 | System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.Vectors.dll:0:0:0:0 | System.Numerics.Vectors, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Numerics.dll:0:0:0:0 | System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ObjectModel.dll:0:0:0:0 | System.ObjectModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.DispatchProxy.dll:0:0:0:0 | System.Reflection.DispatchProxy, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.ILGeneration.dll:0:0:0:0 | System.Reflection.Emit.ILGeneration, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.Lightweight.dll:0:0:0:0 | System.Reflection.Emit.Lightweight, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Emit.dll:0:0:0:0 | System.Reflection.Emit, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Extensions.dll:0:0:0:0 | System.Reflection.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Metadata.dll:0:0:0:0 | System.Reflection.Metadata, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.Primitives.dll:0:0:0:0 | System.Reflection.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.TypeExtensions.dll:0:0:0:0 | System.Reflection.TypeExtensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Reflection.dll:0:0:0:0 | System.Reflection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Reader.dll:0:0:0:0 | System.Resources.Reader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.ResourceManager.dll:0:0:0:0 | System.Resources.ResourceManager, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Resources.Writer.dll:0:0:0:0 | System.Resources.Writer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.Unsafe.dll:0:0:0:0 | System.Runtime.CompilerServices.Unsafe, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.CompilerServices.VisualC.dll:0:0:0:0 | System.Runtime.CompilerServices.VisualC, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Extensions.dll:0:0:0:0 | System.Runtime.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Handles.dll:0:0:0:0 | System.Runtime.Handles, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.JavaScript.dll:0:0:0:0 | System.Runtime.InteropServices.JavaScript, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.RuntimeInformation.dll:0:0:0:0 | System.Runtime.InteropServices.RuntimeInformation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.InteropServices.dll:0:0:0:0 | System.Runtime.InteropServices, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Intrinsics.dll:0:0:0:0 | System.Runtime.Intrinsics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Loader.dll:0:0:0:0 | System.Runtime.Loader, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Numerics.dll:0:0:0:0 | System.Runtime.Numerics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Formatters.dll:0:0:0:0 | System.Runtime.Serialization.Formatters, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Json.dll:0:0:0:0 | System.Runtime.Serialization.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Primitives.dll:0:0:0:0 | System.Runtime.Serialization.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.Xml.dll:0:0:0:0 | System.Runtime.Serialization.Xml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.Serialization.dll:0:0:0:0 | System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Runtime.dll:0:0:0:0 | System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.AccessControl.dll:0:0:0:0 | System.Security.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Claims.dll:0:0:0:0 | System.Security.Claims, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Algorithms.dll:0:0:0:0 | System.Security.Cryptography.Algorithms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Cng.dll:0:0:0:0 | System.Security.Cryptography.Cng, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Csp.dll:0:0:0:0 | System.Security.Cryptography.Csp, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Encoding.dll:0:0:0:0 | System.Security.Cryptography.Encoding, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.OpenSsl.dll:0:0:0:0 | System.Security.Cryptography.OpenSsl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Primitives.dll:0:0:0:0 | System.Security.Cryptography.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.X509Certificates.dll:0:0:0:0 | System.Security.Cryptography.X509Certificates, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.dll:0:0:0:0 | System.Security.Cryptography, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.Windows.dll:0:0:0:0 | System.Security.Principal.Windows, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.Principal.dll:0:0:0:0 | System.Security.Principal, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.SecureString.dll:0:0:0:0 | System.Security.SecureString, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Security.dll:0:0:0:0 | System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceModel.Web.dll:0:0:0:0 | System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ServiceProcess.dll:0:0:0:0 | System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.CodePages.dll:0:0:0:0 | System.Text.Encoding.CodePages, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.Extensions.dll:0:0:0:0 | System.Text.Encoding.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encoding.dll:0:0:0:0 | System.Text.Encoding, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Encodings.Web.dll:0:0:0:0 | System.Text.Encodings.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.Json.dll:0:0:0:0 | System.Text.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Text.RegularExpressions.dll:0:0:0:0 | System.Text.RegularExpressions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Channels.dll:0:0:0:0 | System.Threading.Channels, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Overlapped.dll:0:0:0:0 | System.Threading.Overlapped, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Dataflow.dll:0:0:0:0 | System.Threading.Tasks.Dataflow, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Extensions.dll:0:0:0:0 | System.Threading.Tasks.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.Parallel.dll:0:0:0:0 | System.Threading.Tasks.Parallel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Tasks.dll:0:0:0:0 | System.Threading.Tasks, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Thread.dll:0:0:0:0 | System.Threading.Thread, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.ThreadPool.dll:0:0:0:0 | System.Threading.ThreadPool, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.Timer.dll:0:0:0:0 | System.Threading.Timer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Threading.dll:0:0:0:0 | System.Threading, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.Local.dll:0:0:0:0 | System.Transactions.Local, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Transactions.dll:0:0:0:0 | System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.ValueTuple.dll:0:0:0:0 | System.ValueTuple, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.HttpUtility.dll:0:0:0:0 | System.Web.HttpUtility, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Web.dll:0:0:0:0 | System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Windows.dll:0:0:0:0 | System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Linq.dll:0:0:0:0 | System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.ReaderWriter.dll:0:0:0:0 | System.Xml.ReaderWriter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.Serialization.dll:0:0:0:0 | System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XDocument.dll:0:0:0:0 | System.Xml.XDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.XDocument.dll:0:0:0:0 | System.Xml.XPath.XDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XPath.dll:0:0:0:0 | System.Xml.XPath, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlDocument.dll:0:0:0:0 | System.Xml.XmlDocument, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.XmlSerializer.dll:0:0:0:0 | System.Xml.XmlSerializer, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.Xml.dll:0:0:0:0 | System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/System.dll:0:0:0:0 | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/mscorlib.dll:0:0:0:0 | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.netcore.app.ref/8.0.1/ref/net8.0/netstandard.dll:0:0:0:0 | netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Accessibility.dll:0:0:0:0 | Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.Forms.dll:0:0:0:0 | Microsoft.VisualBasic.Forms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.VisualBasic.dll:0:0:0:0 | Microsoft.VisualBasic, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.Registry.AccessControl.dll:0:0:0:0 | Microsoft.Win32.Registry.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/Microsoft.Win32.SystemEvents.dll:0:0:0:0 | Microsoft.Win32.SystemEvents, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationCore.dll:0:0:0:0 | PresentationCore, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Aero2.dll:0:0:0:0 | PresentationFramework.Aero2, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Aero.dll:0:0:0:0 | PresentationFramework.Aero, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.AeroLite.dll:0:0:0:0 | PresentationFramework.AeroLite, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Classic.dll:0:0:0:0 | PresentationFramework.Classic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Luna.dll:0:0:0:0 | PresentationFramework.Luna, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.Royale.dll:0:0:0:0 | PresentationFramework.Royale, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationFramework.dll:0:0:0:0 | PresentationFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/PresentationUI.dll:0:0:0:0 | PresentationUI, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/ReachFramework.dll:0:0:0:0 | ReachFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.CodeDom.dll:0:0:0:0 | System.CodeDom, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Configuration.ConfigurationManager.dll:0:0:0:0 | System.Configuration.ConfigurationManager, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Design.dll:0:0:0:0 | System.Design, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Diagnostics.EventLog.dll:0:0:0:0 | System.Diagnostics.EventLog, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Diagnostics.PerformanceCounter.dll:0:0:0:0 | System.Diagnostics.PerformanceCounter, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.DirectoryServices.dll:0:0:0:0 | System.DirectoryServices, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.Common.dll:0:0:0:0 | System.Drawing.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.Design.dll:0:0:0:0 | System.Drawing.Design, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Drawing.dll:0:0:0:0 | System.Drawing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.IO.Packaging.dll:0:0:0:0 | System.IO.Packaging, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Printing.dll:0:0:0:0 | System.Printing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Resources.Extensions.dll:0:0:0:0 | System.Resources.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Pkcs.dll:0:0:0:0 | System.Security.Cryptography.Pkcs, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.ProtectedData.dll:0:0:0:0 | System.Security.Cryptography.ProtectedData, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Cryptography.Xml.dll:0:0:0:0 | System.Security.Cryptography.Xml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Security.Permissions.dll:0:0:0:0 | System.Security.Permissions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Threading.AccessControl.dll:0:0:0:0 | System.Threading.AccessControl, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Controls.Ribbon.dll:0:0:0:0 | System.Windows.Controls.Ribbon, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Extensions.dll:0:0:0:0 | System.Windows.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Design.Editors.dll:0:0:0:0 | System.Windows.Forms.Design.Editors, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Design.dll:0:0:0:0 | System.Windows.Forms.Design, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.Primitives.dll:0:0:0:0 | System.Windows.Forms.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Forms.dll:0:0:0:0 | System.Windows.Forms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Input.Manipulations.dll:0:0:0:0 | System.Windows.Input.Manipulations, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Windows.Presentation.dll:0:0:0:0 | System.Windows.Presentation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/System.Xaml.dll:0:0:0:0 | System.Xaml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationClient.dll:0:0:0:0 | UIAutomationClient, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationClientSideProviders.dll:0:0:0:0 | UIAutomationClientSideProviders, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationProvider.dll:0:0:0:0 | UIAutomationProvider, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/UIAutomationTypes.dll:0:0:0:0 | UIAutomationTypes, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/WindowsBase.dll:0:0:0:0 | WindowsBase, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/microsoft.windowsdesktop.app.ref/8.0.1/ref/net8.0/WindowsFormsIntegration.dll:0:0:0:0 | WindowsFormsIntegration, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 | +| test-db/working/packages/newtonsoft.json/12.0.1/lib/netstandard2.0/Newtonsoft.Json.dll:0:0:0:0 | Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed | diff --git a/csharp/ql/integration-tests/windows-only/standalone_dependencies/Assemblies.ql b/csharp/ql/integration-tests/windows-only/standalone_dependencies/Assemblies.ql index b78ceee2d8f..931e64d87ba 100644 --- a/csharp/ql/integration-tests/windows-only/standalone_dependencies/Assemblies.ql +++ b/csharp/ql/integration-tests/windows-only/standalone_dependencies/Assemblies.ql @@ -1,17 +1,5 @@ import csharp -private string getPath(Assembly a) { - not a.getCompilation().getOutputAssembly() = a and - exists(string s | s = a.getFile().getAbsolutePath() | - result = - "[...]" + - s.substring(s.indexOf("test-db/working/") + "test-db/working/".length() + 16 + - "/packages".length(), s.length()) - or - result = s and - not exists(s.indexOf("test-db/working/")) - ) -} - from Assembly a -select getPath(a) +where not a.getCompilation().getOutputAssembly() = a +select a From 0037ad406d406b185e6e9c083a3551bb2eeeb769 Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Tue, 20 Aug 2024 12:13:49 +0200 Subject: [PATCH 119/258] C#: Adjust buildless source generator folders --- .../DotnetSourceGeneratorBase.cs | 2 +- .../DotnetSourceGeneratorWrapper.cs | 5 +++-- .../cshtml_standalone/Files.expected | 2 +- .../all-platforms/cshtml_standalone/Files.ql | 10 +++++++--- .../cshtml_standalone_disabled/Files.expected | 4 ++-- .../cshtml_standalone_disabled/Files.ql | 17 +---------------- .../cshtml_standalone_net6/Files.expected | 2 +- .../cshtml_standalone_net6/Files.ql | 10 +++++++--- .../standalone_resx/Files.expected | 6 +++--- .../all-platforms/standalone_resx/Files.ql | 19 +------------------ 10 files changed, 27 insertions(+), 50 deletions(-) diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/SourceGenerators/DotnetSourceGeneratorBase.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/SourceGenerators/DotnetSourceGeneratorBase.cs index 461590348df..c17981803dd 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/SourceGenerators/DotnetSourceGeneratorBase.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/SourceGenerators/DotnetSourceGeneratorBase.cs @@ -83,7 +83,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching var targetDir = GetTemporaryWorkingDirectory(FileType.ToLowerInvariant()); return groupedFiles - .SelectMany(group => sourceGenerator.RunSourceGenerator(group.Value, group.Key, references, targetDir)); + .SelectMany(group => sourceGenerator.RunSourceGenerator(group.Value, group.Key, references, targetDir, fileProvider.SourceDir.FullName)); } catch (Exception ex) { diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/SourceGenerators/DotnetSourceGeneratorWrapper/DotnetSourceGeneratorWrapper.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/SourceGenerators/DotnetSourceGeneratorWrapper/DotnetSourceGeneratorWrapper.cs index 1110f768a74..fe402637347 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/SourceGenerators/DotnetSourceGeneratorWrapper/DotnetSourceGeneratorWrapper.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/SourceGenerators/DotnetSourceGeneratorWrapper/DotnetSourceGeneratorWrapper.cs @@ -33,11 +33,12 @@ namespace Semmle.Extraction.CSharp.DependencyFetching protected abstract void GenerateAnalyzerConfig(IEnumerable additionalFiles, string csprojFile, string analyzerConfigPath); - public IEnumerable RunSourceGenerator(IEnumerable additionalFiles, string csprojFile, IEnumerable references, string targetDir) + public IEnumerable RunSourceGenerator(IEnumerable additionalFiles, string csprojFile, IEnumerable references, string targetDir, string sourceDir) { try { - var name = FileUtils.ComputeHash($"{csprojFile}{Environment.NewLine}{this.GetType().Name}"); + var relativePathToCsProj = Path.GetRelativePath(sourceDir, csprojFile); + var name = FileUtils.ComputeHash($"{relativePathToCsProj}{Environment.NewLine}{this.GetType().Name}"); using var tempDir = new TemporaryDirectory(Path.Join(FileUtils.GetTemporaryWorkingDirectory(out _), "source-generator"), "source generator temporary", logger); var analyzerConfigPath = Path.Combine(tempDir.DirInfo.FullName, $"{name}.txt"); var dllPath = Path.Combine(tempDir.DirInfo.FullName, $"{name}.dll"); diff --git a/csharp/ql/integration-tests/all-platforms/cshtml_standalone/Files.expected b/csharp/ql/integration-tests/all-platforms/cshtml_standalone/Files.expected index 5d52ff6223d..f64a66be22f 100644 --- a/csharp/ql/integration-tests/all-platforms/cshtml_standalone/Files.expected +++ b/csharp/ql/integration-tests/all-platforms/cshtml_standalone/Files.expected @@ -1,4 +1,4 @@ | Program.cs | | Views/Home/Index.cshtml | -| _ql_csharp_ql_integration_tests_all_platforms_cshtml_standalone_test_test_Views_Home_Index_cshtml.g.cs | | test-db/working/implicitUsings/GlobalUsings.g.cs | +| test-db/working/razor/EC52D77FE9BF67AD10C5C3F248392316/Microsoft.CodeAnalysis.Razor.Compiler/Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator/[...]_ql_csharp_ql_integration_tests_all_platforms_cshtml_standalone_test_test_Views_Home_Index_cshtml.g.cs | diff --git a/csharp/ql/integration-tests/all-platforms/cshtml_standalone/Files.ql b/csharp/ql/integration-tests/all-platforms/cshtml_standalone/Files.ql index 70a62a55481..2ab3af8e13e 100644 --- a/csharp/ql/integration-tests/all-platforms/cshtml_standalone/Files.ql +++ b/csharp/ql/integration-tests/all-platforms/cshtml_standalone/Files.ql @@ -4,11 +4,15 @@ private string getPath(File f) { result = f.getRelativePath() and not exists(result.indexOf("_ql_csharp_ql_integration_tests_all_platforms_cshtml_standalone_")) or - exists(int index | - index = + exists(int index1, int index2, string pattern | + pattern = "Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator" and + index1 = f.getRelativePath().indexOf(pattern) and + index2 = f.getRelativePath() .indexOf("_ql_csharp_ql_integration_tests_all_platforms_cshtml_standalone_") and - result = f.getRelativePath().substring(index, f.getRelativePath().length()) + result = + f.getRelativePath().substring(0, index1 + pattern.length()) + "/[...]" + + f.getRelativePath().substring(index2, f.getRelativePath().length()) ) } diff --git a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_disabled/Files.expected b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_disabled/Files.expected index f6d6d6ed8c8..50089b3c59c 100644 --- a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_disabled/Files.expected +++ b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_disabled/Files.expected @@ -1,2 +1,2 @@ -| Program.cs | -| test-db/working/implicitUsings/GlobalUsings.g.cs | +| Program.cs:0:0:0:0 | Program.cs | +| test-db/working/implicitUsings/GlobalUsings.g.cs:0:0:0:0 | test-db/working/implicitUsings/GlobalUsings.g.cs | diff --git a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_disabled/Files.ql b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_disabled/Files.ql index 2d983b86b7c..3933d037ed5 100644 --- a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_disabled/Files.ql +++ b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_disabled/Files.ql @@ -1,20 +1,5 @@ import csharp -private string getPath(File f) { - result = f.getRelativePath() and - not exists( - result - .indexOf("_semmle_code_target_codeql_csharp_integration_tests_ql_csharp_ql_integration_tests_all_platforms_cshtml_standalone_") - ) - or - exists(int index | - index = - f.getRelativePath() - .indexOf("_semmle_code_target_codeql_csharp_integration_tests_ql_csharp_ql_integration_tests_all_platforms_cshtml_standalone_") and - result = f.getRelativePath().substring(index, f.getRelativePath().length()) - ) -} - from File f where f.fromSource() or f.getExtension() = "cshtml" -select getPath(f) +select f diff --git a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_net6/Files.expected b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_net6/Files.expected index 3a66f337cff..4b1c2d02005 100644 --- a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_net6/Files.expected +++ b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_net6/Files.expected @@ -1,4 +1,4 @@ | Program.cs | | Views/Home/Index.cshtml | -| _ql_csharp_ql_integration_tests_all_platforms_cshtml_standalone_net6_test_test_Views_Home_Index_cshtml.g.cs | | test-db/working/implicitUsings/GlobalUsings.g.cs | +| test-db/working/razor/EC52D77FE9BF67AD10C5C3F248392316/Microsoft.NET.Sdk.Razor.SourceGenerators/Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator/[...]_ql_csharp_ql_integration_tests_all_platforms_cshtml_standalone_net6_test_test_Views_Home_Index_cshtml.g.cs | diff --git a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_net6/Files.ql b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_net6/Files.ql index 70a62a55481..2ab3af8e13e 100644 --- a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_net6/Files.ql +++ b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_net6/Files.ql @@ -4,11 +4,15 @@ private string getPath(File f) { result = f.getRelativePath() and not exists(result.indexOf("_ql_csharp_ql_integration_tests_all_platforms_cshtml_standalone_")) or - exists(int index | - index = + exists(int index1, int index2, string pattern | + pattern = "Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator" and + index1 = f.getRelativePath().indexOf(pattern) and + index2 = f.getRelativePath() .indexOf("_ql_csharp_ql_integration_tests_all_platforms_cshtml_standalone_") and - result = f.getRelativePath().substring(index, f.getRelativePath().length()) + result = + f.getRelativePath().substring(0, index1 + pattern.length()) + "/[...]" + + f.getRelativePath().substring(index2, f.getRelativePath().length()) ) } diff --git a/csharp/ql/integration-tests/all-platforms/standalone_resx/Files.expected b/csharp/ql/integration-tests/all-platforms/standalone_resx/Files.expected index b2e8dfbb203..46a25f52fa6 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone_resx/Files.expected +++ b/csharp/ql/integration-tests/all-platforms/standalone_resx/Files.expected @@ -1,3 +1,3 @@ -| Program.cs | -| test-db/working/implicitUsings/GlobalUsings.g.cs | -| test-db/working/resx/[...]/Microsoft.CodeAnalysis.ResxSourceGenerator.CSharp/Microsoft.CodeAnalysis.ResxSourceGenerator.CSharp.CSharpResxGenerator/test.Designer.cs | +| Program.cs:0:0:0:0 | Program.cs | +| test-db/working/implicitUsings/GlobalUsings.g.cs:0:0:0:0 | test-db/working/implicitUsings/GlobalUsings.g.cs | +| test-db/working/resx/F4FAF6D9E0C1522913E76D38E8CF4F3F/Microsoft.CodeAnalysis.ResxSourceGenerator.CSharp/Microsoft.CodeAnalysis.ResxSourceGenerator.CSharp.CSharpResxGenerator/test.Designer.cs:0:0:0:0 | test-db/working/resx/F4FAF6D9E0C1522913E76D38E8CF4F3F/Microsoft.CodeAnalysis.ResxSourceGenerator.CSharp/Microsoft.CodeAnalysis.ResxSourceGenerator.CSharp.CSharpResxGenerator/test.Designer.cs | diff --git a/csharp/ql/integration-tests/all-platforms/standalone_resx/Files.ql b/csharp/ql/integration-tests/all-platforms/standalone_resx/Files.ql index f2eabef15f8..bea5557a25f 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone_resx/Files.ql +++ b/csharp/ql/integration-tests/all-platforms/standalone_resx/Files.ql @@ -1,22 +1,5 @@ import csharp -private string getPath(File f) { - result = f.getRelativePath() and - not exists( - result - .indexOf("Microsoft.CodeAnalysis.ResxSourceGenerator.CSharp/Microsoft.CodeAnalysis.ResxSourceGenerator.CSharp.CSharpResxGenerator") - ) - or - exists(int index | - index = - f.getRelativePath() - .indexOf("Microsoft.CodeAnalysis.ResxSourceGenerator.CSharp/Microsoft.CodeAnalysis.ResxSourceGenerator.CSharp.CSharpResxGenerator") and - result = - f.getRelativePath().substring(0, index - 32 - 2) + "/[...]/" + - f.getRelativePath().substring(index, f.getRelativePath().length()) - ) -} - from File f where f.fromSource() -select getPath(f) +select f From a0dc20caeff80315cf854aa40bc0badde4e56f69 Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Tue, 20 Aug 2024 14:03:34 +0200 Subject: [PATCH 120/258] Fix hashed value on Windows --- .../DotnetSourceGeneratorWrapper.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/SourceGenerators/DotnetSourceGeneratorWrapper/DotnetSourceGeneratorWrapper.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/SourceGenerators/DotnetSourceGeneratorWrapper/DotnetSourceGeneratorWrapper.cs index fe402637347..2feafb8323b 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/SourceGenerators/DotnetSourceGeneratorWrapper/DotnetSourceGeneratorWrapper.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/SourceGenerators/DotnetSourceGeneratorWrapper/DotnetSourceGeneratorWrapper.cs @@ -38,7 +38,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching try { var relativePathToCsProj = Path.GetRelativePath(sourceDir, csprojFile); - var name = FileUtils.ComputeHash($"{relativePathToCsProj}{Environment.NewLine}{this.GetType().Name}"); + var name = FileUtils.ComputeHash($"{relativePathToCsProj}\n{this.GetType().Name}"); using var tempDir = new TemporaryDirectory(Path.Join(FileUtils.GetTemporaryWorkingDirectory(out _), "source-generator"), "source generator temporary", logger); var analyzerConfigPath = Path.Combine(tempDir.DirInfo.FullName, $"{name}.txt"); var dllPath = Path.Combine(tempDir.DirInfo.FullName, $"{name}.dll"); From 07a5c203092ddecced3fa688c58e3fa401a5b01c Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Tue, 20 Aug 2024 14:35:31 +0200 Subject: [PATCH 121/258] Fix/add doc comments --- .../NugetPackageRestorer.cs | 7 ++++--- csharp/extractor/Semmle.Util/FileUtils.cs | 5 ++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetPackageRestorer.cs b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetPackageRestorer.cs index 9ce61b633ba..3895db3e4d4 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetPackageRestorer.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/NugetPackageRestorer.cs @@ -771,15 +771,16 @@ namespace Semmle.Extraction.CSharp.DependencyFetching } /// - /// Computes a unique temp directory for the packages associated - /// with this source tree. Use a SHA1 of the directory name. + /// Returns the full path to a temporary directory with the given subfolder name. /// - /// The full path of the temp directory. private static string ComputeTempDirectoryPath(string subfolderName) { return Path.Combine(FileUtils.GetTemporaryWorkingDirectory(out _), subfolderName); } + /// + /// Computes a unique temporary directory path based on the source directory and the subfolder name. + /// private static string ComputeTempDirectoryPath(string srcDir, string subfolderName) { return Path.Combine(FileUtils.GetTemporaryWorkingDirectory(out _), FileUtils.ComputeHash(srcDir), subfolderName); diff --git a/csharp/extractor/Semmle.Util/FileUtils.cs b/csharp/extractor/Semmle.Util/FileUtils.cs index d5930251fae..0b63082ce6d 100644 --- a/csharp/extractor/Semmle.Util/FileUtils.cs +++ b/csharp/extractor/Semmle.Util/FileUtils.cs @@ -86,7 +86,7 @@ namespace Semmle.Util } /// - /// Computes the hash of . + /// Computes the hash of the file at . /// public static string ComputeFileHash(string filePath) { @@ -95,6 +95,9 @@ namespace Semmle.Util return GetHashString(sha); } + /// + /// Computes the hash of . + /// public static string ComputeHash(string input) { var bytes = Encoding.Unicode.GetBytes(input); From 30f8d6e4ff50dd903eb6f483e479b9260ca833d1 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 20 Aug 2024 14:04:23 +0100 Subject: [PATCH 122/258] Allow MaD models for XSS sinks using "html-injection" or "js-injection" --- go/ql/lib/semmle/go/security/Xss.qll | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/go/ql/lib/semmle/go/security/Xss.qll b/go/ql/lib/semmle/go/security/Xss.qll index 3c76ffbeea2..f11dc12bf76 100644 --- a/go/ql/lib/semmle/go/security/Xss.qll +++ b/go/ql/lib/semmle/go/security/Xss.qll @@ -49,6 +49,10 @@ module SharedXss { override Locatable getAssociatedLoc() { result = this.getRead().getEnclosingTextNode() } } + private class DefaultSink extends Sink { + DefaultSink() { sinkNode(this, ["html-injection", "js-injection"]) } + } + /** * Holds if `body` may send a response with a content type other than HTML. */ From 6d4f3bd0147bbc678539fb4af9712d46aa907077 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Wed, 14 Aug 2024 13:41:57 +0200 Subject: [PATCH 123/258] Ruby: Rework splat argument/parameter matching --- .../dataflow/internal/DataFlowDispatch.qll | 60 +- .../dataflow/internal/DataFlowPrivate.qll | 98 +- .../ruby/dataflow/internal/DataFlowPublic.qll | 13 +- .../flow-summaries/semantics.expected | 48 +- .../dataflow/params/TypeTracker.expected | 2221 ++++++----------- .../dataflow/params/params-flow.expected | 5 - .../type-tracker/TypeTracker.expected | 77 +- .../action_controller/params-flow.expected | 18 +- 8 files changed, 957 insertions(+), 1583 deletions(-) diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll index f4b93490020..8af047e8326 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll @@ -563,7 +563,7 @@ private module Cached { THashSplatArgumentPosition() or TSynthHashSplatArgumentPosition() or TSplatArgumentPosition(int pos) { exists(Call c | c.getArgument(pos) instanceof SplatExpr) } or - TSynthSplatArgumentPosition() or + TSynthSplatArgumentPosition(Boolean hasActualSplat) or TAnyArgumentPosition() or TAnyKeywordArgumentPosition() @@ -590,11 +590,11 @@ private module Cached { THashSplatParameterPosition() or TSynthHashSplatParameterPosition() or TSplatParameterPosition(int pos) { - pos = 0 + pos = 0 // needed for flow summaries or exists(Parameter p | p.getPosition() = pos and p instanceof SplatParameter) } or - TSynthSplatParameterPosition() or + TSynthSplatParameterPosition(Boolean hasActualSplat) or TAnyParameterPosition() or TAnyKeywordParameterPosition() } @@ -1383,8 +1383,15 @@ class ParameterPosition extends TParameterPosition { /** Holds if this position represents a splat parameter at position `n`. */ predicate isSplat(int n) { this = TSplatParameterPosition(n) } - /** Holds if this position represents a synthetic splat parameter. */ - predicate isSynthSplat() { this = TSynthSplatParameterPosition() } + /** + * Holds if this position represents a synthetic splat parameter. + * + * `hasActualSplat` indicates whether the method that the parameter belongs + * to also has an actual splat parameter. + */ + predicate isSynthSplat(boolean hasActualSplat) { + this = TSynthSplatParameterPosition(hasActualSplat) + } /** * Holds if this position represents any parameter, except `self` parameters. This @@ -1419,7 +1426,11 @@ class ParameterPosition extends TParameterPosition { or exists(int pos | this.isSplat(pos) and result = "* (position " + pos + ")") or - this.isSynthSplat() and result = "synthetic *" + exists(boolean hasActualSplat, string suffix | + this.isSynthSplat(hasActualSplat) and + result = "synthetic *" + suffix and + if hasActualSplat = true then suffix = " (with actual)" else suffix = "" + ) } } @@ -1458,8 +1469,15 @@ class ArgumentPosition extends TArgumentPosition { /** Holds if this position represents a splat argument at position `n`. */ predicate isSplat(int n) { this = TSplatArgumentPosition(n) } - /** Holds if this position represents a synthetic splat argument. */ - predicate isSynthSplat() { this = TSynthSplatArgumentPosition() } + /** + * Holds if this position represents a synthetic splat argument. + * + * `hasActualSplat` indicates whether the call that the argument belongs + * to also has an actual splat argument. + */ + predicate isSynthSplat(boolean hasActualSplat) { + this = TSynthSplatArgumentPosition(hasActualSplat) + } /** Gets a textual representation of this position. */ string toString() { @@ -1483,7 +1501,11 @@ class ArgumentPosition extends TArgumentPosition { or exists(int pos | this.isSplat(pos) and result = "* (position " + pos + ")") or - this.isSynthSplat() and result = "synthetic *" + exists(boolean hasActualSplat, string suffix | + this.isSynthSplat(hasActualSplat) and + result = "synthetic *" + suffix and + if hasActualSplat = true then suffix = " (with actual)" else suffix = "" + ) } } @@ -1519,16 +1541,26 @@ predicate parameterMatch(ParameterPosition ppos, ArgumentPosition apos) { (ppos.isHashSplat() or ppos.isSynthHashSplat()) and (apos.isHashSplat() or apos.isSynthHashSplat()) or - exists(int pos | + exists(int pos, boolean hasActualSplatParam, boolean hasActualSplatArg | ( - ppos.isSplat(pos) + ppos.isSplat(pos) and + hasActualSplatParam = true // allow matching with synthetic splat argument or - ppos.isSynthSplat() and pos = 0 + ppos.isSynthSplat(hasActualSplatParam) and + pos = 0 and + // prevent synthetic splat parameters from matching synthetic splat arguments + // when direct positional matching is possible + ( + hasActualSplatParam = true + or + hasActualSplatArg = true + ) ) and ( - apos.isSplat(pos) + apos.isSplat(pos) and + hasActualSplatArg = true // allow matching with synthetic splat parameter or - apos.isSynthSplat() and pos = 0 + apos.isSynthSplat(hasActualSplatArg) and pos = 0 ) ) or diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll index ec58536abe1..5ec24c19901 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll @@ -661,7 +661,7 @@ private module Cached { name = [input, output].regexpFind("(?<=(^|\\.)Field\\[)[^\\]]+(?=\\])", _, _).trim() ) } or - TSplatContent(int i, Boolean shifted) { i in [0 .. 10] } or + deprecated TSplatContent(int i, Boolean shifted) { i in [0 .. 10] } or THashSplatContent(ConstantValue::ConstantSymbolValue cv) or TCapturedVariableContent(VariableCapture::CapturedVariable v) or // Only used by type-tracking @@ -686,7 +686,6 @@ private module Cached { TUnknownElementContentApprox() or TKnownIntegerElementContentApprox() or TKnownElementContentApprox(string approx) { approx = approxKnownElementIndex(_) } or - TSplatContentApprox(Boolean shifted) or THashSplatContentApprox(string approx) { approx = approxKnownElementIndex(_) } or TNonElementContentApprox(Content c) { not c instanceof Content::ElementContent } or TCapturedVariableContentApprox(VariableCapture::CapturedVariable v) @@ -701,14 +700,10 @@ private module Cached { TSynthHashSplatArgumentType(string methodName) { methodName = any(SynthHashSplatArgumentNode n).getMethodName() } or - TSynthSplatArgumentType(string methodName) { - methodName = any(SynthSplatArgumentNode n).getMethodName() - } or TUnknownDataFlowType() } -class TElementContent = - TKnownElementContent or TUnknownElementContent or TSplatContent or THashSplatContent; +class TElementContent = TKnownElementContent or TUnknownElementContent or THashSplatContent; import Cached @@ -1188,18 +1183,6 @@ private module ParameterNodes { * by adding read steps out of the synthesized parameter node to the relevant * positional parameters. * - * In order to avoid redundancy (and improve performance) in cases like - * - * ```rb - * foo(a, b, c) - * ``` - * - * where direct positional matching is possible, we use a special `SplatContent` - * (instead of reusing `KnownElementContent`) when we construct a synthesized - * splat argument (`SynthSplatArgumentNode`) at the call site, and then only - * add read steps out of this node for actual splat arguments (which will use - * `KnownElementContent` or `TSplatContent(_, true)`). - * * We don't yet correctly handle cases where a positional argument follows the * splat argument, e.g. in * @@ -1220,9 +1203,6 @@ private module ParameterNodes { isParameterNode(p, callable, any(ParameterPosition pos | pos.isPositional(n))) and not exists(int i | splatParameterAt(callable.asCfgScope(), i) and i < n) | - // Important: do not include `TSplatContent(_, false)` here, as normal parameter matching is possible - c = getSplatContent(n, true) - or c = getArrayContent(n) or c.isSingleton(TUnknownElementContent()) @@ -1232,7 +1212,13 @@ private module ParameterNodes { final override Parameter getParameter() { none() } final override predicate isParameterOf(DataFlowCallable c, ParameterPosition pos) { - c = callable and pos.isSynthSplat() + c = callable and + exists(boolean hasActualSplat | + pos.isSynthSplat(hasActualSplat) and + if exists(TSynthSplatParameterShiftNode(c, _, _)) + then hasActualSplat = true + else hasActualSplat = false + ) } final override CfgScope getCfgScope() { result = callable.asCfgScope() } @@ -1271,11 +1257,7 @@ private module ParameterNodes { */ predicate readFrom(SynthSplatParameterNode synthSplat, ContentSet cs) { synthSplat.isParameterOf(callable, _) and - ( - cs = getSplatContent(pos + splatPos, _) - or - cs = getArrayContent(pos + splatPos) - ) + cs = getArrayContent(pos + splatPos) } /** @@ -1506,31 +1488,11 @@ module ArgumentNodes { * `call`, into a synthetic splat argument. */ predicate synthSplatStore(CfgNodes::ExprNodes::CallCfgNode call, Argument arg, ContentSet c) { - exists(int n | - exists(ArgumentPosition pos | - arg.isArgumentOf(call, pos) and - pos.isPositional(n) and - not exists(int i | splatArgumentAt(call, i) and i < n) - ) - | - if call instanceof CfgNodes::ExprNodes::ArrayLiteralCfgNode - then - /* - * Needed for cases like - * - * ```rb - * arr = [taint, safe] - * - * def foo(a, b) - * sink(a) - * end - * - * foo(*arr) - * ``` - */ - - c = getArrayContent(n) - else c = getSplatContent(n, false) + exists(int n, ArgumentPosition pos | + arg.isArgumentOf(call, pos) and + pos.isPositional(n) and + not exists(int i | splatArgumentAt(call, i) and i < n) and + c = getArrayContent(n) ) } @@ -1552,7 +1514,12 @@ module ArgumentNodes { override predicate sourceArgumentOf(CfgNodes::ExprNodes::CallCfgNode call, ArgumentPosition pos) { call = call_ and - pos.isSynthSplat() + exists(boolean hasActualSplat | + pos.isSynthSplat(hasActualSplat) and + if any(SynthSplatArgumentShiftNode shift).storeInto(this, _) + then hasActualSplat = true + else hasActualSplat = false + ) } override string toStringImpl() { result = "synthetic splat argument" } @@ -1583,8 +1550,6 @@ module ArgumentNodes { predicate readFrom(Node splatArg, ContentSet cs) { splatArg.asExpr().(Argument).isArgumentOf(c, any(ArgumentPosition p | p.isSplat(splatPos))) and ( - cs = getSplatContent(n - splatPos, _) - or cs = getArrayContent(n - splatPos) or n = -1 and @@ -1599,7 +1564,7 @@ module ArgumentNodes { predicate storeInto(SynthSplatArgumentNode synthSplat, ContentSet cs) { synthSplat = TSynthSplatArgumentNode(c) and ( - cs = getSplatContent(n, true) + cs = getArrayContent(n) or n = -1 and cs.isSingleton(TUnknownElementContent()) @@ -1813,10 +1778,6 @@ private ContentSet getArrayContent(int n) { ) } -private ContentSet getSplatContent(int n, boolean adjusted) { - result.isSingleton(TSplatContent(n, adjusted)) -} - /** * Subset of `storeStep` that should be shared with type-tracking. */ @@ -1979,11 +1940,9 @@ DataFlowType getNodeType(Node n) { or result = TSynthHashSplatArgumentType(n.(SynthHashSplatArgumentNode).getMethodName()) or - result = TSynthSplatArgumentType(n.(SynthSplatArgumentNode).getMethodName()) - or not n instanceof LambdaSelfReferenceNode and not mustHaveLambdaType(n, _) and - not n instanceof SynthHashSplatOrSplatArgumentNode and + not n instanceof SynthHashSplatArgumentNode and result = TUnknownDataFlowType() } @@ -2209,12 +2168,6 @@ class ContentApprox extends TContentApprox { result = "approximated element " + approx ) or - exists(boolean shifted, string s | - this = TSplatContentApprox(shifted) and - (if shifted = true then s = " (shifted)" else s = "") and - result = "approximated splat position" + s - ) - or exists(string s | this = THashSplatContentApprox(s) and result = "approximated hash-splat position " + s @@ -2259,11 +2212,6 @@ ContentApprox getContentApprox(Content c) { result = TKnownElementContentApprox(approxKnownElementIndex(c.(Content::KnownElementContent).getIndex())) or - exists(boolean shifted | - c = TSplatContent(_, shifted) and - result = TSplatContentApprox(shifted) - ) - or result = THashSplatContentApprox(approxKnownElementIndex(c.(Content::HashSplatContent).getKey())) or result = TNonElementContentApprox(c) diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPublic.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPublic.qll index 33ac82448a9..825c440c9a9 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPublic.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPublic.qll @@ -586,7 +586,7 @@ module Content { * * we have an implicit splat argument containing `[1, 2, 3]`. */ - class SplatContent extends ElementContent, TSplatContent { + deprecated class SplatContent extends Content, TSplatContent { private int i; private boolean shifted; @@ -797,7 +797,6 @@ class ContentSet extends TContentSet { private Content getAnElementReadContent() { exists(Content::KnownElementContent c | this.isKnownOrUnknownElement(c) | result = c or - result = TSplatContent(c.getIndex().getInt(), _) or result = THashSplatContent(c.getIndex()) or result = TUnknownElementContent() ) @@ -805,12 +804,7 @@ class ContentSet extends TContentSet { exists(int lower, boolean includeUnknown | this = TElementLowerBoundContent(lower, includeUnknown) | - exists(int i | - result.(Content::KnownElementContent).getIndex().isInt(i) or - result = TSplatContent(i, _) - | - i >= lower - ) + exists(int i | result.(Content::KnownElementContent).getIndex().isInt(i) | i >= lower) or includeUnknown = true and result = TUnknownElementContent() @@ -821,9 +815,6 @@ class ContentSet extends TContentSet { | type = result.(Content::KnownElementContent).getIndex().getValueType() or - type = "int" and - result instanceof Content::SplatContent - or type = result.(Content::HashSplatContent).getKey().getValueType() or includeUnknown = true and diff --git a/ruby/ql/test/library-tests/dataflow/flow-summaries/semantics.expected b/ruby/ql/test/library-tests/dataflow/flow-summaries/semantics.expected index 84dc5fa3728..9f3e900d25d 100644 --- a/ruby/ql/test/library-tests/dataflow/flow-summaries/semantics.expected +++ b/ruby/ql/test/library-tests/dataflow/flow-summaries/semantics.expected @@ -78,14 +78,14 @@ edges | semantics.rb:60:5:60:5 | a | semantics.rb:66:14:66:15 | &... | provenance | | | semantics.rb:60:9:60:18 | call to source | semantics.rb:60:5:60:5 | a | provenance | | | semantics.rb:60:9:60:18 | call to source | semantics.rb:60:5:60:5 | a | provenance | | -| semantics.rb:61:10:61:15 | call to s10 [splat position 0] | semantics.rb:61:10:61:15 | call to s10 | provenance | | +| semantics.rb:61:10:61:15 | call to s10 [element 0] | semantics.rb:61:10:61:15 | call to s10 | provenance | | | semantics.rb:61:14:61:14 | a | semantics.rb:61:10:61:15 | call to s10 | provenance | | | semantics.rb:61:14:61:14 | a | semantics.rb:61:10:61:15 | call to s10 | provenance | | -| semantics.rb:61:14:61:14 | a | semantics.rb:61:10:61:15 | call to s10 [splat position 0] | provenance | | -| semantics.rb:62:10:62:18 | call to s10 [splat position 1] | semantics.rb:62:10:62:18 | call to s10 | provenance | | +| semantics.rb:61:14:61:14 | a | semantics.rb:61:10:61:15 | call to s10 [element 0] | provenance | | +| semantics.rb:62:10:62:18 | call to s10 [element 1] | semantics.rb:62:10:62:18 | call to s10 | provenance | | | semantics.rb:62:17:62:17 | a | semantics.rb:62:10:62:18 | call to s10 | provenance | | | semantics.rb:62:17:62:17 | a | semantics.rb:62:10:62:18 | call to s10 | provenance | | -| semantics.rb:62:17:62:17 | a | semantics.rb:62:10:62:18 | call to s10 [splat position 1] | provenance | | +| semantics.rb:62:17:62:17 | a | semantics.rb:62:10:62:18 | call to s10 [element 1] | provenance | | | semantics.rb:63:19:63:19 | a | semantics.rb:63:10:63:20 | call to s10 | provenance | | | semantics.rb:63:19:63:19 | a | semantics.rb:63:10:63:20 | call to s10 | provenance | | | semantics.rb:64:27:64:27 | a | semantics.rb:64:10:64:28 | call to s10 | provenance | | @@ -192,18 +192,18 @@ edges | semantics.rb:126:5:126:5 | b | semantics.rb:129:17:129:17 | b | provenance | | | semantics.rb:126:9:126:18 | call to source | semantics.rb:126:5:126:5 | b | provenance | | | semantics.rb:126:9:126:18 | call to source | semantics.rb:126:5:126:5 | b | provenance | | -| semantics.rb:127:10:127:18 | call to s17 [splat position 0] | semantics.rb:127:10:127:18 | call to s17 | provenance | | -| semantics.rb:127:10:127:18 | call to s17 [splat position 1] | semantics.rb:127:10:127:18 | call to s17 | provenance | | -| semantics.rb:127:14:127:14 | a | semantics.rb:127:10:127:18 | call to s17 [splat position 0] | provenance | | -| semantics.rb:127:17:127:17 | b | semantics.rb:127:10:127:18 | call to s17 [splat position 1] | provenance | | -| semantics.rb:128:10:128:18 | call to s17 [splat position 0] | semantics.rb:128:10:128:21 | ...[...] | provenance | | -| semantics.rb:128:10:128:18 | call to s17 [splat position 0] | semantics.rb:128:10:128:21 | ...[...] | provenance | | -| semantics.rb:128:14:128:14 | a | semantics.rb:128:10:128:18 | call to s17 [splat position 0] | provenance | | -| semantics.rb:128:14:128:14 | a | semantics.rb:128:10:128:18 | call to s17 [splat position 0] | provenance | | -| semantics.rb:129:10:129:18 | call to s17 [splat position 1] | semantics.rb:129:10:129:21 | ...[...] | provenance | | -| semantics.rb:129:10:129:18 | call to s17 [splat position 1] | semantics.rb:129:10:129:21 | ...[...] | provenance | | -| semantics.rb:129:17:129:17 | b | semantics.rb:129:10:129:18 | call to s17 [splat position 1] | provenance | | -| semantics.rb:129:17:129:17 | b | semantics.rb:129:10:129:18 | call to s17 [splat position 1] | provenance | | +| semantics.rb:127:10:127:18 | call to s17 [element 0] | semantics.rb:127:10:127:18 | call to s17 | provenance | | +| semantics.rb:127:10:127:18 | call to s17 [element 1] | semantics.rb:127:10:127:18 | call to s17 | provenance | | +| semantics.rb:127:14:127:14 | a | semantics.rb:127:10:127:18 | call to s17 [element 0] | provenance | | +| semantics.rb:127:17:127:17 | b | semantics.rb:127:10:127:18 | call to s17 [element 1] | provenance | | +| semantics.rb:128:10:128:18 | call to s17 [element 0] | semantics.rb:128:10:128:21 | ...[...] | provenance | | +| semantics.rb:128:10:128:18 | call to s17 [element 0] | semantics.rb:128:10:128:21 | ...[...] | provenance | | +| semantics.rb:128:14:128:14 | a | semantics.rb:128:10:128:18 | call to s17 [element 0] | provenance | | +| semantics.rb:128:14:128:14 | a | semantics.rb:128:10:128:18 | call to s17 [element 0] | provenance | | +| semantics.rb:129:10:129:18 | call to s17 [element 1] | semantics.rb:129:10:129:21 | ...[...] | provenance | | +| semantics.rb:129:10:129:18 | call to s17 [element 1] | semantics.rb:129:10:129:21 | ...[...] | provenance | | +| semantics.rb:129:17:129:17 | b | semantics.rb:129:10:129:18 | call to s17 [element 1] | provenance | | +| semantics.rb:129:17:129:17 | b | semantics.rb:129:10:129:18 | call to s17 [element 1] | provenance | | | semantics.rb:133:5:133:5 | a | semantics.rb:135:12:135:12 | a | provenance | | | semantics.rb:133:5:133:5 | a | semantics.rb:135:12:135:12 | a | provenance | | | semantics.rb:133:5:133:5 | a | semantics.rb:137:14:137:14 | a | provenance | | @@ -1191,12 +1191,12 @@ nodes | semantics.rb:60:9:60:18 | call to source | semmle.label | call to source | | semantics.rb:61:10:61:15 | call to s10 | semmle.label | call to s10 | | semantics.rb:61:10:61:15 | call to s10 | semmle.label | call to s10 | -| semantics.rb:61:10:61:15 | call to s10 [splat position 0] | semmle.label | call to s10 [splat position 0] | +| semantics.rb:61:10:61:15 | call to s10 [element 0] | semmle.label | call to s10 [element 0] | | semantics.rb:61:14:61:14 | a | semmle.label | a | | semantics.rb:61:14:61:14 | a | semmle.label | a | | semantics.rb:62:10:62:18 | call to s10 | semmle.label | call to s10 | | semantics.rb:62:10:62:18 | call to s10 | semmle.label | call to s10 | -| semantics.rb:62:10:62:18 | call to s10 [splat position 1] | semmle.label | call to s10 [splat position 1] | +| semantics.rb:62:10:62:18 | call to s10 [element 1] | semmle.label | call to s10 [element 1] | | semantics.rb:62:17:62:17 | a | semmle.label | a | | semantics.rb:62:17:62:17 | a | semmle.label | a | | semantics.rb:63:10:63:20 | call to s10 | semmle.label | call to s10 | @@ -1322,18 +1322,18 @@ nodes | semantics.rb:126:9:126:18 | call to source | semmle.label | call to source | | semantics.rb:126:9:126:18 | call to source | semmle.label | call to source | | semantics.rb:127:10:127:18 | call to s17 | semmle.label | call to s17 | -| semantics.rb:127:10:127:18 | call to s17 [splat position 0] | semmle.label | call to s17 [splat position 0] | -| semantics.rb:127:10:127:18 | call to s17 [splat position 1] | semmle.label | call to s17 [splat position 1] | +| semantics.rb:127:10:127:18 | call to s17 [element 0] | semmle.label | call to s17 [element 0] | +| semantics.rb:127:10:127:18 | call to s17 [element 1] | semmle.label | call to s17 [element 1] | | semantics.rb:127:14:127:14 | a | semmle.label | a | | semantics.rb:127:17:127:17 | b | semmle.label | b | -| semantics.rb:128:10:128:18 | call to s17 [splat position 0] | semmle.label | call to s17 [splat position 0] | -| semantics.rb:128:10:128:18 | call to s17 [splat position 0] | semmle.label | call to s17 [splat position 0] | +| semantics.rb:128:10:128:18 | call to s17 [element 0] | semmle.label | call to s17 [element 0] | +| semantics.rb:128:10:128:18 | call to s17 [element 0] | semmle.label | call to s17 [element 0] | | semantics.rb:128:10:128:21 | ...[...] | semmle.label | ...[...] | | semantics.rb:128:10:128:21 | ...[...] | semmle.label | ...[...] | | semantics.rb:128:14:128:14 | a | semmle.label | a | | semantics.rb:128:14:128:14 | a | semmle.label | a | -| semantics.rb:129:10:129:18 | call to s17 [splat position 1] | semmle.label | call to s17 [splat position 1] | -| semantics.rb:129:10:129:18 | call to s17 [splat position 1] | semmle.label | call to s17 [splat position 1] | +| semantics.rb:129:10:129:18 | call to s17 [element 1] | semmle.label | call to s17 [element 1] | +| semantics.rb:129:10:129:18 | call to s17 [element 1] | semmle.label | call to s17 [element 1] | | semantics.rb:129:10:129:21 | ...[...] | semmle.label | ...[...] | | semantics.rb:129:10:129:21 | ...[...] | semmle.label | ...[...] | | semantics.rb:129:17:129:17 | b | semmle.label | b | diff --git a/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected b/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected index 09e1598caf5..90b41808613 100644 --- a/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected +++ b/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected @@ -56,12 +56,43 @@ track | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:181:28:181:29 | p2 | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:200:9:200:9 | x | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:65:5:65:13 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:88:5:88:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:89:5:89:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:102:5:102:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:108:1:112:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:108:40:108:41 | *b | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:109:5:109:10 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:110:5:110:13 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:111:5:111:10 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:133:14:133:18 | *args | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:134:5:134:16 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:200:1:205:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 or unknown | params_flow.rb:64:16:64:17 | *x | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 or unknown | params_flow.rb:140:5:140:15 | [post] ...[...] | @@ -74,11 +105,26 @@ track | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 or unknown | params_flow.rb:182:5:182:20 | call to insert | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:108:1:112:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:133:14:133:18 | *args | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:140:5:140:38 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:154:5:154:20 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:167:21:167:28 | *posargs | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:168:5:168:36 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:181:1:183:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 1 | params_flow.rb:182:5:182:20 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 2 | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 2 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 2 | params_flow.rb:133:14:133:18 | *args | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 3 | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 4 | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 5 | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p1 | params_flow.rb:25:17:25:24 | **kwargs | @@ -99,69 +145,6 @@ track | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:153:1:155:3 | synthetic hash-splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:9:1:12:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:65:5:65:13 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:83:1:91:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:88:5:88:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:89:5:89:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:102:5:102:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:108:1:112:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:109:5:109:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:110:5:110:13 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:111:5:111:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 0 | params_flow.rb:134:5:134:16 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:9:1:12:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:83:1:91:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:98:1:103:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:108:1:112:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:140:5:140:38 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:154:5:154:20 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:167:21:167:28 | *posargs | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:168:5:168:36 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:181:1:183:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 | params_flow.rb:182:5:182:20 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:9:1:12:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:49:1:53:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:98:1:103:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 2 | params_flow.rb:98:1:103:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:98:1:103:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 3 | params_flow.rb:69:1:76:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 3 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 3 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 4 | params_flow.rb:69:1:76:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 4 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 4 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content splat position 5 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker without call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:1:11:1:11 | x | type tracker without call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:1:11:1:11 | x | type tracker without call steps | params_flow.rb:14:12:14:19 | call to taint | @@ -249,30 +232,41 @@ track | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content attribute [] | params_flow.rb:117:1:117:1 | [post] x | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element | params_flow.rb:117:1:117:1 | [post] x | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element | params_flow.rb:118:12:118:13 | * ... | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:14:1:14:30 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:43:8:43:18 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:43:8:43:18 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:44:1:44:28 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:44:23:44:27 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:46:8:46:29 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:46:8:46:29 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:47:12:47:16 | * ... | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:55:1:55:29 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:57:8:57:18 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:57:8:57:18 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:58:1:58:25 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:58:20:58:24 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:60:8:60:29 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:60:8:60:29 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:61:9:61:13 | * ... | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:80:8:80:51 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:81:1:81:37 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:81:21:81:25 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:93:8:93:51 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:94:32:94:36 | * ... | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:96:33:96:65 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:105:1:105:49 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:105:26:105:48 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:105:27:105:48 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:105:27:105:48 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:106:1:106:46 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:114:1:114:67 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:128:10:128:31 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:128:10:128:31 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:128:34:128:60 | call to [] | @@ -287,24 +281,36 @@ track | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:195:12:198:1 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 | params_flow.rb:207:5:207:13 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 0 or unknown | params_flow.rb:67:12:67:16 | * ... | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:14:1:14:30 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:44:1:44:28 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:46:8:46:29 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:46:8:46:29 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:47:12:47:16 | * ... | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:55:1:55:29 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:58:1:58:25 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:60:8:60:29 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:60:8:60:29 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:61:9:61:13 | * ... | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:80:8:80:51 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:81:1:81:37 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:81:21:81:25 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:93:8:93:51 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:94:32:94:36 | * ... | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:96:33:96:65 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:105:1:105:49 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:105:26:105:48 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:105:27:105:48 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:105:27:105:48 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:106:1:106:46 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:114:1:114:67 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:117:1:117:15 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:128:10:128:31 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:128:10:128:31 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:128:46:128:59 | call to [] | @@ -318,27 +324,44 @@ track | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:171:11:171:27 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:171:11:171:27 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:173:17:173:24 | * ... | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:178:1:178:30 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:185:8:185:24 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:185:8:185:24 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:187:20:187:24 | * ... | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 1 | params_flow.rb:192:1:192:33 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:80:8:80:51 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:81:1:81:37 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:81:21:81:25 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:93:8:93:51 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:94:32:94:36 | * ... | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:96:33:96:65 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:105:1:105:49 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:106:1:106:46 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:137:10:137:43 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:137:11:137:43 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 2 | params_flow.rb:137:11:137:43 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 | params_flow.rb:80:8:80:51 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 | params_flow.rb:81:1:81:37 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 | params_flow.rb:81:21:81:25 | * ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 | params_flow.rb:93:8:93:51 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 | params_flow.rb:94:32:94:36 | * ... | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 3 | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 4 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 4 | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 4 | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 4 | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 5 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:37:8:37:44 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:37:8:37:44 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:38:8:38:13 | ** ... | @@ -371,53 +394,13 @@ track | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:150:1:150:42 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p3 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:14:1:14:30 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:44:1:44:28 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:55:1:55:29 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:58:1:58:25 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:78:1:78:63 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:81:1:81:37 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:94:1:94:48 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:105:1:105:49 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:106:1:106:46 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 0 | params_flow.rb:114:1:114:67 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:14:1:14:30 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:55:1:55:29 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:78:1:78:63 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:94:1:94:48 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:106:1:106:46 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:114:1:114:67 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:117:1:117:15 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:178:1:178:30 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 | params_flow.rb:192:1:192:33 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:44:1:44:28 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:58:1:58:25 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:105:1:105:49 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 2 | params_flow.rb:78:1:78:63 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 2 | params_flow.rb:106:1:106:46 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:105:1:105:49 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 3 | params_flow.rb:78:1:78:63 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 4 | params_flow.rb:78:1:78:63 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content splat position 5 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:5:1:7:3 | &block | type tracker without call steps | params_flow.rb:5:1:7:3 | &block | | params_flow.rb:5:1:7:3 | self in sink | type tracker without call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:5:1:7:3 | sink | type tracker without call steps | params_flow.rb:5:1:7:3 | sink | | params_flow.rb:5:1:7:3 | synthetic splat parameter | type tracker without call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:5:10:5:10 | x | type tracker without call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:5:10:5:10 | x | type tracker without call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:5:10:5:10 | x | type tracker without call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:5:10:5:10 | x | type tracker without call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:6:5:6:10 | call to puts | type tracker without call steps | params_flow.rb:6:5:6:10 | call to puts | | params_flow.rb:6:5:6:10 | call to puts | type tracker without call steps | params_flow.rb:10:5:10:11 | call to sink | | params_flow.rb:6:5:6:10 | call to puts | type tracker without call steps | params_flow.rb:11:5:11:11 | call to sink | @@ -511,100 +494,79 @@ track | params_flow.rb:9:1:12:3 | self in positional | type tracker without call steps | params_flow.rb:9:1:12:3 | self in positional | | params_flow.rb:9:1:12:3 | synthetic splat parameter | type tracker without call steps | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:9:16:9:17 | p1 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:9:16:9:17 | p1 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:9:16:9:17 | p1 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:9:16:9:17 | p1 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:9:16:9:17 | p1 | type tracker without call steps | params_flow.rb:9:16:9:17 | p1 | | params_flow.rb:9:16:9:17 | p1 | type tracker without call steps | params_flow.rb:9:16:9:17 | p1 | -| params_flow.rb:9:16:9:17 | p1 | type tracker without call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | +| params_flow.rb:9:16:9:17 | p1 | type tracker without call steps with content element 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:9:20:9:21 | p2 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:9:20:9:21 | p2 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:9:20:9:21 | p2 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:9:20:9:21 | p2 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:9:20:9:21 | p2 | type tracker without call steps | params_flow.rb:9:20:9:21 | p2 | | params_flow.rb:9:20:9:21 | p2 | type tracker without call steps | params_flow.rb:9:20:9:21 | p2 | -| params_flow.rb:9:20:9:21 | p2 | type tracker without call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | +| params_flow.rb:9:20:9:21 | p2 | type tracker without call steps with content element 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:10:5:10:11 | call to sink | type tracker without call steps | params_flow.rb:10:5:10:11 | call to sink | -| params_flow.rb:10:5:10:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:10:5:10:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:11:5:11:11 | call to sink | type tracker without call steps | params_flow.rb:11:5:11:11 | call to sink | | params_flow.rb:11:5:11:11 | call to sink | type tracker without call steps | params_flow.rb:14:1:14:30 | call to positional | | params_flow.rb:11:5:11:11 | call to sink | type tracker without call steps | params_flow.rb:44:1:44:28 | call to positional | | params_flow.rb:11:5:11:11 | call to sink | type tracker without call steps | params_flow.rb:47:1:47:17 | call to positional | | params_flow.rb:11:5:11:11 | call to sink | type tracker without call steps | params_flow.rb:118:1:118:14 | call to positional | -| params_flow.rb:11:5:11:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:11:5:11:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:14:1:14:30 | call to positional | type tracker without call steps | params_flow.rb:14:1:14:30 | call to positional | -| params_flow.rb:14:1:14:30 | synthetic splat argument | type tracker with call steps | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:14:1:14:30 | synthetic splat argument | type tracker without call steps | params_flow.rb:14:1:14:30 | synthetic splat argument | | params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | -| params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:9:1:12:3 | synthetic splat parameter | -| params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | +| params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:14:12:14:19 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:14:12:14:19 | call to taint | type tracker without call steps | params_flow.rb:14:12:14:19 | call to taint | -| params_flow.rb:14:12:14:19 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:14:1:14:30 | synthetic splat argument | -| params_flow.rb:14:12:14:19 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:14:12:14:19 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:14:1:14:30 | synthetic splat argument | | params_flow.rb:14:12:14:19 | synthetic splat argument | type tracker without call steps | params_flow.rb:14:12:14:19 | synthetic splat argument | | params_flow.rb:14:18:14:18 | 1 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:14:18:14:18 | 1 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:14:18:14:18 | 1 | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | -| params_flow.rb:14:18:14:18 | 1 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:14:18:14:18 | 1 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:14:18:14:18 | 1 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:14:18:14:18 | 1 | type tracker with call steps with content splat position 0 | params_flow.rb:9:1:12:3 | synthetic splat parameter | -| params_flow.rb:14:18:14:18 | 1 | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | +| params_flow.rb:14:18:14:18 | 1 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:14:18:14:18 | 1 | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:14:18:14:18 | 1 | type tracker without call steps | params_flow.rb:14:12:14:19 | call to taint | | params_flow.rb:14:18:14:18 | 1 | type tracker without call steps | params_flow.rb:14:18:14:18 | 1 | -| params_flow.rb:14:18:14:18 | 1 | type tracker without call steps with content splat position 0 | params_flow.rb:14:1:14:30 | synthetic splat argument | -| params_flow.rb:14:18:14:18 | 1 | type tracker without call steps with content splat position 0 | params_flow.rb:14:12:14:19 | synthetic splat argument | +| params_flow.rb:14:18:14:18 | 1 | type tracker without call steps with content element 0 | params_flow.rb:14:1:14:30 | synthetic splat argument | +| params_flow.rb:14:18:14:18 | 1 | type tracker without call steps with content element 0 | params_flow.rb:14:12:14:19 | synthetic splat argument | | params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | -| params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | -| params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:14:22:14:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:14:22:14:29 | call to taint | type tracker without call steps | params_flow.rb:14:22:14:29 | call to taint | -| params_flow.rb:14:22:14:29 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:14:1:14:30 | synthetic splat argument | -| params_flow.rb:14:22:14:29 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:14:22:14:29 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:14:1:14:30 | synthetic splat argument | | params_flow.rb:14:22:14:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:14:22:14:29 | synthetic splat argument | | params_flow.rb:14:28:14:28 | 2 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:14:28:14:28 | 2 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:14:28:14:28 | 2 | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | -| params_flow.rb:14:28:14:28 | 2 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:14:28:14:28 | 2 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:14:28:14:28 | 2 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:14:28:14:28 | 2 | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | -| params_flow.rb:14:28:14:28 | 2 | type tracker with call steps with content splat position 1 | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:14:28:14:28 | 2 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:14:28:14:28 | 2 | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:14:28:14:28 | 2 | type tracker without call steps | params_flow.rb:14:22:14:29 | call to taint | | params_flow.rb:14:28:14:28 | 2 | type tracker without call steps | params_flow.rb:14:28:14:28 | 2 | -| params_flow.rb:14:28:14:28 | 2 | type tracker without call steps with content splat position 0 | params_flow.rb:14:22:14:29 | synthetic splat argument | -| params_flow.rb:14:28:14:28 | 2 | type tracker without call steps with content splat position 1 | params_flow.rb:14:1:14:30 | synthetic splat argument | +| params_flow.rb:14:28:14:28 | 2 | type tracker without call steps with content element 0 | params_flow.rb:14:22:14:29 | synthetic splat argument | +| params_flow.rb:14:28:14:28 | 2 | type tracker without call steps with content element 1 | params_flow.rb:14:1:14:30 | synthetic splat argument | | params_flow.rb:16:1:19:3 | &block | type tracker without call steps | params_flow.rb:16:1:19:3 | &block | | params_flow.rb:16:1:19:3 | keyword | type tracker without call steps | params_flow.rb:16:1:19:3 | keyword | | params_flow.rb:16:1:19:3 | self in keyword | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:16:1:19:3 | self in keyword | type tracker without call steps | params_flow.rb:16:1:19:3 | self in keyword | | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | type tracker without call steps | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:16:13:16:14 | p1 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:16:13:16:14 | p1 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:16:13:16:14 | p1 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:16:13:16:14 | p1 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:16:13:16:14 | p1 | type tracker without call steps | params_flow.rb:16:13:16:14 | p1 | | params_flow.rb:16:13:16:14 | p1 | type tracker without call steps | params_flow.rb:16:13:16:14 | p1 | -| params_flow.rb:16:13:16:14 | p1 | type tracker without call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | +| params_flow.rb:16:13:16:14 | p1 | type tracker without call steps with content element 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:16:18:16:19 | p2 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:16:18:16:19 | p2 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:16:18:16:19 | p2 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:16:18:16:19 | p2 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:16:18:16:19 | p2 | type tracker without call steps | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:16:18:16:19 | p2 | type tracker without call steps | params_flow.rb:16:18:16:19 | p2 | -| params_flow.rb:16:18:16:19 | p2 | type tracker without call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | +| params_flow.rb:16:18:16:19 | p2 | type tracker without call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:17:5:17:11 | call to sink | type tracker without call steps | params_flow.rb:17:5:17:11 | call to sink | -| params_flow.rb:17:5:17:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:17:5:17:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:18:5:18:11 | call to sink | type tracker without call steps | params_flow.rb:18:5:18:11 | call to sink | | params_flow.rb:18:5:18:11 | call to sink | type tracker without call steps | params_flow.rb:21:1:21:35 | call to keyword | | params_flow.rb:18:5:18:11 | call to sink | type tracker without call steps | params_flow.rb:22:1:22:35 | call to keyword | | params_flow.rb:18:5:18:11 | call to sink | type tracker without call steps | params_flow.rb:23:1:23:41 | call to keyword | | params_flow.rb:18:5:18:11 | call to sink | type tracker without call steps | params_flow.rb:41:1:41:30 | call to keyword | -| params_flow.rb:18:5:18:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:18:5:18:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:21:1:21:35 | call to keyword | type tracker without call steps | params_flow.rb:21:1:21:35 | call to keyword | | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | @@ -613,50 +575,42 @@ track | params_flow.rb:21:9:21:20 | Pair | type tracker without call steps | params_flow.rb:21:9:21:20 | Pair | | params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | +| params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:21:13:21:20 | call to taint | type tracker without call steps | params_flow.rb:21:13:21:20 | call to taint | | params_flow.rb:21:13:21:20 | call to taint | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | -| params_flow.rb:21:13:21:20 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:21:13:21:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:21:13:21:20 | synthetic splat argument | | params_flow.rb:21:19:21:19 | 3 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:21:19:21:19 | 3 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:21:19:21:19 | 3 | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | +| params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:21:19:21:19 | 3 | type tracker without call steps | params_flow.rb:21:13:21:20 | call to taint | | params_flow.rb:21:19:21:19 | 3 | type tracker without call steps | params_flow.rb:21:19:21:19 | 3 | +| params_flow.rb:21:19:21:19 | 3 | type tracker without call steps with content element 0 | params_flow.rb:21:13:21:20 | synthetic splat argument | | params_flow.rb:21:19:21:19 | 3 | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | -| params_flow.rb:21:19:21:19 | 3 | type tracker without call steps with content splat position 0 | params_flow.rb:21:13:21:20 | synthetic splat argument | | params_flow.rb:21:23:21:24 | :p2 | type tracker without call steps | params_flow.rb:21:23:21:24 | :p2 | | params_flow.rb:21:23:21:34 | Pair | type tracker without call steps | params_flow.rb:21:23:21:34 | Pair | | params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | +| params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:21:27:21:34 | call to taint | type tracker without call steps | params_flow.rb:21:27:21:34 | call to taint | | params_flow.rb:21:27:21:34 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | -| params_flow.rb:21:27:21:34 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:21:27:21:34 | synthetic splat argument | type tracker without call steps | params_flow.rb:21:27:21:34 | synthetic splat argument | | params_flow.rb:21:33:21:33 | 4 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:21:33:21:33 | 4 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:21:33:21:33 | 4 | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | +| params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:21:33:21:33 | 4 | type tracker without call steps | params_flow.rb:21:27:21:34 | call to taint | | params_flow.rb:21:33:21:33 | 4 | type tracker without call steps | params_flow.rb:21:33:21:33 | 4 | +| params_flow.rb:21:33:21:33 | 4 | type tracker without call steps with content element 0 | params_flow.rb:21:27:21:34 | synthetic splat argument | | params_flow.rb:21:33:21:33 | 4 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | -| params_flow.rb:21:33:21:33 | 4 | type tracker without call steps with content splat position 0 | params_flow.rb:21:27:21:34 | synthetic splat argument | | params_flow.rb:22:1:22:35 | call to keyword | type tracker without call steps | params_flow.rb:22:1:22:35 | call to keyword | | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | @@ -664,50 +618,42 @@ track | params_flow.rb:22:9:22:20 | Pair | type tracker without call steps | params_flow.rb:22:9:22:20 | Pair | | params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | +| params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:22:13:22:20 | call to taint | type tracker without call steps | params_flow.rb:22:13:22:20 | call to taint | | params_flow.rb:22:13:22:20 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | -| params_flow.rb:22:13:22:20 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:22:13:22:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:22:13:22:20 | synthetic splat argument | | params_flow.rb:22:19:22:19 | 5 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:22:19:22:19 | 5 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:22:19:22:19 | 5 | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | +| params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:22:19:22:19 | 5 | type tracker without call steps | params_flow.rb:22:13:22:20 | call to taint | | params_flow.rb:22:19:22:19 | 5 | type tracker without call steps | params_flow.rb:22:19:22:19 | 5 | +| params_flow.rb:22:19:22:19 | 5 | type tracker without call steps with content element 0 | params_flow.rb:22:13:22:20 | synthetic splat argument | | params_flow.rb:22:19:22:19 | 5 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | -| params_flow.rb:22:19:22:19 | 5 | type tracker without call steps with content splat position 0 | params_flow.rb:22:13:22:20 | synthetic splat argument | | params_flow.rb:22:23:22:24 | :p1 | type tracker without call steps | params_flow.rb:22:23:22:24 | :p1 | | params_flow.rb:22:23:22:34 | Pair | type tracker without call steps | params_flow.rb:22:23:22:34 | Pair | | params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | +| params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:22:27:22:34 | call to taint | type tracker without call steps | params_flow.rb:22:27:22:34 | call to taint | | params_flow.rb:22:27:22:34 | call to taint | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | -| params_flow.rb:22:27:22:34 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:22:27:22:34 | synthetic splat argument | type tracker without call steps | params_flow.rb:22:27:22:34 | synthetic splat argument | | params_flow.rb:22:33:22:33 | 6 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:22:33:22:33 | 6 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:22:33:22:33 | 6 | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | +| params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:22:33:22:33 | 6 | type tracker without call steps | params_flow.rb:22:27:22:34 | call to taint | | params_flow.rb:22:33:22:33 | 6 | type tracker without call steps | params_flow.rb:22:33:22:33 | 6 | +| params_flow.rb:22:33:22:33 | 6 | type tracker without call steps with content element 0 | params_flow.rb:22:27:22:34 | synthetic splat argument | | params_flow.rb:22:33:22:33 | 6 | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | -| params_flow.rb:22:33:22:33 | 6 | type tracker without call steps with content splat position 0 | params_flow.rb:22:27:22:34 | synthetic splat argument | | params_flow.rb:23:1:23:41 | call to keyword | type tracker without call steps | params_flow.rb:23:1:23:41 | call to keyword | | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | @@ -715,113 +661,95 @@ track | params_flow.rb:23:9:23:23 | Pair | type tracker without call steps | params_flow.rb:23:9:23:23 | Pair | | params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | +| params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:23:16:23:23 | call to taint | type tracker without call steps | params_flow.rb:23:16:23:23 | call to taint | | params_flow.rb:23:16:23:23 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | -| params_flow.rb:23:16:23:23 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:23:16:23:23 | synthetic splat argument | type tracker without call steps | params_flow.rb:23:16:23:23 | synthetic splat argument | | params_flow.rb:23:22:23:22 | 7 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:23:22:23:22 | 7 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:23:22:23:22 | 7 | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | +| params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:23:22:23:22 | 7 | type tracker without call steps | params_flow.rb:23:16:23:23 | call to taint | | params_flow.rb:23:22:23:22 | 7 | type tracker without call steps | params_flow.rb:23:22:23:22 | 7 | +| params_flow.rb:23:22:23:22 | 7 | type tracker without call steps with content element 0 | params_flow.rb:23:16:23:23 | synthetic splat argument | | params_flow.rb:23:22:23:22 | 7 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | -| params_flow.rb:23:22:23:22 | 7 | type tracker without call steps with content splat position 0 | params_flow.rb:23:16:23:23 | synthetic splat argument | | params_flow.rb:23:26:23:28 | :p1 | type tracker without call steps | params_flow.rb:23:26:23:28 | :p1 | | params_flow.rb:23:26:23:40 | Pair | type tracker without call steps | params_flow.rb:23:26:23:40 | Pair | | params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | +| params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:23:33:23:40 | call to taint | type tracker without call steps | params_flow.rb:23:33:23:40 | call to taint | | params_flow.rb:23:33:23:40 | call to taint | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | -| params_flow.rb:23:33:23:40 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:23:33:23:40 | synthetic splat argument | type tracker without call steps | params_flow.rb:23:33:23:40 | synthetic splat argument | | params_flow.rb:23:39:23:39 | 8 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:23:39:23:39 | 8 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:23:39:23:39 | 8 | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | +| params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:23:39:23:39 | 8 | type tracker without call steps | params_flow.rb:23:33:23:40 | call to taint | | params_flow.rb:23:39:23:39 | 8 | type tracker without call steps | params_flow.rb:23:39:23:39 | 8 | +| params_flow.rb:23:39:23:39 | 8 | type tracker without call steps with content element 0 | params_flow.rb:23:33:23:40 | synthetic splat argument | | params_flow.rb:23:39:23:39 | 8 | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | -| params_flow.rb:23:39:23:39 | 8 | type tracker without call steps with content splat position 0 | params_flow.rb:23:33:23:40 | synthetic splat argument | | params_flow.rb:25:1:31:3 | &block | type tracker without call steps | params_flow.rb:25:1:31:3 | &block | | params_flow.rb:25:1:31:3 | kwargs | type tracker without call steps | params_flow.rb:25:1:31:3 | kwargs | | params_flow.rb:25:1:31:3 | self in kwargs | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:25:1:31:3 | self in kwargs | type tracker without call steps | params_flow.rb:25:1:31:3 | self in kwargs | | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | type tracker without call steps | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:25:12:25:13 | p1 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:25:12:25:13 | p1 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:25:12:25:13 | p1 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:25:12:25:13 | p1 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:25:12:25:13 | p1 | type tracker without call steps | params_flow.rb:25:12:25:13 | p1 | | params_flow.rb:25:12:25:13 | p1 | type tracker without call steps | params_flow.rb:25:12:25:13 | p1 | -| params_flow.rb:25:12:25:13 | p1 | type tracker without call steps with content splat position 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | +| params_flow.rb:25:12:25:13 | p1 | type tracker without call steps with content element 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | | params_flow.rb:25:17:25:24 | **kwargs | type tracker without call steps | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:25:19:25:24 | kwargs | type tracker without call steps | params_flow.rb:25:19:25:24 | kwargs | | params_flow.rb:26:5:26:11 | call to sink | type tracker without call steps | params_flow.rb:26:5:26:11 | call to sink | -| params_flow.rb:26:5:26:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:26:5:26:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:26:5:26:11 | synthetic splat argument | | params_flow.rb:27:5:27:22 | call to sink | type tracker without call steps | params_flow.rb:27:5:27:22 | call to sink | -| params_flow.rb:27:5:27:22 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:27:5:27:22 | synthetic splat argument | type tracker without call steps | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:27:11:27:21 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:27:11:27:21 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:27:11:27:21 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:27:11:27:21 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:27:11:27:21 | ...[...] | type tracker without call steps | params_flow.rb:27:11:27:21 | ...[...] | -| params_flow.rb:27:11:27:21 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | +| params_flow.rb:27:11:27:21 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:27:11:27:21 | synthetic splat argument | type tracker without call steps | params_flow.rb:27:11:27:21 | synthetic splat argument | | params_flow.rb:27:18:27:20 | :p1 | type tracker without call steps | params_flow.rb:27:18:27:20 | :p1 | -| params_flow.rb:27:18:27:20 | :p1 | type tracker without call steps with content splat position 0 | params_flow.rb:27:11:27:21 | synthetic splat argument | +| params_flow.rb:27:18:27:20 | :p1 | type tracker without call steps with content element 0 | params_flow.rb:27:11:27:21 | synthetic splat argument | | params_flow.rb:28:5:28:22 | call to sink | type tracker without call steps | params_flow.rb:28:5:28:22 | call to sink | -| params_flow.rb:28:5:28:22 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:28:5:28:22 | synthetic splat argument | type tracker without call steps | params_flow.rb:28:5:28:22 | synthetic splat argument | | params_flow.rb:28:11:28:21 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:28:11:28:21 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:28:11:28:21 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:28:11:28:21 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:28:11:28:21 | ...[...] | type tracker without call steps | params_flow.rb:28:11:28:21 | ...[...] | -| params_flow.rb:28:11:28:21 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | +| params_flow.rb:28:11:28:21 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | | params_flow.rb:28:11:28:21 | synthetic splat argument | type tracker without call steps | params_flow.rb:28:11:28:21 | synthetic splat argument | | params_flow.rb:28:18:28:20 | :p2 | type tracker without call steps | params_flow.rb:28:18:28:20 | :p2 | -| params_flow.rb:28:18:28:20 | :p2 | type tracker without call steps with content splat position 0 | params_flow.rb:28:11:28:21 | synthetic splat argument | +| params_flow.rb:28:18:28:20 | :p2 | type tracker without call steps with content element 0 | params_flow.rb:28:11:28:21 | synthetic splat argument | | params_flow.rb:29:5:29:22 | call to sink | type tracker without call steps | params_flow.rb:29:5:29:22 | call to sink | -| params_flow.rb:29:5:29:22 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:29:5:29:22 | synthetic splat argument | type tracker without call steps | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:29:11:29:21 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:29:11:29:21 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:29:11:29:21 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:29:11:29:21 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:29:11:29:21 | ...[...] | type tracker without call steps | params_flow.rb:29:11:29:21 | ...[...] | -| params_flow.rb:29:11:29:21 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | +| params_flow.rb:29:11:29:21 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:29:11:29:21 | synthetic splat argument | type tracker without call steps | params_flow.rb:29:11:29:21 | synthetic splat argument | | params_flow.rb:29:18:29:20 | :p3 | type tracker without call steps | params_flow.rb:29:18:29:20 | :p3 | -| params_flow.rb:29:18:29:20 | :p3 | type tracker without call steps with content splat position 0 | params_flow.rb:29:11:29:21 | synthetic splat argument | +| params_flow.rb:29:18:29:20 | :p3 | type tracker without call steps with content element 0 | params_flow.rb:29:11:29:21 | synthetic splat argument | | params_flow.rb:30:5:30:22 | call to sink | type tracker without call steps | params_flow.rb:30:5:30:22 | call to sink | | params_flow.rb:30:5:30:22 | call to sink | type tracker without call steps | params_flow.rb:33:1:33:58 | call to kwargs | | params_flow.rb:30:5:30:22 | call to sink | type tracker without call steps | params_flow.rb:35:1:35:29 | call to kwargs | | params_flow.rb:30:5:30:22 | call to sink | type tracker without call steps | params_flow.rb:38:1:38:14 | call to kwargs | -| params_flow.rb:30:5:30:22 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:30:5:30:22 | synthetic splat argument | type tracker without call steps | params_flow.rb:30:5:30:22 | synthetic splat argument | | params_flow.rb:30:11:30:21 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:30:11:30:21 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:30:11:30:21 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:30:11:30:21 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:30:11:30:21 | ...[...] | type tracker without call steps | params_flow.rb:30:11:30:21 | ...[...] | -| params_flow.rb:30:11:30:21 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:30:5:30:22 | synthetic splat argument | +| params_flow.rb:30:11:30:21 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:30:5:30:22 | synthetic splat argument | | params_flow.rb:30:11:30:21 | synthetic splat argument | type tracker without call steps | params_flow.rb:30:11:30:21 | synthetic splat argument | | params_flow.rb:30:18:30:20 | :p4 | type tracker without call steps | params_flow.rb:30:18:30:20 | :p4 | -| params_flow.rb:30:18:30:20 | :p4 | type tracker without call steps with content splat position 0 | params_flow.rb:30:11:30:21 | synthetic splat argument | +| params_flow.rb:30:18:30:20 | :p4 | type tracker without call steps with content element 0 | params_flow.rb:30:11:30:21 | synthetic splat argument | | params_flow.rb:33:1:33:58 | call to kwargs | type tracker without call steps | params_flow.rb:33:1:33:58 | call to kwargs | | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:25:17:25:24 | **kwargs | @@ -831,92 +759,79 @@ track | params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps | params_flow.rb:25:12:25:13 | p1 | | params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps | params_flow.rb:27:11:27:21 | ...[...] | +| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | +| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | -| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:33:12:33:19 | call to taint | type tracker without call steps | params_flow.rb:33:12:33:19 | call to taint | | params_flow.rb:33:12:33:19 | call to taint | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | -| params_flow.rb:33:12:33:19 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:33:12:33:19 | synthetic splat argument | type tracker without call steps | params_flow.rb:33:12:33:19 | synthetic splat argument | | params_flow.rb:33:18:33:18 | 9 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:18:33:18 | 9 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:18:33:18 | 9 | type tracker with call steps | params_flow.rb:25:12:25:13 | p1 | | params_flow.rb:33:18:33:18 | 9 | type tracker with call steps | params_flow.rb:27:11:27:21 | ...[...] | +| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | +| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content splat position 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | -| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content splat position 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:33:18:33:18 | 9 | type tracker without call steps | params_flow.rb:33:12:33:19 | call to taint | | params_flow.rb:33:18:33:18 | 9 | type tracker without call steps | params_flow.rb:33:18:33:18 | 9 | +| params_flow.rb:33:18:33:18 | 9 | type tracker without call steps with content element 0 | params_flow.rb:33:12:33:19 | synthetic splat argument | | params_flow.rb:33:18:33:18 | 9 | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | -| params_flow.rb:33:18:33:18 | 9 | type tracker without call steps with content splat position 0 | params_flow.rb:33:12:33:19 | synthetic splat argument | | params_flow.rb:33:22:33:23 | :p2 | type tracker without call steps | params_flow.rb:33:22:33:23 | :p2 | | params_flow.rb:33:22:33:34 | Pair | type tracker without call steps | params_flow.rb:33:22:33:34 | Pair | | params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps | params_flow.rb:28:11:28:21 | ...[...] | +| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | | params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | | params_flow.rb:33:26:33:34 | call to taint | type tracker without call steps | params_flow.rb:33:26:33:34 | call to taint | | params_flow.rb:33:26:33:34 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | -| params_flow.rb:33:26:33:34 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:33:26:33:34 | synthetic splat argument | type tracker without call steps | params_flow.rb:33:26:33:34 | synthetic splat argument | | params_flow.rb:33:32:33:33 | 10 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:32:33:33 | 10 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:32:33:33 | 10 | type tracker with call steps | params_flow.rb:28:11:28:21 | ...[...] | +| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content element 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | | params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content splat position 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | | params_flow.rb:33:32:33:33 | 10 | type tracker without call steps | params_flow.rb:33:26:33:34 | call to taint | | params_flow.rb:33:32:33:33 | 10 | type tracker without call steps | params_flow.rb:33:32:33:33 | 10 | +| params_flow.rb:33:32:33:33 | 10 | type tracker without call steps with content element 0 | params_flow.rb:33:26:33:34 | synthetic splat argument | | params_flow.rb:33:32:33:33 | 10 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | -| params_flow.rb:33:32:33:33 | 10 | type tracker without call steps with content splat position 0 | params_flow.rb:33:26:33:34 | synthetic splat argument | | params_flow.rb:33:37:33:38 | :p3 | type tracker without call steps | params_flow.rb:33:37:33:38 | :p3 | | params_flow.rb:33:37:33:49 | Pair | type tracker without call steps | params_flow.rb:33:37:33:49 | Pair | | params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps | params_flow.rb:29:11:29:21 | ...[...] | +| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:33:41:33:49 | call to taint | type tracker without call steps | params_flow.rb:33:41:33:49 | call to taint | | params_flow.rb:33:41:33:49 | call to taint | type tracker without call steps with content hash-splat position :p3 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | -| params_flow.rb:33:41:33:49 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:33:41:33:49 | synthetic splat argument | type tracker without call steps | params_flow.rb:33:41:33:49 | synthetic splat argument | | params_flow.rb:33:47:33:48 | 11 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:47:33:48 | 11 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:47:33:48 | 11 | type tracker with call steps | params_flow.rb:29:11:29:21 | ...[...] | +| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content element 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content splat position 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:33:47:33:48 | 11 | type tracker without call steps | params_flow.rb:33:41:33:49 | call to taint | | params_flow.rb:33:47:33:48 | 11 | type tracker without call steps | params_flow.rb:33:47:33:48 | 11 | +| params_flow.rb:33:47:33:48 | 11 | type tracker without call steps with content element 0 | params_flow.rb:33:41:33:49 | synthetic splat argument | | params_flow.rb:33:47:33:48 | 11 | type tracker without call steps with content hash-splat position :p3 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | -| params_flow.rb:33:47:33:48 | 11 | type tracker without call steps with content splat position 0 | params_flow.rb:33:41:33:49 | synthetic splat argument | | params_flow.rb:33:52:33:53 | :p4 | type tracker without call steps | params_flow.rb:33:52:33:53 | :p4 | | params_flow.rb:33:52:33:57 | Pair | type tracker without call steps | params_flow.rb:33:52:33:57 | Pair | | params_flow.rb:33:56:33:57 | "" | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:56:33:57 | "" | type tracker with call steps | params_flow.rb:30:11:30:21 | ...[...] | +| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content element 0 | params_flow.rb:30:5:30:22 | synthetic splat argument | | params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content hash-splat position :p4 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content hash-splat position :p4 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content splat position 0 | params_flow.rb:30:5:30:22 | synthetic splat argument | | params_flow.rb:33:56:33:57 | "" | type tracker without call steps | params_flow.rb:33:56:33:57 | "" | | params_flow.rb:33:56:33:57 | "" | type tracker without call steps with content hash-splat position :p4 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | | params_flow.rb:34:1:34:4 | args | type tracker without call steps | params_flow.rb:34:1:34:4 | args | @@ -928,41 +843,36 @@ track | params_flow.rb:34:10:34:22 | Pair | type tracker without call steps | params_flow.rb:34:10:34:22 | Pair | | params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps | params_flow.rb:29:11:29:21 | ...[...] | +| params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps with content element :p3 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps with content element :p3 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:34:14:34:22 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:34:14:34:22 | call to taint | type tracker without call steps | params_flow.rb:34:14:34:22 | call to taint | | params_flow.rb:34:14:34:22 | call to taint | type tracker without call steps with content element :p3 | params_flow.rb:34:8:34:32 | call to [] | | params_flow.rb:34:14:34:22 | call to taint | type tracker without call steps with content element :p3 | params_flow.rb:34:8:34:32 | synthetic hash-splat argument | | params_flow.rb:34:14:34:22 | call to taint | type tracker without call steps with content element :p3 | params_flow.rb:35:23:35:28 | ** ... | -| params_flow.rb:34:14:34:22 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:34:14:34:22 | synthetic splat argument | type tracker without call steps | params_flow.rb:34:14:34:22 | synthetic splat argument | | params_flow.rb:34:20:34:21 | 12 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:34:20:34:21 | 12 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:34:20:34:21 | 12 | type tracker with call steps | params_flow.rb:29:11:29:21 | ...[...] | +| params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content element 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content element :p3 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content element :p3 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:34:20:34:21 | 12 | type tracker with call steps with content splat position 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:34:20:34:21 | 12 | type tracker without call steps | params_flow.rb:34:14:34:22 | call to taint | | params_flow.rb:34:20:34:21 | 12 | type tracker without call steps | params_flow.rb:34:20:34:21 | 12 | +| params_flow.rb:34:20:34:21 | 12 | type tracker without call steps with content element 0 | params_flow.rb:34:14:34:22 | synthetic splat argument | | params_flow.rb:34:20:34:21 | 12 | type tracker without call steps with content element :p3 | params_flow.rb:34:8:34:32 | call to [] | | params_flow.rb:34:20:34:21 | 12 | type tracker without call steps with content element :p3 | params_flow.rb:34:8:34:32 | synthetic hash-splat argument | | params_flow.rb:34:20:34:21 | 12 | type tracker without call steps with content element :p3 | params_flow.rb:35:23:35:28 | ** ... | -| params_flow.rb:34:20:34:21 | 12 | type tracker without call steps with content splat position 0 | params_flow.rb:34:14:34:22 | synthetic splat argument | | params_flow.rb:34:25:34:26 | :p4 | type tracker without call steps | params_flow.rb:34:25:34:26 | :p4 | | params_flow.rb:34:25:34:30 | Pair | type tracker without call steps | params_flow.rb:34:25:34:30 | Pair | | params_flow.rb:34:29:34:30 | "" | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:34:29:34:30 | "" | type tracker with call steps | params_flow.rb:30:11:30:21 | ...[...] | +| params_flow.rb:34:29:34:30 | "" | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:34:29:34:30 | "" | type tracker with call steps with content element 0 | params_flow.rb:30:5:30:22 | synthetic splat argument | | params_flow.rb:34:29:34:30 | "" | type tracker with call steps with content element :p4 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:34:29:34:30 | "" | type tracker with call steps with content element :p4 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:34:29:34:30 | "" | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:34:29:34:30 | "" | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:34:29:34:30 | "" | type tracker with call steps with content splat position 0 | params_flow.rb:30:5:30:22 | synthetic splat argument | | params_flow.rb:34:29:34:30 | "" | type tracker without call steps | params_flow.rb:34:29:34:30 | "" | | params_flow.rb:34:29:34:30 | "" | type tracker without call steps with content element :p4 | params_flow.rb:34:8:34:32 | call to [] | | params_flow.rb:34:29:34:30 | "" | type tracker without call steps with content element :p4 | params_flow.rb:34:8:34:32 | synthetic hash-splat argument | @@ -976,31 +886,27 @@ track | params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps | params_flow.rb:25:12:25:13 | p1 | | params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps | params_flow.rb:27:11:27:21 | ...[...] | +| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | +| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | -| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:35:12:35:20 | call to taint | type tracker without call steps | params_flow.rb:35:12:35:20 | call to taint | | params_flow.rb:35:12:35:20 | call to taint | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | -| params_flow.rb:35:12:35:20 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:35:12:35:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:35:12:35:20 | synthetic splat argument | | params_flow.rb:35:18:35:19 | 13 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:35:18:35:19 | 13 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:35:18:35:19 | 13 | type tracker with call steps | params_flow.rb:25:12:25:13 | p1 | | params_flow.rb:35:18:35:19 | 13 | type tracker with call steps | params_flow.rb:27:11:27:21 | ...[...] | +| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | +| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content splat position 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | -| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content splat position 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:35:18:35:19 | 13 | type tracker without call steps | params_flow.rb:35:12:35:20 | call to taint | | params_flow.rb:35:18:35:19 | 13 | type tracker without call steps | params_flow.rb:35:18:35:19 | 13 | +| params_flow.rb:35:18:35:19 | 13 | type tracker without call steps with content element 0 | params_flow.rb:35:12:35:20 | synthetic splat argument | | params_flow.rb:35:18:35:19 | 13 | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | -| params_flow.rb:35:18:35:19 | 13 | type tracker without call steps with content splat position 0 | params_flow.rb:35:12:35:20 | synthetic splat argument | | params_flow.rb:35:23:35:28 | ** ... | type tracker with call steps | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:35:23:35:28 | ** ... | type tracker with call steps | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:35:23:35:28 | ** ... | type tracker without call steps | params_flow.rb:35:23:35:28 | ** ... | @@ -1014,65 +920,57 @@ track | params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps | params_flow.rb:25:12:25:13 | p1 | | params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps | params_flow.rb:27:11:27:21 | ...[...] | +| params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | +| params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content element :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content element :p1 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | -| params_flow.rb:37:16:37:24 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:37:16:37:24 | call to taint | type tracker without call steps | params_flow.rb:37:16:37:24 | call to taint | | params_flow.rb:37:16:37:24 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:37:8:37:44 | call to [] | | params_flow.rb:37:16:37:24 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:37:8:37:44 | synthetic hash-splat argument | | params_flow.rb:37:16:37:24 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:38:8:38:13 | ** ... | -| params_flow.rb:37:16:37:24 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:37:16:37:24 | synthetic splat argument | type tracker without call steps | params_flow.rb:37:16:37:24 | synthetic splat argument | | params_flow.rb:37:22:37:23 | 14 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:37:22:37:23 | 14 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:37:22:37:23 | 14 | type tracker with call steps | params_flow.rb:25:12:25:13 | p1 | | params_flow.rb:37:22:37:23 | 14 | type tracker with call steps | params_flow.rb:27:11:27:21 | ...[...] | +| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | +| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content element :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content element :p1 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content splat position 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | -| params_flow.rb:37:22:37:23 | 14 | type tracker with call steps with content splat position 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:37:22:37:23 | 14 | type tracker without call steps | params_flow.rb:37:16:37:24 | call to taint | | params_flow.rb:37:22:37:23 | 14 | type tracker without call steps | params_flow.rb:37:22:37:23 | 14 | +| params_flow.rb:37:22:37:23 | 14 | type tracker without call steps with content element 0 | params_flow.rb:37:16:37:24 | synthetic splat argument | | params_flow.rb:37:22:37:23 | 14 | type tracker without call steps with content element :p1 | params_flow.rb:37:8:37:44 | call to [] | | params_flow.rb:37:22:37:23 | 14 | type tracker without call steps with content element :p1 | params_flow.rb:37:8:37:44 | synthetic hash-splat argument | | params_flow.rb:37:22:37:23 | 14 | type tracker without call steps with content element :p1 | params_flow.rb:38:8:38:13 | ** ... | -| params_flow.rb:37:22:37:23 | 14 | type tracker without call steps with content splat position 0 | params_flow.rb:37:16:37:24 | synthetic splat argument | | params_flow.rb:37:27:37:29 | :p2 | type tracker without call steps | params_flow.rb:37:27:37:29 | :p2 | | params_flow.rb:37:27:37:42 | Pair | type tracker without call steps | params_flow.rb:37:27:37:42 | Pair | | params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps | params_flow.rb:28:11:28:21 | ...[...] | +| params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | | params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps with content element :p2 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps with content element :p2 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:37:34:37:42 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | | params_flow.rb:37:34:37:42 | call to taint | type tracker without call steps | params_flow.rb:37:34:37:42 | call to taint | | params_flow.rb:37:34:37:42 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:37:8:37:44 | call to [] | | params_flow.rb:37:34:37:42 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:37:8:37:44 | synthetic hash-splat argument | | params_flow.rb:37:34:37:42 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:38:8:38:13 | ** ... | -| params_flow.rb:37:34:37:42 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:37:34:37:42 | synthetic splat argument | type tracker without call steps | params_flow.rb:37:34:37:42 | synthetic splat argument | | params_flow.rb:37:40:37:41 | 15 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:37:40:37:41 | 15 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:37:40:37:41 | 15 | type tracker with call steps | params_flow.rb:28:11:28:21 | ...[...] | +| params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content element 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | | params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content element :p2 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content element :p2 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:37:40:37:41 | 15 | type tracker with call steps with content splat position 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | | params_flow.rb:37:40:37:41 | 15 | type tracker without call steps | params_flow.rb:37:34:37:42 | call to taint | | params_flow.rb:37:40:37:41 | 15 | type tracker without call steps | params_flow.rb:37:40:37:41 | 15 | +| params_flow.rb:37:40:37:41 | 15 | type tracker without call steps with content element 0 | params_flow.rb:37:34:37:42 | synthetic splat argument | | params_flow.rb:37:40:37:41 | 15 | type tracker without call steps with content element :p2 | params_flow.rb:37:8:37:44 | call to [] | | params_flow.rb:37:40:37:41 | 15 | type tracker without call steps with content element :p2 | params_flow.rb:37:8:37:44 | synthetic hash-splat argument | | params_flow.rb:37:40:37:41 | 15 | type tracker without call steps with content element :p2 | params_flow.rb:38:8:38:13 | ** ... | -| params_flow.rb:37:40:37:41 | 15 | type tracker without call steps with content splat position 0 | params_flow.rb:37:34:37:42 | synthetic splat argument | | params_flow.rb:38:1:38:14 | call to kwargs | type tracker without call steps | params_flow.rb:38:1:38:14 | call to kwargs | | params_flow.rb:38:8:38:13 | ** ... | type tracker with call steps | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:38:8:38:13 | ** ... | type tracker with call steps | params_flow.rb:25:17:25:24 | **kwargs | @@ -1086,30 +984,26 @@ track | params_flow.rb:40:9:40:24 | Pair | type tracker without call steps | params_flow.rb:40:9:40:24 | Pair | | params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | +| params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps with content element :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:40:16:40:24 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:40:16:40:24 | call to taint | type tracker without call steps | params_flow.rb:40:16:40:24 | call to taint | | params_flow.rb:40:16:40:24 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:40:8:40:26 | call to [] | | params_flow.rb:40:16:40:24 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:40:8:40:26 | synthetic hash-splat argument | | params_flow.rb:40:16:40:24 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:41:24:41:29 | ** ... | -| params_flow.rb:40:16:40:24 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:40:16:40:24 | synthetic splat argument | type tracker without call steps | params_flow.rb:40:16:40:24 | synthetic splat argument | | params_flow.rb:40:22:40:23 | 16 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:40:22:40:23 | 16 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:40:22:40:23 | 16 | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | +| params_flow.rb:40:22:40:23 | 16 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:40:22:40:23 | 16 | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:40:22:40:23 | 16 | type tracker with call steps with content element :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:40:22:40:23 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:40:22:40:23 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:40:22:40:23 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:40:22:40:23 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:40:22:40:23 | 16 | type tracker without call steps | params_flow.rb:40:16:40:24 | call to taint | | params_flow.rb:40:22:40:23 | 16 | type tracker without call steps | params_flow.rb:40:22:40:23 | 16 | +| params_flow.rb:40:22:40:23 | 16 | type tracker without call steps with content element 0 | params_flow.rb:40:16:40:24 | synthetic splat argument | | params_flow.rb:40:22:40:23 | 16 | type tracker without call steps with content element :p1 | params_flow.rb:40:8:40:26 | call to [] | | params_flow.rb:40:22:40:23 | 16 | type tracker without call steps with content element :p1 | params_flow.rb:40:8:40:26 | synthetic hash-splat argument | | params_flow.rb:40:22:40:23 | 16 | type tracker without call steps with content element :p1 | params_flow.rb:41:24:41:29 | ** ... | -| params_flow.rb:40:22:40:23 | 16 | type tracker without call steps with content splat position 0 | params_flow.rb:40:16:40:24 | synthetic splat argument | | params_flow.rb:41:1:41:30 | call to keyword | type tracker without call steps | params_flow.rb:41:1:41:30 | call to keyword | | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | @@ -1117,174 +1011,150 @@ track | params_flow.rb:41:9:41:21 | Pair | type tracker without call steps | params_flow.rb:41:9:41:21 | Pair | | params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | +| params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:41:13:41:21 | call to taint | type tracker without call steps | params_flow.rb:41:13:41:21 | call to taint | | params_flow.rb:41:13:41:21 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | -| params_flow.rb:41:13:41:21 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:41:13:41:21 | synthetic splat argument | type tracker without call steps | params_flow.rb:41:13:41:21 | synthetic splat argument | | params_flow.rb:41:19:41:20 | 17 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:41:19:41:20 | 17 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:41:19:41:20 | 17 | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | +| params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content splat position 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:41:19:41:20 | 17 | type tracker without call steps | params_flow.rb:41:13:41:21 | call to taint | | params_flow.rb:41:19:41:20 | 17 | type tracker without call steps | params_flow.rb:41:19:41:20 | 17 | +| params_flow.rb:41:19:41:20 | 17 | type tracker without call steps with content element 0 | params_flow.rb:41:13:41:21 | synthetic splat argument | | params_flow.rb:41:19:41:20 | 17 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | -| params_flow.rb:41:19:41:20 | 17 | type tracker without call steps with content splat position 0 | params_flow.rb:41:13:41:21 | synthetic splat argument | | params_flow.rb:41:24:41:29 | ** ... | type tracker with call steps | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:41:24:41:29 | ** ... | type tracker without call steps | params_flow.rb:41:24:41:29 | ** ... | | params_flow.rb:43:1:43:4 | args | type tracker without call steps | params_flow.rb:43:1:43:4 | args | | params_flow.rb:43:8:43:18 | Array | type tracker without call steps | params_flow.rb:43:8:43:18 | Array | | params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | -| params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | -| params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | +| params_flow.rb:43:8:43:18 | call to [] | type tracker with call steps with content element 1 | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:43:8:43:18 | call to [] | type tracker without call steps | params_flow.rb:43:8:43:18 | call to [] | | params_flow.rb:43:8:43:18 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:44:23:44:27 | * ... | -| params_flow.rb:43:8:43:18 | call to [] | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:44:1:44:28 | synthetic splat argument | +| params_flow.rb:43:8:43:18 | call to [] | type tracker without call steps with content element 1 | params_flow.rb:44:1:44:28 | synthetic splat argument | | params_flow.rb:43:8:43:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:43:8:43:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | -| params_flow.rb:43:8:43:18 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:43:8:43:18 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:43:8:43:18 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | -| params_flow.rb:43:8:43:18 | synthetic splat argument | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:43:8:43:18 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:43:8:43:18 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | +| params_flow.rb:43:8:43:18 | synthetic splat argument | type tracker with call steps with content element 1 | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:43:8:43:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:43:8:43:18 | call to [] | | params_flow.rb:43:8:43:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:43:8:43:18 | synthetic splat argument | | params_flow.rb:43:8:43:18 | synthetic splat argument | type tracker without call steps with content element 0 or unknown | params_flow.rb:44:23:44:27 | * ... | -| params_flow.rb:43:8:43:18 | synthetic splat argument | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:44:1:44:28 | synthetic splat argument | +| params_flow.rb:43:8:43:18 | synthetic splat argument | type tracker without call steps with content element 1 | params_flow.rb:44:1:44:28 | synthetic splat argument | | params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | -| params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | -| params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | +| params_flow.rb:43:9:43:17 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:43:9:43:17 | call to taint | type tracker without call steps | params_flow.rb:43:9:43:17 | call to taint | | params_flow.rb:43:9:43:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:43:8:43:18 | call to [] | | params_flow.rb:43:9:43:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:43:8:43:18 | synthetic splat argument | | params_flow.rb:43:9:43:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:44:23:44:27 | * ... | -| params_flow.rb:43:9:43:17 | call to taint | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:44:1:44:28 | synthetic splat argument | -| params_flow.rb:43:9:43:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:43:9:43:17 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:44:1:44:28 | synthetic splat argument | | params_flow.rb:43:9:43:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:43:9:43:17 | synthetic splat argument | | params_flow.rb:43:15:43:16 | 17 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:43:15:43:16 | 17 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:43:15:43:16 | 17 | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | -| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | -| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | +| params_flow.rb:43:15:43:16 | 17 | type tracker with call steps with content element 1 | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:43:15:43:16 | 17 | type tracker without call steps | params_flow.rb:43:9:43:17 | call to taint | | params_flow.rb:43:15:43:16 | 17 | type tracker without call steps | params_flow.rb:43:15:43:16 | 17 | | params_flow.rb:43:15:43:16 | 17 | type tracker without call steps with content element 0 | params_flow.rb:43:8:43:18 | call to [] | | params_flow.rb:43:15:43:16 | 17 | type tracker without call steps with content element 0 | params_flow.rb:43:8:43:18 | synthetic splat argument | +| params_flow.rb:43:15:43:16 | 17 | type tracker without call steps with content element 0 | params_flow.rb:43:9:43:17 | synthetic splat argument | | params_flow.rb:43:15:43:16 | 17 | type tracker without call steps with content element 0 | params_flow.rb:44:23:44:27 | * ... | -| params_flow.rb:43:15:43:16 | 17 | type tracker without call steps with content splat position 0 | params_flow.rb:43:9:43:17 | synthetic splat argument | -| params_flow.rb:43:15:43:16 | 17 | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:44:1:44:28 | synthetic splat argument | +| params_flow.rb:43:15:43:16 | 17 | type tracker without call steps with content element 1 | params_flow.rb:44:1:44:28 | synthetic splat argument | | params_flow.rb:44:1:44:28 | call to positional | type tracker without call steps | params_flow.rb:44:1:44:28 | call to positional | | params_flow.rb:44:1:44:28 | synthetic splat argument | type tracker with call steps | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:44:1:44:28 | synthetic splat argument | type tracker without call steps | params_flow.rb:44:1:44:28 | synthetic splat argument | | params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | -| params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:9:1:12:3 | synthetic splat parameter | -| params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | +| params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:44:12:44:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:44:12:44:20 | call to taint | type tracker without call steps | params_flow.rb:44:12:44:20 | call to taint | -| params_flow.rb:44:12:44:20 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:44:1:44:28 | synthetic splat argument | -| params_flow.rb:44:12:44:20 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:44:12:44:20 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:44:1:44:28 | synthetic splat argument | | params_flow.rb:44:12:44:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:44:12:44:20 | synthetic splat argument | | params_flow.rb:44:18:44:19 | 16 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:44:18:44:19 | 16 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:44:18:44:19 | 16 | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | -| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:9:1:12:3 | synthetic splat parameter | -| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | +| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content element 0 | params_flow.rb:9:1:12:3 | synthetic splat parameter | +| params_flow.rb:44:18:44:19 | 16 | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:44:18:44:19 | 16 | type tracker without call steps | params_flow.rb:44:12:44:20 | call to taint | | params_flow.rb:44:18:44:19 | 16 | type tracker without call steps | params_flow.rb:44:18:44:19 | 16 | -| params_flow.rb:44:18:44:19 | 16 | type tracker without call steps with content splat position 0 | params_flow.rb:44:1:44:28 | synthetic splat argument | -| params_flow.rb:44:18:44:19 | 16 | type tracker without call steps with content splat position 0 | params_flow.rb:44:12:44:20 | synthetic splat argument | +| params_flow.rb:44:18:44:19 | 16 | type tracker without call steps with content element 0 | params_flow.rb:44:1:44:28 | synthetic splat argument | +| params_flow.rb:44:18:44:19 | 16 | type tracker without call steps with content element 0 | params_flow.rb:44:12:44:20 | synthetic splat argument | | params_flow.rb:44:23:44:27 | * ... | type tracker without call steps | params_flow.rb:44:23:44:27 | * ... | | params_flow.rb:46:1:46:4 | args | type tracker without call steps | params_flow.rb:46:1:46:4 | args | | params_flow.rb:46:8:46:29 | Array | type tracker without call steps | params_flow.rb:46:8:46:29 | Array | | params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | +| params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps with content element 0 or unknown | params_flow.rb:9:1:12:3 | synthetic splat parameter | -| params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:46:8:46:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:46:8:46:29 | call to [] | type tracker without call steps | params_flow.rb:46:8:46:29 | call to [] | | params_flow.rb:46:8:46:29 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:47:12:47:16 | * ... | | params_flow.rb:46:8:46:29 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:8:46:29 | synthetic splat argument | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | +| params_flow.rb:46:8:46:29 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:46:8:46:29 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:46:8:46:29 | synthetic splat argument | type tracker with call steps with content element 0 or unknown | params_flow.rb:9:1:12:3 | synthetic splat parameter | -| params_flow.rb:46:8:46:29 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:46:8:46:29 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:46:8:46:29 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:46:8:46:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:46:8:46:29 | call to [] | | params_flow.rb:46:8:46:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:46:8:46:29 | synthetic splat argument | | params_flow.rb:46:8:46:29 | synthetic splat argument | type tracker without call steps with content element 0 or unknown | params_flow.rb:47:12:47:16 | * ... | | params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | +| params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:9:1:12:3 | synthetic splat parameter | -| params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | +| params_flow.rb:46:9:46:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:46:9:46:17 | call to taint | type tracker without call steps | params_flow.rb:46:9:46:17 | call to taint | | params_flow.rb:46:9:46:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:46:8:46:29 | call to [] | | params_flow.rb:46:9:46:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:46:8:46:29 | synthetic splat argument | | params_flow.rb:46:9:46:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:47:12:47:16 | * ... | -| params_flow.rb:46:9:46:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:46:9:46:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:46:9:46:17 | synthetic splat argument | | params_flow.rb:46:15:46:16 | 18 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:46:15:46:16 | 18 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:15:46:16 | 18 | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | +| params_flow.rb:46:15:46:16 | 18 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:46:15:46:16 | 18 | type tracker with call steps with content element 0 | params_flow.rb:9:1:12:3 | synthetic splat parameter | -| params_flow.rb:46:15:46:16 | 18 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:46:15:46:16 | 18 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:46:15:46:16 | 18 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:46:15:46:16 | 18 | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | +| params_flow.rb:46:15:46:16 | 18 | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:46:15:46:16 | 18 | type tracker without call steps | params_flow.rb:46:9:46:17 | call to taint | | params_flow.rb:46:15:46:16 | 18 | type tracker without call steps | params_flow.rb:46:15:46:16 | 18 | | params_flow.rb:46:15:46:16 | 18 | type tracker without call steps with content element 0 | params_flow.rb:46:8:46:29 | call to [] | | params_flow.rb:46:15:46:16 | 18 | type tracker without call steps with content element 0 | params_flow.rb:46:8:46:29 | synthetic splat argument | +| params_flow.rb:46:15:46:16 | 18 | type tracker without call steps with content element 0 | params_flow.rb:46:9:46:17 | synthetic splat argument | | params_flow.rb:46:15:46:16 | 18 | type tracker without call steps with content element 0 | params_flow.rb:47:12:47:16 | * ... | -| params_flow.rb:46:15:46:16 | 18 | type tracker without call steps with content splat position 0 | params_flow.rb:46:9:46:17 | synthetic splat argument | | params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | +| params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:9:1:12:3 | synthetic splat parameter | -| params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:46:20:46:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:46:20:46:28 | call to taint | type tracker without call steps | params_flow.rb:46:20:46:28 | call to taint | | params_flow.rb:46:20:46:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:46:8:46:29 | call to [] | | params_flow.rb:46:20:46:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:46:8:46:29 | synthetic splat argument | | params_flow.rb:46:20:46:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:47:12:47:16 | * ... | -| params_flow.rb:46:20:46:28 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:46:20:46:28 | synthetic splat argument | type tracker without call steps | params_flow.rb:46:20:46:28 | synthetic splat argument | | params_flow.rb:46:26:46:27 | 19 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:46:26:46:27 | 19 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:46:26:46:27 | 19 | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | +| params_flow.rb:46:26:46:27 | 19 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:46:26:46:27 | 19 | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:46:26:46:27 | 19 | type tracker with call steps with content element 1 | params_flow.rb:9:1:12:3 | synthetic splat parameter | -| params_flow.rb:46:26:46:27 | 19 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:46:26:46:27 | 19 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:46:26:46:27 | 19 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:46:26:46:27 | 19 | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:46:26:46:27 | 19 | type tracker without call steps | params_flow.rb:46:20:46:28 | call to taint | | params_flow.rb:46:26:46:27 | 19 | type tracker without call steps | params_flow.rb:46:26:46:27 | 19 | +| params_flow.rb:46:26:46:27 | 19 | type tracker without call steps with content element 0 | params_flow.rb:46:20:46:28 | synthetic splat argument | | params_flow.rb:46:26:46:27 | 19 | type tracker without call steps with content element 1 | params_flow.rb:46:8:46:29 | call to [] | | params_flow.rb:46:26:46:27 | 19 | type tracker without call steps with content element 1 | params_flow.rb:46:8:46:29 | synthetic splat argument | | params_flow.rb:46:26:46:27 | 19 | type tracker without call steps with content element 1 | params_flow.rb:47:12:47:16 | * ... | -| params_flow.rb:46:26:46:27 | 19 | type tracker without call steps with content splat position 0 | params_flow.rb:46:20:46:28 | synthetic splat argument | | params_flow.rb:47:1:47:17 | call to positional | type tracker without call steps | params_flow.rb:47:1:47:17 | call to positional | | params_flow.rb:47:12:47:16 | * ... | type tracker with call steps | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:47:12:47:16 | * ... | type tracker without call steps | params_flow.rb:47:12:47:16 | * ... | @@ -1294,271 +1164,233 @@ track | params_flow.rb:49:1:53:3 | self in posargs | type tracker without call steps | params_flow.rb:49:1:53:3 | self in posargs | | params_flow.rb:49:1:53:3 | synthetic splat parameter | type tracker without call steps | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:49:13:49:14 | p1 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:49:13:49:14 | p1 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:49:13:49:14 | p1 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:49:13:49:14 | p1 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:49:13:49:14 | p1 | type tracker without call steps | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:49:13:49:14 | p1 | type tracker without call steps | params_flow.rb:49:13:49:14 | p1 | -| params_flow.rb:49:13:49:14 | p1 | type tracker without call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | +| params_flow.rb:49:13:49:14 | p1 | type tracker without call steps with content element 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:49:17:49:24 | *posargs | type tracker without call steps | params_flow.rb:49:17:49:24 | *posargs | | params_flow.rb:49:18:49:24 | posargs | type tracker without call steps | params_flow.rb:49:18:49:24 | posargs | | params_flow.rb:50:5:50:11 | call to sink | type tracker without call steps | params_flow.rb:50:5:50:11 | call to sink | -| params_flow.rb:50:5:50:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:50:5:50:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:51:5:51:21 | call to sink | type tracker without call steps | params_flow.rb:51:5:51:21 | call to sink | -| params_flow.rb:51:5:51:21 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:51:5:51:21 | synthetic splat argument | type tracker without call steps | params_flow.rb:51:5:51:21 | synthetic splat argument | | params_flow.rb:51:11:51:20 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:51:11:51:20 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:51:11:51:20 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:51:11:51:20 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:51:11:51:20 | ...[...] | type tracker without call steps | params_flow.rb:51:11:51:20 | ...[...] | -| params_flow.rb:51:11:51:20 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | +| params_flow.rb:51:11:51:20 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | | params_flow.rb:51:11:51:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:51:11:51:20 | synthetic splat argument | | params_flow.rb:51:19:51:19 | 0 | type tracker without call steps | params_flow.rb:51:19:51:19 | 0 | -| params_flow.rb:51:19:51:19 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:51:11:51:20 | synthetic splat argument | +| params_flow.rb:51:19:51:19 | 0 | type tracker without call steps with content element 0 | params_flow.rb:51:11:51:20 | synthetic splat argument | | params_flow.rb:52:5:52:21 | call to sink | type tracker without call steps | params_flow.rb:52:5:52:21 | call to sink | | params_flow.rb:52:5:52:21 | call to sink | type tracker without call steps | params_flow.rb:55:1:55:29 | call to posargs | | params_flow.rb:52:5:52:21 | call to sink | type tracker without call steps | params_flow.rb:58:1:58:25 | call to posargs | | params_flow.rb:52:5:52:21 | call to sink | type tracker without call steps | params_flow.rb:61:1:61:14 | call to posargs | -| params_flow.rb:52:5:52:21 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:52:5:52:21 | synthetic splat argument | type tracker without call steps | params_flow.rb:52:5:52:21 | synthetic splat argument | | params_flow.rb:52:11:52:20 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:52:11:52:20 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:52:11:52:20 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:52:11:52:20 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:52:11:52:20 | ...[...] | type tracker without call steps | params_flow.rb:52:11:52:20 | ...[...] | -| params_flow.rb:52:11:52:20 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:52:5:52:21 | synthetic splat argument | +| params_flow.rb:52:11:52:20 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:52:5:52:21 | synthetic splat argument | | params_flow.rb:52:11:52:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:52:11:52:20 | synthetic splat argument | | params_flow.rb:52:19:52:19 | 1 | type tracker without call steps | params_flow.rb:52:19:52:19 | 1 | -| params_flow.rb:52:19:52:19 | 1 | type tracker without call steps with content splat position 0 | params_flow.rb:52:11:52:20 | synthetic splat argument | +| params_flow.rb:52:19:52:19 | 1 | type tracker without call steps with content element 0 | params_flow.rb:52:11:52:20 | synthetic splat argument | | params_flow.rb:55:1:55:29 | call to posargs | type tracker without call steps | params_flow.rb:55:1:55:29 | call to posargs | | params_flow.rb:55:1:55:29 | synthetic splat argument | type tracker with call steps | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:55:1:55:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:55:1:55:29 | synthetic splat argument | | params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | -| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | -| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | +| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:55:9:55:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:55:9:55:17 | call to taint | type tracker without call steps | params_flow.rb:55:9:55:17 | call to taint | -| params_flow.rb:55:9:55:17 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:55:1:55:29 | synthetic splat argument | -| params_flow.rb:55:9:55:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:55:9:55:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:55:1:55:29 | synthetic splat argument | | params_flow.rb:55:9:55:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:55:9:55:17 | synthetic splat argument | | params_flow.rb:55:15:55:16 | 20 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:55:15:55:16 | 20 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:55:15:55:16 | 20 | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | -| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content splat position 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | -| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | +| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content element 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:55:15:55:16 | 20 | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:55:15:55:16 | 20 | type tracker without call steps | params_flow.rb:55:9:55:17 | call to taint | | params_flow.rb:55:15:55:16 | 20 | type tracker without call steps | params_flow.rb:55:15:55:16 | 20 | -| params_flow.rb:55:15:55:16 | 20 | type tracker without call steps with content splat position 0 | params_flow.rb:55:1:55:29 | synthetic splat argument | -| params_flow.rb:55:15:55:16 | 20 | type tracker without call steps with content splat position 0 | params_flow.rb:55:9:55:17 | synthetic splat argument | +| params_flow.rb:55:15:55:16 | 20 | type tracker without call steps with content element 0 | params_flow.rb:55:1:55:29 | synthetic splat argument | +| params_flow.rb:55:15:55:16 | 20 | type tracker without call steps with content element 0 | params_flow.rb:55:9:55:17 | synthetic splat argument | | params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | +| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | -| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | +| params_flow.rb:55:20:55:28 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:55:20:55:28 | call to taint | type tracker without call steps | params_flow.rb:55:20:55:28 | call to taint | -| params_flow.rb:55:20:55:28 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:55:1:55:29 | synthetic splat argument | -| params_flow.rb:55:20:55:28 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:55:20:55:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:55:1:55:29 | synthetic splat argument | | params_flow.rb:55:20:55:28 | synthetic splat argument | type tracker without call steps | params_flow.rb:55:20:55:28 | synthetic splat argument | | params_flow.rb:55:26:55:27 | 21 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:55:26:55:27 | 21 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:55:26:55:27 | 21 | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | +| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | -| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content splat position 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | +| params_flow.rb:55:26:55:27 | 21 | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:55:26:55:27 | 21 | type tracker without call steps | params_flow.rb:55:20:55:28 | call to taint | | params_flow.rb:55:26:55:27 | 21 | type tracker without call steps | params_flow.rb:55:26:55:27 | 21 | -| params_flow.rb:55:26:55:27 | 21 | type tracker without call steps with content splat position 0 | params_flow.rb:55:20:55:28 | synthetic splat argument | -| params_flow.rb:55:26:55:27 | 21 | type tracker without call steps with content splat position 1 | params_flow.rb:55:1:55:29 | synthetic splat argument | +| params_flow.rb:55:26:55:27 | 21 | type tracker without call steps with content element 0 | params_flow.rb:55:20:55:28 | synthetic splat argument | +| params_flow.rb:55:26:55:27 | 21 | type tracker without call steps with content element 1 | params_flow.rb:55:1:55:29 | synthetic splat argument | | params_flow.rb:57:1:57:4 | args | type tracker without call steps | params_flow.rb:57:1:57:4 | args | | params_flow.rb:57:8:57:18 | Array | type tracker without call steps | params_flow.rb:57:8:57:18 | Array | | params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | +| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | +| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | | params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | -| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:57:8:57:18 | call to [] | type tracker without call steps | params_flow.rb:57:8:57:18 | call to [] | | params_flow.rb:57:8:57:18 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:58:20:58:24 | * ... | -| params_flow.rb:57:8:57:18 | call to [] | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:58:1:58:25 | synthetic splat argument | +| params_flow.rb:57:8:57:18 | call to [] | type tracker without call steps with content element 1 | params_flow.rb:58:1:58:25 | synthetic splat argument | | params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | +| params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | +| params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | | params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | -| params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:57:8:57:18 | call to [] | | params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:57:8:57:18 | synthetic splat argument | | params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker without call steps with content element 0 or unknown | params_flow.rb:58:20:58:24 | * ... | -| params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:58:1:58:25 | synthetic splat argument | +| params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker without call steps with content element 1 | params_flow.rb:58:1:58:25 | synthetic splat argument | | params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | +| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | -| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | +| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:57:9:57:17 | call to taint | type tracker without call steps | params_flow.rb:57:9:57:17 | call to taint | | params_flow.rb:57:9:57:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:57:8:57:18 | call to [] | | params_flow.rb:57:9:57:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:57:8:57:18 | synthetic splat argument | | params_flow.rb:57:9:57:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:58:20:58:24 | * ... | -| params_flow.rb:57:9:57:17 | call to taint | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:58:1:58:25 | synthetic splat argument | -| params_flow.rb:57:9:57:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:57:9:57:17 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:58:1:58:25 | synthetic splat argument | | params_flow.rb:57:9:57:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:57:9:57:17 | synthetic splat argument | | params_flow.rb:57:15:57:16 | 22 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:57:15:57:16 | 22 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:57:15:57:16 | 22 | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | +| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | -| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | +| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:57:15:57:16 | 22 | type tracker without call steps | params_flow.rb:57:9:57:17 | call to taint | | params_flow.rb:57:15:57:16 | 22 | type tracker without call steps | params_flow.rb:57:15:57:16 | 22 | | params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content element 0 | params_flow.rb:57:8:57:18 | call to [] | | params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content element 0 | params_flow.rb:57:8:57:18 | synthetic splat argument | +| params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content element 0 | params_flow.rb:57:9:57:17 | synthetic splat argument | | params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content element 0 | params_flow.rb:58:20:58:24 | * ... | -| params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content splat position 0 | params_flow.rb:57:9:57:17 | synthetic splat argument | -| params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:58:1:58:25 | synthetic splat argument | +| params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content element 1 | params_flow.rb:58:1:58:25 | synthetic splat argument | | params_flow.rb:58:1:58:25 | call to posargs | type tracker without call steps | params_flow.rb:58:1:58:25 | call to posargs | | params_flow.rb:58:1:58:25 | synthetic splat argument | type tracker with call steps | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:58:1:58:25 | synthetic splat argument | type tracker without call steps | params_flow.rb:58:1:58:25 | synthetic splat argument | | params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | -| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | -| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | +| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:58:9:58:17 | call to taint | type tracker without call steps | params_flow.rb:58:9:58:17 | call to taint | -| params_flow.rb:58:9:58:17 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:58:1:58:25 | synthetic splat argument | -| params_flow.rb:58:9:58:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:58:9:58:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:58:1:58:25 | synthetic splat argument | | params_flow.rb:58:9:58:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:58:9:58:17 | synthetic splat argument | | params_flow.rb:58:15:58:16 | 23 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:58:15:58:16 | 23 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:58:15:58:16 | 23 | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | -| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content splat position 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | -| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | +| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content element 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | +| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:58:15:58:16 | 23 | type tracker without call steps | params_flow.rb:58:9:58:17 | call to taint | | params_flow.rb:58:15:58:16 | 23 | type tracker without call steps | params_flow.rb:58:15:58:16 | 23 | -| params_flow.rb:58:15:58:16 | 23 | type tracker without call steps with content splat position 0 | params_flow.rb:58:1:58:25 | synthetic splat argument | -| params_flow.rb:58:15:58:16 | 23 | type tracker without call steps with content splat position 0 | params_flow.rb:58:9:58:17 | synthetic splat argument | +| params_flow.rb:58:15:58:16 | 23 | type tracker without call steps with content element 0 | params_flow.rb:58:1:58:25 | synthetic splat argument | +| params_flow.rb:58:15:58:16 | 23 | type tracker without call steps with content element 0 | params_flow.rb:58:9:58:17 | synthetic splat argument | | params_flow.rb:58:20:58:24 | * ... | type tracker with call steps | params_flow.rb:49:17:49:24 | *posargs | | params_flow.rb:58:20:58:24 | * ... | type tracker without call steps | params_flow.rb:58:20:58:24 | * ... | | params_flow.rb:60:1:60:4 | args | type tracker without call steps | params_flow.rb:60:1:60:4 | args | | params_flow.rb:60:8:60:29 | Array | type tracker without call steps | params_flow.rb:60:8:60:29 | Array | | params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | +| params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:1:53:3 | synthetic splat parameter | -| params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:60:8:60:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:60:8:60:29 | call to [] | type tracker without call steps | params_flow.rb:60:8:60:29 | call to [] | | params_flow.rb:60:8:60:29 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:61:9:61:13 | * ... | | params_flow.rb:60:8:60:29 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:60:8:60:29 | synthetic splat argument | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | +| params_flow.rb:60:8:60:29 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:60:8:60:29 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:60:8:60:29 | synthetic splat argument | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:1:53:3 | synthetic splat parameter | -| params_flow.rb:60:8:60:29 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:60:8:60:29 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:60:8:60:29 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:60:8:60:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:60:8:60:29 | call to [] | | params_flow.rb:60:8:60:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:60:8:60:29 | synthetic splat argument | | params_flow.rb:60:8:60:29 | synthetic splat argument | type tracker without call steps with content element 0 or unknown | params_flow.rb:61:9:61:13 | * ... | | params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | +| params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | -| params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | +| params_flow.rb:60:9:60:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:60:9:60:17 | call to taint | type tracker without call steps | params_flow.rb:60:9:60:17 | call to taint | | params_flow.rb:60:9:60:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:60:8:60:29 | call to [] | | params_flow.rb:60:9:60:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:60:8:60:29 | synthetic splat argument | | params_flow.rb:60:9:60:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:61:9:61:13 | * ... | -| params_flow.rb:60:9:60:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:60:9:60:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:60:9:60:17 | synthetic splat argument | | params_flow.rb:60:15:60:16 | 24 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:60:15:60:16 | 24 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:60:15:60:16 | 24 | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | +| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content element 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | -| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content splat position 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | +| params_flow.rb:60:15:60:16 | 24 | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:60:15:60:16 | 24 | type tracker without call steps | params_flow.rb:60:9:60:17 | call to taint | | params_flow.rb:60:15:60:16 | 24 | type tracker without call steps | params_flow.rb:60:15:60:16 | 24 | | params_flow.rb:60:15:60:16 | 24 | type tracker without call steps with content element 0 | params_flow.rb:60:8:60:29 | call to [] | | params_flow.rb:60:15:60:16 | 24 | type tracker without call steps with content element 0 | params_flow.rb:60:8:60:29 | synthetic splat argument | +| params_flow.rb:60:15:60:16 | 24 | type tracker without call steps with content element 0 | params_flow.rb:60:9:60:17 | synthetic splat argument | | params_flow.rb:60:15:60:16 | 24 | type tracker without call steps with content element 0 | params_flow.rb:61:9:61:13 | * ... | -| params_flow.rb:60:15:60:16 | 24 | type tracker without call steps with content splat position 0 | params_flow.rb:60:9:60:17 | synthetic splat argument | | params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | +| params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | +| params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | | params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | -| params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:60:20:60:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | | params_flow.rb:60:20:60:28 | call to taint | type tracker without call steps | params_flow.rb:60:20:60:28 | call to taint | | params_flow.rb:60:20:60:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:60:8:60:29 | call to [] | | params_flow.rb:60:20:60:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:60:8:60:29 | synthetic splat argument | | params_flow.rb:60:20:60:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:61:9:61:13 | * ... | -| params_flow.rb:60:20:60:28 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:60:20:60:28 | synthetic splat argument | type tracker without call steps | params_flow.rb:60:20:60:28 | synthetic splat argument | | params_flow.rb:60:26:60:27 | 25 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:60:26:60:27 | 25 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:60:26:60:27 | 25 | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | +| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | +| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | | params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | -| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:60:26:60:27 | 25 | type tracker with call steps with content splat position 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | | params_flow.rb:60:26:60:27 | 25 | type tracker without call steps | params_flow.rb:60:20:60:28 | call to taint | | params_flow.rb:60:26:60:27 | 25 | type tracker without call steps | params_flow.rb:60:26:60:27 | 25 | +| params_flow.rb:60:26:60:27 | 25 | type tracker without call steps with content element 0 | params_flow.rb:60:20:60:28 | synthetic splat argument | | params_flow.rb:60:26:60:27 | 25 | type tracker without call steps with content element 1 | params_flow.rb:60:8:60:29 | call to [] | | params_flow.rb:60:26:60:27 | 25 | type tracker without call steps with content element 1 | params_flow.rb:60:8:60:29 | synthetic splat argument | | params_flow.rb:60:26:60:27 | 25 | type tracker without call steps with content element 1 | params_flow.rb:61:9:61:13 | * ... | -| params_flow.rb:60:26:60:27 | 25 | type tracker without call steps with content splat position 0 | params_flow.rb:60:20:60:28 | synthetic splat argument | | params_flow.rb:61:1:61:14 | call to posargs | type tracker without call steps | params_flow.rb:61:1:61:14 | call to posargs | | params_flow.rb:61:9:61:13 | * ... | type tracker with call steps | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:61:9:61:13 | * ... | type tracker without call steps | params_flow.rb:61:9:61:13 | * ... | | params_flow.rb:63:1:63:4 | args | type tracker without call steps | params_flow.rb:63:1:63:4 | args | | params_flow.rb:63:8:63:16 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:63:8:63:16 | call to taint | type tracker with call steps | params_flow.rb:65:10:65:13 | ...[...] | +| params_flow.rb:63:8:63:16 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:63:8:63:16 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:65:5:65:13 | synthetic splat argument | | params_flow.rb:63:8:63:16 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:64:16:64:17 | *x | -| params_flow.rb:63:8:63:16 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:63:8:63:16 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:63:8:63:16 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:65:5:65:13 | synthetic splat argument | | params_flow.rb:63:8:63:16 | call to taint | type tracker without call steps | params_flow.rb:63:8:63:16 | call to taint | | params_flow.rb:63:8:63:16 | call to taint | type tracker without call steps with content element 0 or unknown | params_flow.rb:67:12:67:16 | * ... | -| params_flow.rb:63:8:63:16 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:63:8:63:16 | synthetic splat argument | type tracker without call steps | params_flow.rb:63:8:63:16 | synthetic splat argument | | params_flow.rb:63:14:63:15 | 26 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:63:14:63:15 | 26 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:63:14:63:15 | 26 | type tracker with call steps | params_flow.rb:65:10:65:13 | ...[...] | +| params_flow.rb:63:14:63:15 | 26 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:63:14:63:15 | 26 | type tracker with call steps with content element 0 | params_flow.rb:65:5:65:13 | synthetic splat argument | | params_flow.rb:63:14:63:15 | 26 | type tracker with call steps with content element 0 or unknown | params_flow.rb:64:16:64:17 | *x | -| params_flow.rb:63:14:63:15 | 26 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:63:14:63:15 | 26 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:63:14:63:15 | 26 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:63:14:63:15 | 26 | type tracker with call steps with content splat position 0 | params_flow.rb:65:5:65:13 | synthetic splat argument | | params_flow.rb:63:14:63:15 | 26 | type tracker without call steps | params_flow.rb:63:8:63:16 | call to taint | | params_flow.rb:63:14:63:15 | 26 | type tracker without call steps | params_flow.rb:63:14:63:15 | 26 | +| params_flow.rb:63:14:63:15 | 26 | type tracker without call steps with content element 0 | params_flow.rb:63:8:63:16 | synthetic splat argument | | params_flow.rb:63:14:63:15 | 26 | type tracker without call steps with content element 0 or unknown | params_flow.rb:67:12:67:16 | * ... | -| params_flow.rb:63:14:63:15 | 26 | type tracker without call steps with content splat position 0 | params_flow.rb:63:8:63:16 | synthetic splat argument | | params_flow.rb:64:1:66:3 | &block | type tracker without call steps | params_flow.rb:64:1:66:3 | &block | | params_flow.rb:64:1:66:3 | self in splatstuff | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:64:1:66:3 | self in splatstuff | type tracker without call steps | params_flow.rb:64:1:66:3 | self in splatstuff | @@ -1567,16 +1399,14 @@ track | params_flow.rb:64:17:64:17 | x | type tracker without call steps | params_flow.rb:64:17:64:17 | x | | params_flow.rb:65:5:65:13 | call to sink | type tracker without call steps | params_flow.rb:65:5:65:13 | call to sink | | params_flow.rb:65:5:65:13 | call to sink | type tracker without call steps | params_flow.rb:67:1:67:17 | call to splatstuff | -| params_flow.rb:65:5:65:13 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:65:5:65:13 | synthetic splat argument | type tracker without call steps | params_flow.rb:65:5:65:13 | synthetic splat argument | | params_flow.rb:65:10:65:13 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:65:10:65:13 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:65:10:65:13 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:65:10:65:13 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:65:10:65:13 | ...[...] | type tracker without call steps | params_flow.rb:65:10:65:13 | ...[...] | -| params_flow.rb:65:10:65:13 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:65:5:65:13 | synthetic splat argument | +| params_flow.rb:65:10:65:13 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:65:5:65:13 | synthetic splat argument | | params_flow.rb:65:10:65:13 | synthetic splat argument | type tracker without call steps | params_flow.rb:65:10:65:13 | synthetic splat argument | | params_flow.rb:65:12:65:12 | 0 | type tracker without call steps | params_flow.rb:65:12:65:12 | 0 | -| params_flow.rb:65:12:65:12 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:65:10:65:13 | synthetic splat argument | +| params_flow.rb:65:12:65:12 | 0 | type tracker without call steps with content element 0 | params_flow.rb:65:10:65:13 | synthetic splat argument | | params_flow.rb:67:1:67:17 | call to splatstuff | type tracker without call steps | params_flow.rb:67:1:67:17 | call to splatstuff | | params_flow.rb:67:12:67:16 | * ... | type tracker with call steps | params_flow.rb:64:16:64:17 | *x | | params_flow.rb:67:12:67:16 | * ... | type tracker without call steps | params_flow.rb:67:12:67:16 | * ... | @@ -1586,905 +1416,765 @@ track | params_flow.rb:69:1:76:3 | splatmid | type tracker without call steps | params_flow.rb:69:1:76:3 | splatmid | | params_flow.rb:69:1:76:3 | synthetic splat parameter | type tracker without call steps | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:69:14:69:14 | x | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:69:14:69:14 | x | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:69:14:69:14 | x | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:69:14:69:14 | x | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:69:14:69:14 | x | type tracker without call steps | params_flow.rb:69:14:69:14 | x | | params_flow.rb:69:14:69:14 | x | type tracker without call steps | params_flow.rb:69:14:69:14 | x | -| params_flow.rb:69:14:69:14 | x | type tracker without call steps with content splat position 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | +| params_flow.rb:69:14:69:14 | x | type tracker without call steps with content element 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:69:17:69:17 | y | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:69:17:69:17 | y | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:69:17:69:17 | y | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:69:17:69:17 | y | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:69:17:69:17 | y | type tracker without call steps | params_flow.rb:69:17:69:17 | y | | params_flow.rb:69:17:69:17 | y | type tracker without call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:69:17:69:17 | y | type tracker without call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:69:17:69:17 | y | type tracker without call steps with content element 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | | params_flow.rb:69:20:69:21 | *z | type tracker without call steps | params_flow.rb:69:20:69:21 | *z | | params_flow.rb:69:21:69:21 | z | type tracker without call steps | params_flow.rb:69:21:69:21 | z | | params_flow.rb:69:24:69:24 | w | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:69:24:69:24 | w | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:69:24:69:24 | w | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:69:24:69:24 | w | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:69:24:69:24 | w | type tracker without call steps | params_flow.rb:69:24:69:24 | w | | params_flow.rb:69:24:69:24 | w | type tracker without call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:69:24:69:24 | w | type tracker without call steps with content splat position 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | +| params_flow.rb:69:24:69:24 | w | type tracker without call steps with content element 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | | params_flow.rb:69:27:69:27 | r | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:69:27:69:27 | r | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:69:27:69:27 | r | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:69:27:69:27 | r | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:69:27:69:27 | r | type tracker without call steps | params_flow.rb:69:27:69:27 | r | | params_flow.rb:69:27:69:27 | r | type tracker without call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:69:27:69:27 | r | type tracker without call steps with content splat position 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | +| params_flow.rb:69:27:69:27 | r | type tracker without call steps with content element 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | | params_flow.rb:70:5:70:10 | call to sink | type tracker without call steps | params_flow.rb:70:5:70:10 | call to sink | -| params_flow.rb:70:5:70:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:70:5:70:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:71:5:71:10 | call to sink | type tracker without call steps | params_flow.rb:71:5:71:10 | call to sink | -| params_flow.rb:71:5:71:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:71:5:71:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:71:5:71:10 | synthetic splat argument | | params_flow.rb:72:5:72:13 | call to sink | type tracker without call steps | params_flow.rb:72:5:72:13 | call to sink | -| params_flow.rb:72:5:72:13 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:72:5:72:13 | synthetic splat argument | type tracker without call steps | params_flow.rb:72:5:72:13 | synthetic splat argument | | params_flow.rb:72:10:72:13 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:72:10:72:13 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:72:10:72:13 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:72:10:72:13 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:72:10:72:13 | ...[...] | type tracker without call steps | params_flow.rb:72:10:72:13 | ...[...] | -| params_flow.rb:72:10:72:13 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:72:5:72:13 | synthetic splat argument | +| params_flow.rb:72:10:72:13 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:72:5:72:13 | synthetic splat argument | | params_flow.rb:72:10:72:13 | synthetic splat argument | type tracker without call steps | params_flow.rb:72:10:72:13 | synthetic splat argument | | params_flow.rb:72:12:72:12 | 0 | type tracker without call steps | params_flow.rb:72:12:72:12 | 0 | -| params_flow.rb:72:12:72:12 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:72:10:72:13 | synthetic splat argument | +| params_flow.rb:72:12:72:12 | 0 | type tracker without call steps with content element 0 | params_flow.rb:72:10:72:13 | synthetic splat argument | | params_flow.rb:73:5:73:13 | call to sink | type tracker without call steps | params_flow.rb:73:5:73:13 | call to sink | -| params_flow.rb:73:5:73:13 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:73:5:73:13 | synthetic splat argument | type tracker without call steps | params_flow.rb:73:5:73:13 | synthetic splat argument | | params_flow.rb:73:10:73:13 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:73:10:73:13 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:73:10:73:13 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:73:10:73:13 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:73:10:73:13 | ...[...] | type tracker without call steps | params_flow.rb:73:10:73:13 | ...[...] | -| params_flow.rb:73:10:73:13 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:73:5:73:13 | synthetic splat argument | +| params_flow.rb:73:10:73:13 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:73:5:73:13 | synthetic splat argument | | params_flow.rb:73:10:73:13 | synthetic splat argument | type tracker without call steps | params_flow.rb:73:10:73:13 | synthetic splat argument | | params_flow.rb:73:12:73:12 | 1 | type tracker without call steps | params_flow.rb:73:12:73:12 | 1 | -| params_flow.rb:73:12:73:12 | 1 | type tracker without call steps with content splat position 0 | params_flow.rb:73:10:73:13 | synthetic splat argument | +| params_flow.rb:73:12:73:12 | 1 | type tracker without call steps with content element 0 | params_flow.rb:73:10:73:13 | synthetic splat argument | | params_flow.rb:74:5:74:10 | call to sink | type tracker without call steps | params_flow.rb:74:5:74:10 | call to sink | -| params_flow.rb:74:5:74:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:74:5:74:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:74:5:74:10 | synthetic splat argument | | params_flow.rb:75:5:75:10 | call to sink | type tracker without call steps | params_flow.rb:75:5:75:10 | call to sink | | params_flow.rb:75:5:75:10 | call to sink | type tracker without call steps | params_flow.rb:78:1:78:63 | call to splatmid | | params_flow.rb:75:5:75:10 | call to sink | type tracker without call steps | params_flow.rb:81:1:81:37 | call to splatmid | | params_flow.rb:75:5:75:10 | call to sink | type tracker without call steps | params_flow.rb:96:1:96:88 | call to splatmid | -| params_flow.rb:75:5:75:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:75:5:75:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:75:5:75:10 | synthetic splat argument | | params_flow.rb:78:1:78:63 | call to splatmid | type tracker without call steps | params_flow.rb:78:1:78:63 | call to splatmid | | params_flow.rb:78:1:78:63 | synthetic splat argument | type tracker with call steps | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:1:78:63 | synthetic splat argument | type tracker without call steps | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps | params_flow.rb:69:14:69:14 | x | -| params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | -| params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | +| params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:78:10:78:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:78:10:78:18 | call to taint | type tracker without call steps | params_flow.rb:78:10:78:18 | call to taint | -| params_flow.rb:78:10:78:18 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:78:1:78:63 | synthetic splat argument | -| params_flow.rb:78:10:78:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:10:78:18 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:78:10:78:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:78:10:78:18 | synthetic splat argument | | params_flow.rb:78:16:78:17 | 27 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:16:78:17 | 27 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:16:78:17 | 27 | type tracker with call steps | params_flow.rb:69:14:69:14 | x | -| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content splat position 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | -| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content splat position 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | +| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content element 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:78:16:78:17 | 27 | type tracker with call steps with content element 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:78:16:78:17 | 27 | type tracker without call steps | params_flow.rb:78:10:78:18 | call to taint | | params_flow.rb:78:16:78:17 | 27 | type tracker without call steps | params_flow.rb:78:16:78:17 | 27 | -| params_flow.rb:78:16:78:17 | 27 | type tracker without call steps with content splat position 0 | params_flow.rb:78:1:78:63 | synthetic splat argument | -| params_flow.rb:78:16:78:17 | 27 | type tracker without call steps with content splat position 0 | params_flow.rb:78:10:78:18 | synthetic splat argument | +| params_flow.rb:78:16:78:17 | 27 | type tracker without call steps with content element 0 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:78:16:78:17 | 27 | type tracker without call steps with content element 0 | params_flow.rb:78:10:78:18 | synthetic splat argument | | params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | -| params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:78:21:78:29 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:21:78:29 | call to taint | type tracker without call steps | params_flow.rb:78:21:78:29 | call to taint | -| params_flow.rb:78:21:78:29 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:78:1:78:63 | synthetic splat argument | -| params_flow.rb:78:21:78:29 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:21:78:29 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:78:21:78:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:78:21:78:29 | synthetic splat argument | | params_flow.rb:78:27:78:28 | 28 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:27:78:28 | 28 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:27:78:28 | 28 | type tracker with call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | -| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content splat position 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:78:27:78:28 | 28 | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:27:78:28 | 28 | type tracker without call steps | params_flow.rb:78:21:78:29 | call to taint | | params_flow.rb:78:27:78:28 | 28 | type tracker without call steps | params_flow.rb:78:27:78:28 | 28 | -| params_flow.rb:78:27:78:28 | 28 | type tracker without call steps with content splat position 0 | params_flow.rb:78:21:78:29 | synthetic splat argument | -| params_flow.rb:78:27:78:28 | 28 | type tracker without call steps with content splat position 1 | params_flow.rb:78:1:78:63 | synthetic splat argument | -| params_flow.rb:78:32:78:40 | call to taint | type tracker with call steps with content splat position 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:78:27:78:28 | 28 | type tracker without call steps with content element 0 | params_flow.rb:78:21:78:29 | synthetic splat argument | +| params_flow.rb:78:27:78:28 | 28 | type tracker without call steps with content element 1 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:78:32:78:40 | call to taint | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:32:78:40 | call to taint | type tracker without call steps | params_flow.rb:78:32:78:40 | call to taint | -| params_flow.rb:78:32:78:40 | call to taint | type tracker without call steps with content splat position 2 | params_flow.rb:78:1:78:63 | synthetic splat argument | -| params_flow.rb:78:32:78:40 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:32:78:40 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:78:32:78:40 | synthetic splat argument | type tracker without call steps | params_flow.rb:78:32:78:40 | synthetic splat argument | | params_flow.rb:78:38:78:39 | 29 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:78:38:78:39 | 29 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:78:38:78:39 | 29 | type tracker with call steps with content splat position 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:78:38:78:39 | 29 | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:38:78:39 | 29 | type tracker without call steps | params_flow.rb:78:32:78:40 | call to taint | | params_flow.rb:78:38:78:39 | 29 | type tracker without call steps | params_flow.rb:78:38:78:39 | 29 | -| params_flow.rb:78:38:78:39 | 29 | type tracker without call steps with content splat position 0 | params_flow.rb:78:32:78:40 | synthetic splat argument | -| params_flow.rb:78:38:78:39 | 29 | type tracker without call steps with content splat position 2 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:78:38:78:39 | 29 | type tracker without call steps with content element 0 | params_flow.rb:78:32:78:40 | synthetic splat argument | +| params_flow.rb:78:38:78:39 | 29 | type tracker without call steps with content element 2 | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | -| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content splat position 3 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | +| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:43:78:51 | call to taint | type tracker without call steps | params_flow.rb:78:43:78:51 | call to taint | -| params_flow.rb:78:43:78:51 | call to taint | type tracker without call steps with content splat position 3 | params_flow.rb:78:1:78:63 | synthetic splat argument | -| params_flow.rb:78:43:78:51 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:43:78:51 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:78:43:78:51 | synthetic splat argument | type tracker without call steps | params_flow.rb:78:43:78:51 | synthetic splat argument | | params_flow.rb:78:49:78:50 | 30 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:49:78:50 | 30 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:49:78:50 | 30 | type tracker with call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content splat position 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | -| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content splat position 3 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | +| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:49:78:50 | 30 | type tracker without call steps | params_flow.rb:78:43:78:51 | call to taint | | params_flow.rb:78:49:78:50 | 30 | type tracker without call steps | params_flow.rb:78:49:78:50 | 30 | -| params_flow.rb:78:49:78:50 | 30 | type tracker without call steps with content splat position 0 | params_flow.rb:78:43:78:51 | synthetic splat argument | -| params_flow.rb:78:49:78:50 | 30 | type tracker without call steps with content splat position 3 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:78:49:78:50 | 30 | type tracker without call steps with content element 0 | params_flow.rb:78:43:78:51 | synthetic splat argument | +| params_flow.rb:78:49:78:50 | 30 | type tracker without call steps with content element 3 | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | -| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content splat position 4 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | +| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:54:78:62 | call to taint | type tracker without call steps | params_flow.rb:78:54:78:62 | call to taint | -| params_flow.rb:78:54:78:62 | call to taint | type tracker without call steps with content splat position 4 | params_flow.rb:78:1:78:63 | synthetic splat argument | -| params_flow.rb:78:54:78:62 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:78:54:78:62 | call to taint | type tracker without call steps with content element 4 | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:78:54:78:62 | synthetic splat argument | type tracker without call steps | params_flow.rb:78:54:78:62 | synthetic splat argument | | params_flow.rb:78:60:78:61 | 31 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:60:78:61 | 31 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:78:60:78:61 | 31 | type tracker with call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content splat position 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | -| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content splat position 4 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | +| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:60:78:61 | 31 | type tracker without call steps | params_flow.rb:78:54:78:62 | call to taint | | params_flow.rb:78:60:78:61 | 31 | type tracker without call steps | params_flow.rb:78:60:78:61 | 31 | -| params_flow.rb:78:60:78:61 | 31 | type tracker without call steps with content splat position 0 | params_flow.rb:78:54:78:62 | synthetic splat argument | -| params_flow.rb:78:60:78:61 | 31 | type tracker without call steps with content splat position 4 | params_flow.rb:78:1:78:63 | synthetic splat argument | +| params_flow.rb:78:60:78:61 | 31 | type tracker without call steps with content element 0 | params_flow.rb:78:54:78:62 | synthetic splat argument | +| params_flow.rb:78:60:78:61 | 31 | type tracker without call steps with content element 4 | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:80:1:80:4 | args | type tracker without call steps | params_flow.rb:80:1:80:4 | args | | params_flow.rb:80:8:80:51 | Array | type tracker without call steps | params_flow.rb:80:8:80:51 | Array | | params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | -| params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:80:8:80:51 | call to [] | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:8:80:51 | call to [] | type tracker without call steps | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:8:80:51 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:8:80:51 | call to [] | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:80:8:80:51 | call to [] | type tracker without call steps with content element 1 | params_flow.rb:81:1:81:37 | synthetic splat argument | | params_flow.rb:80:8:80:51 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:80:8:80:51 | synthetic splat argument | type tracker with call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:80:8:80:51 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:80:8:80:51 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:80:8:80:51 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | -| params_flow.rb:80:8:80:51 | synthetic splat argument | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:80:8:80:51 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:80:8:80:51 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:80:8:80:51 | synthetic splat argument | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:8:80:51 | synthetic splat argument | type tracker without call steps | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:8:80:51 | synthetic splat argument | type tracker without call steps | params_flow.rb:80:8:80:51 | synthetic splat argument | | params_flow.rb:80:8:80:51 | synthetic splat argument | type tracker without call steps with content element 0 or unknown | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:8:80:51 | synthetic splat argument | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:80:8:80:51 | synthetic splat argument | type tracker without call steps with content element 1 | params_flow.rb:81:1:81:37 | synthetic splat argument | | params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | -| params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:80:9:80:17 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:9:80:17 | call to taint | type tracker without call steps | params_flow.rb:80:9:80:17 | call to taint | | params_flow.rb:80:9:80:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:9:80:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:80:8:80:51 | synthetic splat argument | | params_flow.rb:80:9:80:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:9:80:17 | call to taint | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | -| params_flow.rb:80:9:80:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:80:9:80:17 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:81:1:81:37 | synthetic splat argument | | params_flow.rb:80:9:80:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:80:9:80:17 | synthetic splat argument | | params_flow.rb:80:15:80:16 | 33 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:80:15:80:16 | 33 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:80:15:80:16 | 33 | type tracker with call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | -| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:80:15:80:16 | 33 | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:15:80:16 | 33 | type tracker without call steps | params_flow.rb:80:9:80:17 | call to taint | | params_flow.rb:80:15:80:16 | 33 | type tracker without call steps | params_flow.rb:80:15:80:16 | 33 | | params_flow.rb:80:15:80:16 | 33 | type tracker without call steps with content element 0 | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:15:80:16 | 33 | type tracker without call steps with content element 0 | params_flow.rb:80:8:80:51 | synthetic splat argument | +| params_flow.rb:80:15:80:16 | 33 | type tracker without call steps with content element 0 | params_flow.rb:80:9:80:17 | synthetic splat argument | | params_flow.rb:80:15:80:16 | 33 | type tracker without call steps with content element 0 | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:15:80:16 | 33 | type tracker without call steps with content splat position 0 | params_flow.rb:80:9:80:17 | synthetic splat argument | -| params_flow.rb:80:15:80:16 | 33 | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | -| params_flow.rb:80:20:80:28 | call to taint | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:80:15:80:16 | 33 | type tracker without call steps with content element 1 | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:80:20:80:28 | call to taint | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:20:80:28 | call to taint | type tracker without call steps | params_flow.rb:80:20:80:28 | call to taint | | params_flow.rb:80:20:80:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:20:80:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:80:8:80:51 | synthetic splat argument | | params_flow.rb:80:20:80:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:20:80:28 | call to taint | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | -| params_flow.rb:80:20:80:28 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:80:20:80:28 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:81:1:81:37 | synthetic splat argument | | params_flow.rb:80:20:80:28 | synthetic splat argument | type tracker without call steps | params_flow.rb:80:20:80:28 | synthetic splat argument | | params_flow.rb:80:26:80:27 | 34 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:80:26:80:27 | 34 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:80:26:80:27 | 34 | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:80:26:80:27 | 34 | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:26:80:27 | 34 | type tracker without call steps | params_flow.rb:80:20:80:28 | call to taint | | params_flow.rb:80:26:80:27 | 34 | type tracker without call steps | params_flow.rb:80:26:80:27 | 34 | +| params_flow.rb:80:26:80:27 | 34 | type tracker without call steps with content element 0 | params_flow.rb:80:20:80:28 | synthetic splat argument | | params_flow.rb:80:26:80:27 | 34 | type tracker without call steps with content element 1 | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:26:80:27 | 34 | type tracker without call steps with content element 1 | params_flow.rb:80:8:80:51 | synthetic splat argument | | params_flow.rb:80:26:80:27 | 34 | type tracker without call steps with content element 1 | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:26:80:27 | 34 | type tracker without call steps with content splat position 0 | params_flow.rb:80:20:80:28 | synthetic splat argument | -| params_flow.rb:80:26:80:27 | 34 | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | -| params_flow.rb:80:31:80:39 | call to taint | type tracker with call steps with content splat position 3 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:80:26:80:27 | 34 | type tracker without call steps with content element 2 | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:80:31:80:39 | call to taint | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:31:80:39 | call to taint | type tracker without call steps | params_flow.rb:80:31:80:39 | call to taint | | params_flow.rb:80:31:80:39 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:31:80:39 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:80:8:80:51 | synthetic splat argument | | params_flow.rb:80:31:80:39 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:31:80:39 | call to taint | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | -| params_flow.rb:80:31:80:39 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:80:31:80:39 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:81:1:81:37 | synthetic splat argument | | params_flow.rb:80:31:80:39 | synthetic splat argument | type tracker without call steps | params_flow.rb:80:31:80:39 | synthetic splat argument | | params_flow.rb:80:37:80:38 | 35 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:80:37:80:38 | 35 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:80:37:80:38 | 35 | type tracker with call steps with content splat position 3 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:80:37:80:38 | 35 | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:37:80:38 | 35 | type tracker without call steps | params_flow.rb:80:31:80:39 | call to taint | | params_flow.rb:80:37:80:38 | 35 | type tracker without call steps | params_flow.rb:80:37:80:38 | 35 | +| params_flow.rb:80:37:80:38 | 35 | type tracker without call steps with content element 0 | params_flow.rb:80:31:80:39 | synthetic splat argument | | params_flow.rb:80:37:80:38 | 35 | type tracker without call steps with content element 2 | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:37:80:38 | 35 | type tracker without call steps with content element 2 | params_flow.rb:80:8:80:51 | synthetic splat argument | | params_flow.rb:80:37:80:38 | 35 | type tracker without call steps with content element 2 | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:37:80:38 | 35 | type tracker without call steps with content splat position 0 | params_flow.rb:80:31:80:39 | synthetic splat argument | -| params_flow.rb:80:37:80:38 | 35 | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | -| params_flow.rb:80:42:80:50 | call to taint | type tracker with call steps with content splat position 4 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:80:37:80:38 | 35 | type tracker without call steps with content element 3 | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:80:42:80:50 | call to taint | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:42:80:50 | call to taint | type tracker without call steps | params_flow.rb:80:42:80:50 | call to taint | | params_flow.rb:80:42:80:50 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:42:80:50 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:80:8:80:51 | synthetic splat argument | | params_flow.rb:80:42:80:50 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:42:80:50 | call to taint | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | -| params_flow.rb:80:42:80:50 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:80:42:80:50 | call to taint | type tracker without call steps with content element 4 | params_flow.rb:81:1:81:37 | synthetic splat argument | | params_flow.rb:80:42:80:50 | synthetic splat argument | type tracker without call steps | params_flow.rb:80:42:80:50 | synthetic splat argument | | params_flow.rb:80:48:80:49 | 36 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:80:48:80:49 | 36 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:80:48:80:49 | 36 | type tracker with call steps with content splat position 4 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:80:48:80:49 | 36 | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:80:48:80:49 | 36 | type tracker without call steps | params_flow.rb:80:42:80:50 | call to taint | | params_flow.rb:80:48:80:49 | 36 | type tracker without call steps | params_flow.rb:80:48:80:49 | 36 | +| params_flow.rb:80:48:80:49 | 36 | type tracker without call steps with content element 0 | params_flow.rb:80:42:80:50 | synthetic splat argument | | params_flow.rb:80:48:80:49 | 36 | type tracker without call steps with content element 3 | params_flow.rb:80:8:80:51 | call to [] | | params_flow.rb:80:48:80:49 | 36 | type tracker without call steps with content element 3 | params_flow.rb:80:8:80:51 | synthetic splat argument | | params_flow.rb:80:48:80:49 | 36 | type tracker without call steps with content element 3 | params_flow.rb:81:21:81:25 | * ... | -| params_flow.rb:80:48:80:49 | 36 | type tracker without call steps with content splat position 0 | params_flow.rb:80:42:80:50 | synthetic splat argument | -| params_flow.rb:80:48:80:49 | 36 | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:80:48:80:49 | 36 | type tracker without call steps with content element 4 | params_flow.rb:81:1:81:37 | synthetic splat argument | | params_flow.rb:81:1:81:37 | call to splatmid | type tracker without call steps | params_flow.rb:81:1:81:37 | call to splatmid | | params_flow.rb:81:1:81:37 | synthetic splat argument | type tracker with call steps | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:81:1:81:37 | synthetic splat argument | type tracker without call steps | params_flow.rb:81:1:81:37 | synthetic splat argument | | params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps | params_flow.rb:69:14:69:14 | x | -| params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | -| params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | +| params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:81:10:81:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:81:10:81:18 | call to taint | type tracker without call steps | params_flow.rb:81:10:81:18 | call to taint | -| params_flow.rb:81:10:81:18 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:81:1:81:37 | synthetic splat argument | -| params_flow.rb:81:10:81:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:81:10:81:18 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:81:1:81:37 | synthetic splat argument | | params_flow.rb:81:10:81:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:81:10:81:18 | synthetic splat argument | | params_flow.rb:81:16:81:17 | 32 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:81:16:81:17 | 32 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:81:16:81:17 | 32 | type tracker with call steps | params_flow.rb:69:14:69:14 | x | -| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content splat position 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | -| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content splat position 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | +| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content element 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:81:16:81:17 | 32 | type tracker with call steps with content element 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:81:16:81:17 | 32 | type tracker without call steps | params_flow.rb:81:10:81:18 | call to taint | | params_flow.rb:81:16:81:17 | 32 | type tracker without call steps | params_flow.rb:81:16:81:17 | 32 | -| params_flow.rb:81:16:81:17 | 32 | type tracker without call steps with content splat position 0 | params_flow.rb:81:1:81:37 | synthetic splat argument | -| params_flow.rb:81:16:81:17 | 32 | type tracker without call steps with content splat position 0 | params_flow.rb:81:10:81:18 | synthetic splat argument | +| params_flow.rb:81:16:81:17 | 32 | type tracker without call steps with content element 0 | params_flow.rb:81:1:81:37 | synthetic splat argument | +| params_flow.rb:81:16:81:17 | 32 | type tracker without call steps with content element 0 | params_flow.rb:81:10:81:18 | synthetic splat argument | | params_flow.rb:81:21:81:25 | * ... | type tracker without call steps | params_flow.rb:81:21:81:25 | * ... | | params_flow.rb:81:28:81:36 | call to taint | type tracker without call steps | params_flow.rb:81:28:81:36 | call to taint | -| params_flow.rb:81:28:81:36 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:81:28:81:36 | synthetic splat argument | type tracker without call steps | params_flow.rb:81:28:81:36 | synthetic splat argument | | params_flow.rb:81:34:81:35 | 37 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:81:34:81:35 | 37 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:81:34:81:35 | 37 | type tracker without call steps | params_flow.rb:81:28:81:36 | call to taint | | params_flow.rb:81:34:81:35 | 37 | type tracker without call steps | params_flow.rb:81:34:81:35 | 37 | -| params_flow.rb:81:34:81:35 | 37 | type tracker without call steps with content splat position 0 | params_flow.rb:81:28:81:36 | synthetic splat argument | +| params_flow.rb:81:34:81:35 | 37 | type tracker without call steps with content element 0 | params_flow.rb:81:28:81:36 | synthetic splat argument | | params_flow.rb:83:1:91:3 | &block | type tracker without call steps | params_flow.rb:83:1:91:3 | &block | | params_flow.rb:83:1:91:3 | pos_many | type tracker without call steps | params_flow.rb:83:1:91:3 | pos_many | | params_flow.rb:83:1:91:3 | self in pos_many | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:83:1:91:3 | self in pos_many | type tracker without call steps | params_flow.rb:83:1:91:3 | self in pos_many | | params_flow.rb:83:1:91:3 | synthetic splat parameter | type tracker without call steps | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:83:14:83:14 | t | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:83:14:83:14 | t | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:83:14:83:14 | t | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:83:14:83:14 | t | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:83:14:83:14 | t | type tracker without call steps | params_flow.rb:83:14:83:14 | t | | params_flow.rb:83:14:83:14 | t | type tracker without call steps | params_flow.rb:83:14:83:14 | t | -| params_flow.rb:83:14:83:14 | t | type tracker without call steps with content splat position 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | +| params_flow.rb:83:14:83:14 | t | type tracker without call steps with content element 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:83:17:83:17 | u | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:83:17:83:17 | u | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:83:17:83:17 | u | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:83:17:83:17 | u | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:83:17:83:17 | u | type tracker without call steps | params_flow.rb:83:17:83:17 | u | | params_flow.rb:83:17:83:17 | u | type tracker without call steps | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:83:17:83:17 | u | type tracker without call steps with content splat position 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | +| params_flow.rb:83:17:83:17 | u | type tracker without call steps with content element 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:83:20:83:20 | v | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:83:20:83:20 | v | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:83:20:83:20 | v | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:83:20:83:20 | v | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:83:20:83:20 | v | type tracker without call steps | params_flow.rb:83:20:83:20 | v | | params_flow.rb:83:20:83:20 | v | type tracker without call steps | params_flow.rb:83:20:83:20 | v | -| params_flow.rb:83:20:83:20 | v | type tracker without call steps with content splat position 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | +| params_flow.rb:83:20:83:20 | v | type tracker without call steps with content element 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | | params_flow.rb:83:23:83:23 | w | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:83:23:83:23 | w | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:83:23:83:23 | w | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:83:23:83:23 | w | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:83:23:83:23 | w | type tracker without call steps | params_flow.rb:83:23:83:23 | w | | params_flow.rb:83:23:83:23 | w | type tracker without call steps | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:83:23:83:23 | w | type tracker without call steps with content splat position 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | +| params_flow.rb:83:23:83:23 | w | type tracker without call steps with content element 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | | params_flow.rb:83:26:83:26 | x | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:83:26:83:26 | x | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:83:26:83:26 | x | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:83:26:83:26 | x | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:83:26:83:26 | x | type tracker without call steps | params_flow.rb:83:26:83:26 | x | | params_flow.rb:83:26:83:26 | x | type tracker without call steps | params_flow.rb:83:26:83:26 | x | -| params_flow.rb:83:26:83:26 | x | type tracker without call steps with content splat position 0 | params_flow.rb:88:5:88:10 | synthetic splat argument | +| params_flow.rb:83:26:83:26 | x | type tracker without call steps with content element 0 | params_flow.rb:88:5:88:10 | synthetic splat argument | | params_flow.rb:83:29:83:29 | y | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:83:29:83:29 | y | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:83:29:83:29 | y | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:83:29:83:29 | y | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:83:29:83:29 | y | type tracker without call steps | params_flow.rb:83:29:83:29 | y | | params_flow.rb:83:29:83:29 | y | type tracker without call steps | params_flow.rb:83:29:83:29 | y | -| params_flow.rb:83:29:83:29 | y | type tracker without call steps with content splat position 0 | params_flow.rb:89:5:89:10 | synthetic splat argument | +| params_flow.rb:83:29:83:29 | y | type tracker without call steps with content element 0 | params_flow.rb:89:5:89:10 | synthetic splat argument | | params_flow.rb:83:32:83:32 | z | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:83:32:83:32 | z | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:83:32:83:32 | z | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:83:32:83:32 | z | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:83:32:83:32 | z | type tracker without call steps | params_flow.rb:83:32:83:32 | z | | params_flow.rb:83:32:83:32 | z | type tracker without call steps | params_flow.rb:83:32:83:32 | z | -| params_flow.rb:83:32:83:32 | z | type tracker without call steps with content splat position 0 | params_flow.rb:90:5:90:10 | synthetic splat argument | +| params_flow.rb:83:32:83:32 | z | type tracker without call steps with content element 0 | params_flow.rb:90:5:90:10 | synthetic splat argument | | params_flow.rb:84:5:84:10 | call to sink | type tracker without call steps | params_flow.rb:84:5:84:10 | call to sink | -| params_flow.rb:84:5:84:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:84:5:84:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:85:5:85:10 | call to sink | type tracker without call steps | params_flow.rb:85:5:85:10 | call to sink | -| params_flow.rb:85:5:85:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:85:5:85:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:86:5:86:10 | call to sink | type tracker without call steps | params_flow.rb:86:5:86:10 | call to sink | -| params_flow.rb:86:5:86:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:86:5:86:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:86:5:86:10 | synthetic splat argument | | params_flow.rb:87:5:87:10 | call to sink | type tracker without call steps | params_flow.rb:87:5:87:10 | call to sink | -| params_flow.rb:87:5:87:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:87:5:87:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:87:5:87:10 | synthetic splat argument | | params_flow.rb:88:5:88:10 | call to sink | type tracker without call steps | params_flow.rb:88:5:88:10 | call to sink | -| params_flow.rb:88:5:88:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:88:5:88:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:88:5:88:10 | synthetic splat argument | | params_flow.rb:89:5:89:10 | call to sink | type tracker without call steps | params_flow.rb:89:5:89:10 | call to sink | -| params_flow.rb:89:5:89:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:89:5:89:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:89:5:89:10 | synthetic splat argument | | params_flow.rb:90:5:90:10 | call to sink | type tracker without call steps | params_flow.rb:90:5:90:10 | call to sink | | params_flow.rb:90:5:90:10 | call to sink | type tracker without call steps | params_flow.rb:94:1:94:48 | call to pos_many | | params_flow.rb:90:5:90:10 | call to sink | type tracker without call steps | params_flow.rb:131:1:131:46 | call to pos_many | -| params_flow.rb:90:5:90:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:90:5:90:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:90:5:90:10 | synthetic splat argument | | params_flow.rb:93:1:93:4 | args | type tracker without call steps | params_flow.rb:93:1:93:4 | args | | params_flow.rb:93:8:93:51 | Array | type tracker without call steps | params_flow.rb:93:8:93:51 | Array | | params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps | params_flow.rb:83:20:83:20 | v | -| params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | -| params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | +| params_flow.rb:93:8:93:51 | call to [] | type tracker with call steps with content element 2 | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:8:93:51 | call to [] | type tracker without call steps | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:8:93:51 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:8:93:51 | call to [] | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:93:8:93:51 | call to [] | type tracker without call steps with content element 2 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:93:8:93:51 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:8:93:51 | synthetic splat argument | type tracker with call steps | params_flow.rb:83:20:83:20 | v | -| params_flow.rb:93:8:93:51 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:93:8:93:51 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:93:8:93:51 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | -| params_flow.rb:93:8:93:51 | synthetic splat argument | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:93:8:93:51 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:8:93:51 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | +| params_flow.rb:93:8:93:51 | synthetic splat argument | type tracker with call steps with content element 2 | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:8:93:51 | synthetic splat argument | type tracker without call steps | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:8:93:51 | synthetic splat argument | type tracker without call steps | params_flow.rb:93:8:93:51 | synthetic splat argument | | params_flow.rb:93:8:93:51 | synthetic splat argument | type tracker without call steps with content element 0 or unknown | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:8:93:51 | synthetic splat argument | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:93:8:93:51 | synthetic splat argument | type tracker without call steps with content element 2 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps | params_flow.rb:83:20:83:20 | v | -| params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | -| params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | +| params_flow.rb:93:9:93:17 | call to taint | type tracker with call steps with content element 2 | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:9:93:17 | call to taint | type tracker without call steps | params_flow.rb:93:9:93:17 | call to taint | | params_flow.rb:93:9:93:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:9:93:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:93:8:93:51 | synthetic splat argument | | params_flow.rb:93:9:93:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:9:93:17 | call to taint | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | -| params_flow.rb:93:9:93:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:93:9:93:17 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:93:9:93:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:93:9:93:17 | synthetic splat argument | | params_flow.rb:93:15:93:16 | 40 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:15:93:16 | 40 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:15:93:16 | 40 | type tracker with call steps | params_flow.rb:83:20:83:20 | v | -| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content splat position 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | -| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content element 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | +| params_flow.rb:93:15:93:16 | 40 | type tracker with call steps with content element 2 | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:15:93:16 | 40 | type tracker without call steps | params_flow.rb:93:9:93:17 | call to taint | | params_flow.rb:93:15:93:16 | 40 | type tracker without call steps | params_flow.rb:93:15:93:16 | 40 | | params_flow.rb:93:15:93:16 | 40 | type tracker without call steps with content element 0 | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:15:93:16 | 40 | type tracker without call steps with content element 0 | params_flow.rb:93:8:93:51 | synthetic splat argument | +| params_flow.rb:93:15:93:16 | 40 | type tracker without call steps with content element 0 | params_flow.rb:93:9:93:17 | synthetic splat argument | | params_flow.rb:93:15:93:16 | 40 | type tracker without call steps with content element 0 | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:15:93:16 | 40 | type tracker without call steps with content splat position 0 | params_flow.rb:93:9:93:17 | synthetic splat argument | -| params_flow.rb:93:15:93:16 | 40 | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:93:15:93:16 | 40 | type tracker without call steps with content element 2 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | -| params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps with content splat position 3 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | +| params_flow.rb:93:20:93:28 | call to taint | type tracker with call steps with content element 3 | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:20:93:28 | call to taint | type tracker without call steps | params_flow.rb:93:20:93:28 | call to taint | | params_flow.rb:93:20:93:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:20:93:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:93:8:93:51 | synthetic splat argument | | params_flow.rb:93:20:93:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:20:93:28 | call to taint | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | -| params_flow.rb:93:20:93:28 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:93:20:93:28 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:93:20:93:28 | synthetic splat argument | type tracker without call steps | params_flow.rb:93:20:93:28 | synthetic splat argument | | params_flow.rb:93:26:93:27 | 41 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:26:93:27 | 41 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:26:93:27 | 41 | type tracker with call steps | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content splat position 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | -| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content splat position 3 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content element 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | +| params_flow.rb:93:26:93:27 | 41 | type tracker with call steps with content element 3 | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:26:93:27 | 41 | type tracker without call steps | params_flow.rb:93:20:93:28 | call to taint | | params_flow.rb:93:26:93:27 | 41 | type tracker without call steps | params_flow.rb:93:26:93:27 | 41 | +| params_flow.rb:93:26:93:27 | 41 | type tracker without call steps with content element 0 | params_flow.rb:93:20:93:28 | synthetic splat argument | | params_flow.rb:93:26:93:27 | 41 | type tracker without call steps with content element 1 | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:26:93:27 | 41 | type tracker without call steps with content element 1 | params_flow.rb:93:8:93:51 | synthetic splat argument | | params_flow.rb:93:26:93:27 | 41 | type tracker without call steps with content element 1 | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:26:93:27 | 41 | type tracker without call steps with content splat position 0 | params_flow.rb:93:20:93:28 | synthetic splat argument | -| params_flow.rb:93:26:93:27 | 41 | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:93:26:93:27 | 41 | type tracker without call steps with content element 3 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps | params_flow.rb:83:26:83:26 | x | -| params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:88:5:88:10 | synthetic splat argument | -| params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps with content splat position 4 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:88:5:88:10 | synthetic splat argument | +| params_flow.rb:93:31:93:39 | call to taint | type tracker with call steps with content element 4 | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:31:93:39 | call to taint | type tracker without call steps | params_flow.rb:93:31:93:39 | call to taint | | params_flow.rb:93:31:93:39 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:31:93:39 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:93:8:93:51 | synthetic splat argument | | params_flow.rb:93:31:93:39 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:31:93:39 | call to taint | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | -| params_flow.rb:93:31:93:39 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:93:31:93:39 | call to taint | type tracker without call steps with content element 4 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:93:31:93:39 | synthetic splat argument | type tracker without call steps | params_flow.rb:93:31:93:39 | synthetic splat argument | | params_flow.rb:93:37:93:38 | 42 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:37:93:38 | 42 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:37:93:38 | 42 | type tracker with call steps | params_flow.rb:83:26:83:26 | x | -| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content splat position 0 | params_flow.rb:88:5:88:10 | synthetic splat argument | -| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content splat position 4 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content element 0 | params_flow.rb:88:5:88:10 | synthetic splat argument | +| params_flow.rb:93:37:93:38 | 42 | type tracker with call steps with content element 4 | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:37:93:38 | 42 | type tracker without call steps | params_flow.rb:93:31:93:39 | call to taint | | params_flow.rb:93:37:93:38 | 42 | type tracker without call steps | params_flow.rb:93:37:93:38 | 42 | +| params_flow.rb:93:37:93:38 | 42 | type tracker without call steps with content element 0 | params_flow.rb:93:31:93:39 | synthetic splat argument | | params_flow.rb:93:37:93:38 | 42 | type tracker without call steps with content element 2 | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:37:93:38 | 42 | type tracker without call steps with content element 2 | params_flow.rb:93:8:93:51 | synthetic splat argument | | params_flow.rb:93:37:93:38 | 42 | type tracker without call steps with content element 2 | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:37:93:38 | 42 | type tracker without call steps with content splat position 0 | params_flow.rb:93:31:93:39 | synthetic splat argument | -| params_flow.rb:93:37:93:38 | 42 | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:93:37:93:38 | 42 | type tracker without call steps with content element 4 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps | params_flow.rb:83:29:83:29 | y | -| params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:89:5:89:10 | synthetic splat argument | -| params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps with content splat position 5 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:89:5:89:10 | synthetic splat argument | +| params_flow.rb:93:42:93:50 | call to taint | type tracker with call steps with content element 5 | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:42:93:50 | call to taint | type tracker without call steps | params_flow.rb:93:42:93:50 | call to taint | | params_flow.rb:93:42:93:50 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:42:93:50 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:93:8:93:51 | synthetic splat argument | | params_flow.rb:93:42:93:50 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:42:93:50 | call to taint | type tracker without call steps with content splat position 5 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | -| params_flow.rb:93:42:93:50 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:93:42:93:50 | call to taint | type tracker without call steps with content element 5 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:93:42:93:50 | synthetic splat argument | type tracker without call steps | params_flow.rb:93:42:93:50 | synthetic splat argument | | params_flow.rb:93:48:93:49 | 43 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:48:93:49 | 43 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:93:48:93:49 | 43 | type tracker with call steps | params_flow.rb:83:29:83:29 | y | -| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content splat position 0 | params_flow.rb:89:5:89:10 | synthetic splat argument | -| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content splat position 5 (shifted) | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content element 0 | params_flow.rb:89:5:89:10 | synthetic splat argument | +| params_flow.rb:93:48:93:49 | 43 | type tracker with call steps with content element 5 | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:93:48:93:49 | 43 | type tracker without call steps | params_flow.rb:93:42:93:50 | call to taint | | params_flow.rb:93:48:93:49 | 43 | type tracker without call steps | params_flow.rb:93:48:93:49 | 43 | +| params_flow.rb:93:48:93:49 | 43 | type tracker without call steps with content element 0 | params_flow.rb:93:42:93:50 | synthetic splat argument | | params_flow.rb:93:48:93:49 | 43 | type tracker without call steps with content element 3 | params_flow.rb:93:8:93:51 | call to [] | | params_flow.rb:93:48:93:49 | 43 | type tracker without call steps with content element 3 | params_flow.rb:93:8:93:51 | synthetic splat argument | | params_flow.rb:93:48:93:49 | 43 | type tracker without call steps with content element 3 | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:93:48:93:49 | 43 | type tracker without call steps with content splat position 0 | params_flow.rb:93:42:93:50 | synthetic splat argument | -| params_flow.rb:93:48:93:49 | 43 | type tracker without call steps with content splat position 5 (shifted) | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:93:48:93:49 | 43 | type tracker without call steps with content element 5 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:94:1:94:48 | call to pos_many | type tracker without call steps | params_flow.rb:94:1:94:48 | call to pos_many | | params_flow.rb:94:1:94:48 | synthetic splat argument | type tracker with call steps | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:94:1:94:48 | synthetic splat argument | type tracker without call steps | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps | params_flow.rb:83:14:83:14 | t | -| params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:83:1:91:3 | synthetic splat parameter | -| params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | +| params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:94:10:94:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:94:10:94:18 | call to taint | type tracker without call steps | params_flow.rb:94:10:94:18 | call to taint | -| params_flow.rb:94:10:94:18 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:94:1:94:48 | synthetic splat argument | -| params_flow.rb:94:10:94:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:94:10:94:18 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:94:10:94:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:94:10:94:18 | synthetic splat argument | | params_flow.rb:94:16:94:17 | 38 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:94:16:94:17 | 38 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:16:94:17 | 38 | type tracker with call steps | params_flow.rb:83:14:83:14 | t | -| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content splat position 0 | params_flow.rb:83:1:91:3 | synthetic splat parameter | -| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content splat position 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | +| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content element 0 | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:94:16:94:17 | 38 | type tracker with call steps with content element 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:94:16:94:17 | 38 | type tracker without call steps | params_flow.rb:94:10:94:18 | call to taint | | params_flow.rb:94:16:94:17 | 38 | type tracker without call steps | params_flow.rb:94:16:94:17 | 38 | -| params_flow.rb:94:16:94:17 | 38 | type tracker without call steps with content splat position 0 | params_flow.rb:94:1:94:48 | synthetic splat argument | -| params_flow.rb:94:16:94:17 | 38 | type tracker without call steps with content splat position 0 | params_flow.rb:94:10:94:18 | synthetic splat argument | +| params_flow.rb:94:16:94:17 | 38 | type tracker without call steps with content element 0 | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:94:16:94:17 | 38 | type tracker without call steps with content element 0 | params_flow.rb:94:10:94:18 | synthetic splat argument | | params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | -| params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | +| params_flow.rb:94:21:94:29 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:94:21:94:29 | call to taint | type tracker without call steps | params_flow.rb:94:21:94:29 | call to taint | -| params_flow.rb:94:21:94:29 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:94:1:94:48 | synthetic splat argument | -| params_flow.rb:94:21:94:29 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:94:21:94:29 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:94:21:94:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:94:21:94:29 | synthetic splat argument | | params_flow.rb:94:27:94:28 | 39 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:94:27:94:28 | 39 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:27:94:28 | 39 | type tracker with call steps | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content splat position 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | -| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content splat position 1 | params_flow.rb:83:1:91:3 | synthetic splat parameter | +| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content element 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | +| params_flow.rb:94:27:94:28 | 39 | type tracker with call steps with content element 1 | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:94:27:94:28 | 39 | type tracker without call steps | params_flow.rb:94:21:94:29 | call to taint | | params_flow.rb:94:27:94:28 | 39 | type tracker without call steps | params_flow.rb:94:27:94:28 | 39 | -| params_flow.rb:94:27:94:28 | 39 | type tracker without call steps with content splat position 0 | params_flow.rb:94:21:94:29 | synthetic splat argument | -| params_flow.rb:94:27:94:28 | 39 | type tracker without call steps with content splat position 1 | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:94:27:94:28 | 39 | type tracker without call steps with content element 0 | params_flow.rb:94:21:94:29 | synthetic splat argument | +| params_flow.rb:94:27:94:28 | 39 | type tracker without call steps with content element 1 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:94:32:94:36 | * ... | type tracker without call steps | params_flow.rb:94:32:94:36 | * ... | | params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | +| params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | | params_flow.rb:94:39:94:47 | call to taint | type tracker without call steps | params_flow.rb:94:39:94:47 | call to taint | -| params_flow.rb:94:39:94:47 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:94:39:94:47 | synthetic splat argument | type tracker without call steps | params_flow.rb:94:39:94:47 | synthetic splat argument | | params_flow.rb:94:45:94:46 | 44 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:94:45:94:46 | 44 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:94:45:94:46 | 44 | type tracker with call steps | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps with content splat position 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | +| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps with content element 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | | params_flow.rb:94:45:94:46 | 44 | type tracker without call steps | params_flow.rb:94:39:94:47 | call to taint | | params_flow.rb:94:45:94:46 | 44 | type tracker without call steps | params_flow.rb:94:45:94:46 | 44 | -| params_flow.rb:94:45:94:46 | 44 | type tracker without call steps with content splat position 0 | params_flow.rb:94:39:94:47 | synthetic splat argument | +| params_flow.rb:94:45:94:46 | 44 | type tracker without call steps with content element 0 | params_flow.rb:94:39:94:47 | synthetic splat argument | | params_flow.rb:96:1:96:88 | call to splatmid | type tracker without call steps | params_flow.rb:96:1:96:88 | call to splatmid | | params_flow.rb:96:1:96:88 | synthetic splat argument | type tracker with call steps | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:1:96:88 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps | params_flow.rb:69:14:69:14 | x | -| params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | -| params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | +| params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:96:10:96:18 | call to taint | type tracker without call steps | params_flow.rb:96:10:96:18 | call to taint | -| params_flow.rb:96:10:96:18 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:96:10:96:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:10:96:18 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:10:96:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:10:96:18 | synthetic splat argument | | params_flow.rb:96:16:96:17 | 45 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:16:96:17 | 45 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:16:96:17 | 45 | type tracker with call steps | params_flow.rb:69:14:69:14 | x | -| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content splat position 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | -| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content splat position 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | +| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content element 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content element 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:96:16:96:17 | 45 | type tracker without call steps | params_flow.rb:96:10:96:18 | call to taint | | params_flow.rb:96:16:96:17 | 45 | type tracker without call steps | params_flow.rb:96:16:96:17 | 45 | -| params_flow.rb:96:16:96:17 | 45 | type tracker without call steps with content splat position 0 | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:96:16:96:17 | 45 | type tracker without call steps with content splat position 0 | params_flow.rb:96:10:96:18 | synthetic splat argument | +| params_flow.rb:96:16:96:17 | 45 | type tracker without call steps with content element 0 | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:96:16:96:17 | 45 | type tracker without call steps with content element 0 | params_flow.rb:96:10:96:18 | synthetic splat argument | | params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | -| params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:21:96:29 | call to taint | type tracker without call steps | params_flow.rb:96:21:96:29 | call to taint | -| params_flow.rb:96:21:96:29 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:96:21:96:29 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:21:96:29 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:21:96:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:21:96:29 | synthetic splat argument | | params_flow.rb:96:27:96:28 | 46 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:27:96:28 | 46 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:27:96:28 | 46 | type tracker with call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content splat position 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | -| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content splat position 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | +| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:27:96:28 | 46 | type tracker without call steps | params_flow.rb:96:21:96:29 | call to taint | | params_flow.rb:96:27:96:28 | 46 | type tracker without call steps | params_flow.rb:96:27:96:28 | 46 | -| params_flow.rb:96:27:96:28 | 46 | type tracker without call steps with content splat position 0 | params_flow.rb:96:21:96:29 | synthetic splat argument | -| params_flow.rb:96:27:96:28 | 46 | type tracker without call steps with content splat position 1 | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:96:27:96:28 | 46 | type tracker without call steps with content element 0 | params_flow.rb:96:21:96:29 | synthetic splat argument | +| params_flow.rb:96:27:96:28 | 46 | type tracker without call steps with content element 1 | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:32:96:65 | * ... | type tracker without call steps | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:33:96:65 | Array | type tracker without call steps | params_flow.rb:96:33:96:65 | Array | -| params_flow.rb:96:33:96:65 | call to [] | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:96:33:96:65 | call to [] | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:33:96:65 | call to [] | type tracker without call steps | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:96:33:96:65 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:96:32:96:65 | * ... | -| params_flow.rb:96:33:96:65 | call to [] | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:96:33:96:65 | synthetic splat argument | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:96:33:96:65 | call to [] | type tracker without call steps with content element 2 | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:96:33:96:65 | synthetic splat argument | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:33:96:65 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:96:33:96:65 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:33:96:65 | synthetic splat argument | | params_flow.rb:96:33:96:65 | synthetic splat argument | type tracker without call steps with content element 0 or unknown | params_flow.rb:96:32:96:65 | * ... | -| params_flow.rb:96:33:96:65 | synthetic splat argument | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:96:34:96:42 | call to taint | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:96:33:96:65 | synthetic splat argument | type tracker without call steps with content element 2 | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:96:34:96:42 | call to taint | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:34:96:42 | call to taint | type tracker without call steps | params_flow.rb:96:34:96:42 | call to taint | | params_flow.rb:96:34:96:42 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:34:96:42 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:96:34:96:42 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:96:33:96:65 | synthetic splat argument | -| params_flow.rb:96:34:96:42 | call to taint | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:96:34:96:42 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:34:96:42 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:34:96:42 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:34:96:42 | synthetic splat argument | | params_flow.rb:96:40:96:41 | 47 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:96:40:96:41 | 47 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:96:40:96:41 | 47 | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:96:40:96:41 | 47 | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:40:96:41 | 47 | type tracker without call steps | params_flow.rb:96:34:96:42 | call to taint | | params_flow.rb:96:40:96:41 | 47 | type tracker without call steps | params_flow.rb:96:40:96:41 | 47 | | params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content element 0 | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content element 0 | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content element 0 | params_flow.rb:96:33:96:65 | synthetic splat argument | -| params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content splat position 0 | params_flow.rb:96:34:96:42 | synthetic splat argument | -| params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:96:45:96:53 | call to taint | type tracker with call steps with content splat position 3 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content element 0 | params_flow.rb:96:34:96:42 | synthetic splat argument | +| params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content element 2 | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:96:45:96:53 | call to taint | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:45:96:53 | call to taint | type tracker without call steps | params_flow.rb:96:45:96:53 | call to taint | | params_flow.rb:96:45:96:53 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:45:96:53 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:96:45:96:53 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:96:33:96:65 | synthetic splat argument | -| params_flow.rb:96:45:96:53 | call to taint | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:96:45:96:53 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:45:96:53 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:45:96:53 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:45:96:53 | synthetic splat argument | | params_flow.rb:96:51:96:52 | 48 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:96:51:96:52 | 48 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:96:51:96:52 | 48 | type tracker with call steps with content splat position 3 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:96:51:96:52 | 48 | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:51:96:52 | 48 | type tracker without call steps | params_flow.rb:96:45:96:53 | call to taint | | params_flow.rb:96:51:96:52 | 48 | type tracker without call steps | params_flow.rb:96:51:96:52 | 48 | +| params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content element 0 | params_flow.rb:96:45:96:53 | synthetic splat argument | | params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content element 1 | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content element 1 | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content element 1 | params_flow.rb:96:33:96:65 | synthetic splat argument | -| params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content splat position 0 | params_flow.rb:96:45:96:53 | synthetic splat argument | -| params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content splat position 3 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:96:56:96:64 | call to taint | type tracker with call steps with content splat position 4 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content element 3 | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:96:56:96:64 | call to taint | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:56:96:64 | call to taint | type tracker without call steps | params_flow.rb:96:56:96:64 | call to taint | | params_flow.rb:96:56:96:64 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:56:96:64 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:96:56:96:64 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:96:33:96:65 | synthetic splat argument | -| params_flow.rb:96:56:96:64 | call to taint | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:96:56:96:64 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:96:56:96:64 | call to taint | type tracker without call steps with content element 4 | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:56:96:64 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:56:96:64 | synthetic splat argument | | params_flow.rb:96:62:96:63 | 49 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:96:62:96:63 | 49 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:96:62:96:63 | 49 | type tracker with call steps with content splat position 4 (shifted) | params_flow.rb:69:1:76:3 | synthetic splat parameter | +| params_flow.rb:96:62:96:63 | 49 | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:62:96:63 | 49 | type tracker without call steps | params_flow.rb:96:56:96:64 | call to taint | | params_flow.rb:96:62:96:63 | 49 | type tracker without call steps | params_flow.rb:96:62:96:63 | 49 | +| params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content element 0 | params_flow.rb:96:56:96:64 | synthetic splat argument | | params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content element 2 | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content element 2 | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content element 2 | params_flow.rb:96:33:96:65 | synthetic splat argument | -| params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content splat position 0 | params_flow.rb:96:56:96:64 | synthetic splat argument | -| params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content splat position 4 (shifted) | params_flow.rb:96:1:96:88 | synthetic splat argument | +| params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content element 4 | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | +| params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | | params_flow.rb:96:68:96:76 | call to taint | type tracker without call steps | params_flow.rb:96:68:96:76 | call to taint | -| params_flow.rb:96:68:96:76 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:96:68:96:76 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:68:96:76 | synthetic splat argument | | params_flow.rb:96:74:96:75 | 50 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:74:96:75 | 50 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:74:96:75 | 50 | type tracker with call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps with content splat position 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | +| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | | params_flow.rb:96:74:96:75 | 50 | type tracker without call steps | params_flow.rb:96:68:96:76 | call to taint | | params_flow.rb:96:74:96:75 | 50 | type tracker without call steps | params_flow.rb:96:74:96:75 | 50 | -| params_flow.rb:96:74:96:75 | 50 | type tracker without call steps with content splat position 0 | params_flow.rb:96:68:96:76 | synthetic splat argument | +| params_flow.rb:96:74:96:75 | 50 | type tracker without call steps with content element 0 | params_flow.rb:96:68:96:76 | synthetic splat argument | | params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | +| params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | | params_flow.rb:96:79:96:87 | call to taint | type tracker without call steps | params_flow.rb:96:79:96:87 | call to taint | -| params_flow.rb:96:79:96:87 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:96:79:96:87 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:79:96:87 | synthetic splat argument | | params_flow.rb:96:85:96:86 | 51 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:85:96:86 | 51 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:85:96:86 | 51 | type tracker with call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps with content splat position 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | +| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | | params_flow.rb:96:85:96:86 | 51 | type tracker without call steps | params_flow.rb:96:79:96:87 | call to taint | | params_flow.rb:96:85:96:86 | 51 | type tracker without call steps | params_flow.rb:96:85:96:86 | 51 | -| params_flow.rb:96:85:96:86 | 51 | type tracker without call steps with content splat position 0 | params_flow.rb:96:79:96:87 | synthetic splat argument | +| params_flow.rb:96:85:96:86 | 51 | type tracker without call steps with content element 0 | params_flow.rb:96:79:96:87 | synthetic splat argument | | params_flow.rb:98:1:103:3 | &block | type tracker without call steps | params_flow.rb:98:1:103:3 | &block | | params_flow.rb:98:1:103:3 | self in splatmidsmall | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:98:1:103:3 | self in splatmidsmall | type tracker without call steps | params_flow.rb:98:1:103:3 | self in splatmidsmall | | params_flow.rb:98:1:103:3 | splatmidsmall | type tracker without call steps | params_flow.rb:98:1:103:3 | splatmidsmall | | params_flow.rb:98:1:103:3 | synthetic splat parameter | type tracker without call steps | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:98:19:98:19 | a | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:98:19:98:19 | a | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:98:19:98:19 | a | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:98:19:98:19 | a | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:98:19:98:19 | a | type tracker without call steps | params_flow.rb:98:19:98:19 | a | | params_flow.rb:98:19:98:19 | a | type tracker without call steps | params_flow.rb:98:19:98:19 | a | -| params_flow.rb:98:19:98:19 | a | type tracker without call steps with content splat position 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | +| params_flow.rb:98:19:98:19 | a | type tracker without call steps with content element 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | | params_flow.rb:98:22:98:28 | *splats | type tracker without call steps | params_flow.rb:98:22:98:28 | *splats | | params_flow.rb:98:23:98:28 | splats | type tracker without call steps | params_flow.rb:98:23:98:28 | splats | | params_flow.rb:98:31:98:31 | b | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:98:31:98:31 | b | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:98:31:98:31 | b | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:98:31:98:31 | b | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:98:31:98:31 | b | type tracker without call steps | params_flow.rb:98:31:98:31 | b | | params_flow.rb:98:31:98:31 | b | type tracker without call steps | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:98:31:98:31 | b | type tracker without call steps with content splat position 0 | params_flow.rb:102:5:102:10 | synthetic splat argument | +| params_flow.rb:98:31:98:31 | b | type tracker without call steps with content element 0 | params_flow.rb:102:5:102:10 | synthetic splat argument | | params_flow.rb:99:5:99:10 | call to sink | type tracker without call steps | params_flow.rb:99:5:99:10 | call to sink | -| params_flow.rb:99:5:99:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:99:5:99:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:99:5:99:10 | synthetic splat argument | | params_flow.rb:100:5:100:18 | call to sink | type tracker without call steps | params_flow.rb:100:5:100:18 | call to sink | -| params_flow.rb:100:5:100:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:100:5:100:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:100:5:100:18 | synthetic splat argument | | params_flow.rb:100:10:100:18 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:100:10:100:18 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:100:10:100:18 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:100:10:100:18 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:100:10:100:18 | ...[...] | type tracker without call steps | params_flow.rb:100:10:100:18 | ...[...] | -| params_flow.rb:100:10:100:18 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:100:5:100:18 | synthetic splat argument | +| params_flow.rb:100:10:100:18 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:100:5:100:18 | synthetic splat argument | | params_flow.rb:100:10:100:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:100:10:100:18 | synthetic splat argument | | params_flow.rb:100:17:100:17 | 0 | type tracker without call steps | params_flow.rb:100:17:100:17 | 0 | -| params_flow.rb:100:17:100:17 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:100:10:100:18 | synthetic splat argument | +| params_flow.rb:100:17:100:17 | 0 | type tracker without call steps with content element 0 | params_flow.rb:100:10:100:18 | synthetic splat argument | | params_flow.rb:101:5:101:18 | call to sink | type tracker without call steps | params_flow.rb:101:5:101:18 | call to sink | -| params_flow.rb:101:5:101:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:101:5:101:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:101:5:101:18 | synthetic splat argument | | params_flow.rb:101:10:101:18 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:101:10:101:18 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:101:10:101:18 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:101:10:101:18 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:101:10:101:18 | ...[...] | type tracker without call steps | params_flow.rb:101:10:101:18 | ...[...] | -| params_flow.rb:101:10:101:18 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:101:5:101:18 | synthetic splat argument | +| params_flow.rb:101:10:101:18 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:101:5:101:18 | synthetic splat argument | | params_flow.rb:101:10:101:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:101:10:101:18 | synthetic splat argument | | params_flow.rb:101:17:101:17 | 1 | type tracker without call steps | params_flow.rb:101:17:101:17 | 1 | -| params_flow.rb:101:17:101:17 | 1 | type tracker without call steps with content splat position 0 | params_flow.rb:101:10:101:18 | synthetic splat argument | +| params_flow.rb:101:17:101:17 | 1 | type tracker without call steps with content element 0 | params_flow.rb:101:10:101:18 | synthetic splat argument | | params_flow.rb:102:5:102:10 | call to sink | type tracker without call steps | params_flow.rb:102:5:102:10 | call to sink | | params_flow.rb:102:5:102:10 | call to sink | type tracker without call steps | params_flow.rb:105:1:105:49 | call to splatmidsmall | | params_flow.rb:102:5:102:10 | call to sink | type tracker without call steps | params_flow.rb:106:1:106:46 | call to splatmidsmall | -| params_flow.rb:102:5:102:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:102:5:102:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:102:5:102:10 | synthetic splat argument | | params_flow.rb:105:1:105:49 | call to splatmidsmall | type tracker without call steps | params_flow.rb:105:1:105:49 | call to splatmidsmall | | params_flow.rb:105:1:105:49 | synthetic splat argument | type tracker with call steps | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:1:105:49 | synthetic splat argument | type tracker without call steps | params_flow.rb:105:1:105:49 | synthetic splat argument | | params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps | params_flow.rb:98:19:98:19 | a | -| params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | -| params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | +| params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | | params_flow.rb:105:15:105:23 | call to taint | type tracker without call steps | params_flow.rb:105:15:105:23 | call to taint | -| params_flow.rb:105:15:105:23 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:105:1:105:49 | synthetic splat argument | -| params_flow.rb:105:15:105:23 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:105:15:105:23 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:105:1:105:49 | synthetic splat argument | | params_flow.rb:105:15:105:23 | synthetic splat argument | type tracker without call steps | params_flow.rb:105:15:105:23 | synthetic splat argument | | params_flow.rb:105:21:105:22 | 52 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:105:21:105:22 | 52 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:105:21:105:22 | 52 | type tracker with call steps | params_flow.rb:98:19:98:19 | a | -| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content splat position 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | -| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content splat position 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | +| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content element 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content element 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | | params_flow.rb:105:21:105:22 | 52 | type tracker without call steps | params_flow.rb:105:15:105:23 | call to taint | | params_flow.rb:105:21:105:22 | 52 | type tracker without call steps | params_flow.rb:105:21:105:22 | 52 | -| params_flow.rb:105:21:105:22 | 52 | type tracker without call steps with content splat position 0 | params_flow.rb:105:1:105:49 | synthetic splat argument | -| params_flow.rb:105:21:105:22 | 52 | type tracker without call steps with content splat position 0 | params_flow.rb:105:15:105:23 | synthetic splat argument | +| params_flow.rb:105:21:105:22 | 52 | type tracker without call steps with content element 0 | params_flow.rb:105:1:105:49 | synthetic splat argument | +| params_flow.rb:105:21:105:22 | 52 | type tracker without call steps with content element 0 | params_flow.rb:105:15:105:23 | synthetic splat argument | | params_flow.rb:105:26:105:48 | * ... | type tracker without call steps | params_flow.rb:105:26:105:48 | * ... | | params_flow.rb:105:27:105:48 | Array | type tracker without call steps | params_flow.rb:105:27:105:48 | Array | -| params_flow.rb:105:27:105:48 | call to [] | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:105:27:105:48 | call to [] | type tracker with call steps with content element 1 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:27:105:48 | call to [] | type tracker without call steps | params_flow.rb:105:27:105:48 | call to [] | | params_flow.rb:105:27:105:48 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:105:26:105:48 | * ... | -| params_flow.rb:105:27:105:48 | call to [] | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:105:1:105:49 | synthetic splat argument | -| params_flow.rb:105:27:105:48 | synthetic splat argument | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:105:27:105:48 | call to [] | type tracker without call steps with content element 1 | params_flow.rb:105:1:105:49 | synthetic splat argument | +| params_flow.rb:105:27:105:48 | synthetic splat argument | type tracker with call steps with content element 1 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:27:105:48 | synthetic splat argument | type tracker without call steps | params_flow.rb:105:27:105:48 | call to [] | | params_flow.rb:105:27:105:48 | synthetic splat argument | type tracker without call steps | params_flow.rb:105:27:105:48 | synthetic splat argument | | params_flow.rb:105:27:105:48 | synthetic splat argument | type tracker without call steps with content element 0 or unknown | params_flow.rb:105:26:105:48 | * ... | -| params_flow.rb:105:27:105:48 | synthetic splat argument | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:105:1:105:49 | synthetic splat argument | -| params_flow.rb:105:28:105:36 | call to taint | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:105:27:105:48 | synthetic splat argument | type tracker without call steps with content element 1 | params_flow.rb:105:1:105:49 | synthetic splat argument | +| params_flow.rb:105:28:105:36 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:28:105:36 | call to taint | type tracker without call steps | params_flow.rb:105:28:105:36 | call to taint | | params_flow.rb:105:28:105:36 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:105:26:105:48 | * ... | | params_flow.rb:105:28:105:36 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:105:27:105:48 | call to [] | | params_flow.rb:105:28:105:36 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:105:27:105:48 | synthetic splat argument | -| params_flow.rb:105:28:105:36 | call to taint | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:105:1:105:49 | synthetic splat argument | -| params_flow.rb:105:28:105:36 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:105:28:105:36 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:105:1:105:49 | synthetic splat argument | | params_flow.rb:105:28:105:36 | synthetic splat argument | type tracker without call steps | params_flow.rb:105:28:105:36 | synthetic splat argument | | params_flow.rb:105:34:105:35 | 53 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:105:34:105:35 | 53 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:105:34:105:35 | 53 | type tracker with call steps with content splat position 1 (shifted) | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:105:34:105:35 | 53 | type tracker with call steps with content element 1 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:34:105:35 | 53 | type tracker without call steps | params_flow.rb:105:28:105:36 | call to taint | | params_flow.rb:105:34:105:35 | 53 | type tracker without call steps | params_flow.rb:105:34:105:35 | 53 | | params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content element 0 | params_flow.rb:105:26:105:48 | * ... | | params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content element 0 | params_flow.rb:105:27:105:48 | call to [] | | params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content element 0 | params_flow.rb:105:27:105:48 | synthetic splat argument | -| params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content splat position 0 | params_flow.rb:105:28:105:36 | synthetic splat argument | -| params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content splat position 1 (shifted) | params_flow.rb:105:1:105:49 | synthetic splat argument | -| params_flow.rb:105:39:105:47 | call to taint | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content element 0 | params_flow.rb:105:28:105:36 | synthetic splat argument | +| params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content element 1 | params_flow.rb:105:1:105:49 | synthetic splat argument | +| params_flow.rb:105:39:105:47 | call to taint | type tracker with call steps with content element 2 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:39:105:47 | call to taint | type tracker without call steps | params_flow.rb:105:39:105:47 | call to taint | | params_flow.rb:105:39:105:47 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:105:26:105:48 | * ... | | params_flow.rb:105:39:105:47 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:105:27:105:48 | call to [] | | params_flow.rb:105:39:105:47 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:105:27:105:48 | synthetic splat argument | -| params_flow.rb:105:39:105:47 | call to taint | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:105:1:105:49 | synthetic splat argument | -| params_flow.rb:105:39:105:47 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:105:39:105:47 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:105:1:105:49 | synthetic splat argument | | params_flow.rb:105:39:105:47 | synthetic splat argument | type tracker without call steps | params_flow.rb:105:39:105:47 | synthetic splat argument | | params_flow.rb:105:45:105:46 | 54 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:105:45:105:46 | 54 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:105:45:105:46 | 54 | type tracker with call steps with content splat position 2 (shifted) | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:105:45:105:46 | 54 | type tracker with call steps with content element 2 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:45:105:46 | 54 | type tracker without call steps | params_flow.rb:105:39:105:47 | call to taint | | params_flow.rb:105:45:105:46 | 54 | type tracker without call steps | params_flow.rb:105:45:105:46 | 54 | +| params_flow.rb:105:45:105:46 | 54 | type tracker without call steps with content element 0 | params_flow.rb:105:39:105:47 | synthetic splat argument | | params_flow.rb:105:45:105:46 | 54 | type tracker without call steps with content element 1 | params_flow.rb:105:26:105:48 | * ... | | params_flow.rb:105:45:105:46 | 54 | type tracker without call steps with content element 1 | params_flow.rb:105:27:105:48 | call to [] | | params_flow.rb:105:45:105:46 | 54 | type tracker without call steps with content element 1 | params_flow.rb:105:27:105:48 | synthetic splat argument | -| params_flow.rb:105:45:105:46 | 54 | type tracker without call steps with content splat position 0 | params_flow.rb:105:39:105:47 | synthetic splat argument | -| params_flow.rb:105:45:105:46 | 54 | type tracker without call steps with content splat position 2 (shifted) | params_flow.rb:105:1:105:49 | synthetic splat argument | +| params_flow.rb:105:45:105:46 | 54 | type tracker without call steps with content element 2 | params_flow.rb:105:1:105:49 | synthetic splat argument | | params_flow.rb:106:1:106:46 | call to splatmidsmall | type tracker without call steps | params_flow.rb:106:1:106:46 | call to splatmidsmall | | params_flow.rb:106:1:106:46 | synthetic splat argument | type tracker with call steps | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:106:1:106:46 | synthetic splat argument | type tracker without call steps | params_flow.rb:106:1:106:46 | synthetic splat argument | | params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps | params_flow.rb:98:19:98:19 | a | -| params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | -| params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | +| params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:106:15:106:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | | params_flow.rb:106:15:106:23 | call to taint | type tracker without call steps | params_flow.rb:106:15:106:23 | call to taint | -| params_flow.rb:106:15:106:23 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:106:1:106:46 | synthetic splat argument | -| params_flow.rb:106:15:106:23 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:106:15:106:23 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:106:1:106:46 | synthetic splat argument | | params_flow.rb:106:15:106:23 | synthetic splat argument | type tracker without call steps | params_flow.rb:106:15:106:23 | synthetic splat argument | | params_flow.rb:106:21:106:22 | 55 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:106:21:106:22 | 55 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:106:21:106:22 | 55 | type tracker with call steps | params_flow.rb:98:19:98:19 | a | -| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content splat position 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | -| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content splat position 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | +| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content element 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:106:21:106:22 | 55 | type tracker with call steps with content element 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | | params_flow.rb:106:21:106:22 | 55 | type tracker without call steps | params_flow.rb:106:15:106:23 | call to taint | | params_flow.rb:106:21:106:22 | 55 | type tracker without call steps | params_flow.rb:106:21:106:22 | 55 | -| params_flow.rb:106:21:106:22 | 55 | type tracker without call steps with content splat position 0 | params_flow.rb:106:1:106:46 | synthetic splat argument | -| params_flow.rb:106:21:106:22 | 55 | type tracker without call steps with content splat position 0 | params_flow.rb:106:15:106:23 | synthetic splat argument | -| params_flow.rb:106:26:106:34 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:106:21:106:22 | 55 | type tracker without call steps with content element 0 | params_flow.rb:106:1:106:46 | synthetic splat argument | +| params_flow.rb:106:21:106:22 | 55 | type tracker without call steps with content element 0 | params_flow.rb:106:15:106:23 | synthetic splat argument | +| params_flow.rb:106:26:106:34 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:106:26:106:34 | call to taint | type tracker without call steps | params_flow.rb:106:26:106:34 | call to taint | -| params_flow.rb:106:26:106:34 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:106:1:106:46 | synthetic splat argument | -| params_flow.rb:106:26:106:34 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:106:26:106:34 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:106:1:106:46 | synthetic splat argument | | params_flow.rb:106:26:106:34 | synthetic splat argument | type tracker without call steps | params_flow.rb:106:26:106:34 | synthetic splat argument | | params_flow.rb:106:32:106:33 | 56 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:106:32:106:33 | 56 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:106:32:106:33 | 56 | type tracker with call steps with content splat position 1 | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:106:32:106:33 | 56 | type tracker with call steps with content element 1 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:106:32:106:33 | 56 | type tracker without call steps | params_flow.rb:106:26:106:34 | call to taint | | params_flow.rb:106:32:106:33 | 56 | type tracker without call steps | params_flow.rb:106:32:106:33 | 56 | -| params_flow.rb:106:32:106:33 | 56 | type tracker without call steps with content splat position 0 | params_flow.rb:106:26:106:34 | synthetic splat argument | -| params_flow.rb:106:32:106:33 | 56 | type tracker without call steps with content splat position 1 | params_flow.rb:106:1:106:46 | synthetic splat argument | +| params_flow.rb:106:32:106:33 | 56 | type tracker without call steps with content element 0 | params_flow.rb:106:26:106:34 | synthetic splat argument | +| params_flow.rb:106:32:106:33 | 56 | type tracker without call steps with content element 1 | params_flow.rb:106:1:106:46 | synthetic splat argument | | params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:102:5:102:10 | synthetic splat argument | -| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content splat position 2 | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:102:5:102:10 | synthetic splat argument | +| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content element 2 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:106:37:106:45 | call to taint | type tracker without call steps | params_flow.rb:106:37:106:45 | call to taint | -| params_flow.rb:106:37:106:45 | call to taint | type tracker without call steps with content splat position 2 | params_flow.rb:106:1:106:46 | synthetic splat argument | -| params_flow.rb:106:37:106:45 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:106:37:106:45 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:106:1:106:46 | synthetic splat argument | | params_flow.rb:106:37:106:45 | synthetic splat argument | type tracker without call steps | params_flow.rb:106:37:106:45 | synthetic splat argument | | params_flow.rb:106:43:106:44 | 57 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:106:43:106:44 | 57 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:106:43:106:44 | 57 | type tracker with call steps | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content splat position 0 | params_flow.rb:102:5:102:10 | synthetic splat argument | -| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content splat position 2 | params_flow.rb:98:1:103:3 | synthetic splat parameter | +| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content element 0 | params_flow.rb:102:5:102:10 | synthetic splat argument | +| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content element 2 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:106:43:106:44 | 57 | type tracker without call steps | params_flow.rb:106:37:106:45 | call to taint | | params_flow.rb:106:43:106:44 | 57 | type tracker without call steps | params_flow.rb:106:43:106:44 | 57 | -| params_flow.rb:106:43:106:44 | 57 | type tracker without call steps with content splat position 0 | params_flow.rb:106:37:106:45 | synthetic splat argument | -| params_flow.rb:106:43:106:44 | 57 | type tracker without call steps with content splat position 2 | params_flow.rb:106:1:106:46 | synthetic splat argument | +| params_flow.rb:106:43:106:44 | 57 | type tracker without call steps with content element 0 | params_flow.rb:106:37:106:45 | synthetic splat argument | +| params_flow.rb:106:43:106:44 | 57 | type tracker without call steps with content element 2 | params_flow.rb:106:1:106:46 | synthetic splat argument | | params_flow.rb:108:1:112:3 | &block | type tracker without call steps | params_flow.rb:108:1:112:3 | &block | | params_flow.rb:108:1:112:3 | self in splat_followed_by_keyword_param | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:108:1:112:3 | self in splat_followed_by_keyword_param | type tracker without call steps | params_flow.rb:108:1:112:3 | self in splat_followed_by_keyword_param | @@ -2492,36 +2182,30 @@ track | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | type tracker without call steps | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | | params_flow.rb:108:1:112:3 | synthetic splat parameter | type tracker without call steps | params_flow.rb:108:1:112:3 | synthetic splat parameter | | params_flow.rb:108:37:108:37 | a | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:108:37:108:37 | a | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:108:37:108:37 | a | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:108:37:108:37 | a | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:108:37:108:37 | a | type tracker without call steps | params_flow.rb:108:37:108:37 | a | | params_flow.rb:108:37:108:37 | a | type tracker without call steps | params_flow.rb:108:37:108:37 | a | -| params_flow.rb:108:37:108:37 | a | type tracker without call steps with content splat position 0 | params_flow.rb:109:5:109:10 | synthetic splat argument | +| params_flow.rb:108:37:108:37 | a | type tracker without call steps with content element 0 | params_flow.rb:109:5:109:10 | synthetic splat argument | | params_flow.rb:108:40:108:41 | *b | type tracker without call steps | params_flow.rb:108:40:108:41 | *b | | params_flow.rb:108:41:108:41 | b | type tracker without call steps | params_flow.rb:108:41:108:41 | b | | params_flow.rb:108:44:108:44 | c | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:108:44:108:44 | c | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:108:44:108:44 | c | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:108:44:108:44 | c | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:108:44:108:44 | c | type tracker without call steps | params_flow.rb:108:44:108:44 | c | | params_flow.rb:108:44:108:44 | c | type tracker without call steps | params_flow.rb:108:44:108:44 | c | -| params_flow.rb:108:44:108:44 | c | type tracker without call steps with content splat position 0 | params_flow.rb:111:5:111:10 | synthetic splat argument | +| params_flow.rb:108:44:108:44 | c | type tracker without call steps with content element 0 | params_flow.rb:111:5:111:10 | synthetic splat argument | | params_flow.rb:109:5:109:10 | call to sink | type tracker without call steps | params_flow.rb:109:5:109:10 | call to sink | -| params_flow.rb:109:5:109:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:109:5:109:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:109:5:109:10 | synthetic splat argument | | params_flow.rb:110:5:110:13 | call to sink | type tracker without call steps | params_flow.rb:110:5:110:13 | call to sink | -| params_flow.rb:110:5:110:13 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:110:5:110:13 | synthetic splat argument | type tracker without call steps | params_flow.rb:110:5:110:13 | synthetic splat argument | | params_flow.rb:110:10:110:13 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:110:10:110:13 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:110:10:110:13 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:110:10:110:13 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:110:10:110:13 | ...[...] | type tracker without call steps | params_flow.rb:110:10:110:13 | ...[...] | -| params_flow.rb:110:10:110:13 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:110:5:110:13 | synthetic splat argument | +| params_flow.rb:110:10:110:13 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:110:5:110:13 | synthetic splat argument | | params_flow.rb:110:10:110:13 | synthetic splat argument | type tracker without call steps | params_flow.rb:110:10:110:13 | synthetic splat argument | | params_flow.rb:110:12:110:12 | 0 | type tracker without call steps | params_flow.rb:110:12:110:12 | 0 | -| params_flow.rb:110:12:110:12 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:110:10:110:13 | synthetic splat argument | +| params_flow.rb:110:12:110:12 | 0 | type tracker without call steps with content element 0 | params_flow.rb:110:10:110:13 | synthetic splat argument | | params_flow.rb:111:5:111:10 | call to sink | type tracker without call steps | params_flow.rb:111:5:111:10 | call to sink | | params_flow.rb:111:5:111:10 | call to sink | type tracker without call steps | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | -| params_flow.rb:111:5:111:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:111:5:111:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:111:5:111:10 | synthetic splat argument | | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | type tracker without call steps | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | @@ -2530,129 +2214,111 @@ track | params_flow.rb:114:1:114:67 | synthetic splat argument | type tracker without call steps | params_flow.rb:114:1:114:67 | synthetic splat argument | | params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps | params_flow.rb:108:37:108:37 | a | -| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:108:1:112:3 | synthetic splat parameter | -| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:109:5:109:10 | synthetic splat argument | +| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:108:1:112:3 | synthetic splat parameter | +| params_flow.rb:114:33:114:41 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:109:5:109:10 | synthetic splat argument | | params_flow.rb:114:33:114:41 | call to taint | type tracker without call steps | params_flow.rb:114:33:114:41 | call to taint | -| params_flow.rb:114:33:114:41 | call to taint | type tracker without call steps with content splat position 0 | params_flow.rb:114:1:114:67 | synthetic splat argument | -| params_flow.rb:114:33:114:41 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:114:33:114:41 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:114:1:114:67 | synthetic splat argument | | params_flow.rb:114:33:114:41 | synthetic splat argument | type tracker without call steps | params_flow.rb:114:33:114:41 | synthetic splat argument | | params_flow.rb:114:39:114:40 | 58 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:114:39:114:40 | 58 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:114:39:114:40 | 58 | type tracker with call steps | params_flow.rb:108:37:108:37 | a | -| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content splat position 0 | params_flow.rb:108:1:112:3 | synthetic splat parameter | -| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content splat position 0 | params_flow.rb:109:5:109:10 | synthetic splat argument | +| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content element 0 | params_flow.rb:108:1:112:3 | synthetic splat parameter | +| params_flow.rb:114:39:114:40 | 58 | type tracker with call steps with content element 0 | params_flow.rb:109:5:109:10 | synthetic splat argument | | params_flow.rb:114:39:114:40 | 58 | type tracker without call steps | params_flow.rb:114:33:114:41 | call to taint | | params_flow.rb:114:39:114:40 | 58 | type tracker without call steps | params_flow.rb:114:39:114:40 | 58 | -| params_flow.rb:114:39:114:40 | 58 | type tracker without call steps with content splat position 0 | params_flow.rb:114:1:114:67 | synthetic splat argument | -| params_flow.rb:114:39:114:40 | 58 | type tracker without call steps with content splat position 0 | params_flow.rb:114:33:114:41 | synthetic splat argument | +| params_flow.rb:114:39:114:40 | 58 | type tracker without call steps with content element 0 | params_flow.rb:114:1:114:67 | synthetic splat argument | +| params_flow.rb:114:39:114:40 | 58 | type tracker without call steps with content element 0 | params_flow.rb:114:33:114:41 | synthetic splat argument | | params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps | params_flow.rb:110:10:110:13 | ...[...] | +| params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:108:40:108:41 | *b | -| params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:110:5:110:13 | synthetic splat argument | -| params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:108:1:112:3 | synthetic splat parameter | +| params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:110:5:110:13 | synthetic splat argument | +| params_flow.rb:114:44:114:52 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:108:1:112:3 | synthetic splat parameter | | params_flow.rb:114:44:114:52 | call to taint | type tracker without call steps | params_flow.rb:114:44:114:52 | call to taint | -| params_flow.rb:114:44:114:52 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:114:1:114:67 | synthetic splat argument | -| params_flow.rb:114:44:114:52 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:114:44:114:52 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:114:1:114:67 | synthetic splat argument | | params_flow.rb:114:44:114:52 | synthetic splat argument | type tracker without call steps | params_flow.rb:114:44:114:52 | synthetic splat argument | | params_flow.rb:114:50:114:51 | 59 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:114:50:114:51 | 59 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:114:50:114:51 | 59 | type tracker with call steps | params_flow.rb:110:10:110:13 | ...[...] | +| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content element 0 | params_flow.rb:108:40:108:41 | *b | -| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content splat position 0 | params_flow.rb:110:5:110:13 | synthetic splat argument | -| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content splat position 1 | params_flow.rb:108:1:112:3 | synthetic splat parameter | +| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content element 0 | params_flow.rb:110:5:110:13 | synthetic splat argument | +| params_flow.rb:114:50:114:51 | 59 | type tracker with call steps with content element 1 | params_flow.rb:108:1:112:3 | synthetic splat parameter | | params_flow.rb:114:50:114:51 | 59 | type tracker without call steps | params_flow.rb:114:44:114:52 | call to taint | | params_flow.rb:114:50:114:51 | 59 | type tracker without call steps | params_flow.rb:114:50:114:51 | 59 | -| params_flow.rb:114:50:114:51 | 59 | type tracker without call steps with content splat position 0 | params_flow.rb:114:44:114:52 | synthetic splat argument | -| params_flow.rb:114:50:114:51 | 59 | type tracker without call steps with content splat position 1 | params_flow.rb:114:1:114:67 | synthetic splat argument | +| params_flow.rb:114:50:114:51 | 59 | type tracker without call steps with content element 0 | params_flow.rb:114:44:114:52 | synthetic splat argument | +| params_flow.rb:114:50:114:51 | 59 | type tracker without call steps with content element 1 | params_flow.rb:114:1:114:67 | synthetic splat argument | | params_flow.rb:114:55:114:55 | :c | type tracker without call steps | params_flow.rb:114:55:114:55 | :c | | params_flow.rb:114:55:114:66 | Pair | type tracker without call steps | params_flow.rb:114:55:114:66 | Pair | | params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps | params_flow.rb:108:44:108:44 | c | +| params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:111:5:111:10 | synthetic splat argument | | params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps with content hash-splat position :c | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | -| params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:111:5:111:10 | synthetic splat argument | | params_flow.rb:114:58:114:66 | call to taint | type tracker without call steps | params_flow.rb:114:58:114:66 | call to taint | | params_flow.rb:114:58:114:66 | call to taint | type tracker without call steps with content hash-splat position :c | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | -| params_flow.rb:114:58:114:66 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:114:58:114:66 | synthetic splat argument | type tracker without call steps | params_flow.rb:114:58:114:66 | synthetic splat argument | | params_flow.rb:114:64:114:65 | 60 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:114:64:114:65 | 60 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:114:64:114:65 | 60 | type tracker with call steps | params_flow.rb:108:44:108:44 | c | +| params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content element 0 | params_flow.rb:111:5:111:10 | synthetic splat argument | | params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content hash-splat position :c | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | -| params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content splat position 0 | params_flow.rb:111:5:111:10 | synthetic splat argument | | params_flow.rb:114:64:114:65 | 60 | type tracker without call steps | params_flow.rb:114:58:114:66 | call to taint | | params_flow.rb:114:64:114:65 | 60 | type tracker without call steps | params_flow.rb:114:64:114:65 | 60 | +| params_flow.rb:114:64:114:65 | 60 | type tracker without call steps with content element 0 | params_flow.rb:114:58:114:66 | synthetic splat argument | | params_flow.rb:114:64:114:65 | 60 | type tracker without call steps with content hash-splat position :c | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | -| params_flow.rb:114:64:114:65 | 60 | type tracker without call steps with content splat position 0 | params_flow.rb:114:58:114:66 | synthetic splat argument | | params_flow.rb:116:1:116:1 | x | type tracker without call steps | params_flow.rb:116:1:116:1 | x | | params_flow.rb:116:5:116:6 | Array | type tracker without call steps | params_flow.rb:116:5:116:6 | Array | | params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | +| params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps with content element 0 or unknown | params_flow.rb:9:1:12:3 | synthetic splat parameter | -| params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:116:5:116:6 | call to [] | type tracker without call steps | params_flow.rb:116:5:116:6 | call to [] | | params_flow.rb:116:5:116:6 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:118:12:118:13 | * ... | | params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | +| params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps with content element 0 or unknown | params_flow.rb:9:1:12:3 | synthetic splat parameter | -| params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:117:1:117:1 | [post] x | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:117:1:117:1 | [post] x | type tracker without call steps | params_flow.rb:117:1:117:1 | [post] x | | params_flow.rb:117:1:117:1 | [post] x | type tracker without call steps with content element 0 or unknown | params_flow.rb:118:12:118:13 | * ... | | params_flow.rb:117:1:117:15 | call to []= | type tracker without call steps | params_flow.rb:117:1:117:15 | call to []= | | params_flow.rb:117:1:117:15 | synthetic splat argument | type tracker without call steps | params_flow.rb:117:1:117:15 | synthetic splat argument | | params_flow.rb:117:3:117:14 | call to some_index | type tracker without call steps | params_flow.rb:117:3:117:14 | call to some_index | -| params_flow.rb:117:3:117:14 | call to some_index | type tracker without call steps with content splat position 0 | params_flow.rb:117:1:117:15 | synthetic splat argument | +| params_flow.rb:117:3:117:14 | call to some_index | type tracker without call steps with content element 0 | params_flow.rb:117:1:117:15 | synthetic splat argument | | params_flow.rb:117:19:117:27 | __synth__0 | type tracker without call steps | params_flow.rb:117:19:117:27 | __synth__0 | | params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | | params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | | params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content element | params_flow.rb:9:1:12:3 | synthetic splat parameter | -| params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | -| params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | +| params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | +| params_flow.rb:117:19:117:27 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:117:19:117:27 | call to taint | type tracker without call steps | params_flow.rb:117:19:117:27 | call to taint | | params_flow.rb:117:19:117:27 | call to taint | type tracker without call steps with content attribute [] | params_flow.rb:117:1:117:1 | [post] x | | params_flow.rb:117:19:117:27 | call to taint | type tracker without call steps with content element | params_flow.rb:117:1:117:1 | [post] x | | params_flow.rb:117:19:117:27 | call to taint | type tracker without call steps with content element | params_flow.rb:118:12:118:13 | * ... | -| params_flow.rb:117:19:117:27 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:117:1:117:15 | synthetic splat argument | -| params_flow.rb:117:19:117:27 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:117:19:117:27 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:117:1:117:15 | synthetic splat argument | | params_flow.rb:117:19:117:27 | synthetic splat argument | type tracker without call steps | params_flow.rb:117:19:117:27 | synthetic splat argument | | params_flow.rb:117:25:117:26 | 61 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:117:25:117:26 | 61 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:117:25:117:26 | 61 | type tracker with call steps | params_flow.rb:9:16:9:17 | p1 | | params_flow.rb:117:25:117:26 | 61 | type tracker with call steps | params_flow.rb:9:20:9:21 | p2 | | params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content element | params_flow.rb:9:1:12:3 | synthetic splat parameter | -| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content splat position 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | -| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content splat position 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | +| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content element 0 | params_flow.rb:10:5:10:11 | synthetic splat argument | +| params_flow.rb:117:25:117:26 | 61 | type tracker with call steps with content element 0 | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:117:25:117:26 | 61 | type tracker without call steps | params_flow.rb:117:19:117:27 | call to taint | | params_flow.rb:117:25:117:26 | 61 | type tracker without call steps | params_flow.rb:117:25:117:26 | 61 | | params_flow.rb:117:25:117:26 | 61 | type tracker without call steps with content attribute [] | params_flow.rb:117:1:117:1 | [post] x | | params_flow.rb:117:25:117:26 | 61 | type tracker without call steps with content element | params_flow.rb:117:1:117:1 | [post] x | | params_flow.rb:117:25:117:26 | 61 | type tracker without call steps with content element | params_flow.rb:118:12:118:13 | * ... | -| params_flow.rb:117:25:117:26 | 61 | type tracker without call steps with content splat position 0 | params_flow.rb:117:19:117:27 | synthetic splat argument | -| params_flow.rb:117:25:117:26 | 61 | type tracker without call steps with content splat position 1 | params_flow.rb:117:1:117:15 | synthetic splat argument | +| params_flow.rb:117:25:117:26 | 61 | type tracker without call steps with content element 0 | params_flow.rb:117:19:117:27 | synthetic splat argument | +| params_flow.rb:117:25:117:26 | 61 | type tracker without call steps with content element 1 | params_flow.rb:117:1:117:15 | synthetic splat argument | | params_flow.rb:118:1:118:14 | call to positional | type tracker without call steps | params_flow.rb:118:1:118:14 | call to positional | | params_flow.rb:118:12:118:13 | * ... | type tracker with call steps | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:118:12:118:13 | * ... | type tracker without call steps | params_flow.rb:118:12:118:13 | * ... | @@ -2661,101 +2327,85 @@ track | params_flow.rb:120:1:126:3 | self in destruct | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:120:1:126:3 | self in destruct | type tracker without call steps | params_flow.rb:120:1:126:3 | self in destruct | | params_flow.rb:120:15:120:15 | a | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:120:15:120:15 | a | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:120:15:120:15 | a | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:120:15:120:15 | a | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:120:15:120:15 | a | type tracker without call steps | params_flow.rb:120:15:120:15 | a | | params_flow.rb:120:15:120:15 | a | type tracker without call steps | params_flow.rb:120:15:120:15 | a | -| params_flow.rb:120:15:120:15 | a | type tracker without call steps with content splat position 0 | params_flow.rb:121:5:121:10 | synthetic splat argument | +| params_flow.rb:120:15:120:15 | a | type tracker without call steps with content element 0 | params_flow.rb:121:5:121:10 | synthetic splat argument | | params_flow.rb:120:17:120:17 | b | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:120:17:120:17 | b | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:120:17:120:17 | b | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:120:17:120:17 | b | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:120:17:120:17 | b | type tracker without call steps | params_flow.rb:120:17:120:17 | b | | params_flow.rb:120:17:120:17 | b | type tracker without call steps | params_flow.rb:120:17:120:17 | b | -| params_flow.rb:120:17:120:17 | b | type tracker without call steps with content splat position 0 | params_flow.rb:122:5:122:10 | synthetic splat argument | +| params_flow.rb:120:17:120:17 | b | type tracker without call steps with content element 0 | params_flow.rb:122:5:122:10 | synthetic splat argument | | params_flow.rb:120:22:120:22 | c | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:120:22:120:22 | c | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:120:22:120:22 | c | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:120:22:120:22 | c | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:120:22:120:22 | c | type tracker without call steps | params_flow.rb:120:22:120:22 | c | | params_flow.rb:120:22:120:22 | c | type tracker without call steps | params_flow.rb:120:22:120:22 | c | -| params_flow.rb:120:22:120:22 | c | type tracker without call steps with content splat position 0 | params_flow.rb:123:5:123:10 | synthetic splat argument | +| params_flow.rb:120:22:120:22 | c | type tracker without call steps with content element 0 | params_flow.rb:123:5:123:10 | synthetic splat argument | | params_flow.rb:120:25:120:25 | d | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:120:25:120:25 | d | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:120:25:120:25 | d | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:120:25:120:25 | d | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:120:25:120:25 | d | type tracker without call steps | params_flow.rb:120:25:120:25 | d | | params_flow.rb:120:25:120:25 | d | type tracker without call steps | params_flow.rb:120:25:120:25 | d | -| params_flow.rb:120:25:120:25 | d | type tracker without call steps with content splat position 0 | params_flow.rb:124:5:124:10 | synthetic splat argument | +| params_flow.rb:120:25:120:25 | d | type tracker without call steps with content element 0 | params_flow.rb:124:5:124:10 | synthetic splat argument | | params_flow.rb:120:27:120:27 | e | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:120:27:120:27 | e | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:120:27:120:27 | e | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:120:27:120:27 | e | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:120:27:120:27 | e | type tracker without call steps | params_flow.rb:120:27:120:27 | e | | params_flow.rb:120:27:120:27 | e | type tracker without call steps | params_flow.rb:120:27:120:27 | e | -| params_flow.rb:120:27:120:27 | e | type tracker without call steps with content splat position 0 | params_flow.rb:125:5:125:10 | synthetic splat argument | +| params_flow.rb:120:27:120:27 | e | type tracker without call steps with content element 0 | params_flow.rb:125:5:125:10 | synthetic splat argument | | params_flow.rb:121:5:121:10 | call to sink | type tracker without call steps | params_flow.rb:121:5:121:10 | call to sink | -| params_flow.rb:121:5:121:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:121:5:121:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:121:5:121:10 | synthetic splat argument | | params_flow.rb:122:5:122:10 | call to sink | type tracker without call steps | params_flow.rb:122:5:122:10 | call to sink | -| params_flow.rb:122:5:122:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:122:5:122:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:122:5:122:10 | synthetic splat argument | | params_flow.rb:123:5:123:10 | call to sink | type tracker without call steps | params_flow.rb:123:5:123:10 | call to sink | -| params_flow.rb:123:5:123:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:123:5:123:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:123:5:123:10 | synthetic splat argument | | params_flow.rb:124:5:124:10 | call to sink | type tracker without call steps | params_flow.rb:124:5:124:10 | call to sink | -| params_flow.rb:124:5:124:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:124:5:124:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:124:5:124:10 | synthetic splat argument | | params_flow.rb:125:5:125:10 | call to sink | type tracker without call steps | params_flow.rb:125:5:125:10 | call to sink | | params_flow.rb:125:5:125:10 | call to sink | type tracker without call steps | params_flow.rb:128:1:128:61 | call to destruct | -| params_flow.rb:125:5:125:10 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:125:5:125:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:125:5:125:10 | synthetic splat argument | | params_flow.rb:128:1:128:61 | call to destruct | type tracker without call steps | params_flow.rb:128:1:128:61 | call to destruct | | params_flow.rb:128:1:128:61 | synthetic splat argument | type tracker without call steps | params_flow.rb:128:1:128:61 | synthetic splat argument | | params_flow.rb:128:10:128:31 | Array | type tracker without call steps | params_flow.rb:128:10:128:31 | Array | | params_flow.rb:128:10:128:31 | call to [] | type tracker without call steps | params_flow.rb:128:10:128:31 | call to [] | -| params_flow.rb:128:10:128:31 | call to [] | type tracker without call steps with content splat position 0 | params_flow.rb:128:1:128:61 | synthetic splat argument | +| params_flow.rb:128:10:128:31 | call to [] | type tracker without call steps with content element 0 | params_flow.rb:128:1:128:61 | synthetic splat argument | | params_flow.rb:128:10:128:31 | synthetic splat argument | type tracker without call steps | params_flow.rb:128:10:128:31 | call to [] | | params_flow.rb:128:10:128:31 | synthetic splat argument | type tracker without call steps | params_flow.rb:128:10:128:31 | synthetic splat argument | -| params_flow.rb:128:10:128:31 | synthetic splat argument | type tracker without call steps with content splat position 0 | params_flow.rb:128:1:128:61 | synthetic splat argument | +| params_flow.rb:128:10:128:31 | synthetic splat argument | type tracker without call steps with content element 0 | params_flow.rb:128:1:128:61 | synthetic splat argument | | params_flow.rb:128:11:128:19 | call to taint | type tracker without call steps | params_flow.rb:128:11:128:19 | call to taint | | params_flow.rb:128:11:128:19 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:128:10:128:31 | call to [] | | params_flow.rb:128:11:128:19 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:128:10:128:31 | synthetic splat argument | -| params_flow.rb:128:11:128:19 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:128:11:128:19 | synthetic splat argument | type tracker without call steps | params_flow.rb:128:11:128:19 | synthetic splat argument | | params_flow.rb:128:17:128:18 | 62 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:128:17:128:18 | 62 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:128:17:128:18 | 62 | type tracker without call steps | params_flow.rb:128:11:128:19 | call to taint | | params_flow.rb:128:17:128:18 | 62 | type tracker without call steps | params_flow.rb:128:17:128:18 | 62 | | params_flow.rb:128:17:128:18 | 62 | type tracker without call steps with content element 0 | params_flow.rb:128:10:128:31 | call to [] | | params_flow.rb:128:17:128:18 | 62 | type tracker without call steps with content element 0 | params_flow.rb:128:10:128:31 | synthetic splat argument | -| params_flow.rb:128:17:128:18 | 62 | type tracker without call steps with content splat position 0 | params_flow.rb:128:11:128:19 | synthetic splat argument | +| params_flow.rb:128:17:128:18 | 62 | type tracker without call steps with content element 0 | params_flow.rb:128:11:128:19 | synthetic splat argument | | params_flow.rb:128:22:128:30 | call to taint | type tracker without call steps | params_flow.rb:128:22:128:30 | call to taint | | params_flow.rb:128:22:128:30 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:128:10:128:31 | call to [] | | params_flow.rb:128:22:128:30 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:128:10:128:31 | synthetic splat argument | -| params_flow.rb:128:22:128:30 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:128:22:128:30 | synthetic splat argument | type tracker without call steps | params_flow.rb:128:22:128:30 | synthetic splat argument | | params_flow.rb:128:28:128:29 | 63 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:128:28:128:29 | 63 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:128:28:128:29 | 63 | type tracker without call steps | params_flow.rb:128:22:128:30 | call to taint | | params_flow.rb:128:28:128:29 | 63 | type tracker without call steps | params_flow.rb:128:28:128:29 | 63 | +| params_flow.rb:128:28:128:29 | 63 | type tracker without call steps with content element 0 | params_flow.rb:128:22:128:30 | synthetic splat argument | | params_flow.rb:128:28:128:29 | 63 | type tracker without call steps with content element 1 | params_flow.rb:128:10:128:31 | call to [] | | params_flow.rb:128:28:128:29 | 63 | type tracker without call steps with content element 1 | params_flow.rb:128:10:128:31 | synthetic splat argument | -| params_flow.rb:128:28:128:29 | 63 | type tracker without call steps with content splat position 0 | params_flow.rb:128:22:128:30 | synthetic splat argument | | params_flow.rb:128:34:128:60 | Array | type tracker without call steps | params_flow.rb:128:34:128:60 | Array | | params_flow.rb:128:34:128:60 | call to [] | type tracker without call steps | params_flow.rb:128:34:128:60 | call to [] | -| params_flow.rb:128:34:128:60 | call to [] | type tracker without call steps with content splat position 1 | params_flow.rb:128:1:128:61 | synthetic splat argument | +| params_flow.rb:128:34:128:60 | call to [] | type tracker without call steps with content element 1 | params_flow.rb:128:1:128:61 | synthetic splat argument | | params_flow.rb:128:34:128:60 | synthetic splat argument | type tracker without call steps | params_flow.rb:128:34:128:60 | call to [] | | params_flow.rb:128:34:128:60 | synthetic splat argument | type tracker without call steps | params_flow.rb:128:34:128:60 | synthetic splat argument | -| params_flow.rb:128:34:128:60 | synthetic splat argument | type tracker without call steps with content splat position 1 | params_flow.rb:128:1:128:61 | synthetic splat argument | +| params_flow.rb:128:34:128:60 | synthetic splat argument | type tracker without call steps with content element 1 | params_flow.rb:128:1:128:61 | synthetic splat argument | | params_flow.rb:128:35:128:43 | call to taint | type tracker without call steps | params_flow.rb:128:35:128:43 | call to taint | | params_flow.rb:128:35:128:43 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:128:34:128:60 | call to [] | | params_flow.rb:128:35:128:43 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:128:34:128:60 | synthetic splat argument | -| params_flow.rb:128:35:128:43 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:128:35:128:43 | synthetic splat argument | type tracker without call steps | params_flow.rb:128:35:128:43 | synthetic splat argument | | params_flow.rb:128:41:128:42 | 64 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:128:41:128:42 | 64 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:128:41:128:42 | 64 | type tracker without call steps | params_flow.rb:128:35:128:43 | call to taint | | params_flow.rb:128:41:128:42 | 64 | type tracker without call steps | params_flow.rb:128:41:128:42 | 64 | | params_flow.rb:128:41:128:42 | 64 | type tracker without call steps with content element 0 | params_flow.rb:128:34:128:60 | call to [] | | params_flow.rb:128:41:128:42 | 64 | type tracker without call steps with content element 0 | params_flow.rb:128:34:128:60 | synthetic splat argument | -| params_flow.rb:128:41:128:42 | 64 | type tracker without call steps with content splat position 0 | params_flow.rb:128:35:128:43 | synthetic splat argument | +| params_flow.rb:128:41:128:42 | 64 | type tracker without call steps with content element 0 | params_flow.rb:128:35:128:43 | synthetic splat argument | | params_flow.rb:128:46:128:59 | Array | type tracker without call steps | params_flow.rb:128:46:128:59 | Array | | params_flow.rb:128:46:128:59 | call to [] | type tracker without call steps | params_flow.rb:128:46:128:59 | call to [] | | params_flow.rb:128:46:128:59 | call to [] | type tracker without call steps with content element 1 | params_flow.rb:128:34:128:60 | call to [] | @@ -2770,130 +2420,110 @@ track | params_flow.rb:128:50:128:58 | call to taint | type tracker without call steps | params_flow.rb:128:50:128:58 | call to taint | | params_flow.rb:128:50:128:58 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:128:46:128:59 | call to [] | | params_flow.rb:128:50:128:58 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:128:46:128:59 | synthetic splat argument | -| params_flow.rb:128:50:128:58 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:128:50:128:58 | synthetic splat argument | type tracker without call steps | params_flow.rb:128:50:128:58 | synthetic splat argument | | params_flow.rb:128:56:128:57 | 65 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:128:56:128:57 | 65 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:128:56:128:57 | 65 | type tracker without call steps | params_flow.rb:128:50:128:58 | call to taint | | params_flow.rb:128:56:128:57 | 65 | type tracker without call steps | params_flow.rb:128:56:128:57 | 65 | +| params_flow.rb:128:56:128:57 | 65 | type tracker without call steps with content element 0 | params_flow.rb:128:50:128:58 | synthetic splat argument | | params_flow.rb:128:56:128:57 | 65 | type tracker without call steps with content element 1 | params_flow.rb:128:46:128:59 | call to [] | | params_flow.rb:128:56:128:57 | 65 | type tracker without call steps with content element 1 | params_flow.rb:128:46:128:59 | synthetic splat argument | -| params_flow.rb:128:56:128:57 | 65 | type tracker without call steps with content splat position 0 | params_flow.rb:128:50:128:58 | synthetic splat argument | | params_flow.rb:130:1:130:4 | args | type tracker without call steps | params_flow.rb:130:1:130:4 | args | | params_flow.rb:130:8:130:29 | Array | type tracker without call steps | params_flow.rb:130:8:130:29 | Array | | params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps | params_flow.rb:83:14:83:14 | t | +| params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps with content element 0 or unknown | params_flow.rb:83:1:91:3 | synthetic splat parameter | -| params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:130:8:130:29 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:130:8:130:29 | call to [] | type tracker without call steps | params_flow.rb:130:8:130:29 | call to [] | | params_flow.rb:130:8:130:29 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:131:10:131:14 | * ... | | params_flow.rb:130:8:130:29 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:8:130:29 | synthetic splat argument | type tracker with call steps | params_flow.rb:83:14:83:14 | t | +| params_flow.rb:130:8:130:29 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:130:8:130:29 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:130:8:130:29 | synthetic splat argument | type tracker with call steps with content element 0 or unknown | params_flow.rb:83:1:91:3 | synthetic splat parameter | -| params_flow.rb:130:8:130:29 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:130:8:130:29 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:130:8:130:29 | synthetic splat argument | type tracker with call steps with content splat position 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:130:8:130:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:130:8:130:29 | call to [] | | params_flow.rb:130:8:130:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:130:8:130:29 | synthetic splat argument | | params_flow.rb:130:8:130:29 | synthetic splat argument | type tracker without call steps with content element 0 or unknown | params_flow.rb:131:10:131:14 | * ... | | params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps | params_flow.rb:83:14:83:14 | t | +| params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:83:1:91:3 | synthetic splat parameter | -| params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | +| params_flow.rb:130:9:130:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:130:9:130:17 | call to taint | type tracker without call steps | params_flow.rb:130:9:130:17 | call to taint | | params_flow.rb:130:9:130:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:130:8:130:29 | call to [] | | params_flow.rb:130:9:130:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:130:8:130:29 | synthetic splat argument | | params_flow.rb:130:9:130:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:131:10:131:14 | * ... | -| params_flow.rb:130:9:130:17 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:130:9:130:17 | synthetic splat argument | type tracker without call steps | params_flow.rb:130:9:130:17 | synthetic splat argument | | params_flow.rb:130:15:130:16 | 66 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:130:15:130:16 | 66 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:15:130:16 | 66 | type tracker with call steps | params_flow.rb:83:14:83:14 | t | +| params_flow.rb:130:15:130:16 | 66 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:130:15:130:16 | 66 | type tracker with call steps with content element 0 | params_flow.rb:83:1:91:3 | synthetic splat parameter | -| params_flow.rb:130:15:130:16 | 66 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:130:15:130:16 | 66 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:130:15:130:16 | 66 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:130:15:130:16 | 66 | type tracker with call steps with content splat position 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | +| params_flow.rb:130:15:130:16 | 66 | type tracker with call steps with content element 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:130:15:130:16 | 66 | type tracker without call steps | params_flow.rb:130:9:130:17 | call to taint | | params_flow.rb:130:15:130:16 | 66 | type tracker without call steps | params_flow.rb:130:15:130:16 | 66 | | params_flow.rb:130:15:130:16 | 66 | type tracker without call steps with content element 0 | params_flow.rb:130:8:130:29 | call to [] | | params_flow.rb:130:15:130:16 | 66 | type tracker without call steps with content element 0 | params_flow.rb:130:8:130:29 | synthetic splat argument | +| params_flow.rb:130:15:130:16 | 66 | type tracker without call steps with content element 0 | params_flow.rb:130:9:130:17 | synthetic splat argument | | params_flow.rb:130:15:130:16 | 66 | type tracker without call steps with content element 0 | params_flow.rb:131:10:131:14 | * ... | -| params_flow.rb:130:15:130:16 | 66 | type tracker without call steps with content splat position 0 | params_flow.rb:130:9:130:17 | synthetic splat argument | | params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps | params_flow.rb:83:17:83:17 | u | +| params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:83:1:91:3 | synthetic splat parameter | -| params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:130:20:130:28 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:130:20:130:28 | call to taint | type tracker without call steps | params_flow.rb:130:20:130:28 | call to taint | | params_flow.rb:130:20:130:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:130:8:130:29 | call to [] | | params_flow.rb:130:20:130:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:130:8:130:29 | synthetic splat argument | | params_flow.rb:130:20:130:28 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:131:10:131:14 | * ... | -| params_flow.rb:130:20:130:28 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:130:20:130:28 | synthetic splat argument | type tracker without call steps | params_flow.rb:130:20:130:28 | synthetic splat argument | | params_flow.rb:130:26:130:27 | 67 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:130:26:130:27 | 67 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:130:26:130:27 | 67 | type tracker with call steps | params_flow.rb:83:17:83:17 | u | +| params_flow.rb:130:26:130:27 | 67 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:130:26:130:27 | 67 | type tracker with call steps with content element 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:130:26:130:27 | 67 | type tracker with call steps with content element 1 | params_flow.rb:83:1:91:3 | synthetic splat parameter | -| params_flow.rb:130:26:130:27 | 67 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:130:26:130:27 | 67 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:130:26:130:27 | 67 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:130:26:130:27 | 67 | type tracker with call steps with content splat position 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:130:26:130:27 | 67 | type tracker without call steps | params_flow.rb:130:20:130:28 | call to taint | | params_flow.rb:130:26:130:27 | 67 | type tracker without call steps | params_flow.rb:130:26:130:27 | 67 | +| params_flow.rb:130:26:130:27 | 67 | type tracker without call steps with content element 0 | params_flow.rb:130:20:130:28 | synthetic splat argument | | params_flow.rb:130:26:130:27 | 67 | type tracker without call steps with content element 1 | params_flow.rb:130:8:130:29 | call to [] | | params_flow.rb:130:26:130:27 | 67 | type tracker without call steps with content element 1 | params_flow.rb:130:8:130:29 | synthetic splat argument | | params_flow.rb:130:26:130:27 | 67 | type tracker without call steps with content element 1 | params_flow.rb:131:10:131:14 | * ... | -| params_flow.rb:130:26:130:27 | 67 | type tracker without call steps with content splat position 0 | params_flow.rb:130:20:130:28 | synthetic splat argument | | params_flow.rb:131:1:131:46 | call to pos_many | type tracker without call steps | params_flow.rb:131:1:131:46 | call to pos_many | | params_flow.rb:131:10:131:14 | * ... | type tracker with call steps | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:131:10:131:14 | * ... | type tracker without call steps | params_flow.rb:131:10:131:14 | * ... | | params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | +| params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:131:17:131:25 | call to taint | type tracker without call steps | params_flow.rb:131:17:131:25 | call to taint | -| params_flow.rb:131:17:131:25 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:131:17:131:25 | synthetic splat argument | type tracker without call steps | params_flow.rb:131:17:131:25 | synthetic splat argument | | params_flow.rb:131:23:131:24 | 68 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:131:23:131:24 | 68 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:131:23:131:24 | 68 | type tracker with call steps | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps with content splat position 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | +| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps with content element 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:131:23:131:24 | 68 | type tracker without call steps | params_flow.rb:131:17:131:25 | call to taint | | params_flow.rb:131:23:131:24 | 68 | type tracker without call steps | params_flow.rb:131:23:131:24 | 68 | -| params_flow.rb:131:23:131:24 | 68 | type tracker without call steps with content splat position 0 | params_flow.rb:131:17:131:25 | synthetic splat argument | +| params_flow.rb:131:23:131:24 | 68 | type tracker without call steps with content element 0 | params_flow.rb:131:17:131:25 | synthetic splat argument | | params_flow.rb:131:28:131:30 | nil | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:131:28:131:30 | nil | type tracker with call steps | params_flow.rb:83:20:83:20 | v | -| params_flow.rb:131:28:131:30 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:131:28:131:30 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:131:28:131:30 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | +| params_flow.rb:131:28:131:30 | nil | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:131:28:131:30 | nil | type tracker with call steps with content element 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | | params_flow.rb:131:28:131:30 | nil | type tracker without call steps | params_flow.rb:131:28:131:30 | nil | | params_flow.rb:131:33:131:35 | nil | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:131:33:131:35 | nil | type tracker with call steps | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:131:33:131:35 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:131:33:131:35 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:131:33:131:35 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | +| params_flow.rb:131:33:131:35 | nil | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:131:33:131:35 | nil | type tracker with call steps with content element 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | | params_flow.rb:131:33:131:35 | nil | type tracker without call steps | params_flow.rb:131:33:131:35 | nil | | params_flow.rb:131:38:131:40 | nil | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:131:38:131:40 | nil | type tracker with call steps | params_flow.rb:83:26:83:26 | x | -| params_flow.rb:131:38:131:40 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:131:38:131:40 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:131:38:131:40 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:88:5:88:10 | synthetic splat argument | +| params_flow.rb:131:38:131:40 | nil | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:131:38:131:40 | nil | type tracker with call steps with content element 0 | params_flow.rb:88:5:88:10 | synthetic splat argument | | params_flow.rb:131:38:131:40 | nil | type tracker without call steps | params_flow.rb:131:38:131:40 | nil | | params_flow.rb:131:43:131:45 | nil | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:131:43:131:45 | nil | type tracker with call steps | params_flow.rb:83:29:83:29 | y | -| params_flow.rb:131:43:131:45 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:131:43:131:45 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:131:43:131:45 | nil | type tracker with call steps with content splat position 0 | params_flow.rb:89:5:89:10 | synthetic splat argument | +| params_flow.rb:131:43:131:45 | nil | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:131:43:131:45 | nil | type tracker with call steps with content element 0 | params_flow.rb:89:5:89:10 | synthetic splat argument | | params_flow.rb:131:43:131:45 | nil | type tracker without call steps | params_flow.rb:131:43:131:45 | nil | | params_flow.rb:133:1:135:3 | &block | type tracker without call steps | params_flow.rb:133:1:135:3 | &block | | params_flow.rb:133:1:135:3 | self in splatall | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | @@ -2903,16 +2533,14 @@ track | params_flow.rb:133:15:133:18 | args | type tracker without call steps | params_flow.rb:133:15:133:18 | args | | params_flow.rb:134:5:134:16 | call to sink | type tracker without call steps | params_flow.rb:134:5:134:16 | call to sink | | params_flow.rb:134:5:134:16 | call to sink | type tracker without call steps | params_flow.rb:137:1:137:44 | call to splatall | -| params_flow.rb:134:5:134:16 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:134:5:134:16 | synthetic splat argument | type tracker without call steps | params_flow.rb:134:5:134:16 | synthetic splat argument | | params_flow.rb:134:10:134:16 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:134:10:134:16 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:134:10:134:16 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:134:10:134:16 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:134:10:134:16 | ...[...] | type tracker without call steps | params_flow.rb:134:10:134:16 | ...[...] | -| params_flow.rb:134:10:134:16 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:134:5:134:16 | synthetic splat argument | +| params_flow.rb:134:10:134:16 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:134:5:134:16 | synthetic splat argument | | params_flow.rb:134:10:134:16 | synthetic splat argument | type tracker without call steps | params_flow.rb:134:10:134:16 | synthetic splat argument | | params_flow.rb:134:15:134:15 | 1 | type tracker without call steps | params_flow.rb:134:15:134:15 | 1 | -| params_flow.rb:134:15:134:15 | 1 | type tracker without call steps with content splat position 0 | params_flow.rb:134:10:134:16 | synthetic splat argument | +| params_flow.rb:134:15:134:15 | 1 | type tracker without call steps with content element 0 | params_flow.rb:134:10:134:16 | synthetic splat argument | | params_flow.rb:137:1:137:44 | call to splatall | type tracker without call steps | params_flow.rb:137:1:137:44 | call to splatall | | params_flow.rb:137:10:137:43 | * ... | type tracker with call steps | params_flow.rb:133:14:133:18 | *args | | params_flow.rb:137:10:137:43 | * ... | type tracker without call steps | params_flow.rb:137:10:137:43 | * ... | @@ -2929,59 +2557,51 @@ track | params_flow.rb:137:12:137:20 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:137:10:137:43 | * ... | | params_flow.rb:137:12:137:20 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:137:11:137:43 | call to [] | | params_flow.rb:137:12:137:20 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:137:11:137:43 | synthetic splat argument | -| params_flow.rb:137:12:137:20 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:137:12:137:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:137:12:137:20 | synthetic splat argument | | params_flow.rb:137:18:137:19 | 69 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:137:18:137:19 | 69 | type tracker with call steps with content element 0 | params_flow.rb:133:14:133:18 | *args | -| params_flow.rb:137:18:137:19 | 69 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:137:18:137:19 | 69 | type tracker without call steps | params_flow.rb:137:12:137:20 | call to taint | | params_flow.rb:137:18:137:19 | 69 | type tracker without call steps | params_flow.rb:137:18:137:19 | 69 | | params_flow.rb:137:18:137:19 | 69 | type tracker without call steps with content element 0 | params_flow.rb:137:10:137:43 | * ... | | params_flow.rb:137:18:137:19 | 69 | type tracker without call steps with content element 0 | params_flow.rb:137:11:137:43 | call to [] | | params_flow.rb:137:18:137:19 | 69 | type tracker without call steps with content element 0 | params_flow.rb:137:11:137:43 | synthetic splat argument | -| params_flow.rb:137:18:137:19 | 69 | type tracker without call steps with content splat position 0 | params_flow.rb:137:12:137:20 | synthetic splat argument | +| params_flow.rb:137:18:137:19 | 69 | type tracker without call steps with content element 0 | params_flow.rb:137:12:137:20 | synthetic splat argument | | params_flow.rb:137:23:137:31 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:137:23:137:31 | call to taint | type tracker with call steps | params_flow.rb:134:10:134:16 | ...[...] | +| params_flow.rb:137:23:137:31 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:137:23:137:31 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:134:5:134:16 | synthetic splat argument | | params_flow.rb:137:23:137:31 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:133:14:133:18 | *args | -| params_flow.rb:137:23:137:31 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:137:23:137:31 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:137:23:137:31 | call to taint | type tracker with call steps with content splat position 0 | params_flow.rb:134:5:134:16 | synthetic splat argument | | params_flow.rb:137:23:137:31 | call to taint | type tracker without call steps | params_flow.rb:137:23:137:31 | call to taint | | params_flow.rb:137:23:137:31 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:137:10:137:43 | * ... | | params_flow.rb:137:23:137:31 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:137:11:137:43 | call to [] | | params_flow.rb:137:23:137:31 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:137:11:137:43 | synthetic splat argument | -| params_flow.rb:137:23:137:31 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:137:23:137:31 | synthetic splat argument | type tracker without call steps | params_flow.rb:137:23:137:31 | synthetic splat argument | | params_flow.rb:137:29:137:30 | 70 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:137:29:137:30 | 70 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:137:29:137:30 | 70 | type tracker with call steps | params_flow.rb:134:10:134:16 | ...[...] | +| params_flow.rb:137:29:137:30 | 70 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:137:29:137:30 | 70 | type tracker with call steps with content element 0 | params_flow.rb:134:5:134:16 | synthetic splat argument | | params_flow.rb:137:29:137:30 | 70 | type tracker with call steps with content element 1 | params_flow.rb:133:14:133:18 | *args | -| params_flow.rb:137:29:137:30 | 70 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:137:29:137:30 | 70 | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:137:29:137:30 | 70 | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:137:29:137:30 | 70 | type tracker with call steps with content splat position 0 | params_flow.rb:134:5:134:16 | synthetic splat argument | | params_flow.rb:137:29:137:30 | 70 | type tracker without call steps | params_flow.rb:137:23:137:31 | call to taint | | params_flow.rb:137:29:137:30 | 70 | type tracker without call steps | params_flow.rb:137:29:137:30 | 70 | +| params_flow.rb:137:29:137:30 | 70 | type tracker without call steps with content element 0 | params_flow.rb:137:23:137:31 | synthetic splat argument | | params_flow.rb:137:29:137:30 | 70 | type tracker without call steps with content element 1 | params_flow.rb:137:10:137:43 | * ... | | params_flow.rb:137:29:137:30 | 70 | type tracker without call steps with content element 1 | params_flow.rb:137:11:137:43 | call to [] | | params_flow.rb:137:29:137:30 | 70 | type tracker without call steps with content element 1 | params_flow.rb:137:11:137:43 | synthetic splat argument | -| params_flow.rb:137:29:137:30 | 70 | type tracker without call steps with content splat position 0 | params_flow.rb:137:23:137:31 | synthetic splat argument | | params_flow.rb:137:34:137:42 | call to taint | type tracker with call steps with content element 2 | params_flow.rb:133:14:133:18 | *args | | params_flow.rb:137:34:137:42 | call to taint | type tracker without call steps | params_flow.rb:137:34:137:42 | call to taint | | params_flow.rb:137:34:137:42 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:137:10:137:43 | * ... | | params_flow.rb:137:34:137:42 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:137:11:137:43 | call to [] | | params_flow.rb:137:34:137:42 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:137:11:137:43 | synthetic splat argument | -| params_flow.rb:137:34:137:42 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:137:34:137:42 | synthetic splat argument | type tracker without call steps | params_flow.rb:137:34:137:42 | synthetic splat argument | | params_flow.rb:137:40:137:41 | 71 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:137:40:137:41 | 71 | type tracker with call steps with content element 2 | params_flow.rb:133:14:133:18 | *args | -| params_flow.rb:137:40:137:41 | 71 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:137:40:137:41 | 71 | type tracker without call steps | params_flow.rb:137:34:137:42 | call to taint | | params_flow.rb:137:40:137:41 | 71 | type tracker without call steps | params_flow.rb:137:40:137:41 | 71 | +| params_flow.rb:137:40:137:41 | 71 | type tracker without call steps with content element 0 | params_flow.rb:137:34:137:42 | synthetic splat argument | | params_flow.rb:137:40:137:41 | 71 | type tracker without call steps with content element 2 | params_flow.rb:137:10:137:43 | * ... | | params_flow.rb:137:40:137:41 | 71 | type tracker without call steps with content element 2 | params_flow.rb:137:11:137:43 | call to [] | | params_flow.rb:137:40:137:41 | 71 | type tracker without call steps with content element 2 | params_flow.rb:137:11:137:43 | synthetic splat argument | -| params_flow.rb:137:40:137:41 | 71 | type tracker without call steps with content splat position 0 | params_flow.rb:137:34:137:42 | synthetic splat argument | | params_flow.rb:139:1:141:3 | &block | type tracker without call steps | params_flow.rb:139:1:141:3 | &block | | params_flow.rb:139:1:141:3 | hashSplatSideEffect | type tracker without call steps | params_flow.rb:139:1:141:3 | hashSplatSideEffect | | params_flow.rb:139:1:141:3 | self in hashSplatSideEffect | type tracker without call steps | params_flow.rb:139:1:141:3 | self in hashSplatSideEffect | @@ -2995,18 +2615,18 @@ track | params_flow.rb:140:5:140:38 | call to insert | type tracker without call steps | params_flow.rb:150:1:150:42 | call to hashSplatSideEffect | | params_flow.rb:140:5:140:38 | synthetic splat argument | type tracker without call steps | params_flow.rb:140:5:140:38 | synthetic splat argument | | params_flow.rb:140:12:140:14 | :p1 | type tracker without call steps | params_flow.rb:140:12:140:14 | :p1 | -| params_flow.rb:140:12:140:14 | :p1 | type tracker without call steps with content splat position 0 | params_flow.rb:140:5:140:15 | synthetic splat argument | +| params_flow.rb:140:12:140:14 | :p1 | type tracker without call steps with content element 0 | params_flow.rb:140:5:140:15 | synthetic splat argument | | params_flow.rb:140:24:140:24 | 0 | type tracker without call steps | params_flow.rb:140:24:140:24 | 0 | -| params_flow.rb:140:24:140:24 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:140:5:140:38 | synthetic splat argument | +| params_flow.rb:140:24:140:24 | 0 | type tracker without call steps with content element 0 | params_flow.rb:140:5:140:38 | synthetic splat argument | | params_flow.rb:140:27:140:37 | ...[...] | type tracker without call steps | params_flow.rb:140:27:140:37 | ...[...] | | params_flow.rb:140:27:140:37 | ...[...] | type tracker without call steps with content element 0 or unknown | params_flow.rb:140:5:140:15 | [post] ...[...] | | params_flow.rb:140:27:140:37 | ...[...] | type tracker without call steps with content element 0 or unknown | params_flow.rb:140:5:140:38 | call to insert | | params_flow.rb:140:27:140:37 | ...[...] | type tracker without call steps with content element 0 or unknown | params_flow.rb:145:1:145:29 | call to hashSplatSideEffect | | params_flow.rb:140:27:140:37 | ...[...] | type tracker without call steps with content element 0 or unknown | params_flow.rb:150:1:150:42 | call to hashSplatSideEffect | -| params_flow.rb:140:27:140:37 | ...[...] | type tracker without call steps with content splat position 1 | params_flow.rb:140:5:140:38 | synthetic splat argument | +| params_flow.rb:140:27:140:37 | ...[...] | type tracker without call steps with content element 1 | params_flow.rb:140:5:140:38 | synthetic splat argument | | params_flow.rb:140:27:140:37 | synthetic splat argument | type tracker without call steps | params_flow.rb:140:27:140:37 | synthetic splat argument | | params_flow.rb:140:34:140:36 | :p2 | type tracker without call steps | params_flow.rb:140:34:140:36 | :p2 | -| params_flow.rb:140:34:140:36 | :p2 | type tracker without call steps with content splat position 0 | params_flow.rb:140:27:140:37 | synthetic splat argument | +| params_flow.rb:140:34:140:36 | :p2 | type tracker without call steps with content element 0 | params_flow.rb:140:27:140:37 | synthetic splat argument | | params_flow.rb:143:1:143:6 | kwargs | type tracker without call steps | params_flow.rb:143:1:143:6 | kwargs | | params_flow.rb:143:10:143:34 | Hash | type tracker without call steps | params_flow.rb:143:10:143:34 | Hash | | params_flow.rb:143:10:143:34 | call to [] | type tracker without call steps | params_flow.rb:143:10:143:34 | call to [] | @@ -3028,60 +2648,54 @@ track | params_flow.rb:143:24:143:32 | call to taint | type tracker with call steps | params_flow.rb:140:27:140:37 | ...[...] | | params_flow.rb:143:24:143:32 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:140:5:140:15 | [post] ...[...] | | params_flow.rb:143:24:143:32 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:140:5:140:38 | call to insert | +| params_flow.rb:143:24:143:32 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:140:5:140:38 | synthetic splat argument | | params_flow.rb:143:24:143:32 | call to taint | type tracker with call steps with content element :p2 | params_flow.rb:139:25:139:32 | **kwargs | -| params_flow.rb:143:24:143:32 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:140:5:140:38 | synthetic splat argument | | params_flow.rb:143:24:143:32 | call to taint | type tracker without call steps | params_flow.rb:143:24:143:32 | call to taint | | params_flow.rb:143:24:143:32 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:143:10:143:34 | call to [] | | params_flow.rb:143:24:143:32 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:143:10:143:34 | synthetic hash-splat argument | | params_flow.rb:143:24:143:32 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:145:21:145:28 | ** ... | -| params_flow.rb:143:24:143:32 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:143:24:143:32 | synthetic splat argument | type tracker without call steps | params_flow.rb:143:24:143:32 | synthetic splat argument | | params_flow.rb:143:30:143:31 | 72 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:143:30:143:31 | 72 | type tracker with call steps | params_flow.rb:140:27:140:37 | ...[...] | | params_flow.rb:143:30:143:31 | 72 | type tracker with call steps with content element 0 or unknown | params_flow.rb:140:5:140:15 | [post] ...[...] | | params_flow.rb:143:30:143:31 | 72 | type tracker with call steps with content element 0 or unknown | params_flow.rb:140:5:140:38 | call to insert | +| params_flow.rb:143:30:143:31 | 72 | type tracker with call steps with content element 1 | params_flow.rb:140:5:140:38 | synthetic splat argument | | params_flow.rb:143:30:143:31 | 72 | type tracker with call steps with content element :p2 | params_flow.rb:139:25:139:32 | **kwargs | -| params_flow.rb:143:30:143:31 | 72 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:143:30:143:31 | 72 | type tracker with call steps with content splat position 1 | params_flow.rb:140:5:140:38 | synthetic splat argument | | params_flow.rb:143:30:143:31 | 72 | type tracker without call steps | params_flow.rb:143:24:143:32 | call to taint | | params_flow.rb:143:30:143:31 | 72 | type tracker without call steps | params_flow.rb:143:30:143:31 | 72 | +| params_flow.rb:143:30:143:31 | 72 | type tracker without call steps with content element 0 | params_flow.rb:143:24:143:32 | synthetic splat argument | | params_flow.rb:143:30:143:31 | 72 | type tracker without call steps with content element :p2 | params_flow.rb:143:10:143:34 | call to [] | | params_flow.rb:143:30:143:31 | 72 | type tracker without call steps with content element :p2 | params_flow.rb:143:10:143:34 | synthetic hash-splat argument | | params_flow.rb:143:30:143:31 | 72 | type tracker without call steps with content element :p2 | params_flow.rb:145:21:145:28 | ** ... | -| params_flow.rb:143:30:143:31 | 72 | type tracker without call steps with content splat position 0 | params_flow.rb:143:24:143:32 | synthetic splat argument | | params_flow.rb:144:1:144:20 | call to sink | type tracker without call steps | params_flow.rb:144:1:144:20 | call to sink | -| params_flow.rb:144:1:144:20 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:144:1:144:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:144:1:144:20 | synthetic splat argument | | params_flow.rb:144:6:144:16 | ...[...] | type tracker without call steps | params_flow.rb:144:6:144:16 | ...[...] | | params_flow.rb:144:6:144:16 | synthetic splat argument | type tracker without call steps | params_flow.rb:144:6:144:16 | synthetic splat argument | | params_flow.rb:144:6:144:19 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:144:6:144:19 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:144:6:144:19 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:144:6:144:19 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:144:6:144:19 | ...[...] | type tracker without call steps | params_flow.rb:144:6:144:19 | ...[...] | -| params_flow.rb:144:6:144:19 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:144:1:144:20 | synthetic splat argument | +| params_flow.rb:144:6:144:19 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:144:1:144:20 | synthetic splat argument | | params_flow.rb:144:6:144:19 | synthetic splat argument | type tracker without call steps | params_flow.rb:144:6:144:19 | synthetic splat argument | | params_flow.rb:144:13:144:15 | :p1 | type tracker without call steps | params_flow.rb:144:13:144:15 | :p1 | -| params_flow.rb:144:13:144:15 | :p1 | type tracker without call steps with content splat position 0 | params_flow.rb:144:6:144:16 | synthetic splat argument | +| params_flow.rb:144:13:144:15 | :p1 | type tracker without call steps with content element 0 | params_flow.rb:144:6:144:16 | synthetic splat argument | | params_flow.rb:144:18:144:18 | 0 | type tracker without call steps | params_flow.rb:144:18:144:18 | 0 | -| params_flow.rb:144:18:144:18 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:144:6:144:19 | synthetic splat argument | +| params_flow.rb:144:18:144:18 | 0 | type tracker without call steps with content element 0 | params_flow.rb:144:6:144:19 | synthetic splat argument | | params_flow.rb:145:1:145:29 | call to hashSplatSideEffect | type tracker without call steps | params_flow.rb:145:1:145:29 | call to hashSplatSideEffect | | params_flow.rb:145:21:145:28 | ** ... | type tracker with call steps | params_flow.rb:139:25:139:32 | **kwargs | | params_flow.rb:145:21:145:28 | ** ... | type tracker without call steps | params_flow.rb:145:21:145:28 | ** ... | | params_flow.rb:146:1:146:20 | call to sink | type tracker without call steps | params_flow.rb:146:1:146:20 | call to sink | -| params_flow.rb:146:1:146:20 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:146:1:146:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:146:1:146:20 | synthetic splat argument | | params_flow.rb:146:6:146:16 | ...[...] | type tracker without call steps | params_flow.rb:146:6:146:16 | ...[...] | | params_flow.rb:146:6:146:16 | synthetic splat argument | type tracker without call steps | params_flow.rb:146:6:146:16 | synthetic splat argument | | params_flow.rb:146:6:146:19 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:146:6:146:19 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:146:6:146:19 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:146:6:146:19 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:146:6:146:19 | ...[...] | type tracker without call steps | params_flow.rb:146:6:146:19 | ...[...] | -| params_flow.rb:146:6:146:19 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:146:1:146:20 | synthetic splat argument | +| params_flow.rb:146:6:146:19 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:146:1:146:20 | synthetic splat argument | | params_flow.rb:146:6:146:19 | synthetic splat argument | type tracker without call steps | params_flow.rb:146:6:146:19 | synthetic splat argument | | params_flow.rb:146:13:146:15 | :p1 | type tracker without call steps | params_flow.rb:146:13:146:15 | :p1 | -| params_flow.rb:146:13:146:15 | :p1 | type tracker without call steps with content splat position 0 | params_flow.rb:146:6:146:16 | synthetic splat argument | +| params_flow.rb:146:13:146:15 | :p1 | type tracker without call steps with content element 0 | params_flow.rb:146:6:146:16 | synthetic splat argument | | params_flow.rb:146:18:146:18 | 0 | type tracker without call steps | params_flow.rb:146:18:146:18 | 0 | -| params_flow.rb:146:18:146:18 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:146:6:146:19 | synthetic splat argument | +| params_flow.rb:146:18:146:18 | 0 | type tracker without call steps with content element 0 | params_flow.rb:146:6:146:19 | synthetic splat argument | | params_flow.rb:148:1:148:2 | p1 | type tracker without call steps | params_flow.rb:148:1:148:2 | p1 | | params_flow.rb:148:6:148:7 | Array | type tracker without call steps | params_flow.rb:148:6:148:7 | Array | | params_flow.rb:148:6:148:7 | call to [] | type tracker with call steps | params_flow.rb:140:5:140:15 | ...[...] | @@ -3089,16 +2703,14 @@ track | params_flow.rb:148:6:148:7 | call to [] | type tracker without call steps | params_flow.rb:148:6:148:7 | call to [] | | params_flow.rb:148:6:148:7 | call to [] | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:150:1:150:42 | synthetic hash-splat argument | | params_flow.rb:149:1:149:11 | call to sink | type tracker without call steps | params_flow.rb:149:1:149:11 | call to sink | -| params_flow.rb:149:1:149:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:149:1:149:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:149:1:149:11 | synthetic splat argument | | params_flow.rb:149:6:149:10 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:149:6:149:10 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:149:6:149:10 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:149:6:149:10 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:149:6:149:10 | ...[...] | type tracker without call steps | params_flow.rb:149:6:149:10 | ...[...] | -| params_flow.rb:149:6:149:10 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:149:1:149:11 | synthetic splat argument | +| params_flow.rb:149:6:149:10 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:149:1:149:11 | synthetic splat argument | | params_flow.rb:149:6:149:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:149:6:149:10 | synthetic splat argument | | params_flow.rb:149:9:149:9 | 0 | type tracker without call steps | params_flow.rb:149:9:149:9 | 0 | -| params_flow.rb:149:9:149:9 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:149:6:149:10 | synthetic splat argument | +| params_flow.rb:149:9:149:9 | 0 | type tracker without call steps with content element 0 | params_flow.rb:149:6:149:10 | synthetic splat argument | | params_flow.rb:150:1:150:42 | call to hashSplatSideEffect | type tracker without call steps | params_flow.rb:150:1:150:42 | call to hashSplatSideEffect | | params_flow.rb:150:1:150:42 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:139:25:139:32 | **kwargs | | params_flow.rb:150:1:150:42 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:150:1:150:42 | synthetic hash-splat argument | @@ -3109,34 +2721,30 @@ track | params_flow.rb:150:33:150:41 | call to taint | type tracker with call steps | params_flow.rb:140:27:140:37 | ...[...] | | params_flow.rb:150:33:150:41 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:140:5:140:15 | [post] ...[...] | | params_flow.rb:150:33:150:41 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:140:5:140:38 | call to insert | +| params_flow.rb:150:33:150:41 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:140:5:140:38 | synthetic splat argument | | params_flow.rb:150:33:150:41 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:139:25:139:32 | **kwargs | -| params_flow.rb:150:33:150:41 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:140:5:140:38 | synthetic splat argument | | params_flow.rb:150:33:150:41 | call to taint | type tracker without call steps | params_flow.rb:150:33:150:41 | call to taint | | params_flow.rb:150:33:150:41 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:150:1:150:42 | synthetic hash-splat argument | -| params_flow.rb:150:33:150:41 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:150:33:150:41 | synthetic splat argument | type tracker without call steps | params_flow.rb:150:33:150:41 | synthetic splat argument | | params_flow.rb:150:39:150:40 | 73 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:150:39:150:40 | 73 | type tracker with call steps | params_flow.rb:140:27:140:37 | ...[...] | | params_flow.rb:150:39:150:40 | 73 | type tracker with call steps with content element 0 or unknown | params_flow.rb:140:5:140:15 | [post] ...[...] | | params_flow.rb:150:39:150:40 | 73 | type tracker with call steps with content element 0 or unknown | params_flow.rb:140:5:140:38 | call to insert | +| params_flow.rb:150:39:150:40 | 73 | type tracker with call steps with content element 1 | params_flow.rb:140:5:140:38 | synthetic splat argument | | params_flow.rb:150:39:150:40 | 73 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:139:25:139:32 | **kwargs | -| params_flow.rb:150:39:150:40 | 73 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:150:39:150:40 | 73 | type tracker with call steps with content splat position 1 | params_flow.rb:140:5:140:38 | synthetic splat argument | | params_flow.rb:150:39:150:40 | 73 | type tracker without call steps | params_flow.rb:150:33:150:41 | call to taint | | params_flow.rb:150:39:150:40 | 73 | type tracker without call steps | params_flow.rb:150:39:150:40 | 73 | +| params_flow.rb:150:39:150:40 | 73 | type tracker without call steps with content element 0 | params_flow.rb:150:33:150:41 | synthetic splat argument | | params_flow.rb:150:39:150:40 | 73 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:150:1:150:42 | synthetic hash-splat argument | -| params_flow.rb:150:39:150:40 | 73 | type tracker without call steps with content splat position 0 | params_flow.rb:150:33:150:41 | synthetic splat argument | | params_flow.rb:151:1:151:11 | call to sink | type tracker without call steps | params_flow.rb:151:1:151:11 | call to sink | -| params_flow.rb:151:1:151:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:151:1:151:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:151:1:151:11 | synthetic splat argument | | params_flow.rb:151:6:151:10 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:151:6:151:10 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:151:6:151:10 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:151:6:151:10 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:151:6:151:10 | ...[...] | type tracker without call steps | params_flow.rb:151:6:151:10 | ...[...] | -| params_flow.rb:151:6:151:10 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:151:1:151:11 | synthetic splat argument | +| params_flow.rb:151:6:151:10 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:151:1:151:11 | synthetic splat argument | | params_flow.rb:151:6:151:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:151:6:151:10 | synthetic splat argument | | params_flow.rb:151:9:151:9 | 0 | type tracker without call steps | params_flow.rb:151:9:151:9 | 0 | -| params_flow.rb:151:9:151:9 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:151:6:151:10 | synthetic splat argument | +| params_flow.rb:151:9:151:9 | 0 | type tracker without call steps with content element 0 | params_flow.rb:151:6:151:10 | synthetic splat argument | | params_flow.rb:153:1:155:3 | &block | type tracker without call steps | params_flow.rb:153:1:155:3 | &block | | params_flow.rb:153:1:155:3 | keywordSideEffect | type tracker without call steps | params_flow.rb:153:1:155:3 | keywordSideEffect | | params_flow.rb:153:1:155:3 | self in keywordSideEffect | type tracker without call steps | params_flow.rb:153:1:155:3 | self in keywordSideEffect | @@ -3149,14 +2757,14 @@ track | params_flow.rb:153:28:153:29 | p2 | type tracker without call steps with content element 0 or unknown | params_flow.rb:154:5:154:20 | call to insert | | params_flow.rb:153:28:153:29 | p2 | type tracker without call steps with content element 0 or unknown | params_flow.rb:159:1:159:27 | call to keywordSideEffect | | params_flow.rb:153:28:153:29 | p2 | type tracker without call steps with content element 0 or unknown | params_flow.rb:164:1:164:40 | call to keywordSideEffect | -| params_flow.rb:153:28:153:29 | p2 | type tracker without call steps with content splat position 1 | params_flow.rb:154:5:154:20 | synthetic splat argument | +| params_flow.rb:153:28:153:29 | p2 | type tracker without call steps with content element 1 | params_flow.rb:154:5:154:20 | synthetic splat argument | | params_flow.rb:154:5:154:6 | [post] p1 | type tracker without call steps | params_flow.rb:154:5:154:6 | [post] p1 | | params_flow.rb:154:5:154:20 | call to insert | type tracker without call steps | params_flow.rb:154:5:154:20 | call to insert | | params_flow.rb:154:5:154:20 | call to insert | type tracker without call steps | params_flow.rb:159:1:159:27 | call to keywordSideEffect | | params_flow.rb:154:5:154:20 | call to insert | type tracker without call steps | params_flow.rb:164:1:164:40 | call to keywordSideEffect | | params_flow.rb:154:5:154:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:154:5:154:20 | synthetic splat argument | | params_flow.rb:154:15:154:15 | 0 | type tracker without call steps | params_flow.rb:154:15:154:15 | 0 | -| params_flow.rb:154:15:154:15 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:154:5:154:20 | synthetic splat argument | +| params_flow.rb:154:15:154:15 | 0 | type tracker without call steps with content element 0 | params_flow.rb:154:5:154:20 | synthetic splat argument | | params_flow.rb:157:1:157:6 | kwargs | type tracker without call steps | params_flow.rb:157:1:157:6 | kwargs | | params_flow.rb:157:10:157:34 | Hash | type tracker without call steps | params_flow.rb:157:10:157:34 | Hash | | params_flow.rb:157:10:157:34 | call to [] | type tracker without call steps | params_flow.rb:157:10:157:34 | call to [] | @@ -3178,60 +2786,54 @@ track | params_flow.rb:157:24:157:32 | call to taint | type tracker with call steps | params_flow.rb:153:28:153:29 | p2 | | params_flow.rb:157:24:157:32 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:154:5:154:6 | [post] p1 | | params_flow.rb:157:24:157:32 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:154:5:154:20 | call to insert | +| params_flow.rb:157:24:157:32 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:154:5:154:20 | synthetic splat argument | | params_flow.rb:157:24:157:32 | call to taint | type tracker with call steps with content element :p2 | params_flow.rb:153:1:155:3 | synthetic hash-splat parameter | -| params_flow.rb:157:24:157:32 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:154:5:154:20 | synthetic splat argument | | params_flow.rb:157:24:157:32 | call to taint | type tracker without call steps | params_flow.rb:157:24:157:32 | call to taint | | params_flow.rb:157:24:157:32 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:157:10:157:34 | call to [] | | params_flow.rb:157:24:157:32 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:157:10:157:34 | synthetic hash-splat argument | | params_flow.rb:157:24:157:32 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:159:19:159:26 | ** ... | -| params_flow.rb:157:24:157:32 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:157:24:157:32 | synthetic splat argument | type tracker without call steps | params_flow.rb:157:24:157:32 | synthetic splat argument | | params_flow.rb:157:30:157:31 | 74 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:157:30:157:31 | 74 | type tracker with call steps | params_flow.rb:153:28:153:29 | p2 | | params_flow.rb:157:30:157:31 | 74 | type tracker with call steps with content element 0 or unknown | params_flow.rb:154:5:154:6 | [post] p1 | | params_flow.rb:157:30:157:31 | 74 | type tracker with call steps with content element 0 or unknown | params_flow.rb:154:5:154:20 | call to insert | +| params_flow.rb:157:30:157:31 | 74 | type tracker with call steps with content element 1 | params_flow.rb:154:5:154:20 | synthetic splat argument | | params_flow.rb:157:30:157:31 | 74 | type tracker with call steps with content element :p2 | params_flow.rb:153:1:155:3 | synthetic hash-splat parameter | -| params_flow.rb:157:30:157:31 | 74 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:157:30:157:31 | 74 | type tracker with call steps with content splat position 1 | params_flow.rb:154:5:154:20 | synthetic splat argument | | params_flow.rb:157:30:157:31 | 74 | type tracker without call steps | params_flow.rb:157:24:157:32 | call to taint | | params_flow.rb:157:30:157:31 | 74 | type tracker without call steps | params_flow.rb:157:30:157:31 | 74 | +| params_flow.rb:157:30:157:31 | 74 | type tracker without call steps with content element 0 | params_flow.rb:157:24:157:32 | synthetic splat argument | | params_flow.rb:157:30:157:31 | 74 | type tracker without call steps with content element :p2 | params_flow.rb:157:10:157:34 | call to [] | | params_flow.rb:157:30:157:31 | 74 | type tracker without call steps with content element :p2 | params_flow.rb:157:10:157:34 | synthetic hash-splat argument | | params_flow.rb:157:30:157:31 | 74 | type tracker without call steps with content element :p2 | params_flow.rb:159:19:159:26 | ** ... | -| params_flow.rb:157:30:157:31 | 74 | type tracker without call steps with content splat position 0 | params_flow.rb:157:24:157:32 | synthetic splat argument | | params_flow.rb:158:1:158:20 | call to sink | type tracker without call steps | params_flow.rb:158:1:158:20 | call to sink | -| params_flow.rb:158:1:158:20 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:158:1:158:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:158:1:158:20 | synthetic splat argument | | params_flow.rb:158:6:158:16 | ...[...] | type tracker without call steps | params_flow.rb:158:6:158:16 | ...[...] | | params_flow.rb:158:6:158:16 | synthetic splat argument | type tracker without call steps | params_flow.rb:158:6:158:16 | synthetic splat argument | | params_flow.rb:158:6:158:19 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:158:6:158:19 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:158:6:158:19 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:158:6:158:19 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:158:6:158:19 | ...[...] | type tracker without call steps | params_flow.rb:158:6:158:19 | ...[...] | -| params_flow.rb:158:6:158:19 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:158:1:158:20 | synthetic splat argument | +| params_flow.rb:158:6:158:19 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:158:1:158:20 | synthetic splat argument | | params_flow.rb:158:6:158:19 | synthetic splat argument | type tracker without call steps | params_flow.rb:158:6:158:19 | synthetic splat argument | | params_flow.rb:158:13:158:15 | :p1 | type tracker without call steps | params_flow.rb:158:13:158:15 | :p1 | -| params_flow.rb:158:13:158:15 | :p1 | type tracker without call steps with content splat position 0 | params_flow.rb:158:6:158:16 | synthetic splat argument | +| params_flow.rb:158:13:158:15 | :p1 | type tracker without call steps with content element 0 | params_flow.rb:158:6:158:16 | synthetic splat argument | | params_flow.rb:158:18:158:18 | 0 | type tracker without call steps | params_flow.rb:158:18:158:18 | 0 | -| params_flow.rb:158:18:158:18 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:158:6:158:19 | synthetic splat argument | +| params_flow.rb:158:18:158:18 | 0 | type tracker without call steps with content element 0 | params_flow.rb:158:6:158:19 | synthetic splat argument | | params_flow.rb:159:1:159:27 | call to keywordSideEffect | type tracker without call steps | params_flow.rb:159:1:159:27 | call to keywordSideEffect | | params_flow.rb:159:19:159:26 | ** ... | type tracker with call steps | params_flow.rb:153:1:155:3 | synthetic hash-splat parameter | | params_flow.rb:159:19:159:26 | ** ... | type tracker without call steps | params_flow.rb:159:19:159:26 | ** ... | | params_flow.rb:160:1:160:20 | call to sink | type tracker without call steps | params_flow.rb:160:1:160:20 | call to sink | -| params_flow.rb:160:1:160:20 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:160:1:160:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:160:1:160:20 | synthetic splat argument | | params_flow.rb:160:6:160:16 | ...[...] | type tracker without call steps | params_flow.rb:160:6:160:16 | ...[...] | | params_flow.rb:160:6:160:16 | synthetic splat argument | type tracker without call steps | params_flow.rb:160:6:160:16 | synthetic splat argument | | params_flow.rb:160:6:160:19 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:160:6:160:19 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:160:6:160:19 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:160:6:160:19 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:160:6:160:19 | ...[...] | type tracker without call steps | params_flow.rb:160:6:160:19 | ...[...] | -| params_flow.rb:160:6:160:19 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:160:1:160:20 | synthetic splat argument | +| params_flow.rb:160:6:160:19 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:160:1:160:20 | synthetic splat argument | | params_flow.rb:160:6:160:19 | synthetic splat argument | type tracker without call steps | params_flow.rb:160:6:160:19 | synthetic splat argument | | params_flow.rb:160:13:160:15 | :p1 | type tracker without call steps | params_flow.rb:160:13:160:15 | :p1 | -| params_flow.rb:160:13:160:15 | :p1 | type tracker without call steps with content splat position 0 | params_flow.rb:160:6:160:16 | synthetic splat argument | +| params_flow.rb:160:13:160:15 | :p1 | type tracker without call steps with content element 0 | params_flow.rb:160:6:160:16 | synthetic splat argument | | params_flow.rb:160:18:160:18 | 0 | type tracker without call steps | params_flow.rb:160:18:160:18 | 0 | -| params_flow.rb:160:18:160:18 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:160:6:160:19 | synthetic splat argument | +| params_flow.rb:160:18:160:18 | 0 | type tracker without call steps with content element 0 | params_flow.rb:160:6:160:19 | synthetic splat argument | | params_flow.rb:162:1:162:2 | p1 | type tracker without call steps | params_flow.rb:162:1:162:2 | p1 | | params_flow.rb:162:6:162:7 | Array | type tracker without call steps | params_flow.rb:162:6:162:7 | Array | | params_flow.rb:162:6:162:7 | call to [] | type tracker with call steps | params_flow.rb:153:23:153:24 | p1 | @@ -3239,16 +2841,14 @@ track | params_flow.rb:162:6:162:7 | call to [] | type tracker without call steps | params_flow.rb:162:6:162:7 | call to [] | | params_flow.rb:162:6:162:7 | call to [] | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | | params_flow.rb:163:1:163:11 | call to sink | type tracker without call steps | params_flow.rb:163:1:163:11 | call to sink | -| params_flow.rb:163:1:163:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:163:1:163:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:163:1:163:11 | synthetic splat argument | | params_flow.rb:163:6:163:10 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:163:6:163:10 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:163:6:163:10 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:163:6:163:10 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:163:6:163:10 | ...[...] | type tracker without call steps | params_flow.rb:163:6:163:10 | ...[...] | -| params_flow.rb:163:6:163:10 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:163:1:163:11 | synthetic splat argument | +| params_flow.rb:163:6:163:10 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:163:1:163:11 | synthetic splat argument | | params_flow.rb:163:6:163:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:163:6:163:10 | synthetic splat argument | | params_flow.rb:163:9:163:9 | 0 | type tracker without call steps | params_flow.rb:163:9:163:9 | 0 | -| params_flow.rb:163:9:163:9 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:163:6:163:10 | synthetic splat argument | +| params_flow.rb:163:9:163:9 | 0 | type tracker without call steps with content element 0 | params_flow.rb:163:6:163:10 | synthetic splat argument | | params_flow.rb:164:1:164:40 | call to keywordSideEffect | type tracker without call steps | params_flow.rb:164:1:164:40 | call to keywordSideEffect | | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:153:1:155:3 | synthetic hash-splat parameter | | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | @@ -3259,34 +2859,30 @@ track | params_flow.rb:164:31:164:39 | call to taint | type tracker with call steps | params_flow.rb:153:28:153:29 | p2 | | params_flow.rb:164:31:164:39 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:154:5:154:6 | [post] p1 | | params_flow.rb:164:31:164:39 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:154:5:154:20 | call to insert | +| params_flow.rb:164:31:164:39 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:154:5:154:20 | synthetic splat argument | | params_flow.rb:164:31:164:39 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:153:1:155:3 | synthetic hash-splat parameter | -| params_flow.rb:164:31:164:39 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:154:5:154:20 | synthetic splat argument | | params_flow.rb:164:31:164:39 | call to taint | type tracker without call steps | params_flow.rb:164:31:164:39 | call to taint | | params_flow.rb:164:31:164:39 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | -| params_flow.rb:164:31:164:39 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:164:31:164:39 | synthetic splat argument | type tracker without call steps | params_flow.rb:164:31:164:39 | synthetic splat argument | | params_flow.rb:164:37:164:38 | 75 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:164:37:164:38 | 75 | type tracker with call steps | params_flow.rb:153:28:153:29 | p2 | | params_flow.rb:164:37:164:38 | 75 | type tracker with call steps with content element 0 or unknown | params_flow.rb:154:5:154:6 | [post] p1 | | params_flow.rb:164:37:164:38 | 75 | type tracker with call steps with content element 0 or unknown | params_flow.rb:154:5:154:20 | call to insert | +| params_flow.rb:164:37:164:38 | 75 | type tracker with call steps with content element 1 | params_flow.rb:154:5:154:20 | synthetic splat argument | | params_flow.rb:164:37:164:38 | 75 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:153:1:155:3 | synthetic hash-splat parameter | -| params_flow.rb:164:37:164:38 | 75 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:164:37:164:38 | 75 | type tracker with call steps with content splat position 1 | params_flow.rb:154:5:154:20 | synthetic splat argument | | params_flow.rb:164:37:164:38 | 75 | type tracker without call steps | params_flow.rb:164:31:164:39 | call to taint | | params_flow.rb:164:37:164:38 | 75 | type tracker without call steps | params_flow.rb:164:37:164:38 | 75 | +| params_flow.rb:164:37:164:38 | 75 | type tracker without call steps with content element 0 | params_flow.rb:164:31:164:39 | synthetic splat argument | | params_flow.rb:164:37:164:38 | 75 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | -| params_flow.rb:164:37:164:38 | 75 | type tracker without call steps with content splat position 0 | params_flow.rb:164:31:164:39 | synthetic splat argument | | params_flow.rb:165:1:165:11 | call to sink | type tracker without call steps | params_flow.rb:165:1:165:11 | call to sink | -| params_flow.rb:165:1:165:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:165:1:165:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:165:1:165:11 | synthetic splat argument | | params_flow.rb:165:6:165:10 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:165:6:165:10 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:165:6:165:10 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:165:6:165:10 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:165:6:165:10 | ...[...] | type tracker without call steps | params_flow.rb:165:6:165:10 | ...[...] | -| params_flow.rb:165:6:165:10 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:165:1:165:11 | synthetic splat argument | +| params_flow.rb:165:6:165:10 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:165:1:165:11 | synthetic splat argument | | params_flow.rb:165:6:165:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:165:6:165:10 | synthetic splat argument | | params_flow.rb:165:9:165:9 | 0 | type tracker without call steps | params_flow.rb:165:9:165:9 | 0 | -| params_flow.rb:165:9:165:9 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:165:6:165:10 | synthetic splat argument | +| params_flow.rb:165:9:165:9 | 0 | type tracker without call steps with content element 0 | params_flow.rb:165:6:165:10 | synthetic splat argument | | params_flow.rb:167:1:169:3 | &block | type tracker without call steps | params_flow.rb:167:1:169:3 | &block | | params_flow.rb:167:1:169:3 | self in splatSideEffect | type tracker without call steps | params_flow.rb:167:1:169:3 | self in splatSideEffect | | params_flow.rb:167:1:169:3 | splatSideEffect | type tracker without call steps | params_flow.rb:167:1:169:3 | splatSideEffect | @@ -3300,18 +2896,18 @@ track | params_flow.rb:168:5:168:36 | call to insert | type tracker without call steps | params_flow.rb:178:1:178:30 | call to splatSideEffect | | params_flow.rb:168:5:168:36 | synthetic splat argument | type tracker without call steps | params_flow.rb:168:5:168:36 | synthetic splat argument | | params_flow.rb:168:13:168:13 | 0 | type tracker without call steps | params_flow.rb:168:13:168:13 | 0 | -| params_flow.rb:168:13:168:13 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:168:5:168:14 | synthetic splat argument | +| params_flow.rb:168:13:168:13 | 0 | type tracker without call steps with content element 0 | params_flow.rb:168:5:168:14 | synthetic splat argument | | params_flow.rb:168:23:168:23 | 0 | type tracker without call steps | params_flow.rb:168:23:168:23 | 0 | -| params_flow.rb:168:23:168:23 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:168:5:168:36 | synthetic splat argument | +| params_flow.rb:168:23:168:23 | 0 | type tracker without call steps with content element 0 | params_flow.rb:168:5:168:36 | synthetic splat argument | | params_flow.rb:168:26:168:35 | ...[...] | type tracker without call steps | params_flow.rb:168:26:168:35 | ...[...] | | params_flow.rb:168:26:168:35 | ...[...] | type tracker without call steps with content element 0 or unknown | params_flow.rb:168:5:168:14 | [post] ...[...] | | params_flow.rb:168:26:168:35 | ...[...] | type tracker without call steps with content element 0 or unknown | params_flow.rb:168:5:168:36 | call to insert | | params_flow.rb:168:26:168:35 | ...[...] | type tracker without call steps with content element 0 or unknown | params_flow.rb:173:1:173:25 | call to splatSideEffect | | params_flow.rb:168:26:168:35 | ...[...] | type tracker without call steps with content element 0 or unknown | params_flow.rb:178:1:178:30 | call to splatSideEffect | -| params_flow.rb:168:26:168:35 | ...[...] | type tracker without call steps with content splat position 1 | params_flow.rb:168:5:168:36 | synthetic splat argument | +| params_flow.rb:168:26:168:35 | ...[...] | type tracker without call steps with content element 1 | params_flow.rb:168:5:168:36 | synthetic splat argument | | params_flow.rb:168:26:168:35 | synthetic splat argument | type tracker without call steps | params_flow.rb:168:26:168:35 | synthetic splat argument | | params_flow.rb:168:34:168:34 | 1 | type tracker without call steps | params_flow.rb:168:34:168:34 | 1 | -| params_flow.rb:168:34:168:34 | 1 | type tracker without call steps with content splat position 0 | params_flow.rb:168:26:168:35 | synthetic splat argument | +| params_flow.rb:168:34:168:34 | 1 | type tracker without call steps with content element 0 | params_flow.rb:168:26:168:35 | synthetic splat argument | | params_flow.rb:171:1:171:7 | posargs | type tracker without call steps | params_flow.rb:171:1:171:7 | posargs | | params_flow.rb:171:11:171:27 | Array | type tracker without call steps | params_flow.rb:171:11:171:27 | Array | | params_flow.rb:171:11:171:27 | call to [] | type tracker with call steps | params_flow.rb:168:5:168:14 | ...[...] | @@ -3336,110 +2932,98 @@ track | params_flow.rb:171:17:171:25 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:168:5:168:14 | [post] ...[...] | | params_flow.rb:171:17:171:25 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:168:5:168:36 | call to insert | | params_flow.rb:171:17:171:25 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:167:21:167:28 | *posargs | -| params_flow.rb:171:17:171:25 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:168:5:168:36 | synthetic splat argument | +| params_flow.rb:171:17:171:25 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:168:5:168:36 | synthetic splat argument | | params_flow.rb:171:17:171:25 | call to taint | type tracker without call steps | params_flow.rb:171:17:171:25 | call to taint | | params_flow.rb:171:17:171:25 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:171:11:171:27 | call to [] | | params_flow.rb:171:17:171:25 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:171:11:171:27 | synthetic splat argument | | params_flow.rb:171:17:171:25 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:173:17:173:24 | * ... | -| params_flow.rb:171:17:171:25 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:171:17:171:25 | synthetic splat argument | type tracker without call steps | params_flow.rb:171:17:171:25 | synthetic splat argument | | params_flow.rb:171:23:171:24 | 76 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:171:23:171:24 | 76 | type tracker with call steps | params_flow.rb:168:26:168:35 | ...[...] | | params_flow.rb:171:23:171:24 | 76 | type tracker with call steps with content element 0 or unknown | params_flow.rb:168:5:168:14 | [post] ...[...] | | params_flow.rb:171:23:171:24 | 76 | type tracker with call steps with content element 0 or unknown | params_flow.rb:168:5:168:36 | call to insert | | params_flow.rb:171:23:171:24 | 76 | type tracker with call steps with content element 1 | params_flow.rb:167:21:167:28 | *posargs | -| params_flow.rb:171:23:171:24 | 76 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:171:23:171:24 | 76 | type tracker with call steps with content splat position 1 | params_flow.rb:168:5:168:36 | synthetic splat argument | +| params_flow.rb:171:23:171:24 | 76 | type tracker with call steps with content element 1 | params_flow.rb:168:5:168:36 | synthetic splat argument | | params_flow.rb:171:23:171:24 | 76 | type tracker without call steps | params_flow.rb:171:17:171:25 | call to taint | | params_flow.rb:171:23:171:24 | 76 | type tracker without call steps | params_flow.rb:171:23:171:24 | 76 | +| params_flow.rb:171:23:171:24 | 76 | type tracker without call steps with content element 0 | params_flow.rb:171:17:171:25 | synthetic splat argument | | params_flow.rb:171:23:171:24 | 76 | type tracker without call steps with content element 1 | params_flow.rb:171:11:171:27 | call to [] | | params_flow.rb:171:23:171:24 | 76 | type tracker without call steps with content element 1 | params_flow.rb:171:11:171:27 | synthetic splat argument | | params_flow.rb:171:23:171:24 | 76 | type tracker without call steps with content element 1 | params_flow.rb:173:17:173:24 | * ... | -| params_flow.rb:171:23:171:24 | 76 | type tracker without call steps with content splat position 0 | params_flow.rb:171:17:171:25 | synthetic splat argument | | params_flow.rb:172:1:172:19 | call to sink | type tracker without call steps | params_flow.rb:172:1:172:19 | call to sink | -| params_flow.rb:172:1:172:19 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:172:1:172:19 | synthetic splat argument | type tracker without call steps | params_flow.rb:172:1:172:19 | synthetic splat argument | | params_flow.rb:172:6:172:15 | ...[...] | type tracker without call steps | params_flow.rb:172:6:172:15 | ...[...] | | params_flow.rb:172:6:172:15 | synthetic splat argument | type tracker without call steps | params_flow.rb:172:6:172:15 | synthetic splat argument | | params_flow.rb:172:6:172:18 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:172:6:172:18 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:172:6:172:18 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:172:6:172:18 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:172:6:172:18 | ...[...] | type tracker without call steps | params_flow.rb:172:6:172:18 | ...[...] | -| params_flow.rb:172:6:172:18 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:172:1:172:19 | synthetic splat argument | +| params_flow.rb:172:6:172:18 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:172:1:172:19 | synthetic splat argument | | params_flow.rb:172:6:172:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:172:6:172:18 | synthetic splat argument | | params_flow.rb:172:14:172:14 | 0 | type tracker without call steps | params_flow.rb:172:14:172:14 | 0 | -| params_flow.rb:172:14:172:14 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:172:6:172:15 | synthetic splat argument | +| params_flow.rb:172:14:172:14 | 0 | type tracker without call steps with content element 0 | params_flow.rb:172:6:172:15 | synthetic splat argument | | params_flow.rb:172:17:172:17 | 0 | type tracker without call steps | params_flow.rb:172:17:172:17 | 0 | -| params_flow.rb:172:17:172:17 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:172:6:172:18 | synthetic splat argument | +| params_flow.rb:172:17:172:17 | 0 | type tracker without call steps with content element 0 | params_flow.rb:172:6:172:18 | synthetic splat argument | | params_flow.rb:173:1:173:25 | call to splatSideEffect | type tracker without call steps | params_flow.rb:173:1:173:25 | call to splatSideEffect | | params_flow.rb:173:17:173:24 | * ... | type tracker with call steps | params_flow.rb:167:21:167:28 | *posargs | | params_flow.rb:173:17:173:24 | * ... | type tracker without call steps | params_flow.rb:173:17:173:24 | * ... | | params_flow.rb:174:1:174:19 | call to sink | type tracker without call steps | params_flow.rb:174:1:174:19 | call to sink | -| params_flow.rb:174:1:174:19 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:174:1:174:19 | synthetic splat argument | type tracker without call steps | params_flow.rb:174:1:174:19 | synthetic splat argument | | params_flow.rb:174:6:174:15 | ...[...] | type tracker without call steps | params_flow.rb:174:6:174:15 | ...[...] | | params_flow.rb:174:6:174:15 | synthetic splat argument | type tracker without call steps | params_flow.rb:174:6:174:15 | synthetic splat argument | | params_flow.rb:174:6:174:18 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:174:6:174:18 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:174:6:174:18 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:174:6:174:18 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:174:6:174:18 | ...[...] | type tracker without call steps | params_flow.rb:174:6:174:18 | ...[...] | -| params_flow.rb:174:6:174:18 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:174:1:174:19 | synthetic splat argument | +| params_flow.rb:174:6:174:18 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:174:1:174:19 | synthetic splat argument | | params_flow.rb:174:6:174:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:174:6:174:18 | synthetic splat argument | | params_flow.rb:174:14:174:14 | 0 | type tracker without call steps | params_flow.rb:174:14:174:14 | 0 | -| params_flow.rb:174:14:174:14 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:174:6:174:15 | synthetic splat argument | +| params_flow.rb:174:14:174:14 | 0 | type tracker without call steps with content element 0 | params_flow.rb:174:6:174:15 | synthetic splat argument | | params_flow.rb:174:17:174:17 | 0 | type tracker without call steps | params_flow.rb:174:17:174:17 | 0 | -| params_flow.rb:174:17:174:17 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:174:6:174:18 | synthetic splat argument | +| params_flow.rb:174:17:174:17 | 0 | type tracker without call steps with content element 0 | params_flow.rb:174:6:174:18 | synthetic splat argument | | params_flow.rb:176:1:176:2 | p1 | type tracker without call steps | params_flow.rb:176:1:176:2 | p1 | | params_flow.rb:176:6:176:7 | Array | type tracker without call steps | params_flow.rb:176:6:176:7 | Array | | params_flow.rb:176:6:176:7 | call to [] | type tracker with call steps | params_flow.rb:168:5:168:14 | ...[...] | -| params_flow.rb:176:6:176:7 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:167:21:167:28 | *posargs | +| params_flow.rb:176:6:176:7 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:167:21:167:28 | *posargs | | params_flow.rb:176:6:176:7 | call to [] | type tracker without call steps | params_flow.rb:176:6:176:7 | call to [] | -| params_flow.rb:176:6:176:7 | call to [] | type tracker without call steps with content splat position 0 | params_flow.rb:178:1:178:30 | synthetic splat argument | +| params_flow.rb:176:6:176:7 | call to [] | type tracker without call steps with content element 0 | params_flow.rb:178:1:178:30 | synthetic splat argument | | params_flow.rb:177:1:177:11 | call to sink | type tracker without call steps | params_flow.rb:177:1:177:11 | call to sink | -| params_flow.rb:177:1:177:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:177:1:177:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:177:1:177:11 | synthetic splat argument | | params_flow.rb:177:6:177:10 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:177:6:177:10 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:177:6:177:10 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:177:6:177:10 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:177:6:177:10 | ...[...] | type tracker without call steps | params_flow.rb:177:6:177:10 | ...[...] | -| params_flow.rb:177:6:177:10 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:177:1:177:11 | synthetic splat argument | +| params_flow.rb:177:6:177:10 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:177:1:177:11 | synthetic splat argument | | params_flow.rb:177:6:177:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:177:6:177:10 | synthetic splat argument | | params_flow.rb:177:9:177:9 | 0 | type tracker without call steps | params_flow.rb:177:9:177:9 | 0 | -| params_flow.rb:177:9:177:9 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:177:6:177:10 | synthetic splat argument | +| params_flow.rb:177:9:177:9 | 0 | type tracker without call steps with content element 0 | params_flow.rb:177:6:177:10 | synthetic splat argument | | params_flow.rb:178:1:178:30 | call to splatSideEffect | type tracker without call steps | params_flow.rb:178:1:178:30 | call to splatSideEffect | | params_flow.rb:178:1:178:30 | synthetic splat argument | type tracker with call steps | params_flow.rb:167:21:167:28 | *posargs | | params_flow.rb:178:1:178:30 | synthetic splat argument | type tracker without call steps | params_flow.rb:178:1:178:30 | synthetic splat argument | | params_flow.rb:178:21:178:29 | call to taint | type tracker with call steps | params_flow.rb:168:26:168:35 | ...[...] | | params_flow.rb:178:21:178:29 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:168:5:168:14 | [post] ...[...] | | params_flow.rb:178:21:178:29 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:168:5:168:36 | call to insert | -| params_flow.rb:178:21:178:29 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:167:21:167:28 | *posargs | -| params_flow.rb:178:21:178:29 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:168:5:168:36 | synthetic splat argument | +| params_flow.rb:178:21:178:29 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:167:21:167:28 | *posargs | +| params_flow.rb:178:21:178:29 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:168:5:168:36 | synthetic splat argument | | params_flow.rb:178:21:178:29 | call to taint | type tracker without call steps | params_flow.rb:178:21:178:29 | call to taint | -| params_flow.rb:178:21:178:29 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:178:1:178:30 | synthetic splat argument | -| params_flow.rb:178:21:178:29 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:178:21:178:29 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:178:1:178:30 | synthetic splat argument | | params_flow.rb:178:21:178:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:178:21:178:29 | synthetic splat argument | | params_flow.rb:178:27:178:28 | 77 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:178:27:178:28 | 77 | type tracker with call steps | params_flow.rb:168:26:168:35 | ...[...] | | params_flow.rb:178:27:178:28 | 77 | type tracker with call steps with content element 0 or unknown | params_flow.rb:168:5:168:14 | [post] ...[...] | | params_flow.rb:178:27:178:28 | 77 | type tracker with call steps with content element 0 or unknown | params_flow.rb:168:5:168:36 | call to insert | -| params_flow.rb:178:27:178:28 | 77 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:178:27:178:28 | 77 | type tracker with call steps with content splat position 1 | params_flow.rb:167:21:167:28 | *posargs | -| params_flow.rb:178:27:178:28 | 77 | type tracker with call steps with content splat position 1 | params_flow.rb:168:5:168:36 | synthetic splat argument | +| params_flow.rb:178:27:178:28 | 77 | type tracker with call steps with content element 1 | params_flow.rb:167:21:167:28 | *posargs | +| params_flow.rb:178:27:178:28 | 77 | type tracker with call steps with content element 1 | params_flow.rb:168:5:168:36 | synthetic splat argument | | params_flow.rb:178:27:178:28 | 77 | type tracker without call steps | params_flow.rb:178:21:178:29 | call to taint | | params_flow.rb:178:27:178:28 | 77 | type tracker without call steps | params_flow.rb:178:27:178:28 | 77 | -| params_flow.rb:178:27:178:28 | 77 | type tracker without call steps with content splat position 0 | params_flow.rb:178:21:178:29 | synthetic splat argument | -| params_flow.rb:178:27:178:28 | 77 | type tracker without call steps with content splat position 1 | params_flow.rb:178:1:178:30 | synthetic splat argument | +| params_flow.rb:178:27:178:28 | 77 | type tracker without call steps with content element 0 | params_flow.rb:178:21:178:29 | synthetic splat argument | +| params_flow.rb:178:27:178:28 | 77 | type tracker without call steps with content element 1 | params_flow.rb:178:1:178:30 | synthetic splat argument | | params_flow.rb:179:1:179:11 | call to sink | type tracker without call steps | params_flow.rb:179:1:179:11 | call to sink | -| params_flow.rb:179:1:179:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:179:1:179:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:179:1:179:11 | synthetic splat argument | | params_flow.rb:179:6:179:10 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:179:6:179:10 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:179:6:179:10 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:179:6:179:10 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:179:6:179:10 | ...[...] | type tracker without call steps | params_flow.rb:179:6:179:10 | ...[...] | -| params_flow.rb:179:6:179:10 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:179:1:179:11 | synthetic splat argument | +| params_flow.rb:179:6:179:10 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:179:1:179:11 | synthetic splat argument | | params_flow.rb:179:6:179:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:179:6:179:10 | synthetic splat argument | | params_flow.rb:179:9:179:9 | 0 | type tracker without call steps | params_flow.rb:179:9:179:9 | 0 | -| params_flow.rb:179:9:179:9 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:179:6:179:10 | synthetic splat argument | +| params_flow.rb:179:9:179:9 | 0 | type tracker without call steps with content element 0 | params_flow.rb:179:6:179:10 | synthetic splat argument | | params_flow.rb:181:1:183:3 | &block | type tracker without call steps | params_flow.rb:181:1:183:3 | &block | | params_flow.rb:181:1:183:3 | positionSideEffect | type tracker without call steps | params_flow.rb:181:1:183:3 | positionSideEffect | | params_flow.rb:181:1:183:3 | self in positionSideEffect | type tracker without call steps | params_flow.rb:181:1:183:3 | self in positionSideEffect | @@ -3452,14 +3036,14 @@ track | params_flow.rb:181:28:181:29 | p2 | type tracker without call steps with content element 0 or unknown | params_flow.rb:182:5:182:20 | call to insert | | params_flow.rb:181:28:181:29 | p2 | type tracker without call steps with content element 0 or unknown | params_flow.rb:187:1:187:25 | call to positionSideEffect | | params_flow.rb:181:28:181:29 | p2 | type tracker without call steps with content element 0 or unknown | params_flow.rb:192:1:192:33 | call to positionSideEffect | -| params_flow.rb:181:28:181:29 | p2 | type tracker without call steps with content splat position 1 | params_flow.rb:182:5:182:20 | synthetic splat argument | +| params_flow.rb:181:28:181:29 | p2 | type tracker without call steps with content element 1 | params_flow.rb:182:5:182:20 | synthetic splat argument | | params_flow.rb:182:5:182:6 | [post] p1 | type tracker without call steps | params_flow.rb:182:5:182:6 | [post] p1 | | params_flow.rb:182:5:182:20 | call to insert | type tracker without call steps | params_flow.rb:182:5:182:20 | call to insert | | params_flow.rb:182:5:182:20 | call to insert | type tracker without call steps | params_flow.rb:187:1:187:25 | call to positionSideEffect | | params_flow.rb:182:5:182:20 | call to insert | type tracker without call steps | params_flow.rb:192:1:192:33 | call to positionSideEffect | | params_flow.rb:182:5:182:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:182:5:182:20 | synthetic splat argument | | params_flow.rb:182:15:182:15 | 0 | type tracker without call steps | params_flow.rb:182:15:182:15 | 0 | -| params_flow.rb:182:15:182:15 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:182:5:182:20 | synthetic splat argument | +| params_flow.rb:182:15:182:15 | 0 | type tracker without call steps with content element 0 | params_flow.rb:182:5:182:20 | synthetic splat argument | | params_flow.rb:185:1:185:4 | args | type tracker without call steps | params_flow.rb:185:1:185:4 | args | | params_flow.rb:185:8:185:24 | Array | type tracker without call steps | params_flow.rb:185:8:185:24 | Array | | params_flow.rb:185:8:185:24 | call to [] | type tracker with call steps | params_flow.rb:181:24:181:25 | p1 | @@ -3484,110 +3068,94 @@ track | params_flow.rb:185:14:185:22 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:182:5:182:6 | [post] p1 | | params_flow.rb:185:14:185:22 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:182:5:182:20 | call to insert | | params_flow.rb:185:14:185:22 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:181:1:183:3 | synthetic splat parameter | -| params_flow.rb:185:14:185:22 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:182:5:182:20 | synthetic splat argument | +| params_flow.rb:185:14:185:22 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:182:5:182:20 | synthetic splat argument | | params_flow.rb:185:14:185:22 | call to taint | type tracker without call steps | params_flow.rb:185:14:185:22 | call to taint | | params_flow.rb:185:14:185:22 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:185:8:185:24 | call to [] | | params_flow.rb:185:14:185:22 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:185:8:185:24 | synthetic splat argument | | params_flow.rb:185:14:185:22 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:187:20:187:24 | * ... | -| params_flow.rb:185:14:185:22 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:185:14:185:22 | synthetic splat argument | type tracker without call steps | params_flow.rb:185:14:185:22 | synthetic splat argument | | params_flow.rb:185:20:185:21 | 78 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:185:20:185:21 | 78 | type tracker with call steps | params_flow.rb:181:28:181:29 | p2 | | params_flow.rb:185:20:185:21 | 78 | type tracker with call steps with content element 0 or unknown | params_flow.rb:182:5:182:6 | [post] p1 | | params_flow.rb:185:20:185:21 | 78 | type tracker with call steps with content element 0 or unknown | params_flow.rb:182:5:182:20 | call to insert | | params_flow.rb:185:20:185:21 | 78 | type tracker with call steps with content element 1 | params_flow.rb:181:1:183:3 | synthetic splat parameter | -| params_flow.rb:185:20:185:21 | 78 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:185:20:185:21 | 78 | type tracker with call steps with content splat position 1 | params_flow.rb:182:5:182:20 | synthetic splat argument | +| params_flow.rb:185:20:185:21 | 78 | type tracker with call steps with content element 1 | params_flow.rb:182:5:182:20 | synthetic splat argument | | params_flow.rb:185:20:185:21 | 78 | type tracker without call steps | params_flow.rb:185:14:185:22 | call to taint | | params_flow.rb:185:20:185:21 | 78 | type tracker without call steps | params_flow.rb:185:20:185:21 | 78 | +| params_flow.rb:185:20:185:21 | 78 | type tracker without call steps with content element 0 | params_flow.rb:185:14:185:22 | synthetic splat argument | | params_flow.rb:185:20:185:21 | 78 | type tracker without call steps with content element 1 | params_flow.rb:185:8:185:24 | call to [] | | params_flow.rb:185:20:185:21 | 78 | type tracker without call steps with content element 1 | params_flow.rb:185:8:185:24 | synthetic splat argument | | params_flow.rb:185:20:185:21 | 78 | type tracker without call steps with content element 1 | params_flow.rb:187:20:187:24 | * ... | -| params_flow.rb:185:20:185:21 | 78 | type tracker without call steps with content splat position 0 | params_flow.rb:185:14:185:22 | synthetic splat argument | | params_flow.rb:186:1:186:16 | call to sink | type tracker without call steps | params_flow.rb:186:1:186:16 | call to sink | -| params_flow.rb:186:1:186:16 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:186:1:186:16 | synthetic splat argument | type tracker without call steps | params_flow.rb:186:1:186:16 | synthetic splat argument | | params_flow.rb:186:6:186:12 | ...[...] | type tracker without call steps | params_flow.rb:186:6:186:12 | ...[...] | | params_flow.rb:186:6:186:12 | synthetic splat argument | type tracker without call steps | params_flow.rb:186:6:186:12 | synthetic splat argument | | params_flow.rb:186:6:186:15 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:186:6:186:15 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:186:6:186:15 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:186:6:186:15 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:186:6:186:15 | ...[...] | type tracker without call steps | params_flow.rb:186:6:186:15 | ...[...] | -| params_flow.rb:186:6:186:15 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:186:1:186:16 | synthetic splat argument | +| params_flow.rb:186:6:186:15 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:186:1:186:16 | synthetic splat argument | | params_flow.rb:186:6:186:15 | synthetic splat argument | type tracker without call steps | params_flow.rb:186:6:186:15 | synthetic splat argument | | params_flow.rb:186:11:186:11 | 0 | type tracker without call steps | params_flow.rb:186:11:186:11 | 0 | -| params_flow.rb:186:11:186:11 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:186:6:186:12 | synthetic splat argument | +| params_flow.rb:186:11:186:11 | 0 | type tracker without call steps with content element 0 | params_flow.rb:186:6:186:12 | synthetic splat argument | | params_flow.rb:186:14:186:14 | 0 | type tracker without call steps | params_flow.rb:186:14:186:14 | 0 | -| params_flow.rb:186:14:186:14 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:186:6:186:15 | synthetic splat argument | +| params_flow.rb:186:14:186:14 | 0 | type tracker without call steps with content element 0 | params_flow.rb:186:6:186:15 | synthetic splat argument | | params_flow.rb:187:1:187:25 | call to positionSideEffect | type tracker without call steps | params_flow.rb:187:1:187:25 | call to positionSideEffect | | params_flow.rb:187:20:187:24 | * ... | type tracker with call steps | params_flow.rb:181:1:183:3 | synthetic splat parameter | | params_flow.rb:187:20:187:24 | * ... | type tracker without call steps | params_flow.rb:187:20:187:24 | * ... | | params_flow.rb:188:1:188:16 | call to sink | type tracker without call steps | params_flow.rb:188:1:188:16 | call to sink | -| params_flow.rb:188:1:188:16 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:188:1:188:16 | synthetic splat argument | type tracker without call steps | params_flow.rb:188:1:188:16 | synthetic splat argument | | params_flow.rb:188:6:188:12 | ...[...] | type tracker without call steps | params_flow.rb:188:6:188:12 | ...[...] | | params_flow.rb:188:6:188:12 | synthetic splat argument | type tracker without call steps | params_flow.rb:188:6:188:12 | synthetic splat argument | | params_flow.rb:188:6:188:15 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:188:6:188:15 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:188:6:188:15 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:188:6:188:15 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:188:6:188:15 | ...[...] | type tracker without call steps | params_flow.rb:188:6:188:15 | ...[...] | -| params_flow.rb:188:6:188:15 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:188:1:188:16 | synthetic splat argument | +| params_flow.rb:188:6:188:15 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:188:1:188:16 | synthetic splat argument | | params_flow.rb:188:6:188:15 | synthetic splat argument | type tracker without call steps | params_flow.rb:188:6:188:15 | synthetic splat argument | | params_flow.rb:188:11:188:11 | 0 | type tracker without call steps | params_flow.rb:188:11:188:11 | 0 | -| params_flow.rb:188:11:188:11 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:188:6:188:12 | synthetic splat argument | +| params_flow.rb:188:11:188:11 | 0 | type tracker without call steps with content element 0 | params_flow.rb:188:6:188:12 | synthetic splat argument | | params_flow.rb:188:14:188:14 | 0 | type tracker without call steps | params_flow.rb:188:14:188:14 | 0 | -| params_flow.rb:188:14:188:14 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:188:6:188:15 | synthetic splat argument | +| params_flow.rb:188:14:188:14 | 0 | type tracker without call steps with content element 0 | params_flow.rb:188:6:188:15 | synthetic splat argument | | params_flow.rb:190:1:190:2 | p1 | type tracker without call steps | params_flow.rb:190:1:190:2 | p1 | | params_flow.rb:190:6:190:7 | Array | type tracker without call steps | params_flow.rb:190:6:190:7 | Array | | params_flow.rb:190:6:190:7 | call to [] | type tracker with call steps | params_flow.rb:181:24:181:25 | p1 | -| params_flow.rb:190:6:190:7 | call to [] | type tracker with call steps with content splat position 0 | params_flow.rb:181:1:183:3 | synthetic splat parameter | | params_flow.rb:190:6:190:7 | call to [] | type tracker without call steps | params_flow.rb:190:6:190:7 | call to [] | -| params_flow.rb:190:6:190:7 | call to [] | type tracker without call steps with content splat position 0 | params_flow.rb:192:1:192:33 | synthetic splat argument | +| params_flow.rb:190:6:190:7 | call to [] | type tracker without call steps with content element 0 | params_flow.rb:192:1:192:33 | synthetic splat argument | | params_flow.rb:191:1:191:11 | call to sink | type tracker without call steps | params_flow.rb:191:1:191:11 | call to sink | -| params_flow.rb:191:1:191:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:191:1:191:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:191:1:191:11 | synthetic splat argument | | params_flow.rb:191:6:191:10 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:191:6:191:10 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:191:6:191:10 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:191:6:191:10 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:191:6:191:10 | ...[...] | type tracker without call steps | params_flow.rb:191:6:191:10 | ...[...] | -| params_flow.rb:191:6:191:10 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:191:1:191:11 | synthetic splat argument | +| params_flow.rb:191:6:191:10 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:191:1:191:11 | synthetic splat argument | | params_flow.rb:191:6:191:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:191:6:191:10 | synthetic splat argument | | params_flow.rb:191:9:191:9 | 0 | type tracker without call steps | params_flow.rb:191:9:191:9 | 0 | -| params_flow.rb:191:9:191:9 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:191:6:191:10 | synthetic splat argument | +| params_flow.rb:191:9:191:9 | 0 | type tracker without call steps with content element 0 | params_flow.rb:191:6:191:10 | synthetic splat argument | | params_flow.rb:192:1:192:33 | call to positionSideEffect | type tracker without call steps | params_flow.rb:192:1:192:33 | call to positionSideEffect | -| params_flow.rb:192:1:192:33 | synthetic splat argument | type tracker with call steps | params_flow.rb:181:1:183:3 | synthetic splat parameter | | params_flow.rb:192:1:192:33 | synthetic splat argument | type tracker without call steps | params_flow.rb:192:1:192:33 | synthetic splat argument | | params_flow.rb:192:24:192:32 | call to taint | type tracker with call steps | params_flow.rb:181:28:181:29 | p2 | | params_flow.rb:192:24:192:32 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:182:5:182:6 | [post] p1 | | params_flow.rb:192:24:192:32 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:182:5:182:20 | call to insert | -| params_flow.rb:192:24:192:32 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:181:1:183:3 | synthetic splat parameter | -| params_flow.rb:192:24:192:32 | call to taint | type tracker with call steps with content splat position 1 | params_flow.rb:182:5:182:20 | synthetic splat argument | +| params_flow.rb:192:24:192:32 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:182:5:182:20 | synthetic splat argument | | params_flow.rb:192:24:192:32 | call to taint | type tracker without call steps | params_flow.rb:192:24:192:32 | call to taint | -| params_flow.rb:192:24:192:32 | call to taint | type tracker without call steps with content splat position 1 | params_flow.rb:192:1:192:33 | synthetic splat argument | -| params_flow.rb:192:24:192:32 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | +| params_flow.rb:192:24:192:32 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:192:1:192:33 | synthetic splat argument | | params_flow.rb:192:24:192:32 | synthetic splat argument | type tracker without call steps | params_flow.rb:192:24:192:32 | synthetic splat argument | | params_flow.rb:192:30:192:31 | 79 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:192:30:192:31 | 79 | type tracker with call steps | params_flow.rb:181:28:181:29 | p2 | | params_flow.rb:192:30:192:31 | 79 | type tracker with call steps with content element 0 or unknown | params_flow.rb:182:5:182:6 | [post] p1 | | params_flow.rb:192:30:192:31 | 79 | type tracker with call steps with content element 0 or unknown | params_flow.rb:182:5:182:20 | call to insert | -| params_flow.rb:192:30:192:31 | 79 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | -| params_flow.rb:192:30:192:31 | 79 | type tracker with call steps with content splat position 1 | params_flow.rb:181:1:183:3 | synthetic splat parameter | -| params_flow.rb:192:30:192:31 | 79 | type tracker with call steps with content splat position 1 | params_flow.rb:182:5:182:20 | synthetic splat argument | +| params_flow.rb:192:30:192:31 | 79 | type tracker with call steps with content element 1 | params_flow.rb:182:5:182:20 | synthetic splat argument | | params_flow.rb:192:30:192:31 | 79 | type tracker without call steps | params_flow.rb:192:24:192:32 | call to taint | | params_flow.rb:192:30:192:31 | 79 | type tracker without call steps | params_flow.rb:192:30:192:31 | 79 | -| params_flow.rb:192:30:192:31 | 79 | type tracker without call steps with content splat position 0 | params_flow.rb:192:24:192:32 | synthetic splat argument | -| params_flow.rb:192:30:192:31 | 79 | type tracker without call steps with content splat position 1 | params_flow.rb:192:1:192:33 | synthetic splat argument | +| params_flow.rb:192:30:192:31 | 79 | type tracker without call steps with content element 0 | params_flow.rb:192:24:192:32 | synthetic splat argument | +| params_flow.rb:192:30:192:31 | 79 | type tracker without call steps with content element 1 | params_flow.rb:192:1:192:33 | synthetic splat argument | | params_flow.rb:193:1:193:11 | call to sink | type tracker without call steps | params_flow.rb:193:1:193:11 | call to sink | -| params_flow.rb:193:1:193:11 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:193:1:193:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:193:1:193:11 | synthetic splat argument | | params_flow.rb:193:6:193:10 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:193:6:193:10 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:193:6:193:10 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:193:6:193:10 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:193:6:193:10 | ...[...] | type tracker without call steps | params_flow.rb:193:6:193:10 | ...[...] | -| params_flow.rb:193:6:193:10 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:193:1:193:11 | synthetic splat argument | +| params_flow.rb:193:6:193:10 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:193:1:193:11 | synthetic splat argument | | params_flow.rb:193:6:193:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:193:6:193:10 | synthetic splat argument | | params_flow.rb:193:9:193:9 | 0 | type tracker without call steps | params_flow.rb:193:9:193:9 | 0 | -| params_flow.rb:193:9:193:9 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:193:6:193:10 | synthetic splat argument | +| params_flow.rb:193:9:193:9 | 0 | type tracker without call steps with content element 0 | params_flow.rb:193:6:193:10 | synthetic splat argument | | params_flow.rb:195:1:195:8 | int_hash | type tracker without call steps | params_flow.rb:195:1:195:8 | int_hash | | params_flow.rb:195:12:198:1 | Hash | type tracker without call steps | params_flow.rb:195:12:198:1 | Hash | | params_flow.rb:195:12:198:1 | call to [] | type tracker with call steps | params_flow.rb:200:9:200:9 | x | @@ -3602,28 +3170,26 @@ track | params_flow.rb:195:12:198:1 | synthetic splat argument | type tracker without call steps | params_flow.rb:195:12:198:1 | synthetic splat argument | | params_flow.rb:196:5:196:5 | 0 | type tracker without call steps | params_flow.rb:196:5:196:5 | 0 | | params_flow.rb:196:5:196:18 | Pair | type tracker without call steps | params_flow.rb:196:5:196:18 | Pair | -| params_flow.rb:196:5:196:18 | Pair | type tracker without call steps with content splat position 0 | params_flow.rb:195:12:198:1 | synthetic splat argument | +| params_flow.rb:196:5:196:18 | Pair | type tracker without call steps with content element 0 | params_flow.rb:195:12:198:1 | synthetic splat argument | | params_flow.rb:196:10:196:18 | call to taint | type tracker with call steps | params_flow.rb:200:9:200:9 | x | | params_flow.rb:196:10:196:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:200:1:205:3 | synthetic splat parameter | | params_flow.rb:196:10:196:18 | call to taint | type tracker without call steps | params_flow.rb:196:10:196:18 | call to taint | | params_flow.rb:196:10:196:18 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:195:12:198:1 | call to [] | | params_flow.rb:196:10:196:18 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:195:12:198:1 | synthetic hash-splat argument | | params_flow.rb:196:10:196:18 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:207:5:207:13 | * ... | -| params_flow.rb:196:10:196:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:196:10:196:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:196:10:196:18 | synthetic splat argument | | params_flow.rb:196:16:196:17 | 80 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:196:16:196:17 | 80 | type tracker with call steps | params_flow.rb:200:9:200:9 | x | | params_flow.rb:196:16:196:17 | 80 | type tracker with call steps with content element 0 | params_flow.rb:200:1:205:3 | synthetic splat parameter | -| params_flow.rb:196:16:196:17 | 80 | type tracker with call steps with content splat position 0 | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:196:16:196:17 | 80 | type tracker without call steps | params_flow.rb:196:10:196:18 | call to taint | | params_flow.rb:196:16:196:17 | 80 | type tracker without call steps | params_flow.rb:196:16:196:17 | 80 | | params_flow.rb:196:16:196:17 | 80 | type tracker without call steps with content element 0 | params_flow.rb:195:12:198:1 | call to [] | | params_flow.rb:196:16:196:17 | 80 | type tracker without call steps with content element 0 | params_flow.rb:195:12:198:1 | synthetic hash-splat argument | +| params_flow.rb:196:16:196:17 | 80 | type tracker without call steps with content element 0 | params_flow.rb:196:10:196:18 | synthetic splat argument | | params_flow.rb:196:16:196:17 | 80 | type tracker without call steps with content element 0 | params_flow.rb:207:5:207:13 | * ... | -| params_flow.rb:196:16:196:17 | 80 | type tracker without call steps with content splat position 0 | params_flow.rb:196:10:196:18 | synthetic splat argument | | params_flow.rb:197:5:197:5 | 1 | type tracker without call steps | params_flow.rb:197:5:197:5 | 1 | | params_flow.rb:197:5:197:12 | Pair | type tracker without call steps | params_flow.rb:197:5:197:12 | Pair | -| params_flow.rb:197:5:197:12 | Pair | type tracker without call steps with content splat position 1 | params_flow.rb:195:12:198:1 | synthetic splat argument | +| params_flow.rb:197:5:197:12 | Pair | type tracker without call steps with content element 1 | params_flow.rb:195:12:198:1 | synthetic splat argument | | params_flow.rb:197:10:197:12 | "B" | type tracker with call steps | params_flow.rb:200:12:200:12 | y | | params_flow.rb:197:10:197:12 | "B" | type tracker with call steps with content element 1 | params_flow.rb:200:1:205:3 | synthetic splat parameter | | params_flow.rb:197:10:197:12 | "B" | type tracker without call steps | params_flow.rb:197:10:197:12 | "B" | @@ -3640,50 +3206,42 @@ track | params_flow.rb:200:12:200:12 | y | type tracker without call steps | params_flow.rb:200:12:200:12 | y | | params_flow.rb:200:12:200:12 | y | type tracker without call steps | params_flow.rb:200:12:200:12 | y | | params_flow.rb:201:5:201:15 | call to sink | type tracker without call steps | params_flow.rb:201:5:201:15 | call to sink | -| params_flow.rb:201:5:201:15 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:201:5:201:15 | synthetic splat argument | type tracker without call steps | params_flow.rb:201:5:201:15 | synthetic splat argument | | params_flow.rb:201:11:201:14 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:201:11:201:14 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:201:11:201:14 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:201:11:201:14 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:201:11:201:14 | ...[...] | type tracker without call steps | params_flow.rb:201:11:201:14 | ...[...] | -| params_flow.rb:201:11:201:14 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:201:5:201:15 | synthetic splat argument | +| params_flow.rb:201:11:201:14 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:201:5:201:15 | synthetic splat argument | | params_flow.rb:201:11:201:14 | synthetic splat argument | type tracker without call steps | params_flow.rb:201:11:201:14 | synthetic splat argument | | params_flow.rb:201:13:201:13 | 0 | type tracker without call steps | params_flow.rb:201:13:201:13 | 0 | -| params_flow.rb:201:13:201:13 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:201:11:201:14 | synthetic splat argument | +| params_flow.rb:201:13:201:13 | 0 | type tracker without call steps with content element 0 | params_flow.rb:201:11:201:14 | synthetic splat argument | | params_flow.rb:202:5:202:15 | call to sink | type tracker without call steps | params_flow.rb:202:5:202:15 | call to sink | -| params_flow.rb:202:5:202:15 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:202:5:202:15 | synthetic splat argument | type tracker without call steps | params_flow.rb:202:5:202:15 | synthetic splat argument | | params_flow.rb:202:11:202:14 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:202:11:202:14 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:202:11:202:14 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:202:11:202:14 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:202:11:202:14 | ...[...] | type tracker without call steps | params_flow.rb:202:11:202:14 | ...[...] | -| params_flow.rb:202:11:202:14 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:202:5:202:15 | synthetic splat argument | +| params_flow.rb:202:11:202:14 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:202:5:202:15 | synthetic splat argument | | params_flow.rb:202:11:202:14 | synthetic splat argument | type tracker without call steps | params_flow.rb:202:11:202:14 | synthetic splat argument | | params_flow.rb:202:13:202:13 | 1 | type tracker without call steps | params_flow.rb:202:13:202:13 | 1 | -| params_flow.rb:202:13:202:13 | 1 | type tracker without call steps with content splat position 0 | params_flow.rb:202:11:202:14 | synthetic splat argument | +| params_flow.rb:202:13:202:13 | 1 | type tracker without call steps with content element 0 | params_flow.rb:202:11:202:14 | synthetic splat argument | | params_flow.rb:203:5:203:15 | call to sink | type tracker without call steps | params_flow.rb:203:5:203:15 | call to sink | -| params_flow.rb:203:5:203:15 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:203:5:203:15 | synthetic splat argument | type tracker without call steps | params_flow.rb:203:5:203:15 | synthetic splat argument | | params_flow.rb:203:11:203:14 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:203:11:203:14 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:203:11:203:14 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:203:11:203:14 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:203:11:203:14 | ...[...] | type tracker without call steps | params_flow.rb:203:11:203:14 | ...[...] | -| params_flow.rb:203:11:203:14 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:203:5:203:15 | synthetic splat argument | +| params_flow.rb:203:11:203:14 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:203:5:203:15 | synthetic splat argument | | params_flow.rb:203:11:203:14 | synthetic splat argument | type tracker without call steps | params_flow.rb:203:11:203:14 | synthetic splat argument | | params_flow.rb:203:13:203:13 | 0 | type tracker without call steps | params_flow.rb:203:13:203:13 | 0 | -| params_flow.rb:203:13:203:13 | 0 | type tracker without call steps with content splat position 0 | params_flow.rb:203:11:203:14 | synthetic splat argument | +| params_flow.rb:203:13:203:13 | 0 | type tracker without call steps with content element 0 | params_flow.rb:203:11:203:14 | synthetic splat argument | | params_flow.rb:204:5:204:15 | call to sink | type tracker without call steps | params_flow.rb:204:5:204:15 | call to sink | | params_flow.rb:204:5:204:15 | call to sink | type tracker without call steps | params_flow.rb:207:1:207:14 | call to foo | -| params_flow.rb:204:5:204:15 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:204:5:204:15 | synthetic splat argument | type tracker without call steps | params_flow.rb:204:5:204:15 | synthetic splat argument | | params_flow.rb:204:11:204:14 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:204:11:204:14 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:5:1:7:3 | synthetic splat parameter | -| params_flow.rb:204:11:204:14 | ...[...] | type tracker with call steps with content splat position 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | +| params_flow.rb:204:11:204:14 | ...[...] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:204:11:204:14 | ...[...] | type tracker without call steps | params_flow.rb:204:11:204:14 | ...[...] | -| params_flow.rb:204:11:204:14 | ...[...] | type tracker without call steps with content splat position 0 | params_flow.rb:204:5:204:15 | synthetic splat argument | +| params_flow.rb:204:11:204:14 | ...[...] | type tracker without call steps with content element 0 | params_flow.rb:204:5:204:15 | synthetic splat argument | | params_flow.rb:204:11:204:14 | synthetic splat argument | type tracker without call steps | params_flow.rb:204:11:204:14 | synthetic splat argument | | params_flow.rb:204:13:204:13 | 1 | type tracker without call steps | params_flow.rb:204:13:204:13 | 1 | -| params_flow.rb:204:13:204:13 | 1 | type tracker without call steps with content splat position 0 | params_flow.rb:204:11:204:14 | synthetic splat argument | +| params_flow.rb:204:13:204:13 | 1 | type tracker without call steps with content element 0 | params_flow.rb:204:11:204:14 | synthetic splat argument | | params_flow.rb:207:1:207:14 | call to foo | type tracker without call steps | params_flow.rb:207:1:207:14 | call to foo | | params_flow.rb:207:5:207:13 | * ... | type tracker with call steps | params_flow.rb:200:1:205:3 | synthetic splat parameter | | params_flow.rb:207:5:207:13 | * ... | type tracker without call steps | params_flow.rb:207:5:207:13 | * ... | @@ -4203,17 +3761,14 @@ trackEnd | params_flow.rb:9:20:9:21 | p2 | params_flow.rb:9:20:9:21 | p2 | | params_flow.rb:9:20:9:21 | p2 | params_flow.rb:11:10:11:11 | p2 | | params_flow.rb:10:5:10:11 | call to sink | params_flow.rb:10:5:10:11 | call to sink | -| params_flow.rb:10:5:10:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:10:5:10:11 | synthetic splat argument | params_flow.rb:10:5:10:11 | synthetic splat argument | | params_flow.rb:11:5:11:11 | call to sink | params_flow.rb:11:5:11:11 | call to sink | | params_flow.rb:11:5:11:11 | call to sink | params_flow.rb:14:1:14:30 | call to positional | | params_flow.rb:11:5:11:11 | call to sink | params_flow.rb:44:1:44:28 | call to positional | | params_flow.rb:11:5:11:11 | call to sink | params_flow.rb:47:1:47:17 | call to positional | | params_flow.rb:11:5:11:11 | call to sink | params_flow.rb:118:1:118:14 | call to positional | -| params_flow.rb:11:5:11:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:11:5:11:11 | synthetic splat argument | params_flow.rb:11:5:11:11 | synthetic splat argument | | params_flow.rb:14:1:14:30 | call to positional | params_flow.rb:14:1:14:30 | call to positional | -| params_flow.rb:14:1:14:30 | synthetic splat argument | params_flow.rb:9:1:12:3 | synthetic splat parameter | | params_flow.rb:14:1:14:30 | synthetic splat argument | params_flow.rb:14:1:14:30 | synthetic splat argument | | params_flow.rb:14:12:14:19 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:14:12:14:19 | call to taint | params_flow.rb:5:10:5:10 | x | @@ -4222,7 +3777,6 @@ trackEnd | params_flow.rb:14:12:14:19 | call to taint | params_flow.rb:9:16:9:17 | p1 | | params_flow.rb:14:12:14:19 | call to taint | params_flow.rb:10:10:10:11 | p1 | | params_flow.rb:14:12:14:19 | call to taint | params_flow.rb:14:12:14:19 | call to taint | -| params_flow.rb:14:12:14:19 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:14:12:14:19 | synthetic splat argument | params_flow.rb:14:12:14:19 | synthetic splat argument | | params_flow.rb:14:18:14:18 | 1 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:14:18:14:18 | 1 | params_flow.rb:1:11:1:11 | x | @@ -4242,7 +3796,6 @@ trackEnd | params_flow.rb:14:22:14:29 | call to taint | params_flow.rb:9:20:9:21 | p2 | | params_flow.rb:14:22:14:29 | call to taint | params_flow.rb:11:10:11:11 | p2 | | params_flow.rb:14:22:14:29 | call to taint | params_flow.rb:14:22:14:29 | call to taint | -| params_flow.rb:14:22:14:29 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:14:22:14:29 | synthetic splat argument | params_flow.rb:14:22:14:29 | synthetic splat argument | | params_flow.rb:14:28:14:28 | 2 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:14:28:14:28 | 2 | params_flow.rb:1:11:1:11 | x | @@ -4280,14 +3833,12 @@ trackEnd | params_flow.rb:16:18:16:19 | p2 | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:16:18:16:19 | p2 | params_flow.rb:18:10:18:11 | p2 | | params_flow.rb:17:5:17:11 | call to sink | params_flow.rb:17:5:17:11 | call to sink | -| params_flow.rb:17:5:17:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:17:5:17:11 | synthetic splat argument | params_flow.rb:17:5:17:11 | synthetic splat argument | | params_flow.rb:18:5:18:11 | call to sink | params_flow.rb:18:5:18:11 | call to sink | | params_flow.rb:18:5:18:11 | call to sink | params_flow.rb:21:1:21:35 | call to keyword | | params_flow.rb:18:5:18:11 | call to sink | params_flow.rb:22:1:22:35 | call to keyword | | params_flow.rb:18:5:18:11 | call to sink | params_flow.rb:23:1:23:41 | call to keyword | | params_flow.rb:18:5:18:11 | call to sink | params_flow.rb:41:1:41:30 | call to keyword | -| params_flow.rb:18:5:18:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:18:5:18:11 | synthetic splat argument | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:21:1:21:35 | call to keyword | params_flow.rb:21:1:21:35 | call to keyword | | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | @@ -4301,7 +3852,6 @@ trackEnd | params_flow.rb:21:13:21:20 | call to taint | params_flow.rb:16:13:16:14 | p1 | | params_flow.rb:21:13:21:20 | call to taint | params_flow.rb:17:10:17:11 | p1 | | params_flow.rb:21:13:21:20 | call to taint | params_flow.rb:21:13:21:20 | call to taint | -| params_flow.rb:21:13:21:20 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:21:13:21:20 | synthetic splat argument | params_flow.rb:21:13:21:20 | synthetic splat argument | | params_flow.rb:21:19:21:19 | 3 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:21:19:21:19 | 3 | params_flow.rb:1:11:1:11 | x | @@ -4323,7 +3873,6 @@ trackEnd | params_flow.rb:21:27:21:34 | call to taint | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:21:27:21:34 | call to taint | params_flow.rb:18:10:18:11 | p2 | | params_flow.rb:21:27:21:34 | call to taint | params_flow.rb:21:27:21:34 | call to taint | -| params_flow.rb:21:27:21:34 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:21:27:21:34 | synthetic splat argument | params_flow.rb:21:27:21:34 | synthetic splat argument | | params_flow.rb:21:33:21:33 | 4 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:21:33:21:33 | 4 | params_flow.rb:1:11:1:11 | x | @@ -4348,7 +3897,6 @@ trackEnd | params_flow.rb:22:13:22:20 | call to taint | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:22:13:22:20 | call to taint | params_flow.rb:18:10:18:11 | p2 | | params_flow.rb:22:13:22:20 | call to taint | params_flow.rb:22:13:22:20 | call to taint | -| params_flow.rb:22:13:22:20 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:22:13:22:20 | synthetic splat argument | params_flow.rb:22:13:22:20 | synthetic splat argument | | params_flow.rb:22:19:22:19 | 5 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:22:19:22:19 | 5 | params_flow.rb:1:11:1:11 | x | @@ -4370,7 +3918,6 @@ trackEnd | params_flow.rb:22:27:22:34 | call to taint | params_flow.rb:16:13:16:14 | p1 | | params_flow.rb:22:27:22:34 | call to taint | params_flow.rb:17:10:17:11 | p1 | | params_flow.rb:22:27:22:34 | call to taint | params_flow.rb:22:27:22:34 | call to taint | -| params_flow.rb:22:27:22:34 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:22:27:22:34 | synthetic splat argument | params_flow.rb:22:27:22:34 | synthetic splat argument | | params_flow.rb:22:33:22:33 | 6 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:22:33:22:33 | 6 | params_flow.rb:1:11:1:11 | x | @@ -4395,7 +3942,6 @@ trackEnd | params_flow.rb:23:16:23:23 | call to taint | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:23:16:23:23 | call to taint | params_flow.rb:18:10:18:11 | p2 | | params_flow.rb:23:16:23:23 | call to taint | params_flow.rb:23:16:23:23 | call to taint | -| params_flow.rb:23:16:23:23 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:23:16:23:23 | synthetic splat argument | params_flow.rb:23:16:23:23 | synthetic splat argument | | params_flow.rb:23:22:23:22 | 7 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:23:22:23:22 | 7 | params_flow.rb:1:11:1:11 | x | @@ -4417,7 +3963,6 @@ trackEnd | params_flow.rb:23:33:23:40 | call to taint | params_flow.rb:16:13:16:14 | p1 | | params_flow.rb:23:33:23:40 | call to taint | params_flow.rb:17:10:17:11 | p1 | | params_flow.rb:23:33:23:40 | call to taint | params_flow.rb:23:33:23:40 | call to taint | -| params_flow.rb:23:33:23:40 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:23:33:23:40 | synthetic splat argument | params_flow.rb:23:33:23:40 | synthetic splat argument | | params_flow.rb:23:39:23:39 | 8 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:23:39:23:39 | 8 | params_flow.rb:1:11:1:11 | x | @@ -4458,10 +4003,8 @@ trackEnd | params_flow.rb:25:17:25:24 | **kwargs | params_flow.rb:30:11:30:16 | kwargs | | params_flow.rb:25:19:25:24 | kwargs | params_flow.rb:25:19:25:24 | kwargs | | params_flow.rb:26:5:26:11 | call to sink | params_flow.rb:26:5:26:11 | call to sink | -| params_flow.rb:26:5:26:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:26:5:26:11 | synthetic splat argument | params_flow.rb:26:5:26:11 | synthetic splat argument | | params_flow.rb:27:5:27:22 | call to sink | params_flow.rb:27:5:27:22 | call to sink | -| params_flow.rb:27:5:27:22 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:27:5:27:22 | synthetic splat argument | params_flow.rb:27:5:27:22 | synthetic splat argument | | params_flow.rb:27:11:27:21 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:27:11:27:21 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -4471,7 +4014,6 @@ trackEnd | params_flow.rb:27:11:27:21 | synthetic splat argument | params_flow.rb:27:11:27:21 | synthetic splat argument | | params_flow.rb:27:18:27:20 | :p1 | params_flow.rb:27:18:27:20 | :p1 | | params_flow.rb:28:5:28:22 | call to sink | params_flow.rb:28:5:28:22 | call to sink | -| params_flow.rb:28:5:28:22 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:28:5:28:22 | synthetic splat argument | params_flow.rb:28:5:28:22 | synthetic splat argument | | params_flow.rb:28:11:28:21 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:28:11:28:21 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -4481,7 +4023,6 @@ trackEnd | params_flow.rb:28:11:28:21 | synthetic splat argument | params_flow.rb:28:11:28:21 | synthetic splat argument | | params_flow.rb:28:18:28:20 | :p2 | params_flow.rb:28:18:28:20 | :p2 | | params_flow.rb:29:5:29:22 | call to sink | params_flow.rb:29:5:29:22 | call to sink | -| params_flow.rb:29:5:29:22 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:29:5:29:22 | synthetic splat argument | params_flow.rb:29:5:29:22 | synthetic splat argument | | params_flow.rb:29:11:29:21 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:29:11:29:21 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -4494,7 +4035,6 @@ trackEnd | params_flow.rb:30:5:30:22 | call to sink | params_flow.rb:33:1:33:58 | call to kwargs | | params_flow.rb:30:5:30:22 | call to sink | params_flow.rb:35:1:35:29 | call to kwargs | | params_flow.rb:30:5:30:22 | call to sink | params_flow.rb:38:1:38:14 | call to kwargs | -| params_flow.rb:30:5:30:22 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:30:5:30:22 | synthetic splat argument | params_flow.rb:30:5:30:22 | synthetic splat argument | | params_flow.rb:30:11:30:21 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:30:11:30:21 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -4523,7 +4063,6 @@ trackEnd | params_flow.rb:33:12:33:19 | call to taint | params_flow.rb:27:10:27:22 | ( ... ) | | params_flow.rb:33:12:33:19 | call to taint | params_flow.rb:27:11:27:21 | ...[...] | | params_flow.rb:33:12:33:19 | call to taint | params_flow.rb:33:12:33:19 | call to taint | -| params_flow.rb:33:12:33:19 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:33:12:33:19 | synthetic splat argument | params_flow.rb:33:12:33:19 | synthetic splat argument | | params_flow.rb:33:18:33:18 | 9 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:18:33:18 | 9 | params_flow.rb:1:11:1:11 | x | @@ -4546,7 +4085,6 @@ trackEnd | params_flow.rb:33:26:33:34 | call to taint | params_flow.rb:28:10:28:22 | ( ... ) | | params_flow.rb:33:26:33:34 | call to taint | params_flow.rb:28:11:28:21 | ...[...] | | params_flow.rb:33:26:33:34 | call to taint | params_flow.rb:33:26:33:34 | call to taint | -| params_flow.rb:33:26:33:34 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:33:26:33:34 | synthetic splat argument | params_flow.rb:33:26:33:34 | synthetic splat argument | | params_flow.rb:33:32:33:33 | 10 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:32:33:33 | 10 | params_flow.rb:1:11:1:11 | x | @@ -4566,7 +4104,6 @@ trackEnd | params_flow.rb:33:41:33:49 | call to taint | params_flow.rb:29:10:29:22 | ( ... ) | | params_flow.rb:33:41:33:49 | call to taint | params_flow.rb:29:11:29:21 | ...[...] | | params_flow.rb:33:41:33:49 | call to taint | params_flow.rb:33:41:33:49 | call to taint | -| params_flow.rb:33:41:33:49 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:33:41:33:49 | synthetic splat argument | params_flow.rb:33:41:33:49 | synthetic splat argument | | params_flow.rb:33:47:33:48 | 11 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:47:33:48 | 11 | params_flow.rb:1:11:1:11 | x | @@ -4605,7 +4142,6 @@ trackEnd | params_flow.rb:34:14:34:22 | call to taint | params_flow.rb:29:10:29:22 | ( ... ) | | params_flow.rb:34:14:34:22 | call to taint | params_flow.rb:29:11:29:21 | ...[...] | | params_flow.rb:34:14:34:22 | call to taint | params_flow.rb:34:14:34:22 | call to taint | -| params_flow.rb:34:14:34:22 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:34:14:34:22 | synthetic splat argument | params_flow.rb:34:14:34:22 | synthetic splat argument | | params_flow.rb:34:20:34:21 | 12 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:34:20:34:21 | 12 | params_flow.rb:1:11:1:11 | x | @@ -4645,7 +4181,6 @@ trackEnd | params_flow.rb:35:12:35:20 | call to taint | params_flow.rb:27:10:27:22 | ( ... ) | | params_flow.rb:35:12:35:20 | call to taint | params_flow.rb:27:11:27:21 | ...[...] | | params_flow.rb:35:12:35:20 | call to taint | params_flow.rb:35:12:35:20 | call to taint | -| params_flow.rb:35:12:35:20 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:35:12:35:20 | synthetic splat argument | params_flow.rb:35:12:35:20 | synthetic splat argument | | params_flow.rb:35:18:35:19 | 13 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:35:18:35:19 | 13 | params_flow.rb:1:11:1:11 | x | @@ -4690,7 +4225,6 @@ trackEnd | params_flow.rb:37:16:37:24 | call to taint | params_flow.rb:27:10:27:22 | ( ... ) | | params_flow.rb:37:16:37:24 | call to taint | params_flow.rb:27:11:27:21 | ...[...] | | params_flow.rb:37:16:37:24 | call to taint | params_flow.rb:37:16:37:24 | call to taint | -| params_flow.rb:37:16:37:24 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:37:16:37:24 | synthetic splat argument | params_flow.rb:37:16:37:24 | synthetic splat argument | | params_flow.rb:37:22:37:23 | 14 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:37:22:37:23 | 14 | params_flow.rb:1:11:1:11 | x | @@ -4713,7 +4247,6 @@ trackEnd | params_flow.rb:37:34:37:42 | call to taint | params_flow.rb:28:10:28:22 | ( ... ) | | params_flow.rb:37:34:37:42 | call to taint | params_flow.rb:28:11:28:21 | ...[...] | | params_flow.rb:37:34:37:42 | call to taint | params_flow.rb:37:34:37:42 | call to taint | -| params_flow.rb:37:34:37:42 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:37:34:37:42 | synthetic splat argument | params_flow.rb:37:34:37:42 | synthetic splat argument | | params_flow.rb:37:40:37:41 | 15 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:37:40:37:41 | 15 | params_flow.rb:1:11:1:11 | x | @@ -4754,7 +4287,6 @@ trackEnd | params_flow.rb:40:16:40:24 | call to taint | params_flow.rb:16:13:16:14 | p1 | | params_flow.rb:40:16:40:24 | call to taint | params_flow.rb:17:10:17:11 | p1 | | params_flow.rb:40:16:40:24 | call to taint | params_flow.rb:40:16:40:24 | call to taint | -| params_flow.rb:40:16:40:24 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:40:16:40:24 | synthetic splat argument | params_flow.rb:40:16:40:24 | synthetic splat argument | | params_flow.rb:40:22:40:23 | 16 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:40:22:40:23 | 16 | params_flow.rb:1:11:1:11 | x | @@ -4779,7 +4311,6 @@ trackEnd | params_flow.rb:41:13:41:21 | call to taint | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:41:13:41:21 | call to taint | params_flow.rb:18:10:18:11 | p2 | | params_flow.rb:41:13:41:21 | call to taint | params_flow.rb:41:13:41:21 | call to taint | -| params_flow.rb:41:13:41:21 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:41:13:41:21 | synthetic splat argument | params_flow.rb:41:13:41:21 | synthetic splat argument | | params_flow.rb:41:19:41:20 | 17 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:41:19:41:20 | 17 | params_flow.rb:1:11:1:11 | x | @@ -4824,7 +4355,6 @@ trackEnd | params_flow.rb:43:9:43:17 | call to taint | params_flow.rb:9:20:9:21 | p2 | | params_flow.rb:43:9:43:17 | call to taint | params_flow.rb:11:10:11:11 | p2 | | params_flow.rb:43:9:43:17 | call to taint | params_flow.rb:43:9:43:17 | call to taint | -| params_flow.rb:43:9:43:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:43:9:43:17 | synthetic splat argument | params_flow.rb:43:9:43:17 | synthetic splat argument | | params_flow.rb:43:15:43:16 | 17 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:43:15:43:16 | 17 | params_flow.rb:1:11:1:11 | x | @@ -4847,7 +4377,6 @@ trackEnd | params_flow.rb:44:12:44:20 | call to taint | params_flow.rb:9:16:9:17 | p1 | | params_flow.rb:44:12:44:20 | call to taint | params_flow.rb:10:10:10:11 | p1 | | params_flow.rb:44:12:44:20 | call to taint | params_flow.rb:44:12:44:20 | call to taint | -| params_flow.rb:44:12:44:20 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:44:12:44:20 | synthetic splat argument | params_flow.rb:44:12:44:20 | synthetic splat argument | | params_flow.rb:44:18:44:19 | 16 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:44:18:44:19 | 16 | params_flow.rb:1:11:1:11 | x | @@ -4891,7 +4420,6 @@ trackEnd | params_flow.rb:46:9:46:17 | call to taint | params_flow.rb:9:16:9:17 | p1 | | params_flow.rb:46:9:46:17 | call to taint | params_flow.rb:10:10:10:11 | p1 | | params_flow.rb:46:9:46:17 | call to taint | params_flow.rb:46:9:46:17 | call to taint | -| params_flow.rb:46:9:46:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:46:9:46:17 | synthetic splat argument | params_flow.rb:46:9:46:17 | synthetic splat argument | | params_flow.rb:46:15:46:16 | 18 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:46:15:46:16 | 18 | params_flow.rb:1:11:1:11 | x | @@ -4911,7 +4439,6 @@ trackEnd | params_flow.rb:46:20:46:28 | call to taint | params_flow.rb:9:20:9:21 | p2 | | params_flow.rb:46:20:46:28 | call to taint | params_flow.rb:11:10:11:11 | p2 | | params_flow.rb:46:20:46:28 | call to taint | params_flow.rb:46:20:46:28 | call to taint | -| params_flow.rb:46:20:46:28 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:46:20:46:28 | synthetic splat argument | params_flow.rb:46:20:46:28 | synthetic splat argument | | params_flow.rb:46:26:46:27 | 19 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:46:26:46:27 | 19 | params_flow.rb:1:11:1:11 | x | @@ -4951,10 +4478,8 @@ trackEnd | params_flow.rb:49:17:49:24 | *posargs | params_flow.rb:52:11:52:17 | posargs | | params_flow.rb:49:18:49:24 | posargs | params_flow.rb:49:18:49:24 | posargs | | params_flow.rb:50:5:50:11 | call to sink | params_flow.rb:50:5:50:11 | call to sink | -| params_flow.rb:50:5:50:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:50:5:50:11 | synthetic splat argument | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:51:5:51:21 | call to sink | params_flow.rb:51:5:51:21 | call to sink | -| params_flow.rb:51:5:51:21 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:51:5:51:21 | synthetic splat argument | params_flow.rb:51:5:51:21 | synthetic splat argument | | params_flow.rb:51:11:51:20 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:51:11:51:20 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -4967,7 +4492,6 @@ trackEnd | params_flow.rb:52:5:52:21 | call to sink | params_flow.rb:55:1:55:29 | call to posargs | | params_flow.rb:52:5:52:21 | call to sink | params_flow.rb:58:1:58:25 | call to posargs | | params_flow.rb:52:5:52:21 | call to sink | params_flow.rb:61:1:61:14 | call to posargs | -| params_flow.rb:52:5:52:21 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:52:5:52:21 | synthetic splat argument | params_flow.rb:52:5:52:21 | synthetic splat argument | | params_flow.rb:52:11:52:20 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:52:11:52:20 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -4986,7 +4510,6 @@ trackEnd | params_flow.rb:55:9:55:17 | call to taint | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:55:9:55:17 | call to taint | params_flow.rb:50:10:50:11 | p1 | | params_flow.rb:55:9:55:17 | call to taint | params_flow.rb:55:9:55:17 | call to taint | -| params_flow.rb:55:9:55:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:55:9:55:17 | synthetic splat argument | params_flow.rb:55:9:55:17 | synthetic splat argument | | params_flow.rb:55:15:55:16 | 20 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:55:15:55:16 | 20 | params_flow.rb:1:11:1:11 | x | @@ -5005,7 +4528,6 @@ trackEnd | params_flow.rb:55:20:55:28 | call to taint | params_flow.rb:51:10:51:21 | ( ... ) | | params_flow.rb:55:20:55:28 | call to taint | params_flow.rb:51:11:51:20 | ...[...] | | params_flow.rb:55:20:55:28 | call to taint | params_flow.rb:55:20:55:28 | call to taint | -| params_flow.rb:55:20:55:28 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:55:20:55:28 | synthetic splat argument | params_flow.rb:55:20:55:28 | synthetic splat argument | | params_flow.rb:55:26:55:27 | 21 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:55:26:55:27 | 21 | params_flow.rb:1:11:1:11 | x | @@ -5044,7 +4566,6 @@ trackEnd | params_flow.rb:57:9:57:17 | call to taint | params_flow.rb:51:10:51:21 | ( ... ) | | params_flow.rb:57:9:57:17 | call to taint | params_flow.rb:51:11:51:20 | ...[...] | | params_flow.rb:57:9:57:17 | call to taint | params_flow.rb:57:9:57:17 | call to taint | -| params_flow.rb:57:9:57:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:57:9:57:17 | synthetic splat argument | params_flow.rb:57:9:57:17 | synthetic splat argument | | params_flow.rb:57:15:57:16 | 22 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:57:15:57:16 | 22 | params_flow.rb:1:11:1:11 | x | @@ -5066,7 +4587,6 @@ trackEnd | params_flow.rb:58:9:58:17 | call to taint | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:58:9:58:17 | call to taint | params_flow.rb:50:10:50:11 | p1 | | params_flow.rb:58:9:58:17 | call to taint | params_flow.rb:58:9:58:17 | call to taint | -| params_flow.rb:58:9:58:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:58:9:58:17 | synthetic splat argument | params_flow.rb:58:9:58:17 | synthetic splat argument | | params_flow.rb:58:15:58:16 | 23 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:58:15:58:16 | 23 | params_flow.rb:1:11:1:11 | x | @@ -5114,7 +4634,6 @@ trackEnd | params_flow.rb:60:9:60:17 | call to taint | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:60:9:60:17 | call to taint | params_flow.rb:50:10:50:11 | p1 | | params_flow.rb:60:9:60:17 | call to taint | params_flow.rb:60:9:60:17 | call to taint | -| params_flow.rb:60:9:60:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:60:9:60:17 | synthetic splat argument | params_flow.rb:60:9:60:17 | synthetic splat argument | | params_flow.rb:60:15:60:16 | 24 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:60:15:60:16 | 24 | params_flow.rb:1:11:1:11 | x | @@ -5133,7 +4652,6 @@ trackEnd | params_flow.rb:60:20:60:28 | call to taint | params_flow.rb:51:10:51:21 | ( ... ) | | params_flow.rb:60:20:60:28 | call to taint | params_flow.rb:51:11:51:20 | ...[...] | | params_flow.rb:60:20:60:28 | call to taint | params_flow.rb:60:20:60:28 | call to taint | -| params_flow.rb:60:20:60:28 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:60:20:60:28 | synthetic splat argument | params_flow.rb:60:20:60:28 | synthetic splat argument | | params_flow.rb:60:26:60:27 | 25 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:60:26:60:27 | 25 | params_flow.rb:1:11:1:11 | x | @@ -5157,7 +4675,6 @@ trackEnd | params_flow.rb:63:8:63:16 | call to taint | params_flow.rb:63:8:63:16 | call to taint | | params_flow.rb:63:8:63:16 | call to taint | params_flow.rb:65:10:65:13 | ...[...] | | params_flow.rb:63:8:63:16 | call to taint | params_flow.rb:67:13:67:16 | args | -| params_flow.rb:63:8:63:16 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:63:8:63:16 | synthetic splat argument | params_flow.rb:63:8:63:16 | synthetic splat argument | | params_flow.rb:63:14:63:15 | 26 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:63:14:63:15 | 26 | params_flow.rb:1:11:1:11 | x | @@ -5185,7 +4702,6 @@ trackEnd | params_flow.rb:64:17:64:17 | x | params_flow.rb:64:17:64:17 | x | | params_flow.rb:65:5:65:13 | call to sink | params_flow.rb:65:5:65:13 | call to sink | | params_flow.rb:65:5:65:13 | call to sink | params_flow.rb:67:1:67:17 | call to splatstuff | -| params_flow.rb:65:5:65:13 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:65:5:65:13 | synthetic splat argument | params_flow.rb:65:5:65:13 | synthetic splat argument | | params_flow.rb:65:10:65:13 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:65:10:65:13 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -5246,13 +4762,10 @@ trackEnd | params_flow.rb:69:27:69:27 | r | params_flow.rb:69:27:69:27 | r | | params_flow.rb:69:27:69:27 | r | params_flow.rb:75:10:75:10 | r | | params_flow.rb:70:5:70:10 | call to sink | params_flow.rb:70:5:70:10 | call to sink | -| params_flow.rb:70:5:70:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:70:5:70:10 | synthetic splat argument | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:71:5:71:10 | call to sink | params_flow.rb:71:5:71:10 | call to sink | -| params_flow.rb:71:5:71:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:71:5:71:10 | synthetic splat argument | params_flow.rb:71:5:71:10 | synthetic splat argument | | params_flow.rb:72:5:72:13 | call to sink | params_flow.rb:72:5:72:13 | call to sink | -| params_flow.rb:72:5:72:13 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:72:5:72:13 | synthetic splat argument | params_flow.rb:72:5:72:13 | synthetic splat argument | | params_flow.rb:72:10:72:13 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:72:10:72:13 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -5261,7 +4774,6 @@ trackEnd | params_flow.rb:72:10:72:13 | synthetic splat argument | params_flow.rb:72:10:72:13 | synthetic splat argument | | params_flow.rb:72:12:72:12 | 0 | params_flow.rb:72:12:72:12 | 0 | | params_flow.rb:73:5:73:13 | call to sink | params_flow.rb:73:5:73:13 | call to sink | -| params_flow.rb:73:5:73:13 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:73:5:73:13 | synthetic splat argument | params_flow.rb:73:5:73:13 | synthetic splat argument | | params_flow.rb:73:10:73:13 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:73:10:73:13 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -5270,13 +4782,11 @@ trackEnd | params_flow.rb:73:10:73:13 | synthetic splat argument | params_flow.rb:73:10:73:13 | synthetic splat argument | | params_flow.rb:73:12:73:12 | 1 | params_flow.rb:73:12:73:12 | 1 | | params_flow.rb:74:5:74:10 | call to sink | params_flow.rb:74:5:74:10 | call to sink | -| params_flow.rb:74:5:74:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:74:5:74:10 | synthetic splat argument | params_flow.rb:74:5:74:10 | synthetic splat argument | | params_flow.rb:75:5:75:10 | call to sink | params_flow.rb:75:5:75:10 | call to sink | | params_flow.rb:75:5:75:10 | call to sink | params_flow.rb:78:1:78:63 | call to splatmid | | params_flow.rb:75:5:75:10 | call to sink | params_flow.rb:81:1:81:37 | call to splatmid | | params_flow.rb:75:5:75:10 | call to sink | params_flow.rb:96:1:96:88 | call to splatmid | -| params_flow.rb:75:5:75:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:75:5:75:10 | synthetic splat argument | params_flow.rb:75:5:75:10 | synthetic splat argument | | params_flow.rb:78:1:78:63 | call to splatmid | params_flow.rb:78:1:78:63 | call to splatmid | | params_flow.rb:78:1:78:63 | synthetic splat argument | params_flow.rb:69:1:76:3 | synthetic splat parameter | @@ -5288,7 +4798,6 @@ trackEnd | params_flow.rb:78:10:78:18 | call to taint | params_flow.rb:69:14:69:14 | x | | params_flow.rb:78:10:78:18 | call to taint | params_flow.rb:70:10:70:10 | x | | params_flow.rb:78:10:78:18 | call to taint | params_flow.rb:78:10:78:18 | call to taint | -| params_flow.rb:78:10:78:18 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:78:10:78:18 | synthetic splat argument | params_flow.rb:78:10:78:18 | synthetic splat argument | | params_flow.rb:78:16:78:17 | 27 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:16:78:17 | 27 | params_flow.rb:1:11:1:11 | x | @@ -5308,7 +4817,6 @@ trackEnd | params_flow.rb:78:21:78:29 | call to taint | params_flow.rb:69:17:69:17 | y | | params_flow.rb:78:21:78:29 | call to taint | params_flow.rb:71:10:71:10 | y | | params_flow.rb:78:21:78:29 | call to taint | params_flow.rb:78:21:78:29 | call to taint | -| params_flow.rb:78:21:78:29 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:78:21:78:29 | synthetic splat argument | params_flow.rb:78:21:78:29 | synthetic splat argument | | params_flow.rb:78:27:78:28 | 28 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:27:78:28 | 28 | params_flow.rb:1:11:1:11 | x | @@ -5322,7 +4830,6 @@ trackEnd | params_flow.rb:78:27:78:28 | 28 | params_flow.rb:78:21:78:29 | call to taint | | params_flow.rb:78:27:78:28 | 28 | params_flow.rb:78:27:78:28 | 28 | | params_flow.rb:78:32:78:40 | call to taint | params_flow.rb:78:32:78:40 | call to taint | -| params_flow.rb:78:32:78:40 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:78:32:78:40 | synthetic splat argument | params_flow.rb:78:32:78:40 | synthetic splat argument | | params_flow.rb:78:38:78:39 | 29 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:38:78:39 | 29 | params_flow.rb:1:11:1:11 | x | @@ -5336,7 +4843,6 @@ trackEnd | params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:69:24:69:24 | w | | params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:74:10:74:10 | w | | params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:78:43:78:51 | call to taint | -| params_flow.rb:78:43:78:51 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:78:43:78:51 | synthetic splat argument | params_flow.rb:78:43:78:51 | synthetic splat argument | | params_flow.rb:78:49:78:50 | 30 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:49:78:50 | 30 | params_flow.rb:1:11:1:11 | x | @@ -5356,7 +4862,6 @@ trackEnd | params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:69:27:69:27 | r | | params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:75:10:75:10 | r | | params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:78:54:78:62 | call to taint | -| params_flow.rb:78:54:78:62 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:78:54:78:62 | synthetic splat argument | params_flow.rb:78:54:78:62 | synthetic splat argument | | params_flow.rb:78:60:78:61 | 31 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:60:78:61 | 31 | params_flow.rb:1:11:1:11 | x | @@ -5399,7 +4904,6 @@ trackEnd | params_flow.rb:80:9:80:17 | call to taint | params_flow.rb:69:17:69:17 | y | | params_flow.rb:80:9:80:17 | call to taint | params_flow.rb:71:10:71:10 | y | | params_flow.rb:80:9:80:17 | call to taint | params_flow.rb:80:9:80:17 | call to taint | -| params_flow.rb:80:9:80:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:80:9:80:17 | synthetic splat argument | params_flow.rb:80:9:80:17 | synthetic splat argument | | params_flow.rb:80:15:80:16 | 33 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:80:15:80:16 | 33 | params_flow.rb:1:11:1:11 | x | @@ -5413,7 +4917,6 @@ trackEnd | params_flow.rb:80:15:80:16 | 33 | params_flow.rb:80:9:80:17 | call to taint | | params_flow.rb:80:15:80:16 | 33 | params_flow.rb:80:15:80:16 | 33 | | params_flow.rb:80:20:80:28 | call to taint | params_flow.rb:80:20:80:28 | call to taint | -| params_flow.rb:80:20:80:28 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:80:20:80:28 | synthetic splat argument | params_flow.rb:80:20:80:28 | synthetic splat argument | | params_flow.rb:80:26:80:27 | 34 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:80:26:80:27 | 34 | params_flow.rb:1:11:1:11 | x | @@ -5421,7 +4924,6 @@ trackEnd | params_flow.rb:80:26:80:27 | 34 | params_flow.rb:80:20:80:28 | call to taint | | params_flow.rb:80:26:80:27 | 34 | params_flow.rb:80:26:80:27 | 34 | | params_flow.rb:80:31:80:39 | call to taint | params_flow.rb:80:31:80:39 | call to taint | -| params_flow.rb:80:31:80:39 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:80:31:80:39 | synthetic splat argument | params_flow.rb:80:31:80:39 | synthetic splat argument | | params_flow.rb:80:37:80:38 | 35 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:80:37:80:38 | 35 | params_flow.rb:1:11:1:11 | x | @@ -5429,7 +4931,6 @@ trackEnd | params_flow.rb:80:37:80:38 | 35 | params_flow.rb:80:31:80:39 | call to taint | | params_flow.rb:80:37:80:38 | 35 | params_flow.rb:80:37:80:38 | 35 | | params_flow.rb:80:42:80:50 | call to taint | params_flow.rb:80:42:80:50 | call to taint | -| params_flow.rb:80:42:80:50 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:80:42:80:50 | synthetic splat argument | params_flow.rb:80:42:80:50 | synthetic splat argument | | params_flow.rb:80:48:80:49 | 36 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:80:48:80:49 | 36 | params_flow.rb:1:11:1:11 | x | @@ -5446,7 +4947,6 @@ trackEnd | params_flow.rb:81:10:81:18 | call to taint | params_flow.rb:69:14:69:14 | x | | params_flow.rb:81:10:81:18 | call to taint | params_flow.rb:70:10:70:10 | x | | params_flow.rb:81:10:81:18 | call to taint | params_flow.rb:81:10:81:18 | call to taint | -| params_flow.rb:81:10:81:18 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:81:10:81:18 | synthetic splat argument | params_flow.rb:81:10:81:18 | synthetic splat argument | | params_flow.rb:81:16:81:17 | 32 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:81:16:81:17 | 32 | params_flow.rb:1:11:1:11 | x | @@ -5461,7 +4961,6 @@ trackEnd | params_flow.rb:81:16:81:17 | 32 | params_flow.rb:81:16:81:17 | 32 | | params_flow.rb:81:21:81:25 | * ... | params_flow.rb:81:21:81:25 | * ... | | params_flow.rb:81:28:81:36 | call to taint | params_flow.rb:81:28:81:36 | call to taint | -| params_flow.rb:81:28:81:36 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:81:28:81:36 | synthetic splat argument | params_flow.rb:81:28:81:36 | synthetic splat argument | | params_flow.rb:81:34:81:35 | 37 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:81:34:81:35 | 37 | params_flow.rb:1:11:1:11 | x | @@ -5533,27 +5032,20 @@ trackEnd | params_flow.rb:83:32:83:32 | z | params_flow.rb:83:32:83:32 | z | | params_flow.rb:83:32:83:32 | z | params_flow.rb:90:10:90:10 | z | | params_flow.rb:84:5:84:10 | call to sink | params_flow.rb:84:5:84:10 | call to sink | -| params_flow.rb:84:5:84:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:84:5:84:10 | synthetic splat argument | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:85:5:85:10 | call to sink | params_flow.rb:85:5:85:10 | call to sink | -| params_flow.rb:85:5:85:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:85:5:85:10 | synthetic splat argument | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:86:5:86:10 | call to sink | params_flow.rb:86:5:86:10 | call to sink | -| params_flow.rb:86:5:86:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:86:5:86:10 | synthetic splat argument | params_flow.rb:86:5:86:10 | synthetic splat argument | | params_flow.rb:87:5:87:10 | call to sink | params_flow.rb:87:5:87:10 | call to sink | -| params_flow.rb:87:5:87:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:87:5:87:10 | synthetic splat argument | params_flow.rb:87:5:87:10 | synthetic splat argument | | params_flow.rb:88:5:88:10 | call to sink | params_flow.rb:88:5:88:10 | call to sink | -| params_flow.rb:88:5:88:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:88:5:88:10 | synthetic splat argument | params_flow.rb:88:5:88:10 | synthetic splat argument | | params_flow.rb:89:5:89:10 | call to sink | params_flow.rb:89:5:89:10 | call to sink | -| params_flow.rb:89:5:89:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:89:5:89:10 | synthetic splat argument | params_flow.rb:89:5:89:10 | synthetic splat argument | | params_flow.rb:90:5:90:10 | call to sink | params_flow.rb:90:5:90:10 | call to sink | | params_flow.rb:90:5:90:10 | call to sink | params_flow.rb:94:1:94:48 | call to pos_many | | params_flow.rb:90:5:90:10 | call to sink | params_flow.rb:131:1:131:46 | call to pos_many | -| params_flow.rb:90:5:90:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:90:5:90:10 | synthetic splat argument | params_flow.rb:90:5:90:10 | synthetic splat argument | | params_flow.rb:93:1:93:4 | args | params_flow.rb:93:1:93:4 | args | | params_flow.rb:93:8:93:51 | Array | params_flow.rb:93:8:93:51 | Array | @@ -5585,7 +5077,6 @@ trackEnd | params_flow.rb:93:9:93:17 | call to taint | params_flow.rb:83:20:83:20 | v | | params_flow.rb:93:9:93:17 | call to taint | params_flow.rb:86:10:86:10 | v | | params_flow.rb:93:9:93:17 | call to taint | params_flow.rb:93:9:93:17 | call to taint | -| params_flow.rb:93:9:93:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:93:9:93:17 | synthetic splat argument | params_flow.rb:93:9:93:17 | synthetic splat argument | | params_flow.rb:93:15:93:16 | 40 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:15:93:16 | 40 | params_flow.rb:1:11:1:11 | x | @@ -5605,7 +5096,6 @@ trackEnd | params_flow.rb:93:20:93:28 | call to taint | params_flow.rb:83:23:83:23 | w | | params_flow.rb:93:20:93:28 | call to taint | params_flow.rb:87:10:87:10 | w | | params_flow.rb:93:20:93:28 | call to taint | params_flow.rb:93:20:93:28 | call to taint | -| params_flow.rb:93:20:93:28 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:93:20:93:28 | synthetic splat argument | params_flow.rb:93:20:93:28 | synthetic splat argument | | params_flow.rb:93:26:93:27 | 41 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:26:93:27 | 41 | params_flow.rb:1:11:1:11 | x | @@ -5625,7 +5115,6 @@ trackEnd | params_flow.rb:93:31:93:39 | call to taint | params_flow.rb:83:26:83:26 | x | | params_flow.rb:93:31:93:39 | call to taint | params_flow.rb:88:10:88:10 | x | | params_flow.rb:93:31:93:39 | call to taint | params_flow.rb:93:31:93:39 | call to taint | -| params_flow.rb:93:31:93:39 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:93:31:93:39 | synthetic splat argument | params_flow.rb:93:31:93:39 | synthetic splat argument | | params_flow.rb:93:37:93:38 | 42 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:37:93:38 | 42 | params_flow.rb:1:11:1:11 | x | @@ -5645,7 +5134,6 @@ trackEnd | params_flow.rb:93:42:93:50 | call to taint | params_flow.rb:83:29:83:29 | y | | params_flow.rb:93:42:93:50 | call to taint | params_flow.rb:89:10:89:10 | y | | params_flow.rb:93:42:93:50 | call to taint | params_flow.rb:93:42:93:50 | call to taint | -| params_flow.rb:93:42:93:50 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:93:42:93:50 | synthetic splat argument | params_flow.rb:93:42:93:50 | synthetic splat argument | | params_flow.rb:93:48:93:49 | 43 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:93:48:93:49 | 43 | params_flow.rb:1:11:1:11 | x | @@ -5668,7 +5156,6 @@ trackEnd | params_flow.rb:94:10:94:18 | call to taint | params_flow.rb:83:14:83:14 | t | | params_flow.rb:94:10:94:18 | call to taint | params_flow.rb:84:10:84:10 | t | | params_flow.rb:94:10:94:18 | call to taint | params_flow.rb:94:10:94:18 | call to taint | -| params_flow.rb:94:10:94:18 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:94:10:94:18 | synthetic splat argument | params_flow.rb:94:10:94:18 | synthetic splat argument | | params_flow.rb:94:16:94:17 | 38 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:94:16:94:17 | 38 | params_flow.rb:1:11:1:11 | x | @@ -5688,7 +5175,6 @@ trackEnd | params_flow.rb:94:21:94:29 | call to taint | params_flow.rb:83:17:83:17 | u | | params_flow.rb:94:21:94:29 | call to taint | params_flow.rb:85:10:85:10 | u | | params_flow.rb:94:21:94:29 | call to taint | params_flow.rb:94:21:94:29 | call to taint | -| params_flow.rb:94:21:94:29 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:94:21:94:29 | synthetic splat argument | params_flow.rb:94:21:94:29 | synthetic splat argument | | params_flow.rb:94:27:94:28 | 39 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:94:27:94:28 | 39 | params_flow.rb:1:11:1:11 | x | @@ -5709,7 +5195,6 @@ trackEnd | params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:83:23:83:23 | w | | params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:87:10:87:10 | w | | params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:94:39:94:47 | call to taint | -| params_flow.rb:94:39:94:47 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:94:39:94:47 | synthetic splat argument | params_flow.rb:94:39:94:47 | synthetic splat argument | | params_flow.rb:94:45:94:46 | 44 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:94:45:94:46 | 44 | params_flow.rb:1:11:1:11 | x | @@ -5732,7 +5217,6 @@ trackEnd | params_flow.rb:96:10:96:18 | call to taint | params_flow.rb:69:14:69:14 | x | | params_flow.rb:96:10:96:18 | call to taint | params_flow.rb:70:10:70:10 | x | | params_flow.rb:96:10:96:18 | call to taint | params_flow.rb:96:10:96:18 | call to taint | -| params_flow.rb:96:10:96:18 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:96:10:96:18 | synthetic splat argument | params_flow.rb:96:10:96:18 | synthetic splat argument | | params_flow.rb:96:16:96:17 | 45 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:16:96:17 | 45 | params_flow.rb:1:11:1:11 | x | @@ -5752,7 +5236,6 @@ trackEnd | params_flow.rb:96:21:96:29 | call to taint | params_flow.rb:69:17:69:17 | y | | params_flow.rb:96:21:96:29 | call to taint | params_flow.rb:71:10:71:10 | y | | params_flow.rb:96:21:96:29 | call to taint | params_flow.rb:96:21:96:29 | call to taint | -| params_flow.rb:96:21:96:29 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:96:21:96:29 | synthetic splat argument | params_flow.rb:96:21:96:29 | synthetic splat argument | | params_flow.rb:96:27:96:28 | 46 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:27:96:28 | 46 | params_flow.rb:1:11:1:11 | x | @@ -5771,7 +5254,6 @@ trackEnd | params_flow.rb:96:33:96:65 | synthetic splat argument | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:96:33:96:65 | synthetic splat argument | params_flow.rb:96:33:96:65 | synthetic splat argument | | params_flow.rb:96:34:96:42 | call to taint | params_flow.rb:96:34:96:42 | call to taint | -| params_flow.rb:96:34:96:42 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:96:34:96:42 | synthetic splat argument | params_flow.rb:96:34:96:42 | synthetic splat argument | | params_flow.rb:96:40:96:41 | 47 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:40:96:41 | 47 | params_flow.rb:1:11:1:11 | x | @@ -5779,7 +5261,6 @@ trackEnd | params_flow.rb:96:40:96:41 | 47 | params_flow.rb:96:34:96:42 | call to taint | | params_flow.rb:96:40:96:41 | 47 | params_flow.rb:96:40:96:41 | 47 | | params_flow.rb:96:45:96:53 | call to taint | params_flow.rb:96:45:96:53 | call to taint | -| params_flow.rb:96:45:96:53 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:96:45:96:53 | synthetic splat argument | params_flow.rb:96:45:96:53 | synthetic splat argument | | params_flow.rb:96:51:96:52 | 48 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:51:96:52 | 48 | params_flow.rb:1:11:1:11 | x | @@ -5787,7 +5268,6 @@ trackEnd | params_flow.rb:96:51:96:52 | 48 | params_flow.rb:96:45:96:53 | call to taint | | params_flow.rb:96:51:96:52 | 48 | params_flow.rb:96:51:96:52 | 48 | | params_flow.rb:96:56:96:64 | call to taint | params_flow.rb:96:56:96:64 | call to taint | -| params_flow.rb:96:56:96:64 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:96:56:96:64 | synthetic splat argument | params_flow.rb:96:56:96:64 | synthetic splat argument | | params_flow.rb:96:62:96:63 | 49 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:62:96:63 | 49 | params_flow.rb:1:11:1:11 | x | @@ -5801,7 +5281,6 @@ trackEnd | params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:69:24:69:24 | w | | params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:74:10:74:10 | w | | params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:96:68:96:76 | call to taint | -| params_flow.rb:96:68:96:76 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:96:68:96:76 | synthetic splat argument | params_flow.rb:96:68:96:76 | synthetic splat argument | | params_flow.rb:96:74:96:75 | 50 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:74:96:75 | 50 | params_flow.rb:1:11:1:11 | x | @@ -5821,7 +5300,6 @@ trackEnd | params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:69:27:69:27 | r | | params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:75:10:75:10 | r | | params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:96:79:96:87 | call to taint | -| params_flow.rb:96:79:96:87 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:96:79:96:87 | synthetic splat argument | params_flow.rb:96:79:96:87 | synthetic splat argument | | params_flow.rb:96:85:96:86 | 51 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:85:96:86 | 51 | params_flow.rb:1:11:1:11 | x | @@ -5866,10 +5344,8 @@ trackEnd | params_flow.rb:98:31:98:31 | b | params_flow.rb:98:31:98:31 | b | | params_flow.rb:98:31:98:31 | b | params_flow.rb:102:10:102:10 | b | | params_flow.rb:99:5:99:10 | call to sink | params_flow.rb:99:5:99:10 | call to sink | -| params_flow.rb:99:5:99:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:99:5:99:10 | synthetic splat argument | params_flow.rb:99:5:99:10 | synthetic splat argument | | params_flow.rb:100:5:100:18 | call to sink | params_flow.rb:100:5:100:18 | call to sink | -| params_flow.rb:100:5:100:18 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:100:5:100:18 | synthetic splat argument | params_flow.rb:100:5:100:18 | synthetic splat argument | | params_flow.rb:100:10:100:18 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:100:10:100:18 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -5878,7 +5354,6 @@ trackEnd | params_flow.rb:100:10:100:18 | synthetic splat argument | params_flow.rb:100:10:100:18 | synthetic splat argument | | params_flow.rb:100:17:100:17 | 0 | params_flow.rb:100:17:100:17 | 0 | | params_flow.rb:101:5:101:18 | call to sink | params_flow.rb:101:5:101:18 | call to sink | -| params_flow.rb:101:5:101:18 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:101:5:101:18 | synthetic splat argument | params_flow.rb:101:5:101:18 | synthetic splat argument | | params_flow.rb:101:10:101:18 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:101:10:101:18 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -5889,7 +5364,6 @@ trackEnd | params_flow.rb:102:5:102:10 | call to sink | params_flow.rb:102:5:102:10 | call to sink | | params_flow.rb:102:5:102:10 | call to sink | params_flow.rb:105:1:105:49 | call to splatmidsmall | | params_flow.rb:102:5:102:10 | call to sink | params_flow.rb:106:1:106:46 | call to splatmidsmall | -| params_flow.rb:102:5:102:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:102:5:102:10 | synthetic splat argument | params_flow.rb:102:5:102:10 | synthetic splat argument | | params_flow.rb:105:1:105:49 | call to splatmidsmall | params_flow.rb:105:1:105:49 | call to splatmidsmall | | params_flow.rb:105:1:105:49 | synthetic splat argument | params_flow.rb:98:1:103:3 | synthetic splat parameter | @@ -5901,7 +5375,6 @@ trackEnd | params_flow.rb:105:15:105:23 | call to taint | params_flow.rb:98:19:98:19 | a | | params_flow.rb:105:15:105:23 | call to taint | params_flow.rb:99:10:99:10 | a | | params_flow.rb:105:15:105:23 | call to taint | params_flow.rb:105:15:105:23 | call to taint | -| params_flow.rb:105:15:105:23 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:105:15:105:23 | synthetic splat argument | params_flow.rb:105:15:105:23 | synthetic splat argument | | params_flow.rb:105:21:105:22 | 52 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:105:21:105:22 | 52 | params_flow.rb:1:11:1:11 | x | @@ -5920,7 +5393,6 @@ trackEnd | params_flow.rb:105:27:105:48 | synthetic splat argument | params_flow.rb:105:27:105:48 | call to [] | | params_flow.rb:105:27:105:48 | synthetic splat argument | params_flow.rb:105:27:105:48 | synthetic splat argument | | params_flow.rb:105:28:105:36 | call to taint | params_flow.rb:105:28:105:36 | call to taint | -| params_flow.rb:105:28:105:36 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:105:28:105:36 | synthetic splat argument | params_flow.rb:105:28:105:36 | synthetic splat argument | | params_flow.rb:105:34:105:35 | 53 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:105:34:105:35 | 53 | params_flow.rb:1:11:1:11 | x | @@ -5928,7 +5400,6 @@ trackEnd | params_flow.rb:105:34:105:35 | 53 | params_flow.rb:105:28:105:36 | call to taint | | params_flow.rb:105:34:105:35 | 53 | params_flow.rb:105:34:105:35 | 53 | | params_flow.rb:105:39:105:47 | call to taint | params_flow.rb:105:39:105:47 | call to taint | -| params_flow.rb:105:39:105:47 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:105:39:105:47 | synthetic splat argument | params_flow.rb:105:39:105:47 | synthetic splat argument | | params_flow.rb:105:45:105:46 | 54 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:105:45:105:46 | 54 | params_flow.rb:1:11:1:11 | x | @@ -5945,7 +5416,6 @@ trackEnd | params_flow.rb:106:15:106:23 | call to taint | params_flow.rb:98:19:98:19 | a | | params_flow.rb:106:15:106:23 | call to taint | params_flow.rb:99:10:99:10 | a | | params_flow.rb:106:15:106:23 | call to taint | params_flow.rb:106:15:106:23 | call to taint | -| params_flow.rb:106:15:106:23 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:106:15:106:23 | synthetic splat argument | params_flow.rb:106:15:106:23 | synthetic splat argument | | params_flow.rb:106:21:106:22 | 55 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:106:21:106:22 | 55 | params_flow.rb:1:11:1:11 | x | @@ -5959,7 +5429,6 @@ trackEnd | params_flow.rb:106:21:106:22 | 55 | params_flow.rb:106:15:106:23 | call to taint | | params_flow.rb:106:21:106:22 | 55 | params_flow.rb:106:21:106:22 | 55 | | params_flow.rb:106:26:106:34 | call to taint | params_flow.rb:106:26:106:34 | call to taint | -| params_flow.rb:106:26:106:34 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:106:26:106:34 | synthetic splat argument | params_flow.rb:106:26:106:34 | synthetic splat argument | | params_flow.rb:106:32:106:33 | 56 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:106:32:106:33 | 56 | params_flow.rb:1:11:1:11 | x | @@ -5973,7 +5442,6 @@ trackEnd | params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:98:31:98:31 | b | | params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:102:10:102:10 | b | | params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:106:37:106:45 | call to taint | -| params_flow.rb:106:37:106:45 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:106:37:106:45 | synthetic splat argument | params_flow.rb:106:37:106:45 | synthetic splat argument | | params_flow.rb:106:43:106:44 | 57 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:106:43:106:44 | 57 | params_flow.rb:1:11:1:11 | x | @@ -6017,10 +5485,8 @@ trackEnd | params_flow.rb:108:44:108:44 | c | params_flow.rb:108:44:108:44 | c | | params_flow.rb:108:44:108:44 | c | params_flow.rb:111:10:111:10 | c | | params_flow.rb:109:5:109:10 | call to sink | params_flow.rb:109:5:109:10 | call to sink | -| params_flow.rb:109:5:109:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:109:5:109:10 | synthetic splat argument | params_flow.rb:109:5:109:10 | synthetic splat argument | | params_flow.rb:110:5:110:13 | call to sink | params_flow.rb:110:5:110:13 | call to sink | -| params_flow.rb:110:5:110:13 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:110:5:110:13 | synthetic splat argument | params_flow.rb:110:5:110:13 | synthetic splat argument | | params_flow.rb:110:10:110:13 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:110:10:110:13 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -6030,7 +5496,6 @@ trackEnd | params_flow.rb:110:12:110:12 | 0 | params_flow.rb:110:12:110:12 | 0 | | params_flow.rb:111:5:111:10 | call to sink | params_flow.rb:111:5:111:10 | call to sink | | params_flow.rb:111:5:111:10 | call to sink | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | -| params_flow.rb:111:5:111:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:111:5:111:10 | synthetic splat argument | params_flow.rb:111:5:111:10 | synthetic splat argument | | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | @@ -6044,7 +5509,6 @@ trackEnd | params_flow.rb:114:33:114:41 | call to taint | params_flow.rb:108:37:108:37 | a | | params_flow.rb:114:33:114:41 | call to taint | params_flow.rb:109:10:109:10 | a | | params_flow.rb:114:33:114:41 | call to taint | params_flow.rb:114:33:114:41 | call to taint | -| params_flow.rb:114:33:114:41 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:114:33:114:41 | synthetic splat argument | params_flow.rb:114:33:114:41 | synthetic splat argument | | params_flow.rb:114:39:114:40 | 58 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:114:39:114:40 | 58 | params_flow.rb:1:11:1:11 | x | @@ -6062,7 +5526,6 @@ trackEnd | params_flow.rb:114:44:114:52 | call to taint | params_flow.rb:6:10:6:10 | x | | params_flow.rb:114:44:114:52 | call to taint | params_flow.rb:110:10:110:13 | ...[...] | | params_flow.rb:114:44:114:52 | call to taint | params_flow.rb:114:44:114:52 | call to taint | -| params_flow.rb:114:44:114:52 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:114:44:114:52 | synthetic splat argument | params_flow.rb:114:44:114:52 | synthetic splat argument | | params_flow.rb:114:50:114:51 | 59 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:114:50:114:51 | 59 | params_flow.rb:1:11:1:11 | x | @@ -6082,7 +5545,6 @@ trackEnd | params_flow.rb:114:58:114:66 | call to taint | params_flow.rb:108:44:108:44 | c | | params_flow.rb:114:58:114:66 | call to taint | params_flow.rb:111:10:111:10 | c | | params_flow.rb:114:58:114:66 | call to taint | params_flow.rb:114:58:114:66 | call to taint | -| params_flow.rb:114:58:114:66 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:114:58:114:66 | synthetic splat argument | params_flow.rb:114:58:114:66 | synthetic splat argument | | params_flow.rb:114:64:114:65 | 60 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:114:64:114:65 | 60 | params_flow.rb:1:11:1:11 | x | @@ -6134,7 +5596,6 @@ trackEnd | params_flow.rb:117:19:117:27 | call to taint | params_flow.rb:117:19:117:27 | ... = ... | | params_flow.rb:117:19:117:27 | call to taint | params_flow.rb:117:19:117:27 | __synth__0 | | params_flow.rb:117:19:117:27 | call to taint | params_flow.rb:117:19:117:27 | call to taint | -| params_flow.rb:117:19:117:27 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:117:19:117:27 | synthetic splat argument | params_flow.rb:117:19:117:27 | synthetic splat argument | | params_flow.rb:117:25:117:26 | 61 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:117:25:117:26 | 61 | params_flow.rb:1:11:1:11 | x | @@ -6200,20 +5661,15 @@ trackEnd | params_flow.rb:120:27:120:27 | e | params_flow.rb:120:27:120:27 | e | | params_flow.rb:120:27:120:27 | e | params_flow.rb:125:10:125:10 | e | | params_flow.rb:121:5:121:10 | call to sink | params_flow.rb:121:5:121:10 | call to sink | -| params_flow.rb:121:5:121:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:121:5:121:10 | synthetic splat argument | params_flow.rb:121:5:121:10 | synthetic splat argument | | params_flow.rb:122:5:122:10 | call to sink | params_flow.rb:122:5:122:10 | call to sink | -| params_flow.rb:122:5:122:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:122:5:122:10 | synthetic splat argument | params_flow.rb:122:5:122:10 | synthetic splat argument | | params_flow.rb:123:5:123:10 | call to sink | params_flow.rb:123:5:123:10 | call to sink | -| params_flow.rb:123:5:123:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:123:5:123:10 | synthetic splat argument | params_flow.rb:123:5:123:10 | synthetic splat argument | | params_flow.rb:124:5:124:10 | call to sink | params_flow.rb:124:5:124:10 | call to sink | -| params_flow.rb:124:5:124:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:124:5:124:10 | synthetic splat argument | params_flow.rb:124:5:124:10 | synthetic splat argument | | params_flow.rb:125:5:125:10 | call to sink | params_flow.rb:125:5:125:10 | call to sink | | params_flow.rb:125:5:125:10 | call to sink | params_flow.rb:128:1:128:61 | call to destruct | -| params_flow.rb:125:5:125:10 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:125:5:125:10 | synthetic splat argument | params_flow.rb:125:5:125:10 | synthetic splat argument | | params_flow.rb:128:1:128:61 | call to destruct | params_flow.rb:128:1:128:61 | call to destruct | | params_flow.rb:128:1:128:61 | synthetic splat argument | params_flow.rb:128:1:128:61 | synthetic splat argument | @@ -6222,7 +5678,6 @@ trackEnd | params_flow.rb:128:10:128:31 | synthetic splat argument | params_flow.rb:128:10:128:31 | call to [] | | params_flow.rb:128:10:128:31 | synthetic splat argument | params_flow.rb:128:10:128:31 | synthetic splat argument | | params_flow.rb:128:11:128:19 | call to taint | params_flow.rb:128:11:128:19 | call to taint | -| params_flow.rb:128:11:128:19 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:128:11:128:19 | synthetic splat argument | params_flow.rb:128:11:128:19 | synthetic splat argument | | params_flow.rb:128:17:128:18 | 62 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:128:17:128:18 | 62 | params_flow.rb:1:11:1:11 | x | @@ -6230,7 +5685,6 @@ trackEnd | params_flow.rb:128:17:128:18 | 62 | params_flow.rb:128:11:128:19 | call to taint | | params_flow.rb:128:17:128:18 | 62 | params_flow.rb:128:17:128:18 | 62 | | params_flow.rb:128:22:128:30 | call to taint | params_flow.rb:128:22:128:30 | call to taint | -| params_flow.rb:128:22:128:30 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:128:22:128:30 | synthetic splat argument | params_flow.rb:128:22:128:30 | synthetic splat argument | | params_flow.rb:128:28:128:29 | 63 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:128:28:128:29 | 63 | params_flow.rb:1:11:1:11 | x | @@ -6242,7 +5696,6 @@ trackEnd | params_flow.rb:128:34:128:60 | synthetic splat argument | params_flow.rb:128:34:128:60 | call to [] | | params_flow.rb:128:34:128:60 | synthetic splat argument | params_flow.rb:128:34:128:60 | synthetic splat argument | | params_flow.rb:128:35:128:43 | call to taint | params_flow.rb:128:35:128:43 | call to taint | -| params_flow.rb:128:35:128:43 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:128:35:128:43 | synthetic splat argument | params_flow.rb:128:35:128:43 | synthetic splat argument | | params_flow.rb:128:41:128:42 | 64 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:128:41:128:42 | 64 | params_flow.rb:1:11:1:11 | x | @@ -6255,7 +5708,6 @@ trackEnd | params_flow.rb:128:46:128:59 | synthetic splat argument | params_flow.rb:128:46:128:59 | synthetic splat argument | | params_flow.rb:128:47:128:47 | 0 | params_flow.rb:128:47:128:47 | 0 | | params_flow.rb:128:50:128:58 | call to taint | params_flow.rb:128:50:128:58 | call to taint | -| params_flow.rb:128:50:128:58 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:128:50:128:58 | synthetic splat argument | params_flow.rb:128:50:128:58 | synthetic splat argument | | params_flow.rb:128:56:128:57 | 65 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:128:56:128:57 | 65 | params_flow.rb:1:11:1:11 | x | @@ -6292,7 +5744,6 @@ trackEnd | params_flow.rb:130:9:130:17 | call to taint | params_flow.rb:83:14:83:14 | t | | params_flow.rb:130:9:130:17 | call to taint | params_flow.rb:84:10:84:10 | t | | params_flow.rb:130:9:130:17 | call to taint | params_flow.rb:130:9:130:17 | call to taint | -| params_flow.rb:130:9:130:17 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:130:9:130:17 | synthetic splat argument | params_flow.rb:130:9:130:17 | synthetic splat argument | | params_flow.rb:130:15:130:16 | 66 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:130:15:130:16 | 66 | params_flow.rb:1:11:1:11 | x | @@ -6312,7 +5763,6 @@ trackEnd | params_flow.rb:130:20:130:28 | call to taint | params_flow.rb:83:17:83:17 | u | | params_flow.rb:130:20:130:28 | call to taint | params_flow.rb:85:10:85:10 | u | | params_flow.rb:130:20:130:28 | call to taint | params_flow.rb:130:20:130:28 | call to taint | -| params_flow.rb:130:20:130:28 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:130:20:130:28 | synthetic splat argument | params_flow.rb:130:20:130:28 | synthetic splat argument | | params_flow.rb:130:26:130:27 | 67 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:130:26:130:27 | 67 | params_flow.rb:1:11:1:11 | x | @@ -6335,7 +5785,6 @@ trackEnd | params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:83:17:83:17 | u | | params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:85:10:85:10 | u | | params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:131:17:131:25 | call to taint | -| params_flow.rb:131:17:131:25 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:131:17:131:25 | synthetic splat argument | params_flow.rb:131:17:131:25 | synthetic splat argument | | params_flow.rb:131:23:131:24 | 68 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:131:23:131:24 | 68 | params_flow.rb:1:11:1:11 | x | @@ -6390,7 +5839,6 @@ trackEnd | params_flow.rb:133:15:133:18 | args | params_flow.rb:133:15:133:18 | args | | params_flow.rb:134:5:134:16 | call to sink | params_flow.rb:134:5:134:16 | call to sink | | params_flow.rb:134:5:134:16 | call to sink | params_flow.rb:137:1:137:44 | call to splatall | -| params_flow.rb:134:5:134:16 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:134:5:134:16 | synthetic splat argument | params_flow.rb:134:5:134:16 | synthetic splat argument | | params_flow.rb:134:10:134:16 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:134:10:134:16 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -6408,7 +5856,6 @@ trackEnd | params_flow.rb:137:11:137:43 | synthetic splat argument | params_flow.rb:137:11:137:43 | call to [] | | params_flow.rb:137:11:137:43 | synthetic splat argument | params_flow.rb:137:11:137:43 | synthetic splat argument | | params_flow.rb:137:12:137:20 | call to taint | params_flow.rb:137:12:137:20 | call to taint | -| params_flow.rb:137:12:137:20 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:137:12:137:20 | synthetic splat argument | params_flow.rb:137:12:137:20 | synthetic splat argument | | params_flow.rb:137:18:137:19 | 69 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:137:18:137:19 | 69 | params_flow.rb:1:11:1:11 | x | @@ -6420,7 +5867,6 @@ trackEnd | params_flow.rb:137:23:137:31 | call to taint | params_flow.rb:6:10:6:10 | x | | params_flow.rb:137:23:137:31 | call to taint | params_flow.rb:134:10:134:16 | ...[...] | | params_flow.rb:137:23:137:31 | call to taint | params_flow.rb:137:23:137:31 | call to taint | -| params_flow.rb:137:23:137:31 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:137:23:137:31 | synthetic splat argument | params_flow.rb:137:23:137:31 | synthetic splat argument | | params_flow.rb:137:29:137:30 | 70 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:137:29:137:30 | 70 | params_flow.rb:1:11:1:11 | x | @@ -6432,7 +5878,6 @@ trackEnd | params_flow.rb:137:29:137:30 | 70 | params_flow.rb:137:23:137:31 | call to taint | | params_flow.rb:137:29:137:30 | 70 | params_flow.rb:137:29:137:30 | 70 | | params_flow.rb:137:34:137:42 | call to taint | params_flow.rb:137:34:137:42 | call to taint | -| params_flow.rb:137:34:137:42 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:137:34:137:42 | synthetic splat argument | params_flow.rb:137:34:137:42 | synthetic splat argument | | params_flow.rb:137:40:137:41 | 71 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:137:40:137:41 | 71 | params_flow.rb:1:11:1:11 | x | @@ -6485,7 +5930,6 @@ trackEnd | params_flow.rb:143:20:143:32 | Pair | params_flow.rb:143:20:143:32 | Pair | | params_flow.rb:143:24:143:32 | call to taint | params_flow.rb:140:27:140:37 | ...[...] | | params_flow.rb:143:24:143:32 | call to taint | params_flow.rb:143:24:143:32 | call to taint | -| params_flow.rb:143:24:143:32 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:143:24:143:32 | synthetic splat argument | params_flow.rb:143:24:143:32 | synthetic splat argument | | params_flow.rb:143:30:143:31 | 72 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:143:30:143:31 | 72 | params_flow.rb:1:11:1:11 | x | @@ -6494,7 +5938,6 @@ trackEnd | params_flow.rb:143:30:143:31 | 72 | params_flow.rb:143:24:143:32 | call to taint | | params_flow.rb:143:30:143:31 | 72 | params_flow.rb:143:30:143:31 | 72 | | params_flow.rb:144:1:144:20 | call to sink | params_flow.rb:144:1:144:20 | call to sink | -| params_flow.rb:144:1:144:20 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:144:1:144:20 | synthetic splat argument | params_flow.rb:144:1:144:20 | synthetic splat argument | | params_flow.rb:144:6:144:16 | ...[...] | params_flow.rb:144:6:144:16 | ...[...] | | params_flow.rb:144:6:144:16 | synthetic splat argument | params_flow.rb:144:6:144:16 | synthetic splat argument | @@ -6512,7 +5955,6 @@ trackEnd | params_flow.rb:145:21:145:28 | ** ... | params_flow.rb:140:27:140:32 | kwargs | | params_flow.rb:145:21:145:28 | ** ... | params_flow.rb:145:21:145:28 | ** ... | | params_flow.rb:146:1:146:20 | call to sink | params_flow.rb:146:1:146:20 | call to sink | -| params_flow.rb:146:1:146:20 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:146:1:146:20 | synthetic splat argument | params_flow.rb:146:1:146:20 | synthetic splat argument | | params_flow.rb:146:6:146:16 | ...[...] | params_flow.rb:146:6:146:16 | ...[...] | | params_flow.rb:146:6:146:16 | synthetic splat argument | params_flow.rb:146:6:146:16 | synthetic splat argument | @@ -6533,7 +5975,6 @@ trackEnd | params_flow.rb:148:6:148:7 | call to [] | params_flow.rb:150:25:150:26 | p1 | | params_flow.rb:148:6:148:7 | call to [] | params_flow.rb:151:6:151:7 | p1 | | params_flow.rb:149:1:149:11 | call to sink | params_flow.rb:149:1:149:11 | call to sink | -| params_flow.rb:149:1:149:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:149:1:149:11 | synthetic splat argument | params_flow.rb:149:1:149:11 | synthetic splat argument | | params_flow.rb:149:6:149:10 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:149:6:149:10 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -6553,7 +5994,6 @@ trackEnd | params_flow.rb:150:29:150:41 | Pair | params_flow.rb:150:29:150:41 | Pair | | params_flow.rb:150:33:150:41 | call to taint | params_flow.rb:140:27:140:37 | ...[...] | | params_flow.rb:150:33:150:41 | call to taint | params_flow.rb:150:33:150:41 | call to taint | -| params_flow.rb:150:33:150:41 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:150:33:150:41 | synthetic splat argument | params_flow.rb:150:33:150:41 | synthetic splat argument | | params_flow.rb:150:39:150:40 | 73 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:150:39:150:40 | 73 | params_flow.rb:1:11:1:11 | x | @@ -6562,7 +6002,6 @@ trackEnd | params_flow.rb:150:39:150:40 | 73 | params_flow.rb:150:33:150:41 | call to taint | | params_flow.rb:150:39:150:40 | 73 | params_flow.rb:150:39:150:40 | 73 | | params_flow.rb:151:1:151:11 | call to sink | params_flow.rb:151:1:151:11 | call to sink | -| params_flow.rb:151:1:151:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:151:1:151:11 | synthetic splat argument | params_flow.rb:151:1:151:11 | synthetic splat argument | | params_flow.rb:151:6:151:10 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:151:6:151:10 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -6618,7 +6057,6 @@ trackEnd | params_flow.rb:157:24:157:32 | call to taint | params_flow.rb:153:28:153:29 | p2 | | params_flow.rb:157:24:157:32 | call to taint | params_flow.rb:154:18:154:19 | p2 | | params_flow.rb:157:24:157:32 | call to taint | params_flow.rb:157:24:157:32 | call to taint | -| params_flow.rb:157:24:157:32 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:157:24:157:32 | synthetic splat argument | params_flow.rb:157:24:157:32 | synthetic splat argument | | params_flow.rb:157:30:157:31 | 74 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:157:30:157:31 | 74 | params_flow.rb:1:11:1:11 | x | @@ -6629,7 +6067,6 @@ trackEnd | params_flow.rb:157:30:157:31 | 74 | params_flow.rb:157:24:157:32 | call to taint | | params_flow.rb:157:30:157:31 | 74 | params_flow.rb:157:30:157:31 | 74 | | params_flow.rb:158:1:158:20 | call to sink | params_flow.rb:158:1:158:20 | call to sink | -| params_flow.rb:158:1:158:20 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:158:1:158:20 | synthetic splat argument | params_flow.rb:158:1:158:20 | synthetic splat argument | | params_flow.rb:158:6:158:16 | ...[...] | params_flow.rb:158:6:158:16 | ...[...] | | params_flow.rb:158:6:158:16 | synthetic splat argument | params_flow.rb:158:6:158:16 | synthetic splat argument | @@ -6644,7 +6081,6 @@ trackEnd | params_flow.rb:159:19:159:26 | ** ... | params_flow.rb:153:1:155:3 | synthetic hash-splat parameter | | params_flow.rb:159:19:159:26 | ** ... | params_flow.rb:159:19:159:26 | ** ... | | params_flow.rb:160:1:160:20 | call to sink | params_flow.rb:160:1:160:20 | call to sink | -| params_flow.rb:160:1:160:20 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:160:1:160:20 | synthetic splat argument | params_flow.rb:160:1:160:20 | synthetic splat argument | | params_flow.rb:160:6:160:16 | ...[...] | params_flow.rb:160:6:160:16 | ...[...] | | params_flow.rb:160:6:160:16 | synthetic splat argument | params_flow.rb:160:6:160:16 | synthetic splat argument | @@ -6667,7 +6103,6 @@ trackEnd | params_flow.rb:162:6:162:7 | call to [] | params_flow.rb:164:23:164:24 | p1 | | params_flow.rb:162:6:162:7 | call to [] | params_flow.rb:165:6:165:7 | p1 | | params_flow.rb:163:1:163:11 | call to sink | params_flow.rb:163:1:163:11 | call to sink | -| params_flow.rb:163:1:163:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:163:1:163:11 | synthetic splat argument | params_flow.rb:163:1:163:11 | synthetic splat argument | | params_flow.rb:163:6:163:10 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:163:6:163:10 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -6686,7 +6121,6 @@ trackEnd | params_flow.rb:164:31:164:39 | call to taint | params_flow.rb:153:28:153:29 | p2 | | params_flow.rb:164:31:164:39 | call to taint | params_flow.rb:154:18:154:19 | p2 | | params_flow.rb:164:31:164:39 | call to taint | params_flow.rb:164:31:164:39 | call to taint | -| params_flow.rb:164:31:164:39 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:164:31:164:39 | synthetic splat argument | params_flow.rb:164:31:164:39 | synthetic splat argument | | params_flow.rb:164:37:164:38 | 75 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:164:37:164:38 | 75 | params_flow.rb:1:11:1:11 | x | @@ -6697,7 +6131,6 @@ trackEnd | params_flow.rb:164:37:164:38 | 75 | params_flow.rb:164:31:164:39 | call to taint | | params_flow.rb:164:37:164:38 | 75 | params_flow.rb:164:37:164:38 | 75 | | params_flow.rb:165:1:165:11 | call to sink | params_flow.rb:165:1:165:11 | call to sink | -| params_flow.rb:165:1:165:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:165:1:165:11 | synthetic splat argument | params_flow.rb:165:1:165:11 | synthetic splat argument | | params_flow.rb:165:6:165:10 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:165:6:165:10 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -6749,7 +6182,6 @@ trackEnd | params_flow.rb:171:13:171:14 | call to [] | params_flow.rb:174:6:174:15 | ...[...] | | params_flow.rb:171:17:171:25 | call to taint | params_flow.rb:168:26:168:35 | ...[...] | | params_flow.rb:171:17:171:25 | call to taint | params_flow.rb:171:17:171:25 | call to taint | -| params_flow.rb:171:17:171:25 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:171:17:171:25 | synthetic splat argument | params_flow.rb:171:17:171:25 | synthetic splat argument | | params_flow.rb:171:23:171:24 | 76 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:171:23:171:24 | 76 | params_flow.rb:1:11:1:11 | x | @@ -6758,7 +6190,6 @@ trackEnd | params_flow.rb:171:23:171:24 | 76 | params_flow.rb:171:17:171:25 | call to taint | | params_flow.rb:171:23:171:24 | 76 | params_flow.rb:171:23:171:24 | 76 | | params_flow.rb:172:1:172:19 | call to sink | params_flow.rb:172:1:172:19 | call to sink | -| params_flow.rb:172:1:172:19 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:172:1:172:19 | synthetic splat argument | params_flow.rb:172:1:172:19 | synthetic splat argument | | params_flow.rb:172:6:172:15 | ...[...] | params_flow.rb:172:6:172:15 | ...[...] | | params_flow.rb:172:6:172:15 | synthetic splat argument | params_flow.rb:172:6:172:15 | synthetic splat argument | @@ -6776,7 +6207,6 @@ trackEnd | params_flow.rb:173:17:173:24 | * ... | params_flow.rb:168:26:168:32 | posargs | | params_flow.rb:173:17:173:24 | * ... | params_flow.rb:173:17:173:24 | * ... | | params_flow.rb:174:1:174:19 | call to sink | params_flow.rb:174:1:174:19 | call to sink | -| params_flow.rb:174:1:174:19 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:174:1:174:19 | synthetic splat argument | params_flow.rb:174:1:174:19 | synthetic splat argument | | params_flow.rb:174:6:174:15 | ...[...] | params_flow.rb:174:6:174:15 | ...[...] | | params_flow.rb:174:6:174:15 | synthetic splat argument | params_flow.rb:174:6:174:15 | synthetic splat argument | @@ -6797,7 +6227,6 @@ trackEnd | params_flow.rb:176:6:176:7 | call to [] | params_flow.rb:178:17:178:18 | p1 | | params_flow.rb:176:6:176:7 | call to [] | params_flow.rb:179:6:179:7 | p1 | | params_flow.rb:177:1:177:11 | call to sink | params_flow.rb:177:1:177:11 | call to sink | -| params_flow.rb:177:1:177:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:177:1:177:11 | synthetic splat argument | params_flow.rb:177:1:177:11 | synthetic splat argument | | params_flow.rb:177:6:177:10 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:177:6:177:10 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -6813,7 +6242,6 @@ trackEnd | params_flow.rb:178:1:178:30 | synthetic splat argument | params_flow.rb:178:1:178:30 | synthetic splat argument | | params_flow.rb:178:21:178:29 | call to taint | params_flow.rb:168:26:168:35 | ...[...] | | params_flow.rb:178:21:178:29 | call to taint | params_flow.rb:178:21:178:29 | call to taint | -| params_flow.rb:178:21:178:29 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:178:21:178:29 | synthetic splat argument | params_flow.rb:178:21:178:29 | synthetic splat argument | | params_flow.rb:178:27:178:28 | 77 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:178:27:178:28 | 77 | params_flow.rb:1:11:1:11 | x | @@ -6822,7 +6250,6 @@ trackEnd | params_flow.rb:178:27:178:28 | 77 | params_flow.rb:178:21:178:29 | call to taint | | params_flow.rb:178:27:178:28 | 77 | params_flow.rb:178:27:178:28 | 77 | | params_flow.rb:179:1:179:11 | call to sink | params_flow.rb:179:1:179:11 | call to sink | -| params_flow.rb:179:1:179:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:179:1:179:11 | synthetic splat argument | params_flow.rb:179:1:179:11 | synthetic splat argument | | params_flow.rb:179:6:179:10 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:179:6:179:10 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -6880,7 +6307,6 @@ trackEnd | params_flow.rb:185:14:185:22 | call to taint | params_flow.rb:181:28:181:29 | p2 | | params_flow.rb:185:14:185:22 | call to taint | params_flow.rb:182:18:182:19 | p2 | | params_flow.rb:185:14:185:22 | call to taint | params_flow.rb:185:14:185:22 | call to taint | -| params_flow.rb:185:14:185:22 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:185:14:185:22 | synthetic splat argument | params_flow.rb:185:14:185:22 | synthetic splat argument | | params_flow.rb:185:20:185:21 | 78 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:185:20:185:21 | 78 | params_flow.rb:1:11:1:11 | x | @@ -6891,7 +6317,6 @@ trackEnd | params_flow.rb:185:20:185:21 | 78 | params_flow.rb:185:14:185:22 | call to taint | | params_flow.rb:185:20:185:21 | 78 | params_flow.rb:185:20:185:21 | 78 | | params_flow.rb:186:1:186:16 | call to sink | params_flow.rb:186:1:186:16 | call to sink | -| params_flow.rb:186:1:186:16 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:186:1:186:16 | synthetic splat argument | params_flow.rb:186:1:186:16 | synthetic splat argument | | params_flow.rb:186:6:186:12 | ...[...] | params_flow.rb:186:6:186:12 | ...[...] | | params_flow.rb:186:6:186:12 | synthetic splat argument | params_flow.rb:186:6:186:12 | synthetic splat argument | @@ -6906,7 +6331,6 @@ trackEnd | params_flow.rb:187:20:187:24 | * ... | params_flow.rb:181:1:183:3 | synthetic splat parameter | | params_flow.rb:187:20:187:24 | * ... | params_flow.rb:187:20:187:24 | * ... | | params_flow.rb:188:1:188:16 | call to sink | params_flow.rb:188:1:188:16 | call to sink | -| params_flow.rb:188:1:188:16 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:188:1:188:16 | synthetic splat argument | params_flow.rb:188:1:188:16 | synthetic splat argument | | params_flow.rb:188:6:188:12 | ...[...] | params_flow.rb:188:6:188:12 | ...[...] | | params_flow.rb:188:6:188:12 | synthetic splat argument | params_flow.rb:188:6:188:12 | synthetic splat argument | @@ -6929,7 +6353,6 @@ trackEnd | params_flow.rb:190:6:190:7 | call to [] | params_flow.rb:192:20:192:21 | p1 | | params_flow.rb:190:6:190:7 | call to [] | params_flow.rb:193:6:193:7 | p1 | | params_flow.rb:191:1:191:11 | call to sink | params_flow.rb:191:1:191:11 | call to sink | -| params_flow.rb:191:1:191:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:191:1:191:11 | synthetic splat argument | params_flow.rb:191:1:191:11 | synthetic splat argument | | params_flow.rb:191:6:191:10 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:191:6:191:10 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -6938,13 +6361,11 @@ trackEnd | params_flow.rb:191:6:191:10 | synthetic splat argument | params_flow.rb:191:6:191:10 | synthetic splat argument | | params_flow.rb:191:9:191:9 | 0 | params_flow.rb:191:9:191:9 | 0 | | params_flow.rb:192:1:192:33 | call to positionSideEffect | params_flow.rb:192:1:192:33 | call to positionSideEffect | -| params_flow.rb:192:1:192:33 | synthetic splat argument | params_flow.rb:181:1:183:3 | synthetic splat parameter | | params_flow.rb:192:1:192:33 | synthetic splat argument | params_flow.rb:192:1:192:33 | synthetic splat argument | | params_flow.rb:192:24:192:32 | call to taint | params_flow.rb:181:28:181:29 | p2 | | params_flow.rb:192:24:192:32 | call to taint | params_flow.rb:181:28:181:29 | p2 | | params_flow.rb:192:24:192:32 | call to taint | params_flow.rb:182:18:182:19 | p2 | | params_flow.rb:192:24:192:32 | call to taint | params_flow.rb:192:24:192:32 | call to taint | -| params_flow.rb:192:24:192:32 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:192:24:192:32 | synthetic splat argument | params_flow.rb:192:24:192:32 | synthetic splat argument | | params_flow.rb:192:30:192:31 | 79 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:192:30:192:31 | 79 | params_flow.rb:1:11:1:11 | x | @@ -6955,7 +6376,6 @@ trackEnd | params_flow.rb:192:30:192:31 | 79 | params_flow.rb:192:24:192:32 | call to taint | | params_flow.rb:192:30:192:31 | 79 | params_flow.rb:192:30:192:31 | 79 | | params_flow.rb:193:1:193:11 | call to sink | params_flow.rb:193:1:193:11 | call to sink | -| params_flow.rb:193:1:193:11 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:193:1:193:11 | synthetic splat argument | params_flow.rb:193:1:193:11 | synthetic splat argument | | params_flow.rb:193:6:193:10 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:193:6:193:10 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -6990,7 +6410,6 @@ trackEnd | params_flow.rb:196:10:196:18 | call to taint | params_flow.rb:200:9:200:9 | x | | params_flow.rb:196:10:196:18 | call to taint | params_flow.rb:201:11:201:11 | x | | params_flow.rb:196:10:196:18 | call to taint | params_flow.rb:202:11:202:11 | x | -| params_flow.rb:196:10:196:18 | synthetic splat argument | params_flow.rb:1:1:3:3 | synthetic splat parameter | | params_flow.rb:196:10:196:18 | synthetic splat argument | params_flow.rb:196:10:196:18 | synthetic splat argument | | params_flow.rb:196:16:196:17 | 80 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:196:16:196:17 | 80 | params_flow.rb:1:11:1:11 | x | @@ -7031,7 +6450,6 @@ trackEnd | params_flow.rb:200:12:200:12 | y | params_flow.rb:203:11:203:11 | y | | params_flow.rb:200:12:200:12 | y | params_flow.rb:204:11:204:11 | y | | params_flow.rb:201:5:201:15 | call to sink | params_flow.rb:201:5:201:15 | call to sink | -| params_flow.rb:201:5:201:15 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:201:5:201:15 | synthetic splat argument | params_flow.rb:201:5:201:15 | synthetic splat argument | | params_flow.rb:201:11:201:14 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:201:11:201:14 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -7041,7 +6459,6 @@ trackEnd | params_flow.rb:201:11:201:14 | synthetic splat argument | params_flow.rb:201:11:201:14 | synthetic splat argument | | params_flow.rb:201:13:201:13 | 0 | params_flow.rb:201:13:201:13 | 0 | | params_flow.rb:202:5:202:15 | call to sink | params_flow.rb:202:5:202:15 | call to sink | -| params_flow.rb:202:5:202:15 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:202:5:202:15 | synthetic splat argument | params_flow.rb:202:5:202:15 | synthetic splat argument | | params_flow.rb:202:11:202:14 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:202:11:202:14 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -7051,7 +6468,6 @@ trackEnd | params_flow.rb:202:11:202:14 | synthetic splat argument | params_flow.rb:202:11:202:14 | synthetic splat argument | | params_flow.rb:202:13:202:13 | 1 | params_flow.rb:202:13:202:13 | 1 | | params_flow.rb:203:5:203:15 | call to sink | params_flow.rb:203:5:203:15 | call to sink | -| params_flow.rb:203:5:203:15 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:203:5:203:15 | synthetic splat argument | params_flow.rb:203:5:203:15 | synthetic splat argument | | params_flow.rb:203:11:203:14 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:203:11:203:14 | ...[...] | params_flow.rb:5:10:5:10 | x | @@ -7062,7 +6478,6 @@ trackEnd | params_flow.rb:203:13:203:13 | 0 | params_flow.rb:203:13:203:13 | 0 | | params_flow.rb:204:5:204:15 | call to sink | params_flow.rb:204:5:204:15 | call to sink | | params_flow.rb:204:5:204:15 | call to sink | params_flow.rb:207:1:207:14 | call to foo | -| params_flow.rb:204:5:204:15 | synthetic splat argument | params_flow.rb:5:1:7:3 | synthetic splat parameter | | params_flow.rb:204:5:204:15 | synthetic splat argument | params_flow.rb:204:5:204:15 | synthetic splat argument | | params_flow.rb:204:11:204:14 | ...[...] | params_flow.rb:5:10:5:10 | x | | params_flow.rb:204:11:204:14 | ...[...] | params_flow.rb:5:10:5:10 | x | diff --git a/ruby/ql/test/library-tests/dataflow/params/params-flow.expected b/ruby/ql/test/library-tests/dataflow/params/params-flow.expected index 74bbbd395b2..4b079e0ebbb 100644 --- a/ruby/ql/test/library-tests/dataflow/params/params-flow.expected +++ b/ruby/ql/test/library-tests/dataflow/params/params-flow.expected @@ -66,8 +66,6 @@ edges | params_flow.rb:47:13:47:16 | args [element 1] | params_flow.rb:47:12:47:16 | * ... [element 1] | provenance | | | params_flow.rb:49:13:49:14 | p1 | params_flow.rb:50:10:50:11 | p1 | provenance | | | params_flow.rb:49:17:49:24 | *posargs [element 0] | params_flow.rb:51:11:51:17 | posargs [element 0] | provenance | | -| params_flow.rb:49:17:49:24 | *posargs [element 0] | params_flow.rb:51:11:51:17 | posargs [element 0] | provenance | | -| params_flow.rb:51:11:51:17 | posargs [element 0] | params_flow.rb:51:11:51:20 | ...[...] | provenance | | | params_flow.rb:51:11:51:17 | posargs [element 0] | params_flow.rb:51:11:51:20 | ...[...] | provenance | | | params_flow.rb:51:11:51:20 | ...[...] | params_flow.rb:51:10:51:21 | ( ... ) | provenance | | | params_flow.rb:55:9:55:17 | call to taint | params_flow.rb:49:13:49:14 | p1 | provenance | | @@ -77,7 +75,6 @@ edges | params_flow.rb:57:9:57:17 | call to taint | params_flow.rb:57:8:57:18 | call to [] [element 0] | provenance | | | params_flow.rb:58:9:58:17 | call to taint | params_flow.rb:49:13:49:14 | p1 | provenance | | | params_flow.rb:58:20:58:24 | * ... [element 0] | params_flow.rb:49:17:49:24 | *posargs [element 0] | provenance | | -| params_flow.rb:58:20:58:24 | * ... [element 0] | params_flow.rb:49:17:49:24 | *posargs [element 0] | provenance | | | params_flow.rb:58:21:58:24 | args [element 0] | params_flow.rb:58:20:58:24 | * ... [element 0] | provenance | | | params_flow.rb:60:1:60:4 | args [element 0] | params_flow.rb:61:10:61:13 | args [element 0] | provenance | | | params_flow.rb:60:1:60:4 | args [element 1] | params_flow.rb:61:10:61:13 | args [element 1] | provenance | | @@ -263,11 +260,9 @@ nodes | params_flow.rb:47:13:47:16 | args [element 1] | semmle.label | args [element 1] | | params_flow.rb:49:13:49:14 | p1 | semmle.label | p1 | | params_flow.rb:49:17:49:24 | *posargs [element 0] | semmle.label | *posargs [element 0] | -| params_flow.rb:49:17:49:24 | *posargs [element 0] | semmle.label | *posargs [element 0] | | params_flow.rb:50:10:50:11 | p1 | semmle.label | p1 | | params_flow.rb:51:10:51:21 | ( ... ) | semmle.label | ( ... ) | | params_flow.rb:51:11:51:17 | posargs [element 0] | semmle.label | posargs [element 0] | -| params_flow.rb:51:11:51:17 | posargs [element 0] | semmle.label | posargs [element 0] | | params_flow.rb:51:11:51:20 | ...[...] | semmle.label | ...[...] | | params_flow.rb:55:9:55:17 | call to taint | semmle.label | call to taint | | params_flow.rb:55:20:55:28 | call to taint | semmle.label | call to taint | diff --git a/ruby/ql/test/library-tests/dataflow/type-tracker/TypeTracker.expected b/ruby/ql/test/library-tests/dataflow/type-tracker/TypeTracker.expected index d843d8e3c6d..f0199572d78 100644 --- a/ruby/ql/test/library-tests/dataflow/type-tracker/TypeTracker.expected +++ b/ruby/ql/test/library-tests/dataflow/type-tracker/TypeTracker.expected @@ -14,12 +14,12 @@ track | type_tracker.rb:2:16:2:18 | val | type tracker without call steps | type_tracker.rb:8:9:8:14 | @field | | type_tracker.rb:2:16:2:18 | val | type tracker without call steps | type_tracker.rb:14:5:14:13 | call to field= | | type_tracker.rb:2:16:2:18 | val | type tracker without call steps | type_tracker.rb:15:10:15:18 | call to field | -| type_tracker.rb:2:16:2:18 | val | type tracker without call steps with content splat position 0 | type_tracker.rb:3:9:3:23 | synthetic splat argument | -| type_tracker.rb:2:16:2:18 | val | type tracker without call steps with content splat position 0 | type_tracker.rb:15:5:15:18 | synthetic splat argument | +| type_tracker.rb:2:16:2:18 | val | type tracker without call steps with content element 0 | type_tracker.rb:3:9:3:23 | synthetic splat argument | +| type_tracker.rb:2:16:2:18 | val | type tracker without call steps with content element 0 | type_tracker.rb:15:5:15:18 | synthetic splat argument | | type_tracker.rb:3:9:3:23 | call to puts | type tracker without call steps | type_tracker.rb:3:9:3:23 | call to puts | | type_tracker.rb:3:9:3:23 | synthetic splat argument | type tracker without call steps | type_tracker.rb:3:9:3:23 | synthetic splat argument | | type_tracker.rb:3:14:3:23 | call to field | type tracker without call steps | type_tracker.rb:3:14:3:23 | call to field | -| type_tracker.rb:3:14:3:23 | call to field | type tracker without call steps with content splat position 0 | type_tracker.rb:3:9:3:23 | synthetic splat argument | +| type_tracker.rb:3:14:3:23 | call to field | type tracker without call steps with content element 0 | type_tracker.rb:3:9:3:23 | synthetic splat argument | | type_tracker.rb:4:9:4:14 | @field | type tracker without call steps | type_tracker.rb:4:9:4:14 | @field | | type_tracker.rb:7:5:9:7 | &block | type tracker without call steps | type_tracker.rb:7:5:9:7 | &block | | type_tracker.rb:7:5:9:7 | field | type tracker without call steps | type_tracker.rb:7:5:9:7 | field | @@ -27,8 +27,8 @@ track | type_tracker.rb:8:9:8:14 | @field | type tracker without call steps | type_tracker.rb:3:14:3:23 | call to field | | type_tracker.rb:8:9:8:14 | @field | type tracker without call steps | type_tracker.rb:8:9:8:14 | @field | | type_tracker.rb:8:9:8:14 | @field | type tracker without call steps | type_tracker.rb:15:10:15:18 | call to field | -| type_tracker.rb:8:9:8:14 | @field | type tracker without call steps with content splat position 0 | type_tracker.rb:3:9:3:23 | synthetic splat argument | -| type_tracker.rb:8:9:8:14 | @field | type tracker without call steps with content splat position 0 | type_tracker.rb:15:5:15:18 | synthetic splat argument | +| type_tracker.rb:8:9:8:14 | @field | type tracker without call steps with content element 0 | type_tracker.rb:3:9:3:23 | synthetic splat argument | +| type_tracker.rb:8:9:8:14 | @field | type tracker without call steps with content element 0 | type_tracker.rb:15:5:15:18 | synthetic splat argument | | type_tracker.rb:12:1:16:3 | &block | type tracker without call steps | type_tracker.rb:12:1:16:3 | &block | | type_tracker.rb:12:1:16:3 | m | type tracker without call steps | type_tracker.rb:12:1:16:3 | m | | type_tracker.rb:12:1:16:3 | self in m | type tracker without call steps | type_tracker.rb:12:1:16:3 | self in m | @@ -40,61 +40,56 @@ track | type_tracker.rb:14:5:14:7 | [post] var | type tracker with call steps | type_tracker.rb:7:5:9:7 | self in field | | type_tracker.rb:14:5:14:7 | [post] var | type tracker without call steps | type_tracker.rb:14:5:14:7 | [post] var | | type_tracker.rb:14:5:14:13 | call to field= | type tracker without call steps | type_tracker.rb:14:5:14:13 | call to field= | -| type_tracker.rb:14:5:14:13 | synthetic splat argument | type tracker with call steps | type_tracker.rb:2:5:5:7 | synthetic splat parameter | | type_tracker.rb:14:5:14:13 | synthetic splat argument | type tracker without call steps | type_tracker.rb:14:5:14:13 | synthetic splat argument | | type_tracker.rb:14:17:14:23 | "hello" | type tracker with call steps | type_tracker.rb:2:16:2:18 | val | | type_tracker.rb:14:17:14:23 | "hello" | type tracker with call steps | type_tracker.rb:8:9:8:14 | @field | | type_tracker.rb:14:17:14:23 | "hello" | type tracker with call steps with content attribute field | type_tracker.rb:7:5:9:7 | self in field | -| type_tracker.rb:14:17:14:23 | "hello" | type tracker with call steps with content splat position 0 | type_tracker.rb:2:5:5:7 | synthetic splat parameter | | type_tracker.rb:14:17:14:23 | "hello" | type tracker without call steps | type_tracker.rb:14:5:14:13 | call to field= | | type_tracker.rb:14:17:14:23 | "hello" | type tracker without call steps | type_tracker.rb:14:17:14:23 | "hello" | | type_tracker.rb:14:17:14:23 | "hello" | type tracker without call steps | type_tracker.rb:15:10:15:18 | call to field | | type_tracker.rb:14:17:14:23 | "hello" | type tracker without call steps with content attribute field | type_tracker.rb:14:5:14:7 | [post] var | -| type_tracker.rb:14:17:14:23 | "hello" | type tracker without call steps with content splat position 0 | type_tracker.rb:14:5:14:13 | synthetic splat argument | -| type_tracker.rb:14:17:14:23 | "hello" | type tracker without call steps with content splat position 0 | type_tracker.rb:15:5:15:18 | synthetic splat argument | +| type_tracker.rb:14:17:14:23 | "hello" | type tracker without call steps with content element 0 | type_tracker.rb:14:5:14:13 | synthetic splat argument | +| type_tracker.rb:14:17:14:23 | "hello" | type tracker without call steps with content element 0 | type_tracker.rb:15:5:15:18 | synthetic splat argument | | type_tracker.rb:14:17:14:23 | __synth__0 | type tracker without call steps | type_tracker.rb:14:17:14:23 | __synth__0 | | type_tracker.rb:15:5:15:18 | call to puts | type tracker without call steps | type_tracker.rb:15:5:15:18 | call to puts | | type_tracker.rb:15:5:15:18 | synthetic splat argument | type tracker without call steps | type_tracker.rb:15:5:15:18 | synthetic splat argument | | type_tracker.rb:15:10:15:18 | call to field | type tracker without call steps | type_tracker.rb:15:10:15:18 | call to field | -| type_tracker.rb:15:10:15:18 | call to field | type tracker without call steps with content splat position 0 | type_tracker.rb:15:5:15:18 | synthetic splat argument | +| type_tracker.rb:15:10:15:18 | call to field | type tracker without call steps with content element 0 | type_tracker.rb:15:5:15:18 | synthetic splat argument | | type_tracker.rb:18:1:21:3 | &block | type tracker without call steps | type_tracker.rb:18:1:21:3 | &block | | type_tracker.rb:18:1:21:3 | positional | type tracker without call steps | type_tracker.rb:18:1:21:3 | positional | | type_tracker.rb:18:1:21:3 | self in positional | type tracker without call steps | type_tracker.rb:18:1:21:3 | self in positional | | type_tracker.rb:18:1:21:3 | synthetic splat parameter | type tracker without call steps | type_tracker.rb:18:1:21:3 | synthetic splat parameter | | type_tracker.rb:18:16:18:17 | p1 | type tracker without call steps | type_tracker.rb:18:16:18:17 | p1 | | type_tracker.rb:18:16:18:17 | p1 | type tracker without call steps | type_tracker.rb:18:16:18:17 | p1 | -| type_tracker.rb:18:16:18:17 | p1 | type tracker without call steps with content splat position 0 | type_tracker.rb:19:5:19:11 | synthetic splat argument | +| type_tracker.rb:18:16:18:17 | p1 | type tracker without call steps with content element 0 | type_tracker.rb:19:5:19:11 | synthetic splat argument | | type_tracker.rb:18:20:18:21 | p2 | type tracker without call steps | type_tracker.rb:18:20:18:21 | p2 | | type_tracker.rb:18:20:18:21 | p2 | type tracker without call steps | type_tracker.rb:18:20:18:21 | p2 | -| type_tracker.rb:18:20:18:21 | p2 | type tracker without call steps with content splat position 0 | type_tracker.rb:20:5:20:11 | synthetic splat argument | +| type_tracker.rb:18:20:18:21 | p2 | type tracker without call steps with content element 0 | type_tracker.rb:20:5:20:11 | synthetic splat argument | | type_tracker.rb:19:5:19:11 | call to puts | type tracker without call steps | type_tracker.rb:19:5:19:11 | call to puts | | type_tracker.rb:19:5:19:11 | synthetic splat argument | type tracker without call steps | type_tracker.rb:19:5:19:11 | synthetic splat argument | | type_tracker.rb:20:5:20:11 | call to puts | type tracker without call steps | type_tracker.rb:20:5:20:11 | call to puts | | type_tracker.rb:20:5:20:11 | call to puts | type tracker without call steps | type_tracker.rb:23:1:23:16 | call to positional | | type_tracker.rb:20:5:20:11 | synthetic splat argument | type tracker without call steps | type_tracker.rb:20:5:20:11 | synthetic splat argument | | type_tracker.rb:23:1:23:16 | call to positional | type tracker without call steps | type_tracker.rb:23:1:23:16 | call to positional | -| type_tracker.rb:23:1:23:16 | synthetic splat argument | type tracker with call steps | type_tracker.rb:18:1:21:3 | synthetic splat parameter | | type_tracker.rb:23:1:23:16 | synthetic splat argument | type tracker without call steps | type_tracker.rb:23:1:23:16 | synthetic splat argument | | type_tracker.rb:23:12:23:12 | 1 | type tracker with call steps | type_tracker.rb:18:16:18:17 | p1 | -| type_tracker.rb:23:12:23:12 | 1 | type tracker with call steps with content splat position 0 | type_tracker.rb:18:1:21:3 | synthetic splat parameter | -| type_tracker.rb:23:12:23:12 | 1 | type tracker with call steps with content splat position 0 | type_tracker.rb:19:5:19:11 | synthetic splat argument | +| type_tracker.rb:23:12:23:12 | 1 | type tracker with call steps with content element 0 | type_tracker.rb:19:5:19:11 | synthetic splat argument | | type_tracker.rb:23:12:23:12 | 1 | type tracker without call steps | type_tracker.rb:23:12:23:12 | 1 | -| type_tracker.rb:23:12:23:12 | 1 | type tracker without call steps with content splat position 0 | type_tracker.rb:23:1:23:16 | synthetic splat argument | +| type_tracker.rb:23:12:23:12 | 1 | type tracker without call steps with content element 0 | type_tracker.rb:23:1:23:16 | synthetic splat argument | | type_tracker.rb:23:15:23:15 | 2 | type tracker with call steps | type_tracker.rb:18:20:18:21 | p2 | -| type_tracker.rb:23:15:23:15 | 2 | type tracker with call steps with content splat position 0 | type_tracker.rb:20:5:20:11 | synthetic splat argument | -| type_tracker.rb:23:15:23:15 | 2 | type tracker with call steps with content splat position 1 | type_tracker.rb:18:1:21:3 | synthetic splat parameter | +| type_tracker.rb:23:15:23:15 | 2 | type tracker with call steps with content element 0 | type_tracker.rb:20:5:20:11 | synthetic splat argument | | type_tracker.rb:23:15:23:15 | 2 | type tracker without call steps | type_tracker.rb:23:15:23:15 | 2 | -| type_tracker.rb:23:15:23:15 | 2 | type tracker without call steps with content splat position 1 | type_tracker.rb:23:1:23:16 | synthetic splat argument | +| type_tracker.rb:23:15:23:15 | 2 | type tracker without call steps with content element 1 | type_tracker.rb:23:1:23:16 | synthetic splat argument | | type_tracker.rb:25:1:28:3 | &block | type tracker without call steps | type_tracker.rb:25:1:28:3 | &block | | type_tracker.rb:25:1:28:3 | keyword | type tracker without call steps | type_tracker.rb:25:1:28:3 | keyword | | type_tracker.rb:25:1:28:3 | self in keyword | type tracker without call steps | type_tracker.rb:25:1:28:3 | self in keyword | | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | type tracker without call steps | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | | type_tracker.rb:25:13:25:14 | p1 | type tracker without call steps | type_tracker.rb:25:13:25:14 | p1 | | type_tracker.rb:25:13:25:14 | p1 | type tracker without call steps | type_tracker.rb:25:13:25:14 | p1 | -| type_tracker.rb:25:13:25:14 | p1 | type tracker without call steps with content splat position 0 | type_tracker.rb:26:5:26:11 | synthetic splat argument | +| type_tracker.rb:25:13:25:14 | p1 | type tracker without call steps with content element 0 | type_tracker.rb:26:5:26:11 | synthetic splat argument | | type_tracker.rb:25:18:25:19 | p2 | type tracker without call steps | type_tracker.rb:25:18:25:19 | p2 | | type_tracker.rb:25:18:25:19 | p2 | type tracker without call steps | type_tracker.rb:25:18:25:19 | p2 | -| type_tracker.rb:25:18:25:19 | p2 | type tracker without call steps with content splat position 0 | type_tracker.rb:27:5:27:11 | synthetic splat argument | +| type_tracker.rb:25:18:25:19 | p2 | type tracker without call steps with content element 0 | type_tracker.rb:27:5:27:11 | synthetic splat argument | | type_tracker.rb:26:5:26:11 | call to puts | type tracker without call steps | type_tracker.rb:26:5:26:11 | call to puts | | type_tracker.rb:26:5:26:11 | synthetic splat argument | type tracker without call steps | type_tracker.rb:26:5:26:11 | synthetic splat argument | | type_tracker.rb:27:5:27:11 | call to puts | type tracker without call steps | type_tracker.rb:27:5:27:11 | call to puts | @@ -108,15 +103,15 @@ track | type_tracker.rb:30:9:30:10 | :p1 | type tracker without call steps | type_tracker.rb:30:9:30:10 | :p1 | | type_tracker.rb:30:9:30:13 | Pair | type tracker without call steps | type_tracker.rb:30:9:30:13 | Pair | | type_tracker.rb:30:13:30:13 | 3 | type tracker with call steps | type_tracker.rb:25:13:25:14 | p1 | +| type_tracker.rb:30:13:30:13 | 3 | type tracker with call steps with content element 0 | type_tracker.rb:26:5:26:11 | synthetic splat argument | | type_tracker.rb:30:13:30:13 | 3 | type tracker with call steps with content hash-splat position :p1 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | -| type_tracker.rb:30:13:30:13 | 3 | type tracker with call steps with content splat position 0 | type_tracker.rb:26:5:26:11 | synthetic splat argument | | type_tracker.rb:30:13:30:13 | 3 | type tracker without call steps | type_tracker.rb:30:13:30:13 | 3 | | type_tracker.rb:30:13:30:13 | 3 | type tracker without call steps with content hash-splat position :p1 | type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | | type_tracker.rb:30:16:30:17 | :p2 | type tracker without call steps | type_tracker.rb:30:16:30:17 | :p2 | | type_tracker.rb:30:16:30:20 | Pair | type tracker without call steps | type_tracker.rb:30:16:30:20 | Pair | | type_tracker.rb:30:20:30:20 | 4 | type tracker with call steps | type_tracker.rb:25:18:25:19 | p2 | +| type_tracker.rb:30:20:30:20 | 4 | type tracker with call steps with content element 0 | type_tracker.rb:27:5:27:11 | synthetic splat argument | | type_tracker.rb:30:20:30:20 | 4 | type tracker with call steps with content hash-splat position :p2 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | -| type_tracker.rb:30:20:30:20 | 4 | type tracker with call steps with content splat position 0 | type_tracker.rb:27:5:27:11 | synthetic splat argument | | type_tracker.rb:30:20:30:20 | 4 | type tracker without call steps | type_tracker.rb:30:20:30:20 | 4 | | type_tracker.rb:30:20:30:20 | 4 | type tracker without call steps with content hash-splat position :p2 | type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | | type_tracker.rb:31:1:31:21 | call to keyword | type tracker without call steps | type_tracker.rb:31:1:31:21 | call to keyword | @@ -125,15 +120,15 @@ track | type_tracker.rb:31:9:31:10 | :p2 | type tracker without call steps | type_tracker.rb:31:9:31:10 | :p2 | | type_tracker.rb:31:9:31:13 | Pair | type tracker without call steps | type_tracker.rb:31:9:31:13 | Pair | | type_tracker.rb:31:13:31:13 | 5 | type tracker with call steps | type_tracker.rb:25:18:25:19 | p2 | +| type_tracker.rb:31:13:31:13 | 5 | type tracker with call steps with content element 0 | type_tracker.rb:27:5:27:11 | synthetic splat argument | | type_tracker.rb:31:13:31:13 | 5 | type tracker with call steps with content hash-splat position :p2 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | -| type_tracker.rb:31:13:31:13 | 5 | type tracker with call steps with content splat position 0 | type_tracker.rb:27:5:27:11 | synthetic splat argument | | type_tracker.rb:31:13:31:13 | 5 | type tracker without call steps | type_tracker.rb:31:13:31:13 | 5 | | type_tracker.rb:31:13:31:13 | 5 | type tracker without call steps with content hash-splat position :p2 | type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | | type_tracker.rb:31:16:31:17 | :p1 | type tracker without call steps | type_tracker.rb:31:16:31:17 | :p1 | | type_tracker.rb:31:16:31:20 | Pair | type tracker without call steps | type_tracker.rb:31:16:31:20 | Pair | | type_tracker.rb:31:20:31:20 | 6 | type tracker with call steps | type_tracker.rb:25:13:25:14 | p1 | +| type_tracker.rb:31:20:31:20 | 6 | type tracker with call steps with content element 0 | type_tracker.rb:26:5:26:11 | synthetic splat argument | | type_tracker.rb:31:20:31:20 | 6 | type tracker with call steps with content hash-splat position :p1 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | -| type_tracker.rb:31:20:31:20 | 6 | type tracker with call steps with content splat position 0 | type_tracker.rb:26:5:26:11 | synthetic splat argument | | type_tracker.rb:31:20:31:20 | 6 | type tracker without call steps | type_tracker.rb:31:20:31:20 | 6 | | type_tracker.rb:31:20:31:20 | 6 | type tracker without call steps with content hash-splat position :p1 | type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | | type_tracker.rb:32:1:32:27 | call to keyword | type tracker without call steps | type_tracker.rb:32:1:32:27 | call to keyword | @@ -142,15 +137,15 @@ track | type_tracker.rb:32:9:32:11 | :p2 | type tracker without call steps | type_tracker.rb:32:9:32:11 | :p2 | | type_tracker.rb:32:9:32:16 | Pair | type tracker without call steps | type_tracker.rb:32:9:32:16 | Pair | | type_tracker.rb:32:16:32:16 | 7 | type tracker with call steps | type_tracker.rb:25:18:25:19 | p2 | +| type_tracker.rb:32:16:32:16 | 7 | type tracker with call steps with content element 0 | type_tracker.rb:27:5:27:11 | synthetic splat argument | | type_tracker.rb:32:16:32:16 | 7 | type tracker with call steps with content hash-splat position :p2 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | -| type_tracker.rb:32:16:32:16 | 7 | type tracker with call steps with content splat position 0 | type_tracker.rb:27:5:27:11 | synthetic splat argument | | type_tracker.rb:32:16:32:16 | 7 | type tracker without call steps | type_tracker.rb:32:16:32:16 | 7 | | type_tracker.rb:32:16:32:16 | 7 | type tracker without call steps with content hash-splat position :p2 | type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | | type_tracker.rb:32:19:32:21 | :p1 | type tracker without call steps | type_tracker.rb:32:19:32:21 | :p1 | | type_tracker.rb:32:19:32:26 | Pair | type tracker without call steps | type_tracker.rb:32:19:32:26 | Pair | | type_tracker.rb:32:26:32:26 | 8 | type tracker with call steps | type_tracker.rb:25:13:25:14 | p1 | +| type_tracker.rb:32:26:32:26 | 8 | type tracker with call steps with content element 0 | type_tracker.rb:26:5:26:11 | synthetic splat argument | | type_tracker.rb:32:26:32:26 | 8 | type tracker with call steps with content hash-splat position :p1 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | -| type_tracker.rb:32:26:32:26 | 8 | type tracker with call steps with content splat position 0 | type_tracker.rb:26:5:26:11 | synthetic splat argument | | type_tracker.rb:32:26:32:26 | 8 | type tracker without call steps | type_tracker.rb:32:26:32:26 | 8 | | type_tracker.rb:32:26:32:26 | 8 | type tracker without call steps with content hash-splat position :p1 | type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | | type_tracker.rb:34:1:53:3 | &block | type tracker without call steps | type_tracker.rb:34:1:53:3 | &block | @@ -169,18 +164,18 @@ track | type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content element 0 | type_tracker.rb:35:11:35:15 | synthetic splat argument | | type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content element 0 or unknown | type_tracker.rb:43:5:43:10 | [post] array2 | | type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content element 0 or unknown | type_tracker.rb:47:5:47:10 | [post] array3 | -| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content splat position 1 | type_tracker.rb:39:5:39:12 | synthetic splat argument | -| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content splat position 1 | type_tracker.rb:43:5:43:13 | synthetic splat argument | -| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content splat position 1 | type_tracker.rb:47:5:47:13 | synthetic splat argument | -| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content splat position 1 | type_tracker.rb:51:5:51:13 | synthetic splat argument | +| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content element 1 | type_tracker.rb:39:5:39:12 | synthetic splat argument | +| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content element 1 | type_tracker.rb:43:5:43:13 | synthetic splat argument | +| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content element 1 | type_tracker.rb:47:5:47:13 | synthetic splat argument | +| type_tracker.rb:34:18:34:20 | obj | type tracker without call steps with content element 1 | type_tracker.rb:51:5:51:13 | synthetic splat argument | | type_tracker.rb:34:23:34:23 | y | type tracker without call steps | type_tracker.rb:34:23:34:23 | y | | type_tracker.rb:34:23:34:23 | y | type tracker without call steps | type_tracker.rb:34:23:34:23 | y | -| type_tracker.rb:34:23:34:23 | y | type tracker without call steps with content splat position 0 | type_tracker.rb:39:5:39:12 | synthetic splat argument | -| type_tracker.rb:34:23:34:23 | y | type tracker without call steps with content splat position 0 | type_tracker.rb:44:5:44:13 | synthetic splat argument | -| type_tracker.rb:34:23:34:23 | y | type tracker without call steps with content splat position 0 | type_tracker.rb:51:5:51:13 | synthetic splat argument | +| type_tracker.rb:34:23:34:23 | y | type tracker without call steps with content element 0 | type_tracker.rb:39:5:39:12 | synthetic splat argument | +| type_tracker.rb:34:23:34:23 | y | type tracker without call steps with content element 0 | type_tracker.rb:44:5:44:13 | synthetic splat argument | +| type_tracker.rb:34:23:34:23 | y | type tracker without call steps with content element 0 | type_tracker.rb:51:5:51:13 | synthetic splat argument | | type_tracker.rb:34:26:34:26 | z | type tracker without call steps | type_tracker.rb:34:26:34:26 | z | | type_tracker.rb:34:26:34:26 | z | type tracker without call steps | type_tracker.rb:34:26:34:26 | z | -| type_tracker.rb:34:26:34:26 | z | type tracker without call steps with content splat position 0 | type_tracker.rb:52:5:52:13 | synthetic splat argument | +| type_tracker.rb:34:26:34:26 | z | type tracker without call steps with content element 0 | type_tracker.rb:52:5:52:13 | synthetic splat argument | | type_tracker.rb:35:5:35:7 | tmp | type tracker without call steps | type_tracker.rb:35:5:35:7 | tmp | | type_tracker.rb:35:11:35:15 | Array | type tracker without call steps | type_tracker.rb:35:11:35:15 | Array | | type_tracker.rb:35:11:35:15 | call to [] | type tracker without call steps | type_tracker.rb:35:11:35:15 | call to [] | @@ -189,7 +184,7 @@ track | type_tracker.rb:36:5:36:10 | ...[...] | type tracker without call steps | type_tracker.rb:36:5:36:10 | ...[...] | | type_tracker.rb:36:5:36:10 | synthetic splat argument | type tracker without call steps | type_tracker.rb:36:5:36:10 | synthetic splat argument | | type_tracker.rb:36:9:36:9 | 0 | type tracker without call steps | type_tracker.rb:36:9:36:9 | 0 | -| type_tracker.rb:36:9:36:9 | 0 | type tracker without call steps with content splat position 0 | type_tracker.rb:36:5:36:10 | synthetic splat argument | +| type_tracker.rb:36:9:36:9 | 0 | type tracker without call steps with content element 0 | type_tracker.rb:36:5:36:10 | synthetic splat argument | | type_tracker.rb:38:5:38:9 | array | type tracker without call steps | type_tracker.rb:38:5:38:9 | array | | type_tracker.rb:38:13:38:25 | Array | type tracker without call steps | type_tracker.rb:38:13:38:25 | Array | | type_tracker.rb:38:13:38:25 | call to [] | type tracker without call steps | type_tracker.rb:38:13:38:25 | call to [] | @@ -221,7 +216,7 @@ track | type_tracker.rb:40:5:40:12 | ...[...] | type tracker without call steps | type_tracker.rb:40:5:40:12 | ...[...] | | type_tracker.rb:40:5:40:12 | synthetic splat argument | type tracker without call steps | type_tracker.rb:40:5:40:12 | synthetic splat argument | | type_tracker.rb:40:11:40:11 | 0 | type tracker without call steps | type_tracker.rb:40:11:40:11 | 0 | -| type_tracker.rb:40:11:40:11 | 0 | type tracker without call steps with content splat position 0 | type_tracker.rb:40:5:40:12 | synthetic splat argument | +| type_tracker.rb:40:11:40:11 | 0 | type tracker without call steps with content element 0 | type_tracker.rb:40:5:40:12 | synthetic splat argument | | type_tracker.rb:42:5:42:10 | array2 | type tracker without call steps | type_tracker.rb:42:5:42:10 | array2 | | type_tracker.rb:42:14:42:26 | Array | type tracker without call steps | type_tracker.rb:42:14:42:26 | Array | | type_tracker.rb:42:14:42:26 | call to [] | type tracker without call steps | type_tracker.rb:42:14:42:26 | call to [] | @@ -263,7 +258,7 @@ track | type_tracker.rb:43:5:43:13 | call to []= | type tracker without call steps | type_tracker.rb:43:5:43:13 | call to []= | | type_tracker.rb:43:5:43:13 | synthetic splat argument | type tracker without call steps | type_tracker.rb:43:5:43:13 | synthetic splat argument | | type_tracker.rb:43:12:43:12 | 0 | type tracker without call steps | type_tracker.rb:43:12:43:12 | 0 | -| type_tracker.rb:43:12:43:12 | 0 | type tracker without call steps with content splat position 0 | type_tracker.rb:43:5:43:13 | synthetic splat argument | +| type_tracker.rb:43:12:43:12 | 0 | type tracker without call steps with content element 0 | type_tracker.rb:43:5:43:13 | synthetic splat argument | | type_tracker.rb:43:17:43:19 | __synth__0 | type tracker without call steps | type_tracker.rb:43:17:43:19 | __synth__0 | | type_tracker.rb:44:5:44:13 | ...[...] | type tracker without call steps | type_tracker.rb:44:5:44:13 | ...[...] | | type_tracker.rb:44:5:44:13 | synthetic splat argument | type tracker without call steps | type_tracker.rb:44:5:44:13 | synthetic splat argument | @@ -303,12 +298,12 @@ track | type_tracker.rb:47:5:47:13 | call to []= | type tracker without call steps | type_tracker.rb:47:5:47:13 | call to []= | | type_tracker.rb:47:5:47:13 | synthetic splat argument | type tracker without call steps | type_tracker.rb:47:5:47:13 | synthetic splat argument | | type_tracker.rb:47:12:47:12 | 0 | type tracker without call steps | type_tracker.rb:47:12:47:12 | 0 | -| type_tracker.rb:47:12:47:12 | 0 | type tracker without call steps with content splat position 0 | type_tracker.rb:47:5:47:13 | synthetic splat argument | +| type_tracker.rb:47:12:47:12 | 0 | type tracker without call steps with content element 0 | type_tracker.rb:47:5:47:13 | synthetic splat argument | | type_tracker.rb:47:17:47:19 | __synth__0 | type tracker without call steps | type_tracker.rb:47:17:47:19 | __synth__0 | | type_tracker.rb:48:5:48:13 | ...[...] | type tracker without call steps | type_tracker.rb:48:5:48:13 | ...[...] | | type_tracker.rb:48:5:48:13 | synthetic splat argument | type tracker without call steps | type_tracker.rb:48:5:48:13 | synthetic splat argument | | type_tracker.rb:48:12:48:12 | 1 | type tracker without call steps | type_tracker.rb:48:12:48:12 | 1 | -| type_tracker.rb:48:12:48:12 | 1 | type tracker without call steps with content splat position 0 | type_tracker.rb:48:5:48:13 | synthetic splat argument | +| type_tracker.rb:48:12:48:12 | 1 | type tracker without call steps with content element 0 | type_tracker.rb:48:5:48:13 | synthetic splat argument | | type_tracker.rb:50:5:50:10 | array4 | type tracker without call steps | type_tracker.rb:50:5:50:10 | array4 | | type_tracker.rb:50:14:50:26 | Array | type tracker without call steps | type_tracker.rb:50:14:50:26 | Array | | type_tracker.rb:50:14:50:26 | call to [] | type tracker without call steps | type_tracker.rb:50:14:50:26 | call to [] | @@ -419,7 +414,6 @@ trackEnd | type_tracker.rb:14:5:14:7 | [post] var | type_tracker.rb:14:5:14:7 | [post] var | | type_tracker.rb:14:5:14:7 | [post] var | type_tracker.rb:15:10:15:12 | var | | type_tracker.rb:14:5:14:13 | call to field= | type_tracker.rb:14:5:14:13 | call to field= | -| type_tracker.rb:14:5:14:13 | synthetic splat argument | type_tracker.rb:2:5:5:7 | synthetic splat parameter | | type_tracker.rb:14:5:14:13 | synthetic splat argument | type_tracker.rb:14:5:14:13 | synthetic splat argument | | type_tracker.rb:14:17:14:23 | "hello" | type_tracker.rb:2:16:2:18 | val | | type_tracker.rb:14:17:14:23 | "hello" | type_tracker.rb:2:16:2:18 | val | @@ -458,7 +452,6 @@ trackEnd | type_tracker.rb:20:5:20:11 | call to puts | type_tracker.rb:23:1:23:16 | call to positional | | type_tracker.rb:20:5:20:11 | synthetic splat argument | type_tracker.rb:20:5:20:11 | synthetic splat argument | | type_tracker.rb:23:1:23:16 | call to positional | type_tracker.rb:23:1:23:16 | call to positional | -| type_tracker.rb:23:1:23:16 | synthetic splat argument | type_tracker.rb:18:1:21:3 | synthetic splat parameter | | type_tracker.rb:23:1:23:16 | synthetic splat argument | type_tracker.rb:23:1:23:16 | synthetic splat argument | | type_tracker.rb:23:12:23:12 | 1 | type_tracker.rb:18:16:18:17 | p1 | | type_tracker.rb:23:12:23:12 | 1 | type_tracker.rb:18:16:18:17 | p1 | diff --git a/ruby/ql/test/library-tests/frameworks/action_controller/params-flow.expected b/ruby/ql/test/library-tests/frameworks/action_controller/params-flow.expected index 77c97b234d9..f443f766986 100644 --- a/ruby/ql/test/library-tests/frameworks/action_controller/params-flow.expected +++ b/ruby/ql/test/library-tests/frameworks/action_controller/params-flow.expected @@ -67,21 +67,21 @@ edges | params_flow.rb:107:10:107:33 | call to values_at [element 0] | params_flow.rb:107:10:107:33 | call to values_at | provenance | | | params_flow.rb:107:10:107:33 | call to values_at [element 1] | params_flow.rb:107:10:107:33 | call to values_at | provenance | | | params_flow.rb:111:10:111:15 | call to params | params_flow.rb:111:10:111:29 | call to merge | provenance | | -| params_flow.rb:112:10:112:29 | call to merge [splat position 0] | params_flow.rb:112:10:112:29 | call to merge | provenance | | +| params_flow.rb:112:10:112:29 | call to merge [element 0] | params_flow.rb:112:10:112:29 | call to merge | provenance | | | params_flow.rb:112:23:112:28 | call to params | params_flow.rb:112:10:112:29 | call to merge | provenance | | -| params_flow.rb:112:23:112:28 | call to params | params_flow.rb:112:10:112:29 | call to merge [splat position 0] | provenance | | +| params_flow.rb:112:23:112:28 | call to params | params_flow.rb:112:10:112:29 | call to merge [element 0] | provenance | | | params_flow.rb:116:10:116:15 | call to params | params_flow.rb:116:10:116:37 | call to reverse_merge | provenance | | | params_flow.rb:117:31:117:36 | call to params | params_flow.rb:117:10:117:37 | call to reverse_merge | provenance | | | params_flow.rb:121:10:121:15 | call to params | params_flow.rb:121:10:121:43 | call to with_defaults | provenance | | | params_flow.rb:122:31:122:36 | call to params | params_flow.rb:122:10:122:37 | call to with_defaults | provenance | | | params_flow.rb:126:10:126:15 | call to params | params_flow.rb:126:10:126:30 | call to merge! | provenance | | -| params_flow.rb:127:10:127:30 | call to merge! [splat position 0] | params_flow.rb:127:10:127:30 | call to merge! | provenance | | +| params_flow.rb:127:10:127:30 | call to merge! [element 0] | params_flow.rb:127:10:127:30 | call to merge! | provenance | | | params_flow.rb:127:24:127:29 | call to params | params_flow.rb:127:10:127:30 | call to merge! | provenance | | -| params_flow.rb:127:24:127:29 | call to params | params_flow.rb:127:10:127:30 | call to merge! [splat position 0] | provenance | | +| params_flow.rb:127:24:127:29 | call to params | params_flow.rb:127:10:127:30 | call to merge! [element 0] | provenance | | | params_flow.rb:130:5:130:5 | [post] p | params_flow.rb:131:10:131:10 | p | provenance | | -| params_flow.rb:130:5:130:5 | [post] p [splat position 0] | params_flow.rb:131:10:131:10 | p | provenance | | +| params_flow.rb:130:5:130:5 | [post] p [element 0] | params_flow.rb:131:10:131:10 | p | provenance | | | params_flow.rb:130:14:130:19 | call to params | params_flow.rb:130:5:130:5 | [post] p | provenance | | -| params_flow.rb:130:14:130:19 | call to params | params_flow.rb:130:5:130:5 | [post] p [splat position 0] | provenance | | +| params_flow.rb:130:14:130:19 | call to params | params_flow.rb:130:5:130:5 | [post] p [element 0] | provenance | | | params_flow.rb:135:10:135:15 | call to params | params_flow.rb:135:10:135:38 | call to reverse_merge! | provenance | | | params_flow.rb:136:32:136:37 | call to params | params_flow.rb:136:10:136:38 | call to reverse_merge! | provenance | | | params_flow.rb:139:5:139:5 | [post] p | params_flow.rb:140:10:140:10 | p | provenance | | @@ -213,7 +213,7 @@ nodes | params_flow.rb:111:10:111:15 | call to params | semmle.label | call to params | | params_flow.rb:111:10:111:29 | call to merge | semmle.label | call to merge | | params_flow.rb:112:10:112:29 | call to merge | semmle.label | call to merge | -| params_flow.rb:112:10:112:29 | call to merge [splat position 0] | semmle.label | call to merge [splat position 0] | +| params_flow.rb:112:10:112:29 | call to merge [element 0] | semmle.label | call to merge [element 0] | | params_flow.rb:112:23:112:28 | call to params | semmle.label | call to params | | params_flow.rb:116:10:116:15 | call to params | semmle.label | call to params | | params_flow.rb:116:10:116:37 | call to reverse_merge | semmle.label | call to reverse_merge | @@ -226,10 +226,10 @@ nodes | params_flow.rb:126:10:126:15 | call to params | semmle.label | call to params | | params_flow.rb:126:10:126:30 | call to merge! | semmle.label | call to merge! | | params_flow.rb:127:10:127:30 | call to merge! | semmle.label | call to merge! | -| params_flow.rb:127:10:127:30 | call to merge! [splat position 0] | semmle.label | call to merge! [splat position 0] | +| params_flow.rb:127:10:127:30 | call to merge! [element 0] | semmle.label | call to merge! [element 0] | | params_flow.rb:127:24:127:29 | call to params | semmle.label | call to params | | params_flow.rb:130:5:130:5 | [post] p | semmle.label | [post] p | -| params_flow.rb:130:5:130:5 | [post] p [splat position 0] | semmle.label | [post] p [splat position 0] | +| params_flow.rb:130:5:130:5 | [post] p [element 0] | semmle.label | [post] p [element 0] | | params_flow.rb:130:14:130:19 | call to params | semmle.label | call to params | | params_flow.rb:131:10:131:10 | p | semmle.label | p | | params_flow.rb:135:10:135:15 | call to params | semmle.label | call to params | From 20dc2428300c0f3c2bd35680438bc582b7e02aee Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Wed, 14 Aug 2024 14:01:13 +0200 Subject: [PATCH 124/258] Ruby: Rework hash splat argument/parameter matching --- .../dataflow/internal/DataFlowDispatch.qll | 7 +- .../dataflow/internal/DataFlowPrivate.qll | 53 +----- .../ruby/dataflow/internal/DataFlowPublic.qll | 5 +- .../VerifyApiGraphExpectations.expected | 2 +- .../flow-summaries/semantics.expected | 24 +-- .../dataflow/params/TypeTracker.expected | 169 ++++++------------ .../dataflow/params/params-flow.expected | 12 +- .../type-tracker/TypeTracker.expected | 24 +-- 8 files changed, 88 insertions(+), 208 deletions(-) diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll index 8af047e8326..97c0e24fa5b 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll @@ -1538,9 +1538,14 @@ predicate parameterMatch(ParameterPosition ppos, ArgumentPosition apos) { or exists(string name | ppos.isKeyword(name) and apos.isKeyword(name)) or - (ppos.isHashSplat() or ppos.isSynthHashSplat()) and + ppos.isHashSplat() and (apos.isHashSplat() or apos.isSynthHashSplat()) or + // no case for `apos.isSynthHashSplat() and ppos.isSynthHashSplat()`, since + // direct keyword matching is possible + ppos.isSynthHashSplat() and + apos.isHashSplat() + or exists(int pos, boolean hasActualSplatParam, boolean hasActualSplatArg | ( ppos.isSplat(pos) and diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll index 5ec24c19901..620a9fb5cab 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll @@ -662,7 +662,7 @@ private module Cached { ) } or deprecated TSplatContent(int i, Boolean shifted) { i in [0 .. 10] } or - THashSplatContent(ConstantValue::ConstantSymbolValue cv) or + deprecated THashSplatContent(ConstantValue::ConstantSymbolValue cv) or TCapturedVariableContent(VariableCapture::CapturedVariable v) or // Only used by type-tracking TAttributeName(string name) { name = any(SetterMethodCall c).getTargetName() } @@ -686,24 +686,16 @@ private module Cached { TUnknownElementContentApprox() or TKnownIntegerElementContentApprox() or TKnownElementContentApprox(string approx) { approx = approxKnownElementIndex(_) } or - THashSplatContentApprox(string approx) { approx = approxKnownElementIndex(_) } or TNonElementContentApprox(Content c) { not c instanceof Content::ElementContent } or TCapturedVariableContentApprox(VariableCapture::CapturedVariable v) cached newtype TDataFlowType = TLambdaDataFlowType(Callable c) { c = any(LambdaSelfReferenceNode n).getCallable() } or - // In order to reduce the set of cons-candidates, we annotate all implicit (hash) splat - // creations with the name of the method that they are passed into. This includes - // array/hash literals as well (where the name is simply `[]`), because of how they - // are modeled (see `Array.qll` and `Hash.qll`). - TSynthHashSplatArgumentType(string methodName) { - methodName = any(SynthHashSplatArgumentNode n).getMethodName() - } or TUnknownDataFlowType() } -class TElementContent = TKnownElementContent or TUnknownElementContent or THashSplatContent; +class TElementContent = TKnownElementContent or TUnknownElementContent; import Cached @@ -1118,18 +1110,6 @@ private module ParameterNodes { * * by adding read steps out of the synthesized parameter node to the relevant * keyword parameters. - * - * In order to avoid redundancy (and improve performance) in cases like - * - * ```rb - * foo(p1: taint(1), p2: taint(2)) - * ``` - * - * where direct keyword matching is possible, we use a special `HashSplatContent` - * (instead of reusing `KnownElementContent`) when we construct a synthesized hash - * splat argument (`SynthHashSplatArgumentNode`) at the call site, and then only - * add read steps out of this node for actual hash-splat arguments (which will use - * a normal `KnownElementContent`). */ class SynthHashSplatParameterNode extends ParameterNodeImpl, TSynthHashSplatParameterNode { private DataFlowCallable callable; @@ -1436,24 +1416,7 @@ module ArgumentNodes { not cv.isSymbol(_) ) | - if call instanceof CfgNodes::ExprNodes::HashLiteralCfgNode - then - /* - * Needed for cases like - * - * ```rb - * hash = { a: taint, b: safe } - * - * def foo(a:, b:) - * sink(a) - * end - * - * foo(**hash) - * ``` - */ - - c.isSingleton(Content::getElementContent(cv)) - else c.isSingleton(THashSplatContent(cv)) + c.isSingleton(Content::getElementContent(cv)) ) } @@ -1938,11 +1901,8 @@ DataFlowType getNodeType(Node n) { result = TLambdaDataFlowType(c) ) or - result = TSynthHashSplatArgumentType(n.(SynthHashSplatArgumentNode).getMethodName()) - or not n instanceof LambdaSelfReferenceNode and not mustHaveLambdaType(n, _) and - not n instanceof SynthHashSplatArgumentNode and result = TUnknownDataFlowType() } @@ -2168,11 +2128,6 @@ class ContentApprox extends TContentApprox { result = "approximated element " + approx ) or - exists(string s | - this = THashSplatContentApprox(s) and - result = "approximated hash-splat position " + s - ) - or exists(Content c | this = TNonElementContentApprox(c) and result = c.toString() @@ -2212,8 +2167,6 @@ ContentApprox getContentApprox(Content c) { result = TKnownElementContentApprox(approxKnownElementIndex(c.(Content::KnownElementContent).getIndex())) or - result = THashSplatContentApprox(approxKnownElementIndex(c.(Content::HashSplatContent).getKey())) - or result = TNonElementContentApprox(c) } diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPublic.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPublic.qll index 825c440c9a9..ee3105c3be7 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPublic.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPublic.qll @@ -629,7 +629,7 @@ module Content { * * we have an implicit hash-splat argument containing `{:a => 1, :b => 2, :c => 3}`. */ - class HashSplatContent extends ElementContent, THashSplatContent { + deprecated class HashSplatContent extends Content, THashSplatContent { private ConstantValue::ConstantSymbolValue cv; HashSplatContent() { this = THashSplatContent(cv) } @@ -797,7 +797,6 @@ class ContentSet extends TContentSet { private Content getAnElementReadContent() { exists(Content::KnownElementContent c | this.isKnownOrUnknownElement(c) | result = c or - result = THashSplatContent(c.getIndex()) or result = TUnknownElementContent() ) or @@ -815,8 +814,6 @@ class ContentSet extends TContentSet { | type = result.(Content::KnownElementContent).getIndex().getValueType() or - type = result.(Content::HashSplatContent).getKey().getValueType() - or includeUnknown = true and result = TUnknownElementContent() ) diff --git a/ruby/ql/test/library-tests/dataflow/api-graphs/VerifyApiGraphExpectations.expected b/ruby/ql/test/library-tests/dataflow/api-graphs/VerifyApiGraphExpectations.expected index 48de9172b36..8ec8033d086 100644 --- a/ruby/ql/test/library-tests/dataflow/api-graphs/VerifyApiGraphExpectations.expected +++ b/ruby/ql/test/library-tests/dataflow/api-graphs/VerifyApiGraphExpectations.expected @@ -1,2 +1,2 @@ -failures testFailures +failures diff --git a/ruby/ql/test/library-tests/dataflow/flow-summaries/semantics.expected b/ruby/ql/test/library-tests/dataflow/flow-summaries/semantics.expected index 9f3e900d25d..63f33ab5b55 100644 --- a/ruby/ql/test/library-tests/dataflow/flow-summaries/semantics.expected +++ b/ruby/ql/test/library-tests/dataflow/flow-summaries/semantics.expected @@ -144,14 +144,14 @@ edges | semantics.rb:108:5:108:5 | b | semantics.rb:110:27:110:27 | b | provenance | | | semantics.rb:108:9:108:18 | call to source | semantics.rb:108:5:108:5 | b | provenance | | | semantics.rb:108:9:108:18 | call to source | semantics.rb:108:5:108:5 | b | provenance | | -| semantics.rb:109:10:109:28 | call to s15 [hash-splat position :foo] | semantics.rb:109:10:109:34 | ...[...] | provenance | | -| semantics.rb:109:10:109:28 | call to s15 [hash-splat position :foo] | semantics.rb:109:10:109:34 | ...[...] | provenance | | -| semantics.rb:109:19:109:19 | a | semantics.rb:109:10:109:28 | call to s15 [hash-splat position :foo] | provenance | | -| semantics.rb:109:19:109:19 | a | semantics.rb:109:10:109:28 | call to s15 [hash-splat position :foo] | provenance | | -| semantics.rb:110:10:110:28 | call to s15 [hash-splat position :bar] | semantics.rb:110:10:110:34 | ...[...] | provenance | | -| semantics.rb:110:10:110:28 | call to s15 [hash-splat position :bar] | semantics.rb:110:10:110:34 | ...[...] | provenance | | -| semantics.rb:110:27:110:27 | b | semantics.rb:110:10:110:28 | call to s15 [hash-splat position :bar] | provenance | | -| semantics.rb:110:27:110:27 | b | semantics.rb:110:10:110:28 | call to s15 [hash-splat position :bar] | provenance | | +| semantics.rb:109:10:109:28 | call to s15 [element :foo] | semantics.rb:109:10:109:34 | ...[...] | provenance | | +| semantics.rb:109:10:109:28 | call to s15 [element :foo] | semantics.rb:109:10:109:34 | ...[...] | provenance | | +| semantics.rb:109:19:109:19 | a | semantics.rb:109:10:109:28 | call to s15 [element :foo] | provenance | | +| semantics.rb:109:19:109:19 | a | semantics.rb:109:10:109:28 | call to s15 [element :foo] | provenance | | +| semantics.rb:110:10:110:28 | call to s15 [element :bar] | semantics.rb:110:10:110:34 | ...[...] | provenance | | +| semantics.rb:110:10:110:28 | call to s15 [element :bar] | semantics.rb:110:10:110:34 | ...[...] | provenance | | +| semantics.rb:110:27:110:27 | b | semantics.rb:110:10:110:28 | call to s15 [element :bar] | provenance | | +| semantics.rb:110:27:110:27 | b | semantics.rb:110:10:110:28 | call to s15 [element :bar] | provenance | | | semantics.rb:114:5:114:5 | a | semantics.rb:116:14:116:14 | a | provenance | | | semantics.rb:114:5:114:5 | a | semantics.rb:116:14:116:14 | a | provenance | | | semantics.rb:114:5:114:5 | a | semantics.rb:119:17:119:17 | a | provenance | | @@ -1269,14 +1269,14 @@ nodes | semantics.rb:108:5:108:5 | b | semmle.label | b | | semantics.rb:108:9:108:18 | call to source | semmle.label | call to source | | semantics.rb:108:9:108:18 | call to source | semmle.label | call to source | -| semantics.rb:109:10:109:28 | call to s15 [hash-splat position :foo] | semmle.label | call to s15 [hash-splat position :foo] | -| semantics.rb:109:10:109:28 | call to s15 [hash-splat position :foo] | semmle.label | call to s15 [hash-splat position :foo] | +| semantics.rb:109:10:109:28 | call to s15 [element :foo] | semmle.label | call to s15 [element :foo] | +| semantics.rb:109:10:109:28 | call to s15 [element :foo] | semmle.label | call to s15 [element :foo] | | semantics.rb:109:10:109:34 | ...[...] | semmle.label | ...[...] | | semantics.rb:109:10:109:34 | ...[...] | semmle.label | ...[...] | | semantics.rb:109:19:109:19 | a | semmle.label | a | | semantics.rb:109:19:109:19 | a | semmle.label | a | -| semantics.rb:110:10:110:28 | call to s15 [hash-splat position :bar] | semmle.label | call to s15 [hash-splat position :bar] | -| semantics.rb:110:10:110:28 | call to s15 [hash-splat position :bar] | semmle.label | call to s15 [hash-splat position :bar] | +| semantics.rb:110:10:110:28 | call to s15 [element :bar] | semmle.label | call to s15 [element :bar] | +| semantics.rb:110:10:110:28 | call to s15 [element :bar] | semmle.label | call to s15 [element :bar] | | semantics.rb:110:10:110:34 | ...[...] | semmle.label | ...[...] | | semantics.rb:110:10:110:34 | ...[...] | semmle.label | ...[...] | | semantics.rb:110:27:110:27 | b | semmle.label | b | diff --git a/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected b/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected index 90b41808613..25e4a33a46b 100644 --- a/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected +++ b/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected @@ -134,17 +134,6 @@ track | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p2 | params_flow.rb:153:1:155:3 | synthetic hash-splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p3 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element :p3 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :c | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:25:17:25:24 | **kwargs | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:139:25:139:32 | **kwargs | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:153:1:155:3 | synthetic hash-splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:1:11:1:11 | x | type tracker without call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:1:11:1:11 | x | type tracker without call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:1:11:1:11 | x | type tracker without call steps | params_flow.rb:14:12:14:19 | call to taint | @@ -362,38 +351,38 @@ track | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 4 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 4 | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element 5 | params_flow.rb:94:1:94:48 | synthetic splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :c | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:37:8:37:44 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:37:8:37:44 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:38:8:38:13 | ** ... | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:40:8:40:26 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:40:8:40:26 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p1 | params_flow.rb:41:24:41:29 | ** ... | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:37:8:37:44 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:37:8:37:44 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:38:8:38:13 | ** ... | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:143:10:143:34 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:143:10:143:34 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:145:21:145:28 | ** ... | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:150:1:150:42 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:157:10:157:34 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:157:10:157:34 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:159:19:159:26 | ** ... | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p2 | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | +| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p3 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p3 | params_flow.rb:34:8:34:32 | call to [] | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p3 | params_flow.rb:34:8:34:32 | synthetic hash-splat argument | | params_flow.rb:1:11:1:11 | x | type tracker without call steps with content element :p3 | params_flow.rb:35:23:35:28 | ** ... | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :c | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:150:1:150:42 | synthetic hash-splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker without call steps with content hash-splat position :p3 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | | params_flow.rb:5:1:7:3 | &block | type tracker without call steps | params_flow.rb:5:1:7:3 | &block | | params_flow.rb:5:1:7:3 | self in sink | type tracker without call steps | params_flow.rb:5:1:7:3 | self in sink | | params_flow.rb:5:1:7:3 | sink | type tracker without call steps | params_flow.rb:5:1:7:3 | sink | @@ -569,7 +558,6 @@ track | params_flow.rb:18:5:18:11 | call to sink | type tracker without call steps | params_flow.rb:41:1:41:30 | call to keyword | | params_flow.rb:18:5:18:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:21:1:21:35 | call to keyword | type tracker without call steps | params_flow.rb:21:1:21:35 | call to keyword | -| params_flow.rb:21:1:21:35 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | | params_flow.rb:21:9:21:10 | :p1 | type tracker without call steps | params_flow.rb:21:9:21:10 | :p1 | | params_flow.rb:21:9:21:20 | Pair | type tracker without call steps | params_flow.rb:21:9:21:20 | Pair | @@ -577,42 +565,37 @@ track | params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | | params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | -| params_flow.rb:21:13:21:20 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:21:13:21:20 | call to taint | type tracker without call steps | params_flow.rb:21:13:21:20 | call to taint | -| params_flow.rb:21:13:21:20 | call to taint | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | +| params_flow.rb:21:13:21:20 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | | params_flow.rb:21:13:21:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:21:13:21:20 | synthetic splat argument | | params_flow.rb:21:19:21:19 | 3 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:21:19:21:19 | 3 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:21:19:21:19 | 3 | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | | params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | -| params_flow.rb:21:19:21:19 | 3 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:21:19:21:19 | 3 | type tracker without call steps | params_flow.rb:21:13:21:20 | call to taint | | params_flow.rb:21:19:21:19 | 3 | type tracker without call steps | params_flow.rb:21:19:21:19 | 3 | | params_flow.rb:21:19:21:19 | 3 | type tracker without call steps with content element 0 | params_flow.rb:21:13:21:20 | synthetic splat argument | -| params_flow.rb:21:19:21:19 | 3 | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | +| params_flow.rb:21:19:21:19 | 3 | type tracker without call steps with content element :p1 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | | params_flow.rb:21:23:21:24 | :p2 | type tracker without call steps | params_flow.rb:21:23:21:24 | :p2 | | params_flow.rb:21:23:21:34 | Pair | type tracker without call steps | params_flow.rb:21:23:21:34 | Pair | | params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | -| params_flow.rb:21:27:21:34 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:21:27:21:34 | call to taint | type tracker without call steps | params_flow.rb:21:27:21:34 | call to taint | -| params_flow.rb:21:27:21:34 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | +| params_flow.rb:21:27:21:34 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | | params_flow.rb:21:27:21:34 | synthetic splat argument | type tracker without call steps | params_flow.rb:21:27:21:34 | synthetic splat argument | | params_flow.rb:21:33:21:33 | 4 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:21:33:21:33 | 4 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:21:33:21:33 | 4 | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | -| params_flow.rb:21:33:21:33 | 4 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:21:33:21:33 | 4 | type tracker without call steps | params_flow.rb:21:27:21:34 | call to taint | | params_flow.rb:21:33:21:33 | 4 | type tracker without call steps | params_flow.rb:21:33:21:33 | 4 | | params_flow.rb:21:33:21:33 | 4 | type tracker without call steps with content element 0 | params_flow.rb:21:27:21:34 | synthetic splat argument | -| params_flow.rb:21:33:21:33 | 4 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | +| params_flow.rb:21:33:21:33 | 4 | type tracker without call steps with content element :p2 | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | | params_flow.rb:22:1:22:35 | call to keyword | type tracker without call steps | params_flow.rb:22:1:22:35 | call to keyword | -| params_flow.rb:22:1:22:35 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | | params_flow.rb:22:9:22:10 | :p2 | type tracker without call steps | params_flow.rb:22:9:22:10 | :p2 | | params_flow.rb:22:9:22:20 | Pair | type tracker without call steps | params_flow.rb:22:9:22:20 | Pair | @@ -620,42 +603,37 @@ track | params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | -| params_flow.rb:22:13:22:20 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:22:13:22:20 | call to taint | type tracker without call steps | params_flow.rb:22:13:22:20 | call to taint | -| params_flow.rb:22:13:22:20 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | +| params_flow.rb:22:13:22:20 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | | params_flow.rb:22:13:22:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:22:13:22:20 | synthetic splat argument | | params_flow.rb:22:19:22:19 | 5 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:22:19:22:19 | 5 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:22:19:22:19 | 5 | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | -| params_flow.rb:22:19:22:19 | 5 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:22:19:22:19 | 5 | type tracker without call steps | params_flow.rb:22:13:22:20 | call to taint | | params_flow.rb:22:19:22:19 | 5 | type tracker without call steps | params_flow.rb:22:19:22:19 | 5 | | params_flow.rb:22:19:22:19 | 5 | type tracker without call steps with content element 0 | params_flow.rb:22:13:22:20 | synthetic splat argument | -| params_flow.rb:22:19:22:19 | 5 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | +| params_flow.rb:22:19:22:19 | 5 | type tracker without call steps with content element :p2 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | | params_flow.rb:22:23:22:24 | :p1 | type tracker without call steps | params_flow.rb:22:23:22:24 | :p1 | | params_flow.rb:22:23:22:34 | Pair | type tracker without call steps | params_flow.rb:22:23:22:34 | Pair | | params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | | params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | -| params_flow.rb:22:27:22:34 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:22:27:22:34 | call to taint | type tracker without call steps | params_flow.rb:22:27:22:34 | call to taint | -| params_flow.rb:22:27:22:34 | call to taint | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | +| params_flow.rb:22:27:22:34 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | | params_flow.rb:22:27:22:34 | synthetic splat argument | type tracker without call steps | params_flow.rb:22:27:22:34 | synthetic splat argument | | params_flow.rb:22:33:22:33 | 6 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:22:33:22:33 | 6 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:22:33:22:33 | 6 | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | | params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | -| params_flow.rb:22:33:22:33 | 6 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:22:33:22:33 | 6 | type tracker without call steps | params_flow.rb:22:27:22:34 | call to taint | | params_flow.rb:22:33:22:33 | 6 | type tracker without call steps | params_flow.rb:22:33:22:33 | 6 | | params_flow.rb:22:33:22:33 | 6 | type tracker without call steps with content element 0 | params_flow.rb:22:27:22:34 | synthetic splat argument | -| params_flow.rb:22:33:22:33 | 6 | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | +| params_flow.rb:22:33:22:33 | 6 | type tracker without call steps with content element :p1 | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | | params_flow.rb:23:1:23:41 | call to keyword | type tracker without call steps | params_flow.rb:23:1:23:41 | call to keyword | -| params_flow.rb:23:1:23:41 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | | params_flow.rb:23:9:23:11 | :p2 | type tracker without call steps | params_flow.rb:23:9:23:11 | :p2 | | params_flow.rb:23:9:23:23 | Pair | type tracker without call steps | params_flow.rb:23:9:23:23 | Pair | @@ -663,40 +641,36 @@ track | params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | -| params_flow.rb:23:16:23:23 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:23:16:23:23 | call to taint | type tracker without call steps | params_flow.rb:23:16:23:23 | call to taint | -| params_flow.rb:23:16:23:23 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | +| params_flow.rb:23:16:23:23 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | | params_flow.rb:23:16:23:23 | synthetic splat argument | type tracker without call steps | params_flow.rb:23:16:23:23 | synthetic splat argument | | params_flow.rb:23:22:23:22 | 7 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:23:22:23:22 | 7 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:23:22:23:22 | 7 | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | -| params_flow.rb:23:22:23:22 | 7 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:23:22:23:22 | 7 | type tracker without call steps | params_flow.rb:23:16:23:23 | call to taint | | params_flow.rb:23:22:23:22 | 7 | type tracker without call steps | params_flow.rb:23:22:23:22 | 7 | | params_flow.rb:23:22:23:22 | 7 | type tracker without call steps with content element 0 | params_flow.rb:23:16:23:23 | synthetic splat argument | -| params_flow.rb:23:22:23:22 | 7 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | +| params_flow.rb:23:22:23:22 | 7 | type tracker without call steps with content element :p2 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | | params_flow.rb:23:26:23:28 | :p1 | type tracker without call steps | params_flow.rb:23:26:23:28 | :p1 | | params_flow.rb:23:26:23:40 | Pair | type tracker without call steps | params_flow.rb:23:26:23:40 | Pair | | params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | | params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | -| params_flow.rb:23:33:23:40 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:23:33:23:40 | call to taint | type tracker without call steps | params_flow.rb:23:33:23:40 | call to taint | -| params_flow.rb:23:33:23:40 | call to taint | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | +| params_flow.rb:23:33:23:40 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | | params_flow.rb:23:33:23:40 | synthetic splat argument | type tracker without call steps | params_flow.rb:23:33:23:40 | synthetic splat argument | | params_flow.rb:23:39:23:39 | 8 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:23:39:23:39 | 8 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:23:39:23:39 | 8 | type tracker with call steps | params_flow.rb:16:13:16:14 | p1 | | params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content element 0 | params_flow.rb:17:5:17:11 | synthetic splat argument | -| params_flow.rb:23:39:23:39 | 8 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:23:39:23:39 | 8 | type tracker without call steps | params_flow.rb:23:33:23:40 | call to taint | | params_flow.rb:23:39:23:39 | 8 | type tracker without call steps | params_flow.rb:23:39:23:39 | 8 | | params_flow.rb:23:39:23:39 | 8 | type tracker without call steps with content element 0 | params_flow.rb:23:33:23:40 | synthetic splat argument | -| params_flow.rb:23:39:23:39 | 8 | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | +| params_flow.rb:23:39:23:39 | 8 | type tracker without call steps with content element :p1 | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | | params_flow.rb:25:1:31:3 | &block | type tracker without call steps | params_flow.rb:25:1:31:3 | &block | | params_flow.rb:25:1:31:3 | kwargs | type tracker without call steps | params_flow.rb:25:1:31:3 | kwargs | | params_flow.rb:25:1:31:3 | self in kwargs | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | @@ -751,7 +725,6 @@ track | params_flow.rb:30:18:30:20 | :p4 | type tracker without call steps | params_flow.rb:30:18:30:20 | :p4 | | params_flow.rb:30:18:30:20 | :p4 | type tracker without call steps with content element 0 | params_flow.rb:30:11:30:21 | synthetic splat argument | | params_flow.rb:33:1:33:58 | call to kwargs | type tracker without call steps | params_flow.rb:33:1:33:58 | call to kwargs | -| params_flow.rb:33:1:33:58 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | | params_flow.rb:33:8:33:9 | :p1 | type tracker without call steps | params_flow.rb:33:8:33:9 | :p1 | @@ -762,10 +735,9 @@ track | params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | | params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | -| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | -| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:12:33:19 | call to taint | type tracker with call steps with content element :p1 | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:33:12:33:19 | call to taint | type tracker without call steps | params_flow.rb:33:12:33:19 | call to taint | -| params_flow.rb:33:12:33:19 | call to taint | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | +| params_flow.rb:33:12:33:19 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | | params_flow.rb:33:12:33:19 | synthetic splat argument | type tracker without call steps | params_flow.rb:33:12:33:19 | synthetic splat argument | | params_flow.rb:33:18:33:18 | 9 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:18:33:18 | 9 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | @@ -774,66 +746,60 @@ track | params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | | params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | -| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | -| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:18:33:18 | 9 | type tracker with call steps with content element :p1 | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:33:18:33:18 | 9 | type tracker without call steps | params_flow.rb:33:12:33:19 | call to taint | | params_flow.rb:33:18:33:18 | 9 | type tracker without call steps | params_flow.rb:33:18:33:18 | 9 | | params_flow.rb:33:18:33:18 | 9 | type tracker without call steps with content element 0 | params_flow.rb:33:12:33:19 | synthetic splat argument | -| params_flow.rb:33:18:33:18 | 9 | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | +| params_flow.rb:33:18:33:18 | 9 | type tracker without call steps with content element :p1 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | | params_flow.rb:33:22:33:23 | :p2 | type tracker without call steps | params_flow.rb:33:22:33:23 | :p2 | | params_flow.rb:33:22:33:34 | Pair | type tracker without call steps | params_flow.rb:33:22:33:34 | Pair | | params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps | params_flow.rb:28:11:28:21 | ...[...] | | params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | -| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | -| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:26:33:34 | call to taint | type tracker with call steps with content element :p2 | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:33:26:33:34 | call to taint | type tracker without call steps | params_flow.rb:33:26:33:34 | call to taint | -| params_flow.rb:33:26:33:34 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | +| params_flow.rb:33:26:33:34 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | | params_flow.rb:33:26:33:34 | synthetic splat argument | type tracker without call steps | params_flow.rb:33:26:33:34 | synthetic splat argument | | params_flow.rb:33:32:33:33 | 10 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:32:33:33 | 10 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:32:33:33 | 10 | type tracker with call steps | params_flow.rb:28:11:28:21 | ...[...] | | params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content element 0 | params_flow.rb:28:5:28:22 | synthetic splat argument | -| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | -| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:32:33:33 | 10 | type tracker with call steps with content element :p2 | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:33:32:33:33 | 10 | type tracker without call steps | params_flow.rb:33:26:33:34 | call to taint | | params_flow.rb:33:32:33:33 | 10 | type tracker without call steps | params_flow.rb:33:32:33:33 | 10 | | params_flow.rb:33:32:33:33 | 10 | type tracker without call steps with content element 0 | params_flow.rb:33:26:33:34 | synthetic splat argument | -| params_flow.rb:33:32:33:33 | 10 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | +| params_flow.rb:33:32:33:33 | 10 | type tracker without call steps with content element :p2 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | | params_flow.rb:33:37:33:38 | :p3 | type tracker without call steps | params_flow.rb:33:37:33:38 | :p3 | | params_flow.rb:33:37:33:49 | Pair | type tracker without call steps | params_flow.rb:33:37:33:49 | Pair | | params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps | params_flow.rb:29:11:29:21 | ...[...] | | params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | -| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | -| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:41:33:49 | call to taint | type tracker with call steps with content element :p3 | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:33:41:33:49 | call to taint | type tracker without call steps | params_flow.rb:33:41:33:49 | call to taint | -| params_flow.rb:33:41:33:49 | call to taint | type tracker without call steps with content hash-splat position :p3 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | +| params_flow.rb:33:41:33:49 | call to taint | type tracker without call steps with content element :p3 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | | params_flow.rb:33:41:33:49 | synthetic splat argument | type tracker without call steps | params_flow.rb:33:41:33:49 | synthetic splat argument | | params_flow.rb:33:47:33:48 | 11 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:33:47:33:48 | 11 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:47:33:48 | 11 | type tracker with call steps | params_flow.rb:29:11:29:21 | ...[...] | | params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content element 0 | params_flow.rb:29:5:29:22 | synthetic splat argument | -| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | -| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content hash-splat position :p3 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:47:33:48 | 11 | type tracker with call steps with content element :p3 | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:33:47:33:48 | 11 | type tracker without call steps | params_flow.rb:33:41:33:49 | call to taint | | params_flow.rb:33:47:33:48 | 11 | type tracker without call steps | params_flow.rb:33:47:33:48 | 11 | | params_flow.rb:33:47:33:48 | 11 | type tracker without call steps with content element 0 | params_flow.rb:33:41:33:49 | synthetic splat argument | -| params_flow.rb:33:47:33:48 | 11 | type tracker without call steps with content hash-splat position :p3 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | +| params_flow.rb:33:47:33:48 | 11 | type tracker without call steps with content element :p3 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | | params_flow.rb:33:52:33:53 | :p4 | type tracker without call steps | params_flow.rb:33:52:33:53 | :p4 | | params_flow.rb:33:52:33:57 | Pair | type tracker without call steps | params_flow.rb:33:52:33:57 | Pair | | params_flow.rb:33:56:33:57 | "" | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:33:56:33:57 | "" | type tracker with call steps | params_flow.rb:30:11:30:21 | ...[...] | | params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content element 0 | params_flow.rb:30:5:30:22 | synthetic splat argument | -| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content hash-splat position :p4 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | -| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content hash-splat position :p4 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:33:56:33:57 | "" | type tracker with call steps with content element :p4 | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:33:56:33:57 | "" | type tracker without call steps | params_flow.rb:33:56:33:57 | "" | -| params_flow.rb:33:56:33:57 | "" | type tracker without call steps with content hash-splat position :p4 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | +| params_flow.rb:33:56:33:57 | "" | type tracker without call steps with content element :p4 | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | | params_flow.rb:34:1:34:4 | args | type tracker without call steps | params_flow.rb:34:1:34:4 | args | | params_flow.rb:34:8:34:32 | Hash | type tracker without call steps | params_flow.rb:34:8:34:32 | Hash | | params_flow.rb:34:8:34:32 | call to [] | type tracker without call steps | params_flow.rb:34:8:34:32 | call to [] | @@ -878,7 +844,6 @@ track | params_flow.rb:34:29:34:30 | "" | type tracker without call steps with content element :p4 | params_flow.rb:34:8:34:32 | synthetic hash-splat argument | | params_flow.rb:34:29:34:30 | "" | type tracker without call steps with content element :p4 | params_flow.rb:35:23:35:28 | ** ... | | params_flow.rb:35:1:35:29 | call to kwargs | type tracker without call steps | params_flow.rb:35:1:35:29 | call to kwargs | -| params_flow.rb:35:1:35:29 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | | params_flow.rb:35:8:35:9 | :p1 | type tracker without call steps | params_flow.rb:35:8:35:9 | :p1 | @@ -889,10 +854,9 @@ track | params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | | params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | -| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | -| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:35:12:35:20 | call to taint | type tracker with call steps with content element :p1 | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:35:12:35:20 | call to taint | type tracker without call steps | params_flow.rb:35:12:35:20 | call to taint | -| params_flow.rb:35:12:35:20 | call to taint | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | +| params_flow.rb:35:12:35:20 | call to taint | type tracker without call steps with content element :p1 | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | | params_flow.rb:35:12:35:20 | synthetic splat argument | type tracker without call steps | params_flow.rb:35:12:35:20 | synthetic splat argument | | params_flow.rb:35:18:35:19 | 13 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:35:18:35:19 | 13 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | @@ -901,12 +865,11 @@ track | params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content element 0 | params_flow.rb:26:5:26:11 | synthetic splat argument | | params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content element 0 | params_flow.rb:27:5:27:22 | synthetic splat argument | -| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | -| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:25:17:25:24 | **kwargs | +| params_flow.rb:35:18:35:19 | 13 | type tracker with call steps with content element :p1 | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:35:18:35:19 | 13 | type tracker without call steps | params_flow.rb:35:12:35:20 | call to taint | | params_flow.rb:35:18:35:19 | 13 | type tracker without call steps | params_flow.rb:35:18:35:19 | 13 | | params_flow.rb:35:18:35:19 | 13 | type tracker without call steps with content element 0 | params_flow.rb:35:12:35:20 | synthetic splat argument | -| params_flow.rb:35:18:35:19 | 13 | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | +| params_flow.rb:35:18:35:19 | 13 | type tracker without call steps with content element :p1 | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | | params_flow.rb:35:23:35:28 | ** ... | type tracker with call steps | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:35:23:35:28 | ** ... | type tracker with call steps | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:35:23:35:28 | ** ... | type tracker without call steps | params_flow.rb:35:23:35:28 | ** ... | @@ -1005,7 +968,6 @@ track | params_flow.rb:40:22:40:23 | 16 | type tracker without call steps with content element :p1 | params_flow.rb:40:8:40:26 | synthetic hash-splat argument | | params_flow.rb:40:22:40:23 | 16 | type tracker without call steps with content element :p1 | params_flow.rb:41:24:41:29 | ** ... | | params_flow.rb:41:1:41:30 | call to keyword | type tracker without call steps | params_flow.rb:41:1:41:30 | call to keyword | -| params_flow.rb:41:1:41:30 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | | params_flow.rb:41:9:41:10 | :p2 | type tracker without call steps | params_flow.rb:41:9:41:10 | :p2 | | params_flow.rb:41:9:41:21 | Pair | type tracker without call steps | params_flow.rb:41:9:41:21 | Pair | @@ -1013,20 +975,18 @@ track | params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | -| params_flow.rb:41:13:41:21 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:41:13:41:21 | call to taint | type tracker without call steps | params_flow.rb:41:13:41:21 | call to taint | -| params_flow.rb:41:13:41:21 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | +| params_flow.rb:41:13:41:21 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | | params_flow.rb:41:13:41:21 | synthetic splat argument | type tracker without call steps | params_flow.rb:41:13:41:21 | synthetic splat argument | | params_flow.rb:41:19:41:20 | 17 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:41:19:41:20 | 17 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:41:19:41:20 | 17 | type tracker with call steps | params_flow.rb:16:18:16:19 | p2 | | params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content element 0 | params_flow.rb:18:5:18:11 | synthetic splat argument | -| params_flow.rb:41:19:41:20 | 17 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:41:19:41:20 | 17 | type tracker without call steps | params_flow.rb:41:13:41:21 | call to taint | | params_flow.rb:41:19:41:20 | 17 | type tracker without call steps | params_flow.rb:41:19:41:20 | 17 | | params_flow.rb:41:19:41:20 | 17 | type tracker without call steps with content element 0 | params_flow.rb:41:13:41:21 | synthetic splat argument | -| params_flow.rb:41:19:41:20 | 17 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | +| params_flow.rb:41:19:41:20 | 17 | type tracker without call steps with content element :p2 | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | | params_flow.rb:41:24:41:29 | ** ... | type tracker with call steps | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:41:24:41:29 | ** ... | type tracker without call steps | params_flow.rb:41:24:41:29 | ** ... | | params_flow.rb:43:1:43:4 | args | type tracker without call steps | params_flow.rb:43:1:43:4 | args | @@ -2208,7 +2168,6 @@ track | params_flow.rb:111:5:111:10 | call to sink | type tracker without call steps | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | | params_flow.rb:111:5:111:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:111:5:111:10 | synthetic splat argument | | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | type tracker without call steps | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | -| params_flow.rb:114:1:114:67 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | | params_flow.rb:114:1:114:67 | synthetic splat argument | type tracker with call steps | params_flow.rb:108:1:112:3 | synthetic splat parameter | | params_flow.rb:114:1:114:67 | synthetic splat argument | type tracker without call steps | params_flow.rb:114:1:114:67 | synthetic splat argument | @@ -2256,20 +2215,18 @@ track | params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps | params_flow.rb:108:44:108:44 | c | | params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:111:5:111:10 | synthetic splat argument | -| params_flow.rb:114:58:114:66 | call to taint | type tracker with call steps with content hash-splat position :c | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | | params_flow.rb:114:58:114:66 | call to taint | type tracker without call steps | params_flow.rb:114:58:114:66 | call to taint | -| params_flow.rb:114:58:114:66 | call to taint | type tracker without call steps with content hash-splat position :c | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | +| params_flow.rb:114:58:114:66 | call to taint | type tracker without call steps with content element :c | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | | params_flow.rb:114:58:114:66 | synthetic splat argument | type tracker without call steps | params_flow.rb:114:58:114:66 | synthetic splat argument | | params_flow.rb:114:64:114:65 | 60 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:114:64:114:65 | 60 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:114:64:114:65 | 60 | type tracker with call steps | params_flow.rb:108:44:108:44 | c | | params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content element 0 | params_flow.rb:111:5:111:10 | synthetic splat argument | -| params_flow.rb:114:64:114:65 | 60 | type tracker with call steps with content hash-splat position :c | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | | params_flow.rb:114:64:114:65 | 60 | type tracker without call steps | params_flow.rb:114:58:114:66 | call to taint | | params_flow.rb:114:64:114:65 | 60 | type tracker without call steps | params_flow.rb:114:64:114:65 | 60 | | params_flow.rb:114:64:114:65 | 60 | type tracker without call steps with content element 0 | params_flow.rb:114:58:114:66 | synthetic splat argument | -| params_flow.rb:114:64:114:65 | 60 | type tracker without call steps with content hash-splat position :c | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | +| params_flow.rb:114:64:114:65 | 60 | type tracker without call steps with content element :c | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | | params_flow.rb:116:1:116:1 | x | type tracker without call steps | params_flow.rb:116:1:116:1 | x | | params_flow.rb:116:5:116:6 | Array | type tracker without call steps | params_flow.rb:116:5:116:6 | Array | | params_flow.rb:116:5:116:6 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | @@ -2699,9 +2656,9 @@ track | params_flow.rb:148:1:148:2 | p1 | type tracker without call steps | params_flow.rb:148:1:148:2 | p1 | | params_flow.rb:148:6:148:7 | Array | type tracker without call steps | params_flow.rb:148:6:148:7 | Array | | params_flow.rb:148:6:148:7 | call to [] | type tracker with call steps | params_flow.rb:140:5:140:15 | ...[...] | -| params_flow.rb:148:6:148:7 | call to [] | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:139:25:139:32 | **kwargs | +| params_flow.rb:148:6:148:7 | call to [] | type tracker with call steps with content element :p1 | params_flow.rb:139:25:139:32 | **kwargs | | params_flow.rb:148:6:148:7 | call to [] | type tracker without call steps | params_flow.rb:148:6:148:7 | call to [] | -| params_flow.rb:148:6:148:7 | call to [] | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:150:1:150:42 | synthetic hash-splat argument | +| params_flow.rb:148:6:148:7 | call to [] | type tracker without call steps with content element :p1 | params_flow.rb:150:1:150:42 | synthetic hash-splat argument | | params_flow.rb:149:1:149:11 | call to sink | type tracker without call steps | params_flow.rb:149:1:149:11 | call to sink | | params_flow.rb:149:1:149:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:149:1:149:11 | synthetic splat argument | | params_flow.rb:149:6:149:10 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | @@ -2722,20 +2679,20 @@ track | params_flow.rb:150:33:150:41 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:140:5:140:15 | [post] ...[...] | | params_flow.rb:150:33:150:41 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:140:5:140:38 | call to insert | | params_flow.rb:150:33:150:41 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:140:5:140:38 | synthetic splat argument | -| params_flow.rb:150:33:150:41 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:139:25:139:32 | **kwargs | +| params_flow.rb:150:33:150:41 | call to taint | type tracker with call steps with content element :p2 | params_flow.rb:139:25:139:32 | **kwargs | | params_flow.rb:150:33:150:41 | call to taint | type tracker without call steps | params_flow.rb:150:33:150:41 | call to taint | -| params_flow.rb:150:33:150:41 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:150:1:150:42 | synthetic hash-splat argument | +| params_flow.rb:150:33:150:41 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:150:1:150:42 | synthetic hash-splat argument | | params_flow.rb:150:33:150:41 | synthetic splat argument | type tracker without call steps | params_flow.rb:150:33:150:41 | synthetic splat argument | | params_flow.rb:150:39:150:40 | 73 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:150:39:150:40 | 73 | type tracker with call steps | params_flow.rb:140:27:140:37 | ...[...] | | params_flow.rb:150:39:150:40 | 73 | type tracker with call steps with content element 0 or unknown | params_flow.rb:140:5:140:15 | [post] ...[...] | | params_flow.rb:150:39:150:40 | 73 | type tracker with call steps with content element 0 or unknown | params_flow.rb:140:5:140:38 | call to insert | | params_flow.rb:150:39:150:40 | 73 | type tracker with call steps with content element 1 | params_flow.rb:140:5:140:38 | synthetic splat argument | -| params_flow.rb:150:39:150:40 | 73 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:139:25:139:32 | **kwargs | +| params_flow.rb:150:39:150:40 | 73 | type tracker with call steps with content element :p2 | params_flow.rb:139:25:139:32 | **kwargs | | params_flow.rb:150:39:150:40 | 73 | type tracker without call steps | params_flow.rb:150:33:150:41 | call to taint | | params_flow.rb:150:39:150:40 | 73 | type tracker without call steps | params_flow.rb:150:39:150:40 | 73 | | params_flow.rb:150:39:150:40 | 73 | type tracker without call steps with content element 0 | params_flow.rb:150:33:150:41 | synthetic splat argument | -| params_flow.rb:150:39:150:40 | 73 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:150:1:150:42 | synthetic hash-splat argument | +| params_flow.rb:150:39:150:40 | 73 | type tracker without call steps with content element :p2 | params_flow.rb:150:1:150:42 | synthetic hash-splat argument | | params_flow.rb:151:1:151:11 | call to sink | type tracker without call steps | params_flow.rb:151:1:151:11 | call to sink | | params_flow.rb:151:1:151:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:151:1:151:11 | synthetic splat argument | | params_flow.rb:151:6:151:10 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | @@ -2837,9 +2794,8 @@ track | params_flow.rb:162:1:162:2 | p1 | type tracker without call steps | params_flow.rb:162:1:162:2 | p1 | | params_flow.rb:162:6:162:7 | Array | type tracker without call steps | params_flow.rb:162:6:162:7 | Array | | params_flow.rb:162:6:162:7 | call to [] | type tracker with call steps | params_flow.rb:153:23:153:24 | p1 | -| params_flow.rb:162:6:162:7 | call to [] | type tracker with call steps with content hash-splat position :p1 | params_flow.rb:153:1:155:3 | synthetic hash-splat parameter | | params_flow.rb:162:6:162:7 | call to [] | type tracker without call steps | params_flow.rb:162:6:162:7 | call to [] | -| params_flow.rb:162:6:162:7 | call to [] | type tracker without call steps with content hash-splat position :p1 | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | +| params_flow.rb:162:6:162:7 | call to [] | type tracker without call steps with content element :p1 | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | | params_flow.rb:163:1:163:11 | call to sink | type tracker without call steps | params_flow.rb:163:1:163:11 | call to sink | | params_flow.rb:163:1:163:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:163:1:163:11 | synthetic splat argument | | params_flow.rb:163:6:163:10 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | @@ -2850,7 +2806,6 @@ track | params_flow.rb:163:9:163:9 | 0 | type tracker without call steps | params_flow.rb:163:9:163:9 | 0 | | params_flow.rb:163:9:163:9 | 0 | type tracker without call steps with content element 0 | params_flow.rb:163:6:163:10 | synthetic splat argument | | params_flow.rb:164:1:164:40 | call to keywordSideEffect | type tracker without call steps | params_flow.rb:164:1:164:40 | call to keywordSideEffect | -| params_flow.rb:164:1:164:40 | synthetic hash-splat argument | type tracker with call steps | params_flow.rb:153:1:155:3 | synthetic hash-splat parameter | | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | type tracker without call steps | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | | params_flow.rb:164:19:164:20 | :p1 | type tracker without call steps | params_flow.rb:164:19:164:20 | :p1 | | params_flow.rb:164:19:164:24 | Pair | type tracker without call steps | params_flow.rb:164:19:164:24 | Pair | @@ -2860,20 +2815,18 @@ track | params_flow.rb:164:31:164:39 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:154:5:154:6 | [post] p1 | | params_flow.rb:164:31:164:39 | call to taint | type tracker with call steps with content element 0 or unknown | params_flow.rb:154:5:154:20 | call to insert | | params_flow.rb:164:31:164:39 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:154:5:154:20 | synthetic splat argument | -| params_flow.rb:164:31:164:39 | call to taint | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:153:1:155:3 | synthetic hash-splat parameter | | params_flow.rb:164:31:164:39 | call to taint | type tracker without call steps | params_flow.rb:164:31:164:39 | call to taint | -| params_flow.rb:164:31:164:39 | call to taint | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | +| params_flow.rb:164:31:164:39 | call to taint | type tracker without call steps with content element :p2 | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | | params_flow.rb:164:31:164:39 | synthetic splat argument | type tracker without call steps | params_flow.rb:164:31:164:39 | synthetic splat argument | | params_flow.rb:164:37:164:38 | 75 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | | params_flow.rb:164:37:164:38 | 75 | type tracker with call steps | params_flow.rb:153:28:153:29 | p2 | | params_flow.rb:164:37:164:38 | 75 | type tracker with call steps with content element 0 or unknown | params_flow.rb:154:5:154:6 | [post] p1 | | params_flow.rb:164:37:164:38 | 75 | type tracker with call steps with content element 0 or unknown | params_flow.rb:154:5:154:20 | call to insert | | params_flow.rb:164:37:164:38 | 75 | type tracker with call steps with content element 1 | params_flow.rb:154:5:154:20 | synthetic splat argument | -| params_flow.rb:164:37:164:38 | 75 | type tracker with call steps with content hash-splat position :p2 | params_flow.rb:153:1:155:3 | synthetic hash-splat parameter | | params_flow.rb:164:37:164:38 | 75 | type tracker without call steps | params_flow.rb:164:31:164:39 | call to taint | | params_flow.rb:164:37:164:38 | 75 | type tracker without call steps | params_flow.rb:164:37:164:38 | 75 | | params_flow.rb:164:37:164:38 | 75 | type tracker without call steps with content element 0 | params_flow.rb:164:31:164:39 | synthetic splat argument | -| params_flow.rb:164:37:164:38 | 75 | type tracker without call steps with content hash-splat position :p2 | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | +| params_flow.rb:164:37:164:38 | 75 | type tracker without call steps with content element :p2 | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | | params_flow.rb:165:1:165:11 | call to sink | type tracker without call steps | params_flow.rb:165:1:165:11 | call to sink | | params_flow.rb:165:1:165:11 | synthetic splat argument | type tracker without call steps | params_flow.rb:165:1:165:11 | synthetic splat argument | | params_flow.rb:165:6:165:10 | ...[...] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | @@ -3841,7 +3794,6 @@ trackEnd | params_flow.rb:18:5:18:11 | call to sink | params_flow.rb:41:1:41:30 | call to keyword | | params_flow.rb:18:5:18:11 | synthetic splat argument | params_flow.rb:18:5:18:11 | synthetic splat argument | | params_flow.rb:21:1:21:35 | call to keyword | params_flow.rb:21:1:21:35 | call to keyword | -| params_flow.rb:21:1:21:35 | synthetic hash-splat argument | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | params_flow.rb:21:1:21:35 | synthetic hash-splat argument | | params_flow.rb:21:9:21:10 | :p1 | params_flow.rb:21:9:21:10 | :p1 | | params_flow.rb:21:9:21:20 | Pair | params_flow.rb:21:9:21:20 | Pair | @@ -3886,7 +3838,6 @@ trackEnd | params_flow.rb:21:33:21:33 | 4 | params_flow.rb:21:27:21:34 | call to taint | | params_flow.rb:21:33:21:33 | 4 | params_flow.rb:21:33:21:33 | 4 | | params_flow.rb:22:1:22:35 | call to keyword | params_flow.rb:22:1:22:35 | call to keyword | -| params_flow.rb:22:1:22:35 | synthetic hash-splat argument | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | params_flow.rb:22:1:22:35 | synthetic hash-splat argument | | params_flow.rb:22:9:22:10 | :p2 | params_flow.rb:22:9:22:10 | :p2 | | params_flow.rb:22:9:22:20 | Pair | params_flow.rb:22:9:22:20 | Pair | @@ -3931,7 +3882,6 @@ trackEnd | params_flow.rb:22:33:22:33 | 6 | params_flow.rb:22:27:22:34 | call to taint | | params_flow.rb:22:33:22:33 | 6 | params_flow.rb:22:33:22:33 | 6 | | params_flow.rb:23:1:23:41 | call to keyword | params_flow.rb:23:1:23:41 | call to keyword | -| params_flow.rb:23:1:23:41 | synthetic hash-splat argument | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | params_flow.rb:23:1:23:41 | synthetic hash-splat argument | | params_flow.rb:23:9:23:11 | :p2 | params_flow.rb:23:9:23:11 | :p2 | | params_flow.rb:23:9:23:23 | Pair | params_flow.rb:23:9:23:23 | Pair | @@ -4044,7 +3994,6 @@ trackEnd | params_flow.rb:30:11:30:21 | synthetic splat argument | params_flow.rb:30:11:30:21 | synthetic splat argument | | params_flow.rb:30:18:30:20 | :p4 | params_flow.rb:30:18:30:20 | :p4 | | params_flow.rb:33:1:33:58 | call to kwargs | params_flow.rb:33:1:33:58 | call to kwargs | -| params_flow.rb:33:1:33:58 | synthetic hash-splat argument | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | params_flow.rb:25:19:25:24 | kwargs | | params_flow.rb:33:1:33:58 | synthetic hash-splat argument | params_flow.rb:27:11:27:16 | kwargs | @@ -4162,7 +4111,6 @@ trackEnd | params_flow.rb:34:29:34:30 | "" | params_flow.rb:30:11:30:21 | ...[...] | | params_flow.rb:34:29:34:30 | "" | params_flow.rb:34:29:34:30 | "" | | params_flow.rb:35:1:35:29 | call to kwargs | params_flow.rb:35:1:35:29 | call to kwargs | -| params_flow.rb:35:1:35:29 | synthetic hash-splat argument | params_flow.rb:25:1:31:3 | synthetic hash-splat parameter | | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | params_flow.rb:25:17:25:24 | **kwargs | | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | params_flow.rb:25:19:25:24 | kwargs | | params_flow.rb:35:1:35:29 | synthetic hash-splat argument | params_flow.rb:27:11:27:16 | kwargs | @@ -4300,7 +4248,6 @@ trackEnd | params_flow.rb:40:22:40:23 | 16 | params_flow.rb:40:16:40:24 | call to taint | | params_flow.rb:40:22:40:23 | 16 | params_flow.rb:40:22:40:23 | 16 | | params_flow.rb:41:1:41:30 | call to keyword | params_flow.rb:41:1:41:30 | call to keyword | -| params_flow.rb:41:1:41:30 | synthetic hash-splat argument | params_flow.rb:16:1:19:3 | synthetic hash-splat parameter | | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | params_flow.rb:41:1:41:30 | synthetic hash-splat argument | | params_flow.rb:41:9:41:10 | :p2 | params_flow.rb:41:9:41:10 | :p2 | | params_flow.rb:41:9:41:21 | Pair | params_flow.rb:41:9:41:21 | Pair | @@ -5498,7 +5445,6 @@ trackEnd | params_flow.rb:111:5:111:10 | call to sink | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | | params_flow.rb:111:5:111:10 | synthetic splat argument | params_flow.rb:111:5:111:10 | synthetic splat argument | | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | params_flow.rb:114:1:114:67 | call to splat_followed_by_keyword_param | -| params_flow.rb:114:1:114:67 | synthetic hash-splat argument | params_flow.rb:108:1:112:3 | synthetic hash-splat parameter | | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | params_flow.rb:114:1:114:67 | synthetic hash-splat argument | | params_flow.rb:114:1:114:67 | synthetic splat argument | params_flow.rb:108:1:112:3 | synthetic splat parameter | | params_flow.rb:114:1:114:67 | synthetic splat argument | params_flow.rb:114:1:114:67 | synthetic splat argument | @@ -6111,7 +6057,6 @@ trackEnd | params_flow.rb:163:6:163:10 | synthetic splat argument | params_flow.rb:163:6:163:10 | synthetic splat argument | | params_flow.rb:163:9:163:9 | 0 | params_flow.rb:163:9:163:9 | 0 | | params_flow.rb:164:1:164:40 | call to keywordSideEffect | params_flow.rb:164:1:164:40 | call to keywordSideEffect | -| params_flow.rb:164:1:164:40 | synthetic hash-splat argument | params_flow.rb:153:1:155:3 | synthetic hash-splat parameter | | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | params_flow.rb:164:1:164:40 | synthetic hash-splat argument | | params_flow.rb:164:19:164:20 | :p1 | params_flow.rb:164:19:164:20 | :p1 | | params_flow.rb:164:19:164:24 | Pair | params_flow.rb:164:19:164:24 | Pair | diff --git a/ruby/ql/test/library-tests/dataflow/params/params-flow.expected b/ruby/ql/test/library-tests/dataflow/params/params-flow.expected index 4b079e0ebbb..0484c2f1e27 100644 --- a/ruby/ql/test/library-tests/dataflow/params/params-flow.expected +++ b/ruby/ql/test/library-tests/dataflow/params/params-flow.expected @@ -15,17 +15,13 @@ edges | params_flow.rb:25:12:25:13 | p1 | params_flow.rb:26:10:26:11 | p1 | provenance | | | params_flow.rb:25:17:25:24 | **kwargs [element :p2] | params_flow.rb:28:11:28:16 | kwargs [element :p2] | provenance | | | params_flow.rb:25:17:25:24 | **kwargs [element :p3] | params_flow.rb:29:11:29:16 | kwargs [element :p3] | provenance | | -| params_flow.rb:25:17:25:24 | **kwargs [hash-splat position :p2] | params_flow.rb:28:11:28:16 | kwargs [hash-splat position :p2] | provenance | | -| params_flow.rb:25:17:25:24 | **kwargs [hash-splat position :p3] | params_flow.rb:29:11:29:16 | kwargs [hash-splat position :p3] | provenance | | | params_flow.rb:28:11:28:16 | kwargs [element :p2] | params_flow.rb:28:11:28:21 | ...[...] | provenance | | -| params_flow.rb:28:11:28:16 | kwargs [hash-splat position :p2] | params_flow.rb:28:11:28:21 | ...[...] | provenance | | | params_flow.rb:28:11:28:21 | ...[...] | params_flow.rb:28:10:28:22 | ( ... ) | provenance | | | params_flow.rb:29:11:29:16 | kwargs [element :p3] | params_flow.rb:29:11:29:21 | ...[...] | provenance | | -| params_flow.rb:29:11:29:16 | kwargs [hash-splat position :p3] | params_flow.rb:29:11:29:21 | ...[...] | provenance | | | params_flow.rb:29:11:29:21 | ...[...] | params_flow.rb:29:10:29:22 | ( ... ) | provenance | | | params_flow.rb:33:12:33:19 | call to taint | params_flow.rb:25:12:25:13 | p1 | provenance | | -| params_flow.rb:33:26:33:34 | call to taint | params_flow.rb:25:17:25:24 | **kwargs [hash-splat position :p2] | provenance | | -| params_flow.rb:33:41:33:49 | call to taint | params_flow.rb:25:17:25:24 | **kwargs [hash-splat position :p3] | provenance | | +| params_flow.rb:33:26:33:34 | call to taint | params_flow.rb:25:17:25:24 | **kwargs [element :p2] | provenance | | +| params_flow.rb:33:41:33:49 | call to taint | params_flow.rb:25:17:25:24 | **kwargs [element :p3] | provenance | | | params_flow.rb:34:1:34:4 | args [element :p3] | params_flow.rb:35:25:35:28 | args [element :p3] | provenance | | | params_flow.rb:34:8:34:32 | call to [] [element :p3] | params_flow.rb:34:1:34:4 | args [element :p3] | provenance | | | params_flow.rb:34:14:34:22 | call to taint | params_flow.rb:34:8:34:32 | call to [] [element :p3] | provenance | | @@ -206,16 +202,12 @@ nodes | params_flow.rb:25:12:25:13 | p1 | semmle.label | p1 | | params_flow.rb:25:17:25:24 | **kwargs [element :p2] | semmle.label | **kwargs [element :p2] | | params_flow.rb:25:17:25:24 | **kwargs [element :p3] | semmle.label | **kwargs [element :p3] | -| params_flow.rb:25:17:25:24 | **kwargs [hash-splat position :p2] | semmle.label | **kwargs [hash-splat position :p2] | -| params_flow.rb:25:17:25:24 | **kwargs [hash-splat position :p3] | semmle.label | **kwargs [hash-splat position :p3] | | params_flow.rb:26:10:26:11 | p1 | semmle.label | p1 | | params_flow.rb:28:10:28:22 | ( ... ) | semmle.label | ( ... ) | | params_flow.rb:28:11:28:16 | kwargs [element :p2] | semmle.label | kwargs [element :p2] | -| params_flow.rb:28:11:28:16 | kwargs [hash-splat position :p2] | semmle.label | kwargs [hash-splat position :p2] | | params_flow.rb:28:11:28:21 | ...[...] | semmle.label | ...[...] | | params_flow.rb:29:10:29:22 | ( ... ) | semmle.label | ( ... ) | | params_flow.rb:29:11:29:16 | kwargs [element :p3] | semmle.label | kwargs [element :p3] | -| params_flow.rb:29:11:29:16 | kwargs [hash-splat position :p3] | semmle.label | kwargs [hash-splat position :p3] | | params_flow.rb:29:11:29:21 | ...[...] | semmle.label | ...[...] | | params_flow.rb:33:12:33:19 | call to taint | semmle.label | call to taint | | params_flow.rb:33:26:33:34 | call to taint | semmle.label | call to taint | diff --git a/ruby/ql/test/library-tests/dataflow/type-tracker/TypeTracker.expected b/ruby/ql/test/library-tests/dataflow/type-tracker/TypeTracker.expected index f0199572d78..7b308c6816c 100644 --- a/ruby/ql/test/library-tests/dataflow/type-tracker/TypeTracker.expected +++ b/ruby/ql/test/library-tests/dataflow/type-tracker/TypeTracker.expected @@ -98,56 +98,47 @@ track | type_tracker.rb:27:5:27:11 | call to puts | type tracker without call steps | type_tracker.rb:32:1:32:27 | call to keyword | | type_tracker.rb:27:5:27:11 | synthetic splat argument | type tracker without call steps | type_tracker.rb:27:5:27:11 | synthetic splat argument | | type_tracker.rb:30:1:30:21 | call to keyword | type tracker without call steps | type_tracker.rb:30:1:30:21 | call to keyword | -| type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | type tracker with call steps | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | | type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | type tracker without call steps | type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | | type_tracker.rb:30:9:30:10 | :p1 | type tracker without call steps | type_tracker.rb:30:9:30:10 | :p1 | | type_tracker.rb:30:9:30:13 | Pair | type tracker without call steps | type_tracker.rb:30:9:30:13 | Pair | | type_tracker.rb:30:13:30:13 | 3 | type tracker with call steps | type_tracker.rb:25:13:25:14 | p1 | | type_tracker.rb:30:13:30:13 | 3 | type tracker with call steps with content element 0 | type_tracker.rb:26:5:26:11 | synthetic splat argument | -| type_tracker.rb:30:13:30:13 | 3 | type tracker with call steps with content hash-splat position :p1 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | | type_tracker.rb:30:13:30:13 | 3 | type tracker without call steps | type_tracker.rb:30:13:30:13 | 3 | -| type_tracker.rb:30:13:30:13 | 3 | type tracker without call steps with content hash-splat position :p1 | type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | +| type_tracker.rb:30:13:30:13 | 3 | type tracker without call steps with content element :p1 | type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | | type_tracker.rb:30:16:30:17 | :p2 | type tracker without call steps | type_tracker.rb:30:16:30:17 | :p2 | | type_tracker.rb:30:16:30:20 | Pair | type tracker without call steps | type_tracker.rb:30:16:30:20 | Pair | | type_tracker.rb:30:20:30:20 | 4 | type tracker with call steps | type_tracker.rb:25:18:25:19 | p2 | | type_tracker.rb:30:20:30:20 | 4 | type tracker with call steps with content element 0 | type_tracker.rb:27:5:27:11 | synthetic splat argument | -| type_tracker.rb:30:20:30:20 | 4 | type tracker with call steps with content hash-splat position :p2 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | | type_tracker.rb:30:20:30:20 | 4 | type tracker without call steps | type_tracker.rb:30:20:30:20 | 4 | -| type_tracker.rb:30:20:30:20 | 4 | type tracker without call steps with content hash-splat position :p2 | type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | +| type_tracker.rb:30:20:30:20 | 4 | type tracker without call steps with content element :p2 | type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | | type_tracker.rb:31:1:31:21 | call to keyword | type tracker without call steps | type_tracker.rb:31:1:31:21 | call to keyword | -| type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | type tracker with call steps | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | | type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | type tracker without call steps | type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | | type_tracker.rb:31:9:31:10 | :p2 | type tracker without call steps | type_tracker.rb:31:9:31:10 | :p2 | | type_tracker.rb:31:9:31:13 | Pair | type tracker without call steps | type_tracker.rb:31:9:31:13 | Pair | | type_tracker.rb:31:13:31:13 | 5 | type tracker with call steps | type_tracker.rb:25:18:25:19 | p2 | | type_tracker.rb:31:13:31:13 | 5 | type tracker with call steps with content element 0 | type_tracker.rb:27:5:27:11 | synthetic splat argument | -| type_tracker.rb:31:13:31:13 | 5 | type tracker with call steps with content hash-splat position :p2 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | | type_tracker.rb:31:13:31:13 | 5 | type tracker without call steps | type_tracker.rb:31:13:31:13 | 5 | -| type_tracker.rb:31:13:31:13 | 5 | type tracker without call steps with content hash-splat position :p2 | type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | +| type_tracker.rb:31:13:31:13 | 5 | type tracker without call steps with content element :p2 | type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | | type_tracker.rb:31:16:31:17 | :p1 | type tracker without call steps | type_tracker.rb:31:16:31:17 | :p1 | | type_tracker.rb:31:16:31:20 | Pair | type tracker without call steps | type_tracker.rb:31:16:31:20 | Pair | | type_tracker.rb:31:20:31:20 | 6 | type tracker with call steps | type_tracker.rb:25:13:25:14 | p1 | | type_tracker.rb:31:20:31:20 | 6 | type tracker with call steps with content element 0 | type_tracker.rb:26:5:26:11 | synthetic splat argument | -| type_tracker.rb:31:20:31:20 | 6 | type tracker with call steps with content hash-splat position :p1 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | | type_tracker.rb:31:20:31:20 | 6 | type tracker without call steps | type_tracker.rb:31:20:31:20 | 6 | -| type_tracker.rb:31:20:31:20 | 6 | type tracker without call steps with content hash-splat position :p1 | type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | +| type_tracker.rb:31:20:31:20 | 6 | type tracker without call steps with content element :p1 | type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | | type_tracker.rb:32:1:32:27 | call to keyword | type tracker without call steps | type_tracker.rb:32:1:32:27 | call to keyword | -| type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | type tracker with call steps | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | | type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | type tracker without call steps | type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | | type_tracker.rb:32:9:32:11 | :p2 | type tracker without call steps | type_tracker.rb:32:9:32:11 | :p2 | | type_tracker.rb:32:9:32:16 | Pair | type tracker without call steps | type_tracker.rb:32:9:32:16 | Pair | | type_tracker.rb:32:16:32:16 | 7 | type tracker with call steps | type_tracker.rb:25:18:25:19 | p2 | | type_tracker.rb:32:16:32:16 | 7 | type tracker with call steps with content element 0 | type_tracker.rb:27:5:27:11 | synthetic splat argument | -| type_tracker.rb:32:16:32:16 | 7 | type tracker with call steps with content hash-splat position :p2 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | | type_tracker.rb:32:16:32:16 | 7 | type tracker without call steps | type_tracker.rb:32:16:32:16 | 7 | -| type_tracker.rb:32:16:32:16 | 7 | type tracker without call steps with content hash-splat position :p2 | type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | +| type_tracker.rb:32:16:32:16 | 7 | type tracker without call steps with content element :p2 | type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | | type_tracker.rb:32:19:32:21 | :p1 | type tracker without call steps | type_tracker.rb:32:19:32:21 | :p1 | | type_tracker.rb:32:19:32:26 | Pair | type tracker without call steps | type_tracker.rb:32:19:32:26 | Pair | | type_tracker.rb:32:26:32:26 | 8 | type tracker with call steps | type_tracker.rb:25:13:25:14 | p1 | | type_tracker.rb:32:26:32:26 | 8 | type tracker with call steps with content element 0 | type_tracker.rb:26:5:26:11 | synthetic splat argument | -| type_tracker.rb:32:26:32:26 | 8 | type tracker with call steps with content hash-splat position :p1 | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | | type_tracker.rb:32:26:32:26 | 8 | type tracker without call steps | type_tracker.rb:32:26:32:26 | 8 | -| type_tracker.rb:32:26:32:26 | 8 | type tracker without call steps with content hash-splat position :p1 | type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | +| type_tracker.rb:32:26:32:26 | 8 | type tracker without call steps with content element :p1 | type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | | type_tracker.rb:34:1:53:3 | &block | type tracker without call steps | type_tracker.rb:34:1:53:3 | &block | | type_tracker.rb:34:1:53:3 | self in throughArray | type tracker without call steps | type_tracker.rb:34:1:53:3 | self in throughArray | | type_tracker.rb:34:1:53:3 | synthetic splat parameter | type tracker without call steps | type_tracker.rb:34:1:53:3 | synthetic splat parameter | @@ -484,7 +475,6 @@ trackEnd | type_tracker.rb:27:5:27:11 | call to puts | type_tracker.rb:32:1:32:27 | call to keyword | | type_tracker.rb:27:5:27:11 | synthetic splat argument | type_tracker.rb:27:5:27:11 | synthetic splat argument | | type_tracker.rb:30:1:30:21 | call to keyword | type_tracker.rb:30:1:30:21 | call to keyword | -| type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | | type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | type_tracker.rb:30:1:30:21 | synthetic hash-splat argument | | type_tracker.rb:30:9:30:10 | :p1 | type_tracker.rb:30:9:30:10 | :p1 | | type_tracker.rb:30:9:30:13 | Pair | type_tracker.rb:30:9:30:13 | Pair | @@ -499,7 +489,6 @@ trackEnd | type_tracker.rb:30:20:30:20 | 4 | type_tracker.rb:27:10:27:11 | p2 | | type_tracker.rb:30:20:30:20 | 4 | type_tracker.rb:30:20:30:20 | 4 | | type_tracker.rb:31:1:31:21 | call to keyword | type_tracker.rb:31:1:31:21 | call to keyword | -| type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | | type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | type_tracker.rb:31:1:31:21 | synthetic hash-splat argument | | type_tracker.rb:31:9:31:10 | :p2 | type_tracker.rb:31:9:31:10 | :p2 | | type_tracker.rb:31:9:31:13 | Pair | type_tracker.rb:31:9:31:13 | Pair | @@ -514,7 +503,6 @@ trackEnd | type_tracker.rb:31:20:31:20 | 6 | type_tracker.rb:26:10:26:11 | p1 | | type_tracker.rb:31:20:31:20 | 6 | type_tracker.rb:31:20:31:20 | 6 | | type_tracker.rb:32:1:32:27 | call to keyword | type_tracker.rb:32:1:32:27 | call to keyword | -| type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | type_tracker.rb:25:1:28:3 | synthetic hash-splat parameter | | type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | type_tracker.rb:32:1:32:27 | synthetic hash-splat argument | | type_tracker.rb:32:9:32:11 | :p2 | type_tracker.rb:32:9:32:11 | :p2 | | type_tracker.rb:32:9:32:16 | Pair | type_tracker.rb:32:9:32:16 | Pair | From c4b0f818837ed81bbbd87760f2a0e2ac21f1a655 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 20 Aug 2024 14:19:29 +0200 Subject: [PATCH 125/258] Ruby: Prevent positional matching when preceded by a splat --- .../dataflow/internal/DataFlowPrivate.qll | 21 +- .../dataflow/params/TypeTracker.expected | 195 ------------------ .../dataflow/params/params-flow.expected | 30 --- .../dataflow/params/params_flow.rb | 12 +- 4 files changed, 22 insertions(+), 236 deletions(-) diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll index 620a9fb5cab..1cfb3b0f395 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll @@ -195,7 +195,9 @@ private class Argument extends CfgNodes::ExprCfgNode { not this.getExpr().(Pair).getKey().getConstantValue().isSymbol(_) and not this.getExpr() instanceof HashSplatExpr and not this.getExpr() instanceof SplatExpr and - arg.isPositional(i) + arg.isPositional(i) and + // There are no splat arguments before the positional argument + not splatArgumentAt(call, any(int j | j < i)) ) or exists(CfgNodes::ExprNodes::PairCfgNode p | @@ -217,7 +219,9 @@ private class Argument extends CfgNodes::ExprCfgNode { exists(int pos | this = call.getArgument(pos) and this.getExpr() instanceof SplatExpr and - arg.isSplat(pos) + arg.isSplat(pos) and + // There are no earlier splat arguments + not splatArgumentAt(call, any(int j | j < pos)) ) or this = call.getAnArgument() and @@ -432,7 +436,7 @@ private predicate splatParameterAt(Callable c, int pos) { } private predicate splatArgumentAt(CfgNodes::ExprNodes::CallCfgNode c, int pos) { - exists(Argument arg, ArgumentPosition apos | arg.isArgumentOf(c, apos) and apos.isSplat(pos)) + c.getArgument(pos).getExpr() instanceof SplatExpr } /** A collection of cached types and predicates to be evaluated in the same stage. */ @@ -920,7 +924,12 @@ private module ParameterNodes { override predicate isParameterOf(DataFlowCallable c, ParameterPosition pos) { exists(Callable callable | callable = c.asCfgScope() | - exists(int i | pos.isPositional(i) and callable.getParameter(i) = parameter | + exists(int i | + pos.isPositional(i) and + callable.getParameter(i) = parameter and + // There are no splat parameters before the positional parameter + not splatParameterAt(callable, any(int m | m < i)) + | parameter instanceof SimpleParameter or parameter instanceof OptionalParameter @@ -939,7 +948,9 @@ private module ParameterNodes { parameter = callable.getParameter(n).(SplatParameter) and pos.isSplat(n) and // There are no positional parameters after the splat - not exists(SimpleParameter p, int m | m > n | p = callable.getParameter(m)) + not exists(SimpleParameter p, int m | m > n | p = callable.getParameter(m)) and + // There are no earlier splat parameters + not splatParameterAt(callable, any(int m | m < n)) ) or parameter = callable.getAParameter().(BlockParameter) and diff --git a/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected b/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected index 25e4a33a46b..4ebb2d50537 100644 --- a/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected +++ b/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected @@ -36,8 +36,6 @@ track | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:65:10:65:13 | ...[...] | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:69:14:69:14 | x | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:69:27:69:27 | r | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:83:14:83:14 | t | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:83:17:83:17 | u | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:83:20:83:20 | v | @@ -45,7 +43,6 @@ track | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:83:26:83:26 | x | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:83:29:83:29 | y | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:98:19:98:19 | a | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:98:31:98:31 | b | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:108:37:108:37 | a | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:108:44:108:44 | c | | params_flow.rb:1:11:1:11 | x | type tracker with call steps | params_flow.rb:110:10:110:13 | ...[...] | @@ -74,8 +71,6 @@ track | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:84:5:84:10 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | @@ -85,7 +80,6 @@ track | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:89:5:89:10 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | -| params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:102:5:102:10 | synthetic splat argument | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:108:1:112:3 | synthetic splat parameter | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:108:40:108:41 | *b | | params_flow.rb:1:11:1:11 | x | type tracker with call steps with content element 0 | params_flow.rb:109:5:109:10 | synthetic splat argument | @@ -1475,37 +1469,21 @@ track | params_flow.rb:78:38:78:39 | 29 | type tracker without call steps | params_flow.rb:78:38:78:39 | 29 | | params_flow.rb:78:38:78:39 | 29 | type tracker without call steps with content element 0 | params_flow.rb:78:32:78:40 | synthetic splat argument | | params_flow.rb:78:38:78:39 | 29 | type tracker without call steps with content element 2 | params_flow.rb:78:1:78:63 | synthetic splat argument | -| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | | params_flow.rb:78:43:78:51 | call to taint | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:43:78:51 | call to taint | type tracker without call steps | params_flow.rb:78:43:78:51 | call to taint | | params_flow.rb:78:43:78:51 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:78:43:78:51 | synthetic splat argument | type tracker without call steps | params_flow.rb:78:43:78:51 | synthetic splat argument | | params_flow.rb:78:49:78:50 | 30 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | | params_flow.rb:78:49:78:50 | 30 | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:49:78:50 | 30 | type tracker without call steps | params_flow.rb:78:43:78:51 | call to taint | | params_flow.rb:78:49:78:50 | 30 | type tracker without call steps | params_flow.rb:78:49:78:50 | 30 | | params_flow.rb:78:49:78:50 | 30 | type tracker without call steps with content element 0 | params_flow.rb:78:43:78:51 | synthetic splat argument | | params_flow.rb:78:49:78:50 | 30 | type tracker without call steps with content element 3 | params_flow.rb:78:1:78:63 | synthetic splat argument | -| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | | params_flow.rb:78:54:78:62 | call to taint | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:54:78:62 | call to taint | type tracker without call steps | params_flow.rb:78:54:78:62 | call to taint | | params_flow.rb:78:54:78:62 | call to taint | type tracker without call steps with content element 4 | params_flow.rb:78:1:78:63 | synthetic splat argument | | params_flow.rb:78:54:78:62 | synthetic splat argument | type tracker without call steps | params_flow.rb:78:54:78:62 | synthetic splat argument | | params_flow.rb:78:60:78:61 | 31 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | | params_flow.rb:78:60:78:61 | 31 | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:78:60:78:61 | 31 | type tracker without call steps | params_flow.rb:78:54:78:62 | call to taint | | params_flow.rb:78:60:78:61 | 31 | type tracker without call steps | params_flow.rb:78:60:78:61 | 31 | @@ -1841,17 +1819,9 @@ track | params_flow.rb:94:27:94:28 | 39 | type tracker without call steps with content element 0 | params_flow.rb:94:21:94:29 | synthetic splat argument | | params_flow.rb:94:27:94:28 | 39 | type tracker without call steps with content element 1 | params_flow.rb:94:1:94:48 | synthetic splat argument | | params_flow.rb:94:32:94:36 | * ... | type tracker without call steps | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:94:39:94:47 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | | params_flow.rb:94:39:94:47 | call to taint | type tracker without call steps | params_flow.rb:94:39:94:47 | call to taint | | params_flow.rb:94:39:94:47 | synthetic splat argument | type tracker without call steps | params_flow.rb:94:39:94:47 | synthetic splat argument | | params_flow.rb:94:45:94:46 | 44 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:94:45:94:46 | 44 | type tracker with call steps with content element 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | | params_flow.rb:94:45:94:46 | 44 | type tracker without call steps | params_flow.rb:94:39:94:47 | call to taint | | params_flow.rb:94:45:94:46 | 44 | type tracker without call steps | params_flow.rb:94:45:94:46 | 44 | | params_flow.rb:94:45:94:46 | 44 | type tracker without call steps with content element 0 | params_flow.rb:94:39:94:47 | synthetic splat argument | @@ -1953,31 +1923,15 @@ track | params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content element 2 | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content element 2 | params_flow.rb:96:33:96:65 | synthetic splat argument | | params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content element 4 | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:96:68:96:76 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | | params_flow.rb:96:68:96:76 | call to taint | type tracker without call steps | params_flow.rb:96:68:96:76 | call to taint | | params_flow.rb:96:68:96:76 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:68:96:76 | synthetic splat argument | | params_flow.rb:96:74:96:75 | 50 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:96:74:96:75 | 50 | type tracker with call steps with content element 0 | params_flow.rb:74:5:74:10 | synthetic splat argument | | params_flow.rb:96:74:96:75 | 50 | type tracker without call steps | params_flow.rb:96:68:96:76 | call to taint | | params_flow.rb:96:74:96:75 | 50 | type tracker without call steps | params_flow.rb:96:74:96:75 | 50 | | params_flow.rb:96:74:96:75 | 50 | type tracker without call steps with content element 0 | params_flow.rb:96:68:96:76 | synthetic splat argument | -| params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:96:79:96:87 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | | params_flow.rb:96:79:96:87 | call to taint | type tracker without call steps | params_flow.rb:96:79:96:87 | call to taint | | params_flow.rb:96:79:96:87 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:79:96:87 | synthetic splat argument | | params_flow.rb:96:85:96:86 | 51 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:96:85:96:86 | 51 | type tracker with call steps with content element 0 | params_flow.rb:75:5:75:10 | synthetic splat argument | | params_flow.rb:96:85:96:86 | 51 | type tracker without call steps | params_flow.rb:96:79:96:87 | call to taint | | params_flow.rb:96:85:96:86 | 51 | type tracker without call steps | params_flow.rb:96:85:96:86 | 51 | | params_flow.rb:96:85:96:86 | 51 | type tracker without call steps with content element 0 | params_flow.rb:96:79:96:87 | synthetic splat argument | @@ -2117,19 +2071,11 @@ track | params_flow.rb:106:32:106:33 | 56 | type tracker without call steps | params_flow.rb:106:32:106:33 | 56 | | params_flow.rb:106:32:106:33 | 56 | type tracker without call steps with content element 0 | params_flow.rb:106:26:106:34 | synthetic splat argument | | params_flow.rb:106:32:106:33 | 56 | type tracker without call steps with content element 1 | params_flow.rb:106:1:106:46 | synthetic splat argument | -| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:102:5:102:10 | synthetic splat argument | | params_flow.rb:106:37:106:45 | call to taint | type tracker with call steps with content element 2 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:106:37:106:45 | call to taint | type tracker without call steps | params_flow.rb:106:37:106:45 | call to taint | | params_flow.rb:106:37:106:45 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:106:1:106:46 | synthetic splat argument | | params_flow.rb:106:37:106:45 | synthetic splat argument | type tracker without call steps | params_flow.rb:106:37:106:45 | synthetic splat argument | | params_flow.rb:106:43:106:44 | 57 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content element 0 | params_flow.rb:102:5:102:10 | synthetic splat argument | | params_flow.rb:106:43:106:44 | 57 | type tracker with call steps with content element 2 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:106:43:106:44 | 57 | type tracker without call steps | params_flow.rb:106:37:106:45 | call to taint | | params_flow.rb:106:43:106:44 | 57 | type tracker without call steps | params_flow.rb:106:43:106:44 | 57 | @@ -2448,39 +2394,15 @@ track | params_flow.rb:131:1:131:46 | call to pos_many | type tracker without call steps | params_flow.rb:131:1:131:46 | call to pos_many | | params_flow.rb:131:10:131:14 | * ... | type tracker with call steps | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:131:10:131:14 | * ... | type tracker without call steps | params_flow.rb:131:10:131:14 | * ... | -| params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:131:17:131:25 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:131:17:131:25 | call to taint | type tracker without call steps | params_flow.rb:131:17:131:25 | call to taint | | params_flow.rb:131:17:131:25 | synthetic splat argument | type tracker without call steps | params_flow.rb:131:17:131:25 | synthetic splat argument | | params_flow.rb:131:23:131:24 | 68 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:131:23:131:24 | 68 | type tracker with call steps with content element 0 | params_flow.rb:85:5:85:10 | synthetic splat argument | | params_flow.rb:131:23:131:24 | 68 | type tracker without call steps | params_flow.rb:131:17:131:25 | call to taint | | params_flow.rb:131:23:131:24 | 68 | type tracker without call steps | params_flow.rb:131:23:131:24 | 68 | | params_flow.rb:131:23:131:24 | 68 | type tracker without call steps with content element 0 | params_flow.rb:131:17:131:25 | synthetic splat argument | -| params_flow.rb:131:28:131:30 | nil | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:28:131:30 | nil | type tracker with call steps | params_flow.rb:83:20:83:20 | v | -| params_flow.rb:131:28:131:30 | nil | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:131:28:131:30 | nil | type tracker with call steps with content element 0 | params_flow.rb:86:5:86:10 | synthetic splat argument | | params_flow.rb:131:28:131:30 | nil | type tracker without call steps | params_flow.rb:131:28:131:30 | nil | -| params_flow.rb:131:33:131:35 | nil | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:33:131:35 | nil | type tracker with call steps | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:131:33:131:35 | nil | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:131:33:131:35 | nil | type tracker with call steps with content element 0 | params_flow.rb:87:5:87:10 | synthetic splat argument | | params_flow.rb:131:33:131:35 | nil | type tracker without call steps | params_flow.rb:131:33:131:35 | nil | -| params_flow.rb:131:38:131:40 | nil | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:38:131:40 | nil | type tracker with call steps | params_flow.rb:83:26:83:26 | x | -| params_flow.rb:131:38:131:40 | nil | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:131:38:131:40 | nil | type tracker with call steps with content element 0 | params_flow.rb:88:5:88:10 | synthetic splat argument | | params_flow.rb:131:38:131:40 | nil | type tracker without call steps | params_flow.rb:131:38:131:40 | nil | -| params_flow.rb:131:43:131:45 | nil | type tracker with call steps | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:43:131:45 | nil | type tracker with call steps | params_flow.rb:83:29:83:29 | y | -| params_flow.rb:131:43:131:45 | nil | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:131:43:131:45 | nil | type tracker with call steps with content element 0 | params_flow.rb:89:5:89:10 | synthetic splat argument | | params_flow.rb:131:43:131:45 | nil | type tracker without call steps | params_flow.rb:131:43:131:45 | nil | | params_flow.rb:133:1:135:3 | &block | type tracker without call steps | params_flow.rb:133:1:135:3 | &block | | params_flow.rb:133:1:135:3 | self in splatall | type tracker with call steps | params_flow.rb:5:1:7:3 | self in sink | @@ -3482,14 +3404,8 @@ trackEnd | params_flow.rb:1:11:1:11 | x | params_flow.rb:69:14:69:14 | x | | params_flow.rb:1:11:1:11 | x | params_flow.rb:69:17:69:17 | y | | params_flow.rb:1:11:1:11 | x | params_flow.rb:69:17:69:17 | y | -| params_flow.rb:1:11:1:11 | x | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:1:11:1:11 | x | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:1:11:1:11 | x | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:1:11:1:11 | x | params_flow.rb:69:27:69:27 | r | | params_flow.rb:1:11:1:11 | x | params_flow.rb:70:10:70:10 | x | | params_flow.rb:1:11:1:11 | x | params_flow.rb:71:10:71:10 | y | -| params_flow.rb:1:11:1:11 | x | params_flow.rb:74:10:74:10 | w | -| params_flow.rb:1:11:1:11 | x | params_flow.rb:75:10:75:10 | r | | params_flow.rb:1:11:1:11 | x | params_flow.rb:78:10:78:18 | call to taint | | params_flow.rb:1:11:1:11 | x | params_flow.rb:78:21:78:29 | call to taint | | params_flow.rb:1:11:1:11 | x | params_flow.rb:78:32:78:40 | call to taint | @@ -3535,10 +3451,7 @@ trackEnd | params_flow.rb:1:11:1:11 | x | params_flow.rb:96:79:96:87 | call to taint | | params_flow.rb:1:11:1:11 | x | params_flow.rb:98:19:98:19 | a | | params_flow.rb:1:11:1:11 | x | params_flow.rb:98:19:98:19 | a | -| params_flow.rb:1:11:1:11 | x | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:1:11:1:11 | x | params_flow.rb:98:31:98:31 | b | | params_flow.rb:1:11:1:11 | x | params_flow.rb:99:10:99:10 | a | -| params_flow.rb:1:11:1:11 | x | params_flow.rb:102:10:102:10 | b | | params_flow.rb:1:11:1:11 | x | params_flow.rb:105:15:105:23 | call to taint | | params_flow.rb:1:11:1:11 | x | params_flow.rb:105:28:105:36 | call to taint | | params_flow.rb:1:11:1:11 | x | params_flow.rb:105:39:105:47 | call to taint | @@ -4783,42 +4696,18 @@ trackEnd | params_flow.rb:78:38:78:39 | 29 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:78:38:78:39 | 29 | params_flow.rb:78:32:78:40 | call to taint | | params_flow.rb:78:38:78:39 | 29 | params_flow.rb:78:38:78:39 | 29 | -| params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:74:10:74:10 | w | | params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:78:43:78:51 | call to taint | | params_flow.rb:78:43:78:51 | synthetic splat argument | params_flow.rb:78:43:78:51 | synthetic splat argument | | params_flow.rb:78:49:78:50 | 30 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:49:78:50 | 30 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:49:78:50 | 30 | params_flow.rb:2:5:2:5 | x | -| params_flow.rb:78:49:78:50 | 30 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:78:49:78:50 | 30 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:78:49:78:50 | 30 | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:78:49:78:50 | 30 | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:78:49:78:50 | 30 | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:78:49:78:50 | 30 | params_flow.rb:74:10:74:10 | w | | params_flow.rb:78:49:78:50 | 30 | params_flow.rb:78:43:78:51 | call to taint | | params_flow.rb:78:49:78:50 | 30 | params_flow.rb:78:49:78:50 | 30 | -| params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:75:10:75:10 | r | | params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:78:54:78:62 | call to taint | | params_flow.rb:78:54:78:62 | synthetic splat argument | params_flow.rb:78:54:78:62 | synthetic splat argument | | params_flow.rb:78:60:78:61 | 31 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:60:78:61 | 31 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:78:60:78:61 | 31 | params_flow.rb:2:5:2:5 | x | -| params_flow.rb:78:60:78:61 | 31 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:78:60:78:61 | 31 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:78:60:78:61 | 31 | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:78:60:78:61 | 31 | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:78:60:78:61 | 31 | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:78:60:78:61 | 31 | params_flow.rb:75:10:75:10 | r | | params_flow.rb:78:60:78:61 | 31 | params_flow.rb:78:54:78:62 | call to taint | | params_flow.rb:78:60:78:61 | 31 | params_flow.rb:78:60:78:61 | 31 | | params_flow.rb:80:1:80:4 | args | params_flow.rb:80:1:80:4 | args | @@ -5135,23 +5024,11 @@ trackEnd | params_flow.rb:94:27:94:28 | 39 | params_flow.rb:94:21:94:29 | call to taint | | params_flow.rb:94:27:94:28 | 39 | params_flow.rb:94:27:94:28 | 39 | | params_flow.rb:94:32:94:36 | * ... | params_flow.rb:94:32:94:36 | * ... | -| params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:87:10:87:10 | w | | params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:94:39:94:47 | call to taint | | params_flow.rb:94:39:94:47 | synthetic splat argument | params_flow.rb:94:39:94:47 | synthetic splat argument | | params_flow.rb:94:45:94:46 | 44 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:94:45:94:46 | 44 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:94:45:94:46 | 44 | params_flow.rb:2:5:2:5 | x | -| params_flow.rb:94:45:94:46 | 44 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:94:45:94:46 | 44 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:94:45:94:46 | 44 | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:94:45:94:46 | 44 | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:94:45:94:46 | 44 | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:94:45:94:46 | 44 | params_flow.rb:87:10:87:10 | w | | params_flow.rb:94:45:94:46 | 44 | params_flow.rb:94:39:94:47 | call to taint | | params_flow.rb:94:45:94:46 | 44 | params_flow.rb:94:45:94:46 | 44 | | params_flow.rb:96:1:96:88 | call to splatmid | params_flow.rb:96:1:96:88 | call to splatmid | @@ -5221,42 +5098,18 @@ trackEnd | params_flow.rb:96:62:96:63 | 49 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:96:62:96:63 | 49 | params_flow.rb:96:56:96:64 | call to taint | | params_flow.rb:96:62:96:63 | 49 | params_flow.rb:96:62:96:63 | 49 | -| params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:74:10:74:10 | w | | params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:96:68:96:76 | call to taint | | params_flow.rb:96:68:96:76 | synthetic splat argument | params_flow.rb:96:68:96:76 | synthetic splat argument | | params_flow.rb:96:74:96:75 | 50 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:74:96:75 | 50 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:74:96:75 | 50 | params_flow.rb:2:5:2:5 | x | -| params_flow.rb:96:74:96:75 | 50 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:74:96:75 | 50 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:74:96:75 | 50 | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:96:74:96:75 | 50 | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:96:74:96:75 | 50 | params_flow.rb:69:24:69:24 | w | -| params_flow.rb:96:74:96:75 | 50 | params_flow.rb:74:10:74:10 | w | | params_flow.rb:96:74:96:75 | 50 | params_flow.rb:96:68:96:76 | call to taint | | params_flow.rb:96:74:96:75 | 50 | params_flow.rb:96:74:96:75 | 50 | -| params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:75:10:75:10 | r | | params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:96:79:96:87 | call to taint | | params_flow.rb:96:79:96:87 | synthetic splat argument | params_flow.rb:96:79:96:87 | synthetic splat argument | | params_flow.rb:96:85:96:86 | 51 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:85:96:86 | 51 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:96:85:96:86 | 51 | params_flow.rb:2:5:2:5 | x | -| params_flow.rb:96:85:96:86 | 51 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:85:96:86 | 51 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:96:85:96:86 | 51 | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:96:85:96:86 | 51 | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:96:85:96:86 | 51 | params_flow.rb:69:27:69:27 | r | -| params_flow.rb:96:85:96:86 | 51 | params_flow.rb:75:10:75:10 | r | | params_flow.rb:96:85:96:86 | 51 | params_flow.rb:96:79:96:87 | call to taint | | params_flow.rb:96:85:96:86 | 51 | params_flow.rb:96:85:96:86 | 51 | | params_flow.rb:98:1:103:3 | &block | params_flow.rb:98:1:103:3 | &block | @@ -5382,23 +5235,11 @@ trackEnd | params_flow.rb:106:32:106:33 | 56 | params_flow.rb:2:5:2:5 | x | | params_flow.rb:106:32:106:33 | 56 | params_flow.rb:106:26:106:34 | call to taint | | params_flow.rb:106:32:106:33 | 56 | params_flow.rb:106:32:106:33 | 56 | -| params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:102:10:102:10 | b | | params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:106:37:106:45 | call to taint | | params_flow.rb:106:37:106:45 | synthetic splat argument | params_flow.rb:106:37:106:45 | synthetic splat argument | | params_flow.rb:106:43:106:44 | 57 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:106:43:106:44 | 57 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:106:43:106:44 | 57 | params_flow.rb:2:5:2:5 | x | -| params_flow.rb:106:43:106:44 | 57 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:106:43:106:44 | 57 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:106:43:106:44 | 57 | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:106:43:106:44 | 57 | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:106:43:106:44 | 57 | params_flow.rb:98:31:98:31 | b | -| params_flow.rb:106:43:106:44 | 57 | params_flow.rb:102:10:102:10 | b | | params_flow.rb:106:43:106:44 | 57 | params_flow.rb:106:37:106:45 | call to taint | | params_flow.rb:106:43:106:44 | 57 | params_flow.rb:106:43:106:44 | 57 | | params_flow.rb:108:1:112:3 | &block | params_flow.rb:108:1:112:3 | &block | @@ -5724,52 +5565,16 @@ trackEnd | params_flow.rb:131:1:131:46 | call to pos_many | params_flow.rb:131:1:131:46 | call to pos_many | | params_flow.rb:131:10:131:14 | * ... | params_flow.rb:83:1:91:3 | synthetic splat parameter | | params_flow.rb:131:10:131:14 | * ... | params_flow.rb:131:10:131:14 | * ... | -| params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:85:10:85:10 | u | | params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:131:17:131:25 | call to taint | | params_flow.rb:131:17:131:25 | synthetic splat argument | params_flow.rb:131:17:131:25 | synthetic splat argument | | params_flow.rb:131:23:131:24 | 68 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:131:23:131:24 | 68 | params_flow.rb:1:11:1:11 | x | | params_flow.rb:131:23:131:24 | 68 | params_flow.rb:2:5:2:5 | x | -| params_flow.rb:131:23:131:24 | 68 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:23:131:24 | 68 | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:23:131:24 | 68 | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:131:23:131:24 | 68 | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:131:23:131:24 | 68 | params_flow.rb:83:17:83:17 | u | -| params_flow.rb:131:23:131:24 | 68 | params_flow.rb:85:10:85:10 | u | | params_flow.rb:131:23:131:24 | 68 | params_flow.rb:131:17:131:25 | call to taint | | params_flow.rb:131:23:131:24 | 68 | params_flow.rb:131:23:131:24 | 68 | -| params_flow.rb:131:28:131:30 | nil | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:28:131:30 | nil | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:28:131:30 | nil | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:131:28:131:30 | nil | params_flow.rb:83:20:83:20 | v | -| params_flow.rb:131:28:131:30 | nil | params_flow.rb:83:20:83:20 | v | -| params_flow.rb:131:28:131:30 | nil | params_flow.rb:86:10:86:10 | v | | params_flow.rb:131:28:131:30 | nil | params_flow.rb:131:28:131:30 | nil | -| params_flow.rb:131:33:131:35 | nil | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:33:131:35 | nil | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:33:131:35 | nil | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:131:33:131:35 | nil | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:131:33:131:35 | nil | params_flow.rb:83:23:83:23 | w | -| params_flow.rb:131:33:131:35 | nil | params_flow.rb:87:10:87:10 | w | | params_flow.rb:131:33:131:35 | nil | params_flow.rb:131:33:131:35 | nil | -| params_flow.rb:131:38:131:40 | nil | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:38:131:40 | nil | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:38:131:40 | nil | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:131:38:131:40 | nil | params_flow.rb:83:26:83:26 | x | -| params_flow.rb:131:38:131:40 | nil | params_flow.rb:83:26:83:26 | x | -| params_flow.rb:131:38:131:40 | nil | params_flow.rb:88:10:88:10 | x | | params_flow.rb:131:38:131:40 | nil | params_flow.rb:131:38:131:40 | nil | -| params_flow.rb:131:43:131:45 | nil | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:43:131:45 | nil | params_flow.rb:5:10:5:10 | x | -| params_flow.rb:131:43:131:45 | nil | params_flow.rb:6:10:6:10 | x | -| params_flow.rb:131:43:131:45 | nil | params_flow.rb:83:29:83:29 | y | -| params_flow.rb:131:43:131:45 | nil | params_flow.rb:83:29:83:29 | y | -| params_flow.rb:131:43:131:45 | nil | params_flow.rb:89:10:89:10 | y | | params_flow.rb:131:43:131:45 | nil | params_flow.rb:131:43:131:45 | nil | | params_flow.rb:133:1:135:3 | &block | params_flow.rb:133:1:135:3 | &block | | params_flow.rb:133:1:135:3 | self in splatall | params_flow.rb:5:1:7:3 | self (sink) | diff --git a/ruby/ql/test/library-tests/dataflow/params/params-flow.expected b/ruby/ql/test/library-tests/dataflow/params/params-flow.expected index 0484c2f1e27..f665080a329 100644 --- a/ruby/ql/test/library-tests/dataflow/params/params-flow.expected +++ b/ruby/ql/test/library-tests/dataflow/params/params-flow.expected @@ -90,12 +90,8 @@ edges | params_flow.rb:67:13:67:16 | args | params_flow.rb:67:12:67:16 | * ... [element 0] | provenance | | | params_flow.rb:69:14:69:14 | x | params_flow.rb:70:10:70:10 | x | provenance | | | params_flow.rb:69:17:69:17 | y | params_flow.rb:71:10:71:10 | y | provenance | | -| params_flow.rb:69:24:69:24 | w | params_flow.rb:74:10:74:10 | w | provenance | | -| params_flow.rb:69:27:69:27 | r | params_flow.rb:75:10:75:10 | r | provenance | | | params_flow.rb:78:10:78:18 | call to taint | params_flow.rb:69:14:69:14 | x | provenance | | | params_flow.rb:78:21:78:29 | call to taint | params_flow.rb:69:17:69:17 | y | provenance | | -| params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:69:24:69:24 | w | provenance | | -| params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:69:27:69:27 | r | provenance | | | params_flow.rb:80:1:80:4 | args [element 0] | params_flow.rb:81:22:81:25 | args [element 0] | provenance | | | params_flow.rb:80:8:80:51 | call to [] [element 0] | params_flow.rb:80:1:80:4 | args [element 0] | provenance | | | params_flow.rb:80:9:80:17 | call to taint | params_flow.rb:80:8:80:51 | call to [] [element 0] | provenance | | @@ -130,16 +126,11 @@ edges | params_flow.rb:94:33:94:36 | args [element 1] | params_flow.rb:94:32:94:36 | * ... [element 1] | provenance | | | params_flow.rb:94:33:94:36 | args [element 2] | params_flow.rb:94:32:94:36 | * ... [element 2] | provenance | | | params_flow.rb:94:33:94:36 | args [element 3] | params_flow.rb:94:32:94:36 | * ... [element 3] | provenance | | -| params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:83:23:83:23 | w | provenance | | | params_flow.rb:96:10:96:18 | call to taint | params_flow.rb:69:14:69:14 | x | provenance | | | params_flow.rb:96:21:96:29 | call to taint | params_flow.rb:69:17:69:17 | y | provenance | | -| params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:69:24:69:24 | w | provenance | | -| params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:69:27:69:27 | r | provenance | | | params_flow.rb:98:19:98:19 | a | params_flow.rb:99:10:99:10 | a | provenance | | -| params_flow.rb:98:31:98:31 | b | params_flow.rb:102:10:102:10 | b | provenance | | | params_flow.rb:105:15:105:23 | call to taint | params_flow.rb:98:19:98:19 | a | provenance | | | params_flow.rb:106:15:106:23 | call to taint | params_flow.rb:98:19:98:19 | a | provenance | | -| params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:98:31:98:31 | b | provenance | | | params_flow.rb:108:37:108:37 | a | params_flow.rb:109:10:109:10 | a | provenance | | | params_flow.rb:108:40:108:41 | *b [element 0] | params_flow.rb:110:10:110:10 | b [element 0] | provenance | | | params_flow.rb:108:44:108:44 | c | params_flow.rb:111:10:111:10 | c | provenance | | @@ -162,7 +153,6 @@ edges | params_flow.rb:131:10:131:14 | * ... [element 1] | params_flow.rb:83:17:83:17 | u | provenance | | | params_flow.rb:131:11:131:14 | args [element 0] | params_flow.rb:131:10:131:14 | * ... [element 0] | provenance | | | params_flow.rb:131:11:131:14 | args [element 1] | params_flow.rb:131:10:131:14 | * ... [element 1] | provenance | | -| params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:83:17:83:17 | u | provenance | | | params_flow.rb:133:14:133:18 | *args [element 1] | params_flow.rb:134:10:134:13 | args [element 1] | provenance | | | params_flow.rb:134:10:134:13 | args [element 1] | params_flow.rb:134:10:134:16 | ...[...] | provenance | | | params_flow.rb:137:10:137:43 | * ... [element 1] | params_flow.rb:133:14:133:18 | *args [element 1] | provenance | | @@ -283,16 +273,10 @@ nodes | params_flow.rb:67:13:67:16 | args | semmle.label | args | | params_flow.rb:69:14:69:14 | x | semmle.label | x | | params_flow.rb:69:17:69:17 | y | semmle.label | y | -| params_flow.rb:69:24:69:24 | w | semmle.label | w | -| params_flow.rb:69:27:69:27 | r | semmle.label | r | | params_flow.rb:70:10:70:10 | x | semmle.label | x | | params_flow.rb:71:10:71:10 | y | semmle.label | y | -| params_flow.rb:74:10:74:10 | w | semmle.label | w | -| params_flow.rb:75:10:75:10 | r | semmle.label | r | | params_flow.rb:78:10:78:18 | call to taint | semmle.label | call to taint | | params_flow.rb:78:21:78:29 | call to taint | semmle.label | call to taint | -| params_flow.rb:78:43:78:51 | call to taint | semmle.label | call to taint | -| params_flow.rb:78:54:78:62 | call to taint | semmle.label | call to taint | | params_flow.rb:80:1:80:4 | args [element 0] | semmle.label | args [element 0] | | params_flow.rb:80:8:80:51 | call to [] [element 0] | semmle.label | call to [] [element 0] | | params_flow.rb:80:9:80:17 | call to taint | semmle.label | call to taint | @@ -333,18 +317,12 @@ nodes | params_flow.rb:94:33:94:36 | args [element 1] | semmle.label | args [element 1] | | params_flow.rb:94:33:94:36 | args [element 2] | semmle.label | args [element 2] | | params_flow.rb:94:33:94:36 | args [element 3] | semmle.label | args [element 3] | -| params_flow.rb:94:39:94:47 | call to taint | semmle.label | call to taint | | params_flow.rb:96:10:96:18 | call to taint | semmle.label | call to taint | | params_flow.rb:96:21:96:29 | call to taint | semmle.label | call to taint | -| params_flow.rb:96:68:96:76 | call to taint | semmle.label | call to taint | -| params_flow.rb:96:79:96:87 | call to taint | semmle.label | call to taint | | params_flow.rb:98:19:98:19 | a | semmle.label | a | -| params_flow.rb:98:31:98:31 | b | semmle.label | b | | params_flow.rb:99:10:99:10 | a | semmle.label | a | -| params_flow.rb:102:10:102:10 | b | semmle.label | b | | params_flow.rb:105:15:105:23 | call to taint | semmle.label | call to taint | | params_flow.rb:106:15:106:23 | call to taint | semmle.label | call to taint | -| params_flow.rb:106:37:106:45 | call to taint | semmle.label | call to taint | | params_flow.rb:108:37:108:37 | a | semmle.label | a | | params_flow.rb:108:40:108:41 | *b [element 0] | semmle.label | *b [element 0] | | params_flow.rb:108:44:108:44 | c | semmle.label | c | @@ -369,7 +347,6 @@ nodes | params_flow.rb:131:10:131:14 | * ... [element 1] | semmle.label | * ... [element 1] | | params_flow.rb:131:11:131:14 | args [element 0] | semmle.label | args [element 0] | | params_flow.rb:131:11:131:14 | args [element 1] | semmle.label | args [element 1] | -| params_flow.rb:131:17:131:25 | call to taint | semmle.label | call to taint | | params_flow.rb:133:14:133:18 | *args [element 1] | semmle.label | *args [element 1] | | params_flow.rb:134:10:134:13 | args [element 1] | semmle.label | args [element 1] | | params_flow.rb:134:10:134:16 | ...[...] | semmle.label | ...[...] | @@ -433,23 +410,16 @@ testFailures | params_flow.rb:71:10:71:10 | y | params_flow.rb:78:21:78:29 | call to taint | params_flow.rb:71:10:71:10 | y | $@ | params_flow.rb:78:21:78:29 | call to taint | call to taint | | params_flow.rb:71:10:71:10 | y | params_flow.rb:80:9:80:17 | call to taint | params_flow.rb:71:10:71:10 | y | $@ | params_flow.rb:80:9:80:17 | call to taint | call to taint | | params_flow.rb:71:10:71:10 | y | params_flow.rb:96:21:96:29 | call to taint | params_flow.rb:71:10:71:10 | y | $@ | params_flow.rb:96:21:96:29 | call to taint | call to taint | -| params_flow.rb:74:10:74:10 | w | params_flow.rb:78:43:78:51 | call to taint | params_flow.rb:74:10:74:10 | w | $@ | params_flow.rb:78:43:78:51 | call to taint | call to taint | -| params_flow.rb:74:10:74:10 | w | params_flow.rb:96:68:96:76 | call to taint | params_flow.rb:74:10:74:10 | w | $@ | params_flow.rb:96:68:96:76 | call to taint | call to taint | -| params_flow.rb:75:10:75:10 | r | params_flow.rb:78:54:78:62 | call to taint | params_flow.rb:75:10:75:10 | r | $@ | params_flow.rb:78:54:78:62 | call to taint | call to taint | -| params_flow.rb:75:10:75:10 | r | params_flow.rb:96:79:96:87 | call to taint | params_flow.rb:75:10:75:10 | r | $@ | params_flow.rb:96:79:96:87 | call to taint | call to taint | | params_flow.rb:84:10:84:10 | t | params_flow.rb:94:10:94:18 | call to taint | params_flow.rb:84:10:84:10 | t | $@ | params_flow.rb:94:10:94:18 | call to taint | call to taint | | params_flow.rb:84:10:84:10 | t | params_flow.rb:130:9:130:17 | call to taint | params_flow.rb:84:10:84:10 | t | $@ | params_flow.rb:130:9:130:17 | call to taint | call to taint | | params_flow.rb:85:10:85:10 | u | params_flow.rb:94:21:94:29 | call to taint | params_flow.rb:85:10:85:10 | u | $@ | params_flow.rb:94:21:94:29 | call to taint | call to taint | | params_flow.rb:85:10:85:10 | u | params_flow.rb:130:20:130:28 | call to taint | params_flow.rb:85:10:85:10 | u | $@ | params_flow.rb:130:20:130:28 | call to taint | call to taint | -| params_flow.rb:85:10:85:10 | u | params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:85:10:85:10 | u | $@ | params_flow.rb:131:17:131:25 | call to taint | call to taint | | params_flow.rb:86:10:86:10 | v | params_flow.rb:93:9:93:17 | call to taint | params_flow.rb:86:10:86:10 | v | $@ | params_flow.rb:93:9:93:17 | call to taint | call to taint | | params_flow.rb:87:10:87:10 | w | params_flow.rb:93:20:93:28 | call to taint | params_flow.rb:87:10:87:10 | w | $@ | params_flow.rb:93:20:93:28 | call to taint | call to taint | -| params_flow.rb:87:10:87:10 | w | params_flow.rb:94:39:94:47 | call to taint | params_flow.rb:87:10:87:10 | w | $@ | params_flow.rb:94:39:94:47 | call to taint | call to taint | | params_flow.rb:88:10:88:10 | x | params_flow.rb:93:31:93:39 | call to taint | params_flow.rb:88:10:88:10 | x | $@ | params_flow.rb:93:31:93:39 | call to taint | call to taint | | params_flow.rb:89:10:89:10 | y | params_flow.rb:93:42:93:50 | call to taint | params_flow.rb:89:10:89:10 | y | $@ | params_flow.rb:93:42:93:50 | call to taint | call to taint | | params_flow.rb:99:10:99:10 | a | params_flow.rb:105:15:105:23 | call to taint | params_flow.rb:99:10:99:10 | a | $@ | params_flow.rb:105:15:105:23 | call to taint | call to taint | | params_flow.rb:99:10:99:10 | a | params_flow.rb:106:15:106:23 | call to taint | params_flow.rb:99:10:99:10 | a | $@ | params_flow.rb:106:15:106:23 | call to taint | call to taint | -| params_flow.rb:102:10:102:10 | b | params_flow.rb:106:37:106:45 | call to taint | params_flow.rb:102:10:102:10 | b | $@ | params_flow.rb:106:37:106:45 | call to taint | call to taint | | params_flow.rb:109:10:109:10 | a | params_flow.rb:114:33:114:41 | call to taint | params_flow.rb:109:10:109:10 | a | $@ | params_flow.rb:114:33:114:41 | call to taint | call to taint | | params_flow.rb:110:10:110:13 | ...[...] | params_flow.rb:114:44:114:52 | call to taint | params_flow.rb:110:10:110:13 | ...[...] | $@ | params_flow.rb:114:44:114:52 | call to taint | call to taint | | params_flow.rb:111:10:111:10 | c | params_flow.rb:114:58:114:66 | call to taint | params_flow.rb:111:10:111:10 | c | $@ | params_flow.rb:114:58:114:66 | call to taint | call to taint | diff --git a/ruby/ql/test/library-tests/dataflow/params/params_flow.rb b/ruby/ql/test/library-tests/dataflow/params/params_flow.rb index 34599eb35a9..65b663a7c4e 100644 --- a/ruby/ql/test/library-tests/dataflow/params/params_flow.rb +++ b/ruby/ql/test/library-tests/dataflow/params/params_flow.rb @@ -69,10 +69,10 @@ splatstuff(*args) def splatmid(x, y, *z, w, r) sink x # $ hasValueFlow=27 $ hasValueFlow=32 $ hasValueFlow=45 sink y # $ hasValueFlow=28 $ hasValueFlow=46 $ hasValueFlow=33 - sink z[0] # MISSING: $ hasValueFlow=47 $ hasValueFlow=29 $ hasValueFlow=34 + sink z[0] # $ MISSING: hasValueFlow=47 $ hasValueFlow=29 $ hasValueFlow=34 sink z[1] # $ MISSING: hasValueFlow=48 $ hasValueFlow=35 - sink w # $ hasValueFlow=30 $ hasValueFlow=50 $ MISSING: hasValueFlow=36 - sink r # $ hasValueFlow=31 $ hasValueFlow=51 $ MISSING: hasValueFlow=37 + sink w # $ MISSING: hasValueFlow=30 $ hasValueFlow=50 $ hasValueFlow=36 + sink r # $ MISSING: hasValueFlow=31 $ hasValueFlow=51 $ hasValueFlow=37 end splatmid(taint(27), taint(28), taint(29), taint(30), taint(31)) @@ -82,9 +82,9 @@ splatmid(taint(32), *args, taint(37)) def pos_many(t, u, v, w, x, y, z) sink t # $ hasValueFlow=38 $ hasValueFlow=66 - sink u # $ hasValueFlow=39 $ hasValueFlow=67 $ SPURIOUS: hasValueFlow=68 + sink u # $ hasValueFlow=39 $ hasValueFlow=67 sink v # $ hasValueFlow=40 - sink w # $ hasValueFlow=41 $ SPURIOUS: hasValueFlow=44 + sink w # $ hasValueFlow=41 sink x # $ hasValueFlow=42 sink y # $ hasValueFlow=43 sink z # $ MISSING: hasValueFlow=44 @@ -99,7 +99,7 @@ def splatmidsmall(a, *splats, b) sink a # $ hasValueFlow=52 $ hasValueFlow=55 sink splats[0] # $ MISSING: hasValueFlow=53 sink splats[1] - sink b # $ hasValueFlow=57 $ MISSING: hasValueFlow=54 + sink b # $ MISSING: hasValueFlow=57 $ hasValueFlow=54 end splatmidsmall(taint(52), *[taint(53), taint(54)]) From d15e1b5598841c7d710abc67a3c170076b3869bc Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 20 Aug 2024 15:05:49 +0200 Subject: [PATCH 126/258] Ruby: Prevent synthetic splat matching for actual splats at same positions --- .../dataflow/internal/DataFlowDispatch.qll | 81 ++++++++++--------- .../dataflow/internal/DataFlowPrivate.qll | 22 ++--- .../dataflow/params/TypeTracker.expected | 34 -------- 3 files changed, 53 insertions(+), 84 deletions(-) diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll index 97c0e24fa5b..268c289259e 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll @@ -563,7 +563,11 @@ private module Cached { THashSplatArgumentPosition() or TSynthHashSplatArgumentPosition() or TSplatArgumentPosition(int pos) { exists(Call c | c.getArgument(pos) instanceof SplatExpr) } or - TSynthSplatArgumentPosition(Boolean hasActualSplat) or + TSynthSplatArgumentPosition(int actualSplatPos) { + actualSplatPos = -1 // represents no actual splat + or + exists(Call c | c.getArgument(actualSplatPos) instanceof SplatExpr) + } or TAnyArgumentPosition() or TAnyKeywordArgumentPosition() @@ -594,7 +598,11 @@ private module Cached { or exists(Parameter p | p.getPosition() = pos and p instanceof SplatParameter) } or - TSynthSplatParameterPosition(Boolean hasActualSplat) or + TSynthSplatParameterPosition(int actualSplatPos) { + actualSplatPos = -1 // represents no actual splat + or + exists(Callable c | c.getParameter(actualSplatPos) instanceof SplatParameter) + } or TAnyParameterPosition() or TAnyKeywordParameterPosition() } @@ -1386,12 +1394,11 @@ class ParameterPosition extends TParameterPosition { /** * Holds if this position represents a synthetic splat parameter. * - * `hasActualSplat` indicates whether the method that the parameter belongs - * to also has an actual splat parameter. + * `actualSplatPos` indicates the position of the (unique) actual splat + * parameter belonging to the same method, with `-1` representing no actual + * splat parameter. */ - predicate isSynthSplat(boolean hasActualSplat) { - this = TSynthSplatParameterPosition(hasActualSplat) - } + predicate isSynthSplat(int actualSplatPos) { this = TSynthSplatParameterPosition(actualSplatPos) } /** * Holds if this position represents any parameter, except `self` parameters. This @@ -1426,10 +1433,10 @@ class ParameterPosition extends TParameterPosition { or exists(int pos | this.isSplat(pos) and result = "* (position " + pos + ")") or - exists(boolean hasActualSplat, string suffix | - this.isSynthSplat(hasActualSplat) and + exists(int actualSplatPos, string suffix | + this.isSynthSplat(actualSplatPos) and result = "synthetic *" + suffix and - if hasActualSplat = true then suffix = " (with actual)" else suffix = "" + if actualSplatPos = -1 then suffix = "" else suffix = " (actual at " + actualSplatPos + ")" ) } } @@ -1472,12 +1479,11 @@ class ArgumentPosition extends TArgumentPosition { /** * Holds if this position represents a synthetic splat argument. * - * `hasActualSplat` indicates whether the call that the argument belongs - * to also has an actual splat argument. + * `actualSplatPos` indicates the position of the (unique) actual splat + * argument belonging to the same call, with `-1` representing no actual + * splat argument. */ - predicate isSynthSplat(boolean hasActualSplat) { - this = TSynthSplatArgumentPosition(hasActualSplat) - } + predicate isSynthSplat(int actualSplatPos) { this = TSynthSplatArgumentPosition(actualSplatPos) } /** Gets a textual representation of this position. */ string toString() { @@ -1501,10 +1507,10 @@ class ArgumentPosition extends TArgumentPosition { or exists(int pos | this.isSplat(pos) and result = "* (position " + pos + ")") or - exists(boolean hasActualSplat, string suffix | - this.isSynthSplat(hasActualSplat) and + exists(int actualSplatPos, string suffix | + this.isSynthSplat(actualSplatPos) and result = "synthetic *" + suffix and - if hasActualSplat = true then suffix = " (with actual)" else suffix = "" + if actualSplatPos = -1 then suffix = "" else suffix = " (actual at " + actualSplatPos + ")" ) } } @@ -1538,35 +1544,30 @@ predicate parameterMatch(ParameterPosition ppos, ArgumentPosition apos) { or exists(string name | ppos.isKeyword(name) and apos.isKeyword(name)) or - ppos.isHashSplat() and - (apos.isHashSplat() or apos.isSynthHashSplat()) + (ppos.isHashSplat() or ppos.isSynthHashSplat()) and + (apos.isHashSplat() or apos.isSynthHashSplat()) and + // prevent synthetic hash-splat parameters from matching synthetic hash-splat + // arguments when direct keyword matching is possible + not (ppos.isSynthHashSplat() and apos.isSynthHashSplat()) or - // no case for `apos.isSynthHashSplat() and ppos.isSynthHashSplat()`, since - // direct keyword matching is possible - ppos.isSynthHashSplat() and - apos.isHashSplat() - or - exists(int pos, boolean hasActualSplatParam, boolean hasActualSplatArg | + exists(int pos | ( - ppos.isSplat(pos) and - hasActualSplatParam = true // allow matching with synthetic splat argument + ppos.isSplat(pos) or - ppos.isSynthSplat(hasActualSplatParam) and - pos = 0 and - // prevent synthetic splat parameters from matching synthetic splat arguments - // when direct positional matching is possible - ( - hasActualSplatParam = true - or - hasActualSplatArg = true - ) + ppos.isSynthSplat(_) and + pos = 0 ) and ( - apos.isSplat(pos) and - hasActualSplatArg = true // allow matching with synthetic splat parameter + apos.isSplat(pos) or - apos.isSynthSplat(hasActualSplatArg) and pos = 0 + apos.isSynthSplat(_) and pos = 0 ) + ) and + // prevent synthetic splat parameters from matching synthetic splat arguments + // when direct positional matching is possible + not exists(int actualSplatPos | + ppos.isSynthSplat(actualSplatPos) and + apos.isSynthSplat(actualSplatPos) ) or ppos.isAny() and argumentPositionIsNotSelf(apos) diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll index 1cfb3b0f395..78f0491ff13 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll @@ -1204,11 +1204,11 @@ private module ParameterNodes { final override predicate isParameterOf(DataFlowCallable c, ParameterPosition pos) { c = callable and - exists(boolean hasActualSplat | - pos.isSynthSplat(hasActualSplat) and - if exists(TSynthSplatParameterShiftNode(c, _, _)) - then hasActualSplat = true - else hasActualSplat = false + exists(int actualSplat | pos.isSynthSplat(actualSplat) | + exists(TSynthSplatParameterShiftNode(c, actualSplat, _)) + or + not exists(TSynthSplatParameterShiftNode(c, _, _)) and + actualSplat = -1 ) } @@ -1488,11 +1488,13 @@ module ArgumentNodes { override predicate sourceArgumentOf(CfgNodes::ExprNodes::CallCfgNode call, ArgumentPosition pos) { call = call_ and - exists(boolean hasActualSplat | - pos.isSynthSplat(hasActualSplat) and - if any(SynthSplatArgumentShiftNode shift).storeInto(this, _) - then hasActualSplat = true - else hasActualSplat = false + exists(int actualSplat | pos.isSynthSplat(actualSplat) | + any(SynthSplatArgumentShiftNode shift | + shift = TSynthSplatArgumentShiftNode(_, actualSplat, _) + ).storeInto(this, _) + or + not any(SynthSplatArgumentShiftNode shift).storeInto(this, _) and + actualSplat = -1 ) } diff --git a/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected b/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected index 4ebb2d50537..23d66c80ad2 100644 --- a/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected +++ b/ruby/ql/test/library-tests/dataflow/params/TypeTracker.expected @@ -1193,20 +1193,16 @@ track | params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | | params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | | params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | | params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:57:8:57:18 | call to [] | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:57:8:57:18 | call to [] | type tracker without call steps | params_flow.rb:57:8:57:18 | call to [] | | params_flow.rb:57:8:57:18 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:58:20:58:24 | * ... | | params_flow.rb:57:8:57:18 | call to [] | type tracker without call steps with content element 1 | params_flow.rb:58:1:58:25 | synthetic splat argument | | params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps | params_flow.rb:51:11:51:20 | ...[...] | | params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | | params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | | params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps with content element 0 or unknown | params_flow.rb:49:17:49:24 | *posargs | -| params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:57:8:57:18 | call to [] | | params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker without call steps | params_flow.rb:57:8:57:18 | synthetic splat argument | | params_flow.rb:57:8:57:18 | synthetic splat argument | type tracker without call steps with content element 0 or unknown | params_flow.rb:58:20:58:24 | * ... | @@ -1216,7 +1212,6 @@ track | params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | | params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | -| params_flow.rb:57:9:57:17 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:57:9:57:17 | call to taint | type tracker without call steps | params_flow.rb:57:9:57:17 | call to taint | | params_flow.rb:57:9:57:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:57:8:57:18 | call to [] | | params_flow.rb:57:9:57:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:57:8:57:18 | synthetic splat argument | @@ -1229,7 +1224,6 @@ track | params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content element 0 | params_flow.rb:49:17:49:24 | *posargs | | params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content element 0 | params_flow.rb:51:5:51:21 | synthetic splat argument | -| params_flow.rb:57:15:57:16 | 22 | type tracker with call steps with content element 1 | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:57:15:57:16 | 22 | type tracker without call steps | params_flow.rb:57:9:57:17 | call to taint | | params_flow.rb:57:15:57:16 | 22 | type tracker without call steps | params_flow.rb:57:15:57:16 | 22 | | params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content element 0 | params_flow.rb:57:8:57:18 | call to [] | @@ -1238,12 +1232,10 @@ track | params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content element 0 | params_flow.rb:58:20:58:24 | * ... | | params_flow.rb:57:15:57:16 | 22 | type tracker without call steps with content element 1 | params_flow.rb:58:1:58:25 | synthetic splat argument | | params_flow.rb:58:1:58:25 | call to posargs | type tracker without call steps | params_flow.rb:58:1:58:25 | call to posargs | -| params_flow.rb:58:1:58:25 | synthetic splat argument | type tracker with call steps | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:58:1:58:25 | synthetic splat argument | type tracker without call steps | params_flow.rb:58:1:58:25 | synthetic splat argument | | params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:58:9:58:17 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:58:9:58:17 | call to taint | type tracker without call steps | params_flow.rb:58:9:58:17 | call to taint | | params_flow.rb:58:9:58:17 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:58:1:58:25 | synthetic splat argument | @@ -1252,7 +1244,6 @@ track | params_flow.rb:58:15:58:16 | 23 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:58:15:58:16 | 23 | type tracker with call steps | params_flow.rb:49:13:49:14 | p1 | | params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content element 0 | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:58:15:58:16 | 23 | type tracker with call steps with content element 0 | params_flow.rb:50:5:50:11 | synthetic splat argument | | params_flow.rb:58:15:58:16 | 23 | type tracker without call steps | params_flow.rb:58:9:58:17 | call to taint | | params_flow.rb:58:15:58:16 | 23 | type tracker without call steps | params_flow.rb:58:15:58:16 | 23 | @@ -1826,12 +1817,10 @@ track | params_flow.rb:94:45:94:46 | 44 | type tracker without call steps | params_flow.rb:94:45:94:46 | 44 | | params_flow.rb:94:45:94:46 | 44 | type tracker without call steps with content element 0 | params_flow.rb:94:39:94:47 | synthetic splat argument | | params_flow.rb:96:1:96:88 | call to splatmid | type tracker without call steps | params_flow.rb:96:1:96:88 | call to splatmid | -| params_flow.rb:96:1:96:88 | synthetic splat argument | type tracker with call steps | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:1:96:88 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps | params_flow.rb:69:14:69:14 | x | | params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:10:96:18 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:96:10:96:18 | call to taint | type tracker without call steps | params_flow.rb:96:10:96:18 | call to taint | | params_flow.rb:96:10:96:18 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:96:1:96:88 | synthetic splat argument | @@ -1840,7 +1829,6 @@ track | params_flow.rb:96:16:96:17 | 45 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:16:96:17 | 45 | type tracker with call steps | params_flow.rb:69:14:69:14 | x | | params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content element 0 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:16:96:17 | 45 | type tracker with call steps with content element 0 | params_flow.rb:70:5:70:10 | synthetic splat argument | | params_flow.rb:96:16:96:17 | 45 | type tracker without call steps | params_flow.rb:96:10:96:18 | call to taint | | params_flow.rb:96:16:96:17 | 45 | type tracker without call steps | params_flow.rb:96:16:96:17 | 45 | @@ -1850,7 +1838,6 @@ track | params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps | params_flow.rb:69:17:69:17 | y | | params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | -| params_flow.rb:96:21:96:29 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:21:96:29 | call to taint | type tracker without call steps | params_flow.rb:96:21:96:29 | call to taint | | params_flow.rb:96:21:96:29 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:21:96:29 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:21:96:29 | synthetic splat argument | @@ -1859,23 +1846,19 @@ track | params_flow.rb:96:27:96:28 | 46 | type tracker with call steps | params_flow.rb:69:17:69:17 | y | | params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | | params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content element 0 | params_flow.rb:71:5:71:10 | synthetic splat argument | -| params_flow.rb:96:27:96:28 | 46 | type tracker with call steps with content element 1 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:27:96:28 | 46 | type tracker without call steps | params_flow.rb:96:21:96:29 | call to taint | | params_flow.rb:96:27:96:28 | 46 | type tracker without call steps | params_flow.rb:96:27:96:28 | 46 | | params_flow.rb:96:27:96:28 | 46 | type tracker without call steps with content element 0 | params_flow.rb:96:21:96:29 | synthetic splat argument | | params_flow.rb:96:27:96:28 | 46 | type tracker without call steps with content element 1 | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:32:96:65 | * ... | type tracker without call steps | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:33:96:65 | Array | type tracker without call steps | params_flow.rb:96:33:96:65 | Array | -| params_flow.rb:96:33:96:65 | call to [] | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:33:96:65 | call to [] | type tracker without call steps | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:96:33:96:65 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:33:96:65 | call to [] | type tracker without call steps with content element 2 | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:96:33:96:65 | synthetic splat argument | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:33:96:65 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:96:33:96:65 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:33:96:65 | synthetic splat argument | | params_flow.rb:96:33:96:65 | synthetic splat argument | type tracker without call steps with content element 0 or unknown | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:33:96:65 | synthetic splat argument | type tracker without call steps with content element 2 | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:96:34:96:42 | call to taint | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:34:96:42 | call to taint | type tracker without call steps | params_flow.rb:96:34:96:42 | call to taint | | params_flow.rb:96:34:96:42 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:34:96:42 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:96:33:96:65 | call to [] | @@ -1883,7 +1866,6 @@ track | params_flow.rb:96:34:96:42 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:34:96:42 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:34:96:42 | synthetic splat argument | | params_flow.rb:96:40:96:41 | 47 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:96:40:96:41 | 47 | type tracker with call steps with content element 2 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:40:96:41 | 47 | type tracker without call steps | params_flow.rb:96:34:96:42 | call to taint | | params_flow.rb:96:40:96:41 | 47 | type tracker without call steps | params_flow.rb:96:40:96:41 | 47 | | params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content element 0 | params_flow.rb:96:32:96:65 | * ... | @@ -1891,7 +1873,6 @@ track | params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content element 0 | params_flow.rb:96:33:96:65 | synthetic splat argument | | params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content element 0 | params_flow.rb:96:34:96:42 | synthetic splat argument | | params_flow.rb:96:40:96:41 | 47 | type tracker without call steps with content element 2 | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:96:45:96:53 | call to taint | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:45:96:53 | call to taint | type tracker without call steps | params_flow.rb:96:45:96:53 | call to taint | | params_flow.rb:96:45:96:53 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:45:96:53 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:96:33:96:65 | call to [] | @@ -1899,7 +1880,6 @@ track | params_flow.rb:96:45:96:53 | call to taint | type tracker without call steps with content element 3 | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:45:96:53 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:45:96:53 | synthetic splat argument | | params_flow.rb:96:51:96:52 | 48 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:96:51:96:52 | 48 | type tracker with call steps with content element 3 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:51:96:52 | 48 | type tracker without call steps | params_flow.rb:96:45:96:53 | call to taint | | params_flow.rb:96:51:96:52 | 48 | type tracker without call steps | params_flow.rb:96:51:96:52 | 48 | | params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content element 0 | params_flow.rb:96:45:96:53 | synthetic splat argument | @@ -1907,7 +1887,6 @@ track | params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content element 1 | params_flow.rb:96:33:96:65 | call to [] | | params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content element 1 | params_flow.rb:96:33:96:65 | synthetic splat argument | | params_flow.rb:96:51:96:52 | 48 | type tracker without call steps with content element 3 | params_flow.rb:96:1:96:88 | synthetic splat argument | -| params_flow.rb:96:56:96:64 | call to taint | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:56:96:64 | call to taint | type tracker without call steps | params_flow.rb:96:56:96:64 | call to taint | | params_flow.rb:96:56:96:64 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:96:32:96:65 | * ... | | params_flow.rb:96:56:96:64 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:96:33:96:65 | call to [] | @@ -1915,7 +1894,6 @@ track | params_flow.rb:96:56:96:64 | call to taint | type tracker without call steps with content element 4 | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:56:96:64 | synthetic splat argument | type tracker without call steps | params_flow.rb:96:56:96:64 | synthetic splat argument | | params_flow.rb:96:62:96:63 | 49 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:96:62:96:63 | 49 | type tracker with call steps with content element 4 | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:62:96:63 | 49 | type tracker without call steps | params_flow.rb:96:56:96:64 | call to taint | | params_flow.rb:96:62:96:63 | 49 | type tracker without call steps | params_flow.rb:96:62:96:63 | 49 | | params_flow.rb:96:62:96:63 | 49 | type tracker without call steps with content element 0 | params_flow.rb:96:56:96:64 | synthetic splat argument | @@ -1977,12 +1955,10 @@ track | params_flow.rb:102:5:102:10 | call to sink | type tracker without call steps | params_flow.rb:106:1:106:46 | call to splatmidsmall | | params_flow.rb:102:5:102:10 | synthetic splat argument | type tracker without call steps | params_flow.rb:102:5:102:10 | synthetic splat argument | | params_flow.rb:105:1:105:49 | call to splatmidsmall | type tracker without call steps | params_flow.rb:105:1:105:49 | call to splatmidsmall | -| params_flow.rb:105:1:105:49 | synthetic splat argument | type tracker with call steps | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:1:105:49 | synthetic splat argument | type tracker without call steps | params_flow.rb:105:1:105:49 | synthetic splat argument | | params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps | params_flow.rb:98:19:98:19 | a | | params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:15:105:23 | call to taint | type tracker with call steps with content element 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | | params_flow.rb:105:15:105:23 | call to taint | type tracker without call steps | params_flow.rb:105:15:105:23 | call to taint | | params_flow.rb:105:15:105:23 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:105:1:105:49 | synthetic splat argument | @@ -1991,7 +1967,6 @@ track | params_flow.rb:105:21:105:22 | 52 | type tracker with call steps | params_flow.rb:5:10:5:10 | x | | params_flow.rb:105:21:105:22 | 52 | type tracker with call steps | params_flow.rb:98:19:98:19 | a | | params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content element 0 | params_flow.rb:6:5:6:10 | synthetic splat argument | -| params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content element 0 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:21:105:22 | 52 | type tracker with call steps with content element 0 | params_flow.rb:99:5:99:10 | synthetic splat argument | | params_flow.rb:105:21:105:22 | 52 | type tracker without call steps | params_flow.rb:105:15:105:23 | call to taint | | params_flow.rb:105:21:105:22 | 52 | type tracker without call steps | params_flow.rb:105:21:105:22 | 52 | @@ -1999,16 +1974,13 @@ track | params_flow.rb:105:21:105:22 | 52 | type tracker without call steps with content element 0 | params_flow.rb:105:15:105:23 | synthetic splat argument | | params_flow.rb:105:26:105:48 | * ... | type tracker without call steps | params_flow.rb:105:26:105:48 | * ... | | params_flow.rb:105:27:105:48 | Array | type tracker without call steps | params_flow.rb:105:27:105:48 | Array | -| params_flow.rb:105:27:105:48 | call to [] | type tracker with call steps with content element 1 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:27:105:48 | call to [] | type tracker without call steps | params_flow.rb:105:27:105:48 | call to [] | | params_flow.rb:105:27:105:48 | call to [] | type tracker without call steps with content element 0 or unknown | params_flow.rb:105:26:105:48 | * ... | | params_flow.rb:105:27:105:48 | call to [] | type tracker without call steps with content element 1 | params_flow.rb:105:1:105:49 | synthetic splat argument | -| params_flow.rb:105:27:105:48 | synthetic splat argument | type tracker with call steps with content element 1 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:27:105:48 | synthetic splat argument | type tracker without call steps | params_flow.rb:105:27:105:48 | call to [] | | params_flow.rb:105:27:105:48 | synthetic splat argument | type tracker without call steps | params_flow.rb:105:27:105:48 | synthetic splat argument | | params_flow.rb:105:27:105:48 | synthetic splat argument | type tracker without call steps with content element 0 or unknown | params_flow.rb:105:26:105:48 | * ... | | params_flow.rb:105:27:105:48 | synthetic splat argument | type tracker without call steps with content element 1 | params_flow.rb:105:1:105:49 | synthetic splat argument | -| params_flow.rb:105:28:105:36 | call to taint | type tracker with call steps with content element 1 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:28:105:36 | call to taint | type tracker without call steps | params_flow.rb:105:28:105:36 | call to taint | | params_flow.rb:105:28:105:36 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:105:26:105:48 | * ... | | params_flow.rb:105:28:105:36 | call to taint | type tracker without call steps with content element 0 | params_flow.rb:105:27:105:48 | call to [] | @@ -2016,7 +1988,6 @@ track | params_flow.rb:105:28:105:36 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:105:1:105:49 | synthetic splat argument | | params_flow.rb:105:28:105:36 | synthetic splat argument | type tracker without call steps | params_flow.rb:105:28:105:36 | synthetic splat argument | | params_flow.rb:105:34:105:35 | 53 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:105:34:105:35 | 53 | type tracker with call steps with content element 1 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:34:105:35 | 53 | type tracker without call steps | params_flow.rb:105:28:105:36 | call to taint | | params_flow.rb:105:34:105:35 | 53 | type tracker without call steps | params_flow.rb:105:34:105:35 | 53 | | params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content element 0 | params_flow.rb:105:26:105:48 | * ... | @@ -2024,7 +1995,6 @@ track | params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content element 0 | params_flow.rb:105:27:105:48 | synthetic splat argument | | params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content element 0 | params_flow.rb:105:28:105:36 | synthetic splat argument | | params_flow.rb:105:34:105:35 | 53 | type tracker without call steps with content element 1 | params_flow.rb:105:1:105:49 | synthetic splat argument | -| params_flow.rb:105:39:105:47 | call to taint | type tracker with call steps with content element 2 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:39:105:47 | call to taint | type tracker without call steps | params_flow.rb:105:39:105:47 | call to taint | | params_flow.rb:105:39:105:47 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:105:26:105:48 | * ... | | params_flow.rb:105:39:105:47 | call to taint | type tracker without call steps with content element 1 | params_flow.rb:105:27:105:48 | call to [] | @@ -2032,7 +2002,6 @@ track | params_flow.rb:105:39:105:47 | call to taint | type tracker without call steps with content element 2 | params_flow.rb:105:1:105:49 | synthetic splat argument | | params_flow.rb:105:39:105:47 | synthetic splat argument | type tracker without call steps | params_flow.rb:105:39:105:47 | synthetic splat argument | | params_flow.rb:105:45:105:46 | 54 | type tracker with call steps | params_flow.rb:1:11:1:11 | x | -| params_flow.rb:105:45:105:46 | 54 | type tracker with call steps with content element 2 | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:45:105:46 | 54 | type tracker without call steps | params_flow.rb:105:39:105:47 | call to taint | | params_flow.rb:105:45:105:46 | 54 | type tracker without call steps | params_flow.rb:105:45:105:46 | 54 | | params_flow.rb:105:45:105:46 | 54 | type tracker without call steps with content element 0 | params_flow.rb:105:39:105:47 | synthetic splat argument | @@ -4438,7 +4407,6 @@ trackEnd | params_flow.rb:57:15:57:16 | 22 | params_flow.rb:57:9:57:17 | call to taint | | params_flow.rb:57:15:57:16 | 22 | params_flow.rb:57:15:57:16 | 22 | | params_flow.rb:58:1:58:25 | call to posargs | params_flow.rb:58:1:58:25 | call to posargs | -| params_flow.rb:58:1:58:25 | synthetic splat argument | params_flow.rb:49:1:53:3 | synthetic splat parameter | | params_flow.rb:58:1:58:25 | synthetic splat argument | params_flow.rb:58:1:58:25 | synthetic splat argument | | params_flow.rb:58:9:58:17 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:58:9:58:17 | call to taint | params_flow.rb:5:10:5:10 | x | @@ -5032,7 +5000,6 @@ trackEnd | params_flow.rb:94:45:94:46 | 44 | params_flow.rb:94:39:94:47 | call to taint | | params_flow.rb:94:45:94:46 | 44 | params_flow.rb:94:45:94:46 | 44 | | params_flow.rb:96:1:96:88 | call to splatmid | params_flow.rb:96:1:96:88 | call to splatmid | -| params_flow.rb:96:1:96:88 | synthetic splat argument | params_flow.rb:69:1:76:3 | synthetic splat parameter | | params_flow.rb:96:1:96:88 | synthetic splat argument | params_flow.rb:96:1:96:88 | synthetic splat argument | | params_flow.rb:96:10:96:18 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:96:10:96:18 | call to taint | params_flow.rb:5:10:5:10 | x | @@ -5166,7 +5133,6 @@ trackEnd | params_flow.rb:102:5:102:10 | call to sink | params_flow.rb:106:1:106:46 | call to splatmidsmall | | params_flow.rb:102:5:102:10 | synthetic splat argument | params_flow.rb:102:5:102:10 | synthetic splat argument | | params_flow.rb:105:1:105:49 | call to splatmidsmall | params_flow.rb:105:1:105:49 | call to splatmidsmall | -| params_flow.rb:105:1:105:49 | synthetic splat argument | params_flow.rb:98:1:103:3 | synthetic splat parameter | | params_flow.rb:105:1:105:49 | synthetic splat argument | params_flow.rb:105:1:105:49 | synthetic splat argument | | params_flow.rb:105:15:105:23 | call to taint | params_flow.rb:5:10:5:10 | x | | params_flow.rb:105:15:105:23 | call to taint | params_flow.rb:5:10:5:10 | x | From fd311d5143de10e8f1f7611b8a68454721beb7f4 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Fri, 16 Aug 2024 16:09:55 +0200 Subject: [PATCH 127/258] Java: Add some summary debugging queries. --- .../debug/CaptureSummaryModelsPartialPath.ql | 28 +++++++++++++++++++ .../debug/CaptureSummaryModelsPath.ql | 25 +++++++++++++++++ .../src/utils/modelgenerator/debug/README.md | 1 + .../modelgenerator/internal/CaptureModels.qll | 23 ++++++++++----- 4 files changed, 70 insertions(+), 7 deletions(-) create mode 100644 java/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPartialPath.ql create mode 100644 java/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPath.ql create mode 100644 java/ql/src/utils/modelgenerator/debug/README.md diff --git a/java/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPartialPath.ql b/java/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPartialPath.ql new file mode 100644 index 00000000000..2b8a6e220f8 --- /dev/null +++ b/java/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPartialPath.ql @@ -0,0 +1,28 @@ +/** + * @name Capture Summary Models Partial Path + * @description Capture Summary Models Partial Path + * @kind path-problem + * @precision low + * @id java/utils/modelgenerator/summary-models-partial-path + * @severity info + * @tags modelgenerator + */ + +import java +import semmle.code.java.dataflow.DataFlow +import utils.modelgenerator.internal.CaptureModels +import PartialFlow::PartialPathGraph + +int explorationLimit() { result = 3 } + +module PartialFlow = PropagateFlow::FlowExplorationFwd; + +from + PartialFlow::PartialPathNode source, PartialFlow::PartialPathNode sink, + DataFlowSummaryTargetApi api, DataFlow::ParameterNode p +where + PartialFlow::partialFlow(source, sink, _) and + p = source.getNode() and + p.asParameter() = api.getParameter(0) +select sink.getNode(), source, sink, "There is flow from a $@ to $@.", source.getNode(), + "parameter", sink.getNode(), "intermediate value" diff --git a/java/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPath.ql b/java/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPath.ql new file mode 100644 index 00000000000..88d45dc1f5b --- /dev/null +++ b/java/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPath.ql @@ -0,0 +1,25 @@ +/** + * @name Capture Summary Models Path + * @description Capture Summary Models Path + * @kind path-problem + * @precision low + * @id java/utils/modelgenerator/summary-models-path + * @severity warning + * @tags modelgenerator + */ + +import java +import semmle.code.java.dataflow.DataFlow +import utils.modelgenerator.internal.CaptureModels +import PropagateFlow::PathGraph + +from + PropagateFlow::PathNode source, PropagateFlow::PathNode sink, DataFlowSummaryTargetApi api, + DataFlow::Node p, DataFlow::Node returnNodeExt +where + PropagateFlow::flowPath(source, sink) and + p = source.getNode() and + returnNodeExt = sink.getNode() and + exists(captureThroughFlow0(api, p, returnNodeExt)) +select sink.getNode(), source, sink, "There is flow from $@ to the $@.", source.getNode(), + "parameter", sink.getNode(), "return value" diff --git a/java/ql/src/utils/modelgenerator/debug/README.md b/java/ql/src/utils/modelgenerator/debug/README.md new file mode 100644 index 00000000000..8d01e511882 --- /dev/null +++ b/java/ql/src/utils/modelgenerator/debug/README.md @@ -0,0 +1 @@ +The queries in this directory are purely used for model generator debugging purposes in VS Code. diff --git a/java/ql/src/utils/modelgenerator/internal/CaptureModels.qll b/java/ql/src/utils/modelgenerator/internal/CaptureModels.qll index b8bc01f0800..ae8c2cad891 100644 --- a/java/ql/src/utils/modelgenerator/internal/CaptureModels.qll +++ b/java/ql/src/utils/modelgenerator/internal/CaptureModels.qll @@ -196,14 +196,13 @@ module PropagateFlowConfig implements DataFlow::StateConfigSig { } } -private module PropagateFlow = TaintTracking::GlobalWithState; +module PropagateFlow = TaintTracking::GlobalWithState; -/** - * Gets the summary model(s) of `api`, if there is flow from parameters to return value or parameter. - */ -string captureThroughFlow(DataFlowSummaryTargetApi api) { - exists(DataFlow::ParameterNode p, ReturnNodeExt returnNodeExt, string input, string output | - PropagateFlow::flow(p, returnNodeExt) and +string captureThroughFlow0( + DataFlowSummaryTargetApi api, DataFlow::ParameterNode p, ReturnNodeExt returnNodeExt +) { + exists(string input, string output | + p.getEnclosingCallable() = api and returnNodeExt.(DataFlow::Node).getEnclosingCallable() = api and input = parameterNodeAsInput(p) and output = returnNodeExt.getOutput() and @@ -212,6 +211,16 @@ string captureThroughFlow(DataFlowSummaryTargetApi api) { ) } +/** + * Gets the summary model(s) of `api`, if there is flow from parameters to return value or parameter. + */ +string captureThroughFlow(DataFlowSummaryTargetApi api) { + exists(DataFlow::ParameterNode p, ReturnNodeExt returnNodeExt | + PropagateFlow::flow(p, returnNodeExt) and + result = captureThroughFlow0(api, p, returnNodeExt) + ) +} + /** * A dataflow configuration used for finding new sources. * The sources are the already known existing sources and the sinks are the API return nodes. From 6ea01b81bbdd865a092130b397da0366e9b6cf98 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 20 Aug 2024 16:23:22 +0200 Subject: [PATCH 128/258] C#: Add some summary debugging queries. --- .../debug/CaptureSummaryModelsPartialPath.ql | 27 +++++++++++++++++++ .../debug/CaptureSummaryModelsPath.ql | 24 +++++++++++++++++ .../src/utils/modelgenerator/debug/README.md | 1 + .../modelgenerator/internal/CaptureModels.qll | 23 +++++++++++----- 4 files changed, 68 insertions(+), 7 deletions(-) create mode 100644 csharp/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPartialPath.ql create mode 100644 csharp/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPath.ql create mode 100644 csharp/ql/src/utils/modelgenerator/debug/README.md diff --git a/csharp/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPartialPath.ql b/csharp/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPartialPath.ql new file mode 100644 index 00000000000..614fb7630b4 --- /dev/null +++ b/csharp/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPartialPath.ql @@ -0,0 +1,27 @@ +/** + * @name Capture Summary Models Partial Path + * @description Capture Summary Models Partial Path + * @kind path-problem + * @precision low + * @id csharp/utils/modelgenerator/summary-models-partial-path + * @severity info + * @tags modelgenerator + */ + +import csharp +import utils.modelgenerator.internal.CaptureModels +import PartialFlow::PartialPathGraph + +int explorationLimit() { result = 3 } + +module PartialFlow = PropagateFlow::FlowExplorationFwd; + +from + PartialFlow::PartialPathNode source, PartialFlow::PartialPathNode sink, + DataFlowSummaryTargetApi api, DataFlow::ParameterNode p +where + PartialFlow::partialFlow(source, sink, _) and + p = source.getNode() and + p.asParameter() = api.getParameter(0) +select sink.getNode(), source, sink, "There is flow from a $@ to $@.", source.getNode(), + "parameter", sink.getNode(), "intermediate value" diff --git a/csharp/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPath.ql b/csharp/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPath.ql new file mode 100644 index 00000000000..7be5a1fc00e --- /dev/null +++ b/csharp/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPath.ql @@ -0,0 +1,24 @@ +/** + * @name Capture Summary Models Path + * @description Capture Summary Models Path + * @kind path-problem + * @precision low + * @id csharp/utils/modelgenerator/summary-models-path + * @severity warning + * @tags modelgenerator + */ + +import csharp +import utils.modelgenerator.internal.CaptureModels +import PropagateFlow::PathGraph + +from + PropagateFlow::PathNode source, PropagateFlow::PathNode sink, DataFlowSummaryTargetApi api, + DataFlow::Node p, DataFlow::Node returnNodeExt +where + PropagateFlow::flowPath(source, sink) and + p = source.getNode() and + returnNodeExt = sink.getNode() and + exists(captureThroughFlow0(api, p, returnNodeExt)) +select sink.getNode(), source, sink, "There is flow from $@ to the $@.", source.getNode(), + "parameter", sink.getNode(), "return value" diff --git a/csharp/ql/src/utils/modelgenerator/debug/README.md b/csharp/ql/src/utils/modelgenerator/debug/README.md new file mode 100644 index 00000000000..8d01e511882 --- /dev/null +++ b/csharp/ql/src/utils/modelgenerator/debug/README.md @@ -0,0 +1 @@ +The queries in this directory are purely used for model generator debugging purposes in VS Code. diff --git a/csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll b/csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll index b8bc01f0800..ae8c2cad891 100644 --- a/csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll +++ b/csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll @@ -196,14 +196,13 @@ module PropagateFlowConfig implements DataFlow::StateConfigSig { } } -private module PropagateFlow = TaintTracking::GlobalWithState; +module PropagateFlow = TaintTracking::GlobalWithState; -/** - * Gets the summary model(s) of `api`, if there is flow from parameters to return value or parameter. - */ -string captureThroughFlow(DataFlowSummaryTargetApi api) { - exists(DataFlow::ParameterNode p, ReturnNodeExt returnNodeExt, string input, string output | - PropagateFlow::flow(p, returnNodeExt) and +string captureThroughFlow0( + DataFlowSummaryTargetApi api, DataFlow::ParameterNode p, ReturnNodeExt returnNodeExt +) { + exists(string input, string output | + p.getEnclosingCallable() = api and returnNodeExt.(DataFlow::Node).getEnclosingCallable() = api and input = parameterNodeAsInput(p) and output = returnNodeExt.getOutput() and @@ -212,6 +211,16 @@ string captureThroughFlow(DataFlowSummaryTargetApi api) { ) } +/** + * Gets the summary model(s) of `api`, if there is flow from parameters to return value or parameter. + */ +string captureThroughFlow(DataFlowSummaryTargetApi api) { + exists(DataFlow::ParameterNode p, ReturnNodeExt returnNodeExt | + PropagateFlow::flow(p, returnNodeExt) and + result = captureThroughFlow0(api, p, returnNodeExt) + ) +} + /** * A dataflow configuration used for finding new sources. * The sources are the already known existing sources and the sinks are the API return nodes. From 658326d7f269a9b881a2d875ee1ec8ca32b06f5a Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Tue, 20 Aug 2024 16:42:49 +0200 Subject: [PATCH 129/258] Work around some instability on Windows --- .../cshtml_standalone_net6/Files.expected | 2 +- .../all-platforms/cshtml_standalone_net6/Files.ql | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_net6/Files.expected b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_net6/Files.expected index 4b1c2d02005..65357c4e360 100644 --- a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_net6/Files.expected +++ b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_net6/Files.expected @@ -1,4 +1,4 @@ | Program.cs | | Views/Home/Index.cshtml | | test-db/working/implicitUsings/GlobalUsings.g.cs | -| test-db/working/razor/EC52D77FE9BF67AD10C5C3F248392316/Microsoft.NET.Sdk.Razor.SourceGenerators/Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator/[...]_ql_csharp_ql_integration_tests_all_platforms_cshtml_standalone_net6_test_test_Views_Home_Index_cshtml.g.cs | +| test-db/working/razor/EC52D77FE9BF67AD10C5C3F248392316/[...]/Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator/[...]_ql_csharp_ql_integration_tests_all_platforms_cshtml_standalone_net6_test_test_Views_Home_Index_cshtml.g.cs | diff --git a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_net6/Files.ql b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_net6/Files.ql index 2ab3af8e13e..f59129efe94 100644 --- a/csharp/ql/integration-tests/all-platforms/cshtml_standalone_net6/Files.ql +++ b/csharp/ql/integration-tests/all-platforms/cshtml_standalone_net6/Files.ql @@ -4,14 +4,18 @@ private string getPath(File f) { result = f.getRelativePath() and not exists(result.indexOf("_ql_csharp_ql_integration_tests_all_platforms_cshtml_standalone_")) or - exists(int index1, int index2, string pattern | - pattern = "Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator" and - index1 = f.getRelativePath().indexOf(pattern) and + exists(int index0, int index1, int index2, string pattern0, string pattern1 | + // TODO: Remove index0 and pattern0. Currently there's some instability in the path depending on which dotnet SDK is being used. (See issue #448) + pattern0 = "EC52D77FE9BF67AD10C5C3F248392316" and + index0 = f.getRelativePath().indexOf(pattern0) and + pattern1 = "Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator" and + index1 = f.getRelativePath().indexOf(pattern1) and index2 = f.getRelativePath() .indexOf("_ql_csharp_ql_integration_tests_all_platforms_cshtml_standalone_") and result = - f.getRelativePath().substring(0, index1 + pattern.length()) + "/[...]" + + f.getRelativePath().substring(0, index0 + pattern0.length()) + "/[...]/" + + f.getRelativePath().substring(index1, index1 + pattern1.length()) + "/[...]" + f.getRelativePath().substring(index2, f.getRelativePath().length()) ) } From 73674e72e6ae988ad19cf5a89b54d3d732fb01a9 Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Tue, 20 Aug 2024 16:51:32 +0200 Subject: [PATCH 130/258] Use cancallation token in download stream copying --- csharp/extractor/Semmle.Util/FileUtils.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csharp/extractor/Semmle.Util/FileUtils.cs b/csharp/extractor/Semmle.Util/FileUtils.cs index 70aca8fc68c..0a606e82574 100644 --- a/csharp/extractor/Semmle.Util/FileUtils.cs +++ b/csharp/extractor/Semmle.Util/FileUtils.cs @@ -104,7 +104,7 @@ namespace Semmle.Util { using var contentStream = await httpClient.GetStreamAsync(address, token); using var stream = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.None, 4096, true); - await contentStream.CopyToAsync(stream, CancellationToken.None); + await contentStream.CopyToAsync(stream, token); } private static void DownloadFileWithRetry(string address, string fileName, int tryCount, int timeoutMilliSeconds, ILogger logger) From 21366dd5023b588215a9820f541b4c3a3e38700f Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 14 Aug 2024 17:57:24 +0100 Subject: [PATCH 131/258] Go / configure-baseline: account for multiple vendor directories and the `CODEQL_EXTRACTOR_GO_EXTRACT_VENDOR_DIRS` setting Our existing configure-baseline scripts would give the wrong result if a `vendor` directory wasn't at the root of the repository, or if the `CODEQL_EXTRACTOR_GO_EXTRACT_VENDOR_DIRS` variable was set to `true` indicating the user wants their vendored code scanned. Here I replace the shell scripts that implemented the very simplest behaviour with a small Go program. --- go/BUILD.bazel | 1 + go/codeql-tools/baseline-config-empty.json | 3 -- go/codeql-tools/baseline-config-vendor.json | 5 -- go/codeql-tools/configure-baseline.cmd | 11 +++-- go/codeql-tools/configure-baseline.sh | 6 +-- .../cli/go-configure-baseline/BUILD.bazel | 18 +++++++ .../go-configure-baseline.go | 14 ++++++ go/extractor/configurebaseline/BUILD.bazel | 10 ++++ .../configurebaseline/configurebaseline.go | 48 +++++++++++++++++++ 9 files changed, 98 insertions(+), 18 deletions(-) delete mode 100644 go/codeql-tools/baseline-config-empty.json delete mode 100644 go/codeql-tools/baseline-config-vendor.json create mode 100644 go/extractor/cli/go-configure-baseline/BUILD.bazel create mode 100644 go/extractor/cli/go-configure-baseline/go-configure-baseline.go create mode 100644 go/extractor/configurebaseline/BUILD.bazel create mode 100644 go/extractor/configurebaseline/configurebaseline.go diff --git a/go/BUILD.bazel b/go/BUILD.bazel index 936c86e0ed1..931f061da9e 100644 --- a/go/BUILD.bazel +++ b/go/BUILD.bazel @@ -47,6 +47,7 @@ codeql_pkg_files( "//go/extractor/cli/go-autobuilder", "//go/extractor/cli/go-bootstrap", "//go/extractor/cli/go-build-runner", + "//go/extractor/cli/go-configure-baseline", "//go/extractor/cli/go-extractor", "//go/extractor/cli/go-gen-dbscheme", "//go/extractor/cli/go-tokenizer", diff --git a/go/codeql-tools/baseline-config-empty.json b/go/codeql-tools/baseline-config-empty.json deleted file mode 100644 index 568d688fc3f..00000000000 --- a/go/codeql-tools/baseline-config-empty.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "paths-ignore": [] -} \ No newline at end of file diff --git a/go/codeql-tools/baseline-config-vendor.json b/go/codeql-tools/baseline-config-vendor.json deleted file mode 100644 index d2f654073b0..00000000000 --- a/go/codeql-tools/baseline-config-vendor.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "paths-ignore": [ - "vendor/**" - ] -} \ No newline at end of file diff --git a/go/codeql-tools/configure-baseline.cmd b/go/codeql-tools/configure-baseline.cmd index 285c3d66829..03edd525f3e 100644 --- a/go/codeql-tools/configure-baseline.cmd +++ b/go/codeql-tools/configure-baseline.cmd @@ -1,6 +1,7 @@ @echo off -if exist vendor\modules.txt ( - type "%CODEQL_EXTRACTOR_GO_ROOT%\tools\baseline-config-vendor.json" -) else ( - type "%CODEQL_EXTRACTOR_GO_ROOT%\tools\baseline-config-empty.json" -) +SETLOCAL EnableDelayedExpansion + +type NUL && "%CODEQL_EXTRACTOR_GO_ROOT%/tools/%CODEQL_PLATFORM%/go-configure-baseline.exe" +exit /b %ERRORLEVEL% + +ENDLOCAL diff --git a/go/codeql-tools/configure-baseline.sh b/go/codeql-tools/configure-baseline.sh index f426773c3ba..20edf8b4c93 100755 --- a/go/codeql-tools/configure-baseline.sh +++ b/go/codeql-tools/configure-baseline.sh @@ -1,7 +1,3 @@ #!/bin/sh -if [ -f vendor/modules.txt ]; then - cat "$CODEQL_EXTRACTOR_GO_ROOT/tools/baseline-config-vendor.json" -else - cat "$CODEQL_EXTRACTOR_GO_ROOT/tools/baseline-config-empty.json" -fi +"$CODEQL_EXTRACTOR_GO_ROOT/tools/$CODEQL_PLATFORM/go-configure-baseline" diff --git a/go/extractor/cli/go-configure-baseline/BUILD.bazel b/go/extractor/cli/go-configure-baseline/BUILD.bazel new file mode 100644 index 00000000000..df1af64d6a3 --- /dev/null +++ b/go/extractor/cli/go-configure-baseline/BUILD.bazel @@ -0,0 +1,18 @@ +# generated running `bazel run //go/gazelle`, do not edit + +load("@rules_go//go:def.bzl", "go_library") +load("//go:rules.bzl", "codeql_go_binary") + +go_library( + name = "go-configure-baseline_lib", + srcs = ["go-configure-baseline.go"], + importpath = "github.com/github/codeql-go/extractor/cli/go-configure-baseline", + visibility = ["//visibility:private"], + deps = ["//go/extractor/configurebaseline"], +) + +codeql_go_binary( + name = "go-configure-baseline", + embed = [":go-configure-baseline_lib"], + visibility = ["//visibility:public"], +) diff --git a/go/extractor/cli/go-configure-baseline/go-configure-baseline.go b/go/extractor/cli/go-configure-baseline/go-configure-baseline.go new file mode 100644 index 00000000000..b7f88230267 --- /dev/null +++ b/go/extractor/cli/go-configure-baseline/go-configure-baseline.go @@ -0,0 +1,14 @@ +package main + +import ( + "github.com/github/codeql-go/extractor/configurebaseline" +) + +func main() { + jsonResult, err := configurebaseline.GetConfigBaselineAsJSON(".") + if err != nil { + panic(err) + } else { + println(string(jsonResult)) + } +} diff --git a/go/extractor/configurebaseline/BUILD.bazel b/go/extractor/configurebaseline/BUILD.bazel new file mode 100644 index 00000000000..7c5161683f5 --- /dev/null +++ b/go/extractor/configurebaseline/BUILD.bazel @@ -0,0 +1,10 @@ +# generated running `bazel run //go/gazelle`, do not edit + +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "configurebaseline", + srcs = ["configurebaseline.go"], + importpath = "github.com/github/codeql-go/extractor/configurebaseline", + visibility = ["//visibility:public"], +) diff --git a/go/extractor/configurebaseline/configurebaseline.go b/go/extractor/configurebaseline/configurebaseline.go new file mode 100644 index 00000000000..b8bab4eeb95 --- /dev/null +++ b/go/extractor/configurebaseline/configurebaseline.go @@ -0,0 +1,48 @@ +package configurebaseline + +import ( + "encoding/json" + "io/fs" + "os" + "path" + "path/filepath" +) + +func fileExists(path string) bool { + stat, err := os.Stat(path) + return err == nil && stat.Mode().IsRegular() +} + +func isGolangVendorDirectory(dirPath string) bool { + // Call a directory a Golang vendor directory if it contains a modules.txt file. + return path.Base(dirPath) == "vendor" && fileExists(path.Join(dirPath, "modules.txt")) +} + +type PathsIgnoreStruct struct { + PathsIgnore []string `json:"paths-ignore"` +} + +func GetConfigBaselineAsJSON(rootDir string) ([]byte, error) { + vendorDirs := make([]string, 0) + + // If CODEQL_EXTRACTOR_GO_EXTRACT_VENDOR_DIRS is "true": + if os.Getenv("CODEQL_EXTRACTOR_GO_EXTRACT_VENDOR_DIRS") == "true" { + // The user wants vendor directories scanned; emit an empty report. + } else { + filepath.WalkDir(rootDir, func(dirPath string, d fs.DirEntry, err error) error { + if err != nil { + // Mask any unreadable paths. + return nil + } + if isGolangVendorDirectory(dirPath) { + vendorDirs = append(vendorDirs, path.Join(dirPath, "**")) + return filepath.SkipDir + } else { + return nil + } + }) + } + + outputStruct := PathsIgnoreStruct{PathsIgnore: vendorDirs} + return json.Marshal(outputStruct) +} From 624d2b83c04928f32e27f585cac8712aaa8f13db Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Mon, 19 Aug 2024 17:40:27 +0100 Subject: [PATCH 132/258] Tidy comments --- go/extractor/configurebaseline/configurebaseline.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go/extractor/configurebaseline/configurebaseline.go b/go/extractor/configurebaseline/configurebaseline.go index b8bab4eeb95..5ed112c624b 100644 --- a/go/extractor/configurebaseline/configurebaseline.go +++ b/go/extractor/configurebaseline/configurebaseline.go @@ -13,8 +13,9 @@ func fileExists(path string) bool { return err == nil && stat.Mode().IsRegular() } +// Decides if `dirPath` is a vendor directory by testing whether it is called `vendor` +// and contains a `modules.txt` file. func isGolangVendorDirectory(dirPath string) bool { - // Call a directory a Golang vendor directory if it contains a modules.txt file. return path.Base(dirPath) == "vendor" && fileExists(path.Join(dirPath, "modules.txt")) } @@ -25,7 +26,6 @@ type PathsIgnoreStruct struct { func GetConfigBaselineAsJSON(rootDir string) ([]byte, error) { vendorDirs := make([]string, 0) - // If CODEQL_EXTRACTOR_GO_EXTRACT_VENDOR_DIRS is "true": if os.Getenv("CODEQL_EXTRACTOR_GO_EXTRACT_VENDOR_DIRS") == "true" { // The user wants vendor directories scanned; emit an empty report. } else { From 5d34dbf2c296db396a7ab84161c5edb21111b00d Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Mon, 19 Aug 2024 17:49:48 +0100 Subject: [PATCH 133/258] Remove unnecessary batch script flag --- go/codeql-tools/configure-baseline.cmd | 3 --- 1 file changed, 3 deletions(-) diff --git a/go/codeql-tools/configure-baseline.cmd b/go/codeql-tools/configure-baseline.cmd index 03edd525f3e..47789cfbd3a 100644 --- a/go/codeql-tools/configure-baseline.cmd +++ b/go/codeql-tools/configure-baseline.cmd @@ -1,7 +1,4 @@ @echo off -SETLOCAL EnableDelayedExpansion type NUL && "%CODEQL_EXTRACTOR_GO_ROOT%/tools/%CODEQL_PLATFORM%/go-configure-baseline.exe" exit /b %ERRORLEVEL% - -ENDLOCAL From 22802fd41fea6b854ab54f9afe30e36abd6c9018 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Mon, 19 Aug 2024 17:50:53 +0100 Subject: [PATCH 134/258] Improve struct naming --- go/extractor/configurebaseline/configurebaseline.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go/extractor/configurebaseline/configurebaseline.go b/go/extractor/configurebaseline/configurebaseline.go index 5ed112c624b..59075b07239 100644 --- a/go/extractor/configurebaseline/configurebaseline.go +++ b/go/extractor/configurebaseline/configurebaseline.go @@ -19,7 +19,7 @@ func isGolangVendorDirectory(dirPath string) bool { return path.Base(dirPath) == "vendor" && fileExists(path.Join(dirPath, "modules.txt")) } -type PathsIgnoreStruct struct { +type BaselineConfig struct { PathsIgnore []string `json:"paths-ignore"` } @@ -43,6 +43,6 @@ func GetConfigBaselineAsJSON(rootDir string) ([]byte, error) { }) } - outputStruct := PathsIgnoreStruct{PathsIgnore: vendorDirs} + outputStruct := BaselineConfig{PathsIgnore: vendorDirs} return json.Marshal(outputStruct) } From f1f6f9b580a11977fa31a3da1992b7fb6f70fd15 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Mon, 19 Aug 2024 17:55:42 +0100 Subject: [PATCH 135/258] Share vendor-dir extraction logic between extractor and configure-baseline script --- go/extractor/configurebaseline/configurebaseline.go | 4 +++- go/extractor/extractor.go | 2 +- go/extractor/util/extractvendordirs.go | 9 +++++++++ 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 go/extractor/util/extractvendordirs.go diff --git a/go/extractor/configurebaseline/configurebaseline.go b/go/extractor/configurebaseline/configurebaseline.go index 59075b07239..e318111fef9 100644 --- a/go/extractor/configurebaseline/configurebaseline.go +++ b/go/extractor/configurebaseline/configurebaseline.go @@ -6,6 +6,8 @@ import ( "os" "path" "path/filepath" + + "github.com/github/codeql-go/extractor/util" ) func fileExists(path string) bool { @@ -26,7 +28,7 @@ type BaselineConfig struct { func GetConfigBaselineAsJSON(rootDir string) ([]byte, error) { vendorDirs := make([]string, 0) - if os.Getenv("CODEQL_EXTRACTOR_GO_EXTRACT_VENDOR_DIRS") == "true" { + if util.IsVendorDirExtractionEnabled() { // The user wants vendor directories scanned; emit an empty report. } else { filepath.WalkDir(rootDir, func(dirPath string, d fs.DirEntry, err error) error { diff --git a/go/extractor/extractor.go b/go/extractor/extractor.go index df3a43f80cf..4926d8e3e13 100644 --- a/go/extractor/extractor.go +++ b/go/extractor/extractor.go @@ -199,7 +199,7 @@ func ExtractWithFlags(buildFlags []string, patterns []string) error { // If CODEQL_EXTRACTOR_GO_EXTRACT_VENDOR_DIRS is "true", we extract `vendor` directories; // otherwise (the default) is to exclude them from extraction - includeVendor := os.Getenv("CODEQL_EXTRACTOR_GO_EXTRACT_VENDOR_DIRS") == "true" + includeVendor := util.IsVendorDirExtractionEnabled() if !includeVendor { excludedDirs = append(excludedDirs, "vendor") } diff --git a/go/extractor/util/extractvendordirs.go b/go/extractor/util/extractvendordirs.go new file mode 100644 index 00000000000..778d5120cf2 --- /dev/null +++ b/go/extractor/util/extractvendordirs.go @@ -0,0 +1,9 @@ +package util + +import ( + "os" +) + +func IsVendorDirExtractionEnabled() bool { + return os.Getenv("CODEQL_EXTRACTOR_GO_EXTRACT_VENDOR_DIRS") == "true" +} From ea3e5c8a99011495c02e9ae2a8ff0afbc6a02234 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Mon, 19 Aug 2024 17:57:12 +0100 Subject: [PATCH 136/258] Clarify comment --- go/extractor/configurebaseline/configurebaseline.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/go/extractor/configurebaseline/configurebaseline.go b/go/extractor/configurebaseline/configurebaseline.go index e318111fef9..fa8023f24a8 100644 --- a/go/extractor/configurebaseline/configurebaseline.go +++ b/go/extractor/configurebaseline/configurebaseline.go @@ -33,7 +33,8 @@ func GetConfigBaselineAsJSON(rootDir string) ([]byte, error) { } else { filepath.WalkDir(rootDir, func(dirPath string, d fs.DirEntry, err error) error { if err != nil { - // Mask any unreadable paths. + // Ignore any unreadable paths -- if this script can't see it, very likely + // it will not be extracted either. return nil } if isGolangVendorDirectory(dirPath) { From 8b9617cd3810c07a32ec173a1b47747d4f258008 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Tue, 20 Aug 2024 15:55:02 +0100 Subject: [PATCH 137/258] Update bazel build files --- go/extractor/configurebaseline/BUILD.bazel | 1 + go/extractor/util/BUILD.bazel | 1 + 2 files changed, 2 insertions(+) diff --git a/go/extractor/configurebaseline/BUILD.bazel b/go/extractor/configurebaseline/BUILD.bazel index 7c5161683f5..b12e89abaf3 100644 --- a/go/extractor/configurebaseline/BUILD.bazel +++ b/go/extractor/configurebaseline/BUILD.bazel @@ -7,4 +7,5 @@ go_library( srcs = ["configurebaseline.go"], importpath = "github.com/github/codeql-go/extractor/configurebaseline", visibility = ["//visibility:public"], + deps = ["//go/extractor/util"], ) diff --git a/go/extractor/util/BUILD.bazel b/go/extractor/util/BUILD.bazel index d0195e05be2..b7a7783aa79 100644 --- a/go/extractor/util/BUILD.bazel +++ b/go/extractor/util/BUILD.bazel @@ -5,6 +5,7 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "util", srcs = [ + "extractvendordirs.go", "semver.go", "util.go", ], From 15b5bcc67c7028a95e792e00bea91bd163eaa90a Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Tue, 20 Aug 2024 17:01:54 +0100 Subject: [PATCH 138/258] Output to stdout, not stderr --- .../cli/go-configure-baseline/go-configure-baseline.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/go/extractor/cli/go-configure-baseline/go-configure-baseline.go b/go/extractor/cli/go-configure-baseline/go-configure-baseline.go index b7f88230267..c8159908e0a 100644 --- a/go/extractor/cli/go-configure-baseline/go-configure-baseline.go +++ b/go/extractor/cli/go-configure-baseline/go-configure-baseline.go @@ -1,6 +1,8 @@ package main import ( + "fmt" + "github.com/github/codeql-go/extractor/configurebaseline" ) @@ -9,6 +11,6 @@ func main() { if err != nil { panic(err) } else { - println(string(jsonResult)) + fmt.Println(string(jsonResult)) } } From 3acab640b2b990857f9ecad64a8ee166bc109310 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Tue, 20 Aug 2024 17:07:09 +0100 Subject: [PATCH 139/258] Add configure-baseline integration test --- .../go/configure-baseline/src/a/vendor/avendor.go | 1 + .../go/configure-baseline/src/a/vendor/modules.txt | 0 .../go/configure-baseline/src/b/vendor/bvendor.go | 1 + .../go/configure-baseline/src/b/vendor/modules.txt | 0 .../go/configure-baseline/src/c/vendor/cvendor.go | 1 + .../all-platforms/go/configure-baseline/src/root.go | 1 + .../all-platforms/go/configure-baseline/test.py | 9 +++++++++ 7 files changed, 13 insertions(+) create mode 100644 go/ql/integration-tests/all-platforms/go/configure-baseline/src/a/vendor/avendor.go create mode 100644 go/ql/integration-tests/all-platforms/go/configure-baseline/src/a/vendor/modules.txt create mode 100644 go/ql/integration-tests/all-platforms/go/configure-baseline/src/b/vendor/bvendor.go create mode 100644 go/ql/integration-tests/all-platforms/go/configure-baseline/src/b/vendor/modules.txt create mode 100644 go/ql/integration-tests/all-platforms/go/configure-baseline/src/c/vendor/cvendor.go create mode 100644 go/ql/integration-tests/all-platforms/go/configure-baseline/src/root.go create mode 100644 go/ql/integration-tests/all-platforms/go/configure-baseline/test.py diff --git a/go/ql/integration-tests/all-platforms/go/configure-baseline/src/a/vendor/avendor.go b/go/ql/integration-tests/all-platforms/go/configure-baseline/src/a/vendor/avendor.go new file mode 100644 index 00000000000..6e423a61072 --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/configure-baseline/src/a/vendor/avendor.go @@ -0,0 +1 @@ +package abc diff --git a/go/ql/integration-tests/all-platforms/go/configure-baseline/src/a/vendor/modules.txt b/go/ql/integration-tests/all-platforms/go/configure-baseline/src/a/vendor/modules.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/go/ql/integration-tests/all-platforms/go/configure-baseline/src/b/vendor/bvendor.go b/go/ql/integration-tests/all-platforms/go/configure-baseline/src/b/vendor/bvendor.go new file mode 100644 index 00000000000..6e423a61072 --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/configure-baseline/src/b/vendor/bvendor.go @@ -0,0 +1 @@ +package abc diff --git a/go/ql/integration-tests/all-platforms/go/configure-baseline/src/b/vendor/modules.txt b/go/ql/integration-tests/all-platforms/go/configure-baseline/src/b/vendor/modules.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/go/ql/integration-tests/all-platforms/go/configure-baseline/src/c/vendor/cvendor.go b/go/ql/integration-tests/all-platforms/go/configure-baseline/src/c/vendor/cvendor.go new file mode 100644 index 00000000000..6e423a61072 --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/configure-baseline/src/c/vendor/cvendor.go @@ -0,0 +1 @@ +package abc diff --git a/go/ql/integration-tests/all-platforms/go/configure-baseline/src/root.go b/go/ql/integration-tests/all-platforms/go/configure-baseline/src/root.go new file mode 100644 index 00000000000..6e423a61072 --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/configure-baseline/src/root.go @@ -0,0 +1 @@ +package abc diff --git a/go/ql/integration-tests/all-platforms/go/configure-baseline/test.py b/go/ql/integration-tests/all-platforms/go/configure-baseline/test.py new file mode 100644 index 00000000000..ea414349666 --- /dev/null +++ b/go/ql/integration-tests/all-platforms/go/configure-baseline/test.py @@ -0,0 +1,9 @@ +import os.path +import json + +def test(codeql, go): + codeql.database.init(source_root="src") + baseline_info_path = os.path.join("test-db", "baseline-info.json") + with open(baseline_info_path, "r") as f: + baseline_info = json.load(f) + assert set(baseline_info["languages"]["go"]["files"]) == set(["root.go", os.path.join("c", "vendor", "cvendor.go")]), "Expected root.go and cvendor.go in baseline" From fc301206d1d8deeccfc8bb45cf4334d6bf2b5277 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Tue, 20 Aug 2024 17:11:58 +0100 Subject: [PATCH 140/258] Change note --- go/ql/lib/change-notes/2024-08-20-vendor-dirs-baseline.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 go/ql/lib/change-notes/2024-08-20-vendor-dirs-baseline.md diff --git a/go/ql/lib/change-notes/2024-08-20-vendor-dirs-baseline.md b/go/ql/lib/change-notes/2024-08-20-vendor-dirs-baseline.md new file mode 100644 index 00000000000..cab6b49f3ba --- /dev/null +++ b/go/ql/lib/change-notes/2024-08-20-vendor-dirs-baseline.md @@ -0,0 +1,4 @@ +--- +category: fix +--- +* Golang vendor directories not at the root of a repository are now correctly excluded from the baseline Go file count. This means code coverage information will be more accurate. From e066c52ac6dcb83ef31c525db71ca4bfca7fc7e9 Mon Sep 17 00:00:00 2001 From: Edward Minnix III Date: Tue, 20 Aug 2024 12:33:38 -0400 Subject: [PATCH 141/258] Update change note Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com> --- go/ql/lib/change-notes/2024-08-12-add-file-models.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/ql/lib/change-notes/2024-08-12-add-file-models.md b/go/ql/lib/change-notes/2024-08-12-add-file-models.md index e50f7138090..eed216dd361 100644 --- a/go/ql/lib/change-notes/2024-08-12-add-file-models.md +++ b/go/ql/lib/change-notes/2024-08-12-add-file-models.md @@ -1,4 +1,4 @@ --- category: minorAnalysis --- -* Local source models have been added for the file APIs in the "os" package in the Go standard library. You can optionally include threat models as appropriate when using the CodeQL CLI and in GitHub code scanning. For more information, see [Analyzing your code with CodeQL queries](https://docs.github.com/code-security/codeql-cli/getting-started-with-the-codeql-cli/analyzing-your-code-with-codeql-queries#including-model-packs-to-add-potential-sources-of-tainted-data>) and [Customizing your advanced setup for code scanning](https://docs.github.com/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#extending-codeql-coverage-with-threat-models). +* Local source models have been added for the APIs which open files in the `io/fs`, `io/ioutil` and `os` packages in the Go standard library. You can optionally include threat models as appropriate when using the CodeQL CLI and in GitHub code scanning. For more information, see [Analyzing your code with CodeQL queries](https://docs.github.com/code-security/codeql-cli/getting-started-with-the-codeql-cli/analyzing-your-code-with-codeql-queries#including-model-packs-to-add-potential-sources-of-tainted-data>) and [Customizing your advanced setup for code scanning](https://docs.github.com/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#extending-codeql-coverage-with-threat-models). From 06f73e76b8d3ea29db3b99901a2a3c9e57d9b981 Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Tue, 20 Aug 2024 12:43:25 -0400 Subject: [PATCH 142/258] Add additional test cases --- .../dataflow/flowsources/local/file/test.go | 43 ++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go index 92d2adbe813..0e98fed62e9 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go @@ -1,6 +1,10 @@ package test -import "os" +import ( + "io/fs" + "io/ioutil" + "os" +) func open() { file, err := os.Open("file.txt") // $ source @@ -27,3 +31,40 @@ func readFile() { } _ = data } + +func readFileIoUtil() { + data, err := ioutil.ReadFile("file.txt") // $source + if err != nil { + return + } + _ = data +} + +func getFileFS() fs.ReadFileFS { + return nil +} + +func readFileFs() { + data, err := fs.ReadFile(os.DirFS("."), "file.txt") // $source + if err != nil { + return + } + _ = data + + dir := getFileFS() + data, err = dir.ReadFile("file.txt") // $source + + if err != nil { + return + } + _ = data +} + +func fsOpen() { + file, err := os.DirFS(".").Open("file.txt") // $source + if err != nil { + return + } + defer file.Close() + file.Read([]byte{1, 2, 3}) +} \ No newline at end of file From b001c24dfcedbbae70cd50e9e83afb4a0d46d8e9 Mon Sep 17 00:00:00 2001 From: am0o0 <77095239+am0o0@users.noreply.github.com> Date: Tue, 20 Aug 2024 20:57:11 +0200 Subject: [PATCH 143/258] update tests to pass the github actions --- .../security/CWE-347/Auth0NoVerifier.expected | 19 ++++++++++++------- .../security/CWE-347/Auth0NoVerifier.qlref | 3 ++- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected index 5e21f635d61..3d91060cc31 100644 --- a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected +++ b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.expected @@ -1,16 +1,24 @@ +#select +| JwtNoVerifier.java:91:45:91:69 | getClaim(...) | JwtNoVerifier.java:44:28:44:55 | getParameter(...) : String | JwtNoVerifier.java:91:45:91:69 | getClaim(...) | This parses a $@, but the signature is not verified. | JwtNoVerifier.java:44:28:44:55 | getParameter(...) | JWT | +| JwtNoVerifier.java:91:45:91:69 | getClaim(...) | JwtNoVerifier.java:58:37:58:62 | getCredentials(...) : Object | JwtNoVerifier.java:91:45:91:69 | getClaim(...) | This parses a $@, but the signature is not verified. | JwtNoVerifier.java:58:37:58:62 | getCredentials(...) | JWT | edges -| JwtNoVerifier.java:44:28:44:55 | getParameter(...) : String | JwtNoVerifier.java:45:39:45:47 | JwtToken1 : String | provenance | Src:MaD:44685 | +| JwtNoVerifier.java:44:28:44:55 | getParameter(...) : String | JwtNoVerifier.java:45:39:45:47 | JwtToken1 : String | provenance | Src:MaD:4 | | JwtNoVerifier.java:45:39:45:47 | JwtToken1 : String | JwtNoVerifier.java:89:38:89:55 | token : String | provenance | | | JwtNoVerifier.java:58:28:58:62 | (...)... : String | JwtNoVerifier.java:59:32:59:40 | JwtToken3 : String | provenance | | -| JwtNoVerifier.java:58:37:58:62 | getCredentials(...) : Object | JwtNoVerifier.java:58:28:58:62 | (...)... : String | provenance | Src:MaD:2352 | +| JwtNoVerifier.java:58:37:58:62 | getCredentials(...) : Object | JwtNoVerifier.java:58:28:58:62 | (...)... : String | provenance | Src:MaD:1 | | JwtNoVerifier.java:59:32:59:40 | JwtToken3 : String | JwtNoVerifier.java:89:38:89:55 | token : String | provenance | | | JwtNoVerifier.java:89:38:89:55 | token : String | JwtNoVerifier.java:90:37:90:41 | token : String | provenance | | | JwtNoVerifier.java:90:26:90:42 | decode(...) : DecodedJWT | JwtNoVerifier.java:91:28:91:30 | jwt : DecodedJWT | provenance | | | JwtNoVerifier.java:90:37:90:41 | token : String | JwtNoVerifier.java:90:26:90:42 | decode(...) : DecodedJWT | provenance | Config | -| JwtNoVerifier.java:91:16:91:31 | of(...) : Optional [] : DecodedJWT | JwtNoVerifier.java:91:37:91:40 | item : DecodedJWT | provenance | MaD:43978 | -| JwtNoVerifier.java:91:28:91:30 | jwt : DecodedJWT | JwtNoVerifier.java:91:16:91:31 | of(...) : Optional [] : DecodedJWT | provenance | MaD:43980 | +| JwtNoVerifier.java:91:16:91:31 | of(...) : Optional [] : DecodedJWT | JwtNoVerifier.java:91:37:91:40 | item : DecodedJWT | provenance | MaD:2 | +| JwtNoVerifier.java:91:28:91:30 | jwt : DecodedJWT | JwtNoVerifier.java:91:16:91:31 | of(...) : Optional [] : DecodedJWT | provenance | MaD:3 | | JwtNoVerifier.java:91:37:91:40 | item : DecodedJWT | JwtNoVerifier.java:91:45:91:48 | item : DecodedJWT | provenance | | | JwtNoVerifier.java:91:45:91:48 | item : DecodedJWT | JwtNoVerifier.java:91:45:91:69 | getClaim(...) | provenance | Config | +models +| 1 | Source: org.apache.shiro.authc; AuthenticationToken; true; getCredentials; (); ; ReturnValue; remote; manual | +| 2 | Summary: java.util; Optional; false; map; ; ; Argument[this].Element; Argument[0].Parameter[0]; value; manual | +| 3 | Summary: java.util; Optional; false; of; ; ; Argument[0]; ReturnValue.Element; value; manual | +| 4 | Source: javax.servlet; ServletRequest; false; getParameter; (String); ; ReturnValue; remote; manual | nodes | JwtNoVerifier.java:44:28:44:55 | getParameter(...) : String | semmle.label | getParameter(...) : String | | JwtNoVerifier.java:45:39:45:47 | JwtToken1 : String | semmle.label | JwtToken1 : String | @@ -26,6 +34,3 @@ nodes | JwtNoVerifier.java:91:45:91:48 | item : DecodedJWT | semmle.label | item : DecodedJWT | | JwtNoVerifier.java:91:45:91:69 | getClaim(...) | semmle.label | getClaim(...) | subpaths -#select -| JwtNoVerifier.java:91:45:91:69 | getClaim(...) | JwtNoVerifier.java:44:28:44:55 | getParameter(...) : String | JwtNoVerifier.java:91:45:91:69 | getClaim(...) | This parses a $@, but the signature is not verified. | JwtNoVerifier.java:44:28:44:55 | getParameter(...) | JWT | -| JwtNoVerifier.java:91:45:91:69 | getClaim(...) | JwtNoVerifier.java:58:37:58:62 | getCredentials(...) : Object | JwtNoVerifier.java:91:45:91:69 | getClaim(...) | This parses a $@, but the signature is not verified. | JwtNoVerifier.java:58:37:58:62 | getCredentials(...) | JWT | diff --git a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.qlref b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.qlref index 49e8b6542d6..14b020f24cd 100644 --- a/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.qlref +++ b/java/ql/test/experimental/query-tests/security/CWE-347/Auth0NoVerifier.qlref @@ -1 +1,2 @@ -experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql \ No newline at end of file +query: experimental/Security/CWE/CWE-347/Auth0NoVerifier.ql +postprocess: TestUtilities/PrettyPrintModels.ql \ No newline at end of file From b14c58445a08fdb24ac99a88938f4f9b74f747ff Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Tue, 20 Aug 2024 16:47:19 -0400 Subject: [PATCH 144/258] Fix formatting --- .../semmle/go/dataflow/flowsources/local/file/test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go index 0e98fed62e9..1a145751476 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/file/test.go @@ -67,4 +67,4 @@ func fsOpen() { } defer file.Close() file.Read([]byte{1, 2, 3}) -} \ No newline at end of file +} From 65a6fa7bc37eff9588968ba2c064c589c52b165e Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 12 Aug 2024 17:10:38 -0400 Subject: [PATCH 145/258] Go Environment variable (parsing) models and tests --- ...github.com.hashicorp.go-envparse.model.yml | 6 ++ .../ext/github.com.joho.godotenv.model.yml | 9 +++ ...ub.com.kelseyhightower.envconfig.model.yml | 11 +++ go/ql/lib/ext/os.model.yml | 5 +- .../flowsources/local/environment/go.mod | 9 +++ .../local/environment/test.expected | 6 ++ .../local/environment/test.ext.yml | 6 ++ .../flowsources/local/environment/test.go | 67 +++++++++++++++++++ .../flowsources/local/environment/test.ql | 5 ++ .../github.com/hashicorp/go-envparse/stub.go | 7 ++ .../vendor/github.com/joho/godotenv/stub.go | 37 ++++++++++ .../kelseyhightower/envconfig/stub.go | 30 +++++++++ .../local/environment/vendor/modules.txt | 9 +++ 13 files changed, 206 insertions(+), 1 deletion(-) create mode 100644 go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml create mode 100644 go/ql/lib/ext/github.com.joho.godotenv.model.yml create mode 100644 go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/go.mod create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.expected create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.ext.yml create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.ql create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/hashicorp/go-envparse/stub.go create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/joho/godotenv/stub.go create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/kelseyhightower/envconfig/stub.go create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/modules.txt diff --git a/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml b/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml new file mode 100644 index 00000000000..73a178fbdcc --- /dev/null +++ b/go/ql/lib/ext/github.com.hashicorp.go-envparse.model.yml @@ -0,0 +1,6 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sourceModel + data: + - ["github.com/hashicorp/go-envparse", "", False, "Parse", "", "", "ReturnValue", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.joho.godotenv.model.yml b/go/ql/lib/ext/github.com.joho.godotenv.model.yml new file mode 100644 index 00000000000..8bd62c5dd0b --- /dev/null +++ b/go/ql/lib/ext/github.com.joho.godotenv.model.yml @@ -0,0 +1,9 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sourceModel + data: + - ["github.com/joho/godotenv", "", False, "Parse", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", False, "Read", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", False, "Unmarshal", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/joho/godotenv", "", False, "UnmarshalBytes", "", "", "ReturnValue", "environment", "manual"] diff --git a/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml b/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml new file mode 100644 index 00000000000..71d032a18e1 --- /dev/null +++ b/go/ql/lib/ext/github.com.kelseyhightower.envconfig.model.yml @@ -0,0 +1,11 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sourceModel + data: + - ["github.com/kelseyhightower/envconfig", "", False, "CheckDisallowed", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", False, "MustProcess", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", False, "Process", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", False, "Usage", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", False, "Usagef", "", "", "Argument[1]", "environment", "manual"] + - ["github.com/kelseyhightower/envconfig", "", False, "Usaget", "", "", "Argument[1]", "environment", "manual"] \ No newline at end of file diff --git a/go/ql/lib/ext/os.model.yml b/go/ql/lib/ext/os.model.yml index 31034541b6d..48c9481c587 100644 --- a/go/ql/lib/ext/os.model.yml +++ b/go/ql/lib/ext/os.model.yml @@ -46,6 +46,9 @@ extensions: pack: codeql/go-all extensible: sourceModel data: + - ["os", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] + - ["os", "", False, "Getenv", "", "", "ReturnValue", "environment", "manual"] + - ["os", "", False, "LookupEnv", "", "", "ReturnValue[0]", "environment", "manual"] - ["os", "", False, "Open", "", "", "ReturnValue[0]", "file", "manual"] - ["os", "", False, "OpenFile", "", "", "ReturnValue[0]", "file", "manual"] - - ["os", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] \ No newline at end of file + - ["os", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/go.mod b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/go.mod new file mode 100644 index 00000000000..90c1c9f5660 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/go.mod @@ -0,0 +1,9 @@ +module test + +go 1.22.5 + +require ( + github.com/hashicorp/go-envparse v0.1.0 + github.com/joho/godotenv v1.5.1 + github.com/kelseyhightower/envconfig v1.4.0 +) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.expected b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.expected new file mode 100644 index 00000000000..555ce04aded --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.expected @@ -0,0 +1,6 @@ +| test.go:12:10:12:26 | call to Getenv | +| test.go:14:2:14:33 | ... := ...[0] | +| test.go:19:20:19:31 | call to Environ | +| test.go:34:29:34:32 | &... | +| test.go:41:2:41:40 | ... := ...[0] | +| test.go:48:2:48:52 | ... := ...[0] | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.ext.yml b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.ext.yml new file mode 100644 index 00000000000..b7075d8e7ae --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.ext.yml @@ -0,0 +1,6 @@ +extensions: + - addsTo: + pack: codeql/threat-models + extensible: threatModelConfiguration + data: + - ["environment", true, 0] \ No newline at end of file diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go new file mode 100644 index 00000000000..fe93d21adb6 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go @@ -0,0 +1,67 @@ +package test + +import ( + "fmt" + "github.com/hashicorp/go-envparse" + "github.com/joho/godotenv" + "github.com/kelseyhightower/envconfig" + "os" +) + +func osEnvironmentVariables() { + home := os.Getenv("HOME") + + port, ok := os.LookupEnv("PORT") + if !ok { + port = "3000" + } + + for _, e := range os.Environ() { + _ = e + } + + fmt.Printf("HOME: %s\n", home) + fmt.Printf("PORT: %s\n", port) +} + +type ServerConfig struct { + Port int `envconfig:"PORT"` + Host string `envconfig:"HOST"` +} + +func envconfigEnvironmentVariables() { + var cfg ServerConfig + envconfig.Process("myapp", &cfg) +} + +func godotenvEnvironmentVariables() { + var err error + var username, greeting string + + users, err := godotenv.Read("user.env") + if err != nil { + return + } + + username := users["USERNAME"] + + greetings, err := godotenv.Unmarshal("HELLO=hello") + if err != nil { + return + } + + greeting := greetings["HELLO"] + + fmt.Printf("%s, %s!\n", greeting, username) +} + +func envparseEnvironmentVariables() { + f := os.Open("file.txt") + envVars, ok := envparse.Parse(f) + + if !ok { + return + } + + fmt.Printf("HOME: %s\n", envVars["HOME"]) +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.ql b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.ql new file mode 100644 index 00000000000..fff26479399 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.ql @@ -0,0 +1,5 @@ +import go + +from DataFlow::Node source +where source instanceof ThreatModelFlowSource +select source diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/hashicorp/go-envparse/stub.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/hashicorp/go-envparse/stub.go new file mode 100644 index 00000000000..0ce38bd0173 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/hashicorp/go-envparse/stub.go @@ -0,0 +1,7 @@ +package envparse + +import "io" + +func Parse(r io.Reader) (map[string]string, error) { + return nil, nil +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/joho/godotenv/stub.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/joho/godotenv/stub.go new file mode 100644 index 00000000000..bd8d60dd192 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/joho/godotenv/stub.go @@ -0,0 +1,37 @@ +package godotenv + +func Exec(filenames []string, cmd string, cmdArgs []string, overload bool) error { + return nil +} + +func Load(filenames ...string) (err error) { + return nil +} + +func Marshal(envMap map[string]string) (string, error) { + return "", nil +} + +func Overload(filenames ...string) (err error) { + return nil +} + +func Parse(r io.Reader) (map[string]string, error) { + return nil, nil +} + +func Read(filenames ...string) (envMap map[string]string, err error) { + return nil, nil +} + +func Unmarshal(str string) (envMap map[string]string, err error) { + return nil, nil +} + +func UnmarshalBytes(src []byte) (map[string]string, error) { + return nil, nil +} + +func Write(envMap map[string]string, filename string) error { + return nil +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/kelseyhightower/envconfig/stub.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/kelseyhightower/envconfig/stub.go new file mode 100644 index 00000000000..856b8ebb6ef --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/kelseyhightower/envconfig/stub.go @@ -0,0 +1,30 @@ +package envconfig + +import ( + "io" + "text/template" +) + +func CheckDisallowed(prefix string, cfg interface{}) error { + return nil +} + +func MustProcess(prefix string, cfg interface{}) { + +} + +func Process(prefix string, cfg interface{}) error { + return nil +} + +func Usage(prefix string, spec interface{}) error { + return nil +} + +func Usagef(prefix string, spec interface{}, out io.Writer, format string) error { + return nil +} + +func Usaget(prefix string, spec interface{}, out io.Writer, tmpl *template.Template) error { + return nil +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/modules.txt b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/modules.txt new file mode 100644 index 00000000000..0b7968eaec9 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/modules.txt @@ -0,0 +1,9 @@ +# github.com/hashicorp/go-envparse v0.1.0 +## explicit +github.com/hashicorp/go-envparse +# github.com/joho/godotenv v1.5.1 +## explicit +github.com/joho/godotenv +# github.com/kelseyhightower/envconfig v1.4.0 +## explicit +github.com/kelseyhightower/envconfig From 69f02293f55de9e7b822e8d7e624d2b8ce95ad32 Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 12 Aug 2024 17:23:31 -0400 Subject: [PATCH 146/258] Add change note --- .../lib/change-notes/2024-08-12-add-environment-models.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 go/ql/lib/change-notes/2024-08-12-add-environment-models.md diff --git a/go/ql/lib/change-notes/2024-08-12-add-environment-models.md b/go/ql/lib/change-notes/2024-08-12-add-environment-models.md new file mode 100644 index 00000000000..cc88532a506 --- /dev/null +++ b/go/ql/lib/change-notes/2024-08-12-add-environment-models.md @@ -0,0 +1,8 @@ +--- +category: minorAnalysis +--- +* Local source models for reading and parsing environment variables have been added. The effect libraries include + - "os" + - github.com/hashicorp/go-envparse + - github.com/joho/godotenv + - github.com/kelseyhightower/envconfig From 69679dec1d07341a66cc791959f312f36c24040a Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 12 Aug 2024 20:10:44 -0400 Subject: [PATCH 147/258] Add defer statement --- .../go/dataflow/flowsources/local/environment/test.expected | 1 + .../semmle/go/dataflow/flowsources/local/environment/test.go | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.expected b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.expected index 555ce04aded..9d356855b27 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.expected @@ -4,3 +4,4 @@ | test.go:34:29:34:32 | &... | | test.go:41:2:41:40 | ... := ...[0] | | test.go:48:2:48:52 | ... := ...[0] | +| test.go:61:2:61:33 | ... := ...[0] | diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go index fe93d21adb6..08d2012a6c5 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go @@ -56,7 +56,8 @@ func godotenvEnvironmentVariables() { } func envparseEnvironmentVariables() { - f := os.Open("file.txt") + f := os.OpenRead("file.txt") + defer f.Close() envVars, ok := envparse.Parse(f) if !ok { From ed36aaa5708f22f0c18faaa8947ed9d079857dfc Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Tue, 13 Aug 2024 10:38:15 -0400 Subject: [PATCH 148/258] Fix some minor issues --- .../go/dataflow/flowsources/local/environment/test.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go index 08d2012a6c5..dfb04497522 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go @@ -43,7 +43,7 @@ func godotenvEnvironmentVariables() { return } - username := users["USERNAME"] + username = users["USERNAME"] greetings, err := godotenv.Unmarshal("HELLO=hello") if err != nil { @@ -56,11 +56,14 @@ func godotenvEnvironmentVariables() { } func envparseEnvironmentVariables() { - f := os.OpenRead("file.txt") + f, err := os.Open("file.txt") + if err != nil { + return + } defer f.Close() - envVars, ok := envparse.Parse(f) + envVars, err := envparse.Parse(f) - if !ok { + if err != nil { return } From 47974914a566b8c456e3ead1a380e7b7d2f5fdd2 Mon Sep 17 00:00:00 2001 From: Edward Minnix III Date: Mon, 19 Aug 2024 17:27:10 -0400 Subject: [PATCH 149/258] Apply suggestions from code review Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com> --- .../lib/change-notes/2024-08-12-add-environment-models.md | 4 ++-- go/ql/lib/ext/os.model.yml | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/go/ql/lib/change-notes/2024-08-12-add-environment-models.md b/go/ql/lib/change-notes/2024-08-12-add-environment-models.md index cc88532a506..0b0317da839 100644 --- a/go/ql/lib/change-notes/2024-08-12-add-environment-models.md +++ b/go/ql/lib/change-notes/2024-08-12-add-environment-models.md @@ -1,8 +1,8 @@ --- category: minorAnalysis --- -* Local source models for reading and parsing environment variables have been added. The effect libraries include - - "os" +* Local source models for reading and parsing environment variables have been added for the following libraries: + - os - github.com/hashicorp/go-envparse - github.com/joho/godotenv - github.com/kelseyhightower/envconfig diff --git a/go/ql/lib/ext/os.model.yml b/go/ql/lib/ext/os.model.yml index 48c9481c587..592b55377f5 100644 --- a/go/ql/lib/ext/os.model.yml +++ b/go/ql/lib/ext/os.model.yml @@ -46,9 +46,14 @@ extensions: pack: codeql/go-all extensible: sourceModel data: - - ["os", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] + - ["os", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] # TODO: when sources can have access paths, use .ArrayElement + - ["os", "", False, "ExpandEnv", "", "", "ReturnValue", "environment", "manual"] - ["os", "", False, "Getenv", "", "", "ReturnValue", "environment", "manual"] - ["os", "", False, "LookupEnv", "", "", "ReturnValue[0]", "environment", "manual"] - ["os", "", False, "Open", "", "", "ReturnValue[0]", "file", "manual"] - ["os", "", False, "OpenFile", "", "", "ReturnValue[0]", "file", "manual"] - ["os", "", False, "ReadFile", "", "", "ReturnValue[0]", "file", "manual"] + - ["os", "", False, "UserCacheDir", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", False, "UserConfigDir", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "", False, "UserHomeDir", "", "", "ReturnValue[0]", "environment", "manual"] + - ["os", "ProcAttr", False, "Env", "", "", "", "environment", "manual"] # TODO: when sources can have access paths, use .ArrayElement From 257436a49d5f5bd040ce199812dcd488432e25eb Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 19 Aug 2024 17:46:22 -0400 Subject: [PATCH 150/258] Convert test to inline expectation test --- .../local/environment/test.expected | 10 +++------- .../flowsources/local/environment/test.go | 14 ++++++------- .../flowsources/local/environment/test.ql | 20 ++++++++++++++++--- 3 files changed, 27 insertions(+), 17 deletions(-) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.expected b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.expected index 9d356855b27..db33d6d2504 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.expected +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.expected @@ -1,7 +1,3 @@ -| test.go:12:10:12:26 | call to Getenv | -| test.go:14:2:14:33 | ... := ...[0] | -| test.go:19:20:19:31 | call to Environ | -| test.go:34:29:34:32 | &... | -| test.go:41:2:41:40 | ... := ...[0] | -| test.go:48:2:48:52 | ... := ...[0] | -| test.go:61:2:61:33 | ... := ...[0] | +testFailures +invalidModelRow +failures diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go index dfb04497522..64307ac0d3f 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go @@ -9,14 +9,14 @@ import ( ) func osEnvironmentVariables() { - home := os.Getenv("HOME") + home := os.Getenv("HOME") // $ source - port, ok := os.LookupEnv("PORT") + port, ok := os.LookupEnv("PORT") // $ source if !ok { port = "3000" } - for _, e := range os.Environ() { + for _, e := range os.Environ() { // $ source _ = e } @@ -31,21 +31,21 @@ type ServerConfig struct { func envconfigEnvironmentVariables() { var cfg ServerConfig - envconfig.Process("myapp", &cfg) + envconfig.Process("myapp", &cfg) // $ source } func godotenvEnvironmentVariables() { var err error var username, greeting string - users, err := godotenv.Read("user.env") + users, err := godotenv.Read("user.env") // $ source if err != nil { return } username = users["USERNAME"] - greetings, err := godotenv.Unmarshal("HELLO=hello") + greetings, err := godotenv.Unmarshal("HELLO=hello") // $ source if err != nil { return } @@ -61,7 +61,7 @@ func envparseEnvironmentVariables() { return } defer f.Close() - envVars, err := envparse.Parse(f) + envVars, err := envparse.Parse(f) // $ source if err != nil { return diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.ql b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.ql index fff26479399..db6bbb1a2d1 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.ql @@ -1,5 +1,19 @@ import go +import ModelValidation +import TestUtilities.InlineExpectationsTest -from DataFlow::Node source -where source instanceof ThreatModelFlowSource -select source +module SourceTest implements TestSig { + string getARelevantTag() { result = "source" } + + predicate hasActualResult(Location location, string element, string tag, string value) { + exists(ThreatModelFlowSource s | + s.hasLocationInfo(location.getFile().getAbsolutePath(), location.getStartLine(), + location.getStartColumn(), location.getEndLine(), location.getEndColumn()) and + element = s.toString() and + value = "" and + tag = "source" + ) + } +} + +import MakeTest From f0f535b0e434b2b5a1a8730a0a62ae5f90319bd5 Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 19 Aug 2024 18:36:10 -0400 Subject: [PATCH 151/258] Fix frontend errors --- .../semmle/go/dataflow/flowsources/local/environment/test.go | 2 +- .../local/environment/vendor/github.com/joho/godotenv/stub.go | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go index 64307ac0d3f..20042d6a40c 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go @@ -50,7 +50,7 @@ func godotenvEnvironmentVariables() { return } - greeting := greetings["HELLO"] + greeting = greetings["HELLO"] fmt.Printf("%s, %s!\n", greeting, username) } diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/joho/godotenv/stub.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/joho/godotenv/stub.go index bd8d60dd192..eba88b5050c 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/joho/godotenv/stub.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/joho/godotenv/stub.go @@ -1,5 +1,7 @@ package godotenv +import "io" + func Exec(filenames []string, cmd string, cmdArgs []string, overload bool) error { return nil } From 8a7e378b401cb8d7bc7f30a8cc02f30c455c6067 Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Mon, 19 Aug 2024 18:59:59 -0400 Subject: [PATCH 152/258] caarlos0/env --- .../lib/ext/github.com.caarlos0.env.model.yml | 15 ++++++++++ .../flowsources/local/environment/test.go | 17 +++++++++++ .../vendor/github.com/caarlos0/env/stub.go | 28 +++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 go/ql/lib/ext/github.com.caarlos0.env.model.yml create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/caarlos0/env/stub.go diff --git a/go/ql/lib/ext/github.com.caarlos0.env.model.yml b/go/ql/lib/ext/github.com.caarlos0.env.model.yml new file mode 100644 index 00000000000..58576632ea5 --- /dev/null +++ b/go/ql/lib/ext/github.com.caarlos0.env.model.yml @@ -0,0 +1,15 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sourceModel + data: + - ["github.com/caarlos0/env", "", False, "Parse", "", "", "Argument[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", False, "ParseAs", "", "", "ReturnValue[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", False, "ParseAsWithOptions", "", "", "ReturnValue[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", False, "ParseWithOptions", "", "", "Argument[0]", "environment", "manual"] + - addsTo: + pack: codeql/go-all + extensible: summaryModel + data: + - ["github.com/caarlos0/env", "", False, "Must", "", "", "Argument[0]", "ReturnValue", "value", "manual"] + - ["github.com/caarlos0/env", "", False, "ToMap", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go index 20042d6a40c..a4d8a66deaf 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go @@ -2,6 +2,7 @@ package test import ( "fmt" + "github.com/caarlos0/env" "github.com/hashicorp/go-envparse" "github.com/joho/godotenv" "github.com/kelseyhightower/envconfig" @@ -69,3 +70,19 @@ func envparseEnvironmentVariables() { fmt.Printf("HOME: %s\n", envVars["HOME"]) } + +func caarlos0EnvironmentVariables() { + type config struct { + Home string `env:"HOME"` + Port int `env:"PORT"` + } + + cfg := config{} + env.Parse(&cfg) // $ source + + fmt.Printf("HOME: %s\n", cfg.Home) + + cfg = env.ParseAs[config]() // $ source + + fmt.Printf("HOME: %s\n", cfg.Home) +} \ No newline at end of file diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/caarlos0/env/stub.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/caarlos0/env/stub.go new file mode 100644 index 00000000000..fa042b6a43d --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/caarlos0/env/stub.go @@ -0,0 +1,28 @@ +type Options struct {} + +func Must[T any](t T, err error) T { + if err != nil { + panic(err) + } + return t +} + +func Parse(v interface{}) error { + return nil +} + +func ParseAs[T any]() (T, error) { + return nil, nil +} + +func ParseAsWithOptions[T any](opts Options) (T, error) { + return nil, nil +} + +func ParseWithOptions(v interface{}, opts Options) error { + return nil +} + +func ToMap(env []string) map[string]string { + return nil +} \ No newline at end of file From cf3b3d75d0206afee81503414c10e3b2db1a4833 Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Wed, 21 Aug 2024 00:29:17 -0400 Subject: [PATCH 153/258] Fix caarlos0 test --- .../go/dataflow/flowsources/local/environment/test.go | 6 +++--- .../environment/vendor/github.com/caarlos0/env/stub.go | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go index a4d8a66deaf..b34e34c4318 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go @@ -78,11 +78,11 @@ func caarlos0EnvironmentVariables() { } cfg := config{} - env.Parse(&cfg) // $ source + err := env.Parse(&cfg) // $ source fmt.Printf("HOME: %s\n", cfg.Home) - cfg = env.ParseAs[config]() // $ source + cfg, err = env.ParseAs[config]() // $ source fmt.Printf("HOME: %s\n", cfg.Home) -} \ No newline at end of file +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/caarlos0/env/stub.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/caarlos0/env/stub.go index fa042b6a43d..c504b1b17b9 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/caarlos0/env/stub.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/caarlos0/env/stub.go @@ -1,3 +1,5 @@ +package env + type Options struct {} func Must[T any](t T, err error) T { From 9f00a0060dec7157efbea4c4b5a1fdfacf241d88 Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Wed, 21 Aug 2024 00:30:36 -0400 Subject: [PATCH 154/258] gobuffalo/envy --- .../ext/github.com.gobuffalo.envy.model.yml | 12 ++++++++ .../flowsources/local/environment/test.go | 11 +++++++ .../vendor/github.com/gobuffalo/envy/stub.go | 29 +++++++++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 go/ql/lib/ext/github.com.gobuffalo.envy.model.yml create mode 100644 go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/gobuffalo/envy/stub.go diff --git a/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml b/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml new file mode 100644 index 00000000000..aaedbb254c9 --- /dev/null +++ b/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml @@ -0,0 +1,12 @@ +extensions: + - addsTo: + pack: codeql/go-all + extensible: sourceModel + data: + - ["github.com/gobuffalo/envy", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "Get", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "GoPath", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "GoPaths", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "GoBin", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "Map", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "MustGet", "", "", "ReturnValue[0]", "environment", "manual"] diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go index b34e34c4318..b25386ff6f6 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go @@ -3,6 +3,7 @@ package test import ( "fmt" "github.com/caarlos0/env" + "github.com/gobuffalo/envy" "github.com/hashicorp/go-envparse" "github.com/joho/godotenv" "github.com/kelseyhightower/envconfig" @@ -86,3 +87,13 @@ func caarlos0EnvironmentVariables() { fmt.Printf("HOME: %s\n", cfg.Home) } + +func envyEnvironmentVariables() { + goPath := envy.GoPath() // $ source + + fmt.Printf("GOPATH: %s\n", goPath) + + homeDir := envy.MustGet("HOME") // $ source + + fmt.Printf("HOME: %s\n", homeDir) +} diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/gobuffalo/envy/stub.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/gobuffalo/envy/stub.go new file mode 100644 index 00000000000..895b82e9a10 --- /dev/null +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/gobuffalo/envy/stub.go @@ -0,0 +1,29 @@ +package envy + +func Environ() []string { + return nil +} + +func Get(key string) string { + return "" +} + +func GoPath() string { + return "" +} + +func GoPaths() []string { + return nil +} + +func GoBin() string { + return "" +} + +func Map() map[string]string { + return nil +} + +func MustGet(key string) string { + return "" +} From 0eddaa066404c5b9e185a0eeccba8c5b2617e092 Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Wed, 21 Aug 2024 00:36:48 -0400 Subject: [PATCH 155/258] syscall environment variables --- go/ql/lib/ext/syscall.model.yml | 7 +++++++ .../dataflow/flowsources/local/environment/test.go | 13 +++++++++++++ 2 files changed, 20 insertions(+) diff --git a/go/ql/lib/ext/syscall.model.yml b/go/ql/lib/ext/syscall.model.yml index 14ddd68b402..00ab6018c3f 100644 --- a/go/ql/lib/ext/syscall.model.yml +++ b/go/ql/lib/ext/syscall.model.yml @@ -20,3 +20,10 @@ extensions: - ["syscall", "Conn", True, "SyscallConn", "", "", "Argument[receiver]", "ReturnValue[0]", "taint", "manual"] - ["syscall", "RawConn", True, "Read", "", "", "Argument[receiver]", "Argument[0]", "taint", "manual"] - ["syscall", "RawConn", True, "Write", "", "", "Argument[0]", "Argument[receiver]", "taint", "manual"] + - addsTo: + pack: codeql/go-all + extensible: sourceModel + data: + - ["syscall", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] + - ["syscall", "", False, "Getenv", "", "", "ReturnValue[0]", "environment", "manual"] + - ["syscall", "ProcAttr", True, "Env", "", "", "", "environment", "manual"] \ No newline at end of file diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go index b25386ff6f6..400f38fd133 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go @@ -8,6 +8,7 @@ import ( "github.com/joho/godotenv" "github.com/kelseyhightower/envconfig" "os" + "syscall" ) func osEnvironmentVariables() { @@ -97,3 +98,15 @@ func envyEnvironmentVariables() { fmt.Printf("HOME: %s\n", homeDir) } + +func syscallEnvironmentVariables() { + for _, envVar := range syscall.Environ() { // $ source + fmt.Println("%s", envVar) + } + + home, err := syscall.Getenv("HOME") // $ source + if err != nil { + return + } + fmt.Println("HOME: %s", home) +} From e4ce003e878eb6be5eb9b3e9335bd36e4988d4af Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 21 Aug 2024 09:44:45 +0200 Subject: [PATCH 156/258] C++: Fix tests and add an actual true negative --- .../TaintedAllocationSize.expected | 108 +++++++++--------- .../semmle/TaintedAllocationSize/test.cpp | 8 +- 2 files changed, 61 insertions(+), 55 deletions(-) diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/TaintedAllocationSize.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/TaintedAllocationSize.expected index b922d7d8ba3..9e5f61c7c88 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/TaintedAllocationSize.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/TaintedAllocationSize.expected @@ -13,26 +13,26 @@ edges | test.cpp:133:19:133:32 | *call to getenv | test.cpp:133:14:133:17 | call to atoi | provenance | TaintFunction | | test.cpp:148:15:148:18 | call to atol | test.cpp:152:11:152:28 | ... * ... | provenance | | | test.cpp:148:20:148:33 | *call to getenv | test.cpp:148:15:148:18 | call to atol | provenance | TaintFunction | -| test.cpp:218:8:218:23 | *get_tainted_size | test.cpp:250:9:250:24 | call to get_tainted_size | provenance | | -| test.cpp:220:9:220:42 | ... * ... | test.cpp:218:8:218:23 | *get_tainted_size | provenance | | -| test.cpp:220:14:220:27 | *call to getenv | test.cpp:220:9:220:42 | ... * ... | provenance | TaintFunction | -| test.cpp:239:21:239:21 | s | test.cpp:240:21:240:21 | s | provenance | | -| test.cpp:246:19:246:52 | ... * ... | test.cpp:248:9:248:18 | local_size | provenance | | -| test.cpp:246:19:246:52 | ... * ... | test.cpp:254:11:254:20 | local_size | provenance | | -| test.cpp:246:19:246:52 | ... * ... | test.cpp:256:10:256:19 | local_size | provenance | | -| test.cpp:246:24:246:37 | *call to getenv | test.cpp:246:19:246:52 | ... * ... | provenance | TaintFunction | -| test.cpp:256:10:256:19 | local_size | test.cpp:239:21:239:21 | s | provenance | | -| test.cpp:259:20:259:27 | *out_size | test.cpp:298:17:298:20 | get_size output argument | provenance | | -| test.cpp:259:20:259:27 | *out_size | test.cpp:314:18:314:21 | get_size output argument | provenance | | -| test.cpp:260:2:260:32 | ... = ... | test.cpp:259:20:259:27 | *out_size | provenance | | -| test.cpp:260:18:260:31 | *call to getenv | test.cpp:260:2:260:32 | ... = ... | provenance | TaintFunction | -| test.cpp:268:15:268:18 | call to atoi | test.cpp:272:11:272:29 | ... * ... | provenance | | -| test.cpp:268:20:268:33 | *call to getenv | test.cpp:268:15:268:18 | call to atoi | provenance | TaintFunction | -| test.cpp:298:17:298:20 | get_size output argument | test.cpp:300:11:300:28 | ... * ... | provenance | | -| test.cpp:314:18:314:21 | get_size output argument | test.cpp:317:10:317:27 | ... * ... | provenance | | -| test.cpp:362:13:362:16 | call to atoi | test.cpp:364:35:364:38 | size | provenance | | -| test.cpp:362:13:362:16 | call to atoi | test.cpp:365:35:365:38 | size | provenance | | -| test.cpp:362:18:362:31 | *call to getenv | test.cpp:362:13:362:16 | call to atoi | provenance | TaintFunction | +| test.cpp:224:8:224:23 | *get_tainted_size | test.cpp:256:9:256:24 | call to get_tainted_size | provenance | | +| test.cpp:226:9:226:42 | ... * ... | test.cpp:224:8:224:23 | *get_tainted_size | provenance | | +| test.cpp:226:14:226:27 | *call to getenv | test.cpp:226:9:226:42 | ... * ... | provenance | TaintFunction | +| test.cpp:245:21:245:21 | s | test.cpp:246:21:246:21 | s | provenance | | +| test.cpp:252:19:252:52 | ... * ... | test.cpp:254:9:254:18 | local_size | provenance | | +| test.cpp:252:19:252:52 | ... * ... | test.cpp:260:11:260:20 | local_size | provenance | | +| test.cpp:252:19:252:52 | ... * ... | test.cpp:262:10:262:19 | local_size | provenance | | +| test.cpp:252:24:252:37 | *call to getenv | test.cpp:252:19:252:52 | ... * ... | provenance | TaintFunction | +| test.cpp:262:10:262:19 | local_size | test.cpp:245:21:245:21 | s | provenance | | +| test.cpp:265:20:265:27 | *out_size | test.cpp:304:17:304:20 | get_size output argument | provenance | | +| test.cpp:265:20:265:27 | *out_size | test.cpp:320:18:320:21 | get_size output argument | provenance | | +| test.cpp:266:2:266:32 | ... = ... | test.cpp:265:20:265:27 | *out_size | provenance | | +| test.cpp:266:18:266:31 | *call to getenv | test.cpp:266:2:266:32 | ... = ... | provenance | TaintFunction | +| test.cpp:274:15:274:18 | call to atoi | test.cpp:278:11:278:29 | ... * ... | provenance | | +| test.cpp:274:20:274:33 | *call to getenv | test.cpp:274:15:274:18 | call to atoi | provenance | TaintFunction | +| test.cpp:304:17:304:20 | get_size output argument | test.cpp:306:11:306:28 | ... * ... | provenance | | +| test.cpp:320:18:320:21 | get_size output argument | test.cpp:323:10:323:27 | ... * ... | provenance | | +| test.cpp:368:13:368:16 | call to atoi | test.cpp:370:35:370:38 | size | provenance | | +| test.cpp:368:13:368:16 | call to atoi | test.cpp:371:35:371:38 | size | provenance | | +| test.cpp:368:18:368:31 | *call to getenv | test.cpp:368:13:368:16 | call to atoi | provenance | TaintFunction | nodes | test.cpp:39:27:39:30 | **argv | semmle.label | **argv | | test.cpp:40:16:40:19 | call to atoi | semmle.label | call to atoi | @@ -52,31 +52,31 @@ nodes | test.cpp:148:15:148:18 | call to atol | semmle.label | call to atol | | test.cpp:148:20:148:33 | *call to getenv | semmle.label | *call to getenv | | test.cpp:152:11:152:28 | ... * ... | semmle.label | ... * ... | -| test.cpp:218:8:218:23 | *get_tainted_size | semmle.label | *get_tainted_size | -| test.cpp:220:9:220:42 | ... * ... | semmle.label | ... * ... | -| test.cpp:220:14:220:27 | *call to getenv | semmle.label | *call to getenv | -| test.cpp:239:21:239:21 | s | semmle.label | s | -| test.cpp:240:21:240:21 | s | semmle.label | s | -| test.cpp:246:19:246:52 | ... * ... | semmle.label | ... * ... | -| test.cpp:246:24:246:37 | *call to getenv | semmle.label | *call to getenv | -| test.cpp:248:9:248:18 | local_size | semmle.label | local_size | -| test.cpp:250:9:250:24 | call to get_tainted_size | semmle.label | call to get_tainted_size | -| test.cpp:254:11:254:20 | local_size | semmle.label | local_size | -| test.cpp:256:10:256:19 | local_size | semmle.label | local_size | -| test.cpp:259:20:259:27 | *out_size | semmle.label | *out_size | -| test.cpp:260:2:260:32 | ... = ... | semmle.label | ... = ... | -| test.cpp:260:18:260:31 | *call to getenv | semmle.label | *call to getenv | -| test.cpp:268:15:268:18 | call to atoi | semmle.label | call to atoi | -| test.cpp:268:20:268:33 | *call to getenv | semmle.label | *call to getenv | -| test.cpp:272:11:272:29 | ... * ... | semmle.label | ... * ... | -| test.cpp:298:17:298:20 | get_size output argument | semmle.label | get_size output argument | -| test.cpp:300:11:300:28 | ... * ... | semmle.label | ... * ... | -| test.cpp:314:18:314:21 | get_size output argument | semmle.label | get_size output argument | -| test.cpp:317:10:317:27 | ... * ... | semmle.label | ... * ... | -| test.cpp:362:13:362:16 | call to atoi | semmle.label | call to atoi | -| test.cpp:362:18:362:31 | *call to getenv | semmle.label | *call to getenv | -| test.cpp:364:35:364:38 | size | semmle.label | size | -| test.cpp:365:35:365:38 | size | semmle.label | size | +| test.cpp:224:8:224:23 | *get_tainted_size | semmle.label | *get_tainted_size | +| test.cpp:226:9:226:42 | ... * ... | semmle.label | ... * ... | +| test.cpp:226:14:226:27 | *call to getenv | semmle.label | *call to getenv | +| test.cpp:245:21:245:21 | s | semmle.label | s | +| test.cpp:246:21:246:21 | s | semmle.label | s | +| test.cpp:252:19:252:52 | ... * ... | semmle.label | ... * ... | +| test.cpp:252:24:252:37 | *call to getenv | semmle.label | *call to getenv | +| test.cpp:254:9:254:18 | local_size | semmle.label | local_size | +| test.cpp:256:9:256:24 | call to get_tainted_size | semmle.label | call to get_tainted_size | +| test.cpp:260:11:260:20 | local_size | semmle.label | local_size | +| test.cpp:262:10:262:19 | local_size | semmle.label | local_size | +| test.cpp:265:20:265:27 | *out_size | semmle.label | *out_size | +| test.cpp:266:2:266:32 | ... = ... | semmle.label | ... = ... | +| test.cpp:266:18:266:31 | *call to getenv | semmle.label | *call to getenv | +| test.cpp:274:15:274:18 | call to atoi | semmle.label | call to atoi | +| test.cpp:274:20:274:33 | *call to getenv | semmle.label | *call to getenv | +| test.cpp:278:11:278:29 | ... * ... | semmle.label | ... * ... | +| test.cpp:304:17:304:20 | get_size output argument | semmle.label | get_size output argument | +| test.cpp:306:11:306:28 | ... * ... | semmle.label | ... * ... | +| test.cpp:320:18:320:21 | get_size output argument | semmle.label | get_size output argument | +| test.cpp:323:10:323:27 | ... * ... | semmle.label | ... * ... | +| test.cpp:368:13:368:16 | call to atoi | semmle.label | call to atoi | +| test.cpp:368:18:368:31 | *call to getenv | semmle.label | *call to getenv | +| test.cpp:370:35:370:38 | size | semmle.label | size | +| test.cpp:371:35:371:38 | size | semmle.label | size | subpaths #select | test.cpp:43:31:43:36 | call to malloc | test.cpp:39:27:39:30 | **argv | test.cpp:43:38:43:44 | tainted | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:39:27:39:30 | **argv | user input (a command-line argument) | @@ -88,12 +88,12 @@ subpaths | test.cpp:128:17:128:22 | call to malloc | test.cpp:124:18:124:31 | *call to getenv | test.cpp:128:24:128:41 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:124:18:124:31 | *call to getenv | user input (an environment variable) | | test.cpp:135:3:135:8 | call to malloc | test.cpp:133:19:133:32 | *call to getenv | test.cpp:135:10:135:27 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:133:19:133:32 | *call to getenv | user input (an environment variable) | | test.cpp:152:4:152:9 | call to malloc | test.cpp:148:20:148:33 | *call to getenv | test.cpp:152:11:152:28 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:148:20:148:33 | *call to getenv | user input (an environment variable) | -| test.cpp:240:14:240:19 | call to malloc | test.cpp:246:24:246:37 | *call to getenv | test.cpp:240:21:240:21 | s | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:246:24:246:37 | *call to getenv | user input (an environment variable) | -| test.cpp:248:2:248:7 | call to malloc | test.cpp:246:24:246:37 | *call to getenv | test.cpp:248:9:248:18 | local_size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:246:24:246:37 | *call to getenv | user input (an environment variable) | -| test.cpp:250:2:250:7 | call to malloc | test.cpp:220:14:220:27 | *call to getenv | test.cpp:250:9:250:24 | call to get_tainted_size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:220:14:220:27 | *call to getenv | user input (an environment variable) | -| test.cpp:254:2:254:9 | call to my_alloc | test.cpp:246:24:246:37 | *call to getenv | test.cpp:254:11:254:20 | local_size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:246:24:246:37 | *call to getenv | user input (an environment variable) | -| test.cpp:272:4:272:9 | call to malloc | test.cpp:268:20:268:33 | *call to getenv | test.cpp:272:11:272:29 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:268:20:268:33 | *call to getenv | user input (an environment variable) | -| test.cpp:300:4:300:9 | call to malloc | test.cpp:260:18:260:31 | *call to getenv | test.cpp:300:11:300:28 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:260:18:260:31 | *call to getenv | user input (an environment variable) | -| test.cpp:317:3:317:8 | call to malloc | test.cpp:260:18:260:31 | *call to getenv | test.cpp:317:10:317:27 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:260:18:260:31 | *call to getenv | user input (an environment variable) | -| test.cpp:364:25:364:33 | call to MyMalloc1 | test.cpp:362:18:362:31 | *call to getenv | test.cpp:364:35:364:38 | size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:362:18:362:31 | *call to getenv | user input (an environment variable) | -| test.cpp:365:25:365:33 | call to MyMalloc2 | test.cpp:362:18:362:31 | *call to getenv | test.cpp:365:35:365:38 | size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:362:18:362:31 | *call to getenv | user input (an environment variable) | +| test.cpp:246:14:246:19 | call to malloc | test.cpp:252:24:252:37 | *call to getenv | test.cpp:246:21:246:21 | s | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:252:24:252:37 | *call to getenv | user input (an environment variable) | +| test.cpp:254:2:254:7 | call to malloc | test.cpp:252:24:252:37 | *call to getenv | test.cpp:254:9:254:18 | local_size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:252:24:252:37 | *call to getenv | user input (an environment variable) | +| test.cpp:256:2:256:7 | call to malloc | test.cpp:226:14:226:27 | *call to getenv | test.cpp:256:9:256:24 | call to get_tainted_size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:226:14:226:27 | *call to getenv | user input (an environment variable) | +| test.cpp:260:2:260:9 | call to my_alloc | test.cpp:252:24:252:37 | *call to getenv | test.cpp:260:11:260:20 | local_size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:252:24:252:37 | *call to getenv | user input (an environment variable) | +| test.cpp:278:4:278:9 | call to malloc | test.cpp:274:20:274:33 | *call to getenv | test.cpp:278:11:278:29 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:274:20:274:33 | *call to getenv | user input (an environment variable) | +| test.cpp:306:4:306:9 | call to malloc | test.cpp:266:18:266:31 | *call to getenv | test.cpp:306:11:306:28 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:266:18:266:31 | *call to getenv | user input (an environment variable) | +| test.cpp:323:3:323:8 | call to malloc | test.cpp:266:18:266:31 | *call to getenv | test.cpp:323:10:323:27 | ... * ... | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:266:18:266:31 | *call to getenv | user input (an environment variable) | +| test.cpp:370:25:370:33 | call to MyMalloc1 | test.cpp:368:18:368:31 | *call to getenv | test.cpp:370:35:370:38 | size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:368:18:368:31 | *call to getenv | user input (an environment variable) | +| test.cpp:371:25:371:33 | call to MyMalloc2 | test.cpp:368:18:368:31 | *call to getenv | test.cpp:371:35:371:38 | size | This allocation size is derived from $@ and could allocate arbitrary amounts of memory. | test.cpp:368:18:368:31 | *call to getenv | user input (an environment variable) | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/test.cpp b/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/test.cpp index f85df3fb8cb..f262d1943d0 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/test.cpp +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/TaintedAllocationSize/test.cpp @@ -180,12 +180,18 @@ void more_bounded_tests() { } } + { + int size = atoi(getenv("USER")); + int size2 = size % 100; + malloc(size2 * sizeof(int)); // GOOD + } + { int size = atoi(getenv("USER")); if (size % 100) { - malloc(size * sizeof(int)); // GOOD + malloc(size * sizeof(int)); // BAD [NOT DETECTED] } } From 9bd3f3dee01958294ea45154a3b83a458cb4b6da Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Mon, 29 Jul 2024 13:30:45 +0200 Subject: [PATCH 157/258] Dataflow: Rename StagePathNode to StagePathNodeImpl. --- .../codeql/dataflow/internal/DataFlowImpl.qll | 43 ++++++++++--------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 6425574581e..19966185c45 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -2536,7 +2536,7 @@ module MakeImpl Lang> { TStagePathNodeSrcGrp() or TStagePathNodeSinkGrp() - class StagePathNode extends TStagePathNode { + class StagePathNodeImpl extends TStagePathNode { abstract string toString(); abstract Location getLocation(); @@ -2553,19 +2553,19 @@ module MakeImpl Lang> { predicate isArbitrarySink() { this instanceof TStagePathNodeSinkGrp } } - class StagePathNodeSrcGrp extends StagePathNode, TStagePathNodeSrcGrp { + class StagePathNodeSrcGrp extends StagePathNodeImpl, TStagePathNodeSrcGrp { override string toString() { result = "" } override Location getLocation() { result.hasLocationInfo("", 0, 0, 0, 0) } } - class StagePathNodeSinkGrp extends StagePathNode, TStagePathNodeSinkGrp { + class StagePathNodeSinkGrp extends StagePathNodeImpl, TStagePathNodeSinkGrp { override string toString() { result = "" } override Location getLocation() { result.hasLocationInfo("", 0, 0, 0, 0) } } - class StagePathNodeMid extends StagePathNode, TStagePathNodeMid { + class StagePathNodeMid extends StagePathNodeImpl, TStagePathNodeMid { NodeEx node; FlowState state; Cc cc; @@ -2646,14 +2646,14 @@ module MakeImpl Lang> { bindingset[node, state, cc, summaryCtx, argT, argAp, t, ap] pragma[inline_late] - private StagePathNode mkStagePathNode( + private StagePathNodeImpl mkStagePathNode( NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, Ap ap ) { result = TStagePathNodeMid(node, state, cc, summaryCtx, argT, argAp, t, ap) } - private StagePathNode typeStrengthenToStagePathNode( + private StagePathNodeImpl typeStrengthenToStagePathNode( NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t0, Ap ap ) { @@ -2665,9 +2665,9 @@ module MakeImpl Lang> { pragma[nomagic] private predicate fwdFlowThroughStep1( - StagePathNode pn1, StagePathNode pn2, StagePathNode pn3, DataFlowCall call, Cc cc, - FlowState state, CcCall ccc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, - Typ t, Ap ap, ApApprox apa, RetNodeEx ret, ApApprox innerArgApa + StagePathNodeImpl pn1, StagePathNodeImpl pn2, StagePathNodeImpl pn3, DataFlowCall call, + Cc cc, FlowState state, CcCall ccc, ParamNodeOption summaryCtx, TypOption argT, + ApOption argAp, Typ t, Ap ap, ApApprox apa, RetNodeEx ret, ApApprox innerArgApa ) { exists(FlowState state0, ArgNodeEx arg, ParamNodeEx p, Typ innerArgT, Ap innerArgAp | fwdFlowThroughStep0(call, arg, cc, state, ccc, summaryCtx, argT, argAp, t, ap, apa, @@ -2685,7 +2685,7 @@ module MakeImpl Lang> { pragma[nomagic] private predicate fwdFlowThroughStep2( - StagePathNode pn1, StagePathNode pn2, StagePathNode pn3, NodeEx node, Cc cc, + StagePathNodeImpl pn1, StagePathNodeImpl pn2, StagePathNodeImpl pn3, NodeEx node, Cc cc, FlowState state, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, Ap ap ) { @@ -2701,7 +2701,7 @@ module MakeImpl Lang> { } private predicate localStep( - StagePathNode pn1, NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, + StagePathNodeImpl pn1, NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, Ap ap, string label ) { exists(NodeEx mid, FlowState state0, Typ t0, LocalCc localCc | @@ -2732,7 +2732,7 @@ module MakeImpl Lang> { ) } - private predicate localStep(StagePathNode pn1, StagePathNode pn2, string label) { + private predicate localStep(StagePathNodeImpl pn1, StagePathNodeImpl pn2, string label) { exists( NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t0, Ap ap @@ -2744,27 +2744,29 @@ module MakeImpl Lang> { summaryStep(pn1, pn2, label) } - private predicate summaryLabel(StagePathNode pn1, StagePathNode pn2, string summaryLabel) { + private predicate summaryLabel( + StagePathNodeImpl pn1, StagePathNodeImpl pn2, string summaryLabel + ) { pn1 = pn2 and summaryLabel = "" and subpaths(_, pn1, _, _) or - exists(StagePathNode mid, string l1, string l2 | + exists(StagePathNodeImpl mid, string l1, string l2 | summaryLabel(pn1, mid, l1) and localStep(mid, pn2, l2) and summaryLabel = mergeLabels(l1, l2) ) } - private predicate summaryStep(StagePathNode arg, StagePathNode out, string label) { - exists(StagePathNode par, StagePathNode ret | + private predicate summaryStep(StagePathNodeImpl arg, StagePathNodeImpl out, string label) { + exists(StagePathNodeImpl par, StagePathNodeImpl ret | subpaths(arg, par, ret, out) and summaryLabel(par, ret, label) ) } private predicate nonLocalStep( - StagePathNode pn1, NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, + StagePathNodeImpl pn1, NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, Ap ap, string label ) { // jump @@ -2823,7 +2825,7 @@ module MakeImpl Lang> { ) } - private predicate nonLocalStep(StagePathNode pn1, StagePathNode pn2, string label) { + private predicate nonLocalStep(StagePathNodeImpl pn1, StagePathNodeImpl pn2, string label) { exists( NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t0, Ap ap @@ -2834,7 +2836,8 @@ module MakeImpl Lang> { } query predicate subpaths( - StagePathNode arg, StagePathNode par, StagePathNode ret, StagePathNode out + StagePathNodeImpl arg, StagePathNodeImpl par, StagePathNodeImpl ret, + StagePathNodeImpl out ) { exists( NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, @@ -2845,7 +2848,7 @@ module MakeImpl Lang> { ) } - query predicate edges(StagePathNode pn1, StagePathNode pn2, string key, string val) { + query predicate edges(StagePathNodeImpl pn1, StagePathNodeImpl pn2, string key, string val) { key = "provenance" and ( localStep(pn1, pn2, val) From bc0ae4cd1e1eec90b2d2dbf3e45be93adc16c2ec Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Tue, 20 Aug 2024 11:45:40 +0200 Subject: [PATCH 158/258] Dataflow: Replace StagePathNode.getNode with getNodeEx. --- .../codeql/dataflow/internal/DataFlowImpl.qll | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 19966185c45..20b44896533 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -2537,13 +2537,12 @@ module MakeImpl Lang> { TStagePathNodeSinkGrp() class StagePathNodeImpl extends TStagePathNode { + abstract NodeEx getNodeEx(); + abstract string toString(); abstract Location getLocation(); - /** Gets the corresponding `Node`, if any. */ - Node getNode() { none() } - predicate isSource() { none() } predicate isSink() { none() } @@ -2557,12 +2556,16 @@ module MakeImpl Lang> { override string toString() { result = "" } override Location getLocation() { result.hasLocationInfo("", 0, 0, 0, 0) } + + override NodeEx getNodeEx() { none() } } class StagePathNodeSinkGrp extends StagePathNodeImpl, TStagePathNodeSinkGrp { override string toString() { result = "" } override Location getLocation() { result.hasLocationInfo("", 0, 0, 0, 0) } + + override NodeEx getNodeEx() { none() } } class StagePathNodeMid extends StagePathNodeImpl, TStagePathNodeMid { @@ -2579,6 +2582,8 @@ module MakeImpl Lang> { this = TStagePathNodeMid(node, state, cc, summaryCtx, argT, argAp, t, ap) } + override NodeEx getNodeEx() { result = node } + override string toString() { result = node.toString() + " " + cc.toString() + " " + t.toString() + " " + ap.toString() @@ -2586,8 +2591,6 @@ module MakeImpl Lang> { override Location getLocation() { result = node.getLocation() } - override Node getNode() { result = node.asNode() } - override predicate isSource() { sourceNode(node, state) and (if hasSourceCallCtx() then cc = ccSomeCall() else cc = ccNone()) and From bdcc5e7b6725b42630311f8efb20c63c9014550b Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Tue, 20 Aug 2024 11:47:59 +0200 Subject: [PATCH 159/258] Dataflow: Refactor getLocation --- shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 20b44896533..147f8671417 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -2541,12 +2541,13 @@ module MakeImpl Lang> { abstract string toString(); - abstract Location getLocation(); - predicate isSource() { none() } predicate isSink() { none() } + /** Gets the location of this node. */ + Location getLocation() { result = this.getNodeEx().getLocation() } + predicate isArbitrarySource() { this instanceof TStagePathNodeSrcGrp } predicate isArbitrarySink() { this instanceof TStagePathNodeSinkGrp } @@ -2589,8 +2590,6 @@ module MakeImpl Lang> { node.toString() + " " + cc.toString() + " " + t.toString() + " " + ap.toString() } - override Location getLocation() { result = node.getLocation() } - override predicate isSource() { sourceNode(node, state) and (if hasSourceCallCtx() then cc = ccSomeCall() else cc = ccNone()) and From 81a815c343a4d501bf200e31d27169633cd55f01 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Tue, 20 Aug 2024 11:49:50 +0200 Subject: [PATCH 160/258] Dataflow: Add StagePathNode.getState. --- .../dataflow/codeql/dataflow/internal/DataFlowImpl.qll | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 147f8671417..8e70f6235fe 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -2539,6 +2539,9 @@ module MakeImpl Lang> { class StagePathNodeImpl extends TStagePathNode { abstract NodeEx getNodeEx(); + /** Gets the `FlowState` of this node. */ + abstract FlowState getState(); + abstract string toString(); predicate isSource() { none() } @@ -2559,6 +2562,8 @@ module MakeImpl Lang> { override Location getLocation() { result.hasLocationInfo("", 0, 0, 0, 0) } override NodeEx getNodeEx() { none() } + + override FlowState getState() { none() } } class StagePathNodeSinkGrp extends StagePathNodeImpl, TStagePathNodeSinkGrp { @@ -2567,6 +2572,8 @@ module MakeImpl Lang> { override Location getLocation() { result.hasLocationInfo("", 0, 0, 0, 0) } override NodeEx getNodeEx() { none() } + + override FlowState getState() { none() } } class StagePathNodeMid extends StagePathNodeImpl, TStagePathNodeMid { @@ -2585,6 +2592,8 @@ module MakeImpl Lang> { override NodeEx getNodeEx() { result = node } + override FlowState getState() { result = state } + override string toString() { result = node.toString() + " " + cc.toString() + " " + t.toString() + " " + ap.toString() From 9429e5ccba23a09397eac402654de39a49e75491 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Tue, 20 Aug 2024 11:54:56 +0200 Subject: [PATCH 161/258] Dataflow: Update StagePathNode.toString. --- .../codeql/dataflow/internal/DataFlowImpl.qll | 35 +++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 8e70f6235fe..b9a4193dbb6 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -2542,6 +2542,7 @@ module MakeImpl Lang> { /** Gets the `FlowState` of this node. */ abstract FlowState getState(); + /** Gets a textual representation of this element. */ abstract string toString(); predicate isSource() { none() } @@ -2594,9 +2595,39 @@ module MakeImpl Lang> { override FlowState getState() { result = state } - override string toString() { + private string ppType() { + exists(string ppt | ppt = t.toString() | + if ppt = "" then result = "" else result = " : " + ppt + ) + } + + private string ppAp() { + exists(string s | s = ap.toString() | + if s = "" then result = "" else result = " " + s + ) + } + + private string ppCtx() { result = " <" + cc + ">" } + + private string ppSummaryCtx() { + summaryCtx instanceof TParamNodeNone and result = "" + or + exists(ParamNode p, Ap argAp0 | + summaryCtx = TParamNodeSome(p) and argAp = apSome(argAp0) + | + result = " <" + p + " : " + argT + " " + argAp0 + ">" + ) + } + + override string toString() { result = node.toString() + this.ppType() + this.ppAp() } + + /** + * Gets a textual representation of this element, including a textual + * representation of the call context. + */ + string toStringWithContext() { result = - node.toString() + " " + cc.toString() + " " + t.toString() + " " + ap.toString() + node.toString() + this.ppType() + this.ppAp() + this.ppCtx() + this.ppSummaryCtx() } override predicate isSource() { From bc1dd45d4fede041a78f6065d3af5fa5dcf7a9d5 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Tue, 20 Aug 2024 11:56:08 +0200 Subject: [PATCH 162/258] Dataflow: Make private --- .../dataflow/codeql/dataflow/internal/DataFlowImpl.qll | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index b9a4193dbb6..77eec1e907b 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -2557,7 +2557,7 @@ module MakeImpl Lang> { predicate isArbitrarySink() { this instanceof TStagePathNodeSinkGrp } } - class StagePathNodeSrcGrp extends StagePathNodeImpl, TStagePathNodeSrcGrp { + private class StagePathNodeSrcGrp extends StagePathNodeImpl, TStagePathNodeSrcGrp { override string toString() { result = "" } override Location getLocation() { result.hasLocationInfo("", 0, 0, 0, 0) } @@ -2567,7 +2567,7 @@ module MakeImpl Lang> { override FlowState getState() { none() } } - class StagePathNodeSinkGrp extends StagePathNodeImpl, TStagePathNodeSinkGrp { + private class StagePathNodeSinkGrp extends StagePathNodeImpl, TStagePathNodeSinkGrp { override string toString() { result = "" } override Location getLocation() { result.hasLocationInfo("", 0, 0, 0, 0) } @@ -2577,7 +2577,11 @@ module MakeImpl Lang> { override FlowState getState() { none() } } - class StagePathNodeMid extends StagePathNodeImpl, TStagePathNodeMid { + /** + * An intermediate flow graph node. This is a tuple consisting of a node, + * a `FlowState`, a call context, a summary context, a tracked type, and an access path. + */ + private class StagePathNodeMid extends StagePathNodeImpl, TStagePathNodeMid { NodeEx node; FlowState state; Cc cc; From b8d0b691da807ead4a6bdfb4bbb092a1f0529a4d Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Tue, 20 Aug 2024 14:25:24 +0200 Subject: [PATCH 163/258] Dataflow: Introduce sink projection and add successor as member predicate. --- .../codeql/dataflow/internal/DataFlowImpl.qll | 143 +++++++++++++++--- 1 file changed, 122 insertions(+), 21 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 77eec1e907b..ed00319dc0d 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -2533,6 +2533,13 @@ module MakeImpl Lang> { fwdFlow(node, state, cc, summaryCtx, argT, argAp, t, ap, _) and revFlow(node, state, _, _, ap) } or + TStagePathNodeSink(NodeEx node, FlowState state) { + exists(StagePathNodeMid sink | + sink.isAtSink() and + node = sink.getNodeEx() and + state = sink.getState() + ) + } or TStagePathNodeSrcGrp() or TStagePathNodeSinkGrp() @@ -2542,13 +2549,17 @@ module MakeImpl Lang> { /** Gets the `FlowState` of this node. */ abstract FlowState getState(); + /** Holds if this node is a source. */ + abstract predicate isSource(); + + /** Holds if this node is a sink. */ + predicate isSink() { this instanceof TStagePathNodeSink } + + abstract StagePathNodeImpl getASuccessorImpl(string label); + /** Gets a textual representation of this element. */ abstract string toString(); - predicate isSource() { none() } - - predicate isSink() { none() } - /** Gets the location of this node. */ Location getLocation() { result = this.getNodeEx().getLocation() } @@ -2565,6 +2576,12 @@ module MakeImpl Lang> { override NodeEx getNodeEx() { none() } override FlowState getState() { none() } + + override StagePathNodeImpl getASuccessorImpl(string label) { + result.isSource() and label = "" + } + + override predicate isSource() { none() } } private class StagePathNodeSinkGrp extends StagePathNodeImpl, TStagePathNodeSinkGrp { @@ -2575,6 +2592,10 @@ module MakeImpl Lang> { override NodeEx getNodeEx() { none() } override FlowState getState() { none() } + + override StagePathNodeImpl getASuccessorImpl(string label) { none() } + + override predicate isSource() { none() } } /** @@ -2599,6 +2620,48 @@ module MakeImpl Lang> { override FlowState getState() { result = state } + private StagePathNodeMid getSuccMid(string label) { + localStep(this, result, label) + or + nonLocalStep(this, result, label) + } + + private predicate isSourceWithLabel(string labelprefix) { + exists(string model | + this.isSource() and + sourceModel(node, model) and + model != "" and + labelprefix = "Src:" + model + " " + ) + } + + override StagePathNodeImpl getASuccessorImpl(string label) { + // an intermediate step to another intermediate node + exists(string l2 | result = this.getSuccMid(l2) | + not this.isSourceWithLabel(_) and label = l2 + or + exists(string l1 | + this.isSourceWithLabel(l1) and + label = l1 + l2 + ) + ) + or + // a final step to a sink + exists(string l2, string sinkmodel | + result = this.getSuccMid(l2).projectToSink(sinkmodel) + | + not this.isSourceWithLabel(_) and + if sinkmodel != "" then label = l2 + " Sink:" + sinkmodel else label = l2 + or + exists(string l1 | + this.isSourceWithLabel(l1) and + if sinkmodel != "" + then label = l1 + l2 + " Sink:" + sinkmodel + else label = l1 + l2 + ) + ) + } + private string ppType() { exists(string ppt | ppt = t.toString() | if ppt = "" then result = "" else result = " : " + ppt @@ -2642,7 +2705,7 @@ module MakeImpl Lang> { ap instanceof ApNil } - override predicate isSink() { + predicate isAtSink() { sinkNode(node, state) and ap instanceof ApNil and // For `FeatureHasSinkCallContext` the condition `cc instanceof CallContextNoCall` @@ -2662,6 +2725,37 @@ module MakeImpl Lang> { then instanceofCcNoCall(cc) else any() } + + StagePathNodeSink projectToSink(string model) { + this.isAtSink() and + sinkModel(node, model) and + result.getNodeEx() = node and + result.getState() = state + } + } + + /** + * A flow graph node corresponding to a sink. This is disjoint from the + * intermediate nodes in order to uniquely correspond to a given sink by + * excluding the call context. + */ + private class StagePathNodeSink extends StagePathNodeImpl, TStagePathNodeSink { + NodeEx node; + FlowState state; + + StagePathNodeSink() { this = TStagePathNodeSink(node, state) } + + override NodeEx getNodeEx() { result = node } + + override FlowState getState() { result = state } + + override string toString() { result = node.toString() } + + override StagePathNodeImpl getASuccessorImpl(string label) { + result.isArbitrarySink() and label = "" + } + + override predicate isSource() { sourceNode(node, state) } } pragma[nomagic] @@ -2795,7 +2889,7 @@ module MakeImpl Lang> { ) { pn1 = pn2 and summaryLabel = "" and - subpaths(_, pn1, _, _) + subpathsImpl(_, pn1, _, _) or exists(StagePathNodeImpl mid, string l1, string l2 | summaryLabel(pn1, mid, l1) and @@ -2806,7 +2900,7 @@ module MakeImpl Lang> { private predicate summaryStep(StagePathNodeImpl arg, StagePathNodeImpl out, string label) { exists(StagePathNodeImpl par, StagePathNodeImpl ret | - subpaths(arg, par, ret, out) and + subpathsImpl(arg, par, ret, out) and summaryLabel(par, ret, label) ) } @@ -2881,30 +2975,37 @@ module MakeImpl Lang> { ) } - query predicate subpaths( + /** + * Holds if `(arg, par, ret, out)` forms a subpath-tuple. + * + * All of the nodes may be hidden. + */ + private predicate subpathsImpl( StagePathNodeImpl arg, StagePathNodeImpl par, StagePathNodeImpl ret, StagePathNodeImpl out ) { exists( NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, - ApOption argAp, Typ t0, Ap ap + ApOption argAp, Typ t0, Ap ap, StagePathNodeImpl out0 | fwdFlowThroughStep2(arg, par, ret, node, cc, state, summaryCtx, argT, argAp, t0, ap) and - out = typeStrengthenToStagePathNode(node, state, cc, summaryCtx, argT, argAp, t0, ap) + out0 = typeStrengthenToStagePathNode(node, state, cc, summaryCtx, argT, argAp, t0, ap) + | + out = out0 or out = out0.(StagePathNodeMid).projectToSink(_) ) } - query predicate edges(StagePathNodeImpl pn1, StagePathNodeImpl pn2, string key, string val) { - key = "provenance" and - ( - localStep(pn1, pn2, val) - or - nonLocalStep(pn1, pn2, val) - or - pn1.isArbitrarySource() and pn2.isSource() and val = "" - or - pn1.isSink() and pn2.isArbitrarySink() and val = "" - ) + module StagePathGraph { + predicate edges(StagePathNodeImpl a, StagePathNodeImpl b, string key, string val) { + a.getASuccessorImpl(val) = b and + key = "provenance" + } + + query predicate nodes(StagePathNodeImpl n, string key, string val) { + key = "semmle.label" and val = n.toString() + } + + query predicate subpaths = subpathsImpl/4; } } From c2b25c7f2b984aa2145c2248caff24f58fdda94e Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Tue, 20 Aug 2024 15:08:47 +0200 Subject: [PATCH 164/258] Dataflow: Check clearsContent on store targets in StagePathGraph. --- .../codeql/dataflow/internal/DataFlowImpl.qll | 55 +++++++++++++++---- 1 file changed, 45 insertions(+), 10 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index ed00319dc0d..da1825f8879 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -1406,6 +1406,9 @@ module MakeImpl Lang> { bindingset[node, state, t0, ap] predicate filter(NodeEx node, FlowState state, Typ t0, Ap ap, Typ t); + bindingset[node, ap, isStoreStep] + predicate stepFilter(NodeEx node, Ap ap, boolean isStoreStep); + bindingset[typ, contentType] predicate typecheckStore(Typ typ, DataFlowType contentType); @@ -2842,11 +2845,12 @@ module MakeImpl Lang> { private predicate localStep( StagePathNodeImpl pn1, NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, - TypOption argT, ApOption argAp, Typ t, Ap ap, string label + TypOption argT, ApOption argAp, Typ t, Ap ap, string label, boolean isStoreStep ) { exists(NodeEx mid, FlowState state0, Typ t0, LocalCc localCc | pn1 = TStagePathNodeMid(mid, state0, cc, summaryCtx, argT, argAp, t0, ap) and - localCc = getLocalCc(cc) + localCc = getLocalCc(cc) and + isStoreStep = false | localStep(mid, state0, node, state, true, _, localCc, label) and t = t0 @@ -2860,7 +2864,8 @@ module MakeImpl Lang> { pn1 = TStagePathNodeMid(mid, state, cc, summaryCtx, argT, argAp, t0, ap0) and fwdFlowStore(mid, t0, ap0, c, t, node, state, cc, summaryCtx, argT, argAp) and ap = apCons(c, t0, ap0) and - label = "" + label = "" and + isStoreStep = true ) or // read @@ -2868,17 +2873,19 @@ module MakeImpl Lang> { pn1 = TStagePathNodeMid(mid, state, cc, summaryCtx, argT, argAp, t0, ap0) and fwdFlowRead(t0, ap0, c, mid, node, state, cc, summaryCtx, argT, argAp) and fwdFlowConsCand(t0, ap0, c, t, ap) and - label = "" + label = "" and + isStoreStep = false ) } private predicate localStep(StagePathNodeImpl pn1, StagePathNodeImpl pn2, string label) { exists( NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, - ApOption argAp, Typ t0, Ap ap + ApOption argAp, Typ t0, Ap ap, boolean isStoreStep | - localStep(pn1, node, state, cc, summaryCtx, argT, argAp, t0, ap, label) and - pn2 = typeStrengthenToStagePathNode(node, state, cc, summaryCtx, argT, argAp, t0, ap) + localStep(pn1, node, state, cc, summaryCtx, argT, argAp, t0, ap, label, isStoreStep) and + pn2 = typeStrengthenToStagePathNode(node, state, cc, summaryCtx, argT, argAp, t0, ap) and + stepFilter(node, ap, isStoreStep) ) or summaryStep(pn1, pn2, label) @@ -2971,7 +2978,8 @@ module MakeImpl Lang> { ApOption argAp, Typ t0, Ap ap | nonLocalStep(pn1, node, state, cc, summaryCtx, argT, argAp, t0, ap, label) and - pn2 = typeStrengthenToStagePathNode(node, state, cc, summaryCtx, argT, argAp, t0, ap) + pn2 = typeStrengthenToStagePathNode(node, state, cc, summaryCtx, argT, argAp, t0, ap) and + stepFilter(node, ap, false) ) } @@ -2989,7 +2997,8 @@ module MakeImpl Lang> { ApOption argAp, Typ t0, Ap ap, StagePathNodeImpl out0 | fwdFlowThroughStep2(arg, par, ret, node, cc, state, summaryCtx, argT, argAp, t0, ap) and - out0 = typeStrengthenToStagePathNode(node, state, cc, summaryCtx, argT, argAp, t0, ap) + out0 = typeStrengthenToStagePathNode(node, state, cc, summaryCtx, argT, argAp, t0, ap) and + stepFilter(node, ap, false) | out = out0 or out = out0.(StagePathNodeMid).projectToSink(_) ) @@ -3181,6 +3190,9 @@ module MakeImpl Lang> { ) } + bindingset[node, ap, isStoreStep] + predicate stepFilter(NodeEx node, Ap ap, boolean isStoreStep) { any() } + bindingset[typ, contentType] predicate typecheckStore(Typ typ, DataFlowType contentType) { any() } @@ -3459,6 +3471,9 @@ module MakeImpl Lang> { ) } + bindingset[node, ap, isStoreStep] + predicate stepFilter(NodeEx node, Ap ap, boolean isStoreStep) { any() } + bindingset[typ, contentType] predicate typecheckStore(Typ typ, DataFlowType contentType) { any() } } @@ -3543,10 +3558,15 @@ module MakeImpl Lang> { private predicate clear(NodeEx node, Ap ap) { // When `node` is the target of a store, we interpret `clearsContent` as // only pertaining to _earlier_ store steps. In this case, we need to postpone - // checking `clearsContent` to the `pathStep` predicate + // checking `clearsContent` to the step creation. clearContent(node, ap.getHead(), false) } + pragma[nomagic] + private predicate clearExceptStore(NodeEx node, Ap ap) { + clearContent(node, ap.getHead(), true) + } + pragma[nomagic] private predicate expectsContentCand(NodeEx node, Ap ap) { exists(Content c | @@ -3569,6 +3589,11 @@ module MakeImpl Lang> { ) } + bindingset[node, ap, isStoreStep] + predicate stepFilter(NodeEx node, Ap ap, boolean isStoreStep) { + if clearExceptStore(node, ap) then isStoreStep = true else any() + } + bindingset[typ, contentType] predicate typecheckStore(Typ typ, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter @@ -3829,6 +3854,16 @@ module MakeImpl Lang> { exists(ap) } + pragma[nomagic] + private predicate clearExceptStore(NodeEx node, Ap ap) { + Stage4Param::clearContent(node, ap.getHead(), true) + } + + bindingset[node, ap, isStoreStep] + predicate stepFilter(NodeEx node, Ap ap, boolean isStoreStep) { + if clearExceptStore(node, ap) then isStoreStep = true else any() + } + bindingset[typ, contentType] predicate typecheckStore(Typ typ, DataFlowType contentType) { compatibleTypesFilter(typ, contentType) From e594e7283d90d77e6d7fe1b7e03b5b29883f036c Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Wed, 21 Aug 2024 10:18:01 +0200 Subject: [PATCH 165/258] Dataflow: Check stateful in/out-barriers in each stage. --- .../codeql/dataflow/internal/DataFlowImpl.qll | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index da1825f8879..6054dc4e27c 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -1578,6 +1578,7 @@ module MakeImpl Lang> { fwdFlowThrough(call, cc, state, ccc, summaryCtx, argT, argAp, t, ap, apa, ret, innerArgApa) and flowThroughOutOfCall(call, ccc, ret, node, allowsFieldFlow, innerArgApa, apa) and + not inBarrier(node, state) and if allowsFieldFlow = false then ap instanceof ApNil else any() ) } @@ -1610,6 +1611,8 @@ module MakeImpl Lang> { ) { exists(DataFlowType contentType, DataFlowType containerType, ApApprox apa1 | fwdFlow(node1, state, cc, summaryCtx, argT, argAp, t1, ap1, apa1) and + not outBarrier(node1, state) and + not inBarrier(node2, state) and PrevStage::storeStepCand(node1, apa1, c, node2, contentType, containerType) and t2 = getTyp(containerType) and typecheckStore(t1, contentType) @@ -1651,6 +1654,8 @@ module MakeImpl Lang> { ) { exists(ApHeadContent apc | fwdFlow(node1, state, cc, summaryCtx, argT, argAp, t, ap, _) and + not outBarrier(node1, state) and + not inBarrier(node2, state) and apc = getHeadContent(ap) and readStepCand0(node1, apc, c, node2) ) @@ -1761,6 +1766,8 @@ module MakeImpl Lang> { or viableImplArgNotCallContextReduced(call, arg, outercc) ) and + not outBarrier(arg, state) and + not inBarrier(p, state) and callEdgeArgParamRestrictedInlineLate(call, inner, arg, p, allowsFieldFlow, apa) and (if allowsFieldFlow = false then emptyAp = true else any()) and if allowsFieldFlowThrough(call, inner) @@ -1888,6 +1895,7 @@ module MakeImpl Lang> { ApOption argAp, Typ t, Ap ap, ApApprox apa ) { instanceofCcNoCall(cc) and + not outBarrier(ret, state) and fwdFlow(ret, state, cc, summaryCtx, argT, argAp, t, ap, apa) } @@ -1925,6 +1933,7 @@ module MakeImpl Lang> { exists(RetNodeEx ret, CcNoCall innercc, boolean allowsFieldFlow | fwdFlowIntoRet(ret, state, innercc, summaryCtx, argT, argAp, t, ap, apa) and fwdFlowOutValidEdge(call, ret, innercc, inner, out, outercc, apa, allowsFieldFlow) and + not inBarrier(out, state) and if allowsFieldFlow = false then ap instanceof ApNil else any() ) } @@ -2018,6 +2027,7 @@ module MakeImpl Lang> { fwdFlow(pragma[only_bind_into](ret), state, ccc, TParamNodeSome(pragma[only_bind_into](summaryCtx.asNode())), TypOption::some(argT), pragma[only_bind_into](apSome(argAp)), t, ap, pragma[only_bind_into](apa)) and + not outBarrier(ret, state) and kind = ret.getKind() and parameterFlowThroughAllowed(summaryCtx, kind) and argApa = getApprox(argAp) and @@ -2839,6 +2849,7 @@ module MakeImpl Lang> { fwdFlowThroughStep1(pn1, pn2, pn3, call, cc, state, ccc, summaryCtx, argT, argAp, t, ap, apa, ret, innerArgApa) and flowThroughOutOfCall(call, ccc, ret, node, allowsFieldFlow, innerArgApa, apa) and + not inBarrier(node, state) and if allowsFieldFlow = false then ap instanceof ApNil else any() ) } @@ -2926,11 +2937,15 @@ module MakeImpl Lang> { | jumpStepEx(mid, node) and state = state0 and + not outBarrier(mid, state) and + not inBarrier(node, state) and t = t0 and label = "" or additionalJumpStep(mid, node, label) and state = state0 and + not outBarrier(mid, state) and + not inBarrier(node, state) and t = getNodeTyp(node) and ap instanceof ApNil or @@ -2967,6 +2982,7 @@ module MakeImpl Lang> { pn1 = TStagePathNodeMid(ret, state, innercc, summaryCtx, argT, argAp, t, ap) and fwdFlowIntoRet(ret, state, innercc, summaryCtx, argT, argAp, t, ap, apa) and fwdFlowOutValidEdge(_, ret, innercc, _, node, cc, apa, allowsFieldFlow) and + not inBarrier(node, state) and label = "" and if allowsFieldFlow = false then ap instanceof ApNil else any() ) From 831a66d812b4a4782c4247d1017e4e22cadd095f Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Wed, 21 Aug 2024 10:21:32 +0200 Subject: [PATCH 166/258] Dataflow: Add getANonHiddenSuccessor to StagePathNodeImpl. --- .../codeql/dataflow/internal/DataFlowImpl.qll | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 6054dc4e27c..be41f435225 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -2570,6 +2570,38 @@ module MakeImpl Lang> { abstract StagePathNodeImpl getASuccessorImpl(string label); + private StagePathNodeImpl getASuccessorIfHidden(string label) { + this.isHidden() and + result = this.getASuccessorImpl(label) + } + + private StagePathNodeImpl getASuccessorFromNonHidden(string label) { + result = this.getASuccessorImpl(label) and + not this.isHidden() + or + exists(string l1, string l2 | + result = this.getASuccessorFromNonHidden(l1).getASuccessorIfHidden(l2) and + label = mergeLabels(l1, l2) + ) + } + + final StagePathNodeImpl getANonHiddenSuccessor(string label) { + result = this.getASuccessorFromNonHidden(label) and not result.isHidden() + } + + predicate isHidden() { + not Config::includeHiddenNodes() and + ( + hiddenNode(this.getNodeEx().asNode()) and + not this.isSource() and + not this instanceof StagePathNodeSink + or + this.getNodeEx() instanceof TNodeImplicitRead + or + hiddenNode(this.getNodeEx().asParamReturnNode()) + ) + } + /** Gets a textual representation of this element. */ abstract string toString(); From 74739bedfc3414cda2ee13c9c282bc6f077c449f Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Wed, 21 Aug 2024 10:27:51 +0200 Subject: [PATCH 167/258] Dataflow: Add Stage 6 instantiation. --- .../codeql/dataflow/internal/DataFlowImpl.qll | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index be41f435225..3992ce11697 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -4108,6 +4108,86 @@ module MakeImpl Lang> { ) } + private module Stage6Param implements MkStage::StageParam { + private module PrevStage = Stage5; + + class Typ = DataFlowType; + + class Ap = AccessPath; + + class ApNil = AccessPathNil; + + pragma[nomagic] + PrevStage::Ap getApprox(Ap ap) { result = ap.getApprox() } + + Typ getTyp(DataFlowType t) { result = t } + + bindingset[c, t, tail] + Ap apCons(Content c, Typ t, Ap tail) { result.isCons(c, t, tail) } + + class ApHeadContent = Content; + + pragma[noinline] + ApHeadContent getHeadContent(Ap ap) { result = ap.getHead() } + + ApHeadContent projectToHeadContent(Content c) { result = c } + + private module ApOption = Option; + + class ApOption = ApOption::Option; + + ApOption apNone() { result.isNone() } + + ApOption apSome(Ap ap) { result = ApOption::some(ap) } + + private module CallContextSensitivityInput implements CallContextSensitivityInputSig { + predicate relevantCallEdgeIn = PrevStage::relevantCallEdgeIn/2; + + predicate relevantCallEdgeOut = PrevStage::relevantCallEdgeOut/2; + + predicate reducedViableImplInCallContextCand = + Stage5Param::reducedViableImplInCallContext/3; + + predicate reducedViableImplInReturnCand = Stage5Param::reducedViableImplInReturn/2; + } + + import CallContextSensitivity + import LocalCallContext + + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + Typ t, LocalCc lcc, string label + ) { + localFlowBigStep(node1, state1, node2, state2, preservesValue, t, lcc, label) and + PrevStage::revFlow(node1, pragma[only_bind_into](state1), _) and + PrevStage::revFlow(node2, pragma[only_bind_into](state2), _) + } + + bindingset[node, state, t0, ap] + predicate filter(NodeEx node, FlowState state, Typ t0, Ap ap, Typ t) { + strengthenType(node, t0, t) and + exists(state) and + exists(ap) + } + + pragma[nomagic] + private predicate clearExceptStore(NodeEx node, Ap ap) { + Stage4Param::clearContent(node, ap.getHead(), true) + } + + bindingset[node, ap, isStoreStep] + predicate stepFilter(NodeEx node, Ap ap, boolean isStoreStep) { + if clearExceptStore(node, ap) then isStoreStep = true else any() + } + + bindingset[typ, contentType] + predicate typecheckStore(Typ typ, DataFlowType contentType) { + compatibleTypesFilter(typ, contentType) + } + } + + module Stage6 = MkStage::Stage; + private module PrunedCallContextSensitivityStage5 { private module CallContextSensitivityInput implements CallContextSensitivityInputSig { predicate relevantCallEdgeIn = Stage5::relevantCallEdgeIn/2; From 1787bcb05a7ed8cb840a70c6dc0b5a81f9e151ae Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Wed, 21 Aug 2024 10:38:36 +0200 Subject: [PATCH 168/258] Dataflow: Replace PathNode with Stage implementation. --- .../codeql/dataflow/internal/DataFlowImpl.qll | 1143 ++++------------- 1 file changed, 246 insertions(+), 897 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 3992ce11697..70c0b9ec6bf 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -3064,6 +3064,241 @@ module MakeImpl Lang> { query predicate subpaths = subpathsImpl/4; } + + module Public { + private StagePathNodeImpl localStep(StagePathNodeImpl n) { localStep(n, result, _) } + + private predicate localStepToHidden(StagePathNodeImpl n1, StagePathNodeImpl n2) { + n2 = localStep(n1) and + n2.isHidden() + } + + private predicate localStepFromHidden(StagePathNodeImpl n1, StagePathNodeImpl n2) { + n2 = localStep(n1) and + n1.isHidden() + } + + bindingset[par, ret] + pragma[inline_late] + private predicate localStepStar(StagePathNodeImpl par, StagePathNodeImpl ret) { + localStep*(par) = ret + } + + /** + * Holds if `(arg, par, ret, out)` forms a subpath-tuple. + * + * `par` and `ret` are not hidden. + */ + pragma[nomagic] + private predicate subpaths1( + StagePathNodeImpl arg, StagePathNodeImpl par, StagePathNodeImpl ret, + StagePathNodeImpl out + ) { + // direct subpath + subpathsImpl(arg, any(StagePathNodeImpl n | localStepFromHidden*(n, par)), + any(StagePathNodeImpl n | localStepToHidden*(ret, n)), out) and + not par.isHidden() and + not ret.isHidden() and + localStepStar(par, ret) + or + // wrapped subpath using hidden nodes, e.g. flow through a callback inside + // a summarized callable + exists(StagePathNodeImpl par0, StagePathNodeImpl ret0 | + subpaths1(any(StagePathNodeImpl n | localStepToHidden*(par0, n)), par, ret, + any(StagePathNodeImpl n | localStepFromHidden*(n, ret0))) and + subpathsImpl(arg, par0, ret0, out) + ) + } + + /** + * Holds if `(arg, par, ret, out)` forms a subpath-tuple, that is, flow through + * a subpath between `par` and `ret` with the connecting edges `arg -> par` and + * `ret -> out` is summarized as the edge `arg -> out`. + * + * None of the nodes are hidden. + */ + pragma[nomagic] + private predicate subpaths2( + StagePathNodeImpl arg, StagePathNodeImpl par, StagePathNodeImpl ret, + StagePathNodeImpl out + ) { + exists(StagePathNodeImpl out0 | + subpaths1(any(StagePathNodeImpl n | localStepToHidden*(arg, n)), par, ret, + any(StagePathNodeImpl n | localStepFromHidden*(n, out0))) and + not arg.isHidden() and + not out0.isHidden() + | + out = out0 or out = out0.(StagePathNodeMid).projectToSink(_) + ) + } + + /** Holds if `n` is reachable from a source. */ + private predicate fwdReach(StagePathNodeImpl n) { + n.isArbitrarySource() + or + exists(StagePathNodeImpl mid | fwdReach(mid) and mid.getANonHiddenSuccessor(_) = n) + } + + /** Holds if `n` is reachable from a source and can reach a sink. */ + private predicate directReach(StagePathNodeImpl n) { + fwdReach(n) and + ( + n.isArbitrarySink() or + directReach(n.getANonHiddenSuccessor(_)) + ) + } + + /** + * Holds if `n` can reach a return node in a summarized subpath that can reach a sink. + */ + private predicate retReach(StagePathNodeImpl n) { + fwdReach(n) and + ( + exists(StagePathNodeImpl out | subpaths2(_, _, n, out) | + directReach(out) or retReach(out) + ) + or + exists(StagePathNodeImpl mid | + retReach(mid) and + n.getANonHiddenSuccessor(_) = mid and + not subpaths2(_, mid, _, _) + ) + ) + } + + /** Holds if `n` can reach a sink or is used in a subpath that can reach a sink. */ + private predicate reach(StagePathNodeImpl n) { directReach(n) or retReach(n) } + + /** + * A `Node` augmented with a call context (except for sinks) and an access path. + * Only those `PathNode`s that are reachable from a source, and which can reach a sink, are generated. + */ + class PathNode instanceof StagePathNodeImpl { + PathNode() { + reach(this) and + not this instanceof StagePathNodeSrcGrp and + not this instanceof StagePathNodeSinkGrp + } + + /** Gets a textual representation of this element. */ + final string toString() { result = super.toString() } + + /** + * Gets a textual representation of this element, including a textual + * representation of the call context. + */ + final string toStringWithContext() { + result = this.(StagePathNodeMid).toStringWithContext() + or + not this instanceof StagePathNodeMid and result = this.toString() + } + + /** Gets the location of this node. */ + Location getLocation() { result = super.getLocation() } + + /** Gets the underlying `Node`. */ + final Node getNode() { super.getNodeEx().projectToNode() = result } + + /** Gets the parameter node through which data is returned, if any. */ + final ParameterNode asParameterReturnNode() { + result = super.getNodeEx().asParamReturnNode() + } + + /** Gets the `FlowState` of this node. */ + final FlowState getState() { result = super.getState() } + + /** Gets a successor of this node, if any. */ + final PathNode getASuccessor() { result = super.getANonHiddenSuccessor(_) } + + /** Holds if this node is a source. */ + final predicate isSource() { super.isSource() } + + /** Holds if this node is a sink. */ + final predicate isSink() { this instanceof StagePathNodeSink } + + /** + * Holds if this element is at the specified location. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `filepath`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ + pragma[inline] + deprecated final predicate hasLocationInfo( + string filepath, int startline, int startcolumn, int endline, int endcolumn + ) { + this.getLocation() + .hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) + } + + /** + * DEPRECATED: This functionality is no longer available. + * + * Holds if this node is a grouping of source nodes. + */ + deprecated final predicate isSourceGroup(string group) { none() } + + /** + * DEPRECATED: This functionality is no longer available. + * + * Holds if this node is a grouping of sink nodes. + */ + deprecated final predicate isSinkGroup(string group) { none() } + } + + /** Holds if `n1.getASuccessor() = n2` and `n2` can reach a sink. */ + private predicate pathSucc(StagePathNodeImpl n1, StagePathNodeImpl n2) { + n1.getANonHiddenSuccessor(_) = n2 and directReach(n2) + } + + private predicate tcSrc(StagePathNodeImpl n) { n.isSource() } + + private predicate tcSink(StagePathNodeImpl n) { n.isSink() } + + private predicate pathSuccPlus(StagePathNodeImpl n1, StagePathNodeImpl n2) = + doublyBoundedFastTC(pathSucc/2, tcSrc/1, tcSink/1)(n1, n2) + + /** + * Holds if data can flow from `source` to `sink`. + * + * The corresponding paths are generated from the end-points and the graph + * included in the module `PathGraph`. + */ + predicate flowPath(PathNode source, PathNode sink) { + exists(StagePathNodeImpl flowsource, StagePathNodeImpl flowsink | + source = flowsource and sink = flowsink + | + flowsource.isSource() and + (flowsource = flowsink or pathSuccPlus(flowsource, flowsink)) and + flowsink.isSink() + ) + } + + /** + * Provides the query predicates needed to include a graph in a path-problem query. + */ + module PathGraph implements PathGraphSig { + /** Holds if `(a,b)` is an edge in the graph of data flow path explanations. */ + query predicate edges(PathNode a, PathNode b, string key, string val) { + a.(StagePathNodeImpl).getANonHiddenSuccessor(val) = b and + key = "provenance" + } + + /** Holds if `n` is a node in the graph of data flow path explanations. */ + query predicate nodes(PathNode n, string key, string val) { + key = "semmle.label" and val = n.toString() + } + + /** + * Holds if `(arg, par, ret, out)` forms a subpath-tuple, that is, flow through + * a subpath between `par` and `ret` with the connecting edges `arg -> par` and + * `ret -> out` is summarized as the edge `arg -> out`. + */ + query predicate subpaths(PathNode arg, PathNode par, PathNode ret, PathNode out) { + subpaths2(arg, par, ret, out) + } + } + } } additional predicate stats( @@ -4188,61 +4423,6 @@ module MakeImpl Lang> { module Stage6 = MkStage::Stage; - private module PrunedCallContextSensitivityStage5 { - private module CallContextSensitivityInput implements CallContextSensitivityInputSig { - predicate relevantCallEdgeIn = Stage5::relevantCallEdgeIn/2; - - predicate relevantCallEdgeOut = Stage5::relevantCallEdgeOut/2; - - predicate reducedViableImplInCallContextCand = - Stage5Param::reducedViableImplInCallContext/3; - - predicate reducedViableImplInReturnCand = Stage5Param::reducedViableImplInReturn/2; - } - - import CallContextSensitivity - import LocalCallContext - } - - private class CallContext = PrunedCallContextSensitivityStage5::Cc; - - private class CallContextCall = PrunedCallContextSensitivityStage5::CcCall; - - private class CallContextNoCall = PrunedCallContextSensitivityStage5::CcNoCall; - - private predicate callContextNone = PrunedCallContextSensitivityStage5::ccNone/0; - - private predicate callContextSomeCall = PrunedCallContextSensitivityStage5::ccSomeCall/0; - - private predicate sourceCallCtx(CallContext cc) { - if hasSourceCallCtx() then cc = callContextSomeCall() else cc = callContextNone() - } - - private newtype TPathNode = - TPathNodeMid( - NodeEx node, FlowState state, CallContext cc, SummaryCtx sc, DataFlowType t, AccessPath ap, - string summaryLabel - ) { - // A PathNode is introduced by a source ... - Stage5::revFlow(node, state) and - sourceNode(node, state) and - sourceCallCtx(cc) and - sc instanceof SummaryCtxNone and - t = node.getDataFlowType() and - ap = TAccessPathNil() and - summaryLabel = "-" - or - // ... or a step from an existing PathNode to another node. - pathStep(_, node, state, cc, sc, t, ap, summaryLabel, _) - } or - TPathNodeSink(NodeEx node, FlowState state) { - exists(PathNodeMid sink | - sink.isAtSink(_) and - node = sink.getNodeEx() and - state = sink.getState() - ) - } - /** * A list of `Content`s where nested tails are also paired with a * `DataFlowType`. If data flows from a source to a given node with a given @@ -4411,830 +4591,23 @@ module MakeImpl Lang> { } } - abstract private class PathNodeImpl extends TPathNode { - /** Gets the `FlowState` of this node. */ - abstract FlowState getState(); + private module S6Graph = Stage6::Graph; - /** Holds if this node is a source. */ - abstract predicate isSource(string model); + private module S6 = S6Graph::Public; - abstract PathNodeImpl getASuccessorImpl(string label); - - private PathNodeImpl getASuccessorIfHidden(string label) { - this.isHidden() and - result = this.getASuccessorImpl(label) - } - - private PathNodeImpl getASuccessorFromNonHidden(string label) { - result = this.getASuccessorImpl(label) and - not this.isHidden() - or - exists(string l1, string l2 | - result = this.getASuccessorFromNonHidden(l1).getASuccessorIfHidden(l2) and - label = mergeLabels(l1, l2) - ) - } - - final PathNodeImpl getANonHiddenSuccessor(string label) { - result = this.getASuccessorFromNonHidden(label) and not result.isHidden() - } - - abstract NodeEx getNodeEx(); - - predicate isHidden() { - not Config::includeHiddenNodes() and - ( - hiddenNode(this.getNodeEx().asNode()) and - not this.isSource(_) and - not this instanceof PathNodeSink - or - this.getNodeEx() instanceof TNodeImplicitRead - or - hiddenNode(this.getNodeEx().asParamReturnNode()) - ) - } - - predicate isFlowSource() { this.isSource(_) } - - predicate isFlowSink() { this instanceof PathNodeSink } - - private string ppType() { - this instanceof PathNodeSink and result = "" - or - exists(string t | t = this.(PathNodeMid).getType().toString() | - if t = "" then result = "" else result = " : " + t - ) - } - - private string ppAp() { - this instanceof PathNodeSink and result = "" - or - exists(string s | s = this.(PathNodeMid).getAp().toString() | - if s = "" then result = "" else result = " " + s - ) - } - - private string ppCtx() { - this instanceof PathNodeSink and result = "" - or - result = " <" + this.(PathNodeMid).getCallContext().toString() + ">" - } - - private string ppSummaryCtx() { - this instanceof PathNodeSink and result = "" - or - result = " <" + this.(PathNodeMid).getSummaryCtx().toString() + ">" - } - - /** Gets a textual representation of this element. */ - string toString() { result = this.getNodeEx().toString() + this.ppType() + this.ppAp() } - - /** - * Gets a textual representation of this element, including a textual - * representation of the call context. - */ - string toStringWithContext() { - result = - this.getNodeEx().toString() + this.ppType() + this.ppAp() + this.ppCtx() + - this.ppSummaryCtx() - } - - /** Gets the location of this node. */ - Location getLocation() { result = this.getNodeEx().getLocation() } - } - - /** Holds if `n` can reach a sink. */ - private predicate directReach(PathNodeImpl n) { - n instanceof PathNodeSink or - directReach(n.getANonHiddenSuccessor(_)) - } - - /** Holds if `n` can reach a sink or is used in a subpath that can reach a sink. */ - private predicate reach(PathNodeImpl n) { directReach(n) or Subpaths::retReach(n) } - - /** Holds if `n1.getASuccessor() = n2` and `n2` can reach a sink. */ - private predicate pathSucc(PathNodeImpl n1, PathNodeImpl n2) { - n1.getANonHiddenSuccessor(_) = n2 and directReach(n2) - } - - private predicate tcSrc(PathNodeImpl n) { n.isFlowSource() or n.isSource(_) } - - private predicate tcSink(PathNodeImpl n) { n.isFlowSink() or n instanceof PathNodeSink } - - private predicate pathSuccPlus(PathNodeImpl n1, PathNodeImpl n2) = - doublyBoundedFastTC(pathSucc/2, tcSrc/1, tcSink/1)(n1, n2) - - /** - * A `Node` augmented with a call context (except for sinks) and an access path. - * Only those `PathNode`s that are reachable from a source, and which can reach a sink, are generated. - */ - class PathNode instanceof PathNodeImpl { - PathNode() { reach(this) } - - /** Gets a textual representation of this element. */ - final string toString() { result = super.toString() } - - /** - * Gets a textual representation of this element, including a textual - * representation of the call context. - */ - final string toStringWithContext() { result = super.toStringWithContext() } - - /** Gets the location of this node. */ - Location getLocation() { result = super.getLocation() } - - /** - * Holds if this element is at the specified location. - * The location spans column `startcolumn` of line `startline` to - * column `endcolumn` of line `endline` in file `filepath`. - * For more information, see - * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). - */ - pragma[inline] - deprecated final predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - this.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) - } - - /** Gets the underlying `Node`. */ - final Node getNode() { super.getNodeEx().projectToNode() = result } - - /** Gets the parameter node through which data is returned, if any. */ - final ParameterNode asParameterReturnNode() { result = super.getNodeEx().asParamReturnNode() } - - /** Gets the `FlowState` of this node. */ - final FlowState getState() { result = super.getState() } - - /** Gets a successor of this node, if any. */ - final PathNode getASuccessor() { result = super.getANonHiddenSuccessor(_) } - - /** Holds if this node is a source. */ - final predicate isSource() { super.isSource(_) } - - /** - * DEPRECATED: This functionality is no longer available. - * - * Holds if this node is a grouping of source nodes. - */ - deprecated final predicate isSourceGroup(string group) { none() } - - /** - * DEPRECATED: This functionality is no longer available. - * - * Holds if this node is a grouping of sink nodes. - */ - deprecated final predicate isSinkGroup(string group) { none() } - } - - /** - * Provides the query predicates needed to include a graph in a path-problem query. - */ - module PathGraph implements PathGraphSig { - /** Holds if `(a,b)` is an edge in the graph of data flow path explanations. */ - query predicate edges(PathNode a, PathNode b, string key, string val) { - a.(PathNodeImpl).getANonHiddenSuccessor(val) = b and - key = "provenance" - } - - /** Holds if `n` is a node in the graph of data flow path explanations. */ - query predicate nodes(PathNode n, string key, string val) { - key = "semmle.label" and val = n.toString() - } - - /** - * Holds if `(arg, par, ret, out)` forms a subpath-tuple, that is, flow through - * a subpath between `par` and `ret` with the connecting edges `arg -> par` and - * `ret -> out` is summarized as the edge `arg -> out`. - */ - query predicate subpaths(PathNode arg, PathNode par, PathNode ret, PathNode out) { - Subpaths::subpaths(arg, par, ret, out) - } - } - - /** - * An intermediate flow graph node. This is a tuple consisting of a `Node`, - * a `FlowState`, a `CallContext`, a `SummaryCtx`, and an `AccessPath`. - */ - private class PathNodeMid extends PathNodeImpl, TPathNodeMid { - NodeEx node; - FlowState state; - CallContext cc; - SummaryCtx sc; - DataFlowType t; - AccessPath ap; - string summaryLabel; - - PathNodeMid() { this = TPathNodeMid(node, state, cc, sc, t, ap, summaryLabel) } - - override NodeEx getNodeEx() { result = node } - - pragma[inline] - final NodeEx getNodeExOutgoing() { result = node and not outBarrier(node, state) } - - override FlowState getState() { result = state } - - CallContext getCallContext() { result = cc } - - SummaryCtx getSummaryCtx() { result = sc } - - DataFlowType getType() { result = t } - - AccessPath getAp() { result = ap } - - string getSummaryLabel() { result = summaryLabel } - - private PathNodeMid getSuccMid(string label) { - pathStep(this, result.getNodeEx(), result.getState(), result.getCallContext(), - result.getSummaryCtx(), result.getType(), result.getAp(), result.getSummaryLabel(), label) - } - - private predicate isSourceWithLabel(string labelprefix) { - exists(string model | - this.isSource(model) and - model != "" and - labelprefix = "Src:" + model + " " - ) - } - - override PathNodeImpl getASuccessorImpl(string label) { - // an intermediate step to another intermediate node - exists(string l2 | result = this.getSuccMid(l2) | - not this.isSourceWithLabel(_) and label = l2 - or - exists(string l1 | - this.isSourceWithLabel(l1) and - label = l1 + l2 - ) - ) - or - // a final step to a sink - exists(string l2, string sinkmodel | result = this.getSuccMid(l2).projectToSink(sinkmodel) | - not this.isSourceWithLabel(_) and - if sinkmodel != "" then label = l2 + " Sink:" + sinkmodel else label = l2 - or - exists(string l1 | - this.isSourceWithLabel(l1) and - if sinkmodel != "" then label = l1 + l2 + " Sink:" + sinkmodel else label = l1 + l2 - ) - ) - } - - override predicate isSource(string model) { - sourceNode(node, state) and - sourceModel(node, model) and - sourceCallCtx(cc) and - sc instanceof SummaryCtxNone and - t = node.getDataFlowType() and - ap = TAccessPathNil() - } - - predicate isAtSink(string model) { - sinkNode(node, state) and - sinkModel(node, model) and - ap instanceof AccessPathNil and - // For `FeatureHasSinkCallContext` the condition `cc instanceof CallContextNoCall` - // is exactly what we need to check. - // For `FeatureEqualSourceSinkCallContext` the initial call context was - // set to `CallContextSomeCall` and jumps are disallowed, so - // `cc instanceof CallContextNoCall` never holds. On the other hand, - // in this case there's never any need to enter a call except to identify - // a summary, so the condition in `pathIntoCallable` enforces this, which - // means that `sc instanceof SummaryCtxNone` holds if and only if we are - // in the call context of the source. - if Config::getAFeature() instanceof FeatureEqualSourceSinkCallContext - then sc instanceof SummaryCtxNone - else - if Config::getAFeature() instanceof FeatureHasSinkCallContext - then cc instanceof CallContextNoCall - else any() - } - - PathNodeSink projectToSink(string model) { - this.isAtSink(model) and - result.getNodeEx() = node and - result.getState() = state - } - } - - /** - * A flow graph node corresponding to a sink. This is disjoint from the - * intermediate nodes in order to uniquely correspond to a given sink by - * excluding the `CallContext`. - */ - private class PathNodeSink extends PathNodeImpl, TPathNodeSink { - NodeEx node; - FlowState state; - - PathNodeSink() { this = TPathNodeSink(node, state) } - - override NodeEx getNodeEx() { result = node } - - override FlowState getState() { result = state } - - override PathNodeImpl getASuccessorImpl(string label) { none() } - - override predicate isSource(string model) { - sourceNode(node, state) and sourceModel(node, model) - } - } - - private predicate pathNode( - PathNodeMid mid, NodeEx midnode, FlowState state, CallContext cc, SummaryCtx sc, - DataFlowType t, AccessPath ap, string summaryLabel, LocalCallContext localCC - ) { - midnode = mid.getNodeEx() and - state = mid.getState() and - cc = mid.getCallContext() and - sc = mid.getSummaryCtx() and - localCC = PrunedCallContextSensitivityStage5::getLocalCc(cc) and - t = mid.getType() and - ap = mid.getAp() and - summaryLabel = mid.getSummaryLabel() - } - - private predicate pathStep( - PathNodeMid mid, NodeEx node, FlowState state, CallContext cc, SummaryCtx sc, DataFlowType t, - AccessPath ap, string summaryLabel, string label - ) { - exists(DataFlowType t0, boolean isStoreStep | - pathStep0(mid, pragma[only_bind_into](node), pragma[only_bind_into](state), cc, sc, t0, ap, - isStoreStep, summaryLabel, label) and - Stage5::revFlow(pragma[only_bind_into](node), pragma[only_bind_into](state), ap.getApprox()) and - strengthenType(node, t0, t) and - not inBarrier(node, state) and - if ap.storeTargetIsClearedAt(node) then isStoreStep = true else any() - ) - } - - /** - * Holds if data may flow from `mid` to `node`. The last step in or out of - * a callable is recorded by `cc`. - */ - pragma[nomagic] - private predicate pathStep0( - PathNodeMid mid, NodeEx node, FlowState state, CallContext cc, SummaryCtx sc, DataFlowType t, - AccessPath ap, boolean isStoreStep, string summaryLabel, string label - ) { - exists(NodeEx midnode, FlowState state0, string sl, LocalCallContext localCC | - pathNode(mid, midnode, state0, cc, sc, t, ap, sl, localCC) and - localFlowBigStep(midnode, state0, node, state, true, _, localCC, label) and - isStoreStep = false and - summaryLabel = mergeLabels(sl, label) - ) - or - exists(NodeEx midnode, FlowState state0, string sl, LocalCallContext localCC | - pathNode(mid, midnode, state0, cc, sc, _, ap, sl, localCC) and - localFlowBigStep(midnode, state0, node, state, false, t, localCC, label) and - ap instanceof AccessPathNil and - isStoreStep = false and - summaryLabel = mergeLabels(sl, label) - ) - or - jumpStepEx(mid.getNodeExOutgoing(), node) and - state = mid.getState() and - cc = callContextNone() and - sc instanceof SummaryCtxNone and - t = mid.getType() and - ap = mid.getAp() and - isStoreStep = false and - summaryLabel = "-" and - label = "" - or - additionalJumpStep(mid.getNodeExOutgoing(), node, label) and - state = mid.getState() and - cc = callContextNone() and - sc instanceof SummaryCtxNone and - mid.getAp() instanceof AccessPathNil and - t = node.getDataFlowType() and - ap = TAccessPathNil() and - isStoreStep = false and - summaryLabel = "-" - or - additionalJumpStateStep(mid.getNodeExOutgoing(), mid.getState(), node, state) and - cc = callContextNone() and - sc instanceof SummaryCtxNone and - mid.getAp() instanceof AccessPathNil and - t = node.getDataFlowType() and - ap = TAccessPathNil() and - isStoreStep = false and - summaryLabel = "-" and - label = "Config" - or - exists(Content c, DataFlowType t0, AccessPath ap0 | - pathStoreStep(mid, node, state, t0, ap0, c, t, cc) and - ap.isCons(c, t0, ap0) and - sc = mid.getSummaryCtx() and - isStoreStep = true and - summaryLabel = mid.getSummaryLabel() and - label = "" - ) - or - exists(Content c, AccessPath ap0 | - pathReadStep(mid, node, state, ap0, c, cc) and - ap0.isCons(c, t, ap) and - sc = mid.getSummaryCtx() and - isStoreStep = false and - summaryLabel = mid.getSummaryLabel() and - label = "" - ) - or - pathIntoCallable(mid, node, state, _, cc, sc, _) and - t = mid.getType() and - ap = mid.getAp() and - isStoreStep = false and - (if sc instanceof SummaryCtxNone then summaryLabel = "-" else summaryLabel = "") and - label = "" - or - pathOutOfCallable(mid, node, state, cc) and - t = mid.getType() and - ap = mid.getAp() and - sc instanceof SummaryCtxNone and - isStoreStep = false and - summaryLabel = "-" and - label = "" - or - pathThroughCallable(mid, node, state, cc, t, ap, label) and - sc = mid.getSummaryCtx() and - isStoreStep = false and - summaryLabel = mergeLabels(mid.getSummaryLabel(), label) - } - - pragma[nomagic] - private predicate pathReadStep( - PathNodeMid mid, NodeEx node, FlowState state, AccessPath ap0, Content c, CallContext cc - ) { - ap0 = mid.getAp() and - c = ap0.getHead() and - Stage5::readStepCand(mid.getNodeExOutgoing(), c, node) and - state = mid.getState() and - cc = mid.getCallContext() - } - - pragma[nomagic] - private predicate pathStoreStep( - PathNodeMid mid, NodeEx node, FlowState state, DataFlowType t0, AccessPath ap0, Content c, - DataFlowType t, CallContext cc - ) { - exists(DataFlowType contentType | - t0 = mid.getType() and - ap0 = mid.getAp() and - Stage5::storeStepCand(mid.getNodeExOutgoing(), _, c, node, contentType, t) and - state = mid.getState() and - cc = mid.getCallContext() and - compatibleTypesFilter(t0, contentType) - ) - } - - private predicate pathOutOfCallable0( - PathNodeMid mid, ReturnPosition pos, FlowState state, CallContext innercc, - AccessPathApprox apa - ) { - exists(RetNodeEx retNode | - retNode = mid.getNodeEx() and - pos = retNode.getReturnPosition() and - state = mid.getState() and - not outBarrier(retNode, state) and - innercc = mid.getCallContext() and - innercc instanceof CallContextNoCall and - apa = mid.getAp().getApprox() and - not outBarrier(retNode, state) - ) - } - - pragma[nomagic] - private predicate pathOutOfCallable1( - PathNodeMid mid, DataFlowCall call, ReturnKindExt kind, FlowState state, CallContext cc, - AccessPathApprox apa - ) { - exists(ReturnPosition pos, DataFlowCallable c, CallContext innercc | - pathOutOfCallable0(mid, pos, state, innercc, apa) and - c = pos.getCallable() and - kind = pos.getKind() and - PrunedCallContextSensitivityStage5::resolveReturn(innercc, c, call) and - cc = PrunedCallContextSensitivityStage5::getCallContextReturn(c, call) - ) - } - - pragma[noinline] - private NodeEx getAnOutNodeFlow(ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa) { - result.asNode() = kind.getAnOutNode(call) and - Stage5::revFlow(result, _, apa) - } - - /** - * Holds if data may flow from `mid` to `out`. The last step of this path - * is a return from a callable and is recorded by `cc`, if needed. - */ - pragma[noinline] - private predicate pathOutOfCallable(PathNodeMid mid, NodeEx out, FlowState state, CallContext cc) { - exists(ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa | - pathOutOfCallable1(mid, call, kind, state, cc, apa) and - out = getAnOutNodeFlow(kind, call, apa) and - not inBarrier(out, state) - ) - } - - /** - * Holds if data may flow from `mid` to the `i`th argument of `call` in `cc`. - */ - pragma[noinline] - private predicate pathIntoArg( - PathNodeMid mid, ParameterPosition ppos, FlowState state, CallContext cc, DataFlowCall call, - DataFlowType t, AccessPath ap, AccessPathApprox apa - ) { - exists(ArgNodeEx arg, ArgumentPosition apos | - pathNode(mid, arg, state, cc, _, t, ap, _, _) and - not outBarrier(arg, state) and - arg.asNode().(ArgNode).argumentOf(call, apos) and - apa = ap.getApprox() and - parameterMatch(ppos, apos) - ) - } - - pragma[nomagic] - private predicate parameterCand( - DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa - ) { - exists(ParamNodeEx p | - Stage5::revFlow(p, _, apa) and - p.isParameterOf(callable, pos) - ) - } - - pragma[nomagic] - private predicate pathIntoCallable0( - PathNodeMid mid, DataFlowCallable callable, ParameterPosition pos, FlowState state, - CallContext outercc, DataFlowCall call, DataFlowType t, AccessPath ap - ) { - exists(AccessPathApprox apa | - pathIntoArg(mid, pragma[only_bind_into](pos), state, outercc, call, t, ap, - pragma[only_bind_into](apa)) and - callable = PrunedCallContextSensitivityStage5::resolveCall(call, outercc) and - parameterCand(callable, pragma[only_bind_into](pos), pragma[only_bind_into](apa)) - ) - } - - /** - * Holds if data may flow from `mid` to `p` through `call`. The contexts - * before and after entering the callable are `outercc` and `innercc`, - * respectively. - */ - pragma[nomagic] - private predicate pathIntoCallable( - PathNodeMid mid, ParamNodeEx p, FlowState state, CallContext outercc, CallContextCall innercc, - SummaryCtx sc, DataFlowCall call - ) { - exists(ParameterPosition pos, DataFlowCallable callable, DataFlowType t, AccessPath ap | - pathIntoCallable0(mid, callable, pos, state, outercc, call, t, ap) and - p.isParameterOf(callable, pos) and - not inBarrier(p, state) and - ( - sc = TSummaryCtxSome(p, state, t, ap) - or - not exists(TSummaryCtxSome(p, state, t, ap)) and - sc = TSummaryCtxNone() and - // When the call contexts of source and sink needs to match then there's - // never any reason to enter a callable except to find a summary. See also - // the comment in `PathNodeMid::isAtSink`. - not Config::getAFeature() instanceof FeatureEqualSourceSinkCallContext - ) and - innercc = PrunedCallContextSensitivityStage5::getCallContextCall(call, callable) - ) - } - - /** Holds if data may flow from a parameter given by `sc` to a return of kind `kind`. */ - pragma[nomagic] - private predicate paramFlowsThrough( - ReturnKindExt kind, FlowState state, CallContextCall cc, SummaryCtxSome sc, DataFlowType t, - AccessPath ap, AccessPathApprox apa, string summaryLabel - ) { - exists(RetNodeEx ret | - pathNode(_, ret, state, cc, sc, t, ap, summaryLabel, _) and - kind = ret.getKind() and - apa = ap.getApprox() and - parameterFlowThroughAllowed(sc.getParamNode(), kind) and - not outBarrier(ret, state) - ) - } - - pragma[nomagic] - private predicate pathThroughCallable0( - DataFlowCall call, PathNodeMid mid, ReturnKindExt kind, FlowState state, CallContext cc, - DataFlowType t, AccessPath ap, AccessPathApprox apa, string label - ) { - exists(CallContext innercc, SummaryCtx sc | - pathIntoCallable(mid, _, _, cc, innercc, sc, call) and - paramFlowsThrough(kind, state, innercc, sc, t, ap, apa, label) - ) - } - - /** - * Holds if data may flow from `mid` through a callable to the node `out`. - * The context `cc` is restored to its value prior to entering the callable. - */ - pragma[noinline] - private predicate pathThroughCallable( - PathNodeMid mid, NodeEx out, FlowState state, CallContext cc, DataFlowType t, AccessPath ap, - string label - ) { - exists(DataFlowCall call, ReturnKindExt kind, AccessPathApprox apa | - pathThroughCallable0(call, mid, kind, state, cc, t, ap, apa, label) and - out = getAnOutNodeFlow(kind, call, apa) - ) - } - - private module Subpaths { - /** - * Holds if `(arg, par, ret, out)` forms a subpath-tuple and `ret` is determined by - * `kind`, `sc`, `apout`, and `innercc`. - */ - pragma[nomagic] - private predicate subpaths01( - PathNodeImpl arg, ParamNodeEx par, SummaryCtxSome sc, CallContext innercc, - ReturnKindExt kind, NodeEx out, FlowState sout, DataFlowType t, AccessPath apout - ) { - pathThroughCallable(arg, out, pragma[only_bind_into](sout), _, pragma[only_bind_into](t), - pragma[only_bind_into](apout), _) and - pathIntoCallable(arg, par, _, _, innercc, sc, _) and - paramFlowsThrough(kind, pragma[only_bind_into](sout), innercc, sc, - pragma[only_bind_into](t), pragma[only_bind_into](apout), _, _) - } - - /** - * Holds if `(arg, par, ret, out)` forms a subpath-tuple and `ret` is determined by - * `kind`, `sc`, `sout`, `apout`, and `innercc`. - */ - pragma[nomagic] - private predicate subpaths02( - PathNodeImpl arg, ParamNodeEx par, SummaryCtxSome sc, CallContext innercc, - ReturnKindExt kind, NodeEx out, FlowState sout, DataFlowType t, AccessPath apout - ) { - subpaths01(arg, par, sc, innercc, kind, out, sout, t, apout) and - out.asNode() = kind.getAnOutNode(_) - } - - /** - * Holds if `(arg, par, ret, out)` forms a subpath-tuple. - */ - pragma[nomagic] - private predicate subpaths03( - PathNodeImpl arg, ParamNodeEx par, PathNodeMid ret, NodeEx out, FlowState sout, - DataFlowType t, AccessPath apout - ) { - exists(SummaryCtxSome sc, CallContext innercc, ReturnKindExt kind, RetNodeEx retnode | - subpaths02(arg, par, sc, innercc, kind, out, sout, t, apout) and - pathNode(ret, retnode, sout, innercc, sc, t, apout, _, _) and - kind = retnode.getKind() - ) - } - - private PathNodeImpl localStep(PathNodeImpl n) { - n.getASuccessorImpl(_) = result and - exists(NodeEx n1, NodeEx n2 | n1 = n.getNodeEx() and n2 = result.getNodeEx() | - localFlowBigStep(n1, _, n2, _, _, _, _, _) or - storeEx(n1, _, n2, _, _) or - readSetEx(n1, _, n2) - ) - } - - private PathNodeImpl summaryCtxStep(PathNodeImpl n) { - n.getASuccessorImpl(_) = result and - exists(SummaryCtxSome sc | - pathNode(n, _, _, _, pragma[only_bind_into](sc), _, _, _, _) and - pathNode(result, _, _, _, pragma[only_bind_into](sc), _, _, _, _) - ) - } - - private predicate localStepToHidden(PathNodeImpl n1, PathNodeImpl n2) { - n2 = localStep(n1) and - n2.isHidden() - } - - private predicate localStepFromHidden(PathNodeImpl n1, PathNodeImpl n2) { - n2 = localStep(n1) and - n1.isHidden() - } - - pragma[nomagic] - private predicate hasSuccessor(PathNodeImpl pred, PathNodeMid succ, NodeEx succNode) { - succ = pred.getASuccessorImpl(_) and - succNode = succ.getNodeEx() - } - - /** - * Holds if `(arg, par, ret, out)` forms a subpath-tuple. - * - * All of the nodes may be hidden. - */ - pragma[nomagic] - private predicate subpaths04( - PathNodeImpl arg, PathNodeImpl par, PathNodeImpl ret, PathNodeImpl out - ) { - exists( - ParamNodeEx p, NodeEx o, FlowState sout, DataFlowType t0, DataFlowType t, - AccessPath apout, PathNodeMid out0 - | - pragma[only_bind_into](arg).getASuccessorImpl(_) = pragma[only_bind_into](out0) and - subpaths03(pragma[only_bind_into](arg), p, ret, o, sout, t0, apout) and - hasSuccessor(pragma[only_bind_into](arg), par, p) and - strengthenType(o, t0, t) and - pathNode(out0, o, sout, _, _, t, apout, _, _) - | - out = out0 or out = out0.projectToSink(_) - ) - } - - bindingset[par, ret] - pragma[inline_late] - private predicate summaryCtxStepStar(PathNodeImpl par, PathNodeImpl ret) { - summaryCtxStep*(par) = ret - } - - /** - * Holds if `(arg, par, ret, out)` forms a subpath-tuple. - * - * `par` and `ret` are not hidden. - */ - pragma[nomagic] - private predicate subpaths05( - PathNodeImpl arg, PathNodeImpl par, PathNodeImpl ret, PathNodeImpl out - ) { - // direct subpath - subpaths04(arg, any(PathNodeImpl n | localStepFromHidden*(n, par)), - any(PathNodeImpl n | localStepToHidden*(ret, n)), out) and - not par.isHidden() and - not ret.isHidden() and - summaryCtxStepStar(par, ret) - or - // wrapped subpath using hidden nodes, e.g. flow through a callback inside - // a summarized callable - exists(PathNodeImpl par0, PathNodeImpl ret0 | - subpaths05(any(PathNodeImpl n | localStepToHidden*(par0, n)), par, ret, - any(PathNodeImpl n | localStepFromHidden*(n, ret0))) and - subpaths04(arg, par0, ret0, out) - ) - } - - /** - * Holds if `(arg, par, ret, out)` forms a subpath-tuple, that is, flow through - * a subpath between `par` and `ret` with the connecting edges `arg -> par` and - * `ret -> out` is summarized as the edge `arg -> out`. - * - * None of the nodes are hidden. - */ - pragma[nomagic] - predicate subpaths(PathNodeImpl arg, PathNodeImpl par, PathNodeImpl ret, PathNodeImpl out) { - subpaths05(any(PathNodeImpl n | localStepToHidden*(arg, n)), par, ret, - any(PathNodeImpl n | localStepFromHidden*(n, out))) and - not arg.isHidden() and - not out.isHidden() - } - - /** - * Holds if `n` can reach a return node in a summarized subpath that can reach a sink. - */ - predicate retReach(PathNodeImpl n) { - exists(PathNodeImpl out | subpaths(_, _, n, out) | directReach(out) or retReach(out)) - or - exists(PathNodeImpl mid | - retReach(mid) and - n.getANonHiddenSuccessor(_) = mid and - not subpaths(_, mid, _, _) - ) - } - } - - /** - * Holds if data can flow from `source` to `sink`. - * - * The corresponding paths are generated from the end-points and the graph - * included in the module `PathGraph`. - */ - predicate flowPath(PathNode source, PathNode sink) { - exists(PathNodeImpl flowsource, PathNodeImpl flowsink | - source = flowsource and sink = flowsink - | - flowsource.isFlowSource() and - (flowsource = flowsink or pathSuccPlus(flowsource, flowsink)) and - flowsink.isFlowSink() - ) - } + import S6 /** DEPRECATED: Use `flowPath` instead. */ deprecated predicate hasFlowPath = flowPath/2; - private predicate flowsTo(PathNodeImpl flowsource, PathNodeSink flowsink, Node source, Node sink) { - flowsource.isSource(_) and - flowsource.getNodeEx().asNode() = source and - (flowsource = flowsink or pathSuccPlus(flowsource, flowsink)) and - flowsink.getNodeEx().asNode() = sink - } - /** * Holds if data can flow from `source` to `sink`. */ - predicate flow(Node source, Node sink) { flowsTo(_, _, source, sink) } + predicate flow(Node source, Node sink) { + exists(PathNode source0, PathNode sink0 | + flowPath(source0, sink0) and source0.getNode() = source and sink0.getNode() = sink + ) + } /** DEPRECATED: Use `flow` instead. */ deprecated predicate hasFlow = flow/2; @@ -5242,7 +4615,7 @@ module MakeImpl Lang> { /** * Holds if data can flow from some source to `sink`. */ - predicate flowTo(Node sink) { sink = any(PathNodeSink n).getNodeEx().asNode() } + predicate flowTo(Node sink) { exists(PathNode n | n.isSink() and n.getNode() = sink) } /** DEPRECATED: Use `flowTo` instead. */ deprecated predicate hasFlowTo = flowTo/1; @@ -5255,24 +4628,6 @@ module MakeImpl Lang> { /** DEPRECATED: Use `flowToExpr` instead. */ deprecated predicate hasFlowToExpr = flowToExpr/1; - private predicate finalStats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples - ) { - fwd = true and - nodes = count(NodeEx n0 | exists(PathNodeImpl pn | pn.getNodeEx() = n0)) and - fields = count(Content f0 | exists(PathNodeMid pn | pn.getAp().getHead() = f0)) and - conscand = count(AccessPath ap | exists(PathNodeMid pn | pn.getAp() = ap)) and - states = count(FlowState state | exists(PathNodeMid pn | pn.getState() = state)) and - tuples = count(PathNodeImpl pn) - or - fwd = false and - nodes = count(NodeEx n0 | exists(PathNodeImpl pn | pn.getNodeEx() = n0 and reach(pn))) and - fields = count(Content f0 | exists(PathNodeMid pn | pn.getAp().getHead() = f0 and reach(pn))) and - conscand = count(AccessPath ap | exists(PathNodeMid pn | pn.getAp() = ap and reach(pn))) and - states = count(FlowState state | exists(PathNodeMid pn | pn.getState() = state and reach(pn))) and - tuples = count(PathNode pn) - } - /** * INTERNAL: Only for debugging. * @@ -5387,17 +4742,11 @@ module MakeImpl Lang> { or stage = "6 Fwd" and n = 60 and - finalStats(true, nodes, fields, conscand, states, tuples) and - calledges = -1 and - tfnodes = -1 and - tftuples = -1 + Stage6::stats(true, nodes, fields, conscand, states, tuples, calledges, tfnodes, tftuples) or stage = "6 Rev" and n = 65 and - finalStats(false, nodes, fields, conscand, states, tuples) and - calledges = -1 and - tfnodes = -1 and - tftuples = -1 + Stage6::stats(false, nodes, fields, conscand, states, tuples, calledges, tfnodes, tftuples) } } From 273c0bd1217c4efd2a58dc3e7a085345ae906784 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Tue, 20 Aug 2024 15:08:47 +0200 Subject: [PATCH 169/258] Dataflow: Delete dead code. --- .../codeql/dataflow/internal/DataFlowImpl.qll | 53 ------------------- 1 file changed, 53 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 70c0b9ec6bf..d2441852c9f 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -4175,49 +4175,6 @@ module MakeImpl Lang> { ) } - private newtype TSummaryCtx = - TSummaryCtxNone() or - TSummaryCtxSome(ParamNodeEx p, FlowState state, DataFlowType t, AccessPath ap) { - exists(AccessPathApprox apa | ap.getApprox() = apa | - Stage5::parameterMayFlowThrough(p, apa) and - Stage5::fwdFlow(p, state, _, _, Option::some(t), _, _, apa, _) and - Stage5::revFlow(p, state, _) - ) - } - - /** - * A context for generating flow summaries. This represents flow entry through - * a specific parameter with an access path of a specific shape. - * - * Summaries are only created for parameters that may flow through. - */ - abstract private class SummaryCtx extends TSummaryCtx { - abstract string toString(); - } - - /** A summary context from which no flow summary can be generated. */ - private class SummaryCtxNone extends SummaryCtx, TSummaryCtxNone { - override string toString() { result = "" } - } - - /** A summary context from which a flow summary can be generated. */ - private class SummaryCtxSome extends SummaryCtx, TSummaryCtxSome { - private ParamNodeEx p; - private FlowState s; - private DataFlowType t; - private AccessPath ap; - - SummaryCtxSome() { this = TSummaryCtxSome(p, s, t, ap) } - - ParamNodeEx getParamNode() { result = p } - - private string ppTyp() { result = t.toString() and result != "" } - - override string toString() { result = p + concat(" : " + this.ppTyp()) + " " + ap } - - Location getLocation() { result = p.getLocation() } - } - pragma[nomagic] private predicate stage5ConsCand(Content c, DataFlowType t, AccessPathFront apf, int len) { Stage5::consCand(c, t, any(AccessPathApprox ap | ap.getFront() = apf and ap.len() = len - 1)) @@ -4448,16 +4405,6 @@ module MakeImpl Lang> { /** Gets a textual representation of this access path. */ abstract string toString(); - - /** Holds if `node`, which is the target of a store step, clears data stored in this access path. */ - pragma[nomagic] - predicate storeTargetIsClearedAt(NodeEx node) { - exists(AccessPathApprox apa | - apa = this.getApprox() and - Stage5::revFlowAp(node, apa) and - Stage4Param::clearContent(node, apa.getHead(), true) - ) - } } private class AccessPathNil extends AccessPath, TAccessPathNil { From 5fbdd83a23453ad6f80ee5c564d2f52cc57948e2 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Tue, 20 Aug 2024 11:39:55 +0200 Subject: [PATCH 170/258] Dataflow: Rename StagePathNode to PathNode. --- .../codeql/dataflow/internal/DataFlowImpl.qll | 198 +++++++++--------- 1 file changed, 95 insertions(+), 103 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index d2441852c9f..379a618dbdf 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -2538,25 +2538,25 @@ module MakeImpl Lang> { * Provides a graph representation of the data flow in this stage suitable for use in a `path-problem` query. */ additional module Graph { - private newtype TStagePathNode = - TStagePathNodeMid( + private newtype TPathNode = + TPathNodeMid( NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, Ap ap ) { fwdFlow(node, state, cc, summaryCtx, argT, argAp, t, ap, _) and revFlow(node, state, _, _, ap) } or - TStagePathNodeSink(NodeEx node, FlowState state) { - exists(StagePathNodeMid sink | + TPathNodeSink(NodeEx node, FlowState state) { + exists(PathNodeMid sink | sink.isAtSink() and node = sink.getNodeEx() and state = sink.getState() ) } or - TStagePathNodeSrcGrp() or - TStagePathNodeSinkGrp() + TPathNodeSrcGrp() or + TPathNodeSinkGrp() - class StagePathNodeImpl extends TStagePathNode { + class PathNodeImpl extends TPathNode { abstract NodeEx getNodeEx(); /** Gets the `FlowState` of this node. */ @@ -2566,16 +2566,16 @@ module MakeImpl Lang> { abstract predicate isSource(); /** Holds if this node is a sink. */ - predicate isSink() { this instanceof TStagePathNodeSink } + predicate isSink() { this instanceof TPathNodeSink } - abstract StagePathNodeImpl getASuccessorImpl(string label); + abstract PathNodeImpl getASuccessorImpl(string label); - private StagePathNodeImpl getASuccessorIfHidden(string label) { + private PathNodeImpl getASuccessorIfHidden(string label) { this.isHidden() and result = this.getASuccessorImpl(label) } - private StagePathNodeImpl getASuccessorFromNonHidden(string label) { + private PathNodeImpl getASuccessorFromNonHidden(string label) { result = this.getASuccessorImpl(label) and not this.isHidden() or @@ -2585,7 +2585,7 @@ module MakeImpl Lang> { ) } - final StagePathNodeImpl getANonHiddenSuccessor(string label) { + final PathNodeImpl getANonHiddenSuccessor(string label) { result = this.getASuccessorFromNonHidden(label) and not result.isHidden() } @@ -2594,7 +2594,7 @@ module MakeImpl Lang> { ( hiddenNode(this.getNodeEx().asNode()) and not this.isSource() and - not this instanceof StagePathNodeSink + not this instanceof PathNodeSink or this.getNodeEx() instanceof TNodeImplicitRead or @@ -2608,12 +2608,12 @@ module MakeImpl Lang> { /** Gets the location of this node. */ Location getLocation() { result = this.getNodeEx().getLocation() } - predicate isArbitrarySource() { this instanceof TStagePathNodeSrcGrp } + predicate isArbitrarySource() { this instanceof TPathNodeSrcGrp } - predicate isArbitrarySink() { this instanceof TStagePathNodeSinkGrp } + predicate isArbitrarySink() { this instanceof TPathNodeSinkGrp } } - private class StagePathNodeSrcGrp extends StagePathNodeImpl, TStagePathNodeSrcGrp { + private class PathNodeSrcGrp extends PathNodeImpl, TPathNodeSrcGrp { override string toString() { result = "" } override Location getLocation() { result.hasLocationInfo("", 0, 0, 0, 0) } @@ -2622,14 +2622,14 @@ module MakeImpl Lang> { override FlowState getState() { none() } - override StagePathNodeImpl getASuccessorImpl(string label) { + override PathNodeImpl getASuccessorImpl(string label) { result.isSource() and label = "" } override predicate isSource() { none() } } - private class StagePathNodeSinkGrp extends StagePathNodeImpl, TStagePathNodeSinkGrp { + private class PathNodeSinkGrp extends PathNodeImpl, TPathNodeSinkGrp { override string toString() { result = "" } override Location getLocation() { result.hasLocationInfo("", 0, 0, 0, 0) } @@ -2638,7 +2638,7 @@ module MakeImpl Lang> { override FlowState getState() { none() } - override StagePathNodeImpl getASuccessorImpl(string label) { none() } + override PathNodeImpl getASuccessorImpl(string label) { none() } override predicate isSource() { none() } } @@ -2647,7 +2647,7 @@ module MakeImpl Lang> { * An intermediate flow graph node. This is a tuple consisting of a node, * a `FlowState`, a call context, a summary context, a tracked type, and an access path. */ - private class StagePathNodeMid extends StagePathNodeImpl, TStagePathNodeMid { + private class PathNodeMid extends PathNodeImpl, TPathNodeMid { NodeEx node; FlowState state; Cc cc; @@ -2657,15 +2657,13 @@ module MakeImpl Lang> { Typ t; Ap ap; - StagePathNodeMid() { - this = TStagePathNodeMid(node, state, cc, summaryCtx, argT, argAp, t, ap) - } + PathNodeMid() { this = TPathNodeMid(node, state, cc, summaryCtx, argT, argAp, t, ap) } override NodeEx getNodeEx() { result = node } override FlowState getState() { result = state } - private StagePathNodeMid getSuccMid(string label) { + private PathNodeMid getSuccMid(string label) { localStep(this, result, label) or nonLocalStep(this, result, label) @@ -2680,7 +2678,7 @@ module MakeImpl Lang> { ) } - override StagePathNodeImpl getASuccessorImpl(string label) { + override PathNodeImpl getASuccessorImpl(string label) { // an intermediate step to another intermediate node exists(string l2 | result = this.getSuccMid(l2) | not this.isSourceWithLabel(_) and label = l2 @@ -2771,7 +2769,7 @@ module MakeImpl Lang> { else any() } - StagePathNodeSink projectToSink(string model) { + PathNodeSink projectToSink(string model) { this.isAtSink() and sinkModel(node, model) and result.getNodeEx() = node and @@ -2784,11 +2782,11 @@ module MakeImpl Lang> { * intermediate nodes in order to uniquely correspond to a given sink by * excluding the call context. */ - private class StagePathNodeSink extends StagePathNodeImpl, TStagePathNodeSink { + private class PathNodeSink extends PathNodeImpl, TPathNodeSink { NodeEx node; FlowState state; - StagePathNodeSink() { this = TStagePathNodeSink(node, state) } + PathNodeSink() { this = TPathNodeSink(node, state) } override NodeEx getNodeEx() { result = node } @@ -2796,7 +2794,7 @@ module MakeImpl Lang> { override string toString() { result = node.toString() } - override StagePathNodeImpl getASuccessorImpl(string label) { + override PathNodeImpl getASuccessorImpl(string label) { result.isArbitrarySink() and label = "" } @@ -2831,46 +2829,46 @@ module MakeImpl Lang> { bindingset[node, state, cc, summaryCtx, argT, argAp, t, ap] pragma[inline_late] - private StagePathNodeImpl mkStagePathNode( + private PathNodeImpl mkPathNode( NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, Ap ap ) { - result = TStagePathNodeMid(node, state, cc, summaryCtx, argT, argAp, t, ap) + result = TPathNodeMid(node, state, cc, summaryCtx, argT, argAp, t, ap) } - private StagePathNodeImpl typeStrengthenToStagePathNode( + private PathNodeImpl typeStrengthenToPathNode( NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t0, Ap ap ) { exists(Typ t | fwdFlow1(node, state, cc, summaryCtx, argT, argAp, t0, t, ap, _) and - result = TStagePathNodeMid(node, state, cc, summaryCtx, argT, argAp, t, ap) + result = TPathNodeMid(node, state, cc, summaryCtx, argT, argAp, t, ap) ) } pragma[nomagic] private predicate fwdFlowThroughStep1( - StagePathNodeImpl pn1, StagePathNodeImpl pn2, StagePathNodeImpl pn3, DataFlowCall call, - Cc cc, FlowState state, CcCall ccc, ParamNodeOption summaryCtx, TypOption argT, - ApOption argAp, Typ t, Ap ap, ApApprox apa, RetNodeEx ret, ApApprox innerArgApa + PathNodeImpl pn1, PathNodeImpl pn2, PathNodeImpl pn3, DataFlowCall call, Cc cc, + FlowState state, CcCall ccc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, + Typ t, Ap ap, ApApprox apa, RetNodeEx ret, ApApprox innerArgApa ) { exists(FlowState state0, ArgNodeEx arg, ParamNodeEx p, Typ innerArgT, Ap innerArgAp | fwdFlowThroughStep0(call, arg, cc, state, ccc, summaryCtx, argT, argAp, t, ap, apa, ret, p, innerArgT, innerArgAp, innerArgApa) and revFlow(arg, state0, _, _, _) and - pn1 = mkStagePathNode(arg, state0, cc, summaryCtx, argT, argAp, innerArgT, innerArgAp) and + pn1 = mkPathNode(arg, state0, cc, summaryCtx, argT, argAp, innerArgT, innerArgAp) and pn2 = - typeStrengthenToStagePathNode(p, state0, ccc, TParamNodeSome(p.asNode()), + typeStrengthenToPathNode(p, state0, ccc, TParamNodeSome(p.asNode()), TypOption::some(innerArgT), apSome(innerArgAp), innerArgT, innerArgAp) and pn3 = - mkStagePathNode(ret, state, ccc, TParamNodeSome(p.asNode()), - TypOption::some(innerArgT), apSome(innerArgAp), t, ap) + mkPathNode(ret, state, ccc, TParamNodeSome(p.asNode()), TypOption::some(innerArgT), + apSome(innerArgAp), t, ap) ) } pragma[nomagic] private predicate fwdFlowThroughStep2( - StagePathNodeImpl pn1, StagePathNodeImpl pn2, StagePathNodeImpl pn3, NodeEx node, Cc cc, + PathNodeImpl pn1, PathNodeImpl pn2, PathNodeImpl pn3, NodeEx node, Cc cc, FlowState state, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, Ap ap ) { @@ -2887,11 +2885,11 @@ module MakeImpl Lang> { } private predicate localStep( - StagePathNodeImpl pn1, NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, + PathNodeImpl pn1, NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, Ap ap, string label, boolean isStoreStep ) { exists(NodeEx mid, FlowState state0, Typ t0, LocalCc localCc | - pn1 = TStagePathNodeMid(mid, state0, cc, summaryCtx, argT, argAp, t0, ap) and + pn1 = TPathNodeMid(mid, state0, cc, summaryCtx, argT, argAp, t0, ap) and localCc = getLocalCc(cc) and isStoreStep = false | @@ -2904,7 +2902,7 @@ module MakeImpl Lang> { or // store exists(NodeEx mid, Content c, Typ t0, Ap ap0 | - pn1 = TStagePathNodeMid(mid, state, cc, summaryCtx, argT, argAp, t0, ap0) and + pn1 = TPathNodeMid(mid, state, cc, summaryCtx, argT, argAp, t0, ap0) and fwdFlowStore(mid, t0, ap0, c, t, node, state, cc, summaryCtx, argT, argAp) and ap = apCons(c, t0, ap0) and label = "" and @@ -2913,7 +2911,7 @@ module MakeImpl Lang> { or // read exists(NodeEx mid, Typ t0, Ap ap0, Content c | - pn1 = TStagePathNodeMid(mid, state, cc, summaryCtx, argT, argAp, t0, ap0) and + pn1 = TPathNodeMid(mid, state, cc, summaryCtx, argT, argAp, t0, ap0) and fwdFlowRead(t0, ap0, c, mid, node, state, cc, summaryCtx, argT, argAp) and fwdFlowConsCand(t0, ap0, c, t, ap) and label = "" and @@ -2921,47 +2919,45 @@ module MakeImpl Lang> { ) } - private predicate localStep(StagePathNodeImpl pn1, StagePathNodeImpl pn2, string label) { + private predicate localStep(PathNodeImpl pn1, PathNodeImpl pn2, string label) { exists( NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t0, Ap ap, boolean isStoreStep | localStep(pn1, node, state, cc, summaryCtx, argT, argAp, t0, ap, label, isStoreStep) and - pn2 = typeStrengthenToStagePathNode(node, state, cc, summaryCtx, argT, argAp, t0, ap) and + pn2 = typeStrengthenToPathNode(node, state, cc, summaryCtx, argT, argAp, t0, ap) and stepFilter(node, ap, isStoreStep) ) or summaryStep(pn1, pn2, label) } - private predicate summaryLabel( - StagePathNodeImpl pn1, StagePathNodeImpl pn2, string summaryLabel - ) { + private predicate summaryLabel(PathNodeImpl pn1, PathNodeImpl pn2, string summaryLabel) { pn1 = pn2 and summaryLabel = "" and subpathsImpl(_, pn1, _, _) or - exists(StagePathNodeImpl mid, string l1, string l2 | + exists(PathNodeImpl mid, string l1, string l2 | summaryLabel(pn1, mid, l1) and localStep(mid, pn2, l2) and summaryLabel = mergeLabels(l1, l2) ) } - private predicate summaryStep(StagePathNodeImpl arg, StagePathNodeImpl out, string label) { - exists(StagePathNodeImpl par, StagePathNodeImpl ret | + private predicate summaryStep(PathNodeImpl arg, PathNodeImpl out, string label) { + exists(PathNodeImpl par, PathNodeImpl ret | subpathsImpl(arg, par, ret, out) and summaryLabel(par, ret, label) ) } private predicate nonLocalStep( - StagePathNodeImpl pn1, NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, + PathNodeImpl pn1, NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, Ap ap, string label ) { // jump exists(NodeEx mid, FlowState state0, Typ t0 | - pn1 = TStagePathNodeMid(mid, state0, _, _, _, _, t0, ap) and + pn1 = TPathNodeMid(mid, state0, _, _, _, _, t0, ap) and cc = ccNone() and summaryCtx = TParamNodeNone() and argT instanceof TypOption::None and @@ -2992,8 +2988,7 @@ module MakeImpl Lang> { ArgNodeEx arg, boolean allowsFlowThrough, Cc outercc, ParamNodeOption outerSummaryCtx, TypOption outerArgT, ApOption outerArgAp | - pn1 = - TStagePathNodeMid(arg, state, outercc, outerSummaryCtx, outerArgT, outerArgAp, t, ap) and + pn1 = TPathNodeMid(arg, state, outercc, outerSummaryCtx, outerArgT, outerArgAp, t, ap) and fwdFlowInStep(arg, node, state, outercc, cc, outerSummaryCtx, outerArgT, outerArgAp, t, ap, allowsFlowThrough) and label = "" and @@ -3011,7 +3006,7 @@ module MakeImpl Lang> { or // flow out of a callable exists(RetNodeEx ret, CcNoCall innercc, boolean allowsFieldFlow, ApApprox apa | - pn1 = TStagePathNodeMid(ret, state, innercc, summaryCtx, argT, argAp, t, ap) and + pn1 = TPathNodeMid(ret, state, innercc, summaryCtx, argT, argAp, t, ap) and fwdFlowIntoRet(ret, state, innercc, summaryCtx, argT, argAp, t, ap, apa) and fwdFlowOutValidEdge(_, ret, innercc, _, node, cc, apa, allowsFieldFlow) and not inBarrier(node, state) and @@ -3020,13 +3015,13 @@ module MakeImpl Lang> { ) } - private predicate nonLocalStep(StagePathNodeImpl pn1, StagePathNodeImpl pn2, string label) { + private predicate nonLocalStep(PathNodeImpl pn1, PathNodeImpl pn2, string label) { exists( NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t0, Ap ap | nonLocalStep(pn1, node, state, cc, summaryCtx, argT, argAp, t0, ap, label) and - pn2 = typeStrengthenToStagePathNode(node, state, cc, summaryCtx, argT, argAp, t0, ap) and + pn2 = typeStrengthenToPathNode(node, state, cc, summaryCtx, argT, argAp, t0, ap) and stepFilter(node, ap, false) ) } @@ -3037,28 +3032,27 @@ module MakeImpl Lang> { * All of the nodes may be hidden. */ private predicate subpathsImpl( - StagePathNodeImpl arg, StagePathNodeImpl par, StagePathNodeImpl ret, - StagePathNodeImpl out + PathNodeImpl arg, PathNodeImpl par, PathNodeImpl ret, PathNodeImpl out ) { exists( NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, - ApOption argAp, Typ t0, Ap ap, StagePathNodeImpl out0 + ApOption argAp, Typ t0, Ap ap, PathNodeImpl out0 | fwdFlowThroughStep2(arg, par, ret, node, cc, state, summaryCtx, argT, argAp, t0, ap) and - out0 = typeStrengthenToStagePathNode(node, state, cc, summaryCtx, argT, argAp, t0, ap) and + out0 = typeStrengthenToPathNode(node, state, cc, summaryCtx, argT, argAp, t0, ap) and stepFilter(node, ap, false) | - out = out0 or out = out0.(StagePathNodeMid).projectToSink(_) + out = out0 or out = out0.(PathNodeMid).projectToSink(_) ) } module StagePathGraph { - predicate edges(StagePathNodeImpl a, StagePathNodeImpl b, string key, string val) { + predicate edges(PathNodeImpl a, PathNodeImpl b, string key, string val) { a.getASuccessorImpl(val) = b and key = "provenance" } - query predicate nodes(StagePathNodeImpl n, string key, string val) { + query predicate nodes(PathNodeImpl n, string key, string val) { key = "semmle.label" and val = n.toString() } @@ -3066,21 +3060,21 @@ module MakeImpl Lang> { } module Public { - private StagePathNodeImpl localStep(StagePathNodeImpl n) { localStep(n, result, _) } + private PathNodeImpl localStep(PathNodeImpl n) { localStep(n, result, _) } - private predicate localStepToHidden(StagePathNodeImpl n1, StagePathNodeImpl n2) { + private predicate localStepToHidden(PathNodeImpl n1, PathNodeImpl n2) { n2 = localStep(n1) and n2.isHidden() } - private predicate localStepFromHidden(StagePathNodeImpl n1, StagePathNodeImpl n2) { + private predicate localStepFromHidden(PathNodeImpl n1, PathNodeImpl n2) { n2 = localStep(n1) and n1.isHidden() } bindingset[par, ret] pragma[inline_late] - private predicate localStepStar(StagePathNodeImpl par, StagePathNodeImpl ret) { + private predicate localStepStar(PathNodeImpl par, PathNodeImpl ret) { localStep*(par) = ret } @@ -3091,21 +3085,20 @@ module MakeImpl Lang> { */ pragma[nomagic] private predicate subpaths1( - StagePathNodeImpl arg, StagePathNodeImpl par, StagePathNodeImpl ret, - StagePathNodeImpl out + PathNodeImpl arg, PathNodeImpl par, PathNodeImpl ret, PathNodeImpl out ) { // direct subpath - subpathsImpl(arg, any(StagePathNodeImpl n | localStepFromHidden*(n, par)), - any(StagePathNodeImpl n | localStepToHidden*(ret, n)), out) and + subpathsImpl(arg, any(PathNodeImpl n | localStepFromHidden*(n, par)), + any(PathNodeImpl n | localStepToHidden*(ret, n)), out) and not par.isHidden() and not ret.isHidden() and localStepStar(par, ret) or // wrapped subpath using hidden nodes, e.g. flow through a callback inside // a summarized callable - exists(StagePathNodeImpl par0, StagePathNodeImpl ret0 | - subpaths1(any(StagePathNodeImpl n | localStepToHidden*(par0, n)), par, ret, - any(StagePathNodeImpl n | localStepFromHidden*(n, ret0))) and + exists(PathNodeImpl par0, PathNodeImpl ret0 | + subpaths1(any(PathNodeImpl n | localStepToHidden*(par0, n)), par, ret, + any(PathNodeImpl n | localStepFromHidden*(n, ret0))) and subpathsImpl(arg, par0, ret0, out) ) } @@ -3119,28 +3112,27 @@ module MakeImpl Lang> { */ pragma[nomagic] private predicate subpaths2( - StagePathNodeImpl arg, StagePathNodeImpl par, StagePathNodeImpl ret, - StagePathNodeImpl out + PathNodeImpl arg, PathNodeImpl par, PathNodeImpl ret, PathNodeImpl out ) { - exists(StagePathNodeImpl out0 | - subpaths1(any(StagePathNodeImpl n | localStepToHidden*(arg, n)), par, ret, - any(StagePathNodeImpl n | localStepFromHidden*(n, out0))) and + exists(PathNodeImpl out0 | + subpaths1(any(PathNodeImpl n | localStepToHidden*(arg, n)), par, ret, + any(PathNodeImpl n | localStepFromHidden*(n, out0))) and not arg.isHidden() and not out0.isHidden() | - out = out0 or out = out0.(StagePathNodeMid).projectToSink(_) + out = out0 or out = out0.(PathNodeMid).projectToSink(_) ) } /** Holds if `n` is reachable from a source. */ - private predicate fwdReach(StagePathNodeImpl n) { + private predicate fwdReach(PathNodeImpl n) { n.isArbitrarySource() or - exists(StagePathNodeImpl mid | fwdReach(mid) and mid.getANonHiddenSuccessor(_) = n) + exists(PathNodeImpl mid | fwdReach(mid) and mid.getANonHiddenSuccessor(_) = n) } /** Holds if `n` is reachable from a source and can reach a sink. */ - private predicate directReach(StagePathNodeImpl n) { + private predicate directReach(PathNodeImpl n) { fwdReach(n) and ( n.isArbitrarySink() or @@ -3151,14 +3143,14 @@ module MakeImpl Lang> { /** * Holds if `n` can reach a return node in a summarized subpath that can reach a sink. */ - private predicate retReach(StagePathNodeImpl n) { + private predicate retReach(PathNodeImpl n) { fwdReach(n) and ( - exists(StagePathNodeImpl out | subpaths2(_, _, n, out) | + exists(PathNodeImpl out | subpaths2(_, _, n, out) | directReach(out) or retReach(out) ) or - exists(StagePathNodeImpl mid | + exists(PathNodeImpl mid | retReach(mid) and n.getANonHiddenSuccessor(_) = mid and not subpaths2(_, mid, _, _) @@ -3167,17 +3159,17 @@ module MakeImpl Lang> { } /** Holds if `n` can reach a sink or is used in a subpath that can reach a sink. */ - private predicate reach(StagePathNodeImpl n) { directReach(n) or retReach(n) } + private predicate reach(PathNodeImpl n) { directReach(n) or retReach(n) } /** * A `Node` augmented with a call context (except for sinks) and an access path. * Only those `PathNode`s that are reachable from a source, and which can reach a sink, are generated. */ - class PathNode instanceof StagePathNodeImpl { + class PathNode instanceof PathNodeImpl { PathNode() { reach(this) and - not this instanceof StagePathNodeSrcGrp and - not this instanceof StagePathNodeSinkGrp + not this instanceof PathNodeSrcGrp and + not this instanceof PathNodeSinkGrp } /** Gets a textual representation of this element. */ @@ -3188,9 +3180,9 @@ module MakeImpl Lang> { * representation of the call context. */ final string toStringWithContext() { - result = this.(StagePathNodeMid).toStringWithContext() + result = this.(PathNodeMid).toStringWithContext() or - not this instanceof StagePathNodeMid and result = this.toString() + not this instanceof PathNodeMid and result = this.toString() } /** Gets the location of this node. */ @@ -3214,7 +3206,7 @@ module MakeImpl Lang> { final predicate isSource() { super.isSource() } /** Holds if this node is a sink. */ - final predicate isSink() { this instanceof StagePathNodeSink } + final predicate isSink() { this instanceof PathNodeSink } /** * Holds if this element is at the specified location. @@ -3247,15 +3239,15 @@ module MakeImpl Lang> { } /** Holds if `n1.getASuccessor() = n2` and `n2` can reach a sink. */ - private predicate pathSucc(StagePathNodeImpl n1, StagePathNodeImpl n2) { + private predicate pathSucc(PathNodeImpl n1, PathNodeImpl n2) { n1.getANonHiddenSuccessor(_) = n2 and directReach(n2) } - private predicate tcSrc(StagePathNodeImpl n) { n.isSource() } + private predicate tcSrc(PathNodeImpl n) { n.isSource() } - private predicate tcSink(StagePathNodeImpl n) { n.isSink() } + private predicate tcSink(PathNodeImpl n) { n.isSink() } - private predicate pathSuccPlus(StagePathNodeImpl n1, StagePathNodeImpl n2) = + private predicate pathSuccPlus(PathNodeImpl n1, PathNodeImpl n2) = doublyBoundedFastTC(pathSucc/2, tcSrc/1, tcSink/1)(n1, n2) /** @@ -3265,7 +3257,7 @@ module MakeImpl Lang> { * included in the module `PathGraph`. */ predicate flowPath(PathNode source, PathNode sink) { - exists(StagePathNodeImpl flowsource, StagePathNodeImpl flowsink | + exists(PathNodeImpl flowsource, PathNodeImpl flowsink | source = flowsource and sink = flowsink | flowsource.isSource() and @@ -3280,7 +3272,7 @@ module MakeImpl Lang> { module PathGraph implements PathGraphSig { /** Holds if `(a,b)` is an edge in the graph of data flow path explanations. */ query predicate edges(PathNode a, PathNode b, string key, string val) { - a.(StagePathNodeImpl).getANonHiddenSuccessor(val) = b and + a.(PathNodeImpl).getANonHiddenSuccessor(val) = b and key = "provenance" } From 525b6f30e3dbcfb150e4f7580b7cf0eb39df2834 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Mon, 19 Aug 2024 11:33:46 +0200 Subject: [PATCH 171/258] C++/C#/Java: Accept test changes. --- .../dataflow/fields/ir-path-flow.expected | 4 + .../dataflow/fields/path-flow.expected | 4 + .../collections/CollectionFlow.expected | 11 - .../global/TaintTrackingPath.expected | 20 ++ .../CWE-625/PermissiveDotRegex.expected | 5 - .../dataflow/capture/inlinetest.expected | 9 - .../apache-collections/test.expected | 208 ------------------ .../frameworks/spring/beans/test.expected | 18 -- .../frameworks/spring/cache/test.expected | 4 - .../frameworks/spring/util/test.expected | 8 - .../frameworks/stream/test.expected | 30 +++ 11 files changed, 58 insertions(+), 263 deletions(-) diff --git a/cpp/ql/test/library-tests/dataflow/fields/ir-path-flow.expected b/cpp/ql/test/library-tests/dataflow/fields/ir-path-flow.expected index 98ca0290f47..43725bb4524 100644 --- a/cpp/ql/test/library-tests/dataflow/fields/ir-path-flow.expected +++ b/cpp/ql/test/library-tests/dataflow/fields/ir-path-flow.expected @@ -848,6 +848,8 @@ edges | simple.cpp:120:8:120:8 | *a [i] | simple.cpp:120:10:120:10 | i | provenance | | | struct_init.c:14:24:14:25 | *ab [a] | struct_init.c:14:24:14:25 | *ab [a] | provenance | | | struct_init.c:14:24:14:25 | *ab [a] | struct_init.c:15:8:15:9 | *ab [a] | provenance | | +| struct_init.c:14:24:14:25 | *ab [a] | struct_init.c:15:8:15:9 | *ab [a] | provenance | | +| struct_init.c:15:8:15:9 | *ab [a] | struct_init.c:15:12:15:12 | a | provenance | | | struct_init.c:15:8:15:9 | *ab [a] | struct_init.c:15:12:15:12 | a | provenance | | | struct_init.c:20:13:20:14 | *definition of ab [a] | struct_init.c:22:8:22:9 | *ab [a] | provenance | | | struct_init.c:20:13:20:14 | *definition of ab [a] | struct_init.c:24:10:24:12 | *& ... [a] | provenance | | @@ -1758,6 +1760,8 @@ nodes | simple.cpp:120:10:120:10 | i | semmle.label | i | | struct_init.c:14:24:14:25 | *ab [a] | semmle.label | *ab [a] | | struct_init.c:14:24:14:25 | *ab [a] | semmle.label | *ab [a] | +| struct_init.c:14:24:14:25 | *ab [a] | semmle.label | *ab [a] | +| struct_init.c:15:8:15:9 | *ab [a] | semmle.label | *ab [a] | | struct_init.c:15:8:15:9 | *ab [a] | semmle.label | *ab [a] | | struct_init.c:15:12:15:12 | a | semmle.label | a | | struct_init.c:20:13:20:14 | *definition of ab [a] | semmle.label | *definition of ab [a] | diff --git a/cpp/ql/test/library-tests/dataflow/fields/path-flow.expected b/cpp/ql/test/library-tests/dataflow/fields/path-flow.expected index 17cd0b7ce02..98e93029073 100644 --- a/cpp/ql/test/library-tests/dataflow/fields/path-flow.expected +++ b/cpp/ql/test/library-tests/dataflow/fields/path-flow.expected @@ -737,6 +737,8 @@ edges | simple.cpp:120:8:120:8 | a [i] | simple.cpp:120:10:120:10 | i | provenance | | | struct_init.c:14:24:14:25 | ab [a] | struct_init.c:14:24:14:25 | ab [a] | provenance | | | struct_init.c:14:24:14:25 | ab [a] | struct_init.c:15:8:15:9 | ab [a] | provenance | | +| struct_init.c:14:24:14:25 | ab [a] | struct_init.c:15:8:15:9 | ab [a] | provenance | | +| struct_init.c:15:8:15:9 | ab [a] | struct_init.c:15:12:15:12 | a | provenance | | | struct_init.c:15:8:15:9 | ab [a] | struct_init.c:15:12:15:12 | a | provenance | | | struct_init.c:15:8:15:9 | ab [a] | struct_init.c:15:12:15:12 | a | provenance | | | struct_init.c:15:8:15:9 | ab [post update] [a] | struct_init.c:14:24:14:25 | ab [a] | provenance | | @@ -1549,6 +1551,8 @@ nodes | simple.cpp:120:10:120:10 | i | semmle.label | i | | struct_init.c:14:24:14:25 | ab [a] | semmle.label | ab [a] | | struct_init.c:14:24:14:25 | ab [a] | semmle.label | ab [a] | +| struct_init.c:14:24:14:25 | ab [a] | semmle.label | ab [a] | +| struct_init.c:15:8:15:9 | ab [a] | semmle.label | ab [a] | | struct_init.c:15:8:15:9 | ab [a] | semmle.label | ab [a] | | struct_init.c:15:8:15:9 | ab [post update] [a] | semmle.label | ab [post update] [a] | | struct_init.c:15:12:15:12 | a | semmle.label | a | diff --git a/csharp/ql/test/library-tests/dataflow/collections/CollectionFlow.expected b/csharp/ql/test/library-tests/dataflow/collections/CollectionFlow.expected index aae5dff536d..dfc46ac8071 100644 --- a/csharp/ql/test/library-tests/dataflow/collections/CollectionFlow.expected +++ b/csharp/ql/test/library-tests/dataflow/collections/CollectionFlow.expected @@ -52,12 +52,10 @@ edges | CollectionFlow.cs:30:69:30:72 | access to parameter dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection [element] : A | provenance | MaD:2 | | CollectionFlow.cs:30:69:30:72 | access to parameter dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection [element] : A | provenance | MaD:8 | | CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection [element] : A | CollectionFlow.cs:30:69:30:87 | call to method First : A | provenance | MaD:16 | -| CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection [element] : A | CollectionFlow.cs:30:69:30:87 | call to method First : A | provenance | MaD:16 | | CollectionFlow.cs:32:58:32:61 | dict : Dictionary [element, property Key] : A | CollectionFlow.cs:32:67:32:70 | access to parameter dict : Dictionary [element, property Key] : A | provenance | | | CollectionFlow.cs:32:67:32:70 | access to parameter dict : Dictionary [element, property Key] : A | CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection [element] : A | provenance | MaD:1 | | CollectionFlow.cs:32:67:32:70 | access to parameter dict : Dictionary [element, property Key] : A | CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection [element] : A | provenance | MaD:7 | | CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection [element] : A | CollectionFlow.cs:32:67:32:83 | call to method First : A | provenance | MaD:16 | -| CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection [element] : A | CollectionFlow.cs:32:67:32:83 | call to method First : A | provenance | MaD:16 | | CollectionFlow.cs:34:57:34:60 | dict : Dictionary [element, property Key] : A | CollectionFlow.cs:34:66:34:69 | access to parameter dict : Dictionary [element, property Key] : A | provenance | | | CollectionFlow.cs:34:66:34:69 | access to parameter dict : Dictionary [element, property Key] : A | CollectionFlow.cs:34:66:34:77 | call to method First> : KeyValuePair [property Key] : A | provenance | MaD:16 | | CollectionFlow.cs:34:66:34:77 | call to method First> : KeyValuePair [property Key] : A | CollectionFlow.cs:34:66:34:81 | access to property Key : A | provenance | | @@ -378,14 +376,10 @@ nodes | CollectionFlow.cs:30:60:30:63 | dict : Dictionary [element, property Value] : A | semmle.label | dict : Dictionary [element, property Value] : A | | CollectionFlow.cs:30:69:30:72 | access to parameter dict : Dictionary [element, property Value] : A | semmle.label | access to parameter dict : Dictionary [element, property Value] : A | | CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection [element] : A | semmle.label | access to property Values : ICollection [element] : A | -| CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection [element] : A | semmle.label | access to property Values : ICollection [element] : A | -| CollectionFlow.cs:30:69:30:87 | call to method First : A | semmle.label | call to method First : A | | CollectionFlow.cs:30:69:30:87 | call to method First : A | semmle.label | call to method First : A | | CollectionFlow.cs:32:58:32:61 | dict : Dictionary [element, property Key] : A | semmle.label | dict : Dictionary [element, property Key] : A | | CollectionFlow.cs:32:67:32:70 | access to parameter dict : Dictionary [element, property Key] : A | semmle.label | access to parameter dict : Dictionary [element, property Key] : A | | CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection [element] : A | semmle.label | access to property Keys : ICollection [element] : A | -| CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection [element] : A | semmle.label | access to property Keys : ICollection [element] : A | -| CollectionFlow.cs:32:67:32:83 | call to method First : A | semmle.label | call to method First : A | | CollectionFlow.cs:32:67:32:83 | call to method First : A | semmle.label | call to method First : A | | CollectionFlow.cs:34:57:34:60 | dict : Dictionary [element, property Key] : A | semmle.label | dict : Dictionary [element, property Key] : A | | CollectionFlow.cs:34:66:34:69 | access to parameter dict : Dictionary [element, property Key] : A | semmle.label | access to parameter dict : Dictionary [element, property Key] : A | @@ -671,20 +665,15 @@ subpaths | CollectionFlow.cs:156:28:156:31 | access to local variable dict : Dictionary [element, property Value] : A | CollectionFlow.cs:26:58:26:61 | dict : Dictionary [element, property Value] : A | CollectionFlow.cs:26:67:26:73 | access to indexer : A | CollectionFlow.cs:156:14:156:32 | call to method DictIndexZero | | CollectionFlow.cs:157:29:157:32 | access to local variable dict : Dictionary [element, property Value] : A | CollectionFlow.cs:28:59:28:62 | dict : Dictionary [element, property Value] : A | CollectionFlow.cs:28:68:28:85 | access to property Value : A | CollectionFlow.cs:157:14:157:33 | call to method DictFirstValue | | CollectionFlow.cs:158:30:158:33 | access to local variable dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:60:30:63 | dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:69:30:87 | call to method First : A | CollectionFlow.cs:158:14:158:34 | call to method DictValuesFirst | -| CollectionFlow.cs:158:30:158:33 | access to local variable dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:60:30:63 | dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:69:30:87 | call to method First : A | CollectionFlow.cs:158:14:158:34 | call to method DictValuesFirst | | CollectionFlow.cs:178:28:178:31 | access to local variable dict : Dictionary [element, property Value] : A | CollectionFlow.cs:26:58:26:61 | dict : Dictionary [element, property Value] : A | CollectionFlow.cs:26:67:26:73 | access to indexer : A | CollectionFlow.cs:178:14:178:32 | call to method DictIndexZero | | CollectionFlow.cs:179:29:179:32 | access to local variable dict : Dictionary [element, property Value] : A | CollectionFlow.cs:28:59:28:62 | dict : Dictionary [element, property Value] : A | CollectionFlow.cs:28:68:28:85 | access to property Value : A | CollectionFlow.cs:179:14:179:33 | call to method DictFirstValue | | CollectionFlow.cs:180:30:180:33 | access to local variable dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:60:30:63 | dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:69:30:87 | call to method First : A | CollectionFlow.cs:180:14:180:34 | call to method DictValuesFirst | -| CollectionFlow.cs:180:30:180:33 | access to local variable dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:60:30:63 | dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:69:30:87 | call to method First : A | CollectionFlow.cs:180:14:180:34 | call to method DictValuesFirst | | CollectionFlow.cs:199:28:199:31 | access to local variable dict : Dictionary [element, property Value] : A | CollectionFlow.cs:26:58:26:61 | dict : Dictionary [element, property Value] : A | CollectionFlow.cs:26:67:26:73 | access to indexer : A | CollectionFlow.cs:199:14:199:32 | call to method DictIndexZero | | CollectionFlow.cs:200:29:200:32 | access to local variable dict : Dictionary [element, property Value] : A | CollectionFlow.cs:28:59:28:62 | dict : Dictionary [element, property Value] : A | CollectionFlow.cs:28:68:28:85 | access to property Value : A | CollectionFlow.cs:200:14:200:33 | call to method DictFirstValue | | CollectionFlow.cs:201:30:201:33 | access to local variable dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:60:30:63 | dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:69:30:87 | call to method First : A | CollectionFlow.cs:201:14:201:34 | call to method DictValuesFirst | -| CollectionFlow.cs:201:30:201:33 | access to local variable dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:60:30:63 | dict : Dictionary [element, property Value] : A | CollectionFlow.cs:30:69:30:87 | call to method First : A | CollectionFlow.cs:201:14:201:34 | call to method DictValuesFirst | -| CollectionFlow.cs:221:28:221:31 | access to local variable dict : Dictionary [element, property Key] : A | CollectionFlow.cs:32:58:32:61 | dict : Dictionary [element, property Key] : A | CollectionFlow.cs:32:67:32:83 | call to method First : A | CollectionFlow.cs:221:14:221:32 | call to method DictKeysFirst | | CollectionFlow.cs:221:28:221:31 | access to local variable dict : Dictionary [element, property Key] : A | CollectionFlow.cs:32:58:32:61 | dict : Dictionary [element, property Key] : A | CollectionFlow.cs:32:67:32:83 | call to method First : A | CollectionFlow.cs:221:14:221:32 | call to method DictKeysFirst | | CollectionFlow.cs:222:27:222:30 | access to local variable dict : Dictionary [element, property Key] : A | CollectionFlow.cs:34:57:34:60 | dict : Dictionary [element, property Key] : A | CollectionFlow.cs:34:66:34:81 | access to property Key : A | CollectionFlow.cs:222:14:222:31 | call to method DictFirstKey | | CollectionFlow.cs:240:28:240:31 | access to local variable dict : Dictionary [element, property Key] : A | CollectionFlow.cs:32:58:32:61 | dict : Dictionary [element, property Key] : A | CollectionFlow.cs:32:67:32:83 | call to method First : A | CollectionFlow.cs:240:14:240:32 | call to method DictKeysFirst | -| CollectionFlow.cs:240:28:240:31 | access to local variable dict : Dictionary [element, property Key] : A | CollectionFlow.cs:32:58:32:61 | dict : Dictionary [element, property Key] : A | CollectionFlow.cs:32:67:32:83 | call to method First : A | CollectionFlow.cs:240:14:240:32 | call to method DictKeysFirst | | CollectionFlow.cs:241:27:241:30 | access to local variable dict : Dictionary [element, property Key] : A | CollectionFlow.cs:34:57:34:60 | dict : Dictionary [element, property Key] : A | CollectionFlow.cs:34:66:34:81 | access to property Key : A | CollectionFlow.cs:241:14:241:31 | call to method DictFirstKey | | CollectionFlow.cs:334:23:334:23 | access to local variable a : A | CollectionFlow.cs:328:32:328:38 | element : A | CollectionFlow.cs:328:23:328:27 | array [Return] : A[] [element] : A | CollectionFlow.cs:334:18:334:20 | [post] access to local variable as : A[] [element] : A | | CollectionFlow.cs:337:20:337:22 | access to local variable as : A[] [element] : A | CollectionFlow.cs:22:34:22:35 | ts : A[] [element] : A | CollectionFlow.cs:22:41:22:45 | access to array element : A | CollectionFlow.cs:337:14:337:23 | call to method First | diff --git a/csharp/ql/test/library-tests/dataflow/global/TaintTrackingPath.expected b/csharp/ql/test/library-tests/dataflow/global/TaintTrackingPath.expected index 24693500fbf..4bf73387c5d 100644 --- a/csharp/ql/test/library-tests/dataflow/global/TaintTrackingPath.expected +++ b/csharp/ql/test/library-tests/dataflow/global/TaintTrackingPath.expected @@ -301,14 +301,22 @@ edges | GlobalDataFlow.cs:89:13:89:18 | access to local variable sink17 : String | GlobalDataFlow.cs:90:15:90:20 | access to local variable sink17 | provenance | | | GlobalDataFlow.cs:89:22:89:110 | call to method Aggregate : String | GlobalDataFlow.cs:89:13:89:18 | access to local variable sink17 : String | provenance | | | GlobalDataFlow.cs:89:23:89:66 | (...) ... : null [element] : String | GlobalDataFlow.cs:89:22:89:110 | call to method Aggregate : String | provenance | MaD:2 | +| GlobalDataFlow.cs:89:23:89:66 | (...) ... : null [element] : String | GlobalDataFlow.cs:89:89:89:89 | s : String | provenance | MaD:2 | +| GlobalDataFlow.cs:89:23:89:66 | (...) ... : null [element] : String | GlobalDataFlow.cs:89:104:89:104 | x : String | provenance | MaD:2 | | GlobalDataFlow.cs:89:57:89:66 | { ..., ... } : null [element] : String | GlobalDataFlow.cs:89:23:89:66 | (...) ... : null [element] : String | provenance | | | GlobalDataFlow.cs:89:59:89:64 | access to local variable sink14 : String | GlobalDataFlow.cs:89:57:89:66 | { ..., ... } : null [element] : String | provenance | | +| GlobalDataFlow.cs:89:89:89:89 | s : String | GlobalDataFlow.cs:89:95:89:101 | ... + ... : String | provenance | | +| GlobalDataFlow.cs:89:104:89:104 | x : String | GlobalDataFlow.cs:89:109:89:109 | access to parameter x : String | provenance | | | GlobalDataFlow.cs:91:13:91:18 | access to local variable sink18 : String | GlobalDataFlow.cs:92:15:92:20 | access to local variable sink18 | provenance | | | GlobalDataFlow.cs:91:13:91:18 | access to local variable sink18 : String | GlobalDataFlow.cs:94:24:94:29 | access to local variable sink18 : String | provenance | | | GlobalDataFlow.cs:91:13:91:18 | access to local variable sink18 : String | GlobalDataFlow.cs:97:23:97:28 | access to local variable sink18 : String | provenance | | | GlobalDataFlow.cs:91:13:91:18 | access to local variable sink18 : String | GlobalDataFlow.cs:100:24:100:29 | access to local variable sink18 : String | provenance | | | GlobalDataFlow.cs:91:22:91:110 | call to method Aggregate : String | GlobalDataFlow.cs:91:13:91:18 | access to local variable sink18 : String | provenance | | | GlobalDataFlow.cs:91:75:91:80 | access to local variable sink14 : String | GlobalDataFlow.cs:91:22:91:110 | call to method Aggregate : String | provenance | MaD:3 | +| GlobalDataFlow.cs:91:75:91:80 | access to local variable sink14 : String | GlobalDataFlow.cs:91:84:91:86 | acc : String | provenance | MaD:3 | +| GlobalDataFlow.cs:91:75:91:80 | access to local variable sink14 : String | GlobalDataFlow.cs:91:104:91:104 | x : String | provenance | MaD:3 | +| GlobalDataFlow.cs:91:84:91:86 | acc : String | GlobalDataFlow.cs:91:95:91:101 | ... + ... : String | provenance | | +| GlobalDataFlow.cs:91:104:91:104 | x : String | GlobalDataFlow.cs:91:109:91:109 | access to parameter x : String | provenance | | | GlobalDataFlow.cs:94:24:94:29 | access to local variable sink18 : String | GlobalDataFlow.cs:94:36:94:41 | access to local variable sink21 : Int32 | provenance | MaD:22 | | GlobalDataFlow.cs:94:36:94:41 | access to local variable sink21 : Int32 | GlobalDataFlow.cs:95:15:95:20 | access to local variable sink21 | provenance | | | GlobalDataFlow.cs:97:23:97:28 | access to local variable sink18 : String | GlobalDataFlow.cs:97:35:97:40 | access to local variable sink22 : Boolean | provenance | MaD:20 | @@ -788,10 +796,18 @@ nodes | GlobalDataFlow.cs:89:23:89:66 | (...) ... : null [element] : String | semmle.label | (...) ... : null [element] : String | | GlobalDataFlow.cs:89:57:89:66 | { ..., ... } : null [element] : String | semmle.label | { ..., ... } : null [element] : String | | GlobalDataFlow.cs:89:59:89:64 | access to local variable sink14 : String | semmle.label | access to local variable sink14 : String | +| GlobalDataFlow.cs:89:89:89:89 | s : String | semmle.label | s : String | +| GlobalDataFlow.cs:89:95:89:101 | ... + ... : String | semmle.label | ... + ... : String | +| GlobalDataFlow.cs:89:104:89:104 | x : String | semmle.label | x : String | +| GlobalDataFlow.cs:89:109:89:109 | access to parameter x : String | semmle.label | access to parameter x : String | | GlobalDataFlow.cs:90:15:90:20 | access to local variable sink17 | semmle.label | access to local variable sink17 | | GlobalDataFlow.cs:91:13:91:18 | access to local variable sink18 : String | semmle.label | access to local variable sink18 : String | | GlobalDataFlow.cs:91:22:91:110 | call to method Aggregate : String | semmle.label | call to method Aggregate : String | | GlobalDataFlow.cs:91:75:91:80 | access to local variable sink14 : String | semmle.label | access to local variable sink14 : String | +| GlobalDataFlow.cs:91:84:91:86 | acc : String | semmle.label | acc : String | +| GlobalDataFlow.cs:91:95:91:101 | ... + ... : String | semmle.label | ... + ... : String | +| GlobalDataFlow.cs:91:104:91:104 | x : String | semmle.label | x : String | +| GlobalDataFlow.cs:91:109:91:109 | access to parameter x : String | semmle.label | access to parameter x : String | | GlobalDataFlow.cs:92:15:92:20 | access to local variable sink18 | semmle.label | access to local variable sink18 | | GlobalDataFlow.cs:94:24:94:29 | access to local variable sink18 : String | semmle.label | access to local variable sink18 : String | | GlobalDataFlow.cs:94:36:94:41 | access to local variable sink21 : Int32 | semmle.label | access to local variable sink21 : Int32 | @@ -1102,6 +1118,10 @@ subpaths | GlobalDataFlow.cs:83:23:83:66 | (...) ... : null [element] : String | GlobalDataFlow.cs:315:31:315:40 | sinkParam8 : String | GlobalDataFlow.cs:318:16:318:25 | access to parameter sinkParam8 : String | GlobalDataFlow.cs:83:22:83:87 | call to method Select : IEnumerable [element] : String | | GlobalDataFlow.cs:85:23:85:66 | (...) ... : null [element] : String | GlobalDataFlow.cs:85:118:85:118 | x : String | GlobalDataFlow.cs:85:127:85:127 | access to parameter x : String | GlobalDataFlow.cs:85:22:85:128 | call to method Zip : IEnumerable [element] : String | | GlobalDataFlow.cs:87:70:87:113 | (...) ... : null [element] : String | GlobalDataFlow.cs:87:121:87:121 | y : String | GlobalDataFlow.cs:87:127:87:127 | access to parameter y : String | GlobalDataFlow.cs:87:22:87:128 | call to method Zip : IEnumerable [element] : String | +| GlobalDataFlow.cs:89:23:89:66 | (...) ... : null [element] : String | GlobalDataFlow.cs:89:89:89:89 | s : String | GlobalDataFlow.cs:89:95:89:101 | ... + ... : String | GlobalDataFlow.cs:89:22:89:110 | call to method Aggregate : String | +| GlobalDataFlow.cs:89:23:89:66 | (...) ... : null [element] : String | GlobalDataFlow.cs:89:104:89:104 | x : String | GlobalDataFlow.cs:89:109:89:109 | access to parameter x : String | GlobalDataFlow.cs:89:22:89:110 | call to method Aggregate : String | +| GlobalDataFlow.cs:91:75:91:80 | access to local variable sink14 : String | GlobalDataFlow.cs:91:84:91:86 | acc : String | GlobalDataFlow.cs:91:95:91:101 | ... + ... : String | GlobalDataFlow.cs:91:22:91:110 | call to method Aggregate : String | +| GlobalDataFlow.cs:91:75:91:80 | access to local variable sink14 : String | GlobalDataFlow.cs:91:104:91:104 | x : String | GlobalDataFlow.cs:91:109:91:109 | access to parameter x : String | GlobalDataFlow.cs:91:22:91:110 | call to method Aggregate : String | | GlobalDataFlow.cs:138:63:138:63 | access to parameter x : String | GlobalDataFlow.cs:387:46:387:46 | x : String | GlobalDataFlow.cs:389:16:389:19 | delegate call : String | GlobalDataFlow.cs:138:45:138:64 | call to method ApplyFunc : String | | GlobalDataFlow.cs:139:29:139:33 | access to local variable sink3 : String | GlobalDataFlow.cs:138:40:138:40 | x : String | GlobalDataFlow.cs:138:45:138:64 | call to method ApplyFunc : String | GlobalDataFlow.cs:139:21:139:34 | delegate call : String | | GlobalDataFlow.cs:147:39:147:43 | access to local variable sink4 : String | GlobalDataFlow.cs:387:46:387:46 | x : String | GlobalDataFlow.cs:389:16:389:19 | delegate call : String | GlobalDataFlow.cs:147:21:147:44 | call to method ApplyFunc : String | diff --git a/java/ql/test/experimental/query-tests/security/CWE-625/PermissiveDotRegex.expected b/java/ql/test/experimental/query-tests/security/CWE-625/PermissiveDotRegex.expected index 7832305e0ac..424cbc58af8 100644 --- a/java/ql/test/experimental/query-tests/security/CWE-625/PermissiveDotRegex.expected +++ b/java/ql/test/experimental/query-tests/security/CWE-625/PermissiveDotRegex.expected @@ -32,7 +32,6 @@ edges | DotRegexSpring.java:71:11:71:42 | decode(...) : String | DotRegexSpring.java:71:29:71:32 | path : String | provenance | | | DotRegexSpring.java:71:11:71:42 | decode(...) : String | DotRegexSpring.java:73:10:73:13 | path : String | provenance | | | DotRegexSpring.java:71:29:71:32 | path : String | DotRegexSpring.java:71:11:71:42 | decode(...) : String | provenance | MaD:3 | -| DotRegexSpring.java:71:29:71:32 | path : String | DotRegexSpring.java:71:11:71:42 | decode(...) : String | provenance | MaD:3 | models | 1 | Source: javax.servlet.http; HttpServletRequest; false; getPathInfo; (); ; ReturnValue; uri-path; manual | | 2 | Source: javax.servlet.http; HttpServletRequest; false; getRequestURI; (); ; ReturnValue; uri-path; manual | @@ -61,11 +60,7 @@ nodes | DotRegexSpring.java:69:28:69:38 | path : String | semmle.label | path : String | | DotRegexSpring.java:71:11:71:42 | decode(...) : String | semmle.label | decode(...) : String | | DotRegexSpring.java:71:29:71:32 | path : String | semmle.label | path : String | -| DotRegexSpring.java:71:29:71:32 | path : String | semmle.label | path : String | -| DotRegexSpring.java:73:10:73:13 | path : String | semmle.label | path : String | | DotRegexSpring.java:73:10:73:13 | path : String | semmle.label | path : String | subpaths | DotRegexSpring.java:22:21:22:24 | path : String | DotRegexSpring.java:69:28:69:38 | path : String | DotRegexSpring.java:73:10:73:13 | path : String | DotRegexSpring.java:22:10:22:25 | decodePath(...) : String | -| DotRegexSpring.java:22:21:22:24 | path : String | DotRegexSpring.java:69:28:69:38 | path : String | DotRegexSpring.java:73:10:73:13 | path : String | DotRegexSpring.java:22:10:22:25 | decodePath(...) : String | -| DotRegexSpring.java:39:21:39:24 | path : String | DotRegexSpring.java:69:28:69:38 | path : String | DotRegexSpring.java:73:10:73:13 | path : String | DotRegexSpring.java:39:10:39:25 | decodePath(...) : String | | DotRegexSpring.java:39:21:39:24 | path : String | DotRegexSpring.java:69:28:69:38 | path : String | DotRegexSpring.java:73:10:73:13 | path : String | DotRegexSpring.java:39:10:39:25 | decodePath(...) : String | diff --git a/java/ql/test/library-tests/dataflow/capture/inlinetest.expected b/java/ql/test/library-tests/dataflow/capture/inlinetest.expected index 0987959e449..5c08b6d3c31 100644 --- a/java/ql/test/library-tests/dataflow/capture/inlinetest.expected +++ b/java/ql/test/library-tests/dataflow/capture/inlinetest.expected @@ -116,16 +116,13 @@ edges | B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this : new Consumer(...) { ... } [String s] : String | provenance | heuristic-callback | | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out1, ] : String | B.java:107:31:111:5 | List out1 : ArrayList [] : String | provenance | | | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | B.java:107:31:111:5 | List out2 : ArrayList [] : String | provenance | | -| B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | B.java:107:31:111:5 | List out2 : ArrayList [] : String | provenance | | | B.java:107:31:111:5 | List out1 : ArrayList [] : String | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out1, ] : String | provenance | | | B.java:107:31:111:5 | List out2 : ArrayList [] : String | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | provenance | | -| B.java:107:31:111:5 | List out2 : ArrayList [] : String | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | provenance | | | B.java:107:31:111:5 | String s : String | B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | provenance | | | B.java:107:31:111:5 | parameter this : new Consumer(...) { ... } [String s] : String | B.java:108:12:108:12 | this : new Consumer(...) { ... } [String s] : String | provenance | | | B.java:107:31:111:5 | parameter this : new Consumer(...) { ... } [String s] : String | B.java:110:16:110:16 | this : new Consumer(...) { ... } [String s] : String | provenance | | | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out1, ] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out1, ] : String | provenance | | | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | provenance | | -| B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | provenance | | | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [String s] : String | B.java:107:31:111:5 | String s : String | provenance | | | B.java:108:12:108:12 | this : new Consumer(...) { ... } [String s] : String | B.java:108:12:108:12 | s | provenance | | | B.java:109:7:109:10 | out1 [post update] : ArrayList [] : String | B.java:109:7:109:10 | this : new Consumer(...) { ... } [List out1, ] : String | provenance | | @@ -363,23 +360,19 @@ nodes | B.java:107:16:111:6 | parameter this : new Consumer>(...) { ... } [String s] : String | semmle.label | parameter this : new Consumer>(...) { ... } [String s] : String | | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out1, ] : String | semmle.label | parameter this [Return] : new Consumer>(...) { ... } [List out1, ] : String | | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | semmle.label | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | -| B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | semmle.label | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | | B.java:107:21:107:21 | l : ArrayList [] : String | semmle.label | l : ArrayList [] : String | | B.java:107:31:107:31 | x : String | semmle.label | x : String | | B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | semmle.label | ...->... : new Consumer(...) { ... } [String s] : String | | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out1, ] : String | semmle.label | ...->... [post update] : new Consumer(...) { ... } [List out1, ] : String | | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | semmle.label | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | -| B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | semmle.label | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | | B.java:107:31:111:5 | List out1 : ArrayList [] : String | semmle.label | List out1 : ArrayList [] : String | | B.java:107:31:111:5 | List out2 : ArrayList [] : String | semmle.label | List out2 : ArrayList [] : String | -| B.java:107:31:111:5 | List out2 : ArrayList [] : String | semmle.label | List out2 : ArrayList [] : String | | B.java:107:31:111:5 | String s : String | semmle.label | String s : String | | B.java:107:31:111:5 | parameter this : new Consumer(...) { ... } [String s] : String | semmle.label | parameter this : new Consumer(...) { ... } [String s] : String | | B.java:107:31:111:5 | parameter this [Return] : new Consumer(...) { ... } [List out1, ] : String | semmle.label | parameter this [Return] : new Consumer(...) { ... } [List out1, ] : String | | B.java:107:31:111:5 | parameter this [Return] : new Consumer(...) { ... } [List out2, ] : String | semmle.label | parameter this [Return] : new Consumer(...) { ... } [List out2, ] : String | | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out1, ] : String | semmle.label | this : new Consumer>(...) { ... } [List out1, ] : String | | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | semmle.label | this : new Consumer>(...) { ... } [List out2, ] : String | -| B.java:107:31:111:5 | this : new Consumer>(...) { ... } [List out2, ] : String | semmle.label | this : new Consumer>(...) { ... } [List out2, ] : String | | B.java:107:31:111:5 | this : new Consumer>(...) { ... } [String s] : String | semmle.label | this : new Consumer>(...) { ... } [String s] : String | | B.java:108:12:108:12 | s | semmle.label | s | | B.java:108:12:108:12 | this : new Consumer(...) { ... } [String s] : String | semmle.label | this : new Consumer(...) { ... } [String s] : String | @@ -527,10 +520,8 @@ subpaths | B.java:46:13:46:14 | m1 : HashMap [] : String | B.java:38:23:38:45 | inp : HashMap [] : String | B.java:38:48:38:70 | out [Return] : HashMap [] : String | B.java:46:17:46:18 | m2 [post update] : HashMap [] : String | | B.java:107:5:107:6 | l2 : ArrayList [, ] : String | B.java:107:16:107:16 | l : ArrayList [] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out1, ] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer>(...) { ... } [List out1, ] : String | | B.java:107:16:111:6 | ...->... : new Consumer>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this : new Consumer>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer>(...) { ... } [List out2, ] : String | -| B.java:107:16:111:6 | ...->... : new Consumer>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this : new Consumer>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer>(...) { ... } [List out2, ] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer>(...) { ... } [List out2, ] : String | | B.java:107:21:107:21 | l : ArrayList [] : String | B.java:107:31:107:31 | x : String | B.java:107:31:111:5 | parameter this [Return] : new Consumer(...) { ... } [List out1, ] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out1, ] : String | | B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this [Return] : new Consumer(...) { ... } [List out2, ] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | -| B.java:107:31:111:5 | ...->... : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this : new Consumer(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this [Return] : new Consumer(...) { ... } [List out2, ] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer(...) { ... } [List out2, ] : String | | B.java:137:5:137:5 | r : new TwoRuns(...) { ... } [List l1, ] : String | B.java:130:19:130:22 | parameter this : new TwoRuns(...) { ... } [List l1, ] : String | B.java:130:19:130:22 | parameter this [Return] : new TwoRuns(...) { ... } [List l2, ] : String | B.java:137:5:137:5 | r [post update] : new TwoRuns(...) { ... } [List l2, ] : String | | B.java:148:17:148:29 | new MyLocal(...) [pre constructor] : MyLocal [String s] : String | B.java:145:7:145:13 | parameter this : MyLocal [String s] : String | B.java:145:7:145:13 | parameter this [Return] : MyLocal [f] : String | B.java:148:17:148:29 | new MyLocal(...) : MyLocal [f] : String | | B.java:149:10:149:10 | m : MyLocal [f] : String | B.java:146:14:146:17 | parameter this : MyLocal [f] : String | B.java:146:30:146:35 | this.f : String | B.java:149:10:149:17 | getF(...) | diff --git a/java/ql/test/library-tests/frameworks/apache-collections/test.expected b/java/ql/test/library-tests/frameworks/apache-collections/test.expected index 76ef7c2b4cf..96a0a4853c3 100644 --- a/java/ql/test/library-tests/frameworks/apache-collections/test.expected +++ b/java/ql/test/library-tests/frameworks/apache-collections/test.expected @@ -1663,7 +1663,6 @@ edges | Test.java:257:91:257:97 | element : String | Test.java:257:73:257:98 | of(...) : FluentIterable [] : String | provenance | MaD:469 | | Test.java:258:49:258:57 | element : String | Test.java:258:110:258:116 | element : String | provenance | | | Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | provenance | | -| Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | provenance | | | Test.java:258:110:258:116 | element : String | Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | provenance | MaD:2 | | Test.java:258:110:258:116 | element : String | Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | provenance | MaD:673 | | Test.java:259:49:259:57 | element : String | Test.java:259:90:259:96 | element : String | provenance | | @@ -1683,17 +1682,13 @@ edges | Test.java:261:77:261:83 | element : String | Test.java:261:61:261:93 | new MultiKey(...) : MultiKey [] : String | provenance | MaD:215 | | Test.java:262:52:262:60 | element : String | Test.java:262:106:262:112 | element : String | provenance | | | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | provenance | MaD:674 | -| Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | provenance | MaD:674 | | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | provenance | | -| Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | provenance | | -| Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | provenance | MaD:1 | | Test.java:262:106:262:112 | element : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:2 | | Test.java:262:106:262:112 | element : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | provenance | MaD:673 | | Test.java:262:106:262:112 | element : String | Test.java:263:41:263:49 | element : String | provenance | | | Test.java:263:41:263:49 | element : String | Test.java:263:102:263:108 | element : String | provenance | | | Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | provenance | | -| Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | provenance | | | Test.java:263:102:263:108 | element : String | Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | provenance | MaD:2 | | Test.java:263:102:263:108 | element : String | Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | provenance | MaD:673 | | Test.java:264:80:264:88 | element : String | Test.java:264:177:264:183 | element : String | provenance | | @@ -1708,8 +1703,6 @@ edges | Test.java:267:39:267:47 | element : ListIterator [] : String | Test.java:267:90:267:96 | element : ListIterator [] : String | provenance | | | Test.java:267:39:267:47 | element : String | Test.java:267:90:267:96 | element : String | provenance | | | Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | Test.java:267:107:267:107 | b : TreeBag [, ] : String | provenance | | -| Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | Test.java:267:107:267:107 | b : TreeBag [, ] : String | provenance | | -| Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | Test.java:267:107:267:107 | b : TreeBag [] : String | provenance | | | Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | Test.java:267:107:267:107 | b : TreeBag [] : String | provenance | | | Test.java:267:90:267:96 | element : ListIterator [] : String | Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | provenance | MaD:2 | | Test.java:267:90:267:96 | element : ListIterator [] : String | Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | provenance | MaD:395 | @@ -1734,7 +1727,6 @@ edges | Test.java:274:114:274:116 | key : String | Test.java:274:107:274:123 | of(...) : Map [] : String | provenance | MaD:11 | | Test.java:275:49:275:53 | key : String | Test.java:275:107:275:109 | key : String | provenance | | | Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | Test.java:275:125:275:125 | m : HashedMap [] : String | provenance | | -| Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | Test.java:275:125:275:125 | m : HashedMap [] : String | provenance | | | Test.java:275:107:275:109 | key : String | Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | provenance | MaD:14 | | Test.java:275:107:275:109 | key : String | Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | provenance | MaD:705 | | Test.java:276:49:276:53 | key : String | Test.java:276:96:276:98 | key : String | provenance | | @@ -1748,8 +1740,6 @@ edges | Test.java:277:122:277:124 | key : String | Test.java:277:115:277:131 | of(...) : Map [] : String | provenance | MaD:11 | | Test.java:279:47:279:51 | key : String | Test.java:279:113:279:115 | key : String | provenance | | | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | -| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | -| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | provenance | | | Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:14 | | Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:661 | | Test.java:279:113:279:115 | key : String | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | provenance | MaD:705 | @@ -1766,11 +1756,9 @@ edges | Test.java:282:102:282:104 | key : String | Test.java:7043:22:7043:26 | key : String | provenance | | | Test.java:283:53:283:57 | key : String | Test.java:283:111:283:113 | key : String | provenance | | | Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | Test.java:283:129:283:129 | m : LinkedMap [] : String | provenance | | -| Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | Test.java:283:129:283:129 | m : LinkedMap [] : String | provenance | | | Test.java:283:111:283:113 | key : String | Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | provenance | MaD:14 | | Test.java:283:111:283:113 | key : String | Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | provenance | MaD:705 | | Test.java:283:129:283:129 | m : LinkedMap [] : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:487 | -| Test.java:283:129:283:129 | m : LinkedMap [] : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:487 | | Test.java:285:47:285:51 | key : String | Test.java:285:103:285:105 | key : String | provenance | | | Test.java:285:97:285:97 | m [post update] : TreeMap [] : String | Test.java:285:121:285:121 | m : TreeMap [] : String | provenance | | | Test.java:285:103:285:105 | key : String | Test.java:285:97:285:97 | m [post update] : TreeMap [] : String | provenance | MaD:14 | @@ -1778,12 +1766,10 @@ edges | Test.java:286:113:286:115 | key : String | Test.java:286:62:286:116 | new TiedMapEntry(...) : TiedMapEntry [] : String | provenance | MaD:234 | | Test.java:287:75:287:79 | key : String | Test.java:287:137:287:139 | key : String | provenance | | | Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | provenance | | -| Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | provenance | | | Test.java:287:137:287:139 | key : String | Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | provenance | MaD:14 | | Test.java:287:137:287:139 | key : String | Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | provenance | MaD:705 | | Test.java:288:49:288:58 | key : String | Test.java:288:116:288:118 | key : String | provenance | | | Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | provenance | | -| Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | provenance | | | Test.java:288:116:288:118 | key : String | Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | provenance | MaD:14 | | Test.java:288:116:288:118 | key : String | Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | provenance | MaD:705 | | Test.java:290:60:290:66 | value : String | Test.java:290:151:290:155 | value : String | provenance | | @@ -1796,7 +1782,6 @@ edges | Test.java:292:124:292:128 | value : String | Test.java:292:111:292:129 | of(...) : Map [] : String | provenance | MaD:12 | | Test.java:293:51:293:57 | value : String | Test.java:293:116:293:120 | value : String | provenance | | | Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | Test.java:293:131:293:131 | m : HashedMap [] : String | provenance | | -| Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | Test.java:293:131:293:131 | m : HashedMap [] : String | provenance | | | Test.java:293:116:293:120 | value : String | Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | provenance | MaD:15 | | Test.java:293:116:293:120 | value : String | Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | provenance | MaD:706 | | Test.java:294:58:294:64 | value : String | Test.java:294:145:294:149 | value : String | provenance | | @@ -1817,7 +1802,6 @@ edges | Test.java:298:49:298:55 | value : String | Test.java:298:122:298:126 | value : String | provenance | | | Test.java:298:111:298:111 | m [post update] : MultiValueMap [, ] : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | provenance | | | Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | provenance | | -| Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | provenance | | | Test.java:298:122:298:126 | value : String | Test.java:298:111:298:111 | m [post update] : MultiValueMap [, ] : String | provenance | MaD:662 | | Test.java:298:122:298:126 | value : String | Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | provenance | MaD:15 | | Test.java:298:122:298:126 | value : String | Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | provenance | MaD:706 | @@ -1834,11 +1818,9 @@ edges | Test.java:301:145:301:149 | value : String | Test.java:301:125:301:150 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | provenance | MaD:196 | | Test.java:302:54:302:60 | value : String | Test.java:302:119:302:123 | value : String | provenance | | | Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | Test.java:302:134:302:134 | m : LinkedMap [] : String | provenance | | -| Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | Test.java:302:134:302:134 | m : LinkedMap [] : String | provenance | | | Test.java:302:119:302:123 | value : String | Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | provenance | MaD:15 | | Test.java:302:119:302:123 | value : String | Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | provenance | MaD:706 | | Test.java:302:134:302:134 | m : LinkedMap [] : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:488 | -| Test.java:302:134:302:134 | m : LinkedMap [] : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | provenance | MaD:488 | | Test.java:304:49:304:55 | value : Map | Test.java:304:112:304:116 | value : Map | provenance | | | Test.java:304:49:304:55 | value : String | Test.java:304:112:304:116 | value : String | provenance | | | Test.java:304:101:304:101 | m [post update] : TreeMap [] : Map | Test.java:304:127:304:127 | m : TreeMap [] : Map | provenance | | @@ -1851,12 +1833,10 @@ edges | Test.java:305:116:305:120 | value : String | Test.java:305:93:305:121 | newTreeMapWithMapValue(...) : TreeMap [] : String | provenance | MaD:15 | | Test.java:306:77:306:83 | value : String | Test.java:306:146:306:150 | value : String | provenance | | | Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | provenance | | -| Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | provenance | | | Test.java:306:146:306:150 | value : String | Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | provenance | MaD:15 | | Test.java:306:146:306:150 | value : String | Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | provenance | MaD:706 | | Test.java:307:50:307:56 | value : String | Test.java:307:114:307:118 | value : String | provenance | | | Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | provenance | | -| Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | provenance | | | Test.java:307:114:307:118 | value : String | Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | provenance | MaD:15 | | Test.java:307:114:307:118 | value : String | Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | provenance | MaD:706 | | Test.java:308:56:308:62 | value : String | Test.java:308:114:308:118 | value : String | provenance | | @@ -10555,7 +10535,6 @@ nodes | Test.java:239:18:239:57 | container : MyAbstractMapEntryDecorator [] : String | semmle.label | container : MyAbstractMapEntryDecorator [] : String | | Test.java:239:69:239:77 | container : MyAbstractMapEntryDecorator [] : String | semmle.label | container : MyAbstractMapEntryDecorator [] : String | | Test.java:239:69:239:86 | getKey(...) : String | semmle.label | getKey(...) : String | -| Test.java:239:69:239:86 | getKey(...) : String | semmle.label | getKey(...) : String | | Test.java:240:18:240:46 | container : ArrayListValuedHashMap [] : String | semmle.label | container : ArrayListValuedHashMap [] : String | | Test.java:240:18:240:46 | container : HashSetValuedHashMap [] : String | semmle.label | container : HashSetValuedHashMap [] : String | | Test.java:240:18:240:46 | container : MultiValuedMap [] : Object | semmle.label | container : MultiValuedMap [] : Object | @@ -10641,7 +10620,6 @@ nodes | Test.java:245:20:245:59 | container : MyAbstractMapEntryDecorator [] : String | semmle.label | container : MyAbstractMapEntryDecorator [] : String | | Test.java:245:71:245:79 | container : MyAbstractMapEntryDecorator [] : String | semmle.label | container : MyAbstractMapEntryDecorator [] : String | | Test.java:245:71:245:90 | getValue(...) : String | semmle.label | getValue(...) : String | -| Test.java:245:71:245:90 | getValue(...) : String | semmle.label | getValue(...) : String | | Test.java:246:20:246:47 | mapIterator : EntrySetToMapIteratorAdapter [] : String | semmle.label | mapIterator : EntrySetToMapIteratorAdapter [] : String | | Test.java:246:20:246:47 | mapIterator : MapIterator [] : Object | semmle.label | mapIterator : MapIterator [] : Object | | Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | semmle.label | mapIterator : MapIterator [] : String | @@ -10732,10 +10710,8 @@ nodes | Test.java:257:91:257:97 | element : String | semmle.label | element : String | | Test.java:258:49:258:57 | element : String | semmle.label | element : String | | Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | semmle.label | x [post update] : HashMultiSet [] : String | -| Test.java:258:104:258:104 | x [post update] : HashMultiSet [] : String | semmle.label | x [post update] : HashMultiSet [] : String | | Test.java:258:110:258:116 | element : String | semmle.label | element : String | | Test.java:258:127:258:127 | x : HashMultiSet [] : String | semmle.label | x : HashMultiSet [] : String | -| Test.java:258:127:258:127 | x : HashMultiSet [] : String | semmle.label | x : HashMultiSet [] : String | | Test.java:259:49:259:57 | element : String | semmle.label | element : String | | Test.java:259:69:259:97 | newVectorWithElement(...) : Vector [] : String | semmle.label | newVectorWithElement(...) : Vector [] : String | | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | semmle.label | listIterator(...) : ListIterator [] : String | @@ -10757,18 +10733,13 @@ nodes | Test.java:261:77:261:83 | element : String | semmle.label | element : String | | Test.java:262:52:262:60 | element : String | semmle.label | element : String | | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | -| Test.java:262:72:262:125 | getElement(...) : Entry [] : String | semmle.label | getElement(...) : Entry [] : String | | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | semmle.label | newMultiSetWithElement(...) : HashMultiSet [] : String | -| Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | semmle.label | newMultiSetWithElement(...) : HashMultiSet [] : String | -| Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | semmle.label | entrySet(...) : Set [, ] : String | | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | semmle.label | entrySet(...) : Set [, ] : String | | Test.java:262:106:262:112 | element : String | semmle.label | element : String | | Test.java:263:41:263:49 | element : String | semmle.label | element : String | | Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | semmle.label | h [post update] : HashMultiSet [] : String | -| Test.java:263:96:263:96 | h [post update] : HashMultiSet [] : String | semmle.label | h [post update] : HashMultiSet [] : String | | Test.java:263:102:263:108 | element : String | semmle.label | element : String | | Test.java:263:119:263:119 | h : HashMultiSet [] : String | semmle.label | h : HashMultiSet [] : String | -| Test.java:263:119:263:119 | h : HashMultiSet [] : String | semmle.label | h : HashMultiSet [] : String | | Test.java:264:80:264:88 | element : String | semmle.label | element : String | | Test.java:264:171:264:171 | x [post update] : Builder [] : String | semmle.label | x [post update] : Builder [] : String | | Test.java:264:177:264:183 | element : String | semmle.label | element : String | @@ -10784,14 +10755,10 @@ nodes | Test.java:267:39:267:47 | element : ListIterator [] : String | semmle.label | element : ListIterator [] : String | | Test.java:267:39:267:47 | element : String | semmle.label | element : String | | Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | semmle.label | b [post update] : TreeBag [, ] : String | -| Test.java:267:84:267:84 | b [post update] : TreeBag [, ] : String | semmle.label | b [post update] : TreeBag [, ] : String | -| Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | semmle.label | b [post update] : TreeBag [] : String | | Test.java:267:84:267:84 | b [post update] : TreeBag [] : String | semmle.label | b [post update] : TreeBag [] : String | | Test.java:267:90:267:96 | element : ListIterator [] : String | semmle.label | element : ListIterator [] : String | | Test.java:267:90:267:96 | element : String | semmle.label | element : String | | Test.java:267:107:267:107 | b : TreeBag [, ] : String | semmle.label | b : TreeBag [, ] : String | -| Test.java:267:107:267:107 | b : TreeBag [, ] : String | semmle.label | b : TreeBag [, ] : String | -| Test.java:267:107:267:107 | b : TreeBag [] : String | semmle.label | b : TreeBag [] : String | | Test.java:267:107:267:107 | b : TreeBag [] : String | semmle.label | b : TreeBag [] : String | | Test.java:268:39:268:47 | element : String | semmle.label | element : String | | Test.java:268:84:268:84 | h [post update] : TreeSet [] : String | semmle.label | h [post update] : TreeSet [] : String | @@ -10818,10 +10785,8 @@ nodes | Test.java:274:114:274:116 | key : String | semmle.label | key : String | | Test.java:275:49:275:53 | key : String | semmle.label | key : String | | Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | semmle.label | m [post update] : HashedMap [] : String | -| Test.java:275:101:275:101 | m [post update] : HashedMap [] : String | semmle.label | m [post update] : HashedMap [] : String | | Test.java:275:107:275:109 | key : String | semmle.label | key : String | | Test.java:275:125:275:125 | m : HashedMap [] : String | semmle.label | m : HashedMap [] : String | -| Test.java:275:125:275:125 | m : HashedMap [] : String | semmle.label | m : HashedMap [] : String | | Test.java:276:49:276:53 | key : String | semmle.label | key : String | | Test.java:276:65:276:106 | new LinkedMap(...) : LinkedMap [] : String | semmle.label | new LinkedMap(...) : LinkedMap [] : String | | Test.java:276:89:276:105 | of(...) : Map [] : String | semmle.label | of(...) : Map [] : String | @@ -10836,12 +10801,8 @@ nodes | Test.java:277:122:277:124 | key : String | semmle.label | key : String | | Test.java:279:47:279:51 | key : String | semmle.label | key : String | | Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | semmle.label | m [post update] : MultiValueMap [] : String | -| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | semmle.label | m [post update] : MultiValueMap [] : String | -| Test.java:279:107:279:107 | m [post update] : MultiValueMap [] : String | semmle.label | m [post update] : MultiValueMap [] : String | | Test.java:279:113:279:115 | key : String | semmle.label | key : String | | Test.java:279:131:279:131 | m : MultiValueMap [] : String | semmle.label | m : MultiValueMap [] : String | -| Test.java:279:131:279:131 | m : MultiValueMap [] : String | semmle.label | m : MultiValueMap [] : String | -| Test.java:279:131:279:131 | m : MultiValueMap [] : String | semmle.label | m : MultiValueMap [] : String | | Test.java:280:53:280:57 | key : String | semmle.label | key : String | | Test.java:280:69:280:110 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | semmle.label | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | | Test.java:280:102:280:104 | key : String | semmle.label | key : String | @@ -10854,11 +10815,8 @@ nodes | Test.java:282:102:282:104 | key : String | semmle.label | key : String | | Test.java:283:53:283:57 | key : String | semmle.label | key : String | | Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | semmle.label | m [post update] : LinkedMap [] : String | -| Test.java:283:105:283:105 | m [post update] : LinkedMap [] : String | semmle.label | m [post update] : LinkedMap [] : String | | Test.java:283:111:283:113 | key : String | semmle.label | key : String | | Test.java:283:129:283:129 | m : LinkedMap [] : String | semmle.label | m : LinkedMap [] : String | -| Test.java:283:129:283:129 | m : LinkedMap [] : String | semmle.label | m : LinkedMap [] : String | -| Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | | Test.java:285:47:285:51 | key : String | semmle.label | key : String | | Test.java:285:97:285:97 | m [post update] : TreeMap [] : String | semmle.label | m [post update] : TreeMap [] : String | @@ -10869,16 +10827,12 @@ nodes | Test.java:286:113:286:115 | key : String | semmle.label | key : String | | Test.java:287:75:287:79 | key : String | semmle.label | key : String | | Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | semmle.label | m [post update] : TreeBidiMap [] : String | -| Test.java:287:131:287:131 | m [post update] : TreeBidiMap [] : String | semmle.label | m [post update] : TreeBidiMap [] : String | | Test.java:287:137:287:139 | key : String | semmle.label | key : String | | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | semmle.label | m : TreeBidiMap [] : String | -| Test.java:287:155:287:155 | m : TreeBidiMap [] : String | semmle.label | m : TreeBidiMap [] : String | | Test.java:288:49:288:58 | key : String | semmle.label | key : String | | Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | semmle.label | m [post update] : PatriciaTrie [] : String | -| Test.java:288:110:288:110 | m [post update] : PatriciaTrie [] : String | semmle.label | m [post update] : PatriciaTrie [] : String | | Test.java:288:116:288:118 | key : String | semmle.label | key : String | | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | semmle.label | m : PatriciaTrie [] : String | -| Test.java:288:134:288:134 | m : PatriciaTrie [] : String | semmle.label | m : PatriciaTrie [] : String | | Test.java:290:60:290:66 | value : String | semmle.label | value : String | | Test.java:290:140:290:140 | m [post update] : ArrayListValuedHashMap [, ] : String | semmle.label | m [post update] : ArrayListValuedHashMap [, ] : String | | Test.java:290:151:290:155 | value : String | semmle.label | value : String | @@ -10892,10 +10846,8 @@ nodes | Test.java:292:124:292:128 | value : String | semmle.label | value : String | | Test.java:293:51:293:57 | value : String | semmle.label | value : String | | Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | semmle.label | m [post update] : HashedMap [] : String | -| Test.java:293:105:293:105 | m [post update] : HashedMap [] : String | semmle.label | m [post update] : HashedMap [] : String | | Test.java:293:116:293:120 | value : String | semmle.label | value : String | | Test.java:293:131:293:131 | m : HashedMap [] : String | semmle.label | m : HashedMap [] : String | -| Test.java:293:131:293:131 | m : HashedMap [] : String | semmle.label | m : HashedMap [] : String | | Test.java:294:58:294:64 | value : String | semmle.label | value : String | | Test.java:294:134:294:134 | m [post update] : HashSetValuedHashMap [, ] : String | semmle.label | m [post update] : HashSetValuedHashMap [, ] : String | | Test.java:294:145:294:149 | value : String | semmle.label | value : String | @@ -10919,11 +10871,9 @@ nodes | Test.java:298:49:298:55 | value : String | semmle.label | value : String | | Test.java:298:111:298:111 | m [post update] : MultiValueMap [, ] : String | semmle.label | m [post update] : MultiValueMap [, ] : String | | Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | semmle.label | m [post update] : MultiValueMap [] : String | -| Test.java:298:111:298:111 | m [post update] : MultiValueMap [] : String | semmle.label | m [post update] : MultiValueMap [] : String | | Test.java:298:122:298:126 | value : String | semmle.label | value : String | | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | semmle.label | m : MultiValueMap [, ] : String | | Test.java:298:137:298:137 | m : MultiValueMap [] : String | semmle.label | m : MultiValueMap [] : String | -| Test.java:298:137:298:137 | m : MultiValueMap [] : String | semmle.label | m : MultiValueMap [] : String | | Test.java:299:55:299:61 | value : String | semmle.label | value : String | | Test.java:299:73:299:116 | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | semmle.label | new MyAbstractKeyValue(...) : MyAbstractKeyValue [] : String | | Test.java:299:111:299:115 | value : String | semmle.label | value : String | @@ -10936,11 +10886,8 @@ nodes | Test.java:301:145:301:149 | value : String | semmle.label | value : String | | Test.java:302:54:302:60 | value : String | semmle.label | value : String | | Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | semmle.label | m [post update] : LinkedMap [] : String | -| Test.java:302:108:302:108 | m [post update] : LinkedMap [] : String | semmle.label | m [post update] : LinkedMap [] : String | | Test.java:302:119:302:123 | value : String | semmle.label | value : String | | Test.java:302:134:302:134 | m : LinkedMap [] : String | semmle.label | m : LinkedMap [] : String | -| Test.java:302:134:302:134 | m : LinkedMap [] : String | semmle.label | m : LinkedMap [] : String | -| Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | semmle.label | mapIterator(...) : OrderedMapIterator [] : String | | Test.java:304:49:304:55 | value : Map | semmle.label | value : Map | | Test.java:304:49:304:55 | value : String | semmle.label | value : String | @@ -10956,16 +10903,12 @@ nodes | Test.java:305:116:305:120 | value : String | semmle.label | value : String | | Test.java:306:77:306:83 | value : String | semmle.label | value : String | | Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | semmle.label | m [post update] : TreeBidiMap [] : String | -| Test.java:306:135:306:135 | m [post update] : TreeBidiMap [] : String | semmle.label | m [post update] : TreeBidiMap [] : String | | Test.java:306:146:306:150 | value : String | semmle.label | value : String | | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | semmle.label | m : TreeBidiMap [] : String | -| Test.java:306:161:306:161 | m : TreeBidiMap [] : String | semmle.label | m : TreeBidiMap [] : String | | Test.java:307:50:307:56 | value : String | semmle.label | value : String | | Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | semmle.label | m [post update] : PatriciaTrie [] : String | -| Test.java:307:103:307:103 | m [post update] : PatriciaTrie [] : String | semmle.label | m [post update] : PatriciaTrie [] : String | | Test.java:307:114:307:118 | value : String | semmle.label | value : String | | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | semmle.label | m : PatriciaTrie [] : String | -| Test.java:307:129:307:129 | m : PatriciaTrie [] : String | semmle.label | m : PatriciaTrie [] : String | | Test.java:308:56:308:62 | value : String | semmle.label | value : String | | Test.java:308:74:308:119 | new UnmodifiableMapEntry(...) : UnmodifiableMapEntry [] : String | semmle.label | new UnmodifiableMapEntry(...) : UnmodifiableMapEntry [] : String | | Test.java:308:114:308:118 | value : String | semmle.label | value : String | @@ -17799,10 +17742,6 @@ subpaths | Test.java:256:115:256:121 | element : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:256:94:256:122 | newVectorWithElement(...) : Vector [] : String | | Test.java:259:90:259:96 | element : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:259:69:259:97 | newVectorWithElement(...) : Vector [] : String | | Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | -| Test.java:262:83:262:124 | entrySet(...) : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | -| Test.java:262:106:262:112 | element : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | -| Test.java:262:106:262:112 | element : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | -| Test.java:262:106:262:112 | element : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | | Test.java:262:106:262:112 | element : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:262:83:262:113 | newMultiSetWithElement(...) : HashMultiSet [] : String | | Test.java:280:102:280:104 | key : String | Test.java:7057:22:7057:32 | key : String | Test.java:7057:3:7057:20 | parameter this [Return] : MyAbstractMapEntry [] : String | Test.java:280:69:280:110 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | | Test.java:281:121:281:142 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | Test.java:7067:31:7067:57 | entry : MyAbstractMapEntry [] : String | Test.java:7067:3:7067:29 | parameter this [Return] : MyAbstractMapEntryDecorator [] : String | Test.java:281:79:281:143 | new MyAbstractMapEntryDecorator(...) : MyAbstractMapEntryDecorator [] : String | @@ -17843,11 +17782,9 @@ subpaths | Test.java:444:52:444:67 | (...)... : String | Test.java:280:53:280:57 | key : String | Test.java:280:69:280:110 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | Test.java:444:34:444:68 | newMAMEWithMapKey(...) : MyAbstractMapEntry [] : String | | Test.java:445:42:445:43 | in : MyAbstractMapEntry [] : String | Test.java:7067:31:7067:57 | entry : MyAbstractMapEntry [] : String | Test.java:7067:3:7067:29 | parameter this [Return] : MyAbstractMapEntryDecorator [] : String | Test.java:445:10:445:44 | new MyAbstractMapEntryDecorator<>(...) : MyAbstractMapEntryDecorator [] : String | | Test.java:446:19:446:21 | out : MyAbstractMapEntryDecorator [] : String | Test.java:239:18:239:57 | container : MyAbstractMapEntryDecorator [] : String | Test.java:239:69:239:86 | getKey(...) : String | Test.java:446:9:446:22 | getMapKey(...) | -| Test.java:446:19:446:21 | out : MyAbstractMapEntryDecorator [] : String | Test.java:239:18:239:57 | container : MyAbstractMapEntryDecorator [] : String | Test.java:239:69:239:86 | getKey(...) : String | Test.java:446:9:446:22 | getMapKey(...) | | Test.java:451:54:451:69 | (...)... : String | Test.java:300:55:300:61 | value : String | Test.java:300:73:300:116 | new MyAbstractMapEntry(...) : MyAbstractMapEntry [] : String | Test.java:451:34:451:70 | newMAMEWithMapValue(...) : MyAbstractMapEntry [] : String | | Test.java:452:42:452:43 | in : MyAbstractMapEntry [] : String | Test.java:7067:31:7067:57 | entry : MyAbstractMapEntry [] : String | Test.java:7067:3:7067:29 | parameter this [Return] : MyAbstractMapEntryDecorator [] : String | Test.java:452:10:452:44 | new MyAbstractMapEntryDecorator<>(...) : MyAbstractMapEntryDecorator [] : String | | Test.java:453:21:453:23 | out : MyAbstractMapEntryDecorator [] : String | Test.java:245:20:245:59 | container : MyAbstractMapEntryDecorator [] : String | Test.java:245:71:245:90 | getValue(...) : String | Test.java:453:9:453:24 | getMapValue(...) | -| Test.java:453:21:453:23 | out : MyAbstractMapEntryDecorator [] : String | Test.java:245:20:245:59 | container : MyAbstractMapEntryDecorator [] : String | Test.java:245:71:245:90 | getValue(...) : String | Test.java:453:9:453:24 | getMapValue(...) | | Test.java:458:56:458:71 | (...)... : String | Test.java:281:63:281:67 | key : String | Test.java:281:79:281:143 | new MyAbstractMapEntryDecorator(...) : MyAbstractMapEntryDecorator [] : String | Test.java:458:37:458:72 | newMAMEDWithMapKey(...) : MyAbstractMapEntryDecorator [] : String | | Test.java:459:10:459:11 | in : MyAbstractMapEntryDecorator [] : String | Test.java:7071:19:7071:31 | parameter this : MyAbstractMapEntryDecorator [] : String | Test.java:7072:11:7072:29 | getMapEntry(...) : Entry [] : String | Test.java:459:10:459:27 | myGetMapEntry(...) : Entry [] : String | | Test.java:460:28:460:30 | out : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:460:9:460:31 | getMapKeyFromEntry(...) | @@ -18041,45 +17978,31 @@ subpaths | Test.java:1212:20:1212:22 | out : Bag [] : Object | Test.java:230:19:230:32 | it : Bag [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:1212:9:1212:23 | getElement(...) | | Test.java:1219:20:1219:22 | out : Bag [] : Object | Test.java:230:19:230:32 | it : Bag [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:1219:9:1219:23 | getElement(...) | | Test.java:1224:35:1224:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1224:13:1224:51 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:1224:35:1224:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1224:13:1224:51 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:1226:20:1226:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1226:9:1226:23 | getElement(...) | | Test.java:1231:35:1231:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1231:13:1231:51 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:1231:35:1231:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1231:13:1231:51 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:1233:20:1233:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1233:9:1233:23 | getElement(...) | | Test.java:1238:35:1238:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1238:13:1238:51 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:1238:35:1238:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1238:13:1238:51 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:1240:20:1240:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1240:9:1240:23 | getElement(...) | | Test.java:1245:41:1245:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1245:19:1245:57 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:1245:41:1245:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1245:19:1245:57 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:1247:20:1247:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1247:9:1247:23 | getElement(...) | | Test.java:1252:35:1252:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1252:13:1252:51 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:1252:35:1252:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1252:13:1252:51 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:1254:20:1254:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1254:9:1254:23 | getElement(...) | | Test.java:1259:41:1259:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1259:19:1259:57 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:1259:41:1259:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1259:19:1259:57 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:1261:20:1261:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1261:9:1261:23 | getElement(...) | | Test.java:1266:35:1266:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1266:13:1266:51 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:1266:35:1266:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1266:13:1266:51 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:1268:20:1268:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1268:9:1268:23 | getElement(...) | | Test.java:1273:41:1273:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1273:19:1273:57 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:1273:41:1273:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1273:19:1273:57 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:1275:20:1275:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1275:9:1275:23 | getElement(...) | | Test.java:1280:35:1280:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1280:13:1280:51 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:1280:35:1280:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1280:13:1280:51 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:1282:20:1282:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1282:9:1282:23 | getElement(...) | | Test.java:1287:41:1287:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1287:19:1287:57 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:1287:41:1287:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:1287:19:1287:57 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:1289:20:1289:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1289:9:1289:23 | getElement(...) | | Test.java:1294:42:1294:57 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:1294:17:1294:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | -| Test.java:1294:42:1294:57 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:1294:17:1294:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | -| Test.java:1301:42:1301:57 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:1301:17:1301:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | | Test.java:1301:42:1301:57 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:1301:17:1301:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | | Test.java:1303:21:1303:23 | out : BidiMap [] : String | Test.java:232:20:232:31 | map : BidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:1303:9:1303:24 | getMapValue(...) | | Test.java:1308:44:1308:59 | (...)... : String | Test.java:306:77:306:83 | value : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | Test.java:1308:17:1308:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | -| Test.java:1308:44:1308:59 | (...)... : String | Test.java:306:77:306:83 | value : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | Test.java:1308:17:1308:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | | Test.java:1310:19:1310:21 | out : BidiMap [] : String | Test.java:228:18:228:29 | map : BidiMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:1310:9:1310:22 | getMapKey(...) | | Test.java:1315:42:1315:57 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:1315:17:1315:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | -| Test.java:1315:42:1315:57 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:1315:17:1315:58 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | | Test.java:1322:47:1322:62 | (...)... : String | Test.java:256:47:256:55 | element : String | Test.java:256:67:256:134 | new IteratorEnumeration(...) : IteratorEnumeration [] : String | Test.java:1322:21:1322:63 | newEnumerationWithElement(...) : IteratorEnumeration [] : String | | Test.java:1324:20:1324:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1324:9:1324:23 | getElement(...) | | Test.java:1329:39:1329:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1329:18:1329:55 | newVectorWithElement(...) : Vector [] : String | @@ -18230,87 +18153,58 @@ subpaths | Test.java:1908:39:1908:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:1908:18:1908:55 | newVectorWithElement(...) : Vector [] : String | | Test.java:1911:20:1911:22 | out : FluentIterable [] : String | Test.java:230:19:230:32 | it : FluentIterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1911:9:1911:23 | getElement(...) | | Test.java:1916:40:1916:55 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1916:23:1916:56 | newMVMWithMapKey(...) : MultiValueMap [] : String | -| Test.java:1916:40:1916:55 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1916:23:1916:56 | newMVMWithMapKey(...) : MultiValueMap [] : String | -| Test.java:1916:40:1916:55 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1916:23:1916:56 | newMVMWithMapKey(...) : MultiValueMap [] : String | | Test.java:1918:28:1918:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:1918:9:1918:43 | getMapKeyFromEntry(...) | | Test.java:1918:39:1918:41 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:1918:28:1918:42 | getElement(...) : Entry [] : String | | Test.java:1923:39:1923:54 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:1923:13:1923:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | -| Test.java:1923:39:1923:54 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:1923:13:1923:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | | Test.java:1925:28:1925:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:1925:9:1925:43 | getMapKeyFromEntry(...) | | Test.java:1925:39:1925:41 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:1925:28:1925:42 | getElement(...) : Entry [] : String | | Test.java:1930:47:1930:62 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1930:30:1930:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | -| Test.java:1930:47:1930:62 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1930:30:1930:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | -| Test.java:1930:47:1930:62 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1930:30:1930:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | | Test.java:1932:28:1932:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:1932:9:1932:43 | getMapKeyFromEntry(...) | | Test.java:1932:39:1932:41 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:1932:28:1932:42 | getElement(...) : Entry [] : String | | Test.java:1937:42:1937:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1937:23:1937:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:1937:42:1937:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1937:23:1937:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:1939:30:1939:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:1939:9:1939:45 | getMapValueFromEntry(...) | | Test.java:1939:41:1939:43 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:1939:30:1939:44 | getElement(...) : Entry [] : String | | Test.java:1944:41:1944:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:1944:13:1944:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | -| Test.java:1944:41:1944:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:1944:13:1944:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | | Test.java:1946:30:1946:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:1946:9:1946:45 | getMapValueFromEntry(...) | | Test.java:1946:41:1946:43 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:1946:30:1946:44 | getElement(...) : Entry [] : String | | Test.java:1951:49:1951:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1951:30:1951:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:1951:49:1951:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1951:30:1951:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:1953:30:1953:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:1953:9:1953:45 | getMapValueFromEntry(...) | | Test.java:1953:41:1953:43 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:1953:30:1953:44 | getElement(...) : Entry [] : String | | Test.java:1958:37:1958:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1958:18:1958:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:1958:37:1958:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1958:18:1958:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:1965:41:1965:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:1965:13:1965:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | | Test.java:1965:41:1965:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:1965:13:1965:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | | Test.java:1972:49:1972:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1972:30:1972:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:1972:49:1972:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1972:30:1972:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:1979:39:1979:54 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:1979:13:1979:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | | Test.java:1979:39:1979:54 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:1979:13:1979:55 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | | Test.java:1981:20:1981:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1981:9:1981:23 | getElement(...) | | Test.java:1986:47:1986:62 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1986:30:1986:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | -| Test.java:1986:47:1986:62 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1986:30:1986:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | -| Test.java:1986:47:1986:62 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:1986:30:1986:63 | newMVMWithMapKey(...) : MultiValueMap [] : String | | Test.java:1988:20:1988:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:1988:9:1988:23 | getElement(...) | | Test.java:1993:37:1993:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1993:18:1993:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:1993:37:1993:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:1993:18:1993:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:2000:41:2000:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:2000:13:2000:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | | Test.java:2000:41:2000:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:2000:13:2000:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | | Test.java:2007:49:2007:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2007:30:2007:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:2007:49:2007:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2007:30:2007:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:2014:44:2014:59 | (...)... : String | Test.java:306:77:306:83 | value : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | Test.java:2014:17:2014:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | | Test.java:2014:44:2014:59 | (...)... : String | Test.java:306:77:306:83 | value : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | Test.java:2014:17:2014:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | | Test.java:2016:20:2016:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2016:9:2016:23 | getElement(...) | | Test.java:2021:42:2021:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:2021:23:2021:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | | Test.java:2021:42:2021:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2021:23:2021:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:2021:42:2021:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2021:23:2021:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:2023:20:2023:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:2023:9:2023:23 | getElement(...) | | Test.java:2023:20:2023:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2023:9:2023:23 | getElement(...) | | Test.java:2028:37:2028:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:2028:18:2028:53 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | | Test.java:2028:37:2028:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2028:18:2028:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:2028:37:2028:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2028:18:2028:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:2030:20:2030:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:2030:9:2030:23 | getElement(...) | | Test.java:2030:20:2030:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2030:9:2030:23 | getElement(...) | | Test.java:2035:41:2035:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:2035:13:2035:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | -| Test.java:2035:41:2035:56 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:2035:13:2035:57 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | | Test.java:2037:20:2037:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2037:9:2037:23 | getElement(...) | | Test.java:2042:49:2042:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2042:30:2042:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:2042:49:2042:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2042:30:2042:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:2044:20:2044:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2044:9:2044:23 | getElement(...) | | Test.java:2049:45:2049:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:2049:20:2049:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | -| Test.java:2049:45:2049:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:2049:20:2049:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | | Test.java:2051:20:2051:22 | out : OrderedMapIterator [] : String | Test.java:231:19:231:32 | it : OrderedMapIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2051:9:2051:23 | getElement(...) | | Test.java:2056:44:2056:59 | (...)... : String | Test.java:275:49:275:53 | key : String | Test.java:275:125:275:125 | m : HashedMap [] : String | Test.java:2056:21:2056:60 | newHashedMapWithMapKey(...) : HashedMap [] : String | -| Test.java:2056:44:2056:59 | (...)... : String | Test.java:275:49:275:53 | key : String | Test.java:275:125:275:125 | m : HashedMap [] : String | Test.java:2056:21:2056:60 | newHashedMapWithMapKey(...) : HashedMap [] : String | | Test.java:2058:20:2058:22 | out : MapIterator [] : String | Test.java:231:19:231:32 | it : MapIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2058:9:2058:23 | getElement(...) | | Test.java:2063:46:2063:61 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:2063:29:2063:62 | newMVMWithMapKey(...) : MultiValueMap [] : String | -| Test.java:2063:46:2063:61 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:2063:29:2063:62 | newMVMWithMapKey(...) : MultiValueMap [] : String | -| Test.java:2063:46:2063:61 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:2063:29:2063:62 | newMVMWithMapKey(...) : MultiValueMap [] : String | | Test.java:2065:20:2065:22 | out : MapIterator [] : String | Test.java:231:19:231:32 | it : MapIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2065:9:2065:23 | getElement(...) | | Test.java:2070:47:2070:62 | (...)... : String | Test.java:306:77:306:83 | value : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | Test.java:2070:20:2070:63 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | -| Test.java:2070:47:2070:62 | (...)... : String | Test.java:306:77:306:83 | value : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | Test.java:2070:20:2070:63 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | | Test.java:2072:21:2072:23 | out : OrderedMapIterator [] : String | Test.java:246:20:246:47 | mapIterator : OrderedMapIterator [] : String | Test.java:246:59:246:80 | getValue(...) : String | Test.java:2072:9:2072:24 | getMapValue(...) | | Test.java:2077:46:2077:61 | (...)... : String | Test.java:293:51:293:57 | value : String | Test.java:293:131:293:131 | m : HashedMap [] : String | Test.java:2077:21:2077:62 | newHashedMapWithMapValue(...) : HashedMap [] : String | -| Test.java:2077:46:2077:61 | (...)... : String | Test.java:293:51:293:57 | value : String | Test.java:293:131:293:131 | m : HashedMap [] : String | Test.java:2077:21:2077:62 | newHashedMapWithMapValue(...) : HashedMap [] : String | | Test.java:2079:21:2079:23 | out : MapIterator [] : String | Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | Test.java:246:59:246:80 | getValue(...) : String | Test.java:2079:9:2079:24 | getMapValue(...) | | Test.java:2084:48:2084:63 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2084:29:2084:64 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:2084:48:2084:63 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:2084:29:2084:64 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:2086:21:2086:23 | out : MapIterator [] : String | Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | Test.java:246:59:246:80 | getValue(...) : String | Test.java:2086:9:2086:24 | getMapValue(...) | | Test.java:2091:39:2091:54 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2091:18:2091:55 | newVectorWithElement(...) : Vector [] : String | | Test.java:2093:20:2093:22 | out : Iterable [] : String | Test.java:230:19:230:32 | it : Iterable [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2093:9:2093:23 | getElement(...) | @@ -18473,10 +18367,8 @@ subpaths | Test.java:2721:49:2721:64 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2721:22:2721:65 | newListIteratorWithElement(...) : ListIterator [] : String | | Test.java:2723:20:2723:22 | out : ListIterator [] : String | Test.java:231:19:231:32 | it : ListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2723:9:2723:23 | getElement(...) | | Test.java:2728:39:2728:54 | (...)... : String | Test.java:283:53:283:57 | key : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2728:21:2728:55 | newOMIWithElement(...) : OrderedMapIterator [] : String | -| Test.java:2728:39:2728:54 | (...)... : String | Test.java:283:53:283:57 | key : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2728:21:2728:55 | newOMIWithElement(...) : OrderedMapIterator [] : String | | Test.java:2730:20:2730:22 | out : MapIterator [] : String | Test.java:231:19:231:32 | it : MapIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2730:9:2730:23 | getElement(...) | | Test.java:2735:40:2735:55 | (...)... : String | Test.java:302:54:302:60 | value : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2735:21:2735:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | -| Test.java:2735:40:2735:55 | (...)... : String | Test.java:302:54:302:60 | value : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2735:21:2735:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | | Test.java:2737:21:2737:23 | out : MapIterator [] : String | Test.java:246:20:246:47 | mapIterator : MapIterator [] : String | Test.java:246:59:246:80 | getValue(...) : String | Test.java:2737:9:2737:24 | getMapValue(...) | | Test.java:2742:45:2742:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:2742:18:2742:61 | newListIteratorWithElement(...) : ListIterator [] : String | | Test.java:2744:20:2744:22 | out : ZippingIterator [] : String | Test.java:231:19:231:32 | it : ZippingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:2744:9:2744:23 | getElement(...) | @@ -18538,15 +18430,11 @@ subpaths | Test.java:2973:35:2973:50 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:2973:14:2973:51 | newVectorWithElement(...) : Vector [] : String | | Test.java:2975:20:2975:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:2975:9:2975:23 | getElement(...) | | Test.java:2980:39:2980:54 | (...)... : String | Test.java:283:53:283:57 | key : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2980:21:2980:55 | newOMIWithElement(...) : OrderedMapIterator [] : String | -| Test.java:2980:39:2980:54 | (...)... : String | Test.java:283:53:283:57 | key : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2980:21:2980:55 | newOMIWithElement(...) : OrderedMapIterator [] : String | -| Test.java:2987:40:2987:55 | (...)... : String | Test.java:302:54:302:60 | value : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2987:21:2987:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | | Test.java:2987:40:2987:55 | (...)... : String | Test.java:302:54:302:60 | value : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:2987:21:2987:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | | Test.java:2996:21:2996:23 | out : MapIterator [] : Object | Test.java:246:20:246:47 | mapIterator : MapIterator [] : Object | Test.java:246:59:246:80 | getValue(...) : Object | Test.java:2996:9:2996:24 | getMapValue(...) | | Test.java:3001:40:3001:55 | (...)... : String | Test.java:302:54:302:60 | value : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:3001:21:3001:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | -| Test.java:3001:40:3001:55 | (...)... : String | Test.java:302:54:302:60 | value : String | Test.java:302:134:302:148 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:3001:21:3001:56 | newOMIWithMapValue(...) : OrderedMapIterator [] : String | | Test.java:3008:37:3008:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:3008:18:3008:53 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | | Test.java:3008:37:3008:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3008:18:3008:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:3008:37:3008:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3008:18:3008:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:3010:20:3010:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:3010:9:3010:23 | getElement(...) | | Test.java:3010:20:3010:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3010:9:3010:23 | getElement(...) | | Test.java:3017:19:3017:21 | out : MultiValueMap [] : Object | Test.java:228:18:228:29 | map : MultiValueMap [] : Object | Test.java:228:41:228:70 | next(...) : Object | Test.java:3017:9:3017:22 | getMapKey(...) | @@ -18561,12 +18449,10 @@ subpaths | Test.java:3038:44:3038:46 | out : MultiMap [] : Object | Test.java:232:20:232:31 | map : MultiMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:3038:32:3038:47 | getMapValue(...) : Object | | Test.java:3043:42:3043:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:3043:23:3043:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | | Test.java:3043:42:3043:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3043:23:3043:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:3043:42:3043:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3043:23:3043:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:3045:20:3045:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:3045:9:3045:23 | getElement(...) | | Test.java:3045:20:3045:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3045:9:3045:23 | getElement(...) | | Test.java:3050:37:3050:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:3050:18:3050:53 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | | Test.java:3050:37:3050:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3050:18:3050:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:3050:37:3050:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3050:18:3050:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:3052:20:3052:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:3052:9:3052:23 | getElement(...) | | Test.java:3052:20:3052:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3052:9:3052:23 | getElement(...) | | Test.java:3064:43:3064:58 | (...)... : String | Test.java:272:58:272:62 | key : String | Test.java:272:160:272:160 | m : ArrayListValuedHashMap [] : String | Test.java:3064:24:3064:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | @@ -18594,24 +18480,18 @@ subpaths | Test.java:3129:20:3129:35 | getMapValue(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3129:9:3129:36 | getElement(...) | | Test.java:3129:32:3129:34 | out : MultiValuedMap [, ] : String | Test.java:247:32:247:60 | container : MultiValuedMap [, ] : String | Test.java:247:72:247:90 | get(...) : Collection [] : String | Test.java:3129:20:3129:35 | getMapValue(...) : Collection [] : String | | Test.java:3134:52:3134:67 | (...)... : String | Test.java:262:52:262:60 | element : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | Test.java:3134:24:3134:68 | newMultiSetEntryWithElement(...) : Entry [] : String | -| Test.java:3134:52:3134:67 | (...)... : String | Test.java:262:52:262:60 | element : String | Test.java:262:72:262:125 | getElement(...) : Entry [] : String | Test.java:3134:24:3134:68 | newMultiSetEntryWithElement(...) : Entry [] : String | | Test.java:3143:20:3143:22 | out : MultiSet [] : Object | Test.java:230:19:230:32 | it : MultiSet [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:3143:9:3143:23 | getElement(...) | | Test.java:3150:20:3150:22 | out : MultiSet [] : Object | Test.java:230:19:230:32 | it : MultiSet [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:3150:9:3150:23 | getElement(...) | | Test.java:3155:41:3155:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3155:18:3155:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | -| Test.java:3155:41:3155:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3155:18:3155:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | | Test.java:3157:20:3157:34 | getElement(...) : Entry [] : String | Test.java:235:19:235:45 | container : Entry [] : String | Test.java:235:57:235:78 | getElement(...) : String | Test.java:3157:9:3157:35 | getElement(...) | | Test.java:3157:31:3157:33 | out : Set [, ] : String | Test.java:230:19:230:32 | it : Set [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:3157:20:3157:34 | getElement(...) : Entry [] : String | | Test.java:3162:41:3162:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3162:18:3162:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | -| Test.java:3162:41:3162:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3162:18:3162:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | | Test.java:3164:20:3164:22 | out : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3164:9:3164:23 | getElement(...) | | Test.java:3169:41:3169:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3169:18:3169:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | -| Test.java:3169:41:3169:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3169:18:3169:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | | Test.java:3171:20:3171:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3171:9:3171:23 | getElement(...) | | Test.java:3176:41:3176:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3176:18:3176:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | -| Test.java:3176:41:3176:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3176:18:3176:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | | Test.java:3178:20:3178:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3178:9:3178:23 | getElement(...) | | Test.java:3183:41:3183:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3183:18:3183:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | -| Test.java:3183:41:3183:56 | (...)... : String | Test.java:263:41:263:49 | element : String | Test.java:263:119:263:119 | h : HashMultiSet [] : String | Test.java:3183:18:3183:57 | newMultiSetWithElement(...) : HashMultiSet [] : String | | Test.java:3185:20:3185:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3185:9:3185:23 | getElement(...) | | Test.java:3190:45:3190:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3190:24:3190:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | | Test.java:3192:20:3192:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3192:9:3192:48 | getElement(...) | @@ -18658,16 +18538,10 @@ subpaths | Test.java:3330:45:3330:60 | (...)... : String | Test.java:290:60:290:66 | value : String | Test.java:290:166:290:166 | m : ArrayListValuedHashMap [, ] : String | Test.java:3330:24:3330:61 | newALVHMWithMapValue(...) : ArrayListValuedHashMap [, ] : String | | Test.java:3332:20:3332:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3332:9:3332:23 | getElement(...) | | Test.java:3337:46:3337:61 | (...)... : String | Test.java:283:53:283:57 | key : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:3337:28:3337:62 | newOMIWithElement(...) : OrderedMapIterator [] : String | -| Test.java:3337:46:3337:61 | (...)... : String | Test.java:283:53:283:57 | key : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:3337:28:3337:62 | newOMIWithElement(...) : OrderedMapIterator [] : String | -| Test.java:3344:43:3344:58 | (...)... : String | Test.java:283:53:283:57 | key : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:3344:25:3344:59 | newOMIWithElement(...) : OrderedMapIterator [] : String | | Test.java:3344:43:3344:58 | (...)... : String | Test.java:283:53:283:57 | key : String | Test.java:283:129:283:143 | mapIterator(...) : OrderedMapIterator [] : String | Test.java:3344:25:3344:59 | newOMIWithElement(...) : OrderedMapIterator [] : String | | Test.java:3351:45:3351:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:3351:20:3351:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | -| Test.java:3351:45:3351:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:3351:20:3351:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | -| Test.java:3358:45:3358:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:3358:20:3358:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | | Test.java:3358:45:3358:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:3358:20:3358:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | | Test.java:3365:45:3365:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:3365:20:3365:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | -| Test.java:3365:45:3365:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:3365:20:3365:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | -| Test.java:3372:45:3372:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:3372:20:3372:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | | Test.java:3372:45:3372:60 | (...)... : String | Test.java:287:75:287:79 | key : String | Test.java:287:155:287:155 | m : TreeBidiMap [] : String | Test.java:3372:20:3372:61 | newTreeBidiMapWithMapKey(...) : TreeBidiMap [] : String | | Test.java:3381:26:3381:28 | out : Put [] : Object | Test.java:242:27:242:44 | container : Put [] : Object | Test.java:242:56:242:85 | getMapKey(...) : Object | Test.java:3381:9:3381:29 | getMapKeyFromPut(...) | | Test.java:3388:19:3388:21 | out : MultiValueMap [] : Object | Test.java:228:18:228:29 | map : MultiValueMap [] : Object | Test.java:228:41:228:70 | next(...) : Object | Test.java:3388:9:3388:22 | getMapKey(...) | @@ -18680,14 +18554,9 @@ subpaths | Test.java:3437:21:3437:23 | out : BidiMap [] : Object | Test.java:232:20:232:31 | map : BidiMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:3437:9:3437:24 | getMapValue(...) | | Test.java:3444:21:3444:23 | out : AbstractMapDecorator [] : Object | Test.java:232:20:232:31 | map : AbstractMapDecorator [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:3444:9:3444:24 | getMapValue(...) | | Test.java:3449:38:3449:53 | (...)... : String | Test.java:293:51:293:57 | value : String | Test.java:293:131:293:131 | m : HashedMap [] : String | Test.java:3449:13:3449:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | -| Test.java:3449:38:3449:53 | (...)... : String | Test.java:293:51:293:57 | value : String | Test.java:293:131:293:131 | m : HashedMap [] : String | Test.java:3449:13:3449:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | -| Test.java:3456:42:3456:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3456:23:3456:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:3456:42:3456:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3456:23:3456:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:3463:37:3463:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3463:18:3463:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:3463:37:3463:52 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3463:18:3463:53 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:3470:44:3470:59 | (...)... : String | Test.java:306:77:306:83 | value : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | Test.java:3470:17:3470:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | -| Test.java:3470:44:3470:59 | (...)... : String | Test.java:306:77:306:83 | value : String | Test.java:306:161:306:161 | m : TreeBidiMap [] : String | Test.java:3470:17:3470:60 | newTreeBidiMapWithMapValue(...) : TreeBidiMap [] : String | -| Test.java:3477:49:3477:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3477:30:3477:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:3477:49:3477:64 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:3477:30:3477:65 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:3484:34:3484:49 | (...)... : String | Test.java:285:47:285:51 | key : String | Test.java:285:121:285:121 | m : TreeMap [] : String | Test.java:3484:13:3484:50 | newTreeMapWithMapKey(...) : TreeMap [] : String | | Test.java:3486:26:3486:28 | out : Put [] : String | Test.java:242:27:242:44 | container : Put [] : String | Test.java:242:56:242:85 | getMapKey(...) : String | Test.java:3486:9:3486:29 | getMapKeyFromPut(...) | @@ -18757,35 +18626,24 @@ subpaths | Test.java:3722:41:3722:56 | (...)... : String | Test.java:268:39:268:47 | element : String | Test.java:268:107:268:107 | h : TreeSet [] : String | Test.java:3722:19:3722:57 | newTreeSetWithElement(...) : TreeSet [] : String | | Test.java:3724:20:3724:22 | out : SortedSet [] : String | Test.java:230:19:230:32 | it : SortedSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3724:9:3724:23 | getElement(...) | | Test.java:3729:41:3729:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3729:19:3729:57 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3729:41:3729:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3729:19:3729:57 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:3736:41:3736:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3736:19:3736:57 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3736:41:3736:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3736:19:3736:57 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3743:36:3743:51 | (...)... : String | Test.java:275:49:275:53 | key : String | Test.java:275:125:275:125 | m : HashedMap [] : String | Test.java:3743:13:3743:52 | newHashedMapWithMapKey(...) : HashedMap [] : String | | Test.java:3743:36:3743:51 | (...)... : String | Test.java:275:49:275:53 | key : String | Test.java:275:125:275:125 | m : HashedMap [] : String | Test.java:3743:13:3743:52 | newHashedMapWithMapKey(...) : HashedMap [] : String | | Test.java:3745:19:3745:21 | out : IterableMap [] : String | Test.java:228:18:228:29 | map : IterableMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3745:9:3745:22 | getMapKey(...) | | Test.java:3750:38:3750:53 | (...)... : String | Test.java:293:51:293:57 | value : String | Test.java:293:131:293:131 | m : HashedMap [] : String | Test.java:3750:13:3750:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | -| Test.java:3750:38:3750:53 | (...)... : String | Test.java:293:51:293:57 | value : String | Test.java:293:131:293:131 | m : HashedMap [] : String | Test.java:3750:13:3750:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | | Test.java:3752:21:3752:23 | out : IterableMap [] : String | Test.java:232:20:232:31 | map : IterableMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:3752:9:3752:24 | getMapValue(...) | | Test.java:3757:36:3757:51 | (...)... : String | Test.java:275:49:275:53 | key : String | Test.java:275:125:275:125 | m : HashedMap [] : String | Test.java:3757:13:3757:52 | newHashedMapWithMapKey(...) : HashedMap [] : String | -| Test.java:3757:36:3757:51 | (...)... : String | Test.java:275:49:275:53 | key : String | Test.java:275:125:275:125 | m : HashedMap [] : String | Test.java:3757:13:3757:52 | newHashedMapWithMapKey(...) : HashedMap [] : String | | Test.java:3759:19:3759:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3759:9:3759:22 | getMapKey(...) | | Test.java:3764:38:3764:53 | (...)... : String | Test.java:293:51:293:57 | value : String | Test.java:293:131:293:131 | m : HashedMap [] : String | Test.java:3764:13:3764:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | -| Test.java:3764:38:3764:53 | (...)... : String | Test.java:293:51:293:57 | value : String | Test.java:293:131:293:131 | m : HashedMap [] : String | Test.java:3764:13:3764:54 | newHashedMapWithMapValue(...) : HashedMap [] : String | | Test.java:3766:21:3766:23 | out : Map [] : String | Test.java:232:20:232:31 | map : Map [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:3766:9:3766:24 | getMapValue(...) | | Test.java:3771:40:3771:55 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:3771:14:3771:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | -| Test.java:3771:40:3771:55 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:3771:14:3771:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | | Test.java:3773:19:3773:21 | out : SortedMap [] : String | Test.java:228:18:228:29 | map : SortedMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3773:9:3773:22 | getMapKey(...) | | Test.java:3778:42:3778:57 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:3778:14:3778:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | -| Test.java:3778:42:3778:57 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:3778:14:3778:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | | Test.java:3780:21:3780:23 | out : SortedMap [] : String | Test.java:232:20:232:31 | map : SortedMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:3780:9:3780:24 | getMapValue(...) | | Test.java:3785:40:3785:55 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:3785:14:3785:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | -| Test.java:3785:40:3785:55 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:3785:14:3785:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | | Test.java:3787:19:3787:21 | out : Trie [] : String | Test.java:228:18:228:29 | map : Trie [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3787:9:3787:22 | getMapKey(...) | | Test.java:3792:42:3792:57 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:3792:14:3792:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | -| Test.java:3792:42:3792:57 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:3792:14:3792:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | | Test.java:3794:21:3794:23 | out : Trie [] : String | Test.java:232:20:232:31 | map : Trie [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:3794:9:3794:24 | getMapValue(...) | | Test.java:3799:35:3799:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3799:13:3799:51 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3799:35:3799:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3799:13:3799:51 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:3800:37:3800:38 | in : TreeBag [] : String | Test.java:7104:33:7104:48 | bag : TreeBag [] : String | Test.java:7104:10:7104:31 | parameter this [Return] : MyAbstractBagDecorator [] : String | Test.java:3800:10:3800:39 | new MyAbstractBagDecorator<>(...) : MyAbstractBagDecorator [] : String | | Test.java:3801:20:3801:22 | out : MyAbstractBagDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractBagDecorator [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3801:9:3801:23 | getElement(...) | | Test.java:3807:31:3807:32 | in : Map [] : String | Test.java:7110:27:7110:58 | map : Map [] : String | Test.java:7110:10:7110:25 | parameter this [Return] : MyAbstractMapBag [] : String | Test.java:3807:10:3807:33 | new MyAbstractMapBag<>(...) : MyAbstractMapBag [] : String | @@ -18794,50 +18652,35 @@ subpaths | Test.java:3814:10:3814:11 | in : MyAbstractMapBag [] : String | Test.java:7113:33:7113:40 | parameter this : MyAbstractMapBag [] : String | Test.java:7114:11:7114:24 | getMap(...) : Map [] : String | Test.java:3814:10:3814:22 | myGetMap(...) : Map [] : String | | Test.java:3815:19:3815:21 | out : Map [] : String | Test.java:228:18:228:29 | map : Map [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:3815:9:3815:22 | getMapKey(...) | | Test.java:3820:41:3820:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3820:19:3820:57 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3820:41:3820:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3820:19:3820:57 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:3821:43:3821:44 | in : TreeBag [] : String | Test.java:7119:39:7119:60 | bag : TreeBag [] : String | Test.java:7119:10:7119:37 | parameter this [Return] : MyAbstractSortedBagDecorator [] : String | Test.java:3821:10:3821:45 | new MyAbstractSortedBagDecorator<>(...) : MyAbstractSortedBagDecorator [] : String | | Test.java:3822:20:3822:22 | out : MyAbstractSortedBagDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractSortedBagDecorator [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3822:9:3822:23 | getElement(...) | | Test.java:3827:35:3827:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3827:13:3827:51 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3827:35:3827:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3827:13:3827:51 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:3829:20:3829:22 | out : CollectionBag [] : String | Test.java:230:19:230:32 | it : CollectionBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3829:9:3829:23 | getElement(...) | | Test.java:3834:35:3834:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3834:13:3834:51 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3834:35:3834:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3834:13:3834:51 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:3836:20:3836:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3836:9:3836:23 | getElement(...) | | Test.java:3841:41:3841:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3841:19:3841:57 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3841:41:3841:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3841:19:3841:57 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:3843:20:3843:22 | out : CollectionSortedBag [] : String | Test.java:230:19:230:32 | it : CollectionSortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3843:9:3843:23 | getElement(...) | | Test.java:3848:41:3848:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3848:19:3848:57 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3848:41:3848:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3848:19:3848:57 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:3850:20:3850:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3850:9:3850:23 | getElement(...) | | Test.java:3855:42:3855:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3855:20:3855:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3855:42:3855:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3855:20:3855:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:3857:20:3857:22 | out : HashBag [] : String | Test.java:230:19:230:32 | it : HashBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3857:9:3857:23 | getElement(...) | | Test.java:3862:35:3862:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3862:13:3862:51 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3862:35:3862:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3862:13:3862:51 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:3864:20:3864:22 | out : PredicatedBag [] : String | Test.java:230:19:230:32 | it : PredicatedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3864:9:3864:23 | getElement(...) | | Test.java:3869:41:3869:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3869:19:3869:57 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3869:41:3869:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3869:19:3869:57 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:3871:20:3871:22 | out : PredicatedSortedBag [] : String | Test.java:230:19:230:32 | it : PredicatedSortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3871:9:3871:23 | getElement(...) | | Test.java:3876:35:3876:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3876:13:3876:51 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3876:35:3876:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3876:13:3876:51 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:3878:20:3878:22 | out : SynchronizedBag [] : String | Test.java:230:19:230:32 | it : SynchronizedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3878:9:3878:23 | getElement(...) | | Test.java:3883:41:3883:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3883:19:3883:57 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3883:41:3883:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3883:19:3883:57 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:3885:20:3885:22 | out : SynchronizedSortedBag [] : String | Test.java:230:19:230:32 | it : SynchronizedSortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3885:9:3885:23 | getElement(...) | | Test.java:3890:35:3890:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3890:13:3890:51 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3890:35:3890:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3890:13:3890:51 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:3892:20:3892:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3892:9:3892:23 | getElement(...) | | Test.java:3897:41:3897:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3897:19:3897:57 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3897:41:3897:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3897:19:3897:57 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:3899:20:3899:22 | out : TransformedSortedBag [] : String | Test.java:230:19:230:32 | it : TransformedSortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3899:9:3899:23 | getElement(...) | | Test.java:3904:42:3904:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3904:20:3904:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3904:42:3904:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3904:20:3904:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:3906:20:3906:22 | out : TreeBag [] : String | Test.java:230:19:230:32 | it : TreeBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3906:9:3906:23 | getElement(...) | | Test.java:3911:35:3911:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3911:13:3911:51 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3911:35:3911:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3911:13:3911:51 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:3913:20:3913:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3913:9:3913:23 | getElement(...) | | Test.java:3918:41:3918:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3918:19:3918:57 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:3918:41:3918:56 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:3918:19:3918:57 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:3920:20:3920:22 | out : SortedBag [] : String | Test.java:230:19:230:32 | it : SortedBag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:3920:9:3920:23 | getElement(...) | | Test.java:3925:46:3925:61 | (...)... : String | Test.java:274:61:274:65 | key : String | Test.java:274:77:274:124 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:3925:17:3925:62 | newDualTreeBidiMapWithMapKey(...) : DualTreeBidiMap [] : String | | Test.java:3926:41:3926:42 | in : DualTreeBidiMap [] : String | Test.java:7125:37:7125:59 | map : DualTreeBidiMap [] : String | Test.java:7125:10:7125:35 | parameter this [Return] : MyAbstractBidiMapDecorator [] : String | Test.java:3926:10:3926:43 | new MyAbstractBidiMapDecorator<>(...) : MyAbstractBidiMapDecorator [] : String | @@ -18908,72 +18751,52 @@ subpaths | Test.java:4142:54:4142:69 | (...)... : String | Test.java:292:63:292:69 | value : String | Test.java:292:81:292:130 | new DualTreeBidiMap(...) : DualTreeBidiMap [] : String | Test.java:4142:23:4142:70 | newDualTreeBidiMapWithMapValue(...) : DualTreeBidiMap [] : String | | Test.java:4144:21:4144:23 | out : SortedBidiMap [] : String | Test.java:232:20:232:31 | map : SortedBidiMap [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:4144:9:4144:24 | getMapValue(...) | | Test.java:4149:42:4149:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4149:20:4149:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4149:42:4149:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4149:20:4149:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4150:44:4150:45 | in : TreeBag [] : String | Test.java:7149:40:7149:63 | coll : TreeBag [] : String | Test.java:7149:10:7149:38 | parameter this [Return] : MyAbstractCollectionDecorator [] : String | Test.java:4150:10:4150:46 | new MyAbstractCollectionDecorator<>(...) : MyAbstractCollectionDecorator [] : String | | Test.java:4151:20:4151:22 | out : MyAbstractCollectionDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractCollectionDecorator [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4151:9:4151:23 | getElement(...) | | Test.java:4156:73:4156:111 | newTreeBagWithElement(...) : TreeBag [] : String | Test.java:7149:40:7149:63 | coll : TreeBag [] : String | Test.java:7149:10:7149:38 | parameter this [Return] : MyAbstractCollectionDecorator [] : String | Test.java:4156:39:4156:112 | new MyAbstractCollectionDecorator<>(...) : MyAbstractCollectionDecorator [] : String | | Test.java:4156:95:4156:110 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4156:73:4156:111 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4156:95:4156:110 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4156:73:4156:111 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4157:10:4157:11 | in : MyAbstractCollectionDecorator [] : String | Test.java:7152:24:7152:34 | parameter this : MyAbstractCollectionDecorator [] : String | Test.java:7153:11:7153:27 | decorated(...) : Collection [] : String | Test.java:4157:10:4157:25 | myDecorated(...) : Collection [] : String | | Test.java:4158:20:4158:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4158:9:4158:23 | getElement(...) | | Test.java:4163:42:4163:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4163:20:4163:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4163:42:4163:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4163:20:4163:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4164:24:4164:25 | in : TreeBag [] : String | Test.java:7155:31:7155:54 | coll : TreeBag [] : String | Test.java:7155:15:7155:29 | parameter this [Return] : MyAbstractCollectionDecorator [] : String | Test.java:4164:4:4164:6 | out [post update] : MyAbstractCollectionDecorator [] : String | | Test.java:4165:20:4165:22 | out : MyAbstractCollectionDecorator [] : String | Test.java:230:19:230:32 | it : MyAbstractCollectionDecorator [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4165:9:4165:23 | getElement(...) | | Test.java:4173:20:4173:22 | out : CompositeCollection [] : Object | Test.java:230:19:230:32 | it : CompositeCollection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:4173:9:4173:23 | getElement(...) | | Test.java:4181:20:4181:34 | getElement(...) : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:4181:9:4181:35 | getElement(...) | | Test.java:4181:31:4181:33 | out : List [, ] : Object | Test.java:230:19:230:32 | it : List [, ] : Object | Test.java:230:44:230:63 | next(...) : Object [] : Object | Test.java:4181:20:4181:34 | getElement(...) : Collection [] : Object | | Test.java:4186:42:4186:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4186:20:4186:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4186:42:4186:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4186:20:4186:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4189:20:4189:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4189:9:4189:23 | getElement(...) | | Test.java:4194:42:4194:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4194:20:4194:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4194:42:4194:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4194:20:4194:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4197:20:4197:34 | getElement(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4197:9:4197:35 | getElement(...) | | Test.java:4197:31:4197:33 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:4197:20:4197:34 | getElement(...) : Collection [] : String | | Test.java:4202:42:4202:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4202:20:4202:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4202:42:4202:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4202:20:4202:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4204:20:4204:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4204:9:4204:23 | getElement(...) | | Test.java:4209:42:4209:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4209:20:4209:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4209:42:4209:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4209:20:4209:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4211:20:4211:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4211:9:4211:23 | getElement(...) | | Test.java:4216:42:4216:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4216:20:4216:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4216:42:4216:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4216:20:4216:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4218:20:4218:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4218:9:4218:23 | getElement(...) | | Test.java:4223:61:4223:76 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4223:39:4223:77 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4223:61:4223:76 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4223:39:4223:77 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4225:20:4225:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4225:9:4225:23 | getElement(...) | | Test.java:4230:42:4230:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4230:20:4230:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4230:42:4230:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4230:20:4230:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4232:20:4232:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4232:9:4232:23 | getElement(...) | | Test.java:4237:42:4237:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4237:20:4237:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4237:42:4237:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4237:20:4237:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4239:20:4239:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4239:9:4239:23 | getElement(...) | | Test.java:4244:42:4244:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4244:20:4244:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4244:42:4244:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4244:20:4244:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4246:20:4246:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4246:9:4246:23 | getElement(...) | | Test.java:4251:61:4251:76 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4251:39:4251:77 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4251:61:4251:76 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4251:39:4251:77 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4253:20:4253:22 | out : CompositeCollection [] : String | Test.java:230:19:230:32 | it : CompositeCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4253:9:4253:23 | getElement(...) | | Test.java:4258:75:4258:90 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4258:53:4258:91 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4258:75:4258:90 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4258:53:4258:91 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4260:20:4260:34 | getElement(...) : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4260:9:4260:35 | getElement(...) | | Test.java:4260:31:4260:33 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:4260:20:4260:34 | getElement(...) : Collection [] : String | | Test.java:4265:75:4265:90 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4265:53:4265:91 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4265:75:4265:90 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4265:53:4265:91 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4267:20:4267:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4267:9:4267:23 | getElement(...) | | Test.java:4272:42:4272:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4272:20:4272:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4272:42:4272:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4272:20:4272:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4274:20:4274:22 | out : IndexedCollection [] : String | Test.java:230:19:230:32 | it : IndexedCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4274:9:4274:23 | getElement(...) | | Test.java:4279:71:4279:86 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4279:49:4279:87 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4279:71:4279:86 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4279:49:4279:87 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4286:42:4286:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4286:20:4286:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4286:42:4286:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4286:20:4286:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4288:20:4288:22 | out : IndexedCollection [] : String | Test.java:230:19:230:32 | it : IndexedCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4288:9:4288:23 | getElement(...) | | Test.java:4293:42:4293:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4293:20:4293:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4293:42:4293:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4293:20:4293:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4295:20:4295:22 | out : IndexedCollection [] : String | Test.java:230:19:230:32 | it : IndexedCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4295:9:4295:23 | getElement(...) | | Test.java:4300:71:4300:86 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4300:49:4300:87 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4300:71:4300:86 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4300:49:4300:87 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4302:20:4302:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4302:9:4302:23 | getElement(...) | | Test.java:4309:20:4309:45 | createPredicatedList(...) : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4309:9:4309:46 | getElement(...) | | Test.java:4316:20:4316:45 | createPredicatedList(...) : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4316:9:4316:46 | getElement(...) | @@ -18982,7 +18805,6 @@ subpaths | Test.java:4328:80:4328:95 | (...)... : String | Test.java:264:80:264:88 | element : String | Test.java:264:194:264:194 | x : Builder [] : String | Test.java:4328:38:4328:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | | Test.java:4330:20:4330:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4330:9:4330:23 | getElement(...) | | Test.java:4335:35:4335:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4335:13:4335:51 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4335:35:4335:50 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4335:13:4335:51 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4338:20:4338:22 | out : Bag [] : String | Test.java:230:19:230:32 | it : Bag [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4338:9:4338:23 | getElement(...) | | Test.java:4343:80:4343:95 | (...)... : String | Test.java:264:80:264:88 | element : String | Test.java:264:194:264:194 | x : Builder [] : String | Test.java:4343:38:4343:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | | Test.java:4345:20:4345:22 | out : List [] : String | Test.java:230:19:230:32 | it : List [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4345:9:4345:23 | getElement(...) | @@ -18994,7 +18816,6 @@ subpaths | Test.java:4372:80:4372:95 | (...)... : String | Test.java:264:80:264:88 | element : String | Test.java:264:194:264:194 | x : Builder [] : String | Test.java:4372:38:4372:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | | Test.java:4374:20:4374:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4374:9:4374:23 | getElement(...) | | Test.java:4379:45:4379:60 | (...)... : String | Test.java:258:49:258:57 | element : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | Test.java:4379:18:4379:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | -| Test.java:4379:45:4379:60 | (...)... : String | Test.java:258:49:258:57 | element : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | Test.java:4379:18:4379:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | | Test.java:4382:20:4382:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4382:9:4382:23 | getElement(...) | | Test.java:4387:80:4387:95 | (...)... : String | Test.java:264:80:264:88 | element : String | Test.java:264:194:264:194 | x : Builder [] : String | Test.java:4387:38:4387:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | | Test.java:4389:20:4389:22 | out : Queue [] : String | Test.java:230:19:230:32 | it : Queue [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4389:9:4389:23 | getElement(...) | @@ -19011,21 +18832,16 @@ subpaths | Test.java:4431:80:4431:95 | (...)... : String | Test.java:264:80:264:88 | element : String | Test.java:264:194:264:194 | x : Builder [] : String | Test.java:4431:38:4431:96 | newPredicatedCollectionBuilderWithElement(...) : Builder [] : String | | Test.java:4433:20:4433:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4433:9:4433:23 | getElement(...) | | Test.java:4438:42:4438:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4438:20:4438:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4438:42:4438:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4438:20:4438:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4440:20:4440:22 | out : PredicatedCollection [] : String | Test.java:230:19:230:32 | it : PredicatedCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4440:9:4440:23 | getElement(...) | | Test.java:4445:42:4445:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4445:20:4445:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4445:42:4445:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4445:20:4445:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4447:20:4447:22 | out : SynchronizedCollection [] : String | Test.java:230:19:230:32 | it : SynchronizedCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4447:9:4447:23 | getElement(...) | | Test.java:4452:42:4452:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4452:20:4452:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4452:42:4452:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4452:20:4452:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4454:20:4454:22 | out : TransformedCollection [] : String | Test.java:230:19:230:32 | it : TransformedCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4454:9:4454:23 | getElement(...) | | Test.java:4459:42:4459:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4459:20:4459:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4459:42:4459:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4459:20:4459:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4461:20:4461:22 | out : BoundedCollection [] : String | Test.java:230:19:230:32 | it : BoundedCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4461:9:4461:23 | getElement(...) | | Test.java:4466:59:4466:74 | (...)... : String | Test.java:253:59:253:67 | element : String | Test.java:253:147:253:147 | x : CircularFifoQueue [] : String | Test.java:4466:27:4466:75 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | | Test.java:4468:20:4468:22 | out : BoundedCollection [] : String | Test.java:230:19:230:32 | it : BoundedCollection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4468:9:4468:23 | getElement(...) | | Test.java:4473:42:4473:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4473:20:4473:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4473:42:4473:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4473:20:4473:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4475:20:4475:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:4475:9:4475:23 | getElement(...) | | Test.java:4480:45:4480:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4480:18:4480:61 | newListIteratorWithElement(...) : ListIterator [] : String | | Test.java:4481:42:4481:43 | in : ListIterator [] : String | Test.java:7161:38:7161:63 | iterator : ListIterator [] : String | Test.java:7161:10:7161:36 | parameter this [Return] : MyAbstractIteratorDecorator [] : String | Test.java:4481:10:4481:44 | new MyAbstractIteratorDecorator<>(...) : MyAbstractIteratorDecorator [] : String | @@ -19128,7 +18944,6 @@ subpaths | Test.java:4753:49:4753:64 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4753:22:4753:65 | newListIteratorWithElement(...) : ListIterator [] : String | | Test.java:4755:20:4755:22 | out : FilterListIterator [] : String | Test.java:231:19:231:32 | it : FilterListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4755:9:4755:23 | getElement(...) | | Test.java:4760:42:4760:85 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:267:39:267:47 | element : ListIterator [] : String | Test.java:267:107:267:107 | b : TreeBag [, ] : String | Test.java:4760:20:4760:86 | newTreeBagWithElement(...) : TreeBag [, ] : String | -| Test.java:4760:42:4760:85 | newListIteratorWithElement(...) : ListIterator [] : String | Test.java:267:39:267:47 | element : ListIterator [] : String | Test.java:267:107:267:107 | b : TreeBag [, ] : String | Test.java:4760:20:4760:86 | newTreeBagWithElement(...) : TreeBag [, ] : String | | Test.java:4760:69:4760:84 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4760:42:4760:85 | newListIteratorWithElement(...) : ListIterator [] : String | | Test.java:4762:20:4762:22 | out : IteratorChain [] : String | Test.java:231:19:231:32 | it : IteratorChain [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4762:9:4762:23 | getElement(...) | | Test.java:4767:45:4767:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4767:18:4767:61 | newListIteratorWithElement(...) : ListIterator [] : String | @@ -19154,7 +18969,6 @@ subpaths | Test.java:4837:45:4837:60 | (...)... : String | Test.java:259:49:259:57 | element : String | Test.java:259:69:259:112 | listIterator(...) : ListIterator [] : String | Test.java:4837:18:4837:61 | newListIteratorWithElement(...) : ListIterator [] : String | | Test.java:4839:20:4839:22 | out : ListIteratorWrapper [] : String | Test.java:231:19:231:32 | it : ListIteratorWrapper [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4839:9:4839:23 | getElement(...) | | Test.java:4844:42:4844:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4844:20:4844:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:4844:42:4844:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:4844:20:4844:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:4846:20:4846:22 | out : LoopingIterator [] : String | Test.java:231:19:231:32 | it : LoopingIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4846:9:4846:23 | getElement(...) | | Test.java:4853:20:4853:22 | out : LoopingListIterator [] : String | Test.java:231:19:231:32 | it : LoopingListIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4853:9:4853:23 | getElement(...) | | Test.java:4860:20:4860:22 | out : ObjectArrayIterator [] : String | Test.java:231:19:231:32 | it : ObjectArrayIterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:4860:9:4860:23 | getElement(...) | @@ -19229,7 +19043,6 @@ subpaths | Test.java:5208:41:5208:56 | (...)... : String | Test.java:261:41:261:49 | element : String | Test.java:261:61:261:93 | new MultiKey(...) : MultiKey [] : String | Test.java:5208:18:5208:57 | newMultiKeyWithElement(...) : MultiKey [] : String | | Test.java:5210:25:5210:27 | out : Object[] [[]] : String | Test.java:229:24:229:32 | array : Object[] [[]] : String | Test.java:229:44:229:51 | ...[...] : String | Test.java:5210:9:5210:28 | getArrayElement(...) | | Test.java:5215:42:5215:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:5215:20:5215:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:5215:42:5215:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:5215:20:5215:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:5216:35:5216:36 | in : TreeBag [] : String | Test.java:7204:31:7204:64 | coll : TreeBag [] : String | Test.java:7204:10:7204:29 | parameter this [Return] : MyAbstractLinkedList [] : String | Test.java:5216:10:5216:37 | new MyAbstractLinkedList<>(...) : MyAbstractLinkedList [] : String | | Test.java:5217:20:5217:22 | out : MyAbstractLinkedList [] : String | Test.java:230:19:230:32 | it : MyAbstractLinkedList [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:5217:9:5217:23 | getElement(...) | | Test.java:5224:20:5224:22 | out : AbstractLinkedList [] : Object | Test.java:230:19:230:32 | it : AbstractLinkedList [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:5224:9:5224:23 | getElement(...) | @@ -19418,24 +19231,19 @@ subpaths | Test.java:6169:40:6169:55 | (...)... : String | Test.java:297:47:297:53 | value : String | Test.java:297:136:297:136 | m : MultiKeyMap [] : String | Test.java:6169:21:6169:56 | newMKMWithMapValue(...) : MultiKeyMap [] : String | | Test.java:6176:42:6176:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:6176:23:6176:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | | Test.java:6176:42:6176:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6176:23:6176:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:6176:42:6176:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6176:23:6176:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:6178:20:6178:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:6178:9:6178:23 | getElement(...) | | Test.java:6178:20:6178:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6178:9:6178:23 | getElement(...) | | Test.java:6183:57:6183:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:6183:38:6183:73 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | | Test.java:6183:57:6183:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6183:38:6183:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:6183:57:6183:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6183:38:6183:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:6185:30:6185:44 | getElement(...) : Entry [] : Object | Test.java:244:29:244:52 | container : Entry [] : Object | Test.java:244:64:244:83 | getValue(...) : Object | Test.java:6185:9:6185:45 | getMapValueFromEntry(...) | | Test.java:6185:30:6185:44 | getElement(...) : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:6185:9:6185:45 | getMapValueFromEntry(...) | | Test.java:6185:41:6185:43 | out : Iterator [, ] : Object | Test.java:231:19:231:32 | it : Iterator [, ] : Object | Test.java:231:44:231:52 | next(...) : Object [] : Object | Test.java:6185:30:6185:44 | getElement(...) : Entry [] : Object | | Test.java:6185:41:6185:43 | out : Iterator [, ] : String | Test.java:231:19:231:32 | it : Iterator [, ] : String | Test.java:231:44:231:52 | next(...) : Object [] : String | Test.java:6185:30:6185:44 | getElement(...) : Entry [] : String | | Test.java:6190:55:6190:70 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:6190:38:6190:71 | newMVMWithMapKey(...) : MultiValueMap [] : String | -| Test.java:6190:55:6190:70 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:6190:38:6190:71 | newMVMWithMapKey(...) : MultiValueMap [] : String | -| Test.java:6190:55:6190:70 | (...)... : String | Test.java:279:47:279:51 | key : String | Test.java:279:131:279:131 | m : MultiValueMap [] : String | Test.java:6190:38:6190:71 | newMVMWithMapKey(...) : MultiValueMap [] : String | | Test.java:6192:28:6192:42 | getElement(...) : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:6192:9:6192:43 | getMapKeyFromEntry(...) | | Test.java:6192:39:6192:41 | out : Iterator [, ] : String | Test.java:231:19:231:32 | it : Iterator [, ] : String | Test.java:231:44:231:52 | next(...) : Object [] : String | Test.java:6192:28:6192:42 | getElement(...) : Entry [] : String | | Test.java:6197:57:6197:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | | Test.java:6197:57:6197:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:6197:57:6197:72 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6197:38:6197:73 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:6199:20:6199:22 | out : Iterator [] : Object | Test.java:231:19:231:32 | it : Iterator [] : Object | Test.java:231:44:231:52 | next(...) : Object | Test.java:6199:9:6199:23 | getElement(...) | | Test.java:6199:20:6199:22 | out : Iterator [] : String | Test.java:231:19:231:32 | it : Iterator [] : String | Test.java:231:44:231:52 | next(...) : String | Test.java:6199:9:6199:23 | getElement(...) | | Test.java:6204:47:6204:62 | (...)... : String | Test.java:269:37:269:45 | element : String | Test.java:269:103:269:103 | v : Vector [] : String | Test.java:6204:26:6204:63 | newVectorWithElement(...) : Vector [] : String | @@ -19452,7 +19260,6 @@ subpaths | Test.java:6241:19:6241:21 | out : MultiValueMap [] : String | Test.java:228:18:228:29 | map : MultiValueMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6241:9:6241:22 | getMapKey(...) | | Test.java:6246:32:6246:47 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:6246:13:6246:48 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | | Test.java:6246:32:6246:47 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6246:13:6246:48 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:6246:32:6246:47 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6246:13:6246:48 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:6248:20:6248:47 | (...)... : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:6248:9:6248:48 | getElement(...) | | Test.java:6248:20:6248:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6248:9:6248:48 | getElement(...) | | Test.java:6248:44:6248:46 | out : MultiValueMap [, ] : Object | Test.java:232:20:232:31 | map : MultiValueMap [, ] : Object | Test.java:232:43:232:55 | get(...) : Object [] : Object | Test.java:6248:32:6248:47 | getMapValue(...) : Object [] : Object | @@ -19463,12 +19270,10 @@ subpaths | Test.java:6255:44:6255:46 | out : MultiValueMap [] : Object | Test.java:232:20:232:31 | map : MultiValueMap [] : Object | Test.java:232:43:232:55 | get(...) : Object | Test.java:6255:32:6255:47 | getMapValue(...) : Object | | Test.java:6262:19:6262:21 | out : MultiValueMap [] : Object | Test.java:228:18:228:29 | map : MultiValueMap [] : Object | Test.java:228:41:228:70 | next(...) : Object | Test.java:6262:9:6262:22 | getMapKey(...) | | Test.java:6267:42:6267:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6267:20:6267:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:6267:42:6267:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6267:20:6267:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:6269:20:6269:47 | (...)... : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6269:9:6269:48 | getElement(...) | | Test.java:6269:44:6269:46 | out : MultiValueMap [, ] : String | Test.java:232:20:232:31 | map : MultiValueMap [, ] : String | Test.java:232:43:232:55 | get(...) : Object [] : String | Test.java:6269:32:6269:47 | getMapValue(...) : Object [] : String | | Test.java:6274:42:6274:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [, ] : String | Test.java:6274:23:6274:58 | newMVMWithMapValue(...) : MultiValueMap [, ] : String | | Test.java:6274:42:6274:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6274:23:6274:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | -| Test.java:6274:42:6274:57 | (...)... : String | Test.java:298:49:298:55 | value : String | Test.java:298:137:298:137 | m : MultiValueMap [] : String | Test.java:6274:23:6274:58 | newMVMWithMapValue(...) : MultiValueMap [] : String | | Test.java:6276:20:6276:22 | out : Collection [] : Object | Test.java:230:19:230:32 | it : Collection [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:6276:9:6276:23 | getElement(...) | | Test.java:6276:20:6276:22 | out : Collection [] : String | Test.java:230:19:230:32 | it : Collection [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6276:9:6276:23 | getElement(...) | | Test.java:6283:19:6283:21 | out : PassiveExpiringMap [] : String | Test.java:228:18:228:29 | map : PassiveExpiringMap [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6283:9:6283:22 | getMapKey(...) | @@ -19549,19 +19354,14 @@ subpaths | Test.java:6589:43:6589:58 | (...)... : String | Test.java:272:58:272:62 | key : String | Test.java:272:160:272:160 | m : ArrayListValuedHashMap [] : String | Test.java:6589:24:6589:59 | newALVHMWithMapKey(...) : ArrayListValuedHashMap [] : String | | Test.java:6591:19:6591:21 | out : UnmodifiableMultiValuedMap [] : String | Test.java:240:18:240:46 | container : UnmodifiableMultiValuedMap [] : String | Test.java:240:58:240:93 | next(...) : String | Test.java:6591:9:6591:22 | getMapKey(...) | | Test.java:6596:42:6596:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6596:20:6596:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:6596:42:6596:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6596:20:6596:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:6598:20:6598:22 | out : HashMultiSet [] : String | Test.java:230:19:230:32 | it : HashMultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6598:9:6598:23 | getElement(...) | | Test.java:6603:45:6603:60 | (...)... : String | Test.java:258:49:258:57 | element : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | Test.java:6603:18:6603:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | -| Test.java:6603:45:6603:60 | (...)... : String | Test.java:258:49:258:57 | element : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | Test.java:6603:18:6603:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | | Test.java:6605:20:6605:22 | out : PredicatedMultiSet [] : String | Test.java:230:19:230:32 | it : PredicatedMultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6605:9:6605:23 | getElement(...) | | Test.java:6610:45:6610:60 | (...)... : String | Test.java:258:49:258:57 | element : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | Test.java:6610:18:6610:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | -| Test.java:6610:45:6610:60 | (...)... : String | Test.java:258:49:258:57 | element : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | Test.java:6610:18:6610:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | | Test.java:6612:20:6612:22 | out : SynchronizedMultiSet [] : String | Test.java:230:19:230:32 | it : SynchronizedMultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6612:9:6612:23 | getElement(...) | | Test.java:6617:45:6617:60 | (...)... : String | Test.java:258:49:258:57 | element : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | Test.java:6617:18:6617:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | -| Test.java:6617:45:6617:60 | (...)... : String | Test.java:258:49:258:57 | element : String | Test.java:258:127:258:127 | x : HashMultiSet [] : String | Test.java:6617:18:6617:61 | newHashMultiSetWithElement(...) : HashMultiSet [] : String | | Test.java:6619:20:6619:22 | out : MultiSet [] : String | Test.java:230:19:230:32 | it : MultiSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6619:9:6619:23 | getElement(...) | | Test.java:6688:42:6688:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6688:20:6688:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:6688:42:6688:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6688:20:6688:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:6690:20:6690:22 | out : CircularFifoQueue [] : String | Test.java:230:19:230:32 | it : CircularFifoQueue [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6690:9:6690:23 | getElement(...) | | Test.java:6695:59:6695:74 | (...)... : String | Test.java:253:59:253:67 | element : String | Test.java:253:147:253:147 | x : CircularFifoQueue [] : String | Test.java:6695:27:6695:75 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | | Test.java:6702:47:6702:62 | (...)... : String | Test.java:253:59:253:67 | element : String | Test.java:253:147:253:147 | x : CircularFifoQueue [] : String | Test.java:6702:15:6702:63 | newCircularFifoQueueWithElement(...) : CircularFifoQueue [] : String | @@ -19585,10 +19385,8 @@ subpaths | Test.java:6762:20:6762:34 | getElement(...) : Set [] : Object | Test.java:230:19:230:32 | it : Set [] : Object | Test.java:230:44:230:63 | next(...) : Object | Test.java:6762:9:6762:35 | getElement(...) | | Test.java:6762:31:6762:33 | out : List [, ] : Object | Test.java:230:19:230:32 | it : List [, ] : Object | Test.java:230:44:230:63 | next(...) : Object [] : Object | Test.java:6762:20:6762:34 | getElement(...) : Set [] : Object | | Test.java:6767:42:6767:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6767:20:6767:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:6767:42:6767:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6767:20:6767:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:6770:20:6770:22 | out : CompositeSet [] : String | Test.java:230:19:230:32 | it : CompositeSet [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6770:9:6770:23 | getElement(...) | | Test.java:6775:42:6775:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6775:20:6775:58 | newTreeBagWithElement(...) : TreeBag [] : String | -| Test.java:6775:42:6775:57 | (...)... : String | Test.java:267:39:267:47 | element : String | Test.java:267:107:267:107 | b : TreeBag [] : String | Test.java:6775:20:6775:58 | newTreeBagWithElement(...) : TreeBag [] : String | | Test.java:6778:20:6778:34 | getElement(...) : Set [] : String | Test.java:230:19:230:32 | it : Set [] : String | Test.java:230:44:230:63 | next(...) : String | Test.java:6778:9:6778:35 | getElement(...) | | Test.java:6778:31:6778:33 | out : List [, ] : String | Test.java:230:19:230:32 | it : List [, ] : String | Test.java:230:44:230:63 | next(...) : Object [] : String | Test.java:6778:20:6778:34 | getElement(...) : Set [] : String | | Test.java:6783:42:6783:57 | (...)... : String | Test.java:260:53:260:61 | element : String | Test.java:260:135:260:135 | x : ListOrderedSet [] : String | Test.java:6783:13:6783:58 | newListOrderedSetWithElement(...) : ListOrderedSet [] : String | @@ -19643,19 +19441,13 @@ subpaths | Test.java:6988:19:6988:21 | out : PatriciaTrie [] : String | Test.java:228:18:228:29 | map : PatriciaTrie [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:6988:9:6988:22 | getMapKey(...) | | Test.java:6995:21:6995:23 | out : PatriciaTrie [] : String | Test.java:232:20:232:31 | map : PatriciaTrie [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:6995:9:6995:24 | getMapValue(...) | | Test.java:6999:56:6999:71 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:6999:30:6999:72 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | -| Test.java:6999:56:6999:71 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:6999:30:6999:72 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | | Test.java:7002:28:7002:30 | out : Entry [] : String | Test.java:238:27:238:50 | container : Entry [] : String | Test.java:238:62:238:79 | getKey(...) : String | Test.java:7002:9:7002:31 | getMapKeyFromEntry(...) | | Test.java:7006:58:7006:73 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:7006:30:7006:74 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | -| Test.java:7006:58:7006:73 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:7006:30:7006:74 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | | Test.java:7009:30:7009:32 | out : Entry [] : String | Test.java:244:29:244:52 | container : Entry [] : String | Test.java:244:64:244:83 | getValue(...) : String | Test.java:7009:9:7009:33 | getMapValueFromEntry(...) | | Test.java:7013:56:7013:71 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:7013:30:7013:72 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | -| Test.java:7013:56:7013:71 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:7013:30:7013:72 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | | Test.java:7020:58:7020:73 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:7020:30:7020:74 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | -| Test.java:7020:58:7020:73 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:7020:30:7020:74 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | -| Test.java:7028:40:7028:55 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:7028:14:7028:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | | Test.java:7028:40:7028:55 | (...)... : String | Test.java:288:49:288:58 | key : String | Test.java:288:134:288:134 | m : PatriciaTrie [] : String | Test.java:7028:14:7028:56 | newPatriciaTrieWithMapKey(...) : PatriciaTrie [] : String | | Test.java:7030:19:7030:21 | out : Trie [] : String | Test.java:228:18:228:29 | map : Trie [] : String | Test.java:228:41:228:70 | next(...) : String | Test.java:7030:9:7030:22 | getMapKey(...) | | Test.java:7035:42:7035:57 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:7035:14:7035:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | -| Test.java:7035:42:7035:57 | (...)... : String | Test.java:307:50:307:56 | value : String | Test.java:307:129:307:129 | m : PatriciaTrie [] : String | Test.java:7035:14:7035:58 | newPatriciaTrieWithMapValue(...) : PatriciaTrie [] : String | | Test.java:7037:21:7037:23 | out : Trie [] : String | Test.java:232:20:232:31 | map : Trie [] : String | Test.java:232:43:232:55 | get(...) : String | Test.java:7037:9:7037:24 | getMapValue(...) | testFailures diff --git a/java/ql/test/library-tests/frameworks/spring/beans/test.expected b/java/ql/test/library-tests/frameworks/spring/beans/test.expected index 8c015c105f9..f2ed45d01da 100644 --- a/java/ql/test/library-tests/frameworks/spring/beans/test.expected +++ b/java/ql/test/library-tests/frameworks/spring/beans/test.expected @@ -312,13 +312,8 @@ nodes | Test.java:21:10:21:18 | container : MutablePropertyValues [] : PropertyValue | semmle.label | container : MutablePropertyValues [] : PropertyValue | | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue | | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue | -| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue | -| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue | -| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | semmle.label | getPropertyValue(...) : PropertyValue [] : Object | | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | semmle.label | getPropertyValue(...) : PropertyValue [] : Object | | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | semmle.label | getPropertyValue(...) : PropertyValue [] : String | -| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | semmle.label | getPropertyValue(...) : PropertyValue [] : String | -| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | semmle.label | getPropertyValue(...) : PropertyValue [] : Object | | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | semmle.label | getPropertyValue(...) : PropertyValue [] : Object | | Test.java:24:26:24:48 | container : PropertyValue [] : Object | semmle.label | container : PropertyValue [] : Object | | Test.java:24:26:24:48 | container : PropertyValue [] : String | semmle.label | container : PropertyValue [] : String | @@ -540,39 +535,27 @@ nodes | Test.java:279:25:279:27 | out : PropertyValue[] [[]] : PropertyValue | semmle.label | out : PropertyValue[] [[]] : PropertyValue | subpaths | Test.java:57:27:57:29 | out : MutablePropertyValues [] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:57:9:57:30 | getElementDefault(...) | -| Test.java:57:27:57:29 | out : MutablePropertyValues [] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:57:9:57:30 | getElementDefault(...) | | Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [] : Object | Test.java:24:26:24:48 | container : PropertyValue [] : Object | Test.java:25:10:25:28 | getName(...) : String | Test.java:64:9:64:48 | getMapKeyDefault(...) | | Test.java:64:44:64:46 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [] : Object | -| Test.java:64:44:64:46 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [] : Object | | Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [] : Object | Test.java:28:28:28:50 | container : PropertyValue [] : Object | Test.java:29:10:29:29 | getValue(...) : Object | Test.java:71:9:71:50 | getMapValueDefault(...) | | Test.java:71:46:71:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [] : Object | -| Test.java:71:46:71:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [] : Object | | Test.java:76:60:76:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | Test.java:76:24:76:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | | Test.java:78:27:78:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:78:9:78:30 | getElementDefault(...) | -| Test.java:78:27:78:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:78:9:78:30 | getElementDefault(...) | | Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [] : String | Test.java:24:26:24:48 | container : PropertyValue [] : String | Test.java:25:10:25:28 | getName(...) : String | Test.java:92:9:92:48 | getMapKeyDefault(...) | | Test.java:92:44:92:46 | out : MutablePropertyValues [, ] : String | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [] : String | -| Test.java:92:44:92:46 | out : MutablePropertyValues [, ] : String | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [] : String | | Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [] : Object | Test.java:28:28:28:50 | container : PropertyValue [] : Object | Test.java:29:10:29:29 | getValue(...) : Object | Test.java:99:9:99:50 | getMapValueDefault(...) | | Test.java:99:46:99:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [] : Object | -| Test.java:99:46:99:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [] : Object | -| Test.java:113:27:113:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:113:9:113:30 | getElementDefault(...) | | Test.java:113:27:113:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:113:9:113:30 | getElementDefault(...) | | Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [] : String | Test.java:24:26:24:48 | container : PropertyValue [] : String | Test.java:25:10:25:28 | getName(...) : String | Test.java:120:9:120:48 | getMapKeyDefault(...) | | Test.java:120:44:120:46 | out : MutablePropertyValues [, ] : String | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [] : String | -| Test.java:120:44:120:46 | out : MutablePropertyValues [, ] : String | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : String | Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [] : String | | Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [] : Object | Test.java:28:28:28:50 | container : PropertyValue [] : Object | Test.java:29:10:29:29 | getValue(...) : Object | Test.java:127:9:127:50 | getMapValueDefault(...) | | Test.java:127:46:127:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [] : Object | -| Test.java:127:46:127:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [] : Object | | Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [] : Object | Test.java:24:26:24:48 | container : PropertyValue [] : Object | Test.java:25:10:25:28 | getName(...) : String | Test.java:141:9:141:48 | getMapKeyDefault(...) | | Test.java:141:44:141:46 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [] : Object | -| Test.java:141:44:141:46 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [] : Object | | Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [] : Object | Test.java:28:28:28:50 | container : PropertyValue [] : Object | Test.java:29:10:29:29 | getValue(...) : Object | Test.java:148:9:148:50 | getMapValueDefault(...) | | Test.java:148:46:148:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [] : Object | -| Test.java:148:46:148:48 | out : MutablePropertyValues [, ] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [, ] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [] : Object | Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [] : Object | | Test.java:160:60:160:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | Test.java:160:24:160:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | | Test.java:162:27:162:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:162:9:162:30 | getElementDefault(...) | -| Test.java:162:27:162:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:162:9:162:30 | getElementDefault(...) | | Test.java:167:68:167:75 | source(...) : Object | Test.java:40:61:40:74 | element : Object | Test.java:41:10:41:57 | new MutablePropertyValues(...) : MutablePropertyValues [, ] : Object | Test.java:167:31:167:76 | newMutablePropertyValuesWithMapValue(...) : MutablePropertyValues [, ] : Object | | Test.java:175:42:175:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | Test.java:175:6:175:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | | Test.java:183:42:183:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | Test.java:183:6:183:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | @@ -580,7 +563,6 @@ subpaths | Test.java:191:42:191:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [] : PropertyValue | Test.java:191:6:191:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [] : PropertyValue | | Test.java:193:25:193:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:12:24:12:32 | array : PropertyValue[] [[]] : PropertyValue | Test.java:13:10:13:17 | ...[...] : PropertyValue | Test.java:193:9:193:28 | getArrayElement(...) | | Test.java:200:27:200:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:200:9:200:30 | getElementDefault(...) | -| Test.java:200:27:200:29 | out : MutablePropertyValues [] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:200:9:200:30 | getElementDefault(...) | | Test.java:214:26:214:28 | out : PropertyValue [] : String | Test.java:24:26:24:48 | container : PropertyValue [] : String | Test.java:25:10:25:28 | getName(...) : String | Test.java:214:9:214:29 | getMapKeyDefault(...) | | Test.java:221:28:221:30 | out : PropertyValue [] : Object | Test.java:28:28:28:50 | container : PropertyValue [] : Object | Test.java:29:10:29:29 | getValue(...) : Object | Test.java:221:9:221:31 | getMapValueDefault(...) | | Test.java:228:26:228:28 | out : PropertyValue [] : String | Test.java:24:26:24:48 | container : PropertyValue [] : String | Test.java:25:10:25:28 | getName(...) : String | Test.java:228:9:228:29 | getMapKeyDefault(...) | diff --git a/java/ql/test/library-tests/frameworks/spring/cache/test.expected b/java/ql/test/library-tests/frameworks/spring/cache/test.expected index 3d15ea5d79f..5183f66ad64 100644 --- a/java/ql/test/library-tests/frameworks/spring/cache/test.expected +++ b/java/ql/test/library-tests/frameworks/spring/cache/test.expected @@ -156,7 +156,6 @@ nodes | Test.java:42:21:42:48 | container : ValueWrapper [] : Object | semmle.label | container : ValueWrapper [] : Object | | Test.java:42:60:42:68 | container : ValueWrapper [] : Object | semmle.label | container : ValueWrapper [] : Object | | Test.java:42:60:42:74 | get(...) : Object | semmle.label | get(...) : Object | -| Test.java:42:60:42:74 | get(...) : Object | semmle.label | get(...) : Object | | Test.java:51:16:51:23 | source(...) : Object | semmle.label | source(...) : Object | | Test.java:52:10:52:58 | new ValueRetrievalException(...) : ValueRetrievalException [] : Object | semmle.label | new ValueRetrievalException(...) : ValueRetrievalException [] : Object | | Test.java:52:44:52:45 | in : Object | semmle.label | in : Object | @@ -228,13 +227,11 @@ nodes | Test.java:137:21:137:23 | out : ValueWrapper [] : Object | semmle.label | out : ValueWrapper [] : Object | subpaths | Test.java:42:60:42:68 | container : ValueWrapper [] : Object | Test.java:18:17:18:19 | parameter this : ValueWrapper [] : Object | Test.java:18:32:18:45 | get(...) : Object | Test.java:42:60:42:74 | get(...) : Object | -| Test.java:42:60:42:68 | container : ValueWrapper [] : Object | Test.java:18:17:18:19 | parameter this : ValueWrapper [] : Object | Test.java:18:32:18:45 | get(...) : Object | Test.java:42:60:42:74 | get(...) : Object | | Test.java:53:19:53:21 | out : ValueRetrievalException [] : Object | Test.java:39:19:39:57 | container : ValueRetrievalException [] : Object | Test.java:39:69:39:86 | getKey(...) : Object | Test.java:53:9:53:22 | getMapKey(...) | | Test.java:65:45:65:52 | source(...) : Object | Test.java:13:16:13:29 | element : Object | Test.java:13:3:13:14 | parameter this [Return] : ValueWrapper [] : Object | Test.java:65:28:65:53 | new ValueWrapper(...) : ValueWrapper [] : Object | | Test.java:66:10:66:11 | in : ValueWrapper [] : Object | Test.java:18:17:18:19 | parameter this : ValueWrapper [] : Object | Test.java:18:32:18:45 | get(...) : Object | Test.java:66:10:66:17 | get(...) : Object | | Test.java:72:36:72:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [] : Object | Test.java:72:15:72:44 | new DummyCache(...) : DummyCache [] : Object | | Test.java:74:21:74:23 | out : ValueWrapper [] : Object | Test.java:42:21:42:48 | container : ValueWrapper [] : Object | Test.java:42:60:42:74 | get(...) : Object | Test.java:74:9:74:24 | getMapValue(...) | -| Test.java:74:21:74:23 | out : ValueWrapper [] : Object | Test.java:42:21:42:48 | container : ValueWrapper [] : Object | Test.java:42:60:42:74 | get(...) : Object | Test.java:74:9:74:24 | getMapValue(...) | | Test.java:79:36:79:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [] : Object | Test.java:79:15:79:44 | new DummyCache(...) : DummyCache [] : Object | | Test.java:86:36:86:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [] : Object | Test.java:86:15:86:44 | new DummyCache(...) : DummyCache [] : Object | | Test.java:93:30:93:37 | source(...) : Object | Test.java:22:14:22:23 | key : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [] : Object | Test.java:93:15:93:44 | new DummyCache(...) : DummyCache [] : Object | @@ -247,5 +244,4 @@ subpaths | Test.java:130:21:130:23 | out : Cache [] : Object | Test.java:41:21:41:35 | container : Cache [] : Object | Test.java:41:47:41:78 | get(...) : Object | Test.java:130:9:130:24 | getMapValue(...) | | Test.java:135:36:135:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [] : Object | Test.java:135:15:135:44 | new DummyCache(...) : DummyCache [] : Object | | Test.java:137:21:137:23 | out : ValueWrapper [] : Object | Test.java:42:21:42:48 | container : ValueWrapper [] : Object | Test.java:42:60:42:74 | get(...) : Object | Test.java:137:9:137:24 | getMapValue(...) | -| Test.java:137:21:137:23 | out : ValueWrapper [] : Object | Test.java:42:21:42:48 | container : ValueWrapper [] : Object | Test.java:42:60:42:74 | get(...) : Object | Test.java:137:9:137:24 | getMapValue(...) | testFailures diff --git a/java/ql/test/library-tests/frameworks/spring/util/test.expected b/java/ql/test/library-tests/frameworks/spring/util/test.expected index f27398764b8..bb5944e8dee 100644 --- a/java/ql/test/library-tests/frameworks/spring/util/test.expected +++ b/java/ql/test/library-tests/frameworks/spring/util/test.expected @@ -208,12 +208,10 @@ edges | Test.java:53:70:53:76 | element : Object | Test.java:53:56:53:77 | {...} : Object[] [[]] : Object | provenance | | | Test.java:54:37:54:50 | element : Object | Test.java:54:94:54:100 | element : Object | provenance | | | Test.java:54:88:54:88 | p [post update] : Properties [] : Object | Test.java:54:117:54:117 | p : Properties [] : Object | provenance | | -| Test.java:54:88:54:88 | p [post update] : Properties [] : Object | Test.java:54:117:54:117 | p : Properties [] : Object | provenance | | | Test.java:54:94:54:100 | element : Object | Test.java:54:88:54:88 | p [post update] : Properties [] : Object | provenance | MaD:5 | | Test.java:54:94:54:100 | element : Object | Test.java:54:88:54:88 | p [post update] : Properties [] : Object | provenance | MaD:13 | | Test.java:55:39:55:52 | element : Object | Test.java:55:102:55:108 | element : Object | provenance | | | Test.java:55:90:55:90 | p [post update] : Properties [] : Object | Test.java:55:119:55:119 | p : Properties [] : Object | provenance | | -| Test.java:55:90:55:90 | p [post update] : Properties [] : Object | Test.java:55:119:55:119 | p : Properties [] : Object | provenance | | | Test.java:55:102:55:108 | element : Object | Test.java:55:90:55:90 | p [post update] : Properties [] : Object | provenance | MaD:6 | | Test.java:55:102:55:108 | element : Object | Test.java:55:90:55:90 | p [post update] : Properties [] : Object | provenance | MaD:14 | | Test.java:66:17:66:32 | (...)... : String | Test.java:67:33:67:34 | in : String | provenance | | @@ -1264,16 +1262,12 @@ nodes | Test.java:53:70:53:76 | element : Object | semmle.label | element : Object | | Test.java:54:37:54:50 | element : Object | semmle.label | element : Object | | Test.java:54:88:54:88 | p [post update] : Properties [] : Object | semmle.label | p [post update] : Properties [] : Object | -| Test.java:54:88:54:88 | p [post update] : Properties [] : Object | semmle.label | p [post update] : Properties [] : Object | | Test.java:54:94:54:100 | element : Object | semmle.label | element : Object | | Test.java:54:117:54:117 | p : Properties [] : Object | semmle.label | p : Properties [] : Object | -| Test.java:54:117:54:117 | p : Properties [] : Object | semmle.label | p : Properties [] : Object | | Test.java:55:39:55:52 | element : Object | semmle.label | element : Object | | Test.java:55:90:55:90 | p [post update] : Properties [] : Object | semmle.label | p [post update] : Properties [] : Object | -| Test.java:55:90:55:90 | p [post update] : Properties [] : Object | semmle.label | p [post update] : Properties [] : Object | | Test.java:55:102:55:108 | element : Object | semmle.label | element : Object | | Test.java:55:119:55:119 | p : Properties [] : Object | semmle.label | p : Properties [] : Object | -| Test.java:55:119:55:119 | p : Properties [] : Object | semmle.label | p : Properties [] : Object | | Test.java:66:17:66:32 | (...)... : String | semmle.label | (...)... : String | | Test.java:66:25:66:32 | source(...) : Object | semmle.label | source(...) : Object | | Test.java:67:33:67:34 | in : String | semmle.label | in : String | @@ -2338,10 +2332,8 @@ subpaths | Test.java:251:38:251:45 | source(...) : Object | Test.java:53:31:53:44 | element : Object | Test.java:53:56:53:77 | new Object[] : Object[] [[]] : Object | Test.java:251:18:251:46 | newWithArrayElement(...) : Object[] [[]] : Object | | Test.java:253:20:253:22 | out : Collection [] : Object | Test.java:49:19:49:41 | container : Collection [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:253:9:253:23 | getElement(...) | | Test.java:258:44:258:51 | source(...) : Object | Test.java:54:37:54:50 | element : Object | Test.java:54:117:54:117 | p : Properties [] : Object | Test.java:258:20:258:52 | newPropertiesWithMapKey(...) : Properties [] : Object | -| Test.java:258:44:258:51 | source(...) : Object | Test.java:54:37:54:50 | element : Object | Test.java:54:117:54:117 | p : Properties [] : Object | Test.java:258:20:258:52 | newPropertiesWithMapKey(...) : Properties [] : Object | | Test.java:260:19:260:21 | out : Map [] : Object | Test.java:51:21:51:39 | container : Map [] : Object | Test.java:51:51:51:86 | next(...) : Object | Test.java:260:9:260:22 | getMapKey(...) | | Test.java:265:46:265:53 | source(...) : Object | Test.java:55:39:55:52 | element : Object | Test.java:55:119:55:119 | p : Properties [] : Object | Test.java:265:20:265:54 | newPropertiesWithMapValue(...) : Properties [] : Object | -| Test.java:265:46:265:53 | source(...) : Object | Test.java:55:39:55:52 | element : Object | Test.java:55:119:55:119 | p : Properties [] : Object | Test.java:265:20:265:54 | newPropertiesWithMapValue(...) : Properties [] : Object | | Test.java:267:21:267:23 | out : Map [] : Object | Test.java:52:23:52:41 | container : Map [] : Object | Test.java:52:53:52:71 | get(...) : Object | Test.java:267:9:267:24 | getMapValue(...) | | Test.java:274:20:274:22 | out : Iterator [] : Object | Test.java:50:19:50:39 | container : Iterator [] : Object | Test.java:50:51:50:66 | next(...) : Object | Test.java:274:9:274:23 | getElement(...) | | Test.java:281:20:281:35 | getMapValue(...) : List [] : Object | Test.java:49:19:49:41 | container : List [] : Object | Test.java:49:53:49:79 | next(...) : Object | Test.java:281:9:281:36 | getElement(...) | diff --git a/java/ql/test/library-tests/frameworks/stream/test.expected b/java/ql/test/library-tests/frameworks/stream/test.expected index ddb42b6a63d..8fc629e7fd7 100644 --- a/java/ql/test/library-tests/frameworks/stream/test.expected +++ b/java/ql/test/library-tests/frameworks/stream/test.expected @@ -305,12 +305,16 @@ edges | Test.java:239:18:239:19 | a1 [Return] : Object[] [[]] : Object | Test.java:250:18:250:18 | a : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | | Test.java:239:18:239:19 | a1 [Return] : Object[] [[]] : Object | Test.java:254:18:254:19 | a1 : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | | Test.java:239:18:239:19 | a1 [Return] : Object[] [[]] : Object | Test.java:254:22:254:23 | a2 : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | +| Test.java:239:18:239:19 | a1 [Return] : Object[] [[]] : Object | Test.java:265:18:265:19 | a1 : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | +| Test.java:239:18:239:19 | a1 [Return] : Object[] [[]] : Object | Test.java:265:22:265:23 | a2 : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | | Test.java:239:22:239:23 | a2 [Return] : Object[] [[]] : Object | Test.java:238:18:238:18 | a : Object[] [[]] : Object | provenance | MaD:16 | | Test.java:239:22:239:23 | a2 [Return] : Object[] [[]] : Object | Test.java:238:18:238:18 | a : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | | Test.java:239:22:239:23 | a2 [Return] : Object[] [[]] : Object | Test.java:250:18:250:18 | a : Object[] [[]] : Object | provenance | MaD:16 | | Test.java:239:22:239:23 | a2 [Return] : Object[] [[]] : Object | Test.java:250:18:250:18 | a : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | | Test.java:239:22:239:23 | a2 [Return] : Object[] [[]] : Object | Test.java:254:18:254:19 | a1 : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | | Test.java:239:22:239:23 | a2 [Return] : Object[] [[]] : Object | Test.java:254:22:254:23 | a2 : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | +| Test.java:239:22:239:23 | a2 [Return] : Object[] [[]] : Object | Test.java:265:18:265:19 | a1 : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | +| Test.java:239:22:239:23 | a2 [Return] : Object[] [[]] : Object | Test.java:265:22:265:23 | a2 : Object[] [[]] : Object | provenance | MaD:16+MaD:14 | | Test.java:240:21:240:22 | a1 [post update] : Object[] [[]] : Object | Test.java:239:18:239:19 | a1 [Return] : Object[] [[]] : Object | provenance | | | Test.java:240:29:240:47 | source(...) : Object | Test.java:240:21:240:22 | a1 [post update] : Object[] [[]] : Object | provenance | | | Test.java:241:21:241:22 | a2 [post update] : Object[] [[]] : Object | Test.java:239:22:239:23 | a2 [Return] : Object[] [[]] : Object | provenance | | @@ -324,6 +328,8 @@ edges | Test.java:249:23:249:58 | new Object[] : Object[] [[]] : Object | Test.java:250:18:250:18 | a : Object[] [[]] : Object | provenance | MaD:13+MaD:14 | | Test.java:249:23:249:58 | new Object[] : Object[] [[]] : Object | Test.java:254:18:254:19 | a1 : Object[] [[]] : Object | provenance | MaD:13+MaD:14 | | Test.java:249:23:249:58 | new Object[] : Object[] [[]] : Object | Test.java:254:22:254:23 | a2 : Object[] [[]] : Object | provenance | MaD:13+MaD:14 | +| Test.java:249:23:249:58 | new Object[] : Object[] [[]] : Object | Test.java:265:18:265:19 | a1 : Object[] [[]] : Object | provenance | MaD:13+MaD:14 | +| Test.java:249:23:249:58 | new Object[] : Object[] [[]] : Object | Test.java:265:22:265:23 | a2 : Object[] [[]] : Object | provenance | MaD:13+MaD:14 | | Test.java:249:23:249:58 | {...} : Object[] [[]] : Object | Test.java:249:23:249:58 | new Object[] : Object[] [[]] : Object | provenance | | | Test.java:249:38:249:56 | source(...) : Object | Test.java:249:23:249:58 | {...} : Object[] [[]] : Object | provenance | | | Test.java:250:18:250:18 | a : Object[] [[]] : Object | Test.java:251:26:251:26 | a : Object[] [[]] : Object | provenance | | @@ -335,6 +341,8 @@ edges | Test.java:250:18:250:18 | a [Return] : Object[] [[]] : Object | Test.java:250:18:250:18 | a : Object[] [[]] : Object | provenance | MaD:14+MaD:16 | | Test.java:250:18:250:18 | a [Return] : Object[] [[]] : Object | Test.java:254:18:254:19 | a1 : Object[] [[]] : Object | provenance | MaD:14 | | Test.java:250:18:250:18 | a [Return] : Object[] [[]] : Object | Test.java:254:22:254:23 | a2 : Object[] [[]] : Object | provenance | MaD:14 | +| Test.java:250:18:250:18 | a [Return] : Object[] [[]] : Object | Test.java:265:18:265:19 | a1 : Object[] [[]] : Object | provenance | MaD:14 | +| Test.java:250:18:250:18 | a [Return] : Object[] [[]] : Object | Test.java:265:22:265:23 | a2 : Object[] [[]] : Object | provenance | MaD:14 | | Test.java:251:26:251:26 | a : Object[] [[]] : Object | Test.java:251:26:251:29 | ...[...] | provenance | | | Test.java:252:21:252:21 | a [post update] : Object[] [[]] : Object | Test.java:250:18:250:18 | a [Return] : Object[] [[]] : Object | provenance | | | Test.java:252:28:252:46 | source(...) : Object | Test.java:252:21:252:21 | a [post update] : Object[] [[]] : Object | provenance | | @@ -347,10 +355,20 @@ edges | Test.java:261:43:261:61 | source(...) : Object | Test.java:261:33:261:62 | of(...) : Stream [] : Object | provenance | MaD:56 | | Test.java:262:28:262:29 | in : Stream [] : Object | Test.java:262:28:268:18 | collect(...) : Object[] [[]] : Object | provenance | MaD:12 | | Test.java:262:28:262:29 | in : Stream [] : Object | Test.java:264:21:264:21 | x : Object | provenance | MaD:12 | +| Test.java:262:28:262:29 | in : Stream [] : Object | Test.java:265:18:265:19 | a1 : Object[] [[]] : Object | provenance | MaD:12 | +| Test.java:262:28:262:29 | in : Stream [] : Object | Test.java:265:22:265:23 | a2 : Object[] [[]] : Object | provenance | MaD:12 | | Test.java:262:28:268:18 | collect(...) : Object[] [[]] : Object | Test.java:269:18:269:20 | out : Object[] [[]] : Object | provenance | | | Test.java:264:21:264:21 | x : Object | Test.java:264:36:264:36 | x : Object | provenance | | | Test.java:264:29:264:29 | a [post update] : Object[] [[]] : Object | Test.java:264:18:264:18 | a [Return] : Object[] [[]] : Object | provenance | | | Test.java:264:36:264:36 | x : Object | Test.java:264:29:264:29 | a [post update] : Object[] [[]] : Object | provenance | | +| Test.java:265:18:265:19 | a1 : Object[] [[]] : Object | Test.java:267:29:267:30 | a1 : Object[] [[]] : Object | provenance | | +| Test.java:265:22:265:23 | a2 : Object[] [[]] : Object | Test.java:266:29:266:30 | a2 : Object[] [[]] : Object | provenance | | +| Test.java:266:21:266:22 | a1 [post update] : Object[] [[]] : Object | Test.java:265:18:265:19 | a1 [Return] : Object[] [[]] : Object | provenance | | +| Test.java:266:29:266:30 | a2 : Object[] [[]] : Object | Test.java:266:29:266:33 | ...[...] : Object | provenance | | +| Test.java:266:29:266:33 | ...[...] : Object | Test.java:266:21:266:22 | a1 [post update] : Object[] [[]] : Object | provenance | | +| Test.java:267:21:267:22 | a2 [post update] : Object[] [[]] : Object | Test.java:265:22:265:23 | a2 [Return] : Object[] [[]] : Object | provenance | | +| Test.java:267:29:267:30 | a1 : Object[] [[]] : Object | Test.java:267:29:267:33 | ...[...] : Object | provenance | | +| Test.java:267:29:267:33 | ...[...] : Object | Test.java:267:21:267:22 | a2 [post update] : Object[] [[]] : Object | provenance | | | Test.java:269:18:269:20 | out : Object[] [[]] : Object | Test.java:269:18:269:23 | ...[...] | provenance | | | Test.java:273:33:273:62 | of(...) : Stream [] : Object | Test.java:274:13:274:14 | in : Stream [] : Object | provenance | | | Test.java:273:43:273:61 | source(...) : Object | Test.java:273:33:273:62 | of(...) : Stream [] : Object | provenance | MaD:56 | @@ -790,6 +808,16 @@ nodes | Test.java:264:21:264:21 | x : Object | semmle.label | x : Object | | Test.java:264:29:264:29 | a [post update] : Object[] [[]] : Object | semmle.label | a [post update] : Object[] [[]] : Object | | Test.java:264:36:264:36 | x : Object | semmle.label | x : Object | +| Test.java:265:18:265:19 | a1 : Object[] [[]] : Object | semmle.label | a1 : Object[] [[]] : Object | +| Test.java:265:18:265:19 | a1 [Return] : Object[] [[]] : Object | semmle.label | a1 [Return] : Object[] [[]] : Object | +| Test.java:265:22:265:23 | a2 : Object[] [[]] : Object | semmle.label | a2 : Object[] [[]] : Object | +| Test.java:265:22:265:23 | a2 [Return] : Object[] [[]] : Object | semmle.label | a2 [Return] : Object[] [[]] : Object | +| Test.java:266:21:266:22 | a1 [post update] : Object[] [[]] : Object | semmle.label | a1 [post update] : Object[] [[]] : Object | +| Test.java:266:29:266:30 | a2 : Object[] [[]] : Object | semmle.label | a2 : Object[] [[]] : Object | +| Test.java:266:29:266:33 | ...[...] : Object | semmle.label | ...[...] : Object | +| Test.java:267:21:267:22 | a2 [post update] : Object[] [[]] : Object | semmle.label | a2 [post update] : Object[] [[]] : Object | +| Test.java:267:29:267:30 | a1 : Object[] [[]] : Object | semmle.label | a1 : Object[] [[]] : Object | +| Test.java:267:29:267:33 | ...[...] : Object | semmle.label | ...[...] : Object | | Test.java:269:18:269:20 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | | Test.java:269:18:269:23 | ...[...] | semmle.label | ...[...] | | Test.java:273:33:273:62 | of(...) : Stream [] : Object | semmle.label | of(...) : Stream [] : Object | @@ -1010,6 +1038,8 @@ subpaths | Test.java:208:34:208:36 | out : Object[] [[]] : Object | Test.java:16:27:16:35 | array : Object[] [[]] : Object | Test.java:16:47:16:54 | ...[...] : Object | Test.java:208:18:208:37 | getArrayElement(...) | | Test.java:215:29:215:31 | out : List [] : Object | Test.java:18:22:18:35 | it : List [] : Object | Test.java:18:47:18:66 | next(...) : Object | Test.java:215:18:215:32 | getElement(...) | | Test.java:262:28:262:29 | in : Stream [] : Object | Test.java:264:21:264:21 | x : Object | Test.java:264:18:264:18 | a [Return] : Object[] [[]] : Object | Test.java:262:28:268:18 | collect(...) : Object[] [[]] : Object | +| Test.java:262:28:262:29 | in : Stream [] : Object | Test.java:265:18:265:19 | a1 : Object[] [[]] : Object | Test.java:265:22:265:23 | a2 [Return] : Object[] [[]] : Object | Test.java:262:28:268:18 | collect(...) : Object[] [[]] : Object | +| Test.java:262:28:262:29 | in : Stream [] : Object | Test.java:265:22:265:23 | a2 : Object[] [[]] : Object | Test.java:265:18:265:19 | a1 [Return] : Object[] [[]] : Object | Test.java:262:28:268:18 | collect(...) : Object[] [[]] : Object | | Test.java:289:29:289:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:289:18:289:32 | getElement(...) | | Test.java:319:29:319:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:319:18:319:32 | getElement(...) | | Test.java:335:29:335:31 | out : Stream [] : Object | Test.java:17:22:17:38 | s : Stream [] : Object | Test.java:17:50:17:68 | next(...) : Object | Test.java:335:18:335:32 | getElement(...) | From c99a84689b8665d8d2664218c524365fd4aabc53 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 21 Aug 2024 09:56:08 +0100 Subject: [PATCH 172/258] Switch test expectations to use unix-style paths --- .../all-platforms/go/configure-baseline/test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/ql/integration-tests/all-platforms/go/configure-baseline/test.py b/go/ql/integration-tests/all-platforms/go/configure-baseline/test.py index ea414349666..b0dbb86365b 100644 --- a/go/ql/integration-tests/all-platforms/go/configure-baseline/test.py +++ b/go/ql/integration-tests/all-platforms/go/configure-baseline/test.py @@ -6,4 +6,4 @@ def test(codeql, go): baseline_info_path = os.path.join("test-db", "baseline-info.json") with open(baseline_info_path, "r") as f: baseline_info = json.load(f) - assert set(baseline_info["languages"]["go"]["files"]) == set(["root.go", os.path.join("c", "vendor", "cvendor.go")]), "Expected root.go and cvendor.go in baseline" + assert set(baseline_info["languages"]["go"]["files"]) == set(["root.go", "c/vendor/cvendor.go")]), "Expected root.go and cvendor.go in baseline" From 2939cefc68d38685c069ad90aa780a8b9a264308 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 21 Aug 2024 10:15:44 +0100 Subject: [PATCH 173/258] Use platform path separators for file testing, and forward-slashes for reporting to CodeQL --- go/extractor/configurebaseline/configurebaseline.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/go/extractor/configurebaseline/configurebaseline.go b/go/extractor/configurebaseline/configurebaseline.go index fa8023f24a8..f8e2c998f8c 100644 --- a/go/extractor/configurebaseline/configurebaseline.go +++ b/go/extractor/configurebaseline/configurebaseline.go @@ -18,7 +18,7 @@ func fileExists(path string) bool { // Decides if `dirPath` is a vendor directory by testing whether it is called `vendor` // and contains a `modules.txt` file. func isGolangVendorDirectory(dirPath string) bool { - return path.Base(dirPath) == "vendor" && fileExists(path.Join(dirPath, "modules.txt")) + return filepath.Base(dirPath) == "vendor" && fileExists(filepath.Join(dirPath, "modules.txt")) } type BaselineConfig struct { @@ -38,7 +38,8 @@ func GetConfigBaselineAsJSON(rootDir string) ([]byte, error) { return nil } if isGolangVendorDirectory(dirPath) { - vendorDirs = append(vendorDirs, path.Join(dirPath, "**")) + // Note that CodeQL expects a forward-slash-separated path, even on Windows. + vendorDirs = append(vendorDirs, path.Join(filepath.ToSlash(dirPath), "**")) return filepath.SkipDir } else { return nil From f13f19d5dc749666da62136cb1e8e5efa27e2000 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 21 Aug 2024 10:22:42 +0100 Subject: [PATCH 174/258] Fix typo --- .../all-platforms/go/configure-baseline/test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/ql/integration-tests/all-platforms/go/configure-baseline/test.py b/go/ql/integration-tests/all-platforms/go/configure-baseline/test.py index b0dbb86365b..e92cc868cab 100644 --- a/go/ql/integration-tests/all-platforms/go/configure-baseline/test.py +++ b/go/ql/integration-tests/all-platforms/go/configure-baseline/test.py @@ -6,4 +6,4 @@ def test(codeql, go): baseline_info_path = os.path.join("test-db", "baseline-info.json") with open(baseline_info_path, "r") as f: baseline_info = json.load(f) - assert set(baseline_info["languages"]["go"]["files"]) == set(["root.go", "c/vendor/cvendor.go")]), "Expected root.go and cvendor.go in baseline" + assert set(baseline_info["languages"]["go"]["files"]) == set(["root.go", "c/vendor/cvendor.go"]), "Expected root.go and cvendor.go in baseline" From 5d14307ea24750a8ba9e8443ebf76e339e03c75e Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Wed, 21 Aug 2024 11:53:50 +0200 Subject: [PATCH 175/258] C#: Add a SQL injection test case for ASP.NET. --- .../Security Features/CWE-089/SqlInjection.cs | 29 +++++ .../CWE-089/SqlInjection.expected | 110 +++++++++--------- .../Security Features/CWE-089/options | 1 + 3 files changed, 85 insertions(+), 55 deletions(-) diff --git a/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.cs b/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.cs index b698edfddce..38dcf94ef8d 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.cs @@ -10,7 +10,12 @@ namespace Test using System.Data; using System.Data.Entity; using System.Data.SqlClient; + using System.Diagnostics.CodeAnalysis; + using System.Threading; + using System.Threading.Tasks; using System.Web.UI.WebControls; + using Microsoft.AspNetCore.Http; + using Microsoft.AspNetCore.Mvc; public class EntityFrameworkContext : DbContext { @@ -110,4 +115,28 @@ namespace Test System.Windows.Forms.TextBox box1; } + + public abstract class MyController : Controller + { + [HttpPost("{userId:string}")] + public async Task GetUserById([FromRoute] string userId, CancellationToken cancellationToken) + { + // This is a vulnerable method due to SQL injection + string query = "SELECT * FROM Users WHERE UserId = '" + userId + "'"; + + using (SqlConnection connection = new SqlConnection("YourConnectionString")) + { + SqlCommand command = new SqlCommand(query, connection); + connection.Open(); + + SqlDataReader reader = command.ExecuteReader(); + while (reader.Read()) + { + Console.WriteLine(String.Format("{0}, {1}", reader["UserId"], reader["Username"])); + } + } + + return Ok(); + } + } } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected b/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected index a6f74041843..df48e097cf8 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected +++ b/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected @@ -1,14 +1,14 @@ #select | SecondOrderSqlInjection.cs:25:71:25:145 | ... + ... | SecondOrderSqlInjection.cs:20:48:20:78 | call to method ExecuteReader : SqlDataReader | SecondOrderSqlInjection.cs:25:71:25:145 | ... + ... | This query depends on $@. | SecondOrderSqlInjection.cs:20:48:20:78 | call to method ExecuteReader : SqlDataReader | this database input | | SecondOrderSqlInjection.cs:45:57:45:59 | access to local variable sql | SecondOrderSqlInjection.cs:33:36:33:78 | object creation of type FileStream : FileStream | SecondOrderSqlInjection.cs:45:57:45:59 | access to local variable sql | This query depends on $@. | SecondOrderSqlInjection.cs:33:36:33:78 | object creation of type FileStream : FileStream | this file stream | -| SqlInjection.cs:34:50:34:55 | access to local variable query1 | SqlInjection.cs:33:21:33:35 | access to field categoryTextBox : TextBox | SqlInjection.cs:34:50:34:55 | access to local variable query1 | This query depends on $@. | SqlInjection.cs:33:21:33:35 | access to field categoryTextBox : TextBox | this ASP.NET user input | -| SqlInjection.cs:69:56:69:61 | access to local variable query1 | SqlInjection.cs:68:33:68:47 | access to field categoryTextBox : TextBox | SqlInjection.cs:69:56:69:61 | access to local variable query1 | This query depends on $@. | SqlInjection.cs:68:33:68:47 | access to field categoryTextBox : TextBox | this ASP.NET user input | -| SqlInjection.cs:70:55:70:60 | access to local variable query1 | SqlInjection.cs:68:33:68:47 | access to field categoryTextBox : TextBox | SqlInjection.cs:70:55:70:60 | access to local variable query1 | This query depends on $@. | SqlInjection.cs:68:33:68:47 | access to field categoryTextBox : TextBox | this ASP.NET user input | -| SqlInjection.cs:83:50:83:55 | access to local variable query1 | SqlInjection.cs:82:21:82:29 | access to property Text : String | SqlInjection.cs:83:50:83:55 | access to local variable query1 | This query depends on $@. | SqlInjection.cs:82:21:82:29 | access to property Text : String | this TextBox text | -| SqlInjection.cs:93:42:93:52 | access to local variable queryString | SqlInjection.cs:92:21:92:29 | access to property Text : String | SqlInjection.cs:93:42:93:52 | access to local variable queryString | This query depends on $@. | SqlInjection.cs:92:21:92:29 | access to property Text : String | this TextBox text | -| SqlInjection.cs:94:50:94:52 | access to local variable cmd | SqlInjection.cs:92:21:92:29 | access to property Text : String | SqlInjection.cs:94:50:94:52 | access to local variable cmd | This query depends on $@. | SqlInjection.cs:92:21:92:29 | access to property Text : String | this TextBox text | -| SqlInjection.cs:104:42:104:52 | access to local variable queryString | SqlInjection.cs:103:21:103:38 | call to method ReadLine : String | SqlInjection.cs:104:42:104:52 | access to local variable queryString | This query depends on $@. | SqlInjection.cs:103:21:103:38 | call to method ReadLine : String | this read from stdin | -| SqlInjection.cs:105:50:105:52 | access to local variable cmd | SqlInjection.cs:103:21:103:38 | call to method ReadLine : String | SqlInjection.cs:105:50:105:52 | access to local variable cmd | This query depends on $@. | SqlInjection.cs:103:21:103:38 | call to method ReadLine : String | this read from stdin | +| SqlInjection.cs:39:50:39:55 | access to local variable query1 | SqlInjection.cs:38:21:38:35 | access to field categoryTextBox : TextBox | SqlInjection.cs:39:50:39:55 | access to local variable query1 | This query depends on $@. | SqlInjection.cs:38:21:38:35 | access to field categoryTextBox : TextBox | this ASP.NET user input | +| SqlInjection.cs:74:56:74:61 | access to local variable query1 | SqlInjection.cs:73:33:73:47 | access to field categoryTextBox : TextBox | SqlInjection.cs:74:56:74:61 | access to local variable query1 | This query depends on $@. | SqlInjection.cs:73:33:73:47 | access to field categoryTextBox : TextBox | this ASP.NET user input | +| SqlInjection.cs:75:55:75:60 | access to local variable query1 | SqlInjection.cs:73:33:73:47 | access to field categoryTextBox : TextBox | SqlInjection.cs:75:55:75:60 | access to local variable query1 | This query depends on $@. | SqlInjection.cs:73:33:73:47 | access to field categoryTextBox : TextBox | this ASP.NET user input | +| SqlInjection.cs:88:50:88:55 | access to local variable query1 | SqlInjection.cs:87:21:87:29 | access to property Text : String | SqlInjection.cs:88:50:88:55 | access to local variable query1 | This query depends on $@. | SqlInjection.cs:87:21:87:29 | access to property Text : String | this TextBox text | +| SqlInjection.cs:98:42:98:52 | access to local variable queryString | SqlInjection.cs:97:21:97:29 | access to property Text : String | SqlInjection.cs:98:42:98:52 | access to local variable queryString | This query depends on $@. | SqlInjection.cs:97:21:97:29 | access to property Text : String | this TextBox text | +| SqlInjection.cs:99:50:99:52 | access to local variable cmd | SqlInjection.cs:97:21:97:29 | access to property Text : String | SqlInjection.cs:99:50:99:52 | access to local variable cmd | This query depends on $@. | SqlInjection.cs:97:21:97:29 | access to property Text : String | this TextBox text | +| SqlInjection.cs:109:42:109:52 | access to local variable queryString | SqlInjection.cs:108:21:108:38 | call to method ReadLine : String | SqlInjection.cs:109:42:109:52 | access to local variable queryString | This query depends on $@. | SqlInjection.cs:108:21:108:38 | call to method ReadLine : String | this read from stdin | +| SqlInjection.cs:110:50:110:52 | access to local variable cmd | SqlInjection.cs:108:21:108:38 | call to method ReadLine : String | SqlInjection.cs:110:50:110:52 | access to local variable cmd | This query depends on $@. | SqlInjection.cs:108:21:108:38 | call to method ReadLine : String | this read from stdin | | SqlInjectionDapper.cs:21:55:21:59 | access to local variable query | SqlInjectionDapper.cs:20:86:20:94 | access to property Text : String | SqlInjectionDapper.cs:21:55:21:59 | access to local variable query | This query depends on $@. | SqlInjectionDapper.cs:20:86:20:94 | access to property Text : String | this TextBox text | | SqlInjectionDapper.cs:30:66:30:70 | access to local variable query | SqlInjectionDapper.cs:29:86:29:94 | access to property Text : String | SqlInjectionDapper.cs:30:66:30:70 | access to local variable query | This query depends on $@. | SqlInjectionDapper.cs:29:86:29:94 | access to property Text : String | this TextBox text | | SqlInjectionDapper.cs:39:63:39:67 | access to local variable query | SqlInjectionDapper.cs:38:86:38:94 | access to property Text : String | SqlInjectionDapper.cs:39:63:39:67 | access to local variable query | This query depends on $@. | SqlInjectionDapper.cs:38:86:38:94 | access to property Text : String | this TextBox text | @@ -40,27 +40,27 @@ edges | SecondOrderSqlInjection.cs:40:25:40:27 | access to local variable sql : String | SecondOrderSqlInjection.cs:45:57:45:59 | access to local variable sql | provenance | Sink:MaD:10 | | SecondOrderSqlInjection.cs:40:31:40:33 | access to local variable sql : String | SecondOrderSqlInjection.cs:40:31:40:40 | call to method Trim : String | provenance | MaD:28 | | SecondOrderSqlInjection.cs:40:31:40:40 | call to method Trim : String | SecondOrderSqlInjection.cs:40:25:40:27 | access to local variable sql : String | provenance | | -| SqlInjection.cs:32:21:32:26 | access to local variable query1 : String | SqlInjection.cs:34:50:34:55 | access to local variable query1 | provenance | Sink:MaD:18 | -| SqlInjection.cs:33:21:33:35 | access to field categoryTextBox : TextBox | SqlInjection.cs:33:21:33:40 | access to property Text : String | provenance | MaD:26 | -| SqlInjection.cs:33:21:33:40 | access to property Text : String | SqlInjection.cs:32:21:32:26 | access to local variable query1 : String | provenance | | -| SqlInjection.cs:67:25:67:30 | access to local variable query1 : String | SqlInjection.cs:69:56:69:61 | access to local variable query1 | provenance | Sink:MaD:7 | -| SqlInjection.cs:67:25:67:30 | access to local variable query1 : String | SqlInjection.cs:70:55:70:60 | access to local variable query1 | provenance | Sink:MaD:8 | -| SqlInjection.cs:68:33:68:47 | access to field categoryTextBox : TextBox | SqlInjection.cs:68:33:68:52 | access to property Text : String | provenance | MaD:26 | -| SqlInjection.cs:68:33:68:52 | access to property Text : String | SqlInjection.cs:67:25:67:30 | access to local variable query1 : String | provenance | | -| SqlInjection.cs:81:21:81:26 | access to local variable query1 : String | SqlInjection.cs:83:50:83:55 | access to local variable query1 | provenance | Sink:MaD:18 | -| SqlInjection.cs:82:21:82:29 | access to property Text : String | SqlInjection.cs:81:21:81:26 | access to local variable query1 : String | provenance | | -| SqlInjection.cs:91:21:91:31 | access to local variable queryString : String | SqlInjection.cs:93:42:93:52 | access to local variable queryString | provenance | Sink:MaD:15 | -| SqlInjection.cs:91:21:91:31 | access to local variable queryString : String | SqlInjection.cs:93:42:93:52 | access to local variable queryString : String | provenance | | -| SqlInjection.cs:92:21:92:29 | access to property Text : String | SqlInjection.cs:91:21:91:31 | access to local variable queryString : String | provenance | | -| SqlInjection.cs:93:21:93:23 | access to local variable cmd : SqlCommand | SqlInjection.cs:94:50:94:52 | access to local variable cmd | provenance | Sink:MaD:17 | -| SqlInjection.cs:93:27:93:53 | object creation of type SqlCommand : SqlCommand | SqlInjection.cs:93:21:93:23 | access to local variable cmd : SqlCommand | provenance | | -| SqlInjection.cs:93:42:93:52 | access to local variable queryString : String | SqlInjection.cs:93:27:93:53 | object creation of type SqlCommand : SqlCommand | provenance | MaD:19 | -| SqlInjection.cs:102:21:102:31 | access to local variable queryString : String | SqlInjection.cs:104:42:104:52 | access to local variable queryString | provenance | Sink:MaD:15 | -| SqlInjection.cs:102:21:102:31 | access to local variable queryString : String | SqlInjection.cs:104:42:104:52 | access to local variable queryString : String | provenance | | -| SqlInjection.cs:103:21:103:38 | call to method ReadLine : String | SqlInjection.cs:102:21:102:31 | access to local variable queryString : String | provenance | Src:MaD:27 | -| SqlInjection.cs:104:21:104:23 | access to local variable cmd : SqlCommand | SqlInjection.cs:105:50:105:52 | access to local variable cmd | provenance | Sink:MaD:17 | -| SqlInjection.cs:104:27:104:53 | object creation of type SqlCommand : SqlCommand | SqlInjection.cs:104:21:104:23 | access to local variable cmd : SqlCommand | provenance | | -| SqlInjection.cs:104:42:104:52 | access to local variable queryString : String | SqlInjection.cs:104:27:104:53 | object creation of type SqlCommand : SqlCommand | provenance | MaD:19 | +| SqlInjection.cs:37:21:37:26 | access to local variable query1 : String | SqlInjection.cs:39:50:39:55 | access to local variable query1 | provenance | Sink:MaD:18 | +| SqlInjection.cs:38:21:38:35 | access to field categoryTextBox : TextBox | SqlInjection.cs:38:21:38:40 | access to property Text : String | provenance | MaD:26 | +| SqlInjection.cs:38:21:38:40 | access to property Text : String | SqlInjection.cs:37:21:37:26 | access to local variable query1 : String | provenance | | +| SqlInjection.cs:72:25:72:30 | access to local variable query1 : String | SqlInjection.cs:74:56:74:61 | access to local variable query1 | provenance | Sink:MaD:7 | +| SqlInjection.cs:72:25:72:30 | access to local variable query1 : String | SqlInjection.cs:75:55:75:60 | access to local variable query1 | provenance | Sink:MaD:8 | +| SqlInjection.cs:73:33:73:47 | access to field categoryTextBox : TextBox | SqlInjection.cs:73:33:73:52 | access to property Text : String | provenance | MaD:26 | +| SqlInjection.cs:73:33:73:52 | access to property Text : String | SqlInjection.cs:72:25:72:30 | access to local variable query1 : String | provenance | | +| SqlInjection.cs:86:21:86:26 | access to local variable query1 : String | SqlInjection.cs:88:50:88:55 | access to local variable query1 | provenance | Sink:MaD:18 | +| SqlInjection.cs:87:21:87:29 | access to property Text : String | SqlInjection.cs:86:21:86:26 | access to local variable query1 : String | provenance | | +| SqlInjection.cs:96:21:96:31 | access to local variable queryString : String | SqlInjection.cs:98:42:98:52 | access to local variable queryString | provenance | Sink:MaD:15 | +| SqlInjection.cs:96:21:96:31 | access to local variable queryString : String | SqlInjection.cs:98:42:98:52 | access to local variable queryString : String | provenance | | +| SqlInjection.cs:97:21:97:29 | access to property Text : String | SqlInjection.cs:96:21:96:31 | access to local variable queryString : String | provenance | | +| SqlInjection.cs:98:21:98:23 | access to local variable cmd : SqlCommand | SqlInjection.cs:99:50:99:52 | access to local variable cmd | provenance | Sink:MaD:17 | +| SqlInjection.cs:98:27:98:53 | object creation of type SqlCommand : SqlCommand | SqlInjection.cs:98:21:98:23 | access to local variable cmd : SqlCommand | provenance | | +| SqlInjection.cs:98:42:98:52 | access to local variable queryString : String | SqlInjection.cs:98:27:98:53 | object creation of type SqlCommand : SqlCommand | provenance | MaD:19 | +| SqlInjection.cs:107:21:107:31 | access to local variable queryString : String | SqlInjection.cs:109:42:109:52 | access to local variable queryString | provenance | Sink:MaD:15 | +| SqlInjection.cs:107:21:107:31 | access to local variable queryString : String | SqlInjection.cs:109:42:109:52 | access to local variable queryString : String | provenance | | +| SqlInjection.cs:108:21:108:38 | call to method ReadLine : String | SqlInjection.cs:107:21:107:31 | access to local variable queryString : String | provenance | Src:MaD:27 | +| SqlInjection.cs:109:21:109:23 | access to local variable cmd : SqlCommand | SqlInjection.cs:110:50:110:52 | access to local variable cmd | provenance | Sink:MaD:17 | +| SqlInjection.cs:109:27:109:53 | object creation of type SqlCommand : SqlCommand | SqlInjection.cs:109:21:109:23 | access to local variable cmd : SqlCommand | provenance | | +| SqlInjection.cs:109:42:109:52 | access to local variable queryString : String | SqlInjection.cs:109:27:109:53 | object creation of type SqlCommand : SqlCommand | provenance | MaD:19 | | SqlInjectionDapper.cs:20:21:20:25 | access to local variable query : String | SqlInjectionDapper.cs:21:55:21:59 | access to local variable query | provenance | Sink:MaD:4 | | SqlInjectionDapper.cs:20:86:20:94 | access to property Text : String | SqlInjectionDapper.cs:20:21:20:25 | access to local variable query : String | provenance | | | SqlInjectionDapper.cs:29:21:29:25 | access to local variable query : String | SqlInjectionDapper.cs:30:66:30:70 | access to local variable query | provenance | Sink:MaD:5 | @@ -144,32 +144,32 @@ nodes | SecondOrderSqlInjection.cs:40:31:40:33 | access to local variable sql : String | semmle.label | access to local variable sql : String | | SecondOrderSqlInjection.cs:40:31:40:40 | call to method Trim : String | semmle.label | call to method Trim : String | | SecondOrderSqlInjection.cs:45:57:45:59 | access to local variable sql | semmle.label | access to local variable sql | -| SqlInjection.cs:32:21:32:26 | access to local variable query1 : String | semmle.label | access to local variable query1 : String | -| SqlInjection.cs:33:21:33:35 | access to field categoryTextBox : TextBox | semmle.label | access to field categoryTextBox : TextBox | -| SqlInjection.cs:33:21:33:40 | access to property Text : String | semmle.label | access to property Text : String | -| SqlInjection.cs:34:50:34:55 | access to local variable query1 | semmle.label | access to local variable query1 | -| SqlInjection.cs:67:25:67:30 | access to local variable query1 : String | semmle.label | access to local variable query1 : String | -| SqlInjection.cs:68:33:68:47 | access to field categoryTextBox : TextBox | semmle.label | access to field categoryTextBox : TextBox | -| SqlInjection.cs:68:33:68:52 | access to property Text : String | semmle.label | access to property Text : String | -| SqlInjection.cs:69:56:69:61 | access to local variable query1 | semmle.label | access to local variable query1 | -| SqlInjection.cs:70:55:70:60 | access to local variable query1 | semmle.label | access to local variable query1 | -| SqlInjection.cs:81:21:81:26 | access to local variable query1 : String | semmle.label | access to local variable query1 : String | -| SqlInjection.cs:82:21:82:29 | access to property Text : String | semmle.label | access to property Text : String | -| SqlInjection.cs:83:50:83:55 | access to local variable query1 | semmle.label | access to local variable query1 | -| SqlInjection.cs:91:21:91:31 | access to local variable queryString : String | semmle.label | access to local variable queryString : String | -| SqlInjection.cs:92:21:92:29 | access to property Text : String | semmle.label | access to property Text : String | -| SqlInjection.cs:93:21:93:23 | access to local variable cmd : SqlCommand | semmle.label | access to local variable cmd : SqlCommand | -| SqlInjection.cs:93:27:93:53 | object creation of type SqlCommand : SqlCommand | semmle.label | object creation of type SqlCommand : SqlCommand | -| SqlInjection.cs:93:42:93:52 | access to local variable queryString | semmle.label | access to local variable queryString | -| SqlInjection.cs:93:42:93:52 | access to local variable queryString : String | semmle.label | access to local variable queryString : String | -| SqlInjection.cs:94:50:94:52 | access to local variable cmd | semmle.label | access to local variable cmd | -| SqlInjection.cs:102:21:102:31 | access to local variable queryString : String | semmle.label | access to local variable queryString : String | -| SqlInjection.cs:103:21:103:38 | call to method ReadLine : String | semmle.label | call to method ReadLine : String | -| SqlInjection.cs:104:21:104:23 | access to local variable cmd : SqlCommand | semmle.label | access to local variable cmd : SqlCommand | -| SqlInjection.cs:104:27:104:53 | object creation of type SqlCommand : SqlCommand | semmle.label | object creation of type SqlCommand : SqlCommand | -| SqlInjection.cs:104:42:104:52 | access to local variable queryString | semmle.label | access to local variable queryString | -| SqlInjection.cs:104:42:104:52 | access to local variable queryString : String | semmle.label | access to local variable queryString : String | -| SqlInjection.cs:105:50:105:52 | access to local variable cmd | semmle.label | access to local variable cmd | +| SqlInjection.cs:37:21:37:26 | access to local variable query1 : String | semmle.label | access to local variable query1 : String | +| SqlInjection.cs:38:21:38:35 | access to field categoryTextBox : TextBox | semmle.label | access to field categoryTextBox : TextBox | +| SqlInjection.cs:38:21:38:40 | access to property Text : String | semmle.label | access to property Text : String | +| SqlInjection.cs:39:50:39:55 | access to local variable query1 | semmle.label | access to local variable query1 | +| SqlInjection.cs:72:25:72:30 | access to local variable query1 : String | semmle.label | access to local variable query1 : String | +| SqlInjection.cs:73:33:73:47 | access to field categoryTextBox : TextBox | semmle.label | access to field categoryTextBox : TextBox | +| SqlInjection.cs:73:33:73:52 | access to property Text : String | semmle.label | access to property Text : String | +| SqlInjection.cs:74:56:74:61 | access to local variable query1 | semmle.label | access to local variable query1 | +| SqlInjection.cs:75:55:75:60 | access to local variable query1 | semmle.label | access to local variable query1 | +| SqlInjection.cs:86:21:86:26 | access to local variable query1 : String | semmle.label | access to local variable query1 : String | +| SqlInjection.cs:87:21:87:29 | access to property Text : String | semmle.label | access to property Text : String | +| SqlInjection.cs:88:50:88:55 | access to local variable query1 | semmle.label | access to local variable query1 | +| SqlInjection.cs:96:21:96:31 | access to local variable queryString : String | semmle.label | access to local variable queryString : String | +| SqlInjection.cs:97:21:97:29 | access to property Text : String | semmle.label | access to property Text : String | +| SqlInjection.cs:98:21:98:23 | access to local variable cmd : SqlCommand | semmle.label | access to local variable cmd : SqlCommand | +| SqlInjection.cs:98:27:98:53 | object creation of type SqlCommand : SqlCommand | semmle.label | object creation of type SqlCommand : SqlCommand | +| SqlInjection.cs:98:42:98:52 | access to local variable queryString | semmle.label | access to local variable queryString | +| SqlInjection.cs:98:42:98:52 | access to local variable queryString : String | semmle.label | access to local variable queryString : String | +| SqlInjection.cs:99:50:99:52 | access to local variable cmd | semmle.label | access to local variable cmd | +| SqlInjection.cs:107:21:107:31 | access to local variable queryString : String | semmle.label | access to local variable queryString : String | +| SqlInjection.cs:108:21:108:38 | call to method ReadLine : String | semmle.label | call to method ReadLine : String | +| SqlInjection.cs:109:21:109:23 | access to local variable cmd : SqlCommand | semmle.label | access to local variable cmd : SqlCommand | +| SqlInjection.cs:109:27:109:53 | object creation of type SqlCommand : SqlCommand | semmle.label | object creation of type SqlCommand : SqlCommand | +| SqlInjection.cs:109:42:109:52 | access to local variable queryString | semmle.label | access to local variable queryString | +| SqlInjection.cs:109:42:109:52 | access to local variable queryString : String | semmle.label | access to local variable queryString : String | +| SqlInjection.cs:110:50:110:52 | access to local variable cmd | semmle.label | access to local variable cmd | | SqlInjectionDapper.cs:20:21:20:25 | access to local variable query : String | semmle.label | access to local variable query : String | | SqlInjectionDapper.cs:20:86:20:94 | access to property Text : String | semmle.label | access to property Text : String | | SqlInjectionDapper.cs:21:55:21:59 | access to local variable query | semmle.label | access to local variable query | diff --git a/csharp/ql/test/query-tests/Security Features/CWE-089/options b/csharp/ql/test/query-tests/Security Features/CWE-089/options index 656d05b7449..c6ef0c87f2d 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-089/options +++ b/csharp/ql/test/query-tests/Security Features/CWE-089/options @@ -3,3 +3,4 @@ semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resour semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/System.Data.SqlClient/4.8.5/System.Data.SqlClient.csproj semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/System.Data.SQLite/1.0.118/System.Data.SQLite.csproj semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Windows.cs +semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj From 75772c58321ca70f682c4b18d995fc485db71d67 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Wed, 21 Aug 2024 12:08:21 +0200 Subject: [PATCH 176/258] C#: Add abstract controller remote flow source example. --- .../aspremote/AspRemoteFlowSource.cs | 7 ++++- .../frameworks/microsoft/AspNetCore.cs | 26 +++++++++---------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/AspRemoteFlowSource.cs b/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/AspRemoteFlowSource.cs index 7f110e5c6fd..176f95e4a89 100644 --- a/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/AspRemoteFlowSource.cs +++ b/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/AspRemoteFlowSource.cs @@ -58,4 +58,9 @@ namespace Testing app.Run(); } } -} \ No newline at end of file + + public abstract class AbstractTestController : Controller + { + public void MyActionMethod(string param) { } + } +} diff --git a/csharp/ql/test/library-tests/frameworks/microsoft/AspNetCore.cs b/csharp/ql/test/library-tests/frameworks/microsoft/AspNetCore.cs index 78095254d09..bcf0c766f34 100644 --- a/csharp/ql/test/library-tests/frameworks/microsoft/AspNetCore.cs +++ b/csharp/ql/test/library-tests/frameworks/microsoft/AspNetCore.cs @@ -56,6 +56,15 @@ public class HomeController5 : HomeController4 } } +// is abstract +public abstract class HomeController6 : Controller +{ + public string Index() + { + return "This is Home Controller"; + } +} + // is not public internal class NotHomeController : Controller { @@ -65,17 +74,8 @@ internal class NotHomeController : Controller } } -// is abstract -public abstract class NotHomeController2 : Controller -{ - public string Index() - { - return "This is Home Controller"; - } -} - // contains generic parameters -public class NotHomeController3 : Controller +public class NotHomeController2 : Controller { public string Index() { @@ -85,7 +85,7 @@ public class NotHomeController3 : Controller // has [NonController] attribute [NonController] -public class NotHomeController4 : Controller +public class NotHomeController3 : Controller { public string Index() { @@ -94,10 +94,10 @@ public class NotHomeController4 : Controller } // derived from a class that has [NonController] attribute -public class NotController : NotHomeController4 +public class NotController : NotHomeController3 { public string Index() { return "This is Home Controller"; } -} \ No newline at end of file +} From 79718f1cd6d71d0e79819ae7aeac9a56f419e02e Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Wed, 21 Aug 2024 12:09:09 +0200 Subject: [PATCH 177/258] C#: Remove requirement that a controller is not allowed to be abstract. --- .../lib/semmle/code/csharp/frameworks/microsoft/AspNetCore.qll | 1 - 1 file changed, 1 deletion(-) diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/microsoft/AspNetCore.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/microsoft/AspNetCore.qll index 08ff4df55cb..350465052d1 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/microsoft/AspNetCore.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/microsoft/AspNetCore.qll @@ -205,7 +205,6 @@ class MicrosoftAspNetCoreMvcController extends Class { ) ) and this.isPublic() and - (not this.isAbstract() or this instanceof MicrosoftAspNetCoreMvcControllerBaseClass) and not this instanceof Generic and ( this.getABaseType*() instanceof MicrosoftAspNetCoreMvcControllerBaseClass From 45d4d5138ac4aa12fafa479659782c35519c23d7 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Wed, 21 Aug 2024 12:18:50 +0200 Subject: [PATCH 178/258] C#: Update expected test output. --- .../flowsources/aspremote/aspRemoteFlowSource.expected | 1 + .../library-tests/frameworks/microsoft/AspNetCore.expected | 1 + .../Security Features/CWE-089/SqlInjection.expected | 6 ++++++ 3 files changed, 8 insertions(+) diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/aspRemoteFlowSource.expected b/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/aspRemoteFlowSource.expected index 199ed69f28f..a7442a80839 100644 --- a/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/aspRemoteFlowSource.expected +++ b/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/aspRemoteFlowSource.expected @@ -12,3 +12,4 @@ remoteFlowSources | AspRemoteFlowSource.cs:53:63:53:73 | mapPutParam | | AspRemoteFlowSource.cs:54:69:54:82 | mapDeleteParam | | AspRemoteFlowSource.cs:56:41:56:44 | item | +| AspRemoteFlowSource.cs:64:43:64:47 | param | diff --git a/csharp/ql/test/library-tests/frameworks/microsoft/AspNetCore.expected b/csharp/ql/test/library-tests/frameworks/microsoft/AspNetCore.expected index c4c58957115..e9866698ccd 100644 --- a/csharp/ql/test/library-tests/frameworks/microsoft/AspNetCore.expected +++ b/csharp/ql/test/library-tests/frameworks/microsoft/AspNetCore.expected @@ -4,3 +4,4 @@ | AspNetCore.cs:32:14:32:28 | HomeController3 | | AspNetCore.cs:42:14:42:28 | HomeController4 | | AspNetCore.cs:51:14:51:28 | HomeController5 | +| AspNetCore.cs:60:23:60:37 | HomeController6 | diff --git a/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected b/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected index df48e097cf8..7a0e0fad181 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected +++ b/csharp/ql/test/query-tests/Security Features/CWE-089/SqlInjection.expected @@ -9,6 +9,7 @@ | SqlInjection.cs:99:50:99:52 | access to local variable cmd | SqlInjection.cs:97:21:97:29 | access to property Text : String | SqlInjection.cs:99:50:99:52 | access to local variable cmd | This query depends on $@. | SqlInjection.cs:97:21:97:29 | access to property Text : String | this TextBox text | | SqlInjection.cs:109:42:109:52 | access to local variable queryString | SqlInjection.cs:108:21:108:38 | call to method ReadLine : String | SqlInjection.cs:109:42:109:52 | access to local variable queryString | This query depends on $@. | SqlInjection.cs:108:21:108:38 | call to method ReadLine : String | this read from stdin | | SqlInjection.cs:110:50:110:52 | access to local variable cmd | SqlInjection.cs:108:21:108:38 | call to method ReadLine : String | SqlInjection.cs:110:50:110:52 | access to local variable cmd | This query depends on $@. | SqlInjection.cs:108:21:108:38 | call to method ReadLine : String | this read from stdin | +| SqlInjection.cs:129:53:129:57 | access to local variable query | SqlInjection.cs:122:73:122:78 | userId : String | SqlInjection.cs:129:53:129:57 | access to local variable query | This query depends on $@. | SqlInjection.cs:122:73:122:78 | userId : String | this ASP.NET Core MVC action method parameter | | SqlInjectionDapper.cs:21:55:21:59 | access to local variable query | SqlInjectionDapper.cs:20:86:20:94 | access to property Text : String | SqlInjectionDapper.cs:21:55:21:59 | access to local variable query | This query depends on $@. | SqlInjectionDapper.cs:20:86:20:94 | access to property Text : String | this TextBox text | | SqlInjectionDapper.cs:30:66:30:70 | access to local variable query | SqlInjectionDapper.cs:29:86:29:94 | access to property Text : String | SqlInjectionDapper.cs:30:66:30:70 | access to local variable query | This query depends on $@. | SqlInjectionDapper.cs:29:86:29:94 | access to property Text : String | this TextBox text | | SqlInjectionDapper.cs:39:63:39:67 | access to local variable query | SqlInjectionDapper.cs:38:86:38:94 | access to property Text : String | SqlInjectionDapper.cs:39:63:39:67 | access to local variable query | This query depends on $@. | SqlInjectionDapper.cs:38:86:38:94 | access to property Text : String | this TextBox text | @@ -61,6 +62,8 @@ edges | SqlInjection.cs:109:21:109:23 | access to local variable cmd : SqlCommand | SqlInjection.cs:110:50:110:52 | access to local variable cmd | provenance | Sink:MaD:17 | | SqlInjection.cs:109:27:109:53 | object creation of type SqlCommand : SqlCommand | SqlInjection.cs:109:21:109:23 | access to local variable cmd : SqlCommand | provenance | | | SqlInjection.cs:109:42:109:52 | access to local variable queryString : String | SqlInjection.cs:109:27:109:53 | object creation of type SqlCommand : SqlCommand | provenance | MaD:19 | +| SqlInjection.cs:122:73:122:78 | userId : String | SqlInjection.cs:125:20:125:24 | access to local variable query : String | provenance | | +| SqlInjection.cs:125:20:125:24 | access to local variable query : String | SqlInjection.cs:129:53:129:57 | access to local variable query | provenance | Sink:MaD:16 | | SqlInjectionDapper.cs:20:21:20:25 | access to local variable query : String | SqlInjectionDapper.cs:21:55:21:59 | access to local variable query | provenance | Sink:MaD:4 | | SqlInjectionDapper.cs:20:86:20:94 | access to property Text : String | SqlInjectionDapper.cs:20:21:20:25 | access to local variable query : String | provenance | | | SqlInjectionDapper.cs:29:21:29:25 | access to local variable query : String | SqlInjectionDapper.cs:30:66:30:70 | access to local variable query | provenance | Sink:MaD:5 | @@ -170,6 +173,9 @@ nodes | SqlInjection.cs:109:42:109:52 | access to local variable queryString | semmle.label | access to local variable queryString | | SqlInjection.cs:109:42:109:52 | access to local variable queryString : String | semmle.label | access to local variable queryString : String | | SqlInjection.cs:110:50:110:52 | access to local variable cmd | semmle.label | access to local variable cmd | +| SqlInjection.cs:122:73:122:78 | userId : String | semmle.label | userId : String | +| SqlInjection.cs:125:20:125:24 | access to local variable query : String | semmle.label | access to local variable query : String | +| SqlInjection.cs:129:53:129:57 | access to local variable query | semmle.label | access to local variable query | | SqlInjectionDapper.cs:20:21:20:25 | access to local variable query : String | semmle.label | access to local variable query : String | | SqlInjectionDapper.cs:20:86:20:94 | access to property Text : String | semmle.label | access to property Text : String | | SqlInjectionDapper.cs:21:55:21:59 | access to local variable query | semmle.label | access to local variable query | From 5751fc2d3a7fa4d00aa1ade792f2f62ce6fef1a3 Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 21 Aug 2024 13:36:47 +0200 Subject: [PATCH 179/258] Java: Reveal false negative in test One of the sinks was flagged for the wrong reason in the test case. The flow into the 'startActivities' sink isn't working properly, but this was not revealed by the test since an alternate, spurious path exists. The spurious path goes through the implicit read at the prior sink and takes a use-use step to the 'startActivities' sink. Swapping the order of the two sinks reveals the false negative. --- .../security/CWE-927/ImplicitPendingIntentsTest.expected | 1 + .../security/CWE-927/ImplicitPendingIntentsTest.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.expected b/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.expected index 48de9172b36..1dc60bf81c4 100644 --- a/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.expected +++ b/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.expected @@ -1,2 +1,3 @@ failures testFailures +| ImplicitPendingIntentsTest.java:35:60:35:87 | // $hasImplicitPendingIntent | Missing result:hasImplicitPendingIntent= | diff --git a/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.java b/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.java index 746c9ca83dc..bb680ebf35c 100644 --- a/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.java +++ b/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.java @@ -32,8 +32,8 @@ public class ImplicitPendingIntentsTest { PendingIntent pi = PendingIntent.getActivity(ctx, 0, baseIntent, 0); Intent fwdIntent = new Intent(); fwdIntent.putExtra("fwdIntent", pi); - ctx.startActivity(fwdIntent); // $hasImplicitPendingIntent ctx.startActivities(new Intent[] {fwdIntent}); // $hasImplicitPendingIntent + ctx.startActivity(fwdIntent); // $hasImplicitPendingIntent ctx.startService(fwdIntent); // Safe ctx.sendBroadcast(fwdIntent); // $hasImplicitPendingIntent From f7ea8a15639f6562215024c9c7867dc77b16af2f Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 21 Aug 2024 13:37:38 +0200 Subject: [PATCH 180/258] Java: trivial result set re-order --- .../security/CWE-927/ImplicitPendingIntentsTest.expected | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.expected b/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.expected index 1dc60bf81c4..20a754571c4 100644 --- a/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.expected +++ b/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.expected @@ -1,3 +1,3 @@ -failures testFailures | ImplicitPendingIntentsTest.java:35:60:35:87 | // $hasImplicitPendingIntent | Missing result:hasImplicitPendingIntent= | +failures From 3aa32e4aff844d141de435e90276ade6ada19563 Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 21 Aug 2024 13:40:40 +0200 Subject: [PATCH 181/258] Java: use MISSING inline annotation --- .../security/CWE-927/ImplicitPendingIntentsTest.expected | 1 - .../security/CWE-927/ImplicitPendingIntentsTest.java | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.expected b/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.expected index 20a754571c4..8ec8033d086 100644 --- a/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.expected +++ b/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.expected @@ -1,3 +1,2 @@ testFailures -| ImplicitPendingIntentsTest.java:35:60:35:87 | // $hasImplicitPendingIntent | Missing result:hasImplicitPendingIntent= | failures diff --git a/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.java b/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.java index bb680ebf35c..80f66149221 100644 --- a/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.java +++ b/java/ql/test/query-tests/security/CWE-927/ImplicitPendingIntentsTest.java @@ -32,7 +32,7 @@ public class ImplicitPendingIntentsTest { PendingIntent pi = PendingIntent.getActivity(ctx, 0, baseIntent, 0); Intent fwdIntent = new Intent(); fwdIntent.putExtra("fwdIntent", pi); - ctx.startActivities(new Intent[] {fwdIntent}); // $hasImplicitPendingIntent + ctx.startActivities(new Intent[] {fwdIntent}); // $ MISSING: hasImplicitPendingIntent ctx.startActivity(fwdIntent); // $hasImplicitPendingIntent ctx.startService(fwdIntent); // Safe ctx.sendBroadcast(fwdIntent); // $hasImplicitPendingIntent From 7049499e95fcbc69a2ccd9a479b9eb4d665a2c31 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Wed, 21 Aug 2024 14:38:55 +0200 Subject: [PATCH 182/258] C#: Add change-note. --- .../ql/lib/change-notes/2024-08-21-abstract-asp-controller.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 csharp/ql/lib/change-notes/2024-08-21-abstract-asp-controller.md diff --git a/csharp/ql/lib/change-notes/2024-08-21-abstract-asp-controller.md b/csharp/ql/lib/change-notes/2024-08-21-abstract-asp-controller.md new file mode 100644 index 00000000000..61d4f6ec600 --- /dev/null +++ b/csharp/ql/lib/change-notes/2024-08-21-abstract-asp-controller.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Parameters of public methods in abstract controller-like classes are now considered remote flow sources. From 7c4733e88f7f54c8a9afd5c1405ac1882447034d Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Wed, 21 Aug 2024 15:13:14 +0200 Subject: [PATCH 183/258] C#: Change reporting location of partial methods --- .../Entities/OrdinaryMethod.cs | 2 +- .../library-tests/partial/MethodIsPartial.expected | 2 +- csharp/ql/test/library-tests/partial/Partial1.expected | 2 +- csharp/ql/test/library-tests/partial/Partial2.expected | 4 ++-- .../library-tests/partial/PartialMethodBody.expected | 2 +- csharp/ql/test/library-tests/partial/PrintAst.expected | 10 +++++----- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/OrdinaryMethod.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/OrdinaryMethod.cs index 9ecfb3687b6..bd3a637a624 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/OrdinaryMethod.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/OrdinaryMethod.cs @@ -21,7 +21,7 @@ namespace Semmle.Extraction.CSharp.Entities public override Microsoft.CodeAnalysis.Location ReportingLocation => IsCompilerGeneratedDelegate() ? Symbol.ContainingType.GetSymbolLocation() - : Symbol.GetSymbolLocation(); + : BodyDeclaringSymbol.GetSymbolLocation(); public override bool NeedsPopulation => base.NeedsPopulation || IsCompilerGeneratedDelegate(); diff --git a/csharp/ql/test/library-tests/partial/MethodIsPartial.expected b/csharp/ql/test/library-tests/partial/MethodIsPartial.expected index 8ee8f25b0c8..66f2dc7d3a0 100644 --- a/csharp/ql/test/library-tests/partial/MethodIsPartial.expected +++ b/csharp/ql/test/library-tests/partial/MethodIsPartial.expected @@ -1,6 +1,6 @@ -| Partial.cs:3:18:3:39 | PartialMethodWithBody1 | true | | Partial.cs:4:18:4:42 | PartialMethodWithoutBody1 | true | | Partial.cs:5:17:5:23 | Method2 | false | +| Partial.cs:10:18:10:39 | PartialMethodWithBody1 | true | | Partial.cs:11:17:11:23 | Method3 | false | | Partial.cs:16:18:16:42 | PartialMethodWithoutBody2 | true | | Partial.cs:17:17:17:23 | Method4 | false | diff --git a/csharp/ql/test/library-tests/partial/Partial1.expected b/csharp/ql/test/library-tests/partial/Partial1.expected index 722482cac4f..6830307e8e7 100644 --- a/csharp/ql/test/library-tests/partial/Partial1.expected +++ b/csharp/ql/test/library-tests/partial/Partial1.expected @@ -1,6 +1,6 @@ | Partial.cs:1:15:1:26 | TwoPartClass | -| Partial.cs:3:18:3:39 | PartialMethodWithBody1 | | Partial.cs:4:18:4:42 | PartialMethodWithoutBody1 | | Partial.cs:8:15:8:26 | TwoPartClass | +| Partial.cs:10:18:10:39 | PartialMethodWithBody1 | | Partial.cs:14:15:14:33 | OnePartPartialClass | | Partial.cs:16:18:16:42 | PartialMethodWithoutBody2 | diff --git a/csharp/ql/test/library-tests/partial/Partial2.expected b/csharp/ql/test/library-tests/partial/Partial2.expected index 6723b575fc7..de1327fe159 100644 --- a/csharp/ql/test/library-tests/partial/Partial2.expected +++ b/csharp/ql/test/library-tests/partial/Partial2.expected @@ -1,10 +1,10 @@ -| Partial.cs:1:15:1:26 | TwoPartClass | Partial.cs:3:18:3:39 | PartialMethodWithBody1 | | Partial.cs:1:15:1:26 | TwoPartClass | Partial.cs:4:18:4:42 | PartialMethodWithoutBody1 | | Partial.cs:1:15:1:26 | TwoPartClass | Partial.cs:5:17:5:23 | Method2 | +| Partial.cs:1:15:1:26 | TwoPartClass | Partial.cs:10:18:10:39 | PartialMethodWithBody1 | | Partial.cs:1:15:1:26 | TwoPartClass | Partial.cs:11:17:11:23 | Method3 | -| Partial.cs:8:15:8:26 | TwoPartClass | Partial.cs:3:18:3:39 | PartialMethodWithBody1 | | Partial.cs:8:15:8:26 | TwoPartClass | Partial.cs:4:18:4:42 | PartialMethodWithoutBody1 | | Partial.cs:8:15:8:26 | TwoPartClass | Partial.cs:5:17:5:23 | Method2 | +| Partial.cs:8:15:8:26 | TwoPartClass | Partial.cs:10:18:10:39 | PartialMethodWithBody1 | | Partial.cs:8:15:8:26 | TwoPartClass | Partial.cs:11:17:11:23 | Method3 | | Partial.cs:14:15:14:33 | OnePartPartialClass | Partial.cs:16:18:16:42 | PartialMethodWithoutBody2 | | Partial.cs:14:15:14:33 | OnePartPartialClass | Partial.cs:17:17:17:23 | Method4 | diff --git a/csharp/ql/test/library-tests/partial/PartialMethodBody.expected b/csharp/ql/test/library-tests/partial/PartialMethodBody.expected index e6592704f1a..b440bfb640b 100644 --- a/csharp/ql/test/library-tests/partial/PartialMethodBody.expected +++ b/csharp/ql/test/library-tests/partial/PartialMethodBody.expected @@ -1,3 +1,3 @@ -| Partial.cs:3:18:3:39 | PartialMethodWithBody1 | true | | Partial.cs:4:18:4:42 | PartialMethodWithoutBody1 | false | +| Partial.cs:10:18:10:39 | PartialMethodWithBody1 | true | | Partial.cs:16:18:16:42 | PartialMethodWithoutBody2 | false | diff --git a/csharp/ql/test/library-tests/partial/PrintAst.expected b/csharp/ql/test/library-tests/partial/PrintAst.expected index 264e06ce944..08e8e66d40e 100644 --- a/csharp/ql/test/library-tests/partial/PrintAst.expected +++ b/csharp/ql/test/library-tests/partial/PrintAst.expected @@ -1,13 +1,13 @@ Partial.cs: # 1| [Class] TwoPartClass -# 3| 5: [Method] PartialMethodWithBody1 -# 3| -1: [TypeMention] Void -# 10| 4: [BlockStmt] {...} -# 4| 6: [Method] PartialMethodWithoutBody1 +# 4| 5: [Method] PartialMethodWithoutBody1 # 4| -1: [TypeMention] Void -# 5| 7: [Method] Method2 +# 5| 6: [Method] Method2 # 5| -1: [TypeMention] Void # 5| 4: [BlockStmt] {...} +# 10| 7: [Method] PartialMethodWithBody1 +# 3| -1: [TypeMention] Void +# 10| 4: [BlockStmt] {...} # 11| 8: [Method] Method3 # 11| -1: [TypeMention] Void # 11| 4: [BlockStmt] {...} From 318a376a78d3e715be9b6ae7422c00049b902f3b Mon Sep 17 00:00:00 2001 From: Edward Minnix III Date: Wed, 21 Aug 2024 09:43:04 -0400 Subject: [PATCH 184/258] Remove ProcAttr models Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com> --- go/ql/lib/ext/os.model.yml | 1 - go/ql/lib/ext/syscall.model.yml | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/go/ql/lib/ext/os.model.yml b/go/ql/lib/ext/os.model.yml index 592b55377f5..3d87eefe43f 100644 --- a/go/ql/lib/ext/os.model.yml +++ b/go/ql/lib/ext/os.model.yml @@ -56,4 +56,3 @@ extensions: - ["os", "", False, "UserCacheDir", "", "", "ReturnValue[0]", "environment", "manual"] - ["os", "", False, "UserConfigDir", "", "", "ReturnValue[0]", "environment", "manual"] - ["os", "", False, "UserHomeDir", "", "", "ReturnValue[0]", "environment", "manual"] - - ["os", "ProcAttr", False, "Env", "", "", "", "environment", "manual"] # TODO: when sources can have access paths, use .ArrayElement diff --git a/go/ql/lib/ext/syscall.model.yml b/go/ql/lib/ext/syscall.model.yml index 00ab6018c3f..9d65f2bedbd 100644 --- a/go/ql/lib/ext/syscall.model.yml +++ b/go/ql/lib/ext/syscall.model.yml @@ -25,5 +25,4 @@ extensions: extensible: sourceModel data: - ["syscall", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] - - ["syscall", "", False, "Getenv", "", "", "ReturnValue[0]", "environment", "manual"] - - ["syscall", "ProcAttr", True, "Env", "", "", "", "environment", "manual"] \ No newline at end of file + - ["syscall", "", False, "Getenv", "", "", "ReturnValue[0]", "environment", "manual"] \ No newline at end of file From 7ae52425cea0888ba197b8f73b31766c9a95d3fe Mon Sep 17 00:00:00 2001 From: Edward Minnix III Date: Wed, 21 Aug 2024 09:43:24 -0400 Subject: [PATCH 185/258] Update package list in change note --- go/ql/lib/change-notes/2024-08-12-add-environment-models.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/go/ql/lib/change-notes/2024-08-12-add-environment-models.md b/go/ql/lib/change-notes/2024-08-12-add-environment-models.md index 0b0317da839..c511718475d 100644 --- a/go/ql/lib/change-notes/2024-08-12-add-environment-models.md +++ b/go/ql/lib/change-notes/2024-08-12-add-environment-models.md @@ -3,6 +3,9 @@ category: minorAnalysis --- * Local source models for reading and parsing environment variables have been added for the following libraries: - os + - syscall + - github.com/caarlos0/env + - github.com/gobuffalo/envy - github.com/hashicorp/go-envparse - github.com/joho/godotenv - github.com/kelseyhightower/envconfig From 210ea5be79e02183d84b9fceb2a7268eea4f1ef5 Mon Sep 17 00:00:00 2001 From: Edward Minnix III Date: Wed, 21 Aug 2024 09:43:58 -0400 Subject: [PATCH 186/258] Add model from older versions of caarlos0/env Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com> --- go/ql/lib/ext/github.com.caarlos0.env.model.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/go/ql/lib/ext/github.com.caarlos0.env.model.yml b/go/ql/lib/ext/github.com.caarlos0.env.model.yml index 58576632ea5..42f6380c3fa 100644 --- a/go/ql/lib/ext/github.com.caarlos0.env.model.yml +++ b/go/ql/lib/ext/github.com.caarlos0.env.model.yml @@ -6,6 +6,7 @@ extensions: - ["github.com/caarlos0/env", "", False, "Parse", "", "", "Argument[0]", "environment", "manual"] - ["github.com/caarlos0/env", "", False, "ParseAs", "", "", "ReturnValue[0]", "environment", "manual"] - ["github.com/caarlos0/env", "", False, "ParseAsWithOptions", "", "", "ReturnValue[0]", "environment", "manual"] + - ["github.com/caarlos0/env", "", False, "ParseWithFuncs", "", "", "Argument[0]", "environment", "manual"] - ["github.com/caarlos0/env", "", False, "ParseWithOptions", "", "", "Argument[0]", "environment", "manual"] - addsTo: pack: codeql/go-all From 2aa3e1f7a264c5aa5f2acf0489633ff6bbc68c5f Mon Sep 17 00:00:00 2001 From: Edward Minnix III Date: Wed, 21 Aug 2024 09:44:20 -0400 Subject: [PATCH 187/258] Alphabetize models Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com> --- go/ql/lib/ext/github.com.gobuffalo.envy.model.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml b/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml index aaedbb254c9..1d0d890560d 100644 --- a/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml +++ b/go/ql/lib/ext/github.com.gobuffalo.envy.model.yml @@ -5,8 +5,8 @@ extensions: data: - ["github.com/gobuffalo/envy", "", False, "Environ", "", "", "ReturnValue", "environment", "manual"] - ["github.com/gobuffalo/envy", "", False, "Get", "", "", "ReturnValue", "environment", "manual"] + - ["github.com/gobuffalo/envy", "", False, "GoBin", "", "", "ReturnValue", "environment", "manual"] - ["github.com/gobuffalo/envy", "", False, "GoPath", "", "", "ReturnValue", "environment", "manual"] - ["github.com/gobuffalo/envy", "", False, "GoPaths", "", "", "ReturnValue", "environment", "manual"] - - ["github.com/gobuffalo/envy", "", False, "GoBin", "", "", "ReturnValue", "environment", "manual"] - ["github.com/gobuffalo/envy", "", False, "Map", "", "", "ReturnValue", "environment", "manual"] - ["github.com/gobuffalo/envy", "", False, "MustGet", "", "", "ReturnValue[0]", "environment", "manual"] From 6fdff977e500bdbbf0d0f1f0fa588ab094f47b40 Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Wed, 21 Aug 2024 09:47:46 -0400 Subject: [PATCH 188/258] Fix test cases --- .../go/dataflow/flowsources/local/environment/test.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go index 400f38fd133..515888f570e 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/test.go @@ -86,6 +86,10 @@ func caarlos0EnvironmentVariables() { cfg, err = env.ParseAs[config]() // $ source + if err != nil { + return + } + fmt.Printf("HOME: %s\n", cfg.Home) } @@ -104,8 +108,8 @@ func syscallEnvironmentVariables() { fmt.Println("%s", envVar) } - home, err := syscall.Getenv("HOME") // $ source - if err != nil { + home, found := syscall.Getenv("HOME") // $ source + if !found { return } fmt.Println("HOME: %s", home) From c2fa72196652ad7b15d0205625116141fbdf324a Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Wed, 21 Aug 2024 09:56:42 -0400 Subject: [PATCH 189/258] Fix stub --- .../environment/vendor/github.com/caarlos0/env/stub.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/caarlos0/env/stub.go b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/caarlos0/env/stub.go index c504b1b17b9..9223a3f4677 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/caarlos0/env/stub.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/environment/vendor/github.com/caarlos0/env/stub.go @@ -1,6 +1,6 @@ package env -type Options struct {} +type Options struct{} func Must[T any](t T, err error) T { if err != nil { @@ -14,11 +14,13 @@ func Parse(v interface{}) error { } func ParseAs[T any]() (T, error) { - return nil, nil + var t T + return t, nil } func ParseAsWithOptions[T any](opts Options) (T, error) { - return nil, nil + var t T + return t, nil } func ParseWithOptions(v interface{}, opts Options) error { @@ -27,4 +29,4 @@ func ParseWithOptions(v interface{}, opts Options) error { func ToMap(env []string) map[string]string { return nil -} \ No newline at end of file +} From f7bf5e89be3933ab8994df4e4efaafe1031ec2b2 Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Wed, 21 Aug 2024 15:58:05 +0200 Subject: [PATCH 190/258] Add change note --- csharp/ql/lib/change-notes/2024-08-21-partial-methods.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 csharp/ql/lib/change-notes/2024-08-21-partial-methods.md diff --git a/csharp/ql/lib/change-notes/2024-08-21-partial-methods.md b/csharp/ql/lib/change-notes/2024-08-21-partial-methods.md new file mode 100644 index 00000000000..f750ccacf57 --- /dev/null +++ b/csharp/ql/lib/change-notes/2024-08-21-partial-methods.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The reported location of `partial` methods has been changed from the definition to the implementation part. From b0003c045373965438cb71ecd32837e23db326d4 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Wed, 21 Aug 2024 16:58:53 +0200 Subject: [PATCH 191/258] Ruby: Remove two redundant checks --- ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll index 78f0491ff13..20db26be92f 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll @@ -1191,8 +1191,7 @@ private module ParameterNodes { /** Holds if a read-step should be added into parameter `p`. */ predicate readInto(ParameterNode p, ContentSet c) { exists(int n | - isParameterNode(p, callable, any(ParameterPosition pos | pos.isPositional(n))) and - not exists(int i | splatParameterAt(callable.asCfgScope(), i) and i < n) + isParameterNode(p, callable, any(ParameterPosition pos | pos.isPositional(n))) | c = getArrayContent(n) or @@ -1465,7 +1464,6 @@ module ArgumentNodes { exists(int n, ArgumentPosition pos | arg.isArgumentOf(call, pos) and pos.isPositional(n) and - not exists(int i | splatArgumentAt(call, i) and i < n) and c = getArrayContent(n) ) } From cb1b1da422a8d46dad6ead972112134637a316a5 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Wed, 21 Aug 2024 19:05:56 +0200 Subject: [PATCH 192/258] Ruby: Add another array flow test --- .../dataflow/array-flow/array-flow.expected | 24 +++++++++++++++++++ .../dataflow/array-flow/array_flow.rb | 15 ++++++++++++ .../type-tracking-array-flow.expected | 1 + 3 files changed, 40 insertions(+) diff --git a/ruby/ql/test/library-tests/dataflow/array-flow/array-flow.expected b/ruby/ql/test/library-tests/dataflow/array-flow/array-flow.expected index a9bd1236f47..3899a648b45 100644 --- a/ruby/ql/test/library-tests/dataflow/array-flow/array-flow.expected +++ b/ruby/ql/test/library-tests/dataflow/array-flow/array-flow.expected @@ -2356,6 +2356,16 @@ edges | array_flow.rb:1686:14:1686:14 | w | array_flow.rb:1690:10:1690:10 | w | provenance | | | array_flow.rb:1686:18:1686:18 | a [element 2] | array_flow.rb:1686:11:1686:11 | z | provenance | | | array_flow.rb:1686:18:1686:18 | a [element 3] | array_flow.rb:1686:14:1686:14 | w | provenance | | +| array_flow.rb:1693:10:1693:14 | *args [element 1] | array_flow.rb:1694:17:1694:20 | args [element 1] | provenance | | +| array_flow.rb:1694:16:1694:20 | * ... [element 1] | array_flow.rb:1694:5:1694:21 | call to [] [element 1] | provenance | | +| array_flow.rb:1694:17:1694:20 | args [element 1] | array_flow.rb:1694:16:1694:20 | * ... [element 1] | provenance | | +| array_flow.rb:1697:13:1697:13 | y | array_flow.rb:1699:10:1699:10 | y | provenance | | +| array_flow.rb:1704:5:1704:5 | a [element 1] | array_flow.rb:1705:11:1705:11 | a [element 1] | provenance | | +| array_flow.rb:1704:9:1704:31 | call to m141 [element 1] | array_flow.rb:1704:5:1704:5 | a [element 1] | provenance | | +| array_flow.rb:1704:17:1704:27 | call to source | array_flow.rb:1693:10:1693:14 | *args [element 1] | provenance | | +| array_flow.rb:1704:17:1704:27 | call to source | array_flow.rb:1704:9:1704:31 | call to m141 [element 1] | provenance | | +| array_flow.rb:1705:10:1705:11 | * ... [element 1] | array_flow.rb:1697:13:1697:13 | y | provenance | | +| array_flow.rb:1705:11:1705:11 | a [element 1] | array_flow.rb:1705:10:1705:11 | * ... [element 1] | provenance | | nodes | array_flow.rb:2:5:2:5 | a [element 0] | semmle.label | a [element 0] | | array_flow.rb:2:9:2:20 | * ... [element 0] | semmle.label | * ... [element 0] | @@ -4849,11 +4859,23 @@ nodes | array_flow.rb:1686:18:1686:18 | a [element 3] | semmle.label | a [element 3] | | array_flow.rb:1689:10:1689:10 | z | semmle.label | z | | array_flow.rb:1690:10:1690:10 | w | semmle.label | w | +| array_flow.rb:1693:10:1693:14 | *args [element 1] | semmle.label | *args [element 1] | +| array_flow.rb:1694:5:1694:21 | call to [] [element 1] | semmle.label | call to [] [element 1] | +| array_flow.rb:1694:16:1694:20 | * ... [element 1] | semmle.label | * ... [element 1] | +| array_flow.rb:1694:17:1694:20 | args [element 1] | semmle.label | args [element 1] | +| array_flow.rb:1697:13:1697:13 | y | semmle.label | y | +| array_flow.rb:1699:10:1699:10 | y | semmle.label | y | +| array_flow.rb:1704:5:1704:5 | a [element 1] | semmle.label | a [element 1] | +| array_flow.rb:1704:9:1704:31 | call to m141 [element 1] | semmle.label | call to m141 [element 1] | +| array_flow.rb:1704:17:1704:27 | call to source | semmle.label | call to source | +| array_flow.rb:1705:10:1705:11 | * ... [element 1] | semmle.label | * ... [element 1] | +| array_flow.rb:1705:11:1705:11 | a [element 1] | semmle.label | a [element 1] | subpaths | array_flow.rb:251:9:251:9 | a [element 2] | array_flow.rb:251:30:251:30 | x | array_flow.rb:253:9:253:25 | call to [] [element 0] | array_flow.rb:251:9:254:7 | call to collect_concat [element] | | array_flow.rb:507:9:507:9 | a [element 3] | array_flow.rb:507:26:507:26 | x | array_flow.rb:509:9:509:9 | x | array_flow.rb:507:9:510:7 | call to filter_map [element] | | array_flow.rb:571:9:571:9 | a [element 2] | array_flow.rb:571:24:571:24 | x | array_flow.rb:573:9:573:25 | call to [] [element 0] | array_flow.rb:571:9:574:7 | call to flat_map [element] | | array_flow.rb:1678:9:1678:9 | a [element 2] | array_flow.rb:1678:19:1678:19 | x | array_flow.rb:1679:9:1679:9 | x | array_flow.rb:1678:9:1680:7 | call to map [element] | +| array_flow.rb:1704:17:1704:27 | call to source | array_flow.rb:1693:10:1693:14 | *args [element 1] | array_flow.rb:1694:5:1694:21 | call to [] [element 1] | array_flow.rb:1704:9:1704:31 | call to m141 [element 1] | testFailures arrayLiteral | array_flow.rb:9:9:9:25 | call to [] | @@ -5046,6 +5068,7 @@ arrayLiteral | array_flow.rb:1668:14:1668:41 | ...[...] | | array_flow.rb:1677:9:1677:29 | call to [] | | array_flow.rb:1685:9:1685:44 | call to [] | +| array_flow.rb:1694:5:1694:21 | call to [] | #select | array_flow.rb:3:10:3:13 | ...[...] | array_flow.rb:2:10:2:20 | call to source | array_flow.rb:3:10:3:13 | ...[...] | $@ | array_flow.rb:2:10:2:20 | call to source | call to source | | array_flow.rb:5:10:5:13 | ...[...] | array_flow.rb:2:10:2:20 | call to source | array_flow.rb:5:10:5:13 | ...[...] | $@ | array_flow.rb:2:10:2:20 | call to source | call to source | @@ -5749,3 +5772,4 @@ arrayLiteral | array_flow.rb:1681:10:1681:13 | ...[...] | array_flow.rb:1677:16:1677:28 | call to source | array_flow.rb:1681:10:1681:13 | ...[...] | $@ | array_flow.rb:1677:16:1677:28 | call to source | call to source | | array_flow.rb:1689:10:1689:10 | z | array_flow.rb:1685:16:1685:28 | call to source | array_flow.rb:1689:10:1689:10 | z | $@ | array_flow.rb:1685:16:1685:28 | call to source | call to source | | array_flow.rb:1690:10:1690:10 | w | array_flow.rb:1685:31:1685:43 | call to source | array_flow.rb:1690:10:1690:10 | w | $@ | array_flow.rb:1685:31:1685:43 | call to source | call to source | +| array_flow.rb:1699:10:1699:10 | y | array_flow.rb:1704:17:1704:27 | call to source | array_flow.rb:1699:10:1699:10 | y | $@ | array_flow.rb:1704:17:1704:27 | call to source | call to source | diff --git a/ruby/ql/test/library-tests/dataflow/array-flow/array_flow.rb b/ruby/ql/test/library-tests/dataflow/array-flow/array_flow.rb index cb07ce96ca6..2edfef21688 100644 --- a/ruby/ql/test/library-tests/dataflow/array-flow/array_flow.rb +++ b/ruby/ql/test/library-tests/dataflow/array-flow/array_flow.rb @@ -1689,3 +1689,18 @@ def m140 sink z # $ hasValueFlow=140.1 sink w # $ hasValueFlow=140.2 end + +def m141(*args) + ::Array.[](*args) +end + +def m142(x, y, z) + sink(x) + sink(y) # $ hasValueFlow=143 + sink(z) +end + +def m143 + a = m141(0, source(143), 1) + m142(*a) +end diff --git a/ruby/ql/test/library-tests/dataflow/array-flow/type-tracking-array-flow.expected b/ruby/ql/test/library-tests/dataflow/array-flow/type-tracking-array-flow.expected index bbb3be53b54..9750c7a94b2 100644 --- a/ruby/ql/test/library-tests/dataflow/array-flow/type-tracking-array-flow.expected +++ b/ruby/ql/test/library-tests/dataflow/array-flow/type-tracking-array-flow.expected @@ -64,4 +64,5 @@ testFailures | array_flow.rb:1626:19:1626:70 | # $ hasValueFlow=136.2 $ SPURIOUS hasValueFlow=136.1 | Missing result:hasValueFlow=136.1 | | array_flow.rb:1626:19:1626:70 | # $ hasValueFlow=136.2 $ SPURIOUS hasValueFlow=136.1 | Missing result:hasValueFlow=136.2 | | array_flow.rb:1627:19:1627:40 | # $ hasValueFlow=136.1 | Missing result:hasValueFlow=136.1 | +| array_flow.rb:1699:13:1699:32 | # $ hasValueFlow=143 | Missing result:hasValueFlow=143 | failures From e94fabcc193ca6e3cc2527386786958cf590ebe0 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Thu, 22 Aug 2024 08:27:15 +0200 Subject: [PATCH 193/258] Address review comment --- .../lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll | 2 -- 1 file changed, 2 deletions(-) diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll index 84e486c7a55..df876aae455 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll @@ -314,8 +314,6 @@ class ContentSet extends TContentSet { this.isProperty(p1) and p2 = result.(PropertyContent).getProperty() | - p1 = p2 - or overridesOrImplementsSourceDecl(p2, p1) or overridesOrImplementsSourceDecl(p1, p2) From 81239dcd959749e8943d5b4c75c9fbfb161bad3d Mon Sep 17 00:00:00 2001 From: Asger F Date: Tue, 20 Aug 2024 14:11:44 +0200 Subject: [PATCH 194/258] Java: add test case --- .../dataflow/implicit-read/A.java | 27 +++++++++++++++++++ .../dataflow/implicit-read/test.expected | 0 .../dataflow/implicit-read/test.ql | 22 +++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 java/ql/test/library-tests/dataflow/implicit-read/A.java create mode 100644 java/ql/test/library-tests/dataflow/implicit-read/test.expected create mode 100644 java/ql/test/library-tests/dataflow/implicit-read/test.ql diff --git a/java/ql/test/library-tests/dataflow/implicit-read/A.java b/java/ql/test/library-tests/dataflow/implicit-read/A.java new file mode 100644 index 00000000000..c845c7febe2 --- /dev/null +++ b/java/ql/test/library-tests/dataflow/implicit-read/A.java @@ -0,0 +1,27 @@ +public class A { + String field; + + static String source(String name) { + return name; + } + + static void sink(Object o) {} + + static String step(Object o) { + return ""; + } + + static Object getA() { + A a = new A(); + a.field = source("source"); + return a; + } + + static void test() { + Object object = getA(); + + sink(step(object)); // $ hasTaintFlow=source + sink(object); // $ SPURIOUS: hasTaintFlow=source + sink(((A)object).field); // $ hasTaintFlow=source + } +} diff --git a/java/ql/test/library-tests/dataflow/implicit-read/test.expected b/java/ql/test/library-tests/dataflow/implicit-read/test.expected new file mode 100644 index 00000000000..e69de29bb2d diff --git a/java/ql/test/library-tests/dataflow/implicit-read/test.ql b/java/ql/test/library-tests/dataflow/implicit-read/test.ql new file mode 100644 index 00000000000..4b07984456b --- /dev/null +++ b/java/ql/test/library-tests/dataflow/implicit-read/test.ql @@ -0,0 +1,22 @@ +import java +import TestUtilities.InlineFlowTest + +module TestConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { DefaultFlowConfig::isSource(source) } + + predicate isSink(DataFlow::Node sink) { DefaultFlowConfig::isSink(sink) } + + predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) { + exists(MethodCall call | + call.getMethod().getName() = "step" and + node1.asExpr() = call.getArgument(0) and + node2.asExpr() = call + ) + } + + predicate allowImplicitRead(DataFlow::Node node, DataFlow::ContentSet content) { + isAdditionalFlowStep(node, _) and content instanceof DataFlow::FieldContent + } +} + +import TaintFlowTest From 2edadbf42397708b896d8f52eab37e9e390bd835 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 22 Aug 2024 11:44:34 +0100 Subject: [PATCH 195/258] Try to fix packages in frameworks coverage --- go/ql/lib/semmle/go/dataflow/ExternalFlow.qll | 38 +++++++++++++------ 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll index 3cd177f92eb..d905201fd45 100644 --- a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll +++ b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll @@ -213,16 +213,30 @@ predicate interpretModelForTest(QlBuiltins::ExtensionId madId, string model) { ) } +bindingset[p] +private string cleanPackage(string p) { + exists(string noPrefix | + p = fixedVersionPrefix() + noPrefix + or + not p = fixedVersionPrefix() + any(string s) and + noPrefix = p + | + result = noPrefix.regexpReplaceAll(majorVersionSuffixRegex(), "") + ) +} + private predicate relevantPackage(string package) { - sourceModel(package, _, _, _, _, _, _, _, _, _) or - sinkModel(package, _, _, _, _, _, _, _, _, _) or - summaryModel(package, _, _, _, _, _, _, _, _, _, _) + exists(string p | package = cleanPackage(p) | + sourceModel(p, _, _, _, _, _, _, _, _, _) or + sinkModel(p, _, _, _, _, _, _, _, _, _) or + summaryModel(p, _, _, _, _, _, _, _, _, _, _) + ) } private predicate packageLink(string shortpkg, string longpkg) { relevantPackage(shortpkg) and relevantPackage(longpkg) and - longpkg.prefix(longpkg.indexOf(".")) = shortpkg + longpkg.prefix(longpkg.indexOf("/")) = shortpkg } private predicate canonicalPackage(string package) { @@ -245,26 +259,28 @@ predicate modelCoverage(string package, int pkgs, string kind, string part, int part = "source" and n = strictcount(string subpkg, string type, boolean subtypes, string name, string signature, - string ext, string output, string provenance | + string ext, string output, string provenance, string x | canonicalPkgLink(package, subpkg) and - sourceModel(subpkg, type, subtypes, name, signature, ext, output, kind, provenance, _) + subpkg = cleanPackage(x) and + sourceModel(x, type, subtypes, name, signature, ext, output, kind, provenance, _) ) or part = "sink" and n = strictcount(string subpkg, string type, boolean subtypes, string name, string signature, - string ext, string input, string provenance | + string ext, string input, string provenance, string x | canonicalPkgLink(package, subpkg) and - sinkModel(subpkg, type, subtypes, name, signature, ext, input, kind, provenance, _) + subpkg = cleanPackage(x) and + sinkModel(x, type, subtypes, name, signature, ext, input, kind, provenance, _) ) or part = "summary" and n = strictcount(string subpkg, string type, boolean subtypes, string name, string signature, - string ext, string input, string output, string provenance | + string ext, string input, string output, string provenance, string x | canonicalPkgLink(package, subpkg) and - summaryModel(subpkg, type, subtypes, name, signature, ext, input, output, kind, provenance, - _) + subpkg = cleanPackage(x) and + summaryModel(x, type, subtypes, name, signature, ext, input, output, kind, provenance, _) ) ) } From 4cd34531c6c08d11b8339724b42cb092e35d0f95 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 22 Aug 2024 15:07:45 +0200 Subject: [PATCH 196/258] Shared: Add a copy of the existing C# Content Dataflow implementation. --- .../dataflow/internal/ContentDataFlowImpl.qll | 504 ++++++++++++++++++ 1 file changed, 504 insertions(+) create mode 100644 shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll diff --git a/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll new file mode 100644 index 00000000000..76936549051 --- /dev/null +++ b/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll @@ -0,0 +1,504 @@ +/** + * Provides classes for performing global (inter-procedural) + * content-sensitive data flow analyses. + * + * Unlike `DataFlow::Global`, we allow for data to be stored (possibly nested) inside + * contents of sources and sinks. + * We track flow paths of the form + * + * ``` + * source --value-->* node + * (--read--> node --value-->* node)* + * --(non-value|value)-->* node + * (--store--> node --value-->* node)* + * --value-->* sink + * ``` + * + * where `--value-->` is a value-preserving flow step, `--read-->` is a read + * step, `--store-->` is a store step, and `--(non-value)-->` is a + * non-value-preserving flow step. + * + * That is, first a sequence of 0 or more reads, followed by 0 or more additional + * steps, followed by 0 or more stores, with value-preserving steps allowed in + * between all other steps. + */ + +private import csharp +private import codeql.util.Boolean +private import DataFlowImplCommon +private import DataFlowImplSpecific::Private +private import DataFlowImplSpecific::Private as DataFlowPrivate + +/** + * An input configuration for content data flow. + */ +signature module ConfigSig { + /** + * Holds if `source` is a relevant data flow source. + */ + predicate isSource(DataFlow::Node source); + + /** + * Holds if `sink` is a relevant data flow sink. + */ + predicate isSink(DataFlow::Node sink); + + /** + * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. + */ + default predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) { none() } + + /** Holds if data flow into `node` is prohibited. */ + default predicate isBarrier(DataFlow::Node node) { none() } + + /** + * Gets a data flow configuration feature to add restrictions to the set of + * valid flow paths. + * + * - `FeatureHasSourceCallContext`: + * Assume that sources have some existing call context to disallow + * conflicting return-flow directly following the source. + * - `FeatureHasSinkCallContext`: + * Assume that sinks have some existing call context to disallow + * conflicting argument-to-parameter flow directly preceding the sink. + * - `FeatureEqualSourceSinkCallContext`: + * Implies both of the above and additionally ensures that the entire flow + * path preserves the call context. + */ + default DataFlow::FlowFeature getAFeature() { none() } + + /** Gets a limit on the number of reads out of sources and number of stores into sinks. */ + default int accessPathLimit() { result = DataFlowPrivate::accessPathLimit() } + + /** Holds if `c` is relevant for reads out of sources or stores into sinks. */ + default predicate isRelevantContent(DataFlow::ContentSet c) { any() } +} + +/** + * Constructs a global content data flow computation. + */ +module Global { + private module FlowConfig implements DataFlow::StateConfigSig { + class FlowState = State; + + predicate isSource(DataFlow::Node source, FlowState state) { + ContentConfig::isSource(source) and + state.(InitState).decode(true) + } + + predicate isSink(DataFlow::Node sink, FlowState state) { + ContentConfig::isSink(sink) and + ( + state instanceof InitState or + state instanceof StoreState or + state instanceof ReadState + ) + } + + predicate isAdditionalFlowStep( + DataFlow::Node node1, FlowState state1, DataFlow::Node node2, FlowState state2 + ) { + storeStep(node1, state1, _, node2, state2) or + readStep(node1, state1, _, node2, state2) or + additionalStep(node1, state1, node2, state2) + } + + predicate isAdditionalFlowStep = ContentConfig::isAdditionalFlowStep/2; + + predicate isBarrier = ContentConfig::isBarrier/1; + + DataFlow::FlowFeature getAFeature() { result = ContentConfig::getAFeature() } + + predicate accessPathLimit = ContentConfig::accessPathLimit/0; + + // needed to record reads/stores inside summarized callables + predicate includeHiddenNodes() { any() } + } + + private module Flow = DataFlow::GlobalWithState; + + /** + * Holds if data stored inside `sourceAp` on `source` flows to `sinkAp` inside `sink` + * for this configuration. `preservesValue` indicates whether any of the additional + * flow steps defined by `isAdditionalFlowStep` are needed. + * + * For the source access path, `sourceAp`, the top of the stack represents the content + * that was last read from. That is, if `sourceAp` is `Field1.Field2` (with `Field1` + * being the top of the stack), then there is flow from `source.Field2.Field1`. + * + * For the sink access path, `sinkAp`, the top of the stack represents the content + * that was last stored into. That is, if `sinkAp` is `Field1.Field2` (with `Field1` + * being the top of the stack), then there is flow into `sink.Field1.Field2`. + */ + predicate flow( + DataFlow::Node source, AccessPath sourceAp, DataFlow::Node sink, AccessPath sinkAp, + boolean preservesValue + ) { + exists(Flow::PathNode pathSource, Flow::PathNode pathSink | + Flow::flowPath(pathSource, pathSink) and + nodeReaches(pathSource, TAccessPathNil(), TAccessPathNil(), pathSink, sourceAp, sinkAp) and + source = pathSource.getNode() and + sink = pathSink.getNode() + | + pathSink.getState().(InitState).decode(preservesValue) + or + pathSink.getState().(ReadState).decode(_, preservesValue) + or + pathSink.getState().(StoreState).decode(_, preservesValue) + ) + } + + private newtype TState = + TInitState(Boolean preservesValue) or + TStoreState(int size, Boolean preservesValue) { + size in [1 .. ContentConfig::accessPathLimit()] + } or + TReadState(int size, Boolean preservesValue) { size in [1 .. ContentConfig::accessPathLimit()] } + + abstract private class State extends TState { + abstract string toString(); + } + + /** A flow state representing no reads or stores. */ + private class InitState extends State, TInitState { + private boolean preservesValue_; + + InitState() { this = TInitState(preservesValue_) } + + override string toString() { result = "Init(" + preservesValue_ + ")" } + + predicate decode(boolean preservesValue) { preservesValue = preservesValue_ } + } + + /** A flow state representing that content has been stored into. */ + private class StoreState extends State, TStoreState { + private boolean preservesValue_; + private int size_; + + StoreState() { this = TStoreState(size_, preservesValue_) } + + override string toString() { result = "StoreState(" + size_ + "," + preservesValue_ + ")" } + + predicate decode(int size, boolean preservesValue) { + size = size_ and preservesValue = preservesValue_ + } + } + + /** A flow state representing that content has been read from. */ + private class ReadState extends State, TReadState { + private boolean preservesValue_; + private int size_; + + ReadState() { this = TReadState(size_, preservesValue_) } + + override string toString() { result = "ReadState(" + size_ + "," + preservesValue_ + ")" } + + predicate decode(int size, boolean preservesValue) { + size = size_ and preservesValue = preservesValue_ + } + } + + private predicate storeStep( + DataFlow::Node node1, State state1, DataFlow::ContentSet c, DataFlow::Node node2, + StoreState state2 + ) { + exists(boolean preservesValue, int size | + storeSet(node1, c, node2, _, _) and + ContentConfig::isRelevantContent(c) and + state2.decode(size + 1, preservesValue) + | + state1.(InitState).decode(preservesValue) and size = 0 + or + state1.(ReadState).decode(_, preservesValue) and size = 0 + or + state1.(StoreState).decode(size, preservesValue) + ) + } + + private predicate readStep( + DataFlow::Node node1, State state1, DataFlow::ContentSet c, DataFlow::Node node2, + ReadState state2 + ) { + exists(int size | + readSet(node1, c, node2) and + ContentConfig::isRelevantContent(c) and + state2.decode(size + 1, true) + | + state1.(InitState).decode(true) and + size = 0 + or + state1.(ReadState).decode(size, true) + ) + } + + private predicate additionalStep( + DataFlow::Node node1, State state1, DataFlow::Node node2, State state2 + ) { + ContentConfig::isAdditionalFlowStep(node1, node2) and + ( + state1 instanceof InitState and + state2.(InitState).decode(false) + or + exists(int size | + state1.(ReadState).decode(size, _) and + state2.(ReadState).decode(size, false) + ) + ) + } + + private newtype TAccessPath = + TAccessPathNil() or + TAccessPathCons(DataFlow::ContentSet head, AccessPath tail) { + nodeReachesStore(_, _, _, _, head, _, tail) + or + nodeReachesRead(_, _, _, _, head, tail, _) + } + + /** An access path. */ + class AccessPath extends TAccessPath { + /** Gets the head of this access path, if any. */ + DataFlow::ContentSet getHead() { this = TAccessPathCons(result, _) } + + /** Gets the tail of this access path, if any. */ + AccessPath getTail() { this = TAccessPathCons(_, result) } + + /** + * Gets a textual representation of this access path. + * + * Elements are dot-separated, and the head of the stack is + * rendered first. + */ + string toString() { + this = TAccessPathNil() and + result = "" + or + exists(DataFlow::ContentSet head, AccessPath tail | + this = TAccessPathCons(head, tail) and + result = head + "." + tail + ) + } + } + + /** + * Provides a big-step flow relation, where flow stops at read/store steps that + * must be recorded, and flow via `subpaths` such that reads/stores inside + * summarized callables can be recorded as well. + */ + private module BigStepFlow { + private predicate reachesSink(Flow::PathNode node) { + FlowConfig::isSink(node.getNode(), node.getState()) + or + reachesSink(node.getASuccessor()) + } + + /** + * Holds if the flow step `pred -> succ` should not be allowed to be included + * in the big-step relation. + */ + pragma[nomagic] + private predicate excludeStep(Flow::PathNode pred, Flow::PathNode succ) { + pred.getASuccessor() = succ and + ( + // we need to record reads/stores inside summarized callables + Flow::PathGraph::subpaths(pred, _, _, succ) + or + // only allow flow into a summarized callable, as part of the big-step + // relation, when flow can reach a sink without going back out + Flow::PathGraph::subpaths(pred, succ, _, _) and + not reachesSink(succ) + or + // needed to record store steps + storeStep(pred.getNode(), pred.getState(), _, succ.getNode(), succ.getState()) + or + // needed to record read steps + readStep(pred.getNode(), pred.getState(), _, succ.getNode(), succ.getState()) + ) + } + + pragma[nomagic] + private DataFlowCallable getEnclosingCallableImpl(Flow::PathNode node) { + result = getNodeEnclosingCallable(node.getNode()) + } + + pragma[inline] + private DataFlowCallable getEnclosingCallable(Flow::PathNode node) { + pragma[only_bind_into](result) = getEnclosingCallableImpl(pragma[only_bind_out](node)) + } + + pragma[nomagic] + private predicate bigStepEntry(Flow::PathNode node) { + ( + FlowConfig::isSource(node.getNode(), node.getState()) + or + excludeStep(_, node) + or + Flow::PathGraph::subpaths(_, node, _, _) + ) + } + + pragma[nomagic] + private predicate bigStepExit(Flow::PathNode node) { + ( + bigStepEntry(node) + or + FlowConfig::isSink(node.getNode(), node.getState()) + or + excludeStep(node, _) + or + Flow::PathGraph::subpaths(_, _, node, _) + ) + } + + pragma[nomagic] + private predicate step(Flow::PathNode pred, Flow::PathNode succ) { + pred.getASuccessor() = succ and + not excludeStep(pred, succ) + } + + pragma[nomagic] + private predicate stepRec(Flow::PathNode pred, Flow::PathNode succ) { + step(pred, succ) and + not bigStepEntry(pred) + } + + private predicate stepRecPlus(Flow::PathNode n1, Flow::PathNode n2) = fastTC(stepRec/2)(n1, n2) + + /** + * Holds if there is flow `pathSucc+(pred) = succ`, and such a flow path does + * not go through any reads/stores that need to be recorded, or summarized + * steps. + */ + pragma[nomagic] + private predicate bigStep(Flow::PathNode pred, Flow::PathNode succ) { + exists(Flow::PathNode mid | + bigStepEntry(pred) and + step(pred, mid) + | + succ = mid + or + stepRecPlus(mid, succ) + ) and + bigStepExit(succ) + } + + pragma[nomagic] + predicate bigStepNotLocal(Flow::PathNode pred, Flow::PathNode succ) { + bigStep(pred, succ) and + not getEnclosingCallable(pred) = getEnclosingCallable(succ) + } + + pragma[nomagic] + predicate bigStepMaybeLocal(Flow::PathNode pred, Flow::PathNode succ) { + bigStep(pred, succ) and + getEnclosingCallable(pred) = getEnclosingCallable(succ) + } + } + + /** + * Holds if `source` can reach `node`, having read `reads` from the source and + * written `stores` into `node`. + * + * `source` is either a source from a configuration, in which case `scReads` and + * `scStores` are always empty, or it is the parameter of a summarized callable, + * in which case `scReads` and `scStores` record the reads/stores for a summary + * context, that is, the reads/stores for an argument that can reach the parameter. + */ + pragma[nomagic] + private predicate nodeReaches( + Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode node, + AccessPath reads, AccessPath stores + ) { + node = source and + reads = scReads and + stores = scStores and + ( + Flow::flowPath(source, _) and + scReads = TAccessPathNil() and + scStores = TAccessPathNil() + or + // the argument in a sub path can be reached, so we start flow from the sub path + // parameter, while recording the read/store summary context + exists(Flow::PathNode arg | + nodeReachesSubpathArg(_, _, _, arg, scReads, scStores) and + Flow::PathGraph::subpaths(arg, source, _, _) + ) + ) + or + exists(Flow::PathNode mid | + nodeReaches(source, scReads, scStores, mid, reads, stores) and + BigStepFlow::bigStepMaybeLocal(mid, node) + ) + or + exists(Flow::PathNode mid | + nodeReaches(source, scReads, scStores, mid, reads, stores) and + BigStepFlow::bigStepNotLocal(mid, node) and + // when flow is not local, we cannot flow back out, so we may stop + // flow early when computing summary flow + Flow::flowPath(source, _) and + scReads = TAccessPathNil() and + scStores = TAccessPathNil() + ) + or + // store step + exists(AccessPath storesMid, DataFlow::ContentSet c | + nodeReachesStore(source, scReads, scStores, node, c, reads, storesMid) and + stores = TAccessPathCons(c, storesMid) + ) + or + // read step + exists(AccessPath readsMid, DataFlow::ContentSet c | + nodeReachesRead(source, scReads, scStores, node, c, readsMid, stores) and + reads = TAccessPathCons(c, readsMid) + ) + or + // flow-through step; match outer stores/reads with inner store/read summary contexts + exists(Flow::PathNode mid, AccessPath innerScReads, AccessPath innerScStores | + nodeReachesSubpathArg(source, scReads, scStores, mid, innerScReads, innerScStores) and + subpathArgReachesOut(mid, innerScReads, innerScStores, node, reads, stores) + ) + } + + pragma[nomagic] + private predicate nodeReachesStore( + Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode node, + DataFlow::ContentSet c, AccessPath reads, AccessPath stores + ) { + exists(Flow::PathNode mid | + nodeReaches(source, scReads, scStores, mid, reads, stores) and + storeStep(mid.getNode(), mid.getState(), c, node.getNode(), node.getState()) and + mid.getASuccessor() = node + ) + } + + pragma[nomagic] + private predicate nodeReachesRead( + Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode node, + DataFlow::ContentSet c, AccessPath reads, AccessPath stores + ) { + exists(Flow::PathNode mid | + nodeReaches(source, scReads, scStores, mid, reads, stores) and + readStep(mid.getNode(), mid.getState(), c, node.getNode(), node.getState()) and + mid.getASuccessor() = node + ) + } + + pragma[nomagic] + private predicate nodeReachesSubpathArg( + Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode arg, + AccessPath reads, AccessPath stores + ) { + nodeReaches(source, scReads, scStores, arg, reads, stores) and + Flow::PathGraph::subpaths(arg, _, _, _) + } + + pragma[nomagic] + private predicate subpathArgReachesOut( + Flow::PathNode arg, AccessPath scReads, AccessPath scStores, Flow::PathNode out, + AccessPath reads, AccessPath stores + ) { + exists(Flow::PathNode source, Flow::PathNode ret | + nodeReaches(source, scReads, scStores, ret, reads, stores) and + Flow::PathGraph::subpaths(arg, source, ret, out) + ) + } +} From 6827bedaa731514827501408948c2f8eb7e31fa5 Mon Sep 17 00:00:00 2001 From: Tamas Vajk Date: Thu, 22 Aug 2024 14:53:43 +0200 Subject: [PATCH 197/258] C#: Add aggregated compiler and extractor message counts to extraction telemetry query --- .../Entities/Compilations/Compilation.cs | 11 ++++++++++- .../Semmle.Extraction.CSharp/Extractor/Analyser.cs | 2 ++ .../Semmle.Extraction.CSharp/Extractor/Extractor.cs | 1 + csharp/extractor/Semmle.Extraction/BUILD.bazel | 1 + .../Semmle.Extraction/Entities/ExtractionMessage.cs | 9 ++++++++- .../Semmle.Extraction/Semmle.Extraction.csproj | 2 ++ .../all-platforms/standalone/Diag.expected | 2 ++ .../all-platforms/standalone/Diag.ql | 3 ++- .../standalone_winforms/CompilationInfo.ql | 2 +- csharp/ql/src/Telemetry/ExtractorInformation.ql | 13 +++++++++++++ 10 files changed, 42 insertions(+), 4 deletions(-) diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Compilations/Compilation.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Compilations/Compilation.cs index 8685c9d7a7d..ecb5d51d44d 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Compilations/Compilation.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Compilations/Compilation.cs @@ -3,6 +3,7 @@ using System.Collections.Concurrent; using System.IO; using System.Linq; using Microsoft.CodeAnalysis; +using Semmle.Extraction.Entities; using Semmle.Util; namespace Semmle.Extraction.CSharp.Entities @@ -89,13 +90,21 @@ namespace Semmle.Extraction.CSharp.Entities trapFile.compilation_finished(this, (float)p.Total.Cpu.TotalSeconds, (float)p.Total.Elapsed.TotalSeconds); } + public void PopulateAggregatedMessages() + { + ExtractionMessage.groupedMessageCounts.ForEach(pair => + { + Context.TrapWriter.Writer.compilation_info(this, $"Extractor message count for group '{pair.Key}'", pair.Value.ToString()); + }); + } + public override void WriteId(EscapingTextWriter trapFile) { trapFile.Write(hashCode); trapFile.Write(";compilation"); } - public override Location ReportingLocation => throw new NotImplementedException(); + public override Microsoft.CodeAnalysis.Location ReportingLocation => throw new NotImplementedException(); public override bool NeedsPopulation => Context.IsAssemblyScope; diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Analyser.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Analyser.cs index 0b523e69b1a..b839d2c976a 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Analyser.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Analyser.cs @@ -250,6 +250,8 @@ namespace Semmle.Extraction.CSharp public void LogPerformance(Entities.PerformanceMetrics p) => compilationEntity.PopulatePerformance(p); + public void ExtractAggregatedMessages() => compilationEntity.PopulateAggregatedMessages(); + #nullable restore warnings /// diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs index ae3875f5028..d87f6fd24c0 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs @@ -458,6 +458,7 @@ namespace Semmle.Extraction.CSharp sw.Restart(); analyser.PerformExtraction(options.Threads); + analyser.ExtractAggregatedMessages(); sw.Stop(); var cpuTime2 = currentProcess.TotalProcessorTime; var userTime2 = currentProcess.UserProcessorTime; diff --git a/csharp/extractor/Semmle.Extraction/BUILD.bazel b/csharp/extractor/Semmle.Extraction/BUILD.bazel index de3a6c2d96a..83dfb8235e8 100644 --- a/csharp/extractor/Semmle.Extraction/BUILD.bazel +++ b/csharp/extractor/Semmle.Extraction/BUILD.bazel @@ -26,6 +26,7 @@ codeql_csharp_library( ], "//conditions:default": [], }), + internals_visible_to = ["Semmle.Extraction.CSharp"], visibility = ["//csharp:__subpackages__"], deps = [ "//csharp/extractor/Semmle.Util", diff --git a/csharp/extractor/Semmle.Extraction/Entities/ExtractionMessage.cs b/csharp/extractor/Semmle.Extraction/Entities/ExtractionMessage.cs index f417a170c10..514ce433c0a 100644 --- a/csharp/extractor/Semmle.Extraction/Entities/ExtractionMessage.cs +++ b/csharp/extractor/Semmle.Extraction/Entities/ExtractionMessage.cs @@ -1,4 +1,5 @@ -using System.IO; +using System.Collections.Concurrent; +using System.IO; using System.Threading; using Semmle.Util; @@ -7,6 +8,8 @@ namespace Semmle.Extraction.Entities internal class ExtractionMessage : FreshEntity { private static readonly int limit = EnvironmentVariables.TryGetExtractorNumberOption("MESSAGE_LIMIT") ?? 10000; + + internal static readonly ConcurrentDictionary groupedMessageCounts = []; private static int messageCount = 0; private readonly Message msg; @@ -25,6 +28,10 @@ namespace Semmle.Extraction.Entities protected override void Populate(TextWriter trapFile) { + // For the time being we're counting the number of messages per severity, we could introduce other groupings in the future + var key = msg.Severity.ToString(); + groupedMessageCounts.AddOrUpdate(key, 1, (_, c) => c + 1); + if (!bypassLimit) { var val = Interlocked.Increment(ref messageCount); diff --git a/csharp/extractor/Semmle.Extraction/Semmle.Extraction.csproj b/csharp/extractor/Semmle.Extraction/Semmle.Extraction.csproj index b4625b16017..2173a50f2ad 100644 --- a/csharp/extractor/Semmle.Extraction/Semmle.Extraction.csproj +++ b/csharp/extractor/Semmle.Extraction/Semmle.Extraction.csproj @@ -5,6 +5,8 @@ + + diff --git a/csharp/ql/integration-tests/all-platforms/standalone/Diag.expected b/csharp/ql/integration-tests/all-platforms/standalone/Diag.expected index 6d84e27e5ce..74314f2c0c9 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone/Diag.expected +++ b/csharp/ql/integration-tests/all-platforms/standalone/Diag.expected @@ -7,3 +7,5 @@ extractorMessagesLeachedLimit compilationInfo | Compiler diagnostic count for CS0103 | 3.0 | | Compiler diagnostic count for CS8019 | 7.0 | +| Extractor message count for group 'Error' | 8.0 | +| Extractor message count for group 'Warning' | 1.0 | diff --git a/csharp/ql/integration-tests/all-platforms/standalone/Diag.ql b/csharp/ql/integration-tests/all-platforms/standalone/Diag.ql index 8b1fbae6b2f..e2fa743471c 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone/Diag.ql +++ b/csharp/ql/integration-tests/all-platforms/standalone/Diag.ql @@ -11,7 +11,8 @@ query predicate extractorMessagesLeachedLimit(ExtractorMessage msg) { query predicate compilationInfo(string key, float value) { exists(Compilation c, string infoValue | - infoValue = c.getInfo(key) and key.matches("Compiler diagnostic count for%") + infoValue = c.getInfo(key) and + key.matches(["Compiler diagnostic count for%", "Extractor message count for group%"]) | value = infoValue.toFloat() ) diff --git a/csharp/ql/integration-tests/all-platforms/standalone_winforms/CompilationInfo.ql b/csharp/ql/integration-tests/all-platforms/standalone_winforms/CompilationInfo.ql index a96c2fd99a6..078e352be4d 100644 --- a/csharp/ql/integration-tests/all-platforms/standalone_winforms/CompilationInfo.ql +++ b/csharp/ql/integration-tests/all-platforms/standalone_winforms/CompilationInfo.ql @@ -4,7 +4,7 @@ import semmle.code.csharp.commons.Diagnostics query predicate compilationInfo(string key, float value) { key != "Resolved references" and key != "Resolved assembly conflicts" and - not key.matches("Compiler diagnostic count for%") and + not key.matches(["Compiler diagnostic count for%", "Extractor message count for group%"]) and exists(Compilation c, string infoKey, string infoValue | infoValue = c.getInfo(infoKey) | key = infoKey and value = infoValue.toFloat() diff --git a/csharp/ql/src/Telemetry/ExtractorInformation.ql b/csharp/ql/src/Telemetry/ExtractorInformation.ql index c2d80f7c768..6fdaf9ca22d 100644 --- a/csharp/ql/src/Telemetry/ExtractorInformation.ql +++ b/csharp/ql/src/Telemetry/ExtractorInformation.ql @@ -12,6 +12,7 @@ import DatabaseQuality predicate compilationInfo(string key, float value) { not key.matches("Compiler diagnostic count for%") and + not key.matches("Extractor message count for group%") and exists(Compilation c, string infoKey, string infoValue | infoValue = c.getInfo(infoKey) | key = infoKey and value = infoValue.toFloat() @@ -22,6 +23,16 @@ predicate compilationInfo(string key, float value) { ) } +predicate compilerDiagnostics(string key, int value) { + key.matches("Compiler diagnostic count for%") and + strictsum(Compilation c | | c.getInfo(key).toInt()) = value +} + +predicate extractorMessages(string key, int value) { + key.matches("Extractor message count for group%") and + strictsum(Compilation c | | c.getInfo(key).toInt()) = value +} + predicate fileCount(string key, int value) { key = "Number of files" and value = strictcount(File f) @@ -140,6 +151,8 @@ from string key, float value where ( compilationInfo(key, value) or + compilerDiagnostics(key, value) or + extractorMessages(key, value) or fileCount(key, value) or fileCountByExtension(key, value) or totalNumberOfLines(key, value) or From e6424f0f45848b8f11a883a4d8688819b9f287e7 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 22 Aug 2024 15:45:34 +0200 Subject: [PATCH 198/258] Shared: Make ContentDataFlow reusable. --- .../dataflow/internal/ContentDataFlowImpl.qll | 888 +++++++++--------- 1 file changed, 444 insertions(+), 444 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll index 76936549051..18e44061967 100644 --- a/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll @@ -23,482 +23,482 @@ * between all other steps. */ -private import csharp +private import codeql.dataflow.DataFlow private import codeql.util.Boolean +private import codeql.util.Location +private import DataFlowImpl private import DataFlowImplCommon -private import DataFlowImplSpecific::Private -private import DataFlowImplSpecific::Private as DataFlowPrivate -/** - * An input configuration for content data flow. - */ -signature module ConfigSig { - /** - * Holds if `source` is a relevant data flow source. - */ - predicate isSource(DataFlow::Node source); +module MakeImplContentDataFlow Lang> { + private import Lang + private import DataFlowMake + private import DataFlowImplCommon::MakeImplCommon /** - * Holds if `sink` is a relevant data flow sink. + * An input configuration for content data flow. */ - predicate isSink(DataFlow::Node sink); - - /** - * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. - */ - default predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) { none() } - - /** Holds if data flow into `node` is prohibited. */ - default predicate isBarrier(DataFlow::Node node) { none() } - - /** - * Gets a data flow configuration feature to add restrictions to the set of - * valid flow paths. - * - * - `FeatureHasSourceCallContext`: - * Assume that sources have some existing call context to disallow - * conflicting return-flow directly following the source. - * - `FeatureHasSinkCallContext`: - * Assume that sinks have some existing call context to disallow - * conflicting argument-to-parameter flow directly preceding the sink. - * - `FeatureEqualSourceSinkCallContext`: - * Implies both of the above and additionally ensures that the entire flow - * path preserves the call context. - */ - default DataFlow::FlowFeature getAFeature() { none() } - - /** Gets a limit on the number of reads out of sources and number of stores into sinks. */ - default int accessPathLimit() { result = DataFlowPrivate::accessPathLimit() } - - /** Holds if `c` is relevant for reads out of sources or stores into sinks. */ - default predicate isRelevantContent(DataFlow::ContentSet c) { any() } -} - -/** - * Constructs a global content data flow computation. - */ -module Global { - private module FlowConfig implements DataFlow::StateConfigSig { - class FlowState = State; - - predicate isSource(DataFlow::Node source, FlowState state) { - ContentConfig::isSource(source) and - state.(InitState).decode(true) - } - - predicate isSink(DataFlow::Node sink, FlowState state) { - ContentConfig::isSink(sink) and - ( - state instanceof InitState or - state instanceof StoreState or - state instanceof ReadState - ) - } - - predicate isAdditionalFlowStep( - DataFlow::Node node1, FlowState state1, DataFlow::Node node2, FlowState state2 - ) { - storeStep(node1, state1, _, node2, state2) or - readStep(node1, state1, _, node2, state2) or - additionalStep(node1, state1, node2, state2) - } - - predicate isAdditionalFlowStep = ContentConfig::isAdditionalFlowStep/2; - - predicate isBarrier = ContentConfig::isBarrier/1; - - DataFlow::FlowFeature getAFeature() { result = ContentConfig::getAFeature() } - - predicate accessPathLimit = ContentConfig::accessPathLimit/0; - - // needed to record reads/stores inside summarized callables - predicate includeHiddenNodes() { any() } - } - - private module Flow = DataFlow::GlobalWithState; - - /** - * Holds if data stored inside `sourceAp` on `source` flows to `sinkAp` inside `sink` - * for this configuration. `preservesValue` indicates whether any of the additional - * flow steps defined by `isAdditionalFlowStep` are needed. - * - * For the source access path, `sourceAp`, the top of the stack represents the content - * that was last read from. That is, if `sourceAp` is `Field1.Field2` (with `Field1` - * being the top of the stack), then there is flow from `source.Field2.Field1`. - * - * For the sink access path, `sinkAp`, the top of the stack represents the content - * that was last stored into. That is, if `sinkAp` is `Field1.Field2` (with `Field1` - * being the top of the stack), then there is flow into `sink.Field1.Field2`. - */ - predicate flow( - DataFlow::Node source, AccessPath sourceAp, DataFlow::Node sink, AccessPath sinkAp, - boolean preservesValue - ) { - exists(Flow::PathNode pathSource, Flow::PathNode pathSink | - Flow::flowPath(pathSource, pathSink) and - nodeReaches(pathSource, TAccessPathNil(), TAccessPathNil(), pathSink, sourceAp, sinkAp) and - source = pathSource.getNode() and - sink = pathSink.getNode() - | - pathSink.getState().(InitState).decode(preservesValue) - or - pathSink.getState().(ReadState).decode(_, preservesValue) - or - pathSink.getState().(StoreState).decode(_, preservesValue) - ) - } - - private newtype TState = - TInitState(Boolean preservesValue) or - TStoreState(int size, Boolean preservesValue) { - size in [1 .. ContentConfig::accessPathLimit()] - } or - TReadState(int size, Boolean preservesValue) { size in [1 .. ContentConfig::accessPathLimit()] } - - abstract private class State extends TState { - abstract string toString(); - } - - /** A flow state representing no reads or stores. */ - private class InitState extends State, TInitState { - private boolean preservesValue_; - - InitState() { this = TInitState(preservesValue_) } - - override string toString() { result = "Init(" + preservesValue_ + ")" } - - predicate decode(boolean preservesValue) { preservesValue = preservesValue_ } - } - - /** A flow state representing that content has been stored into. */ - private class StoreState extends State, TStoreState { - private boolean preservesValue_; - private int size_; - - StoreState() { this = TStoreState(size_, preservesValue_) } - - override string toString() { result = "StoreState(" + size_ + "," + preservesValue_ + ")" } - - predicate decode(int size, boolean preservesValue) { - size = size_ and preservesValue = preservesValue_ - } - } - - /** A flow state representing that content has been read from. */ - private class ReadState extends State, TReadState { - private boolean preservesValue_; - private int size_; - - ReadState() { this = TReadState(size_, preservesValue_) } - - override string toString() { result = "ReadState(" + size_ + "," + preservesValue_ + ")" } - - predicate decode(int size, boolean preservesValue) { - size = size_ and preservesValue = preservesValue_ - } - } - - private predicate storeStep( - DataFlow::Node node1, State state1, DataFlow::ContentSet c, DataFlow::Node node2, - StoreState state2 - ) { - exists(boolean preservesValue, int size | - storeSet(node1, c, node2, _, _) and - ContentConfig::isRelevantContent(c) and - state2.decode(size + 1, preservesValue) - | - state1.(InitState).decode(preservesValue) and size = 0 - or - state1.(ReadState).decode(_, preservesValue) and size = 0 - or - state1.(StoreState).decode(size, preservesValue) - ) - } - - private predicate readStep( - DataFlow::Node node1, State state1, DataFlow::ContentSet c, DataFlow::Node node2, - ReadState state2 - ) { - exists(int size | - readSet(node1, c, node2) and - ContentConfig::isRelevantContent(c) and - state2.decode(size + 1, true) - | - state1.(InitState).decode(true) and - size = 0 - or - state1.(ReadState).decode(size, true) - ) - } - - private predicate additionalStep( - DataFlow::Node node1, State state1, DataFlow::Node node2, State state2 - ) { - ContentConfig::isAdditionalFlowStep(node1, node2) and - ( - state1 instanceof InitState and - state2.(InitState).decode(false) - or - exists(int size | - state1.(ReadState).decode(size, _) and - state2.(ReadState).decode(size, false) - ) - ) - } - - private newtype TAccessPath = - TAccessPathNil() or - TAccessPathCons(DataFlow::ContentSet head, AccessPath tail) { - nodeReachesStore(_, _, _, _, head, _, tail) - or - nodeReachesRead(_, _, _, _, head, tail, _) - } - - /** An access path. */ - class AccessPath extends TAccessPath { - /** Gets the head of this access path, if any. */ - DataFlow::ContentSet getHead() { this = TAccessPathCons(result, _) } - - /** Gets the tail of this access path, if any. */ - AccessPath getTail() { this = TAccessPathCons(_, result) } + signature module ConfigSig { + /** + * Holds if `source` is a relevant data flow source. + */ + predicate isSource(Node source); /** - * Gets a textual representation of this access path. + * Holds if `sink` is a relevant data flow sink. + */ + predicate isSink(Node sink); + + /** + * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. + */ + default predicate isAdditionalFlowStep(Node node1, Node node2) { none() } + + /** Holds if data flow into `node` is prohibited. */ + default predicate isBarrier(Node node) { none() } + + /** + * Gets a data flow configuration feature to add restrictions to the set of + * valid flow paths. * - * Elements are dot-separated, and the head of the stack is - * rendered first. + * - `FeatureHasSourceCallContext`: + * Assume that sources have some existing call context to disallow + * conflicting return-flow directly following the source. + * - `FeatureHasSinkCallContext`: + * Assume that sinks have some existing call context to disallow + * conflicting argument-to-parameter flow directly preceding the sink. + * - `FeatureEqualSourceSinkCallContext`: + * Implies both of the above and additionally ensures that the entire flow + * path preserves the call context. */ - string toString() { - this = TAccessPathNil() and - result = "" - or - exists(DataFlow::ContentSet head, AccessPath tail | - this = TAccessPathCons(head, tail) and - result = head + "." + tail - ) - } + default FlowFeature getAFeature() { none() } + + /** Gets a limit on the number of reads out of sources and number of stores into sinks. */ + default int accessPathLimit() { result = Lang::accessPathLimit() } + + /** Holds if `c` is relevant for reads out of sources or stores into sinks. */ + default predicate isRelevantContent(ContentSet c) { any() } } /** - * Provides a big-step flow relation, where flow stops at read/store steps that - * must be recorded, and flow via `subpaths` such that reads/stores inside - * summarized callables can be recorded as well. + * Constructs a global content data flow computation. */ - private module BigStepFlow { - private predicate reachesSink(Flow::PathNode node) { - FlowConfig::isSink(node.getNode(), node.getState()) - or - reachesSink(node.getASuccessor()) + module Global { + private module FlowConfig implements StateConfigSig { + class FlowState = State; + + predicate isSource(Node source, FlowState state) { + ContentConfig::isSource(source) and + state.(InitState).decode(true) + } + + predicate isSink(Node sink, FlowState state) { + ContentConfig::isSink(sink) and + ( + state instanceof InitState or + state instanceof StoreState or + state instanceof ReadState + ) + } + + predicate isAdditionalFlowStep(Node node1, FlowState state1, Node node2, FlowState state2) { + storeStep(node1, state1, _, node2, state2) or + readStep(node1, state1, _, node2, state2) or + additionalStep(node1, state1, node2, state2) + } + + predicate isAdditionalFlowStep = ContentConfig::isAdditionalFlowStep/2; + + predicate isBarrier = ContentConfig::isBarrier/1; + + FlowFeature getAFeature() { result = ContentConfig::getAFeature() } + + predicate accessPathLimit = ContentConfig::accessPathLimit/0; + + // needed to record reads/stores inside summarized callables + predicate includeHiddenNodes() { any() } + } + + private module Flow = GlobalWithState; + + /** + * Holds if data stored inside `sourceAp` on `source` flows to `sinkAp` inside `sink` + * for this configuration. `preservesValue` indicates whether any of the additional + * flow steps defined by `isAdditionalFlowStep` are needed. + * + * For the source access path, `sourceAp`, the top of the stack represents the content + * that was last read from. That is, if `sourceAp` is `Field1.Field2` (with `Field1` + * being the top of the stack), then there is flow from `source.Field2.Field1`. + * + * For the sink access path, `sinkAp`, the top of the stack represents the content + * that was last stored into. That is, if `sinkAp` is `Field1.Field2` (with `Field1` + * being the top of the stack), then there is flow into `sink.Field1.Field2`. + */ + predicate flow( + Node source, AccessPath sourceAp, Node sink, AccessPath sinkAp, boolean preservesValue + ) { + exists(Flow::PathNode pathSource, Flow::PathNode pathSink | + Flow::flowPath(pathSource, pathSink) and + nodeReaches(pathSource, TAccessPathNil(), TAccessPathNil(), pathSink, sourceAp, sinkAp) and + source = pathSource.getNode() and + sink = pathSink.getNode() + | + pathSink.getState().(InitState).decode(preservesValue) + or + pathSink.getState().(ReadState).decode(_, preservesValue) + or + pathSink.getState().(StoreState).decode(_, preservesValue) + ) + } + + private newtype TState = + TInitState(Boolean preservesValue) or + TStoreState(int size, Boolean preservesValue) { + size in [1 .. ContentConfig::accessPathLimit()] + } or + TReadState(int size, Boolean preservesValue) { + size in [1 .. ContentConfig::accessPathLimit()] + } + + abstract private class State extends TState { + abstract string toString(); + } + + /** A flow state representing no reads or stores. */ + private class InitState extends State, TInitState { + private boolean preservesValue_; + + InitState() { this = TInitState(preservesValue_) } + + override string toString() { result = "Init(" + preservesValue_ + ")" } + + predicate decode(boolean preservesValue) { preservesValue = preservesValue_ } + } + + /** A flow state representing that content has been stored into. */ + private class StoreState extends State, TStoreState { + private boolean preservesValue_; + private int size_; + + StoreState() { this = TStoreState(size_, preservesValue_) } + + override string toString() { result = "StoreState(" + size_ + "," + preservesValue_ + ")" } + + predicate decode(int size, boolean preservesValue) { + size = size_ and preservesValue = preservesValue_ + } + } + + /** A flow state representing that content has been read from. */ + private class ReadState extends State, TReadState { + private boolean preservesValue_; + private int size_; + + ReadState() { this = TReadState(size_, preservesValue_) } + + override string toString() { result = "ReadState(" + size_ + "," + preservesValue_ + ")" } + + predicate decode(int size, boolean preservesValue) { + size = size_ and preservesValue = preservesValue_ + } + } + + private predicate storeStep( + Node node1, State state1, ContentSet c, Node node2, StoreState state2 + ) { + exists(boolean preservesValue, int size | + storeSet(node1, c, node2, _, _) and + ContentConfig::isRelevantContent(c) and + state2.decode(size + 1, preservesValue) + | + state1.(InitState).decode(preservesValue) and size = 0 + or + state1.(ReadState).decode(_, preservesValue) and size = 0 + or + state1.(StoreState).decode(size, preservesValue) + ) + } + + private predicate readStep(Node node1, State state1, ContentSet c, Node node2, ReadState state2) { + exists(int size | + readSet(node1, c, node2) and + ContentConfig::isRelevantContent(c) and + state2.decode(size + 1, true) + | + state1.(InitState).decode(true) and + size = 0 + or + state1.(ReadState).decode(size, true) + ) + } + + private predicate additionalStep(Node node1, State state1, Node node2, State state2) { + ContentConfig::isAdditionalFlowStep(node1, node2) and + ( + state1 instanceof InitState and + state2.(InitState).decode(false) + or + exists(int size | + state1.(ReadState).decode(size, _) and + state2.(ReadState).decode(size, false) + ) + ) + } + + private newtype TAccessPath = + TAccessPathNil() or + TAccessPathCons(ContentSet head, AccessPath tail) { + nodeReachesStore(_, _, _, _, head, _, tail) + or + nodeReachesRead(_, _, _, _, head, tail, _) + } + + /** An access path. */ + class AccessPath extends TAccessPath { + /** Gets the head of this access path, if any. */ + ContentSet getHead() { this = TAccessPathCons(result, _) } + + /** Gets the tail of this access path, if any. */ + AccessPath getTail() { this = TAccessPathCons(_, result) } + + /** + * Gets a textual representation of this access path. + * + * Elements are dot-separated, and the head of the stack is + * rendered first. + */ + string toString() { + this = TAccessPathNil() and + result = "" + or + exists(ContentSet head, AccessPath tail | + this = TAccessPathCons(head, tail) and + result = head + "." + tail + ) + } } /** - * Holds if the flow step `pred -> succ` should not be allowed to be included - * in the big-step relation. + * Provides a big-step flow relation, where flow stops at read/store steps that + * must be recorded, and flow via `subpaths` such that reads/stores inside + * summarized callables can be recorded as well. */ - pragma[nomagic] - private predicate excludeStep(Flow::PathNode pred, Flow::PathNode succ) { - pred.getASuccessor() = succ and - ( - // we need to record reads/stores inside summarized callables - Flow::PathGraph::subpaths(pred, _, _, succ) - or - // only allow flow into a summarized callable, as part of the big-step - // relation, when flow can reach a sink without going back out - Flow::PathGraph::subpaths(pred, succ, _, _) and - not reachesSink(succ) - or - // needed to record store steps - storeStep(pred.getNode(), pred.getState(), _, succ.getNode(), succ.getState()) - or - // needed to record read steps - readStep(pred.getNode(), pred.getState(), _, succ.getNode(), succ.getState()) - ) - } - - pragma[nomagic] - private DataFlowCallable getEnclosingCallableImpl(Flow::PathNode node) { - result = getNodeEnclosingCallable(node.getNode()) - } - - pragma[inline] - private DataFlowCallable getEnclosingCallable(Flow::PathNode node) { - pragma[only_bind_into](result) = getEnclosingCallableImpl(pragma[only_bind_out](node)) - } - - pragma[nomagic] - private predicate bigStepEntry(Flow::PathNode node) { - ( - FlowConfig::isSource(node.getNode(), node.getState()) - or - excludeStep(_, node) - or - Flow::PathGraph::subpaths(_, node, _, _) - ) - } - - pragma[nomagic] - private predicate bigStepExit(Flow::PathNode node) { - ( - bigStepEntry(node) - or + private module BigStepFlow { + private predicate reachesSink(Flow::PathNode node) { FlowConfig::isSink(node.getNode(), node.getState()) or - excludeStep(node, _) - or - Flow::PathGraph::subpaths(_, _, node, _) - ) - } + reachesSink(node.getASuccessor()) + } - pragma[nomagic] - private predicate step(Flow::PathNode pred, Flow::PathNode succ) { - pred.getASuccessor() = succ and - not excludeStep(pred, succ) - } + /** + * Holds if the flow step `pred -> succ` should not be allowed to be included + * in the big-step relation. + */ + pragma[nomagic] + private predicate excludeStep(Flow::PathNode pred, Flow::PathNode succ) { + pred.getASuccessor() = succ and + ( + // we need to record reads/stores inside summarized callables + Flow::PathGraph::subpaths(pred, _, _, succ) + or + // only allow flow into a summarized callable, as part of the big-step + // relation, when flow can reach a sink without going back out + Flow::PathGraph::subpaths(pred, succ, _, _) and + not reachesSink(succ) + or + // needed to record store steps + storeStep(pred.getNode(), pred.getState(), _, succ.getNode(), succ.getState()) + or + // needed to record read steps + readStep(pred.getNode(), pred.getState(), _, succ.getNode(), succ.getState()) + ) + } - pragma[nomagic] - private predicate stepRec(Flow::PathNode pred, Flow::PathNode succ) { - step(pred, succ) and - not bigStepEntry(pred) - } + pragma[nomagic] + private DataFlowCallable getEnclosingCallableImpl(Flow::PathNode node) { + result = getNodeEnclosingCallable(node.getNode()) + } - private predicate stepRecPlus(Flow::PathNode n1, Flow::PathNode n2) = fastTC(stepRec/2)(n1, n2) + pragma[inline] + private DataFlowCallable getEnclosingCallable(Flow::PathNode node) { + pragma[only_bind_into](result) = getEnclosingCallableImpl(pragma[only_bind_out](node)) + } + + pragma[nomagic] + private predicate bigStepEntry(Flow::PathNode node) { + ( + FlowConfig::isSource(node.getNode(), node.getState()) + or + excludeStep(_, node) + or + Flow::PathGraph::subpaths(_, node, _, _) + ) + } + + pragma[nomagic] + private predicate bigStepExit(Flow::PathNode node) { + ( + bigStepEntry(node) + or + FlowConfig::isSink(node.getNode(), node.getState()) + or + excludeStep(node, _) + or + Flow::PathGraph::subpaths(_, _, node, _) + ) + } + + pragma[nomagic] + private predicate step(Flow::PathNode pred, Flow::PathNode succ) { + pred.getASuccessor() = succ and + not excludeStep(pred, succ) + } + + pragma[nomagic] + private predicate stepRec(Flow::PathNode pred, Flow::PathNode succ) { + step(pred, succ) and + not bigStepEntry(pred) + } + + private predicate stepRecPlus(Flow::PathNode n1, Flow::PathNode n2) = + fastTC(stepRec/2)(n1, n2) + + /** + * Holds if there is flow `pathSucc+(pred) = succ`, and such a flow path does + * not go through any reads/stores that need to be recorded, or summarized + * steps. + */ + pragma[nomagic] + private predicate bigStep(Flow::PathNode pred, Flow::PathNode succ) { + exists(Flow::PathNode mid | + bigStepEntry(pred) and + step(pred, mid) + | + succ = mid + or + stepRecPlus(mid, succ) + ) and + bigStepExit(succ) + } + + pragma[nomagic] + predicate bigStepNotLocal(Flow::PathNode pred, Flow::PathNode succ) { + bigStep(pred, succ) and + not getEnclosingCallable(pred) = getEnclosingCallable(succ) + } + + pragma[nomagic] + predicate bigStepMaybeLocal(Flow::PathNode pred, Flow::PathNode succ) { + bigStep(pred, succ) and + getEnclosingCallable(pred) = getEnclosingCallable(succ) + } + } /** - * Holds if there is flow `pathSucc+(pred) = succ`, and such a flow path does - * not go through any reads/stores that need to be recorded, or summarized - * steps. + * Holds if `source` can reach `node`, having read `reads` from the source and + * written `stores` into `node`. + * + * `source` is either a source from a configuration, in which case `scReads` and + * `scStores` are always empty, or it is the parameter of a summarized callable, + * in which case `scReads` and `scStores` record the reads/stores for a summary + * context, that is, the reads/stores for an argument that can reach the parameter. */ pragma[nomagic] - private predicate bigStep(Flow::PathNode pred, Flow::PathNode succ) { - exists(Flow::PathNode mid | - bigStepEntry(pred) and - step(pred, mid) - | - succ = mid + private predicate nodeReaches( + Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode node, + AccessPath reads, AccessPath stores + ) { + node = source and + reads = scReads and + stores = scStores and + ( + Flow::flowPath(source, _) and + scReads = TAccessPathNil() and + scStores = TAccessPathNil() or - stepRecPlus(mid, succ) - ) and - bigStepExit(succ) - } - - pragma[nomagic] - predicate bigStepNotLocal(Flow::PathNode pred, Flow::PathNode succ) { - bigStep(pred, succ) and - not getEnclosingCallable(pred) = getEnclosingCallable(succ) - } - - pragma[nomagic] - predicate bigStepMaybeLocal(Flow::PathNode pred, Flow::PathNode succ) { - bigStep(pred, succ) and - getEnclosingCallable(pred) = getEnclosingCallable(succ) - } - } - - /** - * Holds if `source` can reach `node`, having read `reads` from the source and - * written `stores` into `node`. - * - * `source` is either a source from a configuration, in which case `scReads` and - * `scStores` are always empty, or it is the parameter of a summarized callable, - * in which case `scReads` and `scStores` record the reads/stores for a summary - * context, that is, the reads/stores for an argument that can reach the parameter. - */ - pragma[nomagic] - private predicate nodeReaches( - Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode node, - AccessPath reads, AccessPath stores - ) { - node = source and - reads = scReads and - stores = scStores and - ( - Flow::flowPath(source, _) and - scReads = TAccessPathNil() and - scStores = TAccessPathNil() - or - // the argument in a sub path can be reached, so we start flow from the sub path - // parameter, while recording the read/store summary context - exists(Flow::PathNode arg | - nodeReachesSubpathArg(_, _, _, arg, scReads, scStores) and - Flow::PathGraph::subpaths(arg, source, _, _) + // the argument in a sub path can be reached, so we start flow from the sub path + // parameter, while recording the read/store summary context + exists(Flow::PathNode arg | + nodeReachesSubpathArg(_, _, _, arg, scReads, scStores) and + Flow::PathGraph::subpaths(arg, source, _, _) + ) ) - ) - or - exists(Flow::PathNode mid | - nodeReaches(source, scReads, scStores, mid, reads, stores) and - BigStepFlow::bigStepMaybeLocal(mid, node) - ) - or - exists(Flow::PathNode mid | - nodeReaches(source, scReads, scStores, mid, reads, stores) and - BigStepFlow::bigStepNotLocal(mid, node) and - // when flow is not local, we cannot flow back out, so we may stop - // flow early when computing summary flow - Flow::flowPath(source, _) and - scReads = TAccessPathNil() and - scStores = TAccessPathNil() - ) - or - // store step - exists(AccessPath storesMid, DataFlow::ContentSet c | - nodeReachesStore(source, scReads, scStores, node, c, reads, storesMid) and - stores = TAccessPathCons(c, storesMid) - ) - or - // read step - exists(AccessPath readsMid, DataFlow::ContentSet c | - nodeReachesRead(source, scReads, scStores, node, c, readsMid, stores) and - reads = TAccessPathCons(c, readsMid) - ) - or - // flow-through step; match outer stores/reads with inner store/read summary contexts - exists(Flow::PathNode mid, AccessPath innerScReads, AccessPath innerScStores | - nodeReachesSubpathArg(source, scReads, scStores, mid, innerScReads, innerScStores) and - subpathArgReachesOut(mid, innerScReads, innerScStores, node, reads, stores) - ) - } + or + exists(Flow::PathNode mid | + nodeReaches(source, scReads, scStores, mid, reads, stores) and + BigStepFlow::bigStepMaybeLocal(mid, node) + ) + or + exists(Flow::PathNode mid | + nodeReaches(source, scReads, scStores, mid, reads, stores) and + BigStepFlow::bigStepNotLocal(mid, node) and + // when flow is not local, we cannot flow back out, so we may stop + // flow early when computing summary flow + Flow::flowPath(source, _) and + scReads = TAccessPathNil() and + scStores = TAccessPathNil() + ) + or + // store step + exists(AccessPath storesMid, ContentSet c | + nodeReachesStore(source, scReads, scStores, node, c, reads, storesMid) and + stores = TAccessPathCons(c, storesMid) + ) + or + // read step + exists(AccessPath readsMid, ContentSet c | + nodeReachesRead(source, scReads, scStores, node, c, readsMid, stores) and + reads = TAccessPathCons(c, readsMid) + ) + or + // flow-through step; match outer stores/reads with inner store/read summary contexts + exists(Flow::PathNode mid, AccessPath innerScReads, AccessPath innerScStores | + nodeReachesSubpathArg(source, scReads, scStores, mid, innerScReads, innerScStores) and + subpathArgReachesOut(mid, innerScReads, innerScStores, node, reads, stores) + ) + } - pragma[nomagic] - private predicate nodeReachesStore( - Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode node, - DataFlow::ContentSet c, AccessPath reads, AccessPath stores - ) { - exists(Flow::PathNode mid | - nodeReaches(source, scReads, scStores, mid, reads, stores) and - storeStep(mid.getNode(), mid.getState(), c, node.getNode(), node.getState()) and - mid.getASuccessor() = node - ) - } + pragma[nomagic] + private predicate nodeReachesStore( + Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode node, + ContentSet c, AccessPath reads, AccessPath stores + ) { + exists(Flow::PathNode mid | + nodeReaches(source, scReads, scStores, mid, reads, stores) and + storeStep(mid.getNode(), mid.getState(), c, node.getNode(), node.getState()) and + mid.getASuccessor() = node + ) + } - pragma[nomagic] - private predicate nodeReachesRead( - Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode node, - DataFlow::ContentSet c, AccessPath reads, AccessPath stores - ) { - exists(Flow::PathNode mid | - nodeReaches(source, scReads, scStores, mid, reads, stores) and - readStep(mid.getNode(), mid.getState(), c, node.getNode(), node.getState()) and - mid.getASuccessor() = node - ) - } + pragma[nomagic] + private predicate nodeReachesRead( + Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode node, + ContentSet c, AccessPath reads, AccessPath stores + ) { + exists(Flow::PathNode mid | + nodeReaches(source, scReads, scStores, mid, reads, stores) and + readStep(mid.getNode(), mid.getState(), c, node.getNode(), node.getState()) and + mid.getASuccessor() = node + ) + } - pragma[nomagic] - private predicate nodeReachesSubpathArg( - Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode arg, - AccessPath reads, AccessPath stores - ) { - nodeReaches(source, scReads, scStores, arg, reads, stores) and - Flow::PathGraph::subpaths(arg, _, _, _) - } + pragma[nomagic] + private predicate nodeReachesSubpathArg( + Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode arg, + AccessPath reads, AccessPath stores + ) { + nodeReaches(source, scReads, scStores, arg, reads, stores) and + Flow::PathGraph::subpaths(arg, _, _, _) + } - pragma[nomagic] - private predicate subpathArgReachesOut( - Flow::PathNode arg, AccessPath scReads, AccessPath scStores, Flow::PathNode out, - AccessPath reads, AccessPath stores - ) { - exists(Flow::PathNode source, Flow::PathNode ret | - nodeReaches(source, scReads, scStores, ret, reads, stores) and - Flow::PathGraph::subpaths(arg, source, ret, out) - ) + pragma[nomagic] + private predicate subpathArgReachesOut( + Flow::PathNode arg, AccessPath scReads, AccessPath scStores, Flow::PathNode out, + AccessPath reads, AccessPath stores + ) { + exists(Flow::PathNode source, Flow::PathNode ret | + nodeReaches(source, scReads, scStores, ret, reads, stores) and + Flow::PathGraph::subpaths(arg, source, ret, out) + ) + } } } From d935c472318de67e07311990991839fc4349c41b Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 22 Aug 2024 15:43:41 +0200 Subject: [PATCH 199/258] C#: Use the shared content flow implementation. --- .../dataflow/internal/ContentDataFlow.qll | 508 +----------------- 1 file changed, 4 insertions(+), 504 deletions(-) diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ContentDataFlow.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ContentDataFlow.qll index 76936549051..a0368f1c335 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ContentDataFlow.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ContentDataFlow.qll @@ -1,504 +1,4 @@ -/** - * Provides classes for performing global (inter-procedural) - * content-sensitive data flow analyses. - * - * Unlike `DataFlow::Global`, we allow for data to be stored (possibly nested) inside - * contents of sources and sinks. - * We track flow paths of the form - * - * ``` - * source --value-->* node - * (--read--> node --value-->* node)* - * --(non-value|value)-->* node - * (--store--> node --value-->* node)* - * --value-->* sink - * ``` - * - * where `--value-->` is a value-preserving flow step, `--read-->` is a read - * step, `--store-->` is a store step, and `--(non-value)-->` is a - * non-value-preserving flow step. - * - * That is, first a sequence of 0 or more reads, followed by 0 or more additional - * steps, followed by 0 or more stores, with value-preserving steps allowed in - * between all other steps. - */ - -private import csharp -private import codeql.util.Boolean -private import DataFlowImplCommon -private import DataFlowImplSpecific::Private -private import DataFlowImplSpecific::Private as DataFlowPrivate - -/** - * An input configuration for content data flow. - */ -signature module ConfigSig { - /** - * Holds if `source` is a relevant data flow source. - */ - predicate isSource(DataFlow::Node source); - - /** - * Holds if `sink` is a relevant data flow sink. - */ - predicate isSink(DataFlow::Node sink); - - /** - * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. - */ - default predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) { none() } - - /** Holds if data flow into `node` is prohibited. */ - default predicate isBarrier(DataFlow::Node node) { none() } - - /** - * Gets a data flow configuration feature to add restrictions to the set of - * valid flow paths. - * - * - `FeatureHasSourceCallContext`: - * Assume that sources have some existing call context to disallow - * conflicting return-flow directly following the source. - * - `FeatureHasSinkCallContext`: - * Assume that sinks have some existing call context to disallow - * conflicting argument-to-parameter flow directly preceding the sink. - * - `FeatureEqualSourceSinkCallContext`: - * Implies both of the above and additionally ensures that the entire flow - * path preserves the call context. - */ - default DataFlow::FlowFeature getAFeature() { none() } - - /** Gets a limit on the number of reads out of sources and number of stores into sinks. */ - default int accessPathLimit() { result = DataFlowPrivate::accessPathLimit() } - - /** Holds if `c` is relevant for reads out of sources or stores into sinks. */ - default predicate isRelevantContent(DataFlow::ContentSet c) { any() } -} - -/** - * Constructs a global content data flow computation. - */ -module Global { - private module FlowConfig implements DataFlow::StateConfigSig { - class FlowState = State; - - predicate isSource(DataFlow::Node source, FlowState state) { - ContentConfig::isSource(source) and - state.(InitState).decode(true) - } - - predicate isSink(DataFlow::Node sink, FlowState state) { - ContentConfig::isSink(sink) and - ( - state instanceof InitState or - state instanceof StoreState or - state instanceof ReadState - ) - } - - predicate isAdditionalFlowStep( - DataFlow::Node node1, FlowState state1, DataFlow::Node node2, FlowState state2 - ) { - storeStep(node1, state1, _, node2, state2) or - readStep(node1, state1, _, node2, state2) or - additionalStep(node1, state1, node2, state2) - } - - predicate isAdditionalFlowStep = ContentConfig::isAdditionalFlowStep/2; - - predicate isBarrier = ContentConfig::isBarrier/1; - - DataFlow::FlowFeature getAFeature() { result = ContentConfig::getAFeature() } - - predicate accessPathLimit = ContentConfig::accessPathLimit/0; - - // needed to record reads/stores inside summarized callables - predicate includeHiddenNodes() { any() } - } - - private module Flow = DataFlow::GlobalWithState; - - /** - * Holds if data stored inside `sourceAp` on `source` flows to `sinkAp` inside `sink` - * for this configuration. `preservesValue` indicates whether any of the additional - * flow steps defined by `isAdditionalFlowStep` are needed. - * - * For the source access path, `sourceAp`, the top of the stack represents the content - * that was last read from. That is, if `sourceAp` is `Field1.Field2` (with `Field1` - * being the top of the stack), then there is flow from `source.Field2.Field1`. - * - * For the sink access path, `sinkAp`, the top of the stack represents the content - * that was last stored into. That is, if `sinkAp` is `Field1.Field2` (with `Field1` - * being the top of the stack), then there is flow into `sink.Field1.Field2`. - */ - predicate flow( - DataFlow::Node source, AccessPath sourceAp, DataFlow::Node sink, AccessPath sinkAp, - boolean preservesValue - ) { - exists(Flow::PathNode pathSource, Flow::PathNode pathSink | - Flow::flowPath(pathSource, pathSink) and - nodeReaches(pathSource, TAccessPathNil(), TAccessPathNil(), pathSink, sourceAp, sinkAp) and - source = pathSource.getNode() and - sink = pathSink.getNode() - | - pathSink.getState().(InitState).decode(preservesValue) - or - pathSink.getState().(ReadState).decode(_, preservesValue) - or - pathSink.getState().(StoreState).decode(_, preservesValue) - ) - } - - private newtype TState = - TInitState(Boolean preservesValue) or - TStoreState(int size, Boolean preservesValue) { - size in [1 .. ContentConfig::accessPathLimit()] - } or - TReadState(int size, Boolean preservesValue) { size in [1 .. ContentConfig::accessPathLimit()] } - - abstract private class State extends TState { - abstract string toString(); - } - - /** A flow state representing no reads or stores. */ - private class InitState extends State, TInitState { - private boolean preservesValue_; - - InitState() { this = TInitState(preservesValue_) } - - override string toString() { result = "Init(" + preservesValue_ + ")" } - - predicate decode(boolean preservesValue) { preservesValue = preservesValue_ } - } - - /** A flow state representing that content has been stored into. */ - private class StoreState extends State, TStoreState { - private boolean preservesValue_; - private int size_; - - StoreState() { this = TStoreState(size_, preservesValue_) } - - override string toString() { result = "StoreState(" + size_ + "," + preservesValue_ + ")" } - - predicate decode(int size, boolean preservesValue) { - size = size_ and preservesValue = preservesValue_ - } - } - - /** A flow state representing that content has been read from. */ - private class ReadState extends State, TReadState { - private boolean preservesValue_; - private int size_; - - ReadState() { this = TReadState(size_, preservesValue_) } - - override string toString() { result = "ReadState(" + size_ + "," + preservesValue_ + ")" } - - predicate decode(int size, boolean preservesValue) { - size = size_ and preservesValue = preservesValue_ - } - } - - private predicate storeStep( - DataFlow::Node node1, State state1, DataFlow::ContentSet c, DataFlow::Node node2, - StoreState state2 - ) { - exists(boolean preservesValue, int size | - storeSet(node1, c, node2, _, _) and - ContentConfig::isRelevantContent(c) and - state2.decode(size + 1, preservesValue) - | - state1.(InitState).decode(preservesValue) and size = 0 - or - state1.(ReadState).decode(_, preservesValue) and size = 0 - or - state1.(StoreState).decode(size, preservesValue) - ) - } - - private predicate readStep( - DataFlow::Node node1, State state1, DataFlow::ContentSet c, DataFlow::Node node2, - ReadState state2 - ) { - exists(int size | - readSet(node1, c, node2) and - ContentConfig::isRelevantContent(c) and - state2.decode(size + 1, true) - | - state1.(InitState).decode(true) and - size = 0 - or - state1.(ReadState).decode(size, true) - ) - } - - private predicate additionalStep( - DataFlow::Node node1, State state1, DataFlow::Node node2, State state2 - ) { - ContentConfig::isAdditionalFlowStep(node1, node2) and - ( - state1 instanceof InitState and - state2.(InitState).decode(false) - or - exists(int size | - state1.(ReadState).decode(size, _) and - state2.(ReadState).decode(size, false) - ) - ) - } - - private newtype TAccessPath = - TAccessPathNil() or - TAccessPathCons(DataFlow::ContentSet head, AccessPath tail) { - nodeReachesStore(_, _, _, _, head, _, tail) - or - nodeReachesRead(_, _, _, _, head, tail, _) - } - - /** An access path. */ - class AccessPath extends TAccessPath { - /** Gets the head of this access path, if any. */ - DataFlow::ContentSet getHead() { this = TAccessPathCons(result, _) } - - /** Gets the tail of this access path, if any. */ - AccessPath getTail() { this = TAccessPathCons(_, result) } - - /** - * Gets a textual representation of this access path. - * - * Elements are dot-separated, and the head of the stack is - * rendered first. - */ - string toString() { - this = TAccessPathNil() and - result = "" - or - exists(DataFlow::ContentSet head, AccessPath tail | - this = TAccessPathCons(head, tail) and - result = head + "." + tail - ) - } - } - - /** - * Provides a big-step flow relation, where flow stops at read/store steps that - * must be recorded, and flow via `subpaths` such that reads/stores inside - * summarized callables can be recorded as well. - */ - private module BigStepFlow { - private predicate reachesSink(Flow::PathNode node) { - FlowConfig::isSink(node.getNode(), node.getState()) - or - reachesSink(node.getASuccessor()) - } - - /** - * Holds if the flow step `pred -> succ` should not be allowed to be included - * in the big-step relation. - */ - pragma[nomagic] - private predicate excludeStep(Flow::PathNode pred, Flow::PathNode succ) { - pred.getASuccessor() = succ and - ( - // we need to record reads/stores inside summarized callables - Flow::PathGraph::subpaths(pred, _, _, succ) - or - // only allow flow into a summarized callable, as part of the big-step - // relation, when flow can reach a sink without going back out - Flow::PathGraph::subpaths(pred, succ, _, _) and - not reachesSink(succ) - or - // needed to record store steps - storeStep(pred.getNode(), pred.getState(), _, succ.getNode(), succ.getState()) - or - // needed to record read steps - readStep(pred.getNode(), pred.getState(), _, succ.getNode(), succ.getState()) - ) - } - - pragma[nomagic] - private DataFlowCallable getEnclosingCallableImpl(Flow::PathNode node) { - result = getNodeEnclosingCallable(node.getNode()) - } - - pragma[inline] - private DataFlowCallable getEnclosingCallable(Flow::PathNode node) { - pragma[only_bind_into](result) = getEnclosingCallableImpl(pragma[only_bind_out](node)) - } - - pragma[nomagic] - private predicate bigStepEntry(Flow::PathNode node) { - ( - FlowConfig::isSource(node.getNode(), node.getState()) - or - excludeStep(_, node) - or - Flow::PathGraph::subpaths(_, node, _, _) - ) - } - - pragma[nomagic] - private predicate bigStepExit(Flow::PathNode node) { - ( - bigStepEntry(node) - or - FlowConfig::isSink(node.getNode(), node.getState()) - or - excludeStep(node, _) - or - Flow::PathGraph::subpaths(_, _, node, _) - ) - } - - pragma[nomagic] - private predicate step(Flow::PathNode pred, Flow::PathNode succ) { - pred.getASuccessor() = succ and - not excludeStep(pred, succ) - } - - pragma[nomagic] - private predicate stepRec(Flow::PathNode pred, Flow::PathNode succ) { - step(pred, succ) and - not bigStepEntry(pred) - } - - private predicate stepRecPlus(Flow::PathNode n1, Flow::PathNode n2) = fastTC(stepRec/2)(n1, n2) - - /** - * Holds if there is flow `pathSucc+(pred) = succ`, and such a flow path does - * not go through any reads/stores that need to be recorded, or summarized - * steps. - */ - pragma[nomagic] - private predicate bigStep(Flow::PathNode pred, Flow::PathNode succ) { - exists(Flow::PathNode mid | - bigStepEntry(pred) and - step(pred, mid) - | - succ = mid - or - stepRecPlus(mid, succ) - ) and - bigStepExit(succ) - } - - pragma[nomagic] - predicate bigStepNotLocal(Flow::PathNode pred, Flow::PathNode succ) { - bigStep(pred, succ) and - not getEnclosingCallable(pred) = getEnclosingCallable(succ) - } - - pragma[nomagic] - predicate bigStepMaybeLocal(Flow::PathNode pred, Flow::PathNode succ) { - bigStep(pred, succ) and - getEnclosingCallable(pred) = getEnclosingCallable(succ) - } - } - - /** - * Holds if `source` can reach `node`, having read `reads` from the source and - * written `stores` into `node`. - * - * `source` is either a source from a configuration, in which case `scReads` and - * `scStores` are always empty, or it is the parameter of a summarized callable, - * in which case `scReads` and `scStores` record the reads/stores for a summary - * context, that is, the reads/stores for an argument that can reach the parameter. - */ - pragma[nomagic] - private predicate nodeReaches( - Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode node, - AccessPath reads, AccessPath stores - ) { - node = source and - reads = scReads and - stores = scStores and - ( - Flow::flowPath(source, _) and - scReads = TAccessPathNil() and - scStores = TAccessPathNil() - or - // the argument in a sub path can be reached, so we start flow from the sub path - // parameter, while recording the read/store summary context - exists(Flow::PathNode arg | - nodeReachesSubpathArg(_, _, _, arg, scReads, scStores) and - Flow::PathGraph::subpaths(arg, source, _, _) - ) - ) - or - exists(Flow::PathNode mid | - nodeReaches(source, scReads, scStores, mid, reads, stores) and - BigStepFlow::bigStepMaybeLocal(mid, node) - ) - or - exists(Flow::PathNode mid | - nodeReaches(source, scReads, scStores, mid, reads, stores) and - BigStepFlow::bigStepNotLocal(mid, node) and - // when flow is not local, we cannot flow back out, so we may stop - // flow early when computing summary flow - Flow::flowPath(source, _) and - scReads = TAccessPathNil() and - scStores = TAccessPathNil() - ) - or - // store step - exists(AccessPath storesMid, DataFlow::ContentSet c | - nodeReachesStore(source, scReads, scStores, node, c, reads, storesMid) and - stores = TAccessPathCons(c, storesMid) - ) - or - // read step - exists(AccessPath readsMid, DataFlow::ContentSet c | - nodeReachesRead(source, scReads, scStores, node, c, readsMid, stores) and - reads = TAccessPathCons(c, readsMid) - ) - or - // flow-through step; match outer stores/reads with inner store/read summary contexts - exists(Flow::PathNode mid, AccessPath innerScReads, AccessPath innerScStores | - nodeReachesSubpathArg(source, scReads, scStores, mid, innerScReads, innerScStores) and - subpathArgReachesOut(mid, innerScReads, innerScStores, node, reads, stores) - ) - } - - pragma[nomagic] - private predicate nodeReachesStore( - Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode node, - DataFlow::ContentSet c, AccessPath reads, AccessPath stores - ) { - exists(Flow::PathNode mid | - nodeReaches(source, scReads, scStores, mid, reads, stores) and - storeStep(mid.getNode(), mid.getState(), c, node.getNode(), node.getState()) and - mid.getASuccessor() = node - ) - } - - pragma[nomagic] - private predicate nodeReachesRead( - Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode node, - DataFlow::ContentSet c, AccessPath reads, AccessPath stores - ) { - exists(Flow::PathNode mid | - nodeReaches(source, scReads, scStores, mid, reads, stores) and - readStep(mid.getNode(), mid.getState(), c, node.getNode(), node.getState()) and - mid.getASuccessor() = node - ) - } - - pragma[nomagic] - private predicate nodeReachesSubpathArg( - Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode arg, - AccessPath reads, AccessPath stores - ) { - nodeReaches(source, scReads, scStores, arg, reads, stores) and - Flow::PathGraph::subpaths(arg, _, _, _) - } - - pragma[nomagic] - private predicate subpathArgReachesOut( - Flow::PathNode arg, AccessPath scReads, AccessPath scStores, Flow::PathNode out, - AccessPath reads, AccessPath stores - ) { - exists(Flow::PathNode source, Flow::PathNode ret | - nodeReaches(source, scReads, scStores, ret, reads, stores) and - Flow::PathGraph::subpaths(arg, source, ret, out) - ) - } -} +private import semmle.code.csharp.Location +private import DataFlowImplSpecific +private import codeql.dataflow.internal.ContentDataFlowImpl +import MakeImplContentDataFlow From 19c2eb17c4088ca37fea1070b94517f063afe14b Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Fri, 23 Aug 2024 09:04:13 +0200 Subject: [PATCH 200/258] C#: Remove redundant imports. --- .../dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll | 2 -- 1 file changed, 2 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll index 18e44061967..a4d3e413625 100644 --- a/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll @@ -26,8 +26,6 @@ private import codeql.dataflow.DataFlow private import codeql.util.Boolean private import codeql.util.Location -private import DataFlowImpl -private import DataFlowImplCommon module MakeImplContentDataFlow Lang> { private import Lang From c3b36325b2b5d73b1527247c6aa80f6b77f78656 Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 22 Aug 2024 11:25:44 +0200 Subject: [PATCH 201/258] Shared: prevent use-use flow through implicit reads (part 1) --- .../codeql/dataflow/internal/DataFlowImpl.qll | 46 +++++++++++-------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 379a618dbdf..d290306ff35 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -173,6 +173,11 @@ module MakeImpl Lang> { Node asNode() { this = TNodeNormal(result) } + /** Gets the corresponding Node if this is a normal node or its post-implicit read node. */ + Node asNodeOrImplicitRead() { + this = TNodeNormal(result) or this = TNodeImplicitRead(result, true) + } + predicate isImplicitReadNode(Node n, boolean hasRead) { this = TNodeImplicitRead(n, hasRead) } ParameterNode asParamReturnNode() { this = TParamReturnNode(result, _) } @@ -241,6 +246,16 @@ module MakeImpl Lang> { ReturnKindExt getKind() { result = pos.getKind() } } + /** If `node` corresponds to a sink, gets the normal node for that sink. */ + pragma[nomagic] + private NodeEx toNormalSinkNodeEx(NodeEx node) { + exists(Node n | + node.asNodeOrImplicitRead() = n and + (Config::isSink(n) or Config::isSink(n, _)) and + result.asNode() = n + ) + } + private predicate inBarrier(NodeEx node) { exists(Node n | node.asNode() = n and @@ -260,7 +275,7 @@ module MakeImpl Lang> { private predicate outBarrier(NodeEx node) { exists(Node n | - node.asNode() = n and + node.asNodeOrImplicitRead() = n and Config::isBarrierOut(n) | Config::isSink(n, _) @@ -272,7 +287,7 @@ module MakeImpl Lang> { pragma[nomagic] private predicate outBarrier(NodeEx node, FlowState state) { exists(Node n | - node.asNode() = n and + node.asNodeOrImplicitRead() = n and Config::isBarrierOut(n, state) | Config::isSink(n, state) @@ -318,7 +333,7 @@ module MakeImpl Lang> { pragma[nomagic] private predicate sinkNodeWithState(NodeEx node, FlowState state) { - Config::isSink(node.asNode(), state) and + Config::isSink(node.asNodeOrImplicitRead(), state) and not fullBarrier(node) and not stateBarrier(node, state) } @@ -380,26 +395,19 @@ module MakeImpl Lang> { */ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, string model) { exists(Node n1, Node n2 | - node1.asNode() = n1 and + node1.asNodeOrImplicitRead() = n1 and node2.asNode() = n2 and Config::isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2), model) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2) ) - or - exists(Node n | - node1.isImplicitReadNode(n, true) and - node2.asNode() = n and - not fullBarrier(node2) and - model = "" - ) } private predicate additionalLocalStateStep( NodeEx node1, FlowState s1, NodeEx node2, FlowState s2 ) { exists(Node n1, Node n2 | - node1.asNode() = n1 and + node1.asNodeOrImplicitRead() = n1 and node2.asNode() = n2 and Config::isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and @@ -425,7 +433,7 @@ module MakeImpl Lang> { */ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, string model) { exists(Node n1, Node n2 | - node1.asNode() = n1 and + node1.asNodeOrImplicitRead() = n1 and node2.asNode() = n2 and Config::isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2), model) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and @@ -436,7 +444,7 @@ module MakeImpl Lang> { private predicate additionalJumpStateStep(NodeEx node1, FlowState s1, NodeEx node2, FlowState s2) { exists(Node n1, Node n2 | - node1.asNode() = n1 and + node1.asNodeOrImplicitRead() = n1 and node2.asNode() = n2 and Config::isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and @@ -729,7 +737,7 @@ module MakeImpl Lang> { additional predicate sinkNode(NodeEx node, FlowState state) { fwdFlow(node) and fwdFlowState(state) and - Config::isSink(node.asNode()) + Config::isSink(node.asNodeOrImplicitRead()) or fwdFlow(node) and fwdFlowState(state) and @@ -1052,7 +1060,7 @@ module MakeImpl Lang> { private predicate sinkModel(NodeEx node, string model) { sinkNode(node, _) and - exists(Node n | n = node.asNode() | + exists(Node n | n = node.asNodeOrImplicitRead() | knownSinkModel(n, model) or not knownSinkModel(n, _) and model = "" @@ -2549,7 +2557,7 @@ module MakeImpl Lang> { TPathNodeSink(NodeEx node, FlowState state) { exists(PathNodeMid sink | sink.isAtSink() and - node = sink.getNodeEx() and + node = toNormalSinkNodeEx(sink.getNodeEx()) and state = sink.getState() ) } or @@ -2772,7 +2780,7 @@ module MakeImpl Lang> { PathNodeSink projectToSink(string model) { this.isAtSink() and sinkModel(node, model) and - result.getNodeEx() = node and + result.getNodeEx() = toNormalSinkNodeEx(node) and result.getState() = state } } @@ -4851,7 +4859,7 @@ module MakeImpl Lang> { private predicate revSinkNode(NodeEx node, FlowState state) { sinkNodeWithState(node, state) or - Config::isSink(node.asNode()) and + Config::isSink(node.asNodeOrImplicitRead()) and relevantState(state) and not fullBarrier(node) and not stateBarrier(node, state) From 6bc8407bd60fcf215e6614247c3a0f005e1c7844 Mon Sep 17 00:00:00 2001 From: Asger F Date: Tue, 20 Aug 2024 14:14:30 +0200 Subject: [PATCH 202/258] Java: Update test output --- java/ql/test/library-tests/dataflow/implicit-read/A.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/ql/test/library-tests/dataflow/implicit-read/A.java b/java/ql/test/library-tests/dataflow/implicit-read/A.java index c845c7febe2..fbc4212b3b2 100644 --- a/java/ql/test/library-tests/dataflow/implicit-read/A.java +++ b/java/ql/test/library-tests/dataflow/implicit-read/A.java @@ -21,7 +21,7 @@ public class A { Object object = getA(); sink(step(object)); // $ hasTaintFlow=source - sink(object); // $ SPURIOUS: hasTaintFlow=source + sink(object); sink(((A)object).field); // $ hasTaintFlow=source } } From 9703f6779421dc3a1287bb4bdf62908342b0a40b Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 23 Aug 2024 11:03:26 +0200 Subject: [PATCH 203/258] Test output updates that only affect nodes/edges --- .../dataflow/summaries/test.expected | 6 --- .../dataflow/summaries/test.expected | 6 --- .../CWE-200/SensitiveAndroidFileLeak.expected | 4 +- .../apache-commons-lang3/flow.expected | 5 --- .../dataflow/taint/core/Taint.expected | 18 --------- .../Security/CWE-094/UnsafeJsEval.expected | 8 +--- .../CWE-321/HardcodedEncryptionKey.expected | 9 ----- .../Security/CWE-757/InsecureTLS.expected | 38 ------------------- 8 files changed, 3 insertions(+), 91 deletions(-) diff --git a/java/ql/test-kotlin1/library-tests/dataflow/summaries/test.expected b/java/ql/test-kotlin1/library-tests/dataflow/summaries/test.expected index 7f55b285880..84fdf028642 100644 --- a/java/ql/test-kotlin1/library-tests/dataflow/summaries/test.expected +++ b/java/ql/test-kotlin1/library-tests/dataflow/summaries/test.expected @@ -36,19 +36,14 @@ edges | apply.kt:6:28:6:41 | $this$apply : String | apply.kt:6:35:6:38 | this | provenance | | | apply.kt:7:14:7:25 | taint(...) : String | apply.kt:7:14:7:40 | apply(...) | provenance | MaD:31 | | list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:7:14:7:14 | l | provenance | | -| list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:8:14:8:14 | l : List | provenance | | | list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:8:14:8:14 | l : List [] : String | provenance | | | list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:9:19:9:19 | l : List [] : String | provenance | | -| list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:10:18:10:18 | s | provenance | | | list.kt:6:16:6:25 | taint(...) : String | list.kt:6:9:6:9 | l [post update] : List [] : String | provenance | MaD:27 | -| list.kt:8:14:8:14 | l : List | list.kt:8:14:8:17 | get(...) | provenance | MaD:26 | | list.kt:8:14:8:14 | l : List [] : String | list.kt:8:14:8:17 | get(...) | provenance | MaD:26 | | list.kt:9:19:9:19 | l : List [] : String | list.kt:10:18:10:18 | s | provenance | | | list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:14:14:14:14 | a | provenance | | | list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:15:14:15:14 | a : String[] [[]] : String | provenance | | -| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:15:14:15:17 | ...[...] | provenance | | | list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:16:19:16:19 | a : String[] [[]] : String | provenance | | -| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:17:18:17:18 | s | provenance | | | list.kt:13:25:13:34 | taint(...) : String | list.kt:13:17:13:40 | {...} : String[] [[]] : String | provenance | | | list.kt:15:14:15:14 | a : String[] [[]] : String | list.kt:15:14:15:17 | ...[...] | provenance | | | list.kt:16:19:16:19 | a : String[] [[]] : String | list.kt:17:18:17:18 | s | provenance | | @@ -134,7 +129,6 @@ nodes | list.kt:6:9:6:9 | l [post update] : List [] : String | semmle.label | l [post update] : List [] : String | | list.kt:6:16:6:25 | taint(...) : String | semmle.label | taint(...) : String | | list.kt:7:14:7:14 | l | semmle.label | l | -| list.kt:8:14:8:14 | l : List | semmle.label | l : List | | list.kt:8:14:8:14 | l : List [] : String | semmle.label | l : List [] : String | | list.kt:8:14:8:17 | get(...) | semmle.label | get(...) | | list.kt:9:19:9:19 | l : List [] : String | semmle.label | l : List [] : String | diff --git a/java/ql/test-kotlin2/library-tests/dataflow/summaries/test.expected b/java/ql/test-kotlin2/library-tests/dataflow/summaries/test.expected index 7f55b285880..84fdf028642 100644 --- a/java/ql/test-kotlin2/library-tests/dataflow/summaries/test.expected +++ b/java/ql/test-kotlin2/library-tests/dataflow/summaries/test.expected @@ -36,19 +36,14 @@ edges | apply.kt:6:28:6:41 | $this$apply : String | apply.kt:6:35:6:38 | this | provenance | | | apply.kt:7:14:7:25 | taint(...) : String | apply.kt:7:14:7:40 | apply(...) | provenance | MaD:31 | | list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:7:14:7:14 | l | provenance | | -| list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:8:14:8:14 | l : List | provenance | | | list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:8:14:8:14 | l : List [] : String | provenance | | | list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:9:19:9:19 | l : List [] : String | provenance | | -| list.kt:6:9:6:9 | l [post update] : List [] : String | list.kt:10:18:10:18 | s | provenance | | | list.kt:6:16:6:25 | taint(...) : String | list.kt:6:9:6:9 | l [post update] : List [] : String | provenance | MaD:27 | -| list.kt:8:14:8:14 | l : List | list.kt:8:14:8:17 | get(...) | provenance | MaD:26 | | list.kt:8:14:8:14 | l : List [] : String | list.kt:8:14:8:17 | get(...) | provenance | MaD:26 | | list.kt:9:19:9:19 | l : List [] : String | list.kt:10:18:10:18 | s | provenance | | | list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:14:14:14:14 | a | provenance | | | list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:15:14:15:14 | a : String[] [[]] : String | provenance | | -| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:15:14:15:17 | ...[...] | provenance | | | list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:16:19:16:19 | a : String[] [[]] : String | provenance | | -| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:17:18:17:18 | s | provenance | | | list.kt:13:25:13:34 | taint(...) : String | list.kt:13:17:13:40 | {...} : String[] [[]] : String | provenance | | | list.kt:15:14:15:14 | a : String[] [[]] : String | list.kt:15:14:15:17 | ...[...] | provenance | | | list.kt:16:19:16:19 | a : String[] [[]] : String | list.kt:17:18:17:18 | s | provenance | | @@ -134,7 +129,6 @@ nodes | list.kt:6:9:6:9 | l [post update] : List [] : String | semmle.label | l [post update] : List [] : String | | list.kt:6:16:6:25 | taint(...) : String | semmle.label | taint(...) : String | | list.kt:7:14:7:14 | l | semmle.label | l | -| list.kt:8:14:8:14 | l : List | semmle.label | l : List | | list.kt:8:14:8:14 | l : List [] : String | semmle.label | l : List [] : String | | list.kt:8:14:8:17 | get(...) | semmle.label | get(...) | | list.kt:9:19:9:19 | l : List [] : String | semmle.label | l : List [] : String | diff --git a/java/ql/test/experimental/query-tests/security/CWE-200/SensitiveAndroidFileLeak.expected b/java/ql/test/experimental/query-tests/security/CWE-200/SensitiveAndroidFileLeak.expected index f232f30d6b1..4282361f89e 100644 --- a/java/ql/test/experimental/query-tests/security/CWE-200/SensitiveAndroidFileLeak.expected +++ b/java/ql/test/experimental/query-tests/security/CWE-200/SensitiveAndroidFileLeak.expected @@ -6,8 +6,7 @@ edges | FileService.java:20:31:20:43 | intent : Intent | FileService.java:21:28:21:33 | intent : Intent | provenance | | | FileService.java:21:28:21:33 | intent : Intent | FileService.java:21:28:21:64 | getStringExtra(...) : String | provenance | MaD:2 | | FileService.java:21:28:21:64 | getStringExtra(...) : String | FileService.java:25:42:25:50 | localPath : String | provenance | | -| FileService.java:25:13:25:51 | makeParamsToExecute(...) : Object[] | FileService.java:40:41:40:55 | params : Object[] | provenance | Config | -| FileService.java:25:13:25:51 | makeParamsToExecute(...) : Object[] [[]] : String | FileService.java:25:13:25:51 | makeParamsToExecute(...) : Object[] | provenance | | +| FileService.java:25:13:25:51 | makeParamsToExecute(...) : Object[] [[]] : String | FileService.java:40:41:40:55 | params : Object[] | provenance | Config | | FileService.java:25:42:25:50 | localPath : String | FileService.java:25:13:25:51 | makeParamsToExecute(...) : Object[] [[]] : String | provenance | | | FileService.java:25:42:25:50 | localPath : String | FileService.java:32:13:32:28 | sourceUri : String | provenance | | | FileService.java:32:13:32:28 | sourceUri : String | FileService.java:35:17:35:25 | sourceUri : String | provenance | | @@ -33,7 +32,6 @@ nodes | FileService.java:20:31:20:43 | intent : Intent | semmle.label | intent : Intent | | FileService.java:21:28:21:33 | intent : Intent | semmle.label | intent : Intent | | FileService.java:21:28:21:64 | getStringExtra(...) : String | semmle.label | getStringExtra(...) : String | -| FileService.java:25:13:25:51 | makeParamsToExecute(...) : Object[] | semmle.label | makeParamsToExecute(...) : Object[] | | FileService.java:25:13:25:51 | makeParamsToExecute(...) : Object[] [[]] : String | semmle.label | makeParamsToExecute(...) : Object[] [[]] : String | | FileService.java:25:42:25:50 | localPath : String | semmle.label | localPath : String | | FileService.java:32:13:32:28 | sourceUri : String | semmle.label | sourceUri : String | diff --git a/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.expected b/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.expected index 93eaf02d839..5a5618355c0 100644 --- a/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.expected +++ b/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.expected @@ -745,12 +745,9 @@ edges | ArrayUtilsTest.java:68:27:68:57 | {...} : int[] [[]] : Number | ArrayUtilsTest.java:69:56:69:66 | taintedInts : int[] [[]] : Number | provenance | | | ArrayUtilsTest.java:68:39:68:55 | taint(...) : Number | ArrayUtilsTest.java:68:27:68:57 | {...} : int[] [[]] : Number | provenance | | | ArrayUtilsTest.java:69:36:69:67 | toObject(...) : Integer[] [[]] : Number | ArrayUtilsTest.java:70:12:70:27 | taintedBoxedInts | provenance | | -| ArrayUtilsTest.java:69:36:69:67 | toObject(...) : Integer[] [[]] : Number | ArrayUtilsTest.java:71:35:71:50 | taintedBoxedInts : Integer[] | provenance | | | ArrayUtilsTest.java:69:36:69:67 | toObject(...) : Integer[] [[]] : Number | ArrayUtilsTest.java:71:35:71:50 | taintedBoxedInts : Integer[] [[]] : Number | provenance | | | ArrayUtilsTest.java:69:56:69:66 | taintedInts : int[] [[]] : Number | ArrayUtilsTest.java:69:36:69:67 | toObject(...) : Integer[] [[]] : Number | provenance | MaD:53 | | ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) : int[] [[]] : Number | ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) | provenance | | -| ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) : int[] [[]] : Object | ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) | provenance | | -| ArrayUtilsTest.java:71:35:71:50 | taintedBoxedInts : Integer[] | ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) : int[] [[]] : Object | provenance | MaD:54 | | ArrayUtilsTest.java:71:35:71:50 | taintedBoxedInts : Integer[] [[]] : Number | ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) : int[] [[]] : Number | provenance | MaD:54 | | ArrayUtilsTest.java:72:12:72:70 | toPrimitive(...) : int[] [[]] : Number | ArrayUtilsTest.java:72:12:72:70 | toPrimitive(...) | provenance | | | ArrayUtilsTest.java:72:53:72:69 | taint(...) : Number | ArrayUtilsTest.java:72:12:72:70 | toPrimitive(...) : int[] [[]] : Number | provenance | MaD:55 | @@ -3434,8 +3431,6 @@ nodes | ArrayUtilsTest.java:70:12:70:27 | taintedBoxedInts | semmle.label | taintedBoxedInts | | ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) | semmle.label | toPrimitive(...) | | ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) : int[] [[]] : Number | semmle.label | toPrimitive(...) : int[] [[]] : Number | -| ArrayUtilsTest.java:71:12:71:51 | toPrimitive(...) : int[] [[]] : Object | semmle.label | toPrimitive(...) : int[] [[]] : Object | -| ArrayUtilsTest.java:71:35:71:50 | taintedBoxedInts : Integer[] | semmle.label | taintedBoxedInts : Integer[] | | ArrayUtilsTest.java:71:35:71:50 | taintedBoxedInts : Integer[] [[]] : Number | semmle.label | taintedBoxedInts : Integer[] [[]] : Number | | ArrayUtilsTest.java:72:12:72:70 | toPrimitive(...) | semmle.label | toPrimitive(...) | | ArrayUtilsTest.java:72:12:72:70 | toPrimitive(...) : int[] [[]] : Number | semmle.label | toPrimitive(...) : int[] [[]] : Number | diff --git a/swift/ql/test/library-tests/dataflow/taint/core/Taint.expected b/swift/ql/test/library-tests/dataflow/taint/core/Taint.expected index 00392ecb043..c1b21928881 100644 --- a/swift/ql/test/library-tests/dataflow/taint/core/Taint.expected +++ b/swift/ql/test/library-tests/dataflow/taint/core/Taint.expected @@ -9,18 +9,13 @@ edges | conversions.swift:37:19:37:29 | call to sourceInt() | conversions.swift:37:12:37:30 | call to String.init(_:) | provenance | | | conversions.swift:39:12:39:30 | [...] [Collection element] | conversions.swift:40:12:40:12 | arr | provenance | | | conversions.swift:39:12:39:30 | [...] [Collection element] | conversions.swift:41:12:41:12 | arr [Collection element] | provenance | | -| conversions.swift:39:12:39:30 | [...] [Collection element] | conversions.swift:41:12:41:17 | ...[...] | provenance | | -| conversions.swift:39:12:39:30 | [...] [Collection element] | conversions.swift:42:20:42:20 | arr | provenance | | | conversions.swift:39:12:39:30 | [...] [Collection element] | conversions.swift:42:20:42:20 | arr [Collection element] | provenance | | -| conversions.swift:39:12:39:30 | [...] [Collection element] | conversions.swift:43:20:43:20 | arr | provenance | | | conversions.swift:39:12:39:30 | [...] [Collection element] | conversions.swift:43:20:43:20 | arr [Collection element] | provenance | | | conversions.swift:39:19:39:29 | call to sourceInt() | conversions.swift:39:12:39:30 | [...] [Collection element] | provenance | | | conversions.swift:41:12:41:12 | arr [Collection element] | conversions.swift:41:12:41:17 | ...[...] | provenance | | | conversions.swift:42:12:42:23 | call to Array.init(_:) [Collection element] | conversions.swift:42:12:42:23 | call to Array.init(_:) | provenance | | -| conversions.swift:42:20:42:20 | arr | conversions.swift:42:12:42:23 | call to Array.init(_:) [Collection element] | provenance | | | conversions.swift:42:20:42:20 | arr [Collection element] | conversions.swift:42:12:42:23 | call to Array.init(_:) [Collection element] | provenance | | | conversions.swift:43:12:43:23 | call to Array.init(_:) [Collection element] | conversions.swift:43:12:43:26 | ...[...] | provenance | | -| conversions.swift:43:20:43:20 | arr | conversions.swift:43:12:43:23 | call to Array.init(_:) [Collection element] | provenance | | | conversions.swift:43:20:43:20 | arr [Collection element] | conversions.swift:43:12:43:23 | call to Array.init(_:) [Collection element] | provenance | | | conversions.swift:44:12:44:39 | call to Array.init(_:) [Collection element] | conversions.swift:44:12:44:39 | call to Array.init(_:) | provenance | | | conversions.swift:44:20:44:33 | call to sourceString() | conversions.swift:44:20:44:35 | .utf8 | provenance | | @@ -106,32 +101,23 @@ edges | conversions.swift:171:14:171:33 | call to sourceArray(_:) | conversions.swift:185:31:185:31 | arr1 | provenance | | | conversions.swift:172:14:172:26 | [...] [Collection element] | conversions.swift:174:13:174:13 | arr2 | provenance | | | conversions.swift:172:14:172:26 | [...] [Collection element] | conversions.swift:176:13:176:13 | arr2 [Collection element] | provenance | | -| conversions.swift:172:14:172:26 | [...] [Collection element] | conversions.swift:176:13:176:19 | ...[...] | provenance | | -| conversions.swift:172:14:172:26 | [...] [Collection element] | conversions.swift:179:25:179:25 | arr2 | provenance | | | conversions.swift:172:14:172:26 | [...] [Collection element] | conversions.swift:179:25:179:25 | arr2 [Collection element] | provenance | | -| conversions.swift:172:14:172:26 | [...] [Collection element] | conversions.swift:186:31:186:31 | arr2 | provenance | | | conversions.swift:172:14:172:26 | [...] [Collection element] | conversions.swift:186:31:186:31 | arr2 [Collection element] | provenance | | | conversions.swift:172:15:172:25 | call to sourceInt() | conversions.swift:172:14:172:26 | [...] [Collection element] | provenance | | | conversions.swift:176:13:176:13 | arr2 [Collection element] | conversions.swift:176:13:176:19 | ...[...] | provenance | | | conversions.swift:178:19:178:29 | call to Array.init(_:) [Collection element] | conversions.swift:180:13:180:13 | arr1b | provenance | | | conversions.swift:178:19:178:29 | call to Array.init(_:) [Collection element] | conversions.swift:182:13:182:13 | arr1b [Collection element] | provenance | | -| conversions.swift:178:19:178:29 | call to Array.init(_:) [Collection element] | conversions.swift:182:13:182:20 | ...[...] | provenance | | | conversions.swift:178:25:178:25 | arr1 | conversions.swift:178:19:178:29 | call to Array.init(_:) [Collection element] | provenance | | | conversions.swift:179:19:179:29 | call to Array.init(_:) [Collection element] | conversions.swift:181:13:181:13 | arr2b | provenance | | | conversions.swift:179:19:179:29 | call to Array.init(_:) [Collection element] | conversions.swift:183:13:183:13 | arr2b [Collection element] | provenance | | -| conversions.swift:179:19:179:29 | call to Array.init(_:) [Collection element] | conversions.swift:183:13:183:20 | ...[...] | provenance | | -| conversions.swift:179:25:179:25 | arr2 | conversions.swift:179:19:179:29 | call to Array.init(_:) [Collection element] | provenance | | | conversions.swift:179:25:179:25 | arr2 [Collection element] | conversions.swift:179:19:179:29 | call to Array.init(_:) [Collection element] | provenance | | | conversions.swift:182:13:182:13 | arr1b [Collection element] | conversions.swift:182:13:182:20 | ...[...] | provenance | | | conversions.swift:183:13:183:13 | arr2b [Collection element] | conversions.swift:183:13:183:20 | ...[...] | provenance | | | conversions.swift:185:15:185:35 | call to ContiguousArray.init(_:) [Collection element] | conversions.swift:187:13:187:13 | arr1c | provenance | | | conversions.swift:185:15:185:35 | call to ContiguousArray.init(_:) [Collection element] | conversions.swift:189:13:189:13 | arr1c [Collection element] | provenance | | -| conversions.swift:185:15:185:35 | call to ContiguousArray.init(_:) [Collection element] | conversions.swift:189:13:189:20 | ...[...] | provenance | | | conversions.swift:185:31:185:31 | arr1 | conversions.swift:185:15:185:35 | call to ContiguousArray.init(_:) [Collection element] | provenance | | | conversions.swift:186:15:186:35 | call to ContiguousArray.init(_:) [Collection element] | conversions.swift:188:13:188:13 | arr2c | provenance | | | conversions.swift:186:15:186:35 | call to ContiguousArray.init(_:) [Collection element] | conversions.swift:190:13:190:13 | arr2c [Collection element] | provenance | | -| conversions.swift:186:15:186:35 | call to ContiguousArray.init(_:) [Collection element] | conversions.swift:190:13:190:20 | ...[...] | provenance | | -| conversions.swift:186:31:186:31 | arr2 | conversions.swift:186:15:186:35 | call to ContiguousArray.init(_:) [Collection element] | provenance | | | conversions.swift:186:31:186:31 | arr2 [Collection element] | conversions.swift:186:15:186:35 | call to ContiguousArray.init(_:) [Collection element] | provenance | | | conversions.swift:189:13:189:13 | arr1c [Collection element] | conversions.swift:189:13:189:20 | ...[...] | provenance | | | conversions.swift:190:13:190:13 | arr2c [Collection element] | conversions.swift:190:13:190:20 | ...[...] | provenance | | @@ -277,11 +263,9 @@ nodes | conversions.swift:41:12:41:17 | ...[...] | semmle.label | ...[...] | | conversions.swift:42:12:42:23 | call to Array.init(_:) | semmle.label | call to Array.init(_:) | | conversions.swift:42:12:42:23 | call to Array.init(_:) [Collection element] | semmle.label | call to Array.init(_:) [Collection element] | -| conversions.swift:42:20:42:20 | arr | semmle.label | arr | | conversions.swift:42:20:42:20 | arr [Collection element] | semmle.label | arr [Collection element] | | conversions.swift:43:12:43:23 | call to Array.init(_:) [Collection element] | semmle.label | call to Array.init(_:) [Collection element] | | conversions.swift:43:12:43:26 | ...[...] | semmle.label | ...[...] | -| conversions.swift:43:20:43:20 | arr | semmle.label | arr | | conversions.swift:43:20:43:20 | arr [Collection element] | semmle.label | arr [Collection element] | | conversions.swift:44:12:44:39 | call to Array.init(_:) | semmle.label | call to Array.init(_:) | | conversions.swift:44:12:44:39 | call to Array.init(_:) [Collection element] | semmle.label | call to Array.init(_:) [Collection element] | @@ -409,7 +393,6 @@ nodes | conversions.swift:178:19:178:29 | call to Array.init(_:) [Collection element] | semmle.label | call to Array.init(_:) [Collection element] | | conversions.swift:178:25:178:25 | arr1 | semmle.label | arr1 | | conversions.swift:179:19:179:29 | call to Array.init(_:) [Collection element] | semmle.label | call to Array.init(_:) [Collection element] | -| conversions.swift:179:25:179:25 | arr2 | semmle.label | arr2 | | conversions.swift:179:25:179:25 | arr2 [Collection element] | semmle.label | arr2 [Collection element] | | conversions.swift:180:13:180:13 | arr1b | semmle.label | arr1b | | conversions.swift:181:13:181:13 | arr2b | semmle.label | arr2b | @@ -420,7 +403,6 @@ nodes | conversions.swift:185:15:185:35 | call to ContiguousArray.init(_:) [Collection element] | semmle.label | call to ContiguousArray.init(_:) [Collection element] | | conversions.swift:185:31:185:31 | arr1 | semmle.label | arr1 | | conversions.swift:186:15:186:35 | call to ContiguousArray.init(_:) [Collection element] | semmle.label | call to ContiguousArray.init(_:) [Collection element] | -| conversions.swift:186:31:186:31 | arr2 | semmle.label | arr2 | | conversions.swift:186:31:186:31 | arr2 [Collection element] | semmle.label | arr2 [Collection element] | | conversions.swift:187:13:187:13 | arr1c | semmle.label | arr1c | | conversions.swift:188:13:188:13 | arr2c | semmle.label | arr2c | diff --git a/swift/ql/test/query-tests/Security/CWE-094/UnsafeJsEval.expected b/swift/ql/test/query-tests/Security/CWE-094/UnsafeJsEval.expected index 835a6a5706e..cfd68d818ef 100644 --- a/swift/ql/test/query-tests/Security/CWE-094/UnsafeJsEval.expected +++ b/swift/ql/test/query-tests/Security/CWE-094/UnsafeJsEval.expected @@ -41,16 +41,14 @@ edges | UnsafeJsEval.swift:286:51:286:51 | stringBytes [Collection element] | UnsafeJsEval.swift:287:60:287:60 | stringBytes [Collection element] | provenance | | | UnsafeJsEval.swift:287:16:287:98 | call to JSStringRetain(_:) | UnsafeJsEval.swift:291:17:291:17 | jsstr | provenance | | | UnsafeJsEval.swift:287:31:287:97 | call to JSStringCreateWithCharacters(_:_:) | UnsafeJsEval.swift:287:16:287:98 | call to JSStringRetain(_:) | provenance | | -| UnsafeJsEval.swift:287:60:287:60 | stringBytes | UnsafeJsEval.swift:287:60:287:72 | .baseAddress | provenance | Config | -| UnsafeJsEval.swift:287:60:287:60 | stringBytes [Collection element] | UnsafeJsEval.swift:287:60:287:60 | stringBytes | provenance | | +| UnsafeJsEval.swift:287:60:287:60 | stringBytes [Collection element] | UnsafeJsEval.swift:287:60:287:72 | .baseAddress | provenance | Config | | UnsafeJsEval.swift:287:60:287:72 | .baseAddress | UnsafeJsEval.swift:287:31:287:97 | call to JSStringCreateWithCharacters(_:_:) | provenance | | | UnsafeJsEval.swift:299:13:299:13 | string | UnsafeJsEval.swift:300:3:300:10 | .utf8CString | provenance | | | UnsafeJsEval.swift:300:3:300:10 | .utf8CString | UnsafeJsEval.swift:300:48:300:48 | stringBytes [Collection element] | provenance | | | UnsafeJsEval.swift:300:48:300:48 | stringBytes [Collection element] | UnsafeJsEval.swift:301:61:301:61 | stringBytes [Collection element] | provenance | | | UnsafeJsEval.swift:301:16:301:85 | call to JSStringRetain(_:) | UnsafeJsEval.swift:305:17:305:17 | jsstr | provenance | | | UnsafeJsEval.swift:301:31:301:84 | call to JSStringCreateWithUTF8CString(_:) | UnsafeJsEval.swift:301:16:301:85 | call to JSStringRetain(_:) | provenance | | -| UnsafeJsEval.swift:301:61:301:61 | stringBytes | UnsafeJsEval.swift:301:61:301:73 | .baseAddress | provenance | Config | -| UnsafeJsEval.swift:301:61:301:61 | stringBytes [Collection element] | UnsafeJsEval.swift:301:61:301:61 | stringBytes | provenance | | +| UnsafeJsEval.swift:301:61:301:61 | stringBytes [Collection element] | UnsafeJsEval.swift:301:61:301:73 | .baseAddress | provenance | Config | | UnsafeJsEval.swift:301:61:301:73 | .baseAddress | UnsafeJsEval.swift:301:31:301:84 | call to JSStringCreateWithUTF8CString(_:) | provenance | | | UnsafeJsEval.swift:318:24:318:87 | call to String.init(contentsOf:) | UnsafeJsEval.swift:320:44:320:74 | ... .+(_:_:) ... | provenance | | nodes @@ -80,7 +78,6 @@ nodes | UnsafeJsEval.swift:286:51:286:51 | stringBytes [Collection element] | semmle.label | stringBytes [Collection element] | | UnsafeJsEval.swift:287:16:287:98 | call to JSStringRetain(_:) | semmle.label | call to JSStringRetain(_:) | | UnsafeJsEval.swift:287:31:287:97 | call to JSStringCreateWithCharacters(_:_:) | semmle.label | call to JSStringCreateWithCharacters(_:_:) | -| UnsafeJsEval.swift:287:60:287:60 | stringBytes | semmle.label | stringBytes | | UnsafeJsEval.swift:287:60:287:60 | stringBytes [Collection element] | semmle.label | stringBytes [Collection element] | | UnsafeJsEval.swift:287:60:287:72 | .baseAddress | semmle.label | .baseAddress | | UnsafeJsEval.swift:291:17:291:17 | jsstr | semmle.label | jsstr | @@ -89,7 +86,6 @@ nodes | UnsafeJsEval.swift:300:48:300:48 | stringBytes [Collection element] | semmle.label | stringBytes [Collection element] | | UnsafeJsEval.swift:301:16:301:85 | call to JSStringRetain(_:) | semmle.label | call to JSStringRetain(_:) | | UnsafeJsEval.swift:301:31:301:84 | call to JSStringCreateWithUTF8CString(_:) | semmle.label | call to JSStringCreateWithUTF8CString(_:) | -| UnsafeJsEval.swift:301:61:301:61 | stringBytes | semmle.label | stringBytes | | UnsafeJsEval.swift:301:61:301:61 | stringBytes [Collection element] | semmle.label | stringBytes [Collection element] | | UnsafeJsEval.swift:301:61:301:73 | .baseAddress | semmle.label | .baseAddress | | UnsafeJsEval.swift:305:17:305:17 | jsstr | semmle.label | jsstr | diff --git a/swift/ql/test/query-tests/Security/CWE-321/HardcodedEncryptionKey.expected b/swift/ql/test/query-tests/Security/CWE-321/HardcodedEncryptionKey.expected index 0d8a259fe90..544431cfb4f 100644 --- a/swift/ql/test/query-tests/Security/CWE-321/HardcodedEncryptionKey.expected +++ b/swift/ql/test/query-tests/Security/CWE-321/HardcodedEncryptionKey.expected @@ -26,10 +26,7 @@ edges | cryptoswift.swift:94:18:94:36 | call to getConstantString() | cryptoswift.swift:155:26:155:26 | keyString | provenance | | | cryptoswift.swift:94:18:94:36 | call to getConstantString() | cryptoswift.swift:164:24:164:24 | keyString | provenance | | | cryptoswift.swift:94:18:94:36 | call to getConstantString() | cryptoswift.swift:166:24:166:24 | keyString | provenance | | -| file://:0:0:0:0 | [post] self | misc.swift:30:7:30:7 | self [Return] | provenance | | | file://:0:0:0:0 | [post] self [encryptionKey] | file://:0:0:0:0 | [post] self | provenance | | -| file://:0:0:0:0 | [post] self [encryptionKey] | file://:0:0:0:0 | [post] self | provenance | | -| file://:0:0:0:0 | [post] self [encryptionKey] | misc.swift:30:7:30:7 | self [Return] | provenance | | | file://:0:0:0:0 | [post] self [encryptionKey] | misc.swift:30:7:30:7 | self [Return] [encryptionKey] | provenance | | | file://:0:0:0:0 | value | file://:0:0:0:0 | [post] self [encryptionKey] | provenance | | | grdb.swift:21:20:21:20 | abc123 | grdb.swift:27:23:27:23 | constString | provenance | | @@ -45,11 +42,9 @@ edges | misc.swift:57:24:57:24 | abcdef123456 | misc.swift:57:19:57:38 | call to Data.init(_:) | provenance | | | misc.swift:66:2:66:2 | [post] config [encryptionKey] | misc.swift:66:2:66:2 | [post] config | provenance | | | misc.swift:66:25:66:25 | myConstKey | misc.swift:30:7:30:7 | value | provenance | | -| misc.swift:66:25:66:25 | myConstKey | misc.swift:66:2:66:2 | [post] config | provenance | | | misc.swift:66:25:66:25 | myConstKey | misc.swift:66:2:66:2 | [post] config [encryptionKey] | provenance | | | misc.swift:70:2:70:18 | [post] getter for .config [encryptionKey] | misc.swift:70:2:70:18 | [post] getter for .config | provenance | | | misc.swift:70:41:70:41 | myConstKey | misc.swift:30:7:30:7 | value | provenance | | -| misc.swift:70:41:70:41 | myConstKey | misc.swift:70:2:70:18 | [post] getter for .config | provenance | | | misc.swift:70:41:70:41 | myConstKey | misc.swift:70:2:70:18 | [post] getter for .config [encryptionKey] | provenance | | | misc.swift:73:14:73:20 | k1 | misc.swift:76:26:76:29 | .utf8 | provenance | | | misc.swift:73:28:73:34 | k2 | misc.swift:77:26:77:29 | .utf8 | provenance | | @@ -117,7 +112,6 @@ nodes | cryptoswift.swift:165:24:165:24 | key | semmle.label | key | | cryptoswift.swift:166:24:166:24 | keyString | semmle.label | keyString | | file://:0:0:0:0 | [post] self | semmle.label | [post] self | -| file://:0:0:0:0 | [post] self | semmle.label | [post] self | | file://:0:0:0:0 | [post] self [encryptionKey] | semmle.label | [post] self [encryptionKey] | | file://:0:0:0:0 | value | semmle.label | value | | grdb.swift:21:20:21:20 | abc123 | semmle.label | abc123 | @@ -128,7 +122,6 @@ nodes | grdb.swift:29:23:29:23 | constData | semmle.label | constData | | grdb.swift:31:26:31:26 | constString | semmle.label | constString | | grdb.swift:33:26:33:26 | constData | semmle.label | constData | -| misc.swift:30:7:30:7 | self [Return] | semmle.label | self [Return] | | misc.swift:30:7:30:7 | self [Return] [encryptionKey] | semmle.label | self [Return] [encryptionKey] | | misc.swift:30:7:30:7 | value | semmle.label | value | | misc.swift:57:19:57:38 | call to Data.init(_:) | semmle.label | call to Data.init(_:) | @@ -175,9 +168,7 @@ nodes | sqlite3_c_api.swift:49:36:49:36 | buffer | semmle.label | buffer | | sqlite3_c_api.swift:50:38:50:38 | buffer | semmle.label | buffer | subpaths -| misc.swift:66:25:66:25 | myConstKey | misc.swift:30:7:30:7 | value | misc.swift:30:7:30:7 | self [Return] | misc.swift:66:2:66:2 | [post] config | | misc.swift:66:25:66:25 | myConstKey | misc.swift:30:7:30:7 | value | misc.swift:30:7:30:7 | self [Return] [encryptionKey] | misc.swift:66:2:66:2 | [post] config [encryptionKey] | -| misc.swift:70:41:70:41 | myConstKey | misc.swift:30:7:30:7 | value | misc.swift:30:7:30:7 | self [Return] | misc.swift:70:2:70:18 | [post] getter for .config | | misc.swift:70:41:70:41 | myConstKey | misc.swift:30:7:30:7 | value | misc.swift:30:7:30:7 | self [Return] [encryptionKey] | misc.swift:70:2:70:18 | [post] getter for .config [encryptionKey] | #select | SQLite.swift:43:13:43:13 | hardcoded_key | SQLite.swift:43:13:43:13 | hardcoded_key | SQLite.swift:43:13:43:13 | hardcoded_key | The key 'hardcoded_key' has been initialized with hard-coded values from $@. | SQLite.swift:43:13:43:13 | hardcoded_key | hardcoded_key | diff --git a/swift/ql/test/query-tests/Security/CWE-757/InsecureTLS.expected b/swift/ql/test/query-tests/Security/CWE-757/InsecureTLS.expected index 267c16ae53b..f463e8d939b 100644 --- a/swift/ql/test/query-tests/Security/CWE-757/InsecureTLS.expected +++ b/swift/ql/test/query-tests/Security/CWE-757/InsecureTLS.expected @@ -5,33 +5,26 @@ edges | InsecureTLS.swift:23:7:23:7 | value | file://:0:0:0:0 | value | provenance | | | InsecureTLS.swift:40:3:40:3 | [post] config [tlsMinimumSupportedProtocolVersion] | InsecureTLS.swift:40:3:40:3 | [post] config | provenance | | | InsecureTLS.swift:40:47:40:70 | .TLSv10 | InsecureTLS.swift:19:7:19:7 | value | provenance | | -| InsecureTLS.swift:40:47:40:70 | .TLSv10 | InsecureTLS.swift:40:3:40:3 | [post] config | provenance | | | InsecureTLS.swift:40:47:40:70 | .TLSv10 | InsecureTLS.swift:40:3:40:3 | [post] config [tlsMinimumSupportedProtocolVersion] | provenance | | | InsecureTLS.swift:45:3:45:3 | [post] config [tlsMinimumSupportedProtocolVersion] | InsecureTLS.swift:45:3:45:3 | [post] config | provenance | | | InsecureTLS.swift:45:47:45:70 | .TLSv11 | InsecureTLS.swift:19:7:19:7 | value | provenance | | -| InsecureTLS.swift:45:47:45:70 | .TLSv11 | InsecureTLS.swift:45:3:45:3 | [post] config | provenance | | | InsecureTLS.swift:45:47:45:70 | .TLSv11 | InsecureTLS.swift:45:3:45:3 | [post] config [tlsMinimumSupportedProtocolVersion] | provenance | | | InsecureTLS.swift:57:3:57:3 | [post] config [tlsMaximumSupportedProtocolVersion] | InsecureTLS.swift:57:3:57:3 | [post] config | provenance | | | InsecureTLS.swift:57:47:57:70 | .TLSv10 | InsecureTLS.swift:20:7:20:7 | value | provenance | | -| InsecureTLS.swift:57:47:57:70 | .TLSv10 | InsecureTLS.swift:57:3:57:3 | [post] config | provenance | | | InsecureTLS.swift:57:47:57:70 | .TLSv10 | InsecureTLS.swift:57:3:57:3 | [post] config [tlsMaximumSupportedProtocolVersion] | provenance | | | InsecureTLS.swift:64:3:64:3 | [post] config [tlsMinimumSupportedProtocol] | InsecureTLS.swift:64:3:64:3 | [post] config | provenance | | | InsecureTLS.swift:64:40:64:52 | .tlsProtocol10 | InsecureTLS.swift:22:7:22:7 | value | provenance | | -| InsecureTLS.swift:64:40:64:52 | .tlsProtocol10 | InsecureTLS.swift:64:3:64:3 | [post] config | provenance | | | InsecureTLS.swift:64:40:64:52 | .tlsProtocol10 | InsecureTLS.swift:64:3:64:3 | [post] config [tlsMinimumSupportedProtocol] | provenance | | | InsecureTLS.swift:76:3:76:3 | [post] config [tlsMaximumSupportedProtocol] | InsecureTLS.swift:76:3:76:3 | [post] config | provenance | | | InsecureTLS.swift:76:40:76:52 | .tlsProtocol10 | InsecureTLS.swift:23:7:23:7 | value | provenance | | -| InsecureTLS.swift:76:40:76:52 | .tlsProtocol10 | InsecureTLS.swift:76:3:76:3 | [post] config | provenance | | | InsecureTLS.swift:76:40:76:52 | .tlsProtocol10 | InsecureTLS.swift:76:3:76:3 | [post] config [tlsMaximumSupportedProtocol] | provenance | | | InsecureTLS.swift:102:10:102:33 | .TLSv10 | InsecureTLS.swift:111:47:111:64 | call to getBadTLSVersion() | provenance | | | InsecureTLS.swift:111:3:111:3 | [post] config [tlsMinimumSupportedProtocolVersion] | InsecureTLS.swift:111:3:111:3 | [post] config | provenance | | | InsecureTLS.swift:111:47:111:64 | call to getBadTLSVersion() | InsecureTLS.swift:19:7:19:7 | value | provenance | | -| InsecureTLS.swift:111:47:111:64 | call to getBadTLSVersion() | InsecureTLS.swift:111:3:111:3 | [post] config | provenance | | | InsecureTLS.swift:111:47:111:64 | call to getBadTLSVersion() | InsecureTLS.swift:111:3:111:3 | [post] config [tlsMinimumSupportedProtocolVersion] | provenance | | | InsecureTLS.swift:121:55:121:66 | version | InsecureTLS.swift:122:47:122:47 | version | provenance | | | InsecureTLS.swift:122:3:122:3 | [post] config [tlsMinimumSupportedProtocolVersion] | InsecureTLS.swift:122:3:122:3 | [post] config | provenance | | | InsecureTLS.swift:122:47:122:47 | version | InsecureTLS.swift:19:7:19:7 | value | provenance | | -| InsecureTLS.swift:122:47:122:47 | version | InsecureTLS.swift:122:3:122:3 | [post] config | provenance | | | InsecureTLS.swift:122:47:122:47 | version | InsecureTLS.swift:122:3:122:3 | [post] config [tlsMinimumSupportedProtocolVersion] | provenance | | | InsecureTLS.swift:127:25:127:48 | .TLSv11 | InsecureTLS.swift:121:55:121:66 | version | provenance | | | InsecureTLS.swift:158:7:158:7 | self [TLSVersion] | file://:0:0:0:0 | self [TLSVersion] | provenance | | @@ -43,11 +36,9 @@ edges | InsecureTLS.swift:165:47:165:47 | def [TLSVersion] | InsecureTLS.swift:158:7:158:7 | self [TLSVersion] | provenance | | | InsecureTLS.swift:165:47:165:47 | def [TLSVersion] | InsecureTLS.swift:165:47:165:51 | .TLSVersion | provenance | | | InsecureTLS.swift:165:47:165:51 | .TLSVersion | InsecureTLS.swift:19:7:19:7 | value | provenance | | -| InsecureTLS.swift:165:47:165:51 | .TLSVersion | InsecureTLS.swift:165:3:165:3 | [post] config | provenance | | | InsecureTLS.swift:165:47:165:51 | .TLSVersion | InsecureTLS.swift:165:3:165:3 | [post] config [tlsMinimumSupportedProtocolVersion] | provenance | | | InsecureTLS.swift:181:3:181:9 | [post] getter for .config [tlsMinimumSupportedProtocolVersion] | InsecureTLS.swift:181:3:181:9 | [post] getter for .config | provenance | | | InsecureTLS.swift:181:53:181:76 | .TLSv10 | InsecureTLS.swift:19:7:19:7 | value | provenance | | -| InsecureTLS.swift:181:53:181:76 | .TLSv10 | InsecureTLS.swift:181:3:181:9 | [post] getter for .config | provenance | | | InsecureTLS.swift:181:53:181:76 | .TLSv10 | InsecureTLS.swift:181:3:181:9 | [post] getter for .config [tlsMinimumSupportedProtocolVersion] | provenance | | | InsecureTLS.swift:185:20:185:36 | withMinVersion | InsecureTLS.swift:187:42:187:42 | withMinVersion | provenance | | | InsecureTLS.swift:187:5:187:5 | [post] self [tlsMinimumSupportedProtocolVersion] | InsecureTLS.swift:187:5:187:5 | [post] self | provenance | | @@ -58,27 +49,15 @@ edges | InsecureTLS.swift:202:24:202:31 | [post] getter for .tlsMinimumSupportedProtocolVersion | InsecureTLS.swift:202:24:202:24 | [post] config [tlsMinimumSupportedProtocolVersion] | provenance | | | InsecureTLS.swift:202:74:202:97 | .TLSv10 | InsecureTLS.swift:196:56:196:63 | value | provenance | | | InsecureTLS.swift:202:74:202:97 | .TLSv10 | InsecureTLS.swift:202:24:202:31 | [post] getter for .tlsMinimumSupportedProtocolVersion | provenance | | -| file://:0:0:0:0 | [post] self | InsecureTLS.swift:19:7:19:7 | self [Return] | provenance | | -| file://:0:0:0:0 | [post] self | InsecureTLS.swift:20:7:20:7 | self [Return] | provenance | | -| file://:0:0:0:0 | [post] self | InsecureTLS.swift:22:7:22:7 | self [Return] | provenance | | -| file://:0:0:0:0 | [post] self | InsecureTLS.swift:23:7:23:7 | self [Return] | provenance | | | file://:0:0:0:0 | [post] self [TLSVersion] | InsecureTLS.swift:158:7:158:7 | self [Return] [TLSVersion] | provenance | | -| file://:0:0:0:0 | [post] self [tlsMaximumSupportedProtocolVersion] | InsecureTLS.swift:20:7:20:7 | self [Return] | provenance | | | file://:0:0:0:0 | [post] self [tlsMaximumSupportedProtocolVersion] | InsecureTLS.swift:20:7:20:7 | self [Return] [tlsMaximumSupportedProtocolVersion] | provenance | | | file://:0:0:0:0 | [post] self [tlsMaximumSupportedProtocolVersion] | file://:0:0:0:0 | [post] self | provenance | | -| file://:0:0:0:0 | [post] self [tlsMaximumSupportedProtocolVersion] | file://:0:0:0:0 | [post] self | provenance | | -| file://:0:0:0:0 | [post] self [tlsMaximumSupportedProtocol] | InsecureTLS.swift:23:7:23:7 | self [Return] | provenance | | | file://:0:0:0:0 | [post] self [tlsMaximumSupportedProtocol] | InsecureTLS.swift:23:7:23:7 | self [Return] [tlsMaximumSupportedProtocol] | provenance | | | file://:0:0:0:0 | [post] self [tlsMaximumSupportedProtocol] | file://:0:0:0:0 | [post] self | provenance | | -| file://:0:0:0:0 | [post] self [tlsMaximumSupportedProtocol] | file://:0:0:0:0 | [post] self | provenance | | -| file://:0:0:0:0 | [post] self [tlsMinimumSupportedProtocolVersion] | InsecureTLS.swift:19:7:19:7 | self [Return] | provenance | | | file://:0:0:0:0 | [post] self [tlsMinimumSupportedProtocolVersion] | InsecureTLS.swift:19:7:19:7 | self [Return] [tlsMinimumSupportedProtocolVersion] | provenance | | | file://:0:0:0:0 | [post] self [tlsMinimumSupportedProtocolVersion] | file://:0:0:0:0 | [post] self | provenance | | -| file://:0:0:0:0 | [post] self [tlsMinimumSupportedProtocolVersion] | file://:0:0:0:0 | [post] self | provenance | | -| file://:0:0:0:0 | [post] self [tlsMinimumSupportedProtocol] | InsecureTLS.swift:22:7:22:7 | self [Return] | provenance | | | file://:0:0:0:0 | [post] self [tlsMinimumSupportedProtocol] | InsecureTLS.swift:22:7:22:7 | self [Return] [tlsMinimumSupportedProtocol] | provenance | | | file://:0:0:0:0 | [post] self [tlsMinimumSupportedProtocol] | file://:0:0:0:0 | [post] self | provenance | | -| file://:0:0:0:0 | [post] self [tlsMinimumSupportedProtocol] | file://:0:0:0:0 | [post] self | provenance | | | file://:0:0:0:0 | self [TLSVersion] | file://:0:0:0:0 | .TLSVersion | provenance | | | file://:0:0:0:0 | value | file://:0:0:0:0 | [post] self [TLSVersion] | provenance | | | file://:0:0:0:0 | value | file://:0:0:0:0 | [post] self [tlsMaximumSupportedProtocolVersion] | provenance | | @@ -86,16 +65,12 @@ edges | file://:0:0:0:0 | value | file://:0:0:0:0 | [post] self [tlsMinimumSupportedProtocolVersion] | provenance | | | file://:0:0:0:0 | value | file://:0:0:0:0 | [post] self [tlsMinimumSupportedProtocol] | provenance | | nodes -| InsecureTLS.swift:19:7:19:7 | self [Return] | semmle.label | self [Return] | | InsecureTLS.swift:19:7:19:7 | self [Return] [tlsMinimumSupportedProtocolVersion] | semmle.label | self [Return] [tlsMinimumSupportedProtocolVersion] | | InsecureTLS.swift:19:7:19:7 | value | semmle.label | value | -| InsecureTLS.swift:20:7:20:7 | self [Return] | semmle.label | self [Return] | | InsecureTLS.swift:20:7:20:7 | self [Return] [tlsMaximumSupportedProtocolVersion] | semmle.label | self [Return] [tlsMaximumSupportedProtocolVersion] | | InsecureTLS.swift:20:7:20:7 | value | semmle.label | value | -| InsecureTLS.swift:22:7:22:7 | self [Return] | semmle.label | self [Return] | | InsecureTLS.swift:22:7:22:7 | self [Return] [tlsMinimumSupportedProtocol] | semmle.label | self [Return] [tlsMinimumSupportedProtocol] | | InsecureTLS.swift:22:7:22:7 | value | semmle.label | value | -| InsecureTLS.swift:23:7:23:7 | self [Return] | semmle.label | self [Return] | | InsecureTLS.swift:23:7:23:7 | self [Return] [tlsMaximumSupportedProtocol] | semmle.label | self [Return] [tlsMaximumSupportedProtocol] | | InsecureTLS.swift:23:7:23:7 | value | semmle.label | value | | InsecureTLS.swift:40:3:40:3 | [post] config | semmle.label | [post] config | @@ -150,10 +125,6 @@ nodes | file://:0:0:0:0 | [post] self | semmle.label | [post] self | | file://:0:0:0:0 | [post] self | semmle.label | [post] self | | file://:0:0:0:0 | [post] self | semmle.label | [post] self | -| file://:0:0:0:0 | [post] self | semmle.label | [post] self | -| file://:0:0:0:0 | [post] self | semmle.label | [post] self | -| file://:0:0:0:0 | [post] self | semmle.label | [post] self | -| file://:0:0:0:0 | [post] self | semmle.label | [post] self | | file://:0:0:0:0 | [post] self [TLSVersion] | semmle.label | [post] self [TLSVersion] | | file://:0:0:0:0 | [post] self [tlsMaximumSupportedProtocolVersion] | semmle.label | [post] self [tlsMaximumSupportedProtocolVersion] | | file://:0:0:0:0 | [post] self [tlsMaximumSupportedProtocol] | semmle.label | [post] self [tlsMaximumSupportedProtocol] | @@ -166,25 +137,16 @@ nodes | file://:0:0:0:0 | value | semmle.label | value | | file://:0:0:0:0 | value | semmle.label | value | subpaths -| InsecureTLS.swift:40:47:40:70 | .TLSv10 | InsecureTLS.swift:19:7:19:7 | value | InsecureTLS.swift:19:7:19:7 | self [Return] | InsecureTLS.swift:40:3:40:3 | [post] config | | InsecureTLS.swift:40:47:40:70 | .TLSv10 | InsecureTLS.swift:19:7:19:7 | value | InsecureTLS.swift:19:7:19:7 | self [Return] [tlsMinimumSupportedProtocolVersion] | InsecureTLS.swift:40:3:40:3 | [post] config [tlsMinimumSupportedProtocolVersion] | -| InsecureTLS.swift:45:47:45:70 | .TLSv11 | InsecureTLS.swift:19:7:19:7 | value | InsecureTLS.swift:19:7:19:7 | self [Return] | InsecureTLS.swift:45:3:45:3 | [post] config | | InsecureTLS.swift:45:47:45:70 | .TLSv11 | InsecureTLS.swift:19:7:19:7 | value | InsecureTLS.swift:19:7:19:7 | self [Return] [tlsMinimumSupportedProtocolVersion] | InsecureTLS.swift:45:3:45:3 | [post] config [tlsMinimumSupportedProtocolVersion] | -| InsecureTLS.swift:57:47:57:70 | .TLSv10 | InsecureTLS.swift:20:7:20:7 | value | InsecureTLS.swift:20:7:20:7 | self [Return] | InsecureTLS.swift:57:3:57:3 | [post] config | | InsecureTLS.swift:57:47:57:70 | .TLSv10 | InsecureTLS.swift:20:7:20:7 | value | InsecureTLS.swift:20:7:20:7 | self [Return] [tlsMaximumSupportedProtocolVersion] | InsecureTLS.swift:57:3:57:3 | [post] config [tlsMaximumSupportedProtocolVersion] | -| InsecureTLS.swift:64:40:64:52 | .tlsProtocol10 | InsecureTLS.swift:22:7:22:7 | value | InsecureTLS.swift:22:7:22:7 | self [Return] | InsecureTLS.swift:64:3:64:3 | [post] config | | InsecureTLS.swift:64:40:64:52 | .tlsProtocol10 | InsecureTLS.swift:22:7:22:7 | value | InsecureTLS.swift:22:7:22:7 | self [Return] [tlsMinimumSupportedProtocol] | InsecureTLS.swift:64:3:64:3 | [post] config [tlsMinimumSupportedProtocol] | -| InsecureTLS.swift:76:40:76:52 | .tlsProtocol10 | InsecureTLS.swift:23:7:23:7 | value | InsecureTLS.swift:23:7:23:7 | self [Return] | InsecureTLS.swift:76:3:76:3 | [post] config | | InsecureTLS.swift:76:40:76:52 | .tlsProtocol10 | InsecureTLS.swift:23:7:23:7 | value | InsecureTLS.swift:23:7:23:7 | self [Return] [tlsMaximumSupportedProtocol] | InsecureTLS.swift:76:3:76:3 | [post] config [tlsMaximumSupportedProtocol] | -| InsecureTLS.swift:111:47:111:64 | call to getBadTLSVersion() | InsecureTLS.swift:19:7:19:7 | value | InsecureTLS.swift:19:7:19:7 | self [Return] | InsecureTLS.swift:111:3:111:3 | [post] config | | InsecureTLS.swift:111:47:111:64 | call to getBadTLSVersion() | InsecureTLS.swift:19:7:19:7 | value | InsecureTLS.swift:19:7:19:7 | self [Return] [tlsMinimumSupportedProtocolVersion] | InsecureTLS.swift:111:3:111:3 | [post] config [tlsMinimumSupportedProtocolVersion] | -| InsecureTLS.swift:122:47:122:47 | version | InsecureTLS.swift:19:7:19:7 | value | InsecureTLS.swift:19:7:19:7 | self [Return] | InsecureTLS.swift:122:3:122:3 | [post] config | | InsecureTLS.swift:122:47:122:47 | version | InsecureTLS.swift:19:7:19:7 | value | InsecureTLS.swift:19:7:19:7 | self [Return] [tlsMinimumSupportedProtocolVersion] | InsecureTLS.swift:122:3:122:3 | [post] config [tlsMinimumSupportedProtocolVersion] | | InsecureTLS.swift:163:20:163:43 | .TLSv10 | InsecureTLS.swift:158:7:158:7 | value | InsecureTLS.swift:158:7:158:7 | self [Return] [TLSVersion] | InsecureTLS.swift:163:3:163:3 | [post] def [TLSVersion] | | InsecureTLS.swift:165:47:165:47 | def [TLSVersion] | InsecureTLS.swift:158:7:158:7 | self [TLSVersion] | file://:0:0:0:0 | .TLSVersion | InsecureTLS.swift:165:47:165:51 | .TLSVersion | -| InsecureTLS.swift:165:47:165:51 | .TLSVersion | InsecureTLS.swift:19:7:19:7 | value | InsecureTLS.swift:19:7:19:7 | self [Return] | InsecureTLS.swift:165:3:165:3 | [post] config | | InsecureTLS.swift:165:47:165:51 | .TLSVersion | InsecureTLS.swift:19:7:19:7 | value | InsecureTLS.swift:19:7:19:7 | self [Return] [tlsMinimumSupportedProtocolVersion] | InsecureTLS.swift:165:3:165:3 | [post] config [tlsMinimumSupportedProtocolVersion] | -| InsecureTLS.swift:181:53:181:76 | .TLSv10 | InsecureTLS.swift:19:7:19:7 | value | InsecureTLS.swift:19:7:19:7 | self [Return] | InsecureTLS.swift:181:3:181:9 | [post] getter for .config | | InsecureTLS.swift:181:53:181:76 | .TLSv10 | InsecureTLS.swift:19:7:19:7 | value | InsecureTLS.swift:19:7:19:7 | self [Return] [tlsMinimumSupportedProtocolVersion] | InsecureTLS.swift:181:3:181:9 | [post] getter for .config [tlsMinimumSupportedProtocolVersion] | | InsecureTLS.swift:202:74:202:97 | .TLSv10 | InsecureTLS.swift:196:56:196:63 | value | InsecureTLS.swift:196:1:198:1 | version[return] | InsecureTLS.swift:202:24:202:31 | [post] getter for .tlsMinimumSupportedProtocolVersion | #select From d27b28d3714eeeac1f249c3fc4454b016ad32e7f Mon Sep 17 00:00:00 2001 From: Asger F Date: Wed, 21 Aug 2024 13:57:01 +0200 Subject: [PATCH 204/258] C++: update test output This reveals that some tests were passing for the wrong reasons. See https://github.com/github/codeql/pull/17275 --- cpp/ql/test/library-tests/dataflow/taint-tests/taint.expected | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/taint.expected b/cpp/ql/test/library-tests/dataflow/taint-tests/taint.expected index 299f1413878..8d4dc3351b4 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/taint.expected +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/taint.expected @@ -4,4 +4,7 @@ WARNING: module 'DataFlow' has been deprecated and may be removed in future (tai WARNING: module 'DataFlow' has been deprecated and may be removed in future (taint.ql:68,25-33) WARNING: module 'TaintTracking' has been deprecated and may be removed in future (taint.ql:73,20-33) testFailures +| taint.cpp:453:23:453:42 | // $ ir MISSING: ast | Missing result:ir= | +| vector.cpp:118:12:118:30 | // $ ir MISSING:ast | Missing result:ir= | +| vector.cpp:119:12:119:30 | // $ ir MISSING:ast | Missing result:ir= | failures From 8df7fbf6d660f67c2a7d5b0a380183d4ea1c8e81 Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 23 Aug 2024 11:30:50 +0200 Subject: [PATCH 205/258] Swift: update test output The 'first' field is seen as a TaintInheritingContent, which means any read step for 'first' becomes a taint step too. This type of taint step does not permit an implicit read before it, because it wasn't contributed by a configuration. So there is no way for the taint to get out of the collection content before the taint step through '.first'. The test previously passed because an implicit read at once of the earlier sinks could follow use-use flow down to the receiver of .first, allowing it to escape the collection content. --- .../ql/test/library-tests/dataflow/taint/libraries/set.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/swift/ql/test/library-tests/dataflow/taint/libraries/set.swift b/swift/ql/test/library-tests/dataflow/taint/libraries/set.swift index 76b41ff8b93..b7ca5b86cca 100644 --- a/swift/ql/test/library-tests/dataflow/taint/libraries/set.swift +++ b/swift/ql/test/library-tests/dataflow/taint/libraries/set.swift @@ -28,7 +28,7 @@ func testSet(ix: Int) { sink(arg: taintedSet.max()!) // $ tainted=t1 sink(arg: taintedSet.firstIndex(of: source("t2"))!) sink(arg: taintedSet[taintedSet.firstIndex(of: source("t3"))!]) // $ tainted=t1 - sink(arg: taintedSet.first!) // $ tainted=t1 + sink(arg: taintedSet.first!) // $ MISSING: tainted=t1 for elem in taintedSet { sink(arg: elem) // $ tainted=t1 } @@ -100,7 +100,7 @@ func testSet(ix: Int) { sink(arg: taintedSet.sorted().randomElement()!) // $ tainted=t1 sink(arg: taintedSet.shuffled().randomElement()!) // $ tainted=t1 - sink(arg: taintedSet.lazy[taintedSet.firstIndex(of: source("t11"))!]) // $ tainted=t1 + sink(arg: taintedSet.lazy[taintedSet.firstIndex(of: source("t11"))!]) // $ MISSING: tainted=t1 var it = taintedSet.makeIterator() sink(arg: it.next()!) // $ tainted=t1 From 65189e09f54e0513e8266a43c362ef395db802b8 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Fri, 23 Aug 2024 11:52:22 +0200 Subject: [PATCH 206/258] Dataflow: Simplify using a SummaryCtx type. --- .../codeql/dataflow/internal/DataFlowImpl.qll | 459 +++++++++--------- .../dataflow/internal/DataFlowImplCommon.qll | 18 - 2 files changed, 224 insertions(+), 253 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 379a618dbdf..98291d25ffc 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -1419,10 +1419,6 @@ module MakeImpl Lang> { import Param /* Begin: Stage logic. */ - private module TypOption = Option; - - private class TypOption = TypOption::Option; - pragma[nomagic] private Typ getNodeTyp(NodeEx node) { PrevStage::revFlow(node) and result = getTyp(node.getDataFlowType()) @@ -1475,17 +1471,16 @@ module MakeImpl Lang> { */ pragma[nomagic] additional predicate fwdFlow( - NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, - ApOption argAp, Typ t, Ap ap, ApApprox apa + NodeEx node, FlowState state, Cc cc, SummaryCtx summaryCtx, Typ t, Ap ap, ApApprox apa ) { - fwdFlow1(node, state, cc, summaryCtx, argT, argAp, _, t, ap, apa) + fwdFlow1(node, state, cc, summaryCtx, _, t, ap, apa) } private predicate fwdFlow1( - NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, - ApOption argAp, Typ t0, Typ t, Ap ap, ApApprox apa + NodeEx node, FlowState state, Cc cc, SummaryCtx summaryCtx, Typ t0, Typ t, Ap ap, + ApApprox apa ) { - fwdFlow0(node, state, cc, summaryCtx, argT, argAp, t0, ap, apa) and + fwdFlow0(node, state, cc, summaryCtx, t0, ap, apa) and PrevStage::revFlow(node, state, apa) and filter(node, state, t0, ap, t) and ( @@ -1500,25 +1495,22 @@ module MakeImpl Lang> { pragma[nomagic] private predicate typeStrengthen(Typ t0, Ap ap, Typ t) { - fwdFlow1(_, _, _, _, _, _, t0, t, ap, _) and t0 != t + fwdFlow1(_, _, _, _, t0, t, ap, _) and t0 != t } pragma[nomagic] private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, - ApOption argAp, Typ t, Ap ap, ApApprox apa + NodeEx node, FlowState state, Cc cc, SummaryCtx summaryCtx, Typ t, Ap ap, ApApprox apa ) { sourceNode(node, state) and (if hasSourceCallCtx() then cc = ccSomeCall() else cc = ccNone()) and - argT instanceof TypOption::None and - argAp = apNone() and - summaryCtx = TParamNodeNone() and + summaryCtx = TSummaryCtxNone() and t = getNodeTyp(node) and ap instanceof ApNil and apa = getApprox(ap) or exists(NodeEx mid, FlowState state0, Typ t0, LocalCc localCc | - fwdFlow(mid, state0, cc, summaryCtx, argT, argAp, t0, ap, apa) and + fwdFlow(mid, state0, cc, summaryCtx, t0, ap, apa) and localCc = getLocalCc(cc) | localStep(mid, state0, node, state, true, _, localCc, _) and @@ -1530,20 +1522,18 @@ module MakeImpl Lang> { or fwdFlowJump(node, state, t, ap, apa) and cc = ccNone() and - summaryCtx = TParamNodeNone() and - argT instanceof TypOption::None and - argAp = apNone() + summaryCtx = TSummaryCtxNone() or // store exists(Content c, Typ t0, Ap ap0 | - fwdFlowStore(_, t0, ap0, c, t, node, state, cc, summaryCtx, argT, argAp) and + fwdFlowStore(_, t0, ap0, c, t, node, state, cc, summaryCtx) and ap = apCons(c, t0, ap0) and apa = getApprox(ap) ) or // read exists(Typ t0, Ap ap0, Content c | - fwdFlowRead(t0, ap0, c, _, node, state, cc, summaryCtx, argT, argAp) and + fwdFlowRead(t0, ap0, c, _, node, state, cc, summaryCtx) and fwdFlowConsCand(t0, ap0, c, t, ap) and apa = getApprox(ap) ) @@ -1553,13 +1543,9 @@ module MakeImpl Lang> { fwdFlowIn(node, apa, state, cc, t, ap, allowsFlowThrough) and if allowsFlowThrough = true then ( - summaryCtx = TParamNodeSome(node.asNode()) and - argT = TypOption::some(t) and - argAp = apSome(ap) + summaryCtx = TSummaryCtxSome(node, t, ap) ) else ( - summaryCtx = TParamNodeNone() and - argT instanceof TypOption::None and - argAp = apNone() and + summaryCtx = TSummaryCtxNone() and // When the call contexts of source and sink needs to match then there's // never any reason to enter a callable except to find a summary. See also // the comment in `PathNodeMid::isAtSink`. @@ -1568,36 +1554,71 @@ module MakeImpl Lang> { ) or // flow out of a callable - fwdFlowOut(_, _, node, state, cc, summaryCtx, argT, argAp, t, ap, apa) + fwdFlowOut(_, _, node, state, cc, summaryCtx, t, ap, apa) or // flow through a callable exists( DataFlowCall call, CcCall ccc, RetNodeEx ret, boolean allowsFieldFlow, ApApprox innerArgApa | - fwdFlowThrough(call, cc, state, ccc, summaryCtx, argT, argAp, t, ap, apa, ret, - innerArgApa) and + fwdFlowThrough(call, cc, state, ccc, summaryCtx, t, ap, apa, ret, innerArgApa) and flowThroughOutOfCall(call, ccc, ret, node, allowsFieldFlow, innerArgApa, apa) and not inBarrier(node, state) and if allowsFieldFlow = false then ap instanceof ApNil else any() ) } + private newtype TSummaryCtx = + TSummaryCtxNone() or + TSummaryCtxSome(ParamNodeEx p, Typ t, Ap ap) { fwdFlowIn(p, _, _, _, t, ap, true) } + + /** + * A context for generating flow summaries. This represents flow entry through + * a specific parameter with an access path of a specific shape. + * + * Summaries are only created for parameters that may flow through. + */ + private class SummaryCtx extends TSummaryCtx { + abstract string toString(); + } + + /** A summary context from which no flow summary can be generated. */ + private class SummaryCtxNone extends SummaryCtx, TSummaryCtxNone { + override string toString() { result = "" } + } + + /** A summary context from which a flow summary can be generated. */ + private class SummaryCtxSome extends SummaryCtx, TSummaryCtxSome { + private ParamNodeEx p; + private Typ t; + private Ap ap; + + SummaryCtxSome() { this = TSummaryCtxSome(p, t, ap) } + + ParamNodeEx getParamNode() { result = p } + + private string ppTyp() { result = t.toString() and result != "" } + + override string toString() { result = p + concat(" : " + this.ppTyp()) + " " + ap } + + Location getLocation() { result = p.getLocation() } + } + private predicate fwdFlowJump(NodeEx node, FlowState state, Typ t, Ap ap, ApApprox apa) { exists(NodeEx mid | - fwdFlow(mid, state, _, _, _, _, t, ap, apa) and + fwdFlow(mid, state, _, _, t, ap, apa) and jumpStepEx(mid, node) ) or exists(NodeEx mid | - fwdFlow(mid, state, _, _, _, _, _, ap, apa) and + fwdFlow(mid, state, _, _, _, ap, apa) and additionalJumpStep(mid, node, _) and t = getNodeTyp(node) and ap instanceof ApNil ) or exists(NodeEx mid, FlowState state0 | - fwdFlow(mid, state0, _, _, _, _, _, ap, apa) and + fwdFlow(mid, state0, _, _, _, ap, apa) and additionalJumpStateStep(mid, state0, node, state) and t = getNodeTyp(node) and ap instanceof ApNil @@ -1607,10 +1628,10 @@ module MakeImpl Lang> { pragma[nomagic] private predicate fwdFlowStore( NodeEx node1, Typ t1, Ap ap1, Content c, Typ t2, NodeEx node2, FlowState state, Cc cc, - ParamNodeOption summaryCtx, TypOption argT, ApOption argAp + SummaryCtx summaryCtx ) { exists(DataFlowType contentType, DataFlowType containerType, ApApprox apa1 | - fwdFlow(node1, state, cc, summaryCtx, argT, argAp, t1, ap1, apa1) and + fwdFlow(node1, state, cc, summaryCtx, t1, ap1, apa1) and not outBarrier(node1, state) and not inBarrier(node2, state) and PrevStage::storeStepCand(node1, apa1, c, node2, contentType, containerType) and @@ -1626,7 +1647,7 @@ module MakeImpl Lang> { */ pragma[nomagic] private predicate fwdFlowConsCand(Typ t2, Ap cons, Content c, Typ t1, Ap tail) { - fwdFlowStore(_, t1, tail, c, t2, _, _, _, _, _, _) and + fwdFlowStore(_, t1, tail, c, t2, _, _, _, _) and cons = apCons(c, t1, tail) or exists(Typ t0 | @@ -1650,10 +1671,10 @@ module MakeImpl Lang> { pragma[nomagic] private predicate fwdFlowRead( Typ t, Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, - ParamNodeOption summaryCtx, TypOption argT, ApOption argAp + SummaryCtx summaryCtx ) { exists(ApHeadContent apc | - fwdFlow(node1, state, cc, summaryCtx, argT, argAp, t, ap, _) and + fwdFlow(node1, state, cc, summaryCtx, t, ap, _) and not outBarrier(node1, state) and not inBarrier(node2, state) and apc = getHeadContent(ap) and @@ -1663,10 +1684,10 @@ module MakeImpl Lang> { pragma[nomagic] private predicate fwdFlowIntoArg( - ArgNodeEx arg, FlowState state, Cc outercc, ParamNodeOption summaryCtx, TypOption argT, - ApOption argAp, Typ t, Ap ap, boolean emptyAp, ApApprox apa, boolean cc + ArgNodeEx arg, FlowState state, Cc outercc, SummaryCtx summaryCtx, Typ t, Ap ap, + boolean emptyAp, ApApprox apa, boolean cc ) { - fwdFlow(arg, state, outercc, summaryCtx, argT, argAp, t, ap, apa) and + fwdFlow(arg, state, outercc, summaryCtx, t, ap, apa) and (if instanceofCcCall(outercc) then cc = true else cc = false) and if ap instanceof ApNil then emptyAp = true else emptyAp = false } @@ -1756,11 +1777,11 @@ module MakeImpl Lang> { pragma[inline] private predicate fwdFlowInCand( DataFlowCall call, ArgNodeEx arg, FlowState state, Cc outercc, DataFlowCallable inner, - ParamNodeEx p, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, Ap ap, - boolean emptyAp, ApApprox apa, boolean cc, boolean allowsFlowThrough + ParamNodeEx p, SummaryCtx summaryCtx, Typ t, Ap ap, boolean emptyAp, ApApprox apa, + boolean cc, boolean allowsFlowThrough ) { exists(boolean allowsFieldFlow | - fwdFlowIntoArg(arg, state, outercc, summaryCtx, argT, argAp, t, ap, emptyAp, apa, cc) and + fwdFlowIntoArg(arg, state, outercc, summaryCtx, t, ap, emptyAp, apa, cc) and ( inner = viableImplCallContextReducedInlineLate(call, arg, outercc) or @@ -1779,12 +1800,12 @@ module MakeImpl Lang> { pragma[inline] private predicate fwdFlowInCandTypeFlowDisabled( DataFlowCall call, ArgNodeEx arg, FlowState state, Cc outercc, DataFlowCallable inner, - ParamNodeEx p, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, Ap ap, - ApApprox apa, boolean cc, boolean allowsFlowThrough + ParamNodeEx p, SummaryCtx summaryCtx, Typ t, Ap ap, ApApprox apa, boolean cc, + boolean allowsFlowThrough ) { not enableTypeFlow() and - fwdFlowInCand(call, arg, state, outercc, inner, p, summaryCtx, argT, argAp, t, ap, _, - apa, cc, allowsFlowThrough) + fwdFlowInCand(call, arg, state, outercc, inner, p, summaryCtx, t, ap, _, apa, cc, + allowsFlowThrough) } pragma[nomagic] @@ -1793,7 +1814,7 @@ module MakeImpl Lang> { boolean emptyAp, ApApprox apa, boolean cc, boolean allowsFlowThrough ) { enableTypeFlow() and - fwdFlowInCand(call, arg, _, outercc, inner, p, _, _, _, _, _, emptyAp, apa, cc, + fwdFlowInCand(call, arg, _, outercc, inner, p, _, _, _, emptyAp, apa, cc, allowsFlowThrough) } @@ -1820,17 +1841,17 @@ module MakeImpl Lang> { pragma[inline] predicate fwdFlowIn( DataFlowCall call, ArgNodeEx arg, DataFlowCallable inner, ParamNodeEx p, - FlowState state, Cc outercc, CcCall innercc, ParamNodeOption summaryCtx, TypOption argT, - ApOption argAp, Typ t, Ap ap, ApApprox apa, boolean cc, boolean allowsFlowThrough + FlowState state, Cc outercc, CcCall innercc, SummaryCtx summaryCtx, Typ t, Ap ap, + ApApprox apa, boolean cc, boolean allowsFlowThrough ) { // type flow disabled: linear recursion - fwdFlowInCandTypeFlowDisabled(call, arg, state, outercc, inner, p, summaryCtx, argT, - argAp, t, ap, apa, cc, allowsFlowThrough) and + fwdFlowInCandTypeFlowDisabled(call, arg, state, outercc, inner, p, summaryCtx, t, ap, + apa, cc, allowsFlowThrough) and fwdFlowInValidEdgeTypeFlowDisabled(call, inner, innercc, pragma[only_bind_into](cc)) or // type flow enabled: non-linear recursion exists(boolean emptyAp | - fwdFlowIntoArg(arg, state, outercc, summaryCtx, argT, argAp, t, ap, emptyAp, apa, cc) and + fwdFlowIntoArg(arg, state, outercc, summaryCtx, t, ap, emptyAp, apa, cc) and fwdFlowInValidEdgeTypeFlowEnabled(call, arg, outercc, inner, p, innercc, emptyAp, apa, cc, allowsFlowThrough) ) @@ -1845,8 +1866,8 @@ module MakeImpl Lang> { boolean allowsFlowThrough ) { exists(boolean allowsFlowThrough0 | - FwdFlowIn::fwdFlowIn(_, _, _, p, state, _, innercc, _, _, _, t, - ap, apa, _, allowsFlowThrough0) and + FwdFlowIn::fwdFlowIn(_, _, _, p, state, _, innercc, _, t, ap, + apa, _, allowsFlowThrough0) and if PrevStage::parameterMayFlowThrough(p, apa) then allowsFlowThrough = allowsFlowThrough0 else allowsFlowThrough = false @@ -1891,12 +1912,12 @@ module MakeImpl Lang> { pragma[nomagic] private predicate fwdFlowIntoRet( - RetNodeEx ret, FlowState state, CcNoCall cc, ParamNodeOption summaryCtx, TypOption argT, - ApOption argAp, Typ t, Ap ap, ApApprox apa + RetNodeEx ret, FlowState state, CcNoCall cc, SummaryCtx summaryCtx, Typ t, Ap ap, + ApApprox apa ) { instanceofCcNoCall(cc) and not outBarrier(ret, state) and - fwdFlow(ret, state, cc, summaryCtx, argT, argAp, t, ap, apa) + fwdFlow(ret, state, cc, summaryCtx, t, ap, apa) } pragma[nomagic] @@ -1904,7 +1925,7 @@ module MakeImpl Lang> { DataFlowCall call, RetNodeEx ret, CcNoCall innercc, DataFlowCallable inner, NodeEx out, ApApprox apa, boolean allowsFieldFlow ) { - fwdFlowIntoRet(ret, _, innercc, _, _, _, _, _, apa) and + fwdFlowIntoRet(ret, _, innercc, _, _, _, apa) and inner = ret.getEnclosingCallable() and ( call = viableImplCallContextReducedReverseInlineLate(inner, innercc) and @@ -1928,10 +1949,10 @@ module MakeImpl Lang> { pragma[inline] private predicate fwdFlowOut( DataFlowCall call, DataFlowCallable inner, NodeEx out, FlowState state, CcNoCall outercc, - ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, Ap ap, ApApprox apa + SummaryCtx summaryCtx, Typ t, Ap ap, ApApprox apa ) { exists(RetNodeEx ret, CcNoCall innercc, boolean allowsFieldFlow | - fwdFlowIntoRet(ret, state, innercc, summaryCtx, argT, argAp, t, ap, apa) and + fwdFlowIntoRet(ret, state, innercc, summaryCtx, t, ap, apa) and fwdFlowOutValidEdge(call, ret, innercc, inner, out, outercc, apa, allowsFieldFlow) and not inBarrier(out, state) and if allowsFieldFlow = false then ap instanceof ApNil else any() @@ -1950,14 +1971,14 @@ module MakeImpl Lang> { DataFlowCall call, DataFlowCallable c, ParamNodeEx p, FlowState state, CcCall innercc, Typ t, Ap ap, boolean cc ) { - FwdFlowIn::fwdFlowIn(call, _, c, p, state, _, innercc, _, _, _, - t, ap, _, cc, _) + FwdFlowIn::fwdFlowIn(call, _, c, p, state, _, innercc, _, t, ap, + _, cc, _) } pragma[nomagic] private predicate fwdFlow1Param(ParamNodeEx p, FlowState state, CcCall cc, Typ t0, Ap ap) { instanceofCcCall(cc) and - fwdFlow1(p, state, cc, _, _, _, t0, _, ap, _) + fwdFlow1(p, state, cc, _, t0, _, ap, _) } pragma[nomagic] @@ -1972,13 +1993,13 @@ module MakeImpl Lang> { private predicate dataFlowTakenCallEdgeOut0( DataFlowCall call, DataFlowCallable c, NodeEx node, FlowState state, Cc cc, Typ t, Ap ap ) { - fwdFlowOut(call, c, node, state, cc, _, _, _, t, ap, _) + fwdFlowOut(call, c, node, state, cc, _, t, ap, _) } pragma[nomagic] private predicate fwdFlow1Out(NodeEx node, FlowState state, Cc cc, Typ t0, Ap ap) { exists(ApApprox apa | - fwdFlow1(node, state, cc, _, _, _, t0, _, ap, apa) and + fwdFlow1(node, state, cc, _, t0, _, ap, apa) and PrevStage::callEdgeReturn(_, _, _, _, node, _, apa) ) } @@ -2019,43 +2040,39 @@ module MakeImpl Lang> { pragma[nomagic] private predicate fwdFlowRetFromArg( - RetNodeEx ret, FlowState state, CcCall ccc, ParamNodeEx summaryCtx, Typ argT, Ap argAp, - ApApprox argApa, Typ t, Ap ap, ApApprox apa + RetNodeEx ret, FlowState state, CcCall ccc, SummaryCtxSome summaryCtx, ApApprox argApa, + Typ t, Ap ap, ApApprox apa ) { - exists(ReturnKindExt kind | + exists(ReturnKindExt kind, ParamNodeEx p, Ap argAp | instanceofCcCall(ccc) and - fwdFlow(pragma[only_bind_into](ret), state, ccc, - TParamNodeSome(pragma[only_bind_into](summaryCtx.asNode())), TypOption::some(argT), - pragma[only_bind_into](apSome(argAp)), t, ap, pragma[only_bind_into](apa)) and + fwdFlow(pragma[only_bind_into](ret), state, ccc, summaryCtx, t, ap, + pragma[only_bind_into](apa)) and + summaryCtx = + TSummaryCtxSome(pragma[only_bind_into](p), _, pragma[only_bind_into](argAp)) and not outBarrier(ret, state) and kind = ret.getKind() and - parameterFlowThroughAllowed(summaryCtx, kind) and + parameterFlowThroughAllowed(p, kind) and argApa = getApprox(argAp) and - PrevStage::returnMayFlowThrough(ret, argApa, apa, kind) + PrevStage::returnMayFlowThrough(ret, pragma[only_bind_into](argApa), apa, kind) ) } pragma[inline] private predicate fwdFlowThrough0( DataFlowCall call, ArgNodeEx arg, Cc cc, FlowState state, CcCall ccc, - ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, Ap ap, ApApprox apa, - RetNodeEx ret, ParamNodeEx innerSummaryCtx, Typ innerArgT, Ap innerArgAp, - ApApprox innerArgApa + SummaryCtx summaryCtx, Typ t, Ap ap, ApApprox apa, RetNodeEx ret, + SummaryCtxSome innerSummaryCtx, ApApprox innerArgApa ) { - fwdFlowRetFromArg(ret, state, ccc, innerSummaryCtx, innerArgT, innerArgAp, innerArgApa, t, - ap, apa) and - fwdFlowIsEntered(call, arg, cc, ccc, summaryCtx, argT, argAp, innerSummaryCtx, innerArgT, - innerArgAp) + fwdFlowRetFromArg(ret, state, ccc, innerSummaryCtx, innerArgApa, t, ap, apa) and + fwdFlowIsEntered(call, arg, cc, ccc, summaryCtx, innerSummaryCtx) } pragma[nomagic] private predicate fwdFlowThrough( - DataFlowCall call, Cc cc, FlowState state, CcCall ccc, ParamNodeOption summaryCtx, - TypOption argT, ApOption argAp, Typ t, Ap ap, ApApprox apa, RetNodeEx ret, - ApApprox innerArgApa + DataFlowCall call, Cc cc, FlowState state, CcCall ccc, SummaryCtx summaryCtx, Typ t, + Ap ap, ApApprox apa, RetNodeEx ret, ApApprox innerArgApa ) { - fwdFlowThrough0(call, _, cc, state, ccc, summaryCtx, argT, argAp, t, ap, apa, ret, _, _, - _, innerArgApa) + fwdFlowThrough0(call, _, cc, state, ccc, summaryCtx, t, ap, apa, ret, _, innerArgApa) } private module FwdFlowThroughRestriction implements FwdFlowInInputSig { @@ -2064,22 +2081,33 @@ module MakeImpl Lang> { predicate parameterRestriction = PrevStage::parameterMayFlowThrough/2; } + pragma[nomagic] + private predicate fwdFlowIsEntered0( + DataFlowCall call, ArgNodeEx arg, Cc cc, CcCall innerCc, SummaryCtx summaryCtx, + ParamNodeEx p, Typ t, Ap ap + ) { + FwdFlowIn::fwdFlowIn(call, arg, _, p, _, cc, innerCc, + summaryCtx, t, ap, _, _, true) + } + /** * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` * and data might flow through the target callable and back out at `call`. */ pragma[nomagic] private predicate fwdFlowIsEntered( - DataFlowCall call, ArgNodeEx arg, Cc cc, CcCall innerCc, ParamNodeOption summaryCtx, - TypOption argT, ApOption argAp, ParamNodeEx p, Typ t, Ap ap + DataFlowCall call, ArgNodeEx arg, Cc cc, CcCall innerCc, SummaryCtx summaryCtx, + SummaryCtxSome innerSummaryCtx ) { - FwdFlowIn::fwdFlowIn(call, arg, _, p, _, cc, innerCc, - summaryCtx, argT, argAp, t, ap, _, _, true) + exists(ParamNodeEx p, Typ t, Ap ap | + fwdFlowIsEntered0(call, arg, cc, innerCc, summaryCtx, p, t, ap) and + innerSummaryCtx = TSummaryCtxSome(p, t, ap) + ) } pragma[nomagic] private predicate storeStepFwd(NodeEx node1, Typ t1, Ap ap1, Content c, NodeEx node2, Ap ap2) { - fwdFlowStore(node1, t1, ap1, c, _, node2, _, _, _, _, _) and + fwdFlowStore(node1, t1, ap1, c, _, node2, _, _, _) and ap2 = apCons(c, t1, ap1) and readStepFwd(_, ap2, c, _, _) } @@ -2087,7 +2115,7 @@ module MakeImpl Lang> { pragma[nomagic] private predicate readStepFwd(NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2) { exists(Typ t1 | - fwdFlowRead(t1, ap1, c, n1, n2, _, _, _, _, _) and + fwdFlowRead(t1, ap1, c, n1, n2, _, _, _) and fwdFlowConsCand(t1, ap1, c, _, ap2) ) } @@ -2095,10 +2123,9 @@ module MakeImpl Lang> { pragma[nomagic] private predicate returnFlowsThrough0( DataFlowCall call, FlowState state, CcCall ccc, Ap ap, ApApprox apa, RetNodeEx ret, - ParamNodeEx innerSummaryCtx, Typ innerArgT, Ap innerArgAp, ApApprox innerArgApa + SummaryCtxSome innerSummaryCtx, ApApprox innerArgApa ) { - fwdFlowThrough0(call, _, _, state, ccc, _, _, _, _, ap, apa, ret, innerSummaryCtx, - innerArgT, innerArgAp, innerArgApa) + fwdFlowThrough0(call, _, _, state, ccc, _, _, ap, apa, ret, innerSummaryCtx, innerArgApa) } pragma[nomagic] @@ -2107,7 +2134,8 @@ module MakeImpl Lang> { Ap argAp, ApApprox argApa, Ap ap ) { exists(DataFlowCall call, ApApprox apa, boolean allowsFieldFlow | - returnFlowsThrough0(call, state, ccc, ap, apa, ret, p, argT, argAp, argApa) and + returnFlowsThrough0(call, state, ccc, ap, apa, ret, TSummaryCtxSome(p, argT, argAp), + argApa) and flowThroughOutOfCall(call, ccc, ret, _, allowsFieldFlow, argApa, apa) and pos = ret.getReturnPosition() and if allowsFieldFlow = false then ap instanceof ApNil else any() @@ -2122,7 +2150,7 @@ module MakeImpl Lang> { returnFlowsThrough(_, _, _, _, pragma[only_bind_into](p), pragma[only_bind_into](argT), pragma[only_bind_into](argAp), pragma[only_bind_into](argApa), ap) and flowIntoCallApaTaken(call, _, pragma[only_bind_into](arg), p, allowsFieldFlow, argApa) and - fwdFlow(arg, _, _, _, _, _, pragma[only_bind_into](argT), pragma[only_bind_into](argAp), + fwdFlow(arg, _, _, _, pragma[only_bind_into](argT), pragma[only_bind_into](argAp), pragma[only_bind_into](argApa)) and if allowsFieldFlow = false then argAp instanceof ApNil else any() ) @@ -2134,7 +2162,7 @@ module MakeImpl Lang> { ) { exists(ApApprox apa, boolean allowsFieldFlow | flowIntoCallApaTaken(call, c, arg, p, allowsFieldFlow, apa) and - fwdFlow(arg, _, _, _, _, _, _, ap, apa) and + fwdFlow(arg, _, _, _, _, ap, apa) and if allowsFieldFlow = false then ap instanceof ApNil else any() ) } @@ -2146,7 +2174,7 @@ module MakeImpl Lang> { ) { exists(ApApprox apa, boolean allowsFieldFlow | PrevStage::callEdgeReturn(call, c, ret, _, out, allowsFieldFlow, apa) and - fwdFlow(ret, _, _, _, _, _, _, ap, apa) and + fwdFlow(ret, _, _, _, _, ap, apa) and pos = ret.getReturnPosition() and if allowsFieldFlow = false then ap instanceof ApNil else any() | @@ -2169,14 +2197,14 @@ module MakeImpl Lang> { NodeEx node, FlowState state, ReturnCtx returnCtx, ApOption returnAp, Ap ap ) { revFlow0(node, state, returnCtx, returnAp, ap) and - fwdFlow(node, state, _, _, _, _, _, ap, _) + fwdFlow(node, state, _, _, _, ap, _) } pragma[nomagic] private predicate revFlow0( NodeEx node, FlowState state, ReturnCtx returnCtx, ApOption returnAp, Ap ap ) { - fwdFlow(node, state, _, _, _, _, _, ap, _) and + fwdFlow(node, state, _, _, _, ap, _) and sinkNode(node, state) and ( if hasSinkCallCtx() @@ -2304,7 +2332,7 @@ module MakeImpl Lang> { predicate dataFlowNonCallEntry(DataFlowCallable c, boolean cc) { exists(NodeEx node, FlowState state, ApNil nil | - fwdFlow(node, state, _, _, _, _, _, nil, _) and + fwdFlow(node, state, _, _, _, nil, _) and sinkNode(node, state) and (if hasSinkCallCtx() then cc = true else cc = false) and c = node.getEnclosingCallable() @@ -2463,6 +2491,27 @@ module MakeImpl Lang> { ) } + pragma[nomagic] + private predicate nodeMayUseSummary0(NodeEx n, ParamNodeEx p, FlowState state, Ap ap) { + exists(Ap ap0 | + parameterMayFlowThrough(p, _) and + revFlow(n, state, TReturnCtxMaybeFlowThrough(_), _, ap0) and + fwdFlow(n, state, any(CcCall ccc), TSummaryCtxSome(p, _, ap), _, ap0, _) + ) + } + + /** + * Holds if `ap` is recorded as the summary context for flow reaching `node` + * and remains relevant for the following pruning stage. + */ + pragma[nomagic] + additional predicate nodeMayUseSummary(NodeEx n, FlowState state, Ap ap) { + exists(ParamNodeEx p | + parameterMayFlowThrough(p, ap) and + nodeMayUseSummary0(n, p, state, ap) + ) + } + pragma[nomagic] predicate returnMayFlowThrough(RetNodeEx ret, Ap argAp, Ap ap, ReturnKindExt kind) { exists(ParamNodeEx p, ReturnPosition pos | @@ -2539,11 +2588,8 @@ module MakeImpl Lang> { */ additional module Graph { private newtype TPathNode = - TPathNodeMid( - NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, - ApOption argAp, Typ t, Ap ap - ) { - fwdFlow(node, state, cc, summaryCtx, argT, argAp, t, ap, _) and + TPathNodeMid(NodeEx node, FlowState state, Cc cc, SummaryCtx summaryCtx, Typ t, Ap ap) { + fwdFlow(node, state, cc, summaryCtx, t, ap, _) and revFlow(node, state, _, _, ap) } or TPathNodeSink(NodeEx node, FlowState state) { @@ -2651,13 +2697,11 @@ module MakeImpl Lang> { NodeEx node; FlowState state; Cc cc; - ParamNodeOption summaryCtx; - TypOption argT; - ApOption argAp; + SummaryCtx summaryCtx; Typ t; Ap ap; - PathNodeMid() { this = TPathNodeMid(node, state, cc, summaryCtx, argT, argAp, t, ap) } + PathNodeMid() { this = TPathNodeMid(node, state, cc, summaryCtx, t, ap) } override NodeEx getNodeEx() { result = node } @@ -2720,13 +2764,10 @@ module MakeImpl Lang> { private string ppCtx() { result = " <" + cc + ">" } private string ppSummaryCtx() { - summaryCtx instanceof TParamNodeNone and result = "" + summaryCtx instanceof SummaryCtxNone and result = "" or - exists(ParamNode p, Ap argAp0 | - summaryCtx = TParamNodeSome(p) and argAp = apSome(argAp0) - | - result = " <" + p + " : " + argT + " " + argAp0 + ">" - ) + summaryCtx instanceof SummaryCtxSome and + result = " <" + summaryCtx + ">" } override string toString() { result = node.toString() + this.ppType() + this.ppAp() } @@ -2743,7 +2784,7 @@ module MakeImpl Lang> { override predicate isSource() { sourceNode(node, state) and (if hasSourceCallCtx() then cc = ccSomeCall() else cc = ccNone()) and - summaryCtx = TParamNodeNone() and + summaryCtx = TSummaryCtxNone() and t = getNodeTyp(node) and ap instanceof ApNil } @@ -2762,7 +2803,7 @@ module MakeImpl Lang> { // which means that the summary context being empty holds if and // only if we are in the call context of the source. if Config::getAFeature() instanceof FeatureEqualSourceSinkCallContext - then summaryCtx = TParamNodeNone() + then summaryCtx = TSummaryCtxNone() else if Config::getAFeature() instanceof FeatureHasSinkCallContext then instanceofCcNoCall(cc) @@ -2804,12 +2845,11 @@ module MakeImpl Lang> { pragma[nomagic] private predicate fwdFlowInStep( ArgNodeEx arg, ParamNodeEx p, FlowState state, Cc outercc, CcCall innercc, - ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, Ap ap, - boolean allowsFlowThrough + SummaryCtx summaryCtx, Typ t, Ap ap, boolean allowsFlowThrough ) { exists(ApApprox apa, boolean allowsFlowThrough0 | FwdFlowIn::fwdFlowIn(_, arg, _, p, state, outercc, innercc, - summaryCtx, argT, argAp, t, ap, apa, _, allowsFlowThrough0) and + summaryCtx, t, ap, apa, _, allowsFlowThrough0) and if PrevStage::parameterMayFlowThrough(p, apa) then allowsFlowThrough = allowsFlowThrough0 else allowsFlowThrough = false @@ -2819,65 +2859,61 @@ module MakeImpl Lang> { pragma[nomagic] private predicate fwdFlowThroughStep0( DataFlowCall call, ArgNodeEx arg, Cc cc, FlowState state, CcCall ccc, - ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, Ap ap, ApApprox apa, - RetNodeEx ret, ParamNodeEx innerSummaryCtx, Typ innerArgT, Ap innerArgAp, - ApApprox innerArgApa + SummaryCtx summaryCtx, Typ t, Ap ap, ApApprox apa, RetNodeEx ret, + SummaryCtxSome innerSummaryCtx, ApApprox innerArgApa ) { - fwdFlowThrough0(call, arg, cc, state, ccc, summaryCtx, argT, argAp, t, ap, apa, ret, - innerSummaryCtx, innerArgT, innerArgAp, innerArgApa) + fwdFlowThrough0(call, arg, cc, state, ccc, summaryCtx, t, ap, apa, ret, innerSummaryCtx, + innerArgApa) } - bindingset[node, state, cc, summaryCtx, argT, argAp, t, ap] + bindingset[node, state, cc, summaryCtx, t, ap] pragma[inline_late] private PathNodeImpl mkPathNode( - NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, - ApOption argAp, Typ t, Ap ap + NodeEx node, FlowState state, Cc cc, SummaryCtx summaryCtx, Typ t, Ap ap ) { - result = TPathNodeMid(node, state, cc, summaryCtx, argT, argAp, t, ap) + result = TPathNodeMid(node, state, cc, summaryCtx, t, ap) } private PathNodeImpl typeStrengthenToPathNode( - NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, - ApOption argAp, Typ t0, Ap ap + NodeEx node, FlowState state, Cc cc, SummaryCtx summaryCtx, Typ t0, Ap ap ) { exists(Typ t | - fwdFlow1(node, state, cc, summaryCtx, argT, argAp, t0, t, ap, _) and - result = TPathNodeMid(node, state, cc, summaryCtx, argT, argAp, t, ap) + fwdFlow1(node, state, cc, summaryCtx, t0, t, ap, _) and + result = TPathNodeMid(node, state, cc, summaryCtx, t, ap) ) } pragma[nomagic] private predicate fwdFlowThroughStep1( PathNodeImpl pn1, PathNodeImpl pn2, PathNodeImpl pn3, DataFlowCall call, Cc cc, - FlowState state, CcCall ccc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, - Typ t, Ap ap, ApApprox apa, RetNodeEx ret, ApApprox innerArgApa + FlowState state, CcCall ccc, SummaryCtx summaryCtx, Typ t, Ap ap, ApApprox apa, + RetNodeEx ret, ApApprox innerArgApa ) { - exists(FlowState state0, ArgNodeEx arg, ParamNodeEx p, Typ innerArgT, Ap innerArgAp | - fwdFlowThroughStep0(call, arg, cc, state, ccc, summaryCtx, argT, argAp, t, ap, apa, - ret, p, innerArgT, innerArgAp, innerArgApa) and + exists( + FlowState state0, ArgNodeEx arg, SummaryCtxSome innerSummaryCtx, ParamNodeEx p, + Typ innerArgT, Ap innerArgAp + | + fwdFlowThroughStep0(call, arg, cc, state, ccc, summaryCtx, t, ap, apa, ret, + innerSummaryCtx, innerArgApa) and + innerSummaryCtx = TSummaryCtxSome(p, innerArgT, innerArgAp) and revFlow(arg, state0, _, _, _) and - pn1 = mkPathNode(arg, state0, cc, summaryCtx, argT, argAp, innerArgT, innerArgAp) and - pn2 = - typeStrengthenToPathNode(p, state0, ccc, TParamNodeSome(p.asNode()), - TypOption::some(innerArgT), apSome(innerArgAp), innerArgT, innerArgAp) and - pn3 = - mkPathNode(ret, state, ccc, TParamNodeSome(p.asNode()), TypOption::some(innerArgT), - apSome(innerArgAp), t, ap) + pn1 = mkPathNode(arg, state0, cc, summaryCtx, innerArgT, innerArgAp) and + pn2 = typeStrengthenToPathNode(p, state0, ccc, innerSummaryCtx, innerArgT, innerArgAp) and + pn3 = mkPathNode(ret, state, ccc, innerSummaryCtx, t, ap) ) } pragma[nomagic] private predicate fwdFlowThroughStep2( PathNodeImpl pn1, PathNodeImpl pn2, PathNodeImpl pn3, NodeEx node, Cc cc, - FlowState state, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, - Ap ap + FlowState state, SummaryCtx summaryCtx, Typ t, Ap ap ) { exists( DataFlowCall call, CcCall ccc, RetNodeEx ret, boolean allowsFieldFlow, ApApprox innerArgApa, ApApprox apa | - fwdFlowThroughStep1(pn1, pn2, pn3, call, cc, state, ccc, summaryCtx, argT, argAp, t, - ap, apa, ret, innerArgApa) and + fwdFlowThroughStep1(pn1, pn2, pn3, call, cc, state, ccc, summaryCtx, t, ap, apa, ret, + innerArgApa) and flowThroughOutOfCall(call, ccc, ret, node, allowsFieldFlow, innerArgApa, apa) and not inBarrier(node, state) and if allowsFieldFlow = false then ap instanceof ApNil else any() @@ -2885,11 +2921,11 @@ module MakeImpl Lang> { } private predicate localStep( - PathNodeImpl pn1, NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, - TypOption argT, ApOption argAp, Typ t, Ap ap, string label, boolean isStoreStep + PathNodeImpl pn1, NodeEx node, FlowState state, Cc cc, SummaryCtx summaryCtx, Typ t, + Ap ap, string label, boolean isStoreStep ) { exists(NodeEx mid, FlowState state0, Typ t0, LocalCc localCc | - pn1 = TPathNodeMid(mid, state0, cc, summaryCtx, argT, argAp, t0, ap) and + pn1 = TPathNodeMid(mid, state0, cc, summaryCtx, t0, ap) and localCc = getLocalCc(cc) and isStoreStep = false | @@ -2902,8 +2938,8 @@ module MakeImpl Lang> { or // store exists(NodeEx mid, Content c, Typ t0, Ap ap0 | - pn1 = TPathNodeMid(mid, state, cc, summaryCtx, argT, argAp, t0, ap0) and - fwdFlowStore(mid, t0, ap0, c, t, node, state, cc, summaryCtx, argT, argAp) and + pn1 = TPathNodeMid(mid, state, cc, summaryCtx, t0, ap0) and + fwdFlowStore(mid, t0, ap0, c, t, node, state, cc, summaryCtx) and ap = apCons(c, t0, ap0) and label = "" and isStoreStep = true @@ -2911,8 +2947,8 @@ module MakeImpl Lang> { or // read exists(NodeEx mid, Typ t0, Ap ap0, Content c | - pn1 = TPathNodeMid(mid, state, cc, summaryCtx, argT, argAp, t0, ap0) and - fwdFlowRead(t0, ap0, c, mid, node, state, cc, summaryCtx, argT, argAp) and + pn1 = TPathNodeMid(mid, state, cc, summaryCtx, t0, ap0) and + fwdFlowRead(t0, ap0, c, mid, node, state, cc, summaryCtx) and fwdFlowConsCand(t0, ap0, c, t, ap) and label = "" and isStoreStep = false @@ -2921,11 +2957,11 @@ module MakeImpl Lang> { private predicate localStep(PathNodeImpl pn1, PathNodeImpl pn2, string label) { exists( - NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, - ApOption argAp, Typ t0, Ap ap, boolean isStoreStep + NodeEx node, FlowState state, Cc cc, SummaryCtx summaryCtx, Typ t0, Ap ap, + boolean isStoreStep | - localStep(pn1, node, state, cc, summaryCtx, argT, argAp, t0, ap, label, isStoreStep) and - pn2 = typeStrengthenToPathNode(node, state, cc, summaryCtx, argT, argAp, t0, ap) and + localStep(pn1, node, state, cc, summaryCtx, t0, ap, label, isStoreStep) and + pn2 = typeStrengthenToPathNode(node, state, cc, summaryCtx, t0, ap) and stepFilter(node, ap, isStoreStep) ) or @@ -2952,16 +2988,14 @@ module MakeImpl Lang> { } private predicate nonLocalStep( - PathNodeImpl pn1, NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, - TypOption argT, ApOption argAp, Typ t, Ap ap, string label + PathNodeImpl pn1, NodeEx node, FlowState state, Cc cc, SummaryCtx summaryCtx, Typ t, + Ap ap, string label ) { // jump exists(NodeEx mid, FlowState state0, Typ t0 | - pn1 = TPathNodeMid(mid, state0, _, _, _, _, t0, ap) and + pn1 = TPathNodeMid(mid, state0, _, _, t0, ap) and cc = ccNone() and - summaryCtx = TParamNodeNone() and - argT instanceof TypOption::None and - argAp = apNone() + summaryCtx = TSummaryCtxNone() | jumpStepEx(mid, node) and state = state0 and @@ -2985,29 +3019,20 @@ module MakeImpl Lang> { or // flow into a callable exists( - ArgNodeEx arg, boolean allowsFlowThrough, Cc outercc, ParamNodeOption outerSummaryCtx, - TypOption outerArgT, ApOption outerArgAp + ArgNodeEx arg, boolean allowsFlowThrough, Cc outercc, SummaryCtx outerSummaryCtx | - pn1 = TPathNodeMid(arg, state, outercc, outerSummaryCtx, outerArgT, outerArgAp, t, ap) and - fwdFlowInStep(arg, node, state, outercc, cc, outerSummaryCtx, outerArgT, outerArgAp, - t, ap, allowsFlowThrough) and + pn1 = TPathNodeMid(arg, state, outercc, outerSummaryCtx, t, ap) and + fwdFlowInStep(arg, node, state, outercc, cc, outerSummaryCtx, t, ap, allowsFlowThrough) and label = "" and if allowsFlowThrough = true - then ( - summaryCtx = TParamNodeSome(node.asNode()) and - argT = TypOption::some(t) and - argAp = apSome(ap) - ) else ( - summaryCtx = TParamNodeNone() and - argT instanceof TypOption::None and - argAp = apNone() - ) + then summaryCtx = TSummaryCtxSome(node, t, ap) + else summaryCtx = TSummaryCtxNone() ) or // flow out of a callable exists(RetNodeEx ret, CcNoCall innercc, boolean allowsFieldFlow, ApApprox apa | - pn1 = TPathNodeMid(ret, state, innercc, summaryCtx, argT, argAp, t, ap) and - fwdFlowIntoRet(ret, state, innercc, summaryCtx, argT, argAp, t, ap, apa) and + pn1 = TPathNodeMid(ret, state, innercc, summaryCtx, t, ap) and + fwdFlowIntoRet(ret, state, innercc, summaryCtx, t, ap, apa) and fwdFlowOutValidEdge(_, ret, innercc, _, node, cc, apa, allowsFieldFlow) and not inBarrier(node, state) and label = "" and @@ -3016,12 +3041,9 @@ module MakeImpl Lang> { } private predicate nonLocalStep(PathNodeImpl pn1, PathNodeImpl pn2, string label) { - exists( - NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, - ApOption argAp, Typ t0, Ap ap - | - nonLocalStep(pn1, node, state, cc, summaryCtx, argT, argAp, t0, ap, label) and - pn2 = typeStrengthenToPathNode(node, state, cc, summaryCtx, argT, argAp, t0, ap) and + exists(NodeEx node, FlowState state, Cc cc, SummaryCtx summaryCtx, Typ t0, Ap ap | + nonLocalStep(pn1, node, state, cc, summaryCtx, t0, ap, label) and + pn2 = typeStrengthenToPathNode(node, state, cc, summaryCtx, t0, ap) and stepFilter(node, ap, false) ) } @@ -3035,11 +3057,11 @@ module MakeImpl Lang> { PathNodeImpl arg, PathNodeImpl par, PathNodeImpl ret, PathNodeImpl out ) { exists( - NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, - ApOption argAp, Typ t0, Ap ap, PathNodeImpl out0 + NodeEx node, FlowState state, Cc cc, SummaryCtx summaryCtx, Typ t0, Ap ap, + PathNodeImpl out0 | - fwdFlowThroughStep2(arg, par, ret, node, cc, state, summaryCtx, argT, argAp, t0, ap) and - out0 = typeStrengthenToPathNode(node, state, cc, summaryCtx, argT, argAp, t0, ap) and + fwdFlowThroughStep2(arg, par, ret, node, cc, state, summaryCtx, t0, ap) and + out0 = typeStrengthenToPathNode(node, state, cc, summaryCtx, t0, ap) and stepFilter(node, ap, false) | out = out0 or out = out0.(PathNodeMid).projectToSink(_) @@ -3298,14 +3320,13 @@ module MakeImpl Lang> { int tfnodes, int tftuples ) { fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, _, _, _, _)) and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, _, _)) and fields = count(Content f0 | fwdConsCand(f0, _, _)) and conscand = count(Content f0, Typ t, Ap ap | fwdConsCand(f0, t, ap)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, _, _, _, _)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, _, _)) and tuples = - count(NodeEx n, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, - ApOption argAp, Typ t, Ap ap | - fwdFlow(n, state, cc, summaryCtx, argT, argAp, t, ap, _) + count(NodeEx n, FlowState state, Cc cc, SummaryCtx summaryCtx, Typ t, Ap ap | + fwdFlow(n, state, cc, summaryCtx, t, ap, _) ) and calledges = count(DataFlowCall call, DataFlowCallable c | @@ -3879,18 +3900,6 @@ module MakeImpl Lang> { private module Stage4 = MkStage::Stage; - /** - * Holds if `argApf` is recorded as the summary context for flow reaching `node` - * and remains relevant for the following pruning stage. - */ - private predicate flowCandSummaryCtx(NodeEx node, FlowState state, AccessPathFront argApf) { - exists(AccessPathFront apf | - Stage4::revFlow(node, state, TReturnCtxMaybeFlowThrough(_), _, apf) and - Stage4::fwdFlow(node, state, any(Stage4::CcCall ccc), _, _, TAccessPathFrontSome(argApf), _, - apf, _) - ) - } - /** * Holds if a length 2 access path approximation with the head `c` is expected * to be expensive. @@ -3902,7 +3911,7 @@ module MakeImpl Lang> { strictcount(NodeEx n, FlowState state | Stage4::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = c)) or - flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = c)) + Stage4::nodeMayUseSummary(n, state, any(AccessPathFrontHead apf | apf.getHead() = c)) ) and accessPathApproxCostLimits(apLimit, tupleLimit) and apLimit < tails and @@ -4147,26 +4156,6 @@ module MakeImpl Lang> { private module Stage5 = MkStage::Stage; - pragma[nomagic] - private predicate nodeMayUseSummary0( - NodeEx n, ParamNodeEx p, FlowState state, AccessPathApprox apa - ) { - exists(AccessPathApprox apa0 | - Stage5::parameterMayFlowThrough(p, _) and - Stage5::revFlow(n, state, TReturnCtxMaybeFlowThrough(_), _, apa0) and - Stage5::fwdFlow(n, state, any(Stage5Param::CcCall ccc), TParamNodeSome(p.asNode()), _, - TAccessPathApproxSome(apa), _, apa0, _) - ) - } - - pragma[nomagic] - private predicate nodeMayUseSummary(NodeEx n, FlowState state, AccessPathApprox apa) { - exists(ParamNodeEx p | - Stage5::parameterMayFlowThrough(p, apa) and - nodeMayUseSummary0(n, p, state, apa) - ) - } - pragma[nomagic] private predicate stage5ConsCand(Content c, DataFlowType t, AccessPathFront apf, int len) { Stage5::consCand(c, t, any(AccessPathApprox ap | ap.getFront() = apf and ap.len() = len - 1)) @@ -4186,7 +4175,7 @@ module MakeImpl Lang> { private int countNodesUsingAccessPath(AccessPathApprox apa) { result = strictcount(NodeEx n, FlowState state | - Stage5::revFlow(n, state, apa) or nodeMayUseSummary(n, state, apa) + Stage5::revFlow(n, state, apa) or Stage5::nodeMayUseSummary(n, state, apa) ) } diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll index 434fca9c995..8a82c7b570c 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll @@ -1569,11 +1569,6 @@ module MakeImplCommon Lang> { TDataFlowCallNone() or TDataFlowCallSome(DataFlowCall call) - cached - newtype TParamNodeOption = - TParamNodeNone() or - TParamNodeSome(ParamNode p) - cached newtype TReturnCtx = TReturnCtxNone() or @@ -2234,19 +2229,6 @@ module MakeImplCommon Lang> { } } - /** An optional `ParamNode`. */ - class ParamNodeOption extends TParamNodeOption { - string toString() { - this = TParamNodeNone() and - result = "(none)" - or - exists(ParamNode p | - this = TParamNodeSome(p) and - result = p.toString() - ) - } - } - /** * A return context used to calculate flow summaries in reverse flow. * From d84e745ce9bc457ac7ed4afaa1403afbd277bcd4 Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Fri, 23 Aug 2024 14:24:51 +0200 Subject: [PATCH 207/258] Make ripunzip installer accessible from outside this repo. * The relative path to misc doesn't work when running from another repo * The buildifier dependency is not available from other repos, therefore we can't pull in //misc/bazel without further refactoring. Therefore, inline the runfiles snippet here. --- misc/ripunzip/BUILD.bazel | 2 +- misc/ripunzip/install.sh | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/misc/ripunzip/BUILD.bazel b/misc/ripunzip/BUILD.bazel index ea21e6b1c94..83317a74e01 100644 --- a/misc/ripunzip/BUILD.bazel +++ b/misc/ripunzip/BUILD.bazel @@ -9,5 +9,5 @@ sh_binary( srcs = ["install.sh"], args = ["$(rlocationpath :ripunzip)"], data = [":ripunzip"], - deps = ["//misc/bazel:sh_runfiles"], + deps = ["@bazel_tools//tools/bash/runfiles"], ) diff --git a/misc/ripunzip/install.sh b/misc/ripunzip/install.sh index 2fb4d48ed6c..45b69f84f78 100755 --- a/misc/ripunzip/install.sh +++ b/misc/ripunzip/install.sh @@ -2,7 +2,16 @@ set -eu -. misc/bazel/runfiles.sh +# --- begin runfiles.bash initialization v3 --- +# Copy-pasted from the Bazel Bash runfiles library v3. +set -uo pipefail; set +e; f=bazel_tools/tools/bash/runfiles/runfiles.bash +source "${RUNFILES_DIR:-/dev/null}/$f" 2>/dev/null || \ + source "$(grep -sm1 "^$f " "${RUNFILES_MANIFEST_FILE:-/dev/null}" | cut -f2- -d' ')" 2>/dev/null || \ + source "$0.runfiles/$f" 2>/dev/null || \ + source "$(grep -sm1 "^$f " "$0.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \ + source "$(grep -sm1 "^$f " "$0.exe.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \ + { echo>&2 "ERROR: cannot find $f"; exit 1; }; f=; set -e +# --- end runfiles.bash initialization v3 --- dest="${2:-$HOME/.local/bin}" From 7d500cf58c9fb1dfb8594dca221d02a95dee99d7 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Fri, 23 Aug 2024 15:08:10 +0100 Subject: [PATCH 208/258] Kotlin: Remove a redundant 'open' --- java/kotlin-extractor/src/main/kotlin/utils/Logger.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/kotlin-extractor/src/main/kotlin/utils/Logger.kt b/java/kotlin-extractor/src/main/kotlin/utils/Logger.kt index 955a34feb1f..44b2a71af8e 100644 --- a/java/kotlin-extractor/src/main/kotlin/utils/Logger.kt +++ b/java/kotlin-extractor/src/main/kotlin/utils/Logger.kt @@ -279,7 +279,7 @@ open class LoggerBase(val logCounter: LogCounter) { } } -open class Logger(val loggerBase: LoggerBase, open val dtw: DiagnosticTrapWriter) { +open class Logger(val loggerBase: LoggerBase, val dtw: DiagnosticTrapWriter) { fun flush() { dtw.flush() loggerBase.flush() From 6a7d8b53014c1a501c4b6619692a5b0685027506 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Fri, 23 Aug 2024 15:41:21 +0100 Subject: [PATCH 209/258] Kotlin: Restrict some TrapWriter types to DiagnosticTrapWriter We never use the greater generality, so this makes it easier to see what's happening. --- .../kotlin-extractor/src/main/kotlin/utils/Logger.kt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/java/kotlin-extractor/src/main/kotlin/utils/Logger.kt b/java/kotlin-extractor/src/main/kotlin/utils/Logger.kt index 955a34feb1f..3fdf5d29b83 100644 --- a/java/kotlin-extractor/src/main/kotlin/utils/Logger.kt +++ b/java/kotlin-extractor/src/main/kotlin/utils/Logger.kt @@ -220,26 +220,26 @@ open class LoggerBase(val logCounter: LogCounter) { logStream.write(logMessage.toJsonLine()) } - fun trace(tw: TrapWriter, msg: String) { + fun trace(dtw: DiagnosticTrapWriter, msg: String) { if (verbosity >= 4) { val logMessage = LogMessage("TRACE", msg) - tw.writeComment(logMessage.toText()) + dtw.writeComment(logMessage.toText()) logStream.write(logMessage.toJsonLine()) } } - fun debug(tw: TrapWriter, msg: String) { + fun debug(dtw: DiagnosticTrapWriter, msg: String) { if (verbosity >= 4) { val logMessage = LogMessage("DEBUG", msg) - tw.writeComment(logMessage.toText()) + dtw.writeComment(logMessage.toText()) logStream.write(logMessage.toJsonLine()) } } - fun info(tw: TrapWriter, msg: String) { + fun info(dtw: DiagnosticTrapWriter, msg: String) { if (verbosity >= 3) { val logMessage = LogMessage("INFO", msg) - tw.writeComment(logMessage.toText()) + dtw.writeComment(logMessage.toText()) logStream.write(logMessage.toJsonLine()) } } From 3ac8108c4a4d2d3627b47cd2a0f685173413e539 Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Fri, 23 Aug 2024 17:26:05 +0200 Subject: [PATCH 210/258] Address review. --- .github/workflows/buildifier.yml | 2 +- .pre-commit-config.yaml | 2 +- misc/bazel/BUILD.bazel | 10 ---------- misc/bazel/buildifier/BUILD.bazel | 9 +++++++++ misc/ripunzip/BUILD.bazel | 2 +- misc/ripunzip/install.sh | 11 +---------- 6 files changed, 13 insertions(+), 23 deletions(-) create mode 100644 misc/bazel/buildifier/BUILD.bazel diff --git a/.github/workflows/buildifier.yml b/.github/workflows/buildifier.yml index b5d1e2244d5..f3fbf97854c 100644 --- a/.github/workflows/buildifier.yml +++ b/.github/workflows/buildifier.yml @@ -24,5 +24,5 @@ jobs: extra_args: > buildifier --all-files 2>&1 || ( - echo -e "In order to format all bazel files, please run:\n bazel run //misc/bazel:buildifier"; exit 1 + echo -e "In order to format all bazel files, please run:\n bazel run //misc/bazel/buildifier"; exit 1 ) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 62ac0d95779..45935401bee 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -26,7 +26,7 @@ repos: name: Format bazel files files: \.(bazel|bzl) language: system - entry: bazel run //misc/bazel:buildifier + entry: bazel run //misc/bazel/buildifier pass_filenames: false # DISABLED: can be enabled by copying this config and installing `pre-commit` with `--config` on the copy diff --git a/misc/bazel/BUILD.bazel b/misc/bazel/BUILD.bazel index d5c15743903..c3670b75c94 100644 --- a/misc/bazel/BUILD.bazel +++ b/misc/bazel/BUILD.bazel @@ -1,13 +1,3 @@ -load("@buildifier_prebuilt//:rules.bzl", "buildifier") - -buildifier( - name = "buildifier", - exclude_patterns = [ - "./.git/*", - ], - lint_mode = "fix", -) - sh_library( name = "sh_runfiles", srcs = ["runfiles.sh"], diff --git a/misc/bazel/buildifier/BUILD.bazel b/misc/bazel/buildifier/BUILD.bazel new file mode 100644 index 00000000000..3ccdcda5f12 --- /dev/null +++ b/misc/bazel/buildifier/BUILD.bazel @@ -0,0 +1,9 @@ +load("@buildifier_prebuilt//:rules.bzl", "buildifier") + +buildifier( + name = "buildifier", + exclude_patterns = [ + "./.git/*", + ], + lint_mode = "fix", +) diff --git a/misc/ripunzip/BUILD.bazel b/misc/ripunzip/BUILD.bazel index 83317a74e01..ea21e6b1c94 100644 --- a/misc/ripunzip/BUILD.bazel +++ b/misc/ripunzip/BUILD.bazel @@ -9,5 +9,5 @@ sh_binary( srcs = ["install.sh"], args = ["$(rlocationpath :ripunzip)"], data = [":ripunzip"], - deps = ["@bazel_tools//tools/bash/runfiles"], + deps = ["//misc/bazel:sh_runfiles"], ) diff --git a/misc/ripunzip/install.sh b/misc/ripunzip/install.sh index 45b69f84f78..d9ee6dda1cb 100755 --- a/misc/ripunzip/install.sh +++ b/misc/ripunzip/install.sh @@ -2,16 +2,7 @@ set -eu -# --- begin runfiles.bash initialization v3 --- -# Copy-pasted from the Bazel Bash runfiles library v3. -set -uo pipefail; set +e; f=bazel_tools/tools/bash/runfiles/runfiles.bash -source "${RUNFILES_DIR:-/dev/null}/$f" 2>/dev/null || \ - source "$(grep -sm1 "^$f " "${RUNFILES_MANIFEST_FILE:-/dev/null}" | cut -f2- -d' ')" 2>/dev/null || \ - source "$0.runfiles/$f" 2>/dev/null || \ - source "$(grep -sm1 "^$f " "$0.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \ - source "$(grep -sm1 "^$f " "$0.exe.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \ - { echo>&2 "ERROR: cannot find $f"; exit 1; }; f=; set -e -# --- end runfiles.bash initialization v3 --- +source misc/bazel/runfiles.sh 2>/dev/null || source external/ql~/misc/bazel/runfiles.sh dest="${2:-$HOME/.local/bin}" From c92c96fa788e57fcc47f9010ddfb75b3ff0f3374 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Fri, 12 Jul 2024 14:02:54 +0200 Subject: [PATCH 211/258] Data flow: Compute local big step relation per stage --- .../MemoryFreed/UseAfterFree.expected | 1 - .../semmle/tainted/ArithmeticTainted.expected | 2 - .../CWE-338/InsecureRandomness.expected | 2 - .../CWE-1004/CookieWithoutHttpOnly.expected | 55 -- .../CWE-74/DsnInjectionLocal.expected | 1 - .../frameworks/Twirp/RequestForgery.expected | 1 - .../frameworks/XNetHtml/ReflectedXss.expected | 4 - .../Security/CWE-078/StoredCommand.expected | 1 - .../Security/CWE-079/StoredXss.expected | 1 - .../django-orm/ReflectedXss.expected | 1 - .../CodeInjection/CodeInjection.expected | 3 - .../codeql/dataflow/internal/DataFlowImpl.qll | 504 +++++++++--------- .../dataflow/internal/DataFlowImplCommon.qll | 18 +- .../CWE-078/CommandInjection.expected | 14 - 14 files changed, 246 insertions(+), 362 deletions(-) diff --git a/cpp/ql/test/query-tests/Critical/MemoryFreed/UseAfterFree.expected b/cpp/ql/test/query-tests/Critical/MemoryFreed/UseAfterFree.expected index 05fdfd7f035..891141f56f1 100644 --- a/cpp/ql/test/query-tests/Critical/MemoryFreed/UseAfterFree.expected +++ b/cpp/ql/test/query-tests/Critical/MemoryFreed/UseAfterFree.expected @@ -16,7 +16,6 @@ edges | test_free.cpp:152:27:152:27 | pointer to free output argument | test_free.cpp:153:5:153:5 | a | provenance | | | test_free.cpp:233:14:233:15 | pointer to free output argument | test_free.cpp:234:9:234:11 | *... ++ | provenance | | | test_free.cpp:234:9:234:11 | *... ++ | test_free.cpp:236:9:236:10 | * ... | provenance | | -| test_free.cpp:238:15:238:17 | *... ++ | test_free.cpp:238:15:238:17 | *... ++ | provenance | | | test_free.cpp:238:15:238:17 | *... ++ | test_free.cpp:241:9:241:10 | * ... | provenance | | | test_free.cpp:239:14:239:15 | pointer to free output argument | test_free.cpp:238:15:238:17 | *... ++ | provenance | | | test_free.cpp:245:10:245:11 | pointer to free output argument | test_free.cpp:246:9:246:10 | * ... | provenance | | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/tainted/ArithmeticTainted.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/tainted/ArithmeticTainted.expected index b6e6310b779..c60b26aae40 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/tainted/ArithmeticTainted.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/tainted/ArithmeticTainted.expected @@ -22,11 +22,9 @@ edges | test.c:41:5:41:24 | ... = ... | test.c:44:7:44:10 | len2 | provenance | | | test.c:41:5:41:24 | ... = ... | test.c:44:7:44:12 | ... -- | provenance | | | test.c:44:7:44:12 | ... -- | test.c:44:7:44:10 | len2 | provenance | | -| test.c:44:7:44:12 | ... -- | test.c:44:7:44:12 | ... -- | provenance | | | test.c:51:5:51:24 | ... = ... | test.c:54:7:54:10 | len3 | provenance | | | test.c:51:5:51:24 | ... = ... | test.c:54:7:54:12 | ... -- | provenance | | | test.c:54:7:54:12 | ... -- | test.c:54:7:54:10 | len3 | provenance | | -| test.c:54:7:54:12 | ... -- | test.c:54:7:54:12 | ... -- | provenance | | nodes | test2.cpp:12:21:12:21 | v | semmle.label | v | | test2.cpp:14:11:14:11 | v | semmle.label | v | diff --git a/csharp/ql/test/query-tests/Security Features/CWE-338/InsecureRandomness.expected b/csharp/ql/test/query-tests/Security Features/CWE-338/InsecureRandomness.expected index ab87d7c7254..f1cb229f93a 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-338/InsecureRandomness.expected +++ b/csharp/ql/test/query-tests/Security Features/CWE-338/InsecureRandomness.expected @@ -12,13 +12,11 @@ edges | InsecureRandomness.cs:29:57:29:60 | access to local variable data : Byte[] [element] : Byte | InsecureRandomness.cs:29:27:29:61 | call to method GetString : String | provenance | MaD:1 | | InsecureRandomness.cs:31:16:31:21 | access to local variable result : StringBuilder | InsecureRandomness.cs:31:16:31:32 | call to method ToString : String | provenance | MaD:3 | | InsecureRandomness.cs:31:16:31:32 | call to method ToString : String | InsecureRandomness.cs:12:27:12:50 | call to method InsecureRandomString | provenance | | -| InsecureRandomness.cs:60:13:60:18 | access to local variable result : String | InsecureRandomness.cs:60:13:60:18 | access to local variable result : String | provenance | | | InsecureRandomness.cs:60:13:60:18 | access to local variable result : String | InsecureRandomness.cs:62:16:62:21 | access to local variable result : String | provenance | | | InsecureRandomness.cs:60:23:60:40 | access to array element : String | InsecureRandomness.cs:60:13:60:18 | access to local variable result : String | provenance | | | InsecureRandomness.cs:60:31:60:39 | call to method Next : Int32 | InsecureRandomness.cs:60:23:60:40 | access to array element : String | provenance | Config | | InsecureRandomness.cs:62:16:62:21 | access to local variable result : String | InsecureRandomness.cs:62:16:62:32 | call to method ToString : String | provenance | MaD:4 | | InsecureRandomness.cs:62:16:62:32 | call to method ToString : String | InsecureRandomness.cs:13:20:13:56 | call to method InsecureRandomStringFromSelection | provenance | | -| InsecureRandomness.cs:72:13:72:18 | access to local variable result : String | InsecureRandomness.cs:72:13:72:18 | access to local variable result : String | provenance | | | InsecureRandomness.cs:72:13:72:18 | access to local variable result : String | InsecureRandomness.cs:74:16:74:21 | access to local variable result : String | provenance | | | InsecureRandomness.cs:72:23:72:40 | access to indexer : String | InsecureRandomness.cs:72:13:72:18 | access to local variable result : String | provenance | | | InsecureRandomness.cs:72:31:72:39 | call to method Next : Int32 | InsecureRandomness.cs:72:23:72:40 | access to indexer : String | provenance | Config | diff --git a/go/ql/test/experimental/CWE-1004/CookieWithoutHttpOnly.expected b/go/ql/test/experimental/CWE-1004/CookieWithoutHttpOnly.expected index ee50d6a6e07..467f08e74e6 100644 --- a/go/ql/test/experimental/CWE-1004/CookieWithoutHttpOnly.expected +++ b/go/ql/test/experimental/CWE-1004/CookieWithoutHttpOnly.expected @@ -3,8 +3,6 @@ edges | CookieWithoutHttpOnly.go:11:7:14:2 | struct literal | CookieWithoutHttpOnly.go:15:20:15:21 | &... | provenance | | | CookieWithoutHttpOnly.go:11:7:14:2 | struct literal | CookieWithoutHttpOnly.go:15:21:15:21 | c | provenance | | | CookieWithoutHttpOnly.go:12:10:12:18 | "session" | CookieWithoutHttpOnly.go:11:7:14:2 | struct literal | provenance | Config | -| CookieWithoutHttpOnly.go:15:20:15:21 | &... | CookieWithoutHttpOnly.go:15:20:15:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:15:20:15:21 | &... | CookieWithoutHttpOnly.go:15:20:15:21 | &... | provenance | | | CookieWithoutHttpOnly.go:15:20:15:21 | &... | CookieWithoutHttpOnly.go:15:21:15:21 | c | provenance | | | CookieWithoutHttpOnly.go:15:20:15:21 | &... [pointer] | CookieWithoutHttpOnly.go:15:20:15:21 | &... | provenance | | | CookieWithoutHttpOnly.go:15:20:15:21 | &... [pointer] | CookieWithoutHttpOnly.go:15:20:15:21 | &... | provenance | | @@ -18,10 +16,6 @@ edges | CookieWithoutHttpOnly.go:19:7:23:2 | struct literal | CookieWithoutHttpOnly.go:24:21:24:21 | c | provenance | | | CookieWithoutHttpOnly.go:20:13:20:21 | "session" | CookieWithoutHttpOnly.go:19:7:23:2 | struct literal | provenance | Config | | CookieWithoutHttpOnly.go:22:13:22:17 | false | CookieWithoutHttpOnly.go:19:7:23:2 | struct literal | provenance | Config | -| CookieWithoutHttpOnly.go:24:20:24:21 | &... | CookieWithoutHttpOnly.go:24:20:24:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:24:20:24:21 | &... | CookieWithoutHttpOnly.go:24:20:24:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:24:20:24:21 | &... | CookieWithoutHttpOnly.go:24:20:24:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:24:20:24:21 | &... | CookieWithoutHttpOnly.go:24:20:24:21 | &... | provenance | | | CookieWithoutHttpOnly.go:24:20:24:21 | &... | CookieWithoutHttpOnly.go:24:21:24:21 | c | provenance | | | CookieWithoutHttpOnly.go:24:20:24:21 | &... | CookieWithoutHttpOnly.go:24:21:24:21 | c | provenance | | | CookieWithoutHttpOnly.go:24:20:24:21 | &... [pointer] | CookieWithoutHttpOnly.go:24:20:24:21 | &... | provenance | | @@ -40,10 +34,6 @@ edges | CookieWithoutHttpOnly.go:28:7:32:2 | struct literal | CookieWithoutHttpOnly.go:33:21:33:21 | c | provenance | | | CookieWithoutHttpOnly.go:29:13:29:21 | "session" | CookieWithoutHttpOnly.go:28:7:32:2 | struct literal | provenance | Config | | CookieWithoutHttpOnly.go:31:13:31:16 | true | CookieWithoutHttpOnly.go:28:7:32:2 | struct literal | provenance | Config | -| CookieWithoutHttpOnly.go:33:20:33:21 | &... | CookieWithoutHttpOnly.go:33:20:33:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:33:20:33:21 | &... | CookieWithoutHttpOnly.go:33:20:33:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:33:20:33:21 | &... | CookieWithoutHttpOnly.go:33:20:33:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:33:20:33:21 | &... | CookieWithoutHttpOnly.go:33:20:33:21 | &... | provenance | | | CookieWithoutHttpOnly.go:33:20:33:21 | &... | CookieWithoutHttpOnly.go:33:21:33:21 | c | provenance | | | CookieWithoutHttpOnly.go:33:20:33:21 | &... | CookieWithoutHttpOnly.go:33:21:33:21 | c | provenance | | | CookieWithoutHttpOnly.go:33:20:33:21 | &... [pointer] | CookieWithoutHttpOnly.go:33:20:33:21 | &... | provenance | | @@ -62,10 +52,6 @@ edges | CookieWithoutHttpOnly.go:37:7:40:2 | struct literal | CookieWithoutHttpOnly.go:42:21:42:21 | c | provenance | | | CookieWithoutHttpOnly.go:38:10:38:18 | "session" | CookieWithoutHttpOnly.go:37:7:40:2 | struct literal | provenance | Config | | CookieWithoutHttpOnly.go:41:15:41:18 | true | CookieWithoutHttpOnly.go:37:7:40:2 | struct literal | provenance | Config | -| CookieWithoutHttpOnly.go:42:20:42:21 | &... | CookieWithoutHttpOnly.go:42:20:42:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:42:20:42:21 | &... | CookieWithoutHttpOnly.go:42:20:42:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:42:20:42:21 | &... | CookieWithoutHttpOnly.go:42:20:42:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:42:20:42:21 | &... | CookieWithoutHttpOnly.go:42:20:42:21 | &... | provenance | | | CookieWithoutHttpOnly.go:42:20:42:21 | &... | CookieWithoutHttpOnly.go:42:21:42:21 | c | provenance | | | CookieWithoutHttpOnly.go:42:20:42:21 | &... | CookieWithoutHttpOnly.go:42:21:42:21 | c | provenance | | | CookieWithoutHttpOnly.go:42:20:42:21 | &... [pointer] | CookieWithoutHttpOnly.go:42:20:42:21 | &... | provenance | | @@ -84,10 +70,6 @@ edges | CookieWithoutHttpOnly.go:46:7:49:2 | struct literal | CookieWithoutHttpOnly.go:51:21:51:21 | c | provenance | | | CookieWithoutHttpOnly.go:47:10:47:18 | "session" | CookieWithoutHttpOnly.go:46:7:49:2 | struct literal | provenance | Config | | CookieWithoutHttpOnly.go:50:15:50:19 | false | CookieWithoutHttpOnly.go:46:7:49:2 | struct literal | provenance | Config | -| CookieWithoutHttpOnly.go:51:20:51:21 | &... | CookieWithoutHttpOnly.go:51:20:51:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:51:20:51:21 | &... | CookieWithoutHttpOnly.go:51:20:51:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:51:20:51:21 | &... | CookieWithoutHttpOnly.go:51:20:51:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:51:20:51:21 | &... | CookieWithoutHttpOnly.go:51:20:51:21 | &... | provenance | | | CookieWithoutHttpOnly.go:51:20:51:21 | &... | CookieWithoutHttpOnly.go:51:21:51:21 | c | provenance | | | CookieWithoutHttpOnly.go:51:20:51:21 | &... | CookieWithoutHttpOnly.go:51:21:51:21 | c | provenance | | | CookieWithoutHttpOnly.go:51:20:51:21 | &... [pointer] | CookieWithoutHttpOnly.go:51:20:51:21 | &... | provenance | | @@ -108,10 +90,6 @@ edges | CookieWithoutHttpOnly.go:56:7:60:2 | struct literal | CookieWithoutHttpOnly.go:61:21:61:21 | c | provenance | | | CookieWithoutHttpOnly.go:57:13:57:21 | "session" | CookieWithoutHttpOnly.go:56:7:60:2 | struct literal | provenance | Config | | CookieWithoutHttpOnly.go:59:13:59:15 | val | CookieWithoutHttpOnly.go:56:7:60:2 | struct literal | provenance | Config | -| CookieWithoutHttpOnly.go:61:20:61:21 | &... | CookieWithoutHttpOnly.go:61:20:61:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:61:20:61:21 | &... | CookieWithoutHttpOnly.go:61:20:61:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:61:20:61:21 | &... | CookieWithoutHttpOnly.go:61:20:61:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:61:20:61:21 | &... | CookieWithoutHttpOnly.go:61:20:61:21 | &... | provenance | | | CookieWithoutHttpOnly.go:61:20:61:21 | &... | CookieWithoutHttpOnly.go:61:21:61:21 | c | provenance | | | CookieWithoutHttpOnly.go:61:20:61:21 | &... | CookieWithoutHttpOnly.go:61:21:61:21 | c | provenance | | | CookieWithoutHttpOnly.go:61:20:61:21 | &... [pointer] | CookieWithoutHttpOnly.go:61:20:61:21 | &... | provenance | | @@ -132,10 +110,6 @@ edges | CookieWithoutHttpOnly.go:66:7:70:2 | struct literal | CookieWithoutHttpOnly.go:71:21:71:21 | c | provenance | | | CookieWithoutHttpOnly.go:67:13:67:21 | "session" | CookieWithoutHttpOnly.go:66:7:70:2 | struct literal | provenance | Config | | CookieWithoutHttpOnly.go:69:13:69:15 | val | CookieWithoutHttpOnly.go:66:7:70:2 | struct literal | provenance | Config | -| CookieWithoutHttpOnly.go:71:20:71:21 | &... | CookieWithoutHttpOnly.go:71:20:71:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:71:20:71:21 | &... | CookieWithoutHttpOnly.go:71:20:71:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:71:20:71:21 | &... | CookieWithoutHttpOnly.go:71:20:71:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:71:20:71:21 | &... | CookieWithoutHttpOnly.go:71:20:71:21 | &... | provenance | | | CookieWithoutHttpOnly.go:71:20:71:21 | &... | CookieWithoutHttpOnly.go:71:21:71:21 | c | provenance | | | CookieWithoutHttpOnly.go:71:20:71:21 | &... | CookieWithoutHttpOnly.go:71:21:71:21 | c | provenance | | | CookieWithoutHttpOnly.go:71:20:71:21 | &... [pointer] | CookieWithoutHttpOnly.go:71:20:71:21 | &... | provenance | | @@ -156,10 +130,6 @@ edges | CookieWithoutHttpOnly.go:76:7:79:2 | struct literal | CookieWithoutHttpOnly.go:81:21:81:21 | c | provenance | | | CookieWithoutHttpOnly.go:77:10:77:18 | "session" | CookieWithoutHttpOnly.go:76:7:79:2 | struct literal | provenance | Config | | CookieWithoutHttpOnly.go:80:15:80:17 | val | CookieWithoutHttpOnly.go:76:7:79:2 | struct literal | provenance | Config | -| CookieWithoutHttpOnly.go:81:20:81:21 | &... | CookieWithoutHttpOnly.go:81:20:81:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:81:20:81:21 | &... | CookieWithoutHttpOnly.go:81:20:81:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:81:20:81:21 | &... | CookieWithoutHttpOnly.go:81:20:81:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:81:20:81:21 | &... | CookieWithoutHttpOnly.go:81:20:81:21 | &... | provenance | | | CookieWithoutHttpOnly.go:81:20:81:21 | &... | CookieWithoutHttpOnly.go:81:21:81:21 | c | provenance | | | CookieWithoutHttpOnly.go:81:20:81:21 | &... | CookieWithoutHttpOnly.go:81:21:81:21 | c | provenance | | | CookieWithoutHttpOnly.go:81:20:81:21 | &... [pointer] | CookieWithoutHttpOnly.go:81:20:81:21 | &... | provenance | | @@ -180,10 +150,6 @@ edges | CookieWithoutHttpOnly.go:86:7:89:2 | struct literal | CookieWithoutHttpOnly.go:91:21:91:21 | c | provenance | | | CookieWithoutHttpOnly.go:87:10:87:18 | "session" | CookieWithoutHttpOnly.go:86:7:89:2 | struct literal | provenance | Config | | CookieWithoutHttpOnly.go:90:15:90:17 | val | CookieWithoutHttpOnly.go:86:7:89:2 | struct literal | provenance | Config | -| CookieWithoutHttpOnly.go:91:20:91:21 | &... | CookieWithoutHttpOnly.go:91:20:91:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:91:20:91:21 | &... | CookieWithoutHttpOnly.go:91:20:91:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:91:20:91:21 | &... | CookieWithoutHttpOnly.go:91:20:91:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:91:20:91:21 | &... | CookieWithoutHttpOnly.go:91:20:91:21 | &... | provenance | | | CookieWithoutHttpOnly.go:91:20:91:21 | &... | CookieWithoutHttpOnly.go:91:21:91:21 | c | provenance | | | CookieWithoutHttpOnly.go:91:20:91:21 | &... | CookieWithoutHttpOnly.go:91:21:91:21 | c | provenance | | | CookieWithoutHttpOnly.go:91:20:91:21 | &... [pointer] | CookieWithoutHttpOnly.go:91:20:91:21 | &... | provenance | | @@ -198,8 +164,6 @@ edges | CookieWithoutHttpOnly.go:95:7:98:2 | struct literal | CookieWithoutHttpOnly.go:100:20:100:21 | &... | provenance | | | CookieWithoutHttpOnly.go:95:7:98:2 | struct literal | CookieWithoutHttpOnly.go:100:21:100:21 | c | provenance | | | CookieWithoutHttpOnly.go:99:15:99:19 | false | CookieWithoutHttpOnly.go:95:7:98:2 | struct literal | provenance | Config | -| CookieWithoutHttpOnly.go:100:20:100:21 | &... | CookieWithoutHttpOnly.go:100:20:100:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:100:20:100:21 | &... | CookieWithoutHttpOnly.go:100:20:100:21 | &... | provenance | | | CookieWithoutHttpOnly.go:100:20:100:21 | &... | CookieWithoutHttpOnly.go:100:21:100:21 | c | provenance | | | CookieWithoutHttpOnly.go:100:20:100:21 | &... [pointer] | CookieWithoutHttpOnly.go:100:20:100:21 | &... | provenance | | | CookieWithoutHttpOnly.go:100:20:100:21 | &... [pointer] | CookieWithoutHttpOnly.go:100:20:100:21 | &... | provenance | | @@ -214,10 +178,6 @@ edges | CookieWithoutHttpOnly.go:105:7:108:2 | struct literal | CookieWithoutHttpOnly.go:110:21:110:21 | c | provenance | | | CookieWithoutHttpOnly.go:106:10:106:13 | name | CookieWithoutHttpOnly.go:105:7:108:2 | struct literal | provenance | Config | | CookieWithoutHttpOnly.go:109:15:109:19 | false | CookieWithoutHttpOnly.go:105:7:108:2 | struct literal | provenance | Config | -| CookieWithoutHttpOnly.go:110:20:110:21 | &... | CookieWithoutHttpOnly.go:110:20:110:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:110:20:110:21 | &... | CookieWithoutHttpOnly.go:110:20:110:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:110:20:110:21 | &... | CookieWithoutHttpOnly.go:110:20:110:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:110:20:110:21 | &... | CookieWithoutHttpOnly.go:110:20:110:21 | &... | provenance | | | CookieWithoutHttpOnly.go:110:20:110:21 | &... | CookieWithoutHttpOnly.go:110:21:110:21 | c | provenance | | | CookieWithoutHttpOnly.go:110:20:110:21 | &... | CookieWithoutHttpOnly.go:110:21:110:21 | c | provenance | | | CookieWithoutHttpOnly.go:110:20:110:21 | &... [pointer] | CookieWithoutHttpOnly.go:110:20:110:21 | &... | provenance | | @@ -237,10 +197,6 @@ edges | CookieWithoutHttpOnly.go:115:7:118:2 | struct literal | CookieWithoutHttpOnly.go:120:21:120:21 | c | provenance | | | CookieWithoutHttpOnly.go:116:10:116:16 | session | CookieWithoutHttpOnly.go:115:7:118:2 | struct literal | provenance | Config | | CookieWithoutHttpOnly.go:119:15:119:19 | false | CookieWithoutHttpOnly.go:115:7:118:2 | struct literal | provenance | Config | -| CookieWithoutHttpOnly.go:120:20:120:21 | &... | CookieWithoutHttpOnly.go:120:20:120:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:120:20:120:21 | &... | CookieWithoutHttpOnly.go:120:20:120:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:120:20:120:21 | &... | CookieWithoutHttpOnly.go:120:20:120:21 | &... | provenance | | -| CookieWithoutHttpOnly.go:120:20:120:21 | &... | CookieWithoutHttpOnly.go:120:20:120:21 | &... | provenance | | | CookieWithoutHttpOnly.go:120:20:120:21 | &... | CookieWithoutHttpOnly.go:120:21:120:21 | c | provenance | | | CookieWithoutHttpOnly.go:120:20:120:21 | &... | CookieWithoutHttpOnly.go:120:21:120:21 | c | provenance | | | CookieWithoutHttpOnly.go:120:20:120:21 | &... [pointer] | CookieWithoutHttpOnly.go:120:20:120:21 | &... | provenance | | @@ -292,8 +248,6 @@ edges | CookieWithoutHttpOnly.go:134:16:134:20 | store | CookieWithoutHttpOnly.go:202:2:202:6 | store | provenance | | | CookieWithoutHttpOnly.go:135:2:135:8 | implicit dereference | CookieWithoutHttpOnly.go:134:2:134:8 | definition of session [pointer] | provenance | | | CookieWithoutHttpOnly.go:135:2:135:8 | implicit dereference | CookieWithoutHttpOnly.go:134:2:134:8 | definition of session [pointer] | provenance | | -| CookieWithoutHttpOnly.go:135:2:135:8 | implicit dereference | CookieWithoutHttpOnly.go:135:2:135:8 | implicit dereference | provenance | | -| CookieWithoutHttpOnly.go:135:2:135:8 | implicit dereference | CookieWithoutHttpOnly.go:135:2:135:8 | implicit dereference | provenance | | | CookieWithoutHttpOnly.go:135:2:135:8 | implicit dereference | CookieWithoutHttpOnly.go:137:2:137:8 | session | provenance | | | CookieWithoutHttpOnly.go:135:2:135:8 | implicit dereference | CookieWithoutHttpOnly.go:137:2:137:8 | session | provenance | | | CookieWithoutHttpOnly.go:135:2:135:8 | implicit dereference | CookieWithoutHttpOnly.go:142:2:142:8 | session | provenance | | @@ -316,7 +270,6 @@ edges | CookieWithoutHttpOnly.go:137:20:140:2 | &... | CookieWithoutHttpOnly.go:137:2:137:8 | implicit dereference | provenance | Config | | CookieWithoutHttpOnly.go:137:20:140:2 | &... | CookieWithoutHttpOnly.go:137:2:137:8 | session | provenance | Config | | CookieWithoutHttpOnly.go:137:20:140:2 | &... | CookieWithoutHttpOnly.go:137:2:137:8 | session | provenance | Config | -| CookieWithoutHttpOnly.go:137:20:140:2 | &... | CookieWithoutHttpOnly.go:137:20:140:2 | &... | provenance | | | CookieWithoutHttpOnly.go:137:20:140:2 | &... | CookieWithoutHttpOnly.go:137:21:140:2 | struct literal | provenance | | | CookieWithoutHttpOnly.go:137:21:140:2 | struct literal | CookieWithoutHttpOnly.go:137:20:140:2 | &... | provenance | | | CookieWithoutHttpOnly.go:137:21:140:2 | struct literal | CookieWithoutHttpOnly.go:137:20:140:2 | &... | provenance | | @@ -336,7 +289,6 @@ edges | CookieWithoutHttpOnly.go:146:16:146:20 | store | CookieWithoutHttpOnly.go:195:16:195:20 | store | provenance | | | CookieWithoutHttpOnly.go:146:16:146:20 | store | CookieWithoutHttpOnly.go:202:2:202:6 | store | provenance | | | CookieWithoutHttpOnly.go:147:2:147:8 | implicit dereference | CookieWithoutHttpOnly.go:146:2:146:8 | definition of session [pointer] | provenance | | -| CookieWithoutHttpOnly.go:147:2:147:8 | implicit dereference | CookieWithoutHttpOnly.go:147:2:147:8 | implicit dereference | provenance | | | CookieWithoutHttpOnly.go:147:2:147:8 | implicit dereference | CookieWithoutHttpOnly.go:149:2:149:8 | session | provenance | | | CookieWithoutHttpOnly.go:147:2:147:8 | implicit dereference | CookieWithoutHttpOnly.go:153:2:153:8 | session | provenance | | | CookieWithoutHttpOnly.go:147:2:147:8 | session [pointer] | CookieWithoutHttpOnly.go:147:2:147:8 | implicit dereference | provenance | | @@ -348,7 +300,6 @@ edges | CookieWithoutHttpOnly.go:149:2:149:8 | session [pointer] | CookieWithoutHttpOnly.go:149:2:149:8 | implicit dereference | provenance | | | CookieWithoutHttpOnly.go:149:20:151:2 | &... | CookieWithoutHttpOnly.go:149:2:149:8 | implicit dereference | provenance | Config | | CookieWithoutHttpOnly.go:149:20:151:2 | &... | CookieWithoutHttpOnly.go:149:2:149:8 | session | provenance | Config | -| CookieWithoutHttpOnly.go:149:20:151:2 | &... | CookieWithoutHttpOnly.go:149:20:151:2 | &... | provenance | | | CookieWithoutHttpOnly.go:149:21:151:2 | struct literal | CookieWithoutHttpOnly.go:149:20:151:2 | &... | provenance | | | CookieWithoutHttpOnly.go:157:2:157:9 | definition of httpOnly | CookieWithoutHttpOnly.go:163:13:163:20 | httpOnly | provenance | | | CookieWithoutHttpOnly.go:157:14:157:17 | true | CookieWithoutHttpOnly.go:163:13:163:20 | httpOnly | provenance | | @@ -371,8 +322,6 @@ edges | CookieWithoutHttpOnly.go:158:16:158:20 | store | CookieWithoutHttpOnly.go:202:2:202:6 | store | provenance | | | CookieWithoutHttpOnly.go:159:2:159:8 | implicit dereference | CookieWithoutHttpOnly.go:158:2:158:8 | definition of session [pointer] | provenance | | | CookieWithoutHttpOnly.go:159:2:159:8 | implicit dereference | CookieWithoutHttpOnly.go:158:2:158:8 | definition of session [pointer] | provenance | | -| CookieWithoutHttpOnly.go:159:2:159:8 | implicit dereference | CookieWithoutHttpOnly.go:159:2:159:8 | implicit dereference | provenance | | -| CookieWithoutHttpOnly.go:159:2:159:8 | implicit dereference | CookieWithoutHttpOnly.go:159:2:159:8 | implicit dereference | provenance | | | CookieWithoutHttpOnly.go:159:2:159:8 | implicit dereference | CookieWithoutHttpOnly.go:161:2:161:8 | session | provenance | | | CookieWithoutHttpOnly.go:159:2:159:8 | implicit dereference | CookieWithoutHttpOnly.go:161:2:161:8 | session | provenance | | | CookieWithoutHttpOnly.go:159:2:159:8 | implicit dereference | CookieWithoutHttpOnly.go:166:2:166:8 | session | provenance | | @@ -395,7 +344,6 @@ edges | CookieWithoutHttpOnly.go:161:20:164:2 | &... | CookieWithoutHttpOnly.go:161:2:161:8 | implicit dereference | provenance | Config | | CookieWithoutHttpOnly.go:161:20:164:2 | &... | CookieWithoutHttpOnly.go:161:2:161:8 | session | provenance | Config | | CookieWithoutHttpOnly.go:161:20:164:2 | &... | CookieWithoutHttpOnly.go:161:2:161:8 | session | provenance | Config | -| CookieWithoutHttpOnly.go:161:20:164:2 | &... | CookieWithoutHttpOnly.go:161:20:164:2 | &... | provenance | | | CookieWithoutHttpOnly.go:161:20:164:2 | &... | CookieWithoutHttpOnly.go:161:21:164:2 | struct literal | provenance | | | CookieWithoutHttpOnly.go:161:21:164:2 | struct literal | CookieWithoutHttpOnly.go:161:20:164:2 | &... | provenance | | | CookieWithoutHttpOnly.go:161:21:164:2 | struct literal | CookieWithoutHttpOnly.go:161:20:164:2 | &... | provenance | | @@ -421,8 +369,6 @@ edges | CookieWithoutHttpOnly.go:170:16:170:20 | store | CookieWithoutHttpOnly.go:202:2:202:6 | store | provenance | | | CookieWithoutHttpOnly.go:171:2:171:8 | implicit dereference | CookieWithoutHttpOnly.go:170:2:170:8 | definition of session [pointer] | provenance | | | CookieWithoutHttpOnly.go:171:2:171:8 | implicit dereference | CookieWithoutHttpOnly.go:170:2:170:8 | definition of session [pointer] | provenance | | -| CookieWithoutHttpOnly.go:171:2:171:8 | implicit dereference | CookieWithoutHttpOnly.go:171:2:171:8 | implicit dereference | provenance | | -| CookieWithoutHttpOnly.go:171:2:171:8 | implicit dereference | CookieWithoutHttpOnly.go:171:2:171:8 | implicit dereference | provenance | | | CookieWithoutHttpOnly.go:171:2:171:8 | implicit dereference | CookieWithoutHttpOnly.go:173:2:173:8 | session | provenance | | | CookieWithoutHttpOnly.go:171:2:171:8 | implicit dereference | CookieWithoutHttpOnly.go:173:2:173:8 | session | provenance | | | CookieWithoutHttpOnly.go:171:2:171:8 | implicit dereference | CookieWithoutHttpOnly.go:178:2:178:8 | session | provenance | | @@ -445,7 +391,6 @@ edges | CookieWithoutHttpOnly.go:173:20:176:2 | &... | CookieWithoutHttpOnly.go:173:2:173:8 | implicit dereference | provenance | Config | | CookieWithoutHttpOnly.go:173:20:176:2 | &... | CookieWithoutHttpOnly.go:173:2:173:8 | session | provenance | Config | | CookieWithoutHttpOnly.go:173:20:176:2 | &... | CookieWithoutHttpOnly.go:173:2:173:8 | session | provenance | Config | -| CookieWithoutHttpOnly.go:173:20:176:2 | &... | CookieWithoutHttpOnly.go:173:20:176:2 | &... | provenance | | | CookieWithoutHttpOnly.go:173:20:176:2 | &... | CookieWithoutHttpOnly.go:173:21:176:2 | struct literal | provenance | | | CookieWithoutHttpOnly.go:173:21:176:2 | struct literal | CookieWithoutHttpOnly.go:173:20:176:2 | &... | provenance | | | CookieWithoutHttpOnly.go:173:21:176:2 | struct literal | CookieWithoutHttpOnly.go:173:20:176:2 | &... | provenance | | diff --git a/go/ql/test/experimental/CWE-74/DsnInjectionLocal.expected b/go/ql/test/experimental/CWE-74/DsnInjectionLocal.expected index a9d713d9392..7b433794a6c 100644 --- a/go/ql/test/experimental/CWE-74/DsnInjectionLocal.expected +++ b/go/ql/test/experimental/CWE-74/DsnInjectionLocal.expected @@ -11,7 +11,6 @@ edges | Dsn.go:62:2:62:4 | definition of cfg [pointer] | Dsn.go:67:102:67:104 | cfg [pointer] | provenance | | | Dsn.go:63:9:63:11 | cfg [pointer] | Dsn.go:63:9:63:11 | implicit dereference | provenance | | | Dsn.go:63:9:63:11 | implicit dereference | Dsn.go:62:2:62:4 | definition of cfg [pointer] | provenance | | -| Dsn.go:63:9:63:11 | implicit dereference | Dsn.go:63:9:63:11 | implicit dereference | provenance | | | Dsn.go:63:9:63:11 | implicit dereference | Dsn.go:67:102:67:108 | selection of dsn | provenance | | | Dsn.go:63:19:63:25 | selection of Args | Dsn.go:63:19:63:29 | slice expression | provenance | | | Dsn.go:63:19:63:29 | slice expression | Dsn.go:63:9:63:11 | implicit dereference | provenance | FunctionModel | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected b/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected index ac8a66d1e2a..93ad219ccfc 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Twirp/RequestForgery.expected @@ -2,7 +2,6 @@ | server/main.go:30:38:30:48 | selection of Text | rpc/notes/service.twirp.go:538:25:538:32 | selection of Body | server/main.go:30:38:30:48 | selection of Text | The $@ of this request depends on a $@. | server/main.go:30:38:30:48 | selection of Text | URL | rpc/notes/service.twirp.go:538:25:538:32 | selection of Body | user-provided value | | server/main.go:30:38:30:48 | selection of Text | server/main.go:19:56:19:61 | definition of params | server/main.go:30:38:30:48 | selection of Text | The $@ of this request depends on a $@. | server/main.go:30:38:30:48 | selection of Text | URL | server/main.go:19:56:19:61 | definition of params | user-provided value | edges -| client/main.go:16:35:16:78 | &... | client/main.go:16:35:16:78 | &... | provenance | | | client/main.go:16:35:16:78 | &... | server/main.go:19:56:19:61 | definition of params | provenance | | | rpc/notes/service.twirp.go:473:6:473:13 | definition of typedReq | rpc/notes/service.twirp.go:477:44:477:51 | typedReq | provenance | | | rpc/notes/service.twirp.go:477:44:477:51 | typedReq | server/main.go:19:56:19:61 | definition of params | provenance | | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected index cc487a014a0..7cd78374940 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/XNetHtml/ReflectedXss.expected @@ -50,8 +50,6 @@ edges | test.go:43:2:43:43 | ... := ...[0] | test.go:44:24:44:34 | taintedNode | provenance | | | test.go:43:31:43:42 | selection of Body | test.go:43:2:43:43 | ... := ...[0] | provenance | Src:MaD:15 MaD:3 | | test.go:44:24:44:34 | taintedNode | test.go:42:6:42:14 | definition of cleanNode | provenance | MaD:8 | -| test.go:45:22:45:31 | &... | test.go:45:22:45:31 | &... | provenance | | -| test.go:45:22:45:31 | &... | test.go:45:22:45:31 | &... | provenance | | | test.go:45:22:45:31 | &... | test.go:45:23:45:31 | cleanNode | provenance | | | test.go:45:22:45:31 | &... [pointer] | test.go:45:22:45:31 | &... | provenance | | | test.go:45:22:45:31 | &... [pointer] | test.go:45:22:45:31 | &... | provenance | | @@ -63,8 +61,6 @@ edges | test.go:48:2:48:44 | ... := ...[0] | test.go:49:26:49:37 | taintedNode2 | provenance | | | test.go:48:32:48:43 | selection of Body | test.go:48:2:48:44 | ... := ...[0] | provenance | Src:MaD:15 MaD:3 | | test.go:49:26:49:37 | taintedNode2 | test.go:47:6:47:15 | definition of cleanNode2 | provenance | MaD:9 | -| test.go:50:22:50:32 | &... | test.go:50:22:50:32 | &... | provenance | | -| test.go:50:22:50:32 | &... | test.go:50:22:50:32 | &... | provenance | | | test.go:50:22:50:32 | &... | test.go:50:23:50:32 | cleanNode2 | provenance | | | test.go:50:22:50:32 | &... [pointer] | test.go:50:22:50:32 | &... | provenance | | | test.go:50:22:50:32 | &... [pointer] | test.go:50:22:50:32 | &... | provenance | | diff --git a/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected b/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected index b1c1822ca70..faba4f42251 100644 --- a/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected +++ b/go/ql/test/query-tests/Security/CWE-078/StoredCommand.expected @@ -3,7 +3,6 @@ edges | StoredCommand.go:11:2:11:27 | ... := ...[0] | StoredCommand.go:13:2:13:5 | rows | provenance | | | StoredCommand.go:13:2:13:5 | rows | StoredCommand.go:13:12:13:19 | &... | provenance | FunctionModel | -| StoredCommand.go:13:12:13:19 | &... | StoredCommand.go:13:12:13:19 | &... | provenance | | | StoredCommand.go:13:12:13:19 | &... | StoredCommand.go:14:22:14:28 | cmdName | provenance | Sink:MaD:1 | models | 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual | diff --git a/go/ql/test/query-tests/Security/CWE-079/StoredXss.expected b/go/ql/test/query-tests/Security/CWE-079/StoredXss.expected index dfbfac29d86..efe98650a4e 100644 --- a/go/ql/test/query-tests/Security/CWE-079/StoredXss.expected +++ b/go/ql/test/query-tests/Security/CWE-079/StoredXss.expected @@ -2,7 +2,6 @@ edges | StoredXss.go:13:21:13:31 | call to Name | StoredXss.go:13:21:13:36 | ...+... | provenance | | | stored.go:18:3:18:28 | ... := ...[0] | stored.go:25:14:25:17 | rows | provenance | | | stored.go:25:14:25:17 | rows | stored.go:25:29:25:33 | &... | provenance | FunctionModel | -| stored.go:25:29:25:33 | &... | stored.go:25:29:25:33 | &... | provenance | | | stored.go:25:29:25:33 | &... | stored.go:30:22:30:25 | name | provenance | | | stored.go:59:30:59:33 | definition of path | stored.go:61:22:61:25 | path | provenance | | nodes diff --git a/python/ql/test/library-tests/frameworks/django-orm/ReflectedXss.expected b/python/ql/test/library-tests/frameworks/django-orm/ReflectedXss.expected index fb9a00ca180..938e4d2c4e9 100644 --- a/python/ql/test/library-tests/frameworks/django-orm/ReflectedXss.expected +++ b/python/ql/test/library-tests/frameworks/django-orm/ReflectedXss.expected @@ -16,7 +16,6 @@ edges | testapp/orm_security_tests.py:42:13:42:18 | ControlFlowNode for person [Attribute name] | testapp/orm_security_tests.py:43:49:43:54 | ControlFlowNode for person [Attribute name] | provenance | | | testapp/orm_security_tests.py:42:23:42:42 | ControlFlowNode for Attribute() [List element, Attribute age] | testapp/orm_security_tests.py:42:13:42:18 | ControlFlowNode for person [Attribute age] | provenance | | | testapp/orm_security_tests.py:42:23:42:42 | ControlFlowNode for Attribute() [List element, Attribute name] | testapp/orm_security_tests.py:42:13:42:18 | ControlFlowNode for person [Attribute name] | provenance | | -| testapp/orm_security_tests.py:43:13:43:21 | ControlFlowNode for resp_text | testapp/orm_security_tests.py:43:13:43:21 | ControlFlowNode for resp_text | provenance | | | testapp/orm_security_tests.py:43:13:43:21 | ControlFlowNode for resp_text | testapp/orm_security_tests.py:44:29:44:37 | ControlFlowNode for resp_text | provenance | | | testapp/orm_security_tests.py:43:49:43:54 | ControlFlowNode for person [Attribute name] | testapp/orm_security_tests.py:43:49:43:59 | ControlFlowNode for Attribute | provenance | | | testapp/orm_security_tests.py:43:49:43:59 | ControlFlowNode for Attribute | testapp/orm_security_tests.py:43:13:43:21 | ControlFlowNode for resp_text | provenance | | diff --git a/ruby/ql/test/query-tests/security/cwe-094/CodeInjection/CodeInjection.expected b/ruby/ql/test/query-tests/security/cwe-094/CodeInjection/CodeInjection.expected index bec51d351fb..ca8345d92ee 100644 --- a/ruby/ql/test/query-tests/security/cwe-094/CodeInjection/CodeInjection.expected +++ b/ruby/ql/test/query-tests/security/cwe-094/CodeInjection/CodeInjection.expected @@ -17,7 +17,6 @@ edges | CodeInjection.rb:38:24:38:27 | code | CodeInjection.rb:38:10:38:28 | call to escape | provenance | MaD:21 | | CodeInjection.rb:38:24:38:27 | code | CodeInjection.rb:38:10:38:28 | call to escape | provenance | MaD:21 | | CodeInjection.rb:78:5:78:8 | code | CodeInjection.rb:80:16:80:19 | code | provenance | | -| CodeInjection.rb:78:5:78:8 | code | CodeInjection.rb:86:10:86:25 | ... + ... | provenance | | | CodeInjection.rb:78:5:78:8 | code | CodeInjection.rb:86:10:86:37 | ... + ... | provenance | | | CodeInjection.rb:78:5:78:8 | code | CodeInjection.rb:86:22:86:25 | code | provenance | | | CodeInjection.rb:78:5:78:8 | code | CodeInjection.rb:88:10:88:32 | "prefix_#{...}_suffix" | provenance | AdditionalTaintStep | @@ -27,7 +26,6 @@ edges | CodeInjection.rb:78:12:78:17 | call to params | CodeInjection.rb:78:12:78:24 | ...[...] | provenance | | | CodeInjection.rb:78:12:78:24 | ...[...] | CodeInjection.rb:78:5:78:8 | code | provenance | | | CodeInjection.rb:78:12:78:24 | ...[...] | CodeInjection.rb:78:5:78:8 | code | provenance | | -| CodeInjection.rb:86:10:86:25 | ... + ... | CodeInjection.rb:86:10:86:37 | ... + ... | provenance | | | CodeInjection.rb:86:10:86:25 | ... + ... [element] | CodeInjection.rb:86:10:86:37 | ... + ... [element] | provenance | | | CodeInjection.rb:86:10:86:37 | ... + ... [element] | CodeInjection.rb:86:10:86:37 | ... + ... | provenance | | | CodeInjection.rb:86:22:86:25 | code | CodeInjection.rb:86:10:86:25 | ... + ... [element] | provenance | | @@ -74,7 +72,6 @@ nodes | CodeInjection.rb:78:12:78:24 | ...[...] | semmle.label | ...[...] | | CodeInjection.rb:78:12:78:24 | ...[...] | semmle.label | ...[...] | | CodeInjection.rb:80:16:80:19 | code | semmle.label | code | -| CodeInjection.rb:86:10:86:25 | ... + ... | semmle.label | ... + ... | | CodeInjection.rb:86:10:86:25 | ... + ... [element] | semmle.label | ... + ... [element] | | CodeInjection.rb:86:10:86:37 | ... + ... | semmle.label | ... + ... | | CodeInjection.rb:86:10:86:37 | ... + ... [element] | semmle.label | ... + ... [element] | diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 379a618dbdf..8280f1a9da2 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -1068,18 +1068,6 @@ module MakeImpl Lang> { if label1 = "" then result = label2 else result = label1 } - pragma[noinline] - private predicate localFlowStepNodeCand1(NodeEx node1, NodeEx node2, string model) { - Stage1::revFlow(node2) and - localFlowStepEx(node1, node2, model) - } - - pragma[noinline] - private predicate additionalLocalFlowStepNodeCand1(NodeEx node1, NodeEx node2, string model) { - Stage1::revFlow(node2) and - additionalLocalFlowStep(node1, node2, model) - } - pragma[nomagic] private predicate viableReturnPosOutNodeCand1(DataFlowCall call, ReturnPosition pos, NodeEx out) { Stage1::revFlow(out) and @@ -1376,8 +1364,6 @@ module MakeImpl Lang> { predicate instanceofCcNoCall(CcNoCall cc); - class LocalCc; - DataFlowCallable viableImplCallContextReduced(DataFlowCall call, CcCall ctx); bindingset[call, ctx] @@ -1394,13 +1380,13 @@ module MakeImpl Lang> { CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call); bindingset[cc] - LocalCc getLocalCc(Cc cc); + LocalCallContext getLocalCc(Cc cc); bindingset[node1, state1] bindingset[node2, state2] predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, - Typ t, LocalCc lcc, string label + DataFlowType t, LocalCallContext lcc, string label ); bindingset[node, state, t0, ap] @@ -1503,6 +1489,18 @@ module MakeImpl Lang> { fwdFlow1(_, _, _, _, _, _, t0, t, ap, _) and t0 != t } + bindingset[node1, state1] + bindingset[node2, state2] + additional predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + Typ t, LocalCallContext lcc, string label + ) { + exists(DataFlowType type | + Param::localStep(node1, state1, node2, state2, preservesValue, type, lcc, label) and + t = getTyp(type) + ) + } + pragma[nomagic] private predicate fwdFlow0( NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, @@ -1517,7 +1515,7 @@ module MakeImpl Lang> { ap instanceof ApNil and apa = getApprox(ap) or - exists(NodeEx mid, FlowState state0, Typ t0, LocalCc localCc | + exists(NodeEx mid, FlowState state0, Typ t0, LocalCallContext localCc | fwdFlow(mid, state0, cc, summaryCtx, argT, argAp, t0, ap, apa) and localCc = getLocalCc(cc) | @@ -2532,6 +2530,173 @@ module MakeImpl Lang> { callEdgeReturn(call, c, _, _, _, _, _) } + /** Provides a big-step relation for local flow steps. */ + additional module LocalFlowBigStep { + final private class NodeExFinal = NodeEx; + + /** + * A node where some checking is required, and hence the big-step relation + * is not allowed to step over. + */ + private class FlowCheckNode extends NodeExFinal { + FlowCheckNode() { + revFlow(this, _, _) and + ( + castNode(this.asNode()) or + clearsContentCached(this.asNode(), _) or + expectsContentCached(this.asNode(), _) or + neverSkipInPathGraph(this.asNode()) or + Config::neverSkip(this.asNode()) + ) + } + } + + private predicate additionalLocalStateStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, DataFlowType t, + LocalCallContext lcc, string label + ) { + exists(ApNil nil | + revFlow(node1, state1, pragma[only_bind_into](nil)) and + revFlow(node2, state2, pragma[only_bind_into](nil)) and + Param::localStep(node1, state1, node2, state2, false, t, lcc, label) and + state1 != state2 + ) + } + + /** + * Holds if `node` can be the first node in a maximal subsequence of local + * flow steps in a dataflow path. + */ + private predicate localFlowEntry(NodeEx node, FlowState state, Ap ap) { + revFlow(node, state, ap) and + ( + sourceNode(node, state) + or + jumpStepEx(_, node) + or + additionalJumpStep(_, node, _) + or + additionalJumpStateStep(_, _, node, state) + or + node instanceof ParamNodeEx + or + node.asNode() instanceof OutNodeExt + or + storeStepCand(_, _, _, node, _, _) + or + readStepCand(_, _, node) + or + node instanceof FlowCheckNode + or + exists(FlowState s | + additionalLocalStateStep(_, s, node, state, _, _, _) and + s != state + ) + ) + } + + /** + * Holds if `node` can be the last node in a maximal subsequence of local + * flow steps in a dataflow path. + */ + private predicate localFlowExit(NodeEx node, FlowState state, Ap ap) { + revFlow(node, pragma[only_bind_into](state), pragma[only_bind_into](ap)) and + ( + exists(NodeEx next, Ap apNext | revFlow(next, pragma[only_bind_into](state), apNext) | + jumpStepEx(node, next) and + apNext = ap + or + additionalJumpStep(node, next, _) and + apNext = ap and + ap instanceof ApNil + or + callEdgeArgParam(_, _, node, next, _, ap) and + apNext = ap + or + callEdgeReturn(_, _, node, _, next, _, ap) and + apNext = ap + or + storeStepCand(node, _, _, next, _, _) + or + readStepCand(node, _, next) + ) + or + exists(NodeEx next, FlowState s | + revFlow(next, s, pragma[only_bind_into](ap)) and ap instanceof ApNil + | + additionalJumpStateStep(node, state, next, s) + or + additionalLocalStateStep(node, state, next, s) and + s != state + ) + or + node instanceof FlowCheckNode + or + sinkNode(node, state) and + ap instanceof ApNil + ) + } + + /** + * Holds if the local path from `node1` to `node2` is a prefix of a maximal + * subsequence of local flow steps in a dataflow path. + * + * This is the transitive closure of `[additional]localFlowStep` beginning + * at `localFlowEntry`. + */ + pragma[nomagic] + private predicate localFlowStepPlus( + NodeEx node1, FlowState state, NodeEx node2, boolean preservesValue, DataFlowType t, + LocalCallContext cc, string label + ) { + not inBarrier(node2, state) and + not outBarrier(node1, state) and + exists(NodeEx node0, boolean preservesValue0, DataFlowType t0, string label0, Ap ap | + Param::localStep(node0, state, node2, state, preservesValue0, t0, cc, label0) and + revFlow(node2, pragma[only_bind_into](state), pragma[only_bind_into](ap)) and + not outBarrier(node0, state) and + (preservesValue = true or ap instanceof ApNil) + | + node1 = node0 and + localFlowEntry(node1, pragma[only_bind_into](state), pragma[only_bind_into](ap)) and + preservesValue = preservesValue0 and + label = label0 and + t = t0 and + node1 != node2 + or + exists(boolean preservesValue1, DataFlowType t1, string label1 | + localFlowStepPlus(node1, pragma[only_bind_into](state), node0, preservesValue1, t1, + cc, label1) and + not node0 instanceof FlowCheckNode and + preservesValue = preservesValue0.booleanAnd(preservesValue1) and + label = mergeLabels(label1, label0) and + if preservesValue0 = true then t = t1 else t = t0 + ) + ) + } + + /** + * Holds if `node1` can step to `node2` in one or more local steps and this + * path can occur as a maximal subsequence of local steps in a dataflow path. + */ + pragma[nomagic] + predicate localFlowBigStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + DataFlowType t, LocalCallContext callContext, string label + ) { + exists(Ap ap | + localFlowStepPlus(node1, state1, node2, preservesValue, t, callContext, label) and + localFlowExit(node2, state1, ap) and + state1 = state2 + | + preservesValue = true or ap instanceof ApNil + ) + or + additionalLocalStateStep(node1, state1, node2, state2, t, callContext, label) and + preservesValue = false + } + } + /** * INTERNAL: Only for debugging. * @@ -2888,7 +3053,7 @@ module MakeImpl Lang> { PathNodeImpl pn1, NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, Ap ap, string label, boolean isStoreStep ) { - exists(NodeEx mid, FlowState state0, Typ t0, LocalCc localCc | + exists(NodeEx mid, FlowState state0, Typ t0, LocalCallContext localCc | pn1 = TPathNodeMid(mid, state0, cc, summaryCtx, argT, argAp, t0, ap) and localCc = getLocalCc(cc) and isStoreStep = false @@ -3358,10 +3523,13 @@ module MakeImpl Lang> { predicate instanceofCcNoCall(CcNoCall cc) { any() } - class LocalCc = Unit; - bindingset[cc] - LocalCc getLocalCc(Cc cc) { any() } + LocalCallContext getLocalCc(Cc cc) { + cc = ccSomeCall() and + result instanceof LocalCallContextSpecificCall + or + result instanceof LocalCallContextAny + } DataFlowCallable viableImplCallContextReduced(DataFlowCall call, CcCall ctx) { none() } @@ -3417,29 +3585,63 @@ module MakeImpl Lang> { ApOption apSome(Ap ap) { result = TBooleanSome(ap) } import CachedCallContextSensitivity - import NoLocalCallContext + import LocalCallContext + + pragma[noinline] + private predicate localFlowStepNodeCand1(NodeEx node1, NodeEx node2, string model) { + Stage1::revFlow(node2) and + localFlowStepEx(node1, node2, model) + } + + pragma[nomagic] + private predicate additionalLocalFlowStepNodeCand1(NodeEx node1, NodeEx node2, string model) { + Stage1::revFlow(node2) and + additionalLocalFlowStep(node1, node2, model) + } + + pragma[nomagic] + private predicate localStep( + NodeEx node1, NodeEx node2, boolean preservesValue, DataFlowType t, LocalCallContext lcc, + string label + ) { + ( + preservesValue = true and + localFlowStepNodeCand1(node1, node2, label) and + t = node1.getDataFlowType() + or + preservesValue = false and + additionalLocalFlowStepNodeCand1(node1, node2, label) and + t = node2.getDataFlowType() + ) and + lcc.relevantFor(node1.getEnclosingCallable()) and + not isUnreachableInCall1(node1, lcc) and + not isUnreachableInCall1(node2, lcc) + } + + pragma[nomagic] + private predicate localStateStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + DataFlowType t, LocalCallContext lcc, string label + ) { + preservesValue = false and + additionalLocalStateStep(node1, state1, node2, state2) and + label = "Config" and + t = node2.getDataFlowType() and + lcc.relevantFor(node1.getEnclosingCallable()) and + not isUnreachableInCall1(node1, lcc) and + not isUnreachableInCall1(node2, lcc) + } bindingset[node1, state1] bindingset[node2, state2] predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, - Typ t, LocalCc lcc, string label + DataFlowType t, LocalCallContext lcc, string label ) { - ( - preservesValue = true and - localFlowStepNodeCand1(node1, node2, label) and - state1 = state2 - or - preservesValue = false and - additionalLocalFlowStepNodeCand1(node1, node2, label) and - state1 = state2 - or - preservesValue = false and - additionalLocalStateStep(node1, state1, node2, state2) and - label = "Config" - ) and - exists(t) and - exists(lcc) + localStep(node1, node2, preservesValue, t, lcc, label) and + state1 = state2 + or + localStateStep(node1, state1, node2, state2, preservesValue, t, lcc, label) } pragma[nomagic] @@ -3476,192 +3678,6 @@ module MakeImpl Lang> { private module Stage2 = MkStage::Stage; - pragma[nomagic] - private predicate flowOutOfCallNodeCand2( - DataFlowCall call, RetNodeEx node1, ReturnKindExt kind, NodeEx node2, boolean allowsFieldFlow - ) { - flowOutOfCallNodeCand1(call, node1, kind, node2, allowsFieldFlow) and - Stage2::revFlow(node2) and - Stage2::revFlow(node1) - } - - pragma[nomagic] - private predicate flowIntoCallNodeCand2( - DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow - ) { - flowIntoCallNodeCand1(call, node1, node2, allowsFieldFlow) and - Stage2::revFlow(node2) and - Stage2::revFlow(node1) - } - - private module LocalFlowBigStep { - /** - * A node where some checking is required, and hence the big-step relation - * is not allowed to step over. - */ - private class FlowCheckNode extends NodeEx { - FlowCheckNode() { - castNode(this.asNode()) or - clearsContentCached(this.asNode(), _) or - expectsContentCached(this.asNode(), _) or - neverSkipInPathGraph(this.asNode()) or - Config::neverSkip(this.asNode()) - } - } - - /** - * Holds if `node` can be the first node in a maximal subsequence of local - * flow steps in a dataflow path. - */ - private predicate localFlowEntry(NodeEx node, FlowState state) { - Stage2::revFlow(node, state) and - ( - sourceNode(node, state) - or - jumpStepEx(_, node) - or - additionalJumpStep(_, node, _) - or - additionalJumpStateStep(_, _, node, state) - or - node instanceof ParamNodeEx - or - node.asNode() instanceof OutNodeExt - or - Stage2::storeStepCand(_, _, _, node, _, _) - or - Stage2::readStepCand(_, _, node) - or - node instanceof FlowCheckNode - or - exists(FlowState s | - additionalLocalStateStep(_, s, node, state) and - s != state - ) - ) - } - - /** - * Holds if `node` can be the last node in a maximal subsequence of local - * flow steps in a dataflow path. - */ - private predicate localFlowExit(NodeEx node, FlowState state) { - exists(NodeEx next | Stage2::revFlow(next, state) | - jumpStepEx(node, next) or - additionalJumpStep(node, next, _) or - flowIntoCallNodeCand2(_, node, next, _) or - flowOutOfCallNodeCand2(_, node, _, next, _) or - Stage2::storeStepCand(node, _, _, next, _, _) or - Stage2::readStepCand(node, _, next) - ) - or - exists(NodeEx next, FlowState s | Stage2::revFlow(next, s) | - additionalJumpStateStep(node, state, next, s) - or - additionalLocalStateStep(node, state, next, s) and - s != state - ) - or - Stage2::revFlow(node, state) and - node instanceof FlowCheckNode - or - sinkNode(node, state) - } - - pragma[noinline] - private predicate additionalLocalFlowStepNodeCand2( - NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, string label - ) { - additionalLocalFlowStepNodeCand1(node1, node2, label) and - state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), false) and - Stage2::revFlow(node2, pragma[only_bind_into](state2), false) - or - additionalLocalStateStep(node1, state1, node2, state2) and - label = "Config" and - Stage2::revFlow(node1, state1, false) and - Stage2::revFlow(node2, state2, false) - } - - /** - * Holds if the local path from `node1` to `node2` is a prefix of a maximal - * subsequence of local flow steps in a dataflow path. - * - * This is the transitive closure of `[additional]localFlowStep` beginning - * at `localFlowEntry`. - */ - pragma[nomagic] - private predicate localFlowStepPlus( - NodeEx node1, FlowState state, NodeEx node2, boolean preservesValue, DataFlowType t, - LocalCallContext cc, string label - ) { - not isUnreachableInCall1(node2, cc) and - not inBarrier(node2, state) and - not outBarrier(node1, state) and - ( - localFlowEntry(node1, pragma[only_bind_into](state)) and - ( - localFlowStepNodeCand1(node1, node2, label) and - preservesValue = true and - t = node1.getDataFlowType() and // irrelevant dummy value - Stage2::revFlow(node2, pragma[only_bind_into](state)) - or - additionalLocalFlowStepNodeCand2(node1, state, node2, state, label) and - preservesValue = false and - t = node2.getDataFlowType() - ) and - node1 != node2 and - cc.relevantFor(node1.getEnclosingCallable()) and - not isUnreachableInCall1(node1, cc) and - not outBarrier(node1, state) - or - exists(NodeEx mid, string label1, string label2 | - localFlowStepPlus(node1, pragma[only_bind_into](state), mid, preservesValue, t, cc, - label1) and - localFlowStepNodeCand1(mid, node2, label2) and - not outBarrier(mid, state) and - not mid instanceof FlowCheckNode and - Stage2::revFlow(node2, pragma[only_bind_into](state)) and - label = mergeLabels(label1, label2) - ) - or - exists(NodeEx mid, string label1, string label2 | - localFlowStepPlus(node1, state, mid, _, _, cc, label1) and - additionalLocalFlowStepNodeCand2(mid, state, node2, state, label2) and - not outBarrier(mid, state) and - not mid instanceof FlowCheckNode and - preservesValue = false and - t = node2.getDataFlowType() and - label = mergeLabels(label1, label2) - ) - ) - } - - /** - * Holds if `node1` can step to `node2` in one or more local steps and this - * path can occur as a maximal subsequence of local steps in a dataflow path. - */ - pragma[nomagic] - predicate localFlowBigStep( - NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, - DataFlowType t, LocalCallContext callContext, string label - ) { - localFlowStepPlus(node1, state1, node2, preservesValue, t, callContext, label) and - localFlowExit(node2, state1) and - state1 = state2 - or - additionalLocalFlowStepNodeCand2(node1, state1, node2, state2, label) and - state1 != state2 and - preservesValue = false and - t = node2.getDataFlowType() and - callContext.relevantFor(node1.getEnclosingCallable()) and - not isUnreachableInCall1(node1, callContext) and - not isUnreachableInCall1(node2, callContext) - } - } - - private import LocalFlowBigStep - pragma[nomagic] private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode or exists(node.asParamReturnNode()) @@ -3709,16 +3725,9 @@ module MakeImpl Lang> { } import CallContextSensitivity - import NoLocalCallContext + import LocalCallContext - predicate localStep( - NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, - Typ t, LocalCc lcc, string label - ) { - localFlowBigStep(node1, state1, node2, state2, preservesValue, _, _, label) and - exists(t) and - exists(lcc) - } + predicate localStep = PrevStage::LocalFlowBigStep::localFlowBigStep/8; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Ap ap) { @@ -3800,16 +3809,7 @@ module MakeImpl Lang> { import BooleanCallContext - pragma[nomagic] - predicate localStep( - NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, - Typ t, LocalCc lcc, string label - ) { - localFlowBigStep(node1, state1, node2, state2, preservesValue, t, _, label) and - PrevStage::revFlow(node1, pragma[only_bind_into](state1), _) and - PrevStage::revFlow(node2, pragma[only_bind_into](state2), _) and - exists(lcc) - } + predicate localStep = PrevStage::LocalFlowBigStep::localFlowBigStep/8; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c) { @@ -4113,14 +4113,7 @@ module MakeImpl Lang> { import CallContextSensitivity import LocalCallContext - predicate localStep( - NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, - Typ t, LocalCc lcc, string label - ) { - localFlowBigStep(node1, state1, node2, state2, preservesValue, t, lcc, label) and - PrevStage::revFlow(node1, pragma[only_bind_into](state1), _) and - PrevStage::revFlow(node2, pragma[only_bind_into](state2), _) - } + predicate localStep = PrevStage::LocalFlowBigStep::localFlowBigStep/8; bindingset[node, state, t0, ap] predicate filter(NodeEx node, FlowState state, Typ t0, Ap ap, Typ t) { @@ -4338,14 +4331,7 @@ module MakeImpl Lang> { import CallContextSensitivity import LocalCallContext - predicate localStep( - NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, - Typ t, LocalCc lcc, string label - ) { - localFlowBigStep(node1, state1, node2, state2, preservesValue, t, lcc, label) and - PrevStage::revFlow(node1, pragma[only_bind_into](state1), _) and - PrevStage::revFlow(node2, pragma[only_bind_into](state2), _) - } + predicate localStep = PrevStage::LocalFlowBigStep::localFlowBigStep/8; bindingset[node, state, t0, ap] predicate filter(NodeEx node, FlowState state, Typ t0, Ap ap, Typ t) { diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll index 434fca9c995..5fe86520882 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll @@ -778,23 +778,7 @@ module MakeImplCommon Lang> { recordDataFlowCallSiteDispatch(call, c) } - module NoLocalCallContext { - class LocalCc = Unit; - - bindingset[cc] - LocalCc getLocalCc(CallContext cc) { any() } - - bindingset[call, c] - CallContextCall getCallContextCall(DataFlowCall call, DataFlowCallable c) { - if recordDataFlowCallSiteDispatch(call, c) - then result = Input2::getSpecificCallContextCall(call, c) - else result = TSomeCall() - } - } - module LocalCallContext { - class LocalCc = LocalCallContext; - private UnreachableSet getUnreachable(CallContext ctx) { exists(UnreachableSetOption unreachable | ctx = TSpecificCall(_, _, unreachable) | result = unreachable.asSome() @@ -810,7 +794,7 @@ module MakeImplCommon Lang> { bindingset[cc] pragma[inline_late] - LocalCc getLocalCc(CallContext cc) { result = getLocalCallContext(cc) } + LocalCallContext getLocalCc(CallContext cc) { result = getLocalCallContext(cc) } bindingset[call, c] CallContextCall getCallContextCall(DataFlowCall call, DataFlowCallable c) { diff --git a/swift/ql/test/query-tests/Security/CWE-078/CommandInjection.expected b/swift/ql/test/query-tests/Security/CWE-078/CommandInjection.expected index f9c1f7bd175..0fe8ae7b868 100644 --- a/swift/ql/test/query-tests/Security/CWE-078/CommandInjection.expected +++ b/swift/ql/test/query-tests/Security/CWE-078/CommandInjection.expected @@ -44,7 +44,6 @@ edges | CommandInjection.swift:105:12:105:12 | userControlledString | CommandInjection.swift:137:36:137:36 | userControlledString | provenance | | | CommandInjection.swift:105:12:105:12 | userControlledString | CommandInjection.swift:138:21:138:21 | userControlledString | provenance | | | CommandInjection.swift:105:12:105:12 | userControlledString | CommandInjection.swift:139:22:139:22 | userControlledString | provenance | | -| CommandInjection.swift:105:12:105:12 | userControlledString | CommandInjection.swift:140:24:140:24 | userControlledString | provenance | | | CommandInjection.swift:105:12:105:12 | userControlledString | CommandInjection.swift:150:42:150:42 | userControlledString | provenance | | | CommandInjection.swift:105:12:105:12 | userControlledString | CommandInjection.swift:151:75:151:75 | userControlledString | provenance | | | CommandInjection.swift:105:12:105:12 | userControlledString | CommandInjection.swift:154:35:154:35 | userControlledString | provenance | | @@ -65,7 +64,6 @@ edges | CommandInjection.swift:105:40:105:94 | call to String.init(contentsOf:) | CommandInjection.swift:137:36:137:36 | userControlledString | provenance | | | CommandInjection.swift:105:40:105:94 | call to String.init(contentsOf:) | CommandInjection.swift:138:21:138:21 | userControlledString | provenance | | | CommandInjection.swift:105:40:105:94 | call to String.init(contentsOf:) | CommandInjection.swift:139:22:139:22 | userControlledString | provenance | | -| CommandInjection.swift:105:40:105:94 | call to String.init(contentsOf:) | CommandInjection.swift:140:24:140:24 | userControlledString | provenance | | | CommandInjection.swift:105:40:105:94 | call to String.init(contentsOf:) | CommandInjection.swift:150:42:150:42 | userControlledString | provenance | | | CommandInjection.swift:105:40:105:94 | call to String.init(contentsOf:) | CommandInjection.swift:151:75:151:75 | userControlledString | provenance | | | CommandInjection.swift:105:40:105:94 | call to String.init(contentsOf:) | CommandInjection.swift:154:35:154:35 | userControlledString | provenance | | @@ -110,14 +108,6 @@ edges | CommandInjection.swift:138:21:138:21 | userControlledString | CommandInjection.swift:138:20:138:41 | [...] [Collection element] | provenance | | | CommandInjection.swift:139:21:139:42 | [...] [Collection element] | CommandInjection.swift:99:20:99:40 | arguments [Collection element] | provenance | | | CommandInjection.swift:139:22:139:22 | userControlledString | CommandInjection.swift:139:21:139:42 | [...] [Collection element] | provenance | | -| CommandInjection.swift:140:24:140:24 | userControlledString | CommandInjection.swift:150:42:150:42 | userControlledString | provenance | | -| CommandInjection.swift:140:24:140:24 | userControlledString | CommandInjection.swift:151:75:151:75 | userControlledString | provenance | | -| CommandInjection.swift:140:24:140:24 | userControlledString | CommandInjection.swift:154:35:154:35 | userControlledString | provenance | | -| CommandInjection.swift:140:24:140:24 | userControlledString | CommandInjection.swift:155:70:155:70 | userControlledString | provenance | | -| CommandInjection.swift:140:24:140:24 | userControlledString | CommandInjection.swift:160:53:160:53 | userControlledString | provenance | | -| CommandInjection.swift:140:24:140:24 | userControlledString | CommandInjection.swift:163:52:163:52 | userControlledString | provenance | | -| CommandInjection.swift:140:24:140:24 | userControlledString | CommandInjection.swift:164:33:164:33 | userControlledString | provenance | | -| CommandInjection.swift:140:24:140:24 | userControlledString | CommandInjection.swift:166:57:166:57 | userControlledString | provenance | | | CommandInjection.swift:151:67:151:95 | [...] [Collection element] | CommandInjection.swift:151:67:151:95 | [...] | provenance | | | CommandInjection.swift:151:75:151:75 | userControlledString | CommandInjection.swift:151:67:151:95 | [...] [Collection element] | provenance | | | CommandInjection.swift:154:23:154:55 | call to URL.init(string:) [some:0] | CommandInjection.swift:154:23:154:56 | ...! | provenance | | @@ -158,11 +148,8 @@ edges | CommandInjection.swift:205:19:205:19 | userControlledString | CommandInjection.swift:205:18:205:39 | [...] [Collection element] | provenance | | | CommandInjection.swift:207:3:207:3 | [post] getter for .p1 [arguments, Collection element] | CommandInjection.swift:207:3:207:3 | [post] getter for .p1 | provenance | | | CommandInjection.swift:207:18:207:18 | tainted1 [Collection element] | CommandInjection.swift:207:3:207:3 | [post] getter for .p1 [arguments, Collection element] | provenance | | -| CommandInjection.swift:207:18:207:18 | tainted1 [Collection element] | CommandInjection.swift:208:19:208:19 | tainted1 [Collection element] | provenance | | -| CommandInjection.swift:207:18:207:18 | tainted1 [Collection element] | CommandInjection.swift:209:18:209:18 | tainted1 [Collection element] | provenance | | | CommandInjection.swift:208:3:208:5 | [post] ...! [arguments, Collection element] | CommandInjection.swift:208:3:208:5 | [post] ...! | provenance | | | CommandInjection.swift:208:19:208:19 | tainted1 [Collection element] | CommandInjection.swift:208:3:208:5 | [post] ...! [arguments, Collection element] | provenance | | -| CommandInjection.swift:208:19:208:19 | tainted1 [Collection element] | CommandInjection.swift:209:18:209:18 | tainted1 [Collection element] | provenance | | | CommandInjection.swift:209:3:209:3 | [post] ...! [arguments, Collection element] | CommandInjection.swift:209:3:209:3 | [post] ...! | provenance | | | CommandInjection.swift:209:18:209:18 | tainted1 [Collection element] | CommandInjection.swift:209:3:209:3 | [post] ...! [arguments, Collection element] | provenance | | | CommandInjection.swift:211:30:211:51 | [...] [Collection element] | CommandInjection.swift:213:18:213:18 | tainted2 [Collection element] | provenance | | @@ -259,7 +246,6 @@ nodes | CommandInjection.swift:138:21:138:21 | userControlledString | semmle.label | userControlledString | | CommandInjection.swift:139:21:139:42 | [...] [Collection element] | semmle.label | [...] [Collection element] | | CommandInjection.swift:139:22:139:22 | userControlledString | semmle.label | userControlledString | -| CommandInjection.swift:140:24:140:24 | userControlledString | semmle.label | userControlledString | | CommandInjection.swift:150:42:150:42 | userControlledString | semmle.label | userControlledString | | CommandInjection.swift:151:67:151:95 | [...] | semmle.label | [...] | | CommandInjection.swift:151:67:151:95 | [...] [Collection element] | semmle.label | [...] [Collection element] | From 128053e2145ac2bd5d4536a09e02248fd8e54dcd Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Mon, 26 Aug 2024 08:41:37 +0200 Subject: [PATCH 212/258] C++: Add basic modeling of functions that don't throw --- .../code/cpp/models/implementations/Memcpy.qll | 3 ++- .../code/cpp/models/implementations/Memset.qll | 3 ++- .../cpp/models/implementations/NoexceptFunction.qll | 11 +++++++++++ .../code/cpp/models/interfaces/NonThrowing.qll | 13 +++++++++++++ .../CWE/CWE-570/IncorrectAllocationErrorHandling.ql | 10 +++++----- .../2024-08-26-non-throwing-functions.md | 4 ++++ .../IncorrectAllocationErrorHandling.expected | 1 + .../test/query-tests/Security/CWE/CWE-570/test.cpp | 2 +- 8 files changed, 39 insertions(+), 8 deletions(-) create mode 100644 cpp/ql/lib/semmle/code/cpp/models/implementations/NoexceptFunction.qll create mode 100644 cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll create mode 100644 cpp/ql/src/change-notes/2024-08-26-non-throwing-functions.md diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Memcpy.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Memcpy.qll index 2c47587f42e..0bf2dd31fe4 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Memcpy.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Memcpy.qll @@ -9,13 +9,14 @@ import semmle.code.cpp.models.interfaces.DataFlow import semmle.code.cpp.models.interfaces.Alias import semmle.code.cpp.models.interfaces.SideEffect import semmle.code.cpp.models.interfaces.Taint +import semmle.code.cpp.models.interfaces.NonThrowing /** * The standard functions `memcpy`, `memmove` and `bcopy`; and the gcc variant * `__builtin___memcpy_chk`. */ private class MemcpyFunction extends ArrayFunction, DataFlowFunction, SideEffectFunction, - AliasFunction + AliasFunction, NonThrowingFunction { MemcpyFunction() { // memcpy(dest, src, num) diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Memset.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Memset.qll index 965ac8daf3b..ab2e0af99f3 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Memset.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Memset.qll @@ -8,9 +8,10 @@ import semmle.code.cpp.models.interfaces.ArrayFunction import semmle.code.cpp.models.interfaces.DataFlow import semmle.code.cpp.models.interfaces.Alias import semmle.code.cpp.models.interfaces.SideEffect +import semmle.code.cpp.models.interfaces.NonThrowing private class MemsetFunctionModel extends ArrayFunction, DataFlowFunction, AliasFunction, - SideEffectFunction + SideEffectFunction, NonThrowingFunction { MemsetFunctionModel() { this.hasGlobalOrStdOrBslName("memset") diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/NoexceptFunction.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/NoexceptFunction.qll new file mode 100644 index 00000000000..b0f76ee6538 --- /dev/null +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/NoexceptFunction.qll @@ -0,0 +1,11 @@ +import semmle.code.cpp.models.interfaces.NonThrowing + +/** + * A function that is annotated with a `noexcept` specifier (or the equivalent + * `throw()` specifier) guaranteeing that the function can not throw exceptions. + * + * Note: The `throw` specifier was deprecated in C++11 and removed in C++17. + */ +class NoexceptFunction extends NonThrowingFunction { + NoexceptFunction() { this.isNoExcept() or this.isNoThrow() } +} diff --git a/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll b/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll new file mode 100644 index 00000000000..f3ec13b5bd5 --- /dev/null +++ b/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll @@ -0,0 +1,13 @@ +/** + * Provides an abstract class for modeling functions that never throws. + * + * See also `ThrowingFunction` for modeling functions that do throw. + */ + +import semmle.code.cpp.Function +import semmle.code.cpp.models.Models + +/** + * A function that is guaranteed to never throw. + */ +abstract class NonThrowingFunction extends Function { } diff --git a/cpp/ql/src/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.ql b/cpp/ql/src/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.ql index 7f74c229ceb..73d9f2386a4 100644 --- a/cpp/ql/src/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.ql +++ b/cpp/ql/src/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.ql @@ -16,6 +16,8 @@ import cpp import semmle.code.cpp.valuenumbering.GlobalValueNumbering import semmle.code.cpp.controlflow.Guards +import semmle.code.cpp.models.interfaces.NonThrowing +import semmle.code.cpp.models.implementations.NoexceptFunction /** Gets the `Constructor` invoked when `newExpr` allocates memory. */ Constructor getConstructorForAllocation(NewOrNewArrayExpr newExpr) { @@ -44,9 +46,8 @@ predicate deleteMayThrow(DeleteOrDeleteArrayExpr deleteExpr) { * like it might throw an exception, and the function does not have a `noexcept` or `throw()` specifier. */ predicate functionMayThrow(Function f) { - (not exists(f.getBlock()) or stmtMayThrow(f.getBlock())) and - not f.isNoExcept() and - not f.isNoThrow() + not f instanceof NonThrowingFunction and + (not exists(f.getBlock()) or stmtMayThrow(f.getBlock())) } /** Holds if the evaluation of `stmt` may throw an exception. */ @@ -172,8 +173,7 @@ class ThrowingAllocator extends Function { not exists(Parameter p | p = this.getAParameter() | p.getUnspecifiedType().stripType() instanceof NoThrowType ) and - not this.isNoExcept() and - not this.isNoThrow() + not this instanceof NoexceptFunction ) } } diff --git a/cpp/ql/src/change-notes/2024-08-26-non-throwing-functions.md b/cpp/ql/src/change-notes/2024-08-26-non-throwing-functions.md new file mode 100644 index 00000000000..94acaaecc81 --- /dev/null +++ b/cpp/ql/src/change-notes/2024-08-26-non-throwing-functions.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Add modeling of C functions that don't throw, thereby increasing the precision of the `cpp/incorrect-allocation-error-handling` ("Incorrect allocation-error handling") query. The query now produces additional true positives. \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.expected index 991ff2de8a4..53907bfeb40 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.expected @@ -17,3 +17,4 @@ | test.cpp:229:15:229:35 | new | This allocation cannot throw. $@ is unnecessary. | test.cpp:231:16:231:19 | { ... } | This catch block | | test.cpp:242:14:242:34 | new | This allocation cannot throw. $@ is unnecessary. | test.cpp:243:34:243:36 | { ... } | This catch block | | test.cpp:276:17:276:31 | new[] | This allocation cannot return null. $@ is unnecessary. | test.cpp:277:8:277:12 | ! ... | This check | +| test.cpp:288:19:288:47 | new[] | This allocation cannot throw. $@ is unnecessary. | test.cpp:291:30:293:5 | { ... } | This catch block | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-570/test.cpp b/cpp/ql/test/query-tests/Security/CWE/CWE-570/test.cpp index 977b6e878a2..9df901ca5a9 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-570/test.cpp +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-570/test.cpp @@ -282,7 +282,7 @@ namespace qhelp { } // BAD: the allocation won't throw an exception, but - // instead return a null pointer. [NOT DETECTED] + // instead return a null pointer. void bad2(std::size_t length) noexcept { try { int* dest = new(std::nothrow) int[length]; From e5d626f9079a65e5a658c662ac2d3a3c449f6701 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Mon, 26 Aug 2024 09:15:16 +0200 Subject: [PATCH 213/258] Data flow: Only recompute local big step in stage 6 --- .../codeql/dataflow/internal/DataFlowImpl.qll | 222 +++++++++++------- .../dataflow/internal/DataFlowImplCommon.qll | 18 +- 2 files changed, 157 insertions(+), 83 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 8280f1a9da2..9c50d245aa5 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -1068,6 +1068,42 @@ module MakeImpl Lang> { if label1 = "" then result = label2 else result = label1 } + pragma[nomagic] + private predicate localStepNodeCand1( + NodeEx node1, NodeEx node2, boolean preservesValue, DataFlowType t, LocalCallContext lcc, + string label + ) { + Stage1::revFlow(node1) and + Stage1::revFlow(node2) and + ( + preservesValue = true and + localFlowStepEx(node1, node2, label) and + t = node1.getDataFlowType() + or + preservesValue = false and + additionalLocalFlowStep(node1, node2, label) and + t = node2.getDataFlowType() + ) and + lcc.relevantFor(node1.getEnclosingCallable()) and + not isUnreachableInCall1(node1, lcc) and + not isUnreachableInCall1(node2, lcc) + } + + pragma[nomagic] + private predicate localStateStepNodeCand1( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, DataFlowType t, + LocalCallContext lcc, string label + ) { + Stage1::revFlow(node1) and + Stage1::revFlow(node2) and + additionalLocalStateStep(node1, state1, node2, state2) and + label = "Config" and + t = node2.getDataFlowType() and + lcc.relevantFor(node1.getEnclosingCallable()) and + not isUnreachableInCall1(node1, lcc) and + not isUnreachableInCall1(node2, lcc) + } + pragma[nomagic] private predicate viableReturnPosOutNodeCand1(DataFlowCall call, ReturnPosition pos, NodeEx out) { Stage1::revFlow(out) and @@ -1364,6 +1400,8 @@ module MakeImpl Lang> { predicate instanceofCcNoCall(CcNoCall cc); + class LocalCc; + DataFlowCallable viableImplCallContextReduced(DataFlowCall call, CcCall ctx); bindingset[call, ctx] @@ -1380,13 +1418,13 @@ module MakeImpl Lang> { CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call); bindingset[cc] - LocalCallContext getLocalCc(Cc cc); + LocalCc getLocalCc(Cc cc); bindingset[node1, state1] bindingset[node2, state2] predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, - DataFlowType t, LocalCallContext lcc, string label + Typ t, LocalCc lcc, string label ); bindingset[node, state, t0, ap] @@ -1489,18 +1527,6 @@ module MakeImpl Lang> { fwdFlow1(_, _, _, _, _, _, t0, t, ap, _) and t0 != t } - bindingset[node1, state1] - bindingset[node2, state2] - additional predicate localStep( - NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, - Typ t, LocalCallContext lcc, string label - ) { - exists(DataFlowType type | - Param::localStep(node1, state1, node2, state2, preservesValue, type, lcc, label) and - t = getTyp(type) - ) - } - pragma[nomagic] private predicate fwdFlow0( NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, @@ -1515,7 +1541,7 @@ module MakeImpl Lang> { ap instanceof ApNil and apa = getApprox(ap) or - exists(NodeEx mid, FlowState state0, Typ t0, LocalCallContext localCc | + exists(NodeEx mid, FlowState state0, Typ t0, LocalCc localCc | fwdFlow(mid, state0, cc, summaryCtx, argT, argAp, t0, ap, apa) and localCc = getLocalCc(cc) | @@ -2530,8 +2556,24 @@ module MakeImpl Lang> { callEdgeReturn(call, c, _, _, _, _, _) } - /** Provides a big-step relation for local flow steps. */ - additional module LocalFlowBigStep { + /** Provides the input to `LocalFlowBigStep`. */ + signature module LocalFlowBigStepInputSig { + bindingset[node1, state1] + bindingset[node2, state2] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + DataFlowType t, LocalCallContext lcc, string label + ); + } + + /** + * Provides a big-step relation for local flow steps. + * + * The big-step releation is based on the `localStep` relation from the + * input module, restricted to nodes that are forwards and backwards + * reachable in this stage. + */ + additional module LocalFlowBigStep { final private class NodeExFinal = NodeEx; /** @@ -2558,7 +2600,7 @@ module MakeImpl Lang> { exists(ApNil nil | revFlow(node1, state1, pragma[only_bind_into](nil)) and revFlow(node2, state2, pragma[only_bind_into](nil)) and - Param::localStep(node1, state1, node2, state2, false, t, lcc, label) and + Input::localStep(node1, state1, node2, state2, false, t, lcc, label) and state1 != state2 ) } @@ -2652,7 +2694,7 @@ module MakeImpl Lang> { not inBarrier(node2, state) and not outBarrier(node1, state) and exists(NodeEx node0, boolean preservesValue0, DataFlowType t0, string label0, Ap ap | - Param::localStep(node0, state, node2, state, preservesValue0, t0, cc, label0) and + Input::localStep(node0, state, node2, state, preservesValue0, t0, cc, label0) and revFlow(node2, pragma[only_bind_into](state), pragma[only_bind_into](ap)) and not outBarrier(node0, state) and (preservesValue = true or ap instanceof ApNil) @@ -3053,7 +3095,7 @@ module MakeImpl Lang> { PathNodeImpl pn1, NodeEx node, FlowState state, Cc cc, ParamNodeOption summaryCtx, TypOption argT, ApOption argAp, Typ t, Ap ap, string label, boolean isStoreStep ) { - exists(NodeEx mid, FlowState state0, Typ t0, LocalCallContext localCc | + exists(NodeEx mid, FlowState state0, Typ t0, LocalCc localCc | pn1 = TPathNodeMid(mid, state0, cc, summaryCtx, argT, argAp, t0, ap) and localCc = getLocalCc(cc) and isStoreStep = false @@ -3523,13 +3565,10 @@ module MakeImpl Lang> { predicate instanceofCcNoCall(CcNoCall cc) { any() } + class LocalCc = Unit; + bindingset[cc] - LocalCallContext getLocalCc(Cc cc) { - cc = ccSomeCall() and - result instanceof LocalCallContextSpecificCall - or - result instanceof LocalCallContextAny - } + LocalCc getLocalCc(Cc cc) { any() } DataFlowCallable viableImplCallContextReduced(DataFlowCall call, CcCall ctx) { none() } @@ -3585,63 +3624,23 @@ module MakeImpl Lang> { ApOption apSome(Ap ap) { result = TBooleanSome(ap) } import CachedCallContextSensitivity - import LocalCallContext - - pragma[noinline] - private predicate localFlowStepNodeCand1(NodeEx node1, NodeEx node2, string model) { - Stage1::revFlow(node2) and - localFlowStepEx(node1, node2, model) - } - - pragma[nomagic] - private predicate additionalLocalFlowStepNodeCand1(NodeEx node1, NodeEx node2, string model) { - Stage1::revFlow(node2) and - additionalLocalFlowStep(node1, node2, model) - } - - pragma[nomagic] - private predicate localStep( - NodeEx node1, NodeEx node2, boolean preservesValue, DataFlowType t, LocalCallContext lcc, - string label - ) { - ( - preservesValue = true and - localFlowStepNodeCand1(node1, node2, label) and - t = node1.getDataFlowType() - or - preservesValue = false and - additionalLocalFlowStepNodeCand1(node1, node2, label) and - t = node2.getDataFlowType() - ) and - lcc.relevantFor(node1.getEnclosingCallable()) and - not isUnreachableInCall1(node1, lcc) and - not isUnreachableInCall1(node2, lcc) - } - - pragma[nomagic] - private predicate localStateStep( - NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, - DataFlowType t, LocalCallContext lcc, string label - ) { - preservesValue = false and - additionalLocalStateStep(node1, state1, node2, state2) and - label = "Config" and - t = node2.getDataFlowType() and - lcc.relevantFor(node1.getEnclosingCallable()) and - not isUnreachableInCall1(node1, lcc) and - not isUnreachableInCall1(node2, lcc) - } + import NoLocalCallContext bindingset[node1, state1] bindingset[node2, state2] predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, - DataFlowType t, LocalCallContext lcc, string label + Typ t, LocalCc lcc, string label ) { - localStep(node1, node2, preservesValue, t, lcc, label) and - state1 = state2 - or - localStateStep(node1, state1, node2, state2, preservesValue, t, lcc, label) + ( + localStepNodeCand1(node1, node2, preservesValue, _, _, label) and + state1 = state2 + or + localStateStepNodeCand1(node1, state1, node2, state2, _, _, label) and + preservesValue = false + ) and + exists(t) and + exists(lcc) } pragma[nomagic] @@ -3725,9 +3724,41 @@ module MakeImpl Lang> { } import CallContextSensitivity - import LocalCallContext + import NoLocalCallContext - predicate localStep = PrevStage::LocalFlowBigStep::localFlowBigStep/8; + private module BigStepInput implements PrevStage::LocalFlowBigStepInputSig { + bindingset[node1, state1] + bindingset[node2, state2] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + DataFlowType t, LocalCallContext lcc, string label + ) { + localStepNodeCand1(node1, node2, preservesValue, t, lcc, label) and + state1 = state2 + or + localStateStepNodeCand1(node1, state1, node2, state2, t, lcc, label) and + preservesValue = false + } + } + + additional predicate localFlowBigStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + DataFlowType t, LocalCallContext lcc, string label + ) { + PrevStage::LocalFlowBigStep::localFlowBigStep(node1, state1, node2, state2, + preservesValue, t, lcc, label) + } + + bindingset[node1, state1] + bindingset[node2, state2] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + Typ t, LocalCc lcc, string label + ) { + localFlowBigStep(node1, state1, node2, state2, preservesValue, _, _, label) and + exists(t) and + exists(lcc) + } pragma[nomagic] private predicate expectsContentCand(NodeEx node, Ap ap) { @@ -3809,7 +3840,16 @@ module MakeImpl Lang> { import BooleanCallContext - predicate localStep = PrevStage::LocalFlowBigStep::localFlowBigStep/8; + pragma[nomagic] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + Typ t, LocalCc lcc, string label + ) { + Stage3Param::localFlowBigStep(node1, state1, node2, state2, preservesValue, t, _, label) and + PrevStage::revFlow(node1, pragma[only_bind_into](state1), _) and + PrevStage::revFlow(node2, pragma[only_bind_into](state2), _) and + exists(lcc) + } pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c) { @@ -4113,7 +4153,14 @@ module MakeImpl Lang> { import CallContextSensitivity import LocalCallContext - predicate localStep = PrevStage::LocalFlowBigStep::localFlowBigStep/8; + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + Typ t, LocalCc lcc, string label + ) { + Stage3Param::localFlowBigStep(node1, state1, node2, state2, preservesValue, t, lcc, label) and + PrevStage::revFlow(node1, pragma[only_bind_into](state1), _) and + PrevStage::revFlow(node2, pragma[only_bind_into](state2), _) + } bindingset[node, state, t0, ap] predicate filter(NodeEx node, FlowState state, Typ t0, Ap ap, Typ t) { @@ -4331,7 +4378,18 @@ module MakeImpl Lang> { import CallContextSensitivity import LocalCallContext - predicate localStep = PrevStage::LocalFlowBigStep::localFlowBigStep/8; + private module BigStepInput implements PrevStage::LocalFlowBigStepInputSig { + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + DataFlowType t, LocalCallContext lcc, string label + ) { + Stage3Param::localFlowBigStep(node1, state1, node2, state2, preservesValue, t, lcc, label) and + PrevStage::revFlow(node1, pragma[only_bind_into](state1), _) and + PrevStage::revFlow(node2, pragma[only_bind_into](state2), _) + } + } + + predicate localStep = PrevStage::LocalFlowBigStep::localFlowBigStep/8; bindingset[node, state, t0, ap] predicate filter(NodeEx node, FlowState state, Typ t0, Ap ap, Typ t) { diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll index 5fe86520882..434fca9c995 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImplCommon.qll @@ -778,7 +778,23 @@ module MakeImplCommon Lang> { recordDataFlowCallSiteDispatch(call, c) } + module NoLocalCallContext { + class LocalCc = Unit; + + bindingset[cc] + LocalCc getLocalCc(CallContext cc) { any() } + + bindingset[call, c] + CallContextCall getCallContextCall(DataFlowCall call, DataFlowCallable c) { + if recordDataFlowCallSiteDispatch(call, c) + then result = Input2::getSpecificCallContextCall(call, c) + else result = TSomeCall() + } + } + module LocalCallContext { + class LocalCc = LocalCallContext; + private UnreachableSet getUnreachable(CallContext ctx) { exists(UnreachableSetOption unreachable | ctx = TSpecificCall(_, _, unreachable) | result = unreachable.asSome() @@ -794,7 +810,7 @@ module MakeImplCommon Lang> { bindingset[cc] pragma[inline_late] - LocalCallContext getLocalCc(CallContext cc) { result = getLocalCallContext(cc) } + LocalCc getLocalCc(CallContext cc) { result = getLocalCallContext(cc) } bindingset[call, c] CallContextCall getCallContextCall(DataFlowCall call, DataFlowCallable c) { From 16c2cf24b310bec935167466d85c2c94d161e568 Mon Sep 17 00:00:00 2001 From: Asger F Date: Mon, 26 Aug 2024 11:53:31 +0200 Subject: [PATCH 214/258] C++: use inline annotation for missing flow --- cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp | 2 +- cpp/ql/test/library-tests/dataflow/taint-tests/taint.expected | 3 --- cpp/ql/test/library-tests/dataflow/taint-tests/vector.cpp | 4 ++-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp b/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp index 1504142bdce..8e6199d35bd 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp @@ -450,7 +450,7 @@ void test_qualifiers() b.member = source(); sink(b); // $ ir MISSING: ast sink(b.member); // $ ast,ir - sink(b.getMember()); // $ ir MISSING: ast + sink(b.getMember()); // $ MISSING: ir ast c = new MyClass2(0); diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/taint.expected b/cpp/ql/test/library-tests/dataflow/taint-tests/taint.expected index 8d4dc3351b4..299f1413878 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/taint.expected +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/taint.expected @@ -4,7 +4,4 @@ WARNING: module 'DataFlow' has been deprecated and may be removed in future (tai WARNING: module 'DataFlow' has been deprecated and may be removed in future (taint.ql:68,25-33) WARNING: module 'TaintTracking' has been deprecated and may be removed in future (taint.ql:73,20-33) testFailures -| taint.cpp:453:23:453:42 | // $ ir MISSING: ast | Missing result:ir= | -| vector.cpp:118:12:118:30 | // $ ir MISSING:ast | Missing result:ir= | -| vector.cpp:119:12:119:30 | // $ ir MISSING:ast | Missing result:ir= | failures diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/vector.cpp b/cpp/ql/test/library-tests/dataflow/taint-tests/vector.cpp index a5e0c428b71..7f4d3f22d8e 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/vector.cpp +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/vector.cpp @@ -115,8 +115,8 @@ void test_vector_swap() { v3.swap(v4); sink(v1); - sink(v2); // $ ir MISSING:ast - sink(v3); // $ ir MISSING:ast + sink(v2); // $ MISSING:ir ast + sink(v3); // $ MISSING:ir ast sink(v4); } From d9dbcdba3481016956f20f7f99c7d88a87dfb832 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Mon, 26 Aug 2024 12:42:44 +0200 Subject: [PATCH 215/258] C++: Fix imports --- cpp/ql/lib/semmle/code/cpp/models/Models.qll | 1 + .../src/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.ql | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/ql/lib/semmle/code/cpp/models/Models.qll b/cpp/ql/lib/semmle/code/cpp/models/Models.qll index 90a97777d8f..1e0b6cd33ed 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/Models.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/Models.qll @@ -42,6 +42,7 @@ private import implementations.Accept private import implementations.Poll private import implementations.Select private import implementations.MySql +private import implementations.NoexceptFunction private import implementations.ODBC private import implementations.SqLite3 private import implementations.PostgreSql diff --git a/cpp/ql/src/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.ql b/cpp/ql/src/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.ql index 73d9f2386a4..92daf31b057 100644 --- a/cpp/ql/src/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.ql +++ b/cpp/ql/src/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.ql @@ -16,7 +16,6 @@ import cpp import semmle.code.cpp.valuenumbering.GlobalValueNumbering import semmle.code.cpp.controlflow.Guards -import semmle.code.cpp.models.interfaces.NonThrowing import semmle.code.cpp.models.implementations.NoexceptFunction /** Gets the `Constructor` invoked when `newExpr` allocates memory. */ From 34d83a6b0d3041cebddb55d59c4e53bae433baaf Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Mon, 26 Aug 2024 15:02:27 +0200 Subject: [PATCH 216/258] C#/Java: Address review comments. --- .../modelgenerator/debug/CaptureSummaryModelsPartialPath.ql | 2 +- .../modelgenerator/debug/CaptureSummaryModelsPartialPath.ql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/csharp/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPartialPath.ql b/csharp/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPartialPath.ql index 614fb7630b4..62d3ad7f9f4 100644 --- a/csharp/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPartialPath.ql +++ b/csharp/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPartialPath.ql @@ -22,6 +22,6 @@ from where PartialFlow::partialFlow(source, sink, _) and p = source.getNode() and - p.asParameter() = api.getParameter(0) + p.asParameter() = api.getAParameter() select sink.getNode(), source, sink, "There is flow from a $@ to $@.", source.getNode(), "parameter", sink.getNode(), "intermediate value" diff --git a/java/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPartialPath.ql b/java/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPartialPath.ql index 2b8a6e220f8..1d9724abef8 100644 --- a/java/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPartialPath.ql +++ b/java/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPartialPath.ql @@ -23,6 +23,6 @@ from where PartialFlow::partialFlow(source, sink, _) and p = source.getNode() and - p.asParameter() = api.getParameter(0) + p.asParameter() = api.getAParameter() select sink.getNode(), source, sink, "There is flow from a $@ to $@.", source.getNode(), "parameter", sink.getNode(), "intermediate value" From cbb58d00410b83400bf632da157d4cb0fbdcab46 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Mon, 26 Aug 2024 15:05:30 +0200 Subject: [PATCH 217/258] Dataflow: Add a getLocation rootdef. --- shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 98291d25ffc..7288d3e6e06 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -1580,11 +1580,15 @@ module MakeImpl Lang> { */ private class SummaryCtx extends TSummaryCtx { abstract string toString(); + + abstract Location getLocation(); } /** A summary context from which no flow summary can be generated. */ private class SummaryCtxNone extends SummaryCtx, TSummaryCtxNone { override string toString() { result = "" } + + override Location getLocation() { result.hasLocationInfo("", 0, 0, 0, 0) } } /** A summary context from which a flow summary can be generated. */ @@ -1601,7 +1605,7 @@ module MakeImpl Lang> { override string toString() { result = p + concat(" : " + this.ppTyp()) + " " + ap } - Location getLocation() { result = p.getLocation() } + override Location getLocation() { result = p.getLocation() } } private predicate fwdFlowJump(NodeEx node, FlowState state, Typ t, Ap ap, ApApprox apa) { From d8c8bcd3866fd97827f351ee9e56069417fe8746 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Mon, 26 Aug 2024 15:12:37 +0200 Subject: [PATCH 218/258] Dataflow: Tweak qldoc. --- shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 7288d3e6e06..da197490c1b 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -1466,8 +1466,8 @@ module MakeImpl Lang> { * Holds if `node` is reachable with access path `ap` from a source. * * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `summaryCtx` and `argAp` record the - * corresponding parameter position and access path of that argument, respectively. + * argument in a call, and if so, `summaryCtx` records the + * corresponding parameter position and access path of that argument. */ pragma[nomagic] additional predicate fwdFlow( From 4381bae5d1481b161096986fb30b1e426205b369 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Mon, 26 Aug 2024 14:10:40 +0200 Subject: [PATCH 219/258] Shared: Fix bad join. --- .../dataflow/internal/ContentDataFlowImpl.qll | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll index a4d3e413625..1823a25155f 100644 --- a/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll @@ -455,27 +455,42 @@ module MakeImplContentDataFlow Lang> { ) } + pragma[nomagic] + private predicate nodeAndState(Flow::PathNode n, Node node, State state) { + n.getNode() = node and n.getState() = state + } + + pragma[nomagic] + private predicate succNodeAndState( + Flow::PathNode pre, Node preNode, State preState, Flow::PathNode succ, Node succNode, + State succState + ) { + nodeAndState(pre, preNode, preState) and + nodeAndState(succ, succNode, succState) and + pre.getASuccessor() = succ + } + pragma[nomagic] private predicate nodeReachesStore( - Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode node, + Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode target, ContentSet c, AccessPath reads, AccessPath stores ) { - exists(Flow::PathNode mid | + exists(Flow::PathNode mid, State midState, Node midNode, State targetState, Node targetNode | nodeReaches(source, scReads, scStores, mid, reads, stores) and - storeStep(mid.getNode(), mid.getState(), c, node.getNode(), node.getState()) and - mid.getASuccessor() = node + succNodeAndState(mid, midNode, midState, target, targetNode, targetState) and + storeStep(midNode, midState, c, targetNode, targetState) ) } pragma[nomagic] private predicate nodeReachesRead( - Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode node, + Flow::PathNode source, AccessPath scReads, AccessPath scStores, Flow::PathNode target, ContentSet c, AccessPath reads, AccessPath stores ) { - exists(Flow::PathNode mid | + exists(Flow::PathNode mid, State midState, Node midNode, State targetState, Node targetNode | nodeReaches(source, scReads, scStores, mid, reads, stores) and - readStep(mid.getNode(), mid.getState(), c, node.getNode(), node.getState()) and - mid.getASuccessor() = node + succNodeAndState(mid, midNode, midState, target, targetNode, targetState) and + readStep(midNode, midState, c, targetNode, targetState) ) } From 77bfe39ca7a4b85b9e322a9e13f0cecb21a773ee Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Mon, 26 Aug 2024 15:24:22 +0200 Subject: [PATCH 220/258] Shared: Address review comments. --- .../codeql/dataflow/internal/ContentDataFlowImpl.qll | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll index 1823a25155f..c63f36bdeda 100644 --- a/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll @@ -455,18 +455,15 @@ module MakeImplContentDataFlow Lang> { ) } - pragma[nomagic] - private predicate nodeAndState(Flow::PathNode n, Node node, State state) { - n.getNode() = node and n.getState() = state - } - pragma[nomagic] private predicate succNodeAndState( Flow::PathNode pre, Node preNode, State preState, Flow::PathNode succ, Node succNode, State succState ) { - nodeAndState(pre, preNode, preState) and - nodeAndState(succ, succNode, succState) and + pre.getNode() = preNode and + pre.getState() = preState and + succ.getNode() = succNode and + succ.getState() = succState and pre.getASuccessor() = succ } From 0738e01e7ed679f7084b7f84a28ca8e01a278bd2 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 27 Aug 2024 09:12:37 +0200 Subject: [PATCH 221/258] Bazel: fix logging bug in `git_lfs_probe.py` The case of an `HTTPError` was printed to stdout (and therefore globbed by bazel). While I'm at it, I also introduced a timeout to `urlopen` and improved the `no endpoints found` error message. --- misc/bazel/internal/git_lfs_probe.py | 47 +++++++++++++++------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/misc/bazel/internal/git_lfs_probe.py b/misc/bazel/internal/git_lfs_probe.py index 01b201c5486..22ca9855f54 100755 --- a/misc/bazel/internal/git_lfs_probe.py +++ b/misc/bazel/internal/git_lfs_probe.py @@ -16,13 +16,13 @@ import shutil import json import typing import urllib.request +import urllib.error from urllib.parse import urlparse import re import base64 from dataclasses import dataclass import argparse - def options(): p = argparse.ArgumentParser(description=__doc__) p.add_argument("--hash-only", action="store_true") @@ -30,6 +30,12 @@ def options(): return p.parse_args() +TIMEOUT = 20 + +def warn(message: str) -> None: + print(f"WARNING: {message}", file=sys.stderr) + + @dataclass class Endpoint: name: str @@ -41,6 +47,10 @@ class Endpoint: self.headers.update((k.capitalize(), v) for k, v in d) +class NoEndpointsFound(Exception): + pass + + opts = options() sources = [p.resolve() for p in opts.sources] source_dir = pathlib.Path(os.path.commonpath(src.parent for src in sources)) @@ -105,18 +115,12 @@ def get_endpoints() -> typing.Iterable[Endpoint]: "download", ] try: - res = subprocess.run(cmd, stdout=subprocess.PIPE, timeout=15) + res = subprocess.run(cmd, stdout=subprocess.PIPE, timeout=TIMEOUT) except subprocess.TimeoutExpired: - print( - f"WARNING: ssh timed out when connecting to {server}, ignoring {endpoint.name} endpoint", - file=sys.stderr, - ) + warn(f"ssh timed out when connecting to {server}, ignoring {endpoint.name} endpoint") continue if res.returncode != 0: - print( - f"WARNING: ssh failed when connecting to {server}, ignoring {endpoint.name} endpoint", - file=sys.stderr, - ) + warn(f"ssh failed when connecting to {server}, ignoring {endpoint.name} endpoint") continue ssh_resp = json.loads(res.stdout) endpoint.href = ssh_resp.get("href", endpoint) @@ -139,10 +143,7 @@ def get_endpoints() -> typing.Iterable[Endpoint]: input=f"protocol={url.scheme}\nhost={url.netloc}\npath={url.path[1:]}\n", ) if credentials is None: - print( - f"WARNING: no authorization method found, ignoring {data.name} endpoint", - file=sys.stderr, - ) + warn(f"no authorization method found, ignoring {endpoint.name} endpoint") continue credentials = dict(get_env(credentials)) auth = base64.b64encode( @@ -176,10 +177,10 @@ def get_locations(objects): data=json.dumps(data).encode("ascii"), ) try: - with urllib.request.urlopen(req) as resp: + with urllib.request.urlopen(req, timeout=TIMEOUT) as resp: data = json.load(resp) - except urllib.request.HTTPError as e: - print(f"WARNING: encountered HTTPError {e}, ignoring endpoint {e.name}") + except urllib.error.URLError as e: + warn(f"encountered {type(e).__name__} {e}, ignoring endpoint {endpoint.name}") continue assert len(data["objects"]) == len( indexes @@ -187,7 +188,7 @@ def get_locations(objects): for i, resp in zip(indexes, data["objects"]): ret[i] = f'{resp["oid"]} {resp["actions"]["download"]["href"]}' return ret - raise Exception(f"no valid endpoint found") + raise NoEndpointsFound def get_lfs_object(path): @@ -204,6 +205,10 @@ def get_lfs_object(path): return {"oid": sha256, "size": size} -objects = [get_lfs_object(src) for src in sources] -for resp in get_locations(objects): - print(resp) +try: + objects = [get_lfs_object(src) for src in sources] + for resp in get_locations(objects): + print(resp) +except NoEndpointsFound as e: + print(f"ERROR: no valid endpoints found", file=sys.stderr) + sys.exit(1) From 62219fae609730ea62f95fb11c5207e662f13d6d Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Tue, 27 Aug 2024 12:27:53 +0200 Subject: [PATCH 222/258] Bazel: switch to a 7.4.0 prerelease. --- .bazelversion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.bazelversion b/.bazelversion index b26a34e4705..b9ad1fa3a7f 100644 --- a/.bazelversion +++ b/.bazelversion @@ -1 +1 @@ -7.2.1 +5f5d70b6c4d2fb1a889479569107f1692239e8a7 From 123507e2dce45f1fbb2df51eb39634907b208ad5 Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Tue, 27 Aug 2024 13:00:56 +0200 Subject: [PATCH 223/258] No need to disable the layering check anymore, this was fixed upstream. --- .github/workflows/cpp-swift-analysis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cpp-swift-analysis.yml b/.github/workflows/cpp-swift-analysis.yml index b2ebbc7d7df..4b923f1b39c 100644 --- a/.github/workflows/cpp-swift-analysis.yml +++ b/.github/workflows/cpp-swift-analysis.yml @@ -37,7 +37,7 @@ jobs: with: languages: cpp config-file: ./.github/codeql/codeql-config.yml - + - name: "[Ubuntu] Remove GCC 13 from runner image" shell: bash run: | @@ -48,7 +48,7 @@ jobs: - name: "Build Swift extractor using Bazel" run: | bazel clean --expunge - bazel run //swift:create-extractor-pack --nouse_action_cache --noremote_accept_cached --noremote_upload_local_results --spawn_strategy=local --features=-layering_check + bazel run //swift:create-extractor-pack --nouse_action_cache --noremote_accept_cached --noremote_upload_local_results --spawn_strategy=local bazel shutdown - name: Perform CodeQL Analysis From 19606b1903494fb88c000d88ffe9a277a7cd8205 Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Mon, 26 Aug 2024 12:41:47 +0200 Subject: [PATCH 224/258] Add *.actual to the gitignore file. This is also used by the integration tests. --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a9a34f6bd4c..445faf8efaf 100644 --- a/.gitignore +++ b/.gitignore @@ -7,8 +7,8 @@ .cache # qltest projects and artifacts +*.actual */ql/test/**/*.testproj -*/ql/test/**/*.actual */ql/test/**/go.sum # Visual studio temporaries, except a file used by QL4VS From 5fa30c33b833a305d33447fd77ea331c2f5f8795 Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Fri, 23 Aug 2024 12:56:58 +0200 Subject: [PATCH 225/258] Remove legacy java files. --- java/ql/integration-tests/all-platforms/java/legacy | 0 java/ql/integration-tests/all-platforms/java/qlpack.yml | 5 ----- 2 files changed, 5 deletions(-) delete mode 100644 java/ql/integration-tests/all-platforms/java/legacy delete mode 100644 java/ql/integration-tests/all-platforms/java/qlpack.yml diff --git a/java/ql/integration-tests/all-platforms/java/legacy b/java/ql/integration-tests/all-platforms/java/legacy deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/java/ql/integration-tests/all-platforms/java/qlpack.yml b/java/ql/integration-tests/all-platforms/java/qlpack.yml deleted file mode 100644 index 4994af85a75..00000000000 --- a/java/ql/integration-tests/all-platforms/java/qlpack.yml +++ /dev/null @@ -1,5 +0,0 @@ -dependencies: - codeql/java-all: '*' - codeql/java-tests: '*' - codeql/java-queries: '*' -warnOnImplicitThis: true From c69df1a6e3eee9ad45759054aab369d0dea7d1bd Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Fri, 23 Aug 2024 14:14:04 +0200 Subject: [PATCH 226/258] Port java integration tests to pytest. Some notes: * These tests rely on a variety of fixtures * The previous maven-wrapper checks were checking for the version of maven installed by looking at the checked-in wrapper script. I dropped this behavior. * I replaced a lot of test queries that queried for a (subset of) source archive files with the source_archive fixture. In particular, tests that excluded properties files from being listed in the expected output now include them. It's much faster to generate this list via the fixture instead of using CodeQL for it. --- .../java/android-8-sample/.gitattributes | 6 - .../java/android-8-sample/.gitignore | 37 --- .../force_sequential_test_execution | 4 - .../gradle/wrapper/gradle-wrapper.jar | Bin 60756 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - .../java/android-8-sample/gradlew | 240 ----------------- .../java/android-8-sample/gradlew.bat | 91 ------- .../android-8-sample/source_archive.expected | 27 ++ .../java/android-8-sample/test.expected | 20 -- .../java/android-8-sample/test.py | 10 +- .../java/android-8-sample/test.ql | 7 - .../force_sequential_test_execution | 4 - .../source_archive.expected | 26 ++ .../test.expected | 20 -- .../test.py | 9 +- .../test.ql | 7 - .../.gitattributes | 6 - .../force_sequential_test_execution | 4 - .../gradle/wrapper/gradle-wrapper.jar | Bin 60756 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - .../gradlew | 240 ----------------- .../gradlew.bat | 91 ------- .../source_archive.expected | 26 ++ .../test.expected | 20 -- .../test.py | 9 +- .../test.ql | 7 - .../force_sequential_test_execution | 4 - .../source_archive.expected | 26 ++ .../android-sample-no-wrapper/test.expected | 20 -- .../java/android-sample-no-wrapper/test.py | 9 +- .../java/android-sample-no-wrapper/test.ql | 7 - .../force_sequential_test_execution | 4 - .../source_archive.expected | 29 ++ .../test.expected | 23 -- .../test.py | 10 +- .../test.ql | 7 - .../force_sequential_test_execution | 4 - .../gradle/wrapper/gradle-wrapper.jar | Bin 60756 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - .../gradlew | 240 ----------------- .../gradlew.bat | 91 ------- .../source_archive.expected | 29 ++ .../test.expected | 23 -- .../test.py | 9 +- .../test.ql | 7 - .../force_sequential_test_execution | 4 - .../source_archive.expected | 29 ++ .../test.expected | 23 -- .../test.py | 10 +- .../test.ql | 7 - .../android-sample-old-style/.gitattributes | 6 - .../force_sequential_test_execution | 4 - .../gradle/wrapper/gradle-wrapper.jar | Bin 60756 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - .../java/android-sample-old-style/gradlew | 240 ----------------- .../java/android-sample-old-style/gradlew.bat | 91 ------- .../source_archive.expected | 29 ++ .../android-sample-old-style/test.expected | 23 -- .../java/android-sample-old-style/test.py | 9 +- .../java/android-sample-old-style/test.ql | 7 - .../java/android-sample/.gitattributes | 6 - .../force_sequential_test_execution | 4 - .../gradle/wrapper/gradle-wrapper.jar | Bin 60756 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - .../all-platforms/java/android-sample/gradlew | 240 ----------------- .../java/android-sample/gradlew.bat | 91 ------- .../android-sample/source_archive.expected | 26 ++ .../java/android-sample/test.expected | 20 -- .../all-platforms/java/android-sample/test.py | 9 +- .../all-platforms/java/android-sample/test.ql | 7 - .../all-platforms/java/ant-sample/test.py | 7 +- .../force_sequential_test_execution | 1 - .../test.py | 33 ++- .../java/buildless-erroneous/test.py | 10 +- .../.gitattributes | 9 - .../buildless-gradle-classifiers/.gitignore | 5 - .../force_sequential_test_execution | 3 - .../gradle/wrapper/gradle-wrapper.jar | Bin 63721 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 - .../java/buildless-gradle-classifiers/gradlew | 249 ------------------ .../buildless-gradle-classifiers/gradlew.bat | 92 ------- .../source_archive.expected | 7 + .../test.expected | 1 - .../java/buildless-gradle-classifiers/test.py | 15 +- .../java/buildless-gradle-classifiers/test.ql | 5 - .../force_sequential_test_execution | 3 - .../source_archive.expected | 5 + .../buildless-gradle-timeout/test.expected | 5 - .../java/buildless-gradle-timeout/test.py | 16 +- .../java/buildless-gradle-timeout/test.ql | 7 - .../java/buildless-gradle/.gitattributes | 9 - .../java/buildless-gradle/.gitignore | 5 - .../force_sequential_test_execution | 3 - .../gradle/wrapper/gradle-wrapper.jar | Bin 63721 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 - .../java/buildless-gradle/gradlew | 249 ------------------ .../java/buildless-gradle/gradlew.bat | 92 ------- .../buildless-gradle/source_archive.expected | 7 + .../java/buildless-gradle/test.expected | 1 - .../java/buildless-gradle/test.py | 15 +- .../java/buildless-gradle/test.ql | 5 - .../force_sequential_test_execution | 1 - .../buildless-inherit-trust-store/test.py | 35 ++- .../force_sequential_test_execution | 1 - .../source_archive.expected | 7 + .../test.expected | 10 - .../buildless-maven-executable-war/test.py | 15 +- .../buildless-maven-executable-war/test.ql | 9 - .../force_sequential_test_execution | 1 - .../source_archive.expected | 14 + .../buildless-maven-multimodule/test.expected | 17 -- .../java/buildless-maven-multimodule/test.py | 15 +- .../java/buildless-maven-multimodule/test.ql | 9 - .../force_sequential_test_execution | 1 - .../source_archive.expected | 8 + .../buildless-maven-timeout/test.expected | 11 - .../java/buildless-maven-timeout/test.py | 15 +- .../java/buildless-maven-timeout/test.ql | 9 - .../force_sequential_test_execution | 1 - .../test.py | 12 +- .../force_sequential_test_execution | 1 - .../buildless-maven/source_archive.expected | 7 + .../java/buildless-maven/test.expected | 10 - .../java/buildless-maven/test.py | 15 +- .../java/buildless-maven/test.ql | 9 - .../test.py | 9 +- .../buildless-proxy-gradle/.gitattributes | 9 - .../java/buildless-proxy-gradle/.gitignore | 5 - .../force_sequential_test_execution | 3 - .../gradle/wrapper/gradle-wrapper.jar | Bin 63721 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 - .../java/buildless-proxy-gradle/gradlew | 249 ------------------ .../java/buildless-proxy-gradle/gradlew.bat | 92 ------- .../source_archive.expected | 7 + .../java/buildless-proxy-gradle/test.expected | 1 - .../java/buildless-proxy-gradle/test.py | 47 +--- .../java/buildless-proxy-gradle/test.ql | 5 - .../force_sequential_test_execution | 1 - .../source_archive.expected | 8 + .../java/buildless-proxy-maven/test.expected | 11 - .../java/buildless-proxy-maven/test.py | 47 +--- .../java/buildless-proxy-maven/test.ql | 9 - .../force_sequential_test_execution | 3 - .../source_archive.expected | 29 ++ .../buildless-sibling-projects/test.expected | 8 - .../java/buildless-sibling-projects/test.py | 23 +- .../java/buildless-sibling-projects/test.ql | 5 - .../force_sequential_test_execution | 1 - .../buildless-snapshot-repository/test.py | 25 +- .../java/buildless/source_archive.expected | 6 + .../java/buildless/test.expected | 9 - .../all-platforms/java/buildless/test.py | 10 +- .../all-platforms/java/buildless/test.ql | 9 - .../.gitattributes | 6 - .../force_sequential_test_execution | 4 - .../gradle/wrapper/gradle-wrapper.jar | Bin 60756 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - .../android-gradle-incompatibility/gradlew | 240 ----------------- .../gradlew.bat | 91 ------- .../android-gradle-incompatibility/test.py | 9 +- .../diagnostics/compilation-error/test.py | 9 +- .../java/diagnostics/dependency-error/test.py | 22 +- .../java-version-too-old/.gitattributes | 6 - .../java-version-too-old/.gitignore | 5 - .../force_sequential_test_execution | 3 - .../gradle/verification-metadata.xml | 7 - .../gradle/wrapper/gradle-wrapper.jar | Bin 59203 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - .../diagnostics/java-version-too-old/gradlew | 185 ------------- .../java-version-too-old/gradlew.bat | 89 ------- .../skip-on-platform-osx-arm | 3 - .../diagnostics/java-version-too-old/test.py | 38 ++- .../diagnostics/maven-http-repository/test.py | 9 +- .../multiple-candidate-builds/test.py | 9 +- .../java/diagnostics/no-build-system/test.py | 9 +- .../diagnostics.expected | 2 +- .../no-gradle-test-classes/test.py | 9 +- .../force_sequential_test_execution | 3 - .../diagnostics/no-gradle-wrapper/test.py | 9 +- .../ecj-sample-noexit/source_archive.expected | 2 + .../java/ecj-sample-noexit/test.expected | 1 - .../java/ecj-sample-noexit/test.py | 10 +- .../java/ecj-sample-noexit/test.ql | 3 - .../java/ecj-sample/source_archive.expected | 2 + .../java/ecj-sample/test.expected | 1 - .../all-platforms/java/ecj-sample/test.py | 10 +- .../all-platforms/java/ecj-sample/test.ql | 3 - .../{Diagnostics.expected => Diag.expected} | 0 .../{Diagnostics.ql => Diag.ql} | 0 .../ecj-tolerate-enum-annotations/test.py | 16 +- .../.gitattributes | 9 - .../gradle-sample-kotlin-script/.gitignore | 5 - .../force_sequential_test_execution | 3 - .../gradle/wrapper/gradle-wrapper.jar | Bin 60756 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - .../source_archive.expected | 9 + .../gradle-sample-kotlin-script/test.expected | 4 - .../java/gradle-sample-kotlin-script/test.py | 7 +- .../java/gradle-sample-kotlin-script/test.ql | 7 - .../java/gradle-sample/.gitattributes | 6 - .../java/gradle-sample/.gitignore | 5 - .../force_sequential_test_execution | 3 - .../gradle/verification-metadata.xml | 7 - .../gradle/wrapper/gradle-wrapper.jar | Bin 59203 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - .../all-platforms/java/gradle-sample/gradlew | 185 ------------- .../java/gradle-sample/gradlew.bat | 89 ------- .../gradle-sample/source_archive.expected | 9 + .../java/gradle-sample/test.expected | 5 - .../all-platforms/java/gradle-sample/test.py | 10 +- .../all-platforms/java/gradle-sample/test.ql | 7 - .../force_sequential_test_execution | 1 - .../all-platforms/java/java-web-jsp/test.py | 9 +- .../force_sequential_test_execution | 1 - .../maven-enforcer/source_archive.expected | 12 + .../java/maven-enforcer/test.expected | 15 -- .../all-platforms/java/maven-enforcer/test.py | 7 +- .../all-platforms/java/maven-enforcer/test.ql | 9 - .../force_sequential_test_execution | 1 - .../source_archive.expected | 12 + .../test.expected | 15 -- .../maven-sample-extract-properties/test.py | 7 +- .../maven-sample-extract-properties/test.ql | 9 - .../force_sequential_test_execution | 1 - .../source_archive.expected | 10 + .../test.expected | 7 - .../java/maven-sample-large-xml-files/test.py | 16 +- .../java/maven-sample-large-xml-files/test.ql | 7 - .../force_sequential_test_execution | 1 - .../source_archive.expected | 17 ++ .../test.expected | 14 - .../java/maven-sample-small-xml-files/test.py | 16 +- .../java/maven-sample-small-xml-files/test.ql | 7 - .../force_sequential_test_execution | 1 - .../source_archive.expected | 12 + .../maven-sample-xml-mode-all/test.expected | 9 - .../java/maven-sample-xml-mode-all/test.py | 7 +- .../java/maven-sample-xml-mode-all/test.ql | 7 - .../force_sequential_test_execution | 1 - .../source_archive.expected | 10 + .../test.expected | 7 - .../java/maven-sample-xml-mode-byname/test.py | 7 +- .../java/maven-sample-xml-mode-byname/test.ql | 7 - .../force_sequential_test_execution | 1 - .../source_archive.expected | 7 + .../test.expected | 4 - .../maven-sample-xml-mode-disabled/test.py | 7 +- .../maven-sample-xml-mode-disabled/test.ql | 7 - .../force_sequential_test_execution | 1 - .../source_archive.expected | 10 + .../maven-sample-xml-mode-smart/test.expected | 7 - .../java/maven-sample-xml-mode-smart/test.py | 7 +- .../java/maven-sample-xml-mode-smart/test.ql | 7 - .../force_sequential_test_execution | 1 - .../java/maven-sample/source_archive.expected | 12 + .../java/maven-sample/test.expected | 15 -- .../all-platforms/java/maven-sample/test.py | 7 +- .../all-platforms/java/maven-sample/test.ql | 9 - .../force_sequential_test_execution | 1 - .../source_archive.expected | 13 + .../maven-wrapper-script-only/test.expected | 16 -- .../java/maven-wrapper-script-only/test.py | 9 +- .../java/maven-wrapper-script-only/test.ql | 9 - .../force_sequential_test_execution | 1 - .../source_archive.expected | 13 + .../maven-wrapper-source-only/test.expected | 16 -- .../java/maven-wrapper-source-only/test.py | 9 +- .../java/maven-wrapper-source-only/test.ql | 9 - .../force_sequential_test_execution | 1 - .../maven-wrapper/source_archive.expected | 13 + .../java/maven-wrapper/test.expected | 16 -- .../all-platforms/java/maven-wrapper/test.py | 9 +- .../all-platforms/java/maven-wrapper/test.ql | 9 - .../java/multi-release-jar-java11/test.py | 35 ++- .../java/multi-release-jar-java17/test.py | 33 ++- .../force_sequential_test_execution | 3 - .../source_archive.expected | 10 + .../test.expected | 5 - .../test.py | 40 +-- .../test.ql | 7 - .../java/partial-gradle-sample/.gitignore | 5 - .../force_sequential_test_execution | 3 - .../source_archive.expected | 10 + .../java/partial-gradle-sample/test.expected | 5 - .../java/partial-gradle-sample/test.py | 9 +- .../java/partial-gradle-sample/test.ql | 7 - .../java/spring-boot-sample/.gitattributes | 6 - .../java/spring-boot-sample/.gitignore | 37 --- .../force_sequential_test_execution | 3 - .../gradle/wrapper/gradle-wrapper.jar | Bin 43453 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 - .../java/spring-boot-sample/gradlew | 249 ------------------ .../java/spring-boot-sample/gradlew.bat | 92 ------- .../source_archive.expected | 11 + .../java/spring-boot-sample/test.expected | 4 - .../java/spring-boot-sample/test.py | 10 +- .../java/spring-boot-sample/test.ql | 7 - 297 files changed, 848 insertions(+), 5570 deletions(-) delete mode 100644 java/ql/integration-tests/all-platforms/java/android-8-sample/.gitattributes delete mode 100644 java/ql/integration-tests/all-platforms/java/android-8-sample/.gitignore delete mode 100644 java/ql/integration-tests/all-platforms/java/android-8-sample/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/java/android-8-sample/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/ql/integration-tests/all-platforms/java/android-8-sample/gradle/wrapper/gradle-wrapper.properties delete mode 100755 java/ql/integration-tests/all-platforms/java/android-8-sample/gradlew delete mode 100644 java/ql/integration-tests/all-platforms/java/android-8-sample/gradlew.bat create mode 100644 java/ql/integration-tests/all-platforms/java/android-8-sample/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-8-sample/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-8-sample/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/.gitattributes delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/gradle/wrapper/gradle-wrapper.properties delete mode 100755 java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/gradlew delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/gradlew.bat create mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/gradle/wrapper/gradle-wrapper.properties delete mode 100755 java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/gradlew delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/gradlew.bat create mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style/.gitattributes delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style/gradle/wrapper/gradle-wrapper.properties delete mode 100755 java/ql/integration-tests/all-platforms/java/android-sample-old-style/gradlew delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style/gradlew.bat create mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample-old-style/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample/.gitattributes delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample/gradle/wrapper/gradle-wrapper.properties delete mode 100755 java/ql/integration-tests/all-platforms/java/android-sample/gradlew delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample/gradlew.bat create mode 100644 java/ql/integration-tests/all-platforms/java/android-sample/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/android-sample/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-dependency-different-repository/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/.gitattributes delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/.gitignore delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/gradle/wrapper/gradle-wrapper.properties delete mode 100755 java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/gradlew delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/gradlew.bat create mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle/.gitattributes delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle/.gitignore delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle/gradle/wrapper/gradle-wrapper.properties delete mode 100755 java/ql/integration-tests/all-platforms/java/buildless-gradle/gradlew delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle/gradlew.bat create mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-gradle/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-inherit-trust-store/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-maven-tolerate-unavailable-dependency/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-maven/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/buildless-maven/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-maven/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-maven/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/.gitattributes delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/.gitignore delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/gradle/wrapper/gradle-wrapper.properties delete mode 100755 java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/gradlew delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/gradlew.bat create mode 100644 java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless-snapshot-repository/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/buildless/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/buildless/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/.gitattributes delete mode 100644 java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/gradle/wrapper/gradle-wrapper.properties delete mode 100755 java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/gradlew delete mode 100644 java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/gradlew.bat delete mode 100644 java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/.gitattributes delete mode 100644 java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/.gitignore delete mode 100644 java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradle/verification-metadata.xml delete mode 100644 java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradle/wrapper/gradle-wrapper.properties delete mode 100755 java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradlew delete mode 100644 java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradlew.bat delete mode 100644 java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/skip-on-platform-osx-arm delete mode 100644 java/ql/integration-tests/all-platforms/java/diagnostics/no-gradle-wrapper/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/ecj-sample-noexit/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/ecj-sample-noexit/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/ecj-sample-noexit/test.ql create mode 100644 java/ql/integration-tests/all-platforms/java/ecj-sample/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/ecj-sample/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/ecj-sample/test.ql rename java/ql/integration-tests/all-platforms/java/ecj-tolerate-enum-annotations/{Diagnostics.expected => Diag.expected} (100%) rename java/ql/integration-tests/all-platforms/java/ecj-tolerate-enum-annotations/{Diagnostics.ql => Diag.ql} (100%) delete mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/.gitattributes delete mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/.gitignore delete mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/gradle/wrapper/gradle-wrapper.properties create mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample/.gitattributes delete mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample/.gitignore delete mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample/gradle/verification-metadata.xml delete mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample/gradle/wrapper/gradle-wrapper.properties delete mode 100755 java/ql/integration-tests/all-platforms/java/gradle-sample/gradlew delete mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample/gradlew.bat create mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/gradle-sample/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/java-web-jsp/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-enforcer/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/maven-enforcer/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-enforcer/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-enforcer/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-sample/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-wrapper/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/maven-wrapper/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-wrapper/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/maven-wrapper/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/partial-gradle-sample/.gitignore delete mode 100644 java/ql/integration-tests/all-platforms/java/partial-gradle-sample/force_sequential_test_execution create mode 100644 java/ql/integration-tests/all-platforms/java/partial-gradle-sample/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/partial-gradle-sample/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/partial-gradle-sample/test.ql delete mode 100644 java/ql/integration-tests/all-platforms/java/spring-boot-sample/.gitattributes delete mode 100644 java/ql/integration-tests/all-platforms/java/spring-boot-sample/.gitignore delete mode 100644 java/ql/integration-tests/all-platforms/java/spring-boot-sample/force_sequential_test_execution delete mode 100644 java/ql/integration-tests/all-platforms/java/spring-boot-sample/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/ql/integration-tests/all-platforms/java/spring-boot-sample/gradle/wrapper/gradle-wrapper.properties delete mode 100755 java/ql/integration-tests/all-platforms/java/spring-boot-sample/gradlew delete mode 100644 java/ql/integration-tests/all-platforms/java/spring-boot-sample/gradlew.bat create mode 100644 java/ql/integration-tests/all-platforms/java/spring-boot-sample/source_archive.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/spring-boot-sample/test.expected delete mode 100644 java/ql/integration-tests/all-platforms/java/spring-boot-sample/test.ql diff --git a/java/ql/integration-tests/all-platforms/java/android-8-sample/.gitattributes b/java/ql/integration-tests/all-platforms/java/android-8-sample/.gitattributes deleted file mode 100644 index 00a51aff5e5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-8-sample/.gitattributes +++ /dev/null @@ -1,6 +0,0 @@ -# -# https://help.github.com/articles/dealing-with-line-endings/ -# -# These are explicitly windows files and should use crlf -*.bat text eol=crlf - diff --git a/java/ql/integration-tests/all-platforms/java/android-8-sample/.gitignore b/java/ql/integration-tests/all-platforms/java/android-8-sample/.gitignore deleted file mode 100644 index c2065bc2620..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-8-sample/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -HELP.md -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ diff --git a/java/ql/integration-tests/all-platforms/java/android-8-sample/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/android-8-sample/force_sequential_test_execution deleted file mode 100644 index 4947fd6fe51..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-8-sample/force_sequential_test_execution +++ /dev/null @@ -1,4 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. -# Additionally, Android SDK on-demand downloading can fail when multiple tests try to download the same SDK in parallel. diff --git a/java/ql/integration-tests/all-platforms/java/android-8-sample/gradle/wrapper/gradle-wrapper.jar b/java/ql/integration-tests/all-platforms/java/android-8-sample/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 249e5832f090a2944b7473328c07c9755baa3196..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60756 zcmb5WV{~QRw(p$^Dz@00IL3?^hro$gg*4VI_WAaTyVM5Foj~O|-84 z$;06hMwt*rV;^8iB z1~&0XWpYJmG?Ts^K9PC62H*`G}xom%S%yq|xvG~FIfP=9*f zZoDRJBm*Y0aId=qJ?7dyb)6)JGWGwe)MHeNSzhi)Ko6J<-m@v=a%NsP537lHe0R* z`If4$aaBA#S=w!2z&m>{lpTy^Lm^mg*3?M&7HFv}7K6x*cukLIGX;bQG|QWdn{%_6 zHnwBKr84#B7Z+AnBXa16a?or^R?+>$4`}{*a_>IhbjvyTtWkHw)|ay)ahWUd-qq$~ zMbh6roVsj;_qnC-R{G+Cy6bApVOinSU-;(DxUEl!i2)1EeQ9`hrfqj(nKI7?Z>Xur zoJz-a`PxkYit1HEbv|jy%~DO^13J-ut986EEG=66S}D3!L}Efp;Bez~7tNq{QsUMm zh9~(HYg1pA*=37C0}n4g&bFbQ+?-h-W}onYeE{q;cIy%eZK9wZjSwGvT+&Cgv z?~{9p(;bY_1+k|wkt_|N!@J~aoY@|U_RGoWX<;p{Nu*D*&_phw`8jYkMNpRTWx1H* z>J-Mi_!`M468#5Aix$$u1M@rJEIOc?k^QBc?T(#=n&*5eS#u*Y)?L8Ha$9wRWdH^3D4|Ps)Y?m0q~SiKiSfEkJ!=^`lJ(%W3o|CZ zSrZL-Xxc{OrmsQD&s~zPfNJOpSZUl%V8tdG%ei}lQkM+z@-4etFPR>GOH9+Y_F<3=~SXln9Kb-o~f>2a6Xz@AS3cn^;c_>lUwlK(n>z?A>NbC z`Ud8^aQy>wy=$)w;JZzA)_*Y$Z5hU=KAG&htLw1Uh00yE!|Nu{EZkch zY9O6x7Y??>!7pUNME*d!=R#s)ghr|R#41l!c?~=3CS8&zr6*aA7n9*)*PWBV2w+&I zpW1-9fr3j{VTcls1>ua}F*bbju_Xq%^v;-W~paSqlf zolj*dt`BBjHI)H9{zrkBo=B%>8}4jeBO~kWqO!~Thi!I1H(in=n^fS%nuL=X2+s!p}HfTU#NBGiwEBF^^tKU zbhhv+0dE-sbK$>J#t-J!B$TMgN@Wh5wTtK2BG}4BGfsZOoRUS#G8Cxv|6EI*n&Xxq zt{&OxCC+BNqz$9b0WM7_PyBJEVObHFh%%`~!@MNZlo*oXDCwDcFwT~Rls!aApL<)^ zbBftGKKBRhB!{?fX@l2_y~%ygNFfF(XJzHh#?`WlSL{1lKT*gJM zs>bd^H9NCxqxn(IOky5k-wALFowQr(gw%|`0991u#9jXQh?4l|l>pd6a&rx|v=fPJ z1mutj{YzpJ_gsClbWFk(G}bSlFi-6@mwoQh-XeD*j@~huW4(8ub%^I|azA)h2t#yG z7e_V_<4jlM3D(I+qX}yEtqj)cpzN*oCdYHa!nm%0t^wHm)EmFP*|FMw!tb@&`G-u~ zK)=Sf6z+BiTAI}}i{*_Ac$ffr*Wrv$F7_0gJkjx;@)XjYSh`RjAgrCck`x!zP>Ifu z&%he4P|S)H*(9oB4uvH67^0}I-_ye_!w)u3v2+EY>eD3#8QR24<;7?*hj8k~rS)~7 zSXs5ww)T(0eHSp$hEIBnW|Iun<_i`}VE0Nc$|-R}wlSIs5pV{g_Dar(Zz<4X3`W?K z6&CAIl4U(Qk-tTcK{|zYF6QG5ArrEB!;5s?tW7 zrE3hcFY&k)+)e{+YOJ0X2uDE_hd2{|m_dC}kgEKqiE9Q^A-+>2UonB+L@v3$9?AYw zVQv?X*pK;X4Ovc6Ev5Gbg{{Eu*7{N3#0@9oMI~}KnObQE#Y{&3mM4`w%wN+xrKYgD zB-ay0Q}m{QI;iY`s1Z^NqIkjrTlf`B)B#MajZ#9u41oRBC1oM1vq0i|F59> z#StM@bHt|#`2)cpl_rWB($DNJ3Lap}QM-+A$3pe}NyP(@+i1>o^fe-oxX#Bt`mcQc zb?pD4W%#ep|3%CHAYnr*^M6Czg>~L4?l16H1OozM{P*en298b+`i4$|w$|4AHbzqB zHpYUsHZET$Z0ztC;U+0*+amF!@PI%^oUIZy{`L{%O^i{Xk}X0&nl)n~tVEpcAJSJ} zverw15zP1P-O8h9nd!&hj$zuwjg?DoxYIw{jWM zW5_pj+wFy8Tsa9g<7Qa21WaV&;ejoYflRKcz?#fSH_)@*QVlN2l4(QNk| z4aPnv&mrS&0|6NHq05XQw$J^RR9T{3SOcMKCXIR1iSf+xJ0E_Wv?jEc*I#ZPzyJN2 zUG0UOXHl+PikM*&g$U@g+KbG-RY>uaIl&DEtw_Q=FYq?etc!;hEC_}UX{eyh%dw2V zTTSlap&5>PY{6I#(6`j-9`D&I#|YPP8a;(sOzgeKDWsLa!i-$frD>zr-oid!Hf&yS z!i^cr&7tN}OOGmX2)`8k?Tn!!4=tz~3hCTq_9CdiV!NIblUDxHh(FJ$zs)B2(t5@u z-`^RA1ShrLCkg0)OhfoM;4Z{&oZmAec$qV@ zGQ(7(!CBk<5;Ar%DLJ0p0!ResC#U<+3i<|vib1?{5gCebG7$F7URKZXuX-2WgF>YJ^i zMhHDBsh9PDU8dlZ$yJKtc6JA#y!y$57%sE>4Nt+wF1lfNIWyA`=hF=9Gj%sRwi@vd z%2eVV3y&dvAgyuJ=eNJR+*080dbO_t@BFJO<@&#yqTK&+xc|FRR;p;KVk@J3$S{p` zGaMj6isho#%m)?pOG^G0mzOAw0z?!AEMsv=0T>WWcE>??WS=fII$t$(^PDPMU(P>o z_*0s^W#|x)%tx8jIgZY~A2yG;US0m2ZOQt6yJqW@XNY_>_R7(Nxb8Ged6BdYW6{prd!|zuX$@Q2o6Ona8zzYC1u!+2!Y$Jc9a;wy+pXt}o6~Bu1oF1c zp7Y|SBTNi@=I(K%A60PMjM#sfH$y*c{xUgeSpi#HB`?|`!Tb&-qJ3;vxS!TIzuTZs-&%#bAkAyw9m4PJgvey zM5?up*b}eDEY+#@tKec)-c(#QF0P?MRlD1+7%Yk*jW;)`f;0a-ZJ6CQA?E%>i2Dt7T9?s|9ZF|KP4;CNWvaVKZ+Qeut;Jith_y{v*Ny6Co6!8MZx;Wgo z=qAi%&S;8J{iyD&>3CLCQdTX*$+Rx1AwA*D_J^0>suTgBMBb=*hefV+Ars#mmr+YsI3#!F@Xc1t4F-gB@6aoyT+5O(qMz*zG<9Qq*f0w^V!03rpr*-WLH}; zfM{xSPJeu6D(%8HU%0GEa%waFHE$G?FH^kMS-&I3)ycx|iv{T6Wx}9$$D&6{%1N_8 z_CLw)_9+O4&u94##vI9b-HHm_95m)fa??q07`DniVjAy`t7;)4NpeyAY(aAk(+T_O z1om+b5K2g_B&b2DCTK<>SE$Ode1DopAi)xaJjU>**AJK3hZrnhEQ9E`2=|HHe<^tv z63e(bn#fMWuz>4erc47}!J>U58%<&N<6AOAewyzNTqi7hJc|X{782&cM zHZYclNbBwU6673=!ClmxMfkC$(CykGR@10F!zN1Se83LR&a~$Ht&>~43OX22mt7tcZUpa;9@q}KDX3O&Ugp6< zLZLfIMO5;pTee1vNyVC$FGxzK2f>0Z-6hM82zKg44nWo|n}$Zk6&;5ry3`(JFEX$q zK&KivAe${e^5ZGc3a9hOt|!UOE&OocpVryE$Y4sPcs4rJ>>Kbi2_subQ9($2VN(3o zb~tEzMsHaBmBtaHAyES+d3A(qURgiskSSwUc9CfJ@99&MKp2sooSYZu+-0t0+L*!I zYagjOlPgx|lep9tiU%ts&McF6b0VE57%E0Ho%2oi?=Ks+5%aj#au^OBwNwhec zta6QAeQI^V!dF1C)>RHAmB`HnxyqWx?td@4sd15zPd*Fc9hpDXP23kbBenBxGeD$k z;%0VBQEJ-C)&dTAw_yW@k0u?IUk*NrkJ)(XEeI z9Y>6Vel>#s_v@=@0<{4A{pl=9cQ&Iah0iD0H`q)7NeCIRz8zx;! z^OO;1+IqoQNak&pV`qKW+K0^Hqp!~gSohcyS)?^P`JNZXw@gc6{A3OLZ?@1Uc^I2v z+X!^R*HCm3{7JPq{8*Tn>5;B|X7n4QQ0Bs79uTU%nbqOJh`nX(BVj!#f;#J+WZxx4 z_yM&1Y`2XzhfqkIMO7tB3raJKQS+H5F%o83bM+hxbQ zeeJm=Dvix$2j|b4?mDacb67v-1^lTp${z=jc1=j~QD>7c*@+1?py>%Kj%Ejp7Y-!? z8iYRUlGVrQPandAaxFfks53@2EC#0)%mrnmGRn&>=$H$S8q|kE_iWko4`^vCS2aWg z#!`RHUGyOt*k?bBYu3*j3u0gB#v(3tsije zgIuNNWNtrOkx@Pzs;A9un+2LX!zw+p3_NX^Sh09HZAf>m8l@O*rXy_82aWT$Q>iyy zqO7Of)D=wcSn!0+467&!Hl))eff=$aneB?R!YykdKW@k^_uR!+Q1tR)+IJb`-6=jj zymzA>Sv4>Z&g&WWu#|~GcP7qP&m*w-S$)7Xr;(duqCTe7p8H3k5>Y-n8438+%^9~K z3r^LIT_K{i7DgEJjIocw_6d0!<;wKT`X;&vv+&msmhAAnIe!OTdybPctzcEzBy88_ zWO{6i4YT%e4^WQZB)KHCvA(0tS zHu_Bg+6Ko%a9~$EjRB90`P(2~6uI@SFibxct{H#o&y40MdiXblu@VFXbhz>Nko;7R z70Ntmm-FePqhb%9gL+7U8@(ch|JfH5Fm)5${8|`Lef>LttM_iww6LW2X61ldBmG0z zax3y)njFe>j*T{i0s8D4=L>X^j0)({R5lMGVS#7(2C9@AxL&C-lZQx~czI7Iv+{%1 z2hEG>RzX4S8x3v#9sgGAnPzptM)g&LB}@%E>fy0vGSa(&q0ch|=ncKjNrK z`jA~jObJhrJ^ri|-)J^HUyeZXz~XkBp$VhcTEcTdc#a2EUOGVX?@mYx#Vy*!qO$Jv zQ4rgOJ~M*o-_Wptam=~krnmG*p^j!JAqoQ%+YsDFW7Cc9M%YPiBOrVcD^RY>m9Pd< zu}#9M?K{+;UIO!D9qOpq9yxUquQRmQNMo0pT`@$pVt=rMvyX)ph(-CCJLvUJy71DI zBk7oc7)-%ngdj~s@76Yse3L^gV0 z2==qfp&Q~L(+%RHP0n}+xH#k(hPRx(!AdBM$JCfJ5*C=K3ts>P?@@SZ_+{U2qFZb>4kZ{Go37{# zSQc+-dq*a-Vy4?taS&{Ht|MLRiS)Sn14JOONyXqPNnpq&2y~)6wEG0oNy>qvod$FF z`9o&?&6uZjhZ4_*5qWVrEfu(>_n2Xi2{@Gz9MZ8!YmjYvIMasE9yVQL10NBrTCczq zcTY1q^PF2l!Eraguf{+PtHV3=2A?Cu&NN&a8V(y;q(^_mFc6)%Yfn&X&~Pq zU1?qCj^LF(EQB1F`8NxNjyV%fde}dEa(Hx=r7$~ts2dzDwyi6ByBAIx$NllB4%K=O z$AHz1<2bTUb>(MCVPpK(E9wlLElo(aSd(Os)^Raum`d(g9Vd_+Bf&V;l=@mM=cC>) z)9b0enb)u_7V!!E_bl>u5nf&Rl|2r=2F3rHMdb7y9E}}F82^$Rf+P8%dKnOeKh1vs zhH^P*4Ydr^$)$h@4KVzxrHyy#cKmWEa9P5DJ|- zG;!Qi35Tp7XNj60=$!S6U#!(${6hyh7d4q=pF{`0t|N^|L^d8pD{O9@tF~W;#Je*P z&ah%W!KOIN;SyAEhAeTafJ4uEL`(RtnovM+cb(O#>xQnk?dzAjG^~4$dFn^<@-Na3 z395;wBnS{t*H;Jef2eE!2}u5Ns{AHj>WYZDgQJt8v%x?9{MXqJsGP|l%OiZqQ1aB! z%E=*Ig`(!tHh>}4_z5IMpg{49UvD*Pp9!pxt_gdAW%sIf3k6CTycOT1McPl=_#0?8 zVjz8Hj*Vy9c5-krd-{BQ{6Xy|P$6LJvMuX$* zA+@I_66_ET5l2&gk9n4$1M3LN8(yEViRx&mtd#LD}AqEs?RW=xKC(OCWH;~>(X6h!uDxXIPH06xh z*`F4cVlbDP`A)-fzf>MuScYsmq&1LUMGaQ3bRm6i7OsJ|%uhTDT zlvZA1M}nz*SalJWNT|`dBm1$xlaA>CCiQ zK`xD-RuEn>-`Z?M{1%@wewf#8?F|(@1e0+T4>nmlSRrNK5f)BJ2H*$q(H>zGD0>eL zQ!tl_Wk)k*e6v^m*{~A;@6+JGeWU-q9>?+L_#UNT%G?4&BnOgvm9@o7l?ov~XL+et zbGT)|G7)KAeqb=wHSPk+J1bdg7N3$vp(ekjI1D9V$G5Cj!=R2w=3*4!z*J-r-cyeb zd(i2KmX!|Lhey!snRw z?#$Gu%S^SQEKt&kep)up#j&9}e+3=JJBS(s>MH+|=R(`8xK{mmndWo_r`-w1#SeRD&YtAJ#GiVI*TkQZ}&aq<+bU2+coU3!jCI6E+Ad_xFW*ghnZ$q zAoF*i&3n1j#?B8x;kjSJD${1jdRB;)R*)Ao!9bd|C7{;iqDo|T&>KSh6*hCD!rwv= zyK#F@2+cv3=|S1Kef(E6Niv8kyLVLX&e=U;{0x{$tDfShqkjUME>f8d(5nzSkY6@! z^-0>DM)wa&%m#UF1F?zR`8Y3X#tA!*7Q$P3lZJ%*KNlrk_uaPkxw~ zxZ1qlE;Zo;nb@!SMazSjM>;34ROOoygo%SF);LL>rRonWwR>bmSd1XD^~sGSu$Gg# zFZ`|yKU0%!v07dz^v(tY%;So(e`o{ZYTX`hm;@b0%8|H>VW`*cr8R%3n|ehw2`(9B+V72`>SY}9^8oh$En80mZK9T4abVG*to;E z1_S6bgDOW?!Oy1LwYy=w3q~KKdbNtyH#d24PFjX)KYMY93{3-mPP-H>@M-_>N~DDu zENh~reh?JBAK=TFN-SfDfT^=+{w4ea2KNWXq2Y<;?(gf(FgVp8Zp-oEjKzB%2Iqj;48GmY3h=bcdYJ}~&4tS`Q1sb=^emaW$IC$|R+r-8V- zf0$gGE(CS_n4s>oicVk)MfvVg#I>iDvf~Ov8bk}sSxluG!6#^Z_zhB&U^`eIi1@j( z^CK$z^stBHtaDDHxn+R;3u+>Lil^}fj?7eaGB z&5nl^STqcaBxI@v>%zG|j))G(rVa4aY=B@^2{TFkW~YP!8!9TG#(-nOf^^X-%m9{Z zCC?iC`G-^RcBSCuk=Z`(FaUUe?hf3{0C>>$?Vs z`2Uud9M+T&KB6o4o9kvdi^Q=Bw!asPdxbe#W-Oaa#_NP(qpyF@bVxv5D5))srkU#m zj_KA+#7sqDn*Ipf!F5Byco4HOSd!Ui$l94|IbW%Ny(s1>f4|Mv^#NfB31N~kya9!k zWCGL-$0ZQztBate^fd>R!hXY_N9ZjYp3V~4_V z#eB)Kjr8yW=+oG)BuNdZG?jaZlw+l_ma8aET(s+-x+=F-t#Qoiuu1i`^x8Sj>b^U} zs^z<()YMFP7CmjUC@M=&lA5W7t&cxTlzJAts*%PBDAPuqcV5o7HEnqjif_7xGt)F% zGx2b4w{@!tE)$p=l3&?Bf#`+!-RLOleeRk3 z7#pF|w@6_sBmn1nECqdunmG^}pr5(ZJQVvAt$6p3H(16~;vO>?sTE`Y+mq5YP&PBo zvq!7#W$Gewy`;%6o^!Dtjz~x)T}Bdk*BS#=EY=ODD&B=V6TD2z^hj1m5^d6s)D*wk zu$z~D7QuZ2b?5`p)E8e2_L38v3WE{V`bVk;6fl#o2`) z99JsWhh?$oVRn@$S#)uK&8DL8>An0&S<%V8hnGD7Z^;Y(%6;^9!7kDQ5bjR_V+~wp zfx4m3z6CWmmZ<8gDGUyg3>t8wgJ5NkkiEm^(sedCicP^&3D%}6LtIUq>mXCAt{9eF zNXL$kGcoUTf_Lhm`t;hD-SE)m=iBnxRU(NyL}f6~1uH)`K!hmYZjLI%H}AmEF5RZt z06$wn63GHnApHXZZJ}s^s)j9(BM6e*7IBK6Bq(!)d~zR#rbxK9NVIlgquoMq z=eGZ9NR!SEqP6=9UQg#@!rtbbSBUM#ynF);zKX+|!Zm}*{H z+j=d?aZ2!?@EL7C~%B?6ouCKLnO$uWn;Y6Xz zX8dSwj732u(o*U3F$F=7xwxm>E-B+SVZH;O-4XPuPkLSt_?S0)lb7EEg)Mglk0#eS z9@jl(OnH4juMxY+*r03VDfPx_IM!Lmc(5hOI;`?d37f>jPP$?9jQQIQU@i4vuG6MagEoJrQ=RD7xt@8E;c zeGV*+Pt+t$@pt!|McETOE$9k=_C!70uhwRS9X#b%ZK z%q(TIUXSS^F0`4Cx?Rk07C6wI4!UVPeI~-fxY6`YH$kABdOuiRtl73MqG|~AzZ@iL&^s?24iS;RK_pdlWkhcF z@Wv-Om(Aealfg)D^adlXh9Nvf~Uf@y;g3Y)i(YP zEXDnb1V}1pJT5ZWyw=1i+0fni9yINurD=EqH^ciOwLUGi)C%Da)tyt=zq2P7pV5-G zR7!oq28-Fgn5pW|nlu^b!S1Z#r7!Wtr{5J5PQ>pd+2P7RSD?>(U7-|Y z7ZQ5lhYIl_IF<9?T9^IPK<(Hp;l5bl5tF9>X-zG14_7PfsA>6<$~A338iYRT{a@r_ zuXBaT=`T5x3=s&3=RYx6NgG>No4?5KFBVjE(swfcivcIpPQFx5l+O;fiGsOrl5teR z_Cm+;PW}O0Dwe_(4Z@XZ)O0W-v2X><&L*<~*q3dg;bQW3g7)a#3KiQP>+qj|qo*Hk z?57>f2?f@`=Fj^nkDKeRkN2d$Z@2eNKpHo}ksj-$`QKb6n?*$^*%Fb3_Kbf1(*W9K>{L$mud2WHJ=j0^=g30Xhg8$#g^?36`p1fm;;1@0Lrx+8t`?vN0ZorM zSW?rhjCE8$C|@p^sXdx z|NOHHg+fL;HIlqyLp~SSdIF`TnSHehNCU9t89yr@)FY<~hu+X`tjg(aSVae$wDG*C zq$nY(Y494R)hD!i1|IIyP*&PD_c2FPgeY)&mX1qujB1VHPG9`yFQpLFVQ0>EKS@Bp zAfP5`C(sWGLI?AC{XEjLKR4FVNw(4+9b?kba95ukgR1H?w<8F7)G+6&(zUhIE5Ef% z=fFkL3QKA~M@h{nzjRq!Y_t!%U66#L8!(2-GgFxkD1=JRRqk=n%G(yHKn%^&$dW>; zSjAcjETMz1%205se$iH_)ZCpfg_LwvnsZQAUCS#^FExp8O4CrJb6>JquNV@qPq~3A zZ<6dOU#6|8+fcgiA#~MDmcpIEaUO02L5#T$HV0$EMD94HT_eXLZ2Zi&(! z&5E>%&|FZ`)CN10tM%tLSPD*~r#--K(H-CZqIOb99_;m|D5wdgJ<1iOJz@h2Zkq?} z%8_KXb&hf=2Wza(Wgc;3v3TN*;HTU*q2?#z&tLn_U0Nt!y>Oo>+2T)He6%XuP;fgn z-G!#h$Y2`9>Jtf}hbVrm6D70|ERzLAU>3zoWhJmjWfgM^))T+2u$~5>HF9jQDkrXR z=IzX36)V75PrFjkQ%TO+iqKGCQ-DDXbaE;C#}!-CoWQx&v*vHfyI>$HNRbpvm<`O( zlx9NBWD6_e&J%Ous4yp~s6)Ghni!I6)0W;9(9$y1wWu`$gs<$9Mcf$L*piP zPR0Av*2%ul`W;?-1_-5Zy0~}?`e@Y5A&0H!^ApyVTT}BiOm4GeFo$_oPlDEyeGBbh z1h3q&Dx~GmUS|3@4V36&$2uO8!Yp&^pD7J5&TN{?xphf*-js1fP?B|`>p_K>lh{ij zP(?H%e}AIP?_i^f&Li=FDSQ`2_NWxL+BB=nQr=$ zHojMlXNGauvvwPU>ZLq!`bX-5F4jBJ&So{kE5+ms9UEYD{66!|k~3vsP+mE}x!>%P za98bAU0!h0&ka4EoiDvBM#CP#dRNdXJcb*(%=<(g+M@<)DZ!@v1V>;54En?igcHR2 zhubQMq}VSOK)onqHfczM7YA@s=9*ow;k;8)&?J3@0JiGcP! zP#00KZ1t)GyZeRJ=f0^gc+58lc4Qh*S7RqPIC6GugG1gXe$LIQMRCo8cHf^qXgAa2 z`}t>u2Cq1CbSEpLr~E=c7~=Qkc9-vLE%(v9N*&HF`(d~(0`iukl5aQ9u4rUvc8%m) zr2GwZN4!s;{SB87lJB;veebPmqE}tSpT>+`t?<457Q9iV$th%i__Z1kOMAswFldD6 ztbOvO337S5o#ZZgN2G99_AVqPv!?Gmt3pzgD+Hp3QPQ`9qJ(g=kjvD+fUSS3upJn! zqoG7acIKEFRX~S}3|{EWT$kdz#zrDlJU(rPkxjws_iyLKU8+v|*oS_W*-guAb&Pj1 z35Z`3z<&Jb@2Mwz=KXucNYdY#SNO$tcVFr9KdKm|%^e-TXzs6M`PBper%ajkrIyUe zp$vVxVs9*>Vp4_1NC~Zg)WOCPmOxI1V34QlG4!aSFOH{QqSVq1^1)- z0P!Z?tT&E-ll(pwf0?=F=yOzik=@nh1Clxr9}Vij89z)ePDSCYAqw?lVI?v?+&*zH z)p$CScFI8rrwId~`}9YWPFu0cW1Sf@vRELs&cbntRU6QfPK-SO*mqu|u~}8AJ!Q$z znzu}50O=YbjwKCuSVBs6&CZR#0FTu)3{}qJJYX(>QPr4$RqWiwX3NT~;>cLn*_&1H zaKpIW)JVJ>b{uo2oq>oQt3y=zJjb%fU@wLqM{SyaC6x2snMx-}ivfU<1- znu1Lh;i$3Tf$Kh5Uk))G!D1UhE8pvx&nO~w^fG)BC&L!_hQk%^p`Kp@F{cz>80W&T ziOK=Sq3fdRu*V0=S53rcIfWFazI}Twj63CG(jOB;$*b`*#B9uEnBM`hDk*EwSRdwP8?5T?xGUKs=5N83XsR*)a4|ijz|c{4tIU+4j^A5C<#5 z*$c_d=5ml~%pGxw#?*q9N7aRwPux5EyqHVkdJO=5J>84!X6P>DS8PTTz>7C#FO?k#edkntG+fJk8ZMn?pmJSO@`x-QHq;7^h6GEXLXo1TCNhH z8ZDH{*NLAjo3WM`xeb=X{((uv3H(8&r8fJJg_uSs_%hOH%JDD?hu*2NvWGYD+j)&` zz#_1%O1wF^o5ryt?O0n;`lHbzp0wQ?rcbW(F1+h7_EZZ9{>rePvLAPVZ_R|n@;b$;UchU=0j<6k8G9QuQf@76oiE*4 zXOLQ&n3$NR#p4<5NJMVC*S);5x2)eRbaAM%VxWu9ohlT;pGEk7;002enCbQ>2r-us z3#bpXP9g|mE`65VrN`+3mC)M(eMj~~eOf)do<@l+fMiTR)XO}422*1SL{wyY(%oMpBgJagtiDf zz>O6(m;};>Hi=t8o{DVC@YigqS(Qh+ix3Rwa9aliH}a}IlOCW1@?%h_bRbq-W{KHF z%Vo?-j@{Xi@=~Lz5uZP27==UGE15|g^0gzD|3x)SCEXrx`*MP^FDLl%pOi~~Il;dc z^hrwp9sYeT7iZ)-ajKy@{a`kr0-5*_!XfBpXwEcFGJ;%kV$0Nx;apKrur zJN2J~CAv{Zjj%FolyurtW8RaFmpn&zKJWL>(0;;+q(%(Hx!GMW4AcfP0YJ*Vz!F4g z!ZhMyj$BdXL@MlF%KeInmPCt~9&A!;cRw)W!Hi@0DY(GD_f?jeV{=s=cJ6e}JktJw zQORnxxj3mBxfrH=x{`_^Z1ddDh}L#V7i}$njUFRVwOX?qOTKjfPMBO4y(WiU<)epb zvB9L=%jW#*SL|Nd_G?E*_h1^M-$PG6Pc_&QqF0O-FIOpa4)PAEPsyvB)GKasmBoEt z?_Q2~QCYGH+hW31x-B=@5_AN870vY#KB~3a*&{I=f);3Kv7q4Q7s)0)gVYx2#Iz9g(F2;=+Iy4 z6KI^8GJ6D@%tpS^8boU}zpi=+(5GfIR)35PzrbuXeL1Y1N%JK7PG|^2k3qIqHfX;G zQ}~JZ-UWx|60P5?d1e;AHx!_;#PG%d=^X(AR%i`l0jSpYOpXoKFW~7ip7|xvN;2^? zsYC9fanpO7rO=V7+KXqVc;Q5z%Bj})xHVrgoR04sA2 zl~DAwv=!(()DvH*=lyhIlU^hBkA0$e*7&fJpB0|oB7)rqGK#5##2T`@_I^|O2x4GO z;xh6ROcV<9>?e0)MI(y++$-ksV;G;Xe`lh76T#Htuia+(UrIXrf9?

    L(tZ$0BqX1>24?V$S+&kLZ`AodQ4_)P#Q3*4xg8}lMV-FLwC*cN$< zt65Rf%7z41u^i=P*qO8>JqXPrinQFapR7qHAtp~&RZ85$>ob|Js;GS^y;S{XnGiBc zGa4IGvDl?x%gY`vNhv8wgZnP#UYI-w*^4YCZnxkF85@ldepk$&$#3EAhrJY0U)lR{F6sM3SONV^+$;Zx8BD&Eku3K zKNLZyBni3)pGzU0;n(X@1fX8wYGKYMpLmCu{N5-}epPDxClPFK#A@02WM3!myN%bkF z|GJ4GZ}3sL{3{qXemy+#Uk{4>Kf8v11;f8I&c76+B&AQ8udd<8gU7+BeWC`akUU~U zgXoxie>MS@rBoyY8O8Tc&8id!w+_ooxcr!1?#rc$-|SBBtH6S?)1e#P#S?jFZ8u-Bs&k`yLqW|{j+%c#A4AQ>+tj$Y z^CZajspu$F%73E68Lw5q7IVREED9r1Ijsg#@DzH>wKseye>hjsk^{n0g?3+gs@7`i zHx+-!sjLx^fS;fY!ERBU+Q zVJ!e0hJH%P)z!y%1^ZyG0>PN@5W~SV%f>}c?$H8r;Sy-ui>aruVTY=bHe}$e zi&Q4&XK!qT7-XjCrDaufT@>ieQ&4G(SShUob0Q>Gznep9fR783jGuUynAqc6$pYX; z7*O@@JW>O6lKIk0G00xsm|=*UVTQBB`u1f=6wGAj%nHK_;Aqmfa!eAykDmi-@u%6~ z;*c!pS1@V8r@IX9j&rW&d*}wpNs96O2Ute>%yt{yv>k!6zfT6pru{F1M3P z2WN1JDYqoTB#(`kE{H676QOoX`cnqHl1Yaru)>8Ky~VU{)r#{&s86Vz5X)v15ULHA zAZDb{99+s~qI6;-dQ5DBjHJP@GYTwn;Dv&9kE<0R!d z8tf1oq$kO`_sV(NHOSbMwr=To4r^X$`sBW4$gWUov|WY?xccQJN}1DOL|GEaD_!@& z15p?Pj+>7d`@LvNIu9*^hPN)pwcv|akvYYq)ks%`G>!+!pW{-iXPZsRp8 z35LR;DhseQKWYSD`%gO&k$Dj6_6q#vjWA}rZcWtQr=Xn*)kJ9kacA=esi*I<)1>w^ zO_+E>QvjP)qiSZg9M|GNeLtO2D7xT6vsj`88sd!94j^AqxFLi}@w9!Y*?nwWARE0P znuI_7A-saQ+%?MFA$gttMV-NAR^#tjl_e{R$N8t2NbOlX373>e7Ox=l=;y#;M7asp zRCz*CLnrm$esvSb5{T<$6CjY zmZ(i{Rs_<#pWW>(HPaaYj`%YqBra=Ey3R21O7vUbzOkJJO?V`4-D*u4$Me0Bx$K(lYo`JO}gnC zx`V}a7m-hLU9Xvb@K2ymioF)vj12<*^oAqRuG_4u%(ah?+go%$kOpfb`T96P+L$4> zQ#S+sA%VbH&mD1k5Ak7^^dZoC>`1L%i>ZXmooA!%GI)b+$D&ziKrb)a=-ds9xk#~& z7)3iem6I|r5+ZrTRe_W861x8JpD`DDIYZNm{$baw+$)X^Jtjnl0xlBgdnNY}x%5za zkQ8E6T<^$sKBPtL4(1zi_Rd(tVth*3Xs!ulflX+70?gb&jRTnI8l+*Aj9{|d%qLZ+ z>~V9Z;)`8-lds*Zgs~z1?Fg?Po7|FDl(Ce<*c^2=lFQ~ahwh6rqSjtM5+$GT>3WZW zj;u~w9xwAhOc<kF}~`CJ68 z?(S5vNJa;kriPlim33{N5`C{9?NWhzsna_~^|K2k4xz1`xcui*LXL-1#Y}Hi9`Oo!zQ>x-kgAX4LrPz63uZ+?uG*84@PKq-KgQlMNRwz=6Yes) zY}>YN+qP}nwr$(CZQFjUOI=-6J$2^XGvC~EZ+vrqWaOXB$k?%Suf5k=4>AveC1aJ! ziaW4IS%F$_Babi)kA8Y&u4F7E%99OPtm=vzw$$ zEz#9rvn`Iot_z-r3MtV>k)YvErZ<^Oa${`2>MYYODSr6?QZu+be-~MBjwPGdMvGd!b!elsdi4% z`37W*8+OGulab8YM?`KjJ8e+jM(tqLKSS@=jimq3)Ea2EB%88L8CaM+aG7;27b?5` z4zuUWBr)f)k2o&xg{iZ$IQkJ+SK>lpq4GEacu~eOW4yNFLU!Kgc{w4&D$4ecm0f}~ zTTzquRW@`f0}|IILl`!1P+;69g^upiPA6F{)U8)muWHzexRenBU$E^9X-uIY2%&1w z_=#5*(nmxJ9zF%styBwivi)?#KMG96-H@hD-H_&EZiRNsfk7mjBq{L%!E;Sqn!mVX*}kXhwH6eh;b42eD!*~upVG@ z#smUqz$ICm!Y8wY53gJeS|Iuard0=;k5i5Z_hSIs6tr)R4n*r*rE`>38Pw&lkv{_r!jNN=;#?WbMj|l>cU(9trCq; z%nN~r^y7!kH^GPOf3R}?dDhO=v^3BeP5hF|%4GNQYBSwz;x({21i4OQY->1G=KFyu z&6d`f2tT9Yl_Z8YACZaJ#v#-(gcyeqXMhYGXb=t>)M@fFa8tHp2x;ODX=Ap@a5I=U z0G80^$N0G4=U(>W%mrrThl0DjyQ-_I>+1Tdd_AuB3qpYAqY54upwa3}owa|x5iQ^1 zEf|iTZxKNGRpI>34EwkIQ2zHDEZ=(J@lRaOH>F|2Z%V_t56Km$PUYu^xA5#5Uj4I4RGqHD56xT%H{+P8Ag>e_3pN$4m8n>i%OyJFPNWaEnJ4McUZPa1QmOh?t8~n& z&RulPCors8wUaqMHECG=IhB(-tU2XvHP6#NrLVyKG%Ee*mQ5Ps%wW?mcnriTVRc4J`2YVM>$ixSF2Xi+Wn(RUZnV?mJ?GRdw%lhZ+t&3s7g!~g{%m&i<6 z5{ib-<==DYG93I(yhyv4jp*y3#*WNuDUf6`vTM%c&hiayf(%=x@4$kJ!W4MtYcE#1 zHM?3xw63;L%x3drtd?jot!8u3qeqctceX3m;tWetK+>~q7Be$h>n6riK(5@ujLgRS zvOym)k+VAtyV^mF)$29Y`nw&ijdg~jYpkx%*^ z8dz`C*g=I?;clyi5|!27e2AuSa$&%UyR(J3W!A=ZgHF9OuKA34I-1U~pyD!KuRkjA zbkN!?MfQOeN>DUPBxoy5IX}@vw`EEB->q!)8fRl_mqUVuRu|C@KD-;yl=yKc=ZT0% zB$fMwcC|HE*0f8+PVlWHi>M`zfsA(NQFET?LrM^pPcw`cK+Mo0%8*x8@65=CS_^$cG{GZQ#xv($7J z??R$P)nPLodI;P!IC3eEYEHh7TV@opr#*)6A-;EU2XuogHvC;;k1aI8asq7ovoP!* z?x%UoPrZjj<&&aWpsbr>J$Er-7!E(BmOyEv!-mbGQGeJm-U2J>74>o5x`1l;)+P&~ z>}f^=Rx(ZQ2bm+YE0u=ZYrAV@apyt=v1wb?R@`i_g64YyAwcOUl=C!i>=Lzb$`tjv zOO-P#A+)t-JbbotGMT}arNhJmmGl-lyUpMn=2UacVZxmiG!s!6H39@~&uVokS zG=5qWhfW-WOI9g4!R$n7!|ViL!|v3G?GN6HR0Pt_L5*>D#FEj5wM1DScz4Jv@Sxnl zB@MPPmdI{(2D?;*wd>3#tjAirmUnQoZrVv`xM3hARuJksF(Q)wd4P$88fGYOT1p6U z`AHSN!`St}}UMBT9o7i|G`r$ zrB=s$qV3d6$W9@?L!pl0lf%)xs%1ko^=QY$ty-57=55PvP(^6E7cc zGJ*>m2=;fOj?F~yBf@K@9qwX0hA803Xw+b0m}+#a(>RyR8}*Y<4b+kpp|OS+!whP( zH`v{%s>jsQI9rd$*vm)EkwOm#W_-rLTHcZRek)>AtF+~<(did)*oR1|&~1|e36d-d zgtm5cv1O0oqgWC%Et@P4Vhm}Ndl(Y#C^MD03g#PH-TFy+7!Osv1z^UWS9@%JhswEq~6kSr2DITo59+; ze=ZC}i2Q?CJ~Iyu?vn|=9iKV>4j8KbxhE4&!@SQ^dVa-gK@YfS9xT(0kpW*EDjYUkoj! zE49{7H&E}k%5(>sM4uGY)Q*&3>{aitqdNnRJkbOmD5Mp5rv-hxzOn80QsG=HJ_atI-EaP69cacR)Uvh{G5dTpYG7d zbtmRMq@Sexey)||UpnZ?;g_KMZq4IDCy5}@u!5&B^-=6yyY{}e4Hh3ee!ZWtL*s?G zxG(A!<9o!CL+q?u_utltPMk+hn?N2@?}xU0KlYg?Jco{Yf@|mSGC<(Zj^yHCvhmyx z?OxOYoxbptDK()tsJ42VzXdINAMWL$0Gcw?G(g8TMB)Khw_|v9`_ql#pRd2i*?CZl z7k1b!jQB=9-V@h%;Cnl7EKi;Y^&NhU0mWEcj8B|3L30Ku#-9389Q+(Yet0r$F=+3p z6AKOMAIi|OHyzlHZtOm73}|ntKtFaXF2Fy|M!gOh^L4^62kGUoWS1i{9gsds_GWBc zLw|TaLP64z3z9?=R2|T6Xh2W4_F*$cq>MtXMOy&=IPIJ`;!Tw?PqvI2b*U1)25^<2 zU_ZPoxg_V0tngA0J+mm?3;OYw{i2Zb4x}NedZug!>EoN3DC{1i)Z{Z4m*(y{ov2%- zk(w>+scOO}MN!exSc`TN)!B=NUX`zThWO~M*ohqq;J2hx9h9}|s#?@eR!=F{QTrq~ zTcY|>azkCe$|Q0XFUdpFT=lTcyW##i;-e{}ORB4D?t@SfqGo_cS z->?^rh$<&n9DL!CF+h?LMZRi)qju!meugvxX*&jfD!^1XB3?E?HnwHP8$;uX{Rvp# zh|)hM>XDv$ZGg=$1{+_bA~u-vXqlw6NH=nkpyWE0u}LQjF-3NhATL@9rRxMnpO%f7 z)EhZf{PF|mKIMFxnC?*78(}{Y)}iztV12}_OXffJ;ta!fcFIVjdchyHxH=t%ci`Xd zX2AUB?%?poD6Zv*&BA!6c5S#|xn~DK01#XvjT!w!;&`lDXSJT4_j$}!qSPrb37vc{ z9^NfC%QvPu@vlxaZ;mIbn-VHA6miwi8qJ~V;pTZkKqqOii<1Cs}0i?uUIss;hM4dKq^1O35y?Yp=l4i zf{M!@QHH~rJ&X~8uATV><23zZUbs-J^3}$IvV_ANLS08>k`Td7aU_S1sLsfi*C-m1 z-e#S%UGs4E!;CeBT@9}aaI)qR-6NU@kvS#0r`g&UWg?fC7|b^_HyCE!8}nyh^~o@< zpm7PDFs9yxp+byMS(JWm$NeL?DNrMCNE!I^ko-*csB+dsf4GAq{=6sfyf4wb>?v1v zmb`F*bN1KUx-`ra1+TJ37bXNP%`-Fd`vVQFTwWpX@;s(%nDQa#oWhgk#mYlY*!d>( zE&!|ySF!mIyfING+#%RDY3IBH_fW$}6~1%!G`suHub1kP@&DoAd5~7J55;5_noPI6eLf{t;@9Kf<{aO0`1WNKd?<)C-|?C?)3s z>wEq@8=I$Wc~Mt$o;g++5qR+(6wt9GI~pyrDJ%c?gPZe)owvy^J2S=+M^ z&WhIE`g;;J^xQLVeCtf7b%Dg#Z2gq9hp_%g)-%_`y*zb; zn9`f`mUPN-Ts&fFo(aNTsXPA|J!TJ{0hZp0^;MYHLOcD=r_~~^ymS8KLCSeU3;^QzJNqS z5{5rEAv#l(X?bvwxpU;2%pQftF`YFgrD1jt2^~Mt^~G>T*}A$yZc@(k9orlCGv&|1 zWWvVgiJsCAtamuAYT~nzs?TQFt<1LSEx!@e0~@yd6$b5!Zm(FpBl;(Cn>2vF?k zOm#TTjFwd2D-CyA!mqR^?#Uwm{NBemP>(pHmM}9;;8`c&+_o3#E5m)JzfwN?(f-a4 zyd%xZc^oQx3XT?vcCqCX&Qrk~nu;fxs@JUoyVoi5fqpi&bUhQ2y!Ok2pzsFR(M(|U zw3E+kH_zmTRQ9dUMZWRE%Zakiwc+lgv7Z%|YO9YxAy`y28`Aw;WU6HXBgU7fl@dnt z-fFBV)}H-gqP!1;V@Je$WcbYre|dRdp{xt!7sL3Eoa%IA`5CAA%;Wq8PktwPdULo! z8!sB}Qt8#jH9Sh}QiUtEPZ6H0b*7qEKGJ%ITZ|vH)5Q^2m<7o3#Z>AKc%z7_u`rXA zqrCy{-{8;9>dfllLu$^M5L z-hXs))h*qz%~ActwkIA(qOVBZl2v4lwbM>9l70Y`+T*elINFqt#>OaVWoja8RMsep z6Or3f=oBnA3vDbn*+HNZP?8LsH2MY)x%c13@(XfuGR}R?Nu<|07{$+Lc3$Uv^I!MQ z>6qWgd-=aG2Y^24g4{Bw9ueOR)(9h`scImD=86dD+MnSN4$6 z^U*o_mE-6Rk~Dp!ANp#5RE9n*LG(Vg`1)g6!(XtDzsov$Dvz|Gv1WU68J$CkshQhS zCrc|cdkW~UK}5NeaWj^F4MSgFM+@fJd{|LLM)}_O<{rj z+?*Lm?owq?IzC%U%9EBga~h-cJbIu=#C}XuWN>OLrc%M@Gu~kFEYUi4EC6l#PR2JS zQUkGKrrS#6H7}2l0F@S11DP`@pih0WRkRJl#F;u{c&ZC{^$Z+_*lB)r)-bPgRFE;* zl)@hK4`tEP=P=il02x7-C7p%l=B`vkYjw?YhdJU9!P!jcmY$OtC^12w?vy3<<=tlY zUwHJ_0lgWN9vf>1%WACBD{UT)1qHQSE2%z|JHvP{#INr13jM}oYv_5#xsnv9`)UAO zuwgyV4YZ;O)eSc3(mka6=aRohi!HH@I#xq7kng?Acdg7S4vDJb6cI5fw?2z%3yR+| zU5v@Hm}vy;${cBp&@D=HQ9j7NcFaOYL zj-wV=eYF{|XTkFNM2uz&T8uH~;)^Zo!=KP)EVyH6s9l1~4m}N%XzPpduPg|h-&lL` zAXspR0YMOKd2yO)eMFFJ4?sQ&!`dF&!|niH*!^*Ml##o0M(0*uK9&yzekFi$+mP9s z>W9d%Jb)PtVi&-Ha!o~Iyh@KRuKpQ@)I~L*d`{O8!kRObjO7=n+Gp36fe!66neh+7 zW*l^0tTKjLLzr`x4`_8&on?mjW-PzheTNox8Hg7Nt@*SbE-%kP2hWYmHu#Fn@Q^J(SsPUz*|EgOoZ6byg3ew88UGdZ>9B2Tq=jF72ZaR=4u%1A6Vm{O#?@dD!(#tmR;eP(Fu z{$0O%=Vmua7=Gjr8nY%>ul?w=FJ76O2js&17W_iq2*tb!i{pt#`qZB#im9Rl>?t?0c zicIC}et_4d+CpVPx)i4~$u6N-QX3H77ez z?ZdvXifFk|*F8~L(W$OWM~r`pSk5}#F?j_5u$Obu9lDWIknO^AGu+Blk7!9Sb;NjS zncZA?qtASdNtzQ>z7N871IsPAk^CC?iIL}+{K|F@BuG2>qQ;_RUYV#>hHO(HUPpk@ z(bn~4|F_jiZi}Sad;_7`#4}EmD<1EiIxa48QjUuR?rC}^HRocq`OQPM@aHVKP9E#q zy%6bmHygCpIddPjE}q_DPC`VH_2m;Eey&ZH)E6xGeStOK7H)#+9y!%-Hm|QF6w#A( zIC0Yw%9j$s-#odxG~C*^MZ?M<+&WJ+@?B_QPUyTg9DJGtQN#NIC&-XddRsf3n^AL6 zT@P|H;PvN;ZpL0iv$bRb7|J{0o!Hq+S>_NrH4@coZtBJu#g8#CbR7|#?6uxi8d+$g z87apN>EciJZ`%Zv2**_uiET9Vk{pny&My;+WfGDw4EVL#B!Wiw&M|A8f1A@ z(yFQS6jfbH{b8Z-S7D2?Ixl`j0{+ZnpT=;KzVMLW{B$`N?Gw^Fl0H6lT61%T2AU**!sX0u?|I(yoy&Xveg7XBL&+>n6jd1##6d>TxE*Vj=8lWiG$4=u{1UbAa5QD>5_ z;Te^42v7K6Mmu4IWT6Rnm>oxrl~b<~^e3vbj-GCdHLIB_>59}Ya+~OF68NiH=?}2o zP(X7EN=quQn&)fK>M&kqF|<_*H`}c zk=+x)GU>{Af#vx&s?`UKUsz})g^Pc&?Ka@t5$n$bqf6{r1>#mWx6Ep>9|A}VmWRnowVo`OyCr^fHsf# zQjQ3Ttp7y#iQY8l`zEUW)(@gGQdt(~rkxlkefskT(t%@i8=|p1Y9Dc5bc+z#n$s13 zGJk|V0+&Ekh(F};PJzQKKo+FG@KV8a<$gmNSD;7rd_nRdc%?9)p!|B-@P~kxQG}~B zi|{0}@}zKC(rlFUYp*dO1RuvPC^DQOkX4<+EwvBAC{IZQdYxoq1Za!MW7%p7gGr=j zzWnAq%)^O2$eItftC#TTSArUyL$U54-O7e|)4_7%Q^2tZ^0-d&3J1}qCzR4dWX!)4 zzIEKjgnYgMus^>6uw4Jm8ga6>GBtMjpNRJ6CP~W=37~||gMo_p@GA@#-3)+cVYnU> zE5=Y4kzl+EbEh%dhQokB{gqNDqx%5*qBusWV%!iprn$S!;oN_6E3?0+umADVs4ako z?P+t?m?};gev9JXQ#Q&KBpzkHPde_CGu-y z<{}RRAx=xlv#mVi+Ibrgx~ujW$h{?zPfhz)Kp7kmYS&_|97b&H&1;J-mzrBWAvY} zh8-I8hl_RK2+nnf&}!W0P+>5?#?7>npshe<1~&l_xqKd0_>dl_^RMRq@-Myz&|TKZBj1=Q()) zF{dBjv5)h=&Z)Aevx}+i|7=R9rG^Di!sa)sZCl&ctX4&LScQ-kMncgO(9o6W6)yd< z@Rk!vkja*X_N3H=BavGoR0@u0<}m-7|2v!0+2h~S2Q&a=lTH91OJsvms2MT~ zY=c@LO5i`mLpBd(vh|)I&^A3TQLtr>w=zoyzTd=^f@TPu&+*2MtqE$Avf>l>}V|3-8Fp2hzo3y<)hr_|NO(&oSD z!vEjTWBxbKTiShVl-U{n*B3#)3a8$`{~Pk}J@elZ=>Pqp|MQ}jrGv7KrNcjW%TN_< zZz8kG{#}XoeWf7qY?D)L)8?Q-b@Na&>i=)(@uNo zr;cH98T3$Iau8Hn*@vXi{A@YehxDE2zX~o+RY`)6-X{8~hMpc#C`|8y> zU8Mnv5A0dNCf{Ims*|l-^ z(MRp{qoGohB34|ggDI*p!Aw|MFyJ|v+<+E3brfrI)|+l3W~CQLPbnF@G0)P~Ly!1TJLp}xh8uW`Q+RB-v`MRYZ9Gam3cM%{ zb4Cb*f)0deR~wtNb*8w-LlIF>kc7DAv>T0D(a3@l`k4TFnrO+g9XH7;nYOHxjc4lq zMmaW6qpgAgy)MckYMhl?>sq;-1E)-1llUneeA!ya9KM$)DaNGu57Z5aE>=VST$#vb zFo=uRHr$0M{-ha>h(D_boS4zId;3B|Tpqo|?B?Z@I?G(?&Iei+-{9L_A9=h=Qfn-U z1wIUnQe9!z%_j$F_{rf&`ZFSott09gY~qrf@g3O=Y>vzAnXCyL!@(BqWa)Zqt!#_k zfZHuwS52|&&)aK;CHq9V-t9qt0au{$#6c*R#e5n3rje0hic7c7m{kW$p(_`wB=Gw7 z4k`1Hi;Mc@yA7dp@r~?@rfw)TkjAW++|pkfOG}0N|2guek}j8Zen(!+@7?qt_7ndX zB=BG6WJ31#F3#Vk3=aQr8T)3`{=p9nBHlKzE0I@v`{vJ}h8pd6vby&VgFhzH|q;=aonunAXL6G2y(X^CtAhWr*jI zGjpY@raZDQkg*aMq}Ni6cRF z{oWv}5`nhSAv>usX}m^GHt`f(t8@zHc?K|y5Zi=4G*UG1Sza{$Dpj%X8 zzEXaKT5N6F5j4J|w#qlZP!zS7BT)9b+!ZSJdToqJts1c!)fwih4d31vfb{}W)EgcA zH2pZ^8_k$9+WD2n`6q5XbOy8>3pcYH9 z07eUB+p}YD@AH!}p!iKv><2QF-Y^&xx^PAc1F13A{nUeCDg&{hnix#FiO!fe(^&%Qcux!h znu*S!s$&nnkeotYsDthh1dq(iQrE|#f_=xVgfiiL&-5eAcC-> z5L0l|DVEM$#ulf{bj+Y~7iD)j<~O8CYM8GW)dQGq)!mck)FqoL^X zwNdZb3->hFrbHFm?hLvut-*uK?zXn3q1z|UX{RZ;-WiLoOjnle!xs+W0-8D)kjU#R z+S|A^HkRg$Ij%N4v~k`jyHffKaC~=wg=9)V5h=|kLQ@;^W!o2^K+xG&2n`XCd>OY5Ydi= zgHH=lgy++erK8&+YeTl7VNyVm9-GfONlSlVb3)V9NW5tT!cJ8d7X)!b-$fb!s76{t z@d=Vg-5K_sqHA@Zx-L_}wVnc@L@GL9_K~Zl(h5@AR#FAiKad8~KeWCo@mgXIQ#~u{ zgYFwNz}2b6Vu@CP0XoqJ+dm8px(5W5-Jpis97F`+KM)TuP*X8H@zwiVKDKGVp59pI zifNHZr|B+PG|7|Y<*tqap0CvG7tbR1R>jn70t1X`XJixiMVcHf%Ez*=xm1(CrTSDt z0cle!+{8*Ja&EOZ4@$qhBuKQ$U95Q%rc7tg$VRhk?3=pE&n+T3upZg^ZJc9~c2es% zh7>+|mrmA-p&v}|OtxqmHIBgUxL~^0+cpfkSK2mhh+4b=^F1Xgd2)}U*Yp+H?ls#z zrLxWg_hm}AfK2XYWr!rzW4g;+^^&bW%LmbtRai9f3PjU${r@n`JThy-cphbcwn)rq9{A$Ht`lmYKxOacy z6v2R(?gHhD5@&kB-Eg?4!hAoD7~(h>(R!s1c1Hx#s9vGPePUR|of32bS`J5U5w{F) z>0<^ktO2UHg<0{oxkdOQ;}coZDQph8p6ruj*_?uqURCMTac;>T#v+l1Tc~%^k-Vd@ zkc5y35jVNc49vZpZx;gG$h{%yslDI%Lqga1&&;mN{Ush1c7p>7e-(zp}6E7f-XmJb4nhk zb8zS+{IVbL$QVF8pf8}~kQ|dHJAEATmmnrb_wLG}-yHe>W|A&Y|;muy-d^t^<&)g5SJfaTH@P1%euONny=mxo+C z4N&w#biWY41r8k~468tvuYVh&XN&d#%QtIf9;iVXfWY)#j=l`&B~lqDT@28+Y!0E+MkfC}}H*#(WKKdJJq=O$vNYCb(ZG@p{fJgu;h z21oHQ(14?LeT>n5)s;uD@5&ohU!@wX8w*lB6i@GEH0pM>YTG+RAIWZD;4#F1&F%Jp zXZUml2sH0!lYJT?&sA!qwez6cXzJEd(1ZC~kT5kZSp7(@=H2$Azb_*W&6aA|9iwCL zdX7Q=42;@dspHDwYE?miGX#L^3xD&%BI&fN9^;`v4OjQXPBaBmOF1;#C)8XA(WFlH zycro;DS2?(G&6wkr6rqC>rqDv3nfGw3hmN_9Al>TgvmGsL8_hXx09};l9Ow@)F5@y z#VH5WigLDwZE4nh^7&@g{1FV^UZ%_LJ-s<{HN*2R$OPg@R~Z`c-ET*2}XB@9xvAjrK&hS=f|R8Gr9 zr|0TGOsI7RD+4+2{ZiwdVD@2zmg~g@^D--YL;6UYGSM8i$NbQr4!c7T9rg!8;TM0E zT#@?&S=t>GQm)*ua|?TLT2ktj#`|R<_*FAkOu2Pz$wEc%-=Y9V*$&dg+wIei3b*O8 z2|m$!jJG!J!ZGbbIa!(Af~oSyZV+~M1qGvelMzPNE_%5?c2>;MeeG2^N?JDKjFYCy z7SbPWH-$cWF9~fX%9~v99L!G(wi!PFp>rB!9xj7=Cv|F+7CsGNwY0Q_J%FID%C^CBZQfJ9K(HK%k31j~e#&?hQ zNuD6gRkVckU)v+53-fc} z7ZCzYN-5RG4H7;>>Hg?LU9&5_aua?A0)0dpew1#MMlu)LHe(M;OHjHIUl7|%%)YPo z0cBk;AOY00%Fe6heoN*$(b<)Cd#^8Iu;-2v@>cE-OB$icUF9EEoaC&q8z9}jMTT2I z8`9;jT%z0;dy4!8U;GW{i`)3!c6&oWY`J3669C!tM<5nQFFrFRglU8f)5Op$GtR-3 zn!+SPCw|04sv?%YZ(a7#L?vsdr7ss@WKAw&A*}-1S|9~cL%uA+E~>N6QklFE>8W|% zyX-qAUGTY1hQ-+um`2|&ji0cY*(qN!zp{YpDO-r>jPk*yuVSay<)cUt`t@&FPF_&$ zcHwu1(SQ`I-l8~vYyUxm@D1UEdFJ$f5Sw^HPH7b!9 zzYT3gKMF((N(v0#4f_jPfVZ=ApN^jQJe-X$`A?X+vWjLn_%31KXE*}5_}d8 zw_B1+a#6T1?>M{ronLbHIlEsMf93muJ7AH5h%;i99<~JX^;EAgEB1uHralD*!aJ@F zV2ruuFe9i2Q1C?^^kmVy921eb=tLDD43@-AgL^rQ3IO9%+vi_&R2^dpr}x{bCVPej z7G0-0o64uyWNtr*loIvslyo0%)KSDDKjfThe0hcqs)(C-MH1>bNGBDRTW~scy_{w} zp^aq8Qb!h9Lwielq%C1b8=?Z=&U)ST&PHbS)8Xzjh2DF?d{iAv)Eh)wsUnf>UtXN( zL7=$%YrZ#|^c{MYmhn!zV#t*(jdmYdCpwqpZ{v&L8KIuKn`@IIZfp!uo}c;7J57N` zAxyZ-uA4=Gzl~Ovycz%MW9ZL7N+nRo&1cfNn9(1H5eM;V_4Z_qVann7F>5f>%{rf= zPBZFaV@_Sobl?Fy&KXyzFDV*FIdhS5`Uc~S^Gjo)aiTHgn#<0C=9o-a-}@}xDor;D zZyZ|fvf;+=3MZd>SR1F^F`RJEZo+|MdyJYQAEauKu%WDol~ayrGU3zzbHKsnHKZ*z zFiwUkL@DZ>!*x05ql&EBq@_Vqv83&?@~q5?lVmffQZ+V-=qL+!u4Xs2Z2zdCQ3U7B&QR9_Iggy} z(om{Y9eU;IPe`+p1ifLx-XWh?wI)xU9ik+m#g&pGdB5Bi<`PR*?92lE0+TkRuXI)z z5LP!N2+tTc%cB6B1F-!fj#}>S!vnpgVU~3!*U1ej^)vjUH4s-bd^%B=ItQqDCGbrEzNQi(dJ`J}-U=2{7-d zK8k^Rlq2N#0G?9&1?HSle2vlkj^KWSBYTwx`2?9TU_DX#J+f+qLiZCqY1TXHFxXZqYMuD@RU$TgcnCC{_(vwZ-*uX)~go#%PK z@}2Km_5aQ~(<3cXeJN6|F8X_1@L%@xTzs}$_*E|a^_URF_qcF;Pfhoe?FTFwvjm1o z8onf@OY@jC2tVcMaZS;|T!Ks(wOgPpRzRnFS-^RZ4E!9dsnj9sFt609a|jJbb1Dt@ z<=Gal2jDEupxUSwWu6zp<<&RnAA;d&4gKVG0iu6g(DsST(4)z6R)zDpfaQ}v{5ARt zyhwvMtF%b-YazR5XLz+oh=mn;y-Mf2a8>7?2v8qX;19y?b>Z5laGHvzH;Nu9S`B8} zI)qN$GbXIQ1VL3lnof^6TS~rvPVg4V?Dl2Bb*K2z4E{5vy<(@@K_cN@U>R!>aUIRnb zL*)=787*cs#zb31zBC49x$`=fkQbMAef)L2$dR{)6BAz!t5U_B#1zZG`^neKSS22oJ#5B=gl%U=WeqL9REF2g zZnfCb0?quf?Ztj$VXvDSWoK`0L=Zxem2q}!XWLoT-kYMOx)!7fcgT35uC~0pySEme z`{wGWTkGr7>+Kb^n;W?BZH6ZP(9tQX%-7zF>vc2}LuWDI(9kh1G#7B99r4x6;_-V+k&c{nPUrR zAXJGRiMe~aup{0qzmLNjS_BC4cB#sXjckx{%_c&^xy{M61xEb>KW_AG5VFXUOjAG4 z^>Qlm9A#1N{4snY=(AmWzatb!ngqiqPbBZ7>Uhb3)dTkSGcL#&SH>iMO-IJBPua`u zo)LWZ>=NZLr758j{%(|uQuZ)pXq_4c!!>s|aDM9#`~1bzK3J1^^D#<2bNCccH7~-X}Ggi!pIIF>uFx%aPARGQsnC8ZQc8lrQ5o~smqOg>Ti^GNme94*w z)JZy{_{#$jxGQ&`M z!OMvZMHR>8*^>eS%o*6hJwn!l8VOOjZQJvh)@tnHVW&*GYPuxqXw}%M!(f-SQf`=L z5;=5w2;%82VMH6Xi&-K3W)o&K^+vJCepWZ-rW%+Dc6X3(){z$@4zjYxQ|}8UIojeC zYZpQ1dU{fy=oTr<4VX?$q)LP}IUmpiez^O&N3E_qPpchGTi5ZM6-2ScWlQq%V&R2Euz zO|Q0Hx>lY1Q1cW5xHv5!0OGU~PVEqSuy#fD72d#O`N!C;o=m+YioGu-wH2k6!t<~K zSr`E=W9)!g==~x9VV~-8{4ZN9{~-A9zJpRe%NGg$+MDuI-dH|b@BD)~>pPCGUNNzY zMDg||0@XGQgw`YCt5C&A{_+J}mvV9Wg{6V%2n#YSRN{AP#PY?1FF1#|vO_%e+#`|2*~wGAJaeRX6=IzFNeWhz6gJc8+(03Ph4y6ELAm=AkN7TOgMUEw*N{= z_)EIDQx5q22oUR+_b*tazu9+pX|n1c*IB-}{DqIj z-?E|ks{o3AGRNb;+iKcHkZvYJvFsW&83RAPs1Oh@IWy%l#5x2oUP6ZCtv+b|q>jsf zZ_9XO;V!>n`UxH1LvH8)L4?8raIvasEhkpQoJ`%!5rBs!0Tu(s_D{`4opB;57)pkX z4$A^8CsD3U5*!|bHIEqsn~{q+Ddj$ME@Gq4JXtgVz&7l{Ok!@?EA{B3P~NAqb9)4? zkQo30A^EbHfQ@87G5&EQTd`frrwL)&Yw?%-W@uy^Gn23%j?Y!Iea2xw<-f;esq zf%w5WN@E1}zyXtYv}}`U^B>W`>XPmdLj%4{P298|SisrE;7HvXX;A}Ffi8B#3Lr;1 zHt6zVb`8{#+e$*k?w8|O{Uh|&AG}|DG1PFo1i?Y*cQm$ZwtGcVgMwtBUDa{~L1KT-{jET4w60>{KZ27vXrHJ;fW{6| z=|Y4!&UX020wU1>1iRgB@Q#m~1^Z^9CG1LqDhYBrnx%IEdIty z!46iOoKlKs)c}newDG)rWUikD%j`)p z_w9Ph&e40=(2eBy;T!}*1p1f1SAUDP9iWy^u^Ubdj21Kn{46;GR+hwLO=4D11@c~V zI8x&(D({K~Df2E)Nx_yQvYfh4;MbMJ@Z}=Dt3_>iim~QZ*hZIlEs0mEb z_54+&*?wMD`2#vsQRN3KvoT>hWofI_Vf(^C1ff-Ike@h@saEf7g}<9T`W;HAne-Nd z>RR+&SP35w)xKn8^U$7))PsM!jKwYZ*RzEcG-OlTrX3}9a{q%#Un5E5W{{hp>w~;` zGky+3(vJvQyGwBo`tCpmo0mo((?nM8vf9aXrrY1Ve}~TuVkB(zeds^jEfI}xGBCM2 zL1|#tycSaWCurP+0MiActG3LCas@_@tao@(R1ANlwB$4K53egNE_;!&(%@Qo$>h`^1S_!hN6 z)vZtG$8fN!|BXBJ=SI>e(LAU(y(i*PHvgQ2llulxS8>qsimv7yL}0q_E5WiAz7)(f zC(ahFvG8&HN9+6^jGyLHM~$)7auppeWh_^zKk&C_MQ~8;N??OlyH~azgz5fe^>~7F zl3HnPN3z-kN)I$4@`CLCMQx3sG~V8hPS^}XDXZrQA>}mQPw%7&!sd(Pp^P=tgp-s^ zjl}1-KRPNWXgV_K^HkP__SR`S-|OF0bR-N5>I%ODj&1JUeAQ3$9i;B~$S6}*^tK?= z**%aCiH7y?xdY?{LgVP}S0HOh%0%LI$wRx;$T|~Y8R)Vdwa}kGWv8?SJVm^>r6+%I z#lj1aR94{@MP;t-scEYQWc#xFA30^}?|BeX*W#9OL;Q9#WqaaM546j5j29((^_8Nu z4uq}ESLr~r*O7E7$D{!k9W>`!SLoyA53i9QwRB{!pHe8um|aDE`Cg0O*{jmor)^t)3`>V>SWN-2VJcFmj^1?~tT=JrP`fVh*t zXHarp=8HEcR#vFe+1a%XXuK+)oFs`GDD}#Z+TJ}Ri`FvKO@ek2ayn}yaOi%(8p%2$ zpEu)v0Jym@f}U|-;}CbR=9{#<^z28PzkkTNvyKvJDZe+^VS2bES3N@Jq!-*}{oQlz z@8bgC_KnDnT4}d#&Cpr!%Yb?E!brx0!eVOw~;lLwUoz#Np%d$o%9scc3&zPm`%G((Le|6o1 zM(VhOw)!f84zG^)tZ1?Egv)d8cdNi+T${=5kV+j;Wf%2{3g@FHp^Gf*qO0q!u$=m9 zCaY`4mRqJ;FTH5`a$affE5dJrk~k`HTP_7nGTY@B9o9vvnbytaID;^b=Tzp7Q#DmD zC(XEN)Ktn39z5|G!wsVNnHi) z%^q94!lL|hF`IijA^9NR0F$@h7k5R^ljOW(;Td9grRN0Mb)l_l7##{2nPQ@?;VjXv zaLZG}yuf$r$<79rVPpXg?6iiieX|r#&`p#Con2i%S8*8F}(E) zI5E6c3tG*<;m~6>!&H!GJ6zEuhH7mkAzovdhLy;)q z{H2*8I^Pb}xC4s^6Y}6bJvMu=8>g&I)7!N!5QG$xseeU#CC?ZM-TbjsHwHgDGrsD= z{%f;@Sod+Ch66Ko2WF~;Ty)v>&x^aovCbCbD7>qF*!?BXmOV3(s|nxsb*Lx_2lpB7 zokUnzrk;P=T-&kUHO}td+Zdj!3n&NR?K~cRU zAXU!DCp?51{J4w^`cV#ye}(`SQhGQkkMu}O3M*BWt4UsC^jCFUy;wTINYmhD$AT;4 z?Xd{HaJjP`raZ39qAm;%beDbrLpbRf(mkKbANan7XsL>_pE2oo^$TgdidjRP!5-`% zv0d!|iKN$c0(T|L0C~XD0aS8t{*&#LnhE;1Kb<9&=c2B+9JeLvJr*AyyRh%@jHej=AetOMSlz^=!kxX>>B{2B1uIrQyfd8KjJ+DBy!h)~*(!|&L4^Q_07SQ~E zcemVP`{9CwFvPFu7pyVGCLhH?LhEVb2{7U+Z_>o25#+3<|8%1T^5dh}*4(kfJGry} zm%r#hU+__Z;;*4fMrX=Bkc@7|v^*B;HAl0((IBPPii%X9+u3DDF6%bI&6?Eu$8&aWVqHIM7mK6?Uvq$1|(-T|)IV<>e?!(rY zqkmO1MRaLeTR=)io(0GVtQT@s6rN%C6;nS3@eu;P#ry4q;^O@1ZKCJyp_Jo)Ty^QW z+vweTx_DLm{P-XSBj~Sl<%_b^$=}odJ!S2wAcxenmzFGX1t&Qp8Vxz2VT`uQsQYtdn&_0xVivIcxZ_hnrRtwq4cZSj1c-SG9 z7vHBCA=fd0O1<4*=lu$6pn~_pVKyL@ztw1swbZi0B?spLo56ZKu5;7ZeUml1Ws1?u zqMf1p{5myAzeX$lAi{jIUqo1g4!zWLMm9cfWcnw`k6*BR^?$2(&yW?>w;G$EmTA@a z6?y#K$C~ZT8+v{87n5Dm&H6Pb_EQ@V0IWmG9cG=O;(;5aMWWrIPzz4Q`mhK;qQp~a z+BbQrEQ+w{SeiuG-~Po5f=^EvlouB@_|4xQXH@A~KgpFHrwu%dwuCR)=B&C(y6J4J zvoGk9;lLs9%iA-IJGU#RgnZZR+@{5lYl8(e1h6&>Vc_mvg0d@);X zji4T|n#lB!>pfL|8tQYkw?U2bD`W{na&;*|znjmalA&f;*U++_aBYerq;&C8Kw7mI z7tsG*?7*5j&dU)Lje;^{D_h`%(dK|pB*A*1(Jj)w^mZ9HB|vGLkF1GEFhu&rH=r=8 zMxO42e{Si6$m+Zj`_mXb&w5Q(i|Yxyg?juUrY}78uo@~3v84|8dfgbPd0iQJRdMj< zncCNGdMEcsxu#o#B5+XD{tsg*;j-eF8`mp~K8O1J!Z0+>0=7O=4M}E?)H)ENE;P*F z$Ox?ril_^p0g7xhDUf(q652l|562VFlC8^r8?lQv;TMvn+*8I}&+hIQYh2 z1}uQQaag&!-+DZ@|C+C$bN6W;S-Z@)d1|en+XGvjbOxCa-qAF*LA=6s(Jg+g;82f$ z(Vb)8I)AH@cdjGFAR5Rqd0wiNCu!xtqWbcTx&5kslzTb^7A78~Xzw1($UV6S^VWiP zFd{Rimd-0CZC_Bu(WxBFW7+k{cOW7DxBBkJdJ;VsJ4Z@lERQr%3eVv&$%)b%<~ zCl^Y4NgO}js@u{|o~KTgH}>!* z_iDNqX2(As7T0xivMH|3SC1ivm8Q}6Ffcd7owUKN5lHAtzMM4<0v+ykUT!QiowO;`@%JGv+K$bBx@*S7C8GJVqQ_K>12}M`f_Ys=S zKFh}HM9#6Izb$Y{wYzItTy+l5U2oL%boCJn?R3?jP@n$zSIwlmyGq30Cw4QBO|14` zW5c);AN*J3&eMFAk$SR~2k|&+&Bc$e>s%c{`?d~85S-UWjA>DS5+;UKZ}5oVa5O(N zqqc@>)nee)+4MUjH?FGv%hm2{IlIF-QX}ym-7ok4Z9{V+ZHVZQl$A*x!(q%<2~iVv znUa+BX35&lCb#9VE-~Y^W_f;Xhl%vgjwdjzMy$FsSIj&ok}L+X`4>J=9BkN&nu^E*gbhj3(+D>C4E z@Fwq_=N)^bKFSHTzZk?-gNU$@l}r}dwGyh_fNi=9b|n}J>&;G!lzilbWF4B}BBq4f zYIOl?b)PSh#XTPp4IS5ZR_2C!E)Z`zH0OW%4;&~z7UAyA-X|sh9@~>cQW^COA9hV4 zXcA6qUo9P{bW1_2`eo6%hgbN%(G-F1xTvq!sc?4wN6Q4`e9Hku zFwvlAcRY?6h^Fj$R8zCNEDq8`=uZB8D-xn)tA<^bFFy}4$vA}Xq0jAsv1&5!h!yRA zU()KLJya5MQ`q&LKdH#fwq&(bNFS{sKlEh_{N%{XCGO+po#(+WCLmKW6&5iOHny>g z3*VFN?mx!16V5{zyuMWDVP8U*|BGT$(%IO|)?EF|OI*sq&RovH!N%=>i_c?K*A>>k zyg1+~++zY4Q)J;VWN0axhoIKx;l&G$gvj(#go^pZskEVj8^}is3Jw26LzYYVos0HX zRPvmK$dVxM8(Tc?pHFe0Z3uq){{#OK3i-ra#@+;*=ui8)y6hsRv z4Fxx1c1+fr!VI{L3DFMwXKrfl#Q8hfP@ajgEau&QMCxd{g#!T^;ATXW)nUg&$-n25 zruy3V!!;{?OTobo|0GAxe`Acn3GV@W=&n;~&9 zQM>NWW~R@OYORkJAo+eq1!4vzmf9K%plR4(tB@TR&FSbDoRgJ8qVcH#;7lQub*nq&?Z>7WM=oeEVjkaG zT#f)=o!M2DO5hLR+op>t0CixJCIeXH*+z{-XS|%jx)y(j&}Wo|3!l7{o)HU3m7LYyhv*xF&tq z%IN7N;D4raue&&hm0xM=`qv`+TK@;_xAcGKuK(2|75~ar2Yw)geNLSmVxV@x89bQu zpViVKKnlkwjS&&c|-X6`~xdnh}Ps)Hs z4VbUL^{XNLf7_|Oi>tA%?SG5zax}esF*FH3d(JH^Gvr7Rp*n=t7frH!U;!y1gJB^i zY_M$KL_}mW&XKaDEi9K-wZR|q*L32&m+2n_8lq$xRznJ7p8}V>w+d@?uB!eS3#u<} zIaqi!b!w}a2;_BfUUhGMy#4dPx>)_>yZ`ai?Rk`}d0>~ce-PfY-b?Csd(28yX22L% zI7XI>OjIHYTk_@Xk;Gu^F52^Gn6E1&+?4MxDS2G_#PQ&yXPXP^<-p|2nLTb@AAQEY zI*UQ9Pmm{Kat}wuazpjSyXCdnrD&|C1c5DIb1TnzF}f4KIV6D)CJ!?&l&{T)e4U%3HTSYqsQ zo@zWB1o}ceQSV)<4G<)jM|@@YpL+XHuWsr5AYh^Q{K=wSV99D~4RRU52FufmMBMmd z_H}L#qe(}|I9ZyPRD6kT>Ivj&2Y?qVZq<4bG_co_DP`sE*_Xw8D;+7QR$Uq(rr+u> z8bHUWbV19i#)@@G4bCco@Xb<8u~wVDz9S`#k@ciJtlu@uP1U0X?yov8v9U3VOig2t zL9?n$P3=1U_Emi$#slR>N5wH-=J&T=EdUHA}_Z zZIl3nvMP*AZS9{cDqFanrA~S5BqxtNm9tlu;^`)3X&V4tMAkJ4gEIPl= zoV!Gyx0N{3DpD@)pv^iS*dl2FwANu;1;%EDl}JQ7MbxLMAp>)UwNwe{=V}O-5C*>F zu?Ny+F64jZn<+fKjF01}8h5H_3pey|;%bI;SFg$w8;IC<8l|3#Lz2;mNNik6sVTG3 z+Su^rIE#40C4a-587$U~%KedEEw1%r6wdvoMwpmlXH$xPnNQN#f%Z7|p)nC>WsuO= z4zyqapLS<8(UJ~Qi9d|dQijb_xhA2)v>la)<1md5s^R1N&PiuA$^k|A<+2C?OiHbj z>Bn$~t)>Y(Zb`8hW7q9xQ=s>Rv81V+UiuZJc<23HplI88isqRCId89fb`Kt|CxVIg znWcwprwXnotO>3s&Oypkte^9yJjlUVVxSe%_xlzmje|mYOVPH^vjA=?6xd0vaj0Oz zwJ4OJNiFdnHJX3rw&inskjryukl`*fRQ#SMod5J|KroJRsVXa5_$q7whSQ{gOi*s0 z1LeCy|JBWRsDPn7jCb4s(p|JZiZ8+*ExC@Vj)MF|*Vp{B(ziccSn`G1Br9bV(v!C2 z6#?eqpJBc9o@lJ#^p-`-=`4i&wFe>2)nlPK1p9yPFzJCzBQbpkcR>={YtamIw)3nt z(QEF;+)4`>8^_LU)_Q3 zC5_7lgi_6y>U%m)m@}Ku4C}=l^J=<<7c;99ec3p{aR+v=diuJR7uZi%aQv$oP?dn?@6Yu_+*^>T0ptf(oobdL;6)N-I!TO`zg^Xbv3#L0I~sn@WGk-^SmPh5>W+LB<+1PU}AKa?FCWF|qMNELOgdxR{ zbqE7@jVe+FklzdcD$!(A$&}}H*HQFTJ+AOrJYnhh}Yvta(B zQ_bW4Rr;R~&6PAKwgLWXS{Bnln(vUI+~g#kl{r+_zbngT`Y3`^Qf=!PxN4IYX#iW4 zucW7@LLJA9Zh3(rj~&SyN_pjO8H&)|(v%!BnMWySBJV=eSkB3YSTCyIeJ{i;(oc%_hk{$_l;v>nWSB)oVeg+blh=HB5JSlG_r7@P z3q;aFoZjD_qS@zygYqCn=;Zxjo!?NK!%J$ z52lOP`8G3feEj+HTp@Tnn9X~nG=;tS+z}u{mQX_J0kxtr)O30YD%oo)L@wy`jpQYM z@M>Me=95k1p*FW~rHiV1CIfVc{K8r|#Kt(ApkXKsDG$_>76UGNhHExFCw#Ky9*B-z zNq2ga*xax!HMf_|Vp-86r{;~YgQKqu7%szk8$hpvi_2I`OVbG1doP(`gn}=W<8%Gn z%81#&WjkH4GV;4u43EtSW>K_Ta3Zj!XF?;SO3V#q=<=>Tc^@?A`i;&`-cYj|;^ zEo#Jl5zSr~_V-4}y8pnufXLa80vZY4z2ko7fj>DR)#z=wWuS1$$W!L?(y}YC+yQ|G z@L&`2upy3f>~*IquAjkVNU>}c10(fq#HdbK$~Q3l6|=@-eBbo>B9(6xV`*)sae58*f zym~RRVx;xoCG3`JV`xo z!lFw)=t2Hy)e!IFs?0~7osWk(d%^wxq&>_XD4+U#y&-VF%4z?XH^i4w`TxpF{`XhZ z%G}iEzf!T(l>g;W9<~K+)$g!{UvhW{E0Lis(S^%I8OF&%kr!gJ&fMOpM=&=Aj@wuL zBX?*6i51Qb$uhkwkFYkaD_UDE+)rh1c;(&Y=B$3)J&iJfQSx!1NGgPtK!$c9OtJuu zX(pV$bfuJpRR|K(dp@^j}i&HeJOh@|7lWo8^$*o~Xqo z5Sb+!EtJ&e@6F+h&+_1ETbg7LfP5GZjvIUIN3ibCOldAv z)>YdO|NH$x7AC8dr=<2ekiY1%fN*r~e5h6Yaw<{XIErujKV~tiyrvV_DV0AzEknC- zR^xKM3i<1UkvqBj3C{wDvytOd+YtDSGu!gEMg+!&|8BQrT*|p)(dwQLEy+ zMtMzij3zo40)CA!BKZF~yWg?#lWhqD3@qR)gh~D{uZaJO;{OWV8XZ_)J@r3=)T|kt zUS1pXr6-`!Z}w2QR7nP%d?ecf90;K_7C3d!UZ`N(TZoWNN^Q~RjVhQG{Y<%E1PpV^4 z-m-K+$A~-+VDABs^Q@U*)YvhY4Znn2^w>732H?NRK(5QSS$V@D7yz2BVX4)f5A04~$WbxGOam22>t&uD)JB8-~yiQW6ik;FGblY_I>SvB_z2?PS z*Qm&qbKI{H1V@YGWzpx`!v)WeLT02};JJo*#f$a*FH?IIad-^(;9XC#YTWN6;Z6+S zm4O1KH=#V@FJw7Pha0!9Vb%ZIM$)a`VRMoiN&C|$YA3~ZC*8ayZRY^fyuP6$n%2IU z$#XceYZeqLTXw(m$_z|33I$B4k~NZO>pP6)H_}R{E$i%USGy{l{-jOE;%CloYPEU+ zRFxOn4;7lIOh!7abb23YKD+_-?O z0FP9otcAh+oSj;=f#$&*ExUHpd&e#bSF%#8*&ItcL2H$Sa)?pt0Xtf+t)z$_u^wZi z44oE}r4kIZGy3!Mc8q$B&6JqtnHZ>Znn!Zh@6rgIu|yU+zG8q`q9%B18|T|oN3zMq z`l&D;U!OL~%>vo&q0>Y==~zLiCZk4v%s_7!9DxQ~id1LLE93gf*gg&2$|hB#j8;?3 z5v4S;oM6rT{Y;I+#FdmNw z){d%tNM<<#GN%n9ox7B=3#;u7unZ~tLB_vRZ52a&2=IM)2VkXm=L+Iqq~uk#Dug|x z>S84e+A7EiOY5lj*!q?6HDkNh~0g;0Jy(al!ZHHDtur9T$y-~)94HelX1NHjXWIM7UAe}$?jiz z9?P4`I0JM=G5K{3_%2jPLC^_Mlw?-kYYgb7`qGa3@dn|^1fRMwiyM@Ch z;CB&o7&&?c5e>h`IM;Wnha0QKnEp=$hA8TJgR-07N~U5(>9vJzeoFsSRBkDq=x(YgEMpb=l4TDD`2 zwVJpWGTA_u7}?ecW7s6%rUs&NXD3+n;jB86`X?8(l3MBo6)PdakI6V6a}22{)8ilT zM~T*mU}__xSy|6XSrJ^%lDAR3Lft%+yxC|ZUvSO_nqMX!_ul3;R#*{~4DA=h$bP)%8Yv9X zyp><|e8=_ttI}ZAwOd#dlnSjck#6%273{E$kJuCGu=I@O)&6ID{nWF5@gLb16sj|&Sb~+du4e4O_%_o`Ix4NRrAsyr1_}MuP94s>de8cH-OUkVPk3+K z&jW)It9QiU-ti~AuJkL`XMca8Oh4$SyJ=`-5WU<{cIh+XVH#e4d&zive_UHC!pN>W z3TB;Mn5i)9Qn)#6@lo4QpI3jFYc0~+jS)4AFz8fVC;lD^+idw^S~Qhq>Tg(!3$yLD zzktzoFrU@6s4wwCMz}edpF5i5Q1IMmEJQHzp(LAt)pgN3&O!&d?3W@6U4)I^2V{;- z6A(?zd93hS*uQmnh4T)nHnE{wVhh(=MMD(h(P4+^p83Om6t<*cUW>l(qJzr%5vp@K zN27ka(L{JX=1~e2^)F^i=TYj&;<7jyUUR2Bek^A8+3Up*&Xwc{)1nRR5CT8vG>ExV zHnF3UqXJOAno_?bnhCX-&kwI~Ti8t4`n0%Up>!U`ZvK^w2+0Cs-b9%w%4`$+To|k= zKtgc&l}P`*8IS>8DOe?EB84^kx4BQp3<7P{Pq}&p%xF_81pg!l2|u=&I{AuUgmF5n zJQCTLv}%}xbFGYtKfbba{CBo)lWW%Z>i(_NvLhoQZ*5-@2l&x>e+I~0Nld3UI9tdL zRzu8}i;X!h8LHVvN?C+|M81e>Jr38%&*9LYQec9Ax>?NN+9(_>XSRv&6hlCYB`>Qm z1&ygi{Y()OU4@D_jd_-7vDILR{>o|7-k)Sjdxkjgvi{@S>6GqiF|o`*Otr;P)kLHN zZkpts;0zw_6;?f(@4S1FN=m!4^mv~W+lJA`&7RH%2$)49z0A+8@0BCHtj|yH--AEL z0tW6G%X-+J+5a{5*WKaM0QDznf;V?L5&uQw+yegDNDP`hA;0XPYc6e0;Xv6|i|^F2WB)Z$LR|HR4 zTQsRAby9(^Z@yATyOgcfQw7cKyr^3Tz7lc7+JEwwzA7)|2x+PtEb>nD(tpxJQm)Kn zW9K_*r!L%~N*vS8<5T=iv|o!zTe9k_2jC_j*7ik^M_ zaf%k{WX{-;0*`t`G!&`eW;gChVXnJ-Rn)To8vW-?>>a%QU1v`ZC=U)f8iA@%JG0mZ zDqH;~mgBnrCP~1II<=V9;EBL)J+xzCoiRBaeH&J6rL!{4zIY8tZka?_FBeQeNO3q6 zyG_alW54Ba&wQf{&F1v-r1R6ID)PTsqjIBc+5MHkcW5Fnvi~{-FjKe)t1bl}Y;z@< z=!%zvpRua>>t_x}^}z0<7MI!H2v6|XAyR9!t50q-A)xk0nflgF4*OQlCGK==4S|wc zRMsSscNhRzHMBU8TdcHN!q^I}x0iXJ%uehac|Zs_B$p@CnF)HeXPpB_Za}F{<@6-4 zl%kml@}kHQ(ypD8FsPJ2=14xXJE|b20RUIgs!2|R3>LUMGF6X*B_I|$`Qg=;zm7C z{mEDy9dTmPbued7mlO@phdmAmJ7p@GR1bjCkMw6*G7#4+`k>fk1czdJUB!e@Q(~6# zwo%@p@V5RL0ABU2LH7Asq^quDUho@H>eTZH9f*no9fY0T zD_-9px3e}A!>>kv5wk91%C9R1J_Nh!*&Kk$J3KNxC}c_@zlgpJZ+5L)Nw|^p=2ue}CJtm;uj*Iqr)K})kA$xtNUEvX;4!Px*^&9T_`IN{D z{6~QY=Nau6EzpvufB^hflc#XIsSq0Y9(nf$d~6ZwK}fal92)fr%T3=q{0mP-EyP_G z)UR5h@IX}3Qll2b0oCAcBF>b*@Etu*aTLPU<%C>KoOrk=x?pN!#f_Og-w+;xbFgjQ zXp`et%lDBBh~OcFnMKMUoox0YwBNy`N0q~bSPh@+enQ=4RUw1) zpovN`QoV>vZ#5LvC;cl|6jPr}O5tu!Ipoyib8iXqy}TeJ;4+_7r<1kV0v5?Kv>fYp zg>9L`;XwXa&W7-jf|9~uP2iyF5`5AJ`Q~p4eBU$MCC00`rcSF>`&0fbd^_eqR+}mK z4n*PMMa&FOcc)vTUR zlDUAn-mh`ahi_`f`=39JYTNVjsTa_Y3b1GOIi)6dY)D}xeshB0T8Eov5%UhWd1)u}kjEQ|LDo{tqKKrYIfVz~@dp!! zMOnah@vp)%_-jDTUG09l+;{CkDCH|Q{NqX*uHa1YxFShy*1+;J`gywKaz|2Q{lG8x zP?KBur`}r`!WLKXY_K;C8$EWG>jY3UIh{+BLv0=2)KH%P}6xE2kg)%(-uA6lC?u8}{K(#P*c zE9C8t*u%j2r_{;Rpe1A{9nNXU;b_N0vNgyK!EZVut~}+R2rcbsHilqsOviYh-pYX= zHw@53nlmwYI5W5KP>&`dBZe0Jn?nAdC^HY1wlR6$u^PbpB#AS&5L6zqrXN&7*N2Q` z+Rae1EwS)H=aVSIkr8Ek^1jy2iS2o7mqm~Mr&g5=jjt7VxwglQ^`h#Mx+x2v|9ZAwE$i_9918MjJxTMr?n!bZ6n$}y11u8I9COTU`Z$Fi z!AeAQLMw^gp_{+0QTEJrhL424pVDp%wpku~XRlD3iv{vQ!lAf!_jyqd_h}+Tr1XG| z`*FT*NbPqvHCUsYAkFnM`@l4u_QH&bszpUK#M~XLJt{%?00GXY?u_{gj3Hvs!=N(I z(=AuWPijyoU!r?aFTsa8pLB&cx}$*%;K$e*XqF{~*rA-qn)h^!(-;e}O#B$|S~c+U zN4vyOK0vmtx$5K!?g*+J@G1NmlEI=pyZXZ69tAv=@`t%ag_Hk{LP~OH9iE)I= zaJ69b4kuCkV0V zo(M0#>phpQ_)@j;h%m{-a*LGi(72TP)ws2w*@4|C-3+;=5DmC4s7Lp95%n%@Ko zfdr3-a7m*dys9iIci$A=4NPJ`HfJ;hujLgU)ZRuJI`n;Pw|yksu!#LQnJ#dJysgNb z@@qwR^wrk(jbq4H?d!lNyy72~Dnn87KxsgQ!)|*m(DRM+eC$wh7KnS-mho3|KE)7h zK3k;qZ;K1Lj6uEXLYUYi)1FN}F@-xJ z@@3Hb84sl|j{4$3J}aTY@cbX@pzB_qM~APljrjju6P0tY{C@ zpUCOz_NFmALMv1*blCcwUD3?U6tYs+N%cmJ98D%3)%)Xu^uvzF zS5O!sc#X6?EwsYkvPo6A%O8&y8sCCQH<%f2togVwW&{M;PR!a(ZT_A+jVAbf{@5kL zB@Z(hb$3U{T_}SKA_CoQVU-;j>2J=L#lZ~aQCFg-d<9rzs$_gO&d5N6eFSc z1ml8)P*FSi+k@!^M9nDWR5e@ATD8oxtDu=36Iv2!;dZzidIS(PCtEuXAtlBb1;H%Z zwnC^Ek*D)EX4#Q>R$$WA2sxC_t(!!6Tr?C#@{3}n{<^o;9id1RA&-Pig1e-2B1XpG zliNjgmd3c&%A}s>qf{_j#!Z`fu0xIwm4L0)OF=u(OEmp;bLCIaZX$&J_^Z%4Sq4GZ zPn6sV_#+6pJmDN_lx@1;Zw6Md_p0w9h6mHtzpuIEwNn>OnuRSC2=>fP^Hqgc)xu^4 z<3!s`cORHJh#?!nKI`Et7{3C27+EuH)Gw1f)aoP|B3y?fuVfvpYYmmukx0ya-)TQX zR{ggy5cNf4X|g)nl#jC9p>7|09_S7>1D2GTRBUTW zAkQ=JMRogZqG#v;^=11O6@rPPwvJkr{bW-Qg8`q8GoD#K`&Y+S#%&B>SGRL>;ZunM@49!}Uy zN|bBCJ%sO;@3wl0>0gbl3L@1^O60ONObz8ZI7nder>(udj-jt`;yj^nTQ$L9`OU9W zX4alF#$|GiR47%x@s&LV>2Sz2R6?;2R~5k6V>)nz!o_*1Y!$p>BC5&?hJg_MiE6UBy>RkVZj`9UWbRkN-Hk!S`=BS3t3uyX6)7SF#)71*}`~Ogz z1rap5H6~dhBJ83;q-Y<5V35C2&F^JI-it(=5D#v!fAi9p#UwV~2tZQI+W(Dv?1t9? zfh*xpxxO{-(VGB>!Q&0%^YW_F!@aZS#ucP|YaD#>wd1Fv&Z*SR&mc;asi}1G) z_H>`!akh-Zxq9#io(7%;a$)w+{QH)Y$?UK1Dt^4)up!Szcxnu}kn$0afcfJL#IL+S z5gF_Y30j;{lNrG6m~$Ay?)*V9fZuU@3=kd40=LhazjFrau>(Y>SJNtOz>8x_X-BlA zIpl{i>OarVGj1v(4?^1`R}aQB&WCRQzS~;7R{tDZG=HhgrW@B`W|#cdyj%YBky)P= zpxuOZkW>S6%q7U{VsB#G(^FMsH5QuGXhb(sY+!-R8Bmv6Sx3WzSW<1MPPN1!&PurYky(@`bP9tz z52}LH9Q?+FF5jR6-;|+GVdRA!qtd;}*-h&iIw3Tq3qF9sDIb1FFxGbo&fbG5n8$3F zyY&PWL{ys^dTO}oZ#@sIX^BKW*bon=;te9j5k+T%wJ zNJtoN1~YVj4~YRrlZl)b&kJqp+Z`DqT!la$x&&IxgOQw#yZd-nBP3!7FijBXD|IsU8Zl^ zc6?MKpJQ+7ka|tZQLfchD$PD|;K(9FiLE|eUZX#EZxhG!S-63C$jWX1Yd!6-Yxi-u zjULIr|0-Q%D9jz}IF~S%>0(jOqZ(Ln<$9PxiySr&2Oic7vb<8q=46)Ln%Z|<*z5&> z3f~Zw@m;vR(bESB<=Jqkxn(=#hQw42l(7)h`vMQQTttz9XW6^|^8EK7qhju4r_c*b zJIi`)MB$w@9epwdIfnEBR+?~);yd6C(LeMC& zn&&N*?-g&BBJcV;8&UoZi4Lmxcj16ojlxR~zMrf=O_^i1wGb9X-0@6_rpjPYemIin zmJb+;lHe;Yp=8G)Q(L1bzH*}I>}uAqhj4;g)PlvD9_e_ScR{Ipq|$8NvAvLD8MYr}xl=bU~)f%B3E>r3Bu9_t|ThF3C5~BdOve zEbk^r&r#PT&?^V1cb{72yEWH}TXEE}w>t!cY~rA+hNOTK8FAtIEoszp!qqptS&;r$ zaYV-NX96-h$6aR@1xz6_E0^N49mU)-v#bwtGJm)ibygzJ8!7|WIrcb`$XH~^!a#s& z{Db-0IOTFq#9!^j!n_F}#Z_nX{YzBK8XLPVmc&X`fT7!@$U-@2KM9soGbmOSAmqV z{nr$L^MBo_u^Joyf0E^=eo{Rt0{{e$IFA(#*kP@SQd6lWT2-#>` zP1)7_@IO!9lk>Zt?#CU?cuhiLF&)+XEM9B)cS(gvQT!X3`wL*{fArTS;Ak`J<84du zALKPz4}3nlG8Fo^MH0L|oK2-4xIY!~Oux~1sw!+It)&D3p;+N8AgqKI`ld6v71wy8I!eP0o~=RVcFQR2Gr(eP_JbSytoQ$Yt}l*4r@A8Me94y z8cTDWhqlq^qoAhbOzGBXv^Wa4vUz$(7B!mX`T=x_ueKRRDfg&Uc-e1+z4x$jyW_Pm zp?U;-R#xt^Z8Ev~`m`iL4*c#65Nn)q#=Y0l1AuD&+{|8-Gsij3LUZXpM0Bx0u7WWm zH|%yE@-#XEph2}-$-thl+S;__ciBxSSzHveP%~v}5I%u!z_l_KoW{KRx2=eB33umE zIYFtu^5=wGU`Jab8#}cnYry@9p5UE#U|VVvx_4l49JQ;jQdp(uw=$^A$EA$LM%vmE zvdEOaIcp5qX8wX{mYf0;#51~imYYPn4=k&#DsKTxo{_Mg*;S495?OBY?#gv=edYC* z^O@-sd-qa+U24xvcbL0@C7_6o!$`)sVr-jSJE4XQUQ$?L7}2(}Eixqv;L8AdJAVqc zq}RPgpnDb@E_;?6K58r3h4-!4rT4Ab#rLHLX?eMOfluJk=3i1@Gt1i#iA=O`M0@x! z(HtJP9BMHXEzuD93m|B&woj0g6T?f#^)>J>|I4C5?Gam>n9!8CT%~aT;=oco5d6U8 zMXl(=W;$ND_8+DD*?|5bJ!;8ebESXMUKBAf7YBwNVJibGaJ*(2G`F%wx)grqVPjudiaq^Kl&g$8A2 zWMxMr@_$c}d+;_B`#kUX-t|4VKH&_f^^EP0&=DPLW)H)UzBG%%Tra*5 z%$kyZe3I&S#gfie^z5)!twG={3Cuh)FdeA!Kj<-9** zvT*5%Tb`|QbE!iW-XcOuy39>D3oe6x{>&<#E$o8Ac|j)wq#kQzz|ATd=Z0K!p2$QE zPu?jL8Lb^y3_CQE{*}sTDe!2!dtlFjq&YLY@2#4>XS`}v#PLrpvc4*@q^O{mmnr5D zmyJq~t?8>FWU5vZdE(%4cuZuao0GNjp3~Dt*SLaxI#g_u>hu@k&9Ho*#CZP~lFJHj z(e!SYlLigyc?&5-YxlE{uuk$9b&l6d`uIlpg_z15dPo*iU&|Khx2*A5Fp;8iK_bdP z?T6|^7@lcx2j0T@x>X7|kuuBSB7<^zeY~R~4McconTxA2flHC0_jFxmSTv-~?zVT| zG_|yDqa9lkF*B6_{j=T>=M8r<0s;@z#h)3BQ4NLl@`Xr__o7;~M&dL3J8fP&zLfDfy z);ckcTev{@OUlZ`bCo(-3? z1u1xD`PKgSg?RqeVVsF<1SLF;XYA@Bsa&cY!I48ZJn1V<3d!?s=St?TLo zC0cNr`qD*M#s6f~X>SCNVkva^9A2ZP>CoJ9bvgXe_c}WdX-)pHM5m7O zrHt#g$F0AO+nGA;7dSJ?)|Mo~cf{z2L)Rz!`fpi73Zv)H=a5K)*$5sf_IZypi($P5 zsPwUc4~P-J1@^3C6-r9{V-u0Z&Sl7vNfmuMY4yy*cL>_)BmQF!8Om9Dej%cHxbIzA zhtV0d{=%cr?;bpBPjt@4w=#<>k5ee=TiWAXM2~tUGfm z$s&!Dm0R^V$}fOR*B^kGaipi~rx~A2cS0;t&khV1a4u38*XRUP~f za!rZMtay8bsLt6yFYl@>-y^31(*P!L^^s@mslZy(SMsv9bVoX`O#yBgEcjCmGpyc* zeH$Dw6vB5P*;jor+JOX@;6K#+xc)Z9B8M=x2a@Wx-{snPGpRmOC$zpsqW*JCh@M2Y z#K+M(>=#d^>Of9C`))h<=Bsy)6zaMJ&x-t%&+UcpLjV`jo4R2025 zXaG8EA!0lQa)|dx-@{O)qP6`$rhCkoQqZ`^SW8g-kOwrwsK8 z3ms*AIcyj}-1x&A&vSq{r=QMyp3CHdWH35!sad#!Sm>^|-|afB+Q;|Iq@LFgqIp#Z zD1%H+3I?6RGnk&IFo|u+E0dCxXz4yI^1i!QTu7uvIEH>i3rR{srcST`LIRwdV1P;W z+%AN1NIf@xxvVLiSX`8ILA8MzNqE&7>%jMzGt9wm78bo9<;h*W84i29^w!>V>{N+S zd`5Zmz^G;f=icvoOZfK5#1ctx*~UwD=ab4DGQXehQ!XYnak*dee%YN$_ZPL%KZuz$ zD;$PpT;HM^$KwtQm@7uvT`i6>Hae1CoRVM2)NL<2-k2PiX=eAx+-6j#JI?M}(tuBW zkF%jjLR)O`gI2fcPBxF^HeI|DWwQWHVR!;;{BXXHskxh8F@BMDn`oEi-NHt;CLymW z=KSv5)3dyzec0T5B*`g-MQ<;gz=nIWKUi9ko<|4I(-E0k$QncH>E4l z**1w&#={&zv4Tvhgz#c29`m|;lU-jmaXFMC11 z*dlXDMEOG>VoLMc>!rApwOu2prKSi*!w%`yzGmS+k(zm*CsLK*wv{S_0WX^8A-rKy zbk^Gf_92^7iB_uUF)EE+ET4d|X|>d&mdN?x@vxKAQk`O+r4Qdu>XGy(a(19g;=jU} zFX{O*_NG>!$@jh!U369Lnc+D~qch3uT+_Amyi}*k#LAAwh}k8IPK5a-WZ81ufD>l> z$4cF}GSz>ce`3FAic}6W4Z7m9KGO?(eWqi@L|5Hq0@L|&2flN1PVl}XgQ2q*_n2s3 zt5KtowNkTYB5b;SVuoXA@i5irXO)A&%7?V`1@HGCB&)Wgk+l|^XXChq;u(nyPB}b3 zY>m5jkxpZgi)zfbgv&ec4Zqdvm+D<?Im*mXweS9H+V>)zF#Zp3)bhl$PbISY{5=_z!8&*Jv~NYtI-g!>fDs zmvL5O^U%!^VaKA9gvKw|5?-jk>~%CVGvctKmP$kpnpfN{D8@X*Aazi$txfa%vd-|E z>kYmV66W!lNekJPom29LdZ%(I+ZLZYTXzTg*to~m?7vp%{V<~>H+2}PQ?PPAq`36R z<%wR8v6UkS>Wt#hzGk#44W<%9S=nBfB);6clKwnxY}T*w21Qc3_?IJ@4gYzC7s;WP zVQNI(M=S=JT#xsZy7G`cR(BP9*je0bfeN8JN5~zY(DDs0t{LpHOIbN);?T-69Pf3R zSNe*&p2%AwXHL>__g+xd4Hlc_vu<25H?(`nafS%)3UPP7_4;gk-9ckt8SJRTv5v0M z_Hww`qPudL?ajIR&X*;$y-`<)6dxx1U~5eGS13CB!lX;3w7n&lDDiArbAhSycd}+b zya_3p@A`$kQy;|NJZ~s44Hqo7Hwt}X86NK=(ey>lgWTtGL6k@Gy;PbO!M%1~Wcn2k zUFP|*5d>t-X*RU8g%>|(wwj*~#l4z^Aatf^DWd1Wj#Q*AY0D^V@sC`M zjJc6qXu0I7Y*2;;gGu!plAFzG=J;1%eIOdn zQA>J&e05UN*7I5@yRhK|lbBSfJ+5Uq;!&HV@xfPZrgD}kE*1DSq^=%{o%|LChhl#0 zlMb<^a6ixzpd{kNZr|3jTGeEzuo}-eLT-)Q$#b{!vKx8Tg}swCni>{#%vDY$Ww$84 zew3c9BBovqb}_&BRo#^!G(1Eg((BScRZ}C)Oz?y`T5wOrv);)b^4XR8 zhJo7+<^7)qB>I;46!GySzdneZ>n_E1oWZY;kf94#)s)kWjuJN1c+wbVoNQcmnv}{> zN0pF+Sl3E}UQ$}slSZeLJrwT>Sr}#V(dVaezCQl2|4LN`7L7v&siYR|r7M(*JYfR$ zst3=YaDw$FSc{g}KHO&QiKxuhEzF{f%RJLKe3p*7=oo`WNP)M(9X1zIQPP0XHhY3c znrP{$4#Ol$A0s|4S7Gx2L23dv*Gv2o;h((XVn+9+$qvm}s%zi6nI-_s6?mG! zj{DV;qesJb&owKeEK?=J>UcAlYckA7Sl+I&IN=yasrZOkejir*kE@SN`fk<8Fgx*$ zy&fE6?}G)d_N`){P~U@1jRVA|2*69)KSe_}!~?+`Yb{Y=O~_+@!j<&oVQQMnhoIRU zA0CyF1OFfkK44n*JD~!2!SCPM;PRSk%1XL=0&rz00wxPs&-_eapJy#$h!eqY%nS0{ z!aGg58JIJPF3_ci%n)QSVpa2H`vIe$RD43;#IRfDV&Ibit z+?>HW4{2wOfC6Fw)}4x}i1maDxcE1qi@BS*qcxD2gE@h3#4cgU*D-&3z7D|tVZWt= z-Cy2+*Cm@P4GN_TPUtaVyVesbVDazF@)j8VJ4>XZv!f%}&eO1SvIgr}4`A*3#vat< z_MoByL(qW6L7SFZ#|Gc1fFN)L2PxY+{B8tJp+pxRyz*87)vXR}*=&ahXjBlQKguuf zX6x<<6fQulE^C*KH8~W%ptpaC0l?b=_{~*U4?5Vt;dgM4t_{&UZ1C2j?b>b+5}{IF_CUyvz-@QZPMlJ)r_tS$9kH%RPv#2_nMb zRLj5;chJ72*U`Z@Dqt4$@_+k$%|8m(HqLG!qT4P^DdfvGf&){gKnGCX#H0!;W=AGP zbA&Z`-__a)VTS}kKFjWGk z%|>yE?t*EJ!qeQ%dPk$;xIQ+P0;()PCBDgjJm6Buj{f^awNoVx+9<|lg3%-$G(*f) zll6oOkN|yamn1uyl2*N-lnqRI1cvs_JxLTeahEK=THV$Sz*gQhKNb*p0fNoda#-&F zB-qJgW^g}!TtM|0bS2QZekW7_tKu%GcJ!4?lObt0z_$mZ4rbQ0o=^curCs3bJK6sq z9fu-aW-l#>z~ca(B;4yv;2RZ?tGYAU)^)Kz{L|4oPj zdOf_?de|#yS)p2v8-N||+XL=O*%3+y)oI(HbM)Ds?q8~HPzIP(vs*G`iddbWq}! z(2!VjP&{Z1w+%eUq^ '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/java/ql/integration-tests/all-platforms/java/android-8-sample/gradlew.bat b/java/ql/integration-tests/all-platforms/java/android-8-sample/gradlew.bat deleted file mode 100644 index f127cfd49d4..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-8-sample/gradlew.bat +++ /dev/null @@ -1,91 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java/ql/integration-tests/all-platforms/java/android-8-sample/source_archive.expected b/java/ql/integration-tests/all-platforms/java/android-8-sample/source_archive.expected new file mode 100644 index 00000000000..8d61145f807 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/android-8-sample/source_archive.expected @@ -0,0 +1,27 @@ +.gradle/8.0/dependencies-accessors/gc.properties +.gradle/8.0/gc.properties +.gradle/buildOutputCleanup/cache.properties +.gradle/vcs-1/gc.properties +gradle/wrapper/gradle-wrapper.properties +project/build/intermediates/app_metadata/release/app-metadata.properties +project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml +project/build/intermediates/incremental/lintVitalReportRelease/module.xml +project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalReportRelease/release.xml +project/build/intermediates/incremental/mergeReleaseAssets/merger.xml +project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml +project/build/intermediates/incremental/mergeReleaseShaders/merger.xml +project/build/intermediates/incremental/release/mergeReleaseResources/compile-file-map.properties +project/build/intermediates/incremental/release/mergeReleaseResources/merger.xml +project/build/intermediates/incremental/release/packageReleaseResources/compile-file-map.properties +project/build/intermediates/incremental/release/packageReleaseResources/merger.xml +project/build/intermediates/merged_manifest/release/AndroidManifest.xml +project/build/intermediates/merged_manifests/release/AndroidManifest.xml +project/build/intermediates/packaged_manifests/release/AndroidManifest.xml +project/src/main/AndroidManifest.xml +project/src/main/java/com/github/androidsample/Main.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/android-8-sample/test.expected b/java/ql/integration-tests/all-platforms/java/android-8-sample/test.expected deleted file mode 100644 index 64ce68113e7..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-8-sample/test.expected +++ /dev/null @@ -1,20 +0,0 @@ -#select -| project/src/main/java/com/github/androidsample/Main.java:0:0:0:0 | Main | -xmlFiles -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/module.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/release.xml | -| project/build/intermediates/incremental/mergeReleaseAssets/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseAssets/merger.xml | -| project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml | -| project/build/intermediates/incremental/mergeReleaseShaders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseShaders/merger.xml | -| project/build/intermediates/incremental/release/mergeReleaseResources/merger.xml:0:0:0:0 | project/build/intermediates/incremental/release/mergeReleaseResources/merger.xml | -| project/build/intermediates/incremental/release/packageReleaseResources/merger.xml:0:0:0:0 | project/build/intermediates/incremental/release/packageReleaseResources/merger.xml | -| project/build/intermediates/merged_manifest/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifest/release/AndroidManifest.xml | -| project/build/intermediates/merged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifests/release/AndroidManifest.xml | -| project/build/intermediates/packaged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/packaged_manifests/release/AndroidManifest.xml | -| project/src/main/AndroidManifest.xml:0:0:0:0 | project/src/main/AndroidManifest.xml | diff --git a/java/ql/integration-tests/all-platforms/java/android-8-sample/test.py b/java/ql/integration-tests/all-platforms/java/android-8-sample/test.py index 3a0b27fe5ce..72e3c5d3fc4 100644 --- a/java/ql/integration-tests/all-platforms/java/android-8-sample/test.py +++ b/java/ql/integration-tests/all-platforms/java/android-8-sample/test.py @@ -1,10 +1,4 @@ -import sys - -from create_database_utils import * - # Put Java 11 on the path so as to challenge our version selection logic: Java 11 is unsuitable for Android Gradle Plugin 8+, # so it will be necessary to notice Java 17 available in the environment and actively select it. - -try_use_java11() - -run_codeql_database_create([], lang="java") +def test(codeql, use_java_11, java, gradle_8_0, android_sdk): + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/android-8-sample/test.ql b/java/ql/integration-tests/all-platforms/java/android-8-sample/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-8-sample/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/force_sequential_test_execution deleted file mode 100644 index 4947fd6fe51..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/force_sequential_test_execution +++ /dev/null @@ -1,4 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. -# Additionally, Android SDK on-demand downloading can fail when multiple tests try to download the same SDK in parallel. diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/source_archive.expected b/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/source_archive.expected new file mode 100644 index 00000000000..70b1edf245a --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/source_archive.expected @@ -0,0 +1,26 @@ +.gradle/7.4/dependencies-accessors/gc.properties +.gradle/7.4/gc.properties +.gradle/buildOutputCleanup/cache.properties +.gradle/vcs-1/gc.properties +gradle/wrapper/gradle-wrapper.properties +project/build/generated/source/buildConfig/release/com/github/androidsample/BuildConfig.java +project/build/intermediates/app_metadata/release/app-metadata.properties +project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml +project/build/intermediates/incremental/lintVitalReportRelease/module.xml +project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalReportRelease/release.xml +project/build/intermediates/incremental/mergeReleaseAssets/merger.xml +project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml +project/build/intermediates/incremental/mergeReleaseShaders/merger.xml +project/build/intermediates/incremental/release/mergeReleaseResources/compile-file-map.properties +project/build/intermediates/incremental/release/mergeReleaseResources/merger.xml +project/build/intermediates/merged_manifest/release/AndroidManifest.xml +project/build/intermediates/merged_manifests/release/AndroidManifest.xml +project/build/intermediates/packaged_manifests/release/AndroidManifest.xml +project/src/main/AndroidManifest.xml +project/src/main/java/com/github/androidsample/Main.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/test.expected b/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/test.expected deleted file mode 100644 index 4f191ddaa1a..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/test.expected +++ /dev/null @@ -1,20 +0,0 @@ -#select -| project/build/generated/source/buildConfig/release/com/github/androidsample/BuildConfig.java:0:0:0:0 | BuildConfig | -| project/src/main/java/com/github/androidsample/Main.java:0:0:0:0 | Main | -xmlFiles -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/module.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/release.xml | -| project/build/intermediates/incremental/mergeReleaseAssets/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseAssets/merger.xml | -| project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml | -| project/build/intermediates/incremental/mergeReleaseShaders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseShaders/merger.xml | -| project/build/intermediates/incremental/release/mergeReleaseResources/merger.xml:0:0:0:0 | project/build/intermediates/incremental/release/mergeReleaseResources/merger.xml | -| project/build/intermediates/merged_manifest/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifest/release/AndroidManifest.xml | -| project/build/intermediates/merged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifests/release/AndroidManifest.xml | -| project/build/intermediates/packaged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/packaged_manifests/release/AndroidManifest.xml | -| project/src/main/AndroidManifest.xml:0:0:0:0 | project/src/main/AndroidManifest.xml | diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/test.py b/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/test.py index 7f379da0a07..e3a791a59f3 100644 --- a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/test.py +++ b/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/test.py @@ -1,7 +1,2 @@ -import sys - -from create_database_utils import * - -try_use_java11() - -run_codeql_database_create([], lang="java") +def test(codeql, use_java_11, java, android_sdk): + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/test.ql b/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script-no-wrapper/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/.gitattributes b/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/.gitattributes deleted file mode 100644 index 00a51aff5e5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/.gitattributes +++ /dev/null @@ -1,6 +0,0 @@ -# -# https://help.github.com/articles/dealing-with-line-endings/ -# -# These are explicitly windows files and should use crlf -*.bat text eol=crlf - diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/force_sequential_test_execution deleted file mode 100644 index 4947fd6fe51..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/force_sequential_test_execution +++ /dev/null @@ -1,4 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. -# Additionally, Android SDK on-demand downloading can fail when multiple tests try to download the same SDK in parallel. diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/gradle/wrapper/gradle-wrapper.jar b/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 249e5832f090a2944b7473328c07c9755baa3196..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60756 zcmb5WV{~QRw(p$^Dz@00IL3?^hro$gg*4VI_WAaTyVM5Foj~O|-84 z$;06hMwt*rV;^8iB z1~&0XWpYJmG?Ts^K9PC62H*`G}xom%S%yq|xvG~FIfP=9*f zZoDRJBm*Y0aId=qJ?7dyb)6)JGWGwe)MHeNSzhi)Ko6J<-m@v=a%NsP537lHe0R* z`If4$aaBA#S=w!2z&m>{lpTy^Lm^mg*3?M&7HFv}7K6x*cukLIGX;bQG|QWdn{%_6 zHnwBKr84#B7Z+AnBXa16a?or^R?+>$4`}{*a_>IhbjvyTtWkHw)|ay)ahWUd-qq$~ zMbh6roVsj;_qnC-R{G+Cy6bApVOinSU-;(DxUEl!i2)1EeQ9`hrfqj(nKI7?Z>Xur zoJz-a`PxkYit1HEbv|jy%~DO^13J-ut986EEG=66S}D3!L}Efp;Bez~7tNq{QsUMm zh9~(HYg1pA*=37C0}n4g&bFbQ+?-h-W}onYeE{q;cIy%eZK9wZjSwGvT+&Cgv z?~{9p(;bY_1+k|wkt_|N!@J~aoY@|U_RGoWX<;p{Nu*D*&_phw`8jYkMNpRTWx1H* z>J-Mi_!`M468#5Aix$$u1M@rJEIOc?k^QBc?T(#=n&*5eS#u*Y)?L8Ha$9wRWdH^3D4|Ps)Y?m0q~SiKiSfEkJ!=^`lJ(%W3o|CZ zSrZL-Xxc{OrmsQD&s~zPfNJOpSZUl%V8tdG%ei}lQkM+z@-4etFPR>GOH9+Y_F<3=~SXln9Kb-o~f>2a6Xz@AS3cn^;c_>lUwlK(n>z?A>NbC z`Ud8^aQy>wy=$)w;JZzA)_*Y$Z5hU=KAG&htLw1Uh00yE!|Nu{EZkch zY9O6x7Y??>!7pUNME*d!=R#s)ghr|R#41l!c?~=3CS8&zr6*aA7n9*)*PWBV2w+&I zpW1-9fr3j{VTcls1>ua}F*bbju_Xq%^v;-W~paSqlf zolj*dt`BBjHI)H9{zrkBo=B%>8}4jeBO~kWqO!~Thi!I1H(in=n^fS%nuL=X2+s!p}HfTU#NBGiwEBF^^tKU zbhhv+0dE-sbK$>J#t-J!B$TMgN@Wh5wTtK2BG}4BGfsZOoRUS#G8Cxv|6EI*n&Xxq zt{&OxCC+BNqz$9b0WM7_PyBJEVObHFh%%`~!@MNZlo*oXDCwDcFwT~Rls!aApL<)^ zbBftGKKBRhB!{?fX@l2_y~%ygNFfF(XJzHh#?`WlSL{1lKT*gJM zs>bd^H9NCxqxn(IOky5k-wALFowQr(gw%|`0991u#9jXQh?4l|l>pd6a&rx|v=fPJ z1mutj{YzpJ_gsClbWFk(G}bSlFi-6@mwoQh-XeD*j@~huW4(8ub%^I|azA)h2t#yG z7e_V_<4jlM3D(I+qX}yEtqj)cpzN*oCdYHa!nm%0t^wHm)EmFP*|FMw!tb@&`G-u~ zK)=Sf6z+BiTAI}}i{*_Ac$ffr*Wrv$F7_0gJkjx;@)XjYSh`RjAgrCck`x!zP>Ifu z&%he4P|S)H*(9oB4uvH67^0}I-_ye_!w)u3v2+EY>eD3#8QR24<;7?*hj8k~rS)~7 zSXs5ww)T(0eHSp$hEIBnW|Iun<_i`}VE0Nc$|-R}wlSIs5pV{g_Dar(Zz<4X3`W?K z6&CAIl4U(Qk-tTcK{|zYF6QG5ArrEB!;5s?tW7 zrE3hcFY&k)+)e{+YOJ0X2uDE_hd2{|m_dC}kgEKqiE9Q^A-+>2UonB+L@v3$9?AYw zVQv?X*pK;X4Ovc6Ev5Gbg{{Eu*7{N3#0@9oMI~}KnObQE#Y{&3mM4`w%wN+xrKYgD zB-ay0Q}m{QI;iY`s1Z^NqIkjrTlf`B)B#MajZ#9u41oRBC1oM1vq0i|F59> z#StM@bHt|#`2)cpl_rWB($DNJ3Lap}QM-+A$3pe}NyP(@+i1>o^fe-oxX#Bt`mcQc zb?pD4W%#ep|3%CHAYnr*^M6Czg>~L4?l16H1OozM{P*en298b+`i4$|w$|4AHbzqB zHpYUsHZET$Z0ztC;U+0*+amF!@PI%^oUIZy{`L{%O^i{Xk}X0&nl)n~tVEpcAJSJ} zverw15zP1P-O8h9nd!&hj$zuwjg?DoxYIw{jWM zW5_pj+wFy8Tsa9g<7Qa21WaV&;ejoYflRKcz?#fSH_)@*QVlN2l4(QNk| z4aPnv&mrS&0|6NHq05XQw$J^RR9T{3SOcMKCXIR1iSf+xJ0E_Wv?jEc*I#ZPzyJN2 zUG0UOXHl+PikM*&g$U@g+KbG-RY>uaIl&DEtw_Q=FYq?etc!;hEC_}UX{eyh%dw2V zTTSlap&5>PY{6I#(6`j-9`D&I#|YPP8a;(sOzgeKDWsLa!i-$frD>zr-oid!Hf&yS z!i^cr&7tN}OOGmX2)`8k?Tn!!4=tz~3hCTq_9CdiV!NIblUDxHh(FJ$zs)B2(t5@u z-`^RA1ShrLCkg0)OhfoM;4Z{&oZmAec$qV@ zGQ(7(!CBk<5;Ar%DLJ0p0!ResC#U<+3i<|vib1?{5gCebG7$F7URKZXuX-2WgF>YJ^i zMhHDBsh9PDU8dlZ$yJKtc6JA#y!y$57%sE>4Nt+wF1lfNIWyA`=hF=9Gj%sRwi@vd z%2eVV3y&dvAgyuJ=eNJR+*080dbO_t@BFJO<@&#yqTK&+xc|FRR;p;KVk@J3$S{p` zGaMj6isho#%m)?pOG^G0mzOAw0z?!AEMsv=0T>WWcE>??WS=fII$t$(^PDPMU(P>o z_*0s^W#|x)%tx8jIgZY~A2yG;US0m2ZOQt6yJqW@XNY_>_R7(Nxb8Ged6BdYW6{prd!|zuX$@Q2o6Ona8zzYC1u!+2!Y$Jc9a;wy+pXt}o6~Bu1oF1c zp7Y|SBTNi@=I(K%A60PMjM#sfH$y*c{xUgeSpi#HB`?|`!Tb&-qJ3;vxS!TIzuTZs-&%#bAkAyw9m4PJgvey zM5?up*b}eDEY+#@tKec)-c(#QF0P?MRlD1+7%Yk*jW;)`f;0a-ZJ6CQA?E%>i2Dt7T9?s|9ZF|KP4;CNWvaVKZ+Qeut;Jith_y{v*Ny6Co6!8MZx;Wgo z=qAi%&S;8J{iyD&>3CLCQdTX*$+Rx1AwA*D_J^0>suTgBMBb=*hefV+Ars#mmr+YsI3#!F@Xc1t4F-gB@6aoyT+5O(qMz*zG<9Qq*f0w^V!03rpr*-WLH}; zfM{xSPJeu6D(%8HU%0GEa%waFHE$G?FH^kMS-&I3)ycx|iv{T6Wx}9$$D&6{%1N_8 z_CLw)_9+O4&u94##vI9b-HHm_95m)fa??q07`DniVjAy`t7;)4NpeyAY(aAk(+T_O z1om+b5K2g_B&b2DCTK<>SE$Ode1DopAi)xaJjU>**AJK3hZrnhEQ9E`2=|HHe<^tv z63e(bn#fMWuz>4erc47}!J>U58%<&N<6AOAewyzNTqi7hJc|X{782&cM zHZYclNbBwU6673=!ClmxMfkC$(CykGR@10F!zN1Se83LR&a~$Ht&>~43OX22mt7tcZUpa;9@q}KDX3O&Ugp6< zLZLfIMO5;pTee1vNyVC$FGxzK2f>0Z-6hM82zKg44nWo|n}$Zk6&;5ry3`(JFEX$q zK&KivAe${e^5ZGc3a9hOt|!UOE&OocpVryE$Y4sPcs4rJ>>Kbi2_subQ9($2VN(3o zb~tEzMsHaBmBtaHAyES+d3A(qURgiskSSwUc9CfJ@99&MKp2sooSYZu+-0t0+L*!I zYagjOlPgx|lep9tiU%ts&McF6b0VE57%E0Ho%2oi?=Ks+5%aj#au^OBwNwhec zta6QAeQI^V!dF1C)>RHAmB`HnxyqWx?td@4sd15zPd*Fc9hpDXP23kbBenBxGeD$k z;%0VBQEJ-C)&dTAw_yW@k0u?IUk*NrkJ)(XEeI z9Y>6Vel>#s_v@=@0<{4A{pl=9cQ&Iah0iD0H`q)7NeCIRz8zx;! z^OO;1+IqoQNak&pV`qKW+K0^Hqp!~gSohcyS)?^P`JNZXw@gc6{A3OLZ?@1Uc^I2v z+X!^R*HCm3{7JPq{8*Tn>5;B|X7n4QQ0Bs79uTU%nbqOJh`nX(BVj!#f;#J+WZxx4 z_yM&1Y`2XzhfqkIMO7tB3raJKQS+H5F%o83bM+hxbQ zeeJm=Dvix$2j|b4?mDacb67v-1^lTp${z=jc1=j~QD>7c*@+1?py>%Kj%Ejp7Y-!? z8iYRUlGVrQPandAaxFfks53@2EC#0)%mrnmGRn&>=$H$S8q|kE_iWko4`^vCS2aWg z#!`RHUGyOt*k?bBYu3*j3u0gB#v(3tsije zgIuNNWNtrOkx@Pzs;A9un+2LX!zw+p3_NX^Sh09HZAf>m8l@O*rXy_82aWT$Q>iyy zqO7Of)D=wcSn!0+467&!Hl))eff=$aneB?R!YykdKW@k^_uR!+Q1tR)+IJb`-6=jj zymzA>Sv4>Z&g&WWu#|~GcP7qP&m*w-S$)7Xr;(duqCTe7p8H3k5>Y-n8438+%^9~K z3r^LIT_K{i7DgEJjIocw_6d0!<;wKT`X;&vv+&msmhAAnIe!OTdybPctzcEzBy88_ zWO{6i4YT%e4^WQZB)KHCvA(0tS zHu_Bg+6Ko%a9~$EjRB90`P(2~6uI@SFibxct{H#o&y40MdiXblu@VFXbhz>Nko;7R z70Ntmm-FePqhb%9gL+7U8@(ch|JfH5Fm)5${8|`Lef>LttM_iww6LW2X61ldBmG0z zax3y)njFe>j*T{i0s8D4=L>X^j0)({R5lMGVS#7(2C9@AxL&C-lZQx~czI7Iv+{%1 z2hEG>RzX4S8x3v#9sgGAnPzptM)g&LB}@%E>fy0vGSa(&q0ch|=ncKjNrK z`jA~jObJhrJ^ri|-)J^HUyeZXz~XkBp$VhcTEcTdc#a2EUOGVX?@mYx#Vy*!qO$Jv zQ4rgOJ~M*o-_Wptam=~krnmG*p^j!JAqoQ%+YsDFW7Cc9M%YPiBOrVcD^RY>m9Pd< zu}#9M?K{+;UIO!D9qOpq9yxUquQRmQNMo0pT`@$pVt=rMvyX)ph(-CCJLvUJy71DI zBk7oc7)-%ngdj~s@76Yse3L^gV0 z2==qfp&Q~L(+%RHP0n}+xH#k(hPRx(!AdBM$JCfJ5*C=K3ts>P?@@SZ_+{U2qFZb>4kZ{Go37{# zSQc+-dq*a-Vy4?taS&{Ht|MLRiS)Sn14JOONyXqPNnpq&2y~)6wEG0oNy>qvod$FF z`9o&?&6uZjhZ4_*5qWVrEfu(>_n2Xi2{@Gz9MZ8!YmjYvIMasE9yVQL10NBrTCczq zcTY1q^PF2l!Eraguf{+PtHV3=2A?Cu&NN&a8V(y;q(^_mFc6)%Yfn&X&~Pq zU1?qCj^LF(EQB1F`8NxNjyV%fde}dEa(Hx=r7$~ts2dzDwyi6ByBAIx$NllB4%K=O z$AHz1<2bTUb>(MCVPpK(E9wlLElo(aSd(Os)^Raum`d(g9Vd_+Bf&V;l=@mM=cC>) z)9b0enb)u_7V!!E_bl>u5nf&Rl|2r=2F3rHMdb7y9E}}F82^$Rf+P8%dKnOeKh1vs zhH^P*4Ydr^$)$h@4KVzxrHyy#cKmWEa9P5DJ|- zG;!Qi35Tp7XNj60=$!S6U#!(${6hyh7d4q=pF{`0t|N^|L^d8pD{O9@tF~W;#Je*P z&ah%W!KOIN;SyAEhAeTafJ4uEL`(RtnovM+cb(O#>xQnk?dzAjG^~4$dFn^<@-Na3 z395;wBnS{t*H;Jef2eE!2}u5Ns{AHj>WYZDgQJt8v%x?9{MXqJsGP|l%OiZqQ1aB! z%E=*Ig`(!tHh>}4_z5IMpg{49UvD*Pp9!pxt_gdAW%sIf3k6CTycOT1McPl=_#0?8 zVjz8Hj*Vy9c5-krd-{BQ{6Xy|P$6LJvMuX$* zA+@I_66_ET5l2&gk9n4$1M3LN8(yEViRx&mtd#LD}AqEs?RW=xKC(OCWH;~>(X6h!uDxXIPH06xh z*`F4cVlbDP`A)-fzf>MuScYsmq&1LUMGaQ3bRm6i7OsJ|%uhTDT zlvZA1M}nz*SalJWNT|`dBm1$xlaA>CCiQ zK`xD-RuEn>-`Z?M{1%@wewf#8?F|(@1e0+T4>nmlSRrNK5f)BJ2H*$q(H>zGD0>eL zQ!tl_Wk)k*e6v^m*{~A;@6+JGeWU-q9>?+L_#UNT%G?4&BnOgvm9@o7l?ov~XL+et zbGT)|G7)KAeqb=wHSPk+J1bdg7N3$vp(ekjI1D9V$G5Cj!=R2w=3*4!z*J-r-cyeb zd(i2KmX!|Lhey!snRw z?#$Gu%S^SQEKt&kep)up#j&9}e+3=JJBS(s>MH+|=R(`8xK{mmndWo_r`-w1#SeRD&YtAJ#GiVI*TkQZ}&aq<+bU2+coU3!jCI6E+Ad_xFW*ghnZ$q zAoF*i&3n1j#?B8x;kjSJD${1jdRB;)R*)Ao!9bd|C7{;iqDo|T&>KSh6*hCD!rwv= zyK#F@2+cv3=|S1Kef(E6Niv8kyLVLX&e=U;{0x{$tDfShqkjUME>f8d(5nzSkY6@! z^-0>DM)wa&%m#UF1F?zR`8Y3X#tA!*7Q$P3lZJ%*KNlrk_uaPkxw~ zxZ1qlE;Zo;nb@!SMazSjM>;34ROOoygo%SF);LL>rRonWwR>bmSd1XD^~sGSu$Gg# zFZ`|yKU0%!v07dz^v(tY%;So(e`o{ZYTX`hm;@b0%8|H>VW`*cr8R%3n|ehw2`(9B+V72`>SY}9^8oh$En80mZK9T4abVG*to;E z1_S6bgDOW?!Oy1LwYy=w3q~KKdbNtyH#d24PFjX)KYMY93{3-mPP-H>@M-_>N~DDu zENh~reh?JBAK=TFN-SfDfT^=+{w4ea2KNWXq2Y<;?(gf(FgVp8Zp-oEjKzB%2Iqj;48GmY3h=bcdYJ}~&4tS`Q1sb=^emaW$IC$|R+r-8V- zf0$gGE(CS_n4s>oicVk)MfvVg#I>iDvf~Ov8bk}sSxluG!6#^Z_zhB&U^`eIi1@j( z^CK$z^stBHtaDDHxn+R;3u+>Lil^}fj?7eaGB z&5nl^STqcaBxI@v>%zG|j))G(rVa4aY=B@^2{TFkW~YP!8!9TG#(-nOf^^X-%m9{Z zCC?iC`G-^RcBSCuk=Z`(FaUUe?hf3{0C>>$?Vs z`2Uud9M+T&KB6o4o9kvdi^Q=Bw!asPdxbe#W-Oaa#_NP(qpyF@bVxv5D5))srkU#m zj_KA+#7sqDn*Ipf!F5Byco4HOSd!Ui$l94|IbW%Ny(s1>f4|Mv^#NfB31N~kya9!k zWCGL-$0ZQztBate^fd>R!hXY_N9ZjYp3V~4_V z#eB)Kjr8yW=+oG)BuNdZG?jaZlw+l_ma8aET(s+-x+=F-t#Qoiuu1i`^x8Sj>b^U} zs^z<()YMFP7CmjUC@M=&lA5W7t&cxTlzJAts*%PBDAPuqcV5o7HEnqjif_7xGt)F% zGx2b4w{@!tE)$p=l3&?Bf#`+!-RLOleeRk3 z7#pF|w@6_sBmn1nECqdunmG^}pr5(ZJQVvAt$6p3H(16~;vO>?sTE`Y+mq5YP&PBo zvq!7#W$Gewy`;%6o^!Dtjz~x)T}Bdk*BS#=EY=ODD&B=V6TD2z^hj1m5^d6s)D*wk zu$z~D7QuZ2b?5`p)E8e2_L38v3WE{V`bVk;6fl#o2`) z99JsWhh?$oVRn@$S#)uK&8DL8>An0&S<%V8hnGD7Z^;Y(%6;^9!7kDQ5bjR_V+~wp zfx4m3z6CWmmZ<8gDGUyg3>t8wgJ5NkkiEm^(sedCicP^&3D%}6LtIUq>mXCAt{9eF zNXL$kGcoUTf_Lhm`t;hD-SE)m=iBnxRU(NyL}f6~1uH)`K!hmYZjLI%H}AmEF5RZt z06$wn63GHnApHXZZJ}s^s)j9(BM6e*7IBK6Bq(!)d~zR#rbxK9NVIlgquoMq z=eGZ9NR!SEqP6=9UQg#@!rtbbSBUM#ynF);zKX+|!Zm}*{H z+j=d?aZ2!?@EL7C~%B?6ouCKLnO$uWn;Y6Xz zX8dSwj732u(o*U3F$F=7xwxm>E-B+SVZH;O-4XPuPkLSt_?S0)lb7EEg)Mglk0#eS z9@jl(OnH4juMxY+*r03VDfPx_IM!Lmc(5hOI;`?d37f>jPP$?9jQQIQU@i4vuG6MagEoJrQ=RD7xt@8E;c zeGV*+Pt+t$@pt!|McETOE$9k=_C!70uhwRS9X#b%ZK z%q(TIUXSS^F0`4Cx?Rk07C6wI4!UVPeI~-fxY6`YH$kABdOuiRtl73MqG|~AzZ@iL&^s?24iS;RK_pdlWkhcF z@Wv-Om(Aealfg)D^adlXh9Nvf~Uf@y;g3Y)i(YP zEXDnb1V}1pJT5ZWyw=1i+0fni9yINurD=EqH^ciOwLUGi)C%Da)tyt=zq2P7pV5-G zR7!oq28-Fgn5pW|nlu^b!S1Z#r7!Wtr{5J5PQ>pd+2P7RSD?>(U7-|Y z7ZQ5lhYIl_IF<9?T9^IPK<(Hp;l5bl5tF9>X-zG14_7PfsA>6<$~A338iYRT{a@r_ zuXBaT=`T5x3=s&3=RYx6NgG>No4?5KFBVjE(swfcivcIpPQFx5l+O;fiGsOrl5teR z_Cm+;PW}O0Dwe_(4Z@XZ)O0W-v2X><&L*<~*q3dg;bQW3g7)a#3KiQP>+qj|qo*Hk z?57>f2?f@`=Fj^nkDKeRkN2d$Z@2eNKpHo}ksj-$`QKb6n?*$^*%Fb3_Kbf1(*W9K>{L$mud2WHJ=j0^=g30Xhg8$#g^?36`p1fm;;1@0Lrx+8t`?vN0ZorM zSW?rhjCE8$C|@p^sXdx z|NOHHg+fL;HIlqyLp~SSdIF`TnSHehNCU9t89yr@)FY<~hu+X`tjg(aSVae$wDG*C zq$nY(Y494R)hD!i1|IIyP*&PD_c2FPgeY)&mX1qujB1VHPG9`yFQpLFVQ0>EKS@Bp zAfP5`C(sWGLI?AC{XEjLKR4FVNw(4+9b?kba95ukgR1H?w<8F7)G+6&(zUhIE5Ef% z=fFkL3QKA~M@h{nzjRq!Y_t!%U66#L8!(2-GgFxkD1=JRRqk=n%G(yHKn%^&$dW>; zSjAcjETMz1%205se$iH_)ZCpfg_LwvnsZQAUCS#^FExp8O4CrJb6>JquNV@qPq~3A zZ<6dOU#6|8+fcgiA#~MDmcpIEaUO02L5#T$HV0$EMD94HT_eXLZ2Zi&(! z&5E>%&|FZ`)CN10tM%tLSPD*~r#--K(H-CZqIOb99_;m|D5wdgJ<1iOJz@h2Zkq?} z%8_KXb&hf=2Wza(Wgc;3v3TN*;HTU*q2?#z&tLn_U0Nt!y>Oo>+2T)He6%XuP;fgn z-G!#h$Y2`9>Jtf}hbVrm6D70|ERzLAU>3zoWhJmjWfgM^))T+2u$~5>HF9jQDkrXR z=IzX36)V75PrFjkQ%TO+iqKGCQ-DDXbaE;C#}!-CoWQx&v*vHfyI>$HNRbpvm<`O( zlx9NBWD6_e&J%Ous4yp~s6)Ghni!I6)0W;9(9$y1wWu`$gs<$9Mcf$L*piP zPR0Av*2%ul`W;?-1_-5Zy0~}?`e@Y5A&0H!^ApyVTT}BiOm4GeFo$_oPlDEyeGBbh z1h3q&Dx~GmUS|3@4V36&$2uO8!Yp&^pD7J5&TN{?xphf*-js1fP?B|`>p_K>lh{ij zP(?H%e}AIP?_i^f&Li=FDSQ`2_NWxL+BB=nQr=$ zHojMlXNGauvvwPU>ZLq!`bX-5F4jBJ&So{kE5+ms9UEYD{66!|k~3vsP+mE}x!>%P za98bAU0!h0&ka4EoiDvBM#CP#dRNdXJcb*(%=<(g+M@<)DZ!@v1V>;54En?igcHR2 zhubQMq}VSOK)onqHfczM7YA@s=9*ow;k;8)&?J3@0JiGcP! zP#00KZ1t)GyZeRJ=f0^gc+58lc4Qh*S7RqPIC6GugG1gXe$LIQMRCo8cHf^qXgAa2 z`}t>u2Cq1CbSEpLr~E=c7~=Qkc9-vLE%(v9N*&HF`(d~(0`iukl5aQ9u4rUvc8%m) zr2GwZN4!s;{SB87lJB;veebPmqE}tSpT>+`t?<457Q9iV$th%i__Z1kOMAswFldD6 ztbOvO337S5o#ZZgN2G99_AVqPv!?Gmt3pzgD+Hp3QPQ`9qJ(g=kjvD+fUSS3upJn! zqoG7acIKEFRX~S}3|{EWT$kdz#zrDlJU(rPkxjws_iyLKU8+v|*oS_W*-guAb&Pj1 z35Z`3z<&Jb@2Mwz=KXucNYdY#SNO$tcVFr9KdKm|%^e-TXzs6M`PBper%ajkrIyUe zp$vVxVs9*>Vp4_1NC~Zg)WOCPmOxI1V34QlG4!aSFOH{QqSVq1^1)- z0P!Z?tT&E-ll(pwf0?=F=yOzik=@nh1Clxr9}Vij89z)ePDSCYAqw?lVI?v?+&*zH z)p$CScFI8rrwId~`}9YWPFu0cW1Sf@vRELs&cbntRU6QfPK-SO*mqu|u~}8AJ!Q$z znzu}50O=YbjwKCuSVBs6&CZR#0FTu)3{}qJJYX(>QPr4$RqWiwX3NT~;>cLn*_&1H zaKpIW)JVJ>b{uo2oq>oQt3y=zJjb%fU@wLqM{SyaC6x2snMx-}ivfU<1- znu1Lh;i$3Tf$Kh5Uk))G!D1UhE8pvx&nO~w^fG)BC&L!_hQk%^p`Kp@F{cz>80W&T ziOK=Sq3fdRu*V0=S53rcIfWFazI}Twj63CG(jOB;$*b`*#B9uEnBM`hDk*EwSRdwP8?5T?xGUKs=5N83XsR*)a4|ijz|c{4tIU+4j^A5C<#5 z*$c_d=5ml~%pGxw#?*q9N7aRwPux5EyqHVkdJO=5J>84!X6P>DS8PTTz>7C#FO?k#edkntG+fJk8ZMn?pmJSO@`x-QHq;7^h6GEXLXo1TCNhH z8ZDH{*NLAjo3WM`xeb=X{((uv3H(8&r8fJJg_uSs_%hOH%JDD?hu*2NvWGYD+j)&` zz#_1%O1wF^o5ryt?O0n;`lHbzp0wQ?rcbW(F1+h7_EZZ9{>rePvLAPVZ_R|n@;b$;UchU=0j<6k8G9QuQf@76oiE*4 zXOLQ&n3$NR#p4<5NJMVC*S);5x2)eRbaAM%VxWu9ohlT;pGEk7;002enCbQ>2r-us z3#bpXP9g|mE`65VrN`+3mC)M(eMj~~eOf)do<@l+fMiTR)XO}422*1SL{wyY(%oMpBgJagtiDf zz>O6(m;};>Hi=t8o{DVC@YigqS(Qh+ix3Rwa9aliH}a}IlOCW1@?%h_bRbq-W{KHF z%Vo?-j@{Xi@=~Lz5uZP27==UGE15|g^0gzD|3x)SCEXrx`*MP^FDLl%pOi~~Il;dc z^hrwp9sYeT7iZ)-ajKy@{a`kr0-5*_!XfBpXwEcFGJ;%kV$0Nx;apKrur zJN2J~CAv{Zjj%FolyurtW8RaFmpn&zKJWL>(0;;+q(%(Hx!GMW4AcfP0YJ*Vz!F4g z!ZhMyj$BdXL@MlF%KeInmPCt~9&A!;cRw)W!Hi@0DY(GD_f?jeV{=s=cJ6e}JktJw zQORnxxj3mBxfrH=x{`_^Z1ddDh}L#V7i}$njUFRVwOX?qOTKjfPMBO4y(WiU<)epb zvB9L=%jW#*SL|Nd_G?E*_h1^M-$PG6Pc_&QqF0O-FIOpa4)PAEPsyvB)GKasmBoEt z?_Q2~QCYGH+hW31x-B=@5_AN870vY#KB~3a*&{I=f);3Kv7q4Q7s)0)gVYx2#Iz9g(F2;=+Iy4 z6KI^8GJ6D@%tpS^8boU}zpi=+(5GfIR)35PzrbuXeL1Y1N%JK7PG|^2k3qIqHfX;G zQ}~JZ-UWx|60P5?d1e;AHx!_;#PG%d=^X(AR%i`l0jSpYOpXoKFW~7ip7|xvN;2^? zsYC9fanpO7rO=V7+KXqVc;Q5z%Bj})xHVrgoR04sA2 zl~DAwv=!(()DvH*=lyhIlU^hBkA0$e*7&fJpB0|oB7)rqGK#5##2T`@_I^|O2x4GO z;xh6ROcV<9>?e0)MI(y++$-ksV;G;Xe`lh76T#Htuia+(UrIXrf9?

    L(tZ$0BqX1>24?V$S+&kLZ`AodQ4_)P#Q3*4xg8}lMV-FLwC*cN$< zt65Rf%7z41u^i=P*qO8>JqXPrinQFapR7qHAtp~&RZ85$>ob|Js;GS^y;S{XnGiBc zGa4IGvDl?x%gY`vNhv8wgZnP#UYI-w*^4YCZnxkF85@ldepk$&$#3EAhrJY0U)lR{F6sM3SONV^+$;Zx8BD&Eku3K zKNLZyBni3)pGzU0;n(X@1fX8wYGKYMpLmCu{N5-}epPDxClPFK#A@02WM3!myN%bkF z|GJ4GZ}3sL{3{qXemy+#Uk{4>Kf8v11;f8I&c76+B&AQ8udd<8gU7+BeWC`akUU~U zgXoxie>MS@rBoyY8O8Tc&8id!w+_ooxcr!1?#rc$-|SBBtH6S?)1e#P#S?jFZ8u-Bs&k`yLqW|{j+%c#A4AQ>+tj$Y z^CZajspu$F%73E68Lw5q7IVREED9r1Ijsg#@DzH>wKseye>hjsk^{n0g?3+gs@7`i zHx+-!sjLx^fS;fY!ERBU+Q zVJ!e0hJH%P)z!y%1^ZyG0>PN@5W~SV%f>}c?$H8r;Sy-ui>aruVTY=bHe}$e zi&Q4&XK!qT7-XjCrDaufT@>ieQ&4G(SShUob0Q>Gznep9fR783jGuUynAqc6$pYX; z7*O@@JW>O6lKIk0G00xsm|=*UVTQBB`u1f=6wGAj%nHK_;Aqmfa!eAykDmi-@u%6~ z;*c!pS1@V8r@IX9j&rW&d*}wpNs96O2Ute>%yt{yv>k!6zfT6pru{F1M3P z2WN1JDYqoTB#(`kE{H676QOoX`cnqHl1Yaru)>8Ky~VU{)r#{&s86Vz5X)v15ULHA zAZDb{99+s~qI6;-dQ5DBjHJP@GYTwn;Dv&9kE<0R!d z8tf1oq$kO`_sV(NHOSbMwr=To4r^X$`sBW4$gWUov|WY?xccQJN}1DOL|GEaD_!@& z15p?Pj+>7d`@LvNIu9*^hPN)pwcv|akvYYq)ks%`G>!+!pW{-iXPZsRp8 z35LR;DhseQKWYSD`%gO&k$Dj6_6q#vjWA}rZcWtQr=Xn*)kJ9kacA=esi*I<)1>w^ zO_+E>QvjP)qiSZg9M|GNeLtO2D7xT6vsj`88sd!94j^AqxFLi}@w9!Y*?nwWARE0P znuI_7A-saQ+%?MFA$gttMV-NAR^#tjl_e{R$N8t2NbOlX373>e7Ox=l=;y#;M7asp zRCz*CLnrm$esvSb5{T<$6CjY zmZ(i{Rs_<#pWW>(HPaaYj`%YqBra=Ey3R21O7vUbzOkJJO?V`4-D*u4$Me0Bx$K(lYo`JO}gnC zx`V}a7m-hLU9Xvb@K2ymioF)vj12<*^oAqRuG_4u%(ah?+go%$kOpfb`T96P+L$4> zQ#S+sA%VbH&mD1k5Ak7^^dZoC>`1L%i>ZXmooA!%GI)b+$D&ziKrb)a=-ds9xk#~& z7)3iem6I|r5+ZrTRe_W861x8JpD`DDIYZNm{$baw+$)X^Jtjnl0xlBgdnNY}x%5za zkQ8E6T<^$sKBPtL4(1zi_Rd(tVth*3Xs!ulflX+70?gb&jRTnI8l+*Aj9{|d%qLZ+ z>~V9Z;)`8-lds*Zgs~z1?Fg?Po7|FDl(Ce<*c^2=lFQ~ahwh6rqSjtM5+$GT>3WZW zj;u~w9xwAhOc<kF}~`CJ68 z?(S5vNJa;kriPlim33{N5`C{9?NWhzsna_~^|K2k4xz1`xcui*LXL-1#Y}Hi9`Oo!zQ>x-kgAX4LrPz63uZ+?uG*84@PKq-KgQlMNRwz=6Yes) zY}>YN+qP}nwr$(CZQFjUOI=-6J$2^XGvC~EZ+vrqWaOXB$k?%Suf5k=4>AveC1aJ! ziaW4IS%F$_Babi)kA8Y&u4F7E%99OPtm=vzw$$ zEz#9rvn`Iot_z-r3MtV>k)YvErZ<^Oa${`2>MYYODSr6?QZu+be-~MBjwPGdMvGd!b!elsdi4% z`37W*8+OGulab8YM?`KjJ8e+jM(tqLKSS@=jimq3)Ea2EB%88L8CaM+aG7;27b?5` z4zuUWBr)f)k2o&xg{iZ$IQkJ+SK>lpq4GEacu~eOW4yNFLU!Kgc{w4&D$4ecm0f}~ zTTzquRW@`f0}|IILl`!1P+;69g^upiPA6F{)U8)muWHzexRenBU$E^9X-uIY2%&1w z_=#5*(nmxJ9zF%styBwivi)?#KMG96-H@hD-H_&EZiRNsfk7mjBq{L%!E;Sqn!mVX*}kXhwH6eh;b42eD!*~upVG@ z#smUqz$ICm!Y8wY53gJeS|Iuard0=;k5i5Z_hSIs6tr)R4n*r*rE`>38Pw&lkv{_r!jNN=;#?WbMj|l>cU(9trCq; z%nN~r^y7!kH^GPOf3R}?dDhO=v^3BeP5hF|%4GNQYBSwz;x({21i4OQY->1G=KFyu z&6d`f2tT9Yl_Z8YACZaJ#v#-(gcyeqXMhYGXb=t>)M@fFa8tHp2x;ODX=Ap@a5I=U z0G80^$N0G4=U(>W%mrrThl0DjyQ-_I>+1Tdd_AuB3qpYAqY54upwa3}owa|x5iQ^1 zEf|iTZxKNGRpI>34EwkIQ2zHDEZ=(J@lRaOH>F|2Z%V_t56Km$PUYu^xA5#5Uj4I4RGqHD56xT%H{+P8Ag>e_3pN$4m8n>i%OyJFPNWaEnJ4McUZPa1QmOh?t8~n& z&RulPCors8wUaqMHECG=IhB(-tU2XvHP6#NrLVyKG%Ee*mQ5Ps%wW?mcnriTVRc4J`2YVM>$ixSF2Xi+Wn(RUZnV?mJ?GRdw%lhZ+t&3s7g!~g{%m&i<6 z5{ib-<==DYG93I(yhyv4jp*y3#*WNuDUf6`vTM%c&hiayf(%=x@4$kJ!W4MtYcE#1 zHM?3xw63;L%x3drtd?jot!8u3qeqctceX3m;tWetK+>~q7Be$h>n6riK(5@ujLgRS zvOym)k+VAtyV^mF)$29Y`nw&ijdg~jYpkx%*^ z8dz`C*g=I?;clyi5|!27e2AuSa$&%UyR(J3W!A=ZgHF9OuKA34I-1U~pyD!KuRkjA zbkN!?MfQOeN>DUPBxoy5IX}@vw`EEB->q!)8fRl_mqUVuRu|C@KD-;yl=yKc=ZT0% zB$fMwcC|HE*0f8+PVlWHi>M`zfsA(NQFET?LrM^pPcw`cK+Mo0%8*x8@65=CS_^$cG{GZQ#xv($7J z??R$P)nPLodI;P!IC3eEYEHh7TV@opr#*)6A-;EU2XuogHvC;;k1aI8asq7ovoP!* z?x%UoPrZjj<&&aWpsbr>J$Er-7!E(BmOyEv!-mbGQGeJm-U2J>74>o5x`1l;)+P&~ z>}f^=Rx(ZQ2bm+YE0u=ZYrAV@apyt=v1wb?R@`i_g64YyAwcOUl=C!i>=Lzb$`tjv zOO-P#A+)t-JbbotGMT}arNhJmmGl-lyUpMn=2UacVZxmiG!s!6H39@~&uVokS zG=5qWhfW-WOI9g4!R$n7!|ViL!|v3G?GN6HR0Pt_L5*>D#FEj5wM1DScz4Jv@Sxnl zB@MPPmdI{(2D?;*wd>3#tjAirmUnQoZrVv`xM3hARuJksF(Q)wd4P$88fGYOT1p6U z`AHSN!`St}}UMBT9o7i|G`r$ zrB=s$qV3d6$W9@?L!pl0lf%)xs%1ko^=QY$ty-57=55PvP(^6E7cc zGJ*>m2=;fOj?F~yBf@K@9qwX0hA803Xw+b0m}+#a(>RyR8}*Y<4b+kpp|OS+!whP( zH`v{%s>jsQI9rd$*vm)EkwOm#W_-rLTHcZRek)>AtF+~<(did)*oR1|&~1|e36d-d zgtm5cv1O0oqgWC%Et@P4Vhm}Ndl(Y#C^MD03g#PH-TFy+7!Osv1z^UWS9@%JhswEq~6kSr2DITo59+; ze=ZC}i2Q?CJ~Iyu?vn|=9iKV>4j8KbxhE4&!@SQ^dVa-gK@YfS9xT(0kpW*EDjYUkoj! zE49{7H&E}k%5(>sM4uGY)Q*&3>{aitqdNnRJkbOmD5Mp5rv-hxzOn80QsG=HJ_atI-EaP69cacR)Uvh{G5dTpYG7d zbtmRMq@Sexey)||UpnZ?;g_KMZq4IDCy5}@u!5&B^-=6yyY{}e4Hh3ee!ZWtL*s?G zxG(A!<9o!CL+q?u_utltPMk+hn?N2@?}xU0KlYg?Jco{Yf@|mSGC<(Zj^yHCvhmyx z?OxOYoxbptDK()tsJ42VzXdINAMWL$0Gcw?G(g8TMB)Khw_|v9`_ql#pRd2i*?CZl z7k1b!jQB=9-V@h%;Cnl7EKi;Y^&NhU0mWEcj8B|3L30Ku#-9389Q+(Yet0r$F=+3p z6AKOMAIi|OHyzlHZtOm73}|ntKtFaXF2Fy|M!gOh^L4^62kGUoWS1i{9gsds_GWBc zLw|TaLP64z3z9?=R2|T6Xh2W4_F*$cq>MtXMOy&=IPIJ`;!Tw?PqvI2b*U1)25^<2 zU_ZPoxg_V0tngA0J+mm?3;OYw{i2Zb4x}NedZug!>EoN3DC{1i)Z{Z4m*(y{ov2%- zk(w>+scOO}MN!exSc`TN)!B=NUX`zThWO~M*ohqq;J2hx9h9}|s#?@eR!=F{QTrq~ zTcY|>azkCe$|Q0XFUdpFT=lTcyW##i;-e{}ORB4D?t@SfqGo_cS z->?^rh$<&n9DL!CF+h?LMZRi)qju!meugvxX*&jfD!^1XB3?E?HnwHP8$;uX{Rvp# zh|)hM>XDv$ZGg=$1{+_bA~u-vXqlw6NH=nkpyWE0u}LQjF-3NhATL@9rRxMnpO%f7 z)EhZf{PF|mKIMFxnC?*78(}{Y)}iztV12}_OXffJ;ta!fcFIVjdchyHxH=t%ci`Xd zX2AUB?%?poD6Zv*&BA!6c5S#|xn~DK01#XvjT!w!;&`lDXSJT4_j$}!qSPrb37vc{ z9^NfC%QvPu@vlxaZ;mIbn-VHA6miwi8qJ~V;pTZkKqqOii<1Cs}0i?uUIss;hM4dKq^1O35y?Yp=l4i zf{M!@QHH~rJ&X~8uATV><23zZUbs-J^3}$IvV_ANLS08>k`Td7aU_S1sLsfi*C-m1 z-e#S%UGs4E!;CeBT@9}aaI)qR-6NU@kvS#0r`g&UWg?fC7|b^_HyCE!8}nyh^~o@< zpm7PDFs9yxp+byMS(JWm$NeL?DNrMCNE!I^ko-*csB+dsf4GAq{=6sfyf4wb>?v1v zmb`F*bN1KUx-`ra1+TJ37bXNP%`-Fd`vVQFTwWpX@;s(%nDQa#oWhgk#mYlY*!d>( zE&!|ySF!mIyfING+#%RDY3IBH_fW$}6~1%!G`suHub1kP@&DoAd5~7J55;5_noPI6eLf{t;@9Kf<{aO0`1WNKd?<)C-|?C?)3s z>wEq@8=I$Wc~Mt$o;g++5qR+(6wt9GI~pyrDJ%c?gPZe)owvy^J2S=+M^ z&WhIE`g;;J^xQLVeCtf7b%Dg#Z2gq9hp_%g)-%_`y*zb; zn9`f`mUPN-Ts&fFo(aNTsXPA|J!TJ{0hZp0^;MYHLOcD=r_~~^ymS8KLCSeU3;^QzJNqS z5{5rEAv#l(X?bvwxpU;2%pQftF`YFgrD1jt2^~Mt^~G>T*}A$yZc@(k9orlCGv&|1 zWWvVgiJsCAtamuAYT~nzs?TQFt<1LSEx!@e0~@yd6$b5!Zm(FpBl;(Cn>2vF?k zOm#TTjFwd2D-CyA!mqR^?#Uwm{NBemP>(pHmM}9;;8`c&+_o3#E5m)JzfwN?(f-a4 zyd%xZc^oQx3XT?vcCqCX&Qrk~nu;fxs@JUoyVoi5fqpi&bUhQ2y!Ok2pzsFR(M(|U zw3E+kH_zmTRQ9dUMZWRE%Zakiwc+lgv7Z%|YO9YxAy`y28`Aw;WU6HXBgU7fl@dnt z-fFBV)}H-gqP!1;V@Je$WcbYre|dRdp{xt!7sL3Eoa%IA`5CAA%;Wq8PktwPdULo! z8!sB}Qt8#jH9Sh}QiUtEPZ6H0b*7qEKGJ%ITZ|vH)5Q^2m<7o3#Z>AKc%z7_u`rXA zqrCy{-{8;9>dfllLu$^M5L z-hXs))h*qz%~ActwkIA(qOVBZl2v4lwbM>9l70Y`+T*elINFqt#>OaVWoja8RMsep z6Or3f=oBnA3vDbn*+HNZP?8LsH2MY)x%c13@(XfuGR}R?Nu<|07{$+Lc3$Uv^I!MQ z>6qWgd-=aG2Y^24g4{Bw9ueOR)(9h`scImD=86dD+MnSN4$6 z^U*o_mE-6Rk~Dp!ANp#5RE9n*LG(Vg`1)g6!(XtDzsov$Dvz|Gv1WU68J$CkshQhS zCrc|cdkW~UK}5NeaWj^F4MSgFM+@fJd{|LLM)}_O<{rj z+?*Lm?owq?IzC%U%9EBga~h-cJbIu=#C}XuWN>OLrc%M@Gu~kFEYUi4EC6l#PR2JS zQUkGKrrS#6H7}2l0F@S11DP`@pih0WRkRJl#F;u{c&ZC{^$Z+_*lB)r)-bPgRFE;* zl)@hK4`tEP=P=il02x7-C7p%l=B`vkYjw?YhdJU9!P!jcmY$OtC^12w?vy3<<=tlY zUwHJ_0lgWN9vf>1%WACBD{UT)1qHQSE2%z|JHvP{#INr13jM}oYv_5#xsnv9`)UAO zuwgyV4YZ;O)eSc3(mka6=aRohi!HH@I#xq7kng?Acdg7S4vDJb6cI5fw?2z%3yR+| zU5v@Hm}vy;${cBp&@D=HQ9j7NcFaOYL zj-wV=eYF{|XTkFNM2uz&T8uH~;)^Zo!=KP)EVyH6s9l1~4m}N%XzPpduPg|h-&lL` zAXspR0YMOKd2yO)eMFFJ4?sQ&!`dF&!|niH*!^*Ml##o0M(0*uK9&yzekFi$+mP9s z>W9d%Jb)PtVi&-Ha!o~Iyh@KRuKpQ@)I~L*d`{O8!kRObjO7=n+Gp36fe!66neh+7 zW*l^0tTKjLLzr`x4`_8&on?mjW-PzheTNox8Hg7Nt@*SbE-%kP2hWYmHu#Fn@Q^J(SsPUz*|EgOoZ6byg3ew88UGdZ>9B2Tq=jF72ZaR=4u%1A6Vm{O#?@dD!(#tmR;eP(Fu z{$0O%=Vmua7=Gjr8nY%>ul?w=FJ76O2js&17W_iq2*tb!i{pt#`qZB#im9Rl>?t?0c zicIC}et_4d+CpVPx)i4~$u6N-QX3H77ez z?ZdvXifFk|*F8~L(W$OWM~r`pSk5}#F?j_5u$Obu9lDWIknO^AGu+Blk7!9Sb;NjS zncZA?qtASdNtzQ>z7N871IsPAk^CC?iIL}+{K|F@BuG2>qQ;_RUYV#>hHO(HUPpk@ z(bn~4|F_jiZi}Sad;_7`#4}EmD<1EiIxa48QjUuR?rC}^HRocq`OQPM@aHVKP9E#q zy%6bmHygCpIddPjE}q_DPC`VH_2m;Eey&ZH)E6xGeStOK7H)#+9y!%-Hm|QF6w#A( zIC0Yw%9j$s-#odxG~C*^MZ?M<+&WJ+@?B_QPUyTg9DJGtQN#NIC&-XddRsf3n^AL6 zT@P|H;PvN;ZpL0iv$bRb7|J{0o!Hq+S>_NrH4@coZtBJu#g8#CbR7|#?6uxi8d+$g z87apN>EciJZ`%Zv2**_uiET9Vk{pny&My;+WfGDw4EVL#B!Wiw&M|A8f1A@ z(yFQS6jfbH{b8Z-S7D2?Ixl`j0{+ZnpT=;KzVMLW{B$`N?Gw^Fl0H6lT61%T2AU**!sX0u?|I(yoy&Xveg7XBL&+>n6jd1##6d>TxE*Vj=8lWiG$4=u{1UbAa5QD>5_ z;Te^42v7K6Mmu4IWT6Rnm>oxrl~b<~^e3vbj-GCdHLIB_>59}Ya+~OF68NiH=?}2o zP(X7EN=quQn&)fK>M&kqF|<_*H`}c zk=+x)GU>{Af#vx&s?`UKUsz})g^Pc&?Ka@t5$n$bqf6{r1>#mWx6Ep>9|A}VmWRnowVo`OyCr^fHsf# zQjQ3Ttp7y#iQY8l`zEUW)(@gGQdt(~rkxlkefskT(t%@i8=|p1Y9Dc5bc+z#n$s13 zGJk|V0+&Ekh(F};PJzQKKo+FG@KV8a<$gmNSD;7rd_nRdc%?9)p!|B-@P~kxQG}~B zi|{0}@}zKC(rlFUYp*dO1RuvPC^DQOkX4<+EwvBAC{IZQdYxoq1Za!MW7%p7gGr=j zzWnAq%)^O2$eItftC#TTSArUyL$U54-O7e|)4_7%Q^2tZ^0-d&3J1}qCzR4dWX!)4 zzIEKjgnYgMus^>6uw4Jm8ga6>GBtMjpNRJ6CP~W=37~||gMo_p@GA@#-3)+cVYnU> zE5=Y4kzl+EbEh%dhQokB{gqNDqx%5*qBusWV%!iprn$S!;oN_6E3?0+umADVs4ako z?P+t?m?};gev9JXQ#Q&KBpzkHPde_CGu-y z<{}RRAx=xlv#mVi+Ibrgx~ujW$h{?zPfhz)Kp7kmYS&_|97b&H&1;J-mzrBWAvY} zh8-I8hl_RK2+nnf&}!W0P+>5?#?7>npshe<1~&l_xqKd0_>dl_^RMRq@-Myz&|TKZBj1=Q()) zF{dBjv5)h=&Z)Aevx}+i|7=R9rG^Di!sa)sZCl&ctX4&LScQ-kMncgO(9o6W6)yd< z@Rk!vkja*X_N3H=BavGoR0@u0<}m-7|2v!0+2h~S2Q&a=lTH91OJsvms2MT~ zY=c@LO5i`mLpBd(vh|)I&^A3TQLtr>w=zoyzTd=^f@TPu&+*2MtqE$Avf>l>}V|3-8Fp2hzo3y<)hr_|NO(&oSD z!vEjTWBxbKTiShVl-U{n*B3#)3a8$`{~Pk}J@elZ=>Pqp|MQ}jrGv7KrNcjW%TN_< zZz8kG{#}XoeWf7qY?D)L)8?Q-b@Na&>i=)(@uNo zr;cH98T3$Iau8Hn*@vXi{A@YehxDE2zX~o+RY`)6-X{8~hMpc#C`|8y> zU8Mnv5A0dNCf{Ims*|l-^ z(MRp{qoGohB34|ggDI*p!Aw|MFyJ|v+<+E3brfrI)|+l3W~CQLPbnF@G0)P~Ly!1TJLp}xh8uW`Q+RB-v`MRYZ9Gam3cM%{ zb4Cb*f)0deR~wtNb*8w-LlIF>kc7DAv>T0D(a3@l`k4TFnrO+g9XH7;nYOHxjc4lq zMmaW6qpgAgy)MckYMhl?>sq;-1E)-1llUneeA!ya9KM$)DaNGu57Z5aE>=VST$#vb zFo=uRHr$0M{-ha>h(D_boS4zId;3B|Tpqo|?B?Z@I?G(?&Iei+-{9L_A9=h=Qfn-U z1wIUnQe9!z%_j$F_{rf&`ZFSott09gY~qrf@g3O=Y>vzAnXCyL!@(BqWa)Zqt!#_k zfZHuwS52|&&)aK;CHq9V-t9qt0au{$#6c*R#e5n3rje0hic7c7m{kW$p(_`wB=Gw7 z4k`1Hi;Mc@yA7dp@r~?@rfw)TkjAW++|pkfOG}0N|2guek}j8Zen(!+@7?qt_7ndX zB=BG6WJ31#F3#Vk3=aQr8T)3`{=p9nBHlKzE0I@v`{vJ}h8pd6vby&VgFhzH|q;=aonunAXL6G2y(X^CtAhWr*jI zGjpY@raZDQkg*aMq}Ni6cRF z{oWv}5`nhSAv>usX}m^GHt`f(t8@zHc?K|y5Zi=4G*UG1Sza{$Dpj%X8 zzEXaKT5N6F5j4J|w#qlZP!zS7BT)9b+!ZSJdToqJts1c!)fwih4d31vfb{}W)EgcA zH2pZ^8_k$9+WD2n`6q5XbOy8>3pcYH9 z07eUB+p}YD@AH!}p!iKv><2QF-Y^&xx^PAc1F13A{nUeCDg&{hnix#FiO!fe(^&%Qcux!h znu*S!s$&nnkeotYsDthh1dq(iQrE|#f_=xVgfiiL&-5eAcC-> z5L0l|DVEM$#ulf{bj+Y~7iD)j<~O8CYM8GW)dQGq)!mck)FqoL^X zwNdZb3->hFrbHFm?hLvut-*uK?zXn3q1z|UX{RZ;-WiLoOjnle!xs+W0-8D)kjU#R z+S|A^HkRg$Ij%N4v~k`jyHffKaC~=wg=9)V5h=|kLQ@;^W!o2^K+xG&2n`XCd>OY5Ydi= zgHH=lgy++erK8&+YeTl7VNyVm9-GfONlSlVb3)V9NW5tT!cJ8d7X)!b-$fb!s76{t z@d=Vg-5K_sqHA@Zx-L_}wVnc@L@GL9_K~Zl(h5@AR#FAiKad8~KeWCo@mgXIQ#~u{ zgYFwNz}2b6Vu@CP0XoqJ+dm8px(5W5-Jpis97F`+KM)TuP*X8H@zwiVKDKGVp59pI zifNHZr|B+PG|7|Y<*tqap0CvG7tbR1R>jn70t1X`XJixiMVcHf%Ez*=xm1(CrTSDt z0cle!+{8*Ja&EOZ4@$qhBuKQ$U95Q%rc7tg$VRhk?3=pE&n+T3upZg^ZJc9~c2es% zh7>+|mrmA-p&v}|OtxqmHIBgUxL~^0+cpfkSK2mhh+4b=^F1Xgd2)}U*Yp+H?ls#z zrLxWg_hm}AfK2XYWr!rzW4g;+^^&bW%LmbtRai9f3PjU${r@n`JThy-cphbcwn)rq9{A$Ht`lmYKxOacy z6v2R(?gHhD5@&kB-Eg?4!hAoD7~(h>(R!s1c1Hx#s9vGPePUR|of32bS`J5U5w{F) z>0<^ktO2UHg<0{oxkdOQ;}coZDQph8p6ruj*_?uqURCMTac;>T#v+l1Tc~%^k-Vd@ zkc5y35jVNc49vZpZx;gG$h{%yslDI%Lqga1&&;mN{Ush1c7p>7e-(zp}6E7f-XmJb4nhk zb8zS+{IVbL$QVF8pf8}~kQ|dHJAEATmmnrb_wLG}-yHe>W|A&Y|;muy-d^t^<&)g5SJfaTH@P1%euONny=mxo+C z4N&w#biWY41r8k~468tvuYVh&XN&d#%QtIf9;iVXfWY)#j=l`&B~lqDT@28+Y!0E+MkfC}}H*#(WKKdJJq=O$vNYCb(ZG@p{fJgu;h z21oHQ(14?LeT>n5)s;uD@5&ohU!@wX8w*lB6i@GEH0pM>YTG+RAIWZD;4#F1&F%Jp zXZUml2sH0!lYJT?&sA!qwez6cXzJEd(1ZC~kT5kZSp7(@=H2$Azb_*W&6aA|9iwCL zdX7Q=42;@dspHDwYE?miGX#L^3xD&%BI&fN9^;`v4OjQXPBaBmOF1;#C)8XA(WFlH zycro;DS2?(G&6wkr6rqC>rqDv3nfGw3hmN_9Al>TgvmGsL8_hXx09};l9Ow@)F5@y z#VH5WigLDwZE4nh^7&@g{1FV^UZ%_LJ-s<{HN*2R$OPg@R~Z`c-ET*2}XB@9xvAjrK&hS=f|R8Gr9 zr|0TGOsI7RD+4+2{ZiwdVD@2zmg~g@^D--YL;6UYGSM8i$NbQr4!c7T9rg!8;TM0E zT#@?&S=t>GQm)*ua|?TLT2ktj#`|R<_*FAkOu2Pz$wEc%-=Y9V*$&dg+wIei3b*O8 z2|m$!jJG!J!ZGbbIa!(Af~oSyZV+~M1qGvelMzPNE_%5?c2>;MeeG2^N?JDKjFYCy z7SbPWH-$cWF9~fX%9~v99L!G(wi!PFp>rB!9xj7=Cv|F+7CsGNwY0Q_J%FID%C^CBZQfJ9K(HK%k31j~e#&?hQ zNuD6gRkVckU)v+53-fc} z7ZCzYN-5RG4H7;>>Hg?LU9&5_aua?A0)0dpew1#MMlu)LHe(M;OHjHIUl7|%%)YPo z0cBk;AOY00%Fe6heoN*$(b<)Cd#^8Iu;-2v@>cE-OB$icUF9EEoaC&q8z9}jMTT2I z8`9;jT%z0;dy4!8U;GW{i`)3!c6&oWY`J3669C!tM<5nQFFrFRglU8f)5Op$GtR-3 zn!+SPCw|04sv?%YZ(a7#L?vsdr7ss@WKAw&A*}-1S|9~cL%uA+E~>N6QklFE>8W|% zyX-qAUGTY1hQ-+um`2|&ji0cY*(qN!zp{YpDO-r>jPk*yuVSay<)cUt`t@&FPF_&$ zcHwu1(SQ`I-l8~vYyUxm@D1UEdFJ$f5Sw^HPH7b!9 zzYT3gKMF((N(v0#4f_jPfVZ=ApN^jQJe-X$`A?X+vWjLn_%31KXE*}5_}d8 zw_B1+a#6T1?>M{ronLbHIlEsMf93muJ7AH5h%;i99<~JX^;EAgEB1uHralD*!aJ@F zV2ruuFe9i2Q1C?^^kmVy921eb=tLDD43@-AgL^rQ3IO9%+vi_&R2^dpr}x{bCVPej z7G0-0o64uyWNtr*loIvslyo0%)KSDDKjfThe0hcqs)(C-MH1>bNGBDRTW~scy_{w} zp^aq8Qb!h9Lwielq%C1b8=?Z=&U)ST&PHbS)8Xzjh2DF?d{iAv)Eh)wsUnf>UtXN( zL7=$%YrZ#|^c{MYmhn!zV#t*(jdmYdCpwqpZ{v&L8KIuKn`@IIZfp!uo}c;7J57N` zAxyZ-uA4=Gzl~Ovycz%MW9ZL7N+nRo&1cfNn9(1H5eM;V_4Z_qVann7F>5f>%{rf= zPBZFaV@_Sobl?Fy&KXyzFDV*FIdhS5`Uc~S^Gjo)aiTHgn#<0C=9o-a-}@}xDor;D zZyZ|fvf;+=3MZd>SR1F^F`RJEZo+|MdyJYQAEauKu%WDol~ayrGU3zzbHKsnHKZ*z zFiwUkL@DZ>!*x05ql&EBq@_Vqv83&?@~q5?lVmffQZ+V-=qL+!u4Xs2Z2zdCQ3U7B&QR9_Iggy} z(om{Y9eU;IPe`+p1ifLx-XWh?wI)xU9ik+m#g&pGdB5Bi<`PR*?92lE0+TkRuXI)z z5LP!N2+tTc%cB6B1F-!fj#}>S!vnpgVU~3!*U1ej^)vjUH4s-bd^%B=ItQqDCGbrEzNQi(dJ`J}-U=2{7-d zK8k^Rlq2N#0G?9&1?HSle2vlkj^KWSBYTwx`2?9TU_DX#J+f+qLiZCqY1TXHFxXZqYMuD@RU$TgcnCC{_(vwZ-*uX)~go#%PK z@}2Km_5aQ~(<3cXeJN6|F8X_1@L%@xTzs}$_*E|a^_URF_qcF;Pfhoe?FTFwvjm1o z8onf@OY@jC2tVcMaZS;|T!Ks(wOgPpRzRnFS-^RZ4E!9dsnj9sFt609a|jJbb1Dt@ z<=Gal2jDEupxUSwWu6zp<<&RnAA;d&4gKVG0iu6g(DsST(4)z6R)zDpfaQ}v{5ARt zyhwvMtF%b-YazR5XLz+oh=mn;y-Mf2a8>7?2v8qX;19y?b>Z5laGHvzH;Nu9S`B8} zI)qN$GbXIQ1VL3lnof^6TS~rvPVg4V?Dl2Bb*K2z4E{5vy<(@@K_cN@U>R!>aUIRnb zL*)=787*cs#zb31zBC49x$`=fkQbMAef)L2$dR{)6BAz!t5U_B#1zZG`^neKSS22oJ#5B=gl%U=WeqL9REF2g zZnfCb0?quf?Ztj$VXvDSWoK`0L=Zxem2q}!XWLoT-kYMOx)!7fcgT35uC~0pySEme z`{wGWTkGr7>+Kb^n;W?BZH6ZP(9tQX%-7zF>vc2}LuWDI(9kh1G#7B99r4x6;_-V+k&c{nPUrR zAXJGRiMe~aup{0qzmLNjS_BC4cB#sXjckx{%_c&^xy{M61xEb>KW_AG5VFXUOjAG4 z^>Qlm9A#1N{4snY=(AmWzatb!ngqiqPbBZ7>Uhb3)dTkSGcL#&SH>iMO-IJBPua`u zo)LWZ>=NZLr758j{%(|uQuZ)pXq_4c!!>s|aDM9#`~1bzK3J1^^D#<2bNCccH7~-X}Ggi!pIIF>uFx%aPARGQsnC8ZQc8lrQ5o~smqOg>Ti^GNme94*w z)JZy{_{#$jxGQ&`M z!OMvZMHR>8*^>eS%o*6hJwn!l8VOOjZQJvh)@tnHVW&*GYPuxqXw}%M!(f-SQf`=L z5;=5w2;%82VMH6Xi&-K3W)o&K^+vJCepWZ-rW%+Dc6X3(){z$@4zjYxQ|}8UIojeC zYZpQ1dU{fy=oTr<4VX?$q)LP}IUmpiez^O&N3E_qPpchGTi5ZM6-2ScWlQq%V&R2Euz zO|Q0Hx>lY1Q1cW5xHv5!0OGU~PVEqSuy#fD72d#O`N!C;o=m+YioGu-wH2k6!t<~K zSr`E=W9)!g==~x9VV~-8{4ZN9{~-A9zJpRe%NGg$+MDuI-dH|b@BD)~>pPCGUNNzY zMDg||0@XGQgw`YCt5C&A{_+J}mvV9Wg{6V%2n#YSRN{AP#PY?1FF1#|vO_%e+#`|2*~wGAJaeRX6=IzFNeWhz6gJc8+(03Ph4y6ELAm=AkN7TOgMUEw*N{= z_)EIDQx5q22oUR+_b*tazu9+pX|n1c*IB-}{DqIj z-?E|ks{o3AGRNb;+iKcHkZvYJvFsW&83RAPs1Oh@IWy%l#5x2oUP6ZCtv+b|q>jsf zZ_9XO;V!>n`UxH1LvH8)L4?8raIvasEhkpQoJ`%!5rBs!0Tu(s_D{`4opB;57)pkX z4$A^8CsD3U5*!|bHIEqsn~{q+Ddj$ME@Gq4JXtgVz&7l{Ok!@?EA{B3P~NAqb9)4? zkQo30A^EbHfQ@87G5&EQTd`frrwL)&Yw?%-W@uy^Gn23%j?Y!Iea2xw<-f;esq zf%w5WN@E1}zyXtYv}}`U^B>W`>XPmdLj%4{P298|SisrE;7HvXX;A}Ffi8B#3Lr;1 zHt6zVb`8{#+e$*k?w8|O{Uh|&AG}|DG1PFo1i?Y*cQm$ZwtGcVgMwtBUDa{~L1KT-{jET4w60>{KZ27vXrHJ;fW{6| z=|Y4!&UX020wU1>1iRgB@Q#m~1^Z^9CG1LqDhYBrnx%IEdIty z!46iOoKlKs)c}newDG)rWUikD%j`)p z_w9Ph&e40=(2eBy;T!}*1p1f1SAUDP9iWy^u^Ubdj21Kn{46;GR+hwLO=4D11@c~V zI8x&(D({K~Df2E)Nx_yQvYfh4;MbMJ@Z}=Dt3_>iim~QZ*hZIlEs0mEb z_54+&*?wMD`2#vsQRN3KvoT>hWofI_Vf(^C1ff-Ike@h@saEf7g}<9T`W;HAne-Nd z>RR+&SP35w)xKn8^U$7))PsM!jKwYZ*RzEcG-OlTrX3}9a{q%#Un5E5W{{hp>w~;` zGky+3(vJvQyGwBo`tCpmo0mo((?nM8vf9aXrrY1Ve}~TuVkB(zeds^jEfI}xGBCM2 zL1|#tycSaWCurP+0MiActG3LCas@_@tao@(R1ANlwB$4K53egNE_;!&(%@Qo$>h`^1S_!hN6 z)vZtG$8fN!|BXBJ=SI>e(LAU(y(i*PHvgQ2llulxS8>qsimv7yL}0q_E5WiAz7)(f zC(ahFvG8&HN9+6^jGyLHM~$)7auppeWh_^zKk&C_MQ~8;N??OlyH~azgz5fe^>~7F zl3HnPN3z-kN)I$4@`CLCMQx3sG~V8hPS^}XDXZrQA>}mQPw%7&!sd(Pp^P=tgp-s^ zjl}1-KRPNWXgV_K^HkP__SR`S-|OF0bR-N5>I%ODj&1JUeAQ3$9i;B~$S6}*^tK?= z**%aCiH7y?xdY?{LgVP}S0HOh%0%LI$wRx;$T|~Y8R)Vdwa}kGWv8?SJVm^>r6+%I z#lj1aR94{@MP;t-scEYQWc#xFA30^}?|BeX*W#9OL;Q9#WqaaM546j5j29((^_8Nu z4uq}ESLr~r*O7E7$D{!k9W>`!SLoyA53i9QwRB{!pHe8um|aDE`Cg0O*{jmor)^t)3`>V>SWN-2VJcFmj^1?~tT=JrP`fVh*t zXHarp=8HEcR#vFe+1a%XXuK+)oFs`GDD}#Z+TJ}Ri`FvKO@ek2ayn}yaOi%(8p%2$ zpEu)v0Jym@f}U|-;}CbR=9{#<^z28PzkkTNvyKvJDZe+^VS2bES3N@Jq!-*}{oQlz z@8bgC_KnDnT4}d#&Cpr!%Yb?E!brx0!eVOw~;lLwUoz#Np%d$o%9scc3&zPm`%G((Le|6o1 zM(VhOw)!f84zG^)tZ1?Egv)d8cdNi+T${=5kV+j;Wf%2{3g@FHp^Gf*qO0q!u$=m9 zCaY`4mRqJ;FTH5`a$affE5dJrk~k`HTP_7nGTY@B9o9vvnbytaID;^b=Tzp7Q#DmD zC(XEN)Ktn39z5|G!wsVNnHi) z%^q94!lL|hF`IijA^9NR0F$@h7k5R^ljOW(;Td9grRN0Mb)l_l7##{2nPQ@?;VjXv zaLZG}yuf$r$<79rVPpXg?6iiieX|r#&`p#Con2i%S8*8F}(E) zI5E6c3tG*<;m~6>!&H!GJ6zEuhH7mkAzovdhLy;)q z{H2*8I^Pb}xC4s^6Y}6bJvMu=8>g&I)7!N!5QG$xseeU#CC?ZM-TbjsHwHgDGrsD= z{%f;@Sod+Ch66Ko2WF~;Ty)v>&x^aovCbCbD7>qF*!?BXmOV3(s|nxsb*Lx_2lpB7 zokUnzrk;P=T-&kUHO}td+Zdj!3n&NR?K~cRU zAXU!DCp?51{J4w^`cV#ye}(`SQhGQkkMu}O3M*BWt4UsC^jCFUy;wTINYmhD$AT;4 z?Xd{HaJjP`raZ39qAm;%beDbrLpbRf(mkKbANan7XsL>_pE2oo^$TgdidjRP!5-`% zv0d!|iKN$c0(T|L0C~XD0aS8t{*&#LnhE;1Kb<9&=c2B+9JeLvJr*AyyRh%@jHej=AetOMSlz^=!kxX>>B{2B1uIrQyfd8KjJ+DBy!h)~*(!|&L4^Q_07SQ~E zcemVP`{9CwFvPFu7pyVGCLhH?LhEVb2{7U+Z_>o25#+3<|8%1T^5dh}*4(kfJGry} zm%r#hU+__Z;;*4fMrX=Bkc@7|v^*B;HAl0((IBPPii%X9+u3DDF6%bI&6?Eu$8&aWVqHIM7mK6?Uvq$1|(-T|)IV<>e?!(rY zqkmO1MRaLeTR=)io(0GVtQT@s6rN%C6;nS3@eu;P#ry4q;^O@1ZKCJyp_Jo)Ty^QW z+vweTx_DLm{P-XSBj~Sl<%_b^$=}odJ!S2wAcxenmzFGX1t&Qp8Vxz2VT`uQsQYtdn&_0xVivIcxZ_hnrRtwq4cZSj1c-SG9 z7vHBCA=fd0O1<4*=lu$6pn~_pVKyL@ztw1swbZi0B?spLo56ZKu5;7ZeUml1Ws1?u zqMf1p{5myAzeX$lAi{jIUqo1g4!zWLMm9cfWcnw`k6*BR^?$2(&yW?>w;G$EmTA@a z6?y#K$C~ZT8+v{87n5Dm&H6Pb_EQ@V0IWmG9cG=O;(;5aMWWrIPzz4Q`mhK;qQp~a z+BbQrEQ+w{SeiuG-~Po5f=^EvlouB@_|4xQXH@A~KgpFHrwu%dwuCR)=B&C(y6J4J zvoGk9;lLs9%iA-IJGU#RgnZZR+@{5lYl8(e1h6&>Vc_mvg0d@);X zji4T|n#lB!>pfL|8tQYkw?U2bD`W{na&;*|znjmalA&f;*U++_aBYerq;&C8Kw7mI z7tsG*?7*5j&dU)Lje;^{D_h`%(dK|pB*A*1(Jj)w^mZ9HB|vGLkF1GEFhu&rH=r=8 zMxO42e{Si6$m+Zj`_mXb&w5Q(i|Yxyg?juUrY}78uo@~3v84|8dfgbPd0iQJRdMj< zncCNGdMEcsxu#o#B5+XD{tsg*;j-eF8`mp~K8O1J!Z0+>0=7O=4M}E?)H)ENE;P*F z$Ox?ril_^p0g7xhDUf(q652l|562VFlC8^r8?lQv;TMvn+*8I}&+hIQYh2 z1}uQQaag&!-+DZ@|C+C$bN6W;S-Z@)d1|en+XGvjbOxCa-qAF*LA=6s(Jg+g;82f$ z(Vb)8I)AH@cdjGFAR5Rqd0wiNCu!xtqWbcTx&5kslzTb^7A78~Xzw1($UV6S^VWiP zFd{Rimd-0CZC_Bu(WxBFW7+k{cOW7DxBBkJdJ;VsJ4Z@lERQr%3eVv&$%)b%<~ zCl^Y4NgO}js@u{|o~KTgH}>!* z_iDNqX2(As7T0xivMH|3SC1ivm8Q}6Ffcd7owUKN5lHAtzMM4<0v+ykUT!QiowO;`@%JGv+K$bBx@*S7C8GJVqQ_K>12}M`f_Ys=S zKFh}HM9#6Izb$Y{wYzItTy+l5U2oL%boCJn?R3?jP@n$zSIwlmyGq30Cw4QBO|14` zW5c);AN*J3&eMFAk$SR~2k|&+&Bc$e>s%c{`?d~85S-UWjA>DS5+;UKZ}5oVa5O(N zqqc@>)nee)+4MUjH?FGv%hm2{IlIF-QX}ym-7ok4Z9{V+ZHVZQl$A*x!(q%<2~iVv znUa+BX35&lCb#9VE-~Y^W_f;Xhl%vgjwdjzMy$FsSIj&ok}L+X`4>J=9BkN&nu^E*gbhj3(+D>C4E z@Fwq_=N)^bKFSHTzZk?-gNU$@l}r}dwGyh_fNi=9b|n}J>&;G!lzilbWF4B}BBq4f zYIOl?b)PSh#XTPp4IS5ZR_2C!E)Z`zH0OW%4;&~z7UAyA-X|sh9@~>cQW^COA9hV4 zXcA6qUo9P{bW1_2`eo6%hgbN%(G-F1xTvq!sc?4wN6Q4`e9Hku zFwvlAcRY?6h^Fj$R8zCNEDq8`=uZB8D-xn)tA<^bFFy}4$vA}Xq0jAsv1&5!h!yRA zU()KLJya5MQ`q&LKdH#fwq&(bNFS{sKlEh_{N%{XCGO+po#(+WCLmKW6&5iOHny>g z3*VFN?mx!16V5{zyuMWDVP8U*|BGT$(%IO|)?EF|OI*sq&RovH!N%=>i_c?K*A>>k zyg1+~++zY4Q)J;VWN0axhoIKx;l&G$gvj(#go^pZskEVj8^}is3Jw26LzYYVos0HX zRPvmK$dVxM8(Tc?pHFe0Z3uq){{#OK3i-ra#@+;*=ui8)y6hsRv z4Fxx1c1+fr!VI{L3DFMwXKrfl#Q8hfP@ajgEau&QMCxd{g#!T^;ATXW)nUg&$-n25 zruy3V!!;{?OTobo|0GAxe`Acn3GV@W=&n;~&9 zQM>NWW~R@OYORkJAo+eq1!4vzmf9K%plR4(tB@TR&FSbDoRgJ8qVcH#;7lQub*nq&?Z>7WM=oeEVjkaG zT#f)=o!M2DO5hLR+op>t0CixJCIeXH*+z{-XS|%jx)y(j&}Wo|3!l7{o)HU3m7LYyhv*xF&tq z%IN7N;D4raue&&hm0xM=`qv`+TK@;_xAcGKuK(2|75~ar2Yw)geNLSmVxV@x89bQu zpViVKKnlkwjS&&c|-X6`~xdnh}Ps)Hs z4VbUL^{XNLf7_|Oi>tA%?SG5zax}esF*FH3d(JH^Gvr7Rp*n=t7frH!U;!y1gJB^i zY_M$KL_}mW&XKaDEi9K-wZR|q*L32&m+2n_8lq$xRznJ7p8}V>w+d@?uB!eS3#u<} zIaqi!b!w}a2;_BfUUhGMy#4dPx>)_>yZ`ai?Rk`}d0>~ce-PfY-b?Csd(28yX22L% zI7XI>OjIHYTk_@Xk;Gu^F52^Gn6E1&+?4MxDS2G_#PQ&yXPXP^<-p|2nLTb@AAQEY zI*UQ9Pmm{Kat}wuazpjSyXCdnrD&|C1c5DIb1TnzF}f4KIV6D)CJ!?&l&{T)e4U%3HTSYqsQ zo@zWB1o}ceQSV)<4G<)jM|@@YpL+XHuWsr5AYh^Q{K=wSV99D~4RRU52FufmMBMmd z_H}L#qe(}|I9ZyPRD6kT>Ivj&2Y?qVZq<4bG_co_DP`sE*_Xw8D;+7QR$Uq(rr+u> z8bHUWbV19i#)@@G4bCco@Xb<8u~wVDz9S`#k@ciJtlu@uP1U0X?yov8v9U3VOig2t zL9?n$P3=1U_Emi$#slR>N5wH-=J&T=EdUHA}_Z zZIl3nvMP*AZS9{cDqFanrA~S5BqxtNm9tlu;^`)3X&V4tMAkJ4gEIPl= zoV!Gyx0N{3DpD@)pv^iS*dl2FwANu;1;%EDl}JQ7MbxLMAp>)UwNwe{=V}O-5C*>F zu?Ny+F64jZn<+fKjF01}8h5H_3pey|;%bI;SFg$w8;IC<8l|3#Lz2;mNNik6sVTG3 z+Su^rIE#40C4a-587$U~%KedEEw1%r6wdvoMwpmlXH$xPnNQN#f%Z7|p)nC>WsuO= z4zyqapLS<8(UJ~Qi9d|dQijb_xhA2)v>la)<1md5s^R1N&PiuA$^k|A<+2C?OiHbj z>Bn$~t)>Y(Zb`8hW7q9xQ=s>Rv81V+UiuZJc<23HplI88isqRCId89fb`Kt|CxVIg znWcwprwXnotO>3s&Oypkte^9yJjlUVVxSe%_xlzmje|mYOVPH^vjA=?6xd0vaj0Oz zwJ4OJNiFdnHJX3rw&inskjryukl`*fRQ#SMod5J|KroJRsVXa5_$q7whSQ{gOi*s0 z1LeCy|JBWRsDPn7jCb4s(p|JZiZ8+*ExC@Vj)MF|*Vp{B(ziccSn`G1Br9bV(v!C2 z6#?eqpJBc9o@lJ#^p-`-=`4i&wFe>2)nlPK1p9yPFzJCzBQbpkcR>={YtamIw)3nt z(QEF;+)4`>8^_LU)_Q3 zC5_7lgi_6y>U%m)m@}Ku4C}=l^J=<<7c;99ec3p{aR+v=diuJR7uZi%aQv$oP?dn?@6Yu_+*^>T0ptf(oobdL;6)N-I!TO`zg^Xbv3#L0I~sn@WGk-^SmPh5>W+LB<+1PU}AKa?FCWF|qMNELOgdxR{ zbqE7@jVe+FklzdcD$!(A$&}}H*HQFTJ+AOrJYnhh}Yvta(B zQ_bW4Rr;R~&6PAKwgLWXS{Bnln(vUI+~g#kl{r+_zbngT`Y3`^Qf=!PxN4IYX#iW4 zucW7@LLJA9Zh3(rj~&SyN_pjO8H&)|(v%!BnMWySBJV=eSkB3YSTCyIeJ{i;(oc%_hk{$_l;v>nWSB)oVeg+blh=HB5JSlG_r7@P z3q;aFoZjD_qS@zygYqCn=;Zxjo!?NK!%J$ z52lOP`8G3feEj+HTp@Tnn9X~nG=;tS+z}u{mQX_J0kxtr)O30YD%oo)L@wy`jpQYM z@M>Me=95k1p*FW~rHiV1CIfVc{K8r|#Kt(ApkXKsDG$_>76UGNhHExFCw#Ky9*B-z zNq2ga*xax!HMf_|Vp-86r{;~YgQKqu7%szk8$hpvi_2I`OVbG1doP(`gn}=W<8%Gn z%81#&WjkH4GV;4u43EtSW>K_Ta3Zj!XF?;SO3V#q=<=>Tc^@?A`i;&`-cYj|;^ zEo#Jl5zSr~_V-4}y8pnufXLa80vZY4z2ko7fj>DR)#z=wWuS1$$W!L?(y}YC+yQ|G z@L&`2upy3f>~*IquAjkVNU>}c10(fq#HdbK$~Q3l6|=@-eBbo>B9(6xV`*)sae58*f zym~RRVx;xoCG3`JV`xo z!lFw)=t2Hy)e!IFs?0~7osWk(d%^wxq&>_XD4+U#y&-VF%4z?XH^i4w`TxpF{`XhZ z%G}iEzf!T(l>g;W9<~K+)$g!{UvhW{E0Lis(S^%I8OF&%kr!gJ&fMOpM=&=Aj@wuL zBX?*6i51Qb$uhkwkFYkaD_UDE+)rh1c;(&Y=B$3)J&iJfQSx!1NGgPtK!$c9OtJuu zX(pV$bfuJpRR|K(dp@^j}i&HeJOh@|7lWo8^$*o~Xqo z5Sb+!EtJ&e@6F+h&+_1ETbg7LfP5GZjvIUIN3ibCOldAv z)>YdO|NH$x7AC8dr=<2ekiY1%fN*r~e5h6Yaw<{XIErujKV~tiyrvV_DV0AzEknC- zR^xKM3i<1UkvqBj3C{wDvytOd+YtDSGu!gEMg+!&|8BQrT*|p)(dwQLEy+ zMtMzij3zo40)CA!BKZF~yWg?#lWhqD3@qR)gh~D{uZaJO;{OWV8XZ_)J@r3=)T|kt zUS1pXr6-`!Z}w2QR7nP%d?ecf90;K_7C3d!UZ`N(TZoWNN^Q~RjVhQG{Y<%E1PpV^4 z-m-K+$A~-+VDABs^Q@U*)YvhY4Znn2^w>732H?NRK(5QSS$V@D7yz2BVX4)f5A04~$WbxGOam22>t&uD)JB8-~yiQW6ik;FGblY_I>SvB_z2?PS z*Qm&qbKI{H1V@YGWzpx`!v)WeLT02};JJo*#f$a*FH?IIad-^(;9XC#YTWN6;Z6+S zm4O1KH=#V@FJw7Pha0!9Vb%ZIM$)a`VRMoiN&C|$YA3~ZC*8ayZRY^fyuP6$n%2IU z$#XceYZeqLTXw(m$_z|33I$B4k~NZO>pP6)H_}R{E$i%USGy{l{-jOE;%CloYPEU+ zRFxOn4;7lIOh!7abb23YKD+_-?O z0FP9otcAh+oSj;=f#$&*ExUHpd&e#bSF%#8*&ItcL2H$Sa)?pt0Xtf+t)z$_u^wZi z44oE}r4kIZGy3!Mc8q$B&6JqtnHZ>Znn!Zh@6rgIu|yU+zG8q`q9%B18|T|oN3zMq z`l&D;U!OL~%>vo&q0>Y==~zLiCZk4v%s_7!9DxQ~id1LLE93gf*gg&2$|hB#j8;?3 z5v4S;oM6rT{Y;I+#FdmNw z){d%tNM<<#GN%n9ox7B=3#;u7unZ~tLB_vRZ52a&2=IM)2VkXm=L+Iqq~uk#Dug|x z>S84e+A7EiOY5lj*!q?6HDkNh~0g;0Jy(al!ZHHDtur9T$y-~)94HelX1NHjXWIM7UAe}$?jiz z9?P4`I0JM=G5K{3_%2jPLC^_Mlw?-kYYgb7`qGa3@dn|^1fRMwiyM@Ch z;CB&o7&&?c5e>h`IM;Wnha0QKnEp=$hA8TJgR-07N~U5(>9vJzeoFsSRBkDq=x(YgEMpb=l4TDD`2 zwVJpWGTA_u7}?ecW7s6%rUs&NXD3+n;jB86`X?8(l3MBo6)PdakI6V6a}22{)8ilT zM~T*mU}__xSy|6XSrJ^%lDAR3Lft%+yxC|ZUvSO_nqMX!_ul3;R#*{~4DA=h$bP)%8Yv9X zyp><|e8=_ttI}ZAwOd#dlnSjck#6%273{E$kJuCGu=I@O)&6ID{nWF5@gLb16sj|&Sb~+du4e4O_%_o`Ix4NRrAsyr1_}MuP94s>de8cH-OUkVPk3+K z&jW)It9QiU-ti~AuJkL`XMca8Oh4$SyJ=`-5WU<{cIh+XVH#e4d&zive_UHC!pN>W z3TB;Mn5i)9Qn)#6@lo4QpI3jFYc0~+jS)4AFz8fVC;lD^+idw^S~Qhq>Tg(!3$yLD zzktzoFrU@6s4wwCMz}edpF5i5Q1IMmEJQHzp(LAt)pgN3&O!&d?3W@6U4)I^2V{;- z6A(?zd93hS*uQmnh4T)nHnE{wVhh(=MMD(h(P4+^p83Om6t<*cUW>l(qJzr%5vp@K zN27ka(L{JX=1~e2^)F^i=TYj&;<7jyUUR2Bek^A8+3Up*&Xwc{)1nRR5CT8vG>ExV zHnF3UqXJOAno_?bnhCX-&kwI~Ti8t4`n0%Up>!U`ZvK^w2+0Cs-b9%w%4`$+To|k= zKtgc&l}P`*8IS>8DOe?EB84^kx4BQp3<7P{Pq}&p%xF_81pg!l2|u=&I{AuUgmF5n zJQCTLv}%}xbFGYtKfbba{CBo)lWW%Z>i(_NvLhoQZ*5-@2l&x>e+I~0Nld3UI9tdL zRzu8}i;X!h8LHVvN?C+|M81e>Jr38%&*9LYQec9Ax>?NN+9(_>XSRv&6hlCYB`>Qm z1&ygi{Y()OU4@D_jd_-7vDILR{>o|7-k)Sjdxkjgvi{@S>6GqiF|o`*Otr;P)kLHN zZkpts;0zw_6;?f(@4S1FN=m!4^mv~W+lJA`&7RH%2$)49z0A+8@0BCHtj|yH--AEL z0tW6G%X-+J+5a{5*WKaM0QDznf;V?L5&uQw+yegDNDP`hA;0XPYc6e0;Xv6|i|^F2WB)Z$LR|HR4 zTQsRAby9(^Z@yATyOgcfQw7cKyr^3Tz7lc7+JEwwzA7)|2x+PtEb>nD(tpxJQm)Kn zW9K_*r!L%~N*vS8<5T=iv|o!zTe9k_2jC_j*7ik^M_ zaf%k{WX{-;0*`t`G!&`eW;gChVXnJ-Rn)To8vW-?>>a%QU1v`ZC=U)f8iA@%JG0mZ zDqH;~mgBnrCP~1II<=V9;EBL)J+xzCoiRBaeH&J6rL!{4zIY8tZka?_FBeQeNO3q6 zyG_alW54Ba&wQf{&F1v-r1R6ID)PTsqjIBc+5MHkcW5Fnvi~{-FjKe)t1bl}Y;z@< z=!%zvpRua>>t_x}^}z0<7MI!H2v6|XAyR9!t50q-A)xk0nflgF4*OQlCGK==4S|wc zRMsSscNhRzHMBU8TdcHN!q^I}x0iXJ%uehac|Zs_B$p@CnF)HeXPpB_Za}F{<@6-4 zl%kml@}kHQ(ypD8FsPJ2=14xXJE|b20RUIgs!2|R3>LUMGF6X*B_I|$`Qg=;zm7C z{mEDy9dTmPbued7mlO@phdmAmJ7p@GR1bjCkMw6*G7#4+`k>fk1czdJUB!e@Q(~6# zwo%@p@V5RL0ABU2LH7Asq^quDUho@H>eTZH9f*no9fY0T zD_-9px3e}A!>>kv5wk91%C9R1J_Nh!*&Kk$J3KNxC}c_@zlgpJZ+5L)Nw|^p=2ue}CJtm;uj*Iqr)K})kA$xtNUEvX;4!Px*^&9T_`IN{D z{6~QY=Nau6EzpvufB^hflc#XIsSq0Y9(nf$d~6ZwK}fal92)fr%T3=q{0mP-EyP_G z)UR5h@IX}3Qll2b0oCAcBF>b*@Etu*aTLPU<%C>KoOrk=x?pN!#f_Og-w+;xbFgjQ zXp`et%lDBBh~OcFnMKMUoox0YwBNy`N0q~bSPh@+enQ=4RUw1) zpovN`QoV>vZ#5LvC;cl|6jPr}O5tu!Ipoyib8iXqy}TeJ;4+_7r<1kV0v5?Kv>fYp zg>9L`;XwXa&W7-jf|9~uP2iyF5`5AJ`Q~p4eBU$MCC00`rcSF>`&0fbd^_eqR+}mK z4n*PMMa&FOcc)vTUR zlDUAn-mh`ahi_`f`=39JYTNVjsTa_Y3b1GOIi)6dY)D}xeshB0T8Eov5%UhWd1)u}kjEQ|LDo{tqKKrYIfVz~@dp!! zMOnah@vp)%_-jDTUG09l+;{CkDCH|Q{NqX*uHa1YxFShy*1+;J`gywKaz|2Q{lG8x zP?KBur`}r`!WLKXY_K;C8$EWG>jY3UIh{+BLv0=2)KH%P}6xE2kg)%(-uA6lC?u8}{K(#P*c zE9C8t*u%j2r_{;Rpe1A{9nNXU;b_N0vNgyK!EZVut~}+R2rcbsHilqsOviYh-pYX= zHw@53nlmwYI5W5KP>&`dBZe0Jn?nAdC^HY1wlR6$u^PbpB#AS&5L6zqrXN&7*N2Q` z+Rae1EwS)H=aVSIkr8Ek^1jy2iS2o7mqm~Mr&g5=jjt7VxwglQ^`h#Mx+x2v|9ZAwE$i_9918MjJxTMr?n!bZ6n$}y11u8I9COTU`Z$Fi z!AeAQLMw^gp_{+0QTEJrhL424pVDp%wpku~XRlD3iv{vQ!lAf!_jyqd_h}+Tr1XG| z`*FT*NbPqvHCUsYAkFnM`@l4u_QH&bszpUK#M~XLJt{%?00GXY?u_{gj3Hvs!=N(I z(=AuWPijyoU!r?aFTsa8pLB&cx}$*%;K$e*XqF{~*rA-qn)h^!(-;e}O#B$|S~c+U zN4vyOK0vmtx$5K!?g*+J@G1NmlEI=pyZXZ69tAv=@`t%ag_Hk{LP~OH9iE)I= zaJ69b4kuCkV0V zo(M0#>phpQ_)@j;h%m{-a*LGi(72TP)ws2w*@4|C-3+;=5DmC4s7Lp95%n%@Ko zfdr3-a7m*dys9iIci$A=4NPJ`HfJ;hujLgU)ZRuJI`n;Pw|yksu!#LQnJ#dJysgNb z@@qwR^wrk(jbq4H?d!lNyy72~Dnn87KxsgQ!)|*m(DRM+eC$wh7KnS-mho3|KE)7h zK3k;qZ;K1Lj6uEXLYUYi)1FN}F@-xJ z@@3Hb84sl|j{4$3J}aTY@cbX@pzB_qM~APljrjju6P0tY{C@ zpUCOz_NFmALMv1*blCcwUD3?U6tYs+N%cmJ98D%3)%)Xu^uvzF zS5O!sc#X6?EwsYkvPo6A%O8&y8sCCQH<%f2togVwW&{M;PR!a(ZT_A+jVAbf{@5kL zB@Z(hb$3U{T_}SKA_CoQVU-;j>2J=L#lZ~aQCFg-d<9rzs$_gO&d5N6eFSc z1ml8)P*FSi+k@!^M9nDWR5e@ATD8oxtDu=36Iv2!;dZzidIS(PCtEuXAtlBb1;H%Z zwnC^Ek*D)EX4#Q>R$$WA2sxC_t(!!6Tr?C#@{3}n{<^o;9id1RA&-Pig1e-2B1XpG zliNjgmd3c&%A}s>qf{_j#!Z`fu0xIwm4L0)OF=u(OEmp;bLCIaZX$&J_^Z%4Sq4GZ zPn6sV_#+6pJmDN_lx@1;Zw6Md_p0w9h6mHtzpuIEwNn>OnuRSC2=>fP^Hqgc)xu^4 z<3!s`cORHJh#?!nKI`Et7{3C27+EuH)Gw1f)aoP|B3y?fuVfvpYYmmukx0ya-)TQX zR{ggy5cNf4X|g)nl#jC9p>7|09_S7>1D2GTRBUTW zAkQ=JMRogZqG#v;^=11O6@rPPwvJkr{bW-Qg8`q8GoD#K`&Y+S#%&B>SGRL>;ZunM@49!}Uy zN|bBCJ%sO;@3wl0>0gbl3L@1^O60ONObz8ZI7nder>(udj-jt`;yj^nTQ$L9`OU9W zX4alF#$|GiR47%x@s&LV>2Sz2R6?;2R~5k6V>)nz!o_*1Y!$p>BC5&?hJg_MiE6UBy>RkVZj`9UWbRkN-Hk!S`=BS3t3uyX6)7SF#)71*}`~Ogz z1rap5H6~dhBJ83;q-Y<5V35C2&F^JI-it(=5D#v!fAi9p#UwV~2tZQI+W(Dv?1t9? zfh*xpxxO{-(VGB>!Q&0%^YW_F!@aZS#ucP|YaD#>wd1Fv&Z*SR&mc;asi}1G) z_H>`!akh-Zxq9#io(7%;a$)w+{QH)Y$?UK1Dt^4)up!Szcxnu}kn$0afcfJL#IL+S z5gF_Y30j;{lNrG6m~$Ay?)*V9fZuU@3=kd40=LhazjFrau>(Y>SJNtOz>8x_X-BlA zIpl{i>OarVGj1v(4?^1`R}aQB&WCRQzS~;7R{tDZG=HhgrW@B`W|#cdyj%YBky)P= zpxuOZkW>S6%q7U{VsB#G(^FMsH5QuGXhb(sY+!-R8Bmv6Sx3WzSW<1MPPN1!&PurYky(@`bP9tz z52}LH9Q?+FF5jR6-;|+GVdRA!qtd;}*-h&iIw3Tq3qF9sDIb1FFxGbo&fbG5n8$3F zyY&PWL{ys^dTO}oZ#@sIX^BKW*bon=;te9j5k+T%wJ zNJtoN1~YVj4~YRrlZl)b&kJqp+Z`DqT!la$x&&IxgOQw#yZd-nBP3!7FijBXD|IsU8Zl^ zc6?MKpJQ+7ka|tZQLfchD$PD|;K(9FiLE|eUZX#EZxhG!S-63C$jWX1Yd!6-Yxi-u zjULIr|0-Q%D9jz}IF~S%>0(jOqZ(Ln<$9PxiySr&2Oic7vb<8q=46)Ln%Z|<*z5&> z3f~Zw@m;vR(bESB<=Jqkxn(=#hQw42l(7)h`vMQQTttz9XW6^|^8EK7qhju4r_c*b zJIi`)MB$w@9epwdIfnEBR+?~);yd6C(LeMC& zn&&N*?-g&BBJcV;8&UoZi4Lmxcj16ojlxR~zMrf=O_^i1wGb9X-0@6_rpjPYemIin zmJb+;lHe;Yp=8G)Q(L1bzH*}I>}uAqhj4;g)PlvD9_e_ScR{Ipq|$8NvAvLD8MYr}xl=bU~)f%B3E>r3Bu9_t|ThF3C5~BdOve zEbk^r&r#PT&?^V1cb{72yEWH}TXEE}w>t!cY~rA+hNOTK8FAtIEoszp!qqptS&;r$ zaYV-NX96-h$6aR@1xz6_E0^N49mU)-v#bwtGJm)ibygzJ8!7|WIrcb`$XH~^!a#s& z{Db-0IOTFq#9!^j!n_F}#Z_nX{YzBK8XLPVmc&X`fT7!@$U-@2KM9soGbmOSAmqV z{nr$L^MBo_u^Joyf0E^=eo{Rt0{{e$IFA(#*kP@SQd6lWT2-#>` zP1)7_@IO!9lk>Zt?#CU?cuhiLF&)+XEM9B)cS(gvQT!X3`wL*{fArTS;Ak`J<84du zALKPz4}3nlG8Fo^MH0L|oK2-4xIY!~Oux~1sw!+It)&D3p;+N8AgqKI`ld6v71wy8I!eP0o~=RVcFQR2Gr(eP_JbSytoQ$Yt}l*4r@A8Me94y z8cTDWhqlq^qoAhbOzGBXv^Wa4vUz$(7B!mX`T=x_ueKRRDfg&Uc-e1+z4x$jyW_Pm zp?U;-R#xt^Z8Ev~`m`iL4*c#65Nn)q#=Y0l1AuD&+{|8-Gsij3LUZXpM0Bx0u7WWm zH|%yE@-#XEph2}-$-thl+S;__ciBxSSzHveP%~v}5I%u!z_l_KoW{KRx2=eB33umE zIYFtu^5=wGU`Jab8#}cnYry@9p5UE#U|VVvx_4l49JQ;jQdp(uw=$^A$EA$LM%vmE zvdEOaIcp5qX8wX{mYf0;#51~imYYPn4=k&#DsKTxo{_Mg*;S495?OBY?#gv=edYC* z^O@-sd-qa+U24xvcbL0@C7_6o!$`)sVr-jSJE4XQUQ$?L7}2(}Eixqv;L8AdJAVqc zq}RPgpnDb@E_;?6K58r3h4-!4rT4Ab#rLHLX?eMOfluJk=3i1@Gt1i#iA=O`M0@x! z(HtJP9BMHXEzuD93m|B&woj0g6T?f#^)>J>|I4C5?Gam>n9!8CT%~aT;=oco5d6U8 zMXl(=W;$ND_8+DD*?|5bJ!;8ebESXMUKBAf7YBwNVJibGaJ*(2G`F%wx)grqVPjudiaq^Kl&g$8A2 zWMxMr@_$c}d+;_B`#kUX-t|4VKH&_f^^EP0&=DPLW)H)UzBG%%Tra*5 z%$kyZe3I&S#gfie^z5)!twG={3Cuh)FdeA!Kj<-9** zvT*5%Tb`|QbE!iW-XcOuy39>D3oe6x{>&<#E$o8Ac|j)wq#kQzz|ATd=Z0K!p2$QE zPu?jL8Lb^y3_CQE{*}sTDe!2!dtlFjq&YLY@2#4>XS`}v#PLrpvc4*@q^O{mmnr5D zmyJq~t?8>FWU5vZdE(%4cuZuao0GNjp3~Dt*SLaxI#g_u>hu@k&9Ho*#CZP~lFJHj z(e!SYlLigyc?&5-YxlE{uuk$9b&l6d`uIlpg_z15dPo*iU&|Khx2*A5Fp;8iK_bdP z?T6|^7@lcx2j0T@x>X7|kuuBSB7<^zeY~R~4McconTxA2flHC0_jFxmSTv-~?zVT| zG_|yDqa9lkF*B6_{j=T>=M8r<0s;@z#h)3BQ4NLl@`Xr__o7;~M&dL3J8fP&zLfDfy z);ckcTev{@OUlZ`bCo(-3? z1u1xD`PKgSg?RqeVVsF<1SLF;XYA@Bsa&cY!I48ZJn1V<3d!?s=St?TLo zC0cNr`qD*M#s6f~X>SCNVkva^9A2ZP>CoJ9bvgXe_c}WdX-)pHM5m7O zrHt#g$F0AO+nGA;7dSJ?)|Mo~cf{z2L)Rz!`fpi73Zv)H=a5K)*$5sf_IZypi($P5 zsPwUc4~P-J1@^3C6-r9{V-u0Z&Sl7vNfmuMY4yy*cL>_)BmQF!8Om9Dej%cHxbIzA zhtV0d{=%cr?;bpBPjt@4w=#<>k5ee=TiWAXM2~tUGfm z$s&!Dm0R^V$}fOR*B^kGaipi~rx~A2cS0;t&khV1a4u38*XRUP~f za!rZMtay8bsLt6yFYl@>-y^31(*P!L^^s@mslZy(SMsv9bVoX`O#yBgEcjCmGpyc* zeH$Dw6vB5P*;jor+JOX@;6K#+xc)Z9B8M=x2a@Wx-{snPGpRmOC$zpsqW*JCh@M2Y z#K+M(>=#d^>Of9C`))h<=Bsy)6zaMJ&x-t%&+UcpLjV`jo4R2025 zXaG8EA!0lQa)|dx-@{O)qP6`$rhCkoQqZ`^SW8g-kOwrwsK8 z3ms*AIcyj}-1x&A&vSq{r=QMyp3CHdWH35!sad#!Sm>^|-|afB+Q;|Iq@LFgqIp#Z zD1%H+3I?6RGnk&IFo|u+E0dCxXz4yI^1i!QTu7uvIEH>i3rR{srcST`LIRwdV1P;W z+%AN1NIf@xxvVLiSX`8ILA8MzNqE&7>%jMzGt9wm78bo9<;h*W84i29^w!>V>{N+S zd`5Zmz^G;f=icvoOZfK5#1ctx*~UwD=ab4DGQXehQ!XYnak*dee%YN$_ZPL%KZuz$ zD;$PpT;HM^$KwtQm@7uvT`i6>Hae1CoRVM2)NL<2-k2PiX=eAx+-6j#JI?M}(tuBW zkF%jjLR)O`gI2fcPBxF^HeI|DWwQWHVR!;;{BXXHskxh8F@BMDn`oEi-NHt;CLymW z=KSv5)3dyzec0T5B*`g-MQ<;gz=nIWKUi9ko<|4I(-E0k$QncH>E4l z**1w&#={&zv4Tvhgz#c29`m|;lU-jmaXFMC11 z*dlXDMEOG>VoLMc>!rApwOu2prKSi*!w%`yzGmS+k(zm*CsLK*wv{S_0WX^8A-rKy zbk^Gf_92^7iB_uUF)EE+ET4d|X|>d&mdN?x@vxKAQk`O+r4Qdu>XGy(a(19g;=jU} zFX{O*_NG>!$@jh!U369Lnc+D~qch3uT+_Amyi}*k#LAAwh}k8IPK5a-WZ81ufD>l> z$4cF}GSz>ce`3FAic}6W4Z7m9KGO?(eWqi@L|5Hq0@L|&2flN1PVl}XgQ2q*_n2s3 zt5KtowNkTYB5b;SVuoXA@i5irXO)A&%7?V`1@HGCB&)Wgk+l|^XXChq;u(nyPB}b3 zY>m5jkxpZgi)zfbgv&ec4Zqdvm+D<?Im*mXweS9H+V>)zF#Zp3)bhl$PbISY{5=_z!8&*Jv~NYtI-g!>fDs zmvL5O^U%!^VaKA9gvKw|5?-jk>~%CVGvctKmP$kpnpfN{D8@X*Aazi$txfa%vd-|E z>kYmV66W!lNekJPom29LdZ%(I+ZLZYTXzTg*to~m?7vp%{V<~>H+2}PQ?PPAq`36R z<%wR8v6UkS>Wt#hzGk#44W<%9S=nBfB);6clKwnxY}T*w21Qc3_?IJ@4gYzC7s;WP zVQNI(M=S=JT#xsZy7G`cR(BP9*je0bfeN8JN5~zY(DDs0t{LpHOIbN);?T-69Pf3R zSNe*&p2%AwXHL>__g+xd4Hlc_vu<25H?(`nafS%)3UPP7_4;gk-9ckt8SJRTv5v0M z_Hww`qPudL?ajIR&X*;$y-`<)6dxx1U~5eGS13CB!lX;3w7n&lDDiArbAhSycd}+b zya_3p@A`$kQy;|NJZ~s44Hqo7Hwt}X86NK=(ey>lgWTtGL6k@Gy;PbO!M%1~Wcn2k zUFP|*5d>t-X*RU8g%>|(wwj*~#l4z^Aatf^DWd1Wj#Q*AY0D^V@sC`M zjJc6qXu0I7Y*2;;gGu!plAFzG=J;1%eIOdn zQA>J&e05UN*7I5@yRhK|lbBSfJ+5Uq;!&HV@xfPZrgD}kE*1DSq^=%{o%|LChhl#0 zlMb<^a6ixzpd{kNZr|3jTGeEzuo}-eLT-)Q$#b{!vKx8Tg}swCni>{#%vDY$Ww$84 zew3c9BBovqb}_&BRo#^!G(1Eg((BScRZ}C)Oz?y`T5wOrv);)b^4XR8 zhJo7+<^7)qB>I;46!GySzdneZ>n_E1oWZY;kf94#)s)kWjuJN1c+wbVoNQcmnv}{> zN0pF+Sl3E}UQ$}slSZeLJrwT>Sr}#V(dVaezCQl2|4LN`7L7v&siYR|r7M(*JYfR$ zst3=YaDw$FSc{g}KHO&QiKxuhEzF{f%RJLKe3p*7=oo`WNP)M(9X1zIQPP0XHhY3c znrP{$4#Ol$A0s|4S7Gx2L23dv*Gv2o;h((XVn+9+$qvm}s%zi6nI-_s6?mG! zj{DV;qesJb&owKeEK?=J>UcAlYckA7Sl+I&IN=yasrZOkejir*kE@SN`fk<8Fgx*$ zy&fE6?}G)d_N`){P~U@1jRVA|2*69)KSe_}!~?+`Yb{Y=O~_+@!j<&oVQQMnhoIRU zA0CyF1OFfkK44n*JD~!2!SCPM;PRSk%1XL=0&rz00wxPs&-_eapJy#$h!eqY%nS0{ z!aGg58JIJPF3_ci%n)QSVpa2H`vIe$RD43;#IRfDV&Ibit z+?>HW4{2wOfC6Fw)}4x}i1maDxcE1qi@BS*qcxD2gE@h3#4cgU*D-&3z7D|tVZWt= z-Cy2+*Cm@P4GN_TPUtaVyVesbVDazF@)j8VJ4>XZv!f%}&eO1SvIgr}4`A*3#vat< z_MoByL(qW6L7SFZ#|Gc1fFN)L2PxY+{B8tJp+pxRyz*87)vXR}*=&ahXjBlQKguuf zX6x<<6fQulE^C*KH8~W%ptpaC0l?b=_{~*U4?5Vt;dgM4t_{&UZ1C2j?b>b+5}{IF_CUyvz-@QZPMlJ)r_tS$9kH%RPv#2_nMb zRLj5;chJ72*U`Z@Dqt4$@_+k$%|8m(HqLG!qT4P^DdfvGf&){gKnGCX#H0!;W=AGP zbA&Z`-__a)VTS}kKFjWGk z%|>yE?t*EJ!qeQ%dPk$;xIQ+P0;()PCBDgjJm6Buj{f^awNoVx+9<|lg3%-$G(*f) zll6oOkN|yamn1uyl2*N-lnqRI1cvs_JxLTeahEK=THV$Sz*gQhKNb*p0fNoda#-&F zB-qJgW^g}!TtM|0bS2QZekW7_tKu%GcJ!4?lObt0z_$mZ4rbQ0o=^curCs3bJK6sq z9fu-aW-l#>z~ca(B;4yv;2RZ?tGYAU)^)Kz{L|4oPj zdOf_?de|#yS)p2v8-N||+XL=O*%3+y)oI(HbM)Ds?q8~HPzIP(vs*G`iddbWq}! z(2!VjP&{Z1w+%eUq^ '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/gradlew.bat b/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/gradlew.bat deleted file mode 100644 index f127cfd49d4..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/gradlew.bat +++ /dev/null @@ -1,91 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/source_archive.expected b/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/source_archive.expected new file mode 100644 index 00000000000..70b1edf245a --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/source_archive.expected @@ -0,0 +1,26 @@ +.gradle/7.4/dependencies-accessors/gc.properties +.gradle/7.4/gc.properties +.gradle/buildOutputCleanup/cache.properties +.gradle/vcs-1/gc.properties +gradle/wrapper/gradle-wrapper.properties +project/build/generated/source/buildConfig/release/com/github/androidsample/BuildConfig.java +project/build/intermediates/app_metadata/release/app-metadata.properties +project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml +project/build/intermediates/incremental/lintVitalReportRelease/module.xml +project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalReportRelease/release.xml +project/build/intermediates/incremental/mergeReleaseAssets/merger.xml +project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml +project/build/intermediates/incremental/mergeReleaseShaders/merger.xml +project/build/intermediates/incremental/release/mergeReleaseResources/compile-file-map.properties +project/build/intermediates/incremental/release/mergeReleaseResources/merger.xml +project/build/intermediates/merged_manifest/release/AndroidManifest.xml +project/build/intermediates/merged_manifests/release/AndroidManifest.xml +project/build/intermediates/packaged_manifests/release/AndroidManifest.xml +project/src/main/AndroidManifest.xml +project/src/main/java/com/github/androidsample/Main.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/test.expected b/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/test.expected deleted file mode 100644 index 4f191ddaa1a..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/test.expected +++ /dev/null @@ -1,20 +0,0 @@ -#select -| project/build/generated/source/buildConfig/release/com/github/androidsample/BuildConfig.java:0:0:0:0 | BuildConfig | -| project/src/main/java/com/github/androidsample/Main.java:0:0:0:0 | Main | -xmlFiles -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/module.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/release.xml | -| project/build/intermediates/incremental/mergeReleaseAssets/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseAssets/merger.xml | -| project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml | -| project/build/intermediates/incremental/mergeReleaseShaders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseShaders/merger.xml | -| project/build/intermediates/incremental/release/mergeReleaseResources/merger.xml:0:0:0:0 | project/build/intermediates/incremental/release/mergeReleaseResources/merger.xml | -| project/build/intermediates/merged_manifest/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifest/release/AndroidManifest.xml | -| project/build/intermediates/merged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifests/release/AndroidManifest.xml | -| project/build/intermediates/packaged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/packaged_manifests/release/AndroidManifest.xml | -| project/src/main/AndroidManifest.xml:0:0:0:0 | project/src/main/AndroidManifest.xml | diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/test.py b/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/test.py index 7f379da0a07..d3399e414e6 100644 --- a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/test.py +++ b/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/test.py @@ -1,7 +1,2 @@ -import sys - -from create_database_utils import * - -try_use_java11() - -run_codeql_database_create([], lang="java") +def test(codeql, use_java_11, java, gradle_7_4, android_sdk): + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/test.ql b/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-kotlin-build-script/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/force_sequential_test_execution deleted file mode 100644 index 4947fd6fe51..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/force_sequential_test_execution +++ /dev/null @@ -1,4 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. -# Additionally, Android SDK on-demand downloading can fail when multiple tests try to download the same SDK in parallel. diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/source_archive.expected b/java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/source_archive.expected new file mode 100644 index 00000000000..70b1edf245a --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/source_archive.expected @@ -0,0 +1,26 @@ +.gradle/7.4/dependencies-accessors/gc.properties +.gradle/7.4/gc.properties +.gradle/buildOutputCleanup/cache.properties +.gradle/vcs-1/gc.properties +gradle/wrapper/gradle-wrapper.properties +project/build/generated/source/buildConfig/release/com/github/androidsample/BuildConfig.java +project/build/intermediates/app_metadata/release/app-metadata.properties +project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml +project/build/intermediates/incremental/lintVitalReportRelease/module.xml +project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalReportRelease/release.xml +project/build/intermediates/incremental/mergeReleaseAssets/merger.xml +project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml +project/build/intermediates/incremental/mergeReleaseShaders/merger.xml +project/build/intermediates/incremental/release/mergeReleaseResources/compile-file-map.properties +project/build/intermediates/incremental/release/mergeReleaseResources/merger.xml +project/build/intermediates/merged_manifest/release/AndroidManifest.xml +project/build/intermediates/merged_manifests/release/AndroidManifest.xml +project/build/intermediates/packaged_manifests/release/AndroidManifest.xml +project/src/main/AndroidManifest.xml +project/src/main/java/com/github/androidsample/Main.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/test.expected b/java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/test.expected deleted file mode 100644 index 4f191ddaa1a..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/test.expected +++ /dev/null @@ -1,20 +0,0 @@ -#select -| project/build/generated/source/buildConfig/release/com/github/androidsample/BuildConfig.java:0:0:0:0 | BuildConfig | -| project/src/main/java/com/github/androidsample/Main.java:0:0:0:0 | Main | -xmlFiles -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/module.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/release.xml | -| project/build/intermediates/incremental/mergeReleaseAssets/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseAssets/merger.xml | -| project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml | -| project/build/intermediates/incremental/mergeReleaseShaders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseShaders/merger.xml | -| project/build/intermediates/incremental/release/mergeReleaseResources/merger.xml:0:0:0:0 | project/build/intermediates/incremental/release/mergeReleaseResources/merger.xml | -| project/build/intermediates/merged_manifest/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifest/release/AndroidManifest.xml | -| project/build/intermediates/merged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifests/release/AndroidManifest.xml | -| project/build/intermediates/packaged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/packaged_manifests/release/AndroidManifest.xml | -| project/src/main/AndroidManifest.xml:0:0:0:0 | project/src/main/AndroidManifest.xml | diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/test.py b/java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/test.py index 7f379da0a07..e3a791a59f3 100644 --- a/java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/test.py +++ b/java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/test.py @@ -1,7 +1,2 @@ -import sys - -from create_database_utils import * - -try_use_java11() - -run_codeql_database_create([], lang="java") +def test(codeql, use_java_11, java, android_sdk): + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/test.ql b/java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-no-wrapper/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/force_sequential_test_execution deleted file mode 100644 index 4947fd6fe51..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/force_sequential_test_execution +++ /dev/null @@ -1,4 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. -# Additionally, Android SDK on-demand downloading can fail when multiple tests try to download the same SDK in parallel. diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/source_archive.expected b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/source_archive.expected new file mode 100644 index 00000000000..a8f354b9e17 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/source_archive.expected @@ -0,0 +1,29 @@ +.gradle/7.0.2/dependencies-accessors/gc.properties +.gradle/7.0.2/gc.properties +.gradle/buildOutputCleanup/cache.properties +.gradle/vcs-1/gc.properties +gradle/wrapper/gradle-wrapper.properties +project/build/generated/source/buildConfig/release/com/github/androidsample/BuildConfig.java +project/build/intermediates/app_metadata/release/app-metadata.properties +project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml +project/build/intermediates/incremental/lintVitalRelease/module.xml +project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalRelease/release.xml +project/build/intermediates/incremental/mergeReleaseAssets/merger.xml +project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml +project/build/intermediates/incremental/mergeReleaseResources/compile-file-map.properties +project/build/intermediates/incremental/mergeReleaseResources/merger.xml +project/build/intermediates/incremental/mergeReleaseShaders/merger.xml +project/build/intermediates/lint_vital_partial_results/release/out/lint-issues-release.xml +project/build/intermediates/merged_manifest/release/AndroidManifest.xml +project/build/intermediates/merged_manifests/release/AndroidManifest.xml +project/build/intermediates/packaged_manifests/release/AndroidManifest.xml +project/src/main/AndroidManifest.xml +project/src/main/java/com/github/androidsample/Main.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/test.expected b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/test.expected deleted file mode 100644 index f49910c2646..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/test.expected +++ /dev/null @@ -1,23 +0,0 @@ -#select -| project/build/generated/source/buildConfig/release/com/github/androidsample/BuildConfig.java:0:0:0:0 | BuildConfig | -| project/src/main/java/com/github/androidsample/Main.java:0:0:0:0 | Main | -xmlFiles -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml | -| project/build/intermediates/incremental/lintVitalRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalRelease/module.xml | -| project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalRelease/release.xml | -| project/build/intermediates/incremental/mergeReleaseAssets/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseAssets/merger.xml | -| project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml | -| project/build/intermediates/incremental/mergeReleaseResources/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseResources/merger.xml | -| project/build/intermediates/incremental/mergeReleaseShaders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseShaders/merger.xml | -| project/build/intermediates/lint_vital_partial_results/release/out/lint-issues-release.xml:0:0:0:0 | project/build/intermediates/lint_vital_partial_results/release/out/lint-issues-release.xml | -| project/build/intermediates/merged_manifest/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifest/release/AndroidManifest.xml | -| project/build/intermediates/merged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifests/release/AndroidManifest.xml | -| project/build/intermediates/packaged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/packaged_manifests/release/AndroidManifest.xml | -| project/src/main/AndroidManifest.xml:0:0:0:0 | project/src/main/AndroidManifest.xml | diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/test.py b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/test.py index 36702f6bb24..ca4ae04350f 100644 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/test.py +++ b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/test.py @@ -1,8 +1,2 @@ -from create_database_utils import * -from toolchains_test_utils import * - -try_use_java11() - -toolchains_file = actions_expose_all_toolchains() - -run_codeql_database_create([], lang="java", extra_env={"LGTM_INDEX_MAVEN_TOOLCHAINS_FILE": toolchains_file}) +def test(codeql, use_java_11, java, android_sdk, actions_toolchains_file): + codeql.database.create(_env={"LGTM_INDEX_MAVEN_TOOLCHAINS_FILE": str(actions_toolchains_file)}) diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/test.ql b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script-no-wrapper/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/force_sequential_test_execution deleted file mode 100644 index 4947fd6fe51..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/force_sequential_test_execution +++ /dev/null @@ -1,4 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. -# Additionally, Android SDK on-demand downloading can fail when multiple tests try to download the same SDK in parallel. diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/gradle/wrapper/gradle-wrapper.jar b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 249e5832f090a2944b7473328c07c9755baa3196..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60756 zcmb5WV{~QRw(p$^Dz@00IL3?^hro$gg*4VI_WAaTyVM5Foj~O|-84 z$;06hMwt*rV;^8iB z1~&0XWpYJmG?Ts^K9PC62H*`G}xom%S%yq|xvG~FIfP=9*f zZoDRJBm*Y0aId=qJ?7dyb)6)JGWGwe)MHeNSzhi)Ko6J<-m@v=a%NsP537lHe0R* z`If4$aaBA#S=w!2z&m>{lpTy^Lm^mg*3?M&7HFv}7K6x*cukLIGX;bQG|QWdn{%_6 zHnwBKr84#B7Z+AnBXa16a?or^R?+>$4`}{*a_>IhbjvyTtWkHw)|ay)ahWUd-qq$~ zMbh6roVsj;_qnC-R{G+Cy6bApVOinSU-;(DxUEl!i2)1EeQ9`hrfqj(nKI7?Z>Xur zoJz-a`PxkYit1HEbv|jy%~DO^13J-ut986EEG=66S}D3!L}Efp;Bez~7tNq{QsUMm zh9~(HYg1pA*=37C0}n4g&bFbQ+?-h-W}onYeE{q;cIy%eZK9wZjSwGvT+&Cgv z?~{9p(;bY_1+k|wkt_|N!@J~aoY@|U_RGoWX<;p{Nu*D*&_phw`8jYkMNpRTWx1H* z>J-Mi_!`M468#5Aix$$u1M@rJEIOc?k^QBc?T(#=n&*5eS#u*Y)?L8Ha$9wRWdH^3D4|Ps)Y?m0q~SiKiSfEkJ!=^`lJ(%W3o|CZ zSrZL-Xxc{OrmsQD&s~zPfNJOpSZUl%V8tdG%ei}lQkM+z@-4etFPR>GOH9+Y_F<3=~SXln9Kb-o~f>2a6Xz@AS3cn^;c_>lUwlK(n>z?A>NbC z`Ud8^aQy>wy=$)w;JZzA)_*Y$Z5hU=KAG&htLw1Uh00yE!|Nu{EZkch zY9O6x7Y??>!7pUNME*d!=R#s)ghr|R#41l!c?~=3CS8&zr6*aA7n9*)*PWBV2w+&I zpW1-9fr3j{VTcls1>ua}F*bbju_Xq%^v;-W~paSqlf zolj*dt`BBjHI)H9{zrkBo=B%>8}4jeBO~kWqO!~Thi!I1H(in=n^fS%nuL=X2+s!p}HfTU#NBGiwEBF^^tKU zbhhv+0dE-sbK$>J#t-J!B$TMgN@Wh5wTtK2BG}4BGfsZOoRUS#G8Cxv|6EI*n&Xxq zt{&OxCC+BNqz$9b0WM7_PyBJEVObHFh%%`~!@MNZlo*oXDCwDcFwT~Rls!aApL<)^ zbBftGKKBRhB!{?fX@l2_y~%ygNFfF(XJzHh#?`WlSL{1lKT*gJM zs>bd^H9NCxqxn(IOky5k-wALFowQr(gw%|`0991u#9jXQh?4l|l>pd6a&rx|v=fPJ z1mutj{YzpJ_gsClbWFk(G}bSlFi-6@mwoQh-XeD*j@~huW4(8ub%^I|azA)h2t#yG z7e_V_<4jlM3D(I+qX}yEtqj)cpzN*oCdYHa!nm%0t^wHm)EmFP*|FMw!tb@&`G-u~ zK)=Sf6z+BiTAI}}i{*_Ac$ffr*Wrv$F7_0gJkjx;@)XjYSh`RjAgrCck`x!zP>Ifu z&%he4P|S)H*(9oB4uvH67^0}I-_ye_!w)u3v2+EY>eD3#8QR24<;7?*hj8k~rS)~7 zSXs5ww)T(0eHSp$hEIBnW|Iun<_i`}VE0Nc$|-R}wlSIs5pV{g_Dar(Zz<4X3`W?K z6&CAIl4U(Qk-tTcK{|zYF6QG5ArrEB!;5s?tW7 zrE3hcFY&k)+)e{+YOJ0X2uDE_hd2{|m_dC}kgEKqiE9Q^A-+>2UonB+L@v3$9?AYw zVQv?X*pK;X4Ovc6Ev5Gbg{{Eu*7{N3#0@9oMI~}KnObQE#Y{&3mM4`w%wN+xrKYgD zB-ay0Q}m{QI;iY`s1Z^NqIkjrTlf`B)B#MajZ#9u41oRBC1oM1vq0i|F59> z#StM@bHt|#`2)cpl_rWB($DNJ3Lap}QM-+A$3pe}NyP(@+i1>o^fe-oxX#Bt`mcQc zb?pD4W%#ep|3%CHAYnr*^M6Czg>~L4?l16H1OozM{P*en298b+`i4$|w$|4AHbzqB zHpYUsHZET$Z0ztC;U+0*+amF!@PI%^oUIZy{`L{%O^i{Xk}X0&nl)n~tVEpcAJSJ} zverw15zP1P-O8h9nd!&hj$zuwjg?DoxYIw{jWM zW5_pj+wFy8Tsa9g<7Qa21WaV&;ejoYflRKcz?#fSH_)@*QVlN2l4(QNk| z4aPnv&mrS&0|6NHq05XQw$J^RR9T{3SOcMKCXIR1iSf+xJ0E_Wv?jEc*I#ZPzyJN2 zUG0UOXHl+PikM*&g$U@g+KbG-RY>uaIl&DEtw_Q=FYq?etc!;hEC_}UX{eyh%dw2V zTTSlap&5>PY{6I#(6`j-9`D&I#|YPP8a;(sOzgeKDWsLa!i-$frD>zr-oid!Hf&yS z!i^cr&7tN}OOGmX2)`8k?Tn!!4=tz~3hCTq_9CdiV!NIblUDxHh(FJ$zs)B2(t5@u z-`^RA1ShrLCkg0)OhfoM;4Z{&oZmAec$qV@ zGQ(7(!CBk<5;Ar%DLJ0p0!ResC#U<+3i<|vib1?{5gCebG7$F7URKZXuX-2WgF>YJ^i zMhHDBsh9PDU8dlZ$yJKtc6JA#y!y$57%sE>4Nt+wF1lfNIWyA`=hF=9Gj%sRwi@vd z%2eVV3y&dvAgyuJ=eNJR+*080dbO_t@BFJO<@&#yqTK&+xc|FRR;p;KVk@J3$S{p` zGaMj6isho#%m)?pOG^G0mzOAw0z?!AEMsv=0T>WWcE>??WS=fII$t$(^PDPMU(P>o z_*0s^W#|x)%tx8jIgZY~A2yG;US0m2ZOQt6yJqW@XNY_>_R7(Nxb8Ged6BdYW6{prd!|zuX$@Q2o6Ona8zzYC1u!+2!Y$Jc9a;wy+pXt}o6~Bu1oF1c zp7Y|SBTNi@=I(K%A60PMjM#sfH$y*c{xUgeSpi#HB`?|`!Tb&-qJ3;vxS!TIzuTZs-&%#bAkAyw9m4PJgvey zM5?up*b}eDEY+#@tKec)-c(#QF0P?MRlD1+7%Yk*jW;)`f;0a-ZJ6CQA?E%>i2Dt7T9?s|9ZF|KP4;CNWvaVKZ+Qeut;Jith_y{v*Ny6Co6!8MZx;Wgo z=qAi%&S;8J{iyD&>3CLCQdTX*$+Rx1AwA*D_J^0>suTgBMBb=*hefV+Ars#mmr+YsI3#!F@Xc1t4F-gB@6aoyT+5O(qMz*zG<9Qq*f0w^V!03rpr*-WLH}; zfM{xSPJeu6D(%8HU%0GEa%waFHE$G?FH^kMS-&I3)ycx|iv{T6Wx}9$$D&6{%1N_8 z_CLw)_9+O4&u94##vI9b-HHm_95m)fa??q07`DniVjAy`t7;)4NpeyAY(aAk(+T_O z1om+b5K2g_B&b2DCTK<>SE$Ode1DopAi)xaJjU>**AJK3hZrnhEQ9E`2=|HHe<^tv z63e(bn#fMWuz>4erc47}!J>U58%<&N<6AOAewyzNTqi7hJc|X{782&cM zHZYclNbBwU6673=!ClmxMfkC$(CykGR@10F!zN1Se83LR&a~$Ht&>~43OX22mt7tcZUpa;9@q}KDX3O&Ugp6< zLZLfIMO5;pTee1vNyVC$FGxzK2f>0Z-6hM82zKg44nWo|n}$Zk6&;5ry3`(JFEX$q zK&KivAe${e^5ZGc3a9hOt|!UOE&OocpVryE$Y4sPcs4rJ>>Kbi2_subQ9($2VN(3o zb~tEzMsHaBmBtaHAyES+d3A(qURgiskSSwUc9CfJ@99&MKp2sooSYZu+-0t0+L*!I zYagjOlPgx|lep9tiU%ts&McF6b0VE57%E0Ho%2oi?=Ks+5%aj#au^OBwNwhec zta6QAeQI^V!dF1C)>RHAmB`HnxyqWx?td@4sd15zPd*Fc9hpDXP23kbBenBxGeD$k z;%0VBQEJ-C)&dTAw_yW@k0u?IUk*NrkJ)(XEeI z9Y>6Vel>#s_v@=@0<{4A{pl=9cQ&Iah0iD0H`q)7NeCIRz8zx;! z^OO;1+IqoQNak&pV`qKW+K0^Hqp!~gSohcyS)?^P`JNZXw@gc6{A3OLZ?@1Uc^I2v z+X!^R*HCm3{7JPq{8*Tn>5;B|X7n4QQ0Bs79uTU%nbqOJh`nX(BVj!#f;#J+WZxx4 z_yM&1Y`2XzhfqkIMO7tB3raJKQS+H5F%o83bM+hxbQ zeeJm=Dvix$2j|b4?mDacb67v-1^lTp${z=jc1=j~QD>7c*@+1?py>%Kj%Ejp7Y-!? z8iYRUlGVrQPandAaxFfks53@2EC#0)%mrnmGRn&>=$H$S8q|kE_iWko4`^vCS2aWg z#!`RHUGyOt*k?bBYu3*j3u0gB#v(3tsije zgIuNNWNtrOkx@Pzs;A9un+2LX!zw+p3_NX^Sh09HZAf>m8l@O*rXy_82aWT$Q>iyy zqO7Of)D=wcSn!0+467&!Hl))eff=$aneB?R!YykdKW@k^_uR!+Q1tR)+IJb`-6=jj zymzA>Sv4>Z&g&WWu#|~GcP7qP&m*w-S$)7Xr;(duqCTe7p8H3k5>Y-n8438+%^9~K z3r^LIT_K{i7DgEJjIocw_6d0!<;wKT`X;&vv+&msmhAAnIe!OTdybPctzcEzBy88_ zWO{6i4YT%e4^WQZB)KHCvA(0tS zHu_Bg+6Ko%a9~$EjRB90`P(2~6uI@SFibxct{H#o&y40MdiXblu@VFXbhz>Nko;7R z70Ntmm-FePqhb%9gL+7U8@(ch|JfH5Fm)5${8|`Lef>LttM_iww6LW2X61ldBmG0z zax3y)njFe>j*T{i0s8D4=L>X^j0)({R5lMGVS#7(2C9@AxL&C-lZQx~czI7Iv+{%1 z2hEG>RzX4S8x3v#9sgGAnPzptM)g&LB}@%E>fy0vGSa(&q0ch|=ncKjNrK z`jA~jObJhrJ^ri|-)J^HUyeZXz~XkBp$VhcTEcTdc#a2EUOGVX?@mYx#Vy*!qO$Jv zQ4rgOJ~M*o-_Wptam=~krnmG*p^j!JAqoQ%+YsDFW7Cc9M%YPiBOrVcD^RY>m9Pd< zu}#9M?K{+;UIO!D9qOpq9yxUquQRmQNMo0pT`@$pVt=rMvyX)ph(-CCJLvUJy71DI zBk7oc7)-%ngdj~s@76Yse3L^gV0 z2==qfp&Q~L(+%RHP0n}+xH#k(hPRx(!AdBM$JCfJ5*C=K3ts>P?@@SZ_+{U2qFZb>4kZ{Go37{# zSQc+-dq*a-Vy4?taS&{Ht|MLRiS)Sn14JOONyXqPNnpq&2y~)6wEG0oNy>qvod$FF z`9o&?&6uZjhZ4_*5qWVrEfu(>_n2Xi2{@Gz9MZ8!YmjYvIMasE9yVQL10NBrTCczq zcTY1q^PF2l!Eraguf{+PtHV3=2A?Cu&NN&a8V(y;q(^_mFc6)%Yfn&X&~Pq zU1?qCj^LF(EQB1F`8NxNjyV%fde}dEa(Hx=r7$~ts2dzDwyi6ByBAIx$NllB4%K=O z$AHz1<2bTUb>(MCVPpK(E9wlLElo(aSd(Os)^Raum`d(g9Vd_+Bf&V;l=@mM=cC>) z)9b0enb)u_7V!!E_bl>u5nf&Rl|2r=2F3rHMdb7y9E}}F82^$Rf+P8%dKnOeKh1vs zhH^P*4Ydr^$)$h@4KVzxrHyy#cKmWEa9P5DJ|- zG;!Qi35Tp7XNj60=$!S6U#!(${6hyh7d4q=pF{`0t|N^|L^d8pD{O9@tF~W;#Je*P z&ah%W!KOIN;SyAEhAeTafJ4uEL`(RtnovM+cb(O#>xQnk?dzAjG^~4$dFn^<@-Na3 z395;wBnS{t*H;Jef2eE!2}u5Ns{AHj>WYZDgQJt8v%x?9{MXqJsGP|l%OiZqQ1aB! z%E=*Ig`(!tHh>}4_z5IMpg{49UvD*Pp9!pxt_gdAW%sIf3k6CTycOT1McPl=_#0?8 zVjz8Hj*Vy9c5-krd-{BQ{6Xy|P$6LJvMuX$* zA+@I_66_ET5l2&gk9n4$1M3LN8(yEViRx&mtd#LD}AqEs?RW=xKC(OCWH;~>(X6h!uDxXIPH06xh z*`F4cVlbDP`A)-fzf>MuScYsmq&1LUMGaQ3bRm6i7OsJ|%uhTDT zlvZA1M}nz*SalJWNT|`dBm1$xlaA>CCiQ zK`xD-RuEn>-`Z?M{1%@wewf#8?F|(@1e0+T4>nmlSRrNK5f)BJ2H*$q(H>zGD0>eL zQ!tl_Wk)k*e6v^m*{~A;@6+JGeWU-q9>?+L_#UNT%G?4&BnOgvm9@o7l?ov~XL+et zbGT)|G7)KAeqb=wHSPk+J1bdg7N3$vp(ekjI1D9V$G5Cj!=R2w=3*4!z*J-r-cyeb zd(i2KmX!|Lhey!snRw z?#$Gu%S^SQEKt&kep)up#j&9}e+3=JJBS(s>MH+|=R(`8xK{mmndWo_r`-w1#SeRD&YtAJ#GiVI*TkQZ}&aq<+bU2+coU3!jCI6E+Ad_xFW*ghnZ$q zAoF*i&3n1j#?B8x;kjSJD${1jdRB;)R*)Ao!9bd|C7{;iqDo|T&>KSh6*hCD!rwv= zyK#F@2+cv3=|S1Kef(E6Niv8kyLVLX&e=U;{0x{$tDfShqkjUME>f8d(5nzSkY6@! z^-0>DM)wa&%m#UF1F?zR`8Y3X#tA!*7Q$P3lZJ%*KNlrk_uaPkxw~ zxZ1qlE;Zo;nb@!SMazSjM>;34ROOoygo%SF);LL>rRonWwR>bmSd1XD^~sGSu$Gg# zFZ`|yKU0%!v07dz^v(tY%;So(e`o{ZYTX`hm;@b0%8|H>VW`*cr8R%3n|ehw2`(9B+V72`>SY}9^8oh$En80mZK9T4abVG*to;E z1_S6bgDOW?!Oy1LwYy=w3q~KKdbNtyH#d24PFjX)KYMY93{3-mPP-H>@M-_>N~DDu zENh~reh?JBAK=TFN-SfDfT^=+{w4ea2KNWXq2Y<;?(gf(FgVp8Zp-oEjKzB%2Iqj;48GmY3h=bcdYJ}~&4tS`Q1sb=^emaW$IC$|R+r-8V- zf0$gGE(CS_n4s>oicVk)MfvVg#I>iDvf~Ov8bk}sSxluG!6#^Z_zhB&U^`eIi1@j( z^CK$z^stBHtaDDHxn+R;3u+>Lil^}fj?7eaGB z&5nl^STqcaBxI@v>%zG|j))G(rVa4aY=B@^2{TFkW~YP!8!9TG#(-nOf^^X-%m9{Z zCC?iC`G-^RcBSCuk=Z`(FaUUe?hf3{0C>>$?Vs z`2Uud9M+T&KB6o4o9kvdi^Q=Bw!asPdxbe#W-Oaa#_NP(qpyF@bVxv5D5))srkU#m zj_KA+#7sqDn*Ipf!F5Byco4HOSd!Ui$l94|IbW%Ny(s1>f4|Mv^#NfB31N~kya9!k zWCGL-$0ZQztBate^fd>R!hXY_N9ZjYp3V~4_V z#eB)Kjr8yW=+oG)BuNdZG?jaZlw+l_ma8aET(s+-x+=F-t#Qoiuu1i`^x8Sj>b^U} zs^z<()YMFP7CmjUC@M=&lA5W7t&cxTlzJAts*%PBDAPuqcV5o7HEnqjif_7xGt)F% zGx2b4w{@!tE)$p=l3&?Bf#`+!-RLOleeRk3 z7#pF|w@6_sBmn1nECqdunmG^}pr5(ZJQVvAt$6p3H(16~;vO>?sTE`Y+mq5YP&PBo zvq!7#W$Gewy`;%6o^!Dtjz~x)T}Bdk*BS#=EY=ODD&B=V6TD2z^hj1m5^d6s)D*wk zu$z~D7QuZ2b?5`p)E8e2_L38v3WE{V`bVk;6fl#o2`) z99JsWhh?$oVRn@$S#)uK&8DL8>An0&S<%V8hnGD7Z^;Y(%6;^9!7kDQ5bjR_V+~wp zfx4m3z6CWmmZ<8gDGUyg3>t8wgJ5NkkiEm^(sedCicP^&3D%}6LtIUq>mXCAt{9eF zNXL$kGcoUTf_Lhm`t;hD-SE)m=iBnxRU(NyL}f6~1uH)`K!hmYZjLI%H}AmEF5RZt z06$wn63GHnApHXZZJ}s^s)j9(BM6e*7IBK6Bq(!)d~zR#rbxK9NVIlgquoMq z=eGZ9NR!SEqP6=9UQg#@!rtbbSBUM#ynF);zKX+|!Zm}*{H z+j=d?aZ2!?@EL7C~%B?6ouCKLnO$uWn;Y6Xz zX8dSwj732u(o*U3F$F=7xwxm>E-B+SVZH;O-4XPuPkLSt_?S0)lb7EEg)Mglk0#eS z9@jl(OnH4juMxY+*r03VDfPx_IM!Lmc(5hOI;`?d37f>jPP$?9jQQIQU@i4vuG6MagEoJrQ=RD7xt@8E;c zeGV*+Pt+t$@pt!|McETOE$9k=_C!70uhwRS9X#b%ZK z%q(TIUXSS^F0`4Cx?Rk07C6wI4!UVPeI~-fxY6`YH$kABdOuiRtl73MqG|~AzZ@iL&^s?24iS;RK_pdlWkhcF z@Wv-Om(Aealfg)D^adlXh9Nvf~Uf@y;g3Y)i(YP zEXDnb1V}1pJT5ZWyw=1i+0fni9yINurD=EqH^ciOwLUGi)C%Da)tyt=zq2P7pV5-G zR7!oq28-Fgn5pW|nlu^b!S1Z#r7!Wtr{5J5PQ>pd+2P7RSD?>(U7-|Y z7ZQ5lhYIl_IF<9?T9^IPK<(Hp;l5bl5tF9>X-zG14_7PfsA>6<$~A338iYRT{a@r_ zuXBaT=`T5x3=s&3=RYx6NgG>No4?5KFBVjE(swfcivcIpPQFx5l+O;fiGsOrl5teR z_Cm+;PW}O0Dwe_(4Z@XZ)O0W-v2X><&L*<~*q3dg;bQW3g7)a#3KiQP>+qj|qo*Hk z?57>f2?f@`=Fj^nkDKeRkN2d$Z@2eNKpHo}ksj-$`QKb6n?*$^*%Fb3_Kbf1(*W9K>{L$mud2WHJ=j0^=g30Xhg8$#g^?36`p1fm;;1@0Lrx+8t`?vN0ZorM zSW?rhjCE8$C|@p^sXdx z|NOHHg+fL;HIlqyLp~SSdIF`TnSHehNCU9t89yr@)FY<~hu+X`tjg(aSVae$wDG*C zq$nY(Y494R)hD!i1|IIyP*&PD_c2FPgeY)&mX1qujB1VHPG9`yFQpLFVQ0>EKS@Bp zAfP5`C(sWGLI?AC{XEjLKR4FVNw(4+9b?kba95ukgR1H?w<8F7)G+6&(zUhIE5Ef% z=fFkL3QKA~M@h{nzjRq!Y_t!%U66#L8!(2-GgFxkD1=JRRqk=n%G(yHKn%^&$dW>; zSjAcjETMz1%205se$iH_)ZCpfg_LwvnsZQAUCS#^FExp8O4CrJb6>JquNV@qPq~3A zZ<6dOU#6|8+fcgiA#~MDmcpIEaUO02L5#T$HV0$EMD94HT_eXLZ2Zi&(! z&5E>%&|FZ`)CN10tM%tLSPD*~r#--K(H-CZqIOb99_;m|D5wdgJ<1iOJz@h2Zkq?} z%8_KXb&hf=2Wza(Wgc;3v3TN*;HTU*q2?#z&tLn_U0Nt!y>Oo>+2T)He6%XuP;fgn z-G!#h$Y2`9>Jtf}hbVrm6D70|ERzLAU>3zoWhJmjWfgM^))T+2u$~5>HF9jQDkrXR z=IzX36)V75PrFjkQ%TO+iqKGCQ-DDXbaE;C#}!-CoWQx&v*vHfyI>$HNRbpvm<`O( zlx9NBWD6_e&J%Ous4yp~s6)Ghni!I6)0W;9(9$y1wWu`$gs<$9Mcf$L*piP zPR0Av*2%ul`W;?-1_-5Zy0~}?`e@Y5A&0H!^ApyVTT}BiOm4GeFo$_oPlDEyeGBbh z1h3q&Dx~GmUS|3@4V36&$2uO8!Yp&^pD7J5&TN{?xphf*-js1fP?B|`>p_K>lh{ij zP(?H%e}AIP?_i^f&Li=FDSQ`2_NWxL+BB=nQr=$ zHojMlXNGauvvwPU>ZLq!`bX-5F4jBJ&So{kE5+ms9UEYD{66!|k~3vsP+mE}x!>%P za98bAU0!h0&ka4EoiDvBM#CP#dRNdXJcb*(%=<(g+M@<)DZ!@v1V>;54En?igcHR2 zhubQMq}VSOK)onqHfczM7YA@s=9*ow;k;8)&?J3@0JiGcP! zP#00KZ1t)GyZeRJ=f0^gc+58lc4Qh*S7RqPIC6GugG1gXe$LIQMRCo8cHf^qXgAa2 z`}t>u2Cq1CbSEpLr~E=c7~=Qkc9-vLE%(v9N*&HF`(d~(0`iukl5aQ9u4rUvc8%m) zr2GwZN4!s;{SB87lJB;veebPmqE}tSpT>+`t?<457Q9iV$th%i__Z1kOMAswFldD6 ztbOvO337S5o#ZZgN2G99_AVqPv!?Gmt3pzgD+Hp3QPQ`9qJ(g=kjvD+fUSS3upJn! zqoG7acIKEFRX~S}3|{EWT$kdz#zrDlJU(rPkxjws_iyLKU8+v|*oS_W*-guAb&Pj1 z35Z`3z<&Jb@2Mwz=KXucNYdY#SNO$tcVFr9KdKm|%^e-TXzs6M`PBper%ajkrIyUe zp$vVxVs9*>Vp4_1NC~Zg)WOCPmOxI1V34QlG4!aSFOH{QqSVq1^1)- z0P!Z?tT&E-ll(pwf0?=F=yOzik=@nh1Clxr9}Vij89z)ePDSCYAqw?lVI?v?+&*zH z)p$CScFI8rrwId~`}9YWPFu0cW1Sf@vRELs&cbntRU6QfPK-SO*mqu|u~}8AJ!Q$z znzu}50O=YbjwKCuSVBs6&CZR#0FTu)3{}qJJYX(>QPr4$RqWiwX3NT~;>cLn*_&1H zaKpIW)JVJ>b{uo2oq>oQt3y=zJjb%fU@wLqM{SyaC6x2snMx-}ivfU<1- znu1Lh;i$3Tf$Kh5Uk))G!D1UhE8pvx&nO~w^fG)BC&L!_hQk%^p`Kp@F{cz>80W&T ziOK=Sq3fdRu*V0=S53rcIfWFazI}Twj63CG(jOB;$*b`*#B9uEnBM`hDk*EwSRdwP8?5T?xGUKs=5N83XsR*)a4|ijz|c{4tIU+4j^A5C<#5 z*$c_d=5ml~%pGxw#?*q9N7aRwPux5EyqHVkdJO=5J>84!X6P>DS8PTTz>7C#FO?k#edkntG+fJk8ZMn?pmJSO@`x-QHq;7^h6GEXLXo1TCNhH z8ZDH{*NLAjo3WM`xeb=X{((uv3H(8&r8fJJg_uSs_%hOH%JDD?hu*2NvWGYD+j)&` zz#_1%O1wF^o5ryt?O0n;`lHbzp0wQ?rcbW(F1+h7_EZZ9{>rePvLAPVZ_R|n@;b$;UchU=0j<6k8G9QuQf@76oiE*4 zXOLQ&n3$NR#p4<5NJMVC*S);5x2)eRbaAM%VxWu9ohlT;pGEk7;002enCbQ>2r-us z3#bpXP9g|mE`65VrN`+3mC)M(eMj~~eOf)do<@l+fMiTR)XO}422*1SL{wyY(%oMpBgJagtiDf zz>O6(m;};>Hi=t8o{DVC@YigqS(Qh+ix3Rwa9aliH}a}IlOCW1@?%h_bRbq-W{KHF z%Vo?-j@{Xi@=~Lz5uZP27==UGE15|g^0gzD|3x)SCEXrx`*MP^FDLl%pOi~~Il;dc z^hrwp9sYeT7iZ)-ajKy@{a`kr0-5*_!XfBpXwEcFGJ;%kV$0Nx;apKrur zJN2J~CAv{Zjj%FolyurtW8RaFmpn&zKJWL>(0;;+q(%(Hx!GMW4AcfP0YJ*Vz!F4g z!ZhMyj$BdXL@MlF%KeInmPCt~9&A!;cRw)W!Hi@0DY(GD_f?jeV{=s=cJ6e}JktJw zQORnxxj3mBxfrH=x{`_^Z1ddDh}L#V7i}$njUFRVwOX?qOTKjfPMBO4y(WiU<)epb zvB9L=%jW#*SL|Nd_G?E*_h1^M-$PG6Pc_&QqF0O-FIOpa4)PAEPsyvB)GKasmBoEt z?_Q2~QCYGH+hW31x-B=@5_AN870vY#KB~3a*&{I=f);3Kv7q4Q7s)0)gVYx2#Iz9g(F2;=+Iy4 z6KI^8GJ6D@%tpS^8boU}zpi=+(5GfIR)35PzrbuXeL1Y1N%JK7PG|^2k3qIqHfX;G zQ}~JZ-UWx|60P5?d1e;AHx!_;#PG%d=^X(AR%i`l0jSpYOpXoKFW~7ip7|xvN;2^? zsYC9fanpO7rO=V7+KXqVc;Q5z%Bj})xHVrgoR04sA2 zl~DAwv=!(()DvH*=lyhIlU^hBkA0$e*7&fJpB0|oB7)rqGK#5##2T`@_I^|O2x4GO z;xh6ROcV<9>?e0)MI(y++$-ksV;G;Xe`lh76T#Htuia+(UrIXrf9?

    L(tZ$0BqX1>24?V$S+&kLZ`AodQ4_)P#Q3*4xg8}lMV-FLwC*cN$< zt65Rf%7z41u^i=P*qO8>JqXPrinQFapR7qHAtp~&RZ85$>ob|Js;GS^y;S{XnGiBc zGa4IGvDl?x%gY`vNhv8wgZnP#UYI-w*^4YCZnxkF85@ldepk$&$#3EAhrJY0U)lR{F6sM3SONV^+$;Zx8BD&Eku3K zKNLZyBni3)pGzU0;n(X@1fX8wYGKYMpLmCu{N5-}epPDxClPFK#A@02WM3!myN%bkF z|GJ4GZ}3sL{3{qXemy+#Uk{4>Kf8v11;f8I&c76+B&AQ8udd<8gU7+BeWC`akUU~U zgXoxie>MS@rBoyY8O8Tc&8id!w+_ooxcr!1?#rc$-|SBBtH6S?)1e#P#S?jFZ8u-Bs&k`yLqW|{j+%c#A4AQ>+tj$Y z^CZajspu$F%73E68Lw5q7IVREED9r1Ijsg#@DzH>wKseye>hjsk^{n0g?3+gs@7`i zHx+-!sjLx^fS;fY!ERBU+Q zVJ!e0hJH%P)z!y%1^ZyG0>PN@5W~SV%f>}c?$H8r;Sy-ui>aruVTY=bHe}$e zi&Q4&XK!qT7-XjCrDaufT@>ieQ&4G(SShUob0Q>Gznep9fR783jGuUynAqc6$pYX; z7*O@@JW>O6lKIk0G00xsm|=*UVTQBB`u1f=6wGAj%nHK_;Aqmfa!eAykDmi-@u%6~ z;*c!pS1@V8r@IX9j&rW&d*}wpNs96O2Ute>%yt{yv>k!6zfT6pru{F1M3P z2WN1JDYqoTB#(`kE{H676QOoX`cnqHl1Yaru)>8Ky~VU{)r#{&s86Vz5X)v15ULHA zAZDb{99+s~qI6;-dQ5DBjHJP@GYTwn;Dv&9kE<0R!d z8tf1oq$kO`_sV(NHOSbMwr=To4r^X$`sBW4$gWUov|WY?xccQJN}1DOL|GEaD_!@& z15p?Pj+>7d`@LvNIu9*^hPN)pwcv|akvYYq)ks%`G>!+!pW{-iXPZsRp8 z35LR;DhseQKWYSD`%gO&k$Dj6_6q#vjWA}rZcWtQr=Xn*)kJ9kacA=esi*I<)1>w^ zO_+E>QvjP)qiSZg9M|GNeLtO2D7xT6vsj`88sd!94j^AqxFLi}@w9!Y*?nwWARE0P znuI_7A-saQ+%?MFA$gttMV-NAR^#tjl_e{R$N8t2NbOlX373>e7Ox=l=;y#;M7asp zRCz*CLnrm$esvSb5{T<$6CjY zmZ(i{Rs_<#pWW>(HPaaYj`%YqBra=Ey3R21O7vUbzOkJJO?V`4-D*u4$Me0Bx$K(lYo`JO}gnC zx`V}a7m-hLU9Xvb@K2ymioF)vj12<*^oAqRuG_4u%(ah?+go%$kOpfb`T96P+L$4> zQ#S+sA%VbH&mD1k5Ak7^^dZoC>`1L%i>ZXmooA!%GI)b+$D&ziKrb)a=-ds9xk#~& z7)3iem6I|r5+ZrTRe_W861x8JpD`DDIYZNm{$baw+$)X^Jtjnl0xlBgdnNY}x%5za zkQ8E6T<^$sKBPtL4(1zi_Rd(tVth*3Xs!ulflX+70?gb&jRTnI8l+*Aj9{|d%qLZ+ z>~V9Z;)`8-lds*Zgs~z1?Fg?Po7|FDl(Ce<*c^2=lFQ~ahwh6rqSjtM5+$GT>3WZW zj;u~w9xwAhOc<kF}~`CJ68 z?(S5vNJa;kriPlim33{N5`C{9?NWhzsna_~^|K2k4xz1`xcui*LXL-1#Y}Hi9`Oo!zQ>x-kgAX4LrPz63uZ+?uG*84@PKq-KgQlMNRwz=6Yes) zY}>YN+qP}nwr$(CZQFjUOI=-6J$2^XGvC~EZ+vrqWaOXB$k?%Suf5k=4>AveC1aJ! ziaW4IS%F$_Babi)kA8Y&u4F7E%99OPtm=vzw$$ zEz#9rvn`Iot_z-r3MtV>k)YvErZ<^Oa${`2>MYYODSr6?QZu+be-~MBjwPGdMvGd!b!elsdi4% z`37W*8+OGulab8YM?`KjJ8e+jM(tqLKSS@=jimq3)Ea2EB%88L8CaM+aG7;27b?5` z4zuUWBr)f)k2o&xg{iZ$IQkJ+SK>lpq4GEacu~eOW4yNFLU!Kgc{w4&D$4ecm0f}~ zTTzquRW@`f0}|IILl`!1P+;69g^upiPA6F{)U8)muWHzexRenBU$E^9X-uIY2%&1w z_=#5*(nmxJ9zF%styBwivi)?#KMG96-H@hD-H_&EZiRNsfk7mjBq{L%!E;Sqn!mVX*}kXhwH6eh;b42eD!*~upVG@ z#smUqz$ICm!Y8wY53gJeS|Iuard0=;k5i5Z_hSIs6tr)R4n*r*rE`>38Pw&lkv{_r!jNN=;#?WbMj|l>cU(9trCq; z%nN~r^y7!kH^GPOf3R}?dDhO=v^3BeP5hF|%4GNQYBSwz;x({21i4OQY->1G=KFyu z&6d`f2tT9Yl_Z8YACZaJ#v#-(gcyeqXMhYGXb=t>)M@fFa8tHp2x;ODX=Ap@a5I=U z0G80^$N0G4=U(>W%mrrThl0DjyQ-_I>+1Tdd_AuB3qpYAqY54upwa3}owa|x5iQ^1 zEf|iTZxKNGRpI>34EwkIQ2zHDEZ=(J@lRaOH>F|2Z%V_t56Km$PUYu^xA5#5Uj4I4RGqHD56xT%H{+P8Ag>e_3pN$4m8n>i%OyJFPNWaEnJ4McUZPa1QmOh?t8~n& z&RulPCors8wUaqMHECG=IhB(-tU2XvHP6#NrLVyKG%Ee*mQ5Ps%wW?mcnriTVRc4J`2YVM>$ixSF2Xi+Wn(RUZnV?mJ?GRdw%lhZ+t&3s7g!~g{%m&i<6 z5{ib-<==DYG93I(yhyv4jp*y3#*WNuDUf6`vTM%c&hiayf(%=x@4$kJ!W4MtYcE#1 zHM?3xw63;L%x3drtd?jot!8u3qeqctceX3m;tWetK+>~q7Be$h>n6riK(5@ujLgRS zvOym)k+VAtyV^mF)$29Y`nw&ijdg~jYpkx%*^ z8dz`C*g=I?;clyi5|!27e2AuSa$&%UyR(J3W!A=ZgHF9OuKA34I-1U~pyD!KuRkjA zbkN!?MfQOeN>DUPBxoy5IX}@vw`EEB->q!)8fRl_mqUVuRu|C@KD-;yl=yKc=ZT0% zB$fMwcC|HE*0f8+PVlWHi>M`zfsA(NQFET?LrM^pPcw`cK+Mo0%8*x8@65=CS_^$cG{GZQ#xv($7J z??R$P)nPLodI;P!IC3eEYEHh7TV@opr#*)6A-;EU2XuogHvC;;k1aI8asq7ovoP!* z?x%UoPrZjj<&&aWpsbr>J$Er-7!E(BmOyEv!-mbGQGeJm-U2J>74>o5x`1l;)+P&~ z>}f^=Rx(ZQ2bm+YE0u=ZYrAV@apyt=v1wb?R@`i_g64YyAwcOUl=C!i>=Lzb$`tjv zOO-P#A+)t-JbbotGMT}arNhJmmGl-lyUpMn=2UacVZxmiG!s!6H39@~&uVokS zG=5qWhfW-WOI9g4!R$n7!|ViL!|v3G?GN6HR0Pt_L5*>D#FEj5wM1DScz4Jv@Sxnl zB@MPPmdI{(2D?;*wd>3#tjAirmUnQoZrVv`xM3hARuJksF(Q)wd4P$88fGYOT1p6U z`AHSN!`St}}UMBT9o7i|G`r$ zrB=s$qV3d6$W9@?L!pl0lf%)xs%1ko^=QY$ty-57=55PvP(^6E7cc zGJ*>m2=;fOj?F~yBf@K@9qwX0hA803Xw+b0m}+#a(>RyR8}*Y<4b+kpp|OS+!whP( zH`v{%s>jsQI9rd$*vm)EkwOm#W_-rLTHcZRek)>AtF+~<(did)*oR1|&~1|e36d-d zgtm5cv1O0oqgWC%Et@P4Vhm}Ndl(Y#C^MD03g#PH-TFy+7!Osv1z^UWS9@%JhswEq~6kSr2DITo59+; ze=ZC}i2Q?CJ~Iyu?vn|=9iKV>4j8KbxhE4&!@SQ^dVa-gK@YfS9xT(0kpW*EDjYUkoj! zE49{7H&E}k%5(>sM4uGY)Q*&3>{aitqdNnRJkbOmD5Mp5rv-hxzOn80QsG=HJ_atI-EaP69cacR)Uvh{G5dTpYG7d zbtmRMq@Sexey)||UpnZ?;g_KMZq4IDCy5}@u!5&B^-=6yyY{}e4Hh3ee!ZWtL*s?G zxG(A!<9o!CL+q?u_utltPMk+hn?N2@?}xU0KlYg?Jco{Yf@|mSGC<(Zj^yHCvhmyx z?OxOYoxbptDK()tsJ42VzXdINAMWL$0Gcw?G(g8TMB)Khw_|v9`_ql#pRd2i*?CZl z7k1b!jQB=9-V@h%;Cnl7EKi;Y^&NhU0mWEcj8B|3L30Ku#-9389Q+(Yet0r$F=+3p z6AKOMAIi|OHyzlHZtOm73}|ntKtFaXF2Fy|M!gOh^L4^62kGUoWS1i{9gsds_GWBc zLw|TaLP64z3z9?=R2|T6Xh2W4_F*$cq>MtXMOy&=IPIJ`;!Tw?PqvI2b*U1)25^<2 zU_ZPoxg_V0tngA0J+mm?3;OYw{i2Zb4x}NedZug!>EoN3DC{1i)Z{Z4m*(y{ov2%- zk(w>+scOO}MN!exSc`TN)!B=NUX`zThWO~M*ohqq;J2hx9h9}|s#?@eR!=F{QTrq~ zTcY|>azkCe$|Q0XFUdpFT=lTcyW##i;-e{}ORB4D?t@SfqGo_cS z->?^rh$<&n9DL!CF+h?LMZRi)qju!meugvxX*&jfD!^1XB3?E?HnwHP8$;uX{Rvp# zh|)hM>XDv$ZGg=$1{+_bA~u-vXqlw6NH=nkpyWE0u}LQjF-3NhATL@9rRxMnpO%f7 z)EhZf{PF|mKIMFxnC?*78(}{Y)}iztV12}_OXffJ;ta!fcFIVjdchyHxH=t%ci`Xd zX2AUB?%?poD6Zv*&BA!6c5S#|xn~DK01#XvjT!w!;&`lDXSJT4_j$}!qSPrb37vc{ z9^NfC%QvPu@vlxaZ;mIbn-VHA6miwi8qJ~V;pTZkKqqOii<1Cs}0i?uUIss;hM4dKq^1O35y?Yp=l4i zf{M!@QHH~rJ&X~8uATV><23zZUbs-J^3}$IvV_ANLS08>k`Td7aU_S1sLsfi*C-m1 z-e#S%UGs4E!;CeBT@9}aaI)qR-6NU@kvS#0r`g&UWg?fC7|b^_HyCE!8}nyh^~o@< zpm7PDFs9yxp+byMS(JWm$NeL?DNrMCNE!I^ko-*csB+dsf4GAq{=6sfyf4wb>?v1v zmb`F*bN1KUx-`ra1+TJ37bXNP%`-Fd`vVQFTwWpX@;s(%nDQa#oWhgk#mYlY*!d>( zE&!|ySF!mIyfING+#%RDY3IBH_fW$}6~1%!G`suHub1kP@&DoAd5~7J55;5_noPI6eLf{t;@9Kf<{aO0`1WNKd?<)C-|?C?)3s z>wEq@8=I$Wc~Mt$o;g++5qR+(6wt9GI~pyrDJ%c?gPZe)owvy^J2S=+M^ z&WhIE`g;;J^xQLVeCtf7b%Dg#Z2gq9hp_%g)-%_`y*zb; zn9`f`mUPN-Ts&fFo(aNTsXPA|J!TJ{0hZp0^;MYHLOcD=r_~~^ymS8KLCSeU3;^QzJNqS z5{5rEAv#l(X?bvwxpU;2%pQftF`YFgrD1jt2^~Mt^~G>T*}A$yZc@(k9orlCGv&|1 zWWvVgiJsCAtamuAYT~nzs?TQFt<1LSEx!@e0~@yd6$b5!Zm(FpBl;(Cn>2vF?k zOm#TTjFwd2D-CyA!mqR^?#Uwm{NBemP>(pHmM}9;;8`c&+_o3#E5m)JzfwN?(f-a4 zyd%xZc^oQx3XT?vcCqCX&Qrk~nu;fxs@JUoyVoi5fqpi&bUhQ2y!Ok2pzsFR(M(|U zw3E+kH_zmTRQ9dUMZWRE%Zakiwc+lgv7Z%|YO9YxAy`y28`Aw;WU6HXBgU7fl@dnt z-fFBV)}H-gqP!1;V@Je$WcbYre|dRdp{xt!7sL3Eoa%IA`5CAA%;Wq8PktwPdULo! z8!sB}Qt8#jH9Sh}QiUtEPZ6H0b*7qEKGJ%ITZ|vH)5Q^2m<7o3#Z>AKc%z7_u`rXA zqrCy{-{8;9>dfllLu$^M5L z-hXs))h*qz%~ActwkIA(qOVBZl2v4lwbM>9l70Y`+T*elINFqt#>OaVWoja8RMsep z6Or3f=oBnA3vDbn*+HNZP?8LsH2MY)x%c13@(XfuGR}R?Nu<|07{$+Lc3$Uv^I!MQ z>6qWgd-=aG2Y^24g4{Bw9ueOR)(9h`scImD=86dD+MnSN4$6 z^U*o_mE-6Rk~Dp!ANp#5RE9n*LG(Vg`1)g6!(XtDzsov$Dvz|Gv1WU68J$CkshQhS zCrc|cdkW~UK}5NeaWj^F4MSgFM+@fJd{|LLM)}_O<{rj z+?*Lm?owq?IzC%U%9EBga~h-cJbIu=#C}XuWN>OLrc%M@Gu~kFEYUi4EC6l#PR2JS zQUkGKrrS#6H7}2l0F@S11DP`@pih0WRkRJl#F;u{c&ZC{^$Z+_*lB)r)-bPgRFE;* zl)@hK4`tEP=P=il02x7-C7p%l=B`vkYjw?YhdJU9!P!jcmY$OtC^12w?vy3<<=tlY zUwHJ_0lgWN9vf>1%WACBD{UT)1qHQSE2%z|JHvP{#INr13jM}oYv_5#xsnv9`)UAO zuwgyV4YZ;O)eSc3(mka6=aRohi!HH@I#xq7kng?Acdg7S4vDJb6cI5fw?2z%3yR+| zU5v@Hm}vy;${cBp&@D=HQ9j7NcFaOYL zj-wV=eYF{|XTkFNM2uz&T8uH~;)^Zo!=KP)EVyH6s9l1~4m}N%XzPpduPg|h-&lL` zAXspR0YMOKd2yO)eMFFJ4?sQ&!`dF&!|niH*!^*Ml##o0M(0*uK9&yzekFi$+mP9s z>W9d%Jb)PtVi&-Ha!o~Iyh@KRuKpQ@)I~L*d`{O8!kRObjO7=n+Gp36fe!66neh+7 zW*l^0tTKjLLzr`x4`_8&on?mjW-PzheTNox8Hg7Nt@*SbE-%kP2hWYmHu#Fn@Q^J(SsPUz*|EgOoZ6byg3ew88UGdZ>9B2Tq=jF72ZaR=4u%1A6Vm{O#?@dD!(#tmR;eP(Fu z{$0O%=Vmua7=Gjr8nY%>ul?w=FJ76O2js&17W_iq2*tb!i{pt#`qZB#im9Rl>?t?0c zicIC}et_4d+CpVPx)i4~$u6N-QX3H77ez z?ZdvXifFk|*F8~L(W$OWM~r`pSk5}#F?j_5u$Obu9lDWIknO^AGu+Blk7!9Sb;NjS zncZA?qtASdNtzQ>z7N871IsPAk^CC?iIL}+{K|F@BuG2>qQ;_RUYV#>hHO(HUPpk@ z(bn~4|F_jiZi}Sad;_7`#4}EmD<1EiIxa48QjUuR?rC}^HRocq`OQPM@aHVKP9E#q zy%6bmHygCpIddPjE}q_DPC`VH_2m;Eey&ZH)E6xGeStOK7H)#+9y!%-Hm|QF6w#A( zIC0Yw%9j$s-#odxG~C*^MZ?M<+&WJ+@?B_QPUyTg9DJGtQN#NIC&-XddRsf3n^AL6 zT@P|H;PvN;ZpL0iv$bRb7|J{0o!Hq+S>_NrH4@coZtBJu#g8#CbR7|#?6uxi8d+$g z87apN>EciJZ`%Zv2**_uiET9Vk{pny&My;+WfGDw4EVL#B!Wiw&M|A8f1A@ z(yFQS6jfbH{b8Z-S7D2?Ixl`j0{+ZnpT=;KzVMLW{B$`N?Gw^Fl0H6lT61%T2AU**!sX0u?|I(yoy&Xveg7XBL&+>n6jd1##6d>TxE*Vj=8lWiG$4=u{1UbAa5QD>5_ z;Te^42v7K6Mmu4IWT6Rnm>oxrl~b<~^e3vbj-GCdHLIB_>59}Ya+~OF68NiH=?}2o zP(X7EN=quQn&)fK>M&kqF|<_*H`}c zk=+x)GU>{Af#vx&s?`UKUsz})g^Pc&?Ka@t5$n$bqf6{r1>#mWx6Ep>9|A}VmWRnowVo`OyCr^fHsf# zQjQ3Ttp7y#iQY8l`zEUW)(@gGQdt(~rkxlkefskT(t%@i8=|p1Y9Dc5bc+z#n$s13 zGJk|V0+&Ekh(F};PJzQKKo+FG@KV8a<$gmNSD;7rd_nRdc%?9)p!|B-@P~kxQG}~B zi|{0}@}zKC(rlFUYp*dO1RuvPC^DQOkX4<+EwvBAC{IZQdYxoq1Za!MW7%p7gGr=j zzWnAq%)^O2$eItftC#TTSArUyL$U54-O7e|)4_7%Q^2tZ^0-d&3J1}qCzR4dWX!)4 zzIEKjgnYgMus^>6uw4Jm8ga6>GBtMjpNRJ6CP~W=37~||gMo_p@GA@#-3)+cVYnU> zE5=Y4kzl+EbEh%dhQokB{gqNDqx%5*qBusWV%!iprn$S!;oN_6E3?0+umADVs4ako z?P+t?m?};gev9JXQ#Q&KBpzkHPde_CGu-y z<{}RRAx=xlv#mVi+Ibrgx~ujW$h{?zPfhz)Kp7kmYS&_|97b&H&1;J-mzrBWAvY} zh8-I8hl_RK2+nnf&}!W0P+>5?#?7>npshe<1~&l_xqKd0_>dl_^RMRq@-Myz&|TKZBj1=Q()) zF{dBjv5)h=&Z)Aevx}+i|7=R9rG^Di!sa)sZCl&ctX4&LScQ-kMncgO(9o6W6)yd< z@Rk!vkja*X_N3H=BavGoR0@u0<}m-7|2v!0+2h~S2Q&a=lTH91OJsvms2MT~ zY=c@LO5i`mLpBd(vh|)I&^A3TQLtr>w=zoyzTd=^f@TPu&+*2MtqE$Avf>l>}V|3-8Fp2hzo3y<)hr_|NO(&oSD z!vEjTWBxbKTiShVl-U{n*B3#)3a8$`{~Pk}J@elZ=>Pqp|MQ}jrGv7KrNcjW%TN_< zZz8kG{#}XoeWf7qY?D)L)8?Q-b@Na&>i=)(@uNo zr;cH98T3$Iau8Hn*@vXi{A@YehxDE2zX~o+RY`)6-X{8~hMpc#C`|8y> zU8Mnv5A0dNCf{Ims*|l-^ z(MRp{qoGohB34|ggDI*p!Aw|MFyJ|v+<+E3brfrI)|+l3W~CQLPbnF@G0)P~Ly!1TJLp}xh8uW`Q+RB-v`MRYZ9Gam3cM%{ zb4Cb*f)0deR~wtNb*8w-LlIF>kc7DAv>T0D(a3@l`k4TFnrO+g9XH7;nYOHxjc4lq zMmaW6qpgAgy)MckYMhl?>sq;-1E)-1llUneeA!ya9KM$)DaNGu57Z5aE>=VST$#vb zFo=uRHr$0M{-ha>h(D_boS4zId;3B|Tpqo|?B?Z@I?G(?&Iei+-{9L_A9=h=Qfn-U z1wIUnQe9!z%_j$F_{rf&`ZFSott09gY~qrf@g3O=Y>vzAnXCyL!@(BqWa)Zqt!#_k zfZHuwS52|&&)aK;CHq9V-t9qt0au{$#6c*R#e5n3rje0hic7c7m{kW$p(_`wB=Gw7 z4k`1Hi;Mc@yA7dp@r~?@rfw)TkjAW++|pkfOG}0N|2guek}j8Zen(!+@7?qt_7ndX zB=BG6WJ31#F3#Vk3=aQr8T)3`{=p9nBHlKzE0I@v`{vJ}h8pd6vby&VgFhzH|q;=aonunAXL6G2y(X^CtAhWr*jI zGjpY@raZDQkg*aMq}Ni6cRF z{oWv}5`nhSAv>usX}m^GHt`f(t8@zHc?K|y5Zi=4G*UG1Sza{$Dpj%X8 zzEXaKT5N6F5j4J|w#qlZP!zS7BT)9b+!ZSJdToqJts1c!)fwih4d31vfb{}W)EgcA zH2pZ^8_k$9+WD2n`6q5XbOy8>3pcYH9 z07eUB+p}YD@AH!}p!iKv><2QF-Y^&xx^PAc1F13A{nUeCDg&{hnix#FiO!fe(^&%Qcux!h znu*S!s$&nnkeotYsDthh1dq(iQrE|#f_=xVgfiiL&-5eAcC-> z5L0l|DVEM$#ulf{bj+Y~7iD)j<~O8CYM8GW)dQGq)!mck)FqoL^X zwNdZb3->hFrbHFm?hLvut-*uK?zXn3q1z|UX{RZ;-WiLoOjnle!xs+W0-8D)kjU#R z+S|A^HkRg$Ij%N4v~k`jyHffKaC~=wg=9)V5h=|kLQ@;^W!o2^K+xG&2n`XCd>OY5Ydi= zgHH=lgy++erK8&+YeTl7VNyVm9-GfONlSlVb3)V9NW5tT!cJ8d7X)!b-$fb!s76{t z@d=Vg-5K_sqHA@Zx-L_}wVnc@L@GL9_K~Zl(h5@AR#FAiKad8~KeWCo@mgXIQ#~u{ zgYFwNz}2b6Vu@CP0XoqJ+dm8px(5W5-Jpis97F`+KM)TuP*X8H@zwiVKDKGVp59pI zifNHZr|B+PG|7|Y<*tqap0CvG7tbR1R>jn70t1X`XJixiMVcHf%Ez*=xm1(CrTSDt z0cle!+{8*Ja&EOZ4@$qhBuKQ$U95Q%rc7tg$VRhk?3=pE&n+T3upZg^ZJc9~c2es% zh7>+|mrmA-p&v}|OtxqmHIBgUxL~^0+cpfkSK2mhh+4b=^F1Xgd2)}U*Yp+H?ls#z zrLxWg_hm}AfK2XYWr!rzW4g;+^^&bW%LmbtRai9f3PjU${r@n`JThy-cphbcwn)rq9{A$Ht`lmYKxOacy z6v2R(?gHhD5@&kB-Eg?4!hAoD7~(h>(R!s1c1Hx#s9vGPePUR|of32bS`J5U5w{F) z>0<^ktO2UHg<0{oxkdOQ;}coZDQph8p6ruj*_?uqURCMTac;>T#v+l1Tc~%^k-Vd@ zkc5y35jVNc49vZpZx;gG$h{%yslDI%Lqga1&&;mN{Ush1c7p>7e-(zp}6E7f-XmJb4nhk zb8zS+{IVbL$QVF8pf8}~kQ|dHJAEATmmnrb_wLG}-yHe>W|A&Y|;muy-d^t^<&)g5SJfaTH@P1%euONny=mxo+C z4N&w#biWY41r8k~468tvuYVh&XN&d#%QtIf9;iVXfWY)#j=l`&B~lqDT@28+Y!0E+MkfC}}H*#(WKKdJJq=O$vNYCb(ZG@p{fJgu;h z21oHQ(14?LeT>n5)s;uD@5&ohU!@wX8w*lB6i@GEH0pM>YTG+RAIWZD;4#F1&F%Jp zXZUml2sH0!lYJT?&sA!qwez6cXzJEd(1ZC~kT5kZSp7(@=H2$Azb_*W&6aA|9iwCL zdX7Q=42;@dspHDwYE?miGX#L^3xD&%BI&fN9^;`v4OjQXPBaBmOF1;#C)8XA(WFlH zycro;DS2?(G&6wkr6rqC>rqDv3nfGw3hmN_9Al>TgvmGsL8_hXx09};l9Ow@)F5@y z#VH5WigLDwZE4nh^7&@g{1FV^UZ%_LJ-s<{HN*2R$OPg@R~Z`c-ET*2}XB@9xvAjrK&hS=f|R8Gr9 zr|0TGOsI7RD+4+2{ZiwdVD@2zmg~g@^D--YL;6UYGSM8i$NbQr4!c7T9rg!8;TM0E zT#@?&S=t>GQm)*ua|?TLT2ktj#`|R<_*FAkOu2Pz$wEc%-=Y9V*$&dg+wIei3b*O8 z2|m$!jJG!J!ZGbbIa!(Af~oSyZV+~M1qGvelMzPNE_%5?c2>;MeeG2^N?JDKjFYCy z7SbPWH-$cWF9~fX%9~v99L!G(wi!PFp>rB!9xj7=Cv|F+7CsGNwY0Q_J%FID%C^CBZQfJ9K(HK%k31j~e#&?hQ zNuD6gRkVckU)v+53-fc} z7ZCzYN-5RG4H7;>>Hg?LU9&5_aua?A0)0dpew1#MMlu)LHe(M;OHjHIUl7|%%)YPo z0cBk;AOY00%Fe6heoN*$(b<)Cd#^8Iu;-2v@>cE-OB$icUF9EEoaC&q8z9}jMTT2I z8`9;jT%z0;dy4!8U;GW{i`)3!c6&oWY`J3669C!tM<5nQFFrFRglU8f)5Op$GtR-3 zn!+SPCw|04sv?%YZ(a7#L?vsdr7ss@WKAw&A*}-1S|9~cL%uA+E~>N6QklFE>8W|% zyX-qAUGTY1hQ-+um`2|&ji0cY*(qN!zp{YpDO-r>jPk*yuVSay<)cUt`t@&FPF_&$ zcHwu1(SQ`I-l8~vYyUxm@D1UEdFJ$f5Sw^HPH7b!9 zzYT3gKMF((N(v0#4f_jPfVZ=ApN^jQJe-X$`A?X+vWjLn_%31KXE*}5_}d8 zw_B1+a#6T1?>M{ronLbHIlEsMf93muJ7AH5h%;i99<~JX^;EAgEB1uHralD*!aJ@F zV2ruuFe9i2Q1C?^^kmVy921eb=tLDD43@-AgL^rQ3IO9%+vi_&R2^dpr}x{bCVPej z7G0-0o64uyWNtr*loIvslyo0%)KSDDKjfThe0hcqs)(C-MH1>bNGBDRTW~scy_{w} zp^aq8Qb!h9Lwielq%C1b8=?Z=&U)ST&PHbS)8Xzjh2DF?d{iAv)Eh)wsUnf>UtXN( zL7=$%YrZ#|^c{MYmhn!zV#t*(jdmYdCpwqpZ{v&L8KIuKn`@IIZfp!uo}c;7J57N` zAxyZ-uA4=Gzl~Ovycz%MW9ZL7N+nRo&1cfNn9(1H5eM;V_4Z_qVann7F>5f>%{rf= zPBZFaV@_Sobl?Fy&KXyzFDV*FIdhS5`Uc~S^Gjo)aiTHgn#<0C=9o-a-}@}xDor;D zZyZ|fvf;+=3MZd>SR1F^F`RJEZo+|MdyJYQAEauKu%WDol~ayrGU3zzbHKsnHKZ*z zFiwUkL@DZ>!*x05ql&EBq@_Vqv83&?@~q5?lVmffQZ+V-=qL+!u4Xs2Z2zdCQ3U7B&QR9_Iggy} z(om{Y9eU;IPe`+p1ifLx-XWh?wI)xU9ik+m#g&pGdB5Bi<`PR*?92lE0+TkRuXI)z z5LP!N2+tTc%cB6B1F-!fj#}>S!vnpgVU~3!*U1ej^)vjUH4s-bd^%B=ItQqDCGbrEzNQi(dJ`J}-U=2{7-d zK8k^Rlq2N#0G?9&1?HSle2vlkj^KWSBYTwx`2?9TU_DX#J+f+qLiZCqY1TXHFxXZqYMuD@RU$TgcnCC{_(vwZ-*uX)~go#%PK z@}2Km_5aQ~(<3cXeJN6|F8X_1@L%@xTzs}$_*E|a^_URF_qcF;Pfhoe?FTFwvjm1o z8onf@OY@jC2tVcMaZS;|T!Ks(wOgPpRzRnFS-^RZ4E!9dsnj9sFt609a|jJbb1Dt@ z<=Gal2jDEupxUSwWu6zp<<&RnAA;d&4gKVG0iu6g(DsST(4)z6R)zDpfaQ}v{5ARt zyhwvMtF%b-YazR5XLz+oh=mn;y-Mf2a8>7?2v8qX;19y?b>Z5laGHvzH;Nu9S`B8} zI)qN$GbXIQ1VL3lnof^6TS~rvPVg4V?Dl2Bb*K2z4E{5vy<(@@K_cN@U>R!>aUIRnb zL*)=787*cs#zb31zBC49x$`=fkQbMAef)L2$dR{)6BAz!t5U_B#1zZG`^neKSS22oJ#5B=gl%U=WeqL9REF2g zZnfCb0?quf?Ztj$VXvDSWoK`0L=Zxem2q}!XWLoT-kYMOx)!7fcgT35uC~0pySEme z`{wGWTkGr7>+Kb^n;W?BZH6ZP(9tQX%-7zF>vc2}LuWDI(9kh1G#7B99r4x6;_-V+k&c{nPUrR zAXJGRiMe~aup{0qzmLNjS_BC4cB#sXjckx{%_c&^xy{M61xEb>KW_AG5VFXUOjAG4 z^>Qlm9A#1N{4snY=(AmWzatb!ngqiqPbBZ7>Uhb3)dTkSGcL#&SH>iMO-IJBPua`u zo)LWZ>=NZLr758j{%(|uQuZ)pXq_4c!!>s|aDM9#`~1bzK3J1^^D#<2bNCccH7~-X}Ggi!pIIF>uFx%aPARGQsnC8ZQc8lrQ5o~smqOg>Ti^GNme94*w z)JZy{_{#$jxGQ&`M z!OMvZMHR>8*^>eS%o*6hJwn!l8VOOjZQJvh)@tnHVW&*GYPuxqXw}%M!(f-SQf`=L z5;=5w2;%82VMH6Xi&-K3W)o&K^+vJCepWZ-rW%+Dc6X3(){z$@4zjYxQ|}8UIojeC zYZpQ1dU{fy=oTr<4VX?$q)LP}IUmpiez^O&N3E_qPpchGTi5ZM6-2ScWlQq%V&R2Euz zO|Q0Hx>lY1Q1cW5xHv5!0OGU~PVEqSuy#fD72d#O`N!C;o=m+YioGu-wH2k6!t<~K zSr`E=W9)!g==~x9VV~-8{4ZN9{~-A9zJpRe%NGg$+MDuI-dH|b@BD)~>pPCGUNNzY zMDg||0@XGQgw`YCt5C&A{_+J}mvV9Wg{6V%2n#YSRN{AP#PY?1FF1#|vO_%e+#`|2*~wGAJaeRX6=IzFNeWhz6gJc8+(03Ph4y6ELAm=AkN7TOgMUEw*N{= z_)EIDQx5q22oUR+_b*tazu9+pX|n1c*IB-}{DqIj z-?E|ks{o3AGRNb;+iKcHkZvYJvFsW&83RAPs1Oh@IWy%l#5x2oUP6ZCtv+b|q>jsf zZ_9XO;V!>n`UxH1LvH8)L4?8raIvasEhkpQoJ`%!5rBs!0Tu(s_D{`4opB;57)pkX z4$A^8CsD3U5*!|bHIEqsn~{q+Ddj$ME@Gq4JXtgVz&7l{Ok!@?EA{B3P~NAqb9)4? zkQo30A^EbHfQ@87G5&EQTd`frrwL)&Yw?%-W@uy^Gn23%j?Y!Iea2xw<-f;esq zf%w5WN@E1}zyXtYv}}`U^B>W`>XPmdLj%4{P298|SisrE;7HvXX;A}Ffi8B#3Lr;1 zHt6zVb`8{#+e$*k?w8|O{Uh|&AG}|DG1PFo1i?Y*cQm$ZwtGcVgMwtBUDa{~L1KT-{jET4w60>{KZ27vXrHJ;fW{6| z=|Y4!&UX020wU1>1iRgB@Q#m~1^Z^9CG1LqDhYBrnx%IEdIty z!46iOoKlKs)c}newDG)rWUikD%j`)p z_w9Ph&e40=(2eBy;T!}*1p1f1SAUDP9iWy^u^Ubdj21Kn{46;GR+hwLO=4D11@c~V zI8x&(D({K~Df2E)Nx_yQvYfh4;MbMJ@Z}=Dt3_>iim~QZ*hZIlEs0mEb z_54+&*?wMD`2#vsQRN3KvoT>hWofI_Vf(^C1ff-Ike@h@saEf7g}<9T`W;HAne-Nd z>RR+&SP35w)xKn8^U$7))PsM!jKwYZ*RzEcG-OlTrX3}9a{q%#Un5E5W{{hp>w~;` zGky+3(vJvQyGwBo`tCpmo0mo((?nM8vf9aXrrY1Ve}~TuVkB(zeds^jEfI}xGBCM2 zL1|#tycSaWCurP+0MiActG3LCas@_@tao@(R1ANlwB$4K53egNE_;!&(%@Qo$>h`^1S_!hN6 z)vZtG$8fN!|BXBJ=SI>e(LAU(y(i*PHvgQ2llulxS8>qsimv7yL}0q_E5WiAz7)(f zC(ahFvG8&HN9+6^jGyLHM~$)7auppeWh_^zKk&C_MQ~8;N??OlyH~azgz5fe^>~7F zl3HnPN3z-kN)I$4@`CLCMQx3sG~V8hPS^}XDXZrQA>}mQPw%7&!sd(Pp^P=tgp-s^ zjl}1-KRPNWXgV_K^HkP__SR`S-|OF0bR-N5>I%ODj&1JUeAQ3$9i;B~$S6}*^tK?= z**%aCiH7y?xdY?{LgVP}S0HOh%0%LI$wRx;$T|~Y8R)Vdwa}kGWv8?SJVm^>r6+%I z#lj1aR94{@MP;t-scEYQWc#xFA30^}?|BeX*W#9OL;Q9#WqaaM546j5j29((^_8Nu z4uq}ESLr~r*O7E7$D{!k9W>`!SLoyA53i9QwRB{!pHe8um|aDE`Cg0O*{jmor)^t)3`>V>SWN-2VJcFmj^1?~tT=JrP`fVh*t zXHarp=8HEcR#vFe+1a%XXuK+)oFs`GDD}#Z+TJ}Ri`FvKO@ek2ayn}yaOi%(8p%2$ zpEu)v0Jym@f}U|-;}CbR=9{#<^z28PzkkTNvyKvJDZe+^VS2bES3N@Jq!-*}{oQlz z@8bgC_KnDnT4}d#&Cpr!%Yb?E!brx0!eVOw~;lLwUoz#Np%d$o%9scc3&zPm`%G((Le|6o1 zM(VhOw)!f84zG^)tZ1?Egv)d8cdNi+T${=5kV+j;Wf%2{3g@FHp^Gf*qO0q!u$=m9 zCaY`4mRqJ;FTH5`a$affE5dJrk~k`HTP_7nGTY@B9o9vvnbytaID;^b=Tzp7Q#DmD zC(XEN)Ktn39z5|G!wsVNnHi) z%^q94!lL|hF`IijA^9NR0F$@h7k5R^ljOW(;Td9grRN0Mb)l_l7##{2nPQ@?;VjXv zaLZG}yuf$r$<79rVPpXg?6iiieX|r#&`p#Con2i%S8*8F}(E) zI5E6c3tG*<;m~6>!&H!GJ6zEuhH7mkAzovdhLy;)q z{H2*8I^Pb}xC4s^6Y}6bJvMu=8>g&I)7!N!5QG$xseeU#CC?ZM-TbjsHwHgDGrsD= z{%f;@Sod+Ch66Ko2WF~;Ty)v>&x^aovCbCbD7>qF*!?BXmOV3(s|nxsb*Lx_2lpB7 zokUnzrk;P=T-&kUHO}td+Zdj!3n&NR?K~cRU zAXU!DCp?51{J4w^`cV#ye}(`SQhGQkkMu}O3M*BWt4UsC^jCFUy;wTINYmhD$AT;4 z?Xd{HaJjP`raZ39qAm;%beDbrLpbRf(mkKbANan7XsL>_pE2oo^$TgdidjRP!5-`% zv0d!|iKN$c0(T|L0C~XD0aS8t{*&#LnhE;1Kb<9&=c2B+9JeLvJr*AyyRh%@jHej=AetOMSlz^=!kxX>>B{2B1uIrQyfd8KjJ+DBy!h)~*(!|&L4^Q_07SQ~E zcemVP`{9CwFvPFu7pyVGCLhH?LhEVb2{7U+Z_>o25#+3<|8%1T^5dh}*4(kfJGry} zm%r#hU+__Z;;*4fMrX=Bkc@7|v^*B;HAl0((IBPPii%X9+u3DDF6%bI&6?Eu$8&aWVqHIM7mK6?Uvq$1|(-T|)IV<>e?!(rY zqkmO1MRaLeTR=)io(0GVtQT@s6rN%C6;nS3@eu;P#ry4q;^O@1ZKCJyp_Jo)Ty^QW z+vweTx_DLm{P-XSBj~Sl<%_b^$=}odJ!S2wAcxenmzFGX1t&Qp8Vxz2VT`uQsQYtdn&_0xVivIcxZ_hnrRtwq4cZSj1c-SG9 z7vHBCA=fd0O1<4*=lu$6pn~_pVKyL@ztw1swbZi0B?spLo56ZKu5;7ZeUml1Ws1?u zqMf1p{5myAzeX$lAi{jIUqo1g4!zWLMm9cfWcnw`k6*BR^?$2(&yW?>w;G$EmTA@a z6?y#K$C~ZT8+v{87n5Dm&H6Pb_EQ@V0IWmG9cG=O;(;5aMWWrIPzz4Q`mhK;qQp~a z+BbQrEQ+w{SeiuG-~Po5f=^EvlouB@_|4xQXH@A~KgpFHrwu%dwuCR)=B&C(y6J4J zvoGk9;lLs9%iA-IJGU#RgnZZR+@{5lYl8(e1h6&>Vc_mvg0d@);X zji4T|n#lB!>pfL|8tQYkw?U2bD`W{na&;*|znjmalA&f;*U++_aBYerq;&C8Kw7mI z7tsG*?7*5j&dU)Lje;^{D_h`%(dK|pB*A*1(Jj)w^mZ9HB|vGLkF1GEFhu&rH=r=8 zMxO42e{Si6$m+Zj`_mXb&w5Q(i|Yxyg?juUrY}78uo@~3v84|8dfgbPd0iQJRdMj< zncCNGdMEcsxu#o#B5+XD{tsg*;j-eF8`mp~K8O1J!Z0+>0=7O=4M}E?)H)ENE;P*F z$Ox?ril_^p0g7xhDUf(q652l|562VFlC8^r8?lQv;TMvn+*8I}&+hIQYh2 z1}uQQaag&!-+DZ@|C+C$bN6W;S-Z@)d1|en+XGvjbOxCa-qAF*LA=6s(Jg+g;82f$ z(Vb)8I)AH@cdjGFAR5Rqd0wiNCu!xtqWbcTx&5kslzTb^7A78~Xzw1($UV6S^VWiP zFd{Rimd-0CZC_Bu(WxBFW7+k{cOW7DxBBkJdJ;VsJ4Z@lERQr%3eVv&$%)b%<~ zCl^Y4NgO}js@u{|o~KTgH}>!* z_iDNqX2(As7T0xivMH|3SC1ivm8Q}6Ffcd7owUKN5lHAtzMM4<0v+ykUT!QiowO;`@%JGv+K$bBx@*S7C8GJVqQ_K>12}M`f_Ys=S zKFh}HM9#6Izb$Y{wYzItTy+l5U2oL%boCJn?R3?jP@n$zSIwlmyGq30Cw4QBO|14` zW5c);AN*J3&eMFAk$SR~2k|&+&Bc$e>s%c{`?d~85S-UWjA>DS5+;UKZ}5oVa5O(N zqqc@>)nee)+4MUjH?FGv%hm2{IlIF-QX}ym-7ok4Z9{V+ZHVZQl$A*x!(q%<2~iVv znUa+BX35&lCb#9VE-~Y^W_f;Xhl%vgjwdjzMy$FsSIj&ok}L+X`4>J=9BkN&nu^E*gbhj3(+D>C4E z@Fwq_=N)^bKFSHTzZk?-gNU$@l}r}dwGyh_fNi=9b|n}J>&;G!lzilbWF4B}BBq4f zYIOl?b)PSh#XTPp4IS5ZR_2C!E)Z`zH0OW%4;&~z7UAyA-X|sh9@~>cQW^COA9hV4 zXcA6qUo9P{bW1_2`eo6%hgbN%(G-F1xTvq!sc?4wN6Q4`e9Hku zFwvlAcRY?6h^Fj$R8zCNEDq8`=uZB8D-xn)tA<^bFFy}4$vA}Xq0jAsv1&5!h!yRA zU()KLJya5MQ`q&LKdH#fwq&(bNFS{sKlEh_{N%{XCGO+po#(+WCLmKW6&5iOHny>g z3*VFN?mx!16V5{zyuMWDVP8U*|BGT$(%IO|)?EF|OI*sq&RovH!N%=>i_c?K*A>>k zyg1+~++zY4Q)J;VWN0axhoIKx;l&G$gvj(#go^pZskEVj8^}is3Jw26LzYYVos0HX zRPvmK$dVxM8(Tc?pHFe0Z3uq){{#OK3i-ra#@+;*=ui8)y6hsRv z4Fxx1c1+fr!VI{L3DFMwXKrfl#Q8hfP@ajgEau&QMCxd{g#!T^;ATXW)nUg&$-n25 zruy3V!!;{?OTobo|0GAxe`Acn3GV@W=&n;~&9 zQM>NWW~R@OYORkJAo+eq1!4vzmf9K%plR4(tB@TR&FSbDoRgJ8qVcH#;7lQub*nq&?Z>7WM=oeEVjkaG zT#f)=o!M2DO5hLR+op>t0CixJCIeXH*+z{-XS|%jx)y(j&}Wo|3!l7{o)HU3m7LYyhv*xF&tq z%IN7N;D4raue&&hm0xM=`qv`+TK@;_xAcGKuK(2|75~ar2Yw)geNLSmVxV@x89bQu zpViVKKnlkwjS&&c|-X6`~xdnh}Ps)Hs z4VbUL^{XNLf7_|Oi>tA%?SG5zax}esF*FH3d(JH^Gvr7Rp*n=t7frH!U;!y1gJB^i zY_M$KL_}mW&XKaDEi9K-wZR|q*L32&m+2n_8lq$xRznJ7p8}V>w+d@?uB!eS3#u<} zIaqi!b!w}a2;_BfUUhGMy#4dPx>)_>yZ`ai?Rk`}d0>~ce-PfY-b?Csd(28yX22L% zI7XI>OjIHYTk_@Xk;Gu^F52^Gn6E1&+?4MxDS2G_#PQ&yXPXP^<-p|2nLTb@AAQEY zI*UQ9Pmm{Kat}wuazpjSyXCdnrD&|C1c5DIb1TnzF}f4KIV6D)CJ!?&l&{T)e4U%3HTSYqsQ zo@zWB1o}ceQSV)<4G<)jM|@@YpL+XHuWsr5AYh^Q{K=wSV99D~4RRU52FufmMBMmd z_H}L#qe(}|I9ZyPRD6kT>Ivj&2Y?qVZq<4bG_co_DP`sE*_Xw8D;+7QR$Uq(rr+u> z8bHUWbV19i#)@@G4bCco@Xb<8u~wVDz9S`#k@ciJtlu@uP1U0X?yov8v9U3VOig2t zL9?n$P3=1U_Emi$#slR>N5wH-=J&T=EdUHA}_Z zZIl3nvMP*AZS9{cDqFanrA~S5BqxtNm9tlu;^`)3X&V4tMAkJ4gEIPl= zoV!Gyx0N{3DpD@)pv^iS*dl2FwANu;1;%EDl}JQ7MbxLMAp>)UwNwe{=V}O-5C*>F zu?Ny+F64jZn<+fKjF01}8h5H_3pey|;%bI;SFg$w8;IC<8l|3#Lz2;mNNik6sVTG3 z+Su^rIE#40C4a-587$U~%KedEEw1%r6wdvoMwpmlXH$xPnNQN#f%Z7|p)nC>WsuO= z4zyqapLS<8(UJ~Qi9d|dQijb_xhA2)v>la)<1md5s^R1N&PiuA$^k|A<+2C?OiHbj z>Bn$~t)>Y(Zb`8hW7q9xQ=s>Rv81V+UiuZJc<23HplI88isqRCId89fb`Kt|CxVIg znWcwprwXnotO>3s&Oypkte^9yJjlUVVxSe%_xlzmje|mYOVPH^vjA=?6xd0vaj0Oz zwJ4OJNiFdnHJX3rw&inskjryukl`*fRQ#SMod5J|KroJRsVXa5_$q7whSQ{gOi*s0 z1LeCy|JBWRsDPn7jCb4s(p|JZiZ8+*ExC@Vj)MF|*Vp{B(ziccSn`G1Br9bV(v!C2 z6#?eqpJBc9o@lJ#^p-`-=`4i&wFe>2)nlPK1p9yPFzJCzBQbpkcR>={YtamIw)3nt z(QEF;+)4`>8^_LU)_Q3 zC5_7lgi_6y>U%m)m@}Ku4C}=l^J=<<7c;99ec3p{aR+v=diuJR7uZi%aQv$oP?dn?@6Yu_+*^>T0ptf(oobdL;6)N-I!TO`zg^Xbv3#L0I~sn@WGk-^SmPh5>W+LB<+1PU}AKa?FCWF|qMNELOgdxR{ zbqE7@jVe+FklzdcD$!(A$&}}H*HQFTJ+AOrJYnhh}Yvta(B zQ_bW4Rr;R~&6PAKwgLWXS{Bnln(vUI+~g#kl{r+_zbngT`Y3`^Qf=!PxN4IYX#iW4 zucW7@LLJA9Zh3(rj~&SyN_pjO8H&)|(v%!BnMWySBJV=eSkB3YSTCyIeJ{i;(oc%_hk{$_l;v>nWSB)oVeg+blh=HB5JSlG_r7@P z3q;aFoZjD_qS@zygYqCn=;Zxjo!?NK!%J$ z52lOP`8G3feEj+HTp@Tnn9X~nG=;tS+z}u{mQX_J0kxtr)O30YD%oo)L@wy`jpQYM z@M>Me=95k1p*FW~rHiV1CIfVc{K8r|#Kt(ApkXKsDG$_>76UGNhHExFCw#Ky9*B-z zNq2ga*xax!HMf_|Vp-86r{;~YgQKqu7%szk8$hpvi_2I`OVbG1doP(`gn}=W<8%Gn z%81#&WjkH4GV;4u43EtSW>K_Ta3Zj!XF?;SO3V#q=<=>Tc^@?A`i;&`-cYj|;^ zEo#Jl5zSr~_V-4}y8pnufXLa80vZY4z2ko7fj>DR)#z=wWuS1$$W!L?(y}YC+yQ|G z@L&`2upy3f>~*IquAjkVNU>}c10(fq#HdbK$~Q3l6|=@-eBbo>B9(6xV`*)sae58*f zym~RRVx;xoCG3`JV`xo z!lFw)=t2Hy)e!IFs?0~7osWk(d%^wxq&>_XD4+U#y&-VF%4z?XH^i4w`TxpF{`XhZ z%G}iEzf!T(l>g;W9<~K+)$g!{UvhW{E0Lis(S^%I8OF&%kr!gJ&fMOpM=&=Aj@wuL zBX?*6i51Qb$uhkwkFYkaD_UDE+)rh1c;(&Y=B$3)J&iJfQSx!1NGgPtK!$c9OtJuu zX(pV$bfuJpRR|K(dp@^j}i&HeJOh@|7lWo8^$*o~Xqo z5Sb+!EtJ&e@6F+h&+_1ETbg7LfP5GZjvIUIN3ibCOldAv z)>YdO|NH$x7AC8dr=<2ekiY1%fN*r~e5h6Yaw<{XIErujKV~tiyrvV_DV0AzEknC- zR^xKM3i<1UkvqBj3C{wDvytOd+YtDSGu!gEMg+!&|8BQrT*|p)(dwQLEy+ zMtMzij3zo40)CA!BKZF~yWg?#lWhqD3@qR)gh~D{uZaJO;{OWV8XZ_)J@r3=)T|kt zUS1pXr6-`!Z}w2QR7nP%d?ecf90;K_7C3d!UZ`N(TZoWNN^Q~RjVhQG{Y<%E1PpV^4 z-m-K+$A~-+VDABs^Q@U*)YvhY4Znn2^w>732H?NRK(5QSS$V@D7yz2BVX4)f5A04~$WbxGOam22>t&uD)JB8-~yiQW6ik;FGblY_I>SvB_z2?PS z*Qm&qbKI{H1V@YGWzpx`!v)WeLT02};JJo*#f$a*FH?IIad-^(;9XC#YTWN6;Z6+S zm4O1KH=#V@FJw7Pha0!9Vb%ZIM$)a`VRMoiN&C|$YA3~ZC*8ayZRY^fyuP6$n%2IU z$#XceYZeqLTXw(m$_z|33I$B4k~NZO>pP6)H_}R{E$i%USGy{l{-jOE;%CloYPEU+ zRFxOn4;7lIOh!7abb23YKD+_-?O z0FP9otcAh+oSj;=f#$&*ExUHpd&e#bSF%#8*&ItcL2H$Sa)?pt0Xtf+t)z$_u^wZi z44oE}r4kIZGy3!Mc8q$B&6JqtnHZ>Znn!Zh@6rgIu|yU+zG8q`q9%B18|T|oN3zMq z`l&D;U!OL~%>vo&q0>Y==~zLiCZk4v%s_7!9DxQ~id1LLE93gf*gg&2$|hB#j8;?3 z5v4S;oM6rT{Y;I+#FdmNw z){d%tNM<<#GN%n9ox7B=3#;u7unZ~tLB_vRZ52a&2=IM)2VkXm=L+Iqq~uk#Dug|x z>S84e+A7EiOY5lj*!q?6HDkNh~0g;0Jy(al!ZHHDtur9T$y-~)94HelX1NHjXWIM7UAe}$?jiz z9?P4`I0JM=G5K{3_%2jPLC^_Mlw?-kYYgb7`qGa3@dn|^1fRMwiyM@Ch z;CB&o7&&?c5e>h`IM;Wnha0QKnEp=$hA8TJgR-07N~U5(>9vJzeoFsSRBkDq=x(YgEMpb=l4TDD`2 zwVJpWGTA_u7}?ecW7s6%rUs&NXD3+n;jB86`X?8(l3MBo6)PdakI6V6a}22{)8ilT zM~T*mU}__xSy|6XSrJ^%lDAR3Lft%+yxC|ZUvSO_nqMX!_ul3;R#*{~4DA=h$bP)%8Yv9X zyp><|e8=_ttI}ZAwOd#dlnSjck#6%273{E$kJuCGu=I@O)&6ID{nWF5@gLb16sj|&Sb~+du4e4O_%_o`Ix4NRrAsyr1_}MuP94s>de8cH-OUkVPk3+K z&jW)It9QiU-ti~AuJkL`XMca8Oh4$SyJ=`-5WU<{cIh+XVH#e4d&zive_UHC!pN>W z3TB;Mn5i)9Qn)#6@lo4QpI3jFYc0~+jS)4AFz8fVC;lD^+idw^S~Qhq>Tg(!3$yLD zzktzoFrU@6s4wwCMz}edpF5i5Q1IMmEJQHzp(LAt)pgN3&O!&d?3W@6U4)I^2V{;- z6A(?zd93hS*uQmnh4T)nHnE{wVhh(=MMD(h(P4+^p83Om6t<*cUW>l(qJzr%5vp@K zN27ka(L{JX=1~e2^)F^i=TYj&;<7jyUUR2Bek^A8+3Up*&Xwc{)1nRR5CT8vG>ExV zHnF3UqXJOAno_?bnhCX-&kwI~Ti8t4`n0%Up>!U`ZvK^w2+0Cs-b9%w%4`$+To|k= zKtgc&l}P`*8IS>8DOe?EB84^kx4BQp3<7P{Pq}&p%xF_81pg!l2|u=&I{AuUgmF5n zJQCTLv}%}xbFGYtKfbba{CBo)lWW%Z>i(_NvLhoQZ*5-@2l&x>e+I~0Nld3UI9tdL zRzu8}i;X!h8LHVvN?C+|M81e>Jr38%&*9LYQec9Ax>?NN+9(_>XSRv&6hlCYB`>Qm z1&ygi{Y()OU4@D_jd_-7vDILR{>o|7-k)Sjdxkjgvi{@S>6GqiF|o`*Otr;P)kLHN zZkpts;0zw_6;?f(@4S1FN=m!4^mv~W+lJA`&7RH%2$)49z0A+8@0BCHtj|yH--AEL z0tW6G%X-+J+5a{5*WKaM0QDznf;V?L5&uQw+yegDNDP`hA;0XPYc6e0;Xv6|i|^F2WB)Z$LR|HR4 zTQsRAby9(^Z@yATyOgcfQw7cKyr^3Tz7lc7+JEwwzA7)|2x+PtEb>nD(tpxJQm)Kn zW9K_*r!L%~N*vS8<5T=iv|o!zTe9k_2jC_j*7ik^M_ zaf%k{WX{-;0*`t`G!&`eW;gChVXnJ-Rn)To8vW-?>>a%QU1v`ZC=U)f8iA@%JG0mZ zDqH;~mgBnrCP~1II<=V9;EBL)J+xzCoiRBaeH&J6rL!{4zIY8tZka?_FBeQeNO3q6 zyG_alW54Ba&wQf{&F1v-r1R6ID)PTsqjIBc+5MHkcW5Fnvi~{-FjKe)t1bl}Y;z@< z=!%zvpRua>>t_x}^}z0<7MI!H2v6|XAyR9!t50q-A)xk0nflgF4*OQlCGK==4S|wc zRMsSscNhRzHMBU8TdcHN!q^I}x0iXJ%uehac|Zs_B$p@CnF)HeXPpB_Za}F{<@6-4 zl%kml@}kHQ(ypD8FsPJ2=14xXJE|b20RUIgs!2|R3>LUMGF6X*B_I|$`Qg=;zm7C z{mEDy9dTmPbued7mlO@phdmAmJ7p@GR1bjCkMw6*G7#4+`k>fk1czdJUB!e@Q(~6# zwo%@p@V5RL0ABU2LH7Asq^quDUho@H>eTZH9f*no9fY0T zD_-9px3e}A!>>kv5wk91%C9R1J_Nh!*&Kk$J3KNxC}c_@zlgpJZ+5L)Nw|^p=2ue}CJtm;uj*Iqr)K})kA$xtNUEvX;4!Px*^&9T_`IN{D z{6~QY=Nau6EzpvufB^hflc#XIsSq0Y9(nf$d~6ZwK}fal92)fr%T3=q{0mP-EyP_G z)UR5h@IX}3Qll2b0oCAcBF>b*@Etu*aTLPU<%C>KoOrk=x?pN!#f_Og-w+;xbFgjQ zXp`et%lDBBh~OcFnMKMUoox0YwBNy`N0q~bSPh@+enQ=4RUw1) zpovN`QoV>vZ#5LvC;cl|6jPr}O5tu!Ipoyib8iXqy}TeJ;4+_7r<1kV0v5?Kv>fYp zg>9L`;XwXa&W7-jf|9~uP2iyF5`5AJ`Q~p4eBU$MCC00`rcSF>`&0fbd^_eqR+}mK z4n*PMMa&FOcc)vTUR zlDUAn-mh`ahi_`f`=39JYTNVjsTa_Y3b1GOIi)6dY)D}xeshB0T8Eov5%UhWd1)u}kjEQ|LDo{tqKKrYIfVz~@dp!! zMOnah@vp)%_-jDTUG09l+;{CkDCH|Q{NqX*uHa1YxFShy*1+;J`gywKaz|2Q{lG8x zP?KBur`}r`!WLKXY_K;C8$EWG>jY3UIh{+BLv0=2)KH%P}6xE2kg)%(-uA6lC?u8}{K(#P*c zE9C8t*u%j2r_{;Rpe1A{9nNXU;b_N0vNgyK!EZVut~}+R2rcbsHilqsOviYh-pYX= zHw@53nlmwYI5W5KP>&`dBZe0Jn?nAdC^HY1wlR6$u^PbpB#AS&5L6zqrXN&7*N2Q` z+Rae1EwS)H=aVSIkr8Ek^1jy2iS2o7mqm~Mr&g5=jjt7VxwglQ^`h#Mx+x2v|9ZAwE$i_9918MjJxTMr?n!bZ6n$}y11u8I9COTU`Z$Fi z!AeAQLMw^gp_{+0QTEJrhL424pVDp%wpku~XRlD3iv{vQ!lAf!_jyqd_h}+Tr1XG| z`*FT*NbPqvHCUsYAkFnM`@l4u_QH&bszpUK#M~XLJt{%?00GXY?u_{gj3Hvs!=N(I z(=AuWPijyoU!r?aFTsa8pLB&cx}$*%;K$e*XqF{~*rA-qn)h^!(-;e}O#B$|S~c+U zN4vyOK0vmtx$5K!?g*+J@G1NmlEI=pyZXZ69tAv=@`t%ag_Hk{LP~OH9iE)I= zaJ69b4kuCkV0V zo(M0#>phpQ_)@j;h%m{-a*LGi(72TP)ws2w*@4|C-3+;=5DmC4s7Lp95%n%@Ko zfdr3-a7m*dys9iIci$A=4NPJ`HfJ;hujLgU)ZRuJI`n;Pw|yksu!#LQnJ#dJysgNb z@@qwR^wrk(jbq4H?d!lNyy72~Dnn87KxsgQ!)|*m(DRM+eC$wh7KnS-mho3|KE)7h zK3k;qZ;K1Lj6uEXLYUYi)1FN}F@-xJ z@@3Hb84sl|j{4$3J}aTY@cbX@pzB_qM~APljrjju6P0tY{C@ zpUCOz_NFmALMv1*blCcwUD3?U6tYs+N%cmJ98D%3)%)Xu^uvzF zS5O!sc#X6?EwsYkvPo6A%O8&y8sCCQH<%f2togVwW&{M;PR!a(ZT_A+jVAbf{@5kL zB@Z(hb$3U{T_}SKA_CoQVU-;j>2J=L#lZ~aQCFg-d<9rzs$_gO&d5N6eFSc z1ml8)P*FSi+k@!^M9nDWR5e@ATD8oxtDu=36Iv2!;dZzidIS(PCtEuXAtlBb1;H%Z zwnC^Ek*D)EX4#Q>R$$WA2sxC_t(!!6Tr?C#@{3}n{<^o;9id1RA&-Pig1e-2B1XpG zliNjgmd3c&%A}s>qf{_j#!Z`fu0xIwm4L0)OF=u(OEmp;bLCIaZX$&J_^Z%4Sq4GZ zPn6sV_#+6pJmDN_lx@1;Zw6Md_p0w9h6mHtzpuIEwNn>OnuRSC2=>fP^Hqgc)xu^4 z<3!s`cORHJh#?!nKI`Et7{3C27+EuH)Gw1f)aoP|B3y?fuVfvpYYmmukx0ya-)TQX zR{ggy5cNf4X|g)nl#jC9p>7|09_S7>1D2GTRBUTW zAkQ=JMRogZqG#v;^=11O6@rPPwvJkr{bW-Qg8`q8GoD#K`&Y+S#%&B>SGRL>;ZunM@49!}Uy zN|bBCJ%sO;@3wl0>0gbl3L@1^O60ONObz8ZI7nder>(udj-jt`;yj^nTQ$L9`OU9W zX4alF#$|GiR47%x@s&LV>2Sz2R6?;2R~5k6V>)nz!o_*1Y!$p>BC5&?hJg_MiE6UBy>RkVZj`9UWbRkN-Hk!S`=BS3t3uyX6)7SF#)71*}`~Ogz z1rap5H6~dhBJ83;q-Y<5V35C2&F^JI-it(=5D#v!fAi9p#UwV~2tZQI+W(Dv?1t9? zfh*xpxxO{-(VGB>!Q&0%^YW_F!@aZS#ucP|YaD#>wd1Fv&Z*SR&mc;asi}1G) z_H>`!akh-Zxq9#io(7%;a$)w+{QH)Y$?UK1Dt^4)up!Szcxnu}kn$0afcfJL#IL+S z5gF_Y30j;{lNrG6m~$Ay?)*V9fZuU@3=kd40=LhazjFrau>(Y>SJNtOz>8x_X-BlA zIpl{i>OarVGj1v(4?^1`R}aQB&WCRQzS~;7R{tDZG=HhgrW@B`W|#cdyj%YBky)P= zpxuOZkW>S6%q7U{VsB#G(^FMsH5QuGXhb(sY+!-R8Bmv6Sx3WzSW<1MPPN1!&PurYky(@`bP9tz z52}LH9Q?+FF5jR6-;|+GVdRA!qtd;}*-h&iIw3Tq3qF9sDIb1FFxGbo&fbG5n8$3F zyY&PWL{ys^dTO}oZ#@sIX^BKW*bon=;te9j5k+T%wJ zNJtoN1~YVj4~YRrlZl)b&kJqp+Z`DqT!la$x&&IxgOQw#yZd-nBP3!7FijBXD|IsU8Zl^ zc6?MKpJQ+7ka|tZQLfchD$PD|;K(9FiLE|eUZX#EZxhG!S-63C$jWX1Yd!6-Yxi-u zjULIr|0-Q%D9jz}IF~S%>0(jOqZ(Ln<$9PxiySr&2Oic7vb<8q=46)Ln%Z|<*z5&> z3f~Zw@m;vR(bESB<=Jqkxn(=#hQw42l(7)h`vMQQTttz9XW6^|^8EK7qhju4r_c*b zJIi`)MB$w@9epwdIfnEBR+?~);yd6C(LeMC& zn&&N*?-g&BBJcV;8&UoZi4Lmxcj16ojlxR~zMrf=O_^i1wGb9X-0@6_rpjPYemIin zmJb+;lHe;Yp=8G)Q(L1bzH*}I>}uAqhj4;g)PlvD9_e_ScR{Ipq|$8NvAvLD8MYr}xl=bU~)f%B3E>r3Bu9_t|ThF3C5~BdOve zEbk^r&r#PT&?^V1cb{72yEWH}TXEE}w>t!cY~rA+hNOTK8FAtIEoszp!qqptS&;r$ zaYV-NX96-h$6aR@1xz6_E0^N49mU)-v#bwtGJm)ibygzJ8!7|WIrcb`$XH~^!a#s& z{Db-0IOTFq#9!^j!n_F}#Z_nX{YzBK8XLPVmc&X`fT7!@$U-@2KM9soGbmOSAmqV z{nr$L^MBo_u^Joyf0E^=eo{Rt0{{e$IFA(#*kP@SQd6lWT2-#>` zP1)7_@IO!9lk>Zt?#CU?cuhiLF&)+XEM9B)cS(gvQT!X3`wL*{fArTS;Ak`J<84du zALKPz4}3nlG8Fo^MH0L|oK2-4xIY!~Oux~1sw!+It)&D3p;+N8AgqKI`ld6v71wy8I!eP0o~=RVcFQR2Gr(eP_JbSytoQ$Yt}l*4r@A8Me94y z8cTDWhqlq^qoAhbOzGBXv^Wa4vUz$(7B!mX`T=x_ueKRRDfg&Uc-e1+z4x$jyW_Pm zp?U;-R#xt^Z8Ev~`m`iL4*c#65Nn)q#=Y0l1AuD&+{|8-Gsij3LUZXpM0Bx0u7WWm zH|%yE@-#XEph2}-$-thl+S;__ciBxSSzHveP%~v}5I%u!z_l_KoW{KRx2=eB33umE zIYFtu^5=wGU`Jab8#}cnYry@9p5UE#U|VVvx_4l49JQ;jQdp(uw=$^A$EA$LM%vmE zvdEOaIcp5qX8wX{mYf0;#51~imYYPn4=k&#DsKTxo{_Mg*;S495?OBY?#gv=edYC* z^O@-sd-qa+U24xvcbL0@C7_6o!$`)sVr-jSJE4XQUQ$?L7}2(}Eixqv;L8AdJAVqc zq}RPgpnDb@E_;?6K58r3h4-!4rT4Ab#rLHLX?eMOfluJk=3i1@Gt1i#iA=O`M0@x! z(HtJP9BMHXEzuD93m|B&woj0g6T?f#^)>J>|I4C5?Gam>n9!8CT%~aT;=oco5d6U8 zMXl(=W;$ND_8+DD*?|5bJ!;8ebESXMUKBAf7YBwNVJibGaJ*(2G`F%wx)grqVPjudiaq^Kl&g$8A2 zWMxMr@_$c}d+;_B`#kUX-t|4VKH&_f^^EP0&=DPLW)H)UzBG%%Tra*5 z%$kyZe3I&S#gfie^z5)!twG={3Cuh)FdeA!Kj<-9** zvT*5%Tb`|QbE!iW-XcOuy39>D3oe6x{>&<#E$o8Ac|j)wq#kQzz|ATd=Z0K!p2$QE zPu?jL8Lb^y3_CQE{*}sTDe!2!dtlFjq&YLY@2#4>XS`}v#PLrpvc4*@q^O{mmnr5D zmyJq~t?8>FWU5vZdE(%4cuZuao0GNjp3~Dt*SLaxI#g_u>hu@k&9Ho*#CZP~lFJHj z(e!SYlLigyc?&5-YxlE{uuk$9b&l6d`uIlpg_z15dPo*iU&|Khx2*A5Fp;8iK_bdP z?T6|^7@lcx2j0T@x>X7|kuuBSB7<^zeY~R~4McconTxA2flHC0_jFxmSTv-~?zVT| zG_|yDqa9lkF*B6_{j=T>=M8r<0s;@z#h)3BQ4NLl@`Xr__o7;~M&dL3J8fP&zLfDfy z);ckcTev{@OUlZ`bCo(-3? z1u1xD`PKgSg?RqeVVsF<1SLF;XYA@Bsa&cY!I48ZJn1V<3d!?s=St?TLo zC0cNr`qD*M#s6f~X>SCNVkva^9A2ZP>CoJ9bvgXe_c}WdX-)pHM5m7O zrHt#g$F0AO+nGA;7dSJ?)|Mo~cf{z2L)Rz!`fpi73Zv)H=a5K)*$5sf_IZypi($P5 zsPwUc4~P-J1@^3C6-r9{V-u0Z&Sl7vNfmuMY4yy*cL>_)BmQF!8Om9Dej%cHxbIzA zhtV0d{=%cr?;bpBPjt@4w=#<>k5ee=TiWAXM2~tUGfm z$s&!Dm0R^V$}fOR*B^kGaipi~rx~A2cS0;t&khV1a4u38*XRUP~f za!rZMtay8bsLt6yFYl@>-y^31(*P!L^^s@mslZy(SMsv9bVoX`O#yBgEcjCmGpyc* zeH$Dw6vB5P*;jor+JOX@;6K#+xc)Z9B8M=x2a@Wx-{snPGpRmOC$zpsqW*JCh@M2Y z#K+M(>=#d^>Of9C`))h<=Bsy)6zaMJ&x-t%&+UcpLjV`jo4R2025 zXaG8EA!0lQa)|dx-@{O)qP6`$rhCkoQqZ`^SW8g-kOwrwsK8 z3ms*AIcyj}-1x&A&vSq{r=QMyp3CHdWH35!sad#!Sm>^|-|afB+Q;|Iq@LFgqIp#Z zD1%H+3I?6RGnk&IFo|u+E0dCxXz4yI^1i!QTu7uvIEH>i3rR{srcST`LIRwdV1P;W z+%AN1NIf@xxvVLiSX`8ILA8MzNqE&7>%jMzGt9wm78bo9<;h*W84i29^w!>V>{N+S zd`5Zmz^G;f=icvoOZfK5#1ctx*~UwD=ab4DGQXehQ!XYnak*dee%YN$_ZPL%KZuz$ zD;$PpT;HM^$KwtQm@7uvT`i6>Hae1CoRVM2)NL<2-k2PiX=eAx+-6j#JI?M}(tuBW zkF%jjLR)O`gI2fcPBxF^HeI|DWwQWHVR!;;{BXXHskxh8F@BMDn`oEi-NHt;CLymW z=KSv5)3dyzec0T5B*`g-MQ<;gz=nIWKUi9ko<|4I(-E0k$QncH>E4l z**1w&#={&zv4Tvhgz#c29`m|;lU-jmaXFMC11 z*dlXDMEOG>VoLMc>!rApwOu2prKSi*!w%`yzGmS+k(zm*CsLK*wv{S_0WX^8A-rKy zbk^Gf_92^7iB_uUF)EE+ET4d|X|>d&mdN?x@vxKAQk`O+r4Qdu>XGy(a(19g;=jU} zFX{O*_NG>!$@jh!U369Lnc+D~qch3uT+_Amyi}*k#LAAwh}k8IPK5a-WZ81ufD>l> z$4cF}GSz>ce`3FAic}6W4Z7m9KGO?(eWqi@L|5Hq0@L|&2flN1PVl}XgQ2q*_n2s3 zt5KtowNkTYB5b;SVuoXA@i5irXO)A&%7?V`1@HGCB&)Wgk+l|^XXChq;u(nyPB}b3 zY>m5jkxpZgi)zfbgv&ec4Zqdvm+D<?Im*mXweS9H+V>)zF#Zp3)bhl$PbISY{5=_z!8&*Jv~NYtI-g!>fDs zmvL5O^U%!^VaKA9gvKw|5?-jk>~%CVGvctKmP$kpnpfN{D8@X*Aazi$txfa%vd-|E z>kYmV66W!lNekJPom29LdZ%(I+ZLZYTXzTg*to~m?7vp%{V<~>H+2}PQ?PPAq`36R z<%wR8v6UkS>Wt#hzGk#44W<%9S=nBfB);6clKwnxY}T*w21Qc3_?IJ@4gYzC7s;WP zVQNI(M=S=JT#xsZy7G`cR(BP9*je0bfeN8JN5~zY(DDs0t{LpHOIbN);?T-69Pf3R zSNe*&p2%AwXHL>__g+xd4Hlc_vu<25H?(`nafS%)3UPP7_4;gk-9ckt8SJRTv5v0M z_Hww`qPudL?ajIR&X*;$y-`<)6dxx1U~5eGS13CB!lX;3w7n&lDDiArbAhSycd}+b zya_3p@A`$kQy;|NJZ~s44Hqo7Hwt}X86NK=(ey>lgWTtGL6k@Gy;PbO!M%1~Wcn2k zUFP|*5d>t-X*RU8g%>|(wwj*~#l4z^Aatf^DWd1Wj#Q*AY0D^V@sC`M zjJc6qXu0I7Y*2;;gGu!plAFzG=J;1%eIOdn zQA>J&e05UN*7I5@yRhK|lbBSfJ+5Uq;!&HV@xfPZrgD}kE*1DSq^=%{o%|LChhl#0 zlMb<^a6ixzpd{kNZr|3jTGeEzuo}-eLT-)Q$#b{!vKx8Tg}swCni>{#%vDY$Ww$84 zew3c9BBovqb}_&BRo#^!G(1Eg((BScRZ}C)Oz?y`T5wOrv);)b^4XR8 zhJo7+<^7)qB>I;46!GySzdneZ>n_E1oWZY;kf94#)s)kWjuJN1c+wbVoNQcmnv}{> zN0pF+Sl3E}UQ$}slSZeLJrwT>Sr}#V(dVaezCQl2|4LN`7L7v&siYR|r7M(*JYfR$ zst3=YaDw$FSc{g}KHO&QiKxuhEzF{f%RJLKe3p*7=oo`WNP)M(9X1zIQPP0XHhY3c znrP{$4#Ol$A0s|4S7Gx2L23dv*Gv2o;h((XVn+9+$qvm}s%zi6nI-_s6?mG! zj{DV;qesJb&owKeEK?=J>UcAlYckA7Sl+I&IN=yasrZOkejir*kE@SN`fk<8Fgx*$ zy&fE6?}G)d_N`){P~U@1jRVA|2*69)KSe_}!~?+`Yb{Y=O~_+@!j<&oVQQMnhoIRU zA0CyF1OFfkK44n*JD~!2!SCPM;PRSk%1XL=0&rz00wxPs&-_eapJy#$h!eqY%nS0{ z!aGg58JIJPF3_ci%n)QSVpa2H`vIe$RD43;#IRfDV&Ibit z+?>HW4{2wOfC6Fw)}4x}i1maDxcE1qi@BS*qcxD2gE@h3#4cgU*D-&3z7D|tVZWt= z-Cy2+*Cm@P4GN_TPUtaVyVesbVDazF@)j8VJ4>XZv!f%}&eO1SvIgr}4`A*3#vat< z_MoByL(qW6L7SFZ#|Gc1fFN)L2PxY+{B8tJp+pxRyz*87)vXR}*=&ahXjBlQKguuf zX6x<<6fQulE^C*KH8~W%ptpaC0l?b=_{~*U4?5Vt;dgM4t_{&UZ1C2j?b>b+5}{IF_CUyvz-@QZPMlJ)r_tS$9kH%RPv#2_nMb zRLj5;chJ72*U`Z@Dqt4$@_+k$%|8m(HqLG!qT4P^DdfvGf&){gKnGCX#H0!;W=AGP zbA&Z`-__a)VTS}kKFjWGk z%|>yE?t*EJ!qeQ%dPk$;xIQ+P0;()PCBDgjJm6Buj{f^awNoVx+9<|lg3%-$G(*f) zll6oOkN|yamn1uyl2*N-lnqRI1cvs_JxLTeahEK=THV$Sz*gQhKNb*p0fNoda#-&F zB-qJgW^g}!TtM|0bS2QZekW7_tKu%GcJ!4?lObt0z_$mZ4rbQ0o=^curCs3bJK6sq z9fu-aW-l#>z~ca(B;4yv;2RZ?tGYAU)^)Kz{L|4oPj zdOf_?de|#yS)p2v8-N||+XL=O*%3+y)oI(HbM)Ds?q8~HPzIP(vs*G`iddbWq}! z(2!VjP&{Z1w+%eUq^ '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/gradlew.bat b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/gradlew.bat deleted file mode 100644 index f127cfd49d4..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/gradlew.bat +++ /dev/null @@ -1,91 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/source_archive.expected b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/source_archive.expected new file mode 100644 index 00000000000..2d3a437d507 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/source_archive.expected @@ -0,0 +1,29 @@ +.gradle/7.4/dependencies-accessors/gc.properties +.gradle/7.4/gc.properties +.gradle/buildOutputCleanup/cache.properties +.gradle/vcs-1/gc.properties +gradle/wrapper/gradle-wrapper.properties +project/build/generated/source/buildConfig/release/com/github/androidsample/BuildConfig.java +project/build/intermediates/app_metadata/release/app-metadata.properties +project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml +project/build/intermediates/incremental/lintVitalRelease/module.xml +project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalRelease/release.xml +project/build/intermediates/incremental/mergeReleaseAssets/merger.xml +project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml +project/build/intermediates/incremental/mergeReleaseResources/compile-file-map.properties +project/build/intermediates/incremental/mergeReleaseResources/merger.xml +project/build/intermediates/incremental/mergeReleaseShaders/merger.xml +project/build/intermediates/lint_vital_partial_results/release/out/lint-issues-release.xml +project/build/intermediates/merged_manifest/release/AndroidManifest.xml +project/build/intermediates/merged_manifests/release/AndroidManifest.xml +project/build/intermediates/packaged_manifests/release/AndroidManifest.xml +project/src/main/AndroidManifest.xml +project/src/main/java/com/github/androidsample/Main.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/test.expected b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/test.expected deleted file mode 100644 index f49910c2646..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/test.expected +++ /dev/null @@ -1,23 +0,0 @@ -#select -| project/build/generated/source/buildConfig/release/com/github/androidsample/BuildConfig.java:0:0:0:0 | BuildConfig | -| project/src/main/java/com/github/androidsample/Main.java:0:0:0:0 | Main | -xmlFiles -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml | -| project/build/intermediates/incremental/lintVitalRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalRelease/module.xml | -| project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalRelease/release.xml | -| project/build/intermediates/incremental/mergeReleaseAssets/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseAssets/merger.xml | -| project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml | -| project/build/intermediates/incremental/mergeReleaseResources/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseResources/merger.xml | -| project/build/intermediates/incremental/mergeReleaseShaders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseShaders/merger.xml | -| project/build/intermediates/lint_vital_partial_results/release/out/lint-issues-release.xml:0:0:0:0 | project/build/intermediates/lint_vital_partial_results/release/out/lint-issues-release.xml | -| project/build/intermediates/merged_manifest/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifest/release/AndroidManifest.xml | -| project/build/intermediates/merged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifests/release/AndroidManifest.xml | -| project/build/intermediates/packaged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/packaged_manifests/release/AndroidManifest.xml | -| project/src/main/AndroidManifest.xml:0:0:0:0 | project/src/main/AndroidManifest.xml | diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/test.py b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/test.py index 7f379da0a07..d3399e414e6 100644 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/test.py +++ b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/test.py @@ -1,7 +1,2 @@ -import sys - -from create_database_utils import * - -try_use_java11() - -run_codeql_database_create([], lang="java") +def test(codeql, use_java_11, java, gradle_7_4, android_sdk): + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/test.ql b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-kotlin-build-script/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/force_sequential_test_execution deleted file mode 100644 index 4947fd6fe51..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/force_sequential_test_execution +++ /dev/null @@ -1,4 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. -# Additionally, Android SDK on-demand downloading can fail when multiple tests try to download the same SDK in parallel. diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/source_archive.expected b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/source_archive.expected new file mode 100644 index 00000000000..a8f354b9e17 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/source_archive.expected @@ -0,0 +1,29 @@ +.gradle/7.0.2/dependencies-accessors/gc.properties +.gradle/7.0.2/gc.properties +.gradle/buildOutputCleanup/cache.properties +.gradle/vcs-1/gc.properties +gradle/wrapper/gradle-wrapper.properties +project/build/generated/source/buildConfig/release/com/github/androidsample/BuildConfig.java +project/build/intermediates/app_metadata/release/app-metadata.properties +project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml +project/build/intermediates/incremental/lintVitalRelease/module.xml +project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalRelease/release.xml +project/build/intermediates/incremental/mergeReleaseAssets/merger.xml +project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml +project/build/intermediates/incremental/mergeReleaseResources/compile-file-map.properties +project/build/intermediates/incremental/mergeReleaseResources/merger.xml +project/build/intermediates/incremental/mergeReleaseShaders/merger.xml +project/build/intermediates/lint_vital_partial_results/release/out/lint-issues-release.xml +project/build/intermediates/merged_manifest/release/AndroidManifest.xml +project/build/intermediates/merged_manifests/release/AndroidManifest.xml +project/build/intermediates/packaged_manifests/release/AndroidManifest.xml +project/src/main/AndroidManifest.xml +project/src/main/java/com/github/androidsample/Main.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/test.expected b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/test.expected deleted file mode 100644 index f49910c2646..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/test.expected +++ /dev/null @@ -1,23 +0,0 @@ -#select -| project/build/generated/source/buildConfig/release/com/github/androidsample/BuildConfig.java:0:0:0:0 | BuildConfig | -| project/src/main/java/com/github/androidsample/Main.java:0:0:0:0 | Main | -xmlFiles -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml | -| project/build/intermediates/incremental/lintVitalRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalRelease/module.xml | -| project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalRelease/release.xml | -| project/build/intermediates/incremental/mergeReleaseAssets/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseAssets/merger.xml | -| project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml | -| project/build/intermediates/incremental/mergeReleaseResources/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseResources/merger.xml | -| project/build/intermediates/incremental/mergeReleaseShaders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseShaders/merger.xml | -| project/build/intermediates/lint_vital_partial_results/release/out/lint-issues-release.xml:0:0:0:0 | project/build/intermediates/lint_vital_partial_results/release/out/lint-issues-release.xml | -| project/build/intermediates/merged_manifest/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifest/release/AndroidManifest.xml | -| project/build/intermediates/merged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifests/release/AndroidManifest.xml | -| project/build/intermediates/packaged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/packaged_manifests/release/AndroidManifest.xml | -| project/src/main/AndroidManifest.xml:0:0:0:0 | project/src/main/AndroidManifest.xml | diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/test.py b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/test.py index 36702f6bb24..ca4ae04350f 100644 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/test.py +++ b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/test.py @@ -1,8 +1,2 @@ -from create_database_utils import * -from toolchains_test_utils import * - -try_use_java11() - -toolchains_file = actions_expose_all_toolchains() - -run_codeql_database_create([], lang="java", extra_env={"LGTM_INDEX_MAVEN_TOOLCHAINS_FILE": toolchains_file}) +def test(codeql, use_java_11, java, android_sdk, actions_toolchains_file): + codeql.database.create(_env={"LGTM_INDEX_MAVEN_TOOLCHAINS_FILE": str(actions_toolchains_file)}) diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/test.ql b/java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style-no-wrapper/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style/.gitattributes b/java/ql/integration-tests/all-platforms/java/android-sample-old-style/.gitattributes deleted file mode 100644 index 00a51aff5e5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style/.gitattributes +++ /dev/null @@ -1,6 +0,0 @@ -# -# https://help.github.com/articles/dealing-with-line-endings/ -# -# These are explicitly windows files and should use crlf -*.bat text eol=crlf - diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/android-sample-old-style/force_sequential_test_execution deleted file mode 100644 index 4947fd6fe51..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style/force_sequential_test_execution +++ /dev/null @@ -1,4 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. -# Additionally, Android SDK on-demand downloading can fail when multiple tests try to download the same SDK in parallel. diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style/gradle/wrapper/gradle-wrapper.jar b/java/ql/integration-tests/all-platforms/java/android-sample-old-style/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 249e5832f090a2944b7473328c07c9755baa3196..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60756 zcmb5WV{~QRw(p$^Dz@00IL3?^hro$gg*4VI_WAaTyVM5Foj~O|-84 z$;06hMwt*rV;^8iB z1~&0XWpYJmG?Ts^K9PC62H*`G}xom%S%yq|xvG~FIfP=9*f zZoDRJBm*Y0aId=qJ?7dyb)6)JGWGwe)MHeNSzhi)Ko6J<-m@v=a%NsP537lHe0R* z`If4$aaBA#S=w!2z&m>{lpTy^Lm^mg*3?M&7HFv}7K6x*cukLIGX;bQG|QWdn{%_6 zHnwBKr84#B7Z+AnBXa16a?or^R?+>$4`}{*a_>IhbjvyTtWkHw)|ay)ahWUd-qq$~ zMbh6roVsj;_qnC-R{G+Cy6bApVOinSU-;(DxUEl!i2)1EeQ9`hrfqj(nKI7?Z>Xur zoJz-a`PxkYit1HEbv|jy%~DO^13J-ut986EEG=66S}D3!L}Efp;Bez~7tNq{QsUMm zh9~(HYg1pA*=37C0}n4g&bFbQ+?-h-W}onYeE{q;cIy%eZK9wZjSwGvT+&Cgv z?~{9p(;bY_1+k|wkt_|N!@J~aoY@|U_RGoWX<;p{Nu*D*&_phw`8jYkMNpRTWx1H* z>J-Mi_!`M468#5Aix$$u1M@rJEIOc?k^QBc?T(#=n&*5eS#u*Y)?L8Ha$9wRWdH^3D4|Ps)Y?m0q~SiKiSfEkJ!=^`lJ(%W3o|CZ zSrZL-Xxc{OrmsQD&s~zPfNJOpSZUl%V8tdG%ei}lQkM+z@-4etFPR>GOH9+Y_F<3=~SXln9Kb-o~f>2a6Xz@AS3cn^;c_>lUwlK(n>z?A>NbC z`Ud8^aQy>wy=$)w;JZzA)_*Y$Z5hU=KAG&htLw1Uh00yE!|Nu{EZkch zY9O6x7Y??>!7pUNME*d!=R#s)ghr|R#41l!c?~=3CS8&zr6*aA7n9*)*PWBV2w+&I zpW1-9fr3j{VTcls1>ua}F*bbju_Xq%^v;-W~paSqlf zolj*dt`BBjHI)H9{zrkBo=B%>8}4jeBO~kWqO!~Thi!I1H(in=n^fS%nuL=X2+s!p}HfTU#NBGiwEBF^^tKU zbhhv+0dE-sbK$>J#t-J!B$TMgN@Wh5wTtK2BG}4BGfsZOoRUS#G8Cxv|6EI*n&Xxq zt{&OxCC+BNqz$9b0WM7_PyBJEVObHFh%%`~!@MNZlo*oXDCwDcFwT~Rls!aApL<)^ zbBftGKKBRhB!{?fX@l2_y~%ygNFfF(XJzHh#?`WlSL{1lKT*gJM zs>bd^H9NCxqxn(IOky5k-wALFowQr(gw%|`0991u#9jXQh?4l|l>pd6a&rx|v=fPJ z1mutj{YzpJ_gsClbWFk(G}bSlFi-6@mwoQh-XeD*j@~huW4(8ub%^I|azA)h2t#yG z7e_V_<4jlM3D(I+qX}yEtqj)cpzN*oCdYHa!nm%0t^wHm)EmFP*|FMw!tb@&`G-u~ zK)=Sf6z+BiTAI}}i{*_Ac$ffr*Wrv$F7_0gJkjx;@)XjYSh`RjAgrCck`x!zP>Ifu z&%he4P|S)H*(9oB4uvH67^0}I-_ye_!w)u3v2+EY>eD3#8QR24<;7?*hj8k~rS)~7 zSXs5ww)T(0eHSp$hEIBnW|Iun<_i`}VE0Nc$|-R}wlSIs5pV{g_Dar(Zz<4X3`W?K z6&CAIl4U(Qk-tTcK{|zYF6QG5ArrEB!;5s?tW7 zrE3hcFY&k)+)e{+YOJ0X2uDE_hd2{|m_dC}kgEKqiE9Q^A-+>2UonB+L@v3$9?AYw zVQv?X*pK;X4Ovc6Ev5Gbg{{Eu*7{N3#0@9oMI~}KnObQE#Y{&3mM4`w%wN+xrKYgD zB-ay0Q}m{QI;iY`s1Z^NqIkjrTlf`B)B#MajZ#9u41oRBC1oM1vq0i|F59> z#StM@bHt|#`2)cpl_rWB($DNJ3Lap}QM-+A$3pe}NyP(@+i1>o^fe-oxX#Bt`mcQc zb?pD4W%#ep|3%CHAYnr*^M6Czg>~L4?l16H1OozM{P*en298b+`i4$|w$|4AHbzqB zHpYUsHZET$Z0ztC;U+0*+amF!@PI%^oUIZy{`L{%O^i{Xk}X0&nl)n~tVEpcAJSJ} zverw15zP1P-O8h9nd!&hj$zuwjg?DoxYIw{jWM zW5_pj+wFy8Tsa9g<7Qa21WaV&;ejoYflRKcz?#fSH_)@*QVlN2l4(QNk| z4aPnv&mrS&0|6NHq05XQw$J^RR9T{3SOcMKCXIR1iSf+xJ0E_Wv?jEc*I#ZPzyJN2 zUG0UOXHl+PikM*&g$U@g+KbG-RY>uaIl&DEtw_Q=FYq?etc!;hEC_}UX{eyh%dw2V zTTSlap&5>PY{6I#(6`j-9`D&I#|YPP8a;(sOzgeKDWsLa!i-$frD>zr-oid!Hf&yS z!i^cr&7tN}OOGmX2)`8k?Tn!!4=tz~3hCTq_9CdiV!NIblUDxHh(FJ$zs)B2(t5@u z-`^RA1ShrLCkg0)OhfoM;4Z{&oZmAec$qV@ zGQ(7(!CBk<5;Ar%DLJ0p0!ResC#U<+3i<|vib1?{5gCebG7$F7URKZXuX-2WgF>YJ^i zMhHDBsh9PDU8dlZ$yJKtc6JA#y!y$57%sE>4Nt+wF1lfNIWyA`=hF=9Gj%sRwi@vd z%2eVV3y&dvAgyuJ=eNJR+*080dbO_t@BFJO<@&#yqTK&+xc|FRR;p;KVk@J3$S{p` zGaMj6isho#%m)?pOG^G0mzOAw0z?!AEMsv=0T>WWcE>??WS=fII$t$(^PDPMU(P>o z_*0s^W#|x)%tx8jIgZY~A2yG;US0m2ZOQt6yJqW@XNY_>_R7(Nxb8Ged6BdYW6{prd!|zuX$@Q2o6Ona8zzYC1u!+2!Y$Jc9a;wy+pXt}o6~Bu1oF1c zp7Y|SBTNi@=I(K%A60PMjM#sfH$y*c{xUgeSpi#HB`?|`!Tb&-qJ3;vxS!TIzuTZs-&%#bAkAyw9m4PJgvey zM5?up*b}eDEY+#@tKec)-c(#QF0P?MRlD1+7%Yk*jW;)`f;0a-ZJ6CQA?E%>i2Dt7T9?s|9ZF|KP4;CNWvaVKZ+Qeut;Jith_y{v*Ny6Co6!8MZx;Wgo z=qAi%&S;8J{iyD&>3CLCQdTX*$+Rx1AwA*D_J^0>suTgBMBb=*hefV+Ars#mmr+YsI3#!F@Xc1t4F-gB@6aoyT+5O(qMz*zG<9Qq*f0w^V!03rpr*-WLH}; zfM{xSPJeu6D(%8HU%0GEa%waFHE$G?FH^kMS-&I3)ycx|iv{T6Wx}9$$D&6{%1N_8 z_CLw)_9+O4&u94##vI9b-HHm_95m)fa??q07`DniVjAy`t7;)4NpeyAY(aAk(+T_O z1om+b5K2g_B&b2DCTK<>SE$Ode1DopAi)xaJjU>**AJK3hZrnhEQ9E`2=|HHe<^tv z63e(bn#fMWuz>4erc47}!J>U58%<&N<6AOAewyzNTqi7hJc|X{782&cM zHZYclNbBwU6673=!ClmxMfkC$(CykGR@10F!zN1Se83LR&a~$Ht&>~43OX22mt7tcZUpa;9@q}KDX3O&Ugp6< zLZLfIMO5;pTee1vNyVC$FGxzK2f>0Z-6hM82zKg44nWo|n}$Zk6&;5ry3`(JFEX$q zK&KivAe${e^5ZGc3a9hOt|!UOE&OocpVryE$Y4sPcs4rJ>>Kbi2_subQ9($2VN(3o zb~tEzMsHaBmBtaHAyES+d3A(qURgiskSSwUc9CfJ@99&MKp2sooSYZu+-0t0+L*!I zYagjOlPgx|lep9tiU%ts&McF6b0VE57%E0Ho%2oi?=Ks+5%aj#au^OBwNwhec zta6QAeQI^V!dF1C)>RHAmB`HnxyqWx?td@4sd15zPd*Fc9hpDXP23kbBenBxGeD$k z;%0VBQEJ-C)&dTAw_yW@k0u?IUk*NrkJ)(XEeI z9Y>6Vel>#s_v@=@0<{4A{pl=9cQ&Iah0iD0H`q)7NeCIRz8zx;! z^OO;1+IqoQNak&pV`qKW+K0^Hqp!~gSohcyS)?^P`JNZXw@gc6{A3OLZ?@1Uc^I2v z+X!^R*HCm3{7JPq{8*Tn>5;B|X7n4QQ0Bs79uTU%nbqOJh`nX(BVj!#f;#J+WZxx4 z_yM&1Y`2XzhfqkIMO7tB3raJKQS+H5F%o83bM+hxbQ zeeJm=Dvix$2j|b4?mDacb67v-1^lTp${z=jc1=j~QD>7c*@+1?py>%Kj%Ejp7Y-!? z8iYRUlGVrQPandAaxFfks53@2EC#0)%mrnmGRn&>=$H$S8q|kE_iWko4`^vCS2aWg z#!`RHUGyOt*k?bBYu3*j3u0gB#v(3tsije zgIuNNWNtrOkx@Pzs;A9un+2LX!zw+p3_NX^Sh09HZAf>m8l@O*rXy_82aWT$Q>iyy zqO7Of)D=wcSn!0+467&!Hl))eff=$aneB?R!YykdKW@k^_uR!+Q1tR)+IJb`-6=jj zymzA>Sv4>Z&g&WWu#|~GcP7qP&m*w-S$)7Xr;(duqCTe7p8H3k5>Y-n8438+%^9~K z3r^LIT_K{i7DgEJjIocw_6d0!<;wKT`X;&vv+&msmhAAnIe!OTdybPctzcEzBy88_ zWO{6i4YT%e4^WQZB)KHCvA(0tS zHu_Bg+6Ko%a9~$EjRB90`P(2~6uI@SFibxct{H#o&y40MdiXblu@VFXbhz>Nko;7R z70Ntmm-FePqhb%9gL+7U8@(ch|JfH5Fm)5${8|`Lef>LttM_iww6LW2X61ldBmG0z zax3y)njFe>j*T{i0s8D4=L>X^j0)({R5lMGVS#7(2C9@AxL&C-lZQx~czI7Iv+{%1 z2hEG>RzX4S8x3v#9sgGAnPzptM)g&LB}@%E>fy0vGSa(&q0ch|=ncKjNrK z`jA~jObJhrJ^ri|-)J^HUyeZXz~XkBp$VhcTEcTdc#a2EUOGVX?@mYx#Vy*!qO$Jv zQ4rgOJ~M*o-_Wptam=~krnmG*p^j!JAqoQ%+YsDFW7Cc9M%YPiBOrVcD^RY>m9Pd< zu}#9M?K{+;UIO!D9qOpq9yxUquQRmQNMo0pT`@$pVt=rMvyX)ph(-CCJLvUJy71DI zBk7oc7)-%ngdj~s@76Yse3L^gV0 z2==qfp&Q~L(+%RHP0n}+xH#k(hPRx(!AdBM$JCfJ5*C=K3ts>P?@@SZ_+{U2qFZb>4kZ{Go37{# zSQc+-dq*a-Vy4?taS&{Ht|MLRiS)Sn14JOONyXqPNnpq&2y~)6wEG0oNy>qvod$FF z`9o&?&6uZjhZ4_*5qWVrEfu(>_n2Xi2{@Gz9MZ8!YmjYvIMasE9yVQL10NBrTCczq zcTY1q^PF2l!Eraguf{+PtHV3=2A?Cu&NN&a8V(y;q(^_mFc6)%Yfn&X&~Pq zU1?qCj^LF(EQB1F`8NxNjyV%fde}dEa(Hx=r7$~ts2dzDwyi6ByBAIx$NllB4%K=O z$AHz1<2bTUb>(MCVPpK(E9wlLElo(aSd(Os)^Raum`d(g9Vd_+Bf&V;l=@mM=cC>) z)9b0enb)u_7V!!E_bl>u5nf&Rl|2r=2F3rHMdb7y9E}}F82^$Rf+P8%dKnOeKh1vs zhH^P*4Ydr^$)$h@4KVzxrHyy#cKmWEa9P5DJ|- zG;!Qi35Tp7XNj60=$!S6U#!(${6hyh7d4q=pF{`0t|N^|L^d8pD{O9@tF~W;#Je*P z&ah%W!KOIN;SyAEhAeTafJ4uEL`(RtnovM+cb(O#>xQnk?dzAjG^~4$dFn^<@-Na3 z395;wBnS{t*H;Jef2eE!2}u5Ns{AHj>WYZDgQJt8v%x?9{MXqJsGP|l%OiZqQ1aB! z%E=*Ig`(!tHh>}4_z5IMpg{49UvD*Pp9!pxt_gdAW%sIf3k6CTycOT1McPl=_#0?8 zVjz8Hj*Vy9c5-krd-{BQ{6Xy|P$6LJvMuX$* zA+@I_66_ET5l2&gk9n4$1M3LN8(yEViRx&mtd#LD}AqEs?RW=xKC(OCWH;~>(X6h!uDxXIPH06xh z*`F4cVlbDP`A)-fzf>MuScYsmq&1LUMGaQ3bRm6i7OsJ|%uhTDT zlvZA1M}nz*SalJWNT|`dBm1$xlaA>CCiQ zK`xD-RuEn>-`Z?M{1%@wewf#8?F|(@1e0+T4>nmlSRrNK5f)BJ2H*$q(H>zGD0>eL zQ!tl_Wk)k*e6v^m*{~A;@6+JGeWU-q9>?+L_#UNT%G?4&BnOgvm9@o7l?ov~XL+et zbGT)|G7)KAeqb=wHSPk+J1bdg7N3$vp(ekjI1D9V$G5Cj!=R2w=3*4!z*J-r-cyeb zd(i2KmX!|Lhey!snRw z?#$Gu%S^SQEKt&kep)up#j&9}e+3=JJBS(s>MH+|=R(`8xK{mmndWo_r`-w1#SeRD&YtAJ#GiVI*TkQZ}&aq<+bU2+coU3!jCI6E+Ad_xFW*ghnZ$q zAoF*i&3n1j#?B8x;kjSJD${1jdRB;)R*)Ao!9bd|C7{;iqDo|T&>KSh6*hCD!rwv= zyK#F@2+cv3=|S1Kef(E6Niv8kyLVLX&e=U;{0x{$tDfShqkjUME>f8d(5nzSkY6@! z^-0>DM)wa&%m#UF1F?zR`8Y3X#tA!*7Q$P3lZJ%*KNlrk_uaPkxw~ zxZ1qlE;Zo;nb@!SMazSjM>;34ROOoygo%SF);LL>rRonWwR>bmSd1XD^~sGSu$Gg# zFZ`|yKU0%!v07dz^v(tY%;So(e`o{ZYTX`hm;@b0%8|H>VW`*cr8R%3n|ehw2`(9B+V72`>SY}9^8oh$En80mZK9T4abVG*to;E z1_S6bgDOW?!Oy1LwYy=w3q~KKdbNtyH#d24PFjX)KYMY93{3-mPP-H>@M-_>N~DDu zENh~reh?JBAK=TFN-SfDfT^=+{w4ea2KNWXq2Y<;?(gf(FgVp8Zp-oEjKzB%2Iqj;48GmY3h=bcdYJ}~&4tS`Q1sb=^emaW$IC$|R+r-8V- zf0$gGE(CS_n4s>oicVk)MfvVg#I>iDvf~Ov8bk}sSxluG!6#^Z_zhB&U^`eIi1@j( z^CK$z^stBHtaDDHxn+R;3u+>Lil^}fj?7eaGB z&5nl^STqcaBxI@v>%zG|j))G(rVa4aY=B@^2{TFkW~YP!8!9TG#(-nOf^^X-%m9{Z zCC?iC`G-^RcBSCuk=Z`(FaUUe?hf3{0C>>$?Vs z`2Uud9M+T&KB6o4o9kvdi^Q=Bw!asPdxbe#W-Oaa#_NP(qpyF@bVxv5D5))srkU#m zj_KA+#7sqDn*Ipf!F5Byco4HOSd!Ui$l94|IbW%Ny(s1>f4|Mv^#NfB31N~kya9!k zWCGL-$0ZQztBate^fd>R!hXY_N9ZjYp3V~4_V z#eB)Kjr8yW=+oG)BuNdZG?jaZlw+l_ma8aET(s+-x+=F-t#Qoiuu1i`^x8Sj>b^U} zs^z<()YMFP7CmjUC@M=&lA5W7t&cxTlzJAts*%PBDAPuqcV5o7HEnqjif_7xGt)F% zGx2b4w{@!tE)$p=l3&?Bf#`+!-RLOleeRk3 z7#pF|w@6_sBmn1nECqdunmG^}pr5(ZJQVvAt$6p3H(16~;vO>?sTE`Y+mq5YP&PBo zvq!7#W$Gewy`;%6o^!Dtjz~x)T}Bdk*BS#=EY=ODD&B=V6TD2z^hj1m5^d6s)D*wk zu$z~D7QuZ2b?5`p)E8e2_L38v3WE{V`bVk;6fl#o2`) z99JsWhh?$oVRn@$S#)uK&8DL8>An0&S<%V8hnGD7Z^;Y(%6;^9!7kDQ5bjR_V+~wp zfx4m3z6CWmmZ<8gDGUyg3>t8wgJ5NkkiEm^(sedCicP^&3D%}6LtIUq>mXCAt{9eF zNXL$kGcoUTf_Lhm`t;hD-SE)m=iBnxRU(NyL}f6~1uH)`K!hmYZjLI%H}AmEF5RZt z06$wn63GHnApHXZZJ}s^s)j9(BM6e*7IBK6Bq(!)d~zR#rbxK9NVIlgquoMq z=eGZ9NR!SEqP6=9UQg#@!rtbbSBUM#ynF);zKX+|!Zm}*{H z+j=d?aZ2!?@EL7C~%B?6ouCKLnO$uWn;Y6Xz zX8dSwj732u(o*U3F$F=7xwxm>E-B+SVZH;O-4XPuPkLSt_?S0)lb7EEg)Mglk0#eS z9@jl(OnH4juMxY+*r03VDfPx_IM!Lmc(5hOI;`?d37f>jPP$?9jQQIQU@i4vuG6MagEoJrQ=RD7xt@8E;c zeGV*+Pt+t$@pt!|McETOE$9k=_C!70uhwRS9X#b%ZK z%q(TIUXSS^F0`4Cx?Rk07C6wI4!UVPeI~-fxY6`YH$kABdOuiRtl73MqG|~AzZ@iL&^s?24iS;RK_pdlWkhcF z@Wv-Om(Aealfg)D^adlXh9Nvf~Uf@y;g3Y)i(YP zEXDnb1V}1pJT5ZWyw=1i+0fni9yINurD=EqH^ciOwLUGi)C%Da)tyt=zq2P7pV5-G zR7!oq28-Fgn5pW|nlu^b!S1Z#r7!Wtr{5J5PQ>pd+2P7RSD?>(U7-|Y z7ZQ5lhYIl_IF<9?T9^IPK<(Hp;l5bl5tF9>X-zG14_7PfsA>6<$~A338iYRT{a@r_ zuXBaT=`T5x3=s&3=RYx6NgG>No4?5KFBVjE(swfcivcIpPQFx5l+O;fiGsOrl5teR z_Cm+;PW}O0Dwe_(4Z@XZ)O0W-v2X><&L*<~*q3dg;bQW3g7)a#3KiQP>+qj|qo*Hk z?57>f2?f@`=Fj^nkDKeRkN2d$Z@2eNKpHo}ksj-$`QKb6n?*$^*%Fb3_Kbf1(*W9K>{L$mud2WHJ=j0^=g30Xhg8$#g^?36`p1fm;;1@0Lrx+8t`?vN0ZorM zSW?rhjCE8$C|@p^sXdx z|NOHHg+fL;HIlqyLp~SSdIF`TnSHehNCU9t89yr@)FY<~hu+X`tjg(aSVae$wDG*C zq$nY(Y494R)hD!i1|IIyP*&PD_c2FPgeY)&mX1qujB1VHPG9`yFQpLFVQ0>EKS@Bp zAfP5`C(sWGLI?AC{XEjLKR4FVNw(4+9b?kba95ukgR1H?w<8F7)G+6&(zUhIE5Ef% z=fFkL3QKA~M@h{nzjRq!Y_t!%U66#L8!(2-GgFxkD1=JRRqk=n%G(yHKn%^&$dW>; zSjAcjETMz1%205se$iH_)ZCpfg_LwvnsZQAUCS#^FExp8O4CrJb6>JquNV@qPq~3A zZ<6dOU#6|8+fcgiA#~MDmcpIEaUO02L5#T$HV0$EMD94HT_eXLZ2Zi&(! z&5E>%&|FZ`)CN10tM%tLSPD*~r#--K(H-CZqIOb99_;m|D5wdgJ<1iOJz@h2Zkq?} z%8_KXb&hf=2Wza(Wgc;3v3TN*;HTU*q2?#z&tLn_U0Nt!y>Oo>+2T)He6%XuP;fgn z-G!#h$Y2`9>Jtf}hbVrm6D70|ERzLAU>3zoWhJmjWfgM^))T+2u$~5>HF9jQDkrXR z=IzX36)V75PrFjkQ%TO+iqKGCQ-DDXbaE;C#}!-CoWQx&v*vHfyI>$HNRbpvm<`O( zlx9NBWD6_e&J%Ous4yp~s6)Ghni!I6)0W;9(9$y1wWu`$gs<$9Mcf$L*piP zPR0Av*2%ul`W;?-1_-5Zy0~}?`e@Y5A&0H!^ApyVTT}BiOm4GeFo$_oPlDEyeGBbh z1h3q&Dx~GmUS|3@4V36&$2uO8!Yp&^pD7J5&TN{?xphf*-js1fP?B|`>p_K>lh{ij zP(?H%e}AIP?_i^f&Li=FDSQ`2_NWxL+BB=nQr=$ zHojMlXNGauvvwPU>ZLq!`bX-5F4jBJ&So{kE5+ms9UEYD{66!|k~3vsP+mE}x!>%P za98bAU0!h0&ka4EoiDvBM#CP#dRNdXJcb*(%=<(g+M@<)DZ!@v1V>;54En?igcHR2 zhubQMq}VSOK)onqHfczM7YA@s=9*ow;k;8)&?J3@0JiGcP! zP#00KZ1t)GyZeRJ=f0^gc+58lc4Qh*S7RqPIC6GugG1gXe$LIQMRCo8cHf^qXgAa2 z`}t>u2Cq1CbSEpLr~E=c7~=Qkc9-vLE%(v9N*&HF`(d~(0`iukl5aQ9u4rUvc8%m) zr2GwZN4!s;{SB87lJB;veebPmqE}tSpT>+`t?<457Q9iV$th%i__Z1kOMAswFldD6 ztbOvO337S5o#ZZgN2G99_AVqPv!?Gmt3pzgD+Hp3QPQ`9qJ(g=kjvD+fUSS3upJn! zqoG7acIKEFRX~S}3|{EWT$kdz#zrDlJU(rPkxjws_iyLKU8+v|*oS_W*-guAb&Pj1 z35Z`3z<&Jb@2Mwz=KXucNYdY#SNO$tcVFr9KdKm|%^e-TXzs6M`PBper%ajkrIyUe zp$vVxVs9*>Vp4_1NC~Zg)WOCPmOxI1V34QlG4!aSFOH{QqSVq1^1)- z0P!Z?tT&E-ll(pwf0?=F=yOzik=@nh1Clxr9}Vij89z)ePDSCYAqw?lVI?v?+&*zH z)p$CScFI8rrwId~`}9YWPFu0cW1Sf@vRELs&cbntRU6QfPK-SO*mqu|u~}8AJ!Q$z znzu}50O=YbjwKCuSVBs6&CZR#0FTu)3{}qJJYX(>QPr4$RqWiwX3NT~;>cLn*_&1H zaKpIW)JVJ>b{uo2oq>oQt3y=zJjb%fU@wLqM{SyaC6x2snMx-}ivfU<1- znu1Lh;i$3Tf$Kh5Uk))G!D1UhE8pvx&nO~w^fG)BC&L!_hQk%^p`Kp@F{cz>80W&T ziOK=Sq3fdRu*V0=S53rcIfWFazI}Twj63CG(jOB;$*b`*#B9uEnBM`hDk*EwSRdwP8?5T?xGUKs=5N83XsR*)a4|ijz|c{4tIU+4j^A5C<#5 z*$c_d=5ml~%pGxw#?*q9N7aRwPux5EyqHVkdJO=5J>84!X6P>DS8PTTz>7C#FO?k#edkntG+fJk8ZMn?pmJSO@`x-QHq;7^h6GEXLXo1TCNhH z8ZDH{*NLAjo3WM`xeb=X{((uv3H(8&r8fJJg_uSs_%hOH%JDD?hu*2NvWGYD+j)&` zz#_1%O1wF^o5ryt?O0n;`lHbzp0wQ?rcbW(F1+h7_EZZ9{>rePvLAPVZ_R|n@;b$;UchU=0j<6k8G9QuQf@76oiE*4 zXOLQ&n3$NR#p4<5NJMVC*S);5x2)eRbaAM%VxWu9ohlT;pGEk7;002enCbQ>2r-us z3#bpXP9g|mE`65VrN`+3mC)M(eMj~~eOf)do<@l+fMiTR)XO}422*1SL{wyY(%oMpBgJagtiDf zz>O6(m;};>Hi=t8o{DVC@YigqS(Qh+ix3Rwa9aliH}a}IlOCW1@?%h_bRbq-W{KHF z%Vo?-j@{Xi@=~Lz5uZP27==UGE15|g^0gzD|3x)SCEXrx`*MP^FDLl%pOi~~Il;dc z^hrwp9sYeT7iZ)-ajKy@{a`kr0-5*_!XfBpXwEcFGJ;%kV$0Nx;apKrur zJN2J~CAv{Zjj%FolyurtW8RaFmpn&zKJWL>(0;;+q(%(Hx!GMW4AcfP0YJ*Vz!F4g z!ZhMyj$BdXL@MlF%KeInmPCt~9&A!;cRw)W!Hi@0DY(GD_f?jeV{=s=cJ6e}JktJw zQORnxxj3mBxfrH=x{`_^Z1ddDh}L#V7i}$njUFRVwOX?qOTKjfPMBO4y(WiU<)epb zvB9L=%jW#*SL|Nd_G?E*_h1^M-$PG6Pc_&QqF0O-FIOpa4)PAEPsyvB)GKasmBoEt z?_Q2~QCYGH+hW31x-B=@5_AN870vY#KB~3a*&{I=f);3Kv7q4Q7s)0)gVYx2#Iz9g(F2;=+Iy4 z6KI^8GJ6D@%tpS^8boU}zpi=+(5GfIR)35PzrbuXeL1Y1N%JK7PG|^2k3qIqHfX;G zQ}~JZ-UWx|60P5?d1e;AHx!_;#PG%d=^X(AR%i`l0jSpYOpXoKFW~7ip7|xvN;2^? zsYC9fanpO7rO=V7+KXqVc;Q5z%Bj})xHVrgoR04sA2 zl~DAwv=!(()DvH*=lyhIlU^hBkA0$e*7&fJpB0|oB7)rqGK#5##2T`@_I^|O2x4GO z;xh6ROcV<9>?e0)MI(y++$-ksV;G;Xe`lh76T#Htuia+(UrIXrf9?

    L(tZ$0BqX1>24?V$S+&kLZ`AodQ4_)P#Q3*4xg8}lMV-FLwC*cN$< zt65Rf%7z41u^i=P*qO8>JqXPrinQFapR7qHAtp~&RZ85$>ob|Js;GS^y;S{XnGiBc zGa4IGvDl?x%gY`vNhv8wgZnP#UYI-w*^4YCZnxkF85@ldepk$&$#3EAhrJY0U)lR{F6sM3SONV^+$;Zx8BD&Eku3K zKNLZyBni3)pGzU0;n(X@1fX8wYGKYMpLmCu{N5-}epPDxClPFK#A@02WM3!myN%bkF z|GJ4GZ}3sL{3{qXemy+#Uk{4>Kf8v11;f8I&c76+B&AQ8udd<8gU7+BeWC`akUU~U zgXoxie>MS@rBoyY8O8Tc&8id!w+_ooxcr!1?#rc$-|SBBtH6S?)1e#P#S?jFZ8u-Bs&k`yLqW|{j+%c#A4AQ>+tj$Y z^CZajspu$F%73E68Lw5q7IVREED9r1Ijsg#@DzH>wKseye>hjsk^{n0g?3+gs@7`i zHx+-!sjLx^fS;fY!ERBU+Q zVJ!e0hJH%P)z!y%1^ZyG0>PN@5W~SV%f>}c?$H8r;Sy-ui>aruVTY=bHe}$e zi&Q4&XK!qT7-XjCrDaufT@>ieQ&4G(SShUob0Q>Gznep9fR783jGuUynAqc6$pYX; z7*O@@JW>O6lKIk0G00xsm|=*UVTQBB`u1f=6wGAj%nHK_;Aqmfa!eAykDmi-@u%6~ z;*c!pS1@V8r@IX9j&rW&d*}wpNs96O2Ute>%yt{yv>k!6zfT6pru{F1M3P z2WN1JDYqoTB#(`kE{H676QOoX`cnqHl1Yaru)>8Ky~VU{)r#{&s86Vz5X)v15ULHA zAZDb{99+s~qI6;-dQ5DBjHJP@GYTwn;Dv&9kE<0R!d z8tf1oq$kO`_sV(NHOSbMwr=To4r^X$`sBW4$gWUov|WY?xccQJN}1DOL|GEaD_!@& z15p?Pj+>7d`@LvNIu9*^hPN)pwcv|akvYYq)ks%`G>!+!pW{-iXPZsRp8 z35LR;DhseQKWYSD`%gO&k$Dj6_6q#vjWA}rZcWtQr=Xn*)kJ9kacA=esi*I<)1>w^ zO_+E>QvjP)qiSZg9M|GNeLtO2D7xT6vsj`88sd!94j^AqxFLi}@w9!Y*?nwWARE0P znuI_7A-saQ+%?MFA$gttMV-NAR^#tjl_e{R$N8t2NbOlX373>e7Ox=l=;y#;M7asp zRCz*CLnrm$esvSb5{T<$6CjY zmZ(i{Rs_<#pWW>(HPaaYj`%YqBra=Ey3R21O7vUbzOkJJO?V`4-D*u4$Me0Bx$K(lYo`JO}gnC zx`V}a7m-hLU9Xvb@K2ymioF)vj12<*^oAqRuG_4u%(ah?+go%$kOpfb`T96P+L$4> zQ#S+sA%VbH&mD1k5Ak7^^dZoC>`1L%i>ZXmooA!%GI)b+$D&ziKrb)a=-ds9xk#~& z7)3iem6I|r5+ZrTRe_W861x8JpD`DDIYZNm{$baw+$)X^Jtjnl0xlBgdnNY}x%5za zkQ8E6T<^$sKBPtL4(1zi_Rd(tVth*3Xs!ulflX+70?gb&jRTnI8l+*Aj9{|d%qLZ+ z>~V9Z;)`8-lds*Zgs~z1?Fg?Po7|FDl(Ce<*c^2=lFQ~ahwh6rqSjtM5+$GT>3WZW zj;u~w9xwAhOc<kF}~`CJ68 z?(S5vNJa;kriPlim33{N5`C{9?NWhzsna_~^|K2k4xz1`xcui*LXL-1#Y}Hi9`Oo!zQ>x-kgAX4LrPz63uZ+?uG*84@PKq-KgQlMNRwz=6Yes) zY}>YN+qP}nwr$(CZQFjUOI=-6J$2^XGvC~EZ+vrqWaOXB$k?%Suf5k=4>AveC1aJ! ziaW4IS%F$_Babi)kA8Y&u4F7E%99OPtm=vzw$$ zEz#9rvn`Iot_z-r3MtV>k)YvErZ<^Oa${`2>MYYODSr6?QZu+be-~MBjwPGdMvGd!b!elsdi4% z`37W*8+OGulab8YM?`KjJ8e+jM(tqLKSS@=jimq3)Ea2EB%88L8CaM+aG7;27b?5` z4zuUWBr)f)k2o&xg{iZ$IQkJ+SK>lpq4GEacu~eOW4yNFLU!Kgc{w4&D$4ecm0f}~ zTTzquRW@`f0}|IILl`!1P+;69g^upiPA6F{)U8)muWHzexRenBU$E^9X-uIY2%&1w z_=#5*(nmxJ9zF%styBwivi)?#KMG96-H@hD-H_&EZiRNsfk7mjBq{L%!E;Sqn!mVX*}kXhwH6eh;b42eD!*~upVG@ z#smUqz$ICm!Y8wY53gJeS|Iuard0=;k5i5Z_hSIs6tr)R4n*r*rE`>38Pw&lkv{_r!jNN=;#?WbMj|l>cU(9trCq; z%nN~r^y7!kH^GPOf3R}?dDhO=v^3BeP5hF|%4GNQYBSwz;x({21i4OQY->1G=KFyu z&6d`f2tT9Yl_Z8YACZaJ#v#-(gcyeqXMhYGXb=t>)M@fFa8tHp2x;ODX=Ap@a5I=U z0G80^$N0G4=U(>W%mrrThl0DjyQ-_I>+1Tdd_AuB3qpYAqY54upwa3}owa|x5iQ^1 zEf|iTZxKNGRpI>34EwkIQ2zHDEZ=(J@lRaOH>F|2Z%V_t56Km$PUYu^xA5#5Uj4I4RGqHD56xT%H{+P8Ag>e_3pN$4m8n>i%OyJFPNWaEnJ4McUZPa1QmOh?t8~n& z&RulPCors8wUaqMHECG=IhB(-tU2XvHP6#NrLVyKG%Ee*mQ5Ps%wW?mcnriTVRc4J`2YVM>$ixSF2Xi+Wn(RUZnV?mJ?GRdw%lhZ+t&3s7g!~g{%m&i<6 z5{ib-<==DYG93I(yhyv4jp*y3#*WNuDUf6`vTM%c&hiayf(%=x@4$kJ!W4MtYcE#1 zHM?3xw63;L%x3drtd?jot!8u3qeqctceX3m;tWetK+>~q7Be$h>n6riK(5@ujLgRS zvOym)k+VAtyV^mF)$29Y`nw&ijdg~jYpkx%*^ z8dz`C*g=I?;clyi5|!27e2AuSa$&%UyR(J3W!A=ZgHF9OuKA34I-1U~pyD!KuRkjA zbkN!?MfQOeN>DUPBxoy5IX}@vw`EEB->q!)8fRl_mqUVuRu|C@KD-;yl=yKc=ZT0% zB$fMwcC|HE*0f8+PVlWHi>M`zfsA(NQFET?LrM^pPcw`cK+Mo0%8*x8@65=CS_^$cG{GZQ#xv($7J z??R$P)nPLodI;P!IC3eEYEHh7TV@opr#*)6A-;EU2XuogHvC;;k1aI8asq7ovoP!* z?x%UoPrZjj<&&aWpsbr>J$Er-7!E(BmOyEv!-mbGQGeJm-U2J>74>o5x`1l;)+P&~ z>}f^=Rx(ZQ2bm+YE0u=ZYrAV@apyt=v1wb?R@`i_g64YyAwcOUl=C!i>=Lzb$`tjv zOO-P#A+)t-JbbotGMT}arNhJmmGl-lyUpMn=2UacVZxmiG!s!6H39@~&uVokS zG=5qWhfW-WOI9g4!R$n7!|ViL!|v3G?GN6HR0Pt_L5*>D#FEj5wM1DScz4Jv@Sxnl zB@MPPmdI{(2D?;*wd>3#tjAirmUnQoZrVv`xM3hARuJksF(Q)wd4P$88fGYOT1p6U z`AHSN!`St}}UMBT9o7i|G`r$ zrB=s$qV3d6$W9@?L!pl0lf%)xs%1ko^=QY$ty-57=55PvP(^6E7cc zGJ*>m2=;fOj?F~yBf@K@9qwX0hA803Xw+b0m}+#a(>RyR8}*Y<4b+kpp|OS+!whP( zH`v{%s>jsQI9rd$*vm)EkwOm#W_-rLTHcZRek)>AtF+~<(did)*oR1|&~1|e36d-d zgtm5cv1O0oqgWC%Et@P4Vhm}Ndl(Y#C^MD03g#PH-TFy+7!Osv1z^UWS9@%JhswEq~6kSr2DITo59+; ze=ZC}i2Q?CJ~Iyu?vn|=9iKV>4j8KbxhE4&!@SQ^dVa-gK@YfS9xT(0kpW*EDjYUkoj! zE49{7H&E}k%5(>sM4uGY)Q*&3>{aitqdNnRJkbOmD5Mp5rv-hxzOn80QsG=HJ_atI-EaP69cacR)Uvh{G5dTpYG7d zbtmRMq@Sexey)||UpnZ?;g_KMZq4IDCy5}@u!5&B^-=6yyY{}e4Hh3ee!ZWtL*s?G zxG(A!<9o!CL+q?u_utltPMk+hn?N2@?}xU0KlYg?Jco{Yf@|mSGC<(Zj^yHCvhmyx z?OxOYoxbptDK()tsJ42VzXdINAMWL$0Gcw?G(g8TMB)Khw_|v9`_ql#pRd2i*?CZl z7k1b!jQB=9-V@h%;Cnl7EKi;Y^&NhU0mWEcj8B|3L30Ku#-9389Q+(Yet0r$F=+3p z6AKOMAIi|OHyzlHZtOm73}|ntKtFaXF2Fy|M!gOh^L4^62kGUoWS1i{9gsds_GWBc zLw|TaLP64z3z9?=R2|T6Xh2W4_F*$cq>MtXMOy&=IPIJ`;!Tw?PqvI2b*U1)25^<2 zU_ZPoxg_V0tngA0J+mm?3;OYw{i2Zb4x}NedZug!>EoN3DC{1i)Z{Z4m*(y{ov2%- zk(w>+scOO}MN!exSc`TN)!B=NUX`zThWO~M*ohqq;J2hx9h9}|s#?@eR!=F{QTrq~ zTcY|>azkCe$|Q0XFUdpFT=lTcyW##i;-e{}ORB4D?t@SfqGo_cS z->?^rh$<&n9DL!CF+h?LMZRi)qju!meugvxX*&jfD!^1XB3?E?HnwHP8$;uX{Rvp# zh|)hM>XDv$ZGg=$1{+_bA~u-vXqlw6NH=nkpyWE0u}LQjF-3NhATL@9rRxMnpO%f7 z)EhZf{PF|mKIMFxnC?*78(}{Y)}iztV12}_OXffJ;ta!fcFIVjdchyHxH=t%ci`Xd zX2AUB?%?poD6Zv*&BA!6c5S#|xn~DK01#XvjT!w!;&`lDXSJT4_j$}!qSPrb37vc{ z9^NfC%QvPu@vlxaZ;mIbn-VHA6miwi8qJ~V;pTZkKqqOii<1Cs}0i?uUIss;hM4dKq^1O35y?Yp=l4i zf{M!@QHH~rJ&X~8uATV><23zZUbs-J^3}$IvV_ANLS08>k`Td7aU_S1sLsfi*C-m1 z-e#S%UGs4E!;CeBT@9}aaI)qR-6NU@kvS#0r`g&UWg?fC7|b^_HyCE!8}nyh^~o@< zpm7PDFs9yxp+byMS(JWm$NeL?DNrMCNE!I^ko-*csB+dsf4GAq{=6sfyf4wb>?v1v zmb`F*bN1KUx-`ra1+TJ37bXNP%`-Fd`vVQFTwWpX@;s(%nDQa#oWhgk#mYlY*!d>( zE&!|ySF!mIyfING+#%RDY3IBH_fW$}6~1%!G`suHub1kP@&DoAd5~7J55;5_noPI6eLf{t;@9Kf<{aO0`1WNKd?<)C-|?C?)3s z>wEq@8=I$Wc~Mt$o;g++5qR+(6wt9GI~pyrDJ%c?gPZe)owvy^J2S=+M^ z&WhIE`g;;J^xQLVeCtf7b%Dg#Z2gq9hp_%g)-%_`y*zb; zn9`f`mUPN-Ts&fFo(aNTsXPA|J!TJ{0hZp0^;MYHLOcD=r_~~^ymS8KLCSeU3;^QzJNqS z5{5rEAv#l(X?bvwxpU;2%pQftF`YFgrD1jt2^~Mt^~G>T*}A$yZc@(k9orlCGv&|1 zWWvVgiJsCAtamuAYT~nzs?TQFt<1LSEx!@e0~@yd6$b5!Zm(FpBl;(Cn>2vF?k zOm#TTjFwd2D-CyA!mqR^?#Uwm{NBemP>(pHmM}9;;8`c&+_o3#E5m)JzfwN?(f-a4 zyd%xZc^oQx3XT?vcCqCX&Qrk~nu;fxs@JUoyVoi5fqpi&bUhQ2y!Ok2pzsFR(M(|U zw3E+kH_zmTRQ9dUMZWRE%Zakiwc+lgv7Z%|YO9YxAy`y28`Aw;WU6HXBgU7fl@dnt z-fFBV)}H-gqP!1;V@Je$WcbYre|dRdp{xt!7sL3Eoa%IA`5CAA%;Wq8PktwPdULo! z8!sB}Qt8#jH9Sh}QiUtEPZ6H0b*7qEKGJ%ITZ|vH)5Q^2m<7o3#Z>AKc%z7_u`rXA zqrCy{-{8;9>dfllLu$^M5L z-hXs))h*qz%~ActwkIA(qOVBZl2v4lwbM>9l70Y`+T*elINFqt#>OaVWoja8RMsep z6Or3f=oBnA3vDbn*+HNZP?8LsH2MY)x%c13@(XfuGR}R?Nu<|07{$+Lc3$Uv^I!MQ z>6qWgd-=aG2Y^24g4{Bw9ueOR)(9h`scImD=86dD+MnSN4$6 z^U*o_mE-6Rk~Dp!ANp#5RE9n*LG(Vg`1)g6!(XtDzsov$Dvz|Gv1WU68J$CkshQhS zCrc|cdkW~UK}5NeaWj^F4MSgFM+@fJd{|LLM)}_O<{rj z+?*Lm?owq?IzC%U%9EBga~h-cJbIu=#C}XuWN>OLrc%M@Gu~kFEYUi4EC6l#PR2JS zQUkGKrrS#6H7}2l0F@S11DP`@pih0WRkRJl#F;u{c&ZC{^$Z+_*lB)r)-bPgRFE;* zl)@hK4`tEP=P=il02x7-C7p%l=B`vkYjw?YhdJU9!P!jcmY$OtC^12w?vy3<<=tlY zUwHJ_0lgWN9vf>1%WACBD{UT)1qHQSE2%z|JHvP{#INr13jM}oYv_5#xsnv9`)UAO zuwgyV4YZ;O)eSc3(mka6=aRohi!HH@I#xq7kng?Acdg7S4vDJb6cI5fw?2z%3yR+| zU5v@Hm}vy;${cBp&@D=HQ9j7NcFaOYL zj-wV=eYF{|XTkFNM2uz&T8uH~;)^Zo!=KP)EVyH6s9l1~4m}N%XzPpduPg|h-&lL` zAXspR0YMOKd2yO)eMFFJ4?sQ&!`dF&!|niH*!^*Ml##o0M(0*uK9&yzekFi$+mP9s z>W9d%Jb)PtVi&-Ha!o~Iyh@KRuKpQ@)I~L*d`{O8!kRObjO7=n+Gp36fe!66neh+7 zW*l^0tTKjLLzr`x4`_8&on?mjW-PzheTNox8Hg7Nt@*SbE-%kP2hWYmHu#Fn@Q^J(SsPUz*|EgOoZ6byg3ew88UGdZ>9B2Tq=jF72ZaR=4u%1A6Vm{O#?@dD!(#tmR;eP(Fu z{$0O%=Vmua7=Gjr8nY%>ul?w=FJ76O2js&17W_iq2*tb!i{pt#`qZB#im9Rl>?t?0c zicIC}et_4d+CpVPx)i4~$u6N-QX3H77ez z?ZdvXifFk|*F8~L(W$OWM~r`pSk5}#F?j_5u$Obu9lDWIknO^AGu+Blk7!9Sb;NjS zncZA?qtASdNtzQ>z7N871IsPAk^CC?iIL}+{K|F@BuG2>qQ;_RUYV#>hHO(HUPpk@ z(bn~4|F_jiZi}Sad;_7`#4}EmD<1EiIxa48QjUuR?rC}^HRocq`OQPM@aHVKP9E#q zy%6bmHygCpIddPjE}q_DPC`VH_2m;Eey&ZH)E6xGeStOK7H)#+9y!%-Hm|QF6w#A( zIC0Yw%9j$s-#odxG~C*^MZ?M<+&WJ+@?B_QPUyTg9DJGtQN#NIC&-XddRsf3n^AL6 zT@P|H;PvN;ZpL0iv$bRb7|J{0o!Hq+S>_NrH4@coZtBJu#g8#CbR7|#?6uxi8d+$g z87apN>EciJZ`%Zv2**_uiET9Vk{pny&My;+WfGDw4EVL#B!Wiw&M|A8f1A@ z(yFQS6jfbH{b8Z-S7D2?Ixl`j0{+ZnpT=;KzVMLW{B$`N?Gw^Fl0H6lT61%T2AU**!sX0u?|I(yoy&Xveg7XBL&+>n6jd1##6d>TxE*Vj=8lWiG$4=u{1UbAa5QD>5_ z;Te^42v7K6Mmu4IWT6Rnm>oxrl~b<~^e3vbj-GCdHLIB_>59}Ya+~OF68NiH=?}2o zP(X7EN=quQn&)fK>M&kqF|<_*H`}c zk=+x)GU>{Af#vx&s?`UKUsz})g^Pc&?Ka@t5$n$bqf6{r1>#mWx6Ep>9|A}VmWRnowVo`OyCr^fHsf# zQjQ3Ttp7y#iQY8l`zEUW)(@gGQdt(~rkxlkefskT(t%@i8=|p1Y9Dc5bc+z#n$s13 zGJk|V0+&Ekh(F};PJzQKKo+FG@KV8a<$gmNSD;7rd_nRdc%?9)p!|B-@P~kxQG}~B zi|{0}@}zKC(rlFUYp*dO1RuvPC^DQOkX4<+EwvBAC{IZQdYxoq1Za!MW7%p7gGr=j zzWnAq%)^O2$eItftC#TTSArUyL$U54-O7e|)4_7%Q^2tZ^0-d&3J1}qCzR4dWX!)4 zzIEKjgnYgMus^>6uw4Jm8ga6>GBtMjpNRJ6CP~W=37~||gMo_p@GA@#-3)+cVYnU> zE5=Y4kzl+EbEh%dhQokB{gqNDqx%5*qBusWV%!iprn$S!;oN_6E3?0+umADVs4ako z?P+t?m?};gev9JXQ#Q&KBpzkHPde_CGu-y z<{}RRAx=xlv#mVi+Ibrgx~ujW$h{?zPfhz)Kp7kmYS&_|97b&H&1;J-mzrBWAvY} zh8-I8hl_RK2+nnf&}!W0P+>5?#?7>npshe<1~&l_xqKd0_>dl_^RMRq@-Myz&|TKZBj1=Q()) zF{dBjv5)h=&Z)Aevx}+i|7=R9rG^Di!sa)sZCl&ctX4&LScQ-kMncgO(9o6W6)yd< z@Rk!vkja*X_N3H=BavGoR0@u0<}m-7|2v!0+2h~S2Q&a=lTH91OJsvms2MT~ zY=c@LO5i`mLpBd(vh|)I&^A3TQLtr>w=zoyzTd=^f@TPu&+*2MtqE$Avf>l>}V|3-8Fp2hzo3y<)hr_|NO(&oSD z!vEjTWBxbKTiShVl-U{n*B3#)3a8$`{~Pk}J@elZ=>Pqp|MQ}jrGv7KrNcjW%TN_< zZz8kG{#}XoeWf7qY?D)L)8?Q-b@Na&>i=)(@uNo zr;cH98T3$Iau8Hn*@vXi{A@YehxDE2zX~o+RY`)6-X{8~hMpc#C`|8y> zU8Mnv5A0dNCf{Ims*|l-^ z(MRp{qoGohB34|ggDI*p!Aw|MFyJ|v+<+E3brfrI)|+l3W~CQLPbnF@G0)P~Ly!1TJLp}xh8uW`Q+RB-v`MRYZ9Gam3cM%{ zb4Cb*f)0deR~wtNb*8w-LlIF>kc7DAv>T0D(a3@l`k4TFnrO+g9XH7;nYOHxjc4lq zMmaW6qpgAgy)MckYMhl?>sq;-1E)-1llUneeA!ya9KM$)DaNGu57Z5aE>=VST$#vb zFo=uRHr$0M{-ha>h(D_boS4zId;3B|Tpqo|?B?Z@I?G(?&Iei+-{9L_A9=h=Qfn-U z1wIUnQe9!z%_j$F_{rf&`ZFSott09gY~qrf@g3O=Y>vzAnXCyL!@(BqWa)Zqt!#_k zfZHuwS52|&&)aK;CHq9V-t9qt0au{$#6c*R#e5n3rje0hic7c7m{kW$p(_`wB=Gw7 z4k`1Hi;Mc@yA7dp@r~?@rfw)TkjAW++|pkfOG}0N|2guek}j8Zen(!+@7?qt_7ndX zB=BG6WJ31#F3#Vk3=aQr8T)3`{=p9nBHlKzE0I@v`{vJ}h8pd6vby&VgFhzH|q;=aonunAXL6G2y(X^CtAhWr*jI zGjpY@raZDQkg*aMq}Ni6cRF z{oWv}5`nhSAv>usX}m^GHt`f(t8@zHc?K|y5Zi=4G*UG1Sza{$Dpj%X8 zzEXaKT5N6F5j4J|w#qlZP!zS7BT)9b+!ZSJdToqJts1c!)fwih4d31vfb{}W)EgcA zH2pZ^8_k$9+WD2n`6q5XbOy8>3pcYH9 z07eUB+p}YD@AH!}p!iKv><2QF-Y^&xx^PAc1F13A{nUeCDg&{hnix#FiO!fe(^&%Qcux!h znu*S!s$&nnkeotYsDthh1dq(iQrE|#f_=xVgfiiL&-5eAcC-> z5L0l|DVEM$#ulf{bj+Y~7iD)j<~O8CYM8GW)dQGq)!mck)FqoL^X zwNdZb3->hFrbHFm?hLvut-*uK?zXn3q1z|UX{RZ;-WiLoOjnle!xs+W0-8D)kjU#R z+S|A^HkRg$Ij%N4v~k`jyHffKaC~=wg=9)V5h=|kLQ@;^W!o2^K+xG&2n`XCd>OY5Ydi= zgHH=lgy++erK8&+YeTl7VNyVm9-GfONlSlVb3)V9NW5tT!cJ8d7X)!b-$fb!s76{t z@d=Vg-5K_sqHA@Zx-L_}wVnc@L@GL9_K~Zl(h5@AR#FAiKad8~KeWCo@mgXIQ#~u{ zgYFwNz}2b6Vu@CP0XoqJ+dm8px(5W5-Jpis97F`+KM)TuP*X8H@zwiVKDKGVp59pI zifNHZr|B+PG|7|Y<*tqap0CvG7tbR1R>jn70t1X`XJixiMVcHf%Ez*=xm1(CrTSDt z0cle!+{8*Ja&EOZ4@$qhBuKQ$U95Q%rc7tg$VRhk?3=pE&n+T3upZg^ZJc9~c2es% zh7>+|mrmA-p&v}|OtxqmHIBgUxL~^0+cpfkSK2mhh+4b=^F1Xgd2)}U*Yp+H?ls#z zrLxWg_hm}AfK2XYWr!rzW4g;+^^&bW%LmbtRai9f3PjU${r@n`JThy-cphbcwn)rq9{A$Ht`lmYKxOacy z6v2R(?gHhD5@&kB-Eg?4!hAoD7~(h>(R!s1c1Hx#s9vGPePUR|of32bS`J5U5w{F) z>0<^ktO2UHg<0{oxkdOQ;}coZDQph8p6ruj*_?uqURCMTac;>T#v+l1Tc~%^k-Vd@ zkc5y35jVNc49vZpZx;gG$h{%yslDI%Lqga1&&;mN{Ush1c7p>7e-(zp}6E7f-XmJb4nhk zb8zS+{IVbL$QVF8pf8}~kQ|dHJAEATmmnrb_wLG}-yHe>W|A&Y|;muy-d^t^<&)g5SJfaTH@P1%euONny=mxo+C z4N&w#biWY41r8k~468tvuYVh&XN&d#%QtIf9;iVXfWY)#j=l`&B~lqDT@28+Y!0E+MkfC}}H*#(WKKdJJq=O$vNYCb(ZG@p{fJgu;h z21oHQ(14?LeT>n5)s;uD@5&ohU!@wX8w*lB6i@GEH0pM>YTG+RAIWZD;4#F1&F%Jp zXZUml2sH0!lYJT?&sA!qwez6cXzJEd(1ZC~kT5kZSp7(@=H2$Azb_*W&6aA|9iwCL zdX7Q=42;@dspHDwYE?miGX#L^3xD&%BI&fN9^;`v4OjQXPBaBmOF1;#C)8XA(WFlH zycro;DS2?(G&6wkr6rqC>rqDv3nfGw3hmN_9Al>TgvmGsL8_hXx09};l9Ow@)F5@y z#VH5WigLDwZE4nh^7&@g{1FV^UZ%_LJ-s<{HN*2R$OPg@R~Z`c-ET*2}XB@9xvAjrK&hS=f|R8Gr9 zr|0TGOsI7RD+4+2{ZiwdVD@2zmg~g@^D--YL;6UYGSM8i$NbQr4!c7T9rg!8;TM0E zT#@?&S=t>GQm)*ua|?TLT2ktj#`|R<_*FAkOu2Pz$wEc%-=Y9V*$&dg+wIei3b*O8 z2|m$!jJG!J!ZGbbIa!(Af~oSyZV+~M1qGvelMzPNE_%5?c2>;MeeG2^N?JDKjFYCy z7SbPWH-$cWF9~fX%9~v99L!G(wi!PFp>rB!9xj7=Cv|F+7CsGNwY0Q_J%FID%C^CBZQfJ9K(HK%k31j~e#&?hQ zNuD6gRkVckU)v+53-fc} z7ZCzYN-5RG4H7;>>Hg?LU9&5_aua?A0)0dpew1#MMlu)LHe(M;OHjHIUl7|%%)YPo z0cBk;AOY00%Fe6heoN*$(b<)Cd#^8Iu;-2v@>cE-OB$icUF9EEoaC&q8z9}jMTT2I z8`9;jT%z0;dy4!8U;GW{i`)3!c6&oWY`J3669C!tM<5nQFFrFRglU8f)5Op$GtR-3 zn!+SPCw|04sv?%YZ(a7#L?vsdr7ss@WKAw&A*}-1S|9~cL%uA+E~>N6QklFE>8W|% zyX-qAUGTY1hQ-+um`2|&ji0cY*(qN!zp{YpDO-r>jPk*yuVSay<)cUt`t@&FPF_&$ zcHwu1(SQ`I-l8~vYyUxm@D1UEdFJ$f5Sw^HPH7b!9 zzYT3gKMF((N(v0#4f_jPfVZ=ApN^jQJe-X$`A?X+vWjLn_%31KXE*}5_}d8 zw_B1+a#6T1?>M{ronLbHIlEsMf93muJ7AH5h%;i99<~JX^;EAgEB1uHralD*!aJ@F zV2ruuFe9i2Q1C?^^kmVy921eb=tLDD43@-AgL^rQ3IO9%+vi_&R2^dpr}x{bCVPej z7G0-0o64uyWNtr*loIvslyo0%)KSDDKjfThe0hcqs)(C-MH1>bNGBDRTW~scy_{w} zp^aq8Qb!h9Lwielq%C1b8=?Z=&U)ST&PHbS)8Xzjh2DF?d{iAv)Eh)wsUnf>UtXN( zL7=$%YrZ#|^c{MYmhn!zV#t*(jdmYdCpwqpZ{v&L8KIuKn`@IIZfp!uo}c;7J57N` zAxyZ-uA4=Gzl~Ovycz%MW9ZL7N+nRo&1cfNn9(1H5eM;V_4Z_qVann7F>5f>%{rf= zPBZFaV@_Sobl?Fy&KXyzFDV*FIdhS5`Uc~S^Gjo)aiTHgn#<0C=9o-a-}@}xDor;D zZyZ|fvf;+=3MZd>SR1F^F`RJEZo+|MdyJYQAEauKu%WDol~ayrGU3zzbHKsnHKZ*z zFiwUkL@DZ>!*x05ql&EBq@_Vqv83&?@~q5?lVmffQZ+V-=qL+!u4Xs2Z2zdCQ3U7B&QR9_Iggy} z(om{Y9eU;IPe`+p1ifLx-XWh?wI)xU9ik+m#g&pGdB5Bi<`PR*?92lE0+TkRuXI)z z5LP!N2+tTc%cB6B1F-!fj#}>S!vnpgVU~3!*U1ej^)vjUH4s-bd^%B=ItQqDCGbrEzNQi(dJ`J}-U=2{7-d zK8k^Rlq2N#0G?9&1?HSle2vlkj^KWSBYTwx`2?9TU_DX#J+f+qLiZCqY1TXHFxXZqYMuD@RU$TgcnCC{_(vwZ-*uX)~go#%PK z@}2Km_5aQ~(<3cXeJN6|F8X_1@L%@xTzs}$_*E|a^_URF_qcF;Pfhoe?FTFwvjm1o z8onf@OY@jC2tVcMaZS;|T!Ks(wOgPpRzRnFS-^RZ4E!9dsnj9sFt609a|jJbb1Dt@ z<=Gal2jDEupxUSwWu6zp<<&RnAA;d&4gKVG0iu6g(DsST(4)z6R)zDpfaQ}v{5ARt zyhwvMtF%b-YazR5XLz+oh=mn;y-Mf2a8>7?2v8qX;19y?b>Z5laGHvzH;Nu9S`B8} zI)qN$GbXIQ1VL3lnof^6TS~rvPVg4V?Dl2Bb*K2z4E{5vy<(@@K_cN@U>R!>aUIRnb zL*)=787*cs#zb31zBC49x$`=fkQbMAef)L2$dR{)6BAz!t5U_B#1zZG`^neKSS22oJ#5B=gl%U=WeqL9REF2g zZnfCb0?quf?Ztj$VXvDSWoK`0L=Zxem2q}!XWLoT-kYMOx)!7fcgT35uC~0pySEme z`{wGWTkGr7>+Kb^n;W?BZH6ZP(9tQX%-7zF>vc2}LuWDI(9kh1G#7B99r4x6;_-V+k&c{nPUrR zAXJGRiMe~aup{0qzmLNjS_BC4cB#sXjckx{%_c&^xy{M61xEb>KW_AG5VFXUOjAG4 z^>Qlm9A#1N{4snY=(AmWzatb!ngqiqPbBZ7>Uhb3)dTkSGcL#&SH>iMO-IJBPua`u zo)LWZ>=NZLr758j{%(|uQuZ)pXq_4c!!>s|aDM9#`~1bzK3J1^^D#<2bNCccH7~-X}Ggi!pIIF>uFx%aPARGQsnC8ZQc8lrQ5o~smqOg>Ti^GNme94*w z)JZy{_{#$jxGQ&`M z!OMvZMHR>8*^>eS%o*6hJwn!l8VOOjZQJvh)@tnHVW&*GYPuxqXw}%M!(f-SQf`=L z5;=5w2;%82VMH6Xi&-K3W)o&K^+vJCepWZ-rW%+Dc6X3(){z$@4zjYxQ|}8UIojeC zYZpQ1dU{fy=oTr<4VX?$q)LP}IUmpiez^O&N3E_qPpchGTi5ZM6-2ScWlQq%V&R2Euz zO|Q0Hx>lY1Q1cW5xHv5!0OGU~PVEqSuy#fD72d#O`N!C;o=m+YioGu-wH2k6!t<~K zSr`E=W9)!g==~x9VV~-8{4ZN9{~-A9zJpRe%NGg$+MDuI-dH|b@BD)~>pPCGUNNzY zMDg||0@XGQgw`YCt5C&A{_+J}mvV9Wg{6V%2n#YSRN{AP#PY?1FF1#|vO_%e+#`|2*~wGAJaeRX6=IzFNeWhz6gJc8+(03Ph4y6ELAm=AkN7TOgMUEw*N{= z_)EIDQx5q22oUR+_b*tazu9+pX|n1c*IB-}{DqIj z-?E|ks{o3AGRNb;+iKcHkZvYJvFsW&83RAPs1Oh@IWy%l#5x2oUP6ZCtv+b|q>jsf zZ_9XO;V!>n`UxH1LvH8)L4?8raIvasEhkpQoJ`%!5rBs!0Tu(s_D{`4opB;57)pkX z4$A^8CsD3U5*!|bHIEqsn~{q+Ddj$ME@Gq4JXtgVz&7l{Ok!@?EA{B3P~NAqb9)4? zkQo30A^EbHfQ@87G5&EQTd`frrwL)&Yw?%-W@uy^Gn23%j?Y!Iea2xw<-f;esq zf%w5WN@E1}zyXtYv}}`U^B>W`>XPmdLj%4{P298|SisrE;7HvXX;A}Ffi8B#3Lr;1 zHt6zVb`8{#+e$*k?w8|O{Uh|&AG}|DG1PFo1i?Y*cQm$ZwtGcVgMwtBUDa{~L1KT-{jET4w60>{KZ27vXrHJ;fW{6| z=|Y4!&UX020wU1>1iRgB@Q#m~1^Z^9CG1LqDhYBrnx%IEdIty z!46iOoKlKs)c}newDG)rWUikD%j`)p z_w9Ph&e40=(2eBy;T!}*1p1f1SAUDP9iWy^u^Ubdj21Kn{46;GR+hwLO=4D11@c~V zI8x&(D({K~Df2E)Nx_yQvYfh4;MbMJ@Z}=Dt3_>iim~QZ*hZIlEs0mEb z_54+&*?wMD`2#vsQRN3KvoT>hWofI_Vf(^C1ff-Ike@h@saEf7g}<9T`W;HAne-Nd z>RR+&SP35w)xKn8^U$7))PsM!jKwYZ*RzEcG-OlTrX3}9a{q%#Un5E5W{{hp>w~;` zGky+3(vJvQyGwBo`tCpmo0mo((?nM8vf9aXrrY1Ve}~TuVkB(zeds^jEfI}xGBCM2 zL1|#tycSaWCurP+0MiActG3LCas@_@tao@(R1ANlwB$4K53egNE_;!&(%@Qo$>h`^1S_!hN6 z)vZtG$8fN!|BXBJ=SI>e(LAU(y(i*PHvgQ2llulxS8>qsimv7yL}0q_E5WiAz7)(f zC(ahFvG8&HN9+6^jGyLHM~$)7auppeWh_^zKk&C_MQ~8;N??OlyH~azgz5fe^>~7F zl3HnPN3z-kN)I$4@`CLCMQx3sG~V8hPS^}XDXZrQA>}mQPw%7&!sd(Pp^P=tgp-s^ zjl}1-KRPNWXgV_K^HkP__SR`S-|OF0bR-N5>I%ODj&1JUeAQ3$9i;B~$S6}*^tK?= z**%aCiH7y?xdY?{LgVP}S0HOh%0%LI$wRx;$T|~Y8R)Vdwa}kGWv8?SJVm^>r6+%I z#lj1aR94{@MP;t-scEYQWc#xFA30^}?|BeX*W#9OL;Q9#WqaaM546j5j29((^_8Nu z4uq}ESLr~r*O7E7$D{!k9W>`!SLoyA53i9QwRB{!pHe8um|aDE`Cg0O*{jmor)^t)3`>V>SWN-2VJcFmj^1?~tT=JrP`fVh*t zXHarp=8HEcR#vFe+1a%XXuK+)oFs`GDD}#Z+TJ}Ri`FvKO@ek2ayn}yaOi%(8p%2$ zpEu)v0Jym@f}U|-;}CbR=9{#<^z28PzkkTNvyKvJDZe+^VS2bES3N@Jq!-*}{oQlz z@8bgC_KnDnT4}d#&Cpr!%Yb?E!brx0!eVOw~;lLwUoz#Np%d$o%9scc3&zPm`%G((Le|6o1 zM(VhOw)!f84zG^)tZ1?Egv)d8cdNi+T${=5kV+j;Wf%2{3g@FHp^Gf*qO0q!u$=m9 zCaY`4mRqJ;FTH5`a$affE5dJrk~k`HTP_7nGTY@B9o9vvnbytaID;^b=Tzp7Q#DmD zC(XEN)Ktn39z5|G!wsVNnHi) z%^q94!lL|hF`IijA^9NR0F$@h7k5R^ljOW(;Td9grRN0Mb)l_l7##{2nPQ@?;VjXv zaLZG}yuf$r$<79rVPpXg?6iiieX|r#&`p#Con2i%S8*8F}(E) zI5E6c3tG*<;m~6>!&H!GJ6zEuhH7mkAzovdhLy;)q z{H2*8I^Pb}xC4s^6Y}6bJvMu=8>g&I)7!N!5QG$xseeU#CC?ZM-TbjsHwHgDGrsD= z{%f;@Sod+Ch66Ko2WF~;Ty)v>&x^aovCbCbD7>qF*!?BXmOV3(s|nxsb*Lx_2lpB7 zokUnzrk;P=T-&kUHO}td+Zdj!3n&NR?K~cRU zAXU!DCp?51{J4w^`cV#ye}(`SQhGQkkMu}O3M*BWt4UsC^jCFUy;wTINYmhD$AT;4 z?Xd{HaJjP`raZ39qAm;%beDbrLpbRf(mkKbANan7XsL>_pE2oo^$TgdidjRP!5-`% zv0d!|iKN$c0(T|L0C~XD0aS8t{*&#LnhE;1Kb<9&=c2B+9JeLvJr*AyyRh%@jHej=AetOMSlz^=!kxX>>B{2B1uIrQyfd8KjJ+DBy!h)~*(!|&L4^Q_07SQ~E zcemVP`{9CwFvPFu7pyVGCLhH?LhEVb2{7U+Z_>o25#+3<|8%1T^5dh}*4(kfJGry} zm%r#hU+__Z;;*4fMrX=Bkc@7|v^*B;HAl0((IBPPii%X9+u3DDF6%bI&6?Eu$8&aWVqHIM7mK6?Uvq$1|(-T|)IV<>e?!(rY zqkmO1MRaLeTR=)io(0GVtQT@s6rN%C6;nS3@eu;P#ry4q;^O@1ZKCJyp_Jo)Ty^QW z+vweTx_DLm{P-XSBj~Sl<%_b^$=}odJ!S2wAcxenmzFGX1t&Qp8Vxz2VT`uQsQYtdn&_0xVivIcxZ_hnrRtwq4cZSj1c-SG9 z7vHBCA=fd0O1<4*=lu$6pn~_pVKyL@ztw1swbZi0B?spLo56ZKu5;7ZeUml1Ws1?u zqMf1p{5myAzeX$lAi{jIUqo1g4!zWLMm9cfWcnw`k6*BR^?$2(&yW?>w;G$EmTA@a z6?y#K$C~ZT8+v{87n5Dm&H6Pb_EQ@V0IWmG9cG=O;(;5aMWWrIPzz4Q`mhK;qQp~a z+BbQrEQ+w{SeiuG-~Po5f=^EvlouB@_|4xQXH@A~KgpFHrwu%dwuCR)=B&C(y6J4J zvoGk9;lLs9%iA-IJGU#RgnZZR+@{5lYl8(e1h6&>Vc_mvg0d@);X zji4T|n#lB!>pfL|8tQYkw?U2bD`W{na&;*|znjmalA&f;*U++_aBYerq;&C8Kw7mI z7tsG*?7*5j&dU)Lje;^{D_h`%(dK|pB*A*1(Jj)w^mZ9HB|vGLkF1GEFhu&rH=r=8 zMxO42e{Si6$m+Zj`_mXb&w5Q(i|Yxyg?juUrY}78uo@~3v84|8dfgbPd0iQJRdMj< zncCNGdMEcsxu#o#B5+XD{tsg*;j-eF8`mp~K8O1J!Z0+>0=7O=4M}E?)H)ENE;P*F z$Ox?ril_^p0g7xhDUf(q652l|562VFlC8^r8?lQv;TMvn+*8I}&+hIQYh2 z1}uQQaag&!-+DZ@|C+C$bN6W;S-Z@)d1|en+XGvjbOxCa-qAF*LA=6s(Jg+g;82f$ z(Vb)8I)AH@cdjGFAR5Rqd0wiNCu!xtqWbcTx&5kslzTb^7A78~Xzw1($UV6S^VWiP zFd{Rimd-0CZC_Bu(WxBFW7+k{cOW7DxBBkJdJ;VsJ4Z@lERQr%3eVv&$%)b%<~ zCl^Y4NgO}js@u{|o~KTgH}>!* z_iDNqX2(As7T0xivMH|3SC1ivm8Q}6Ffcd7owUKN5lHAtzMM4<0v+ykUT!QiowO;`@%JGv+K$bBx@*S7C8GJVqQ_K>12}M`f_Ys=S zKFh}HM9#6Izb$Y{wYzItTy+l5U2oL%boCJn?R3?jP@n$zSIwlmyGq30Cw4QBO|14` zW5c);AN*J3&eMFAk$SR~2k|&+&Bc$e>s%c{`?d~85S-UWjA>DS5+;UKZ}5oVa5O(N zqqc@>)nee)+4MUjH?FGv%hm2{IlIF-QX}ym-7ok4Z9{V+ZHVZQl$A*x!(q%<2~iVv znUa+BX35&lCb#9VE-~Y^W_f;Xhl%vgjwdjzMy$FsSIj&ok}L+X`4>J=9BkN&nu^E*gbhj3(+D>C4E z@Fwq_=N)^bKFSHTzZk?-gNU$@l}r}dwGyh_fNi=9b|n}J>&;G!lzilbWF4B}BBq4f zYIOl?b)PSh#XTPp4IS5ZR_2C!E)Z`zH0OW%4;&~z7UAyA-X|sh9@~>cQW^COA9hV4 zXcA6qUo9P{bW1_2`eo6%hgbN%(G-F1xTvq!sc?4wN6Q4`e9Hku zFwvlAcRY?6h^Fj$R8zCNEDq8`=uZB8D-xn)tA<^bFFy}4$vA}Xq0jAsv1&5!h!yRA zU()KLJya5MQ`q&LKdH#fwq&(bNFS{sKlEh_{N%{XCGO+po#(+WCLmKW6&5iOHny>g z3*VFN?mx!16V5{zyuMWDVP8U*|BGT$(%IO|)?EF|OI*sq&RovH!N%=>i_c?K*A>>k zyg1+~++zY4Q)J;VWN0axhoIKx;l&G$gvj(#go^pZskEVj8^}is3Jw26LzYYVos0HX zRPvmK$dVxM8(Tc?pHFe0Z3uq){{#OK3i-ra#@+;*=ui8)y6hsRv z4Fxx1c1+fr!VI{L3DFMwXKrfl#Q8hfP@ajgEau&QMCxd{g#!T^;ATXW)nUg&$-n25 zruy3V!!;{?OTobo|0GAxe`Acn3GV@W=&n;~&9 zQM>NWW~R@OYORkJAo+eq1!4vzmf9K%plR4(tB@TR&FSbDoRgJ8qVcH#;7lQub*nq&?Z>7WM=oeEVjkaG zT#f)=o!M2DO5hLR+op>t0CixJCIeXH*+z{-XS|%jx)y(j&}Wo|3!l7{o)HU3m7LYyhv*xF&tq z%IN7N;D4raue&&hm0xM=`qv`+TK@;_xAcGKuK(2|75~ar2Yw)geNLSmVxV@x89bQu zpViVKKnlkwjS&&c|-X6`~xdnh}Ps)Hs z4VbUL^{XNLf7_|Oi>tA%?SG5zax}esF*FH3d(JH^Gvr7Rp*n=t7frH!U;!y1gJB^i zY_M$KL_}mW&XKaDEi9K-wZR|q*L32&m+2n_8lq$xRznJ7p8}V>w+d@?uB!eS3#u<} zIaqi!b!w}a2;_BfUUhGMy#4dPx>)_>yZ`ai?Rk`}d0>~ce-PfY-b?Csd(28yX22L% zI7XI>OjIHYTk_@Xk;Gu^F52^Gn6E1&+?4MxDS2G_#PQ&yXPXP^<-p|2nLTb@AAQEY zI*UQ9Pmm{Kat}wuazpjSyXCdnrD&|C1c5DIb1TnzF}f4KIV6D)CJ!?&l&{T)e4U%3HTSYqsQ zo@zWB1o}ceQSV)<4G<)jM|@@YpL+XHuWsr5AYh^Q{K=wSV99D~4RRU52FufmMBMmd z_H}L#qe(}|I9ZyPRD6kT>Ivj&2Y?qVZq<4bG_co_DP`sE*_Xw8D;+7QR$Uq(rr+u> z8bHUWbV19i#)@@G4bCco@Xb<8u~wVDz9S`#k@ciJtlu@uP1U0X?yov8v9U3VOig2t zL9?n$P3=1U_Emi$#slR>N5wH-=J&T=EdUHA}_Z zZIl3nvMP*AZS9{cDqFanrA~S5BqxtNm9tlu;^`)3X&V4tMAkJ4gEIPl= zoV!Gyx0N{3DpD@)pv^iS*dl2FwANu;1;%EDl}JQ7MbxLMAp>)UwNwe{=V}O-5C*>F zu?Ny+F64jZn<+fKjF01}8h5H_3pey|;%bI;SFg$w8;IC<8l|3#Lz2;mNNik6sVTG3 z+Su^rIE#40C4a-587$U~%KedEEw1%r6wdvoMwpmlXH$xPnNQN#f%Z7|p)nC>WsuO= z4zyqapLS<8(UJ~Qi9d|dQijb_xhA2)v>la)<1md5s^R1N&PiuA$^k|A<+2C?OiHbj z>Bn$~t)>Y(Zb`8hW7q9xQ=s>Rv81V+UiuZJc<23HplI88isqRCId89fb`Kt|CxVIg znWcwprwXnotO>3s&Oypkte^9yJjlUVVxSe%_xlzmje|mYOVPH^vjA=?6xd0vaj0Oz zwJ4OJNiFdnHJX3rw&inskjryukl`*fRQ#SMod5J|KroJRsVXa5_$q7whSQ{gOi*s0 z1LeCy|JBWRsDPn7jCb4s(p|JZiZ8+*ExC@Vj)MF|*Vp{B(ziccSn`G1Br9bV(v!C2 z6#?eqpJBc9o@lJ#^p-`-=`4i&wFe>2)nlPK1p9yPFzJCzBQbpkcR>={YtamIw)3nt z(QEF;+)4`>8^_LU)_Q3 zC5_7lgi_6y>U%m)m@}Ku4C}=l^J=<<7c;99ec3p{aR+v=diuJR7uZi%aQv$oP?dn?@6Yu_+*^>T0ptf(oobdL;6)N-I!TO`zg^Xbv3#L0I~sn@WGk-^SmPh5>W+LB<+1PU}AKa?FCWF|qMNELOgdxR{ zbqE7@jVe+FklzdcD$!(A$&}}H*HQFTJ+AOrJYnhh}Yvta(B zQ_bW4Rr;R~&6PAKwgLWXS{Bnln(vUI+~g#kl{r+_zbngT`Y3`^Qf=!PxN4IYX#iW4 zucW7@LLJA9Zh3(rj~&SyN_pjO8H&)|(v%!BnMWySBJV=eSkB3YSTCyIeJ{i;(oc%_hk{$_l;v>nWSB)oVeg+blh=HB5JSlG_r7@P z3q;aFoZjD_qS@zygYqCn=;Zxjo!?NK!%J$ z52lOP`8G3feEj+HTp@Tnn9X~nG=;tS+z}u{mQX_J0kxtr)O30YD%oo)L@wy`jpQYM z@M>Me=95k1p*FW~rHiV1CIfVc{K8r|#Kt(ApkXKsDG$_>76UGNhHExFCw#Ky9*B-z zNq2ga*xax!HMf_|Vp-86r{;~YgQKqu7%szk8$hpvi_2I`OVbG1doP(`gn}=W<8%Gn z%81#&WjkH4GV;4u43EtSW>K_Ta3Zj!XF?;SO3V#q=<=>Tc^@?A`i;&`-cYj|;^ zEo#Jl5zSr~_V-4}y8pnufXLa80vZY4z2ko7fj>DR)#z=wWuS1$$W!L?(y}YC+yQ|G z@L&`2upy3f>~*IquAjkVNU>}c10(fq#HdbK$~Q3l6|=@-eBbo>B9(6xV`*)sae58*f zym~RRVx;xoCG3`JV`xo z!lFw)=t2Hy)e!IFs?0~7osWk(d%^wxq&>_XD4+U#y&-VF%4z?XH^i4w`TxpF{`XhZ z%G}iEzf!T(l>g;W9<~K+)$g!{UvhW{E0Lis(S^%I8OF&%kr!gJ&fMOpM=&=Aj@wuL zBX?*6i51Qb$uhkwkFYkaD_UDE+)rh1c;(&Y=B$3)J&iJfQSx!1NGgPtK!$c9OtJuu zX(pV$bfuJpRR|K(dp@^j}i&HeJOh@|7lWo8^$*o~Xqo z5Sb+!EtJ&e@6F+h&+_1ETbg7LfP5GZjvIUIN3ibCOldAv z)>YdO|NH$x7AC8dr=<2ekiY1%fN*r~e5h6Yaw<{XIErujKV~tiyrvV_DV0AzEknC- zR^xKM3i<1UkvqBj3C{wDvytOd+YtDSGu!gEMg+!&|8BQrT*|p)(dwQLEy+ zMtMzij3zo40)CA!BKZF~yWg?#lWhqD3@qR)gh~D{uZaJO;{OWV8XZ_)J@r3=)T|kt zUS1pXr6-`!Z}w2QR7nP%d?ecf90;K_7C3d!UZ`N(TZoWNN^Q~RjVhQG{Y<%E1PpV^4 z-m-K+$A~-+VDABs^Q@U*)YvhY4Znn2^w>732H?NRK(5QSS$V@D7yz2BVX4)f5A04~$WbxGOam22>t&uD)JB8-~yiQW6ik;FGblY_I>SvB_z2?PS z*Qm&qbKI{H1V@YGWzpx`!v)WeLT02};JJo*#f$a*FH?IIad-^(;9XC#YTWN6;Z6+S zm4O1KH=#V@FJw7Pha0!9Vb%ZIM$)a`VRMoiN&C|$YA3~ZC*8ayZRY^fyuP6$n%2IU z$#XceYZeqLTXw(m$_z|33I$B4k~NZO>pP6)H_}R{E$i%USGy{l{-jOE;%CloYPEU+ zRFxOn4;7lIOh!7abb23YKD+_-?O z0FP9otcAh+oSj;=f#$&*ExUHpd&e#bSF%#8*&ItcL2H$Sa)?pt0Xtf+t)z$_u^wZi z44oE}r4kIZGy3!Mc8q$B&6JqtnHZ>Znn!Zh@6rgIu|yU+zG8q`q9%B18|T|oN3zMq z`l&D;U!OL~%>vo&q0>Y==~zLiCZk4v%s_7!9DxQ~id1LLE93gf*gg&2$|hB#j8;?3 z5v4S;oM6rT{Y;I+#FdmNw z){d%tNM<<#GN%n9ox7B=3#;u7unZ~tLB_vRZ52a&2=IM)2VkXm=L+Iqq~uk#Dug|x z>S84e+A7EiOY5lj*!q?6HDkNh~0g;0Jy(al!ZHHDtur9T$y-~)94HelX1NHjXWIM7UAe}$?jiz z9?P4`I0JM=G5K{3_%2jPLC^_Mlw?-kYYgb7`qGa3@dn|^1fRMwiyM@Ch z;CB&o7&&?c5e>h`IM;Wnha0QKnEp=$hA8TJgR-07N~U5(>9vJzeoFsSRBkDq=x(YgEMpb=l4TDD`2 zwVJpWGTA_u7}?ecW7s6%rUs&NXD3+n;jB86`X?8(l3MBo6)PdakI6V6a}22{)8ilT zM~T*mU}__xSy|6XSrJ^%lDAR3Lft%+yxC|ZUvSO_nqMX!_ul3;R#*{~4DA=h$bP)%8Yv9X zyp><|e8=_ttI}ZAwOd#dlnSjck#6%273{E$kJuCGu=I@O)&6ID{nWF5@gLb16sj|&Sb~+du4e4O_%_o`Ix4NRrAsyr1_}MuP94s>de8cH-OUkVPk3+K z&jW)It9QiU-ti~AuJkL`XMca8Oh4$SyJ=`-5WU<{cIh+XVH#e4d&zive_UHC!pN>W z3TB;Mn5i)9Qn)#6@lo4QpI3jFYc0~+jS)4AFz8fVC;lD^+idw^S~Qhq>Tg(!3$yLD zzktzoFrU@6s4wwCMz}edpF5i5Q1IMmEJQHzp(LAt)pgN3&O!&d?3W@6U4)I^2V{;- z6A(?zd93hS*uQmnh4T)nHnE{wVhh(=MMD(h(P4+^p83Om6t<*cUW>l(qJzr%5vp@K zN27ka(L{JX=1~e2^)F^i=TYj&;<7jyUUR2Bek^A8+3Up*&Xwc{)1nRR5CT8vG>ExV zHnF3UqXJOAno_?bnhCX-&kwI~Ti8t4`n0%Up>!U`ZvK^w2+0Cs-b9%w%4`$+To|k= zKtgc&l}P`*8IS>8DOe?EB84^kx4BQp3<7P{Pq}&p%xF_81pg!l2|u=&I{AuUgmF5n zJQCTLv}%}xbFGYtKfbba{CBo)lWW%Z>i(_NvLhoQZ*5-@2l&x>e+I~0Nld3UI9tdL zRzu8}i;X!h8LHVvN?C+|M81e>Jr38%&*9LYQec9Ax>?NN+9(_>XSRv&6hlCYB`>Qm z1&ygi{Y()OU4@D_jd_-7vDILR{>o|7-k)Sjdxkjgvi{@S>6GqiF|o`*Otr;P)kLHN zZkpts;0zw_6;?f(@4S1FN=m!4^mv~W+lJA`&7RH%2$)49z0A+8@0BCHtj|yH--AEL z0tW6G%X-+J+5a{5*WKaM0QDznf;V?L5&uQw+yegDNDP`hA;0XPYc6e0;Xv6|i|^F2WB)Z$LR|HR4 zTQsRAby9(^Z@yATyOgcfQw7cKyr^3Tz7lc7+JEwwzA7)|2x+PtEb>nD(tpxJQm)Kn zW9K_*r!L%~N*vS8<5T=iv|o!zTe9k_2jC_j*7ik^M_ zaf%k{WX{-;0*`t`G!&`eW;gChVXnJ-Rn)To8vW-?>>a%QU1v`ZC=U)f8iA@%JG0mZ zDqH;~mgBnrCP~1II<=V9;EBL)J+xzCoiRBaeH&J6rL!{4zIY8tZka?_FBeQeNO3q6 zyG_alW54Ba&wQf{&F1v-r1R6ID)PTsqjIBc+5MHkcW5Fnvi~{-FjKe)t1bl}Y;z@< z=!%zvpRua>>t_x}^}z0<7MI!H2v6|XAyR9!t50q-A)xk0nflgF4*OQlCGK==4S|wc zRMsSscNhRzHMBU8TdcHN!q^I}x0iXJ%uehac|Zs_B$p@CnF)HeXPpB_Za}F{<@6-4 zl%kml@}kHQ(ypD8FsPJ2=14xXJE|b20RUIgs!2|R3>LUMGF6X*B_I|$`Qg=;zm7C z{mEDy9dTmPbued7mlO@phdmAmJ7p@GR1bjCkMw6*G7#4+`k>fk1czdJUB!e@Q(~6# zwo%@p@V5RL0ABU2LH7Asq^quDUho@H>eTZH9f*no9fY0T zD_-9px3e}A!>>kv5wk91%C9R1J_Nh!*&Kk$J3KNxC}c_@zlgpJZ+5L)Nw|^p=2ue}CJtm;uj*Iqr)K})kA$xtNUEvX;4!Px*^&9T_`IN{D z{6~QY=Nau6EzpvufB^hflc#XIsSq0Y9(nf$d~6ZwK}fal92)fr%T3=q{0mP-EyP_G z)UR5h@IX}3Qll2b0oCAcBF>b*@Etu*aTLPU<%C>KoOrk=x?pN!#f_Og-w+;xbFgjQ zXp`et%lDBBh~OcFnMKMUoox0YwBNy`N0q~bSPh@+enQ=4RUw1) zpovN`QoV>vZ#5LvC;cl|6jPr}O5tu!Ipoyib8iXqy}TeJ;4+_7r<1kV0v5?Kv>fYp zg>9L`;XwXa&W7-jf|9~uP2iyF5`5AJ`Q~p4eBU$MCC00`rcSF>`&0fbd^_eqR+}mK z4n*PMMa&FOcc)vTUR zlDUAn-mh`ahi_`f`=39JYTNVjsTa_Y3b1GOIi)6dY)D}xeshB0T8Eov5%UhWd1)u}kjEQ|LDo{tqKKrYIfVz~@dp!! zMOnah@vp)%_-jDTUG09l+;{CkDCH|Q{NqX*uHa1YxFShy*1+;J`gywKaz|2Q{lG8x zP?KBur`}r`!WLKXY_K;C8$EWG>jY3UIh{+BLv0=2)KH%P}6xE2kg)%(-uA6lC?u8}{K(#P*c zE9C8t*u%j2r_{;Rpe1A{9nNXU;b_N0vNgyK!EZVut~}+R2rcbsHilqsOviYh-pYX= zHw@53nlmwYI5W5KP>&`dBZe0Jn?nAdC^HY1wlR6$u^PbpB#AS&5L6zqrXN&7*N2Q` z+Rae1EwS)H=aVSIkr8Ek^1jy2iS2o7mqm~Mr&g5=jjt7VxwglQ^`h#Mx+x2v|9ZAwE$i_9918MjJxTMr?n!bZ6n$}y11u8I9COTU`Z$Fi z!AeAQLMw^gp_{+0QTEJrhL424pVDp%wpku~XRlD3iv{vQ!lAf!_jyqd_h}+Tr1XG| z`*FT*NbPqvHCUsYAkFnM`@l4u_QH&bszpUK#M~XLJt{%?00GXY?u_{gj3Hvs!=N(I z(=AuWPijyoU!r?aFTsa8pLB&cx}$*%;K$e*XqF{~*rA-qn)h^!(-;e}O#B$|S~c+U zN4vyOK0vmtx$5K!?g*+J@G1NmlEI=pyZXZ69tAv=@`t%ag_Hk{LP~OH9iE)I= zaJ69b4kuCkV0V zo(M0#>phpQ_)@j;h%m{-a*LGi(72TP)ws2w*@4|C-3+;=5DmC4s7Lp95%n%@Ko zfdr3-a7m*dys9iIci$A=4NPJ`HfJ;hujLgU)ZRuJI`n;Pw|yksu!#LQnJ#dJysgNb z@@qwR^wrk(jbq4H?d!lNyy72~Dnn87KxsgQ!)|*m(DRM+eC$wh7KnS-mho3|KE)7h zK3k;qZ;K1Lj6uEXLYUYi)1FN}F@-xJ z@@3Hb84sl|j{4$3J}aTY@cbX@pzB_qM~APljrjju6P0tY{C@ zpUCOz_NFmALMv1*blCcwUD3?U6tYs+N%cmJ98D%3)%)Xu^uvzF zS5O!sc#X6?EwsYkvPo6A%O8&y8sCCQH<%f2togVwW&{M;PR!a(ZT_A+jVAbf{@5kL zB@Z(hb$3U{T_}SKA_CoQVU-;j>2J=L#lZ~aQCFg-d<9rzs$_gO&d5N6eFSc z1ml8)P*FSi+k@!^M9nDWR5e@ATD8oxtDu=36Iv2!;dZzidIS(PCtEuXAtlBb1;H%Z zwnC^Ek*D)EX4#Q>R$$WA2sxC_t(!!6Tr?C#@{3}n{<^o;9id1RA&-Pig1e-2B1XpG zliNjgmd3c&%A}s>qf{_j#!Z`fu0xIwm4L0)OF=u(OEmp;bLCIaZX$&J_^Z%4Sq4GZ zPn6sV_#+6pJmDN_lx@1;Zw6Md_p0w9h6mHtzpuIEwNn>OnuRSC2=>fP^Hqgc)xu^4 z<3!s`cORHJh#?!nKI`Et7{3C27+EuH)Gw1f)aoP|B3y?fuVfvpYYmmukx0ya-)TQX zR{ggy5cNf4X|g)nl#jC9p>7|09_S7>1D2GTRBUTW zAkQ=JMRogZqG#v;^=11O6@rPPwvJkr{bW-Qg8`q8GoD#K`&Y+S#%&B>SGRL>;ZunM@49!}Uy zN|bBCJ%sO;@3wl0>0gbl3L@1^O60ONObz8ZI7nder>(udj-jt`;yj^nTQ$L9`OU9W zX4alF#$|GiR47%x@s&LV>2Sz2R6?;2R~5k6V>)nz!o_*1Y!$p>BC5&?hJg_MiE6UBy>RkVZj`9UWbRkN-Hk!S`=BS3t3uyX6)7SF#)71*}`~Ogz z1rap5H6~dhBJ83;q-Y<5V35C2&F^JI-it(=5D#v!fAi9p#UwV~2tZQI+W(Dv?1t9? zfh*xpxxO{-(VGB>!Q&0%^YW_F!@aZS#ucP|YaD#>wd1Fv&Z*SR&mc;asi}1G) z_H>`!akh-Zxq9#io(7%;a$)w+{QH)Y$?UK1Dt^4)up!Szcxnu}kn$0afcfJL#IL+S z5gF_Y30j;{lNrG6m~$Ay?)*V9fZuU@3=kd40=LhazjFrau>(Y>SJNtOz>8x_X-BlA zIpl{i>OarVGj1v(4?^1`R}aQB&WCRQzS~;7R{tDZG=HhgrW@B`W|#cdyj%YBky)P= zpxuOZkW>S6%q7U{VsB#G(^FMsH5QuGXhb(sY+!-R8Bmv6Sx3WzSW<1MPPN1!&PurYky(@`bP9tz z52}LH9Q?+FF5jR6-;|+GVdRA!qtd;}*-h&iIw3Tq3qF9sDIb1FFxGbo&fbG5n8$3F zyY&PWL{ys^dTO}oZ#@sIX^BKW*bon=;te9j5k+T%wJ zNJtoN1~YVj4~YRrlZl)b&kJqp+Z`DqT!la$x&&IxgOQw#yZd-nBP3!7FijBXD|IsU8Zl^ zc6?MKpJQ+7ka|tZQLfchD$PD|;K(9FiLE|eUZX#EZxhG!S-63C$jWX1Yd!6-Yxi-u zjULIr|0-Q%D9jz}IF~S%>0(jOqZ(Ln<$9PxiySr&2Oic7vb<8q=46)Ln%Z|<*z5&> z3f~Zw@m;vR(bESB<=Jqkxn(=#hQw42l(7)h`vMQQTttz9XW6^|^8EK7qhju4r_c*b zJIi`)MB$w@9epwdIfnEBR+?~);yd6C(LeMC& zn&&N*?-g&BBJcV;8&UoZi4Lmxcj16ojlxR~zMrf=O_^i1wGb9X-0@6_rpjPYemIin zmJb+;lHe;Yp=8G)Q(L1bzH*}I>}uAqhj4;g)PlvD9_e_ScR{Ipq|$8NvAvLD8MYr}xl=bU~)f%B3E>r3Bu9_t|ThF3C5~BdOve zEbk^r&r#PT&?^V1cb{72yEWH}TXEE}w>t!cY~rA+hNOTK8FAtIEoszp!qqptS&;r$ zaYV-NX96-h$6aR@1xz6_E0^N49mU)-v#bwtGJm)ibygzJ8!7|WIrcb`$XH~^!a#s& z{Db-0IOTFq#9!^j!n_F}#Z_nX{YzBK8XLPVmc&X`fT7!@$U-@2KM9soGbmOSAmqV z{nr$L^MBo_u^Joyf0E^=eo{Rt0{{e$IFA(#*kP@SQd6lWT2-#>` zP1)7_@IO!9lk>Zt?#CU?cuhiLF&)+XEM9B)cS(gvQT!X3`wL*{fArTS;Ak`J<84du zALKPz4}3nlG8Fo^MH0L|oK2-4xIY!~Oux~1sw!+It)&D3p;+N8AgqKI`ld6v71wy8I!eP0o~=RVcFQR2Gr(eP_JbSytoQ$Yt}l*4r@A8Me94y z8cTDWhqlq^qoAhbOzGBXv^Wa4vUz$(7B!mX`T=x_ueKRRDfg&Uc-e1+z4x$jyW_Pm zp?U;-R#xt^Z8Ev~`m`iL4*c#65Nn)q#=Y0l1AuD&+{|8-Gsij3LUZXpM0Bx0u7WWm zH|%yE@-#XEph2}-$-thl+S;__ciBxSSzHveP%~v}5I%u!z_l_KoW{KRx2=eB33umE zIYFtu^5=wGU`Jab8#}cnYry@9p5UE#U|VVvx_4l49JQ;jQdp(uw=$^A$EA$LM%vmE zvdEOaIcp5qX8wX{mYf0;#51~imYYPn4=k&#DsKTxo{_Mg*;S495?OBY?#gv=edYC* z^O@-sd-qa+U24xvcbL0@C7_6o!$`)sVr-jSJE4XQUQ$?L7}2(}Eixqv;L8AdJAVqc zq}RPgpnDb@E_;?6K58r3h4-!4rT4Ab#rLHLX?eMOfluJk=3i1@Gt1i#iA=O`M0@x! z(HtJP9BMHXEzuD93m|B&woj0g6T?f#^)>J>|I4C5?Gam>n9!8CT%~aT;=oco5d6U8 zMXl(=W;$ND_8+DD*?|5bJ!;8ebESXMUKBAf7YBwNVJibGaJ*(2G`F%wx)grqVPjudiaq^Kl&g$8A2 zWMxMr@_$c}d+;_B`#kUX-t|4VKH&_f^^EP0&=DPLW)H)UzBG%%Tra*5 z%$kyZe3I&S#gfie^z5)!twG={3Cuh)FdeA!Kj<-9** zvT*5%Tb`|QbE!iW-XcOuy39>D3oe6x{>&<#E$o8Ac|j)wq#kQzz|ATd=Z0K!p2$QE zPu?jL8Lb^y3_CQE{*}sTDe!2!dtlFjq&YLY@2#4>XS`}v#PLrpvc4*@q^O{mmnr5D zmyJq~t?8>FWU5vZdE(%4cuZuao0GNjp3~Dt*SLaxI#g_u>hu@k&9Ho*#CZP~lFJHj z(e!SYlLigyc?&5-YxlE{uuk$9b&l6d`uIlpg_z15dPo*iU&|Khx2*A5Fp;8iK_bdP z?T6|^7@lcx2j0T@x>X7|kuuBSB7<^zeY~R~4McconTxA2flHC0_jFxmSTv-~?zVT| zG_|yDqa9lkF*B6_{j=T>=M8r<0s;@z#h)3BQ4NLl@`Xr__o7;~M&dL3J8fP&zLfDfy z);ckcTev{@OUlZ`bCo(-3? z1u1xD`PKgSg?RqeVVsF<1SLF;XYA@Bsa&cY!I48ZJn1V<3d!?s=St?TLo zC0cNr`qD*M#s6f~X>SCNVkva^9A2ZP>CoJ9bvgXe_c}WdX-)pHM5m7O zrHt#g$F0AO+nGA;7dSJ?)|Mo~cf{z2L)Rz!`fpi73Zv)H=a5K)*$5sf_IZypi($P5 zsPwUc4~P-J1@^3C6-r9{V-u0Z&Sl7vNfmuMY4yy*cL>_)BmQF!8Om9Dej%cHxbIzA zhtV0d{=%cr?;bpBPjt@4w=#<>k5ee=TiWAXM2~tUGfm z$s&!Dm0R^V$}fOR*B^kGaipi~rx~A2cS0;t&khV1a4u38*XRUP~f za!rZMtay8bsLt6yFYl@>-y^31(*P!L^^s@mslZy(SMsv9bVoX`O#yBgEcjCmGpyc* zeH$Dw6vB5P*;jor+JOX@;6K#+xc)Z9B8M=x2a@Wx-{snPGpRmOC$zpsqW*JCh@M2Y z#K+M(>=#d^>Of9C`))h<=Bsy)6zaMJ&x-t%&+UcpLjV`jo4R2025 zXaG8EA!0lQa)|dx-@{O)qP6`$rhCkoQqZ`^SW8g-kOwrwsK8 z3ms*AIcyj}-1x&A&vSq{r=QMyp3CHdWH35!sad#!Sm>^|-|afB+Q;|Iq@LFgqIp#Z zD1%H+3I?6RGnk&IFo|u+E0dCxXz4yI^1i!QTu7uvIEH>i3rR{srcST`LIRwdV1P;W z+%AN1NIf@xxvVLiSX`8ILA8MzNqE&7>%jMzGt9wm78bo9<;h*W84i29^w!>V>{N+S zd`5Zmz^G;f=icvoOZfK5#1ctx*~UwD=ab4DGQXehQ!XYnak*dee%YN$_ZPL%KZuz$ zD;$PpT;HM^$KwtQm@7uvT`i6>Hae1CoRVM2)NL<2-k2PiX=eAx+-6j#JI?M}(tuBW zkF%jjLR)O`gI2fcPBxF^HeI|DWwQWHVR!;;{BXXHskxh8F@BMDn`oEi-NHt;CLymW z=KSv5)3dyzec0T5B*`g-MQ<;gz=nIWKUi9ko<|4I(-E0k$QncH>E4l z**1w&#={&zv4Tvhgz#c29`m|;lU-jmaXFMC11 z*dlXDMEOG>VoLMc>!rApwOu2prKSi*!w%`yzGmS+k(zm*CsLK*wv{S_0WX^8A-rKy zbk^Gf_92^7iB_uUF)EE+ET4d|X|>d&mdN?x@vxKAQk`O+r4Qdu>XGy(a(19g;=jU} zFX{O*_NG>!$@jh!U369Lnc+D~qch3uT+_Amyi}*k#LAAwh}k8IPK5a-WZ81ufD>l> z$4cF}GSz>ce`3FAic}6W4Z7m9KGO?(eWqi@L|5Hq0@L|&2flN1PVl}XgQ2q*_n2s3 zt5KtowNkTYB5b;SVuoXA@i5irXO)A&%7?V`1@HGCB&)Wgk+l|^XXChq;u(nyPB}b3 zY>m5jkxpZgi)zfbgv&ec4Zqdvm+D<?Im*mXweS9H+V>)zF#Zp3)bhl$PbISY{5=_z!8&*Jv~NYtI-g!>fDs zmvL5O^U%!^VaKA9gvKw|5?-jk>~%CVGvctKmP$kpnpfN{D8@X*Aazi$txfa%vd-|E z>kYmV66W!lNekJPom29LdZ%(I+ZLZYTXzTg*to~m?7vp%{V<~>H+2}PQ?PPAq`36R z<%wR8v6UkS>Wt#hzGk#44W<%9S=nBfB);6clKwnxY}T*w21Qc3_?IJ@4gYzC7s;WP zVQNI(M=S=JT#xsZy7G`cR(BP9*je0bfeN8JN5~zY(DDs0t{LpHOIbN);?T-69Pf3R zSNe*&p2%AwXHL>__g+xd4Hlc_vu<25H?(`nafS%)3UPP7_4;gk-9ckt8SJRTv5v0M z_Hww`qPudL?ajIR&X*;$y-`<)6dxx1U~5eGS13CB!lX;3w7n&lDDiArbAhSycd}+b zya_3p@A`$kQy;|NJZ~s44Hqo7Hwt}X86NK=(ey>lgWTtGL6k@Gy;PbO!M%1~Wcn2k zUFP|*5d>t-X*RU8g%>|(wwj*~#l4z^Aatf^DWd1Wj#Q*AY0D^V@sC`M zjJc6qXu0I7Y*2;;gGu!plAFzG=J;1%eIOdn zQA>J&e05UN*7I5@yRhK|lbBSfJ+5Uq;!&HV@xfPZrgD}kE*1DSq^=%{o%|LChhl#0 zlMb<^a6ixzpd{kNZr|3jTGeEzuo}-eLT-)Q$#b{!vKx8Tg}swCni>{#%vDY$Ww$84 zew3c9BBovqb}_&BRo#^!G(1Eg((BScRZ}C)Oz?y`T5wOrv);)b^4XR8 zhJo7+<^7)qB>I;46!GySzdneZ>n_E1oWZY;kf94#)s)kWjuJN1c+wbVoNQcmnv}{> zN0pF+Sl3E}UQ$}slSZeLJrwT>Sr}#V(dVaezCQl2|4LN`7L7v&siYR|r7M(*JYfR$ zst3=YaDw$FSc{g}KHO&QiKxuhEzF{f%RJLKe3p*7=oo`WNP)M(9X1zIQPP0XHhY3c znrP{$4#Ol$A0s|4S7Gx2L23dv*Gv2o;h((XVn+9+$qvm}s%zi6nI-_s6?mG! zj{DV;qesJb&owKeEK?=J>UcAlYckA7Sl+I&IN=yasrZOkejir*kE@SN`fk<8Fgx*$ zy&fE6?}G)d_N`){P~U@1jRVA|2*69)KSe_}!~?+`Yb{Y=O~_+@!j<&oVQQMnhoIRU zA0CyF1OFfkK44n*JD~!2!SCPM;PRSk%1XL=0&rz00wxPs&-_eapJy#$h!eqY%nS0{ z!aGg58JIJPF3_ci%n)QSVpa2H`vIe$RD43;#IRfDV&Ibit z+?>HW4{2wOfC6Fw)}4x}i1maDxcE1qi@BS*qcxD2gE@h3#4cgU*D-&3z7D|tVZWt= z-Cy2+*Cm@P4GN_TPUtaVyVesbVDazF@)j8VJ4>XZv!f%}&eO1SvIgr}4`A*3#vat< z_MoByL(qW6L7SFZ#|Gc1fFN)L2PxY+{B8tJp+pxRyz*87)vXR}*=&ahXjBlQKguuf zX6x<<6fQulE^C*KH8~W%ptpaC0l?b=_{~*U4?5Vt;dgM4t_{&UZ1C2j?b>b+5}{IF_CUyvz-@QZPMlJ)r_tS$9kH%RPv#2_nMb zRLj5;chJ72*U`Z@Dqt4$@_+k$%|8m(HqLG!qT4P^DdfvGf&){gKnGCX#H0!;W=AGP zbA&Z`-__a)VTS}kKFjWGk z%|>yE?t*EJ!qeQ%dPk$;xIQ+P0;()PCBDgjJm6Buj{f^awNoVx+9<|lg3%-$G(*f) zll6oOkN|yamn1uyl2*N-lnqRI1cvs_JxLTeahEK=THV$Sz*gQhKNb*p0fNoda#-&F zB-qJgW^g}!TtM|0bS2QZekW7_tKu%GcJ!4?lObt0z_$mZ4rbQ0o=^curCs3bJK6sq z9fu-aW-l#>z~ca(B;4yv;2RZ?tGYAU)^)Kz{L|4oPj zdOf_?de|#yS)p2v8-N||+XL=O*%3+y)oI(HbM)Ds?q8~HPzIP(vs*G`iddbWq}! z(2!VjP&{Z1w+%eUq^ '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style/gradlew.bat b/java/ql/integration-tests/all-platforms/java/android-sample-old-style/gradlew.bat deleted file mode 100644 index f127cfd49d4..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style/gradlew.bat +++ /dev/null @@ -1,91 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style/source_archive.expected b/java/ql/integration-tests/all-platforms/java/android-sample-old-style/source_archive.expected new file mode 100644 index 00000000000..2d3a437d507 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/android-sample-old-style/source_archive.expected @@ -0,0 +1,29 @@ +.gradle/7.4/dependencies-accessors/gc.properties +.gradle/7.4/gc.properties +.gradle/buildOutputCleanup/cache.properties +.gradle/vcs-1/gc.properties +gradle/wrapper/gradle-wrapper.properties +project/build/generated/source/buildConfig/release/com/github/androidsample/BuildConfig.java +project/build/intermediates/app_metadata/release/app-metadata.properties +project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml +project/build/intermediates/incremental/lintVitalRelease/module.xml +project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalRelease/release.xml +project/build/intermediates/incremental/mergeReleaseAssets/merger.xml +project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml +project/build/intermediates/incremental/mergeReleaseResources/compile-file-map.properties +project/build/intermediates/incremental/mergeReleaseResources/merger.xml +project/build/intermediates/incremental/mergeReleaseShaders/merger.xml +project/build/intermediates/lint_vital_partial_results/release/out/lint-issues-release.xml +project/build/intermediates/merged_manifest/release/AndroidManifest.xml +project/build/intermediates/merged_manifests/release/AndroidManifest.xml +project/build/intermediates/packaged_manifests/release/AndroidManifest.xml +project/src/main/AndroidManifest.xml +project/src/main/java/com/github/androidsample/Main.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style/test.expected b/java/ql/integration-tests/all-platforms/java/android-sample-old-style/test.expected deleted file mode 100644 index f49910c2646..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style/test.expected +++ /dev/null @@ -1,23 +0,0 @@ -#select -| project/build/generated/source/buildConfig/release/com/github/androidsample/BuildConfig.java:0:0:0:0 | BuildConfig | -| project/src/main/java/com/github/androidsample/Main.java:0:0:0:0 | Main | -xmlFiles -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-testArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml | -| project/build/intermediates/incremental/lintVitalRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalRelease/module.xml | -| project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalRelease/release.xml | -| project/build/intermediates/incremental/mergeReleaseAssets/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseAssets/merger.xml | -| project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml | -| project/build/intermediates/incremental/mergeReleaseResources/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseResources/merger.xml | -| project/build/intermediates/incremental/mergeReleaseShaders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseShaders/merger.xml | -| project/build/intermediates/lint_vital_partial_results/release/out/lint-issues-release.xml:0:0:0:0 | project/build/intermediates/lint_vital_partial_results/release/out/lint-issues-release.xml | -| project/build/intermediates/merged_manifest/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifest/release/AndroidManifest.xml | -| project/build/intermediates/merged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifests/release/AndroidManifest.xml | -| project/build/intermediates/packaged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/packaged_manifests/release/AndroidManifest.xml | -| project/src/main/AndroidManifest.xml:0:0:0:0 | project/src/main/AndroidManifest.xml | diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style/test.py b/java/ql/integration-tests/all-platforms/java/android-sample-old-style/test.py index 7f379da0a07..d3399e414e6 100644 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style/test.py +++ b/java/ql/integration-tests/all-platforms/java/android-sample-old-style/test.py @@ -1,7 +1,2 @@ -import sys - -from create_database_utils import * - -try_use_java11() - -run_codeql_database_create([], lang="java") +def test(codeql, use_java_11, java, gradle_7_4, android_sdk): + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/android-sample-old-style/test.ql b/java/ql/integration-tests/all-platforms/java/android-sample-old-style/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample-old-style/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/android-sample/.gitattributes b/java/ql/integration-tests/all-platforms/java/android-sample/.gitattributes deleted file mode 100644 index 00a51aff5e5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample/.gitattributes +++ /dev/null @@ -1,6 +0,0 @@ -# -# https://help.github.com/articles/dealing-with-line-endings/ -# -# These are explicitly windows files and should use crlf -*.bat text eol=crlf - diff --git a/java/ql/integration-tests/all-platforms/java/android-sample/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/android-sample/force_sequential_test_execution deleted file mode 100644 index 4947fd6fe51..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample/force_sequential_test_execution +++ /dev/null @@ -1,4 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. -# Additionally, Android SDK on-demand downloading can fail when multiple tests try to download the same SDK in parallel. diff --git a/java/ql/integration-tests/all-platforms/java/android-sample/gradle/wrapper/gradle-wrapper.jar b/java/ql/integration-tests/all-platforms/java/android-sample/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 249e5832f090a2944b7473328c07c9755baa3196..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60756 zcmb5WV{~QRw(p$^Dz@00IL3?^hro$gg*4VI_WAaTyVM5Foj~O|-84 z$;06hMwt*rV;^8iB z1~&0XWpYJmG?Ts^K9PC62H*`G}xom%S%yq|xvG~FIfP=9*f zZoDRJBm*Y0aId=qJ?7dyb)6)JGWGwe)MHeNSzhi)Ko6J<-m@v=a%NsP537lHe0R* z`If4$aaBA#S=w!2z&m>{lpTy^Lm^mg*3?M&7HFv}7K6x*cukLIGX;bQG|QWdn{%_6 zHnwBKr84#B7Z+AnBXa16a?or^R?+>$4`}{*a_>IhbjvyTtWkHw)|ay)ahWUd-qq$~ zMbh6roVsj;_qnC-R{G+Cy6bApVOinSU-;(DxUEl!i2)1EeQ9`hrfqj(nKI7?Z>Xur zoJz-a`PxkYit1HEbv|jy%~DO^13J-ut986EEG=66S}D3!L}Efp;Bez~7tNq{QsUMm zh9~(HYg1pA*=37C0}n4g&bFbQ+?-h-W}onYeE{q;cIy%eZK9wZjSwGvT+&Cgv z?~{9p(;bY_1+k|wkt_|N!@J~aoY@|U_RGoWX<;p{Nu*D*&_phw`8jYkMNpRTWx1H* z>J-Mi_!`M468#5Aix$$u1M@rJEIOc?k^QBc?T(#=n&*5eS#u*Y)?L8Ha$9wRWdH^3D4|Ps)Y?m0q~SiKiSfEkJ!=^`lJ(%W3o|CZ zSrZL-Xxc{OrmsQD&s~zPfNJOpSZUl%V8tdG%ei}lQkM+z@-4etFPR>GOH9+Y_F<3=~SXln9Kb-o~f>2a6Xz@AS3cn^;c_>lUwlK(n>z?A>NbC z`Ud8^aQy>wy=$)w;JZzA)_*Y$Z5hU=KAG&htLw1Uh00yE!|Nu{EZkch zY9O6x7Y??>!7pUNME*d!=R#s)ghr|R#41l!c?~=3CS8&zr6*aA7n9*)*PWBV2w+&I zpW1-9fr3j{VTcls1>ua}F*bbju_Xq%^v;-W~paSqlf zolj*dt`BBjHI)H9{zrkBo=B%>8}4jeBO~kWqO!~Thi!I1H(in=n^fS%nuL=X2+s!p}HfTU#NBGiwEBF^^tKU zbhhv+0dE-sbK$>J#t-J!B$TMgN@Wh5wTtK2BG}4BGfsZOoRUS#G8Cxv|6EI*n&Xxq zt{&OxCC+BNqz$9b0WM7_PyBJEVObHFh%%`~!@MNZlo*oXDCwDcFwT~Rls!aApL<)^ zbBftGKKBRhB!{?fX@l2_y~%ygNFfF(XJzHh#?`WlSL{1lKT*gJM zs>bd^H9NCxqxn(IOky5k-wALFowQr(gw%|`0991u#9jXQh?4l|l>pd6a&rx|v=fPJ z1mutj{YzpJ_gsClbWFk(G}bSlFi-6@mwoQh-XeD*j@~huW4(8ub%^I|azA)h2t#yG z7e_V_<4jlM3D(I+qX}yEtqj)cpzN*oCdYHa!nm%0t^wHm)EmFP*|FMw!tb@&`G-u~ zK)=Sf6z+BiTAI}}i{*_Ac$ffr*Wrv$F7_0gJkjx;@)XjYSh`RjAgrCck`x!zP>Ifu z&%he4P|S)H*(9oB4uvH67^0}I-_ye_!w)u3v2+EY>eD3#8QR24<;7?*hj8k~rS)~7 zSXs5ww)T(0eHSp$hEIBnW|Iun<_i`}VE0Nc$|-R}wlSIs5pV{g_Dar(Zz<4X3`W?K z6&CAIl4U(Qk-tTcK{|zYF6QG5ArrEB!;5s?tW7 zrE3hcFY&k)+)e{+YOJ0X2uDE_hd2{|m_dC}kgEKqiE9Q^A-+>2UonB+L@v3$9?AYw zVQv?X*pK;X4Ovc6Ev5Gbg{{Eu*7{N3#0@9oMI~}KnObQE#Y{&3mM4`w%wN+xrKYgD zB-ay0Q}m{QI;iY`s1Z^NqIkjrTlf`B)B#MajZ#9u41oRBC1oM1vq0i|F59> z#StM@bHt|#`2)cpl_rWB($DNJ3Lap}QM-+A$3pe}NyP(@+i1>o^fe-oxX#Bt`mcQc zb?pD4W%#ep|3%CHAYnr*^M6Czg>~L4?l16H1OozM{P*en298b+`i4$|w$|4AHbzqB zHpYUsHZET$Z0ztC;U+0*+amF!@PI%^oUIZy{`L{%O^i{Xk}X0&nl)n~tVEpcAJSJ} zverw15zP1P-O8h9nd!&hj$zuwjg?DoxYIw{jWM zW5_pj+wFy8Tsa9g<7Qa21WaV&;ejoYflRKcz?#fSH_)@*QVlN2l4(QNk| z4aPnv&mrS&0|6NHq05XQw$J^RR9T{3SOcMKCXIR1iSf+xJ0E_Wv?jEc*I#ZPzyJN2 zUG0UOXHl+PikM*&g$U@g+KbG-RY>uaIl&DEtw_Q=FYq?etc!;hEC_}UX{eyh%dw2V zTTSlap&5>PY{6I#(6`j-9`D&I#|YPP8a;(sOzgeKDWsLa!i-$frD>zr-oid!Hf&yS z!i^cr&7tN}OOGmX2)`8k?Tn!!4=tz~3hCTq_9CdiV!NIblUDxHh(FJ$zs)B2(t5@u z-`^RA1ShrLCkg0)OhfoM;4Z{&oZmAec$qV@ zGQ(7(!CBk<5;Ar%DLJ0p0!ResC#U<+3i<|vib1?{5gCebG7$F7URKZXuX-2WgF>YJ^i zMhHDBsh9PDU8dlZ$yJKtc6JA#y!y$57%sE>4Nt+wF1lfNIWyA`=hF=9Gj%sRwi@vd z%2eVV3y&dvAgyuJ=eNJR+*080dbO_t@BFJO<@&#yqTK&+xc|FRR;p;KVk@J3$S{p` zGaMj6isho#%m)?pOG^G0mzOAw0z?!AEMsv=0T>WWcE>??WS=fII$t$(^PDPMU(P>o z_*0s^W#|x)%tx8jIgZY~A2yG;US0m2ZOQt6yJqW@XNY_>_R7(Nxb8Ged6BdYW6{prd!|zuX$@Q2o6Ona8zzYC1u!+2!Y$Jc9a;wy+pXt}o6~Bu1oF1c zp7Y|SBTNi@=I(K%A60PMjM#sfH$y*c{xUgeSpi#HB`?|`!Tb&-qJ3;vxS!TIzuTZs-&%#bAkAyw9m4PJgvey zM5?up*b}eDEY+#@tKec)-c(#QF0P?MRlD1+7%Yk*jW;)`f;0a-ZJ6CQA?E%>i2Dt7T9?s|9ZF|KP4;CNWvaVKZ+Qeut;Jith_y{v*Ny6Co6!8MZx;Wgo z=qAi%&S;8J{iyD&>3CLCQdTX*$+Rx1AwA*D_J^0>suTgBMBb=*hefV+Ars#mmr+YsI3#!F@Xc1t4F-gB@6aoyT+5O(qMz*zG<9Qq*f0w^V!03rpr*-WLH}; zfM{xSPJeu6D(%8HU%0GEa%waFHE$G?FH^kMS-&I3)ycx|iv{T6Wx}9$$D&6{%1N_8 z_CLw)_9+O4&u94##vI9b-HHm_95m)fa??q07`DniVjAy`t7;)4NpeyAY(aAk(+T_O z1om+b5K2g_B&b2DCTK<>SE$Ode1DopAi)xaJjU>**AJK3hZrnhEQ9E`2=|HHe<^tv z63e(bn#fMWuz>4erc47}!J>U58%<&N<6AOAewyzNTqi7hJc|X{782&cM zHZYclNbBwU6673=!ClmxMfkC$(CykGR@10F!zN1Se83LR&a~$Ht&>~43OX22mt7tcZUpa;9@q}KDX3O&Ugp6< zLZLfIMO5;pTee1vNyVC$FGxzK2f>0Z-6hM82zKg44nWo|n}$Zk6&;5ry3`(JFEX$q zK&KivAe${e^5ZGc3a9hOt|!UOE&OocpVryE$Y4sPcs4rJ>>Kbi2_subQ9($2VN(3o zb~tEzMsHaBmBtaHAyES+d3A(qURgiskSSwUc9CfJ@99&MKp2sooSYZu+-0t0+L*!I zYagjOlPgx|lep9tiU%ts&McF6b0VE57%E0Ho%2oi?=Ks+5%aj#au^OBwNwhec zta6QAeQI^V!dF1C)>RHAmB`HnxyqWx?td@4sd15zPd*Fc9hpDXP23kbBenBxGeD$k z;%0VBQEJ-C)&dTAw_yW@k0u?IUk*NrkJ)(XEeI z9Y>6Vel>#s_v@=@0<{4A{pl=9cQ&Iah0iD0H`q)7NeCIRz8zx;! z^OO;1+IqoQNak&pV`qKW+K0^Hqp!~gSohcyS)?^P`JNZXw@gc6{A3OLZ?@1Uc^I2v z+X!^R*HCm3{7JPq{8*Tn>5;B|X7n4QQ0Bs79uTU%nbqOJh`nX(BVj!#f;#J+WZxx4 z_yM&1Y`2XzhfqkIMO7tB3raJKQS+H5F%o83bM+hxbQ zeeJm=Dvix$2j|b4?mDacb67v-1^lTp${z=jc1=j~QD>7c*@+1?py>%Kj%Ejp7Y-!? z8iYRUlGVrQPandAaxFfks53@2EC#0)%mrnmGRn&>=$H$S8q|kE_iWko4`^vCS2aWg z#!`RHUGyOt*k?bBYu3*j3u0gB#v(3tsije zgIuNNWNtrOkx@Pzs;A9un+2LX!zw+p3_NX^Sh09HZAf>m8l@O*rXy_82aWT$Q>iyy zqO7Of)D=wcSn!0+467&!Hl))eff=$aneB?R!YykdKW@k^_uR!+Q1tR)+IJb`-6=jj zymzA>Sv4>Z&g&WWu#|~GcP7qP&m*w-S$)7Xr;(duqCTe7p8H3k5>Y-n8438+%^9~K z3r^LIT_K{i7DgEJjIocw_6d0!<;wKT`X;&vv+&msmhAAnIe!OTdybPctzcEzBy88_ zWO{6i4YT%e4^WQZB)KHCvA(0tS zHu_Bg+6Ko%a9~$EjRB90`P(2~6uI@SFibxct{H#o&y40MdiXblu@VFXbhz>Nko;7R z70Ntmm-FePqhb%9gL+7U8@(ch|JfH5Fm)5${8|`Lef>LttM_iww6LW2X61ldBmG0z zax3y)njFe>j*T{i0s8D4=L>X^j0)({R5lMGVS#7(2C9@AxL&C-lZQx~czI7Iv+{%1 z2hEG>RzX4S8x3v#9sgGAnPzptM)g&LB}@%E>fy0vGSa(&q0ch|=ncKjNrK z`jA~jObJhrJ^ri|-)J^HUyeZXz~XkBp$VhcTEcTdc#a2EUOGVX?@mYx#Vy*!qO$Jv zQ4rgOJ~M*o-_Wptam=~krnmG*p^j!JAqoQ%+YsDFW7Cc9M%YPiBOrVcD^RY>m9Pd< zu}#9M?K{+;UIO!D9qOpq9yxUquQRmQNMo0pT`@$pVt=rMvyX)ph(-CCJLvUJy71DI zBk7oc7)-%ngdj~s@76Yse3L^gV0 z2==qfp&Q~L(+%RHP0n}+xH#k(hPRx(!AdBM$JCfJ5*C=K3ts>P?@@SZ_+{U2qFZb>4kZ{Go37{# zSQc+-dq*a-Vy4?taS&{Ht|MLRiS)Sn14JOONyXqPNnpq&2y~)6wEG0oNy>qvod$FF z`9o&?&6uZjhZ4_*5qWVrEfu(>_n2Xi2{@Gz9MZ8!YmjYvIMasE9yVQL10NBrTCczq zcTY1q^PF2l!Eraguf{+PtHV3=2A?Cu&NN&a8V(y;q(^_mFc6)%Yfn&X&~Pq zU1?qCj^LF(EQB1F`8NxNjyV%fde}dEa(Hx=r7$~ts2dzDwyi6ByBAIx$NllB4%K=O z$AHz1<2bTUb>(MCVPpK(E9wlLElo(aSd(Os)^Raum`d(g9Vd_+Bf&V;l=@mM=cC>) z)9b0enb)u_7V!!E_bl>u5nf&Rl|2r=2F3rHMdb7y9E}}F82^$Rf+P8%dKnOeKh1vs zhH^P*4Ydr^$)$h@4KVzxrHyy#cKmWEa9P5DJ|- zG;!Qi35Tp7XNj60=$!S6U#!(${6hyh7d4q=pF{`0t|N^|L^d8pD{O9@tF~W;#Je*P z&ah%W!KOIN;SyAEhAeTafJ4uEL`(RtnovM+cb(O#>xQnk?dzAjG^~4$dFn^<@-Na3 z395;wBnS{t*H;Jef2eE!2}u5Ns{AHj>WYZDgQJt8v%x?9{MXqJsGP|l%OiZqQ1aB! z%E=*Ig`(!tHh>}4_z5IMpg{49UvD*Pp9!pxt_gdAW%sIf3k6CTycOT1McPl=_#0?8 zVjz8Hj*Vy9c5-krd-{BQ{6Xy|P$6LJvMuX$* zA+@I_66_ET5l2&gk9n4$1M3LN8(yEViRx&mtd#LD}AqEs?RW=xKC(OCWH;~>(X6h!uDxXIPH06xh z*`F4cVlbDP`A)-fzf>MuScYsmq&1LUMGaQ3bRm6i7OsJ|%uhTDT zlvZA1M}nz*SalJWNT|`dBm1$xlaA>CCiQ zK`xD-RuEn>-`Z?M{1%@wewf#8?F|(@1e0+T4>nmlSRrNK5f)BJ2H*$q(H>zGD0>eL zQ!tl_Wk)k*e6v^m*{~A;@6+JGeWU-q9>?+L_#UNT%G?4&BnOgvm9@o7l?ov~XL+et zbGT)|G7)KAeqb=wHSPk+J1bdg7N3$vp(ekjI1D9V$G5Cj!=R2w=3*4!z*J-r-cyeb zd(i2KmX!|Lhey!snRw z?#$Gu%S^SQEKt&kep)up#j&9}e+3=JJBS(s>MH+|=R(`8xK{mmndWo_r`-w1#SeRD&YtAJ#GiVI*TkQZ}&aq<+bU2+coU3!jCI6E+Ad_xFW*ghnZ$q zAoF*i&3n1j#?B8x;kjSJD${1jdRB;)R*)Ao!9bd|C7{;iqDo|T&>KSh6*hCD!rwv= zyK#F@2+cv3=|S1Kef(E6Niv8kyLVLX&e=U;{0x{$tDfShqkjUME>f8d(5nzSkY6@! z^-0>DM)wa&%m#UF1F?zR`8Y3X#tA!*7Q$P3lZJ%*KNlrk_uaPkxw~ zxZ1qlE;Zo;nb@!SMazSjM>;34ROOoygo%SF);LL>rRonWwR>bmSd1XD^~sGSu$Gg# zFZ`|yKU0%!v07dz^v(tY%;So(e`o{ZYTX`hm;@b0%8|H>VW`*cr8R%3n|ehw2`(9B+V72`>SY}9^8oh$En80mZK9T4abVG*to;E z1_S6bgDOW?!Oy1LwYy=w3q~KKdbNtyH#d24PFjX)KYMY93{3-mPP-H>@M-_>N~DDu zENh~reh?JBAK=TFN-SfDfT^=+{w4ea2KNWXq2Y<;?(gf(FgVp8Zp-oEjKzB%2Iqj;48GmY3h=bcdYJ}~&4tS`Q1sb=^emaW$IC$|R+r-8V- zf0$gGE(CS_n4s>oicVk)MfvVg#I>iDvf~Ov8bk}sSxluG!6#^Z_zhB&U^`eIi1@j( z^CK$z^stBHtaDDHxn+R;3u+>Lil^}fj?7eaGB z&5nl^STqcaBxI@v>%zG|j))G(rVa4aY=B@^2{TFkW~YP!8!9TG#(-nOf^^X-%m9{Z zCC?iC`G-^RcBSCuk=Z`(FaUUe?hf3{0C>>$?Vs z`2Uud9M+T&KB6o4o9kvdi^Q=Bw!asPdxbe#W-Oaa#_NP(qpyF@bVxv5D5))srkU#m zj_KA+#7sqDn*Ipf!F5Byco4HOSd!Ui$l94|IbW%Ny(s1>f4|Mv^#NfB31N~kya9!k zWCGL-$0ZQztBate^fd>R!hXY_N9ZjYp3V~4_V z#eB)Kjr8yW=+oG)BuNdZG?jaZlw+l_ma8aET(s+-x+=F-t#Qoiuu1i`^x8Sj>b^U} zs^z<()YMFP7CmjUC@M=&lA5W7t&cxTlzJAts*%PBDAPuqcV5o7HEnqjif_7xGt)F% zGx2b4w{@!tE)$p=l3&?Bf#`+!-RLOleeRk3 z7#pF|w@6_sBmn1nECqdunmG^}pr5(ZJQVvAt$6p3H(16~;vO>?sTE`Y+mq5YP&PBo zvq!7#W$Gewy`;%6o^!Dtjz~x)T}Bdk*BS#=EY=ODD&B=V6TD2z^hj1m5^d6s)D*wk zu$z~D7QuZ2b?5`p)E8e2_L38v3WE{V`bVk;6fl#o2`) z99JsWhh?$oVRn@$S#)uK&8DL8>An0&S<%V8hnGD7Z^;Y(%6;^9!7kDQ5bjR_V+~wp zfx4m3z6CWmmZ<8gDGUyg3>t8wgJ5NkkiEm^(sedCicP^&3D%}6LtIUq>mXCAt{9eF zNXL$kGcoUTf_Lhm`t;hD-SE)m=iBnxRU(NyL}f6~1uH)`K!hmYZjLI%H}AmEF5RZt z06$wn63GHnApHXZZJ}s^s)j9(BM6e*7IBK6Bq(!)d~zR#rbxK9NVIlgquoMq z=eGZ9NR!SEqP6=9UQg#@!rtbbSBUM#ynF);zKX+|!Zm}*{H z+j=d?aZ2!?@EL7C~%B?6ouCKLnO$uWn;Y6Xz zX8dSwj732u(o*U3F$F=7xwxm>E-B+SVZH;O-4XPuPkLSt_?S0)lb7EEg)Mglk0#eS z9@jl(OnH4juMxY+*r03VDfPx_IM!Lmc(5hOI;`?d37f>jPP$?9jQQIQU@i4vuG6MagEoJrQ=RD7xt@8E;c zeGV*+Pt+t$@pt!|McETOE$9k=_C!70uhwRS9X#b%ZK z%q(TIUXSS^F0`4Cx?Rk07C6wI4!UVPeI~-fxY6`YH$kABdOuiRtl73MqG|~AzZ@iL&^s?24iS;RK_pdlWkhcF z@Wv-Om(Aealfg)D^adlXh9Nvf~Uf@y;g3Y)i(YP zEXDnb1V}1pJT5ZWyw=1i+0fni9yINurD=EqH^ciOwLUGi)C%Da)tyt=zq2P7pV5-G zR7!oq28-Fgn5pW|nlu^b!S1Z#r7!Wtr{5J5PQ>pd+2P7RSD?>(U7-|Y z7ZQ5lhYIl_IF<9?T9^IPK<(Hp;l5bl5tF9>X-zG14_7PfsA>6<$~A338iYRT{a@r_ zuXBaT=`T5x3=s&3=RYx6NgG>No4?5KFBVjE(swfcivcIpPQFx5l+O;fiGsOrl5teR z_Cm+;PW}O0Dwe_(4Z@XZ)O0W-v2X><&L*<~*q3dg;bQW3g7)a#3KiQP>+qj|qo*Hk z?57>f2?f@`=Fj^nkDKeRkN2d$Z@2eNKpHo}ksj-$`QKb6n?*$^*%Fb3_Kbf1(*W9K>{L$mud2WHJ=j0^=g30Xhg8$#g^?36`p1fm;;1@0Lrx+8t`?vN0ZorM zSW?rhjCE8$C|@p^sXdx z|NOHHg+fL;HIlqyLp~SSdIF`TnSHehNCU9t89yr@)FY<~hu+X`tjg(aSVae$wDG*C zq$nY(Y494R)hD!i1|IIyP*&PD_c2FPgeY)&mX1qujB1VHPG9`yFQpLFVQ0>EKS@Bp zAfP5`C(sWGLI?AC{XEjLKR4FVNw(4+9b?kba95ukgR1H?w<8F7)G+6&(zUhIE5Ef% z=fFkL3QKA~M@h{nzjRq!Y_t!%U66#L8!(2-GgFxkD1=JRRqk=n%G(yHKn%^&$dW>; zSjAcjETMz1%205se$iH_)ZCpfg_LwvnsZQAUCS#^FExp8O4CrJb6>JquNV@qPq~3A zZ<6dOU#6|8+fcgiA#~MDmcpIEaUO02L5#T$HV0$EMD94HT_eXLZ2Zi&(! z&5E>%&|FZ`)CN10tM%tLSPD*~r#--K(H-CZqIOb99_;m|D5wdgJ<1iOJz@h2Zkq?} z%8_KXb&hf=2Wza(Wgc;3v3TN*;HTU*q2?#z&tLn_U0Nt!y>Oo>+2T)He6%XuP;fgn z-G!#h$Y2`9>Jtf}hbVrm6D70|ERzLAU>3zoWhJmjWfgM^))T+2u$~5>HF9jQDkrXR z=IzX36)V75PrFjkQ%TO+iqKGCQ-DDXbaE;C#}!-CoWQx&v*vHfyI>$HNRbpvm<`O( zlx9NBWD6_e&J%Ous4yp~s6)Ghni!I6)0W;9(9$y1wWu`$gs<$9Mcf$L*piP zPR0Av*2%ul`W;?-1_-5Zy0~}?`e@Y5A&0H!^ApyVTT}BiOm4GeFo$_oPlDEyeGBbh z1h3q&Dx~GmUS|3@4V36&$2uO8!Yp&^pD7J5&TN{?xphf*-js1fP?B|`>p_K>lh{ij zP(?H%e}AIP?_i^f&Li=FDSQ`2_NWxL+BB=nQr=$ zHojMlXNGauvvwPU>ZLq!`bX-5F4jBJ&So{kE5+ms9UEYD{66!|k~3vsP+mE}x!>%P za98bAU0!h0&ka4EoiDvBM#CP#dRNdXJcb*(%=<(g+M@<)DZ!@v1V>;54En?igcHR2 zhubQMq}VSOK)onqHfczM7YA@s=9*ow;k;8)&?J3@0JiGcP! zP#00KZ1t)GyZeRJ=f0^gc+58lc4Qh*S7RqPIC6GugG1gXe$LIQMRCo8cHf^qXgAa2 z`}t>u2Cq1CbSEpLr~E=c7~=Qkc9-vLE%(v9N*&HF`(d~(0`iukl5aQ9u4rUvc8%m) zr2GwZN4!s;{SB87lJB;veebPmqE}tSpT>+`t?<457Q9iV$th%i__Z1kOMAswFldD6 ztbOvO337S5o#ZZgN2G99_AVqPv!?Gmt3pzgD+Hp3QPQ`9qJ(g=kjvD+fUSS3upJn! zqoG7acIKEFRX~S}3|{EWT$kdz#zrDlJU(rPkxjws_iyLKU8+v|*oS_W*-guAb&Pj1 z35Z`3z<&Jb@2Mwz=KXucNYdY#SNO$tcVFr9KdKm|%^e-TXzs6M`PBper%ajkrIyUe zp$vVxVs9*>Vp4_1NC~Zg)WOCPmOxI1V34QlG4!aSFOH{QqSVq1^1)- z0P!Z?tT&E-ll(pwf0?=F=yOzik=@nh1Clxr9}Vij89z)ePDSCYAqw?lVI?v?+&*zH z)p$CScFI8rrwId~`}9YWPFu0cW1Sf@vRELs&cbntRU6QfPK-SO*mqu|u~}8AJ!Q$z znzu}50O=YbjwKCuSVBs6&CZR#0FTu)3{}qJJYX(>QPr4$RqWiwX3NT~;>cLn*_&1H zaKpIW)JVJ>b{uo2oq>oQt3y=zJjb%fU@wLqM{SyaC6x2snMx-}ivfU<1- znu1Lh;i$3Tf$Kh5Uk))G!D1UhE8pvx&nO~w^fG)BC&L!_hQk%^p`Kp@F{cz>80W&T ziOK=Sq3fdRu*V0=S53rcIfWFazI}Twj63CG(jOB;$*b`*#B9uEnBM`hDk*EwSRdwP8?5T?xGUKs=5N83XsR*)a4|ijz|c{4tIU+4j^A5C<#5 z*$c_d=5ml~%pGxw#?*q9N7aRwPux5EyqHVkdJO=5J>84!X6P>DS8PTTz>7C#FO?k#edkntG+fJk8ZMn?pmJSO@`x-QHq;7^h6GEXLXo1TCNhH z8ZDH{*NLAjo3WM`xeb=X{((uv3H(8&r8fJJg_uSs_%hOH%JDD?hu*2NvWGYD+j)&` zz#_1%O1wF^o5ryt?O0n;`lHbzp0wQ?rcbW(F1+h7_EZZ9{>rePvLAPVZ_R|n@;b$;UchU=0j<6k8G9QuQf@76oiE*4 zXOLQ&n3$NR#p4<5NJMVC*S);5x2)eRbaAM%VxWu9ohlT;pGEk7;002enCbQ>2r-us z3#bpXP9g|mE`65VrN`+3mC)M(eMj~~eOf)do<@l+fMiTR)XO}422*1SL{wyY(%oMpBgJagtiDf zz>O6(m;};>Hi=t8o{DVC@YigqS(Qh+ix3Rwa9aliH}a}IlOCW1@?%h_bRbq-W{KHF z%Vo?-j@{Xi@=~Lz5uZP27==UGE15|g^0gzD|3x)SCEXrx`*MP^FDLl%pOi~~Il;dc z^hrwp9sYeT7iZ)-ajKy@{a`kr0-5*_!XfBpXwEcFGJ;%kV$0Nx;apKrur zJN2J~CAv{Zjj%FolyurtW8RaFmpn&zKJWL>(0;;+q(%(Hx!GMW4AcfP0YJ*Vz!F4g z!ZhMyj$BdXL@MlF%KeInmPCt~9&A!;cRw)W!Hi@0DY(GD_f?jeV{=s=cJ6e}JktJw zQORnxxj3mBxfrH=x{`_^Z1ddDh}L#V7i}$njUFRVwOX?qOTKjfPMBO4y(WiU<)epb zvB9L=%jW#*SL|Nd_G?E*_h1^M-$PG6Pc_&QqF0O-FIOpa4)PAEPsyvB)GKasmBoEt z?_Q2~QCYGH+hW31x-B=@5_AN870vY#KB~3a*&{I=f);3Kv7q4Q7s)0)gVYx2#Iz9g(F2;=+Iy4 z6KI^8GJ6D@%tpS^8boU}zpi=+(5GfIR)35PzrbuXeL1Y1N%JK7PG|^2k3qIqHfX;G zQ}~JZ-UWx|60P5?d1e;AHx!_;#PG%d=^X(AR%i`l0jSpYOpXoKFW~7ip7|xvN;2^? zsYC9fanpO7rO=V7+KXqVc;Q5z%Bj})xHVrgoR04sA2 zl~DAwv=!(()DvH*=lyhIlU^hBkA0$e*7&fJpB0|oB7)rqGK#5##2T`@_I^|O2x4GO z;xh6ROcV<9>?e0)MI(y++$-ksV;G;Xe`lh76T#Htuia+(UrIXrf9?

    L(tZ$0BqX1>24?V$S+&kLZ`AodQ4_)P#Q3*4xg8}lMV-FLwC*cN$< zt65Rf%7z41u^i=P*qO8>JqXPrinQFapR7qHAtp~&RZ85$>ob|Js;GS^y;S{XnGiBc zGa4IGvDl?x%gY`vNhv8wgZnP#UYI-w*^4YCZnxkF85@ldepk$&$#3EAhrJY0U)lR{F6sM3SONV^+$;Zx8BD&Eku3K zKNLZyBni3)pGzU0;n(X@1fX8wYGKYMpLmCu{N5-}epPDxClPFK#A@02WM3!myN%bkF z|GJ4GZ}3sL{3{qXemy+#Uk{4>Kf8v11;f8I&c76+B&AQ8udd<8gU7+BeWC`akUU~U zgXoxie>MS@rBoyY8O8Tc&8id!w+_ooxcr!1?#rc$-|SBBtH6S?)1e#P#S?jFZ8u-Bs&k`yLqW|{j+%c#A4AQ>+tj$Y z^CZajspu$F%73E68Lw5q7IVREED9r1Ijsg#@DzH>wKseye>hjsk^{n0g?3+gs@7`i zHx+-!sjLx^fS;fY!ERBU+Q zVJ!e0hJH%P)z!y%1^ZyG0>PN@5W~SV%f>}c?$H8r;Sy-ui>aruVTY=bHe}$e zi&Q4&XK!qT7-XjCrDaufT@>ieQ&4G(SShUob0Q>Gznep9fR783jGuUynAqc6$pYX; z7*O@@JW>O6lKIk0G00xsm|=*UVTQBB`u1f=6wGAj%nHK_;Aqmfa!eAykDmi-@u%6~ z;*c!pS1@V8r@IX9j&rW&d*}wpNs96O2Ute>%yt{yv>k!6zfT6pru{F1M3P z2WN1JDYqoTB#(`kE{H676QOoX`cnqHl1Yaru)>8Ky~VU{)r#{&s86Vz5X)v15ULHA zAZDb{99+s~qI6;-dQ5DBjHJP@GYTwn;Dv&9kE<0R!d z8tf1oq$kO`_sV(NHOSbMwr=To4r^X$`sBW4$gWUov|WY?xccQJN}1DOL|GEaD_!@& z15p?Pj+>7d`@LvNIu9*^hPN)pwcv|akvYYq)ks%`G>!+!pW{-iXPZsRp8 z35LR;DhseQKWYSD`%gO&k$Dj6_6q#vjWA}rZcWtQr=Xn*)kJ9kacA=esi*I<)1>w^ zO_+E>QvjP)qiSZg9M|GNeLtO2D7xT6vsj`88sd!94j^AqxFLi}@w9!Y*?nwWARE0P znuI_7A-saQ+%?MFA$gttMV-NAR^#tjl_e{R$N8t2NbOlX373>e7Ox=l=;y#;M7asp zRCz*CLnrm$esvSb5{T<$6CjY zmZ(i{Rs_<#pWW>(HPaaYj`%YqBra=Ey3R21O7vUbzOkJJO?V`4-D*u4$Me0Bx$K(lYo`JO}gnC zx`V}a7m-hLU9Xvb@K2ymioF)vj12<*^oAqRuG_4u%(ah?+go%$kOpfb`T96P+L$4> zQ#S+sA%VbH&mD1k5Ak7^^dZoC>`1L%i>ZXmooA!%GI)b+$D&ziKrb)a=-ds9xk#~& z7)3iem6I|r5+ZrTRe_W861x8JpD`DDIYZNm{$baw+$)X^Jtjnl0xlBgdnNY}x%5za zkQ8E6T<^$sKBPtL4(1zi_Rd(tVth*3Xs!ulflX+70?gb&jRTnI8l+*Aj9{|d%qLZ+ z>~V9Z;)`8-lds*Zgs~z1?Fg?Po7|FDl(Ce<*c^2=lFQ~ahwh6rqSjtM5+$GT>3WZW zj;u~w9xwAhOc<kF}~`CJ68 z?(S5vNJa;kriPlim33{N5`C{9?NWhzsna_~^|K2k4xz1`xcui*LXL-1#Y}Hi9`Oo!zQ>x-kgAX4LrPz63uZ+?uG*84@PKq-KgQlMNRwz=6Yes) zY}>YN+qP}nwr$(CZQFjUOI=-6J$2^XGvC~EZ+vrqWaOXB$k?%Suf5k=4>AveC1aJ! ziaW4IS%F$_Babi)kA8Y&u4F7E%99OPtm=vzw$$ zEz#9rvn`Iot_z-r3MtV>k)YvErZ<^Oa${`2>MYYODSr6?QZu+be-~MBjwPGdMvGd!b!elsdi4% z`37W*8+OGulab8YM?`KjJ8e+jM(tqLKSS@=jimq3)Ea2EB%88L8CaM+aG7;27b?5` z4zuUWBr)f)k2o&xg{iZ$IQkJ+SK>lpq4GEacu~eOW4yNFLU!Kgc{w4&D$4ecm0f}~ zTTzquRW@`f0}|IILl`!1P+;69g^upiPA6F{)U8)muWHzexRenBU$E^9X-uIY2%&1w z_=#5*(nmxJ9zF%styBwivi)?#KMG96-H@hD-H_&EZiRNsfk7mjBq{L%!E;Sqn!mVX*}kXhwH6eh;b42eD!*~upVG@ z#smUqz$ICm!Y8wY53gJeS|Iuard0=;k5i5Z_hSIs6tr)R4n*r*rE`>38Pw&lkv{_r!jNN=;#?WbMj|l>cU(9trCq; z%nN~r^y7!kH^GPOf3R}?dDhO=v^3BeP5hF|%4GNQYBSwz;x({21i4OQY->1G=KFyu z&6d`f2tT9Yl_Z8YACZaJ#v#-(gcyeqXMhYGXb=t>)M@fFa8tHp2x;ODX=Ap@a5I=U z0G80^$N0G4=U(>W%mrrThl0DjyQ-_I>+1Tdd_AuB3qpYAqY54upwa3}owa|x5iQ^1 zEf|iTZxKNGRpI>34EwkIQ2zHDEZ=(J@lRaOH>F|2Z%V_t56Km$PUYu^xA5#5Uj4I4RGqHD56xT%H{+P8Ag>e_3pN$4m8n>i%OyJFPNWaEnJ4McUZPa1QmOh?t8~n& z&RulPCors8wUaqMHECG=IhB(-tU2XvHP6#NrLVyKG%Ee*mQ5Ps%wW?mcnriTVRc4J`2YVM>$ixSF2Xi+Wn(RUZnV?mJ?GRdw%lhZ+t&3s7g!~g{%m&i<6 z5{ib-<==DYG93I(yhyv4jp*y3#*WNuDUf6`vTM%c&hiayf(%=x@4$kJ!W4MtYcE#1 zHM?3xw63;L%x3drtd?jot!8u3qeqctceX3m;tWetK+>~q7Be$h>n6riK(5@ujLgRS zvOym)k+VAtyV^mF)$29Y`nw&ijdg~jYpkx%*^ z8dz`C*g=I?;clyi5|!27e2AuSa$&%UyR(J3W!A=ZgHF9OuKA34I-1U~pyD!KuRkjA zbkN!?MfQOeN>DUPBxoy5IX}@vw`EEB->q!)8fRl_mqUVuRu|C@KD-;yl=yKc=ZT0% zB$fMwcC|HE*0f8+PVlWHi>M`zfsA(NQFET?LrM^pPcw`cK+Mo0%8*x8@65=CS_^$cG{GZQ#xv($7J z??R$P)nPLodI;P!IC3eEYEHh7TV@opr#*)6A-;EU2XuogHvC;;k1aI8asq7ovoP!* z?x%UoPrZjj<&&aWpsbr>J$Er-7!E(BmOyEv!-mbGQGeJm-U2J>74>o5x`1l;)+P&~ z>}f^=Rx(ZQ2bm+YE0u=ZYrAV@apyt=v1wb?R@`i_g64YyAwcOUl=C!i>=Lzb$`tjv zOO-P#A+)t-JbbotGMT}arNhJmmGl-lyUpMn=2UacVZxmiG!s!6H39@~&uVokS zG=5qWhfW-WOI9g4!R$n7!|ViL!|v3G?GN6HR0Pt_L5*>D#FEj5wM1DScz4Jv@Sxnl zB@MPPmdI{(2D?;*wd>3#tjAirmUnQoZrVv`xM3hARuJksF(Q)wd4P$88fGYOT1p6U z`AHSN!`St}}UMBT9o7i|G`r$ zrB=s$qV3d6$W9@?L!pl0lf%)xs%1ko^=QY$ty-57=55PvP(^6E7cc zGJ*>m2=;fOj?F~yBf@K@9qwX0hA803Xw+b0m}+#a(>RyR8}*Y<4b+kpp|OS+!whP( zH`v{%s>jsQI9rd$*vm)EkwOm#W_-rLTHcZRek)>AtF+~<(did)*oR1|&~1|e36d-d zgtm5cv1O0oqgWC%Et@P4Vhm}Ndl(Y#C^MD03g#PH-TFy+7!Osv1z^UWS9@%JhswEq~6kSr2DITo59+; ze=ZC}i2Q?CJ~Iyu?vn|=9iKV>4j8KbxhE4&!@SQ^dVa-gK@YfS9xT(0kpW*EDjYUkoj! zE49{7H&E}k%5(>sM4uGY)Q*&3>{aitqdNnRJkbOmD5Mp5rv-hxzOn80QsG=HJ_atI-EaP69cacR)Uvh{G5dTpYG7d zbtmRMq@Sexey)||UpnZ?;g_KMZq4IDCy5}@u!5&B^-=6yyY{}e4Hh3ee!ZWtL*s?G zxG(A!<9o!CL+q?u_utltPMk+hn?N2@?}xU0KlYg?Jco{Yf@|mSGC<(Zj^yHCvhmyx z?OxOYoxbptDK()tsJ42VzXdINAMWL$0Gcw?G(g8TMB)Khw_|v9`_ql#pRd2i*?CZl z7k1b!jQB=9-V@h%;Cnl7EKi;Y^&NhU0mWEcj8B|3L30Ku#-9389Q+(Yet0r$F=+3p z6AKOMAIi|OHyzlHZtOm73}|ntKtFaXF2Fy|M!gOh^L4^62kGUoWS1i{9gsds_GWBc zLw|TaLP64z3z9?=R2|T6Xh2W4_F*$cq>MtXMOy&=IPIJ`;!Tw?PqvI2b*U1)25^<2 zU_ZPoxg_V0tngA0J+mm?3;OYw{i2Zb4x}NedZug!>EoN3DC{1i)Z{Z4m*(y{ov2%- zk(w>+scOO}MN!exSc`TN)!B=NUX`zThWO~M*ohqq;J2hx9h9}|s#?@eR!=F{QTrq~ zTcY|>azkCe$|Q0XFUdpFT=lTcyW##i;-e{}ORB4D?t@SfqGo_cS z->?^rh$<&n9DL!CF+h?LMZRi)qju!meugvxX*&jfD!^1XB3?E?HnwHP8$;uX{Rvp# zh|)hM>XDv$ZGg=$1{+_bA~u-vXqlw6NH=nkpyWE0u}LQjF-3NhATL@9rRxMnpO%f7 z)EhZf{PF|mKIMFxnC?*78(}{Y)}iztV12}_OXffJ;ta!fcFIVjdchyHxH=t%ci`Xd zX2AUB?%?poD6Zv*&BA!6c5S#|xn~DK01#XvjT!w!;&`lDXSJT4_j$}!qSPrb37vc{ z9^NfC%QvPu@vlxaZ;mIbn-VHA6miwi8qJ~V;pTZkKqqOii<1Cs}0i?uUIss;hM4dKq^1O35y?Yp=l4i zf{M!@QHH~rJ&X~8uATV><23zZUbs-J^3}$IvV_ANLS08>k`Td7aU_S1sLsfi*C-m1 z-e#S%UGs4E!;CeBT@9}aaI)qR-6NU@kvS#0r`g&UWg?fC7|b^_HyCE!8}nyh^~o@< zpm7PDFs9yxp+byMS(JWm$NeL?DNrMCNE!I^ko-*csB+dsf4GAq{=6sfyf4wb>?v1v zmb`F*bN1KUx-`ra1+TJ37bXNP%`-Fd`vVQFTwWpX@;s(%nDQa#oWhgk#mYlY*!d>( zE&!|ySF!mIyfING+#%RDY3IBH_fW$}6~1%!G`suHub1kP@&DoAd5~7J55;5_noPI6eLf{t;@9Kf<{aO0`1WNKd?<)C-|?C?)3s z>wEq@8=I$Wc~Mt$o;g++5qR+(6wt9GI~pyrDJ%c?gPZe)owvy^J2S=+M^ z&WhIE`g;;J^xQLVeCtf7b%Dg#Z2gq9hp_%g)-%_`y*zb; zn9`f`mUPN-Ts&fFo(aNTsXPA|J!TJ{0hZp0^;MYHLOcD=r_~~^ymS8KLCSeU3;^QzJNqS z5{5rEAv#l(X?bvwxpU;2%pQftF`YFgrD1jt2^~Mt^~G>T*}A$yZc@(k9orlCGv&|1 zWWvVgiJsCAtamuAYT~nzs?TQFt<1LSEx!@e0~@yd6$b5!Zm(FpBl;(Cn>2vF?k zOm#TTjFwd2D-CyA!mqR^?#Uwm{NBemP>(pHmM}9;;8`c&+_o3#E5m)JzfwN?(f-a4 zyd%xZc^oQx3XT?vcCqCX&Qrk~nu;fxs@JUoyVoi5fqpi&bUhQ2y!Ok2pzsFR(M(|U zw3E+kH_zmTRQ9dUMZWRE%Zakiwc+lgv7Z%|YO9YxAy`y28`Aw;WU6HXBgU7fl@dnt z-fFBV)}H-gqP!1;V@Je$WcbYre|dRdp{xt!7sL3Eoa%IA`5CAA%;Wq8PktwPdULo! z8!sB}Qt8#jH9Sh}QiUtEPZ6H0b*7qEKGJ%ITZ|vH)5Q^2m<7o3#Z>AKc%z7_u`rXA zqrCy{-{8;9>dfllLu$^M5L z-hXs))h*qz%~ActwkIA(qOVBZl2v4lwbM>9l70Y`+T*elINFqt#>OaVWoja8RMsep z6Or3f=oBnA3vDbn*+HNZP?8LsH2MY)x%c13@(XfuGR}R?Nu<|07{$+Lc3$Uv^I!MQ z>6qWgd-=aG2Y^24g4{Bw9ueOR)(9h`scImD=86dD+MnSN4$6 z^U*o_mE-6Rk~Dp!ANp#5RE9n*LG(Vg`1)g6!(XtDzsov$Dvz|Gv1WU68J$CkshQhS zCrc|cdkW~UK}5NeaWj^F4MSgFM+@fJd{|LLM)}_O<{rj z+?*Lm?owq?IzC%U%9EBga~h-cJbIu=#C}XuWN>OLrc%M@Gu~kFEYUi4EC6l#PR2JS zQUkGKrrS#6H7}2l0F@S11DP`@pih0WRkRJl#F;u{c&ZC{^$Z+_*lB)r)-bPgRFE;* zl)@hK4`tEP=P=il02x7-C7p%l=B`vkYjw?YhdJU9!P!jcmY$OtC^12w?vy3<<=tlY zUwHJ_0lgWN9vf>1%WACBD{UT)1qHQSE2%z|JHvP{#INr13jM}oYv_5#xsnv9`)UAO zuwgyV4YZ;O)eSc3(mka6=aRohi!HH@I#xq7kng?Acdg7S4vDJb6cI5fw?2z%3yR+| zU5v@Hm}vy;${cBp&@D=HQ9j7NcFaOYL zj-wV=eYF{|XTkFNM2uz&T8uH~;)^Zo!=KP)EVyH6s9l1~4m}N%XzPpduPg|h-&lL` zAXspR0YMOKd2yO)eMFFJ4?sQ&!`dF&!|niH*!^*Ml##o0M(0*uK9&yzekFi$+mP9s z>W9d%Jb)PtVi&-Ha!o~Iyh@KRuKpQ@)I~L*d`{O8!kRObjO7=n+Gp36fe!66neh+7 zW*l^0tTKjLLzr`x4`_8&on?mjW-PzheTNox8Hg7Nt@*SbE-%kP2hWYmHu#Fn@Q^J(SsPUz*|EgOoZ6byg3ew88UGdZ>9B2Tq=jF72ZaR=4u%1A6Vm{O#?@dD!(#tmR;eP(Fu z{$0O%=Vmua7=Gjr8nY%>ul?w=FJ76O2js&17W_iq2*tb!i{pt#`qZB#im9Rl>?t?0c zicIC}et_4d+CpVPx)i4~$u6N-QX3H77ez z?ZdvXifFk|*F8~L(W$OWM~r`pSk5}#F?j_5u$Obu9lDWIknO^AGu+Blk7!9Sb;NjS zncZA?qtASdNtzQ>z7N871IsPAk^CC?iIL}+{K|F@BuG2>qQ;_RUYV#>hHO(HUPpk@ z(bn~4|F_jiZi}Sad;_7`#4}EmD<1EiIxa48QjUuR?rC}^HRocq`OQPM@aHVKP9E#q zy%6bmHygCpIddPjE}q_DPC`VH_2m;Eey&ZH)E6xGeStOK7H)#+9y!%-Hm|QF6w#A( zIC0Yw%9j$s-#odxG~C*^MZ?M<+&WJ+@?B_QPUyTg9DJGtQN#NIC&-XddRsf3n^AL6 zT@P|H;PvN;ZpL0iv$bRb7|J{0o!Hq+S>_NrH4@coZtBJu#g8#CbR7|#?6uxi8d+$g z87apN>EciJZ`%Zv2**_uiET9Vk{pny&My;+WfGDw4EVL#B!Wiw&M|A8f1A@ z(yFQS6jfbH{b8Z-S7D2?Ixl`j0{+ZnpT=;KzVMLW{B$`N?Gw^Fl0H6lT61%T2AU**!sX0u?|I(yoy&Xveg7XBL&+>n6jd1##6d>TxE*Vj=8lWiG$4=u{1UbAa5QD>5_ z;Te^42v7K6Mmu4IWT6Rnm>oxrl~b<~^e3vbj-GCdHLIB_>59}Ya+~OF68NiH=?}2o zP(X7EN=quQn&)fK>M&kqF|<_*H`}c zk=+x)GU>{Af#vx&s?`UKUsz})g^Pc&?Ka@t5$n$bqf6{r1>#mWx6Ep>9|A}VmWRnowVo`OyCr^fHsf# zQjQ3Ttp7y#iQY8l`zEUW)(@gGQdt(~rkxlkefskT(t%@i8=|p1Y9Dc5bc+z#n$s13 zGJk|V0+&Ekh(F};PJzQKKo+FG@KV8a<$gmNSD;7rd_nRdc%?9)p!|B-@P~kxQG}~B zi|{0}@}zKC(rlFUYp*dO1RuvPC^DQOkX4<+EwvBAC{IZQdYxoq1Za!MW7%p7gGr=j zzWnAq%)^O2$eItftC#TTSArUyL$U54-O7e|)4_7%Q^2tZ^0-d&3J1}qCzR4dWX!)4 zzIEKjgnYgMus^>6uw4Jm8ga6>GBtMjpNRJ6CP~W=37~||gMo_p@GA@#-3)+cVYnU> zE5=Y4kzl+EbEh%dhQokB{gqNDqx%5*qBusWV%!iprn$S!;oN_6E3?0+umADVs4ako z?P+t?m?};gev9JXQ#Q&KBpzkHPde_CGu-y z<{}RRAx=xlv#mVi+Ibrgx~ujW$h{?zPfhz)Kp7kmYS&_|97b&H&1;J-mzrBWAvY} zh8-I8hl_RK2+nnf&}!W0P+>5?#?7>npshe<1~&l_xqKd0_>dl_^RMRq@-Myz&|TKZBj1=Q()) zF{dBjv5)h=&Z)Aevx}+i|7=R9rG^Di!sa)sZCl&ctX4&LScQ-kMncgO(9o6W6)yd< z@Rk!vkja*X_N3H=BavGoR0@u0<}m-7|2v!0+2h~S2Q&a=lTH91OJsvms2MT~ zY=c@LO5i`mLpBd(vh|)I&^A3TQLtr>w=zoyzTd=^f@TPu&+*2MtqE$Avf>l>}V|3-8Fp2hzo3y<)hr_|NO(&oSD z!vEjTWBxbKTiShVl-U{n*B3#)3a8$`{~Pk}J@elZ=>Pqp|MQ}jrGv7KrNcjW%TN_< zZz8kG{#}XoeWf7qY?D)L)8?Q-b@Na&>i=)(@uNo zr;cH98T3$Iau8Hn*@vXi{A@YehxDE2zX~o+RY`)6-X{8~hMpc#C`|8y> zU8Mnv5A0dNCf{Ims*|l-^ z(MRp{qoGohB34|ggDI*p!Aw|MFyJ|v+<+E3brfrI)|+l3W~CQLPbnF@G0)P~Ly!1TJLp}xh8uW`Q+RB-v`MRYZ9Gam3cM%{ zb4Cb*f)0deR~wtNb*8w-LlIF>kc7DAv>T0D(a3@l`k4TFnrO+g9XH7;nYOHxjc4lq zMmaW6qpgAgy)MckYMhl?>sq;-1E)-1llUneeA!ya9KM$)DaNGu57Z5aE>=VST$#vb zFo=uRHr$0M{-ha>h(D_boS4zId;3B|Tpqo|?B?Z@I?G(?&Iei+-{9L_A9=h=Qfn-U z1wIUnQe9!z%_j$F_{rf&`ZFSott09gY~qrf@g3O=Y>vzAnXCyL!@(BqWa)Zqt!#_k zfZHuwS52|&&)aK;CHq9V-t9qt0au{$#6c*R#e5n3rje0hic7c7m{kW$p(_`wB=Gw7 z4k`1Hi;Mc@yA7dp@r~?@rfw)TkjAW++|pkfOG}0N|2guek}j8Zen(!+@7?qt_7ndX zB=BG6WJ31#F3#Vk3=aQr8T)3`{=p9nBHlKzE0I@v`{vJ}h8pd6vby&VgFhzH|q;=aonunAXL6G2y(X^CtAhWr*jI zGjpY@raZDQkg*aMq}Ni6cRF z{oWv}5`nhSAv>usX}m^GHt`f(t8@zHc?K|y5Zi=4G*UG1Sza{$Dpj%X8 zzEXaKT5N6F5j4J|w#qlZP!zS7BT)9b+!ZSJdToqJts1c!)fwih4d31vfb{}W)EgcA zH2pZ^8_k$9+WD2n`6q5XbOy8>3pcYH9 z07eUB+p}YD@AH!}p!iKv><2QF-Y^&xx^PAc1F13A{nUeCDg&{hnix#FiO!fe(^&%Qcux!h znu*S!s$&nnkeotYsDthh1dq(iQrE|#f_=xVgfiiL&-5eAcC-> z5L0l|DVEM$#ulf{bj+Y~7iD)j<~O8CYM8GW)dQGq)!mck)FqoL^X zwNdZb3->hFrbHFm?hLvut-*uK?zXn3q1z|UX{RZ;-WiLoOjnle!xs+W0-8D)kjU#R z+S|A^HkRg$Ij%N4v~k`jyHffKaC~=wg=9)V5h=|kLQ@;^W!o2^K+xG&2n`XCd>OY5Ydi= zgHH=lgy++erK8&+YeTl7VNyVm9-GfONlSlVb3)V9NW5tT!cJ8d7X)!b-$fb!s76{t z@d=Vg-5K_sqHA@Zx-L_}wVnc@L@GL9_K~Zl(h5@AR#FAiKad8~KeWCo@mgXIQ#~u{ zgYFwNz}2b6Vu@CP0XoqJ+dm8px(5W5-Jpis97F`+KM)TuP*X8H@zwiVKDKGVp59pI zifNHZr|B+PG|7|Y<*tqap0CvG7tbR1R>jn70t1X`XJixiMVcHf%Ez*=xm1(CrTSDt z0cle!+{8*Ja&EOZ4@$qhBuKQ$U95Q%rc7tg$VRhk?3=pE&n+T3upZg^ZJc9~c2es% zh7>+|mrmA-p&v}|OtxqmHIBgUxL~^0+cpfkSK2mhh+4b=^F1Xgd2)}U*Yp+H?ls#z zrLxWg_hm}AfK2XYWr!rzW4g;+^^&bW%LmbtRai9f3PjU${r@n`JThy-cphbcwn)rq9{A$Ht`lmYKxOacy z6v2R(?gHhD5@&kB-Eg?4!hAoD7~(h>(R!s1c1Hx#s9vGPePUR|of32bS`J5U5w{F) z>0<^ktO2UHg<0{oxkdOQ;}coZDQph8p6ruj*_?uqURCMTac;>T#v+l1Tc~%^k-Vd@ zkc5y35jVNc49vZpZx;gG$h{%yslDI%Lqga1&&;mN{Ush1c7p>7e-(zp}6E7f-XmJb4nhk zb8zS+{IVbL$QVF8pf8}~kQ|dHJAEATmmnrb_wLG}-yHe>W|A&Y|;muy-d^t^<&)g5SJfaTH@P1%euONny=mxo+C z4N&w#biWY41r8k~468tvuYVh&XN&d#%QtIf9;iVXfWY)#j=l`&B~lqDT@28+Y!0E+MkfC}}H*#(WKKdJJq=O$vNYCb(ZG@p{fJgu;h z21oHQ(14?LeT>n5)s;uD@5&ohU!@wX8w*lB6i@GEH0pM>YTG+RAIWZD;4#F1&F%Jp zXZUml2sH0!lYJT?&sA!qwez6cXzJEd(1ZC~kT5kZSp7(@=H2$Azb_*W&6aA|9iwCL zdX7Q=42;@dspHDwYE?miGX#L^3xD&%BI&fN9^;`v4OjQXPBaBmOF1;#C)8XA(WFlH zycro;DS2?(G&6wkr6rqC>rqDv3nfGw3hmN_9Al>TgvmGsL8_hXx09};l9Ow@)F5@y z#VH5WigLDwZE4nh^7&@g{1FV^UZ%_LJ-s<{HN*2R$OPg@R~Z`c-ET*2}XB@9xvAjrK&hS=f|R8Gr9 zr|0TGOsI7RD+4+2{ZiwdVD@2zmg~g@^D--YL;6UYGSM8i$NbQr4!c7T9rg!8;TM0E zT#@?&S=t>GQm)*ua|?TLT2ktj#`|R<_*FAkOu2Pz$wEc%-=Y9V*$&dg+wIei3b*O8 z2|m$!jJG!J!ZGbbIa!(Af~oSyZV+~M1qGvelMzPNE_%5?c2>;MeeG2^N?JDKjFYCy z7SbPWH-$cWF9~fX%9~v99L!G(wi!PFp>rB!9xj7=Cv|F+7CsGNwY0Q_J%FID%C^CBZQfJ9K(HK%k31j~e#&?hQ zNuD6gRkVckU)v+53-fc} z7ZCzYN-5RG4H7;>>Hg?LU9&5_aua?A0)0dpew1#MMlu)LHe(M;OHjHIUl7|%%)YPo z0cBk;AOY00%Fe6heoN*$(b<)Cd#^8Iu;-2v@>cE-OB$icUF9EEoaC&q8z9}jMTT2I z8`9;jT%z0;dy4!8U;GW{i`)3!c6&oWY`J3669C!tM<5nQFFrFRglU8f)5Op$GtR-3 zn!+SPCw|04sv?%YZ(a7#L?vsdr7ss@WKAw&A*}-1S|9~cL%uA+E~>N6QklFE>8W|% zyX-qAUGTY1hQ-+um`2|&ji0cY*(qN!zp{YpDO-r>jPk*yuVSay<)cUt`t@&FPF_&$ zcHwu1(SQ`I-l8~vYyUxm@D1UEdFJ$f5Sw^HPH7b!9 zzYT3gKMF((N(v0#4f_jPfVZ=ApN^jQJe-X$`A?X+vWjLn_%31KXE*}5_}d8 zw_B1+a#6T1?>M{ronLbHIlEsMf93muJ7AH5h%;i99<~JX^;EAgEB1uHralD*!aJ@F zV2ruuFe9i2Q1C?^^kmVy921eb=tLDD43@-AgL^rQ3IO9%+vi_&R2^dpr}x{bCVPej z7G0-0o64uyWNtr*loIvslyo0%)KSDDKjfThe0hcqs)(C-MH1>bNGBDRTW~scy_{w} zp^aq8Qb!h9Lwielq%C1b8=?Z=&U)ST&PHbS)8Xzjh2DF?d{iAv)Eh)wsUnf>UtXN( zL7=$%YrZ#|^c{MYmhn!zV#t*(jdmYdCpwqpZ{v&L8KIuKn`@IIZfp!uo}c;7J57N` zAxyZ-uA4=Gzl~Ovycz%MW9ZL7N+nRo&1cfNn9(1H5eM;V_4Z_qVann7F>5f>%{rf= zPBZFaV@_Sobl?Fy&KXyzFDV*FIdhS5`Uc~S^Gjo)aiTHgn#<0C=9o-a-}@}xDor;D zZyZ|fvf;+=3MZd>SR1F^F`RJEZo+|MdyJYQAEauKu%WDol~ayrGU3zzbHKsnHKZ*z zFiwUkL@DZ>!*x05ql&EBq@_Vqv83&?@~q5?lVmffQZ+V-=qL+!u4Xs2Z2zdCQ3U7B&QR9_Iggy} z(om{Y9eU;IPe`+p1ifLx-XWh?wI)xU9ik+m#g&pGdB5Bi<`PR*?92lE0+TkRuXI)z z5LP!N2+tTc%cB6B1F-!fj#}>S!vnpgVU~3!*U1ej^)vjUH4s-bd^%B=ItQqDCGbrEzNQi(dJ`J}-U=2{7-d zK8k^Rlq2N#0G?9&1?HSle2vlkj^KWSBYTwx`2?9TU_DX#J+f+qLiZCqY1TXHFxXZqYMuD@RU$TgcnCC{_(vwZ-*uX)~go#%PK z@}2Km_5aQ~(<3cXeJN6|F8X_1@L%@xTzs}$_*E|a^_URF_qcF;Pfhoe?FTFwvjm1o z8onf@OY@jC2tVcMaZS;|T!Ks(wOgPpRzRnFS-^RZ4E!9dsnj9sFt609a|jJbb1Dt@ z<=Gal2jDEupxUSwWu6zp<<&RnAA;d&4gKVG0iu6g(DsST(4)z6R)zDpfaQ}v{5ARt zyhwvMtF%b-YazR5XLz+oh=mn;y-Mf2a8>7?2v8qX;19y?b>Z5laGHvzH;Nu9S`B8} zI)qN$GbXIQ1VL3lnof^6TS~rvPVg4V?Dl2Bb*K2z4E{5vy<(@@K_cN@U>R!>aUIRnb zL*)=787*cs#zb31zBC49x$`=fkQbMAef)L2$dR{)6BAz!t5U_B#1zZG`^neKSS22oJ#5B=gl%U=WeqL9REF2g zZnfCb0?quf?Ztj$VXvDSWoK`0L=Zxem2q}!XWLoT-kYMOx)!7fcgT35uC~0pySEme z`{wGWTkGr7>+Kb^n;W?BZH6ZP(9tQX%-7zF>vc2}LuWDI(9kh1G#7B99r4x6;_-V+k&c{nPUrR zAXJGRiMe~aup{0qzmLNjS_BC4cB#sXjckx{%_c&^xy{M61xEb>KW_AG5VFXUOjAG4 z^>Qlm9A#1N{4snY=(AmWzatb!ngqiqPbBZ7>Uhb3)dTkSGcL#&SH>iMO-IJBPua`u zo)LWZ>=NZLr758j{%(|uQuZ)pXq_4c!!>s|aDM9#`~1bzK3J1^^D#<2bNCccH7~-X}Ggi!pIIF>uFx%aPARGQsnC8ZQc8lrQ5o~smqOg>Ti^GNme94*w z)JZy{_{#$jxGQ&`M z!OMvZMHR>8*^>eS%o*6hJwn!l8VOOjZQJvh)@tnHVW&*GYPuxqXw}%M!(f-SQf`=L z5;=5w2;%82VMH6Xi&-K3W)o&K^+vJCepWZ-rW%+Dc6X3(){z$@4zjYxQ|}8UIojeC zYZpQ1dU{fy=oTr<4VX?$q)LP}IUmpiez^O&N3E_qPpchGTi5ZM6-2ScWlQq%V&R2Euz zO|Q0Hx>lY1Q1cW5xHv5!0OGU~PVEqSuy#fD72d#O`N!C;o=m+YioGu-wH2k6!t<~K zSr`E=W9)!g==~x9VV~-8{4ZN9{~-A9zJpRe%NGg$+MDuI-dH|b@BD)~>pPCGUNNzY zMDg||0@XGQgw`YCt5C&A{_+J}mvV9Wg{6V%2n#YSRN{AP#PY?1FF1#|vO_%e+#`|2*~wGAJaeRX6=IzFNeWhz6gJc8+(03Ph4y6ELAm=AkN7TOgMUEw*N{= z_)EIDQx5q22oUR+_b*tazu9+pX|n1c*IB-}{DqIj z-?E|ks{o3AGRNb;+iKcHkZvYJvFsW&83RAPs1Oh@IWy%l#5x2oUP6ZCtv+b|q>jsf zZ_9XO;V!>n`UxH1LvH8)L4?8raIvasEhkpQoJ`%!5rBs!0Tu(s_D{`4opB;57)pkX z4$A^8CsD3U5*!|bHIEqsn~{q+Ddj$ME@Gq4JXtgVz&7l{Ok!@?EA{B3P~NAqb9)4? zkQo30A^EbHfQ@87G5&EQTd`frrwL)&Yw?%-W@uy^Gn23%j?Y!Iea2xw<-f;esq zf%w5WN@E1}zyXtYv}}`U^B>W`>XPmdLj%4{P298|SisrE;7HvXX;A}Ffi8B#3Lr;1 zHt6zVb`8{#+e$*k?w8|O{Uh|&AG}|DG1PFo1i?Y*cQm$ZwtGcVgMwtBUDa{~L1KT-{jET4w60>{KZ27vXrHJ;fW{6| z=|Y4!&UX020wU1>1iRgB@Q#m~1^Z^9CG1LqDhYBrnx%IEdIty z!46iOoKlKs)c}newDG)rWUikD%j`)p z_w9Ph&e40=(2eBy;T!}*1p1f1SAUDP9iWy^u^Ubdj21Kn{46;GR+hwLO=4D11@c~V zI8x&(D({K~Df2E)Nx_yQvYfh4;MbMJ@Z}=Dt3_>iim~QZ*hZIlEs0mEb z_54+&*?wMD`2#vsQRN3KvoT>hWofI_Vf(^C1ff-Ike@h@saEf7g}<9T`W;HAne-Nd z>RR+&SP35w)xKn8^U$7))PsM!jKwYZ*RzEcG-OlTrX3}9a{q%#Un5E5W{{hp>w~;` zGky+3(vJvQyGwBo`tCpmo0mo((?nM8vf9aXrrY1Ve}~TuVkB(zeds^jEfI}xGBCM2 zL1|#tycSaWCurP+0MiActG3LCas@_@tao@(R1ANlwB$4K53egNE_;!&(%@Qo$>h`^1S_!hN6 z)vZtG$8fN!|BXBJ=SI>e(LAU(y(i*PHvgQ2llulxS8>qsimv7yL}0q_E5WiAz7)(f zC(ahFvG8&HN9+6^jGyLHM~$)7auppeWh_^zKk&C_MQ~8;N??OlyH~azgz5fe^>~7F zl3HnPN3z-kN)I$4@`CLCMQx3sG~V8hPS^}XDXZrQA>}mQPw%7&!sd(Pp^P=tgp-s^ zjl}1-KRPNWXgV_K^HkP__SR`S-|OF0bR-N5>I%ODj&1JUeAQ3$9i;B~$S6}*^tK?= z**%aCiH7y?xdY?{LgVP}S0HOh%0%LI$wRx;$T|~Y8R)Vdwa}kGWv8?SJVm^>r6+%I z#lj1aR94{@MP;t-scEYQWc#xFA30^}?|BeX*W#9OL;Q9#WqaaM546j5j29((^_8Nu z4uq}ESLr~r*O7E7$D{!k9W>`!SLoyA53i9QwRB{!pHe8um|aDE`Cg0O*{jmor)^t)3`>V>SWN-2VJcFmj^1?~tT=JrP`fVh*t zXHarp=8HEcR#vFe+1a%XXuK+)oFs`GDD}#Z+TJ}Ri`FvKO@ek2ayn}yaOi%(8p%2$ zpEu)v0Jym@f}U|-;}CbR=9{#<^z28PzkkTNvyKvJDZe+^VS2bES3N@Jq!-*}{oQlz z@8bgC_KnDnT4}d#&Cpr!%Yb?E!brx0!eVOw~;lLwUoz#Np%d$o%9scc3&zPm`%G((Le|6o1 zM(VhOw)!f84zG^)tZ1?Egv)d8cdNi+T${=5kV+j;Wf%2{3g@FHp^Gf*qO0q!u$=m9 zCaY`4mRqJ;FTH5`a$affE5dJrk~k`HTP_7nGTY@B9o9vvnbytaID;^b=Tzp7Q#DmD zC(XEN)Ktn39z5|G!wsVNnHi) z%^q94!lL|hF`IijA^9NR0F$@h7k5R^ljOW(;Td9grRN0Mb)l_l7##{2nPQ@?;VjXv zaLZG}yuf$r$<79rVPpXg?6iiieX|r#&`p#Con2i%S8*8F}(E) zI5E6c3tG*<;m~6>!&H!GJ6zEuhH7mkAzovdhLy;)q z{H2*8I^Pb}xC4s^6Y}6bJvMu=8>g&I)7!N!5QG$xseeU#CC?ZM-TbjsHwHgDGrsD= z{%f;@Sod+Ch66Ko2WF~;Ty)v>&x^aovCbCbD7>qF*!?BXmOV3(s|nxsb*Lx_2lpB7 zokUnzrk;P=T-&kUHO}td+Zdj!3n&NR?K~cRU zAXU!DCp?51{J4w^`cV#ye}(`SQhGQkkMu}O3M*BWt4UsC^jCFUy;wTINYmhD$AT;4 z?Xd{HaJjP`raZ39qAm;%beDbrLpbRf(mkKbANan7XsL>_pE2oo^$TgdidjRP!5-`% zv0d!|iKN$c0(T|L0C~XD0aS8t{*&#LnhE;1Kb<9&=c2B+9JeLvJr*AyyRh%@jHej=AetOMSlz^=!kxX>>B{2B1uIrQyfd8KjJ+DBy!h)~*(!|&L4^Q_07SQ~E zcemVP`{9CwFvPFu7pyVGCLhH?LhEVb2{7U+Z_>o25#+3<|8%1T^5dh}*4(kfJGry} zm%r#hU+__Z;;*4fMrX=Bkc@7|v^*B;HAl0((IBPPii%X9+u3DDF6%bI&6?Eu$8&aWVqHIM7mK6?Uvq$1|(-T|)IV<>e?!(rY zqkmO1MRaLeTR=)io(0GVtQT@s6rN%C6;nS3@eu;P#ry4q;^O@1ZKCJyp_Jo)Ty^QW z+vweTx_DLm{P-XSBj~Sl<%_b^$=}odJ!S2wAcxenmzFGX1t&Qp8Vxz2VT`uQsQYtdn&_0xVivIcxZ_hnrRtwq4cZSj1c-SG9 z7vHBCA=fd0O1<4*=lu$6pn~_pVKyL@ztw1swbZi0B?spLo56ZKu5;7ZeUml1Ws1?u zqMf1p{5myAzeX$lAi{jIUqo1g4!zWLMm9cfWcnw`k6*BR^?$2(&yW?>w;G$EmTA@a z6?y#K$C~ZT8+v{87n5Dm&H6Pb_EQ@V0IWmG9cG=O;(;5aMWWrIPzz4Q`mhK;qQp~a z+BbQrEQ+w{SeiuG-~Po5f=^EvlouB@_|4xQXH@A~KgpFHrwu%dwuCR)=B&C(y6J4J zvoGk9;lLs9%iA-IJGU#RgnZZR+@{5lYl8(e1h6&>Vc_mvg0d@);X zji4T|n#lB!>pfL|8tQYkw?U2bD`W{na&;*|znjmalA&f;*U++_aBYerq;&C8Kw7mI z7tsG*?7*5j&dU)Lje;^{D_h`%(dK|pB*A*1(Jj)w^mZ9HB|vGLkF1GEFhu&rH=r=8 zMxO42e{Si6$m+Zj`_mXb&w5Q(i|Yxyg?juUrY}78uo@~3v84|8dfgbPd0iQJRdMj< zncCNGdMEcsxu#o#B5+XD{tsg*;j-eF8`mp~K8O1J!Z0+>0=7O=4M}E?)H)ENE;P*F z$Ox?ril_^p0g7xhDUf(q652l|562VFlC8^r8?lQv;TMvn+*8I}&+hIQYh2 z1}uQQaag&!-+DZ@|C+C$bN6W;S-Z@)d1|en+XGvjbOxCa-qAF*LA=6s(Jg+g;82f$ z(Vb)8I)AH@cdjGFAR5Rqd0wiNCu!xtqWbcTx&5kslzTb^7A78~Xzw1($UV6S^VWiP zFd{Rimd-0CZC_Bu(WxBFW7+k{cOW7DxBBkJdJ;VsJ4Z@lERQr%3eVv&$%)b%<~ zCl^Y4NgO}js@u{|o~KTgH}>!* z_iDNqX2(As7T0xivMH|3SC1ivm8Q}6Ffcd7owUKN5lHAtzMM4<0v+ykUT!QiowO;`@%JGv+K$bBx@*S7C8GJVqQ_K>12}M`f_Ys=S zKFh}HM9#6Izb$Y{wYzItTy+l5U2oL%boCJn?R3?jP@n$zSIwlmyGq30Cw4QBO|14` zW5c);AN*J3&eMFAk$SR~2k|&+&Bc$e>s%c{`?d~85S-UWjA>DS5+;UKZ}5oVa5O(N zqqc@>)nee)+4MUjH?FGv%hm2{IlIF-QX}ym-7ok4Z9{V+ZHVZQl$A*x!(q%<2~iVv znUa+BX35&lCb#9VE-~Y^W_f;Xhl%vgjwdjzMy$FsSIj&ok}L+X`4>J=9BkN&nu^E*gbhj3(+D>C4E z@Fwq_=N)^bKFSHTzZk?-gNU$@l}r}dwGyh_fNi=9b|n}J>&;G!lzilbWF4B}BBq4f zYIOl?b)PSh#XTPp4IS5ZR_2C!E)Z`zH0OW%4;&~z7UAyA-X|sh9@~>cQW^COA9hV4 zXcA6qUo9P{bW1_2`eo6%hgbN%(G-F1xTvq!sc?4wN6Q4`e9Hku zFwvlAcRY?6h^Fj$R8zCNEDq8`=uZB8D-xn)tA<^bFFy}4$vA}Xq0jAsv1&5!h!yRA zU()KLJya5MQ`q&LKdH#fwq&(bNFS{sKlEh_{N%{XCGO+po#(+WCLmKW6&5iOHny>g z3*VFN?mx!16V5{zyuMWDVP8U*|BGT$(%IO|)?EF|OI*sq&RovH!N%=>i_c?K*A>>k zyg1+~++zY4Q)J;VWN0axhoIKx;l&G$gvj(#go^pZskEVj8^}is3Jw26LzYYVos0HX zRPvmK$dVxM8(Tc?pHFe0Z3uq){{#OK3i-ra#@+;*=ui8)y6hsRv z4Fxx1c1+fr!VI{L3DFMwXKrfl#Q8hfP@ajgEau&QMCxd{g#!T^;ATXW)nUg&$-n25 zruy3V!!;{?OTobo|0GAxe`Acn3GV@W=&n;~&9 zQM>NWW~R@OYORkJAo+eq1!4vzmf9K%plR4(tB@TR&FSbDoRgJ8qVcH#;7lQub*nq&?Z>7WM=oeEVjkaG zT#f)=o!M2DO5hLR+op>t0CixJCIeXH*+z{-XS|%jx)y(j&}Wo|3!l7{o)HU3m7LYyhv*xF&tq z%IN7N;D4raue&&hm0xM=`qv`+TK@;_xAcGKuK(2|75~ar2Yw)geNLSmVxV@x89bQu zpViVKKnlkwjS&&c|-X6`~xdnh}Ps)Hs z4VbUL^{XNLf7_|Oi>tA%?SG5zax}esF*FH3d(JH^Gvr7Rp*n=t7frH!U;!y1gJB^i zY_M$KL_}mW&XKaDEi9K-wZR|q*L32&m+2n_8lq$xRznJ7p8}V>w+d@?uB!eS3#u<} zIaqi!b!w}a2;_BfUUhGMy#4dPx>)_>yZ`ai?Rk`}d0>~ce-PfY-b?Csd(28yX22L% zI7XI>OjIHYTk_@Xk;Gu^F52^Gn6E1&+?4MxDS2G_#PQ&yXPXP^<-p|2nLTb@AAQEY zI*UQ9Pmm{Kat}wuazpjSyXCdnrD&|C1c5DIb1TnzF}f4KIV6D)CJ!?&l&{T)e4U%3HTSYqsQ zo@zWB1o}ceQSV)<4G<)jM|@@YpL+XHuWsr5AYh^Q{K=wSV99D~4RRU52FufmMBMmd z_H}L#qe(}|I9ZyPRD6kT>Ivj&2Y?qVZq<4bG_co_DP`sE*_Xw8D;+7QR$Uq(rr+u> z8bHUWbV19i#)@@G4bCco@Xb<8u~wVDz9S`#k@ciJtlu@uP1U0X?yov8v9U3VOig2t zL9?n$P3=1U_Emi$#slR>N5wH-=J&T=EdUHA}_Z zZIl3nvMP*AZS9{cDqFanrA~S5BqxtNm9tlu;^`)3X&V4tMAkJ4gEIPl= zoV!Gyx0N{3DpD@)pv^iS*dl2FwANu;1;%EDl}JQ7MbxLMAp>)UwNwe{=V}O-5C*>F zu?Ny+F64jZn<+fKjF01}8h5H_3pey|;%bI;SFg$w8;IC<8l|3#Lz2;mNNik6sVTG3 z+Su^rIE#40C4a-587$U~%KedEEw1%r6wdvoMwpmlXH$xPnNQN#f%Z7|p)nC>WsuO= z4zyqapLS<8(UJ~Qi9d|dQijb_xhA2)v>la)<1md5s^R1N&PiuA$^k|A<+2C?OiHbj z>Bn$~t)>Y(Zb`8hW7q9xQ=s>Rv81V+UiuZJc<23HplI88isqRCId89fb`Kt|CxVIg znWcwprwXnotO>3s&Oypkte^9yJjlUVVxSe%_xlzmje|mYOVPH^vjA=?6xd0vaj0Oz zwJ4OJNiFdnHJX3rw&inskjryukl`*fRQ#SMod5J|KroJRsVXa5_$q7whSQ{gOi*s0 z1LeCy|JBWRsDPn7jCb4s(p|JZiZ8+*ExC@Vj)MF|*Vp{B(ziccSn`G1Br9bV(v!C2 z6#?eqpJBc9o@lJ#^p-`-=`4i&wFe>2)nlPK1p9yPFzJCzBQbpkcR>={YtamIw)3nt z(QEF;+)4`>8^_LU)_Q3 zC5_7lgi_6y>U%m)m@}Ku4C}=l^J=<<7c;99ec3p{aR+v=diuJR7uZi%aQv$oP?dn?@6Yu_+*^>T0ptf(oobdL;6)N-I!TO`zg^Xbv3#L0I~sn@WGk-^SmPh5>W+LB<+1PU}AKa?FCWF|qMNELOgdxR{ zbqE7@jVe+FklzdcD$!(A$&}}H*HQFTJ+AOrJYnhh}Yvta(B zQ_bW4Rr;R~&6PAKwgLWXS{Bnln(vUI+~g#kl{r+_zbngT`Y3`^Qf=!PxN4IYX#iW4 zucW7@LLJA9Zh3(rj~&SyN_pjO8H&)|(v%!BnMWySBJV=eSkB3YSTCyIeJ{i;(oc%_hk{$_l;v>nWSB)oVeg+blh=HB5JSlG_r7@P z3q;aFoZjD_qS@zygYqCn=;Zxjo!?NK!%J$ z52lOP`8G3feEj+HTp@Tnn9X~nG=;tS+z}u{mQX_J0kxtr)O30YD%oo)L@wy`jpQYM z@M>Me=95k1p*FW~rHiV1CIfVc{K8r|#Kt(ApkXKsDG$_>76UGNhHExFCw#Ky9*B-z zNq2ga*xax!HMf_|Vp-86r{;~YgQKqu7%szk8$hpvi_2I`OVbG1doP(`gn}=W<8%Gn z%81#&WjkH4GV;4u43EtSW>K_Ta3Zj!XF?;SO3V#q=<=>Tc^@?A`i;&`-cYj|;^ zEo#Jl5zSr~_V-4}y8pnufXLa80vZY4z2ko7fj>DR)#z=wWuS1$$W!L?(y}YC+yQ|G z@L&`2upy3f>~*IquAjkVNU>}c10(fq#HdbK$~Q3l6|=@-eBbo>B9(6xV`*)sae58*f zym~RRVx;xoCG3`JV`xo z!lFw)=t2Hy)e!IFs?0~7osWk(d%^wxq&>_XD4+U#y&-VF%4z?XH^i4w`TxpF{`XhZ z%G}iEzf!T(l>g;W9<~K+)$g!{UvhW{E0Lis(S^%I8OF&%kr!gJ&fMOpM=&=Aj@wuL zBX?*6i51Qb$uhkwkFYkaD_UDE+)rh1c;(&Y=B$3)J&iJfQSx!1NGgPtK!$c9OtJuu zX(pV$bfuJpRR|K(dp@^j}i&HeJOh@|7lWo8^$*o~Xqo z5Sb+!EtJ&e@6F+h&+_1ETbg7LfP5GZjvIUIN3ibCOldAv z)>YdO|NH$x7AC8dr=<2ekiY1%fN*r~e5h6Yaw<{XIErujKV~tiyrvV_DV0AzEknC- zR^xKM3i<1UkvqBj3C{wDvytOd+YtDSGu!gEMg+!&|8BQrT*|p)(dwQLEy+ zMtMzij3zo40)CA!BKZF~yWg?#lWhqD3@qR)gh~D{uZaJO;{OWV8XZ_)J@r3=)T|kt zUS1pXr6-`!Z}w2QR7nP%d?ecf90;K_7C3d!UZ`N(TZoWNN^Q~RjVhQG{Y<%E1PpV^4 z-m-K+$A~-+VDABs^Q@U*)YvhY4Znn2^w>732H?NRK(5QSS$V@D7yz2BVX4)f5A04~$WbxGOam22>t&uD)JB8-~yiQW6ik;FGblY_I>SvB_z2?PS z*Qm&qbKI{H1V@YGWzpx`!v)WeLT02};JJo*#f$a*FH?IIad-^(;9XC#YTWN6;Z6+S zm4O1KH=#V@FJw7Pha0!9Vb%ZIM$)a`VRMoiN&C|$YA3~ZC*8ayZRY^fyuP6$n%2IU z$#XceYZeqLTXw(m$_z|33I$B4k~NZO>pP6)H_}R{E$i%USGy{l{-jOE;%CloYPEU+ zRFxOn4;7lIOh!7abb23YKD+_-?O z0FP9otcAh+oSj;=f#$&*ExUHpd&e#bSF%#8*&ItcL2H$Sa)?pt0Xtf+t)z$_u^wZi z44oE}r4kIZGy3!Mc8q$B&6JqtnHZ>Znn!Zh@6rgIu|yU+zG8q`q9%B18|T|oN3zMq z`l&D;U!OL~%>vo&q0>Y==~zLiCZk4v%s_7!9DxQ~id1LLE93gf*gg&2$|hB#j8;?3 z5v4S;oM6rT{Y;I+#FdmNw z){d%tNM<<#GN%n9ox7B=3#;u7unZ~tLB_vRZ52a&2=IM)2VkXm=L+Iqq~uk#Dug|x z>S84e+A7EiOY5lj*!q?6HDkNh~0g;0Jy(al!ZHHDtur9T$y-~)94HelX1NHjXWIM7UAe}$?jiz z9?P4`I0JM=G5K{3_%2jPLC^_Mlw?-kYYgb7`qGa3@dn|^1fRMwiyM@Ch z;CB&o7&&?c5e>h`IM;Wnha0QKnEp=$hA8TJgR-07N~U5(>9vJzeoFsSRBkDq=x(YgEMpb=l4TDD`2 zwVJpWGTA_u7}?ecW7s6%rUs&NXD3+n;jB86`X?8(l3MBo6)PdakI6V6a}22{)8ilT zM~T*mU}__xSy|6XSrJ^%lDAR3Lft%+yxC|ZUvSO_nqMX!_ul3;R#*{~4DA=h$bP)%8Yv9X zyp><|e8=_ttI}ZAwOd#dlnSjck#6%273{E$kJuCGu=I@O)&6ID{nWF5@gLb16sj|&Sb~+du4e4O_%_o`Ix4NRrAsyr1_}MuP94s>de8cH-OUkVPk3+K z&jW)It9QiU-ti~AuJkL`XMca8Oh4$SyJ=`-5WU<{cIh+XVH#e4d&zive_UHC!pN>W z3TB;Mn5i)9Qn)#6@lo4QpI3jFYc0~+jS)4AFz8fVC;lD^+idw^S~Qhq>Tg(!3$yLD zzktzoFrU@6s4wwCMz}edpF5i5Q1IMmEJQHzp(LAt)pgN3&O!&d?3W@6U4)I^2V{;- z6A(?zd93hS*uQmnh4T)nHnE{wVhh(=MMD(h(P4+^p83Om6t<*cUW>l(qJzr%5vp@K zN27ka(L{JX=1~e2^)F^i=TYj&;<7jyUUR2Bek^A8+3Up*&Xwc{)1nRR5CT8vG>ExV zHnF3UqXJOAno_?bnhCX-&kwI~Ti8t4`n0%Up>!U`ZvK^w2+0Cs-b9%w%4`$+To|k= zKtgc&l}P`*8IS>8DOe?EB84^kx4BQp3<7P{Pq}&p%xF_81pg!l2|u=&I{AuUgmF5n zJQCTLv}%}xbFGYtKfbba{CBo)lWW%Z>i(_NvLhoQZ*5-@2l&x>e+I~0Nld3UI9tdL zRzu8}i;X!h8LHVvN?C+|M81e>Jr38%&*9LYQec9Ax>?NN+9(_>XSRv&6hlCYB`>Qm z1&ygi{Y()OU4@D_jd_-7vDILR{>o|7-k)Sjdxkjgvi{@S>6GqiF|o`*Otr;P)kLHN zZkpts;0zw_6;?f(@4S1FN=m!4^mv~W+lJA`&7RH%2$)49z0A+8@0BCHtj|yH--AEL z0tW6G%X-+J+5a{5*WKaM0QDznf;V?L5&uQw+yegDNDP`hA;0XPYc6e0;Xv6|i|^F2WB)Z$LR|HR4 zTQsRAby9(^Z@yATyOgcfQw7cKyr^3Tz7lc7+JEwwzA7)|2x+PtEb>nD(tpxJQm)Kn zW9K_*r!L%~N*vS8<5T=iv|o!zTe9k_2jC_j*7ik^M_ zaf%k{WX{-;0*`t`G!&`eW;gChVXnJ-Rn)To8vW-?>>a%QU1v`ZC=U)f8iA@%JG0mZ zDqH;~mgBnrCP~1II<=V9;EBL)J+xzCoiRBaeH&J6rL!{4zIY8tZka?_FBeQeNO3q6 zyG_alW54Ba&wQf{&F1v-r1R6ID)PTsqjIBc+5MHkcW5Fnvi~{-FjKe)t1bl}Y;z@< z=!%zvpRua>>t_x}^}z0<7MI!H2v6|XAyR9!t50q-A)xk0nflgF4*OQlCGK==4S|wc zRMsSscNhRzHMBU8TdcHN!q^I}x0iXJ%uehac|Zs_B$p@CnF)HeXPpB_Za}F{<@6-4 zl%kml@}kHQ(ypD8FsPJ2=14xXJE|b20RUIgs!2|R3>LUMGF6X*B_I|$`Qg=;zm7C z{mEDy9dTmPbued7mlO@phdmAmJ7p@GR1bjCkMw6*G7#4+`k>fk1czdJUB!e@Q(~6# zwo%@p@V5RL0ABU2LH7Asq^quDUho@H>eTZH9f*no9fY0T zD_-9px3e}A!>>kv5wk91%C9R1J_Nh!*&Kk$J3KNxC}c_@zlgpJZ+5L)Nw|^p=2ue}CJtm;uj*Iqr)K})kA$xtNUEvX;4!Px*^&9T_`IN{D z{6~QY=Nau6EzpvufB^hflc#XIsSq0Y9(nf$d~6ZwK}fal92)fr%T3=q{0mP-EyP_G z)UR5h@IX}3Qll2b0oCAcBF>b*@Etu*aTLPU<%C>KoOrk=x?pN!#f_Og-w+;xbFgjQ zXp`et%lDBBh~OcFnMKMUoox0YwBNy`N0q~bSPh@+enQ=4RUw1) zpovN`QoV>vZ#5LvC;cl|6jPr}O5tu!Ipoyib8iXqy}TeJ;4+_7r<1kV0v5?Kv>fYp zg>9L`;XwXa&W7-jf|9~uP2iyF5`5AJ`Q~p4eBU$MCC00`rcSF>`&0fbd^_eqR+}mK z4n*PMMa&FOcc)vTUR zlDUAn-mh`ahi_`f`=39JYTNVjsTa_Y3b1GOIi)6dY)D}xeshB0T8Eov5%UhWd1)u}kjEQ|LDo{tqKKrYIfVz~@dp!! zMOnah@vp)%_-jDTUG09l+;{CkDCH|Q{NqX*uHa1YxFShy*1+;J`gywKaz|2Q{lG8x zP?KBur`}r`!WLKXY_K;C8$EWG>jY3UIh{+BLv0=2)KH%P}6xE2kg)%(-uA6lC?u8}{K(#P*c zE9C8t*u%j2r_{;Rpe1A{9nNXU;b_N0vNgyK!EZVut~}+R2rcbsHilqsOviYh-pYX= zHw@53nlmwYI5W5KP>&`dBZe0Jn?nAdC^HY1wlR6$u^PbpB#AS&5L6zqrXN&7*N2Q` z+Rae1EwS)H=aVSIkr8Ek^1jy2iS2o7mqm~Mr&g5=jjt7VxwglQ^`h#Mx+x2v|9ZAwE$i_9918MjJxTMr?n!bZ6n$}y11u8I9COTU`Z$Fi z!AeAQLMw^gp_{+0QTEJrhL424pVDp%wpku~XRlD3iv{vQ!lAf!_jyqd_h}+Tr1XG| z`*FT*NbPqvHCUsYAkFnM`@l4u_QH&bszpUK#M~XLJt{%?00GXY?u_{gj3Hvs!=N(I z(=AuWPijyoU!r?aFTsa8pLB&cx}$*%;K$e*XqF{~*rA-qn)h^!(-;e}O#B$|S~c+U zN4vyOK0vmtx$5K!?g*+J@G1NmlEI=pyZXZ69tAv=@`t%ag_Hk{LP~OH9iE)I= zaJ69b4kuCkV0V zo(M0#>phpQ_)@j;h%m{-a*LGi(72TP)ws2w*@4|C-3+;=5DmC4s7Lp95%n%@Ko zfdr3-a7m*dys9iIci$A=4NPJ`HfJ;hujLgU)ZRuJI`n;Pw|yksu!#LQnJ#dJysgNb z@@qwR^wrk(jbq4H?d!lNyy72~Dnn87KxsgQ!)|*m(DRM+eC$wh7KnS-mho3|KE)7h zK3k;qZ;K1Lj6uEXLYUYi)1FN}F@-xJ z@@3Hb84sl|j{4$3J}aTY@cbX@pzB_qM~APljrjju6P0tY{C@ zpUCOz_NFmALMv1*blCcwUD3?U6tYs+N%cmJ98D%3)%)Xu^uvzF zS5O!sc#X6?EwsYkvPo6A%O8&y8sCCQH<%f2togVwW&{M;PR!a(ZT_A+jVAbf{@5kL zB@Z(hb$3U{T_}SKA_CoQVU-;j>2J=L#lZ~aQCFg-d<9rzs$_gO&d5N6eFSc z1ml8)P*FSi+k@!^M9nDWR5e@ATD8oxtDu=36Iv2!;dZzidIS(PCtEuXAtlBb1;H%Z zwnC^Ek*D)EX4#Q>R$$WA2sxC_t(!!6Tr?C#@{3}n{<^o;9id1RA&-Pig1e-2B1XpG zliNjgmd3c&%A}s>qf{_j#!Z`fu0xIwm4L0)OF=u(OEmp;bLCIaZX$&J_^Z%4Sq4GZ zPn6sV_#+6pJmDN_lx@1;Zw6Md_p0w9h6mHtzpuIEwNn>OnuRSC2=>fP^Hqgc)xu^4 z<3!s`cORHJh#?!nKI`Et7{3C27+EuH)Gw1f)aoP|B3y?fuVfvpYYmmukx0ya-)TQX zR{ggy5cNf4X|g)nl#jC9p>7|09_S7>1D2GTRBUTW zAkQ=JMRogZqG#v;^=11O6@rPPwvJkr{bW-Qg8`q8GoD#K`&Y+S#%&B>SGRL>;ZunM@49!}Uy zN|bBCJ%sO;@3wl0>0gbl3L@1^O60ONObz8ZI7nder>(udj-jt`;yj^nTQ$L9`OU9W zX4alF#$|GiR47%x@s&LV>2Sz2R6?;2R~5k6V>)nz!o_*1Y!$p>BC5&?hJg_MiE6UBy>RkVZj`9UWbRkN-Hk!S`=BS3t3uyX6)7SF#)71*}`~Ogz z1rap5H6~dhBJ83;q-Y<5V35C2&F^JI-it(=5D#v!fAi9p#UwV~2tZQI+W(Dv?1t9? zfh*xpxxO{-(VGB>!Q&0%^YW_F!@aZS#ucP|YaD#>wd1Fv&Z*SR&mc;asi}1G) z_H>`!akh-Zxq9#io(7%;a$)w+{QH)Y$?UK1Dt^4)up!Szcxnu}kn$0afcfJL#IL+S z5gF_Y30j;{lNrG6m~$Ay?)*V9fZuU@3=kd40=LhazjFrau>(Y>SJNtOz>8x_X-BlA zIpl{i>OarVGj1v(4?^1`R}aQB&WCRQzS~;7R{tDZG=HhgrW@B`W|#cdyj%YBky)P= zpxuOZkW>S6%q7U{VsB#G(^FMsH5QuGXhb(sY+!-R8Bmv6Sx3WzSW<1MPPN1!&PurYky(@`bP9tz z52}LH9Q?+FF5jR6-;|+GVdRA!qtd;}*-h&iIw3Tq3qF9sDIb1FFxGbo&fbG5n8$3F zyY&PWL{ys^dTO}oZ#@sIX^BKW*bon=;te9j5k+T%wJ zNJtoN1~YVj4~YRrlZl)b&kJqp+Z`DqT!la$x&&IxgOQw#yZd-nBP3!7FijBXD|IsU8Zl^ zc6?MKpJQ+7ka|tZQLfchD$PD|;K(9FiLE|eUZX#EZxhG!S-63C$jWX1Yd!6-Yxi-u zjULIr|0-Q%D9jz}IF~S%>0(jOqZ(Ln<$9PxiySr&2Oic7vb<8q=46)Ln%Z|<*z5&> z3f~Zw@m;vR(bESB<=Jqkxn(=#hQw42l(7)h`vMQQTttz9XW6^|^8EK7qhju4r_c*b zJIi`)MB$w@9epwdIfnEBR+?~);yd6C(LeMC& zn&&N*?-g&BBJcV;8&UoZi4Lmxcj16ojlxR~zMrf=O_^i1wGb9X-0@6_rpjPYemIin zmJb+;lHe;Yp=8G)Q(L1bzH*}I>}uAqhj4;g)PlvD9_e_ScR{Ipq|$8NvAvLD8MYr}xl=bU~)f%B3E>r3Bu9_t|ThF3C5~BdOve zEbk^r&r#PT&?^V1cb{72yEWH}TXEE}w>t!cY~rA+hNOTK8FAtIEoszp!qqptS&;r$ zaYV-NX96-h$6aR@1xz6_E0^N49mU)-v#bwtGJm)ibygzJ8!7|WIrcb`$XH~^!a#s& z{Db-0IOTFq#9!^j!n_F}#Z_nX{YzBK8XLPVmc&X`fT7!@$U-@2KM9soGbmOSAmqV z{nr$L^MBo_u^Joyf0E^=eo{Rt0{{e$IFA(#*kP@SQd6lWT2-#>` zP1)7_@IO!9lk>Zt?#CU?cuhiLF&)+XEM9B)cS(gvQT!X3`wL*{fArTS;Ak`J<84du zALKPz4}3nlG8Fo^MH0L|oK2-4xIY!~Oux~1sw!+It)&D3p;+N8AgqKI`ld6v71wy8I!eP0o~=RVcFQR2Gr(eP_JbSytoQ$Yt}l*4r@A8Me94y z8cTDWhqlq^qoAhbOzGBXv^Wa4vUz$(7B!mX`T=x_ueKRRDfg&Uc-e1+z4x$jyW_Pm zp?U;-R#xt^Z8Ev~`m`iL4*c#65Nn)q#=Y0l1AuD&+{|8-Gsij3LUZXpM0Bx0u7WWm zH|%yE@-#XEph2}-$-thl+S;__ciBxSSzHveP%~v}5I%u!z_l_KoW{KRx2=eB33umE zIYFtu^5=wGU`Jab8#}cnYry@9p5UE#U|VVvx_4l49JQ;jQdp(uw=$^A$EA$LM%vmE zvdEOaIcp5qX8wX{mYf0;#51~imYYPn4=k&#DsKTxo{_Mg*;S495?OBY?#gv=edYC* z^O@-sd-qa+U24xvcbL0@C7_6o!$`)sVr-jSJE4XQUQ$?L7}2(}Eixqv;L8AdJAVqc zq}RPgpnDb@E_;?6K58r3h4-!4rT4Ab#rLHLX?eMOfluJk=3i1@Gt1i#iA=O`M0@x! z(HtJP9BMHXEzuD93m|B&woj0g6T?f#^)>J>|I4C5?Gam>n9!8CT%~aT;=oco5d6U8 zMXl(=W;$ND_8+DD*?|5bJ!;8ebESXMUKBAf7YBwNVJibGaJ*(2G`F%wx)grqVPjudiaq^Kl&g$8A2 zWMxMr@_$c}d+;_B`#kUX-t|4VKH&_f^^EP0&=DPLW)H)UzBG%%Tra*5 z%$kyZe3I&S#gfie^z5)!twG={3Cuh)FdeA!Kj<-9** zvT*5%Tb`|QbE!iW-XcOuy39>D3oe6x{>&<#E$o8Ac|j)wq#kQzz|ATd=Z0K!p2$QE zPu?jL8Lb^y3_CQE{*}sTDe!2!dtlFjq&YLY@2#4>XS`}v#PLrpvc4*@q^O{mmnr5D zmyJq~t?8>FWU5vZdE(%4cuZuao0GNjp3~Dt*SLaxI#g_u>hu@k&9Ho*#CZP~lFJHj z(e!SYlLigyc?&5-YxlE{uuk$9b&l6d`uIlpg_z15dPo*iU&|Khx2*A5Fp;8iK_bdP z?T6|^7@lcx2j0T@x>X7|kuuBSB7<^zeY~R~4McconTxA2flHC0_jFxmSTv-~?zVT| zG_|yDqa9lkF*B6_{j=T>=M8r<0s;@z#h)3BQ4NLl@`Xr__o7;~M&dL3J8fP&zLfDfy z);ckcTev{@OUlZ`bCo(-3? z1u1xD`PKgSg?RqeVVsF<1SLF;XYA@Bsa&cY!I48ZJn1V<3d!?s=St?TLo zC0cNr`qD*M#s6f~X>SCNVkva^9A2ZP>CoJ9bvgXe_c}WdX-)pHM5m7O zrHt#g$F0AO+nGA;7dSJ?)|Mo~cf{z2L)Rz!`fpi73Zv)H=a5K)*$5sf_IZypi($P5 zsPwUc4~P-J1@^3C6-r9{V-u0Z&Sl7vNfmuMY4yy*cL>_)BmQF!8Om9Dej%cHxbIzA zhtV0d{=%cr?;bpBPjt@4w=#<>k5ee=TiWAXM2~tUGfm z$s&!Dm0R^V$}fOR*B^kGaipi~rx~A2cS0;t&khV1a4u38*XRUP~f za!rZMtay8bsLt6yFYl@>-y^31(*P!L^^s@mslZy(SMsv9bVoX`O#yBgEcjCmGpyc* zeH$Dw6vB5P*;jor+JOX@;6K#+xc)Z9B8M=x2a@Wx-{snPGpRmOC$zpsqW*JCh@M2Y z#K+M(>=#d^>Of9C`))h<=Bsy)6zaMJ&x-t%&+UcpLjV`jo4R2025 zXaG8EA!0lQa)|dx-@{O)qP6`$rhCkoQqZ`^SW8g-kOwrwsK8 z3ms*AIcyj}-1x&A&vSq{r=QMyp3CHdWH35!sad#!Sm>^|-|afB+Q;|Iq@LFgqIp#Z zD1%H+3I?6RGnk&IFo|u+E0dCxXz4yI^1i!QTu7uvIEH>i3rR{srcST`LIRwdV1P;W z+%AN1NIf@xxvVLiSX`8ILA8MzNqE&7>%jMzGt9wm78bo9<;h*W84i29^w!>V>{N+S zd`5Zmz^G;f=icvoOZfK5#1ctx*~UwD=ab4DGQXehQ!XYnak*dee%YN$_ZPL%KZuz$ zD;$PpT;HM^$KwtQm@7uvT`i6>Hae1CoRVM2)NL<2-k2PiX=eAx+-6j#JI?M}(tuBW zkF%jjLR)O`gI2fcPBxF^HeI|DWwQWHVR!;;{BXXHskxh8F@BMDn`oEi-NHt;CLymW z=KSv5)3dyzec0T5B*`g-MQ<;gz=nIWKUi9ko<|4I(-E0k$QncH>E4l z**1w&#={&zv4Tvhgz#c29`m|;lU-jmaXFMC11 z*dlXDMEOG>VoLMc>!rApwOu2prKSi*!w%`yzGmS+k(zm*CsLK*wv{S_0WX^8A-rKy zbk^Gf_92^7iB_uUF)EE+ET4d|X|>d&mdN?x@vxKAQk`O+r4Qdu>XGy(a(19g;=jU} zFX{O*_NG>!$@jh!U369Lnc+D~qch3uT+_Amyi}*k#LAAwh}k8IPK5a-WZ81ufD>l> z$4cF}GSz>ce`3FAic}6W4Z7m9KGO?(eWqi@L|5Hq0@L|&2flN1PVl}XgQ2q*_n2s3 zt5KtowNkTYB5b;SVuoXA@i5irXO)A&%7?V`1@HGCB&)Wgk+l|^XXChq;u(nyPB}b3 zY>m5jkxpZgi)zfbgv&ec4Zqdvm+D<?Im*mXweS9H+V>)zF#Zp3)bhl$PbISY{5=_z!8&*Jv~NYtI-g!>fDs zmvL5O^U%!^VaKA9gvKw|5?-jk>~%CVGvctKmP$kpnpfN{D8@X*Aazi$txfa%vd-|E z>kYmV66W!lNekJPom29LdZ%(I+ZLZYTXzTg*to~m?7vp%{V<~>H+2}PQ?PPAq`36R z<%wR8v6UkS>Wt#hzGk#44W<%9S=nBfB);6clKwnxY}T*w21Qc3_?IJ@4gYzC7s;WP zVQNI(M=S=JT#xsZy7G`cR(BP9*je0bfeN8JN5~zY(DDs0t{LpHOIbN);?T-69Pf3R zSNe*&p2%AwXHL>__g+xd4Hlc_vu<25H?(`nafS%)3UPP7_4;gk-9ckt8SJRTv5v0M z_Hww`qPudL?ajIR&X*;$y-`<)6dxx1U~5eGS13CB!lX;3w7n&lDDiArbAhSycd}+b zya_3p@A`$kQy;|NJZ~s44Hqo7Hwt}X86NK=(ey>lgWTtGL6k@Gy;PbO!M%1~Wcn2k zUFP|*5d>t-X*RU8g%>|(wwj*~#l4z^Aatf^DWd1Wj#Q*AY0D^V@sC`M zjJc6qXu0I7Y*2;;gGu!plAFzG=J;1%eIOdn zQA>J&e05UN*7I5@yRhK|lbBSfJ+5Uq;!&HV@xfPZrgD}kE*1DSq^=%{o%|LChhl#0 zlMb<^a6ixzpd{kNZr|3jTGeEzuo}-eLT-)Q$#b{!vKx8Tg}swCni>{#%vDY$Ww$84 zew3c9BBovqb}_&BRo#^!G(1Eg((BScRZ}C)Oz?y`T5wOrv);)b^4XR8 zhJo7+<^7)qB>I;46!GySzdneZ>n_E1oWZY;kf94#)s)kWjuJN1c+wbVoNQcmnv}{> zN0pF+Sl3E}UQ$}slSZeLJrwT>Sr}#V(dVaezCQl2|4LN`7L7v&siYR|r7M(*JYfR$ zst3=YaDw$FSc{g}KHO&QiKxuhEzF{f%RJLKe3p*7=oo`WNP)M(9X1zIQPP0XHhY3c znrP{$4#Ol$A0s|4S7Gx2L23dv*Gv2o;h((XVn+9+$qvm}s%zi6nI-_s6?mG! zj{DV;qesJb&owKeEK?=J>UcAlYckA7Sl+I&IN=yasrZOkejir*kE@SN`fk<8Fgx*$ zy&fE6?}G)d_N`){P~U@1jRVA|2*69)KSe_}!~?+`Yb{Y=O~_+@!j<&oVQQMnhoIRU zA0CyF1OFfkK44n*JD~!2!SCPM;PRSk%1XL=0&rz00wxPs&-_eapJy#$h!eqY%nS0{ z!aGg58JIJPF3_ci%n)QSVpa2H`vIe$RD43;#IRfDV&Ibit z+?>HW4{2wOfC6Fw)}4x}i1maDxcE1qi@BS*qcxD2gE@h3#4cgU*D-&3z7D|tVZWt= z-Cy2+*Cm@P4GN_TPUtaVyVesbVDazF@)j8VJ4>XZv!f%}&eO1SvIgr}4`A*3#vat< z_MoByL(qW6L7SFZ#|Gc1fFN)L2PxY+{B8tJp+pxRyz*87)vXR}*=&ahXjBlQKguuf zX6x<<6fQulE^C*KH8~W%ptpaC0l?b=_{~*U4?5Vt;dgM4t_{&UZ1C2j?b>b+5}{IF_CUyvz-@QZPMlJ)r_tS$9kH%RPv#2_nMb zRLj5;chJ72*U`Z@Dqt4$@_+k$%|8m(HqLG!qT4P^DdfvGf&){gKnGCX#H0!;W=AGP zbA&Z`-__a)VTS}kKFjWGk z%|>yE?t*EJ!qeQ%dPk$;xIQ+P0;()PCBDgjJm6Buj{f^awNoVx+9<|lg3%-$G(*f) zll6oOkN|yamn1uyl2*N-lnqRI1cvs_JxLTeahEK=THV$Sz*gQhKNb*p0fNoda#-&F zB-qJgW^g}!TtM|0bS2QZekW7_tKu%GcJ!4?lObt0z_$mZ4rbQ0o=^curCs3bJK6sq z9fu-aW-l#>z~ca(B;4yv;2RZ?tGYAU)^)Kz{L|4oPj zdOf_?de|#yS)p2v8-N||+XL=O*%3+y)oI(HbM)Ds?q8~HPzIP(vs*G`iddbWq}! z(2!VjP&{Z1w+%eUq^ '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/java/ql/integration-tests/all-platforms/java/android-sample/gradlew.bat b/java/ql/integration-tests/all-platforms/java/android-sample/gradlew.bat deleted file mode 100644 index f127cfd49d4..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample/gradlew.bat +++ /dev/null @@ -1,91 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java/ql/integration-tests/all-platforms/java/android-sample/source_archive.expected b/java/ql/integration-tests/all-platforms/java/android-sample/source_archive.expected new file mode 100644 index 00000000000..70b1edf245a --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/android-sample/source_archive.expected @@ -0,0 +1,26 @@ +.gradle/7.4/dependencies-accessors/gc.properties +.gradle/7.4/gc.properties +.gradle/buildOutputCleanup/cache.properties +.gradle/vcs-1/gc.properties +gradle/wrapper/gradle-wrapper.properties +project/build/generated/source/buildConfig/release/com/github/androidsample/BuildConfig.java +project/build/intermediates/app_metadata/release/app-metadata.properties +project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml +project/build/intermediates/incremental/lintVitalReportRelease/module.xml +project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-dependencies.xml +project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-libraries.xml +project/build/intermediates/incremental/lintVitalReportRelease/release.xml +project/build/intermediates/incremental/mergeReleaseAssets/merger.xml +project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml +project/build/intermediates/incremental/mergeReleaseShaders/merger.xml +project/build/intermediates/incremental/release/mergeReleaseResources/compile-file-map.properties +project/build/intermediates/incremental/release/mergeReleaseResources/merger.xml +project/build/intermediates/merged_manifest/release/AndroidManifest.xml +project/build/intermediates/merged_manifests/release/AndroidManifest.xml +project/build/intermediates/packaged_manifests/release/AndroidManifest.xml +project/src/main/AndroidManifest.xml +project/src/main/java/com/github/androidsample/Main.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/android-sample/test.expected b/java/ql/integration-tests/all-platforms/java/android-sample/test.expected deleted file mode 100644 index 4f191ddaa1a..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample/test.expected +++ /dev/null @@ -1,20 +0,0 @@ -#select -| project/build/generated/source/buildConfig/release/com/github/androidsample/BuildConfig.java:0:0:0:0 | BuildConfig | -| project/src/main/java/com/github/androidsample/Main.java:0:0:0:0 | Main | -xmlFiles -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/module.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/module.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-dependencies.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-dependencies.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-libraries.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/release-mainArtifact-libraries.xml | -| project/build/intermediates/incremental/lintVitalReportRelease/release.xml:0:0:0:0 | project/build/intermediates/incremental/lintVitalReportRelease/release.xml | -| project/build/intermediates/incremental/mergeReleaseAssets/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseAssets/merger.xml | -| project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml | -| project/build/intermediates/incremental/mergeReleaseShaders/merger.xml:0:0:0:0 | project/build/intermediates/incremental/mergeReleaseShaders/merger.xml | -| project/build/intermediates/incremental/release/mergeReleaseResources/merger.xml:0:0:0:0 | project/build/intermediates/incremental/release/mergeReleaseResources/merger.xml | -| project/build/intermediates/merged_manifest/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifest/release/AndroidManifest.xml | -| project/build/intermediates/merged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/merged_manifests/release/AndroidManifest.xml | -| project/build/intermediates/packaged_manifests/release/AndroidManifest.xml:0:0:0:0 | project/build/intermediates/packaged_manifests/release/AndroidManifest.xml | -| project/src/main/AndroidManifest.xml:0:0:0:0 | project/src/main/AndroidManifest.xml | diff --git a/java/ql/integration-tests/all-platforms/java/android-sample/test.py b/java/ql/integration-tests/all-platforms/java/android-sample/test.py index 7f379da0a07..d3399e414e6 100644 --- a/java/ql/integration-tests/all-platforms/java/android-sample/test.py +++ b/java/ql/integration-tests/all-platforms/java/android-sample/test.py @@ -1,7 +1,2 @@ -import sys - -from create_database_utils import * - -try_use_java11() - -run_codeql_database_create([], lang="java") +def test(codeql, use_java_11, java, gradle_7_4, android_sdk): + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/android-sample/test.ql b/java/ql/integration-tests/all-platforms/java/android-sample/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/android-sample/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/ant-sample/test.py b/java/ql/integration-tests/all-platforms/java/ant-sample/test.py index ab8845cbd73..eb49efe6a2a 100644 --- a/java/ql/integration-tests/all-platforms/java/ant-sample/test.py +++ b/java/ql/integration-tests/all-platforms/java/ant-sample/test.py @@ -1,5 +1,2 @@ -import sys - -from create_database_utils import * - -run_codeql_database_create([], lang="java") +def test(codeql, java): + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/buildless-dependency-different-repository/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/buildless-dependency-different-repository/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-dependency-different-repository/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/buildless-dependency-different-repository/test.py b/java/ql/integration-tests/all-platforms/java/buildless-dependency-different-repository/test.py index 6d0437d3ae2..6e0e201d9a2 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-dependency-different-repository/test.py +++ b/java/ql/integration-tests/all-platforms/java/buildless-dependency-different-repository/test.py @@ -1,20 +1,19 @@ -import sys - -from create_database_utils import * -from buildless_test_utils import * import subprocess +import logging -# Each of these serves the "repo" and "repo2" directories on http://localhost:924[89] -repo_server_process = subprocess.Popen(["python3", "-m", "http.server", "9428"], cwd = "repo") -repo_server_process2 = subprocess.Popen(["python3", "-m", "http.server", "9429"], cwd = "repo2") -try: - run_codeql_database_create([], lang="java", extra_args=["--extractor-option=buildless=true"], extra_env={"CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true"}) -finally: - try: - repo_server_process.kill() - except Exception as e: - print("Failed to kill server 1:", e, file = sys.stderr) - repo_server_process2.kill() - -check_buildless_fetches() +def test(codeql, java): + # Each of these serves the "repo" and "repo2" directories on http://localhost:924[89] + repo_server_process = subprocess.Popen(["python3", "-m", "http.server", "9428"], cwd="repo") + repo_server_process2 = subprocess.Popen(["python3", "-m", "http.server", "9429"], cwd="repo2") + try: + codeql.database.create( + extractor_option="buildless=true", + _env={"CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true"}, + ) + finally: + try: + repo_server_process.kill() + except Exception as e: + logging.error("Failed to kill server 1:", e) + repo_server_process2.kill() diff --git a/java/ql/integration-tests/all-platforms/java/buildless-erroneous/test.py b/java/ql/integration-tests/all-platforms/java/buildless-erroneous/test.py index 747dd6a82ad..834b1132cf1 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-erroneous/test.py +++ b/java/ql/integration-tests/all-platforms/java/buildless-erroneous/test.py @@ -1,8 +1,2 @@ -import sys - -from create_database_utils import * -from diagnostics_test_utils import * - -run_codeql_database_create([], lang="java", extra_env={"CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true"}) - -check_diagnostics() +def test(codeql, java): + codeql.database.create(_env={"CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true"}) diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/.gitattributes b/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/.gitattributes deleted file mode 100644 index 097f9f98d9e..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/.gitattributes +++ /dev/null @@ -1,9 +0,0 @@ -# -# https://help.github.com/articles/dealing-with-line-endings/ -# -# Linux start script should use lf -/gradlew text eol=lf - -# These are Windows script files and should use crlf -*.bat text eol=crlf - diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/.gitignore b/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/.gitignore deleted file mode 100644 index 1b6985c0094..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -# Ignore Gradle project-specific cache directory -.gradle - -# Ignore Gradle build output directory -build diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/force_sequential_test_execution deleted file mode 100644 index b0e2500b259..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/force_sequential_test_execution +++ /dev/null @@ -1,3 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/gradle/wrapper/gradle-wrapper.jar b/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7f93135c49b765f8051ef9d0a6055ff8e46073d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63721 zcmb5Wb9gP!wgnp7wrv|bwr$&XvSZt}Z6`anZSUAlc9NHKf9JdJ;NJVr`=eI(_pMp0 zy1VAAG3FfAOI`{X1O)&90s;U4K;XLp008~hCjbEC_fbYfS%6kTR+JtXK>nW$ZR+`W ze|#J8f4A@M|F5BpfUJb5h>|j$jOe}0oE!`Zf6fM>CR?!y@zU(cL8NsKk`a z6tx5mAkdjD;J=LcJ;;Aw8p!v#ouk>mUDZF@ zK>yvw%+bKu+T{Nk@LZ;zkYy0HBKw06_IWcMHo*0HKpTsEFZhn5qCHH9j z)|XpN&{`!0a>Vl+PmdQc)Yg4A(AG-z!+@Q#eHr&g<9D?7E)_aEB?s_rx>UE9TUq|? z;(ggJt>9l?C|zoO@5)tu?EV0x_7T17q4fF-q3{yZ^ipUbKcRZ4Qftd!xO(#UGhb2y>?*@{xq%`(-`2T^vc=#< zx!+@4pRdk&*1ht2OWk^Z5IAQ0YTAXLkL{(D*$gENaD)7A%^XXrCchN&z2x+*>o2FwPFjWpeaL=!tzv#JOW#( z$B)Nel<+$bkH1KZv3&-}=SiG~w2sbDbAWarg%5>YbC|}*d9hBjBkR(@tyM0T)FO$# zPtRXukGPnOd)~z=?avu+4Co@wF}1T)-uh5jI<1$HLtyDrVak{gw`mcH@Q-@wg{v^c zRzu}hMKFHV<8w}o*yg6p@Sq%=gkd~;`_VGTS?L@yVu`xuGy+dH6YOwcP6ZE`_0rK% zAx5!FjDuss`FQ3eF|mhrWkjux(Pny^k$u_)dyCSEbAsecHsq#8B3n3kDU(zW5yE|( zgc>sFQywFj5}U*qtF9Y(bi*;>B7WJykcAXF86@)z|0-Vm@jt!EPoLA6>r)?@DIobIZ5Sx zsc@OC{b|3%vaMbyeM|O^UxEYlEMHK4r)V-{r)_yz`w1*xV0|lh-LQOP`OP`Pk1aW( z8DSlGN>Ts|n*xj+%If~+E_BxK)~5T#w6Q1WEKt{!Xtbd`J;`2a>8boRo;7u2M&iOop4qcy<)z023=oghSFV zST;?S;ye+dRQe>ygiJ6HCv4;~3DHtJ({fWeE~$H@mKn@Oh6Z(_sO>01JwH5oA4nvK zr5Sr^g+LC zLt(i&ecdmqsIJGNOSUyUpglvhhrY8lGkzO=0USEKNL%8zHshS>Qziu|`eyWP^5xL4 zRP122_dCJl>hZc~?58w~>`P_s18VoU|7(|Eit0-lZRgLTZKNq5{k zE?V=`7=R&ro(X%LTS*f+#H-mGo_j3dm@F_krAYegDLk6UV{`UKE;{YSsn$ z(yz{v1@p|p!0>g04!eRSrSVb>MQYPr8_MA|MpoGzqyd*$@4j|)cD_%^Hrd>SorF>@ zBX+V<@vEB5PRLGR(uP9&U&5=(HVc?6B58NJT_igiAH*q~Wb`dDZpJSKfy5#Aag4IX zj~uv74EQ_Q_1qaXWI!7Vf@ZrdUhZFE;L&P_Xr8l@GMkhc#=plV0+g(ki>+7fO%?Jb zl+bTy7q{w^pTb{>(Xf2q1BVdq?#f=!geqssXp z4pMu*q;iiHmA*IjOj4`4S&|8@gSw*^{|PT}Aw~}ZXU`6=vZB=GGeMm}V6W46|pU&58~P+?LUs%n@J}CSrICkeng6YJ^M? zS(W?K4nOtoBe4tvBXs@@`i?4G$S2W&;$z8VBSM;Mn9 zxcaEiQ9=vS|bIJ>*tf9AH~m&U%2+Dim<)E=}KORp+cZ^!@wI`h1NVBXu{@%hB2Cq(dXx_aQ9x3mr*fwL5!ZryQqi|KFJuzvP zK1)nrKZ7U+B{1ZmJub?4)Ln^J6k!i0t~VO#=q1{?T)%OV?MN}k5M{}vjyZu#M0_*u z8jwZKJ#Df~1jcLXZL7bnCEhB6IzQZ-GcoQJ!16I*39iazoVGugcKA{lhiHg4Ta2fD zk1Utyc5%QzZ$s3;p0N+N8VX{sd!~l*Ta3|t>lhI&G`sr6L~G5Lul`>m z{!^INm?J|&7X=;{XveF!(b*=?9NAp4y&r&N3(GKcW4rS(Ejk|Lzs1PrxPI_owB-`H zg3(Rruh^&)`TKA6+_!n>RdI6pw>Vt1_j&+bKIaMTYLiqhZ#y_=J8`TK{Jd<7l9&sY z^^`hmi7^14s16B6)1O;vJWOF$=$B5ONW;;2&|pUvJlmeUS&F;DbSHCrEb0QBDR|my zIs+pE0Y^`qJTyH-_mP=)Y+u^LHcuZhsM3+P||?+W#V!_6E-8boP#R-*na4!o-Q1 zVthtYhK{mDhF(&7Okzo9dTi03X(AE{8cH$JIg%MEQca`S zy@8{Fjft~~BdzWC(di#X{ny;!yYGK9b@=b|zcKZ{vv4D8i+`ilOPl;PJl{!&5-0!w z^fOl#|}vVg%=n)@_e1BrP)`A zKPgs`O0EO}Y2KWLuo`iGaKu1k#YR6BMySxQf2V++Wo{6EHmK>A~Q5o73yM z-RbxC7Qdh0Cz!nG+7BRZE>~FLI-?&W_rJUl-8FDIaXoNBL)@1hwKa^wOr1($*5h~T zF;%f^%<$p8Y_yu(JEg=c_O!aZ#)Gjh$n(hfJAp$C2he555W5zdrBqjFmo|VY+el;o z=*D_w|GXG|p0**hQ7~9-n|y5k%B}TAF0iarDM!q-jYbR^us(>&y;n^2l0C%@2B}KM zyeRT9)oMt97Agvc4sEKUEy%MpXr2vz*lb zh*L}}iG>-pqDRw7ud{=FvTD?}xjD)w{`KzjNom-$jS^;iw0+7nXSnt1R@G|VqoRhE%12nm+PH?9`(4rM0kfrZzIK9JU=^$YNyLvAIoxl#Q)xxDz!^0@zZ zSCs$nfcxK_vRYM34O<1}QHZ|hp4`ioX3x8(UV(FU$J@o%tw3t4k1QPmlEpZa2IujG&(roX_q*%e`Hq|);0;@k z0z=fZiFckp#JzW0p+2A+D$PC~IsakhJJkG(c;CqAgFfU0Z`u$PzG~-9I1oPHrCw&)@s^Dc~^)#HPW0Ra}J^=|h7Fs*<8|b13ZzG6MP*Q1dkoZ6&A^!}|hbjM{2HpqlSXv_UUg1U4gn z3Q)2VjU^ti1myodv+tjhSZp%D978m~p& z43uZUrraHs80Mq&vcetqfQpQP?m!CFj)44t8Z}k`E798wxg&~aCm+DBoI+nKq}&j^ zlPY3W$)K;KtEajks1`G?-@me7C>{PiiBu+41#yU_c(dITaqE?IQ(DBu+c^Ux!>pCj zLC|HJGU*v+!it1(;3e`6igkH(VA)-S+k(*yqxMgUah3$@C zz`7hEM47xr>j8^g`%*f=6S5n>z%Bt_Fg{Tvmr+MIsCx=0gsu_sF`q2hlkEmisz#Fy zj_0;zUWr;Gz}$BS%Y`meb(=$d%@Crs(OoJ|}m#<7=-A~PQbyN$x%2iXP2@e*nO0b7AwfH8cCUa*Wfu@b)D_>I*%uE4O3 z(lfnB`-Xf*LfC)E}e?%X2kK7DItK6Tf<+M^mX0Ijf_!IP>7c8IZX%8_#0060P{QMuV^B9i<^E`_Qf0pv9(P%_s8D`qvDE9LK9u-jB}J2S`(mCO&XHTS04Z5Ez*vl^T%!^$~EH8M-UdwhegL>3IQ*)(MtuH2Xt1p!fS4o~*rR?WLxlA!sjc2(O znjJn~wQ!Fp9s2e^IWP1C<4%sFF}T4omr}7+4asciyo3DntTgWIzhQpQirM$9{EbQd z3jz9vS@{aOqTQHI|l#aUV@2Q^Wko4T0T04Me4!2nsdrA8QY1%fnAYb~d2GDz@lAtfcHq(P7 zaMBAGo}+NcE-K*@9y;Vt3*(aCaMKXBB*BJcD_Qnxpt75r?GeAQ}*|>pYJE=uZb73 zC>sv)18)q#EGrTG6io*}JLuB_jP3AU1Uiu$D7r|2_zlIGb9 zjhst#ni)Y`$)!fc#reM*$~iaYoz~_Cy7J3ZTiPm)E?%`fbk`3Tu-F#`{i!l5pNEn5 zO-Tw-=TojYhzT{J=?SZj=Z8#|eoF>434b-DXiUsignxXNaR3 zm_}4iWU$gt2Mw5NvZ5(VpF`?X*f2UZDs1TEa1oZCif?Jdgr{>O~7}-$|BZ7I(IKW`{f;@|IZFX*R8&iT= zoWstN8&R;}@2Ka%d3vrLtR|O??ben;k8QbS-WB0VgiCz;<$pBmIZdN!aalyCSEm)crpS9dcD^Y@XT1a3+zpi-`D}e#HV<} z$Y(G&o~PvL-xSVD5D?JqF3?B9rxGWeb=oEGJ3vRp5xfBPlngh1O$yI95EL+T8{GC@ z98i1H9KhZGFl|;`)_=QpM6H?eDPpw~^(aFQWwyXZ8_EEE4#@QeT_URray*mEOGsGc z6|sdXtq!hVZo=d#+9^@lm&L5|q&-GDCyUx#YQiccq;spOBe3V+VKdjJA=IL=Zn%P} zNk=_8u}VhzFf{UYZV0`lUwcD&)9AFx0@Fc6LD9A6Rd1=ga>Mi0)_QxM2ddCVRmZ0d z+J=uXc(?5JLX3=)e)Jm$HS2yF`44IKhwRnm2*669_J=2LlwuF5$1tAo@ROSU@-y+;Foy2IEl2^V1N;fk~YR z?&EP8#t&m0B=?aJeuz~lHjAzRBX>&x=A;gIvb>MD{XEV zV%l-+9N-)i;YH%nKP?>f`=?#`>B(`*t`aiPLoQM(a6(qs4p5KFjDBN?8JGrf3z8>= zi7sD)c)Nm~x{e<^jy4nTx${P~cwz_*a>%0_;ULou3kHCAD7EYkw@l$8TN#LO9jC( z1BeFW`k+bu5e8Ns^a8dPcjEVHM;r6UX+cN=Uy7HU)j-myRU0wHd$A1fNI~`4;I~`zC)3ul#8#^rXVSO*m}Ag>c%_;nj=Nv$rCZ z*~L@C@OZg%Q^m)lc-kcX&a*a5`y&DaRxh6O*dfhLfF+fU5wKs(1v*!TkZidw*)YBP za@r`3+^IHRFeO%!ai%rxy;R;;V^Fr=OJlpBX;(b*3+SIw}7= zIq$*Thr(Zft-RlY)D3e8V;BmD&HOfX+E$H#Y@B3?UL5L~_fA-@*IB-!gItK7PIgG9 zgWuGZK_nuZjHVT_Fv(XxtU%)58;W39vzTI2n&)&4Dmq7&JX6G>XFaAR{7_3QB6zsT z?$L8c*WdN~nZGiscY%5KljQARN;`w$gho=p006z;n(qIQ*Zu<``TMO3n0{ARL@gYh zoRwS*|Niw~cR!?hE{m*y@F`1)vx-JRfqET=dJ5_(076st(=lFfjtKHoYg`k3oNmo_ zNbQEw8&sO5jAYmkD|Zaz_yUb0rC})U!rCHOl}JhbYIDLzLvrZVw0~JO`d*6f;X&?V=#T@ND*cv^I;`sFeq4 z##H5;gpZTb^0Hz@3C*~u0AqqNZ-r%rN3KD~%Gw`0XsIq$(^MEb<~H(2*5G^<2(*aI z%7}WB+TRlMIrEK#s0 z93xn*Ohb=kWFc)BNHG4I(~RPn-R8#0lqyBBz5OM6o5|>x9LK@%HaM}}Y5goCQRt2C z{j*2TtT4ne!Z}vh89mjwiSXG=%DURar~=kGNNaO_+Nkb+tRi~Rkf!7a$*QlavziD( z83s4GmQ^Wf*0Bd04f#0HX@ua_d8 z23~z*53ePD6@xwZ(vdl0DLc=>cPIOPOdca&MyR^jhhKrdQO?_jJh`xV3GKz&2lvP8 zEOwW6L*ufvK;TN{=S&R@pzV^U=QNk^Ec}5H z+2~JvEVA{`uMAr)?Kf|aW>33`)UL@bnfIUQc~L;TsTQ6>r-<^rB8uoNOJ>HWgqMI8 zSW}pZmp_;z_2O5_RD|fGyTxaxk53Hg_3Khc<8AUzV|ZeK{fp|Ne933=1&_^Dbv5^u zB9n=*)k*tjHDRJ@$bp9mrh}qFn*s}npMl5BMDC%Hs0M0g-hW~P*3CNG06G!MOPEQ_ zi}Qs-6M8aMt;sL$vlmVBR^+Ry<64jrm1EI1%#j?c?4b*7>)a{aDw#TfTYKq+SjEFA z(aJ&z_0?0JB83D-i3Vh+o|XV4UP+YJ$9Boid2^M2en@APw&wx7vU~t$r2V`F|7Qfo z>WKgI@eNBZ-+Og<{u2ZiG%>YvH2L3fNpV9J;WLJoBZda)01Rn;o@){01{7E#ke(7U zHK>S#qZ(N=aoae*4X!0A{)nu0R_sKpi1{)u>GVjC+b5Jyl6#AoQ-1_3UDovNSo`T> z?c-@7XX*2GMy?k?{g)7?Sv;SJkmxYPJPs!&QqB12ejq`Lee^-cDveVWL^CTUldb(G zjDGe(O4P=S{4fF=#~oAu>LG>wrU^z_?3yt24FOx>}{^lCGh8?vtvY$^hbZ)9I0E3r3NOlb9I?F-Yc=r$*~l`4N^xzlV~N zl~#oc>U)Yjl0BxV>O*Kr@lKT{Z09OXt2GlvE38nfs+DD7exl|&vT;)>VFXJVZp9Np zDK}aO;R3~ag$X*|hRVY3OPax|PG`@_ESc8E!mHRByJbZQRS38V2F__7MW~sgh!a>98Q2%lUNFO=^xU52|?D=IK#QjwBky-C>zOWlsiiM&1n z;!&1((Xn1$9K}xabq~222gYvx3hnZPg}VMF_GV~5ocE=-v>V=T&RsLBo&`)DOyIj* zLV{h)JU_y*7SdRtDajP_Y+rBkNN*1_TXiKwHH2&p51d(#zv~s#HwbNy?<+(=9WBvo zw2hkk2Dj%kTFhY+$T+W-b7@qD!bkfN#Z2ng@Pd=i3-i?xYfs5Z*1hO?kd7Sp^9`;Y zM2jeGg<-nJD1er@Pc_cSY7wo5dzQX44=%6rn}P_SRbpzsA{6B+!$3B0#;}qwO37G^ zL(V_5JK`XT?OHVk|{_$vQ|oNEpab*BO4F zUTNQ7RUhnRsU`TK#~`)$icsvKh~(pl=3p6m98@k3P#~upd=k*u20SNcb{l^1rUa)>qO997)pYRWMncC8A&&MHlbW?7i^7M`+B$hH~Y|J zd>FYOGQ;j>Zc2e7R{KK7)0>>nn_jYJy&o@sK!4G>-rLKM8Hv)f;hi1D2fAc$+six2 zyVZ@wZ6x|fJ!4KrpCJY=!Mq0;)X)OoS~{Lkh6u8J`eK%u0WtKh6B>GW_)PVc zl}-k`p09qwGtZ@VbYJC!>29V?Dr>>vk?)o(x?!z*9DJ||9qG-&G~#kXxbw{KKYy}J zQKa-dPt~M~E}V?PhW0R26xdA%1T*%ra6SguGu50YHngOTIv)@N|YttEXo#OZfgtP7;H?EeZZxo<}3YlYxtBq znJ!WFR^tmGf0Py}N?kZ(#=VtpC@%xJkDmfcCoBTxq zr_|5gP?u1@vJZbxPZ|G0AW4=tpb84gM2DpJU||(b8kMOV1S3|(yuwZJ&rIiFW(U;5 zUtAW`O6F6Zy+eZ1EDuP~AAHlSY-+A_eI5Gx)%*uro5tljy}kCZU*_d7)oJ>oQSZ3* zneTn`{gnNC&uJd)0aMBzAg021?YJ~b(fmkwZAd696a=0NzBAqBN54KuNDwa*no(^O z6p05bioXUR^uXjpTol*ppHp%1v9e)vkoUAUJyBx3lw0UO39b0?^{}yb!$yca(@DUn zCquRF?t=Zb9`Ed3AI6|L{eX~ijVH`VzSMheKoP7LSSf4g>md>`yi!TkoG5P>Ofp+n z(v~rW+(5L96L{vBb^g51B=(o)?%%xhvT*A5btOpw(TKh^g^4c zw>0%X!_0`{iN%RbVk+A^f{w-4-SSf*fu@FhruNL##F~sF24O~u zyYF<3el2b$$wZ_|uW#@Ak+VAGk#e|kS8nL1g>2B-SNMjMp^8;-FfeofY2fphFHO!{ z*!o4oTb{4e;S<|JEs<1_hPsmAlVNk?_5-Fp5KKU&d#FiNW~Y+pVFk@Cua1I{T+1|+ zHx6rFMor)7L)krbilqsWwy@T+g3DiH5MyVf8Wy}XbEaoFIDr~y;@r&I>FMW{ z?Q+(IgyebZ)-i4jNoXQhq4Muy9Fv+OxU;9_Jmn+<`mEC#%2Q_2bpcgzcinygNI!&^ z=V$)o2&Yz04~+&pPWWn`rrWxJ&}8khR)6B(--!9Q zubo}h+1T)>a@c)H^i``@<^j?|r4*{;tQf78(xn0g39IoZw0(CwY1f<%F>kEaJ zp9u|IeMY5mRdAlw*+gSN^5$Q)ShM<~E=(c8QM+T-Qk)FyKz#Sw0EJ*edYcuOtO#~Cx^(M7w5 z3)rl#L)rF|(Vun2LkFr!rg8Q@=r>9p>(t3Gf_auiJ2Xx9HmxYTa|=MH_SUlYL`mz9 zTTS$`%;D-|Jt}AP1&k7PcnfFNTH0A-*FmxstjBDiZX?}%u%Yq94$fUT&z6od+(Uk> zuqsld#G(b$G8tus=M!N#oPd|PVFX)?M?tCD0tS%2IGTfh}3YA3f&UM)W$_GNV8 zQo+a(ml2Km4o6O%gKTCSDNq+#zCTIQ1*`TIJh~k6Gp;htHBFnne))rlFdGqwC6dx2+La1&Mnko*352k0y z+tQcwndQlX`nc6nb$A9?<-o|r*%aWXV#=6PQic0Ok_D;q>wbv&j7cKc!w4~KF#-{6 z(S%6Za)WpGIWf7jZ3svNG5OLs0>vCL9{V7cgO%zevIVMH{WgP*^D9ws&OqA{yr|m| zKD4*07dGXshJHd#e%x%J+qmS^lS|0Bp?{drv;{@{l9ArPO&?Q5=?OO9=}h$oVe#3b z3Yofj&Cb}WC$PxmRRS)H%&$1-)z7jELS}!u!zQ?A^Y{Tv4QVt*vd@uj-^t2fYRzQj zfxGR>-q|o$3sGn^#VzZ!QQx?h9`njeJry}@x?|k0-GTTA4y3t2E`3DZ!A~D?GiJup z)8%PK2^9OVRlP(24P^4_<|D=H^7}WlWu#LgsdHzB%cPy|f8dD3|A^mh4WXxhLTVu_ z@abE{6Saz|Y{rXYPd4$tfPYo}ef(oQWZ=4Bct-=_9`#Qgp4ma$n$`tOwq#&E18$B; z@Bp)bn3&rEi0>fWWZ@7k5WazfoX`SCO4jQWwVuo+$PmSZn^Hz?O(-tW@*DGxuf)V1 zO_xm&;NVCaHD4dqt(-MlszI3F-p?0!-e$fbiCeuaw66h^TTDLWuaV<@C-`=Xe5WL) zwooG7h>4&*)p3pKMS3O!4>-4jQUN}iAMQ)2*70?hP~)TzzR?-f@?Aqy$$1Iy8VGG$ zMM?8;j!pUX7QQD$gRc_#+=raAS577ga-w?jd`vCiN5lu)dEUkkUPl9!?{$IJNxQys z*E4e$eF&n&+AMRQR2gcaFEjAy*r)G!s(P6D&TfoApMFC_*Ftx0|D0@E-=B7tezU@d zZ{hGiN;YLIoSeRS;9o%dEua4b%4R3;$SugDjP$x;Z!M!@QibuSBb)HY!3zJ7M;^jw zlx6AD50FD&p3JyP*>o+t9YWW8(7P2t!VQQ21pHJOcG_SXQD;(5aX#M6x##5H_Re>6lPyDCjxr*R(+HE%c&QN+b^tbT zXBJk?p)zhJj#I?&Y2n&~XiytG9!1ox;bw5Rbj~)7c(MFBb4>IiRATdhg zmiEFlj@S_hwYYI(ki{}&<;_7(Z0Qkfq>am z&LtL=2qc7rWguk3BtE4zL41@#S;NN*-jWw|7Kx7H7~_%7fPt;TIX}Ubo>;Rmj94V> zNB1=;-9AR7s`Pxn}t_6^3ahlq53e&!Lh85uG zec0vJY_6e`tg7LgfrJ3k!DjR)Bi#L@DHIrZ`sK=<5O0Ip!fxGf*OgGSpP@Hbbe&$9 z;ZI}8lEoC2_7;%L2=w?tb%1oL0V+=Z`7b=P&lNGY;yVBazXRYu;+cQDKvm*7NCxu&i;zub zAJh#11%?w>E2rf2e~C4+rAb-&$^vsdACs7 z@|Ra!OfVM(ke{vyiqh7puf&Yp6cd6{DptUteYfIRWG3pI+5< zBVBI_xkBAc<(pcb$!Y%dTW(b;B;2pOI-(QCsLv@U-D1XJ z(Gk8Q3l7Ws46Aktuj>|s{$6zA&xCPuXL-kB`CgYMs}4IeyG*P51IDwW?8UNQd+$i~ zlxOPtSi5L|gJcF@DwmJA5Ju8HEJ>o{{upwIpb!f{2(vLNBw`7xMbvcw<^{Fj@E~1( z?w`iIMieunS#>nXlmUcSMU+D3rX28f?s7z;X=se6bo8;5vM|O^(D6{A9*ChnGH!RG zP##3>LDC3jZPE4PH32AxrqPk|yIIrq~`aL-=}`okhNu9aT%q z1b)7iJ)CN=V#Ly84N_r7U^SH2FGdE5FpTO2 z630TF$P>GNMu8`rOytb(lB2};`;P4YNwW1<5d3Q~AX#P0aX}R2b2)`rgkp#zTxcGj zAV^cvFbhP|JgWrq_e`~exr~sIR$6p5V?o4Wym3kQ3HA+;Pr$bQ0(PmADVO%MKL!^q z?zAM8j1l4jrq|5X+V!8S*2Wl@=7*pPgciTVK6kS1Ge zMsd_u6DFK$jTnvVtE;qa+8(1sGBu~n&F%dh(&c(Zs4Fc#A=gG^^%^AyH}1^?|8quj zl@Z47h$){PlELJgYZCIHHL= z{U8O>Tw4x3<1{?$8>k-P<}1y9DmAZP_;(3Y*{Sk^H^A=_iSJ@+s5ktgwTXz_2$~W9>VVZsfwCm@s0sQ zeB50_yu@uS+e7QoPvdCwDz{prjo(AFwR%C?z`EL{1`|coJHQTk^nX=tvs1<0arUOJ z!^`*x&&BvTYmemyZ)2p~{%eYX=JVR?DYr(rNgqRMA5E1PR1Iw=prk=L2ldy3r3Vg@27IZx43+ywyzr-X*p*d@tZV+!U#~$-q=8c zgdSuh#r?b4GhEGNai)ayHQpk>5(%j5c@C1K3(W1pb~HeHpaqijJZa-e6vq_8t-^M^ zBJxq|MqZc?pjXPIH}70a5vt!IUh;l}<>VX<-Qcv^u@5(@@M2CHSe_hD$VG-eiV^V( zj7*9T0?di?P$FaD6oo?)<)QT>Npf6Og!GO^GmPV(Km0!=+dE&bk#SNI+C9RGQ|{~O*VC+tXK3!n`5 zHfl6>lwf_aEVV3`0T!aHNZLsj$paS$=LL(?b!Czaa5bbSuZ6#$_@LK<(7yrrl+80| z{tOFd=|ta2Z`^ssozD9BINn45NxUeCQis?-BKmU*Kt=FY-NJ+)8S1ecuFtN-M?&42 zl2$G>u!iNhAk*HoJ^4v^9#ORYp5t^wDj6|lx~5w45#E5wVqI1JQ~9l?nPp1YINf++ zMAdSif~_ETv@Er(EFBI^@L4BULFW>)NI+ejHFP*T}UhWNN`I)RRS8za? z*@`1>9ZB}An%aT5K=_2iQmfE;GcBVHLF!$`I99o5GO`O%O_zLr9AG18>&^HkG(;=V z%}c!OBQ~?MX(9h~tajX{=x)+!cbM7$YzTlmsPOdp2L-?GoW`@{lY9U3f;OUo*BwRB z8A+nv(br0-SH#VxGy#ZrgnGD(=@;HME;yd46EgWJ`EL%oXc&lFpc@Y}^>G(W>h_v_ zlN!`idhX+OjL+~T?19sroAFVGfa5tX-D49w$1g2g_-T|EpHL6}K_aX4$K=LTvwtlF zL*z}j{f+Uoe7{-px3_5iKPA<_7W=>Izkk)!l9ez2w%vi(?Y;i8AxRNLSOGDzNoqoI zP!1uAl}r=_871(G?y`i&)-7{u=%nxk7CZ_Qh#!|ITec zwQn`33GTUM`;D2POWnkqngqJhJRlM>CTONzTG}>^Q0wUunQyn|TAiHzyX2_%ATx%P z%7gW)%4rA9^)M<_%k@`Y?RbC<29sWU&5;@|9thf2#zf8z12$hRcZ!CSb>kUp=4N#y zl3hE#y6>kkA8VY2`W`g5Ip?2qC_BY$>R`iGQLhz2-S>x(RuWv)SPaGdl^)gGw7tjR zH@;jwk!jIaCgSg_*9iF|a);sRUTq30(8I(obh^|}S~}P4U^BIGYqcz;MPpC~Y@k_m zaw4WG1_vz2GdCAX!$_a%GHK**@IrHSkGoN>)e}>yzUTm52on`hYot7cB=oA-h1u|R ztH$11t?54Qg2L+i33FPFKKRm1aOjKST{l1*(nps`>sv%VqeVMWjl5+Gh+9);hIP8? zA@$?}Sc z3qIRpba+y5yf{R6G(u8Z^vkg0Fu&D-7?1s=QZU`Ub{-!Y`I?AGf1VNuc^L3v>)>i# z{DV9W$)>34wnzAXUiV^ZpYKw>UElrN_5Xj6{r_3| z$X5PK`e5$7>~9Dj7gK5ash(dvs`vwfk}&RD`>04;j62zoXESkFBklYaKm5seyiX(P zqQ-;XxlV*yg?Dhlx%xt!b0N3GHp@(p$A;8|%# zZ5m2KL|{on4nr>2_s9Yh=r5ScQ0;aMF)G$-9-Ca6%wA`Pa)i?NGFA|#Yi?{X-4ZO_ z^}%7%vkzvUHa$-^Y#aA+aiR5sa%S|Ebyn`EV<3Pc?ax_f>@sBZF1S;7y$CXd5t5=WGsTKBk8$OfH4v|0?0I=Yp}7c=WBSCg!{0n)XmiU;lfx)**zZaYqmDJelxk$)nZyx5`x$6R|fz(;u zEje5Dtm|a%zK!!tk3{i9$I2b{vXNFy%Bf{50X!x{98+BsDr_u9i>G5%*sqEX|06J0 z^IY{UcEbj6LDwuMh7cH`H@9sVt1l1#8kEQ(LyT@&+K}(ReE`ux8gb0r6L_#bDUo^P z3Ka2lRo52Hdtl_%+pwVs14=q`{d^L58PsU@AMf(hENumaxM{7iAT5sYmWh@hQCO^ zK&}ijo=`VqZ#a3vE?`7QW0ZREL17ZvDfdqKGD?0D4fg{7v%|Yj&_jcKJAB)>=*RS* zto8p6@k%;&^ZF>hvXm&$PCuEp{uqw3VPG$9VMdW5$w-fy2CNNT>E;>ejBgy-m_6`& z97L1p{%srn@O_JQgFpa_#f(_)eb#YS>o>q3(*uB;uZb605(iqM$=NK{nHY=+X2*G) zO3-_Xh%aG}fHWe*==58zBwp%&`mge<8uq8;xIxOd=P%9EK!34^E9sk|(Zq1QSz-JVeP12Fp)-`F|KY$LPwUE?rku zY@OJ)Z9A!ojfzfeyJ9;zv2EM7ZQB)AR5xGa-tMn^bl)FmoIiVyJ@!~@%{}qXXD&Ns zPnfe5U+&ohKefILu_1mPfLGuapX@btta5C#gPB2cjk5m4T}Nfi+Vfka!Yd(L?-c~5 z#ZK4VeQEXNPc4r$K00Fg>g#_W!YZ)cJ?JTS<&68_$#cZT-ME`}tcwqg3#``3M3UPvn+pi}(VNNx6y zFIMVb6OwYU(2`at$gHba*qrMVUl8xk5z-z~fb@Q3Y_+aXuEKH}L+>eW__!IAd@V}L zkw#s%H0v2k5-=vh$^vPCuAi22Luu3uKTf6fPo?*nvj$9(u)4$6tvF-%IM+3pt*cgs z_?wW}J7VAA{_~!?))?s6{M=KPpVhg4fNuU*|3THp@_(q!b*hdl{fjRVFWtu^1dV(f z6iOux9hi&+UK=|%M*~|aqFK{Urfl!TA}UWY#`w(0P!KMe1Si{8|o))Gy6d7;!JQYhgMYmXl?3FfOM2nQGN@~Ap6(G z3+d_5y@=nkpKAhRqf{qQ~k7Z$v&l&@m7Ppt#FSNzKPZM z8LhihcE6i=<(#87E|Wr~HKvVWhkll4iSK$^mUHaxgy8*K$_Zj;zJ`L$naPj+^3zTi z-3NTaaKnD5FPY-~?Tq6QHnmDDRxu0mh0D|zD~Y=vv_qig5r-cIbCpxlju&8Sya)@{ zsmv6XUSi)@(?PvItkiZEeN*)AE~I_?#+Ja-r8$(XiXei2d@Hi7Rx8+rZZb?ZLa{;@*EHeRQ-YDadz~M*YCM4&F-r;E#M+@CSJMJ0oU|PQ^ z=E!HBJDMQ2TN*Y(Ag(ynAL8%^v;=~q?s4plA_hig&5Z0x_^Oab!T)@6kRN$)qEJ6E zNuQjg|G7iwU(N8pI@_6==0CL;lRh1dQF#wePhmu@hADFd3B5KIH#dx(2A zp~K&;Xw}F_N6CU~0)QpQk7s$a+LcTOj1%=WXI(U=Dv!6 z{#<#-)2+gCyyv=Jw?Ab#PVkxPDeH|sAxyG`|Ys}A$PW4TdBv%zDz z^?lwrxWR<%Vzc8Sgt|?FL6ej_*e&rhqJZ3Y>k=X(^dytycR;XDU16}Pc9Vn0>_@H+ zQ;a`GSMEG64=JRAOg%~L)x*w{2re6DVprNp+FcNra4VdNjiaF0M^*>CdPkt(m150rCue?FVdL0nFL$V%5y6N z%eLr5%YN7D06k5ji5*p4v$UMM)G??Q%RB27IvH7vYr_^3>1D-M66#MN8tWGw>WED} z5AhlsanO=STFYFs)Il_0i)l)f<8qn|$DW7ZXhf5xI;m+7M5-%P63XFQrG9>DMqHc} zsgNU9nR`b}E^mL5=@7<1_R~j@q_2U^3h|+`7YH-?C=vme1C3m`Fe0HC>pjt6f_XMh zy~-i-8R46QNYneL4t@)<0VU7({aUO?aH`z4V2+kxgH5pYD5)wCh75JqQY)jIPN=U6 z+qi8cGiOtXG2tXm;_CfpH9ESCz#i5B(42}rBJJF$jh<1sbpj^8&L;gzGHb8M{of+} zzF^8VgML2O9nxBW7AvdEt90vp+#kZxWf@A)o9f9}vKJy9NDBjBW zSt=Hcs=YWCwnfY1UYx*+msp{g!w0HC<_SM!VL1(I2PE?CS}r(eh?{I)mQixmo5^p# zV?2R!R@3GV6hwTCrfHiK#3Orj>I!GS2kYhk1S;aFBD_}u2v;0HYFq}Iz1Z(I4oca4 zxquja8$+8JW_EagDHf$a1OTk5S97umGSDaj)gH=fLs9>_=XvVj^Xj9a#gLdk=&3tl zfmK9MNnIX9v{?%xdw7568 zNrZ|roYs(vC4pHB5RJ8>)^*OuyNC>x7ad)tB_}3SgQ96+-JT^Qi<`xi=)_=$Skwv~ zdqeT9Pa`LYvCAn&rMa2aCDV(TMI#PA5g#RtV|CWpgDYRA^|55LLN^uNh*gOU>Z=a06qJ;$C9z8;n-Pq=qZnc1zUwJ@t)L;&NN+E5m zRkQ(SeM8=l-aoAKGKD>!@?mWTW&~)uF2PYUJ;tB^my`r9n|Ly~0c%diYzqs9W#FTjy?h&X3TnH zXqA{QI82sdjPO->f=^K^f>N`+B`q9&rN0bOXO79S&a9XX8zund(kW7O76f4dcWhIu zER`XSMSFbSL>b;Rp#`CuGJ&p$s~G|76){d?xSA5wVg##_O0DrmyEYppyBr%fyWbbv zp`K84JwRNP$d-pJ!Qk|(RMr?*!wi1if-9G#0p>>1QXKXWFy)eB3ai)l3601q8!9JC zvU#ZWWDNKq9g6fYs?JQ)Q4C_cgTy3FhgKb8s&m)DdmL5zhNK#8wWg!J*7G7Qhe9VU zha?^AQTDpYcuN!B+#1dE*X{<#!M%zfUQbj=zLE{dW0XeQ7-oIsGY6RbkP2re@Q{}r_$iiH0xU%iN*ST`A)-EH6eaZB$GA#v)cLi z*MpA(3bYk$oBDKAzu^kJoSUsDd|856DApz={3u8sbQV@JnRkp2nC|)m;#T=DvIL-O zI4vh;g7824l}*`_p@MT4+d`JZ2%6NQh=N9bmgJ#q!hK@_<`HQq3}Z8Ij>3%~<*= zcv=!oT#5xmeGI92lqm9sGVE%#X$ls;St|F#u!?5Y7syhx6q#MVRa&lBmmn%$C0QzU z);*ldgwwCmzM3uglr}!Z2G+?& zf%Dpo&mD%2ZcNFiN-Z0f;c_Q;A%f@>26f?{d1kxIJD}LxsQkB47SAdwinfMILZdN3 zfj^HmTzS3Ku5BxY>ANutS8WPQ-G>v4^_Qndy==P3pDm+Xc?>rUHl-4+^%Sp5atOja z2oP}ftw-rqnb}+khR3CrRg^ibi6?QYk1*i^;kQGirQ=uB9Sd1NTfT-Rbv;hqnY4neE5H1YUrjS2m+2&@uXiAo- zrKUX|Ohg7(6F(AoP~tj;NZlV#xsfo-5reuQHB$&EIAhyZk;bL;k9ouDmJNBAun;H& zn;Of1z_Qj`x&M;5X;{s~iGzBQTY^kv-k{ksbE*Dl%Qf%N@hQCfY~iUw!=F-*$cpf2 z3wix|aLBV0b;W@z^%7S{>9Z^T^fLOI68_;l@+Qzaxo`nAI8emTV@rRhEKZ z?*z_{oGdI~R*#<2{bkz$G~^Qef}$*4OYTgtL$e9q!FY7EqxJ2`zk6SQc}M(k(_MaV zSLJnTXw&@djco1~a(vhBl^&w=$fa9{Sru>7g8SHahv$&Bl(D@(Zwxo_3r=;VH|uc5 zi1Ny)J!<(KN-EcQ(xlw%PNwK8U>4$9nVOhj(y0l9X^vP1TA>r_7WtSExIOsz`nDOP zs}d>Vxb2Vo2e5x8p(n~Y5ggAyvib>d)6?)|E@{FIz?G3PVGLf7-;BxaP;c?7ddH$z zA+{~k^V=bZuXafOv!RPsE1GrR3J2TH9uB=Z67gok+u`V#}BR86hB1xl}H4v`F+mRfr zYhortD%@IGfh!JB(NUNSDh+qDz?4ztEgCz&bIG-Wg7w-ua4ChgQR_c+z8dT3<1?uX z*G(DKy_LTl*Ea!%v!RhpCXW1WJO6F`bgS-SB;Xw9#! z<*K}=#wVu9$`Yo|e!z-CPYH!nj7s9dEPr-E`DXUBu0n!xX~&|%#G=BeM?X@shQQMf zMvr2!y7p_gD5-!Lnm|a@z8Of^EKboZsTMk%5VsJEm>VsJ4W7Kv{<|#4f-qDE$D-W>gWT%z-!qXnDHhOvLk=?^a1*|0j z{pW{M0{#1VcR5;F!!fIlLVNh_Gj zbnW(_j?0c2q$EHIi@fSMR{OUKBcLr{Y&$hrM8XhPByyZaXy|dd&{hYQRJ9@Fn%h3p7*VQolBIV@Eq`=y%5BU~3RPa^$a?ixp^cCg z+}Q*X+CW9~TL29@OOng(#OAOd!)e$d%sr}^KBJ-?-X&|4HTmtemxmp?cT3uA?md4% zT8yZ0U;6Rg6JHy3fJae{6TMGS?ZUX6+gGTT{Q{)SI85$5FD{g-eR%O0KMpWPY`4@O zx!hen1*8^E(*}{m^V_?}(b5k3hYo=T+$&M32+B`}81~KKZhY;2H{7O-M@vbCzuX0n zW-&HXeyr1%I3$@ns-V1~Lb@wIpkmx|8I~ob1Of7i6BTNysEwI}=!nU%q7(V_^+d*G z7G;07m(CRTJup!`cdYi93r^+LY+`M*>aMuHJm(A8_O8C#A*$!Xvddgpjx5)?_EB*q zgE8o5O>e~9IiSC@WtZpF{4Bj2J5eZ>uUzY%TgWF7wdDE!fSQIAWCP)V{;HsU3ap?4 znRsiiDbtN7i9hapO;(|Ew>Ip2TZSvK9Z^N21%J?OiA_&eP1{(Pu_=%JjKy|HOardq ze?zK^K zA%sjF64*Wufad%H<) z^|t>e*h+Z1#l=5wHexzt9HNDNXgM=-OPWKd^5p!~%SIl>Fo&7BvNpbf8{NXmH)o{r zO=aBJ;meX1^{O%q;kqdw*5k!Y7%t_30 zy{nGRVc&5qt?dBwLs+^Sfp;f`YVMSB#C>z^a9@fpZ!xb|b-JEz1LBX7ci)V@W+kvQ89KWA0T~Lj$aCcfW#nD5bt&Y_< z-q{4ZXDqVg?|0o)j1%l0^_it0WF*LCn-+)c!2y5yS7aZIN$>0LqNnkujV*YVes(v$ zY@_-!Q;!ZyJ}Bg|G-~w@or&u0RO?vlt5*9~yeoPV_UWrO2J54b4#{D(D>jF(R88u2 zo#B^@iF_%S>{iXSol8jpmsZuJ?+;epg>k=$d`?GSegAVp3n$`GVDvK${N*#L_1`44 z{w0fL{2%)0|E+qgZtjX}itZz^KJt4Y;*8uSK}Ft38+3>j|K(PxIXXR-t4VopXo#9# zt|F{LWr-?34y`$nLBVV_*UEgA6AUI65dYIbqpNq9cl&uLJ0~L}<=ESlOm?Y-S@L*d z<7vt}`)TW#f%Rp$Q}6@3=j$7Tze@_uZO@aMn<|si{?S}~maII`VTjs&?}jQ4_cut9$)PEqMukwoXobzaKx^MV z2fQwl+;LSZ$qy%Tys0oo^K=jOw$!YwCv^ei4NBVauL)tN%=wz9M{uf{IB(BxK|lT*pFkmNK_1tV`nb%jH=a0~VNq2RCKY(rG7jz!-D^k)Ec)yS%17pE#o6&eY+ z^qN(hQT$}5F(=4lgNQhlxj?nB4N6ntUY6(?+R#B?W3hY_a*)hnr4PA|vJ<6p`K3Z5Hy z{{8(|ux~NLUW=!?9Qe&WXMTAkQnLXg(g=I@(VG3{HE13OaUT|DljyWXPs2FE@?`iU z4GQlM&Q=T<4&v@Fe<+TuXiZQT3G~vZ&^POfmI1K2h6t4eD}Gk5XFGpbj1n_g*{qmD6Xy z`6Vv|lLZtLmrnv*{Q%xxtcWVj3K4M%$bdBk_a&ar{{GWyu#ljM;dII;*jP;QH z#+^o-A4np{@|Mz+LphTD0`FTyxYq#wY)*&Ls5o{0z9yg2K+K7ZN>j1>N&;r+Z`vI| zDzG1LJZ+sE?m?>x{5LJx^)g&pGEpY=fQ-4}{x=ru;}FL$inHemOg%|R*ZXPodU}Kh zFEd5#+8rGq$Y<_?k-}r5zgQ3jRV=ooHiF|@z_#D4pKVEmn5CGV(9VKCyG|sT9nc=U zEoT67R`C->KY8Wp-fEcjjFm^;Cg(ls|*ABVHq8clBE(;~K^b+S>6uj70g? z&{XQ5U&!Z$SO7zfP+y^8XBbiu*Cv-yJG|l-oe*!s5$@Lh_KpxYL2sx`B|V=dETN>5K+C+CU~a_3cI8{vbu$TNVdGf15*>D zz@f{zIlorkY>TRh7mKuAlN9A0>N>SV`X)+bEHms=mfYTMWt_AJtz_h+JMmrgH?mZt zm=lfdF`t^J*XLg7v+iS)XZROygK=CS@CvUaJo&w2W!Wb@aa?~Drtf`JV^cCMjngVZ zv&xaIBEo8EYWuML+vxCpjjY^s1-ahXJzAV6hTw%ZIy!FjI}aJ+{rE&u#>rs)vzuxz z+$5z=7W?zH2>Eb32dvgHYZtCAf!=OLY-pb4>Ae79rd68E2LkVPj-|jFeyqtBCCwiW zkB@kO_(3wFq)7qwV}bA=zD!*@UhT`geq}ITo%@O(Z5Y80nEX~;0-8kO{oB6|(4fQh z);73T!>3@{ZobPwRv*W?7m0Ml9GmJBCJd&6E?hdj9lV= z4flNfsc(J*DyPv?RCOx!MSvk(M952PJ-G|JeVxWVjN~SNS6n-_Ge3Q;TGE;EQvZg86%wZ`MB zSMQua(i*R8a75!6$QRO^(o7sGoomb+Y{OMy;m~Oa`;P9Yqo>?bJAhqXxLr7_3g_n>f#UVtxG!^F#1+y@os6x(sg z^28bsQ@8rw%Gxk-stAEPRbv^}5sLe=VMbkc@Jjimqjvmd!3E7+QnL>|(^3!R} zD-l1l7*Amu@j+PWLGHXXaFG0Ct2Q=}5YNUxEQHCAU7gA$sSC<5OGylNnQUa>>l%sM zyu}z6i&({U@x^hln**o6r2s-(C-L50tQvz|zHTqW!ir?w&V23tuYEDJVV#5pE|OJu z7^R!A$iM$YCe?8n67l*J-okwfZ+ZTkGvZ)tVPfR;|3gyFjF)8V zyXXN=!*bpyRg9#~Bg1+UDYCt0 ztp4&?t1X0q>uz;ann$OrZs{5*r`(oNvw=$7O#rD|Wuv*wIi)4b zGtq4%BX+kkagv3F9Id6~-c+1&?zny%w5j&nk9SQfo0k4LhdSU_kWGW7axkfpgR`8* z!?UTG*Zi_baA1^0eda8S|@&F z{)Rad0kiLjB|=}XFJhD(S3ssKlveFFmkN{Vl^_nb!o5M!RC=m)V&v2%e?ZoRC@h3> zJ(?pvToFd`*Zc@HFPL#=otWKwtuuQ_dT-Hr{S%pQX<6dqVJ8;f(o)4~VM_kEQkMR+ zs1SCVi~k>M`u1u2xc}>#D!V&6nOOh-E$O&SzYrjJdZpaDv1!R-QGA141WjQe2s0J~ zQ;AXG)F+K#K8_5HVqRoRM%^EduqOnS(j2)|ctA6Q^=|s_WJYU;Z%5bHp08HPL`YF2 zR)Ad1z{zh`=sDs^&V}J z%$Z$!jd7BY5AkT?j`eqMs%!Gm@T8)4w3GYEX~IwgE~`d|@T{WYHkudy(47brgHXx& zBL1yFG6!!!VOSmDxBpefy2{L_u5yTwja&HA!mYA#wg#bc-m%~8aRR|~AvMnind@zs zy>wkShe5&*un^zvSOdlVu%kHsEo>@puMQ`b1}(|)l~E{5)f7gC=E$fP(FC2=F<^|A zxeIm?{EE!3sO!Gr7e{w)Dx(uU#3WrFZ>ibmKSQ1tY?*-Nh1TDHLe+k*;{Rp!Bmd_m zb#^kh`Y*8l|9Cz2e{;RL%_lg{#^Ar+NH|3z*Zye>!alpt{z;4dFAw^^H!6ING*EFc z_yqhr8d!;%nHX9AKhFQZBGrSzfzYCi%C!(Q5*~hX>)0N`vbhZ@N|i;_972WSx*>LH z87?en(;2_`{_JHF`Sv6Wlps;dCcj+8IJ8ca6`DsOQCMb3n# z3)_w%FuJ3>fjeOOtWyq)ag|PmgQbC-s}KRHG~enBcIwqIiGW8R8jFeBNY9|YswRY5 zjGUxdGgUD26wOpwM#8a!Nuqg68*dG@VM~SbOroL_On0N6QdT9?)NeB3@0FCC?Z|E0 z6TPZj(AsPtwCw>*{eDEE}Gby>0q{*lI+g2e&(YQrsY&uGM{O~}(oM@YWmb*F zA0^rr5~UD^qmNljq$F#ARXRZ1igP`MQx4aS6*MS;Ot(1L5jF2NJ;de!NujUYg$dr# z=TEL_zTj2@>ZZN(NYCeVX2==~=aT)R30gETO{G&GM4XN<+!&W&(WcDP%oL8PyIVUC zs5AvMgh6qr-2?^unB@mXK*Dbil^y-GTC+>&N5HkzXtozVf93m~xOUHn8`HpX=$_v2 z61H;Z1qK9o;>->tb8y%#4H)765W4E>TQ1o0PFj)uTOPEvv&}%(_mG0ISmyhnQV33Z$#&yd{ zc{>8V8XK$3u8}04CmAQ#I@XvtmB*s4t8va?-IY4@CN>;)mLb_4!&P3XSw4pA_NzDb zORn!blT-aHk1%Jpi>T~oGLuh{DB)JIGZ9KOsciWs2N7mM1JWM+lna4vkDL?Q)z_Ct z`!mi0jtr+4*L&N7jk&LodVO#6?_qRGVaucqVB8*us6i3BTa^^EI0x%EREQSXV@f!lak6Wf1cNZ8>*artIJ(ADO*=<-an`3zB4d*oO*8D1K!f z*A@P1bZCNtU=p!742MrAj%&5v%Xp_dSX@4YCw%F|%Dk=u|1BOmo)HsVz)nD5USa zR~??e61sO(;PR)iaxK{M%QM_rIua9C^4ppVS$qCT9j2%?*em?`4Z;4@>I(c%M&#cH z>4}*;ej<4cKkbCAjjDsyKS8rIm90O)Jjgyxj5^venBx&7B!xLmzxW3jhj7sR(^3Fz z84EY|p1NauwXUr;FfZjdaAfh%ivyp+^!jBjJuAaKa!yCq=?T_)R!>16?{~p)FQ3LDoMyG%hL#pR!f@P%*;#90rs_y z@9}@r1BmM-SJ#DeuqCQk=J?ixDSwL*wh|G#us;dd{H}3*-Y7Tv5m=bQJMcH+_S`zVtf;!0kt*(zwJ zs+kedTm!A}cMiM!qv(c$o5K%}Yd0|nOd0iLjus&;s0Acvoi-PFrWm?+q9f^FslxGi z6ywB`QpL$rJzWDg(4)C4+!2cLE}UPCTBLa*_=c#*$b2PWrRN46$y~yST3a2$7hEH= zNjux+wna^AzQ=KEa_5#9Ph=G1{S0#hh1L3hQ`@HrVnCx{!fw_a0N5xV(iPdKZ-HOM za)LdgK}1ww*C_>V7hbQnTzjURJL`S%`6nTHcgS+dB6b_;PY1FsrdE8(2K6FN>37!62j_cBlui{jO^$dPkGHV>pXvW0EiOA zqW`YaSUBWg_v^Y5tPJfWLcLpsA8T zG)!x>pKMpt!lv3&KV!-um= zKCir6`bEL_LCFx4Z5bAFXW$g3Cq`?Q%)3q0r852XI*Der*JNuKUZ`C{cCuu8R8nkt z%pnF>R$uY8L+D!V{s^9>IC+bmt<05h**>49R*#vpM*4i0qRB2uPbg8{{s#9yC;Z18 zD7|4m<9qneQ84uX|J&f-g8a|nFKFt34@Bt{CU`v(SYbbn95Q67*)_Esl_;v291s=9 z+#2F2apZU4Tq=x+?V}CjwD(P=U~d<=mfEFuyPB`Ey82V9G#Sk8H_Ob_RnP3s?)S_3 zr%}Pb?;lt_)Nf>@zX~D~TBr;-LS<1I##8z`;0ZCvI_QbXNh8Iv)$LS=*gHr;}dgb=w5$3k2la1keIm|=7<-JD>)U%=Avl0Vj@+&vxn zt-)`vJxJr88D&!}2^{GPXc^nmRf#}nb$4MMkBA21GzB`-Or`-3lq^O^svO7Vs~FdM zv`NvzyG+0T!P8l_&8gH|pzE{N(gv_tgDU7SWeiI-iHC#0Ai%Ixn4&nt{5y3(GQs)i z&uA;~_0shP$0Wh0VooIeyC|lak__#KVJfxa7*mYmZ22@(<^W}FdKjd*U1CqSjNKW% z*z$5$=t^+;Ui=MoDW~A7;)Mj%ibX1_p4gu>RC}Z_pl`U*{_z@+HN?AF{_W z?M_X@o%w8fgFIJ$fIzBeK=v#*`mtY$HC3tqw7q^GCT!P$I%=2N4FY7j9nG8aIm$c9 zeKTxVKN!UJ{#W)zxW|Q^K!3s;(*7Gbn;e@pQBCDS(I|Y0euK#dSQ_W^)sv5pa%<^o zyu}3d?Lx`)3-n5Sy9r#`I{+t6x%I%G(iewGbvor&I^{lhu-!#}*Q3^itvY(^UWXgvthH52zLy&T+B)Pw;5>4D6>74 zO_EBS)>l!zLTVkX@NDqyN2cXTwsUVao7$HcqV2%t$YzdAC&T)dwzExa3*kt9d(}al zA~M}=%2NVNUjZiO7c>04YH)sRelXJYpWSn^aC$|Ji|E13a^-v2MB!Nc*b+=KY7MCm zqIteKfNkONq}uM;PB?vvgQvfKLPMB8u5+Am=d#>g+o&Ysb>dX9EC8q?D$pJH!MTAqa=DS5$cb+;hEvjwVfF{4;M{5U&^_+r zvZdu_rildI!*|*A$TzJ&apQWV@p{!W`=?t(o0{?9y&vM)V)ycGSlI3`;ps(vf2PUq zX745#`cmT*ra7XECC0gKkpu2eyhFEUb?;4@X7weEnLjXj_F~?OzL1U1L0|s6M+kIhmi%`n5vvDALMagi4`wMc=JV{XiO+^ z?s9i7;GgrRW{Mx)d7rj)?(;|b-`iBNPqdwtt%32se@?w4<^KU&585_kZ=`Wy^oLu9 z?DQAh5z%q;UkP48jgMFHTf#mj?#z|=w= z(q6~17Vn}P)J3M?O)x))%a5+>TFW3No~TgP;f}K$#icBh;rSS+R|}l鯊%1Et zwk~hMkhq;MOw^Q5`7oC{CUUyTw9x>^%*FHx^qJw(LB+E0WBX@{Ghw;)6aA-KyYg8p z7XDveQOpEr;B4je@2~usI5BlFadedX^ma{b{ypd|RNYqo#~d*mj&y`^iojR}s%~vF z(H!u`yx68D1Tj(3(m;Q+Ma}s2n#;O~bcB1`lYk%Irx60&-nWIUBr2x&@}@76+*zJ5 ze&4?q8?m%L9c6h=J$WBzbiTf1Z-0Eb5$IZs>lvm$>1n_Mezp*qw_pr8<8$6f)5f<@ zyV#tzMCs51nTv_5ca`x`yfE5YA^*%O_H?;tWYdM_kHPubA%vy47i=9>Bq) zRQ&0UwLQHeswmB1yP)+BiR;S+Vc-5TX84KUA;8VY9}yEj0eESSO`7HQ4lO z4(CyA8y1G7_C;6kd4U3K-aNOK!sHE}KL_-^EDl(vB42P$2Km7$WGqNy=%fqB+ zSLdrlcbEH=T@W8V4(TgoXZ*G1_aq$K^@ek=TVhoKRjw;HyI&coln|uRr5mMOy2GXP zwr*F^Y|!Sjr2YQXX(Fp^*`Wk905K%$bd03R4(igl0&7IIm*#f`A!DCarW9$h$z`kYk9MjjqN&5-DsH@8xh63!fTNPxWsFQhNv z#|3RjnP$Thdb#Ys7M+v|>AHm0BVTw)EH}>x@_f4zca&3tXJhTZ8pO}aN?(dHo)44Z z_5j+YP=jMlFqwvf3lq!57-SAuRV2_gJ*wsR_!Y4Z(trO}0wmB9%f#jNDHPdQGHFR; zZXzS-$`;7DQ5vF~oSgP3bNV$6Z(rwo6W(U07b1n3UHqml>{=6&-4PALATsH@Bh^W? z)ob%oAPaiw{?9HfMzpGb)@Kys^J$CN{uf*HX?)z=g`J(uK1YO^8~s1(ZIbG%Et(|q z$D@_QqltVZu9Py4R0Ld8!U|#`5~^M=b>fnHthzKBRr=i+w@0Vr^l|W;=zFT#PJ?*a zbC}G#It}rQP^Ait^W&aa6B;+0gNvz4cWUMzpv(1gvfw-X4xJ2Sv;mt;zb2Tsn|kSS zo*U9N?I{=-;a-OybL4r;PolCfiaL=y@o9{%`>+&FI#D^uy#>)R@b^1ue&AKKwuI*` zx%+6r48EIX6nF4o;>)zhV_8(IEX})NGU6Vs(yslrx{5fII}o3SMHW7wGtK9oIO4OM&@@ECtXSICLcPXoS|{;=_yj>hh*%hP27yZwOmj4&Lh z*Nd@OMkd!aKReoqNOkp5cW*lC)&C$P?+H3*%8)6HcpBg&IhGP^77XPZpc%WKYLX$T zsSQ$|ntaVVOoRat$6lvZO(G-QM5s#N4j*|N_;8cc2v_k4n6zx9c1L4JL*83F-C1Cn zaJhd;>rHXB%%ZN=3_o3&Qd2YOxrK~&?1=UuN9QhL$~OY-Qyg&})#ez*8NpQW_*a&kD&ANjedxT0Ar z<6r{eaVz3`d~+N~vkMaV8{F?RBVemN(jD@S8qO~L{rUw#=2a$V(7rLE+kGUZ<%pdr z?$DP|Vg#gZ9S}w((O2NbxzQ^zTot=89!0^~hE{|c9q1hVzv0?YC5s42Yx($;hAp*E zyoGuRyphQY{Q2ee0Xx`1&lv(l-SeC$NEyS~8iil3_aNlnqF_G|;zt#F%1;J)jnPT& z@iU0S;wHJ2$f!juqEzPZeZkjcQ+Pa@eERSLKsWf=`{R@yv7AuRh&ALRTAy z8=g&nxsSJCe!QLchJ=}6|LshnXIK)SNd zRkJNiqHwKK{SO;N5m5wdL&qK`v|d?5<4!(FAsDxR>Ky#0#t$8XCMptvNo?|SY?d8b z`*8dVBlXTUanlh6n)!EHf2&PDG8sXNAt6~u-_1EjPI1|<=33T8 zEnA00E!`4Ave0d&VVh0e>)Dc}=FfAFxpsC1u9ATfQ`-Cu;mhc8Z>2;uyXtqpLb7(P zd2F9<3cXS} znMg?{&8_YFTGRQZEPU-XPq55%51}RJpw@LO_|)CFAt62-_!u_Uq$csc+7|3+TV_!h z+2a7Yh^5AA{q^m|=KSJL+w-EWDBc&I_I1vOr^}P8i?cKMhGy$CP0XKrQzCheG$}G# zuglf8*PAFO8%xop7KSwI8||liTaQ9NCAFarr~psQt)g*pC@9bORZ>m`_GA`_K@~&% zijH0z;T$fd;-Liw8%EKZas>BH8nYTqsK7F;>>@YsE=Rqo?_8}UO-S#|6~CAW0Oz1} z3F(1=+#wrBJh4H)9jTQ_$~@#9|Bc1Pd3rAIA_&vOpvvbgDJOM(yNPhJJq2%PCcMaI zrbe~toYzvkZYQ{ea(Wiyu#4WB#RRN%bMe=SOk!CbJZv^m?Flo5p{W8|0i3`hI3Np# zvCZqY%o258CI=SGb+A3yJe~JH^i{uU`#U#fvSC~rWTq+K`E%J@ zasU07&pB6A4w3b?d?q}2=0rA#SA7D`X+zg@&zm^iA*HVi z009#PUH<%lk4z~p^l0S{lCJk1Uxi=F4e_DwlfHA`X`rv(|JqWKAA5nH+u4Da+E_p+ zVmH@lg^n4ixs~*@gm_dgQ&eDmE1mnw5wBz9Yg?QdZwF|an67Xd*x!He)Gc8&2!urh z4_uXzbYz-aX)X1>&iUjGp;P1u8&7TID0bTH-jCL&Xk8b&;;6p2op_=y^m@Nq*0{#o!!A;wNAFG@0%Z9rHo zcJs?Th>Ny6+hI`+1XoU*ED$Yf@9f91m9Y=#N(HJP^Y@ZEYR6I?oM{>&Wq4|v0IB(p zqX#Z<_3X(&{H+{3Tr|sFy}~=bv+l=P;|sBz$wk-n^R`G3p0(p>p=5ahpaD7>r|>pm zv;V`_IR@tvZreIuv2EM7ZQHhO+qUgw#kOs%*ekY^n|=1#x9&c;Ro&I~{rG-#_3ZB1 z?|9}IFdbP}^DneP*T-JaoYHt~r@EfvnPE5EKUwIxjPbsr$% zfWW83pgWST7*B(o=kmo)74$8UU)v0{@4DI+ci&%=#90}!CZz|rnH+Mz=HN~97G3~@ z;v5(9_2%eca(9iu@J@aqaMS6*$TMw!S>H(b z4(*B!|H|8&EuB%mITr~O?vVEf%(Gr)6E=>H~1VR z&1YOXluJSG1!?TnT)_*YmJ*o_Q@om~(GdrhI{$Fsx_zrkupc#y{DK1WOUR>tk>ZE) ziOLoBkhZZ?0Uf}cm>GsA>Rd6V8@JF)J*EQlQ<=JD@m<)hyElXR0`pTku*3MU`HJn| zIf7$)RlK^pW-$87U;431;Ye4Ie+l~_B3*bH1>*yKzn23cH0u(i5pXV! z4K?{3oF7ZavmmtTq((wtml)m6i)8X6ot_mrE-QJCW}Yn!(3~aUHYG=^fA<^~`e3yc z-NWTb{gR;DOUcK#zPbN^D*e=2eR^_!(!RKkiwMW@@yYtEoOp4XjOGgzi`;=8 zi3`Ccw1%L*y(FDj=C7Ro-V?q)-%p?Ob2ZElu`eZ99n14-ZkEV#y5C+{Pq87Gu3&>g zFy~Wk7^6v*)4pF3@F@rE__k3ikx(hzN3@e*^0=KNA6|jC^B5nf(XaoQaZN?Xi}Rn3 z$8&m*KmWvPaUQ(V<#J+S&zO|8P-#!f%7G+n_%sXp9=J%Z4&9OkWXeuZN}ssgQ#Tcj z8p6ErJQJWZ+fXLCco=RN8D{W%+*kko*2-LEb))xcHwNl~Xmir>kmAxW?eW50Osw3# zki8Fl$#fvw*7rqd?%E?}ZX4`c5-R&w!Y0#EBbelVXSng+kUfeUiqofPehl}$ormli zg%r)}?%=?_pHb9`Cq9Z|B`L8b>(!+8HSX?`5+5mm81AFXfnAt1*R3F z%b2RPIacKAddx%JfQ8l{3U|vK@W7KB$CdLqn@wP^?azRks@x8z59#$Q*7q!KilY-P zHUbs(IFYRGG1{~@RF;Lqyho$~7^hNC`NL3kn^Td%A7dRgr_&`2k=t+}D-o9&C!y^? z6MsQ=tc3g0xkK(O%DzR9nbNB(r@L;1zQrs8mzx&4dz}?3KNYozOW5;=w18U6$G4U2 z#2^qRLT*Mo4bV1Oeo1PKQ2WQS2Y-hv&S|C7`xh6=Pj7MNLC5K-zokZ67S)C;(F0Dd zloDK2_o1$Fmza>EMj3X9je7e%Q`$39Dk~GoOj89-6q9|_WJlSl!!+*{R=tGp z8u|MuSwm^t7K^nUe+^0G3dkGZr3@(X+TL5eah)K^Tn zXEtHmR9UIaEYgD5Nhh(s*fcG_lh-mfy5iUF3xxpRZ0q3nZ=1qAtUa?(LnT9I&~uxX z`pV?+=|-Gl(kz?w!zIieXT}o}7@`QO>;u$Z!QB${a08_bW0_o@&9cjJUXzVyNGCm8 zm=W+$H!;_Kzp6WQqxUI;JlPY&`V}9C$8HZ^m?NvI*JT@~BM=()T()Ii#+*$y@lTZBkmMMda>7s#O(1YZR+zTG@&}!EXFG{ zEWPSDI5bFi;NT>Yj*FjH((=oe%t%xYmE~AGaOc4#9K_XsVpl<4SP@E!TgC0qpe1oi zNpxU2b0(lEMcoibQ-G^cxO?ySVW26HoBNa;n0}CWL*{k)oBu1>F18X061$SP{Gu67 z-v-Fa=Fl^u3lnGY^o5v)Bux}bNZ~ z5pL+7F_Esoun8^5>z8NFoIdb$sNS&xT8_|`GTe8zSXQzs4r^g0kZjg(b0bJvz`g<70u9Z3fQILX1Lj@;@+##bP|FAOl)U^9U>0rx zGi)M1(Hce)LAvQO-pW!MN$;#ZMX?VE(22lTlJrk#pB0FJNqVwC+*%${Gt#r_tH9I_ z;+#)#8cWAl?d@R+O+}@1A^hAR1s3UcW{G+>;X4utD2d9X(jF555}!TVN-hByV6t+A zdFR^aE@GNNgSxxixS2p=on4(+*+f<8xrwAObC)D5)4!z7)}mTpb7&ofF3u&9&wPS< zB62WHLGMhmrmOAgmJ+|c>qEWTD#jd~lHNgT0?t-p{T=~#EMcB| z=AoDKOL+qXCfk~F)-Rv**V}}gWFl>liXOl7Uec_8v)(S#av99PX1sQIVZ9eNLkhq$ zt|qu0b?GW_uo}TbU8!jYn8iJeIP)r@;!Ze_7mj{AUV$GEz6bDSDO=D!&C9!M@*S2! zfGyA|EPlXGMjkH6x7OMF?gKL7{GvGfED=Jte^p=91FpCu)#{whAMw`vSLa`K#atdN zThnL+7!ZNmP{rc=Z>%$meH;Qi1=m1E3Lq2D_O1-X5C;!I0L>zur@tPAC9*7Jeh)`;eec}1`nkRP(%iv-`N zZ@ip-g|7l6Hz%j%gcAM}6-nrC8oA$BkOTz^?dakvX?`^=ZkYh%vUE z9+&)K1UTK=ahYiaNn&G5nHUY5niLGus@p5E2@RwZufRvF{@$hW{;{3QhjvEHMvduO z#Wf-@oYU4ht?#uP{N3utVzV49mEc9>*TV_W2TVC`6+oI)zAjy$KJrr=*q##&kobiQ z1vNbya&OVjK`2pdRrM?LuK6BgrLN7H_3m z!qpNKg~87XgCwb#I=Q&0rI*l$wM!qTkXrx1ko5q-f;=R2fImRMwt5Qs{P*p^z@9ex z`2#v(qE&F%MXlHpdO#QEZyZftn4f05ab^f2vjxuFaat2}jke{j?5GrF=WYBR?gS(^ z9SBiNi}anzBDBRc+QqizTTQuJrzm^bNA~A{j%ugXP7McZqJ}65l10({wk++$=e8O{ zxWjG!Qp#5OmI#XRQQM?n6?1ztl6^D40hDJr?4$Wc&O_{*OfMfxe)V0=e{|N?J#fgE>j9jAajze$iN!*yeF%jJU#G1c@@rm zolGW!j?W6Q8pP=lkctNFdfgUMg92wlM4E$aks1??M$~WQfzzzXtS)wKrr2sJeCN4X zY(X^H_c^PzfcO8Bq(Q*p4c_v@F$Y8cHLrH$`pJ2}=#*8%JYdqsqnGqEdBQMpl!Ot04tUGSXTQdsX&GDtjbWD=prcCT9(+ z&UM%lW%Q3yrl1yiYs;LxzIy>2G}EPY6|sBhL&X&RAQrSAV4Tlh2nITR?{6xO9ujGu zr*)^E`>o!c=gT*_@6S&>0POxcXYNQd&HMw6<|#{eSute2C3{&h?Ah|cw56-AP^f8l zT^kvZY$YiH8j)sk7_=;gx)vx-PW`hbSBXJGCTkpt;ap(}G2GY=2bbjABU5)ty%G#x zAi07{Bjhv}>OD#5zh#$0w;-vvC@^}F! z#X$@)zIs1L^E;2xDAwEjaXhTBw2<{&JkF*`;c3<1U@A4MaLPe{M5DGGkL}#{cHL%* zYMG+-Fm0#qzPL#V)TvQVI|?_M>=zVJr9>(6ib*#z8q@mYKXDP`k&A4A};xMK0h=yrMp~JW{L?mE~ph&1Y1a#4%SO)@{ zK2juwynUOC)U*hVlJU17%llUxAJFuKZh3K0gU`aP)pc~bE~mM!i1mi!~LTf>1Wp< zuG+ahp^gH8g8-M$u{HUWh0m^9Rg@cQ{&DAO{PTMudV6c?ka7+AO& z746QylZ&Oj`1aqfu?l&zGtJnpEQOt;OAFq19MXTcI~`ZcoZmyMrIKDFRIDi`FH)w; z8+*8tdevMDv*VtQi|e}CnB_JWs>fhLOH-+Os2Lh!&)Oh2utl{*AwR)QVLS49iTp{6 z;|172Jl!Ml17unF+pd+Ff@jIE-{Oxv)5|pOm@CkHW?{l}b@1>Pe!l}VccX#xp@xgJ zyE<&ep$=*vT=}7vtvif0B?9xw_3Gej7mN*dOHdQPtW5kA5_zGD zpA4tV2*0E^OUimSsV#?Tg#oiQ>%4D@1F5@AHwT8Kgen$bSMHD3sXCkq8^(uo7CWk`mT zuslYq`6Yz;L%wJh$3l1%SZv#QnG3=NZ=BK4yzk#HAPbqXa92;3K5?0kn4TQ`%E%X} z&>Lbt!!QclYKd6+J7Nl@xv!uD%)*bY-;p`y^ZCC<%LEHUi$l5biu!sT3TGGSTPA21 zT8@B&a0lJHVn1I$I3I1I{W9fJAYc+8 zVj8>HvD}&O`TqU2AAb={?eT;0hyL(R{|h23=4fDSZKC32;wWxsVj`P z3J3{M$PwdH!ro*Cn!D&=jnFR>BNGR<<|I8CI@+@658Dy(lhqbhXfPTVecY@L8%`3Q z1Fux2w?2C3th60jI~%OC9BtpNF$QPqcG+Pz96qZJ71_`0o0w_q7|h&O>`6U+^BA&5 zXd5Zp1Xkw~>M%RixTm&OqpNl8Q+ue=92Op_>T~_9UON?ZM2c0aGm=^A4ejrXj3dV9 zhh_bCt-b9`uOX#cFLj!vhZ#lS8Tc47OH>*)y#{O9?AT~KR9LntM|#l#Dlm^8{nZdk zjMl#>ZM%#^nK2TPzLcKxqx24P7R1FPlBy7LSBrRvx>fE$9AJ;7{PQm~^LBX^k#6Zq zw*Z(zJC|`!6_)EFR}8|n8&&Rbj8y028~P~sFXBFRt+tmqH-S3<%N;C&WGH!f3{7cm zy_fCAb9@HqaXa1Y5vFbxWf%#zg6SI$C+Uz5=CTO}e|2fjWkZ;Dx|84Ow~bkI=LW+U zuq;KSv9VMboRvs9)}2PAO|b(JCEC_A0wq{uEj|3x@}*=bOd zwr{TgeCGG>HT<@Zeq8y}vTpwDg#UBvD)BEs@1KP$^3$sh&_joQPn{hjBXmLPJ{tC) z*HS`*2+VtJO{|e$mM^|qv1R*8i(m1`%)}g=SU#T#0KlTM2RSvYUc1fP+va|4;5}Bfz98UvDCpq7}+SMV&;nX zQw~N6qOX{P55{#LQkrZk(e5YGzr|(B;Q;ju;2a`q+S9bsEH@i1{_Y0;hWYn1-79jl z5c&bytD*k)GqrVcHn6t-7kinadiD>B{Tl`ZY@`g|b~pvHh5!gKP4({rp?D0aFd_cN zhHRo4dd5^S6ViN(>(28qZT6E>??aRhc($kP`>@<+lIKS5HdhjVU;>f7<4))E*5|g{ z&d1}D|vpuV^eRj5j|xx9nwaCxXFG?Qbjn~_WSy=N}P0W>MP zG-F%70lX5Xr$a)2i6?i|iMyM|;Jtf*hO?=Jxj12oz&>P=1#h~lf%#fc73M2_(SUM- zf&qnjS80|_Y0lDgl&I?*eMumUklLe_=Td!9G@eR*tcPOgIShJipp3{A10u(4eT~DY zHezEj8V+7m!knn7)W!-5QI3=IvC^as5+TW1@Ern@yX| z7Nn~xVx&fGSr+L%4iohtS3w^{-H1A_5=r&x8}R!YZvp<2T^YFvj8G_vm}5q;^UOJf ztl=X3iL;;^^a#`t{Ae-%5Oq{?M#s6Npj+L(n-*LMI-yMR{)qki!~{5z{&`-iL}lgW zxo+tnvICK=lImjV$Z|O_cYj_PlEYCzu-XBz&XC-JVxUh9;6*z4fuBG+H{voCC;`~GYV|hj%j_&I zDZCj>Q_0RCwFauYoVMiUSB+*Mx`tg)bWmM^SwMA+?lBg12QUF_x2b)b?qb88K-YUd z0dO}3k#QirBV<5%jL$#wlf!60dizu;tsp(7XLdI=eQs?P`tOZYMjVq&jE)qK*6B^$ zBe>VvH5TO>s>izhwJJ$<`a8fakTL!yM^Zfr2hV9`f}}VVUXK39p@G|xYRz{fTI+Yq z20d=)iwjuG9RB$%$^&8#(c0_j0t_C~^|n+c`Apu|x7~;#cS-s=X1|C*YxX3ailhg_|0`g!E&GZJEr?bh#Tpb8siR=JxWKc{#w7g zWznLwi;zLFmM1g8V5-P#RsM@iX>TK$xsWuujcsVR^7TQ@!+vCD<>Bk9tdCo7Mzgq5 zv8d>dK9x8C@Qoh01u@3h0X_`SZluTb@5o;{4{{eF!-4405x8X7hewZWpz z2qEi4UTiXTvsa(0X7kQH{3VMF>W|6;6iTrrYD2fMggFA&-CBEfSqPlQDxqsa>{e2M z(R5PJ7uOooFc|9GU0ELA%m4&4Ja#cQpNw8i8ACAoK6?-px+oBl_yKmenZut#Xumjz zk8p^OV2KY&?5MUwGrBOo?ki`Sxo#?-Q4gw*Sh0k`@ zFTaYK2;}%Zk-68`#5DXU$2#=%YL#S&MTN8bF+!J2VT6x^XBci6O)Q#JfW{YMz) zOBM>t2rSj)n#0a3cjvu}r|k3od6W(SN}V-cL?bi*Iz-8uOcCcsX0L>ZXjLqk zZu2uHq5B|Kt>e+=pPKu=1P@1r9WLgYFq_TNV1p9pu0erHGd!+bBp!qGi+~4A(RsYN@CyXNrC&hxGmW)u5m35OmWwX`I+0yByglO`}HC4nGE^_HUs^&A(uaM zKPj^=qI{&ayOq#z=p&pnx@@k&I1JI>cttJcu@Ihljt?6p^6{|ds`0MoQwp+I{3l6` zB<9S((RpLG^>=Kic`1LnhpW2=Gu!x`m~=y;A`Qk!-w`IN;S8S930#vBVMv2vCKi}u z6<-VPrU0AnE&vzwV(CFC0gnZYcpa-l5T0ZS$P6(?9AM;`Aj~XDvt;Jua=jIgF=Fm? zdp=M$>`phx%+Gu};;-&7T|B1AcC#L4@mW5SV_^1BRbo6;2PWe$r+npRV`yc;T1mo& z+~_?7rA+(Um&o@Tddl zL_hxvWk~a)yY}%j`Y+200D%9$bWHy&;(yj{jpi?Rtz{J66ANw)UyPOm;t6FzY3$hx zcn)Ir79nhFvNa7^a{SHN7XH*|Vlsx`CddPnA&Qvh8aNhEA;mPVv;Ah=k<*u!Zq^7 z<=xs*iQTQOMMcg|(NA_auh@x`3#_LFt=)}%SQppP{E>mu_LgquAWvh<>L7tf9+~rO znwUDS52u)OtY<~!d$;m9+87aO+&`#2ICl@Y>&F{jI=H(K+@3M1$rr=*H^dye#~TyD z!){#Pyfn+|ugUu}G;a~!&&0aqQ59U@UT3|_JuBlYUpT$2+11;}JBJ`{+lQN9T@QFY z5+`t;6(TS0F?OlBTE!@7D`8#URDNqx2t6`GZ{ZgXeS@v%-eJzZOHz18aS|svxII$a zZeFjrJ*$IwX$f-Rzr_G>xbu@euGl)B7pC&S+CmDJBg$BoV~jxSO#>y z33`bupN#LDoW0feZe0%q8un0rYN|eRAnwDHQ6e_)xBTbtoZtTA=Fvk){q}9Os~6mQ zKB80VI_&6iSq`LnK7*kfHZoeX6?WE}8yjuDn=2#JG$+;-TOA1%^=DnXx%w{b=w}tS zQbU3XxtOI8E(!%`64r2`zog;5<0b4i)xBmGP^jiDZ2%HNSxIf3@wKs~uk4%3Mxz;~ zts_S~E4>W+YwI<-*-$U8*^HKDEa8oLbmqGg?3vewnaNg%Mm)W=)lcC_J+1ov^u*N3 zXJ?!BrH-+wGYziJq2Y#vyry6Z>NPgkEk+Ke`^DvNRdb>Q2Nlr#v%O@<5hbflI6EKE z9dWc0-ORk^T}jP!nkJ1imyjdVX@GrjOs%cpgA8-c&FH&$(4od#x6Y&=LiJZPINVyW z0snY$8JW@>tc2}DlrD3StQmA0Twck~@>8dSix9CyQOALcREdxoM$Sw*l!}bXKq9&r zysMWR@%OY24@e`?+#xV2bk{T^C_xSo8v2ZI=lBI*l{RciPwuE>L5@uhz@{!l)rtVlWC>)6(G)1~n=Q|S!{E9~6*fdpa*n z!()-8EpTdj=zr_Lswi;#{TxbtH$8*G=UM`I+icz7sr_SdnHXrv=?iEOF1UL+*6O;% zPw>t^kbW9X@oEXx<97%lBm-9?O_7L!DeD)Me#rwE54t~UBu9VZ zl_I1tBB~>jm@bw0Aljz8! zXBB6ATG6iByKIxs!qr%pz%wgqbg(l{65DP4#v(vqhhL{0b#0C8mq`bnqZ1OwFV z7mlZZJFMACm>h9v^2J9+^_zc1=JjL#qM5ZHaThH&n zXPTsR8(+)cj&>Un{6v*z?@VTLr{TmZ@-fY%*o2G}*G}#!bmqpoo*Ay@U!JI^Q@7gj;Kg-HIrLj4}#ec4~D2~X6vo;ghep-@&yOivYP zC19L0D`jjKy1Yi-SGPAn94(768Tcf$urAf{)1)9W58P`6MA{YG%O?|07!g9(b`8PXG1B1Sh0?HQmeJtP0M$O$hI z{5G`&9XzYhh|y@qsF1GnHN|~^ru~HVf#)lOTSrv=S@DyR$UKQk zjdEPFDz{uHM&UM;=mG!xKvp;xAGHOBo~>_=WFTmh$chpC7c`~7?36h)7$fF~Ii}8q zF|YXxH-Z?d+Q+27Rs3X9S&K3N+)OBxMHn1u(vlrUC6ckBY@@jl+mgr#KQUKo#VeFm zFwNYgv0<%~Wn}KeLeD9e1$S>jhOq&(e*I@L<=I5b(?G(zpqI*WBqf|Zge0&aoDUsC zngMRA_Kt0>La+Erl=Uv_J^p(z=!?XHpenzn$%EA`JIq#yYF?JLDMYiPfM(&Csr#f{ zdd+LJL1by?xz|D8+(fgzRs~(N1k9DSyK@LJygwaYX8dZl0W!I&c^K?7)z{2is;OkE zd$VK-(uH#AUaZrp=1z;O*n=b?QJkxu`Xsw&7yrX0?(CX=I-C#T;yi8a<{E~?vr3W> zQrpPqOW2M+AnZ&p{hqmHZU-;Q(7?- zP8L|Q0RM~sB0w1w53f&Kd*y}ofx@c z5Y6B8qGel+uT1JMot$nT1!Tim6{>oZzJXdyA+4euOLME?5Fd_85Uk%#E*ln%y{u8Q z$|?|R@Hpb~yTVK-Yr_S#%NUy7EBfYGAg>b({J|5b+j-PBpPy$Ns`PaJin4JdRfOaS zE|<HjH%NuJgsd2wOlv>~y=np%=2)$M9LS|>P)zJ+Fei5vYo_N~B0XCn+GM76 z)Xz3tg*FRVFgIl9zpESgdpWAavvVViGlU8|UFY{{gVJskg*I!ZjWyk~OW-Td4(mZ6 zB&SQreAAMqwp}rjy`HsG({l2&q5Y52<@AULVAu~rWI$UbFuZs>Sc*x+XI<+ez%$U)|a^unjpiW0l0 zj1!K0(b6$8LOjzRqQ~K&dfbMIE=TF}XFAi)$+h}5SD3lo z%%Qd>p9se=VtQG{kQ;N`sI)G^u|DN#7{aoEd zkksYP%_X$Rq08);-s6o>CGJ<}v`qs%eYf+J%DQ^2k68C%nvikRsN?$ap--f+vCS`K z#&~)f7!N^;sdUXu54gl3L=LN>FB^tuK=y2e#|hWiWUls__n@L|>xH{%8lIJTd5`w? zSwZbnS;W~DawT4OwSJVdAylbY+u5S+ZH{4hAi2&}Iv~W(UvHg(1GTZRPz`@{SOqzy z(8g&Dz=$PfRV=6FgxN~zo+G8OoPI&d-thcGVR*_^(R8COTM@bq?fDwY{}WhsQS1AK zF6R1t8!RdFmfocpJ6?9Yv~;WYi~XPgs(|>{5})j!AR!voO7y9&cMPo#80A(`za@t>cx<0;qxM@S*m(jYP)dMXr*?q0E`oL;12}VAep179uEr8c<=D zr5?A*C{eJ`z9Ee;E$8)MECqatHkbHH z&Y+ho0B$31MIB-xm&;xyaFCtg<{m~M-QDbY)fQ>Q*Xibb~8ytxZQ?QMf9!%cV zU0_X1@b4d+Pg#R!`OJ~DOrQz3@cpiGy~XSKjZQQ|^4J1puvwKeScrH8o{bscBsowomu z^f12kTvje`yEI3eEXDHJ6L+O{Jv$HVj%IKb|J{IvD*l6IG8WUgDJ*UGz z3!C%>?=dlfSJ>4U88)V+`U-!9r^@AxJBx8R;)J4Fn@`~k>8>v0M9xp90OJElWP&R5 zM#v*vtT}*Gm1^)Bv!s72T3PB0yVIjJW)H7a)ilkAvoaH?)jjb`MP>2z{%Y?}83 zUIwBKn`-MSg)=?R)1Q0z3b>dHE^)D8LFs}6ASG1|daDly_^lOSy&zIIhm*HXm1?VS=_iacG);_I9c zUQH1>i#*?oPIwBMJkzi_*>HoUe}_4o>2(SHWzqQ=;TyhAHS;Enr7!#8;sdlty&(>d zl%5cjri8`2X^Ds`jnw7>A`X|bl=U8n+3LKLy(1dAu8`g@9=5iw$R0qk)w8Vh_Dt^U zIglK}sn^)W7aB(Q>HvrX=rxB z+*L)3DiqpQ_%~|m=44LcD4-bxO3OO*LPjsh%p(k?&jvLp0py57oMH|*IMa(<|{m1(0S|x)?R-mqJ=I;_YUZA>J z62v*eSK;5w!h8J+6Z2~oyGdZ68waWfy09?4fU&m7%u~zi?YPHPgK6LDwphgaYu%0j zurtw)AYOpYKgHBrkX189mlJ`q)w-f|6>IER{5Lk97%P~a-JyCRFjejW@L>n4vt6#hq;!|m;hNE||LK3nw1{bJOy+eBJjK=QqNjI;Q6;Rp5 z&035pZDUZ#%Oa;&_7x0T<7!RW`#YBOj}F380Bq?MjjEhrvlCATPdkCTTl+2efTX$k zH&0zR1n^`C3ef~^sXzJK-)52(T}uTG%OF8yDhT76L~|^+hZ2hiSM*QA9*D5odI1>& z9kV9jC~twA5MwyOx(lsGD_ggYmztXPD`2=_V|ks_FOx!_J8!zM zTzh^cc+=VNZ&(OdN=y4Juw)@8-85lwf_#VMN!Ed(eQiRiLB2^2e`4dp286h@v@`O%_b)Y~A; zv}r6U?zs&@uD_+(_4bwoy7*uozNvp?bXFoB8?l8yG0qsm1JYzIvB_OH4_2G*IIOwT zVl%HX1562vLVcxM_RG*~w_`FbIc!(T=3>r528#%mwwMK}uEhJ()3MEby zQQjzqjWkwfI~;Fuj(Lj=Ug0y`>~C7`w&wzjK(rPw+Hpd~EvQ-ufQOiB4OMpyUKJhw zqEt~jle9d7S~LI~$6Z->J~QJ{Vdn3!c}g9}*KG^Kzr^(7VI5Gk(mHLL{itj_hG?&K4Ws0+T4gLfi3eu$N=`s36geNC?c zm!~}vG6lx9Uf^5M;bWntF<-{p^bruy~f?sk9 zcETAPQZLoJ8JzMMg<-=ju4keY@SY%Wo?u9Gx=j&dfa6LIAB|IrbORLV1-H==Z1zCM zeZcOYpm5>U2fU7V*h;%n`8 zN95QhfD994={1*<2vKLCNF)feKOGk`R#K~G=;rfq}|)s20&MCa65 zUM?xF5!&e0lF%|U!#rD@I{~OsS_?=;s_MQ_b_s=PuWdC)q|UQ&ea)DMRh5>fpQjXe z%9#*x=7{iRCtBKT#H>#v%>77|{4_slZ)XCY{s3j_r{tdpvb#|r|sbS^dU1x70$eJMU!h{Y7Kd{dl}9&vxQl6Jt1a` zHQZrWyY0?!vqf@u-fxU_@+}u(%Wm>0I#KP48tiAPYY!TdW(o|KtVI|EUB9V`CBBNaBLVih7+yMVF|GSoIQD0Jfb{ z!OXq;(>Z?O`1gap(L~bUcp>Lc@Jl-})^=6P%<~~9ywY=$iu8pJ0m*hOPzr~q`23eX zgbs;VOxxENe0UMVeN*>uCn9Gk!4siN-e>x)pIKAbQz!G)TcqIJ0`JBBaX>1-4_XO_-HCS^vr2vjv#7KltDZdyQ{tlWh4$Gm zB>|O1cBDC)yG(sbnc*@w6e%e}r*|IhpXckx&;sQCwGdKH+3oSG-2)Bf#x`@<4ETAr z0My%7RFh6ZLiZ_;X6Mu1YmXx7C$lSZ^}1h;j`EZd6@%JNUe=btBE z%s=Xmo1Ps?8G`}9+6>iaB8bgjUdXT?=trMu|4yLX^m0Dg{m7rpKNJey|EwHI+nN1e zL^>qN%5Fg)dGs4DO~uwIdXImN)QJ*Jhpj7$fq_^`{3fwpztL@WBB}OwQ#Epo-mqMO zsM$UgpFiG&d#)lzEQ{3Q;)&zTw;SzGOah-Dpm{!q7<8*)Ti_;xvV2TYXa}=faXZy? z3y?~GY@kl)>G&EvEijk9y1S`*=zBJSB1iet>0;x1Ai)*`^{pj0JMs)KAM=@UyOGtO z3y0BouW$N&TnwU6!%zS%nIrnANvZF&vB1~P5_d`x-giHuG zPJ;>XkVoghm#kZXRf>qxxEix;2;D1CC~NrbO6NBX!`&_$iXwP~P*c($EVV|669kDO zKoTLZNF4Cskh!Jz5ga9uZ`3o%7Pv`d^;a=cXI|>y;zC3rYPFLQkF*nv(r>SQvD*## z(Vo%^9g`%XwS0t#94zPq;mYGLKu4LU3;txF26?V~A0xZbU4Lmy`)>SoQX^m7fd^*E z+%{R4eN!rIk~K)M&UEzxp9dbY;_I^c} zOc{wlIrN_P(PPqi51k_$>Lt|X6A^|CGYgKAmoI#Li?;Wq%q~q*L7ehZkUrMxW67Jl zhsb~+U?33QS>eqyN{(odAkbopo=Q$Az?L+NZW>j;#~@wCDX?=L5SI|OxI~7!Pli;e zELMFcZtJY3!|=Gr2L4>z8yQ-{To>(f80*#;6`4IAiqUw`=Pg$%C?#1 z_g@hIGerILSU>=P>z{gM|DS91A4cT@PEIB^hSop!uhMo#2G;+tQSpDO_6nOnPWSLU zS;a9m^DFMXR4?*X=}d7l;nXuHk&0|m`NQn%d?8|Ab3A9l9Jh5s120ibWBdB z$5YwsK3;wvp!Kn@)Qae{ef`0#NwlRpQ}k^r>yos_Ne1;xyKLO?4)t_G4eK~wkUS2A&@_;)K0-03XGBzU+5f+uMDxC z(s8!8!RvdC#@`~fx$r)TKdLD6fWEVdEYtV#{ncT-ZMX~eI#UeQ-+H(Z43vVn%Yj9X zLdu9>o%wnWdvzA-#d6Z~vzj-}V3FQ5;axDIZ;i(95IIU=GQ4WuU{tl-{gk!5{l4_d zvvb&uE{%!iFwpymz{wh?bKr1*qzeZb5f6e6m_ozRF&zux2mlK=v_(_s^R6b5lu?_W4W3#<$zeG~Pd)^!4tzhs}-Sx$FJP>)ZGF(hVTH|C3(U zs0PO&*h_ zNA-&qZpTP$$LtIgfiCn07}XDbK#HIXdmv8zdz4TY;ifNIH-0jy(gMSByG2EF~Th#eb_TueZC` zE?3I>UTMpKQ})=C;6p!?G)M6w^u*A57bD?2X`m3X^6;&4%i_m(uGJ3Z5h`nwxM<)H z$I5m?wN>O~8`BGnZ=y^p6;0+%_0K}Dcg|K;+fEi|qoBqvHj(M&aHGqNF48~XqhtU? z^ogwBzRlOfpAJ+Rw7IED8lRbTdBdyEK$gPUpUG}j-M42xDj_&qEAQEtbs>D#dRd7Y z<&TpSZ(quQDHiCFn&0xsrz~4`4tz!CdL8m~HxZM_agu@IrBpyeL1Ft}V$HX_ZqDPm z-f89)pjuEzGdq-PRu`b1m+qBGY{zr_>{6Ss>F|xHZlJj9dt5HD$u`1*WZe)qEIuDSR)%z+|n zatVlhQ?$w#XRS7xUrFE;Y8vMGhQS5*T{ZnY=q1P?w5g$OKJ#M&e??tAmPWHMj3xhS ziGxapy?kn@$~2%ZY;M8Bc@%$pkl%Rvj!?o%agBvpQ-Q61n9kznC4ttrRNQ4%GFR5u zyv%Yo9~yxQJWJSfj z?#HY$y=O~F|2pZs22pu|_&Ajd+D(Mt!nPUG{|1nlvP`=R#kKH zO*s$r_%ss5h1YO7k0bHJ2CXN)Yd6CHn~W!R=SqkWe=&nAZu(Q1G!xgcUilM@YVei@2@a`8he z9@pM`)VB*=e7-MWgLlXlc)t;fF&-AwM{E-EX}pViFn0I0CNw2bNEnN2dj!^4(^zS3 zobUm1uQnpqk_4q{pl*n06=TfK_C>UgurKFjRXsK_LEn};=79`TB12tv6KzwSu*-C8 z;=~ohDLZylHQ|Mpx-?yql>|e=vI1Z!epyUpAcDCp4T|*RV&X`Q$0ogNwy6mFALo^@ z9=&(9txO8V@E!@6^(W0{*~CT>+-MA~vnJULBxCTUW>X5>r7*eXYUT0B6+w@lzw%n> z_VjJ<2qf|(d6jYq2(x$(ZDf!yVkfnbvNmb5c|hhZ^2TV_LBz`9w!e_V*W_(MiA7|= z&EeIIkw*+$Xd!)j8<@_<}A5;~A_>3JT*kX^@}cDoLd>Qj<`Se^wdUa(j0dp+Tl8EptwBm{9OGsdFEq zM`!pjf(Lm(`$e3FLOjqA5LnN5o!}z{ zNf}rJuZh@yUtq&ErjHeGzX4(!luV!jB&;FAP|!R_QHYw#^Z1LwTePAKJ6X&IDNO#; z)#I@Xnnzyij~C@UH~X51JCgQeF0&hTXnuoElz#m{heZRexWc0k4<>0+ClX7%0 zEBqCCld1tD9Zwkr4{?Nor19#E5-YKfB8d?qgR82-Ow2^AuNevly2*tHA|sK!ybYkX zm-sLQH72P&{vEAW6+z~O5d0qd=xW~rua~5a?ymYFSD@8&gV)E5@RNNBAj^C99+Z5Z zR@Pq55mbCQbz+Mn$d_CMW<-+?TU960agEk1J<>d>0K=pF19yN))a~4>m^G&tc*xR+yMD*S=yip-q=H zIlredHpsJV8H(32@Zxc@bX6a21dUV95Th--8pE6C&3F>pk=yv$yd6@Haw;$v4+Fcb zRwn{Qo@0`7aPa2LQOP}j9v>sjOo5Kqvn|`FLizX zB+@-u4Lw|jsvz{p^>n8Vo8H2peIqJJnMN}A)q6%$Tmig7eu^}K2 zrh$X?T|ZMsoh{6pdw1G$_T<`Ds-G=jc;qcGdK4{?dN2-XxjDNbb(7pk|3JUVCU4y; z)?LXR>f+AAu)JEiti_Zy#z5{RgsC}R(@jl%9YZ>zu~hKQ*AxbvhC378-I@{~#%Y`Z zy=a=9YpewPIC+gkEUUwtUL7|RU7=!^Aa}Mk^6uxOgRGA#JXjWLsjFUnix|Mau{hDT z7mn*z1m5g`vP(#tjT0Zy4eAY(br&!RiiXE=ZI!{sE1#^#%x^Z7t1U)b<;%Y}Q9=5v z;wpDCEZ@OE36TWT=|gxigT@VaW9BvHS05;_P(#s z8zI4XFQys}q)<`tkX$WnSarn{3e!s}4(J!=Yf>+Y>cP3f;vr63f2{|S^`_pWc)^5_!R z*(x-fuBxL51@xe!lnDBKi}Br$c$BMZ3%f2Sa6kLabiBS{pq*yj;q|k(86x`PiC{p6 z_bxCW{>Q2BA8~Ggz&0jkrcU+-$ANBsOop*ms>34K9lNYil@}jC;?cYP(m^P}nR6FV zk(M%48Z&%2Rx$A&FhOEirEhY0(dn;-k(qkTU)sFQ`+-ih+s@A8g?r8Pw+}2;35WYf zi}VO`jS`p(tc)$X$a>-#WXoW!phhatC*$}|rk>|wUU71eUJG^$c6_jwX?iSHM@6__ zvV|6%U*$sSXJu9SX?2%M^kK|}a2QJ8AhF{fuXrHZxXsI~O zGKX45!K7p*MCPEQ=gp?eu&#AW*pR{lhQR##P_*{c_DjMGL|3T3-bSJ(o$|M{ytU}> zAV>wq*uE*qFo9KvnA^@juy{x<-u*#2NvkV={Ly}ysKYB-k`K3@K#^S1Bb$8Y#0L0# z`6IkSG&|Z$ODy|VLS+y5pFJx&8tvPmMd8c9FhCyiU8~k6FwkakUd^(_ml8`rnl>JS zZV){9G*)xBqPz^LDqRwyS6w86#D^~xP4($150M)SOZRe9sn=>V#aG0Iy(_^YcPpIz8QYM-#s+n% z@Jd?xQq?Xk6=<3xSY7XYP$$yd&Spu{A#uafiIfy8gRC`o0nk{ezEDjb=q_qRAlR1d zFq^*9Gn)yTG4b}R{!+3hWQ+u3GT~8nwl2S1lpw`s0X_qpxv)g+JIkVKl${sYf_nV~B>Em>M;RlqGb5WVil(89 zs=ld@|#;dq1*vQGz=7--Br-|l) zZ%Xh@v8>B7P?~}?Cg$q9_={59l%m~O&*a6TKsCMAzG&vD>k2WDzJ6!tc!V)+oxF;h zJH;apM=wO?r_+*#;ulohuP=E>^zon}a$NnlcQ{1$SO*i=jnGVcQa^>QOILc)e6;eNTI>os=eaJ{*^DE+~jc zS}TYeOykDmJ=6O%>m`i*>&pO_S;qMySJIyP=}4E&J%#1zju$RpVAkZbEl+p%?ZP^C z*$$2b4t%a(e+%>a>d_f_<JjxI#J1x;=hPd1zFPx=6T$;;X1TD*2(edZ3f46zaAoW>L53vS_J*N8TMB|n+;LD| zC=GkQPpyDY#Am4l49chDv*gojhRj_?63&&8#doW`INATAo(qY#{q}%nf@eTIXmtU< zdB<7YWfyCmBs|c)cK>1)v&M#!yNj#4d$~pVfDWQc_ke1?fw{T1Nce_b`v|Vp5ig(H zJvRD^+ps46^hLX;=e2!2e;w9y1D@!D$c@Jc&%%%IL=+xzw55&2?darw=9g~>P z9>?Kdc$r?6c$m%x2S$sdpPl>GQZ{rC9mPS63*qjCVa?OIBj!fW zm|g?>CVfGXNjOfcyqImXR_(tXS(F{FcoNzKvG5R$IgGaxC@)i(e+$ME}vPVIhd|mx2IIE+f zM?9opQHIVgBWu)^A|RzXw!^??S!x)SZOwZaJkGjc<_}2l^eSBm!eAJG9T>EC6I_sy z?bxzDIAn&K5*mX)$RQzDA?s)-no-XF(g*yl4%+GBf`##bDXJ==AQk*xmnatI;SsLp zP9XTHq5mmS=iWu~9ES>b%Q=1aMa|ya^vj$@qz9S!ih{T8_PD%Sf_QrNKwgrXw9ldm zHRVR98*{C?_XNpJn{abA!oix_mowRMu^2lV-LPi;0+?-F(>^5#OHX-fPED zCu^l7u3E%STI}c4{J2!)9SUlGP_@!d?5W^QJXOI-Ea`hFMKjR7TluLvzC-ozCPn1`Tpy z!vlv@_Z58ILX6>nDjTp-1LlFMx~-%GA`aJvG$?8*Ihn;mH37eK**rmOEwqegf-Ccx zrIX4;{c~RK>XuTXxYo5kMiWMy)!IC{*DHG@E$hx?RwP@+wuad(P1{@%tRkyJRqD)3 zMHHHZ4boqDn>-=DgR5VlhQTpfVy182Gk;A_S8A1-;U1RR>+$62>(MUx@Nox$vTjHq z%QR=j!6Gdyb5wu7y(YUktwMuW5<@jl?m4cv4BODiT5o8qVdC0MBqGr@-YBIwnpZAY znX9(_uQjP}JJ=!~Ve9#5I~rUnN|P_3D$LqZcvBnywYhjlMSFHm`;u9GPla{5QD7(7*6Tb3Svr8;(nuAd81q$*uq6HC_&~je*Ca7hP4sJp0av{M8480wF zxASi7Qv+~@2U%Nu1Ud;s-G4CTVWIPyx!sg&8ZG0Wq zG_}i3C(6_1>q3w!EH7$Kwq8uBp2F2N7}l65mk1p*9v0&+;th=_E-W)E;w}P(j⁢ zv5o9#E7!G0XmdzfsS{efPNi`1b44~SZ4Z8fuX!I}#8g+(wxzQwUT#Xb2(tbY1+EUhGKoT@KEU9Ktl>_0 z%bjDJg;#*gtJZv!-Zs`?^}v5eKmnbjqlvnSzE@_SP|LG_PJ6CYU+6zY6>92%E+ z=j@TZf-iW4(%U{lnYxQA;7Q!b;^brF8n0D>)`q5>|WDDXLrqYU_tKN2>=#@~OE7grMnNh?UOz-O~6 z6%rHy{#h9K0AT+lDC7q4{hw^|q6*Ry;;L%Q@)Ga}$60_q%D)rv(CtS$CQbpq9|y1e zRSrN4;$Jyl{m5bZw`$8TGvb}(LpY{-cQ)fcyJv7l3S52TLXVDsphtv&aPuDk1OzCA z4A^QtC(!11`IsNx_HnSy?>EKpHJWT^wmS~hc^p^zIIh@9f6U@I2 zC=Mve{j2^)mS#U$e{@Q?SO6%LDsXz@SY+=cK_QMmXBIU)j!$ajc-zLx3V60EXJ!qC zi<%2x8Q24YN+&8U@CIlN zrZkcT9yh%LrlGS9`G)KdP(@9Eo-AQz@8GEFWcb7U=a0H^ZVbLmz{+&M7W(nXJ4sN8 zJLR7eeK(K8`2-}j(T7JsO`L!+CvbueT%izanm-^A1Dn{`1Nw`9P?cq;7no+XfC`K(GO9?O^5zNIt4M+M8LM0=7Gz8UA@Z0N+lg+cX)NfazRu z5D)~HA^(u%w^cz+@2@_#S|u>GpB+j4KzQ^&Wcl9f z&hG#bCA(Yk0D&t&aJE^xME^&E-&xGHhXn%}psEIj641H+Nl-}boj;)Zt*t(4wZ5DN z@GXF$bL=&pBq-#vkTkh>7hl%K5|3 z{`Vn9b$iR-SoGENp}bn4;fR3>9sA%X2@1L3aE9yTra;Wb#_`xWwLSLdfu+PAu+o3| zGVnpzPr=ch{uuoHjtw7+_!L_2;knQ!DuDl0R`|%jr+}jFzXtrHIKc323?JO{l&;VF z*L1+}JU7%QJOg|5|Tc|D8fN zJORAg=_vsy{ak|o);@)Yh8Lkcg@$FG3k@ep36BRa^>~UmnRPziS>Z=`Jb2x*Q#`%A zU*i3&Vg?TluO@X0O;r2Jl6LKLUOVhSqg1*qOt^|8*c7 zo(298@+r$k_wQNGHv{|$tW(T8L+4_`FQ{kEW5Jgg{yf7ey4ss_(SNKfz(N9lx&a;< je(UuV8hP?p&}TPdm1I$XmG#(RzlD&B2izSj9sl%y5~4qc diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/gradle/wrapper/gradle-wrapper.properties b/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index ac72c34e8ac..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,7 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip -networkTimeout=10000 -validateDistributionUrl=true -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/gradlew b/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/gradlew deleted file mode 100755 index 0adc8e1a532..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/gradlew +++ /dev/null @@ -1,249 +0,0 @@ -#!/bin/sh - -# -# Copyright © 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -# This is normally unused -# shellcheck disable=SC2034 -APP_BASE_NAME=${0##*/} -# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - if ! command -v java >/dev/null 2>&1 - then - die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/gradlew.bat b/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/gradlew.bat deleted file mode 100644 index 93e3f59f135..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/gradlew.bat +++ /dev/null @@ -1,92 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/source_archive.expected b/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/source_archive.expected new file mode 100644 index 00000000000..1ee055eeb02 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/source_archive.expected @@ -0,0 +1,7 @@ +.gradle/8.3/dependencies-accessors/gc.properties +.gradle/8.3/gc.properties +.gradle/buildOutputCleanup/cache.properties +.gradle/vcs-1/gc.properties +gradle/wrapper/gradle-wrapper.properties +src/main/java/com/fractestexample/Test.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/test.expected b/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/test.expected deleted file mode 100644 index 05792cb19fc..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/test.expected +++ /dev/null @@ -1 +0,0 @@ -| src/main/java/com/fractestexample/Test.java:0:0:0:0 | Test | diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/test.py b/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/test.py index bfff65b2fc2..bea3e5f552c 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/test.py +++ b/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/test.py @@ -1,8 +1,7 @@ -from create_database_utils import * -from diagnostics_test_utils import * -from buildless_test_utils import * - -run_codeql_database_create([], lang="java", extra_env={"CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true", "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true"}) - -check_diagnostics() -check_buildless_fetches() +def test(codeql, java, gradle_8_3): + codeql.database.create( + _env={ + "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true", + "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true", + } + ) diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/test.ql b/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/test.ql deleted file mode 100644 index 8317a5a022f..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle-classifiers/test.ql +++ /dev/null @@ -1,5 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/force_sequential_test_execution deleted file mode 100644 index b0e2500b259..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/force_sequential_test_execution +++ /dev/null @@ -1,3 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/source_archive.expected b/java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/source_archive.expected new file mode 100644 index 00000000000..e51c49f2057 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/source_archive.expected @@ -0,0 +1,5 @@ +gradle/verification-metadata.xml +gradle/wrapper/gradle-wrapper.properties +src/main/java/com/example/App.java +src/test/java/com/example/AppTest.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/test.expected b/java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/test.expected deleted file mode 100644 index e7dd5838e6b..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/test.expected +++ /dev/null @@ -1,5 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| gradle/verification-metadata.xml:0:0:0:0 | gradle/verification-metadata.xml | diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/test.py b/java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/test.py index 5e02cc11397..b0e307f15bb 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/test.py +++ b/java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/test.py @@ -1,9 +1,7 @@ -import sys - -from create_database_utils import * -from diagnostics_test_utils import * - -# gradlew has been rigged to stall for a long time by trying to fetch from a black-hole IP. We should find the timeout logic fires and buildless aborts the Gradle run quickly. - -run_codeql_database_create([], lang="java", extra_args=["--build-mode=none"], extra_env={"CODEQL_EXTRACTOR_JAVA_BUILDLESS_CHILD_PROCESS_IDLE_TIMEOUT": "5"}) -check_diagnostics() +def test(codeql, java): + # gradlew has been rigged to stall for a long time by trying to fetch from a black-hole IP. + # We should find the timeout logic fires and buildless aborts the Gradle run quickly. + codeql.database.create( + build_mode="none", + _env={"CODEQL_EXTRACTOR_JAVA_BUILDLESS_CHILD_PROCESS_IDLE_TIMEOUT": "5"}, + ) diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/test.ql b/java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle-timeout/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle/.gitattributes b/java/ql/integration-tests/all-platforms/java/buildless-gradle/.gitattributes deleted file mode 100644 index 097f9f98d9e..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle/.gitattributes +++ /dev/null @@ -1,9 +0,0 @@ -# -# https://help.github.com/articles/dealing-with-line-endings/ -# -# Linux start script should use lf -/gradlew text eol=lf - -# These are Windows script files and should use crlf -*.bat text eol=crlf - diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle/.gitignore b/java/ql/integration-tests/all-platforms/java/buildless-gradle/.gitignore deleted file mode 100644 index 1b6985c0094..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -# Ignore Gradle project-specific cache directory -.gradle - -# Ignore Gradle build output directory -build diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/buildless-gradle/force_sequential_test_execution deleted file mode 100644 index b0e2500b259..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle/force_sequential_test_execution +++ /dev/null @@ -1,3 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle/gradle/wrapper/gradle-wrapper.jar b/java/ql/integration-tests/all-platforms/java/buildless-gradle/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7f93135c49b765f8051ef9d0a6055ff8e46073d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63721 zcmb5Wb9gP!wgnp7wrv|bwr$&XvSZt}Z6`anZSUAlc9NHKf9JdJ;NJVr`=eI(_pMp0 zy1VAAG3FfAOI`{X1O)&90s;U4K;XLp008~hCjbEC_fbYfS%6kTR+JtXK>nW$ZR+`W ze|#J8f4A@M|F5BpfUJb5h>|j$jOe}0oE!`Zf6fM>CR?!y@zU(cL8NsKk`a z6tx5mAkdjD;J=LcJ;;Aw8p!v#ouk>mUDZF@ zK>yvw%+bKu+T{Nk@LZ;zkYy0HBKw06_IWcMHo*0HKpTsEFZhn5qCHH9j z)|XpN&{`!0a>Vl+PmdQc)Yg4A(AG-z!+@Q#eHr&g<9D?7E)_aEB?s_rx>UE9TUq|? z;(ggJt>9l?C|zoO@5)tu?EV0x_7T17q4fF-q3{yZ^ipUbKcRZ4Qftd!xO(#UGhb2y>?*@{xq%`(-`2T^vc=#< zx!+@4pRdk&*1ht2OWk^Z5IAQ0YTAXLkL{(D*$gENaD)7A%^XXrCchN&z2x+*>o2FwPFjWpeaL=!tzv#JOW#( z$B)Nel<+$bkH1KZv3&-}=SiG~w2sbDbAWarg%5>YbC|}*d9hBjBkR(@tyM0T)FO$# zPtRXukGPnOd)~z=?avu+4Co@wF}1T)-uh5jI<1$HLtyDrVak{gw`mcH@Q-@wg{v^c zRzu}hMKFHV<8w}o*yg6p@Sq%=gkd~;`_VGTS?L@yVu`xuGy+dH6YOwcP6ZE`_0rK% zAx5!FjDuss`FQ3eF|mhrWkjux(Pny^k$u_)dyCSEbAsecHsq#8B3n3kDU(zW5yE|( zgc>sFQywFj5}U*qtF9Y(bi*;>B7WJykcAXF86@)z|0-Vm@jt!EPoLA6>r)?@DIobIZ5Sx zsc@OC{b|3%vaMbyeM|O^UxEYlEMHK4r)V-{r)_yz`w1*xV0|lh-LQOP`OP`Pk1aW( z8DSlGN>Ts|n*xj+%If~+E_BxK)~5T#w6Q1WEKt{!Xtbd`J;`2a>8boRo;7u2M&iOop4qcy<)z023=oghSFV zST;?S;ye+dRQe>ygiJ6HCv4;~3DHtJ({fWeE~$H@mKn@Oh6Z(_sO>01JwH5oA4nvK zr5Sr^g+LC zLt(i&ecdmqsIJGNOSUyUpglvhhrY8lGkzO=0USEKNL%8zHshS>Qziu|`eyWP^5xL4 zRP122_dCJl>hZc~?58w~>`P_s18VoU|7(|Eit0-lZRgLTZKNq5{k zE?V=`7=R&ro(X%LTS*f+#H-mGo_j3dm@F_krAYegDLk6UV{`UKE;{YSsn$ z(yz{v1@p|p!0>g04!eRSrSVb>MQYPr8_MA|MpoGzqyd*$@4j|)cD_%^Hrd>SorF>@ zBX+V<@vEB5PRLGR(uP9&U&5=(HVc?6B58NJT_igiAH*q~Wb`dDZpJSKfy5#Aag4IX zj~uv74EQ_Q_1qaXWI!7Vf@ZrdUhZFE;L&P_Xr8l@GMkhc#=plV0+g(ki>+7fO%?Jb zl+bTy7q{w^pTb{>(Xf2q1BVdq?#f=!geqssXp z4pMu*q;iiHmA*IjOj4`4S&|8@gSw*^{|PT}Aw~}ZXU`6=vZB=GGeMm}V6W46|pU&58~P+?LUs%n@J}CSrICkeng6YJ^M? zS(W?K4nOtoBe4tvBXs@@`i?4G$S2W&;$z8VBSM;Mn9 zxcaEiQ9=vS|bIJ>*tf9AH~m&U%2+Dim<)E=}KORp+cZ^!@wI`h1NVBXu{@%hB2Cq(dXx_aQ9x3mr*fwL5!ZryQqi|KFJuzvP zK1)nrKZ7U+B{1ZmJub?4)Ln^J6k!i0t~VO#=q1{?T)%OV?MN}k5M{}vjyZu#M0_*u z8jwZKJ#Df~1jcLXZL7bnCEhB6IzQZ-GcoQJ!16I*39iazoVGugcKA{lhiHg4Ta2fD zk1Utyc5%QzZ$s3;p0N+N8VX{sd!~l*Ta3|t>lhI&G`sr6L~G5Lul`>m z{!^INm?J|&7X=;{XveF!(b*=?9NAp4y&r&N3(GKcW4rS(Ejk|Lzs1PrxPI_owB-`H zg3(Rruh^&)`TKA6+_!n>RdI6pw>Vt1_j&+bKIaMTYLiqhZ#y_=J8`TK{Jd<7l9&sY z^^`hmi7^14s16B6)1O;vJWOF$=$B5ONW;;2&|pUvJlmeUS&F;DbSHCrEb0QBDR|my zIs+pE0Y^`qJTyH-_mP=)Y+u^LHcuZhsM3+P||?+W#V!_6E-8boP#R-*na4!o-Q1 zVthtYhK{mDhF(&7Okzo9dTi03X(AE{8cH$JIg%MEQca`S zy@8{Fjft~~BdzWC(di#X{ny;!yYGK9b@=b|zcKZ{vv4D8i+`ilOPl;PJl{!&5-0!w z^fOl#|}vVg%=n)@_e1BrP)`A zKPgs`O0EO}Y2KWLuo`iGaKu1k#YR6BMySxQf2V++Wo{6EHmK>A~Q5o73yM z-RbxC7Qdh0Cz!nG+7BRZE>~FLI-?&W_rJUl-8FDIaXoNBL)@1hwKa^wOr1($*5h~T zF;%f^%<$p8Y_yu(JEg=c_O!aZ#)Gjh$n(hfJAp$C2he555W5zdrBqjFmo|VY+el;o z=*D_w|GXG|p0**hQ7~9-n|y5k%B}TAF0iarDM!q-jYbR^us(>&y;n^2l0C%@2B}KM zyeRT9)oMt97Agvc4sEKUEy%MpXr2vz*lb zh*L}}iG>-pqDRw7ud{=FvTD?}xjD)w{`KzjNom-$jS^;iw0+7nXSnt1R@G|VqoRhE%12nm+PH?9`(4rM0kfrZzIK9JU=^$YNyLvAIoxl#Q)xxDz!^0@zZ zSCs$nfcxK_vRYM34O<1}QHZ|hp4`ioX3x8(UV(FU$J@o%tw3t4k1QPmlEpZa2IujG&(roX_q*%e`Hq|);0;@k z0z=fZiFckp#JzW0p+2A+D$PC~IsakhJJkG(c;CqAgFfU0Z`u$PzG~-9I1oPHrCw&)@s^Dc~^)#HPW0Ra}J^=|h7Fs*<8|b13ZzG6MP*Q1dkoZ6&A^!}|hbjM{2HpqlSXv_UUg1U4gn z3Q)2VjU^ti1myodv+tjhSZp%D978m~p& z43uZUrraHs80Mq&vcetqfQpQP?m!CFj)44t8Z}k`E798wxg&~aCm+DBoI+nKq}&j^ zlPY3W$)K;KtEajks1`G?-@me7C>{PiiBu+41#yU_c(dITaqE?IQ(DBu+c^Ux!>pCj zLC|HJGU*v+!it1(;3e`6igkH(VA)-S+k(*yqxMgUah3$@C zz`7hEM47xr>j8^g`%*f=6S5n>z%Bt_Fg{Tvmr+MIsCx=0gsu_sF`q2hlkEmisz#Fy zj_0;zUWr;Gz}$BS%Y`meb(=$d%@Crs(OoJ|}m#<7=-A~PQbyN$x%2iXP2@e*nO0b7AwfH8cCUa*Wfu@b)D_>I*%uE4O3 z(lfnB`-Xf*LfC)E}e?%X2kK7DItK6Tf<+M^mX0Ijf_!IP>7c8IZX%8_#0060P{QMuV^B9i<^E`_Qf0pv9(P%_s8D`qvDE9LK9u-jB}J2S`(mCO&XHTS04Z5Ez*vl^T%!^$~EH8M-UdwhegL>3IQ*)(MtuH2Xt1p!fS4o~*rR?WLxlA!sjc2(O znjJn~wQ!Fp9s2e^IWP1C<4%sFF}T4omr}7+4asciyo3DntTgWIzhQpQirM$9{EbQd z3jz9vS@{aOqTQHI|l#aUV@2Q^Wko4T0T04Me4!2nsdrA8QY1%fnAYb~d2GDz@lAtfcHq(P7 zaMBAGo}+NcE-K*@9y;Vt3*(aCaMKXBB*BJcD_Qnxpt75r?GeAQ}*|>pYJE=uZb73 zC>sv)18)q#EGrTG6io*}JLuB_jP3AU1Uiu$D7r|2_zlIGb9 zjhst#ni)Y`$)!fc#reM*$~iaYoz~_Cy7J3ZTiPm)E?%`fbk`3Tu-F#`{i!l5pNEn5 zO-Tw-=TojYhzT{J=?SZj=Z8#|eoF>434b-DXiUsignxXNaR3 zm_}4iWU$gt2Mw5NvZ5(VpF`?X*f2UZDs1TEa1oZCif?Jdgr{>O~7}-$|BZ7I(IKW`{f;@|IZFX*R8&iT= zoWstN8&R;}@2Ka%d3vrLtR|O??ben;k8QbS-WB0VgiCz;<$pBmIZdN!aalyCSEm)crpS9dcD^Y@XT1a3+zpi-`D}e#HV<} z$Y(G&o~PvL-xSVD5D?JqF3?B9rxGWeb=oEGJ3vRp5xfBPlngh1O$yI95EL+T8{GC@ z98i1H9KhZGFl|;`)_=QpM6H?eDPpw~^(aFQWwyXZ8_EEE4#@QeT_URray*mEOGsGc z6|sdXtq!hVZo=d#+9^@lm&L5|q&-GDCyUx#YQiccq;spOBe3V+VKdjJA=IL=Zn%P} zNk=_8u}VhzFf{UYZV0`lUwcD&)9AFx0@Fc6LD9A6Rd1=ga>Mi0)_QxM2ddCVRmZ0d z+J=uXc(?5JLX3=)e)Jm$HS2yF`44IKhwRnm2*669_J=2LlwuF5$1tAo@ROSU@-y+;Foy2IEl2^V1N;fk~YR z?&EP8#t&m0B=?aJeuz~lHjAzRBX>&x=A;gIvb>MD{XEV zV%l-+9N-)i;YH%nKP?>f`=?#`>B(`*t`aiPLoQM(a6(qs4p5KFjDBN?8JGrf3z8>= zi7sD)c)Nm~x{e<^jy4nTx${P~cwz_*a>%0_;ULou3kHCAD7EYkw@l$8TN#LO9jC( z1BeFW`k+bu5e8Ns^a8dPcjEVHM;r6UX+cN=Uy7HU)j-myRU0wHd$A1fNI~`4;I~`zC)3ul#8#^rXVSO*m}Ag>c%_;nj=Nv$rCZ z*~L@C@OZg%Q^m)lc-kcX&a*a5`y&DaRxh6O*dfhLfF+fU5wKs(1v*!TkZidw*)YBP za@r`3+^IHRFeO%!ai%rxy;R;;V^Fr=OJlpBX;(b*3+SIw}7= zIq$*Thr(Zft-RlY)D3e8V;BmD&HOfX+E$H#Y@B3?UL5L~_fA-@*IB-!gItK7PIgG9 zgWuGZK_nuZjHVT_Fv(XxtU%)58;W39vzTI2n&)&4Dmq7&JX6G>XFaAR{7_3QB6zsT z?$L8c*WdN~nZGiscY%5KljQARN;`w$gho=p006z;n(qIQ*Zu<``TMO3n0{ARL@gYh zoRwS*|Niw~cR!?hE{m*y@F`1)vx-JRfqET=dJ5_(076st(=lFfjtKHoYg`k3oNmo_ zNbQEw8&sO5jAYmkD|Zaz_yUb0rC})U!rCHOl}JhbYIDLzLvrZVw0~JO`d*6f;X&?V=#T@ND*cv^I;`sFeq4 z##H5;gpZTb^0Hz@3C*~u0AqqNZ-r%rN3KD~%Gw`0XsIq$(^MEb<~H(2*5G^<2(*aI z%7}WB+TRlMIrEK#s0 z93xn*Ohb=kWFc)BNHG4I(~RPn-R8#0lqyBBz5OM6o5|>x9LK@%HaM}}Y5goCQRt2C z{j*2TtT4ne!Z}vh89mjwiSXG=%DURar~=kGNNaO_+Nkb+tRi~Rkf!7a$*QlavziD( z83s4GmQ^Wf*0Bd04f#0HX@ua_d8 z23~z*53ePD6@xwZ(vdl0DLc=>cPIOPOdca&MyR^jhhKrdQO?_jJh`xV3GKz&2lvP8 zEOwW6L*ufvK;TN{=S&R@pzV^U=QNk^Ec}5H z+2~JvEVA{`uMAr)?Kf|aW>33`)UL@bnfIUQc~L;TsTQ6>r-<^rB8uoNOJ>HWgqMI8 zSW}pZmp_;z_2O5_RD|fGyTxaxk53Hg_3Khc<8AUzV|ZeK{fp|Ne933=1&_^Dbv5^u zB9n=*)k*tjHDRJ@$bp9mrh}qFn*s}npMl5BMDC%Hs0M0g-hW~P*3CNG06G!MOPEQ_ zi}Qs-6M8aMt;sL$vlmVBR^+Ry<64jrm1EI1%#j?c?4b*7>)a{aDw#TfTYKq+SjEFA z(aJ&z_0?0JB83D-i3Vh+o|XV4UP+YJ$9Boid2^M2en@APw&wx7vU~t$r2V`F|7Qfo z>WKgI@eNBZ-+Og<{u2ZiG%>YvH2L3fNpV9J;WLJoBZda)01Rn;o@){01{7E#ke(7U zHK>S#qZ(N=aoae*4X!0A{)nu0R_sKpi1{)u>GVjC+b5Jyl6#AoQ-1_3UDovNSo`T> z?c-@7XX*2GMy?k?{g)7?Sv;SJkmxYPJPs!&QqB12ejq`Lee^-cDveVWL^CTUldb(G zjDGe(O4P=S{4fF=#~oAu>LG>wrU^z_?3yt24FOx>}{^lCGh8?vtvY$^hbZ)9I0E3r3NOlb9I?F-Yc=r$*~l`4N^xzlV~N zl~#oc>U)Yjl0BxV>O*Kr@lKT{Z09OXt2GlvE38nfs+DD7exl|&vT;)>VFXJVZp9Np zDK}aO;R3~ag$X*|hRVY3OPax|PG`@_ESc8E!mHRByJbZQRS38V2F__7MW~sgh!a>98Q2%lUNFO=^xU52|?D=IK#QjwBky-C>zOWlsiiM&1n z;!&1((Xn1$9K}xabq~222gYvx3hnZPg}VMF_GV~5ocE=-v>V=T&RsLBo&`)DOyIj* zLV{h)JU_y*7SdRtDajP_Y+rBkNN*1_TXiKwHH2&p51d(#zv~s#HwbNy?<+(=9WBvo zw2hkk2Dj%kTFhY+$T+W-b7@qD!bkfN#Z2ng@Pd=i3-i?xYfs5Z*1hO?kd7Sp^9`;Y zM2jeGg<-nJD1er@Pc_cSY7wo5dzQX44=%6rn}P_SRbpzsA{6B+!$3B0#;}qwO37G^ zL(V_5JK`XT?OHVk|{_$vQ|oNEpab*BO4F zUTNQ7RUhnRsU`TK#~`)$icsvKh~(pl=3p6m98@k3P#~upd=k*u20SNcb{l^1rUa)>qO997)pYRWMncC8A&&MHlbW?7i^7M`+B$hH~Y|J zd>FYOGQ;j>Zc2e7R{KK7)0>>nn_jYJy&o@sK!4G>-rLKM8Hv)f;hi1D2fAc$+six2 zyVZ@wZ6x|fJ!4KrpCJY=!Mq0;)X)OoS~{Lkh6u8J`eK%u0WtKh6B>GW_)PVc zl}-k`p09qwGtZ@VbYJC!>29V?Dr>>vk?)o(x?!z*9DJ||9qG-&G~#kXxbw{KKYy}J zQKa-dPt~M~E}V?PhW0R26xdA%1T*%ra6SguGu50YHngOTIv)@N|YttEXo#OZfgtP7;H?EeZZxo<}3YlYxtBq znJ!WFR^tmGf0Py}N?kZ(#=VtpC@%xJkDmfcCoBTxq zr_|5gP?u1@vJZbxPZ|G0AW4=tpb84gM2DpJU||(b8kMOV1S3|(yuwZJ&rIiFW(U;5 zUtAW`O6F6Zy+eZ1EDuP~AAHlSY-+A_eI5Gx)%*uro5tljy}kCZU*_d7)oJ>oQSZ3* zneTn`{gnNC&uJd)0aMBzAg021?YJ~b(fmkwZAd696a=0NzBAqBN54KuNDwa*no(^O z6p05bioXUR^uXjpTol*ppHp%1v9e)vkoUAUJyBx3lw0UO39b0?^{}yb!$yca(@DUn zCquRF?t=Zb9`Ed3AI6|L{eX~ijVH`VzSMheKoP7LSSf4g>md>`yi!TkoG5P>Ofp+n z(v~rW+(5L96L{vBb^g51B=(o)?%%xhvT*A5btOpw(TKh^g^4c zw>0%X!_0`{iN%RbVk+A^f{w-4-SSf*fu@FhruNL##F~sF24O~u zyYF<3el2b$$wZ_|uW#@Ak+VAGk#e|kS8nL1g>2B-SNMjMp^8;-FfeofY2fphFHO!{ z*!o4oTb{4e;S<|JEs<1_hPsmAlVNk?_5-Fp5KKU&d#FiNW~Y+pVFk@Cua1I{T+1|+ zHx6rFMor)7L)krbilqsWwy@T+g3DiH5MyVf8Wy}XbEaoFIDr~y;@r&I>FMW{ z?Q+(IgyebZ)-i4jNoXQhq4Muy9Fv+OxU;9_Jmn+<`mEC#%2Q_2bpcgzcinygNI!&^ z=V$)o2&Yz04~+&pPWWn`rrWxJ&}8khR)6B(--!9Q zubo}h+1T)>a@c)H^i``@<^j?|r4*{;tQf78(xn0g39IoZw0(CwY1f<%F>kEaJ zp9u|IeMY5mRdAlw*+gSN^5$Q)ShM<~E=(c8QM+T-Qk)FyKz#Sw0EJ*edYcuOtO#~Cx^(M7w5 z3)rl#L)rF|(Vun2LkFr!rg8Q@=r>9p>(t3Gf_auiJ2Xx9HmxYTa|=MH_SUlYL`mz9 zTTS$`%;D-|Jt}AP1&k7PcnfFNTH0A-*FmxstjBDiZX?}%u%Yq94$fUT&z6od+(Uk> zuqsld#G(b$G8tus=M!N#oPd|PVFX)?M?tCD0tS%2IGTfh}3YA3f&UM)W$_GNV8 zQo+a(ml2Km4o6O%gKTCSDNq+#zCTIQ1*`TIJh~k6Gp;htHBFnne))rlFdGqwC6dx2+La1&Mnko*352k0y z+tQcwndQlX`nc6nb$A9?<-o|r*%aWXV#=6PQic0Ok_D;q>wbv&j7cKc!w4~KF#-{6 z(S%6Za)WpGIWf7jZ3svNG5OLs0>vCL9{V7cgO%zevIVMH{WgP*^D9ws&OqA{yr|m| zKD4*07dGXshJHd#e%x%J+qmS^lS|0Bp?{drv;{@{l9ArPO&?Q5=?OO9=}h$oVe#3b z3Yofj&Cb}WC$PxmRRS)H%&$1-)z7jELS}!u!zQ?A^Y{Tv4QVt*vd@uj-^t2fYRzQj zfxGR>-q|o$3sGn^#VzZ!QQx?h9`njeJry}@x?|k0-GTTA4y3t2E`3DZ!A~D?GiJup z)8%PK2^9OVRlP(24P^4_<|D=H^7}WlWu#LgsdHzB%cPy|f8dD3|A^mh4WXxhLTVu_ z@abE{6Saz|Y{rXYPd4$tfPYo}ef(oQWZ=4Bct-=_9`#Qgp4ma$n$`tOwq#&E18$B; z@Bp)bn3&rEi0>fWWZ@7k5WazfoX`SCO4jQWwVuo+$PmSZn^Hz?O(-tW@*DGxuf)V1 zO_xm&;NVCaHD4dqt(-MlszI3F-p?0!-e$fbiCeuaw66h^TTDLWuaV<@C-`=Xe5WL) zwooG7h>4&*)p3pKMS3O!4>-4jQUN}iAMQ)2*70?hP~)TzzR?-f@?Aqy$$1Iy8VGG$ zMM?8;j!pUX7QQD$gRc_#+=raAS577ga-w?jd`vCiN5lu)dEUkkUPl9!?{$IJNxQys z*E4e$eF&n&+AMRQR2gcaFEjAy*r)G!s(P6D&TfoApMFC_*Ftx0|D0@E-=B7tezU@d zZ{hGiN;YLIoSeRS;9o%dEua4b%4R3;$SugDjP$x;Z!M!@QibuSBb)HY!3zJ7M;^jw zlx6AD50FD&p3JyP*>o+t9YWW8(7P2t!VQQ21pHJOcG_SXQD;(5aX#M6x##5H_Re>6lPyDCjxr*R(+HE%c&QN+b^tbT zXBJk?p)zhJj#I?&Y2n&~XiytG9!1ox;bw5Rbj~)7c(MFBb4>IiRATdhg zmiEFlj@S_hwYYI(ki{}&<;_7(Z0Qkfq>am z&LtL=2qc7rWguk3BtE4zL41@#S;NN*-jWw|7Kx7H7~_%7fPt;TIX}Ubo>;Rmj94V> zNB1=;-9AR7s`Pxn}t_6^3ahlq53e&!Lh85uG zec0vJY_6e`tg7LgfrJ3k!DjR)Bi#L@DHIrZ`sK=<5O0Ip!fxGf*OgGSpP@Hbbe&$9 z;ZI}8lEoC2_7;%L2=w?tb%1oL0V+=Z`7b=P&lNGY;yVBazXRYu;+cQDKvm*7NCxu&i;zub zAJh#11%?w>E2rf2e~C4+rAb-&$^vsdACs7 z@|Ra!OfVM(ke{vyiqh7puf&Yp6cd6{DptUteYfIRWG3pI+5< zBVBI_xkBAc<(pcb$!Y%dTW(b;B;2pOI-(QCsLv@U-D1XJ z(Gk8Q3l7Ws46Aktuj>|s{$6zA&xCPuXL-kB`CgYMs}4IeyG*P51IDwW?8UNQd+$i~ zlxOPtSi5L|gJcF@DwmJA5Ju8HEJ>o{{upwIpb!f{2(vLNBw`7xMbvcw<^{Fj@E~1( z?w`iIMieunS#>nXlmUcSMU+D3rX28f?s7z;X=se6bo8;5vM|O^(D6{A9*ChnGH!RG zP##3>LDC3jZPE4PH32AxrqPk|yIIrq~`aL-=}`okhNu9aT%q z1b)7iJ)CN=V#Ly84N_r7U^SH2FGdE5FpTO2 z630TF$P>GNMu8`rOytb(lB2};`;P4YNwW1<5d3Q~AX#P0aX}R2b2)`rgkp#zTxcGj zAV^cvFbhP|JgWrq_e`~exr~sIR$6p5V?o4Wym3kQ3HA+;Pr$bQ0(PmADVO%MKL!^q z?zAM8j1l4jrq|5X+V!8S*2Wl@=7*pPgciTVK6kS1Ge zMsd_u6DFK$jTnvVtE;qa+8(1sGBu~n&F%dh(&c(Zs4Fc#A=gG^^%^AyH}1^?|8quj zl@Z47h$){PlELJgYZCIHHL= z{U8O>Tw4x3<1{?$8>k-P<}1y9DmAZP_;(3Y*{Sk^H^A=_iSJ@+s5ktgwTXz_2$~W9>VVZsfwCm@s0sQ zeB50_yu@uS+e7QoPvdCwDz{prjo(AFwR%C?z`EL{1`|coJHQTk^nX=tvs1<0arUOJ z!^`*x&&BvTYmemyZ)2p~{%eYX=JVR?DYr(rNgqRMA5E1PR1Iw=prk=L2ldy3r3Vg@27IZx43+ywyzr-X*p*d@tZV+!U#~$-q=8c zgdSuh#r?b4GhEGNai)ayHQpk>5(%j5c@C1K3(W1pb~HeHpaqijJZa-e6vq_8t-^M^ zBJxq|MqZc?pjXPIH}70a5vt!IUh;l}<>VX<-Qcv^u@5(@@M2CHSe_hD$VG-eiV^V( zj7*9T0?di?P$FaD6oo?)<)QT>Npf6Og!GO^GmPV(Km0!=+dE&bk#SNI+C9RGQ|{~O*VC+tXK3!n`5 zHfl6>lwf_aEVV3`0T!aHNZLsj$paS$=LL(?b!Czaa5bbSuZ6#$_@LK<(7yrrl+80| z{tOFd=|ta2Z`^ssozD9BINn45NxUeCQis?-BKmU*Kt=FY-NJ+)8S1ecuFtN-M?&42 zl2$G>u!iNhAk*HoJ^4v^9#ORYp5t^wDj6|lx~5w45#E5wVqI1JQ~9l?nPp1YINf++ zMAdSif~_ETv@Er(EFBI^@L4BULFW>)NI+ejHFP*T}UhWNN`I)RRS8za? z*@`1>9ZB}An%aT5K=_2iQmfE;GcBVHLF!$`I99o5GO`O%O_zLr9AG18>&^HkG(;=V z%}c!OBQ~?MX(9h~tajX{=x)+!cbM7$YzTlmsPOdp2L-?GoW`@{lY9U3f;OUo*BwRB z8A+nv(br0-SH#VxGy#ZrgnGD(=@;HME;yd46EgWJ`EL%oXc&lFpc@Y}^>G(W>h_v_ zlN!`idhX+OjL+~T?19sroAFVGfa5tX-D49w$1g2g_-T|EpHL6}K_aX4$K=LTvwtlF zL*z}j{f+Uoe7{-px3_5iKPA<_7W=>Izkk)!l9ez2w%vi(?Y;i8AxRNLSOGDzNoqoI zP!1uAl}r=_871(G?y`i&)-7{u=%nxk7CZ_Qh#!|ITec zwQn`33GTUM`;D2POWnkqngqJhJRlM>CTONzTG}>^Q0wUunQyn|TAiHzyX2_%ATx%P z%7gW)%4rA9^)M<_%k@`Y?RbC<29sWU&5;@|9thf2#zf8z12$hRcZ!CSb>kUp=4N#y zl3hE#y6>kkA8VY2`W`g5Ip?2qC_BY$>R`iGQLhz2-S>x(RuWv)SPaGdl^)gGw7tjR zH@;jwk!jIaCgSg_*9iF|a);sRUTq30(8I(obh^|}S~}P4U^BIGYqcz;MPpC~Y@k_m zaw4WG1_vz2GdCAX!$_a%GHK**@IrHSkGoN>)e}>yzUTm52on`hYot7cB=oA-h1u|R ztH$11t?54Qg2L+i33FPFKKRm1aOjKST{l1*(nps`>sv%VqeVMWjl5+Gh+9);hIP8? zA@$?}Sc z3qIRpba+y5yf{R6G(u8Z^vkg0Fu&D-7?1s=QZU`Ub{-!Y`I?AGf1VNuc^L3v>)>i# z{DV9W$)>34wnzAXUiV^ZpYKw>UElrN_5Xj6{r_3| z$X5PK`e5$7>~9Dj7gK5ash(dvs`vwfk}&RD`>04;j62zoXESkFBklYaKm5seyiX(P zqQ-;XxlV*yg?Dhlx%xt!b0N3GHp@(p$A;8|%# zZ5m2KL|{on4nr>2_s9Yh=r5ScQ0;aMF)G$-9-Ca6%wA`Pa)i?NGFA|#Yi?{X-4ZO_ z^}%7%vkzvUHa$-^Y#aA+aiR5sa%S|Ebyn`EV<3Pc?ax_f>@sBZF1S;7y$CXd5t5=WGsTKBk8$OfH4v|0?0I=Yp}7c=WBSCg!{0n)XmiU;lfx)**zZaYqmDJelxk$)nZyx5`x$6R|fz(;u zEje5Dtm|a%zK!!tk3{i9$I2b{vXNFy%Bf{50X!x{98+BsDr_u9i>G5%*sqEX|06J0 z^IY{UcEbj6LDwuMh7cH`H@9sVt1l1#8kEQ(LyT@&+K}(ReE`ux8gb0r6L_#bDUo^P z3Ka2lRo52Hdtl_%+pwVs14=q`{d^L58PsU@AMf(hENumaxM{7iAT5sYmWh@hQCO^ zK&}ijo=`VqZ#a3vE?`7QW0ZREL17ZvDfdqKGD?0D4fg{7v%|Yj&_jcKJAB)>=*RS* zto8p6@k%;&^ZF>hvXm&$PCuEp{uqw3VPG$9VMdW5$w-fy2CNNT>E;>ejBgy-m_6`& z97L1p{%srn@O_JQgFpa_#f(_)eb#YS>o>q3(*uB;uZb605(iqM$=NK{nHY=+X2*G) zO3-_Xh%aG}fHWe*==58zBwp%&`mge<8uq8;xIxOd=P%9EK!34^E9sk|(Zq1QSz-JVeP12Fp)-`F|KY$LPwUE?rku zY@OJ)Z9A!ojfzfeyJ9;zv2EM7ZQB)AR5xGa-tMn^bl)FmoIiVyJ@!~@%{}qXXD&Ns zPnfe5U+&ohKefILu_1mPfLGuapX@btta5C#gPB2cjk5m4T}Nfi+Vfka!Yd(L?-c~5 z#ZK4VeQEXNPc4r$K00Fg>g#_W!YZ)cJ?JTS<&68_$#cZT-ME`}tcwqg3#``3M3UPvn+pi}(VNNx6y zFIMVb6OwYU(2`at$gHba*qrMVUl8xk5z-z~fb@Q3Y_+aXuEKH}L+>eW__!IAd@V}L zkw#s%H0v2k5-=vh$^vPCuAi22Luu3uKTf6fPo?*nvj$9(u)4$6tvF-%IM+3pt*cgs z_?wW}J7VAA{_~!?))?s6{M=KPpVhg4fNuU*|3THp@_(q!b*hdl{fjRVFWtu^1dV(f z6iOux9hi&+UK=|%M*~|aqFK{Urfl!TA}UWY#`w(0P!KMe1Si{8|o))Gy6d7;!JQYhgMYmXl?3FfOM2nQGN@~Ap6(G z3+d_5y@=nkpKAhRqf{qQ~k7Z$v&l&@m7Ppt#FSNzKPZM z8LhihcE6i=<(#87E|Wr~HKvVWhkll4iSK$^mUHaxgy8*K$_Zj;zJ`L$naPj+^3zTi z-3NTaaKnD5FPY-~?Tq6QHnmDDRxu0mh0D|zD~Y=vv_qig5r-cIbCpxlju&8Sya)@{ zsmv6XUSi)@(?PvItkiZEeN*)AE~I_?#+Ja-r8$(XiXei2d@Hi7Rx8+rZZb?ZLa{;@*EHeRQ-YDadz~M*YCM4&F-r;E#M+@CSJMJ0oU|PQ^ z=E!HBJDMQ2TN*Y(Ag(ynAL8%^v;=~q?s4plA_hig&5Z0x_^Oab!T)@6kRN$)qEJ6E zNuQjg|G7iwU(N8pI@_6==0CL;lRh1dQF#wePhmu@hADFd3B5KIH#dx(2A zp~K&;Xw}F_N6CU~0)QpQk7s$a+LcTOj1%=WXI(U=Dv!6 z{#<#-)2+gCyyv=Jw?Ab#PVkxPDeH|sAxyG`|Ys}A$PW4TdBv%zDz z^?lwrxWR<%Vzc8Sgt|?FL6ej_*e&rhqJZ3Y>k=X(^dytycR;XDU16}Pc9Vn0>_@H+ zQ;a`GSMEG64=JRAOg%~L)x*w{2re6DVprNp+FcNra4VdNjiaF0M^*>CdPkt(m150rCue?FVdL0nFL$V%5y6N z%eLr5%YN7D06k5ji5*p4v$UMM)G??Q%RB27IvH7vYr_^3>1D-M66#MN8tWGw>WED} z5AhlsanO=STFYFs)Il_0i)l)f<8qn|$DW7ZXhf5xI;m+7M5-%P63XFQrG9>DMqHc} zsgNU9nR`b}E^mL5=@7<1_R~j@q_2U^3h|+`7YH-?C=vme1C3m`Fe0HC>pjt6f_XMh zy~-i-8R46QNYneL4t@)<0VU7({aUO?aH`z4V2+kxgH5pYD5)wCh75JqQY)jIPN=U6 z+qi8cGiOtXG2tXm;_CfpH9ESCz#i5B(42}rBJJF$jh<1sbpj^8&L;gzGHb8M{of+} zzF^8VgML2O9nxBW7AvdEt90vp+#kZxWf@A)o9f9}vKJy9NDBjBW zSt=Hcs=YWCwnfY1UYx*+msp{g!w0HC<_SM!VL1(I2PE?CS}r(eh?{I)mQixmo5^p# zV?2R!R@3GV6hwTCrfHiK#3Orj>I!GS2kYhk1S;aFBD_}u2v;0HYFq}Iz1Z(I4oca4 zxquja8$+8JW_EagDHf$a1OTk5S97umGSDaj)gH=fLs9>_=XvVj^Xj9a#gLdk=&3tl zfmK9MNnIX9v{?%xdw7568 zNrZ|roYs(vC4pHB5RJ8>)^*OuyNC>x7ad)tB_}3SgQ96+-JT^Qi<`xi=)_=$Skwv~ zdqeT9Pa`LYvCAn&rMa2aCDV(TMI#PA5g#RtV|CWpgDYRA^|55LLN^uNh*gOU>Z=a06qJ;$C9z8;n-Pq=qZnc1zUwJ@t)L;&NN+E5m zRkQ(SeM8=l-aoAKGKD>!@?mWTW&~)uF2PYUJ;tB^my`r9n|Ly~0c%diYzqs9W#FTjy?h&X3TnH zXqA{QI82sdjPO->f=^K^f>N`+B`q9&rN0bOXO79S&a9XX8zund(kW7O76f4dcWhIu zER`XSMSFbSL>b;Rp#`CuGJ&p$s~G|76){d?xSA5wVg##_O0DrmyEYppyBr%fyWbbv zp`K84JwRNP$d-pJ!Qk|(RMr?*!wi1if-9G#0p>>1QXKXWFy)eB3ai)l3601q8!9JC zvU#ZWWDNKq9g6fYs?JQ)Q4C_cgTy3FhgKb8s&m)DdmL5zhNK#8wWg!J*7G7Qhe9VU zha?^AQTDpYcuN!B+#1dE*X{<#!M%zfUQbj=zLE{dW0XeQ7-oIsGY6RbkP2re@Q{}r_$iiH0xU%iN*ST`A)-EH6eaZB$GA#v)cLi z*MpA(3bYk$oBDKAzu^kJoSUsDd|856DApz={3u8sbQV@JnRkp2nC|)m;#T=DvIL-O zI4vh;g7824l}*`_p@MT4+d`JZ2%6NQh=N9bmgJ#q!hK@_<`HQq3}Z8Ij>3%~<*= zcv=!oT#5xmeGI92lqm9sGVE%#X$ls;St|F#u!?5Y7syhx6q#MVRa&lBmmn%$C0QzU z);*ldgwwCmzM3uglr}!Z2G+?& zf%Dpo&mD%2ZcNFiN-Z0f;c_Q;A%f@>26f?{d1kxIJD}LxsQkB47SAdwinfMILZdN3 zfj^HmTzS3Ku5BxY>ANutS8WPQ-G>v4^_Qndy==P3pDm+Xc?>rUHl-4+^%Sp5atOja z2oP}ftw-rqnb}+khR3CrRg^ibi6?QYk1*i^;kQGirQ=uB9Sd1NTfT-Rbv;hqnY4neE5H1YUrjS2m+2&@uXiAo- zrKUX|Ohg7(6F(AoP~tj;NZlV#xsfo-5reuQHB$&EIAhyZk;bL;k9ouDmJNBAun;H& zn;Of1z_Qj`x&M;5X;{s~iGzBQTY^kv-k{ksbE*Dl%Qf%N@hQCfY~iUw!=F-*$cpf2 z3wix|aLBV0b;W@z^%7S{>9Z^T^fLOI68_;l@+Qzaxo`nAI8emTV@rRhEKZ z?*z_{oGdI~R*#<2{bkz$G~^Qef}$*4OYTgtL$e9q!FY7EqxJ2`zk6SQc}M(k(_MaV zSLJnTXw&@djco1~a(vhBl^&w=$fa9{Sru>7g8SHahv$&Bl(D@(Zwxo_3r=;VH|uc5 zi1Ny)J!<(KN-EcQ(xlw%PNwK8U>4$9nVOhj(y0l9X^vP1TA>r_7WtSExIOsz`nDOP zs}d>Vxb2Vo2e5x8p(n~Y5ggAyvib>d)6?)|E@{FIz?G3PVGLf7-;BxaP;c?7ddH$z zA+{~k^V=bZuXafOv!RPsE1GrR3J2TH9uB=Z67gok+u`V#}BR86hB1xl}H4v`F+mRfr zYhortD%@IGfh!JB(NUNSDh+qDz?4ztEgCz&bIG-Wg7w-ua4ChgQR_c+z8dT3<1?uX z*G(DKy_LTl*Ea!%v!RhpCXW1WJO6F`bgS-SB;Xw9#! z<*K}=#wVu9$`Yo|e!z-CPYH!nj7s9dEPr-E`DXUBu0n!xX~&|%#G=BeM?X@shQQMf zMvr2!y7p_gD5-!Lnm|a@z8Of^EKboZsTMk%5VsJEm>VsJ4W7Kv{<|#4f-qDE$D-W>gWT%z-!qXnDHhOvLk=?^a1*|0j z{pW{M0{#1VcR5;F!!fIlLVNh_Gj zbnW(_j?0c2q$EHIi@fSMR{OUKBcLr{Y&$hrM8XhPByyZaXy|dd&{hYQRJ9@Fn%h3p7*VQolBIV@Eq`=y%5BU~3RPa^$a?ixp^cCg z+}Q*X+CW9~TL29@OOng(#OAOd!)e$d%sr}^KBJ-?-X&|4HTmtemxmp?cT3uA?md4% zT8yZ0U;6Rg6JHy3fJae{6TMGS?ZUX6+gGTT{Q{)SI85$5FD{g-eR%O0KMpWPY`4@O zx!hen1*8^E(*}{m^V_?}(b5k3hYo=T+$&M32+B`}81~KKZhY;2H{7O-M@vbCzuX0n zW-&HXeyr1%I3$@ns-V1~Lb@wIpkmx|8I~ob1Of7i6BTNysEwI}=!nU%q7(V_^+d*G z7G;07m(CRTJup!`cdYi93r^+LY+`M*>aMuHJm(A8_O8C#A*$!Xvddgpjx5)?_EB*q zgE8o5O>e~9IiSC@WtZpF{4Bj2J5eZ>uUzY%TgWF7wdDE!fSQIAWCP)V{;HsU3ap?4 znRsiiDbtN7i9hapO;(|Ew>Ip2TZSvK9Z^N21%J?OiA_&eP1{(Pu_=%JjKy|HOardq ze?zK^K zA%sjF64*Wufad%H<) z^|t>e*h+Z1#l=5wHexzt9HNDNXgM=-OPWKd^5p!~%SIl>Fo&7BvNpbf8{NXmH)o{r zO=aBJ;meX1^{O%q;kqdw*5k!Y7%t_30 zy{nGRVc&5qt?dBwLs+^Sfp;f`YVMSB#C>z^a9@fpZ!xb|b-JEz1LBX7ci)V@W+kvQ89KWA0T~Lj$aCcfW#nD5bt&Y_< z-q{4ZXDqVg?|0o)j1%l0^_it0WF*LCn-+)c!2y5yS7aZIN$>0LqNnkujV*YVes(v$ zY@_-!Q;!ZyJ}Bg|G-~w@or&u0RO?vlt5*9~yeoPV_UWrO2J54b4#{D(D>jF(R88u2 zo#B^@iF_%S>{iXSol8jpmsZuJ?+;epg>k=$d`?GSegAVp3n$`GVDvK${N*#L_1`44 z{w0fL{2%)0|E+qgZtjX}itZz^KJt4Y;*8uSK}Ft38+3>j|K(PxIXXR-t4VopXo#9# zt|F{LWr-?34y`$nLBVV_*UEgA6AUI65dYIbqpNq9cl&uLJ0~L}<=ESlOm?Y-S@L*d z<7vt}`)TW#f%Rp$Q}6@3=j$7Tze@_uZO@aMn<|si{?S}~maII`VTjs&?}jQ4_cut9$)PEqMukwoXobzaKx^MV z2fQwl+;LSZ$qy%Tys0oo^K=jOw$!YwCv^ei4NBVauL)tN%=wz9M{uf{IB(BxK|lT*pFkmNK_1tV`nb%jH=a0~VNq2RCKY(rG7jz!-D^k)Ec)yS%17pE#o6&eY+ z^qN(hQT$}5F(=4lgNQhlxj?nB4N6ntUY6(?+R#B?W3hY_a*)hnr4PA|vJ<6p`K3Z5Hy z{{8(|ux~NLUW=!?9Qe&WXMTAkQnLXg(g=I@(VG3{HE13OaUT|DljyWXPs2FE@?`iU z4GQlM&Q=T<4&v@Fe<+TuXiZQT3G~vZ&^POfmI1K2h6t4eD}Gk5XFGpbj1n_g*{qmD6Xy z`6Vv|lLZtLmrnv*{Q%xxtcWVj3K4M%$bdBk_a&ar{{GWyu#ljM;dII;*jP;QH z#+^o-A4np{@|Mz+LphTD0`FTyxYq#wY)*&Ls5o{0z9yg2K+K7ZN>j1>N&;r+Z`vI| zDzG1LJZ+sE?m?>x{5LJx^)g&pGEpY=fQ-4}{x=ru;}FL$inHemOg%|R*ZXPodU}Kh zFEd5#+8rGq$Y<_?k-}r5zgQ3jRV=ooHiF|@z_#D4pKVEmn5CGV(9VKCyG|sT9nc=U zEoT67R`C->KY8Wp-fEcjjFm^;Cg(ls|*ABVHq8clBE(;~K^b+S>6uj70g? z&{XQ5U&!Z$SO7zfP+y^8XBbiu*Cv-yJG|l-oe*!s5$@Lh_KpxYL2sx`B|V=dETN>5K+C+CU~a_3cI8{vbu$TNVdGf15*>D zz@f{zIlorkY>TRh7mKuAlN9A0>N>SV`X)+bEHms=mfYTMWt_AJtz_h+JMmrgH?mZt zm=lfdF`t^J*XLg7v+iS)XZROygK=CS@CvUaJo&w2W!Wb@aa?~Drtf`JV^cCMjngVZ zv&xaIBEo8EYWuML+vxCpjjY^s1-ahXJzAV6hTw%ZIy!FjI}aJ+{rE&u#>rs)vzuxz z+$5z=7W?zH2>Eb32dvgHYZtCAf!=OLY-pb4>Ae79rd68E2LkVPj-|jFeyqtBCCwiW zkB@kO_(3wFq)7qwV}bA=zD!*@UhT`geq}ITo%@O(Z5Y80nEX~;0-8kO{oB6|(4fQh z);73T!>3@{ZobPwRv*W?7m0Ml9GmJBCJd&6E?hdj9lV= z4flNfsc(J*DyPv?RCOx!MSvk(M952PJ-G|JeVxWVjN~SNS6n-_Ge3Q;TGE;EQvZg86%wZ`MB zSMQua(i*R8a75!6$QRO^(o7sGoomb+Y{OMy;m~Oa`;P9Yqo>?bJAhqXxLr7_3g_n>f#UVtxG!^F#1+y@os6x(sg z^28bsQ@8rw%Gxk-stAEPRbv^}5sLe=VMbkc@Jjimqjvmd!3E7+QnL>|(^3!R} zD-l1l7*Amu@j+PWLGHXXaFG0Ct2Q=}5YNUxEQHCAU7gA$sSC<5OGylNnQUa>>l%sM zyu}z6i&({U@x^hln**o6r2s-(C-L50tQvz|zHTqW!ir?w&V23tuYEDJVV#5pE|OJu z7^R!A$iM$YCe?8n67l*J-okwfZ+ZTkGvZ)tVPfR;|3gyFjF)8V zyXXN=!*bpyRg9#~Bg1+UDYCt0 ztp4&?t1X0q>uz;ann$OrZs{5*r`(oNvw=$7O#rD|Wuv*wIi)4b zGtq4%BX+kkagv3F9Id6~-c+1&?zny%w5j&nk9SQfo0k4LhdSU_kWGW7axkfpgR`8* z!?UTG*Zi_baA1^0eda8S|@&F z{)Rad0kiLjB|=}XFJhD(S3ssKlveFFmkN{Vl^_nb!o5M!RC=m)V&v2%e?ZoRC@h3> zJ(?pvToFd`*Zc@HFPL#=otWKwtuuQ_dT-Hr{S%pQX<6dqVJ8;f(o)4~VM_kEQkMR+ zs1SCVi~k>M`u1u2xc}>#D!V&6nOOh-E$O&SzYrjJdZpaDv1!R-QGA141WjQe2s0J~ zQ;AXG)F+K#K8_5HVqRoRM%^EduqOnS(j2)|ctA6Q^=|s_WJYU;Z%5bHp08HPL`YF2 zR)Ad1z{zh`=sDs^&V}J z%$Z$!jd7BY5AkT?j`eqMs%!Gm@T8)4w3GYEX~IwgE~`d|@T{WYHkudy(47brgHXx& zBL1yFG6!!!VOSmDxBpefy2{L_u5yTwja&HA!mYA#wg#bc-m%~8aRR|~AvMnind@zs zy>wkShe5&*un^zvSOdlVu%kHsEo>@puMQ`b1}(|)l~E{5)f7gC=E$fP(FC2=F<^|A zxeIm?{EE!3sO!Gr7e{w)Dx(uU#3WrFZ>ibmKSQ1tY?*-Nh1TDHLe+k*;{Rp!Bmd_m zb#^kh`Y*8l|9Cz2e{;RL%_lg{#^Ar+NH|3z*Zye>!alpt{z;4dFAw^^H!6ING*EFc z_yqhr8d!;%nHX9AKhFQZBGrSzfzYCi%C!(Q5*~hX>)0N`vbhZ@N|i;_972WSx*>LH z87?en(;2_`{_JHF`Sv6Wlps;dCcj+8IJ8ca6`DsOQCMb3n# z3)_w%FuJ3>fjeOOtWyq)ag|PmgQbC-s}KRHG~enBcIwqIiGW8R8jFeBNY9|YswRY5 zjGUxdGgUD26wOpwM#8a!Nuqg68*dG@VM~SbOroL_On0N6QdT9?)NeB3@0FCC?Z|E0 z6TPZj(AsPtwCw>*{eDEE}Gby>0q{*lI+g2e&(YQrsY&uGM{O~}(oM@YWmb*F zA0^rr5~UD^qmNljq$F#ARXRZ1igP`MQx4aS6*MS;Ot(1L5jF2NJ;de!NujUYg$dr# z=TEL_zTj2@>ZZN(NYCeVX2==~=aT)R30gETO{G&GM4XN<+!&W&(WcDP%oL8PyIVUC zs5AvMgh6qr-2?^unB@mXK*Dbil^y-GTC+>&N5HkzXtozVf93m~xOUHn8`HpX=$_v2 z61H;Z1qK9o;>->tb8y%#4H)765W4E>TQ1o0PFj)uTOPEvv&}%(_mG0ISmyhnQV33Z$#&yd{ zc{>8V8XK$3u8}04CmAQ#I@XvtmB*s4t8va?-IY4@CN>;)mLb_4!&P3XSw4pA_NzDb zORn!blT-aHk1%Jpi>T~oGLuh{DB)JIGZ9KOsciWs2N7mM1JWM+lna4vkDL?Q)z_Ct z`!mi0jtr+4*L&N7jk&LodVO#6?_qRGVaucqVB8*us6i3BTa^^EI0x%EREQSXV@f!lak6Wf1cNZ8>*artIJ(ADO*=<-an`3zB4d*oO*8D1K!f z*A@P1bZCNtU=p!742MrAj%&5v%Xp_dSX@4YCw%F|%Dk=u|1BOmo)HsVz)nD5USa zR~??e61sO(;PR)iaxK{M%QM_rIua9C^4ppVS$qCT9j2%?*em?`4Z;4@>I(c%M&#cH z>4}*;ej<4cKkbCAjjDsyKS8rIm90O)Jjgyxj5^venBx&7B!xLmzxW3jhj7sR(^3Fz z84EY|p1NauwXUr;FfZjdaAfh%ivyp+^!jBjJuAaKa!yCq=?T_)R!>16?{~p)FQ3LDoMyG%hL#pR!f@P%*;#90rs_y z@9}@r1BmM-SJ#DeuqCQk=J?ixDSwL*wh|G#us;dd{H}3*-Y7Tv5m=bQJMcH+_S`zVtf;!0kt*(zwJ zs+kedTm!A}cMiM!qv(c$o5K%}Yd0|nOd0iLjus&;s0Acvoi-PFrWm?+q9f^FslxGi z6ywB`QpL$rJzWDg(4)C4+!2cLE}UPCTBLa*_=c#*$b2PWrRN46$y~yST3a2$7hEH= zNjux+wna^AzQ=KEa_5#9Ph=G1{S0#hh1L3hQ`@HrVnCx{!fw_a0N5xV(iPdKZ-HOM za)LdgK}1ww*C_>V7hbQnTzjURJL`S%`6nTHcgS+dB6b_;PY1FsrdE8(2K6FN>37!62j_cBlui{jO^$dPkGHV>pXvW0EiOA zqW`YaSUBWg_v^Y5tPJfWLcLpsA8T zG)!x>pKMpt!lv3&KV!-um= zKCir6`bEL_LCFx4Z5bAFXW$g3Cq`?Q%)3q0r852XI*Der*JNuKUZ`C{cCuu8R8nkt z%pnF>R$uY8L+D!V{s^9>IC+bmt<05h**>49R*#vpM*4i0qRB2uPbg8{{s#9yC;Z18 zD7|4m<9qneQ84uX|J&f-g8a|nFKFt34@Bt{CU`v(SYbbn95Q67*)_Esl_;v291s=9 z+#2F2apZU4Tq=x+?V}CjwD(P=U~d<=mfEFuyPB`Ey82V9G#Sk8H_Ob_RnP3s?)S_3 zr%}Pb?;lt_)Nf>@zX~D~TBr;-LS<1I##8z`;0ZCvI_QbXNh8Iv)$LS=*gHr;}dgb=w5$3k2la1keIm|=7<-JD>)U%=Avl0Vj@+&vxn zt-)`vJxJr88D&!}2^{GPXc^nmRf#}nb$4MMkBA21GzB`-Or`-3lq^O^svO7Vs~FdM zv`NvzyG+0T!P8l_&8gH|pzE{N(gv_tgDU7SWeiI-iHC#0Ai%Ixn4&nt{5y3(GQs)i z&uA;~_0shP$0Wh0VooIeyC|lak__#KVJfxa7*mYmZ22@(<^W}FdKjd*U1CqSjNKW% z*z$5$=t^+;Ui=MoDW~A7;)Mj%ibX1_p4gu>RC}Z_pl`U*{_z@+HN?AF{_W z?M_X@o%w8fgFIJ$fIzBeK=v#*`mtY$HC3tqw7q^GCT!P$I%=2N4FY7j9nG8aIm$c9 zeKTxVKN!UJ{#W)zxW|Q^K!3s;(*7Gbn;e@pQBCDS(I|Y0euK#dSQ_W^)sv5pa%<^o zyu}3d?Lx`)3-n5Sy9r#`I{+t6x%I%G(iewGbvor&I^{lhu-!#}*Q3^itvY(^UWXgvthH52zLy&T+B)Pw;5>4D6>74 zO_EBS)>l!zLTVkX@NDqyN2cXTwsUVao7$HcqV2%t$YzdAC&T)dwzExa3*kt9d(}al zA~M}=%2NVNUjZiO7c>04YH)sRelXJYpWSn^aC$|Ji|E13a^-v2MB!Nc*b+=KY7MCm zqIteKfNkONq}uM;PB?vvgQvfKLPMB8u5+Am=d#>g+o&Ysb>dX9EC8q?D$pJH!MTAqa=DS5$cb+;hEvjwVfF{4;M{5U&^_+r zvZdu_rildI!*|*A$TzJ&apQWV@p{!W`=?t(o0{?9y&vM)V)ycGSlI3`;ps(vf2PUq zX745#`cmT*ra7XECC0gKkpu2eyhFEUb?;4@X7weEnLjXj_F~?OzL1U1L0|s6M+kIhmi%`n5vvDALMagi4`wMc=JV{XiO+^ z?s9i7;GgrRW{Mx)d7rj)?(;|b-`iBNPqdwtt%32se@?w4<^KU&585_kZ=`Wy^oLu9 z?DQAh5z%q;UkP48jgMFHTf#mj?#z|=w= z(q6~17Vn}P)J3M?O)x))%a5+>TFW3No~TgP;f}K$#icBh;rSS+R|}l鯊%1Et zwk~hMkhq;MOw^Q5`7oC{CUUyTw9x>^%*FHx^qJw(LB+E0WBX@{Ghw;)6aA-KyYg8p z7XDveQOpEr;B4je@2~usI5BlFadedX^ma{b{ypd|RNYqo#~d*mj&y`^iojR}s%~vF z(H!u`yx68D1Tj(3(m;Q+Ma}s2n#;O~bcB1`lYk%Irx60&-nWIUBr2x&@}@76+*zJ5 ze&4?q8?m%L9c6h=J$WBzbiTf1Z-0Eb5$IZs>lvm$>1n_Mezp*qw_pr8<8$6f)5f<@ zyV#tzMCs51nTv_5ca`x`yfE5YA^*%O_H?;tWYdM_kHPubA%vy47i=9>Bq) zRQ&0UwLQHeswmB1yP)+BiR;S+Vc-5TX84KUA;8VY9}yEj0eESSO`7HQ4lO z4(CyA8y1G7_C;6kd4U3K-aNOK!sHE}KL_-^EDl(vB42P$2Km7$WGqNy=%fqB+ zSLdrlcbEH=T@W8V4(TgoXZ*G1_aq$K^@ek=TVhoKRjw;HyI&coln|uRr5mMOy2GXP zwr*F^Y|!Sjr2YQXX(Fp^*`Wk905K%$bd03R4(igl0&7IIm*#f`A!DCarW9$h$z`kYk9MjjqN&5-DsH@8xh63!fTNPxWsFQhNv z#|3RjnP$Thdb#Ys7M+v|>AHm0BVTw)EH}>x@_f4zca&3tXJhTZ8pO}aN?(dHo)44Z z_5j+YP=jMlFqwvf3lq!57-SAuRV2_gJ*wsR_!Y4Z(trO}0wmB9%f#jNDHPdQGHFR; zZXzS-$`;7DQ5vF~oSgP3bNV$6Z(rwo6W(U07b1n3UHqml>{=6&-4PALATsH@Bh^W? z)ob%oAPaiw{?9HfMzpGb)@Kys^J$CN{uf*HX?)z=g`J(uK1YO^8~s1(ZIbG%Et(|q z$D@_QqltVZu9Py4R0Ld8!U|#`5~^M=b>fnHthzKBRr=i+w@0Vr^l|W;=zFT#PJ?*a zbC}G#It}rQP^Ait^W&aa6B;+0gNvz4cWUMzpv(1gvfw-X4xJ2Sv;mt;zb2Tsn|kSS zo*U9N?I{=-;a-OybL4r;PolCfiaL=y@o9{%`>+&FI#D^uy#>)R@b^1ue&AKKwuI*` zx%+6r48EIX6nF4o;>)zhV_8(IEX})NGU6Vs(yslrx{5fII}o3SMHW7wGtK9oIO4OM&@@ECtXSICLcPXoS|{;=_yj>hh*%hP27yZwOmj4&Lh z*Nd@OMkd!aKReoqNOkp5cW*lC)&C$P?+H3*%8)6HcpBg&IhGP^77XPZpc%WKYLX$T zsSQ$|ntaVVOoRat$6lvZO(G-QM5s#N4j*|N_;8cc2v_k4n6zx9c1L4JL*83F-C1Cn zaJhd;>rHXB%%ZN=3_o3&Qd2YOxrK~&?1=UuN9QhL$~OY-Qyg&})#ez*8NpQW_*a&kD&ANjedxT0Ar z<6r{eaVz3`d~+N~vkMaV8{F?RBVemN(jD@S8qO~L{rUw#=2a$V(7rLE+kGUZ<%pdr z?$DP|Vg#gZ9S}w((O2NbxzQ^zTot=89!0^~hE{|c9q1hVzv0?YC5s42Yx($;hAp*E zyoGuRyphQY{Q2ee0Xx`1&lv(l-SeC$NEyS~8iil3_aNlnqF_G|;zt#F%1;J)jnPT& z@iU0S;wHJ2$f!juqEzPZeZkjcQ+Pa@eERSLKsWf=`{R@yv7AuRh&ALRTAy z8=g&nxsSJCe!QLchJ=}6|LshnXIK)SNd zRkJNiqHwKK{SO;N5m5wdL&qK`v|d?5<4!(FAsDxR>Ky#0#t$8XCMptvNo?|SY?d8b z`*8dVBlXTUanlh6n)!EHf2&PDG8sXNAt6~u-_1EjPI1|<=33T8 zEnA00E!`4Ave0d&VVh0e>)Dc}=FfAFxpsC1u9ATfQ`-Cu;mhc8Z>2;uyXtqpLb7(P zd2F9<3cXS} znMg?{&8_YFTGRQZEPU-XPq55%51}RJpw@LO_|)CFAt62-_!u_Uq$csc+7|3+TV_!h z+2a7Yh^5AA{q^m|=KSJL+w-EWDBc&I_I1vOr^}P8i?cKMhGy$CP0XKrQzCheG$}G# zuglf8*PAFO8%xop7KSwI8||liTaQ9NCAFarr~psQt)g*pC@9bORZ>m`_GA`_K@~&% zijH0z;T$fd;-Liw8%EKZas>BH8nYTqsK7F;>>@YsE=Rqo?_8}UO-S#|6~CAW0Oz1} z3F(1=+#wrBJh4H)9jTQ_$~@#9|Bc1Pd3rAIA_&vOpvvbgDJOM(yNPhJJq2%PCcMaI zrbe~toYzvkZYQ{ea(Wiyu#4WB#RRN%bMe=SOk!CbJZv^m?Flo5p{W8|0i3`hI3Np# zvCZqY%o258CI=SGb+A3yJe~JH^i{uU`#U#fvSC~rWTq+K`E%J@ zasU07&pB6A4w3b?d?q}2=0rA#SA7D`X+zg@&zm^iA*HVi z009#PUH<%lk4z~p^l0S{lCJk1Uxi=F4e_DwlfHA`X`rv(|JqWKAA5nH+u4Da+E_p+ zVmH@lg^n4ixs~*@gm_dgQ&eDmE1mnw5wBz9Yg?QdZwF|an67Xd*x!He)Gc8&2!urh z4_uXzbYz-aX)X1>&iUjGp;P1u8&7TID0bTH-jCL&Xk8b&;;6p2op_=y^m@Nq*0{#o!!A;wNAFG@0%Z9rHo zcJs?Th>Ny6+hI`+1XoU*ED$Yf@9f91m9Y=#N(HJP^Y@ZEYR6I?oM{>&Wq4|v0IB(p zqX#Z<_3X(&{H+{3Tr|sFy}~=bv+l=P;|sBz$wk-n^R`G3p0(p>p=5ahpaD7>r|>pm zv;V`_IR@tvZreIuv2EM7ZQHhO+qUgw#kOs%*ekY^n|=1#x9&c;Ro&I~{rG-#_3ZB1 z?|9}IFdbP}^DneP*T-JaoYHt~r@EfvnPE5EKUwIxjPbsr$% zfWW83pgWST7*B(o=kmo)74$8UU)v0{@4DI+ci&%=#90}!CZz|rnH+Mz=HN~97G3~@ z;v5(9_2%eca(9iu@J@aqaMS6*$TMw!S>H(b z4(*B!|H|8&EuB%mITr~O?vVEf%(Gr)6E=>H~1VR z&1YOXluJSG1!?TnT)_*YmJ*o_Q@om~(GdrhI{$Fsx_zrkupc#y{DK1WOUR>tk>ZE) ziOLoBkhZZ?0Uf}cm>GsA>Rd6V8@JF)J*EQlQ<=JD@m<)hyElXR0`pTku*3MU`HJn| zIf7$)RlK^pW-$87U;431;Ye4Ie+l~_B3*bH1>*yKzn23cH0u(i5pXV! z4K?{3oF7ZavmmtTq((wtml)m6i)8X6ot_mrE-QJCW}Yn!(3~aUHYG=^fA<^~`e3yc z-NWTb{gR;DOUcK#zPbN^D*e=2eR^_!(!RKkiwMW@@yYtEoOp4XjOGgzi`;=8 zi3`Ccw1%L*y(FDj=C7Ro-V?q)-%p?Ob2ZElu`eZ99n14-ZkEV#y5C+{Pq87Gu3&>g zFy~Wk7^6v*)4pF3@F@rE__k3ikx(hzN3@e*^0=KNA6|jC^B5nf(XaoQaZN?Xi}Rn3 z$8&m*KmWvPaUQ(V<#J+S&zO|8P-#!f%7G+n_%sXp9=J%Z4&9OkWXeuZN}ssgQ#Tcj z8p6ErJQJWZ+fXLCco=RN8D{W%+*kko*2-LEb))xcHwNl~Xmir>kmAxW?eW50Osw3# zki8Fl$#fvw*7rqd?%E?}ZX4`c5-R&w!Y0#EBbelVXSng+kUfeUiqofPehl}$ormli zg%r)}?%=?_pHb9`Cq9Z|B`L8b>(!+8HSX?`5+5mm81AFXfnAt1*R3F z%b2RPIacKAddx%JfQ8l{3U|vK@W7KB$CdLqn@wP^?azRks@x8z59#$Q*7q!KilY-P zHUbs(IFYRGG1{~@RF;Lqyho$~7^hNC`NL3kn^Td%A7dRgr_&`2k=t+}D-o9&C!y^? z6MsQ=tc3g0xkK(O%DzR9nbNB(r@L;1zQrs8mzx&4dz}?3KNYozOW5;=w18U6$G4U2 z#2^qRLT*Mo4bV1Oeo1PKQ2WQS2Y-hv&S|C7`xh6=Pj7MNLC5K-zokZ67S)C;(F0Dd zloDK2_o1$Fmza>EMj3X9je7e%Q`$39Dk~GoOj89-6q9|_WJlSl!!+*{R=tGp z8u|MuSwm^t7K^nUe+^0G3dkGZr3@(X+TL5eah)K^Tn zXEtHmR9UIaEYgD5Nhh(s*fcG_lh-mfy5iUF3xxpRZ0q3nZ=1qAtUa?(LnT9I&~uxX z`pV?+=|-Gl(kz?w!zIieXT}o}7@`QO>;u$Z!QB${a08_bW0_o@&9cjJUXzVyNGCm8 zm=W+$H!;_Kzp6WQqxUI;JlPY&`V}9C$8HZ^m?NvI*JT@~BM=()T()Ii#+*$y@lTZBkmMMda>7s#O(1YZR+zTG@&}!EXFG{ zEWPSDI5bFi;NT>Yj*FjH((=oe%t%xYmE~AGaOc4#9K_XsVpl<4SP@E!TgC0qpe1oi zNpxU2b0(lEMcoibQ-G^cxO?ySVW26HoBNa;n0}CWL*{k)oBu1>F18X061$SP{Gu67 z-v-Fa=Fl^u3lnGY^o5v)Bux}bNZ~ z5pL+7F_Esoun8^5>z8NFoIdb$sNS&xT8_|`GTe8zSXQzs4r^g0kZjg(b0bJvz`g<70u9Z3fQILX1Lj@;@+##bP|FAOl)U^9U>0rx zGi)M1(Hce)LAvQO-pW!MN$;#ZMX?VE(22lTlJrk#pB0FJNqVwC+*%${Gt#r_tH9I_ z;+#)#8cWAl?d@R+O+}@1A^hAR1s3UcW{G+>;X4utD2d9X(jF555}!TVN-hByV6t+A zdFR^aE@GNNgSxxixS2p=on4(+*+f<8xrwAObC)D5)4!z7)}mTpb7&ofF3u&9&wPS< zB62WHLGMhmrmOAgmJ+|c>qEWTD#jd~lHNgT0?t-p{T=~#EMcB| z=AoDKOL+qXCfk~F)-Rv**V}}gWFl>liXOl7Uec_8v)(S#av99PX1sQIVZ9eNLkhq$ zt|qu0b?GW_uo}TbU8!jYn8iJeIP)r@;!Ze_7mj{AUV$GEz6bDSDO=D!&C9!M@*S2! zfGyA|EPlXGMjkH6x7OMF?gKL7{GvGfED=Jte^p=91FpCu)#{whAMw`vSLa`K#atdN zThnL+7!ZNmP{rc=Z>%$meH;Qi1=m1E3Lq2D_O1-X5C;!I0L>zur@tPAC9*7Jeh)`;eec}1`nkRP(%iv-`N zZ@ip-g|7l6Hz%j%gcAM}6-nrC8oA$BkOTz^?dakvX?`^=ZkYh%vUE z9+&)K1UTK=ahYiaNn&G5nHUY5niLGus@p5E2@RwZufRvF{@$hW{;{3QhjvEHMvduO z#Wf-@oYU4ht?#uP{N3utVzV49mEc9>*TV_W2TVC`6+oI)zAjy$KJrr=*q##&kobiQ z1vNbya&OVjK`2pdRrM?LuK6BgrLN7H_3m z!qpNKg~87XgCwb#I=Q&0rI*l$wM!qTkXrx1ko5q-f;=R2fImRMwt5Qs{P*p^z@9ex z`2#v(qE&F%MXlHpdO#QEZyZftn4f05ab^f2vjxuFaat2}jke{j?5GrF=WYBR?gS(^ z9SBiNi}anzBDBRc+QqizTTQuJrzm^bNA~A{j%ugXP7McZqJ}65l10({wk++$=e8O{ zxWjG!Qp#5OmI#XRQQM?n6?1ztl6^D40hDJr?4$Wc&O_{*OfMfxe)V0=e{|N?J#fgE>j9jAajze$iN!*yeF%jJU#G1c@@rm zolGW!j?W6Q8pP=lkctNFdfgUMg92wlM4E$aks1??M$~WQfzzzXtS)wKrr2sJeCN4X zY(X^H_c^PzfcO8Bq(Q*p4c_v@F$Y8cHLrH$`pJ2}=#*8%JYdqsqnGqEdBQMpl!Ot04tUGSXTQdsX&GDtjbWD=prcCT9(+ z&UM%lW%Q3yrl1yiYs;LxzIy>2G}EPY6|sBhL&X&RAQrSAV4Tlh2nITR?{6xO9ujGu zr*)^E`>o!c=gT*_@6S&>0POxcXYNQd&HMw6<|#{eSute2C3{&h?Ah|cw56-AP^f8l zT^kvZY$YiH8j)sk7_=;gx)vx-PW`hbSBXJGCTkpt;ap(}G2GY=2bbjABU5)ty%G#x zAi07{Bjhv}>OD#5zh#$0w;-vvC@^}F! z#X$@)zIs1L^E;2xDAwEjaXhTBw2<{&JkF*`;c3<1U@A4MaLPe{M5DGGkL}#{cHL%* zYMG+-Fm0#qzPL#V)TvQVI|?_M>=zVJr9>(6ib*#z8q@mYKXDP`k&A4A};xMK0h=yrMp~JW{L?mE~ph&1Y1a#4%SO)@{ zK2juwynUOC)U*hVlJU17%llUxAJFuKZh3K0gU`aP)pc~bE~mM!i1mi!~LTf>1Wp< zuG+ahp^gH8g8-M$u{HUWh0m^9Rg@cQ{&DAO{PTMudV6c?ka7+AO& z746QylZ&Oj`1aqfu?l&zGtJnpEQOt;OAFq19MXTcI~`ZcoZmyMrIKDFRIDi`FH)w; z8+*8tdevMDv*VtQi|e}CnB_JWs>fhLOH-+Os2Lh!&)Oh2utl{*AwR)QVLS49iTp{6 z;|172Jl!Ml17unF+pd+Ff@jIE-{Oxv)5|pOm@CkHW?{l}b@1>Pe!l}VccX#xp@xgJ zyE<&ep$=*vT=}7vtvif0B?9xw_3Gej7mN*dOHdQPtW5kA5_zGD zpA4tV2*0E^OUimSsV#?Tg#oiQ>%4D@1F5@AHwT8Kgen$bSMHD3sXCkq8^(uo7CWk`mT zuslYq`6Yz;L%wJh$3l1%SZv#QnG3=NZ=BK4yzk#HAPbqXa92;3K5?0kn4TQ`%E%X} z&>Lbt!!QclYKd6+J7Nl@xv!uD%)*bY-;p`y^ZCC<%LEHUi$l5biu!sT3TGGSTPA21 zT8@B&a0lJHVn1I$I3I1I{W9fJAYc+8 zVj8>HvD}&O`TqU2AAb={?eT;0hyL(R{|h23=4fDSZKC32;wWxsVj`P z3J3{M$PwdH!ro*Cn!D&=jnFR>BNGR<<|I8CI@+@658Dy(lhqbhXfPTVecY@L8%`3Q z1Fux2w?2C3th60jI~%OC9BtpNF$QPqcG+Pz96qZJ71_`0o0w_q7|h&O>`6U+^BA&5 zXd5Zp1Xkw~>M%RixTm&OqpNl8Q+ue=92Op_>T~_9UON?ZM2c0aGm=^A4ejrXj3dV9 zhh_bCt-b9`uOX#cFLj!vhZ#lS8Tc47OH>*)y#{O9?AT~KR9LntM|#l#Dlm^8{nZdk zjMl#>ZM%#^nK2TPzLcKxqx24P7R1FPlBy7LSBrRvx>fE$9AJ;7{PQm~^LBX^k#6Zq zw*Z(zJC|`!6_)EFR}8|n8&&Rbj8y028~P~sFXBFRt+tmqH-S3<%N;C&WGH!f3{7cm zy_fCAb9@HqaXa1Y5vFbxWf%#zg6SI$C+Uz5=CTO}e|2fjWkZ;Dx|84Ow~bkI=LW+U zuq;KSv9VMboRvs9)}2PAO|b(JCEC_A0wq{uEj|3x@}*=bOd zwr{TgeCGG>HT<@Zeq8y}vTpwDg#UBvD)BEs@1KP$^3$sh&_joQPn{hjBXmLPJ{tC) z*HS`*2+VtJO{|e$mM^|qv1R*8i(m1`%)}g=SU#T#0KlTM2RSvYUc1fP+va|4;5}Bfz98UvDCpq7}+SMV&;nX zQw~N6qOX{P55{#LQkrZk(e5YGzr|(B;Q;ju;2a`q+S9bsEH@i1{_Y0;hWYn1-79jl z5c&bytD*k)GqrVcHn6t-7kinadiD>B{Tl`ZY@`g|b~pvHh5!gKP4({rp?D0aFd_cN zhHRo4dd5^S6ViN(>(28qZT6E>??aRhc($kP`>@<+lIKS5HdhjVU;>f7<4))E*5|g{ z&d1}D|vpuV^eRj5j|xx9nwaCxXFG?Qbjn~_WSy=N}P0W>MP zG-F%70lX5Xr$a)2i6?i|iMyM|;Jtf*hO?=Jxj12oz&>P=1#h~lf%#fc73M2_(SUM- zf&qnjS80|_Y0lDgl&I?*eMumUklLe_=Td!9G@eR*tcPOgIShJipp3{A10u(4eT~DY zHezEj8V+7m!knn7)W!-5QI3=IvC^as5+TW1@Ern@yX| z7Nn~xVx&fGSr+L%4iohtS3w^{-H1A_5=r&x8}R!YZvp<2T^YFvj8G_vm}5q;^UOJf ztl=X3iL;;^^a#`t{Ae-%5Oq{?M#s6Npj+L(n-*LMI-yMR{)qki!~{5z{&`-iL}lgW zxo+tnvICK=lImjV$Z|O_cYj_PlEYCzu-XBz&XC-JVxUh9;6*z4fuBG+H{voCC;`~GYV|hj%j_&I zDZCj>Q_0RCwFauYoVMiUSB+*Mx`tg)bWmM^SwMA+?lBg12QUF_x2b)b?qb88K-YUd z0dO}3k#QirBV<5%jL$#wlf!60dizu;tsp(7XLdI=eQs?P`tOZYMjVq&jE)qK*6B^$ zBe>VvH5TO>s>izhwJJ$<`a8fakTL!yM^Zfr2hV9`f}}VVUXK39p@G|xYRz{fTI+Yq z20d=)iwjuG9RB$%$^&8#(c0_j0t_C~^|n+c`Apu|x7~;#cS-s=X1|C*YxX3ailhg_|0`g!E&GZJEr?bh#Tpb8siR=JxWKc{#w7g zWznLwi;zLFmM1g8V5-P#RsM@iX>TK$xsWuujcsVR^7TQ@!+vCD<>Bk9tdCo7Mzgq5 zv8d>dK9x8C@Qoh01u@3h0X_`SZluTb@5o;{4{{eF!-4405x8X7hewZWpz z2qEi4UTiXTvsa(0X7kQH{3VMF>W|6;6iTrrYD2fMggFA&-CBEfSqPlQDxqsa>{e2M z(R5PJ7uOooFc|9GU0ELA%m4&4Ja#cQpNw8i8ACAoK6?-px+oBl_yKmenZut#Xumjz zk8p^OV2KY&?5MUwGrBOo?ki`Sxo#?-Q4gw*Sh0k`@ zFTaYK2;}%Zk-68`#5DXU$2#=%YL#S&MTN8bF+!J2VT6x^XBci6O)Q#JfW{YMz) zOBM>t2rSj)n#0a3cjvu}r|k3od6W(SN}V-cL?bi*Iz-8uOcCcsX0L>ZXjLqk zZu2uHq5B|Kt>e+=pPKu=1P@1r9WLgYFq_TNV1p9pu0erHGd!+bBp!qGi+~4A(RsYN@CyXNrC&hxGmW)u5m35OmWwX`I+0yByglO`}HC4nGE^_HUs^&A(uaM zKPj^=qI{&ayOq#z=p&pnx@@k&I1JI>cttJcu@Ihljt?6p^6{|ds`0MoQwp+I{3l6` zB<9S((RpLG^>=Kic`1LnhpW2=Gu!x`m~=y;A`Qk!-w`IN;S8S930#vBVMv2vCKi}u z6<-VPrU0AnE&vzwV(CFC0gnZYcpa-l5T0ZS$P6(?9AM;`Aj~XDvt;Jua=jIgF=Fm? zdp=M$>`phx%+Gu};;-&7T|B1AcC#L4@mW5SV_^1BRbo6;2PWe$r+npRV`yc;T1mo& z+~_?7rA+(Um&o@Tddl zL_hxvWk~a)yY}%j`Y+200D%9$bWHy&;(yj{jpi?Rtz{J66ANw)UyPOm;t6FzY3$hx zcn)Ir79nhFvNa7^a{SHN7XH*|Vlsx`CddPnA&Qvh8aNhEA;mPVv;Ah=k<*u!Zq^7 z<=xs*iQTQOMMcg|(NA_auh@x`3#_LFt=)}%SQppP{E>mu_LgquAWvh<>L7tf9+~rO znwUDS52u)OtY<~!d$;m9+87aO+&`#2ICl@Y>&F{jI=H(K+@3M1$rr=*H^dye#~TyD z!){#Pyfn+|ugUu}G;a~!&&0aqQ59U@UT3|_JuBlYUpT$2+11;}JBJ`{+lQN9T@QFY z5+`t;6(TS0F?OlBTE!@7D`8#URDNqx2t6`GZ{ZgXeS@v%-eJzZOHz18aS|svxII$a zZeFjrJ*$IwX$f-Rzr_G>xbu@euGl)B7pC&S+CmDJBg$BoV~jxSO#>y z33`bupN#LDoW0feZe0%q8un0rYN|eRAnwDHQ6e_)xBTbtoZtTA=Fvk){q}9Os~6mQ zKB80VI_&6iSq`LnK7*kfHZoeX6?WE}8yjuDn=2#JG$+;-TOA1%^=DnXx%w{b=w}tS zQbU3XxtOI8E(!%`64r2`zog;5<0b4i)xBmGP^jiDZ2%HNSxIf3@wKs~uk4%3Mxz;~ zts_S~E4>W+YwI<-*-$U8*^HKDEa8oLbmqGg?3vewnaNg%Mm)W=)lcC_J+1ov^u*N3 zXJ?!BrH-+wGYziJq2Y#vyry6Z>NPgkEk+Ke`^DvNRdb>Q2Nlr#v%O@<5hbflI6EKE z9dWc0-ORk^T}jP!nkJ1imyjdVX@GrjOs%cpgA8-c&FH&$(4od#x6Y&=LiJZPINVyW z0snY$8JW@>tc2}DlrD3StQmA0Twck~@>8dSix9CyQOALcREdxoM$Sw*l!}bXKq9&r zysMWR@%OY24@e`?+#xV2bk{T^C_xSo8v2ZI=lBI*l{RciPwuE>L5@uhz@{!l)rtVlWC>)6(G)1~n=Q|S!{E9~6*fdpa*n z!()-8EpTdj=zr_Lswi;#{TxbtH$8*G=UM`I+icz7sr_SdnHXrv=?iEOF1UL+*6O;% zPw>t^kbW9X@oEXx<97%lBm-9?O_7L!DeD)Me#rwE54t~UBu9VZ zl_I1tBB~>jm@bw0Aljz8! zXBB6ATG6iByKIxs!qr%pz%wgqbg(l{65DP4#v(vqhhL{0b#0C8mq`bnqZ1OwFV z7mlZZJFMACm>h9v^2J9+^_zc1=JjL#qM5ZHaThH&n zXPTsR8(+)cj&>Un{6v*z?@VTLr{TmZ@-fY%*o2G}*G}#!bmqpoo*Ay@U!JI^Q@7gj;Kg-HIrLj4}#ec4~D2~X6vo;ghep-@&yOivYP zC19L0D`jjKy1Yi-SGPAn94(768Tcf$urAf{)1)9W58P`6MA{YG%O?|07!g9(b`8PXG1B1Sh0?HQmeJtP0M$O$hI z{5G`&9XzYhh|y@qsF1GnHN|~^ru~HVf#)lOTSrv=S@DyR$UKQk zjdEPFDz{uHM&UM;=mG!xKvp;xAGHOBo~>_=WFTmh$chpC7c`~7?36h)7$fF~Ii}8q zF|YXxH-Z?d+Q+27Rs3X9S&K3N+)OBxMHn1u(vlrUC6ckBY@@jl+mgr#KQUKo#VeFm zFwNYgv0<%~Wn}KeLeD9e1$S>jhOq&(e*I@L<=I5b(?G(zpqI*WBqf|Zge0&aoDUsC zngMRA_Kt0>La+Erl=Uv_J^p(z=!?XHpenzn$%EA`JIq#yYF?JLDMYiPfM(&Csr#f{ zdd+LJL1by?xz|D8+(fgzRs~(N1k9DSyK@LJygwaYX8dZl0W!I&c^K?7)z{2is;OkE zd$VK-(uH#AUaZrp=1z;O*n=b?QJkxu`Xsw&7yrX0?(CX=I-C#T;yi8a<{E~?vr3W> zQrpPqOW2M+AnZ&p{hqmHZU-;Q(7?- zP8L|Q0RM~sB0w1w53f&Kd*y}ofx@c z5Y6B8qGel+uT1JMot$nT1!Tim6{>oZzJXdyA+4euOLME?5Fd_85Uk%#E*ln%y{u8Q z$|?|R@Hpb~yTVK-Yr_S#%NUy7EBfYGAg>b({J|5b+j-PBpPy$Ns`PaJin4JdRfOaS zE|<HjH%NuJgsd2wOlv>~y=np%=2)$M9LS|>P)zJ+Fei5vYo_N~B0XCn+GM76 z)Xz3tg*FRVFgIl9zpESgdpWAavvVViGlU8|UFY{{gVJskg*I!ZjWyk~OW-Td4(mZ6 zB&SQreAAMqwp}rjy`HsG({l2&q5Y52<@AULVAu~rWI$UbFuZs>Sc*x+XI<+ez%$U)|a^unjpiW0l0 zj1!K0(b6$8LOjzRqQ~K&dfbMIE=TF}XFAi)$+h}5SD3lo z%%Qd>p9se=VtQG{kQ;N`sI)G^u|DN#7{aoEd zkksYP%_X$Rq08);-s6o>CGJ<}v`qs%eYf+J%DQ^2k68C%nvikRsN?$ap--f+vCS`K z#&~)f7!N^;sdUXu54gl3L=LN>FB^tuK=y2e#|hWiWUls__n@L|>xH{%8lIJTd5`w? zSwZbnS;W~DawT4OwSJVdAylbY+u5S+ZH{4hAi2&}Iv~W(UvHg(1GTZRPz`@{SOqzy z(8g&Dz=$PfRV=6FgxN~zo+G8OoPI&d-thcGVR*_^(R8COTM@bq?fDwY{}WhsQS1AK zF6R1t8!RdFmfocpJ6?9Yv~;WYi~XPgs(|>{5})j!AR!voO7y9&cMPo#80A(`za@t>cx<0;qxM@S*m(jYP)dMXr*?q0E`oL;12}VAep179uEr8c<=D zr5?A*C{eJ`z9Ee;E$8)MECqatHkbHH z&Y+ho0B$31MIB-xm&;xyaFCtg<{m~M-QDbY)fQ>Q*Xibb~8ytxZQ?QMf9!%cV zU0_X1@b4d+Pg#R!`OJ~DOrQz3@cpiGy~XSKjZQQ|^4J1puvwKeScrH8o{bscBsowomu z^f12kTvje`yEI3eEXDHJ6L+O{Jv$HVj%IKb|J{IvD*l6IG8WUgDJ*UGz z3!C%>?=dlfSJ>4U88)V+`U-!9r^@AxJBx8R;)J4Fn@`~k>8>v0M9xp90OJElWP&R5 zM#v*vtT}*Gm1^)Bv!s72T3PB0yVIjJW)H7a)ilkAvoaH?)jjb`MP>2z{%Y?}83 zUIwBKn`-MSg)=?R)1Q0z3b>dHE^)D8LFs}6ASG1|daDly_^lOSy&zIIhm*HXm1?VS=_iacG);_I9c zUQH1>i#*?oPIwBMJkzi_*>HoUe}_4o>2(SHWzqQ=;TyhAHS;Enr7!#8;sdlty&(>d zl%5cjri8`2X^Ds`jnw7>A`X|bl=U8n+3LKLy(1dAu8`g@9=5iw$R0qk)w8Vh_Dt^U zIglK}sn^)W7aB(Q>HvrX=rxB z+*L)3DiqpQ_%~|m=44LcD4-bxO3OO*LPjsh%p(k?&jvLp0py57oMH|*IMa(<|{m1(0S|x)?R-mqJ=I;_YUZA>J z62v*eSK;5w!h8J+6Z2~oyGdZ68waWfy09?4fU&m7%u~zi?YPHPgK6LDwphgaYu%0j zurtw)AYOpYKgHBrkX189mlJ`q)w-f|6>IER{5Lk97%P~a-JyCRFjejW@L>n4vt6#hq;!|m;hNE||LK3nw1{bJOy+eBJjK=QqNjI;Q6;Rp5 z&035pZDUZ#%Oa;&_7x0T<7!RW`#YBOj}F380Bq?MjjEhrvlCATPdkCTTl+2efTX$k zH&0zR1n^`C3ef~^sXzJK-)52(T}uTG%OF8yDhT76L~|^+hZ2hiSM*QA9*D5odI1>& z9kV9jC~twA5MwyOx(lsGD_ggYmztXPD`2=_V|ks_FOx!_J8!zM zTzh^cc+=VNZ&(OdN=y4Juw)@8-85lwf_#VMN!Ed(eQiRiLB2^2e`4dp286h@v@`O%_b)Y~A; zv}r6U?zs&@uD_+(_4bwoy7*uozNvp?bXFoB8?l8yG0qsm1JYzIvB_OH4_2G*IIOwT zVl%HX1562vLVcxM_RG*~w_`FbIc!(T=3>r528#%mwwMK}uEhJ()3MEby zQQjzqjWkwfI~;Fuj(Lj=Ug0y`>~C7`w&wzjK(rPw+Hpd~EvQ-ufQOiB4OMpyUKJhw zqEt~jle9d7S~LI~$6Z->J~QJ{Vdn3!c}g9}*KG^Kzr^(7VI5Gk(mHLL{itj_hG?&K4Ws0+T4gLfi3eu$N=`s36geNC?c zm!~}vG6lx9Uf^5M;bWntF<-{p^bruy~f?sk9 zcETAPQZLoJ8JzMMg<-=ju4keY@SY%Wo?u9Gx=j&dfa6LIAB|IrbORLV1-H==Z1zCM zeZcOYpm5>U2fU7V*h;%n`8 zN95QhfD994={1*<2vKLCNF)feKOGk`R#K~G=;rfq}|)s20&MCa65 zUM?xF5!&e0lF%|U!#rD@I{~OsS_?=;s_MQ_b_s=PuWdC)q|UQ&ea)DMRh5>fpQjXe z%9#*x=7{iRCtBKT#H>#v%>77|{4_slZ)XCY{s3j_r{tdpvb#|r|sbS^dU1x70$eJMU!h{Y7Kd{dl}9&vxQl6Jt1a` zHQZrWyY0?!vqf@u-fxU_@+}u(%Wm>0I#KP48tiAPYY!TdW(o|KtVI|EUB9V`CBBNaBLVih7+yMVF|GSoIQD0Jfb{ z!OXq;(>Z?O`1gap(L~bUcp>Lc@Jl-})^=6P%<~~9ywY=$iu8pJ0m*hOPzr~q`23eX zgbs;VOxxENe0UMVeN*>uCn9Gk!4siN-e>x)pIKAbQz!G)TcqIJ0`JBBaX>1-4_XO_-HCS^vr2vjv#7KltDZdyQ{tlWh4$Gm zB>|O1cBDC)yG(sbnc*@w6e%e}r*|IhpXckx&;sQCwGdKH+3oSG-2)Bf#x`@<4ETAr z0My%7RFh6ZLiZ_;X6Mu1YmXx7C$lSZ^}1h;j`EZd6@%JNUe=btBE z%s=Xmo1Ps?8G`}9+6>iaB8bgjUdXT?=trMu|4yLX^m0Dg{m7rpKNJey|EwHI+nN1e zL^>qN%5Fg)dGs4DO~uwIdXImN)QJ*Jhpj7$fq_^`{3fwpztL@WBB}OwQ#Epo-mqMO zsM$UgpFiG&d#)lzEQ{3Q;)&zTw;SzGOah-Dpm{!q7<8*)Ti_;xvV2TYXa}=faXZy? z3y?~GY@kl)>G&EvEijk9y1S`*=zBJSB1iet>0;x1Ai)*`^{pj0JMs)KAM=@UyOGtO z3y0BouW$N&TnwU6!%zS%nIrnANvZF&vB1~P5_d`x-giHuG zPJ;>XkVoghm#kZXRf>qxxEix;2;D1CC~NrbO6NBX!`&_$iXwP~P*c($EVV|669kDO zKoTLZNF4Cskh!Jz5ga9uZ`3o%7Pv`d^;a=cXI|>y;zC3rYPFLQkF*nv(r>SQvD*## z(Vo%^9g`%XwS0t#94zPq;mYGLKu4LU3;txF26?V~A0xZbU4Lmy`)>SoQX^m7fd^*E z+%{R4eN!rIk~K)M&UEzxp9dbY;_I^c} zOc{wlIrN_P(PPqi51k_$>Lt|X6A^|CGYgKAmoI#Li?;Wq%q~q*L7ehZkUrMxW67Jl zhsb~+U?33QS>eqyN{(odAkbopo=Q$Az?L+NZW>j;#~@wCDX?=L5SI|OxI~7!Pli;e zELMFcZtJY3!|=Gr2L4>z8yQ-{To>(f80*#;6`4IAiqUw`=Pg$%C?#1 z_g@hIGerILSU>=P>z{gM|DS91A4cT@PEIB^hSop!uhMo#2G;+tQSpDO_6nOnPWSLU zS;a9m^DFMXR4?*X=}d7l;nXuHk&0|m`NQn%d?8|Ab3A9l9Jh5s120ibWBdB z$5YwsK3;wvp!Kn@)Qae{ef`0#NwlRpQ}k^r>yos_Ne1;xyKLO?4)t_G4eK~wkUS2A&@_;)K0-03XGBzU+5f+uMDxC z(s8!8!RvdC#@`~fx$r)TKdLD6fWEVdEYtV#{ncT-ZMX~eI#UeQ-+H(Z43vVn%Yj9X zLdu9>o%wnWdvzA-#d6Z~vzj-}V3FQ5;axDIZ;i(95IIU=GQ4WuU{tl-{gk!5{l4_d zvvb&uE{%!iFwpymz{wh?bKr1*qzeZb5f6e6m_ozRF&zux2mlK=v_(_s^R6b5lu?_W4W3#<$zeG~Pd)^!4tzhs}-Sx$FJP>)ZGF(hVTH|C3(U zs0PO&*h_ zNA-&qZpTP$$LtIgfiCn07}XDbK#HIXdmv8zdz4TY;ifNIH-0jy(gMSByG2EF~Th#eb_TueZC` zE?3I>UTMpKQ})=C;6p!?G)M6w^u*A57bD?2X`m3X^6;&4%i_m(uGJ3Z5h`nwxM<)H z$I5m?wN>O~8`BGnZ=y^p6;0+%_0K}Dcg|K;+fEi|qoBqvHj(M&aHGqNF48~XqhtU? z^ogwBzRlOfpAJ+Rw7IED8lRbTdBdyEK$gPUpUG}j-M42xDj_&qEAQEtbs>D#dRd7Y z<&TpSZ(quQDHiCFn&0xsrz~4`4tz!CdL8m~HxZM_agu@IrBpyeL1Ft}V$HX_ZqDPm z-f89)pjuEzGdq-PRu`b1m+qBGY{zr_>{6Ss>F|xHZlJj9dt5HD$u`1*WZe)qEIuDSR)%z+|n zatVlhQ?$w#XRS7xUrFE;Y8vMGhQS5*T{ZnY=q1P?w5g$OKJ#M&e??tAmPWHMj3xhS ziGxapy?kn@$~2%ZY;M8Bc@%$pkl%Rvj!?o%agBvpQ-Q61n9kznC4ttrRNQ4%GFR5u zyv%Yo9~yxQJWJSfj z?#HY$y=O~F|2pZs22pu|_&Ajd+D(Mt!nPUG{|1nlvP`=R#kKH zO*s$r_%ss5h1YO7k0bHJ2CXN)Yd6CHn~W!R=SqkWe=&nAZu(Q1G!xgcUilM@YVei@2@a`8he z9@pM`)VB*=e7-MWgLlXlc)t;fF&-AwM{E-EX}pViFn0I0CNw2bNEnN2dj!^4(^zS3 zobUm1uQnpqk_4q{pl*n06=TfK_C>UgurKFjRXsK_LEn};=79`TB12tv6KzwSu*-C8 z;=~ohDLZylHQ|Mpx-?yql>|e=vI1Z!epyUpAcDCp4T|*RV&X`Q$0ogNwy6mFALo^@ z9=&(9txO8V@E!@6^(W0{*~CT>+-MA~vnJULBxCTUW>X5>r7*eXYUT0B6+w@lzw%n> z_VjJ<2qf|(d6jYq2(x$(ZDf!yVkfnbvNmb5c|hhZ^2TV_LBz`9w!e_V*W_(MiA7|= z&EeIIkw*+$Xd!)j8<@_<}A5;~A_>3JT*kX^@}cDoLd>Qj<`Se^wdUa(j0dp+Tl8EptwBm{9OGsdFEq zM`!pjf(Lm(`$e3FLOjqA5LnN5o!}z{ zNf}rJuZh@yUtq&ErjHeGzX4(!luV!jB&;FAP|!R_QHYw#^Z1LwTePAKJ6X&IDNO#; z)#I@Xnnzyij~C@UH~X51JCgQeF0&hTXnuoElz#m{heZRexWc0k4<>0+ClX7%0 zEBqCCld1tD9Zwkr4{?Nor19#E5-YKfB8d?qgR82-Ow2^AuNevly2*tHA|sK!ybYkX zm-sLQH72P&{vEAW6+z~O5d0qd=xW~rua~5a?ymYFSD@8&gV)E5@RNNBAj^C99+Z5Z zR@Pq55mbCQbz+Mn$d_CMW<-+?TU960agEk1J<>d>0K=pF19yN))a~4>m^G&tc*xR+yMD*S=yip-q=H zIlredHpsJV8H(32@Zxc@bX6a21dUV95Th--8pE6C&3F>pk=yv$yd6@Haw;$v4+Fcb zRwn{Qo@0`7aPa2LQOP}j9v>sjOo5Kqvn|`FLizX zB+@-u4Lw|jsvz{p^>n8Vo8H2peIqJJnMN}A)q6%$Tmig7eu^}K2 zrh$X?T|ZMsoh{6pdw1G$_T<`Ds-G=jc;qcGdK4{?dN2-XxjDNbb(7pk|3JUVCU4y; z)?LXR>f+AAu)JEiti_Zy#z5{RgsC}R(@jl%9YZ>zu~hKQ*AxbvhC378-I@{~#%Y`Z zy=a=9YpewPIC+gkEUUwtUL7|RU7=!^Aa}Mk^6uxOgRGA#JXjWLsjFUnix|Mau{hDT z7mn*z1m5g`vP(#tjT0Zy4eAY(br&!RiiXE=ZI!{sE1#^#%x^Z7t1U)b<;%Y}Q9=5v z;wpDCEZ@OE36TWT=|gxigT@VaW9BvHS05;_P(#s z8zI4XFQys}q)<`tkX$WnSarn{3e!s}4(J!=Yf>+Y>cP3f;vr63f2{|S^`_pWc)^5_!R z*(x-fuBxL51@xe!lnDBKi}Br$c$BMZ3%f2Sa6kLabiBS{pq*yj;q|k(86x`PiC{p6 z_bxCW{>Q2BA8~Ggz&0jkrcU+-$ANBsOop*ms>34K9lNYil@}jC;?cYP(m^P}nR6FV zk(M%48Z&%2Rx$A&FhOEirEhY0(dn;-k(qkTU)sFQ`+-ih+s@A8g?r8Pw+}2;35WYf zi}VO`jS`p(tc)$X$a>-#WXoW!phhatC*$}|rk>|wUU71eUJG^$c6_jwX?iSHM@6__ zvV|6%U*$sSXJu9SX?2%M^kK|}a2QJ8AhF{fuXrHZxXsI~O zGKX45!K7p*MCPEQ=gp?eu&#AW*pR{lhQR##P_*{c_DjMGL|3T3-bSJ(o$|M{ytU}> zAV>wq*uE*qFo9KvnA^@juy{x<-u*#2NvkV={Ly}ysKYB-k`K3@K#^S1Bb$8Y#0L0# z`6IkSG&|Z$ODy|VLS+y5pFJx&8tvPmMd8c9FhCyiU8~k6FwkakUd^(_ml8`rnl>JS zZV){9G*)xBqPz^LDqRwyS6w86#D^~xP4($150M)SOZRe9sn=>V#aG0Iy(_^YcPpIz8QYM-#s+n% z@Jd?xQq?Xk6=<3xSY7XYP$$yd&Spu{A#uafiIfy8gRC`o0nk{ezEDjb=q_qRAlR1d zFq^*9Gn)yTG4b}R{!+3hWQ+u3GT~8nwl2S1lpw`s0X_qpxv)g+JIkVKl${sYf_nV~B>Em>M;RlqGb5WVil(89 zs=ld@|#;dq1*vQGz=7--Br-|l) zZ%Xh@v8>B7P?~}?Cg$q9_={59l%m~O&*a6TKsCMAzG&vD>k2WDzJ6!tc!V)+oxF;h zJH;apM=wO?r_+*#;ulohuP=E>^zon}a$NnlcQ{1$SO*i=jnGVcQa^>QOILc)e6;eNTI>os=eaJ{*^DE+~jc zS}TYeOykDmJ=6O%>m`i*>&pO_S;qMySJIyP=}4E&J%#1zju$RpVAkZbEl+p%?ZP^C z*$$2b4t%a(e+%>a>d_f_<JjxI#J1x;=hPd1zFPx=6T$;;X1TD*2(edZ3f46zaAoW>L53vS_J*N8TMB|n+;LD| zC=GkQPpyDY#Am4l49chDv*gojhRj_?63&&8#doW`INATAo(qY#{q}%nf@eTIXmtU< zdB<7YWfyCmBs|c)cK>1)v&M#!yNj#4d$~pVfDWQc_ke1?fw{T1Nce_b`v|Vp5ig(H zJvRD^+ps46^hLX;=e2!2e;w9y1D@!D$c@Jc&%%%IL=+xzw55&2?darw=9g~>P z9>?Kdc$r?6c$m%x2S$sdpPl>GQZ{rC9mPS63*qjCVa?OIBj!fW zm|g?>CVfGXNjOfcyqImXR_(tXS(F{FcoNzKvG5R$IgGaxC@)i(e+$ME}vPVIhd|mx2IIE+f zM?9opQHIVgBWu)^A|RzXw!^??S!x)SZOwZaJkGjc<_}2l^eSBm!eAJG9T>EC6I_sy z?bxzDIAn&K5*mX)$RQzDA?s)-no-XF(g*yl4%+GBf`##bDXJ==AQk*xmnatI;SsLp zP9XTHq5mmS=iWu~9ES>b%Q=1aMa|ya^vj$@qz9S!ih{T8_PD%Sf_QrNKwgrXw9ldm zHRVR98*{C?_XNpJn{abA!oix_mowRMu^2lV-LPi;0+?-F(>^5#OHX-fPED zCu^l7u3E%STI}c4{J2!)9SUlGP_@!d?5W^QJXOI-Ea`hFMKjR7TluLvzC-ozCPn1`Tpy z!vlv@_Z58ILX6>nDjTp-1LlFMx~-%GA`aJvG$?8*Ihn;mH37eK**rmOEwqegf-Ccx zrIX4;{c~RK>XuTXxYo5kMiWMy)!IC{*DHG@E$hx?RwP@+wuad(P1{@%tRkyJRqD)3 zMHHHZ4boqDn>-=DgR5VlhQTpfVy182Gk;A_S8A1-;U1RR>+$62>(MUx@Nox$vTjHq z%QR=j!6Gdyb5wu7y(YUktwMuW5<@jl?m4cv4BODiT5o8qVdC0MBqGr@-YBIwnpZAY znX9(_uQjP}JJ=!~Ve9#5I~rUnN|P_3D$LqZcvBnywYhjlMSFHm`;u9GPla{5QD7(7*6Tb3Svr8;(nuAd81q$*uq6HC_&~je*Ca7hP4sJp0av{M8480wF zxASi7Qv+~@2U%Nu1Ud;s-G4CTVWIPyx!sg&8ZG0Wq zG_}i3C(6_1>q3w!EH7$Kwq8uBp2F2N7}l65mk1p*9v0&+;th=_E-W)E;w}P(j⁢ zv5o9#E7!G0XmdzfsS{efPNi`1b44~SZ4Z8fuX!I}#8g+(wxzQwUT#Xb2(tbY1+EUhGKoT@KEU9Ktl>_0 z%bjDJg;#*gtJZv!-Zs`?^}v5eKmnbjqlvnSzE@_SP|LG_PJ6CYU+6zY6>92%E+ z=j@TZf-iW4(%U{lnYxQA;7Q!b;^brF8n0D>)`q5>|WDDXLrqYU_tKN2>=#@~OE7grMnNh?UOz-O~6 z6%rHy{#h9K0AT+lDC7q4{hw^|q6*Ry;;L%Q@)Ga}$60_q%D)rv(CtS$CQbpq9|y1e zRSrN4;$Jyl{m5bZw`$8TGvb}(LpY{-cQ)fcyJv7l3S52TLXVDsphtv&aPuDk1OzCA z4A^QtC(!11`IsNx_HnSy?>EKpHJWT^wmS~hc^p^zIIh@9f6U@I2 zC=Mve{j2^)mS#U$e{@Q?SO6%LDsXz@SY+=cK_QMmXBIU)j!$ajc-zLx3V60EXJ!qC zi<%2x8Q24YN+&8U@CIlN zrZkcT9yh%LrlGS9`G)KdP(@9Eo-AQz@8GEFWcb7U=a0H^ZVbLmz{+&M7W(nXJ4sN8 zJLR7eeK(K8`2-}j(T7JsO`L!+CvbueT%izanm-^A1Dn{`1Nw`9P?cq;7no+XfC`K(GO9?O^5zNIt4M+M8LM0=7Gz8UA@Z0N+lg+cX)NfazRu z5D)~HA^(u%w^cz+@2@_#S|u>GpB+j4KzQ^&Wcl9f z&hG#bCA(Yk0D&t&aJE^xME^&E-&xGHhXn%}psEIj641H+Nl-}boj;)Zt*t(4wZ5DN z@GXF$bL=&pBq-#vkTkh>7hl%K5|3 z{`Vn9b$iR-SoGENp}bn4;fR3>9sA%X2@1L3aE9yTra;Wb#_`xWwLSLdfu+PAu+o3| zGVnpzPr=ch{uuoHjtw7+_!L_2;knQ!DuDl0R`|%jr+}jFzXtrHIKc323?JO{l&;VF z*L1+}JU7%QJOg|5|Tc|D8fN zJORAg=_vsy{ak|o);@)Yh8Lkcg@$FG3k@ep36BRa^>~UmnRPziS>Z=`Jb2x*Q#`%A zU*i3&Vg?TluO@X0O;r2Jl6LKLUOVhSqg1*qOt^|8*c7 zo(298@+r$k_wQNGHv{|$tW(T8L+4_`FQ{kEW5Jgg{yf7ey4ss_(SNKfz(N9lx&a;< je(UuV8hP?p&}TPdm1I$XmG#(RzlD&B2izSj9sl%y5~4qc diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle/gradle/wrapper/gradle-wrapper.properties b/java/ql/integration-tests/all-platforms/java/buildless-gradle/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index ac72c34e8ac..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,7 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip -networkTimeout=10000 -validateDistributionUrl=true -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle/gradlew b/java/ql/integration-tests/all-platforms/java/buildless-gradle/gradlew deleted file mode 100755 index 0adc8e1a532..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle/gradlew +++ /dev/null @@ -1,249 +0,0 @@ -#!/bin/sh - -# -# Copyright © 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -# This is normally unused -# shellcheck disable=SC2034 -APP_BASE_NAME=${0##*/} -# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - if ! command -v java >/dev/null 2>&1 - then - die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle/gradlew.bat b/java/ql/integration-tests/all-platforms/java/buildless-gradle/gradlew.bat deleted file mode 100644 index 93e3f59f135..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle/gradlew.bat +++ /dev/null @@ -1,92 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle/source_archive.expected b/java/ql/integration-tests/all-platforms/java/buildless-gradle/source_archive.expected new file mode 100644 index 00000000000..1ee055eeb02 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/buildless-gradle/source_archive.expected @@ -0,0 +1,7 @@ +.gradle/8.3/dependencies-accessors/gc.properties +.gradle/8.3/gc.properties +.gradle/buildOutputCleanup/cache.properties +.gradle/vcs-1/gc.properties +gradle/wrapper/gradle-wrapper.properties +src/main/java/com/fractestexample/Test.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle/test.expected b/java/ql/integration-tests/all-platforms/java/buildless-gradle/test.expected deleted file mode 100644 index 05792cb19fc..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle/test.expected +++ /dev/null @@ -1 +0,0 @@ -| src/main/java/com/fractestexample/Test.java:0:0:0:0 | Test | diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle/test.py b/java/ql/integration-tests/all-platforms/java/buildless-gradle/test.py index bfff65b2fc2..bea3e5f552c 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle/test.py +++ b/java/ql/integration-tests/all-platforms/java/buildless-gradle/test.py @@ -1,8 +1,7 @@ -from create_database_utils import * -from diagnostics_test_utils import * -from buildless_test_utils import * - -run_codeql_database_create([], lang="java", extra_env={"CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true", "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true"}) - -check_diagnostics() -check_buildless_fetches() +def test(codeql, java, gradle_8_3): + codeql.database.create( + _env={ + "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true", + "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true", + } + ) diff --git a/java/ql/integration-tests/all-platforms/java/buildless-gradle/test.ql b/java/ql/integration-tests/all-platforms/java/buildless-gradle/test.ql deleted file mode 100644 index 8317a5a022f..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-gradle/test.ql +++ /dev/null @@ -1,5 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f diff --git a/java/ql/integration-tests/all-platforms/java/buildless-inherit-trust-store/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/buildless-inherit-trust-store/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-inherit-trust-store/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/buildless-inherit-trust-store/test.py b/java/ql/integration-tests/all-platforms/java/buildless-inherit-trust-store/test.py index 973a10c931c..b69070ddf81 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-inherit-trust-store/test.py +++ b/java/ql/integration-tests/all-platforms/java/buildless-inherit-trust-store/test.py @@ -1,22 +1,21 @@ -import sys - -from create_database_utils import * -from buildless_test_utils import * -from diagnostics_test_utils import * import subprocess -import os.path +import os -# This serves the "repo" directory on https://locahost:4443 -repo_server_process = subprocess.Popen(["python3", "../server.py"], cwd = "repo") -mypath = os.path.abspath(os.path.dirname(__file__)) -certspath = os.path.join(mypath, "jdk8_shipped_cacerts_plus_cert_pem") -maven_certs_option = "-Djavax.net.ssl.trustStore=" + certspath +def test(codeql, java, cwd): + # This serves the "repo" directory on https://locahost:4443 + repo_server_process = subprocess.Popen(["python3", "../server.py"], cwd="repo") + certspath = cwd / "jdk8_shipped_cacerts_plus_cert_pem" + # If we override MAVEN_OPTS, we'll break cross-test maven isolation, so we need to append to it instead + maven_opts = os.environ["MAVEN_OPTS"] + f" -Djavax.net.ssl.trustStore={certspath}" -try: - run_codeql_database_create([], lang="java", extra_args=["--build-mode=none"], extra_env={"MAVEN_OPTS": maven_certs_option, "CODEQL_JAVA_EXTRACTOR_TRUST_STORE_PATH": certspath}) -finally: - repo_server_process.kill() - -check_buildless_fetches() -check_diagnostics() + try: + codeql.database.create( + extractor_option="buildless=true", + _env={ + "MAVEN_OPTS": maven_opts, + "CODEQL_JAVA_EXTRACTOR_TRUST_STORE_PATH": str(certspath), + }, + ) + finally: + repo_server_process.kill() diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/source_archive.expected b/java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/source_archive.expected new file mode 100644 index 00000000000..c6f2f49cf7d --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/source_archive.expected @@ -0,0 +1,7 @@ +pom.xml +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/page.xml +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/test.expected b/java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/test.expected deleted file mode 100644 index cbd09bcf554..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/test.expected +++ /dev/null @@ -1,10 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| pom.xml:0:0:0:0 | pom.xml | -| src/main/resources/page.xml:0:0:0:0 | src/main/resources/page.xml | -| src/main/resources/struts.xml:0:0:0:0 | src/main/resources/struts.xml | -propertiesFiles -| src/main/resources/my-app.properties:0:0:0:0 | src/main/resources/my-app.properties | -| test-db/log/ext/javac.properties:0:0:0:0 | test-db/log/ext/javac.properties | diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/test.py b/java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/test.py index bfff65b2fc2..a92ac46584c 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/test.py +++ b/java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/test.py @@ -1,8 +1,7 @@ -from create_database_utils import * -from diagnostics_test_utils import * -from buildless_test_utils import * - -run_codeql_database_create([], lang="java", extra_env={"CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true", "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true"}) - -check_diagnostics() -check_buildless_fetches() +def test(codeql, java): + codeql.database.create( + _env={ + "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true", + "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true", + } + ) diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/test.ql b/java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/test.ql deleted file mode 100644 index 25cd26fdd14..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven-executable-war/test.ql +++ /dev/null @@ -1,9 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } - -query predicate propertiesFiles(File f) { f.getExtension() = "properties" } diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/source_archive.expected b/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/source_archive.expected new file mode 100644 index 00000000000..06978379cfb --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/source_archive.expected @@ -0,0 +1,14 @@ +pom.xml +submod1/pom.xml +submod1/src/main/java/com/example/App.java +submod1/src/main/resources/my-app.properties +submod1/src/main/resources/page.xml +submod1/src/main/resources/struts.xml +submod1/src/test/java/com/example/AppTest.java +submod2/pom.xml +submod2/src/main/java/com/example/App2.java +submod2/src/main/resources/my-app.properties +submod2/src/main/resources/page.xml +submod2/src/main/resources/struts.xml +submod2/src/test/java/com/example/AppTest2.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/test.expected b/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/test.expected deleted file mode 100644 index ef6afbda3b0..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/test.expected +++ /dev/null @@ -1,17 +0,0 @@ -#select -| submod1/src/main/java/com/example/App.java:0:0:0:0 | App | -| submod1/src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -| submod2/src/main/java/com/example/App2.java:0:0:0:0 | App2 | -| submod2/src/test/java/com/example/AppTest2.java:0:0:0:0 | AppTest2 | -xmlFiles -| pom.xml:0:0:0:0 | pom.xml | -| submod1/pom.xml:0:0:0:0 | submod1/pom.xml | -| submod1/src/main/resources/page.xml:0:0:0:0 | submod1/src/main/resources/page.xml | -| submod1/src/main/resources/struts.xml:0:0:0:0 | submod1/src/main/resources/struts.xml | -| submod2/pom.xml:0:0:0:0 | submod2/pom.xml | -| submod2/src/main/resources/page.xml:0:0:0:0 | submod2/src/main/resources/page.xml | -| submod2/src/main/resources/struts.xml:0:0:0:0 | submod2/src/main/resources/struts.xml | -propertiesFiles -| submod1/src/main/resources/my-app.properties:0:0:0:0 | submod1/src/main/resources/my-app.properties | -| submod2/src/main/resources/my-app.properties:0:0:0:0 | submod2/src/main/resources/my-app.properties | -| test-db/log/ext/javac.properties:0:0:0:0 | test-db/log/ext/javac.properties | diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/test.py b/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/test.py index bfff65b2fc2..a92ac46584c 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/test.py +++ b/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/test.py @@ -1,8 +1,7 @@ -from create_database_utils import * -from diagnostics_test_utils import * -from buildless_test_utils import * - -run_codeql_database_create([], lang="java", extra_env={"CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true", "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true"}) - -check_diagnostics() -check_buildless_fetches() +def test(codeql, java): + codeql.database.create( + _env={ + "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true", + "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true", + } + ) diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/test.ql b/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/test.ql deleted file mode 100644 index 25cd26fdd14..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven-multimodule/test.ql +++ /dev/null @@ -1,9 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } - -query predicate propertiesFiles(File f) { f.getExtension() = "properties" } diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/force_sequential_test_execution deleted file mode 100644 index 44bcad8d582..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -The wrapper downloading a Maven distribution multiple times in parallel is not safe. diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/source_archive.expected b/java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/source_archive.expected new file mode 100644 index 00000000000..f73dc023c39 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/source_archive.expected @@ -0,0 +1,8 @@ +.mvn/wrapper/maven-wrapper.properties +pom.xml +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/page.xml +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/test.expected b/java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/test.expected deleted file mode 100644 index 0728284fc94..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/test.expected +++ /dev/null @@ -1,11 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| pom.xml:0:0:0:0 | pom.xml | -| src/main/resources/page.xml:0:0:0:0 | src/main/resources/page.xml | -| src/main/resources/struts.xml:0:0:0:0 | src/main/resources/struts.xml | -propertiesFiles -| .mvn/wrapper/maven-wrapper.properties:0:0:0:0 | .mvn/wrapper/maven-wrapper.properties | -| src/main/resources/my-app.properties:0:0:0:0 | src/main/resources/my-app.properties | -| test-db/log/ext/javac.properties:0:0:0:0 | test-db/log/ext/javac.properties | diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/test.py b/java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/test.py index 948d030eb9d..2c70d7dd91a 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/test.py +++ b/java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/test.py @@ -1,9 +1,6 @@ -import sys - -from create_database_utils import * -from diagnostics_test_utils import * - -# mvnw has been rigged to stall for a long time by trying to fetch from a black-hole IP. We should find the timeout logic fires and buildless aborts the Maven run quickly. - -run_codeql_database_create([], lang="java", extra_args=["--build-mode=none"], extra_env={"CODEQL_EXTRACTOR_JAVA_BUILDLESS_CHILD_PROCESS_IDLE_TIMEOUT": "5"}) -check_diagnostics() +def test(codeql, java): + # mvnw has been rigged to stall for a long time by trying to fetch from a black-hole IP. We should find the timeout logic fires and buildless aborts the Maven run quickly. + codeql.database.create( + build_mode="none", + _env={"CODEQL_EXTRACTOR_JAVA_BUILDLESS_CHILD_PROCESS_IDLE_TIMEOUT": "5"}, + ) diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/test.ql b/java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/test.ql deleted file mode 100644 index 25cd26fdd14..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven-timeout/test.ql +++ /dev/null @@ -1,9 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } - -query predicate propertiesFiles(File f) { f.getExtension() = "properties" } diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-tolerate-unavailable-dependency/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/buildless-maven-tolerate-unavailable-dependency/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven-tolerate-unavailable-dependency/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven-tolerate-unavailable-dependency/test.py b/java/ql/integration-tests/all-platforms/java/buildless-maven-tolerate-unavailable-dependency/test.py index 3f8deac940f..f7673ce3ad1 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven-tolerate-unavailable-dependency/test.py +++ b/java/ql/integration-tests/all-platforms/java/buildless-maven-tolerate-unavailable-dependency/test.py @@ -1,8 +1,4 @@ -from create_database_utils import * -from diagnostics_test_utils import * -from buildless_test_utils import * - -run_codeql_database_create([], lang="java", extra_args=["--build-mode=none"]) - -check_diagnostics() -check_buildless_fetches() +def test(codeql, java): + codeql.database.create( + build_mode="none", + ) diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/buildless-maven/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven/source_archive.expected b/java/ql/integration-tests/all-platforms/java/buildless-maven/source_archive.expected new file mode 100644 index 00000000000..c6f2f49cf7d --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/buildless-maven/source_archive.expected @@ -0,0 +1,7 @@ +pom.xml +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/page.xml +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven/test.expected b/java/ql/integration-tests/all-platforms/java/buildless-maven/test.expected deleted file mode 100644 index cbd09bcf554..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven/test.expected +++ /dev/null @@ -1,10 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| pom.xml:0:0:0:0 | pom.xml | -| src/main/resources/page.xml:0:0:0:0 | src/main/resources/page.xml | -| src/main/resources/struts.xml:0:0:0:0 | src/main/resources/struts.xml | -propertiesFiles -| src/main/resources/my-app.properties:0:0:0:0 | src/main/resources/my-app.properties | -| test-db/log/ext/javac.properties:0:0:0:0 | test-db/log/ext/javac.properties | diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven/test.py b/java/ql/integration-tests/all-platforms/java/buildless-maven/test.py index bfff65b2fc2..a92ac46584c 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven/test.py +++ b/java/ql/integration-tests/all-platforms/java/buildless-maven/test.py @@ -1,8 +1,7 @@ -from create_database_utils import * -from diagnostics_test_utils import * -from buildless_test_utils import * - -run_codeql_database_create([], lang="java", extra_env={"CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true", "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true"}) - -check_diagnostics() -check_buildless_fetches() +def test(codeql, java): + codeql.database.create( + _env={ + "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true", + "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true", + } + ) diff --git a/java/ql/integration-tests/all-platforms/java/buildless-maven/test.ql b/java/ql/integration-tests/all-platforms/java/buildless-maven/test.ql deleted file mode 100644 index 25cd26fdd14..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-maven/test.ql +++ /dev/null @@ -1,9 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } - -query predicate propertiesFiles(File f) { f.getExtension() = "properties" } diff --git a/java/ql/integration-tests/all-platforms/java/buildless-module-definition-not-in-module-info-file/test.py b/java/ql/integration-tests/all-platforms/java/buildless-module-definition-not-in-module-info-file/test.py index a229dfff548..549f7b72e50 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-module-definition-not-in-module-info-file/test.py +++ b/java/ql/integration-tests/all-platforms/java/buildless-module-definition-not-in-module-info-file/test.py @@ -1,5 +1,4 @@ -import sys - -from create_database_utils import * - -run_codeql_database_create([], lang="java", extra_args=["--extractor-option=buildless=true"]) +def test(codeql, java): + codeql.database.create( + extractor_option="buildless=true", + ) diff --git a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/.gitattributes b/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/.gitattributes deleted file mode 100644 index 097f9f98d9e..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/.gitattributes +++ /dev/null @@ -1,9 +0,0 @@ -# -# https://help.github.com/articles/dealing-with-line-endings/ -# -# Linux start script should use lf -/gradlew text eol=lf - -# These are Windows script files and should use crlf -*.bat text eol=crlf - diff --git a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/.gitignore b/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/.gitignore deleted file mode 100644 index 1b6985c0094..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -# Ignore Gradle project-specific cache directory -.gradle - -# Ignore Gradle build output directory -build diff --git a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/force_sequential_test_execution deleted file mode 100644 index b0e2500b259..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/force_sequential_test_execution +++ /dev/null @@ -1,3 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. diff --git a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/gradle/wrapper/gradle-wrapper.jar b/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7f93135c49b765f8051ef9d0a6055ff8e46073d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63721 zcmb5Wb9gP!wgnp7wrv|bwr$&XvSZt}Z6`anZSUAlc9NHKf9JdJ;NJVr`=eI(_pMp0 zy1VAAG3FfAOI`{X1O)&90s;U4K;XLp008~hCjbEC_fbYfS%6kTR+JtXK>nW$ZR+`W ze|#J8f4A@M|F5BpfUJb5h>|j$jOe}0oE!`Zf6fM>CR?!y@zU(cL8NsKk`a z6tx5mAkdjD;J=LcJ;;Aw8p!v#ouk>mUDZF@ zK>yvw%+bKu+T{Nk@LZ;zkYy0HBKw06_IWcMHo*0HKpTsEFZhn5qCHH9j z)|XpN&{`!0a>Vl+PmdQc)Yg4A(AG-z!+@Q#eHr&g<9D?7E)_aEB?s_rx>UE9TUq|? z;(ggJt>9l?C|zoO@5)tu?EV0x_7T17q4fF-q3{yZ^ipUbKcRZ4Qftd!xO(#UGhb2y>?*@{xq%`(-`2T^vc=#< zx!+@4pRdk&*1ht2OWk^Z5IAQ0YTAXLkL{(D*$gENaD)7A%^XXrCchN&z2x+*>o2FwPFjWpeaL=!tzv#JOW#( z$B)Nel<+$bkH1KZv3&-}=SiG~w2sbDbAWarg%5>YbC|}*d9hBjBkR(@tyM0T)FO$# zPtRXukGPnOd)~z=?avu+4Co@wF}1T)-uh5jI<1$HLtyDrVak{gw`mcH@Q-@wg{v^c zRzu}hMKFHV<8w}o*yg6p@Sq%=gkd~;`_VGTS?L@yVu`xuGy+dH6YOwcP6ZE`_0rK% zAx5!FjDuss`FQ3eF|mhrWkjux(Pny^k$u_)dyCSEbAsecHsq#8B3n3kDU(zW5yE|( zgc>sFQywFj5}U*qtF9Y(bi*;>B7WJykcAXF86@)z|0-Vm@jt!EPoLA6>r)?@DIobIZ5Sx zsc@OC{b|3%vaMbyeM|O^UxEYlEMHK4r)V-{r)_yz`w1*xV0|lh-LQOP`OP`Pk1aW( z8DSlGN>Ts|n*xj+%If~+E_BxK)~5T#w6Q1WEKt{!Xtbd`J;`2a>8boRo;7u2M&iOop4qcy<)z023=oghSFV zST;?S;ye+dRQe>ygiJ6HCv4;~3DHtJ({fWeE~$H@mKn@Oh6Z(_sO>01JwH5oA4nvK zr5Sr^g+LC zLt(i&ecdmqsIJGNOSUyUpglvhhrY8lGkzO=0USEKNL%8zHshS>Qziu|`eyWP^5xL4 zRP122_dCJl>hZc~?58w~>`P_s18VoU|7(|Eit0-lZRgLTZKNq5{k zE?V=`7=R&ro(X%LTS*f+#H-mGo_j3dm@F_krAYegDLk6UV{`UKE;{YSsn$ z(yz{v1@p|p!0>g04!eRSrSVb>MQYPr8_MA|MpoGzqyd*$@4j|)cD_%^Hrd>SorF>@ zBX+V<@vEB5PRLGR(uP9&U&5=(HVc?6B58NJT_igiAH*q~Wb`dDZpJSKfy5#Aag4IX zj~uv74EQ_Q_1qaXWI!7Vf@ZrdUhZFE;L&P_Xr8l@GMkhc#=plV0+g(ki>+7fO%?Jb zl+bTy7q{w^pTb{>(Xf2q1BVdq?#f=!geqssXp z4pMu*q;iiHmA*IjOj4`4S&|8@gSw*^{|PT}Aw~}ZXU`6=vZB=GGeMm}V6W46|pU&58~P+?LUs%n@J}CSrICkeng6YJ^M? zS(W?K4nOtoBe4tvBXs@@`i?4G$S2W&;$z8VBSM;Mn9 zxcaEiQ9=vS|bIJ>*tf9AH~m&U%2+Dim<)E=}KORp+cZ^!@wI`h1NVBXu{@%hB2Cq(dXx_aQ9x3mr*fwL5!ZryQqi|KFJuzvP zK1)nrKZ7U+B{1ZmJub?4)Ln^J6k!i0t~VO#=q1{?T)%OV?MN}k5M{}vjyZu#M0_*u z8jwZKJ#Df~1jcLXZL7bnCEhB6IzQZ-GcoQJ!16I*39iazoVGugcKA{lhiHg4Ta2fD zk1Utyc5%QzZ$s3;p0N+N8VX{sd!~l*Ta3|t>lhI&G`sr6L~G5Lul`>m z{!^INm?J|&7X=;{XveF!(b*=?9NAp4y&r&N3(GKcW4rS(Ejk|Lzs1PrxPI_owB-`H zg3(Rruh^&)`TKA6+_!n>RdI6pw>Vt1_j&+bKIaMTYLiqhZ#y_=J8`TK{Jd<7l9&sY z^^`hmi7^14s16B6)1O;vJWOF$=$B5ONW;;2&|pUvJlmeUS&F;DbSHCrEb0QBDR|my zIs+pE0Y^`qJTyH-_mP=)Y+u^LHcuZhsM3+P||?+W#V!_6E-8boP#R-*na4!o-Q1 zVthtYhK{mDhF(&7Okzo9dTi03X(AE{8cH$JIg%MEQca`S zy@8{Fjft~~BdzWC(di#X{ny;!yYGK9b@=b|zcKZ{vv4D8i+`ilOPl;PJl{!&5-0!w z^fOl#|}vVg%=n)@_e1BrP)`A zKPgs`O0EO}Y2KWLuo`iGaKu1k#YR6BMySxQf2V++Wo{6EHmK>A~Q5o73yM z-RbxC7Qdh0Cz!nG+7BRZE>~FLI-?&W_rJUl-8FDIaXoNBL)@1hwKa^wOr1($*5h~T zF;%f^%<$p8Y_yu(JEg=c_O!aZ#)Gjh$n(hfJAp$C2he555W5zdrBqjFmo|VY+el;o z=*D_w|GXG|p0**hQ7~9-n|y5k%B}TAF0iarDM!q-jYbR^us(>&y;n^2l0C%@2B}KM zyeRT9)oMt97Agvc4sEKUEy%MpXr2vz*lb zh*L}}iG>-pqDRw7ud{=FvTD?}xjD)w{`KzjNom-$jS^;iw0+7nXSnt1R@G|VqoRhE%12nm+PH?9`(4rM0kfrZzIK9JU=^$YNyLvAIoxl#Q)xxDz!^0@zZ zSCs$nfcxK_vRYM34O<1}QHZ|hp4`ioX3x8(UV(FU$J@o%tw3t4k1QPmlEpZa2IujG&(roX_q*%e`Hq|);0;@k z0z=fZiFckp#JzW0p+2A+D$PC~IsakhJJkG(c;CqAgFfU0Z`u$PzG~-9I1oPHrCw&)@s^Dc~^)#HPW0Ra}J^=|h7Fs*<8|b13ZzG6MP*Q1dkoZ6&A^!}|hbjM{2HpqlSXv_UUg1U4gn z3Q)2VjU^ti1myodv+tjhSZp%D978m~p& z43uZUrraHs80Mq&vcetqfQpQP?m!CFj)44t8Z}k`E798wxg&~aCm+DBoI+nKq}&j^ zlPY3W$)K;KtEajks1`G?-@me7C>{PiiBu+41#yU_c(dITaqE?IQ(DBu+c^Ux!>pCj zLC|HJGU*v+!it1(;3e`6igkH(VA)-S+k(*yqxMgUah3$@C zz`7hEM47xr>j8^g`%*f=6S5n>z%Bt_Fg{Tvmr+MIsCx=0gsu_sF`q2hlkEmisz#Fy zj_0;zUWr;Gz}$BS%Y`meb(=$d%@Crs(OoJ|}m#<7=-A~PQbyN$x%2iXP2@e*nO0b7AwfH8cCUa*Wfu@b)D_>I*%uE4O3 z(lfnB`-Xf*LfC)E}e?%X2kK7DItK6Tf<+M^mX0Ijf_!IP>7c8IZX%8_#0060P{QMuV^B9i<^E`_Qf0pv9(P%_s8D`qvDE9LK9u-jB}J2S`(mCO&XHTS04Z5Ez*vl^T%!^$~EH8M-UdwhegL>3IQ*)(MtuH2Xt1p!fS4o~*rR?WLxlA!sjc2(O znjJn~wQ!Fp9s2e^IWP1C<4%sFF}T4omr}7+4asciyo3DntTgWIzhQpQirM$9{EbQd z3jz9vS@{aOqTQHI|l#aUV@2Q^Wko4T0T04Me4!2nsdrA8QY1%fnAYb~d2GDz@lAtfcHq(P7 zaMBAGo}+NcE-K*@9y;Vt3*(aCaMKXBB*BJcD_Qnxpt75r?GeAQ}*|>pYJE=uZb73 zC>sv)18)q#EGrTG6io*}JLuB_jP3AU1Uiu$D7r|2_zlIGb9 zjhst#ni)Y`$)!fc#reM*$~iaYoz~_Cy7J3ZTiPm)E?%`fbk`3Tu-F#`{i!l5pNEn5 zO-Tw-=TojYhzT{J=?SZj=Z8#|eoF>434b-DXiUsignxXNaR3 zm_}4iWU$gt2Mw5NvZ5(VpF`?X*f2UZDs1TEa1oZCif?Jdgr{>O~7}-$|BZ7I(IKW`{f;@|IZFX*R8&iT= zoWstN8&R;}@2Ka%d3vrLtR|O??ben;k8QbS-WB0VgiCz;<$pBmIZdN!aalyCSEm)crpS9dcD^Y@XT1a3+zpi-`D}e#HV<} z$Y(G&o~PvL-xSVD5D?JqF3?B9rxGWeb=oEGJ3vRp5xfBPlngh1O$yI95EL+T8{GC@ z98i1H9KhZGFl|;`)_=QpM6H?eDPpw~^(aFQWwyXZ8_EEE4#@QeT_URray*mEOGsGc z6|sdXtq!hVZo=d#+9^@lm&L5|q&-GDCyUx#YQiccq;spOBe3V+VKdjJA=IL=Zn%P} zNk=_8u}VhzFf{UYZV0`lUwcD&)9AFx0@Fc6LD9A6Rd1=ga>Mi0)_QxM2ddCVRmZ0d z+J=uXc(?5JLX3=)e)Jm$HS2yF`44IKhwRnm2*669_J=2LlwuF5$1tAo@ROSU@-y+;Foy2IEl2^V1N;fk~YR z?&EP8#t&m0B=?aJeuz~lHjAzRBX>&x=A;gIvb>MD{XEV zV%l-+9N-)i;YH%nKP?>f`=?#`>B(`*t`aiPLoQM(a6(qs4p5KFjDBN?8JGrf3z8>= zi7sD)c)Nm~x{e<^jy4nTx${P~cwz_*a>%0_;ULou3kHCAD7EYkw@l$8TN#LO9jC( z1BeFW`k+bu5e8Ns^a8dPcjEVHM;r6UX+cN=Uy7HU)j-myRU0wHd$A1fNI~`4;I~`zC)3ul#8#^rXVSO*m}Ag>c%_;nj=Nv$rCZ z*~L@C@OZg%Q^m)lc-kcX&a*a5`y&DaRxh6O*dfhLfF+fU5wKs(1v*!TkZidw*)YBP za@r`3+^IHRFeO%!ai%rxy;R;;V^Fr=OJlpBX;(b*3+SIw}7= zIq$*Thr(Zft-RlY)D3e8V;BmD&HOfX+E$H#Y@B3?UL5L~_fA-@*IB-!gItK7PIgG9 zgWuGZK_nuZjHVT_Fv(XxtU%)58;W39vzTI2n&)&4Dmq7&JX6G>XFaAR{7_3QB6zsT z?$L8c*WdN~nZGiscY%5KljQARN;`w$gho=p006z;n(qIQ*Zu<``TMO3n0{ARL@gYh zoRwS*|Niw~cR!?hE{m*y@F`1)vx-JRfqET=dJ5_(076st(=lFfjtKHoYg`k3oNmo_ zNbQEw8&sO5jAYmkD|Zaz_yUb0rC})U!rCHOl}JhbYIDLzLvrZVw0~JO`d*6f;X&?V=#T@ND*cv^I;`sFeq4 z##H5;gpZTb^0Hz@3C*~u0AqqNZ-r%rN3KD~%Gw`0XsIq$(^MEb<~H(2*5G^<2(*aI z%7}WB+TRlMIrEK#s0 z93xn*Ohb=kWFc)BNHG4I(~RPn-R8#0lqyBBz5OM6o5|>x9LK@%HaM}}Y5goCQRt2C z{j*2TtT4ne!Z}vh89mjwiSXG=%DURar~=kGNNaO_+Nkb+tRi~Rkf!7a$*QlavziD( z83s4GmQ^Wf*0Bd04f#0HX@ua_d8 z23~z*53ePD6@xwZ(vdl0DLc=>cPIOPOdca&MyR^jhhKrdQO?_jJh`xV3GKz&2lvP8 zEOwW6L*ufvK;TN{=S&R@pzV^U=QNk^Ec}5H z+2~JvEVA{`uMAr)?Kf|aW>33`)UL@bnfIUQc~L;TsTQ6>r-<^rB8uoNOJ>HWgqMI8 zSW}pZmp_;z_2O5_RD|fGyTxaxk53Hg_3Khc<8AUzV|ZeK{fp|Ne933=1&_^Dbv5^u zB9n=*)k*tjHDRJ@$bp9mrh}qFn*s}npMl5BMDC%Hs0M0g-hW~P*3CNG06G!MOPEQ_ zi}Qs-6M8aMt;sL$vlmVBR^+Ry<64jrm1EI1%#j?c?4b*7>)a{aDw#TfTYKq+SjEFA z(aJ&z_0?0JB83D-i3Vh+o|XV4UP+YJ$9Boid2^M2en@APw&wx7vU~t$r2V`F|7Qfo z>WKgI@eNBZ-+Og<{u2ZiG%>YvH2L3fNpV9J;WLJoBZda)01Rn;o@){01{7E#ke(7U zHK>S#qZ(N=aoae*4X!0A{)nu0R_sKpi1{)u>GVjC+b5Jyl6#AoQ-1_3UDovNSo`T> z?c-@7XX*2GMy?k?{g)7?Sv;SJkmxYPJPs!&QqB12ejq`Lee^-cDveVWL^CTUldb(G zjDGe(O4P=S{4fF=#~oAu>LG>wrU^z_?3yt24FOx>}{^lCGh8?vtvY$^hbZ)9I0E3r3NOlb9I?F-Yc=r$*~l`4N^xzlV~N zl~#oc>U)Yjl0BxV>O*Kr@lKT{Z09OXt2GlvE38nfs+DD7exl|&vT;)>VFXJVZp9Np zDK}aO;R3~ag$X*|hRVY3OPax|PG`@_ESc8E!mHRByJbZQRS38V2F__7MW~sgh!a>98Q2%lUNFO=^xU52|?D=IK#QjwBky-C>zOWlsiiM&1n z;!&1((Xn1$9K}xabq~222gYvx3hnZPg}VMF_GV~5ocE=-v>V=T&RsLBo&`)DOyIj* zLV{h)JU_y*7SdRtDajP_Y+rBkNN*1_TXiKwHH2&p51d(#zv~s#HwbNy?<+(=9WBvo zw2hkk2Dj%kTFhY+$T+W-b7@qD!bkfN#Z2ng@Pd=i3-i?xYfs5Z*1hO?kd7Sp^9`;Y zM2jeGg<-nJD1er@Pc_cSY7wo5dzQX44=%6rn}P_SRbpzsA{6B+!$3B0#;}qwO37G^ zL(V_5JK`XT?OHVk|{_$vQ|oNEpab*BO4F zUTNQ7RUhnRsU`TK#~`)$icsvKh~(pl=3p6m98@k3P#~upd=k*u20SNcb{l^1rUa)>qO997)pYRWMncC8A&&MHlbW?7i^7M`+B$hH~Y|J zd>FYOGQ;j>Zc2e7R{KK7)0>>nn_jYJy&o@sK!4G>-rLKM8Hv)f;hi1D2fAc$+six2 zyVZ@wZ6x|fJ!4KrpCJY=!Mq0;)X)OoS~{Lkh6u8J`eK%u0WtKh6B>GW_)PVc zl}-k`p09qwGtZ@VbYJC!>29V?Dr>>vk?)o(x?!z*9DJ||9qG-&G~#kXxbw{KKYy}J zQKa-dPt~M~E}V?PhW0R26xdA%1T*%ra6SguGu50YHngOTIv)@N|YttEXo#OZfgtP7;H?EeZZxo<}3YlYxtBq znJ!WFR^tmGf0Py}N?kZ(#=VtpC@%xJkDmfcCoBTxq zr_|5gP?u1@vJZbxPZ|G0AW4=tpb84gM2DpJU||(b8kMOV1S3|(yuwZJ&rIiFW(U;5 zUtAW`O6F6Zy+eZ1EDuP~AAHlSY-+A_eI5Gx)%*uro5tljy}kCZU*_d7)oJ>oQSZ3* zneTn`{gnNC&uJd)0aMBzAg021?YJ~b(fmkwZAd696a=0NzBAqBN54KuNDwa*no(^O z6p05bioXUR^uXjpTol*ppHp%1v9e)vkoUAUJyBx3lw0UO39b0?^{}yb!$yca(@DUn zCquRF?t=Zb9`Ed3AI6|L{eX~ijVH`VzSMheKoP7LSSf4g>md>`yi!TkoG5P>Ofp+n z(v~rW+(5L96L{vBb^g51B=(o)?%%xhvT*A5btOpw(TKh^g^4c zw>0%X!_0`{iN%RbVk+A^f{w-4-SSf*fu@FhruNL##F~sF24O~u zyYF<3el2b$$wZ_|uW#@Ak+VAGk#e|kS8nL1g>2B-SNMjMp^8;-FfeofY2fphFHO!{ z*!o4oTb{4e;S<|JEs<1_hPsmAlVNk?_5-Fp5KKU&d#FiNW~Y+pVFk@Cua1I{T+1|+ zHx6rFMor)7L)krbilqsWwy@T+g3DiH5MyVf8Wy}XbEaoFIDr~y;@r&I>FMW{ z?Q+(IgyebZ)-i4jNoXQhq4Muy9Fv+OxU;9_Jmn+<`mEC#%2Q_2bpcgzcinygNI!&^ z=V$)o2&Yz04~+&pPWWn`rrWxJ&}8khR)6B(--!9Q zubo}h+1T)>a@c)H^i``@<^j?|r4*{;tQf78(xn0g39IoZw0(CwY1f<%F>kEaJ zp9u|IeMY5mRdAlw*+gSN^5$Q)ShM<~E=(c8QM+T-Qk)FyKz#Sw0EJ*edYcuOtO#~Cx^(M7w5 z3)rl#L)rF|(Vun2LkFr!rg8Q@=r>9p>(t3Gf_auiJ2Xx9HmxYTa|=MH_SUlYL`mz9 zTTS$`%;D-|Jt}AP1&k7PcnfFNTH0A-*FmxstjBDiZX?}%u%Yq94$fUT&z6od+(Uk> zuqsld#G(b$G8tus=M!N#oPd|PVFX)?M?tCD0tS%2IGTfh}3YA3f&UM)W$_GNV8 zQo+a(ml2Km4o6O%gKTCSDNq+#zCTIQ1*`TIJh~k6Gp;htHBFnne))rlFdGqwC6dx2+La1&Mnko*352k0y z+tQcwndQlX`nc6nb$A9?<-o|r*%aWXV#=6PQic0Ok_D;q>wbv&j7cKc!w4~KF#-{6 z(S%6Za)WpGIWf7jZ3svNG5OLs0>vCL9{V7cgO%zevIVMH{WgP*^D9ws&OqA{yr|m| zKD4*07dGXshJHd#e%x%J+qmS^lS|0Bp?{drv;{@{l9ArPO&?Q5=?OO9=}h$oVe#3b z3Yofj&Cb}WC$PxmRRS)H%&$1-)z7jELS}!u!zQ?A^Y{Tv4QVt*vd@uj-^t2fYRzQj zfxGR>-q|o$3sGn^#VzZ!QQx?h9`njeJry}@x?|k0-GTTA4y3t2E`3DZ!A~D?GiJup z)8%PK2^9OVRlP(24P^4_<|D=H^7}WlWu#LgsdHzB%cPy|f8dD3|A^mh4WXxhLTVu_ z@abE{6Saz|Y{rXYPd4$tfPYo}ef(oQWZ=4Bct-=_9`#Qgp4ma$n$`tOwq#&E18$B; z@Bp)bn3&rEi0>fWWZ@7k5WazfoX`SCO4jQWwVuo+$PmSZn^Hz?O(-tW@*DGxuf)V1 zO_xm&;NVCaHD4dqt(-MlszI3F-p?0!-e$fbiCeuaw66h^TTDLWuaV<@C-`=Xe5WL) zwooG7h>4&*)p3pKMS3O!4>-4jQUN}iAMQ)2*70?hP~)TzzR?-f@?Aqy$$1Iy8VGG$ zMM?8;j!pUX7QQD$gRc_#+=raAS577ga-w?jd`vCiN5lu)dEUkkUPl9!?{$IJNxQys z*E4e$eF&n&+AMRQR2gcaFEjAy*r)G!s(P6D&TfoApMFC_*Ftx0|D0@E-=B7tezU@d zZ{hGiN;YLIoSeRS;9o%dEua4b%4R3;$SugDjP$x;Z!M!@QibuSBb)HY!3zJ7M;^jw zlx6AD50FD&p3JyP*>o+t9YWW8(7P2t!VQQ21pHJOcG_SXQD;(5aX#M6x##5H_Re>6lPyDCjxr*R(+HE%c&QN+b^tbT zXBJk?p)zhJj#I?&Y2n&~XiytG9!1ox;bw5Rbj~)7c(MFBb4>IiRATdhg zmiEFlj@S_hwYYI(ki{}&<;_7(Z0Qkfq>am z&LtL=2qc7rWguk3BtE4zL41@#S;NN*-jWw|7Kx7H7~_%7fPt;TIX}Ubo>;Rmj94V> zNB1=;-9AR7s`Pxn}t_6^3ahlq53e&!Lh85uG zec0vJY_6e`tg7LgfrJ3k!DjR)Bi#L@DHIrZ`sK=<5O0Ip!fxGf*OgGSpP@Hbbe&$9 z;ZI}8lEoC2_7;%L2=w?tb%1oL0V+=Z`7b=P&lNGY;yVBazXRYu;+cQDKvm*7NCxu&i;zub zAJh#11%?w>E2rf2e~C4+rAb-&$^vsdACs7 z@|Ra!OfVM(ke{vyiqh7puf&Yp6cd6{DptUteYfIRWG3pI+5< zBVBI_xkBAc<(pcb$!Y%dTW(b;B;2pOI-(QCsLv@U-D1XJ z(Gk8Q3l7Ws46Aktuj>|s{$6zA&xCPuXL-kB`CgYMs}4IeyG*P51IDwW?8UNQd+$i~ zlxOPtSi5L|gJcF@DwmJA5Ju8HEJ>o{{upwIpb!f{2(vLNBw`7xMbvcw<^{Fj@E~1( z?w`iIMieunS#>nXlmUcSMU+D3rX28f?s7z;X=se6bo8;5vM|O^(D6{A9*ChnGH!RG zP##3>LDC3jZPE4PH32AxrqPk|yIIrq~`aL-=}`okhNu9aT%q z1b)7iJ)CN=V#Ly84N_r7U^SH2FGdE5FpTO2 z630TF$P>GNMu8`rOytb(lB2};`;P4YNwW1<5d3Q~AX#P0aX}R2b2)`rgkp#zTxcGj zAV^cvFbhP|JgWrq_e`~exr~sIR$6p5V?o4Wym3kQ3HA+;Pr$bQ0(PmADVO%MKL!^q z?zAM8j1l4jrq|5X+V!8S*2Wl@=7*pPgciTVK6kS1Ge zMsd_u6DFK$jTnvVtE;qa+8(1sGBu~n&F%dh(&c(Zs4Fc#A=gG^^%^AyH}1^?|8quj zl@Z47h$){PlELJgYZCIHHL= z{U8O>Tw4x3<1{?$8>k-P<}1y9DmAZP_;(3Y*{Sk^H^A=_iSJ@+s5ktgwTXz_2$~W9>VVZsfwCm@s0sQ zeB50_yu@uS+e7QoPvdCwDz{prjo(AFwR%C?z`EL{1`|coJHQTk^nX=tvs1<0arUOJ z!^`*x&&BvTYmemyZ)2p~{%eYX=JVR?DYr(rNgqRMA5E1PR1Iw=prk=L2ldy3r3Vg@27IZx43+ywyzr-X*p*d@tZV+!U#~$-q=8c zgdSuh#r?b4GhEGNai)ayHQpk>5(%j5c@C1K3(W1pb~HeHpaqijJZa-e6vq_8t-^M^ zBJxq|MqZc?pjXPIH}70a5vt!IUh;l}<>VX<-Qcv^u@5(@@M2CHSe_hD$VG-eiV^V( zj7*9T0?di?P$FaD6oo?)<)QT>Npf6Og!GO^GmPV(Km0!=+dE&bk#SNI+C9RGQ|{~O*VC+tXK3!n`5 zHfl6>lwf_aEVV3`0T!aHNZLsj$paS$=LL(?b!Czaa5bbSuZ6#$_@LK<(7yrrl+80| z{tOFd=|ta2Z`^ssozD9BINn45NxUeCQis?-BKmU*Kt=FY-NJ+)8S1ecuFtN-M?&42 zl2$G>u!iNhAk*HoJ^4v^9#ORYp5t^wDj6|lx~5w45#E5wVqI1JQ~9l?nPp1YINf++ zMAdSif~_ETv@Er(EFBI^@L4BULFW>)NI+ejHFP*T}UhWNN`I)RRS8za? z*@`1>9ZB}An%aT5K=_2iQmfE;GcBVHLF!$`I99o5GO`O%O_zLr9AG18>&^HkG(;=V z%}c!OBQ~?MX(9h~tajX{=x)+!cbM7$YzTlmsPOdp2L-?GoW`@{lY9U3f;OUo*BwRB z8A+nv(br0-SH#VxGy#ZrgnGD(=@;HME;yd46EgWJ`EL%oXc&lFpc@Y}^>G(W>h_v_ zlN!`idhX+OjL+~T?19sroAFVGfa5tX-D49w$1g2g_-T|EpHL6}K_aX4$K=LTvwtlF zL*z}j{f+Uoe7{-px3_5iKPA<_7W=>Izkk)!l9ez2w%vi(?Y;i8AxRNLSOGDzNoqoI zP!1uAl}r=_871(G?y`i&)-7{u=%nxk7CZ_Qh#!|ITec zwQn`33GTUM`;D2POWnkqngqJhJRlM>CTONzTG}>^Q0wUunQyn|TAiHzyX2_%ATx%P z%7gW)%4rA9^)M<_%k@`Y?RbC<29sWU&5;@|9thf2#zf8z12$hRcZ!CSb>kUp=4N#y zl3hE#y6>kkA8VY2`W`g5Ip?2qC_BY$>R`iGQLhz2-S>x(RuWv)SPaGdl^)gGw7tjR zH@;jwk!jIaCgSg_*9iF|a);sRUTq30(8I(obh^|}S~}P4U^BIGYqcz;MPpC~Y@k_m zaw4WG1_vz2GdCAX!$_a%GHK**@IrHSkGoN>)e}>yzUTm52on`hYot7cB=oA-h1u|R ztH$11t?54Qg2L+i33FPFKKRm1aOjKST{l1*(nps`>sv%VqeVMWjl5+Gh+9);hIP8? zA@$?}Sc z3qIRpba+y5yf{R6G(u8Z^vkg0Fu&D-7?1s=QZU`Ub{-!Y`I?AGf1VNuc^L3v>)>i# z{DV9W$)>34wnzAXUiV^ZpYKw>UElrN_5Xj6{r_3| z$X5PK`e5$7>~9Dj7gK5ash(dvs`vwfk}&RD`>04;j62zoXESkFBklYaKm5seyiX(P zqQ-;XxlV*yg?Dhlx%xt!b0N3GHp@(p$A;8|%# zZ5m2KL|{on4nr>2_s9Yh=r5ScQ0;aMF)G$-9-Ca6%wA`Pa)i?NGFA|#Yi?{X-4ZO_ z^}%7%vkzvUHa$-^Y#aA+aiR5sa%S|Ebyn`EV<3Pc?ax_f>@sBZF1S;7y$CXd5t5=WGsTKBk8$OfH4v|0?0I=Yp}7c=WBSCg!{0n)XmiU;lfx)**zZaYqmDJelxk$)nZyx5`x$6R|fz(;u zEje5Dtm|a%zK!!tk3{i9$I2b{vXNFy%Bf{50X!x{98+BsDr_u9i>G5%*sqEX|06J0 z^IY{UcEbj6LDwuMh7cH`H@9sVt1l1#8kEQ(LyT@&+K}(ReE`ux8gb0r6L_#bDUo^P z3Ka2lRo52Hdtl_%+pwVs14=q`{d^L58PsU@AMf(hENumaxM{7iAT5sYmWh@hQCO^ zK&}ijo=`VqZ#a3vE?`7QW0ZREL17ZvDfdqKGD?0D4fg{7v%|Yj&_jcKJAB)>=*RS* zto8p6@k%;&^ZF>hvXm&$PCuEp{uqw3VPG$9VMdW5$w-fy2CNNT>E;>ejBgy-m_6`& z97L1p{%srn@O_JQgFpa_#f(_)eb#YS>o>q3(*uB;uZb605(iqM$=NK{nHY=+X2*G) zO3-_Xh%aG}fHWe*==58zBwp%&`mge<8uq8;xIxOd=P%9EK!34^E9sk|(Zq1QSz-JVeP12Fp)-`F|KY$LPwUE?rku zY@OJ)Z9A!ojfzfeyJ9;zv2EM7ZQB)AR5xGa-tMn^bl)FmoIiVyJ@!~@%{}qXXD&Ns zPnfe5U+&ohKefILu_1mPfLGuapX@btta5C#gPB2cjk5m4T}Nfi+Vfka!Yd(L?-c~5 z#ZK4VeQEXNPc4r$K00Fg>g#_W!YZ)cJ?JTS<&68_$#cZT-ME`}tcwqg3#``3M3UPvn+pi}(VNNx6y zFIMVb6OwYU(2`at$gHba*qrMVUl8xk5z-z~fb@Q3Y_+aXuEKH}L+>eW__!IAd@V}L zkw#s%H0v2k5-=vh$^vPCuAi22Luu3uKTf6fPo?*nvj$9(u)4$6tvF-%IM+3pt*cgs z_?wW}J7VAA{_~!?))?s6{M=KPpVhg4fNuU*|3THp@_(q!b*hdl{fjRVFWtu^1dV(f z6iOux9hi&+UK=|%M*~|aqFK{Urfl!TA}UWY#`w(0P!KMe1Si{8|o))Gy6d7;!JQYhgMYmXl?3FfOM2nQGN@~Ap6(G z3+d_5y@=nkpKAhRqf{qQ~k7Z$v&l&@m7Ppt#FSNzKPZM z8LhihcE6i=<(#87E|Wr~HKvVWhkll4iSK$^mUHaxgy8*K$_Zj;zJ`L$naPj+^3zTi z-3NTaaKnD5FPY-~?Tq6QHnmDDRxu0mh0D|zD~Y=vv_qig5r-cIbCpxlju&8Sya)@{ zsmv6XUSi)@(?PvItkiZEeN*)AE~I_?#+Ja-r8$(XiXei2d@Hi7Rx8+rZZb?ZLa{;@*EHeRQ-YDadz~M*YCM4&F-r;E#M+@CSJMJ0oU|PQ^ z=E!HBJDMQ2TN*Y(Ag(ynAL8%^v;=~q?s4plA_hig&5Z0x_^Oab!T)@6kRN$)qEJ6E zNuQjg|G7iwU(N8pI@_6==0CL;lRh1dQF#wePhmu@hADFd3B5KIH#dx(2A zp~K&;Xw}F_N6CU~0)QpQk7s$a+LcTOj1%=WXI(U=Dv!6 z{#<#-)2+gCyyv=Jw?Ab#PVkxPDeH|sAxyG`|Ys}A$PW4TdBv%zDz z^?lwrxWR<%Vzc8Sgt|?FL6ej_*e&rhqJZ3Y>k=X(^dytycR;XDU16}Pc9Vn0>_@H+ zQ;a`GSMEG64=JRAOg%~L)x*w{2re6DVprNp+FcNra4VdNjiaF0M^*>CdPkt(m150rCue?FVdL0nFL$V%5y6N z%eLr5%YN7D06k5ji5*p4v$UMM)G??Q%RB27IvH7vYr_^3>1D-M66#MN8tWGw>WED} z5AhlsanO=STFYFs)Il_0i)l)f<8qn|$DW7ZXhf5xI;m+7M5-%P63XFQrG9>DMqHc} zsgNU9nR`b}E^mL5=@7<1_R~j@q_2U^3h|+`7YH-?C=vme1C3m`Fe0HC>pjt6f_XMh zy~-i-8R46QNYneL4t@)<0VU7({aUO?aH`z4V2+kxgH5pYD5)wCh75JqQY)jIPN=U6 z+qi8cGiOtXG2tXm;_CfpH9ESCz#i5B(42}rBJJF$jh<1sbpj^8&L;gzGHb8M{of+} zzF^8VgML2O9nxBW7AvdEt90vp+#kZxWf@A)o9f9}vKJy9NDBjBW zSt=Hcs=YWCwnfY1UYx*+msp{g!w0HC<_SM!VL1(I2PE?CS}r(eh?{I)mQixmo5^p# zV?2R!R@3GV6hwTCrfHiK#3Orj>I!GS2kYhk1S;aFBD_}u2v;0HYFq}Iz1Z(I4oca4 zxquja8$+8JW_EagDHf$a1OTk5S97umGSDaj)gH=fLs9>_=XvVj^Xj9a#gLdk=&3tl zfmK9MNnIX9v{?%xdw7568 zNrZ|roYs(vC4pHB5RJ8>)^*OuyNC>x7ad)tB_}3SgQ96+-JT^Qi<`xi=)_=$Skwv~ zdqeT9Pa`LYvCAn&rMa2aCDV(TMI#PA5g#RtV|CWpgDYRA^|55LLN^uNh*gOU>Z=a06qJ;$C9z8;n-Pq=qZnc1zUwJ@t)L;&NN+E5m zRkQ(SeM8=l-aoAKGKD>!@?mWTW&~)uF2PYUJ;tB^my`r9n|Ly~0c%diYzqs9W#FTjy?h&X3TnH zXqA{QI82sdjPO->f=^K^f>N`+B`q9&rN0bOXO79S&a9XX8zund(kW7O76f4dcWhIu zER`XSMSFbSL>b;Rp#`CuGJ&p$s~G|76){d?xSA5wVg##_O0DrmyEYppyBr%fyWbbv zp`K84JwRNP$d-pJ!Qk|(RMr?*!wi1if-9G#0p>>1QXKXWFy)eB3ai)l3601q8!9JC zvU#ZWWDNKq9g6fYs?JQ)Q4C_cgTy3FhgKb8s&m)DdmL5zhNK#8wWg!J*7G7Qhe9VU zha?^AQTDpYcuN!B+#1dE*X{<#!M%zfUQbj=zLE{dW0XeQ7-oIsGY6RbkP2re@Q{}r_$iiH0xU%iN*ST`A)-EH6eaZB$GA#v)cLi z*MpA(3bYk$oBDKAzu^kJoSUsDd|856DApz={3u8sbQV@JnRkp2nC|)m;#T=DvIL-O zI4vh;g7824l}*`_p@MT4+d`JZ2%6NQh=N9bmgJ#q!hK@_<`HQq3}Z8Ij>3%~<*= zcv=!oT#5xmeGI92lqm9sGVE%#X$ls;St|F#u!?5Y7syhx6q#MVRa&lBmmn%$C0QzU z);*ldgwwCmzM3uglr}!Z2G+?& zf%Dpo&mD%2ZcNFiN-Z0f;c_Q;A%f@>26f?{d1kxIJD}LxsQkB47SAdwinfMILZdN3 zfj^HmTzS3Ku5BxY>ANutS8WPQ-G>v4^_Qndy==P3pDm+Xc?>rUHl-4+^%Sp5atOja z2oP}ftw-rqnb}+khR3CrRg^ibi6?QYk1*i^;kQGirQ=uB9Sd1NTfT-Rbv;hqnY4neE5H1YUrjS2m+2&@uXiAo- zrKUX|Ohg7(6F(AoP~tj;NZlV#xsfo-5reuQHB$&EIAhyZk;bL;k9ouDmJNBAun;H& zn;Of1z_Qj`x&M;5X;{s~iGzBQTY^kv-k{ksbE*Dl%Qf%N@hQCfY~iUw!=F-*$cpf2 z3wix|aLBV0b;W@z^%7S{>9Z^T^fLOI68_;l@+Qzaxo`nAI8emTV@rRhEKZ z?*z_{oGdI~R*#<2{bkz$G~^Qef}$*4OYTgtL$e9q!FY7EqxJ2`zk6SQc}M(k(_MaV zSLJnTXw&@djco1~a(vhBl^&w=$fa9{Sru>7g8SHahv$&Bl(D@(Zwxo_3r=;VH|uc5 zi1Ny)J!<(KN-EcQ(xlw%PNwK8U>4$9nVOhj(y0l9X^vP1TA>r_7WtSExIOsz`nDOP zs}d>Vxb2Vo2e5x8p(n~Y5ggAyvib>d)6?)|E@{FIz?G3PVGLf7-;BxaP;c?7ddH$z zA+{~k^V=bZuXafOv!RPsE1GrR3J2TH9uB=Z67gok+u`V#}BR86hB1xl}H4v`F+mRfr zYhortD%@IGfh!JB(NUNSDh+qDz?4ztEgCz&bIG-Wg7w-ua4ChgQR_c+z8dT3<1?uX z*G(DKy_LTl*Ea!%v!RhpCXW1WJO6F`bgS-SB;Xw9#! z<*K}=#wVu9$`Yo|e!z-CPYH!nj7s9dEPr-E`DXUBu0n!xX~&|%#G=BeM?X@shQQMf zMvr2!y7p_gD5-!Lnm|a@z8Of^EKboZsTMk%5VsJEm>VsJ4W7Kv{<|#4f-qDE$D-W>gWT%z-!qXnDHhOvLk=?^a1*|0j z{pW{M0{#1VcR5;F!!fIlLVNh_Gj zbnW(_j?0c2q$EHIi@fSMR{OUKBcLr{Y&$hrM8XhPByyZaXy|dd&{hYQRJ9@Fn%h3p7*VQolBIV@Eq`=y%5BU~3RPa^$a?ixp^cCg z+}Q*X+CW9~TL29@OOng(#OAOd!)e$d%sr}^KBJ-?-X&|4HTmtemxmp?cT3uA?md4% zT8yZ0U;6Rg6JHy3fJae{6TMGS?ZUX6+gGTT{Q{)SI85$5FD{g-eR%O0KMpWPY`4@O zx!hen1*8^E(*}{m^V_?}(b5k3hYo=T+$&M32+B`}81~KKZhY;2H{7O-M@vbCzuX0n zW-&HXeyr1%I3$@ns-V1~Lb@wIpkmx|8I~ob1Of7i6BTNysEwI}=!nU%q7(V_^+d*G z7G;07m(CRTJup!`cdYi93r^+LY+`M*>aMuHJm(A8_O8C#A*$!Xvddgpjx5)?_EB*q zgE8o5O>e~9IiSC@WtZpF{4Bj2J5eZ>uUzY%TgWF7wdDE!fSQIAWCP)V{;HsU3ap?4 znRsiiDbtN7i9hapO;(|Ew>Ip2TZSvK9Z^N21%J?OiA_&eP1{(Pu_=%JjKy|HOardq ze?zK^K zA%sjF64*Wufad%H<) z^|t>e*h+Z1#l=5wHexzt9HNDNXgM=-OPWKd^5p!~%SIl>Fo&7BvNpbf8{NXmH)o{r zO=aBJ;meX1^{O%q;kqdw*5k!Y7%t_30 zy{nGRVc&5qt?dBwLs+^Sfp;f`YVMSB#C>z^a9@fpZ!xb|b-JEz1LBX7ci)V@W+kvQ89KWA0T~Lj$aCcfW#nD5bt&Y_< z-q{4ZXDqVg?|0o)j1%l0^_it0WF*LCn-+)c!2y5yS7aZIN$>0LqNnkujV*YVes(v$ zY@_-!Q;!ZyJ}Bg|G-~w@or&u0RO?vlt5*9~yeoPV_UWrO2J54b4#{D(D>jF(R88u2 zo#B^@iF_%S>{iXSol8jpmsZuJ?+;epg>k=$d`?GSegAVp3n$`GVDvK${N*#L_1`44 z{w0fL{2%)0|E+qgZtjX}itZz^KJt4Y;*8uSK}Ft38+3>j|K(PxIXXR-t4VopXo#9# zt|F{LWr-?34y`$nLBVV_*UEgA6AUI65dYIbqpNq9cl&uLJ0~L}<=ESlOm?Y-S@L*d z<7vt}`)TW#f%Rp$Q}6@3=j$7Tze@_uZO@aMn<|si{?S}~maII`VTjs&?}jQ4_cut9$)PEqMukwoXobzaKx^MV z2fQwl+;LSZ$qy%Tys0oo^K=jOw$!YwCv^ei4NBVauL)tN%=wz9M{uf{IB(BxK|lT*pFkmNK_1tV`nb%jH=a0~VNq2RCKY(rG7jz!-D^k)Ec)yS%17pE#o6&eY+ z^qN(hQT$}5F(=4lgNQhlxj?nB4N6ntUY6(?+R#B?W3hY_a*)hnr4PA|vJ<6p`K3Z5Hy z{{8(|ux~NLUW=!?9Qe&WXMTAkQnLXg(g=I@(VG3{HE13OaUT|DljyWXPs2FE@?`iU z4GQlM&Q=T<4&v@Fe<+TuXiZQT3G~vZ&^POfmI1K2h6t4eD}Gk5XFGpbj1n_g*{qmD6Xy z`6Vv|lLZtLmrnv*{Q%xxtcWVj3K4M%$bdBk_a&ar{{GWyu#ljM;dII;*jP;QH z#+^o-A4np{@|Mz+LphTD0`FTyxYq#wY)*&Ls5o{0z9yg2K+K7ZN>j1>N&;r+Z`vI| zDzG1LJZ+sE?m?>x{5LJx^)g&pGEpY=fQ-4}{x=ru;}FL$inHemOg%|R*ZXPodU}Kh zFEd5#+8rGq$Y<_?k-}r5zgQ3jRV=ooHiF|@z_#D4pKVEmn5CGV(9VKCyG|sT9nc=U zEoT67R`C->KY8Wp-fEcjjFm^;Cg(ls|*ABVHq8clBE(;~K^b+S>6uj70g? z&{XQ5U&!Z$SO7zfP+y^8XBbiu*Cv-yJG|l-oe*!s5$@Lh_KpxYL2sx`B|V=dETN>5K+C+CU~a_3cI8{vbu$TNVdGf15*>D zz@f{zIlorkY>TRh7mKuAlN9A0>N>SV`X)+bEHms=mfYTMWt_AJtz_h+JMmrgH?mZt zm=lfdF`t^J*XLg7v+iS)XZROygK=CS@CvUaJo&w2W!Wb@aa?~Drtf`JV^cCMjngVZ zv&xaIBEo8EYWuML+vxCpjjY^s1-ahXJzAV6hTw%ZIy!FjI}aJ+{rE&u#>rs)vzuxz z+$5z=7W?zH2>Eb32dvgHYZtCAf!=OLY-pb4>Ae79rd68E2LkVPj-|jFeyqtBCCwiW zkB@kO_(3wFq)7qwV}bA=zD!*@UhT`geq}ITo%@O(Z5Y80nEX~;0-8kO{oB6|(4fQh z);73T!>3@{ZobPwRv*W?7m0Ml9GmJBCJd&6E?hdj9lV= z4flNfsc(J*DyPv?RCOx!MSvk(M952PJ-G|JeVxWVjN~SNS6n-_Ge3Q;TGE;EQvZg86%wZ`MB zSMQua(i*R8a75!6$QRO^(o7sGoomb+Y{OMy;m~Oa`;P9Yqo>?bJAhqXxLr7_3g_n>f#UVtxG!^F#1+y@os6x(sg z^28bsQ@8rw%Gxk-stAEPRbv^}5sLe=VMbkc@Jjimqjvmd!3E7+QnL>|(^3!R} zD-l1l7*Amu@j+PWLGHXXaFG0Ct2Q=}5YNUxEQHCAU7gA$sSC<5OGylNnQUa>>l%sM zyu}z6i&({U@x^hln**o6r2s-(C-L50tQvz|zHTqW!ir?w&V23tuYEDJVV#5pE|OJu z7^R!A$iM$YCe?8n67l*J-okwfZ+ZTkGvZ)tVPfR;|3gyFjF)8V zyXXN=!*bpyRg9#~Bg1+UDYCt0 ztp4&?t1X0q>uz;ann$OrZs{5*r`(oNvw=$7O#rD|Wuv*wIi)4b zGtq4%BX+kkagv3F9Id6~-c+1&?zny%w5j&nk9SQfo0k4LhdSU_kWGW7axkfpgR`8* z!?UTG*Zi_baA1^0eda8S|@&F z{)Rad0kiLjB|=}XFJhD(S3ssKlveFFmkN{Vl^_nb!o5M!RC=m)V&v2%e?ZoRC@h3> zJ(?pvToFd`*Zc@HFPL#=otWKwtuuQ_dT-Hr{S%pQX<6dqVJ8;f(o)4~VM_kEQkMR+ zs1SCVi~k>M`u1u2xc}>#D!V&6nOOh-E$O&SzYrjJdZpaDv1!R-QGA141WjQe2s0J~ zQ;AXG)F+K#K8_5HVqRoRM%^EduqOnS(j2)|ctA6Q^=|s_WJYU;Z%5bHp08HPL`YF2 zR)Ad1z{zh`=sDs^&V}J z%$Z$!jd7BY5AkT?j`eqMs%!Gm@T8)4w3GYEX~IwgE~`d|@T{WYHkudy(47brgHXx& zBL1yFG6!!!VOSmDxBpefy2{L_u5yTwja&HA!mYA#wg#bc-m%~8aRR|~AvMnind@zs zy>wkShe5&*un^zvSOdlVu%kHsEo>@puMQ`b1}(|)l~E{5)f7gC=E$fP(FC2=F<^|A zxeIm?{EE!3sO!Gr7e{w)Dx(uU#3WrFZ>ibmKSQ1tY?*-Nh1TDHLe+k*;{Rp!Bmd_m zb#^kh`Y*8l|9Cz2e{;RL%_lg{#^Ar+NH|3z*Zye>!alpt{z;4dFAw^^H!6ING*EFc z_yqhr8d!;%nHX9AKhFQZBGrSzfzYCi%C!(Q5*~hX>)0N`vbhZ@N|i;_972WSx*>LH z87?en(;2_`{_JHF`Sv6Wlps;dCcj+8IJ8ca6`DsOQCMb3n# z3)_w%FuJ3>fjeOOtWyq)ag|PmgQbC-s}KRHG~enBcIwqIiGW8R8jFeBNY9|YswRY5 zjGUxdGgUD26wOpwM#8a!Nuqg68*dG@VM~SbOroL_On0N6QdT9?)NeB3@0FCC?Z|E0 z6TPZj(AsPtwCw>*{eDEE}Gby>0q{*lI+g2e&(YQrsY&uGM{O~}(oM@YWmb*F zA0^rr5~UD^qmNljq$F#ARXRZ1igP`MQx4aS6*MS;Ot(1L5jF2NJ;de!NujUYg$dr# z=TEL_zTj2@>ZZN(NYCeVX2==~=aT)R30gETO{G&GM4XN<+!&W&(WcDP%oL8PyIVUC zs5AvMgh6qr-2?^unB@mXK*Dbil^y-GTC+>&N5HkzXtozVf93m~xOUHn8`HpX=$_v2 z61H;Z1qK9o;>->tb8y%#4H)765W4E>TQ1o0PFj)uTOPEvv&}%(_mG0ISmyhnQV33Z$#&yd{ zc{>8V8XK$3u8}04CmAQ#I@XvtmB*s4t8va?-IY4@CN>;)mLb_4!&P3XSw4pA_NzDb zORn!blT-aHk1%Jpi>T~oGLuh{DB)JIGZ9KOsciWs2N7mM1JWM+lna4vkDL?Q)z_Ct z`!mi0jtr+4*L&N7jk&LodVO#6?_qRGVaucqVB8*us6i3BTa^^EI0x%EREQSXV@f!lak6Wf1cNZ8>*artIJ(ADO*=<-an`3zB4d*oO*8D1K!f z*A@P1bZCNtU=p!742MrAj%&5v%Xp_dSX@4YCw%F|%Dk=u|1BOmo)HsVz)nD5USa zR~??e61sO(;PR)iaxK{M%QM_rIua9C^4ppVS$qCT9j2%?*em?`4Z;4@>I(c%M&#cH z>4}*;ej<4cKkbCAjjDsyKS8rIm90O)Jjgyxj5^venBx&7B!xLmzxW3jhj7sR(^3Fz z84EY|p1NauwXUr;FfZjdaAfh%ivyp+^!jBjJuAaKa!yCq=?T_)R!>16?{~p)FQ3LDoMyG%hL#pR!f@P%*;#90rs_y z@9}@r1BmM-SJ#DeuqCQk=J?ixDSwL*wh|G#us;dd{H}3*-Y7Tv5m=bQJMcH+_S`zVtf;!0kt*(zwJ zs+kedTm!A}cMiM!qv(c$o5K%}Yd0|nOd0iLjus&;s0Acvoi-PFrWm?+q9f^FslxGi z6ywB`QpL$rJzWDg(4)C4+!2cLE}UPCTBLa*_=c#*$b2PWrRN46$y~yST3a2$7hEH= zNjux+wna^AzQ=KEa_5#9Ph=G1{S0#hh1L3hQ`@HrVnCx{!fw_a0N5xV(iPdKZ-HOM za)LdgK}1ww*C_>V7hbQnTzjURJL`S%`6nTHcgS+dB6b_;PY1FsrdE8(2K6FN>37!62j_cBlui{jO^$dPkGHV>pXvW0EiOA zqW`YaSUBWg_v^Y5tPJfWLcLpsA8T zG)!x>pKMpt!lv3&KV!-um= zKCir6`bEL_LCFx4Z5bAFXW$g3Cq`?Q%)3q0r852XI*Der*JNuKUZ`C{cCuu8R8nkt z%pnF>R$uY8L+D!V{s^9>IC+bmt<05h**>49R*#vpM*4i0qRB2uPbg8{{s#9yC;Z18 zD7|4m<9qneQ84uX|J&f-g8a|nFKFt34@Bt{CU`v(SYbbn95Q67*)_Esl_;v291s=9 z+#2F2apZU4Tq=x+?V}CjwD(P=U~d<=mfEFuyPB`Ey82V9G#Sk8H_Ob_RnP3s?)S_3 zr%}Pb?;lt_)Nf>@zX~D~TBr;-LS<1I##8z`;0ZCvI_QbXNh8Iv)$LS=*gHr;}dgb=w5$3k2la1keIm|=7<-JD>)U%=Avl0Vj@+&vxn zt-)`vJxJr88D&!}2^{GPXc^nmRf#}nb$4MMkBA21GzB`-Or`-3lq^O^svO7Vs~FdM zv`NvzyG+0T!P8l_&8gH|pzE{N(gv_tgDU7SWeiI-iHC#0Ai%Ixn4&nt{5y3(GQs)i z&uA;~_0shP$0Wh0VooIeyC|lak__#KVJfxa7*mYmZ22@(<^W}FdKjd*U1CqSjNKW% z*z$5$=t^+;Ui=MoDW~A7;)Mj%ibX1_p4gu>RC}Z_pl`U*{_z@+HN?AF{_W z?M_X@o%w8fgFIJ$fIzBeK=v#*`mtY$HC3tqw7q^GCT!P$I%=2N4FY7j9nG8aIm$c9 zeKTxVKN!UJ{#W)zxW|Q^K!3s;(*7Gbn;e@pQBCDS(I|Y0euK#dSQ_W^)sv5pa%<^o zyu}3d?Lx`)3-n5Sy9r#`I{+t6x%I%G(iewGbvor&I^{lhu-!#}*Q3^itvY(^UWXgvthH52zLy&T+B)Pw;5>4D6>74 zO_EBS)>l!zLTVkX@NDqyN2cXTwsUVao7$HcqV2%t$YzdAC&T)dwzExa3*kt9d(}al zA~M}=%2NVNUjZiO7c>04YH)sRelXJYpWSn^aC$|Ji|E13a^-v2MB!Nc*b+=KY7MCm zqIteKfNkONq}uM;PB?vvgQvfKLPMB8u5+Am=d#>g+o&Ysb>dX9EC8q?D$pJH!MTAqa=DS5$cb+;hEvjwVfF{4;M{5U&^_+r zvZdu_rildI!*|*A$TzJ&apQWV@p{!W`=?t(o0{?9y&vM)V)ycGSlI3`;ps(vf2PUq zX745#`cmT*ra7XECC0gKkpu2eyhFEUb?;4@X7weEnLjXj_F~?OzL1U1L0|s6M+kIhmi%`n5vvDALMagi4`wMc=JV{XiO+^ z?s9i7;GgrRW{Mx)d7rj)?(;|b-`iBNPqdwtt%32se@?w4<^KU&585_kZ=`Wy^oLu9 z?DQAh5z%q;UkP48jgMFHTf#mj?#z|=w= z(q6~17Vn}P)J3M?O)x))%a5+>TFW3No~TgP;f}K$#icBh;rSS+R|}l鯊%1Et zwk~hMkhq;MOw^Q5`7oC{CUUyTw9x>^%*FHx^qJw(LB+E0WBX@{Ghw;)6aA-KyYg8p z7XDveQOpEr;B4je@2~usI5BlFadedX^ma{b{ypd|RNYqo#~d*mj&y`^iojR}s%~vF z(H!u`yx68D1Tj(3(m;Q+Ma}s2n#;O~bcB1`lYk%Irx60&-nWIUBr2x&@}@76+*zJ5 ze&4?q8?m%L9c6h=J$WBzbiTf1Z-0Eb5$IZs>lvm$>1n_Mezp*qw_pr8<8$6f)5f<@ zyV#tzMCs51nTv_5ca`x`yfE5YA^*%O_H?;tWYdM_kHPubA%vy47i=9>Bq) zRQ&0UwLQHeswmB1yP)+BiR;S+Vc-5TX84KUA;8VY9}yEj0eESSO`7HQ4lO z4(CyA8y1G7_C;6kd4U3K-aNOK!sHE}KL_-^EDl(vB42P$2Km7$WGqNy=%fqB+ zSLdrlcbEH=T@W8V4(TgoXZ*G1_aq$K^@ek=TVhoKRjw;HyI&coln|uRr5mMOy2GXP zwr*F^Y|!Sjr2YQXX(Fp^*`Wk905K%$bd03R4(igl0&7IIm*#f`A!DCarW9$h$z`kYk9MjjqN&5-DsH@8xh63!fTNPxWsFQhNv z#|3RjnP$Thdb#Ys7M+v|>AHm0BVTw)EH}>x@_f4zca&3tXJhTZ8pO}aN?(dHo)44Z z_5j+YP=jMlFqwvf3lq!57-SAuRV2_gJ*wsR_!Y4Z(trO}0wmB9%f#jNDHPdQGHFR; zZXzS-$`;7DQ5vF~oSgP3bNV$6Z(rwo6W(U07b1n3UHqml>{=6&-4PALATsH@Bh^W? z)ob%oAPaiw{?9HfMzpGb)@Kys^J$CN{uf*HX?)z=g`J(uK1YO^8~s1(ZIbG%Et(|q z$D@_QqltVZu9Py4R0Ld8!U|#`5~^M=b>fnHthzKBRr=i+w@0Vr^l|W;=zFT#PJ?*a zbC}G#It}rQP^Ait^W&aa6B;+0gNvz4cWUMzpv(1gvfw-X4xJ2Sv;mt;zb2Tsn|kSS zo*U9N?I{=-;a-OybL4r;PolCfiaL=y@o9{%`>+&FI#D^uy#>)R@b^1ue&AKKwuI*` zx%+6r48EIX6nF4o;>)zhV_8(IEX})NGU6Vs(yslrx{5fII}o3SMHW7wGtK9oIO4OM&@@ECtXSICLcPXoS|{;=_yj>hh*%hP27yZwOmj4&Lh z*Nd@OMkd!aKReoqNOkp5cW*lC)&C$P?+H3*%8)6HcpBg&IhGP^77XPZpc%WKYLX$T zsSQ$|ntaVVOoRat$6lvZO(G-QM5s#N4j*|N_;8cc2v_k4n6zx9c1L4JL*83F-C1Cn zaJhd;>rHXB%%ZN=3_o3&Qd2YOxrK~&?1=UuN9QhL$~OY-Qyg&})#ez*8NpQW_*a&kD&ANjedxT0Ar z<6r{eaVz3`d~+N~vkMaV8{F?RBVemN(jD@S8qO~L{rUw#=2a$V(7rLE+kGUZ<%pdr z?$DP|Vg#gZ9S}w((O2NbxzQ^zTot=89!0^~hE{|c9q1hVzv0?YC5s42Yx($;hAp*E zyoGuRyphQY{Q2ee0Xx`1&lv(l-SeC$NEyS~8iil3_aNlnqF_G|;zt#F%1;J)jnPT& z@iU0S;wHJ2$f!juqEzPZeZkjcQ+Pa@eERSLKsWf=`{R@yv7AuRh&ALRTAy z8=g&nxsSJCe!QLchJ=}6|LshnXIK)SNd zRkJNiqHwKK{SO;N5m5wdL&qK`v|d?5<4!(FAsDxR>Ky#0#t$8XCMptvNo?|SY?d8b z`*8dVBlXTUanlh6n)!EHf2&PDG8sXNAt6~u-_1EjPI1|<=33T8 zEnA00E!`4Ave0d&VVh0e>)Dc}=FfAFxpsC1u9ATfQ`-Cu;mhc8Z>2;uyXtqpLb7(P zd2F9<3cXS} znMg?{&8_YFTGRQZEPU-XPq55%51}RJpw@LO_|)CFAt62-_!u_Uq$csc+7|3+TV_!h z+2a7Yh^5AA{q^m|=KSJL+w-EWDBc&I_I1vOr^}P8i?cKMhGy$CP0XKrQzCheG$}G# zuglf8*PAFO8%xop7KSwI8||liTaQ9NCAFarr~psQt)g*pC@9bORZ>m`_GA`_K@~&% zijH0z;T$fd;-Liw8%EKZas>BH8nYTqsK7F;>>@YsE=Rqo?_8}UO-S#|6~CAW0Oz1} z3F(1=+#wrBJh4H)9jTQ_$~@#9|Bc1Pd3rAIA_&vOpvvbgDJOM(yNPhJJq2%PCcMaI zrbe~toYzvkZYQ{ea(Wiyu#4WB#RRN%bMe=SOk!CbJZv^m?Flo5p{W8|0i3`hI3Np# zvCZqY%o258CI=SGb+A3yJe~JH^i{uU`#U#fvSC~rWTq+K`E%J@ zasU07&pB6A4w3b?d?q}2=0rA#SA7D`X+zg@&zm^iA*HVi z009#PUH<%lk4z~p^l0S{lCJk1Uxi=F4e_DwlfHA`X`rv(|JqWKAA5nH+u4Da+E_p+ zVmH@lg^n4ixs~*@gm_dgQ&eDmE1mnw5wBz9Yg?QdZwF|an67Xd*x!He)Gc8&2!urh z4_uXzbYz-aX)X1>&iUjGp;P1u8&7TID0bTH-jCL&Xk8b&;;6p2op_=y^m@Nq*0{#o!!A;wNAFG@0%Z9rHo zcJs?Th>Ny6+hI`+1XoU*ED$Yf@9f91m9Y=#N(HJP^Y@ZEYR6I?oM{>&Wq4|v0IB(p zqX#Z<_3X(&{H+{3Tr|sFy}~=bv+l=P;|sBz$wk-n^R`G3p0(p>p=5ahpaD7>r|>pm zv;V`_IR@tvZreIuv2EM7ZQHhO+qUgw#kOs%*ekY^n|=1#x9&c;Ro&I~{rG-#_3ZB1 z?|9}IFdbP}^DneP*T-JaoYHt~r@EfvnPE5EKUwIxjPbsr$% zfWW83pgWST7*B(o=kmo)74$8UU)v0{@4DI+ci&%=#90}!CZz|rnH+Mz=HN~97G3~@ z;v5(9_2%eca(9iu@J@aqaMS6*$TMw!S>H(b z4(*B!|H|8&EuB%mITr~O?vVEf%(Gr)6E=>H~1VR z&1YOXluJSG1!?TnT)_*YmJ*o_Q@om~(GdrhI{$Fsx_zrkupc#y{DK1WOUR>tk>ZE) ziOLoBkhZZ?0Uf}cm>GsA>Rd6V8@JF)J*EQlQ<=JD@m<)hyElXR0`pTku*3MU`HJn| zIf7$)RlK^pW-$87U;431;Ye4Ie+l~_B3*bH1>*yKzn23cH0u(i5pXV! z4K?{3oF7ZavmmtTq((wtml)m6i)8X6ot_mrE-QJCW}Yn!(3~aUHYG=^fA<^~`e3yc z-NWTb{gR;DOUcK#zPbN^D*e=2eR^_!(!RKkiwMW@@yYtEoOp4XjOGgzi`;=8 zi3`Ccw1%L*y(FDj=C7Ro-V?q)-%p?Ob2ZElu`eZ99n14-ZkEV#y5C+{Pq87Gu3&>g zFy~Wk7^6v*)4pF3@F@rE__k3ikx(hzN3@e*^0=KNA6|jC^B5nf(XaoQaZN?Xi}Rn3 z$8&m*KmWvPaUQ(V<#J+S&zO|8P-#!f%7G+n_%sXp9=J%Z4&9OkWXeuZN}ssgQ#Tcj z8p6ErJQJWZ+fXLCco=RN8D{W%+*kko*2-LEb))xcHwNl~Xmir>kmAxW?eW50Osw3# zki8Fl$#fvw*7rqd?%E?}ZX4`c5-R&w!Y0#EBbelVXSng+kUfeUiqofPehl}$ormli zg%r)}?%=?_pHb9`Cq9Z|B`L8b>(!+8HSX?`5+5mm81AFXfnAt1*R3F z%b2RPIacKAddx%JfQ8l{3U|vK@W7KB$CdLqn@wP^?azRks@x8z59#$Q*7q!KilY-P zHUbs(IFYRGG1{~@RF;Lqyho$~7^hNC`NL3kn^Td%A7dRgr_&`2k=t+}D-o9&C!y^? z6MsQ=tc3g0xkK(O%DzR9nbNB(r@L;1zQrs8mzx&4dz}?3KNYozOW5;=w18U6$G4U2 z#2^qRLT*Mo4bV1Oeo1PKQ2WQS2Y-hv&S|C7`xh6=Pj7MNLC5K-zokZ67S)C;(F0Dd zloDK2_o1$Fmza>EMj3X9je7e%Q`$39Dk~GoOj89-6q9|_WJlSl!!+*{R=tGp z8u|MuSwm^t7K^nUe+^0G3dkGZr3@(X+TL5eah)K^Tn zXEtHmR9UIaEYgD5Nhh(s*fcG_lh-mfy5iUF3xxpRZ0q3nZ=1qAtUa?(LnT9I&~uxX z`pV?+=|-Gl(kz?w!zIieXT}o}7@`QO>;u$Z!QB${a08_bW0_o@&9cjJUXzVyNGCm8 zm=W+$H!;_Kzp6WQqxUI;JlPY&`V}9C$8HZ^m?NvI*JT@~BM=()T()Ii#+*$y@lTZBkmMMda>7s#O(1YZR+zTG@&}!EXFG{ zEWPSDI5bFi;NT>Yj*FjH((=oe%t%xYmE~AGaOc4#9K_XsVpl<4SP@E!TgC0qpe1oi zNpxU2b0(lEMcoibQ-G^cxO?ySVW26HoBNa;n0}CWL*{k)oBu1>F18X061$SP{Gu67 z-v-Fa=Fl^u3lnGY^o5v)Bux}bNZ~ z5pL+7F_Esoun8^5>z8NFoIdb$sNS&xT8_|`GTe8zSXQzs4r^g0kZjg(b0bJvz`g<70u9Z3fQILX1Lj@;@+##bP|FAOl)U^9U>0rx zGi)M1(Hce)LAvQO-pW!MN$;#ZMX?VE(22lTlJrk#pB0FJNqVwC+*%${Gt#r_tH9I_ z;+#)#8cWAl?d@R+O+}@1A^hAR1s3UcW{G+>;X4utD2d9X(jF555}!TVN-hByV6t+A zdFR^aE@GNNgSxxixS2p=on4(+*+f<8xrwAObC)D5)4!z7)}mTpb7&ofF3u&9&wPS< zB62WHLGMhmrmOAgmJ+|c>qEWTD#jd~lHNgT0?t-p{T=~#EMcB| z=AoDKOL+qXCfk~F)-Rv**V}}gWFl>liXOl7Uec_8v)(S#av99PX1sQIVZ9eNLkhq$ zt|qu0b?GW_uo}TbU8!jYn8iJeIP)r@;!Ze_7mj{AUV$GEz6bDSDO=D!&C9!M@*S2! zfGyA|EPlXGMjkH6x7OMF?gKL7{GvGfED=Jte^p=91FpCu)#{whAMw`vSLa`K#atdN zThnL+7!ZNmP{rc=Z>%$meH;Qi1=m1E3Lq2D_O1-X5C;!I0L>zur@tPAC9*7Jeh)`;eec}1`nkRP(%iv-`N zZ@ip-g|7l6Hz%j%gcAM}6-nrC8oA$BkOTz^?dakvX?`^=ZkYh%vUE z9+&)K1UTK=ahYiaNn&G5nHUY5niLGus@p5E2@RwZufRvF{@$hW{;{3QhjvEHMvduO z#Wf-@oYU4ht?#uP{N3utVzV49mEc9>*TV_W2TVC`6+oI)zAjy$KJrr=*q##&kobiQ z1vNbya&OVjK`2pdRrM?LuK6BgrLN7H_3m z!qpNKg~87XgCwb#I=Q&0rI*l$wM!qTkXrx1ko5q-f;=R2fImRMwt5Qs{P*p^z@9ex z`2#v(qE&F%MXlHpdO#QEZyZftn4f05ab^f2vjxuFaat2}jke{j?5GrF=WYBR?gS(^ z9SBiNi}anzBDBRc+QqizTTQuJrzm^bNA~A{j%ugXP7McZqJ}65l10({wk++$=e8O{ zxWjG!Qp#5OmI#XRQQM?n6?1ztl6^D40hDJr?4$Wc&O_{*OfMfxe)V0=e{|N?J#fgE>j9jAajze$iN!*yeF%jJU#G1c@@rm zolGW!j?W6Q8pP=lkctNFdfgUMg92wlM4E$aks1??M$~WQfzzzXtS)wKrr2sJeCN4X zY(X^H_c^PzfcO8Bq(Q*p4c_v@F$Y8cHLrH$`pJ2}=#*8%JYdqsqnGqEdBQMpl!Ot04tUGSXTQdsX&GDtjbWD=prcCT9(+ z&UM%lW%Q3yrl1yiYs;LxzIy>2G}EPY6|sBhL&X&RAQrSAV4Tlh2nITR?{6xO9ujGu zr*)^E`>o!c=gT*_@6S&>0POxcXYNQd&HMw6<|#{eSute2C3{&h?Ah|cw56-AP^f8l zT^kvZY$YiH8j)sk7_=;gx)vx-PW`hbSBXJGCTkpt;ap(}G2GY=2bbjABU5)ty%G#x zAi07{Bjhv}>OD#5zh#$0w;-vvC@^}F! z#X$@)zIs1L^E;2xDAwEjaXhTBw2<{&JkF*`;c3<1U@A4MaLPe{M5DGGkL}#{cHL%* zYMG+-Fm0#qzPL#V)TvQVI|?_M>=zVJr9>(6ib*#z8q@mYKXDP`k&A4A};xMK0h=yrMp~JW{L?mE~ph&1Y1a#4%SO)@{ zK2juwynUOC)U*hVlJU17%llUxAJFuKZh3K0gU`aP)pc~bE~mM!i1mi!~LTf>1Wp< zuG+ahp^gH8g8-M$u{HUWh0m^9Rg@cQ{&DAO{PTMudV6c?ka7+AO& z746QylZ&Oj`1aqfu?l&zGtJnpEQOt;OAFq19MXTcI~`ZcoZmyMrIKDFRIDi`FH)w; z8+*8tdevMDv*VtQi|e}CnB_JWs>fhLOH-+Os2Lh!&)Oh2utl{*AwR)QVLS49iTp{6 z;|172Jl!Ml17unF+pd+Ff@jIE-{Oxv)5|pOm@CkHW?{l}b@1>Pe!l}VccX#xp@xgJ zyE<&ep$=*vT=}7vtvif0B?9xw_3Gej7mN*dOHdQPtW5kA5_zGD zpA4tV2*0E^OUimSsV#?Tg#oiQ>%4D@1F5@AHwT8Kgen$bSMHD3sXCkq8^(uo7CWk`mT zuslYq`6Yz;L%wJh$3l1%SZv#QnG3=NZ=BK4yzk#HAPbqXa92;3K5?0kn4TQ`%E%X} z&>Lbt!!QclYKd6+J7Nl@xv!uD%)*bY-;p`y^ZCC<%LEHUi$l5biu!sT3TGGSTPA21 zT8@B&a0lJHVn1I$I3I1I{W9fJAYc+8 zVj8>HvD}&O`TqU2AAb={?eT;0hyL(R{|h23=4fDSZKC32;wWxsVj`P z3J3{M$PwdH!ro*Cn!D&=jnFR>BNGR<<|I8CI@+@658Dy(lhqbhXfPTVecY@L8%`3Q z1Fux2w?2C3th60jI~%OC9BtpNF$QPqcG+Pz96qZJ71_`0o0w_q7|h&O>`6U+^BA&5 zXd5Zp1Xkw~>M%RixTm&OqpNl8Q+ue=92Op_>T~_9UON?ZM2c0aGm=^A4ejrXj3dV9 zhh_bCt-b9`uOX#cFLj!vhZ#lS8Tc47OH>*)y#{O9?AT~KR9LntM|#l#Dlm^8{nZdk zjMl#>ZM%#^nK2TPzLcKxqx24P7R1FPlBy7LSBrRvx>fE$9AJ;7{PQm~^LBX^k#6Zq zw*Z(zJC|`!6_)EFR}8|n8&&Rbj8y028~P~sFXBFRt+tmqH-S3<%N;C&WGH!f3{7cm zy_fCAb9@HqaXa1Y5vFbxWf%#zg6SI$C+Uz5=CTO}e|2fjWkZ;Dx|84Ow~bkI=LW+U zuq;KSv9VMboRvs9)}2PAO|b(JCEC_A0wq{uEj|3x@}*=bOd zwr{TgeCGG>HT<@Zeq8y}vTpwDg#UBvD)BEs@1KP$^3$sh&_joQPn{hjBXmLPJ{tC) z*HS`*2+VtJO{|e$mM^|qv1R*8i(m1`%)}g=SU#T#0KlTM2RSvYUc1fP+va|4;5}Bfz98UvDCpq7}+SMV&;nX zQw~N6qOX{P55{#LQkrZk(e5YGzr|(B;Q;ju;2a`q+S9bsEH@i1{_Y0;hWYn1-79jl z5c&bytD*k)GqrVcHn6t-7kinadiD>B{Tl`ZY@`g|b~pvHh5!gKP4({rp?D0aFd_cN zhHRo4dd5^S6ViN(>(28qZT6E>??aRhc($kP`>@<+lIKS5HdhjVU;>f7<4))E*5|g{ z&d1}D|vpuV^eRj5j|xx9nwaCxXFG?Qbjn~_WSy=N}P0W>MP zG-F%70lX5Xr$a)2i6?i|iMyM|;Jtf*hO?=Jxj12oz&>P=1#h~lf%#fc73M2_(SUM- zf&qnjS80|_Y0lDgl&I?*eMumUklLe_=Td!9G@eR*tcPOgIShJipp3{A10u(4eT~DY zHezEj8V+7m!knn7)W!-5QI3=IvC^as5+TW1@Ern@yX| z7Nn~xVx&fGSr+L%4iohtS3w^{-H1A_5=r&x8}R!YZvp<2T^YFvj8G_vm}5q;^UOJf ztl=X3iL;;^^a#`t{Ae-%5Oq{?M#s6Npj+L(n-*LMI-yMR{)qki!~{5z{&`-iL}lgW zxo+tnvICK=lImjV$Z|O_cYj_PlEYCzu-XBz&XC-JVxUh9;6*z4fuBG+H{voCC;`~GYV|hj%j_&I zDZCj>Q_0RCwFauYoVMiUSB+*Mx`tg)bWmM^SwMA+?lBg12QUF_x2b)b?qb88K-YUd z0dO}3k#QirBV<5%jL$#wlf!60dizu;tsp(7XLdI=eQs?P`tOZYMjVq&jE)qK*6B^$ zBe>VvH5TO>s>izhwJJ$<`a8fakTL!yM^Zfr2hV9`f}}VVUXK39p@G|xYRz{fTI+Yq z20d=)iwjuG9RB$%$^&8#(c0_j0t_C~^|n+c`Apu|x7~;#cS-s=X1|C*YxX3ailhg_|0`g!E&GZJEr?bh#Tpb8siR=JxWKc{#w7g zWznLwi;zLFmM1g8V5-P#RsM@iX>TK$xsWuujcsVR^7TQ@!+vCD<>Bk9tdCo7Mzgq5 zv8d>dK9x8C@Qoh01u@3h0X_`SZluTb@5o;{4{{eF!-4405x8X7hewZWpz z2qEi4UTiXTvsa(0X7kQH{3VMF>W|6;6iTrrYD2fMggFA&-CBEfSqPlQDxqsa>{e2M z(R5PJ7uOooFc|9GU0ELA%m4&4Ja#cQpNw8i8ACAoK6?-px+oBl_yKmenZut#Xumjz zk8p^OV2KY&?5MUwGrBOo?ki`Sxo#?-Q4gw*Sh0k`@ zFTaYK2;}%Zk-68`#5DXU$2#=%YL#S&MTN8bF+!J2VT6x^XBci6O)Q#JfW{YMz) zOBM>t2rSj)n#0a3cjvu}r|k3od6W(SN}V-cL?bi*Iz-8uOcCcsX0L>ZXjLqk zZu2uHq5B|Kt>e+=pPKu=1P@1r9WLgYFq_TNV1p9pu0erHGd!+bBp!qGi+~4A(RsYN@CyXNrC&hxGmW)u5m35OmWwX`I+0yByglO`}HC4nGE^_HUs^&A(uaM zKPj^=qI{&ayOq#z=p&pnx@@k&I1JI>cttJcu@Ihljt?6p^6{|ds`0MoQwp+I{3l6` zB<9S((RpLG^>=Kic`1LnhpW2=Gu!x`m~=y;A`Qk!-w`IN;S8S930#vBVMv2vCKi}u z6<-VPrU0AnE&vzwV(CFC0gnZYcpa-l5T0ZS$P6(?9AM;`Aj~XDvt;Jua=jIgF=Fm? zdp=M$>`phx%+Gu};;-&7T|B1AcC#L4@mW5SV_^1BRbo6;2PWe$r+npRV`yc;T1mo& z+~_?7rA+(Um&o@Tddl zL_hxvWk~a)yY}%j`Y+200D%9$bWHy&;(yj{jpi?Rtz{J66ANw)UyPOm;t6FzY3$hx zcn)Ir79nhFvNa7^a{SHN7XH*|Vlsx`CddPnA&Qvh8aNhEA;mPVv;Ah=k<*u!Zq^7 z<=xs*iQTQOMMcg|(NA_auh@x`3#_LFt=)}%SQppP{E>mu_LgquAWvh<>L7tf9+~rO znwUDS52u)OtY<~!d$;m9+87aO+&`#2ICl@Y>&F{jI=H(K+@3M1$rr=*H^dye#~TyD z!){#Pyfn+|ugUu}G;a~!&&0aqQ59U@UT3|_JuBlYUpT$2+11;}JBJ`{+lQN9T@QFY z5+`t;6(TS0F?OlBTE!@7D`8#URDNqx2t6`GZ{ZgXeS@v%-eJzZOHz18aS|svxII$a zZeFjrJ*$IwX$f-Rzr_G>xbu@euGl)B7pC&S+CmDJBg$BoV~jxSO#>y z33`bupN#LDoW0feZe0%q8un0rYN|eRAnwDHQ6e_)xBTbtoZtTA=Fvk){q}9Os~6mQ zKB80VI_&6iSq`LnK7*kfHZoeX6?WE}8yjuDn=2#JG$+;-TOA1%^=DnXx%w{b=w}tS zQbU3XxtOI8E(!%`64r2`zog;5<0b4i)xBmGP^jiDZ2%HNSxIf3@wKs~uk4%3Mxz;~ zts_S~E4>W+YwI<-*-$U8*^HKDEa8oLbmqGg?3vewnaNg%Mm)W=)lcC_J+1ov^u*N3 zXJ?!BrH-+wGYziJq2Y#vyry6Z>NPgkEk+Ke`^DvNRdb>Q2Nlr#v%O@<5hbflI6EKE z9dWc0-ORk^T}jP!nkJ1imyjdVX@GrjOs%cpgA8-c&FH&$(4od#x6Y&=LiJZPINVyW z0snY$8JW@>tc2}DlrD3StQmA0Twck~@>8dSix9CyQOALcREdxoM$Sw*l!}bXKq9&r zysMWR@%OY24@e`?+#xV2bk{T^C_xSo8v2ZI=lBI*l{RciPwuE>L5@uhz@{!l)rtVlWC>)6(G)1~n=Q|S!{E9~6*fdpa*n z!()-8EpTdj=zr_Lswi;#{TxbtH$8*G=UM`I+icz7sr_SdnHXrv=?iEOF1UL+*6O;% zPw>t^kbW9X@oEXx<97%lBm-9?O_7L!DeD)Me#rwE54t~UBu9VZ zl_I1tBB~>jm@bw0Aljz8! zXBB6ATG6iByKIxs!qr%pz%wgqbg(l{65DP4#v(vqhhL{0b#0C8mq`bnqZ1OwFV z7mlZZJFMACm>h9v^2J9+^_zc1=JjL#qM5ZHaThH&n zXPTsR8(+)cj&>Un{6v*z?@VTLr{TmZ@-fY%*o2G}*G}#!bmqpoo*Ay@U!JI^Q@7gj;Kg-HIrLj4}#ec4~D2~X6vo;ghep-@&yOivYP zC19L0D`jjKy1Yi-SGPAn94(768Tcf$urAf{)1)9W58P`6MA{YG%O?|07!g9(b`8PXG1B1Sh0?HQmeJtP0M$O$hI z{5G`&9XzYhh|y@qsF1GnHN|~^ru~HVf#)lOTSrv=S@DyR$UKQk zjdEPFDz{uHM&UM;=mG!xKvp;xAGHOBo~>_=WFTmh$chpC7c`~7?36h)7$fF~Ii}8q zF|YXxH-Z?d+Q+27Rs3X9S&K3N+)OBxMHn1u(vlrUC6ckBY@@jl+mgr#KQUKo#VeFm zFwNYgv0<%~Wn}KeLeD9e1$S>jhOq&(e*I@L<=I5b(?G(zpqI*WBqf|Zge0&aoDUsC zngMRA_Kt0>La+Erl=Uv_J^p(z=!?XHpenzn$%EA`JIq#yYF?JLDMYiPfM(&Csr#f{ zdd+LJL1by?xz|D8+(fgzRs~(N1k9DSyK@LJygwaYX8dZl0W!I&c^K?7)z{2is;OkE zd$VK-(uH#AUaZrp=1z;O*n=b?QJkxu`Xsw&7yrX0?(CX=I-C#T;yi8a<{E~?vr3W> zQrpPqOW2M+AnZ&p{hqmHZU-;Q(7?- zP8L|Q0RM~sB0w1w53f&Kd*y}ofx@c z5Y6B8qGel+uT1JMot$nT1!Tim6{>oZzJXdyA+4euOLME?5Fd_85Uk%#E*ln%y{u8Q z$|?|R@Hpb~yTVK-Yr_S#%NUy7EBfYGAg>b({J|5b+j-PBpPy$Ns`PaJin4JdRfOaS zE|<HjH%NuJgsd2wOlv>~y=np%=2)$M9LS|>P)zJ+Fei5vYo_N~B0XCn+GM76 z)Xz3tg*FRVFgIl9zpESgdpWAavvVViGlU8|UFY{{gVJskg*I!ZjWyk~OW-Td4(mZ6 zB&SQreAAMqwp}rjy`HsG({l2&q5Y52<@AULVAu~rWI$UbFuZs>Sc*x+XI<+ez%$U)|a^unjpiW0l0 zj1!K0(b6$8LOjzRqQ~K&dfbMIE=TF}XFAi)$+h}5SD3lo z%%Qd>p9se=VtQG{kQ;N`sI)G^u|DN#7{aoEd zkksYP%_X$Rq08);-s6o>CGJ<}v`qs%eYf+J%DQ^2k68C%nvikRsN?$ap--f+vCS`K z#&~)f7!N^;sdUXu54gl3L=LN>FB^tuK=y2e#|hWiWUls__n@L|>xH{%8lIJTd5`w? zSwZbnS;W~DawT4OwSJVdAylbY+u5S+ZH{4hAi2&}Iv~W(UvHg(1GTZRPz`@{SOqzy z(8g&Dz=$PfRV=6FgxN~zo+G8OoPI&d-thcGVR*_^(R8COTM@bq?fDwY{}WhsQS1AK zF6R1t8!RdFmfocpJ6?9Yv~;WYi~XPgs(|>{5})j!AR!voO7y9&cMPo#80A(`za@t>cx<0;qxM@S*m(jYP)dMXr*?q0E`oL;12}VAep179uEr8c<=D zr5?A*C{eJ`z9Ee;E$8)MECqatHkbHH z&Y+ho0B$31MIB-xm&;xyaFCtg<{m~M-QDbY)fQ>Q*Xibb~8ytxZQ?QMf9!%cV zU0_X1@b4d+Pg#R!`OJ~DOrQz3@cpiGy~XSKjZQQ|^4J1puvwKeScrH8o{bscBsowomu z^f12kTvje`yEI3eEXDHJ6L+O{Jv$HVj%IKb|J{IvD*l6IG8WUgDJ*UGz z3!C%>?=dlfSJ>4U88)V+`U-!9r^@AxJBx8R;)J4Fn@`~k>8>v0M9xp90OJElWP&R5 zM#v*vtT}*Gm1^)Bv!s72T3PB0yVIjJW)H7a)ilkAvoaH?)jjb`MP>2z{%Y?}83 zUIwBKn`-MSg)=?R)1Q0z3b>dHE^)D8LFs}6ASG1|daDly_^lOSy&zIIhm*HXm1?VS=_iacG);_I9c zUQH1>i#*?oPIwBMJkzi_*>HoUe}_4o>2(SHWzqQ=;TyhAHS;Enr7!#8;sdlty&(>d zl%5cjri8`2X^Ds`jnw7>A`X|bl=U8n+3LKLy(1dAu8`g@9=5iw$R0qk)w8Vh_Dt^U zIglK}sn^)W7aB(Q>HvrX=rxB z+*L)3DiqpQ_%~|m=44LcD4-bxO3OO*LPjsh%p(k?&jvLp0py57oMH|*IMa(<|{m1(0S|x)?R-mqJ=I;_YUZA>J z62v*eSK;5w!h8J+6Z2~oyGdZ68waWfy09?4fU&m7%u~zi?YPHPgK6LDwphgaYu%0j zurtw)AYOpYKgHBrkX189mlJ`q)w-f|6>IER{5Lk97%P~a-JyCRFjejW@L>n4vt6#hq;!|m;hNE||LK3nw1{bJOy+eBJjK=QqNjI;Q6;Rp5 z&035pZDUZ#%Oa;&_7x0T<7!RW`#YBOj}F380Bq?MjjEhrvlCATPdkCTTl+2efTX$k zH&0zR1n^`C3ef~^sXzJK-)52(T}uTG%OF8yDhT76L~|^+hZ2hiSM*QA9*D5odI1>& z9kV9jC~twA5MwyOx(lsGD_ggYmztXPD`2=_V|ks_FOx!_J8!zM zTzh^cc+=VNZ&(OdN=y4Juw)@8-85lwf_#VMN!Ed(eQiRiLB2^2e`4dp286h@v@`O%_b)Y~A; zv}r6U?zs&@uD_+(_4bwoy7*uozNvp?bXFoB8?l8yG0qsm1JYzIvB_OH4_2G*IIOwT zVl%HX1562vLVcxM_RG*~w_`FbIc!(T=3>r528#%mwwMK}uEhJ()3MEby zQQjzqjWkwfI~;Fuj(Lj=Ug0y`>~C7`w&wzjK(rPw+Hpd~EvQ-ufQOiB4OMpyUKJhw zqEt~jle9d7S~LI~$6Z->J~QJ{Vdn3!c}g9}*KG^Kzr^(7VI5Gk(mHLL{itj_hG?&K4Ws0+T4gLfi3eu$N=`s36geNC?c zm!~}vG6lx9Uf^5M;bWntF<-{p^bruy~f?sk9 zcETAPQZLoJ8JzMMg<-=ju4keY@SY%Wo?u9Gx=j&dfa6LIAB|IrbORLV1-H==Z1zCM zeZcOYpm5>U2fU7V*h;%n`8 zN95QhfD994={1*<2vKLCNF)feKOGk`R#K~G=;rfq}|)s20&MCa65 zUM?xF5!&e0lF%|U!#rD@I{~OsS_?=;s_MQ_b_s=PuWdC)q|UQ&ea)DMRh5>fpQjXe z%9#*x=7{iRCtBKT#H>#v%>77|{4_slZ)XCY{s3j_r{tdpvb#|r|sbS^dU1x70$eJMU!h{Y7Kd{dl}9&vxQl6Jt1a` zHQZrWyY0?!vqf@u-fxU_@+}u(%Wm>0I#KP48tiAPYY!TdW(o|KtVI|EUB9V`CBBNaBLVih7+yMVF|GSoIQD0Jfb{ z!OXq;(>Z?O`1gap(L~bUcp>Lc@Jl-})^=6P%<~~9ywY=$iu8pJ0m*hOPzr~q`23eX zgbs;VOxxENe0UMVeN*>uCn9Gk!4siN-e>x)pIKAbQz!G)TcqIJ0`JBBaX>1-4_XO_-HCS^vr2vjv#7KltDZdyQ{tlWh4$Gm zB>|O1cBDC)yG(sbnc*@w6e%e}r*|IhpXckx&;sQCwGdKH+3oSG-2)Bf#x`@<4ETAr z0My%7RFh6ZLiZ_;X6Mu1YmXx7C$lSZ^}1h;j`EZd6@%JNUe=btBE z%s=Xmo1Ps?8G`}9+6>iaB8bgjUdXT?=trMu|4yLX^m0Dg{m7rpKNJey|EwHI+nN1e zL^>qN%5Fg)dGs4DO~uwIdXImN)QJ*Jhpj7$fq_^`{3fwpztL@WBB}OwQ#Epo-mqMO zsM$UgpFiG&d#)lzEQ{3Q;)&zTw;SzGOah-Dpm{!q7<8*)Ti_;xvV2TYXa}=faXZy? z3y?~GY@kl)>G&EvEijk9y1S`*=zBJSB1iet>0;x1Ai)*`^{pj0JMs)KAM=@UyOGtO z3y0BouW$N&TnwU6!%zS%nIrnANvZF&vB1~P5_d`x-giHuG zPJ;>XkVoghm#kZXRf>qxxEix;2;D1CC~NrbO6NBX!`&_$iXwP~P*c($EVV|669kDO zKoTLZNF4Cskh!Jz5ga9uZ`3o%7Pv`d^;a=cXI|>y;zC3rYPFLQkF*nv(r>SQvD*## z(Vo%^9g`%XwS0t#94zPq;mYGLKu4LU3;txF26?V~A0xZbU4Lmy`)>SoQX^m7fd^*E z+%{R4eN!rIk~K)M&UEzxp9dbY;_I^c} zOc{wlIrN_P(PPqi51k_$>Lt|X6A^|CGYgKAmoI#Li?;Wq%q~q*L7ehZkUrMxW67Jl zhsb~+U?33QS>eqyN{(odAkbopo=Q$Az?L+NZW>j;#~@wCDX?=L5SI|OxI~7!Pli;e zELMFcZtJY3!|=Gr2L4>z8yQ-{To>(f80*#;6`4IAiqUw`=Pg$%C?#1 z_g@hIGerILSU>=P>z{gM|DS91A4cT@PEIB^hSop!uhMo#2G;+tQSpDO_6nOnPWSLU zS;a9m^DFMXR4?*X=}d7l;nXuHk&0|m`NQn%d?8|Ab3A9l9Jh5s120ibWBdB z$5YwsK3;wvp!Kn@)Qae{ef`0#NwlRpQ}k^r>yos_Ne1;xyKLO?4)t_G4eK~wkUS2A&@_;)K0-03XGBzU+5f+uMDxC z(s8!8!RvdC#@`~fx$r)TKdLD6fWEVdEYtV#{ncT-ZMX~eI#UeQ-+H(Z43vVn%Yj9X zLdu9>o%wnWdvzA-#d6Z~vzj-}V3FQ5;axDIZ;i(95IIU=GQ4WuU{tl-{gk!5{l4_d zvvb&uE{%!iFwpymz{wh?bKr1*qzeZb5f6e6m_ozRF&zux2mlK=v_(_s^R6b5lu?_W4W3#<$zeG~Pd)^!4tzhs}-Sx$FJP>)ZGF(hVTH|C3(U zs0PO&*h_ zNA-&qZpTP$$LtIgfiCn07}XDbK#HIXdmv8zdz4TY;ifNIH-0jy(gMSByG2EF~Th#eb_TueZC` zE?3I>UTMpKQ})=C;6p!?G)M6w^u*A57bD?2X`m3X^6;&4%i_m(uGJ3Z5h`nwxM<)H z$I5m?wN>O~8`BGnZ=y^p6;0+%_0K}Dcg|K;+fEi|qoBqvHj(M&aHGqNF48~XqhtU? z^ogwBzRlOfpAJ+Rw7IED8lRbTdBdyEK$gPUpUG}j-M42xDj_&qEAQEtbs>D#dRd7Y z<&TpSZ(quQDHiCFn&0xsrz~4`4tz!CdL8m~HxZM_agu@IrBpyeL1Ft}V$HX_ZqDPm z-f89)pjuEzGdq-PRu`b1m+qBGY{zr_>{6Ss>F|xHZlJj9dt5HD$u`1*WZe)qEIuDSR)%z+|n zatVlhQ?$w#XRS7xUrFE;Y8vMGhQS5*T{ZnY=q1P?w5g$OKJ#M&e??tAmPWHMj3xhS ziGxapy?kn@$~2%ZY;M8Bc@%$pkl%Rvj!?o%agBvpQ-Q61n9kznC4ttrRNQ4%GFR5u zyv%Yo9~yxQJWJSfj z?#HY$y=O~F|2pZs22pu|_&Ajd+D(Mt!nPUG{|1nlvP`=R#kKH zO*s$r_%ss5h1YO7k0bHJ2CXN)Yd6CHn~W!R=SqkWe=&nAZu(Q1G!xgcUilM@YVei@2@a`8he z9@pM`)VB*=e7-MWgLlXlc)t;fF&-AwM{E-EX}pViFn0I0CNw2bNEnN2dj!^4(^zS3 zobUm1uQnpqk_4q{pl*n06=TfK_C>UgurKFjRXsK_LEn};=79`TB12tv6KzwSu*-C8 z;=~ohDLZylHQ|Mpx-?yql>|e=vI1Z!epyUpAcDCp4T|*RV&X`Q$0ogNwy6mFALo^@ z9=&(9txO8V@E!@6^(W0{*~CT>+-MA~vnJULBxCTUW>X5>r7*eXYUT0B6+w@lzw%n> z_VjJ<2qf|(d6jYq2(x$(ZDf!yVkfnbvNmb5c|hhZ^2TV_LBz`9w!e_V*W_(MiA7|= z&EeIIkw*+$Xd!)j8<@_<}A5;~A_>3JT*kX^@}cDoLd>Qj<`Se^wdUa(j0dp+Tl8EptwBm{9OGsdFEq zM`!pjf(Lm(`$e3FLOjqA5LnN5o!}z{ zNf}rJuZh@yUtq&ErjHeGzX4(!luV!jB&;FAP|!R_QHYw#^Z1LwTePAKJ6X&IDNO#; z)#I@Xnnzyij~C@UH~X51JCgQeF0&hTXnuoElz#m{heZRexWc0k4<>0+ClX7%0 zEBqCCld1tD9Zwkr4{?Nor19#E5-YKfB8d?qgR82-Ow2^AuNevly2*tHA|sK!ybYkX zm-sLQH72P&{vEAW6+z~O5d0qd=xW~rua~5a?ymYFSD@8&gV)E5@RNNBAj^C99+Z5Z zR@Pq55mbCQbz+Mn$d_CMW<-+?TU960agEk1J<>d>0K=pF19yN))a~4>m^G&tc*xR+yMD*S=yip-q=H zIlredHpsJV8H(32@Zxc@bX6a21dUV95Th--8pE6C&3F>pk=yv$yd6@Haw;$v4+Fcb zRwn{Qo@0`7aPa2LQOP}j9v>sjOo5Kqvn|`FLizX zB+@-u4Lw|jsvz{p^>n8Vo8H2peIqJJnMN}A)q6%$Tmig7eu^}K2 zrh$X?T|ZMsoh{6pdw1G$_T<`Ds-G=jc;qcGdK4{?dN2-XxjDNbb(7pk|3JUVCU4y; z)?LXR>f+AAu)JEiti_Zy#z5{RgsC}R(@jl%9YZ>zu~hKQ*AxbvhC378-I@{~#%Y`Z zy=a=9YpewPIC+gkEUUwtUL7|RU7=!^Aa}Mk^6uxOgRGA#JXjWLsjFUnix|Mau{hDT z7mn*z1m5g`vP(#tjT0Zy4eAY(br&!RiiXE=ZI!{sE1#^#%x^Z7t1U)b<;%Y}Q9=5v z;wpDCEZ@OE36TWT=|gxigT@VaW9BvHS05;_P(#s z8zI4XFQys}q)<`tkX$WnSarn{3e!s}4(J!=Yf>+Y>cP3f;vr63f2{|S^`_pWc)^5_!R z*(x-fuBxL51@xe!lnDBKi}Br$c$BMZ3%f2Sa6kLabiBS{pq*yj;q|k(86x`PiC{p6 z_bxCW{>Q2BA8~Ggz&0jkrcU+-$ANBsOop*ms>34K9lNYil@}jC;?cYP(m^P}nR6FV zk(M%48Z&%2Rx$A&FhOEirEhY0(dn;-k(qkTU)sFQ`+-ih+s@A8g?r8Pw+}2;35WYf zi}VO`jS`p(tc)$X$a>-#WXoW!phhatC*$}|rk>|wUU71eUJG^$c6_jwX?iSHM@6__ zvV|6%U*$sSXJu9SX?2%M^kK|}a2QJ8AhF{fuXrHZxXsI~O zGKX45!K7p*MCPEQ=gp?eu&#AW*pR{lhQR##P_*{c_DjMGL|3T3-bSJ(o$|M{ytU}> zAV>wq*uE*qFo9KvnA^@juy{x<-u*#2NvkV={Ly}ysKYB-k`K3@K#^S1Bb$8Y#0L0# z`6IkSG&|Z$ODy|VLS+y5pFJx&8tvPmMd8c9FhCyiU8~k6FwkakUd^(_ml8`rnl>JS zZV){9G*)xBqPz^LDqRwyS6w86#D^~xP4($150M)SOZRe9sn=>V#aG0Iy(_^YcPpIz8QYM-#s+n% z@Jd?xQq?Xk6=<3xSY7XYP$$yd&Spu{A#uafiIfy8gRC`o0nk{ezEDjb=q_qRAlR1d zFq^*9Gn)yTG4b}R{!+3hWQ+u3GT~8nwl2S1lpw`s0X_qpxv)g+JIkVKl${sYf_nV~B>Em>M;RlqGb5WVil(89 zs=ld@|#;dq1*vQGz=7--Br-|l) zZ%Xh@v8>B7P?~}?Cg$q9_={59l%m~O&*a6TKsCMAzG&vD>k2WDzJ6!tc!V)+oxF;h zJH;apM=wO?r_+*#;ulohuP=E>^zon}a$NnlcQ{1$SO*i=jnGVcQa^>QOILc)e6;eNTI>os=eaJ{*^DE+~jc zS}TYeOykDmJ=6O%>m`i*>&pO_S;qMySJIyP=}4E&J%#1zju$RpVAkZbEl+p%?ZP^C z*$$2b4t%a(e+%>a>d_f_<JjxI#J1x;=hPd1zFPx=6T$;;X1TD*2(edZ3f46zaAoW>L53vS_J*N8TMB|n+;LD| zC=GkQPpyDY#Am4l49chDv*gojhRj_?63&&8#doW`INATAo(qY#{q}%nf@eTIXmtU< zdB<7YWfyCmBs|c)cK>1)v&M#!yNj#4d$~pVfDWQc_ke1?fw{T1Nce_b`v|Vp5ig(H zJvRD^+ps46^hLX;=e2!2e;w9y1D@!D$c@Jc&%%%IL=+xzw55&2?darw=9g~>P z9>?Kdc$r?6c$m%x2S$sdpPl>GQZ{rC9mPS63*qjCVa?OIBj!fW zm|g?>CVfGXNjOfcyqImXR_(tXS(F{FcoNzKvG5R$IgGaxC@)i(e+$ME}vPVIhd|mx2IIE+f zM?9opQHIVgBWu)^A|RzXw!^??S!x)SZOwZaJkGjc<_}2l^eSBm!eAJG9T>EC6I_sy z?bxzDIAn&K5*mX)$RQzDA?s)-no-XF(g*yl4%+GBf`##bDXJ==AQk*xmnatI;SsLp zP9XTHq5mmS=iWu~9ES>b%Q=1aMa|ya^vj$@qz9S!ih{T8_PD%Sf_QrNKwgrXw9ldm zHRVR98*{C?_XNpJn{abA!oix_mowRMu^2lV-LPi;0+?-F(>^5#OHX-fPED zCu^l7u3E%STI}c4{J2!)9SUlGP_@!d?5W^QJXOI-Ea`hFMKjR7TluLvzC-ozCPn1`Tpy z!vlv@_Z58ILX6>nDjTp-1LlFMx~-%GA`aJvG$?8*Ihn;mH37eK**rmOEwqegf-Ccx zrIX4;{c~RK>XuTXxYo5kMiWMy)!IC{*DHG@E$hx?RwP@+wuad(P1{@%tRkyJRqD)3 zMHHHZ4boqDn>-=DgR5VlhQTpfVy182Gk;A_S8A1-;U1RR>+$62>(MUx@Nox$vTjHq z%QR=j!6Gdyb5wu7y(YUktwMuW5<@jl?m4cv4BODiT5o8qVdC0MBqGr@-YBIwnpZAY znX9(_uQjP}JJ=!~Ve9#5I~rUnN|P_3D$LqZcvBnywYhjlMSFHm`;u9GPla{5QD7(7*6Tb3Svr8;(nuAd81q$*uq6HC_&~je*Ca7hP4sJp0av{M8480wF zxASi7Qv+~@2U%Nu1Ud;s-G4CTVWIPyx!sg&8ZG0Wq zG_}i3C(6_1>q3w!EH7$Kwq8uBp2F2N7}l65mk1p*9v0&+;th=_E-W)E;w}P(j⁢ zv5o9#E7!G0XmdzfsS{efPNi`1b44~SZ4Z8fuX!I}#8g+(wxzQwUT#Xb2(tbY1+EUhGKoT@KEU9Ktl>_0 z%bjDJg;#*gtJZv!-Zs`?^}v5eKmnbjqlvnSzE@_SP|LG_PJ6CYU+6zY6>92%E+ z=j@TZf-iW4(%U{lnYxQA;7Q!b;^brF8n0D>)`q5>|WDDXLrqYU_tKN2>=#@~OE7grMnNh?UOz-O~6 z6%rHy{#h9K0AT+lDC7q4{hw^|q6*Ry;;L%Q@)Ga}$60_q%D)rv(CtS$CQbpq9|y1e zRSrN4;$Jyl{m5bZw`$8TGvb}(LpY{-cQ)fcyJv7l3S52TLXVDsphtv&aPuDk1OzCA z4A^QtC(!11`IsNx_HnSy?>EKpHJWT^wmS~hc^p^zIIh@9f6U@I2 zC=Mve{j2^)mS#U$e{@Q?SO6%LDsXz@SY+=cK_QMmXBIU)j!$ajc-zLx3V60EXJ!qC zi<%2x8Q24YN+&8U@CIlN zrZkcT9yh%LrlGS9`G)KdP(@9Eo-AQz@8GEFWcb7U=a0H^ZVbLmz{+&M7W(nXJ4sN8 zJLR7eeK(K8`2-}j(T7JsO`L!+CvbueT%izanm-^A1Dn{`1Nw`9P?cq;7no+XfC`K(GO9?O^5zNIt4M+M8LM0=7Gz8UA@Z0N+lg+cX)NfazRu z5D)~HA^(u%w^cz+@2@_#S|u>GpB+j4KzQ^&Wcl9f z&hG#bCA(Yk0D&t&aJE^xME^&E-&xGHhXn%}psEIj641H+Nl-}boj;)Zt*t(4wZ5DN z@GXF$bL=&pBq-#vkTkh>7hl%K5|3 z{`Vn9b$iR-SoGENp}bn4;fR3>9sA%X2@1L3aE9yTra;Wb#_`xWwLSLdfu+PAu+o3| zGVnpzPr=ch{uuoHjtw7+_!L_2;knQ!DuDl0R`|%jr+}jFzXtrHIKc323?JO{l&;VF z*L1+}JU7%QJOg|5|Tc|D8fN zJORAg=_vsy{ak|o);@)Yh8Lkcg@$FG3k@ep36BRa^>~UmnRPziS>Z=`Jb2x*Q#`%A zU*i3&Vg?TluO@X0O;r2Jl6LKLUOVhSqg1*qOt^|8*c7 zo(298@+r$k_wQNGHv{|$tW(T8L+4_`FQ{kEW5Jgg{yf7ey4ss_(SNKfz(N9lx&a;< je(UuV8hP?p&}TPdm1I$XmG#(RzlD&B2izSj9sl%y5~4qc diff --git a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/gradle/wrapper/gradle-wrapper.properties b/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index ac72c34e8ac..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,7 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip -networkTimeout=10000 -validateDistributionUrl=true -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/gradlew b/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/gradlew deleted file mode 100755 index 0adc8e1a532..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/gradlew +++ /dev/null @@ -1,249 +0,0 @@ -#!/bin/sh - -# -# Copyright © 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -# This is normally unused -# shellcheck disable=SC2034 -APP_BASE_NAME=${0##*/} -# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - if ! command -v java >/dev/null 2>&1 - then - die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/gradlew.bat b/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/gradlew.bat deleted file mode 100644 index 93e3f59f135..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/gradlew.bat +++ /dev/null @@ -1,92 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/source_archive.expected b/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/source_archive.expected new file mode 100644 index 00000000000..1ee055eeb02 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/source_archive.expected @@ -0,0 +1,7 @@ +.gradle/8.3/dependencies-accessors/gc.properties +.gradle/8.3/gc.properties +.gradle/buildOutputCleanup/cache.properties +.gradle/vcs-1/gc.properties +gradle/wrapper/gradle-wrapper.properties +src/main/java/com/fractestexample/Test.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/test.expected b/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/test.expected deleted file mode 100644 index 05792cb19fc..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/test.expected +++ /dev/null @@ -1 +0,0 @@ -| src/main/java/com/fractestexample/Test.java:0:0:0:0 | Test | diff --git a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/test.py b/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/test.py index ac3b64436ed..970c78f97ab 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/test.py +++ b/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/test.py @@ -1,40 +1,7 @@ -from create_database_utils import * -from diagnostics_test_utils import * -from buildless_test_utils import * -import mitm_proxy -import os -import shutil -import subprocess -import sys - -shutil.rmtree('certs', ignore_errors=True) -os.mkdir('certs') - -ca_cert_file = 'certs/ca-cert.pem' -ca_key_file = 'certs/ca-key.pem' -mitm_proxy.generateCA(ca_cert_file, ca_key_file) -with open(ca_cert_file, 'rb') as f: - cert_pem = f.read().decode('ascii') - -# This starts an HTTP proxy server on http://localhost:9430 -environment = os.environ.copy() -environment["PROXY_USER"] = "proxy" -environment["PROXY_PASSWORD"] = "password" - -proxy_server_process = subprocess.Popen( - [sys.executable, mitm_proxy.__file__, "9430", "certs/ca-cert.pem", "certs/ca-key.pem"], env=environment) - -try: - run_codeql_database_create([], lang="java", extra_env={ - "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true", - "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true", - "CODEQL_PROXY_HOST": "localhost", - "CODEQL_PROXY_PORT": "9430", - "CODEQL_PROXY_USER": "proxy", - "CODEQL_PROXY_PASSWORD": "password", - "CODEQL_PROXY_CA_CERTIFICATE": cert_pem - }) -finally: - proxy_server_process.kill() -check_diagnostics() -check_buildless_fetches() +def test(codeql, java, codeql_mitm_proxy, gradle_8_3): + codeql.database.create( + _env={ + "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true", + "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true", + } + ) diff --git a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/test.ql b/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/test.ql deleted file mode 100644 index 8317a5a022f..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-proxy-gradle/test.ql +++ /dev/null @@ -1,5 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f diff --git a/java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/source_archive.expected b/java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/source_archive.expected new file mode 100644 index 00000000000..cdb0dca9421 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/source_archive.expected @@ -0,0 +1,8 @@ +pom.xml +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/page.xml +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +test-db/log/ext/javac.properties +test-db/working/settings.xml diff --git a/java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/test.expected b/java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/test.expected deleted file mode 100644 index 9ab4eed832b..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/test.expected +++ /dev/null @@ -1,11 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| pom.xml:0:0:0:0 | pom.xml | -| src/main/resources/page.xml:0:0:0:0 | src/main/resources/page.xml | -| src/main/resources/struts.xml:0:0:0:0 | src/main/resources/struts.xml | -| test-db/working/settings.xml:0:0:0:0 | test-db/working/settings.xml | -propertiesFiles -| src/main/resources/my-app.properties:0:0:0:0 | src/main/resources/my-app.properties | -| test-db/log/ext/javac.properties:0:0:0:0 | test-db/log/ext/javac.properties | diff --git a/java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/test.py b/java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/test.py index 648957a9920..c8919d321fa 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/test.py +++ b/java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/test.py @@ -1,40 +1,7 @@ -from create_database_utils import * -from diagnostics_test_utils import * -from buildless_test_utils import * -import mitm_proxy -import os -import shutil -import subprocess -import sys - -shutil.rmtree('certs', ignore_errors=True) -os.mkdir('certs') - -ca_cert_file = 'certs/ca-cert.pem' -ca_key_file = 'certs/ca-key.pem' -mitm_proxy.generateCA(ca_cert_file, ca_key_file) -with open(ca_cert_file, 'rb') as f: - cert_pem = f.read().decode('ascii') - -# This starts an HTTP proxy server on http://localhost:9431 -environment = os.environ.copy() -environment["PROXY_USER"] = "proxy" -environment["PROXY_PASSWORD"] = "password" - -proxy_server_process = subprocess.Popen( - [sys.executable, mitm_proxy.__file__, "9431", "certs/ca-cert.pem", "certs/ca-key.pem"], env=environment) - -try: - run_codeql_database_create([], lang="java", extra_env={ - "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true", - "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true", - "CODEQL_PROXY_HOST": "localhost", - "CODEQL_PROXY_PORT": "9431", - "CODEQL_PROXY_USER": "proxy", - "CODEQL_PROXY_PASSWORD": "password", - "CODEQL_PROXY_CA_CERTIFICATE": cert_pem - }) -finally: - proxy_server_process.kill() -check_diagnostics() -check_buildless_fetches() +def test(codeql, java, codeql_mitm_proxy): + codeql.database.create( + _env={ + "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true", + "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true", + } + ) diff --git a/java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/test.ql b/java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/test.ql deleted file mode 100644 index 25cd26fdd14..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-proxy-maven/test.ql +++ /dev/null @@ -1,9 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } - -query predicate propertiesFiles(File f) { f.getExtension() = "properties" } diff --git a/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/force_sequential_test_execution deleted file mode 100644 index b0e2500b259..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/force_sequential_test_execution +++ /dev/null @@ -1,3 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. diff --git a/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/source_archive.expected b/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/source_archive.expected new file mode 100644 index 00000000000..d0e6787e268 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/source_archive.expected @@ -0,0 +1,29 @@ +gradle-sample/.gradle/6.6.1/gc.properties +gradle-sample/.gradle/buildOutputCleanup/cache.properties +gradle-sample/.gradle/configuration-cache/gc.properties +gradle-sample/.gradle/vcs-1/gc.properties +gradle-sample/gradle/verification-metadata.xml +gradle-sample/gradle/wrapper/gradle-wrapper.properties +gradle-sample/src/main/java/com/example/App.java +gradle-sample/src/test/java/com/example/AppTest.java +gradle-sample2/.gradle/6.6.1/gc.properties +gradle-sample2/.gradle/buildOutputCleanup/cache.properties +gradle-sample2/.gradle/configuration-cache/gc.properties +gradle-sample2/.gradle/vcs-1/gc.properties +gradle-sample2/gradle/verification-metadata.xml +gradle-sample2/gradle/wrapper/gradle-wrapper.properties +gradle-sample2/src/main/java/com/example/App2.java +gradle-sample2/src/test/java/com/example/AppTest2.java +maven-project-1/pom.xml +maven-project-1/src/main/java/com/example/App3.java +maven-project-1/src/main/resources/my-app.properties +maven-project-1/src/main/resources/page.xml +maven-project-1/src/main/resources/struts.xml +maven-project-1/src/test/java/com/example/AppTest3.java +maven-project-2/pom.xml +maven-project-2/src/main/java/com/example/App4.java +maven-project-2/src/main/resources/my-app.properties +maven-project-2/src/main/resources/page.xml +maven-project-2/src/main/resources/struts.xml +maven-project-2/src/test/java/com/example/AppTest4.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/test.expected b/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/test.expected deleted file mode 100644 index fe848a3dbf2..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/test.expected +++ /dev/null @@ -1,8 +0,0 @@ -| gradle-sample2/src/main/java/com/example/App2.java:0:0:0:0 | App2 | -| gradle-sample2/src/test/java/com/example/AppTest2.java:0:0:0:0 | AppTest2 | -| gradle-sample/src/main/java/com/example/App.java:0:0:0:0 | App | -| gradle-sample/src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -| maven-project-1/src/main/java/com/example/App3.java:0:0:0:0 | App3 | -| maven-project-1/src/test/java/com/example/AppTest3.java:0:0:0:0 | AppTest3 | -| maven-project-2/src/main/java/com/example/App4.java:0:0:0:0 | App4 | -| maven-project-2/src/test/java/com/example/AppTest4.java:0:0:0:0 | AppTest4 | diff --git a/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/test.py b/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/test.py index 6971aa508db..1b7cae27c64 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/test.py +++ b/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/test.py @@ -1,14 +1,9 @@ -from create_database_utils import * -from diagnostics_test_utils import * -from buildless_test_utils import * -from toolchains_test_utils import * - -#The version of gradle used doesn't work on java 17 -try_use_java11() - -toolchains_file = actions_expose_all_toolchains() - -run_codeql_database_create([], lang="java", extra_env={"CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true", "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true", "LGTM_INDEX_MAVEN_TOOLCHAINS_FILE": toolchains_file}) - -check_diagnostics() -check_buildless_fetches() +def test(codeql, use_java_11, java, actions_toolchains_file): + # The version of gradle used doesn't work on java 17 + codeql.database.create( + _env={ + "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true", + "CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true", + "LGTM_INDEX_MAVEN_TOOLCHAINS_FILE": str(actions_toolchains_file), + } + ) diff --git a/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/test.ql b/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/test.ql deleted file mode 100644 index 8317a5a022f..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-sibling-projects/test.ql +++ /dev/null @@ -1,5 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f diff --git a/java/ql/integration-tests/all-platforms/java/buildless-snapshot-repository/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/buildless-snapshot-repository/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless-snapshot-repository/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/buildless-snapshot-repository/test.py b/java/ql/integration-tests/all-platforms/java/buildless-snapshot-repository/test.py index cc9d91c7792..e5e38d725ae 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless-snapshot-repository/test.py +++ b/java/ql/integration-tests/all-platforms/java/buildless-snapshot-repository/test.py @@ -1,15 +1,16 @@ +import subprocess import sys -from create_database_utils import * -from buildless_test_utils import * -import subprocess -# This serves the "repo" directory on http://localhost:9427 -repo_server_process = subprocess.Popen(["python3", "-m", "http.server", "9427"], cwd = "repo") - -try: - run_codeql_database_create([], lang="java", extra_args=["--extractor-option=buildless=true"], extra_env={"CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true"}) -finally: - repo_server_process.kill() - -check_buildless_fetches() +def test(codeql, java): + # This serves the "repo" directory on http://localhost:9427 + repo_server_process = subprocess.Popen( + [sys.executable, "-m", "http.server", "9427"], cwd="repo" + ) + try: + codeql.database.create( + extractor_option="buildless=true", + _env={"CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_CLASSPATH_FROM_BUILD_FILES": "true"}, + ) + finally: + repo_server_process.kill() diff --git a/java/ql/integration-tests/all-platforms/java/buildless/source_archive.expected b/java/ql/integration-tests/all-platforms/java/buildless/source_archive.expected new file mode 100644 index 00000000000..b3923b0fd96 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/buildless/source_archive.expected @@ -0,0 +1,6 @@ +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/page.xml +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/buildless/test.expected b/java/ql/integration-tests/all-platforms/java/buildless/test.expected deleted file mode 100644 index 0213d624f7b..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless/test.expected +++ /dev/null @@ -1,9 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| src/main/resources/page.xml:0:0:0:0 | src/main/resources/page.xml | -| src/main/resources/struts.xml:0:0:0:0 | src/main/resources/struts.xml | -propertiesFiles -| src/main/resources/my-app.properties:0:0:0:0 | src/main/resources/my-app.properties | -| test-db/log/ext/javac.properties:0:0:0:0 | test-db/log/ext/javac.properties | diff --git a/java/ql/integration-tests/all-platforms/java/buildless/test.py b/java/ql/integration-tests/all-platforms/java/buildless/test.py index 747dd6a82ad..834b1132cf1 100644 --- a/java/ql/integration-tests/all-platforms/java/buildless/test.py +++ b/java/ql/integration-tests/all-platforms/java/buildless/test.py @@ -1,8 +1,2 @@ -import sys - -from create_database_utils import * -from diagnostics_test_utils import * - -run_codeql_database_create([], lang="java", extra_env={"CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true"}) - -check_diagnostics() +def test(codeql, java): + codeql.database.create(_env={"CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS": "true"}) diff --git a/java/ql/integration-tests/all-platforms/java/buildless/test.ql b/java/ql/integration-tests/all-platforms/java/buildless/test.ql deleted file mode 100644 index 25cd26fdd14..00000000000 --- a/java/ql/integration-tests/all-platforms/java/buildless/test.ql +++ /dev/null @@ -1,9 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } - -query predicate propertiesFiles(File f) { f.getExtension() = "properties" } diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/.gitattributes b/java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/.gitattributes deleted file mode 100644 index 00a51aff5e5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/.gitattributes +++ /dev/null @@ -1,6 +0,0 @@ -# -# https://help.github.com/articles/dealing-with-line-endings/ -# -# These are explicitly windows files and should use crlf -*.bat text eol=crlf - diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/force_sequential_test_execution deleted file mode 100644 index 4947fd6fe51..00000000000 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/force_sequential_test_execution +++ /dev/null @@ -1,4 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. -# Additionally, Android SDK on-demand downloading can fail when multiple tests try to download the same SDK in parallel. diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/gradle/wrapper/gradle-wrapper.jar b/java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 249e5832f090a2944b7473328c07c9755baa3196..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60756 zcmb5WV{~QRw(p$^Dz@00IL3?^hro$gg*4VI_WAaTyVM5Foj~O|-84 z$;06hMwt*rV;^8iB z1~&0XWpYJmG?Ts^K9PC62H*`G}xom%S%yq|xvG~FIfP=9*f zZoDRJBm*Y0aId=qJ?7dyb)6)JGWGwe)MHeNSzhi)Ko6J<-m@v=a%NsP537lHe0R* z`If4$aaBA#S=w!2z&m>{lpTy^Lm^mg*3?M&7HFv}7K6x*cukLIGX;bQG|QWdn{%_6 zHnwBKr84#B7Z+AnBXa16a?or^R?+>$4`}{*a_>IhbjvyTtWkHw)|ay)ahWUd-qq$~ zMbh6roVsj;_qnC-R{G+Cy6bApVOinSU-;(DxUEl!i2)1EeQ9`hrfqj(nKI7?Z>Xur zoJz-a`PxkYit1HEbv|jy%~DO^13J-ut986EEG=66S}D3!L}Efp;Bez~7tNq{QsUMm zh9~(HYg1pA*=37C0}n4g&bFbQ+?-h-W}onYeE{q;cIy%eZK9wZjSwGvT+&Cgv z?~{9p(;bY_1+k|wkt_|N!@J~aoY@|U_RGoWX<;p{Nu*D*&_phw`8jYkMNpRTWx1H* z>J-Mi_!`M468#5Aix$$u1M@rJEIOc?k^QBc?T(#=n&*5eS#u*Y)?L8Ha$9wRWdH^3D4|Ps)Y?m0q~SiKiSfEkJ!=^`lJ(%W3o|CZ zSrZL-Xxc{OrmsQD&s~zPfNJOpSZUl%V8tdG%ei}lQkM+z@-4etFPR>GOH9+Y_F<3=~SXln9Kb-o~f>2a6Xz@AS3cn^;c_>lUwlK(n>z?A>NbC z`Ud8^aQy>wy=$)w;JZzA)_*Y$Z5hU=KAG&htLw1Uh00yE!|Nu{EZkch zY9O6x7Y??>!7pUNME*d!=R#s)ghr|R#41l!c?~=3CS8&zr6*aA7n9*)*PWBV2w+&I zpW1-9fr3j{VTcls1>ua}F*bbju_Xq%^v;-W~paSqlf zolj*dt`BBjHI)H9{zrkBo=B%>8}4jeBO~kWqO!~Thi!I1H(in=n^fS%nuL=X2+s!p}HfTU#NBGiwEBF^^tKU zbhhv+0dE-sbK$>J#t-J!B$TMgN@Wh5wTtK2BG}4BGfsZOoRUS#G8Cxv|6EI*n&Xxq zt{&OxCC+BNqz$9b0WM7_PyBJEVObHFh%%`~!@MNZlo*oXDCwDcFwT~Rls!aApL<)^ zbBftGKKBRhB!{?fX@l2_y~%ygNFfF(XJzHh#?`WlSL{1lKT*gJM zs>bd^H9NCxqxn(IOky5k-wALFowQr(gw%|`0991u#9jXQh?4l|l>pd6a&rx|v=fPJ z1mutj{YzpJ_gsClbWFk(G}bSlFi-6@mwoQh-XeD*j@~huW4(8ub%^I|azA)h2t#yG z7e_V_<4jlM3D(I+qX}yEtqj)cpzN*oCdYHa!nm%0t^wHm)EmFP*|FMw!tb@&`G-u~ zK)=Sf6z+BiTAI}}i{*_Ac$ffr*Wrv$F7_0gJkjx;@)XjYSh`RjAgrCck`x!zP>Ifu z&%he4P|S)H*(9oB4uvH67^0}I-_ye_!w)u3v2+EY>eD3#8QR24<;7?*hj8k~rS)~7 zSXs5ww)T(0eHSp$hEIBnW|Iun<_i`}VE0Nc$|-R}wlSIs5pV{g_Dar(Zz<4X3`W?K z6&CAIl4U(Qk-tTcK{|zYF6QG5ArrEB!;5s?tW7 zrE3hcFY&k)+)e{+YOJ0X2uDE_hd2{|m_dC}kgEKqiE9Q^A-+>2UonB+L@v3$9?AYw zVQv?X*pK;X4Ovc6Ev5Gbg{{Eu*7{N3#0@9oMI~}KnObQE#Y{&3mM4`w%wN+xrKYgD zB-ay0Q}m{QI;iY`s1Z^NqIkjrTlf`B)B#MajZ#9u41oRBC1oM1vq0i|F59> z#StM@bHt|#`2)cpl_rWB($DNJ3Lap}QM-+A$3pe}NyP(@+i1>o^fe-oxX#Bt`mcQc zb?pD4W%#ep|3%CHAYnr*^M6Czg>~L4?l16H1OozM{P*en298b+`i4$|w$|4AHbzqB zHpYUsHZET$Z0ztC;U+0*+amF!@PI%^oUIZy{`L{%O^i{Xk}X0&nl)n~tVEpcAJSJ} zverw15zP1P-O8h9nd!&hj$zuwjg?DoxYIw{jWM zW5_pj+wFy8Tsa9g<7Qa21WaV&;ejoYflRKcz?#fSH_)@*QVlN2l4(QNk| z4aPnv&mrS&0|6NHq05XQw$J^RR9T{3SOcMKCXIR1iSf+xJ0E_Wv?jEc*I#ZPzyJN2 zUG0UOXHl+PikM*&g$U@g+KbG-RY>uaIl&DEtw_Q=FYq?etc!;hEC_}UX{eyh%dw2V zTTSlap&5>PY{6I#(6`j-9`D&I#|YPP8a;(sOzgeKDWsLa!i-$frD>zr-oid!Hf&yS z!i^cr&7tN}OOGmX2)`8k?Tn!!4=tz~3hCTq_9CdiV!NIblUDxHh(FJ$zs)B2(t5@u z-`^RA1ShrLCkg0)OhfoM;4Z{&oZmAec$qV@ zGQ(7(!CBk<5;Ar%DLJ0p0!ResC#U<+3i<|vib1?{5gCebG7$F7URKZXuX-2WgF>YJ^i zMhHDBsh9PDU8dlZ$yJKtc6JA#y!y$57%sE>4Nt+wF1lfNIWyA`=hF=9Gj%sRwi@vd z%2eVV3y&dvAgyuJ=eNJR+*080dbO_t@BFJO<@&#yqTK&+xc|FRR;p;KVk@J3$S{p` zGaMj6isho#%m)?pOG^G0mzOAw0z?!AEMsv=0T>WWcE>??WS=fII$t$(^PDPMU(P>o z_*0s^W#|x)%tx8jIgZY~A2yG;US0m2ZOQt6yJqW@XNY_>_R7(Nxb8Ged6BdYW6{prd!|zuX$@Q2o6Ona8zzYC1u!+2!Y$Jc9a;wy+pXt}o6~Bu1oF1c zp7Y|SBTNi@=I(K%A60PMjM#sfH$y*c{xUgeSpi#HB`?|`!Tb&-qJ3;vxS!TIzuTZs-&%#bAkAyw9m4PJgvey zM5?up*b}eDEY+#@tKec)-c(#QF0P?MRlD1+7%Yk*jW;)`f;0a-ZJ6CQA?E%>i2Dt7T9?s|9ZF|KP4;CNWvaVKZ+Qeut;Jith_y{v*Ny6Co6!8MZx;Wgo z=qAi%&S;8J{iyD&>3CLCQdTX*$+Rx1AwA*D_J^0>suTgBMBb=*hefV+Ars#mmr+YsI3#!F@Xc1t4F-gB@6aoyT+5O(qMz*zG<9Qq*f0w^V!03rpr*-WLH}; zfM{xSPJeu6D(%8HU%0GEa%waFHE$G?FH^kMS-&I3)ycx|iv{T6Wx}9$$D&6{%1N_8 z_CLw)_9+O4&u94##vI9b-HHm_95m)fa??q07`DniVjAy`t7;)4NpeyAY(aAk(+T_O z1om+b5K2g_B&b2DCTK<>SE$Ode1DopAi)xaJjU>**AJK3hZrnhEQ9E`2=|HHe<^tv z63e(bn#fMWuz>4erc47}!J>U58%<&N<6AOAewyzNTqi7hJc|X{782&cM zHZYclNbBwU6673=!ClmxMfkC$(CykGR@10F!zN1Se83LR&a~$Ht&>~43OX22mt7tcZUpa;9@q}KDX3O&Ugp6< zLZLfIMO5;pTee1vNyVC$FGxzK2f>0Z-6hM82zKg44nWo|n}$Zk6&;5ry3`(JFEX$q zK&KivAe${e^5ZGc3a9hOt|!UOE&OocpVryE$Y4sPcs4rJ>>Kbi2_subQ9($2VN(3o zb~tEzMsHaBmBtaHAyES+d3A(qURgiskSSwUc9CfJ@99&MKp2sooSYZu+-0t0+L*!I zYagjOlPgx|lep9tiU%ts&McF6b0VE57%E0Ho%2oi?=Ks+5%aj#au^OBwNwhec zta6QAeQI^V!dF1C)>RHAmB`HnxyqWx?td@4sd15zPd*Fc9hpDXP23kbBenBxGeD$k z;%0VBQEJ-C)&dTAw_yW@k0u?IUk*NrkJ)(XEeI z9Y>6Vel>#s_v@=@0<{4A{pl=9cQ&Iah0iD0H`q)7NeCIRz8zx;! z^OO;1+IqoQNak&pV`qKW+K0^Hqp!~gSohcyS)?^P`JNZXw@gc6{A3OLZ?@1Uc^I2v z+X!^R*HCm3{7JPq{8*Tn>5;B|X7n4QQ0Bs79uTU%nbqOJh`nX(BVj!#f;#J+WZxx4 z_yM&1Y`2XzhfqkIMO7tB3raJKQS+H5F%o83bM+hxbQ zeeJm=Dvix$2j|b4?mDacb67v-1^lTp${z=jc1=j~QD>7c*@+1?py>%Kj%Ejp7Y-!? z8iYRUlGVrQPandAaxFfks53@2EC#0)%mrnmGRn&>=$H$S8q|kE_iWko4`^vCS2aWg z#!`RHUGyOt*k?bBYu3*j3u0gB#v(3tsije zgIuNNWNtrOkx@Pzs;A9un+2LX!zw+p3_NX^Sh09HZAf>m8l@O*rXy_82aWT$Q>iyy zqO7Of)D=wcSn!0+467&!Hl))eff=$aneB?R!YykdKW@k^_uR!+Q1tR)+IJb`-6=jj zymzA>Sv4>Z&g&WWu#|~GcP7qP&m*w-S$)7Xr;(duqCTe7p8H3k5>Y-n8438+%^9~K z3r^LIT_K{i7DgEJjIocw_6d0!<;wKT`X;&vv+&msmhAAnIe!OTdybPctzcEzBy88_ zWO{6i4YT%e4^WQZB)KHCvA(0tS zHu_Bg+6Ko%a9~$EjRB90`P(2~6uI@SFibxct{H#o&y40MdiXblu@VFXbhz>Nko;7R z70Ntmm-FePqhb%9gL+7U8@(ch|JfH5Fm)5${8|`Lef>LttM_iww6LW2X61ldBmG0z zax3y)njFe>j*T{i0s8D4=L>X^j0)({R5lMGVS#7(2C9@AxL&C-lZQx~czI7Iv+{%1 z2hEG>RzX4S8x3v#9sgGAnPzptM)g&LB}@%E>fy0vGSa(&q0ch|=ncKjNrK z`jA~jObJhrJ^ri|-)J^HUyeZXz~XkBp$VhcTEcTdc#a2EUOGVX?@mYx#Vy*!qO$Jv zQ4rgOJ~M*o-_Wptam=~krnmG*p^j!JAqoQ%+YsDFW7Cc9M%YPiBOrVcD^RY>m9Pd< zu}#9M?K{+;UIO!D9qOpq9yxUquQRmQNMo0pT`@$pVt=rMvyX)ph(-CCJLvUJy71DI zBk7oc7)-%ngdj~s@76Yse3L^gV0 z2==qfp&Q~L(+%RHP0n}+xH#k(hPRx(!AdBM$JCfJ5*C=K3ts>P?@@SZ_+{U2qFZb>4kZ{Go37{# zSQc+-dq*a-Vy4?taS&{Ht|MLRiS)Sn14JOONyXqPNnpq&2y~)6wEG0oNy>qvod$FF z`9o&?&6uZjhZ4_*5qWVrEfu(>_n2Xi2{@Gz9MZ8!YmjYvIMasE9yVQL10NBrTCczq zcTY1q^PF2l!Eraguf{+PtHV3=2A?Cu&NN&a8V(y;q(^_mFc6)%Yfn&X&~Pq zU1?qCj^LF(EQB1F`8NxNjyV%fde}dEa(Hx=r7$~ts2dzDwyi6ByBAIx$NllB4%K=O z$AHz1<2bTUb>(MCVPpK(E9wlLElo(aSd(Os)^Raum`d(g9Vd_+Bf&V;l=@mM=cC>) z)9b0enb)u_7V!!E_bl>u5nf&Rl|2r=2F3rHMdb7y9E}}F82^$Rf+P8%dKnOeKh1vs zhH^P*4Ydr^$)$h@4KVzxrHyy#cKmWEa9P5DJ|- zG;!Qi35Tp7XNj60=$!S6U#!(${6hyh7d4q=pF{`0t|N^|L^d8pD{O9@tF~W;#Je*P z&ah%W!KOIN;SyAEhAeTafJ4uEL`(RtnovM+cb(O#>xQnk?dzAjG^~4$dFn^<@-Na3 z395;wBnS{t*H;Jef2eE!2}u5Ns{AHj>WYZDgQJt8v%x?9{MXqJsGP|l%OiZqQ1aB! z%E=*Ig`(!tHh>}4_z5IMpg{49UvD*Pp9!pxt_gdAW%sIf3k6CTycOT1McPl=_#0?8 zVjz8Hj*Vy9c5-krd-{BQ{6Xy|P$6LJvMuX$* zA+@I_66_ET5l2&gk9n4$1M3LN8(yEViRx&mtd#LD}AqEs?RW=xKC(OCWH;~>(X6h!uDxXIPH06xh z*`F4cVlbDP`A)-fzf>MuScYsmq&1LUMGaQ3bRm6i7OsJ|%uhTDT zlvZA1M}nz*SalJWNT|`dBm1$xlaA>CCiQ zK`xD-RuEn>-`Z?M{1%@wewf#8?F|(@1e0+T4>nmlSRrNK5f)BJ2H*$q(H>zGD0>eL zQ!tl_Wk)k*e6v^m*{~A;@6+JGeWU-q9>?+L_#UNT%G?4&BnOgvm9@o7l?ov~XL+et zbGT)|G7)KAeqb=wHSPk+J1bdg7N3$vp(ekjI1D9V$G5Cj!=R2w=3*4!z*J-r-cyeb zd(i2KmX!|Lhey!snRw z?#$Gu%S^SQEKt&kep)up#j&9}e+3=JJBS(s>MH+|=R(`8xK{mmndWo_r`-w1#SeRD&YtAJ#GiVI*TkQZ}&aq<+bU2+coU3!jCI6E+Ad_xFW*ghnZ$q zAoF*i&3n1j#?B8x;kjSJD${1jdRB;)R*)Ao!9bd|C7{;iqDo|T&>KSh6*hCD!rwv= zyK#F@2+cv3=|S1Kef(E6Niv8kyLVLX&e=U;{0x{$tDfShqkjUME>f8d(5nzSkY6@! z^-0>DM)wa&%m#UF1F?zR`8Y3X#tA!*7Q$P3lZJ%*KNlrk_uaPkxw~ zxZ1qlE;Zo;nb@!SMazSjM>;34ROOoygo%SF);LL>rRonWwR>bmSd1XD^~sGSu$Gg# zFZ`|yKU0%!v07dz^v(tY%;So(e`o{ZYTX`hm;@b0%8|H>VW`*cr8R%3n|ehw2`(9B+V72`>SY}9^8oh$En80mZK9T4abVG*to;E z1_S6bgDOW?!Oy1LwYy=w3q~KKdbNtyH#d24PFjX)KYMY93{3-mPP-H>@M-_>N~DDu zENh~reh?JBAK=TFN-SfDfT^=+{w4ea2KNWXq2Y<;?(gf(FgVp8Zp-oEjKzB%2Iqj;48GmY3h=bcdYJ}~&4tS`Q1sb=^emaW$IC$|R+r-8V- zf0$gGE(CS_n4s>oicVk)MfvVg#I>iDvf~Ov8bk}sSxluG!6#^Z_zhB&U^`eIi1@j( z^CK$z^stBHtaDDHxn+R;3u+>Lil^}fj?7eaGB z&5nl^STqcaBxI@v>%zG|j))G(rVa4aY=B@^2{TFkW~YP!8!9TG#(-nOf^^X-%m9{Z zCC?iC`G-^RcBSCuk=Z`(FaUUe?hf3{0C>>$?Vs z`2Uud9M+T&KB6o4o9kvdi^Q=Bw!asPdxbe#W-Oaa#_NP(qpyF@bVxv5D5))srkU#m zj_KA+#7sqDn*Ipf!F5Byco4HOSd!Ui$l94|IbW%Ny(s1>f4|Mv^#NfB31N~kya9!k zWCGL-$0ZQztBate^fd>R!hXY_N9ZjYp3V~4_V z#eB)Kjr8yW=+oG)BuNdZG?jaZlw+l_ma8aET(s+-x+=F-t#Qoiuu1i`^x8Sj>b^U} zs^z<()YMFP7CmjUC@M=&lA5W7t&cxTlzJAts*%PBDAPuqcV5o7HEnqjif_7xGt)F% zGx2b4w{@!tE)$p=l3&?Bf#`+!-RLOleeRk3 z7#pF|w@6_sBmn1nECqdunmG^}pr5(ZJQVvAt$6p3H(16~;vO>?sTE`Y+mq5YP&PBo zvq!7#W$Gewy`;%6o^!Dtjz~x)T}Bdk*BS#=EY=ODD&B=V6TD2z^hj1m5^d6s)D*wk zu$z~D7QuZ2b?5`p)E8e2_L38v3WE{V`bVk;6fl#o2`) z99JsWhh?$oVRn@$S#)uK&8DL8>An0&S<%V8hnGD7Z^;Y(%6;^9!7kDQ5bjR_V+~wp zfx4m3z6CWmmZ<8gDGUyg3>t8wgJ5NkkiEm^(sedCicP^&3D%}6LtIUq>mXCAt{9eF zNXL$kGcoUTf_Lhm`t;hD-SE)m=iBnxRU(NyL}f6~1uH)`K!hmYZjLI%H}AmEF5RZt z06$wn63GHnApHXZZJ}s^s)j9(BM6e*7IBK6Bq(!)d~zR#rbxK9NVIlgquoMq z=eGZ9NR!SEqP6=9UQg#@!rtbbSBUM#ynF);zKX+|!Zm}*{H z+j=d?aZ2!?@EL7C~%B?6ouCKLnO$uWn;Y6Xz zX8dSwj732u(o*U3F$F=7xwxm>E-B+SVZH;O-4XPuPkLSt_?S0)lb7EEg)Mglk0#eS z9@jl(OnH4juMxY+*r03VDfPx_IM!Lmc(5hOI;`?d37f>jPP$?9jQQIQU@i4vuG6MagEoJrQ=RD7xt@8E;c zeGV*+Pt+t$@pt!|McETOE$9k=_C!70uhwRS9X#b%ZK z%q(TIUXSS^F0`4Cx?Rk07C6wI4!UVPeI~-fxY6`YH$kABdOuiRtl73MqG|~AzZ@iL&^s?24iS;RK_pdlWkhcF z@Wv-Om(Aealfg)D^adlXh9Nvf~Uf@y;g3Y)i(YP zEXDnb1V}1pJT5ZWyw=1i+0fni9yINurD=EqH^ciOwLUGi)C%Da)tyt=zq2P7pV5-G zR7!oq28-Fgn5pW|nlu^b!S1Z#r7!Wtr{5J5PQ>pd+2P7RSD?>(U7-|Y z7ZQ5lhYIl_IF<9?T9^IPK<(Hp;l5bl5tF9>X-zG14_7PfsA>6<$~A338iYRT{a@r_ zuXBaT=`T5x3=s&3=RYx6NgG>No4?5KFBVjE(swfcivcIpPQFx5l+O;fiGsOrl5teR z_Cm+;PW}O0Dwe_(4Z@XZ)O0W-v2X><&L*<~*q3dg;bQW3g7)a#3KiQP>+qj|qo*Hk z?57>f2?f@`=Fj^nkDKeRkN2d$Z@2eNKpHo}ksj-$`QKb6n?*$^*%Fb3_Kbf1(*W9K>{L$mud2WHJ=j0^=g30Xhg8$#g^?36`p1fm;;1@0Lrx+8t`?vN0ZorM zSW?rhjCE8$C|@p^sXdx z|NOHHg+fL;HIlqyLp~SSdIF`TnSHehNCU9t89yr@)FY<~hu+X`tjg(aSVae$wDG*C zq$nY(Y494R)hD!i1|IIyP*&PD_c2FPgeY)&mX1qujB1VHPG9`yFQpLFVQ0>EKS@Bp zAfP5`C(sWGLI?AC{XEjLKR4FVNw(4+9b?kba95ukgR1H?w<8F7)G+6&(zUhIE5Ef% z=fFkL3QKA~M@h{nzjRq!Y_t!%U66#L8!(2-GgFxkD1=JRRqk=n%G(yHKn%^&$dW>; zSjAcjETMz1%205se$iH_)ZCpfg_LwvnsZQAUCS#^FExp8O4CrJb6>JquNV@qPq~3A zZ<6dOU#6|8+fcgiA#~MDmcpIEaUO02L5#T$HV0$EMD94HT_eXLZ2Zi&(! z&5E>%&|FZ`)CN10tM%tLSPD*~r#--K(H-CZqIOb99_;m|D5wdgJ<1iOJz@h2Zkq?} z%8_KXb&hf=2Wza(Wgc;3v3TN*;HTU*q2?#z&tLn_U0Nt!y>Oo>+2T)He6%XuP;fgn z-G!#h$Y2`9>Jtf}hbVrm6D70|ERzLAU>3zoWhJmjWfgM^))T+2u$~5>HF9jQDkrXR z=IzX36)V75PrFjkQ%TO+iqKGCQ-DDXbaE;C#}!-CoWQx&v*vHfyI>$HNRbpvm<`O( zlx9NBWD6_e&J%Ous4yp~s6)Ghni!I6)0W;9(9$y1wWu`$gs<$9Mcf$L*piP zPR0Av*2%ul`W;?-1_-5Zy0~}?`e@Y5A&0H!^ApyVTT}BiOm4GeFo$_oPlDEyeGBbh z1h3q&Dx~GmUS|3@4V36&$2uO8!Yp&^pD7J5&TN{?xphf*-js1fP?B|`>p_K>lh{ij zP(?H%e}AIP?_i^f&Li=FDSQ`2_NWxL+BB=nQr=$ zHojMlXNGauvvwPU>ZLq!`bX-5F4jBJ&So{kE5+ms9UEYD{66!|k~3vsP+mE}x!>%P za98bAU0!h0&ka4EoiDvBM#CP#dRNdXJcb*(%=<(g+M@<)DZ!@v1V>;54En?igcHR2 zhubQMq}VSOK)onqHfczM7YA@s=9*ow;k;8)&?J3@0JiGcP! zP#00KZ1t)GyZeRJ=f0^gc+58lc4Qh*S7RqPIC6GugG1gXe$LIQMRCo8cHf^qXgAa2 z`}t>u2Cq1CbSEpLr~E=c7~=Qkc9-vLE%(v9N*&HF`(d~(0`iukl5aQ9u4rUvc8%m) zr2GwZN4!s;{SB87lJB;veebPmqE}tSpT>+`t?<457Q9iV$th%i__Z1kOMAswFldD6 ztbOvO337S5o#ZZgN2G99_AVqPv!?Gmt3pzgD+Hp3QPQ`9qJ(g=kjvD+fUSS3upJn! zqoG7acIKEFRX~S}3|{EWT$kdz#zrDlJU(rPkxjws_iyLKU8+v|*oS_W*-guAb&Pj1 z35Z`3z<&Jb@2Mwz=KXucNYdY#SNO$tcVFr9KdKm|%^e-TXzs6M`PBper%ajkrIyUe zp$vVxVs9*>Vp4_1NC~Zg)WOCPmOxI1V34QlG4!aSFOH{QqSVq1^1)- z0P!Z?tT&E-ll(pwf0?=F=yOzik=@nh1Clxr9}Vij89z)ePDSCYAqw?lVI?v?+&*zH z)p$CScFI8rrwId~`}9YWPFu0cW1Sf@vRELs&cbntRU6QfPK-SO*mqu|u~}8AJ!Q$z znzu}50O=YbjwKCuSVBs6&CZR#0FTu)3{}qJJYX(>QPr4$RqWiwX3NT~;>cLn*_&1H zaKpIW)JVJ>b{uo2oq>oQt3y=zJjb%fU@wLqM{SyaC6x2snMx-}ivfU<1- znu1Lh;i$3Tf$Kh5Uk))G!D1UhE8pvx&nO~w^fG)BC&L!_hQk%^p`Kp@F{cz>80W&T ziOK=Sq3fdRu*V0=S53rcIfWFazI}Twj63CG(jOB;$*b`*#B9uEnBM`hDk*EwSRdwP8?5T?xGUKs=5N83XsR*)a4|ijz|c{4tIU+4j^A5C<#5 z*$c_d=5ml~%pGxw#?*q9N7aRwPux5EyqHVkdJO=5J>84!X6P>DS8PTTz>7C#FO?k#edkntG+fJk8ZMn?pmJSO@`x-QHq;7^h6GEXLXo1TCNhH z8ZDH{*NLAjo3WM`xeb=X{((uv3H(8&r8fJJg_uSs_%hOH%JDD?hu*2NvWGYD+j)&` zz#_1%O1wF^o5ryt?O0n;`lHbzp0wQ?rcbW(F1+h7_EZZ9{>rePvLAPVZ_R|n@;b$;UchU=0j<6k8G9QuQf@76oiE*4 zXOLQ&n3$NR#p4<5NJMVC*S);5x2)eRbaAM%VxWu9ohlT;pGEk7;002enCbQ>2r-us z3#bpXP9g|mE`65VrN`+3mC)M(eMj~~eOf)do<@l+fMiTR)XO}422*1SL{wyY(%oMpBgJagtiDf zz>O6(m;};>Hi=t8o{DVC@YigqS(Qh+ix3Rwa9aliH}a}IlOCW1@?%h_bRbq-W{KHF z%Vo?-j@{Xi@=~Lz5uZP27==UGE15|g^0gzD|3x)SCEXrx`*MP^FDLl%pOi~~Il;dc z^hrwp9sYeT7iZ)-ajKy@{a`kr0-5*_!XfBpXwEcFGJ;%kV$0Nx;apKrur zJN2J~CAv{Zjj%FolyurtW8RaFmpn&zKJWL>(0;;+q(%(Hx!GMW4AcfP0YJ*Vz!F4g z!ZhMyj$BdXL@MlF%KeInmPCt~9&A!;cRw)W!Hi@0DY(GD_f?jeV{=s=cJ6e}JktJw zQORnxxj3mBxfrH=x{`_^Z1ddDh}L#V7i}$njUFRVwOX?qOTKjfPMBO4y(WiU<)epb zvB9L=%jW#*SL|Nd_G?E*_h1^M-$PG6Pc_&QqF0O-FIOpa4)PAEPsyvB)GKasmBoEt z?_Q2~QCYGH+hW31x-B=@5_AN870vY#KB~3a*&{I=f);3Kv7q4Q7s)0)gVYx2#Iz9g(F2;=+Iy4 z6KI^8GJ6D@%tpS^8boU}zpi=+(5GfIR)35PzrbuXeL1Y1N%JK7PG|^2k3qIqHfX;G zQ}~JZ-UWx|60P5?d1e;AHx!_;#PG%d=^X(AR%i`l0jSpYOpXoKFW~7ip7|xvN;2^? zsYC9fanpO7rO=V7+KXqVc;Q5z%Bj})xHVrgoR04sA2 zl~DAwv=!(()DvH*=lyhIlU^hBkA0$e*7&fJpB0|oB7)rqGK#5##2T`@_I^|O2x4GO z;xh6ROcV<9>?e0)MI(y++$-ksV;G;Xe`lh76T#Htuia+(UrIXrf9?

    L(tZ$0BqX1>24?V$S+&kLZ`AodQ4_)P#Q3*4xg8}lMV-FLwC*cN$< zt65Rf%7z41u^i=P*qO8>JqXPrinQFapR7qHAtp~&RZ85$>ob|Js;GS^y;S{XnGiBc zGa4IGvDl?x%gY`vNhv8wgZnP#UYI-w*^4YCZnxkF85@ldepk$&$#3EAhrJY0U)lR{F6sM3SONV^+$;Zx8BD&Eku3K zKNLZyBni3)pGzU0;n(X@1fX8wYGKYMpLmCu{N5-}epPDxClPFK#A@02WM3!myN%bkF z|GJ4GZ}3sL{3{qXemy+#Uk{4>Kf8v11;f8I&c76+B&AQ8udd<8gU7+BeWC`akUU~U zgXoxie>MS@rBoyY8O8Tc&8id!w+_ooxcr!1?#rc$-|SBBtH6S?)1e#P#S?jFZ8u-Bs&k`yLqW|{j+%c#A4AQ>+tj$Y z^CZajspu$F%73E68Lw5q7IVREED9r1Ijsg#@DzH>wKseye>hjsk^{n0g?3+gs@7`i zHx+-!sjLx^fS;fY!ERBU+Q zVJ!e0hJH%P)z!y%1^ZyG0>PN@5W~SV%f>}c?$H8r;Sy-ui>aruVTY=bHe}$e zi&Q4&XK!qT7-XjCrDaufT@>ieQ&4G(SShUob0Q>Gznep9fR783jGuUynAqc6$pYX; z7*O@@JW>O6lKIk0G00xsm|=*UVTQBB`u1f=6wGAj%nHK_;Aqmfa!eAykDmi-@u%6~ z;*c!pS1@V8r@IX9j&rW&d*}wpNs96O2Ute>%yt{yv>k!6zfT6pru{F1M3P z2WN1JDYqoTB#(`kE{H676QOoX`cnqHl1Yaru)>8Ky~VU{)r#{&s86Vz5X)v15ULHA zAZDb{99+s~qI6;-dQ5DBjHJP@GYTwn;Dv&9kE<0R!d z8tf1oq$kO`_sV(NHOSbMwr=To4r^X$`sBW4$gWUov|WY?xccQJN}1DOL|GEaD_!@& z15p?Pj+>7d`@LvNIu9*^hPN)pwcv|akvYYq)ks%`G>!+!pW{-iXPZsRp8 z35LR;DhseQKWYSD`%gO&k$Dj6_6q#vjWA}rZcWtQr=Xn*)kJ9kacA=esi*I<)1>w^ zO_+E>QvjP)qiSZg9M|GNeLtO2D7xT6vsj`88sd!94j^AqxFLi}@w9!Y*?nwWARE0P znuI_7A-saQ+%?MFA$gttMV-NAR^#tjl_e{R$N8t2NbOlX373>e7Ox=l=;y#;M7asp zRCz*CLnrm$esvSb5{T<$6CjY zmZ(i{Rs_<#pWW>(HPaaYj`%YqBra=Ey3R21O7vUbzOkJJO?V`4-D*u4$Me0Bx$K(lYo`JO}gnC zx`V}a7m-hLU9Xvb@K2ymioF)vj12<*^oAqRuG_4u%(ah?+go%$kOpfb`T96P+L$4> zQ#S+sA%VbH&mD1k5Ak7^^dZoC>`1L%i>ZXmooA!%GI)b+$D&ziKrb)a=-ds9xk#~& z7)3iem6I|r5+ZrTRe_W861x8JpD`DDIYZNm{$baw+$)X^Jtjnl0xlBgdnNY}x%5za zkQ8E6T<^$sKBPtL4(1zi_Rd(tVth*3Xs!ulflX+70?gb&jRTnI8l+*Aj9{|d%qLZ+ z>~V9Z;)`8-lds*Zgs~z1?Fg?Po7|FDl(Ce<*c^2=lFQ~ahwh6rqSjtM5+$GT>3WZW zj;u~w9xwAhOc<kF}~`CJ68 z?(S5vNJa;kriPlim33{N5`C{9?NWhzsna_~^|K2k4xz1`xcui*LXL-1#Y}Hi9`Oo!zQ>x-kgAX4LrPz63uZ+?uG*84@PKq-KgQlMNRwz=6Yes) zY}>YN+qP}nwr$(CZQFjUOI=-6J$2^XGvC~EZ+vrqWaOXB$k?%Suf5k=4>AveC1aJ! ziaW4IS%F$_Babi)kA8Y&u4F7E%99OPtm=vzw$$ zEz#9rvn`Iot_z-r3MtV>k)YvErZ<^Oa${`2>MYYODSr6?QZu+be-~MBjwPGdMvGd!b!elsdi4% z`37W*8+OGulab8YM?`KjJ8e+jM(tqLKSS@=jimq3)Ea2EB%88L8CaM+aG7;27b?5` z4zuUWBr)f)k2o&xg{iZ$IQkJ+SK>lpq4GEacu~eOW4yNFLU!Kgc{w4&D$4ecm0f}~ zTTzquRW@`f0}|IILl`!1P+;69g^upiPA6F{)U8)muWHzexRenBU$E^9X-uIY2%&1w z_=#5*(nmxJ9zF%styBwivi)?#KMG96-H@hD-H_&EZiRNsfk7mjBq{L%!E;Sqn!mVX*}kXhwH6eh;b42eD!*~upVG@ z#smUqz$ICm!Y8wY53gJeS|Iuard0=;k5i5Z_hSIs6tr)R4n*r*rE`>38Pw&lkv{_r!jNN=;#?WbMj|l>cU(9trCq; z%nN~r^y7!kH^GPOf3R}?dDhO=v^3BeP5hF|%4GNQYBSwz;x({21i4OQY->1G=KFyu z&6d`f2tT9Yl_Z8YACZaJ#v#-(gcyeqXMhYGXb=t>)M@fFa8tHp2x;ODX=Ap@a5I=U z0G80^$N0G4=U(>W%mrrThl0DjyQ-_I>+1Tdd_AuB3qpYAqY54upwa3}owa|x5iQ^1 zEf|iTZxKNGRpI>34EwkIQ2zHDEZ=(J@lRaOH>F|2Z%V_t56Km$PUYu^xA5#5Uj4I4RGqHD56xT%H{+P8Ag>e_3pN$4m8n>i%OyJFPNWaEnJ4McUZPa1QmOh?t8~n& z&RulPCors8wUaqMHECG=IhB(-tU2XvHP6#NrLVyKG%Ee*mQ5Ps%wW?mcnriTVRc4J`2YVM>$ixSF2Xi+Wn(RUZnV?mJ?GRdw%lhZ+t&3s7g!~g{%m&i<6 z5{ib-<==DYG93I(yhyv4jp*y3#*WNuDUf6`vTM%c&hiayf(%=x@4$kJ!W4MtYcE#1 zHM?3xw63;L%x3drtd?jot!8u3qeqctceX3m;tWetK+>~q7Be$h>n6riK(5@ujLgRS zvOym)k+VAtyV^mF)$29Y`nw&ijdg~jYpkx%*^ z8dz`C*g=I?;clyi5|!27e2AuSa$&%UyR(J3W!A=ZgHF9OuKA34I-1U~pyD!KuRkjA zbkN!?MfQOeN>DUPBxoy5IX}@vw`EEB->q!)8fRl_mqUVuRu|C@KD-;yl=yKc=ZT0% zB$fMwcC|HE*0f8+PVlWHi>M`zfsA(NQFET?LrM^pPcw`cK+Mo0%8*x8@65=CS_^$cG{GZQ#xv($7J z??R$P)nPLodI;P!IC3eEYEHh7TV@opr#*)6A-;EU2XuogHvC;;k1aI8asq7ovoP!* z?x%UoPrZjj<&&aWpsbr>J$Er-7!E(BmOyEv!-mbGQGeJm-U2J>74>o5x`1l;)+P&~ z>}f^=Rx(ZQ2bm+YE0u=ZYrAV@apyt=v1wb?R@`i_g64YyAwcOUl=C!i>=Lzb$`tjv zOO-P#A+)t-JbbotGMT}arNhJmmGl-lyUpMn=2UacVZxmiG!s!6H39@~&uVokS zG=5qWhfW-WOI9g4!R$n7!|ViL!|v3G?GN6HR0Pt_L5*>D#FEj5wM1DScz4Jv@Sxnl zB@MPPmdI{(2D?;*wd>3#tjAirmUnQoZrVv`xM3hARuJksF(Q)wd4P$88fGYOT1p6U z`AHSN!`St}}UMBT9o7i|G`r$ zrB=s$qV3d6$W9@?L!pl0lf%)xs%1ko^=QY$ty-57=55PvP(^6E7cc zGJ*>m2=;fOj?F~yBf@K@9qwX0hA803Xw+b0m}+#a(>RyR8}*Y<4b+kpp|OS+!whP( zH`v{%s>jsQI9rd$*vm)EkwOm#W_-rLTHcZRek)>AtF+~<(did)*oR1|&~1|e36d-d zgtm5cv1O0oqgWC%Et@P4Vhm}Ndl(Y#C^MD03g#PH-TFy+7!Osv1z^UWS9@%JhswEq~6kSr2DITo59+; ze=ZC}i2Q?CJ~Iyu?vn|=9iKV>4j8KbxhE4&!@SQ^dVa-gK@YfS9xT(0kpW*EDjYUkoj! zE49{7H&E}k%5(>sM4uGY)Q*&3>{aitqdNnRJkbOmD5Mp5rv-hxzOn80QsG=HJ_atI-EaP69cacR)Uvh{G5dTpYG7d zbtmRMq@Sexey)||UpnZ?;g_KMZq4IDCy5}@u!5&B^-=6yyY{}e4Hh3ee!ZWtL*s?G zxG(A!<9o!CL+q?u_utltPMk+hn?N2@?}xU0KlYg?Jco{Yf@|mSGC<(Zj^yHCvhmyx z?OxOYoxbptDK()tsJ42VzXdINAMWL$0Gcw?G(g8TMB)Khw_|v9`_ql#pRd2i*?CZl z7k1b!jQB=9-V@h%;Cnl7EKi;Y^&NhU0mWEcj8B|3L30Ku#-9389Q+(Yet0r$F=+3p z6AKOMAIi|OHyzlHZtOm73}|ntKtFaXF2Fy|M!gOh^L4^62kGUoWS1i{9gsds_GWBc zLw|TaLP64z3z9?=R2|T6Xh2W4_F*$cq>MtXMOy&=IPIJ`;!Tw?PqvI2b*U1)25^<2 zU_ZPoxg_V0tngA0J+mm?3;OYw{i2Zb4x}NedZug!>EoN3DC{1i)Z{Z4m*(y{ov2%- zk(w>+scOO}MN!exSc`TN)!B=NUX`zThWO~M*ohqq;J2hx9h9}|s#?@eR!=F{QTrq~ zTcY|>azkCe$|Q0XFUdpFT=lTcyW##i;-e{}ORB4D?t@SfqGo_cS z->?^rh$<&n9DL!CF+h?LMZRi)qju!meugvxX*&jfD!^1XB3?E?HnwHP8$;uX{Rvp# zh|)hM>XDv$ZGg=$1{+_bA~u-vXqlw6NH=nkpyWE0u}LQjF-3NhATL@9rRxMnpO%f7 z)EhZf{PF|mKIMFxnC?*78(}{Y)}iztV12}_OXffJ;ta!fcFIVjdchyHxH=t%ci`Xd zX2AUB?%?poD6Zv*&BA!6c5S#|xn~DK01#XvjT!w!;&`lDXSJT4_j$}!qSPrb37vc{ z9^NfC%QvPu@vlxaZ;mIbn-VHA6miwi8qJ~V;pTZkKqqOii<1Cs}0i?uUIss;hM4dKq^1O35y?Yp=l4i zf{M!@QHH~rJ&X~8uATV><23zZUbs-J^3}$IvV_ANLS08>k`Td7aU_S1sLsfi*C-m1 z-e#S%UGs4E!;CeBT@9}aaI)qR-6NU@kvS#0r`g&UWg?fC7|b^_HyCE!8}nyh^~o@< zpm7PDFs9yxp+byMS(JWm$NeL?DNrMCNE!I^ko-*csB+dsf4GAq{=6sfyf4wb>?v1v zmb`F*bN1KUx-`ra1+TJ37bXNP%`-Fd`vVQFTwWpX@;s(%nDQa#oWhgk#mYlY*!d>( zE&!|ySF!mIyfING+#%RDY3IBH_fW$}6~1%!G`suHub1kP@&DoAd5~7J55;5_noPI6eLf{t;@9Kf<{aO0`1WNKd?<)C-|?C?)3s z>wEq@8=I$Wc~Mt$o;g++5qR+(6wt9GI~pyrDJ%c?gPZe)owvy^J2S=+M^ z&WhIE`g;;J^xQLVeCtf7b%Dg#Z2gq9hp_%g)-%_`y*zb; zn9`f`mUPN-Ts&fFo(aNTsXPA|J!TJ{0hZp0^;MYHLOcD=r_~~^ymS8KLCSeU3;^QzJNqS z5{5rEAv#l(X?bvwxpU;2%pQftF`YFgrD1jt2^~Mt^~G>T*}A$yZc@(k9orlCGv&|1 zWWvVgiJsCAtamuAYT~nzs?TQFt<1LSEx!@e0~@yd6$b5!Zm(FpBl;(Cn>2vF?k zOm#TTjFwd2D-CyA!mqR^?#Uwm{NBemP>(pHmM}9;;8`c&+_o3#E5m)JzfwN?(f-a4 zyd%xZc^oQx3XT?vcCqCX&Qrk~nu;fxs@JUoyVoi5fqpi&bUhQ2y!Ok2pzsFR(M(|U zw3E+kH_zmTRQ9dUMZWRE%Zakiwc+lgv7Z%|YO9YxAy`y28`Aw;WU6HXBgU7fl@dnt z-fFBV)}H-gqP!1;V@Je$WcbYre|dRdp{xt!7sL3Eoa%IA`5CAA%;Wq8PktwPdULo! z8!sB}Qt8#jH9Sh}QiUtEPZ6H0b*7qEKGJ%ITZ|vH)5Q^2m<7o3#Z>AKc%z7_u`rXA zqrCy{-{8;9>dfllLu$^M5L z-hXs))h*qz%~ActwkIA(qOVBZl2v4lwbM>9l70Y`+T*elINFqt#>OaVWoja8RMsep z6Or3f=oBnA3vDbn*+HNZP?8LsH2MY)x%c13@(XfuGR}R?Nu<|07{$+Lc3$Uv^I!MQ z>6qWgd-=aG2Y^24g4{Bw9ueOR)(9h`scImD=86dD+MnSN4$6 z^U*o_mE-6Rk~Dp!ANp#5RE9n*LG(Vg`1)g6!(XtDzsov$Dvz|Gv1WU68J$CkshQhS zCrc|cdkW~UK}5NeaWj^F4MSgFM+@fJd{|LLM)}_O<{rj z+?*Lm?owq?IzC%U%9EBga~h-cJbIu=#C}XuWN>OLrc%M@Gu~kFEYUi4EC6l#PR2JS zQUkGKrrS#6H7}2l0F@S11DP`@pih0WRkRJl#F;u{c&ZC{^$Z+_*lB)r)-bPgRFE;* zl)@hK4`tEP=P=il02x7-C7p%l=B`vkYjw?YhdJU9!P!jcmY$OtC^12w?vy3<<=tlY zUwHJ_0lgWN9vf>1%WACBD{UT)1qHQSE2%z|JHvP{#INr13jM}oYv_5#xsnv9`)UAO zuwgyV4YZ;O)eSc3(mka6=aRohi!HH@I#xq7kng?Acdg7S4vDJb6cI5fw?2z%3yR+| zU5v@Hm}vy;${cBp&@D=HQ9j7NcFaOYL zj-wV=eYF{|XTkFNM2uz&T8uH~;)^Zo!=KP)EVyH6s9l1~4m}N%XzPpduPg|h-&lL` zAXspR0YMOKd2yO)eMFFJ4?sQ&!`dF&!|niH*!^*Ml##o0M(0*uK9&yzekFi$+mP9s z>W9d%Jb)PtVi&-Ha!o~Iyh@KRuKpQ@)I~L*d`{O8!kRObjO7=n+Gp36fe!66neh+7 zW*l^0tTKjLLzr`x4`_8&on?mjW-PzheTNox8Hg7Nt@*SbE-%kP2hWYmHu#Fn@Q^J(SsPUz*|EgOoZ6byg3ew88UGdZ>9B2Tq=jF72ZaR=4u%1A6Vm{O#?@dD!(#tmR;eP(Fu z{$0O%=Vmua7=Gjr8nY%>ul?w=FJ76O2js&17W_iq2*tb!i{pt#`qZB#im9Rl>?t?0c zicIC}et_4d+CpVPx)i4~$u6N-QX3H77ez z?ZdvXifFk|*F8~L(W$OWM~r`pSk5}#F?j_5u$Obu9lDWIknO^AGu+Blk7!9Sb;NjS zncZA?qtASdNtzQ>z7N871IsPAk^CC?iIL}+{K|F@BuG2>qQ;_RUYV#>hHO(HUPpk@ z(bn~4|F_jiZi}Sad;_7`#4}EmD<1EiIxa48QjUuR?rC}^HRocq`OQPM@aHVKP9E#q zy%6bmHygCpIddPjE}q_DPC`VH_2m;Eey&ZH)E6xGeStOK7H)#+9y!%-Hm|QF6w#A( zIC0Yw%9j$s-#odxG~C*^MZ?M<+&WJ+@?B_QPUyTg9DJGtQN#NIC&-XddRsf3n^AL6 zT@P|H;PvN;ZpL0iv$bRb7|J{0o!Hq+S>_NrH4@coZtBJu#g8#CbR7|#?6uxi8d+$g z87apN>EciJZ`%Zv2**_uiET9Vk{pny&My;+WfGDw4EVL#B!Wiw&M|A8f1A@ z(yFQS6jfbH{b8Z-S7D2?Ixl`j0{+ZnpT=;KzVMLW{B$`N?Gw^Fl0H6lT61%T2AU**!sX0u?|I(yoy&Xveg7XBL&+>n6jd1##6d>TxE*Vj=8lWiG$4=u{1UbAa5QD>5_ z;Te^42v7K6Mmu4IWT6Rnm>oxrl~b<~^e3vbj-GCdHLIB_>59}Ya+~OF68NiH=?}2o zP(X7EN=quQn&)fK>M&kqF|<_*H`}c zk=+x)GU>{Af#vx&s?`UKUsz})g^Pc&?Ka@t5$n$bqf6{r1>#mWx6Ep>9|A}VmWRnowVo`OyCr^fHsf# zQjQ3Ttp7y#iQY8l`zEUW)(@gGQdt(~rkxlkefskT(t%@i8=|p1Y9Dc5bc+z#n$s13 zGJk|V0+&Ekh(F};PJzQKKo+FG@KV8a<$gmNSD;7rd_nRdc%?9)p!|B-@P~kxQG}~B zi|{0}@}zKC(rlFUYp*dO1RuvPC^DQOkX4<+EwvBAC{IZQdYxoq1Za!MW7%p7gGr=j zzWnAq%)^O2$eItftC#TTSArUyL$U54-O7e|)4_7%Q^2tZ^0-d&3J1}qCzR4dWX!)4 zzIEKjgnYgMus^>6uw4Jm8ga6>GBtMjpNRJ6CP~W=37~||gMo_p@GA@#-3)+cVYnU> zE5=Y4kzl+EbEh%dhQokB{gqNDqx%5*qBusWV%!iprn$S!;oN_6E3?0+umADVs4ako z?P+t?m?};gev9JXQ#Q&KBpzkHPde_CGu-y z<{}RRAx=xlv#mVi+Ibrgx~ujW$h{?zPfhz)Kp7kmYS&_|97b&H&1;J-mzrBWAvY} zh8-I8hl_RK2+nnf&}!W0P+>5?#?7>npshe<1~&l_xqKd0_>dl_^RMRq@-Myz&|TKZBj1=Q()) zF{dBjv5)h=&Z)Aevx}+i|7=R9rG^Di!sa)sZCl&ctX4&LScQ-kMncgO(9o6W6)yd< z@Rk!vkja*X_N3H=BavGoR0@u0<}m-7|2v!0+2h~S2Q&a=lTH91OJsvms2MT~ zY=c@LO5i`mLpBd(vh|)I&^A3TQLtr>w=zoyzTd=^f@TPu&+*2MtqE$Avf>l>}V|3-8Fp2hzo3y<)hr_|NO(&oSD z!vEjTWBxbKTiShVl-U{n*B3#)3a8$`{~Pk}J@elZ=>Pqp|MQ}jrGv7KrNcjW%TN_< zZz8kG{#}XoeWf7qY?D)L)8?Q-b@Na&>i=)(@uNo zr;cH98T3$Iau8Hn*@vXi{A@YehxDE2zX~o+RY`)6-X{8~hMpc#C`|8y> zU8Mnv5A0dNCf{Ims*|l-^ z(MRp{qoGohB34|ggDI*p!Aw|MFyJ|v+<+E3brfrI)|+l3W~CQLPbnF@G0)P~Ly!1TJLp}xh8uW`Q+RB-v`MRYZ9Gam3cM%{ zb4Cb*f)0deR~wtNb*8w-LlIF>kc7DAv>T0D(a3@l`k4TFnrO+g9XH7;nYOHxjc4lq zMmaW6qpgAgy)MckYMhl?>sq;-1E)-1llUneeA!ya9KM$)DaNGu57Z5aE>=VST$#vb zFo=uRHr$0M{-ha>h(D_boS4zId;3B|Tpqo|?B?Z@I?G(?&Iei+-{9L_A9=h=Qfn-U z1wIUnQe9!z%_j$F_{rf&`ZFSott09gY~qrf@g3O=Y>vzAnXCyL!@(BqWa)Zqt!#_k zfZHuwS52|&&)aK;CHq9V-t9qt0au{$#6c*R#e5n3rje0hic7c7m{kW$p(_`wB=Gw7 z4k`1Hi;Mc@yA7dp@r~?@rfw)TkjAW++|pkfOG}0N|2guek}j8Zen(!+@7?qt_7ndX zB=BG6WJ31#F3#Vk3=aQr8T)3`{=p9nBHlKzE0I@v`{vJ}h8pd6vby&VgFhzH|q;=aonunAXL6G2y(X^CtAhWr*jI zGjpY@raZDQkg*aMq}Ni6cRF z{oWv}5`nhSAv>usX}m^GHt`f(t8@zHc?K|y5Zi=4G*UG1Sza{$Dpj%X8 zzEXaKT5N6F5j4J|w#qlZP!zS7BT)9b+!ZSJdToqJts1c!)fwih4d31vfb{}W)EgcA zH2pZ^8_k$9+WD2n`6q5XbOy8>3pcYH9 z07eUB+p}YD@AH!}p!iKv><2QF-Y^&xx^PAc1F13A{nUeCDg&{hnix#FiO!fe(^&%Qcux!h znu*S!s$&nnkeotYsDthh1dq(iQrE|#f_=xVgfiiL&-5eAcC-> z5L0l|DVEM$#ulf{bj+Y~7iD)j<~O8CYM8GW)dQGq)!mck)FqoL^X zwNdZb3->hFrbHFm?hLvut-*uK?zXn3q1z|UX{RZ;-WiLoOjnle!xs+W0-8D)kjU#R z+S|A^HkRg$Ij%N4v~k`jyHffKaC~=wg=9)V5h=|kLQ@;^W!o2^K+xG&2n`XCd>OY5Ydi= zgHH=lgy++erK8&+YeTl7VNyVm9-GfONlSlVb3)V9NW5tT!cJ8d7X)!b-$fb!s76{t z@d=Vg-5K_sqHA@Zx-L_}wVnc@L@GL9_K~Zl(h5@AR#FAiKad8~KeWCo@mgXIQ#~u{ zgYFwNz}2b6Vu@CP0XoqJ+dm8px(5W5-Jpis97F`+KM)TuP*X8H@zwiVKDKGVp59pI zifNHZr|B+PG|7|Y<*tqap0CvG7tbR1R>jn70t1X`XJixiMVcHf%Ez*=xm1(CrTSDt z0cle!+{8*Ja&EOZ4@$qhBuKQ$U95Q%rc7tg$VRhk?3=pE&n+T3upZg^ZJc9~c2es% zh7>+|mrmA-p&v}|OtxqmHIBgUxL~^0+cpfkSK2mhh+4b=^F1Xgd2)}U*Yp+H?ls#z zrLxWg_hm}AfK2XYWr!rzW4g;+^^&bW%LmbtRai9f3PjU${r@n`JThy-cphbcwn)rq9{A$Ht`lmYKxOacy z6v2R(?gHhD5@&kB-Eg?4!hAoD7~(h>(R!s1c1Hx#s9vGPePUR|of32bS`J5U5w{F) z>0<^ktO2UHg<0{oxkdOQ;}coZDQph8p6ruj*_?uqURCMTac;>T#v+l1Tc~%^k-Vd@ zkc5y35jVNc49vZpZx;gG$h{%yslDI%Lqga1&&;mN{Ush1c7p>7e-(zp}6E7f-XmJb4nhk zb8zS+{IVbL$QVF8pf8}~kQ|dHJAEATmmnrb_wLG}-yHe>W|A&Y|;muy-d^t^<&)g5SJfaTH@P1%euONny=mxo+C z4N&w#biWY41r8k~468tvuYVh&XN&d#%QtIf9;iVXfWY)#j=l`&B~lqDT@28+Y!0E+MkfC}}H*#(WKKdJJq=O$vNYCb(ZG@p{fJgu;h z21oHQ(14?LeT>n5)s;uD@5&ohU!@wX8w*lB6i@GEH0pM>YTG+RAIWZD;4#F1&F%Jp zXZUml2sH0!lYJT?&sA!qwez6cXzJEd(1ZC~kT5kZSp7(@=H2$Azb_*W&6aA|9iwCL zdX7Q=42;@dspHDwYE?miGX#L^3xD&%BI&fN9^;`v4OjQXPBaBmOF1;#C)8XA(WFlH zycro;DS2?(G&6wkr6rqC>rqDv3nfGw3hmN_9Al>TgvmGsL8_hXx09};l9Ow@)F5@y z#VH5WigLDwZE4nh^7&@g{1FV^UZ%_LJ-s<{HN*2R$OPg@R~Z`c-ET*2}XB@9xvAjrK&hS=f|R8Gr9 zr|0TGOsI7RD+4+2{ZiwdVD@2zmg~g@^D--YL;6UYGSM8i$NbQr4!c7T9rg!8;TM0E zT#@?&S=t>GQm)*ua|?TLT2ktj#`|R<_*FAkOu2Pz$wEc%-=Y9V*$&dg+wIei3b*O8 z2|m$!jJG!J!ZGbbIa!(Af~oSyZV+~M1qGvelMzPNE_%5?c2>;MeeG2^N?JDKjFYCy z7SbPWH-$cWF9~fX%9~v99L!G(wi!PFp>rB!9xj7=Cv|F+7CsGNwY0Q_J%FID%C^CBZQfJ9K(HK%k31j~e#&?hQ zNuD6gRkVckU)v+53-fc} z7ZCzYN-5RG4H7;>>Hg?LU9&5_aua?A0)0dpew1#MMlu)LHe(M;OHjHIUl7|%%)YPo z0cBk;AOY00%Fe6heoN*$(b<)Cd#^8Iu;-2v@>cE-OB$icUF9EEoaC&q8z9}jMTT2I z8`9;jT%z0;dy4!8U;GW{i`)3!c6&oWY`J3669C!tM<5nQFFrFRglU8f)5Op$GtR-3 zn!+SPCw|04sv?%YZ(a7#L?vsdr7ss@WKAw&A*}-1S|9~cL%uA+E~>N6QklFE>8W|% zyX-qAUGTY1hQ-+um`2|&ji0cY*(qN!zp{YpDO-r>jPk*yuVSay<)cUt`t@&FPF_&$ zcHwu1(SQ`I-l8~vYyUxm@D1UEdFJ$f5Sw^HPH7b!9 zzYT3gKMF((N(v0#4f_jPfVZ=ApN^jQJe-X$`A?X+vWjLn_%31KXE*}5_}d8 zw_B1+a#6T1?>M{ronLbHIlEsMf93muJ7AH5h%;i99<~JX^;EAgEB1uHralD*!aJ@F zV2ruuFe9i2Q1C?^^kmVy921eb=tLDD43@-AgL^rQ3IO9%+vi_&R2^dpr}x{bCVPej z7G0-0o64uyWNtr*loIvslyo0%)KSDDKjfThe0hcqs)(C-MH1>bNGBDRTW~scy_{w} zp^aq8Qb!h9Lwielq%C1b8=?Z=&U)ST&PHbS)8Xzjh2DF?d{iAv)Eh)wsUnf>UtXN( zL7=$%YrZ#|^c{MYmhn!zV#t*(jdmYdCpwqpZ{v&L8KIuKn`@IIZfp!uo}c;7J57N` zAxyZ-uA4=Gzl~Ovycz%MW9ZL7N+nRo&1cfNn9(1H5eM;V_4Z_qVann7F>5f>%{rf= zPBZFaV@_Sobl?Fy&KXyzFDV*FIdhS5`Uc~S^Gjo)aiTHgn#<0C=9o-a-}@}xDor;D zZyZ|fvf;+=3MZd>SR1F^F`RJEZo+|MdyJYQAEauKu%WDol~ayrGU3zzbHKsnHKZ*z zFiwUkL@DZ>!*x05ql&EBq@_Vqv83&?@~q5?lVmffQZ+V-=qL+!u4Xs2Z2zdCQ3U7B&QR9_Iggy} z(om{Y9eU;IPe`+p1ifLx-XWh?wI)xU9ik+m#g&pGdB5Bi<`PR*?92lE0+TkRuXI)z z5LP!N2+tTc%cB6B1F-!fj#}>S!vnpgVU~3!*U1ej^)vjUH4s-bd^%B=ItQqDCGbrEzNQi(dJ`J}-U=2{7-d zK8k^Rlq2N#0G?9&1?HSle2vlkj^KWSBYTwx`2?9TU_DX#J+f+qLiZCqY1TXHFxXZqYMuD@RU$TgcnCC{_(vwZ-*uX)~go#%PK z@}2Km_5aQ~(<3cXeJN6|F8X_1@L%@xTzs}$_*E|a^_URF_qcF;Pfhoe?FTFwvjm1o z8onf@OY@jC2tVcMaZS;|T!Ks(wOgPpRzRnFS-^RZ4E!9dsnj9sFt609a|jJbb1Dt@ z<=Gal2jDEupxUSwWu6zp<<&RnAA;d&4gKVG0iu6g(DsST(4)z6R)zDpfaQ}v{5ARt zyhwvMtF%b-YazR5XLz+oh=mn;y-Mf2a8>7?2v8qX;19y?b>Z5laGHvzH;Nu9S`B8} zI)qN$GbXIQ1VL3lnof^6TS~rvPVg4V?Dl2Bb*K2z4E{5vy<(@@K_cN@U>R!>aUIRnb zL*)=787*cs#zb31zBC49x$`=fkQbMAef)L2$dR{)6BAz!t5U_B#1zZG`^neKSS22oJ#5B=gl%U=WeqL9REF2g zZnfCb0?quf?Ztj$VXvDSWoK`0L=Zxem2q}!XWLoT-kYMOx)!7fcgT35uC~0pySEme z`{wGWTkGr7>+Kb^n;W?BZH6ZP(9tQX%-7zF>vc2}LuWDI(9kh1G#7B99r4x6;_-V+k&c{nPUrR zAXJGRiMe~aup{0qzmLNjS_BC4cB#sXjckx{%_c&^xy{M61xEb>KW_AG5VFXUOjAG4 z^>Qlm9A#1N{4snY=(AmWzatb!ngqiqPbBZ7>Uhb3)dTkSGcL#&SH>iMO-IJBPua`u zo)LWZ>=NZLr758j{%(|uQuZ)pXq_4c!!>s|aDM9#`~1bzK3J1^^D#<2bNCccH7~-X}Ggi!pIIF>uFx%aPARGQsnC8ZQc8lrQ5o~smqOg>Ti^GNme94*w z)JZy{_{#$jxGQ&`M z!OMvZMHR>8*^>eS%o*6hJwn!l8VOOjZQJvh)@tnHVW&*GYPuxqXw}%M!(f-SQf`=L z5;=5w2;%82VMH6Xi&-K3W)o&K^+vJCepWZ-rW%+Dc6X3(){z$@4zjYxQ|}8UIojeC zYZpQ1dU{fy=oTr<4VX?$q)LP}IUmpiez^O&N3E_qPpchGTi5ZM6-2ScWlQq%V&R2Euz zO|Q0Hx>lY1Q1cW5xHv5!0OGU~PVEqSuy#fD72d#O`N!C;o=m+YioGu-wH2k6!t<~K zSr`E=W9)!g==~x9VV~-8{4ZN9{~-A9zJpRe%NGg$+MDuI-dH|b@BD)~>pPCGUNNzY zMDg||0@XGQgw`YCt5C&A{_+J}mvV9Wg{6V%2n#YSRN{AP#PY?1FF1#|vO_%e+#`|2*~wGAJaeRX6=IzFNeWhz6gJc8+(03Ph4y6ELAm=AkN7TOgMUEw*N{= z_)EIDQx5q22oUR+_b*tazu9+pX|n1c*IB-}{DqIj z-?E|ks{o3AGRNb;+iKcHkZvYJvFsW&83RAPs1Oh@IWy%l#5x2oUP6ZCtv+b|q>jsf zZ_9XO;V!>n`UxH1LvH8)L4?8raIvasEhkpQoJ`%!5rBs!0Tu(s_D{`4opB;57)pkX z4$A^8CsD3U5*!|bHIEqsn~{q+Ddj$ME@Gq4JXtgVz&7l{Ok!@?EA{B3P~NAqb9)4? zkQo30A^EbHfQ@87G5&EQTd`frrwL)&Yw?%-W@uy^Gn23%j?Y!Iea2xw<-f;esq zf%w5WN@E1}zyXtYv}}`U^B>W`>XPmdLj%4{P298|SisrE;7HvXX;A}Ffi8B#3Lr;1 zHt6zVb`8{#+e$*k?w8|O{Uh|&AG}|DG1PFo1i?Y*cQm$ZwtGcVgMwtBUDa{~L1KT-{jET4w60>{KZ27vXrHJ;fW{6| z=|Y4!&UX020wU1>1iRgB@Q#m~1^Z^9CG1LqDhYBrnx%IEdIty z!46iOoKlKs)c}newDG)rWUikD%j`)p z_w9Ph&e40=(2eBy;T!}*1p1f1SAUDP9iWy^u^Ubdj21Kn{46;GR+hwLO=4D11@c~V zI8x&(D({K~Df2E)Nx_yQvYfh4;MbMJ@Z}=Dt3_>iim~QZ*hZIlEs0mEb z_54+&*?wMD`2#vsQRN3KvoT>hWofI_Vf(^C1ff-Ike@h@saEf7g}<9T`W;HAne-Nd z>RR+&SP35w)xKn8^U$7))PsM!jKwYZ*RzEcG-OlTrX3}9a{q%#Un5E5W{{hp>w~;` zGky+3(vJvQyGwBo`tCpmo0mo((?nM8vf9aXrrY1Ve}~TuVkB(zeds^jEfI}xGBCM2 zL1|#tycSaWCurP+0MiActG3LCas@_@tao@(R1ANlwB$4K53egNE_;!&(%@Qo$>h`^1S_!hN6 z)vZtG$8fN!|BXBJ=SI>e(LAU(y(i*PHvgQ2llulxS8>qsimv7yL}0q_E5WiAz7)(f zC(ahFvG8&HN9+6^jGyLHM~$)7auppeWh_^zKk&C_MQ~8;N??OlyH~azgz5fe^>~7F zl3HnPN3z-kN)I$4@`CLCMQx3sG~V8hPS^}XDXZrQA>}mQPw%7&!sd(Pp^P=tgp-s^ zjl}1-KRPNWXgV_K^HkP__SR`S-|OF0bR-N5>I%ODj&1JUeAQ3$9i;B~$S6}*^tK?= z**%aCiH7y?xdY?{LgVP}S0HOh%0%LI$wRx;$T|~Y8R)Vdwa}kGWv8?SJVm^>r6+%I z#lj1aR94{@MP;t-scEYQWc#xFA30^}?|BeX*W#9OL;Q9#WqaaM546j5j29((^_8Nu z4uq}ESLr~r*O7E7$D{!k9W>`!SLoyA53i9QwRB{!pHe8um|aDE`Cg0O*{jmor)^t)3`>V>SWN-2VJcFmj^1?~tT=JrP`fVh*t zXHarp=8HEcR#vFe+1a%XXuK+)oFs`GDD}#Z+TJ}Ri`FvKO@ek2ayn}yaOi%(8p%2$ zpEu)v0Jym@f}U|-;}CbR=9{#<^z28PzkkTNvyKvJDZe+^VS2bES3N@Jq!-*}{oQlz z@8bgC_KnDnT4}d#&Cpr!%Yb?E!brx0!eVOw~;lLwUoz#Np%d$o%9scc3&zPm`%G((Le|6o1 zM(VhOw)!f84zG^)tZ1?Egv)d8cdNi+T${=5kV+j;Wf%2{3g@FHp^Gf*qO0q!u$=m9 zCaY`4mRqJ;FTH5`a$affE5dJrk~k`HTP_7nGTY@B9o9vvnbytaID;^b=Tzp7Q#DmD zC(XEN)Ktn39z5|G!wsVNnHi) z%^q94!lL|hF`IijA^9NR0F$@h7k5R^ljOW(;Td9grRN0Mb)l_l7##{2nPQ@?;VjXv zaLZG}yuf$r$<79rVPpXg?6iiieX|r#&`p#Con2i%S8*8F}(E) zI5E6c3tG*<;m~6>!&H!GJ6zEuhH7mkAzovdhLy;)q z{H2*8I^Pb}xC4s^6Y}6bJvMu=8>g&I)7!N!5QG$xseeU#CC?ZM-TbjsHwHgDGrsD= z{%f;@Sod+Ch66Ko2WF~;Ty)v>&x^aovCbCbD7>qF*!?BXmOV3(s|nxsb*Lx_2lpB7 zokUnzrk;P=T-&kUHO}td+Zdj!3n&NR?K~cRU zAXU!DCp?51{J4w^`cV#ye}(`SQhGQkkMu}O3M*BWt4UsC^jCFUy;wTINYmhD$AT;4 z?Xd{HaJjP`raZ39qAm;%beDbrLpbRf(mkKbANan7XsL>_pE2oo^$TgdidjRP!5-`% zv0d!|iKN$c0(T|L0C~XD0aS8t{*&#LnhE;1Kb<9&=c2B+9JeLvJr*AyyRh%@jHej=AetOMSlz^=!kxX>>B{2B1uIrQyfd8KjJ+DBy!h)~*(!|&L4^Q_07SQ~E zcemVP`{9CwFvPFu7pyVGCLhH?LhEVb2{7U+Z_>o25#+3<|8%1T^5dh}*4(kfJGry} zm%r#hU+__Z;;*4fMrX=Bkc@7|v^*B;HAl0((IBPPii%X9+u3DDF6%bI&6?Eu$8&aWVqHIM7mK6?Uvq$1|(-T|)IV<>e?!(rY zqkmO1MRaLeTR=)io(0GVtQT@s6rN%C6;nS3@eu;P#ry4q;^O@1ZKCJyp_Jo)Ty^QW z+vweTx_DLm{P-XSBj~Sl<%_b^$=}odJ!S2wAcxenmzFGX1t&Qp8Vxz2VT`uQsQYtdn&_0xVivIcxZ_hnrRtwq4cZSj1c-SG9 z7vHBCA=fd0O1<4*=lu$6pn~_pVKyL@ztw1swbZi0B?spLo56ZKu5;7ZeUml1Ws1?u zqMf1p{5myAzeX$lAi{jIUqo1g4!zWLMm9cfWcnw`k6*BR^?$2(&yW?>w;G$EmTA@a z6?y#K$C~ZT8+v{87n5Dm&H6Pb_EQ@V0IWmG9cG=O;(;5aMWWrIPzz4Q`mhK;qQp~a z+BbQrEQ+w{SeiuG-~Po5f=^EvlouB@_|4xQXH@A~KgpFHrwu%dwuCR)=B&C(y6J4J zvoGk9;lLs9%iA-IJGU#RgnZZR+@{5lYl8(e1h6&>Vc_mvg0d@);X zji4T|n#lB!>pfL|8tQYkw?U2bD`W{na&;*|znjmalA&f;*U++_aBYerq;&C8Kw7mI z7tsG*?7*5j&dU)Lje;^{D_h`%(dK|pB*A*1(Jj)w^mZ9HB|vGLkF1GEFhu&rH=r=8 zMxO42e{Si6$m+Zj`_mXb&w5Q(i|Yxyg?juUrY}78uo@~3v84|8dfgbPd0iQJRdMj< zncCNGdMEcsxu#o#B5+XD{tsg*;j-eF8`mp~K8O1J!Z0+>0=7O=4M}E?)H)ENE;P*F z$Ox?ril_^p0g7xhDUf(q652l|562VFlC8^r8?lQv;TMvn+*8I}&+hIQYh2 z1}uQQaag&!-+DZ@|C+C$bN6W;S-Z@)d1|en+XGvjbOxCa-qAF*LA=6s(Jg+g;82f$ z(Vb)8I)AH@cdjGFAR5Rqd0wiNCu!xtqWbcTx&5kslzTb^7A78~Xzw1($UV6S^VWiP zFd{Rimd-0CZC_Bu(WxBFW7+k{cOW7DxBBkJdJ;VsJ4Z@lERQr%3eVv&$%)b%<~ zCl^Y4NgO}js@u{|o~KTgH}>!* z_iDNqX2(As7T0xivMH|3SC1ivm8Q}6Ffcd7owUKN5lHAtzMM4<0v+ykUT!QiowO;`@%JGv+K$bBx@*S7C8GJVqQ_K>12}M`f_Ys=S zKFh}HM9#6Izb$Y{wYzItTy+l5U2oL%boCJn?R3?jP@n$zSIwlmyGq30Cw4QBO|14` zW5c);AN*J3&eMFAk$SR~2k|&+&Bc$e>s%c{`?d~85S-UWjA>DS5+;UKZ}5oVa5O(N zqqc@>)nee)+4MUjH?FGv%hm2{IlIF-QX}ym-7ok4Z9{V+ZHVZQl$A*x!(q%<2~iVv znUa+BX35&lCb#9VE-~Y^W_f;Xhl%vgjwdjzMy$FsSIj&ok}L+X`4>J=9BkN&nu^E*gbhj3(+D>C4E z@Fwq_=N)^bKFSHTzZk?-gNU$@l}r}dwGyh_fNi=9b|n}J>&;G!lzilbWF4B}BBq4f zYIOl?b)PSh#XTPp4IS5ZR_2C!E)Z`zH0OW%4;&~z7UAyA-X|sh9@~>cQW^COA9hV4 zXcA6qUo9P{bW1_2`eo6%hgbN%(G-F1xTvq!sc?4wN6Q4`e9Hku zFwvlAcRY?6h^Fj$R8zCNEDq8`=uZB8D-xn)tA<^bFFy}4$vA}Xq0jAsv1&5!h!yRA zU()KLJya5MQ`q&LKdH#fwq&(bNFS{sKlEh_{N%{XCGO+po#(+WCLmKW6&5iOHny>g z3*VFN?mx!16V5{zyuMWDVP8U*|BGT$(%IO|)?EF|OI*sq&RovH!N%=>i_c?K*A>>k zyg1+~++zY4Q)J;VWN0axhoIKx;l&G$gvj(#go^pZskEVj8^}is3Jw26LzYYVos0HX zRPvmK$dVxM8(Tc?pHFe0Z3uq){{#OK3i-ra#@+;*=ui8)y6hsRv z4Fxx1c1+fr!VI{L3DFMwXKrfl#Q8hfP@ajgEau&QMCxd{g#!T^;ATXW)nUg&$-n25 zruy3V!!;{?OTobo|0GAxe`Acn3GV@W=&n;~&9 zQM>NWW~R@OYORkJAo+eq1!4vzmf9K%plR4(tB@TR&FSbDoRgJ8qVcH#;7lQub*nq&?Z>7WM=oeEVjkaG zT#f)=o!M2DO5hLR+op>t0CixJCIeXH*+z{-XS|%jx)y(j&}Wo|3!l7{o)HU3m7LYyhv*xF&tq z%IN7N;D4raue&&hm0xM=`qv`+TK@;_xAcGKuK(2|75~ar2Yw)geNLSmVxV@x89bQu zpViVKKnlkwjS&&c|-X6`~xdnh}Ps)Hs z4VbUL^{XNLf7_|Oi>tA%?SG5zax}esF*FH3d(JH^Gvr7Rp*n=t7frH!U;!y1gJB^i zY_M$KL_}mW&XKaDEi9K-wZR|q*L32&m+2n_8lq$xRznJ7p8}V>w+d@?uB!eS3#u<} zIaqi!b!w}a2;_BfUUhGMy#4dPx>)_>yZ`ai?Rk`}d0>~ce-PfY-b?Csd(28yX22L% zI7XI>OjIHYTk_@Xk;Gu^F52^Gn6E1&+?4MxDS2G_#PQ&yXPXP^<-p|2nLTb@AAQEY zI*UQ9Pmm{Kat}wuazpjSyXCdnrD&|C1c5DIb1TnzF}f4KIV6D)CJ!?&l&{T)e4U%3HTSYqsQ zo@zWB1o}ceQSV)<4G<)jM|@@YpL+XHuWsr5AYh^Q{K=wSV99D~4RRU52FufmMBMmd z_H}L#qe(}|I9ZyPRD6kT>Ivj&2Y?qVZq<4bG_co_DP`sE*_Xw8D;+7QR$Uq(rr+u> z8bHUWbV19i#)@@G4bCco@Xb<8u~wVDz9S`#k@ciJtlu@uP1U0X?yov8v9U3VOig2t zL9?n$P3=1U_Emi$#slR>N5wH-=J&T=EdUHA}_Z zZIl3nvMP*AZS9{cDqFanrA~S5BqxtNm9tlu;^`)3X&V4tMAkJ4gEIPl= zoV!Gyx0N{3DpD@)pv^iS*dl2FwANu;1;%EDl}JQ7MbxLMAp>)UwNwe{=V}O-5C*>F zu?Ny+F64jZn<+fKjF01}8h5H_3pey|;%bI;SFg$w8;IC<8l|3#Lz2;mNNik6sVTG3 z+Su^rIE#40C4a-587$U~%KedEEw1%r6wdvoMwpmlXH$xPnNQN#f%Z7|p)nC>WsuO= z4zyqapLS<8(UJ~Qi9d|dQijb_xhA2)v>la)<1md5s^R1N&PiuA$^k|A<+2C?OiHbj z>Bn$~t)>Y(Zb`8hW7q9xQ=s>Rv81V+UiuZJc<23HplI88isqRCId89fb`Kt|CxVIg znWcwprwXnotO>3s&Oypkte^9yJjlUVVxSe%_xlzmje|mYOVPH^vjA=?6xd0vaj0Oz zwJ4OJNiFdnHJX3rw&inskjryukl`*fRQ#SMod5J|KroJRsVXa5_$q7whSQ{gOi*s0 z1LeCy|JBWRsDPn7jCb4s(p|JZiZ8+*ExC@Vj)MF|*Vp{B(ziccSn`G1Br9bV(v!C2 z6#?eqpJBc9o@lJ#^p-`-=`4i&wFe>2)nlPK1p9yPFzJCzBQbpkcR>={YtamIw)3nt z(QEF;+)4`>8^_LU)_Q3 zC5_7lgi_6y>U%m)m@}Ku4C}=l^J=<<7c;99ec3p{aR+v=diuJR7uZi%aQv$oP?dn?@6Yu_+*^>T0ptf(oobdL;6)N-I!TO`zg^Xbv3#L0I~sn@WGk-^SmPh5>W+LB<+1PU}AKa?FCWF|qMNELOgdxR{ zbqE7@jVe+FklzdcD$!(A$&}}H*HQFTJ+AOrJYnhh}Yvta(B zQ_bW4Rr;R~&6PAKwgLWXS{Bnln(vUI+~g#kl{r+_zbngT`Y3`^Qf=!PxN4IYX#iW4 zucW7@LLJA9Zh3(rj~&SyN_pjO8H&)|(v%!BnMWySBJV=eSkB3YSTCyIeJ{i;(oc%_hk{$_l;v>nWSB)oVeg+blh=HB5JSlG_r7@P z3q;aFoZjD_qS@zygYqCn=;Zxjo!?NK!%J$ z52lOP`8G3feEj+HTp@Tnn9X~nG=;tS+z}u{mQX_J0kxtr)O30YD%oo)L@wy`jpQYM z@M>Me=95k1p*FW~rHiV1CIfVc{K8r|#Kt(ApkXKsDG$_>76UGNhHExFCw#Ky9*B-z zNq2ga*xax!HMf_|Vp-86r{;~YgQKqu7%szk8$hpvi_2I`OVbG1doP(`gn}=W<8%Gn z%81#&WjkH4GV;4u43EtSW>K_Ta3Zj!XF?;SO3V#q=<=>Tc^@?A`i;&`-cYj|;^ zEo#Jl5zSr~_V-4}y8pnufXLa80vZY4z2ko7fj>DR)#z=wWuS1$$W!L?(y}YC+yQ|G z@L&`2upy3f>~*IquAjkVNU>}c10(fq#HdbK$~Q3l6|=@-eBbo>B9(6xV`*)sae58*f zym~RRVx;xoCG3`JV`xo z!lFw)=t2Hy)e!IFs?0~7osWk(d%^wxq&>_XD4+U#y&-VF%4z?XH^i4w`TxpF{`XhZ z%G}iEzf!T(l>g;W9<~K+)$g!{UvhW{E0Lis(S^%I8OF&%kr!gJ&fMOpM=&=Aj@wuL zBX?*6i51Qb$uhkwkFYkaD_UDE+)rh1c;(&Y=B$3)J&iJfQSx!1NGgPtK!$c9OtJuu zX(pV$bfuJpRR|K(dp@^j}i&HeJOh@|7lWo8^$*o~Xqo z5Sb+!EtJ&e@6F+h&+_1ETbg7LfP5GZjvIUIN3ibCOldAv z)>YdO|NH$x7AC8dr=<2ekiY1%fN*r~e5h6Yaw<{XIErujKV~tiyrvV_DV0AzEknC- zR^xKM3i<1UkvqBj3C{wDvytOd+YtDSGu!gEMg+!&|8BQrT*|p)(dwQLEy+ zMtMzij3zo40)CA!BKZF~yWg?#lWhqD3@qR)gh~D{uZaJO;{OWV8XZ_)J@r3=)T|kt zUS1pXr6-`!Z}w2QR7nP%d?ecf90;K_7C3d!UZ`N(TZoWNN^Q~RjVhQG{Y<%E1PpV^4 z-m-K+$A~-+VDABs^Q@U*)YvhY4Znn2^w>732H?NRK(5QSS$V@D7yz2BVX4)f5A04~$WbxGOam22>t&uD)JB8-~yiQW6ik;FGblY_I>SvB_z2?PS z*Qm&qbKI{H1V@YGWzpx`!v)WeLT02};JJo*#f$a*FH?IIad-^(;9XC#YTWN6;Z6+S zm4O1KH=#V@FJw7Pha0!9Vb%ZIM$)a`VRMoiN&C|$YA3~ZC*8ayZRY^fyuP6$n%2IU z$#XceYZeqLTXw(m$_z|33I$B4k~NZO>pP6)H_}R{E$i%USGy{l{-jOE;%CloYPEU+ zRFxOn4;7lIOh!7abb23YKD+_-?O z0FP9otcAh+oSj;=f#$&*ExUHpd&e#bSF%#8*&ItcL2H$Sa)?pt0Xtf+t)z$_u^wZi z44oE}r4kIZGy3!Mc8q$B&6JqtnHZ>Znn!Zh@6rgIu|yU+zG8q`q9%B18|T|oN3zMq z`l&D;U!OL~%>vo&q0>Y==~zLiCZk4v%s_7!9DxQ~id1LLE93gf*gg&2$|hB#j8;?3 z5v4S;oM6rT{Y;I+#FdmNw z){d%tNM<<#GN%n9ox7B=3#;u7unZ~tLB_vRZ52a&2=IM)2VkXm=L+Iqq~uk#Dug|x z>S84e+A7EiOY5lj*!q?6HDkNh~0g;0Jy(al!ZHHDtur9T$y-~)94HelX1NHjXWIM7UAe}$?jiz z9?P4`I0JM=G5K{3_%2jPLC^_Mlw?-kYYgb7`qGa3@dn|^1fRMwiyM@Ch z;CB&o7&&?c5e>h`IM;Wnha0QKnEp=$hA8TJgR-07N~U5(>9vJzeoFsSRBkDq=x(YgEMpb=l4TDD`2 zwVJpWGTA_u7}?ecW7s6%rUs&NXD3+n;jB86`X?8(l3MBo6)PdakI6V6a}22{)8ilT zM~T*mU}__xSy|6XSrJ^%lDAR3Lft%+yxC|ZUvSO_nqMX!_ul3;R#*{~4DA=h$bP)%8Yv9X zyp><|e8=_ttI}ZAwOd#dlnSjck#6%273{E$kJuCGu=I@O)&6ID{nWF5@gLb16sj|&Sb~+du4e4O_%_o`Ix4NRrAsyr1_}MuP94s>de8cH-OUkVPk3+K z&jW)It9QiU-ti~AuJkL`XMca8Oh4$SyJ=`-5WU<{cIh+XVH#e4d&zive_UHC!pN>W z3TB;Mn5i)9Qn)#6@lo4QpI3jFYc0~+jS)4AFz8fVC;lD^+idw^S~Qhq>Tg(!3$yLD zzktzoFrU@6s4wwCMz}edpF5i5Q1IMmEJQHzp(LAt)pgN3&O!&d?3W@6U4)I^2V{;- z6A(?zd93hS*uQmnh4T)nHnE{wVhh(=MMD(h(P4+^p83Om6t<*cUW>l(qJzr%5vp@K zN27ka(L{JX=1~e2^)F^i=TYj&;<7jyUUR2Bek^A8+3Up*&Xwc{)1nRR5CT8vG>ExV zHnF3UqXJOAno_?bnhCX-&kwI~Ti8t4`n0%Up>!U`ZvK^w2+0Cs-b9%w%4`$+To|k= zKtgc&l}P`*8IS>8DOe?EB84^kx4BQp3<7P{Pq}&p%xF_81pg!l2|u=&I{AuUgmF5n zJQCTLv}%}xbFGYtKfbba{CBo)lWW%Z>i(_NvLhoQZ*5-@2l&x>e+I~0Nld3UI9tdL zRzu8}i;X!h8LHVvN?C+|M81e>Jr38%&*9LYQec9Ax>?NN+9(_>XSRv&6hlCYB`>Qm z1&ygi{Y()OU4@D_jd_-7vDILR{>o|7-k)Sjdxkjgvi{@S>6GqiF|o`*Otr;P)kLHN zZkpts;0zw_6;?f(@4S1FN=m!4^mv~W+lJA`&7RH%2$)49z0A+8@0BCHtj|yH--AEL z0tW6G%X-+J+5a{5*WKaM0QDznf;V?L5&uQw+yegDNDP`hA;0XPYc6e0;Xv6|i|^F2WB)Z$LR|HR4 zTQsRAby9(^Z@yATyOgcfQw7cKyr^3Tz7lc7+JEwwzA7)|2x+PtEb>nD(tpxJQm)Kn zW9K_*r!L%~N*vS8<5T=iv|o!zTe9k_2jC_j*7ik^M_ zaf%k{WX{-;0*`t`G!&`eW;gChVXnJ-Rn)To8vW-?>>a%QU1v`ZC=U)f8iA@%JG0mZ zDqH;~mgBnrCP~1II<=V9;EBL)J+xzCoiRBaeH&J6rL!{4zIY8tZka?_FBeQeNO3q6 zyG_alW54Ba&wQf{&F1v-r1R6ID)PTsqjIBc+5MHkcW5Fnvi~{-FjKe)t1bl}Y;z@< z=!%zvpRua>>t_x}^}z0<7MI!H2v6|XAyR9!t50q-A)xk0nflgF4*OQlCGK==4S|wc zRMsSscNhRzHMBU8TdcHN!q^I}x0iXJ%uehac|Zs_B$p@CnF)HeXPpB_Za}F{<@6-4 zl%kml@}kHQ(ypD8FsPJ2=14xXJE|b20RUIgs!2|R3>LUMGF6X*B_I|$`Qg=;zm7C z{mEDy9dTmPbued7mlO@phdmAmJ7p@GR1bjCkMw6*G7#4+`k>fk1czdJUB!e@Q(~6# zwo%@p@V5RL0ABU2LH7Asq^quDUho@H>eTZH9f*no9fY0T zD_-9px3e}A!>>kv5wk91%C9R1J_Nh!*&Kk$J3KNxC}c_@zlgpJZ+5L)Nw|^p=2ue}CJtm;uj*Iqr)K})kA$xtNUEvX;4!Px*^&9T_`IN{D z{6~QY=Nau6EzpvufB^hflc#XIsSq0Y9(nf$d~6ZwK}fal92)fr%T3=q{0mP-EyP_G z)UR5h@IX}3Qll2b0oCAcBF>b*@Etu*aTLPU<%C>KoOrk=x?pN!#f_Og-w+;xbFgjQ zXp`et%lDBBh~OcFnMKMUoox0YwBNy`N0q~bSPh@+enQ=4RUw1) zpovN`QoV>vZ#5LvC;cl|6jPr}O5tu!Ipoyib8iXqy}TeJ;4+_7r<1kV0v5?Kv>fYp zg>9L`;XwXa&W7-jf|9~uP2iyF5`5AJ`Q~p4eBU$MCC00`rcSF>`&0fbd^_eqR+}mK z4n*PMMa&FOcc)vTUR zlDUAn-mh`ahi_`f`=39JYTNVjsTa_Y3b1GOIi)6dY)D}xeshB0T8Eov5%UhWd1)u}kjEQ|LDo{tqKKrYIfVz~@dp!! zMOnah@vp)%_-jDTUG09l+;{CkDCH|Q{NqX*uHa1YxFShy*1+;J`gywKaz|2Q{lG8x zP?KBur`}r`!WLKXY_K;C8$EWG>jY3UIh{+BLv0=2)KH%P}6xE2kg)%(-uA6lC?u8}{K(#P*c zE9C8t*u%j2r_{;Rpe1A{9nNXU;b_N0vNgyK!EZVut~}+R2rcbsHilqsOviYh-pYX= zHw@53nlmwYI5W5KP>&`dBZe0Jn?nAdC^HY1wlR6$u^PbpB#AS&5L6zqrXN&7*N2Q` z+Rae1EwS)H=aVSIkr8Ek^1jy2iS2o7mqm~Mr&g5=jjt7VxwglQ^`h#Mx+x2v|9ZAwE$i_9918MjJxTMr?n!bZ6n$}y11u8I9COTU`Z$Fi z!AeAQLMw^gp_{+0QTEJrhL424pVDp%wpku~XRlD3iv{vQ!lAf!_jyqd_h}+Tr1XG| z`*FT*NbPqvHCUsYAkFnM`@l4u_QH&bszpUK#M~XLJt{%?00GXY?u_{gj3Hvs!=N(I z(=AuWPijyoU!r?aFTsa8pLB&cx}$*%;K$e*XqF{~*rA-qn)h^!(-;e}O#B$|S~c+U zN4vyOK0vmtx$5K!?g*+J@G1NmlEI=pyZXZ69tAv=@`t%ag_Hk{LP~OH9iE)I= zaJ69b4kuCkV0V zo(M0#>phpQ_)@j;h%m{-a*LGi(72TP)ws2w*@4|C-3+;=5DmC4s7Lp95%n%@Ko zfdr3-a7m*dys9iIci$A=4NPJ`HfJ;hujLgU)ZRuJI`n;Pw|yksu!#LQnJ#dJysgNb z@@qwR^wrk(jbq4H?d!lNyy72~Dnn87KxsgQ!)|*m(DRM+eC$wh7KnS-mho3|KE)7h zK3k;qZ;K1Lj6uEXLYUYi)1FN}F@-xJ z@@3Hb84sl|j{4$3J}aTY@cbX@pzB_qM~APljrjju6P0tY{C@ zpUCOz_NFmALMv1*blCcwUD3?U6tYs+N%cmJ98D%3)%)Xu^uvzF zS5O!sc#X6?EwsYkvPo6A%O8&y8sCCQH<%f2togVwW&{M;PR!a(ZT_A+jVAbf{@5kL zB@Z(hb$3U{T_}SKA_CoQVU-;j>2J=L#lZ~aQCFg-d<9rzs$_gO&d5N6eFSc z1ml8)P*FSi+k@!^M9nDWR5e@ATD8oxtDu=36Iv2!;dZzidIS(PCtEuXAtlBb1;H%Z zwnC^Ek*D)EX4#Q>R$$WA2sxC_t(!!6Tr?C#@{3}n{<^o;9id1RA&-Pig1e-2B1XpG zliNjgmd3c&%A}s>qf{_j#!Z`fu0xIwm4L0)OF=u(OEmp;bLCIaZX$&J_^Z%4Sq4GZ zPn6sV_#+6pJmDN_lx@1;Zw6Md_p0w9h6mHtzpuIEwNn>OnuRSC2=>fP^Hqgc)xu^4 z<3!s`cORHJh#?!nKI`Et7{3C27+EuH)Gw1f)aoP|B3y?fuVfvpYYmmukx0ya-)TQX zR{ggy5cNf4X|g)nl#jC9p>7|09_S7>1D2GTRBUTW zAkQ=JMRogZqG#v;^=11O6@rPPwvJkr{bW-Qg8`q8GoD#K`&Y+S#%&B>SGRL>;ZunM@49!}Uy zN|bBCJ%sO;@3wl0>0gbl3L@1^O60ONObz8ZI7nder>(udj-jt`;yj^nTQ$L9`OU9W zX4alF#$|GiR47%x@s&LV>2Sz2R6?;2R~5k6V>)nz!o_*1Y!$p>BC5&?hJg_MiE6UBy>RkVZj`9UWbRkN-Hk!S`=BS3t3uyX6)7SF#)71*}`~Ogz z1rap5H6~dhBJ83;q-Y<5V35C2&F^JI-it(=5D#v!fAi9p#UwV~2tZQI+W(Dv?1t9? zfh*xpxxO{-(VGB>!Q&0%^YW_F!@aZS#ucP|YaD#>wd1Fv&Z*SR&mc;asi}1G) z_H>`!akh-Zxq9#io(7%;a$)w+{QH)Y$?UK1Dt^4)up!Szcxnu}kn$0afcfJL#IL+S z5gF_Y30j;{lNrG6m~$Ay?)*V9fZuU@3=kd40=LhazjFrau>(Y>SJNtOz>8x_X-BlA zIpl{i>OarVGj1v(4?^1`R}aQB&WCRQzS~;7R{tDZG=HhgrW@B`W|#cdyj%YBky)P= zpxuOZkW>S6%q7U{VsB#G(^FMsH5QuGXhb(sY+!-R8Bmv6Sx3WzSW<1MPPN1!&PurYky(@`bP9tz z52}LH9Q?+FF5jR6-;|+GVdRA!qtd;}*-h&iIw3Tq3qF9sDIb1FFxGbo&fbG5n8$3F zyY&PWL{ys^dTO}oZ#@sIX^BKW*bon=;te9j5k+T%wJ zNJtoN1~YVj4~YRrlZl)b&kJqp+Z`DqT!la$x&&IxgOQw#yZd-nBP3!7FijBXD|IsU8Zl^ zc6?MKpJQ+7ka|tZQLfchD$PD|;K(9FiLE|eUZX#EZxhG!S-63C$jWX1Yd!6-Yxi-u zjULIr|0-Q%D9jz}IF~S%>0(jOqZ(Ln<$9PxiySr&2Oic7vb<8q=46)Ln%Z|<*z5&> z3f~Zw@m;vR(bESB<=Jqkxn(=#hQw42l(7)h`vMQQTttz9XW6^|^8EK7qhju4r_c*b zJIi`)MB$w@9epwdIfnEBR+?~);yd6C(LeMC& zn&&N*?-g&BBJcV;8&UoZi4Lmxcj16ojlxR~zMrf=O_^i1wGb9X-0@6_rpjPYemIin zmJb+;lHe;Yp=8G)Q(L1bzH*}I>}uAqhj4;g)PlvD9_e_ScR{Ipq|$8NvAvLD8MYr}xl=bU~)f%B3E>r3Bu9_t|ThF3C5~BdOve zEbk^r&r#PT&?^V1cb{72yEWH}TXEE}w>t!cY~rA+hNOTK8FAtIEoszp!qqptS&;r$ zaYV-NX96-h$6aR@1xz6_E0^N49mU)-v#bwtGJm)ibygzJ8!7|WIrcb`$XH~^!a#s& z{Db-0IOTFq#9!^j!n_F}#Z_nX{YzBK8XLPVmc&X`fT7!@$U-@2KM9soGbmOSAmqV z{nr$L^MBo_u^Joyf0E^=eo{Rt0{{e$IFA(#*kP@SQd6lWT2-#>` zP1)7_@IO!9lk>Zt?#CU?cuhiLF&)+XEM9B)cS(gvQT!X3`wL*{fArTS;Ak`J<84du zALKPz4}3nlG8Fo^MH0L|oK2-4xIY!~Oux~1sw!+It)&D3p;+N8AgqKI`ld6v71wy8I!eP0o~=RVcFQR2Gr(eP_JbSytoQ$Yt}l*4r@A8Me94y z8cTDWhqlq^qoAhbOzGBXv^Wa4vUz$(7B!mX`T=x_ueKRRDfg&Uc-e1+z4x$jyW_Pm zp?U;-R#xt^Z8Ev~`m`iL4*c#65Nn)q#=Y0l1AuD&+{|8-Gsij3LUZXpM0Bx0u7WWm zH|%yE@-#XEph2}-$-thl+S;__ciBxSSzHveP%~v}5I%u!z_l_KoW{KRx2=eB33umE zIYFtu^5=wGU`Jab8#}cnYry@9p5UE#U|VVvx_4l49JQ;jQdp(uw=$^A$EA$LM%vmE zvdEOaIcp5qX8wX{mYf0;#51~imYYPn4=k&#DsKTxo{_Mg*;S495?OBY?#gv=edYC* z^O@-sd-qa+U24xvcbL0@C7_6o!$`)sVr-jSJE4XQUQ$?L7}2(}Eixqv;L8AdJAVqc zq}RPgpnDb@E_;?6K58r3h4-!4rT4Ab#rLHLX?eMOfluJk=3i1@Gt1i#iA=O`M0@x! z(HtJP9BMHXEzuD93m|B&woj0g6T?f#^)>J>|I4C5?Gam>n9!8CT%~aT;=oco5d6U8 zMXl(=W;$ND_8+DD*?|5bJ!;8ebESXMUKBAf7YBwNVJibGaJ*(2G`F%wx)grqVPjudiaq^Kl&g$8A2 zWMxMr@_$c}d+;_B`#kUX-t|4VKH&_f^^EP0&=DPLW)H)UzBG%%Tra*5 z%$kyZe3I&S#gfie^z5)!twG={3Cuh)FdeA!Kj<-9** zvT*5%Tb`|QbE!iW-XcOuy39>D3oe6x{>&<#E$o8Ac|j)wq#kQzz|ATd=Z0K!p2$QE zPu?jL8Lb^y3_CQE{*}sTDe!2!dtlFjq&YLY@2#4>XS`}v#PLrpvc4*@q^O{mmnr5D zmyJq~t?8>FWU5vZdE(%4cuZuao0GNjp3~Dt*SLaxI#g_u>hu@k&9Ho*#CZP~lFJHj z(e!SYlLigyc?&5-YxlE{uuk$9b&l6d`uIlpg_z15dPo*iU&|Khx2*A5Fp;8iK_bdP z?T6|^7@lcx2j0T@x>X7|kuuBSB7<^zeY~R~4McconTxA2flHC0_jFxmSTv-~?zVT| zG_|yDqa9lkF*B6_{j=T>=M8r<0s;@z#h)3BQ4NLl@`Xr__o7;~M&dL3J8fP&zLfDfy z);ckcTev{@OUlZ`bCo(-3? z1u1xD`PKgSg?RqeVVsF<1SLF;XYA@Bsa&cY!I48ZJn1V<3d!?s=St?TLo zC0cNr`qD*M#s6f~X>SCNVkva^9A2ZP>CoJ9bvgXe_c}WdX-)pHM5m7O zrHt#g$F0AO+nGA;7dSJ?)|Mo~cf{z2L)Rz!`fpi73Zv)H=a5K)*$5sf_IZypi($P5 zsPwUc4~P-J1@^3C6-r9{V-u0Z&Sl7vNfmuMY4yy*cL>_)BmQF!8Om9Dej%cHxbIzA zhtV0d{=%cr?;bpBPjt@4w=#<>k5ee=TiWAXM2~tUGfm z$s&!Dm0R^V$}fOR*B^kGaipi~rx~A2cS0;t&khV1a4u38*XRUP~f za!rZMtay8bsLt6yFYl@>-y^31(*P!L^^s@mslZy(SMsv9bVoX`O#yBgEcjCmGpyc* zeH$Dw6vB5P*;jor+JOX@;6K#+xc)Z9B8M=x2a@Wx-{snPGpRmOC$zpsqW*JCh@M2Y z#K+M(>=#d^>Of9C`))h<=Bsy)6zaMJ&x-t%&+UcpLjV`jo4R2025 zXaG8EA!0lQa)|dx-@{O)qP6`$rhCkoQqZ`^SW8g-kOwrwsK8 z3ms*AIcyj}-1x&A&vSq{r=QMyp3CHdWH35!sad#!Sm>^|-|afB+Q;|Iq@LFgqIp#Z zD1%H+3I?6RGnk&IFo|u+E0dCxXz4yI^1i!QTu7uvIEH>i3rR{srcST`LIRwdV1P;W z+%AN1NIf@xxvVLiSX`8ILA8MzNqE&7>%jMzGt9wm78bo9<;h*W84i29^w!>V>{N+S zd`5Zmz^G;f=icvoOZfK5#1ctx*~UwD=ab4DGQXehQ!XYnak*dee%YN$_ZPL%KZuz$ zD;$PpT;HM^$KwtQm@7uvT`i6>Hae1CoRVM2)NL<2-k2PiX=eAx+-6j#JI?M}(tuBW zkF%jjLR)O`gI2fcPBxF^HeI|DWwQWHVR!;;{BXXHskxh8F@BMDn`oEi-NHt;CLymW z=KSv5)3dyzec0T5B*`g-MQ<;gz=nIWKUi9ko<|4I(-E0k$QncH>E4l z**1w&#={&zv4Tvhgz#c29`m|;lU-jmaXFMC11 z*dlXDMEOG>VoLMc>!rApwOu2prKSi*!w%`yzGmS+k(zm*CsLK*wv{S_0WX^8A-rKy zbk^Gf_92^7iB_uUF)EE+ET4d|X|>d&mdN?x@vxKAQk`O+r4Qdu>XGy(a(19g;=jU} zFX{O*_NG>!$@jh!U369Lnc+D~qch3uT+_Amyi}*k#LAAwh}k8IPK5a-WZ81ufD>l> z$4cF}GSz>ce`3FAic}6W4Z7m9KGO?(eWqi@L|5Hq0@L|&2flN1PVl}XgQ2q*_n2s3 zt5KtowNkTYB5b;SVuoXA@i5irXO)A&%7?V`1@HGCB&)Wgk+l|^XXChq;u(nyPB}b3 zY>m5jkxpZgi)zfbgv&ec4Zqdvm+D<?Im*mXweS9H+V>)zF#Zp3)bhl$PbISY{5=_z!8&*Jv~NYtI-g!>fDs zmvL5O^U%!^VaKA9gvKw|5?-jk>~%CVGvctKmP$kpnpfN{D8@X*Aazi$txfa%vd-|E z>kYmV66W!lNekJPom29LdZ%(I+ZLZYTXzTg*to~m?7vp%{V<~>H+2}PQ?PPAq`36R z<%wR8v6UkS>Wt#hzGk#44W<%9S=nBfB);6clKwnxY}T*w21Qc3_?IJ@4gYzC7s;WP zVQNI(M=S=JT#xsZy7G`cR(BP9*je0bfeN8JN5~zY(DDs0t{LpHOIbN);?T-69Pf3R zSNe*&p2%AwXHL>__g+xd4Hlc_vu<25H?(`nafS%)3UPP7_4;gk-9ckt8SJRTv5v0M z_Hww`qPudL?ajIR&X*;$y-`<)6dxx1U~5eGS13CB!lX;3w7n&lDDiArbAhSycd}+b zya_3p@A`$kQy;|NJZ~s44Hqo7Hwt}X86NK=(ey>lgWTtGL6k@Gy;PbO!M%1~Wcn2k zUFP|*5d>t-X*RU8g%>|(wwj*~#l4z^Aatf^DWd1Wj#Q*AY0D^V@sC`M zjJc6qXu0I7Y*2;;gGu!plAFzG=J;1%eIOdn zQA>J&e05UN*7I5@yRhK|lbBSfJ+5Uq;!&HV@xfPZrgD}kE*1DSq^=%{o%|LChhl#0 zlMb<^a6ixzpd{kNZr|3jTGeEzuo}-eLT-)Q$#b{!vKx8Tg}swCni>{#%vDY$Ww$84 zew3c9BBovqb}_&BRo#^!G(1Eg((BScRZ}C)Oz?y`T5wOrv);)b^4XR8 zhJo7+<^7)qB>I;46!GySzdneZ>n_E1oWZY;kf94#)s)kWjuJN1c+wbVoNQcmnv}{> zN0pF+Sl3E}UQ$}slSZeLJrwT>Sr}#V(dVaezCQl2|4LN`7L7v&siYR|r7M(*JYfR$ zst3=YaDw$FSc{g}KHO&QiKxuhEzF{f%RJLKe3p*7=oo`WNP)M(9X1zIQPP0XHhY3c znrP{$4#Ol$A0s|4S7Gx2L23dv*Gv2o;h((XVn+9+$qvm}s%zi6nI-_s6?mG! zj{DV;qesJb&owKeEK?=J>UcAlYckA7Sl+I&IN=yasrZOkejir*kE@SN`fk<8Fgx*$ zy&fE6?}G)d_N`){P~U@1jRVA|2*69)KSe_}!~?+`Yb{Y=O~_+@!j<&oVQQMnhoIRU zA0CyF1OFfkK44n*JD~!2!SCPM;PRSk%1XL=0&rz00wxPs&-_eapJy#$h!eqY%nS0{ z!aGg58JIJPF3_ci%n)QSVpa2H`vIe$RD43;#IRfDV&Ibit z+?>HW4{2wOfC6Fw)}4x}i1maDxcE1qi@BS*qcxD2gE@h3#4cgU*D-&3z7D|tVZWt= z-Cy2+*Cm@P4GN_TPUtaVyVesbVDazF@)j8VJ4>XZv!f%}&eO1SvIgr}4`A*3#vat< z_MoByL(qW6L7SFZ#|Gc1fFN)L2PxY+{B8tJp+pxRyz*87)vXR}*=&ahXjBlQKguuf zX6x<<6fQulE^C*KH8~W%ptpaC0l?b=_{~*U4?5Vt;dgM4t_{&UZ1C2j?b>b+5}{IF_CUyvz-@QZPMlJ)r_tS$9kH%RPv#2_nMb zRLj5;chJ72*U`Z@Dqt4$@_+k$%|8m(HqLG!qT4P^DdfvGf&){gKnGCX#H0!;W=AGP zbA&Z`-__a)VTS}kKFjWGk z%|>yE?t*EJ!qeQ%dPk$;xIQ+P0;()PCBDgjJm6Buj{f^awNoVx+9<|lg3%-$G(*f) zll6oOkN|yamn1uyl2*N-lnqRI1cvs_JxLTeahEK=THV$Sz*gQhKNb*p0fNoda#-&F zB-qJgW^g}!TtM|0bS2QZekW7_tKu%GcJ!4?lObt0z_$mZ4rbQ0o=^curCs3bJK6sq z9fu-aW-l#>z~ca(B;4yv;2RZ?tGYAU)^)Kz{L|4oPj zdOf_?de|#yS)p2v8-N||+XL=O*%3+y)oI(HbM)Ds?q8~HPzIP(vs*G`iddbWq}! z(2!VjP&{Z1w+%eUq^ '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/gradlew.bat b/java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/gradlew.bat deleted file mode 100644 index f127cfd49d4..00000000000 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/gradlew.bat +++ /dev/null @@ -1,91 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/test.py b/java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/test.py index 23fe1d32fd8..f58e84e77a2 100644 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/test.py +++ b/java/ql/integration-tests/all-platforms/java/diagnostics/android-gradle-incompatibility/test.py @@ -1,7 +1,2 @@ -import os -from create_database_utils import * -from diagnostics_test_utils import * - -run_codeql_database_create([], lang="java", runFunction = runUnsuccessfully, db = None) - -check_diagnostics() +def test(codeql, java, gradle_7_3, android_sdk): + codeql.database.create(_assert_failure=True) diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/compilation-error/test.py b/java/ql/integration-tests/all-platforms/java/diagnostics/compilation-error/test.py index 23fe1d32fd8..a0c0737d3ac 100644 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/compilation-error/test.py +++ b/java/ql/integration-tests/all-platforms/java/diagnostics/compilation-error/test.py @@ -1,7 +1,2 @@ -import os -from create_database_utils import * -from diagnostics_test_utils import * - -run_codeql_database_create([], lang="java", runFunction = runUnsuccessfully, db = None) - -check_diagnostics() +def test(codeql, java): + codeql.database.create(_assert_failure=True) diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/dependency-error/test.py b/java/ql/integration-tests/all-platforms/java/diagnostics/dependency-error/test.py index 1838af5db40..d285932b959 100644 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/dependency-error/test.py +++ b/java/ql/integration-tests/all-platforms/java/diagnostics/dependency-error/test.py @@ -1,18 +1,4 @@ -import os -import pathlib -import shutil -import re - -from create_database_utils import * -from diagnostics_test_utils import * - -# Ensure the intended dependency download failure is not cached: -try: - shutil.rmtree(pathlib.Path.home().joinpath(".m2", "repository", "junit", "junit-nonesuch")) -except FileNotFoundError: - pass - -run_codeql_database_create([], lang="java", runFunction = runUnsuccessfully, db = None) - -# Drop the specific output line here because it varies from version to version of Maven. -check_diagnostics(replacements = {"Relevant output line: [^\"]*": ""}) +def test(codeql, java, check_diagnostics): + codeql.database.create(_assert_failure=True) + # Drop the specific output line here because it varies from version to version of Maven. + check_diagnostics.replacements = [('Relevant output line: [^"]*', "")] diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/.gitattributes b/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/.gitattributes deleted file mode 100644 index 00a51aff5e5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/.gitattributes +++ /dev/null @@ -1,6 +0,0 @@ -# -# https://help.github.com/articles/dealing-with-line-endings/ -# -# These are explicitly windows files and should use crlf -*.bat text eol=crlf - diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/.gitignore b/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/.gitignore deleted file mode 100644 index 1b6985c0094..00000000000 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -# Ignore Gradle project-specific cache directory -.gradle - -# Ignore Gradle build output directory -build diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/force_sequential_test_execution deleted file mode 100644 index b0e2500b259..00000000000 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/force_sequential_test_execution +++ /dev/null @@ -1,3 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradle/verification-metadata.xml b/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradle/verification-metadata.xml deleted file mode 100644 index 14a69b8178b..00000000000 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradle/verification-metadata.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - true - false - - \ No newline at end of file diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradle/wrapper/gradle-wrapper.jar b/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index e708b1c023ec8b20f512888fe07c5bd3ff77bb8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59203 zcma&O1CT9Y(k9%tZQHhO+qUh#ZQHhO+qmuS+qP|E@9xZO?0h@l{(r>DQ>P;GjjD{w zH}lENr;dU&FbEU?00aa80D$0M0RRB{U*7-#kbjS|qAG&4l5%47zyJ#WrfA#1$1Ctx zf&Z_d{GW=lf^w2#qRJ|CvSJUi(^E3iv~=^Z(zH}F)3Z%V3`@+rNB7gTVU{Bb~90p|f+0(v;nz01EG7yDMX9@S~__vVgv%rS$+?IH+oZ03D5zYrv|^ zC1J)SruYHmCki$jLBlTaE5&dFG9-kq3!^i>^UQL`%gn6)jz54$WDmeYdsBE9;PqZ_ zoGd=P4+|(-u4U1dbAVQrFWoNgNd;0nrghPFbQrJctO>nwDdI`Q^i0XJDUYm|T|RWc zZ3^Qgo_Qk$%Fvjj-G}1NB#ZJqIkh;kX%V{THPqOyiq)d)0+(r9o(qKlSp*hmK#iIY zA^)Vr$-Hz<#SF=0@tL@;dCQsm`V9s1vYNq}K1B)!XSK?=I1)tX+bUV52$YQu*0%fnWEukW>mxkz+%3-S!oguE8u#MGzST8_Dy^#U?fA@S#K$S@9msUiX!gd_ow>08w5)nX{-KxqMOo7d?k2&?Vf z&diGDtZr(0cwPe9z9FAUSD9KC)7(n^lMWuayCfxzy8EZsns%OEblHFSzP=cL6}?J| z0U$H!4S_TVjj<`6dy^2j`V`)mC;cB%* z8{>_%E1^FH!*{>4a7*C1v>~1*@TMcLK{7nEQ!_igZC}ikJ$*<$yHy>7)oy79A~#xE zWavoJOIOC$5b6*q*F_qN1>2#MY)AXVyr$6x4b=$x^*aqF*L?vmj>Mgv+|ITnw_BoW zO?jwHvNy^prH{9$rrik1#fhyU^MpFqF2fYEt(;4`Q&XWOGDH8k6M=%@fics4ajI;st# zCU^r1CK&|jzUhRMv;+W~6N;u<;#DI6cCw-otsc@IsN3MoSD^O`eNflIoR~l4*&-%RBYk@gb^|-JXs&~KuSEmMxB}xSb z@K76cXD=Y|=I&SNC2E+>Zg?R6E%DGCH5J1nU!A|@eX9oS(WPaMm==k2s_ueCqdZw| z&hqHp)47`c{BgwgvY2{xz%OIkY1xDwkw!<0veB#yF4ZKJyabhyyVS`gZepcFIk%e2 zTcrmt2@-8`7i-@5Nz>oQWFuMC_KlroCl(PLSodswHqJ3fn<;gxg9=}~3x_L3P`9Sn zChIf}8vCHvTriz~T2~FamRi?rh?>3bX1j}%bLH+uFX+p&+^aXbOK7clZxdU~6Uxgy z8R=obwO4dL%pmVo*Ktf=lH6hnlz_5k3cG;m8lgaPp~?eD!Yn2kf)tU6PF{kLyn|oI@eQ`F z3IF7~Blqg8-uwUuWZScRKn%c2_}dXB6Dx_&xR*n9M9LXasJhtZdr$vBY!rP{c@=)& z#!?L$2UrkvClwQO>U*fSMs67oSj2mxiJ$t;E|>q%Kh_GzzWWO&3;ufU%2z%ucBU8H z3WIwr$n)cfCXR&>tyB7BcSInK>=ByZA%;cVEJhcg<#6N{aZC4>K41XF>ZgjG`z_u& zGY?;Ad?-sgiOnI`oppF1o1Gurqbi*;#x2>+SSV6|1^G@ooVy@fg?wyf@0Y!UZ4!}nGuLeC^l)6pwkh|oRY`s1Pm$>zZ3u-83T|9 zGaKJIV3_x+u1>cRibsaJpJqhcm%?0-L;2 zitBrdRxNmb0OO2J%Y&Ym(6*`_P3&&5Bw157{o7LFguvxC$4&zTy#U=W*l&(Q2MNO} zfaUwYm{XtILD$3864IA_nn34oVa_g^FRuHL5wdUd)+W-p-iWCKe8m_cMHk+=? zeKX)M?Dt(|{r5t7IenkAXo%&EXIb-i^w+0CX0D=xApC=|Xy(`xy+QG^UyFe z+#J6h_&T5i#sV)hj3D4WN%z;2+jJcZxcI3*CHXGmOF3^)JD5j&wfX)e?-|V0GPuA+ zQFot%aEqGNJJHn$!_}#PaAvQ^{3-Ye7b}rWwrUmX53(|~i0v{}G_sI9uDch_brX&6 zWl5Ndj-AYg(W9CGfQf<6!YmY>Ey)+uYd_JNXH=>|`OH-CDCmcH(0%iD_aLlNHKH z7bcW-^5+QV$jK?R*)wZ>r9t}loM@XN&M-Pw=F#xn(;u3!(3SXXY^@=aoj70;_=QE9 zGghsG3ekq#N||u{4We_25U=y#T*S{4I{++Ku)> zQ!DZW;pVcn>b;&g2;YE#+V`v*Bl&Y-i@X6D*OpNA{G@JAXho&aOk(_j^weW{#3X5Y z%$q_wpb07EYPdmyH(1^09i$ca{O<}7) zRWncXdSPgBE%BM#by!E>tdnc$8RwUJg1*x($6$}ae$e9Knj8gvVZe#bLi!<+&BkFj zg@nOpDneyc+hU9P-;jmOSMN|*H#>^Ez#?;%C3hg_65leSUm;iz)UkW)jX#p)e&S&M z1|a?wDzV5NVnlhRBCd_;F87wp>6c<&nkgvC+!@KGiIqWY4l}=&1w7|r6{oBN8xyzh zG$b#2=RJp_iq6)#t5%yLkKx(0@D=C3w+oiXtSuaQ%I1WIb-eiE$d~!)b@|4XLy!CZ z9p=t=%3ad@Ep+<9003D2KZ5VyP~_n$=;~r&YUg5UZ0KVD&tR1DHy9x)qWtKJp#Kq# zP*8p#W(8JJ_*h_3W}FlvRam?<4Z+-H77^$Lvi+#vmhL9J zJ<1SV45xi;SrO2f=-OB(7#iNA5)x1uNC-yNxUw|!00vcW2PufRm>e~toH;M0Q85MQLWd?3O{i8H+5VkR@l9Dg-ma ze2fZ%>G(u5(k9EHj2L6!;(KZ8%8|*-1V|B#EagbF(rc+5iL_5;Eu)L4Z-V;0HfK4d z*{utLse_rvHZeQ>V5H=f78M3Ntg1BPxFCVD{HbNA6?9*^YIq;B-DJd{Ca2L#)qWP? zvX^NhFmX?CTWw&Ns}lgs;r3i+Bq@y}Ul+U%pzOS0Fcv9~aB(0!>GT0)NO?p=25LjN z2bh>6RhgqD7bQj#k-KOm@JLgMa6>%-ok1WpOe)FS^XOU{c?d5shG(lIn3GiVBxmg`u%-j=)^v&pX1JecJics3&jvPI)mDut52? z3jEA)DM%}BYbxxKrizVYwq?(P&19EXlwD9^-6J+4!}9{ywR9Gk42jjAURAF&EO|~N z)?s>$Da@ikI4|^z0e{r`J8zIs>SpM~Vn^{3fArRu;?+43>lD+^XtUcY1HidJwnR6+ z!;oG2=B6Z_=M%*{z-RaHc(n|1RTKQdNjjV!Pn9lFt^4w|AeN06*j}ZyhqZ^!-=cyGP_ShV1rGxkx8t zB;8`h!S{LD%ot``700d0@Grql(DTt4Awgmi+Yr0@#jbe=2#UkK%rv=OLqF)9D7D1j z!~McAwMYkeaL$~kI~90)5vBhBzWYc3Cj1WI0RS`z000R8-@ET0dA~*r(gSiCJmQMN&4%1D zyVNf0?}sBH8zNbBLn>~(W{d3%@kL_eQ6jEcR{l>C|JK z(R-fA!z|TTRG40|zv}7E@PqCAXP3n`;%|SCQ|ZS%ym$I{`}t3KPL&^l5`3>yah4*6 zifO#{VNz3)?ZL$be;NEaAk9b#{tV?V7 zP|wf5YA*1;s<)9A4~l3BHzG&HH`1xNr#%){4xZ!jq%o=7nN*wMuXlFV{HaiQLJ`5G zBhDi#D(m`Q1pLh@Tq+L;OwuC52RdW7b8}~60WCOK5iYMUad9}7aWBuILb({5=z~YF zt?*Jr5NG+WadM{mDL>GyiByCuR)hd zA=HM?J6l1Xv0Dl+LW@w$OTcEoOda^nFCw*Sy^I@$sSuneMl{4ys)|RY#9&NxW4S)9 zq|%83IpslTLoz~&vTo!Ga@?rj_kw{|k{nv+w&Ku?fyk4Ki4I?);M|5Axm)t+BaE)D zm(`AQ#k^DWrjbuXoJf2{Aj^KT zFb1zMSqxq|vceV+Mf-)$oPflsO$@*A0n0Z!R{&(xh8s}=;t(lIy zv$S8x>m;vQNHuRzoaOo?eiWFe{0;$s`Bc+Osz~}Van${u;g(su`3lJ^TEfo~nERfP z)?aFzpDgnLYiERsKPu|0tq4l2wT)Atr6Qb%m-AUn6HnCue*yWICp7TjW$@sO zm5rm4aTcPQ(rfi7a`xP7cKCFrJD}*&_~xgLyr^-bmsL}y;A5P|al8J3WUoBSjqu%v zxC;mK!g(7r6RRJ852Z~feoC&sD3(6}^5-uLK8o)9{8L_%%rItZK9C){UxB|;G>JbP zsRRtS4-3B*5c+K2kvmgZK8472%l>3cntWUOVHxB|{Ay~aOg5RN;{PJgeVD*H%ac+y!h#wi%o2bF2Ca8IyMyH{>4#{E_8u^@+l-+n=V}Sq?$O z{091@v%Bd*3pk0^2UtiF9Z+(a@wy6 zUdw8J*ze$K#=$48IBi1U%;hmhO>lu!uU;+RS}p&6@rQila7WftH->*A4=5W|Fmtze z)7E}jh@cbmr9iup^i%*(uF%LG&!+Fyl@LFA-}Ca#bxRfDJAiR2dt6644TaYw1Ma79 zt8&DYj31j^5WPNf5P&{)J?WlCe@<3u^78wnd(Ja4^a>{^Tw}W>|Cjt^If|7l^l)^Q zbz|7~CF(k_9~n|h;ysZ+jHzkXf(*O*@5m zLzUmbHp=x!Q|!9NVXyipZ3)^GuIG$k;D)EK!a5=8MFLI_lpf`HPKl=-Ww%z8H_0$j ztJ||IfFG1lE9nmQ0+jPQy zCBdKkjArH@K7jVcMNz);Q(Q^R{d5G?-kk;Uu_IXSyWB)~KGIizZL(^&qF;|1PI7!E zTP`%l)gpX|OFn&)M%txpQ2F!hdA~hX1Cm5)IrdljqzRg!f{mN%G~H1&oqe`5eJCIF zHdD7O;AX-{XEV(a`gBFJ9ews#CVS2y!&>Cm_dm3C8*n3MA*e67(WC?uP@8TXuMroq z{#w$%z@CBIkRM7?}Xib+>hRjy?%G!fiw8! z8(gB+8J~KOU}yO7UGm&1g_MDJ$IXS!`+*b*QW2x)9>K~Y*E&bYMnjl6h!{17_8d!%&9D`a7r&LKZjC<&XOvTRaKJ1 zUY@hl5^R&kZl3lU3njk`3dPzxj$2foOL26r(9zsVF3n_F#v)s5vv3@dgs|lP#eylq62{<-vczqP!RpVBTgI>@O6&sU>W|do17+#OzQ7o5A$ICH z?GqwqnK^n2%LR;$^oZM;)+>$X3s2n}2jZ7CdWIW0lnGK-b#EG01)P@aU`pg}th&J-TrU`tIpb5t((0eu|!u zQz+3ZiOQ^?RxxK4;zs=l8q!-n7X{@jSwK(iqNFiRColuEOg}!7cyZi`iBX4g1pNBj zAPzL?P^Ljhn;1$r8?bc=#n|Ed7wB&oHcw()&*k#SS#h}jO?ZB246EGItsz*;^&tzp zu^YJ0=lwsi`eP_pU8}6JA7MS;9pfD;DsSsLo~ogzMNP70@@;Fm8f0^;>$Z>~}GWRw!W5J3tNX*^2+1f3hz{~rIzJo z6W%J(H!g-eI_J1>0juX$X4Cl6i+3wbc~k146UIX&G22}WE>0ga#WLsn9tY(&29zBvH1$`iWtTe zG2jYl@P!P)eb<5DsR72BdI7-zP&cZNI{7q3e@?N8IKc4DE#UVr->|-ryuJXk^u^>4 z$3wE~=q390;XuOQP~TNoDR?#|NSPJ%sTMInA6*rJ%go|=YjGe!B>z6u$IhgQSwoV* zjy3F2#I>uK{42{&IqP59)Y(1*Z>>#W8rCf4_eVsH)`v!P#^;BgzKDR`ARGEZzkNX+ zJUQu=*-ol=Xqqt5=`=pA@BIn@6a9G8C{c&`i^(i+BxQO9?YZ3iu%$$da&Kb?2kCCo zo7t$UpSFWqmydXf@l3bVJ=%K?SSw)|?srhJ-1ZdFu*5QhL$~-IQS!K1s@XzAtv6*Y zl8@(5BlWYLt1yAWy?rMD&bwze8bC3-GfNH=p zynNFCdxyX?K&G(ZZ)afguQ2|r;XoV^=^(;Cku#qYn4Lus`UeKt6rAlFo_rU`|Rq z&G?~iWMBio<78of-2X(ZYHx~=U0Vz4btyXkctMKdc9UM!vYr~B-(>)(Hc|D zMzkN4!PBg%tZoh+=Gba!0++d193gbMk2&krfDgcbx0jI92cq?FFESVg0D$>F+bil} zY~$)|>1HZsX=5sAZ2WgPB5P=8X#TI+NQ(M~GqyVB53c6IdX=k>Wu@A0Svf5#?uHaF zsYn|koIi3$(%GZ2+G+7Fv^lHTb#5b8sAHSTnL^qWZLM<(1|9|QFw9pnRU{svj}_Al zL)b9>fN{QiA($8peNEJyy`(a{&uh-T4_kdZFIVsKKVM(?05}76EEz?#W za^fiZOAd14IJ4zLX-n7Lq0qlQ^lW8Cvz4UKkV9~P}>sq0?xD3vg+$4vLm~C(+ zM{-3Z#qnZ09bJ>}j?6ry^h+@PfaD7*jZxBEY4)UG&daWb??6)TP+|3#Z&?GL?1i+280CFsE|vIXQbm| zM}Pk!U`U5NsNbyKzkrul-DzwB{X?n3E6?TUHr{M&+R*2%yOiXdW-_2Yd6?38M9Vy^ z*lE%gA{wwoSR~vN0=no}tP2Ul5Gk5M(Xq`$nw#ndFk`tcpd5A=Idue`XZ!FS>Q zG^0w#>P4pPG+*NC9gLP4x2m=cKP}YuS!l^?sHSFftZy{4CoQrb_ z^20(NnG`wAhMI=eq)SsIE~&Gp9Ne0nD4%Xiu|0Fj1UFk?6avDqjdXz{O1nKao*46y zT8~iA%Exu=G#{x=KD;_C&M+Zx4+n`sHT>^>=-1YM;H<72k>$py1?F3#T1*ef9mLZw z5naLQr?n7K;2l+{_uIw*_1nsTn~I|kkCgrn;|G~##hM;9l7Jy$yJfmk+&}W@JeKcF zx@@Woiz8qdi|D%aH3XTx5*wDlbs?dC1_nrFpm^QbG@wM=i2?Zg;$VK!c^Dp8<}BTI zyRhAq@#%2pGV49*Y5_mV4+OICP|%I(dQ7x=6Ob}>EjnB_-_18*xrY?b%-yEDT(wrO z9RY2QT0`_OpGfMObKHV;QLVnrK%mc?$WAdIT`kJQT^n%GuzE7|9@k3ci5fYOh(287 zuIbg!GB3xLg$YN=n)^pHGB0jH+_iIiC=nUcD;G6LuJsjn2VI1cyZx=a?ShCsF==QK z;q~*m&}L<-cb+mDDXzvvrRsybcgQ;Vg21P(uLv5I+eGc7o7tc6`;OA9{soHFOz zT~2?>Ts}gprIX$wRBb4yE>ot<8+*Bv`qbSDv*VtRi|cyWS>)Fjs>fkNOH-+PX&4(~ z&)T8Zam2L6puQl?;5zg9h<}k4#|yH9czHw;1jw-pwBM*O2hUR6yvHATrI%^mvs9q_ z&ccT0>f#eDG<^WG^q@oVqlJrhxH)dcq2cty@l3~|5#UDdExyXUmLQ}f4#;6fI{f^t zDCsgIJ~0`af%YR%Ma5VQq-p21k`vaBu6WE?66+5=XUd%Ay%D$irN>5LhluRWt7 zov-=f>QbMk*G##&DTQyou$s7UqjjW@k6=!I@!k+S{pP8R(2=e@io;N8E`EOB;OGoI zw6Q+{X1_I{OO0HPpBz!X!@`5YQ2)t{+!?M_iH25X(d~-Zx~cXnS9z>u?+If|iNJbx zyFU2d1!ITX64D|lE0Z{dLRqL1Ajj=CCMfC4lD3&mYR_R_VZ>_7_~|<^o*%_&jevU+ zQ4|qzci=0}Jydw|LXLCrOl1_P6Xf@c0$ieK2^7@A9UbF{@V_0p%lqW|L?5k>bVM8|p5v&2g;~r>B8uo<4N+`B zH{J)h;SYiIVx@#jI&p-v3dwL5QNV1oxPr8J%ooezTnLW>i*3Isb49%5i!&ac_dEXv zvXmVUck^QHmyrF8>CGXijC_R-y(Qr{3Zt~EmW)-nC!tiH`wlw5D*W7Pip;T?&j%kX z6DkZX4&}iw>hE(boLyjOoupf6JpvBG8}jIh!!VhnD0>}KSMMo{1#uU6kiFcA04~|7 zVO8eI&x1`g4CZ<2cYUI(n#wz2MtVFHx47yE5eL~8bot~>EHbevSt}LLMQX?odD{Ux zJMnam{d)W4da{l7&y-JrgiU~qY3$~}_F#G7|MxT)e;G{U`In&?`j<5D->}cb{}{T(4DF0BOk-=1195KB-E*o@c?`>y#4=dMtYtSY=&L{!TAjFVcq0y@AH`vH! z$41+u!Ld&}F^COPgL(EE{0X7LY&%D7-(?!kjFF7=qw<;`V{nwWBq<)1QiGJgUc^Vz ztMUlq1bZqKn17|6x6iAHbWc~l1HcmAxr%$Puv!znW)!JiukwIrqQ00|H$Z)OmGG@= zv%A8*4cq}(?qn4rN6o`$Y))(MyXr8R<2S^J+v(wmFmtac!%VOfN?&(8Nr!T@kV`N; z*Q33V3t`^rN&aBiHet)18wy{*wi1=W!B%B-Q6}SCrUl$~Hl{@!95ydml@FK8P=u4s z4e*7gV2s=YxEvskw2Ju!2%{8h01rx-3`NCPc(O zH&J0VH5etNB2KY6k4R@2Wvl^Ck$MoR3=)|SEclT2ccJ!RI9Nuter7u9@;sWf-%um;GfI!=eEIQ2l2p_YWUd{|6EG ze{yO6;lMc>;2tPrsNdi@&1K6(1;|$xe8vLgiouj%QD%gYk`4p{Ktv9|j+!OF-P?@p z;}SV|oIK)iwlBs+`ROXkhd&NK zzo__r!B>tOXpBJMDcv!Mq54P+n4(@dijL^EpO1wdg~q+!DT3lB<>9AANSe!T1XgC=J^)IP0XEZ()_vpu!!3HQyJhwh?r`Ae%Yr~b% zO*NY9t9#qWa@GCPYOF9aron7thfWT`eujS4`t2uG6)~JRTI;f(ZuoRQwjZjp5Pg34 z)rp$)Kr?R+KdJ;IO;pM{$6|2y=k_siqvp%)2||cHTe|b5Ht8&A{wazGNca zX$Ol?H)E_R@SDi~4{d-|8nGFhZPW;Cts1;08TwUvLLv&_2$O6Vt=M)X;g%HUr$&06 zISZb(6)Q3%?;3r~*3~USIg=HcJhFtHhIV(siOwV&QkQe#J%H9&E21!C*d@ln3E@J* zVqRO^<)V^ky-R|%{(9`l-(JXq9J)1r$`uQ8a}$vr9E^nNiI*thK8=&UZ0dsFN_eSl z(q~lnD?EymWLsNa3|1{CRPW60>DSkY9YQ;$4o3W7Ms&@&lv9eH!tk~N&dhqX&>K@} zi1g~GqglxkZ5pEFkllJ)Ta1I^c&Bt6#r(QLQ02yHTaJB~- zCcE=5tmi`UA>@P=1LBfBiqk)HB4t8D?02;9eXj~kVPwv?m{5&!&TFYhu>3=_ zsGmYZ^mo*-j69-42y&Jj0cBLLEulNRZ9vXE)8~mt9C#;tZs;=#M=1*hebkS;7(aGf zcs7zH(I8Eui9UU4L--))yy`&d&$In&VA2?DAEss4LAPCLd>-$i?lpXvn!gu^JJ$(DoUlc6wE98VLZ*z`QGQov5l4Fm_h?V-;mHLYDVOwKz7>e4+%AzeO>P6v}ndPW| zM>m#6Tnp7K?0mbK=>gV}=@k*0Mr_PVAgGMu$j+pWxzq4MAa&jpCDU&-5eH27Iz>m^ zax1?*HhG%pJ((tkR(V(O(L%7v7L%!_X->IjS3H5kuXQT2!ow(;%FDE>16&3r){!ex zhf==oJ!}YU89C9@mfDq!P3S4yx$aGB?rbtVH?sHpg?J5C->!_FHM%Hl3#D4eplxzQ zRA+<@LD%LKSkTk2NyWCg7u=$%F#;SIL44~S_OGR}JqX}X+=bc@swpiClB`Zbz|f!4 z7Ysah7OkR8liXfI`}IIwtEoL}(URrGe;IM8%{>b1SsqXh)~w}P>yiFRaE>}rEnNkT z!HXZUtxUp1NmFm)Dm@-{FI^aRQqpSkz}ZSyKR%Y}YHNzBk)ZIp} zMtS=aMvkgWKm9&oTcU0?S|L~CDqA+sHpOxwnswF-fEG)cXCzUR?ps@tZa$=O)=L+5 zf%m58cq8g_o}3?Bhh+c!w4(7AjxwQ3>WnVi<{{38g7yFboo>q|+7qs<$8CPXUFAN< zG&}BHbbyQ5n|qqSr?U~GY{@GJ{(Jny{bMaOG{|IkUj7tj^9pa9|FB_<+KHLxSxR;@ zHpS$4V)PP+tx}22fWx(Ku9y+}Ap;VZqD0AZW4gCDTPCG=zgJmF{|x;(rvdM|2|9a}cex6xrMkERnkE;}jvU-kmzd%_J50$M`lIPCKf+^*zL=@LW`1SaEc%=m zQ+lT06Gw+wVwvQ9fZ~#qd430v2HndFsBa9WjD0P}K(rZYdAt^5WQIvb%D^Q|pkVE^ zte$&#~zmULFACGfS#g=2OLOnIf2Of-k!(BIHjs77nr!5Q1*I9 z1%?=~#Oss!rV~?-6Gm~BWJiA4mJ5TY&iPm_$)H1_rTltuU1F3I(qTQ^U$S>%$l z)Wx1}R?ij0idp@8w-p!Oz{&*W;v*IA;JFHA9%nUvVDy7Q8woheC#|8QuDZb-L_5@R zOqHwrh|mVL9b=+$nJxM`3eE{O$sCt$UK^2@L$R(r^-_+z?lOo+me-VW=Zw z-Bn>$4ovfWd%SPY`ab-u9{INc*k2h+yH%toDHIyqQ zO68=u`N}RIIs7lsn1D){)~%>ByF<>i@qFb<-axvu(Z+6t7v<^z&gm9McRB~BIaDn$ z#xSGT!rzgad8o>~kyj#h1?7g96tOcCJniQ+*#=b7wPio>|6a1Z?_(TS{)KrPe}(8j z!#&A=k(&Pj^F;r)CI=Z{LVu>uj!_W1q4b`N1}E(i%;BWjbEcnD=mv$FL$l?zS6bW!{$7j1GR5ocn94P2u{ z70tAAcpqtQo<@cXw~@i-@6B23;317|l~S>CB?hR5qJ%J3EFgyBdJd^fHZu7AzHF(BQ!tyAz^L0`X z23S4Fe{2X$W0$zu9gm%rg~A>ijaE#GlYlrF9$ds^QtaszE#4M(OLVP2O-;XdT(XIC zatwzF*)1c+t~c{L=fMG8Z=k5lv>U0;C{caN1NItnuSMp)6G3mbahu>E#sj&oy94KC zpH}8oEw{G@N3pvHhp{^-YaZeH;K+T_1AUv;IKD<=mv^&Ueegrb!yf`4VlRl$M?wsl zZyFol(2|_QM`e_2lYSABpKR{{NlxlDSYQNkS;J66aT#MSiTx~;tUmvs-b*CrR4w=f z8+0;*th6kfZ3|5!Icx3RV11sp=?`0Jy3Fs0N4GZQMN=8HmT6%x9@{Dza)k}UwL6JT zHRDh;%!XwXr6yuuy`4;Xsn0zlR$k%r%9abS1;_v?`HX_hI|+EibVnlyE@3aL5vhQq zlIG?tN^w@0(v9M*&L+{_+RQZw=o|&BRPGB>e5=ys7H`nc8nx)|-g;s7mRc7hg{GJC zAe^vCIJhajmm7C6g! zL&!WAQ~5d_5)00?w_*|*H>3$loHrvFbitw#WvLB!JASO?#5Ig5$Ys10n>e4|3d;tS zELJ0|R4n3Az(Fl3-r^QiV_C;)lQ1_CW{5bKS15U|E9?ZgLec@%kXr84>5jV2a5v=w z?pB1GPdxD$IQL4)G||B_lI+A=08MUFFR4MxfGOu07vfIm+j=z9tp~5i_6jb`tR>qV z$#`=BQ*jpCjm$F0+F)L%xRlnS%#&gro6PiRfu^l!EVan|r3y}AHJQOORGx4~ z&<)3=K-tx518DZyp%|!EqpU!+X3Et7n2AaC5(AtrkW>_57i}$eqs$rupubg0a1+WO zGHZKLN2L0D;ab%{_S1Plm|hx8R?O14*w*f&2&bB050n!R2by zw!@XOQx$SqZ5I<(Qu$V6g>o#A!JVwErWv#(Pjx=KeS0@hxr4?13zj#oWwPS(7Ro|v z>Mp@Kmxo79q|}!5qtX2-O@U&&@6s~!I&)1WQIl?lTnh6UdKT_1R640S4~f=_xoN3- zI+O)$R@RjV$F=>Ti7BlnG1-cFKCC(t|Qjm{SalS~V-tX#+2ekRhwmN zZr`8{QF6y~Z!D|{=1*2D-JUa<(1Z=;!Ei!KiRNH?o{p5o3crFF=_pX9O-YyJchr$~ zRC`+G+8kx~fD2k*ZIiiIGR<8r&M@3H?%JVOfE>)})7ScOd&?OjgAGT@WVNSCZ8N(p zuQG~76GE3%(%h1*vUXg$vH{ua0b`sQ4f0*y=u~lgyb^!#CcPJa2mkSEHGLsnO^kb$ zru5_l#nu=Y{rSMWiYx?nO{8I!gH+?wEj~UM?IrG}E|bRIBUM>UlY<`T1EHpRr36vv zBi&dG8oxS|J$!zoaq{+JpJy+O^W(nt*|#g32bd&K^w-t>!Vu9N!k9eA8r!Xc{utY> zg9aZ(D2E0gL#W0MdjwES-7~Wa8iubPrd?8-$C4BP?*wok&O8+ykOx{P=Izx+G~hM8 z*9?BYz!T8~dzcZr#ux8kS7u7r@A#DogBH8km8Ry4slyie^n|GrTbO|cLhpqgMdsjX zJ_LdmM#I&4LqqsOUIXK8gW;V0B(7^$y#h3h>J0k^WJfAMeYek%Y-Dcb_+0zPJez!GM zAmJ1u;*rK=FNM0Nf}Y!!P9c4)HIkMnq^b;JFd!S3?_Qi2G#LIQ)TF|iHl~WKK6JmK zbv7rPE6VkYr_%_BT}CK8h=?%pk@3cz(UrZ{@h40%XgThP*-Oeo`T0eq9 zA8BnWZKzCy5e&&_GEsU4*;_k}(8l_&al5K-V*BFM=O~;MgRkYsOs%9eOY6s6AtE*<7GQAR2ulC3RAJrG_P1iQK5Z~&B z&f8X<>yJV6)oDGIlS$Y*D^Rj(cszTy5c81a5IwBr`BtnC6_e`ArI8CaTX_%rx7;cn zR-0?J_LFg*?(#n~G8cXut(1nVF0Oka$A$1FGcERU<^ggx;p@CZc?3UB41RY+wLS`LWFNSs~YP zuw1@DNN3lTd|jDL7gjBsd9}wIw}4xT2+8dBQzI00m<@?c2L%>}QLfK5%r!a-iII`p zX@`VEUH)uj^$;7jVUYdADQ2k*!1O3WdfgF?OMtUXNpQ1}QINamBTKDuv19^{$`8A1 zeq%q*O0mi@(%sZU>Xdb0Ru96CFqk9-L3pzLVsMQ`Xpa~N6CR{9Rm2)A|CI21L(%GW zh&)Y$BNHa=FD+=mBw3{qTgw)j0b!Eahs!rZnpu)z!!E$*eXE~##yaXz`KE5(nQM`s zD!$vW9XH)iMxu9R>r$VlLk9oIR%HxpUiW=BK@4U)|1WNQ=mz9a z^!KkO=>GaJ!GBXm{KJj^;kh-MkUlEQ%lza`-G&}C5y1>La1sR6hT=d*NeCnuK%_LV zOXt$}iP6(YJKc9j-Fxq~*ItVUqljQ8?oaysB-EYtFQp9oxZ|5m0^Hq(qV!S+hq#g( z?|i*H2MIr^Kxgz+3vIljQ*Feejy6S4v~jKEPTF~Qhq!(ms5>NGtRgO5vfPPc4Z^AM zTj!`5xEreIN)vaNxa|q6qWdg>+T`Ol0Uz)ckXBXEGvPNEL3R8hB3=C5`@=SYgAju1 z!)UBr{2~=~xa{b8>x2@C7weRAEuatC)3pkRhT#pMPTpSbA|tan%U7NGMvzmF?c!V8 z=pEWxbdXbTAGtWTyI?Fml%lEr-^AE}w#l(<7OIw;ctw}imYax&vR4UYNJZK6P7ZOd zP87XfhnUHxCUHhM@b*NbTi#(-8|wcv%3BGNs#zRCVV(W?1Qj6^PPQa<{yaBwZ`+<`w|;rqUY_C z&AeyKwwf*q#OW-F()lir=T^<^wjK65Lif$puuU5+tk$;e_EJ;Lu+pH>=-8=PDhkBg z8cWt%@$Sc#C6F$Vd+0507;{OOyT7Hs%nKS88q-W!$f~9*WGBpHGgNp}=C*7!RiZ5s zn1L_DbKF@B8kwhDiLKRB@lsXVVLK|ph=w%_`#owlf@s@V(pa`GY$8h%;-#h@TsO|Y8V=n@*!Rog7<7Cid%apR|x zOjhHCyfbIt%+*PCveTEcuiDi%Wx;O;+K=W?OFUV%)%~6;gl?<0%)?snDDqIvkHF{ zyI02)+lI9ov42^hL>ZRrh*HhjF9B$A@=H94iaBESBF=eC_KT$8A@uB^6$~o?3Wm5t1OIaqF^~><2?4e3c&)@wKn9bD? zoeCs;H>b8DL^F&>Xw-xjZEUFFTv>JD^O#1E#)CMBaG4DX9bD(Wtc8Rzq}9soQ8`jf zeSnHOL}<+WVSKp4kkq&?SbETjq6yr@4%SAqOG=9E(3YeLG9dtV+8vmzq+6PFPk{L; z(&d++iu=^F%b+ea$i2UeTC{R*0Isk;vFK!no<;L+(`y`3&H-~VTdKROkdyowo1iqR zbVW(3`+(PQ2>TKY>N!jGmGo7oeoB8O|P_!Ic@ zZ^;3dnuXo;WJ?S+)%P>{Hcg!Jz#2SI(s&dY4QAy_vRlmOh)QHvs_7c&zkJCmJGVvV zX;Mtb>QE+xp`KyciG$Cn*0?AK%-a|=o!+7x&&yzHQOS>8=B*R=niSnta^Pxp1`=md z#;$pS$4WCT?mbiCYU?FcHGZ#)kHVJTTBt^%XE(Q};aaO=Zik0UgLcc0I(tUpt(>|& zcxB_|fxCF7>&~5eJ=Dpn&5Aj{A^cV^^}(7w#p;HG&Q)EaN~~EqrE1qKrMAc&WXIE;>@<&)5;gD2?={Xf@Mvn@OJKw=8Mgn z!JUFMwD+s==JpjhroT&d{$kQAy%+d`a*XxDEVxy3`NHzmITrE`o!;5ClXNPb4t*8P zzAivdr{j_v!=9!^?T3y?gzmqDWX6mkzhIzJ-3S{T5bcCFMr&RPDryMcdwbBuZbsgN zGrp@^i?rcfN7v0NKGzDPGE#4yszxu=I_`MI%Z|10nFjU-UjQXXA?k8Pk|OE<(?ae) zE%vG#eZAlj*E7_3dx#Zz4kMLj>H^;}33UAankJiDy5ZvEhrjr`!9eMD8COp}U*hP+ zF}KIYx@pkccIgyxFm#LNw~G&`;o&5)2`5aogs`1~7cMZQ7zj!%L4E`2yzlQN6REX20&O<9 zKV6fyr)TScJPPzNTC2gL+0x#=u>(({{D7j)c-%tvqls3#Y?Z1m zV5WUE)zdJ{$p>yX;^P!UcXP?UD~YM;IRa#Rs5~l+*$&nO(;Ers`G=0D!twR(0GF@c zHl9E5DQI}Oz74n zfKP>&$q0($T4y$6w(p=ERAFh+>n%iaeRA%!T%<^+pg?M)@ucY<&59$x9M#n+V&>}=nO9wCV{O~lg&v#+jcUj(tQ z`0u1YH)-`U$15a{pBkGyPL0THv1P|4e@pf@3IBZS4dVJPo#H>pWq%Lr0YS-SeWash z8R7=jb28KPMI|_lo#GEO|5B?N_e``H*23{~a!AmUJ+fb4HX-%QI@lSEUxKlGV7z7Q zSKw@-TR>@1RL%w{x}dW#k1NgW+q4yt2Xf1J62Bx*O^WG8OJ|FqI4&@d3_o8Id@*)4 zYrk=>@!wv~mh7YWv*bZhxqSmFh2Xq)o=m;%n$I?GSz49l1$xRpPu_^N(vZ>*>Z<04 z2+rP70oM=NDysd!@fQdM2OcyT?3T^Eb@lIC-UG=Bw{BjQ&P`KCv$AcJ;?`vdZ4){d z&gkoUK{$!$$K`3*O-jyM1~p-7T*qb)Ys>Myt^;#1&a%O@x8A+E>! zY8=eD`ZG)LVagDLBeHg>=atOG?Kr%h4B%E6m@J^C+U|y)XX@f z8oyJDW|9g=<#f<{JRr{y#~euMnv)`7j=%cHWLc}ngjq~7k**6%4u>Px&W%4D94(r* z+akunK}O0DC2A%Xo9jyF;DobX?!1I(7%}@7F>i%&nk*LMO)bMGg2N+1iqtg+r(70q zF5{Msgsm5GS7DT`kBsjMvOrkx&|EU!{{~gL4d2MWrAT=KBQ-^zQCUq{5PD1orxlIL zq;CvlWx#f1NWvh`hg011I%?T_s!e38l*lWVt|~z-PO4~~1g)SrJ|>*tXh=QfXT)%( z+ex+inPvD&O4Ur;JGz>$sUOnWdpSLcm1X%aQDw4{dB!cnj`^muI$CJ2%p&-kULVCE z>$eMR36kN$wCPR+OFDM3-U(VOrp9k3)lI&YVFqd;Kpz~K)@Fa&FRw}L(SoD z9B4a+hQzZT-BnVltst&=kq6Y(f^S4hIGNKYBgMxGJ^;2yrO}P3;r)(-I-CZ)26Y6? z&rzHI_1GCvGkgy-t1E;r^3Le30|%$ebDRu2+gdLG)r=A~Qz`}~&L@aGJ{}vVs_GE* zVUjFnzHiXfKQbpv&bR&}l2bzIjAooB)=-XNcYmrGmBh(&iu@o!^hn0^#}m2yZZUK8 zufVm7Gq0y`Mj;9b>`c?&PZkU0j4>IL=UL&-Lp3j&47B5pAW4JceG{!XCA)kT<%2nqCxj<)uy6XR_uws~>_MEKPOpAQ!H zkn>FKh)<9DwwS*|Y(q?$^N!6(51O0 z^JM~Ax{AI1Oj$fs-S5d4T7Z_i1?{%0SsIuQ&r8#(JA=2iLcTN+?>wOL532%&dMYkT z*T5xepC+V6zxhS@vNbMoi|i)=rpli@R9~P!39tWbSSb904ekv7D#quKbgFEMTb48P zuq(VJ+&L8aWU(_FCD$3^uD!YM%O^K(dvy~Wm2hUuh6bD|#(I39Xt>N1Y{ZqXL`Fg6 zKQ?T2htHN!(Bx;tV2bfTtIj7e)liN-29s1kew>v(D^@)#v;}C4-G=7x#;-dM4yRWm zyY`cS21ulzMK{PoaQ6xChEZ}o_#}X-o}<&0)$1#3we?+QeLt;aVCjeA)hn!}UaKt< zat1fHEx13y-rXNMvpUUmCVzocPmN~-Y4(YJvQ#db)4|%B!rBsgAe+*yor~}FrNH08 z3V!97S}D7d$zbSD{$z;@IYMxM6aHdypIuS*pr_U6;#Y!_?0i|&yU*@16l z*dcMqDQgfNBf}?quiu4e>H)yTVfsp#f+Du0@=Kc41QockXkCkvu>FBd6Q+@FL!(Yx z2`YuX#eMEiLEDhp+9uFqME_E^faV&~9qjBHJkIp~%$x^bN=N)K@kvSVEMdDuzA0sn z88CBG?`RX1@#hQNd`o^V{37)!w|nA)QfiYBE^m=yQKv-fQF+UCMcuEe1d4BH7$?>b zJl-r9@0^Ie=)guO1vOd=i$_4sz>y3x^R7n4ED!5oXL3@5**h(xr%Hv)_gILarO46q+MaDOF%ChaymKoI6JU5Pg;7#2n9-18|S1;AK+ zgsn6;k6-%!QD>D?cFy}8F;r@z8H9xN1jsOBw2vQONVqBVEbkiNUqgw~*!^##ht>w0 zUOykwH=$LwX2j&nLy=@{hr)2O&-wm-NyjW7n~Zs9UlH;P7iP3 zI}S(r0YFVYacnKH(+{*)Tbw)@;6>%=&Th=+Z6NHo_tR|JCI8TJiXv2N7ei7M^Q+RM z?9o`meH$5Yi;@9XaNR#jIK^&{N|DYNNbtdb)XW1Lv2k{E>;?F`#Pq|&_;gm~&~Zc9 zf+6ZE%{x4|{YdtE?a^gKyzr}dA>OxQv+pq|@IXL%WS0CiX!V zm$fCePA%lU{%pTKD7|5NJHeXg=I0jL@$tOF@K*MI$)f?om)D63K*M|r`gb9edD1~Y zc|w7N)Y%do7=0{RC|AziW7#am$)9jciRJ?IWl9PE{G3U+$%FcyKs_0Cgq`=K3@ttV z9g;M!3z~f_?P%y3-ph%vBMeS@p7P&Ea8M@97+%XEj*(1E6vHj==d zjsoviB>j^$_^OI_DEPvFkVo(BGRo%cJeD){6Uckei=~1}>sp299|IRjhXe)%?uP0I zF5+>?0#Ye}T^Y$u_rc4=lPcq4K^D(TZG-w30-YiEM=dcK+4#o*>lJ8&JLi+3UcpZk z!^?95S^C0ja^jwP`|{<+3cBVog$(mRdQmadS+Vh~z zS@|P}=|z3P6uS+&@QsMp0no9Od&27O&14zHXGAOEy zh~OKpymK5C%;LLb467@KgIiVwYbYd6wFxI{0-~MOGfTq$nBTB!{SrWmL9Hs}C&l&l#m?s*{tA?BHS4mVKHAVMqm63H<|c5n0~k)-kbg zXidai&9ZUy0~WFYYKT;oe~rytRk?)r8bptITsWj(@HLI;@=v5|XUnSls7$uaxFRL+ zRVMGuL3w}NbV1`^=Pw*0?>bm8+xfeY(1PikW*PB>>Tq(FR`91N0c2&>lL2sZo5=VD zQY{>7dh_TX98L2)n{2OV=T10~*YzX27i2Q7W86M4$?gZIXZaBq#sA*{PH8){|GUi;oM>e?ua7eF4WFuFYZSG| zze?srg|5Ti8Og{O zeFxuw9!U+zhyk?@w zjsA6(oKD=Ka;A>Ca)oPORxK+kxH#O@zhC!!XS4@=swnuMk>t+JmLmFiE^1aX3f<)D@`%K0FGK^gg1a1j>zi z2KhV>sjU7AX3F$SEqrXSC}fRx64GDoc%!u2Yag68Lw@w9v;xOONf@o)Lc|Uh3<21ctTYu-mFZuHk*+R{GjXHIGq3p)tFtQp%TYqD=j1&y)>@zxoxUJ!G@ zgI0XKmP6MNzw>nRxK$-Gbzs}dyfFzt>#5;f6oR27ql!%+{tr+(`(>%51|k`ML} zY4eE)Lxq|JMas(;JibNQds1bUB&r}ydMQXBY4x(^&fY_&LlQC)3hylc$~8&~|06-D z#T+%66rYbHX%^KuqJED_wuGB+=h`nWA!>1n0)3wZrBG3%`b^Ozv6__dNa@%V14|!D zQ?o$z5u0^8`giv%qE!BzZ!3j;BlDlJDk)h@9{nSQeEk!z9RGW) z${RSF3phEM*ce*>Xdp}585vj$|40=&S{S-GTiE?Op*vY&Lvr9}BO$XWy80IF+6@%n z5*2ueT_g@ofP#u5pxb7n*fv^Xtt7&?SRc{*2Ka-*!BuOpf}neHGCiHy$@Ka1^Dint z;DkmIL$-e)rj4o2WQV%Gy;Xg(_Bh#qeOsTM2f@KEe~4kJ8kNLQ+;(!j^bgJMcNhvklP5Z6I+9Fq@c&D~8Fb-4rmDT!MB5QC{Dsb;BharP*O;SF4& zc$wj-7Oep7#$WZN!1nznc@Vb<_Dn%ga-O#J(l=OGB`dy=Sy&$(5-n3zzu%d7E#^8`T@}V+5B;PP8J14#4cCPw-SQTdGa2gWL0*zKM z#DfSXs_iWOMt)0*+Y>Lkd=LlyoHjublNLefhKBv@JoC>P7N1_#> zv=mLWe96%EY;!ZGSQDbZWb#;tzqAGgx~uk+-$+2_8U`!ypbwXl z^2E-FkM1?lY@yt8=J3%QK+xaZ6ok=-y%=KXCD^0r!5vUneW>95PzCkOPO*t}p$;-> ze5j-BLT_;)cZQzR2CEsm@rU7GZfFtdp*a|g4wDr%8?2QkIGasRfDWT-Dvy*U{?IHT z*}wGnzdlSptl#ZF^sf)KT|BJs&kLG91^A6ls{CzFprZ6-Y!V0Xysh%9p%iMd7HLsS zN+^Un$tDV)T@i!v?3o0Fsx2qI(AX_$dDkBzQ@fRM%n zRXk6hb9Py#JXUs+7)w@eo;g%QQ95Yq!K_d=z{0dGS+pToEI6=Bo8+{k$7&Z zo4>PH(`ce8E-Ps&uv`NQ;U$%t;w~|@E3WVOCi~R4oj5wP?%<*1C%}Jq%a^q~T7u>K zML5AKfQDv6>PuT`{SrKHRAF+^&edg6+5R_#H?Lz3iGoWo#PCEd0DS;)2U({{X#zU^ zw_xv{4x7|t!S)>44J;KfA|DC?;uQ($l+5Vp7oeqf7{GBF9356nx|&B~gs+@N^gSdd zvb*>&W)|u#F{Z_b`f#GVtQ`pYv3#||N{xj1NgB<#=Odt6{eB%#9RLt5v zIi|0u70`#ai}9fJjKv7dE!9ZrOIX!3{$z_K5FBd-Kp-&e4(J$LD-)NMTp^_pB`RT; zftVVlK2g@+1Ahv2$D){@Y#cL#dUj9*&%#6 zd2m9{1NYp>)6=oAvqdCn5#cx{AJ%S8skUgMglu2*IAtd+z1>B&`MuEAS(D(<6X#Lj z?f4CFx$)M&$=7*>9v1ER4b6!SIz-m0e{o0BfkySREchp?WdVPpQCh!q$t>?rL!&Jg zd#heM;&~A}VEm8Dvy&P|J*eAV&w!&Nx6HFV&B8jJFVTmgLaswn!cx$&%JbTsloz!3 zMEz1d`k==`Ueub_JAy_&`!ogbwx27^ZXgFNAbx=g_I~5nO^r)}&myw~+yY*cJl4$I znNJ32M&K=0(2Dj_>@39`3=FX!v3nZHno_@q^!y}%(yw0PqOo=);6Y@&ylVe>nMOZ~ zd>j#QQSBn3oaWd;qy$&5(5H$Ayi)0haAYO6TH>FR?rhqHmNOO+(})NB zLI@B@v0)eq!ug`>G<@htRlp3n!EpU|n+G+AvXFrWSUsLMBfL*ZB`CRsIVHNTR&b?K zxBgsN0BjfB>UVcJ|x%=-zb%OV7lmZc& zxiupadZVF7)6QuhoY;;FK2b*qL0J-Rn-8!X4ZY$-ZSUXV5DFd7`T41c(#lAeLMoeT z4%g655v@7AqT!i@)Edt5JMbN(=Q-6{=L4iG8RA%}w;&pKmtWvI4?G9pVRp|RTw`g0 zD5c12B&A2&P6Ng~8WM2eIW=wxd?r7A*N+&!Be7PX3s|7~z=APxm=A?5 zt>xB4WG|*Td@VX{Rs)PV0|yK`oI3^xn(4c_j&vgxk_Y3o(-`_5o`V zRTghg6%l@(qodXN;dB#+OKJEEvhfcnc#BeO2|E(5df-!fKDZ!%9!^BJ_4)9P+9Dq5 zK1=(v?KmIp34r?z{NEWnLB3Px{XYwy-akun4F7xTRr2^zeYW{gcK9)>aJDdU5;w5@ zak=<+-PLH-|04pelTb%ULpuuuJC7DgyT@D|p{!V!0v3KpDnRjANN12q6SUR3mb9<- z>2r~IApQGhstZ!3*?5V z8#)hJ0TdZg0M-BK#nGFP>$i=qk82DO z7h;Ft!D5E15OgW)&%lej*?^1~2=*Z5$2VX>V{x8SC+{i10BbtUk9@I#Vi&hX)q

    Q!LwySI{Bnv%Sm)yh{^sSVJ8&h_D-BJ_YZe5eCaAWU9b$O2c z$T|{vWVRtOL!xC0DTc(Qbe`ItNtt5hr<)VijD0{U;T#bUEp381_y`%ZIav?kuYG{iyYdEBPW=*xNSc;Rlt6~F4M`5G+VtOjc z*0qGzCb@gME5udTjJA-9O<&TWd~}ysBd(eVT1-H82-doyH9RST)|+Pb{o*;$j9Tjs zhU!IlsPsj8=(x3bAKJTopW3^6AKROHR^7wZ185wJGVhA~hEc|LP;k7NEz-@4p5o}F z`AD6naG3(n=NF9HTH81=F+Q|JOz$7wm9I<+#BSmB@o_cLt2GkW9|?7mM;r!JZp89l zbo!Hp8=n!XH1{GwaDU+k)pGp`C|cXkCU5%vcH)+v@0eK>%7gWxmuMu9YLlChA|_D@ zi#5zovN_!a-0?~pUV-Rj*1P)KwdU-LguR>YM&*Nen+ln8Q$?WFCJg%DY%K}2!!1FE zDv-A%Cbwo^p(lzac&_TZ-l#9kq`mhLcY3h9ZTUVCM(Ad&=EriQY5{jJv<5K&g|*Lk zgV%ILnf1%8V2B0E&;Sp4sYbYOvvMebLwYwzkRQ#F8GpTQq#uv=J`uaSJ34OWITeSGo6+-8Xw znCk*n{kdDEi)Hi&u^)~cs@iyCkFWB2SWZU|Uc%^43ZIZQ-vWNExCCtDWjqHs;;tWf$v{}0{p0Rvxkq``)*>+Akq%|Na zA`@~-Vfe|+(AIlqru+7Ceh4nsVmO9p9jc8}HX^W&ViBDXT+uXbT#R#idPn&L>+#b6 zflC-4C5-X;kUnR~L>PSLh*gvL68}RBsu#2l`s_9KjUWRhiqF`j)`y`2`YU(>3bdBj z?>iyjEhe-~$^I5!nn%B6Wh+I`FvLNvauve~eX<+Ipl&04 zT}};W&1a3%W?dJ2=N#0t?e+aK+%t}5q%jSLvp3jZ%?&F}nOOWr>+{GFIa%wO_2`et z=JzoRR~}iKuuR+azPI8;Gf9)z3kyA4EIOSl!sRR$DlW}0>&?GbgPojmjmnln;cTqCt=ADbE zZ8GAnoM+S1(5$i8^O4t`ue;vO4i}z0wz-QEIVe5_u03;}-!G1NyY8;h^}y;tzY}i5 zqQr#Ur3Fy8sSa$Q0ys+f`!`+>9WbvU_I`Sj;$4{S>O3?#inLHCrtLy~!s#WXV=oVP zeE93*Nc`PBi4q@%Ao$x4lw9vLHM!6mn3-b_cebF|n-2vt-zYVF_&sDE--J-P;2WHo z+@n2areE0o$LjvjlV2X7ZU@j+`{*8zq`JR3gKF#EW|#+{nMyo-a>nFFTg&vhyT=b} zDa8+v0(Dgx0yRL@ZXOYIlVSZ0|MFizy0VPW8;AfA5|pe!#j zX}Py^8fl5SyS4g1WSKKtnyP+_PoOwMMwu`(i@Z)diJp~U54*-miOchy7Z35eL>^M z4p<-aIxH4VUZgS783@H%M7P9hX>t{|RU7$n4T(brCG#h9e9p! z+o`i;EGGq3&pF;~5V~eBD}lC)>if$w%Vf}AFxGqO88|ApfHf&Bvu+xdG)@vuF}Yvk z)o;~k-%+0K0g+L`Wala!$=ZV|z$e%>f0%XoLib%)!R^RoS+{!#X?h-6uu zF&&KxORdZU&EwQFITIRLo(7TA3W}y6X{?Y%y2j0It!ekU#<)$qghZtpcS>L3uh`Uj z7GY;6f$9qKynP#oS3$$a{p^{D+0oJQ71`1?OAn_m8)UGZmj3l*ZI)`V-a>MKGGFG< z&^jg#Ok%(hhm>hSrZ5;Qga4u(?^i>GiW_j9%_7M>j(^|Om$#{k+^*ULnEgzW_1gCICtAD^WpC`A z{9&DXkG#01Xo)U$OC(L5Y$DQ|Q4C6CjUKk1UkPj$nXH##J{c8e#K|&{mA*;b$r0E4 zUNo0jthwA(c&N1l=PEe8Rw_8cEl|-eya9z&H3#n`B$t#+aJ03RFMzrV@gowbe8v(c zIFM60^0&lCFO10NU4w@|61xiZ4CVXeaKjd;d?sv52XM*lS8XiVjgWpRB;&U_C0g+`6B5V&w|O6B*_q zsATxL!M}+$He)1eOWECce#eS@2n^xhlB4<_Nn?yCVEQWDs(r`|@2GqLe<#(|&P0U? z$7V5IgpWf09uIf_RazRwC?qEqRaHyL?iiS05UiGesJy%^>-C{{ypTBI&B0-iUYhk> zIk<5xpsuV@g|z(AZD+C-;A!fTG=df1=<%nxy(a(IS+U{ME4ZbDEBtcD_3V=icT6*_ z)>|J?>&6%nvHhZERBtjK+s4xnut*@>GAmA5m*OTp$!^CHTr}vM4n(X1Q*;{e-Rd2BCF-u@1ZGm z!S8hJ6L=Gl4T_SDa7Xx|-{4mxveJg=ctf`BJ*fy!yF6Dz&?w(Q_6B}WQVtNI!BVBC zKfX<>7vd6C96}XAQmF-Jd?1Q4eTfRB3q7hCh0f!(JkdWT5<{iAE#dKy*Jxq&3a1@~ z8C||Dn2mFNyrUV|<-)C^_y7@8c2Fz+2jrae9deBDu;U}tJ{^xAdxCD248(k;dCJ%o z`y3sADe>U%suxwwv~8A1+R$VB=Q?%U?4joI$um;aH+eCrBqpn- z%79D_7rb;R-;-9RTrwi9dPlg8&@tfWhhZ(Vx&1PQ+6(huX`;M9x~LrW~~#3{j0Bh2kDU$}@!fFQej4VGkJv?M4rU^x!RU zEwhu$!CA_iDjFjrJa`aocySDX16?~;+wgav;}Zut6Mg%C4>}8FL?8)Kgwc(Qlj{@#2Pt0?G`$h7P#M+qoXtlV@d}%c&OzO+QYKK`kyXaK{U(O^2DyIXCZlNQjt0^8~8JzNGrIxhj}}M z&~QZlbx%t;MJ(Vux;2tgNKGlAqphLq%pd}JG9uoVHUo?|hN{pLQ6Em%r*+7t^<);X zm~6=qChlNAVXNN*Sow->*4;}T;l;D1I-5T{Bif@4_}=>l`tK;qqDdt5zvisCKhMAH z#r}`)7VW?LZqfdmXQ%zo5bJ00{Xb9^YKrk0Nf|oIW*K@(=`o2Vndz}ZDyk{!u}PVx zzd--+_WC*U{~DH3{?GI64IB+@On&@9X>EUAo&L+G{L^dozaI4C3G#2wr~hseW@K&g zKWs{uHu-9Je!3;4pE>eBltKUXb^*hG8I&413)$J&{D4N%7PcloU6bn%jPxJyQL?g* z9g+YFFEDiE`8rW^laCNzQmi7CTnPfwyg3VDHRAl>h=In6jeaVOP@!-CP60j3+#vpL zEYmh_oP0{-gTe7Or`L6x)6w?77QVi~jD8lWN@3RHcm80iV%M1A!+Y6iHM)05iC64tb$X2lV_%Txk@0l^hZqi^%Z?#- zE;LE0uFx)R08_S-#(wC=dS&}vj6P4>5ZWjhthP=*Hht&TdLtKDR;rXEX4*z0h74FA zMCINqrh3Vq;s%3MC1YL`{WjIAPkVL#3rj^9Pj9Ss7>7duy!9H0vYF%>1jh)EPqvlr6h%R%CxDsk| z!BACz7E%j?bm=pH6Eaw{+suniuY7C9Ut~1cWfOX9KW9=H><&kQlinPV3h9R>3nJvK z4L9(DRM=x;R&d#a@oFY7mB|m8h4692U5eYfcw|QKwqRsshN(q^v$4$)HgPpAJDJ`I zkqjq(8Cd!K!+wCd=d@w%~e$=gdUgD&wj$LQ1r>-E=O@c ze+Z$x{>6(JA-fNVr)X;*)40Eym1TtUZI1Pwwx1hUi+G1Jlk~vCYeXMNYtr)1?qwyg zsX_e*$h?380O00ou?0R@7-Fc59o$UvyVs4cUbujHUA>sH!}L54>`e` zHUx#Q+Hn&Og#YVOuo*niy*GU3rH;%f``nk#NN5-xrZ34NeH$l`4@t);4(+0|Z#I>Y z)~Kzs#exIAaf--65L0UHT_SvV8O2WYeD>Mq^Y6L!Xu8%vnpofG@w!}R7M28?i1*T&zp3X4^OMCY6(Dg<-! zXmcGQrRgHXGYre7GfTJ)rhl|rs%abKT_Nt24_Q``XH{88NVPW+`x4ZdrMuO0iZ0g` z%p}y};~T5gbb9SeL8BSc`SO#ixC$@QhXxZ=B}L`tP}&k?1oSPS=4%{UOHe0<_XWln zwbl5cn(j-qK`)vGHY5B5C|QZd5)W7c@{bNVXqJ!!n$^ufc?N9C-BF2QK1(kv++h!>$QbAjq)_b$$PcJdV+F7hz0Hu@ zqj+}m0qn{t^tD3DfBb~0B36|Q`bs*xs|$i^G4uNUEBl4g;op-;Wl~iThgga?+dL7s zUP(8lMO?g{GcYpDS{NM!UA8Hco?#}eNEioRBHy4`mq!Pd-9@-97|k$hpEX>xoX+dY zDr$wfm^P&}Wu{!%?)U_(%Mn79$(ywvu*kJ9r4u|MyYLI_67U7%6Gd_vb##Nerf@>& z8W11z$$~xEZt$dPG}+*IZky+os5Ju2eRi;1=rUEeIn>t-AzC_IGM-IXWK3^6QNU+2pe=MBn4I*R@A%-iLDCOHTE-O^wo$sL_h{dcPl=^muAQb`_BRm};=cy{qSkui;`WSsj9%c^+bIDQ z0`_?KX0<-=o!t{u(Ln)v>%VGL z0pC=GB7*AQ?N7N{ut*a%MH-tdtNmNC+Yf$|KS)BW(gQJ*z$d{+{j?(e&hgTy^2|AR9vx1Xre2fagGv0YXWqtNkg*v%40v?BJBt|f9wX5 z{QTlCM}b-0{mV?IG>TW_BdviUKhtosrBqdfq&Frdz>cF~yK{P@(w{Vr7z2qKFwLhc zQuogKO@~YwyS9%+d-zD7mJG~@?EFJLSn!a&mhE5$_4xBl&6QHMzL?CdzEnC~C3$X@ zvY!{_GR06ep5;<#cKCSJ%srxX=+pn?ywDwtJ2{TV;0DKBO2t++B(tIO4)Wh`rD13P z4fE$#%zkd=UzOB74gi=-*CuID&Z3zI^-`4U^S?dHxK8fP*;fE|a(KYMgMUo`THIS1f!*6dOI2 zFjC3O=-AL`6=9pp;`CYPTdVX z8(*?V&%QoipuH0>WKlL8A*zTKckD!paN@~hh zmXzm~qZhMGVdQGd=AG8&20HW0RGV8X{$9LldFZYm zE?}`Q3i?xJRz43S?VFMmqRyvWaS#(~Lempg9nTM$EFDP(Gzx#$r)W&lpFKqcAoJh-AxEw$-bjW>`_+gEi z2w`99#UbFZGiQjS8kj~@PGqpsPX`T{YOj`CaEqTFag;$jY z8_{Wzz>HXx&G*Dx<5skhpETxIdhKH?DtY@b9l8$l?UkM#J-Snmts7bd7xayKTFJ(u zyAT&@6cAYcs{PBfpqZa%sxhJ5nSZBPji?Zlf&}#L?t)vC4X5VLp%~fz2Sx<*oN<7` z?ge=k<=X7r<~F7Tvp9#HB{!mA!QWBOf%EiSJ6KIF8QZNjg&x~-%e*tflL(ji_S^sO ztmib1rp09uon}RcsFi#k)oLs@$?vs(i>5k3YN%$T(5Or(TZ5JW9mA6mIMD08=749$ z!d+l*iu{Il7^Yu}H;lgw=En1sJpCKPSqTCHy4(f&NPelr31^*l%KHq^QE>z>Ks_bH zjbD?({~8Din7IvZeJ>8Ey=e;I?thpzD=zE5UHeO|neioJwG;IyLk?xOz(yO&0DTU~ z^#)xcs|s>Flgmp;SmYJ4g(|HMu3v7#;c*Aa8iF#UZo7CvDq4>8#qLJ|YdZ!AsH%^_7N1IQjCro

    K7UpUK$>l@ zw`1S}(D?mUXu_C{wupRS-jiX~w=Uqqhf|Vb3Cm9L=T+w91Cu^ z*&Ty%sN?x*h~mJc4g~k{xD4ZmF%FXZNC;oVDwLZ_WvrnzY|{v8hc1nmx4^}Z;yriXsAf+Lp+OFLbR!&Ox?xABwl zu8w&|5pCxmu#$?Cv2_-Vghl2LZ6m7}VLEfR5o2Ou$x02uA-%QB2$c(c1rH3R9hesc zfpn#oqpbKuVsdfV#cv@5pV4^f_!WS+F>SV6N0JQ9E!T90EX((_{bSSFv9ld%I0&}9 zH&Jd4MEX1e0iqDtq~h?DBrxQX1iI0lIs<|kB$Yrh&cpeK0-^K%=FBsCBT46@h#yi!AyDq1V(#V}^;{{V*@T4WJ&U-NTq43w=|K>z8%pr_nC>%C(Wa_l78Ufib$r8Od)IIN=u>417 z`Hl{9A$mI5A(;+-Q&$F&h-@;NR>Z<2U;Y21>>Z;s@0V@SbkMQQj%_;~+qTuQ?c|AV zcWm3XZQHhP&R%QWarS%mJ!9R^&!_)*s(v+VR@I#QrAT}`17Y+l<`b-nvmDNW`De%y zrwTZ9EJrj1AFA>B`1jYDow}~*dfPs}IZMO3=a{Fy#IOILc8F0;JS4x(k-NSpbN@qM z`@aE_e}5{!$v3+qVs7u?sOV(y@1Os*Fgu`fCW9=G@F_#VQ%xf$hj0~wnnP0$hFI+@ zkQj~v#V>xn)u??YutKsX>pxKCl^p!C-o?+9;!Nug^ z{rP!|+KsP5%uF;ZCa5F;O^9TGac=M|=V z_H(PfkV1rz4jl?gJ(ArXMyWT4y(86d3`$iI4^l9`vLdZkzpznSd5Ikfrs8qcSy&>z zTIZgWZGXw0n9ibQxYWE@gI0(3#KA-dAdPcsL_|hg2@~C!VZDM}5;v_Nykfq!*@*Zf zE_wVgx82GMDryKO{U{D>vSzSc%B~|cjDQrt5BN=Ugpsf8H8f1lR4SGo#hCuXPL;QQ z#~b?C4MoepT3X`qdW2dNn& zo8)K}%Lpu>0tQei+{>*VGErz|qjbK#9 zvtd8rcHplw%YyQCKR{kyo6fgg!)6tHUYT(L>B7er5)41iG`j$qe*kSh$fY!PehLcD zWeKZHn<492B34*JUQh=CY1R~jT9Jt=k=jCU2=SL&&y5QI2uAG2?L8qd2U(^AW#{(x zThSy=C#>k+QMo^7caQcpU?Qn}j-`s?1vXuzG#j8(A+RUAY})F@=r&F(8nI&HspAy4 z4>(M>hI9c7?DCW8rw6|23?qQMSq?*Vx?v30U%luBo)B-k2mkL)Ljk5xUha3pK>EEj z@(;tH|M@xkuN?gsz;*bygizwYR!6=(Xgcg^>WlGtRYCozY<rFX2E>kaZo)O<^J7a`MX8Pf`gBd4vrtD|qKn&B)C&wp0O-x*@-|m*0egT=-t@%dD zgP2D+#WPptnc;_ugD6%zN}Z+X4=c61XNLb7L1gWd8;NHrBXwJ7s0ce#lWnnFUMTR& z1_R9Fin4!d17d4jpKcfh?MKRxxQk$@)*hradH2$3)nyXep5Z;B z?yX+-Bd=TqO2!11?MDtG0n(*T^!CIiF@ZQymqq1wPM_X$Iu9-P=^}v7npvvPBu!d$ z7K?@CsA8H38+zjA@{;{kG)#AHME>Ix<711_iQ@WWMObXyVO)a&^qE1GqpP47Q|_AG zP`(AD&r!V^MXQ^e+*n5~Lp9!B+#y3#f8J^5!iC@3Y@P`;FoUH{G*pj*q7MVV)29+j z>BC`a|1@U_v%%o9VH_HsSnM`jZ-&CDvbiqDg)tQEnV>b%Ptm)T|1?TrpIl)Y$LnG_ zzKi5j2Fx^K^PG1=*?GhK;$(UCF-tM~^=Z*+Wp{FSuy7iHt9#4n(sUuHK??@v+6*|10Csdnyg9hAsC5_OrSL;jVkLlf zHXIPukLqbhs~-*oa^gqgvtpgTk_7GypwH><53riYYL*M=Q@F-yEPLqQ&1Sc zZB%w}T~RO|#jFjMWcKMZccxm-SL)s_ig?OC?y_~gLFj{n8D$J_Kw%{r0oB8?@dWzn zB528d-wUBQzrrSSLq?fR!K%59Zv9J4yCQhhDGwhptpA5O5U?Hjqt>8nOD zi{)0CI|&Gu%zunGI*XFZh(ix)q${jT8wnnzbBMPYVJc4HX*9d^mz|21$=R$J$(y7V zo0dxdbX3N#=F$zjstTf*t8vL)2*{XH!+<2IJ1VVFa67|{?LP&P41h$2i2;?N~RA30LV`BsUcj zfO9#Pg1$t}7zpv#&)8`mis3~o+P(DxOMgz-V*(?wWaxi?R=NhtW}<#^Z?(BhSwyar zG|A#Q7wh4OfK<|DAcl9THc-W4*>J4nTevsD%dkj`U~wSUCh15?_N@uMdF^Kw+{agk zJ`im^wDqj`Ev)W3k3stasP`88-M0ZBs7;B6{-tSm3>I@_e-QfT?7|n0D~0RRqDb^G zyHb=is;IwuQ&ITzL4KsP@Z`b$d%B0Wuhioo1CWttW8yhsER1ZUZzA{F*K=wmi-sb#Ju+j z-l@In^IKnb{bQG}Ps>+Vu_W#grNKNGto+yjA)?>0?~X`4I3T@5G1)RqGUZuP^NJCq&^HykuYtMDD8qq+l8RcZNJsvN(10{ zQ1$XcGt}QH-U^WU!-wRR1d--{B$%vY{JLWIV%P4-KQuxxDeJaF#{eu&&r!3Qu{w}0f--8^H|KwE>)ORrcR+2Qf zb})DRcH>k0zWK8@{RX}NYvTF;E~phK{+F;MkIP$)T$93Ba2R2TvKc>`D??#mv9wg$ zd~|-`Qx5LwwsZ2hb*Rt4S9dsF%Cny5<1fscy~)d;0m2r$f=83<->c~!GNyb!U)PA; zq^!`@@)UaG)Ew(9V?5ZBq#c%dCWZrplmuM`o~TyHjAIMh0*#1{B>K4po-dx$Tk-Cq z=WZDkP5x2W&Os`N8KiYHRH#UY*n|nvd(U>yO=MFI-2BEp?x@=N<~CbLJBf6P)}vLS?xJXYJ2^<3KJUdrwKnJnTp{ zjIi|R=L7rn9b*D#Xxr4*R<3T5AuOS+#U8hNlfo&^9JO{VbH!v9^JbK=TCGR-5EWR@ zN8T-_I|&@A}(hKeL4_*eb!1G8p~&_Im8|wc>Cdir+gg90n1dw?QaXcx6Op_W1r=axRw>4;rM*UOpT#Eb9xU1IiWo@h?|5uP zka>-XW0Ikp@dIe;MN8B01a7+5V@h3WN{J=HJ*pe0uwQ3S&MyWFni47X32Q7SyCTNQ z+sR!_9IZa5!>f&V$`q!%H8ci!a|RMx5}5MA_kr+bhtQy{-^)(hCVa@I!^TV4RBi zAFa!Nsi3y37I5EK;0cqu|9MRj<^r&h1lF}u0KpKQD^5Y+LvFEwM zLU@@v4_Na#Axy6tn3P%sD^5P#<7F;sd$f4a7LBMk zGU^RZHBcxSA%kCx*eH&wgA?Qwazm8>9SCSz_!;MqY-QX<1@p$*T8lc?@`ikEqJ>#w zcG``^CoFMAhdEXT9qt47g0IZkaU)4R7wkGs^Ax}usqJ5HfDYAV$!=6?>J6+Ha1I<5 z|6=9soU4>E))tW$<#>F ziZ$6>KJf0bPfbx_)7-}tMINlc=}|H+$uX)mhC6-Hz+XZxsKd^b?RFB6et}O#+>Wmw9Ec9) z{q}XFWp{3@qmyK*Jvzpyqv57LIR;hPXKsrh{G?&dRjF%Zt5&m20Ll?OyfUYC3WRn{cgQ?^V~UAv+5 z&_m#&nIwffgX1*Z2#5^Kl4DbE#NrD&Hi4|7SPqZ}(>_+JMz=s|k77aEL}<=0Zfb)a z%F(*L3zCA<=xO)2U3B|pcTqDbBoFp>QyAEU(jMu8(jLA61-H!ucI804+B!$E^cQQa z)_ERrW3g!B9iLb3nn3dlkvD7KsY?sRvls3QC0qPi>o<)GHx%4Xb$5a3GBTJ(k@`e@ z$RUa^%S15^1oLEmA=sayrP5;9qtf!Z1*?e$ORVPsXpL{jL<6E)0sj&swP3}NPmR%FM?O>SQgN5XfHE< zo(4#Cv11(%Nnw_{_Ro}r6=gKd{k?NebJ~<~Kv0r(r0qe4n3LFx$5%x(BKvrz$m?LG zjLIc;hbj0FMdb9aH9Lpsof#yG$(0sG2%RL;d(n>;#jb!R_+dad+K;Ccw!|RY?uS(a zj~?=&M!4C(5LnlH6k%aYvz@7?xRa^2gml%vn&eKl$R_lJ+e|xsNfXzr#xuh(>`}9g zLHSyiFwK^-p!;p$yt7$F|3*IfO3Mlu9e>Dpx8O`37?fA`cj`C0B-m9uRhJjs^mRp# zWB;Aj6|G^1V6`jg7#7V9UFvnB4((nIwG?k%c7h`?0tS8J3Bn0t#pb#SA}N-|45$-j z$R>%7cc2ebAClXc(&0UtHX<>pd)akR3Kx_cK+n<}FhzmTx!8e9^u2e4%x{>T6pQ`6 zO182bh$-W5A3^wos0SV_TgPmF4WUP-+D25KjbC{y_6W_9I2_vNKwU(^qSdn&>^=*t z&uvp*@c8#2*paD!ZMCi3;K{Na;I4Q35zw$YrW5U@Kk~)&rw;G?d7Q&c9|x<Hg|CNMsxovmfth*|E*GHezPTWa^Hd^F4!B3sF;)? z(NaPyAhocu1jUe(!5Cy|dh|W2=!@fNmuNOzxi^tE_jAtzNJ0JR-avc_H|ve#KO}#S z#a(8secu|^Tx553d4r@3#6^MHbH)vmiBpn0X^29xEv!Vuh1n(Sr5I0V&`jA2;WS|Y zbf0e}X|)wA-Pf5gBZ>r4YX3Mav1kKY(ulAJ0Q*jB)YhviHK)w!TJsi3^dMa$L@^{` z_De`fF4;M87vM3Ph9SzCoCi$#Fsd38u!^0#*sPful^p5oI(xGU?yeYjn;Hq1!wzFk zG&2w}W3`AX4bxoVm03y>ts{KaDf!}b&7$(P4KAMP=vK5?1In^-YYNtx1f#}+2QK@h zeSeAI@E6Z8a?)>sZ`fbq9_snl6LCu6g>o)rO;ijp3|$vig+4t} zylEo7$SEW<_U+qgVcaVhk+4k+C9THI5V10qV*dOV6pPtAI$)QN{!JRBKh-D zk2^{j@bZ}yqW?<#VVuI_27*cI-V~sJiqQv&m07+10XF+#ZnIJdr8t`9s_EE;T2V;B z4UnQUH9EdX%zwh-5&wflY#ve!IWt0UE-My3?L#^Bh%kcgP1q{&26eXLn zTkjJ*w+(|_>Pq0v8{%nX$QZbf)tbJaLY$03;MO=Ic-uqYUmUCuXD>J>o6BCRF=xa% z3R4SK9#t1!K4I_d>tZgE>&+kZ?Q}1qo4&h%U$GfY058s%*=!kac{0Z+4Hwm!)pFLR zJ+5*OpgWUrm0FPI2ib4NPJ+Sk07j(`diti^i#kh&f}i>P4~|d?RFb#!JN)~D@)beox}bw?4VCf^y*`2{4`-@%SFTry2h z>9VBc9#JxEs1+0i2^LR@B1J`B9Ac=#FW=(?2;5;#U$0E0UNag_!jY$&2diQk_n)bT zl5Me_SUvqUjwCqmVcyb`igygB_4YUB*m$h5oeKv3uIF0sk}~es!{D>4r%PC*F~FN3owq5e0|YeUTSG#Vq%&Gk7uwW z0lDo#_wvflqHeRm*}l?}o;EILszBt|EW*zNPmq#?4A+&i0xx^?9obLyY4xx=Y9&^G;xYXYPxG)DOpPg!i_Ccl#3L}6xAAZzNhPK1XaC_~ z!A|mlo?Be*8Nn=a+FhgpOj@G7yYs(Qk(8&|h@_>w8Y^r&5nCqe0V60rRz?b5%J;GYeBqSAjo|K692GxD4` zRZyM2FdI+-jK2}WAZTZ()w_)V{n5tEb@>+JYluDozCb$fA4H)$bzg(Ux{*hXurjO^ zwAxc+UXu=&JV*E59}h3kzQPG4M)X8E*}#_&}w*KEgtX)cU{vm9b$atHa;s>| z+L6&cn8xUL*OSjx4YGjf6{Eq+Q3{!ZyhrL&^6Vz@jGbI%cAM9GkmFlamTbcQGvOlL zmJ?(FI)c86=JEs|*;?h~o)88>12nXlpMR4@yh%qdwFNpct;vMlc=;{FSo*apJ;p}! zAX~t;3tb~VuP|ZW;z$=IHf->F@Ml)&-&Bnb{iQyE#;GZ@C$PzEf6~q}4D>9jic@mTO5x76ulDz@+XAcm35!VSu zT*Gs>;f0b2TNpjU_BjHZ&S6Sqk6V1370+!eppV2H+FY!q*n=GHQ!9Rn6MjY!Jc77A zG7Y!lFp8?TIHN!LXO?gCnsYM-gQxsm=Ek**VmZu7vnuufD7K~GIxfxbsQ@qv2T zPa`tvHB$fFCyZl>3oYg?_wW)C>^_iDOc^B7klnTOoytQH18WkOk)L2BSD0r%xgRSW zQS9elF^?O=_@|58zKLK;(f77l-Zzu}4{fXed2saq!5k#UZAoDBqYQS{sn@j@Vtp|$ zG%gnZ$U|9@u#w1@11Sjl8ze^Co=)7yS(}=;68a3~g;NDe_X^}yJj;~s8xq9ahQ5_r zxAlTMnep*)w1e(TG%tWsjo3RR;yVGPEO4V{Zp?=a_0R#=V^ioQu4YL=BO4r0$$XTX zZfnw#_$V}sDAIDrezGQ+h?q24St0QNug_?{s-pI(^jg`#JRxM1YBV;a@@JQvH8*>> zIJvku74E0NlXkYe_624>znU0J@L<-c=G#F3k4A_)*;ky!C(^uZfj%WB3-*{*B$?9+ zDm$WFp=0(xnt6`vDQV3Jl5f&R(Mp};;q8d3I%Kn>Kx=^;uSVCw0L=gw53%Bp==8Sw zxtx=cs!^-_+i{2OK`Q;913+AXc_&Z5$@z3<)So0CU3;JAv=H?@Zpi~riQ{z-zLtVL z!oF<}@IgJp)Iyz1zVJ42!SPHSkjYNS4%ulVVIXdRuiZ@5Mx8LJS}J#qD^Zi_xQ@>DKDr-_e#>5h3dtje*NcwH_h;i{Sx7}dkdpuW z(yUCjckQsagv*QGMSi9u1`Z|V^}Wjf7B@q%j2DQXyd0nOyqg%m{CK_lAoKlJ7#8M} z%IvR?Vh$6aDWK2W!=i?*<77q&B8O&3?zP(Cs@kapc)&p7En?J;t-TX9abGT#H?TW? ztO5(lPKRuC7fs}zwcUKbRh=7E8wzTsa#Z{a`WR}?UZ%!HohN}d&xJ=JQhpO1PI#>X zHkb>pW04pU%Bj_mf~U}1F1=wxdBZu1790>3Dm44bQ#F=T4V3&HlOLsGH)+AK$cHk6 zia$=$kog?)07HCL*PI6}DRhpM^*%I*kHM<#1Se+AQ!!xyhcy6j7`iDX7Z-2i73_n# zas*?7LkxS-XSqv;YBa zW_n*32D(HTYQ0$feV_Fru1ZxW0g&iwqixPX3=9t4o)o|kOo79V$?$uh?#8Q8e>4e)V6;_(x&ViUVxma+i25qea;d-oK7ouuDsB^ab{ zu1qjQ%`n56VtxBE#0qAzb7lph`Eb-}TYpXB!H-}3Ykqyp`otprp7{VEuW*^IR2n$Fb99*nAtqT&oOFIf z@w*6>YvOGw@Ja?Pp1=whZqydzx@9X4n^2!n83C5{C?G@|E?&$?p*g68)kNvUTJ)I6 z1Q|(#UuP6pj78GUxq11m-GSszc+)X{C2eo-?8ud9sB=3(D47v?`JAa{V(IF zPZQ_0AY*9M97>Jf<o%#O_%Wq}8>YM=q0|tGY+hlXcpE=Z4Od z`NT7Hu2hnvRoqOw@g1f=bv`+nba{GwA$Ak0INlqI1k<9!x_!sL()h?hEWoWrdU3w` zZ%%)VR+Bc@_v!C#koM1p-3v_^L6)_Ktj4HE>aUh%2XZE@JFMOn)J~c`_7VWNb9c-N z2b|SZMR4Z@E7j&q&9(6H3yjEu6HV7{2!1t0lgizD;mZ9$r(r7W5G$ky@w(T_dFnOD z*p#+z$@pKE+>o@%eT(2-p_C}wbQ5s(%Sn_{$HDN@MB+Ev?t@3dPy`%TZ!z}AThZSu zN<1i$siJhXFdjV zP*y|V<`V8t=h#XTRUR~5`c`Z9^-`*BZf?WAehGdg)E2Je)hqFa!k{V(u+(hTf^Yq& zoruUh2(^3pe)2{bvt4&4Y9CY3js)PUHtd4rVG57}uFJL)D(JfSIo^{P=7liFXG zq5yqgof0V8paQcP!gy+;^pp-DA5pj=gbMN0eW=-eY+N8~y+G>t+x}oa!5r>tW$xhI zPQSv=pi;~653Gvf6~*JcQ%t1xOrH2l3Zy@8AoJ+wz@daW@m7?%LXkr!bw9GY@ns3e zSfuWF_gkWnesv?s3I`@}NgE2xwgs&rj?kH-FEy82=O8`+szN ziHch`vvS`zNfap14!&#i9H@wF7}yIPm=UB%(o(}F{wsZ(wA0nJ2aD^@B41>>o-_U6 zUqD~vdo48S8~FTb^+%#zcbQiiYoDKYcj&$#^;Smmb+Ljp(L=1Kt_J!;0s%1|JK}Wi z;={~oL!foo5n8=}rs6MmUW~R&;SIJO3TL4Ky?kh+b2rT9B1Jl4>#Uh-Bec z`Hsp<==#UEW6pGPhNk8H!!DUQR~#F9jEMI6T*OWfN^Ze&X(4nV$wa8QUJ>oTkruH# zm~O<`J7Wxseo@FqaZMl#Y(mrFW9AHM9Kb|XBMqaZ2a)DvJgYipkDD_VUF_PKd~dT7 z#02}bBfPn9a!X!O#83=lbJSK#E}K&yx-HI#T6ua)6o0{|={*HFusCkHzs|Fn&|C3H zBck1cmfcWVUN&i>X$YU^Sn6k2H;r3zuXbJFz)r5~3$d$tUj(l1?o={MM){kjgqXRO zc5R*#{;V7AQh|G|)jLM@wGAK&rm2~@{Pewv#06pHbKn#wL0P6F1!^qw9g&cW3Z=9} zj)POhOlwsh@eF=>z?#sIs*C-Nl(yU!#DaiaxhEs#iJqQ8w%(?+6lU02MYSeDkr!B- zPjMv+on6OLXgGnAtl(ao>|X2Y8*Hb}GRW5}-IzXnoo-d0!m4Vy$GS!XOLy>3_+UGs z2D|YcQx@M#M|}TDOetGi{9lGo9m-=0-^+nKE^*?$^uHkxZh}I{#UTQd;X!L+W@jm( zDg@N4+lUqI92o_rNk{3P>1gxAL=&O;x)ZT=q1mk0kLlE$WeWuY_$0`0jY-Kkt zP*|m3AF}Ubd=`<>(Xg0har*_@x2YH}bn0Wk*OZz3*e5;Zc;2uBdnl8?&XjupbkOeNZsNh6pvsq_ydmJI+*z**{I{0K)-;p1~k8cpJXL$^t!-`E}=*4G^-E8>H!LjTPxSx zcF+cS`ommfKMhNSbas^@YbTpH1*RFrBuATUR zt{oFWSk^$xU&kbFQ;MCX22RAN5F6eq9UfR$ut`Jw--p2YX)A*J69m^!oYfj2y7NYcH6&r+0~_sH^c^nzeN1AU4Ga7=FlR{S|Mm~MpzY0$Z+p2W(a={b-pR9EO1Rs zB%KY|@wLcAA@)KXi!d2_BxrkhDn`DT1=Dec}V!okd{$+wK z4E{n8R*xKyci1(CnNdhf$Dp2(Jpof0-0%-38X=Dd9PQgT+w%Lshx9+loPS~MOm%ZT zt%2B2iL_KU_ita%N>xjB!#71_3=3c}o zgeW~^U_ZTJQ2!PqXulQd=3b=XOQhwATK$y(9$#1jOQ4}4?~l#&nek)H(04f(Sr=s| zWv7Lu1=%WGk4FSw^;;!8&YPM)pQDCY9DhU`hMty1@sq1=Tj7bFsOOBZOFlpR`W>-J$-(kezWJj;`?x-v>ev{*8V z8p|KXJPV$HyQr1A(9LVrM47u-XpcrIyO`yWvx1pVYc&?154aneRpLqgx)EMvRaa#|9?Wwqs2+W8n5~79G z(}iCiLk;?enn}ew`HzhG+tu+Ru@T+K5juvZN)wY;x6HjvqD!&!)$$;1VAh~7fg0K| zEha#aN=Yv|3^~YFH}cc38ovVb%L|g@9W6fo(JtT6$fa?zf@Ct88e}m?i)b*Jgc{fl zExfdvw-BYDmH6>(4QMt#p0;FUIQqkhD}aH?a7)_%JtA~soqj{ppP_82yi9kaxuK>~ ze_)Zt>1?q=ZH*kF{1iq9sr*tVuy=u>Zev}!gEZx@O6-fjyu9X00gpIl-fS_pzjpqJ z1yqBmf9NF!jaF<+YxgH6oXBdK)sH(>VZ)1siyA$P<#KDt;8NT*l_0{xit~5j1P)FN zI8hhYKhQ)i z37^aP13B~u65?sg+_@2Kr^iWHN=U;EDSZ@2W2!5ALhGNWXnFBY%7W?1 z=HI9JzQ-pLKZDYTv<0-lt|6c-RwhxZ)mU2Os{bsX_i^@*fKUj8*aDO5pks=qn3Dv6 zwggpKLuyRCTVPwmw1r}B#AS}?X7b837UlXwp~E2|PJw2SGVueL7){Y&z!jL!XN=0i zU^Eig`S2`{+gU$68aRdWx?BZ{sU_f=8sn~>s~M?GU~`fH5kCc; z8ICp+INM3(3{#k32RZdv6b9MQYdZXNuk7ed8;G?S2nT+NZBG=Tar^KFl2SvhW$bGW#kdWL-I)s_IqVnCDDM9fm8g;P;8 z7t4yZn3^*NQfx7SwmkzP$=fwdC}bafQSEF@pd&P8@H#`swGy_rz;Z?Ty5mkS%>m#% zp_!m9e<()sfKiY(nF<1zBz&&`ZlJf6QLvLhl`_``%RW&{+O>Xhp;lwSsyRqGf=RWd zpftiR`={2(siiPAS|p}@q=NhVc0ELprt%=fMXO3B)4ryC2LT(o=sLM7hJC!}T1@)E zA3^J$3&1*M6Xq>03FX`R&w*NkrZE?FwU+Muut;>qNhj@bX17ZJxnOlPSZ=Zeiz~T_ zOu#yc3t6ONHB;?|r4w+pI)~KGN;HOGC)txxiUN8#mexj+W(cz%9a4sx|IRG=}ia zuEBuba3AHsV2feqw-3MvuL`I+2|`Ud4~7ZkN=JZ;L20|Oxna5vx1qbIh#k2O4$RQF zo`tL()zxaqibg^GbB+BS5#U{@K;WWQj~GcB1zb}zJkPwH|5hZ9iH2308!>_;%msji zJHSL~s)YHBR=Koa1mLEOHos*`gp=s8KA-C zu0aE+W!#iJ*0xqKm3A`fUGy#O+X+5W36myS>Uh2!R*s$aCU^`K&KKLCCDkejX2p=5 z%o7-fl03x`gaSNyr?3_JLv?2RLS3F*8ub>Jd@^Cc17)v8vYEK4aqo?OS@W9mt%ITJ z9=S2%R8M){CugT@k~~0x`}Vl!svYqX=E)c_oU6o}#Hb^%G1l3BudxA{F*tbjG;W_>=xV73pKY53v%>I)@D36I_@&p$h|Aw zonQS`07z_F#@T-%@-Tb|)7;;anoD_WH>9ewFy(ZcEOM$#Y)8>qi7rCnsH9GO-_7zF zu*C87{Df1P4TEOsnzZ@H%&lvV(3V@;Q!%+OYRp`g05PjY^gL$^$-t0Y>H*CDDs?FZly*oZ&dxvsxaUWF!{em4{A>n@vpXg$dwvt@_rgmHF z-MER`ABa8R-t_H*kv>}CzOpz;!>p^^9ztHMsHL|SRnS<-y5Z*r(_}c4=fXF`l^-i}>e7v!qs_jv zqvWhX^F=2sDNWA9c@P0?lUlr6ecrTKM%pNQ^?*Lq?p-0~?_j50xV%^(+H>sMul#Tw zeciF*1=?a7cI(}352%>LO96pD+?9!fNyl^9v3^v&Y4L)mNGK0FN43&Xf8jUlxW1Bw zyiu2;qW-aGNhs=zbuoxnxiwZ3{PFZM#Kw)9H@(hgX23h(`Wm~m4&TvoZoYp{plb^> z_#?vXcxd>r7K+1HKJvhed>gtK`TAbJUazUWQY6T~t2af%#<+Veyr%7-#*A#@&*;@g58{i|E%6yC_InGXCOd{L0;$)z#?n7M`re zh!kO{6=>7I?*}czyF7_frt#)s1CFJ_XE&VrDA?Dp3XbvF{qsEJgb&OLSNz_5g?HpK z9)8rsr4JN!Af3G9!#Qn(6zaUDqLN(g2g8*M)Djap?WMK9NKlkC)E2|-g|#-rp%!Gz zAHd%`iq|81efi93m3yTBw3g0j#;Yb2X{mhRAI?&KDmbGqou(2xiRNb^sV}%%Wu0?< z?($L>(#BO*)^)rSgyNRni$i`R4v;GhlCZ8$@e^ROX(p=2_v6Y!%^As zu022)fHdv_-~Yu_H6WVPLpHQx!W%^6j)cBhS`O3QBW#x(eX54d&I22op(N59b*&$v zFiSRY6rOc^(dgSV1>a7-5C;(5S5MvKcM2Jm-LD9TGqDpP097%52V+0>Xqq!! zq4e3vj53SE6i8J`XcQB|MZPP8j;PAOnpGnllH6#Ku~vS42xP*Nz@~y%db7Xi8s09P z1)e%8ys6&M8D=Dt6&t`iKG_4X=!kgRQoh%Z`dc&mlOUqXk-k`jKv9@(a^2-Upw>?< zt5*^DV~6Zedbec4NVl($2T{&b)zA@b#dUyd>`2JC0=xa_fIm8{5um zr-!ApXZhC8@=vC2WyxO|!@0Km)h8ep*`^he92$@YwP>VcdoS5OC^s38e#7RPsg4j+ zbVGG}WRSET&ZfrcR(x~k8n1rTP%CnfUNKUonD$P?FtNFF#cn!wEIab-;jU=B1dHK@ z(;(yAQJ`O$sMn>h;pf^8{JISW%d+@v6@CnXh9n5TXGC}?FI9i-D0OMaIg&mAg=0Kn zNJ7oz5*ReJukD55fUsMuaP+H4tDN&V9zfqF@ zr=#ecUk9wu{0;!+gl;3Bw=Vn^)z$ahVhhw)io!na&9}LmWurLb0zubxK=UEnU*{5P z+SP}&*(iBKSO4{alBHaY^)5Q=mZ+2OwIooJ7*Q5XJ+2|q`9#f?6myq!&oz?klihLq z4C)$XP!BNS0G_Z1&TM>?Jk{S~{F3n83ioli=IO6f%wkvCl(RFFw~j0tb{GvXTx>*sB0McY0s&SNvj4+^h`9nJ_wM>F!Uc>X}9PifQekn0sKI2SAJP!a4h z5cyGTuCj3ZBM^&{dRelIlT^9zcfaAuL5Y~bl!ppSf`wZbK$z#6U~rdclk``e+!qhe z6Qspo*%<)eu6?C;Bp<^VuW6JI|Ncvyn+LlSl;Mp22Bl7ARQ0Xc24%29(ZrdsIPw&-=yHQ7_Vle|5h>AST0 zUGX2Zk34vp?U~IHT|;$U86T+UUHl_NE4m|}>E~6q``7hccCaT^#y+?wD##Q%HwPd8 zV3x4L4|qqu`B$4(LXqDJngNy-{&@aFBvVsywt@X^}iH7P%>bR?ciC$I^U-4Foa`YKI^qDyGK7k%E%c_P=yzAi`YnxGA%DeNd++j3*h^ z=rn>oBd0|~lZ<6YvmkKY*ZJlJ;Im0tqgWu&E92eqt;+NYdxx`eS(4Hw_Jb5|yVvBg z*tbdY^!AN;luEyN4VRhS@-_DC{({ziH{&Z}iGElSV~qvT>L-8G%+yEL zX#MFOhj{InyKG=mvW-<1B@c-}x$vA(nU?>S>0*eN#!SLzQ)Ex7fvQ)S4D<8|I#N$3 zT5Ei`Z?cxBODHX8(Xp73v`IsAYC@9b;t}z0wxVuQSY1J^GRwDPN@qbM-ZF48T$GZ< z8WU+;Pqo?{ghI-KZ-i*ydXu`Ep0Xw^McH_KE9J0S7G;x8Fe`DVG?j3Pv=0YzJ}yZR z%2=oqHiUjvuk0~Ca>Kol4CFi0_xQT~;_F?=u+!kIDl-9g`#ZNZ9HCy17Ga1v^Jv9# z{T4Kb1-AzUxq*MutfOWWZgD*HnFfyYg0&e9f(5tZ>krPF6{VikNeHoc{linPPt#Si z&*g>(c54V8rT_AX!J&bNm-!umPvOR}vDai#`CX___J#=zeB*{4<&2WpaDncZsOkp* zsg<%@@rbrMkR_ux9?LsQxzoBa1s%$BBn6vk#{&&zUwcfzeCBJUwFYSF$08qDsB;gWQN*g!p8pxjofWbqNSZOEKOaTx@+* zwdt5*Q47@EOZ~EZL9s?1o?A%9TJT=Ob_13yyugvPg*e&ZU(r6^k4=2+D-@n=Hv5vu zSXG|hM(>h9^zn=eQ=$6`JO&70&2|%V5Lsx>)(%#;pcOfu>*nk_3HB_BNaH$`jM<^S zcSftDU1?nL;jy)+sfonQN}(}gUW?d_ikr*3=^{G)=tjBtEPe>TO|0ddVB zTklrSHiW+!#26frPXQQ(YN8DG$PZo?(po(QUCCf_OJC`pw*uey00%gmH!`WJkrKXj2!#6?`T25mTu9OJp2L8z3! z=arrL$ZqxuE{%yV)14Kd>k}j7pxZ6#$Dz8$@WV5p8kTqN<-7W)Q7Gt2{KoOPK_tZ| zf2WG~O5@{qPI+W<4f_;reuFVdO^5`ADC1!JQE|N`s3cq@(0WB!n0uh@*c{=LAd;~} zyGK@hbF-Oo+!nN)@i*O(`@FA#u?o=~e{`4O#5}z&=UkU*50fOrzi11D^&FOqe>wii z?*k+2|EcUs;Gx{!@KBT~>PAwLrIDT7Th=Utu?~?np@t^gFs?zgX=D${RwOY^WGh-+ z+#4$066ISh8eYW#FXWp~S`<*%O^ZuItL1Tyqt8#tZ zY120E;^VG`!lZn&3sPd$RkdHpU#|w+bYV)pJC|SH9g%|5IkxVTQcBA4CL0}$&}ef@ zW^Vtj%M;;_1xxP9x#ex17&4N*{ksO*_4O}xYu(p*JkL#yr}@7b)t5X?%CY<+s5_MJ zuiqt+N_;A(_)%lumoyRFixWa-M7qK_9s6<1X?JDa9fP!+_6u~~M$5L=ipB=7(j#f< zZ34J%=bs549%~_mA(|={uZNs_0?o7;-LBP(ZRnkd{-^|2|=4vUTmtByHL8 zEph`(LSEzQj68a+`d$V<45J7cyv^#|^|%fD#si1Nx!4NW*`l*{->HEWNh6-|g>-=r zXmQ|-i}Ku$ndUeHQ^&ieT!Lf}vf6GaqW9$DJ2NWrqwPY%%4nip$@vK$nRp*_C-v<| zuKz~ZyN&<%!NS26&x?jhy+@awJipMQ-8(X4#Ae5??U<1QMt1l9R=w9fAnEF}NYu$2 z>6}Vkc zIb*A?G*z8^IvibmBKn_u^5&T_1oey0gZS2~obf(#xk=erZGTEdQnt3DMGM+0oPwss zj5zXD;(oWhB_T@~Ig#9@v)AKtXu3>Inmgf@A|-lD-1U>cNyl3h?ADD9)GG4}zUGPk zZzaXe!~Kf?<~@$G?Uql3t8jy9{2!doq4=J}j9ktTxss{p6!9UdjyDERlA*xZ!=Q)KDs5O)phz>Vq3BNGoM(H|=1*Q4$^2fTZw z(%nq1P|5Rt81}SYJpEEzMPl5VJsV5&4e)ZWKDyoZ>1EwpkHx-AQVQc8%JMz;{H~p{=FXV>jIxvm4X*qv52e?Y-f%DJ zxEA165GikEASQ^fH6K#d!Tpu2HP{sFs%E=e$gYd$aj$+xue6N+Wc(rAz~wUsk2`(b z8Kvmyz%bKQxpP}~baG-rwYcYCvkHOi zlkR<=>ZBTU*8RF_d#Bl@zZsRIhx<%~Z@Z=ik z>adw3!DK(8R|q$vy{FTxw%#xliD~6qXmY^7_9kthVPTF~Xy1CfBqbU~?1QmxmU=+k z(ggxvEuA;0e&+ci-zQR{-f7aO{O(Pz_OsEjLh_K>MbvoZ4nxtk5u{g@nPv)cgW_R} z9}EA4K4@z0?7ue}Z(o~R(X&FjejUI2g~08PH1E4w>9o{)S(?1>Z0XMvTb|;&EuyOE zGvWNpYX)Nv<8|a^;1>bh#&znEcl-r!T#pn= z4$?Yudha6F%4b>*8@=BdtXXY4N+`U4Dmx$}>HeVJk-QdTG@t!tVT#0(LeV0gvqyyw z2sEp^9eY0N`u10Tm4n8No&A=)IeEC|gnmEXoNSzu!1<4R<%-9kY_8~5Ej?zRegMn78wuMs#;i&eUA0Zk_RXQ3b&TT} z;SCI=7-FUB@*&;8|n>(_g^HGf3@QODE3LpmX~ELnymQm{Sx9xrKS zK29p~?v@R$0=v6Dr5aW>-!{+h@?Q58|Kz8{{W`%J+lDAdb&M5VHrX_mDY;1-JLnf)ezmPau$)1;=`-FU=-r-83tX=C`S#}GZufju zQ>sXNT0Ny=k@nc%cFnvA_i4SC)?_ORXHq8B4D%el1uPX`c~uG#S1M7C+*MMqLw78E zhY2dI8@+N^qrMI1+;TUda(vGqGSRyU{Fnm`aqrr7bz42c5xsOO-~oZpkzorD1g}Y<6rk&3>PsSGy}W?MtqFky@A(X# zIuNZK0cK?^=;PUAu>j0#HtjbHCV*6?jzA&OoE$*Jlga*}LF`SF?WLhv1O|zqC<>*> zYB;#lsYKx0&kH@BFpW8n*yDcc6?;_zaJs<-jPSkCsSX-!aV=P5kUgF@Nu<{a%#K*F z134Q{9|YX7X(v$62_cY3^G%t~rD>Q0z@)1|zs)vjJ6Jq9;7#Ki`w+eS**En?7;n&7 zu==V3T&eFboN3ZiMx3D8qYc;VjFUk_H-WWCau(VFXSQf~viH0L$gwD$UfFHqNcgN`x}M+YQ6RnN<+@t>JUp#)9YOkqst-Ga?{FsDpEeX0(5v{0J~SEbWiL zXC2}M4?UH@u&|;%0y`eb33ldo4~z-x8zY!oVmV=c+f$m?RfDC35mdQ2E>Pze7KWP- z>!Bh<&57I+O_^s}9Tg^k)h7{xx@0a0IA~GAOt2yy!X%Q$1rt~LbTB6@Du!_0%HV>N zlf)QI1&gvERKwso23mJ!Ou6ZS#zCS5W`gxE5T>C#E|{i<1D35C222I33?Njaz`On7 zi<+VWFP6D{e-{yiN#M|Jgk<44u1TiMI78S5W`Sdb5f+{zu34s{CfWN7a3Cf^@L%!& zN$?|!!9j2c)j$~+R6n#891w-z8(!oBpL2K=+%a$r2|~8-(vQj5_XT`<0Ksf;oP+tz z9CObS!0m)Tgg`K#xBM8B(|Z)Wb&DYL{WTYv`;A=q6~Nnx2+!lTIXtj8J7dZE!P_{z z#f8w6F}^!?^KE#+ZDv+xd5O&3EmomZzsv?>E-~ygGum45fk!SBN&|eo1rKw^?aZJ4 E2O(~oYXATM diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradle/wrapper/gradle-wrapper.properties b/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 12d38de6a48..00000000000 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.6.1-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradlew b/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradlew deleted file mode 100755 index 4f906e0c811..00000000000 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradlew +++ /dev/null @@ -1,185 +0,0 @@ -#!/usr/bin/env sh - -# -# Copyright 2015 the original author or authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=`expr $i + 1` - done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -exec "$JAVACMD" "$@" diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradlew.bat b/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradlew.bat deleted file mode 100644 index 107acd32c4e..00000000000 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/skip-on-platform-osx-arm b/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/skip-on-platform-osx-arm deleted file mode 100644 index 8b3140e546e..00000000000 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/skip-on-platform-osx-arm +++ /dev/null @@ -1,3 +0,0 @@ -2023-11-08: - -There is no Java 8 build available for OSX Arm, therefore this test fails. diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/test.py b/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/test.py index d087461cd89..accbd8facdd 100644 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/test.py +++ b/java/ql/integration-tests/all-platforms/java/diagnostics/java-version-too-old/test.py @@ -1,26 +1,20 @@ import os -from create_database_utils import * -from diagnostics_test_utils import * +import re +import runs_on -# Ensure we're using an old Java version that won't work with Gradle -for k in os.environ: - if k.upper() in ["JAVA_HOME_8_X64", "JAVA_HOME_8_ARM64"]: - os.environ["JAVA_HOME"] = os.environ[k] - sep = ";" if platform.system() == "Windows" else ":" - os.environ["PATH"] = "".join([os.path.join(os.environ["JAVA_HOME"], "bin"), sep, os.environ["PATH"]]) - break -# Ensure the autobuilder *doesn't* see newer Java versions, which it could switch to in order to build the project: -for k in os.environ: - if re.match(r"^JAVA_HOME_\d\d_", k): - del os.environ[k] +# There is no Java 8 build available for OSX Arm, therefore this test fails. +@runs_on.x86_64 +def test(codeql, use_java_8, java, cwd, gradle_6_6_1): + # Use a custom, empty toolchains.xml file so the autobuilder doesn't see any Java versions that may be + # in a system-level toolchains file + toolchains_path = cwd / "toolchains.xml" -# Use a custom, empty toolchains.xml file so the autobuilder doesn't see any Java versions that may be -# in a system-level toolchains file -toolchains_path = os.path.join(os.getcwd(), 'toolchains.xml') - -run_codeql_database_create([], lang="java", runFunction = runUnsuccessfully, db = None, extra_env={ - 'LGTM_INDEX_MAVEN_TOOLCHAINS_FILE': toolchains_path -}) - -check_diagnostics() + # Ensure the autobuilder *doesn't* see newer Java versions, which it could switch to in order to build the project: + for k in os.environ: + if re.match(r"^JAVA_HOME_\d\d_", k): + del os.environ[k] + codeql.database.create( + _assert_failure=True, + _env={"LGTM_INDEX_MAVEN_TOOLCHAINS_FILE": str(toolchains_path)}, + ) diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/maven-http-repository/test.py b/java/ql/integration-tests/all-platforms/java/diagnostics/maven-http-repository/test.py index 23fe1d32fd8..a0c0737d3ac 100644 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/maven-http-repository/test.py +++ b/java/ql/integration-tests/all-platforms/java/diagnostics/maven-http-repository/test.py @@ -1,7 +1,2 @@ -import os -from create_database_utils import * -from diagnostics_test_utils import * - -run_codeql_database_create([], lang="java", runFunction = runUnsuccessfully, db = None) - -check_diagnostics() +def test(codeql, java): + codeql.database.create(_assert_failure=True) diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/multiple-candidate-builds/test.py b/java/ql/integration-tests/all-platforms/java/diagnostics/multiple-candidate-builds/test.py index 23fe1d32fd8..a0c0737d3ac 100644 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/multiple-candidate-builds/test.py +++ b/java/ql/integration-tests/all-platforms/java/diagnostics/multiple-candidate-builds/test.py @@ -1,7 +1,2 @@ -import os -from create_database_utils import * -from diagnostics_test_utils import * - -run_codeql_database_create([], lang="java", runFunction = runUnsuccessfully, db = None) - -check_diagnostics() +def test(codeql, java): + codeql.database.create(_assert_failure=True) diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/no-build-system/test.py b/java/ql/integration-tests/all-platforms/java/diagnostics/no-build-system/test.py index 23fe1d32fd8..a0c0737d3ac 100644 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/no-build-system/test.py +++ b/java/ql/integration-tests/all-platforms/java/diagnostics/no-build-system/test.py @@ -1,7 +1,2 @@ -import os -from create_database_utils import * -from diagnostics_test_utils import * - -run_codeql_database_create([], lang="java", runFunction = runUnsuccessfully, db = None) - -check_diagnostics() +def test(codeql, java): + codeql.database.create(_assert_failure=True) diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/no-gradle-test-classes/diagnostics.expected b/java/ql/integration-tests/all-platforms/java/diagnostics/no-gradle-test-classes/diagnostics.expected index 30e328253da..e8f7e949c5e 100644 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/no-gradle-test-classes/diagnostics.expected +++ b/java/ql/integration-tests/all-platforms/java/diagnostics/no-gradle-test-classes/diagnostics.expected @@ -13,7 +13,7 @@ } } { - "markdownMessage": "Gradle project does not define a `testClasses` goal. [Supply a manual build command](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages#adding-build-steps-for-a-compiled-language) that builds the code that should be analyzed.\n\nRelevant output line: `org.gradle.execution.TaskSelectionException: Task 'testClasses' not found in root project 'no-gradle-test-classes'.`", + "markdownMessage": "Gradle project does not define a `testClasses` goal. [Supply a manual build command](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages#adding-build-steps-for-a-compiled-language) that builds the code that should be analyzed.\n\nRelevant output line: `org.gradle.execution.TaskSelectionException: Task 'testClasses' not found in root project 'test'.`", "severity": "error", "source": { "extractorName": "java", diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/no-gradle-test-classes/test.py b/java/ql/integration-tests/all-platforms/java/diagnostics/no-gradle-test-classes/test.py index 23fe1d32fd8..a0c0737d3ac 100644 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/no-gradle-test-classes/test.py +++ b/java/ql/integration-tests/all-platforms/java/diagnostics/no-gradle-test-classes/test.py @@ -1,7 +1,2 @@ -import os -from create_database_utils import * -from diagnostics_test_utils import * - -run_codeql_database_create([], lang="java", runFunction = runUnsuccessfully, db = None) - -check_diagnostics() +def test(codeql, java): + codeql.database.create(_assert_failure=True) diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/no-gradle-wrapper/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/diagnostics/no-gradle-wrapper/force_sequential_test_execution deleted file mode 100644 index b0e2500b259..00000000000 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/no-gradle-wrapper/force_sequential_test_execution +++ /dev/null @@ -1,3 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. diff --git a/java/ql/integration-tests/all-platforms/java/diagnostics/no-gradle-wrapper/test.py b/java/ql/integration-tests/all-platforms/java/diagnostics/no-gradle-wrapper/test.py index 23fe1d32fd8..a0c0737d3ac 100644 --- a/java/ql/integration-tests/all-platforms/java/diagnostics/no-gradle-wrapper/test.py +++ b/java/ql/integration-tests/all-platforms/java/diagnostics/no-gradle-wrapper/test.py @@ -1,7 +1,2 @@ -import os -from create_database_utils import * -from diagnostics_test_utils import * - -run_codeql_database_create([], lang="java", runFunction = runUnsuccessfully, db = None) - -check_diagnostics() +def test(codeql, java): + codeql.database.create(_assert_failure=True) diff --git a/java/ql/integration-tests/all-platforms/java/ecj-sample-noexit/source_archive.expected b/java/ql/integration-tests/all-platforms/java/ecj-sample-noexit/source_archive.expected new file mode 100644 index 00000000000..3d16d23ce76 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/ecj-sample-noexit/source_archive.expected @@ -0,0 +1,2 @@ +Test.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/ecj-sample-noexit/test.expected b/java/ql/integration-tests/all-platforms/java/ecj-sample-noexit/test.expected deleted file mode 100644 index 8f3e41e24f0..00000000000 --- a/java/ql/integration-tests/all-platforms/java/ecj-sample-noexit/test.expected +++ /dev/null @@ -1 +0,0 @@ -| Test.java:1:14:1:17 | Test | diff --git a/java/ql/integration-tests/all-platforms/java/ecj-sample-noexit/test.py b/java/ql/integration-tests/all-platforms/java/ecj-sample-noexit/test.py index 1478610427a..a9afd1055ef 100644 --- a/java/ql/integration-tests/all-platforms/java/ecj-sample-noexit/test.py +++ b/java/ql/integration-tests/all-platforms/java/ecj-sample-noexit/test.py @@ -1,6 +1,4 @@ -import urllib.request -from create_database_utils import * - -urllib.request.urlretrieve("https://repo1.maven.org/maven2/org/eclipse/jdt/ecj/3.37.0/ecj-3.37.0.jar", "ecj.jar") - -run_codeql_database_create(["java -cp ecj.jar org.eclipse.jdt.internal.compiler.batch.Main -noExit Test.java"], lang="java") +def test(codeql, java, ecj): + codeql.database.create( + command=f"java -cp {ecj} org.eclipse.jdt.internal.compiler.batch.Main -noExit Test.java" + ) diff --git a/java/ql/integration-tests/all-platforms/java/ecj-sample-noexit/test.ql b/java/ql/integration-tests/all-platforms/java/ecj-sample-noexit/test.ql deleted file mode 100644 index a61eb5e336a..00000000000 --- a/java/ql/integration-tests/all-platforms/java/ecj-sample-noexit/test.ql +++ /dev/null @@ -1,3 +0,0 @@ -import java - -select any(Class c | c.fromSource()) diff --git a/java/ql/integration-tests/all-platforms/java/ecj-sample/source_archive.expected b/java/ql/integration-tests/all-platforms/java/ecj-sample/source_archive.expected new file mode 100644 index 00000000000..3d16d23ce76 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/ecj-sample/source_archive.expected @@ -0,0 +1,2 @@ +Test.java +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/ecj-sample/test.expected b/java/ql/integration-tests/all-platforms/java/ecj-sample/test.expected deleted file mode 100644 index 8f3e41e24f0..00000000000 --- a/java/ql/integration-tests/all-platforms/java/ecj-sample/test.expected +++ /dev/null @@ -1 +0,0 @@ -| Test.java:1:14:1:17 | Test | diff --git a/java/ql/integration-tests/all-platforms/java/ecj-sample/test.py b/java/ql/integration-tests/all-platforms/java/ecj-sample/test.py index 9acadbdb6f1..d9948b5b54f 100644 --- a/java/ql/integration-tests/all-platforms/java/ecj-sample/test.py +++ b/java/ql/integration-tests/all-platforms/java/ecj-sample/test.py @@ -1,6 +1,4 @@ -import urllib.request -from create_database_utils import * - -urllib.request.urlretrieve("https://repo1.maven.org/maven2/org/eclipse/jdt/ecj/3.37.0/ecj-3.37.0.jar", "ecj.jar") - -run_codeql_database_create(["java -cp ecj.jar org.eclipse.jdt.internal.compiler.batch.Main Test.java"], lang="java") +def test(codeql, java, ecj): + codeql.database.create( + command=f"java -cp {ecj} org.eclipse.jdt.internal.compiler.batch.Main Test.java" + ) diff --git a/java/ql/integration-tests/all-platforms/java/ecj-sample/test.ql b/java/ql/integration-tests/all-platforms/java/ecj-sample/test.ql deleted file mode 100644 index a61eb5e336a..00000000000 --- a/java/ql/integration-tests/all-platforms/java/ecj-sample/test.ql +++ /dev/null @@ -1,3 +0,0 @@ -import java - -select any(Class c | c.fromSource()) diff --git a/java/ql/integration-tests/all-platforms/java/ecj-tolerate-enum-annotations/Diagnostics.expected b/java/ql/integration-tests/all-platforms/java/ecj-tolerate-enum-annotations/Diag.expected similarity index 100% rename from java/ql/integration-tests/all-platforms/java/ecj-tolerate-enum-annotations/Diagnostics.expected rename to java/ql/integration-tests/all-platforms/java/ecj-tolerate-enum-annotations/Diag.expected diff --git a/java/ql/integration-tests/all-platforms/java/ecj-tolerate-enum-annotations/Diagnostics.ql b/java/ql/integration-tests/all-platforms/java/ecj-tolerate-enum-annotations/Diag.ql similarity index 100% rename from java/ql/integration-tests/all-platforms/java/ecj-tolerate-enum-annotations/Diagnostics.ql rename to java/ql/integration-tests/all-platforms/java/ecj-tolerate-enum-annotations/Diag.ql diff --git a/java/ql/integration-tests/all-platforms/java/ecj-tolerate-enum-annotations/test.py b/java/ql/integration-tests/all-platforms/java/ecj-tolerate-enum-annotations/test.py index 40313e2654a..027ca32b433 100644 --- a/java/ql/integration-tests/all-platforms/java/ecj-tolerate-enum-annotations/test.py +++ b/java/ql/integration-tests/all-platforms/java/ecj-tolerate-enum-annotations/test.py @@ -1,8 +1,8 @@ -import urllib.request -from create_database_utils import * - -urllib.request.urlretrieve("https://repo1.maven.org/maven2/org/eclipse/jdt/ecj/3.38.0/ecj-3.38.0.jar", "ecj.jar") - -# This tests the case where ECJ emits a RuntimeIn/VisibleAnnotations attribute that isn't the same size as the corresponding method argument list, in particular due to forgetting to include the synthetic parameters added to explicit enumeration constructors. - -run_codeql_database_create(["java -cp ecj.jar org.eclipse.jdt.internal.compiler.batch.Main Test.java -d out -source 8", "java -cp ecj.jar org.eclipse.jdt.internal.compiler.batch.Main Test2.java -cp out -source 8"], lang="java") +def test(codeql, java, ecj): + # This tests the case where ECJ emits a RuntimeIn/VisibleAnnotations attribute that isn't the same size as the corresponding method argument list, in particular due to forgetting to include the synthetic parameters added to explicit enumeration constructors. + codeql.database.create( + command=[ + f"java -cp {ecj} org.eclipse.jdt.internal.compiler.batch.Main Test.java -d out -source 8", + f"java -cp {ecj} org.eclipse.jdt.internal.compiler.batch.Main Test2.java -cp out -source 8", + ] + ) diff --git a/java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/.gitattributes b/java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/.gitattributes deleted file mode 100644 index 097f9f98d9e..00000000000 --- a/java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/.gitattributes +++ /dev/null @@ -1,9 +0,0 @@ -# -# https://help.github.com/articles/dealing-with-line-endings/ -# -# Linux start script should use lf -/gradlew text eol=lf - -# These are Windows script files and should use crlf -*.bat text eol=crlf - diff --git a/java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/.gitignore b/java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/.gitignore deleted file mode 100644 index 1b6985c0094..00000000000 --- a/java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -# Ignore Gradle project-specific cache directory -.gradle - -# Ignore Gradle build output directory -build diff --git a/java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/force_sequential_test_execution deleted file mode 100644 index b0e2500b259..00000000000 --- a/java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/force_sequential_test_execution +++ /dev/null @@ -1,3 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. diff --git a/java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/gradle/wrapper/gradle-wrapper.jar b/java/ql/integration-tests/all-platforms/java/gradle-sample-kotlin-script/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 249e5832f090a2944b7473328c07c9755baa3196..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60756 zcmb5WV{~QRw(p$^Dz@00IL3?^hro$gg*4VI_WAaTyVM5Foj~O|-84 z$;06hMwt*rV;^8iB z1~&0XWpYJmG?Ts^K9PC62H*`G}xom%S%yq|xvG~FIfP=9*f zZoDRJBm*Y0aId=qJ?7dyb)6)JGWGwe)MHeNSzhi)Ko6J<-m@v=a%NsP537lHe0R* z`If4$aaBA#S=w!2z&m>{lpTy^Lm^mg*3?M&7HFv}7K6x*cukLIGX;bQG|QWdn{%_6 zHnwBKr84#B7Z+AnBXa16a?or^R?+>$4`}{*a_>IhbjvyTtWkHw)|ay)ahWUd-qq$~ zMbh6roVsj;_qnC-R{G+Cy6bApVOinSU-;(DxUEl!i2)1EeQ9`hrfqj(nKI7?Z>Xur zoJz-a`PxkYit1HEbv|jy%~DO^13J-ut986EEG=66S}D3!L}Efp;Bez~7tNq{QsUMm zh9~(HYg1pA*=37C0}n4g&bFbQ+?-h-W}onYeE{q;cIy%eZK9wZjSwGvT+&Cgv z?~{9p(;bY_1+k|wkt_|N!@J~aoY@|U_RGoWX<;p{Nu*D*&_phw`8jYkMNpRTWx1H* z>J-Mi_!`M468#5Aix$$u1M@rJEIOc?k^QBc?T(#=n&*5eS#u*Y)?L8Ha$9wRWdH^3D4|Ps)Y?m0q~SiKiSfEkJ!=^`lJ(%W3o|CZ zSrZL-Xxc{OrmsQD&s~zPfNJOpSZUl%V8tdG%ei}lQkM+z@-4etFPR>GOH9+Y_F<3=~SXln9Kb-o~f>2a6Xz@AS3cn^;c_>lUwlK(n>z?A>NbC z`Ud8^aQy>wy=$)w;JZzA)_*Y$Z5hU=KAG&htLw1Uh00yE!|Nu{EZkch zY9O6x7Y??>!7pUNME*d!=R#s)ghr|R#41l!c?~=3CS8&zr6*aA7n9*)*PWBV2w+&I zpW1-9fr3j{VTcls1>ua}F*bbju_Xq%^v;-W~paSqlf zolj*dt`BBjHI)H9{zrkBo=B%>8}4jeBO~kWqO!~Thi!I1H(in=n^fS%nuL=X2+s!p}HfTU#NBGiwEBF^^tKU zbhhv+0dE-sbK$>J#t-J!B$TMgN@Wh5wTtK2BG}4BGfsZOoRUS#G8Cxv|6EI*n&Xxq zt{&OxCC+BNqz$9b0WM7_PyBJEVObHFh%%`~!@MNZlo*oXDCwDcFwT~Rls!aApL<)^ zbBftGKKBRhB!{?fX@l2_y~%ygNFfF(XJzHh#?`WlSL{1lKT*gJM zs>bd^H9NCxqxn(IOky5k-wALFowQr(gw%|`0991u#9jXQh?4l|l>pd6a&rx|v=fPJ z1mutj{YzpJ_gsClbWFk(G}bSlFi-6@mwoQh-XeD*j@~huW4(8ub%^I|azA)h2t#yG z7e_V_<4jlM3D(I+qX}yEtqj)cpzN*oCdYHa!nm%0t^wHm)EmFP*|FMw!tb@&`G-u~ zK)=Sf6z+BiTAI}}i{*_Ac$ffr*Wrv$F7_0gJkjx;@)XjYSh`RjAgrCck`x!zP>Ifu z&%he4P|S)H*(9oB4uvH67^0}I-_ye_!w)u3v2+EY>eD3#8QR24<;7?*hj8k~rS)~7 zSXs5ww)T(0eHSp$hEIBnW|Iun<_i`}VE0Nc$|-R}wlSIs5pV{g_Dar(Zz<4X3`W?K z6&CAIl4U(Qk-tTcK{|zYF6QG5ArrEB!;5s?tW7 zrE3hcFY&k)+)e{+YOJ0X2uDE_hd2{|m_dC}kgEKqiE9Q^A-+>2UonB+L@v3$9?AYw zVQv?X*pK;X4Ovc6Ev5Gbg{{Eu*7{N3#0@9oMI~}KnObQE#Y{&3mM4`w%wN+xrKYgD zB-ay0Q}m{QI;iY`s1Z^NqIkjrTlf`B)B#MajZ#9u41oRBC1oM1vq0i|F59> z#StM@bHt|#`2)cpl_rWB($DNJ3Lap}QM-+A$3pe}NyP(@+i1>o^fe-oxX#Bt`mcQc zb?pD4W%#ep|3%CHAYnr*^M6Czg>~L4?l16H1OozM{P*en298b+`i4$|w$|4AHbzqB zHpYUsHZET$Z0ztC;U+0*+amF!@PI%^oUIZy{`L{%O^i{Xk}X0&nl)n~tVEpcAJSJ} zverw15zP1P-O8h9nd!&hj$zuwjg?DoxYIw{jWM zW5_pj+wFy8Tsa9g<7Qa21WaV&;ejoYflRKcz?#fSH_)@*QVlN2l4(QNk| z4aPnv&mrS&0|6NHq05XQw$J^RR9T{3SOcMKCXIR1iSf+xJ0E_Wv?jEc*I#ZPzyJN2 zUG0UOXHl+PikM*&g$U@g+KbG-RY>uaIl&DEtw_Q=FYq?etc!;hEC_}UX{eyh%dw2V zTTSlap&5>PY{6I#(6`j-9`D&I#|YPP8a;(sOzgeKDWsLa!i-$frD>zr-oid!Hf&yS z!i^cr&7tN}OOGmX2)`8k?Tn!!4=tz~3hCTq_9CdiV!NIblUDxHh(FJ$zs)B2(t5@u z-`^RA1ShrLCkg0)OhfoM;4Z{&oZmAec$qV@ zGQ(7(!CBk<5;Ar%DLJ0p0!ResC#U<+3i<|vib1?{5gCebG7$F7URKZXuX-2WgF>YJ^i zMhHDBsh9PDU8dlZ$yJKtc6JA#y!y$57%sE>4Nt+wF1lfNIWyA`=hF=9Gj%sRwi@vd z%2eVV3y&dvAgyuJ=eNJR+*080dbO_t@BFJO<@&#yqTK&+xc|FRR;p;KVk@J3$S{p` zGaMj6isho#%m)?pOG^G0mzOAw0z?!AEMsv=0T>WWcE>??WS=fII$t$(^PDPMU(P>o z_*0s^W#|x)%tx8jIgZY~A2yG;US0m2ZOQt6yJqW@XNY_>_R7(Nxb8Ged6BdYW6{prd!|zuX$@Q2o6Ona8zzYC1u!+2!Y$Jc9a;wy+pXt}o6~Bu1oF1c zp7Y|SBTNi@=I(K%A60PMjM#sfH$y*c{xUgeSpi#HB`?|`!Tb&-qJ3;vxS!TIzuTZs-&%#bAkAyw9m4PJgvey zM5?up*b}eDEY+#@tKec)-c(#QF0P?MRlD1+7%Yk*jW;)`f;0a-ZJ6CQA?E%>i2Dt7T9?s|9ZF|KP4;CNWvaVKZ+Qeut;Jith_y{v*Ny6Co6!8MZx;Wgo z=qAi%&S;8J{iyD&>3CLCQdTX*$+Rx1AwA*D_J^0>suTgBMBb=*hefV+Ars#mmr+YsI3#!F@Xc1t4F-gB@6aoyT+5O(qMz*zG<9Qq*f0w^V!03rpr*-WLH}; zfM{xSPJeu6D(%8HU%0GEa%waFHE$G?FH^kMS-&I3)ycx|iv{T6Wx}9$$D&6{%1N_8 z_CLw)_9+O4&u94##vI9b-HHm_95m)fa??q07`DniVjAy`t7;)4NpeyAY(aAk(+T_O z1om+b5K2g_B&b2DCTK<>SE$Ode1DopAi)xaJjU>**AJK3hZrnhEQ9E`2=|HHe<^tv z63e(bn#fMWuz>4erc47}!J>U58%<&N<6AOAewyzNTqi7hJc|X{782&cM zHZYclNbBwU6673=!ClmxMfkC$(CykGR@10F!zN1Se83LR&a~$Ht&>~43OX22mt7tcZUpa;9@q}KDX3O&Ugp6< zLZLfIMO5;pTee1vNyVC$FGxzK2f>0Z-6hM82zKg44nWo|n}$Zk6&;5ry3`(JFEX$q zK&KivAe${e^5ZGc3a9hOt|!UOE&OocpVryE$Y4sPcs4rJ>>Kbi2_subQ9($2VN(3o zb~tEzMsHaBmBtaHAyES+d3A(qURgiskSSwUc9CfJ@99&MKp2sooSYZu+-0t0+L*!I zYagjOlPgx|lep9tiU%ts&McF6b0VE57%E0Ho%2oi?=Ks+5%aj#au^OBwNwhec zta6QAeQI^V!dF1C)>RHAmB`HnxyqWx?td@4sd15zPd*Fc9hpDXP23kbBenBxGeD$k z;%0VBQEJ-C)&dTAw_yW@k0u?IUk*NrkJ)(XEeI z9Y>6Vel>#s_v@=@0<{4A{pl=9cQ&Iah0iD0H`q)7NeCIRz8zx;! z^OO;1+IqoQNak&pV`qKW+K0^Hqp!~gSohcyS)?^P`JNZXw@gc6{A3OLZ?@1Uc^I2v z+X!^R*HCm3{7JPq{8*Tn>5;B|X7n4QQ0Bs79uTU%nbqOJh`nX(BVj!#f;#J+WZxx4 z_yM&1Y`2XzhfqkIMO7tB3raJKQS+H5F%o83bM+hxbQ zeeJm=Dvix$2j|b4?mDacb67v-1^lTp${z=jc1=j~QD>7c*@+1?py>%Kj%Ejp7Y-!? z8iYRUlGVrQPandAaxFfks53@2EC#0)%mrnmGRn&>=$H$S8q|kE_iWko4`^vCS2aWg z#!`RHUGyOt*k?bBYu3*j3u0gB#v(3tsije zgIuNNWNtrOkx@Pzs;A9un+2LX!zw+p3_NX^Sh09HZAf>m8l@O*rXy_82aWT$Q>iyy zqO7Of)D=wcSn!0+467&!Hl))eff=$aneB?R!YykdKW@k^_uR!+Q1tR)+IJb`-6=jj zymzA>Sv4>Z&g&WWu#|~GcP7qP&m*w-S$)7Xr;(duqCTe7p8H3k5>Y-n8438+%^9~K z3r^LIT_K{i7DgEJjIocw_6d0!<;wKT`X;&vv+&msmhAAnIe!OTdybPctzcEzBy88_ zWO{6i4YT%e4^WQZB)KHCvA(0tS zHu_Bg+6Ko%a9~$EjRB90`P(2~6uI@SFibxct{H#o&y40MdiXblu@VFXbhz>Nko;7R z70Ntmm-FePqhb%9gL+7U8@(ch|JfH5Fm)5${8|`Lef>LttM_iww6LW2X61ldBmG0z zax3y)njFe>j*T{i0s8D4=L>X^j0)({R5lMGVS#7(2C9@AxL&C-lZQx~czI7Iv+{%1 z2hEG>RzX4S8x3v#9sgGAnPzptM)g&LB}@%E>fy0vGSa(&q0ch|=ncKjNrK z`jA~jObJhrJ^ri|-)J^HUyeZXz~XkBp$VhcTEcTdc#a2EUOGVX?@mYx#Vy*!qO$Jv zQ4rgOJ~M*o-_Wptam=~krnmG*p^j!JAqoQ%+YsDFW7Cc9M%YPiBOrVcD^RY>m9Pd< zu}#9M?K{+;UIO!D9qOpq9yxUquQRmQNMo0pT`@$pVt=rMvyX)ph(-CCJLvUJy71DI zBk7oc7)-%ngdj~s@76Yse3L^gV0 z2==qfp&Q~L(+%RHP0n}+xH#k(hPRx(!AdBM$JCfJ5*C=K3ts>P?@@SZ_+{U2qFZb>4kZ{Go37{# zSQc+-dq*a-Vy4?taS&{Ht|MLRiS)Sn14JOONyXqPNnpq&2y~)6wEG0oNy>qvod$FF z`9o&?&6uZjhZ4_*5qWVrEfu(>_n2Xi2{@Gz9MZ8!YmjYvIMasE9yVQL10NBrTCczq zcTY1q^PF2l!Eraguf{+PtHV3=2A?Cu&NN&a8V(y;q(^_mFc6)%Yfn&X&~Pq zU1?qCj^LF(EQB1F`8NxNjyV%fde}dEa(Hx=r7$~ts2dzDwyi6ByBAIx$NllB4%K=O z$AHz1<2bTUb>(MCVPpK(E9wlLElo(aSd(Os)^Raum`d(g9Vd_+Bf&V;l=@mM=cC>) z)9b0enb)u_7V!!E_bl>u5nf&Rl|2r=2F3rHMdb7y9E}}F82^$Rf+P8%dKnOeKh1vs zhH^P*4Ydr^$)$h@4KVzxrHyy#cKmWEa9P5DJ|- zG;!Qi35Tp7XNj60=$!S6U#!(${6hyh7d4q=pF{`0t|N^|L^d8pD{O9@tF~W;#Je*P z&ah%W!KOIN;SyAEhAeTafJ4uEL`(RtnovM+cb(O#>xQnk?dzAjG^~4$dFn^<@-Na3 z395;wBnS{t*H;Jef2eE!2}u5Ns{AHj>WYZDgQJt8v%x?9{MXqJsGP|l%OiZqQ1aB! z%E=*Ig`(!tHh>}4_z5IMpg{49UvD*Pp9!pxt_gdAW%sIf3k6CTycOT1McPl=_#0?8 zVjz8Hj*Vy9c5-krd-{BQ{6Xy|P$6LJvMuX$* zA+@I_66_ET5l2&gk9n4$1M3LN8(yEViRx&mtd#LD}AqEs?RW=xKC(OCWH;~>(X6h!uDxXIPH06xh z*`F4cVlbDP`A)-fzf>MuScYsmq&1LUMGaQ3bRm6i7OsJ|%uhTDT zlvZA1M}nz*SalJWNT|`dBm1$xlaA>CCiQ zK`xD-RuEn>-`Z?M{1%@wewf#8?F|(@1e0+T4>nmlSRrNK5f)BJ2H*$q(H>zGD0>eL zQ!tl_Wk)k*e6v^m*{~A;@6+JGeWU-q9>?+L_#UNT%G?4&BnOgvm9@o7l?ov~XL+et zbGT)|G7)KAeqb=wHSPk+J1bdg7N3$vp(ekjI1D9V$G5Cj!=R2w=3*4!z*J-r-cyeb zd(i2KmX!|Lhey!snRw z?#$Gu%S^SQEKt&kep)up#j&9}e+3=JJBS(s>MH+|=R(`8xK{mmndWo_r`-w1#SeRD&YtAJ#GiVI*TkQZ}&aq<+bU2+coU3!jCI6E+Ad_xFW*ghnZ$q zAoF*i&3n1j#?B8x;kjSJD${1jdRB;)R*)Ao!9bd|C7{;iqDo|T&>KSh6*hCD!rwv= zyK#F@2+cv3=|S1Kef(E6Niv8kyLVLX&e=U;{0x{$tDfShqkjUME>f8d(5nzSkY6@! z^-0>DM)wa&%m#UF1F?zR`8Y3X#tA!*7Q$P3lZJ%*KNlrk_uaPkxw~ zxZ1qlE;Zo;nb@!SMazSjM>;34ROOoygo%SF);LL>rRonWwR>bmSd1XD^~sGSu$Gg# zFZ`|yKU0%!v07dz^v(tY%;So(e`o{ZYTX`hm;@b0%8|H>VW`*cr8R%3n|ehw2`(9B+V72`>SY}9^8oh$En80mZK9T4abVG*to;E z1_S6bgDOW?!Oy1LwYy=w3q~KKdbNtyH#d24PFjX)KYMY93{3-mPP-H>@M-_>N~DDu zENh~reh?JBAK=TFN-SfDfT^=+{w4ea2KNWXq2Y<;?(gf(FgVp8Zp-oEjKzB%2Iqj;48GmY3h=bcdYJ}~&4tS`Q1sb=^emaW$IC$|R+r-8V- zf0$gGE(CS_n4s>oicVk)MfvVg#I>iDvf~Ov8bk}sSxluG!6#^Z_zhB&U^`eIi1@j( z^CK$z^stBHtaDDHxn+R;3u+>Lil^}fj?7eaGB z&5nl^STqcaBxI@v>%zG|j))G(rVa4aY=B@^2{TFkW~YP!8!9TG#(-nOf^^X-%m9{Z zCC?iC`G-^RcBSCuk=Z`(FaUUe?hf3{0C>>$?Vs z`2Uud9M+T&KB6o4o9kvdi^Q=Bw!asPdxbe#W-Oaa#_NP(qpyF@bVxv5D5))srkU#m zj_KA+#7sqDn*Ipf!F5Byco4HOSd!Ui$l94|IbW%Ny(s1>f4|Mv^#NfB31N~kya9!k zWCGL-$0ZQztBate^fd>R!hXY_N9ZjYp3V~4_V z#eB)Kjr8yW=+oG)BuNdZG?jaZlw+l_ma8aET(s+-x+=F-t#Qoiuu1i`^x8Sj>b^U} zs^z<()YMFP7CmjUC@M=&lA5W7t&cxTlzJAts*%PBDAPuqcV5o7HEnqjif_7xGt)F% zGx2b4w{@!tE)$p=l3&?Bf#`+!-RLOleeRk3 z7#pF|w@6_sBmn1nECqdunmG^}pr5(ZJQVvAt$6p3H(16~;vO>?sTE`Y+mq5YP&PBo zvq!7#W$Gewy`;%6o^!Dtjz~x)T}Bdk*BS#=EY=ODD&B=V6TD2z^hj1m5^d6s)D*wk zu$z~D7QuZ2b?5`p)E8e2_L38v3WE{V`bVk;6fl#o2`) z99JsWhh?$oVRn@$S#)uK&8DL8>An0&S<%V8hnGD7Z^;Y(%6;^9!7kDQ5bjR_V+~wp zfx4m3z6CWmmZ<8gDGUyg3>t8wgJ5NkkiEm^(sedCicP^&3D%}6LtIUq>mXCAt{9eF zNXL$kGcoUTf_Lhm`t;hD-SE)m=iBnxRU(NyL}f6~1uH)`K!hmYZjLI%H}AmEF5RZt z06$wn63GHnApHXZZJ}s^s)j9(BM6e*7IBK6Bq(!)d~zR#rbxK9NVIlgquoMq z=eGZ9NR!SEqP6=9UQg#@!rtbbSBUM#ynF);zKX+|!Zm}*{H z+j=d?aZ2!?@EL7C~%B?6ouCKLnO$uWn;Y6Xz zX8dSwj732u(o*U3F$F=7xwxm>E-B+SVZH;O-4XPuPkLSt_?S0)lb7EEg)Mglk0#eS z9@jl(OnH4juMxY+*r03VDfPx_IM!Lmc(5hOI;`?d37f>jPP$?9jQQIQU@i4vuG6MagEoJrQ=RD7xt@8E;c zeGV*+Pt+t$@pt!|McETOE$9k=_C!70uhwRS9X#b%ZK z%q(TIUXSS^F0`4Cx?Rk07C6wI4!UVPeI~-fxY6`YH$kABdOuiRtl73MqG|~AzZ@iL&^s?24iS;RK_pdlWkhcF z@Wv-Om(Aealfg)D^adlXh9Nvf~Uf@y;g3Y)i(YP zEXDnb1V}1pJT5ZWyw=1i+0fni9yINurD=EqH^ciOwLUGi)C%Da)tyt=zq2P7pV5-G zR7!oq28-Fgn5pW|nlu^b!S1Z#r7!Wtr{5J5PQ>pd+2P7RSD?>(U7-|Y z7ZQ5lhYIl_IF<9?T9^IPK<(Hp;l5bl5tF9>X-zG14_7PfsA>6<$~A338iYRT{a@r_ zuXBaT=`T5x3=s&3=RYx6NgG>No4?5KFBVjE(swfcivcIpPQFx5l+O;fiGsOrl5teR z_Cm+;PW}O0Dwe_(4Z@XZ)O0W-v2X><&L*<~*q3dg;bQW3g7)a#3KiQP>+qj|qo*Hk z?57>f2?f@`=Fj^nkDKeRkN2d$Z@2eNKpHo}ksj-$`QKb6n?*$^*%Fb3_Kbf1(*W9K>{L$mud2WHJ=j0^=g30Xhg8$#g^?36`p1fm;;1@0Lrx+8t`?vN0ZorM zSW?rhjCE8$C|@p^sXdx z|NOHHg+fL;HIlqyLp~SSdIF`TnSHehNCU9t89yr@)FY<~hu+X`tjg(aSVae$wDG*C zq$nY(Y494R)hD!i1|IIyP*&PD_c2FPgeY)&mX1qujB1VHPG9`yFQpLFVQ0>EKS@Bp zAfP5`C(sWGLI?AC{XEjLKR4FVNw(4+9b?kba95ukgR1H?w<8F7)G+6&(zUhIE5Ef% z=fFkL3QKA~M@h{nzjRq!Y_t!%U66#L8!(2-GgFxkD1=JRRqk=n%G(yHKn%^&$dW>; zSjAcjETMz1%205se$iH_)ZCpfg_LwvnsZQAUCS#^FExp8O4CrJb6>JquNV@qPq~3A zZ<6dOU#6|8+fcgiA#~MDmcpIEaUO02L5#T$HV0$EMD94HT_eXLZ2Zi&(! z&5E>%&|FZ`)CN10tM%tLSPD*~r#--K(H-CZqIOb99_;m|D5wdgJ<1iOJz@h2Zkq?} z%8_KXb&hf=2Wza(Wgc;3v3TN*;HTU*q2?#z&tLn_U0Nt!y>Oo>+2T)He6%XuP;fgn z-G!#h$Y2`9>Jtf}hbVrm6D70|ERzLAU>3zoWhJmjWfgM^))T+2u$~5>HF9jQDkrXR z=IzX36)V75PrFjkQ%TO+iqKGCQ-DDXbaE;C#}!-CoWQx&v*vHfyI>$HNRbpvm<`O( zlx9NBWD6_e&J%Ous4yp~s6)Ghni!I6)0W;9(9$y1wWu`$gs<$9Mcf$L*piP zPR0Av*2%ul`W;?-1_-5Zy0~}?`e@Y5A&0H!^ApyVTT}BiOm4GeFo$_oPlDEyeGBbh z1h3q&Dx~GmUS|3@4V36&$2uO8!Yp&^pD7J5&TN{?xphf*-js1fP?B|`>p_K>lh{ij zP(?H%e}AIP?_i^f&Li=FDSQ`2_NWxL+BB=nQr=$ zHojMlXNGauvvwPU>ZLq!`bX-5F4jBJ&So{kE5+ms9UEYD{66!|k~3vsP+mE}x!>%P za98bAU0!h0&ka4EoiDvBM#CP#dRNdXJcb*(%=<(g+M@<)DZ!@v1V>;54En?igcHR2 zhubQMq}VSOK)onqHfczM7YA@s=9*ow;k;8)&?J3@0JiGcP! zP#00KZ1t)GyZeRJ=f0^gc+58lc4Qh*S7RqPIC6GugG1gXe$LIQMRCo8cHf^qXgAa2 z`}t>u2Cq1CbSEpLr~E=c7~=Qkc9-vLE%(v9N*&HF`(d~(0`iukl5aQ9u4rUvc8%m) zr2GwZN4!s;{SB87lJB;veebPmqE}tSpT>+`t?<457Q9iV$th%i__Z1kOMAswFldD6 ztbOvO337S5o#ZZgN2G99_AVqPv!?Gmt3pzgD+Hp3QPQ`9qJ(g=kjvD+fUSS3upJn! zqoG7acIKEFRX~S}3|{EWT$kdz#zrDlJU(rPkxjws_iyLKU8+v|*oS_W*-guAb&Pj1 z35Z`3z<&Jb@2Mwz=KXucNYdY#SNO$tcVFr9KdKm|%^e-TXzs6M`PBper%ajkrIyUe zp$vVxVs9*>Vp4_1NC~Zg)WOCPmOxI1V34QlG4!aSFOH{QqSVq1^1)- z0P!Z?tT&E-ll(pwf0?=F=yOzik=@nh1Clxr9}Vij89z)ePDSCYAqw?lVI?v?+&*zH z)p$CScFI8rrwId~`}9YWPFu0cW1Sf@vRELs&cbntRU6QfPK-SO*mqu|u~}8AJ!Q$z znzu}50O=YbjwKCuSVBs6&CZR#0FTu)3{}qJJYX(>QPr4$RqWiwX3NT~;>cLn*_&1H zaKpIW)JVJ>b{uo2oq>oQt3y=zJjb%fU@wLqM{SyaC6x2snMx-}ivfU<1- znu1Lh;i$3Tf$Kh5Uk))G!D1UhE8pvx&nO~w^fG)BC&L!_hQk%^p`Kp@F{cz>80W&T ziOK=Sq3fdRu*V0=S53rcIfWFazI}Twj63CG(jOB;$*b`*#B9uEnBM`hDk*EwSRdwP8?5T?xGUKs=5N83XsR*)a4|ijz|c{4tIU+4j^A5C<#5 z*$c_d=5ml~%pGxw#?*q9N7aRwPux5EyqHVkdJO=5J>84!X6P>DS8PTTz>7C#FO?k#edkntG+fJk8ZMn?pmJSO@`x-QHq;7^h6GEXLXo1TCNhH z8ZDH{*NLAjo3WM`xeb=X{((uv3H(8&r8fJJg_uSs_%hOH%JDD?hu*2NvWGYD+j)&` zz#_1%O1wF^o5ryt?O0n;`lHbzp0wQ?rcbW(F1+h7_EZZ9{>rePvLAPVZ_R|n@;b$;UchU=0j<6k8G9QuQf@76oiE*4 zXOLQ&n3$NR#p4<5NJMVC*S);5x2)eRbaAM%VxWu9ohlT;pGEk7;002enCbQ>2r-us z3#bpXP9g|mE`65VrN`+3mC)M(eMj~~eOf)do<@l+fMiTR)XO}422*1SL{wyY(%oMpBgJagtiDf zz>O6(m;};>Hi=t8o{DVC@YigqS(Qh+ix3Rwa9aliH}a}IlOCW1@?%h_bRbq-W{KHF z%Vo?-j@{Xi@=~Lz5uZP27==UGE15|g^0gzD|3x)SCEXrx`*MP^FDLl%pOi~~Il;dc z^hrwp9sYeT7iZ)-ajKy@{a`kr0-5*_!XfBpXwEcFGJ;%kV$0Nx;apKrur zJN2J~CAv{Zjj%FolyurtW8RaFmpn&zKJWL>(0;;+q(%(Hx!GMW4AcfP0YJ*Vz!F4g z!ZhMyj$BdXL@MlF%KeInmPCt~9&A!;cRw)W!Hi@0DY(GD_f?jeV{=s=cJ6e}JktJw zQORnxxj3mBxfrH=x{`_^Z1ddDh}L#V7i}$njUFRVwOX?qOTKjfPMBO4y(WiU<)epb zvB9L=%jW#*SL|Nd_G?E*_h1^M-$PG6Pc_&QqF0O-FIOpa4)PAEPsyvB)GKasmBoEt z?_Q2~QCYGH+hW31x-B=@5_AN870vY#KB~3a*&{I=f);3Kv7q4Q7s)0)gVYx2#Iz9g(F2;=+Iy4 z6KI^8GJ6D@%tpS^8boU}zpi=+(5GfIR)35PzrbuXeL1Y1N%JK7PG|^2k3qIqHfX;G zQ}~JZ-UWx|60P5?d1e;AHx!_;#PG%d=^X(AR%i`l0jSpYOpXoKFW~7ip7|xvN;2^? zsYC9fanpO7rO=V7+KXqVc;Q5z%Bj})xHVrgoR04sA2 zl~DAwv=!(()DvH*=lyhIlU^hBkA0$e*7&fJpB0|oB7)rqGK#5##2T`@_I^|O2x4GO z;xh6ROcV<9>?e0)MI(y++$-ksV;G;Xe`lh76T#Htuia+(UrIXrf9?

    L(tZ$0BqX1>24?V$S+&kLZ`AodQ4_)P#Q3*4xg8}lMV-FLwC*cN$< zt65Rf%7z41u^i=P*qO8>JqXPrinQFapR7qHAtp~&RZ85$>ob|Js;GS^y;S{XnGiBc zGa4IGvDl?x%gY`vNhv8wgZnP#UYI-w*^4YCZnxkF85@ldepk$&$#3EAhrJY0U)lR{F6sM3SONV^+$;Zx8BD&Eku3K zKNLZyBni3)pGzU0;n(X@1fX8wYGKYMpLmCu{N5-}epPDxClPFK#A@02WM3!myN%bkF z|GJ4GZ}3sL{3{qXemy+#Uk{4>Kf8v11;f8I&c76+B&AQ8udd<8gU7+BeWC`akUU~U zgXoxie>MS@rBoyY8O8Tc&8id!w+_ooxcr!1?#rc$-|SBBtH6S?)1e#P#S?jFZ8u-Bs&k`yLqW|{j+%c#A4AQ>+tj$Y z^CZajspu$F%73E68Lw5q7IVREED9r1Ijsg#@DzH>wKseye>hjsk^{n0g?3+gs@7`i zHx+-!sjLx^fS;fY!ERBU+Q zVJ!e0hJH%P)z!y%1^ZyG0>PN@5W~SV%f>}c?$H8r;Sy-ui>aruVTY=bHe}$e zi&Q4&XK!qT7-XjCrDaufT@>ieQ&4G(SShUob0Q>Gznep9fR783jGuUynAqc6$pYX; z7*O@@JW>O6lKIk0G00xsm|=*UVTQBB`u1f=6wGAj%nHK_;Aqmfa!eAykDmi-@u%6~ z;*c!pS1@V8r@IX9j&rW&d*}wpNs96O2Ute>%yt{yv>k!6zfT6pru{F1M3P z2WN1JDYqoTB#(`kE{H676QOoX`cnqHl1Yaru)>8Ky~VU{)r#{&s86Vz5X)v15ULHA zAZDb{99+s~qI6;-dQ5DBjHJP@GYTwn;Dv&9kE<0R!d z8tf1oq$kO`_sV(NHOSbMwr=To4r^X$`sBW4$gWUov|WY?xccQJN}1DOL|GEaD_!@& z15p?Pj+>7d`@LvNIu9*^hPN)pwcv|akvYYq)ks%`G>!+!pW{-iXPZsRp8 z35LR;DhseQKWYSD`%gO&k$Dj6_6q#vjWA}rZcWtQr=Xn*)kJ9kacA=esi*I<)1>w^ zO_+E>QvjP)qiSZg9M|GNeLtO2D7xT6vsj`88sd!94j^AqxFLi}@w9!Y*?nwWARE0P znuI_7A-saQ+%?MFA$gttMV-NAR^#tjl_e{R$N8t2NbOlX373>e7Ox=l=;y#;M7asp zRCz*CLnrm$esvSb5{T<$6CjY zmZ(i{Rs_<#pWW>(HPaaYj`%YqBra=Ey3R21O7vUbzOkJJO?V`4-D*u4$Me0Bx$K(lYo`JO}gnC zx`V}a7m-hLU9Xvb@K2ymioF)vj12<*^oAqRuG_4u%(ah?+go%$kOpfb`T96P+L$4> zQ#S+sA%VbH&mD1k5Ak7^^dZoC>`1L%i>ZXmooA!%GI)b+$D&ziKrb)a=-ds9xk#~& z7)3iem6I|r5+ZrTRe_W861x8JpD`DDIYZNm{$baw+$)X^Jtjnl0xlBgdnNY}x%5za zkQ8E6T<^$sKBPtL4(1zi_Rd(tVth*3Xs!ulflX+70?gb&jRTnI8l+*Aj9{|d%qLZ+ z>~V9Z;)`8-lds*Zgs~z1?Fg?Po7|FDl(Ce<*c^2=lFQ~ahwh6rqSjtM5+$GT>3WZW zj;u~w9xwAhOc<kF}~`CJ68 z?(S5vNJa;kriPlim33{N5`C{9?NWhzsna_~^|K2k4xz1`xcui*LXL-1#Y}Hi9`Oo!zQ>x-kgAX4LrPz63uZ+?uG*84@PKq-KgQlMNRwz=6Yes) zY}>YN+qP}nwr$(CZQFjUOI=-6J$2^XGvC~EZ+vrqWaOXB$k?%Suf5k=4>AveC1aJ! ziaW4IS%F$_Babi)kA8Y&u4F7E%99OPtm=vzw$$ zEz#9rvn`Iot_z-r3MtV>k)YvErZ<^Oa${`2>MYYODSr6?QZu+be-~MBjwPGdMvGd!b!elsdi4% z`37W*8+OGulab8YM?`KjJ8e+jM(tqLKSS@=jimq3)Ea2EB%88L8CaM+aG7;27b?5` z4zuUWBr)f)k2o&xg{iZ$IQkJ+SK>lpq4GEacu~eOW4yNFLU!Kgc{w4&D$4ecm0f}~ zTTzquRW@`f0}|IILl`!1P+;69g^upiPA6F{)U8)muWHzexRenBU$E^9X-uIY2%&1w z_=#5*(nmxJ9zF%styBwivi)?#KMG96-H@hD-H_&EZiRNsfk7mjBq{L%!E;Sqn!mVX*}kXhwH6eh;b42eD!*~upVG@ z#smUqz$ICm!Y8wY53gJeS|Iuard0=;k5i5Z_hSIs6tr)R4n*r*rE`>38Pw&lkv{_r!jNN=;#?WbMj|l>cU(9trCq; z%nN~r^y7!kH^GPOf3R}?dDhO=v^3BeP5hF|%4GNQYBSwz;x({21i4OQY->1G=KFyu z&6d`f2tT9Yl_Z8YACZaJ#v#-(gcyeqXMhYGXb=t>)M@fFa8tHp2x;ODX=Ap@a5I=U z0G80^$N0G4=U(>W%mrrThl0DjyQ-_I>+1Tdd_AuB3qpYAqY54upwa3}owa|x5iQ^1 zEf|iTZxKNGRpI>34EwkIQ2zHDEZ=(J@lRaOH>F|2Z%V_t56Km$PUYu^xA5#5Uj4I4RGqHD56xT%H{+P8Ag>e_3pN$4m8n>i%OyJFPNWaEnJ4McUZPa1QmOh?t8~n& z&RulPCors8wUaqMHECG=IhB(-tU2XvHP6#NrLVyKG%Ee*mQ5Ps%wW?mcnriTVRc4J`2YVM>$ixSF2Xi+Wn(RUZnV?mJ?GRdw%lhZ+t&3s7g!~g{%m&i<6 z5{ib-<==DYG93I(yhyv4jp*y3#*WNuDUf6`vTM%c&hiayf(%=x@4$kJ!W4MtYcE#1 zHM?3xw63;L%x3drtd?jot!8u3qeqctceX3m;tWetK+>~q7Be$h>n6riK(5@ujLgRS zvOym)k+VAtyV^mF)$29Y`nw&ijdg~jYpkx%*^ z8dz`C*g=I?;clyi5|!27e2AuSa$&%UyR(J3W!A=ZgHF9OuKA34I-1U~pyD!KuRkjA zbkN!?MfQOeN>DUPBxoy5IX}@vw`EEB->q!)8fRl_mqUVuRu|C@KD-;yl=yKc=ZT0% zB$fMwcC|HE*0f8+PVlWHi>M`zfsA(NQFET?LrM^pPcw`cK+Mo0%8*x8@65=CS_^$cG{GZQ#xv($7J z??R$P)nPLodI;P!IC3eEYEHh7TV@opr#*)6A-;EU2XuogHvC;;k1aI8asq7ovoP!* z?x%UoPrZjj<&&aWpsbr>J$Er-7!E(BmOyEv!-mbGQGeJm-U2J>74>o5x`1l;)+P&~ z>}f^=Rx(ZQ2bm+YE0u=ZYrAV@apyt=v1wb?R@`i_g64YyAwcOUl=C!i>=Lzb$`tjv zOO-P#A+)t-JbbotGMT}arNhJmmGl-lyUpMn=2UacVZxmiG!s!6H39@~&uVokS zG=5qWhfW-WOI9g4!R$n7!|ViL!|v3G?GN6HR0Pt_L5*>D#FEj5wM1DScz4Jv@Sxnl zB@MPPmdI{(2D?;*wd>3#tjAirmUnQoZrVv`xM3hARuJksF(Q)wd4P$88fGYOT1p6U z`AHSN!`St}}UMBT9o7i|G`r$ zrB=s$qV3d6$W9@?L!pl0lf%)xs%1ko^=QY$ty-57=55PvP(^6E7cc zGJ*>m2=;fOj?F~yBf@K@9qwX0hA803Xw+b0m}+#a(>RyR8}*Y<4b+kpp|OS+!whP( zH`v{%s>jsQI9rd$*vm)EkwOm#W_-rLTHcZRek)>AtF+~<(did)*oR1|&~1|e36d-d zgtm5cv1O0oqgWC%Et@P4Vhm}Ndl(Y#C^MD03g#PH-TFy+7!Osv1z^UWS9@%JhswEq~6kSr2DITo59+; ze=ZC}i2Q?CJ~Iyu?vn|=9iKV>4j8KbxhE4&!@SQ^dVa-gK@YfS9xT(0kpW*EDjYUkoj! zE49{7H&E}k%5(>sM4uGY)Q*&3>{aitqdNnRJkbOmD5Mp5rv-hxzOn80QsG=HJ_atI-EaP69cacR)Uvh{G5dTpYG7d zbtmRMq@Sexey)||UpnZ?;g_KMZq4IDCy5}@u!5&B^-=6yyY{}e4Hh3ee!ZWtL*s?G zxG(A!<9o!CL+q?u_utltPMk+hn?N2@?}xU0KlYg?Jco{Yf@|mSGC<(Zj^yHCvhmyx z?OxOYoxbptDK()tsJ42VzXdINAMWL$0Gcw?G(g8TMB)Khw_|v9`_ql#pRd2i*?CZl z7k1b!jQB=9-V@h%;Cnl7EKi;Y^&NhU0mWEcj8B|3L30Ku#-9389Q+(Yet0r$F=+3p z6AKOMAIi|OHyzlHZtOm73}|ntKtFaXF2Fy|M!gOh^L4^62kGUoWS1i{9gsds_GWBc zLw|TaLP64z3z9?=R2|T6Xh2W4_F*$cq>MtXMOy&=IPIJ`;!Tw?PqvI2b*U1)25^<2 zU_ZPoxg_V0tngA0J+mm?3;OYw{i2Zb4x}NedZug!>EoN3DC{1i)Z{Z4m*(y{ov2%- zk(w>+scOO}MN!exSc`TN)!B=NUX`zThWO~M*ohqq;J2hx9h9}|s#?@eR!=F{QTrq~ zTcY|>azkCe$|Q0XFUdpFT=lTcyW##i;-e{}ORB4D?t@SfqGo_cS z->?^rh$<&n9DL!CF+h?LMZRi)qju!meugvxX*&jfD!^1XB3?E?HnwHP8$;uX{Rvp# zh|)hM>XDv$ZGg=$1{+_bA~u-vXqlw6NH=nkpyWE0u}LQjF-3NhATL@9rRxMnpO%f7 z)EhZf{PF|mKIMFxnC?*78(}{Y)}iztV12}_OXffJ;ta!fcFIVjdchyHxH=t%ci`Xd zX2AUB?%?poD6Zv*&BA!6c5S#|xn~DK01#XvjT!w!;&`lDXSJT4_j$}!qSPrb37vc{ z9^NfC%QvPu@vlxaZ;mIbn-VHA6miwi8qJ~V;pTZkKqqOii<1Cs}0i?uUIss;hM4dKq^1O35y?Yp=l4i zf{M!@QHH~rJ&X~8uATV><23zZUbs-J^3}$IvV_ANLS08>k`Td7aU_S1sLsfi*C-m1 z-e#S%UGs4E!;CeBT@9}aaI)qR-6NU@kvS#0r`g&UWg?fC7|b^_HyCE!8}nyh^~o@< zpm7PDFs9yxp+byMS(JWm$NeL?DNrMCNE!I^ko-*csB+dsf4GAq{=6sfyf4wb>?v1v zmb`F*bN1KUx-`ra1+TJ37bXNP%`-Fd`vVQFTwWpX@;s(%nDQa#oWhgk#mYlY*!d>( zE&!|ySF!mIyfING+#%RDY3IBH_fW$}6~1%!G`suHub1kP@&DoAd5~7J55;5_noPI6eLf{t;@9Kf<{aO0`1WNKd?<)C-|?C?)3s z>wEq@8=I$Wc~Mt$o;g++5qR+(6wt9GI~pyrDJ%c?gPZe)owvy^J2S=+M^ z&WhIE`g;;J^xQLVeCtf7b%Dg#Z2gq9hp_%g)-%_`y*zb; zn9`f`mUPN-Ts&fFo(aNTsXPA|J!TJ{0hZp0^;MYHLOcD=r_~~^ymS8KLCSeU3;^QzJNqS z5{5rEAv#l(X?bvwxpU;2%pQftF`YFgrD1jt2^~Mt^~G>T*}A$yZc@(k9orlCGv&|1 zWWvVgiJsCAtamuAYT~nzs?TQFt<1LSEx!@e0~@yd6$b5!Zm(FpBl;(Cn>2vF?k zOm#TTjFwd2D-CyA!mqR^?#Uwm{NBemP>(pHmM}9;;8`c&+_o3#E5m)JzfwN?(f-a4 zyd%xZc^oQx3XT?vcCqCX&Qrk~nu;fxs@JUoyVoi5fqpi&bUhQ2y!Ok2pzsFR(M(|U zw3E+kH_zmTRQ9dUMZWRE%Zakiwc+lgv7Z%|YO9YxAy`y28`Aw;WU6HXBgU7fl@dnt z-fFBV)}H-gqP!1;V@Je$WcbYre|dRdp{xt!7sL3Eoa%IA`5CAA%;Wq8PktwPdULo! z8!sB}Qt8#jH9Sh}QiUtEPZ6H0b*7qEKGJ%ITZ|vH)5Q^2m<7o3#Z>AKc%z7_u`rXA zqrCy{-{8;9>dfllLu$^M5L z-hXs))h*qz%~ActwkIA(qOVBZl2v4lwbM>9l70Y`+T*elINFqt#>OaVWoja8RMsep z6Or3f=oBnA3vDbn*+HNZP?8LsH2MY)x%c13@(XfuGR}R?Nu<|07{$+Lc3$Uv^I!MQ z>6qWgd-=aG2Y^24g4{Bw9ueOR)(9h`scImD=86dD+MnSN4$6 z^U*o_mE-6Rk~Dp!ANp#5RE9n*LG(Vg`1)g6!(XtDzsov$Dvz|Gv1WU68J$CkshQhS zCrc|cdkW~UK}5NeaWj^F4MSgFM+@fJd{|LLM)}_O<{rj z+?*Lm?owq?IzC%U%9EBga~h-cJbIu=#C}XuWN>OLrc%M@Gu~kFEYUi4EC6l#PR2JS zQUkGKrrS#6H7}2l0F@S11DP`@pih0WRkRJl#F;u{c&ZC{^$Z+_*lB)r)-bPgRFE;* zl)@hK4`tEP=P=il02x7-C7p%l=B`vkYjw?YhdJU9!P!jcmY$OtC^12w?vy3<<=tlY zUwHJ_0lgWN9vf>1%WACBD{UT)1qHQSE2%z|JHvP{#INr13jM}oYv_5#xsnv9`)UAO zuwgyV4YZ;O)eSc3(mka6=aRohi!HH@I#xq7kng?Acdg7S4vDJb6cI5fw?2z%3yR+| zU5v@Hm}vy;${cBp&@D=HQ9j7NcFaOYL zj-wV=eYF{|XTkFNM2uz&T8uH~;)^Zo!=KP)EVyH6s9l1~4m}N%XzPpduPg|h-&lL` zAXspR0YMOKd2yO)eMFFJ4?sQ&!`dF&!|niH*!^*Ml##o0M(0*uK9&yzekFi$+mP9s z>W9d%Jb)PtVi&-Ha!o~Iyh@KRuKpQ@)I~L*d`{O8!kRObjO7=n+Gp36fe!66neh+7 zW*l^0tTKjLLzr`x4`_8&on?mjW-PzheTNox8Hg7Nt@*SbE-%kP2hWYmHu#Fn@Q^J(SsPUz*|EgOoZ6byg3ew88UGdZ>9B2Tq=jF72ZaR=4u%1A6Vm{O#?@dD!(#tmR;eP(Fu z{$0O%=Vmua7=Gjr8nY%>ul?w=FJ76O2js&17W_iq2*tb!i{pt#`qZB#im9Rl>?t?0c zicIC}et_4d+CpVPx)i4~$u6N-QX3H77ez z?ZdvXifFk|*F8~L(W$OWM~r`pSk5}#F?j_5u$Obu9lDWIknO^AGu+Blk7!9Sb;NjS zncZA?qtASdNtzQ>z7N871IsPAk^CC?iIL}+{K|F@BuG2>qQ;_RUYV#>hHO(HUPpk@ z(bn~4|F_jiZi}Sad;_7`#4}EmD<1EiIxa48QjUuR?rC}^HRocq`OQPM@aHVKP9E#q zy%6bmHygCpIddPjE}q_DPC`VH_2m;Eey&ZH)E6xGeStOK7H)#+9y!%-Hm|QF6w#A( zIC0Yw%9j$s-#odxG~C*^MZ?M<+&WJ+@?B_QPUyTg9DJGtQN#NIC&-XddRsf3n^AL6 zT@P|H;PvN;ZpL0iv$bRb7|J{0o!Hq+S>_NrH4@coZtBJu#g8#CbR7|#?6uxi8d+$g z87apN>EciJZ`%Zv2**_uiET9Vk{pny&My;+WfGDw4EVL#B!Wiw&M|A8f1A@ z(yFQS6jfbH{b8Z-S7D2?Ixl`j0{+ZnpT=;KzVMLW{B$`N?Gw^Fl0H6lT61%T2AU**!sX0u?|I(yoy&Xveg7XBL&+>n6jd1##6d>TxE*Vj=8lWiG$4=u{1UbAa5QD>5_ z;Te^42v7K6Mmu4IWT6Rnm>oxrl~b<~^e3vbj-GCdHLIB_>59}Ya+~OF68NiH=?}2o zP(X7EN=quQn&)fK>M&kqF|<_*H`}c zk=+x)GU>{Af#vx&s?`UKUsz})g^Pc&?Ka@t5$n$bqf6{r1>#mWx6Ep>9|A}VmWRnowVo`OyCr^fHsf# zQjQ3Ttp7y#iQY8l`zEUW)(@gGQdt(~rkxlkefskT(t%@i8=|p1Y9Dc5bc+z#n$s13 zGJk|V0+&Ekh(F};PJzQKKo+FG@KV8a<$gmNSD;7rd_nRdc%?9)p!|B-@P~kxQG}~B zi|{0}@}zKC(rlFUYp*dO1RuvPC^DQOkX4<+EwvBAC{IZQdYxoq1Za!MW7%p7gGr=j zzWnAq%)^O2$eItftC#TTSArUyL$U54-O7e|)4_7%Q^2tZ^0-d&3J1}qCzR4dWX!)4 zzIEKjgnYgMus^>6uw4Jm8ga6>GBtMjpNRJ6CP~W=37~||gMo_p@GA@#-3)+cVYnU> zE5=Y4kzl+EbEh%dhQokB{gqNDqx%5*qBusWV%!iprn$S!;oN_6E3?0+umADVs4ako z?P+t?m?};gev9JXQ#Q&KBpzkHPde_CGu-y z<{}RRAx=xlv#mVi+Ibrgx~ujW$h{?zPfhz)Kp7kmYS&_|97b&H&1;J-mzrBWAvY} zh8-I8hl_RK2+nnf&}!W0P+>5?#?7>npshe<1~&l_xqKd0_>dl_^RMRq@-Myz&|TKZBj1=Q()) zF{dBjv5)h=&Z)Aevx}+i|7=R9rG^Di!sa)sZCl&ctX4&LScQ-kMncgO(9o6W6)yd< z@Rk!vkja*X_N3H=BavGoR0@u0<}m-7|2v!0+2h~S2Q&a=lTH91OJsvms2MT~ zY=c@LO5i`mLpBd(vh|)I&^A3TQLtr>w=zoyzTd=^f@TPu&+*2MtqE$Avf>l>}V|3-8Fp2hzo3y<)hr_|NO(&oSD z!vEjTWBxbKTiShVl-U{n*B3#)3a8$`{~Pk}J@elZ=>Pqp|MQ}jrGv7KrNcjW%TN_< zZz8kG{#}XoeWf7qY?D)L)8?Q-b@Na&>i=)(@uNo zr;cH98T3$Iau8Hn*@vXi{A@YehxDE2zX~o+RY`)6-X{8~hMpc#C`|8y> zU8Mnv5A0dNCf{Ims*|l-^ z(MRp{qoGohB34|ggDI*p!Aw|MFyJ|v+<+E3brfrI)|+l3W~CQLPbnF@G0)P~Ly!1TJLp}xh8uW`Q+RB-v`MRYZ9Gam3cM%{ zb4Cb*f)0deR~wtNb*8w-LlIF>kc7DAv>T0D(a3@l`k4TFnrO+g9XH7;nYOHxjc4lq zMmaW6qpgAgy)MckYMhl?>sq;-1E)-1llUneeA!ya9KM$)DaNGu57Z5aE>=VST$#vb zFo=uRHr$0M{-ha>h(D_boS4zId;3B|Tpqo|?B?Z@I?G(?&Iei+-{9L_A9=h=Qfn-U z1wIUnQe9!z%_j$F_{rf&`ZFSott09gY~qrf@g3O=Y>vzAnXCyL!@(BqWa)Zqt!#_k zfZHuwS52|&&)aK;CHq9V-t9qt0au{$#6c*R#e5n3rje0hic7c7m{kW$p(_`wB=Gw7 z4k`1Hi;Mc@yA7dp@r~?@rfw)TkjAW++|pkfOG}0N|2guek}j8Zen(!+@7?qt_7ndX zB=BG6WJ31#F3#Vk3=aQr8T)3`{=p9nBHlKzE0I@v`{vJ}h8pd6vby&VgFhzH|q;=aonunAXL6G2y(X^CtAhWr*jI zGjpY@raZDQkg*aMq}Ni6cRF z{oWv}5`nhSAv>usX}m^GHt`f(t8@zHc?K|y5Zi=4G*UG1Sza{$Dpj%X8 zzEXaKT5N6F5j4J|w#qlZP!zS7BT)9b+!ZSJdToqJts1c!)fwih4d31vfb{}W)EgcA zH2pZ^8_k$9+WD2n`6q5XbOy8>3pcYH9 z07eUB+p}YD@AH!}p!iKv><2QF-Y^&xx^PAc1F13A{nUeCDg&{hnix#FiO!fe(^&%Qcux!h znu*S!s$&nnkeotYsDthh1dq(iQrE|#f_=xVgfiiL&-5eAcC-> z5L0l|DVEM$#ulf{bj+Y~7iD)j<~O8CYM8GW)dQGq)!mck)FqoL^X zwNdZb3->hFrbHFm?hLvut-*uK?zXn3q1z|UX{RZ;-WiLoOjnle!xs+W0-8D)kjU#R z+S|A^HkRg$Ij%N4v~k`jyHffKaC~=wg=9)V5h=|kLQ@;^W!o2^K+xG&2n`XCd>OY5Ydi= zgHH=lgy++erK8&+YeTl7VNyVm9-GfONlSlVb3)V9NW5tT!cJ8d7X)!b-$fb!s76{t z@d=Vg-5K_sqHA@Zx-L_}wVnc@L@GL9_K~Zl(h5@AR#FAiKad8~KeWCo@mgXIQ#~u{ zgYFwNz}2b6Vu@CP0XoqJ+dm8px(5W5-Jpis97F`+KM)TuP*X8H@zwiVKDKGVp59pI zifNHZr|B+PG|7|Y<*tqap0CvG7tbR1R>jn70t1X`XJixiMVcHf%Ez*=xm1(CrTSDt z0cle!+{8*Ja&EOZ4@$qhBuKQ$U95Q%rc7tg$VRhk?3=pE&n+T3upZg^ZJc9~c2es% zh7>+|mrmA-p&v}|OtxqmHIBgUxL~^0+cpfkSK2mhh+4b=^F1Xgd2)}U*Yp+H?ls#z zrLxWg_hm}AfK2XYWr!rzW4g;+^^&bW%LmbtRai9f3PjU${r@n`JThy-cphbcwn)rq9{A$Ht`lmYKxOacy z6v2R(?gHhD5@&kB-Eg?4!hAoD7~(h>(R!s1c1Hx#s9vGPePUR|of32bS`J5U5w{F) z>0<^ktO2UHg<0{oxkdOQ;}coZDQph8p6ruj*_?uqURCMTac;>T#v+l1Tc~%^k-Vd@ zkc5y35jVNc49vZpZx;gG$h{%yslDI%Lqga1&&;mN{Ush1c7p>7e-(zp}6E7f-XmJb4nhk zb8zS+{IVbL$QVF8pf8}~kQ|dHJAEATmmnrb_wLG}-yHe>W|A&Y|;muy-d^t^<&)g5SJfaTH@P1%euONny=mxo+C z4N&w#biWY41r8k~468tvuYVh&XN&d#%QtIf9;iVXfWY)#j=l`&B~lqDT@28+Y!0E+MkfC}}H*#(WKKdJJq=O$vNYCb(ZG@p{fJgu;h z21oHQ(14?LeT>n5)s;uD@5&ohU!@wX8w*lB6i@GEH0pM>YTG+RAIWZD;4#F1&F%Jp zXZUml2sH0!lYJT?&sA!qwez6cXzJEd(1ZC~kT5kZSp7(@=H2$Azb_*W&6aA|9iwCL zdX7Q=42;@dspHDwYE?miGX#L^3xD&%BI&fN9^;`v4OjQXPBaBmOF1;#C)8XA(WFlH zycro;DS2?(G&6wkr6rqC>rqDv3nfGw3hmN_9Al>TgvmGsL8_hXx09};l9Ow@)F5@y z#VH5WigLDwZE4nh^7&@g{1FV^UZ%_LJ-s<{HN*2R$OPg@R~Z`c-ET*2}XB@9xvAjrK&hS=f|R8Gr9 zr|0TGOsI7RD+4+2{ZiwdVD@2zmg~g@^D--YL;6UYGSM8i$NbQr4!c7T9rg!8;TM0E zT#@?&S=t>GQm)*ua|?TLT2ktj#`|R<_*FAkOu2Pz$wEc%-=Y9V*$&dg+wIei3b*O8 z2|m$!jJG!J!ZGbbIa!(Af~oSyZV+~M1qGvelMzPNE_%5?c2>;MeeG2^N?JDKjFYCy z7SbPWH-$cWF9~fX%9~v99L!G(wi!PFp>rB!9xj7=Cv|F+7CsGNwY0Q_J%FID%C^CBZQfJ9K(HK%k31j~e#&?hQ zNuD6gRkVckU)v+53-fc} z7ZCzYN-5RG4H7;>>Hg?LU9&5_aua?A0)0dpew1#MMlu)LHe(M;OHjHIUl7|%%)YPo z0cBk;AOY00%Fe6heoN*$(b<)Cd#^8Iu;-2v@>cE-OB$icUF9EEoaC&q8z9}jMTT2I z8`9;jT%z0;dy4!8U;GW{i`)3!c6&oWY`J3669C!tM<5nQFFrFRglU8f)5Op$GtR-3 zn!+SPCw|04sv?%YZ(a7#L?vsdr7ss@WKAw&A*}-1S|9~cL%uA+E~>N6QklFE>8W|% zyX-qAUGTY1hQ-+um`2|&ji0cY*(qN!zp{YpDO-r>jPk*yuVSay<)cUt`t@&FPF_&$ zcHwu1(SQ`I-l8~vYyUxm@D1UEdFJ$f5Sw^HPH7b!9 zzYT3gKMF((N(v0#4f_jPfVZ=ApN^jQJe-X$`A?X+vWjLn_%31KXE*}5_}d8 zw_B1+a#6T1?>M{ronLbHIlEsMf93muJ7AH5h%;i99<~JX^;EAgEB1uHralD*!aJ@F zV2ruuFe9i2Q1C?^^kmVy921eb=tLDD43@-AgL^rQ3IO9%+vi_&R2^dpr}x{bCVPej z7G0-0o64uyWNtr*loIvslyo0%)KSDDKjfThe0hcqs)(C-MH1>bNGBDRTW~scy_{w} zp^aq8Qb!h9Lwielq%C1b8=?Z=&U)ST&PHbS)8Xzjh2DF?d{iAv)Eh)wsUnf>UtXN( zL7=$%YrZ#|^c{MYmhn!zV#t*(jdmYdCpwqpZ{v&L8KIuKn`@IIZfp!uo}c;7J57N` zAxyZ-uA4=Gzl~Ovycz%MW9ZL7N+nRo&1cfNn9(1H5eM;V_4Z_qVann7F>5f>%{rf= zPBZFaV@_Sobl?Fy&KXyzFDV*FIdhS5`Uc~S^Gjo)aiTHgn#<0C=9o-a-}@}xDor;D zZyZ|fvf;+=3MZd>SR1F^F`RJEZo+|MdyJYQAEauKu%WDol~ayrGU3zzbHKsnHKZ*z zFiwUkL@DZ>!*x05ql&EBq@_Vqv83&?@~q5?lVmffQZ+V-=qL+!u4Xs2Z2zdCQ3U7B&QR9_Iggy} z(om{Y9eU;IPe`+p1ifLx-XWh?wI)xU9ik+m#g&pGdB5Bi<`PR*?92lE0+TkRuXI)z z5LP!N2+tTc%cB6B1F-!fj#}>S!vnpgVU~3!*U1ej^)vjUH4s-bd^%B=ItQqDCGbrEzNQi(dJ`J}-U=2{7-d zK8k^Rlq2N#0G?9&1?HSle2vlkj^KWSBYTwx`2?9TU_DX#J+f+qLiZCqY1TXHFxXZqYMuD@RU$TgcnCC{_(vwZ-*uX)~go#%PK z@}2Km_5aQ~(<3cXeJN6|F8X_1@L%@xTzs}$_*E|a^_URF_qcF;Pfhoe?FTFwvjm1o z8onf@OY@jC2tVcMaZS;|T!Ks(wOgPpRzRnFS-^RZ4E!9dsnj9sFt609a|jJbb1Dt@ z<=Gal2jDEupxUSwWu6zp<<&RnAA;d&4gKVG0iu6g(DsST(4)z6R)zDpfaQ}v{5ARt zyhwvMtF%b-YazR5XLz+oh=mn;y-Mf2a8>7?2v8qX;19y?b>Z5laGHvzH;Nu9S`B8} zI)qN$GbXIQ1VL3lnof^6TS~rvPVg4V?Dl2Bb*K2z4E{5vy<(@@K_cN@U>R!>aUIRnb zL*)=787*cs#zb31zBC49x$`=fkQbMAef)L2$dR{)6BAz!t5U_B#1zZG`^neKSS22oJ#5B=gl%U=WeqL9REF2g zZnfCb0?quf?Ztj$VXvDSWoK`0L=Zxem2q}!XWLoT-kYMOx)!7fcgT35uC~0pySEme z`{wGWTkGr7>+Kb^n;W?BZH6ZP(9tQX%-7zF>vc2}LuWDI(9kh1G#7B99r4x6;_-V+k&c{nPUrR zAXJGRiMe~aup{0qzmLNjS_BC4cB#sXjckx{%_c&^xy{M61xEb>KW_AG5VFXUOjAG4 z^>Qlm9A#1N{4snY=(AmWzatb!ngqiqPbBZ7>Uhb3)dTkSGcL#&SH>iMO-IJBPua`u zo)LWZ>=NZLr758j{%(|uQuZ)pXq_4c!!>s|aDM9#`~1bzK3J1^^D#<2bNCccH7~-X}Ggi!pIIF>uFx%aPARGQsnC8ZQc8lrQ5o~smqOg>Ti^GNme94*w z)JZy{_{#$jxGQ&`M z!OMvZMHR>8*^>eS%o*6hJwn!l8VOOjZQJvh)@tnHVW&*GYPuxqXw}%M!(f-SQf`=L z5;=5w2;%82VMH6Xi&-K3W)o&K^+vJCepWZ-rW%+Dc6X3(){z$@4zjYxQ|}8UIojeC zYZpQ1dU{fy=oTr<4VX?$q)LP}IUmpiez^O&N3E_qPpchGTi5ZM6-2ScWlQq%V&R2Euz zO|Q0Hx>lY1Q1cW5xHv5!0OGU~PVEqSuy#fD72d#O`N!C;o=m+YioGu-wH2k6!t<~K zSr`E=W9)!g==~x9VV~-8{4ZN9{~-A9zJpRe%NGg$+MDuI-dH|b@BD)~>pPCGUNNzY zMDg||0@XGQgw`YCt5C&A{_+J}mvV9Wg{6V%2n#YSRN{AP#PY?1FF1#|vO_%e+#`|2*~wGAJaeRX6=IzFNeWhz6gJc8+(03Ph4y6ELAm=AkN7TOgMUEw*N{= z_)EIDQx5q22oUR+_b*tazu9+pX|n1c*IB-}{DqIj z-?E|ks{o3AGRNb;+iKcHkZvYJvFsW&83RAPs1Oh@IWy%l#5x2oUP6ZCtv+b|q>jsf zZ_9XO;V!>n`UxH1LvH8)L4?8raIvasEhkpQoJ`%!5rBs!0Tu(s_D{`4opB;57)pkX z4$A^8CsD3U5*!|bHIEqsn~{q+Ddj$ME@Gq4JXtgVz&7l{Ok!@?EA{B3P~NAqb9)4? zkQo30A^EbHfQ@87G5&EQTd`frrwL)&Yw?%-W@uy^Gn23%j?Y!Iea2xw<-f;esq zf%w5WN@E1}zyXtYv}}`U^B>W`>XPmdLj%4{P298|SisrE;7HvXX;A}Ffi8B#3Lr;1 zHt6zVb`8{#+e$*k?w8|O{Uh|&AG}|DG1PFo1i?Y*cQm$ZwtGcVgMwtBUDa{~L1KT-{jET4w60>{KZ27vXrHJ;fW{6| z=|Y4!&UX020wU1>1iRgB@Q#m~1^Z^9CG1LqDhYBrnx%IEdIty z!46iOoKlKs)c}newDG)rWUikD%j`)p z_w9Ph&e40=(2eBy;T!}*1p1f1SAUDP9iWy^u^Ubdj21Kn{46;GR+hwLO=4D11@c~V zI8x&(D({K~Df2E)Nx_yQvYfh4;MbMJ@Z}=Dt3_>iim~QZ*hZIlEs0mEb z_54+&*?wMD`2#vsQRN3KvoT>hWofI_Vf(^C1ff-Ike@h@saEf7g}<9T`W;HAne-Nd z>RR+&SP35w)xKn8^U$7))PsM!jKwYZ*RzEcG-OlTrX3}9a{q%#Un5E5W{{hp>w~;` zGky+3(vJvQyGwBo`tCpmo0mo((?nM8vf9aXrrY1Ve}~TuVkB(zeds^jEfI}xGBCM2 zL1|#tycSaWCurP+0MiActG3LCas@_@tao@(R1ANlwB$4K53egNE_;!&(%@Qo$>h`^1S_!hN6 z)vZtG$8fN!|BXBJ=SI>e(LAU(y(i*PHvgQ2llulxS8>qsimv7yL}0q_E5WiAz7)(f zC(ahFvG8&HN9+6^jGyLHM~$)7auppeWh_^zKk&C_MQ~8;N??OlyH~azgz5fe^>~7F zl3HnPN3z-kN)I$4@`CLCMQx3sG~V8hPS^}XDXZrQA>}mQPw%7&!sd(Pp^P=tgp-s^ zjl}1-KRPNWXgV_K^HkP__SR`S-|OF0bR-N5>I%ODj&1JUeAQ3$9i;B~$S6}*^tK?= z**%aCiH7y?xdY?{LgVP}S0HOh%0%LI$wRx;$T|~Y8R)Vdwa}kGWv8?SJVm^>r6+%I z#lj1aR94{@MP;t-scEYQWc#xFA30^}?|BeX*W#9OL;Q9#WqaaM546j5j29((^_8Nu z4uq}ESLr~r*O7E7$D{!k9W>`!SLoyA53i9QwRB{!pHe8um|aDE`Cg0O*{jmor)^t)3`>V>SWN-2VJcFmj^1?~tT=JrP`fVh*t zXHarp=8HEcR#vFe+1a%XXuK+)oFs`GDD}#Z+TJ}Ri`FvKO@ek2ayn}yaOi%(8p%2$ zpEu)v0Jym@f}U|-;}CbR=9{#<^z28PzkkTNvyKvJDZe+^VS2bES3N@Jq!-*}{oQlz z@8bgC_KnDnT4}d#&Cpr!%Yb?E!brx0!eVOw~;lLwUoz#Np%d$o%9scc3&zPm`%G((Le|6o1 zM(VhOw)!f84zG^)tZ1?Egv)d8cdNi+T${=5kV+j;Wf%2{3g@FHp^Gf*qO0q!u$=m9 zCaY`4mRqJ;FTH5`a$affE5dJrk~k`HTP_7nGTY@B9o9vvnbytaID;^b=Tzp7Q#DmD zC(XEN)Ktn39z5|G!wsVNnHi) z%^q94!lL|hF`IijA^9NR0F$@h7k5R^ljOW(;Td9grRN0Mb)l_l7##{2nPQ@?;VjXv zaLZG}yuf$r$<79rVPpXg?6iiieX|r#&`p#Con2i%S8*8F}(E) zI5E6c3tG*<;m~6>!&H!GJ6zEuhH7mkAzovdhLy;)q z{H2*8I^Pb}xC4s^6Y}6bJvMu=8>g&I)7!N!5QG$xseeU#CC?ZM-TbjsHwHgDGrsD= z{%f;@Sod+Ch66Ko2WF~;Ty)v>&x^aovCbCbD7>qF*!?BXmOV3(s|nxsb*Lx_2lpB7 zokUnzrk;P=T-&kUHO}td+Zdj!3n&NR?K~cRU zAXU!DCp?51{J4w^`cV#ye}(`SQhGQkkMu}O3M*BWt4UsC^jCFUy;wTINYmhD$AT;4 z?Xd{HaJjP`raZ39qAm;%beDbrLpbRf(mkKbANan7XsL>_pE2oo^$TgdidjRP!5-`% zv0d!|iKN$c0(T|L0C~XD0aS8t{*&#LnhE;1Kb<9&=c2B+9JeLvJr*AyyRh%@jHej=AetOMSlz^=!kxX>>B{2B1uIrQyfd8KjJ+DBy!h)~*(!|&L4^Q_07SQ~E zcemVP`{9CwFvPFu7pyVGCLhH?LhEVb2{7U+Z_>o25#+3<|8%1T^5dh}*4(kfJGry} zm%r#hU+__Z;;*4fMrX=Bkc@7|v^*B;HAl0((IBPPii%X9+u3DDF6%bI&6?Eu$8&aWVqHIM7mK6?Uvq$1|(-T|)IV<>e?!(rY zqkmO1MRaLeTR=)io(0GVtQT@s6rN%C6;nS3@eu;P#ry4q;^O@1ZKCJyp_Jo)Ty^QW z+vweTx_DLm{P-XSBj~Sl<%_b^$=}odJ!S2wAcxenmzFGX1t&Qp8Vxz2VT`uQsQYtdn&_0xVivIcxZ_hnrRtwq4cZSj1c-SG9 z7vHBCA=fd0O1<4*=lu$6pn~_pVKyL@ztw1swbZi0B?spLo56ZKu5;7ZeUml1Ws1?u zqMf1p{5myAzeX$lAi{jIUqo1g4!zWLMm9cfWcnw`k6*BR^?$2(&yW?>w;G$EmTA@a z6?y#K$C~ZT8+v{87n5Dm&H6Pb_EQ@V0IWmG9cG=O;(;5aMWWrIPzz4Q`mhK;qQp~a z+BbQrEQ+w{SeiuG-~Po5f=^EvlouB@_|4xQXH@A~KgpFHrwu%dwuCR)=B&C(y6J4J zvoGk9;lLs9%iA-IJGU#RgnZZR+@{5lYl8(e1h6&>Vc_mvg0d@);X zji4T|n#lB!>pfL|8tQYkw?U2bD`W{na&;*|znjmalA&f;*U++_aBYerq;&C8Kw7mI z7tsG*?7*5j&dU)Lje;^{D_h`%(dK|pB*A*1(Jj)w^mZ9HB|vGLkF1GEFhu&rH=r=8 zMxO42e{Si6$m+Zj`_mXb&w5Q(i|Yxyg?juUrY}78uo@~3v84|8dfgbPd0iQJRdMj< zncCNGdMEcsxu#o#B5+XD{tsg*;j-eF8`mp~K8O1J!Z0+>0=7O=4M}E?)H)ENE;P*F z$Ox?ril_^p0g7xhDUf(q652l|562VFlC8^r8?lQv;TMvn+*8I}&+hIQYh2 z1}uQQaag&!-+DZ@|C+C$bN6W;S-Z@)d1|en+XGvjbOxCa-qAF*LA=6s(Jg+g;82f$ z(Vb)8I)AH@cdjGFAR5Rqd0wiNCu!xtqWbcTx&5kslzTb^7A78~Xzw1($UV6S^VWiP zFd{Rimd-0CZC_Bu(WxBFW7+k{cOW7DxBBkJdJ;VsJ4Z@lERQr%3eVv&$%)b%<~ zCl^Y4NgO}js@u{|o~KTgH}>!* z_iDNqX2(As7T0xivMH|3SC1ivm8Q}6Ffcd7owUKN5lHAtzMM4<0v+ykUT!QiowO;`@%JGv+K$bBx@*S7C8GJVqQ_K>12}M`f_Ys=S zKFh}HM9#6Izb$Y{wYzItTy+l5U2oL%boCJn?R3?jP@n$zSIwlmyGq30Cw4QBO|14` zW5c);AN*J3&eMFAk$SR~2k|&+&Bc$e>s%c{`?d~85S-UWjA>DS5+;UKZ}5oVa5O(N zqqc@>)nee)+4MUjH?FGv%hm2{IlIF-QX}ym-7ok4Z9{V+ZHVZQl$A*x!(q%<2~iVv znUa+BX35&lCb#9VE-~Y^W_f;Xhl%vgjwdjzMy$FsSIj&ok}L+X`4>J=9BkN&nu^E*gbhj3(+D>C4E z@Fwq_=N)^bKFSHTzZk?-gNU$@l}r}dwGyh_fNi=9b|n}J>&;G!lzilbWF4B}BBq4f zYIOl?b)PSh#XTPp4IS5ZR_2C!E)Z`zH0OW%4;&~z7UAyA-X|sh9@~>cQW^COA9hV4 zXcA6qUo9P{bW1_2`eo6%hgbN%(G-F1xTvq!sc?4wN6Q4`e9Hku zFwvlAcRY?6h^Fj$R8zCNEDq8`=uZB8D-xn)tA<^bFFy}4$vA}Xq0jAsv1&5!h!yRA zU()KLJya5MQ`q&LKdH#fwq&(bNFS{sKlEh_{N%{XCGO+po#(+WCLmKW6&5iOHny>g z3*VFN?mx!16V5{zyuMWDVP8U*|BGT$(%IO|)?EF|OI*sq&RovH!N%=>i_c?K*A>>k zyg1+~++zY4Q)J;VWN0axhoIKx;l&G$gvj(#go^pZskEVj8^}is3Jw26LzYYVos0HX zRPvmK$dVxM8(Tc?pHFe0Z3uq){{#OK3i-ra#@+;*=ui8)y6hsRv z4Fxx1c1+fr!VI{L3DFMwXKrfl#Q8hfP@ajgEau&QMCxd{g#!T^;ATXW)nUg&$-n25 zruy3V!!;{?OTobo|0GAxe`Acn3GV@W=&n;~&9 zQM>NWW~R@OYORkJAo+eq1!4vzmf9K%plR4(tB@TR&FSbDoRgJ8qVcH#;7lQub*nq&?Z>7WM=oeEVjkaG zT#f)=o!M2DO5hLR+op>t0CixJCIeXH*+z{-XS|%jx)y(j&}Wo|3!l7{o)HU3m7LYyhv*xF&tq z%IN7N;D4raue&&hm0xM=`qv`+TK@;_xAcGKuK(2|75~ar2Yw)geNLSmVxV@x89bQu zpViVKKnlkwjS&&c|-X6`~xdnh}Ps)Hs z4VbUL^{XNLf7_|Oi>tA%?SG5zax}esF*FH3d(JH^Gvr7Rp*n=t7frH!U;!y1gJB^i zY_M$KL_}mW&XKaDEi9K-wZR|q*L32&m+2n_8lq$xRznJ7p8}V>w+d@?uB!eS3#u<} zIaqi!b!w}a2;_BfUUhGMy#4dPx>)_>yZ`ai?Rk`}d0>~ce-PfY-b?Csd(28yX22L% zI7XI>OjIHYTk_@Xk;Gu^F52^Gn6E1&+?4MxDS2G_#PQ&yXPXP^<-p|2nLTb@AAQEY zI*UQ9Pmm{Kat}wuazpjSyXCdnrD&|C1c5DIb1TnzF}f4KIV6D)CJ!?&l&{T)e4U%3HTSYqsQ zo@zWB1o}ceQSV)<4G<)jM|@@YpL+XHuWsr5AYh^Q{K=wSV99D~4RRU52FufmMBMmd z_H}L#qe(}|I9ZyPRD6kT>Ivj&2Y?qVZq<4bG_co_DP`sE*_Xw8D;+7QR$Uq(rr+u> z8bHUWbV19i#)@@G4bCco@Xb<8u~wVDz9S`#k@ciJtlu@uP1U0X?yov8v9U3VOig2t zL9?n$P3=1U_Emi$#slR>N5wH-=J&T=EdUHA}_Z zZIl3nvMP*AZS9{cDqFanrA~S5BqxtNm9tlu;^`)3X&V4tMAkJ4gEIPl= zoV!Gyx0N{3DpD@)pv^iS*dl2FwANu;1;%EDl}JQ7MbxLMAp>)UwNwe{=V}O-5C*>F zu?Ny+F64jZn<+fKjF01}8h5H_3pey|;%bI;SFg$w8;IC<8l|3#Lz2;mNNik6sVTG3 z+Su^rIE#40C4a-587$U~%KedEEw1%r6wdvoMwpmlXH$xPnNQN#f%Z7|p)nC>WsuO= z4zyqapLS<8(UJ~Qi9d|dQijb_xhA2)v>la)<1md5s^R1N&PiuA$^k|A<+2C?OiHbj z>Bn$~t)>Y(Zb`8hW7q9xQ=s>Rv81V+UiuZJc<23HplI88isqRCId89fb`Kt|CxVIg znWcwprwXnotO>3s&Oypkte^9yJjlUVVxSe%_xlzmje|mYOVPH^vjA=?6xd0vaj0Oz zwJ4OJNiFdnHJX3rw&inskjryukl`*fRQ#SMod5J|KroJRsVXa5_$q7whSQ{gOi*s0 z1LeCy|JBWRsDPn7jCb4s(p|JZiZ8+*ExC@Vj)MF|*Vp{B(ziccSn`G1Br9bV(v!C2 z6#?eqpJBc9o@lJ#^p-`-=`4i&wFe>2)nlPK1p9yPFzJCzBQbpkcR>={YtamIw)3nt z(QEF;+)4`>8^_LU)_Q3 zC5_7lgi_6y>U%m)m@}Ku4C}=l^J=<<7c;99ec3p{aR+v=diuJR7uZi%aQv$oP?dn?@6Yu_+*^>T0ptf(oobdL;6)N-I!TO`zg^Xbv3#L0I~sn@WGk-^SmPh5>W+LB<+1PU}AKa?FCWF|qMNELOgdxR{ zbqE7@jVe+FklzdcD$!(A$&}}H*HQFTJ+AOrJYnhh}Yvta(B zQ_bW4Rr;R~&6PAKwgLWXS{Bnln(vUI+~g#kl{r+_zbngT`Y3`^Qf=!PxN4IYX#iW4 zucW7@LLJA9Zh3(rj~&SyN_pjO8H&)|(v%!BnMWySBJV=eSkB3YSTCyIeJ{i;(oc%_hk{$_l;v>nWSB)oVeg+blh=HB5JSlG_r7@P z3q;aFoZjD_qS@zygYqCn=;Zxjo!?NK!%J$ z52lOP`8G3feEj+HTp@Tnn9X~nG=;tS+z}u{mQX_J0kxtr)O30YD%oo)L@wy`jpQYM z@M>Me=95k1p*FW~rHiV1CIfVc{K8r|#Kt(ApkXKsDG$_>76UGNhHExFCw#Ky9*B-z zNq2ga*xax!HMf_|Vp-86r{;~YgQKqu7%szk8$hpvi_2I`OVbG1doP(`gn}=W<8%Gn z%81#&WjkH4GV;4u43EtSW>K_Ta3Zj!XF?;SO3V#q=<=>Tc^@?A`i;&`-cYj|;^ zEo#Jl5zSr~_V-4}y8pnufXLa80vZY4z2ko7fj>DR)#z=wWuS1$$W!L?(y}YC+yQ|G z@L&`2upy3f>~*IquAjkVNU>}c10(fq#HdbK$~Q3l6|=@-eBbo>B9(6xV`*)sae58*f zym~RRVx;xoCG3`JV`xo z!lFw)=t2Hy)e!IFs?0~7osWk(d%^wxq&>_XD4+U#y&-VF%4z?XH^i4w`TxpF{`XhZ z%G}iEzf!T(l>g;W9<~K+)$g!{UvhW{E0Lis(S^%I8OF&%kr!gJ&fMOpM=&=Aj@wuL zBX?*6i51Qb$uhkwkFYkaD_UDE+)rh1c;(&Y=B$3)J&iJfQSx!1NGgPtK!$c9OtJuu zX(pV$bfuJpRR|K(dp@^j}i&HeJOh@|7lWo8^$*o~Xqo z5Sb+!EtJ&e@6F+h&+_1ETbg7LfP5GZjvIUIN3ibCOldAv z)>YdO|NH$x7AC8dr=<2ekiY1%fN*r~e5h6Yaw<{XIErujKV~tiyrvV_DV0AzEknC- zR^xKM3i<1UkvqBj3C{wDvytOd+YtDSGu!gEMg+!&|8BQrT*|p)(dwQLEy+ zMtMzij3zo40)CA!BKZF~yWg?#lWhqD3@qR)gh~D{uZaJO;{OWV8XZ_)J@r3=)T|kt zUS1pXr6-`!Z}w2QR7nP%d?ecf90;K_7C3d!UZ`N(TZoWNN^Q~RjVhQG{Y<%E1PpV^4 z-m-K+$A~-+VDABs^Q@U*)YvhY4Znn2^w>732H?NRK(5QSS$V@D7yz2BVX4)f5A04~$WbxGOam22>t&uD)JB8-~yiQW6ik;FGblY_I>SvB_z2?PS z*Qm&qbKI{H1V@YGWzpx`!v)WeLT02};JJo*#f$a*FH?IIad-^(;9XC#YTWN6;Z6+S zm4O1KH=#V@FJw7Pha0!9Vb%ZIM$)a`VRMoiN&C|$YA3~ZC*8ayZRY^fyuP6$n%2IU z$#XceYZeqLTXw(m$_z|33I$B4k~NZO>pP6)H_}R{E$i%USGy{l{-jOE;%CloYPEU+ zRFxOn4;7lIOh!7abb23YKD+_-?O z0FP9otcAh+oSj;=f#$&*ExUHpd&e#bSF%#8*&ItcL2H$Sa)?pt0Xtf+t)z$_u^wZi z44oE}r4kIZGy3!Mc8q$B&6JqtnHZ>Znn!Zh@6rgIu|yU+zG8q`q9%B18|T|oN3zMq z`l&D;U!OL~%>vo&q0>Y==~zLiCZk4v%s_7!9DxQ~id1LLE93gf*gg&2$|hB#j8;?3 z5v4S;oM6rT{Y;I+#FdmNw z){d%tNM<<#GN%n9ox7B=3#;u7unZ~tLB_vRZ52a&2=IM)2VkXm=L+Iqq~uk#Dug|x z>S84e+A7EiOY5lj*!q?6HDkNh~0g;0Jy(al!ZHHDtur9T$y-~)94HelX1NHjXWIM7UAe}$?jiz z9?P4`I0JM=G5K{3_%2jPLC^_Mlw?-kYYgb7`qGa3@dn|^1fRMwiyM@Ch z;CB&o7&&?c5e>h`IM;Wnha0QKnEp=$hA8TJgR-07N~U5(>9vJzeoFsSRBkDq=x(YgEMpb=l4TDD`2 zwVJpWGTA_u7}?ecW7s6%rUs&NXD3+n;jB86`X?8(l3MBo6)PdakI6V6a}22{)8ilT zM~T*mU}__xSy|6XSrJ^%lDAR3Lft%+yxC|ZUvSO_nqMX!_ul3;R#*{~4DA=h$bP)%8Yv9X zyp><|e8=_ttI}ZAwOd#dlnSjck#6%273{E$kJuCGu=I@O)&6ID{nWF5@gLb16sj|&Sb~+du4e4O_%_o`Ix4NRrAsyr1_}MuP94s>de8cH-OUkVPk3+K z&jW)It9QiU-ti~AuJkL`XMca8Oh4$SyJ=`-5WU<{cIh+XVH#e4d&zive_UHC!pN>W z3TB;Mn5i)9Qn)#6@lo4QpI3jFYc0~+jS)4AFz8fVC;lD^+idw^S~Qhq>Tg(!3$yLD zzktzoFrU@6s4wwCMz}edpF5i5Q1IMmEJQHzp(LAt)pgN3&O!&d?3W@6U4)I^2V{;- z6A(?zd93hS*uQmnh4T)nHnE{wVhh(=MMD(h(P4+^p83Om6t<*cUW>l(qJzr%5vp@K zN27ka(L{JX=1~e2^)F^i=TYj&;<7jyUUR2Bek^A8+3Up*&Xwc{)1nRR5CT8vG>ExV zHnF3UqXJOAno_?bnhCX-&kwI~Ti8t4`n0%Up>!U`ZvK^w2+0Cs-b9%w%4`$+To|k= zKtgc&l}P`*8IS>8DOe?EB84^kx4BQp3<7P{Pq}&p%xF_81pg!l2|u=&I{AuUgmF5n zJQCTLv}%}xbFGYtKfbba{CBo)lWW%Z>i(_NvLhoQZ*5-@2l&x>e+I~0Nld3UI9tdL zRzu8}i;X!h8LHVvN?C+|M81e>Jr38%&*9LYQec9Ax>?NN+9(_>XSRv&6hlCYB`>Qm z1&ygi{Y()OU4@D_jd_-7vDILR{>o|7-k)Sjdxkjgvi{@S>6GqiF|o`*Otr;P)kLHN zZkpts;0zw_6;?f(@4S1FN=m!4^mv~W+lJA`&7RH%2$)49z0A+8@0BCHtj|yH--AEL z0tW6G%X-+J+5a{5*WKaM0QDznf;V?L5&uQw+yegDNDP`hA;0XPYc6e0;Xv6|i|^F2WB)Z$LR|HR4 zTQsRAby9(^Z@yATyOgcfQw7cKyr^3Tz7lc7+JEwwzA7)|2x+PtEb>nD(tpxJQm)Kn zW9K_*r!L%~N*vS8<5T=iv|o!zTe9k_2jC_j*7ik^M_ zaf%k{WX{-;0*`t`G!&`eW;gChVXnJ-Rn)To8vW-?>>a%QU1v`ZC=U)f8iA@%JG0mZ zDqH;~mgBnrCP~1II<=V9;EBL)J+xzCoiRBaeH&J6rL!{4zIY8tZka?_FBeQeNO3q6 zyG_alW54Ba&wQf{&F1v-r1R6ID)PTsqjIBc+5MHkcW5Fnvi~{-FjKe)t1bl}Y;z@< z=!%zvpRua>>t_x}^}z0<7MI!H2v6|XAyR9!t50q-A)xk0nflgF4*OQlCGK==4S|wc zRMsSscNhRzHMBU8TdcHN!q^I}x0iXJ%uehac|Zs_B$p@CnF)HeXPpB_Za}F{<@6-4 zl%kml@}kHQ(ypD8FsPJ2=14xXJE|b20RUIgs!2|R3>LUMGF6X*B_I|$`Qg=;zm7C z{mEDy9dTmPbued7mlO@phdmAmJ7p@GR1bjCkMw6*G7#4+`k>fk1czdJUB!e@Q(~6# zwo%@p@V5RL0ABU2LH7Asq^quDUho@H>eTZH9f*no9fY0T zD_-9px3e}A!>>kv5wk91%C9R1J_Nh!*&Kk$J3KNxC}c_@zlgpJZ+5L)Nw|^p=2ue}CJtm;uj*Iqr)K})kA$xtNUEvX;4!Px*^&9T_`IN{D z{6~QY=Nau6EzpvufB^hflc#XIsSq0Y9(nf$d~6ZwK}fal92)fr%T3=q{0mP-EyP_G z)UR5h@IX}3Qll2b0oCAcBF>b*@Etu*aTLPU<%C>KoOrk=x?pN!#f_Og-w+;xbFgjQ zXp`et%lDBBh~OcFnMKMUoox0YwBNy`N0q~bSPh@+enQ=4RUw1) zpovN`QoV>vZ#5LvC;cl|6jPr}O5tu!Ipoyib8iXqy}TeJ;4+_7r<1kV0v5?Kv>fYp zg>9L`;XwXa&W7-jf|9~uP2iyF5`5AJ`Q~p4eBU$MCC00`rcSF>`&0fbd^_eqR+}mK z4n*PMMa&FOcc)vTUR zlDUAn-mh`ahi_`f`=39JYTNVjsTa_Y3b1GOIi)6dY)D}xeshB0T8Eov5%UhWd1)u}kjEQ|LDo{tqKKrYIfVz~@dp!! zMOnah@vp)%_-jDTUG09l+;{CkDCH|Q{NqX*uHa1YxFShy*1+;J`gywKaz|2Q{lG8x zP?KBur`}r`!WLKXY_K;C8$EWG>jY3UIh{+BLv0=2)KH%P}6xE2kg)%(-uA6lC?u8}{K(#P*c zE9C8t*u%j2r_{;Rpe1A{9nNXU;b_N0vNgyK!EZVut~}+R2rcbsHilqsOviYh-pYX= zHw@53nlmwYI5W5KP>&`dBZe0Jn?nAdC^HY1wlR6$u^PbpB#AS&5L6zqrXN&7*N2Q` z+Rae1EwS)H=aVSIkr8Ek^1jy2iS2o7mqm~Mr&g5=jjt7VxwglQ^`h#Mx+x2v|9ZAwE$i_9918MjJxTMr?n!bZ6n$}y11u8I9COTU`Z$Fi z!AeAQLMw^gp_{+0QTEJrhL424pVDp%wpku~XRlD3iv{vQ!lAf!_jyqd_h}+Tr1XG| z`*FT*NbPqvHCUsYAkFnM`@l4u_QH&bszpUK#M~XLJt{%?00GXY?u_{gj3Hvs!=N(I z(=AuWPijyoU!r?aFTsa8pLB&cx}$*%;K$e*XqF{~*rA-qn)h^!(-;e}O#B$|S~c+U zN4vyOK0vmtx$5K!?g*+J@G1NmlEI=pyZXZ69tAv=@`t%ag_Hk{LP~OH9iE)I= zaJ69b4kuCkV0V zo(M0#>phpQ_)@j;h%m{-a*LGi(72TP)ws2w*@4|C-3+;=5DmC4s7Lp95%n%@Ko zfdr3-a7m*dys9iIci$A=4NPJ`HfJ;hujLgU)ZRuJI`n;Pw|yksu!#LQnJ#dJysgNb z@@qwR^wrk(jbq4H?d!lNyy72~Dnn87KxsgQ!)|*m(DRM+eC$wh7KnS-mho3|KE)7h zK3k;qZ;K1Lj6uEXLYUYi)1FN}F@-xJ z@@3Hb84sl|j{4$3J}aTY@cbX@pzB_qM~APljrjju6P0tY{C@ zpUCOz_NFmALMv1*blCcwUD3?U6tYs+N%cmJ98D%3)%)Xu^uvzF zS5O!sc#X6?EwsYkvPo6A%O8&y8sCCQH<%f2togVwW&{M;PR!a(ZT_A+jVAbf{@5kL zB@Z(hb$3U{T_}SKA_CoQVU-;j>2J=L#lZ~aQCFg-d<9rzs$_gO&d5N6eFSc z1ml8)P*FSi+k@!^M9nDWR5e@ATD8oxtDu=36Iv2!;dZzidIS(PCtEuXAtlBb1;H%Z zwnC^Ek*D)EX4#Q>R$$WA2sxC_t(!!6Tr?C#@{3}n{<^o;9id1RA&-Pig1e-2B1XpG zliNjgmd3c&%A}s>qf{_j#!Z`fu0xIwm4L0)OF=u(OEmp;bLCIaZX$&J_^Z%4Sq4GZ zPn6sV_#+6pJmDN_lx@1;Zw6Md_p0w9h6mHtzpuIEwNn>OnuRSC2=>fP^Hqgc)xu^4 z<3!s`cORHJh#?!nKI`Et7{3C27+EuH)Gw1f)aoP|B3y?fuVfvpYYmmukx0ya-)TQX zR{ggy5cNf4X|g)nl#jC9p>7|09_S7>1D2GTRBUTW zAkQ=JMRogZqG#v;^=11O6@rPPwvJkr{bW-Qg8`q8GoD#K`&Y+S#%&B>SGRL>;ZunM@49!}Uy zN|bBCJ%sO;@3wl0>0gbl3L@1^O60ONObz8ZI7nder>(udj-jt`;yj^nTQ$L9`OU9W zX4alF#$|GiR47%x@s&LV>2Sz2R6?;2R~5k6V>)nz!o_*1Y!$p>BC5&?hJg_MiE6UBy>RkVZj`9UWbRkN-Hk!S`=BS3t3uyX6)7SF#)71*}`~Ogz z1rap5H6~dhBJ83;q-Y<5V35C2&F^JI-it(=5D#v!fAi9p#UwV~2tZQI+W(Dv?1t9? zfh*xpxxO{-(VGB>!Q&0%^YW_F!@aZS#ucP|YaD#>wd1Fv&Z*SR&mc;asi}1G) z_H>`!akh-Zxq9#io(7%;a$)w+{QH)Y$?UK1Dt^4)up!Szcxnu}kn$0afcfJL#IL+S z5gF_Y30j;{lNrG6m~$Ay?)*V9fZuU@3=kd40=LhazjFrau>(Y>SJNtOz>8x_X-BlA zIpl{i>OarVGj1v(4?^1`R}aQB&WCRQzS~;7R{tDZG=HhgrW@B`W|#cdyj%YBky)P= zpxuOZkW>S6%q7U{VsB#G(^FMsH5QuGXhb(sY+!-R8Bmv6Sx3WzSW<1MPPN1!&PurYky(@`bP9tz z52}LH9Q?+FF5jR6-;|+GVdRA!qtd;}*-h&iIw3Tq3qF9sDIb1FFxGbo&fbG5n8$3F zyY&PWL{ys^dTO}oZ#@sIX^BKW*bon=;te9j5k+T%wJ zNJtoN1~YVj4~YRrlZl)b&kJqp+Z`DqT!la$x&&IxgOQw#yZd-nBP3!7FijBXD|IsU8Zl^ zc6?MKpJQ+7ka|tZQLfchD$PD|;K(9FiLE|eUZX#EZxhG!S-63C$jWX1Yd!6-Yxi-u zjULIr|0-Q%D9jz}IF~S%>0(jOqZ(Ln<$9PxiySr&2Oic7vb<8q=46)Ln%Z|<*z5&> z3f~Zw@m;vR(bESB<=Jqkxn(=#hQw42l(7)h`vMQQTttz9XW6^|^8EK7qhju4r_c*b zJIi`)MB$w@9epwdIfnEBR+?~);yd6C(LeMC& zn&&N*?-g&BBJcV;8&UoZi4Lmxcj16ojlxR~zMrf=O_^i1wGb9X-0@6_rpjPYemIin zmJb+;lHe;Yp=8G)Q(L1bzH*}I>}uAqhj4;g)PlvD9_e_ScR{Ipq|$8NvAvLD8MYr}xl=bU~)f%B3E>r3Bu9_t|ThF3C5~BdOve zEbk^r&r#PT&?^V1cb{72yEWH}TXEE}w>t!cY~rA+hNOTK8FAtIEoszp!qqptS&;r$ zaYV-NX96-h$6aR@1xz6_E0^N49mU)-v#bwtGJm)ibygzJ8!7|WIrcb`$XH~^!a#s& z{Db-0IOTFq#9!^j!n_F}#Z_nX{YzBK8XLPVmc&X`fT7!@$U-@2KM9soGbmOSAmqV z{nr$L^MBo_u^Joyf0E^=eo{Rt0{{e$IFA(#*kP@SQd6lWT2-#>` zP1)7_@IO!9lk>Zt?#CU?cuhiLF&)+XEM9B)cS(gvQT!X3`wL*{fArTS;Ak`J<84du zALKPz4}3nlG8Fo^MH0L|oK2-4xIY!~Oux~1sw!+It)&D3p;+N8AgqKI`ld6v71wy8I!eP0o~=RVcFQR2Gr(eP_JbSytoQ$Yt}l*4r@A8Me94y z8cTDWhqlq^qoAhbOzGBXv^Wa4vUz$(7B!mX`T=x_ueKRRDfg&Uc-e1+z4x$jyW_Pm zp?U;-R#xt^Z8Ev~`m`iL4*c#65Nn)q#=Y0l1AuD&+{|8-Gsij3LUZXpM0Bx0u7WWm zH|%yE@-#XEph2}-$-thl+S;__ciBxSSzHveP%~v}5I%u!z_l_KoW{KRx2=eB33umE zIYFtu^5=wGU`Jab8#}cnYry@9p5UE#U|VVvx_4l49JQ;jQdp(uw=$^A$EA$LM%vmE zvdEOaIcp5qX8wX{mYf0;#51~imYYPn4=k&#DsKTxo{_Mg*;S495?OBY?#gv=edYC* z^O@-sd-qa+U24xvcbL0@C7_6o!$`)sVr-jSJE4XQUQ$?L7}2(}Eixqv;L8AdJAVqc zq}RPgpnDb@E_;?6K58r3h4-!4rT4Ab#rLHLX?eMOfluJk=3i1@Gt1i#iA=O`M0@x! z(HtJP9BMHXEzuD93m|B&woj0g6T?f#^)>J>|I4C5?Gam>n9!8CT%~aT;=oco5d6U8 zMXl(=W;$ND_8+DD*?|5bJ!;8ebESXMUKBAf7YBwNVJibGaJ*(2G`F%wx)grqVPjudiaq^Kl&g$8A2 zWMxMr@_$c}d+;_B`#kUX-t|4VKH&_f^^EP0&=DPLW)H)UzBG%%Tra*5 z%$kyZe3I&S#gfie^z5)!twG={3Cuh)FdeA!Kj<-9** zvT*5%Tb`|QbE!iW-XcOuy39>D3oe6x{>&<#E$o8Ac|j)wq#kQzz|ATd=Z0K!p2$QE zPu?jL8Lb^y3_CQE{*}sTDe!2!dtlFjq&YLY@2#4>XS`}v#PLrpvc4*@q^O{mmnr5D zmyJq~t?8>FWU5vZdE(%4cuZuao0GNjp3~Dt*SLaxI#g_u>hu@k&9Ho*#CZP~lFJHj z(e!SYlLigyc?&5-YxlE{uuk$9b&l6d`uIlpg_z15dPo*iU&|Khx2*A5Fp;8iK_bdP z?T6|^7@lcx2j0T@x>X7|kuuBSB7<^zeY~R~4McconTxA2flHC0_jFxmSTv-~?zVT| zG_|yDqa9lkF*B6_{j=T>=M8r<0s;@z#h)3BQ4NLl@`Xr__o7;~M&dL3J8fP&zLfDfy z);ckcTev{@OUlZ`bCo(-3? z1u1xD`PKgSg?RqeVVsF<1SLF;XYA@Bsa&cY!I48ZJn1V<3d!?s=St?TLo zC0cNr`qD*M#s6f~X>SCNVkva^9A2ZP>CoJ9bvgXe_c}WdX-)pHM5m7O zrHt#g$F0AO+nGA;7dSJ?)|Mo~cf{z2L)Rz!`fpi73Zv)H=a5K)*$5sf_IZypi($P5 zsPwUc4~P-J1@^3C6-r9{V-u0Z&Sl7vNfmuMY4yy*cL>_)BmQF!8Om9Dej%cHxbIzA zhtV0d{=%cr?;bpBPjt@4w=#<>k5ee=TiWAXM2~tUGfm z$s&!Dm0R^V$}fOR*B^kGaipi~rx~A2cS0;t&khV1a4u38*XRUP~f za!rZMtay8bsLt6yFYl@>-y^31(*P!L^^s@mslZy(SMsv9bVoX`O#yBgEcjCmGpyc* zeH$Dw6vB5P*;jor+JOX@;6K#+xc)Z9B8M=x2a@Wx-{snPGpRmOC$zpsqW*JCh@M2Y z#K+M(>=#d^>Of9C`))h<=Bsy)6zaMJ&x-t%&+UcpLjV`jo4R2025 zXaG8EA!0lQa)|dx-@{O)qP6`$rhCkoQqZ`^SW8g-kOwrwsK8 z3ms*AIcyj}-1x&A&vSq{r=QMyp3CHdWH35!sad#!Sm>^|-|afB+Q;|Iq@LFgqIp#Z zD1%H+3I?6RGnk&IFo|u+E0dCxXz4yI^1i!QTu7uvIEH>i3rR{srcST`LIRwdV1P;W z+%AN1NIf@xxvVLiSX`8ILA8MzNqE&7>%jMzGt9wm78bo9<;h*W84i29^w!>V>{N+S zd`5Zmz^G;f=icvoOZfK5#1ctx*~UwD=ab4DGQXehQ!XYnak*dee%YN$_ZPL%KZuz$ zD;$PpT;HM^$KwtQm@7uvT`i6>Hae1CoRVM2)NL<2-k2PiX=eAx+-6j#JI?M}(tuBW zkF%jjLR)O`gI2fcPBxF^HeI|DWwQWHVR!;;{BXXHskxh8F@BMDn`oEi-NHt;CLymW z=KSv5)3dyzec0T5B*`g-MQ<;gz=nIWKUi9ko<|4I(-E0k$QncH>E4l z**1w&#={&zv4Tvhgz#c29`m|;lU-jmaXFMC11 z*dlXDMEOG>VoLMc>!rApwOu2prKSi*!w%`yzGmS+k(zm*CsLK*wv{S_0WX^8A-rKy zbk^Gf_92^7iB_uUF)EE+ET4d|X|>d&mdN?x@vxKAQk`O+r4Qdu>XGy(a(19g;=jU} zFX{O*_NG>!$@jh!U369Lnc+D~qch3uT+_Amyi}*k#LAAwh}k8IPK5a-WZ81ufD>l> z$4cF}GSz>ce`3FAic}6W4Z7m9KGO?(eWqi@L|5Hq0@L|&2flN1PVl}XgQ2q*_n2s3 zt5KtowNkTYB5b;SVuoXA@i5irXO)A&%7?V`1@HGCB&)Wgk+l|^XXChq;u(nyPB}b3 zY>m5jkxpZgi)zfbgv&ec4Zqdvm+D<?Im*mXweS9H+V>)zF#Zp3)bhl$PbISY{5=_z!8&*Jv~NYtI-g!>fDs zmvL5O^U%!^VaKA9gvKw|5?-jk>~%CVGvctKmP$kpnpfN{D8@X*Aazi$txfa%vd-|E z>kYmV66W!lNekJPom29LdZ%(I+ZLZYTXzTg*to~m?7vp%{V<~>H+2}PQ?PPAq`36R z<%wR8v6UkS>Wt#hzGk#44W<%9S=nBfB);6clKwnxY}T*w21Qc3_?IJ@4gYzC7s;WP zVQNI(M=S=JT#xsZy7G`cR(BP9*je0bfeN8JN5~zY(DDs0t{LpHOIbN);?T-69Pf3R zSNe*&p2%AwXHL>__g+xd4Hlc_vu<25H?(`nafS%)3UPP7_4;gk-9ckt8SJRTv5v0M z_Hww`qPudL?ajIR&X*;$y-`<)6dxx1U~5eGS13CB!lX;3w7n&lDDiArbAhSycd}+b zya_3p@A`$kQy;|NJZ~s44Hqo7Hwt}X86NK=(ey>lgWTtGL6k@Gy;PbO!M%1~Wcn2k zUFP|*5d>t-X*RU8g%>|(wwj*~#l4z^Aatf^DWd1Wj#Q*AY0D^V@sC`M zjJc6qXu0I7Y*2;;gGu!plAFzG=J;1%eIOdn zQA>J&e05UN*7I5@yRhK|lbBSfJ+5Uq;!&HV@xfPZrgD}kE*1DSq^=%{o%|LChhl#0 zlMb<^a6ixzpd{kNZr|3jTGeEzuo}-eLT-)Q$#b{!vKx8Tg}swCni>{#%vDY$Ww$84 zew3c9BBovqb}_&BRo#^!G(1Eg((BScRZ}C)Oz?y`T5wOrv);)b^4XR8 zhJo7+<^7)qB>I;46!GySzdneZ>n_E1oWZY;kf94#)s)kWjuJN1c+wbVoNQcmnv}{> zN0pF+Sl3E}UQ$}slSZeLJrwT>Sr}#V(dVaezCQl2|4LN`7L7v&siYR|r7M(*JYfR$ zst3=YaDw$FSc{g}KHO&QiKxuhEzF{f%RJLKe3p*7=oo`WNP)M(9X1zIQPP0XHhY3c znrP{$4#Ol$A0s|4S7Gx2L23dv*Gv2o;h((XVn+9+$qvm}s%zi6nI-_s6?mG! zj{DV;qesJb&owKeEK?=J>UcAlYckA7Sl+I&IN=yasrZOkejir*kE@SN`fk<8Fgx*$ zy&fE6?}G)d_N`){P~U@1jRVA|2*69)KSe_}!~?+`Yb{Y=O~_+@!j<&oVQQMnhoIRU zA0CyF1OFfkK44n*JD~!2!SCPM;PRSk%1XL=0&rz00wxPs&-_eapJy#$h!eqY%nS0{ z!aGg58JIJPF3_ci%n)QSVpa2H`vIe$RD43;#IRfDV&Ibit z+?>HW4{2wOfC6Fw)}4x}i1maDxcE1qi@BS*qcxD2gE@h3#4cgU*D-&3z7D|tVZWt= z-Cy2+*Cm@P4GN_TPUtaVyVesbVDazF@)j8VJ4>XZv!f%}&eO1SvIgr}4`A*3#vat< z_MoByL(qW6L7SFZ#|Gc1fFN)L2PxY+{B8tJp+pxRyz*87)vXR}*=&ahXjBlQKguuf zX6x<<6fQulE^C*KH8~W%ptpaC0l?b=_{~*U4?5Vt;dgM4t_{&UZ1C2j?b>b+5}{IF_CUyvz-@QZPMlJ)r_tS$9kH%RPv#2_nMb zRLj5;chJ72*U`Z@Dqt4$@_+k$%|8m(HqLG!qT4P^DdfvGf&){gKnGCX#H0!;W=AGP zbA&Z`-__a)VTS}kKFjWGk z%|>yE?t*EJ!qeQ%dPk$;xIQ+P0;()PCBDgjJm6Buj{f^awNoVx+9<|lg3%-$G(*f) zll6oOkN|yamn1uyl2*N-lnqRI1cvs_JxLTeahEK=THV$Sz*gQhKNb*p0fNoda#-&F zB-qJgW^g}!TtM|0bS2QZekW7_tKu%GcJ!4?lObt0z_$mZ4rbQ0o=^curCs3bJK6sq z9fu-aW-l#>z~ca(B;4yv;2RZ?tGYAU)^)Kz{L|4oPj zdOf_?de|#yS)p2v8-N||+XL=O*%3+y)oI(HbM)Ds?q8~HPzIP(vs*G`iddbWq}! z(2!VjP&{Z1w+%eUq^ - - - true - false - - \ No newline at end of file diff --git a/java/ql/integration-tests/all-platforms/java/gradle-sample/gradle/wrapper/gradle-wrapper.jar b/java/ql/integration-tests/all-platforms/java/gradle-sample/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index e708b1c023ec8b20f512888fe07c5bd3ff77bb8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59203 zcma&O1CT9Y(k9%tZQHhO+qUh#ZQHhO+qmuS+qP|E@9xZO?0h@l{(r>DQ>P;GjjD{w zH}lENr;dU&FbEU?00aa80D$0M0RRB{U*7-#kbjS|qAG&4l5%47zyJ#WrfA#1$1Ctx zf&Z_d{GW=lf^w2#qRJ|CvSJUi(^E3iv~=^Z(zH}F)3Z%V3`@+rNB7gTVU{Bb~90p|f+0(v;nz01EG7yDMX9@S~__vVgv%rS$+?IH+oZ03D5zYrv|^ zC1J)SruYHmCki$jLBlTaE5&dFG9-kq3!^i>^UQL`%gn6)jz54$WDmeYdsBE9;PqZ_ zoGd=P4+|(-u4U1dbAVQrFWoNgNd;0nrghPFbQrJctO>nwDdI`Q^i0XJDUYm|T|RWc zZ3^Qgo_Qk$%Fvjj-G}1NB#ZJqIkh;kX%V{THPqOyiq)d)0+(r9o(qKlSp*hmK#iIY zA^)Vr$-Hz<#SF=0@tL@;dCQsm`V9s1vYNq}K1B)!XSK?=I1)tX+bUV52$YQu*0%fnWEukW>mxkz+%3-S!oguE8u#MGzST8_Dy^#U?fA@S#K$S@9msUiX!gd_ow>08w5)nX{-KxqMOo7d?k2&?Vf z&diGDtZr(0cwPe9z9FAUSD9KC)7(n^lMWuayCfxzy8EZsns%OEblHFSzP=cL6}?J| z0U$H!4S_TVjj<`6dy^2j`V`)mC;cB%* z8{>_%E1^FH!*{>4a7*C1v>~1*@TMcLK{7nEQ!_igZC}ikJ$*<$yHy>7)oy79A~#xE zWavoJOIOC$5b6*q*F_qN1>2#MY)AXVyr$6x4b=$x^*aqF*L?vmj>Mgv+|ITnw_BoW zO?jwHvNy^prH{9$rrik1#fhyU^MpFqF2fYEt(;4`Q&XWOGDH8k6M=%@fics4ajI;st# zCU^r1CK&|jzUhRMv;+W~6N;u<;#DI6cCw-otsc@IsN3MoSD^O`eNflIoR~l4*&-%RBYk@gb^|-JXs&~KuSEmMxB}xSb z@K76cXD=Y|=I&SNC2E+>Zg?R6E%DGCH5J1nU!A|@eX9oS(WPaMm==k2s_ueCqdZw| z&hqHp)47`c{BgwgvY2{xz%OIkY1xDwkw!<0veB#yF4ZKJyabhyyVS`gZepcFIk%e2 zTcrmt2@-8`7i-@5Nz>oQWFuMC_KlroCl(PLSodswHqJ3fn<;gxg9=}~3x_L3P`9Sn zChIf}8vCHvTriz~T2~FamRi?rh?>3bX1j}%bLH+uFX+p&+^aXbOK7clZxdU~6Uxgy z8R=obwO4dL%pmVo*Ktf=lH6hnlz_5k3cG;m8lgaPp~?eD!Yn2kf)tU6PF{kLyn|oI@eQ`F z3IF7~Blqg8-uwUuWZScRKn%c2_}dXB6Dx_&xR*n9M9LXasJhtZdr$vBY!rP{c@=)& z#!?L$2UrkvClwQO>U*fSMs67oSj2mxiJ$t;E|>q%Kh_GzzWWO&3;ufU%2z%ucBU8H z3WIwr$n)cfCXR&>tyB7BcSInK>=ByZA%;cVEJhcg<#6N{aZC4>K41XF>ZgjG`z_u& zGY?;Ad?-sgiOnI`oppF1o1Gurqbi*;#x2>+SSV6|1^G@ooVy@fg?wyf@0Y!UZ4!}nGuLeC^l)6pwkh|oRY`s1Pm$>zZ3u-83T|9 zGaKJIV3_x+u1>cRibsaJpJqhcm%?0-L;2 zitBrdRxNmb0OO2J%Y&Ym(6*`_P3&&5Bw157{o7LFguvxC$4&zTy#U=W*l&(Q2MNO} zfaUwYm{XtILD$3864IA_nn34oVa_g^FRuHL5wdUd)+W-p-iWCKe8m_cMHk+=? zeKX)M?Dt(|{r5t7IenkAXo%&EXIb-i^w+0CX0D=xApC=|Xy(`xy+QG^UyFe z+#J6h_&T5i#sV)hj3D4WN%z;2+jJcZxcI3*CHXGmOF3^)JD5j&wfX)e?-|V0GPuA+ zQFot%aEqGNJJHn$!_}#PaAvQ^{3-Ye7b}rWwrUmX53(|~i0v{}G_sI9uDch_brX&6 zWl5Ndj-AYg(W9CGfQf<6!YmY>Ey)+uYd_JNXH=>|`OH-CDCmcH(0%iD_aLlNHKH z7bcW-^5+QV$jK?R*)wZ>r9t}loM@XN&M-Pw=F#xn(;u3!(3SXXY^@=aoj70;_=QE9 zGghsG3ekq#N||u{4We_25U=y#T*S{4I{++Ku)> zQ!DZW;pVcn>b;&g2;YE#+V`v*Bl&Y-i@X6D*OpNA{G@JAXho&aOk(_j^weW{#3X5Y z%$q_wpb07EYPdmyH(1^09i$ca{O<}7) zRWncXdSPgBE%BM#by!E>tdnc$8RwUJg1*x($6$}ae$e9Knj8gvVZe#bLi!<+&BkFj zg@nOpDneyc+hU9P-;jmOSMN|*H#>^Ez#?;%C3hg_65leSUm;iz)UkW)jX#p)e&S&M z1|a?wDzV5NVnlhRBCd_;F87wp>6c<&nkgvC+!@KGiIqWY4l}=&1w7|r6{oBN8xyzh zG$b#2=RJp_iq6)#t5%yLkKx(0@D=C3w+oiXtSuaQ%I1WIb-eiE$d~!)b@|4XLy!CZ z9p=t=%3ad@Ep+<9003D2KZ5VyP~_n$=;~r&YUg5UZ0KVD&tR1DHy9x)qWtKJp#Kq# zP*8p#W(8JJ_*h_3W}FlvRam?<4Z+-H77^$Lvi+#vmhL9J zJ<1SV45xi;SrO2f=-OB(7#iNA5)x1uNC-yNxUw|!00vcW2PufRm>e~toH;M0Q85MQLWd?3O{i8H+5VkR@l9Dg-ma ze2fZ%>G(u5(k9EHj2L6!;(KZ8%8|*-1V|B#EagbF(rc+5iL_5;Eu)L4Z-V;0HfK4d z*{utLse_rvHZeQ>V5H=f78M3Ntg1BPxFCVD{HbNA6?9*^YIq;B-DJd{Ca2L#)qWP? zvX^NhFmX?CTWw&Ns}lgs;r3i+Bq@y}Ul+U%pzOS0Fcv9~aB(0!>GT0)NO?p=25LjN z2bh>6RhgqD7bQj#k-KOm@JLgMa6>%-ok1WpOe)FS^XOU{c?d5shG(lIn3GiVBxmg`u%-j=)^v&pX1JecJics3&jvPI)mDut52? z3jEA)DM%}BYbxxKrizVYwq?(P&19EXlwD9^-6J+4!}9{ywR9Gk42jjAURAF&EO|~N z)?s>$Da@ikI4|^z0e{r`J8zIs>SpM~Vn^{3fArRu;?+43>lD+^XtUcY1HidJwnR6+ z!;oG2=B6Z_=M%*{z-RaHc(n|1RTKQdNjjV!Pn9lFt^4w|AeN06*j}ZyhqZ^!-=cyGP_ShV1rGxkx8t zB;8`h!S{LD%ot``700d0@Grql(DTt4Awgmi+Yr0@#jbe=2#UkK%rv=OLqF)9D7D1j z!~McAwMYkeaL$~kI~90)5vBhBzWYc3Cj1WI0RS`z000R8-@ET0dA~*r(gSiCJmQMN&4%1D zyVNf0?}sBH8zNbBLn>~(W{d3%@kL_eQ6jEcR{l>C|JK z(R-fA!z|TTRG40|zv}7E@PqCAXP3n`;%|SCQ|ZS%ym$I{`}t3KPL&^l5`3>yah4*6 zifO#{VNz3)?ZL$be;NEaAk9b#{tV?V7 zP|wf5YA*1;s<)9A4~l3BHzG&HH`1xNr#%){4xZ!jq%o=7nN*wMuXlFV{HaiQLJ`5G zBhDi#D(m`Q1pLh@Tq+L;OwuC52RdW7b8}~60WCOK5iYMUad9}7aWBuILb({5=z~YF zt?*Jr5NG+WadM{mDL>GyiByCuR)hd zA=HM?J6l1Xv0Dl+LW@w$OTcEoOda^nFCw*Sy^I@$sSuneMl{4ys)|RY#9&NxW4S)9 zq|%83IpslTLoz~&vTo!Ga@?rj_kw{|k{nv+w&Ku?fyk4Ki4I?);M|5Axm)t+BaE)D zm(`AQ#k^DWrjbuXoJf2{Aj^KT zFb1zMSqxq|vceV+Mf-)$oPflsO$@*A0n0Z!R{&(xh8s}=;t(lIy zv$S8x>m;vQNHuRzoaOo?eiWFe{0;$s`Bc+Osz~}Van${u;g(su`3lJ^TEfo~nERfP z)?aFzpDgnLYiERsKPu|0tq4l2wT)Atr6Qb%m-AUn6HnCue*yWICp7TjW$@sO zm5rm4aTcPQ(rfi7a`xP7cKCFrJD}*&_~xgLyr^-bmsL}y;A5P|al8J3WUoBSjqu%v zxC;mK!g(7r6RRJ852Z~feoC&sD3(6}^5-uLK8o)9{8L_%%rItZK9C){UxB|;G>JbP zsRRtS4-3B*5c+K2kvmgZK8472%l>3cntWUOVHxB|{Ay~aOg5RN;{PJgeVD*H%ac+y!h#wi%o2bF2Ca8IyMyH{>4#{E_8u^@+l-+n=V}Sq?$O z{091@v%Bd*3pk0^2UtiF9Z+(a@wy6 zUdw8J*ze$K#=$48IBi1U%;hmhO>lu!uU;+RS}p&6@rQila7WftH->*A4=5W|Fmtze z)7E}jh@cbmr9iup^i%*(uF%LG&!+Fyl@LFA-}Ca#bxRfDJAiR2dt6644TaYw1Ma79 zt8&DYj31j^5WPNf5P&{)J?WlCe@<3u^78wnd(Ja4^a>{^Tw}W>|Cjt^If|7l^l)^Q zbz|7~CF(k_9~n|h;ysZ+jHzkXf(*O*@5m zLzUmbHp=x!Q|!9NVXyipZ3)^GuIG$k;D)EK!a5=8MFLI_lpf`HPKl=-Ww%z8H_0$j ztJ||IfFG1lE9nmQ0+jPQy zCBdKkjArH@K7jVcMNz);Q(Q^R{d5G?-kk;Uu_IXSyWB)~KGIizZL(^&qF;|1PI7!E zTP`%l)gpX|OFn&)M%txpQ2F!hdA~hX1Cm5)IrdljqzRg!f{mN%G~H1&oqe`5eJCIF zHdD7O;AX-{XEV(a`gBFJ9ews#CVS2y!&>Cm_dm3C8*n3MA*e67(WC?uP@8TXuMroq z{#w$%z@CBIkRM7?}Xib+>hRjy?%G!fiw8! z8(gB+8J~KOU}yO7UGm&1g_MDJ$IXS!`+*b*QW2x)9>K~Y*E&bYMnjl6h!{17_8d!%&9D`a7r&LKZjC<&XOvTRaKJ1 zUY@hl5^R&kZl3lU3njk`3dPzxj$2foOL26r(9zsVF3n_F#v)s5vv3@dgs|lP#eylq62{<-vczqP!RpVBTgI>@O6&sU>W|do17+#OzQ7o5A$ICH z?GqwqnK^n2%LR;$^oZM;)+>$X3s2n}2jZ7CdWIW0lnGK-b#EG01)P@aU`pg}th&J-TrU`tIpb5t((0eu|!u zQz+3ZiOQ^?RxxK4;zs=l8q!-n7X{@jSwK(iqNFiRColuEOg}!7cyZi`iBX4g1pNBj zAPzL?P^Ljhn;1$r8?bc=#n|Ed7wB&oHcw()&*k#SS#h}jO?ZB246EGItsz*;^&tzp zu^YJ0=lwsi`eP_pU8}6JA7MS;9pfD;DsSsLo~ogzMNP70@@;Fm8f0^;>$Z>~}GWRw!W5J3tNX*^2+1f3hz{~rIzJo z6W%J(H!g-eI_J1>0juX$X4Cl6i+3wbc~k146UIX&G22}WE>0ga#WLsn9tY(&29zBvH1$`iWtTe zG2jYl@P!P)eb<5DsR72BdI7-zP&cZNI{7q3e@?N8IKc4DE#UVr->|-ryuJXk^u^>4 z$3wE~=q390;XuOQP~TNoDR?#|NSPJ%sTMInA6*rJ%go|=YjGe!B>z6u$IhgQSwoV* zjy3F2#I>uK{42{&IqP59)Y(1*Z>>#W8rCf4_eVsH)`v!P#^;BgzKDR`ARGEZzkNX+ zJUQu=*-ol=Xqqt5=`=pA@BIn@6a9G8C{c&`i^(i+BxQO9?YZ3iu%$$da&Kb?2kCCo zo7t$UpSFWqmydXf@l3bVJ=%K?SSw)|?srhJ-1ZdFu*5QhL$~-IQS!K1s@XzAtv6*Y zl8@(5BlWYLt1yAWy?rMD&bwze8bC3-GfNH=p zynNFCdxyX?K&G(ZZ)afguQ2|r;XoV^=^(;Cku#qYn4Lus`UeKt6rAlFo_rU`|Rq z&G?~iWMBio<78of-2X(ZYHx~=U0Vz4btyXkctMKdc9UM!vYr~B-(>)(Hc|D zMzkN4!PBg%tZoh+=Gba!0++d193gbMk2&krfDgcbx0jI92cq?FFESVg0D$>F+bil} zY~$)|>1HZsX=5sAZ2WgPB5P=8X#TI+NQ(M~GqyVB53c6IdX=k>Wu@A0Svf5#?uHaF zsYn|koIi3$(%GZ2+G+7Fv^lHTb#5b8sAHSTnL^qWZLM<(1|9|QFw9pnRU{svj}_Al zL)b9>fN{QiA($8peNEJyy`(a{&uh-T4_kdZFIVsKKVM(?05}76EEz?#W za^fiZOAd14IJ4zLX-n7Lq0qlQ^lW8Cvz4UKkV9~P}>sq0?xD3vg+$4vLm~C(+ zM{-3Z#qnZ09bJ>}j?6ry^h+@PfaD7*jZxBEY4)UG&daWb??6)TP+|3#Z&?GL?1i+280CFsE|vIXQbm| zM}Pk!U`U5NsNbyKzkrul-DzwB{X?n3E6?TUHr{M&+R*2%yOiXdW-_2Yd6?38M9Vy^ z*lE%gA{wwoSR~vN0=no}tP2Ul5Gk5M(Xq`$nw#ndFk`tcpd5A=Idue`XZ!FS>Q zG^0w#>P4pPG+*NC9gLP4x2m=cKP}YuS!l^?sHSFftZy{4CoQrb_ z^20(NnG`wAhMI=eq)SsIE~&Gp9Ne0nD4%Xiu|0Fj1UFk?6avDqjdXz{O1nKao*46y zT8~iA%Exu=G#{x=KD;_C&M+Zx4+n`sHT>^>=-1YM;H<72k>$py1?F3#T1*ef9mLZw z5naLQr?n7K;2l+{_uIw*_1nsTn~I|kkCgrn;|G~##hM;9l7Jy$yJfmk+&}W@JeKcF zx@@Woiz8qdi|D%aH3XTx5*wDlbs?dC1_nrFpm^QbG@wM=i2?Zg;$VK!c^Dp8<}BTI zyRhAq@#%2pGV49*Y5_mV4+OICP|%I(dQ7x=6Ob}>EjnB_-_18*xrY?b%-yEDT(wrO z9RY2QT0`_OpGfMObKHV;QLVnrK%mc?$WAdIT`kJQT^n%GuzE7|9@k3ci5fYOh(287 zuIbg!GB3xLg$YN=n)^pHGB0jH+_iIiC=nUcD;G6LuJsjn2VI1cyZx=a?ShCsF==QK z;q~*m&}L<-cb+mDDXzvvrRsybcgQ;Vg21P(uLv5I+eGc7o7tc6`;OA9{soHFOz zT~2?>Ts}gprIX$wRBb4yE>ot<8+*Bv`qbSDv*VtRi|cyWS>)Fjs>fkNOH-+PX&4(~ z&)T8Zam2L6puQl?;5zg9h<}k4#|yH9czHw;1jw-pwBM*O2hUR6yvHATrI%^mvs9q_ z&ccT0>f#eDG<^WG^q@oVqlJrhxH)dcq2cty@l3~|5#UDdExyXUmLQ}f4#;6fI{f^t zDCsgIJ~0`af%YR%Ma5VQq-p21k`vaBu6WE?66+5=XUd%Ay%D$irN>5LhluRWt7 zov-=f>QbMk*G##&DTQyou$s7UqjjW@k6=!I@!k+S{pP8R(2=e@io;N8E`EOB;OGoI zw6Q+{X1_I{OO0HPpBz!X!@`5YQ2)t{+!?M_iH25X(d~-Zx~cXnS9z>u?+If|iNJbx zyFU2d1!ITX64D|lE0Z{dLRqL1Ajj=CCMfC4lD3&mYR_R_VZ>_7_~|<^o*%_&jevU+ zQ4|qzci=0}Jydw|LXLCrOl1_P6Xf@c0$ieK2^7@A9UbF{@V_0p%lqW|L?5k>bVM8|p5v&2g;~r>B8uo<4N+`B zH{J)h;SYiIVx@#jI&p-v3dwL5QNV1oxPr8J%ooezTnLW>i*3Isb49%5i!&ac_dEXv zvXmVUck^QHmyrF8>CGXijC_R-y(Qr{3Zt~EmW)-nC!tiH`wlw5D*W7Pip;T?&j%kX z6DkZX4&}iw>hE(boLyjOoupf6JpvBG8}jIh!!VhnD0>}KSMMo{1#uU6kiFcA04~|7 zVO8eI&x1`g4CZ<2cYUI(n#wz2MtVFHx47yE5eL~8bot~>EHbevSt}LLMQX?odD{Ux zJMnam{d)W4da{l7&y-JrgiU~qY3$~}_F#G7|MxT)e;G{U`In&?`j<5D->}cb{}{T(4DF0BOk-=1195KB-E*o@c?`>y#4=dMtYtSY=&L{!TAjFVcq0y@AH`vH! z$41+u!Ld&}F^COPgL(EE{0X7LY&%D7-(?!kjFF7=qw<;`V{nwWBq<)1QiGJgUc^Vz ztMUlq1bZqKn17|6x6iAHbWc~l1HcmAxr%$Puv!znW)!JiukwIrqQ00|H$Z)OmGG@= zv%A8*4cq}(?qn4rN6o`$Y))(MyXr8R<2S^J+v(wmFmtac!%VOfN?&(8Nr!T@kV`N; z*Q33V3t`^rN&aBiHet)18wy{*wi1=W!B%B-Q6}SCrUl$~Hl{@!95ydml@FK8P=u4s z4e*7gV2s=YxEvskw2Ju!2%{8h01rx-3`NCPc(O zH&J0VH5etNB2KY6k4R@2Wvl^Ck$MoR3=)|SEclT2ccJ!RI9Nuter7u9@;sWf-%um;GfI!=eEIQ2l2p_YWUd{|6EG ze{yO6;lMc>;2tPrsNdi@&1K6(1;|$xe8vLgiouj%QD%gYk`4p{Ktv9|j+!OF-P?@p z;}SV|oIK)iwlBs+`ROXkhd&NK zzo__r!B>tOXpBJMDcv!Mq54P+n4(@dijL^EpO1wdg~q+!DT3lB<>9AANSe!T1XgC=J^)IP0XEZ()_vpu!!3HQyJhwh?r`Ae%Yr~b% zO*NY9t9#qWa@GCPYOF9aron7thfWT`eujS4`t2uG6)~JRTI;f(ZuoRQwjZjp5Pg34 z)rp$)Kr?R+KdJ;IO;pM{$6|2y=k_siqvp%)2||cHTe|b5Ht8&A{wazGNca zX$Ol?H)E_R@SDi~4{d-|8nGFhZPW;Cts1;08TwUvLLv&_2$O6Vt=M)X;g%HUr$&06 zISZb(6)Q3%?;3r~*3~USIg=HcJhFtHhIV(siOwV&QkQe#J%H9&E21!C*d@ln3E@J* zVqRO^<)V^ky-R|%{(9`l-(JXq9J)1r$`uQ8a}$vr9E^nNiI*thK8=&UZ0dsFN_eSl z(q~lnD?EymWLsNa3|1{CRPW60>DSkY9YQ;$4o3W7Ms&@&lv9eH!tk~N&dhqX&>K@} zi1g~GqglxkZ5pEFkllJ)Ta1I^c&Bt6#r(QLQ02yHTaJB~- zCcE=5tmi`UA>@P=1LBfBiqk)HB4t8D?02;9eXj~kVPwv?m{5&!&TFYhu>3=_ zsGmYZ^mo*-j69-42y&Jj0cBLLEulNRZ9vXE)8~mt9C#;tZs;=#M=1*hebkS;7(aGf zcs7zH(I8Eui9UU4L--))yy`&d&$In&VA2?DAEss4LAPCLd>-$i?lpXvn!gu^JJ$(DoUlc6wE98VLZ*z`QGQov5l4Fm_h?V-;mHLYDVOwKz7>e4+%AzeO>P6v}ndPW| zM>m#6Tnp7K?0mbK=>gV}=@k*0Mr_PVAgGMu$j+pWxzq4MAa&jpCDU&-5eH27Iz>m^ zax1?*HhG%pJ((tkR(V(O(L%7v7L%!_X->IjS3H5kuXQT2!ow(;%FDE>16&3r){!ex zhf==oJ!}YU89C9@mfDq!P3S4yx$aGB?rbtVH?sHpg?J5C->!_FHM%Hl3#D4eplxzQ zRA+<@LD%LKSkTk2NyWCg7u=$%F#;SIL44~S_OGR}JqX}X+=bc@swpiClB`Zbz|f!4 z7Ysah7OkR8liXfI`}IIwtEoL}(URrGe;IM8%{>b1SsqXh)~w}P>yiFRaE>}rEnNkT z!HXZUtxUp1NmFm)Dm@-{FI^aRQqpSkz}ZSyKR%Y}YHNzBk)ZIp} zMtS=aMvkgWKm9&oTcU0?S|L~CDqA+sHpOxwnswF-fEG)cXCzUR?ps@tZa$=O)=L+5 zf%m58cq8g_o}3?Bhh+c!w4(7AjxwQ3>WnVi<{{38g7yFboo>q|+7qs<$8CPXUFAN< zG&}BHbbyQ5n|qqSr?U~GY{@GJ{(Jny{bMaOG{|IkUj7tj^9pa9|FB_<+KHLxSxR;@ zHpS$4V)PP+tx}22fWx(Ku9y+}Ap;VZqD0AZW4gCDTPCG=zgJmF{|x;(rvdM|2|9a}cex6xrMkERnkE;}jvU-kmzd%_J50$M`lIPCKf+^*zL=@LW`1SaEc%=m zQ+lT06Gw+wVwvQ9fZ~#qd430v2HndFsBa9WjD0P}K(rZYdAt^5WQIvb%D^Q|pkVE^ zte$&#~zmULFACGfS#g=2OLOnIf2Of-k!(BIHjs77nr!5Q1*I9 z1%?=~#Oss!rV~?-6Gm~BWJiA4mJ5TY&iPm_$)H1_rTltuU1F3I(qTQ^U$S>%$l z)Wx1}R?ij0idp@8w-p!Oz{&*W;v*IA;JFHA9%nUvVDy7Q8woheC#|8QuDZb-L_5@R zOqHwrh|mVL9b=+$nJxM`3eE{O$sCt$UK^2@L$R(r^-_+z?lOo+me-VW=Zw z-Bn>$4ovfWd%SPY`ab-u9{INc*k2h+yH%toDHIyqQ zO68=u`N}RIIs7lsn1D){)~%>ByF<>i@qFb<-axvu(Z+6t7v<^z&gm9McRB~BIaDn$ z#xSGT!rzgad8o>~kyj#h1?7g96tOcCJniQ+*#=b7wPio>|6a1Z?_(TS{)KrPe}(8j z!#&A=k(&Pj^F;r)CI=Z{LVu>uj!_W1q4b`N1}E(i%;BWjbEcnD=mv$FL$l?zS6bW!{$7j1GR5ocn94P2u{ z70tAAcpqtQo<@cXw~@i-@6B23;317|l~S>CB?hR5qJ%J3EFgyBdJd^fHZu7AzHF(BQ!tyAz^L0`X z23S4Fe{2X$W0$zu9gm%rg~A>ijaE#GlYlrF9$ds^QtaszE#4M(OLVP2O-;XdT(XIC zatwzF*)1c+t~c{L=fMG8Z=k5lv>U0;C{caN1NItnuSMp)6G3mbahu>E#sj&oy94KC zpH}8oEw{G@N3pvHhp{^-YaZeH;K+T_1AUv;IKD<=mv^&Ueegrb!yf`4VlRl$M?wsl zZyFol(2|_QM`e_2lYSABpKR{{NlxlDSYQNkS;J66aT#MSiTx~;tUmvs-b*CrR4w=f z8+0;*th6kfZ3|5!Icx3RV11sp=?`0Jy3Fs0N4GZQMN=8HmT6%x9@{Dza)k}UwL6JT zHRDh;%!XwXr6yuuy`4;Xsn0zlR$k%r%9abS1;_v?`HX_hI|+EibVnlyE@3aL5vhQq zlIG?tN^w@0(v9M*&L+{_+RQZw=o|&BRPGB>e5=ys7H`nc8nx)|-g;s7mRc7hg{GJC zAe^vCIJhajmm7C6g! zL&!WAQ~5d_5)00?w_*|*H>3$loHrvFbitw#WvLB!JASO?#5Ig5$Ys10n>e4|3d;tS zELJ0|R4n3Az(Fl3-r^QiV_C;)lQ1_CW{5bKS15U|E9?ZgLec@%kXr84>5jV2a5v=w z?pB1GPdxD$IQL4)G||B_lI+A=08MUFFR4MxfGOu07vfIm+j=z9tp~5i_6jb`tR>qV z$#`=BQ*jpCjm$F0+F)L%xRlnS%#&gro6PiRfu^l!EVan|r3y}AHJQOORGx4~ z&<)3=K-tx518DZyp%|!EqpU!+X3Et7n2AaC5(AtrkW>_57i}$eqs$rupubg0a1+WO zGHZKLN2L0D;ab%{_S1Plm|hx8R?O14*w*f&2&bB050n!R2by zw!@XOQx$SqZ5I<(Qu$V6g>o#A!JVwErWv#(Pjx=KeS0@hxr4?13zj#oWwPS(7Ro|v z>Mp@Kmxo79q|}!5qtX2-O@U&&@6s~!I&)1WQIl?lTnh6UdKT_1R640S4~f=_xoN3- zI+O)$R@RjV$F=>Ti7BlnG1-cFKCC(t|Qjm{SalS~V-tX#+2ekRhwmN zZr`8{QF6y~Z!D|{=1*2D-JUa<(1Z=;!Ei!KiRNH?o{p5o3crFF=_pX9O-YyJchr$~ zRC`+G+8kx~fD2k*ZIiiIGR<8r&M@3H?%JVOfE>)})7ScOd&?OjgAGT@WVNSCZ8N(p zuQG~76GE3%(%h1*vUXg$vH{ua0b`sQ4f0*y=u~lgyb^!#CcPJa2mkSEHGLsnO^kb$ zru5_l#nu=Y{rSMWiYx?nO{8I!gH+?wEj~UM?IrG}E|bRIBUM>UlY<`T1EHpRr36vv zBi&dG8oxS|J$!zoaq{+JpJy+O^W(nt*|#g32bd&K^w-t>!Vu9N!k9eA8r!Xc{utY> zg9aZ(D2E0gL#W0MdjwES-7~Wa8iubPrd?8-$C4BP?*wok&O8+ykOx{P=Izx+G~hM8 z*9?BYz!T8~dzcZr#ux8kS7u7r@A#DogBH8km8Ry4slyie^n|GrTbO|cLhpqgMdsjX zJ_LdmM#I&4LqqsOUIXK8gW;V0B(7^$y#h3h>J0k^WJfAMeYek%Y-Dcb_+0zPJez!GM zAmJ1u;*rK=FNM0Nf}Y!!P9c4)HIkMnq^b;JFd!S3?_Qi2G#LIQ)TF|iHl~WKK6JmK zbv7rPE6VkYr_%_BT}CK8h=?%pk@3cz(UrZ{@h40%XgThP*-Oeo`T0eq9 zA8BnWZKzCy5e&&_GEsU4*;_k}(8l_&al5K-V*BFM=O~;MgRkYsOs%9eOY6s6AtE*<7GQAR2ulC3RAJrG_P1iQK5Z~&B z&f8X<>yJV6)oDGIlS$Y*D^Rj(cszTy5c81a5IwBr`BtnC6_e`ArI8CaTX_%rx7;cn zR-0?J_LFg*?(#n~G8cXut(1nVF0Oka$A$1FGcERU<^ggx;p@CZc?3UB41RY+wLS`LWFNSs~YP zuw1@DNN3lTd|jDL7gjBsd9}wIw}4xT2+8dBQzI00m<@?c2L%>}QLfK5%r!a-iII`p zX@`VEUH)uj^$;7jVUYdADQ2k*!1O3WdfgF?OMtUXNpQ1}QINamBTKDuv19^{$`8A1 zeq%q*O0mi@(%sZU>Xdb0Ru96CFqk9-L3pzLVsMQ`Xpa~N6CR{9Rm2)A|CI21L(%GW zh&)Y$BNHa=FD+=mBw3{qTgw)j0b!Eahs!rZnpu)z!!E$*eXE~##yaXz`KE5(nQM`s zD!$vW9XH)iMxu9R>r$VlLk9oIR%HxpUiW=BK@4U)|1WNQ=mz9a z^!KkO=>GaJ!GBXm{KJj^;kh-MkUlEQ%lza`-G&}C5y1>La1sR6hT=d*NeCnuK%_LV zOXt$}iP6(YJKc9j-Fxq~*ItVUqljQ8?oaysB-EYtFQp9oxZ|5m0^Hq(qV!S+hq#g( z?|i*H2MIr^Kxgz+3vIljQ*Feejy6S4v~jKEPTF~Qhq!(ms5>NGtRgO5vfPPc4Z^AM zTj!`5xEreIN)vaNxa|q6qWdg>+T`Ol0Uz)ckXBXEGvPNEL3R8hB3=C5`@=SYgAju1 z!)UBr{2~=~xa{b8>x2@C7weRAEuatC)3pkRhT#pMPTpSbA|tan%U7NGMvzmF?c!V8 z=pEWxbdXbTAGtWTyI?Fml%lEr-^AE}w#l(<7OIw;ctw}imYax&vR4UYNJZK6P7ZOd zP87XfhnUHxCUHhM@b*NbTi#(-8|wcv%3BGNs#zRCVV(W?1Qj6^PPQa<{yaBwZ`+<`w|;rqUY_C z&AeyKwwf*q#OW-F()lir=T^<^wjK65Lif$puuU5+tk$;e_EJ;Lu+pH>=-8=PDhkBg z8cWt%@$Sc#C6F$Vd+0507;{OOyT7Hs%nKS88q-W!$f~9*WGBpHGgNp}=C*7!RiZ5s zn1L_DbKF@B8kwhDiLKRB@lsXVVLK|ph=w%_`#owlf@s@V(pa`GY$8h%;-#h@TsO|Y8V=n@*!Rog7<7Cid%apR|x zOjhHCyfbIt%+*PCveTEcuiDi%Wx;O;+K=W?OFUV%)%~6;gl?<0%)?snDDqIvkHF{ zyI02)+lI9ov42^hL>ZRrh*HhjF9B$A@=H94iaBESBF=eC_KT$8A@uB^6$~o?3Wm5t1OIaqF^~><2?4e3c&)@wKn9bD? zoeCs;H>b8DL^F&>Xw-xjZEUFFTv>JD^O#1E#)CMBaG4DX9bD(Wtc8Rzq}9soQ8`jf zeSnHOL}<+WVSKp4kkq&?SbETjq6yr@4%SAqOG=9E(3YeLG9dtV+8vmzq+6PFPk{L; z(&d++iu=^F%b+ea$i2UeTC{R*0Isk;vFK!no<;L+(`y`3&H-~VTdKROkdyowo1iqR zbVW(3`+(PQ2>TKY>N!jGmGo7oeoB8O|P_!Ic@ zZ^;3dnuXo;WJ?S+)%P>{Hcg!Jz#2SI(s&dY4QAy_vRlmOh)QHvs_7c&zkJCmJGVvV zX;Mtb>QE+xp`KyciG$Cn*0?AK%-a|=o!+7x&&yzHQOS>8=B*R=niSnta^Pxp1`=md z#;$pS$4WCT?mbiCYU?FcHGZ#)kHVJTTBt^%XE(Q};aaO=Zik0UgLcc0I(tUpt(>|& zcxB_|fxCF7>&~5eJ=Dpn&5Aj{A^cV^^}(7w#p;HG&Q)EaN~~EqrE1qKrMAc&WXIE;>@<&)5;gD2?={Xf@Mvn@OJKw=8Mgn z!JUFMwD+s==JpjhroT&d{$kQAy%+d`a*XxDEVxy3`NHzmITrE`o!;5ClXNPb4t*8P zzAivdr{j_v!=9!^?T3y?gzmqDWX6mkzhIzJ-3S{T5bcCFMr&RPDryMcdwbBuZbsgN zGrp@^i?rcfN7v0NKGzDPGE#4yszxu=I_`MI%Z|10nFjU-UjQXXA?k8Pk|OE<(?ae) zE%vG#eZAlj*E7_3dx#Zz4kMLj>H^;}33UAankJiDy5ZvEhrjr`!9eMD8COp}U*hP+ zF}KIYx@pkccIgyxFm#LNw~G&`;o&5)2`5aogs`1~7cMZQ7zj!%L4E`2yzlQN6REX20&O<9 zKV6fyr)TScJPPzNTC2gL+0x#=u>(({{D7j)c-%tvqls3#Y?Z1m zV5WUE)zdJ{$p>yX;^P!UcXP?UD~YM;IRa#Rs5~l+*$&nO(;Ers`G=0D!twR(0GF@c zHl9E5DQI}Oz74n zfKP>&$q0($T4y$6w(p=ERAFh+>n%iaeRA%!T%<^+pg?M)@ucY<&59$x9M#n+V&>}=nO9wCV{O~lg&v#+jcUj(tQ z`0u1YH)-`U$15a{pBkGyPL0THv1P|4e@pf@3IBZS4dVJPo#H>pWq%Lr0YS-SeWash z8R7=jb28KPMI|_lo#GEO|5B?N_e``H*23{~a!AmUJ+fb4HX-%QI@lSEUxKlGV7z7Q zSKw@-TR>@1RL%w{x}dW#k1NgW+q4yt2Xf1J62Bx*O^WG8OJ|FqI4&@d3_o8Id@*)4 zYrk=>@!wv~mh7YWv*bZhxqSmFh2Xq)o=m;%n$I?GSz49l1$xRpPu_^N(vZ>*>Z<04 z2+rP70oM=NDysd!@fQdM2OcyT?3T^Eb@lIC-UG=Bw{BjQ&P`KCv$AcJ;?`vdZ4){d z&gkoUK{$!$$K`3*O-jyM1~p-7T*qb)Ys>Myt^;#1&a%O@x8A+E>! zY8=eD`ZG)LVagDLBeHg>=atOG?Kr%h4B%E6m@J^C+U|y)XX@f z8oyJDW|9g=<#f<{JRr{y#~euMnv)`7j=%cHWLc}ngjq~7k**6%4u>Px&W%4D94(r* z+akunK}O0DC2A%Xo9jyF;DobX?!1I(7%}@7F>i%&nk*LMO)bMGg2N+1iqtg+r(70q zF5{Msgsm5GS7DT`kBsjMvOrkx&|EU!{{~gL4d2MWrAT=KBQ-^zQCUq{5PD1orxlIL zq;CvlWx#f1NWvh`hg011I%?T_s!e38l*lWVt|~z-PO4~~1g)SrJ|>*tXh=QfXT)%( z+ex+inPvD&O4Ur;JGz>$sUOnWdpSLcm1X%aQDw4{dB!cnj`^muI$CJ2%p&-kULVCE z>$eMR36kN$wCPR+OFDM3-U(VOrp9k3)lI&YVFqd;Kpz~K)@Fa&FRw}L(SoD z9B4a+hQzZT-BnVltst&=kq6Y(f^S4hIGNKYBgMxGJ^;2yrO}P3;r)(-I-CZ)26Y6? z&rzHI_1GCvGkgy-t1E;r^3Le30|%$ebDRu2+gdLG)r=A~Qz`}~&L@aGJ{}vVs_GE* zVUjFnzHiXfKQbpv&bR&}l2bzIjAooB)=-XNcYmrGmBh(&iu@o!^hn0^#}m2yZZUK8 zufVm7Gq0y`Mj;9b>`c?&PZkU0j4>IL=UL&-Lp3j&47B5pAW4JceG{!XCA)kT<%2nqCxj<)uy6XR_uws~>_MEKPOpAQ!H zkn>FKh)<9DwwS*|Y(q?$^N!6(51O0 z^JM~Ax{AI1Oj$fs-S5d4T7Z_i1?{%0SsIuQ&r8#(JA=2iLcTN+?>wOL532%&dMYkT z*T5xepC+V6zxhS@vNbMoi|i)=rpli@R9~P!39tWbSSb904ekv7D#quKbgFEMTb48P zuq(VJ+&L8aWU(_FCD$3^uD!YM%O^K(dvy~Wm2hUuh6bD|#(I39Xt>N1Y{ZqXL`Fg6 zKQ?T2htHN!(Bx;tV2bfTtIj7e)liN-29s1kew>v(D^@)#v;}C4-G=7x#;-dM4yRWm zyY`cS21ulzMK{PoaQ6xChEZ}o_#}X-o}<&0)$1#3we?+QeLt;aVCjeA)hn!}UaKt< zat1fHEx13y-rXNMvpUUmCVzocPmN~-Y4(YJvQ#db)4|%B!rBsgAe+*yor~}FrNH08 z3V!97S}D7d$zbSD{$z;@IYMxM6aHdypIuS*pr_U6;#Y!_?0i|&yU*@16l z*dcMqDQgfNBf}?quiu4e>H)yTVfsp#f+Du0@=Kc41QockXkCkvu>FBd6Q+@FL!(Yx z2`YuX#eMEiLEDhp+9uFqME_E^faV&~9qjBHJkIp~%$x^bN=N)K@kvSVEMdDuzA0sn z88CBG?`RX1@#hQNd`o^V{37)!w|nA)QfiYBE^m=yQKv-fQF+UCMcuEe1d4BH7$?>b zJl-r9@0^Ie=)guO1vOd=i$_4sz>y3x^R7n4ED!5oXL3@5**h(xr%Hv)_gILarO46q+MaDOF%ChaymKoI6JU5Pg;7#2n9-18|S1;AK+ zgsn6;k6-%!QD>D?cFy}8F;r@z8H9xN1jsOBw2vQONVqBVEbkiNUqgw~*!^##ht>w0 zUOykwH=$LwX2j&nLy=@{hr)2O&-wm-NyjW7n~Zs9UlH;P7iP3 zI}S(r0YFVYacnKH(+{*)Tbw)@;6>%=&Th=+Z6NHo_tR|JCI8TJiXv2N7ei7M^Q+RM z?9o`meH$5Yi;@9XaNR#jIK^&{N|DYNNbtdb)XW1Lv2k{E>;?F`#Pq|&_;gm~&~Zc9 zf+6ZE%{x4|{YdtE?a^gKyzr}dA>OxQv+pq|@IXL%WS0CiX!V zm$fCePA%lU{%pTKD7|5NJHeXg=I0jL@$tOF@K*MI$)f?om)D63K*M|r`gb9edD1~Y zc|w7N)Y%do7=0{RC|AziW7#am$)9jciRJ?IWl9PE{G3U+$%FcyKs_0Cgq`=K3@ttV z9g;M!3z~f_?P%y3-ph%vBMeS@p7P&Ea8M@97+%XEj*(1E6vHj==d zjsoviB>j^$_^OI_DEPvFkVo(BGRo%cJeD){6Uckei=~1}>sp299|IRjhXe)%?uP0I zF5+>?0#Ye}T^Y$u_rc4=lPcq4K^D(TZG-w30-YiEM=dcK+4#o*>lJ8&JLi+3UcpZk z!^?95S^C0ja^jwP`|{<+3cBVog$(mRdQmadS+Vh~z zS@|P}=|z3P6uS+&@QsMp0no9Od&27O&14zHXGAOEy zh~OKpymK5C%;LLb467@KgIiVwYbYd6wFxI{0-~MOGfTq$nBTB!{SrWmL9Hs}C&l&l#m?s*{tA?BHS4mVKHAVMqm63H<|c5n0~k)-kbg zXidai&9ZUy0~WFYYKT;oe~rytRk?)r8bptITsWj(@HLI;@=v5|XUnSls7$uaxFRL+ zRVMGuL3w}NbV1`^=Pw*0?>bm8+xfeY(1PikW*PB>>Tq(FR`91N0c2&>lL2sZo5=VD zQY{>7dh_TX98L2)n{2OV=T10~*YzX27i2Q7W86M4$?gZIXZaBq#sA*{PH8){|GUi;oM>e?ua7eF4WFuFYZSG| zze?srg|5Ti8Og{O zeFxuw9!U+zhyk?@w zjsA6(oKD=Ka;A>Ca)oPORxK+kxH#O@zhC!!XS4@=swnuMk>t+JmLmFiE^1aX3f<)D@`%K0FGK^gg1a1j>zi z2KhV>sjU7AX3F$SEqrXSC}fRx64GDoc%!u2Yag68Lw@w9v;xOONf@o)Lc|Uh3<21ctTYu-mFZuHk*+R{GjXHIGq3p)tFtQp%TYqD=j1&y)>@zxoxUJ!G@ zgI0XKmP6MNzw>nRxK$-Gbzs}dyfFzt>#5;f6oR27ql!%+{tr+(`(>%51|k`ML} zY4eE)Lxq|JMas(;JibNQds1bUB&r}ydMQXBY4x(^&fY_&LlQC)3hylc$~8&~|06-D z#T+%66rYbHX%^KuqJED_wuGB+=h`nWA!>1n0)3wZrBG3%`b^Ozv6__dNa@%V14|!D zQ?o$z5u0^8`giv%qE!BzZ!3j;BlDlJDk)h@9{nSQeEk!z9RGW) z${RSF3phEM*ce*>Xdp}585vj$|40=&S{S-GTiE?Op*vY&Lvr9}BO$XWy80IF+6@%n z5*2ueT_g@ofP#u5pxb7n*fv^Xtt7&?SRc{*2Ka-*!BuOpf}neHGCiHy$@Ka1^Dint z;DkmIL$-e)rj4o2WQV%Gy;Xg(_Bh#qeOsTM2f@KEe~4kJ8kNLQ+;(!j^bgJMcNhvklP5Z6I+9Fq@c&D~8Fb-4rmDT!MB5QC{Dsb;BharP*O;SF4& zc$wj-7Oep7#$WZN!1nznc@Vb<_Dn%ga-O#J(l=OGB`dy=Sy&$(5-n3zzu%d7E#^8`T@}V+5B;PP8J14#4cCPw-SQTdGa2gWL0*zKM z#DfSXs_iWOMt)0*+Y>Lkd=LlyoHjublNLefhKBv@JoC>P7N1_#> zv=mLWe96%EY;!ZGSQDbZWb#;tzqAGgx~uk+-$+2_8U`!ypbwXl z^2E-FkM1?lY@yt8=J3%QK+xaZ6ok=-y%=KXCD^0r!5vUneW>95PzCkOPO*t}p$;-> ze5j-BLT_;)cZQzR2CEsm@rU7GZfFtdp*a|g4wDr%8?2QkIGasRfDWT-Dvy*U{?IHT z*}wGnzdlSptl#ZF^sf)KT|BJs&kLG91^A6ls{CzFprZ6-Y!V0Xysh%9p%iMd7HLsS zN+^Un$tDV)T@i!v?3o0Fsx2qI(AX_$dDkBzQ@fRM%n zRXk6hb9Py#JXUs+7)w@eo;g%QQ95Yq!K_d=z{0dGS+pToEI6=Bo8+{k$7&Z zo4>PH(`ce8E-Ps&uv`NQ;U$%t;w~|@E3WVOCi~R4oj5wP?%<*1C%}Jq%a^q~T7u>K zML5AKfQDv6>PuT`{SrKHRAF+^&edg6+5R_#H?Lz3iGoWo#PCEd0DS;)2U({{X#zU^ zw_xv{4x7|t!S)>44J;KfA|DC?;uQ($l+5Vp7oeqf7{GBF9356nx|&B~gs+@N^gSdd zvb*>&W)|u#F{Z_b`f#GVtQ`pYv3#||N{xj1NgB<#=Odt6{eB%#9RLt5v zIi|0u70`#ai}9fJjKv7dE!9ZrOIX!3{$z_K5FBd-Kp-&e4(J$LD-)NMTp^_pB`RT; zftVVlK2g@+1Ahv2$D){@Y#cL#dUj9*&%#6 zd2m9{1NYp>)6=oAvqdCn5#cx{AJ%S8skUgMglu2*IAtd+z1>B&`MuEAS(D(<6X#Lj z?f4CFx$)M&$=7*>9v1ER4b6!SIz-m0e{o0BfkySREchp?WdVPpQCh!q$t>?rL!&Jg zd#heM;&~A}VEm8Dvy&P|J*eAV&w!&Nx6HFV&B8jJFVTmgLaswn!cx$&%JbTsloz!3 zMEz1d`k==`Ueub_JAy_&`!ogbwx27^ZXgFNAbx=g_I~5nO^r)}&myw~+yY*cJl4$I znNJ32M&K=0(2Dj_>@39`3=FX!v3nZHno_@q^!y}%(yw0PqOo=);6Y@&ylVe>nMOZ~ zd>j#QQSBn3oaWd;qy$&5(5H$Ayi)0haAYO6TH>FR?rhqHmNOO+(})NB zLI@B@v0)eq!ug`>G<@htRlp3n!EpU|n+G+AvXFrWSUsLMBfL*ZB`CRsIVHNTR&b?K zxBgsN0BjfB>UVcJ|x%=-zb%OV7lmZc& zxiupadZVF7)6QuhoY;;FK2b*qL0J-Rn-8!X4ZY$-ZSUXV5DFd7`T41c(#lAeLMoeT z4%g655v@7AqT!i@)Edt5JMbN(=Q-6{=L4iG8RA%}w;&pKmtWvI4?G9pVRp|RTw`g0 zD5c12B&A2&P6Ng~8WM2eIW=wxd?r7A*N+&!Be7PX3s|7~z=APxm=A?5 zt>xB4WG|*Td@VX{Rs)PV0|yK`oI3^xn(4c_j&vgxk_Y3o(-`_5o`V zRTghg6%l@(qodXN;dB#+OKJEEvhfcnc#BeO2|E(5df-!fKDZ!%9!^BJ_4)9P+9Dq5 zK1=(v?KmIp34r?z{NEWnLB3Px{XYwy-akun4F7xTRr2^zeYW{gcK9)>aJDdU5;w5@ zak=<+-PLH-|04pelTb%ULpuuuJC7DgyT@D|p{!V!0v3KpDnRjANN12q6SUR3mb9<- z>2r~IApQGhstZ!3*?5V z8#)hJ0TdZg0M-BK#nGFP>$i=qk82DO z7h;Ft!D5E15OgW)&%lej*?^1~2=*Z5$2VX>V{x8SC+{i10BbtUk9@I#Vi&hX)q

    Q!LwySI{Bnv%Sm)yh{^sSVJ8&h_D-BJ_YZe5eCaAWU9b$O2c z$T|{vWVRtOL!xC0DTc(Qbe`ItNtt5hr<)VijD0{U;T#bUEp381_y`%ZIav?kuYG{iyYdEBPW=*xNSc;Rlt6~F4M`5G+VtOjc z*0qGzCb@gME5udTjJA-9O<&TWd~}ysBd(eVT1-H82-doyH9RST)|+Pb{o*;$j9Tjs zhU!IlsPsj8=(x3bAKJTopW3^6AKROHR^7wZ185wJGVhA~hEc|LP;k7NEz-@4p5o}F z`AD6naG3(n=NF9HTH81=F+Q|JOz$7wm9I<+#BSmB@o_cLt2GkW9|?7mM;r!JZp89l zbo!Hp8=n!XH1{GwaDU+k)pGp`C|cXkCU5%vcH)+v@0eK>%7gWxmuMu9YLlChA|_D@ zi#5zovN_!a-0?~pUV-Rj*1P)KwdU-LguR>YM&*Nen+ln8Q$?WFCJg%DY%K}2!!1FE zDv-A%Cbwo^p(lzac&_TZ-l#9kq`mhLcY3h9ZTUVCM(Ad&=EriQY5{jJv<5K&g|*Lk zgV%ILnf1%8V2B0E&;Sp4sYbYOvvMebLwYwzkRQ#F8GpTQq#uv=J`uaSJ34OWITeSGo6+-8Xw znCk*n{kdDEi)Hi&u^)~cs@iyCkFWB2SWZU|Uc%^43ZIZQ-vWNExCCtDWjqHs;;tWf$v{}0{p0Rvxkq``)*>+Akq%|Na zA`@~-Vfe|+(AIlqru+7Ceh4nsVmO9p9jc8}HX^W&ViBDXT+uXbT#R#idPn&L>+#b6 zflC-4C5-X;kUnR~L>PSLh*gvL68}RBsu#2l`s_9KjUWRhiqF`j)`y`2`YU(>3bdBj z?>iyjEhe-~$^I5!nn%B6Wh+I`FvLNvauve~eX<+Ipl&04 zT}};W&1a3%W?dJ2=N#0t?e+aK+%t}5q%jSLvp3jZ%?&F}nOOWr>+{GFIa%wO_2`et z=JzoRR~}iKuuR+azPI8;Gf9)z3kyA4EIOSl!sRR$DlW}0>&?GbgPojmjmnln;cTqCt=ADbE zZ8GAnoM+S1(5$i8^O4t`ue;vO4i}z0wz-QEIVe5_u03;}-!G1NyY8;h^}y;tzY}i5 zqQr#Ur3Fy8sSa$Q0ys+f`!`+>9WbvU_I`Sj;$4{S>O3?#inLHCrtLy~!s#WXV=oVP zeE93*Nc`PBi4q@%Ao$x4lw9vLHM!6mn3-b_cebF|n-2vt-zYVF_&sDE--J-P;2WHo z+@n2areE0o$LjvjlV2X7ZU@j+`{*8zq`JR3gKF#EW|#+{nMyo-a>nFFTg&vhyT=b} zDa8+v0(Dgx0yRL@ZXOYIlVSZ0|MFizy0VPW8;AfA5|pe!#j zX}Py^8fl5SyS4g1WSKKtnyP+_PoOwMMwu`(i@Z)diJp~U54*-miOchy7Z35eL>^M z4p<-aIxH4VUZgS783@H%M7P9hX>t{|RU7$n4T(brCG#h9e9p! z+o`i;EGGq3&pF;~5V~eBD}lC)>if$w%Vf}AFxGqO88|ApfHf&Bvu+xdG)@vuF}Yvk z)o;~k-%+0K0g+L`Wala!$=ZV|z$e%>f0%XoLib%)!R^RoS+{!#X?h-6uu zF&&KxORdZU&EwQFITIRLo(7TA3W}y6X{?Y%y2j0It!ekU#<)$qghZtpcS>L3uh`Uj z7GY;6f$9qKynP#oS3$$a{p^{D+0oJQ71`1?OAn_m8)UGZmj3l*ZI)`V-a>MKGGFG< z&^jg#Ok%(hhm>hSrZ5;Qga4u(?^i>GiW_j9%_7M>j(^|Om$#{k+^*ULnEgzW_1gCICtAD^WpC`A z{9&DXkG#01Xo)U$OC(L5Y$DQ|Q4C6CjUKk1UkPj$nXH##J{c8e#K|&{mA*;b$r0E4 zUNo0jthwA(c&N1l=PEe8Rw_8cEl|-eya9z&H3#n`B$t#+aJ03RFMzrV@gowbe8v(c zIFM60^0&lCFO10NU4w@|61xiZ4CVXeaKjd;d?sv52XM*lS8XiVjgWpRB;&U_C0g+`6B5V&w|O6B*_q zsATxL!M}+$He)1eOWECce#eS@2n^xhlB4<_Nn?yCVEQWDs(r`|@2GqLe<#(|&P0U? z$7V5IgpWf09uIf_RazRwC?qEqRaHyL?iiS05UiGesJy%^>-C{{ypTBI&B0-iUYhk> zIk<5xpsuV@g|z(AZD+C-;A!fTG=df1=<%nxy(a(IS+U{ME4ZbDEBtcD_3V=icT6*_ z)>|J?>&6%nvHhZERBtjK+s4xnut*@>GAmA5m*OTp$!^CHTr}vM4n(X1Q*;{e-Rd2BCF-u@1ZGm z!S8hJ6L=Gl4T_SDa7Xx|-{4mxveJg=ctf`BJ*fy!yF6Dz&?w(Q_6B}WQVtNI!BVBC zKfX<>7vd6C96}XAQmF-Jd?1Q4eTfRB3q7hCh0f!(JkdWT5<{iAE#dKy*Jxq&3a1@~ z8C||Dn2mFNyrUV|<-)C^_y7@8c2Fz+2jrae9deBDu;U}tJ{^xAdxCD248(k;dCJ%o z`y3sADe>U%suxwwv~8A1+R$VB=Q?%U?4joI$um;aH+eCrBqpn- z%79D_7rb;R-;-9RTrwi9dPlg8&@tfWhhZ(Vx&1PQ+6(huX`;M9x~LrW~~#3{j0Bh2kDU$}@!fFQej4VGkJv?M4rU^x!RU zEwhu$!CA_iDjFjrJa`aocySDX16?~;+wgav;}Zut6Mg%C4>}8FL?8)Kgwc(Qlj{@#2Pt0?G`$h7P#M+qoXtlV@d}%c&OzO+QYKK`kyXaK{U(O^2DyIXCZlNQjt0^8~8JzNGrIxhj}}M z&~QZlbx%t;MJ(Vux;2tgNKGlAqphLq%pd}JG9uoVHUo?|hN{pLQ6Em%r*+7t^<);X zm~6=qChlNAVXNN*Sow->*4;}T;l;D1I-5T{Bif@4_}=>l`tK;qqDdt5zvisCKhMAH z#r}`)7VW?LZqfdmXQ%zo5bJ00{Xb9^YKrk0Nf|oIW*K@(=`o2Vndz}ZDyk{!u}PVx zzd--+_WC*U{~DH3{?GI64IB+@On&@9X>EUAo&L+G{L^dozaI4C3G#2wr~hseW@K&g zKWs{uHu-9Je!3;4pE>eBltKUXb^*hG8I&413)$J&{D4N%7PcloU6bn%jPxJyQL?g* z9g+YFFEDiE`8rW^laCNzQmi7CTnPfwyg3VDHRAl>h=In6jeaVOP@!-CP60j3+#vpL zEYmh_oP0{-gTe7Or`L6x)6w?77QVi~jD8lWN@3RHcm80iV%M1A!+Y6iHM)05iC64tb$X2lV_%Txk@0l^hZqi^%Z?#- zE;LE0uFx)R08_S-#(wC=dS&}vj6P4>5ZWjhthP=*Hht&TdLtKDR;rXEX4*z0h74FA zMCINqrh3Vq;s%3MC1YL`{WjIAPkVL#3rj^9Pj9Ss7>7duy!9H0vYF%>1jh)EPqvlr6h%R%CxDsk| z!BACz7E%j?bm=pH6Eaw{+suniuY7C9Ut~1cWfOX9KW9=H><&kQlinPV3h9R>3nJvK z4L9(DRM=x;R&d#a@oFY7mB|m8h4692U5eYfcw|QKwqRsshN(q^v$4$)HgPpAJDJ`I zkqjq(8Cd!K!+wCd=d@w%~e$=gdUgD&wj$LQ1r>-E=O@c ze+Z$x{>6(JA-fNVr)X;*)40Eym1TtUZI1Pwwx1hUi+G1Jlk~vCYeXMNYtr)1?qwyg zsX_e*$h?380O00ou?0R@7-Fc59o$UvyVs4cUbujHUA>sH!}L54>`e` zHUx#Q+Hn&Og#YVOuo*niy*GU3rH;%f``nk#NN5-xrZ34NeH$l`4@t);4(+0|Z#I>Y z)~Kzs#exIAaf--65L0UHT_SvV8O2WYeD>Mq^Y6L!Xu8%vnpofG@w!}R7M28?i1*T&zp3X4^OMCY6(Dg<-! zXmcGQrRgHXGYre7GfTJ)rhl|rs%abKT_Nt24_Q``XH{88NVPW+`x4ZdrMuO0iZ0g` z%p}y};~T5gbb9SeL8BSc`SO#ixC$@QhXxZ=B}L`tP}&k?1oSPS=4%{UOHe0<_XWln zwbl5cn(j-qK`)vGHY5B5C|QZd5)W7c@{bNVXqJ!!n$^ufc?N9C-BF2QK1(kv++h!>$QbAjq)_b$$PcJdV+F7hz0Hu@ zqj+}m0qn{t^tD3DfBb~0B36|Q`bs*xs|$i^G4uNUEBl4g;op-;Wl~iThgga?+dL7s zUP(8lMO?g{GcYpDS{NM!UA8Hco?#}eNEioRBHy4`mq!Pd-9@-97|k$hpEX>xoX+dY zDr$wfm^P&}Wu{!%?)U_(%Mn79$(ywvu*kJ9r4u|MyYLI_67U7%6Gd_vb##Nerf@>& z8W11z$$~xEZt$dPG}+*IZky+os5Ju2eRi;1=rUEeIn>t-AzC_IGM-IXWK3^6QNU+2pe=MBn4I*R@A%-iLDCOHTE-O^wo$sL_h{dcPl=^muAQb`_BRm};=cy{qSkui;`WSsj9%c^+bIDQ z0`_?KX0<-=o!t{u(Ln)v>%VGL z0pC=GB7*AQ?N7N{ut*a%MH-tdtNmNC+Yf$|KS)BW(gQJ*z$d{+{j?(e&hgTy^2|AR9vx1Xre2fagGv0YXWqtNkg*v%40v?BJBt|f9wX5 z{QTlCM}b-0{mV?IG>TW_BdviUKhtosrBqdfq&Frdz>cF~yK{P@(w{Vr7z2qKFwLhc zQuogKO@~YwyS9%+d-zD7mJG~@?EFJLSn!a&mhE5$_4xBl&6QHMzL?CdzEnC~C3$X@ zvY!{_GR06ep5;<#cKCSJ%srxX=+pn?ywDwtJ2{TV;0DKBO2t++B(tIO4)Wh`rD13P z4fE$#%zkd=UzOB74gi=-*CuID&Z3zI^-`4U^S?dHxK8fP*;fE|a(KYMgMUo`THIS1f!*6dOI2 zFjC3O=-AL`6=9pp;`CYPTdVX z8(*?V&%QoipuH0>WKlL8A*zTKckD!paN@~hh zmXzm~qZhMGVdQGd=AG8&20HW0RGV8X{$9LldFZYm zE?}`Q3i?xJRz43S?VFMmqRyvWaS#(~Lempg9nTM$EFDP(Gzx#$r)W&lpFKqcAoJh-AxEw$-bjW>`_+gEi z2w`99#UbFZGiQjS8kj~@PGqpsPX`T{YOj`CaEqTFag;$jY z8_{Wzz>HXx&G*Dx<5skhpETxIdhKH?DtY@b9l8$l?UkM#J-Snmts7bd7xayKTFJ(u zyAT&@6cAYcs{PBfpqZa%sxhJ5nSZBPji?Zlf&}#L?t)vC4X5VLp%~fz2Sx<*oN<7` z?ge=k<=X7r<~F7Tvp9#HB{!mA!QWBOf%EiSJ6KIF8QZNjg&x~-%e*tflL(ji_S^sO ztmib1rp09uon}RcsFi#k)oLs@$?vs(i>5k3YN%$T(5Or(TZ5JW9mA6mIMD08=749$ z!d+l*iu{Il7^Yu}H;lgw=En1sJpCKPSqTCHy4(f&NPelr31^*l%KHq^QE>z>Ks_bH zjbD?({~8Din7IvZeJ>8Ey=e;I?thpzD=zE5UHeO|neioJwG;IyLk?xOz(yO&0DTU~ z^#)xcs|s>Flgmp;SmYJ4g(|HMu3v7#;c*Aa8iF#UZo7CvDq4>8#qLJ|YdZ!AsH%^_7N1IQjCro

    K7UpUK$>l@ zw`1S}(D?mUXu_C{wupRS-jiX~w=Uqqhf|Vb3Cm9L=T+w91Cu^ z*&Ty%sN?x*h~mJc4g~k{xD4ZmF%FXZNC;oVDwLZ_WvrnzY|{v8hc1nmx4^}Z;yriXsAf+Lp+OFLbR!&Ox?xABwl zu8w&|5pCxmu#$?Cv2_-Vghl2LZ6m7}VLEfR5o2Ou$x02uA-%QB2$c(c1rH3R9hesc zfpn#oqpbKuVsdfV#cv@5pV4^f_!WS+F>SV6N0JQ9E!T90EX((_{bSSFv9ld%I0&}9 zH&Jd4MEX1e0iqDtq~h?DBrxQX1iI0lIs<|kB$Yrh&cpeK0-^K%=FBsCBT46@h#yi!AyDq1V(#V}^;{{V*@T4WJ&U-NTq43w=|K>z8%pr_nC>%C(Wa_l78Ufib$r8Od)IIN=u>417 z`Hl{9A$mI5A(;+-Q&$F&h-@;NR>Z<2U;Y21>>Z;s@0V@SbkMQQj%_;~+qTuQ?c|AV zcWm3XZQHhP&R%QWarS%mJ!9R^&!_)*s(v+VR@I#QrAT}`17Y+l<`b-nvmDNW`De%y zrwTZ9EJrj1AFA>B`1jYDow}~*dfPs}IZMO3=a{Fy#IOILc8F0;JS4x(k-NSpbN@qM z`@aE_e}5{!$v3+qVs7u?sOV(y@1Os*Fgu`fCW9=G@F_#VQ%xf$hj0~wnnP0$hFI+@ zkQj~v#V>xn)u??YutKsX>pxKCl^p!C-o?+9;!Nug^ z{rP!|+KsP5%uF;ZCa5F;O^9TGac=M|=V z_H(PfkV1rz4jl?gJ(ArXMyWT4y(86d3`$iI4^l9`vLdZkzpznSd5Ikfrs8qcSy&>z zTIZgWZGXw0n9ibQxYWE@gI0(3#KA-dAdPcsL_|hg2@~C!VZDM}5;v_Nykfq!*@*Zf zE_wVgx82GMDryKO{U{D>vSzSc%B~|cjDQrt5BN=Ugpsf8H8f1lR4SGo#hCuXPL;QQ z#~b?C4MoepT3X`qdW2dNn& zo8)K}%Lpu>0tQei+{>*VGErz|qjbK#9 zvtd8rcHplw%YyQCKR{kyo6fgg!)6tHUYT(L>B7er5)41iG`j$qe*kSh$fY!PehLcD zWeKZHn<492B34*JUQh=CY1R~jT9Jt=k=jCU2=SL&&y5QI2uAG2?L8qd2U(^AW#{(x zThSy=C#>k+QMo^7caQcpU?Qn}j-`s?1vXuzG#j8(A+RUAY})F@=r&F(8nI&HspAy4 z4>(M>hI9c7?DCW8rw6|23?qQMSq?*Vx?v30U%luBo)B-k2mkL)Ljk5xUha3pK>EEj z@(;tH|M@xkuN?gsz;*bygizwYR!6=(Xgcg^>WlGtRYCozY<rFX2E>kaZo)O<^J7a`MX8Pf`gBd4vrtD|qKn&B)C&wp0O-x*@-|m*0egT=-t@%dD zgP2D+#WPptnc;_ugD6%zN}Z+X4=c61XNLb7L1gWd8;NHrBXwJ7s0ce#lWnnFUMTR& z1_R9Fin4!d17d4jpKcfh?MKRxxQk$@)*hradH2$3)nyXep5Z;B z?yX+-Bd=TqO2!11?MDtG0n(*T^!CIiF@ZQymqq1wPM_X$Iu9-P=^}v7npvvPBu!d$ z7K?@CsA8H38+zjA@{;{kG)#AHME>Ix<711_iQ@WWMObXyVO)a&^qE1GqpP47Q|_AG zP`(AD&r!V^MXQ^e+*n5~Lp9!B+#y3#f8J^5!iC@3Y@P`;FoUH{G*pj*q7MVV)29+j z>BC`a|1@U_v%%o9VH_HsSnM`jZ-&CDvbiqDg)tQEnV>b%Ptm)T|1?TrpIl)Y$LnG_ zzKi5j2Fx^K^PG1=*?GhK;$(UCF-tM~^=Z*+Wp{FSuy7iHt9#4n(sUuHK??@v+6*|10Csdnyg9hAsC5_OrSL;jVkLlf zHXIPukLqbhs~-*oa^gqgvtpgTk_7GypwH><53riYYL*M=Q@F-yEPLqQ&1Sc zZB%w}T~RO|#jFjMWcKMZccxm-SL)s_ig?OC?y_~gLFj{n8D$J_Kw%{r0oB8?@dWzn zB528d-wUBQzrrSSLq?fR!K%59Zv9J4yCQhhDGwhptpA5O5U?Hjqt>8nOD zi{)0CI|&Gu%zunGI*XFZh(ix)q${jT8wnnzbBMPYVJc4HX*9d^mz|21$=R$J$(y7V zo0dxdbX3N#=F$zjstTf*t8vL)2*{XH!+<2IJ1VVFa67|{?LP&P41h$2i2;?N~RA30LV`BsUcj zfO9#Pg1$t}7zpv#&)8`mis3~o+P(DxOMgz-V*(?wWaxi?R=NhtW}<#^Z?(BhSwyar zG|A#Q7wh4OfK<|DAcl9THc-W4*>J4nTevsD%dkj`U~wSUCh15?_N@uMdF^Kw+{agk zJ`im^wDqj`Ev)W3k3stasP`88-M0ZBs7;B6{-tSm3>I@_e-QfT?7|n0D~0RRqDb^G zyHb=is;IwuQ&ITzL4KsP@Z`b$d%B0Wuhioo1CWttW8yhsER1ZUZzA{F*K=wmi-sb#Ju+j z-l@In^IKnb{bQG}Ps>+Vu_W#grNKNGto+yjA)?>0?~X`4I3T@5G1)RqGUZuP^NJCq&^HykuYtMDD8qq+l8RcZNJsvN(10{ zQ1$XcGt}QH-U^WU!-wRR1d--{B$%vY{JLWIV%P4-KQuxxDeJaF#{eu&&r!3Qu{w}0f--8^H|KwE>)ORrcR+2Qf zb})DRcH>k0zWK8@{RX}NYvTF;E~phK{+F;MkIP$)T$93Ba2R2TvKc>`D??#mv9wg$ zd~|-`Qx5LwwsZ2hb*Rt4S9dsF%Cny5<1fscy~)d;0m2r$f=83<->c~!GNyb!U)PA; zq^!`@@)UaG)Ew(9V?5ZBq#c%dCWZrplmuM`o~TyHjAIMh0*#1{B>K4po-dx$Tk-Cq z=WZDkP5x2W&Os`N8KiYHRH#UY*n|nvd(U>yO=MFI-2BEp?x@=N<~CbLJBf6P)}vLS?xJXYJ2^<3KJUdrwKnJnTp{ zjIi|R=L7rn9b*D#Xxr4*R<3T5AuOS+#U8hNlfo&^9JO{VbH!v9^JbK=TCGR-5EWR@ zN8T-_I|&@A}(hKeL4_*eb!1G8p~&_Im8|wc>Cdir+gg90n1dw?QaXcx6Op_W1r=axRw>4;rM*UOpT#Eb9xU1IiWo@h?|5uP zka>-XW0Ikp@dIe;MN8B01a7+5V@h3WN{J=HJ*pe0uwQ3S&MyWFni47X32Q7SyCTNQ z+sR!_9IZa5!>f&V$`q!%H8ci!a|RMx5}5MA_kr+bhtQy{-^)(hCVa@I!^TV4RBi zAFa!Nsi3y37I5EK;0cqu|9MRj<^r&h1lF}u0KpKQD^5Y+LvFEwM zLU@@v4_Na#Axy6tn3P%sD^5P#<7F;sd$f4a7LBMk zGU^RZHBcxSA%kCx*eH&wgA?Qwazm8>9SCSz_!;MqY-QX<1@p$*T8lc?@`ikEqJ>#w zcG``^CoFMAhdEXT9qt47g0IZkaU)4R7wkGs^Ax}usqJ5HfDYAV$!=6?>J6+Ha1I<5 z|6=9soU4>E))tW$<#>F ziZ$6>KJf0bPfbx_)7-}tMINlc=}|H+$uX)mhC6-Hz+XZxsKd^b?RFB6et}O#+>Wmw9Ec9) z{q}XFWp{3@qmyK*Jvzpyqv57LIR;hPXKsrh{G?&dRjF%Zt5&m20Ll?OyfUYC3WRn{cgQ?^V~UAv+5 z&_m#&nIwffgX1*Z2#5^Kl4DbE#NrD&Hi4|7SPqZ}(>_+JMz=s|k77aEL}<=0Zfb)a z%F(*L3zCA<=xO)2U3B|pcTqDbBoFp>QyAEU(jMu8(jLA61-H!ucI804+B!$E^cQQa z)_ERrW3g!B9iLb3nn3dlkvD7KsY?sRvls3QC0qPi>o<)GHx%4Xb$5a3GBTJ(k@`e@ z$RUa^%S15^1oLEmA=sayrP5;9qtf!Z1*?e$ORVPsXpL{jL<6E)0sj&swP3}NPmR%FM?O>SQgN5XfHE< zo(4#Cv11(%Nnw_{_Ro}r6=gKd{k?NebJ~<~Kv0r(r0qe4n3LFx$5%x(BKvrz$m?LG zjLIc;hbj0FMdb9aH9Lpsof#yG$(0sG2%RL;d(n>;#jb!R_+dad+K;Ccw!|RY?uS(a zj~?=&M!4C(5LnlH6k%aYvz@7?xRa^2gml%vn&eKl$R_lJ+e|xsNfXzr#xuh(>`}9g zLHSyiFwK^-p!;p$yt7$F|3*IfO3Mlu9e>Dpx8O`37?fA`cj`C0B-m9uRhJjs^mRp# zWB;Aj6|G^1V6`jg7#7V9UFvnB4((nIwG?k%c7h`?0tS8J3Bn0t#pb#SA}N-|45$-j z$R>%7cc2ebAClXc(&0UtHX<>pd)akR3Kx_cK+n<}FhzmTx!8e9^u2e4%x{>T6pQ`6 zO182bh$-W5A3^wos0SV_TgPmF4WUP-+D25KjbC{y_6W_9I2_vNKwU(^qSdn&>^=*t z&uvp*@c8#2*paD!ZMCi3;K{Na;I4Q35zw$YrW5U@Kk~)&rw;G?d7Q&c9|x<Hg|CNMsxovmfth*|E*GHezPTWa^Hd^F4!B3sF;)? z(NaPyAhocu1jUe(!5Cy|dh|W2=!@fNmuNOzxi^tE_jAtzNJ0JR-avc_H|ve#KO}#S z#a(8secu|^Tx553d4r@3#6^MHbH)vmiBpn0X^29xEv!Vuh1n(Sr5I0V&`jA2;WS|Y zbf0e}X|)wA-Pf5gBZ>r4YX3Mav1kKY(ulAJ0Q*jB)YhviHK)w!TJsi3^dMa$L@^{` z_De`fF4;M87vM3Ph9SzCoCi$#Fsd38u!^0#*sPful^p5oI(xGU?yeYjn;Hq1!wzFk zG&2w}W3`AX4bxoVm03y>ts{KaDf!}b&7$(P4KAMP=vK5?1In^-YYNtx1f#}+2QK@h zeSeAI@E6Z8a?)>sZ`fbq9_snl6LCu6g>o)rO;ijp3|$vig+4t} zylEo7$SEW<_U+qgVcaVhk+4k+C9THI5V10qV*dOV6pPtAI$)QN{!JRBKh-D zk2^{j@bZ}yqW?<#VVuI_27*cI-V~sJiqQv&m07+10XF+#ZnIJdr8t`9s_EE;T2V;B z4UnQUH9EdX%zwh-5&wflY#ve!IWt0UE-My3?L#^Bh%kcgP1q{&26eXLn zTkjJ*w+(|_>Pq0v8{%nX$QZbf)tbJaLY$03;MO=Ic-uqYUmUCuXD>J>o6BCRF=xa% z3R4SK9#t1!K4I_d>tZgE>&+kZ?Q}1qo4&h%U$GfY058s%*=!kac{0Z+4Hwm!)pFLR zJ+5*OpgWUrm0FPI2ib4NPJ+Sk07j(`diti^i#kh&f}i>P4~|d?RFb#!JN)~D@)beox}bw?4VCf^y*`2{4`-@%SFTry2h z>9VBc9#JxEs1+0i2^LR@B1J`B9Ac=#FW=(?2;5;#U$0E0UNag_!jY$&2diQk_n)bT zl5Me_SUvqUjwCqmVcyb`igygB_4YUB*m$h5oeKv3uIF0sk}~es!{D>4r%PC*F~FN3owq5e0|YeUTSG#Vq%&Gk7uwW z0lDo#_wvflqHeRm*}l?}o;EILszBt|EW*zNPmq#?4A+&i0xx^?9obLyY4xx=Y9&^G;xYXYPxG)DOpPg!i_Ccl#3L}6xAAZzNhPK1XaC_~ z!A|mlo?Be*8Nn=a+FhgpOj@G7yYs(Qk(8&|h@_>w8Y^r&5nCqe0V60rRz?b5%J;GYeBqSAjo|K692GxD4` zRZyM2FdI+-jK2}WAZTZ()w_)V{n5tEb@>+JYluDozCb$fA4H)$bzg(Ux{*hXurjO^ zwAxc+UXu=&JV*E59}h3kzQPG4M)X8E*}#_&}w*KEgtX)cU{vm9b$atHa;s>| z+L6&cn8xUL*OSjx4YGjf6{Eq+Q3{!ZyhrL&^6Vz@jGbI%cAM9GkmFlamTbcQGvOlL zmJ?(FI)c86=JEs|*;?h~o)88>12nXlpMR4@yh%qdwFNpct;vMlc=;{FSo*apJ;p}! zAX~t;3tb~VuP|ZW;z$=IHf->F@Ml)&-&Bnb{iQyE#;GZ@C$PzEf6~q}4D>9jic@mTO5x76ulDz@+XAcm35!VSu zT*Gs>;f0b2TNpjU_BjHZ&S6Sqk6V1370+!eppV2H+FY!q*n=GHQ!9Rn6MjY!Jc77A zG7Y!lFp8?TIHN!LXO?gCnsYM-gQxsm=Ek**VmZu7vnuufD7K~GIxfxbsQ@qv2T zPa`tvHB$fFCyZl>3oYg?_wW)C>^_iDOc^B7klnTOoytQH18WkOk)L2BSD0r%xgRSW zQS9elF^?O=_@|58zKLK;(f77l-Zzu}4{fXed2saq!5k#UZAoDBqYQS{sn@j@Vtp|$ zG%gnZ$U|9@u#w1@11Sjl8ze^Co=)7yS(}=;68a3~g;NDe_X^}yJj;~s8xq9ahQ5_r zxAlTMnep*)w1e(TG%tWsjo3RR;yVGPEO4V{Zp?=a_0R#=V^ioQu4YL=BO4r0$$XTX zZfnw#_$V}sDAIDrezGQ+h?q24St0QNug_?{s-pI(^jg`#JRxM1YBV;a@@JQvH8*>> zIJvku74E0NlXkYe_624>znU0J@L<-c=G#F3k4A_)*;ky!C(^uZfj%WB3-*{*B$?9+ zDm$WFp=0(xnt6`vDQV3Jl5f&R(Mp};;q8d3I%Kn>Kx=^;uSVCw0L=gw53%Bp==8Sw zxtx=cs!^-_+i{2OK`Q;913+AXc_&Z5$@z3<)So0CU3;JAv=H?@Zpi~riQ{z-zLtVL z!oF<}@IgJp)Iyz1zVJ42!SPHSkjYNS4%ulVVIXdRuiZ@5Mx8LJS}J#qD^Zi_xQ@>DKDr-_e#>5h3dtje*NcwH_h;i{Sx7}dkdpuW z(yUCjckQsagv*QGMSi9u1`Z|V^}Wjf7B@q%j2DQXyd0nOyqg%m{CK_lAoKlJ7#8M} z%IvR?Vh$6aDWK2W!=i?*<77q&B8O&3?zP(Cs@kapc)&p7En?J;t-TX9abGT#H?TW? ztO5(lPKRuC7fs}zwcUKbRh=7E8wzTsa#Z{a`WR}?UZ%!HohN}d&xJ=JQhpO1PI#>X zHkb>pW04pU%Bj_mf~U}1F1=wxdBZu1790>3Dm44bQ#F=T4V3&HlOLsGH)+AK$cHk6 zia$=$kog?)07HCL*PI6}DRhpM^*%I*kHM<#1Se+AQ!!xyhcy6j7`iDX7Z-2i73_n# zas*?7LkxS-XSqv;YBa zW_n*32D(HTYQ0$feV_Fru1ZxW0g&iwqixPX3=9t4o)o|kOo79V$?$uh?#8Q8e>4e)V6;_(x&ViUVxma+i25qea;d-oK7ouuDsB^ab{ zu1qjQ%`n56VtxBE#0qAzb7lph`Eb-}TYpXB!H-}3Ykqyp`otprp7{VEuW*^IR2n$Fb99*nAtqT&oOFIf z@w*6>YvOGw@Ja?Pp1=whZqydzx@9X4n^2!n83C5{C?G@|E?&$?p*g68)kNvUTJ)I6 z1Q|(#UuP6pj78GUxq11m-GSszc+)X{C2eo-?8ud9sB=3(D47v?`JAa{V(IF zPZQ_0AY*9M97>Jf<o%#O_%Wq}8>YM=q0|tGY+hlXcpE=Z4Od z`NT7Hu2hnvRoqOw@g1f=bv`+nba{GwA$Ak0INlqI1k<9!x_!sL()h?hEWoWrdU3w` zZ%%)VR+Bc@_v!C#koM1p-3v_^L6)_Ktj4HE>aUh%2XZE@JFMOn)J~c`_7VWNb9c-N z2b|SZMR4Z@E7j&q&9(6H3yjEu6HV7{2!1t0lgizD;mZ9$r(r7W5G$ky@w(T_dFnOD z*p#+z$@pKE+>o@%eT(2-p_C}wbQ5s(%Sn_{$HDN@MB+Ev?t@3dPy`%TZ!z}AThZSu zN<1i$siJhXFdjV zP*y|V<`V8t=h#XTRUR~5`c`Z9^-`*BZf?WAehGdg)E2Je)hqFa!k{V(u+(hTf^Yq& zoruUh2(^3pe)2{bvt4&4Y9CY3js)PUHtd4rVG57}uFJL)D(JfSIo^{P=7liFXG zq5yqgof0V8paQcP!gy+;^pp-DA5pj=gbMN0eW=-eY+N8~y+G>t+x}oa!5r>tW$xhI zPQSv=pi;~653Gvf6~*JcQ%t1xOrH2l3Zy@8AoJ+wz@daW@m7?%LXkr!bw9GY@ns3e zSfuWF_gkWnesv?s3I`@}NgE2xwgs&rj?kH-FEy82=O8`+szN ziHch`vvS`zNfap14!&#i9H@wF7}yIPm=UB%(o(}F{wsZ(wA0nJ2aD^@B41>>o-_U6 zUqD~vdo48S8~FTb^+%#zcbQiiYoDKYcj&$#^;Smmb+Ljp(L=1Kt_J!;0s%1|JK}Wi z;={~oL!foo5n8=}rs6MmUW~R&;SIJO3TL4Ky?kh+b2rT9B1Jl4>#Uh-Bec z`Hsp<==#UEW6pGPhNk8H!!DUQR~#F9jEMI6T*OWfN^Ze&X(4nV$wa8QUJ>oTkruH# zm~O<`J7Wxseo@FqaZMl#Y(mrFW9AHM9Kb|XBMqaZ2a)DvJgYipkDD_VUF_PKd~dT7 z#02}bBfPn9a!X!O#83=lbJSK#E}K&yx-HI#T6ua)6o0{|={*HFusCkHzs|Fn&|C3H zBck1cmfcWVUN&i>X$YU^Sn6k2H;r3zuXbJFz)r5~3$d$tUj(l1?o={MM){kjgqXRO zc5R*#{;V7AQh|G|)jLM@wGAK&rm2~@{Pewv#06pHbKn#wL0P6F1!^qw9g&cW3Z=9} zj)POhOlwsh@eF=>z?#sIs*C-Nl(yU!#DaiaxhEs#iJqQ8w%(?+6lU02MYSeDkr!B- zPjMv+on6OLXgGnAtl(ao>|X2Y8*Hb}GRW5}-IzXnoo-d0!m4Vy$GS!XOLy>3_+UGs z2D|YcQx@M#M|}TDOetGi{9lGo9m-=0-^+nKE^*?$^uHkxZh}I{#UTQd;X!L+W@jm( zDg@N4+lUqI92o_rNk{3P>1gxAL=&O;x)ZT=q1mk0kLlE$WeWuY_$0`0jY-Kkt zP*|m3AF}Ubd=`<>(Xg0har*_@x2YH}bn0Wk*OZz3*e5;Zc;2uBdnl8?&XjupbkOeNZsNh6pvsq_ydmJI+*z**{I{0K)-;p1~k8cpJXL$^t!-`E}=*4G^-E8>H!LjTPxSx zcF+cS`ommfKMhNSbas^@YbTpH1*RFrBuATUR zt{oFWSk^$xU&kbFQ;MCX22RAN5F6eq9UfR$ut`Jw--p2YX)A*J69m^!oYfj2y7NYcH6&r+0~_sH^c^nzeN1AU4Ga7=FlR{S|Mm~MpzY0$Z+p2W(a={b-pR9EO1Rs zB%KY|@wLcAA@)KXi!d2_BxrkhDn`DT1=Dec}V!okd{$+wK z4E{n8R*xKyci1(CnNdhf$Dp2(Jpof0-0%-38X=Dd9PQgT+w%Lshx9+loPS~MOm%ZT zt%2B2iL_KU_ita%N>xjB!#71_3=3c}o zgeW~^U_ZTJQ2!PqXulQd=3b=XOQhwATK$y(9$#1jOQ4}4?~l#&nek)H(04f(Sr=s| zWv7Lu1=%WGk4FSw^;;!8&YPM)pQDCY9DhU`hMty1@sq1=Tj7bFsOOBZOFlpR`W>-J$-(kezWJj;`?x-v>ev{*8V z8p|KXJPV$HyQr1A(9LVrM47u-XpcrIyO`yWvx1pVYc&?154aneRpLqgx)EMvRaa#|9?Wwqs2+W8n5~79G z(}iCiLk;?enn}ew`HzhG+tu+Ru@T+K5juvZN)wY;x6HjvqD!&!)$$;1VAh~7fg0K| zEha#aN=Yv|3^~YFH}cc38ovVb%L|g@9W6fo(JtT6$fa?zf@Ct88e}m?i)b*Jgc{fl zExfdvw-BYDmH6>(4QMt#p0;FUIQqkhD}aH?a7)_%JtA~soqj{ppP_82yi9kaxuK>~ ze_)Zt>1?q=ZH*kF{1iq9sr*tVuy=u>Zev}!gEZx@O6-fjyu9X00gpIl-fS_pzjpqJ z1yqBmf9NF!jaF<+YxgH6oXBdK)sH(>VZ)1siyA$P<#KDt;8NT*l_0{xit~5j1P)FN zI8hhYKhQ)i z37^aP13B~u65?sg+_@2Kr^iWHN=U;EDSZ@2W2!5ALhGNWXnFBY%7W?1 z=HI9JzQ-pLKZDYTv<0-lt|6c-RwhxZ)mU2Os{bsX_i^@*fKUj8*aDO5pks=qn3Dv6 zwggpKLuyRCTVPwmw1r}B#AS}?X7b837UlXwp~E2|PJw2SGVueL7){Y&z!jL!XN=0i zU^Eig`S2`{+gU$68aRdWx?BZ{sU_f=8sn~>s~M?GU~`fH5kCc; z8ICp+INM3(3{#k32RZdv6b9MQYdZXNuk7ed8;G?S2nT+NZBG=Tar^KFl2SvhW$bGW#kdWL-I)s_IqVnCDDM9fm8g;P;8 z7t4yZn3^*NQfx7SwmkzP$=fwdC}bafQSEF@pd&P8@H#`swGy_rz;Z?Ty5mkS%>m#% zp_!m9e<()sfKiY(nF<1zBz&&`ZlJf6QLvLhl`_``%RW&{+O>Xhp;lwSsyRqGf=RWd zpftiR`={2(siiPAS|p}@q=NhVc0ELprt%=fMXO3B)4ryC2LT(o=sLM7hJC!}T1@)E zA3^J$3&1*M6Xq>03FX`R&w*NkrZE?FwU+Muut;>qNhj@bX17ZJxnOlPSZ=Zeiz~T_ zOu#yc3t6ONHB;?|r4w+pI)~KGN;HOGC)txxiUN8#mexj+W(cz%9a4sx|IRG=}ia zuEBuba3AHsV2feqw-3MvuL`I+2|`Ud4~7ZkN=JZ;L20|Oxna5vx1qbIh#k2O4$RQF zo`tL()zxaqibg^GbB+BS5#U{@K;WWQj~GcB1zb}zJkPwH|5hZ9iH2308!>_;%msji zJHSL~s)YHBR=Koa1mLEOHos*`gp=s8KA-C zu0aE+W!#iJ*0xqKm3A`fUGy#O+X+5W36myS>Uh2!R*s$aCU^`K&KKLCCDkejX2p=5 z%o7-fl03x`gaSNyr?3_JLv?2RLS3F*8ub>Jd@^Cc17)v8vYEK4aqo?OS@W9mt%ITJ z9=S2%R8M){CugT@k~~0x`}Vl!svYqX=E)c_oU6o}#Hb^%G1l3BudxA{F*tbjG;W_>=xV73pKY53v%>I)@D36I_@&p$h|Aw zonQS`07z_F#@T-%@-Tb|)7;;anoD_WH>9ewFy(ZcEOM$#Y)8>qi7rCnsH9GO-_7zF zu*C87{Df1P4TEOsnzZ@H%&lvV(3V@;Q!%+OYRp`g05PjY^gL$^$-t0Y>H*CDDs?FZly*oZ&dxvsxaUWF!{em4{A>n@vpXg$dwvt@_rgmHF z-MER`ABa8R-t_H*kv>}CzOpz;!>p^^9ztHMsHL|SRnS<-y5Z*r(_}c4=fXF`l^-i}>e7v!qs_jv zqvWhX^F=2sDNWA9c@P0?lUlr6ecrTKM%pNQ^?*Lq?p-0~?_j50xV%^(+H>sMul#Tw zeciF*1=?a7cI(}352%>LO96pD+?9!fNyl^9v3^v&Y4L)mNGK0FN43&Xf8jUlxW1Bw zyiu2;qW-aGNhs=zbuoxnxiwZ3{PFZM#Kw)9H@(hgX23h(`Wm~m4&TvoZoYp{plb^> z_#?vXcxd>r7K+1HKJvhed>gtK`TAbJUazUWQY6T~t2af%#<+Veyr%7-#*A#@&*;@g58{i|E%6yC_InGXCOd{L0;$)z#?n7M`re zh!kO{6=>7I?*}czyF7_frt#)s1CFJ_XE&VrDA?Dp3XbvF{qsEJgb&OLSNz_5g?HpK z9)8rsr4JN!Af3G9!#Qn(6zaUDqLN(g2g8*M)Djap?WMK9NKlkC)E2|-g|#-rp%!Gz zAHd%`iq|81efi93m3yTBw3g0j#;Yb2X{mhRAI?&KDmbGqou(2xiRNb^sV}%%Wu0?< z?($L>(#BO*)^)rSgyNRni$i`R4v;GhlCZ8$@e^ROX(p=2_v6Y!%^As zu022)fHdv_-~Yu_H6WVPLpHQx!W%^6j)cBhS`O3QBW#x(eX54d&I22op(N59b*&$v zFiSRY6rOc^(dgSV1>a7-5C;(5S5MvKcM2Jm-LD9TGqDpP097%52V+0>Xqq!! zq4e3vj53SE6i8J`XcQB|MZPP8j;PAOnpGnllH6#Ku~vS42xP*Nz@~y%db7Xi8s09P z1)e%8ys6&M8D=Dt6&t`iKG_4X=!kgRQoh%Z`dc&mlOUqXk-k`jKv9@(a^2-Upw>?< zt5*^DV~6Zedbec4NVl($2T{&b)zA@b#dUyd>`2JC0=xa_fIm8{5um zr-!ApXZhC8@=vC2WyxO|!@0Km)h8ep*`^he92$@YwP>VcdoS5OC^s38e#7RPsg4j+ zbVGG}WRSET&ZfrcR(x~k8n1rTP%CnfUNKUonD$P?FtNFF#cn!wEIab-;jU=B1dHK@ z(;(yAQJ`O$sMn>h;pf^8{JISW%d+@v6@CnXh9n5TXGC}?FI9i-D0OMaIg&mAg=0Kn zNJ7oz5*ReJukD55fUsMuaP+H4tDN&V9zfqF@ zr=#ecUk9wu{0;!+gl;3Bw=Vn^)z$ahVhhw)io!na&9}LmWurLb0zubxK=UEnU*{5P z+SP}&*(iBKSO4{alBHaY^)5Q=mZ+2OwIooJ7*Q5XJ+2|q`9#f?6myq!&oz?klihLq z4C)$XP!BNS0G_Z1&TM>?Jk{S~{F3n83ioli=IO6f%wkvCl(RFFw~j0tb{GvXTx>*sB0McY0s&SNvj4+^h`9nJ_wM>F!Uc>X}9PifQekn0sKI2SAJP!a4h z5cyGTuCj3ZBM^&{dRelIlT^9zcfaAuL5Y~bl!ppSf`wZbK$z#6U~rdclk``e+!qhe z6Qspo*%<)eu6?C;Bp<^VuW6JI|Ncvyn+LlSl;Mp22Bl7ARQ0Xc24%29(ZrdsIPw&-=yHQ7_Vle|5h>AST0 zUGX2Zk34vp?U~IHT|;$U86T+UUHl_NE4m|}>E~6q``7hccCaT^#y+?wD##Q%HwPd8 zV3x4L4|qqu`B$4(LXqDJngNy-{&@aFBvVsywt@X^}iH7P%>bR?ciC$I^U-4Foa`YKI^qDyGK7k%E%c_P=yzAi`YnxGA%DeNd++j3*h^ z=rn>oBd0|~lZ<6YvmkKY*ZJlJ;Im0tqgWu&E92eqt;+NYdxx`eS(4Hw_Jb5|yVvBg z*tbdY^!AN;luEyN4VRhS@-_DC{({ziH{&Z}iGElSV~qvT>L-8G%+yEL zX#MFOhj{InyKG=mvW-<1B@c-}x$vA(nU?>S>0*eN#!SLzQ)Ex7fvQ)S4D<8|I#N$3 zT5Ei`Z?cxBODHX8(Xp73v`IsAYC@9b;t}z0wxVuQSY1J^GRwDPN@qbM-ZF48T$GZ< z8WU+;Pqo?{ghI-KZ-i*ydXu`Ep0Xw^McH_KE9J0S7G;x8Fe`DVG?j3Pv=0YzJ}yZR z%2=oqHiUjvuk0~Ca>Kol4CFi0_xQT~;_F?=u+!kIDl-9g`#ZNZ9HCy17Ga1v^Jv9# z{T4Kb1-AzUxq*MutfOWWZgD*HnFfyYg0&e9f(5tZ>krPF6{VikNeHoc{linPPt#Si z&*g>(c54V8rT_AX!J&bNm-!umPvOR}vDai#`CX___J#=zeB*{4<&2WpaDncZsOkp* zsg<%@@rbrMkR_ux9?LsQxzoBa1s%$BBn6vk#{&&zUwcfzeCBJUwFYSF$08qDsB;gWQN*g!p8pxjofWbqNSZOEKOaTx@+* zwdt5*Q47@EOZ~EZL9s?1o?A%9TJT=Ob_13yyugvPg*e&ZU(r6^k4=2+D-@n=Hv5vu zSXG|hM(>h9^zn=eQ=$6`JO&70&2|%V5Lsx>)(%#;pcOfu>*nk_3HB_BNaH$`jM<^S zcSftDU1?nL;jy)+sfonQN}(}gUW?d_ikr*3=^{G)=tjBtEPe>TO|0ddVB zTklrSHiW+!#26frPXQQ(YN8DG$PZo?(po(QUCCf_OJC`pw*uey00%gmH!`WJkrKXj2!#6?`T25mTu9OJp2L8z3! z=arrL$ZqxuE{%yV)14Kd>k}j7pxZ6#$Dz8$@WV5p8kTqN<-7W)Q7Gt2{KoOPK_tZ| zf2WG~O5@{qPI+W<4f_;reuFVdO^5`ADC1!JQE|N`s3cq@(0WB!n0uh@*c{=LAd;~} zyGK@hbF-Oo+!nN)@i*O(`@FA#u?o=~e{`4O#5}z&=UkU*50fOrzi11D^&FOqe>wii z?*k+2|EcUs;Gx{!@KBT~>PAwLrIDT7Th=Utu?~?np@t^gFs?zgX=D${RwOY^WGh-+ z+#4$066ISh8eYW#FXWp~S`<*%O^ZuItL1Tyqt8#tZ zY120E;^VG`!lZn&3sPd$RkdHpU#|w+bYV)pJC|SH9g%|5IkxVTQcBA4CL0}$&}ef@ zW^Vtj%M;;_1xxP9x#ex17&4N*{ksO*_4O}xYu(p*JkL#yr}@7b)t5X?%CY<+s5_MJ zuiqt+N_;A(_)%lumoyRFixWa-M7qK_9s6<1X?JDa9fP!+_6u~~M$5L=ipB=7(j#f< zZ34J%=bs549%~_mA(|={uZNs_0?o7;-LBP(ZRnkd{-^|2|=4vUTmtByHL8 zEph`(LSEzQj68a+`d$V<45J7cyv^#|^|%fD#si1Nx!4NW*`l*{->HEWNh6-|g>-=r zXmQ|-i}Ku$ndUeHQ^&ieT!Lf}vf6GaqW9$DJ2NWrqwPY%%4nip$@vK$nRp*_C-v<| zuKz~ZyN&<%!NS26&x?jhy+@awJipMQ-8(X4#Ae5??U<1QMt1l9R=w9fAnEF}NYu$2 z>6}Vkc zIb*A?G*z8^IvibmBKn_u^5&T_1oey0gZS2~obf(#xk=erZGTEdQnt3DMGM+0oPwss zj5zXD;(oWhB_T@~Ig#9@v)AKtXu3>Inmgf@A|-lD-1U>cNyl3h?ADD9)GG4}zUGPk zZzaXe!~Kf?<~@$G?Uql3t8jy9{2!doq4=J}j9ktTxss{p6!9UdjyDERlA*xZ!=Q)KDs5O)phz>Vq3BNGoM(H|=1*Q4$^2fTZw z(%nq1P|5Rt81}SYJpEEzMPl5VJsV5&4e)ZWKDyoZ>1EwpkHx-AQVQc8%JMz;{H~p{=FXV>jIxvm4X*qv52e?Y-f%DJ zxEA165GikEASQ^fH6K#d!Tpu2HP{sFs%E=e$gYd$aj$+xue6N+Wc(rAz~wUsk2`(b z8Kvmyz%bKQxpP}~baG-rwYcYCvkHOi zlkR<=>ZBTU*8RF_d#Bl@zZsRIhx<%~Z@Z=ik z>adw3!DK(8R|q$vy{FTxw%#xliD~6qXmY^7_9kthVPTF~Xy1CfBqbU~?1QmxmU=+k z(ggxvEuA;0e&+ci-zQR{-f7aO{O(Pz_OsEjLh_K>MbvoZ4nxtk5u{g@nPv)cgW_R} z9}EA4K4@z0?7ue}Z(o~R(X&FjejUI2g~08PH1E4w>9o{)S(?1>Z0XMvTb|;&EuyOE zGvWNpYX)Nv<8|a^;1>bh#&znEcl-r!T#pn= z4$?Yudha6F%4b>*8@=BdtXXY4N+`U4Dmx$}>HeVJk-QdTG@t!tVT#0(LeV0gvqyyw z2sEp^9eY0N`u10Tm4n8No&A=)IeEC|gnmEXoNSzu!1<4R<%-9kY_8~5Ej?zRegMn78wuMs#;i&eUA0Zk_RXQ3b&TT} z;SCI=7-FUB@*&;8|n>(_g^HGf3@QODE3LpmX~ELnymQm{Sx9xrKS zK29p~?v@R$0=v6Dr5aW>-!{+h@?Q58|Kz8{{W`%J+lDAdb&M5VHrX_mDY;1-JLnf)ezmPau$)1;=`-FU=-r-83tX=C`S#}GZufju zQ>sXNT0Ny=k@nc%cFnvA_i4SC)?_ORXHq8B4D%el1uPX`c~uG#S1M7C+*MMqLw78E zhY2dI8@+N^qrMI1+;TUda(vGqGSRyU{Fnm`aqrr7bz42c5xsOO-~oZpkzorD1g}Y<6rk&3>PsSGy}W?MtqFky@A(X# zIuNZK0cK?^=;PUAu>j0#HtjbHCV*6?jzA&OoE$*Jlga*}LF`SF?WLhv1O|zqC<>*> zYB;#lsYKx0&kH@BFpW8n*yDcc6?;_zaJs<-jPSkCsSX-!aV=P5kUgF@Nu<{a%#K*F z134Q{9|YX7X(v$62_cY3^G%t~rD>Q0z@)1|zs)vjJ6Jq9;7#Ki`w+eS**En?7;n&7 zu==V3T&eFboN3ZiMx3D8qYc;VjFUk_H-WWCau(VFXSQf~viH0L$gwD$UfFHqNcgN`x}M+YQ6RnN<+@t>JUp#)9YOkqst-Ga?{FsDpEeX0(5v{0J~SEbWiL zXC2}M4?UH@u&|;%0y`eb33ldo4~z-x8zY!oVmV=c+f$m?RfDC35mdQ2E>Pze7KWP- z>!Bh<&57I+O_^s}9Tg^k)h7{xx@0a0IA~GAOt2yy!X%Q$1rt~LbTB6@Du!_0%HV>N zlf)QI1&gvERKwso23mJ!Ou6ZS#zCS5W`gxE5T>C#E|{i<1D35C222I33?Njaz`On7 zi<+VWFP6D{e-{yiN#M|Jgk<44u1TiMI78S5W`Sdb5f+{zu34s{CfWN7a3Cf^@L%!& zN$?|!!9j2c)j$~+R6n#891w-z8(!oBpL2K=+%a$r2|~8-(vQj5_XT`<0Ksf;oP+tz z9CObS!0m)Tgg`K#xBM8B(|Z)Wb&DYL{WTYv`;A=q6~Nnx2+!lTIXtj8J7dZE!P_{z z#f8w6F}^!?^KE#+ZDv+xd5O&3EmomZzsv?>E-~ygGum45fk!SBN&|eo1rKw^?aZJ4 E2O(~oYXATM diff --git a/java/ql/integration-tests/all-platforms/java/gradle-sample/gradle/wrapper/gradle-wrapper.properties b/java/ql/integration-tests/all-platforms/java/gradle-sample/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 12d38de6a48..00000000000 --- a/java/ql/integration-tests/all-platforms/java/gradle-sample/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.6.1-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/java/ql/integration-tests/all-platforms/java/gradle-sample/gradlew b/java/ql/integration-tests/all-platforms/java/gradle-sample/gradlew deleted file mode 100755 index 4f906e0c811..00000000000 --- a/java/ql/integration-tests/all-platforms/java/gradle-sample/gradlew +++ /dev/null @@ -1,185 +0,0 @@ -#!/usr/bin/env sh - -# -# Copyright 2015 the original author or authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=`expr $i + 1` - done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -exec "$JAVACMD" "$@" diff --git a/java/ql/integration-tests/all-platforms/java/gradle-sample/gradlew.bat b/java/ql/integration-tests/all-platforms/java/gradle-sample/gradlew.bat deleted file mode 100644 index 107acd32c4e..00000000000 --- a/java/ql/integration-tests/all-platforms/java/gradle-sample/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java/ql/integration-tests/all-platforms/java/gradle-sample/source_archive.expected b/java/ql/integration-tests/all-platforms/java/gradle-sample/source_archive.expected new file mode 100644 index 00000000000..ccdedc5ab73 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/gradle-sample/source_archive.expected @@ -0,0 +1,9 @@ +.gradle/6.6.1/gc.properties +.gradle/buildOutputCleanup/cache.properties +.gradle/configuration-cache/gc.properties +.gradle/vcs-1/gc.properties +gradle/wrapper/gradle-wrapper.properties +src/main/java/com/example/App.java +src/test/java/com/example/AppTest.java +test-db/log/ext/javac-1.properties +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/gradle-sample/test.expected b/java/ql/integration-tests/all-platforms/java/gradle-sample/test.expected deleted file mode 100644 index e7dd5838e6b..00000000000 --- a/java/ql/integration-tests/all-platforms/java/gradle-sample/test.expected +++ /dev/null @@ -1,5 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| gradle/verification-metadata.xml:0:0:0:0 | gradle/verification-metadata.xml | diff --git a/java/ql/integration-tests/all-platforms/java/gradle-sample/test.py b/java/ql/integration-tests/all-platforms/java/gradle-sample/test.py index 1cb6e142763..34670acfeea 100644 --- a/java/ql/integration-tests/all-platforms/java/gradle-sample/test.py +++ b/java/ql/integration-tests/all-platforms/java/gradle-sample/test.py @@ -1,8 +1,2 @@ -import sys - -from create_database_utils import * - -#The version of gradle used doesn't work on java 17 -try_use_java11() - -run_codeql_database_create([], lang="java") +def test(codeql, use_java_11, java, gradle_6_6_1): + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/gradle-sample/test.ql b/java/ql/integration-tests/all-platforms/java/gradle-sample/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/gradle-sample/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/java-web-jsp/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/java-web-jsp/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/java-web-jsp/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/java-web-jsp/test.py b/java/ql/integration-tests/all-platforms/java/java-web-jsp/test.py index e87b8a1c009..a727946877a 100644 --- a/java/ql/integration-tests/all-platforms/java/java-web-jsp/test.py +++ b/java/ql/integration-tests/all-platforms/java/java-web-jsp/test.py @@ -1,5 +1,4 @@ -import sys - -from create_database_utils import * - -run_codeql_database_create(["mvn clean package -P tomcat8Jsp"], lang="java", extra_env = {"CODEQL_EXTRACTOR_JAVA_JSP": "true"}) +def test(codeql, java): + codeql.database.create( + command="mvn clean package -P tomcat8Jsp", _env={"CODEQL_EXTRACTOR_JAVA_JSP": "true"} + ) diff --git a/java/ql/integration-tests/all-platforms/java/maven-enforcer/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/maven-enforcer/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-enforcer/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/maven-enforcer/source_archive.expected b/java/ql/integration-tests/all-platforms/java/maven-enforcer/source_archive.expected new file mode 100644 index 00000000000..016c614aec4 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/maven-enforcer/source_archive.expected @@ -0,0 +1,12 @@ +pom.xml +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/page.xml +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +target/classes/my-app.properties +target/classes/page.xml +target/classes/struts.xml +target/maven-archiver/pom.properties +test-db/log/ext/javac-1.properties +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/maven-enforcer/test.expected b/java/ql/integration-tests/all-platforms/java/maven-enforcer/test.expected deleted file mode 100644 index fc706ca445a..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-enforcer/test.expected +++ /dev/null @@ -1,15 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| pom.xml:0:0:0:0 | pom.xml | -| src/main/resources/page.xml:0:0:0:0 | src/main/resources/page.xml | -| src/main/resources/struts.xml:0:0:0:0 | src/main/resources/struts.xml | -| target/classes/page.xml:0:0:0:0 | target/classes/page.xml | -| target/classes/struts.xml:0:0:0:0 | target/classes/struts.xml | -propertiesFiles -| src/main/resources/my-app.properties:0:0:0:0 | src/main/resources/my-app.properties | -| target/classes/my-app.properties:0:0:0:0 | target/classes/my-app.properties | -| target/maven-archiver/pom.properties:0:0:0:0 | target/maven-archiver/pom.properties | -| test-db/log/ext/javac-1.properties:0:0:0:0 | test-db/log/ext/javac-1.properties | -| test-db/log/ext/javac.properties:0:0:0:0 | test-db/log/ext/javac.properties | diff --git a/java/ql/integration-tests/all-platforms/java/maven-enforcer/test.py b/java/ql/integration-tests/all-platforms/java/maven-enforcer/test.py index ab8845cbd73..eb49efe6a2a 100644 --- a/java/ql/integration-tests/all-platforms/java/maven-enforcer/test.py +++ b/java/ql/integration-tests/all-platforms/java/maven-enforcer/test.py @@ -1,5 +1,2 @@ -import sys - -from create_database_utils import * - -run_codeql_database_create([], lang="java") +def test(codeql, java): + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/maven-enforcer/test.ql b/java/ql/integration-tests/all-platforms/java/maven-enforcer/test.ql deleted file mode 100644 index 25cd26fdd14..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-enforcer/test.ql +++ /dev/null @@ -1,9 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } - -query predicate propertiesFiles(File f) { f.getExtension() = "properties" } diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/source_archive.expected b/java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/source_archive.expected new file mode 100644 index 00000000000..016c614aec4 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/source_archive.expected @@ -0,0 +1,12 @@ +pom.xml +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/page.xml +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +target/classes/my-app.properties +target/classes/page.xml +target/classes/struts.xml +target/maven-archiver/pom.properties +test-db/log/ext/javac-1.properties +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/test.expected b/java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/test.expected deleted file mode 100644 index fc706ca445a..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/test.expected +++ /dev/null @@ -1,15 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| pom.xml:0:0:0:0 | pom.xml | -| src/main/resources/page.xml:0:0:0:0 | src/main/resources/page.xml | -| src/main/resources/struts.xml:0:0:0:0 | src/main/resources/struts.xml | -| target/classes/page.xml:0:0:0:0 | target/classes/page.xml | -| target/classes/struts.xml:0:0:0:0 | target/classes/struts.xml | -propertiesFiles -| src/main/resources/my-app.properties:0:0:0:0 | src/main/resources/my-app.properties | -| target/classes/my-app.properties:0:0:0:0 | target/classes/my-app.properties | -| target/maven-archiver/pom.properties:0:0:0:0 | target/maven-archiver/pom.properties | -| test-db/log/ext/javac-1.properties:0:0:0:0 | test-db/log/ext/javac-1.properties | -| test-db/log/ext/javac.properties:0:0:0:0 | test-db/log/ext/javac.properties | diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/test.py b/java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/test.py index 6d5ed7563ef..a12444ef170 100644 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/test.py +++ b/java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/test.py @@ -1,5 +1,2 @@ -import sys - -from create_database_utils import * - -run_codeql_database_create([], lang="java", extra_env = {"LGTM_INDEX_PROPERTIES_FILES": "true"}) +def test(codeql, java): + codeql.database.create(_env={"LGTM_INDEX_PROPERTIES_FILES": "true"}) diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/test.ql b/java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/test.ql deleted file mode 100644 index 25cd26fdd14..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-extract-properties/test.ql +++ /dev/null @@ -1,9 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } - -query predicate propertiesFiles(File f) { f.getExtension() = "properties" } diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/source_archive.expected b/java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/source_archive.expected new file mode 100644 index 00000000000..a4def4e92dc --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/source_archive.expected @@ -0,0 +1,10 @@ +pom.xml +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +target/classes/my-app.properties +target/classes/struts.xml +target/maven-archiver/pom.properties +test-db/log/ext/javac-1.properties +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/test.expected b/java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/test.expected deleted file mode 100644 index 7857752a01b..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/test.expected +++ /dev/null @@ -1,7 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| pom.xml:0:0:0:0 | pom.xml | -| src/main/resources/struts.xml:0:0:0:0 | src/main/resources/struts.xml | -| target/classes/struts.xml:0:0:0:0 | target/classes/struts.xml | diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/test.py b/java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/test.py index 65499f91e25..08a582b9d42 100644 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/test.py +++ b/java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/test.py @@ -1,10 +1,6 @@ -import sys - -from create_database_utils import * - -# Test that a build with 60 ~1MB XML docs extracts does not extract them, but we fall back to by-name mode instead: -for i in range(60): - with open("generated-%d.xml" % i, "w") as f: - f.write("" + ("a" * 1000000) + "") - -run_codeql_database_create([], lang="java") +def test(codeql, java): + # Test that a build with 60 ~1MB XML docs extracts does not extract them, but we fall back to by-name mode instead: + for i in range(60): + with open(f"generated-{i}.xml", "w") as f: + f.write("" + ("a" * 1000000) + "") + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/test.ql b/java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-large-xml-files/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/source_archive.expected b/java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/source_archive.expected new file mode 100644 index 00000000000..ccc5c6f2513 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/source_archive.expected @@ -0,0 +1,17 @@ +generated-0.xml +generated-1.xml +generated-2.xml +generated-3.xml +generated-4.xml +pom.xml +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/page.xml +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +target/classes/my-app.properties +target/classes/page.xml +target/classes/struts.xml +target/maven-archiver/pom.properties +test-db/log/ext/javac-1.properties +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/test.expected b/java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/test.expected deleted file mode 100644 index 82e6308469f..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/test.expected +++ /dev/null @@ -1,14 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| generated-0.xml:0:0:0:0 | generated-0.xml | -| generated-1.xml:0:0:0:0 | generated-1.xml | -| generated-2.xml:0:0:0:0 | generated-2.xml | -| generated-3.xml:0:0:0:0 | generated-3.xml | -| generated-4.xml:0:0:0:0 | generated-4.xml | -| pom.xml:0:0:0:0 | pom.xml | -| src/main/resources/page.xml:0:0:0:0 | src/main/resources/page.xml | -| src/main/resources/struts.xml:0:0:0:0 | src/main/resources/struts.xml | -| target/classes/page.xml:0:0:0:0 | target/classes/page.xml | -| target/classes/struts.xml:0:0:0:0 | target/classes/struts.xml | diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/test.py b/java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/test.py index c951c4c6f0d..8795cbbaa09 100644 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/test.py +++ b/java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/test.py @@ -1,10 +1,6 @@ -import sys - -from create_database_utils import * - -# Test that a build with 5 ~1MB XML docs extracts them: -for i in range(5): - with open("generated-%d.xml" % i, "w") as f: - f.write("" + ("a" * 1000000) + "") - -run_codeql_database_create([], lang="java") +def test(codeql, java): + # Test that a build with 5 ~1MB XML docs extracts them: + for i in range(5): + with open(f"generated-{i}.xml", "w") as f: + f.write("" + ("a" * 1000000) + "") + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/test.ql b/java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-small-xml-files/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/source_archive.expected b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/source_archive.expected new file mode 100644 index 00000000000..016c614aec4 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/source_archive.expected @@ -0,0 +1,12 @@ +pom.xml +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/page.xml +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +target/classes/my-app.properties +target/classes/page.xml +target/classes/struts.xml +target/maven-archiver/pom.properties +test-db/log/ext/javac-1.properties +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/test.expected b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/test.expected deleted file mode 100644 index 05f39a55338..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/test.expected +++ /dev/null @@ -1,9 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| pom.xml:0:0:0:0 | pom.xml | -| src/main/resources/page.xml:0:0:0:0 | src/main/resources/page.xml | -| src/main/resources/struts.xml:0:0:0:0 | src/main/resources/struts.xml | -| target/classes/page.xml:0:0:0:0 | target/classes/page.xml | -| target/classes/struts.xml:0:0:0:0 | target/classes/struts.xml | diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/test.py b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/test.py index 76966e04fb3..93ac0300499 100644 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/test.py +++ b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/test.py @@ -1,5 +1,2 @@ -import sys - -from create_database_utils import * - -run_codeql_database_create([], lang="java", extra_env = {"LGTM_INDEX_XML_MODE": "all"}) +def test(codeql, java): + codeql.database.create(_env={"LGTM_INDEX_XML_MODE": "all"}) diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/test.ql b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-all/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/source_archive.expected b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/source_archive.expected new file mode 100644 index 00000000000..a4def4e92dc --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/source_archive.expected @@ -0,0 +1,10 @@ +pom.xml +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +target/classes/my-app.properties +target/classes/struts.xml +target/maven-archiver/pom.properties +test-db/log/ext/javac-1.properties +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/test.expected b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/test.expected deleted file mode 100644 index 7857752a01b..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/test.expected +++ /dev/null @@ -1,7 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| pom.xml:0:0:0:0 | pom.xml | -| src/main/resources/struts.xml:0:0:0:0 | src/main/resources/struts.xml | -| target/classes/struts.xml:0:0:0:0 | target/classes/struts.xml | diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/test.py b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/test.py index 7d004ffb52f..64e5f7ba05a 100644 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/test.py +++ b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/test.py @@ -1,5 +1,2 @@ -import sys - -from create_database_utils import * - -run_codeql_database_create([], lang="java", extra_env = {"LGTM_INDEX_XML_MODE": "byname"}) +def test(codeql, java): + codeql.database.create(_env={"LGTM_INDEX_XML_MODE": "byname"}) diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/test.ql b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-byname/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/source_archive.expected b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/source_archive.expected new file mode 100644 index 00000000000..23eaad53231 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/source_archive.expected @@ -0,0 +1,7 @@ +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/test/java/com/example/AppTest.java +target/classes/my-app.properties +target/maven-archiver/pom.properties +test-db/log/ext/javac-1.properties +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/test.expected b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/test.expected deleted file mode 100644 index 2f2c7ce04f2..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/test.expected +++ /dev/null @@ -1,4 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/test.py b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/test.py index 376596d1f9c..aa6c911f94d 100644 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/test.py +++ b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/test.py @@ -1,5 +1,2 @@ -import sys - -from create_database_utils import * - -run_codeql_database_create([], lang="java", extra_env = {"LGTM_INDEX_XML_MODE": "disabled"}) +def test(codeql, java): + codeql.database.create(_env={"LGTM_INDEX_XML_MODE": "disabled"}) diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/test.ql b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-disabled/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/source_archive.expected b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/source_archive.expected new file mode 100644 index 00000000000..a4def4e92dc --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/source_archive.expected @@ -0,0 +1,10 @@ +pom.xml +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +target/classes/my-app.properties +target/classes/struts.xml +target/maven-archiver/pom.properties +test-db/log/ext/javac-1.properties +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/test.expected b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/test.expected deleted file mode 100644 index 7857752a01b..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/test.expected +++ /dev/null @@ -1,7 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| pom.xml:0:0:0:0 | pom.xml | -| src/main/resources/struts.xml:0:0:0:0 | src/main/resources/struts.xml | -| target/classes/struts.xml:0:0:0:0 | target/classes/struts.xml | diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/test.py b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/test.py index 7169e99d71f..7736927eb8a 100644 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/test.py +++ b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/test.py @@ -1,5 +1,2 @@ -import sys - -from create_database_utils import * - -run_codeql_database_create([], lang="java", extra_env = {"LGTM_INDEX_XML_MODE": "smart"}) +def test(codeql, java): + codeql.database.create(_env={"LGTM_INDEX_XML_MODE": "smart"}) diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/test.ql b/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample-xml-mode-smart/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/maven-sample/force_sequential_test_execution deleted file mode 100644 index dd90439bca5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -# Concurrent Maven processes using ~/.m2/repository is not safe, so this test must run sequentially diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample/source_archive.expected b/java/ql/integration-tests/all-platforms/java/maven-sample/source_archive.expected new file mode 100644 index 00000000000..016c614aec4 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/maven-sample/source_archive.expected @@ -0,0 +1,12 @@ +pom.xml +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/page.xml +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +target/classes/my-app.properties +target/classes/page.xml +target/classes/struts.xml +target/maven-archiver/pom.properties +test-db/log/ext/javac-1.properties +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample/test.expected b/java/ql/integration-tests/all-platforms/java/maven-sample/test.expected deleted file mode 100644 index fc706ca445a..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample/test.expected +++ /dev/null @@ -1,15 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| pom.xml:0:0:0:0 | pom.xml | -| src/main/resources/page.xml:0:0:0:0 | src/main/resources/page.xml | -| src/main/resources/struts.xml:0:0:0:0 | src/main/resources/struts.xml | -| target/classes/page.xml:0:0:0:0 | target/classes/page.xml | -| target/classes/struts.xml:0:0:0:0 | target/classes/struts.xml | -propertiesFiles -| src/main/resources/my-app.properties:0:0:0:0 | src/main/resources/my-app.properties | -| target/classes/my-app.properties:0:0:0:0 | target/classes/my-app.properties | -| target/maven-archiver/pom.properties:0:0:0:0 | target/maven-archiver/pom.properties | -| test-db/log/ext/javac-1.properties:0:0:0:0 | test-db/log/ext/javac-1.properties | -| test-db/log/ext/javac.properties:0:0:0:0 | test-db/log/ext/javac.properties | diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample/test.py b/java/ql/integration-tests/all-platforms/java/maven-sample/test.py index ab8845cbd73..eb49efe6a2a 100644 --- a/java/ql/integration-tests/all-platforms/java/maven-sample/test.py +++ b/java/ql/integration-tests/all-platforms/java/maven-sample/test.py @@ -1,5 +1,2 @@ -import sys - -from create_database_utils import * - -run_codeql_database_create([], lang="java") +def test(codeql, java): + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/maven-sample/test.ql b/java/ql/integration-tests/all-platforms/java/maven-sample/test.ql deleted file mode 100644 index 25cd26fdd14..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-sample/test.ql +++ /dev/null @@ -1,9 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } - -query predicate propertiesFiles(File f) { f.getExtension() = "properties" } diff --git a/java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/force_sequential_test_execution deleted file mode 100644 index 44bcad8d582..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -The wrapper downloading a Maven distribution multiple times in parallel is not safe. diff --git a/java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/source_archive.expected b/java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/source_archive.expected new file mode 100644 index 00000000000..63c4821feac --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/source_archive.expected @@ -0,0 +1,13 @@ +.mvn/wrapper/maven-wrapper.properties +pom.xml +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/page.xml +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +target/classes/my-app.properties +target/classes/page.xml +target/classes/struts.xml +target/maven-archiver/pom.properties +test-db/log/ext/javac-1.properties +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/test.expected b/java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/test.expected deleted file mode 100644 index dd77a3fab0a..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/test.expected +++ /dev/null @@ -1,16 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| pom.xml:0:0:0:0 | pom.xml | -| src/main/resources/page.xml:0:0:0:0 | src/main/resources/page.xml | -| src/main/resources/struts.xml:0:0:0:0 | src/main/resources/struts.xml | -| target/classes/page.xml:0:0:0:0 | target/classes/page.xml | -| target/classes/struts.xml:0:0:0:0 | target/classes/struts.xml | -propertiesFiles -| .mvn/wrapper/maven-wrapper.properties:0:0:0:0 | .mvn/wrapper/maven-wrapper.properties | -| src/main/resources/my-app.properties:0:0:0:0 | src/main/resources/my-app.properties | -| target/classes/my-app.properties:0:0:0:0 | target/classes/my-app.properties | -| target/maven-archiver/pom.properties:0:0:0:0 | target/maven-archiver/pom.properties | -| test-db/log/ext/javac-1.properties:0:0:0:0 | test-db/log/ext/javac-1.properties | -| test-db/log/ext/javac.properties:0:0:0:0 | test-db/log/ext/javac.properties | diff --git a/java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/test.py b/java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/test.py index 5311b982c2b..eb49efe6a2a 100644 --- a/java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/test.py +++ b/java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/test.py @@ -1,7 +1,2 @@ -import sys - -from create_database_utils import * -from maven_wrapper_test_utils import * - -run_codeql_database_create([], lang="java") -check_maven_wrapper_exists("3.9.4") +def test(codeql, java): + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/test.ql b/java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/test.ql deleted file mode 100644 index 25cd26fdd14..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-wrapper-script-only/test.ql +++ /dev/null @@ -1,9 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } - -query predicate propertiesFiles(File f) { f.getExtension() = "properties" } diff --git a/java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/force_sequential_test_execution deleted file mode 100644 index 44bcad8d582..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -The wrapper downloading a Maven distribution multiple times in parallel is not safe. diff --git a/java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/source_archive.expected b/java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/source_archive.expected new file mode 100644 index 00000000000..63c4821feac --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/source_archive.expected @@ -0,0 +1,13 @@ +.mvn/wrapper/maven-wrapper.properties +pom.xml +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/page.xml +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +target/classes/my-app.properties +target/classes/page.xml +target/classes/struts.xml +target/maven-archiver/pom.properties +test-db/log/ext/javac-1.properties +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/test.expected b/java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/test.expected deleted file mode 100644 index dd77a3fab0a..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/test.expected +++ /dev/null @@ -1,16 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| pom.xml:0:0:0:0 | pom.xml | -| src/main/resources/page.xml:0:0:0:0 | src/main/resources/page.xml | -| src/main/resources/struts.xml:0:0:0:0 | src/main/resources/struts.xml | -| target/classes/page.xml:0:0:0:0 | target/classes/page.xml | -| target/classes/struts.xml:0:0:0:0 | target/classes/struts.xml | -propertiesFiles -| .mvn/wrapper/maven-wrapper.properties:0:0:0:0 | .mvn/wrapper/maven-wrapper.properties | -| src/main/resources/my-app.properties:0:0:0:0 | src/main/resources/my-app.properties | -| target/classes/my-app.properties:0:0:0:0 | target/classes/my-app.properties | -| target/maven-archiver/pom.properties:0:0:0:0 | target/maven-archiver/pom.properties | -| test-db/log/ext/javac-1.properties:0:0:0:0 | test-db/log/ext/javac-1.properties | -| test-db/log/ext/javac.properties:0:0:0:0 | test-db/log/ext/javac.properties | diff --git a/java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/test.py b/java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/test.py index 5311b982c2b..eb49efe6a2a 100644 --- a/java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/test.py +++ b/java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/test.py @@ -1,7 +1,2 @@ -import sys - -from create_database_utils import * -from maven_wrapper_test_utils import * - -run_codeql_database_create([], lang="java") -check_maven_wrapper_exists("3.9.4") +def test(codeql, java): + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/test.ql b/java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/test.ql deleted file mode 100644 index 25cd26fdd14..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-wrapper-source-only/test.ql +++ /dev/null @@ -1,9 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } - -query predicate propertiesFiles(File f) { f.getExtension() = "properties" } diff --git a/java/ql/integration-tests/all-platforms/java/maven-wrapper/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/maven-wrapper/force_sequential_test_execution deleted file mode 100644 index 44bcad8d582..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-wrapper/force_sequential_test_execution +++ /dev/null @@ -1 +0,0 @@ -The wrapper downloading a Maven distribution multiple times in parallel is not safe. diff --git a/java/ql/integration-tests/all-platforms/java/maven-wrapper/source_archive.expected b/java/ql/integration-tests/all-platforms/java/maven-wrapper/source_archive.expected new file mode 100644 index 00000000000..63c4821feac --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/maven-wrapper/source_archive.expected @@ -0,0 +1,13 @@ +.mvn/wrapper/maven-wrapper.properties +pom.xml +src/main/java/com/example/App.java +src/main/resources/my-app.properties +src/main/resources/page.xml +src/main/resources/struts.xml +src/test/java/com/example/AppTest.java +target/classes/my-app.properties +target/classes/page.xml +target/classes/struts.xml +target/maven-archiver/pom.properties +test-db/log/ext/javac-1.properties +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/maven-wrapper/test.expected b/java/ql/integration-tests/all-platforms/java/maven-wrapper/test.expected deleted file mode 100644 index dd77a3fab0a..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-wrapper/test.expected +++ /dev/null @@ -1,16 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| pom.xml:0:0:0:0 | pom.xml | -| src/main/resources/page.xml:0:0:0:0 | src/main/resources/page.xml | -| src/main/resources/struts.xml:0:0:0:0 | src/main/resources/struts.xml | -| target/classes/page.xml:0:0:0:0 | target/classes/page.xml | -| target/classes/struts.xml:0:0:0:0 | target/classes/struts.xml | -propertiesFiles -| .mvn/wrapper/maven-wrapper.properties:0:0:0:0 | .mvn/wrapper/maven-wrapper.properties | -| src/main/resources/my-app.properties:0:0:0:0 | src/main/resources/my-app.properties | -| target/classes/my-app.properties:0:0:0:0 | target/classes/my-app.properties | -| target/maven-archiver/pom.properties:0:0:0:0 | target/maven-archiver/pom.properties | -| test-db/log/ext/javac-1.properties:0:0:0:0 | test-db/log/ext/javac-1.properties | -| test-db/log/ext/javac.properties:0:0:0:0 | test-db/log/ext/javac.properties | diff --git a/java/ql/integration-tests/all-platforms/java/maven-wrapper/test.py b/java/ql/integration-tests/all-platforms/java/maven-wrapper/test.py index 5311b982c2b..eb49efe6a2a 100644 --- a/java/ql/integration-tests/all-platforms/java/maven-wrapper/test.py +++ b/java/ql/integration-tests/all-platforms/java/maven-wrapper/test.py @@ -1,7 +1,2 @@ -import sys - -from create_database_utils import * -from maven_wrapper_test_utils import * - -run_codeql_database_create([], lang="java") -check_maven_wrapper_exists("3.9.4") +def test(codeql, java): + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/maven-wrapper/test.ql b/java/ql/integration-tests/all-platforms/java/maven-wrapper/test.ql deleted file mode 100644 index 25cd26fdd14..00000000000 --- a/java/ql/integration-tests/all-platforms/java/maven-wrapper/test.ql +++ /dev/null @@ -1,9 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } - -query predicate propertiesFiles(File f) { f.getExtension() = "properties" } diff --git a/java/ql/integration-tests/all-platforms/java/multi-release-jar-java11/test.py b/java/ql/integration-tests/all-platforms/java/multi-release-jar-java11/test.py index c4726143c50..d67602f8bcb 100644 --- a/java/ql/integration-tests/all-platforms/java/multi-release-jar-java11/test.py +++ b/java/ql/integration-tests/all-platforms/java/multi-release-jar-java11/test.py @@ -1,15 +1,24 @@ -import sys +import commands -from create_database_utils import * -import subprocess -import os -try_use_java11() - -os.mkdir("mod1obj") -os.mkdir("mod2obj") - -subprocess.check_call(["javac", "mod1/module-info.java", "mod1/mod1pkg/Mod1Class.java", "-d", "mod1obj"]) -subprocess.check_call(["jar", "-c", "-f", "mod1.jar", "-C", "mod1obj", "mod1pkg/Mod1Class.class", "--release", "9", "-C", "mod1obj", "module-info.class"]) - -run_codeql_database_create(["javac mod2/mod2pkg/User.java mod2/module-info.java -d mod2obj -p mod1.jar"], lang="java") +def test(codeql, use_java_11, java): + commands.run(["javac", "mod1/module-info.java", "mod1/mod1pkg/Mod1Class.java", "-d", "mod1obj"]) + commands.run( + [ + "jar", + "-c", + "-f", + "mod1.jar", + "-C", + "mod1obj", + "mod1pkg/Mod1Class.class", + "--release", + "9", + "-C", + "mod1obj", + "module-info.class", + ] + ) + codeql.database.create( + command="javac mod2/mod2pkg/User.java mod2/module-info.java -d mod2obj -p mod1.jar" + ) diff --git a/java/ql/integration-tests/all-platforms/java/multi-release-jar-java17/test.py b/java/ql/integration-tests/all-platforms/java/multi-release-jar-java17/test.py index c912a0cb27a..567cd51bef2 100644 --- a/java/ql/integration-tests/all-platforms/java/multi-release-jar-java17/test.py +++ b/java/ql/integration-tests/all-platforms/java/multi-release-jar-java17/test.py @@ -1,13 +1,24 @@ -import sys +import commands -from create_database_utils import * -import subprocess -import os -os.mkdir("mod1obj") -os.mkdir("mod2obj") - -subprocess.check_call(["javac", "mod1/module-info.java", "mod1/mod1pkg/Mod1Class.java", "-d", "mod1obj"]) -subprocess.check_call(["jar", "-c", "-f", "mod1.jar", "-C", "mod1obj", "mod1pkg/Mod1Class.class", "--release", "9", "-C", "mod1obj", "module-info.class"]) - -run_codeql_database_create(["javac mod2/mod2pkg/User.java mod2/module-info.java -d mod2obj -p mod1.jar"], lang="java") +def test(codeql, java): + commands.run(["javac", "mod1/module-info.java", "mod1/mod1pkg/Mod1Class.java", "-d", "mod1obj"]) + commands.run( + [ + "jar", + "-c", + "-f", + "mod1.jar", + "-C", + "mod1obj", + "mod1pkg/Mod1Class.class", + "--release", + "9", + "-C", + "mod1obj", + "module-info.class", + ] + ) + codeql.database.create( + command="javac mod2/mod2pkg/User.java mod2/module-info.java -d mod2obj -p mod1.jar" + ) diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/force_sequential_test_execution deleted file mode 100644 index b0e2500b259..00000000000 --- a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/force_sequential_test_execution +++ /dev/null @@ -1,3 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/source_archive.expected b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/source_archive.expected new file mode 100644 index 00000000000..67b20f5ad70 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/source_archive.expected @@ -0,0 +1,10 @@ +.gradle/6.6.1/gc.properties +.gradle/buildOutputCleanup/cache.properties +.gradle/configuration-cache/gc.properties +.gradle/vcs-1/gc.properties +gradle/verification-metadata.xml +gradle/wrapper/gradle-wrapper.properties +src/main/java/com/example/App.java +src/test/java/com/example/AppTest.java +test-db/log/ext/javac-1.properties +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.expected b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.expected deleted file mode 100644 index e7dd5838e6b..00000000000 --- a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.expected +++ /dev/null @@ -1,5 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| gradle/verification-metadata.xml:0:0:0:0 | gradle/verification-metadata.xml | diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.py b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.py index 846a89e8703..44576600a58 100644 --- a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.py +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.py @@ -1,31 +1,17 @@ -import sys - -from create_database_utils import * -import shutil -import os.path import tempfile -import platform +import runs_on +import pathlib -#The version of gradle used doesn't work on java 17 -try_use_java11() -gradle_override_dir = tempfile.mkdtemp() -if platform.system() == "Windows": - with open(os.path.join(gradle_override_dir, "gradle.bat"), "w") as f: - f.write("@echo off\nexit /b 2\n") -else: - gradlepath = os.path.join(gradle_override_dir, "gradle") - with open(gradlepath, "w") as f: - f.write("#!/bin/bash\nexit 1\n") - os.chmod(gradlepath, 0o0755) +# The version of gradle used doesn't work on java 17 +def test(codeql, use_java_11, java, environment): + gradle_override_dir = pathlib.Path(tempfile.mkdtemp()) + if runs_on.windows: + (gradle_override_dir / "gradle.bat").write_text("@echo off\nexit /b 2\n") + else: + gradlepath = gradle_override_dir / "gradle" + gradlepath.write_text("#!/bin/bash\nexit 1\n") + gradlepath.chmod(0o0755) -oldpath = os.getenv("PATH") -os.environ["PATH"] = gradle_override_dir + os.pathsep + oldpath - -try: - run_codeql_database_create([], lang="java") -finally: - try: - shutil.rmtree(gradle_override_dir) - except Exception as e: - pass + environment.add_path(gradle_override_dir) + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.ql b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample-without-gradle/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/.gitignore b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/.gitignore deleted file mode 100644 index 1b6985c0094..00000000000 --- a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -# Ignore Gradle project-specific cache directory -.gradle - -# Ignore Gradle build output directory -build diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/force_sequential_test_execution deleted file mode 100644 index b0e2500b259..00000000000 --- a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/force_sequential_test_execution +++ /dev/null @@ -1,3 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/source_archive.expected b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/source_archive.expected new file mode 100644 index 00000000000..67b20f5ad70 --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/source_archive.expected @@ -0,0 +1,10 @@ +.gradle/6.6.1/gc.properties +.gradle/buildOutputCleanup/cache.properties +.gradle/configuration-cache/gc.properties +.gradle/vcs-1/gc.properties +gradle/verification-metadata.xml +gradle/wrapper/gradle-wrapper.properties +src/main/java/com/example/App.java +src/test/java/com/example/AppTest.java +test-db/log/ext/javac-1.properties +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/test.expected b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/test.expected deleted file mode 100644 index e7dd5838e6b..00000000000 --- a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/test.expected +++ /dev/null @@ -1,5 +0,0 @@ -#select -| src/main/java/com/example/App.java:0:0:0:0 | App | -| src/test/java/com/example/AppTest.java:0:0:0:0 | AppTest | -xmlFiles -| gradle/verification-metadata.xml:0:0:0:0 | gradle/verification-metadata.xml | diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/test.py b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/test.py index 1cb6e142763..31e476045b1 100644 --- a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/test.py +++ b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/test.py @@ -1,8 +1,5 @@ -import sys +# The version of gradle used doesn't work on java 17 -from create_database_utils import * -#The version of gradle used doesn't work on java 17 -try_use_java11() - -run_codeql_database_create([], lang="java") +def test(codeql, use_java_11, java): + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/test.ql b/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/partial-gradle-sample/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } diff --git a/java/ql/integration-tests/all-platforms/java/spring-boot-sample/.gitattributes b/java/ql/integration-tests/all-platforms/java/spring-boot-sample/.gitattributes deleted file mode 100644 index 00a51aff5e5..00000000000 --- a/java/ql/integration-tests/all-platforms/java/spring-boot-sample/.gitattributes +++ /dev/null @@ -1,6 +0,0 @@ -# -# https://help.github.com/articles/dealing-with-line-endings/ -# -# These are explicitly windows files and should use crlf -*.bat text eol=crlf - diff --git a/java/ql/integration-tests/all-platforms/java/spring-boot-sample/.gitignore b/java/ql/integration-tests/all-platforms/java/spring-boot-sample/.gitignore deleted file mode 100644 index c2065bc2620..00000000000 --- a/java/ql/integration-tests/all-platforms/java/spring-boot-sample/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -HELP.md -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ diff --git a/java/ql/integration-tests/all-platforms/java/spring-boot-sample/force_sequential_test_execution b/java/ql/integration-tests/all-platforms/java/spring-boot-sample/force_sequential_test_execution deleted file mode 100644 index b0e2500b259..00000000000 --- a/java/ql/integration-tests/all-platforms/java/spring-boot-sample/force_sequential_test_execution +++ /dev/null @@ -1,3 +0,0 @@ -# We currently have a bug where gradle tests become flaky when executed in parallel -# - sometimes, gradle fails to connect to the gradle daemon. -# Therefore, force this test to run sequentially. diff --git a/java/ql/integration-tests/all-platforms/java/spring-boot-sample/gradle/wrapper/gradle-wrapper.jar b/java/ql/integration-tests/all-platforms/java/spring-boot-sample/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index e6441136f3d4ba8a0da8d277868979cfbc8ad796..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43453 zcma&N1CXTcmMvW9vTb(Rwr$&4wr$(C?dmSu>@vG-+vuvg^_??!{yS%8zW-#zn-LkA z5&1^$^{lnmUON?}LBF8_K|(?T0Ra(xUH{($5eN!MR#ZihR#HxkUPe+_R8Cn`RRs(P z_^*#_XlXmGv7!4;*Y%p4nw?{bNp@UZHv1?Um8r6)Fei3p@ClJn0ECfg1hkeuUU@Or zDaPa;U3fE=3L}DooL;8f;P0ipPt0Z~9P0)lbStMS)ag54=uL9ia-Lm3nh|@(Y?B`; zx_#arJIpXH!U{fbCbI^17}6Ri*H<>OLR%c|^mh8+)*h~K8Z!9)DPf zR2h?lbDZQ`p9P;&DQ4F0sur@TMa!Y}S8irn(%d-gi0*WxxCSk*A?3lGh=gcYN?FGl z7D=Js!i~0=u3rox^eO3i@$0=n{K1lPNU zwmfjRVmLOCRfe=seV&P*1Iq=^i`502keY8Uy-WNPwVNNtJFx?IwAyRPZo2Wo1+S(xF37LJZ~%i)kpFQ3Fw=mXfd@>%+)RpYQLnr}B~~zoof(JVm^^&f zxKV^+3D3$A1G;qh4gPVjhrC8e(VYUHv#dy^)(RoUFM?o%W-EHxufuWf(l*@-l+7vt z=l`qmR56K~F|v<^Pd*p~1_y^P0P^aPC##d8+HqX4IR1gu+7w#~TBFphJxF)T$2WEa zxa?H&6=Qe7d(#tha?_1uQys2KtHQ{)Qco)qwGjrdNL7thd^G5i8Os)CHqc>iOidS} z%nFEDdm=GXBw=yXe1W-ShHHFb?Cc70+$W~z_+}nAoHFYI1MV1wZegw*0y^tC*s%3h zhD3tN8b=Gv&rj}!SUM6|ajSPp*58KR7MPpI{oAJCtY~JECm)*m_x>AZEu>DFgUcby z1Qaw8lU4jZpQ_$;*7RME+gq1KySGG#Wql>aL~k9tLrSO()LWn*q&YxHEuzmwd1?aAtI zBJ>P=&$=l1efe1CDU;`Fd+_;&wI07?V0aAIgc(!{a z0Jg6Y=inXc3^n!U0Atk`iCFIQooHqcWhO(qrieUOW8X(x?(RD}iYDLMjSwffH2~tB z)oDgNBLB^AJBM1M^c5HdRx6fBfka`(LD-qrlh5jqH~);#nw|iyp)()xVYak3;Ybik z0j`(+69aK*B>)e_p%=wu8XC&9e{AO4c~O1U`5X9}?0mrd*m$_EUek{R?DNSh(=br# z#Q61gBzEpmy`$pA*6!87 zSDD+=@fTY7<4A?GLqpA?Pb2z$pbCc4B4zL{BeZ?F-8`s$?>*lXXtn*NC61>|*w7J* z$?!iB{6R-0=KFmyp1nnEmLsA-H0a6l+1uaH^g%c(p{iT&YFrbQ$&PRb8Up#X3@Zsk zD^^&LK~111%cqlP%!_gFNa^dTYT?rhkGl}5=fL{a`UViaXWI$k-UcHJwmaH1s=S$4 z%4)PdWJX;hh5UoK?6aWoyLxX&NhNRqKam7tcOkLh{%j3K^4Mgx1@i|Pi&}<^5>hs5 zm8?uOS>%)NzT(%PjVPGa?X%`N2TQCKbeH2l;cTnHiHppPSJ<7y-yEIiC!P*ikl&!B z%+?>VttCOQM@ShFguHVjxX^?mHX^hSaO_;pnyh^v9EumqSZTi+#f&_Vaija0Q-e*| z7ulQj6Fs*bbmsWp{`auM04gGwsYYdNNZcg|ph0OgD>7O}Asn7^Z=eI>`$2*v78;sj-}oMoEj&@)9+ycEOo92xSyY344^ z11Hb8^kdOvbf^GNAK++bYioknrpdN>+u8R?JxG=!2Kd9r=YWCOJYXYuM0cOq^FhEd zBg2puKy__7VT3-r*dG4c62Wgxi52EMCQ`bKgf*#*ou(D4-ZN$+mg&7$u!! z-^+Z%;-3IDwqZ|K=ah85OLwkO zKxNBh+4QHh)u9D?MFtpbl)us}9+V!D%w9jfAMYEb>%$A;u)rrI zuBudh;5PN}_6J_}l55P3l_)&RMlH{m!)ai-i$g)&*M`eN$XQMw{v^r@-125^RRCF0 z^2>|DxhQw(mtNEI2Kj(;KblC7x=JlK$@78`O~>V!`|1Lm-^JR$-5pUANAnb(5}B}JGjBsliK4& zk6y(;$e&h)lh2)L=bvZKbvh@>vLlreBdH8No2>$#%_Wp1U0N7Ank!6$dFSi#xzh|( zRi{Uw%-4W!{IXZ)fWx@XX6;&(m_F%c6~X8hx=BN1&q}*( zoaNjWabE{oUPb!Bt$eyd#$5j9rItB-h*5JiNi(v^e|XKAj*8(k<5-2$&ZBR5fF|JA z9&m4fbzNQnAU}r8ab>fFV%J0z5awe#UZ|bz?Ur)U9bCIKWEzi2%A+5CLqh?}K4JHi z4vtM;+uPsVz{Lfr;78W78gC;z*yTch~4YkLr&m-7%-xc ztw6Mh2d>_iO*$Rd8(-Cr1_V8EO1f*^@wRoSozS) zy1UoC@pruAaC8Z_7~_w4Q6n*&B0AjOmMWa;sIav&gu z|J5&|{=a@vR!~k-OjKEgPFCzcJ>#A1uL&7xTDn;{XBdeM}V=l3B8fE1--DHjSaxoSjNKEM9|U9#m2<3>n{Iuo`r3UZp;>GkT2YBNAh|b z^jTq-hJp(ebZh#Lk8hVBP%qXwv-@vbvoREX$TqRGTgEi$%_F9tZES@z8Bx}$#5eeG zk^UsLBH{bc2VBW)*EdS({yw=?qmevwi?BL6*=12k9zM5gJv1>y#ML4!)iiPzVaH9% zgSImetD@dam~e>{LvVh!phhzpW+iFvWpGT#CVE5TQ40n%F|p(sP5mXxna+Ev7PDwA zamaV4m*^~*xV+&p;W749xhb_X=$|LD;FHuB&JL5?*Y2-oIT(wYY2;73<^#46S~Gx| z^cez%V7x$81}UWqS13Gz80379Rj;6~WdiXWOSsdmzY39L;Hg3MH43o*y8ibNBBH`(av4|u;YPq%{R;IuYow<+GEsf@R?=@tT@!}?#>zIIn0CoyV!hq3mw zHj>OOjfJM3F{RG#6ujzo?y32m^tgSXf@v=J$ELdJ+=5j|=F-~hP$G&}tDZsZE?5rX ztGj`!S>)CFmdkccxM9eGIcGnS2AfK#gXwj%esuIBNJQP1WV~b~+D7PJTmWGTSDrR` zEAu4B8l>NPuhsk5a`rReSya2nfV1EK01+G!x8aBdTs3Io$u5!6n6KX%uv@DxAp3F@{4UYg4SWJtQ-W~0MDb|j-$lwVn znAm*Pl!?Ps&3wO=R115RWKb*JKoexo*)uhhHBncEDMSVa_PyA>k{Zm2(wMQ(5NM3# z)jkza|GoWEQo4^s*wE(gHz?Xsg4`}HUAcs42cM1-qq_=+=!Gk^y710j=66(cSWqUe zklbm8+zB_syQv5A2rj!Vbw8;|$@C!vfNmNV!yJIWDQ>{+2x zKjuFX`~~HKG~^6h5FntRpnnHt=D&rq0>IJ9#F0eM)Y-)GpRjiN7gkA8wvnG#K=q{q z9dBn8_~wm4J<3J_vl|9H{7q6u2A!cW{bp#r*-f{gOV^e=8S{nc1DxMHFwuM$;aVI^ zz6A*}m8N-&x8;aunp1w7_vtB*pa+OYBw=TMc6QK=mbA-|Cf* zvyh8D4LRJImooUaSb7t*fVfih<97Gf@VE0|z>NcBwBQze);Rh!k3K_sfunToZY;f2 z^HmC4KjHRVg+eKYj;PRN^|E0>Gj_zagfRbrki68I^#~6-HaHg3BUW%+clM1xQEdPYt_g<2K+z!$>*$9nQ>; zf9Bei{?zY^-e{q_*|W#2rJG`2fy@{%6u0i_VEWTq$*(ZN37|8lFFFt)nCG({r!q#9 z5VK_kkSJ3?zOH)OezMT{!YkCuSSn!K#-Rhl$uUM(bq*jY? zi1xbMVthJ`E>d>(f3)~fozjg^@eheMF6<)I`oeJYx4*+M&%c9VArn(OM-wp%M<-`x z7sLP1&3^%Nld9Dhm@$3f2}87!quhI@nwd@3~fZl_3LYW-B?Ia>ui`ELg z&Qfe!7m6ze=mZ`Ia9$z|ARSw|IdMpooY4YiPN8K z4B(ts3p%2i(Td=tgEHX z0UQ_>URBtG+-?0E;E7Ld^dyZ;jjw0}XZ(}-QzC6+NN=40oDb2^v!L1g9xRvE#@IBR zO!b-2N7wVfLV;mhEaXQ9XAU+>=XVA6f&T4Z-@AX!leJ8obP^P^wP0aICND?~w&NykJ#54x3_@r7IDMdRNy4Hh;h*!u(Ol(#0bJdwEo$5437-UBjQ+j=Ic>Q2z` zJNDf0yO6@mr6y1#n3)s(W|$iE_i8r@Gd@!DWDqZ7J&~gAm1#~maIGJ1sls^gxL9LLG_NhU!pTGty!TbhzQnu)I*S^54U6Yu%ZeCg`R>Q zhBv$n5j0v%O_j{QYWG!R9W?5_b&67KB$t}&e2LdMvd(PxN6Ir!H4>PNlerpBL>Zvyy!yw z-SOo8caEpDt(}|gKPBd$qND5#a5nju^O>V&;f890?yEOfkSG^HQVmEbM3Ugzu+UtH zC(INPDdraBN?P%kE;*Ae%Wto&sgw(crfZ#Qy(<4nk;S|hD3j{IQRI6Yq|f^basLY; z-HB&Je%Gg}Jt@={_C{L$!RM;$$|iD6vu#3w?v?*;&()uB|I-XqEKqZPS!reW9JkLewLb!70T7n`i!gNtb1%vN- zySZj{8-1>6E%H&=V}LM#xmt`J3XQoaD|@XygXjdZ1+P77-=;=eYpoEQ01B@L*a(uW zrZeZz?HJsw_4g0vhUgkg@VF8<-X$B8pOqCuWAl28uB|@r`19DTUQQsb^pfqB6QtiT z*`_UZ`fT}vtUY#%sq2{rchyfu*pCg;uec2$-$N_xgjZcoumE5vSI{+s@iLWoz^Mf; zuI8kDP{!XY6OP~q5}%1&L}CtfH^N<3o4L@J@zg1-mt{9L`s^z$Vgb|mr{@WiwAqKg zp#t-lhrU>F8o0s1q_9y`gQNf~Vb!F%70f}$>i7o4ho$`uciNf=xgJ>&!gSt0g;M>*x4-`U)ysFW&Vs^Vk6m%?iuWU+o&m(2Jm26Y(3%TL; zA7T)BP{WS!&xmxNw%J=$MPfn(9*^*TV;$JwRy8Zl*yUZi8jWYF>==j~&S|Xinsb%c z2?B+kpet*muEW7@AzjBA^wAJBY8i|#C{WtO_or&Nj2{=6JTTX05}|H>N2B|Wf!*3_ z7hW*j6p3TvpghEc6-wufFiY!%-GvOx*bZrhZu+7?iSrZL5q9}igiF^*R3%DE4aCHZ zqu>xS8LkW+Auv%z-<1Xs92u23R$nk@Pk}MU5!gT|c7vGlEA%G^2th&Q*zfg%-D^=f z&J_}jskj|Q;73NP4<4k*Y%pXPU2Thoqr+5uH1yEYM|VtBPW6lXaetokD0u z9qVek6Q&wk)tFbQ8(^HGf3Wp16gKmr>G;#G(HRBx?F`9AIRboK+;OfHaLJ(P>IP0w zyTbTkx_THEOs%Q&aPrxbZrJlio+hCC_HK<4%f3ZoSAyG7Dn`=X=&h@m*|UYO-4Hq0 z-Bq&+Ie!S##4A6OGoC~>ZW`Y5J)*ouaFl_e9GA*VSL!O_@xGiBw!AF}1{tB)z(w%c zS1Hmrb9OC8>0a_$BzeiN?rkPLc9%&;1CZW*4}CDDNr2gcl_3z+WC15&H1Zc2{o~i) z)LLW=WQ{?ricmC`G1GfJ0Yp4Dy~Ba;j6ZV4r{8xRs`13{dD!xXmr^Aga|C=iSmor% z8hi|pTXH)5Yf&v~exp3o+sY4B^^b*eYkkCYl*T{*=-0HniSA_1F53eCb{x~1k3*`W zr~};p1A`k{1DV9=UPnLDgz{aJH=-LQo<5%+Em!DNN252xwIf*wF_zS^!(XSm(9eoj z=*dXG&n0>)_)N5oc6v!>-bd(2ragD8O=M|wGW z!xJQS<)u70m&6OmrF0WSsr@I%T*c#Qo#Ha4d3COcX+9}hM5!7JIGF>7<~C(Ear^Sn zm^ZFkV6~Ula6+8S?oOROOA6$C&q&dp`>oR-2Ym3(HT@O7Sd5c~+kjrmM)YmgPH*tL zX+znN>`tv;5eOfX?h{AuX^LK~V#gPCu=)Tigtq9&?7Xh$qN|%A$?V*v=&-2F$zTUv z`C#WyIrChS5|Kgm_GeudCFf;)!WH7FI60j^0o#65o6`w*S7R@)88n$1nrgU(oU0M9 zx+EuMkC>(4j1;m6NoGqEkpJYJ?vc|B zOlwT3t&UgL!pX_P*6g36`ZXQ; z9~Cv}ANFnJGp(;ZhS(@FT;3e)0)Kp;h^x;$*xZn*k0U6-&FwI=uOGaODdrsp-!K$Ac32^c{+FhI-HkYd5v=`PGsg%6I`4d9Jy)uW0y%) zm&j^9WBAp*P8#kGJUhB!L?a%h$hJgQrx!6KCB_TRo%9{t0J7KW8!o1B!NC)VGLM5! zpZy5Jc{`r{1e(jd%jsG7k%I+m#CGS*BPA65ZVW~fLYw0dA-H_}O zrkGFL&P1PG9p2(%QiEWm6x;U-U&I#;Em$nx-_I^wtgw3xUPVVu zqSuKnx&dIT-XT+T10p;yjo1Y)z(x1fb8Dzfn8e yu?e%!_ptzGB|8GrCfu%p?(_ zQccdaaVK$5bz;*rnyK{_SQYM>;aES6Qs^lj9lEs6_J+%nIiuQC*fN;z8md>r_~Mfl zU%p5Dt_YT>gQqfr@`cR!$NWr~+`CZb%dn;WtzrAOI>P_JtsB76PYe*<%H(y>qx-`Kq!X_; z<{RpAqYhE=L1r*M)gNF3B8r(<%8mo*SR2hu zccLRZwGARt)Hlo1euqTyM>^!HK*!Q2P;4UYrysje@;(<|$&%vQekbn|0Ruu_Io(w4#%p6ld2Yp7tlA`Y$cciThP zKzNGIMPXX%&Ud0uQh!uQZz|FB`4KGD?3!ND?wQt6!n*f4EmCoJUh&b?;B{|lxs#F- z31~HQ`SF4x$&v00@(P+j1pAaj5!s`)b2RDBp*PB=2IB>oBF!*6vwr7Dp%zpAx*dPr zb@Zjq^XjN?O4QcZ*O+8>)|HlrR>oD*?WQl5ri3R#2?*W6iJ>>kH%KnnME&TT@ZzrHS$Q%LC?n|e>V+D+8D zYc4)QddFz7I8#}y#Wj6>4P%34dZH~OUDb?uP%-E zwjXM(?Sg~1!|wI(RVuxbu)-rH+O=igSho_pDCw(c6b=P zKk4ATlB?bj9+HHlh<_!&z0rx13K3ZrAR8W)!@Y}o`?a*JJsD+twZIv`W)@Y?Amu_u zz``@-e2X}27$i(2=9rvIu5uTUOVhzwu%mNazS|lZb&PT;XE2|B&W1>=B58#*!~D&) zfVmJGg8UdP*fx(>Cj^?yS^zH#o-$Q-*$SnK(ZVFkw+er=>N^7!)FtP3y~Xxnu^nzY zikgB>Nj0%;WOltWIob|}%lo?_C7<``a5hEkx&1ku$|)i>Rh6@3h*`slY=9U}(Ql_< zaNG*J8vb&@zpdhAvv`?{=zDedJ23TD&Zg__snRAH4eh~^oawdYi6A3w8<Ozh@Kw)#bdktM^GVb zrG08?0bG?|NG+w^&JvD*7LAbjED{_Zkc`3H!My>0u5Q}m!+6VokMLXxl`Mkd=g&Xx z-a>m*#G3SLlhbKB!)tnzfWOBV;u;ftU}S!NdD5+YtOjLg?X}dl>7m^gOpihrf1;PY zvll&>dIuUGs{Qnd- zwIR3oIrct8Va^Tm0t#(bJD7c$Z7DO9*7NnRZorrSm`b`cxz>OIC;jSE3DO8`hX955ui`s%||YQtt2 z5DNA&pG-V+4oI2s*x^>-$6J?p=I>C|9wZF8z;VjR??Icg?1w2v5Me+FgAeGGa8(3S z4vg*$>zC-WIVZtJ7}o9{D-7d>zCe|z#<9>CFve-OPAYsneTb^JH!Enaza#j}^mXy1 z+ULn^10+rWLF6j2>Ya@@Kq?26>AqK{A_| zQKb*~F1>sE*=d?A?W7N2j?L09_7n+HGi{VY;MoTGr_)G9)ot$p!-UY5zZ2Xtbm=t z@dpPSGwgH=QtIcEulQNI>S-#ifbnO5EWkI;$A|pxJd885oM+ zGZ0_0gDvG8q2xebj+fbCHYfAXuZStH2j~|d^sBAzo46(K8n59+T6rzBwK)^rfPT+B zyIFw)9YC-V^rhtK`!3jrhmW-sTmM+tPH+;nwjL#-SjQPUZ53L@A>y*rt(#M(qsiB2 zx6B)dI}6Wlsw%bJ8h|(lhkJVogQZA&n{?Vgs6gNSXzuZpEyu*xySy8ro07QZ7Vk1!3tJphN_5V7qOiyK8p z#@jcDD8nmtYi1^l8ml;AF<#IPK?!pqf9D4moYk>d99Im}Jtwj6c#+A;f)CQ*f-hZ< z=p_T86jog%!p)D&5g9taSwYi&eP z#JuEK%+NULWus;0w32-SYFku#i}d~+{Pkho&^{;RxzP&0!RCm3-9K6`>KZpnzS6?L z^H^V*s!8<>x8bomvD%rh>Zp3>Db%kyin;qtl+jAv8Oo~1g~mqGAC&Qi_wy|xEt2iz zWAJEfTV%cl2Cs<1L&DLRVVH05EDq`pH7Oh7sR`NNkL%wi}8n>IXcO40hp+J+sC!W?!krJf!GJNE8uj zg-y~Ns-<~D?yqbzVRB}G>0A^f0!^N7l=$m0OdZuqAOQqLc zX?AEGr1Ht+inZ-Qiwnl@Z0qukd__a!C*CKuGdy5#nD7VUBM^6OCpxCa2A(X;e0&V4 zM&WR8+wErQ7UIc6LY~Q9x%Sn*Tn>>P`^t&idaOEnOd(Ufw#>NoR^1QdhJ8s`h^|R_ zXX`c5*O~Xdvh%q;7L!_!ohf$NfEBmCde|#uVZvEo>OfEq%+Ns7&_f$OR9xsihRpBb z+cjk8LyDm@U{YN>+r46?nn{7Gh(;WhFw6GAxtcKD+YWV?uge>;+q#Xx4!GpRkVZYu zzsF}1)7$?%s9g9CH=Zs+B%M_)+~*j3L0&Q9u7!|+T`^O{xE6qvAP?XWv9_MrZKdo& z%IyU)$Q95AB4!#hT!_dA>4e@zjOBD*Y=XjtMm)V|+IXzjuM;(l+8aA5#Kaz_$rR6! zj>#&^DidYD$nUY(D$mH`9eb|dtV0b{S>H6FBfq>t5`;OxA4Nn{J(+XihF(stSche7$es&~N$epi&PDM_N`As;*9D^L==2Q7Z2zD+CiU(|+-kL*VG+&9!Yb3LgPy?A zm7Z&^qRG_JIxK7-FBzZI3Q<;{`DIxtc48k> zc|0dmX;Z=W$+)qE)~`yn6MdoJ4co;%!`ddy+FV538Y)j(vg}5*k(WK)KWZ3WaOG!8 z!syGn=s{H$odtpqFrT#JGM*utN7B((abXnpDM6w56nhw}OY}0TiTG1#f*VFZr+^-g zbP10`$LPq_;PvrA1XXlyx2uM^mrjTzX}w{yuLo-cOClE8MMk47T25G8M!9Z5ypOSV zAJUBGEg5L2fY)ZGJb^E34R2zJ?}Vf>{~gB!8=5Z) z9y$>5c)=;o0HeHHSuE4U)#vG&KF|I%-cF6f$~pdYJWk_dD}iOA>iA$O$+4%@>JU08 zS`ep)$XLPJ+n0_i@PkF#ri6T8?ZeAot$6JIYHm&P6EB=BiaNY|aA$W0I+nz*zkz_z zkEru!tj!QUffq%)8y0y`T&`fuus-1p>=^hnBiBqD^hXrPs`PY9tU3m0np~rISY09> z`P3s=-kt_cYcxWd{de@}TwSqg*xVhp;E9zCsnXo6z z?f&Sv^U7n4`xr=mXle94HzOdN!2kB~4=%)u&N!+2;z6UYKUDqi-s6AZ!haB;@&B`? z_TRX0%@suz^TRdCb?!vNJYPY8L_}&07uySH9%W^Tc&1pia6y1q#?*Drf}GjGbPjBS zbOPcUY#*$3sL2x4v_i*Y=N7E$mR}J%|GUI(>WEr+28+V z%v5{#e!UF*6~G&%;l*q*$V?&r$Pp^sE^i-0$+RH3ERUUdQ0>rAq2(2QAbG}$y{de( z>{qD~GGuOk559Y@%$?N^1ApVL_a704>8OD%8Y%8B;FCt%AoPu8*D1 zLB5X>b}Syz81pn;xnB}%0FnwazlWfUV)Z-~rZg6~b z6!9J$EcE&sEbzcy?CI~=boWA&eeIa%z(7SE^qgVLz??1Vbc1*aRvc%Mri)AJaAG!p z$X!_9Ds;Zz)f+;%s&dRcJt2==P{^j3bf0M=nJd&xwUGlUFn?H=2W(*2I2Gdu zv!gYCwM10aeus)`RIZSrCK=&oKaO_Ry~D1B5!y0R=%!i2*KfXGYX&gNv_u+n9wiR5 z*e$Zjju&ODRW3phN925%S(jL+bCHv6rZtc?!*`1TyYXT6%Ju=|X;6D@lq$8T zW{Y|e39ioPez(pBH%k)HzFITXHvnD6hw^lIoUMA;qAJ^CU?top1fo@s7xT13Fvn1H z6JWa-6+FJF#x>~+A;D~;VDs26>^oH0EI`IYT2iagy23?nyJ==i{g4%HrAf1-*v zK1)~@&(KkwR7TL}L(A@C_S0G;-GMDy=MJn2$FP5s<%wC)4jC5PXoxrQBFZ_k0P{{s@sz+gX`-!=T8rcB(=7vW}^K6oLWMmp(rwDh}b zwaGGd>yEy6fHv%jM$yJXo5oMAQ>c9j`**}F?MCry;T@47@r?&sKHgVe$MCqk#Z_3S z1GZI~nOEN*P~+UaFGnj{{Jo@16`(qVNtbU>O0Hf57-P>x8Jikp=`s8xWs^dAJ9lCQ z)GFm+=OV%AMVqVATtN@|vp61VVAHRn87}%PC^RAzJ%JngmZTasWBAWsoAqBU+8L8u z4A&Pe?fmTm0?mK-BL9t+{y7o(7jm+RpOhL9KnY#E&qu^}B6=K_dB}*VlSEiC9fn)+V=J;OnN)Ta5v66ic1rG+dGAJ1 z1%Zb_+!$=tQ~lxQrzv3x#CPb?CekEkA}0MYSgx$Jdd}q8+R=ma$|&1a#)TQ=l$1tQ z=tL9&_^vJ)Pk}EDO-va`UCT1m#Uty1{v^A3P~83_#v^ozH}6*9mIjIr;t3Uv%@VeW zGL6(CwCUp)Jq%G0bIG%?{_*Y#5IHf*5M@wPo6A{$Um++Co$wLC=J1aoG93&T7Ho}P z=mGEPP7GbvoG!uD$k(H3A$Z))+i{Hy?QHdk>3xSBXR0j!11O^mEe9RHmw!pvzv?Ua~2_l2Yh~_!s1qS`|0~0)YsbHSz8!mG)WiJE| z2f($6TQtt6L_f~ApQYQKSb=`053LgrQq7G@98#igV>y#i==-nEjQ!XNu9 z~;mE+gtj4IDDNQJ~JVk5Ux6&LCSFL!y=>79kE9=V}J7tD==Ga+IW zX)r7>VZ9dY=V&}DR))xUoV!u(Z|%3ciQi_2jl}3=$Agc(`RPb z8kEBpvY>1FGQ9W$n>Cq=DIpski};nE)`p3IUw1Oz0|wxll^)4dq3;CCY@RyJgFgc# zKouFh!`?Xuo{IMz^xi-h=StCis_M7yq$u) z?XHvw*HP0VgR+KR6wI)jEMX|ssqYvSf*_3W8zVTQzD?3>H!#>InzpSO)@SC8q*ii- z%%h}_#0{4JG;Jm`4zg};BPTGkYamx$Xo#O~lBirRY)q=5M45n{GCfV7h9qwyu1NxOMoP4)jjZMxmT|IQQh0U7C$EbnMN<3)Kk?fFHYq$d|ICu>KbY_hO zTZM+uKHe(cIZfEqyzyYSUBZa8;Fcut-GN!HSA9ius`ltNebF46ZX_BbZNU}}ZOm{M2&nANL9@0qvih15(|`S~z}m&h!u4x~(%MAO$jHRWNfuxWF#B)E&g3ghSQ9|> z(MFaLQj)NE0lowyjvg8z0#m6FIuKE9lDO~Glg}nSb7`~^&#(Lw{}GVOS>U)m8bF}x zVjbXljBm34Cs-yM6TVusr+3kYFjr28STT3g056y3cH5Tmge~ASxBj z%|yb>$eF;WgrcOZf569sDZOVwoo%8>XO>XQOX1OyN9I-SQgrm;U;+#3OI(zrWyow3 zk==|{lt2xrQ%FIXOTejR>;wv(Pb8u8}BUpx?yd(Abh6? zsoO3VYWkeLnF43&@*#MQ9-i-d0t*xN-UEyNKeyNMHw|A(k(_6QKO=nKMCxD(W(Yop zsRQ)QeL4X3Lxp^L%wzi2-WVSsf61dqliPUM7srDB?Wm6Lzn0&{*}|IsKQW;02(Y&| zaTKv|`U(pSzuvR6Rduu$wzK_W-Y-7>7s?G$)U}&uK;<>vU}^^ns@Z!p+9?St1s)dG zK%y6xkPyyS1$~&6v{kl?Md6gwM|>mt6Upm>oa8RLD^8T{0?HC!Z>;(Bob7el(DV6x zi`I)$&E&ngwFS@bi4^xFLAn`=fzTC;aimE^!cMI2n@Vo%Ae-ne`RF((&5y6xsjjAZ zVguVoQ?Z9uk$2ON;ersE%PU*xGO@T*;j1BO5#TuZKEf(mB7|g7pcEA=nYJ{s3vlbg zd4-DUlD{*6o%Gc^N!Nptgay>j6E5;3psI+C3Q!1ZIbeCubW%w4pq9)MSDyB{HLm|k zxv-{$$A*pS@csolri$Ge<4VZ}e~78JOL-EVyrbxKra^d{?|NnPp86!q>t<&IP07?Z z^>~IK^k#OEKgRH+LjllZXk7iA>2cfH6+(e&9ku5poo~6y{GC5>(bRK7hwjiurqAiZ zg*DmtgY}v83IjE&AbiWgMyFbaRUPZ{lYiz$U^&Zt2YjG<%m((&_JUbZcfJ22(>bi5 z!J?<7AySj0JZ&<-qXX;mcV!f~>G=sB0KnjWca4}vrtunD^1TrpfeS^4dvFr!65knK zZh`d;*VOkPs4*-9kL>$GP0`(M!j~B;#x?Ba~&s6CopvO86oM?-? zOw#dIRc;6A6T?B`Qp%^<U5 z19x(ywSH$_N+Io!6;e?`tWaM$`=Db!gzx|lQ${DG!zb1Zl&|{kX0y6xvO1o z220r<-oaS^^R2pEyY;=Qllqpmue|5yI~D|iI!IGt@iod{Opz@*ml^w2bNs)p`M(Io z|E;;m*Xpjd9l)4G#KaWfV(t8YUn@A;nK^#xgv=LtnArX|vWQVuw3}B${h+frU2>9^ z!l6)!Uo4`5k`<<;E(ido7M6lKTgWezNLq>U*=uz&s=cc$1%>VrAeOoUtA|T6gO4>UNqsdK=NF*8|~*sl&wI=x9-EGiq*aqV!(VVXA57 zw9*o6Ir8Lj1npUXvlevtn(_+^X5rzdR>#(}4YcB9O50q97%rW2me5_L=%ffYPUSRc z!vv?Kv>dH994Qi>U(a<0KF6NH5b16enCp+mw^Hb3Xs1^tThFpz!3QuN#}KBbww`(h z7GO)1olDqy6?T$()R7y%NYx*B0k_2IBiZ14&8|JPFxeMF{vSTxF-Vi3+ZOI=Thq2} zyQgjYY1_7^ZQHh{?P))4+qUiQJLi1&{yE>h?~jU%tjdV0h|FENbM3X(KnJdPKc?~k zh=^Ixv*+smUll!DTWH!jrV*wSh*(mx0o6}1@JExzF(#9FXgmTXVoU+>kDe68N)dkQ zH#_98Zv$}lQwjKL@yBd;U(UD0UCl322=pav<=6g>03{O_3oKTq;9bLFX1ia*lw;#K zOiYDcBJf)82->83N_Y(J7Kr_3lE)hAu;)Q(nUVydv+l+nQ$?|%MWTy`t>{havFSQloHwiIkGK9YZ79^9?AZo0ZyQlVR#}lF%dn5n%xYksXf8gnBm=wO7g_^! zauQ-bH1Dc@3ItZ-9D_*pH}p!IG7j8A_o94#~>$LR|TFq zZ-b00*nuw|-5C2lJDCw&8p5N~Z1J&TrcyErds&!l3$eSz%`(*izc;-?HAFD9AHb-| z>)id`QCrzRws^9(#&=pIx9OEf2rmlob8sK&xPCWS+nD~qzU|qG6KwA{zbikcfQrdH z+ zQg>O<`K4L8rN7`GJB0*3<3`z({lWe#K!4AZLsI{%z#ja^OpfjU{!{)x0ZH~RB0W5X zTwN^w=|nA!4PEU2=LR05x~}|B&ZP?#pNgDMwD*ajI6oJqv!L81gu=KpqH22avXf0w zX3HjbCI!n9>l046)5rr5&v5ja!xkKK42zmqHzPx$9Nn_MZk`gLeSLgC=LFf;H1O#B zn=8|^1iRrujHfbgA+8i<9jaXc;CQBAmQvMGQPhFec2H1knCK2x!T`e6soyrqCamX% zTQ4dX_E*8so)E*TB$*io{$c6X)~{aWfaqdTh=xEeGvOAN9H&-t5tEE-qso<+C!2>+ zskX51H-H}#X{A75wqFe-J{?o8Bx|>fTBtl&tcbdR|132Ztqu5X0i-pisB-z8n71%q%>EF}yy5?z=Ve`}hVh{Drv1YWL zW=%ug_&chF11gDv3D6B)Tz5g54H0mDHNjuKZ+)CKFk4Z|$RD zfRuKLW`1B>B?*RUfVd0+u8h3r-{@fZ{k)c!93t1b0+Q9vOaRnEn1*IL>5Z4E4dZ!7 ztp4GP-^1d>8~LMeb}bW!(aAnB1tM_*la=Xx)q(I0Y@__Zd$!KYb8T2VBRw%e$iSdZ zkwdMwd}eV9q*;YvrBFTv1>1+}{H!JK2M*C|TNe$ZSA>UHKk);wz$(F$rXVc|sI^lD zV^?_J!3cLM;GJuBMbftbaRUs$;F}HDEDtIeHQ)^EJJ1F9FKJTGH<(Jj`phE6OuvE) zqK^K`;3S{Y#1M@8yRQwH`?kHMq4tHX#rJ>5lY3DM#o@or4&^_xtBC(|JpGTfrbGkA z2Tu+AyT^pHannww!4^!$5?@5v`LYy~T`qs7SYt$JgrY(w%C+IWA;ZkwEF)u5sDvOK zGk;G>Mh&elvXDcV69J_h02l&O;!{$({fng9Rlc3ID#tmB^FIG^w{HLUpF+iB`|

    NnX)EH+Nua)3Y(c z&{(nX_ht=QbJ%DzAya}!&uNu!4V0xI)QE$SY__m)SAKcN0P(&JcoK*Lxr@P zY&P=}&B3*UWNlc|&$Oh{BEqwK2+N2U$4WB7Fd|aIal`FGANUa9E-O)!gV`((ZGCc$ zBJA|FFrlg~9OBp#f7aHodCe{6= zay$6vN~zj1ddMZ9gQ4p32(7wD?(dE>KA2;SOzXRmPBiBc6g`eOsy+pVcHu=;Yd8@{ zSGgXf@%sKKQz~;!J;|2fC@emm#^_rnO0esEn^QxXgJYd`#FPWOUU5b;9eMAF zZhfiZb|gk8aJIw*YLp4!*(=3l8Cp{(%p?ho22*vN9+5NLV0TTazNY$B5L6UKUrd$n zjbX%#m7&F#U?QNOBXkiiWB*_tk+H?N3`vg;1F-I+83{M2!8<^nydGr5XX}tC!10&e z7D36bLaB56WrjL&HiiMVtpff|K%|*{t*ltt^5ood{FOG0<>k&1h95qPio)2`eL${YAGIx(b4VN*~nKn6E~SIQUuRH zQ+5zP6jfnP$S0iJ@~t!Ai3o`X7biohli;E zT#yXyl{bojG@-TGZzpdVDXhbmF%F9+-^YSIv|MT1l3j zrxOFq>gd2%U}?6}8mIj?M zc077Zc9fq(-)4+gXv?Az26IO6eV`RAJz8e3)SC7~>%rlzDwySVx*q$ygTR5kW2ds- z!HBgcq0KON9*8Ff$X0wOq$`T7ml(@TF)VeoF}x1OttjuVHn3~sHrMB++}f7f9H%@f z=|kP_?#+fve@{0MlbkC9tyvQ_R?lRdRJ@$qcB(8*jyMyeME5ns6ypVI1Xm*Zr{DuS zZ!1)rQfa89c~;l~VkCiHI|PCBd`S*2RLNQM8!g9L6?n`^evQNEwfO@&JJRme+uopQX0%Jo zgd5G&#&{nX{o?TQwQvF1<^Cg3?2co;_06=~Hcb6~4XWpNFL!WU{+CK;>gH%|BLOh7@!hsa(>pNDAmpcuVO-?;Bic17R}^|6@8DahH)G z!EmhsfunLL|3b=M0MeK2vqZ|OqUqS8npxwge$w-4pFVXFq$_EKrZY?BuP@Az@(k`L z`ViQBSk`y+YwRT;&W| z2e3UfkCo^uTA4}Qmmtqs+nk#gNr2W4 zTH%hhErhB)pkXR{B!q5P3-OM+M;qu~f>}IjtF%>w{~K-0*jPVLl?Chz&zIdxp}bjx zStp&Iufr58FTQ36AHU)0+CmvaOpKF;W@sMTFpJ`j;3d)J_$tNQI^c<^1o<49Z(~K> z;EZTBaVT%14(bFw2ob@?JLQ2@(1pCdg3S%E4*dJ}dA*v}_a4_P(a`cHnBFJxNobAv zf&Zl-Yt*lhn-wjZsq<9v-IsXxAxMZ58C@e0!rzhJ+D@9^3~?~yllY^s$?&oNwyH!#~6x4gUrfxplCvK#!f z$viuszW>MFEcFL?>ux*((!L$;R?xc*myjRIjgnQX79@UPD$6Dz0jutM@7h_pq z0Zr)#O<^y_K6jfY^X%A-ip>P%3saX{!v;fxT-*0C_j4=UMH+Xth(XVkVGiiKE#f)q z%Jp=JT)uy{&}Iq2E*xr4YsJ5>w^=#-mRZ4vPXpI6q~1aFwi+lQcimO45V-JXP;>(Q zo={U`{=_JF`EQj87Wf}{Qy35s8r1*9Mxg({CvOt}?Vh9d&(}iI-quvs-rm~P;eRA@ zG5?1HO}puruc@S{YNAF3vmUc2B4!k*yi))<5BQmvd3tr}cIs#9)*AX>t`=~{f#Uz0 z0&Nk!7sSZwJe}=)-R^$0{yeS!V`Dh7w{w5rZ9ir!Z7Cd7dwZcK;BT#V0bzTt>;@Cl z#|#A!-IL6CZ@eHH!CG>OO8!%G8&8t4)Ro@}USB*k>oEUo0LsljsJ-%5Mo^MJF2I8- z#v7a5VdJ-Cd%(a+y6QwTmi+?f8Nxtm{g-+WGL>t;s#epv7ug>inqimZCVm!uT5Pf6 ziEgQt7^%xJf#!aPWbuC_3Nxfb&CFbQy!(8ANpkWLI4oSnH?Q3f?0k1t$3d+lkQs{~(>06l&v|MpcFsyAv zin6N!-;pggosR*vV=DO(#+}4ps|5$`udE%Kdmp?G7B#y%H`R|i8skKOd9Xzx8xgR$>Zo2R2Ytktq^w#ul4uicxW#{ zFjG_RNlBroV_n;a7U(KIpcp*{M~e~@>Q#Av90Jc5v%0c>egEdY4v3%|K1XvB{O_8G zkTWLC>OZKf;XguMH2-Pw{BKbFzaY;4v2seZV0>^7Q~d4O=AwaPhP3h|!hw5aqOtT@ z!SNz}$of**Bl3TK209@F=Tn1+mgZa8yh(Png%Zd6Mt}^NSjy)etQrF zme*llAW=N_8R*O~d2!apJnF%(JcN??=`$qs3Y+~xs>L9x`0^NIn!8mMRFA_tg`etw z3k{9JAjnl@ygIiJcNHTy02GMAvBVqEss&t2<2mnw!; zU`J)0>lWiqVqo|ex7!+@0i>B~BSU1A_0w#Ee+2pJx0BFiZ7RDHEvE*ptc9md(B{&+ zKE>TM)+Pd>HEmdJao7U@S>nL(qq*A)#eLOuIfAS@j`_sK0UEY6OAJJ-kOrHG zjHx`g!9j*_jRcJ%>CE9K2MVf?BUZKFHY?EpV6ai7sET-tqk=nDFh-(65rhjtlKEY% z@G&cQ<5BKatfdA1FKuB=i>CCC5(|9TMW%K~GbA4}80I5%B}(gck#Wlq@$nO3%@QP_ z8nvPkJFa|znk>V92cA!K1rKtr)skHEJD;k8P|R8RkCq1Rh^&}Evwa4BUJz2f!2=MH zo4j8Y$YL2313}H~F7@J7mh>u%556Hw0VUOz-Un@ZASCL)y8}4XXS`t1AC*^>PLwIc zUQok5PFS=*#)Z!3JZN&eZ6ZDP^-c@StY*t20JhCnbMxXf=LK#;`4KHEqMZ-Ly9KsS zI2VUJGY&PmdbM+iT)zek)#Qc#_i4uH43 z@T5SZBrhNCiK~~esjsO9!qBpaWK<`>!-`b71Y5ReXQ4AJU~T2Njri1CEp5oKw;Lnm)-Y@Z3sEY}XIgSy%xo=uek(kAAH5MsV$V3uTUsoTzxp_rF=tx zV07vlJNKtJhCu`b}*#m&5LV4TAE&%KtHViDAdv#c^x`J7bg z&N;#I2GkF@SIGht6p-V}`!F_~lCXjl1BdTLIjD2hH$J^YFN`7f{Q?OHPFEM$65^!u zNwkelo*5+$ZT|oQ%o%;rBX$+?xhvjb)SHgNHE_yP%wYkkvXHS{Bf$OiKJ5d1gI0j< zF6N}Aq=(WDo(J{e-uOecxPD>XZ@|u-tgTR<972`q8;&ZD!cep^@B5CaqFz|oU!iFj zU0;6fQX&~15E53EW&w1s9gQQ~Zk16X%6 zjG`j0yq}4deX2?Tr(03kg>C(!7a|b9qFI?jcE^Y>-VhudI@&LI6Qa}WQ>4H_!UVyF z((cm&!3gmq@;BD#5P~0;_2qgZhtJS|>WdtjY=q zLnHH~Fm!cxw|Z?Vw8*~?I$g#9j&uvgm7vPr#&iZgPP~v~BI4jOv;*OQ?jYJtzO<^y z7-#C={r7CO810!^s(MT!@@Vz_SVU)7VBi(e1%1rvS!?PTa}Uv`J!EP3s6Y!xUgM^8 z4f!fq<3Wer_#;u!5ECZ|^c1{|q_lh3m^9|nsMR1#Qm|?4Yp5~|er2?W^7~cl;_r4WSme_o68J9p03~Hc%X#VcX!xAu%1`R!dfGJCp zV*&m47>s^%Ib0~-2f$6oSgn3jg8m%UA;ArcdcRyM5;}|r;)?a^D*lel5C`V5G=c~k zy*w_&BfySOxE!(~PI$*dwG><+-%KT5p?whOUMA*k<9*gi#T{h3DAxzAPxN&Xws8o9Cp*`PA5>d9*Z-ynV# z9yY*1WR^D8|C%I@vo+d8r^pjJ$>eo|j>XiLWvTWLl(^;JHCsoPgem6PvegHb-OTf| zvTgsHSa;BkbG=(NgPO|CZu9gUCGr$8*EoH2_Z#^BnxF0yM~t`|9ws_xZ8X8iZYqh! zAh;HXJ)3P&)Q0(&F>!LN0g#bdbis-cQxyGn9Qgh`q+~49Fqd2epikEUw9caM%V6WgP)532RMRW}8gNS%V%Hx7apSz}tn@bQy!<=lbhmAH=FsMD?leawbnP5BWM0 z5{)@EEIYMu5;u)!+HQWhQ;D3_Cm_NADNeb-f56}<{41aYq8p4=93d=-=q0Yx#knGYfXVt z+kMxlus}t2T5FEyCN~!}90O_X@@PQpuy;kuGz@bWft%diBTx?d)_xWd_-(!LmVrh**oKg!1CNF&LX4{*j|) zIvjCR0I2UUuuEXh<9}oT_zT#jOrJAHNLFT~Ilh9hGJPI1<5`C-WA{tUYlyMeoy!+U zhA#=p!u1R7DNg9u4|QfED-2TuKI}>p#2P9--z;Bbf4Op*;Q9LCbO&aL2i<0O$ByoI z!9;Ght733FC>Pz>$_mw(F`zU?`m@>gE`9_p*=7o=7av`-&ifU(^)UU`Kg3Kw`h9-1 z6`e6+im=|m2v`pN(2dE%%n8YyQz;#3Q-|x`91z?gj68cMrHl}C25|6(_dIGk*8cA3 zRHB|Nwv{@sP4W+YZM)VKI>RlB`n=Oj~Rzx~M+Khz$N$45rLn6k1nvvD^&HtsMA4`s=MmuOJID@$s8Ph4E zAmSV^+s-z8cfv~Yd(40Sh4JG#F~aB>WFoX7ykaOr3JaJ&Lb49=B8Vk-SQT9%7TYhv z?-Pprt{|=Y5ZQ1?od|A<_IJU93|l4oAfBm?3-wk{O<8ea+`}u%(kub(LFo2zFtd?4 zwpN|2mBNywv+d^y_8#<$r>*5+$wRTCygFLcrwT(qc^n&@9r+}Kd_u@Ithz(6Qb4}A zWo_HdBj#V$VE#l6pD0a=NfB0l^6W^g`vm^sta>Tly?$E&{F?TTX~DsKF~poFfmN%2 z4x`Dc{u{Lkqz&y!33;X}weD}&;7p>xiI&ZUb1H9iD25a(gI|`|;G^NwJPv=1S5e)j z;U;`?n}jnY6rA{V^ zxTd{bK)Gi^odL3l989DQlN+Zs39Xe&otGeY(b5>rlIqfc7Ap4}EC?j<{M=hlH{1+d zw|c}}yx88_xQr`{98Z!d^FNH77=u(p-L{W6RvIn40f-BldeF-YD>p6#)(Qzf)lfZj z?3wAMtPPp>vMehkT`3gToPd%|D8~4`5WK{`#+}{L{jRUMt zrFz+O$C7y8$M&E4@+p+oV5c%uYzbqd2Y%SSgYy#xh4G3hQv>V*BnuKQhBa#=oZB~w{azUB+q%bRe_R^ z>fHBilnRTUfaJ201czL8^~Ix#+qOHSO)A|xWLqOxB$dT2W~)e-r9;bm=;p;RjYahB z*1hegN(VKK+ztr~h1}YP@6cfj{e#|sS`;3tJhIJK=tVJ-*h-5y9n*&cYCSdg#EHE# zSIx=r#qOaLJoVVf6v;(okg6?*L_55atl^W(gm^yjR?$GplNP>BZsBYEf_>wM0Lc;T zhf&gpzOWNxS>m+mN92N0{;4uw`P+9^*|-1~$uXpggj4- z^SFc4`uzj2OwdEVT@}Q`(^EcQ_5(ZtXTql*yGzdS&vrS_w>~~ra|Nb5abwf}Y!uq6R5f&6g2ge~2p(%c< z@O)cz%%rr4*cRJ5f`n@lvHNk@lE1a*96Kw6lJ~B-XfJW%?&-y?;E&?1AacU@`N`!O z6}V>8^%RZ7SQnZ-z$(jsX`amu*5Fj8g!3RTRwK^`2_QHe;_2y_n|6gSaGyPmI#kA0sYV<_qOZc#-2BO%hX)f$s-Z3xlI!ub z^;3ru11DA`4heAu%}HIXo&ctujzE2!6DIGE{?Zs>2}J+p&C$rc7gJC35gxhflorvsb%sGOxpuWhF)dL_&7&Z99=5M0b~Qa;Mo!j&Ti_kXW!86N%n= zSC@6Lw>UQ__F&+&Rzv?gscwAz8IP!n63>SP)^62(HK98nGjLY2*e^OwOq`3O|C92? z;TVhZ2SK%9AGW4ZavTB9?)mUbOoF`V7S=XM;#3EUpR+^oHtdV!GK^nXzCu>tpR|89 zdD{fnvCaN^^LL%amZ^}-E+214g&^56rpdc@yv0b<3}Ys?)f|fXN4oHf$six)-@<;W&&_kj z-B}M5U*1sb4)77aR=@%I?|Wkn-QJVuA96an25;~!gq(g1@O-5VGo7y&E_srxL6ZfS z*R%$gR}dyONgju*D&?geiSj7SZ@ftyA|}(*Y4KbvU!YLsi1EDQQCnb+-cM=K1io78o!v*);o<XwjaQH%)uIP&Zm?)Nfbfn;jIr z)d#!$gOe3QHp}2NBak@yYv3m(CPKkwI|{;d=gi552u?xj9ObCU^DJFQp4t4e1tPzM zvsRIGZ6VF+{6PvqsplMZWhz10YwS={?`~O0Ec$`-!klNUYtzWA^f9m7tkEzCy<_nS z=&<(awFeZvt51>@o_~>PLs05CY)$;}Oo$VDO)?l-{CS1Co=nxjqben*O1BR>#9`0^ zkwk^k-wcLCLGh|XLjdWv0_Hg54B&OzCE^3NCP}~OajK-LuRW53CkV~Su0U>zN%yQP zH8UH#W5P3-!ToO-2k&)}nFe`t+mdqCxxAHgcifup^gKpMObbox9LFK;LP3}0dP-UW z?Zo*^nrQ6*$FtZ(>kLCc2LY*|{!dUn$^RW~m9leoF|@Jy|M5p-G~j%+P0_#orRKf8 zvuu5<*XO!B?1E}-*SY~MOa$6c%2cM+xa8}_8x*aVn~57v&W(0mqN1W`5a7*VN{SUH zXz98DDyCnX2EPl-`Lesf`=AQT%YSDb`$%;(jUTrNen$NPJrlpPDP}prI>Ml!r6bCT;mjsg@X^#&<}CGf0JtR{Ecwd&)2zuhr#nqdgHj+g2n}GK9CHuwO zk>oZxy{vcOL)$8-}L^iVfJHAGfwN$prHjYV0ju}8%jWquw>}_W6j~m<}Jf!G?~r5&Rx)!9JNX!ts#SGe2HzobV5); zpj@&`cNcO&q+%*<%D7za|?m5qlmFK$=MJ_iv{aRs+BGVrs)98BlN^nMr{V_fcl_;jkzRju+c-y?gqBC_@J0dFLq-D9@VN&-`R9U;nv$Hg?>$oe4N&Ht$V_(JR3TG^! zzJsbQbi zFE6-{#9{G{+Z}ww!ycl*7rRdmU#_&|DqPfX3CR1I{Kk;bHwF6jh0opI`UV2W{*|nn zf_Y@%wW6APb&9RrbEN=PQRBEpM(N1w`81s=(xQj6 z-eO0k9=Al|>Ej|Mw&G`%q8e$2xVz1v4DXAi8G};R$y)ww638Y=9y$ZYFDM$}vzusg zUf+~BPX>(SjA|tgaFZr_e0{)+z9i6G#lgt=F_n$d=beAt0Sa0a7>z-?vcjl3e+W}+ z1&9=|vC=$co}-Zh*%3588G?v&U7%N1Qf-wNWJ)(v`iO5KHSkC5&g7CrKu8V}uQGcfcz zmBz#Lbqwqy#Z~UzHgOQ;Q-rPxrRNvl(&u6ts4~0=KkeS;zqURz%!-ERppmd%0v>iRlEf+H$yl{_8TMJzo0 z>n)`On|7=WQdsqhXI?#V{>+~}qt-cQbokEbgwV3QvSP7&hK4R{Z{aGHVS3;+h{|Hz z6$Js}_AJr383c_+6sNR|$qu6dqHXQTc6?(XWPCVZv=)D#6_;D_8P-=zOGEN5&?~8S zl5jQ?NL$c%O)*bOohdNwGIKM#jSAC?BVY={@A#c9GmX0=T(0G}xs`-%f3r=m6-cpK z!%waekyAvm9C3%>sixdZj+I(wQlbB4wv9xKI*T13DYG^T%}zZYJ|0$Oj^YtY+d$V$ zAVudSc-)FMl|54n=N{BnZTM|!>=bhaja?o7s+v1*U$!v!qQ%`T-6fBvmdPbVmro&d zk07TOp*KuxRUSTLRrBj{mjsnF8`d}rMViY8j`jo~Hp$fkv9F_g(jUo#Arp;Xw0M$~ zRIN!B22~$kx;QYmOkos@%|5k)!QypDMVe}1M9tZfkpXKGOxvKXB!=lo`p?|R1l=tA zp(1}c6T3Fwj_CPJwVsYtgeRKg?9?}%oRq0F+r+kdB=bFUdVDRPa;E~~>2$w}>O>v=?|e>#(-Lyx?nbg=ckJ#5U6;RT zNvHhXk$P}m9wSvFyU3}=7!y?Y z=fg$PbV8d7g25&-jOcs{%}wTDKm>!Vk);&rr;O1nvO0VrU&Q?TtYVU=ir`te8SLlS zKSNmV=+vF|ATGg`4$N1uS|n??f}C_4Sz!f|4Ly8#yTW-FBfvS48Tef|-46C(wEO_%pPhUC5$-~Y?!0vFZ^Gu`x=m7X99_?C-`|h zfmMM&Y@zdfitA@KPw4Mc(YHcY1)3*1xvW9V-r4n-9ZuBpFcf{yz+SR{ zo$ZSU_|fgwF~aakGr(9Be`~A|3)B=9`$M-TWKipq-NqRDRQc}ABo*s_5kV%doIX7LRLRau_gd@Rd_aLFXGSU+U?uAqh z8qusWWcvgQ&wu{|sRXmv?sl=xc<$6AR$+cl& zFNh5q1~kffG{3lDUdvEZu5c(aAG~+64FxdlfwY^*;JSS|m~CJusvi-!$XR`6@XtY2 znDHSz7}_Bx7zGq-^5{stTRy|I@N=>*y$zz>m^}^{d&~h;0kYiq8<^Wq7Dz0w31ShO^~LUfW6rfitR0(=3;Uue`Y%y@ex#eKPOW zO~V?)M#AeHB2kovn1v=n^D?2{2jhIQd9t|_Q+c|ZFaWt+r&#yrOu-!4pXAJuxM+Cx z*H&>eZ0v8Y`t}8{TV6smOj=__gFC=eah)mZt9gwz>>W$!>b3O;Rm^Ig*POZP8Rl0f zT~o=Nu1J|lO>}xX&#P58%Yl z83`HRs5#32Qm9mdCrMlV|NKNC+Z~ z9OB8xk5HJ>gBLi+m@(pvpw)1(OaVJKs*$Ou#@Knd#bk+V@y;YXT?)4eP9E5{J%KGtYinNYJUH9PU3A}66c>Xn zZ{Bn0<;8$WCOAL$^NqTjwM?5d=RHgw3!72WRo0c;+houoUA@HWLZM;^U$&sycWrFd zE7ekt9;kb0`lps{>R(}YnXlyGY}5pPd9zBpgXeJTY_jwaJGSJQC#-KJqmh-;ad&F- z-Y)E>!&`Rz!HtCz>%yOJ|v(u7P*I$jqEY3}(Z-orn4 zlI?CYKNl`6I){#2P1h)y(6?i;^z`N3bxTV%wNvQW+eu|x=kbj~s8rhCR*0H=iGkSj zk23lr9kr|p7#qKL=UjgO`@UnvzU)`&fI>1Qs7ubq{@+lK{hH* zvl6eSb9%yngRn^T<;jG1SVa)eA>T^XX=yUS@NCKpk?ovCW1D@!=@kn;l_BrG;hOTC z6K&H{<8K#dI(A+zw-MWxS+~{g$tI7|SfP$EYKxA}LlVO^sT#Oby^grkdZ^^lA}uEF zBSj$weBJG{+Bh@Yffzsw=HyChS(dtLE3i*}Zj@~!_T-Ay7z=B)+*~3|?w`Zd)Co2t zC&4DyB!o&YgSw+fJn6`sn$e)29`kUwAc+1MND7YjV%lO;H2}fNy>hD#=gT ze+-aFNpyKIoXY~Vq-}OWPBe?Rfu^{ps8>Xy%42r@RV#*QV~P83jdlFNgkPN=T|Kt7 zV*M`Rh*30&AWlb$;ae130e@}Tqi3zx2^JQHpM>j$6x`#{mu%tZlwx9Gj@Hc92IuY* zarmT|*d0E~vt6<+r?W^UW0&#U&)8B6+1+;k^2|FWBRP9?C4Rk)HAh&=AS8FS|NQaZ z2j!iZ)nbEyg4ZTp-zHwVlfLC~tXIrv(xrP8PAtR{*c;T24ycA-;auWsya-!kF~CWZ zw_uZ|%urXgUbc@x=L=_g@QJ@m#5beS@6W195Hn7>_}z@Xt{DIEA`A&V82bc^#!q8$ zFh?z_Vn|ozJ;NPd^5uu(9tspo8t%&-U9Ckay-s@DnM*R5rtu|4)~e)`z0P-sy?)kc zs_k&J@0&0!q4~%cKL)2l;N*T&0;mqX5T{Qy60%JtKTQZ-xb%KOcgqwJmb%MOOKk7N zgq})R_6**{8A|6H?fO+2`#QU)p$Ei2&nbj6TpLSIT^D$|`TcSeh+)}VMb}LmvZ{O| ze*1IdCt3+yhdYVxcM)Q_V0bIXLgr6~%JS<<&dxIgfL=Vnx4YHuU@I34JXA|+$_S3~ zy~X#gO_X!cSs^XM{yzDGNM>?v(+sF#<0;AH^YrE8smx<36bUsHbN#y57K8WEu(`qHvQ6cAZPo=J5C(lSmUCZ57Rj6cx!e^rfaI5%w}unz}4 zoX=nt)FVNV%QDJH`o!u9olLD4O5fl)xp+#RloZlaA92o3x4->?rB4`gS$;WO{R;Z3>cG3IgFX2EA?PK^M}@%1%A;?f6}s&CV$cIyEr#q5;yHdNZ9h{| z-=dX+a5elJoDo?Eq&Og!nN6A)5yYpnGEp}?=!C-V)(*~z-+?kY1Q7qs#Rsy%hu_60rdbB+QQNr?S1 z?;xtjUv|*E3}HmuNyB9aFL5H~3Ho0UsmuMZELp1a#CA1g`P{-mT?BchuLEtK}!QZ=3AWakRu~?f9V~3F;TV`5%9Pcs_$gq&CcU}r8gOO zC2&SWPsSG{&o-LIGTBqp6SLQZPvYKp$$7L4WRRZ0BR$Kf0I0SCFkqveCp@f)o8W)! z$%7D1R`&j7W9Q9CGus_)b%+B#J2G;l*FLz#s$hw{BHS~WNLODV#(!u_2Pe&tMsq={ zdm7>_WecWF#D=?eMjLj=-_z`aHMZ=3_-&E8;ibPmM}61i6J3is*=dKf%HC>=xbj4$ zS|Q-hWQ8T5mWde6h@;mS+?k=89?1FU<%qH9B(l&O>k|u_aD|DY*@~(`_pb|B#rJ&g zR0(~(68fpUPz6TdS@4JT5MOPrqDh5_H(eX1$P2SQrkvN8sTxwV>l0)Qq z0pzTuvtEAKRDkKGhhv^jk%|HQ1DdF%5oKq5BS>szk-CIke{%js?~%@$uaN3^Uz6Wf z_iyx{bZ(;9y4X&>LPV=L=d+A}7I4GkK0c1Xts{rrW1Q7apHf-))`BgC^0^F(>At1* za@e7{lq%yAkn*NH8Q1{@{lKhRg*^TfGvv!Sn*ed*x@6>M%aaqySxR|oNadYt1mpUZ z6H(rupHYf&Z z29$5g#|0MX#aR6TZ$@eGxxABRKakDYtD%5BmKp;HbG_ZbT+=81E&=XRk6m_3t9PvD zr5Cqy(v?gHcYvYvXkNH@S#Po~q(_7MOuCAB8G$a9BC##gw^5mW16cML=T=ERL7wsk zzNEayTG?mtB=x*wc@ifBCJ|irFVMOvH)AFRW8WE~U()QT=HBCe@s$dA9O!@`zAAT) zaOZ7l6vyR+Nk_OOF!ZlZmjoImKh)dxFbbR~z(cMhfeX1l7S_`;h|v3gI}n9$sSQ>+3@AFAy9=B_y$)q;Wdl|C-X|VV3w8 z2S#>|5dGA8^9%Bu&fhmVRrTX>Z7{~3V&0UpJNEl0=N32euvDGCJ>#6dUSi&PxFW*s zS`}TB>?}H(T2lxBJ!V#2taV;q%zd6fOr=SGHpoSG*4PDaiG0pdb5`jelVipkEk%FV zThLc@Hc_AL1#D&T4D=w@UezYNJ%0=f3iVRuVL5H?eeZM}4W*bomebEU@e2d`M<~uW zf#Bugwf`VezG|^Qbt6R_=U0}|=k;mIIakz99*>FrsQR{0aQRP6ko?5<7bkDN8evZ& zB@_KqQG?ErKL=1*ZM9_5?Pq%lcS4uLSzN(Mr5=t6xHLS~Ym`UgM@D&VNu8e?_=nSFtF$u@hpPSmI4Vo_t&v?>$~K4y(O~Rb*(MFy_igM7 z*~yYUyR6yQgzWnWMUgDov!!g=lInM+=lOmOk4L`O?{i&qxy&D*_qorRbDwj6?)!ef z#JLd7F6Z2I$S0iYI={rZNk*<{HtIl^mx=h>Cim*04K4+Z4IJtd*-)%6XV2(MCscPiw_a+y*?BKbTS@BZ3AUao^%Zi#PhoY9Vib4N>SE%4>=Jco0v zH_Miey{E;FkdlZSq)e<{`+S3W=*ttvD#hB8w=|2aV*D=yOV}(&p%0LbEWH$&@$X3x~CiF-?ejQ*N+-M zc8zT@3iwkdRT2t(XS`d7`tJQAjRmKAhiw{WOqpuvFp`i@Q@!KMhwKgsA}%@sw8Xo5Y=F zhRJZg)O4uqNWj?V&&vth*H#je6T}}p_<>!Dr#89q@uSjWv~JuW(>FqoJ5^ho0%K?E z9?x_Q;kmcsQ@5=}z@tdljMSt9-Z3xn$k)kEjK|qXS>EfuDmu(Z8|(W?gY6-l z@R_#M8=vxKMAoi&PwnaIYw2COJM@atcgfr=zK1bvjW?9B`-+Voe$Q+H$j!1$Tjn+* z&LY<%)L@;zhnJlB^Og6I&BOR-m?{IW;tyYC%FZ!&Z>kGjHJ6cqM-F z&19n+e1=9AH1VrVeHrIzqlC`w9=*zfmrerF?JMzO&|Mmv;!4DKc(sp+jy^Dx?(8>1 zH&yS_4yL7m&GWX~mdfgH*AB4{CKo;+egw=PrvkTaoBU+P-4u?E|&!c z)DKc;>$$B6u*Zr1SjUh2)FeuWLWHl5TH(UHWkf zLs>7px!c5n;rbe^lO@qlYLzlDVp(z?6rPZel=YB)Uv&n!2{+Mb$-vQl=xKw( zve&>xYx+jW_NJh!FV||r?;hdP*jOXYcLCp>DOtJ?2S^)DkM{{Eb zS$!L$e_o0(^}n3tA1R3-$SNvgBq;DOEo}fNc|tB%%#g4RA3{|euq)p+xd3I8^4E&m zFrD%}nvG^HUAIKe9_{tXB;tl|G<%>yk6R;8L2)KUJw4yHJXUOPM>(-+jxq4R;z8H#>rnJy*)8N+$wA$^F zN+H*3t)eFEgxLw+Nw3};4WV$qj&_D`%ADV2%r zJCPCo%{=z7;`F98(us5JnT(G@sKTZ^;2FVitXyLe-S5(hV&Ium+1pIUB(CZ#h|g)u zSLJJ<@HgrDiA-}V_6B^x1>c9B6%~847JkQ!^KLZ2skm;q*edo;UA)~?SghG8;QbHh z_6M;ouo_1rq9=x$<`Y@EA{C%6-pEV}B(1#sDoe_e1s3^Y>n#1Sw;N|}8D|s|VPd+g z-_$QhCz`vLxxrVMx3ape1xu3*wjx=yKSlM~nFgkNWb4?DDr*!?U)L_VeffF<+!j|b zZ$Wn2$TDv3C3V@BHpSgv3JUif8%hk%OsGZ=OxH@8&4`bbf$`aAMchl^qN>Eyu3JH} z9-S!x8-s4fE=lad%Pkp8hAs~u?|uRnL48O|;*DEU! zuS0{cpk%1E0nc__2%;apFsTm0bKtd&A0~S3Cj^?72-*Owk3V!ZG*PswDfS~}2<8le z5+W^`Y(&R)yVF*tU_s!XMcJS`;(Tr`J0%>p=Z&InR%D3@KEzzI+-2)HK zuoNZ&o=wUC&+*?ofPb0a(E6(<2Amd6%uSu_^-<1?hsxs~0K5^f(LsGqgEF^+0_H=uNk9S0bb!|O8d?m5gQjUKevPaO+*VfSn^2892K~%crWM8+6 z25@V?Y@J<9w%@NXh-2!}SK_(X)O4AM1-WTg>sj1{lj5@=q&dxE^9xng1_z9w9DK>| z6Iybcd0e zyi;Ew!KBRIfGPGytQ6}z}MeXCfLY0?9%RiyagSp_D1?N&c{ zyo>VbJ4Gy`@Fv+5cKgUgs~na$>BV{*em7PU3%lloy_aEovR+J7TfQKh8BJXyL6|P8un-Jnq(ghd!_HEOh$zlv2$~y3krgeH;9zC}V3f`uDtW(%mT#944DQa~^8ZI+zAUu4U(j0YcDfKR$bK#gvn_{JZ>|gZ5+)u?T$w7Q%F^;!Wk?G z(le7r!ufT*cxS}PR6hIVtXa)i`d$-_1KkyBU>qmgz-=T};uxx&sKgv48akIWQ89F{ z0XiY?WM^~;|T8zBOr zs#zuOONzH?svv*jokd5SK8wG>+yMC)LYL|vLqm^PMHcT=`}V$=nIRHe2?h)8WQa6O zPAU}d`1y(>kZiP~Gr=mtJLMu`i<2CspL|q2DqAgAD^7*$xzM`PU4^ga`ilE134XBQ z99P(LhHU@7qvl9Yzg$M`+dlS=x^(m-_3t|h>S}E0bcFMn=C|KamQ)=w2^e)35p`zY zRV8X?d;s^>Cof2SPR&nP3E+-LCkS0J$H!eh8~k0qo$}00b=7!H_I2O+Ro@3O$nPdm ztmbOO^B+IHzQ5w>@@@J4cKw5&^_w6s!s=H%&byAbUtczPQ7}wfTqxxtQNfn*u73Qw zGuWsrky_ajPx-5`R<)6xHf>C(oqGf_Fw|-U*GfS?xLML$kv;h_pZ@Kk$y0X(S+K80 z6^|z)*`5VUkawg}=z`S;VhZhxyDfrE0$(PMurAxl~<>lfZa>JZ288ULK7D` zl9|#L^JL}Y$j*j`0-K6kH#?bRmg#5L3iB4Z)%iF@SqT+Lp|{i`m%R-|ZE94Np7Pa5 zCqC^V3}B(FR340pmF*qaa}M}+h6}mqE~7Sh!9bDv9YRT|>vBNAqv09zXHMlcuhKD| zcjjA(b*XCIwJ33?CB!+;{)vX@9xns_b-VO{i0y?}{!sdXj1GM8+$#v>W7nw;+O_9B z_{4L;C6ol?(?W0<6taGEn1^uG=?Q3i29sE`RfYCaV$3DKc_;?HsL?D_fSYg}SuO5U zOB_f4^vZ_x%o`5|C@9C5+o=mFy@au{s)sKw!UgC&L35aH(sgDxRE2De%(%OT=VUdN ziVLEmdOvJ&5*tCMKRyXctCwQu_RH%;m*$YK&m;jtbdH#Ak~13T1^f89tn`A%QEHWs~jnY~E}p_Z$XC z=?YXLCkzVSK+Id`xZYTegb@W8_baLt-Fq`Tv|=)JPbFsKRm)4UW;yT+J`<)%#ue9DPOkje)YF2fsCilK9MIIK>p*`fkoD5nGfmLwt)!KOT+> zOFq*VZktDDyM3P5UOg`~XL#cbzC}eL%qMB=Q5$d89MKuN#$6|4gx_Jt0Gfn8w&q}%lq4QU%6#jT*MRT% zrLz~C8FYKHawn-EQWN1B75O&quS+Z81(zN)G>~vN8VwC+e+y(`>HcxC{MrJ;H1Z4k zZWuv$w_F0-Ub%MVcpIc){4PGL^I7M{>;hS?;eH!;gmcOE66z3;Z1Phqo(t zVP(Hg6q#0gIKgsg7L7WE!{Y#1nI(45tx2{$34dDd#!Z0NIyrm)HOn5W#7;f4pQci# zDW!FI(g4e668kI9{2+mLwB+=#9bfqgX%!B34V-$wwSN(_cm*^{y0jQtv*4}eO^sOV z*9xoNvX)c9isB}Tgx&ZRjp3kwhTVK?r9;n!x>^XYT z@Q^7zp{rkIs{2mUSE^2!Gf6$6;j~&4=-0cSJJDizZp6LTe8b45;{AKM%v99}{{FfC zz709%u0mC=1KXTo(=TqmZQ;c?$M3z(!xah>aywrj40sc2y3rKFw4jCq+Y+u=CH@_V zxz|qeTwa>+<|H%8Dz5u>ZI5MmjTFwXS-Fv!TDd*`>3{krWoNVx$<133`(ftS?ZPyY z&4@ah^3^i`vL$BZa>O|Nt?ucewzsF)0zX3qmM^|waXr=T0pfIb0*$AwU=?Ipl|1Y; z*Pk6{C-p4MY;j@IJ|DW>QHZQJcp;Z~?8(Q+Kk3^0qJ}SCk^*n4W zu9ZFwLHUx-$6xvaQ)SUQcYd6fF8&x)V`1bIuX@>{mE$b|Yd(qomn3;bPwnDUc0F=; zh*6_((%bqAYQWQ~odER?h>1mkL4kpb3s7`0m@rDKGU*oyF)$j~Ffd4fXV$?`f~rHf zB%Y)@5SXZvfwm10RY5X?TEo)PK_`L6qgBp=#>fO49$D zDq8Ozj0q6213tV5Qq=;fZ0$|KroY{Dz=l@lU^J)?Ko@ti20TRplXzphBi>XGx4bou zEWrkNjz0t5j!_ke{g5I#PUlEU$Km8g8TE|XK=MkU@PT4T><2OVamoK;wJ}3X0L$vX zgd7gNa359*nc)R-0!`2X@FOTB`+oETOPc=ubp5R)VQgY+5BTZZJ2?9QwnO=dnulIUF3gFn;BODC2)65)HeVd%t86sL7Rv^Y+nbn+&l z6BAJY(ETvwI)Ts$aiE8rht4KD*qNyE{8{x6R|%akbTBzw;2+6Echkt+W+`u^XX z_z&x%n '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -# This is normally unused -# shellcheck disable=SC2034 -APP_BASE_NAME=${0##*/} -# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - if ! command -v java >/dev/null 2>&1 - then - die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC2039,SC3045 - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC2039,SC3045 - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Collect all arguments for the java command: -# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, -# and any embedded shellness will be escaped. -# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be -# treated as '${Hostname}' itself on the command line. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/java/ql/integration-tests/all-platforms/java/spring-boot-sample/gradlew.bat b/java/ql/integration-tests/all-platforms/java/spring-boot-sample/gradlew.bat deleted file mode 100644 index 25da30dbdee..00000000000 --- a/java/ql/integration-tests/all-platforms/java/spring-boot-sample/gradlew.bat +++ /dev/null @@ -1,92 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. 1>&2 -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. 1>&2 -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java/ql/integration-tests/all-platforms/java/spring-boot-sample/source_archive.expected b/java/ql/integration-tests/all-platforms/java/spring-boot-sample/source_archive.expected new file mode 100644 index 00000000000..7c6e9b460fe --- /dev/null +++ b/java/ql/integration-tests/all-platforms/java/spring-boot-sample/source_archive.expected @@ -0,0 +1,11 @@ +.gradle/8.7/dependencies-accessors/gc.properties +.gradle/8.7/gc.properties +.gradle/buildOutputCleanup/cache.properties +.gradle/vcs-1/gc.properties +build/resources/main/application.properties +gradle/wrapper/gradle-wrapper.properties +src/main/java/com/github/springbootsample/SpringBootSampleApplication.java +src/main/resources/application.properties +src/test/java/com/github/springbootsample/SpringBootSampleApplicationTests.java +test-db/log/ext/javac-1.properties +test-db/log/ext/javac.properties diff --git a/java/ql/integration-tests/all-platforms/java/spring-boot-sample/test.expected b/java/ql/integration-tests/all-platforms/java/spring-boot-sample/test.expected deleted file mode 100644 index f8e614cd984..00000000000 --- a/java/ql/integration-tests/all-platforms/java/spring-boot-sample/test.expected +++ /dev/null @@ -1,4 +0,0 @@ -#select -| src/main/java/com/github/springbootsample/SpringBootSampleApplication.java:0:0:0:0 | SpringBootSampleApplication | -| src/test/java/com/github/springbootsample/SpringBootSampleApplicationTests.java:0:0:0:0 | SpringBootSampleApplicationTests | -xmlFiles diff --git a/java/ql/integration-tests/all-platforms/java/spring-boot-sample/test.py b/java/ql/integration-tests/all-platforms/java/spring-boot-sample/test.py index 1cb6e142763..a3d842b5390 100644 --- a/java/ql/integration-tests/all-platforms/java/spring-boot-sample/test.py +++ b/java/ql/integration-tests/all-platforms/java/spring-boot-sample/test.py @@ -1,8 +1,2 @@ -import sys - -from create_database_utils import * - -#The version of gradle used doesn't work on java 17 -try_use_java11() - -run_codeql_database_create([], lang="java") +def test(codeql, java, gradle_8_7): + codeql.database.create() diff --git a/java/ql/integration-tests/all-platforms/java/spring-boot-sample/test.ql b/java/ql/integration-tests/all-platforms/java/spring-boot-sample/test.ql deleted file mode 100644 index c11b8fba707..00000000000 --- a/java/ql/integration-tests/all-platforms/java/spring-boot-sample/test.ql +++ /dev/null @@ -1,7 +0,0 @@ -import java - -from File f -where f.isSourceFile() -select f - -query predicate xmlFiles(XmlFile x) { any() } From 1c3b9f7031c940ecef911f55003b12fcec788188 Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Tue, 27 Aug 2024 13:13:55 +0200 Subject: [PATCH 227/258] Delete legacy test utils. --- .../buildless_test_utils.py | 37 ---- .../maven_wrapper_test_utils.py | 12 -- java/integration-tests-lib/mitm_proxy.py | 173 ------------------ .../toolchains_test_utils.py | 42 ----- 4 files changed, 264 deletions(-) delete mode 100644 java/integration-tests-lib/buildless_test_utils.py delete mode 100644 java/integration-tests-lib/maven_wrapper_test_utils.py delete mode 100644 java/integration-tests-lib/mitm_proxy.py delete mode 100644 java/integration-tests-lib/toolchains_test_utils.py diff --git a/java/integration-tests-lib/buildless_test_utils.py b/java/integration-tests-lib/buildless_test_utils.py deleted file mode 100644 index 27f43060dae..00000000000 --- a/java/integration-tests-lib/buildless_test_utils.py +++ /dev/null @@ -1,37 +0,0 @@ -import sys -import os.path -import glob - -def extract_fetched_jar_path(l): - if not l.startswith("["): - # Line continuation - return None - bits = l.split(" ", 3) # date time processid logline - if len(bits) >= 4 and bits[3].startswith("Fetch "): - return bits[3][6:].strip() - else: - return None - -def read_fetched_jars(fname): - with open(fname, "r") as f: - lines = [l for l in f] - return [l for l in map(extract_fetched_jar_path, lines) if l is not None] - -def check_buildless_fetches(): - - extractor_logs = glob.glob(os.path.join("test-db", "log", "javac-extractor-*.log")) - fetched_jars = map(read_fetched_jars, extractor_logs) - all_fetched_jars = tuple(sorted([item for sublist in fetched_jars for item in sublist])) - - try: - with open("buildless-fetches.expected", "r") as f: - expected_jar_fetches = tuple(l.strip() for l in f) - except FileNotFoundError: - expected_jar_fetches = tuple() - - if all_fetched_jars != expected_jar_fetches: - print("Expected jar fetch mismatch. Expected:\n%s\n\nActual:\n%s" % ("\n".join(expected_jar_fetches), "\n".join(all_fetched_jars)), file = sys.stderr) - with open("buildless-fetches.actual", "w") as f: - for j in all_fetched_jars: - f.write(j + "\n") - sys.exit(1) diff --git a/java/integration-tests-lib/maven_wrapper_test_utils.py b/java/integration-tests-lib/maven_wrapper_test_utils.py deleted file mode 100644 index fd3b727ff77..00000000000 --- a/java/integration-tests-lib/maven_wrapper_test_utils.py +++ /dev/null @@ -1,12 +0,0 @@ -import sys -import os.path - -def check_maven_wrapper_exists(expected_version): - if not os.path.exists(".mvn/wrapper/maven-wrapper.jar"): - print("Maven wrapper jar file expected but not found", file = sys.stderr) - sys.exit(1) - with open(".mvn/wrapper/maven-wrapper.properties", "r") as f: - content = f.read() - if ("apache-maven-%s-" % expected_version) not in content: - print("Expected Maven wrapper to fetch version %s, but actual properties file said:\n\n%s" % (expected_version, content), file = sys.stderr) - sys.exit(1) diff --git a/java/integration-tests-lib/mitm_proxy.py b/java/integration-tests-lib/mitm_proxy.py deleted file mode 100644 index a7606380019..00000000000 --- a/java/integration-tests-lib/mitm_proxy.py +++ /dev/null @@ -1,173 +0,0 @@ -import http.server -import sys -import os -import socket -import ssl -import random -from datetime import datetime, timedelta, timezone -from cryptography.hazmat.primitives import hashes, serialization -from cryptography import utils, x509 -from cryptography.hazmat.primitives.asymmetric import rsa, dsa - -import select - - -def generateCA(ca_cert_file, ca_key_file): - ca_key = dsa.generate_private_key(4096) - name = x509.Name([ - x509.NameAttribute(x509.NameOID.COUNTRY_NAME, "US"), - x509.NameAttribute(x509.NameOID.ORGANIZATION_NAME, "GitHub"), - x509.NameAttribute(x509.NameOID.COMMON_NAME, "GitHub CodeQL Proxy")]) - ca_cert = x509.CertificateBuilder().subject_name(name).issuer_name(name) - ca_cert = ca_cert.public_key(ca_key.public_key()) - ca_cert = ca_cert.serial_number(random.randint(50000000, 100000000)) - ca_cert = ca_cert.not_valid_before(datetime.now(timezone.utc)) - ca_cert = ca_cert.not_valid_after( - datetime.now(timezone.utc) + timedelta(days=3650)) - ca_cert = ca_cert.add_extension(x509.BasicConstraints( - ca=True, path_length=None), critical=True) - ca_cert = ca_cert.add_extension( - x509.SubjectKeyIdentifier.from_public_key(ca_key.public_key()), critical=False) - ca_cert = ca_cert.sign(ca_key, hashes.SHA256()) - with open(ca_cert_file, 'wb') as f: - f.write(ca_cert.public_bytes(encoding=serialization.Encoding.PEM)) - with open(ca_key_file, 'wb') as f: - f.write(ca_key.private_bytes(encoding=serialization.Encoding.PEM, - format=serialization.PrivateFormat.PKCS8, encryption_algorithm=serialization.NoEncryption())) - - -def create_certificate(hostname): - pkey = rsa.generate_private_key(public_exponent=65537, key_size=2048) - subject = x509.Name( - [x509.NameAttribute(x509.NameOID.COMMON_NAME, hostname)]) - - cert = x509.CertificateBuilder() - cert = cert.subject_name(subject).issuer_name(ca_certificate.subject) - cert = cert.public_key(pkey.public_key()) - cert = cert.serial_number(random.randint(50000000, 100000000)) - cert = cert.not_valid_before(datetime.now(timezone.utc)).not_valid_after( - datetime.now(timezone.utc) + timedelta(days=3650)) - cert = cert.add_extension(x509.BasicConstraints( - ca=False, path_length=None), critical=True) - cert = cert.add_extension( - x509.SubjectAlternativeName([x509.DNSName(hostname), x509.DNSName(f"*.{hostname}")]), critical=False) - - cert = cert.sign(ca_key, hashes.SHA256()) - - return (cert, pkey) - - -class Handler(http.server.SimpleHTTPRequestHandler): - def check_auth(self): - username = os.getenv('PROXY_USER') - password = os.getenv('PROXY_PASSWORD') - if username is None or password is None: - return True - - authorization = self.headers.get( - 'Proxy-Authorization', self.headers.get('Authorization', '')) - authorization = authorization.split() - if len(authorization) == 2: - import base64 - import binascii - auth_type = authorization[0] - if auth_type.lower() == "basic": - try: - authorization = authorization[1].encode('ascii') - authorization = base64.decodebytes( - authorization).decode('ascii') - except (binascii.Error, UnicodeError): - pass - else: - authorization = authorization.split(':') - if len(authorization) == 2: - return username == authorization[0] and password == authorization[1] - return False - - def do_CONNECT(self): - if not self.check_auth(): - self.send_response( - http.HTTPStatus.PROXY_AUTHENTICATION_REQUIRED) - self.send_header('Proxy-Authenticate', 'Basic realm="Proxy"') - self.end_headers() - return - # split self.path into host and port - host, port = self.path.split(':') - port = int(port) - self.send_response(http.HTTPStatus.OK, 'Connection established') - self.send_header('Connection', 'close') - self.end_headers() - self.mitm(host, port) - - # man in the middle SSL connection - def mitm(self, host, port): - ssl_client_context = ssl.create_default_context( - purpose=ssl.Purpose.CLIENT_AUTH) - if not os.path.exists("certs/" + host + '.pem'): - cert, pkey = create_certificate(host) - with open("certs/" + host + '.pem', 'wb') as f: - f.write(pkey.private_bytes(encoding=serialization.Encoding.PEM, - format=serialization.PrivateFormat.TraditionalOpenSSL, encryption_algorithm=serialization.NoEncryption())) - f.write(cert.public_bytes(encoding=serialization.Encoding.PEM)) - - ssl_client_context.load_cert_chain("certs/" + host + '.pem') - ssl_client_context.load_verify_locations(ca_certificate_path) - # wrap self.connection in SSL - client = ssl_client_context.wrap_socket( - self.connection, server_side=True) - - # create socket to host:port - remote = socket.create_connection( - (host, port)) - # wrap socket in SSL - ssl_server_context = ssl.create_default_context( - purpose=ssl.Purpose.SERVER_AUTH) - remote = ssl_server_context.wrap_socket(remote, server_hostname=host) - - try: - while True: - ready, _, _ = select.select( - [client, remote], [], [], 2.0) - if not ready: - break - for src in ready: - if src is client: - dst = remote - else: - dst = client - src.setblocking(False) - dst.setblocking(True) - pending = 8192 - while pending: - try: - data = src.recv(pending) - except ssl.SSLWantReadError: - break - if not data: - return - pending = src.pending() - dst.sendall(data) - finally: - remote.close() - client.close() - - def do_GET(self): - raise NotImplementedError() - - -if __name__ == '__main__': - port = int(sys.argv[1]) - ca_certificate = None - ca_certificate_path = None - ca_key = None - if len(sys.argv) > 2: - ca_certificate_path = sys.argv[2] - with open(ca_certificate_path, 'rb') as f: - ca_certificate = x509.load_pem_x509_certificate(f.read()) - with open(sys.argv[3], 'rb') as f: - ca_key = serialization.load_pem_private_key( - f.read(), password=None) - - server_address = ('localhost', port) - httpd = http.server.HTTPServer(server_address, Handler) - httpd.serve_forever() diff --git a/java/integration-tests-lib/toolchains_test_utils.py b/java/integration-tests-lib/toolchains_test_utils.py deleted file mode 100644 index 938096dbb4b..00000000000 --- a/java/integration-tests-lib/toolchains_test_utils.py +++ /dev/null @@ -1,42 +0,0 @@ -import os.path -import sys -import tempfile - -def actions_expose_all_toolchains(): - - # On actions, expose all usable toolchains so that we can test version-selection logic. - - toolchains_dir = tempfile.mkdtemp(prefix="integration-tests-toolchains-") - toolchains_file = os.path.join(toolchains_dir, "toolchains.xml") - - def none_or_blank(s): - return s is None or s == "" - - with open(toolchains_file, "w") as f: - f.write('\n\n') - - for v in [8, 11, 17, 21]: - homedir = os.getenv("JAVA_HOME_%d_X64" % v) - if none_or_blank(homedir): - homedir = os.getenv("JAVA_HOME_%d_arm64" % v) - if none_or_blank(homedir) and v == 8 and not none_or_blank(os.getenv("JAVA_HOME_11_arm64")): - print("Mocking a toolchain entry using Java 11 install as a fake Java 8 entry, so this test behaves the same on x64 and arm64 runners", file = sys.stderr) - homedir = os.getenv("JAVA_HOME_11_arm64") - if homedir is not None and homedir != "": - f.write(""" - - jdk - - %d - oracle - - - %s - - - """ % (v, homedir)) - - f.write("") - - return toolchains_file - From fe6693739adb5aadff1140ef3464432520859fbc Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 15 Aug 2024 15:33:03 +0200 Subject: [PATCH 228/258] Java: Make more finegrained dataflow dispatch viable callable heuristic. --- java/ql/lib/semmle/code/java/Element.qll | 7 +++++ .../dataflow/internal/DataFlowDispatch.qll | 26 ++++++++++++++++--- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/java/ql/lib/semmle/code/java/Element.qll b/java/ql/lib/semmle/code/java/Element.qll index 08689f05f94..aecdd51e144 100644 --- a/java/ql/lib/semmle/code/java/Element.qll +++ b/java/ql/lib/semmle/code/java/Element.qll @@ -36,6 +36,13 @@ class Element extends @element, Top { */ predicate fromSource() { this.getCompilationUnit().isSourceFile() } + /** + * Holds if this element is from source and classified as a stub implementation. + * An implementation is considered a stub, if the the path to the + * source file contains `/stubs/`. + */ + predicate isStub() { this.fromSource() and this.getFile().getAbsolutePath().matches("%/stubs/%") } + /** Gets the compilation unit that this element belongs to. */ CompilationUnit getCompilationUnit() { result = this.getFile() } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowDispatch.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowDispatch.qll index 6f27ea5b4b5..775d3c0067b 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowDispatch.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowDispatch.qll @@ -40,11 +40,29 @@ private module DispatchImpl { else any() } - /** Gets a viable implementation of the target of the given `Call`. */ + /** + * Gets a viable implementation of the target of the given `Call`. + * The following heuristic is applied for finding the appropriate callable: + * 1. If an exact manual model exists, only dispatch to the summarized callable. + * 2. If a (non exact) manual model exists and/or if the source code is available, dispatch to both/either. + * 3. Only dispatch to a summarized callable (based on a generated model) if neither of the above apply. + */ DataFlowCallable viableCallable(DataFlowCall c) { - result.asCallable() = sourceDispatch(c.asCall()) - or - result.asSummarizedCallable().getACall() = c.asCall() + exists(Call call | call = c.asCall() | + result.asCallable() = sourceDispatch(call) + or + not ( + // Only use summarized callables with generated summaries in case + // we are not able to dispatch to a source declaration. + // Note that if applyGeneratedModel holds it implies that there doesn't + // exist a manual (exact) model. + exists(Callable callable | callable = sourceDispatch(call) | + callable.fromSource() and not callable.isStub() + ) and + result.asSummarizedCallable().applyGeneratedModel() + ) and + result.asSummarizedCallable().getACall() = call + ) } /** From 68880b20569fefcb9ae759535b0908d698582892 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Fri, 16 Aug 2024 11:39:49 +0200 Subject: [PATCH 229/258] Java: Update expected test output. Generated models are no longer applied as there exist a source implementation. --- .../test/library-tests/dataflow/external-models/steps.expected | 2 -- 1 file changed, 2 deletions(-) diff --git a/java/ql/test/library-tests/dataflow/external-models/steps.expected b/java/ql/test/library-tests/dataflow/external-models/steps.expected index c9b2fd4d01e..3ef7da26182 100644 --- a/java/ql/test/library-tests/dataflow/external-models/steps.expected +++ b/java/ql/test/library-tests/dataflow/external-models/steps.expected @@ -8,6 +8,4 @@ invalidModelRow | C.java:20:5:20:8 | this | C.java:20:5:20:22 | stepQualRes(...) | | C.java:21:5:21:17 | this <.method> | C.java:21:5:21:17 | stepQualRes(...) | | C.java:24:5:24:23 | this <.method> | C.java:24:17:24:22 | argOut [post update] | -| C.java:29:25:29:28 | arg1 | C.java:29:5:29:29 | stepArgResGenerated(...) | | C.java:34:38:34:41 | arg2 | C.java:34:5:34:42 | stepArgResGeneratedIgnored(...) | -| C.java:36:26:36:29 | arg1 | C.java:36:5:36:30 | this <.method> [post update] | From 6cb5e13a23ee165185d859c256ae22a29439acf0 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Fri, 16 Aug 2024 12:07:29 +0200 Subject: [PATCH 230/258] Java: Re-factor tests and update expected test output. --- .../dataflow/external-models/C.java | 59 ++++++++++++------- .../dataflow/external-models/steps.expected | 20 ++++--- .../dataflow/external-models/steps.ext.yml | 13 ++-- .../external-models/stubs/Library.java | 19 ++++++ 4 files changed, 75 insertions(+), 36 deletions(-) create mode 100644 java/ql/test/library-tests/dataflow/external-models/stubs/Library.java diff --git a/java/ql/test/library-tests/dataflow/external-models/C.java b/java/ql/test/library-tests/dataflow/external-models/C.java index b1c7f2dc85c..c0270dbe9f1 100644 --- a/java/ql/test/library-tests/dataflow/external-models/C.java +++ b/java/ql/test/library-tests/dataflow/external-models/C.java @@ -1,5 +1,7 @@ package my.qltest; +import my.qltest.external.Library; + public class C { void foo() { Object arg1 = new Object(); @@ -25,35 +27,50 @@ public class C { } void fooGenerated() { - Object arg1 = new Object(); - stepArgResGenerated(arg1); + Object arg = new Object(); - Object arg2 = new Object(); - // The summary for the first parameter is ignored, because it is generated and - // because there is hand written summary for the second parameter. - stepArgResGeneratedIgnored(arg1, arg2); - - stepArgQualGenerated(arg1); - // The summary for the first parameter is ignored, because it is generated and - // because there is hand written neutral summary model for this callable. - stepArgQualGeneratedIgnored(arg1); + // The (generated) summary is ignored because the source code is available. + stepArgResGenerated(arg); } - Object stepArgRes(Object x) { return null; } + // Library functionality is emulated by placing the source code in a "stubs" + // folder. This means that a generated summary will be applied, if there + // doesn't exist a manual summary or manual summary neutral. + void fooLibrary() { + Object arg1 = new Object(); - void stepArgArg(Object in, Object out) { } + Library lib = new Library(); - void stepArgQual(Object x) { } + lib.apiStepArgResGenerated(arg1); - Object stepQualRes() { return null; } + Object arg2 = new Object(); - void stepQualArg(Object out) { } + // The summary for the first parameter is ignored, because it is generated and + // because there is a manual summary for the second parameter. + lib.apiStepArgResGeneratedIgnored(arg1, arg2); - Object stepArgResGenerated(Object x) { return null; } + lib.apiStepArgQualGenerated(arg1); - Object stepArgResGeneratedIgnored(Object x, Object y) { return null; } + // The summary for the parameter is ignored, because it is generated and + // because there is a manual neutral summary model for this callable. + lib.apiStepArgQualGeneratedIgnored(arg1); + } - Object stepArgQualGenerated(Object x) { return null; } - - Object stepArgQualGeneratedIgnored(Object x) { return null; } + Object stepArgRes(Object x) { + return null; + } + + void stepArgArg(Object in, Object out) {} + + void stepArgQual(Object x) {} + + Object stepQualRes() { + return null; + } + + void stepQualArg(Object out) {} + + Object stepArgResGenerated(Object x) { + return null; + } } diff --git a/java/ql/test/library-tests/dataflow/external-models/steps.expected b/java/ql/test/library-tests/dataflow/external-models/steps.expected index 3ef7da26182..e9cbb7ec99e 100644 --- a/java/ql/test/library-tests/dataflow/external-models/steps.expected +++ b/java/ql/test/library-tests/dataflow/external-models/steps.expected @@ -1,11 +1,13 @@ invalidModelRow #select -| C.java:6:16:6:19 | arg1 | C.java:6:5:6:20 | stepArgRes(...) | -| C.java:10:16:10:21 | argIn1 | C.java:10:24:10:30 | argOut1 [post update] | -| C.java:13:16:13:21 | argIn2 | C.java:13:24:13:30 | argOut2 [post update] | -| C.java:16:17:16:20 | arg2 | C.java:16:5:16:21 | this <.method> [post update] | -| C.java:18:22:18:25 | arg3 | C.java:18:5:18:8 | this [post update] | -| C.java:20:5:20:8 | this | C.java:20:5:20:22 | stepQualRes(...) | -| C.java:21:5:21:17 | this <.method> | C.java:21:5:21:17 | stepQualRes(...) | -| C.java:24:5:24:23 | this <.method> | C.java:24:17:24:22 | argOut [post update] | -| C.java:34:38:34:41 | arg2 | C.java:34:5:34:42 | stepArgResGeneratedIgnored(...) | +| C.java:8:16:8:19 | arg1 | C.java:8:5:8:20 | stepArgRes(...) | +| C.java:12:16:12:21 | argIn1 | C.java:12:24:12:30 | argOut1 [post update] | +| C.java:15:16:15:21 | argIn2 | C.java:15:24:15:30 | argOut2 [post update] | +| C.java:18:17:18:20 | arg2 | C.java:18:5:18:21 | this <.method> [post update] | +| C.java:20:22:20:25 | arg3 | C.java:20:5:20:8 | this [post update] | +| C.java:22:5:22:8 | this | C.java:22:5:22:22 | stepQualRes(...) | +| C.java:23:5:23:17 | this <.method> | C.java:23:5:23:17 | stepQualRes(...) | +| C.java:26:5:26:23 | this <.method> | C.java:26:17:26:22 | argOut [post update] | +| C.java:44:32:44:35 | arg1 | C.java:44:5:44:36 | apiStepArgResGenerated(...) | +| C.java:50:45:50:48 | arg2 | C.java:50:5:50:49 | apiStepArgResGeneratedIgnored(...) | +| C.java:52:33:52:36 | arg1 | C.java:52:5:52:7 | lib [post update] | diff --git a/java/ql/test/library-tests/dataflow/external-models/steps.ext.yml b/java/ql/test/library-tests/dataflow/external-models/steps.ext.yml index 831079dd40b..fbfcf0536ae 100644 --- a/java/ql/test/library-tests/dataflow/external-models/steps.ext.yml +++ b/java/ql/test/library-tests/dataflow/external-models/steps.ext.yml @@ -9,13 +9,14 @@ extensions: - ["my.qltest", "C", False, "stepQualRes", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["my.qltest", "C", False, "stepQualArg", "(Object)", "", "Argument[this]", "Argument[0]", "taint", "manual"] - ["my.qltest", "C", False, "stepArgResGenerated", "(Object)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["my.qltest", "C", False, "stepArgResGeneratedIgnored", "(Object,Object)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["my.qltest", "C", False, "stepArgResGeneratedIgnored", "(Object,Object)", "", "Argument[1]", "ReturnValue", "taint", "manual"] - - ["my.qltest", "C", False, "stepArgQualGenerated", "(Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - - ["my.qltest", "C", False, "stepArgQualGeneratedIgnored", "(Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["my.qltest.external", "Library", False, "apiStepArgResGenerated", "(Object)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["my.qltest.external", "Library", False, "apiStepArgResGeneratedIgnored", "(Object,Object)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["my.qltest.external", "Library", False, "apiStepArgResGeneratedIgnored", "(Object,Object)", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["my.qltest.external", "Library", False, "apiStepArgQualGenerated", "(Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["my.qltest.external", "Library", False, "apiStepArgQualGeneratedIgnored", "(Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - addsTo: pack: codeql/java-all extensible: neutralModel data: - - ["my.qltest", "C", "stepArgQualGenerated", "(Object)", "summary", "df-generated"] - - ["my.qltest", "C", "stepArgQualGeneratedIgnored", "(Object)", "summary", "manual"] + - ["my.qltest.external", "Library", "apiStepArgQualGenerated", "(Object)", "summary", "df-generated"] + - ["my.qltest.external", "Library", "apiStepArgQualGeneratedIgnored", "(Object)", "summary", "manual"] diff --git a/java/ql/test/library-tests/dataflow/external-models/stubs/Library.java b/java/ql/test/library-tests/dataflow/external-models/stubs/Library.java new file mode 100644 index 00000000000..945d8671b39 --- /dev/null +++ b/java/ql/test/library-tests/dataflow/external-models/stubs/Library.java @@ -0,0 +1,19 @@ +package my.qltest.external; + +public class Library { + public Object apiStepArgResGenerated(Object x) { + return null; + } + + public Object apiStepArgResGeneratedIgnored(Object x, Object y) { + return null; + } + + public Object apiStepArgQualGenerated(Object x) { + return null; + } + + public Object apiStepArgQualGeneratedIgnored(Object x) { + return null; + } +} From db51604f4611a6e1dcfe934754fe9c6bf2f457a8 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Mon, 19 Aug 2024 13:54:19 +0200 Subject: [PATCH 231/258] Java: Promote some generated models and add some manual neutrals. --- java/ql/lib/ext/java.net.model.yml | 1 + java/ql/lib/ext/java.nio.model.yml | 15 ++++++++++++++- java/ql/lib/ext/java.security.cert.model.yml | 8 ++++++++ java/ql/lib/ext/java.security.model.yml | 3 +++ java/ql/lib/ext/java.util.logging.model.yml | 3 +++ java/ql/lib/ext/javax.management.model.yml | 3 +++ 6 files changed, 32 insertions(+), 1 deletion(-) diff --git a/java/ql/lib/ext/java.net.model.yml b/java/ql/lib/ext/java.net.model.yml index f48acbeace1..5acfd7f4e10 100644 --- a/java/ql/lib/ext/java.net.model.yml +++ b/java/ql/lib/ext/java.net.model.yml @@ -48,6 +48,7 @@ extensions: - ["java.net", "URI", False, "URI", "(String,String,String)", "", "Argument[1]", "ReturnValue", "taint", "ai-manual"] - ["java.net", "URI", False, "URI", "(String)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["java.net", "URI", False, "create", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["java.net", "URI", False, "getPath", "()", "", "Argument[this]", "ReturnValue", "taint", "df-manual"] - ["java.net", "URI", False, "resolve", "(String)", "", "Argument[0]", "ReturnValue", "taint", "ai-manual"] - ["java.net", "URI", False, "resolve", "(URI)", "", "Argument[0]", "ReturnValue", "taint", "ai-manual"] - ["java.net", "URI", False, "toASCIIString", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] diff --git a/java/ql/lib/ext/java.nio.model.yml b/java/ql/lib/ext/java.nio.model.yml index 1548dc2c649..1848916b43b 100644 --- a/java/ql/lib/ext/java.nio.model.yml +++ b/java/ql/lib/ext/java.nio.model.yml @@ -5,7 +5,20 @@ extensions: data: - ["java.nio", "ByteBuffer", False, "array", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.nio", "ByteBuffer", False, "get", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["java.nio", "ByteBuffer", False, "wrap", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["java.nio", "ByteBuffer", True, "put", "(ByteBuffer)", "", "Argument[this]", "ReturnValue", "value", "df-manual"] + - ["java.nio", "ByteBuffer", True, "put", "(byte)", "", "Argument[this]", "ReturnValue", "value", "df-manual"] + - ["java.nio", "ByteBuffer", True, "put", "(byte[])", "", "Argument[0]", "Argument[this]", "taint", "df-manual"] + - ["java.nio", "ByteBuffer", True, "put", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] + - ["java.nio", "ByteBuffer", True, "put", "(byte[])", "", "Argument[this]", "ReturnValue", "taint", "df-manual"] + - ["java.nio", "ByteBuffer", True, "put", "(byte[],int,int)", "", "Argument[0]", "Argument[this]", "taint", "df-manual"] + - ["java.nio", "ByteBuffer", True, "put", "(byte[],int,int)", "", "Argument[this]", "ReturnValue", "value", "df-manual"] + - ["java.nio", "ByteBuffer", True, "wrap", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["java.nio", "ByteBuffer", True, "wrap", "(byte[],int,int)", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] + - ["java.nio", "CharBuffer", True, "wrap", "(CharSequence)", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] + - ["java.nio", "CharBuffer", True, "wrap", "(CharSequence,int,int)", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] + - ["java.nio", "CharBuffer", True, "wrap", "(char[])", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] + - ["java.nio", "CharBuffer", True, "wrap", "(char[],int,int)", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] + - addsTo: pack: codeql/java-all diff --git a/java/ql/lib/ext/java.security.cert.model.yml b/java/ql/lib/ext/java.security.cert.model.yml index 503ad06cabf..d85413b723d 100644 --- a/java/ql/lib/ext/java.security.cert.model.yml +++ b/java/ql/lib/ext/java.security.cert.model.yml @@ -4,6 +4,14 @@ extensions: extensible: sinkModel data: - ["java.security.cert", "X509CertSelector", False, "setSubjectPublicKey", "(byte[])", "", "Argument[0]", "credentials-key", "hq-generated"] + + - addsTo: + pack: codeql/java-all + extensible: summaryModel + data: + - ["java.security.cert", "X509Certificate", True, "getIssuerX500Principal", "()", "", "Argument[this]", "ReturnValue", "taint", "df-manual"] + - ["java.security.cert", "X509Certificate", True, "getSubjectX500Principal", "()", "", "Argument[this]", "ReturnValue", "taint", "df-manual"] + - addsTo: pack: codeql/java-all extensible: neutralModel diff --git a/java/ql/lib/ext/java.security.model.yml b/java/ql/lib/ext/java.security.model.yml index 6157c635fe6..27120072763 100644 --- a/java/ql/lib/ext/java.security.model.yml +++ b/java/ql/lib/ext/java.security.model.yml @@ -26,6 +26,9 @@ extensions: - ["java.security", "CodeSource", False, "getCertificates", "()", "", "Argument[this].SyntheticField[java.security.CodeSource.certificates].ArrayElement", "ReturnValue.ArrayElement", "value", "df-manual"] - ["java.security", "CodeSource", False, "getCodeSigners", "()", "", "Argument[this].SyntheticField[java.security.CodeSource.codeSigners].ArrayElement", "ReturnValue.ArrayElement", "value", "df-manual"] - ["java.security", "CodeSource", False, "getLocation", "()", "", "Argument[this]", "ReturnValue", "taint", "df-manual"] + - ["java.security", "Permission", True, "Permission", "(String)", "", "Argument[0]", "Argument[this]", "taint", "df-manual"] + - ["java.security", "Permission", True, "getName", "()", "", "Argument[this]", "ReturnValue", "taint", "df-manual"] + - addsTo: pack: codeql/java-all extensible: neutralModel diff --git a/java/ql/lib/ext/java.util.logging.model.yml b/java/ql/lib/ext/java.util.logging.model.yml index 4bd8c6556c9..4913254bf2d 100644 --- a/java/ql/lib/ext/java.util.logging.model.yml +++ b/java/ql/lib/ext/java.util.logging.model.yml @@ -46,8 +46,11 @@ extensions: - ["java.util.logging", "Logger", False, "getLogger", "(String)", "", "Argument[0]", "ReturnValue.SyntheticField[java.util.logging.Logger.name]", "value", "manual"] - ["java.util.logging", "Logger", False, "getName", "()", "", "Argument[this].SyntheticField[java.util.logging.Logger.name]", "ReturnValue", "value", "manual"] - ["java.util.logging", "LogRecord", False, "LogRecord", "", "", "Argument[1]", "Argument[this]", "taint", "manual"] + - ["java.util.logging", "LogRecord", True, "getMessage", "()", "", "Argument[this]", "ReturnValue", "taint", "df-manual"] - addsTo: pack: codeql/java-all extensible: neutralModel data: + - ["java.util.logging", "Handler", "getEncoding", "()", "summary", "manual"] - ["java.util.logging", "Logger", "isLoggable", "(Level)", "summary", "manual"] + - ["java.util.logging", "LogRecord", "getParameters", "()", "summary", "manual"] diff --git a/java/ql/lib/ext/javax.management.model.yml b/java/ql/lib/ext/javax.management.model.yml index f1877228cf1..d973be3a69b 100644 --- a/java/ql/lib/ext/javax.management.model.yml +++ b/java/ql/lib/ext/javax.management.model.yml @@ -3,4 +3,7 @@ extensions: pack: codeql/java-all extensible: summaryModel data: + - ["javax.management", "Notification", True, "Notification", "(String,Object,long,String)", "", "Argument[3]", "Argument[this]", "taint", "df-manual"] + - ["javax.management", "Notification", True, "Notification", "(String,Object,long,long,String)", "", "Argument[4]", "Argument[this]", "taint", "df-manual"] + - ["javax.management", "Notification", True, "getMessage", "()", "", "Argument[this]", "ReturnValue", "taint", "df-manual"] - ["javax.management", "ObjectName", True, "ObjectName", "(String)", "", "Argument[0]", "Argument[this]", "taint", "ai-manual"] From d79aa294ec72a81268ea2fa487f787f4d06523e4 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Mon, 19 Aug 2024 13:58:12 +0200 Subject: [PATCH 232/258] Java: Move some neutrals into the model.yml file (they have previosly been ignored due to wrong file extension). --- java/ql/lib/ext/java.util.logging.model.yml | 4 ++++ java/ql/lib/ext/java.util.logging.yml | 8 -------- 2 files changed, 4 insertions(+), 8 deletions(-) delete mode 100644 java/ql/lib/ext/java.util.logging.yml diff --git a/java/ql/lib/ext/java.util.logging.model.yml b/java/ql/lib/ext/java.util.logging.model.yml index 4913254bf2d..d13803d73bb 100644 --- a/java/ql/lib/ext/java.util.logging.model.yml +++ b/java/ql/lib/ext/java.util.logging.model.yml @@ -53,4 +53,8 @@ extensions: data: - ["java.util.logging", "Handler", "getEncoding", "()", "summary", "manual"] - ["java.util.logging", "Logger", "isLoggable", "(Level)", "summary", "manual"] + - ["java.util.logging", "LogRecord", "getResourceBundle", "()", "summary", "df-manual"] + # If needed, a pair of manual summary models using synthetics can be made for the two + # neutrals below. - ["java.util.logging", "LogRecord", "getParameters", "()", "summary", "manual"] + - ["java.util.logging", "LogRecord", "setParameters", "", "summary", "df-manual"] diff --git a/java/ql/lib/ext/java.util.logging.yml b/java/ql/lib/ext/java.util.logging.yml deleted file mode 100644 index c4bf4e77300..00000000000 --- a/java/ql/lib/ext/java.util.logging.yml +++ /dev/null @@ -1,8 +0,0 @@ -extensions: - - addsTo: - pack: codeql/java-all - extensible: neutralModel - data: - # summary neutrals - - ["java.util.logging", "LogRecord", "getResourceBundle", "()", "summary", "df-manual"] - - ["java.util.logging", "LogRecord", "setParameters", "", "summary", "df-manual"] From 7488cc0811dcc03a08e371db9ab09bffc9064af9 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Mon, 19 Aug 2024 15:17:27 +0200 Subject: [PATCH 233/258] Java: Updated expected test output. --- .../apache-commons-lang3/flow.expected | 646 +++++++++--------- 1 file changed, 323 insertions(+), 323 deletions(-) diff --git a/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.expected b/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.expected index 5a5618355c0..5c7448f4222 100644 --- a/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.expected +++ b/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.expected @@ -1,14 +1,14 @@ models -| 1 | Summary: java.nio; CharBuffer; true; wrap; (char[]); ; Argument[0]; ReturnValue; taint; df-generated | -| 2 | Summary: java.io; Reader; true; read; ; ; Argument[this]; Argument[0]; taint; manual | -| 3 | Summary: java.io; StringReader; false; StringReader; ; ; Argument[0]; Argument[this]; taint; manual | -| 4 | Summary: java.lang; Appendable; true; append; ; ; Argument[0]; Argument[this]; taint; manual | -| 5 | Summary: java.lang; CharSequence; true; subSequence; ; ; Argument[this]; ReturnValue; taint; manual | -| 6 | Summary: java.lang; CharSequence; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | -| 7 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | -| 8 | Summary: java.lang; String; false; toCharArray; ; ; Argument[this]; ReturnValue; taint; manual | -| 9 | Summary: java.lang; StringBuffer; true; StringBuffer; (String); ; Argument[0]; Argument[this]; taint; manual | -| 10 | Summary: java.lang; StringBuilder; true; StringBuilder; ; ; Argument[0]; Argument[this]; taint; manual | +| 1 | Summary: java.io; Reader; true; read; ; ; Argument[this]; Argument[0]; taint; manual | +| 2 | Summary: java.io; StringReader; false; StringReader; ; ; Argument[0]; Argument[this]; taint; manual | +| 3 | Summary: java.lang; Appendable; true; append; ; ; Argument[0]; Argument[this]; taint; manual | +| 4 | Summary: java.lang; CharSequence; true; subSequence; ; ; Argument[this]; ReturnValue; taint; manual | +| 5 | Summary: java.lang; CharSequence; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 6 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual | +| 7 | Summary: java.lang; String; false; toCharArray; ; ; Argument[this]; ReturnValue; taint; manual | +| 8 | Summary: java.lang; StringBuffer; true; StringBuffer; (String); ; Argument[0]; Argument[this]; taint; manual | +| 9 | Summary: java.lang; StringBuilder; true; StringBuilder; ; ; Argument[0]; Argument[this]; taint; manual | +| 10 | Summary: java.nio; CharBuffer; true; wrap; (char[]); ; Argument[0]; ReturnValue; taint; df-manual | | 11 | Summary: java.util; Collection; true; add; ; ; Argument[0]; Argument[this].Element; value; manual | | 12 | Summary: java.util; Dictionary; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | | 13 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | @@ -945,234 +945,234 @@ edges | RegExUtilsTest.java:27:57:27:63 | taint(...) : String | RegExUtilsTest.java:27:10:27:64 | replacePattern(...) | provenance | MaD:78 | | StrBuilderTest.java:17:28:17:50 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:17:58:17:62 | cons1 : StrBuilder | provenance | | | StrBuilderTest.java:17:43:17:49 | taint(...) : String | StrBuilderTest.java:17:28:17:50 | new StrBuilder(...) : StrBuilder | provenance | MaD:226 | -| StrBuilderTest.java:17:58:17:62 | cons1 : StrBuilder | StrBuilderTest.java:17:58:17:73 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:17:58:17:62 | cons1 : StrBuilder | StrBuilderTest.java:17:58:17:73 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:17:58:17:62 | cons1 : StrBuilder | StrBuilderTest.java:17:58:17:73 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:19:44:19:46 | sb1 [post update] : StrBuilder | StrBuilderTest.java:19:84:19:86 | sb1 : StrBuilder | provenance | | -| StrBuilderTest.java:19:55:19:61 | taint(...) : String | StrBuilderTest.java:19:55:19:75 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTest.java:19:55:19:61 | taint(...) : String | StrBuilderTest.java:19:55:19:75 | toCharArray(...) : char[] | provenance | MaD:7 | | StrBuilderTest.java:19:55:19:75 | toCharArray(...) : char[] | StrBuilderTest.java:19:44:19:46 | sb1 [post update] : StrBuilder | provenance | MaD:228 | -| StrBuilderTest.java:19:84:19:86 | sb1 : StrBuilder | StrBuilderTest.java:19:84:19:97 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:19:84:19:86 | sb1 : StrBuilder | StrBuilderTest.java:19:84:19:97 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:19:84:19:86 | sb1 : StrBuilder | StrBuilderTest.java:19:84:19:97 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:20:44:20:46 | sb2 [post update] : StrBuilder | StrBuilderTest.java:20:90:20:92 | sb2 : StrBuilder | provenance | | -| StrBuilderTest.java:20:55:20:61 | taint(...) : String | StrBuilderTest.java:20:55:20:75 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTest.java:20:55:20:61 | taint(...) : String | StrBuilderTest.java:20:55:20:75 | toCharArray(...) : char[] | provenance | MaD:7 | | StrBuilderTest.java:20:55:20:75 | toCharArray(...) : char[] | StrBuilderTest.java:20:44:20:46 | sb2 [post update] : StrBuilder | provenance | MaD:229 | -| StrBuilderTest.java:20:90:20:92 | sb2 : StrBuilder | StrBuilderTest.java:20:90:20:103 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:20:90:20:92 | sb2 : StrBuilder | StrBuilderTest.java:20:90:20:103 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:20:90:20:92 | sb2 : StrBuilder | StrBuilderTest.java:20:90:20:103 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:21:44:21:46 | sb3 [post update] : StrBuilder | StrBuilderTest.java:21:101:21:103 | sb3 : StrBuilder | provenance | | | StrBuilderTest.java:21:55:21:92 | wrap(...) : CharBuffer | StrBuilderTest.java:21:44:21:46 | sb3 [post update] : StrBuilder | provenance | MaD:241 | -| StrBuilderTest.java:21:71:21:77 | taint(...) : String | StrBuilderTest.java:21:71:21:91 | toCharArray(...) : char[] | provenance | MaD:8 | -| StrBuilderTest.java:21:71:21:91 | toCharArray(...) : char[] | StrBuilderTest.java:21:55:21:92 | wrap(...) : CharBuffer | provenance | MaD:1 | -| StrBuilderTest.java:21:101:21:103 | sb3 : StrBuilder | StrBuilderTest.java:21:101:21:114 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:21:71:21:77 | taint(...) : String | StrBuilderTest.java:21:71:21:91 | toCharArray(...) : char[] | provenance | MaD:7 | +| StrBuilderTest.java:21:71:21:91 | toCharArray(...) : char[] | StrBuilderTest.java:21:55:21:92 | wrap(...) : CharBuffer | provenance | MaD:10 | +| StrBuilderTest.java:21:101:21:103 | sb3 : StrBuilder | StrBuilderTest.java:21:101:21:114 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:21:101:21:103 | sb3 : StrBuilder | StrBuilderTest.java:21:101:21:114 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:22:44:22:46 | sb4 [post update] : StrBuilder | StrBuilderTest.java:22:107:22:109 | sb4 : StrBuilder | provenance | | | StrBuilderTest.java:22:55:22:92 | wrap(...) : CharBuffer | StrBuilderTest.java:22:44:22:46 | sb4 [post update] : StrBuilder | provenance | MaD:242 | -| StrBuilderTest.java:22:71:22:77 | taint(...) : String | StrBuilderTest.java:22:71:22:91 | toCharArray(...) : char[] | provenance | MaD:8 | -| StrBuilderTest.java:22:71:22:91 | toCharArray(...) : char[] | StrBuilderTest.java:22:55:22:92 | wrap(...) : CharBuffer | provenance | MaD:1 | -| StrBuilderTest.java:22:107:22:109 | sb4 : StrBuilder | StrBuilderTest.java:22:107:22:120 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:22:71:22:77 | taint(...) : String | StrBuilderTest.java:22:71:22:91 | toCharArray(...) : char[] | provenance | MaD:7 | +| StrBuilderTest.java:22:71:22:91 | toCharArray(...) : char[] | StrBuilderTest.java:22:55:22:92 | wrap(...) : CharBuffer | provenance | MaD:10 | +| StrBuilderTest.java:22:107:22:109 | sb4 : StrBuilder | StrBuilderTest.java:22:107:22:120 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:22:107:22:109 | sb4 : StrBuilder | StrBuilderTest.java:22:107:22:120 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:23:44:23:46 | sb5 [post update] : StrBuilder | StrBuilderTest.java:23:84:23:86 | sb5 : StrBuilder | provenance | | -| StrBuilderTest.java:23:55:23:75 | (...)... : String | StrBuilderTest.java:23:44:23:46 | sb5 [post update] : StrBuilder | provenance | MaD:4 | +| StrBuilderTest.java:23:55:23:75 | (...)... : String | StrBuilderTest.java:23:44:23:46 | sb5 [post update] : StrBuilder | provenance | MaD:3 | | StrBuilderTest.java:23:55:23:75 | (...)... : String | StrBuilderTest.java:23:44:23:46 | sb5 [post update] : StrBuilder | provenance | MaD:230 | | StrBuilderTest.java:23:69:23:75 | taint(...) : String | StrBuilderTest.java:23:55:23:75 | (...)... : String | provenance | | -| StrBuilderTest.java:23:84:23:86 | sb5 : StrBuilder | StrBuilderTest.java:23:84:23:97 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:23:84:23:86 | sb5 : StrBuilder | StrBuilderTest.java:23:84:23:97 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:23:84:23:86 | sb5 : StrBuilder | StrBuilderTest.java:23:84:23:97 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:24:44:24:46 | sb6 [post update] : StrBuilder | StrBuilderTest.java:24:90:24:92 | sb6 : StrBuilder | provenance | | -| StrBuilderTest.java:24:55:24:75 | (...)... : String | StrBuilderTest.java:24:44:24:46 | sb6 [post update] : StrBuilder | provenance | MaD:4 | +| StrBuilderTest.java:24:55:24:75 | (...)... : String | StrBuilderTest.java:24:44:24:46 | sb6 [post update] : StrBuilder | provenance | MaD:3 | | StrBuilderTest.java:24:55:24:75 | (...)... : String | StrBuilderTest.java:24:44:24:46 | sb6 [post update] : StrBuilder | provenance | MaD:231 | | StrBuilderTest.java:24:69:24:75 | taint(...) : String | StrBuilderTest.java:24:55:24:75 | (...)... : String | provenance | | -| StrBuilderTest.java:24:90:24:92 | sb6 : StrBuilder | StrBuilderTest.java:24:90:24:103 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:24:90:24:92 | sb6 : StrBuilder | StrBuilderTest.java:24:90:24:103 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:24:90:24:92 | sb6 : StrBuilder | StrBuilderTest.java:24:90:24:103 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:25:44:25:46 | sb7 [post update] : StrBuilder | StrBuilderTest.java:25:78:25:80 | sb7 : StrBuilder | provenance | | | StrBuilderTest.java:25:55:25:69 | (...)... : String | StrBuilderTest.java:25:44:25:46 | sb7 [post update] : StrBuilder | provenance | MaD:232 | | StrBuilderTest.java:25:63:25:69 | taint(...) : String | StrBuilderTest.java:25:55:25:69 | (...)... : String | provenance | | -| StrBuilderTest.java:25:78:25:80 | sb7 : StrBuilder | StrBuilderTest.java:25:78:25:91 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:25:78:25:80 | sb7 : StrBuilder | StrBuilderTest.java:25:78:25:91 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:25:78:25:80 | sb7 : StrBuilder | StrBuilderTest.java:25:78:25:91 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:27:50:27:54 | auxsb [post update] : StrBuilder | StrBuilderTest.java:28:59:28:63 | auxsb : StrBuilder | provenance | | | StrBuilderTest.java:27:63:27:69 | taint(...) : String | StrBuilderTest.java:27:50:27:54 | auxsb [post update] : StrBuilder | provenance | MaD:233 | | StrBuilderTest.java:28:48:28:50 | sb8 [post update] : StrBuilder | StrBuilderTest.java:28:72:28:74 | sb8 : StrBuilder | provenance | | | StrBuilderTest.java:28:59:28:63 | auxsb : StrBuilder | StrBuilderTest.java:28:48:28:50 | sb8 [post update] : StrBuilder | provenance | MaD:243 | -| StrBuilderTest.java:28:72:28:74 | sb8 : StrBuilder | StrBuilderTest.java:28:72:28:85 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:28:72:28:74 | sb8 : StrBuilder | StrBuilderTest.java:28:72:28:85 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:28:72:28:74 | sb8 : StrBuilder | StrBuilderTest.java:28:72:28:85 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:30:44:30:46 | sb9 [post update] : StrBuilder | StrBuilderTest.java:30:88:30:90 | sb9 : StrBuilder | provenance | | | StrBuilderTest.java:30:55:30:79 | new StringBuffer(...) : StringBuffer | StrBuilderTest.java:30:44:30:46 | sb9 [post update] : StrBuilder | provenance | MaD:237 | -| StrBuilderTest.java:30:72:30:78 | taint(...) : String | StrBuilderTest.java:30:55:30:79 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | -| StrBuilderTest.java:30:88:30:90 | sb9 : StrBuilder | StrBuilderTest.java:30:88:30:101 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:30:72:30:78 | taint(...) : String | StrBuilderTest.java:30:55:30:79 | new StringBuffer(...) : StringBuffer | provenance | MaD:8 | +| StrBuilderTest.java:30:88:30:90 | sb9 : StrBuilder | StrBuilderTest.java:30:88:30:101 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:30:88:30:90 | sb9 : StrBuilder | StrBuilderTest.java:30:88:30:101 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:31:45:31:48 | sb10 [post update] : StrBuilder | StrBuilderTest.java:31:96:31:99 | sb10 : StrBuilder | provenance | | | StrBuilderTest.java:31:57:31:81 | new StringBuffer(...) : StringBuffer | StrBuilderTest.java:31:45:31:48 | sb10 [post update] : StrBuilder | provenance | MaD:238 | -| StrBuilderTest.java:31:74:31:80 | taint(...) : String | StrBuilderTest.java:31:57:31:81 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | -| StrBuilderTest.java:31:96:31:99 | sb10 : StrBuilder | StrBuilderTest.java:31:96:31:110 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:31:74:31:80 | taint(...) : String | StrBuilderTest.java:31:57:31:81 | new StringBuffer(...) : StringBuffer | provenance | MaD:8 | +| StrBuilderTest.java:31:96:31:99 | sb10 : StrBuilder | StrBuilderTest.java:31:96:31:110 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:31:96:31:99 | sb10 : StrBuilder | StrBuilderTest.java:31:96:31:110 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:32:45:32:48 | sb11 [post update] : StrBuilder | StrBuilderTest.java:32:91:32:94 | sb11 : StrBuilder | provenance | | | StrBuilderTest.java:32:57:32:82 | new StringBuilder(...) : StringBuilder | StrBuilderTest.java:32:45:32:48 | sb11 [post update] : StrBuilder | provenance | MaD:239 | -| StrBuilderTest.java:32:75:32:81 | taint(...) : String | StrBuilderTest.java:32:57:32:82 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | -| StrBuilderTest.java:32:91:32:94 | sb11 : StrBuilder | StrBuilderTest.java:32:91:32:105 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:32:75:32:81 | taint(...) : String | StrBuilderTest.java:32:57:32:82 | new StringBuilder(...) : StringBuilder | provenance | MaD:9 | +| StrBuilderTest.java:32:91:32:94 | sb11 : StrBuilder | StrBuilderTest.java:32:91:32:105 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:32:91:32:94 | sb11 : StrBuilder | StrBuilderTest.java:32:91:32:105 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:33:45:33:48 | sb12 [post update] : StrBuilder | StrBuilderTest.java:33:97:33:100 | sb12 : StrBuilder | provenance | | | StrBuilderTest.java:33:57:33:82 | new StringBuilder(...) : StringBuilder | StrBuilderTest.java:33:45:33:48 | sb12 [post update] : StrBuilder | provenance | MaD:240 | -| StrBuilderTest.java:33:75:33:81 | taint(...) : String | StrBuilderTest.java:33:57:33:82 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | -| StrBuilderTest.java:33:97:33:100 | sb12 : StrBuilder | StrBuilderTest.java:33:97:33:111 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:33:75:33:81 | taint(...) : String | StrBuilderTest.java:33:57:33:82 | new StringBuilder(...) : StringBuilder | provenance | MaD:9 | +| StrBuilderTest.java:33:97:33:100 | sb12 : StrBuilder | StrBuilderTest.java:33:97:33:111 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:33:97:33:100 | sb12 : StrBuilder | StrBuilderTest.java:33:97:33:111 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:34:45:34:48 | sb13 [post update] : StrBuilder | StrBuilderTest.java:34:72:34:75 | sb13 : StrBuilder | provenance | | | StrBuilderTest.java:34:57:34:63 | taint(...) : String | StrBuilderTest.java:34:45:34:48 | sb13 [post update] : StrBuilder | provenance | MaD:233 | -| StrBuilderTest.java:34:72:34:75 | sb13 : StrBuilder | StrBuilderTest.java:34:72:34:86 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:34:72:34:75 | sb13 : StrBuilder | StrBuilderTest.java:34:72:34:86 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:34:72:34:75 | sb13 : StrBuilder | StrBuilderTest.java:34:72:34:86 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:35:45:35:48 | sb14 [post update] : StrBuilder | StrBuilderTest.java:35:78:35:81 | sb14 : StrBuilder | provenance | | | StrBuilderTest.java:35:57:35:63 | taint(...) : String | StrBuilderTest.java:35:45:35:48 | sb14 [post update] : StrBuilder | provenance | MaD:234 | -| StrBuilderTest.java:35:78:35:81 | sb14 : StrBuilder | StrBuilderTest.java:35:78:35:92 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:35:78:35:81 | sb14 : StrBuilder | StrBuilderTest.java:35:78:35:92 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:35:78:35:81 | sb14 : StrBuilder | StrBuilderTest.java:35:78:35:92 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:36:45:36:48 | sb15 [post update] : StrBuilder | StrBuilderTest.java:36:90:36:93 | sb15 : StrBuilder | provenance | | | StrBuilderTest.java:36:57:36:63 | taint(...) : String | StrBuilderTest.java:36:45:36:48 | sb15 [post update] : StrBuilder | provenance | MaD:235 | -| StrBuilderTest.java:36:90:36:93 | sb15 : StrBuilder | StrBuilderTest.java:36:90:36:104 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:36:90:36:93 | sb15 : StrBuilder | StrBuilderTest.java:36:90:36:104 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:36:90:36:93 | sb15 : StrBuilder | StrBuilderTest.java:36:90:36:104 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:37:45:37:48 | sb16 [post update] : StrBuilder | StrBuilderTest.java:37:97:37:100 | sb16 : StrBuilder | provenance | | | StrBuilderTest.java:37:45:37:89 | new ..[] { .. } : Object[] [[]] : String | StrBuilderTest.java:37:45:37:48 | sb16 [post update] : StrBuilder | provenance | MaD:236 | | StrBuilderTest.java:37:74:37:80 | taint(...) : String | StrBuilderTest.java:37:45:37:89 | new ..[] { .. } : Object[] [[]] : String | provenance | | -| StrBuilderTest.java:37:97:37:100 | sb16 : StrBuilder | StrBuilderTest.java:37:97:37:111 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:37:97:37:100 | sb16 : StrBuilder | StrBuilderTest.java:37:97:37:111 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:37:97:37:100 | sb16 : StrBuilder | StrBuilderTest.java:37:97:37:111 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:40:13:40:23 | taintedList [post update] : ArrayList [] : String | StrBuilderTest.java:41:64:41:74 | taintedList : ArrayList [] : String | provenance | | | StrBuilderTest.java:40:13:40:23 | taintedList [post update] : ArrayList [] : String | StrBuilderTest.java:42:64:42:74 | taintedList : ArrayList [] : String | provenance | | | StrBuilderTest.java:40:29:40:35 | taint(...) : String | StrBuilderTest.java:40:13:40:23 | taintedList [post update] : ArrayList [] : String | provenance | MaD:11 | | StrBuilderTest.java:41:49:41:52 | sb17 [post update] : StrBuilder | StrBuilderTest.java:41:83:41:86 | sb17 : StrBuilder | provenance | | | StrBuilderTest.java:41:64:41:74 | taintedList : ArrayList [] : String | StrBuilderTest.java:41:49:41:52 | sb17 [post update] : StrBuilder | provenance | MaD:245 | -| StrBuilderTest.java:41:83:41:86 | sb17 : StrBuilder | StrBuilderTest.java:41:83:41:97 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:41:83:41:86 | sb17 : StrBuilder | StrBuilderTest.java:41:83:41:97 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:41:83:41:86 | sb17 : StrBuilder | StrBuilderTest.java:41:83:41:97 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:42:49:42:52 | sb18 [post update] : StrBuilder | StrBuilderTest.java:42:94:42:97 | sb18 : StrBuilder | provenance | | -| StrBuilderTest.java:42:64:42:74 | taintedList : ArrayList [] : String | StrBuilderTest.java:42:64:42:85 | iterator(...) : Iterator [] : String | provenance | MaD:7 | +| StrBuilderTest.java:42:64:42:74 | taintedList : ArrayList [] : String | StrBuilderTest.java:42:64:42:85 | iterator(...) : Iterator [] : String | provenance | MaD:6 | | StrBuilderTest.java:42:64:42:85 | iterator(...) : Iterator [] : String | StrBuilderTest.java:42:49:42:52 | sb18 [post update] : StrBuilder | provenance | MaD:246 | -| StrBuilderTest.java:42:94:42:97 | sb18 : StrBuilder | StrBuilderTest.java:42:94:42:108 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:42:94:42:97 | sb18 : StrBuilder | StrBuilderTest.java:42:94:42:108 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:42:94:42:97 | sb18 : StrBuilder | StrBuilderTest.java:42:94:42:108 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:44:45:44:48 | sb19 [post update] : StrBuilder | StrBuilderTest.java:44:84:44:87 | sb19 : StrBuilder | provenance | | | StrBuilderTest.java:44:45:44:76 | new ..[] { .. } : Object[] [[]] : String | StrBuilderTest.java:44:45:44:48 | sb19 [post update] : StrBuilder | provenance | MaD:247 | | StrBuilderTest.java:44:69:44:75 | taint(...) : String | StrBuilderTest.java:44:45:44:76 | new ..[] { .. } : Object[] [[]] : String | provenance | | -| StrBuilderTest.java:44:84:44:87 | sb19 : StrBuilder | StrBuilderTest.java:44:84:44:98 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:44:84:44:87 | sb19 : StrBuilder | StrBuilderTest.java:44:84:44:98 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:44:84:44:87 | sb19 : StrBuilder | StrBuilderTest.java:44:84:44:98 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:45:45:45:48 | sb20 [post update] : StrBuilder | StrBuilderTest.java:45:84:45:87 | sb20 : StrBuilder | provenance | | | StrBuilderTest.java:45:45:45:76 | new ..[] { .. } : Object[] [[]] : String | StrBuilderTest.java:45:45:45:48 | sb20 [post update] : StrBuilder | provenance | MaD:247 | | StrBuilderTest.java:45:60:45:66 | taint(...) : String | StrBuilderTest.java:45:45:45:76 | new ..[] { .. } : Object[] [[]] : String | provenance | | -| StrBuilderTest.java:45:84:45:87 | sb20 : StrBuilder | StrBuilderTest.java:45:84:45:98 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:45:84:45:87 | sb20 : StrBuilder | StrBuilderTest.java:45:84:45:98 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:45:84:45:87 | sb20 : StrBuilder | StrBuilderTest.java:45:84:45:98 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:46:45:46:48 | sb21 [post update] : StrBuilder | StrBuilderTest.java:46:97:46:100 | sb21 : StrBuilder | provenance | | | StrBuilderTest.java:46:74:46:80 | taint(...) : String | StrBuilderTest.java:46:45:46:48 | sb21 [post update] : StrBuilder | provenance | MaD:249 | -| StrBuilderTest.java:46:97:46:100 | sb21 : StrBuilder | StrBuilderTest.java:46:97:46:111 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:46:97:46:100 | sb21 : StrBuilder | StrBuilderTest.java:46:97:46:111 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:46:97:46:100 | sb21 : StrBuilder | StrBuilderTest.java:46:97:46:111 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:47:45:47:48 | sb22 [post update] : StrBuilder | StrBuilderTest.java:47:98:47:101 | sb22 : StrBuilder | provenance | | | StrBuilderTest.java:47:75:47:81 | taint(...) : String | StrBuilderTest.java:47:45:47:48 | sb22 [post update] : StrBuilder | provenance | MaD:251 | -| StrBuilderTest.java:47:98:47:101 | sb22 : StrBuilder | StrBuilderTest.java:47:98:47:112 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:47:98:47:101 | sb22 : StrBuilder | StrBuilderTest.java:47:98:47:112 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:47:98:47:101 | sb22 : StrBuilder | StrBuilderTest.java:47:98:47:112 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:48:45:48:48 | sb23 [post update] : StrBuilder | StrBuilderTest.java:48:88:48:91 | sb23 : StrBuilder | provenance | | -| StrBuilderTest.java:48:59:48:65 | taint(...) : String | StrBuilderTest.java:48:59:48:79 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTest.java:48:59:48:65 | taint(...) : String | StrBuilderTest.java:48:59:48:79 | toCharArray(...) : char[] | provenance | MaD:7 | | StrBuilderTest.java:48:59:48:79 | toCharArray(...) : char[] | StrBuilderTest.java:48:45:48:48 | sb23 [post update] : StrBuilder | provenance | MaD:266 | -| StrBuilderTest.java:48:88:48:91 | sb23 : StrBuilder | StrBuilderTest.java:48:88:48:102 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:48:88:48:91 | sb23 : StrBuilder | StrBuilderTest.java:48:88:48:102 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:48:88:48:91 | sb23 : StrBuilder | StrBuilderTest.java:48:88:48:102 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:49:45:49:48 | sb24 [post update] : StrBuilder | StrBuilderTest.java:49:94:49:97 | sb24 : StrBuilder | provenance | | -| StrBuilderTest.java:49:59:49:65 | taint(...) : String | StrBuilderTest.java:49:59:49:79 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTest.java:49:59:49:65 | taint(...) : String | StrBuilderTest.java:49:59:49:79 | toCharArray(...) : char[] | provenance | MaD:7 | | StrBuilderTest.java:49:59:49:79 | toCharArray(...) : char[] | StrBuilderTest.java:49:45:49:48 | sb24 [post update] : StrBuilder | provenance | MaD:267 | -| StrBuilderTest.java:49:94:49:97 | sb24 : StrBuilder | StrBuilderTest.java:49:94:49:108 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:49:94:49:97 | sb24 : StrBuilder | StrBuilderTest.java:49:94:49:108 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:49:94:49:97 | sb24 : StrBuilder | StrBuilderTest.java:49:94:49:108 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:50:45:50:48 | sb25 [post update] : StrBuilder | StrBuilderTest.java:50:82:50:85 | sb25 : StrBuilder | provenance | | | StrBuilderTest.java:50:59:50:73 | (...)... : String | StrBuilderTest.java:50:45:50:48 | sb25 [post update] : StrBuilder | provenance | MaD:268 | | StrBuilderTest.java:50:67:50:73 | taint(...) : String | StrBuilderTest.java:50:59:50:73 | (...)... : String | provenance | | -| StrBuilderTest.java:50:82:50:85 | sb25 : StrBuilder | StrBuilderTest.java:50:82:50:96 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:50:82:50:85 | sb25 : StrBuilder | StrBuilderTest.java:50:82:50:96 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:50:82:50:85 | sb25 : StrBuilder | StrBuilderTest.java:50:82:50:96 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:52:50:52:54 | auxsb [post update] : StrBuilder | StrBuilderTest.java:53:63:53:67 | auxsb : StrBuilder | provenance | | | StrBuilderTest.java:52:65:52:71 | taint(...) : String | StrBuilderTest.java:52:50:52:54 | auxsb [post update] : StrBuilder | provenance | MaD:269 | | StrBuilderTest.java:53:49:53:52 | sb26 [post update] : StrBuilder | StrBuilderTest.java:53:76:53:79 | sb26 : StrBuilder | provenance | | | StrBuilderTest.java:53:63:53:67 | auxsb : StrBuilder | StrBuilderTest.java:53:49:53:52 | sb26 [post update] : StrBuilder | provenance | MaD:277 | -| StrBuilderTest.java:53:76:53:79 | sb26 : StrBuilder | StrBuilderTest.java:53:76:53:90 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:53:76:53:79 | sb26 : StrBuilder | StrBuilderTest.java:53:76:53:90 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:53:76:53:79 | sb26 : StrBuilder | StrBuilderTest.java:53:76:53:90 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:55:45:55:48 | sb27 [post update] : StrBuilder | StrBuilderTest.java:55:92:55:95 | sb27 : StrBuilder | provenance | | | StrBuilderTest.java:55:59:55:83 | new StringBuffer(...) : StringBuffer | StrBuilderTest.java:55:45:55:48 | sb27 [post update] : StrBuilder | provenance | MaD:273 | -| StrBuilderTest.java:55:76:55:82 | taint(...) : String | StrBuilderTest.java:55:59:55:83 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | -| StrBuilderTest.java:55:92:55:95 | sb27 : StrBuilder | StrBuilderTest.java:55:92:55:106 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:55:76:55:82 | taint(...) : String | StrBuilderTest.java:55:59:55:83 | new StringBuffer(...) : StringBuffer | provenance | MaD:8 | +| StrBuilderTest.java:55:92:55:95 | sb27 : StrBuilder | StrBuilderTest.java:55:92:55:106 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:55:92:55:95 | sb27 : StrBuilder | StrBuilderTest.java:55:92:55:106 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:56:45:56:48 | sb28 [post update] : StrBuilder | StrBuilderTest.java:56:98:56:101 | sb28 : StrBuilder | provenance | | | StrBuilderTest.java:56:59:56:83 | new StringBuffer(...) : StringBuffer | StrBuilderTest.java:56:45:56:48 | sb28 [post update] : StrBuilder | provenance | MaD:274 | -| StrBuilderTest.java:56:76:56:82 | taint(...) : String | StrBuilderTest.java:56:59:56:83 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | -| StrBuilderTest.java:56:98:56:101 | sb28 : StrBuilder | StrBuilderTest.java:56:98:56:112 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:56:76:56:82 | taint(...) : String | StrBuilderTest.java:56:59:56:83 | new StringBuffer(...) : StringBuffer | provenance | MaD:8 | +| StrBuilderTest.java:56:98:56:101 | sb28 : StrBuilder | StrBuilderTest.java:56:98:56:112 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:56:98:56:101 | sb28 : StrBuilder | StrBuilderTest.java:56:98:56:112 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:57:45:57:48 | sb29 [post update] : StrBuilder | StrBuilderTest.java:57:93:57:96 | sb29 : StrBuilder | provenance | | | StrBuilderTest.java:57:59:57:84 | new StringBuilder(...) : StringBuilder | StrBuilderTest.java:57:45:57:48 | sb29 [post update] : StrBuilder | provenance | MaD:275 | -| StrBuilderTest.java:57:77:57:83 | taint(...) : String | StrBuilderTest.java:57:59:57:84 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | -| StrBuilderTest.java:57:93:57:96 | sb29 : StrBuilder | StrBuilderTest.java:57:93:57:107 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:57:77:57:83 | taint(...) : String | StrBuilderTest.java:57:59:57:84 | new StringBuilder(...) : StringBuilder | provenance | MaD:9 | +| StrBuilderTest.java:57:93:57:96 | sb29 : StrBuilder | StrBuilderTest.java:57:93:57:107 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:57:93:57:96 | sb29 : StrBuilder | StrBuilderTest.java:57:93:57:107 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:58:45:58:48 | sb30 [post update] : StrBuilder | StrBuilderTest.java:58:99:58:102 | sb30 : StrBuilder | provenance | | | StrBuilderTest.java:58:59:58:84 | new StringBuilder(...) : StringBuilder | StrBuilderTest.java:58:45:58:48 | sb30 [post update] : StrBuilder | provenance | MaD:276 | -| StrBuilderTest.java:58:77:58:83 | taint(...) : String | StrBuilderTest.java:58:59:58:84 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | -| StrBuilderTest.java:58:99:58:102 | sb30 : StrBuilder | StrBuilderTest.java:58:99:58:113 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:58:77:58:83 | taint(...) : String | StrBuilderTest.java:58:59:58:84 | new StringBuilder(...) : StringBuilder | provenance | MaD:9 | +| StrBuilderTest.java:58:99:58:102 | sb30 : StrBuilder | StrBuilderTest.java:58:99:58:113 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:58:99:58:102 | sb30 : StrBuilder | StrBuilderTest.java:58:99:58:113 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:59:45:59:48 | sb31 [post update] : StrBuilder | StrBuilderTest.java:59:74:59:77 | sb31 : StrBuilder | provenance | | | StrBuilderTest.java:59:59:59:65 | taint(...) : String | StrBuilderTest.java:59:45:59:48 | sb31 [post update] : StrBuilder | provenance | MaD:269 | -| StrBuilderTest.java:59:74:59:77 | sb31 : StrBuilder | StrBuilderTest.java:59:74:59:88 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:59:74:59:77 | sb31 : StrBuilder | StrBuilderTest.java:59:74:59:88 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:59:74:59:77 | sb31 : StrBuilder | StrBuilderTest.java:59:74:59:88 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:60:45:60:48 | sb32 [post update] : StrBuilder | StrBuilderTest.java:60:80:60:83 | sb32 : StrBuilder | provenance | | | StrBuilderTest.java:60:59:60:65 | taint(...) : String | StrBuilderTest.java:60:45:60:48 | sb32 [post update] : StrBuilder | provenance | MaD:270 | -| StrBuilderTest.java:60:80:60:83 | sb32 : StrBuilder | StrBuilderTest.java:60:80:60:94 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:60:80:60:83 | sb32 : StrBuilder | StrBuilderTest.java:60:80:60:94 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:60:80:60:83 | sb32 : StrBuilder | StrBuilderTest.java:60:80:60:94 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:61:45:61:48 | sb33 [post update] : StrBuilder | StrBuilderTest.java:61:92:61:95 | sb33 : StrBuilder | provenance | | | StrBuilderTest.java:61:59:61:65 | taint(...) : String | StrBuilderTest.java:61:45:61:48 | sb33 [post update] : StrBuilder | provenance | MaD:271 | -| StrBuilderTest.java:61:92:61:95 | sb33 : StrBuilder | StrBuilderTest.java:61:92:61:106 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:61:92:61:95 | sb33 : StrBuilder | StrBuilderTest.java:61:92:61:106 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:61:92:61:95 | sb33 : StrBuilder | StrBuilderTest.java:61:92:61:106 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:62:45:62:48 | sb34 [post update] : StrBuilder | StrBuilderTest.java:62:99:62:102 | sb34 : StrBuilder | provenance | | | StrBuilderTest.java:62:45:62:91 | new ..[] { .. } : Object[] [[]] : String | StrBuilderTest.java:62:45:62:48 | sb34 [post update] : StrBuilder | provenance | MaD:272 | | StrBuilderTest.java:62:76:62:82 | taint(...) : String | StrBuilderTest.java:62:45:62:91 | new ..[] { .. } : Object[] [[]] : String | provenance | | -| StrBuilderTest.java:62:99:62:102 | sb34 : StrBuilder | StrBuilderTest.java:62:99:62:113 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:62:99:62:102 | sb34 : StrBuilder | StrBuilderTest.java:62:99:62:113 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:62:99:62:102 | sb34 : StrBuilder | StrBuilderTest.java:62:99:62:113 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:63:45:63:48 | sb35 [post update] : StrBuilder | StrBuilderTest.java:63:81:63:84 | sb35 : StrBuilder | provenance | | | StrBuilderTest.java:63:66:63:72 | taint(...) : String | StrBuilderTest.java:63:45:63:48 | sb35 [post update] : StrBuilder | provenance | MaD:256 | -| StrBuilderTest.java:63:81:63:84 | sb35 : StrBuilder | StrBuilderTest.java:63:81:63:95 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:63:81:63:84 | sb35 : StrBuilder | StrBuilderTest.java:63:81:63:95 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:63:81:63:84 | sb35 : StrBuilder | StrBuilderTest.java:63:81:63:95 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:64:45:64:48 | sb36 [post update] : StrBuilder | StrBuilderTest.java:64:84:64:87 | sb36 : StrBuilder | provenance | | | StrBuilderTest.java:64:66:64:72 | taint(...) : String | StrBuilderTest.java:64:45:64:48 | sb36 [post update] : StrBuilder | provenance | MaD:257 | -| StrBuilderTest.java:64:84:64:87 | sb36 : StrBuilder | StrBuilderTest.java:64:84:64:98 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:64:84:64:87 | sb36 : StrBuilder | StrBuilderTest.java:64:84:64:98 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:64:84:64:87 | sb36 : StrBuilder | StrBuilderTest.java:64:84:64:98 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:65:45:65:48 | sb37 [post update] : StrBuilder | StrBuilderTest.java:65:92:65:95 | sb37 : StrBuilder | provenance | | | StrBuilderTest.java:65:66:65:72 | taint(...) : String | StrBuilderTest.java:65:45:65:48 | sb37 [post update] : StrBuilder | provenance | MaD:258 | -| StrBuilderTest.java:65:92:65:95 | sb37 : StrBuilder | StrBuilderTest.java:65:92:65:106 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:65:92:65:95 | sb37 : StrBuilder | StrBuilderTest.java:65:92:65:106 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:65:92:65:95 | sb37 : StrBuilder | StrBuilderTest.java:65:92:65:106 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:66:45:66:48 | sb38 [post update] : StrBuilder | StrBuilderTest.java:66:85:66:88 | sb38 : StrBuilder | provenance | | | StrBuilderTest.java:66:70:66:76 | taint(...) : String | StrBuilderTest.java:66:45:66:48 | sb38 [post update] : StrBuilder | provenance | MaD:258 | -| StrBuilderTest.java:66:85:66:88 | sb38 : StrBuilder | StrBuilderTest.java:66:85:66:99 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:66:85:66:88 | sb38 : StrBuilder | StrBuilderTest.java:66:85:66:99 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:66:85:66:88 | sb38 : StrBuilder | StrBuilderTest.java:66:85:66:99 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:68:50:68:54 | auxsb [post update] : StrBuilder | StrBuilderTest.java:69:49:69:53 | auxsb : StrBuilder | provenance | | | StrBuilderTest.java:68:65:68:71 | taint(...) : String | StrBuilderTest.java:68:50:68:54 | auxsb [post update] : StrBuilder | provenance | MaD:269 | | StrBuilderTest.java:69:49:69:53 | auxsb : StrBuilder | StrBuilderTest.java:69:64:69:67 | sb39 [post update] : StrBuilder | provenance | MaD:259 | | StrBuilderTest.java:69:64:69:67 | sb39 [post update] : StrBuilder | StrBuilderTest.java:69:76:69:79 | sb39 : StrBuilder | provenance | | -| StrBuilderTest.java:69:76:69:79 | sb39 : StrBuilder | StrBuilderTest.java:69:76:69:90 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:69:76:69:79 | sb39 : StrBuilder | StrBuilderTest.java:69:76:69:90 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:69:76:69:79 | sb39 : StrBuilder | StrBuilderTest.java:69:76:69:90 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:73:13:73:23 | taintedList [post update] : ArrayList [] : String | StrBuilderTest.java:74:75:74:85 | taintedList : ArrayList [] : String | provenance | | | StrBuilderTest.java:73:13:73:23 | taintedList [post update] : ArrayList [] : String | StrBuilderTest.java:75:75:75:85 | taintedList : ArrayList [] : String | provenance | | | StrBuilderTest.java:73:29:73:35 | taint(...) : String | StrBuilderTest.java:73:13:73:23 | taintedList [post update] : ArrayList [] : String | provenance | MaD:11 | | StrBuilderTest.java:74:49:74:52 | sb40 [post update] : StrBuilder | StrBuilderTest.java:74:100:74:103 | sb40 : StrBuilder | provenance | | | StrBuilderTest.java:74:75:74:85 | taintedList : ArrayList [] : String | StrBuilderTest.java:74:49:74:52 | sb40 [post update] : StrBuilder | provenance | MaD:262 | -| StrBuilderTest.java:74:100:74:103 | sb40 : StrBuilder | StrBuilderTest.java:74:100:74:114 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:74:100:74:103 | sb40 : StrBuilder | StrBuilderTest.java:74:100:74:114 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:74:100:74:103 | sb40 : StrBuilder | StrBuilderTest.java:74:100:74:114 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:75:49:75:52 | sb41 [post update] : StrBuilder | StrBuilderTest.java:75:111:75:114 | sb41 : StrBuilder | provenance | | -| StrBuilderTest.java:75:75:75:85 | taintedList : ArrayList [] : String | StrBuilderTest.java:75:75:75:96 | iterator(...) : Iterator [] : String | provenance | MaD:7 | +| StrBuilderTest.java:75:75:75:85 | taintedList : ArrayList [] : String | StrBuilderTest.java:75:75:75:96 | iterator(...) : Iterator [] : String | provenance | MaD:6 | | StrBuilderTest.java:75:75:75:96 | iterator(...) : Iterator [] : String | StrBuilderTest.java:75:49:75:52 | sb41 [post update] : StrBuilder | provenance | MaD:263 | -| StrBuilderTest.java:75:111:75:114 | sb41 : StrBuilder | StrBuilderTest.java:75:111:75:125 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:75:111:75:114 | sb41 : StrBuilder | StrBuilderTest.java:75:111:75:125 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:75:111:75:114 | sb41 : StrBuilder | StrBuilderTest.java:75:111:75:125 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:77:49:77:52 | sb42 [post update] : StrBuilder | StrBuilderTest.java:77:105:77:108 | sb42 : StrBuilder | provenance | | | StrBuilderTest.java:77:90:77:96 | taint(...) : String | StrBuilderTest.java:77:49:77:52 | sb42 [post update] : StrBuilder | provenance | MaD:261 | -| StrBuilderTest.java:77:105:77:108 | sb42 : StrBuilder | StrBuilderTest.java:77:105:77:119 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:77:105:77:108 | sb42 : StrBuilder | StrBuilderTest.java:77:105:77:119 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:77:105:77:108 | sb42 : StrBuilder | StrBuilderTest.java:77:105:77:119 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:78:49:78:52 | sb43 [post update] : StrBuilder | StrBuilderTest.java:78:116:78:119 | sb43 : StrBuilder | provenance | | | StrBuilderTest.java:78:101:78:107 | taint(...) : String | StrBuilderTest.java:78:49:78:52 | sb43 [post update] : StrBuilder | provenance | MaD:261 | -| StrBuilderTest.java:78:116:78:119 | sb43 : StrBuilder | StrBuilderTest.java:78:116:78:130 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:78:116:78:119 | sb43 : StrBuilder | StrBuilderTest.java:78:116:78:130 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:78:116:78:119 | sb43 : StrBuilder | StrBuilderTest.java:78:116:78:130 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:79:37:79:60 | {...} : String[] [[]] : String | StrBuilderTest.java:81:75:81:86 | taintedArray : String[] [[]] : String | provenance | | | StrBuilderTest.java:79:52:79:58 | taint(...) : String | StrBuilderTest.java:79:37:79:60 | {...} : String[] [[]] : String | provenance | | | StrBuilderTest.java:81:49:81:52 | sb44 [post update] : StrBuilder | StrBuilderTest.java:81:101:81:104 | sb44 : StrBuilder | provenance | | | StrBuilderTest.java:81:75:81:86 | taintedArray : String[] [[]] : String | StrBuilderTest.java:81:49:81:52 | sb44 [post update] : StrBuilder | provenance | MaD:264 | -| StrBuilderTest.java:81:101:81:104 | sb44 : StrBuilder | StrBuilderTest.java:81:101:81:115 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:81:101:81:104 | sb44 : StrBuilder | StrBuilderTest.java:81:101:81:115 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:81:101:81:104 | sb44 : StrBuilder | StrBuilderTest.java:81:101:81:115 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:82:49:82:52 | sb45 [post update] : StrBuilder | StrBuilderTest.java:82:106:82:109 | sb45 : StrBuilder | provenance | | | StrBuilderTest.java:82:91:82:97 | taint(...) : String | StrBuilderTest.java:82:49:82:52 | sb45 [post update] : StrBuilder | provenance | MaD:261 | -| StrBuilderTest.java:82:106:82:109 | sb45 : StrBuilder | StrBuilderTest.java:82:106:82:120 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:82:106:82:109 | sb45 : StrBuilder | StrBuilderTest.java:82:106:82:120 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:82:106:82:109 | sb45 : StrBuilder | StrBuilderTest.java:82:106:82:120 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:85:49:85:52 | sb46 [post update] : StrBuilder | StrBuilderTest.java:87:13:87:16 | sb46 : StrBuilder | provenance | | | StrBuilderTest.java:85:61:85:67 | taint(...) : String | StrBuilderTest.java:85:49:85:52 | sb46 [post update] : StrBuilder | provenance | MaD:233 | | StrBuilderTest.java:87:13:87:16 | sb46 : StrBuilder | StrBuilderTest.java:87:13:87:27 | asReader(...) : Reader | provenance | MaD:278 | -| StrBuilderTest.java:87:13:87:27 | asReader(...) : Reader | StrBuilderTest.java:87:34:87:39 | target [post update] : char[] | provenance | MaD:2 | +| StrBuilderTest.java:87:13:87:27 | asReader(...) : Reader | StrBuilderTest.java:87:34:87:39 | target [post update] : char[] | provenance | MaD:1 | | StrBuilderTest.java:87:34:87:39 | target [post update] : char[] | StrBuilderTest.java:88:18:88:23 | target | provenance | | | StrBuilderTest.java:90:45:90:48 | sb47 [post update] : StrBuilder | StrBuilderTest.java:90:72:90:75 | sb47 : StrBuilder | provenance | | | StrBuilderTest.java:90:57:90:63 | taint(...) : String | StrBuilderTest.java:90:45:90:48 | sb47 [post update] : StrBuilder | provenance | MaD:233 | @@ -1194,23 +1194,23 @@ edges | StrBuilderTest.java:102:13:102:16 | sb51 : StrBuilder | StrBuilderTest.java:102:33:102:38 | target [post update] : char[] | provenance | MaD:288 | | StrBuilderTest.java:102:33:102:38 | target [post update] : char[] | StrBuilderTest.java:103:18:103:23 | target | provenance | | | StrBuilderTest.java:105:45:105:48 | sb52 [post update] : StrBuilder | StrBuilderTest.java:105:89:105:92 | sb52 : StrBuilder | provenance | | -| StrBuilderTest.java:105:60:105:66 | taint(...) : String | StrBuilderTest.java:105:60:105:80 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTest.java:105:60:105:66 | taint(...) : String | StrBuilderTest.java:105:60:105:80 | toCharArray(...) : char[] | provenance | MaD:7 | | StrBuilderTest.java:105:60:105:80 | toCharArray(...) : char[] | StrBuilderTest.java:105:45:105:48 | sb52 [post update] : StrBuilder | provenance | MaD:290 | -| StrBuilderTest.java:105:89:105:92 | sb52 : StrBuilder | StrBuilderTest.java:105:89:105:103 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:105:89:105:92 | sb52 : StrBuilder | StrBuilderTest.java:105:89:105:103 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:105:89:105:92 | sb52 : StrBuilder | StrBuilderTest.java:105:89:105:103 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:106:45:106:48 | sb53 [post update] : StrBuilder | StrBuilderTest.java:106:95:106:98 | sb53 : StrBuilder | provenance | | -| StrBuilderTest.java:106:60:106:66 | taint(...) : String | StrBuilderTest.java:106:60:106:80 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTest.java:106:60:106:66 | taint(...) : String | StrBuilderTest.java:106:60:106:80 | toCharArray(...) : char[] | provenance | MaD:7 | | StrBuilderTest.java:106:60:106:80 | toCharArray(...) : char[] | StrBuilderTest.java:106:45:106:48 | sb53 [post update] : StrBuilder | provenance | MaD:290 | -| StrBuilderTest.java:106:95:106:98 | sb53 : StrBuilder | StrBuilderTest.java:106:95:106:109 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:106:95:106:98 | sb53 : StrBuilder | StrBuilderTest.java:106:95:106:109 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:106:95:106:98 | sb53 : StrBuilder | StrBuilderTest.java:106:95:106:109 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:107:45:107:48 | sb54 [post update] : StrBuilder | StrBuilderTest.java:107:75:107:78 | sb54 : StrBuilder | provenance | | | StrBuilderTest.java:107:60:107:66 | taint(...) : String | StrBuilderTest.java:107:45:107:48 | sb54 [post update] : StrBuilder | provenance | MaD:290 | -| StrBuilderTest.java:107:75:107:78 | sb54 : StrBuilder | StrBuilderTest.java:107:75:107:89 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:107:75:107:78 | sb54 : StrBuilder | StrBuilderTest.java:107:75:107:89 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:107:75:107:78 | sb54 : StrBuilder | StrBuilderTest.java:107:75:107:89 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:108:45:108:48 | sb55 [post update] : StrBuilder | StrBuilderTest.java:108:83:108:86 | sb55 : StrBuilder | provenance | | | StrBuilderTest.java:108:60:108:74 | (...)... : String | StrBuilderTest.java:108:45:108:48 | sb55 [post update] : StrBuilder | provenance | MaD:290 | | StrBuilderTest.java:108:68:108:74 | taint(...) : String | StrBuilderTest.java:108:60:108:74 | (...)... : String | provenance | | -| StrBuilderTest.java:108:83:108:86 | sb55 : StrBuilder | StrBuilderTest.java:108:83:108:97 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:108:83:108:86 | sb55 : StrBuilder | StrBuilderTest.java:108:83:108:97 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:108:83:108:86 | sb55 : StrBuilder | StrBuilderTest.java:108:83:108:97 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:109:45:109:48 | sb56 [post update] : StrBuilder | StrBuilderTest.java:109:72:109:75 | sb56 : StrBuilder | provenance | | | StrBuilderTest.java:109:57:109:63 | taint(...) : String | StrBuilderTest.java:109:45:109:48 | sb56 [post update] : StrBuilder | provenance | MaD:233 | @@ -1219,41 +1219,41 @@ edges | StrBuilderTest.java:110:57:110:63 | taint(...) : String | StrBuilderTest.java:110:45:110:48 | sb57 [post update] : StrBuilder | provenance | MaD:233 | | StrBuilderTest.java:110:72:110:75 | sb57 : StrBuilder | StrBuilderTest.java:110:72:110:91 | midString(...) | provenance | MaD:292 | | StrBuilderTest.java:112:35:112:59 | new StringReader(...) : StringReader | StrBuilderTest.java:113:63:113:68 | reader : StringReader | provenance | | -| StrBuilderTest.java:112:52:112:58 | taint(...) : String | StrBuilderTest.java:112:35:112:59 | new StringReader(...) : StringReader | provenance | MaD:3 | +| StrBuilderTest.java:112:52:112:58 | taint(...) : String | StrBuilderTest.java:112:35:112:59 | new StringReader(...) : StringReader | provenance | MaD:2 | | StrBuilderTest.java:113:49:113:52 | sb58 [post update] : StrBuilder | StrBuilderTest.java:113:77:113:80 | sb58 : StrBuilder | provenance | | | StrBuilderTest.java:113:63:113:68 | reader : StringReader | StrBuilderTest.java:113:49:113:52 | sb58 [post update] : StrBuilder | provenance | MaD:294 | -| StrBuilderTest.java:113:77:113:80 | sb58 : StrBuilder | StrBuilderTest.java:113:77:113:91 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:113:77:113:80 | sb58 : StrBuilder | StrBuilderTest.java:113:77:113:91 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:113:77:113:80 | sb58 : StrBuilder | StrBuilderTest.java:113:77:113:91 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:115:45:115:48 | sb59 [post update] : StrBuilder | StrBuilderTest.java:115:79:115:82 | sb59 : StrBuilder | provenance | | | StrBuilderTest.java:115:64:115:70 | taint(...) : String | StrBuilderTest.java:115:45:115:48 | sb59 [post update] : StrBuilder | provenance | MaD:296 | -| StrBuilderTest.java:115:79:115:82 | sb59 : StrBuilder | StrBuilderTest.java:115:79:115:93 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:115:79:115:82 | sb59 : StrBuilder | StrBuilderTest.java:115:79:115:93 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:115:79:115:82 | sb59 : StrBuilder | StrBuilderTest.java:115:79:115:93 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:116:45:116:48 | sb60 [post update] : StrBuilder | StrBuilderTest.java:116:88:116:91 | sb60 : StrBuilder | provenance | | | StrBuilderTest.java:116:64:116:70 | taint(...) : String | StrBuilderTest.java:116:45:116:48 | sb60 [post update] : StrBuilder | provenance | MaD:297 | -| StrBuilderTest.java:116:88:116:91 | sb60 : StrBuilder | StrBuilderTest.java:116:88:116:102 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:116:88:116:91 | sb60 : StrBuilder | StrBuilderTest.java:116:88:116:102 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:116:88:116:91 | sb60 : StrBuilder | StrBuilderTest.java:116:88:116:102 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:117:45:117:48 | sb61 [post update] : StrBuilder | StrBuilderTest.java:117:94:117:97 | sb61 : StrBuilder | provenance | | | StrBuilderTest.java:117:79:117:85 | taint(...) : String | StrBuilderTest.java:117:45:117:48 | sb61 [post update] : StrBuilder | provenance | MaD:299 | -| StrBuilderTest.java:117:94:117:97 | sb61 : StrBuilder | StrBuilderTest.java:117:94:117:108 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:117:94:117:97 | sb61 : StrBuilder | StrBuilderTest.java:117:94:117:108 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:117:94:117:97 | sb61 : StrBuilder | StrBuilderTest.java:117:94:117:108 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:118:45:118:48 | sb62 [post update] : StrBuilder | StrBuilderTest.java:118:86:118:89 | sb62 : StrBuilder | provenance | | | StrBuilderTest.java:118:71:118:77 | taint(...) : String | StrBuilderTest.java:118:45:118:48 | sb62 [post update] : StrBuilder | provenance | MaD:299 | -| StrBuilderTest.java:118:86:118:89 | sb62 : StrBuilder | StrBuilderTest.java:118:86:118:100 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:118:86:118:89 | sb62 : StrBuilder | StrBuilderTest.java:118:86:118:100 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:118:86:118:89 | sb62 : StrBuilder | StrBuilderTest.java:118:86:118:100 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:120:45:120:48 | sb64 [post update] : StrBuilder | StrBuilderTest.java:120:96:120:99 | sb64 : StrBuilder | provenance | | | StrBuilderTest.java:120:81:120:87 | taint(...) : String | StrBuilderTest.java:120:45:120:48 | sb64 [post update] : StrBuilder | provenance | MaD:301 | -| StrBuilderTest.java:120:96:120:99 | sb64 : StrBuilder | StrBuilderTest.java:120:96:120:110 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:120:96:120:99 | sb64 : StrBuilder | StrBuilderTest.java:120:96:120:110 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:120:96:120:99 | sb64 : StrBuilder | StrBuilderTest.java:120:96:120:110 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:121:45:121:48 | sb65 [post update] : StrBuilder | StrBuilderTest.java:121:88:121:91 | sb65 : StrBuilder | provenance | | | StrBuilderTest.java:121:73:121:79 | taint(...) : String | StrBuilderTest.java:121:45:121:48 | sb65 [post update] : StrBuilder | provenance | MaD:301 | -| StrBuilderTest.java:121:88:121:91 | sb65 : StrBuilder | StrBuilderTest.java:121:88:121:102 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:121:88:121:91 | sb65 : StrBuilder | StrBuilderTest.java:121:88:121:102 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:121:88:121:91 | sb65 : StrBuilder | StrBuilderTest.java:121:88:121:102 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:123:45:123:48 | sb67 [post update] : StrBuilder | StrBuilderTest.java:123:72:123:75 | sb67 : StrBuilder | provenance | | | StrBuilderTest.java:123:57:123:63 | taint(...) : String | StrBuilderTest.java:123:45:123:48 | sb67 [post update] : StrBuilder | provenance | MaD:233 | | StrBuilderTest.java:123:72:123:75 | sb67 : StrBuilder | StrBuilderTest.java:123:72:123:90 | rightString(...) | provenance | MaD:303 | | StrBuilderTest.java:124:45:124:48 | sb68 [post update] : StrBuilder | StrBuilderTest.java:124:72:124:75 | sb68 : StrBuilder | provenance | | | StrBuilderTest.java:124:57:124:63 | taint(...) : String | StrBuilderTest.java:124:45:124:48 | sb68 [post update] : StrBuilder | provenance | MaD:233 | -| StrBuilderTest.java:124:72:124:75 | sb68 : StrBuilder | StrBuilderTest.java:124:72:124:93 | subSequence(...) | provenance | MaD:5 | +| StrBuilderTest.java:124:72:124:75 | sb68 : StrBuilder | StrBuilderTest.java:124:72:124:93 | subSequence(...) | provenance | MaD:4 | | StrBuilderTest.java:124:72:124:75 | sb68 : StrBuilder | StrBuilderTest.java:124:72:124:93 | subSequence(...) | provenance | MaD:308 | | StrBuilderTest.java:125:45:125:48 | sb69 [post update] : StrBuilder | StrBuilderTest.java:125:72:125:75 | sb69 : StrBuilder | provenance | | | StrBuilderTest.java:125:57:125:63 | taint(...) : String | StrBuilderTest.java:125:45:125:48 | sb69 [post update] : StrBuilder | provenance | MaD:233 | @@ -1275,18 +1275,18 @@ edges | StrBuilderTest.java:130:72:130:75 | sb74 : StrBuilder | StrBuilderTest.java:130:72:130:93 | toStringBuilder(...) | provenance | MaD:313 | | StrBuilderTest.java:135:14:135:58 | append(...) : StrBuilder | StrBuilderTest.java:135:14:135:82 | append(...) : StrBuilder | provenance | MaD:227 | | StrBuilderTest.java:135:14:135:58 | append(...) : StrBuilder | StrBuilderTest.java:135:14:135:82 | append(...) : StrBuilder | provenance | ValuePreservingMethod | -| StrBuilderTest.java:135:14:135:82 | append(...) : StrBuilder | StrBuilderTest.java:135:14:135:93 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:135:14:135:82 | append(...) : StrBuilder | StrBuilderTest.java:135:14:135:93 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:135:14:135:82 | append(...) : StrBuilder | StrBuilderTest.java:135:14:135:93 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:135:51:135:57 | taint(...) : String | StrBuilderTest.java:135:14:135:58 | append(...) : StrBuilder | provenance | MaD:233+MaD:227 | | StrBuilderTest.java:138:9:138:45 | append(...) [post update] : StrBuilder | StrBuilderTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | provenance | MaD:227 | | StrBuilderTest.java:138:9:138:45 | append(...) [post update] : StrBuilder | StrBuilderTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | provenance | ValuePreservingMethod | | StrBuilderTest.java:138:54:138:60 | taint(...) : String | StrBuilderTest.java:138:9:138:45 | append(...) [post update] : StrBuilder | provenance | MaD:233 | -| StrBuilderTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | StrBuilderTest.java:139:14:139:42 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | StrBuilderTest.java:139:14:139:42 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | StrBuilderTest.java:139:14:139:42 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:143:9:143:46 | append(...) [post update] : StrBuilder | StrBuilderTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | provenance | MaD:227 | | StrBuilderTest.java:143:9:143:46 | append(...) [post update] : StrBuilder | StrBuilderTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | provenance | ValuePreservingMethod | | StrBuilderTest.java:143:55:143:61 | taint(...) : String | StrBuilderTest.java:143:9:143:46 | append(...) [post update] : StrBuilder | provenance | MaD:233 | -| StrBuilderTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | StrBuilderTest.java:144:14:144:43 | toString(...) | provenance | MaD:6 | +| StrBuilderTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | StrBuilderTest.java:144:14:144:43 | toString(...) | provenance | MaD:5 | | StrBuilderTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | StrBuilderTest.java:144:14:144:43 | toString(...) | provenance | MaD:311 | | StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:148:33 | fluentAllMethodsTest : StrBuilder | provenance | | | StrBuilderTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTest.java:148:14:149:23 | append(...) : StrBuilder | provenance | ValuePreservingMethod | @@ -1672,234 +1672,234 @@ edges | StrBuilderTest.java:205:17:205:23 | taint(...) : String | StrBuilderTest.java:178:9:204:15 | trim(...) [post update] : StrBuilder | provenance | MaD:233 | | StrBuilderTextTest.java:17:28:17:50 | new StrBuilder(...) : StrBuilder | StrBuilderTextTest.java:17:58:17:62 | cons1 : StrBuilder | provenance | | | StrBuilderTextTest.java:17:43:17:49 | taint(...) : String | StrBuilderTextTest.java:17:28:17:50 | new StrBuilder(...) : StrBuilder | provenance | MaD:418 | -| StrBuilderTextTest.java:17:58:17:62 | cons1 : StrBuilder | StrBuilderTextTest.java:17:58:17:73 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:17:58:17:62 | cons1 : StrBuilder | StrBuilderTextTest.java:17:58:17:73 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:17:58:17:62 | cons1 : StrBuilder | StrBuilderTextTest.java:17:58:17:73 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:19:44:19:46 | sb1 [post update] : StrBuilder | StrBuilderTextTest.java:19:84:19:86 | sb1 : StrBuilder | provenance | | -| StrBuilderTextTest.java:19:55:19:61 | taint(...) : String | StrBuilderTextTest.java:19:55:19:75 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTextTest.java:19:55:19:61 | taint(...) : String | StrBuilderTextTest.java:19:55:19:75 | toCharArray(...) : char[] | provenance | MaD:7 | | StrBuilderTextTest.java:19:55:19:75 | toCharArray(...) : char[] | StrBuilderTextTest.java:19:44:19:46 | sb1 [post update] : StrBuilder | provenance | MaD:420 | -| StrBuilderTextTest.java:19:84:19:86 | sb1 : StrBuilder | StrBuilderTextTest.java:19:84:19:97 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:19:84:19:86 | sb1 : StrBuilder | StrBuilderTextTest.java:19:84:19:97 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:19:84:19:86 | sb1 : StrBuilder | StrBuilderTextTest.java:19:84:19:97 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:20:44:20:46 | sb2 [post update] : StrBuilder | StrBuilderTextTest.java:20:90:20:92 | sb2 : StrBuilder | provenance | | -| StrBuilderTextTest.java:20:55:20:61 | taint(...) : String | StrBuilderTextTest.java:20:55:20:75 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTextTest.java:20:55:20:61 | taint(...) : String | StrBuilderTextTest.java:20:55:20:75 | toCharArray(...) : char[] | provenance | MaD:7 | | StrBuilderTextTest.java:20:55:20:75 | toCharArray(...) : char[] | StrBuilderTextTest.java:20:44:20:46 | sb2 [post update] : StrBuilder | provenance | MaD:421 | -| StrBuilderTextTest.java:20:90:20:92 | sb2 : StrBuilder | StrBuilderTextTest.java:20:90:20:103 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:20:90:20:92 | sb2 : StrBuilder | StrBuilderTextTest.java:20:90:20:103 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:20:90:20:92 | sb2 : StrBuilder | StrBuilderTextTest.java:20:90:20:103 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:21:44:21:46 | sb3 [post update] : StrBuilder | StrBuilderTextTest.java:21:101:21:103 | sb3 : StrBuilder | provenance | | | StrBuilderTextTest.java:21:55:21:92 | wrap(...) : CharBuffer | StrBuilderTextTest.java:21:44:21:46 | sb3 [post update] : StrBuilder | provenance | MaD:433 | -| StrBuilderTextTest.java:21:71:21:77 | taint(...) : String | StrBuilderTextTest.java:21:71:21:91 | toCharArray(...) : char[] | provenance | MaD:8 | -| StrBuilderTextTest.java:21:71:21:91 | toCharArray(...) : char[] | StrBuilderTextTest.java:21:55:21:92 | wrap(...) : CharBuffer | provenance | MaD:1 | -| StrBuilderTextTest.java:21:101:21:103 | sb3 : StrBuilder | StrBuilderTextTest.java:21:101:21:114 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:21:71:21:77 | taint(...) : String | StrBuilderTextTest.java:21:71:21:91 | toCharArray(...) : char[] | provenance | MaD:7 | +| StrBuilderTextTest.java:21:71:21:91 | toCharArray(...) : char[] | StrBuilderTextTest.java:21:55:21:92 | wrap(...) : CharBuffer | provenance | MaD:10 | +| StrBuilderTextTest.java:21:101:21:103 | sb3 : StrBuilder | StrBuilderTextTest.java:21:101:21:114 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:21:101:21:103 | sb3 : StrBuilder | StrBuilderTextTest.java:21:101:21:114 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:22:44:22:46 | sb4 [post update] : StrBuilder | StrBuilderTextTest.java:22:107:22:109 | sb4 : StrBuilder | provenance | | | StrBuilderTextTest.java:22:55:22:92 | wrap(...) : CharBuffer | StrBuilderTextTest.java:22:44:22:46 | sb4 [post update] : StrBuilder | provenance | MaD:434 | -| StrBuilderTextTest.java:22:71:22:77 | taint(...) : String | StrBuilderTextTest.java:22:71:22:91 | toCharArray(...) : char[] | provenance | MaD:8 | -| StrBuilderTextTest.java:22:71:22:91 | toCharArray(...) : char[] | StrBuilderTextTest.java:22:55:22:92 | wrap(...) : CharBuffer | provenance | MaD:1 | -| StrBuilderTextTest.java:22:107:22:109 | sb4 : StrBuilder | StrBuilderTextTest.java:22:107:22:120 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:22:71:22:77 | taint(...) : String | StrBuilderTextTest.java:22:71:22:91 | toCharArray(...) : char[] | provenance | MaD:7 | +| StrBuilderTextTest.java:22:71:22:91 | toCharArray(...) : char[] | StrBuilderTextTest.java:22:55:22:92 | wrap(...) : CharBuffer | provenance | MaD:10 | +| StrBuilderTextTest.java:22:107:22:109 | sb4 : StrBuilder | StrBuilderTextTest.java:22:107:22:120 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:22:107:22:109 | sb4 : StrBuilder | StrBuilderTextTest.java:22:107:22:120 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:23:44:23:46 | sb5 [post update] : StrBuilder | StrBuilderTextTest.java:23:84:23:86 | sb5 : StrBuilder | provenance | | -| StrBuilderTextTest.java:23:55:23:75 | (...)... : String | StrBuilderTextTest.java:23:44:23:46 | sb5 [post update] : StrBuilder | provenance | MaD:4 | +| StrBuilderTextTest.java:23:55:23:75 | (...)... : String | StrBuilderTextTest.java:23:44:23:46 | sb5 [post update] : StrBuilder | provenance | MaD:3 | | StrBuilderTextTest.java:23:55:23:75 | (...)... : String | StrBuilderTextTest.java:23:44:23:46 | sb5 [post update] : StrBuilder | provenance | MaD:422 | | StrBuilderTextTest.java:23:69:23:75 | taint(...) : String | StrBuilderTextTest.java:23:55:23:75 | (...)... : String | provenance | | -| StrBuilderTextTest.java:23:84:23:86 | sb5 : StrBuilder | StrBuilderTextTest.java:23:84:23:97 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:23:84:23:86 | sb5 : StrBuilder | StrBuilderTextTest.java:23:84:23:97 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:23:84:23:86 | sb5 : StrBuilder | StrBuilderTextTest.java:23:84:23:97 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:24:44:24:46 | sb6 [post update] : StrBuilder | StrBuilderTextTest.java:24:90:24:92 | sb6 : StrBuilder | provenance | | -| StrBuilderTextTest.java:24:55:24:75 | (...)... : String | StrBuilderTextTest.java:24:44:24:46 | sb6 [post update] : StrBuilder | provenance | MaD:4 | +| StrBuilderTextTest.java:24:55:24:75 | (...)... : String | StrBuilderTextTest.java:24:44:24:46 | sb6 [post update] : StrBuilder | provenance | MaD:3 | | StrBuilderTextTest.java:24:55:24:75 | (...)... : String | StrBuilderTextTest.java:24:44:24:46 | sb6 [post update] : StrBuilder | provenance | MaD:423 | | StrBuilderTextTest.java:24:69:24:75 | taint(...) : String | StrBuilderTextTest.java:24:55:24:75 | (...)... : String | provenance | | -| StrBuilderTextTest.java:24:90:24:92 | sb6 : StrBuilder | StrBuilderTextTest.java:24:90:24:103 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:24:90:24:92 | sb6 : StrBuilder | StrBuilderTextTest.java:24:90:24:103 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:24:90:24:92 | sb6 : StrBuilder | StrBuilderTextTest.java:24:90:24:103 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:25:44:25:46 | sb7 [post update] : StrBuilder | StrBuilderTextTest.java:25:78:25:80 | sb7 : StrBuilder | provenance | | | StrBuilderTextTest.java:25:55:25:69 | (...)... : String | StrBuilderTextTest.java:25:44:25:46 | sb7 [post update] : StrBuilder | provenance | MaD:424 | | StrBuilderTextTest.java:25:63:25:69 | taint(...) : String | StrBuilderTextTest.java:25:55:25:69 | (...)... : String | provenance | | -| StrBuilderTextTest.java:25:78:25:80 | sb7 : StrBuilder | StrBuilderTextTest.java:25:78:25:91 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:25:78:25:80 | sb7 : StrBuilder | StrBuilderTextTest.java:25:78:25:91 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:25:78:25:80 | sb7 : StrBuilder | StrBuilderTextTest.java:25:78:25:91 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:27:50:27:54 | auxsb [post update] : StrBuilder | StrBuilderTextTest.java:28:59:28:63 | auxsb : StrBuilder | provenance | | | StrBuilderTextTest.java:27:63:27:69 | taint(...) : String | StrBuilderTextTest.java:27:50:27:54 | auxsb [post update] : StrBuilder | provenance | MaD:425 | | StrBuilderTextTest.java:28:48:28:50 | sb8 [post update] : StrBuilder | StrBuilderTextTest.java:28:72:28:74 | sb8 : StrBuilder | provenance | | | StrBuilderTextTest.java:28:59:28:63 | auxsb : StrBuilder | StrBuilderTextTest.java:28:48:28:50 | sb8 [post update] : StrBuilder | provenance | MaD:435 | -| StrBuilderTextTest.java:28:72:28:74 | sb8 : StrBuilder | StrBuilderTextTest.java:28:72:28:85 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:28:72:28:74 | sb8 : StrBuilder | StrBuilderTextTest.java:28:72:28:85 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:28:72:28:74 | sb8 : StrBuilder | StrBuilderTextTest.java:28:72:28:85 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:30:44:30:46 | sb9 [post update] : StrBuilder | StrBuilderTextTest.java:30:88:30:90 | sb9 : StrBuilder | provenance | | | StrBuilderTextTest.java:30:55:30:79 | new StringBuffer(...) : StringBuffer | StrBuilderTextTest.java:30:44:30:46 | sb9 [post update] : StrBuilder | provenance | MaD:429 | -| StrBuilderTextTest.java:30:72:30:78 | taint(...) : String | StrBuilderTextTest.java:30:55:30:79 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | -| StrBuilderTextTest.java:30:88:30:90 | sb9 : StrBuilder | StrBuilderTextTest.java:30:88:30:101 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:30:72:30:78 | taint(...) : String | StrBuilderTextTest.java:30:55:30:79 | new StringBuffer(...) : StringBuffer | provenance | MaD:8 | +| StrBuilderTextTest.java:30:88:30:90 | sb9 : StrBuilder | StrBuilderTextTest.java:30:88:30:101 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:30:88:30:90 | sb9 : StrBuilder | StrBuilderTextTest.java:30:88:30:101 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:31:45:31:48 | sb10 [post update] : StrBuilder | StrBuilderTextTest.java:31:96:31:99 | sb10 : StrBuilder | provenance | | | StrBuilderTextTest.java:31:57:31:81 | new StringBuffer(...) : StringBuffer | StrBuilderTextTest.java:31:45:31:48 | sb10 [post update] : StrBuilder | provenance | MaD:430 | -| StrBuilderTextTest.java:31:74:31:80 | taint(...) : String | StrBuilderTextTest.java:31:57:31:81 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | -| StrBuilderTextTest.java:31:96:31:99 | sb10 : StrBuilder | StrBuilderTextTest.java:31:96:31:110 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:31:74:31:80 | taint(...) : String | StrBuilderTextTest.java:31:57:31:81 | new StringBuffer(...) : StringBuffer | provenance | MaD:8 | +| StrBuilderTextTest.java:31:96:31:99 | sb10 : StrBuilder | StrBuilderTextTest.java:31:96:31:110 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:31:96:31:99 | sb10 : StrBuilder | StrBuilderTextTest.java:31:96:31:110 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:32:45:32:48 | sb11 [post update] : StrBuilder | StrBuilderTextTest.java:32:91:32:94 | sb11 : StrBuilder | provenance | | | StrBuilderTextTest.java:32:57:32:82 | new StringBuilder(...) : StringBuilder | StrBuilderTextTest.java:32:45:32:48 | sb11 [post update] : StrBuilder | provenance | MaD:431 | -| StrBuilderTextTest.java:32:75:32:81 | taint(...) : String | StrBuilderTextTest.java:32:57:32:82 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | -| StrBuilderTextTest.java:32:91:32:94 | sb11 : StrBuilder | StrBuilderTextTest.java:32:91:32:105 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:32:75:32:81 | taint(...) : String | StrBuilderTextTest.java:32:57:32:82 | new StringBuilder(...) : StringBuilder | provenance | MaD:9 | +| StrBuilderTextTest.java:32:91:32:94 | sb11 : StrBuilder | StrBuilderTextTest.java:32:91:32:105 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:32:91:32:94 | sb11 : StrBuilder | StrBuilderTextTest.java:32:91:32:105 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:33:45:33:48 | sb12 [post update] : StrBuilder | StrBuilderTextTest.java:33:97:33:100 | sb12 : StrBuilder | provenance | | | StrBuilderTextTest.java:33:57:33:82 | new StringBuilder(...) : StringBuilder | StrBuilderTextTest.java:33:45:33:48 | sb12 [post update] : StrBuilder | provenance | MaD:432 | -| StrBuilderTextTest.java:33:75:33:81 | taint(...) : String | StrBuilderTextTest.java:33:57:33:82 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | -| StrBuilderTextTest.java:33:97:33:100 | sb12 : StrBuilder | StrBuilderTextTest.java:33:97:33:111 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:33:75:33:81 | taint(...) : String | StrBuilderTextTest.java:33:57:33:82 | new StringBuilder(...) : StringBuilder | provenance | MaD:9 | +| StrBuilderTextTest.java:33:97:33:100 | sb12 : StrBuilder | StrBuilderTextTest.java:33:97:33:111 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:33:97:33:100 | sb12 : StrBuilder | StrBuilderTextTest.java:33:97:33:111 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:34:45:34:48 | sb13 [post update] : StrBuilder | StrBuilderTextTest.java:34:72:34:75 | sb13 : StrBuilder | provenance | | | StrBuilderTextTest.java:34:57:34:63 | taint(...) : String | StrBuilderTextTest.java:34:45:34:48 | sb13 [post update] : StrBuilder | provenance | MaD:425 | -| StrBuilderTextTest.java:34:72:34:75 | sb13 : StrBuilder | StrBuilderTextTest.java:34:72:34:86 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:34:72:34:75 | sb13 : StrBuilder | StrBuilderTextTest.java:34:72:34:86 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:34:72:34:75 | sb13 : StrBuilder | StrBuilderTextTest.java:34:72:34:86 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:35:45:35:48 | sb14 [post update] : StrBuilder | StrBuilderTextTest.java:35:78:35:81 | sb14 : StrBuilder | provenance | | | StrBuilderTextTest.java:35:57:35:63 | taint(...) : String | StrBuilderTextTest.java:35:45:35:48 | sb14 [post update] : StrBuilder | provenance | MaD:426 | -| StrBuilderTextTest.java:35:78:35:81 | sb14 : StrBuilder | StrBuilderTextTest.java:35:78:35:92 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:35:78:35:81 | sb14 : StrBuilder | StrBuilderTextTest.java:35:78:35:92 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:35:78:35:81 | sb14 : StrBuilder | StrBuilderTextTest.java:35:78:35:92 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:36:45:36:48 | sb15 [post update] : StrBuilder | StrBuilderTextTest.java:36:90:36:93 | sb15 : StrBuilder | provenance | | | StrBuilderTextTest.java:36:57:36:63 | taint(...) : String | StrBuilderTextTest.java:36:45:36:48 | sb15 [post update] : StrBuilder | provenance | MaD:427 | -| StrBuilderTextTest.java:36:90:36:93 | sb15 : StrBuilder | StrBuilderTextTest.java:36:90:36:104 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:36:90:36:93 | sb15 : StrBuilder | StrBuilderTextTest.java:36:90:36:104 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:36:90:36:93 | sb15 : StrBuilder | StrBuilderTextTest.java:36:90:36:104 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:37:45:37:48 | sb16 [post update] : StrBuilder | StrBuilderTextTest.java:37:97:37:100 | sb16 : StrBuilder | provenance | | | StrBuilderTextTest.java:37:45:37:89 | new ..[] { .. } : Object[] [[]] : String | StrBuilderTextTest.java:37:45:37:48 | sb16 [post update] : StrBuilder | provenance | MaD:428 | | StrBuilderTextTest.java:37:74:37:80 | taint(...) : String | StrBuilderTextTest.java:37:45:37:89 | new ..[] { .. } : Object[] [[]] : String | provenance | | -| StrBuilderTextTest.java:37:97:37:100 | sb16 : StrBuilder | StrBuilderTextTest.java:37:97:37:111 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:37:97:37:100 | sb16 : StrBuilder | StrBuilderTextTest.java:37:97:37:111 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:37:97:37:100 | sb16 : StrBuilder | StrBuilderTextTest.java:37:97:37:111 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:40:13:40:23 | taintedList [post update] : ArrayList [] : String | StrBuilderTextTest.java:41:64:41:74 | taintedList : ArrayList [] : String | provenance | | | StrBuilderTextTest.java:40:13:40:23 | taintedList [post update] : ArrayList [] : String | StrBuilderTextTest.java:42:64:42:74 | taintedList : ArrayList [] : String | provenance | | | StrBuilderTextTest.java:40:29:40:35 | taint(...) : String | StrBuilderTextTest.java:40:13:40:23 | taintedList [post update] : ArrayList [] : String | provenance | MaD:11 | | StrBuilderTextTest.java:41:49:41:52 | sb17 [post update] : StrBuilder | StrBuilderTextTest.java:41:83:41:86 | sb17 : StrBuilder | provenance | | | StrBuilderTextTest.java:41:64:41:74 | taintedList : ArrayList [] : String | StrBuilderTextTest.java:41:49:41:52 | sb17 [post update] : StrBuilder | provenance | MaD:437 | -| StrBuilderTextTest.java:41:83:41:86 | sb17 : StrBuilder | StrBuilderTextTest.java:41:83:41:97 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:41:83:41:86 | sb17 : StrBuilder | StrBuilderTextTest.java:41:83:41:97 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:41:83:41:86 | sb17 : StrBuilder | StrBuilderTextTest.java:41:83:41:97 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:42:49:42:52 | sb18 [post update] : StrBuilder | StrBuilderTextTest.java:42:94:42:97 | sb18 : StrBuilder | provenance | | -| StrBuilderTextTest.java:42:64:42:74 | taintedList : ArrayList [] : String | StrBuilderTextTest.java:42:64:42:85 | iterator(...) : Iterator [] : String | provenance | MaD:7 | +| StrBuilderTextTest.java:42:64:42:74 | taintedList : ArrayList [] : String | StrBuilderTextTest.java:42:64:42:85 | iterator(...) : Iterator [] : String | provenance | MaD:6 | | StrBuilderTextTest.java:42:64:42:85 | iterator(...) : Iterator [] : String | StrBuilderTextTest.java:42:49:42:52 | sb18 [post update] : StrBuilder | provenance | MaD:438 | -| StrBuilderTextTest.java:42:94:42:97 | sb18 : StrBuilder | StrBuilderTextTest.java:42:94:42:108 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:42:94:42:97 | sb18 : StrBuilder | StrBuilderTextTest.java:42:94:42:108 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:42:94:42:97 | sb18 : StrBuilder | StrBuilderTextTest.java:42:94:42:108 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:44:45:44:48 | sb19 [post update] : StrBuilder | StrBuilderTextTest.java:44:84:44:87 | sb19 : StrBuilder | provenance | | | StrBuilderTextTest.java:44:45:44:76 | new ..[] { .. } : Object[] [[]] : String | StrBuilderTextTest.java:44:45:44:48 | sb19 [post update] : StrBuilder | provenance | MaD:439 | | StrBuilderTextTest.java:44:69:44:75 | taint(...) : String | StrBuilderTextTest.java:44:45:44:76 | new ..[] { .. } : Object[] [[]] : String | provenance | | -| StrBuilderTextTest.java:44:84:44:87 | sb19 : StrBuilder | StrBuilderTextTest.java:44:84:44:98 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:44:84:44:87 | sb19 : StrBuilder | StrBuilderTextTest.java:44:84:44:98 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:44:84:44:87 | sb19 : StrBuilder | StrBuilderTextTest.java:44:84:44:98 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:45:45:45:48 | sb20 [post update] : StrBuilder | StrBuilderTextTest.java:45:84:45:87 | sb20 : StrBuilder | provenance | | | StrBuilderTextTest.java:45:45:45:76 | new ..[] { .. } : Object[] [[]] : String | StrBuilderTextTest.java:45:45:45:48 | sb20 [post update] : StrBuilder | provenance | MaD:439 | | StrBuilderTextTest.java:45:60:45:66 | taint(...) : String | StrBuilderTextTest.java:45:45:45:76 | new ..[] { .. } : Object[] [[]] : String | provenance | | -| StrBuilderTextTest.java:45:84:45:87 | sb20 : StrBuilder | StrBuilderTextTest.java:45:84:45:98 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:45:84:45:87 | sb20 : StrBuilder | StrBuilderTextTest.java:45:84:45:98 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:45:84:45:87 | sb20 : StrBuilder | StrBuilderTextTest.java:45:84:45:98 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:46:45:46:48 | sb21 [post update] : StrBuilder | StrBuilderTextTest.java:46:97:46:100 | sb21 : StrBuilder | provenance | | | StrBuilderTextTest.java:46:74:46:80 | taint(...) : String | StrBuilderTextTest.java:46:45:46:48 | sb21 [post update] : StrBuilder | provenance | MaD:441 | -| StrBuilderTextTest.java:46:97:46:100 | sb21 : StrBuilder | StrBuilderTextTest.java:46:97:46:111 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:46:97:46:100 | sb21 : StrBuilder | StrBuilderTextTest.java:46:97:46:111 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:46:97:46:100 | sb21 : StrBuilder | StrBuilderTextTest.java:46:97:46:111 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:47:45:47:48 | sb22 [post update] : StrBuilder | StrBuilderTextTest.java:47:98:47:101 | sb22 : StrBuilder | provenance | | | StrBuilderTextTest.java:47:75:47:81 | taint(...) : String | StrBuilderTextTest.java:47:45:47:48 | sb22 [post update] : StrBuilder | provenance | MaD:443 | -| StrBuilderTextTest.java:47:98:47:101 | sb22 : StrBuilder | StrBuilderTextTest.java:47:98:47:112 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:47:98:47:101 | sb22 : StrBuilder | StrBuilderTextTest.java:47:98:47:112 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:47:98:47:101 | sb22 : StrBuilder | StrBuilderTextTest.java:47:98:47:112 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:48:45:48:48 | sb23 [post update] : StrBuilder | StrBuilderTextTest.java:48:88:48:91 | sb23 : StrBuilder | provenance | | -| StrBuilderTextTest.java:48:59:48:65 | taint(...) : String | StrBuilderTextTest.java:48:59:48:79 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTextTest.java:48:59:48:65 | taint(...) : String | StrBuilderTextTest.java:48:59:48:79 | toCharArray(...) : char[] | provenance | MaD:7 | | StrBuilderTextTest.java:48:59:48:79 | toCharArray(...) : char[] | StrBuilderTextTest.java:48:45:48:48 | sb23 [post update] : StrBuilder | provenance | MaD:458 | -| StrBuilderTextTest.java:48:88:48:91 | sb23 : StrBuilder | StrBuilderTextTest.java:48:88:48:102 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:48:88:48:91 | sb23 : StrBuilder | StrBuilderTextTest.java:48:88:48:102 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:48:88:48:91 | sb23 : StrBuilder | StrBuilderTextTest.java:48:88:48:102 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:49:45:49:48 | sb24 [post update] : StrBuilder | StrBuilderTextTest.java:49:94:49:97 | sb24 : StrBuilder | provenance | | -| StrBuilderTextTest.java:49:59:49:65 | taint(...) : String | StrBuilderTextTest.java:49:59:49:79 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTextTest.java:49:59:49:65 | taint(...) : String | StrBuilderTextTest.java:49:59:49:79 | toCharArray(...) : char[] | provenance | MaD:7 | | StrBuilderTextTest.java:49:59:49:79 | toCharArray(...) : char[] | StrBuilderTextTest.java:49:45:49:48 | sb24 [post update] : StrBuilder | provenance | MaD:459 | -| StrBuilderTextTest.java:49:94:49:97 | sb24 : StrBuilder | StrBuilderTextTest.java:49:94:49:108 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:49:94:49:97 | sb24 : StrBuilder | StrBuilderTextTest.java:49:94:49:108 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:49:94:49:97 | sb24 : StrBuilder | StrBuilderTextTest.java:49:94:49:108 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:50:45:50:48 | sb25 [post update] : StrBuilder | StrBuilderTextTest.java:50:82:50:85 | sb25 : StrBuilder | provenance | | | StrBuilderTextTest.java:50:59:50:73 | (...)... : String | StrBuilderTextTest.java:50:45:50:48 | sb25 [post update] : StrBuilder | provenance | MaD:460 | | StrBuilderTextTest.java:50:67:50:73 | taint(...) : String | StrBuilderTextTest.java:50:59:50:73 | (...)... : String | provenance | | -| StrBuilderTextTest.java:50:82:50:85 | sb25 : StrBuilder | StrBuilderTextTest.java:50:82:50:96 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:50:82:50:85 | sb25 : StrBuilder | StrBuilderTextTest.java:50:82:50:96 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:50:82:50:85 | sb25 : StrBuilder | StrBuilderTextTest.java:50:82:50:96 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:52:50:52:54 | auxsb [post update] : StrBuilder | StrBuilderTextTest.java:53:63:53:67 | auxsb : StrBuilder | provenance | | | StrBuilderTextTest.java:52:65:52:71 | taint(...) : String | StrBuilderTextTest.java:52:50:52:54 | auxsb [post update] : StrBuilder | provenance | MaD:461 | | StrBuilderTextTest.java:53:49:53:52 | sb26 [post update] : StrBuilder | StrBuilderTextTest.java:53:76:53:79 | sb26 : StrBuilder | provenance | | | StrBuilderTextTest.java:53:63:53:67 | auxsb : StrBuilder | StrBuilderTextTest.java:53:49:53:52 | sb26 [post update] : StrBuilder | provenance | MaD:469 | -| StrBuilderTextTest.java:53:76:53:79 | sb26 : StrBuilder | StrBuilderTextTest.java:53:76:53:90 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:53:76:53:79 | sb26 : StrBuilder | StrBuilderTextTest.java:53:76:53:90 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:53:76:53:79 | sb26 : StrBuilder | StrBuilderTextTest.java:53:76:53:90 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:55:45:55:48 | sb27 [post update] : StrBuilder | StrBuilderTextTest.java:55:92:55:95 | sb27 : StrBuilder | provenance | | | StrBuilderTextTest.java:55:59:55:83 | new StringBuffer(...) : StringBuffer | StrBuilderTextTest.java:55:45:55:48 | sb27 [post update] : StrBuilder | provenance | MaD:465 | -| StrBuilderTextTest.java:55:76:55:82 | taint(...) : String | StrBuilderTextTest.java:55:59:55:83 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | -| StrBuilderTextTest.java:55:92:55:95 | sb27 : StrBuilder | StrBuilderTextTest.java:55:92:55:106 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:55:76:55:82 | taint(...) : String | StrBuilderTextTest.java:55:59:55:83 | new StringBuffer(...) : StringBuffer | provenance | MaD:8 | +| StrBuilderTextTest.java:55:92:55:95 | sb27 : StrBuilder | StrBuilderTextTest.java:55:92:55:106 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:55:92:55:95 | sb27 : StrBuilder | StrBuilderTextTest.java:55:92:55:106 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:56:45:56:48 | sb28 [post update] : StrBuilder | StrBuilderTextTest.java:56:98:56:101 | sb28 : StrBuilder | provenance | | | StrBuilderTextTest.java:56:59:56:83 | new StringBuffer(...) : StringBuffer | StrBuilderTextTest.java:56:45:56:48 | sb28 [post update] : StrBuilder | provenance | MaD:466 | -| StrBuilderTextTest.java:56:76:56:82 | taint(...) : String | StrBuilderTextTest.java:56:59:56:83 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | -| StrBuilderTextTest.java:56:98:56:101 | sb28 : StrBuilder | StrBuilderTextTest.java:56:98:56:112 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:56:76:56:82 | taint(...) : String | StrBuilderTextTest.java:56:59:56:83 | new StringBuffer(...) : StringBuffer | provenance | MaD:8 | +| StrBuilderTextTest.java:56:98:56:101 | sb28 : StrBuilder | StrBuilderTextTest.java:56:98:56:112 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:56:98:56:101 | sb28 : StrBuilder | StrBuilderTextTest.java:56:98:56:112 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:57:45:57:48 | sb29 [post update] : StrBuilder | StrBuilderTextTest.java:57:93:57:96 | sb29 : StrBuilder | provenance | | | StrBuilderTextTest.java:57:59:57:84 | new StringBuilder(...) : StringBuilder | StrBuilderTextTest.java:57:45:57:48 | sb29 [post update] : StrBuilder | provenance | MaD:467 | -| StrBuilderTextTest.java:57:77:57:83 | taint(...) : String | StrBuilderTextTest.java:57:59:57:84 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | -| StrBuilderTextTest.java:57:93:57:96 | sb29 : StrBuilder | StrBuilderTextTest.java:57:93:57:107 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:57:77:57:83 | taint(...) : String | StrBuilderTextTest.java:57:59:57:84 | new StringBuilder(...) : StringBuilder | provenance | MaD:9 | +| StrBuilderTextTest.java:57:93:57:96 | sb29 : StrBuilder | StrBuilderTextTest.java:57:93:57:107 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:57:93:57:96 | sb29 : StrBuilder | StrBuilderTextTest.java:57:93:57:107 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:58:45:58:48 | sb30 [post update] : StrBuilder | StrBuilderTextTest.java:58:99:58:102 | sb30 : StrBuilder | provenance | | | StrBuilderTextTest.java:58:59:58:84 | new StringBuilder(...) : StringBuilder | StrBuilderTextTest.java:58:45:58:48 | sb30 [post update] : StrBuilder | provenance | MaD:468 | -| StrBuilderTextTest.java:58:77:58:83 | taint(...) : String | StrBuilderTextTest.java:58:59:58:84 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | -| StrBuilderTextTest.java:58:99:58:102 | sb30 : StrBuilder | StrBuilderTextTest.java:58:99:58:113 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:58:77:58:83 | taint(...) : String | StrBuilderTextTest.java:58:59:58:84 | new StringBuilder(...) : StringBuilder | provenance | MaD:9 | +| StrBuilderTextTest.java:58:99:58:102 | sb30 : StrBuilder | StrBuilderTextTest.java:58:99:58:113 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:58:99:58:102 | sb30 : StrBuilder | StrBuilderTextTest.java:58:99:58:113 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:59:45:59:48 | sb31 [post update] : StrBuilder | StrBuilderTextTest.java:59:74:59:77 | sb31 : StrBuilder | provenance | | | StrBuilderTextTest.java:59:59:59:65 | taint(...) : String | StrBuilderTextTest.java:59:45:59:48 | sb31 [post update] : StrBuilder | provenance | MaD:461 | -| StrBuilderTextTest.java:59:74:59:77 | sb31 : StrBuilder | StrBuilderTextTest.java:59:74:59:88 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:59:74:59:77 | sb31 : StrBuilder | StrBuilderTextTest.java:59:74:59:88 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:59:74:59:77 | sb31 : StrBuilder | StrBuilderTextTest.java:59:74:59:88 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:60:45:60:48 | sb32 [post update] : StrBuilder | StrBuilderTextTest.java:60:80:60:83 | sb32 : StrBuilder | provenance | | | StrBuilderTextTest.java:60:59:60:65 | taint(...) : String | StrBuilderTextTest.java:60:45:60:48 | sb32 [post update] : StrBuilder | provenance | MaD:462 | -| StrBuilderTextTest.java:60:80:60:83 | sb32 : StrBuilder | StrBuilderTextTest.java:60:80:60:94 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:60:80:60:83 | sb32 : StrBuilder | StrBuilderTextTest.java:60:80:60:94 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:60:80:60:83 | sb32 : StrBuilder | StrBuilderTextTest.java:60:80:60:94 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:61:45:61:48 | sb33 [post update] : StrBuilder | StrBuilderTextTest.java:61:92:61:95 | sb33 : StrBuilder | provenance | | | StrBuilderTextTest.java:61:59:61:65 | taint(...) : String | StrBuilderTextTest.java:61:45:61:48 | sb33 [post update] : StrBuilder | provenance | MaD:463 | -| StrBuilderTextTest.java:61:92:61:95 | sb33 : StrBuilder | StrBuilderTextTest.java:61:92:61:106 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:61:92:61:95 | sb33 : StrBuilder | StrBuilderTextTest.java:61:92:61:106 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:61:92:61:95 | sb33 : StrBuilder | StrBuilderTextTest.java:61:92:61:106 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:62:45:62:48 | sb34 [post update] : StrBuilder | StrBuilderTextTest.java:62:99:62:102 | sb34 : StrBuilder | provenance | | | StrBuilderTextTest.java:62:45:62:91 | new ..[] { .. } : Object[] [[]] : String | StrBuilderTextTest.java:62:45:62:48 | sb34 [post update] : StrBuilder | provenance | MaD:464 | | StrBuilderTextTest.java:62:76:62:82 | taint(...) : String | StrBuilderTextTest.java:62:45:62:91 | new ..[] { .. } : Object[] [[]] : String | provenance | | -| StrBuilderTextTest.java:62:99:62:102 | sb34 : StrBuilder | StrBuilderTextTest.java:62:99:62:113 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:62:99:62:102 | sb34 : StrBuilder | StrBuilderTextTest.java:62:99:62:113 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:62:99:62:102 | sb34 : StrBuilder | StrBuilderTextTest.java:62:99:62:113 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:63:45:63:48 | sb35 [post update] : StrBuilder | StrBuilderTextTest.java:63:81:63:84 | sb35 : StrBuilder | provenance | | | StrBuilderTextTest.java:63:66:63:72 | taint(...) : String | StrBuilderTextTest.java:63:45:63:48 | sb35 [post update] : StrBuilder | provenance | MaD:448 | -| StrBuilderTextTest.java:63:81:63:84 | sb35 : StrBuilder | StrBuilderTextTest.java:63:81:63:95 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:63:81:63:84 | sb35 : StrBuilder | StrBuilderTextTest.java:63:81:63:95 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:63:81:63:84 | sb35 : StrBuilder | StrBuilderTextTest.java:63:81:63:95 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:64:45:64:48 | sb36 [post update] : StrBuilder | StrBuilderTextTest.java:64:84:64:87 | sb36 : StrBuilder | provenance | | | StrBuilderTextTest.java:64:66:64:72 | taint(...) : String | StrBuilderTextTest.java:64:45:64:48 | sb36 [post update] : StrBuilder | provenance | MaD:449 | -| StrBuilderTextTest.java:64:84:64:87 | sb36 : StrBuilder | StrBuilderTextTest.java:64:84:64:98 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:64:84:64:87 | sb36 : StrBuilder | StrBuilderTextTest.java:64:84:64:98 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:64:84:64:87 | sb36 : StrBuilder | StrBuilderTextTest.java:64:84:64:98 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:65:45:65:48 | sb37 [post update] : StrBuilder | StrBuilderTextTest.java:65:92:65:95 | sb37 : StrBuilder | provenance | | | StrBuilderTextTest.java:65:66:65:72 | taint(...) : String | StrBuilderTextTest.java:65:45:65:48 | sb37 [post update] : StrBuilder | provenance | MaD:450 | -| StrBuilderTextTest.java:65:92:65:95 | sb37 : StrBuilder | StrBuilderTextTest.java:65:92:65:106 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:65:92:65:95 | sb37 : StrBuilder | StrBuilderTextTest.java:65:92:65:106 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:65:92:65:95 | sb37 : StrBuilder | StrBuilderTextTest.java:65:92:65:106 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:66:45:66:48 | sb38 [post update] : StrBuilder | StrBuilderTextTest.java:66:85:66:88 | sb38 : StrBuilder | provenance | | | StrBuilderTextTest.java:66:70:66:76 | taint(...) : String | StrBuilderTextTest.java:66:45:66:48 | sb38 [post update] : StrBuilder | provenance | MaD:450 | -| StrBuilderTextTest.java:66:85:66:88 | sb38 : StrBuilder | StrBuilderTextTest.java:66:85:66:99 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:66:85:66:88 | sb38 : StrBuilder | StrBuilderTextTest.java:66:85:66:99 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:66:85:66:88 | sb38 : StrBuilder | StrBuilderTextTest.java:66:85:66:99 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:68:50:68:54 | auxsb [post update] : StrBuilder | StrBuilderTextTest.java:69:49:69:53 | auxsb : StrBuilder | provenance | | | StrBuilderTextTest.java:68:65:68:71 | taint(...) : String | StrBuilderTextTest.java:68:50:68:54 | auxsb [post update] : StrBuilder | provenance | MaD:461 | | StrBuilderTextTest.java:69:49:69:53 | auxsb : StrBuilder | StrBuilderTextTest.java:69:64:69:67 | sb39 [post update] : StrBuilder | provenance | MaD:451 | | StrBuilderTextTest.java:69:64:69:67 | sb39 [post update] : StrBuilder | StrBuilderTextTest.java:69:76:69:79 | sb39 : StrBuilder | provenance | | -| StrBuilderTextTest.java:69:76:69:79 | sb39 : StrBuilder | StrBuilderTextTest.java:69:76:69:90 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:69:76:69:79 | sb39 : StrBuilder | StrBuilderTextTest.java:69:76:69:90 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:69:76:69:79 | sb39 : StrBuilder | StrBuilderTextTest.java:69:76:69:90 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:73:13:73:23 | taintedList [post update] : ArrayList [] : String | StrBuilderTextTest.java:74:75:74:85 | taintedList : ArrayList [] : String | provenance | | | StrBuilderTextTest.java:73:13:73:23 | taintedList [post update] : ArrayList [] : String | StrBuilderTextTest.java:75:75:75:85 | taintedList : ArrayList [] : String | provenance | | | StrBuilderTextTest.java:73:29:73:35 | taint(...) : String | StrBuilderTextTest.java:73:13:73:23 | taintedList [post update] : ArrayList [] : String | provenance | MaD:11 | | StrBuilderTextTest.java:74:49:74:52 | sb40 [post update] : StrBuilder | StrBuilderTextTest.java:74:100:74:103 | sb40 : StrBuilder | provenance | | | StrBuilderTextTest.java:74:75:74:85 | taintedList : ArrayList [] : String | StrBuilderTextTest.java:74:49:74:52 | sb40 [post update] : StrBuilder | provenance | MaD:454 | -| StrBuilderTextTest.java:74:100:74:103 | sb40 : StrBuilder | StrBuilderTextTest.java:74:100:74:114 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:74:100:74:103 | sb40 : StrBuilder | StrBuilderTextTest.java:74:100:74:114 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:74:100:74:103 | sb40 : StrBuilder | StrBuilderTextTest.java:74:100:74:114 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:75:49:75:52 | sb41 [post update] : StrBuilder | StrBuilderTextTest.java:75:111:75:114 | sb41 : StrBuilder | provenance | | -| StrBuilderTextTest.java:75:75:75:85 | taintedList : ArrayList [] : String | StrBuilderTextTest.java:75:75:75:96 | iterator(...) : Iterator [] : String | provenance | MaD:7 | +| StrBuilderTextTest.java:75:75:75:85 | taintedList : ArrayList [] : String | StrBuilderTextTest.java:75:75:75:96 | iterator(...) : Iterator [] : String | provenance | MaD:6 | | StrBuilderTextTest.java:75:75:75:96 | iterator(...) : Iterator [] : String | StrBuilderTextTest.java:75:49:75:52 | sb41 [post update] : StrBuilder | provenance | MaD:455 | -| StrBuilderTextTest.java:75:111:75:114 | sb41 : StrBuilder | StrBuilderTextTest.java:75:111:75:125 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:75:111:75:114 | sb41 : StrBuilder | StrBuilderTextTest.java:75:111:75:125 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:75:111:75:114 | sb41 : StrBuilder | StrBuilderTextTest.java:75:111:75:125 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:77:49:77:52 | sb42 [post update] : StrBuilder | StrBuilderTextTest.java:77:105:77:108 | sb42 : StrBuilder | provenance | | | StrBuilderTextTest.java:77:90:77:96 | taint(...) : String | StrBuilderTextTest.java:77:49:77:52 | sb42 [post update] : StrBuilder | provenance | MaD:453 | -| StrBuilderTextTest.java:77:105:77:108 | sb42 : StrBuilder | StrBuilderTextTest.java:77:105:77:119 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:77:105:77:108 | sb42 : StrBuilder | StrBuilderTextTest.java:77:105:77:119 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:77:105:77:108 | sb42 : StrBuilder | StrBuilderTextTest.java:77:105:77:119 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:78:49:78:52 | sb43 [post update] : StrBuilder | StrBuilderTextTest.java:78:116:78:119 | sb43 : StrBuilder | provenance | | | StrBuilderTextTest.java:78:101:78:107 | taint(...) : String | StrBuilderTextTest.java:78:49:78:52 | sb43 [post update] : StrBuilder | provenance | MaD:453 | -| StrBuilderTextTest.java:78:116:78:119 | sb43 : StrBuilder | StrBuilderTextTest.java:78:116:78:130 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:78:116:78:119 | sb43 : StrBuilder | StrBuilderTextTest.java:78:116:78:130 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:78:116:78:119 | sb43 : StrBuilder | StrBuilderTextTest.java:78:116:78:130 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:79:37:79:60 | {...} : String[] [[]] : String | StrBuilderTextTest.java:81:75:81:86 | taintedArray : String[] [[]] : String | provenance | | | StrBuilderTextTest.java:79:52:79:58 | taint(...) : String | StrBuilderTextTest.java:79:37:79:60 | {...} : String[] [[]] : String | provenance | | | StrBuilderTextTest.java:81:49:81:52 | sb44 [post update] : StrBuilder | StrBuilderTextTest.java:81:101:81:104 | sb44 : StrBuilder | provenance | | | StrBuilderTextTest.java:81:75:81:86 | taintedArray : String[] [[]] : String | StrBuilderTextTest.java:81:49:81:52 | sb44 [post update] : StrBuilder | provenance | MaD:456 | -| StrBuilderTextTest.java:81:101:81:104 | sb44 : StrBuilder | StrBuilderTextTest.java:81:101:81:115 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:81:101:81:104 | sb44 : StrBuilder | StrBuilderTextTest.java:81:101:81:115 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:81:101:81:104 | sb44 : StrBuilder | StrBuilderTextTest.java:81:101:81:115 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:82:49:82:52 | sb45 [post update] : StrBuilder | StrBuilderTextTest.java:82:106:82:109 | sb45 : StrBuilder | provenance | | | StrBuilderTextTest.java:82:91:82:97 | taint(...) : String | StrBuilderTextTest.java:82:49:82:52 | sb45 [post update] : StrBuilder | provenance | MaD:453 | -| StrBuilderTextTest.java:82:106:82:109 | sb45 : StrBuilder | StrBuilderTextTest.java:82:106:82:120 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:82:106:82:109 | sb45 : StrBuilder | StrBuilderTextTest.java:82:106:82:120 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:82:106:82:109 | sb45 : StrBuilder | StrBuilderTextTest.java:82:106:82:120 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:85:49:85:52 | sb46 [post update] : StrBuilder | StrBuilderTextTest.java:87:13:87:16 | sb46 : StrBuilder | provenance | | | StrBuilderTextTest.java:85:61:85:67 | taint(...) : String | StrBuilderTextTest.java:85:49:85:52 | sb46 [post update] : StrBuilder | provenance | MaD:425 | | StrBuilderTextTest.java:87:13:87:16 | sb46 : StrBuilder | StrBuilderTextTest.java:87:13:87:27 | asReader(...) : Reader | provenance | MaD:470 | -| StrBuilderTextTest.java:87:13:87:27 | asReader(...) : Reader | StrBuilderTextTest.java:87:34:87:39 | target [post update] : char[] | provenance | MaD:2 | +| StrBuilderTextTest.java:87:13:87:27 | asReader(...) : Reader | StrBuilderTextTest.java:87:34:87:39 | target [post update] : char[] | provenance | MaD:1 | | StrBuilderTextTest.java:87:34:87:39 | target [post update] : char[] | StrBuilderTextTest.java:88:18:88:23 | target | provenance | | | StrBuilderTextTest.java:90:45:90:48 | sb47 [post update] : StrBuilder | StrBuilderTextTest.java:90:72:90:75 | sb47 : StrBuilder | provenance | | | StrBuilderTextTest.java:90:57:90:63 | taint(...) : String | StrBuilderTextTest.java:90:45:90:48 | sb47 [post update] : StrBuilder | provenance | MaD:425 | @@ -1921,23 +1921,23 @@ edges | StrBuilderTextTest.java:102:13:102:16 | sb51 : StrBuilder | StrBuilderTextTest.java:102:33:102:38 | target [post update] : char[] | provenance | MaD:480 | | StrBuilderTextTest.java:102:33:102:38 | target [post update] : char[] | StrBuilderTextTest.java:103:18:103:23 | target | provenance | | | StrBuilderTextTest.java:105:45:105:48 | sb52 [post update] : StrBuilder | StrBuilderTextTest.java:105:89:105:92 | sb52 : StrBuilder | provenance | | -| StrBuilderTextTest.java:105:60:105:66 | taint(...) : String | StrBuilderTextTest.java:105:60:105:80 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTextTest.java:105:60:105:66 | taint(...) : String | StrBuilderTextTest.java:105:60:105:80 | toCharArray(...) : char[] | provenance | MaD:7 | | StrBuilderTextTest.java:105:60:105:80 | toCharArray(...) : char[] | StrBuilderTextTest.java:105:45:105:48 | sb52 [post update] : StrBuilder | provenance | MaD:482 | -| StrBuilderTextTest.java:105:89:105:92 | sb52 : StrBuilder | StrBuilderTextTest.java:105:89:105:103 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:105:89:105:92 | sb52 : StrBuilder | StrBuilderTextTest.java:105:89:105:103 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:105:89:105:92 | sb52 : StrBuilder | StrBuilderTextTest.java:105:89:105:103 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:106:45:106:48 | sb53 [post update] : StrBuilder | StrBuilderTextTest.java:106:95:106:98 | sb53 : StrBuilder | provenance | | -| StrBuilderTextTest.java:106:60:106:66 | taint(...) : String | StrBuilderTextTest.java:106:60:106:80 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrBuilderTextTest.java:106:60:106:66 | taint(...) : String | StrBuilderTextTest.java:106:60:106:80 | toCharArray(...) : char[] | provenance | MaD:7 | | StrBuilderTextTest.java:106:60:106:80 | toCharArray(...) : char[] | StrBuilderTextTest.java:106:45:106:48 | sb53 [post update] : StrBuilder | provenance | MaD:482 | -| StrBuilderTextTest.java:106:95:106:98 | sb53 : StrBuilder | StrBuilderTextTest.java:106:95:106:109 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:106:95:106:98 | sb53 : StrBuilder | StrBuilderTextTest.java:106:95:106:109 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:106:95:106:98 | sb53 : StrBuilder | StrBuilderTextTest.java:106:95:106:109 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:107:45:107:48 | sb54 [post update] : StrBuilder | StrBuilderTextTest.java:107:75:107:78 | sb54 : StrBuilder | provenance | | | StrBuilderTextTest.java:107:60:107:66 | taint(...) : String | StrBuilderTextTest.java:107:45:107:48 | sb54 [post update] : StrBuilder | provenance | MaD:482 | -| StrBuilderTextTest.java:107:75:107:78 | sb54 : StrBuilder | StrBuilderTextTest.java:107:75:107:89 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:107:75:107:78 | sb54 : StrBuilder | StrBuilderTextTest.java:107:75:107:89 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:107:75:107:78 | sb54 : StrBuilder | StrBuilderTextTest.java:107:75:107:89 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:108:45:108:48 | sb55 [post update] : StrBuilder | StrBuilderTextTest.java:108:83:108:86 | sb55 : StrBuilder | provenance | | | StrBuilderTextTest.java:108:60:108:74 | (...)... : String | StrBuilderTextTest.java:108:45:108:48 | sb55 [post update] : StrBuilder | provenance | MaD:482 | | StrBuilderTextTest.java:108:68:108:74 | taint(...) : String | StrBuilderTextTest.java:108:60:108:74 | (...)... : String | provenance | | -| StrBuilderTextTest.java:108:83:108:86 | sb55 : StrBuilder | StrBuilderTextTest.java:108:83:108:97 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:108:83:108:86 | sb55 : StrBuilder | StrBuilderTextTest.java:108:83:108:97 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:108:83:108:86 | sb55 : StrBuilder | StrBuilderTextTest.java:108:83:108:97 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:109:45:109:48 | sb56 [post update] : StrBuilder | StrBuilderTextTest.java:109:72:109:75 | sb56 : StrBuilder | provenance | | | StrBuilderTextTest.java:109:57:109:63 | taint(...) : String | StrBuilderTextTest.java:109:45:109:48 | sb56 [post update] : StrBuilder | provenance | MaD:425 | @@ -1946,41 +1946,41 @@ edges | StrBuilderTextTest.java:110:57:110:63 | taint(...) : String | StrBuilderTextTest.java:110:45:110:48 | sb57 [post update] : StrBuilder | provenance | MaD:425 | | StrBuilderTextTest.java:110:72:110:75 | sb57 : StrBuilder | StrBuilderTextTest.java:110:72:110:91 | midString(...) | provenance | MaD:484 | | StrBuilderTextTest.java:112:35:112:59 | new StringReader(...) : StringReader | StrBuilderTextTest.java:113:63:113:68 | reader : StringReader | provenance | | -| StrBuilderTextTest.java:112:52:112:58 | taint(...) : String | StrBuilderTextTest.java:112:35:112:59 | new StringReader(...) : StringReader | provenance | MaD:3 | +| StrBuilderTextTest.java:112:52:112:58 | taint(...) : String | StrBuilderTextTest.java:112:35:112:59 | new StringReader(...) : StringReader | provenance | MaD:2 | | StrBuilderTextTest.java:113:49:113:52 | sb58 [post update] : StrBuilder | StrBuilderTextTest.java:113:77:113:80 | sb58 : StrBuilder | provenance | | | StrBuilderTextTest.java:113:63:113:68 | reader : StringReader | StrBuilderTextTest.java:113:49:113:52 | sb58 [post update] : StrBuilder | provenance | MaD:486 | -| StrBuilderTextTest.java:113:77:113:80 | sb58 : StrBuilder | StrBuilderTextTest.java:113:77:113:91 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:113:77:113:80 | sb58 : StrBuilder | StrBuilderTextTest.java:113:77:113:91 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:113:77:113:80 | sb58 : StrBuilder | StrBuilderTextTest.java:113:77:113:91 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:115:45:115:48 | sb59 [post update] : StrBuilder | StrBuilderTextTest.java:115:79:115:82 | sb59 : StrBuilder | provenance | | | StrBuilderTextTest.java:115:64:115:70 | taint(...) : String | StrBuilderTextTest.java:115:45:115:48 | sb59 [post update] : StrBuilder | provenance | MaD:488 | -| StrBuilderTextTest.java:115:79:115:82 | sb59 : StrBuilder | StrBuilderTextTest.java:115:79:115:93 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:115:79:115:82 | sb59 : StrBuilder | StrBuilderTextTest.java:115:79:115:93 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:115:79:115:82 | sb59 : StrBuilder | StrBuilderTextTest.java:115:79:115:93 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:116:45:116:48 | sb60 [post update] : StrBuilder | StrBuilderTextTest.java:116:88:116:91 | sb60 : StrBuilder | provenance | | | StrBuilderTextTest.java:116:64:116:70 | taint(...) : String | StrBuilderTextTest.java:116:45:116:48 | sb60 [post update] : StrBuilder | provenance | MaD:489 | -| StrBuilderTextTest.java:116:88:116:91 | sb60 : StrBuilder | StrBuilderTextTest.java:116:88:116:102 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:116:88:116:91 | sb60 : StrBuilder | StrBuilderTextTest.java:116:88:116:102 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:116:88:116:91 | sb60 : StrBuilder | StrBuilderTextTest.java:116:88:116:102 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:117:45:117:48 | sb61 [post update] : StrBuilder | StrBuilderTextTest.java:117:94:117:97 | sb61 : StrBuilder | provenance | | | StrBuilderTextTest.java:117:79:117:85 | taint(...) : String | StrBuilderTextTest.java:117:45:117:48 | sb61 [post update] : StrBuilder | provenance | MaD:491 | -| StrBuilderTextTest.java:117:94:117:97 | sb61 : StrBuilder | StrBuilderTextTest.java:117:94:117:108 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:117:94:117:97 | sb61 : StrBuilder | StrBuilderTextTest.java:117:94:117:108 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:117:94:117:97 | sb61 : StrBuilder | StrBuilderTextTest.java:117:94:117:108 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:118:45:118:48 | sb62 [post update] : StrBuilder | StrBuilderTextTest.java:118:86:118:89 | sb62 : StrBuilder | provenance | | | StrBuilderTextTest.java:118:71:118:77 | taint(...) : String | StrBuilderTextTest.java:118:45:118:48 | sb62 [post update] : StrBuilder | provenance | MaD:491 | -| StrBuilderTextTest.java:118:86:118:89 | sb62 : StrBuilder | StrBuilderTextTest.java:118:86:118:100 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:118:86:118:89 | sb62 : StrBuilder | StrBuilderTextTest.java:118:86:118:100 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:118:86:118:89 | sb62 : StrBuilder | StrBuilderTextTest.java:118:86:118:100 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:120:45:120:48 | sb64 [post update] : StrBuilder | StrBuilderTextTest.java:120:96:120:99 | sb64 : StrBuilder | provenance | | | StrBuilderTextTest.java:120:81:120:87 | taint(...) : String | StrBuilderTextTest.java:120:45:120:48 | sb64 [post update] : StrBuilder | provenance | MaD:493 | -| StrBuilderTextTest.java:120:96:120:99 | sb64 : StrBuilder | StrBuilderTextTest.java:120:96:120:110 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:120:96:120:99 | sb64 : StrBuilder | StrBuilderTextTest.java:120:96:120:110 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:120:96:120:99 | sb64 : StrBuilder | StrBuilderTextTest.java:120:96:120:110 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:121:45:121:48 | sb65 [post update] : StrBuilder | StrBuilderTextTest.java:121:88:121:91 | sb65 : StrBuilder | provenance | | | StrBuilderTextTest.java:121:73:121:79 | taint(...) : String | StrBuilderTextTest.java:121:45:121:48 | sb65 [post update] : StrBuilder | provenance | MaD:493 | -| StrBuilderTextTest.java:121:88:121:91 | sb65 : StrBuilder | StrBuilderTextTest.java:121:88:121:102 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:121:88:121:91 | sb65 : StrBuilder | StrBuilderTextTest.java:121:88:121:102 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:121:88:121:91 | sb65 : StrBuilder | StrBuilderTextTest.java:121:88:121:102 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:123:45:123:48 | sb67 [post update] : StrBuilder | StrBuilderTextTest.java:123:72:123:75 | sb67 : StrBuilder | provenance | | | StrBuilderTextTest.java:123:57:123:63 | taint(...) : String | StrBuilderTextTest.java:123:45:123:48 | sb67 [post update] : StrBuilder | provenance | MaD:425 | | StrBuilderTextTest.java:123:72:123:75 | sb67 : StrBuilder | StrBuilderTextTest.java:123:72:123:90 | rightString(...) | provenance | MaD:495 | | StrBuilderTextTest.java:124:45:124:48 | sb68 [post update] : StrBuilder | StrBuilderTextTest.java:124:72:124:75 | sb68 : StrBuilder | provenance | | | StrBuilderTextTest.java:124:57:124:63 | taint(...) : String | StrBuilderTextTest.java:124:45:124:48 | sb68 [post update] : StrBuilder | provenance | MaD:425 | -| StrBuilderTextTest.java:124:72:124:75 | sb68 : StrBuilder | StrBuilderTextTest.java:124:72:124:93 | subSequence(...) | provenance | MaD:5 | +| StrBuilderTextTest.java:124:72:124:75 | sb68 : StrBuilder | StrBuilderTextTest.java:124:72:124:93 | subSequence(...) | provenance | MaD:4 | | StrBuilderTextTest.java:124:72:124:75 | sb68 : StrBuilder | StrBuilderTextTest.java:124:72:124:93 | subSequence(...) | provenance | MaD:500 | | StrBuilderTextTest.java:125:45:125:48 | sb69 [post update] : StrBuilder | StrBuilderTextTest.java:125:72:125:75 | sb69 : StrBuilder | provenance | | | StrBuilderTextTest.java:125:57:125:63 | taint(...) : String | StrBuilderTextTest.java:125:45:125:48 | sb69 [post update] : StrBuilder | provenance | MaD:425 | @@ -2001,16 +2001,16 @@ edges | StrBuilderTextTest.java:130:57:130:63 | taint(...) : String | StrBuilderTextTest.java:130:45:130:48 | sb74 [post update] : StrBuilder | provenance | MaD:425 | | StrBuilderTextTest.java:130:72:130:75 | sb74 : StrBuilder | StrBuilderTextTest.java:130:72:130:93 | toStringBuilder(...) | provenance | MaD:505 | | StrBuilderTextTest.java:135:14:135:58 | append(...) : StrBuilder | StrBuilderTextTest.java:135:14:135:82 | append(...) : StrBuilder | provenance | MaD:419 | -| StrBuilderTextTest.java:135:14:135:82 | append(...) : StrBuilder | StrBuilderTextTest.java:135:14:135:93 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:135:14:135:82 | append(...) : StrBuilder | StrBuilderTextTest.java:135:14:135:93 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:135:14:135:82 | append(...) : StrBuilder | StrBuilderTextTest.java:135:14:135:93 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:135:51:135:57 | taint(...) : String | StrBuilderTextTest.java:135:14:135:58 | append(...) : StrBuilder | provenance | MaD:425+MaD:419 | | StrBuilderTextTest.java:138:9:138:45 | append(...) [post update] : StrBuilder | StrBuilderTextTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | provenance | MaD:419 | | StrBuilderTextTest.java:138:54:138:60 | taint(...) : String | StrBuilderTextTest.java:138:9:138:45 | append(...) [post update] : StrBuilder | provenance | MaD:425 | -| StrBuilderTextTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | StrBuilderTextTest.java:139:14:139:42 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | StrBuilderTextTest.java:139:14:139:42 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:139:14:139:31 | fluentBackflowTest : StrBuilder | StrBuilderTextTest.java:139:14:139:42 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:143:9:143:46 | append(...) [post update] : StrBuilder | StrBuilderTextTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | provenance | MaD:419 | | StrBuilderTextTest.java:143:55:143:61 | taint(...) : String | StrBuilderTextTest.java:143:9:143:46 | append(...) [post update] : StrBuilder | provenance | MaD:425 | -| StrBuilderTextTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | StrBuilderTextTest.java:144:14:144:43 | toString(...) | provenance | MaD:6 | +| StrBuilderTextTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | StrBuilderTextTest.java:144:14:144:43 | toString(...) | provenance | MaD:5 | | StrBuilderTextTest.java:144:14:144:32 | fluentBackflowTest2 : StrBuilder | StrBuilderTextTest.java:144:14:144:43 | toString(...) | provenance | MaD:503 | | StrBuilderTextTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | StrBuilderTextTest.java:148:14:148:33 | fluentAllMethodsTest : StrBuilder | provenance | | | StrBuilderTextTest.java:147:58:147:64 | taint(...) : String | StrBuilderTextTest.java:147:43:147:65 | new StrBuilder(...) : StrBuilder | provenance | MaD:418 | @@ -2150,10 +2150,10 @@ edges | StrSubstitutorTest.java:51:12:51:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:51:12:51:48 | replace(...) | provenance | MaD:319 | | StrSubstitutorTest.java:51:35:51:41 | taint(...) : String | StrSubstitutorTest.java:51:12:51:48 | replace(...) | provenance | MaD:332 | | StrSubstitutorTest.java:52:12:52:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:52:12:52:56 | replace(...) | provenance | MaD:319 | -| StrSubstitutorTest.java:52:35:52:41 | taint(...) : String | StrSubstitutorTest.java:52:35:52:55 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrSubstitutorTest.java:52:35:52:41 | taint(...) : String | StrSubstitutorTest.java:52:35:52:55 | toCharArray(...) : char[] | provenance | MaD:7 | | StrSubstitutorTest.java:52:35:52:55 | toCharArray(...) : char[] | StrSubstitutorTest.java:52:12:52:56 | replace(...) | provenance | MaD:320 | | StrSubstitutorTest.java:53:12:53:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:53:12:53:62 | replace(...) | provenance | MaD:319 | -| StrSubstitutorTest.java:53:35:53:41 | taint(...) : String | StrSubstitutorTest.java:53:35:53:55 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrSubstitutorTest.java:53:35:53:41 | taint(...) : String | StrSubstitutorTest.java:53:35:53:55 | toCharArray(...) : char[] | provenance | MaD:7 | | StrSubstitutorTest.java:53:35:53:55 | toCharArray(...) : char[] | StrSubstitutorTest.java:53:12:53:62 | replace(...) | provenance | MaD:321 | | StrSubstitutorTest.java:54:12:54:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:54:12:54:56 | replace(...) | provenance | MaD:319 | | StrSubstitutorTest.java:54:35:54:55 | (...)... : String | StrSubstitutorTest.java:54:12:54:56 | replace(...) | provenance | MaD:322 | @@ -2169,16 +2169,16 @@ edges | StrSubstitutorTest.java:57:50:57:56 | taint(...) : String | StrSubstitutorTest.java:57:35:57:57 | new StrBuilder(...) : StrBuilder | provenance | MaD:226 | | StrSubstitutorTest.java:58:12:58:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:58:12:58:61 | replace(...) | provenance | MaD:319 | | StrSubstitutorTest.java:58:35:58:60 | new StringBuilder(...) : StringBuilder | StrSubstitutorTest.java:58:12:58:61 | replace(...) | provenance | MaD:322 | -| StrSubstitutorTest.java:58:53:58:59 | taint(...) : String | StrSubstitutorTest.java:58:35:58:60 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| StrSubstitutorTest.java:58:53:58:59 | taint(...) : String | StrSubstitutorTest.java:58:35:58:60 | new StringBuilder(...) : StringBuilder | provenance | MaD:9 | | StrSubstitutorTest.java:59:12:59:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:59:12:59:67 | replace(...) | provenance | MaD:319 | | StrSubstitutorTest.java:59:35:59:60 | new StringBuilder(...) : StringBuilder | StrSubstitutorTest.java:59:12:59:67 | replace(...) | provenance | MaD:323 | -| StrSubstitutorTest.java:59:53:59:59 | taint(...) : String | StrSubstitutorTest.java:59:35:59:60 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| StrSubstitutorTest.java:59:53:59:59 | taint(...) : String | StrSubstitutorTest.java:59:35:59:60 | new StringBuilder(...) : StringBuilder | provenance | MaD:9 | | StrSubstitutorTest.java:60:12:60:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:60:12:60:60 | replace(...) | provenance | MaD:319 | | StrSubstitutorTest.java:60:35:60:59 | new StringBuffer(...) : StringBuffer | StrSubstitutorTest.java:60:12:60:60 | replace(...) | provenance | MaD:333 | -| StrSubstitutorTest.java:60:52:60:58 | taint(...) : String | StrSubstitutorTest.java:60:35:60:59 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| StrSubstitutorTest.java:60:52:60:58 | taint(...) : String | StrSubstitutorTest.java:60:35:60:59 | new StringBuffer(...) : StringBuffer | provenance | MaD:8 | | StrSubstitutorTest.java:61:12:61:25 | untaintedSubst : StrSubstitutor | StrSubstitutorTest.java:61:12:61:66 | replace(...) | provenance | MaD:319 | | StrSubstitutorTest.java:61:35:61:59 | new StringBuffer(...) : StringBuffer | StrSubstitutorTest.java:61:12:61:66 | replace(...) | provenance | MaD:334 | -| StrSubstitutorTest.java:61:52:61:58 | taint(...) : String | StrSubstitutorTest.java:61:35:61:59 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| StrSubstitutorTest.java:61:52:61:58 | taint(...) : String | StrSubstitutorTest.java:61:35:61:59 | new StringBuffer(...) : StringBuffer | provenance | MaD:8 | | StrSubstitutorTest.java:64:35:64:41 | taint(...) : String | StrSubstitutorTest.java:64:12:64:73 | replace(...) | provenance | MaD:325 | | StrSubstitutorTest.java:65:35:65:41 | taint(...) : String | StrSubstitutorTest.java:65:12:65:83 | replace(...) | provenance | MaD:327 | | StrSubstitutorTest.java:66:44:66:53 | taintedMap : HashMap [] : String | StrSubstitutorTest.java:66:12:66:54 | replace(...) | provenance | MaD:326 | @@ -2190,41 +2190,41 @@ edges | StrSubstitutorTest.java:71:44:71:55 | taintedProps : Properties [] : String | StrSubstitutorTest.java:71:12:71:56 | replace(...) | provenance | MaD:330 | | StrSubstitutorTest.java:74:50:74:61 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:74:73:74:83 | strBuilder1 [post update] : StrBuilder | provenance | MaD:341 | | StrSubstitutorTest.java:74:73:74:83 | strBuilder1 [post update] : StrBuilder | StrSubstitutorTest.java:74:92:74:102 | strBuilder1 : StrBuilder | provenance | | -| StrSubstitutorTest.java:74:92:74:102 | strBuilder1 : StrBuilder | StrSubstitutorTest.java:74:92:74:113 | toString(...) | provenance | MaD:6 | +| StrSubstitutorTest.java:74:92:74:102 | strBuilder1 : StrBuilder | StrSubstitutorTest.java:74:92:74:113 | toString(...) | provenance | MaD:5 | | StrSubstitutorTest.java:74:92:74:102 | strBuilder1 : StrBuilder | StrSubstitutorTest.java:74:92:74:113 | toString(...) | provenance | MaD:311 | | StrSubstitutorTest.java:75:50:75:61 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:75:73:75:83 | strBuilder2 [post update] : StrBuilder | provenance | MaD:342 | | StrSubstitutorTest.java:75:73:75:83 | strBuilder2 [post update] : StrBuilder | StrSubstitutorTest.java:75:98:75:108 | strBuilder2 : StrBuilder | provenance | | -| StrSubstitutorTest.java:75:98:75:108 | strBuilder2 : StrBuilder | StrSubstitutorTest.java:75:98:75:119 | toString(...) | provenance | MaD:6 | +| StrSubstitutorTest.java:75:98:75:108 | strBuilder2 : StrBuilder | StrSubstitutorTest.java:75:98:75:119 | toString(...) | provenance | MaD:5 | | StrSubstitutorTest.java:75:98:75:108 | strBuilder2 : StrBuilder | StrSubstitutorTest.java:75:98:75:119 | toString(...) | provenance | MaD:311 | | StrSubstitutorTest.java:76:59:76:70 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:76:82:76:95 | stringBuilder1 [post update] : StringBuilder | provenance | MaD:339 | | StrSubstitutorTest.java:76:82:76:95 | stringBuilder1 [post update] : StringBuilder | StrSubstitutorTest.java:76:104:76:117 | stringBuilder1 : StringBuilder | provenance | | -| StrSubstitutorTest.java:76:104:76:117 | stringBuilder1 : StringBuilder | StrSubstitutorTest.java:76:104:76:128 | toString(...) | provenance | MaD:6 | +| StrSubstitutorTest.java:76:104:76:117 | stringBuilder1 : StringBuilder | StrSubstitutorTest.java:76:104:76:128 | toString(...) | provenance | MaD:5 | | StrSubstitutorTest.java:77:59:77:70 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:77:82:77:95 | stringBuilder2 [post update] : StringBuilder | provenance | MaD:340 | | StrSubstitutorTest.java:77:82:77:95 | stringBuilder2 [post update] : StringBuilder | StrSubstitutorTest.java:77:110:77:123 | stringBuilder2 : StringBuilder | provenance | | -| StrSubstitutorTest.java:77:110:77:123 | stringBuilder2 : StringBuilder | StrSubstitutorTest.java:77:110:77:134 | toString(...) | provenance | MaD:6 | +| StrSubstitutorTest.java:77:110:77:123 | stringBuilder2 : StringBuilder | StrSubstitutorTest.java:77:110:77:134 | toString(...) | provenance | MaD:5 | | StrSubstitutorTest.java:78:56:78:67 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:78:79:78:91 | stringBuffer1 [post update] : StringBuffer | provenance | MaD:337 | | StrSubstitutorTest.java:78:79:78:91 | stringBuffer1 [post update] : StringBuffer | StrSubstitutorTest.java:78:100:78:112 | stringBuffer1 : StringBuffer | provenance | | -| StrSubstitutorTest.java:78:100:78:112 | stringBuffer1 : StringBuffer | StrSubstitutorTest.java:78:100:78:123 | toString(...) | provenance | MaD:6 | +| StrSubstitutorTest.java:78:100:78:112 | stringBuffer1 : StringBuffer | StrSubstitutorTest.java:78:100:78:123 | toString(...) | provenance | MaD:5 | | StrSubstitutorTest.java:79:56:79:67 | taintedSubst : StrSubstitutor | StrSubstitutorTest.java:79:79:79:91 | stringBuffer2 [post update] : StringBuffer | provenance | MaD:338 | | StrSubstitutorTest.java:79:79:79:91 | stringBuffer2 [post update] : StringBuffer | StrSubstitutorTest.java:79:106:79:118 | stringBuffer2 : StringBuffer | provenance | | -| StrSubstitutorTest.java:79:106:79:118 | stringBuffer2 : StringBuffer | StrSubstitutorTest.java:79:106:79:129 | toString(...) | provenance | MaD:6 | +| StrSubstitutorTest.java:79:106:79:118 | stringBuffer2 : StringBuffer | StrSubstitutorTest.java:79:106:79:129 | toString(...) | provenance | MaD:5 | | StrTokenizerTest.java:12:11:12:49 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:12:10:12:61 | toString(...) | provenance | MaD:356 | -| StrTokenizerTest.java:12:28:12:34 | taint(...) : String | StrTokenizerTest.java:12:28:12:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:12:28:12:34 | taint(...) : String | StrTokenizerTest.java:12:28:12:48 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTest.java:12:28:12:48 | toCharArray(...) : char[] | StrTokenizerTest.java:12:11:12:49 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | | StrTokenizerTest.java:13:11:13:54 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:13:10:13:66 | toString(...) | provenance | MaD:356 | -| StrTokenizerTest.java:13:28:13:34 | taint(...) : String | StrTokenizerTest.java:13:28:13:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:13:28:13:34 | taint(...) : String | StrTokenizerTest.java:13:28:13:48 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTest.java:13:28:13:48 | toCharArray(...) : char[] | StrTokenizerTest.java:13:11:13:54 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | | StrTokenizerTest.java:14:11:14:59 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:14:10:14:71 | toString(...) | provenance | MaD:356 | -| StrTokenizerTest.java:14:28:14:34 | taint(...) : String | StrTokenizerTest.java:14:28:14:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:14:28:14:34 | taint(...) : String | StrTokenizerTest.java:14:28:14:48 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTest.java:14:28:14:48 | toCharArray(...) : char[] | StrTokenizerTest.java:14:11:14:59 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | | StrTokenizerTest.java:15:11:15:54 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:15:10:15:66 | toString(...) | provenance | MaD:356 | -| StrTokenizerTest.java:15:28:15:34 | taint(...) : String | StrTokenizerTest.java:15:28:15:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:15:28:15:34 | taint(...) : String | StrTokenizerTest.java:15:28:15:48 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTest.java:15:28:15:48 | toCharArray(...) : char[] | StrTokenizerTest.java:15:11:15:54 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | | StrTokenizerTest.java:16:11:16:67 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:16:10:16:79 | toString(...) | provenance | MaD:356 | -| StrTokenizerTest.java:16:28:16:34 | taint(...) : String | StrTokenizerTest.java:16:28:16:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:16:28:16:34 | taint(...) : String | StrTokenizerTest.java:16:28:16:48 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTest.java:16:28:16:48 | toCharArray(...) : char[] | StrTokenizerTest.java:16:11:16:67 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | | StrTokenizerTest.java:17:11:17:85 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:17:10:17:97 | toString(...) | provenance | MaD:356 | -| StrTokenizerTest.java:17:28:17:34 | taint(...) : String | StrTokenizerTest.java:17:28:17:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:17:28:17:34 | taint(...) : String | StrTokenizerTest.java:17:28:17:48 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTest.java:17:28:17:48 | toCharArray(...) : char[] | StrTokenizerTest.java:17:11:17:85 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | | StrTokenizerTest.java:18:11:18:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:18:10:18:47 | toString(...) | provenance | MaD:356 | | StrTokenizerTest.java:18:28:18:34 | taint(...) : String | StrTokenizerTest.java:18:11:18:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | @@ -2239,12 +2239,12 @@ edges | StrTokenizerTest.java:23:11:23:71 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:23:10:23:83 | toString(...) | provenance | MaD:356 | | StrTokenizerTest.java:23:28:23:34 | taint(...) : String | StrTokenizerTest.java:23:11:23:71 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | | StrTokenizerTest.java:26:10:26:59 | getCSVInstance(...) : StrTokenizer | StrTokenizerTest.java:26:10:26:70 | toString(...) | provenance | MaD:356 | -| StrTokenizerTest.java:26:38:26:44 | taint(...) : String | StrTokenizerTest.java:26:38:26:58 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:26:38:26:44 | taint(...) : String | StrTokenizerTest.java:26:38:26:58 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTest.java:26:38:26:58 | toCharArray(...) : char[] | StrTokenizerTest.java:26:10:26:59 | getCSVInstance(...) : StrTokenizer | provenance | MaD:346 | | StrTokenizerTest.java:27:10:27:45 | getCSVInstance(...) : StrTokenizer | StrTokenizerTest.java:27:10:27:56 | toString(...) | provenance | MaD:356 | | StrTokenizerTest.java:27:38:27:44 | taint(...) : String | StrTokenizerTest.java:27:10:27:45 | getCSVInstance(...) : StrTokenizer | provenance | MaD:346 | | StrTokenizerTest.java:28:10:28:59 | getTSVInstance(...) : StrTokenizer | StrTokenizerTest.java:28:10:28:70 | toString(...) | provenance | MaD:356 | -| StrTokenizerTest.java:28:38:28:44 | taint(...) : String | StrTokenizerTest.java:28:38:28:58 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:28:38:28:44 | taint(...) : String | StrTokenizerTest.java:28:38:28:58 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTest.java:28:38:28:58 | toCharArray(...) : char[] | StrTokenizerTest.java:28:10:28:59 | getTSVInstance(...) : StrTokenizer | provenance | MaD:348 | | StrTokenizerTest.java:29:10:29:45 | getTSVInstance(...) : StrTokenizer | StrTokenizerTest.java:29:10:29:56 | toString(...) | provenance | MaD:356 | | StrTokenizerTest.java:29:38:29:44 | taint(...) : String | StrTokenizerTest.java:29:10:29:45 | getTSVInstance(...) : StrTokenizer | provenance | MaD:348 | @@ -2268,27 +2268,27 @@ edges | StrTokenizerTest.java:39:11:39:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTest.java:39:10:39:52 | previousToken(...) | provenance | MaD:354 | | StrTokenizerTest.java:39:28:39:34 | taint(...) : String | StrTokenizerTest.java:39:11:39:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:344 | | StrTokenizerTest.java:42:10:42:58 | reset(...) : StrTokenizer | StrTokenizerTest.java:42:10:42:69 | toString(...) | provenance | MaD:356 | -| StrTokenizerTest.java:42:37:42:43 | taint(...) : String | StrTokenizerTest.java:42:37:42:57 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTest.java:42:37:42:43 | taint(...) : String | StrTokenizerTest.java:42:37:42:57 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTest.java:42:37:42:57 | toCharArray(...) : char[] | StrTokenizerTest.java:42:10:42:58 | reset(...) : StrTokenizer | provenance | MaD:355 | | StrTokenizerTest.java:43:10:43:44 | reset(...) : StrTokenizer | StrTokenizerTest.java:43:10:43:55 | toString(...) | provenance | MaD:356 | | StrTokenizerTest.java:43:37:43:43 | taint(...) : String | StrTokenizerTest.java:43:10:43:44 | reset(...) : StrTokenizer | provenance | MaD:355 | | StrTokenizerTextTest.java:12:11:12:49 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:12:10:12:61 | toString(...) | provenance | MaD:519 | -| StrTokenizerTextTest.java:12:28:12:34 | taint(...) : String | StrTokenizerTextTest.java:12:28:12:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:12:28:12:34 | taint(...) : String | StrTokenizerTextTest.java:12:28:12:48 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTextTest.java:12:28:12:48 | toCharArray(...) : char[] | StrTokenizerTextTest.java:12:11:12:49 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | | StrTokenizerTextTest.java:13:11:13:54 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:13:10:13:66 | toString(...) | provenance | MaD:519 | -| StrTokenizerTextTest.java:13:28:13:34 | taint(...) : String | StrTokenizerTextTest.java:13:28:13:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:13:28:13:34 | taint(...) : String | StrTokenizerTextTest.java:13:28:13:48 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTextTest.java:13:28:13:48 | toCharArray(...) : char[] | StrTokenizerTextTest.java:13:11:13:54 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | | StrTokenizerTextTest.java:14:11:14:59 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:14:10:14:71 | toString(...) | provenance | MaD:519 | -| StrTokenizerTextTest.java:14:28:14:34 | taint(...) : String | StrTokenizerTextTest.java:14:28:14:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:14:28:14:34 | taint(...) : String | StrTokenizerTextTest.java:14:28:14:48 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTextTest.java:14:28:14:48 | toCharArray(...) : char[] | StrTokenizerTextTest.java:14:11:14:59 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | | StrTokenizerTextTest.java:15:11:15:54 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:15:10:15:66 | toString(...) | provenance | MaD:519 | -| StrTokenizerTextTest.java:15:28:15:34 | taint(...) : String | StrTokenizerTextTest.java:15:28:15:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:15:28:15:34 | taint(...) : String | StrTokenizerTextTest.java:15:28:15:48 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTextTest.java:15:28:15:48 | toCharArray(...) : char[] | StrTokenizerTextTest.java:15:11:15:54 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | | StrTokenizerTextTest.java:16:11:16:67 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:16:10:16:79 | toString(...) | provenance | MaD:519 | -| StrTokenizerTextTest.java:16:28:16:34 | taint(...) : String | StrTokenizerTextTest.java:16:28:16:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:16:28:16:34 | taint(...) : String | StrTokenizerTextTest.java:16:28:16:48 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTextTest.java:16:28:16:48 | toCharArray(...) : char[] | StrTokenizerTextTest.java:16:11:16:67 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | | StrTokenizerTextTest.java:17:11:17:85 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:17:10:17:97 | toString(...) | provenance | MaD:519 | -| StrTokenizerTextTest.java:17:28:17:34 | taint(...) : String | StrTokenizerTextTest.java:17:28:17:48 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:17:28:17:34 | taint(...) : String | StrTokenizerTextTest.java:17:28:17:48 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTextTest.java:17:28:17:48 | toCharArray(...) : char[] | StrTokenizerTextTest.java:17:11:17:85 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | | StrTokenizerTextTest.java:18:11:18:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:18:10:18:47 | toString(...) | provenance | MaD:519 | | StrTokenizerTextTest.java:18:28:18:34 | taint(...) : String | StrTokenizerTextTest.java:18:11:18:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | @@ -2303,12 +2303,12 @@ edges | StrTokenizerTextTest.java:23:11:23:71 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:23:10:23:83 | toString(...) | provenance | MaD:519 | | StrTokenizerTextTest.java:23:28:23:34 | taint(...) : String | StrTokenizerTextTest.java:23:11:23:71 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | | StrTokenizerTextTest.java:26:10:26:59 | getCSVInstance(...) : StrTokenizer | StrTokenizerTextTest.java:26:10:26:70 | toString(...) | provenance | MaD:519 | -| StrTokenizerTextTest.java:26:38:26:44 | taint(...) : String | StrTokenizerTextTest.java:26:38:26:58 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:26:38:26:44 | taint(...) : String | StrTokenizerTextTest.java:26:38:26:58 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTextTest.java:26:38:26:58 | toCharArray(...) : char[] | StrTokenizerTextTest.java:26:10:26:59 | getCSVInstance(...) : StrTokenizer | provenance | MaD:509 | | StrTokenizerTextTest.java:27:10:27:45 | getCSVInstance(...) : StrTokenizer | StrTokenizerTextTest.java:27:10:27:56 | toString(...) | provenance | MaD:519 | | StrTokenizerTextTest.java:27:38:27:44 | taint(...) : String | StrTokenizerTextTest.java:27:10:27:45 | getCSVInstance(...) : StrTokenizer | provenance | MaD:509 | | StrTokenizerTextTest.java:28:10:28:59 | getTSVInstance(...) : StrTokenizer | StrTokenizerTextTest.java:28:10:28:70 | toString(...) | provenance | MaD:519 | -| StrTokenizerTextTest.java:28:38:28:44 | taint(...) : String | StrTokenizerTextTest.java:28:38:28:58 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:28:38:28:44 | taint(...) : String | StrTokenizerTextTest.java:28:38:28:58 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTextTest.java:28:38:28:58 | toCharArray(...) : char[] | StrTokenizerTextTest.java:28:10:28:59 | getTSVInstance(...) : StrTokenizer | provenance | MaD:511 | | StrTokenizerTextTest.java:29:10:29:45 | getTSVInstance(...) : StrTokenizer | StrTokenizerTextTest.java:29:10:29:56 | toString(...) | provenance | MaD:519 | | StrTokenizerTextTest.java:29:38:29:44 | taint(...) : String | StrTokenizerTextTest.java:29:10:29:45 | getTSVInstance(...) : StrTokenizer | provenance | MaD:511 | @@ -2332,7 +2332,7 @@ edges | StrTokenizerTextTest.java:39:11:39:35 | new StrTokenizer(...) : StrTokenizer | StrTokenizerTextTest.java:39:10:39:52 | previousToken(...) | provenance | MaD:517 | | StrTokenizerTextTest.java:39:28:39:34 | taint(...) : String | StrTokenizerTextTest.java:39:11:39:35 | new StrTokenizer(...) : StrTokenizer | provenance | MaD:507 | | StrTokenizerTextTest.java:42:10:42:58 | reset(...) : StrTokenizer | StrTokenizerTextTest.java:42:10:42:69 | toString(...) | provenance | MaD:519 | -| StrTokenizerTextTest.java:42:37:42:43 | taint(...) : String | StrTokenizerTextTest.java:42:37:42:57 | toCharArray(...) : char[] | provenance | MaD:8 | +| StrTokenizerTextTest.java:42:37:42:43 | taint(...) : String | StrTokenizerTextTest.java:42:37:42:57 | toCharArray(...) : char[] | provenance | MaD:7 | | StrTokenizerTextTest.java:42:37:42:57 | toCharArray(...) : char[] | StrTokenizerTextTest.java:42:10:42:58 | reset(...) : StrTokenizer | provenance | MaD:518 | | StrTokenizerTextTest.java:43:10:43:44 | reset(...) : StrTokenizer | StrTokenizerTextTest.java:43:10:43:55 | toString(...) | provenance | MaD:519 | | StrTokenizerTextTest.java:43:37:43:43 | taint(...) : String | StrTokenizerTextTest.java:43:10:43:44 | reset(...) : StrTokenizer | provenance | MaD:518 | @@ -2445,10 +2445,10 @@ edges | StringSubstitutorTextTest.java:52:12:52:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:52:12:52:48 | replace(...) | provenance | MaD:522 | | StringSubstitutorTextTest.java:52:35:52:41 | taint(...) : String | StringSubstitutorTextTest.java:52:12:52:48 | replace(...) | provenance | MaD:535 | | StringSubstitutorTextTest.java:53:12:53:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:53:12:53:56 | replace(...) | provenance | MaD:522 | -| StringSubstitutorTextTest.java:53:35:53:41 | taint(...) : String | StringSubstitutorTextTest.java:53:35:53:55 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringSubstitutorTextTest.java:53:35:53:41 | taint(...) : String | StringSubstitutorTextTest.java:53:35:53:55 | toCharArray(...) : char[] | provenance | MaD:7 | | StringSubstitutorTextTest.java:53:35:53:55 | toCharArray(...) : char[] | StringSubstitutorTextTest.java:53:12:53:56 | replace(...) | provenance | MaD:523 | | StringSubstitutorTextTest.java:54:12:54:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:54:12:54:62 | replace(...) | provenance | MaD:522 | -| StringSubstitutorTextTest.java:54:35:54:41 | taint(...) : String | StringSubstitutorTextTest.java:54:35:54:55 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringSubstitutorTextTest.java:54:35:54:41 | taint(...) : String | StringSubstitutorTextTest.java:54:35:54:55 | toCharArray(...) : char[] | provenance | MaD:7 | | StringSubstitutorTextTest.java:54:35:54:55 | toCharArray(...) : char[] | StringSubstitutorTextTest.java:54:12:54:62 | replace(...) | provenance | MaD:524 | | StringSubstitutorTextTest.java:55:12:55:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:55:12:55:56 | replace(...) | provenance | MaD:522 | | StringSubstitutorTextTest.java:55:35:55:55 | (...)... : String | StringSubstitutorTextTest.java:55:12:55:56 | replace(...) | provenance | MaD:525 | @@ -2464,16 +2464,16 @@ edges | StringSubstitutorTextTest.java:58:57:58:63 | taint(...) : String | StringSubstitutorTextTest.java:58:35:58:64 | new TextStringBuilder(...) : TextStringBuilder | provenance | MaD:561 | | StringSubstitutorTextTest.java:59:12:59:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:59:12:59:61 | replace(...) | provenance | MaD:522 | | StringSubstitutorTextTest.java:59:35:59:60 | new StringBuilder(...) : StringBuilder | StringSubstitutorTextTest.java:59:12:59:61 | replace(...) | provenance | MaD:525 | -| StringSubstitutorTextTest.java:59:53:59:59 | taint(...) : String | StringSubstitutorTextTest.java:59:35:59:60 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| StringSubstitutorTextTest.java:59:53:59:59 | taint(...) : String | StringSubstitutorTextTest.java:59:35:59:60 | new StringBuilder(...) : StringBuilder | provenance | MaD:9 | | StringSubstitutorTextTest.java:60:12:60:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:60:12:60:67 | replace(...) | provenance | MaD:522 | | StringSubstitutorTextTest.java:60:35:60:60 | new StringBuilder(...) : StringBuilder | StringSubstitutorTextTest.java:60:12:60:67 | replace(...) | provenance | MaD:526 | -| StringSubstitutorTextTest.java:60:53:60:59 | taint(...) : String | StringSubstitutorTextTest.java:60:35:60:60 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | +| StringSubstitutorTextTest.java:60:53:60:59 | taint(...) : String | StringSubstitutorTextTest.java:60:35:60:60 | new StringBuilder(...) : StringBuilder | provenance | MaD:9 | | StringSubstitutorTextTest.java:61:12:61:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:61:12:61:60 | replace(...) | provenance | MaD:522 | | StringSubstitutorTextTest.java:61:35:61:59 | new StringBuffer(...) : StringBuffer | StringSubstitutorTextTest.java:61:12:61:60 | replace(...) | provenance | MaD:536 | -| StringSubstitutorTextTest.java:61:52:61:58 | taint(...) : String | StringSubstitutorTextTest.java:61:35:61:59 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| StringSubstitutorTextTest.java:61:52:61:58 | taint(...) : String | StringSubstitutorTextTest.java:61:35:61:59 | new StringBuffer(...) : StringBuffer | provenance | MaD:8 | | StringSubstitutorTextTest.java:62:12:62:25 | untaintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:62:12:62:66 | replace(...) | provenance | MaD:522 | | StringSubstitutorTextTest.java:62:35:62:59 | new StringBuffer(...) : StringBuffer | StringSubstitutorTextTest.java:62:12:62:66 | replace(...) | provenance | MaD:537 | -| StringSubstitutorTextTest.java:62:52:62:58 | taint(...) : String | StringSubstitutorTextTest.java:62:35:62:59 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | +| StringSubstitutorTextTest.java:62:52:62:58 | taint(...) : String | StringSubstitutorTextTest.java:62:35:62:59 | new StringBuffer(...) : StringBuffer | provenance | MaD:8 | | StringSubstitutorTextTest.java:65:38:65:44 | taint(...) : String | StringSubstitutorTextTest.java:65:12:65:76 | replace(...) | provenance | MaD:528 | | StringSubstitutorTextTest.java:66:38:66:44 | taint(...) : String | StringSubstitutorTextTest.java:66:12:66:86 | replace(...) | provenance | MaD:530 | | StringSubstitutorTextTest.java:67:47:67:56 | taintedMap : HashMap [] : String | StringSubstitutorTextTest.java:67:12:67:57 | replace(...) | provenance | MaD:529 | @@ -2485,41 +2485,41 @@ edges | StringSubstitutorTextTest.java:72:47:72:58 | taintedProps : Properties [] : String | StringSubstitutorTextTest.java:72:12:72:59 | replace(...) | provenance | MaD:533 | | StringSubstitutorTextTest.java:75:64:75:75 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:75:87:75:97 | strBuilder1 [post update] : TextStringBuilder | provenance | MaD:544 | | StringSubstitutorTextTest.java:75:87:75:97 | strBuilder1 [post update] : TextStringBuilder | StringSubstitutorTextTest.java:75:106:75:116 | strBuilder1 : TextStringBuilder | provenance | | -| StringSubstitutorTextTest.java:75:106:75:116 | strBuilder1 : TextStringBuilder | StringSubstitutorTextTest.java:75:106:75:127 | toString(...) | provenance | MaD:6 | +| StringSubstitutorTextTest.java:75:106:75:116 | strBuilder1 : TextStringBuilder | StringSubstitutorTextTest.java:75:106:75:127 | toString(...) | provenance | MaD:5 | | StringSubstitutorTextTest.java:75:106:75:116 | strBuilder1 : TextStringBuilder | StringSubstitutorTextTest.java:75:106:75:127 | toString(...) | provenance | MaD:646 | | StringSubstitutorTextTest.java:76:64:76:75 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:76:87:76:97 | strBuilder2 [post update] : TextStringBuilder | provenance | MaD:545 | | StringSubstitutorTextTest.java:76:87:76:97 | strBuilder2 [post update] : TextStringBuilder | StringSubstitutorTextTest.java:76:112:76:122 | strBuilder2 : TextStringBuilder | provenance | | -| StringSubstitutorTextTest.java:76:112:76:122 | strBuilder2 : TextStringBuilder | StringSubstitutorTextTest.java:76:112:76:133 | toString(...) | provenance | MaD:6 | +| StringSubstitutorTextTest.java:76:112:76:122 | strBuilder2 : TextStringBuilder | StringSubstitutorTextTest.java:76:112:76:133 | toString(...) | provenance | MaD:5 | | StringSubstitutorTextTest.java:76:112:76:122 | strBuilder2 : TextStringBuilder | StringSubstitutorTextTest.java:76:112:76:133 | toString(...) | provenance | MaD:646 | | StringSubstitutorTextTest.java:77:59:77:70 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:77:82:77:95 | stringBuilder1 [post update] : StringBuilder | provenance | MaD:542 | | StringSubstitutorTextTest.java:77:82:77:95 | stringBuilder1 [post update] : StringBuilder | StringSubstitutorTextTest.java:77:104:77:117 | stringBuilder1 : StringBuilder | provenance | | -| StringSubstitutorTextTest.java:77:104:77:117 | stringBuilder1 : StringBuilder | StringSubstitutorTextTest.java:77:104:77:128 | toString(...) | provenance | MaD:6 | +| StringSubstitutorTextTest.java:77:104:77:117 | stringBuilder1 : StringBuilder | StringSubstitutorTextTest.java:77:104:77:128 | toString(...) | provenance | MaD:5 | | StringSubstitutorTextTest.java:78:59:78:70 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:78:82:78:95 | stringBuilder2 [post update] : StringBuilder | provenance | MaD:543 | | StringSubstitutorTextTest.java:78:82:78:95 | stringBuilder2 [post update] : StringBuilder | StringSubstitutorTextTest.java:78:110:78:123 | stringBuilder2 : StringBuilder | provenance | | -| StringSubstitutorTextTest.java:78:110:78:123 | stringBuilder2 : StringBuilder | StringSubstitutorTextTest.java:78:110:78:134 | toString(...) | provenance | MaD:6 | +| StringSubstitutorTextTest.java:78:110:78:123 | stringBuilder2 : StringBuilder | StringSubstitutorTextTest.java:78:110:78:134 | toString(...) | provenance | MaD:5 | | StringSubstitutorTextTest.java:79:56:79:67 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:79:79:79:91 | stringBuffer1 [post update] : StringBuffer | provenance | MaD:540 | | StringSubstitutorTextTest.java:79:79:79:91 | stringBuffer1 [post update] : StringBuffer | StringSubstitutorTextTest.java:79:100:79:112 | stringBuffer1 : StringBuffer | provenance | | -| StringSubstitutorTextTest.java:79:100:79:112 | stringBuffer1 : StringBuffer | StringSubstitutorTextTest.java:79:100:79:123 | toString(...) | provenance | MaD:6 | +| StringSubstitutorTextTest.java:79:100:79:112 | stringBuffer1 : StringBuffer | StringSubstitutorTextTest.java:79:100:79:123 | toString(...) | provenance | MaD:5 | | StringSubstitutorTextTest.java:80:56:80:67 | taintedSubst : StringSubstitutor | StringSubstitutorTextTest.java:80:79:80:91 | stringBuffer2 [post update] : StringBuffer | provenance | MaD:541 | | StringSubstitutorTextTest.java:80:79:80:91 | stringBuffer2 [post update] : StringBuffer | StringSubstitutorTextTest.java:80:106:80:118 | stringBuffer2 : StringBuffer | provenance | | -| StringSubstitutorTextTest.java:80:106:80:118 | stringBuffer2 : StringBuffer | StringSubstitutorTextTest.java:80:106:80:129 | toString(...) | provenance | MaD:6 | +| StringSubstitutorTextTest.java:80:106:80:118 | stringBuffer2 : StringBuffer | StringSubstitutorTextTest.java:80:106:80:129 | toString(...) | provenance | MaD:5 | | StringTokenizerTest.java:12:11:12:52 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:12:10:12:64 | toString(...) | provenance | MaD:559 | -| StringTokenizerTest.java:12:31:12:37 | taint(...) : String | StringTokenizerTest.java:12:31:12:51 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:12:31:12:37 | taint(...) : String | StringTokenizerTest.java:12:31:12:51 | toCharArray(...) : char[] | provenance | MaD:7 | | StringTokenizerTest.java:12:31:12:51 | toCharArray(...) : char[] | StringTokenizerTest.java:12:11:12:52 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | | StringTokenizerTest.java:13:11:13:57 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:13:10:13:69 | toString(...) | provenance | MaD:559 | -| StringTokenizerTest.java:13:31:13:37 | taint(...) : String | StringTokenizerTest.java:13:31:13:51 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:13:31:13:37 | taint(...) : String | StringTokenizerTest.java:13:31:13:51 | toCharArray(...) : char[] | provenance | MaD:7 | | StringTokenizerTest.java:13:31:13:51 | toCharArray(...) : char[] | StringTokenizerTest.java:13:11:13:57 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | | StringTokenizerTest.java:14:11:14:62 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:14:10:14:74 | toString(...) | provenance | MaD:559 | -| StringTokenizerTest.java:14:31:14:37 | taint(...) : String | StringTokenizerTest.java:14:31:14:51 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:14:31:14:37 | taint(...) : String | StringTokenizerTest.java:14:31:14:51 | toCharArray(...) : char[] | provenance | MaD:7 | | StringTokenizerTest.java:14:31:14:51 | toCharArray(...) : char[] | StringTokenizerTest.java:14:11:14:62 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | | StringTokenizerTest.java:15:11:15:57 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:15:10:15:69 | toString(...) | provenance | MaD:559 | -| StringTokenizerTest.java:15:31:15:37 | taint(...) : String | StringTokenizerTest.java:15:31:15:51 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:15:31:15:37 | taint(...) : String | StringTokenizerTest.java:15:31:15:51 | toCharArray(...) : char[] | provenance | MaD:7 | | StringTokenizerTest.java:15:31:15:51 | toCharArray(...) : char[] | StringTokenizerTest.java:15:11:15:57 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | | StringTokenizerTest.java:16:11:16:73 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:16:10:16:85 | toString(...) | provenance | MaD:559 | -| StringTokenizerTest.java:16:31:16:37 | taint(...) : String | StringTokenizerTest.java:16:31:16:51 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:16:31:16:37 | taint(...) : String | StringTokenizerTest.java:16:31:16:51 | toCharArray(...) : char[] | provenance | MaD:7 | | StringTokenizerTest.java:16:31:16:51 | toCharArray(...) : char[] | StringTokenizerTest.java:16:11:16:73 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | | StringTokenizerTest.java:17:11:17:94 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:17:10:17:106 | toString(...) | provenance | MaD:559 | -| StringTokenizerTest.java:17:31:17:37 | taint(...) : String | StringTokenizerTest.java:17:31:17:51 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:17:31:17:37 | taint(...) : String | StringTokenizerTest.java:17:31:17:51 | toCharArray(...) : char[] | provenance | MaD:7 | | StringTokenizerTest.java:17:31:17:51 | toCharArray(...) : char[] | StringTokenizerTest.java:17:11:17:94 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | | StringTokenizerTest.java:18:11:18:38 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:18:10:18:50 | toString(...) | provenance | MaD:559 | | StringTokenizerTest.java:18:31:18:37 | taint(...) : String | StringTokenizerTest.java:18:11:18:38 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | @@ -2534,12 +2534,12 @@ edges | StringTokenizerTest.java:23:11:23:80 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:23:10:23:92 | toString(...) | provenance | MaD:559 | | StringTokenizerTest.java:23:31:23:37 | taint(...) : String | StringTokenizerTest.java:23:11:23:80 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | | StringTokenizerTest.java:26:10:26:62 | getCSVInstance(...) : StringTokenizer | StringTokenizerTest.java:26:10:26:73 | toString(...) | provenance | MaD:559 | -| StringTokenizerTest.java:26:41:26:47 | taint(...) : String | StringTokenizerTest.java:26:41:26:61 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:26:41:26:47 | taint(...) : String | StringTokenizerTest.java:26:41:26:61 | toCharArray(...) : char[] | provenance | MaD:7 | | StringTokenizerTest.java:26:41:26:61 | toCharArray(...) : char[] | StringTokenizerTest.java:26:10:26:62 | getCSVInstance(...) : StringTokenizer | provenance | MaD:549 | | StringTokenizerTest.java:27:10:27:48 | getCSVInstance(...) : StringTokenizer | StringTokenizerTest.java:27:10:27:59 | toString(...) | provenance | MaD:559 | | StringTokenizerTest.java:27:41:27:47 | taint(...) : String | StringTokenizerTest.java:27:10:27:48 | getCSVInstance(...) : StringTokenizer | provenance | MaD:549 | | StringTokenizerTest.java:28:10:28:62 | getTSVInstance(...) : StringTokenizer | StringTokenizerTest.java:28:10:28:73 | toString(...) | provenance | MaD:559 | -| StringTokenizerTest.java:28:41:28:47 | taint(...) : String | StringTokenizerTest.java:28:41:28:61 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:28:41:28:47 | taint(...) : String | StringTokenizerTest.java:28:41:28:61 | toCharArray(...) : char[] | provenance | MaD:7 | | StringTokenizerTest.java:28:41:28:61 | toCharArray(...) : char[] | StringTokenizerTest.java:28:10:28:62 | getTSVInstance(...) : StringTokenizer | provenance | MaD:551 | | StringTokenizerTest.java:29:10:29:48 | getTSVInstance(...) : StringTokenizer | StringTokenizerTest.java:29:10:29:59 | toString(...) | provenance | MaD:559 | | StringTokenizerTest.java:29:41:29:47 | taint(...) : String | StringTokenizerTest.java:29:10:29:48 | getTSVInstance(...) : StringTokenizer | provenance | MaD:551 | @@ -2563,7 +2563,7 @@ edges | StringTokenizerTest.java:39:11:39:38 | new StringTokenizer(...) : StringTokenizer | StringTokenizerTest.java:39:10:39:55 | previousToken(...) | provenance | MaD:557 | | StringTokenizerTest.java:39:31:39:37 | taint(...) : String | StringTokenizerTest.java:39:11:39:38 | new StringTokenizer(...) : StringTokenizer | provenance | MaD:547 | | StringTokenizerTest.java:42:10:42:61 | reset(...) : StringTokenizer | StringTokenizerTest.java:42:10:42:72 | toString(...) | provenance | MaD:559 | -| StringTokenizerTest.java:42:40:42:46 | taint(...) : String | StringTokenizerTest.java:42:40:42:60 | toCharArray(...) : char[] | provenance | MaD:8 | +| StringTokenizerTest.java:42:40:42:46 | taint(...) : String | StringTokenizerTest.java:42:40:42:60 | toCharArray(...) : char[] | provenance | MaD:7 | | StringTokenizerTest.java:42:40:42:60 | toCharArray(...) : char[] | StringTokenizerTest.java:42:10:42:61 | reset(...) : StringTokenizer | provenance | MaD:558 | | StringTokenizerTest.java:43:10:43:47 | reset(...) : StringTokenizer | StringTokenizerTest.java:43:10:43:58 | toString(...) | provenance | MaD:559 | | StringTokenizerTest.java:43:40:43:46 | taint(...) : String | StringTokenizerTest.java:43:10:43:47 | reset(...) : StringTokenizer | provenance | MaD:558 | @@ -2614,9 +2614,9 @@ edges | Test.java:63:36:63:42 | taint(...) : String | Test.java:63:14:63:43 | getDigits(...) | provenance | MaD:104 | | Test.java:64:37:64:43 | taint(...) : String | Test.java:64:14:64:61 | getIfBlank(...) | provenance | MaD:105 | | Test.java:65:37:65:43 | taint(...) : String | Test.java:65:14:65:61 | getIfEmpty(...) | provenance | MaD:106 | -| Test.java:73:31:73:37 | taint(...) : String | Test.java:73:31:73:51 | toCharArray(...) : char[] | provenance | MaD:8 | +| Test.java:73:31:73:37 | taint(...) : String | Test.java:73:31:73:51 | toCharArray(...) : char[] | provenance | MaD:7 | | Test.java:73:31:73:51 | toCharArray(...) : char[] | Test.java:73:14:73:57 | join(...) | provenance | MaD:107 | -| Test.java:74:31:74:37 | taint(...) : String | Test.java:74:31:74:51 | toCharArray(...) : char[] | provenance | MaD:8 | +| Test.java:74:31:74:37 | taint(...) : String | Test.java:74:31:74:51 | toCharArray(...) : char[] | provenance | MaD:7 | | Test.java:74:31:74:51 | toCharArray(...) : char[] | Test.java:74:14:74:63 | join(...) | provenance | MaD:108 | | Test.java:77:9:77:19 | taintedList [post update] : ArrayList [] : String | Test.java:78:31:78:41 | taintedList : ArrayList [] : String | provenance | | | Test.java:77:9:77:19 | taintedList [post update] : ArrayList [] : String | Test.java:79:31:79:41 | taintedList : ArrayList [] : String | provenance | | @@ -2628,9 +2628,9 @@ edges | Test.java:78:31:78:41 | taintedList : ArrayList [] : String | Test.java:78:14:78:47 | join(...) | provenance | MaD:109 | | Test.java:79:31:79:41 | taintedList : ArrayList [] : String | Test.java:79:14:79:49 | join(...) | provenance | MaD:110 | | Test.java:81:46:81:52 | taint(...) : String | Test.java:81:14:81:53 | join(...) | provenance | MaD:111 | -| Test.java:83:31:83:41 | taintedList : ArrayList [] : String | Test.java:83:31:83:52 | iterator(...) : Iterator [] : String | provenance | MaD:7 | +| Test.java:83:31:83:41 | taintedList : ArrayList [] : String | Test.java:83:31:83:52 | iterator(...) : Iterator [] : String | provenance | MaD:6 | | Test.java:83:31:83:52 | iterator(...) : Iterator [] : String | Test.java:83:14:83:58 | join(...) | provenance | MaD:119 | -| Test.java:84:31:84:41 | taintedList : ArrayList [] : String | Test.java:84:31:84:52 | iterator(...) : Iterator [] : String | provenance | MaD:7 | +| Test.java:84:31:84:41 | taintedList : ArrayList [] : String | Test.java:84:31:84:52 | iterator(...) : Iterator [] : String | provenance | MaD:6 | | Test.java:84:31:84:52 | iterator(...) : Iterator [] : String | Test.java:84:14:84:60 | join(...) | provenance | MaD:120 | | Test.java:85:57:85:63 | taint(...) : String | Test.java:85:14:85:64 | join(...) | provenance | MaD:121 | | Test.java:87:31:87:41 | taintedList : ArrayList [] : String | Test.java:87:14:87:53 | join(...) | provenance | MaD:122 | @@ -2774,7 +2774,7 @@ edges | Test.java:263:33:263:39 | taint(...) : String | Test.java:263:14:263:53 | unwrap(...) | provenance | MaD:215 | | Test.java:266:36:266:42 | taint(...) : String | Test.java:266:14:266:43 | upperCase(...) | provenance | MaD:216 | | Test.java:267:36:267:42 | taint(...) : String | Test.java:267:14:267:49 | upperCase(...) | provenance | MaD:217 | -| Test.java:268:34:268:40 | taint(...) : String | Test.java:268:34:268:54 | toCharArray(...) : char[] | provenance | MaD:8 | +| Test.java:268:34:268:40 | taint(...) : String | Test.java:268:34:268:54 | toCharArray(...) : char[] | provenance | MaD:7 | | Test.java:268:34:268:54 | toCharArray(...) : char[] | Test.java:268:14:268:55 | valueOf(...) | provenance | MaD:218 | | Test.java:269:31:269:37 | taint(...) : String | Test.java:269:14:269:43 | wrap(...) | provenance | MaD:219 | | Test.java:270:31:270:37 | taint(...) : String | Test.java:270:14:270:55 | wrap(...) | provenance | MaD:220 | @@ -2784,239 +2784,239 @@ edges | Test.java:274:51:274:57 | taint(...) : String | Test.java:274:14:274:58 | wrapIfMissing(...) | provenance | MaD:222 | | TextStringBuilderTest.java:17:35:17:64 | new TextStringBuilder(...) : TextStringBuilder | TextStringBuilderTest.java:17:72:17:76 | cons1 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:17:57:17:63 | taint(...) : String | TextStringBuilderTest.java:17:35:17:64 | new TextStringBuilder(...) : TextStringBuilder | provenance | MaD:561 | -| TextStringBuilderTest.java:17:72:17:76 | cons1 : TextStringBuilder | TextStringBuilderTest.java:17:72:17:87 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:17:72:17:76 | cons1 : TextStringBuilder | TextStringBuilderTest.java:17:72:17:87 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:17:72:17:76 | cons1 : TextStringBuilder | TextStringBuilderTest.java:17:72:17:87 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:18:35:18:78 | new TextStringBuilder(...) : TextStringBuilder | TextStringBuilderTest.java:18:86:18:90 | cons2 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:18:57:18:77 | (...)... : String | TextStringBuilderTest.java:18:35:18:78 | new TextStringBuilder(...) : TextStringBuilder | provenance | MaD:560 | | TextStringBuilderTest.java:18:71:18:77 | taint(...) : String | TextStringBuilderTest.java:18:57:18:77 | (...)... : String | provenance | | -| TextStringBuilderTest.java:18:86:18:90 | cons2 : TextStringBuilder | TextStringBuilderTest.java:18:86:18:101 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:18:86:18:90 | cons2 : TextStringBuilder | TextStringBuilderTest.java:18:86:18:101 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:18:86:18:90 | cons2 : TextStringBuilder | TextStringBuilderTest.java:18:86:18:101 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:20:58:20:60 | sb1 [post update] : TextStringBuilder | TextStringBuilderTest.java:20:98:20:100 | sb1 : TextStringBuilder | provenance | | -| TextStringBuilderTest.java:20:69:20:75 | taint(...) : String | TextStringBuilderTest.java:20:69:20:89 | toCharArray(...) : char[] | provenance | MaD:8 | +| TextStringBuilderTest.java:20:69:20:75 | taint(...) : String | TextStringBuilderTest.java:20:69:20:89 | toCharArray(...) : char[] | provenance | MaD:7 | | TextStringBuilderTest.java:20:69:20:89 | toCharArray(...) : char[] | TextStringBuilderTest.java:20:58:20:60 | sb1 [post update] : TextStringBuilder | provenance | MaD:563 | -| TextStringBuilderTest.java:20:98:20:100 | sb1 : TextStringBuilder | TextStringBuilderTest.java:20:98:20:111 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:20:98:20:100 | sb1 : TextStringBuilder | TextStringBuilderTest.java:20:98:20:111 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:20:98:20:100 | sb1 : TextStringBuilder | TextStringBuilderTest.java:20:98:20:111 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:21:58:21:60 | sb2 [post update] : TextStringBuilder | TextStringBuilderTest.java:21:104:21:106 | sb2 : TextStringBuilder | provenance | | -| TextStringBuilderTest.java:21:69:21:75 | taint(...) : String | TextStringBuilderTest.java:21:69:21:89 | toCharArray(...) : char[] | provenance | MaD:8 | +| TextStringBuilderTest.java:21:69:21:75 | taint(...) : String | TextStringBuilderTest.java:21:69:21:89 | toCharArray(...) : char[] | provenance | MaD:7 | | TextStringBuilderTest.java:21:69:21:89 | toCharArray(...) : char[] | TextStringBuilderTest.java:21:58:21:60 | sb2 [post update] : TextStringBuilder | provenance | MaD:564 | -| TextStringBuilderTest.java:21:104:21:106 | sb2 : TextStringBuilder | TextStringBuilderTest.java:21:104:21:117 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:21:104:21:106 | sb2 : TextStringBuilder | TextStringBuilderTest.java:21:104:21:117 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:21:104:21:106 | sb2 : TextStringBuilder | TextStringBuilderTest.java:21:104:21:117 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:22:58:22:60 | sb3 [post update] : TextStringBuilder | TextStringBuilderTest.java:22:115:22:117 | sb3 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:22:69:22:106 | wrap(...) : CharBuffer | TextStringBuilderTest.java:22:58:22:60 | sb3 [post update] : TextStringBuilder | provenance | MaD:576 | -| TextStringBuilderTest.java:22:85:22:91 | taint(...) : String | TextStringBuilderTest.java:22:85:22:105 | toCharArray(...) : char[] | provenance | MaD:8 | -| TextStringBuilderTest.java:22:85:22:105 | toCharArray(...) : char[] | TextStringBuilderTest.java:22:69:22:106 | wrap(...) : CharBuffer | provenance | MaD:1 | -| TextStringBuilderTest.java:22:115:22:117 | sb3 : TextStringBuilder | TextStringBuilderTest.java:22:115:22:128 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:22:85:22:91 | taint(...) : String | TextStringBuilderTest.java:22:85:22:105 | toCharArray(...) : char[] | provenance | MaD:7 | +| TextStringBuilderTest.java:22:85:22:105 | toCharArray(...) : char[] | TextStringBuilderTest.java:22:69:22:106 | wrap(...) : CharBuffer | provenance | MaD:10 | +| TextStringBuilderTest.java:22:115:22:117 | sb3 : TextStringBuilder | TextStringBuilderTest.java:22:115:22:128 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:22:115:22:117 | sb3 : TextStringBuilder | TextStringBuilderTest.java:22:115:22:128 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:23:58:23:60 | sb4 [post update] : TextStringBuilder | TextStringBuilderTest.java:23:121:23:123 | sb4 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:23:69:23:106 | wrap(...) : CharBuffer | TextStringBuilderTest.java:23:58:23:60 | sb4 [post update] : TextStringBuilder | provenance | MaD:577 | -| TextStringBuilderTest.java:23:85:23:91 | taint(...) : String | TextStringBuilderTest.java:23:85:23:105 | toCharArray(...) : char[] | provenance | MaD:8 | -| TextStringBuilderTest.java:23:85:23:105 | toCharArray(...) : char[] | TextStringBuilderTest.java:23:69:23:106 | wrap(...) : CharBuffer | provenance | MaD:1 | -| TextStringBuilderTest.java:23:121:23:123 | sb4 : TextStringBuilder | TextStringBuilderTest.java:23:121:23:134 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:23:85:23:91 | taint(...) : String | TextStringBuilderTest.java:23:85:23:105 | toCharArray(...) : char[] | provenance | MaD:7 | +| TextStringBuilderTest.java:23:85:23:105 | toCharArray(...) : char[] | TextStringBuilderTest.java:23:69:23:106 | wrap(...) : CharBuffer | provenance | MaD:10 | +| TextStringBuilderTest.java:23:121:23:123 | sb4 : TextStringBuilder | TextStringBuilderTest.java:23:121:23:134 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:23:121:23:123 | sb4 : TextStringBuilder | TextStringBuilderTest.java:23:121:23:134 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:24:58:24:60 | sb5 [post update] : TextStringBuilder | TextStringBuilderTest.java:24:98:24:100 | sb5 : TextStringBuilder | provenance | | -| TextStringBuilderTest.java:24:69:24:89 | (...)... : String | TextStringBuilderTest.java:24:58:24:60 | sb5 [post update] : TextStringBuilder | provenance | MaD:4 | +| TextStringBuilderTest.java:24:69:24:89 | (...)... : String | TextStringBuilderTest.java:24:58:24:60 | sb5 [post update] : TextStringBuilder | provenance | MaD:3 | | TextStringBuilderTest.java:24:69:24:89 | (...)... : String | TextStringBuilderTest.java:24:58:24:60 | sb5 [post update] : TextStringBuilder | provenance | MaD:565 | | TextStringBuilderTest.java:24:83:24:89 | taint(...) : String | TextStringBuilderTest.java:24:69:24:89 | (...)... : String | provenance | | -| TextStringBuilderTest.java:24:98:24:100 | sb5 : TextStringBuilder | TextStringBuilderTest.java:24:98:24:111 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:24:98:24:100 | sb5 : TextStringBuilder | TextStringBuilderTest.java:24:98:24:111 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:24:98:24:100 | sb5 : TextStringBuilder | TextStringBuilderTest.java:24:98:24:111 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:25:58:25:60 | sb6 [post update] : TextStringBuilder | TextStringBuilderTest.java:25:104:25:106 | sb6 : TextStringBuilder | provenance | | -| TextStringBuilderTest.java:25:69:25:89 | (...)... : String | TextStringBuilderTest.java:25:58:25:60 | sb6 [post update] : TextStringBuilder | provenance | MaD:4 | +| TextStringBuilderTest.java:25:69:25:89 | (...)... : String | TextStringBuilderTest.java:25:58:25:60 | sb6 [post update] : TextStringBuilder | provenance | MaD:3 | | TextStringBuilderTest.java:25:69:25:89 | (...)... : String | TextStringBuilderTest.java:25:58:25:60 | sb6 [post update] : TextStringBuilder | provenance | MaD:566 | | TextStringBuilderTest.java:25:83:25:89 | taint(...) : String | TextStringBuilderTest.java:25:69:25:89 | (...)... : String | provenance | | -| TextStringBuilderTest.java:25:104:25:106 | sb6 : TextStringBuilder | TextStringBuilderTest.java:25:104:25:117 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:25:104:25:106 | sb6 : TextStringBuilder | TextStringBuilderTest.java:25:104:25:117 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:25:104:25:106 | sb6 : TextStringBuilder | TextStringBuilderTest.java:25:104:25:117 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:26:58:26:60 | sb7 [post update] : TextStringBuilder | TextStringBuilderTest.java:26:92:26:94 | sb7 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:26:69:26:83 | (...)... : String | TextStringBuilderTest.java:26:58:26:60 | sb7 [post update] : TextStringBuilder | provenance | MaD:567 | | TextStringBuilderTest.java:26:77:26:83 | taint(...) : String | TextStringBuilderTest.java:26:69:26:83 | (...)... : String | provenance | | -| TextStringBuilderTest.java:26:92:26:94 | sb7 : TextStringBuilder | TextStringBuilderTest.java:26:92:26:105 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:26:92:26:94 | sb7 : TextStringBuilder | TextStringBuilderTest.java:26:92:26:105 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:26:92:26:94 | sb7 : TextStringBuilder | TextStringBuilderTest.java:26:92:26:105 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:28:64:28:68 | auxsb [post update] : TextStringBuilder | TextStringBuilderTest.java:29:73:29:77 | auxsb : TextStringBuilder | provenance | | | TextStringBuilderTest.java:28:77:28:83 | taint(...) : String | TextStringBuilderTest.java:28:64:28:68 | auxsb [post update] : TextStringBuilder | provenance | MaD:568 | | TextStringBuilderTest.java:29:62:29:64 | sb8 [post update] : TextStringBuilder | TextStringBuilderTest.java:29:86:29:88 | sb8 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:29:73:29:77 | auxsb : TextStringBuilder | TextStringBuilderTest.java:29:62:29:64 | sb8 [post update] : TextStringBuilder | provenance | MaD:578 | -| TextStringBuilderTest.java:29:86:29:88 | sb8 : TextStringBuilder | TextStringBuilderTest.java:29:86:29:99 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:29:86:29:88 | sb8 : TextStringBuilder | TextStringBuilderTest.java:29:86:29:99 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:29:86:29:88 | sb8 : TextStringBuilder | TextStringBuilderTest.java:29:86:29:99 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:31:58:31:60 | sb9 [post update] : TextStringBuilder | TextStringBuilderTest.java:31:102:31:104 | sb9 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:31:69:31:93 | new StringBuffer(...) : StringBuffer | TextStringBuilderTest.java:31:58:31:60 | sb9 [post update] : TextStringBuilder | provenance | MaD:572 | -| TextStringBuilderTest.java:31:86:31:92 | taint(...) : String | TextStringBuilderTest.java:31:69:31:93 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | -| TextStringBuilderTest.java:31:102:31:104 | sb9 : TextStringBuilder | TextStringBuilderTest.java:31:102:31:115 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:31:86:31:92 | taint(...) : String | TextStringBuilderTest.java:31:69:31:93 | new StringBuffer(...) : StringBuffer | provenance | MaD:8 | +| TextStringBuilderTest.java:31:102:31:104 | sb9 : TextStringBuilder | TextStringBuilderTest.java:31:102:31:115 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:31:102:31:104 | sb9 : TextStringBuilder | TextStringBuilderTest.java:31:102:31:115 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:32:59:32:62 | sb10 [post update] : TextStringBuilder | TextStringBuilderTest.java:32:110:32:113 | sb10 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:32:71:32:95 | new StringBuffer(...) : StringBuffer | TextStringBuilderTest.java:32:59:32:62 | sb10 [post update] : TextStringBuilder | provenance | MaD:573 | -| TextStringBuilderTest.java:32:88:32:94 | taint(...) : String | TextStringBuilderTest.java:32:71:32:95 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | -| TextStringBuilderTest.java:32:110:32:113 | sb10 : TextStringBuilder | TextStringBuilderTest.java:32:110:32:124 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:32:88:32:94 | taint(...) : String | TextStringBuilderTest.java:32:71:32:95 | new StringBuffer(...) : StringBuffer | provenance | MaD:8 | +| TextStringBuilderTest.java:32:110:32:113 | sb10 : TextStringBuilder | TextStringBuilderTest.java:32:110:32:124 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:32:110:32:113 | sb10 : TextStringBuilder | TextStringBuilderTest.java:32:110:32:124 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:33:59:33:62 | sb11 [post update] : TextStringBuilder | TextStringBuilderTest.java:33:105:33:108 | sb11 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:33:71:33:96 | new StringBuilder(...) : StringBuilder | TextStringBuilderTest.java:33:59:33:62 | sb11 [post update] : TextStringBuilder | provenance | MaD:574 | -| TextStringBuilderTest.java:33:89:33:95 | taint(...) : String | TextStringBuilderTest.java:33:71:33:96 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | -| TextStringBuilderTest.java:33:105:33:108 | sb11 : TextStringBuilder | TextStringBuilderTest.java:33:105:33:119 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:33:89:33:95 | taint(...) : String | TextStringBuilderTest.java:33:71:33:96 | new StringBuilder(...) : StringBuilder | provenance | MaD:9 | +| TextStringBuilderTest.java:33:105:33:108 | sb11 : TextStringBuilder | TextStringBuilderTest.java:33:105:33:119 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:33:105:33:108 | sb11 : TextStringBuilder | TextStringBuilderTest.java:33:105:33:119 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:34:59:34:62 | sb12 [post update] : TextStringBuilder | TextStringBuilderTest.java:34:111:34:114 | sb12 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:34:71:34:96 | new StringBuilder(...) : StringBuilder | TextStringBuilderTest.java:34:59:34:62 | sb12 [post update] : TextStringBuilder | provenance | MaD:575 | -| TextStringBuilderTest.java:34:89:34:95 | taint(...) : String | TextStringBuilderTest.java:34:71:34:96 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | -| TextStringBuilderTest.java:34:111:34:114 | sb12 : TextStringBuilder | TextStringBuilderTest.java:34:111:34:125 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:34:89:34:95 | taint(...) : String | TextStringBuilderTest.java:34:71:34:96 | new StringBuilder(...) : StringBuilder | provenance | MaD:9 | +| TextStringBuilderTest.java:34:111:34:114 | sb12 : TextStringBuilder | TextStringBuilderTest.java:34:111:34:125 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:34:111:34:114 | sb12 : TextStringBuilder | TextStringBuilderTest.java:34:111:34:125 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:35:59:35:62 | sb13 [post update] : TextStringBuilder | TextStringBuilderTest.java:35:86:35:89 | sb13 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:35:71:35:77 | taint(...) : String | TextStringBuilderTest.java:35:59:35:62 | sb13 [post update] : TextStringBuilder | provenance | MaD:568 | -| TextStringBuilderTest.java:35:86:35:89 | sb13 : TextStringBuilder | TextStringBuilderTest.java:35:86:35:100 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:35:86:35:89 | sb13 : TextStringBuilder | TextStringBuilderTest.java:35:86:35:100 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:35:86:35:89 | sb13 : TextStringBuilder | TextStringBuilderTest.java:35:86:35:100 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:36:59:36:62 | sb14 [post update] : TextStringBuilder | TextStringBuilderTest.java:36:92:36:95 | sb14 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:36:71:36:77 | taint(...) : String | TextStringBuilderTest.java:36:59:36:62 | sb14 [post update] : TextStringBuilder | provenance | MaD:569 | -| TextStringBuilderTest.java:36:92:36:95 | sb14 : TextStringBuilder | TextStringBuilderTest.java:36:92:36:106 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:36:92:36:95 | sb14 : TextStringBuilder | TextStringBuilderTest.java:36:92:36:106 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:36:92:36:95 | sb14 : TextStringBuilder | TextStringBuilderTest.java:36:92:36:106 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:37:59:37:62 | sb15 [post update] : TextStringBuilder | TextStringBuilderTest.java:37:104:37:107 | sb15 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:37:71:37:77 | taint(...) : String | TextStringBuilderTest.java:37:59:37:62 | sb15 [post update] : TextStringBuilder | provenance | MaD:570 | -| TextStringBuilderTest.java:37:104:37:107 | sb15 : TextStringBuilder | TextStringBuilderTest.java:37:104:37:118 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:37:104:37:107 | sb15 : TextStringBuilder | TextStringBuilderTest.java:37:104:37:118 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:37:104:37:107 | sb15 : TextStringBuilder | TextStringBuilderTest.java:37:104:37:118 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:38:59:38:62 | sb16 [post update] : TextStringBuilder | TextStringBuilderTest.java:38:111:38:114 | sb16 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:38:59:38:103 | new ..[] { .. } : Object[] [[]] : String | TextStringBuilderTest.java:38:59:38:62 | sb16 [post update] : TextStringBuilder | provenance | MaD:571 | | TextStringBuilderTest.java:38:88:38:94 | taint(...) : String | TextStringBuilderTest.java:38:59:38:103 | new ..[] { .. } : Object[] [[]] : String | provenance | | -| TextStringBuilderTest.java:38:111:38:114 | sb16 : TextStringBuilder | TextStringBuilderTest.java:38:111:38:125 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:38:111:38:114 | sb16 : TextStringBuilder | TextStringBuilderTest.java:38:111:38:125 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:38:111:38:114 | sb16 : TextStringBuilder | TextStringBuilderTest.java:38:111:38:125 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:41:13:41:23 | taintedList [post update] : ArrayList [] : String | TextStringBuilderTest.java:42:78:42:88 | taintedList : ArrayList [] : String | provenance | | | TextStringBuilderTest.java:41:13:41:23 | taintedList [post update] : ArrayList [] : String | TextStringBuilderTest.java:43:78:43:88 | taintedList : ArrayList [] : String | provenance | | | TextStringBuilderTest.java:41:29:41:35 | taint(...) : String | TextStringBuilderTest.java:41:13:41:23 | taintedList [post update] : ArrayList [] : String | provenance | MaD:11 | | TextStringBuilderTest.java:42:63:42:66 | sb17 [post update] : TextStringBuilder | TextStringBuilderTest.java:42:97:42:100 | sb17 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:42:78:42:88 | taintedList : ArrayList [] : String | TextStringBuilderTest.java:42:63:42:66 | sb17 [post update] : TextStringBuilder | provenance | MaD:580 | -| TextStringBuilderTest.java:42:97:42:100 | sb17 : TextStringBuilder | TextStringBuilderTest.java:42:97:42:111 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:42:97:42:100 | sb17 : TextStringBuilder | TextStringBuilderTest.java:42:97:42:111 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:42:97:42:100 | sb17 : TextStringBuilder | TextStringBuilderTest.java:42:97:42:111 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:43:63:43:66 | sb18 [post update] : TextStringBuilder | TextStringBuilderTest.java:43:108:43:111 | sb18 : TextStringBuilder | provenance | | -| TextStringBuilderTest.java:43:78:43:88 | taintedList : ArrayList [] : String | TextStringBuilderTest.java:43:78:43:99 | iterator(...) : Iterator [] : String | provenance | MaD:7 | +| TextStringBuilderTest.java:43:78:43:88 | taintedList : ArrayList [] : String | TextStringBuilderTest.java:43:78:43:99 | iterator(...) : Iterator [] : String | provenance | MaD:6 | | TextStringBuilderTest.java:43:78:43:99 | iterator(...) : Iterator [] : String | TextStringBuilderTest.java:43:63:43:66 | sb18 [post update] : TextStringBuilder | provenance | MaD:581 | -| TextStringBuilderTest.java:43:108:43:111 | sb18 : TextStringBuilder | TextStringBuilderTest.java:43:108:43:122 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:43:108:43:111 | sb18 : TextStringBuilder | TextStringBuilderTest.java:43:108:43:122 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:43:108:43:111 | sb18 : TextStringBuilder | TextStringBuilderTest.java:43:108:43:122 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:45:59:45:62 | sb19 [post update] : TextStringBuilder | TextStringBuilderTest.java:45:98:45:101 | sb19 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:45:59:45:90 | new ..[] { .. } : Object[] [[]] : String | TextStringBuilderTest.java:45:59:45:62 | sb19 [post update] : TextStringBuilder | provenance | MaD:582 | | TextStringBuilderTest.java:45:83:45:89 | taint(...) : String | TextStringBuilderTest.java:45:59:45:90 | new ..[] { .. } : Object[] [[]] : String | provenance | | -| TextStringBuilderTest.java:45:98:45:101 | sb19 : TextStringBuilder | TextStringBuilderTest.java:45:98:45:112 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:45:98:45:101 | sb19 : TextStringBuilder | TextStringBuilderTest.java:45:98:45:112 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:45:98:45:101 | sb19 : TextStringBuilder | TextStringBuilderTest.java:45:98:45:112 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:46:59:46:62 | sb20 [post update] : TextStringBuilder | TextStringBuilderTest.java:46:98:46:101 | sb20 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:46:59:46:90 | new ..[] { .. } : Object[] [[]] : String | TextStringBuilderTest.java:46:59:46:62 | sb20 [post update] : TextStringBuilder | provenance | MaD:582 | | TextStringBuilderTest.java:46:74:46:80 | taint(...) : String | TextStringBuilderTest.java:46:59:46:90 | new ..[] { .. } : Object[] [[]] : String | provenance | | -| TextStringBuilderTest.java:46:98:46:101 | sb20 : TextStringBuilder | TextStringBuilderTest.java:46:98:46:112 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:46:98:46:101 | sb20 : TextStringBuilder | TextStringBuilderTest.java:46:98:46:112 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:46:98:46:101 | sb20 : TextStringBuilder | TextStringBuilderTest.java:46:98:46:112 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:47:59:47:62 | sb21 [post update] : TextStringBuilder | TextStringBuilderTest.java:47:111:47:114 | sb21 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:47:88:47:94 | taint(...) : String | TextStringBuilderTest.java:47:59:47:62 | sb21 [post update] : TextStringBuilder | provenance | MaD:584 | -| TextStringBuilderTest.java:47:111:47:114 | sb21 : TextStringBuilder | TextStringBuilderTest.java:47:111:47:125 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:47:111:47:114 | sb21 : TextStringBuilder | TextStringBuilderTest.java:47:111:47:125 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:47:111:47:114 | sb21 : TextStringBuilder | TextStringBuilderTest.java:47:111:47:125 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:48:59:48:62 | sb22 [post update] : TextStringBuilder | TextStringBuilderTest.java:48:112:48:115 | sb22 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:48:89:48:95 | taint(...) : String | TextStringBuilderTest.java:48:59:48:62 | sb22 [post update] : TextStringBuilder | provenance | MaD:586 | -| TextStringBuilderTest.java:48:112:48:115 | sb22 : TextStringBuilder | TextStringBuilderTest.java:48:112:48:126 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:48:112:48:115 | sb22 : TextStringBuilder | TextStringBuilderTest.java:48:112:48:126 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:48:112:48:115 | sb22 : TextStringBuilder | TextStringBuilderTest.java:48:112:48:126 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:49:59:49:62 | sb23 [post update] : TextStringBuilder | TextStringBuilderTest.java:49:102:49:105 | sb23 : TextStringBuilder | provenance | | -| TextStringBuilderTest.java:49:73:49:79 | taint(...) : String | TextStringBuilderTest.java:49:73:49:93 | toCharArray(...) : char[] | provenance | MaD:8 | +| TextStringBuilderTest.java:49:73:49:79 | taint(...) : String | TextStringBuilderTest.java:49:73:49:93 | toCharArray(...) : char[] | provenance | MaD:7 | | TextStringBuilderTest.java:49:73:49:93 | toCharArray(...) : char[] | TextStringBuilderTest.java:49:59:49:62 | sb23 [post update] : TextStringBuilder | provenance | MaD:601 | -| TextStringBuilderTest.java:49:102:49:105 | sb23 : TextStringBuilder | TextStringBuilderTest.java:49:102:49:116 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:49:102:49:105 | sb23 : TextStringBuilder | TextStringBuilderTest.java:49:102:49:116 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:49:102:49:105 | sb23 : TextStringBuilder | TextStringBuilderTest.java:49:102:49:116 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:50:59:50:62 | sb24 [post update] : TextStringBuilder | TextStringBuilderTest.java:50:108:50:111 | sb24 : TextStringBuilder | provenance | | -| TextStringBuilderTest.java:50:73:50:79 | taint(...) : String | TextStringBuilderTest.java:50:73:50:93 | toCharArray(...) : char[] | provenance | MaD:8 | +| TextStringBuilderTest.java:50:73:50:79 | taint(...) : String | TextStringBuilderTest.java:50:73:50:93 | toCharArray(...) : char[] | provenance | MaD:7 | | TextStringBuilderTest.java:50:73:50:93 | toCharArray(...) : char[] | TextStringBuilderTest.java:50:59:50:62 | sb24 [post update] : TextStringBuilder | provenance | MaD:602 | -| TextStringBuilderTest.java:50:108:50:111 | sb24 : TextStringBuilder | TextStringBuilderTest.java:50:108:50:122 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:50:108:50:111 | sb24 : TextStringBuilder | TextStringBuilderTest.java:50:108:50:122 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:50:108:50:111 | sb24 : TextStringBuilder | TextStringBuilderTest.java:50:108:50:122 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:51:59:51:62 | sb25 [post update] : TextStringBuilder | TextStringBuilderTest.java:51:96:51:99 | sb25 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:51:73:51:87 | (...)... : String | TextStringBuilderTest.java:51:59:51:62 | sb25 [post update] : TextStringBuilder | provenance | MaD:603 | | TextStringBuilderTest.java:51:81:51:87 | taint(...) : String | TextStringBuilderTest.java:51:73:51:87 | (...)... : String | provenance | | -| TextStringBuilderTest.java:51:96:51:99 | sb25 : TextStringBuilder | TextStringBuilderTest.java:51:96:51:110 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:51:96:51:99 | sb25 : TextStringBuilder | TextStringBuilderTest.java:51:96:51:110 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:51:96:51:99 | sb25 : TextStringBuilder | TextStringBuilderTest.java:51:96:51:110 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:53:64:53:68 | auxsb [post update] : TextStringBuilder | TextStringBuilderTest.java:54:77:54:81 | auxsb : TextStringBuilder | provenance | | | TextStringBuilderTest.java:53:79:53:85 | taint(...) : String | TextStringBuilderTest.java:53:64:53:68 | auxsb [post update] : TextStringBuilder | provenance | MaD:604 | | TextStringBuilderTest.java:54:63:54:66 | sb26 [post update] : TextStringBuilder | TextStringBuilderTest.java:54:90:54:93 | sb26 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:54:77:54:81 | auxsb : TextStringBuilder | TextStringBuilderTest.java:54:63:54:66 | sb26 [post update] : TextStringBuilder | provenance | MaD:612 | -| TextStringBuilderTest.java:54:90:54:93 | sb26 : TextStringBuilder | TextStringBuilderTest.java:54:90:54:104 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:54:90:54:93 | sb26 : TextStringBuilder | TextStringBuilderTest.java:54:90:54:104 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:54:90:54:93 | sb26 : TextStringBuilder | TextStringBuilderTest.java:54:90:54:104 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:56:59:56:62 | sb27 [post update] : TextStringBuilder | TextStringBuilderTest.java:56:106:56:109 | sb27 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:56:73:56:97 | new StringBuffer(...) : StringBuffer | TextStringBuilderTest.java:56:59:56:62 | sb27 [post update] : TextStringBuilder | provenance | MaD:608 | -| TextStringBuilderTest.java:56:90:56:96 | taint(...) : String | TextStringBuilderTest.java:56:73:56:97 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | -| TextStringBuilderTest.java:56:106:56:109 | sb27 : TextStringBuilder | TextStringBuilderTest.java:56:106:56:120 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:56:90:56:96 | taint(...) : String | TextStringBuilderTest.java:56:73:56:97 | new StringBuffer(...) : StringBuffer | provenance | MaD:8 | +| TextStringBuilderTest.java:56:106:56:109 | sb27 : TextStringBuilder | TextStringBuilderTest.java:56:106:56:120 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:56:106:56:109 | sb27 : TextStringBuilder | TextStringBuilderTest.java:56:106:56:120 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:57:59:57:62 | sb28 [post update] : TextStringBuilder | TextStringBuilderTest.java:57:112:57:115 | sb28 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:57:73:57:97 | new StringBuffer(...) : StringBuffer | TextStringBuilderTest.java:57:59:57:62 | sb28 [post update] : TextStringBuilder | provenance | MaD:609 | -| TextStringBuilderTest.java:57:90:57:96 | taint(...) : String | TextStringBuilderTest.java:57:73:57:97 | new StringBuffer(...) : StringBuffer | provenance | MaD:9 | -| TextStringBuilderTest.java:57:112:57:115 | sb28 : TextStringBuilder | TextStringBuilderTest.java:57:112:57:126 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:57:90:57:96 | taint(...) : String | TextStringBuilderTest.java:57:73:57:97 | new StringBuffer(...) : StringBuffer | provenance | MaD:8 | +| TextStringBuilderTest.java:57:112:57:115 | sb28 : TextStringBuilder | TextStringBuilderTest.java:57:112:57:126 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:57:112:57:115 | sb28 : TextStringBuilder | TextStringBuilderTest.java:57:112:57:126 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:58:59:58:62 | sb29 [post update] : TextStringBuilder | TextStringBuilderTest.java:58:107:58:110 | sb29 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:58:73:58:98 | new StringBuilder(...) : StringBuilder | TextStringBuilderTest.java:58:59:58:62 | sb29 [post update] : TextStringBuilder | provenance | MaD:610 | -| TextStringBuilderTest.java:58:91:58:97 | taint(...) : String | TextStringBuilderTest.java:58:73:58:98 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | -| TextStringBuilderTest.java:58:107:58:110 | sb29 : TextStringBuilder | TextStringBuilderTest.java:58:107:58:121 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:58:91:58:97 | taint(...) : String | TextStringBuilderTest.java:58:73:58:98 | new StringBuilder(...) : StringBuilder | provenance | MaD:9 | +| TextStringBuilderTest.java:58:107:58:110 | sb29 : TextStringBuilder | TextStringBuilderTest.java:58:107:58:121 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:58:107:58:110 | sb29 : TextStringBuilder | TextStringBuilderTest.java:58:107:58:121 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:59:59:59:62 | sb30 [post update] : TextStringBuilder | TextStringBuilderTest.java:59:113:59:116 | sb30 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:59:73:59:98 | new StringBuilder(...) : StringBuilder | TextStringBuilderTest.java:59:59:59:62 | sb30 [post update] : TextStringBuilder | provenance | MaD:611 | -| TextStringBuilderTest.java:59:91:59:97 | taint(...) : String | TextStringBuilderTest.java:59:73:59:98 | new StringBuilder(...) : StringBuilder | provenance | MaD:10 | -| TextStringBuilderTest.java:59:113:59:116 | sb30 : TextStringBuilder | TextStringBuilderTest.java:59:113:59:127 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:59:91:59:97 | taint(...) : String | TextStringBuilderTest.java:59:73:59:98 | new StringBuilder(...) : StringBuilder | provenance | MaD:9 | +| TextStringBuilderTest.java:59:113:59:116 | sb30 : TextStringBuilder | TextStringBuilderTest.java:59:113:59:127 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:59:113:59:116 | sb30 : TextStringBuilder | TextStringBuilderTest.java:59:113:59:127 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:60:59:60:62 | sb31 [post update] : TextStringBuilder | TextStringBuilderTest.java:60:88:60:91 | sb31 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:60:73:60:79 | taint(...) : String | TextStringBuilderTest.java:60:59:60:62 | sb31 [post update] : TextStringBuilder | provenance | MaD:604 | -| TextStringBuilderTest.java:60:88:60:91 | sb31 : TextStringBuilder | TextStringBuilderTest.java:60:88:60:102 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:60:88:60:91 | sb31 : TextStringBuilder | TextStringBuilderTest.java:60:88:60:102 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:60:88:60:91 | sb31 : TextStringBuilder | TextStringBuilderTest.java:60:88:60:102 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:61:59:61:62 | sb32 [post update] : TextStringBuilder | TextStringBuilderTest.java:61:94:61:97 | sb32 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:61:73:61:79 | taint(...) : String | TextStringBuilderTest.java:61:59:61:62 | sb32 [post update] : TextStringBuilder | provenance | MaD:605 | -| TextStringBuilderTest.java:61:94:61:97 | sb32 : TextStringBuilder | TextStringBuilderTest.java:61:94:61:108 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:61:94:61:97 | sb32 : TextStringBuilder | TextStringBuilderTest.java:61:94:61:108 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:61:94:61:97 | sb32 : TextStringBuilder | TextStringBuilderTest.java:61:94:61:108 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:62:59:62:62 | sb33 [post update] : TextStringBuilder | TextStringBuilderTest.java:62:106:62:109 | sb33 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:62:73:62:79 | taint(...) : String | TextStringBuilderTest.java:62:59:62:62 | sb33 [post update] : TextStringBuilder | provenance | MaD:606 | -| TextStringBuilderTest.java:62:106:62:109 | sb33 : TextStringBuilder | TextStringBuilderTest.java:62:106:62:120 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:62:106:62:109 | sb33 : TextStringBuilder | TextStringBuilderTest.java:62:106:62:120 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:62:106:62:109 | sb33 : TextStringBuilder | TextStringBuilderTest.java:62:106:62:120 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:63:59:63:62 | sb34 [post update] : TextStringBuilder | TextStringBuilderTest.java:63:113:63:116 | sb34 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:63:59:63:105 | new ..[] { .. } : Object[] [[]] : String | TextStringBuilderTest.java:63:59:63:62 | sb34 [post update] : TextStringBuilder | provenance | MaD:607 | | TextStringBuilderTest.java:63:90:63:96 | taint(...) : String | TextStringBuilderTest.java:63:59:63:105 | new ..[] { .. } : Object[] [[]] : String | provenance | | -| TextStringBuilderTest.java:63:113:63:116 | sb34 : TextStringBuilder | TextStringBuilderTest.java:63:113:63:127 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:63:113:63:116 | sb34 : TextStringBuilder | TextStringBuilderTest.java:63:113:63:127 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:63:113:63:116 | sb34 : TextStringBuilder | TextStringBuilderTest.java:63:113:63:127 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:64:59:64:62 | sb35 [post update] : TextStringBuilder | TextStringBuilderTest.java:64:95:64:98 | sb35 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:64:80:64:86 | taint(...) : String | TextStringBuilderTest.java:64:59:64:62 | sb35 [post update] : TextStringBuilder | provenance | MaD:591 | -| TextStringBuilderTest.java:64:95:64:98 | sb35 : TextStringBuilder | TextStringBuilderTest.java:64:95:64:109 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:64:95:64:98 | sb35 : TextStringBuilder | TextStringBuilderTest.java:64:95:64:109 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:64:95:64:98 | sb35 : TextStringBuilder | TextStringBuilderTest.java:64:95:64:109 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:65:59:65:62 | sb36 [post update] : TextStringBuilder | TextStringBuilderTest.java:65:98:65:101 | sb36 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:65:80:65:86 | taint(...) : String | TextStringBuilderTest.java:65:59:65:62 | sb36 [post update] : TextStringBuilder | provenance | MaD:592 | -| TextStringBuilderTest.java:65:98:65:101 | sb36 : TextStringBuilder | TextStringBuilderTest.java:65:98:65:112 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:65:98:65:101 | sb36 : TextStringBuilder | TextStringBuilderTest.java:65:98:65:112 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:65:98:65:101 | sb36 : TextStringBuilder | TextStringBuilderTest.java:65:98:65:112 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:66:59:66:62 | sb37 [post update] : TextStringBuilder | TextStringBuilderTest.java:66:106:66:109 | sb37 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:66:80:66:86 | taint(...) : String | TextStringBuilderTest.java:66:59:66:62 | sb37 [post update] : TextStringBuilder | provenance | MaD:593 | -| TextStringBuilderTest.java:66:106:66:109 | sb37 : TextStringBuilder | TextStringBuilderTest.java:66:106:66:120 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:66:106:66:109 | sb37 : TextStringBuilder | TextStringBuilderTest.java:66:106:66:120 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:66:106:66:109 | sb37 : TextStringBuilder | TextStringBuilderTest.java:66:106:66:120 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:67:59:67:62 | sb38 [post update] : TextStringBuilder | TextStringBuilderTest.java:67:99:67:102 | sb38 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:67:84:67:90 | taint(...) : String | TextStringBuilderTest.java:67:59:67:62 | sb38 [post update] : TextStringBuilder | provenance | MaD:593 | -| TextStringBuilderTest.java:67:99:67:102 | sb38 : TextStringBuilder | TextStringBuilderTest.java:67:99:67:113 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:67:99:67:102 | sb38 : TextStringBuilder | TextStringBuilderTest.java:67:99:67:113 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:67:99:67:102 | sb38 : TextStringBuilder | TextStringBuilderTest.java:67:99:67:113 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:69:64:69:68 | auxsb [post update] : TextStringBuilder | TextStringBuilderTest.java:70:63:70:67 | auxsb : TextStringBuilder | provenance | | | TextStringBuilderTest.java:69:79:69:85 | taint(...) : String | TextStringBuilderTest.java:69:64:69:68 | auxsb [post update] : TextStringBuilder | provenance | MaD:604 | | TextStringBuilderTest.java:70:63:70:67 | auxsb : TextStringBuilder | TextStringBuilderTest.java:70:78:70:81 | sb39 [post update] : TextStringBuilder | provenance | MaD:594 | | TextStringBuilderTest.java:70:78:70:81 | sb39 [post update] : TextStringBuilder | TextStringBuilderTest.java:70:90:70:93 | sb39 : TextStringBuilder | provenance | | -| TextStringBuilderTest.java:70:90:70:93 | sb39 : TextStringBuilder | TextStringBuilderTest.java:70:90:70:104 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:70:90:70:93 | sb39 : TextStringBuilder | TextStringBuilderTest.java:70:90:70:104 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:70:90:70:93 | sb39 : TextStringBuilder | TextStringBuilderTest.java:70:90:70:104 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:74:13:74:23 | taintedList [post update] : ArrayList [] : String | TextStringBuilderTest.java:75:89:75:99 | taintedList : ArrayList [] : String | provenance | | | TextStringBuilderTest.java:74:13:74:23 | taintedList [post update] : ArrayList [] : String | TextStringBuilderTest.java:76:89:76:99 | taintedList : ArrayList [] : String | provenance | | | TextStringBuilderTest.java:74:29:74:35 | taint(...) : String | TextStringBuilderTest.java:74:13:74:23 | taintedList [post update] : ArrayList [] : String | provenance | MaD:11 | | TextStringBuilderTest.java:75:63:75:66 | sb40 [post update] : TextStringBuilder | TextStringBuilderTest.java:75:114:75:117 | sb40 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:75:89:75:99 | taintedList : ArrayList [] : String | TextStringBuilderTest.java:75:63:75:66 | sb40 [post update] : TextStringBuilder | provenance | MaD:597 | -| TextStringBuilderTest.java:75:114:75:117 | sb40 : TextStringBuilder | TextStringBuilderTest.java:75:114:75:128 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:75:114:75:117 | sb40 : TextStringBuilder | TextStringBuilderTest.java:75:114:75:128 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:75:114:75:117 | sb40 : TextStringBuilder | TextStringBuilderTest.java:75:114:75:128 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:76:63:76:66 | sb41 [post update] : TextStringBuilder | TextStringBuilderTest.java:76:125:76:128 | sb41 : TextStringBuilder | provenance | | -| TextStringBuilderTest.java:76:89:76:99 | taintedList : ArrayList [] : String | TextStringBuilderTest.java:76:89:76:110 | iterator(...) : Iterator [] : String | provenance | MaD:7 | +| TextStringBuilderTest.java:76:89:76:99 | taintedList : ArrayList [] : String | TextStringBuilderTest.java:76:89:76:110 | iterator(...) : Iterator [] : String | provenance | MaD:6 | | TextStringBuilderTest.java:76:89:76:110 | iterator(...) : Iterator [] : String | TextStringBuilderTest.java:76:63:76:66 | sb41 [post update] : TextStringBuilder | provenance | MaD:598 | -| TextStringBuilderTest.java:76:125:76:128 | sb41 : TextStringBuilder | TextStringBuilderTest.java:76:125:76:139 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:76:125:76:128 | sb41 : TextStringBuilder | TextStringBuilderTest.java:76:125:76:139 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:76:125:76:128 | sb41 : TextStringBuilder | TextStringBuilderTest.java:76:125:76:139 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:78:63:78:66 | sb42 [post update] : TextStringBuilder | TextStringBuilderTest.java:78:119:78:122 | sb42 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:78:104:78:110 | taint(...) : String | TextStringBuilderTest.java:78:63:78:66 | sb42 [post update] : TextStringBuilder | provenance | MaD:596 | -| TextStringBuilderTest.java:78:119:78:122 | sb42 : TextStringBuilder | TextStringBuilderTest.java:78:119:78:133 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:78:119:78:122 | sb42 : TextStringBuilder | TextStringBuilderTest.java:78:119:78:133 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:78:119:78:122 | sb42 : TextStringBuilder | TextStringBuilderTest.java:78:119:78:133 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:79:63:79:66 | sb43 [post update] : TextStringBuilder | TextStringBuilderTest.java:79:130:79:133 | sb43 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:79:115:79:121 | taint(...) : String | TextStringBuilderTest.java:79:63:79:66 | sb43 [post update] : TextStringBuilder | provenance | MaD:596 | -| TextStringBuilderTest.java:79:130:79:133 | sb43 : TextStringBuilder | TextStringBuilderTest.java:79:130:79:144 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:79:130:79:133 | sb43 : TextStringBuilder | TextStringBuilderTest.java:79:130:79:144 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:79:130:79:133 | sb43 : TextStringBuilder | TextStringBuilderTest.java:79:130:79:144 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:80:37:80:60 | {...} : String[] [[]] : String | TextStringBuilderTest.java:82:89:82:100 | taintedArray : String[] [[]] : String | provenance | | | TextStringBuilderTest.java:80:52:80:58 | taint(...) : String | TextStringBuilderTest.java:80:37:80:60 | {...} : String[] [[]] : String | provenance | | | TextStringBuilderTest.java:82:63:82:66 | sb44 [post update] : TextStringBuilder | TextStringBuilderTest.java:82:115:82:118 | sb44 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:82:89:82:100 | taintedArray : String[] [[]] : String | TextStringBuilderTest.java:82:63:82:66 | sb44 [post update] : TextStringBuilder | provenance | MaD:599 | -| TextStringBuilderTest.java:82:115:82:118 | sb44 : TextStringBuilder | TextStringBuilderTest.java:82:115:82:129 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:82:115:82:118 | sb44 : TextStringBuilder | TextStringBuilderTest.java:82:115:82:129 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:82:115:82:118 | sb44 : TextStringBuilder | TextStringBuilderTest.java:82:115:82:129 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:83:63:83:66 | sb45 [post update] : TextStringBuilder | TextStringBuilderTest.java:83:120:83:123 | sb45 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:83:105:83:111 | taint(...) : String | TextStringBuilderTest.java:83:63:83:66 | sb45 [post update] : TextStringBuilder | provenance | MaD:596 | -| TextStringBuilderTest.java:83:120:83:123 | sb45 : TextStringBuilder | TextStringBuilderTest.java:83:120:83:134 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:83:120:83:123 | sb45 : TextStringBuilder | TextStringBuilderTest.java:83:120:83:134 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:83:120:83:123 | sb45 : TextStringBuilder | TextStringBuilderTest.java:83:120:83:134 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:86:63:86:66 | sb46 [post update] : TextStringBuilder | TextStringBuilderTest.java:88:13:88:16 | sb46 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:86:75:86:81 | taint(...) : String | TextStringBuilderTest.java:86:63:86:66 | sb46 [post update] : TextStringBuilder | provenance | MaD:568 | | TextStringBuilderTest.java:88:13:88:16 | sb46 : TextStringBuilder | TextStringBuilderTest.java:88:13:88:27 | asReader(...) : Reader | provenance | MaD:613 | -| TextStringBuilderTest.java:88:13:88:27 | asReader(...) : Reader | TextStringBuilderTest.java:88:34:88:39 | target [post update] : char[] | provenance | MaD:2 | +| TextStringBuilderTest.java:88:13:88:27 | asReader(...) : Reader | TextStringBuilderTest.java:88:34:88:39 | target [post update] : char[] | provenance | MaD:1 | | TextStringBuilderTest.java:88:34:88:39 | target [post update] : char[] | TextStringBuilderTest.java:89:18:89:23 | target | provenance | | | TextStringBuilderTest.java:91:59:91:62 | sb47 [post update] : TextStringBuilder | TextStringBuilderTest.java:91:86:91:89 | sb47 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:91:71:91:77 | taint(...) : String | TextStringBuilderTest.java:91:59:91:62 | sb47 [post update] : TextStringBuilder | provenance | MaD:568 | @@ -3038,23 +3038,23 @@ edges | TextStringBuilderTest.java:103:13:103:16 | sb51 : TextStringBuilder | TextStringBuilderTest.java:103:33:103:38 | target [post update] : char[] | provenance | MaD:623 | | TextStringBuilderTest.java:103:33:103:38 | target [post update] : char[] | TextStringBuilderTest.java:104:18:104:23 | target | provenance | | | TextStringBuilderTest.java:106:59:106:62 | sb52 [post update] : TextStringBuilder | TextStringBuilderTest.java:106:103:106:106 | sb52 : TextStringBuilder | provenance | | -| TextStringBuilderTest.java:106:74:106:80 | taint(...) : String | TextStringBuilderTest.java:106:74:106:94 | toCharArray(...) : char[] | provenance | MaD:8 | +| TextStringBuilderTest.java:106:74:106:80 | taint(...) : String | TextStringBuilderTest.java:106:74:106:94 | toCharArray(...) : char[] | provenance | MaD:7 | | TextStringBuilderTest.java:106:74:106:94 | toCharArray(...) : char[] | TextStringBuilderTest.java:106:59:106:62 | sb52 [post update] : TextStringBuilder | provenance | MaD:625 | -| TextStringBuilderTest.java:106:103:106:106 | sb52 : TextStringBuilder | TextStringBuilderTest.java:106:103:106:117 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:106:103:106:106 | sb52 : TextStringBuilder | TextStringBuilderTest.java:106:103:106:117 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:106:103:106:106 | sb52 : TextStringBuilder | TextStringBuilderTest.java:106:103:106:117 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:107:59:107:62 | sb53 [post update] : TextStringBuilder | TextStringBuilderTest.java:107:109:107:112 | sb53 : TextStringBuilder | provenance | | -| TextStringBuilderTest.java:107:74:107:80 | taint(...) : String | TextStringBuilderTest.java:107:74:107:94 | toCharArray(...) : char[] | provenance | MaD:8 | +| TextStringBuilderTest.java:107:74:107:80 | taint(...) : String | TextStringBuilderTest.java:107:74:107:94 | toCharArray(...) : char[] | provenance | MaD:7 | | TextStringBuilderTest.java:107:74:107:94 | toCharArray(...) : char[] | TextStringBuilderTest.java:107:59:107:62 | sb53 [post update] : TextStringBuilder | provenance | MaD:625 | -| TextStringBuilderTest.java:107:109:107:112 | sb53 : TextStringBuilder | TextStringBuilderTest.java:107:109:107:123 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:107:109:107:112 | sb53 : TextStringBuilder | TextStringBuilderTest.java:107:109:107:123 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:107:109:107:112 | sb53 : TextStringBuilder | TextStringBuilderTest.java:107:109:107:123 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:108:59:108:62 | sb54 [post update] : TextStringBuilder | TextStringBuilderTest.java:108:89:108:92 | sb54 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:108:74:108:80 | taint(...) : String | TextStringBuilderTest.java:108:59:108:62 | sb54 [post update] : TextStringBuilder | provenance | MaD:625 | -| TextStringBuilderTest.java:108:89:108:92 | sb54 : TextStringBuilder | TextStringBuilderTest.java:108:89:108:103 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:108:89:108:92 | sb54 : TextStringBuilder | TextStringBuilderTest.java:108:89:108:103 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:108:89:108:92 | sb54 : TextStringBuilder | TextStringBuilderTest.java:108:89:108:103 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:109:59:109:62 | sb55 [post update] : TextStringBuilder | TextStringBuilderTest.java:109:97:109:100 | sb55 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:109:74:109:88 | (...)... : String | TextStringBuilderTest.java:109:59:109:62 | sb55 [post update] : TextStringBuilder | provenance | MaD:625 | | TextStringBuilderTest.java:109:82:109:88 | taint(...) : String | TextStringBuilderTest.java:109:74:109:88 | (...)... : String | provenance | | -| TextStringBuilderTest.java:109:97:109:100 | sb55 : TextStringBuilder | TextStringBuilderTest.java:109:97:109:111 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:109:97:109:100 | sb55 : TextStringBuilder | TextStringBuilderTest.java:109:97:109:111 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:109:97:109:100 | sb55 : TextStringBuilder | TextStringBuilderTest.java:109:97:109:111 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:110:59:110:62 | sb56 [post update] : TextStringBuilder | TextStringBuilderTest.java:110:86:110:89 | sb56 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:110:71:110:77 | taint(...) : String | TextStringBuilderTest.java:110:59:110:62 | sb56 [post update] : TextStringBuilder | provenance | MaD:568 | @@ -3063,41 +3063,41 @@ edges | TextStringBuilderTest.java:111:71:111:77 | taint(...) : String | TextStringBuilderTest.java:111:59:111:62 | sb57 [post update] : TextStringBuilder | provenance | MaD:568 | | TextStringBuilderTest.java:111:86:111:89 | sb57 : TextStringBuilder | TextStringBuilderTest.java:111:86:111:105 | midString(...) | provenance | MaD:627 | | TextStringBuilderTest.java:113:35:113:59 | new StringReader(...) : StringReader | TextStringBuilderTest.java:114:77:114:82 | reader : StringReader | provenance | | -| TextStringBuilderTest.java:113:52:113:58 | taint(...) : String | TextStringBuilderTest.java:113:35:113:59 | new StringReader(...) : StringReader | provenance | MaD:3 | +| TextStringBuilderTest.java:113:52:113:58 | taint(...) : String | TextStringBuilderTest.java:113:35:113:59 | new StringReader(...) : StringReader | provenance | MaD:2 | | TextStringBuilderTest.java:114:63:114:66 | sb58 [post update] : TextStringBuilder | TextStringBuilderTest.java:114:91:114:94 | sb58 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:114:77:114:82 | reader : StringReader | TextStringBuilderTest.java:114:63:114:66 | sb58 [post update] : TextStringBuilder | provenance | MaD:629 | -| TextStringBuilderTest.java:114:91:114:94 | sb58 : TextStringBuilder | TextStringBuilderTest.java:114:91:114:105 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:114:91:114:94 | sb58 : TextStringBuilder | TextStringBuilderTest.java:114:91:114:105 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:114:91:114:94 | sb58 : TextStringBuilder | TextStringBuilderTest.java:114:91:114:105 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:116:59:116:62 | sb59 [post update] : TextStringBuilder | TextStringBuilderTest.java:116:93:116:96 | sb59 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:116:78:116:84 | taint(...) : String | TextStringBuilderTest.java:116:59:116:62 | sb59 [post update] : TextStringBuilder | provenance | MaD:631 | -| TextStringBuilderTest.java:116:93:116:96 | sb59 : TextStringBuilder | TextStringBuilderTest.java:116:93:116:107 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:116:93:116:96 | sb59 : TextStringBuilder | TextStringBuilderTest.java:116:93:116:107 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:116:93:116:96 | sb59 : TextStringBuilder | TextStringBuilderTest.java:116:93:116:107 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:117:59:117:62 | sb60 [post update] : TextStringBuilder | TextStringBuilderTest.java:117:102:117:105 | sb60 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:117:78:117:84 | taint(...) : String | TextStringBuilderTest.java:117:59:117:62 | sb60 [post update] : TextStringBuilder | provenance | MaD:632 | -| TextStringBuilderTest.java:117:102:117:105 | sb60 : TextStringBuilder | TextStringBuilderTest.java:117:102:117:116 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:117:102:117:105 | sb60 : TextStringBuilder | TextStringBuilderTest.java:117:102:117:116 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:117:102:117:105 | sb60 : TextStringBuilder | TextStringBuilderTest.java:117:102:117:116 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:118:59:118:62 | sb61 [post update] : TextStringBuilder | TextStringBuilderTest.java:118:111:118:114 | sb61 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:118:96:118:102 | taint(...) : String | TextStringBuilderTest.java:118:59:118:62 | sb61 [post update] : TextStringBuilder | provenance | MaD:634 | -| TextStringBuilderTest.java:118:111:118:114 | sb61 : TextStringBuilder | TextStringBuilderTest.java:118:111:118:125 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:118:111:118:114 | sb61 : TextStringBuilder | TextStringBuilderTest.java:118:111:118:125 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:118:111:118:114 | sb61 : TextStringBuilder | TextStringBuilderTest.java:118:111:118:125 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:119:59:119:62 | sb62 [post update] : TextStringBuilder | TextStringBuilderTest.java:119:100:119:103 | sb62 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:119:85:119:91 | taint(...) : String | TextStringBuilderTest.java:119:59:119:62 | sb62 [post update] : TextStringBuilder | provenance | MaD:634 | -| TextStringBuilderTest.java:119:100:119:103 | sb62 : TextStringBuilder | TextStringBuilderTest.java:119:100:119:114 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:119:100:119:103 | sb62 : TextStringBuilder | TextStringBuilderTest.java:119:100:119:114 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:119:100:119:103 | sb62 : TextStringBuilder | TextStringBuilderTest.java:119:100:119:114 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:121:59:121:62 | sb64 [post update] : TextStringBuilder | TextStringBuilderTest.java:121:113:121:116 | sb64 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:121:98:121:104 | taint(...) : String | TextStringBuilderTest.java:121:59:121:62 | sb64 [post update] : TextStringBuilder | provenance | MaD:636 | -| TextStringBuilderTest.java:121:113:121:116 | sb64 : TextStringBuilder | TextStringBuilderTest.java:121:113:121:127 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:121:113:121:116 | sb64 : TextStringBuilder | TextStringBuilderTest.java:121:113:121:127 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:121:113:121:116 | sb64 : TextStringBuilder | TextStringBuilderTest.java:121:113:121:127 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:122:59:122:62 | sb65 [post update] : TextStringBuilder | TextStringBuilderTest.java:122:102:122:105 | sb65 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:122:87:122:93 | taint(...) : String | TextStringBuilderTest.java:122:59:122:62 | sb65 [post update] : TextStringBuilder | provenance | MaD:636 | -| TextStringBuilderTest.java:122:102:122:105 | sb65 : TextStringBuilder | TextStringBuilderTest.java:122:102:122:116 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:122:102:122:105 | sb65 : TextStringBuilder | TextStringBuilderTest.java:122:102:122:116 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:122:102:122:105 | sb65 : TextStringBuilder | TextStringBuilderTest.java:122:102:122:116 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:124:59:124:62 | sb67 [post update] : TextStringBuilder | TextStringBuilderTest.java:124:86:124:89 | sb67 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:124:71:124:77 | taint(...) : String | TextStringBuilderTest.java:124:59:124:62 | sb67 [post update] : TextStringBuilder | provenance | MaD:568 | | TextStringBuilderTest.java:124:86:124:89 | sb67 : TextStringBuilder | TextStringBuilderTest.java:124:86:124:104 | rightString(...) | provenance | MaD:638 | | TextStringBuilderTest.java:125:59:125:62 | sb68 [post update] : TextStringBuilder | TextStringBuilderTest.java:125:86:125:89 | sb68 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:125:71:125:77 | taint(...) : String | TextStringBuilderTest.java:125:59:125:62 | sb68 [post update] : TextStringBuilder | provenance | MaD:568 | -| TextStringBuilderTest.java:125:86:125:89 | sb68 : TextStringBuilder | TextStringBuilderTest.java:125:86:125:107 | subSequence(...) | provenance | MaD:5 | +| TextStringBuilderTest.java:125:86:125:89 | sb68 : TextStringBuilder | TextStringBuilderTest.java:125:86:125:107 | subSequence(...) | provenance | MaD:4 | | TextStringBuilderTest.java:125:86:125:89 | sb68 : TextStringBuilder | TextStringBuilderTest.java:125:86:125:107 | subSequence(...) | provenance | MaD:643 | | TextStringBuilderTest.java:126:59:126:62 | sb69 [post update] : TextStringBuilder | TextStringBuilderTest.java:126:86:126:89 | sb69 : TextStringBuilder | provenance | | | TextStringBuilderTest.java:126:71:126:77 | taint(...) : String | TextStringBuilderTest.java:126:59:126:62 | sb69 [post update] : TextStringBuilder | provenance | MaD:568 | @@ -3118,16 +3118,16 @@ edges | TextStringBuilderTest.java:131:71:131:77 | taint(...) : String | TextStringBuilderTest.java:131:59:131:62 | sb74 [post update] : TextStringBuilder | provenance | MaD:568 | | TextStringBuilderTest.java:131:86:131:89 | sb74 : TextStringBuilder | TextStringBuilderTest.java:131:86:131:107 | toStringBuilder(...) | provenance | MaD:648 | | TextStringBuilderTest.java:136:14:136:58 | append(...) : TextStringBuilder | TextStringBuilderTest.java:136:14:136:82 | append(...) : TextStringBuilder | provenance | MaD:562 | -| TextStringBuilderTest.java:136:14:136:82 | append(...) : TextStringBuilder | TextStringBuilderTest.java:136:14:136:93 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:136:14:136:82 | append(...) : TextStringBuilder | TextStringBuilderTest.java:136:14:136:93 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:136:14:136:82 | append(...) : TextStringBuilder | TextStringBuilderTest.java:136:14:136:93 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:136:51:136:57 | taint(...) : String | TextStringBuilderTest.java:136:14:136:58 | append(...) : TextStringBuilder | provenance | MaD:568+MaD:562 | | TextStringBuilderTest.java:139:9:139:45 | append(...) [post update] : TextStringBuilder | TextStringBuilderTest.java:140:14:140:31 | fluentBackflowTest : TextStringBuilder | provenance | MaD:562 | | TextStringBuilderTest.java:139:54:139:60 | taint(...) : String | TextStringBuilderTest.java:139:9:139:45 | append(...) [post update] : TextStringBuilder | provenance | MaD:568 | -| TextStringBuilderTest.java:140:14:140:31 | fluentBackflowTest : TextStringBuilder | TextStringBuilderTest.java:140:14:140:42 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:140:14:140:31 | fluentBackflowTest : TextStringBuilder | TextStringBuilderTest.java:140:14:140:42 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:140:14:140:31 | fluentBackflowTest : TextStringBuilder | TextStringBuilderTest.java:140:14:140:42 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:144:9:144:46 | append(...) [post update] : TextStringBuilder | TextStringBuilderTest.java:145:14:145:32 | fluentBackflowTest2 : TextStringBuilder | provenance | MaD:562 | | TextStringBuilderTest.java:144:55:144:61 | taint(...) : String | TextStringBuilderTest.java:144:9:144:46 | append(...) [post update] : TextStringBuilder | provenance | MaD:568 | -| TextStringBuilderTest.java:145:14:145:32 | fluentBackflowTest2 : TextStringBuilder | TextStringBuilderTest.java:145:14:145:43 | toString(...) | provenance | MaD:6 | +| TextStringBuilderTest.java:145:14:145:32 | fluentBackflowTest2 : TextStringBuilder | TextStringBuilderTest.java:145:14:145:43 | toString(...) | provenance | MaD:5 | | TextStringBuilderTest.java:145:14:145:32 | fluentBackflowTest2 : TextStringBuilder | TextStringBuilderTest.java:145:14:145:43 | toString(...) | provenance | MaD:646 | | TextStringBuilderTest.java:148:50:148:79 | new TextStringBuilder(...) : TextStringBuilder | TextStringBuilderTest.java:149:14:149:33 | fluentAllMethodsTest : TextStringBuilder | provenance | | | TextStringBuilderTest.java:148:72:148:78 | taint(...) : String | TextStringBuilderTest.java:148:50:148:79 | new TextStringBuilder(...) : TextStringBuilder | provenance | MaD:561 | @@ -3198,7 +3198,7 @@ edges | ToStringBuilderTest.java:21:71:21:85 | (...)... : String | ToStringBuilderTest.java:21:59:21:62 | sb11 [post update] : ToStringBuilder | provenance | MaD:20 | | ToStringBuilderTest.java:21:79:21:85 | taint(...) : String | ToStringBuilderTest.java:21:71:21:85 | (...)... : String | provenance | | | ToStringBuilderTest.java:21:94:21:97 | sb11 : ToStringBuilder | ToStringBuilderTest.java:21:94:21:115 | getStringBuffer(...) : StringBuffer | provenance | MaD:29 | -| ToStringBuilderTest.java:21:94:21:115 | getStringBuffer(...) : StringBuffer | ToStringBuilderTest.java:21:94:21:126 | toString(...) | provenance | MaD:6 | +| ToStringBuilderTest.java:21:94:21:115 | getStringBuffer(...) : StringBuffer | ToStringBuilderTest.java:21:94:21:126 | toString(...) | provenance | MaD:5 | | ToStringBuilderTest.java:25:14:25:58 | append(...) : ToStringBuilder | ToStringBuilderTest.java:25:14:25:82 | append(...) : ToStringBuilder | provenance | MaD:19 | | ToStringBuilderTest.java:25:14:25:82 | append(...) : ToStringBuilder | ToStringBuilderTest.java:25:14:25:93 | toString(...) | provenance | MaD:30 | | ToStringBuilderTest.java:25:51:25:57 | taint(...) : String | ToStringBuilderTest.java:25:14:25:58 | append(...) : ToStringBuilder | provenance | MaD:20+MaD:19 | From 43b52a09213d4c5da5d52188c1f8941844f51a97 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 20 Aug 2024 15:57:24 +0200 Subject: [PATCH 234/258] Java: Add change note. --- java/ql/lib/change-notes/2024-08-20-dataflow-dispatch.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 java/ql/lib/change-notes/2024-08-20-dataflow-dispatch.md diff --git a/java/ql/lib/change-notes/2024-08-20-dataflow-dispatch.md b/java/ql/lib/change-notes/2024-08-20-dataflow-dispatch.md new file mode 100644 index 00000000000..b67cea4c8ba --- /dev/null +++ b/java/ql/lib/change-notes/2024-08-20-dataflow-dispatch.md @@ -0,0 +1,4 @@ +--- +category: majorAnalysis +--- +* A generated (Models as Data) summary model is no longer used, if there exists a source code alternative. This primarily affects the analysis, when the analysis includes generated models for the source code being analysed. From 021fd1450ea7eb4db578035153b2d179fa523f66 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 27 Aug 2024 11:43:06 +0200 Subject: [PATCH 235/258] Java: Add some dispatch examples to the external flow step test. --- .../dataflow/external-models/C.java | 32 +++++++++++++++++++ .../dataflow/external-models/steps.ext.yml | 2 ++ .../external-models/stubs/Library.java | 4 +++ 3 files changed, 38 insertions(+) diff --git a/java/ql/test/library-tests/dataflow/external-models/C.java b/java/ql/test/library-tests/dataflow/external-models/C.java index c0270dbe9f1..79d43480703 100644 --- a/java/ql/test/library-tests/dataflow/external-models/C.java +++ b/java/ql/test/library-tests/dataflow/external-models/C.java @@ -56,6 +56,24 @@ public class C { lib.apiStepArgQualGeneratedIgnored(arg1); } + void fooPossibleLibraryDispatch(Library lib) { + Object arg1 = new Object(); + + lib.id(arg1); + } + + void fooExplicitDispatch() { + Object arg1 = new Object(); + + MyLibrary lib = new MyLibrary(); + + lib.id(arg1); + } + + void fooGeneric(MyGenericLibrary lib) { + lib.get(); + } + Object stepArgRes(Object x) { return null; } @@ -73,4 +91,18 @@ public class C { Object stepArgResGenerated(Object x) { return null; } + + class MyLibrary extends Library { + @Override + // Bad implementation of the id function. + public Object id(Object x) { + return null; + } + } + + public class MyGenericLibrary { + public T get() { + return null; + } + } } diff --git a/java/ql/test/library-tests/dataflow/external-models/steps.ext.yml b/java/ql/test/library-tests/dataflow/external-models/steps.ext.yml index fbfcf0536ae..a0f01e48d51 100644 --- a/java/ql/test/library-tests/dataflow/external-models/steps.ext.yml +++ b/java/ql/test/library-tests/dataflow/external-models/steps.ext.yml @@ -9,11 +9,13 @@ extensions: - ["my.qltest", "C", False, "stepQualRes", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["my.qltest", "C", False, "stepQualArg", "(Object)", "", "Argument[this]", "Argument[0]", "taint", "manual"] - ["my.qltest", "C", False, "stepArgResGenerated", "(Object)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["my.qltest", "C$MyGenericLibrary", True, "get", "()", "", "Argument[this]", "ReturnValue", "taint", "df-generated"] - ["my.qltest.external", "Library", False, "apiStepArgResGenerated", "(Object)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["my.qltest.external", "Library", False, "apiStepArgResGeneratedIgnored", "(Object,Object)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["my.qltest.external", "Library", False, "apiStepArgResGeneratedIgnored", "(Object,Object)", "", "Argument[1]", "ReturnValue", "taint", "manual"] - ["my.qltest.external", "Library", False, "apiStepArgQualGenerated", "(Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] - ["my.qltest.external", "Library", False, "apiStepArgQualGeneratedIgnored", "(Object)", "", "Argument[0]", "Argument[this]", "taint", "df-generated"] + - ["my.qltest.external", "Library", False, "id", "(Object)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - addsTo: pack: codeql/java-all extensible: neutralModel diff --git a/java/ql/test/library-tests/dataflow/external-models/stubs/Library.java b/java/ql/test/library-tests/dataflow/external-models/stubs/Library.java index 945d8671b39..2515c8aebfa 100644 --- a/java/ql/test/library-tests/dataflow/external-models/stubs/Library.java +++ b/java/ql/test/library-tests/dataflow/external-models/stubs/Library.java @@ -16,4 +16,8 @@ public class Library { public Object apiStepArgQualGeneratedIgnored(Object x) { return null; } + + public Object id(Object x) { + return null; + } } From 8f734ad1b2b2869430ed7436b38e9a6d1c072854 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 27 Aug 2024 11:43:47 +0200 Subject: [PATCH 236/258] Java: Tighten the criteria for when we disregard generated models. --- .../code/java/dataflow/internal/DataFlowDispatch.qll | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowDispatch.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowDispatch.qll index 775d3c0067b..633a8cd3472 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowDispatch.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowDispatch.qll @@ -45,7 +45,7 @@ private module DispatchImpl { * The following heuristic is applied for finding the appropriate callable: * 1. If an exact manual model exists, only dispatch to the summarized callable. * 2. If a (non exact) manual model exists and/or if the source code is available, dispatch to both/either. - * 3. Only dispatch to a summarized callable (based on a generated model) if neither of the above apply. + * 3. Only dispatch to a summarized callable in case the static call target in not in source. */ DataFlowCallable viableCallable(DataFlowCall c) { exists(Call call | call = c.asCall() | @@ -53,11 +53,11 @@ private module DispatchImpl { or not ( // Only use summarized callables with generated summaries in case - // we are not able to dispatch to a source declaration. + // the static call target is not in the source code. // Note that if applyGeneratedModel holds it implies that there doesn't - // exist a manual (exact) model. - exists(Callable callable | callable = sourceDispatch(call) | - callable.fromSource() and not callable.isStub() + // exist a manual model. + exists(Callable staticTarget | staticTarget = call.getCallee().getSourceDeclaration() | + staticTarget.fromSource() and not staticTarget.isStub() ) and result.asSummarizedCallable().applyGeneratedModel() ) and From 15b06907ddd8b45491f4de1e7e6401c48009aa97 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 27 Aug 2024 11:51:16 +0200 Subject: [PATCH 237/258] Java: Updated expected test output. --- .../test/library-tests/dataflow/external-models/steps.expected | 1 + 1 file changed, 1 insertion(+) diff --git a/java/ql/test/library-tests/dataflow/external-models/steps.expected b/java/ql/test/library-tests/dataflow/external-models/steps.expected index e9cbb7ec99e..37d38018502 100644 --- a/java/ql/test/library-tests/dataflow/external-models/steps.expected +++ b/java/ql/test/library-tests/dataflow/external-models/steps.expected @@ -11,3 +11,4 @@ invalidModelRow | C.java:44:32:44:35 | arg1 | C.java:44:5:44:36 | apiStepArgResGenerated(...) | | C.java:50:45:50:48 | arg2 | C.java:50:5:50:49 | apiStepArgResGeneratedIgnored(...) | | C.java:52:33:52:36 | arg1 | C.java:52:5:52:7 | lib [post update] | +| C.java:62:12:62:15 | arg1 | C.java:62:5:62:16 | id(...) | From 80b6135a64d0acbdcd1a6bfe40bb896e710940e6 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 27 Aug 2024 14:48:57 +0200 Subject: [PATCH 238/258] Data flow: Move `toNormalSinkNodeEx` into `PathNodeMid` --- .../codeql/dataflow/internal/DataFlowImpl.qll | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 75ccdbecf9f..3af2de29cc1 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -246,16 +246,6 @@ module MakeImpl Lang> { ReturnKindExt getKind() { result = pos.getKind() } } - /** If `node` corresponds to a sink, gets the normal node for that sink. */ - pragma[nomagic] - private NodeEx toNormalSinkNodeEx(NodeEx node) { - exists(Node n | - node.asNodeOrImplicitRead() = n and - (Config::isSink(n) or Config::isSink(n, _)) and - result.asNode() = n - ) - } - private predicate inBarrier(NodeEx node) { exists(Node n | node.asNode() = n and @@ -2607,7 +2597,7 @@ module MakeImpl Lang> { TPathNodeSink(NodeEx node, FlowState state) { exists(PathNodeMid sink | sink.isAtSink() and - node = toNormalSinkNodeEx(sink.getNodeEx()) and + node = sink.toNormalSinkNodeEx() and state = sink.getState() ) } or @@ -2734,6 +2724,16 @@ module MakeImpl Lang> { ) } + /** If this node corresponds to a sink, gets the normal node for that sink. */ + pragma[nomagic] + NodeEx toNormalSinkNodeEx() { + exists(Node n | + node.asNodeOrImplicitRead() = n and + (Config::isSink(n) or Config::isSink(n, _)) and + result.asNode() = n + ) + } + override PathNodeImpl getASuccessorImpl(string label) { // an intermediate step to another intermediate node exists(string l2 | result = this.getSuccMid(l2) | @@ -2825,7 +2825,7 @@ module MakeImpl Lang> { PathNodeSink projectToSink(string model) { this.isAtSink() and sinkModel(node, model) and - result.getNodeEx() = toNormalSinkNodeEx(node) and + result.getNodeEx() = this.toNormalSinkNodeEx() and result.getState() = state } } From b589fcad1124bb5b0fecd84fdf640a99d1f24da7 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 27 Aug 2024 15:42:24 +0200 Subject: [PATCH 239/258] Data flow: Tweak join-order in `toNormalSinkNodeEx` --- shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 3af2de29cc1..dc0da810f11 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -2728,7 +2728,7 @@ module MakeImpl Lang> { pragma[nomagic] NodeEx toNormalSinkNodeEx() { exists(Node n | - node.asNodeOrImplicitRead() = n and + pragma[only_bind_out](node.asNodeOrImplicitRead()) = n and (Config::isSink(n) or Config::isSink(n, _)) and result.asNode() = n ) From bfc6fee828ed9c6ae8ea33996a9ba143c16d942e Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Wed, 28 Aug 2024 10:37:59 +0200 Subject: [PATCH 240/258] Go: Move all integration tests. We no longer need the platform-specific directories, so simplify the test organization. If you want to retain the `linux` directory for two tests, or not do this at all, just skip merging this PR. It's purely optional. --- .../go => }/bazel-sample-1/build_environment.expected | 0 .../{all-platforms/go => }/bazel-sample-1/diagnostics.expected | 0 .../{all-platforms/go => }/bazel-sample-1/src/BUILD.bazel | 0 .../{all-platforms/go => }/bazel-sample-1/src/go.mod | 0 .../{all-platforms/go => }/bazel-sample-1/src/go.sum | 0 .../{all-platforms/go => }/bazel-sample-1/src/test.go | 0 .../{all-platforms/go => }/bazel-sample-1/src/todel.go | 0 .../{all-platforms/go => }/bazel-sample-1/test.expected | 0 .../{all-platforms/go => }/bazel-sample-1/test.py | 0 .../{all-platforms/go => }/bazel-sample-1/test.ql | 0 .../go => }/bazel-sample-2/build_environment.expected | 0 .../{all-platforms/go => }/bazel-sample-2/diagnostics.expected | 0 .../{all-platforms/go => }/bazel-sample-2/src/BUILD | 0 .../{all-platforms/go => }/bazel-sample-2/src/go.mod | 0 .../{all-platforms/go => }/bazel-sample-2/src/go.sum | 0 .../{all-platforms/go => }/bazel-sample-2/src/test.go | 0 .../{all-platforms/go => }/bazel-sample-2/src/todel.go | 0 .../{all-platforms/go => }/bazel-sample-2/test.expected | 0 .../{all-platforms/go => }/bazel-sample-2/test.py | 0 .../{all-platforms/go => }/bazel-sample-2/test.ql | 0 .../go => }/configure-baseline/src/a/vendor/avendor.go | 0 .../go => }/configure-baseline/src/a/vendor/modules.txt | 0 .../go => }/configure-baseline/src/b/vendor/bvendor.go | 0 .../go => }/configure-baseline/src/b/vendor/modules.txt | 0 .../go => }/configure-baseline/src/c/vendor/cvendor.go | 0 .../{all-platforms/go => }/configure-baseline/src/root.go | 0 .../{all-platforms/go => }/configure-baseline/test.py | 0 .../build_environment.expected | 0 .../{linux-only/go => }/dep-sample/diagnostics.expected | 0 .../{linux-only/go => }/dep-sample/test.expected | 0 go/ql/integration-tests/{linux-only/go => }/dep-sample/test.py | 0 .../go/go-get-without-modules-sample => dep-sample}/test.ql | 0 .../{linux-only/go => }/dep-sample/work/Gopkg.lock | 0 .../{linux-only/go => }/dep-sample/work/Gopkg.toml | 0 .../integration-tests/{linux-only/go => }/dep-sample/work/test.go | 0 .../go => }/dep-sample/work/vendor/golang.org/x/time/AUTHORS | 0 .../go => }/dep-sample/work/vendor/golang.org/x/time/CONTRIBUTORS | 0 .../go => }/dep-sample/work/vendor/golang.org/x/time/LICENSE | 0 .../go => }/dep-sample/work/vendor/golang.org/x/time/PATENTS | 0 .../go => }/dep-sample/work/vendor/golang.org/x/time/rate/rate.go | 0 .../build_environment.expected | 0 .../build-constraints-exclude-all-go-files/diagnostics.expected | 0 .../diagnostics/build-constraints-exclude-all-go-files/test.py | 0 .../build-constraints-exclude-all-go-files/work/go.mod | 0 .../build-constraints-exclude-all-go-files/work/go.sum | 0 .../build-constraints-exclude-all-go-files/work/test.go | 0 .../go-files-found-not-processed}/build_environment.expected | 0 .../diagnostics/go-files-found-not-processed/diagnostics.expected | 0 .../diagnostics/go-files-found-not-processed/test.expected | 0 .../go => }/diagnostics/go-files-found-not-processed/test.py | 0 .../go => }/diagnostics/go-files-found-not-processed/test.ql | 0 .../go => }/diagnostics/go-files-found-not-processed/work/go.mod | 0 .../go => }/diagnostics/go-files-found-not-processed/work/go.sum | 0 .../diagnostics/go-files-found-not-processed/work/subdir/go.mod | 0 .../diagnostics/go-files-found-not-processed/work/subdir/go.sum | 0 .../diagnostics/go-files-found-not-processed/work/subdir/test.go | 0 .../invalid-toolchain-version}/build_environment.expected | 0 .../diagnostics/invalid-toolchain-version/diagnostics.expected | 0 .../go => }/diagnostics/invalid-toolchain-version/src/go.mod | 0 .../go => }/diagnostics/invalid-toolchain-version/src/main.go | 0 .../go => }/diagnostics/invalid-toolchain-version/test.py | 0 .../newer-go-version-needed}/build_environment.expected | 0 .../diagnostics/newer-go-version-needed/diagnostics.expected | 0 .../go => }/diagnostics/newer-go-version-needed/test.py | 0 .../go => }/diagnostics/newer-go-version-needed/work/go.mod | 0 .../go => }/diagnostics/newer-go-version-needed/work/go.sum | 0 .../go => }/diagnostics/newer-go-version-needed/work/test.go | 0 .../no-go-files-found}/build_environment.expected | 0 .../go => }/diagnostics/no-go-files-found/diagnostics.expected | 0 .../{all-platforms/go => }/diagnostics/no-go-files-found/test.py | 0 .../go => }/diagnostics/no-go-files-found/work/test.txt | 0 .../package-not-found-with-go-mod}/build_environment.expected | 0 .../package-not-found-with-go-mod/diagnostics.expected | 0 .../go => }/diagnostics/package-not-found-with-go-mod/test.py | 0 .../go => }/diagnostics/package-not-found-with-go-mod/work/go.mod | 0 .../go => }/diagnostics/package-not-found-with-go-mod/work/go.sum | 0 .../diagnostics/package-not-found-with-go-mod/work/test.go | 0 .../package-not-found-without-go-mod}/build_environment.expected | 0 .../package-not-found-without-go-mod/diagnostics.expected | 0 .../go => }/diagnostics/package-not-found-without-go-mod/test.py | 0 .../diagnostics/package-not-found-without-go-mod/work/test.go | 0 .../unsupported-relative-path}/build_environment.expected | 0 .../diagnostics/unsupported-relative-path/diagnostics.expected | 0 .../go => }/diagnostics/unsupported-relative-path/test.py | 0 .../diagnostics/unsupported-relative-path/work/main/main.go | 0 .../unsupported-relative-path/work/main/subpkg/subpkg.go | 0 .../build_environment.expected | 0 .../{all-platforms/go => }/extract-vendor/diagnostics.expected | 0 .../{all-platforms/go => }/extract-vendor/src/go.mod | 0 .../{all-platforms/go => }/extract-vendor/src/go.sum | 0 .../{all-platforms/go => }/extract-vendor/src/test.go | 0 .../go => }/extract-vendor/src/vendor/example.com/test/add.go | 0 .../{all-platforms/go => }/extract-vendor/src/vendor/modules.txt | 0 .../{all-platforms/go => }/extract-vendor/test.expected | 0 .../{all-platforms/go => }/extract-vendor/test.py | 0 .../{all-platforms/go => }/extract-vendor/test.ql | 0 .../go/go-mod-sample => glide-sample}/build_environment.expected | 0 .../{linux-only/go => }/glide-sample/diagnostics.expected | 0 .../go => }/glide-sample/force_sequential_test_execution | 0 .../{linux-only/go => }/glide-sample/test.expected | 0 go/ql/integration-tests/{linux-only/go => }/glide-sample/test.py | 0 .../{all-platforms/go/go-mod-sample => glide-sample}/test.ql | 0 .../{linux-only/go => }/glide-sample/work/glide.lock | 0 .../{linux-only/go => }/glide-sample/work/glide.yaml | 0 .../{linux-only/go => }/glide-sample/work/test.go | 0 .../go => }/glide-sample/work/vendor/golang.org/x/time/AUTHORS | 0 .../glide-sample/work/vendor/golang.org/x/time/CONTRIBUTING.md | 0 .../glide-sample/work/vendor/golang.org/x/time/CONTRIBUTORS | 0 .../go => }/glide-sample/work/vendor/golang.org/x/time/LICENSE | 0 .../go => }/glide-sample/work/vendor/golang.org/x/time/PATENTS | 0 .../go => }/glide-sample/work/vendor/golang.org/x/time/README.md | 0 .../go => }/glide-sample/work/vendor/golang.org/x/time/go.mod | 0 .../glide-sample/work/vendor/golang.org/x/time/rate/rate.go | 0 .../glide-sample/work/vendor/golang.org/x/time/rate/rate_test.go | 0 .../build_environment.expected | 0 .../go => }/go-get-without-modules-sample/src/test.go | 0 .../go => }/go-get-without-modules-sample/test.expected | 0 .../{all-platforms/go => }/go-get-without-modules-sample/test.py | 0 .../go/make-sample => go-get-without-modules-sample}/test.ql | 0 .../go-version-bump => go-mod-sample}/build_environment.expected | 0 .../{all-platforms/go => }/go-mod-sample/diagnostics.expected | 0 .../{all-platforms/go => }/go-mod-sample/src/Makefile | 0 .../{all-platforms/go => }/go-mod-sample/src/go.mod | 0 .../{all-platforms/go => }/go-mod-sample/src/go.sum | 0 .../{all-platforms/go => }/go-mod-sample/src/test.go | 0 .../{all-platforms/go => }/go-mod-sample/test.expected | 0 .../{all-platforms/go => }/go-mod-sample/test.py | 0 .../{all-platforms/go/ninja-sample => go-mod-sample}/test.ql | 0 .../build_environment.expected | 0 .../go => }/go-mod-without-version/diagnostics.expected | 0 .../{all-platforms/go => }/go-mod-without-version/src/go.mod | 0 .../{all-platforms/go => }/go-mod-without-version/src/go.sum | 0 .../go => }/go-mod-without-version/src/subdir/add.go | 0 .../{all-platforms/go => }/go-mod-without-version/src/test.go | 0 .../{all-platforms/go => }/go-mod-without-version/test.expected | 0 .../{all-platforms/go => }/go-mod-without-version/test.py | 0 .../{all-platforms/go => }/go-mod-without-version/test.ql | 0 .../mixed-layout => go-version-bump}/build_environment.expected | 0 .../{all-platforms/go => }/go-version-bump/diagnostics.expected | 0 .../{all-platforms/go => }/go-version-bump/src/go.mod | 0 .../{all-platforms/go => }/go-version-bump/src/main.go | 0 .../{all-platforms/go => }/go-version-bump/test.py | 0 .../go/ninja-sample => make-sample}/build_environment.expected | 0 .../{all-platforms/go => }/make-sample/diagnostics.expected | 0 .../{all-platforms/go => }/make-sample/src/Makefile | 0 .../{all-platforms/go => }/make-sample/src/go.mod | 0 .../{all-platforms/go => }/make-sample/src/go.sum | 0 .../{all-platforms/go => }/make-sample/src/test.go | 0 .../{all-platforms/go => }/make-sample/src/todel.go | 0 .../{all-platforms/go => }/make-sample/test.expected | 0 .../integration-tests/{all-platforms/go => }/make-sample/test.py | 0 .../{linux-only/go/dep-sample => make-sample}/test.ql | 0 .../build_environment.expected | 0 .../{all-platforms/go => }/mixed-layout/diagnostics.expected | 0 .../{all-platforms/go => }/mixed-layout/src/module/go.mod | 0 .../{all-platforms/go => }/mixed-layout/src/module/go.sum | 0 .../{all-platforms/go => }/mixed-layout/src/module/test.go | 0 .../{all-platforms/go => }/mixed-layout/src/stray-files/test.go | 0 .../{all-platforms/go => }/mixed-layout/src/workspace/go.work | 0 .../go => }/mixed-layout/src/workspace/subdir/go.mod | 0 .../go => }/mixed-layout/src/workspace/subdir/go.sum | 0 .../go => }/mixed-layout/src/workspace/subdir/test.go | 0 .../{all-platforms/go => }/mixed-layout/test.expected | 0 .../integration-tests/{all-platforms/go => }/mixed-layout/test.py | 0 .../integration-tests/{all-platforms/go => }/mixed-layout/test.ql | 0 .../build_environment.expected | 0 .../{all-platforms/go => }/ninja-sample/diagnostics.expected | 0 .../{all-platforms/go => }/ninja-sample/src/.ninja_log | 0 .../{all-platforms/go => }/ninja-sample/src/build.ninja | 0 .../{all-platforms/go => }/ninja-sample/src/go.mod | 0 .../{all-platforms/go => }/ninja-sample/src/go.sum | 0 .../{all-platforms/go => }/ninja-sample/src/test.go | 0 .../{all-platforms/go => }/ninja-sample/src/todel.go | 0 .../{all-platforms/go => }/ninja-sample/test.expected | 0 .../integration-tests/{all-platforms/go => }/ninja-sample/test.py | 0 .../{linux-only/go/glide-sample => ninja-sample}/test.ql | 0 .../newer-go-needed/build_environment.expected | 0 .../newer-go-needed/diagnostics.expected | 0 .../go => }/resolve-build-environment/newer-go-needed/src/go.mod | 0 .../go => }/resolve-build-environment/newer-go-needed/src/main.go | 0 .../go => }/resolve-build-environment/newer-go-needed/test.py | 0 .../build_environment.expected | 0 .../single-go-mod-and-go-files-not-under-it/diagnostics.expected | 0 .../go => }/single-go-mod-and-go-files-not-under-it/src/main.go | 0 .../single-go-mod-and-go-files-not-under-it/src/subdir/go.mod | 0 .../single-go-mod-and-go-files-not-under-it/src/subdir/go.sum | 0 .../src/subdir/subsubdir/add.go | 0 .../single-go-mod-and-go-files-not-under-it/src/subdir/test.go | 0 .../go => }/single-go-mod-and-go-files-not-under-it/test.expected | 0 .../go => }/single-go-mod-and-go-files-not-under-it/test.py | 0 .../go => }/single-go-mod-and-go-files-not-under-it/test.ql | 0 .../build_environment.expected | 0 .../go => }/single-go-mod-in-root/diagnostics.expected | 0 .../{all-platforms/go => }/single-go-mod-in-root/src/go.mod | 0 .../{all-platforms/go => }/single-go-mod-in-root/src/go.sum | 0 .../go => }/single-go-mod-in-root/src/subdir/add.go | 0 .../{all-platforms/go => }/single-go-mod-in-root/src/test.go | 0 .../{all-platforms/go => }/single-go-mod-in-root/test.expected | 0 .../{all-platforms/go => }/single-go-mod-in-root/test.py | 0 .../{all-platforms/go => }/single-go-mod-in-root/test.ql | 0 .../build_environment.expected | 0 .../go => }/single-go-mod-not-in-root/diagnostics.expected | 0 .../go => }/single-go-mod-not-in-root/src/subdir/go.mod | 0 .../go => }/single-go-mod-not-in-root/src/subdir/go.sum | 0 .../go => }/single-go-mod-not-in-root/src/subdir/subsubdir/add.go | 0 .../go => }/single-go-mod-not-in-root/src/subdir/test.go | 0 .../go => }/single-go-mod-not-in-root/test.expected | 0 .../{all-platforms/go => }/single-go-mod-not-in-root/test.py | 0 .../{all-platforms/go => }/single-go-mod-not-in-root/test.ql | 0 .../build_environment.expected | 0 .../go => }/single-go-work-not-in-root/diagnostics.expected | 0 .../go => }/single-go-work-not-in-root/src/modules/go.work | 0 .../go => }/single-go-work-not-in-root/src/modules/subdir1/go.mod | 0 .../go => }/single-go-work-not-in-root/src/modules/subdir1/go.sum | 0 .../src/modules/subdir1/subsubdir1/add.go | 0 .../single-go-work-not-in-root/src/modules/subdir1/test.go | 0 .../go => }/single-go-work-not-in-root/src/modules/subdir2/go.mod | 0 .../go => }/single-go-work-not-in-root/src/modules/subdir2/go.sum | 0 .../src/modules/subdir2/subsubdir2/add.go | 0 .../single-go-work-not-in-root/src/modules/subdir2/test.go | 0 .../go => }/single-go-work-not-in-root/test.expected | 0 .../{all-platforms/go => }/single-go-work-not-in-root/test.py | 0 .../{all-platforms/go => }/single-go-work-not-in-root/test.ql | 0 .../build_environment.expected | 0 .../go => }/two-go-mods-nested-none-in-root/diagnostics.expected | 0 .../go => }/two-go-mods-nested-none-in-root/src/subdir0/go.mod | 0 .../go => }/two-go-mods-nested-none-in-root/src/subdir0/go.sum | 0 .../two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.mod | 0 .../two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.sum | 0 .../src/subdir0/subdir1/subsubdir1/add.go | 0 .../two-go-mods-nested-none-in-root/src/subdir0/subdir1/test.go | 0 .../two-go-mods-nested-none-in-root/src/subdir0/subdir2/add.go | 0 .../go => }/two-go-mods-nested-none-in-root/src/subdir0/test.go | 0 .../go => }/two-go-mods-nested-none-in-root/test.expected | 0 .../go => }/two-go-mods-nested-none-in-root/test.py | 0 .../go => }/two-go-mods-nested-none-in-root/test.ql | 0 .../build_environment.expected | 0 .../go => }/two-go-mods-nested-one-in-root/diagnostics.expected | 0 .../go => }/two-go-mods-nested-one-in-root/src/go.mod | 0 .../go => }/two-go-mods-nested-one-in-root/src/go.sum | 0 .../go => }/two-go-mods-nested-one-in-root/src/subdir1/go.mod | 0 .../go => }/two-go-mods-nested-one-in-root/src/subdir1/go.sum | 0 .../two-go-mods-nested-one-in-root/src/subdir1/subsubdir1/add.go | 0 .../go => }/two-go-mods-nested-one-in-root/src/subdir1/test.go | 0 .../go => }/two-go-mods-nested-one-in-root/src/subdir2/add.go | 0 .../go => }/two-go-mods-nested-one-in-root/src/test.go | 0 .../go => }/two-go-mods-nested-one-in-root/test.expected | 0 .../{all-platforms/go => }/two-go-mods-nested-one-in-root/test.py | 0 .../{all-platforms/go => }/two-go-mods-nested-one-in-root/test.ql | 0 .../build_environment.expected | 0 .../go => }/two-go-mods-not-nested/diagnostics.expected | 0 .../go => }/two-go-mods-not-nested/src/subdir1/go.mod | 0 .../go => }/two-go-mods-not-nested/src/subdir1/go.sum | 0 .../go => }/two-go-mods-not-nested/src/subdir1/subsubdir1/add.go | 0 .../go => }/two-go-mods-not-nested/src/subdir1/test.go | 0 .../go => }/two-go-mods-not-nested/src/subdir2/go.mod | 0 .../go => }/two-go-mods-not-nested/src/subdir2/go.sum | 0 .../go => }/two-go-mods-not-nested/src/subdir2/subsubdir2/add.go | 0 .../go => }/two-go-mods-not-nested/src/subdir2/test.go | 0 .../{all-platforms/go => }/two-go-mods-not-nested/test.expected | 0 .../{all-platforms/go => }/two-go-mods-not-nested/test.py | 0 .../{all-platforms/go => }/two-go-mods-not-nested/test.ql | 0 .../build_environment.expected | 0 .../go => }/two-go-mods-one-failure/diagnostics.expected | 0 .../go => }/two-go-mods-one-failure/src/subdir1/go.mod | 0 .../go => }/two-go-mods-one-failure/src/subdir1/go.sum | 0 .../go => }/two-go-mods-one-failure/src/subdir1/subsubdir1/add.go | 0 .../go => }/two-go-mods-one-failure/src/subdir1/test.go | 0 .../go => }/two-go-mods-one-failure/src/subdir2/go.mod | 0 .../go => }/two-go-mods-one-failure/src/subdir2/go.sum | 0 .../go => }/two-go-mods-one-failure/src/subdir2/subsubdir2/add.go | 0 .../go => }/two-go-mods-one-failure/src/subdir2/test.go | 0 .../{all-platforms/go => }/two-go-mods-one-failure/test.expected | 0 .../{all-platforms/go => }/two-go-mods-one-failure/test.py | 0 .../{all-platforms/go => }/two-go-mods-one-failure/test.ql | 0 275 files changed, 0 insertions(+), 0 deletions(-) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-1/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-1/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-1/src/BUILD.bazel (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-1/src/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-1/src/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-1/src/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-1/src/todel.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-1/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-1/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-1/test.ql (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-2/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-2/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-2/src/BUILD (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-2/src/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-2/src/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-2/src/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-2/src/todel.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-2/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-2/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/bazel-sample-2/test.ql (100%) rename go/ql/integration-tests/{all-platforms/go => }/configure-baseline/src/a/vendor/avendor.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/configure-baseline/src/a/vendor/modules.txt (100%) rename go/ql/integration-tests/{all-platforms/go => }/configure-baseline/src/b/vendor/bvendor.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/configure-baseline/src/b/vendor/modules.txt (100%) rename go/ql/integration-tests/{all-platforms/go => }/configure-baseline/src/c/vendor/cvendor.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/configure-baseline/src/root.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/configure-baseline/test.py (100%) rename go/ql/integration-tests/{all-platforms/go/diagnostics/build-constraints-exclude-all-go-files => dep-sample}/build_environment.expected (100%) rename go/ql/integration-tests/{linux-only/go => }/dep-sample/diagnostics.expected (100%) rename go/ql/integration-tests/{linux-only/go => }/dep-sample/test.expected (100%) rename go/ql/integration-tests/{linux-only/go => }/dep-sample/test.py (100%) rename go/ql/integration-tests/{all-platforms/go/go-get-without-modules-sample => dep-sample}/test.ql (100%) rename go/ql/integration-tests/{linux-only/go => }/dep-sample/work/Gopkg.lock (100%) rename go/ql/integration-tests/{linux-only/go => }/dep-sample/work/Gopkg.toml (100%) rename go/ql/integration-tests/{linux-only/go => }/dep-sample/work/test.go (100%) rename go/ql/integration-tests/{linux-only/go => }/dep-sample/work/vendor/golang.org/x/time/AUTHORS (100%) rename go/ql/integration-tests/{linux-only/go => }/dep-sample/work/vendor/golang.org/x/time/CONTRIBUTORS (100%) rename go/ql/integration-tests/{linux-only/go => }/dep-sample/work/vendor/golang.org/x/time/LICENSE (100%) rename go/ql/integration-tests/{linux-only/go => }/dep-sample/work/vendor/golang.org/x/time/PATENTS (100%) rename go/ql/integration-tests/{linux-only/go => }/dep-sample/work/vendor/golang.org/x/time/rate/rate.go (100%) rename go/ql/integration-tests/{all-platforms/go/diagnostics/go-files-found-not-processed => diagnostics/build-constraints-exclude-all-go-files}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/build-constraints-exclude-all-go-files/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/build-constraints-exclude-all-go-files/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/build-constraints-exclude-all-go-files/work/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/build-constraints-exclude-all-go-files/work/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/build-constraints-exclude-all-go-files/work/test.go (100%) rename go/ql/integration-tests/{all-platforms/go/diagnostics/invalid-toolchain-version => diagnostics/go-files-found-not-processed}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/go-files-found-not-processed/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/go-files-found-not-processed/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/go-files-found-not-processed/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/go-files-found-not-processed/test.ql (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/go-files-found-not-processed/work/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/go-files-found-not-processed/work/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/go-files-found-not-processed/work/subdir/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/go-files-found-not-processed/work/subdir/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/go-files-found-not-processed/work/subdir/test.go (100%) rename go/ql/integration-tests/{all-platforms/go/diagnostics/newer-go-version-needed => diagnostics/invalid-toolchain-version}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/invalid-toolchain-version/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/invalid-toolchain-version/src/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/invalid-toolchain-version/src/main.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/invalid-toolchain-version/test.py (100%) rename go/ql/integration-tests/{all-platforms/go/diagnostics/no-go-files-found => diagnostics/newer-go-version-needed}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/newer-go-version-needed/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/newer-go-version-needed/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/newer-go-version-needed/work/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/newer-go-version-needed/work/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/newer-go-version-needed/work/test.go (100%) rename go/ql/integration-tests/{all-platforms/go/diagnostics/package-not-found-with-go-mod => diagnostics/no-go-files-found}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/no-go-files-found/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/no-go-files-found/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/no-go-files-found/work/test.txt (100%) rename go/ql/integration-tests/{all-platforms/go/diagnostics/package-not-found-without-go-mod => diagnostics/package-not-found-with-go-mod}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/package-not-found-with-go-mod/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/package-not-found-with-go-mod/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/package-not-found-with-go-mod/work/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/package-not-found-with-go-mod/work/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/package-not-found-with-go-mod/work/test.go (100%) rename go/ql/integration-tests/{all-platforms/go/diagnostics/unsupported-relative-path => diagnostics/package-not-found-without-go-mod}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/package-not-found-without-go-mod/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/package-not-found-without-go-mod/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/package-not-found-without-go-mod/work/test.go (100%) rename go/ql/integration-tests/{all-platforms/go/extract-vendor => diagnostics/unsupported-relative-path}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/unsupported-relative-path/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/unsupported-relative-path/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/unsupported-relative-path/work/main/main.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/diagnostics/unsupported-relative-path/work/main/subpkg/subpkg.go (100%) rename go/ql/integration-tests/{all-platforms/go/go-get-without-modules-sample => extract-vendor}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/extract-vendor/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/extract-vendor/src/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/extract-vendor/src/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/extract-vendor/src/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/extract-vendor/src/vendor/example.com/test/add.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/extract-vendor/src/vendor/modules.txt (100%) rename go/ql/integration-tests/{all-platforms/go => }/extract-vendor/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/extract-vendor/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/extract-vendor/test.ql (100%) rename go/ql/integration-tests/{all-platforms/go/go-mod-sample => glide-sample}/build_environment.expected (100%) rename go/ql/integration-tests/{linux-only/go => }/glide-sample/diagnostics.expected (100%) rename go/ql/integration-tests/{linux-only/go => }/glide-sample/force_sequential_test_execution (100%) rename go/ql/integration-tests/{linux-only/go => }/glide-sample/test.expected (100%) rename go/ql/integration-tests/{linux-only/go => }/glide-sample/test.py (100%) rename go/ql/integration-tests/{all-platforms/go/go-mod-sample => glide-sample}/test.ql (100%) rename go/ql/integration-tests/{linux-only/go => }/glide-sample/work/glide.lock (100%) rename go/ql/integration-tests/{linux-only/go => }/glide-sample/work/glide.yaml (100%) rename go/ql/integration-tests/{linux-only/go => }/glide-sample/work/test.go (100%) rename go/ql/integration-tests/{linux-only/go => }/glide-sample/work/vendor/golang.org/x/time/AUTHORS (100%) rename go/ql/integration-tests/{linux-only/go => }/glide-sample/work/vendor/golang.org/x/time/CONTRIBUTING.md (100%) rename go/ql/integration-tests/{linux-only/go => }/glide-sample/work/vendor/golang.org/x/time/CONTRIBUTORS (100%) rename go/ql/integration-tests/{linux-only/go => }/glide-sample/work/vendor/golang.org/x/time/LICENSE (100%) rename go/ql/integration-tests/{linux-only/go => }/glide-sample/work/vendor/golang.org/x/time/PATENTS (100%) rename go/ql/integration-tests/{linux-only/go => }/glide-sample/work/vendor/golang.org/x/time/README.md (100%) rename go/ql/integration-tests/{linux-only/go => }/glide-sample/work/vendor/golang.org/x/time/go.mod (100%) rename go/ql/integration-tests/{linux-only/go => }/glide-sample/work/vendor/golang.org/x/time/rate/rate.go (100%) rename go/ql/integration-tests/{linux-only/go => }/glide-sample/work/vendor/golang.org/x/time/rate/rate_test.go (100%) rename go/ql/integration-tests/{all-platforms/go/go-mod-without-version => go-get-without-modules-sample}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-get-without-modules-sample/src/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-get-without-modules-sample/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-get-without-modules-sample/test.py (100%) rename go/ql/integration-tests/{all-platforms/go/make-sample => go-get-without-modules-sample}/test.ql (100%) rename go/ql/integration-tests/{all-platforms/go/go-version-bump => go-mod-sample}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-mod-sample/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-mod-sample/src/Makefile (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-mod-sample/src/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-mod-sample/src/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-mod-sample/src/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-mod-sample/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-mod-sample/test.py (100%) rename go/ql/integration-tests/{all-platforms/go/ninja-sample => go-mod-sample}/test.ql (100%) rename go/ql/integration-tests/{all-platforms/go/make-sample => go-mod-without-version}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-mod-without-version/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-mod-without-version/src/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-mod-without-version/src/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-mod-without-version/src/subdir/add.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-mod-without-version/src/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-mod-without-version/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-mod-without-version/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-mod-without-version/test.ql (100%) rename go/ql/integration-tests/{all-platforms/go/mixed-layout => go-version-bump}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-version-bump/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-version-bump/src/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-version-bump/src/main.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/go-version-bump/test.py (100%) rename go/ql/integration-tests/{all-platforms/go/ninja-sample => make-sample}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/make-sample/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/make-sample/src/Makefile (100%) rename go/ql/integration-tests/{all-platforms/go => }/make-sample/src/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/make-sample/src/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/make-sample/src/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/make-sample/src/todel.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/make-sample/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/make-sample/test.py (100%) rename go/ql/integration-tests/{linux-only/go/dep-sample => make-sample}/test.ql (100%) rename go/ql/integration-tests/{all-platforms/go/single-go-mod-and-go-files-not-under-it => mixed-layout}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/mixed-layout/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/mixed-layout/src/module/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/mixed-layout/src/module/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/mixed-layout/src/module/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/mixed-layout/src/stray-files/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/mixed-layout/src/workspace/go.work (100%) rename go/ql/integration-tests/{all-platforms/go => }/mixed-layout/src/workspace/subdir/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/mixed-layout/src/workspace/subdir/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/mixed-layout/src/workspace/subdir/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/mixed-layout/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/mixed-layout/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/mixed-layout/test.ql (100%) rename go/ql/integration-tests/{all-platforms/go/single-go-mod-in-root => ninja-sample}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/ninja-sample/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/ninja-sample/src/.ninja_log (100%) rename go/ql/integration-tests/{all-platforms/go => }/ninja-sample/src/build.ninja (100%) rename go/ql/integration-tests/{all-platforms/go => }/ninja-sample/src/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/ninja-sample/src/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/ninja-sample/src/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/ninja-sample/src/todel.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/ninja-sample/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/ninja-sample/test.py (100%) rename go/ql/integration-tests/{linux-only/go/glide-sample => ninja-sample}/test.ql (100%) rename go/ql/integration-tests/{all-platforms/go => }/resolve-build-environment/newer-go-needed/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/resolve-build-environment/newer-go-needed/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/resolve-build-environment/newer-go-needed/src/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/resolve-build-environment/newer-go-needed/src/main.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/resolve-build-environment/newer-go-needed/test.py (100%) rename go/ql/integration-tests/{all-platforms/go/single-go-mod-not-in-root => single-go-mod-and-go-files-not-under-it}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-and-go-files-not-under-it/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-and-go-files-not-under-it/src/main.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-and-go-files-not-under-it/src/subdir/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-and-go-files-not-under-it/src/subdir/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-and-go-files-not-under-it/src/subdir/subsubdir/add.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-and-go-files-not-under-it/src/subdir/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-and-go-files-not-under-it/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-and-go-files-not-under-it/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-and-go-files-not-under-it/test.ql (100%) rename go/ql/integration-tests/{all-platforms/go/single-go-work-not-in-root => single-go-mod-in-root}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-in-root/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-in-root/src/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-in-root/src/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-in-root/src/subdir/add.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-in-root/src/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-in-root/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-in-root/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-in-root/test.ql (100%) rename go/ql/integration-tests/{all-platforms/go/two-go-mods-nested-none-in-root => single-go-mod-not-in-root}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-not-in-root/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-not-in-root/src/subdir/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-not-in-root/src/subdir/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-not-in-root/src/subdir/subsubdir/add.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-not-in-root/src/subdir/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-not-in-root/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-not-in-root/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-mod-not-in-root/test.ql (100%) rename go/ql/integration-tests/{all-platforms/go/two-go-mods-nested-one-in-root => single-go-work-not-in-root}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-work-not-in-root/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-work-not-in-root/src/modules/go.work (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-work-not-in-root/src/modules/subdir1/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-work-not-in-root/src/modules/subdir1/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-work-not-in-root/src/modules/subdir1/subsubdir1/add.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-work-not-in-root/src/modules/subdir1/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-work-not-in-root/src/modules/subdir2/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-work-not-in-root/src/modules/subdir2/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-work-not-in-root/src/modules/subdir2/subsubdir2/add.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-work-not-in-root/src/modules/subdir2/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-work-not-in-root/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-work-not-in-root/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/single-go-work-not-in-root/test.ql (100%) rename go/ql/integration-tests/{all-platforms/go/two-go-mods-not-nested => two-go-mods-nested-none-in-root}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-none-in-root/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-none-in-root/src/subdir0/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-none-in-root/src/subdir0/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-none-in-root/src/subdir0/subdir1/subsubdir1/add.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-none-in-root/src/subdir0/subdir1/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-none-in-root/src/subdir0/subdir2/add.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-none-in-root/src/subdir0/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-none-in-root/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-none-in-root/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-none-in-root/test.ql (100%) rename go/ql/integration-tests/{all-platforms/go/two-go-mods-one-failure => two-go-mods-nested-one-in-root}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-one-in-root/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-one-in-root/src/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-one-in-root/src/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-one-in-root/src/subdir1/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-one-in-root/src/subdir1/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-one-in-root/src/subdir1/subsubdir1/add.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-one-in-root/src/subdir1/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-one-in-root/src/subdir2/add.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-one-in-root/src/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-one-in-root/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-one-in-root/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-nested-one-in-root/test.ql (100%) rename go/ql/integration-tests/{linux-only/go/dep-sample => two-go-mods-not-nested}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-not-nested/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-not-nested/src/subdir1/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-not-nested/src/subdir1/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-not-nested/src/subdir1/subsubdir1/add.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-not-nested/src/subdir1/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-not-nested/src/subdir2/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-not-nested/src/subdir2/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-not-nested/src/subdir2/subsubdir2/add.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-not-nested/src/subdir2/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-not-nested/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-not-nested/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-not-nested/test.ql (100%) rename go/ql/integration-tests/{linux-only/go/glide-sample => two-go-mods-one-failure}/build_environment.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-one-failure/diagnostics.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-one-failure/src/subdir1/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-one-failure/src/subdir1/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-one-failure/src/subdir1/subsubdir1/add.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-one-failure/src/subdir1/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-one-failure/src/subdir2/go.mod (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-one-failure/src/subdir2/go.sum (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-one-failure/src/subdir2/subsubdir2/add.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-one-failure/src/subdir2/test.go (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-one-failure/test.expected (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-one-failure/test.py (100%) rename go/ql/integration-tests/{all-platforms/go => }/two-go-mods-one-failure/test.ql (100%) diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-1/build_environment.expected b/go/ql/integration-tests/bazel-sample-1/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-1/build_environment.expected rename to go/ql/integration-tests/bazel-sample-1/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-1/diagnostics.expected b/go/ql/integration-tests/bazel-sample-1/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-1/diagnostics.expected rename to go/ql/integration-tests/bazel-sample-1/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-1/src/BUILD.bazel b/go/ql/integration-tests/bazel-sample-1/src/BUILD.bazel similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-1/src/BUILD.bazel rename to go/ql/integration-tests/bazel-sample-1/src/BUILD.bazel diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-1/src/go.mod b/go/ql/integration-tests/bazel-sample-1/src/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-1/src/go.mod rename to go/ql/integration-tests/bazel-sample-1/src/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-1/src/go.sum b/go/ql/integration-tests/bazel-sample-1/src/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-1/src/go.sum rename to go/ql/integration-tests/bazel-sample-1/src/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-1/src/test.go b/go/ql/integration-tests/bazel-sample-1/src/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-1/src/test.go rename to go/ql/integration-tests/bazel-sample-1/src/test.go diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-1/src/todel.go b/go/ql/integration-tests/bazel-sample-1/src/todel.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-1/src/todel.go rename to go/ql/integration-tests/bazel-sample-1/src/todel.go diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-1/test.expected b/go/ql/integration-tests/bazel-sample-1/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-1/test.expected rename to go/ql/integration-tests/bazel-sample-1/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-1/test.py b/go/ql/integration-tests/bazel-sample-1/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-1/test.py rename to go/ql/integration-tests/bazel-sample-1/test.py diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-1/test.ql b/go/ql/integration-tests/bazel-sample-1/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-1/test.ql rename to go/ql/integration-tests/bazel-sample-1/test.ql diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-2/build_environment.expected b/go/ql/integration-tests/bazel-sample-2/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-2/build_environment.expected rename to go/ql/integration-tests/bazel-sample-2/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-2/diagnostics.expected b/go/ql/integration-tests/bazel-sample-2/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-2/diagnostics.expected rename to go/ql/integration-tests/bazel-sample-2/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-2/src/BUILD b/go/ql/integration-tests/bazel-sample-2/src/BUILD similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-2/src/BUILD rename to go/ql/integration-tests/bazel-sample-2/src/BUILD diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-2/src/go.mod b/go/ql/integration-tests/bazel-sample-2/src/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-2/src/go.mod rename to go/ql/integration-tests/bazel-sample-2/src/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-2/src/go.sum b/go/ql/integration-tests/bazel-sample-2/src/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-2/src/go.sum rename to go/ql/integration-tests/bazel-sample-2/src/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-2/src/test.go b/go/ql/integration-tests/bazel-sample-2/src/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-2/src/test.go rename to go/ql/integration-tests/bazel-sample-2/src/test.go diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-2/src/todel.go b/go/ql/integration-tests/bazel-sample-2/src/todel.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-2/src/todel.go rename to go/ql/integration-tests/bazel-sample-2/src/todel.go diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-2/test.expected b/go/ql/integration-tests/bazel-sample-2/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-2/test.expected rename to go/ql/integration-tests/bazel-sample-2/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-2/test.py b/go/ql/integration-tests/bazel-sample-2/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-2/test.py rename to go/ql/integration-tests/bazel-sample-2/test.py diff --git a/go/ql/integration-tests/all-platforms/go/bazel-sample-2/test.ql b/go/ql/integration-tests/bazel-sample-2/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/bazel-sample-2/test.ql rename to go/ql/integration-tests/bazel-sample-2/test.ql diff --git a/go/ql/integration-tests/all-platforms/go/configure-baseline/src/a/vendor/avendor.go b/go/ql/integration-tests/configure-baseline/src/a/vendor/avendor.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/configure-baseline/src/a/vendor/avendor.go rename to go/ql/integration-tests/configure-baseline/src/a/vendor/avendor.go diff --git a/go/ql/integration-tests/all-platforms/go/configure-baseline/src/a/vendor/modules.txt b/go/ql/integration-tests/configure-baseline/src/a/vendor/modules.txt similarity index 100% rename from go/ql/integration-tests/all-platforms/go/configure-baseline/src/a/vendor/modules.txt rename to go/ql/integration-tests/configure-baseline/src/a/vendor/modules.txt diff --git a/go/ql/integration-tests/all-platforms/go/configure-baseline/src/b/vendor/bvendor.go b/go/ql/integration-tests/configure-baseline/src/b/vendor/bvendor.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/configure-baseline/src/b/vendor/bvendor.go rename to go/ql/integration-tests/configure-baseline/src/b/vendor/bvendor.go diff --git a/go/ql/integration-tests/all-platforms/go/configure-baseline/src/b/vendor/modules.txt b/go/ql/integration-tests/configure-baseline/src/b/vendor/modules.txt similarity index 100% rename from go/ql/integration-tests/all-platforms/go/configure-baseline/src/b/vendor/modules.txt rename to go/ql/integration-tests/configure-baseline/src/b/vendor/modules.txt diff --git a/go/ql/integration-tests/all-platforms/go/configure-baseline/src/c/vendor/cvendor.go b/go/ql/integration-tests/configure-baseline/src/c/vendor/cvendor.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/configure-baseline/src/c/vendor/cvendor.go rename to go/ql/integration-tests/configure-baseline/src/c/vendor/cvendor.go diff --git a/go/ql/integration-tests/all-platforms/go/configure-baseline/src/root.go b/go/ql/integration-tests/configure-baseline/src/root.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/configure-baseline/src/root.go rename to go/ql/integration-tests/configure-baseline/src/root.go diff --git a/go/ql/integration-tests/all-platforms/go/configure-baseline/test.py b/go/ql/integration-tests/configure-baseline/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/configure-baseline/test.py rename to go/ql/integration-tests/configure-baseline/test.py diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/build-constraints-exclude-all-go-files/build_environment.expected b/go/ql/integration-tests/dep-sample/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/build-constraints-exclude-all-go-files/build_environment.expected rename to go/ql/integration-tests/dep-sample/build_environment.expected diff --git a/go/ql/integration-tests/linux-only/go/dep-sample/diagnostics.expected b/go/ql/integration-tests/dep-sample/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/linux-only/go/dep-sample/diagnostics.expected rename to go/ql/integration-tests/dep-sample/diagnostics.expected diff --git a/go/ql/integration-tests/linux-only/go/dep-sample/test.expected b/go/ql/integration-tests/dep-sample/test.expected similarity index 100% rename from go/ql/integration-tests/linux-only/go/dep-sample/test.expected rename to go/ql/integration-tests/dep-sample/test.expected diff --git a/go/ql/integration-tests/linux-only/go/dep-sample/test.py b/go/ql/integration-tests/dep-sample/test.py similarity index 100% rename from go/ql/integration-tests/linux-only/go/dep-sample/test.py rename to go/ql/integration-tests/dep-sample/test.py diff --git a/go/ql/integration-tests/all-platforms/go/go-get-without-modules-sample/test.ql b/go/ql/integration-tests/dep-sample/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-get-without-modules-sample/test.ql rename to go/ql/integration-tests/dep-sample/test.ql diff --git a/go/ql/integration-tests/linux-only/go/dep-sample/work/Gopkg.lock b/go/ql/integration-tests/dep-sample/work/Gopkg.lock similarity index 100% rename from go/ql/integration-tests/linux-only/go/dep-sample/work/Gopkg.lock rename to go/ql/integration-tests/dep-sample/work/Gopkg.lock diff --git a/go/ql/integration-tests/linux-only/go/dep-sample/work/Gopkg.toml b/go/ql/integration-tests/dep-sample/work/Gopkg.toml similarity index 100% rename from go/ql/integration-tests/linux-only/go/dep-sample/work/Gopkg.toml rename to go/ql/integration-tests/dep-sample/work/Gopkg.toml diff --git a/go/ql/integration-tests/linux-only/go/dep-sample/work/test.go b/go/ql/integration-tests/dep-sample/work/test.go similarity index 100% rename from go/ql/integration-tests/linux-only/go/dep-sample/work/test.go rename to go/ql/integration-tests/dep-sample/work/test.go diff --git a/go/ql/integration-tests/linux-only/go/dep-sample/work/vendor/golang.org/x/time/AUTHORS b/go/ql/integration-tests/dep-sample/work/vendor/golang.org/x/time/AUTHORS similarity index 100% rename from go/ql/integration-tests/linux-only/go/dep-sample/work/vendor/golang.org/x/time/AUTHORS rename to go/ql/integration-tests/dep-sample/work/vendor/golang.org/x/time/AUTHORS diff --git a/go/ql/integration-tests/linux-only/go/dep-sample/work/vendor/golang.org/x/time/CONTRIBUTORS b/go/ql/integration-tests/dep-sample/work/vendor/golang.org/x/time/CONTRIBUTORS similarity index 100% rename from go/ql/integration-tests/linux-only/go/dep-sample/work/vendor/golang.org/x/time/CONTRIBUTORS rename to go/ql/integration-tests/dep-sample/work/vendor/golang.org/x/time/CONTRIBUTORS diff --git a/go/ql/integration-tests/linux-only/go/dep-sample/work/vendor/golang.org/x/time/LICENSE b/go/ql/integration-tests/dep-sample/work/vendor/golang.org/x/time/LICENSE similarity index 100% rename from go/ql/integration-tests/linux-only/go/dep-sample/work/vendor/golang.org/x/time/LICENSE rename to go/ql/integration-tests/dep-sample/work/vendor/golang.org/x/time/LICENSE diff --git a/go/ql/integration-tests/linux-only/go/dep-sample/work/vendor/golang.org/x/time/PATENTS b/go/ql/integration-tests/dep-sample/work/vendor/golang.org/x/time/PATENTS similarity index 100% rename from go/ql/integration-tests/linux-only/go/dep-sample/work/vendor/golang.org/x/time/PATENTS rename to go/ql/integration-tests/dep-sample/work/vendor/golang.org/x/time/PATENTS diff --git a/go/ql/integration-tests/linux-only/go/dep-sample/work/vendor/golang.org/x/time/rate/rate.go b/go/ql/integration-tests/dep-sample/work/vendor/golang.org/x/time/rate/rate.go similarity index 100% rename from go/ql/integration-tests/linux-only/go/dep-sample/work/vendor/golang.org/x/time/rate/rate.go rename to go/ql/integration-tests/dep-sample/work/vendor/golang.org/x/time/rate/rate.go diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/build_environment.expected b/go/ql/integration-tests/diagnostics/build-constraints-exclude-all-go-files/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/build_environment.expected rename to go/ql/integration-tests/diagnostics/build-constraints-exclude-all-go-files/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/build-constraints-exclude-all-go-files/diagnostics.expected b/go/ql/integration-tests/diagnostics/build-constraints-exclude-all-go-files/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/build-constraints-exclude-all-go-files/diagnostics.expected rename to go/ql/integration-tests/diagnostics/build-constraints-exclude-all-go-files/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/build-constraints-exclude-all-go-files/test.py b/go/ql/integration-tests/diagnostics/build-constraints-exclude-all-go-files/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/build-constraints-exclude-all-go-files/test.py rename to go/ql/integration-tests/diagnostics/build-constraints-exclude-all-go-files/test.py diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/build-constraints-exclude-all-go-files/work/go.mod b/go/ql/integration-tests/diagnostics/build-constraints-exclude-all-go-files/work/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/build-constraints-exclude-all-go-files/work/go.mod rename to go/ql/integration-tests/diagnostics/build-constraints-exclude-all-go-files/work/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/build-constraints-exclude-all-go-files/work/go.sum b/go/ql/integration-tests/diagnostics/build-constraints-exclude-all-go-files/work/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/build-constraints-exclude-all-go-files/work/go.sum rename to go/ql/integration-tests/diagnostics/build-constraints-exclude-all-go-files/work/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/build-constraints-exclude-all-go-files/work/test.go b/go/ql/integration-tests/diagnostics/build-constraints-exclude-all-go-files/work/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/build-constraints-exclude-all-go-files/work/test.go rename to go/ql/integration-tests/diagnostics/build-constraints-exclude-all-go-files/work/test.go diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/invalid-toolchain-version/build_environment.expected b/go/ql/integration-tests/diagnostics/go-files-found-not-processed/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/invalid-toolchain-version/build_environment.expected rename to go/ql/integration-tests/diagnostics/go-files-found-not-processed/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/diagnostics.expected b/go/ql/integration-tests/diagnostics/go-files-found-not-processed/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/diagnostics.expected rename to go/ql/integration-tests/diagnostics/go-files-found-not-processed/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/test.expected b/go/ql/integration-tests/diagnostics/go-files-found-not-processed/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/test.expected rename to go/ql/integration-tests/diagnostics/go-files-found-not-processed/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/test.py b/go/ql/integration-tests/diagnostics/go-files-found-not-processed/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/test.py rename to go/ql/integration-tests/diagnostics/go-files-found-not-processed/test.py diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/test.ql b/go/ql/integration-tests/diagnostics/go-files-found-not-processed/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/test.ql rename to go/ql/integration-tests/diagnostics/go-files-found-not-processed/test.ql diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/work/go.mod b/go/ql/integration-tests/diagnostics/go-files-found-not-processed/work/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/work/go.mod rename to go/ql/integration-tests/diagnostics/go-files-found-not-processed/work/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/work/go.sum b/go/ql/integration-tests/diagnostics/go-files-found-not-processed/work/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/work/go.sum rename to go/ql/integration-tests/diagnostics/go-files-found-not-processed/work/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/work/subdir/go.mod b/go/ql/integration-tests/diagnostics/go-files-found-not-processed/work/subdir/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/work/subdir/go.mod rename to go/ql/integration-tests/diagnostics/go-files-found-not-processed/work/subdir/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/work/subdir/go.sum b/go/ql/integration-tests/diagnostics/go-files-found-not-processed/work/subdir/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/work/subdir/go.sum rename to go/ql/integration-tests/diagnostics/go-files-found-not-processed/work/subdir/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/work/subdir/test.go b/go/ql/integration-tests/diagnostics/go-files-found-not-processed/work/subdir/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/go-files-found-not-processed/work/subdir/test.go rename to go/ql/integration-tests/diagnostics/go-files-found-not-processed/work/subdir/test.go diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/newer-go-version-needed/build_environment.expected b/go/ql/integration-tests/diagnostics/invalid-toolchain-version/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/newer-go-version-needed/build_environment.expected rename to go/ql/integration-tests/diagnostics/invalid-toolchain-version/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/invalid-toolchain-version/diagnostics.expected b/go/ql/integration-tests/diagnostics/invalid-toolchain-version/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/invalid-toolchain-version/diagnostics.expected rename to go/ql/integration-tests/diagnostics/invalid-toolchain-version/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/invalid-toolchain-version/src/go.mod b/go/ql/integration-tests/diagnostics/invalid-toolchain-version/src/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/invalid-toolchain-version/src/go.mod rename to go/ql/integration-tests/diagnostics/invalid-toolchain-version/src/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/invalid-toolchain-version/src/main.go b/go/ql/integration-tests/diagnostics/invalid-toolchain-version/src/main.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/invalid-toolchain-version/src/main.go rename to go/ql/integration-tests/diagnostics/invalid-toolchain-version/src/main.go diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/invalid-toolchain-version/test.py b/go/ql/integration-tests/diagnostics/invalid-toolchain-version/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/invalid-toolchain-version/test.py rename to go/ql/integration-tests/diagnostics/invalid-toolchain-version/test.py diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/no-go-files-found/build_environment.expected b/go/ql/integration-tests/diagnostics/newer-go-version-needed/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/no-go-files-found/build_environment.expected rename to go/ql/integration-tests/diagnostics/newer-go-version-needed/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/newer-go-version-needed/diagnostics.expected b/go/ql/integration-tests/diagnostics/newer-go-version-needed/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/newer-go-version-needed/diagnostics.expected rename to go/ql/integration-tests/diagnostics/newer-go-version-needed/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/newer-go-version-needed/test.py b/go/ql/integration-tests/diagnostics/newer-go-version-needed/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/newer-go-version-needed/test.py rename to go/ql/integration-tests/diagnostics/newer-go-version-needed/test.py diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/newer-go-version-needed/work/go.mod b/go/ql/integration-tests/diagnostics/newer-go-version-needed/work/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/newer-go-version-needed/work/go.mod rename to go/ql/integration-tests/diagnostics/newer-go-version-needed/work/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/newer-go-version-needed/work/go.sum b/go/ql/integration-tests/diagnostics/newer-go-version-needed/work/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/newer-go-version-needed/work/go.sum rename to go/ql/integration-tests/diagnostics/newer-go-version-needed/work/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/newer-go-version-needed/work/test.go b/go/ql/integration-tests/diagnostics/newer-go-version-needed/work/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/newer-go-version-needed/work/test.go rename to go/ql/integration-tests/diagnostics/newer-go-version-needed/work/test.go diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-with-go-mod/build_environment.expected b/go/ql/integration-tests/diagnostics/no-go-files-found/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-with-go-mod/build_environment.expected rename to go/ql/integration-tests/diagnostics/no-go-files-found/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/no-go-files-found/diagnostics.expected b/go/ql/integration-tests/diagnostics/no-go-files-found/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/no-go-files-found/diagnostics.expected rename to go/ql/integration-tests/diagnostics/no-go-files-found/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/no-go-files-found/test.py b/go/ql/integration-tests/diagnostics/no-go-files-found/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/no-go-files-found/test.py rename to go/ql/integration-tests/diagnostics/no-go-files-found/test.py diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/no-go-files-found/work/test.txt b/go/ql/integration-tests/diagnostics/no-go-files-found/work/test.txt similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/no-go-files-found/work/test.txt rename to go/ql/integration-tests/diagnostics/no-go-files-found/work/test.txt diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-without-go-mod/build_environment.expected b/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-without-go-mod/build_environment.expected rename to go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-with-go-mod/diagnostics.expected b/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-with-go-mod/diagnostics.expected rename to go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-with-go-mod/test.py b/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-with-go-mod/test.py rename to go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/test.py diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-with-go-mod/work/go.mod b/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-with-go-mod/work/go.mod rename to go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-with-go-mod/work/go.sum b/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-with-go-mod/work/go.sum rename to go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-with-go-mod/work/test.go b/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-with-go-mod/work/test.go rename to go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/test.go diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/unsupported-relative-path/build_environment.expected b/go/ql/integration-tests/diagnostics/package-not-found-without-go-mod/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/unsupported-relative-path/build_environment.expected rename to go/ql/integration-tests/diagnostics/package-not-found-without-go-mod/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-without-go-mod/diagnostics.expected b/go/ql/integration-tests/diagnostics/package-not-found-without-go-mod/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-without-go-mod/diagnostics.expected rename to go/ql/integration-tests/diagnostics/package-not-found-without-go-mod/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-without-go-mod/test.py b/go/ql/integration-tests/diagnostics/package-not-found-without-go-mod/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-without-go-mod/test.py rename to go/ql/integration-tests/diagnostics/package-not-found-without-go-mod/test.py diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-without-go-mod/work/test.go b/go/ql/integration-tests/diagnostics/package-not-found-without-go-mod/work/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/package-not-found-without-go-mod/work/test.go rename to go/ql/integration-tests/diagnostics/package-not-found-without-go-mod/work/test.go diff --git a/go/ql/integration-tests/all-platforms/go/extract-vendor/build_environment.expected b/go/ql/integration-tests/diagnostics/unsupported-relative-path/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/extract-vendor/build_environment.expected rename to go/ql/integration-tests/diagnostics/unsupported-relative-path/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/unsupported-relative-path/diagnostics.expected b/go/ql/integration-tests/diagnostics/unsupported-relative-path/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/unsupported-relative-path/diagnostics.expected rename to go/ql/integration-tests/diagnostics/unsupported-relative-path/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/unsupported-relative-path/test.py b/go/ql/integration-tests/diagnostics/unsupported-relative-path/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/unsupported-relative-path/test.py rename to go/ql/integration-tests/diagnostics/unsupported-relative-path/test.py diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/unsupported-relative-path/work/main/main.go b/go/ql/integration-tests/diagnostics/unsupported-relative-path/work/main/main.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/unsupported-relative-path/work/main/main.go rename to go/ql/integration-tests/diagnostics/unsupported-relative-path/work/main/main.go diff --git a/go/ql/integration-tests/all-platforms/go/diagnostics/unsupported-relative-path/work/main/subpkg/subpkg.go b/go/ql/integration-tests/diagnostics/unsupported-relative-path/work/main/subpkg/subpkg.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/diagnostics/unsupported-relative-path/work/main/subpkg/subpkg.go rename to go/ql/integration-tests/diagnostics/unsupported-relative-path/work/main/subpkg/subpkg.go diff --git a/go/ql/integration-tests/all-platforms/go/go-get-without-modules-sample/build_environment.expected b/go/ql/integration-tests/extract-vendor/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-get-without-modules-sample/build_environment.expected rename to go/ql/integration-tests/extract-vendor/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/extract-vendor/diagnostics.expected b/go/ql/integration-tests/extract-vendor/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/extract-vendor/diagnostics.expected rename to go/ql/integration-tests/extract-vendor/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/extract-vendor/src/go.mod b/go/ql/integration-tests/extract-vendor/src/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/extract-vendor/src/go.mod rename to go/ql/integration-tests/extract-vendor/src/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/extract-vendor/src/go.sum b/go/ql/integration-tests/extract-vendor/src/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/extract-vendor/src/go.sum rename to go/ql/integration-tests/extract-vendor/src/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/extract-vendor/src/test.go b/go/ql/integration-tests/extract-vendor/src/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/extract-vendor/src/test.go rename to go/ql/integration-tests/extract-vendor/src/test.go diff --git a/go/ql/integration-tests/all-platforms/go/extract-vendor/src/vendor/example.com/test/add.go b/go/ql/integration-tests/extract-vendor/src/vendor/example.com/test/add.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/extract-vendor/src/vendor/example.com/test/add.go rename to go/ql/integration-tests/extract-vendor/src/vendor/example.com/test/add.go diff --git a/go/ql/integration-tests/all-platforms/go/extract-vendor/src/vendor/modules.txt b/go/ql/integration-tests/extract-vendor/src/vendor/modules.txt similarity index 100% rename from go/ql/integration-tests/all-platforms/go/extract-vendor/src/vendor/modules.txt rename to go/ql/integration-tests/extract-vendor/src/vendor/modules.txt diff --git a/go/ql/integration-tests/all-platforms/go/extract-vendor/test.expected b/go/ql/integration-tests/extract-vendor/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/extract-vendor/test.expected rename to go/ql/integration-tests/extract-vendor/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/extract-vendor/test.py b/go/ql/integration-tests/extract-vendor/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/extract-vendor/test.py rename to go/ql/integration-tests/extract-vendor/test.py diff --git a/go/ql/integration-tests/all-platforms/go/extract-vendor/test.ql b/go/ql/integration-tests/extract-vendor/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/extract-vendor/test.ql rename to go/ql/integration-tests/extract-vendor/test.ql diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-sample/build_environment.expected b/go/ql/integration-tests/glide-sample/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-sample/build_environment.expected rename to go/ql/integration-tests/glide-sample/build_environment.expected diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/diagnostics.expected b/go/ql/integration-tests/glide-sample/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/diagnostics.expected rename to go/ql/integration-tests/glide-sample/diagnostics.expected diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/force_sequential_test_execution b/go/ql/integration-tests/glide-sample/force_sequential_test_execution similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/force_sequential_test_execution rename to go/ql/integration-tests/glide-sample/force_sequential_test_execution diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/test.expected b/go/ql/integration-tests/glide-sample/test.expected similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/test.expected rename to go/ql/integration-tests/glide-sample/test.expected diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/test.py b/go/ql/integration-tests/glide-sample/test.py similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/test.py rename to go/ql/integration-tests/glide-sample/test.py diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-sample/test.ql b/go/ql/integration-tests/glide-sample/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-sample/test.ql rename to go/ql/integration-tests/glide-sample/test.ql diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/work/glide.lock b/go/ql/integration-tests/glide-sample/work/glide.lock similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/work/glide.lock rename to go/ql/integration-tests/glide-sample/work/glide.lock diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/work/glide.yaml b/go/ql/integration-tests/glide-sample/work/glide.yaml similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/work/glide.yaml rename to go/ql/integration-tests/glide-sample/work/glide.yaml diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/work/test.go b/go/ql/integration-tests/glide-sample/work/test.go similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/work/test.go rename to go/ql/integration-tests/glide-sample/work/test.go diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/AUTHORS b/go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/AUTHORS similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/AUTHORS rename to go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/AUTHORS diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/CONTRIBUTING.md b/go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/CONTRIBUTING.md similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/CONTRIBUTING.md rename to go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/CONTRIBUTING.md diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/CONTRIBUTORS b/go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/CONTRIBUTORS similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/CONTRIBUTORS rename to go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/CONTRIBUTORS diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/LICENSE b/go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/LICENSE similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/LICENSE rename to go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/LICENSE diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/PATENTS b/go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/PATENTS similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/PATENTS rename to go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/PATENTS diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/README.md b/go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/README.md similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/README.md rename to go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/README.md diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/go.mod b/go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/go.mod similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/go.mod rename to go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/go.mod diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/rate/rate.go b/go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/rate/rate.go similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/rate/rate.go rename to go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/rate/rate.go diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/rate/rate_test.go b/go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/rate/rate_test.go similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/work/vendor/golang.org/x/time/rate/rate_test.go rename to go/ql/integration-tests/glide-sample/work/vendor/golang.org/x/time/rate/rate_test.go diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-without-version/build_environment.expected b/go/ql/integration-tests/go-get-without-modules-sample/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-without-version/build_environment.expected rename to go/ql/integration-tests/go-get-without-modules-sample/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/go-get-without-modules-sample/src/test.go b/go/ql/integration-tests/go-get-without-modules-sample/src/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-get-without-modules-sample/src/test.go rename to go/ql/integration-tests/go-get-without-modules-sample/src/test.go diff --git a/go/ql/integration-tests/all-platforms/go/go-get-without-modules-sample/test.expected b/go/ql/integration-tests/go-get-without-modules-sample/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-get-without-modules-sample/test.expected rename to go/ql/integration-tests/go-get-without-modules-sample/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/go-get-without-modules-sample/test.py b/go/ql/integration-tests/go-get-without-modules-sample/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-get-without-modules-sample/test.py rename to go/ql/integration-tests/go-get-without-modules-sample/test.py diff --git a/go/ql/integration-tests/all-platforms/go/make-sample/test.ql b/go/ql/integration-tests/go-get-without-modules-sample/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/make-sample/test.ql rename to go/ql/integration-tests/go-get-without-modules-sample/test.ql diff --git a/go/ql/integration-tests/all-platforms/go/go-version-bump/build_environment.expected b/go/ql/integration-tests/go-mod-sample/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-version-bump/build_environment.expected rename to go/ql/integration-tests/go-mod-sample/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-sample/diagnostics.expected b/go/ql/integration-tests/go-mod-sample/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-sample/diagnostics.expected rename to go/ql/integration-tests/go-mod-sample/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-sample/src/Makefile b/go/ql/integration-tests/go-mod-sample/src/Makefile similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-sample/src/Makefile rename to go/ql/integration-tests/go-mod-sample/src/Makefile diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-sample/src/go.mod b/go/ql/integration-tests/go-mod-sample/src/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-sample/src/go.mod rename to go/ql/integration-tests/go-mod-sample/src/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-sample/src/go.sum b/go/ql/integration-tests/go-mod-sample/src/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-sample/src/go.sum rename to go/ql/integration-tests/go-mod-sample/src/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-sample/src/test.go b/go/ql/integration-tests/go-mod-sample/src/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-sample/src/test.go rename to go/ql/integration-tests/go-mod-sample/src/test.go diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-sample/test.expected b/go/ql/integration-tests/go-mod-sample/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-sample/test.expected rename to go/ql/integration-tests/go-mod-sample/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-sample/test.py b/go/ql/integration-tests/go-mod-sample/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-sample/test.py rename to go/ql/integration-tests/go-mod-sample/test.py diff --git a/go/ql/integration-tests/all-platforms/go/ninja-sample/test.ql b/go/ql/integration-tests/go-mod-sample/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/ninja-sample/test.ql rename to go/ql/integration-tests/go-mod-sample/test.ql diff --git a/go/ql/integration-tests/all-platforms/go/make-sample/build_environment.expected b/go/ql/integration-tests/go-mod-without-version/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/make-sample/build_environment.expected rename to go/ql/integration-tests/go-mod-without-version/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-without-version/diagnostics.expected b/go/ql/integration-tests/go-mod-without-version/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-without-version/diagnostics.expected rename to go/ql/integration-tests/go-mod-without-version/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-without-version/src/go.mod b/go/ql/integration-tests/go-mod-without-version/src/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-without-version/src/go.mod rename to go/ql/integration-tests/go-mod-without-version/src/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-without-version/src/go.sum b/go/ql/integration-tests/go-mod-without-version/src/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-without-version/src/go.sum rename to go/ql/integration-tests/go-mod-without-version/src/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-without-version/src/subdir/add.go b/go/ql/integration-tests/go-mod-without-version/src/subdir/add.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-without-version/src/subdir/add.go rename to go/ql/integration-tests/go-mod-without-version/src/subdir/add.go diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-without-version/src/test.go b/go/ql/integration-tests/go-mod-without-version/src/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-without-version/src/test.go rename to go/ql/integration-tests/go-mod-without-version/src/test.go diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-without-version/test.expected b/go/ql/integration-tests/go-mod-without-version/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-without-version/test.expected rename to go/ql/integration-tests/go-mod-without-version/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-without-version/test.py b/go/ql/integration-tests/go-mod-without-version/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-without-version/test.py rename to go/ql/integration-tests/go-mod-without-version/test.py diff --git a/go/ql/integration-tests/all-platforms/go/go-mod-without-version/test.ql b/go/ql/integration-tests/go-mod-without-version/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-mod-without-version/test.ql rename to go/ql/integration-tests/go-mod-without-version/test.ql diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/build_environment.expected b/go/ql/integration-tests/go-version-bump/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/mixed-layout/build_environment.expected rename to go/ql/integration-tests/go-version-bump/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/go-version-bump/diagnostics.expected b/go/ql/integration-tests/go-version-bump/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-version-bump/diagnostics.expected rename to go/ql/integration-tests/go-version-bump/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/go-version-bump/src/go.mod b/go/ql/integration-tests/go-version-bump/src/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-version-bump/src/go.mod rename to go/ql/integration-tests/go-version-bump/src/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/go-version-bump/src/main.go b/go/ql/integration-tests/go-version-bump/src/main.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-version-bump/src/main.go rename to go/ql/integration-tests/go-version-bump/src/main.go diff --git a/go/ql/integration-tests/all-platforms/go/go-version-bump/test.py b/go/ql/integration-tests/go-version-bump/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/go-version-bump/test.py rename to go/ql/integration-tests/go-version-bump/test.py diff --git a/go/ql/integration-tests/all-platforms/go/ninja-sample/build_environment.expected b/go/ql/integration-tests/make-sample/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/ninja-sample/build_environment.expected rename to go/ql/integration-tests/make-sample/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/make-sample/diagnostics.expected b/go/ql/integration-tests/make-sample/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/make-sample/diagnostics.expected rename to go/ql/integration-tests/make-sample/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/make-sample/src/Makefile b/go/ql/integration-tests/make-sample/src/Makefile similarity index 100% rename from go/ql/integration-tests/all-platforms/go/make-sample/src/Makefile rename to go/ql/integration-tests/make-sample/src/Makefile diff --git a/go/ql/integration-tests/all-platforms/go/make-sample/src/go.mod b/go/ql/integration-tests/make-sample/src/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/make-sample/src/go.mod rename to go/ql/integration-tests/make-sample/src/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/make-sample/src/go.sum b/go/ql/integration-tests/make-sample/src/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/make-sample/src/go.sum rename to go/ql/integration-tests/make-sample/src/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/make-sample/src/test.go b/go/ql/integration-tests/make-sample/src/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/make-sample/src/test.go rename to go/ql/integration-tests/make-sample/src/test.go diff --git a/go/ql/integration-tests/all-platforms/go/make-sample/src/todel.go b/go/ql/integration-tests/make-sample/src/todel.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/make-sample/src/todel.go rename to go/ql/integration-tests/make-sample/src/todel.go diff --git a/go/ql/integration-tests/all-platforms/go/make-sample/test.expected b/go/ql/integration-tests/make-sample/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/make-sample/test.expected rename to go/ql/integration-tests/make-sample/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/make-sample/test.py b/go/ql/integration-tests/make-sample/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/make-sample/test.py rename to go/ql/integration-tests/make-sample/test.py diff --git a/go/ql/integration-tests/linux-only/go/dep-sample/test.ql b/go/ql/integration-tests/make-sample/test.ql similarity index 100% rename from go/ql/integration-tests/linux-only/go/dep-sample/test.ql rename to go/ql/integration-tests/make-sample/test.ql diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/build_environment.expected b/go/ql/integration-tests/mixed-layout/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/build_environment.expected rename to go/ql/integration-tests/mixed-layout/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/diagnostics.expected b/go/ql/integration-tests/mixed-layout/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/mixed-layout/diagnostics.expected rename to go/ql/integration-tests/mixed-layout/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/src/module/go.mod b/go/ql/integration-tests/mixed-layout/src/module/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/mixed-layout/src/module/go.mod rename to go/ql/integration-tests/mixed-layout/src/module/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/src/module/go.sum b/go/ql/integration-tests/mixed-layout/src/module/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/mixed-layout/src/module/go.sum rename to go/ql/integration-tests/mixed-layout/src/module/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/src/module/test.go b/go/ql/integration-tests/mixed-layout/src/module/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/mixed-layout/src/module/test.go rename to go/ql/integration-tests/mixed-layout/src/module/test.go diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/src/stray-files/test.go b/go/ql/integration-tests/mixed-layout/src/stray-files/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/mixed-layout/src/stray-files/test.go rename to go/ql/integration-tests/mixed-layout/src/stray-files/test.go diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/go.work b/go/ql/integration-tests/mixed-layout/src/workspace/go.work similarity index 100% rename from go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/go.work rename to go/ql/integration-tests/mixed-layout/src/workspace/go.work diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/subdir/go.mod b/go/ql/integration-tests/mixed-layout/src/workspace/subdir/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/subdir/go.mod rename to go/ql/integration-tests/mixed-layout/src/workspace/subdir/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/subdir/go.sum b/go/ql/integration-tests/mixed-layout/src/workspace/subdir/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/subdir/go.sum rename to go/ql/integration-tests/mixed-layout/src/workspace/subdir/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/subdir/test.go b/go/ql/integration-tests/mixed-layout/src/workspace/subdir/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/subdir/test.go rename to go/ql/integration-tests/mixed-layout/src/workspace/subdir/test.go diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/test.expected b/go/ql/integration-tests/mixed-layout/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/mixed-layout/test.expected rename to go/ql/integration-tests/mixed-layout/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/test.py b/go/ql/integration-tests/mixed-layout/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/mixed-layout/test.py rename to go/ql/integration-tests/mixed-layout/test.py diff --git a/go/ql/integration-tests/all-platforms/go/mixed-layout/test.ql b/go/ql/integration-tests/mixed-layout/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/mixed-layout/test.ql rename to go/ql/integration-tests/mixed-layout/test.ql diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/build_environment.expected b/go/ql/integration-tests/ninja-sample/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/build_environment.expected rename to go/ql/integration-tests/ninja-sample/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/ninja-sample/diagnostics.expected b/go/ql/integration-tests/ninja-sample/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/ninja-sample/diagnostics.expected rename to go/ql/integration-tests/ninja-sample/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/ninja-sample/src/.ninja_log b/go/ql/integration-tests/ninja-sample/src/.ninja_log similarity index 100% rename from go/ql/integration-tests/all-platforms/go/ninja-sample/src/.ninja_log rename to go/ql/integration-tests/ninja-sample/src/.ninja_log diff --git a/go/ql/integration-tests/all-platforms/go/ninja-sample/src/build.ninja b/go/ql/integration-tests/ninja-sample/src/build.ninja similarity index 100% rename from go/ql/integration-tests/all-platforms/go/ninja-sample/src/build.ninja rename to go/ql/integration-tests/ninja-sample/src/build.ninja diff --git a/go/ql/integration-tests/all-platforms/go/ninja-sample/src/go.mod b/go/ql/integration-tests/ninja-sample/src/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/ninja-sample/src/go.mod rename to go/ql/integration-tests/ninja-sample/src/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/ninja-sample/src/go.sum b/go/ql/integration-tests/ninja-sample/src/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/ninja-sample/src/go.sum rename to go/ql/integration-tests/ninja-sample/src/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/ninja-sample/src/test.go b/go/ql/integration-tests/ninja-sample/src/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/ninja-sample/src/test.go rename to go/ql/integration-tests/ninja-sample/src/test.go diff --git a/go/ql/integration-tests/all-platforms/go/ninja-sample/src/todel.go b/go/ql/integration-tests/ninja-sample/src/todel.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/ninja-sample/src/todel.go rename to go/ql/integration-tests/ninja-sample/src/todel.go diff --git a/go/ql/integration-tests/all-platforms/go/ninja-sample/test.expected b/go/ql/integration-tests/ninja-sample/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/ninja-sample/test.expected rename to go/ql/integration-tests/ninja-sample/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/ninja-sample/test.py b/go/ql/integration-tests/ninja-sample/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/ninja-sample/test.py rename to go/ql/integration-tests/ninja-sample/test.py diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/test.ql b/go/ql/integration-tests/ninja-sample/test.ql similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/test.ql rename to go/ql/integration-tests/ninja-sample/test.ql diff --git a/go/ql/integration-tests/all-platforms/go/resolve-build-environment/newer-go-needed/build_environment.expected b/go/ql/integration-tests/resolve-build-environment/newer-go-needed/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/resolve-build-environment/newer-go-needed/build_environment.expected rename to go/ql/integration-tests/resolve-build-environment/newer-go-needed/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/resolve-build-environment/newer-go-needed/diagnostics.expected b/go/ql/integration-tests/resolve-build-environment/newer-go-needed/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/resolve-build-environment/newer-go-needed/diagnostics.expected rename to go/ql/integration-tests/resolve-build-environment/newer-go-needed/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/resolve-build-environment/newer-go-needed/src/go.mod b/go/ql/integration-tests/resolve-build-environment/newer-go-needed/src/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/resolve-build-environment/newer-go-needed/src/go.mod rename to go/ql/integration-tests/resolve-build-environment/newer-go-needed/src/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/resolve-build-environment/newer-go-needed/src/main.go b/go/ql/integration-tests/resolve-build-environment/newer-go-needed/src/main.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/resolve-build-environment/newer-go-needed/src/main.go rename to go/ql/integration-tests/resolve-build-environment/newer-go-needed/src/main.go diff --git a/go/ql/integration-tests/all-platforms/go/resolve-build-environment/newer-go-needed/test.py b/go/ql/integration-tests/resolve-build-environment/newer-go-needed/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/resolve-build-environment/newer-go-needed/test.py rename to go/ql/integration-tests/resolve-build-environment/newer-go-needed/test.py diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/build_environment.expected b/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/build_environment.expected rename to go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/diagnostics.expected b/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/diagnostics.expected rename to go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/src/main.go b/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/main.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/src/main.go rename to go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/main.go diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/src/subdir/go.mod b/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/subdir/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/src/subdir/go.mod rename to go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/subdir/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/src/subdir/go.sum b/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/subdir/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/src/subdir/go.sum rename to go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/subdir/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/src/subdir/subsubdir/add.go b/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/subdir/subsubdir/add.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/src/subdir/subsubdir/add.go rename to go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/subdir/subsubdir/add.go diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/src/subdir/test.go b/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/subdir/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/src/subdir/test.go rename to go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/subdir/test.go diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/test.expected b/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/test.expected rename to go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/test.py b/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/test.py rename to go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/test.py diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/test.ql b/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/test.ql rename to go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/test.ql diff --git a/go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/build_environment.expected b/go/ql/integration-tests/single-go-mod-in-root/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/build_environment.expected rename to go/ql/integration-tests/single-go-mod-in-root/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/diagnostics.expected b/go/ql/integration-tests/single-go-mod-in-root/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/diagnostics.expected rename to go/ql/integration-tests/single-go-mod-in-root/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/src/go.mod b/go/ql/integration-tests/single-go-mod-in-root/src/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/src/go.mod rename to go/ql/integration-tests/single-go-mod-in-root/src/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/src/go.sum b/go/ql/integration-tests/single-go-mod-in-root/src/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/src/go.sum rename to go/ql/integration-tests/single-go-mod-in-root/src/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/src/subdir/add.go b/go/ql/integration-tests/single-go-mod-in-root/src/subdir/add.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/src/subdir/add.go rename to go/ql/integration-tests/single-go-mod-in-root/src/subdir/add.go diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/src/test.go b/go/ql/integration-tests/single-go-mod-in-root/src/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/src/test.go rename to go/ql/integration-tests/single-go-mod-in-root/src/test.go diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/test.expected b/go/ql/integration-tests/single-go-mod-in-root/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/test.expected rename to go/ql/integration-tests/single-go-mod-in-root/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/test.py b/go/ql/integration-tests/single-go-mod-in-root/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/test.py rename to go/ql/integration-tests/single-go-mod-in-root/test.py diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/test.ql b/go/ql/integration-tests/single-go-mod-in-root/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/test.ql rename to go/ql/integration-tests/single-go-mod-in-root/test.ql diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/build_environment.expected b/go/ql/integration-tests/single-go-mod-not-in-root/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/build_environment.expected rename to go/ql/integration-tests/single-go-mod-not-in-root/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/diagnostics.expected b/go/ql/integration-tests/single-go-mod-not-in-root/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/diagnostics.expected rename to go/ql/integration-tests/single-go-mod-not-in-root/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/src/subdir/go.mod b/go/ql/integration-tests/single-go-mod-not-in-root/src/subdir/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/src/subdir/go.mod rename to go/ql/integration-tests/single-go-mod-not-in-root/src/subdir/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/src/subdir/go.sum b/go/ql/integration-tests/single-go-mod-not-in-root/src/subdir/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/src/subdir/go.sum rename to go/ql/integration-tests/single-go-mod-not-in-root/src/subdir/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/src/subdir/subsubdir/add.go b/go/ql/integration-tests/single-go-mod-not-in-root/src/subdir/subsubdir/add.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/src/subdir/subsubdir/add.go rename to go/ql/integration-tests/single-go-mod-not-in-root/src/subdir/subsubdir/add.go diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/src/subdir/test.go b/go/ql/integration-tests/single-go-mod-not-in-root/src/subdir/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/src/subdir/test.go rename to go/ql/integration-tests/single-go-mod-not-in-root/src/subdir/test.go diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/test.expected b/go/ql/integration-tests/single-go-mod-not-in-root/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/test.expected rename to go/ql/integration-tests/single-go-mod-not-in-root/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/test.py b/go/ql/integration-tests/single-go-mod-not-in-root/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/test.py rename to go/ql/integration-tests/single-go-mod-not-in-root/test.py diff --git a/go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/test.ql b/go/ql/integration-tests/single-go-mod-not-in-root/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/test.ql rename to go/ql/integration-tests/single-go-mod-not-in-root/test.ql diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/build_environment.expected b/go/ql/integration-tests/single-go-work-not-in-root/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/build_environment.expected rename to go/ql/integration-tests/single-go-work-not-in-root/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/diagnostics.expected b/go/ql/integration-tests/single-go-work-not-in-root/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/diagnostics.expected rename to go/ql/integration-tests/single-go-work-not-in-root/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/go.work b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/go.work similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/go.work rename to go/ql/integration-tests/single-go-work-not-in-root/src/modules/go.work diff --git a/go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir1/go.mod b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir1/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir1/go.mod rename to go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir1/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir1/go.sum b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir1/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir1/go.sum rename to go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir1/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir1/subsubdir1/add.go b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir1/subsubdir1/add.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir1/subsubdir1/add.go rename to go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir1/subsubdir1/add.go diff --git a/go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir1/test.go b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir1/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir1/test.go rename to go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir1/test.go diff --git a/go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir2/go.mod b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir2/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir2/go.mod rename to go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir2/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir2/go.sum b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir2/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir2/go.sum rename to go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir2/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir2/subsubdir2/add.go b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir2/subsubdir2/add.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir2/subsubdir2/add.go rename to go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir2/subsubdir2/add.go diff --git a/go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir2/test.go b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir2/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir2/test.go rename to go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir2/test.go diff --git a/go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/test.expected b/go/ql/integration-tests/single-go-work-not-in-root/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/test.expected rename to go/ql/integration-tests/single-go-work-not-in-root/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/test.py b/go/ql/integration-tests/single-go-work-not-in-root/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/test.py rename to go/ql/integration-tests/single-go-work-not-in-root/test.py diff --git a/go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/test.ql b/go/ql/integration-tests/single-go-work-not-in-root/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/test.ql rename to go/ql/integration-tests/single-go-work-not-in-root/test.ql diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/build_environment.expected b/go/ql/integration-tests/two-go-mods-nested-none-in-root/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/build_environment.expected rename to go/ql/integration-tests/two-go-mods-nested-none-in-root/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/diagnostics.expected b/go/ql/integration-tests/two-go-mods-nested-none-in-root/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/diagnostics.expected rename to go/ql/integration-tests/two-go-mods-nested-none-in-root/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/go.mod b/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/go.mod rename to go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/go.sum b/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/go.sum rename to go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.mod b/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.mod rename to go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.sum b/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.sum rename to go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/subdir1/subsubdir1/add.go b/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir1/subsubdir1/add.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/subdir1/subsubdir1/add.go rename to go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir1/subsubdir1/add.go diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/subdir1/test.go b/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir1/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/subdir1/test.go rename to go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir1/test.go diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/subdir2/add.go b/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir2/add.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/subdir2/add.go rename to go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir2/add.go diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/test.go b/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/test.go rename to go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/test.go diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/test.expected b/go/ql/integration-tests/two-go-mods-nested-none-in-root/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/test.expected rename to go/ql/integration-tests/two-go-mods-nested-none-in-root/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/test.py b/go/ql/integration-tests/two-go-mods-nested-none-in-root/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/test.py rename to go/ql/integration-tests/two-go-mods-nested-none-in-root/test.py diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/test.ql b/go/ql/integration-tests/two-go-mods-nested-none-in-root/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/test.ql rename to go/ql/integration-tests/two-go-mods-nested-none-in-root/test.ql diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/build_environment.expected b/go/ql/integration-tests/two-go-mods-nested-one-in-root/build_environment.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/build_environment.expected rename to go/ql/integration-tests/two-go-mods-nested-one-in-root/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/diagnostics.expected b/go/ql/integration-tests/two-go-mods-nested-one-in-root/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/diagnostics.expected rename to go/ql/integration-tests/two-go-mods-nested-one-in-root/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src/go.mod b/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src/go.mod rename to go/ql/integration-tests/two-go-mods-nested-one-in-root/src/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src/go.sum b/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src/go.sum rename to go/ql/integration-tests/two-go-mods-nested-one-in-root/src/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src/subdir1/go.mod b/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir1/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src/subdir1/go.mod rename to go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir1/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src/subdir1/go.sum b/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir1/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src/subdir1/go.sum rename to go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir1/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src/subdir1/subsubdir1/add.go b/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir1/subsubdir1/add.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src/subdir1/subsubdir1/add.go rename to go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir1/subsubdir1/add.go diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src/subdir1/test.go b/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir1/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src/subdir1/test.go rename to go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir1/test.go diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src/subdir2/add.go b/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir2/add.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src/subdir2/add.go rename to go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir2/add.go diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src/test.go b/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src/test.go rename to go/ql/integration-tests/two-go-mods-nested-one-in-root/src/test.go diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/test.expected b/go/ql/integration-tests/two-go-mods-nested-one-in-root/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/test.expected rename to go/ql/integration-tests/two-go-mods-nested-one-in-root/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/test.py b/go/ql/integration-tests/two-go-mods-nested-one-in-root/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/test.py rename to go/ql/integration-tests/two-go-mods-nested-one-in-root/test.py diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/test.ql b/go/ql/integration-tests/two-go-mods-nested-one-in-root/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/test.ql rename to go/ql/integration-tests/two-go-mods-nested-one-in-root/test.ql diff --git a/go/ql/integration-tests/linux-only/go/dep-sample/build_environment.expected b/go/ql/integration-tests/two-go-mods-not-nested/build_environment.expected similarity index 100% rename from go/ql/integration-tests/linux-only/go/dep-sample/build_environment.expected rename to go/ql/integration-tests/two-go-mods-not-nested/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/diagnostics.expected b/go/ql/integration-tests/two-go-mods-not-nested/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/diagnostics.expected rename to go/ql/integration-tests/two-go-mods-not-nested/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/src/subdir1/go.mod b/go/ql/integration-tests/two-go-mods-not-nested/src/subdir1/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/src/subdir1/go.mod rename to go/ql/integration-tests/two-go-mods-not-nested/src/subdir1/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/src/subdir1/go.sum b/go/ql/integration-tests/two-go-mods-not-nested/src/subdir1/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/src/subdir1/go.sum rename to go/ql/integration-tests/two-go-mods-not-nested/src/subdir1/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/src/subdir1/subsubdir1/add.go b/go/ql/integration-tests/two-go-mods-not-nested/src/subdir1/subsubdir1/add.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/src/subdir1/subsubdir1/add.go rename to go/ql/integration-tests/two-go-mods-not-nested/src/subdir1/subsubdir1/add.go diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/src/subdir1/test.go b/go/ql/integration-tests/two-go-mods-not-nested/src/subdir1/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/src/subdir1/test.go rename to go/ql/integration-tests/two-go-mods-not-nested/src/subdir1/test.go diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/src/subdir2/go.mod b/go/ql/integration-tests/two-go-mods-not-nested/src/subdir2/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/src/subdir2/go.mod rename to go/ql/integration-tests/two-go-mods-not-nested/src/subdir2/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/src/subdir2/go.sum b/go/ql/integration-tests/two-go-mods-not-nested/src/subdir2/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/src/subdir2/go.sum rename to go/ql/integration-tests/two-go-mods-not-nested/src/subdir2/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/src/subdir2/subsubdir2/add.go b/go/ql/integration-tests/two-go-mods-not-nested/src/subdir2/subsubdir2/add.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/src/subdir2/subsubdir2/add.go rename to go/ql/integration-tests/two-go-mods-not-nested/src/subdir2/subsubdir2/add.go diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/src/subdir2/test.go b/go/ql/integration-tests/two-go-mods-not-nested/src/subdir2/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/src/subdir2/test.go rename to go/ql/integration-tests/two-go-mods-not-nested/src/subdir2/test.go diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/test.expected b/go/ql/integration-tests/two-go-mods-not-nested/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/test.expected rename to go/ql/integration-tests/two-go-mods-not-nested/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/test.py b/go/ql/integration-tests/two-go-mods-not-nested/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/test.py rename to go/ql/integration-tests/two-go-mods-not-nested/test.py diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/test.ql b/go/ql/integration-tests/two-go-mods-not-nested/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/test.ql rename to go/ql/integration-tests/two-go-mods-not-nested/test.ql diff --git a/go/ql/integration-tests/linux-only/go/glide-sample/build_environment.expected b/go/ql/integration-tests/two-go-mods-one-failure/build_environment.expected similarity index 100% rename from go/ql/integration-tests/linux-only/go/glide-sample/build_environment.expected rename to go/ql/integration-tests/two-go-mods-one-failure/build_environment.expected diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/diagnostics.expected b/go/ql/integration-tests/two-go-mods-one-failure/diagnostics.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/diagnostics.expected rename to go/ql/integration-tests/two-go-mods-one-failure/diagnostics.expected diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir1/go.mod b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir1/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir1/go.mod rename to go/ql/integration-tests/two-go-mods-one-failure/src/subdir1/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir1/go.sum b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir1/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir1/go.sum rename to go/ql/integration-tests/two-go-mods-one-failure/src/subdir1/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir1/subsubdir1/add.go b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir1/subsubdir1/add.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir1/subsubdir1/add.go rename to go/ql/integration-tests/two-go-mods-one-failure/src/subdir1/subsubdir1/add.go diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir1/test.go b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir1/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir1/test.go rename to go/ql/integration-tests/two-go-mods-one-failure/src/subdir1/test.go diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir2/go.mod b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.mod similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir2/go.mod rename to go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.mod diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir2/go.sum b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.sum similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir2/go.sum rename to go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.sum diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir2/subsubdir2/add.go b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/subsubdir2/add.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir2/subsubdir2/add.go rename to go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/subsubdir2/add.go diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir2/test.go b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/test.go similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir2/test.go rename to go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/test.go diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/test.expected b/go/ql/integration-tests/two-go-mods-one-failure/test.expected similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/test.expected rename to go/ql/integration-tests/two-go-mods-one-failure/test.expected diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/test.py b/go/ql/integration-tests/two-go-mods-one-failure/test.py similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/test.py rename to go/ql/integration-tests/two-go-mods-one-failure/test.py diff --git a/go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/test.ql b/go/ql/integration-tests/two-go-mods-one-failure/test.ql similarity index 100% rename from go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/test.ql rename to go/ql/integration-tests/two-go-mods-one-failure/test.ql From b7b475d13b960e6c46b42b008e774daf7d831343 Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Wed, 28 Aug 2024 10:41:53 +0200 Subject: [PATCH 241/258] JS: Move all integration tests. We no longer need the platform-specific directories, so simplify the test organization. If you don't want this change, just skip merging this PR. It's purely optional. The PR also deletes a spurious qlpack.yml that I missed when converting the tests to pytest. --- .../ql/integration-tests/all-platforms/no-types/qlpack.yml | 3 --- .../diagnostics/internal-error/diagnostics.expected | 0 .../diagnostics/internal-error/src/my_failure.ts | 0 .../{all-platforms => }/diagnostics/internal-error/test.py | 0 .../diagnostics/internal-error/tsconfig.json | 0 .../{all-platforms => }/diagnostics/syntax-error/bad.js | 0 .../diagnostics/syntax-error/diagnostics.expected | 0 .../{all-platforms => }/diagnostics/syntax-error/test.py | 0 .../ql/integration-tests/{all-platforms => }/no-types/foo.ts | 0 .../{all-platforms => }/no-types/javascript.expected | 0 .../{all-platforms => }/no-types/javascript.ql | 0 .../ql/integration-tests/{all-platforms => }/no-types/test.py | 0 .../{all-platforms => }/no-types/tsconfig.json | 0 13 files changed, 3 deletions(-) delete mode 100644 javascript/ql/integration-tests/all-platforms/no-types/qlpack.yml rename javascript/ql/integration-tests/{all-platforms => }/diagnostics/internal-error/diagnostics.expected (100%) rename javascript/ql/integration-tests/{all-platforms => }/diagnostics/internal-error/src/my_failure.ts (100%) rename javascript/ql/integration-tests/{all-platforms => }/diagnostics/internal-error/test.py (100%) rename javascript/ql/integration-tests/{all-platforms => }/diagnostics/internal-error/tsconfig.json (100%) rename javascript/ql/integration-tests/{all-platforms => }/diagnostics/syntax-error/bad.js (100%) rename javascript/ql/integration-tests/{all-platforms => }/diagnostics/syntax-error/diagnostics.expected (100%) rename javascript/ql/integration-tests/{all-platforms => }/diagnostics/syntax-error/test.py (100%) rename javascript/ql/integration-tests/{all-platforms => }/no-types/foo.ts (100%) rename javascript/ql/integration-tests/{all-platforms => }/no-types/javascript.expected (100%) rename javascript/ql/integration-tests/{all-platforms => }/no-types/javascript.ql (100%) rename javascript/ql/integration-tests/{all-platforms => }/no-types/test.py (100%) rename javascript/ql/integration-tests/{all-platforms => }/no-types/tsconfig.json (100%) diff --git a/javascript/ql/integration-tests/all-platforms/no-types/qlpack.yml b/javascript/ql/integration-tests/all-platforms/no-types/qlpack.yml deleted file mode 100644 index 8d1460010cb..00000000000 --- a/javascript/ql/integration-tests/all-platforms/no-types/qlpack.yml +++ /dev/null @@ -1,3 +0,0 @@ -dependencies: - codeql/javascript-all: '*' -warnOnImplicitThis: true diff --git a/javascript/ql/integration-tests/all-platforms/diagnostics/internal-error/diagnostics.expected b/javascript/ql/integration-tests/diagnostics/internal-error/diagnostics.expected similarity index 100% rename from javascript/ql/integration-tests/all-platforms/diagnostics/internal-error/diagnostics.expected rename to javascript/ql/integration-tests/diagnostics/internal-error/diagnostics.expected diff --git a/javascript/ql/integration-tests/all-platforms/diagnostics/internal-error/src/my_failure.ts b/javascript/ql/integration-tests/diagnostics/internal-error/src/my_failure.ts similarity index 100% rename from javascript/ql/integration-tests/all-platforms/diagnostics/internal-error/src/my_failure.ts rename to javascript/ql/integration-tests/diagnostics/internal-error/src/my_failure.ts diff --git a/javascript/ql/integration-tests/all-platforms/diagnostics/internal-error/test.py b/javascript/ql/integration-tests/diagnostics/internal-error/test.py similarity index 100% rename from javascript/ql/integration-tests/all-platforms/diagnostics/internal-error/test.py rename to javascript/ql/integration-tests/diagnostics/internal-error/test.py diff --git a/javascript/ql/integration-tests/all-platforms/diagnostics/internal-error/tsconfig.json b/javascript/ql/integration-tests/diagnostics/internal-error/tsconfig.json similarity index 100% rename from javascript/ql/integration-tests/all-platforms/diagnostics/internal-error/tsconfig.json rename to javascript/ql/integration-tests/diagnostics/internal-error/tsconfig.json diff --git a/javascript/ql/integration-tests/all-platforms/diagnostics/syntax-error/bad.js b/javascript/ql/integration-tests/diagnostics/syntax-error/bad.js similarity index 100% rename from javascript/ql/integration-tests/all-platforms/diagnostics/syntax-error/bad.js rename to javascript/ql/integration-tests/diagnostics/syntax-error/bad.js diff --git a/javascript/ql/integration-tests/all-platforms/diagnostics/syntax-error/diagnostics.expected b/javascript/ql/integration-tests/diagnostics/syntax-error/diagnostics.expected similarity index 100% rename from javascript/ql/integration-tests/all-platforms/diagnostics/syntax-error/diagnostics.expected rename to javascript/ql/integration-tests/diagnostics/syntax-error/diagnostics.expected diff --git a/javascript/ql/integration-tests/all-platforms/diagnostics/syntax-error/test.py b/javascript/ql/integration-tests/diagnostics/syntax-error/test.py similarity index 100% rename from javascript/ql/integration-tests/all-platforms/diagnostics/syntax-error/test.py rename to javascript/ql/integration-tests/diagnostics/syntax-error/test.py diff --git a/javascript/ql/integration-tests/all-platforms/no-types/foo.ts b/javascript/ql/integration-tests/no-types/foo.ts similarity index 100% rename from javascript/ql/integration-tests/all-platforms/no-types/foo.ts rename to javascript/ql/integration-tests/no-types/foo.ts diff --git a/javascript/ql/integration-tests/all-platforms/no-types/javascript.expected b/javascript/ql/integration-tests/no-types/javascript.expected similarity index 100% rename from javascript/ql/integration-tests/all-platforms/no-types/javascript.expected rename to javascript/ql/integration-tests/no-types/javascript.expected diff --git a/javascript/ql/integration-tests/all-platforms/no-types/javascript.ql b/javascript/ql/integration-tests/no-types/javascript.ql similarity index 100% rename from javascript/ql/integration-tests/all-platforms/no-types/javascript.ql rename to javascript/ql/integration-tests/no-types/javascript.ql diff --git a/javascript/ql/integration-tests/all-platforms/no-types/test.py b/javascript/ql/integration-tests/no-types/test.py similarity index 100% rename from javascript/ql/integration-tests/all-platforms/no-types/test.py rename to javascript/ql/integration-tests/no-types/test.py diff --git a/javascript/ql/integration-tests/all-platforms/no-types/tsconfig.json b/javascript/ql/integration-tests/no-types/tsconfig.json similarity index 100% rename from javascript/ql/integration-tests/all-platforms/no-types/tsconfig.json rename to javascript/ql/integration-tests/no-types/tsconfig.json From 3326bc417c79f6c0aa386d7be47bbabef1de755c Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Wed, 28 Aug 2024 10:45:05 +0200 Subject: [PATCH 242/258] Ruby: Move all integration tests. We no longer need the platform-specific directories, so simplify the test organization. If you don't want this change, just skip merging this PR. It's purely optional. --- .../{all-platforms => }/diagnostics/syntax-error/bad.rb | 0 .../diagnostics/syntax-error/diagnostics.expected | 0 .../{all-platforms => }/diagnostics/syntax-error/test.py | 0 .../diagnostics/unknown-encoding/diagnostics.expected | 0 .../{all-platforms => }/diagnostics/unknown-encoding/encoding.rb | 0 .../{all-platforms => }/diagnostics/unknown-encoding/test.py | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename ruby/ql/integration-tests/{all-platforms => }/diagnostics/syntax-error/bad.rb (100%) rename ruby/ql/integration-tests/{all-platforms => }/diagnostics/syntax-error/diagnostics.expected (100%) rename ruby/ql/integration-tests/{all-platforms => }/diagnostics/syntax-error/test.py (100%) rename ruby/ql/integration-tests/{all-platforms => }/diagnostics/unknown-encoding/diagnostics.expected (100%) rename ruby/ql/integration-tests/{all-platforms => }/diagnostics/unknown-encoding/encoding.rb (100%) rename ruby/ql/integration-tests/{all-platforms => }/diagnostics/unknown-encoding/test.py (100%) diff --git a/ruby/ql/integration-tests/all-platforms/diagnostics/syntax-error/bad.rb b/ruby/ql/integration-tests/diagnostics/syntax-error/bad.rb similarity index 100% rename from ruby/ql/integration-tests/all-platforms/diagnostics/syntax-error/bad.rb rename to ruby/ql/integration-tests/diagnostics/syntax-error/bad.rb diff --git a/ruby/ql/integration-tests/all-platforms/diagnostics/syntax-error/diagnostics.expected b/ruby/ql/integration-tests/diagnostics/syntax-error/diagnostics.expected similarity index 100% rename from ruby/ql/integration-tests/all-platforms/diagnostics/syntax-error/diagnostics.expected rename to ruby/ql/integration-tests/diagnostics/syntax-error/diagnostics.expected diff --git a/ruby/ql/integration-tests/all-platforms/diagnostics/syntax-error/test.py b/ruby/ql/integration-tests/diagnostics/syntax-error/test.py similarity index 100% rename from ruby/ql/integration-tests/all-platforms/diagnostics/syntax-error/test.py rename to ruby/ql/integration-tests/diagnostics/syntax-error/test.py diff --git a/ruby/ql/integration-tests/all-platforms/diagnostics/unknown-encoding/diagnostics.expected b/ruby/ql/integration-tests/diagnostics/unknown-encoding/diagnostics.expected similarity index 100% rename from ruby/ql/integration-tests/all-platforms/diagnostics/unknown-encoding/diagnostics.expected rename to ruby/ql/integration-tests/diagnostics/unknown-encoding/diagnostics.expected diff --git a/ruby/ql/integration-tests/all-platforms/diagnostics/unknown-encoding/encoding.rb b/ruby/ql/integration-tests/diagnostics/unknown-encoding/encoding.rb similarity index 100% rename from ruby/ql/integration-tests/all-platforms/diagnostics/unknown-encoding/encoding.rb rename to ruby/ql/integration-tests/diagnostics/unknown-encoding/encoding.rb diff --git a/ruby/ql/integration-tests/all-platforms/diagnostics/unknown-encoding/test.py b/ruby/ql/integration-tests/diagnostics/unknown-encoding/test.py similarity index 100% rename from ruby/ql/integration-tests/all-platforms/diagnostics/unknown-encoding/test.py rename to ruby/ql/integration-tests/diagnostics/unknown-encoding/test.py From a92a84571999dc5c19cc823e8df50b1bb4679ea6 Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Wed, 28 Aug 2024 10:47:17 +0200 Subject: [PATCH 243/258] Swift: Move all integration tests. We are no longer bound to the platform-specific directories, so simplify the test organization. If you don't want this change, just skip merging this PR. It's purely optional. --- .../{osx-only => }/autobuilder/failure/.gitignore | 0 .../{osx-only => }/autobuilder/failure/diagnostics.expected | 0 .../autobuilder/failure/hello-failure.xcodeproj/project.pbxproj | 0 .../project.xcworkspace/contents.xcworkspacedata | 0 .../project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist | 0 .../integration-tests/{osx-only => }/autobuilder/failure/test.py | 0 .../autobuilder/no-build-system/diagnostics.expected | 0 .../{osx-only => }/autobuilder/no-build-system/test.py | 0 .../{osx-only => }/autobuilder/no-build-system/x.swift | 0 .../autobuilder/no-swift-with-spm/diagnostics.expected | 0 .../no-swift-with-spm/hello-objective.xcodeproj/project.pbxproj | 0 .../project.xcworkspace/contents.xcworkspacedata | 0 .../project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist | 0 .../autobuilder/no-swift-with-spm/hello-objective/Package.swift | 0 .../autobuilder/no-swift-with-spm/hello-objective/main.m | 0 .../{osx-only => }/autobuilder/no-swift-with-spm/test.py | 0 .../{osx-only => }/autobuilder/no-swift/diagnostics.expected | 0 .../no-swift/hello-objective.xcodeproj/project.pbxproj | 0 .../project.xcworkspace/contents.xcworkspacedata | 0 .../project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist | 0 .../{osx-only => }/autobuilder/no-swift/hello-objective/main.m | 0 .../integration-tests/{osx-only => }/autobuilder/no-swift/test.py | 0 .../{osx-only => }/autobuilder/no-xcode-with-spm/Package.swift | 0 .../autobuilder/no-xcode-with-spm/diagnostics.expected | 0 .../{osx-only => }/autobuilder/no-xcode-with-spm/test.py | 0 .../{osx-only => }/autobuilder/no-xcode-with-spm/x.swift | 0 .../{osx-only => }/autobuilder/only-tests-with-spm/Package.swift | 0 .../autobuilder/only-tests-with-spm/diagnostics.expected | 0 .../only-tests-with-spm/hello-tests.xcodeproj/project.pbxproj | 0 .../project.xcworkspace/contents.xcworkspacedata | 0 .../{osx-only => }/autobuilder/only-tests-with-spm/test.py | 0 .../{osx-only => }/autobuilder/only-tests/diagnostics.expected | 0 .../autobuilder/only-tests/hello-tests.xcodeproj/project.pbxproj | 0 .../project.xcworkspace/contents.xcworkspacedata | 0 .../{osx-only => }/autobuilder/only-tests/test.py | 0 .../autobuilder/xcode-fails-spm-works/Files.expected | 0 .../{osx-only => }/autobuilder/xcode-fails-spm-works/Files.ql | 0 .../autobuilder/xcode-fails-spm-works/Package.swift | 0 .../xcode-fails-spm-works/Sources/hello-world/hello_world.swift | 0 .../codeql-swift-autobuild-test.xcodeproj/project.pbxproj | 0 .../codeql-swift-autobuild-test/AppDelegate.swift | 0 .../{osx-only => }/autobuilder/xcode-fails-spm-works/test.py | 0 .../RegexLiteralExpr/RegexLiteralExpr.expected | 0 .../{linux-only => linux}/RegexLiteralExpr/RegexLiteralExpr.ql | 0 .../{linux-only => linux}/RegexLiteralExpr/regex.swift | 0 .../{linux-only => linux}/RegexLiteralExpr/test.py | 0 .../{osx-only => osx}/canonical-case/Files.expected | 0 .../integration-tests/{osx-only => osx}/canonical-case/Files.ql | 0 .../{osx-only => osx}/canonical-case/MiXeDcAsE.swifT | 0 .../integration-tests/{osx-only => osx}/canonical-case/build.sh | 0 .../ql/integration-tests/{osx-only => osx}/canonical-case/test.py | 0 .../{osx-only => osx}/hello-xcode/Files.expected | 0 swift/ql/integration-tests/{osx-only => osx}/hello-xcode/Files.ql | 0 .../codeql-swift-autobuild-test.xcodeproj/project.pbxproj | 0 .../hello-xcode/codeql-swift-autobuild-test/AppDelegate.swift | 0 swift/ql/integration-tests/{osx-only => osx}/hello-xcode/test.py | 0 .../{posix-only => posix}/cross-references/Classes.expected | 0 .../{posix-only => posix}/cross-references/Classes.ql | 0 .../cross-references/Deinitializers.expected | 0 .../{posix-only => posix}/cross-references/Deinitializers.ql | 0 .../{posix-only => posix}/cross-references/Enums.expected | 0 .../{posix-only => posix}/cross-references/Enums.ql | 0 .../{posix-only => posix}/cross-references/Functions.expected | 0 .../{posix-only => posix}/cross-references/Functions.ql | 0 .../{posix-only => posix}/cross-references/Initializers.expected | 0 .../{posix-only => posix}/cross-references/Initializers.ql | 0 .../{posix-only => posix}/cross-references/Module.expected | 0 .../{posix-only => posix}/cross-references/Module.ql | 0 .../{posix-only => posix}/cross-references/Operators.expected | 0 .../{posix-only => posix}/cross-references/Operators.ql | 0 .../{posix-only => posix}/cross-references/Package.swift | 0 .../{posix-only => posix}/cross-references/Protocols.expected | 0 .../{posix-only => posix}/cross-references/Protocols.ql | 0 .../cross-references/Sources/cross-references/lib.swift | 0 .../cross-references/Sources/cross-references/main.swift | 0 .../{posix-only => posix}/cross-references/Structs.expected | 0 .../{posix-only => posix}/cross-references/Structs.ql | 0 .../{posix-only => posix}/cross-references/VarDecls.expected | 0 .../{posix-only => posix}/cross-references/VarDecls.ql | 0 .../{posix-only => posix}/cross-references/test.py | 0 .../{posix-only => posix}/deduplication/BuiltinTypes.expected | 0 .../{posix-only => posix}/deduplication/BuiltinTypes.ql | 0 .../{posix-only => posix}/deduplication/Decls.expected | 0 .../{posix-only => posix}/deduplication/Decls.ql | 0 .../{posix-only => posix}/deduplication/Package.swift | 0 .../{posix-only => posix}/deduplication/Relevant.qll | 0 .../deduplication/Sources/deduplication/def.swift | 0 .../deduplication/Sources/deduplication/use.swift | 0 .../{posix-only => posix}/deduplication/Types.expected | 0 .../{posix-only => posix}/deduplication/Types.ql | 0 .../integration-tests/{posix-only => posix}/deduplication/test.py | 0 .../{posix-only => posix}/frontend-invocations/.gitignore | 0 .../{posix-only => posix}/frontend-invocations/A.swift | 0 .../{posix-only => posix}/frontend-invocations/B.swift | 0 .../{posix-only => posix}/frontend-invocations/C.swift | 0 .../{posix-only => posix}/frontend-invocations/D.swift | 0 .../{posix-only => posix}/frontend-invocations/E.swift | 0 .../{posix-only => posix}/frontend-invocations/Esup.swift | 0 .../{posix-only => posix}/frontend-invocations/F1.swift | 0 .../{posix-only => posix}/frontend-invocations/F2.swift | 0 .../{posix-only => posix}/frontend-invocations/F3.swift | 0 .../{posix-only => posix}/frontend-invocations/F4.swift | 0 .../{posix-only => posix}/frontend-invocations/F5.swift | 0 .../{posix-only => posix}/frontend-invocations/Files.expected | 0 .../{posix-only => posix}/frontend-invocations/Files.ql | 0 .../{posix-only => posix}/frontend-invocations/G.swift | 0 .../{posix-only => posix}/frontend-invocations/H1.swift | 0 .../{posix-only => posix}/frontend-invocations/H2.swift | 0 .../{posix-only => posix}/frontend-invocations/H3.swift | 0 .../{posix-only => posix}/frontend-invocations/I1.swift | 0 .../{posix-only => posix}/frontend-invocations/I2.swift | 0 .../{posix-only => posix}/frontend-invocations/Modules.expected | 0 .../{posix-only => posix}/frontend-invocations/Modules.ql | 0 .../{posix-only => posix}/frontend-invocations/build.sh | 0 .../{posix-only => posix}/frontend-invocations/dir/.empty | 0 .../{posix-only => posix}/frontend-invocations/test.py | 0 .../{posix-only => posix}/hello-world/Bodies.expected | 0 .../integration-tests/{posix-only => posix}/hello-world/Bodies.ql | 0 .../{posix-only => posix}/hello-world/Package.swift | 0 .../hello-world/Sources/hello-world/hello_world.swift | 0 .../{posix-only => posix}/hello-world/test.expected | 0 .../integration-tests/{posix-only => posix}/hello-world/test.py | 0 .../integration-tests/{posix-only => posix}/hello-world/test.ql | 0 .../{posix-only => posix}/linkage-awareness/Bodies.expected | 0 .../{posix-only => posix}/linkage-awareness/Bodies.ql | 0 .../{posix-only => posix}/linkage-awareness/Foo1/Package.swift | 0 .../linkage-awareness/Foo1/Sources/foo/main.swift | 0 .../{posix-only => posix}/linkage-awareness/Foo2/Package.swift | 0 .../linkage-awareness/Foo2/Sources/foo/main.swift | 0 .../{posix-only => posix}/linkage-awareness/build.sh | 0 .../{posix-only => posix}/linkage-awareness/test.py | 0 .../{posix-only => posix}/partial-modules/A/Package.swift | 0 .../{posix-only => posix}/partial-modules/A/Sources/A/A.swift | 0 .../{posix-only => posix}/partial-modules/A/Sources/A/Asup.swift | 0 .../{posix-only => posix}/partial-modules/B/Package.swift | 0 .../{posix-only => posix}/partial-modules/B/Sources/B/B.swift | 0 .../{posix-only => posix}/partial-modules/B/Sources/B/Bsup.swift | 0 .../{posix-only => posix}/partial-modules/Modules.expected | 0 .../{posix-only => posix}/partial-modules/Modules.ql | 0 .../{posix-only => posix}/partial-modules/Package.swift | 0 .../partial-modules/Sources/partial-modules/partial_modules.swift | 0 .../{posix-only => posix}/partial-modules/Unknown.expected | 0 .../{posix-only => posix}/partial-modules/Unknown.ql | 0 .../{posix-only => posix}/partial-modules/test.py | 0 .../integration-tests/{posix-only => posix}/symlinks/.gitignore | 0 .../{posix-only => posix}/symlinks/Files.expected | 0 .../ql/integration-tests/{posix-only => posix}/symlinks/Files.ql | 0 .../integration-tests/{posix-only => posix}/symlinks/main.swift | 0 .../{posix-only => posix}/symlinks/preserve/Package.swift | 0 .../{posix-only => posix}/symlinks/preserve/Sources/.gitkeep | 0 .../{posix-only => posix}/symlinks/resolve/Package.swift | 0 .../{posix-only => posix}/symlinks/resolve/Sources/.gitkeep | 0 swift/ql/integration-tests/{posix-only => posix}/symlinks/test.py | 0 153 files changed, 0 insertions(+), 0 deletions(-) rename swift/ql/integration-tests/{osx-only => }/autobuilder/failure/.gitignore (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/failure/diagnostics.expected (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/failure/hello-failure.xcodeproj/project.pbxproj (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/failure/test.py (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-build-system/diagnostics.expected (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-build-system/test.py (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-build-system/x.swift (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-swift-with-spm/diagnostics.expected (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-swift-with-spm/hello-objective.xcodeproj/project.pbxproj (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-swift-with-spm/hello-objective.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-swift-with-spm/hello-objective.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-swift-with-spm/hello-objective/Package.swift (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-swift-with-spm/hello-objective/main.m (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-swift-with-spm/test.py (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-swift/diagnostics.expected (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-swift/hello-objective.xcodeproj/project.pbxproj (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-swift/hello-objective.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-swift/hello-objective.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-swift/hello-objective/main.m (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-swift/test.py (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-xcode-with-spm/Package.swift (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-xcode-with-spm/diagnostics.expected (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-xcode-with-spm/test.py (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/no-xcode-with-spm/x.swift (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/only-tests-with-spm/Package.swift (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/only-tests-with-spm/diagnostics.expected (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/only-tests-with-spm/hello-tests.xcodeproj/project.pbxproj (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/only-tests-with-spm/hello-tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/only-tests-with-spm/test.py (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/only-tests/diagnostics.expected (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/only-tests/hello-tests.xcodeproj/project.pbxproj (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/only-tests/hello-tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/only-tests/test.py (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/xcode-fails-spm-works/Files.expected (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/xcode-fails-spm-works/Files.ql (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/xcode-fails-spm-works/Package.swift (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/xcode-fails-spm-works/Sources/hello-world/hello_world.swift (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/xcode-fails-spm-works/codeql-swift-autobuild-test.xcodeproj/project.pbxproj (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/xcode-fails-spm-works/codeql-swift-autobuild-test/AppDelegate.swift (100%) rename swift/ql/integration-tests/{osx-only => }/autobuilder/xcode-fails-spm-works/test.py (100%) rename swift/ql/integration-tests/{linux-only => linux}/RegexLiteralExpr/RegexLiteralExpr.expected (100%) rename swift/ql/integration-tests/{linux-only => linux}/RegexLiteralExpr/RegexLiteralExpr.ql (100%) rename swift/ql/integration-tests/{linux-only => linux}/RegexLiteralExpr/regex.swift (100%) rename swift/ql/integration-tests/{linux-only => linux}/RegexLiteralExpr/test.py (100%) rename swift/ql/integration-tests/{osx-only => osx}/canonical-case/Files.expected (100%) rename swift/ql/integration-tests/{osx-only => osx}/canonical-case/Files.ql (100%) rename swift/ql/integration-tests/{osx-only => osx}/canonical-case/MiXeDcAsE.swifT (100%) rename swift/ql/integration-tests/{osx-only => osx}/canonical-case/build.sh (100%) rename swift/ql/integration-tests/{osx-only => osx}/canonical-case/test.py (100%) rename swift/ql/integration-tests/{osx-only => osx}/hello-xcode/Files.expected (100%) rename swift/ql/integration-tests/{osx-only => osx}/hello-xcode/Files.ql (100%) rename swift/ql/integration-tests/{osx-only => osx}/hello-xcode/codeql-swift-autobuild-test.xcodeproj/project.pbxproj (100%) rename swift/ql/integration-tests/{osx-only => osx}/hello-xcode/codeql-swift-autobuild-test/AppDelegate.swift (100%) rename swift/ql/integration-tests/{osx-only => osx}/hello-xcode/test.py (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Classes.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Classes.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Deinitializers.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Deinitializers.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Enums.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Enums.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Functions.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Functions.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Initializers.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Initializers.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Module.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Module.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Operators.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Operators.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Package.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Protocols.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Protocols.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Sources/cross-references/lib.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Sources/cross-references/main.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Structs.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/Structs.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/VarDecls.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/VarDecls.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/cross-references/test.py (100%) rename swift/ql/integration-tests/{posix-only => posix}/deduplication/BuiltinTypes.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/deduplication/BuiltinTypes.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/deduplication/Decls.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/deduplication/Decls.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/deduplication/Package.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/deduplication/Relevant.qll (100%) rename swift/ql/integration-tests/{posix-only => posix}/deduplication/Sources/deduplication/def.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/deduplication/Sources/deduplication/use.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/deduplication/Types.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/deduplication/Types.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/deduplication/test.py (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/.gitignore (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/A.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/B.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/C.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/D.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/E.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/Esup.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/F1.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/F2.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/F3.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/F4.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/F5.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/Files.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/Files.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/G.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/H1.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/H2.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/H3.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/I1.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/I2.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/Modules.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/Modules.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/build.sh (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/dir/.empty (100%) rename swift/ql/integration-tests/{posix-only => posix}/frontend-invocations/test.py (100%) rename swift/ql/integration-tests/{posix-only => posix}/hello-world/Bodies.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/hello-world/Bodies.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/hello-world/Package.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/hello-world/Sources/hello-world/hello_world.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/hello-world/test.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/hello-world/test.py (100%) rename swift/ql/integration-tests/{posix-only => posix}/hello-world/test.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/linkage-awareness/Bodies.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/linkage-awareness/Bodies.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/linkage-awareness/Foo1/Package.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/linkage-awareness/Foo1/Sources/foo/main.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/linkage-awareness/Foo2/Package.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/linkage-awareness/Foo2/Sources/foo/main.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/linkage-awareness/build.sh (100%) rename swift/ql/integration-tests/{posix-only => posix}/linkage-awareness/test.py (100%) rename swift/ql/integration-tests/{posix-only => posix}/partial-modules/A/Package.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/partial-modules/A/Sources/A/A.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/partial-modules/A/Sources/A/Asup.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/partial-modules/B/Package.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/partial-modules/B/Sources/B/B.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/partial-modules/B/Sources/B/Bsup.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/partial-modules/Modules.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/partial-modules/Modules.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/partial-modules/Package.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/partial-modules/Sources/partial-modules/partial_modules.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/partial-modules/Unknown.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/partial-modules/Unknown.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/partial-modules/test.py (100%) rename swift/ql/integration-tests/{posix-only => posix}/symlinks/.gitignore (100%) rename swift/ql/integration-tests/{posix-only => posix}/symlinks/Files.expected (100%) rename swift/ql/integration-tests/{posix-only => posix}/symlinks/Files.ql (100%) rename swift/ql/integration-tests/{posix-only => posix}/symlinks/main.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/symlinks/preserve/Package.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/symlinks/preserve/Sources/.gitkeep (100%) rename swift/ql/integration-tests/{posix-only => posix}/symlinks/resolve/Package.swift (100%) rename swift/ql/integration-tests/{posix-only => posix}/symlinks/resolve/Sources/.gitkeep (100%) rename swift/ql/integration-tests/{posix-only => posix}/symlinks/test.py (100%) diff --git a/swift/ql/integration-tests/osx-only/autobuilder/failure/.gitignore b/swift/ql/integration-tests/autobuilder/failure/.gitignore similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/failure/.gitignore rename to swift/ql/integration-tests/autobuilder/failure/.gitignore diff --git a/swift/ql/integration-tests/osx-only/autobuilder/failure/diagnostics.expected b/swift/ql/integration-tests/autobuilder/failure/diagnostics.expected similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/failure/diagnostics.expected rename to swift/ql/integration-tests/autobuilder/failure/diagnostics.expected diff --git a/swift/ql/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.pbxproj b/swift/ql/integration-tests/autobuilder/failure/hello-failure.xcodeproj/project.pbxproj similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.pbxproj rename to swift/ql/integration-tests/autobuilder/failure/hello-failure.xcodeproj/project.pbxproj diff --git a/swift/ql/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/swift/ql/integration-tests/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to swift/ql/integration-tests/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/swift/ql/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/swift/ql/integration-tests/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to swift/ql/integration-tests/autobuilder/failure/hello-failure.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/swift/ql/integration-tests/osx-only/autobuilder/failure/test.py b/swift/ql/integration-tests/autobuilder/failure/test.py similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/failure/test.py rename to swift/ql/integration-tests/autobuilder/failure/test.py diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-build-system/diagnostics.expected b/swift/ql/integration-tests/autobuilder/no-build-system/diagnostics.expected similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-build-system/diagnostics.expected rename to swift/ql/integration-tests/autobuilder/no-build-system/diagnostics.expected diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-build-system/test.py b/swift/ql/integration-tests/autobuilder/no-build-system/test.py similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-build-system/test.py rename to swift/ql/integration-tests/autobuilder/no-build-system/test.py diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-build-system/x.swift b/swift/ql/integration-tests/autobuilder/no-build-system/x.swift similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-build-system/x.swift rename to swift/ql/integration-tests/autobuilder/no-build-system/x.swift diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-swift-with-spm/diagnostics.expected b/swift/ql/integration-tests/autobuilder/no-swift-with-spm/diagnostics.expected similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-swift-with-spm/diagnostics.expected rename to swift/ql/integration-tests/autobuilder/no-swift-with-spm/diagnostics.expected diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-swift-with-spm/hello-objective.xcodeproj/project.pbxproj b/swift/ql/integration-tests/autobuilder/no-swift-with-spm/hello-objective.xcodeproj/project.pbxproj similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-swift-with-spm/hello-objective.xcodeproj/project.pbxproj rename to swift/ql/integration-tests/autobuilder/no-swift-with-spm/hello-objective.xcodeproj/project.pbxproj diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-swift-with-spm/hello-objective.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/swift/ql/integration-tests/autobuilder/no-swift-with-spm/hello-objective.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-swift-with-spm/hello-objective.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to swift/ql/integration-tests/autobuilder/no-swift-with-spm/hello-objective.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-swift-with-spm/hello-objective.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/swift/ql/integration-tests/autobuilder/no-swift-with-spm/hello-objective.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-swift-with-spm/hello-objective.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to swift/ql/integration-tests/autobuilder/no-swift-with-spm/hello-objective.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-swift-with-spm/hello-objective/Package.swift b/swift/ql/integration-tests/autobuilder/no-swift-with-spm/hello-objective/Package.swift similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-swift-with-spm/hello-objective/Package.swift rename to swift/ql/integration-tests/autobuilder/no-swift-with-spm/hello-objective/Package.swift diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-swift-with-spm/hello-objective/main.m b/swift/ql/integration-tests/autobuilder/no-swift-with-spm/hello-objective/main.m similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-swift-with-spm/hello-objective/main.m rename to swift/ql/integration-tests/autobuilder/no-swift-with-spm/hello-objective/main.m diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-swift-with-spm/test.py b/swift/ql/integration-tests/autobuilder/no-swift-with-spm/test.py similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-swift-with-spm/test.py rename to swift/ql/integration-tests/autobuilder/no-swift-with-spm/test.py diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-swift/diagnostics.expected b/swift/ql/integration-tests/autobuilder/no-swift/diagnostics.expected similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-swift/diagnostics.expected rename to swift/ql/integration-tests/autobuilder/no-swift/diagnostics.expected diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-swift/hello-objective.xcodeproj/project.pbxproj b/swift/ql/integration-tests/autobuilder/no-swift/hello-objective.xcodeproj/project.pbxproj similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-swift/hello-objective.xcodeproj/project.pbxproj rename to swift/ql/integration-tests/autobuilder/no-swift/hello-objective.xcodeproj/project.pbxproj diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-swift/hello-objective.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/swift/ql/integration-tests/autobuilder/no-swift/hello-objective.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-swift/hello-objective.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to swift/ql/integration-tests/autobuilder/no-swift/hello-objective.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-swift/hello-objective.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/swift/ql/integration-tests/autobuilder/no-swift/hello-objective.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-swift/hello-objective.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to swift/ql/integration-tests/autobuilder/no-swift/hello-objective.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-swift/hello-objective/main.m b/swift/ql/integration-tests/autobuilder/no-swift/hello-objective/main.m similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-swift/hello-objective/main.m rename to swift/ql/integration-tests/autobuilder/no-swift/hello-objective/main.m diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-swift/test.py b/swift/ql/integration-tests/autobuilder/no-swift/test.py similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-swift/test.py rename to swift/ql/integration-tests/autobuilder/no-swift/test.py diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-xcode-with-spm/Package.swift b/swift/ql/integration-tests/autobuilder/no-xcode-with-spm/Package.swift similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-xcode-with-spm/Package.swift rename to swift/ql/integration-tests/autobuilder/no-xcode-with-spm/Package.swift diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-xcode-with-spm/diagnostics.expected b/swift/ql/integration-tests/autobuilder/no-xcode-with-spm/diagnostics.expected similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-xcode-with-spm/diagnostics.expected rename to swift/ql/integration-tests/autobuilder/no-xcode-with-spm/diagnostics.expected diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-xcode-with-spm/test.py b/swift/ql/integration-tests/autobuilder/no-xcode-with-spm/test.py similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-xcode-with-spm/test.py rename to swift/ql/integration-tests/autobuilder/no-xcode-with-spm/test.py diff --git a/swift/ql/integration-tests/osx-only/autobuilder/no-xcode-with-spm/x.swift b/swift/ql/integration-tests/autobuilder/no-xcode-with-spm/x.swift similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/no-xcode-with-spm/x.swift rename to swift/ql/integration-tests/autobuilder/no-xcode-with-spm/x.swift diff --git a/swift/ql/integration-tests/osx-only/autobuilder/only-tests-with-spm/Package.swift b/swift/ql/integration-tests/autobuilder/only-tests-with-spm/Package.swift similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/only-tests-with-spm/Package.swift rename to swift/ql/integration-tests/autobuilder/only-tests-with-spm/Package.swift diff --git a/swift/ql/integration-tests/osx-only/autobuilder/only-tests-with-spm/diagnostics.expected b/swift/ql/integration-tests/autobuilder/only-tests-with-spm/diagnostics.expected similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/only-tests-with-spm/diagnostics.expected rename to swift/ql/integration-tests/autobuilder/only-tests-with-spm/diagnostics.expected diff --git a/swift/ql/integration-tests/osx-only/autobuilder/only-tests-with-spm/hello-tests.xcodeproj/project.pbxproj b/swift/ql/integration-tests/autobuilder/only-tests-with-spm/hello-tests.xcodeproj/project.pbxproj similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/only-tests-with-spm/hello-tests.xcodeproj/project.pbxproj rename to swift/ql/integration-tests/autobuilder/only-tests-with-spm/hello-tests.xcodeproj/project.pbxproj diff --git a/swift/ql/integration-tests/osx-only/autobuilder/only-tests-with-spm/hello-tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/swift/ql/integration-tests/autobuilder/only-tests-with-spm/hello-tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/only-tests-with-spm/hello-tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to swift/ql/integration-tests/autobuilder/only-tests-with-spm/hello-tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/swift/ql/integration-tests/osx-only/autobuilder/only-tests-with-spm/test.py b/swift/ql/integration-tests/autobuilder/only-tests-with-spm/test.py similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/only-tests-with-spm/test.py rename to swift/ql/integration-tests/autobuilder/only-tests-with-spm/test.py diff --git a/swift/ql/integration-tests/osx-only/autobuilder/only-tests/diagnostics.expected b/swift/ql/integration-tests/autobuilder/only-tests/diagnostics.expected similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/only-tests/diagnostics.expected rename to swift/ql/integration-tests/autobuilder/only-tests/diagnostics.expected diff --git a/swift/ql/integration-tests/osx-only/autobuilder/only-tests/hello-tests.xcodeproj/project.pbxproj b/swift/ql/integration-tests/autobuilder/only-tests/hello-tests.xcodeproj/project.pbxproj similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/only-tests/hello-tests.xcodeproj/project.pbxproj rename to swift/ql/integration-tests/autobuilder/only-tests/hello-tests.xcodeproj/project.pbxproj diff --git a/swift/ql/integration-tests/osx-only/autobuilder/only-tests/hello-tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/swift/ql/integration-tests/autobuilder/only-tests/hello-tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/only-tests/hello-tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to swift/ql/integration-tests/autobuilder/only-tests/hello-tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/swift/ql/integration-tests/osx-only/autobuilder/only-tests/test.py b/swift/ql/integration-tests/autobuilder/only-tests/test.py similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/only-tests/test.py rename to swift/ql/integration-tests/autobuilder/only-tests/test.py diff --git a/swift/ql/integration-tests/osx-only/autobuilder/xcode-fails-spm-works/Files.expected b/swift/ql/integration-tests/autobuilder/xcode-fails-spm-works/Files.expected similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/xcode-fails-spm-works/Files.expected rename to swift/ql/integration-tests/autobuilder/xcode-fails-spm-works/Files.expected diff --git a/swift/ql/integration-tests/osx-only/autobuilder/xcode-fails-spm-works/Files.ql b/swift/ql/integration-tests/autobuilder/xcode-fails-spm-works/Files.ql similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/xcode-fails-spm-works/Files.ql rename to swift/ql/integration-tests/autobuilder/xcode-fails-spm-works/Files.ql diff --git a/swift/ql/integration-tests/osx-only/autobuilder/xcode-fails-spm-works/Package.swift b/swift/ql/integration-tests/autobuilder/xcode-fails-spm-works/Package.swift similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/xcode-fails-spm-works/Package.swift rename to swift/ql/integration-tests/autobuilder/xcode-fails-spm-works/Package.swift diff --git a/swift/ql/integration-tests/osx-only/autobuilder/xcode-fails-spm-works/Sources/hello-world/hello_world.swift b/swift/ql/integration-tests/autobuilder/xcode-fails-spm-works/Sources/hello-world/hello_world.swift similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/xcode-fails-spm-works/Sources/hello-world/hello_world.swift rename to swift/ql/integration-tests/autobuilder/xcode-fails-spm-works/Sources/hello-world/hello_world.swift diff --git a/swift/ql/integration-tests/osx-only/autobuilder/xcode-fails-spm-works/codeql-swift-autobuild-test.xcodeproj/project.pbxproj b/swift/ql/integration-tests/autobuilder/xcode-fails-spm-works/codeql-swift-autobuild-test.xcodeproj/project.pbxproj similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/xcode-fails-spm-works/codeql-swift-autobuild-test.xcodeproj/project.pbxproj rename to swift/ql/integration-tests/autobuilder/xcode-fails-spm-works/codeql-swift-autobuild-test.xcodeproj/project.pbxproj diff --git a/swift/ql/integration-tests/osx-only/autobuilder/xcode-fails-spm-works/codeql-swift-autobuild-test/AppDelegate.swift b/swift/ql/integration-tests/autobuilder/xcode-fails-spm-works/codeql-swift-autobuild-test/AppDelegate.swift similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/xcode-fails-spm-works/codeql-swift-autobuild-test/AppDelegate.swift rename to swift/ql/integration-tests/autobuilder/xcode-fails-spm-works/codeql-swift-autobuild-test/AppDelegate.swift diff --git a/swift/ql/integration-tests/osx-only/autobuilder/xcode-fails-spm-works/test.py b/swift/ql/integration-tests/autobuilder/xcode-fails-spm-works/test.py similarity index 100% rename from swift/ql/integration-tests/osx-only/autobuilder/xcode-fails-spm-works/test.py rename to swift/ql/integration-tests/autobuilder/xcode-fails-spm-works/test.py diff --git a/swift/ql/integration-tests/linux-only/RegexLiteralExpr/RegexLiteralExpr.expected b/swift/ql/integration-tests/linux/RegexLiteralExpr/RegexLiteralExpr.expected similarity index 100% rename from swift/ql/integration-tests/linux-only/RegexLiteralExpr/RegexLiteralExpr.expected rename to swift/ql/integration-tests/linux/RegexLiteralExpr/RegexLiteralExpr.expected diff --git a/swift/ql/integration-tests/linux-only/RegexLiteralExpr/RegexLiteralExpr.ql b/swift/ql/integration-tests/linux/RegexLiteralExpr/RegexLiteralExpr.ql similarity index 100% rename from swift/ql/integration-tests/linux-only/RegexLiteralExpr/RegexLiteralExpr.ql rename to swift/ql/integration-tests/linux/RegexLiteralExpr/RegexLiteralExpr.ql diff --git a/swift/ql/integration-tests/linux-only/RegexLiteralExpr/regex.swift b/swift/ql/integration-tests/linux/RegexLiteralExpr/regex.swift similarity index 100% rename from swift/ql/integration-tests/linux-only/RegexLiteralExpr/regex.swift rename to swift/ql/integration-tests/linux/RegexLiteralExpr/regex.swift diff --git a/swift/ql/integration-tests/linux-only/RegexLiteralExpr/test.py b/swift/ql/integration-tests/linux/RegexLiteralExpr/test.py similarity index 100% rename from swift/ql/integration-tests/linux-only/RegexLiteralExpr/test.py rename to swift/ql/integration-tests/linux/RegexLiteralExpr/test.py diff --git a/swift/ql/integration-tests/osx-only/canonical-case/Files.expected b/swift/ql/integration-tests/osx/canonical-case/Files.expected similarity index 100% rename from swift/ql/integration-tests/osx-only/canonical-case/Files.expected rename to swift/ql/integration-tests/osx/canonical-case/Files.expected diff --git a/swift/ql/integration-tests/osx-only/canonical-case/Files.ql b/swift/ql/integration-tests/osx/canonical-case/Files.ql similarity index 100% rename from swift/ql/integration-tests/osx-only/canonical-case/Files.ql rename to swift/ql/integration-tests/osx/canonical-case/Files.ql diff --git a/swift/ql/integration-tests/osx-only/canonical-case/MiXeDcAsE.swifT b/swift/ql/integration-tests/osx/canonical-case/MiXeDcAsE.swifT similarity index 100% rename from swift/ql/integration-tests/osx-only/canonical-case/MiXeDcAsE.swifT rename to swift/ql/integration-tests/osx/canonical-case/MiXeDcAsE.swifT diff --git a/swift/ql/integration-tests/osx-only/canonical-case/build.sh b/swift/ql/integration-tests/osx/canonical-case/build.sh similarity index 100% rename from swift/ql/integration-tests/osx-only/canonical-case/build.sh rename to swift/ql/integration-tests/osx/canonical-case/build.sh diff --git a/swift/ql/integration-tests/osx-only/canonical-case/test.py b/swift/ql/integration-tests/osx/canonical-case/test.py similarity index 100% rename from swift/ql/integration-tests/osx-only/canonical-case/test.py rename to swift/ql/integration-tests/osx/canonical-case/test.py diff --git a/swift/ql/integration-tests/osx-only/hello-xcode/Files.expected b/swift/ql/integration-tests/osx/hello-xcode/Files.expected similarity index 100% rename from swift/ql/integration-tests/osx-only/hello-xcode/Files.expected rename to swift/ql/integration-tests/osx/hello-xcode/Files.expected diff --git a/swift/ql/integration-tests/osx-only/hello-xcode/Files.ql b/swift/ql/integration-tests/osx/hello-xcode/Files.ql similarity index 100% rename from swift/ql/integration-tests/osx-only/hello-xcode/Files.ql rename to swift/ql/integration-tests/osx/hello-xcode/Files.ql diff --git a/swift/ql/integration-tests/osx-only/hello-xcode/codeql-swift-autobuild-test.xcodeproj/project.pbxproj b/swift/ql/integration-tests/osx/hello-xcode/codeql-swift-autobuild-test.xcodeproj/project.pbxproj similarity index 100% rename from swift/ql/integration-tests/osx-only/hello-xcode/codeql-swift-autobuild-test.xcodeproj/project.pbxproj rename to swift/ql/integration-tests/osx/hello-xcode/codeql-swift-autobuild-test.xcodeproj/project.pbxproj diff --git a/swift/ql/integration-tests/osx-only/hello-xcode/codeql-swift-autobuild-test/AppDelegate.swift b/swift/ql/integration-tests/osx/hello-xcode/codeql-swift-autobuild-test/AppDelegate.swift similarity index 100% rename from swift/ql/integration-tests/osx-only/hello-xcode/codeql-swift-autobuild-test/AppDelegate.swift rename to swift/ql/integration-tests/osx/hello-xcode/codeql-swift-autobuild-test/AppDelegate.swift diff --git a/swift/ql/integration-tests/osx-only/hello-xcode/test.py b/swift/ql/integration-tests/osx/hello-xcode/test.py similarity index 100% rename from swift/ql/integration-tests/osx-only/hello-xcode/test.py rename to swift/ql/integration-tests/osx/hello-xcode/test.py diff --git a/swift/ql/integration-tests/posix-only/cross-references/Classes.expected b/swift/ql/integration-tests/posix/cross-references/Classes.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Classes.expected rename to swift/ql/integration-tests/posix/cross-references/Classes.expected diff --git a/swift/ql/integration-tests/posix-only/cross-references/Classes.ql b/swift/ql/integration-tests/posix/cross-references/Classes.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Classes.ql rename to swift/ql/integration-tests/posix/cross-references/Classes.ql diff --git a/swift/ql/integration-tests/posix-only/cross-references/Deinitializers.expected b/swift/ql/integration-tests/posix/cross-references/Deinitializers.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Deinitializers.expected rename to swift/ql/integration-tests/posix/cross-references/Deinitializers.expected diff --git a/swift/ql/integration-tests/posix-only/cross-references/Deinitializers.ql b/swift/ql/integration-tests/posix/cross-references/Deinitializers.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Deinitializers.ql rename to swift/ql/integration-tests/posix/cross-references/Deinitializers.ql diff --git a/swift/ql/integration-tests/posix-only/cross-references/Enums.expected b/swift/ql/integration-tests/posix/cross-references/Enums.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Enums.expected rename to swift/ql/integration-tests/posix/cross-references/Enums.expected diff --git a/swift/ql/integration-tests/posix-only/cross-references/Enums.ql b/swift/ql/integration-tests/posix/cross-references/Enums.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Enums.ql rename to swift/ql/integration-tests/posix/cross-references/Enums.ql diff --git a/swift/ql/integration-tests/posix-only/cross-references/Functions.expected b/swift/ql/integration-tests/posix/cross-references/Functions.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Functions.expected rename to swift/ql/integration-tests/posix/cross-references/Functions.expected diff --git a/swift/ql/integration-tests/posix-only/cross-references/Functions.ql b/swift/ql/integration-tests/posix/cross-references/Functions.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Functions.ql rename to swift/ql/integration-tests/posix/cross-references/Functions.ql diff --git a/swift/ql/integration-tests/posix-only/cross-references/Initializers.expected b/swift/ql/integration-tests/posix/cross-references/Initializers.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Initializers.expected rename to swift/ql/integration-tests/posix/cross-references/Initializers.expected diff --git a/swift/ql/integration-tests/posix-only/cross-references/Initializers.ql b/swift/ql/integration-tests/posix/cross-references/Initializers.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Initializers.ql rename to swift/ql/integration-tests/posix/cross-references/Initializers.ql diff --git a/swift/ql/integration-tests/posix-only/cross-references/Module.expected b/swift/ql/integration-tests/posix/cross-references/Module.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Module.expected rename to swift/ql/integration-tests/posix/cross-references/Module.expected diff --git a/swift/ql/integration-tests/posix-only/cross-references/Module.ql b/swift/ql/integration-tests/posix/cross-references/Module.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Module.ql rename to swift/ql/integration-tests/posix/cross-references/Module.ql diff --git a/swift/ql/integration-tests/posix-only/cross-references/Operators.expected b/swift/ql/integration-tests/posix/cross-references/Operators.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Operators.expected rename to swift/ql/integration-tests/posix/cross-references/Operators.expected diff --git a/swift/ql/integration-tests/posix-only/cross-references/Operators.ql b/swift/ql/integration-tests/posix/cross-references/Operators.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Operators.ql rename to swift/ql/integration-tests/posix/cross-references/Operators.ql diff --git a/swift/ql/integration-tests/posix-only/cross-references/Package.swift b/swift/ql/integration-tests/posix/cross-references/Package.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Package.swift rename to swift/ql/integration-tests/posix/cross-references/Package.swift diff --git a/swift/ql/integration-tests/posix-only/cross-references/Protocols.expected b/swift/ql/integration-tests/posix/cross-references/Protocols.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Protocols.expected rename to swift/ql/integration-tests/posix/cross-references/Protocols.expected diff --git a/swift/ql/integration-tests/posix-only/cross-references/Protocols.ql b/swift/ql/integration-tests/posix/cross-references/Protocols.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Protocols.ql rename to swift/ql/integration-tests/posix/cross-references/Protocols.ql diff --git a/swift/ql/integration-tests/posix-only/cross-references/Sources/cross-references/lib.swift b/swift/ql/integration-tests/posix/cross-references/Sources/cross-references/lib.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Sources/cross-references/lib.swift rename to swift/ql/integration-tests/posix/cross-references/Sources/cross-references/lib.swift diff --git a/swift/ql/integration-tests/posix-only/cross-references/Sources/cross-references/main.swift b/swift/ql/integration-tests/posix/cross-references/Sources/cross-references/main.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Sources/cross-references/main.swift rename to swift/ql/integration-tests/posix/cross-references/Sources/cross-references/main.swift diff --git a/swift/ql/integration-tests/posix-only/cross-references/Structs.expected b/swift/ql/integration-tests/posix/cross-references/Structs.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Structs.expected rename to swift/ql/integration-tests/posix/cross-references/Structs.expected diff --git a/swift/ql/integration-tests/posix-only/cross-references/Structs.ql b/swift/ql/integration-tests/posix/cross-references/Structs.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/Structs.ql rename to swift/ql/integration-tests/posix/cross-references/Structs.ql diff --git a/swift/ql/integration-tests/posix-only/cross-references/VarDecls.expected b/swift/ql/integration-tests/posix/cross-references/VarDecls.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/VarDecls.expected rename to swift/ql/integration-tests/posix/cross-references/VarDecls.expected diff --git a/swift/ql/integration-tests/posix-only/cross-references/VarDecls.ql b/swift/ql/integration-tests/posix/cross-references/VarDecls.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/VarDecls.ql rename to swift/ql/integration-tests/posix/cross-references/VarDecls.ql diff --git a/swift/ql/integration-tests/posix-only/cross-references/test.py b/swift/ql/integration-tests/posix/cross-references/test.py similarity index 100% rename from swift/ql/integration-tests/posix-only/cross-references/test.py rename to swift/ql/integration-tests/posix/cross-references/test.py diff --git a/swift/ql/integration-tests/posix-only/deduplication/BuiltinTypes.expected b/swift/ql/integration-tests/posix/deduplication/BuiltinTypes.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/deduplication/BuiltinTypes.expected rename to swift/ql/integration-tests/posix/deduplication/BuiltinTypes.expected diff --git a/swift/ql/integration-tests/posix-only/deduplication/BuiltinTypes.ql b/swift/ql/integration-tests/posix/deduplication/BuiltinTypes.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/deduplication/BuiltinTypes.ql rename to swift/ql/integration-tests/posix/deduplication/BuiltinTypes.ql diff --git a/swift/ql/integration-tests/posix-only/deduplication/Decls.expected b/swift/ql/integration-tests/posix/deduplication/Decls.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/deduplication/Decls.expected rename to swift/ql/integration-tests/posix/deduplication/Decls.expected diff --git a/swift/ql/integration-tests/posix-only/deduplication/Decls.ql b/swift/ql/integration-tests/posix/deduplication/Decls.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/deduplication/Decls.ql rename to swift/ql/integration-tests/posix/deduplication/Decls.ql diff --git a/swift/ql/integration-tests/posix-only/deduplication/Package.swift b/swift/ql/integration-tests/posix/deduplication/Package.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/deduplication/Package.swift rename to swift/ql/integration-tests/posix/deduplication/Package.swift diff --git a/swift/ql/integration-tests/posix-only/deduplication/Relevant.qll b/swift/ql/integration-tests/posix/deduplication/Relevant.qll similarity index 100% rename from swift/ql/integration-tests/posix-only/deduplication/Relevant.qll rename to swift/ql/integration-tests/posix/deduplication/Relevant.qll diff --git a/swift/ql/integration-tests/posix-only/deduplication/Sources/deduplication/def.swift b/swift/ql/integration-tests/posix/deduplication/Sources/deduplication/def.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/deduplication/Sources/deduplication/def.swift rename to swift/ql/integration-tests/posix/deduplication/Sources/deduplication/def.swift diff --git a/swift/ql/integration-tests/posix-only/deduplication/Sources/deduplication/use.swift b/swift/ql/integration-tests/posix/deduplication/Sources/deduplication/use.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/deduplication/Sources/deduplication/use.swift rename to swift/ql/integration-tests/posix/deduplication/Sources/deduplication/use.swift diff --git a/swift/ql/integration-tests/posix-only/deduplication/Types.expected b/swift/ql/integration-tests/posix/deduplication/Types.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/deduplication/Types.expected rename to swift/ql/integration-tests/posix/deduplication/Types.expected diff --git a/swift/ql/integration-tests/posix-only/deduplication/Types.ql b/swift/ql/integration-tests/posix/deduplication/Types.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/deduplication/Types.ql rename to swift/ql/integration-tests/posix/deduplication/Types.ql diff --git a/swift/ql/integration-tests/posix-only/deduplication/test.py b/swift/ql/integration-tests/posix/deduplication/test.py similarity index 100% rename from swift/ql/integration-tests/posix-only/deduplication/test.py rename to swift/ql/integration-tests/posix/deduplication/test.py diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/.gitignore b/swift/ql/integration-tests/posix/frontend-invocations/.gitignore similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/.gitignore rename to swift/ql/integration-tests/posix/frontend-invocations/.gitignore diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/A.swift b/swift/ql/integration-tests/posix/frontend-invocations/A.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/A.swift rename to swift/ql/integration-tests/posix/frontend-invocations/A.swift diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/B.swift b/swift/ql/integration-tests/posix/frontend-invocations/B.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/B.swift rename to swift/ql/integration-tests/posix/frontend-invocations/B.swift diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/C.swift b/swift/ql/integration-tests/posix/frontend-invocations/C.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/C.swift rename to swift/ql/integration-tests/posix/frontend-invocations/C.swift diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/D.swift b/swift/ql/integration-tests/posix/frontend-invocations/D.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/D.swift rename to swift/ql/integration-tests/posix/frontend-invocations/D.swift diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/E.swift b/swift/ql/integration-tests/posix/frontend-invocations/E.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/E.swift rename to swift/ql/integration-tests/posix/frontend-invocations/E.swift diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/Esup.swift b/swift/ql/integration-tests/posix/frontend-invocations/Esup.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/Esup.swift rename to swift/ql/integration-tests/posix/frontend-invocations/Esup.swift diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/F1.swift b/swift/ql/integration-tests/posix/frontend-invocations/F1.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/F1.swift rename to swift/ql/integration-tests/posix/frontend-invocations/F1.swift diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/F2.swift b/swift/ql/integration-tests/posix/frontend-invocations/F2.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/F2.swift rename to swift/ql/integration-tests/posix/frontend-invocations/F2.swift diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/F3.swift b/swift/ql/integration-tests/posix/frontend-invocations/F3.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/F3.swift rename to swift/ql/integration-tests/posix/frontend-invocations/F3.swift diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/F4.swift b/swift/ql/integration-tests/posix/frontend-invocations/F4.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/F4.swift rename to swift/ql/integration-tests/posix/frontend-invocations/F4.swift diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/F5.swift b/swift/ql/integration-tests/posix/frontend-invocations/F5.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/F5.swift rename to swift/ql/integration-tests/posix/frontend-invocations/F5.swift diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/Files.expected b/swift/ql/integration-tests/posix/frontend-invocations/Files.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/Files.expected rename to swift/ql/integration-tests/posix/frontend-invocations/Files.expected diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/Files.ql b/swift/ql/integration-tests/posix/frontend-invocations/Files.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/Files.ql rename to swift/ql/integration-tests/posix/frontend-invocations/Files.ql diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/G.swift b/swift/ql/integration-tests/posix/frontend-invocations/G.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/G.swift rename to swift/ql/integration-tests/posix/frontend-invocations/G.swift diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/H1.swift b/swift/ql/integration-tests/posix/frontend-invocations/H1.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/H1.swift rename to swift/ql/integration-tests/posix/frontend-invocations/H1.swift diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/H2.swift b/swift/ql/integration-tests/posix/frontend-invocations/H2.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/H2.swift rename to swift/ql/integration-tests/posix/frontend-invocations/H2.swift diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/H3.swift b/swift/ql/integration-tests/posix/frontend-invocations/H3.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/H3.swift rename to swift/ql/integration-tests/posix/frontend-invocations/H3.swift diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/I1.swift b/swift/ql/integration-tests/posix/frontend-invocations/I1.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/I1.swift rename to swift/ql/integration-tests/posix/frontend-invocations/I1.swift diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/I2.swift b/swift/ql/integration-tests/posix/frontend-invocations/I2.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/I2.swift rename to swift/ql/integration-tests/posix/frontend-invocations/I2.swift diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/Modules.expected b/swift/ql/integration-tests/posix/frontend-invocations/Modules.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/Modules.expected rename to swift/ql/integration-tests/posix/frontend-invocations/Modules.expected diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/Modules.ql b/swift/ql/integration-tests/posix/frontend-invocations/Modules.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/Modules.ql rename to swift/ql/integration-tests/posix/frontend-invocations/Modules.ql diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/build.sh b/swift/ql/integration-tests/posix/frontend-invocations/build.sh similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/build.sh rename to swift/ql/integration-tests/posix/frontend-invocations/build.sh diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/dir/.empty b/swift/ql/integration-tests/posix/frontend-invocations/dir/.empty similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/dir/.empty rename to swift/ql/integration-tests/posix/frontend-invocations/dir/.empty diff --git a/swift/ql/integration-tests/posix-only/frontend-invocations/test.py b/swift/ql/integration-tests/posix/frontend-invocations/test.py similarity index 100% rename from swift/ql/integration-tests/posix-only/frontend-invocations/test.py rename to swift/ql/integration-tests/posix/frontend-invocations/test.py diff --git a/swift/ql/integration-tests/posix-only/hello-world/Bodies.expected b/swift/ql/integration-tests/posix/hello-world/Bodies.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/hello-world/Bodies.expected rename to swift/ql/integration-tests/posix/hello-world/Bodies.expected diff --git a/swift/ql/integration-tests/posix-only/hello-world/Bodies.ql b/swift/ql/integration-tests/posix/hello-world/Bodies.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/hello-world/Bodies.ql rename to swift/ql/integration-tests/posix/hello-world/Bodies.ql diff --git a/swift/ql/integration-tests/posix-only/hello-world/Package.swift b/swift/ql/integration-tests/posix/hello-world/Package.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/hello-world/Package.swift rename to swift/ql/integration-tests/posix/hello-world/Package.swift diff --git a/swift/ql/integration-tests/posix-only/hello-world/Sources/hello-world/hello_world.swift b/swift/ql/integration-tests/posix/hello-world/Sources/hello-world/hello_world.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/hello-world/Sources/hello-world/hello_world.swift rename to swift/ql/integration-tests/posix/hello-world/Sources/hello-world/hello_world.swift diff --git a/swift/ql/integration-tests/posix-only/hello-world/test.expected b/swift/ql/integration-tests/posix/hello-world/test.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/hello-world/test.expected rename to swift/ql/integration-tests/posix/hello-world/test.expected diff --git a/swift/ql/integration-tests/posix-only/hello-world/test.py b/swift/ql/integration-tests/posix/hello-world/test.py similarity index 100% rename from swift/ql/integration-tests/posix-only/hello-world/test.py rename to swift/ql/integration-tests/posix/hello-world/test.py diff --git a/swift/ql/integration-tests/posix-only/hello-world/test.ql b/swift/ql/integration-tests/posix/hello-world/test.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/hello-world/test.ql rename to swift/ql/integration-tests/posix/hello-world/test.ql diff --git a/swift/ql/integration-tests/posix-only/linkage-awareness/Bodies.expected b/swift/ql/integration-tests/posix/linkage-awareness/Bodies.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/linkage-awareness/Bodies.expected rename to swift/ql/integration-tests/posix/linkage-awareness/Bodies.expected diff --git a/swift/ql/integration-tests/posix-only/linkage-awareness/Bodies.ql b/swift/ql/integration-tests/posix/linkage-awareness/Bodies.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/linkage-awareness/Bodies.ql rename to swift/ql/integration-tests/posix/linkage-awareness/Bodies.ql diff --git a/swift/ql/integration-tests/posix-only/linkage-awareness/Foo1/Package.swift b/swift/ql/integration-tests/posix/linkage-awareness/Foo1/Package.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/linkage-awareness/Foo1/Package.swift rename to swift/ql/integration-tests/posix/linkage-awareness/Foo1/Package.swift diff --git a/swift/ql/integration-tests/posix-only/linkage-awareness/Foo1/Sources/foo/main.swift b/swift/ql/integration-tests/posix/linkage-awareness/Foo1/Sources/foo/main.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/linkage-awareness/Foo1/Sources/foo/main.swift rename to swift/ql/integration-tests/posix/linkage-awareness/Foo1/Sources/foo/main.swift diff --git a/swift/ql/integration-tests/posix-only/linkage-awareness/Foo2/Package.swift b/swift/ql/integration-tests/posix/linkage-awareness/Foo2/Package.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/linkage-awareness/Foo2/Package.swift rename to swift/ql/integration-tests/posix/linkage-awareness/Foo2/Package.swift diff --git a/swift/ql/integration-tests/posix-only/linkage-awareness/Foo2/Sources/foo/main.swift b/swift/ql/integration-tests/posix/linkage-awareness/Foo2/Sources/foo/main.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/linkage-awareness/Foo2/Sources/foo/main.swift rename to swift/ql/integration-tests/posix/linkage-awareness/Foo2/Sources/foo/main.swift diff --git a/swift/ql/integration-tests/posix-only/linkage-awareness/build.sh b/swift/ql/integration-tests/posix/linkage-awareness/build.sh similarity index 100% rename from swift/ql/integration-tests/posix-only/linkage-awareness/build.sh rename to swift/ql/integration-tests/posix/linkage-awareness/build.sh diff --git a/swift/ql/integration-tests/posix-only/linkage-awareness/test.py b/swift/ql/integration-tests/posix/linkage-awareness/test.py similarity index 100% rename from swift/ql/integration-tests/posix-only/linkage-awareness/test.py rename to swift/ql/integration-tests/posix/linkage-awareness/test.py diff --git a/swift/ql/integration-tests/posix-only/partial-modules/A/Package.swift b/swift/ql/integration-tests/posix/partial-modules/A/Package.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/partial-modules/A/Package.swift rename to swift/ql/integration-tests/posix/partial-modules/A/Package.swift diff --git a/swift/ql/integration-tests/posix-only/partial-modules/A/Sources/A/A.swift b/swift/ql/integration-tests/posix/partial-modules/A/Sources/A/A.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/partial-modules/A/Sources/A/A.swift rename to swift/ql/integration-tests/posix/partial-modules/A/Sources/A/A.swift diff --git a/swift/ql/integration-tests/posix-only/partial-modules/A/Sources/A/Asup.swift b/swift/ql/integration-tests/posix/partial-modules/A/Sources/A/Asup.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/partial-modules/A/Sources/A/Asup.swift rename to swift/ql/integration-tests/posix/partial-modules/A/Sources/A/Asup.swift diff --git a/swift/ql/integration-tests/posix-only/partial-modules/B/Package.swift b/swift/ql/integration-tests/posix/partial-modules/B/Package.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/partial-modules/B/Package.swift rename to swift/ql/integration-tests/posix/partial-modules/B/Package.swift diff --git a/swift/ql/integration-tests/posix-only/partial-modules/B/Sources/B/B.swift b/swift/ql/integration-tests/posix/partial-modules/B/Sources/B/B.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/partial-modules/B/Sources/B/B.swift rename to swift/ql/integration-tests/posix/partial-modules/B/Sources/B/B.swift diff --git a/swift/ql/integration-tests/posix-only/partial-modules/B/Sources/B/Bsup.swift b/swift/ql/integration-tests/posix/partial-modules/B/Sources/B/Bsup.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/partial-modules/B/Sources/B/Bsup.swift rename to swift/ql/integration-tests/posix/partial-modules/B/Sources/B/Bsup.swift diff --git a/swift/ql/integration-tests/posix-only/partial-modules/Modules.expected b/swift/ql/integration-tests/posix/partial-modules/Modules.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/partial-modules/Modules.expected rename to swift/ql/integration-tests/posix/partial-modules/Modules.expected diff --git a/swift/ql/integration-tests/posix-only/partial-modules/Modules.ql b/swift/ql/integration-tests/posix/partial-modules/Modules.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/partial-modules/Modules.ql rename to swift/ql/integration-tests/posix/partial-modules/Modules.ql diff --git a/swift/ql/integration-tests/posix-only/partial-modules/Package.swift b/swift/ql/integration-tests/posix/partial-modules/Package.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/partial-modules/Package.swift rename to swift/ql/integration-tests/posix/partial-modules/Package.swift diff --git a/swift/ql/integration-tests/posix-only/partial-modules/Sources/partial-modules/partial_modules.swift b/swift/ql/integration-tests/posix/partial-modules/Sources/partial-modules/partial_modules.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/partial-modules/Sources/partial-modules/partial_modules.swift rename to swift/ql/integration-tests/posix/partial-modules/Sources/partial-modules/partial_modules.swift diff --git a/swift/ql/integration-tests/posix-only/partial-modules/Unknown.expected b/swift/ql/integration-tests/posix/partial-modules/Unknown.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/partial-modules/Unknown.expected rename to swift/ql/integration-tests/posix/partial-modules/Unknown.expected diff --git a/swift/ql/integration-tests/posix-only/partial-modules/Unknown.ql b/swift/ql/integration-tests/posix/partial-modules/Unknown.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/partial-modules/Unknown.ql rename to swift/ql/integration-tests/posix/partial-modules/Unknown.ql diff --git a/swift/ql/integration-tests/posix-only/partial-modules/test.py b/swift/ql/integration-tests/posix/partial-modules/test.py similarity index 100% rename from swift/ql/integration-tests/posix-only/partial-modules/test.py rename to swift/ql/integration-tests/posix/partial-modules/test.py diff --git a/swift/ql/integration-tests/posix-only/symlinks/.gitignore b/swift/ql/integration-tests/posix/symlinks/.gitignore similarity index 100% rename from swift/ql/integration-tests/posix-only/symlinks/.gitignore rename to swift/ql/integration-tests/posix/symlinks/.gitignore diff --git a/swift/ql/integration-tests/posix-only/symlinks/Files.expected b/swift/ql/integration-tests/posix/symlinks/Files.expected similarity index 100% rename from swift/ql/integration-tests/posix-only/symlinks/Files.expected rename to swift/ql/integration-tests/posix/symlinks/Files.expected diff --git a/swift/ql/integration-tests/posix-only/symlinks/Files.ql b/swift/ql/integration-tests/posix/symlinks/Files.ql similarity index 100% rename from swift/ql/integration-tests/posix-only/symlinks/Files.ql rename to swift/ql/integration-tests/posix/symlinks/Files.ql diff --git a/swift/ql/integration-tests/posix-only/symlinks/main.swift b/swift/ql/integration-tests/posix/symlinks/main.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/symlinks/main.swift rename to swift/ql/integration-tests/posix/symlinks/main.swift diff --git a/swift/ql/integration-tests/posix-only/symlinks/preserve/Package.swift b/swift/ql/integration-tests/posix/symlinks/preserve/Package.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/symlinks/preserve/Package.swift rename to swift/ql/integration-tests/posix/symlinks/preserve/Package.swift diff --git a/swift/ql/integration-tests/posix-only/symlinks/preserve/Sources/.gitkeep b/swift/ql/integration-tests/posix/symlinks/preserve/Sources/.gitkeep similarity index 100% rename from swift/ql/integration-tests/posix-only/symlinks/preserve/Sources/.gitkeep rename to swift/ql/integration-tests/posix/symlinks/preserve/Sources/.gitkeep diff --git a/swift/ql/integration-tests/posix-only/symlinks/resolve/Package.swift b/swift/ql/integration-tests/posix/symlinks/resolve/Package.swift similarity index 100% rename from swift/ql/integration-tests/posix-only/symlinks/resolve/Package.swift rename to swift/ql/integration-tests/posix/symlinks/resolve/Package.swift diff --git a/swift/ql/integration-tests/posix-only/symlinks/resolve/Sources/.gitkeep b/swift/ql/integration-tests/posix/symlinks/resolve/Sources/.gitkeep similarity index 100% rename from swift/ql/integration-tests/posix-only/symlinks/resolve/Sources/.gitkeep rename to swift/ql/integration-tests/posix/symlinks/resolve/Sources/.gitkeep diff --git a/swift/ql/integration-tests/posix-only/symlinks/test.py b/swift/ql/integration-tests/posix/symlinks/test.py similarity index 100% rename from swift/ql/integration-tests/posix-only/symlinks/test.py rename to swift/ql/integration-tests/posix/symlinks/test.py From d6049cd98b38e0844669c7fea6ec25e273e83a35 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 28 Aug 2024 10:54:16 +0200 Subject: [PATCH 244/258] C++: Add additional implementations of NonThrowingFunction and make minor fixes to docs --- .../code/cpp/models/implementations/Printf.qll | 13 +++++++------ .../code/cpp/models/implementations/Strcat.qll | 5 ++++- .../code/cpp/models/implementations/Strcpy.qll | 5 ++++- .../code/cpp/models/interfaces/NonThrowing.qll | 4 +--- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll index 677b9245b6b..a62e528c8a4 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll @@ -8,11 +8,12 @@ import semmle.code.cpp.models.interfaces.FormattingFunction import semmle.code.cpp.models.interfaces.Alias import semmle.code.cpp.models.interfaces.SideEffect +import semmle.code.cpp.models.interfaces.NonThrowing /** * The standard functions `printf`, `wprintf` and their glib variants. */ -private class Printf extends FormattingFunction, AliasFunction { +private class Printf extends FormattingFunction, AliasFunction, NonThrowingFunction { Printf() { this instanceof TopLevelFunction and ( @@ -36,7 +37,7 @@ private class Printf extends FormattingFunction, AliasFunction { /** * The standard functions `fprintf`, `fwprintf` and their glib variants. */ -private class Fprintf extends FormattingFunction { +private class Fprintf extends FormattingFunction, NonThrowingFunction { Fprintf() { this instanceof TopLevelFunction and ( @@ -54,7 +55,7 @@ private class Fprintf extends FormattingFunction { /** * The standard function `sprintf` and its Microsoft and glib variants. */ -private class Sprintf extends FormattingFunction { +private class Sprintf extends FormattingFunction, NonThrowingFunction { Sprintf() { this instanceof TopLevelFunction and ( @@ -97,7 +98,7 @@ private class Sprintf extends FormattingFunction { /** * Implements `Snprintf`. */ -private class SnprintfImpl extends Snprintf, AliasFunction, SideEffectFunction { +private class SnprintfImpl extends Snprintf, AliasFunction, SideEffectFunction, NonThrowingFunction { SnprintfImpl() { this instanceof TopLevelFunction and ( @@ -172,7 +173,7 @@ private class SnprintfImpl extends Snprintf, AliasFunction, SideEffectFunction { * and * https://learn.microsoft.com/en-us/previous-versions/windows/embedded/ms860435(v=msdn.10) */ -private class StringCchPrintf extends FormattingFunction { +private class StringCchPrintf extends FormattingFunction, NonThrowingFunction { StringCchPrintf() { this instanceof TopLevelFunction and exists(string baseName | @@ -204,7 +205,7 @@ private class StringCchPrintf extends FormattingFunction { /** * The standard function `syslog`. */ -private class Syslog extends FormattingFunction { +private class Syslog extends FormattingFunction, NonThrowingFunction { Syslog() { this instanceof TopLevelFunction and this.hasGlobalName("syslog") and diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcat.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcat.qll index f081a36fac6..9b11ed0af15 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcat.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcat.qll @@ -7,13 +7,16 @@ import semmle.code.cpp.models.interfaces.ArrayFunction import semmle.code.cpp.models.interfaces.DataFlow import semmle.code.cpp.models.interfaces.Taint import semmle.code.cpp.models.interfaces.SideEffect +import semmle.code.cpp.models.interfaces.NonThrowing /** * The standard function `strcat` and its wide, sized, and Microsoft variants. * * Does not include `strlcat`, which is covered by `StrlcatFunction` */ -class StrcatFunction extends TaintFunction, DataFlowFunction, ArrayFunction, SideEffectFunction { +class StrcatFunction extends TaintFunction, DataFlowFunction, ArrayFunction, SideEffectFunction, + NonThrowingFunction +{ StrcatFunction() { this.hasGlobalOrStdOrBslName([ "strcat", // strcat(dst, src) diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcpy.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcpy.qll index 1858da65234..b7f06f0cebf 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcpy.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcpy.qll @@ -7,11 +7,14 @@ import semmle.code.cpp.models.interfaces.ArrayFunction import semmle.code.cpp.models.interfaces.DataFlow import semmle.code.cpp.models.interfaces.Taint import semmle.code.cpp.models.interfaces.SideEffect +import semmle.code.cpp.models.interfaces.NonThrowing /** * The standard function `strcpy` and its wide, sized, and Microsoft variants. */ -class StrcpyFunction extends ArrayFunction, DataFlowFunction, TaintFunction, SideEffectFunction { +class StrcpyFunction extends ArrayFunction, DataFlowFunction, TaintFunction, SideEffectFunction, + NonThrowingFunction +{ StrcpyFunction() { this.hasGlobalOrStdOrBslName([ "strcpy", // strcpy(dst, src) diff --git a/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll b/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll index f3ec13b5bd5..64901d39ad3 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll @@ -1,7 +1,5 @@ /** - * Provides an abstract class for modeling functions that never throws. - * - * See also `ThrowingFunction` for modeling functions that do throw. + * Provides an abstract class for modeling functions that never throw. */ import semmle.code.cpp.Function From 27bc8ed6afefa3d75a1ca00286b15ea1b1ed39c0 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Wed, 28 Aug 2024 11:38:29 +0200 Subject: [PATCH 245/258] Address review comment --- .../codeql/dataflow/internal/DataFlowImpl.qll | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index 9c50d245aa5..c47ed472fda 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -2693,26 +2693,26 @@ module MakeImpl Lang> { ) { not inBarrier(node2, state) and not outBarrier(node1, state) and - exists(NodeEx node0, boolean preservesValue0, DataFlowType t0, string label0, Ap ap | - Input::localStep(node0, state, node2, state, preservesValue0, t0, cc, label0) and + exists(NodeEx mid, boolean preservesValue2, DataFlowType t2, string label2, Ap ap | + Input::localStep(mid, state, node2, state, preservesValue2, t2, cc, label2) and revFlow(node2, pragma[only_bind_into](state), pragma[only_bind_into](ap)) and - not outBarrier(node0, state) and + not outBarrier(mid, state) and (preservesValue = true or ap instanceof ApNil) | - node1 = node0 and + node1 = mid and localFlowEntry(node1, pragma[only_bind_into](state), pragma[only_bind_into](ap)) and - preservesValue = preservesValue0 and - label = label0 and - t = t0 and + preservesValue = preservesValue2 and + label = label2 and + t = t2 and node1 != node2 or exists(boolean preservesValue1, DataFlowType t1, string label1 | - localFlowStepPlus(node1, pragma[only_bind_into](state), node0, preservesValue1, t1, + localFlowStepPlus(node1, pragma[only_bind_into](state), mid, preservesValue1, t1, cc, label1) and - not node0 instanceof FlowCheckNode and - preservesValue = preservesValue0.booleanAnd(preservesValue1) and - label = mergeLabels(label1, label0) and - if preservesValue0 = true then t = t1 else t = t0 + not mid instanceof FlowCheckNode and + preservesValue = preservesValue2.booleanAnd(preservesValue1) and + label = mergeLabels(label1, label2) and + if preservesValue2 = true then t = t1 else t = t2 ) ) } From 9e861ce7174da8963cff7e892fcfbf5c3fa42266 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Tue, 27 Aug 2024 13:53:06 +0200 Subject: [PATCH 246/258] C++: Add support for more clang builtins --- .../exprs.ql | 17 + .../old.dbscheme | 2317 +++++++++++++++++ .../semmlecode.cpp.dbscheme | 2310 ++++++++++++++++ .../sizeof_bind.ql | 14 + .../upgrade.properties | 4 + .../code/cpp/exprs/BuiltInOperations.qll | 56 + cpp/ql/lib/semmle/code/cpp/exprs/Cast.qll | 47 + cpp/ql/lib/semmle/code/cpp/exprs/Expr.qll | 2 + cpp/ql/lib/semmlecode.cpp.dbscheme | 9 +- cpp/ql/lib/semmlecode.cpp.dbscheme.stats | 886 ++++--- .../old.dbscheme | 2310 ++++++++++++++++ .../semmlecode.cpp.dbscheme | 2317 +++++++++++++++++ .../upgrade.properties | 2 + .../builtins/type_traits/clang.cpp | 15 +- .../builtins/type_traits/expr.expected | 14 + .../types/datasizeof/datasizeof.cpp | 30 + .../types/datasizeof/datasizeof.expected | 10 + .../types/datasizeof/datasizeof.ql | 10 + 18 files changed, 9938 insertions(+), 432 deletions(-) create mode 100644 cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/exprs.ql create mode 100644 cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/old.dbscheme create mode 100644 cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/semmlecode.cpp.dbscheme create mode 100644 cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/sizeof_bind.ql create mode 100644 cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/upgrade.properties create mode 100644 cpp/ql/lib/upgrades/68930f3b81bbe3fdbb91c850deca1fec8072d62a/old.dbscheme create mode 100644 cpp/ql/lib/upgrades/68930f3b81bbe3fdbb91c850deca1fec8072d62a/semmlecode.cpp.dbscheme create mode 100644 cpp/ql/lib/upgrades/68930f3b81bbe3fdbb91c850deca1fec8072d62a/upgrade.properties create mode 100644 cpp/ql/test/library-tests/types/datasizeof/datasizeof.cpp create mode 100644 cpp/ql/test/library-tests/types/datasizeof/datasizeof.expected create mode 100644 cpp/ql/test/library-tests/types/datasizeof/datasizeof.ql diff --git a/cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/exprs.ql b/cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/exprs.ql new file mode 100644 index 00000000000..e575df01b5c --- /dev/null +++ b/cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/exprs.ql @@ -0,0 +1,17 @@ +class Expr extends @expr { + string toString() { none() } +} + +class Location extends @location_expr { + string toString() { none() } +} + +predicate isExprWithNewBuiltin(Expr expr) { + exists(int kind | exprs(expr, kind, _) | 385 <= kind and kind <= 388) +} + +from Expr expr, int kind, int kind_new, Location location +where + exprs(expr, kind, location) and + if isExprWithNewBuiltin(expr) then kind_new = 1 else kind_new = kind +select expr, kind_new, location diff --git a/cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/old.dbscheme b/cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/old.dbscheme new file mode 100644 index 00000000000..02a123a1a68 --- /dev/null +++ b/cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/old.dbscheme @@ -0,0 +1,2317 @@ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/** + * Information about packages that provide code used during compilation. + * The `id` is just a unique identifier. + * The `namespace` is typically the name of the package manager that + * provided the package (e.g. "dpkg" or "yum"). + * The `package_name` is the name of the package, and `version` is its + * version (as a string). + */ +external_packages( + unique int id: @external_package, + string namespace : string ref, + string package_name : string ref, + string version : string ref +); + +/** + * Holds if File `fileid` was provided by package `package`. + */ +header_to_external_package( + int fileid : @file ref, + int package : @external_package ref +); + +/* + * Version history + */ + +svnentries( + unique int id : @svnentry, + string revision : string ref, + string author : string ref, + date revisionDate : date ref, + int changeSize : int ref +) + +svnaffectedfiles( + int id : @svnentry ref, + int file : @file ref, + string action : string ref +) + +svnentrymsg( + unique int id : @svnentry ref, + string message : string ref +) + +svnchurn( + int commit : @svnentry ref, + int file : @file ref, + int addedLines : int ref, + int deletedLines : int ref +) + +/* + * C++ dbscheme + */ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +@location = @location_stmt | @location_expr | @location_default ; + +/** + * The location of an element that is not an expression or a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + /** The location of an element that is not an expression or a statement. */ + unique int id: @location_default, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_stmt( + /** The location of a statement. */ + unique int id: @location_stmt, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of an expression. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_expr( + /** The location of an expression. */ + unique int id: @location_expr, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +case @macroinvocation.kind of + 1 = @macro_expansion +| 2 = @other_macro_reference +; + +macroinvocations( + unique int id: @macroinvocation, + int macro_id: @ppd_define ref, + int location: @location_default ref, + int kind: int ref +); + +macroparent( + unique int id: @macroinvocation ref, + int parent_id: @macroinvocation ref +); + +// a macroinvocation may be part of another location +// the way to find a constant expression that uses a macro +// is thus to find a constant expression that has a location +// to which a macro invocation is bound +macrolocationbind( + int id: @macroinvocation ref, + int location: @location ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* +case @function.kind of + 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +| 6 = @builtin_function // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; +*/ + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +function_entry_point( + int id: @function ref, + unique int entry_point: @stmt ref +); + +function_return_type( + int id: @function ref, + int return_type: @type ref +); + +/** + * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits` + * instance associated with it, and the variables representing the `handle` and `promise` + * for it. + */ +coroutine( + unique int function: @function ref, + int traits: @type ref, + int handle: @variable ref, + int promise: @variable ref +); + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype ref +) + +member_function_this_type( + unique int id: @function ref, + int this_type: @type ref +); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @functionorblock ref, + int index: int ref, + int type_id: @type ref +); + +overrides( + int new: @function ref, + int old: @function ref +); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function ref +) + +enumconstants( + unique int id: @enumconstant, + int parent: @usertype ref, + int index: int ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); + +@variable = @localscopevariable | @globalvariable | @membervariable; + +@localscopevariable = @localvariable | @parameter; + +/** + * Built-in types are the fundamental types, e.g., integral, floating, and void. + */ +case @builtintype.kind of + 1 = @errortype +| 2 = @unknowntype +| 3 = @void +| 4 = @boolean +| 5 = @char +| 6 = @unsigned_char +| 7 = @signed_char +| 8 = @short +| 9 = @unsigned_short +| 10 = @signed_short +| 11 = @int +| 12 = @unsigned_int +| 13 = @signed_int +| 14 = @long +| 15 = @unsigned_long +| 16 = @signed_long +| 17 = @long_long +| 18 = @unsigned_long_long +| 19 = @signed_long_long +// ... 20 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +| 40 = @decimal32 // _Decimal32 +| 41 = @decimal64 // _Decimal64 +| 42 = @decimal128 // _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +; + +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/** + * Derived types are types that are directly derived from existing types and + * point to, refer to, transform type data to return a new type. + */ +case @derivedtype.kind of + 1 = @pointer +| 2 = @reference +| 3 = @type_with_specifiers +| 4 = @array +| 5 = @gnu_vector +| 6 = @routineptr +| 7 = @routinereference +| 8 = @rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated +| 10 = @block +; + +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator. For example: + * ``` + * int a; + * decltype(1+a) b; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * would change the semantics of this decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* +case @usertype.kind of + 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +| 5 = @typedef // classic C: typedef typedef type name +| 6 = @template +| 7 = @template_parameter +| 8 = @template_template_parameter +| 9 = @proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated +| 13 = @scoped_enum +| 14 = @using_alias // a using name = type style typedef +; +*/ + +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +is_pod_class(unique int id: @usertype ref); +is_standard_layout_class(unique int id: @usertype ref); + +is_complete(unique int id: @usertype ref); + +is_class_template(unique int id: @usertype ref); +class_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +class_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +class_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +is_proxy_class_for( + unique int id: @usertype ref, + unique int templ_param_id: @usertype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location ref, + // a_symbol_reference_kind from the frontend. + int kind: int ref +); + +is_function_template(unique int id: @function ref); +function_instantiation( + unique int to: @function ref, + int from: @function ref +); +function_template_argument( + int function_id: @function ref, + int index: int ref, + int arg_type: @type ref +); +function_template_argument_value( + int function_id: @function ref, + int index: int ref, + int arg_value: @expr ref +); + +is_variable_template(unique int id: @variable ref); +variable_instantiation( + unique int to: @variable ref, + int from: @variable ref +); +variable_template_argument( + int variable_id: @variable ref, + int index: int ref, + int arg_type: @type ref +); +variable_template_argument_value( + int variable_id: @variable ref, + int index: int ref, + int arg_value: @expr ref +); + +/* + Fixed point types + precision(1) = short, precision(2) = default, precision(3) = long + is_unsigned(1) = unsigned is_unsigned(2) = signed + is_fract_type(1) = declared with _Fract + saturating(1) = declared with _Sat +*/ +/* TODO +fixedpointtypes( + unique int id: @fixedpointtype, + int precision: int ref, + int is_unsigned: int ref, + int is_fract_type: int ref, + int saturating: int ref); +*/ + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr ref +) + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +attribute_arg_value( + unique int arg: @attribute_arg ref, + string value: string ref +); +attribute_arg_type( + unique int arg: @attribute_arg ref, + int type_id: @type ref +); +attribute_arg_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr ref +) +attribute_arg_name( + unique int arg: @attribute_arg ref, + string name: string ref +); + +typeattributes( + int type_id: @type ref, + int spec_id: @attribute ref +); + +funcattributes( + int func_id: @function ref, + int spec_id: @attribute ref +); + +varattributes( + int var_id: @accessible ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + /* TODO | @fixedpointtype */ + | @routinetype + | @ptrtomember + | @decltype; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall( + unique int caller: @funbindexpr ref, + int kind: int ref +); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_expr ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_expr ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int ref +) + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // frontend internal builtin, used to implement offsetof +// ... +| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type +| 123 = @literal +| 124 = @uuidof +| 127 = @aggregateliteral +| 128 = @delete_array_expr +| 129 = @new_array_expr +// ... 130 @objc_array_literal deprecated +// ... 131 @objc_dictionary_literal deprecated +| 132 = @foldexpr +// ... +| 200 = @ctordirectinit +| 201 = @ctorvirtualinit +| 202 = @ctorfieldinit +| 203 = @ctordelegatinginit +| 204 = @dtordirectdestruct +| 205 = @dtorvirtualdestruct +| 206 = @dtorfielddestruct +// ... +| 210 = @static_cast +| 211 = @reinterpret_cast +| 212 = @const_cast +| 213 = @dynamic_cast +| 214 = @c_style_cast +| 215 = @lambdaexpr +| 216 = @param_ref +| 217 = @noopexpr +// ... +| 294 = @istriviallyconstructibleexpr +| 295 = @isdestructibleexpr +| 296 = @isnothrowdestructibleexpr +| 297 = @istriviallydestructibleexpr +| 298 = @istriviallyassignableexpr +| 299 = @isnothrowassignableexpr +| 300 = @istrivialexpr +| 301 = @isstandardlayoutexpr +| 302 = @istriviallycopyableexpr +| 303 = @isliteraltypeexpr +| 304 = @hastrivialmoveconstructorexpr +| 305 = @hastrivialmoveassignexpr +| 306 = @hasnothrowmoveassignexpr +| 307 = @isconstructibleexpr +| 308 = @isnothrowconstructibleexpr +| 309 = @hasfinalizerexpr +| 310 = @isdelegateexpr +| 311 = @isinterfaceclassexpr +| 312 = @isrefarrayexpr +| 313 = @isrefclassexpr +| 314 = @issealedexpr +| 315 = @issimplevalueclassexpr +| 316 = @isvalueclassexpr +| 317 = @isfinalexpr +| 319 = @noexceptexpr +| 320 = @builtinshufflevector +| 321 = @builtinchooseexpr +| 322 = @builtinaddressof +| 323 = @vec_fill +| 324 = @builtinconvertvector +| 325 = @builtincomplex +| 326 = @spaceshipexpr +| 327 = @co_await +| 328 = @co_yield +| 329 = @temp_init +| 330 = @isassignable +| 331 = @isaggregate +| 332 = @hasuniqueobjectrepresentations +| 333 = @builtinbitcast +| 334 = @builtinshuffle +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +; + +@var_args_expr = @vastartexpr + | @vaendexpr + | @vaargexpr + | @vacopyexpr + ; + +@builtin_op = @var_args_expr + | @noopexpr + | @offsetofexpr + | @intaddrexpr + | @hasassignexpr + | @hascopyexpr + | @hasnothrowassign + | @hasnothrowconstr + | @hasnothrowcopy + | @hastrivialassign + | @hastrivialconstr + | @hastrivialcopy + | @hastrivialdestructor + | @hasuserdestr + | @hasvirtualdestr + | @isabstractexpr + | @isbaseofexpr + | @isclassexpr + | @isconvtoexpr + | @isemptyexpr + | @isenumexpr + | @ispodexpr + | @ispolyexpr + | @isunionexpr + | @typescompexpr + | @builtinshufflevector + | @builtinconvertvector + | @builtinaddressof + | @istriviallyconstructibleexpr + | @isdestructibleexpr + | @isnothrowdestructibleexpr + | @istriviallydestructibleexpr + | @istriviallyassignableexpr + | @isnothrowassignableexpr + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + ; + +new_allocated_type( + unique int expr: @new_expr ref, + int type_id: @type ref +); + +new_array_allocated_type( + unique int expr: @new_array_expr ref, + int type_id: @type ref +); + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof; + +sizeof_bind( + unique int expr: @runtime_sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_stmt ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_for ref, + int init_id: @stmt ref +); + +for_condition( + unique int for_stmt: @stmt_for ref, + int condition_id: @expr ref +); + +for_update( + unique int for_stmt: @stmt_for ref, + int update_id: @expr ref +); + +for_body( + unique int for_stmt: @stmt_for ref, + int body_id: @stmt ref +); + +@stmtparent = @stmt | @expr_stmt ; +stmtparents( + unique int id: @stmt ref, + int index: int ref, + int parent: @stmtparent ref +); + +ishandler(unique int block: @stmt_block ref); + +@cfgnode = @stmt | @expr | @function | @initialiser ; + +stmt_decl_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl: @declaration ref +); + +stmt_decl_entry_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl_entry: @element ref +); + +@functionorblock = @function | @stmt_block; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @functionorblock ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/* XML Files */ + +xmlEncoding(unique int id: @file ref, string encoding: string ref); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters + | @xmlelement + | @xmlcomment + | @xmlattribute + | @xmldtd + | @file + | @xmlnamespace; diff --git a/cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/semmlecode.cpp.dbscheme b/cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/semmlecode.cpp.dbscheme new file mode 100644 index 00000000000..68930f3b81b --- /dev/null +++ b/cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/semmlecode.cpp.dbscheme @@ -0,0 +1,2310 @@ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/** + * Information about packages that provide code used during compilation. + * The `id` is just a unique identifier. + * The `namespace` is typically the name of the package manager that + * provided the package (e.g. "dpkg" or "yum"). + * The `package_name` is the name of the package, and `version` is its + * version (as a string). + */ +external_packages( + unique int id: @external_package, + string namespace : string ref, + string package_name : string ref, + string version : string ref +); + +/** + * Holds if File `fileid` was provided by package `package`. + */ +header_to_external_package( + int fileid : @file ref, + int package : @external_package ref +); + +/* + * Version history + */ + +svnentries( + unique int id : @svnentry, + string revision : string ref, + string author : string ref, + date revisionDate : date ref, + int changeSize : int ref +) + +svnaffectedfiles( + int id : @svnentry ref, + int file : @file ref, + string action : string ref +) + +svnentrymsg( + unique int id : @svnentry ref, + string message : string ref +) + +svnchurn( + int commit : @svnentry ref, + int file : @file ref, + int addedLines : int ref, + int deletedLines : int ref +) + +/* + * C++ dbscheme + */ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +@location = @location_stmt | @location_expr | @location_default ; + +/** + * The location of an element that is not an expression or a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + /** The location of an element that is not an expression or a statement. */ + unique int id: @location_default, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_stmt( + /** The location of a statement. */ + unique int id: @location_stmt, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of an expression. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_expr( + /** The location of an expression. */ + unique int id: @location_expr, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +case @macroinvocation.kind of + 1 = @macro_expansion +| 2 = @other_macro_reference +; + +macroinvocations( + unique int id: @macroinvocation, + int macro_id: @ppd_define ref, + int location: @location_default ref, + int kind: int ref +); + +macroparent( + unique int id: @macroinvocation ref, + int parent_id: @macroinvocation ref +); + +// a macroinvocation may be part of another location +// the way to find a constant expression that uses a macro +// is thus to find a constant expression that has a location +// to which a macro invocation is bound +macrolocationbind( + int id: @macroinvocation ref, + int location: @location ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* +case @function.kind of + 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +| 6 = @builtin_function // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; +*/ + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +function_entry_point( + int id: @function ref, + unique int entry_point: @stmt ref +); + +function_return_type( + int id: @function ref, + int return_type: @type ref +); + +/** + * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits` + * instance associated with it, and the variables representing the `handle` and `promise` + * for it. + */ +coroutine( + unique int function: @function ref, + int traits: @type ref, + int handle: @variable ref, + int promise: @variable ref +); + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype ref +) + +member_function_this_type( + unique int id: @function ref, + int this_type: @type ref +); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @functionorblock ref, + int index: int ref, + int type_id: @type ref +); + +overrides( + int new: @function ref, + int old: @function ref +); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function ref +) + +enumconstants( + unique int id: @enumconstant, + int parent: @usertype ref, + int index: int ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); + +@variable = @localscopevariable | @globalvariable | @membervariable; + +@localscopevariable = @localvariable | @parameter; + +/** + * Built-in types are the fundamental types, e.g., integral, floating, and void. + */ +case @builtintype.kind of + 1 = @errortype +| 2 = @unknowntype +| 3 = @void +| 4 = @boolean +| 5 = @char +| 6 = @unsigned_char +| 7 = @signed_char +| 8 = @short +| 9 = @unsigned_short +| 10 = @signed_short +| 11 = @int +| 12 = @unsigned_int +| 13 = @signed_int +| 14 = @long +| 15 = @unsigned_long +| 16 = @signed_long +| 17 = @long_long +| 18 = @unsigned_long_long +| 19 = @signed_long_long +// ... 20 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +| 40 = @decimal32 // _Decimal32 +| 41 = @decimal64 // _Decimal64 +| 42 = @decimal128 // _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +; + +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/** + * Derived types are types that are directly derived from existing types and + * point to, refer to, transform type data to return a new type. + */ +case @derivedtype.kind of + 1 = @pointer +| 2 = @reference +| 3 = @type_with_specifiers +| 4 = @array +| 5 = @gnu_vector +| 6 = @routineptr +| 7 = @routinereference +| 8 = @rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated +| 10 = @block +; + +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator. For example: + * ``` + * int a; + * decltype(1+a) b; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * would change the semantics of this decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* +case @usertype.kind of + 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +| 5 = @typedef // classic C: typedef typedef type name +| 6 = @template +| 7 = @template_parameter +| 8 = @template_template_parameter +| 9 = @proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated +| 13 = @scoped_enum +| 14 = @using_alias // a using name = type style typedef +; +*/ + +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +is_pod_class(unique int id: @usertype ref); +is_standard_layout_class(unique int id: @usertype ref); + +is_complete(unique int id: @usertype ref); + +is_class_template(unique int id: @usertype ref); +class_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +class_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +class_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +is_proxy_class_for( + unique int id: @usertype ref, + unique int templ_param_id: @usertype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location ref, + // a_symbol_reference_kind from the frontend. + int kind: int ref +); + +is_function_template(unique int id: @function ref); +function_instantiation( + unique int to: @function ref, + int from: @function ref +); +function_template_argument( + int function_id: @function ref, + int index: int ref, + int arg_type: @type ref +); +function_template_argument_value( + int function_id: @function ref, + int index: int ref, + int arg_value: @expr ref +); + +is_variable_template(unique int id: @variable ref); +variable_instantiation( + unique int to: @variable ref, + int from: @variable ref +); +variable_template_argument( + int variable_id: @variable ref, + int index: int ref, + int arg_type: @type ref +); +variable_template_argument_value( + int variable_id: @variable ref, + int index: int ref, + int arg_value: @expr ref +); + +/* + Fixed point types + precision(1) = short, precision(2) = default, precision(3) = long + is_unsigned(1) = unsigned is_unsigned(2) = signed + is_fract_type(1) = declared with _Fract + saturating(1) = declared with _Sat +*/ +/* TODO +fixedpointtypes( + unique int id: @fixedpointtype, + int precision: int ref, + int is_unsigned: int ref, + int is_fract_type: int ref, + int saturating: int ref); +*/ + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr ref +) + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +attribute_arg_value( + unique int arg: @attribute_arg ref, + string value: string ref +); +attribute_arg_type( + unique int arg: @attribute_arg ref, + int type_id: @type ref +); +attribute_arg_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr ref +) +attribute_arg_name( + unique int arg: @attribute_arg ref, + string name: string ref +); + +typeattributes( + int type_id: @type ref, + int spec_id: @attribute ref +); + +funcattributes( + int func_id: @function ref, + int spec_id: @attribute ref +); + +varattributes( + int var_id: @accessible ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + /* TODO | @fixedpointtype */ + | @routinetype + | @ptrtomember + | @decltype; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall( + unique int caller: @funbindexpr ref, + int kind: int ref +); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_expr ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_expr ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int ref +) + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // frontend internal builtin, used to implement offsetof +// ... +| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type +| 123 = @literal +| 124 = @uuidof +| 127 = @aggregateliteral +| 128 = @delete_array_expr +| 129 = @new_array_expr +// ... 130 @objc_array_literal deprecated +// ... 131 @objc_dictionary_literal deprecated +| 132 = @foldexpr +// ... +| 200 = @ctordirectinit +| 201 = @ctorvirtualinit +| 202 = @ctorfieldinit +| 203 = @ctordelegatinginit +| 204 = @dtordirectdestruct +| 205 = @dtorvirtualdestruct +| 206 = @dtorfielddestruct +// ... +| 210 = @static_cast +| 211 = @reinterpret_cast +| 212 = @const_cast +| 213 = @dynamic_cast +| 214 = @c_style_cast +| 215 = @lambdaexpr +| 216 = @param_ref +| 217 = @noopexpr +// ... +| 294 = @istriviallyconstructibleexpr +| 295 = @isdestructibleexpr +| 296 = @isnothrowdestructibleexpr +| 297 = @istriviallydestructibleexpr +| 298 = @istriviallyassignableexpr +| 299 = @isnothrowassignableexpr +| 300 = @istrivialexpr +| 301 = @isstandardlayoutexpr +| 302 = @istriviallycopyableexpr +| 303 = @isliteraltypeexpr +| 304 = @hastrivialmoveconstructorexpr +| 305 = @hastrivialmoveassignexpr +| 306 = @hasnothrowmoveassignexpr +| 307 = @isconstructibleexpr +| 308 = @isnothrowconstructibleexpr +| 309 = @hasfinalizerexpr +| 310 = @isdelegateexpr +| 311 = @isinterfaceclassexpr +| 312 = @isrefarrayexpr +| 313 = @isrefclassexpr +| 314 = @issealedexpr +| 315 = @issimplevalueclassexpr +| 316 = @isvalueclassexpr +| 317 = @isfinalexpr +| 319 = @noexceptexpr +| 320 = @builtinshufflevector +| 321 = @builtinchooseexpr +| 322 = @builtinaddressof +| 323 = @vec_fill +| 324 = @builtinconvertvector +| 325 = @builtincomplex +| 326 = @spaceshipexpr +| 327 = @co_await +| 328 = @co_yield +| 329 = @temp_init +| 330 = @isassignable +| 331 = @isaggregate +| 332 = @hasuniqueobjectrepresentations +| 333 = @builtinbitcast +| 334 = @builtinshuffle +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +; + +@var_args_expr = @vastartexpr + | @vaendexpr + | @vaargexpr + | @vacopyexpr + ; + +@builtin_op = @var_args_expr + | @noopexpr + | @offsetofexpr + | @intaddrexpr + | @hasassignexpr + | @hascopyexpr + | @hasnothrowassign + | @hasnothrowconstr + | @hasnothrowcopy + | @hastrivialassign + | @hastrivialconstr + | @hastrivialcopy + | @hastrivialdestructor + | @hasuserdestr + | @hasvirtualdestr + | @isabstractexpr + | @isbaseofexpr + | @isclassexpr + | @isconvtoexpr + | @isemptyexpr + | @isenumexpr + | @ispodexpr + | @ispolyexpr + | @isunionexpr + | @typescompexpr + | @builtinshufflevector + | @builtinconvertvector + | @builtinaddressof + | @istriviallyconstructibleexpr + | @isdestructibleexpr + | @isnothrowdestructibleexpr + | @istriviallydestructibleexpr + | @istriviallyassignableexpr + | @isnothrowassignableexpr + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + ; + +new_allocated_type( + unique int expr: @new_expr ref, + int type_id: @type ref +); + +new_array_allocated_type( + unique int expr: @new_array_expr ref, + int type_id: @type ref +); + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof; + +sizeof_bind( + unique int expr: @runtime_sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_stmt ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_for ref, + int init_id: @stmt ref +); + +for_condition( + unique int for_stmt: @stmt_for ref, + int condition_id: @expr ref +); + +for_update( + unique int for_stmt: @stmt_for ref, + int update_id: @expr ref +); + +for_body( + unique int for_stmt: @stmt_for ref, + int body_id: @stmt ref +); + +@stmtparent = @stmt | @expr_stmt ; +stmtparents( + unique int id: @stmt ref, + int index: int ref, + int parent: @stmtparent ref +); + +ishandler(unique int block: @stmt_block ref); + +@cfgnode = @stmt | @expr | @function | @initialiser ; + +stmt_decl_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl: @declaration ref +); + +stmt_decl_entry_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl_entry: @element ref +); + +@functionorblock = @function | @stmt_block; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @functionorblock ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/* XML Files */ + +xmlEncoding(unique int id: @file ref, string encoding: string ref); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters + | @xmlelement + | @xmlcomment + | @xmlattribute + | @xmldtd + | @file + | @xmlnamespace; diff --git a/cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/sizeof_bind.ql b/cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/sizeof_bind.ql new file mode 100644 index 00000000000..47077d7fc82 --- /dev/null +++ b/cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/sizeof_bind.ql @@ -0,0 +1,14 @@ +class Expr extends @expr { + string toString() { none() } +} + +class Type extends @type { + string toString() { none() } +} + +from Expr expr, Type type, int kind +where + sizeof_bind(expr, type) and + exprs(expr, kind, _) and + (kind = 93 or kind = 94) +select expr, type diff --git a/cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/upgrade.properties b/cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/upgrade.properties new file mode 100644 index 00000000000..8b6ce267a06 --- /dev/null +++ b/cpp/downgrades/02a123a1a681f98cf502f189a2a79b0dfb398e59/upgrade.properties @@ -0,0 +1,4 @@ +description: Add new builtin operations +compatibility: partial +exprs.rel: run exprs.qlo +sizeof_bind.rel: run sizeof_bind.qlo diff --git a/cpp/ql/lib/semmle/code/cpp/exprs/BuiltInOperations.qll b/cpp/ql/lib/semmle/code/cpp/exprs/BuiltInOperations.qll index dcf72604ca9..dc55bcda9e6 100644 --- a/cpp/ql/lib/semmle/code/cpp/exprs/BuiltInOperations.qll +++ b/cpp/ql/lib/semmle/code/cpp/exprs/BuiltInOperations.qll @@ -1885,3 +1885,59 @@ class BuiltInOperationIsWinInterface extends BuiltInOperation, @iswininterface { override string getAPrimaryQlClass() { result = "BuiltInOperationIsWinInterface" } } + +/** + * A C++ `__is_trivially_equality_comparable` built-in operation. + * + * Returns `true` if comparing two objects of type `_Tp` is equivalent to + * comparing their object representations. + * + * ``` + * template + * struct is_trivially_equality_comparable + * : public integral_constant + * {}; + * ``` + */ +class BuiltInOperationIsTriviallyEqualityComparable extends BuiltInOperation, + @istriviallyequalitycomparable +{ + override string toString() { result = "__is_trivially_equality_comparable" } + + override string getAPrimaryQlClass() { result = "BuiltInOperationIsTriviallyEqualityComparable" } +} + +/** + * A C++ `__is_scoped_enum` built-in operation (used by some implementations + * of the `` header). + * + * Returns `true` if a type is a scoped enum. + * ``` + * template + * constexpr bool is_scoped_enum = __is_scoped_enum(_Tp); + * ``` + */ +class BuiltInOperationIsScopedEnum extends BuiltInOperation, @isscopedenum { + override string toString() { result = "__is_scoped_enum" } + + override string getAPrimaryQlClass() { result = "BuiltInOperationIsScopedEnum" } +} + +/** + * A C++ `__is_trivially_relocatable` built-in operation. + * + * Returns `true` if moving an object of type `_Tp` is equivalent to + * copying the underlying bytes. + * + * ``` + * template + * struct is_trivially_relocatable + * : public integral_constant + * {}; + * ``` + */ +class BuiltInOperationIsTriviallyRelocatable extends BuiltInOperation, @istriviallyrelocatable { + override string toString() { result = "__is_trivially_relocatable" } + + override string getAPrimaryQlClass() { result = "BuiltInOperationIsTriviallyRelocatable" } +} diff --git a/cpp/ql/lib/semmle/code/cpp/exprs/Cast.qll b/cpp/ql/lib/semmle/code/cpp/exprs/Cast.qll index e3ce623d217..b36624d127c 100644 --- a/cpp/ql/lib/semmle/code/cpp/exprs/Cast.qll +++ b/cpp/ql/lib/semmle/code/cpp/exprs/Cast.qll @@ -791,6 +791,53 @@ class AlignofTypeOperator extends AlignofOperator { override string toString() { result = "alignof(" + this.getTypeOperand().getName() + ")" } } +/** + * A C++ `__datasizeof` expression (used by some implementations + * of the `` header). + * + * The `__datasizeof` expression behaves identical to `sizeof` except + * that the result ignores tail padding. + */ +class DatasizeofOperator extends Expr, @datasizeof { + override int getPrecedence() { result = 16 } +} + +/** + * A C++ `__datasizeof` expression whose operand is an expression. + */ +class DatasizeofExprOperator extends DatasizeofOperator { + DatasizeofExprOperator() { exists(this.getChild(0)) } + + override string getAPrimaryQlClass() { result = "DatasizeofExprOperator" } + + /** Gets the contained expression. */ + Expr getExprOperand() { result = this.getChild(0) } + + override string toString() { result = "sizeof()" } + + override predicate mayBeImpure() { this.getExprOperand().mayBeImpure() } + + override predicate mayBeGloballyImpure() { this.getExprOperand().mayBeGloballyImpure() } +} + +/** + * A C++ `__datasizeof` expression whose operand is a type name. + */ +class DatasizeofTypeOperator extends DatasizeofOperator { + DatasizeofTypeOperator() { sizeof_bind(underlyingElement(this), _) } + + override string getAPrimaryQlClass() { result = "DatasizeofTypeOperator" } + + /** Gets the contained type. */ + Type getTypeOperand() { sizeof_bind(underlyingElement(this), unresolveElement(result)) } + + override string toString() { result = "sizeof(" + this.getTypeOperand().getName() + ")" } + + override predicate mayBeImpure() { none() } + + override predicate mayBeGloballyImpure() { none() } +} + /** * A C/C++ array to pointer conversion. * diff --git a/cpp/ql/lib/semmle/code/cpp/exprs/Expr.qll b/cpp/ql/lib/semmle/code/cpp/exprs/Expr.qll index 0689bf46070..d85962b9fe7 100644 --- a/cpp/ql/lib/semmle/code/cpp/exprs/Expr.qll +++ b/cpp/ql/lib/semmle/code/cpp/exprs/Expr.qll @@ -304,6 +304,8 @@ class Expr extends StmtParent, @expr { e instanceof NoExceptExpr or e instanceof AlignofOperator + or + e instanceof DatasizeofOperator ) or exists(Decltype d | d.getExpr() = this.getParentWithConversions*()) diff --git a/cpp/ql/lib/semmlecode.cpp.dbscheme b/cpp/ql/lib/semmlecode.cpp.dbscheme index 68930f3b81b..02a123a1a68 100644 --- a/cpp/ql/lib/semmlecode.cpp.dbscheme +++ b/cpp/ql/lib/semmlecode.cpp.dbscheme @@ -1788,6 +1788,10 @@ case @expr.kind of | 382 = @isvalidwinrttype | 383 = @iswinclass | 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof ; @var_args_expr = @vastartexpr @@ -1901,6 +1905,9 @@ case @expr.kind of | @isvalidwinrttype | @iswinclass | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable ; new_allocated_type( @@ -1961,7 +1968,7 @@ uuidof_bind( int type_id: @type ref ); -@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof; +@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof; sizeof_bind( unique int expr: @runtime_sizeof_or_alignof ref, diff --git a/cpp/ql/lib/semmlecode.cpp.dbscheme.stats b/cpp/ql/lib/semmlecode.cpp.dbscheme.stats index ce799a53e70..d2d1f3a4e63 100644 --- a/cpp/ql/lib/semmlecode.cpp.dbscheme.stats +++ b/cpp/ql/lib/semmlecode.cpp.dbscheme.stats @@ -2,7 +2,7 @@ @compilation - 9741 + 9742 @externalDataElement @@ -16,14 +16,14 @@ @svnentry 575525 - - @location_stmt - 3819884 - @location_default 29768335 + + @location_stmt + 3819884 + @diagnostic 4996 @@ -42,7 +42,7 @@ @macro_expansion - 33257696 + 33257908 @other_macro_reference @@ -98,7 +98,7 @@ @localvariable - 576947 + 576952 @enumconstant @@ -392,26 +392,6 @@ @specifier 24747 - - @gnuattribute - 553773 - - - @stdattribute - 253558 - - - @declspec - 239153 - - - @msattribute - 3 - - - @alignas - 4669 - @attribute_arg_token 25213 @@ -436,6 +416,26 @@ @attribute_arg_expr 3 + + @gnuattribute + 553773 + + + @stdattribute + 253563 + + + @declspec + 239153 + + + @msattribute + 3 + + + @alignas + 4669 + @derivation 391568 @@ -446,7 +446,7 @@ @comment - 8265960 + 8266137 @namespace @@ -554,7 +554,7 @@ @pdiffexpr - 33689 + 33690 @lshiftexpr @@ -638,7 +638,7 @@ @assignorexpr - 23627 + 23628 @assignxorexpr @@ -662,11 +662,11 @@ @commaexpr - 122838 + 122841 @subscriptexpr - 364479 + 364482 @callexpr @@ -966,11 +966,11 @@ @static_cast - 215643 + 215649 @reinterpret_cast - 31620 + 31621 @const_cast @@ -1340,6 +1340,22 @@ @iswininterface 1 + + @istriviallyequalitycomparable + 2 + + + @isscopedenum + 2 + + + @istriviallyrelocatable + 2 + + + @datasizeof + 10 + @stmt_expr 1486025 @@ -1350,7 +1366,7 @@ @stmt_while - 29316 + 29317 @stmt_goto @@ -1390,11 +1406,11 @@ @stmt_decl - 593107 + 593124 @stmt_empty - 192683 + 192685 @stmt_continue @@ -1434,7 +1450,7 @@ @stmt_constexpr_if - 52997 + 52998 @stmt_co_return @@ -1470,7 +1486,7 @@ @ppd_define - 2291875 + 2291924 @ppd_undef @@ -1482,7 +1498,7 @@ @ppd_line - 27520 + 27521 @ppd_error @@ -1490,7 +1506,7 @@ @ppd_pragma - 296704 + 296710 @ppd_objc_import @@ -1532,11 +1548,11 @@ compilations - 9741 + 9742 id - 9741 + 9742 cwd @@ -1554,7 +1570,7 @@ 1 2 - 9741 + 9742 @@ -2128,7 +2144,7 @@ seconds - 9588 + 9628 @@ -2209,47 +2225,52 @@ 3 4 - 799 + 679 4 5 - 199 + 319 5 - 7 - 119 + 8 + 159 8 - 10 - 159 + 9 + 79 10 11 - 119 + 199 11 - 14 + 17 159 - 14 + 17 18 + 39 + + + 18 + 19 159 - 19 - 24 + 21 + 53 159 - 42 - 85 - 119 + 95 + 96 + 39 @@ -2317,43 +2338,43 @@ 3 4 - 1358 + 1398 4 5 - 399 + 359 5 6 - 239 + 279 6 7 - 439 + 399 7 8 - 119 + 79 8 - 10 + 9 + 239 + + + 9 + 20 279 - 10 - 27 + 24 + 92 279 - - 28 - 89 - 199 - @@ -2403,13 +2424,13 @@ 79 - 123 - 124 + 135 + 136 39 - 137 - 138 + 138 + 139 39 @@ -2426,26 +2447,26 @@ 1 2 - 5073 + 4794 2 3 - 1957 + 2037 3 4 - 1438 + 1478 4 5 - 679 + 878 5 - 45 + 47 439 @@ -2462,32 +2483,32 @@ 1 2 - 4754 + 4394 2 3 - 1438 + 1717 3 4 - 1398 + 1757 4 5 - 799 + 719 5 - 7 - 799 + 9 + 838 - 7 - 74 - 399 + 9 + 77 + 199 @@ -2503,12 +2524,12 @@ 1 2 - 8549 + 8110 2 3 - 1038 + 1518 @@ -2844,15 +2865,15 @@ compilation_finished - 9741 + 9742 id - 9741 + 9742 cpu_seconds - 7314 + 7100 elapsed_seconds @@ -2870,7 +2891,7 @@ 1 2 - 9741 + 9742 @@ -2886,7 +2907,7 @@ 1 2 - 9741 + 9742 @@ -2902,17 +2923,17 @@ 1 2 - 5870 + 5633 2 3 - 993 + 925 3 - 13 - 451 + 17 + 541 @@ -2928,12 +2949,12 @@ 1 2 - 6581 + 6344 2 3 - 733 + 756 @@ -2952,48 +2973,48 @@ 33 - 6 - 7 + 4 + 5 11 - 8 - 9 + 9 + 10 11 - 11 - 12 + 12 + 13 11 - 16 - 17 + 17 + 18 11 - 49 - 50 + 47 + 48 11 - 166 - 167 + 165 + 166 11 - 173 - 174 + 174 + 175 11 - 190 - 191 + 187 + 188 11 - 238 - 239 + 242 + 243 11 @@ -3013,48 +3034,48 @@ 33 - 6 - 7 + 4 + 5 11 - 8 - 9 + 9 + 10 11 - 11 - 12 + 12 + 13 11 - 16 - 17 + 17 + 18 11 - 47 - 48 + 46 + 47 11 - 132 - 133 + 115 + 116 11 - 133 - 134 + 126 + 127 11 - 141 - 142 + 142 + 143 11 - 213 - 214 + 219 + 220 11 @@ -11755,7 +11776,7 @@ fileannotations - 5129296 + 5129447 id @@ -11767,11 +11788,11 @@ name - 54771 + 54773 value - 46045 + 46046 @@ -11790,7 +11811,7 @@ 2 3 - 4729 + 4730 @@ -12011,7 +12032,7 @@ 2 3 - 6219 + 6220 3 @@ -12041,7 +12062,7 @@ 20 34 - 4221 + 4222 34 @@ -12077,7 +12098,7 @@ 1 2 - 54771 + 54773 @@ -12098,7 +12119,7 @@ 2 3 - 8059 + 8060 3 @@ -12164,7 +12185,7 @@ 1 2 - 7156 + 7157 2 @@ -12219,7 +12240,7 @@ 322 399 - 3950 + 3951 399 @@ -12240,7 +12261,7 @@ 1 2 - 46034 + 46035 2 @@ -12331,15 +12352,15 @@ inmacroexpansion - 109779175 + 109779198 id - 18027366 + 18027369 inv - 2700172 + 2700171 @@ -12353,32 +12374,32 @@ 1 3 - 1581957 + 1581956 3 5 - 1077798 + 1077799 5 6 - 1184883 + 1184884 6 7 - 4819925 + 4819927 7 8 - 6385962 + 6385963 8 9 - 2605254 + 2605255 9 @@ -12399,12 +12420,12 @@ 1 2 - 378425 + 378424 2 3 - 544108 + 544106 3 @@ -12434,12 +12455,12 @@ 10 11 - 325486 + 325487 11 337 - 224846 + 224848 339 @@ -12459,7 +12480,7 @@ affectedbymacroexpansion - 35689090 + 35689096 id @@ -12467,7 +12488,7 @@ inv - 2784775 + 2784774 @@ -12481,7 +12502,7 @@ 1 2 - 2815935 + 2815934 2 @@ -12527,7 +12548,7 @@ 1 4 - 229117 + 229116 4 @@ -12597,19 +12618,19 @@ macroinvocations - 33490949 + 33491157 id - 33490949 + 33491157 macro_id - 79482 + 79484 location - 760368 + 760390 kind @@ -12627,7 +12648,7 @@ 1 2 - 33490949 + 33491157 @@ -12643,7 +12664,7 @@ 1 2 - 33490949 + 33491157 @@ -12659,7 +12680,7 @@ 1 2 - 33490949 + 33491157 @@ -12710,7 +12731,7 @@ 26 61 - 6061 + 6062 61 @@ -12741,7 +12762,7 @@ 1 2 - 42467 + 42468 2 @@ -12756,7 +12777,7 @@ 4 6 - 6840 + 6841 6 @@ -12787,7 +12808,7 @@ 1 2 - 73747 + 73749 2 @@ -12808,37 +12829,42 @@ 1 2 - 281218 + 281226 2 3 - 169654 + 169659 3 4 - 70733 + 70735 4 5 - 60325 + 60327 5 - 9 - 70360 + 8 + 53858 - 9 - 21 - 59106 + 8 + 17 + 62889 - 21 - 244764 - 48969 + 17 + 525 + 57030 + + + 534 + 244748 + 4662 @@ -12854,12 +12880,12 @@ 1 2 - 714198 + 714219 2 350 - 46169 + 46171 @@ -12875,7 +12901,7 @@ 1 2 - 760368 + 760390 @@ -12889,13 +12915,13 @@ 12 - 20663 - 20664 + 20662 + 20663 11 - 2946167 - 2946168 + 2946099 + 2946100 11 @@ -12948,15 +12974,15 @@ macroparent - 29950278 + 29950856 id - 29950278 + 29950856 parent_id - 23286721 + 23287102 @@ -12970,7 +12996,7 @@ 1 2 - 29950278 + 29950856 @@ -12986,17 +13012,17 @@ 1 2 - 17992646 + 17992872 2 3 - 4459439 + 4459570 3 88 - 834635 + 834659 @@ -13084,11 +13110,11 @@ macro_argument_unexpanded - 84547741 + 84549814 invocation - 26214485 + 26214874 argument_index @@ -13096,7 +13122,7 @@ text - 318300 + 318310 @@ -13110,22 +13136,22 @@ 1 2 - 7432628 + 7432497 2 3 - 10673794 + 10674075 3 4 - 6139174 + 6139354 4 67 - 1968888 + 1968946 @@ -13141,22 +13167,22 @@ 1 2 - 7502786 + 7502657 2 3 - 10820341 + 10820626 3 4 - 5972849 + 5973025 4 67 - 1918508 + 1918564 @@ -13181,7 +13207,7 @@ 718261 - 2322238 + 2322204 33 @@ -13224,12 +13250,12 @@ 1 2 - 35073 + 35074 2 3 - 61262 + 61264 3 @@ -13239,32 +13265,32 @@ 4 5 - 45086 + 45087 5 7 - 23931 + 23932 7 12 - 18490 + 18592 12 16 - 21617 + 21516 16 23 - 24981 + 24982 23 42 - 24326 + 24327 42 @@ -13274,7 +13300,7 @@ 128 522393 - 21910 + 21911 @@ -13290,17 +13316,17 @@ 1 2 - 230194 + 230201 2 3 - 77822 + 77824 3 9 - 10283 + 10284 @@ -13310,11 +13336,11 @@ macro_argument_expanded - 84547741 + 84549814 invocation - 26214485 + 26214874 argument_index @@ -13322,7 +13348,7 @@ text - 192897 + 192902 @@ -13336,22 +13362,22 @@ 1 2 - 7432628 + 7432497 2 3 - 10673794 + 10674075 3 4 - 6139174 + 6139354 4 67 - 1968888 + 1968946 @@ -13367,22 +13393,22 @@ 1 2 - 10688876 + 10688841 2 3 - 9201666 + 9201903 3 4 - 5208146 + 5208300 4 9 - 1115796 + 1115829 @@ -13407,7 +13433,7 @@ 718261 - 2322238 + 2322204 33 @@ -13455,7 +13481,7 @@ 2 3 - 37308 + 37309 3 @@ -13480,12 +13506,12 @@ 7 9 - 14776 + 14788 9 14 - 12044 + 12033 14 @@ -13500,11 +13526,11 @@ 48 151 - 14471 + 14472 152 - 1060426 + 1060410 13738 @@ -13521,12 +13547,12 @@ 1 2 - 97622 + 97625 2 3 - 80870 + 80872 3 @@ -15161,15 +15187,15 @@ fun_decl_noexcept - 61665 + 61667 fun_decl - 61665 + 61667 constant - 61567 + 61568 @@ -15183,7 +15209,7 @@ 1 2 - 61665 + 61667 @@ -15199,7 +15225,7 @@ 1 2 - 61468 + 61469 2 @@ -17082,7 +17108,7 @@ using_container - 466789 + 466802 parent @@ -17090,7 +17116,7 @@ child - 295983 + 295992 @@ -17160,17 +17186,17 @@ 1 2 - 218307 + 218314 2 3 - 51723 + 51725 3 11 - 23818 + 23819 13 @@ -18289,11 +18315,11 @@ overrides - 125725 + 125735 new - 122753 + 122762 old @@ -18311,7 +18337,7 @@ 1 2 - 119788 + 119798 2 @@ -18719,11 +18745,11 @@ localvariables - 576947 + 576952 id - 576947 + 576952 type_id @@ -18731,7 +18757,7 @@ name - 90548 + 90549 @@ -18745,7 +18771,7 @@ 1 2 - 576947 + 576952 @@ -18761,7 +18787,7 @@ 1 2 - 576947 + 576952 @@ -18854,7 +18880,7 @@ 1 2 - 57031 + 57032 2 @@ -18900,7 +18926,7 @@ 3 1486 - 6644 + 6645 @@ -18910,11 +18936,11 @@ autoderivation - 147958 + 147961 var - 147958 + 147961 derivation_type @@ -18932,7 +18958,7 @@ 1 2 - 147958 + 147961 @@ -21448,15 +21474,15 @@ typedefbase - 1686067 + 1686117 id - 1686067 + 1686117 type_id - 793466 + 793489 @@ -21470,7 +21496,7 @@ 1 2 - 1686067 + 1686117 @@ -21486,22 +21512,22 @@ 1 2 - 617388 + 617406 2 3 - 83252 + 83254 3 6 - 62030 + 62031 6 5437 - 30794 + 30795 @@ -22434,11 +22460,11 @@ is_pod_class - 534689 + 534705 id - 534689 + 534705 @@ -22566,11 +22592,11 @@ class_template_argument - 2883028 + 2882763 type_id - 1315580 + 1315517 index @@ -22578,7 +22604,7 @@ arg_type - 840471 + 840394 @@ -22592,7 +22618,7 @@ 1 2 - 540943 + 540959 2 @@ -22602,12 +22628,12 @@ 3 4 - 231424 + 231397 4 7 - 120368 + 120315 7 @@ -22628,22 +22654,22 @@ 1 2 - 567595 + 567611 2 3 - 410482 + 410483 3 4 - 244869 + 244842 4 113 - 92633 + 92579 @@ -22687,8 +22713,8 @@ 101 - 12810 - 116427 + 12805 + 116418 45 @@ -22751,27 +22777,27 @@ 1 2 - 523378 + 523348 2 3 - 174384 + 174344 3 4 - 51317 + 51341 4 10 - 64016 + 63984 10 10265 - 27374 + 27375 @@ -22787,12 +22813,12 @@ 1 2 - 746573 + 746494 2 3 - 77833 + 77836 3 @@ -23888,22 +23914,22 @@ is_variable_template - 40289 + 40290 id - 40289 + 40290 variable_instantiation - 204304 + 204308 to - 204304 + 204308 from @@ -23921,7 +23947,7 @@ 1 2 - 204304 + 204308 @@ -23937,7 +23963,7 @@ 1 2 - 12214 + 12215 2 @@ -23982,11 +24008,11 @@ variable_template_argument - 383982 + 383990 variable_id - 195635 + 195640 index @@ -23994,7 +24020,7 @@ arg_type - 187558 + 187562 @@ -24008,22 +24034,22 @@ 1 2 - 86095 + 86097 2 3 - 70235 + 70237 3 4 - 28862 + 28863 4 17 - 10441 + 10442 @@ -24039,17 +24065,17 @@ 1 2 - 90429 + 90431 2 3 - 71713 + 71714 3 4 - 24035 + 24036 4 @@ -24187,7 +24213,7 @@ 1 2 - 145594 + 145597 2 @@ -24218,7 +24244,7 @@ 1 2 - 170220 + 170224 2 @@ -25276,15 +25302,15 @@ explicit_specifier_exprs - 32605 + 32606 func_id - 32605 + 32606 constant - 32605 + 32606 @@ -25298,7 +25324,7 @@ 1 2 - 32605 + 32606 @@ -25314,7 +25340,7 @@ 1 2 - 32605 + 32606 @@ -27216,15 +27242,15 @@ enclosingfunction - 118325 + 118329 child - 118325 + 118329 parent - 67663 + 67665 @@ -27238,7 +27264,7 @@ 1 2 - 118325 + 118329 @@ -27254,12 +27280,12 @@ 1 2 - 35761 + 35762 2 3 - 21052 + 21053 3 @@ -27269,7 +27295,7 @@ 4 45 - 4887 + 4888 @@ -28600,19 +28626,19 @@ comments - 8265960 + 8266137 id - 8265960 + 8266137 contents - 3147511 + 3147578 location - 8265960 + 8266137 @@ -28626,7 +28652,7 @@ 1 2 - 8265960 + 8266137 @@ -28642,7 +28668,7 @@ 1 2 - 8265960 + 8266137 @@ -28658,17 +28684,17 @@ 1 2 - 2879275 + 2879337 2 7 - 236614 + 236620 7 32784 - 31620 + 31621 @@ -28684,17 +28710,17 @@ 1 2 - 2879275 + 2879337 2 7 - 236614 + 236620 7 32784 - 31620 + 31621 @@ -28710,7 +28736,7 @@ 1 2 - 8265960 + 8266137 @@ -28726,7 +28752,7 @@ 1 2 - 8265960 + 8266137 @@ -28794,15 +28820,15 @@ exprconv - 7033024 + 7033025 converted - 7033024 + 7033025 conversion - 7033024 + 7033025 @@ -28816,7 +28842,7 @@ 1 2 - 7033024 + 7033025 @@ -28832,7 +28858,7 @@ 1 2 - 7033024 + 7033025 @@ -29557,11 +29583,11 @@ expr_isload - 5096974 + 5096886 expr_id - 5096974 + 5096886 @@ -29837,7 +29863,7 @@ qualifyingelement - 97519 + 97538 location @@ -29951,7 +29977,7 @@ 1 2 - 58401 + 58420 2 @@ -29987,7 +30013,7 @@ 1 2 - 58401 + 58420 2 @@ -30023,7 +30049,7 @@ 1 2 - 63815 + 63834 2 @@ -30136,12 +30162,12 @@ 1 2 - 137074 + 137055 2 3 - 55684 + 55703 3 @@ -30262,7 +30288,7 @@ fun - 511325 + 511344 @@ -30297,12 +30323,12 @@ 1 2 - 315052 + 315090 2 3 - 77912 + 77893 3 @@ -32082,15 +32108,15 @@ expr_types - 18451522 + 18451524 id - 18319865 + 18319863 typeid - 1214570 + 1214606 value_category @@ -32108,12 +32134,12 @@ 1 2 - 18188208 + 18188202 2 3 - 131657 + 131661 @@ -32129,7 +32155,7 @@ 1 2 - 18319865 + 18319863 @@ -32145,42 +32171,42 @@ 1 2 - 438545 + 438558 2 3 - 249328 + 249335 3 4 - 102804 + 102807 4 5 - 81886 + 81888 5 8 - 109283 + 109275 8 14 - 96471 + 96485 14 41 - 91662 + 91665 41 - 125330 - 44589 + 125325 + 44590 @@ -32196,12 +32222,12 @@ 1 2 - 1050188 + 1050219 2 3 - 154189 + 154193 3 @@ -32225,13 +32251,13 @@ 11 - 368484 - 368485 + 368483 + 368484 11 - 1239526 - 1239527 + 1239479 + 1239480 11 @@ -34691,11 +34717,11 @@ stmts - 4630245 + 4630345 id - 4630245 + 4630345 kind @@ -34703,7 +34729,7 @@ location - 2171696 + 2171742 @@ -34717,7 +34743,7 @@ 1 2 - 4630245 + 4630345 @@ -34733,7 +34759,7 @@ 1 2 - 4630245 + 4630345 @@ -34961,22 +34987,22 @@ 1 2 - 1725752 + 1725789 2 3 - 178298 + 178302 3 8 - 167364 + 167367 8 653 - 100280 + 100282 @@ -34992,12 +35018,12 @@ 1 2 - 2117812 + 2117857 2 8 - 53883 + 53884 @@ -35295,15 +35321,15 @@ constexpr_if_then - 52997 + 52998 constexpr_if_stmt - 52997 + 52998 then_id - 52997 + 52998 @@ -35317,7 +35343,7 @@ 1 2 - 52997 + 52998 @@ -35333,7 +35359,7 @@ 1 2 - 52997 + 52998 @@ -35391,15 +35417,15 @@ while_body - 29316 + 29317 while_stmt - 29316 + 29317 body_id - 29316 + 29317 @@ -35413,7 +35439,7 @@ 1 2 - 29316 + 29317 @@ -35429,7 +35455,7 @@ 1 2 - 29316 + 29317 @@ -36308,11 +36334,11 @@ stmt_decl_bind - 580844 + 580849 stmt - 541062 + 541067 num @@ -36320,7 +36346,7 @@ decl - 580740 + 580745 @@ -36334,7 +36360,7 @@ 1 2 - 520373 + 520378 2 @@ -36355,7 +36381,7 @@ 1 2 - 520373 + 520378 2 @@ -36558,7 +36584,7 @@ 1 2 - 580703 + 580708 2 @@ -36579,7 +36605,7 @@ 1 2 - 580740 + 580745 @@ -36589,11 +36615,11 @@ stmt_decl_entry_bind - 580844 + 580849 stmt - 541062 + 541067 num @@ -36601,7 +36627,7 @@ decl_entry - 580786 + 580791 @@ -36615,7 +36641,7 @@ 1 2 - 520373 + 520378 2 @@ -36636,7 +36662,7 @@ 1 2 - 520373 + 520378 2 @@ -36839,7 +36865,7 @@ 1 2 - 580765 + 580770 3 @@ -36860,7 +36886,7 @@ 1 2 - 580786 + 580791 @@ -37410,19 +37436,19 @@ preproctext - 3367675 + 3367747 id - 3367675 + 3367747 head - 2440621 + 2440673 body - 1426388 + 1426418 @@ -37436,7 +37462,7 @@ 1 2 - 3367675 + 3367747 @@ -37452,7 +37478,7 @@ 1 2 - 3367675 + 3367747 @@ -37468,12 +37494,12 @@ 1 2 - 2301824 + 2301873 2 740 - 138797 + 138800 @@ -37489,12 +37515,12 @@ 1 2 - 2381911 + 2381962 2 5 - 58710 + 58711 @@ -37510,12 +37536,12 @@ 1 2 - 1291236 + 1291263 2 6 - 106979 + 106981 6 @@ -37536,17 +37562,17 @@ 1 2 - 1294092 + 1294120 2 7 - 107274 + 107276 7 2980 - 25020 + 25021 diff --git a/cpp/ql/lib/upgrades/68930f3b81bbe3fdbb91c850deca1fec8072d62a/old.dbscheme b/cpp/ql/lib/upgrades/68930f3b81bbe3fdbb91c850deca1fec8072d62a/old.dbscheme new file mode 100644 index 00000000000..68930f3b81b --- /dev/null +++ b/cpp/ql/lib/upgrades/68930f3b81bbe3fdbb91c850deca1fec8072d62a/old.dbscheme @@ -0,0 +1,2310 @@ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/** + * Information about packages that provide code used during compilation. + * The `id` is just a unique identifier. + * The `namespace` is typically the name of the package manager that + * provided the package (e.g. "dpkg" or "yum"). + * The `package_name` is the name of the package, and `version` is its + * version (as a string). + */ +external_packages( + unique int id: @external_package, + string namespace : string ref, + string package_name : string ref, + string version : string ref +); + +/** + * Holds if File `fileid` was provided by package `package`. + */ +header_to_external_package( + int fileid : @file ref, + int package : @external_package ref +); + +/* + * Version history + */ + +svnentries( + unique int id : @svnentry, + string revision : string ref, + string author : string ref, + date revisionDate : date ref, + int changeSize : int ref +) + +svnaffectedfiles( + int id : @svnentry ref, + int file : @file ref, + string action : string ref +) + +svnentrymsg( + unique int id : @svnentry ref, + string message : string ref +) + +svnchurn( + int commit : @svnentry ref, + int file : @file ref, + int addedLines : int ref, + int deletedLines : int ref +) + +/* + * C++ dbscheme + */ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +@location = @location_stmt | @location_expr | @location_default ; + +/** + * The location of an element that is not an expression or a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + /** The location of an element that is not an expression or a statement. */ + unique int id: @location_default, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_stmt( + /** The location of a statement. */ + unique int id: @location_stmt, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of an expression. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_expr( + /** The location of an expression. */ + unique int id: @location_expr, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +case @macroinvocation.kind of + 1 = @macro_expansion +| 2 = @other_macro_reference +; + +macroinvocations( + unique int id: @macroinvocation, + int macro_id: @ppd_define ref, + int location: @location_default ref, + int kind: int ref +); + +macroparent( + unique int id: @macroinvocation ref, + int parent_id: @macroinvocation ref +); + +// a macroinvocation may be part of another location +// the way to find a constant expression that uses a macro +// is thus to find a constant expression that has a location +// to which a macro invocation is bound +macrolocationbind( + int id: @macroinvocation ref, + int location: @location ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* +case @function.kind of + 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +| 6 = @builtin_function // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; +*/ + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +function_entry_point( + int id: @function ref, + unique int entry_point: @stmt ref +); + +function_return_type( + int id: @function ref, + int return_type: @type ref +); + +/** + * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits` + * instance associated with it, and the variables representing the `handle` and `promise` + * for it. + */ +coroutine( + unique int function: @function ref, + int traits: @type ref, + int handle: @variable ref, + int promise: @variable ref +); + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype ref +) + +member_function_this_type( + unique int id: @function ref, + int this_type: @type ref +); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @functionorblock ref, + int index: int ref, + int type_id: @type ref +); + +overrides( + int new: @function ref, + int old: @function ref +); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function ref +) + +enumconstants( + unique int id: @enumconstant, + int parent: @usertype ref, + int index: int ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); + +@variable = @localscopevariable | @globalvariable | @membervariable; + +@localscopevariable = @localvariable | @parameter; + +/** + * Built-in types are the fundamental types, e.g., integral, floating, and void. + */ +case @builtintype.kind of + 1 = @errortype +| 2 = @unknowntype +| 3 = @void +| 4 = @boolean +| 5 = @char +| 6 = @unsigned_char +| 7 = @signed_char +| 8 = @short +| 9 = @unsigned_short +| 10 = @signed_short +| 11 = @int +| 12 = @unsigned_int +| 13 = @signed_int +| 14 = @long +| 15 = @unsigned_long +| 16 = @signed_long +| 17 = @long_long +| 18 = @unsigned_long_long +| 19 = @signed_long_long +// ... 20 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +| 40 = @decimal32 // _Decimal32 +| 41 = @decimal64 // _Decimal64 +| 42 = @decimal128 // _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +; + +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/** + * Derived types are types that are directly derived from existing types and + * point to, refer to, transform type data to return a new type. + */ +case @derivedtype.kind of + 1 = @pointer +| 2 = @reference +| 3 = @type_with_specifiers +| 4 = @array +| 5 = @gnu_vector +| 6 = @routineptr +| 7 = @routinereference +| 8 = @rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated +| 10 = @block +; + +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator. For example: + * ``` + * int a; + * decltype(1+a) b; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * would change the semantics of this decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* +case @usertype.kind of + 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +| 5 = @typedef // classic C: typedef typedef type name +| 6 = @template +| 7 = @template_parameter +| 8 = @template_template_parameter +| 9 = @proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated +| 13 = @scoped_enum +| 14 = @using_alias // a using name = type style typedef +; +*/ + +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +is_pod_class(unique int id: @usertype ref); +is_standard_layout_class(unique int id: @usertype ref); + +is_complete(unique int id: @usertype ref); + +is_class_template(unique int id: @usertype ref); +class_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +class_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +class_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +is_proxy_class_for( + unique int id: @usertype ref, + unique int templ_param_id: @usertype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location ref, + // a_symbol_reference_kind from the frontend. + int kind: int ref +); + +is_function_template(unique int id: @function ref); +function_instantiation( + unique int to: @function ref, + int from: @function ref +); +function_template_argument( + int function_id: @function ref, + int index: int ref, + int arg_type: @type ref +); +function_template_argument_value( + int function_id: @function ref, + int index: int ref, + int arg_value: @expr ref +); + +is_variable_template(unique int id: @variable ref); +variable_instantiation( + unique int to: @variable ref, + int from: @variable ref +); +variable_template_argument( + int variable_id: @variable ref, + int index: int ref, + int arg_type: @type ref +); +variable_template_argument_value( + int variable_id: @variable ref, + int index: int ref, + int arg_value: @expr ref +); + +/* + Fixed point types + precision(1) = short, precision(2) = default, precision(3) = long + is_unsigned(1) = unsigned is_unsigned(2) = signed + is_fract_type(1) = declared with _Fract + saturating(1) = declared with _Sat +*/ +/* TODO +fixedpointtypes( + unique int id: @fixedpointtype, + int precision: int ref, + int is_unsigned: int ref, + int is_fract_type: int ref, + int saturating: int ref); +*/ + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr ref +) + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +attribute_arg_value( + unique int arg: @attribute_arg ref, + string value: string ref +); +attribute_arg_type( + unique int arg: @attribute_arg ref, + int type_id: @type ref +); +attribute_arg_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr ref +) +attribute_arg_name( + unique int arg: @attribute_arg ref, + string name: string ref +); + +typeattributes( + int type_id: @type ref, + int spec_id: @attribute ref +); + +funcattributes( + int func_id: @function ref, + int spec_id: @attribute ref +); + +varattributes( + int var_id: @accessible ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + /* TODO | @fixedpointtype */ + | @routinetype + | @ptrtomember + | @decltype; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall( + unique int caller: @funbindexpr ref, + int kind: int ref +); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_expr ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_expr ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int ref +) + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // frontend internal builtin, used to implement offsetof +// ... +| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type +| 123 = @literal +| 124 = @uuidof +| 127 = @aggregateliteral +| 128 = @delete_array_expr +| 129 = @new_array_expr +// ... 130 @objc_array_literal deprecated +// ... 131 @objc_dictionary_literal deprecated +| 132 = @foldexpr +// ... +| 200 = @ctordirectinit +| 201 = @ctorvirtualinit +| 202 = @ctorfieldinit +| 203 = @ctordelegatinginit +| 204 = @dtordirectdestruct +| 205 = @dtorvirtualdestruct +| 206 = @dtorfielddestruct +// ... +| 210 = @static_cast +| 211 = @reinterpret_cast +| 212 = @const_cast +| 213 = @dynamic_cast +| 214 = @c_style_cast +| 215 = @lambdaexpr +| 216 = @param_ref +| 217 = @noopexpr +// ... +| 294 = @istriviallyconstructibleexpr +| 295 = @isdestructibleexpr +| 296 = @isnothrowdestructibleexpr +| 297 = @istriviallydestructibleexpr +| 298 = @istriviallyassignableexpr +| 299 = @isnothrowassignableexpr +| 300 = @istrivialexpr +| 301 = @isstandardlayoutexpr +| 302 = @istriviallycopyableexpr +| 303 = @isliteraltypeexpr +| 304 = @hastrivialmoveconstructorexpr +| 305 = @hastrivialmoveassignexpr +| 306 = @hasnothrowmoveassignexpr +| 307 = @isconstructibleexpr +| 308 = @isnothrowconstructibleexpr +| 309 = @hasfinalizerexpr +| 310 = @isdelegateexpr +| 311 = @isinterfaceclassexpr +| 312 = @isrefarrayexpr +| 313 = @isrefclassexpr +| 314 = @issealedexpr +| 315 = @issimplevalueclassexpr +| 316 = @isvalueclassexpr +| 317 = @isfinalexpr +| 319 = @noexceptexpr +| 320 = @builtinshufflevector +| 321 = @builtinchooseexpr +| 322 = @builtinaddressof +| 323 = @vec_fill +| 324 = @builtinconvertvector +| 325 = @builtincomplex +| 326 = @spaceshipexpr +| 327 = @co_await +| 328 = @co_yield +| 329 = @temp_init +| 330 = @isassignable +| 331 = @isaggregate +| 332 = @hasuniqueobjectrepresentations +| 333 = @builtinbitcast +| 334 = @builtinshuffle +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +; + +@var_args_expr = @vastartexpr + | @vaendexpr + | @vaargexpr + | @vacopyexpr + ; + +@builtin_op = @var_args_expr + | @noopexpr + | @offsetofexpr + | @intaddrexpr + | @hasassignexpr + | @hascopyexpr + | @hasnothrowassign + | @hasnothrowconstr + | @hasnothrowcopy + | @hastrivialassign + | @hastrivialconstr + | @hastrivialcopy + | @hastrivialdestructor + | @hasuserdestr + | @hasvirtualdestr + | @isabstractexpr + | @isbaseofexpr + | @isclassexpr + | @isconvtoexpr + | @isemptyexpr + | @isenumexpr + | @ispodexpr + | @ispolyexpr + | @isunionexpr + | @typescompexpr + | @builtinshufflevector + | @builtinconvertvector + | @builtinaddressof + | @istriviallyconstructibleexpr + | @isdestructibleexpr + | @isnothrowdestructibleexpr + | @istriviallydestructibleexpr + | @istriviallyassignableexpr + | @isnothrowassignableexpr + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + ; + +new_allocated_type( + unique int expr: @new_expr ref, + int type_id: @type ref +); + +new_array_allocated_type( + unique int expr: @new_array_expr ref, + int type_id: @type ref +); + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof; + +sizeof_bind( + unique int expr: @runtime_sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_stmt ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_for ref, + int init_id: @stmt ref +); + +for_condition( + unique int for_stmt: @stmt_for ref, + int condition_id: @expr ref +); + +for_update( + unique int for_stmt: @stmt_for ref, + int update_id: @expr ref +); + +for_body( + unique int for_stmt: @stmt_for ref, + int body_id: @stmt ref +); + +@stmtparent = @stmt | @expr_stmt ; +stmtparents( + unique int id: @stmt ref, + int index: int ref, + int parent: @stmtparent ref +); + +ishandler(unique int block: @stmt_block ref); + +@cfgnode = @stmt | @expr | @function | @initialiser ; + +stmt_decl_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl: @declaration ref +); + +stmt_decl_entry_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl_entry: @element ref +); + +@functionorblock = @function | @stmt_block; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @functionorblock ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/* XML Files */ + +xmlEncoding(unique int id: @file ref, string encoding: string ref); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters + | @xmlelement + | @xmlcomment + | @xmlattribute + | @xmldtd + | @file + | @xmlnamespace; diff --git a/cpp/ql/lib/upgrades/68930f3b81bbe3fdbb91c850deca1fec8072d62a/semmlecode.cpp.dbscheme b/cpp/ql/lib/upgrades/68930f3b81bbe3fdbb91c850deca1fec8072d62a/semmlecode.cpp.dbscheme new file mode 100644 index 00000000000..02a123a1a68 --- /dev/null +++ b/cpp/ql/lib/upgrades/68930f3b81bbe3fdbb91c850deca1fec8072d62a/semmlecode.cpp.dbscheme @@ -0,0 +1,2317 @@ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/** + * Information about packages that provide code used during compilation. + * The `id` is just a unique identifier. + * The `namespace` is typically the name of the package manager that + * provided the package (e.g. "dpkg" or "yum"). + * The `package_name` is the name of the package, and `version` is its + * version (as a string). + */ +external_packages( + unique int id: @external_package, + string namespace : string ref, + string package_name : string ref, + string version : string ref +); + +/** + * Holds if File `fileid` was provided by package `package`. + */ +header_to_external_package( + int fileid : @file ref, + int package : @external_package ref +); + +/* + * Version history + */ + +svnentries( + unique int id : @svnentry, + string revision : string ref, + string author : string ref, + date revisionDate : date ref, + int changeSize : int ref +) + +svnaffectedfiles( + int id : @svnentry ref, + int file : @file ref, + string action : string ref +) + +svnentrymsg( + unique int id : @svnentry ref, + string message : string ref +) + +svnchurn( + int commit : @svnentry ref, + int file : @file ref, + int addedLines : int ref, + int deletedLines : int ref +) + +/* + * C++ dbscheme + */ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +@location = @location_stmt | @location_expr | @location_default ; + +/** + * The location of an element that is not an expression or a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + /** The location of an element that is not an expression or a statement. */ + unique int id: @location_default, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_stmt( + /** The location of a statement. */ + unique int id: @location_stmt, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of an expression. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_expr( + /** The location of an expression. */ + unique int id: @location_expr, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +case @macroinvocation.kind of + 1 = @macro_expansion +| 2 = @other_macro_reference +; + +macroinvocations( + unique int id: @macroinvocation, + int macro_id: @ppd_define ref, + int location: @location_default ref, + int kind: int ref +); + +macroparent( + unique int id: @macroinvocation ref, + int parent_id: @macroinvocation ref +); + +// a macroinvocation may be part of another location +// the way to find a constant expression that uses a macro +// is thus to find a constant expression that has a location +// to which a macro invocation is bound +macrolocationbind( + int id: @macroinvocation ref, + int location: @location ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* +case @function.kind of + 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +| 6 = @builtin_function // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; +*/ + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +function_entry_point( + int id: @function ref, + unique int entry_point: @stmt ref +); + +function_return_type( + int id: @function ref, + int return_type: @type ref +); + +/** + * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits` + * instance associated with it, and the variables representing the `handle` and `promise` + * for it. + */ +coroutine( + unique int function: @function ref, + int traits: @type ref, + int handle: @variable ref, + int promise: @variable ref +); + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype ref +) + +member_function_this_type( + unique int id: @function ref, + int this_type: @type ref +); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @functionorblock ref, + int index: int ref, + int type_id: @type ref +); + +overrides( + int new: @function ref, + int old: @function ref +); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function ref +) + +enumconstants( + unique int id: @enumconstant, + int parent: @usertype ref, + int index: int ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); + +@variable = @localscopevariable | @globalvariable | @membervariable; + +@localscopevariable = @localvariable | @parameter; + +/** + * Built-in types are the fundamental types, e.g., integral, floating, and void. + */ +case @builtintype.kind of + 1 = @errortype +| 2 = @unknowntype +| 3 = @void +| 4 = @boolean +| 5 = @char +| 6 = @unsigned_char +| 7 = @signed_char +| 8 = @short +| 9 = @unsigned_short +| 10 = @signed_short +| 11 = @int +| 12 = @unsigned_int +| 13 = @signed_int +| 14 = @long +| 15 = @unsigned_long +| 16 = @signed_long +| 17 = @long_long +| 18 = @unsigned_long_long +| 19 = @signed_long_long +// ... 20 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +| 40 = @decimal32 // _Decimal32 +| 41 = @decimal64 // _Decimal64 +| 42 = @decimal128 // _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +; + +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/** + * Derived types are types that are directly derived from existing types and + * point to, refer to, transform type data to return a new type. + */ +case @derivedtype.kind of + 1 = @pointer +| 2 = @reference +| 3 = @type_with_specifiers +| 4 = @array +| 5 = @gnu_vector +| 6 = @routineptr +| 7 = @routinereference +| 8 = @rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated +| 10 = @block +; + +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator. For example: + * ``` + * int a; + * decltype(1+a) b; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * would change the semantics of this decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* +case @usertype.kind of + 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +| 5 = @typedef // classic C: typedef typedef type name +| 6 = @template +| 7 = @template_parameter +| 8 = @template_template_parameter +| 9 = @proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated +| 13 = @scoped_enum +| 14 = @using_alias // a using name = type style typedef +; +*/ + +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +is_pod_class(unique int id: @usertype ref); +is_standard_layout_class(unique int id: @usertype ref); + +is_complete(unique int id: @usertype ref); + +is_class_template(unique int id: @usertype ref); +class_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +class_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +class_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +is_proxy_class_for( + unique int id: @usertype ref, + unique int templ_param_id: @usertype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location ref, + // a_symbol_reference_kind from the frontend. + int kind: int ref +); + +is_function_template(unique int id: @function ref); +function_instantiation( + unique int to: @function ref, + int from: @function ref +); +function_template_argument( + int function_id: @function ref, + int index: int ref, + int arg_type: @type ref +); +function_template_argument_value( + int function_id: @function ref, + int index: int ref, + int arg_value: @expr ref +); + +is_variable_template(unique int id: @variable ref); +variable_instantiation( + unique int to: @variable ref, + int from: @variable ref +); +variable_template_argument( + int variable_id: @variable ref, + int index: int ref, + int arg_type: @type ref +); +variable_template_argument_value( + int variable_id: @variable ref, + int index: int ref, + int arg_value: @expr ref +); + +/* + Fixed point types + precision(1) = short, precision(2) = default, precision(3) = long + is_unsigned(1) = unsigned is_unsigned(2) = signed + is_fract_type(1) = declared with _Fract + saturating(1) = declared with _Sat +*/ +/* TODO +fixedpointtypes( + unique int id: @fixedpointtype, + int precision: int ref, + int is_unsigned: int ref, + int is_fract_type: int ref, + int saturating: int ref); +*/ + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr ref +) + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +attribute_arg_value( + unique int arg: @attribute_arg ref, + string value: string ref +); +attribute_arg_type( + unique int arg: @attribute_arg ref, + int type_id: @type ref +); +attribute_arg_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr ref +) +attribute_arg_name( + unique int arg: @attribute_arg ref, + string name: string ref +); + +typeattributes( + int type_id: @type ref, + int spec_id: @attribute ref +); + +funcattributes( + int func_id: @function ref, + int spec_id: @attribute ref +); + +varattributes( + int var_id: @accessible ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + /* TODO | @fixedpointtype */ + | @routinetype + | @ptrtomember + | @decltype; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall( + unique int caller: @funbindexpr ref, + int kind: int ref +); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_expr ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_expr ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int ref +) + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // frontend internal builtin, used to implement offsetof +// ... +| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type +| 123 = @literal +| 124 = @uuidof +| 127 = @aggregateliteral +| 128 = @delete_array_expr +| 129 = @new_array_expr +// ... 130 @objc_array_literal deprecated +// ... 131 @objc_dictionary_literal deprecated +| 132 = @foldexpr +// ... +| 200 = @ctordirectinit +| 201 = @ctorvirtualinit +| 202 = @ctorfieldinit +| 203 = @ctordelegatinginit +| 204 = @dtordirectdestruct +| 205 = @dtorvirtualdestruct +| 206 = @dtorfielddestruct +// ... +| 210 = @static_cast +| 211 = @reinterpret_cast +| 212 = @const_cast +| 213 = @dynamic_cast +| 214 = @c_style_cast +| 215 = @lambdaexpr +| 216 = @param_ref +| 217 = @noopexpr +// ... +| 294 = @istriviallyconstructibleexpr +| 295 = @isdestructibleexpr +| 296 = @isnothrowdestructibleexpr +| 297 = @istriviallydestructibleexpr +| 298 = @istriviallyassignableexpr +| 299 = @isnothrowassignableexpr +| 300 = @istrivialexpr +| 301 = @isstandardlayoutexpr +| 302 = @istriviallycopyableexpr +| 303 = @isliteraltypeexpr +| 304 = @hastrivialmoveconstructorexpr +| 305 = @hastrivialmoveassignexpr +| 306 = @hasnothrowmoveassignexpr +| 307 = @isconstructibleexpr +| 308 = @isnothrowconstructibleexpr +| 309 = @hasfinalizerexpr +| 310 = @isdelegateexpr +| 311 = @isinterfaceclassexpr +| 312 = @isrefarrayexpr +| 313 = @isrefclassexpr +| 314 = @issealedexpr +| 315 = @issimplevalueclassexpr +| 316 = @isvalueclassexpr +| 317 = @isfinalexpr +| 319 = @noexceptexpr +| 320 = @builtinshufflevector +| 321 = @builtinchooseexpr +| 322 = @builtinaddressof +| 323 = @vec_fill +| 324 = @builtinconvertvector +| 325 = @builtincomplex +| 326 = @spaceshipexpr +| 327 = @co_await +| 328 = @co_yield +| 329 = @temp_init +| 330 = @isassignable +| 331 = @isaggregate +| 332 = @hasuniqueobjectrepresentations +| 333 = @builtinbitcast +| 334 = @builtinshuffle +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +; + +@var_args_expr = @vastartexpr + | @vaendexpr + | @vaargexpr + | @vacopyexpr + ; + +@builtin_op = @var_args_expr + | @noopexpr + | @offsetofexpr + | @intaddrexpr + | @hasassignexpr + | @hascopyexpr + | @hasnothrowassign + | @hasnothrowconstr + | @hasnothrowcopy + | @hastrivialassign + | @hastrivialconstr + | @hastrivialcopy + | @hastrivialdestructor + | @hasuserdestr + | @hasvirtualdestr + | @isabstractexpr + | @isbaseofexpr + | @isclassexpr + | @isconvtoexpr + | @isemptyexpr + | @isenumexpr + | @ispodexpr + | @ispolyexpr + | @isunionexpr + | @typescompexpr + | @builtinshufflevector + | @builtinconvertvector + | @builtinaddressof + | @istriviallyconstructibleexpr + | @isdestructibleexpr + | @isnothrowdestructibleexpr + | @istriviallydestructibleexpr + | @istriviallyassignableexpr + | @isnothrowassignableexpr + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + ; + +new_allocated_type( + unique int expr: @new_expr ref, + int type_id: @type ref +); + +new_array_allocated_type( + unique int expr: @new_array_expr ref, + int type_id: @type ref +); + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof; + +sizeof_bind( + unique int expr: @runtime_sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_stmt ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_for ref, + int init_id: @stmt ref +); + +for_condition( + unique int for_stmt: @stmt_for ref, + int condition_id: @expr ref +); + +for_update( + unique int for_stmt: @stmt_for ref, + int update_id: @expr ref +); + +for_body( + unique int for_stmt: @stmt_for ref, + int body_id: @stmt ref +); + +@stmtparent = @stmt | @expr_stmt ; +stmtparents( + unique int id: @stmt ref, + int index: int ref, + int parent: @stmtparent ref +); + +ishandler(unique int block: @stmt_block ref); + +@cfgnode = @stmt | @expr | @function | @initialiser ; + +stmt_decl_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl: @declaration ref +); + +stmt_decl_entry_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl_entry: @element ref +); + +@functionorblock = @function | @stmt_block; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @functionorblock ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/* XML Files */ + +xmlEncoding(unique int id: @file ref, string encoding: string ref); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters + | @xmlelement + | @xmlcomment + | @xmlattribute + | @xmldtd + | @file + | @xmlnamespace; diff --git a/cpp/ql/lib/upgrades/68930f3b81bbe3fdbb91c850deca1fec8072d62a/upgrade.properties b/cpp/ql/lib/upgrades/68930f3b81bbe3fdbb91c850deca1fec8072d62a/upgrade.properties new file mode 100644 index 00000000000..db0e7e92d0e --- /dev/null +++ b/cpp/ql/lib/upgrades/68930f3b81bbe3fdbb91c850deca1fec8072d62a/upgrade.properties @@ -0,0 +1,2 @@ +description: Add new builtin operations +compatibility: backwards diff --git a/cpp/ql/test/library-tests/builtins/type_traits/clang.cpp b/cpp/ql/test/library-tests/builtins/type_traits/clang.cpp index 167023c1a33..73244454372 100644 --- a/cpp/ql/test/library-tests/builtins/type_traits/clang.cpp +++ b/cpp/ql/test/library-tests/builtins/type_traits/clang.cpp @@ -1,4 +1,4 @@ -// semmle-extractor-options: --clang --clang_version 180000 +// semmle-extractor-options: --clang --edg --clang_version --edg 190000 struct S { void f() {} @@ -108,3 +108,16 @@ bool b_is_unbounded_array2 = __is_unbounded_array(int[42]); bool b_is_referenceable1 = __is_referenceable(int); bool b_is_referenceable2 = __is_referenceable(void); + +bool b_is_trivially_equality_comparable1 = __is_trivially_equality_comparable(int); +bool b_is_trivially_equality_comparable2 = __is_trivially_equality_comparable(void); + +enum class E { + a, b +}; + +bool b_is_scoped_enum1 = __is_scoped_enum(E); +bool b_is_scoped_enum2 = __is_scoped_enum(int); + +bool b_is_trivially_relocatable1 = __is_trivially_relocatable(int); +bool b_is_trivially_relocatable2 = __is_trivially_relocatable(void); diff --git a/cpp/ql/test/library-tests/builtins/type_traits/expr.expected b/cpp/ql/test/library-tests/builtins/type_traits/expr.expected index edf63baef9e..55bf0757a49 100644 --- a/cpp/ql/test/library-tests/builtins/type_traits/expr.expected +++ b/cpp/ql/test/library-tests/builtins/type_traits/expr.expected @@ -153,7 +153,21 @@ | clang.cpp:109:28:109:50 | int | | | | clang.cpp:110:28:110:51 | __is_referenceable | void | 0 | | clang.cpp:110:28:110:51 | void | | | +| clang.cpp:112:44:112:82 | __is_trivially_equality_comparable | int | 1 | +| clang.cpp:112:44:112:82 | int | | | +| clang.cpp:113:44:113:83 | __is_trivially_equality_comparable | void | 0 | +| clang.cpp:113:44:113:83 | void | | | +| clang.cpp:119:26:119:44 | E | | | +| clang.cpp:119:26:119:44 | __is_scoped_enum | E | 1 | +| clang.cpp:120:26:120:46 | __is_scoped_enum | int | 0 | +| clang.cpp:120:26:120:46 | int | | | +| clang.cpp:122:36:122:66 | __is_trivially_relocatable | int | 1 | +| clang.cpp:122:36:122:66 | int | | | +| clang.cpp:123:36:123:67 | __is_trivially_relocatable | void | 0 | +| clang.cpp:123:36:123:67 | void | | | | file://:0:0:0:0 | 0 | | 0 | +| file://:0:0:0:0 | 0 | | 0 | +| file://:0:0:0:0 | 1 | | 1 | | file://:0:0:0:0 | 1 | | 1 | | file://:0:0:0:0 | 2 | | 2 | | gcc.cpp:3:25:3:25 | 8 | | 8 | diff --git a/cpp/ql/test/library-tests/types/datasizeof/datasizeof.cpp b/cpp/ql/test/library-tests/types/datasizeof/datasizeof.cpp new file mode 100644 index 00000000000..b6e65889a68 --- /dev/null +++ b/cpp/ql/test/library-tests/types/datasizeof/datasizeof.cpp @@ -0,0 +1,30 @@ +// semmle-extractor-options: --clang --edg --clang_version --edg 190000 + +typedef unsigned int size_t; + +class MyClass +{ +public: + int x; + int *ptr; + char c; +}; + +void func() { + int i; + char c; + int * ptr; + MyClass mc; + int arr[10]; + + size_t sz1 = __datasizeof(int); + size_t sz2 = __datasizeof(char); + size_t sz3 = __datasizeof(int *); + size_t sz4 = __datasizeof(MyClass); + size_t sz5 = __datasizeof(i); + size_t sz6 = __datasizeof(c); + size_t sz7 = __datasizeof(ptr); + size_t sz8 = __datasizeof(mc); + size_t sz9 = __datasizeof(arr); + size_t sz10 = __datasizeof(arr[4]); +} diff --git a/cpp/ql/test/library-tests/types/datasizeof/datasizeof.expected b/cpp/ql/test/library-tests/types/datasizeof/datasizeof.expected new file mode 100644 index 00000000000..e0deac1c2ba --- /dev/null +++ b/cpp/ql/test/library-tests/types/datasizeof/datasizeof.expected @@ -0,0 +1,10 @@ +| datasizeof.cpp:20:15:20:31 | sizeof(int) | DatasizeofTypeOperator.getTypeOperand() | file://:0:0:0:0 | int | +| datasizeof.cpp:21:15:21:32 | sizeof(char) | DatasizeofTypeOperator.getTypeOperand() | file://:0:0:0:0 | char | +| datasizeof.cpp:22:15:22:33 | sizeof(int *) | DatasizeofTypeOperator.getTypeOperand() | file://:0:0:0:0 | int * | +| datasizeof.cpp:23:15:23:35 | sizeof(MyClass) | DatasizeofTypeOperator.getTypeOperand() | datasizeof.cpp:5:7:5:13 | MyClass | +| datasizeof.cpp:24:15:24:29 | sizeof() | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:24:28:24:28 | i | +| datasizeof.cpp:25:15:25:29 | sizeof() | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:25:28:25:28 | c | +| datasizeof.cpp:26:15:26:31 | sizeof() | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:26:28:26:30 | ptr | +| datasizeof.cpp:27:15:27:30 | sizeof() | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:27:28:27:29 | mc | +| datasizeof.cpp:28:15:28:31 | sizeof() | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:28:28:28:30 | arr | +| datasizeof.cpp:29:16:29:35 | sizeof() | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:29:29:29:34 | access to array | diff --git a/cpp/ql/test/library-tests/types/datasizeof/datasizeof.ql b/cpp/ql/test/library-tests/types/datasizeof/datasizeof.ql new file mode 100644 index 00000000000..c2edf1844ff --- /dev/null +++ b/cpp/ql/test/library-tests/types/datasizeof/datasizeof.ql @@ -0,0 +1,10 @@ +import cpp + +from DatasizeofOperator sto, string elemDesc, Element e +where + elemDesc = "DatasizeofTypeOperator.getTypeOperand()" and + e = sto.(DatasizeofTypeOperator).getTypeOperand() + or + elemDesc = "DatasizeofExprOperator.getExprOperand()" and + e = sto.(DatasizeofExprOperator).getExprOperand() +select sto, elemDesc, e From 026969b6e92466652ae3d80db974f40d4aff62ab Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Wed, 28 Aug 2024 12:21:59 +0200 Subject: [PATCH 247/258] C++: Add change note --- .../lib/change-notes/2024-08-28-more-builtin-operations.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 cpp/ql/lib/change-notes/2024-08-28-more-builtin-operations.md diff --git a/cpp/ql/lib/change-notes/2024-08-28-more-builtin-operations.md b/cpp/ql/lib/change-notes/2024-08-28-more-builtin-operations.md new file mode 100644 index 00000000000..25314598759 --- /dev/null +++ b/cpp/ql/lib/change-notes/2024-08-28-more-builtin-operations.md @@ -0,0 +1,5 @@ +--- +category: feature +--- +* Added subclasses of `BuiltInOperations` for the `__is_scoped_enum`, `__is_trivially_equality_comparable`, and `__is_trivially_relocatable` builtin operations. +* Added a subclass of `Expr` for `__datasizeof` expressions. From 6a9bd0de1d1a4f12bd599c5754aecaa7fb085608 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Wed, 28 Aug 2024 14:13:28 +0200 Subject: [PATCH 248/258] Dataflow: Include FlowState in SummaryCtx. --- .../codeql/dataflow/internal/DataFlowImpl.qll | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll index f42da2f2fc0..48d6ba61e2f 100644 --- a/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll @@ -1565,7 +1565,7 @@ module MakeImpl Lang> { fwdFlowIn(node, apa, state, cc, t, ap, allowsFlowThrough) and if allowsFlowThrough = true then ( - summaryCtx = TSummaryCtxSome(node, t, ap) + summaryCtx = TSummaryCtxSome(node, state, t, ap) ) else ( summaryCtx = TSummaryCtxNone() and // When the call contexts of source and sink needs to match then there's @@ -1592,7 +1592,9 @@ module MakeImpl Lang> { private newtype TSummaryCtx = TSummaryCtxNone() or - TSummaryCtxSome(ParamNodeEx p, Typ t, Ap ap) { fwdFlowIn(p, _, _, _, t, ap, true) } + TSummaryCtxSome(ParamNodeEx p, FlowState state, Typ t, Ap ap) { + fwdFlowIn(p, _, state, _, t, ap, true) + } /** * A context for generating flow summaries. This represents flow entry through @@ -1616,10 +1618,11 @@ module MakeImpl Lang> { /** A summary context from which a flow summary can be generated. */ private class SummaryCtxSome extends SummaryCtx, TSummaryCtxSome { private ParamNodeEx p; + private FlowState state; private Typ t; private Ap ap; - SummaryCtxSome() { this = TSummaryCtxSome(p, t, ap) } + SummaryCtxSome() { this = TSummaryCtxSome(p, state, t, ap) } ParamNodeEx getParamNode() { result = p } @@ -2074,7 +2077,7 @@ module MakeImpl Lang> { fwdFlow(pragma[only_bind_into](ret), state, ccc, summaryCtx, t, ap, pragma[only_bind_into](apa)) and summaryCtx = - TSummaryCtxSome(pragma[only_bind_into](p), _, pragma[only_bind_into](argAp)) and + TSummaryCtxSome(pragma[only_bind_into](p), _, _, pragma[only_bind_into](argAp)) and not outBarrier(ret, state) and kind = ret.getKind() and parameterFlowThroughAllowed(p, kind) and @@ -2110,9 +2113,9 @@ module MakeImpl Lang> { pragma[nomagic] private predicate fwdFlowIsEntered0( DataFlowCall call, ArgNodeEx arg, Cc cc, CcCall innerCc, SummaryCtx summaryCtx, - ParamNodeEx p, Typ t, Ap ap + ParamNodeEx p, FlowState state, Typ t, Ap ap ) { - FwdFlowIn::fwdFlowIn(call, arg, _, p, _, cc, innerCc, + FwdFlowIn::fwdFlowIn(call, arg, _, p, state, cc, innerCc, summaryCtx, t, ap, _, _, true) } @@ -2125,9 +2128,9 @@ module MakeImpl Lang> { DataFlowCall call, ArgNodeEx arg, Cc cc, CcCall innerCc, SummaryCtx summaryCtx, SummaryCtxSome innerSummaryCtx ) { - exists(ParamNodeEx p, Typ t, Ap ap | - fwdFlowIsEntered0(call, arg, cc, innerCc, summaryCtx, p, t, ap) and - innerSummaryCtx = TSummaryCtxSome(p, t, ap) + exists(ParamNodeEx p, FlowState state, Typ t, Ap ap | + fwdFlowIsEntered0(call, arg, cc, innerCc, summaryCtx, p, state, t, ap) and + innerSummaryCtx = TSummaryCtxSome(p, state, t, ap) ) } @@ -2160,7 +2163,7 @@ module MakeImpl Lang> { Ap argAp, ApApprox argApa, Ap ap ) { exists(DataFlowCall call, ApApprox apa, boolean allowsFieldFlow | - returnFlowsThrough0(call, state, ccc, ap, apa, ret, TSummaryCtxSome(p, argT, argAp), + returnFlowsThrough0(call, state, ccc, ap, apa, ret, TSummaryCtxSome(p, _, argT, argAp), argApa) and flowThroughOutOfCall(call, ccc, ret, _, allowsFieldFlow, argApa, apa) and pos = ret.getReturnPosition() and @@ -2522,7 +2525,7 @@ module MakeImpl Lang> { exists(Ap ap0 | parameterMayFlowThrough(p, _) and revFlow(n, state, TReturnCtxMaybeFlowThrough(_), _, ap0) and - fwdFlow(n, state, any(CcCall ccc), TSummaryCtxSome(p, _, ap), _, ap0, _) + fwdFlow(n, state, any(CcCall ccc), TSummaryCtxSome(p, _, _, ap), _, ap0, _) ) } @@ -3114,8 +3117,7 @@ module MakeImpl Lang> { | fwdFlowThroughStep0(call, arg, cc, state, ccc, summaryCtx, t, ap, apa, ret, innerSummaryCtx, innerArgApa) and - innerSummaryCtx = TSummaryCtxSome(p, innerArgT, innerArgAp) and - revFlow(arg, state0, _, _, _) and + innerSummaryCtx = TSummaryCtxSome(p, state0, innerArgT, innerArgAp) and pn1 = mkPathNode(arg, state0, cc, summaryCtx, innerArgT, innerArgAp) and pn2 = typeStrengthenToPathNode(p, state0, ccc, innerSummaryCtx, innerArgT, innerArgAp) and pn3 = mkPathNode(ret, state, ccc, innerSummaryCtx, t, ap) @@ -3244,7 +3246,7 @@ module MakeImpl Lang> { fwdFlowInStep(arg, node, state, outercc, cc, outerSummaryCtx, t, ap, allowsFlowThrough) and label = "" and if allowsFlowThrough = true - then summaryCtx = TSummaryCtxSome(node, t, ap) + then summaryCtx = TSummaryCtxSome(node, state, t, ap) else summaryCtx = TSummaryCtxNone() ) or From 6d346dbedd27522beb0ca44829008d7717a3a114 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Wed, 28 Aug 2024 14:40:04 +0200 Subject: [PATCH 249/258] DataFlow: Bugfix in flow state for value preservation. --- .../dataflow/internal/ContentDataFlowImpl.qll | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll index c63f36bdeda..f4b4b9655e4 100644 --- a/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll @@ -51,6 +51,11 @@ module MakeImplContentDataFlow Lang> { */ default predicate isAdditionalFlowStep(Node node1, Node node2) { none() } + /** + * Holds if taint may propagate from `node1` to `node2` in addition to the normal data-flow steps. + */ + default predicate isAdditionalTaintStep(Node node1, Node node2) { none() } + /** Holds if data flow into `node` is prohibited. */ default predicate isBarrier(Node node) { none() } @@ -101,7 +106,7 @@ module MakeImplContentDataFlow Lang> { predicate isAdditionalFlowStep(Node node1, FlowState state1, Node node2, FlowState state2) { storeStep(node1, state1, _, node2, state2) or readStep(node1, state1, _, node2, state2) or - additionalStep(node1, state1, node2, state2) + additionalTaintStep(node1, state1, node2, state2) } predicate isAdditionalFlowStep = ContentConfig::isAdditionalFlowStep/2; @@ -229,8 +234,8 @@ module MakeImplContentDataFlow Lang> { ) } - private predicate additionalStep(Node node1, State state1, Node node2, State state2) { - ContentConfig::isAdditionalFlowStep(node1, node2) and + private predicate additionalTaintStep(Node node1, State state1, Node node2, State state2) { + ContentConfig::isAdditionalTaintStep(node1, node2) and ( state1 instanceof InitState and state2.(InitState).decode(false) @@ -302,12 +307,16 @@ module MakeImplContentDataFlow Lang> { // relation, when flow can reach a sink without going back out Flow::PathGraph::subpaths(pred, succ, _, _) and not reachesSink(succ) - or + ) + or + exists(Node predNode, State predState, Node succNode, State succState | + succNodeAndState(pred, predNode, predState, succ, succNode, succState) + | // needed to record store steps - storeStep(pred.getNode(), pred.getState(), _, succ.getNode(), succ.getState()) + storeStep(predNode, predState, _, succNode, succState) or // needed to record read steps - readStep(pred.getNode(), pred.getState(), _, succ.getNode(), succ.getState()) + readStep(predNode, predState, _, succNode, succState) ) } From e8595e28e92368eceeba5bd40d91163e6c75849e Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Wed, 28 Aug 2024 15:04:38 +0200 Subject: [PATCH 250/258] Update java/ql/lib/semmle/code/java/dataflow/internal/DataFlowDispatch.qll Co-authored-by: Anders Schack-Mulligen --- .../code/java/dataflow/internal/DataFlowDispatch.qll | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowDispatch.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowDispatch.qll index 633a8cd3472..f63df6ad09e 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowDispatch.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowDispatch.qll @@ -43,9 +43,12 @@ private module DispatchImpl { /** * Gets a viable implementation of the target of the given `Call`. * The following heuristic is applied for finding the appropriate callable: - * 1. If an exact manual model exists, only dispatch to the summarized callable. - * 2. If a (non exact) manual model exists and/or if the source code is available, dispatch to both/either. - * 3. Only dispatch to a summarized callable in case the static call target in not in source. + * In general, dispatch to both any existing model and any viable source dispatch. + * However, if the model is generated and the static call target is in the source then + * we trust the source more than the model and skip dispatch to the model. + * Vice versa, if the model is manual and the source dispatch has a comparatively low + * confidence then we only dispatch to the model. Additionally, manual models that + * match a source dispatch exactly take precedence over the source. */ DataFlowCallable viableCallable(DataFlowCall c) { exists(Call call | call = c.asCall() | From 2b571cf450dfbb8f2dfc3773a944db68b9e0ad39 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Wed, 28 Aug 2024 15:11:42 +0200 Subject: [PATCH 251/258] C++: Address review comments --- cpp/ql/lib/semmle/code/cpp/exprs/Cast.qll | 6 +++--- .../types/datasizeof/datasizeof.expected | 20 +++++++++---------- .../types/datasizeof/datasizeof.ql | 2 +- .../types/sizeof/sizeof.expected | 20 +++++++++---------- .../test/library-tests/types/sizeof/sizeof.ql | 2 +- 5 files changed, 25 insertions(+), 25 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/exprs/Cast.qll b/cpp/ql/lib/semmle/code/cpp/exprs/Cast.qll index b36624d127c..85293cc7313 100644 --- a/cpp/ql/lib/semmle/code/cpp/exprs/Cast.qll +++ b/cpp/ql/lib/semmle/code/cpp/exprs/Cast.qll @@ -795,7 +795,7 @@ class AlignofTypeOperator extends AlignofOperator { * A C++ `__datasizeof` expression (used by some implementations * of the `` header). * - * The `__datasizeof` expression behaves identical to `sizeof` except + * The `__datasizeof` expression behaves identically to `sizeof` except * that the result ignores tail padding. */ class DatasizeofOperator extends Expr, @datasizeof { @@ -813,7 +813,7 @@ class DatasizeofExprOperator extends DatasizeofOperator { /** Gets the contained expression. */ Expr getExprOperand() { result = this.getChild(0) } - override string toString() { result = "sizeof()" } + override string toString() { result = "__datasizeof()" } override predicate mayBeImpure() { this.getExprOperand().mayBeImpure() } @@ -831,7 +831,7 @@ class DatasizeofTypeOperator extends DatasizeofOperator { /** Gets the contained type. */ Type getTypeOperand() { sizeof_bind(underlyingElement(this), unresolveElement(result)) } - override string toString() { result = "sizeof(" + this.getTypeOperand().getName() + ")" } + override string toString() { result = "__datasizeof(" + this.getTypeOperand().getName() + ")" } override predicate mayBeImpure() { none() } diff --git a/cpp/ql/test/library-tests/types/datasizeof/datasizeof.expected b/cpp/ql/test/library-tests/types/datasizeof/datasizeof.expected index e0deac1c2ba..0ba70c61898 100644 --- a/cpp/ql/test/library-tests/types/datasizeof/datasizeof.expected +++ b/cpp/ql/test/library-tests/types/datasizeof/datasizeof.expected @@ -1,10 +1,10 @@ -| datasizeof.cpp:20:15:20:31 | sizeof(int) | DatasizeofTypeOperator.getTypeOperand() | file://:0:0:0:0 | int | -| datasizeof.cpp:21:15:21:32 | sizeof(char) | DatasizeofTypeOperator.getTypeOperand() | file://:0:0:0:0 | char | -| datasizeof.cpp:22:15:22:33 | sizeof(int *) | DatasizeofTypeOperator.getTypeOperand() | file://:0:0:0:0 | int * | -| datasizeof.cpp:23:15:23:35 | sizeof(MyClass) | DatasizeofTypeOperator.getTypeOperand() | datasizeof.cpp:5:7:5:13 | MyClass | -| datasizeof.cpp:24:15:24:29 | sizeof() | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:24:28:24:28 | i | -| datasizeof.cpp:25:15:25:29 | sizeof() | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:25:28:25:28 | c | -| datasizeof.cpp:26:15:26:31 | sizeof() | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:26:28:26:30 | ptr | -| datasizeof.cpp:27:15:27:30 | sizeof() | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:27:28:27:29 | mc | -| datasizeof.cpp:28:15:28:31 | sizeof() | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:28:28:28:30 | arr | -| datasizeof.cpp:29:16:29:35 | sizeof() | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:29:29:29:34 | access to array | +| datasizeof.cpp:20:15:20:31 | __datasizeof(int) | 4 | DatasizeofTypeOperator.getTypeOperand() | file://:0:0:0:0 | int | +| datasizeof.cpp:21:15:21:32 | __datasizeof(char) | 1 | DatasizeofTypeOperator.getTypeOperand() | file://:0:0:0:0 | char | +| datasizeof.cpp:22:15:22:33 | __datasizeof(int *) | 8 | DatasizeofTypeOperator.getTypeOperand() | file://:0:0:0:0 | int * | +| datasizeof.cpp:23:15:23:35 | __datasizeof(MyClass) | 24 | DatasizeofTypeOperator.getTypeOperand() | datasizeof.cpp:5:7:5:13 | MyClass | +| datasizeof.cpp:24:15:24:29 | __datasizeof() | 4 | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:24:28:24:28 | i | +| datasizeof.cpp:25:15:25:29 | __datasizeof() | 1 | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:25:28:25:28 | c | +| datasizeof.cpp:26:15:26:31 | __datasizeof() | 8 | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:26:28:26:30 | ptr | +| datasizeof.cpp:27:15:27:30 | __datasizeof() | 24 | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:27:28:27:29 | mc | +| datasizeof.cpp:28:15:28:31 | __datasizeof() | 40 | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:28:28:28:30 | arr | +| datasizeof.cpp:29:16:29:35 | __datasizeof() | 4 | DatasizeofExprOperator.getExprOperand() | datasizeof.cpp:29:29:29:34 | access to array | diff --git a/cpp/ql/test/library-tests/types/datasizeof/datasizeof.ql b/cpp/ql/test/library-tests/types/datasizeof/datasizeof.ql index c2edf1844ff..3b839b4a8b9 100644 --- a/cpp/ql/test/library-tests/types/datasizeof/datasizeof.ql +++ b/cpp/ql/test/library-tests/types/datasizeof/datasizeof.ql @@ -7,4 +7,4 @@ where or elemDesc = "DatasizeofExprOperator.getExprOperand()" and e = sto.(DatasizeofExprOperator).getExprOperand() -select sto, elemDesc, e +select sto, sto.getValue(), elemDesc, e diff --git a/cpp/ql/test/library-tests/types/sizeof/sizeof.expected b/cpp/ql/test/library-tests/types/sizeof/sizeof.expected index e75583fb9e5..c0d075126df 100644 --- a/cpp/ql/test/library-tests/types/sizeof/sizeof.expected +++ b/cpp/ql/test/library-tests/types/sizeof/sizeof.expected @@ -1,10 +1,10 @@ -| sizeof.cpp:19:15:19:25 | sizeof(int) | SizeofTypeOperator.getTypeOperand() | file://:0:0:0:0 | int | -| sizeof.cpp:20:15:20:26 | sizeof(char) | SizeofTypeOperator.getTypeOperand() | file://:0:0:0:0 | char | -| sizeof.cpp:21:15:21:27 | sizeof(int *) | SizeofTypeOperator.getTypeOperand() | file://:0:0:0:0 | int * | -| sizeof.cpp:22:15:22:29 | sizeof(MyClass) | SizeofTypeOperator.getTypeOperand() | sizeof.cpp:4:7:4:13 | MyClass | -| sizeof.cpp:23:15:23:23 | sizeof() | SizeofExprOperator.getExprOperand() | sizeof.cpp:23:22:23:22 | i | -| sizeof.cpp:24:15:24:23 | sizeof() | SizeofExprOperator.getExprOperand() | sizeof.cpp:24:22:24:22 | c | -| sizeof.cpp:25:15:25:25 | sizeof() | SizeofExprOperator.getExprOperand() | sizeof.cpp:25:22:25:24 | ptr | -| sizeof.cpp:26:15:26:24 | sizeof() | SizeofExprOperator.getExprOperand() | sizeof.cpp:26:22:26:23 | mc | -| sizeof.cpp:27:15:27:25 | sizeof() | SizeofExprOperator.getExprOperand() | sizeof.cpp:27:22:27:24 | arr | -| sizeof.cpp:28:16:28:29 | sizeof() | SizeofExprOperator.getExprOperand() | sizeof.cpp:28:23:28:28 | access to array | +| sizeof.cpp:19:15:19:25 | sizeof(int) | 4 | SizeofTypeOperator.getTypeOperand() | file://:0:0:0:0 | int | +| sizeof.cpp:20:15:20:26 | sizeof(char) | 1 | SizeofTypeOperator.getTypeOperand() | file://:0:0:0:0 | char | +| sizeof.cpp:21:15:21:27 | sizeof(int *) | 8 | SizeofTypeOperator.getTypeOperand() | file://:0:0:0:0 | int * | +| sizeof.cpp:22:15:22:29 | sizeof(MyClass) | 16 | SizeofTypeOperator.getTypeOperand() | sizeof.cpp:4:7:4:13 | MyClass | +| sizeof.cpp:23:15:23:23 | sizeof() | 4 | SizeofExprOperator.getExprOperand() | sizeof.cpp:23:22:23:22 | i | +| sizeof.cpp:24:15:24:23 | sizeof() | 1 | SizeofExprOperator.getExprOperand() | sizeof.cpp:24:22:24:22 | c | +| sizeof.cpp:25:15:25:25 | sizeof() | 8 | SizeofExprOperator.getExprOperand() | sizeof.cpp:25:22:25:24 | ptr | +| sizeof.cpp:26:15:26:24 | sizeof() | 16 | SizeofExprOperator.getExprOperand() | sizeof.cpp:26:22:26:23 | mc | +| sizeof.cpp:27:15:27:25 | sizeof() | 40 | SizeofExprOperator.getExprOperand() | sizeof.cpp:27:22:27:24 | arr | +| sizeof.cpp:28:16:28:29 | sizeof() | 4 | SizeofExprOperator.getExprOperand() | sizeof.cpp:28:23:28:28 | access to array | diff --git a/cpp/ql/test/library-tests/types/sizeof/sizeof.ql b/cpp/ql/test/library-tests/types/sizeof/sizeof.ql index db8beba69a0..531f55ee45c 100644 --- a/cpp/ql/test/library-tests/types/sizeof/sizeof.ql +++ b/cpp/ql/test/library-tests/types/sizeof/sizeof.ql @@ -7,4 +7,4 @@ where or elemDesc = "SizeofExprOperator.getExprOperand()" and e = sto.(SizeofExprOperator).getExprOperand() -select sto, elemDesc, e +select sto, sto.getValue(), elemDesc, e From d1fecd869be3f519f6780a8fca6ca804f4b96c4e Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Wed, 28 Aug 2024 15:40:14 +0200 Subject: [PATCH 252/258] C++: Make StringCchPrintf not extend NonThrowingFunction --- cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll index a62e528c8a4..7286552e3ee 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll @@ -173,7 +173,7 @@ private class SnprintfImpl extends Snprintf, AliasFunction, SideEffectFunction, * and * https://learn.microsoft.com/en-us/previous-versions/windows/embedded/ms860435(v=msdn.10) */ -private class StringCchPrintf extends FormattingFunction, NonThrowingFunction { +private class StringCchPrintf extends FormattingFunction { StringCchPrintf() { this instanceof TopLevelFunction and exists(string baseName | From 395656a1cfa0b701ce328d311aea5b8fc987c4d1 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Wed, 28 Aug 2024 16:13:32 +0200 Subject: [PATCH 253/258] Java: Extend the logging test with a test case for parameters. --- java/ql/test/library-tests/logging/Test.java | 317 ++++++++-------- .../test/library-tests/logging/test.expected | 343 +++++++++--------- 2 files changed, 335 insertions(+), 325 deletions(-) diff --git a/java/ql/test/library-tests/logging/Test.java b/java/ql/test/library-tests/logging/Test.java index 4dacd6ccf5c..3e609f41735 100644 --- a/java/ql/test/library-tests/logging/Test.java +++ b/java/ql/test/library-tests/logging/Test.java @@ -6,163 +6,172 @@ import org.apache.logging.log4j.message.EntryMessage; import org.apache.logging.log4j.message.Message; import org.slf4j.spi.LoggingEventBuilder; -// Test case generated by GenerateFlowTestCase.ql +// Test case originally generated by GenerateFlowTestCase.ql +// Subsequently modified manually. public class Test { - Object source() { - return null; - } + Object source() { + return null; + } - void sink(Object o) {} + void sink(Object o) {} - public void test() throws Exception { - - { - // "java.util.logging;LogRecord;false;LogRecord;;;Argument[1];Argument[this];taint;manual" - LogRecord out = null; - String in = (String) source(); - out = new LogRecord(null, in); - sink(out); // $ hasTaintFlow - } - { - // "org.apache.logging.log4j;Logger;true;traceEntry;(Message);;Argument[0];ReturnValue;taint;manual" - EntryMessage out = null; - Message in = (Message) source(); - Logger instance = null; - out = instance.traceEntry(in); - sink(out); // $ hasTaintFlow - } - { - // "org.apache.logging.log4j;Logger;true;traceEntry;(String,Object[]);;Argument[0..1];ReturnValue;taint;manual" - EntryMessage out = null; - Object[] in = (Object[]) source(); - Logger instance = null; - out = instance.traceEntry((String) null, in); - sink(out); // $ hasTaintFlow - } - { - // "org.apache.logging.log4j;Logger;true;traceEntry;(String,Object[]);;Argument[0..1];ReturnValue;taint;manual" - EntryMessage out = null; - String in = (String) source(); - Logger instance = null; - out = instance.traceEntry(in, (Object[]) null); - sink(out); // $ hasTaintFlow - } - { - // "org.apache.logging.log4j;Logger;true;traceEntry;(String,Supplier[]);;Argument[0..1];ReturnValue;taint;manual" - EntryMessage out = null; - String in = (String) source(); - Logger instance = null; - out = instance.traceEntry(in, (org.apache.logging.log4j.util.Supplier[]) null); - sink(out); // $ hasTaintFlow - } - { - // "org.apache.logging.log4j;Logger;true;traceEntry;(String,Supplier[]);;Argument[0..1];ReturnValue;taint;manual" - EntryMessage out = null; - org.apache.logging.log4j.util.Supplier[] in = - (org.apache.logging.log4j.util.Supplier[]) source(); - Logger instance = null; - out = instance.traceEntry((String) null, in); - sink(out); // $ hasTaintFlow - } - { - // "org.apache.logging.log4j;Logger;true;traceEntry;(Supplier[]);;Argument[0];ReturnValue;taint;manual" - EntryMessage out = null; - org.apache.logging.log4j.util.Supplier[] in = - (org.apache.logging.log4j.util.Supplier[]) source(); - Logger instance = null; - out = instance.traceEntry(in); - sink(out); // $ hasTaintFlow - } - { - // "org.apache.logging.log4j;Logger;true;traceExit;(EntryMessage,Object);;Argument[1];ReturnValue;value;manual" - Object out = null; - Object in = (Object) source(); - Logger instance = null; - out = instance.traceExit((EntryMessage) null, in); - sink(out); // $ hasValueFlow - } - { - // "org.apache.logging.log4j;Logger;true;traceExit;(Message,Object);;Argument[1];ReturnValue;value;manual" - Object out = null; - Object in = (Object) source(); - Logger instance = null; - out = instance.traceExit((Message) null, in); - sink(out); // $ hasValueFlow - } - { - // "org.apache.logging.log4j;Logger;true;traceExit;(Object);;Argument[0];ReturnValue;value;manual" - Object out = null; - Object in = (Object) source(); - Logger instance = null; - out = instance.traceExit(in); - sink(out); // $ hasValueFlow - } - { - // "org.apache.logging.log4j;Logger;true;traceExit;(String,Object);;Argument[1];ReturnValue;value;manual" - Object out = null; - Object in = (Object) source(); - Logger instance = null; - out = instance.traceExit((String) null, in); - sink(out); // $ hasValueFlow - } - { - // "org.slf4j.spi;LoggingEventBuilder;true;addArgument;;;Argument[this];ReturnValue;value;manual" - LoggingEventBuilder out = null; - LoggingEventBuilder in = (LoggingEventBuilder) source(); - out = in.addArgument((Object) null); - sink(out); // $ hasValueFlow - } - { - // "org.slf4j.spi;LoggingEventBuilder;true;addArgument;;;Argument[this];ReturnValue;value;manual" - LoggingEventBuilder out = null; - LoggingEventBuilder in = (LoggingEventBuilder) source(); - out = in.addArgument((java.util.function.Supplier) null); - sink(out); // $ hasValueFlow - } - { - // "org.slf4j.spi;LoggingEventBuilder;true;addKeyValue;;;Argument[this];ReturnValue;value;manual" - LoggingEventBuilder out = null; - LoggingEventBuilder in = (LoggingEventBuilder) source(); - out = in.addKeyValue((String) null, (Object) null); - sink(out); // $ hasValueFlow - } - { - // "org.slf4j.spi;LoggingEventBuilder;true;addKeyValue;;;Argument[this];ReturnValue;value;manual" - LoggingEventBuilder out = null; - LoggingEventBuilder in = (LoggingEventBuilder) source(); - out = in.addKeyValue((String) null, (java.util.function.Supplier) null); - sink(out); // $ hasValueFlow - } - { - // "org.slf4j.spi;LoggingEventBuilder;true;addKeyValue;;;Argument[1];Argument[this];taint;manual" - LoggingEventBuilder out = null; - Object in = (Object) source(); - out.addKeyValue((String) null, in); - sink(out); // $ hasTaintFlow - } - { - // "org.slf4j.spi;LoggingEventBuilder;true;addKeyValue;;;Argument[1];Argument[this];taint;manual" - LoggingEventBuilder out = null; - java.util.function.Supplier in = (java.util.function.Supplier) source(); - out.addKeyValue((String) null, in); - sink(out); // $ hasTaintFlow - } - { - // "org.slf4j.spi;LoggingEventBuilder;true;addMarker;;;Argument[this];ReturnValue;value;manual" - LoggingEventBuilder out = null; - LoggingEventBuilder in = (LoggingEventBuilder) source(); - out = in.addMarker(null); - sink(out); // $ hasValueFlow - } - { - // "org.slf4j.spi;LoggingEventBuilder;true;setCause;;;Argument[this];ReturnValue;value;manual" - LoggingEventBuilder out = null; - LoggingEventBuilder in = (LoggingEventBuilder) source(); - out = in.setCause(null); - sink(out); // $ hasValueFlow - } - - } + public void test() throws Exception { + { + // "java.util.logging;LogRecord;false;LogRecord;;;Argument[1];Argument[this];taint;manual" + LogRecord out = null; + String in = (String) source(); + out = new LogRecord(null, in); + sink(out); // $ hasTaintFlow + } + { + // "org.apache.logging.log4j;Logger;true;traceEntry;(Message);;Argument[0];ReturnValue;taint;manual" + EntryMessage out = null; + Message in = (Message) source(); + Logger instance = null; + out = instance.traceEntry(in); + sink(out); // $ hasTaintFlow + } + { + // "org.apache.logging.log4j;Logger;true;traceEntry;(String,Object[]);;Argument[0..1];ReturnValue;taint;manual" + EntryMessage out = null; + Object[] in = (Object[]) source(); + Logger instance = null; + out = instance.traceEntry((String) null, in); + sink(out); // $ hasTaintFlow + } + { + // "org.apache.logging.log4j;Logger;true;traceEntry;(String,Object[]);;Argument[0..1];ReturnValue;taint;manual" + EntryMessage out = null; + String in = (String) source(); + Logger instance = null; + out = instance.traceEntry(in, (Object[]) null); + sink(out); // $ hasTaintFlow + } + { + // "org.apache.logging.log4j;Logger;true;traceEntry;(String,Supplier[]);;Argument[0..1];ReturnValue;taint;manual" + EntryMessage out = null; + String in = (String) source(); + Logger instance = null; + out = instance.traceEntry(in, (org.apache.logging.log4j.util.Supplier[]) null); + sink(out); // $ hasTaintFlow + } + { + // "org.apache.logging.log4j;Logger;true;traceEntry;(String,Supplier[]);;Argument[0..1];ReturnValue;taint;manual" + EntryMessage out = null; + org.apache.logging.log4j.util.Supplier[] in = + (org.apache.logging.log4j.util.Supplier[]) source(); + Logger instance = null; + out = instance.traceEntry((String) null, in); + sink(out); // $ hasTaintFlow + } + { + // "org.apache.logging.log4j;Logger;true;traceEntry;(Supplier[]);;Argument[0];ReturnValue;taint;manual" + EntryMessage out = null; + org.apache.logging.log4j.util.Supplier[] in = + (org.apache.logging.log4j.util.Supplier[]) source(); + Logger instance = null; + out = instance.traceEntry(in); + sink(out); // $ hasTaintFlow + } + { + // "org.apache.logging.log4j;Logger;true;traceExit;(EntryMessage,Object);;Argument[1];ReturnValue;value;manual" + Object out = null; + Object in = (Object) source(); + Logger instance = null; + out = instance.traceExit((EntryMessage) null, in); + sink(out); // $ hasValueFlow + } + { + // "org.apache.logging.log4j;Logger;true;traceExit;(Message,Object);;Argument[1];ReturnValue;value;manual" + Object out = null; + Object in = (Object) source(); + Logger instance = null; + out = instance.traceExit((Message) null, in); + sink(out); // $ hasValueFlow + } + { + // "org.apache.logging.log4j;Logger;true;traceExit;(Object);;Argument[0];ReturnValue;value;manual" + Object out = null; + Object in = (Object) source(); + Logger instance = null; + out = instance.traceExit(in); + sink(out); // $ hasValueFlow + } + { + // "org.apache.logging.log4j;Logger;true;traceExit;(String,Object);;Argument[1];ReturnValue;value;manual" + Object out = null; + Object in = (Object) source(); + Logger instance = null; + out = instance.traceExit((String) null, in); + sink(out); // $ hasValueFlow + } + { + // "org.slf4j.spi;LoggingEventBuilder;true;addArgument;;;Argument[this];ReturnValue;value;manual" + LoggingEventBuilder out = null; + LoggingEventBuilder in = (LoggingEventBuilder) source(); + out = in.addArgument((Object) null); + sink(out); // $ hasValueFlow + } + { + // "org.slf4j.spi;LoggingEventBuilder;true;addArgument;;;Argument[this];ReturnValue;value;manual" + LoggingEventBuilder out = null; + LoggingEventBuilder in = (LoggingEventBuilder) source(); + out = in.addArgument((java.util.function.Supplier) null); + sink(out); // $ hasValueFlow + } + { + // "org.slf4j.spi;LoggingEventBuilder;true;addKeyValue;;;Argument[this];ReturnValue;value;manual" + LoggingEventBuilder out = null; + LoggingEventBuilder in = (LoggingEventBuilder) source(); + out = in.addKeyValue((String) null, (Object) null); + sink(out); // $ hasValueFlow + } + { + // "org.slf4j.spi;LoggingEventBuilder;true;addKeyValue;;;Argument[this];ReturnValue;value;manual" + LoggingEventBuilder out = null; + LoggingEventBuilder in = (LoggingEventBuilder) source(); + out = in.addKeyValue((String) null, (java.util.function.Supplier) null); + sink(out); // $ hasValueFlow + } + { + // "org.slf4j.spi;LoggingEventBuilder;true;addKeyValue;;;Argument[1];Argument[this];taint;manual" + LoggingEventBuilder out = null; + Object in = (Object) source(); + out.addKeyValue((String) null, in); + sink(out); // $ hasTaintFlow + } + { + // "org.slf4j.spi;LoggingEventBuilder;true;addKeyValue;;;Argument[1];Argument[this];taint;manual" + LoggingEventBuilder out = null; + java.util.function.Supplier in = (java.util.function.Supplier) source(); + out.addKeyValue((String) null, in); + sink(out); // $ hasTaintFlow + } + { + // "org.slf4j.spi;LoggingEventBuilder;true;addMarker;;;Argument[this];ReturnValue;value;manual" + LoggingEventBuilder out = null; + LoggingEventBuilder in = (LoggingEventBuilder) source(); + out = in.addMarker(null); + sink(out); // $ hasValueFlow + } + { + // "org.slf4j.spi;LoggingEventBuilder;true;setCause;;;Argument[this];ReturnValue;value;manual" + LoggingEventBuilder out = null; + LoggingEventBuilder in = (LoggingEventBuilder) source(); + out = in.setCause(null); + sink(out); // $ hasValueFlow + } + { + // "java.util.logging;LogRecord;true;getParameters;();;Argument[this].SyntheticField[java.util.logging.LogRecord.parameters].ArrayElement;ReturnValue.ArrayElement;value;manual + // "java.util.logging;LogRecord;true;setParameters;(Object[]);Argument[0].ArrayElement;Argument[this].SyntheticField[java.util.logging.LogRecord.parameters].ArrayElement;value;manual + LogRecord record = new LogRecord(null, null); + Object[] parameters = new Object[1]; + parameters[0] = source(); + record.setParameters(parameters); + Object[] out = record.getParameters(); + sink(out[0]); // $ hasValueFlow + } + } } diff --git a/java/ql/test/library-tests/logging/test.expected b/java/ql/test/library-tests/logging/test.expected index 4b8be156480..e66dd40c96c 100644 --- a/java/ql/test/library-tests/logging/test.expected +++ b/java/ql/test/library-tests/logging/test.expected @@ -14,177 +14,178 @@ models | 13 | Summary: org.slf4j.spi; LoggingEventBuilder; true; addMarker; ; ; Argument[this]; ReturnValue; value; manual | | 14 | Summary: org.slf4j.spi; LoggingEventBuilder; true; setCause; ; ; Argument[this]; ReturnValue; value; manual | edges -| Test.java:23:16:23:32 | (...)... : String | Test.java:24:30:24:31 | in : String | provenance | | -| Test.java:23:25:23:32 | source(...) : Object | Test.java:23:16:23:32 | (...)... : String | provenance | | -| Test.java:24:10:24:32 | new LogRecord(...) : LogRecord | Test.java:25:9:25:11 | out | provenance | | -| Test.java:24:30:24:31 | in : String | Test.java:24:10:24:32 | new LogRecord(...) : LogRecord | provenance | MaD:1 | -| Test.java:30:17:30:34 | (...)... : Message | Test.java:32:30:32:31 | in : Message | provenance | | -| Test.java:30:27:30:34 | source(...) : Object | Test.java:30:17:30:34 | (...)... : Message | provenance | | -| Test.java:32:10:32:32 | traceEntry(...) : EntryMessage | Test.java:33:9:33:11 | out | provenance | | -| Test.java:32:30:32:31 | in : Message | Test.java:32:10:32:32 | traceEntry(...) : EntryMessage | provenance | MaD:2 | -| Test.java:38:18:38:36 | (...)... : Object[] | Test.java:40:45:40:46 | in : Object[] | provenance | | -| Test.java:38:29:38:36 | source(...) : Object | Test.java:38:18:38:36 | (...)... : Object[] | provenance | | -| Test.java:40:10:40:47 | traceEntry(...) : EntryMessage | Test.java:41:9:41:11 | out | provenance | | -| Test.java:40:45:40:46 | in : Object[] | Test.java:40:10:40:47 | traceEntry(...) : EntryMessage | provenance | MaD:3 | -| Test.java:46:16:46:32 | (...)... : String | Test.java:48:30:48:31 | in : String | provenance | | -| Test.java:46:25:46:32 | source(...) : Object | Test.java:46:16:46:32 | (...)... : String | provenance | | -| Test.java:48:10:48:49 | traceEntry(...) : EntryMessage | Test.java:49:9:49:11 | out | provenance | | -| Test.java:48:30:48:31 | in : String | Test.java:48:10:48:49 | traceEntry(...) : EntryMessage | provenance | MaD:3 | -| Test.java:54:16:54:32 | (...)... : String | Test.java:56:30:56:31 | in : String | provenance | | -| Test.java:54:25:54:32 | source(...) : Object | Test.java:54:16:54:32 | (...)... : String | provenance | | -| Test.java:56:10:56:81 | traceEntry(...) : EntryMessage | Test.java:57:9:57:11 | out | provenance | | -| Test.java:56:30:56:31 | in : String | Test.java:56:10:56:81 | traceEntry(...) : EntryMessage | provenance | MaD:4 | -| Test.java:63:6:63:56 | (...)... : Supplier[] | Test.java:65:45:65:46 | in : Supplier[] | provenance | | -| Test.java:63:49:63:56 | source(...) : Object | Test.java:63:6:63:56 | (...)... : Supplier[] | provenance | | -| Test.java:65:10:65:47 | traceEntry(...) : EntryMessage | Test.java:66:9:66:11 | out | provenance | | -| Test.java:65:45:65:46 | in : Supplier[] | Test.java:65:10:65:47 | traceEntry(...) : EntryMessage | provenance | MaD:4 | -| Test.java:72:6:72:56 | (...)... : Supplier[] | Test.java:74:30:74:31 | in : Supplier[] | provenance | | -| Test.java:72:49:72:56 | source(...) : Object | Test.java:72:6:72:56 | (...)... : Supplier[] | provenance | | -| Test.java:74:10:74:32 | traceEntry(...) : EntryMessage | Test.java:75:9:75:11 | out | provenance | | -| Test.java:74:30:74:31 | in : Supplier[] | Test.java:74:10:74:32 | traceEntry(...) : EntryMessage | provenance | MaD:5 | -| Test.java:80:16:80:32 | (...)... : Object | Test.java:82:50:82:51 | in : Object | provenance | | -| Test.java:80:25:80:32 | source(...) : Object | Test.java:80:16:80:32 | (...)... : Object | provenance | | -| Test.java:82:10:82:52 | traceExit(...) : Object | Test.java:83:9:83:11 | out | provenance | | -| Test.java:82:50:82:51 | in : Object | Test.java:82:10:82:52 | traceExit(...) : Object | provenance | MaD:6 | -| Test.java:88:16:88:32 | (...)... : Object | Test.java:90:45:90:46 | in : Object | provenance | | -| Test.java:88:25:88:32 | source(...) : Object | Test.java:88:16:88:32 | (...)... : Object | provenance | | -| Test.java:90:10:90:47 | traceExit(...) : Object | Test.java:91:9:91:11 | out | provenance | | -| Test.java:90:45:90:46 | in : Object | Test.java:90:10:90:47 | traceExit(...) : Object | provenance | MaD:7 | -| Test.java:96:16:96:32 | (...)... : Object | Test.java:98:29:98:30 | in : Object | provenance | | -| Test.java:96:25:96:32 | source(...) : Object | Test.java:96:16:96:32 | (...)... : Object | provenance | | -| Test.java:98:10:98:31 | traceExit(...) : Object | Test.java:99:9:99:11 | out | provenance | | -| Test.java:98:29:98:30 | in : Object | Test.java:98:10:98:31 | traceExit(...) : Object | provenance | MaD:8 | -| Test.java:104:16:104:32 | (...)... : Object | Test.java:106:44:106:45 | in : Object | provenance | | -| Test.java:104:25:104:32 | source(...) : Object | Test.java:104:16:104:32 | (...)... : Object | provenance | | -| Test.java:106:10:106:46 | traceExit(...) : Object | Test.java:107:9:107:11 | out | provenance | | -| Test.java:106:44:106:45 | in : Object | Test.java:106:10:106:46 | traceExit(...) : Object | provenance | MaD:9 | -| Test.java:112:29:112:58 | (...)... : LoggingEventBuilder | Test.java:113:10:113:11 | in : LoggingEventBuilder | provenance | | -| Test.java:112:51:112:58 | source(...) : Object | Test.java:112:29:112:58 | (...)... : LoggingEventBuilder | provenance | | -| Test.java:113:10:113:11 | in : LoggingEventBuilder | Test.java:113:10:113:38 | addArgument(...) : LoggingEventBuilder | provenance | MaD:10 | -| Test.java:113:10:113:38 | addArgument(...) : LoggingEventBuilder | Test.java:114:9:114:11 | out | provenance | | -| Test.java:119:29:119:58 | (...)... : LoggingEventBuilder | Test.java:120:10:120:11 | in : LoggingEventBuilder | provenance | | -| Test.java:119:51:119:58 | source(...) : Object | Test.java:119:29:119:58 | (...)... : LoggingEventBuilder | provenance | | -| Test.java:120:10:120:11 | in : LoggingEventBuilder | Test.java:120:10:120:59 | addArgument(...) : LoggingEventBuilder | provenance | MaD:10 | -| Test.java:120:10:120:59 | addArgument(...) : LoggingEventBuilder | Test.java:121:9:121:11 | out | provenance | | -| Test.java:126:29:126:58 | (...)... : LoggingEventBuilder | Test.java:127:10:127:11 | in : LoggingEventBuilder | provenance | | -| Test.java:126:51:126:58 | source(...) : Object | Test.java:126:29:126:58 | (...)... : LoggingEventBuilder | provenance | | -| Test.java:127:10:127:11 | in : LoggingEventBuilder | Test.java:127:10:127:53 | addKeyValue(...) : LoggingEventBuilder | provenance | MaD:11 | -| Test.java:127:10:127:53 | addKeyValue(...) : LoggingEventBuilder | Test.java:128:9:128:11 | out | provenance | | -| Test.java:133:29:133:58 | (...)... : LoggingEventBuilder | Test.java:134:10:134:11 | in : LoggingEventBuilder | provenance | | -| Test.java:133:51:133:58 | source(...) : Object | Test.java:133:29:133:58 | (...)... : LoggingEventBuilder | provenance | | -| Test.java:134:10:134:11 | in : LoggingEventBuilder | Test.java:134:10:134:74 | addKeyValue(...) : LoggingEventBuilder | provenance | MaD:11 | -| Test.java:134:10:134:74 | addKeyValue(...) : LoggingEventBuilder | Test.java:135:9:135:11 | out | provenance | | -| Test.java:140:16:140:32 | (...)... : Object | Test.java:141:35:141:36 | in : Object | provenance | | -| Test.java:140:25:140:32 | source(...) : Object | Test.java:140:16:140:32 | (...)... : Object | provenance | | -| Test.java:141:4:141:6 | out [post update] : LoggingEventBuilder | Test.java:142:9:142:11 | out | provenance | | -| Test.java:141:35:141:36 | in : Object | Test.java:141:4:141:6 | out [post update] : LoggingEventBuilder | provenance | MaD:12 | -| Test.java:147:37:147:74 | (...)... : Supplier | Test.java:148:35:148:36 | in : Supplier | provenance | | -| Test.java:147:67:147:74 | source(...) : Object | Test.java:147:37:147:74 | (...)... : Supplier | provenance | | -| Test.java:148:4:148:6 | out [post update] : LoggingEventBuilder | Test.java:149:9:149:11 | out | provenance | | -| Test.java:148:35:148:36 | in : Supplier | Test.java:148:4:148:6 | out [post update] : LoggingEventBuilder | provenance | MaD:12 | -| Test.java:154:29:154:58 | (...)... : LoggingEventBuilder | Test.java:155:10:155:11 | in : LoggingEventBuilder | provenance | | -| Test.java:154:51:154:58 | source(...) : Object | Test.java:154:29:154:58 | (...)... : LoggingEventBuilder | provenance | | -| Test.java:155:10:155:11 | in : LoggingEventBuilder | Test.java:155:10:155:27 | addMarker(...) : LoggingEventBuilder | provenance | MaD:13 | -| Test.java:155:10:155:27 | addMarker(...) : LoggingEventBuilder | Test.java:156:9:156:11 | out | provenance | | -| Test.java:161:29:161:58 | (...)... : LoggingEventBuilder | Test.java:162:10:162:11 | in : LoggingEventBuilder | provenance | | -| Test.java:161:51:161:58 | source(...) : Object | Test.java:161:29:161:58 | (...)... : LoggingEventBuilder | provenance | | -| Test.java:162:10:162:11 | in : LoggingEventBuilder | Test.java:162:10:162:26 | setCause(...) : LoggingEventBuilder | provenance | MaD:14 | -| Test.java:162:10:162:26 | setCause(...) : LoggingEventBuilder | Test.java:163:9:163:11 | out | provenance | | +| Test.java:24:19:24:35 | (...)... : String | Test.java:25:33:25:34 | in : String | provenance | | +| Test.java:24:28:24:35 | source(...) : Object | Test.java:24:19:24:35 | (...)... : String | provenance | | +| Test.java:25:13:25:35 | new LogRecord(...) : LogRecord | Test.java:26:12:26:14 | out | provenance | | +| Test.java:25:33:25:34 | in : String | Test.java:25:13:25:35 | new LogRecord(...) : LogRecord | provenance | MaD:1 | +| Test.java:31:20:31:37 | (...)... : Message | Test.java:33:33:33:34 | in : Message | provenance | | +| Test.java:31:30:31:37 | source(...) : Object | Test.java:31:20:31:37 | (...)... : Message | provenance | | +| Test.java:33:13:33:35 | traceEntry(...) : EntryMessage | Test.java:34:12:34:14 | out | provenance | | +| Test.java:33:33:33:34 | in : Message | Test.java:33:13:33:35 | traceEntry(...) : EntryMessage | provenance | MaD:2 | +| Test.java:39:21:39:39 | (...)... : Object[] | Test.java:41:48:41:49 | in : Object[] | provenance | | +| Test.java:39:32:39:39 | source(...) : Object | Test.java:39:21:39:39 | (...)... : Object[] | provenance | | +| Test.java:41:13:41:50 | traceEntry(...) : EntryMessage | Test.java:42:12:42:14 | out | provenance | | +| Test.java:41:48:41:49 | in : Object[] | Test.java:41:13:41:50 | traceEntry(...) : EntryMessage | provenance | MaD:3 | +| Test.java:47:19:47:35 | (...)... : String | Test.java:49:33:49:34 | in : String | provenance | | +| Test.java:47:28:47:35 | source(...) : Object | Test.java:47:19:47:35 | (...)... : String | provenance | | +| Test.java:49:13:49:52 | traceEntry(...) : EntryMessage | Test.java:50:12:50:14 | out | provenance | | +| Test.java:49:33:49:34 | in : String | Test.java:49:13:49:52 | traceEntry(...) : EntryMessage | provenance | MaD:3 | +| Test.java:55:19:55:35 | (...)... : String | Test.java:57:33:57:34 | in : String | provenance | | +| Test.java:55:28:55:35 | source(...) : Object | Test.java:55:19:55:35 | (...)... : String | provenance | | +| Test.java:57:13:57:84 | traceEntry(...) : EntryMessage | Test.java:58:12:58:14 | out | provenance | | +| Test.java:57:33:57:34 | in : String | Test.java:57:13:57:84 | traceEntry(...) : EntryMessage | provenance | MaD:4 | +| Test.java:64:11:64:61 | (...)... : Supplier[] | Test.java:66:48:66:49 | in : Supplier[] | provenance | | +| Test.java:64:54:64:61 | source(...) : Object | Test.java:64:11:64:61 | (...)... : Supplier[] | provenance | | +| Test.java:66:13:66:50 | traceEntry(...) : EntryMessage | Test.java:67:12:67:14 | out | provenance | | +| Test.java:66:48:66:49 | in : Supplier[] | Test.java:66:13:66:50 | traceEntry(...) : EntryMessage | provenance | MaD:4 | +| Test.java:73:11:73:61 | (...)... : Supplier[] | Test.java:75:33:75:34 | in : Supplier[] | provenance | | +| Test.java:73:54:73:61 | source(...) : Object | Test.java:73:11:73:61 | (...)... : Supplier[] | provenance | | +| Test.java:75:13:75:35 | traceEntry(...) : EntryMessage | Test.java:76:12:76:14 | out | provenance | | +| Test.java:75:33:75:34 | in : Supplier[] | Test.java:75:13:75:35 | traceEntry(...) : EntryMessage | provenance | MaD:5 | +| Test.java:81:19:81:35 | (...)... : Object | Test.java:83:53:83:54 | in : Object | provenance | | +| Test.java:81:28:81:35 | source(...) : Object | Test.java:81:19:81:35 | (...)... : Object | provenance | | +| Test.java:83:13:83:55 | traceExit(...) : Object | Test.java:84:12:84:14 | out | provenance | | +| Test.java:83:53:83:54 | in : Object | Test.java:83:13:83:55 | traceExit(...) : Object | provenance | MaD:6 | +| Test.java:89:19:89:35 | (...)... : Object | Test.java:91:48:91:49 | in : Object | provenance | | +| Test.java:89:28:89:35 | source(...) : Object | Test.java:89:19:89:35 | (...)... : Object | provenance | | +| Test.java:91:13:91:50 | traceExit(...) : Object | Test.java:92:12:92:14 | out | provenance | | +| Test.java:91:48:91:49 | in : Object | Test.java:91:13:91:50 | traceExit(...) : Object | provenance | MaD:7 | +| Test.java:97:19:97:35 | (...)... : Object | Test.java:99:32:99:33 | in : Object | provenance | | +| Test.java:97:28:97:35 | source(...) : Object | Test.java:97:19:97:35 | (...)... : Object | provenance | | +| Test.java:99:13:99:34 | traceExit(...) : Object | Test.java:100:12:100:14 | out | provenance | | +| Test.java:99:32:99:33 | in : Object | Test.java:99:13:99:34 | traceExit(...) : Object | provenance | MaD:8 | +| Test.java:105:19:105:35 | (...)... : Object | Test.java:107:47:107:48 | in : Object | provenance | | +| Test.java:105:28:105:35 | source(...) : Object | Test.java:105:19:105:35 | (...)... : Object | provenance | | +| Test.java:107:13:107:49 | traceExit(...) : Object | Test.java:108:12:108:14 | out | provenance | | +| Test.java:107:47:107:48 | in : Object | Test.java:107:13:107:49 | traceExit(...) : Object | provenance | MaD:9 | +| Test.java:113:32:113:61 | (...)... : LoggingEventBuilder | Test.java:114:13:114:14 | in : LoggingEventBuilder | provenance | | +| Test.java:113:54:113:61 | source(...) : Object | Test.java:113:32:113:61 | (...)... : LoggingEventBuilder | provenance | | +| Test.java:114:13:114:14 | in : LoggingEventBuilder | Test.java:114:13:114:41 | addArgument(...) : LoggingEventBuilder | provenance | MaD:10 | +| Test.java:114:13:114:41 | addArgument(...) : LoggingEventBuilder | Test.java:115:12:115:14 | out | provenance | | +| Test.java:120:32:120:61 | (...)... : LoggingEventBuilder | Test.java:121:13:121:14 | in : LoggingEventBuilder | provenance | | +| Test.java:120:54:120:61 | source(...) : Object | Test.java:120:32:120:61 | (...)... : LoggingEventBuilder | provenance | | +| Test.java:121:13:121:14 | in : LoggingEventBuilder | Test.java:121:13:121:62 | addArgument(...) : LoggingEventBuilder | provenance | MaD:10 | +| Test.java:121:13:121:62 | addArgument(...) : LoggingEventBuilder | Test.java:122:12:122:14 | out | provenance | | +| Test.java:127:32:127:61 | (...)... : LoggingEventBuilder | Test.java:128:13:128:14 | in : LoggingEventBuilder | provenance | | +| Test.java:127:54:127:61 | source(...) : Object | Test.java:127:32:127:61 | (...)... : LoggingEventBuilder | provenance | | +| Test.java:128:13:128:14 | in : LoggingEventBuilder | Test.java:128:13:128:56 | addKeyValue(...) : LoggingEventBuilder | provenance | MaD:11 | +| Test.java:128:13:128:56 | addKeyValue(...) : LoggingEventBuilder | Test.java:129:12:129:14 | out | provenance | | +| Test.java:134:32:134:61 | (...)... : LoggingEventBuilder | Test.java:135:13:135:14 | in : LoggingEventBuilder | provenance | | +| Test.java:134:54:134:61 | source(...) : Object | Test.java:134:32:134:61 | (...)... : LoggingEventBuilder | provenance | | +| Test.java:135:13:135:14 | in : LoggingEventBuilder | Test.java:135:13:135:77 | addKeyValue(...) : LoggingEventBuilder | provenance | MaD:11 | +| Test.java:135:13:135:77 | addKeyValue(...) : LoggingEventBuilder | Test.java:136:12:136:14 | out | provenance | | +| Test.java:141:19:141:35 | (...)... : Object | Test.java:142:38:142:39 | in : Object | provenance | | +| Test.java:141:28:141:35 | source(...) : Object | Test.java:141:19:141:35 | (...)... : Object | provenance | | +| Test.java:142:7:142:9 | out [post update] : LoggingEventBuilder | Test.java:143:12:143:14 | out | provenance | | +| Test.java:142:38:142:39 | in : Object | Test.java:142:7:142:9 | out [post update] : LoggingEventBuilder | provenance | MaD:12 | +| Test.java:148:40:148:77 | (...)... : Supplier | Test.java:149:38:149:39 | in : Supplier | provenance | | +| Test.java:148:70:148:77 | source(...) : Object | Test.java:148:40:148:77 | (...)... : Supplier | provenance | | +| Test.java:149:7:149:9 | out [post update] : LoggingEventBuilder | Test.java:150:12:150:14 | out | provenance | | +| Test.java:149:38:149:39 | in : Supplier | Test.java:149:7:149:9 | out [post update] : LoggingEventBuilder | provenance | MaD:12 | +| Test.java:155:32:155:61 | (...)... : LoggingEventBuilder | Test.java:156:13:156:14 | in : LoggingEventBuilder | provenance | | +| Test.java:155:54:155:61 | source(...) : Object | Test.java:155:32:155:61 | (...)... : LoggingEventBuilder | provenance | | +| Test.java:156:13:156:14 | in : LoggingEventBuilder | Test.java:156:13:156:30 | addMarker(...) : LoggingEventBuilder | provenance | MaD:13 | +| Test.java:156:13:156:30 | addMarker(...) : LoggingEventBuilder | Test.java:157:12:157:14 | out | provenance | | +| Test.java:162:32:162:61 | (...)... : LoggingEventBuilder | Test.java:163:13:163:14 | in : LoggingEventBuilder | provenance | | +| Test.java:162:54:162:61 | source(...) : Object | Test.java:162:32:162:61 | (...)... : LoggingEventBuilder | provenance | | +| Test.java:163:13:163:14 | in : LoggingEventBuilder | Test.java:163:13:163:29 | setCause(...) : LoggingEventBuilder | provenance | MaD:14 | +| Test.java:163:13:163:29 | setCause(...) : LoggingEventBuilder | Test.java:164:12:164:14 | out | provenance | | nodes -| Test.java:23:16:23:32 | (...)... : String | semmle.label | (...)... : String | -| Test.java:23:25:23:32 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:24:10:24:32 | new LogRecord(...) : LogRecord | semmle.label | new LogRecord(...) : LogRecord | -| Test.java:24:30:24:31 | in : String | semmle.label | in : String | -| Test.java:25:9:25:11 | out | semmle.label | out | -| Test.java:30:17:30:34 | (...)... : Message | semmle.label | (...)... : Message | -| Test.java:30:27:30:34 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:32:10:32:32 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | -| Test.java:32:30:32:31 | in : Message | semmle.label | in : Message | -| Test.java:33:9:33:11 | out | semmle.label | out | -| Test.java:38:18:38:36 | (...)... : Object[] | semmle.label | (...)... : Object[] | -| Test.java:38:29:38:36 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:40:10:40:47 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | -| Test.java:40:45:40:46 | in : Object[] | semmle.label | in : Object[] | -| Test.java:41:9:41:11 | out | semmle.label | out | -| Test.java:46:16:46:32 | (...)... : String | semmle.label | (...)... : String | -| Test.java:46:25:46:32 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:48:10:48:49 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | -| Test.java:48:30:48:31 | in : String | semmle.label | in : String | -| Test.java:49:9:49:11 | out | semmle.label | out | -| Test.java:54:16:54:32 | (...)... : String | semmle.label | (...)... : String | -| Test.java:54:25:54:32 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:56:10:56:81 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | -| Test.java:56:30:56:31 | in : String | semmle.label | in : String | -| Test.java:57:9:57:11 | out | semmle.label | out | -| Test.java:63:6:63:56 | (...)... : Supplier[] | semmle.label | (...)... : Supplier[] | -| Test.java:63:49:63:56 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:65:10:65:47 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | -| Test.java:65:45:65:46 | in : Supplier[] | semmle.label | in : Supplier[] | -| Test.java:66:9:66:11 | out | semmle.label | out | -| Test.java:72:6:72:56 | (...)... : Supplier[] | semmle.label | (...)... : Supplier[] | -| Test.java:72:49:72:56 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:74:10:74:32 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | -| Test.java:74:30:74:31 | in : Supplier[] | semmle.label | in : Supplier[] | -| Test.java:75:9:75:11 | out | semmle.label | out | -| Test.java:80:16:80:32 | (...)... : Object | semmle.label | (...)... : Object | -| Test.java:80:25:80:32 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:82:10:82:52 | traceExit(...) : Object | semmle.label | traceExit(...) : Object | -| Test.java:82:50:82:51 | in : Object | semmle.label | in : Object | -| Test.java:83:9:83:11 | out | semmle.label | out | -| Test.java:88:16:88:32 | (...)... : Object | semmle.label | (...)... : Object | -| Test.java:88:25:88:32 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:90:10:90:47 | traceExit(...) : Object | semmle.label | traceExit(...) : Object | -| Test.java:90:45:90:46 | in : Object | semmle.label | in : Object | -| Test.java:91:9:91:11 | out | semmle.label | out | -| Test.java:96:16:96:32 | (...)... : Object | semmle.label | (...)... : Object | -| Test.java:96:25:96:32 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:98:10:98:31 | traceExit(...) : Object | semmle.label | traceExit(...) : Object | -| Test.java:98:29:98:30 | in : Object | semmle.label | in : Object | -| Test.java:99:9:99:11 | out | semmle.label | out | -| Test.java:104:16:104:32 | (...)... : Object | semmle.label | (...)... : Object | -| Test.java:104:25:104:32 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:106:10:106:46 | traceExit(...) : Object | semmle.label | traceExit(...) : Object | -| Test.java:106:44:106:45 | in : Object | semmle.label | in : Object | -| Test.java:107:9:107:11 | out | semmle.label | out | -| Test.java:112:29:112:58 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | -| Test.java:112:51:112:58 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:113:10:113:11 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | -| Test.java:113:10:113:38 | addArgument(...) : LoggingEventBuilder | semmle.label | addArgument(...) : LoggingEventBuilder | -| Test.java:114:9:114:11 | out | semmle.label | out | -| Test.java:119:29:119:58 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | -| Test.java:119:51:119:58 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:120:10:120:11 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | -| Test.java:120:10:120:59 | addArgument(...) : LoggingEventBuilder | semmle.label | addArgument(...) : LoggingEventBuilder | -| Test.java:121:9:121:11 | out | semmle.label | out | -| Test.java:126:29:126:58 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | -| Test.java:126:51:126:58 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:127:10:127:11 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | -| Test.java:127:10:127:53 | addKeyValue(...) : LoggingEventBuilder | semmle.label | addKeyValue(...) : LoggingEventBuilder | -| Test.java:128:9:128:11 | out | semmle.label | out | -| Test.java:133:29:133:58 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | -| Test.java:133:51:133:58 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:134:10:134:11 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | -| Test.java:134:10:134:74 | addKeyValue(...) : LoggingEventBuilder | semmle.label | addKeyValue(...) : LoggingEventBuilder | -| Test.java:135:9:135:11 | out | semmle.label | out | -| Test.java:140:16:140:32 | (...)... : Object | semmle.label | (...)... : Object | -| Test.java:140:25:140:32 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:141:4:141:6 | out [post update] : LoggingEventBuilder | semmle.label | out [post update] : LoggingEventBuilder | -| Test.java:141:35:141:36 | in : Object | semmle.label | in : Object | -| Test.java:142:9:142:11 | out | semmle.label | out | -| Test.java:147:37:147:74 | (...)... : Supplier | semmle.label | (...)... : Supplier | -| Test.java:147:67:147:74 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:148:4:148:6 | out [post update] : LoggingEventBuilder | semmle.label | out [post update] : LoggingEventBuilder | -| Test.java:148:35:148:36 | in : Supplier | semmle.label | in : Supplier | -| Test.java:149:9:149:11 | out | semmle.label | out | -| Test.java:154:29:154:58 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | -| Test.java:154:51:154:58 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:155:10:155:11 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | -| Test.java:155:10:155:27 | addMarker(...) : LoggingEventBuilder | semmle.label | addMarker(...) : LoggingEventBuilder | -| Test.java:156:9:156:11 | out | semmle.label | out | -| Test.java:161:29:161:58 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | -| Test.java:161:51:161:58 | source(...) : Object | semmle.label | source(...) : Object | -| Test.java:162:10:162:11 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | -| Test.java:162:10:162:26 | setCause(...) : LoggingEventBuilder | semmle.label | setCause(...) : LoggingEventBuilder | -| Test.java:163:9:163:11 | out | semmle.label | out | +| Test.java:24:19:24:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:24:28:24:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:25:13:25:35 | new LogRecord(...) : LogRecord | semmle.label | new LogRecord(...) : LogRecord | +| Test.java:25:33:25:34 | in : String | semmle.label | in : String | +| Test.java:26:12:26:14 | out | semmle.label | out | +| Test.java:31:20:31:37 | (...)... : Message | semmle.label | (...)... : Message | +| Test.java:31:30:31:37 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:33:13:33:35 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | +| Test.java:33:33:33:34 | in : Message | semmle.label | in : Message | +| Test.java:34:12:34:14 | out | semmle.label | out | +| Test.java:39:21:39:39 | (...)... : Object[] | semmle.label | (...)... : Object[] | +| Test.java:39:32:39:39 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:41:13:41:50 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | +| Test.java:41:48:41:49 | in : Object[] | semmle.label | in : Object[] | +| Test.java:42:12:42:14 | out | semmle.label | out | +| Test.java:47:19:47:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:47:28:47:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:49:13:49:52 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | +| Test.java:49:33:49:34 | in : String | semmle.label | in : String | +| Test.java:50:12:50:14 | out | semmle.label | out | +| Test.java:55:19:55:35 | (...)... : String | semmle.label | (...)... : String | +| Test.java:55:28:55:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:57:13:57:84 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | +| Test.java:57:33:57:34 | in : String | semmle.label | in : String | +| Test.java:58:12:58:14 | out | semmle.label | out | +| Test.java:64:11:64:61 | (...)... : Supplier[] | semmle.label | (...)... : Supplier[] | +| Test.java:64:54:64:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:66:13:66:50 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | +| Test.java:66:48:66:49 | in : Supplier[] | semmle.label | in : Supplier[] | +| Test.java:67:12:67:14 | out | semmle.label | out | +| Test.java:73:11:73:61 | (...)... : Supplier[] | semmle.label | (...)... : Supplier[] | +| Test.java:73:54:73:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:75:13:75:35 | traceEntry(...) : EntryMessage | semmle.label | traceEntry(...) : EntryMessage | +| Test.java:75:33:75:34 | in : Supplier[] | semmle.label | in : Supplier[] | +| Test.java:76:12:76:14 | out | semmle.label | out | +| Test.java:81:19:81:35 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:81:28:81:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:83:13:83:55 | traceExit(...) : Object | semmle.label | traceExit(...) : Object | +| Test.java:83:53:83:54 | in : Object | semmle.label | in : Object | +| Test.java:84:12:84:14 | out | semmle.label | out | +| Test.java:89:19:89:35 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:89:28:89:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:91:13:91:50 | traceExit(...) : Object | semmle.label | traceExit(...) : Object | +| Test.java:91:48:91:49 | in : Object | semmle.label | in : Object | +| Test.java:92:12:92:14 | out | semmle.label | out | +| Test.java:97:19:97:35 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:97:28:97:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:99:13:99:34 | traceExit(...) : Object | semmle.label | traceExit(...) : Object | +| Test.java:99:32:99:33 | in : Object | semmle.label | in : Object | +| Test.java:100:12:100:14 | out | semmle.label | out | +| Test.java:105:19:105:35 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:105:28:105:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:107:13:107:49 | traceExit(...) : Object | semmle.label | traceExit(...) : Object | +| Test.java:107:47:107:48 | in : Object | semmle.label | in : Object | +| Test.java:108:12:108:14 | out | semmle.label | out | +| Test.java:113:32:113:61 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | +| Test.java:113:54:113:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:114:13:114:14 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | +| Test.java:114:13:114:41 | addArgument(...) : LoggingEventBuilder | semmle.label | addArgument(...) : LoggingEventBuilder | +| Test.java:115:12:115:14 | out | semmle.label | out | +| Test.java:120:32:120:61 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | +| Test.java:120:54:120:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:121:13:121:14 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | +| Test.java:121:13:121:62 | addArgument(...) : LoggingEventBuilder | semmle.label | addArgument(...) : LoggingEventBuilder | +| Test.java:122:12:122:14 | out | semmle.label | out | +| Test.java:127:32:127:61 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | +| Test.java:127:54:127:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:128:13:128:14 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | +| Test.java:128:13:128:56 | addKeyValue(...) : LoggingEventBuilder | semmle.label | addKeyValue(...) : LoggingEventBuilder | +| Test.java:129:12:129:14 | out | semmle.label | out | +| Test.java:134:32:134:61 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | +| Test.java:134:54:134:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:135:13:135:14 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | +| Test.java:135:13:135:77 | addKeyValue(...) : LoggingEventBuilder | semmle.label | addKeyValue(...) : LoggingEventBuilder | +| Test.java:136:12:136:14 | out | semmle.label | out | +| Test.java:141:19:141:35 | (...)... : Object | semmle.label | (...)... : Object | +| Test.java:141:28:141:35 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:142:7:142:9 | out [post update] : LoggingEventBuilder | semmle.label | out [post update] : LoggingEventBuilder | +| Test.java:142:38:142:39 | in : Object | semmle.label | in : Object | +| Test.java:143:12:143:14 | out | semmle.label | out | +| Test.java:148:40:148:77 | (...)... : Supplier | semmle.label | (...)... : Supplier | +| Test.java:148:70:148:77 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:149:7:149:9 | out [post update] : LoggingEventBuilder | semmle.label | out [post update] : LoggingEventBuilder | +| Test.java:149:38:149:39 | in : Supplier | semmle.label | in : Supplier | +| Test.java:150:12:150:14 | out | semmle.label | out | +| Test.java:155:32:155:61 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | +| Test.java:155:54:155:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:156:13:156:14 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | +| Test.java:156:13:156:30 | addMarker(...) : LoggingEventBuilder | semmle.label | addMarker(...) : LoggingEventBuilder | +| Test.java:157:12:157:14 | out | semmle.label | out | +| Test.java:162:32:162:61 | (...)... : LoggingEventBuilder | semmle.label | (...)... : LoggingEventBuilder | +| Test.java:162:54:162:61 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:163:13:163:14 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | +| Test.java:163:13:163:29 | setCause(...) : LoggingEventBuilder | semmle.label | setCause(...) : LoggingEventBuilder | +| Test.java:164:12:164:14 | out | semmle.label | out | subpaths testFailures +| Test.java:174:21:174:37 | // $ hasValueFlow | Missing result:hasValueFlow= | From bd5529cefae9711d00ed9d3d8105f80cdd2a633c Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Wed, 28 Aug 2024 16:14:33 +0200 Subject: [PATCH 254/258] Java: Update the Byte- and CharBuffer models and add models for set- and getParameters on LogRecord. --- java/ql/lib/ext/java.nio.model.yml | 24 ++++++++++----------- java/ql/lib/ext/java.util.logging.model.yml | 6 ++---- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/java/ql/lib/ext/java.nio.model.yml b/java/ql/lib/ext/java.nio.model.yml index 1848916b43b..40c12b6c633 100644 --- a/java/ql/lib/ext/java.nio.model.yml +++ b/java/ql/lib/ext/java.nio.model.yml @@ -5,19 +5,19 @@ extensions: data: - ["java.nio", "ByteBuffer", False, "array", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] - ["java.nio", "ByteBuffer", False, "get", "", "", "Argument[this]", "ReturnValue", "taint", "manual"] - - ["java.nio", "ByteBuffer", True, "put", "(ByteBuffer)", "", "Argument[this]", "ReturnValue", "value", "df-manual"] - - ["java.nio", "ByteBuffer", True, "put", "(byte)", "", "Argument[this]", "ReturnValue", "value", "df-manual"] - - ["java.nio", "ByteBuffer", True, "put", "(byte[])", "", "Argument[0]", "Argument[this]", "taint", "df-manual"] - - ["java.nio", "ByteBuffer", True, "put", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] - - ["java.nio", "ByteBuffer", True, "put", "(byte[])", "", "Argument[this]", "ReturnValue", "taint", "df-manual"] - - ["java.nio", "ByteBuffer", True, "put", "(byte[],int,int)", "", "Argument[0]", "Argument[this]", "taint", "df-manual"] - - ["java.nio", "ByteBuffer", True, "put", "(byte[],int,int)", "", "Argument[this]", "ReturnValue", "value", "df-manual"] + - ["java.nio", "ByteBuffer", True, "put", "(ByteBuffer)", "", "Argument[0]", "Argument[this]", "taint", "manual"] + - ["java.nio", "ByteBuffer", True, "put", "(ByteBuffer)", "", "Argument[this]", "ReturnValue", "value", "manual"] + - ["java.nio", "ByteBuffer", True, "put", "(byte)", "", "Argument[this]", "ReturnValue", "value", "manual"] + - ["java.nio", "ByteBuffer", True, "put", "(byte[])", "", "Argument[0]", "Argument[this]", "taint", "manual"] + - ["java.nio", "ByteBuffer", True, "put", "(byte[])", "", "Argument[this]", "ReturnValue", "value", "manual"] + - ["java.nio", "ByteBuffer", True, "put", "(byte[],int,int)", "", "Argument[0]", "Argument[this]", "taint", "manual"] + - ["java.nio", "ByteBuffer", True, "put", "(byte[],int,int)", "", "Argument[this]", "ReturnValue", "value", "manual"] - ["java.nio", "ByteBuffer", True, "wrap", "(byte[])", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["java.nio", "ByteBuffer", True, "wrap", "(byte[],int,int)", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] - - ["java.nio", "CharBuffer", True, "wrap", "(CharSequence)", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] - - ["java.nio", "CharBuffer", True, "wrap", "(CharSequence,int,int)", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] - - ["java.nio", "CharBuffer", True, "wrap", "(char[])", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] - - ["java.nio", "CharBuffer", True, "wrap", "(char[],int,int)", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] + - ["java.nio", "ByteBuffer", True, "wrap", "(byte[],int,int)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["java.nio", "CharBuffer", True, "wrap", "(CharSequence)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["java.nio", "CharBuffer", True, "wrap", "(CharSequence,int,int)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["java.nio", "CharBuffer", True, "wrap", "(char[])", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["java.nio", "CharBuffer", True, "wrap", "(char[],int,int)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - addsTo: diff --git a/java/ql/lib/ext/java.util.logging.model.yml b/java/ql/lib/ext/java.util.logging.model.yml index d13803d73bb..f297bc8cda1 100644 --- a/java/ql/lib/ext/java.util.logging.model.yml +++ b/java/ql/lib/ext/java.util.logging.model.yml @@ -47,6 +47,8 @@ extensions: - ["java.util.logging", "Logger", False, "getName", "()", "", "Argument[this].SyntheticField[java.util.logging.Logger.name]", "ReturnValue", "value", "manual"] - ["java.util.logging", "LogRecord", False, "LogRecord", "", "", "Argument[1]", "Argument[this]", "taint", "manual"] - ["java.util.logging", "LogRecord", True, "getMessage", "()", "", "Argument[this]", "ReturnValue", "taint", "df-manual"] + - ["java.util.logging", "LogRecord", True, "getParameters", "()", "", "Argument[this].SyntheticField[java.util.logging.LogRecord.parameters].ArrayElement", "ReturnValue.ArrayElement", "value", "manual"] + - ["java.util.logging", "LogRecord", True, "setParameters", "(Object[])", "", "Argument[0].ArrayElement", "Argument[this].SyntheticField[java.util.logging.LogRecord.parameters].ArrayElement", "value", "manual"] - addsTo: pack: codeql/java-all extensible: neutralModel @@ -54,7 +56,3 @@ extensions: - ["java.util.logging", "Handler", "getEncoding", "()", "summary", "manual"] - ["java.util.logging", "Logger", "isLoggable", "(Level)", "summary", "manual"] - ["java.util.logging", "LogRecord", "getResourceBundle", "()", "summary", "df-manual"] - # If needed, a pair of manual summary models using synthetics can be made for the two - # neutrals below. - - ["java.util.logging", "LogRecord", "getParameters", "()", "summary", "manual"] - - ["java.util.logging", "LogRecord", "setParameters", "", "summary", "df-manual"] From fa5d6f12be07f0de8eaf3518c84978f20fa9bee3 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Wed, 28 Aug 2024 16:16:16 +0200 Subject: [PATCH 255/258] Java: Update logging test expected output. --- .../test/library-tests/logging/test.expected | 80 +++++++++++-------- 1 file changed, 48 insertions(+), 32 deletions(-) diff --git a/java/ql/test/library-tests/logging/test.expected b/java/ql/test/library-tests/logging/test.expected index e66dd40c96c..6aec73afeaf 100644 --- a/java/ql/test/library-tests/logging/test.expected +++ b/java/ql/test/library-tests/logging/test.expected @@ -1,18 +1,20 @@ models | 1 | Summary: java.util.logging; LogRecord; false; LogRecord; ; ; Argument[1]; Argument[this]; taint; manual | -| 2 | Summary: org.apache.logging.log4j; Logger; true; traceEntry; (Message); ; Argument[0]; ReturnValue; taint; manual | -| 3 | Summary: org.apache.logging.log4j; Logger; true; traceEntry; (String,Object[]); ; Argument[0..1]; ReturnValue; taint; manual | -| 4 | Summary: org.apache.logging.log4j; Logger; true; traceEntry; (String,Supplier[]); ; Argument[0..1]; ReturnValue; taint; manual | -| 5 | Summary: org.apache.logging.log4j; Logger; true; traceEntry; (Supplier[]); ; Argument[0]; ReturnValue; taint; manual | -| 6 | Summary: org.apache.logging.log4j; Logger; true; traceExit; (EntryMessage,Object); ; Argument[1]; ReturnValue; value; manual | -| 7 | Summary: org.apache.logging.log4j; Logger; true; traceExit; (Message,Object); ; Argument[1]; ReturnValue; value; manual | -| 8 | Summary: org.apache.logging.log4j; Logger; true; traceExit; (Object); ; Argument[0]; ReturnValue; value; manual | -| 9 | Summary: org.apache.logging.log4j; Logger; true; traceExit; (String,Object); ; Argument[1]; ReturnValue; value; manual | -| 10 | Summary: org.slf4j.spi; LoggingEventBuilder; true; addArgument; ; ; Argument[this]; ReturnValue; value; manual | -| 11 | Summary: org.slf4j.spi; LoggingEventBuilder; true; addKeyValue; ; ; Argument[this]; ReturnValue; value; manual | -| 12 | Summary: org.slf4j.spi; LoggingEventBuilder; true; addKeyValue; ; ; Argument[1]; Argument[this]; taint; manual | -| 13 | Summary: org.slf4j.spi; LoggingEventBuilder; true; addMarker; ; ; Argument[this]; ReturnValue; value; manual | -| 14 | Summary: org.slf4j.spi; LoggingEventBuilder; true; setCause; ; ; Argument[this]; ReturnValue; value; manual | +| 2 | Summary: java.util.logging; LogRecord; true; getParameters; (); ; Argument[this].SyntheticField[java.util.logging.LogRecord.parameters].ArrayElement; ReturnValue.ArrayElement; value; manual | +| 3 | Summary: java.util.logging; LogRecord; true; setParameters; (Object[]); ; Argument[0].ArrayElement; Argument[this].SyntheticField[java.util.logging.LogRecord.parameters].ArrayElement; value; manual | +| 4 | Summary: org.apache.logging.log4j; Logger; true; traceEntry; (Message); ; Argument[0]; ReturnValue; taint; manual | +| 5 | Summary: org.apache.logging.log4j; Logger; true; traceEntry; (String,Object[]); ; Argument[0..1]; ReturnValue; taint; manual | +| 6 | Summary: org.apache.logging.log4j; Logger; true; traceEntry; (String,Supplier[]); ; Argument[0..1]; ReturnValue; taint; manual | +| 7 | Summary: org.apache.logging.log4j; Logger; true; traceEntry; (Supplier[]); ; Argument[0]; ReturnValue; taint; manual | +| 8 | Summary: org.apache.logging.log4j; Logger; true; traceExit; (EntryMessage,Object); ; Argument[1]; ReturnValue; value; manual | +| 9 | Summary: org.apache.logging.log4j; Logger; true; traceExit; (Message,Object); ; Argument[1]; ReturnValue; value; manual | +| 10 | Summary: org.apache.logging.log4j; Logger; true; traceExit; (Object); ; Argument[0]; ReturnValue; value; manual | +| 11 | Summary: org.apache.logging.log4j; Logger; true; traceExit; (String,Object); ; Argument[1]; ReturnValue; value; manual | +| 12 | Summary: org.slf4j.spi; LoggingEventBuilder; true; addArgument; ; ; Argument[this]; ReturnValue; value; manual | +| 13 | Summary: org.slf4j.spi; LoggingEventBuilder; true; addKeyValue; ; ; Argument[this]; ReturnValue; value; manual | +| 14 | Summary: org.slf4j.spi; LoggingEventBuilder; true; addKeyValue; ; ; Argument[1]; Argument[this]; taint; manual | +| 15 | Summary: org.slf4j.spi; LoggingEventBuilder; true; addMarker; ; ; Argument[this]; ReturnValue; value; manual | +| 16 | Summary: org.slf4j.spi; LoggingEventBuilder; true; setCause; ; ; Argument[this]; ReturnValue; value; manual | edges | Test.java:24:19:24:35 | (...)... : String | Test.java:25:33:25:34 | in : String | provenance | | | Test.java:24:28:24:35 | source(...) : Object | Test.java:24:19:24:35 | (...)... : String | provenance | | @@ -21,75 +23,82 @@ edges | Test.java:31:20:31:37 | (...)... : Message | Test.java:33:33:33:34 | in : Message | provenance | | | Test.java:31:30:31:37 | source(...) : Object | Test.java:31:20:31:37 | (...)... : Message | provenance | | | Test.java:33:13:33:35 | traceEntry(...) : EntryMessage | Test.java:34:12:34:14 | out | provenance | | -| Test.java:33:33:33:34 | in : Message | Test.java:33:13:33:35 | traceEntry(...) : EntryMessage | provenance | MaD:2 | +| Test.java:33:33:33:34 | in : Message | Test.java:33:13:33:35 | traceEntry(...) : EntryMessage | provenance | MaD:4 | | Test.java:39:21:39:39 | (...)... : Object[] | Test.java:41:48:41:49 | in : Object[] | provenance | | | Test.java:39:32:39:39 | source(...) : Object | Test.java:39:21:39:39 | (...)... : Object[] | provenance | | | Test.java:41:13:41:50 | traceEntry(...) : EntryMessage | Test.java:42:12:42:14 | out | provenance | | -| Test.java:41:48:41:49 | in : Object[] | Test.java:41:13:41:50 | traceEntry(...) : EntryMessage | provenance | MaD:3 | +| Test.java:41:48:41:49 | in : Object[] | Test.java:41:13:41:50 | traceEntry(...) : EntryMessage | provenance | MaD:5 | | Test.java:47:19:47:35 | (...)... : String | Test.java:49:33:49:34 | in : String | provenance | | | Test.java:47:28:47:35 | source(...) : Object | Test.java:47:19:47:35 | (...)... : String | provenance | | | Test.java:49:13:49:52 | traceEntry(...) : EntryMessage | Test.java:50:12:50:14 | out | provenance | | -| Test.java:49:33:49:34 | in : String | Test.java:49:13:49:52 | traceEntry(...) : EntryMessage | provenance | MaD:3 | +| Test.java:49:33:49:34 | in : String | Test.java:49:13:49:52 | traceEntry(...) : EntryMessage | provenance | MaD:5 | | Test.java:55:19:55:35 | (...)... : String | Test.java:57:33:57:34 | in : String | provenance | | | Test.java:55:28:55:35 | source(...) : Object | Test.java:55:19:55:35 | (...)... : String | provenance | | | Test.java:57:13:57:84 | traceEntry(...) : EntryMessage | Test.java:58:12:58:14 | out | provenance | | -| Test.java:57:33:57:34 | in : String | Test.java:57:13:57:84 | traceEntry(...) : EntryMessage | provenance | MaD:4 | +| Test.java:57:33:57:34 | in : String | Test.java:57:13:57:84 | traceEntry(...) : EntryMessage | provenance | MaD:6 | | Test.java:64:11:64:61 | (...)... : Supplier[] | Test.java:66:48:66:49 | in : Supplier[] | provenance | | | Test.java:64:54:64:61 | source(...) : Object | Test.java:64:11:64:61 | (...)... : Supplier[] | provenance | | | Test.java:66:13:66:50 | traceEntry(...) : EntryMessage | Test.java:67:12:67:14 | out | provenance | | -| Test.java:66:48:66:49 | in : Supplier[] | Test.java:66:13:66:50 | traceEntry(...) : EntryMessage | provenance | MaD:4 | +| Test.java:66:48:66:49 | in : Supplier[] | Test.java:66:13:66:50 | traceEntry(...) : EntryMessage | provenance | MaD:6 | | Test.java:73:11:73:61 | (...)... : Supplier[] | Test.java:75:33:75:34 | in : Supplier[] | provenance | | | Test.java:73:54:73:61 | source(...) : Object | Test.java:73:11:73:61 | (...)... : Supplier[] | provenance | | | Test.java:75:13:75:35 | traceEntry(...) : EntryMessage | Test.java:76:12:76:14 | out | provenance | | -| Test.java:75:33:75:34 | in : Supplier[] | Test.java:75:13:75:35 | traceEntry(...) : EntryMessage | provenance | MaD:5 | +| Test.java:75:33:75:34 | in : Supplier[] | Test.java:75:13:75:35 | traceEntry(...) : EntryMessage | provenance | MaD:7 | | Test.java:81:19:81:35 | (...)... : Object | Test.java:83:53:83:54 | in : Object | provenance | | | Test.java:81:28:81:35 | source(...) : Object | Test.java:81:19:81:35 | (...)... : Object | provenance | | | Test.java:83:13:83:55 | traceExit(...) : Object | Test.java:84:12:84:14 | out | provenance | | -| Test.java:83:53:83:54 | in : Object | Test.java:83:13:83:55 | traceExit(...) : Object | provenance | MaD:6 | +| Test.java:83:53:83:54 | in : Object | Test.java:83:13:83:55 | traceExit(...) : Object | provenance | MaD:8 | | Test.java:89:19:89:35 | (...)... : Object | Test.java:91:48:91:49 | in : Object | provenance | | | Test.java:89:28:89:35 | source(...) : Object | Test.java:89:19:89:35 | (...)... : Object | provenance | | | Test.java:91:13:91:50 | traceExit(...) : Object | Test.java:92:12:92:14 | out | provenance | | -| Test.java:91:48:91:49 | in : Object | Test.java:91:13:91:50 | traceExit(...) : Object | provenance | MaD:7 | +| Test.java:91:48:91:49 | in : Object | Test.java:91:13:91:50 | traceExit(...) : Object | provenance | MaD:9 | | Test.java:97:19:97:35 | (...)... : Object | Test.java:99:32:99:33 | in : Object | provenance | | | Test.java:97:28:97:35 | source(...) : Object | Test.java:97:19:97:35 | (...)... : Object | provenance | | | Test.java:99:13:99:34 | traceExit(...) : Object | Test.java:100:12:100:14 | out | provenance | | -| Test.java:99:32:99:33 | in : Object | Test.java:99:13:99:34 | traceExit(...) : Object | provenance | MaD:8 | +| Test.java:99:32:99:33 | in : Object | Test.java:99:13:99:34 | traceExit(...) : Object | provenance | MaD:10 | | Test.java:105:19:105:35 | (...)... : Object | Test.java:107:47:107:48 | in : Object | provenance | | | Test.java:105:28:105:35 | source(...) : Object | Test.java:105:19:105:35 | (...)... : Object | provenance | | | Test.java:107:13:107:49 | traceExit(...) : Object | Test.java:108:12:108:14 | out | provenance | | -| Test.java:107:47:107:48 | in : Object | Test.java:107:13:107:49 | traceExit(...) : Object | provenance | MaD:9 | +| Test.java:107:47:107:48 | in : Object | Test.java:107:13:107:49 | traceExit(...) : Object | provenance | MaD:11 | | Test.java:113:32:113:61 | (...)... : LoggingEventBuilder | Test.java:114:13:114:14 | in : LoggingEventBuilder | provenance | | | Test.java:113:54:113:61 | source(...) : Object | Test.java:113:32:113:61 | (...)... : LoggingEventBuilder | provenance | | -| Test.java:114:13:114:14 | in : LoggingEventBuilder | Test.java:114:13:114:41 | addArgument(...) : LoggingEventBuilder | provenance | MaD:10 | +| Test.java:114:13:114:14 | in : LoggingEventBuilder | Test.java:114:13:114:41 | addArgument(...) : LoggingEventBuilder | provenance | MaD:12 | | Test.java:114:13:114:41 | addArgument(...) : LoggingEventBuilder | Test.java:115:12:115:14 | out | provenance | | | Test.java:120:32:120:61 | (...)... : LoggingEventBuilder | Test.java:121:13:121:14 | in : LoggingEventBuilder | provenance | | | Test.java:120:54:120:61 | source(...) : Object | Test.java:120:32:120:61 | (...)... : LoggingEventBuilder | provenance | | -| Test.java:121:13:121:14 | in : LoggingEventBuilder | Test.java:121:13:121:62 | addArgument(...) : LoggingEventBuilder | provenance | MaD:10 | +| Test.java:121:13:121:14 | in : LoggingEventBuilder | Test.java:121:13:121:62 | addArgument(...) : LoggingEventBuilder | provenance | MaD:12 | | Test.java:121:13:121:62 | addArgument(...) : LoggingEventBuilder | Test.java:122:12:122:14 | out | provenance | | | Test.java:127:32:127:61 | (...)... : LoggingEventBuilder | Test.java:128:13:128:14 | in : LoggingEventBuilder | provenance | | | Test.java:127:54:127:61 | source(...) : Object | Test.java:127:32:127:61 | (...)... : LoggingEventBuilder | provenance | | -| Test.java:128:13:128:14 | in : LoggingEventBuilder | Test.java:128:13:128:56 | addKeyValue(...) : LoggingEventBuilder | provenance | MaD:11 | +| Test.java:128:13:128:14 | in : LoggingEventBuilder | Test.java:128:13:128:56 | addKeyValue(...) : LoggingEventBuilder | provenance | MaD:13 | | Test.java:128:13:128:56 | addKeyValue(...) : LoggingEventBuilder | Test.java:129:12:129:14 | out | provenance | | | Test.java:134:32:134:61 | (...)... : LoggingEventBuilder | Test.java:135:13:135:14 | in : LoggingEventBuilder | provenance | | | Test.java:134:54:134:61 | source(...) : Object | Test.java:134:32:134:61 | (...)... : LoggingEventBuilder | provenance | | -| Test.java:135:13:135:14 | in : LoggingEventBuilder | Test.java:135:13:135:77 | addKeyValue(...) : LoggingEventBuilder | provenance | MaD:11 | +| Test.java:135:13:135:14 | in : LoggingEventBuilder | Test.java:135:13:135:77 | addKeyValue(...) : LoggingEventBuilder | provenance | MaD:13 | | Test.java:135:13:135:77 | addKeyValue(...) : LoggingEventBuilder | Test.java:136:12:136:14 | out | provenance | | | Test.java:141:19:141:35 | (...)... : Object | Test.java:142:38:142:39 | in : Object | provenance | | | Test.java:141:28:141:35 | source(...) : Object | Test.java:141:19:141:35 | (...)... : Object | provenance | | | Test.java:142:7:142:9 | out [post update] : LoggingEventBuilder | Test.java:143:12:143:14 | out | provenance | | -| Test.java:142:38:142:39 | in : Object | Test.java:142:7:142:9 | out [post update] : LoggingEventBuilder | provenance | MaD:12 | +| Test.java:142:38:142:39 | in : Object | Test.java:142:7:142:9 | out [post update] : LoggingEventBuilder | provenance | MaD:14 | | Test.java:148:40:148:77 | (...)... : Supplier | Test.java:149:38:149:39 | in : Supplier | provenance | | | Test.java:148:70:148:77 | source(...) : Object | Test.java:148:40:148:77 | (...)... : Supplier | provenance | | | Test.java:149:7:149:9 | out [post update] : LoggingEventBuilder | Test.java:150:12:150:14 | out | provenance | | -| Test.java:149:38:149:39 | in : Supplier | Test.java:149:7:149:9 | out [post update] : LoggingEventBuilder | provenance | MaD:12 | +| Test.java:149:38:149:39 | in : Supplier | Test.java:149:7:149:9 | out [post update] : LoggingEventBuilder | provenance | MaD:14 | | Test.java:155:32:155:61 | (...)... : LoggingEventBuilder | Test.java:156:13:156:14 | in : LoggingEventBuilder | provenance | | | Test.java:155:54:155:61 | source(...) : Object | Test.java:155:32:155:61 | (...)... : LoggingEventBuilder | provenance | | -| Test.java:156:13:156:14 | in : LoggingEventBuilder | Test.java:156:13:156:30 | addMarker(...) : LoggingEventBuilder | provenance | MaD:13 | +| Test.java:156:13:156:14 | in : LoggingEventBuilder | Test.java:156:13:156:30 | addMarker(...) : LoggingEventBuilder | provenance | MaD:15 | | Test.java:156:13:156:30 | addMarker(...) : LoggingEventBuilder | Test.java:157:12:157:14 | out | provenance | | | Test.java:162:32:162:61 | (...)... : LoggingEventBuilder | Test.java:163:13:163:14 | in : LoggingEventBuilder | provenance | | | Test.java:162:54:162:61 | source(...) : Object | Test.java:162:32:162:61 | (...)... : LoggingEventBuilder | provenance | | -| Test.java:163:13:163:14 | in : LoggingEventBuilder | Test.java:163:13:163:29 | setCause(...) : LoggingEventBuilder | provenance | MaD:14 | +| Test.java:163:13:163:14 | in : LoggingEventBuilder | Test.java:163:13:163:29 | setCause(...) : LoggingEventBuilder | provenance | MaD:16 | | Test.java:163:13:163:29 | setCause(...) : LoggingEventBuilder | Test.java:164:12:164:14 | out | provenance | | +| Test.java:171:7:171:16 | parameters [post update] : Object[] [[]] : Object | Test.java:172:28:172:37 | parameters : Object[] [[]] : Object | provenance | | +| Test.java:171:23:171:30 | source(...) : Object | Test.java:171:7:171:16 | parameters [post update] : Object[] [[]] : Object | provenance | | +| Test.java:172:7:172:12 | record [post update] : LogRecord [java.util.logging.LogRecord.parameters, []] : Object | Test.java:173:22:173:27 | record : LogRecord [java.util.logging.LogRecord.parameters, []] : Object | provenance | | +| Test.java:172:28:172:37 | parameters : Object[] [[]] : Object | Test.java:172:7:172:12 | record [post update] : LogRecord [java.util.logging.LogRecord.parameters, []] : Object | provenance | MaD:3 | +| Test.java:173:22:173:27 | record : LogRecord [java.util.logging.LogRecord.parameters, []] : Object | Test.java:173:22:173:43 | getParameters(...) : Object[] [[]] : Object | provenance | MaD:2 | +| Test.java:173:22:173:43 | getParameters(...) : Object[] [[]] : Object | Test.java:174:12:174:14 | out : Object[] [[]] : Object | provenance | | +| Test.java:174:12:174:14 | out : Object[] [[]] : Object | Test.java:174:12:174:17 | ...[...] | provenance | | nodes | Test.java:24:19:24:35 | (...)... : String | semmle.label | (...)... : String | | Test.java:24:28:24:35 | source(...) : Object | semmle.label | source(...) : Object | @@ -186,6 +195,13 @@ nodes | Test.java:163:13:163:14 | in : LoggingEventBuilder | semmle.label | in : LoggingEventBuilder | | Test.java:163:13:163:29 | setCause(...) : LoggingEventBuilder | semmle.label | setCause(...) : LoggingEventBuilder | | Test.java:164:12:164:14 | out | semmle.label | out | +| Test.java:171:7:171:16 | parameters [post update] : Object[] [[]] : Object | semmle.label | parameters [post update] : Object[] [[]] : Object | +| Test.java:171:23:171:30 | source(...) : Object | semmle.label | source(...) : Object | +| Test.java:172:7:172:12 | record [post update] : LogRecord [java.util.logging.LogRecord.parameters, []] : Object | semmle.label | record [post update] : LogRecord [java.util.logging.LogRecord.parameters, []] : Object | +| Test.java:172:28:172:37 | parameters : Object[] [[]] : Object | semmle.label | parameters : Object[] [[]] : Object | +| Test.java:173:22:173:27 | record : LogRecord [java.util.logging.LogRecord.parameters, []] : Object | semmle.label | record : LogRecord [java.util.logging.LogRecord.parameters, []] : Object | +| Test.java:173:22:173:43 | getParameters(...) : Object[] [[]] : Object | semmle.label | getParameters(...) : Object[] [[]] : Object | +| Test.java:174:12:174:14 | out : Object[] [[]] : Object | semmle.label | out : Object[] [[]] : Object | +| Test.java:174:12:174:17 | ...[...] | semmle.label | ...[...] | subpaths testFailures -| Test.java:174:21:174:37 | // $ hasValueFlow | Missing result:hasValueFlow= | From 53b2471c9d9066023a2b6762a526dbfb1ccdfed5 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 29 Aug 2024 09:03:46 +0200 Subject: [PATCH 256/258] Java: Update expected test output. --- .../library-tests/frameworks/apache-commons-lang3/flow.expected | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.expected b/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.expected index 5c7448f4222..9031c242a1c 100644 --- a/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.expected +++ b/java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.expected @@ -8,7 +8,7 @@ models | 7 | Summary: java.lang; String; false; toCharArray; ; ; Argument[this]; ReturnValue; taint; manual | | 8 | Summary: java.lang; StringBuffer; true; StringBuffer; (String); ; Argument[0]; Argument[this]; taint; manual | | 9 | Summary: java.lang; StringBuilder; true; StringBuilder; ; ; Argument[0]; Argument[this]; taint; manual | -| 10 | Summary: java.nio; CharBuffer; true; wrap; (char[]); ; Argument[0]; ReturnValue; taint; df-manual | +| 10 | Summary: java.nio; CharBuffer; true; wrap; (char[]); ; Argument[0]; ReturnValue; taint; manual | | 11 | Summary: java.util; Collection; true; add; ; ; Argument[0]; Argument[this].Element; value; manual | | 12 | Summary: java.util; Dictionary; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual | | 13 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual | From ff31aa540c45aef55cbbe3f0815f522aaa4f1127 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 29 Aug 2024 15:54:04 +0200 Subject: [PATCH 257/258] Address review comments. --- .../dataflow/internal/ContentDataFlowImpl.qll | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll b/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll index f4b4b9655e4..f413c6dd7ad 100644 --- a/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/ContentDataFlowImpl.qll @@ -51,11 +51,6 @@ module MakeImplContentDataFlow Lang> { */ default predicate isAdditionalFlowStep(Node node1, Node node2) { none() } - /** - * Holds if taint may propagate from `node1` to `node2` in addition to the normal data-flow steps. - */ - default predicate isAdditionalTaintStep(Node node1, Node node2) { none() } - /** Holds if data flow into `node` is prohibited. */ default predicate isBarrier(Node node) { none() } @@ -106,11 +101,9 @@ module MakeImplContentDataFlow Lang> { predicate isAdditionalFlowStep(Node node1, FlowState state1, Node node2, FlowState state2) { storeStep(node1, state1, _, node2, state2) or readStep(node1, state1, _, node2, state2) or - additionalTaintStep(node1, state1, node2, state2) + additionalStep(node1, state1, node2, state2) } - predicate isAdditionalFlowStep = ContentConfig::isAdditionalFlowStep/2; - predicate isBarrier = ContentConfig::isBarrier/1; FlowFeature getAFeature() { result = ContentConfig::getAFeature() } @@ -234,8 +227,8 @@ module MakeImplContentDataFlow Lang> { ) } - private predicate additionalTaintStep(Node node1, State state1, Node node2, State state2) { - ContentConfig::isAdditionalTaintStep(node1, node2) and + private predicate additionalStep(Node node1, State state1, Node node2, State state2) { + ContentConfig::isAdditionalFlowStep(node1, node2) and ( state1 instanceof InitState and state2.(InitState).decode(false) From dd7f757281876c257862885ee205c739916b1774 Mon Sep 17 00:00:00 2001 From: Cornelius Riemenschneider Date: Thu, 29 Aug 2024 16:43:27 +0200 Subject: [PATCH 258/258] Address review. --- .../java/multi-release-jar-java11/test.py | 17 ++--------------- .../java/multi-release-jar-java17/test.py | 17 ++--------------- 2 files changed, 4 insertions(+), 30 deletions(-) diff --git a/java/ql/integration-tests/all-platforms/java/multi-release-jar-java11/test.py b/java/ql/integration-tests/all-platforms/java/multi-release-jar-java11/test.py index d67602f8bcb..fafe3e16fdd 100644 --- a/java/ql/integration-tests/all-platforms/java/multi-release-jar-java11/test.py +++ b/java/ql/integration-tests/all-platforms/java/multi-release-jar-java11/test.py @@ -2,22 +2,9 @@ import commands def test(codeql, use_java_11, java): - commands.run(["javac", "mod1/module-info.java", "mod1/mod1pkg/Mod1Class.java", "-d", "mod1obj"]) commands.run( - [ - "jar", - "-c", - "-f", - "mod1.jar", - "-C", - "mod1obj", - "mod1pkg/Mod1Class.class", - "--release", - "9", - "-C", - "mod1obj", - "module-info.class", - ] + "javac mod1/module-info.java mod1/mod1pkg/Mod1Class.java -d mod1obj", + "jar -c -f mod1.jar -C mod1obj mod1pkg/Mod1Class.class --release 9 -C mod1obj module-info.class", ) codeql.database.create( command="javac mod2/mod2pkg/User.java mod2/module-info.java -d mod2obj -p mod1.jar" diff --git a/java/ql/integration-tests/all-platforms/java/multi-release-jar-java17/test.py b/java/ql/integration-tests/all-platforms/java/multi-release-jar-java17/test.py index 567cd51bef2..195ed61fadd 100644 --- a/java/ql/integration-tests/all-platforms/java/multi-release-jar-java17/test.py +++ b/java/ql/integration-tests/all-platforms/java/multi-release-jar-java17/test.py @@ -2,22 +2,9 @@ import commands def test(codeql, java): - commands.run(["javac", "mod1/module-info.java", "mod1/mod1pkg/Mod1Class.java", "-d", "mod1obj"]) commands.run( - [ - "jar", - "-c", - "-f", - "mod1.jar", - "-C", - "mod1obj", - "mod1pkg/Mod1Class.class", - "--release", - "9", - "-C", - "mod1obj", - "module-info.class", - ] + "javac mod1/module-info.java mod1/mod1pkg/Mod1Class.java -d mod1obj", + "jar -c -f mod1.jar -C mod1obj mod1pkg/Mod1Class.class --release 9 -C mod1obj module-info.class", ) codeql.database.create( command="javac mod2/mod2pkg/User.java mod2/module-info.java -d mod2obj -p mod1.jar"